Commit fa297f23de01040d0d94c06501857b918817640d

Authored by Chris Bellas
1 parent b28322f5b8

Added config fetching for dynamic URLs

Showing 35 changed files with 94 additions and 26 deletions

api/.env.example View file @ fa297f2
... ... @@ -48,4 +48,7 @@
48 48 KEYCLOAK_TOKEN_PRINCIPAL_ATTRIBUTE=preferred_username
49 49 KEYCLOAK_APPEND_DECODED_TOKEN=false
50 50 KEYCLOAK_ALLOWED_RESOURCES=account
  51 +
  52 +KIBANA_PORT=5611
  53 +GRAFANA_PORT=3001
api/app/Http/Controllers/ConfigController.php View file @ fa297f2
  1 +<?php
  2 +
  3 +namespace App\Http\Controllers;
  4 +
  5 +use Illuminate\Http\Request;
  6 +
  7 +class ConfigController extends Controller
  8 +{
  9 + public function index(Request $request)
  10 + {
  11 + return [
  12 + 'base_url' => env('APP_URL'),
  13 + 'kibana_url' => env('APP_URL') . ':' . env('KIBANA_PORT'),
  14 + 'grafana_url' => env('APP_URL') . ':' . env('GRAFANA_PORT')
  15 + ];
  16 + }
  17 +}
api/dashboard/src/pages/panel/components/ceptd.vue View file @ fa297f2
... ... @@ -5,11 +5,27 @@
5 5 </template>
6 6  
7 7 <script>
  8 +import axios from 'axios'
  9 +
8 10 export default {
9 11 name: 'CEPTD',
10 12 data () {
11 13 return {
12   - src: 'http://localhost:5611/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))'
  14 + src: '',
  15 + params: '/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))'
  16 + }
  17 + },
  18 + created () {
  19 + this.config()
  20 + },
  21 + methods: {
  22 + async config () {
  23 + try {
  24 + const { data } = await axios.get('/config')
  25 + this.src = data.kibana_url + this.params
  26 + } catch (e) {
  27 + this.$toasted.error('Error fetching Kibana URL!')
  28 + }
13 29 }
14 30 }
15 31 }
api/dashboard/src/pages/panel/components/mltd.vue View file @ fa297f2
... ... @@ -5,11 +5,27 @@
5 5 </template>
6 6  
7 7 <script>
  8 +import axios from 'axios'
  9 +
8 10 export default {
9 11 name: 'MLTD',
10 12 data () {
11 13 return {
12   - src: 'http://localhost:3001/d/dtCrgk6Wk/mltd?orgId=1'
  14 + src: '',
  15 + params: '/d/dtCrgk6Wk/mltd?orgId=1'
  16 + }
  17 + },
  18 + created () {
  19 + this.config()
  20 + },
  21 + methods: {
  22 + async config () {
  23 + try {
  24 + const { data } = await axios.get('/config')
  25 + this.src = data.grafana_url + this.params
  26 + } catch (e) {
  27 + this.$toasted.error('Error fetching Grafana URL!')
  28 + }
13 29 }
14 30 }
15 31 }
api/dashboard/src/pages/panel/components/od.vue View file @ fa297f2
... ... @@ -5,11 +5,27 @@
5 5 </template>
6 6  
7 7 <script>
  8 + import axios from 'axios'
  9 +
8 10 export default {
9 11 name: 'OD',
10 12 data () {
11 13 return {
12   - src: 'http://localhost:3001/d/qDDyJZ6Wz/od?orgId=1'
  14 + src: '',
  15 + params: '/d/qDDyJZ6Wz/od?orgId=1'
  16 + }
  17 + },
  18 + created () {
  19 + this.config()
  20 + },
  21 + methods: {
  22 + async config () {
  23 + try {
  24 + const { data } = await axios.get('/config')
  25 + this.src = data.kibana_url + this.params
  26 + } catch (e) {
  27 + this.$toasted.error('Error fetching Grafana URL!')
  28 + }
13 29 }
14 30 }
15 31 }
api/public/js/app.23ea6e4d.js View file @ fa297f2
1   -(function(e){function t(t){for(var r,a,u=t[0],i=t[1],s=t[2],d=0,f=[];d<u.length;d++)a=u[d],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&f.push(o[a][0]),o[a]=0;for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r]);l&&l(t);while(f.length)f.shift()();return c.push.apply(c,s||[]),n()}function n(){for(var e,t=0;t<c.length;t++){for(var n=c[t],r=!0,a=1;a<n.length;a++){var u=n[a];0!==o[u]&&(r=!1)}r&&(c.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},a={app:0},o={app:0},c=[];function u(e){return i.p+"js/"+({}[e]||e)+"."+{"chunk-2d0c55f2":"d73ee58d","chunk-2d0d70a2":"bbc301fd","chunk-2d0e55df":"f9fbdca6","chunk-2d0e99de":"aec631ff","chunk-2d224ec2":"3db49a2c","chunk-ad9746d8":"917304d6"}[e]+".js"}function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(e){var t=[],n={"chunk-ad9746d8":1};a[e]?t.push(a[e]):0!==a[e]&&n[e]&&t.push(a[e]=new Promise((function(t,n){for(var r="css/"+({}[e]||e)+"."+{"chunk-2d0c55f2":"31d6cfe0","chunk-2d0d70a2":"31d6cfe0","chunk-2d0e55df":"31d6cfe0","chunk-2d0e99de":"31d6cfe0","chunk-2d224ec2":"31d6cfe0","chunk-ad9746d8":"9a04f192"}[e]+".css",o=i.p+r,c=document.getElementsByTagName("link"),u=0;u<c.length;u++){var s=c[u],d=s.getAttribute("data-href")||s.getAttribute("href");if("stylesheet"===s.rel&&(d===r||d===o))return t()}var f=document.getElementsByTagName("style");for(u=0;u<f.length;u++){s=f[u],d=s.getAttribute("data-href");if(d===r||d===o)return t()}var l=document.createElement("link");l.rel="stylesheet",l.type="text/css",l.onload=t,l.onerror=function(t){var r=t&&t.target&&t.target.src||o,c=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=r,delete a[e],l.parentNode.removeChild(l),n(c)},l.href=o;var p=document.getElementsByTagName("head")[0];p.appendChild(l)})).then((function(){a[e]=0})));var r=o[e];if(0!==r)if(r)t.push(r[2]);else{var c=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=c);var s,d=document.createElement("script");d.charset="utf-8",d.timeout=120,i.nc&&d.setAttribute("nonce",i.nc),d.src=u(e);var f=new Error;s=function(t){d.onerror=d.onload=null,clearTimeout(l);var n=o[e];if(0!==n){if(n){var r=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",f.name="ChunkLoadError",f.type=r,f.request=a,n[1](f)}o[e]=void 0}};var l=setTimeout((function(){s({type:"timeout",target:d})}),12e4);d.onerror=d.onload=s,document.head.appendChild(d)}return Promise.all(t)},i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throw console.error(e),e};var s=window["webpackJsonp"]=window["webpackJsonp"]||[],d=s.push.bind(s);s.push=t,s=s.slice();for(var f=0;f<s.length;f++)t(s[f]);var l=d;c.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},"0a6b":function(e,t,n){"use strict";n.r(t),t["default"]=function(e,t,n){n()}},"0ce0":function(e,t,n){},3597:function(e,t,n){},5047:function(e,t,n){"use strict";var r=n("fa04"),a=n.n(r);a.a},"56d0":function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"d-flex",class:{toggled:!e.sidebarShow},attrs:{id:"wrapper"}},[n("sidebar"),n("div",{attrs:{id:"page-content-wrapper"}},[n("main-header"),n("div",{staticClass:"container-fluid"},[n("transition",{attrs:{name:"fade"}},[n("router-view")],1)],1)],1)],1)},a=[],o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"border-right",attrs:{id:"sidebar-wrapper"}},[n("div",{staticClass:"sidebar-header"},[e._v(" KEA ")]),n("ul",{staticClass:"list-group list-group-flush"},[n("li",[n("router-link",{attrs:{to:{name:"panel.dashboard"}}},[e._v(" Dashboard ")])],1),n("h6",{staticClass:"text-center pt-3"},[e._v(" Monitor ")]),n("li",[n("router-link",{attrs:{to:{name:"panel.components.mltd"}}},[e._v(" MLTD ")])],1),n("li",[n("router-link",{attrs:{to:{name:"panel.components.od"}}},[e._v(" OD ")])],1),n("li",[n("router-link",{attrs:{to:{name:"panel.components.ceptd"}}},[e._v(" CEPTD ")])],1)])])},c=[],u={name:"Sidebar"},i=u,s=(n("ae14"),n("2877")),d=Object(s["a"])(i,o,c,!1,null,"466c867c",null),f=d.exports,l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("b-navbar",{staticClass:"bottom-shadow mb-3",attrs:{variant:"white"}},[n("b-button",{staticClass:"no-outline",attrs:{variant:"none"},on:{click:function(t){return e.$store.dispatch("ui/toggle","sidebarShow")}}},[n("fa",{attrs:{icon:"bars"}})],1)],1)},p=[],h=(n("96cf"),n("1da1")),m={name:"MainHeader",methods:{logout:function(){var e=this;return Object(h["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("auth/logout");case 2:e.$router.push({name:"login"});case 3:case"end":return t.stop()}}),t)})))()}}},b=m,v=(n("71c6"),Object(s["a"])(b,l,p,!1,null,"3c68b016",null)),g=v.exports,k=n("2f62"),w={name:"PanelLayout",components:{Sidebar:f,MainHeader:g},computed:Object(k["b"])({sidebarShow:"ui/sidebarShow"})},y=w,O=(n("b77a"),Object(s["a"])(y,r,a,!1,null,"03a4fafb",null));t["default"]=O.exports},"56d7":function(e,t,n){"use strict";n.r(t);var r=n("5530"),a=(n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("2d26"),n("2b0e")),o=n("5f5b"),c=n("b1e0"),u=n("a65d"),i=n.n(u),s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("loading",{ref:"loading"}),n("transition",{attrs:{name:"page",mode:"out-in"}},[e.layout?n(e.layout,{tag:"component"}):e._e()],1)],1)},d=[],f=(n("d81d"),n("13d5"),n("d3b7"),n("ac1f"),n("5319"),n("ddb0"),n("3835")),l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"progress",style:{width:e.percent+"%",height:e.height,opacity:e.show?1:0,"background-color":e.canSuccess?e.color:e.failedColor}})},p=[],h={data:function(){return{percent:0,show:!1,canSuccess:!0,duration:3e3,height:"2px",color:"#77b6ff",failedColor:"red"}},methods:{start:function(){var e=this;return this.show=!0,this.canSuccess=!0,this._timer&&(clearInterval(this._timer),this.percent=0),this._cut=1e4/Math.floor(this.duration),this._timer=setInterval((function(){e.increase(e._cut*Math.random()),e.percent>95&&e.finish()}),100),this},set:function(e){return this.show=!0,this.canSuccess=!0,this.percent=Math.floor(e),this},get:function(){return Math.floor(this.percent)},increase:function(e){return this.percent=this.percent+Math.floor(e),this},decrease:function(e){return this.percent=this.percent-Math.floor(e),this},finish:function(){return this.percent=100,this.hide(),this},pause:function(){return clearInterval(this._timer),this},hide:function(){var e=this;return clearInterval(this._timer),this._timer=null,setTimeout((function(){e.show=!1,e.$nextTick((function(){setTimeout((function(){e.percent=0}),200)}))}),500),this},fail:function(){return this.canSuccess=!1,this}}},m=h,b=(n("dc51"),n("2877")),v=Object(b["a"])(m,l,p,!1,null,"4a92ff42",null),g=v.exports,k=n("81be"),w=k.keys().map((function(e){return[e.replace(/(^.\/)|(\.vue$)/g,""),k(e)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),r=n[0],a=n[1];return e[r]=a.default||a,e}),{}),y={el:"#app",components:{Loading:g},data:function(){return{layout:null,defaultLayout:"default"}},metaInfo:function(){var e=Object({VUE_APP_BASE_URL:"/api",NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_NAME;return{title:e,titleTemplate:"%s · ".concat(e)}},mounted:function(){this.$loading=this.$refs.loading},methods:{setLayout:function(e){e&&w[e]||(e=this.defaultLayout),this.layout=w[e]}}},O=y,j=Object(b["a"])(O,s,d,!1,null,null,null),_=j.exports,x=(n("99af"),n("4de4"),n("4160"),n("fb6a"),n("3ca3"),n("159b"),n("96cf"),n("ade3")),E=n("2909"),S=n("1da1"),C=n("2f62");a["default"].use(C["a"]);var T=n("6c17"),L=T.keys().map((function(e){return[e.replace(/(^.\/)|(\.js$)/g,""),T(e)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),a=n[0],o=n[1];return void 0===o.namespaced&&(o.namespaced=!0),Object(r["a"])({},e,Object(x["a"])({},a,o))}),{}),M=new C["a"].Store({modules:L});function U(e){return function(){return n("a383")("./".concat(e)).then((function(e){return e.default||e}))}}var $=[{path:"/",name:"panel",redirect:"/dashboard",component:U("panel/index.vue"),children:[{path:"dashboard",name:"panel.dashboard",component:U("panel/dashboard.vue")},{path:"components/mltd",name:"panel.components.mltd",component:U("panel/components/mltd.vue")},{path:"components/od",name:"panel.components.od",component:U("panel/components/od.vue")},{path:"components/ceptd",name:"panel.components.ceptd",component:U("panel/components/ceptd.vue")}]}],P=n("8c4f"),R=n("31bd");a["default"].use(P["a"]);var A=["check-auth"],N=Q(n("9091")),D=I();Object(R["sync"])(M,D);var F=D;function I(){var e=new P["a"]({scrollBehavior:J,mode:"history",routes:$});return e.beforeEach(B),e.afterEach(V),e}function B(e,t,n){return H.apply(this,arguments)}function H(){return H=Object(S["a"])(regeneratorRuntime.mark((function e(t,n,a){var o,c;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=[],e.prev=1,e.next=4,G(D.getMatchedComponents(Object(r["a"])({},t)));case 4:o=e.sent,e.next=12;break;case 7:if(e.prev=7,e.t0=e["catch"](1),!/^Loading( CSS)? chunk (\d)+ failed\./.test(e.t0.message)){e.next=12;break}return window.location.reload(!0),e.abrupt("return");case 12:if(0!==o.length){e.next=14;break}return e.abrupt("return",a());case 14:!1!==o[o.length-1].loading&&D.app.$nextTick((function(){return D.app.$loading.start()})),c=K(o),z(c,t,n,(function(){0===arguments.length&&D.app.setLayout(o[0].layout||""),a.apply(void 0,arguments)}));case 17:case"end":return e.stop()}}),e,null,[[1,7]])}))),H.apply(this,arguments)}function V(e,t,n){return q.apply(this,arguments)}function q(){return q=Object(S["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,D.app.$nextTick();case 2:D.app.$loading.finish();case 3:case"end":return e.stop()}}),e)}))),q.apply(this,arguments)}function z(e,t,n,r){var a=e.reverse(),o=function e(){if(arguments.length>0||0===a.length)return arguments.length>0&&D.app.$loading.finish(),r.apply(void 0,arguments);var o=a.pop();if("function"===typeof o)o(t,n,e);else{if(!N[o])throw Error("Undefined middleware [".concat(o,"]"));N[o](t,n,e)}};o()}function G(e){return Promise.all(e.map((function(e){return"function"===typeof e?e():e})))}function K(e){var t=[].concat(A);return e.filter((function(e){return e.middleware})).forEach((function(e){Array.isArray(e.middleware)?t.push.apply(t,Object(E["a"])(e.middleware)):t.push(e.middleware)})),t}function J(e,t,n){if(n)return n;if(e.hash)return{selector:e.hash};var a=D.getMatchedComponents(Object(r["a"])({},e)).slice(-1),o=Object(f["a"])(a,1),c=o[0];return c&&!1===c.scrollToTop?{}:{x:0,y:0}}function Q(e){return e.keys().map((function(t){return[t.replace(/(^.\/)|(\.js$)/g,""),e(t)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),a=n[0],o=n[1];return Object(r["a"])({},e,Object(x["a"])({},a,o.default))}),{})}var W=n("bc3a"),X=n.n(W);X.a.interceptors.request.use((function(e){e.baseURL="/api";var t=M.getters["lang/locale"];return t&&(e.headers.common["Accept-Language"]=t),e})),X.a.interceptors.response.use((function(e){return e}),(function(e){return Promise.reject(e)}));var Y=n("ecee"),Z=n("ad3d"),ee=n("c074");Y["c"].add(ee["j"],ee["f"],ee["h"],ee["e"],ee["a"],ee["b"],ee["d"],ee["c"],ee["i"],ee["g"]),a["default"].component("fa",Z["a"]),a["default"].component("fa-layers",Z["b"]);n("bb35");a["default"].use(o["a"]),a["default"].use(c["a"]),a["default"].use(i.a,{position:"bottom-center",duration:5e3}),a["default"].config.performance=!0,new a["default"](Object(r["a"])({router:F,store:M},_)).$mount("#app")},"6c17":function(e,t,n){var r={"./auth.js":"c7d4","./ui.js":"f01d"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="6c17"},"71c6":function(e,t,n){"use strict";var r=n("bb10"),a=n.n(r);a.a},"74a4":function(e,t,n){"use strict";n.r(t);n("96cf");var r=n("1da1");t["default"]=function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:r();case 1:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},"81be":function(e,t,n){var r={"./panel.vue":"56d0","./public.vue":"a657"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="81be"},9091:function(e,t,n){var r={"./auth.js":"efbe","./check-auth.js":"74a4","./guest.js":"0a6b"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="9091"},"9fb0":function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"d",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return c})),n.d(t,"e",(function(){return u}));var r="LOGOUT",a="SAVE_TOKEN",o="FETCH_USER_SUCCESS",c="FETCH_USER_FAILURE",u="TOGGLE"},a383:function(e,t,n){var r={"./login":["c6f7","chunk-ad9746d8"],"./login.vue":["c6f7","chunk-ad9746d8"],"./panel":["e1cc","chunk-2d224ec2"],"./panel/":["e1cc","chunk-2d224ec2"],"./panel/components/ceptd":["8dfb","chunk-2d0e99de"],"./panel/components/ceptd.vue":["8dfb","chunk-2d0e99de"],"./panel/components/mltd":["93d3","chunk-2d0e55df"],"./panel/components/mltd.vue":["93d3","chunk-2d0e55df"],"./panel/components/od":["3f8a","chunk-2d0c55f2"],"./panel/components/od.vue":["3f8a","chunk-2d0c55f2"],"./panel/dashboard":["74b1","chunk-2d0d70a2"],"./panel/dashboard.vue":["74b1","chunk-2d0d70a2"],"./panel/index":["e1cc","chunk-2d224ec2"],"./panel/index.vue":["e1cc","chunk-2d224ec2"]};function a(e){if(!n.o(r,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=r[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(r)},a.id="a383",e.exports=a},a657:function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"base"},[n("header"),n("router-view"),n("footer")],1)},a=[],o={name:"PublicLayout"},c=o,u=(n("5047"),n("2877")),i=Object(u["a"])(c,r,a,!1,null,"7d981356",null);t["default"]=i.exports},ae14:function(e,t,n){"use strict";var r=n("3597"),a=n.n(r);a.a},b77a:function(e,t,n){"use strict";var r=n("b864"),a=n.n(r);a.a},b864:function(e,t,n){},bb10:function(e,t,n){},bb35:function(e,t,n){},c7d4:function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return f})),n.d(t,"getters",(function(){return l})),n.d(t,"mutations",(function(){return p})),n.d(t,"actions",(function(){return h}));n("96cf");var r,a=n("1da1"),o=n("ade3"),c=n("bc3a"),u=n.n(c),i=n("a78e"),s=n.n(i),d=n("9fb0"),f={user:null,token:s.a.get("token")},l={user:function(e){return e.user},token:function(e){return e.token},check:function(e){return null!==e.user}},p=(r={},Object(o["a"])(r,d["d"],(function(e,t){var n=t.token,r=t.remember;e.token=n,s.a.set("token",n,{expires:r?365:null})})),Object(o["a"])(r,d["b"],(function(e,t){var n=t.user;e.user=n})),Object(o["a"])(r,d["a"],(function(e){e.token=null,s.a.remove("token")})),Object(o["a"])(r,d["c"],(function(e){e.user=null,e.token=null,s.a.remove("token")})),r),h={saveToken:function(e,t){var n=e.commit;e.dispatch;n(d["d"],t)},fetchUser:function(e){return Object(a["a"])(regeneratorRuntime.mark((function t(){var n,r,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.commit,t.prev=1,t.next=4,u.a.get("/user");case 4:r=t.sent,a=r.data,n(d["b"],{user:a}),t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](1),n(d["a"]);case 12:case"end":return t.stop()}}),t,null,[[1,9]])})))()},logout:function(e){return Object(a["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.commit,t.prev=1,t.next=4,u.a.post("/logout");case 4:t.next=8;break;case 6:t.prev=6,t.t0=t["catch"](1);case 8:n(d["c"]);case 9:case"end":return t.stop()}}),t,null,[[1,6]])})))()}}},dc51:function(e,t,n){"use strict";var r=n("0ce0"),a=n.n(r);a.a},efbe:function(e,t,n){"use strict";n.r(t);n("96cf");var r=n("1da1");t["default"]=function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:r();case 1:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},f01d:function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return o})),n.d(t,"getters",(function(){return c})),n.d(t,"mutations",(function(){return u})),n.d(t,"actions",(function(){return i}));var r=n("ade3"),a=n("9fb0"),o={sidebarShow:!0,sidebarMinimize:!1},c={sidebarShow:function(e){return e.sidebarShow},sidebarMinimize:function(e){return e.sidebarMinimize}},u=Object(r["a"])({},a["e"],(function(e,t){e[t]=!e[t]})),i={toggle:function(e,t){var n=e.commit;n(a["e"],t)}}},fa04:function(e,t,n){}});
2   -//# sourceMappingURL=app.23ea6e4d.js.map
api/public/js/app.23ea6e4d.js.map View file @ fa297f2
1   -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/middleware/guest.js","webpack:///./src/layouts/public.vue?e81d","webpack:///./src/layouts/panel.vue?e253","webpack:///./src/containers/Sidebar.vue?b2b8","webpack:///src/containers/Sidebar.vue","webpack:///./src/containers/Sidebar.vue?da49","webpack:///./src/containers/Sidebar.vue?9e2c","webpack:///./src/containers/MainHeader.vue?daca","webpack:///src/containers/MainHeader.vue","webpack:///./src/containers/MainHeader.vue?e455","webpack:///./src/containers/MainHeader.vue?f374","webpack:///src/layouts/panel.vue","webpack:///./src/layouts/panel.vue?35cd","webpack:///./src/layouts/panel.vue?119b","webpack:///./src/App.vue?cedd","webpack:///./src/Loading.vue?2037","webpack:///src/Loading.vue","webpack:///./src/Loading.vue?b83e","webpack:///./src/Loading.vue?71b5","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/store/index.js","webpack:///./src/router/routes.js","webpack:///./src/router/index.js","webpack:///./src/plugins/axios.js","webpack:///./src/plugins/fontawesome.js","webpack:///./src/main.js","webpack:///./src/store/modules sync nonrecursive .*\\.js$","webpack:///./src/containers/MainHeader.vue?cec7","webpack:///./src/middleware/check-auth.js","webpack:///./src/layouts sync nonrecursive .*\\.vue$","webpack:///./src/middleware sync nonrecursive .*\\.js$","webpack:///./src/store/mutation-types.js","webpack:///./src/pages lazy ^\\.\\/.*$ namespace object","webpack:///./src/layouts/public.vue?ea12","webpack:///src/layouts/public.vue","webpack:///./src/layouts/public.vue?3a7c","webpack:///./src/layouts/public.vue","webpack:///./src/containers/Sidebar.vue?c2fa","webpack:///./src/layouts/panel.vue?e5fe","webpack:///./src/store/modules/auth.js","webpack:///./src/Loading.vue?5476","webpack:///./src/middleware/auth.js","webpack:///./src/store/modules/ui.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","to","from","next","render","_vm","this","_h","$createElement","_c","_self","staticClass","class","sidebarShow","attrs","staticRenderFns","_v","component","on","$event","$store","dispatch","methods","components","Sidebar","computed","ref","layout","_e","style","width","percent","height","opacity","show","canSuccess","color","failedColor","start","_timer","clearInterval","_cut","Math","floor","duration","setInterval","set","num","increase","decrease","finish","hide","pause","fail","Vue","use","Vuex","requireContext","require","keys","map","file","replace","reduce","namespaced","Store","page","path","default","redirect","children","Router","globalMiddleware","routeMiddleware","resolveMiddleware","router","createRouter","sync","store","scrollBehavior","routes","beforeEach","afterEach","resolveComponents","getMatchedComponents","test","location","reload","loading","app","$nextTick","$loading","middleware","getMiddleware","callMiddleware","setLayout","stack","reverse","_next","pop","filter","forEach","Array","isArray","savedPosition","hash","selector","scrollToTop","x","y","guards","guard","axios","interceptors","baseURL","process","locale","getters","headers","common","response","library","add","faUser","faLock","faSignOutAlt","faEnvelope","faArrowDown","faArrowUp","faCogs","faBars","faStop","faSearch","FontAwesomeIcon","FontAwesomeLayers","BootstrapVue","IconsPlugin","Toasted","position","config","performance","App","$mount","webpackContext","req","id","webpackContextResolve","LOGOUT","SAVE_TOKEN","FETCH_USER_SUCCESS","FETCH_USER_FAILURE","TOGGLE","webpackAsyncContext","ids","state","user","token","Cookies","check","mutations","types","remember","expires","remove","actions","saveToken","payload","commit","fetchUser","logout","post","sidebarMinimize","variable","toggle"],"mappings":"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","file":"js/app.23ea6e4d.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c55f2\":\"d73ee58d\",\"chunk-2d0d70a2\":\"bbc301fd\",\"chunk-2d0e55df\":\"f9fbdca6\",\"chunk-2d0e99de\":\"aec631ff\",\"chunk-2d224ec2\":\"3db49a2c\",\"chunk-ad9746d8\":\"917304d6\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-ad9746d8\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c55f2\":\"31d6cfe0\",\"chunk-2d0d70a2\":\"31d6cfe0\",\"chunk-2d0e55df\":\"31d6cfe0\",\"chunk-2d0e99de\":\"31d6cfe0\",\"chunk-2d224ec2\":\"31d6cfe0\",\"chunk-ad9746d8\":\"9a04f192\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","// import store from '~/store'\n\nexport default (to, from, next) => {\n next()\n // if (store.getters['auth/check']) {\n // next({ name: 'home' })\n // } else {\n // next()\n // }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex\",class:{ 'toggled': !_vm.sidebarShow },attrs:{\"id\":\"wrapper\"}},[_c('sidebar'),_c('div',{attrs:{\"id\":\"page-content-wrapper\"}},[_c('main-header'),_c('div',{staticClass:\"container-fluid\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('router-view')],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"border-right\",attrs:{\"id\":\"sidebar-wrapper\"}},[_c('div',{staticClass:\"sidebar-header\"},[_vm._v(\" KEA \")]),_c('ul',{staticClass:\"list-group list-group-flush\"},[_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.dashboard' }}},[_vm._v(\" Dashboard \")])],1),_c('h6',{staticClass:\"text-center pt-3\"},[_vm._v(\" Monitor \")]),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.mltd' }}},[_vm._v(\" MLTD \")])],1),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.od' }}},[_vm._v(\" OD \")])],1),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.ceptd' }}},[_vm._v(\" CEPTD \")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n<template>\n <div id=\"sidebar-wrapper\" class=\"border-right\">\n <div class=\"sidebar-header\">\n KEA\n </div>\n <ul class=\"list-group list-group-flush\">\n <li>\n <router-link :to=\"{ name: 'panel.dashboard' }\">\n Dashboard\n </router-link>\n </li>\n <h6 class=\"text-center pt-3\">\n Monitor\n </h6>\n <li>\n <router-link :to=\"{ name: 'panel.components.mltd' }\">\n MLTD\n </router-link>\n </li>\n <li>\n <router-link :to=\"{ name: 'panel.components.od' }\">\n OD\n </router-link>\n </li>\n <li>\n <router-link :to=\"{ name: 'panel.components.ceptd' }\">\n CEPTD\n </router-link>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'Sidebar'\n}\n</script>\n\n<style scoped>\n #sidebar-wrapper {\n background: #4876d5;\n color: #fff;\n transition: all 0.6s cubic-bezier(0.945, 0.020, 0.270, 0.665);\n transform-origin: bottom left;\n }\n\n .sidebar-header {\n padding: 12px;\n font-size: 1.35rem;\n text-align: center;\n }\n\n #sidebar-wrapper ul li a {\n padding: 10px;\n font-size: 1.1em;\n display: block;\n }\n #sidebar-wrapper ul li a:hover {\n color: #5197fa;\n background: #fff;\n }\n\n #sidebar-wrapper ul a.router-link-exact-active {\n color: #fff;\n background: #5197fa;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=466c867c&scoped=true&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"466c867c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-navbar',{staticClass:\"bottom-shadow mb-3\",attrs:{\"variant\":\"white\"}},[_c('b-button',{staticClass:\"no-outline\",attrs:{\"variant\":\"none\"},on:{\"click\":function($event){return _vm.$store.dispatch('ui/toggle', 'sidebarShow')}}},[_c('fa',{attrs:{\"icon\":\"bars\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-navbar variant=\"white\" class=\"bottom-shadow mb-3\">\n <b-button variant=\"none\" class=\"no-outline\" @click=\"$store.dispatch('ui/toggle', 'sidebarShow')\">\n <fa icon=\"bars\" />\n </b-button>\n <!-- Right aligned nav items -->\n<!-- <b-navbar-nav class=\"ml-auto\">-->\n<!-- <b-nav-item @click=\"logout\">-->\n<!-- <fa icon=\"sign-out-alt\" />-->\n<!-- </b-nav-item>-->\n<!-- </b-navbar-nav>-->\n </b-navbar>\n</template>\n\n<script>\nexport default {\n name: 'MainHeader',\n methods: {\n async logout () {\n await this.$store.dispatch('auth/logout')\n this.$router.push({ name: 'login' })\n }\n }\n}\n</script>\n\n<style scoped>\n .bottom-shadow {\n box-shadow: 0 4px 2px -2px gray;\n }\n .no-outline:focus, .no-outline:active {\n outline: none !important;\n box-shadow: none !important;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainHeader.vue?vue&type=template&id=3c68b016&scoped=true&\"\nimport script from \"./MainHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./MainHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c68b016\",\n null\n \n)\n\nexport default component.exports","<template>\n <div id=\"wrapper\" class=\"d-flex\" :class=\"{ 'toggled': !sidebarShow }\">\n <sidebar />\n <div id=\"page-content-wrapper\">\n <main-header />\n <div class=\"container-fluid\">\n <transition name=\"fade\">\n <router-view />\n </transition>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Sidebar from '../containers/Sidebar'\nimport MainHeader from '../containers/MainHeader'\nimport { mapGetters } from 'vuex'\nexport default {\n name: 'PanelLayout',\n components: {\n Sidebar, MainHeader\n },\n computed: mapGetters({\n sidebarShow: 'ui/sidebarShow'\n })\n}\n</script>\n\n<style scoped>\n .fade-enter-active,\n .fade-leave-active {\n transition: opacity 0.3s;\n }\n .fade-enter,\n .fade-leave-to {\n opacity: 0;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./panel.vue?vue&type=template&id=03a4fafb&scoped=true&\"\nimport script from \"./panel.vue?vue&type=script&lang=js&\"\nexport * from \"./panel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03a4fafb\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('loading',{ref:\"loading\"}),_c('transition',{attrs:{\"name\":\"page\",\"mode\":\"out-in\"}},[(_vm.layout)?_c(_vm.layout,{tag:\"component\"}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"progress\",style:({\n width: (_vm.percent + \"%\"),\n height: _vm.height,\n opacity: _vm.show ? 1 : 0,\n 'background-color': _vm.canSuccess ? _vm.color : _vm.failedColor\n})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div :style=\"{\n width: `${percent}%`,\n height: height,\n opacity: show ? 1 : 0,\n 'background-color': canSuccess ? color : failedColor\n }\" class=\"progress\"\n />\n</template>\n\n<script>\n// https://github.com/nuxt/nuxt.js/blob/master/lib/app/components/nuxt-loading.vue\nexport default {\n data: () => ({\n percent: 0,\n show: false,\n canSuccess: true,\n duration: 3000,\n height: '2px',\n color: '#77b6ff',\n failedColor: 'red'\n }),\n\n methods: {\n start () {\n this.show = true\n this.canSuccess = true\n if (this._timer) {\n clearInterval(this._timer)\n this.percent = 0\n }\n this._cut = 10000 / Math.floor(this.duration)\n this._timer = setInterval(() => {\n this.increase(this._cut * Math.random())\n if (this.percent > 95) {\n this.finish()\n }\n }, 100)\n return this\n },\n set (num) {\n this.show = true\n this.canSuccess = true\n this.percent = Math.floor(num)\n return this\n },\n get () {\n return Math.floor(this.percent)\n },\n increase (num) {\n this.percent = this.percent + Math.floor(num)\n return this\n },\n decrease (num) {\n this.percent = this.percent - Math.floor(num)\n return this\n },\n finish () {\n this.percent = 100\n this.hide()\n return this\n },\n pause () {\n clearInterval(this._timer)\n return this\n },\n hide () {\n clearInterval(this._timer)\n this._timer = null\n setTimeout(() => {\n this.show = false\n this.$nextTick(() => {\n setTimeout(() => {\n this.percent = 0\n }, 200)\n })\n }, 500)\n return this\n },\n fail () {\n this.canSuccess = false\n return this\n }\n }\n}\n</script>\n\n<style scoped>\n.progress {\n position: fixed;\n top: 0px;\n left: 0px;\n right: 0px;\n height: 2px;\n width: 0%;\n transition: width 0.2s, opacity 0.4s;\n opacity: 1;\n background-color: #efc14e;\n z-index: 999999;\n}\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loading.vue?vue&type=template&id=4a92ff42&scoped=true&\"\nimport script from \"./Loading.vue?vue&type=script&lang=js&\"\nexport * from \"./Loading.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a92ff42\",\n null\n \n)\n\nexport default component.exports","<template>\n <div id=\"app\">\n <loading ref=\"loading\" />\n <transition name=\"page\" mode=\"out-in\">\n <component :is=\"layout\" v-if=\"layout\" />\n </transition>\n </div>\n</template>\n\n<script>\n import Loading from './Loading'\n\n // Load layout components dynamically.\n const requireContext = require.context('~/layouts', false, /.*\\.vue$/)\n\n const layouts = requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.vue$)/g, ''), requireContext(file)]\n )\n .reduce((components, [name, component]) => {\n components[name] = component.default || component\n return components\n }, {})\n\n export default {\n el: '#app',\n\n components: {\n Loading\n },\n\n data: () => ({\n layout: null,\n defaultLayout: 'default'\n }),\n\n metaInfo () {\n const appName = process.env.VUE_APP_NAME\n\n return {\n title: appName,\n titleTemplate: `%s · ${appName}`\n }\n },\n\n mounted () {\n this.$loading = this.$refs.loading\n },\n\n methods: {\n /**\n * Set the application layout.\n *\n * @param {String} layout\n */\n setLayout (layout) {\n if (!layout || !layouts[layout]) {\n layout = this.defaultLayout\n }\n\n this.layout = layouts[layout]\n }\n }\n }\n</script>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7e821574&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\n// Load store modules dynamically.\nconst requireContext = require.context('./modules', false, /.*\\.js$/)\n\nconst modules = requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.js$)/g, ''), requireContext(file)]\n )\n .reduce((modules, [name, module]) => {\n if (module.namespaced === undefined) {\n module.namespaced = true\n }\n\n return { ...modules, [name]: module }\n }, {})\n\nexport default new Vuex.Store({\n modules\n})\n","function page (path) {\n return () => import(`~/pages/${path}`).then(m => m.default || m)\n}\n\nexport default [\n {\n path: '/',\n name: 'panel',\n redirect: '/dashboard',\n component: page('panel/index.vue'),\n children: [\n {\n path: 'dashboard',\n name: 'panel.dashboard',\n component: page('panel/dashboard.vue')\n },\n {\n path: 'components/mltd',\n name: 'panel.components.mltd',\n component: page('panel/components/mltd.vue')\n },\n {\n path: 'components/od',\n name: 'panel.components.od',\n component: page('panel/components/od.vue')\n },\n {\n path: 'components/ceptd',\n name: 'panel.components.ceptd',\n component: page('panel/components/ceptd.vue')\n }\n ]\n }\n // { path: '/login', name: 'login', component: page('login.vue') }\n]\n","import Vue from 'vue'\nimport store from '~/store'\nimport routes from './routes'\nimport Router from 'vue-router'\nimport { sync } from 'vuex-router-sync'\n\nVue.use(Router)\n\n// The middleware for every page of the application.\nconst globalMiddleware = ['check-auth']\n\n// Load middleware modules dynamically.\nconst routeMiddleware = resolveMiddleware(\n require.context('~/middleware', false, /.*\\.js$/)\n)\n\nconst router = createRouter()\n\nsync(store, router)\n\nexport default router\n\n/**\n * Create a new router instance.\n *\n * @return {Router}\n */\nfunction createRouter () {\n const router = new Router({\n scrollBehavior,\n mode: 'history',\n routes\n })\n\n router.beforeEach(beforeEach)\n router.afterEach(afterEach)\n\n return router\n}\n\n/**\n * Global router guard.\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nasync function beforeEach (to, from, next) {\n let components = []\n\n try {\n // Get the matched components and resolve them.\n components = await resolveComponents(\n router.getMatchedComponents({ ...to })\n )\n } catch (error) {\n if (/^Loading( CSS)? chunk (\\d)+ failed\\./.test(error.message)) {\n window.location.reload(true)\n return\n }\n }\n\n if (components.length === 0) {\n return next()\n }\n\n // Start the loading bar.\n if (components[components.length - 1].loading !== false) {\n router.app.$nextTick(() => router.app.$loading.start())\n }\n\n // Get the middleware for all the matched components.\n const middleware = getMiddleware(components)\n\n // Call each middleware.\n callMiddleware(middleware, to, from, (...args) => {\n // Set the application layout only if \"next()\" was called with no args.\n if (args.length === 0) {\n router.app.setLayout(components[0].layout || '')\n }\n\n next(...args)\n })\n}\n\n/**\n * Global after hook.\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nasync function afterEach (to, from, next) {\n await router.app.$nextTick()\n\n router.app.$loading.finish()\n}\n\n/**\n * Call each middleware.\n *\n * @param {Array} middleware\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nfunction callMiddleware (middleware, to, from, next) {\n const stack = middleware.reverse()\n\n const _next = (...args) => {\n // Stop if \"_next\" was called with an argument or the stack is empty.\n if (args.length > 0 || stack.length === 0) {\n if (args.length > 0) {\n router.app.$loading.finish()\n }\n\n return next(...args)\n }\n\n const middleware = stack.pop()\n\n if (typeof middleware === 'function') {\n middleware(to, from, _next)\n } else if (routeMiddleware[middleware]) {\n routeMiddleware[middleware](to, from, _next)\n } else {\n throw Error(`Undefined middleware [${middleware}]`)\n }\n }\n\n _next()\n}\n\n/**\n * Resolve async components.\n *\n * @param {Array} components\n * @return {Array}\n */\nfunction resolveComponents (components) {\n return Promise.all(components.map(component => {\n return typeof component === 'function' ? component() : component\n }))\n}\n\n/**\n * Merge the the global middleware with the components middleware.\n *\n * @param {Array} components\n * @return {Array}\n */\nfunction getMiddleware (components) {\n const middleware = [...globalMiddleware]\n\n components.filter(c => c.middleware).forEach(component => {\n if (Array.isArray(component.middleware)) {\n middleware.push(...component.middleware)\n } else {\n middleware.push(component.middleware)\n }\n })\n\n return middleware\n}\n\n/**\n * Scroll Behavior\n *\n * @link https://router.vuejs.org/en/advanced/scroll-behavior.html\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Object|undefined} savedPosition\n * @return {Object}\n */\nfunction scrollBehavior (to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n }\n\n if (to.hash) {\n return { selector: to.hash }\n }\n\n const [component] = router.getMatchedComponents({ ...to }).slice(-1)\n\n if (component && component.scrollToTop === false) {\n return {}\n }\n\n return { x: 0, y: 0 }\n}\n\n/**\n * @param {Object} requireContext\n * @return {Object}\n */\nfunction resolveMiddleware (requireContext) {\n return requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.js$)/g, ''), requireContext(file)]\n )\n .reduce((guards, [name, guard]) => (\n { ...guards, [name]: guard.default }\n ), {})\n}\n","import axios from 'axios'\nimport store from '~/store'\n\n// Request interceptor\naxios.interceptors.request.use(request => {\n request.baseURL = process.env.VUE_APP_BASE_URL\n\n // const token = store.getters['auth/token']\n // if (token) {\n // request.headers.common.Authorization = `Bearer ${token}`\n // }\n\n const locale = store.getters['lang/locale']\n if (locale) {\n request.headers.common['Accept-Language'] = locale\n }\n\n // request.headers['X-Socket-Id'] = Echo.socketId()\n\n return request\n})\n\n// Response interceptor\naxios.interceptors.response.use(response => response, error => {\n return Promise.reject(error)\n})\n","import Vue from 'vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon, FontAwesomeLayers } from '@fortawesome/vue-fontawesome'\nimport {\n faUser, faLock, faSignOutAlt, faEnvelope, faArrowDown, faArrowUp, faCogs, faBars, faStop, faSearch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faUser, faLock, faSignOutAlt, faEnvelope, faArrowDown, faArrowUp, faCogs, faBars, faStop, faSearch\n)\n\nVue.component('fa', FontAwesomeIcon)\nVue.component('fa-layers', FontAwesomeLayers)\n","import 'core-js/stable'\nimport Vue from 'vue'\nimport { BootstrapVue, IconsPlugin } from 'bootstrap-vue'\nimport Toasted from 'vue-toasted'\nimport App from './App'\nimport router from './router'\nimport store from './store'\nimport '~/plugins'\n\nimport '~/assets/scss/custom.scss'\n\n// Install BootstrapVue\nVue.use(BootstrapVue)\n// Optionally install the BootstrapVue icon components plugin\nVue.use(IconsPlugin)\nVue.use(Toasted, {\n position: 'bottom-center',\n duration: 5000\n})\n\nVue.config.performance = true\n\nnew Vue({\n router,\n store,\n ...App\n}).$mount('#app')\n","var map = {\n\t\"./auth.js\": \"c7d4\",\n\t\"./ui.js\": \"f01d\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"6c17\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"","// import store from '~/store'\n\nexport default async (to, from, next) => {\n // if (!store.getters['auth/check'] && store.getters['auth/token']) {\n // try {\n // await store.dispatch('auth/fetchUser')\n // } catch (e) { }\n // }\n\n next()\n}\n","var map = {\n\t\"./panel.vue\": \"56d0\",\n\t\"./public.vue\": \"a657\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"81be\";","var map = {\n\t\"./auth.js\": \"efbe\",\n\t\"./check-auth.js\": \"74a4\",\n\t\"./guest.js\": \"0a6b\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"9091\";","// auth.js\nexport const LOGOUT = 'LOGOUT'\nexport const SAVE_TOKEN = 'SAVE_TOKEN'\nexport const FETCH_USER = 'FETCH_USER'\nexport const FETCH_USER_SUCCESS = 'FETCH_USER_SUCCESS'\nexport const FETCH_USER_FAILURE = 'FETCH_USER_FAILURE'\n\n// ui.js\nexport const TOGGLE = 'TOGGLE'\n","var map = {\n\t\"./login\": [\n\t\t\"c6f7\",\n\t\t\"chunk-ad9746d8\"\n\t],\n\t\"./login.vue\": [\n\t\t\"c6f7\",\n\t\t\"chunk-ad9746d8\"\n\t],\n\t\"./panel\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/components/ceptd\": [\n\t\t\"8dfb\",\n\t\t\"chunk-2d0e99de\"\n\t],\n\t\"./panel/components/ceptd.vue\": [\n\t\t\"8dfb\",\n\t\t\"chunk-2d0e99de\"\n\t],\n\t\"./panel/components/mltd\": [\n\t\t\"93d3\",\n\t\t\"chunk-2d0e55df\"\n\t],\n\t\"./panel/components/mltd.vue\": [\n\t\t\"93d3\",\n\t\t\"chunk-2d0e55df\"\n\t],\n\t\"./panel/components/od\": [\n\t\t\"3f8a\",\n\t\t\"chunk-2d0c55f2\"\n\t],\n\t\"./panel/components/od.vue\": [\n\t\t\"3f8a\",\n\t\t\"chunk-2d0c55f2\"\n\t],\n\t\"./panel/dashboard\": [\n\t\t\"74b1\",\n\t\t\"chunk-2d0d70a2\"\n\t],\n\t\"./panel/dashboard.vue\": [\n\t\t\"74b1\",\n\t\t\"chunk-2d0d70a2\"\n\t],\n\t\"./panel/index\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/index.vue\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"a383\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"base\"},[_c('header'),_c('router-view'),_c('footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"base\">\n <header />\n <router-view />\n <footer />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'PublicLayout'\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .base {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-height: 100vh;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./public.vue?vue&type=template&id=7d981356&scoped=true&\"\nimport script from \"./public.vue?vue&type=script&lang=js&\"\nexport * from \"./public.vue?vue&type=script&lang=js&\"\nimport style0 from \"./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d981356\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"","import axios from 'axios'\nimport Cookies from 'js-cookie'\nimport * as types from '../mutation-types'\n\n// state\nexport const state = {\n user: null,\n token: Cookies.get('token')\n}\n\n// getters\nexport const getters = {\n user: state => state.user,\n token: state => state.token,\n check: state => state.user !== null\n}\n\n// mutations\nexport const mutations = {\n [types.SAVE_TOKEN] (state, { token, remember }) {\n state.token = token\n Cookies.set('token', token, { expires: remember ? 365 : null })\n },\n\n [types.FETCH_USER_SUCCESS] (state, { user }) {\n state.user = user\n },\n\n [types.FETCH_USER_FAILURE] (state) {\n state.token = null\n Cookies.remove('token')\n },\n\n [types.LOGOUT] (state) {\n state.user = null\n state.token = null\n\n Cookies.remove('token')\n }\n}\n\n// actions\nexport const actions = {\n saveToken ({ commit, dispatch }, payload) {\n commit(types.SAVE_TOKEN, payload)\n },\n\n async fetchUser ({ commit }) {\n try {\n const { data } = await axios.get('/user')\n\n commit(types.FETCH_USER_SUCCESS, { user: data })\n } catch (e) {\n commit(types.FETCH_USER_FAILURE)\n }\n },\n\n async logout ({ commit }) {\n try {\n await axios.post('/logout')\n } catch (e) { }\n\n commit(types.LOGOUT)\n }\n}\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"","// import store from '~/store'\n\nexport default async (to, from, next) => {\n // if (!store.getters['auth/check']) {\n // next({ name: 'login' })\n // } else {\n next()\n // }\n}\n","import * as types from '../mutation-types'\n\n// state\nexport const state = {\n sidebarShow: true,\n sidebarMinimize: false\n}\n\n// getters\nexport const getters = {\n sidebarShow: state => state.sidebarShow,\n sidebarMinimize: state => state.sidebarMinimize\n}\n\n// mutations\nexport const mutations = {\n [types.TOGGLE] (state, variable) {\n state[variable] = !state[variable]\n }\n}\n\n// actions\nexport const actions = {\n toggle ({ commit }, variable) {\n commit(types.TOGGLE, variable)\n }\n}\n"],"sourceRoot":""}
api/public/js/app.3c181a04.js View file @ fa297f2
  1 +(function(e){function t(t){for(var r,a,u=t[0],i=t[1],s=t[2],d=0,f=[];d<u.length;d++)a=u[d],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&f.push(o[a][0]),o[a]=0;for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r]);l&&l(t);while(f.length)f.shift()();return c.push.apply(c,s||[]),n()}function n(){for(var e,t=0;t<c.length;t++){for(var n=c[t],r=!0,a=1;a<n.length;a++){var u=n[a];0!==o[u]&&(r=!1)}r&&(c.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},a={app:0},o={app:0},c=[];function u(e){return i.p+"js/"+({}[e]||e)+"."+{"chunk-2d0c55f2":"5c85b614","chunk-2d0d70a2":"7ea12236","chunk-2d0e55df":"3d7ea4b4","chunk-2d0e99de":"fb0153a3","chunk-2d224ec2":"03a05a00","chunk-ad9746d8":"9562ee9e"}[e]+".js"}function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(e){var t=[],n={"chunk-ad9746d8":1};a[e]?t.push(a[e]):0!==a[e]&&n[e]&&t.push(a[e]=new Promise((function(t,n){for(var r="css/"+({}[e]||e)+"."+{"chunk-2d0c55f2":"31d6cfe0","chunk-2d0d70a2":"31d6cfe0","chunk-2d0e55df":"31d6cfe0","chunk-2d0e99de":"31d6cfe0","chunk-2d224ec2":"31d6cfe0","chunk-ad9746d8":"9a04f192"}[e]+".css",o=i.p+r,c=document.getElementsByTagName("link"),u=0;u<c.length;u++){var s=c[u],d=s.getAttribute("data-href")||s.getAttribute("href");if("stylesheet"===s.rel&&(d===r||d===o))return t()}var f=document.getElementsByTagName("style");for(u=0;u<f.length;u++){s=f[u],d=s.getAttribute("data-href");if(d===r||d===o)return t()}var l=document.createElement("link");l.rel="stylesheet",l.type="text/css",l.onload=t,l.onerror=function(t){var r=t&&t.target&&t.target.src||o,c=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=r,delete a[e],l.parentNode.removeChild(l),n(c)},l.href=o;var p=document.getElementsByTagName("head")[0];p.appendChild(l)})).then((function(){a[e]=0})));var r=o[e];if(0!==r)if(r)t.push(r[2]);else{var c=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=c);var s,d=document.createElement("script");d.charset="utf-8",d.timeout=120,i.nc&&d.setAttribute("nonce",i.nc),d.src=u(e);var f=new Error;s=function(t){d.onerror=d.onload=null,clearTimeout(l);var n=o[e];if(0!==n){if(n){var r=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",f.name="ChunkLoadError",f.type=r,f.request=a,n[1](f)}o[e]=void 0}};var l=setTimeout((function(){s({type:"timeout",target:d})}),12e4);d.onerror=d.onload=s,document.head.appendChild(d)}return Promise.all(t)},i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throw console.error(e),e};var s=window["webpackJsonp"]=window["webpackJsonp"]||[],d=s.push.bind(s);s.push=t,s=s.slice();for(var f=0;f<s.length;f++)t(s[f]);var l=d;c.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},"0a6b":function(e,t,n){"use strict";n.r(t),t["default"]=function(e,t,n){n()}},"0ce0":function(e,t,n){},3597:function(e,t,n){},5047:function(e,t,n){"use strict";var r=n("fa04"),a=n.n(r);a.a},"56d0":function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"d-flex",class:{toggled:!e.sidebarShow},attrs:{id:"wrapper"}},[n("sidebar"),n("div",{attrs:{id:"page-content-wrapper"}},[n("main-header"),n("div",{staticClass:"container-fluid"},[n("transition",{attrs:{name:"fade"}},[n("router-view")],1)],1)],1)],1)},a=[],o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"border-right",attrs:{id:"sidebar-wrapper"}},[n("div",{staticClass:"sidebar-header"},[e._v(" KEA ")]),n("ul",{staticClass:"list-group list-group-flush"},[n("li",[n("router-link",{attrs:{to:{name:"panel.dashboard"}}},[e._v(" Dashboard ")])],1),n("h6",{staticClass:"text-center pt-3"},[e._v(" Monitor ")]),n("li",[n("router-link",{attrs:{to:{name:"panel.components.mltd"}}},[e._v(" MLTD ")])],1),n("li",[n("router-link",{attrs:{to:{name:"panel.components.od"}}},[e._v(" OD ")])],1),n("li",[n("router-link",{attrs:{to:{name:"panel.components.ceptd"}}},[e._v(" CEPTD ")])],1)])])},c=[],u={name:"Sidebar"},i=u,s=(n("ae14"),n("2877")),d=Object(s["a"])(i,o,c,!1,null,"466c867c",null),f=d.exports,l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("b-navbar",{staticClass:"bottom-shadow mb-3",attrs:{variant:"white"}},[n("b-button",{staticClass:"no-outline",attrs:{variant:"none"},on:{click:function(t){return e.$store.dispatch("ui/toggle","sidebarShow")}}},[n("fa",{attrs:{icon:"bars"}})],1)],1)},p=[],h=(n("96cf"),n("1da1")),m={name:"MainHeader",methods:{logout:function(){var e=this;return Object(h["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("auth/logout");case 2:e.$router.push({name:"login"});case 3:case"end":return t.stop()}}),t)})))()}}},b=m,v=(n("71c6"),Object(s["a"])(b,l,p,!1,null,"3c68b016",null)),g=v.exports,k=n("2f62"),w={name:"PanelLayout",components:{Sidebar:f,MainHeader:g},computed:Object(k["b"])({sidebarShow:"ui/sidebarShow"})},y=w,O=(n("b77a"),Object(s["a"])(y,r,a,!1,null,"03a4fafb",null));t["default"]=O.exports},"56d7":function(e,t,n){"use strict";n.r(t);var r=n("5530"),a=(n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("2d26"),n("2b0e")),o=n("5f5b"),c=n("b1e0"),u=n("a65d"),i=n.n(u),s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("loading",{ref:"loading"}),n("transition",{attrs:{name:"page",mode:"out-in"}},[e.layout?n(e.layout,{tag:"component"}):e._e()],1)],1)},d=[],f=(n("d81d"),n("13d5"),n("d3b7"),n("ac1f"),n("5319"),n("ddb0"),n("3835")),l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"progress",style:{width:e.percent+"%",height:e.height,opacity:e.show?1:0,"background-color":e.canSuccess?e.color:e.failedColor}})},p=[],h={data:function(){return{percent:0,show:!1,canSuccess:!0,duration:3e3,height:"2px",color:"#77b6ff",failedColor:"red"}},methods:{start:function(){var e=this;return this.show=!0,this.canSuccess=!0,this._timer&&(clearInterval(this._timer),this.percent=0),this._cut=1e4/Math.floor(this.duration),this._timer=setInterval((function(){e.increase(e._cut*Math.random()),e.percent>95&&e.finish()}),100),this},set:function(e){return this.show=!0,this.canSuccess=!0,this.percent=Math.floor(e),this},get:function(){return Math.floor(this.percent)},increase:function(e){return this.percent=this.percent+Math.floor(e),this},decrease:function(e){return this.percent=this.percent-Math.floor(e),this},finish:function(){return this.percent=100,this.hide(),this},pause:function(){return clearInterval(this._timer),this},hide:function(){var e=this;return clearInterval(this._timer),this._timer=null,setTimeout((function(){e.show=!1,e.$nextTick((function(){setTimeout((function(){e.percent=0}),200)}))}),500),this},fail:function(){return this.canSuccess=!1,this}}},m=h,b=(n("dc51"),n("2877")),v=Object(b["a"])(m,l,p,!1,null,"4a92ff42",null),g=v.exports,k=n("81be"),w=k.keys().map((function(e){return[e.replace(/(^.\/)|(\.vue$)/g,""),k(e)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),r=n[0],a=n[1];return e[r]=a.default||a,e}),{}),y={el:"#app",components:{Loading:g},data:function(){return{layout:null,defaultLayout:"default"}},metaInfo:function(){var e=Object({VUE_APP_BASE_URL:"/api",NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_NAME;return{title:e,titleTemplate:"%s · ".concat(e)}},mounted:function(){this.$loading=this.$refs.loading},methods:{setLayout:function(e){e&&w[e]||(e=this.defaultLayout),this.layout=w[e]}}},O=y,j=Object(b["a"])(O,s,d,!1,null,null,null),_=j.exports,x=(n("99af"),n("4de4"),n("4160"),n("fb6a"),n("3ca3"),n("159b"),n("96cf"),n("ade3")),E=n("2909"),S=n("1da1"),C=n("2f62");a["default"].use(C["a"]);var T=n("6c17"),L=T.keys().map((function(e){return[e.replace(/(^.\/)|(\.js$)/g,""),T(e)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),a=n[0],o=n[1];return void 0===o.namespaced&&(o.namespaced=!0),Object(r["a"])({},e,Object(x["a"])({},a,o))}),{}),M=new C["a"].Store({modules:L});function U(e){return function(){return n("a383")("./".concat(e)).then((function(e){return e.default||e}))}}var $=[{path:"/",name:"panel",redirect:"/dashboard",component:U("panel/index.vue"),children:[{path:"dashboard",name:"panel.dashboard",component:U("panel/dashboard.vue")},{path:"components/mltd",name:"panel.components.mltd",component:U("panel/components/mltd.vue")},{path:"components/od",name:"panel.components.od",component:U("panel/components/od.vue")},{path:"components/ceptd",name:"panel.components.ceptd",component:U("panel/components/ceptd.vue")}]}],P=n("8c4f"),R=n("31bd");a["default"].use(P["a"]);var A=["check-auth"],N=Q(n("9091")),D=I();Object(R["sync"])(M,D);var F=D;function I(){var e=new P["a"]({scrollBehavior:J,mode:"history",routes:$});return e.beforeEach(B),e.afterEach(V),e}function B(e,t,n){return H.apply(this,arguments)}function H(){return H=Object(S["a"])(regeneratorRuntime.mark((function e(t,n,a){var o,c;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=[],e.prev=1,e.next=4,G(D.getMatchedComponents(Object(r["a"])({},t)));case 4:o=e.sent,e.next=12;break;case 7:if(e.prev=7,e.t0=e["catch"](1),!/^Loading( CSS)? chunk (\d)+ failed\./.test(e.t0.message)){e.next=12;break}return window.location.reload(!0),e.abrupt("return");case 12:if(0!==o.length){e.next=14;break}return e.abrupt("return",a());case 14:!1!==o[o.length-1].loading&&D.app.$nextTick((function(){return D.app.$loading.start()})),c=K(o),z(c,t,n,(function(){0===arguments.length&&D.app.setLayout(o[0].layout||""),a.apply(void 0,arguments)}));case 17:case"end":return e.stop()}}),e,null,[[1,7]])}))),H.apply(this,arguments)}function V(e,t,n){return q.apply(this,arguments)}function q(){return q=Object(S["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,D.app.$nextTick();case 2:D.app.$loading.finish();case 3:case"end":return e.stop()}}),e)}))),q.apply(this,arguments)}function z(e,t,n,r){var a=e.reverse(),o=function e(){if(arguments.length>0||0===a.length)return arguments.length>0&&D.app.$loading.finish(),r.apply(void 0,arguments);var o=a.pop();if("function"===typeof o)o(t,n,e);else{if(!N[o])throw Error("Undefined middleware [".concat(o,"]"));N[o](t,n,e)}};o()}function G(e){return Promise.all(e.map((function(e){return"function"===typeof e?e():e})))}function K(e){var t=[].concat(A);return e.filter((function(e){return e.middleware})).forEach((function(e){Array.isArray(e.middleware)?t.push.apply(t,Object(E["a"])(e.middleware)):t.push(e.middleware)})),t}function J(e,t,n){if(n)return n;if(e.hash)return{selector:e.hash};var a=D.getMatchedComponents(Object(r["a"])({},e)).slice(-1),o=Object(f["a"])(a,1),c=o[0];return c&&!1===c.scrollToTop?{}:{x:0,y:0}}function Q(e){return e.keys().map((function(t){return[t.replace(/(^.\/)|(\.js$)/g,""),e(t)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),a=n[0],o=n[1];return Object(r["a"])({},e,Object(x["a"])({},a,o.default))}),{})}var W=n("bc3a"),X=n.n(W);X.a.interceptors.request.use((function(e){e.baseURL="/api";var t=M.getters["lang/locale"];return t&&(e.headers.common["Accept-Language"]=t),e})),X.a.interceptors.response.use((function(e){return e}),(function(e){return Promise.reject(e)}));var Y=n("ecee"),Z=n("ad3d"),ee=n("c074");Y["c"].add(ee["j"],ee["f"],ee["h"],ee["e"],ee["a"],ee["b"],ee["d"],ee["c"],ee["i"],ee["g"]),a["default"].component("fa",Z["a"]),a["default"].component("fa-layers",Z["b"]);n("bb35");a["default"].use(o["a"]),a["default"].use(c["a"]),a["default"].use(i.a,{position:"bottom-center",duration:5e3}),a["default"].config.performance=!0,new a["default"](Object(r["a"])({router:F,store:M},_)).$mount("#app")},"6c17":function(e,t,n){var r={"./auth.js":"c7d4","./ui.js":"f01d"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="6c17"},"71c6":function(e,t,n){"use strict";var r=n("bb10"),a=n.n(r);a.a},"74a4":function(e,t,n){"use strict";n.r(t);n("96cf");var r=n("1da1");t["default"]=function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:r();case 1:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},"81be":function(e,t,n){var r={"./panel.vue":"56d0","./public.vue":"a657"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="81be"},9091:function(e,t,n){var r={"./auth.js":"efbe","./check-auth.js":"74a4","./guest.js":"0a6b"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="9091"},"9fb0":function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"d",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return c})),n.d(t,"e",(function(){return u}));var r="LOGOUT",a="SAVE_TOKEN",o="FETCH_USER_SUCCESS",c="FETCH_USER_FAILURE",u="TOGGLE"},a383:function(e,t,n){var r={"./login":["c6f7","chunk-ad9746d8"],"./login.vue":["c6f7","chunk-ad9746d8"],"./panel":["e1cc","chunk-2d224ec2"],"./panel/":["e1cc","chunk-2d224ec2"],"./panel/components/ceptd":["8dfb","chunk-2d0e99de"],"./panel/components/ceptd.vue":["8dfb","chunk-2d0e99de"],"./panel/components/mltd":["93d3","chunk-2d0e55df"],"./panel/components/mltd.vue":["93d3","chunk-2d0e55df"],"./panel/components/od":["3f8a","chunk-2d0c55f2"],"./panel/components/od.vue":["3f8a","chunk-2d0c55f2"],"./panel/dashboard":["74b1","chunk-2d0d70a2"],"./panel/dashboard.vue":["74b1","chunk-2d0d70a2"],"./panel/index":["e1cc","chunk-2d224ec2"],"./panel/index.vue":["e1cc","chunk-2d224ec2"]};function a(e){if(!n.o(r,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=r[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(r)},a.id="a383",e.exports=a},a657:function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"base"},[n("header"),n("router-view"),n("footer")],1)},a=[],o={name:"PublicLayout"},c=o,u=(n("5047"),n("2877")),i=Object(u["a"])(c,r,a,!1,null,"7d981356",null);t["default"]=i.exports},ae14:function(e,t,n){"use strict";var r=n("3597"),a=n.n(r);a.a},b77a:function(e,t,n){"use strict";var r=n("b864"),a=n.n(r);a.a},b864:function(e,t,n){},bb10:function(e,t,n){},bb35:function(e,t,n){},c7d4:function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return f})),n.d(t,"getters",(function(){return l})),n.d(t,"mutations",(function(){return p})),n.d(t,"actions",(function(){return h}));n("96cf");var r,a=n("1da1"),o=n("ade3"),c=n("bc3a"),u=n.n(c),i=n("a78e"),s=n.n(i),d=n("9fb0"),f={user:null,token:s.a.get("token")},l={user:function(e){return e.user},token:function(e){return e.token},check:function(e){return null!==e.user}},p=(r={},Object(o["a"])(r,d["d"],(function(e,t){var n=t.token,r=t.remember;e.token=n,s.a.set("token",n,{expires:r?365:null})})),Object(o["a"])(r,d["b"],(function(e,t){var n=t.user;e.user=n})),Object(o["a"])(r,d["a"],(function(e){e.token=null,s.a.remove("token")})),Object(o["a"])(r,d["c"],(function(e){e.user=null,e.token=null,s.a.remove("token")})),r),h={saveToken:function(e,t){var n=e.commit;e.dispatch;n(d["d"],t)},fetchUser:function(e){return Object(a["a"])(regeneratorRuntime.mark((function t(){var n,r,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.commit,t.prev=1,t.next=4,u.a.get("/user");case 4:r=t.sent,a=r.data,n(d["b"],{user:a}),t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](1),n(d["a"]);case 12:case"end":return t.stop()}}),t,null,[[1,9]])})))()},logout:function(e){return Object(a["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.commit,t.prev=1,t.next=4,u.a.post("/logout");case 4:t.next=8;break;case 6:t.prev=6,t.t0=t["catch"](1);case 8:n(d["c"]);case 9:case"end":return t.stop()}}),t,null,[[1,6]])})))()}}},dc51:function(e,t,n){"use strict";var r=n("0ce0"),a=n.n(r);a.a},efbe:function(e,t,n){"use strict";n.r(t);n("96cf");var r=n("1da1");t["default"]=function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:r();case 1:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},f01d:function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return o})),n.d(t,"getters",(function(){return c})),n.d(t,"mutations",(function(){return u})),n.d(t,"actions",(function(){return i}));var r=n("ade3"),a=n("9fb0"),o={sidebarShow:!0,sidebarMinimize:!1},c={sidebarShow:function(e){return e.sidebarShow},sidebarMinimize:function(e){return e.sidebarMinimize}},u=Object(r["a"])({},a["e"],(function(e,t){e[t]=!e[t]})),i={toggle:function(e,t){var n=e.commit;n(a["e"],t)}}},fa04:function(e,t,n){}});
  2 +//# sourceMappingURL=app.3c181a04.js.map
api/public/js/app.3c181a04.js.map View file @ fa297f2
  1 +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/middleware/guest.js","webpack:///./src/layouts/public.vue?e81d","webpack:///./src/layouts/panel.vue?9fef","webpack:///./src/containers/Sidebar.vue?6465","webpack:///src/containers/Sidebar.vue","webpack:///./src/containers/Sidebar.vue?da49","webpack:///./src/containers/Sidebar.vue?9e2c","webpack:///./src/containers/MainHeader.vue?c456","webpack:///src/containers/MainHeader.vue","webpack:///./src/containers/MainHeader.vue?e455","webpack:///./src/containers/MainHeader.vue?f374","webpack:///src/layouts/panel.vue","webpack:///./src/layouts/panel.vue?35cd","webpack:///./src/layouts/panel.vue?119b","webpack:///./src/App.vue?4ed4","webpack:///./src/Loading.vue?095a","webpack:///src/Loading.vue","webpack:///./src/Loading.vue?b83e","webpack:///./src/Loading.vue?71b5","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/store/index.js","webpack:///./src/router/routes.js","webpack:///./src/router/index.js","webpack:///./src/plugins/axios.js","webpack:///./src/plugins/fontawesome.js","webpack:///./src/main.js","webpack:///./src/store/modules sync nonrecursive .*\\.js$","webpack:///./src/containers/MainHeader.vue?cec7","webpack:///./src/middleware/check-auth.js","webpack:///./src/layouts sync nonrecursive .*\\.vue$","webpack:///./src/middleware sync nonrecursive .*\\.js$","webpack:///./src/store/mutation-types.js","webpack:///./src/pages lazy ^\\.\\/.*$ namespace object","webpack:///./src/layouts/public.vue?a728","webpack:///src/layouts/public.vue","webpack:///./src/layouts/public.vue?3a7c","webpack:///./src/layouts/public.vue?4545","webpack:///./src/containers/Sidebar.vue?c2fa","webpack:///./src/layouts/panel.vue?e5fe","webpack:///./src/store/modules/auth.js","webpack:///./src/Loading.vue?5476","webpack:///./src/middleware/auth.js","webpack:///./src/store/modules/ui.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","to","from","next","render","_vm","this","_h","$createElement","_c","_self","staticClass","class","sidebarShow","attrs","staticRenderFns","_v","component","on","$event","$store","dispatch","methods","components","Sidebar","computed","ref","layout","_e","style","width","percent","height","opacity","show","canSuccess","color","failedColor","start","_timer","clearInterval","_cut","Math","floor","duration","setInterval","set","num","increase","decrease","finish","hide","pause","fail","Vue","use","Vuex","requireContext","require","keys","map","file","replace","reduce","namespaced","Store","page","path","default","redirect","children","Router","globalMiddleware","routeMiddleware","resolveMiddleware","router","createRouter","sync","store","scrollBehavior","routes","beforeEach","afterEach","resolveComponents","getMatchedComponents","test","location","reload","loading","app","$nextTick","$loading","middleware","getMiddleware","callMiddleware","setLayout","stack","reverse","_next","pop","filter","forEach","Array","isArray","savedPosition","hash","selector","scrollToTop","x","y","guards","guard","axios","interceptors","baseURL","process","locale","getters","headers","common","response","library","add","faUser","faLock","faSignOutAlt","faEnvelope","faArrowDown","faArrowUp","faCogs","faBars","faStop","faSearch","FontAwesomeIcon","FontAwesomeLayers","BootstrapVue","IconsPlugin","Toasted","position","config","performance","App","$mount","webpackContext","req","id","webpackContextResolve","LOGOUT","SAVE_TOKEN","FETCH_USER_SUCCESS","FETCH_USER_FAILURE","TOGGLE","webpackAsyncContext","ids","state","user","token","Cookies","check","mutations","types","remember","expires","remove","actions","saveToken","payload","commit","fetchUser","logout","post","sidebarMinimize","variable","toggle"],"mappings":"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","file":"js/app.3c181a04.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c55f2\":\"5c85b614\",\"chunk-2d0d70a2\":\"7ea12236\",\"chunk-2d0e55df\":\"3d7ea4b4\",\"chunk-2d0e99de\":\"fb0153a3\",\"chunk-2d224ec2\":\"03a05a00\",\"chunk-ad9746d8\":\"9562ee9e\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-ad9746d8\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c55f2\":\"31d6cfe0\",\"chunk-2d0d70a2\":\"31d6cfe0\",\"chunk-2d0e55df\":\"31d6cfe0\",\"chunk-2d0e99de\":\"31d6cfe0\",\"chunk-2d224ec2\":\"31d6cfe0\",\"chunk-ad9746d8\":\"9a04f192\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","// import store from '~/store'\n\nexport default (to, from, next) => {\n next()\n // if (store.getters['auth/check']) {\n // next({ name: 'home' })\n // } else {\n // next()\n // }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex\",class:{ 'toggled': !_vm.sidebarShow },attrs:{\"id\":\"wrapper\"}},[_c('sidebar'),_c('div',{attrs:{\"id\":\"page-content-wrapper\"}},[_c('main-header'),_c('div',{staticClass:\"container-fluid\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('router-view')],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"border-right\",attrs:{\"id\":\"sidebar-wrapper\"}},[_c('div',{staticClass:\"sidebar-header\"},[_vm._v(\" KEA \")]),_c('ul',{staticClass:\"list-group list-group-flush\"},[_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.dashboard' }}},[_vm._v(\" Dashboard \")])],1),_c('h6',{staticClass:\"text-center pt-3\"},[_vm._v(\" Monitor \")]),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.mltd' }}},[_vm._v(\" MLTD \")])],1),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.od' }}},[_vm._v(\" OD \")])],1),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.ceptd' }}},[_vm._v(\" CEPTD \")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n<template>\n <div id=\"sidebar-wrapper\" class=\"border-right\">\n <div class=\"sidebar-header\">\n KEA\n </div>\n <ul class=\"list-group list-group-flush\">\n <li>\n <router-link :to=\"{ name: 'panel.dashboard' }\">\n Dashboard\n </router-link>\n </li>\n <h6 class=\"text-center pt-3\">\n Monitor\n </h6>\n <li>\n <router-link :to=\"{ name: 'panel.components.mltd' }\">\n MLTD\n </router-link>\n </li>\n <li>\n <router-link :to=\"{ name: 'panel.components.od' }\">\n OD\n </router-link>\n </li>\n <li>\n <router-link :to=\"{ name: 'panel.components.ceptd' }\">\n CEPTD\n </router-link>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'Sidebar'\n}\n</script>\n\n<style scoped>\n #sidebar-wrapper {\n background: #4876d5;\n color: #fff;\n transition: all 0.6s cubic-bezier(0.945, 0.020, 0.270, 0.665);\n transform-origin: bottom left;\n }\n\n .sidebar-header {\n padding: 12px;\n font-size: 1.35rem;\n text-align: center;\n }\n\n #sidebar-wrapper ul li a {\n padding: 10px;\n font-size: 1.1em;\n display: block;\n }\n #sidebar-wrapper ul li a:hover {\n color: #5197fa;\n background: #fff;\n }\n\n #sidebar-wrapper ul a.router-link-exact-active {\n color: #fff;\n background: #5197fa;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=466c867c&scoped=true&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"466c867c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-navbar',{staticClass:\"bottom-shadow mb-3\",attrs:{\"variant\":\"white\"}},[_c('b-button',{staticClass:\"no-outline\",attrs:{\"variant\":\"none\"},on:{\"click\":function($event){return _vm.$store.dispatch('ui/toggle', 'sidebarShow')}}},[_c('fa',{attrs:{\"icon\":\"bars\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-navbar variant=\"white\" class=\"bottom-shadow mb-3\">\n <b-button variant=\"none\" class=\"no-outline\" @click=\"$store.dispatch('ui/toggle', 'sidebarShow')\">\n <fa icon=\"bars\" />\n </b-button>\n <!-- Right aligned nav items -->\n<!-- <b-navbar-nav class=\"ml-auto\">-->\n<!-- <b-nav-item @click=\"logout\">-->\n<!-- <fa icon=\"sign-out-alt\" />-->\n<!-- </b-nav-item>-->\n<!-- </b-navbar-nav>-->\n </b-navbar>\n</template>\n\n<script>\nexport default {\n name: 'MainHeader',\n methods: {\n async logout () {\n await this.$store.dispatch('auth/logout')\n this.$router.push({ name: 'login' })\n }\n }\n}\n</script>\n\n<style scoped>\n .bottom-shadow {\n box-shadow: 0 4px 2px -2px gray;\n }\n .no-outline:focus, .no-outline:active {\n outline: none !important;\n box-shadow: none !important;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainHeader.vue?vue&type=template&id=3c68b016&scoped=true&\"\nimport script from \"./MainHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./MainHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c68b016\",\n null\n \n)\n\nexport default component.exports","<template>\n <div id=\"wrapper\" class=\"d-flex\" :class=\"{ 'toggled': !sidebarShow }\">\n <sidebar />\n <div id=\"page-content-wrapper\">\n <main-header />\n <div class=\"container-fluid\">\n <transition name=\"fade\">\n <router-view />\n </transition>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Sidebar from '../containers/Sidebar'\nimport MainHeader from '../containers/MainHeader'\nimport { mapGetters } from 'vuex'\nexport default {\n name: 'PanelLayout',\n components: {\n Sidebar, MainHeader\n },\n computed: mapGetters({\n sidebarShow: 'ui/sidebarShow'\n })\n}\n</script>\n\n<style scoped>\n .fade-enter-active,\n .fade-leave-active {\n transition: opacity 0.3s;\n }\n .fade-enter,\n .fade-leave-to {\n opacity: 0;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./panel.vue?vue&type=template&id=03a4fafb&scoped=true&\"\nimport script from \"./panel.vue?vue&type=script&lang=js&\"\nexport * from \"./panel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03a4fafb\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('loading',{ref:\"loading\"}),_c('transition',{attrs:{\"name\":\"page\",\"mode\":\"out-in\"}},[(_vm.layout)?_c(_vm.layout,{tag:\"component\"}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"progress\",style:({\n width: (_vm.percent + \"%\"),\n height: _vm.height,\n opacity: _vm.show ? 1 : 0,\n 'background-color': _vm.canSuccess ? _vm.color : _vm.failedColor\n})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div :style=\"{\n width: `${percent}%`,\n height: height,\n opacity: show ? 1 : 0,\n 'background-color': canSuccess ? color : failedColor\n }\" class=\"progress\"\n />\n</template>\n\n<script>\n// https://github.com/nuxt/nuxt.js/blob/master/lib/app/components/nuxt-loading.vue\nexport default {\n data: () => ({\n percent: 0,\n show: false,\n canSuccess: true,\n duration: 3000,\n height: '2px',\n color: '#77b6ff',\n failedColor: 'red'\n }),\n\n methods: {\n start () {\n this.show = true\n this.canSuccess = true\n if (this._timer) {\n clearInterval(this._timer)\n this.percent = 0\n }\n this._cut = 10000 / Math.floor(this.duration)\n this._timer = setInterval(() => {\n this.increase(this._cut * Math.random())\n if (this.percent > 95) {\n this.finish()\n }\n }, 100)\n return this\n },\n set (num) {\n this.show = true\n this.canSuccess = true\n this.percent = Math.floor(num)\n return this\n },\n get () {\n return Math.floor(this.percent)\n },\n increase (num) {\n this.percent = this.percent + Math.floor(num)\n return this\n },\n decrease (num) {\n this.percent = this.percent - Math.floor(num)\n return this\n },\n finish () {\n this.percent = 100\n this.hide()\n return this\n },\n pause () {\n clearInterval(this._timer)\n return this\n },\n hide () {\n clearInterval(this._timer)\n this._timer = null\n setTimeout(() => {\n this.show = false\n this.$nextTick(() => {\n setTimeout(() => {\n this.percent = 0\n }, 200)\n })\n }, 500)\n return this\n },\n fail () {\n this.canSuccess = false\n return this\n }\n }\n}\n</script>\n\n<style scoped>\n.progress {\n position: fixed;\n top: 0px;\n left: 0px;\n right: 0px;\n height: 2px;\n width: 0%;\n transition: width 0.2s, opacity 0.4s;\n opacity: 1;\n background-color: #efc14e;\n z-index: 999999;\n}\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loading.vue?vue&type=template&id=4a92ff42&scoped=true&\"\nimport script from \"./Loading.vue?vue&type=script&lang=js&\"\nexport * from \"./Loading.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a92ff42\",\n null\n \n)\n\nexport default component.exports","<template>\n <div id=\"app\">\n <loading ref=\"loading\" />\n <transition name=\"page\" mode=\"out-in\">\n <component :is=\"layout\" v-if=\"layout\" />\n </transition>\n </div>\n</template>\n\n<script>\n import Loading from './Loading'\n\n // Load layout components dynamically.\n const requireContext = require.context('~/layouts', false, /.*\\.vue$/)\n\n const layouts = requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.vue$)/g, ''), requireContext(file)]\n )\n .reduce((components, [name, component]) => {\n components[name] = component.default || component\n return components\n }, {})\n\n export default {\n el: '#app',\n\n components: {\n Loading\n },\n\n data: () => ({\n layout: null,\n defaultLayout: 'default'\n }),\n\n metaInfo () {\n const appName = process.env.VUE_APP_NAME\n\n return {\n title: appName,\n titleTemplate: `%s · ${appName}`\n }\n },\n\n mounted () {\n this.$loading = this.$refs.loading\n },\n\n methods: {\n /**\n * Set the application layout.\n *\n * @param {String} layout\n */\n setLayout (layout) {\n if (!layout || !layouts[layout]) {\n layout = this.defaultLayout\n }\n\n this.layout = layouts[layout]\n }\n }\n }\n</script>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7e821574&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\n// Load store modules dynamically.\nconst requireContext = require.context('./modules', false, /.*\\.js$/)\n\nconst modules = requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.js$)/g, ''), requireContext(file)]\n )\n .reduce((modules, [name, module]) => {\n if (module.namespaced === undefined) {\n module.namespaced = true\n }\n\n return { ...modules, [name]: module }\n }, {})\n\nexport default new Vuex.Store({\n modules\n})\n","function page (path) {\n return () => import(`~/pages/${path}`).then(m => m.default || m)\n}\n\nexport default [\n {\n path: '/',\n name: 'panel',\n redirect: '/dashboard',\n component: page('panel/index.vue'),\n children: [\n {\n path: 'dashboard',\n name: 'panel.dashboard',\n component: page('panel/dashboard.vue')\n },\n {\n path: 'components/mltd',\n name: 'panel.components.mltd',\n component: page('panel/components/mltd.vue')\n },\n {\n path: 'components/od',\n name: 'panel.components.od',\n component: page('panel/components/od.vue')\n },\n {\n path: 'components/ceptd',\n name: 'panel.components.ceptd',\n component: page('panel/components/ceptd.vue')\n }\n ]\n }\n // { path: '/login', name: 'login', component: page('login.vue') }\n]\n","import Vue from 'vue'\nimport store from '~/store'\nimport routes from './routes'\nimport Router from 'vue-router'\nimport { sync } from 'vuex-router-sync'\n\nVue.use(Router)\n\n// The middleware for every page of the application.\nconst globalMiddleware = ['check-auth']\n\n// Load middleware modules dynamically.\nconst routeMiddleware = resolveMiddleware(\n require.context('~/middleware', false, /.*\\.js$/)\n)\n\nconst router = createRouter()\n\nsync(store, router)\n\nexport default router\n\n/**\n * Create a new router instance.\n *\n * @return {Router}\n */\nfunction createRouter () {\n const router = new Router({\n scrollBehavior,\n mode: 'history',\n routes\n })\n\n router.beforeEach(beforeEach)\n router.afterEach(afterEach)\n\n return router\n}\n\n/**\n * Global router guard.\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nasync function beforeEach (to, from, next) {\n let components = []\n\n try {\n // Get the matched components and resolve them.\n components = await resolveComponents(\n router.getMatchedComponents({ ...to })\n )\n } catch (error) {\n if (/^Loading( CSS)? chunk (\\d)+ failed\\./.test(error.message)) {\n window.location.reload(true)\n return\n }\n }\n\n if (components.length === 0) {\n return next()\n }\n\n // Start the loading bar.\n if (components[components.length - 1].loading !== false) {\n router.app.$nextTick(() => router.app.$loading.start())\n }\n\n // Get the middleware for all the matched components.\n const middleware = getMiddleware(components)\n\n // Call each middleware.\n callMiddleware(middleware, to, from, (...args) => {\n // Set the application layout only if \"next()\" was called with no args.\n if (args.length === 0) {\n router.app.setLayout(components[0].layout || '')\n }\n\n next(...args)\n })\n}\n\n/**\n * Global after hook.\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nasync function afterEach (to, from, next) {\n await router.app.$nextTick()\n\n router.app.$loading.finish()\n}\n\n/**\n * Call each middleware.\n *\n * @param {Array} middleware\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nfunction callMiddleware (middleware, to, from, next) {\n const stack = middleware.reverse()\n\n const _next = (...args) => {\n // Stop if \"_next\" was called with an argument or the stack is empty.\n if (args.length > 0 || stack.length === 0) {\n if (args.length > 0) {\n router.app.$loading.finish()\n }\n\n return next(...args)\n }\n\n const middleware = stack.pop()\n\n if (typeof middleware === 'function') {\n middleware(to, from, _next)\n } else if (routeMiddleware[middleware]) {\n routeMiddleware[middleware](to, from, _next)\n } else {\n throw Error(`Undefined middleware [${middleware}]`)\n }\n }\n\n _next()\n}\n\n/**\n * Resolve async components.\n *\n * @param {Array} components\n * @return {Array}\n */\nfunction resolveComponents (components) {\n return Promise.all(components.map(component => {\n return typeof component === 'function' ? component() : component\n }))\n}\n\n/**\n * Merge the the global middleware with the components middleware.\n *\n * @param {Array} components\n * @return {Array}\n */\nfunction getMiddleware (components) {\n const middleware = [...globalMiddleware]\n\n components.filter(c => c.middleware).forEach(component => {\n if (Array.isArray(component.middleware)) {\n middleware.push(...component.middleware)\n } else {\n middleware.push(component.middleware)\n }\n })\n\n return middleware\n}\n\n/**\n * Scroll Behavior\n *\n * @link https://router.vuejs.org/en/advanced/scroll-behavior.html\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Object|undefined} savedPosition\n * @return {Object}\n */\nfunction scrollBehavior (to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n }\n\n if (to.hash) {\n return { selector: to.hash }\n }\n\n const [component] = router.getMatchedComponents({ ...to }).slice(-1)\n\n if (component && component.scrollToTop === false) {\n return {}\n }\n\n return { x: 0, y: 0 }\n}\n\n/**\n * @param {Object} requireContext\n * @return {Object}\n */\nfunction resolveMiddleware (requireContext) {\n return requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.js$)/g, ''), requireContext(file)]\n )\n .reduce((guards, [name, guard]) => (\n { ...guards, [name]: guard.default }\n ), {})\n}\n","import axios from 'axios'\nimport store from '~/store'\n\n// Request interceptor\naxios.interceptors.request.use(request => {\n request.baseURL = process.env.VUE_APP_BASE_URL\n\n // const token = store.getters['auth/token']\n // if (token) {\n // request.headers.common.Authorization = `Bearer ${token}`\n // }\n\n const locale = store.getters['lang/locale']\n if (locale) {\n request.headers.common['Accept-Language'] = locale\n }\n\n // request.headers['X-Socket-Id'] = Echo.socketId()\n\n return request\n})\n\n// Response interceptor\naxios.interceptors.response.use(response => response, error => {\n return Promise.reject(error)\n})\n","import Vue from 'vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon, FontAwesomeLayers } from '@fortawesome/vue-fontawesome'\nimport {\n faUser, faLock, faSignOutAlt, faEnvelope, faArrowDown, faArrowUp, faCogs, faBars, faStop, faSearch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faUser, faLock, faSignOutAlt, faEnvelope, faArrowDown, faArrowUp, faCogs, faBars, faStop, faSearch\n)\n\nVue.component('fa', FontAwesomeIcon)\nVue.component('fa-layers', FontAwesomeLayers)\n","import 'core-js/stable'\nimport Vue from 'vue'\nimport { BootstrapVue, IconsPlugin } from 'bootstrap-vue'\nimport Toasted from 'vue-toasted'\nimport App from './App'\nimport router from './router'\nimport store from './store'\nimport '~/plugins'\n\nimport '~/assets/scss/custom.scss'\n\n// Install BootstrapVue\nVue.use(BootstrapVue)\n// Optionally install the BootstrapVue icon components plugin\nVue.use(IconsPlugin)\nVue.use(Toasted, {\n position: 'bottom-center',\n duration: 5000\n})\n\nVue.config.performance = true\n\nnew Vue({\n router,\n store,\n ...App\n}).$mount('#app')\n","var map = {\n\t\"./auth.js\": \"c7d4\",\n\t\"./ui.js\": \"f01d\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"6c17\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"","// import store from '~/store'\n\nexport default async (to, from, next) => {\n // if (!store.getters['auth/check'] && store.getters['auth/token']) {\n // try {\n // await store.dispatch('auth/fetchUser')\n // } catch (e) { }\n // }\n\n next()\n}\n","var map = {\n\t\"./panel.vue\": \"56d0\",\n\t\"./public.vue\": \"a657\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"81be\";","var map = {\n\t\"./auth.js\": \"efbe\",\n\t\"./check-auth.js\": \"74a4\",\n\t\"./guest.js\": \"0a6b\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"9091\";","// auth.js\nexport const LOGOUT = 'LOGOUT'\nexport const SAVE_TOKEN = 'SAVE_TOKEN'\nexport const FETCH_USER = 'FETCH_USER'\nexport const FETCH_USER_SUCCESS = 'FETCH_USER_SUCCESS'\nexport const FETCH_USER_FAILURE = 'FETCH_USER_FAILURE'\n\n// ui.js\nexport const TOGGLE = 'TOGGLE'\n","var map = {\n\t\"./login\": [\n\t\t\"c6f7\",\n\t\t\"chunk-ad9746d8\"\n\t],\n\t\"./login.vue\": [\n\t\t\"c6f7\",\n\t\t\"chunk-ad9746d8\"\n\t],\n\t\"./panel\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/components/ceptd\": [\n\t\t\"8dfb\",\n\t\t\"chunk-2d0e99de\"\n\t],\n\t\"./panel/components/ceptd.vue\": [\n\t\t\"8dfb\",\n\t\t\"chunk-2d0e99de\"\n\t],\n\t\"./panel/components/mltd\": [\n\t\t\"93d3\",\n\t\t\"chunk-2d0e55df\"\n\t],\n\t\"./panel/components/mltd.vue\": [\n\t\t\"93d3\",\n\t\t\"chunk-2d0e55df\"\n\t],\n\t\"./panel/components/od\": [\n\t\t\"3f8a\",\n\t\t\"chunk-2d0c55f2\"\n\t],\n\t\"./panel/components/od.vue\": [\n\t\t\"3f8a\",\n\t\t\"chunk-2d0c55f2\"\n\t],\n\t\"./panel/dashboard\": [\n\t\t\"74b1\",\n\t\t\"chunk-2d0d70a2\"\n\t],\n\t\"./panel/dashboard.vue\": [\n\t\t\"74b1\",\n\t\t\"chunk-2d0d70a2\"\n\t],\n\t\"./panel/index\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/index.vue\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"a383\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"base\"},[_c('header'),_c('router-view'),_c('footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"base\">\n <header />\n <router-view />\n <footer />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'PublicLayout'\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .base {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-height: 100vh;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./public.vue?vue&type=template&id=7d981356&scoped=true&\"\nimport script from \"./public.vue?vue&type=script&lang=js&\"\nexport * from \"./public.vue?vue&type=script&lang=js&\"\nimport style0 from \"./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d981356\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"","import axios from 'axios'\nimport Cookies from 'js-cookie'\nimport * as types from '../mutation-types'\n\n// state\nexport const state = {\n user: null,\n token: Cookies.get('token')\n}\n\n// getters\nexport const getters = {\n user: state => state.user,\n token: state => state.token,\n check: state => state.user !== null\n}\n\n// mutations\nexport const mutations = {\n [types.SAVE_TOKEN] (state, { token, remember }) {\n state.token = token\n Cookies.set('token', token, { expires: remember ? 365 : null })\n },\n\n [types.FETCH_USER_SUCCESS] (state, { user }) {\n state.user = user\n },\n\n [types.FETCH_USER_FAILURE] (state) {\n state.token = null\n Cookies.remove('token')\n },\n\n [types.LOGOUT] (state) {\n state.user = null\n state.token = null\n\n Cookies.remove('token')\n }\n}\n\n// actions\nexport const actions = {\n saveToken ({ commit, dispatch }, payload) {\n commit(types.SAVE_TOKEN, payload)\n },\n\n async fetchUser ({ commit }) {\n try {\n const { data } = await axios.get('/user')\n\n commit(types.FETCH_USER_SUCCESS, { user: data })\n } catch (e) {\n commit(types.FETCH_USER_FAILURE)\n }\n },\n\n async logout ({ commit }) {\n try {\n await axios.post('/logout')\n } catch (e) { }\n\n commit(types.LOGOUT)\n }\n}\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"","// import store from '~/store'\n\nexport default async (to, from, next) => {\n // if (!store.getters['auth/check']) {\n // next({ name: 'login' })\n // } else {\n next()\n // }\n}\n","import * as types from '../mutation-types'\n\n// state\nexport const state = {\n sidebarShow: true,\n sidebarMinimize: false\n}\n\n// getters\nexport const getters = {\n sidebarShow: state => state.sidebarShow,\n sidebarMinimize: state => state.sidebarMinimize\n}\n\n// mutations\nexport const mutations = {\n [types.TOGGLE] (state, variable) {\n state[variable] = !state[variable]\n }\n}\n\n// actions\nexport const actions = {\n toggle ({ commit }, variable) {\n commit(types.TOGGLE, variable)\n }\n}\n"],"sourceRoot":""}
api/public/js/chunk-2d0c55f2.5c85b614.js View file @ fa297f2
  1 +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c55f2"],{"3f8a":function(e,r,t){"use strict";t.r(r);var n=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticStyle:{height:"90vh"}},[t("iframe",{attrs:{width:"100%",height:"100%",src:e.src,frameborder:"0"}})])},a=[],c=(t("96cf"),t("1da1")),i=t("bc3a"),s=t.n(i),o={name:"OD",data:function(){return{src:"",params:"/d/qDDyJZ6Wz/od?orgId=1"}},created:function(){this.config()},methods:{config:function(){var e=this;return Object(c["a"])(regeneratorRuntime.mark((function r(){var t,n;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,s.a.get("/config");case 3:t=r.sent,n=t.data,e.src=n.kibana_url+e.params,r.next=11;break;case 8:r.prev=8,r.t0=r["catch"](0),e.$toasted.error("Error fetching Grafana URL!");case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()}}},u=o,f=t("2877"),d=Object(f["a"])(u,n,a,!1,null,"4c1485ec",null);r["default"]=d.exports}}]);
  2 +//# sourceMappingURL=chunk-2d0c55f2.5c85b614.js.map
api/public/js/chunk-2d0c55f2.5c85b614.js.map View file @ fa297f2
  1 +{"version":3,"sources":["webpack:///./src/pages/panel/components/od.vue?306b","webpack:///src/pages/panel/components/od.vue","webpack:///./src/pages/panel/components/od.vue?d888","webpack:///./src/pages/panel/components/od.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,G,6CCQtB,GACE,KAAF,KACE,KAFF,WAGI,MAAJ,CACM,IAAN,GACM,OAAN,4BAGE,QARF,WASI,KAAJ,UAEE,QAAF,CACI,OADJ,WACM,IAAN,OAAM,OAAN,uKAEA,mBAFA,gBAEA,EAFA,EAEA,KACA,4BAHA,mDAKA,gDALA,8DCrB0W,I,YCOtWC,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAC,E","file":"js/chunk-2d0c55f2.5c85b614.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"90vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 90vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\n import axios from 'axios'\n\n export default {\n name: 'OD',\n data () {\n return {\n src: '',\n params: '/d/qDDyJZ6Wz/od?orgId=1'\n }\n },\n created () {\n this.config()\n },\n methods: {\n async config () {\n try {\n const { data } = await axios.get('/config')\n this.src = data.kibana_url + this.params\n } catch (e) {\n this.$toasted.error('Error fetching Grafana URL!')\n }\n }\n }\n }\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./od.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./od.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./od.vue?vue&type=template&id=4c1485ec&scoped=true&\"\nimport script from \"./od.vue?vue&type=script&lang=js&\"\nexport * from \"./od.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c1485ec\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0c55f2.d73ee58d.js View file @ fa297f2
1   -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c55f2"],{"3f8a":function(t,e,r){"use strict";r.r(e);var c=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticStyle:{height:"90vh"}},[r("iframe",{attrs:{width:"100%",height:"100%",src:t.src,frameborder:"0"}})])},n=[],a={name:"OD",data:function(){return{src:"http://localhost:3001/d/qDDyJZ6Wz/od?orgId=1"}}},s=a,i=r("2877"),o=Object(i["a"])(s,c,n,!1,null,"d58442cc",null);e["default"]=o.exports}}]);
2   -//# sourceMappingURL=chunk-2d0c55f2.d73ee58d.js.map
api/public/js/chunk-2d0c55f2.d73ee58d.js.map View file @ fa297f2
1   -{"version":3,"sources":["webpack:///./src/pages/panel/components/od.vue?269f","webpack:///src/pages/panel/components/od.vue","webpack:///./src/pages/panel/components/od.vue?d888","webpack:///./src/pages/panel/components/od.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,GCMtB,GACE,KAAF,KACE,KAFF,WAGI,MAAJ,CACM,IAAN,kDCX0W,I,YCOtWC,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAC,E","file":"js/chunk-2d0c55f2.d73ee58d.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"90vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 90vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\n export default {\n name: 'OD',\n data () {\n return {\n src: 'http://localhost:3001/d/qDDyJZ6Wz/od?orgId=1'\n }\n }\n }\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./od.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./od.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./od.vue?vue&type=template&id=d58442cc&scoped=true&\"\nimport script from \"./od.vue?vue&type=script&lang=js&\"\nexport * from \"./od.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d58442cc\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0d70a2.7ea12236.js View file @ fa297f2
  1 +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d70a2"],{"74b1":function(e,t,a){"use strict";a.r(t);var r=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("b-card-group",{attrs:{deck:""}},[a("mltd-card"),a("od-card")],1),a("b-card-group",{staticClass:"mt-3",attrs:{deck:""}},[a("ceptd-card")],1)],1)},n=[],s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("b-card",{attrs:{"bg-variant":"primary","text-variant":"white"},scopedSlots:e._u([{key:"header",fn:function(){return[a("b-row",[a("b-col",{staticClass:"text-left"},[a("h4",[e._v("MLTD")])]),a("b-col",{staticClass:"text-right"},[a("b-dropdown",{attrs:{size:"sm",variant:"primary","no-caret":"",right:""},scopedSlots:e._u([{key:"button-content",fn:function(){return[a("fa",{attrs:{icon:"cogs"}})]},proxy:!0}])},[a("b-dropdown-item",{on:{click:e.start}},[e._v(" Start new instance ")])],1)],1)],1)]},proxy:!0}])},[e.items.length>0?a("b-table",{attrs:{fields:e.fields,items:e.items,"thead-class":"text-white","tbody-class":"text-white"},scopedSlots:e._u([{key:"cell(created_at)",fn:function(t){return[a("running-for",{staticClass:"red",attrs:{date:new Date(t.item.created_at)},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.minutes)+" Minutes and "+e._s(t.seconds)+" Seconds ")]}}],null,!0)})]}},{key:"cell(actions)",fn:function(t){return[a("b-button",{attrs:{variant:"danger",size:"sm",title:"Stop"},on:{click:function(a){return a.stopPropagation(),e.stop(t.item.process_id)}}},[a("fa",{attrs:{icon:"stop"}})],1)]}}],null,!1,4095574679)}):e._e(),a("b-row",{attrs:{"align-h":"end"}},[a("b-form-group",{attrs:{"label-cols":"3","label-cols-lg":"3","label-size":"sm",label:"Top Events","label-for":"input-sm"}},[a("b-input-group",{attrs:{size:"sm"}},[a("b-form-input",{attrs:{type:"number"},model:{value:e.top,callback:function(t){e.top=t},expression:"top"}}),a("b-input-group-append",[a("b-button",{attrs:{variant:"info"},on:{click:e.train}},[e._v(" Get ")])],1)],1)],1)],1),e.topResults.length>0?a("b-row",[a("b-form-tags",{staticClass:"mb-2",attrs:{disabled:"",placeholder:""},model:{value:e.topResults,callback:function(t){e.topResults=t},expression:"topResults"}}),a("h6",[e._v("Timeframe: "+e._s(e.topTimeframe))])],1):e._e()],1)},o=[],i=(a("96cf"),a("1da1")),c=a("bc3a"),l=a.n(c),u=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",[e._t("default",[e._v(e._s(e.days)+" days "+e._s(e.hours)+" hours "+e._s(e.minutes)+" minutes "+e._s(e.seconds)+" seconds")],{days:e.days,hours:e.hours,minutes:e.minutes,seconds:e.seconds})],2)},d=[],p={name:"RunningFor",props:{date:{required:!0}},data:function(){return{interval:null,days:0,hours:0,minutes:0,seconds:0,intervals:{second:1e3,minute:6e4,hour:36e5,day:864e5}}},mounted:function(){var e=this;this.interval=setInterval((function(){e.updateDiffs()}),1e3),this.updateDiffs()},destroyed:function(){clearInterval(this.interval)},methods:{updateDiffs:function(){var e=Math.abs(Date.now()-this.date.getTime());this.days=Math.floor(e/this.intervals.day),e-=this.days*this.intervals.day,this.hours=Math.floor(e/this.intervals.hour),e-=this.hours*this.intervals.hour,this.minutes=Math.floor(e/this.intervals.minute),e-=this.minutes*this.intervals.minute,this.seconds=Math.floor(e/this.intervals.second)}}},f=p,h=a("2877"),m=Object(h["a"])(f,u,d,!1,null,"32d5ab49",null),v=m.exports,b={name:"MltdCard",components:{RunningFor:v},data:function(){return{top:10,topResults:[],topTimeframe:"",fields:[{key:"process_id",label:"Process"},{key:"created_at",label:"Running for"},{key:"actions",label:"Actions"}],items:[]}},created:function(){this.status()},methods:{start:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/mltd/start");case 3:e.status(),e.$toasted.success("MTLD instance started!"),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),e.$toasted.error("There was an error!");case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},status:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/mltd/status");case 3:a=t.sent,r=a.data,e.items=r,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),e.$toasted.error("There was an error while fetching running MLTD instances!");case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()},stop:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function a(){return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,l.a.get("/v1/mltd/stop/"+e);case 3:t.status(),t.$toasted.success("MTLD instance stopped!"),a.next=10;break;case 7:a.prev=7,a.t0=a["catch"](0),t.$toasted.error("There was an error!");case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()},train:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/mltd/1/"+e.top);case 3:a=t.sent,r=a.data,e.topResults=r.important_events,e.topTimeframe=r.timeframe,t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](0),e.$toasted.error("There was an error!");case 12:case"end":return t.stop()}}),t,null,[[0,9]])})))()}}},g=b,y=Object(h["a"])(g,s,o,!1,null,"16d34248",null),w=y.exports,x=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("b-card",{attrs:{"bg-variant":"success","text-variant":"white"},scopedSlots:e._u([{key:"header",fn:function(){return[a("b-row",[a("b-col",{staticClass:"text-left"},[a("h5",[e._v("OD")])]),a("b-col",{staticClass:"text-right"},[a("b-dropdown",{attrs:{size:"sm",variant:"success","no-caret":"",right:""},scopedSlots:e._u([{key:"button-content",fn:function(){return[a("fa",{attrs:{icon:"cogs"}})]},proxy:!0}])},[a("b-dropdown-item",{on:{click:e.start}},[e._v(" Start new instance ")])],1)],1)],1)]},proxy:!0}])},[e.items.length>0?a("b-table",{attrs:{fields:e.fields,items:e.items,"thead-class":"text-white","tbody-class":"text-white"},scopedSlots:e._u([{key:"cell(created_at)",fn:function(t){return[a("running-for",{staticClass:"red",attrs:{date:new Date(t.item.created_at)},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.minutes)+" Minutes and "+e._s(t.seconds)+" Seconds ")]}}],null,!0)})]}},{key:"cell(actions)",fn:function(t){return[a("b-button",{attrs:{variant:"secondary",size:"sm",title:"Analyze"},on:{click:function(a){return a.stopPropagation(),e.showPcapModal(t.item.process_id)}}},[a("fa",{attrs:{icon:"search"}})],1),a("b-button",{staticClass:"ml-2",attrs:{variant:"danger",size:"sm",title:"Stop"},on:{click:function(a){return a.stopPropagation(),e.stop(t.item.process_id)}}},[a("fa",{attrs:{icon:"stop"}})],1)]}}],null,!1,44482582)}):e._e(),a("b-modal",{ref:"pcap-modal",attrs:{title:"Upload PCAP","ok-title":"Upload","ok-variant":"primary","cancel-variant":"muted",size:"lg"},on:{ok:e.upload}},[a("b-form",{attrs:{autocomplete:"off"}},[a("b-form-file",{attrs:{state:Boolean(e.file),accept:".pcap",placeholder:"Choose a file or drop it here...","drop-placeholder":"Drop file here..."},model:{value:e.file,callback:function(t){e.file=t},expression:"file"}})],1)],1)],1)},k=[],_={name:"OdCard",components:{RunningFor:v},data:function(){return{file:null,fields:[{key:"process_id",label:"Process"},{key:"created_at",label:"Running for"},{key:"actions",label:"Actions"}],analyzePid:"",items:[]}},created:function(){this.status()},methods:{start:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/od/start");case 3:e.status(),e.$toasted.success("OD instance started!"),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),e.$toasted.error("There was an error!");case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},status:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/od/status");case 3:a=t.sent,r=a.data,e.items=r,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),e.$toasted.error("There was an error while fetching running OD instances!");case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()},showPcapModal:function(e){this.analyzePid=e,this.$refs["pcap-modal"].show()},stop:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function a(){return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,l.a.get("/v1/od/stop/"+e);case 3:t.status(),t.$toasted.success("OD instance stopped!"),a.next=10;break;case 7:a.prev=7,a.t0=a["catch"](0),t.$toasted.error("There was an error!");case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()},upload:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return a=new FormData,a.append("file",e.file),t.next=4,l.a.post("/v1/od/analyze/"+e.analyzePid,a,{headers:{"Content-Type":"multipart/form-data"}}).then((function(){e.file=null,e.analyzePid="",e.$toasted.success("PCAP uploaded successfully!")})).catch((function(){e.$toasted.error("There was an error while uploading the PCAP file!")}));case 4:case"end":return t.stop()}}),t)})))()}}},j=_,C=Object(h["a"])(j,x,k,!1,null,"7cd71a66",null),S=C.exports,R=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("b-card",{attrs:{"bg-variant":"light"},scopedSlots:e._u([{key:"header",fn:function(){return[a("b-row",[a("b-col",{staticClass:"text-left"},[a("h5",[e._v("CEPTD")])]),a("b-col",{staticClass:"text-right"},[a("b-card-text",[e._v("Status: Running")])],1)],1)]},proxy:!0}])},[a("capec-list")],1)},O=[],P=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("data-table",{ref:"datatable",attrs:{"search-route":"capec"},on:{"context-changed":e.onContextChanged}},[a("b-table",{ref:"table",attrs:{stacked:"md",fields:e.fields,items:e.dataLoadProvider,busy:e.isBusy,"empty-text":"No records found"},on:{"update:busy":function(t){e.isBusy=t}},scopedSlots:e._u([{key:"cell(_source.timestamp)",fn:function(t){return[e._v(" "+e._s(e.formatDate(t.item._source.timestamp))+" ")]}},{key:"cell(actions)",fn:function(e){return[a("b-button",{staticClass:"mr-2",attrs:{variant:"info",title:"Paths"},on:{click:function(t){return t.stopPropagation(),e.toggleDetails(t)}}},[a("fa",{attrs:{icon:e.detailsShowing?"arrow-up":"arrow-down"}})],1)]}},{key:"row-details",fn:function(t){return[t.item._source.tree?a("div",[a("json-view",{attrs:{"root-key":t.item._source.cve,data:t.item._source.tree}})],1):e._e()]}}])})],1)],1)},D=[];a("d3b7"),a("25f0");var $=function(){return $=Object.assign||function(e){for(var t,a=1,r=arguments.length;a<r;a++)for(var n in t=arguments[a],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},$.apply(this,arguments)};var T=a("2b0e");function A(e){return A="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},A(e)}var z=T["default"].extend({name:"json-view-item",data:function(){return{open:this.data.depth<this.maxDepth}},props:{data:{required:!0,type:Object},maxDepth:{type:Number,required:!1,default:1},canSelect:{type:Boolean,required:!1,default:!1}},methods:{toggleOpen:function(){this.open=!this.open},clickEvent:function(e){this.$emit("selected",{key:e.key,value:e.value,path:e.path})},bubbleSelected:function(e){this.$emit("selected",e)},getKey:function(e){return isNaN(e.key)?'"'+e.key+'":':e.key+":"},getValueStyle:function(e){var t=A(e);switch(t){case"string":return{color:"var(--vjc-string-color)"};case"number":return{color:"var(--vjc-number-color)"};case"boolean":return{color:"var(--vjc-boolean-color)"};case"object":return{color:"var(--vjc-null-color)"};case"undefined":return{color:"var(--vjc-null-color)"};default:return{color:"var(--vjc-valueKey-color)"}}}},computed:{classes:function(){return{"chevron-arrow":!0,opened:this.open}},valueClasses:function(){return{"value-key":!0,"can-select":this.canSelect}},lengthString:function(){return"array"===this.data.type?1===this.data.length?this.data.length+" element":this.data.length+" elements":1===this.data.length?this.data.length+" property":this.data.length+" properties"},dataValue:function(){return"undefined"===typeof this.data.value?"undefined":JSON.stringify(this.data.value)}}}),E=z,M=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"json-view-item"},["object"===e.data.type||"array"===e.data.type?a("div",[a("button",{staticClass:"data-key",attrs:{"aria-expanded":e.open?"true":"false"},on:{click:function(t){return t.stopPropagation(),e.toggleOpen(t)}}},[a("div",{class:e.classes}),e._v("\n "+e._s(e.data.key)+":\n "),a("span",{staticClass:"properties"},[e._v(e._s(e.lengthString))])]),e._v(" "),e._l(e.data.children,(function(t){return a("json-view-item",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],key:e.getKey(t),attrs:{data:t,maxDepth:e.maxDepth,canSelect:e.canSelect},on:{selected:e.bubbleSelected}})}))],2):e._e(),e._v(" "),"value"===e.data.type?a("div",{class:e.valueClasses,attrs:{role:e.canSelect?"button":void 0,tabindex:e.canSelect?"0":void 0},on:{click:function(t){return e.clickEvent(e.data)},keyup:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.clickEvent(e.data)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:e.clickEvent(e.data)}]}},[a("span",{staticClass:"value-key"},[e._v(e._s(e.data.key)+":")]),e._v(" "),a("span",{style:e.getValueStyle(e.data.value)},[e._v("\n "+e._s(e.dataValue)+"\n ")])]):e._e()])},N=[],B=function(e){e&&e("data-v-c45632d2_0",{source:".json-view-item[data-v-c45632d2]:not(.root-item){margin-left:15px}.value-key[data-v-c45632d2]{color:var(--vjc-valueKey-color);font-weight:600;margin-left:10px;border-radius:2px;white-space:nowrap;padding:5px 5px 5px 10px}.value-key.can-select[data-v-c45632d2]{cursor:pointer}.value-key.can-select[data-v-c45632d2]:hover{background-color:rgba(0,0,0,.08)}.value-key.can-select[data-v-c45632d2]:focus{outline:2px solid var(--vjc-hover-color)}.data-key[data-v-c45632d2]{font-size:100%;font-family:inherit;border:0;padding:0;background-color:transparent;width:100%;color:var(--vjc-key-color);display:flex;align-items:center;border-radius:2px;font-weight:600;cursor:pointer;white-space:nowrap;padding:5px}.data-key[data-v-c45632d2]:hover{background-color:var(--vjc-hover-color)}.data-key[data-v-c45632d2]:focus{outline:2px solid var(--vjc-hover-color)}.data-key[data-v-c45632d2]::-moz-focus-inner{border:0}.data-key .properties[data-v-c45632d2]{font-weight:300;opacity:.9;margin-left:4px;user-select:none}.chevron-arrow[data-v-c45632d2]{flex-shrink:0;border-right:4px solid var(--vjc-arrow-color);border-bottom:4px solid var(--vjc-arrow-color);width:var(--vjc-arrow-size);height:var(--vjc-arrow-size);margin-right:20px;margin-left:5px;transform:rotate(-45deg)}.chevron-arrow.opened[data-v-c45632d2]{margin-top:-3px;transform:rotate(45deg)}",map:void 0,media:void 0})},L="data-v-c45632d2",q=void 0,F=!1;function I(e,t,a,r,n,s,o,i){var c,l=("function"===typeof a?a.options:a)||{};if(l.__file="JSONViewItem.vue",l.render||(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,n&&(l.functional=!0)),l._scopeId=r,t&&(c=function(e){t.call(this,o(e))}),void 0!==c)if(l.functional){var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return l}function K(){var e=document.head||document.getElementsByTagName("head")[0],t=K.styles||(K.styles={}),a="undefined"!==typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,n){if(!document.querySelector('style[data-vue-ssr-id~="'+r+'"]')){var s=a?n.media||"default":r,o=t[s]||(t[s]={ids:[],parts:[],element:void 0});if(!o.ids.includes(r)){var i=n.source,c=o.ids.length;if(o.ids.push(r),n.map&&(i+="\n/*# sourceURL="+n.map.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n.map))))+" */"),a&&(o.element=o.element||document.querySelector("style[data-group="+s+"]")),!o.element){var l=o.element=document.createElement("style");l.type="text/css",n.media&&l.setAttribute("media",n.media),a&&(l.setAttribute("data-group",s),l.setAttribute("data-next-index","0")),e.appendChild(l)}if(a&&(c=parseInt(o.element.getAttribute("data-next-index")),o.element.setAttribute("data-next-index",c+1)),o.element.styleSheet)o.parts.push(i),o.element.styleSheet.cssText=o.parts.filter(Boolean).join("\n");else{var u=document.createTextNode(i),d=o.element.childNodes;d[c]&&o.element.removeChild(d[c]),d.length?o.element.insertBefore(u,d[c]):o.element.appendChild(u)}}}}}var U=I({render:M,staticRenderFns:N},B,E,L,F,q,K,void 0),J=(window.matchMedia("(prefers-color-scheme: dark)").matches,T["default"].extend({name:"json-view",props:{data:{required:!0},rootKey:{type:String,required:!1,default:"root"},maxDepth:{type:Number,required:!1,default:1},colorScheme:{type:String,required:!1,default:"light"}},components:{"json-view-item":U},methods:{build:function(e,t,a,r,n){if(this.isObject(t)){for(var s=[],o=0,i=Object.entries(t);o<i.length;o++){var c=i[o],l=c[0],u=c[1];s.push(this.build(l,u,a+1,n?""+r+e+".":""+r,!0))}return{key:e,type:"object",depth:a,path:r,length:s.length,children:s}}if(this.isArray(t)){s=[];for(var d=0;d<t.length;d++)s.push(this.build(d.toString(),t[d],a+1,n?""+r+e+"["+d+"].":""+r,!1));return{key:e,type:"array",depth:a,path:r,length:s.length,children:s}}return{key:e,type:"value",path:n?r+e:r.slice(0,-1),depth:a,value:t}},isObject:function(e){return"object"===A(e)&&null!==e&&!this.isArray(e)},isArray:function(e){return Array.isArray(e)},itemSelected:function(e){this.$emit("selected",e)}},computed:{parsed:function(){return"object"===A(this.data)?this.build(this.rootKey,$({},this.data),0,"",!0):{key:this.rootKey,type:"value",path:"",depth:0,value:this.data}},hasSelectedListener:function(){return Boolean(this.$listeners&&this.$listeners.selected)}}})),V=J,G=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("json-view-item",{class:[{"root-item":!0,dark:"dark"===e.colorScheme}],attrs:{data:e.parsed,maxDepth:e.maxDepth,canSelect:e.hasSelectedListener},on:{selected:e.itemSelected}})},Q=[],H=function(e){e&&e("data-v-1c053202_0",{source:".root-item[data-v-1c053202]{--vjc-key-color:#0977e6;--vjc-valueKey-color:#073642;--vjc-string-color:#268bd2;--vjc-number-color:#2aa198;--vjc-boolean-color:#cb4b16;--vjc-null-color:#6c71c4;--vjc-arrow-size:6px;--vjc-arrow-color:#444;--vjc-hover-color:rgba(0, 0, 0, 0.2);margin-left:0;width:100%;height:auto}.root-item.dark[data-v-1c053202]{--vjc-key-color:#80d8ff;--vjc-valueKey-color:#fdf6e3;--vjc-hover-color:rgba(255, 255, 255, 0.2);--vjc-arrow-color:#fdf6e3}",map:void 0,media:void 0})},W="data-v-1c053202",X=void 0,Y=!1;function Z(e,t,a,r,n,s,o,i){var c,l=("function"===typeof a?a.options:a)||{};if(l.__file="JSONView.vue",l.render||(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,n&&(l.functional=!0)),l._scopeId=r,t&&(c=function(e){t.call(this,o(e))}),void 0!==c)if(l.functional){var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return l}function ee(){var e=document.head||document.getElementsByTagName("head")[0],t=ee.styles||(ee.styles={}),a="undefined"!==typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,n){if(!document.querySelector('style[data-vue-ssr-id~="'+r+'"]')){var s=a?n.media||"default":r,o=t[s]||(t[s]={ids:[],parts:[],element:void 0});if(!o.ids.includes(r)){var i=n.source,c=o.ids.length;if(o.ids.push(r),n.map&&(i+="\n/*# sourceURL="+n.map.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n.map))))+" */"),a&&(o.element=o.element||document.querySelector("style[data-group="+s+"]")),!o.element){var l=o.element=document.createElement("style");l.type="text/css",n.media&&l.setAttribute("media",n.media),a&&(l.setAttribute("data-group",s),l.setAttribute("data-next-index","0")),e.appendChild(l)}if(a&&(c=parseInt(o.element.getAttribute("data-next-index")),o.element.setAttribute("data-next-index",c+1)),o.element.styleSheet)o.parts.push(i),o.element.styleSheet.cssText=o.parts.filter(Boolean).join("\n");else{var u=document.createTextNode(i),d=o.element.childNodes;d[c]&&o.element.removeChild(d[c]),d.length?o.element.insertBefore(u,d[c]):o.element.appendChild(u)}}}}}var te=Z({render:G,staticRenderFns:Q},H,V,W,Y,X,ee,void 0),ae=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"table-container"},[a("b-row",[e.lengthChange?a("b-col",{staticClass:"mb-3",attrs:{md:"4"}},[a("b-form",{attrs:{inline:""}},[a("label",{staticClass:"mr-2"},[e._v("Show")]),a("b-form-select",{staticClass:"mr-2",attrs:{options:e.pageOptions},on:{input:e.onContextChanged},model:{value:e.perPage,callback:function(t){e.perPage=t},expression:"perPage"}}),a("label",[e._v("entries per page")])],1)],1):e._e()],1),e._t("default"),a("b-row",[a("b-col",{staticClass:"mx-auto",attrs:{md:"4"}},[e.paging&&e.totalRows>e.perPage?a("b-pagination",{staticClass:"justify-content-center",attrs:{"total-rows":e.totalRows,"per-page":e.perPage},on:{input:e.onContextChanged},model:{value:e.currentPage,callback:function(t){e.currentPage=t},expression:"currentPage"}}):e._e()],1)],1)],2)},re=[],ne=(a("b64b"),{name:"Datatable",props:{lengthChange:{type:Boolean,default:!0},paging:{type:Boolean,default:!0},infos:{type:Boolean,default:!0},searchRoute:{type:String,default:null}},data:function(){return{currentPage:1,perPage:10,totalRows:0,pageOptions:[5,10,15,25,50],searchQuery:null,selected:[],action:null}},mounted:function(){this.actions&&(this.action=Object.keys(this.actions)[0])},methods:{onContextChanged:function(){this.$emit("context-changed")},loadData:function(e,t){var a=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){var n,s;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,l.a.get(a.searchRoute,{params:{page:a.currentPage,perPage:a.perPage,column:e,direction:t?"desc":"asc"}});case 3:return n=r.sent,s=n.data,a.totalRows=s.total,r.abrupt("return",s.data);case 9:return r.prev=9,r.t0=r["catch"](0),console.error(r.t0),r.abrupt("return",[]);case 13:case"end":return r.stop()}}),r,null,[[0,9]])})))()}}}),se=ne,oe=Object(h["a"])(se,ae,re,!1,null,null,null),ie=oe.exports,ce={name:"CapecList",components:{DataTable:ie,"json-view":te},data:function(){return{isBusy:!1,fields:[{key:"_source.timestamp",label:"Timestamp"},{key:"_source.signature_id",label:"Signature ID"},{key:"_source.signature",label:"Signature"},{key:"_source.category",label:"Category"},{key:"_source.cve",label:"CVE"},{key:"actions",label:"Actions"}]}},methods:{dataLoadProvider:function(e){return this.$refs.datatable.loadData(e.sortBy,e.sortDesc)},onContextChanged:function(){return this.$refs.table.refresh()},formatDate:function(e){var t=new Date(e).toString();return t.substring(0,t.length-40)}}},le=ce,ue=Object(h["a"])(le,P,D,!1,null,"61b282af",null),de=ue.exports,pe={name:"CeptdCard",components:{CapecList:de},data:function(){return{file:null,fields:[{key:"process_id",label:"Process"},{key:"created_at",label:"Running for"},{key:"actions",label:"Actions"}],analyzePid:"",items:[]}},created:function(){this.status()},methods:{start:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/od/start");case 3:e.status(),e.$toasted.success("OD instance started!"),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),e.$toasted.error("There was an error!");case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},status:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/od/status");case 3:a=t.sent,r=a.data,e.items=r,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),e.$toasted.error("There was an error while fetching running OD instances!");case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()},showPcapModal:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function a(){return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:t.analyzePid=e,t.$refs["pcap-modal"].show();case 2:case"end":return a.stop()}}),a)})))()},stop:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function a(){return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,l.a.get("/v1/od/stop/"+e);case 3:t.status(),t.$toasted.success("OD instance stopped!"),a.next=10;break;case 7:a.prev=7,a.t0=a["catch"](0),t.$toasted.error("There was an error!");case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()}}},fe=pe,he=Object(h["a"])(fe,R,O,!1,null,"b161a638",null),me=he.exports,ve={name:"Dashboard",components:{OdCard:S,MltdCard:w,CeptdCard:me}},be=ve,ge=Object(h["a"])(be,r,n,!1,null,"47d79d9c",null);t["default"]=ge.exports}}]);
  2 +//# sourceMappingURL=chunk-2d0d70a2.7ea12236.js.map
api/public/js/chunk-2d0d70a2.7ea12236.js.map View file @ fa297f2
  1 +{"version":3,"sources":["webpack:///./src/pages/panel/dashboard.vue?541d","webpack:///./src/components/MltdCard.vue?747e","webpack:///./src/components/RunningFor.vue?80f5","webpack:///src/components/RunningFor.vue","webpack:///./src/components/RunningFor.vue?01ac","webpack:///./src/components/RunningFor.vue","webpack:///src/components/MltdCard.vue","webpack:///./src/components/MltdCard.vue?c331","webpack:///./src/components/MltdCard.vue","webpack:///./src/components/OdCard.vue?ddfd","webpack:///src/components/OdCard.vue","webpack:///./src/components/OdCard.vue?a50d","webpack:///./src/components/OdCard.vue","webpack:///./src/components/CeptdCard.vue?d7f9","webpack:///./src/components/CapecList.vue?a7bf","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/vue-json-component/dist/index.module.js","webpack:///./src/components/DataTable.vue?198d","webpack:///src/components/DataTable.vue","webpack:///./src/components/DataTable.vue?b009","webpack:///./src/components/DataTable.vue","webpack:///src/components/CapecList.vue","webpack:///./src/components/CapecList.vue?5dc0","webpack:///./src/components/CapecList.vue","webpack:///src/components/CeptdCard.vue","webpack:///./src/components/CeptdCard.vue?0055","webpack:///./src/components/CeptdCard.vue","webpack:///src/pages/panel/dashboard.vue","webpack:///./src/pages/panel/dashboard.vue?a4cc","webpack:///./src/pages/panel/dashboard.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","staticRenderFns","scopedSlots","_u","key","fn","_v","proxy","on","start","items","length","fields","row","Date","item","created_at","int","_s","minutes","seconds","$event","stopPropagation","stop","process_id","_e","model","value","callback","$$v","top","expression","train","topResults","topTimeframe","_t","days","hours","name","props","date","required","data","interval","intervals","second","minute","hour","day","mounted","setInterval","updateDiffs","destroyed","clearInterval","methods","Math","floor","diff","component","components","RunningFor","created","status","showPcapModal","ref","upload","Boolean","file","analyzePid","pid","$refs","show","onContextChanged","dataLoadProvider","isBusy","formatDate","_source","timestamp","toggleDetails","detailsShowing","cve","tree","__assign","Object","assign","t","s","i","n","arguments","p","prototype","hasOwnProperty","call","apply","_typeof","obj","Symbol","iterator","constructor","script","extend","open","depth","maxDepth","type","Number","default","canSelect","toggleOpen","clickEvent","$emit","path","bubbleSelected","getKey","isNaN","getValueStyle","color","computed","classes","opened","valueClasses","lengthString","dataValue","JSON","stringify","__vue_script__","__vue_render__","class","_l","children","child","directives","rawName","undefined","indexOf","_k","keyCode","style","__vue_staticRenderFns__","__vue_inject_styles__","inject","source","map","media","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_normalize__","template","scope","functional","moduleIdentifier","createInjector","createInjectorSSR","hook","options","__file","_compiled","_scopeId","context","originalRender","h","existing","beforeCreate","concat","__vue_create_injector__","head","document","getElementsByTagName","styles","isOldIE","navigator","test","userAgent","toLowerCase","id","css","querySelector","group","ids","parts","element","includes","code","index","push","sources","btoa","unescape","encodeURIComponent","el","createElement","setAttribute","appendChild","parseInt","getAttribute","styleSheet","cssText","filter","join","textNode","createTextNode","nodes","childNodes","removeChild","insertBefore","JSONViewItem","script$1","window","matchMedia","matches","rootKey","String","colorScheme","build","val","includeKey","isObject","_i","_a","entries","_b","childKey","childValue","isArray","toString","slice","Array","itemSelected","parsed","hasSelectedListener","$listeners","selected","__vue_script__$1","__vue_render__$1","dark","__vue_staticRenderFns__$1","__vue_inject_styles__$1","__vue_scope_id__$1","__vue_module_identifier__$1","__vue_is_functional_template__$1","__vue_normalize__$1","__vue_create_injector__$1","JSONView","pageOptions","perPage","paging","totalRows","currentPage","lengthChange","infos","searchRoute","searchQuery","action","actions","keys","DataTable","datatable","loadData","ctx","sortBy","sortDesc","table","refresh","tmp","substring","CapecList","OdCard","MltdCard","CeptdCard"],"mappings":"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","file":"js/chunk-2d0d70a2.7ea12236.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card-group',{attrs:{\"deck\":\"\"}},[_c('mltd-card'),_c('od-card')],1),_c('b-card-group',{staticClass:\"mt-3\",attrs:{\"deck\":\"\"}},[_c('ceptd-card')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"bg-variant\":\"primary\",\"text-variant\":\"white\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('b-row',[_c('b-col',{staticClass:\"text-left\"},[_c('h4',[_vm._v(\"MLTD\")])]),_c('b-col',{staticClass:\"text-right\"},[_c('b-dropdown',{attrs:{\"size\":\"sm\",\"variant\":\"primary\",\"no-caret\":\"\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('fa',{attrs:{\"icon\":\"cogs\"}})]},proxy:true}])},[_c('b-dropdown-item',{on:{\"click\":_vm.start}},[_vm._v(\" Start new instance \")])],1)],1)],1)]},proxy:true}])},[(_vm.items.length > 0)?_c('b-table',{attrs:{\"fields\":_vm.fields,\"items\":_vm.items,\"thead-class\":\"text-white\",\"tbody-class\":\"text-white\"},scopedSlots:_vm._u([{key:\"cell(created_at)\",fn:function(row){return [_c('running-for',{staticClass:\"red\",attrs:{\"date\":new Date(row.item.created_at)},scopedSlots:_vm._u([{key:\"default\",fn:function(int){return [_vm._v(\" \"+_vm._s(int.minutes)+\" Minutes and \"+_vm._s(int.seconds)+\" Seconds \")]}}],null,true)})]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-button',{attrs:{\"variant\":\"danger\",\"size\":\"sm\",\"title\":\"Stop\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.stop(row.item.process_id)}}},[_c('fa',{attrs:{\"icon\":\"stop\"}})],1)]}}],null,false,4095574679)}):_vm._e(),_c('b-row',{attrs:{\"align-h\":\"end\"}},[_c('b-form-group',{attrs:{\"label-cols\":\"3\",\"label-cols-lg\":\"3\",\"label-size\":\"sm\",\"label\":\"Top Events\",\"label-for\":\"input-sm\"}},[_c('b-input-group',{attrs:{\"size\":\"sm\"}},[_c('b-form-input',{attrs:{\"type\":\"number\"},model:{value:(_vm.top),callback:function ($$v) {_vm.top=$$v},expression:\"top\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"info\"},on:{\"click\":_vm.train}},[_vm._v(\" Get \")])],1)],1)],1)],1),(_vm.topResults.length > 0)?_c('b-row',[_c('b-form-tags',{staticClass:\"mb-2\",attrs:{\"disabled\":\"\",\"placeholder\":\"\"},model:{value:(_vm.topResults),callback:function ($$v) {_vm.topResults=$$v},expression:\"topResults\"}}),_c('h6',[_vm._v(\"Timeframe: \"+_vm._s(_vm.topTimeframe))])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._t(\"default\",[_vm._v(_vm._s(_vm.days)+\" days \"+_vm._s(_vm.hours)+\" hours \"+_vm._s(_vm.minutes)+\" minutes \"+_vm._s(_vm.seconds)+\" seconds\")],{\"days\":_vm.days,\"hours\":_vm.hours,\"minutes\":_vm.minutes,\"seconds\":_vm.seconds})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span>\n <slot :days=\"days\" :hours=\"hours\" :minutes=\"minutes\" :seconds=\"seconds\">{{ days }} days {{ hours }} hours {{ minutes }} minutes {{ seconds }} seconds</slot>\n </span>\n</template>\n\n<script>\nexport default {\n name: 'RunningFor',\n props: {\n date: {\n required: true\n }\n },\n data () {\n return {\n interval: null,\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n intervals: {\n second: 1000,\n minute: 1000 * 60,\n hour: 1000 * 60 * 60,\n day: 1000 * 60 * 60 * 24\n }\n }\n },\n mounted () {\n this.interval = setInterval(() => {\n this.updateDiffs()\n }, 1000)\n\n this.updateDiffs()\n },\n destroyed () {\n clearInterval(this.interval)\n },\n methods: {\n updateDiffs () {\n // lets figure out our diffs\n let diff = Math.abs(Date.now() - this.date.getTime())\n this.days = Math.floor(diff / this.intervals.day)\n diff -= this.days * this.intervals.day\n this.hours = Math.floor(diff / this.intervals.hour)\n diff -= this.hours * this.intervals.hour\n this.minutes = Math.floor(diff / this.intervals.minute)\n diff -= this.minutes * this.intervals.minute\n this.seconds = Math.floor(diff / this.intervals.second)\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RunningFor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RunningFor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RunningFor.vue?vue&type=template&id=32d5ab49&scoped=true&\"\nimport script from \"./RunningFor.vue?vue&type=script&lang=js&\"\nexport * from \"./RunningFor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32d5ab49\",\n null\n \n)\n\nexport default component.exports","<template>\n <b-card bg-variant=\"primary\" text-variant=\"white\">\n <template v-slot:header>\n <b-row>\n <b-col class=\"text-left\">\n <h4>MLTD</h4>\n </b-col>\n <b-col class=\"text-right\">\n <b-dropdown size=\"sm\" variant=\"primary\" no-caret right>\n <template v-slot:button-content>\n <fa icon=\"cogs\" />\n </template>\n <b-dropdown-item @click=\"start\">\n Start new instance\n </b-dropdown-item>\n </b-dropdown>\n </b-col>\n </b-row>\n </template>\n <b-table v-if=\"items.length > 0\" :fields=\"fields\" :items=\"items\" thead-class=\"text-white\" tbody-class=\"text-white\">\n <template v-slot:cell(created_at)=\"row\">\n <running-for :date=\"new Date(row.item.created_at)\" class=\"red\">\n <template slot-scope=\"int\">\n {{ int.minutes }} Minutes and {{ int.seconds }} Seconds\n </template>\n </running-for>\n </template>\n <template v-slot:cell(actions)=\"row\">\n <b-button variant=\"danger\"\n size=\"sm\"\n title=\"Stop\"\n @click.stop=\"stop(row.item.process_id)\"\n >\n <fa icon=\"stop\" />\n </b-button>\n </template>\n </b-table>\n <b-row align-h=\"end\">\n <b-form-group label-cols=\"3\" label-cols-lg=\"3\" label-size=\"sm\" label=\"Top Events\" label-for=\"input-sm\">\n <b-input-group size=\"sm\">\n <b-form-input v-model=\"top\" type=\"number\" />\n <b-input-group-append>\n <b-button variant=\"info\" @click=\"train\">\n Get\n </b-button>\n </b-input-group-append>\n </b-input-group>\n </b-form-group>\n </b-row>\n <b-row v-if=\"topResults.length > 0\">\n <b-form-tags v-model=\"topResults\" class=\"mb-2\" disabled placeholder=\"\"></b-form-tags>\n <h6>Timeframe: {{ topTimeframe }}</h6>\n </b-row>\n </b-card>\n</template>\n\n<script>\nimport axios from 'axios'\nimport RunningFor from './RunningFor'\n\nexport default {\n name: 'MltdCard',\n components: {\n RunningFor\n },\n data () {\n return {\n top: 10,\n topResults: [],\n topTimeframe: '',\n fields: [\n { key: 'process_id', label: 'Process' },\n { key: 'created_at', label: 'Running for' },\n { key: 'actions', label: 'Actions' }\n ],\n items: []\n }\n },\n created () {\n this.status()\n },\n methods: {\n async start () {\n try {\n await axios.get('/v1/mltd/start')\n this.status()\n this.$toasted.success('MTLD instance started!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async status () {\n try {\n const { data } = await axios.get('/v1/mltd/status')\n this.items = data\n } catch (e) {\n this.$toasted.error('There was an error while fetching running MLTD instances!')\n }\n },\n async stop (pid) {\n try {\n await axios.get('/v1/mltd/stop/' + pid)\n this.status()\n this.$toasted.success('MTLD instance stopped!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async train () {\n try {\n const { data } = await axios.get('/v1/mltd/1/' + this.top)\n this.topResults = data.important_events\n this.topTimeframe = data.timeframe\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MltdCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MltdCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MltdCard.vue?vue&type=template&id=16d34248&scoped=true&\"\nimport script from \"./MltdCard.vue?vue&type=script&lang=js&\"\nexport * from \"./MltdCard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"16d34248\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"bg-variant\":\"success\",\"text-variant\":\"white\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('b-row',[_c('b-col',{staticClass:\"text-left\"},[_c('h5',[_vm._v(\"OD\")])]),_c('b-col',{staticClass:\"text-right\"},[_c('b-dropdown',{attrs:{\"size\":\"sm\",\"variant\":\"success\",\"no-caret\":\"\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('fa',{attrs:{\"icon\":\"cogs\"}})]},proxy:true}])},[_c('b-dropdown-item',{on:{\"click\":_vm.start}},[_vm._v(\" Start new instance \")])],1)],1)],1)]},proxy:true}])},[(_vm.items.length > 0)?_c('b-table',{attrs:{\"fields\":_vm.fields,\"items\":_vm.items,\"thead-class\":\"text-white\",\"tbody-class\":\"text-white\"},scopedSlots:_vm._u([{key:\"cell(created_at)\",fn:function(row){return [_c('running-for',{staticClass:\"red\",attrs:{\"date\":new Date(row.item.created_at)},scopedSlots:_vm._u([{key:\"default\",fn:function(int){return [_vm._v(\" \"+_vm._s(int.minutes)+\" Minutes and \"+_vm._s(int.seconds)+\" Seconds \")]}}],null,true)})]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-button',{attrs:{\"variant\":\"secondary\",\"size\":\"sm\",\"title\":\"Analyze\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showPcapModal(row.item.process_id)}}},[_c('fa',{attrs:{\"icon\":\"search\"}})],1),_c('b-button',{staticClass:\"ml-2\",attrs:{\"variant\":\"danger\",\"size\":\"sm\",\"title\":\"Stop\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.stop(row.item.process_id)}}},[_c('fa',{attrs:{\"icon\":\"stop\"}})],1)]}}],null,false,44482582)}):_vm._e(),_c('b-modal',{ref:\"pcap-modal\",attrs:{\"title\":\"Upload PCAP\",\"ok-title\":\"Upload\",\"ok-variant\":\"primary\",\"cancel-variant\":\"muted\",\"size\":\"lg\"},on:{\"ok\":_vm.upload}},[_c('b-form',{attrs:{\"autocomplete\":\"off\"}},[_c('b-form-file',{attrs:{\"state\":Boolean(_vm.file),\"accept\":\".pcap\",\"placeholder\":\"Choose a file or drop it here...\",\"drop-placeholder\":\"Drop file here...\"},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-card bg-variant=\"success\" text-variant=\"white\">\n <template v-slot:header>\n <b-row>\n <b-col class=\"text-left\">\n <h5>OD</h5>\n </b-col>\n <b-col class=\"text-right\">\n <b-dropdown size=\"sm\" variant=\"success\" no-caret right>\n <template v-slot:button-content>\n <fa icon=\"cogs\" />\n </template>\n <b-dropdown-item @click=\"start\">\n Start new instance\n </b-dropdown-item>\n </b-dropdown>\n </b-col>\n </b-row>\n </template>\n <b-table v-if=\"items.length > 0\" :fields=\"fields\" :items=\"items\" thead-class=\"text-white\" tbody-class=\"text-white\">\n <template v-slot:cell(created_at)=\"row\">\n <running-for :date=\"new Date(row.item.created_at)\" class=\"red\">\n <template slot-scope=\"int\">\n {{ int.minutes }} Minutes and {{ int.seconds }} Seconds\n </template>\n </running-for>\n </template>\n <template v-slot:cell(actions)=\"row\">\n <b-button variant=\"secondary\"\n size=\"sm\"\n title=\"Analyze\"\n @click.stop=\"showPcapModal(row.item.process_id)\"\n >\n <fa icon=\"search\" />\n </b-button>\n <b-button variant=\"danger\"\n size=\"sm\"\n class=\"ml-2\"\n title=\"Stop\"\n @click.stop=\"stop(row.item.process_id)\"\n >\n <fa icon=\"stop\" />\n </b-button>\n </template>\n </b-table>\n <b-modal\n ref=\"pcap-modal\"\n title=\"Upload PCAP\"\n ok-title=\"Upload\"\n ok-variant=\"primary\"\n cancel-variant=\"muted\"\n size=\"lg\"\n @ok=\"upload\"\n >\n <b-form autocomplete=\"off\">\n <b-form-file\n v-model=\"file\"\n :state=\"Boolean(file)\"\n accept=\".pcap\"\n placeholder=\"Choose a file or drop it here...\"\n drop-placeholder=\"Drop file here...\"\n ></b-form-file>\n </b-form>\n </b-modal>\n </b-card>\n</template>\n\n<script>\nimport axios from 'axios'\nimport RunningFor from './RunningFor'\n\nexport default {\n name: 'OdCard',\n components: {\n RunningFor\n },\n data () {\n return {\n file: null,\n fields: [\n { key: 'process_id', label: 'Process' },\n { key: 'created_at', label: 'Running for' },\n { key: 'actions', label: 'Actions' }\n ],\n analyzePid: '',\n items: []\n }\n },\n created () {\n this.status()\n },\n methods: {\n async start () {\n try {\n await axios.get('/v1/od/start')\n this.status()\n this.$toasted.success('OD instance started!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async status () {\n try {\n const { data } = await axios.get('/v1/od/status')\n this.items = data\n } catch (e) {\n this.$toasted.error('There was an error while fetching running OD instances!')\n }\n },\n showPcapModal (pid) {\n this.analyzePid = pid\n this.$refs['pcap-modal'].show()\n },\n async stop (pid) {\n try {\n await axios.get('/v1/od/stop/' + pid)\n this.status()\n this.$toasted.success('OD instance stopped!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async upload () {\n const formData = new FormData()\n formData.append('file', this.file)\n await axios.post('/v1/od/analyze/' + this.analyzePid,\n formData,\n {\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n }\n ).then(() => {\n this.file = null\n this.analyzePid = ''\n this.$toasted.success('PCAP uploaded successfully!')\n })\n .catch(() => {\n this.$toasted.error('There was an error while uploading the PCAP file!')\n })\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OdCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OdCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OdCard.vue?vue&type=template&id=7cd71a66&scoped=true&\"\nimport script from \"./OdCard.vue?vue&type=script&lang=js&\"\nexport * from \"./OdCard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7cd71a66\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"bg-variant\":\"light\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('b-row',[_c('b-col',{staticClass:\"text-left\"},[_c('h5',[_vm._v(\"CEPTD\")])]),_c('b-col',{staticClass:\"text-right\"},[_c('b-card-text',[_vm._v(\"Status: Running\")])],1)],1)]},proxy:true}])},[_c('capec-list')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('data-table',{ref:\"datatable\",attrs:{\"search-route\":\"capec\"},on:{\"context-changed\":_vm.onContextChanged}},[_c('b-table',{ref:\"table\",attrs:{\"stacked\":\"md\",\"fields\":_vm.fields,\"items\":_vm.dataLoadProvider,\"busy\":_vm.isBusy,\"empty-text\":\"No records found\"},on:{\"update:busy\":function($event){_vm.isBusy=$event}},scopedSlots:_vm._u([{key:\"cell(_source.timestamp)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.formatDate(row.item._source.timestamp))+\" \")]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-button',{staticClass:\"mr-2\",attrs:{\"variant\":\"info\",\"title\":\"Paths\"},on:{\"click\":function($event){$event.stopPropagation();return row.toggleDetails($event)}}},[_c('fa',{attrs:{\"icon\":row.detailsShowing ? 'arrow-up' : 'arrow-down'}})],1)]}},{key:\"row-details\",fn:function(row){return [(row.item._source.tree)?_c('div',[_c('json-view',{attrs:{\"root-key\":row.item._source.cve,\"data\":row.item._source.tree}})],1):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __assign } from 'tslib';\nimport Vue from 'vue';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar script = Vue.extend({\n name: 'json-view-item',\n data: function data() {\n return {\n open: this.data.depth < this.maxDepth\n };\n },\n props: {\n data: {\n required: true,\n type: Object\n },\n maxDepth: {\n type: Number,\n required: false,\n default: 1\n },\n canSelect: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n methods: {\n toggleOpen: function toggleOpen() {\n this.open = !this.open;\n },\n clickEvent: function clickEvent(data) {\n this.$emit('selected', {\n key: data.key,\n value: data.value,\n path: data.path\n });\n },\n bubbleSelected: function bubbleSelected(data) {\n this.$emit('selected', data);\n },\n getKey: function getKey(value) {\n if (!isNaN(value.key)) {\n return value.key + ':';\n } else {\n return '\"' + value.key + '\":';\n }\n },\n getValueStyle: function getValueStyle(value) {\n var type = _typeof(value);\n\n switch (type) {\n case 'string':\n return {\n color: 'var(--vjc-string-color)'\n };\n\n case 'number':\n return {\n color: 'var(--vjc-number-color)'\n };\n\n case 'boolean':\n return {\n color: 'var(--vjc-boolean-color)'\n };\n\n case 'object':\n return {\n color: 'var(--vjc-null-color)'\n };\n\n case 'undefined':\n return {\n color: 'var(--vjc-null-color)'\n };\n\n default:\n return {\n color: 'var(--vjc-valueKey-color)'\n };\n }\n }\n },\n computed: {\n classes: function classes() {\n return {\n 'chevron-arrow': true,\n opened: this.open\n };\n },\n valueClasses: function valueClasses() {\n return {\n 'value-key': true,\n 'can-select': this.canSelect\n };\n },\n lengthString: function lengthString() {\n if (this.data.type === 'array') {\n return this.data.length === 1 ? this.data.length + ' element' : this.data.length + ' elements';\n }\n\n return this.data.length === 1 ? this.data.length + ' property' : this.data.length + ' properties';\n },\n dataValue: function dataValue() {\n if (typeof this.data.value === 'undefined') {\n return 'undefined';\n }\n\n return JSON.stringify(this.data.value);\n }\n }\n});\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n staticClass: \"json-view-item\"\n }, [_vm.data.type === 'object' || _vm.data.type === 'array' ? _c('div', [_c('button', {\n staticClass: \"data-key\",\n attrs: {\n \"aria-expanded\": _vm.open ? 'true' : 'false'\n },\n on: {\n \"click\": function click($event) {\n $event.stopPropagation();\n return _vm.toggleOpen($event);\n }\n }\n }, [_c('div', {\n class: _vm.classes\n }), _vm._v(\"\\n \" + _vm._s(_vm.data.key) + \":\\n \"), _c('span', {\n staticClass: \"properties\"\n }, [_vm._v(_vm._s(_vm.lengthString))])]), _vm._v(\" \"), _vm._l(_vm.data.children, function (child) {\n return _c('json-view-item', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.open,\n expression: \"open\"\n }],\n key: _vm.getKey(child),\n attrs: {\n \"data\": child,\n \"maxDepth\": _vm.maxDepth,\n \"canSelect\": _vm.canSelect\n },\n on: {\n \"selected\": _vm.bubbleSelected\n }\n });\n })], 2) : _vm._e(), _vm._v(\" \"), _vm.data.type === 'value' ? _c('div', {\n class: _vm.valueClasses,\n attrs: {\n \"role\": _vm.canSelect ? 'button' : undefined,\n \"tabindex\": _vm.canSelect ? '0' : undefined\n },\n on: {\n \"click\": function click($event) {\n return _vm.clickEvent(_vm.data);\n },\n \"keyup\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }\n\n return _vm.clickEvent(_vm.data);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"space\", 32, $event.key, [\" \", \"Spacebar\"])) {\n return null;\n }\n\n return _vm.clickEvent(_vm.data);\n }]\n }\n }, [_c('span', {\n staticClass: \"value-key\"\n }, [_vm._v(_vm._s(_vm.data.key) + \":\")]), _vm._v(\" \"), _c('span', {\n style: _vm.getValueStyle(_vm.data.value)\n }, [_vm._v(\"\\n \" + _vm._s(_vm.dataValue) + \"\\n \")])]) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = function __vue_inject_styles__(inject) {\n if (!inject) return;\n inject(\"data-v-c45632d2_0\", {\n source: \".json-view-item[data-v-c45632d2]:not(.root-item){margin-left:15px}.value-key[data-v-c45632d2]{color:var(--vjc-valueKey-color);font-weight:600;margin-left:10px;border-radius:2px;white-space:nowrap;padding:5px 5px 5px 10px}.value-key.can-select[data-v-c45632d2]{cursor:pointer}.value-key.can-select[data-v-c45632d2]:hover{background-color:rgba(0,0,0,.08)}.value-key.can-select[data-v-c45632d2]:focus{outline:2px solid var(--vjc-hover-color)}.data-key[data-v-c45632d2]{font-size:100%;font-family:inherit;border:0;padding:0;background-color:transparent;width:100%;color:var(--vjc-key-color);display:flex;align-items:center;border-radius:2px;font-weight:600;cursor:pointer;white-space:nowrap;padding:5px}.data-key[data-v-c45632d2]:hover{background-color:var(--vjc-hover-color)}.data-key[data-v-c45632d2]:focus{outline:2px solid var(--vjc-hover-color)}.data-key[data-v-c45632d2]::-moz-focus-inner{border:0}.data-key .properties[data-v-c45632d2]{font-weight:300;opacity:.9;margin-left:4px;user-select:none}.chevron-arrow[data-v-c45632d2]{flex-shrink:0;border-right:4px solid var(--vjc-arrow-color);border-bottom:4px solid var(--vjc-arrow-color);width:var(--vjc-arrow-size);height:var(--vjc-arrow-size);margin-right:20px;margin-left:5px;transform:rotate(-45deg)}.chevron-arrow.opened[data-v-c45632d2]{margin-top:-3px;transform:rotate(45deg)}\",\n map: undefined,\n media: undefined\n });\n};\n/* scoped */\n\n\nvar __vue_scope_id__ = \"data-v-c45632d2\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* component normalizer */\n\nfunction __vue_normalize__(template, style, script, scope, functional, moduleIdentifier, createInjector, createInjectorSSR) {\n var component = (typeof script === 'function' ? script.options : script) || {}; // For security concerns, we use only base name in production mode.\n\n component.__file = \"JSONViewItem.vue\";\n\n if (!component.render) {\n component.render = template.render;\n component.staticRenderFns = template.staticRenderFns;\n component._compiled = true;\n if (functional) component.functional = true;\n }\n\n component._scopeId = scope;\n\n {\n var hook;\n\n if (style) {\n hook = function hook(context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n var originalRender = component.render;\n\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = component.beforeCreate;\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n }\n\n return component;\n}\n/* style inject */\n\n\nfunction __vue_create_injector__() {\n var head = document.head || document.getElementsByTagName('head')[0];\n var styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {});\n var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return; // SSR styles are present.\n\n var group = isOldIE ? css.media || 'default' : id;\n var style = styles[group] || (styles[group] = {\n ids: [],\n parts: [],\n element: undefined\n });\n\n if (!style.ids.includes(id)) {\n var code = css.source;\n var index = style.ids.length;\n style.ids.push(id);\n\n if (css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875\n\n code += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */';\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']');\n }\n\n if (!style.element) {\n var el = style.element = document.createElement('style');\n el.type = 'text/css';\n if (css.media) el.setAttribute('media', css.media);\n\n if (isOldIE) {\n el.setAttribute('data-group', group);\n el.setAttribute('data-next-index', '0');\n }\n\n head.appendChild(el);\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'));\n style.element.setAttribute('data-next-index', index + 1);\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code);\n style.element.styleSheet.cssText = style.parts.filter(Boolean).join('\\n');\n } else {\n var textNode = document.createTextNode(code);\n var nodes = style.element.childNodes;\n if (nodes[index]) style.element.removeChild(nodes[index]);\n if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode);\n }\n }\n };\n}\n/* style inject SSR */\n\n\nvar JSONViewItem = __vue_normalize__({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, __vue_create_injector__, undefined);\n\nvar isDarkMediaQuery = window.matchMedia('(prefers-color-scheme: dark)').matches;\nvar script$1 = Vue.extend({\n name: 'json-view',\n props: {\n data: {\n required: true\n },\n rootKey: {\n type: String,\n required: false,\n default: 'root'\n },\n maxDepth: {\n type: Number,\n required: false,\n default: 1\n },\n colorScheme: {\n type: String,\n required: false,\n default: 'light'\n }\n },\n components: {\n 'json-view-item': JSONViewItem\n },\n methods: {\n build: function build(key, val, depth, path, includeKey) {\n if (this.isObject(val)) {\n // Build Object\n var children = [];\n\n for (var _i = 0, _a = Object.entries(val); _i < _a.length; _i++) {\n var _b = _a[_i],\n childKey = _b[0],\n childValue = _b[1];\n children.push(this.build(childKey, childValue, depth + 1, includeKey ? \"\" + path + key + \".\" : \"\" + path, true));\n }\n\n return {\n key: key,\n type: 'object',\n depth: depth,\n path: path,\n length: children.length,\n children: children\n };\n } else if (this.isArray(val)) {\n // Build Array\n var children = [];\n\n for (var i = 0; i < val.length; i++) {\n children.push(this.build(i.toString(), val[i], depth + 1, includeKey ? \"\" + path + key + \"[\" + i + \"].\" : \"\" + path, false));\n }\n\n return {\n key: key,\n type: 'array',\n depth: depth,\n path: path,\n length: children.length,\n children: children\n };\n } else {\n // Build Value\n return {\n key: key,\n type: 'value',\n path: includeKey ? path + key : path.slice(0, -1),\n depth: depth,\n value: val\n };\n }\n },\n isObject: function isObject(val) {\n return _typeof(val) === 'object' && val !== null && !this.isArray(val);\n },\n isArray: function isArray(val) {\n return Array.isArray(val);\n },\n itemSelected: function itemSelected(data) {\n this.$emit('selected', data);\n }\n },\n computed: {\n parsed: function parsed() {\n if (_typeof(this.data) === 'object') {\n return this.build(this.rootKey, __assign({}, this.data), 0, '', true);\n }\n\n return {\n key: this.rootKey,\n type: 'value',\n path: '',\n depth: 0,\n value: this.data\n };\n },\n hasSelectedListener: function hasSelectedListener() {\n return Boolean(this.$listeners && this.$listeners.selected);\n }\n }\n});\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('json-view-item', {\n class: [{\n 'root-item': true,\n dark: _vm.colorScheme === 'dark'\n }],\n attrs: {\n \"data\": _vm.parsed,\n \"maxDepth\": _vm.maxDepth,\n \"canSelect\": _vm.hasSelectedListener\n },\n on: {\n \"selected\": _vm.itemSelected\n }\n });\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = function __vue_inject_styles__(inject) {\n if (!inject) return;\n inject(\"data-v-1c053202_0\", {\n source: \".root-item[data-v-1c053202]{--vjc-key-color:#0977e6;--vjc-valueKey-color:#073642;--vjc-string-color:#268bd2;--vjc-number-color:#2aa198;--vjc-boolean-color:#cb4b16;--vjc-null-color:#6c71c4;--vjc-arrow-size:6px;--vjc-arrow-color:#444;--vjc-hover-color:rgba(0, 0, 0, 0.2);margin-left:0;width:100%;height:auto}.root-item.dark[data-v-1c053202]{--vjc-key-color:#80d8ff;--vjc-valueKey-color:#fdf6e3;--vjc-hover-color:rgba(255, 255, 255, 0.2);--vjc-arrow-color:#fdf6e3}\",\n map: undefined,\n media: undefined\n });\n};\n/* scoped */\n\n\nvar __vue_scope_id__$1 = \"data-v-1c053202\";\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* component normalizer */\n\nfunction __vue_normalize__$1(template, style, script, scope, functional, moduleIdentifier, createInjector, createInjectorSSR) {\n var component = (typeof script === 'function' ? script.options : script) || {}; // For security concerns, we use only base name in production mode.\n\n component.__file = \"JSONView.vue\";\n\n if (!component.render) {\n component.render = template.render;\n component.staticRenderFns = template.staticRenderFns;\n component._compiled = true;\n if (functional) component.functional = true;\n }\n\n component._scopeId = scope;\n\n {\n var hook;\n\n if (style) {\n hook = function hook(context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n var originalRender = component.render;\n\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = component.beforeCreate;\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n }\n\n return component;\n}\n/* style inject */\n\n\nfunction __vue_create_injector__$1() {\n var head = document.head || document.getElementsByTagName('head')[0];\n var styles = __vue_create_injector__$1.styles || (__vue_create_injector__$1.styles = {});\n var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return; // SSR styles are present.\n\n var group = isOldIE ? css.media || 'default' : id;\n var style = styles[group] || (styles[group] = {\n ids: [],\n parts: [],\n element: undefined\n });\n\n if (!style.ids.includes(id)) {\n var code = css.source;\n var index = style.ids.length;\n style.ids.push(id);\n\n if (css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875\n\n code += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */';\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']');\n }\n\n if (!style.element) {\n var el = style.element = document.createElement('style');\n el.type = 'text/css';\n if (css.media) el.setAttribute('media', css.media);\n\n if (isOldIE) {\n el.setAttribute('data-group', group);\n el.setAttribute('data-next-index', '0');\n }\n\n head.appendChild(el);\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'));\n style.element.setAttribute('data-next-index', index + 1);\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code);\n style.element.styleSheet.cssText = style.parts.filter(Boolean).join('\\n');\n } else {\n var textNode = document.createTextNode(code);\n var nodes = style.element.childNodes;\n if (nodes[index]) style.element.removeChild(nodes[index]);\n if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode);\n }\n }\n };\n}\n/* style inject SSR */\n\n\nvar JSONView = __vue_normalize__$1({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, __vue_create_injector__$1, undefined);\n\nvar index = {\n install: function install(Vue, options) {\n Vue.component('json-view', JSONView);\n }\n};\n\nexport default index;\nexport { JSONView };\n//# sourceMappingURL=index.module.js.map\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-container\"},[_c('b-row',[(_vm.lengthChange)?_c('b-col',{staticClass:\"mb-3\",attrs:{\"md\":\"4\"}},[_c('b-form',{attrs:{\"inline\":\"\"}},[_c('label',{staticClass:\"mr-2\"},[_vm._v(\"Show\")]),_c('b-form-select',{staticClass:\"mr-2\",attrs:{\"options\":_vm.pageOptions},on:{\"input\":_vm.onContextChanged},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_c('label',[_vm._v(\"entries per page\")])],1)],1):_vm._e()],1),_vm._t(\"default\"),_c('b-row',[_c('b-col',{staticClass:\"mx-auto\",attrs:{\"md\":\"4\"}},[(_vm.paging && _vm.totalRows > _vm.perPage)?_c('b-pagination',{staticClass:\"justify-content-center\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage},on:{\"input\":_vm.onContextChanged},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e()],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"table-container\">\n <b-row>\n <b-col v-if=\"lengthChange\" md=\"4\" class=\"mb-3\">\n <b-form inline>\n <label class=\"mr-2\">Show</label>\n <b-form-select v-model=\"perPage\" :options=\"pageOptions\" class=\"mr-2\" @input=\"onContextChanged\" />\n <label>entries per page</label>\n </b-form>\n </b-col>\n </b-row>\n <slot />\n <b-row>\n <b-col md=\"4\" class=\"mx-auto\">\n <b-pagination v-if=\"paging && totalRows > perPage\" v-model=\"currentPage\" :total-rows=\"totalRows\" :per-page=\"perPage\"\n class=\"justify-content-center\" @input=\"onContextChanged\"\n />\n </b-col>\n </b-row>\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\n\nexport default {\n name: 'Datatable',\n props: {\n lengthChange: {\n type: Boolean,\n default: true\n },\n paging: {\n type: Boolean,\n default: true\n },\n infos: {\n type: Boolean,\n default: true\n },\n searchRoute: {\n type: String,\n default: null\n }\n },\n data () {\n return {\n currentPage: 1,\n perPage: 10,\n totalRows: 0,\n pageOptions: [5, 10, 15, 25, 50],\n searchQuery: null,\n selected: [],\n action: null\n }\n },\n mounted () {\n if (this.actions) {\n this.action = Object.keys(this.actions)[0]\n }\n },\n methods: {\n onContextChanged () {\n this.$emit('context-changed')\n },\n async loadData (sortBy, sortDesc) {\n try {\n const { data } = await axios.get(this.searchRoute, {\n params: {\n page: this.currentPage,\n perPage: this.perPage,\n column: sortBy,\n direction: sortDesc ? 'desc' : 'asc'\n }\n })\n this.totalRows = data.total\n return data.data\n } catch (e) {\n console.error(e)\n return []\n }\n }\n }\n}\n</script>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DataTable.vue?vue&type=template&id=07c61d56&\"\nimport script from \"./DataTable.vue?vue&type=script&lang=js&\"\nexport * from \"./DataTable.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <data-table ref=\"datatable\"\n search-route=\"capec\"\n @context-changed=\"onContextChanged\"\n >\n <b-table ref=\"table\"\n stacked=\"md\"\n :fields=\"fields\"\n :items=\"dataLoadProvider\"\n :busy.sync=\"isBusy\"\n empty-text=\"No records found\"\n >\n <template v-slot:cell(_source.timestamp)=\"row\">\n {{ formatDate(row.item._source.timestamp) }}\n </template>\n <template v-slot:cell(actions)=\"row\">\n <b-button variant=\"info\"\n title=\"Paths\"\n class=\"mr-2\"\n @click.stop=\"row.toggleDetails\"\n >\n <fa :icon=\"row.detailsShowing ? 'arrow-up' : 'arrow-down'\" />\n </b-button>\n </template>\n <template slot=\"row-details\" slot-scope=\"row\">\n <div v-if=\"row.item._source.tree\">\n <json-view\n :root-key=\"row.item._source.cve\"\n :data=\"row.item._source.tree\" />\n </div>\n </template>\n </b-table>\n </data-table>\n </div>\n</template>\n\n<script>\nimport { JSONView } from 'vue-json-component'\nimport DataTable from './DataTable'\nexport default {\n name: 'CapecList',\n components: {\n DataTable, 'json-view': JSONView\n },\n data () {\n return {\n isBusy: false,\n fields: [\n { key: '_source.timestamp', label: 'Timestamp' },\n { key: '_source.signature_id', label: 'Signature ID' },\n { key: '_source.signature', label: 'Signature' },\n { key: '_source.category', label: 'Category' },\n { key: '_source.cve', label: 'CVE' },\n { key: 'actions', label: 'Actions' }\n ]\n }\n },\n methods: {\n dataLoadProvider (ctx) {\n return this.$refs.datatable.loadData(ctx.sortBy, ctx.sortDesc)\n },\n onContextChanged () {\n return this.$refs.table.refresh()\n },\n formatDate (arg) {\n const tmp = new Date(arg).toString()\n return tmp.substring(0, tmp.length - 40)\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CapecList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CapecList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CapecList.vue?vue&type=template&id=61b282af&scoped=true&\"\nimport script from \"./CapecList.vue?vue&type=script&lang=js&\"\nexport * from \"./CapecList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61b282af\",\n null\n \n)\n\nexport default component.exports","<template>\n <b-card bg-variant=\"light\">\n <template v-slot:header>\n <b-row>\n <b-col class=\"text-left\">\n <h5>CEPTD</h5>\n </b-col>\n <b-col class=\"text-right\">\n <b-card-text>Status: Running</b-card-text>\n </b-col>\n </b-row>\n </template>\n <capec-list />\n </b-card>\n</template>\n\n<script>\nimport axios from 'axios'\nimport CapecList from './CapecList'\n\nexport default {\n name: 'CeptdCard',\n components: {\n CapecList\n },\n data () {\n return {\n file: null,\n fields: [\n { key: 'process_id', label: 'Process' },\n { key: 'created_at', label: 'Running for' },\n { key: 'actions', label: 'Actions' }\n ],\n analyzePid: '',\n items: []\n }\n },\n created () {\n this.status()\n },\n methods: {\n async start () {\n try {\n await axios.get('/v1/od/start')\n this.status()\n this.$toasted.success('OD instance started!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async status () {\n try {\n const { data } = await axios.get('/v1/od/status')\n this.items = data\n } catch (e) {\n this.$toasted.error('There was an error while fetching running OD instances!')\n }\n },\n async showPcapModal (pid) {\n this.analyzePid = pid\n this.$refs['pcap-modal'].show()\n },\n async stop (pid) {\n try {\n await axios.get('/v1/od/stop/' + pid)\n this.status()\n this.$toasted.success('OD instance stopped!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CeptdCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CeptdCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CeptdCard.vue?vue&type=template&id=b161a638&scoped=true&\"\nimport script from \"./CeptdCard.vue?vue&type=script&lang=js&\"\nexport * from \"./CeptdCard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b161a638\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <b-card-group deck>\n <mltd-card />\n <od-card />\n </b-card-group>\n <b-card-group deck class=\"mt-3\">\n <ceptd-card />\n </b-card-group>\n </div>\n</template>\n\n<script>\nimport MltdCard from '~/components/MltdCard'\nimport OdCard from '~/components/OdCard'\nimport CeptdCard from '~/components/CeptdCard'\nexport default {\n name: 'Dashboard',\n components: {\n OdCard,\n MltdCard,\n CeptdCard\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dashboard.vue?vue&type=template&id=47d79d9c&scoped=true&\"\nimport script from \"./dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./dashboard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47d79d9c\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0d70a2.bbc301fd.js View file @ fa297f2
1   -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d70a2"],{"74b1":function(e,t,a){"use strict";a.r(t);var r=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("b-card-group",{attrs:{deck:""}},[a("mltd-card"),a("od-card")],1),a("b-card-group",{staticClass:"mt-3",attrs:{deck:""}},[a("ceptd-card")],1)],1)},n=[],s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("b-card",{attrs:{"bg-variant":"primary","text-variant":"white"},scopedSlots:e._u([{key:"header",fn:function(){return[a("b-row",[a("b-col",{staticClass:"text-left"},[a("h4",[e._v("MLTD")])]),a("b-col",{staticClass:"text-right"},[a("b-dropdown",{attrs:{size:"sm",variant:"primary","no-caret":"",right:""},scopedSlots:e._u([{key:"button-content",fn:function(){return[a("fa",{attrs:{icon:"cogs"}})]},proxy:!0}])},[a("b-dropdown-item",{on:{click:e.start}},[e._v(" Start new instance ")])],1)],1)],1)]},proxy:!0}])},[e.items.length>0?a("b-table",{attrs:{fields:e.fields,items:e.items,"thead-class":"text-white","tbody-class":"text-white"},scopedSlots:e._u([{key:"cell(created_at)",fn:function(t){return[a("running-for",{staticClass:"red",attrs:{date:new Date(t.item.created_at)},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.minutes)+" Minutes and "+e._s(t.seconds)+" Seconds ")]}}],null,!0)})]}},{key:"cell(actions)",fn:function(t){return[a("b-button",{attrs:{variant:"danger",size:"sm",title:"Stop"},on:{click:function(a){return a.stopPropagation(),e.stop(t.item.process_id)}}},[a("fa",{attrs:{icon:"stop"}})],1)]}}],null,!1,4095574679)}):e._e(),a("b-row",{attrs:{"align-h":"end"}},[a("b-form-group",{attrs:{"label-cols":"3","label-cols-lg":"3","label-size":"sm",label:"Top Events","label-for":"input-sm"}},[a("b-input-group",{attrs:{size:"sm"}},[a("b-form-input",{attrs:{type:"number"},model:{value:e.top,callback:function(t){e.top=t},expression:"top"}}),a("b-input-group-append",[a("b-button",{attrs:{variant:"info"},on:{click:e.train}},[e._v(" Get ")])],1)],1)],1)],1),e.topResults.length>0?a("b-row",[a("b-form-tags",{staticClass:"mb-2",attrs:{disabled:"",placeholder:""},model:{value:e.topResults,callback:function(t){e.topResults=t},expression:"topResults"}}),a("h6",[e._v("Timeframe: "+e._s(e.topTimeframe))])],1):e._e()],1)},o=[],i=(a("96cf"),a("1da1")),c=a("bc3a"),l=a.n(c),u=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",[e._t("default",[e._v(e._s(e.days)+" days "+e._s(e.hours)+" hours "+e._s(e.minutes)+" minutes "+e._s(e.seconds)+" seconds")],{days:e.days,hours:e.hours,minutes:e.minutes,seconds:e.seconds})],2)},d=[],p={name:"RunningFor",props:{date:{required:!0}},data:function(){return{interval:null,days:0,hours:0,minutes:0,seconds:0,intervals:{second:1e3,minute:6e4,hour:36e5,day:864e5}}},mounted:function(){var e=this;this.interval=setInterval((function(){e.updateDiffs()}),1e3),this.updateDiffs()},destroyed:function(){clearInterval(this.interval)},methods:{updateDiffs:function(){var e=Math.abs(Date.now()-this.date.getTime());this.days=Math.floor(e/this.intervals.day),e-=this.days*this.intervals.day,this.hours=Math.floor(e/this.intervals.hour),e-=this.hours*this.intervals.hour,this.minutes=Math.floor(e/this.intervals.minute),e-=this.minutes*this.intervals.minute,this.seconds=Math.floor(e/this.intervals.second)}}},f=p,h=a("2877"),m=Object(h["a"])(f,u,d,!1,null,"32d5ab49",null),v=m.exports,b={name:"MltdCard",components:{RunningFor:v},data:function(){return{top:10,topResults:[],topTimeframe:"",fields:[{key:"process_id",label:"Process"},{key:"created_at",label:"Running for"},{key:"actions",label:"Actions"}],items:[]}},created:function(){this.status()},methods:{start:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/mltd/start");case 3:e.status(),e.$toasted.success("MTLD instance started!"),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),e.$toasted.error("There was an error!");case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},status:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/mltd/status");case 3:a=t.sent,r=a.data,e.items=r,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),e.$toasted.error("There was an error while fetching running MLTD instances!");case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()},stop:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function a(){return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,l.a.get("/v1/mltd/stop/"+e);case 3:t.status(),t.$toasted.success("MTLD instance stopped!"),a.next=10;break;case 7:a.prev=7,a.t0=a["catch"](0),t.$toasted.error("There was an error!");case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()},train:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/mltd/1/"+e.top);case 3:a=t.sent,r=a.data,e.topResults=r.important_events,e.topTimeframe=r.timeframe,t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](0),e.$toasted.error("There was an error!");case 12:case"end":return t.stop()}}),t,null,[[0,9]])})))()}}},g=b,y=Object(h["a"])(g,s,o,!1,null,"16d34248",null),w=y.exports,x=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("b-card",{attrs:{"bg-variant":"success","text-variant":"white"},scopedSlots:e._u([{key:"header",fn:function(){return[a("b-row",[a("b-col",{staticClass:"text-left"},[a("h5",[e._v("OD")])]),a("b-col",{staticClass:"text-right"},[a("b-dropdown",{attrs:{size:"sm",variant:"success","no-caret":"",right:""},scopedSlots:e._u([{key:"button-content",fn:function(){return[a("fa",{attrs:{icon:"cogs"}})]},proxy:!0}])},[a("b-dropdown-item",{on:{click:e.start}},[e._v(" Start new instance ")])],1)],1)],1)]},proxy:!0}])},[e.items.length>0?a("b-table",{attrs:{fields:e.fields,items:e.items,"thead-class":"text-white","tbody-class":"text-white"},scopedSlots:e._u([{key:"cell(created_at)",fn:function(t){return[a("running-for",{staticClass:"red",attrs:{date:new Date(t.item.created_at)},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.minutes)+" Minutes and "+e._s(t.seconds)+" Seconds ")]}}],null,!0)})]}},{key:"cell(actions)",fn:function(t){return[a("b-button",{attrs:{variant:"secondary",size:"sm",title:"Analyze"},on:{click:function(a){return a.stopPropagation(),e.showPcapModal(t.item.process_id)}}},[a("fa",{attrs:{icon:"search"}})],1),a("b-button",{staticClass:"ml-2",attrs:{variant:"danger",size:"sm",title:"Stop"},on:{click:function(a){return a.stopPropagation(),e.stop(t.item.process_id)}}},[a("fa",{attrs:{icon:"stop"}})],1)]}}],null,!1,44482582)}):e._e(),a("b-modal",{ref:"pcap-modal",attrs:{title:"Upload PCAP","ok-title":"Upload","ok-variant":"primary","cancel-variant":"muted",size:"lg"},on:{ok:e.upload}},[a("b-form",{attrs:{autocomplete:"off"}},[a("b-form-file",{attrs:{state:Boolean(e.file),accept:".pcap",placeholder:"Choose a file or drop it here...","drop-placeholder":"Drop file here..."},model:{value:e.file,callback:function(t){e.file=t},expression:"file"}})],1)],1)],1)},k=[],_={name:"OdCard",components:{RunningFor:v},data:function(){return{file:null,fields:[{key:"process_id",label:"Process"},{key:"created_at",label:"Running for"},{key:"actions",label:"Actions"}],analyzePid:"",items:[]}},created:function(){this.status()},methods:{start:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/od/start");case 3:e.status(),e.$toasted.success("OD instance started!"),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),e.$toasted.error("There was an error!");case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},status:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/od/status");case 3:a=t.sent,r=a.data,e.items=r,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),e.$toasted.error("There was an error while fetching running OD instances!");case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()},showPcapModal:function(e){this.analyzePid=e,this.$refs["pcap-modal"].show()},stop:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function a(){return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,l.a.get("/v1/od/stop/"+e);case 3:t.status(),t.$toasted.success("OD instance stopped!"),a.next=10;break;case 7:a.prev=7,a.t0=a["catch"](0),t.$toasted.error("There was an error!");case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()},upload:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return a=new FormData,a.append("file",e.file),t.next=4,l.a.post("/v1/od/analyze/"+e.analyzePid,a,{headers:{"Content-Type":"multipart/form-data"}}).then((function(){e.file=null,e.analyzePid="",e.$toasted.success("PCAP uploaded successfully!")})).catch((function(){e.$toasted.error("There was an error while uploading the PCAP file!")}));case 4:case"end":return t.stop()}}),t)})))()}}},j=_,C=Object(h["a"])(j,x,k,!1,null,"7cd71a66",null),S=C.exports,R=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("b-card",{attrs:{"bg-variant":"light"},scopedSlots:e._u([{key:"header",fn:function(){return[a("b-row",[a("b-col",{staticClass:"text-left"},[a("h5",[e._v("CEPTD")])]),a("b-col",{staticClass:"text-right"},[a("b-card-text",[e._v("Status: Running")])],1)],1)]},proxy:!0}])},[a("capec-list")],1)},O=[],P=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("data-table",{ref:"datatable",attrs:{"search-route":"capec"},on:{"context-changed":e.onContextChanged}},[a("b-table",{ref:"table",attrs:{stacked:"md",fields:e.fields,items:e.dataLoadProvider,busy:e.isBusy,"empty-text":"No records found"},on:{"update:busy":function(t){e.isBusy=t}},scopedSlots:e._u([{key:"cell(_source.timestamp)",fn:function(t){return[e._v(" "+e._s(e.formatDate(t.item._source.timestamp))+" ")]}},{key:"cell(actions)",fn:function(e){return[a("b-button",{staticClass:"mr-2",attrs:{variant:"info",title:"Paths"},on:{click:function(t){return t.stopPropagation(),e.toggleDetails(t)}}},[a("fa",{attrs:{icon:e.detailsShowing?"arrow-up":"arrow-down"}})],1)]}},{key:"row-details",fn:function(t){return[t.item._source.tree?a("div",[a("json-view",{attrs:{"root-key":t.item._source.cve,data:t.item._source.tree}})],1):e._e()]}}])})],1)],1)},D=[];a("d3b7"),a("25f0");var $=function(){return $=Object.assign||function(e){for(var t,a=1,r=arguments.length;a<r;a++)for(var n in t=arguments[a],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},$.apply(this,arguments)};var T=a("2b0e");function A(e){return A="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},A(e)}var z=T["default"].extend({name:"json-view-item",data:function(){return{open:this.data.depth<this.maxDepth}},props:{data:{required:!0,type:Object},maxDepth:{type:Number,required:!1,default:1},canSelect:{type:Boolean,required:!1,default:!1}},methods:{toggleOpen:function(){this.open=!this.open},clickEvent:function(e){this.$emit("selected",{key:e.key,value:e.value,path:e.path})},bubbleSelected:function(e){this.$emit("selected",e)},getKey:function(e){return isNaN(e.key)?'"'+e.key+'":':e.key+":"},getValueStyle:function(e){var t=A(e);switch(t){case"string":return{color:"var(--vjc-string-color)"};case"number":return{color:"var(--vjc-number-color)"};case"boolean":return{color:"var(--vjc-boolean-color)"};case"object":return{color:"var(--vjc-null-color)"};case"undefined":return{color:"var(--vjc-null-color)"};default:return{color:"var(--vjc-valueKey-color)"}}}},computed:{classes:function(){return{"chevron-arrow":!0,opened:this.open}},valueClasses:function(){return{"value-key":!0,"can-select":this.canSelect}},lengthString:function(){return"array"===this.data.type?1===this.data.length?this.data.length+" element":this.data.length+" elements":1===this.data.length?this.data.length+" property":this.data.length+" properties"},dataValue:function(){return"undefined"===typeof this.data.value?"undefined":JSON.stringify(this.data.value)}}}),E=z,M=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"json-view-item"},["object"===e.data.type||"array"===e.data.type?a("div",[a("button",{staticClass:"data-key",attrs:{"aria-expanded":e.open?"true":"false"},on:{click:function(t){return t.stopPropagation(),e.toggleOpen(t)}}},[a("div",{class:e.classes}),e._v("\n "+e._s(e.data.key)+":\n "),a("span",{staticClass:"properties"},[e._v(e._s(e.lengthString))])]),e._v(" "),e._l(e.data.children,(function(t){return a("json-view-item",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],key:e.getKey(t),attrs:{data:t,maxDepth:e.maxDepth,canSelect:e.canSelect},on:{selected:e.bubbleSelected}})}))],2):e._e(),e._v(" "),"value"===e.data.type?a("div",{class:e.valueClasses,attrs:{role:e.canSelect?"button":void 0,tabindex:e.canSelect?"0":void 0},on:{click:function(t){return e.clickEvent(e.data)},keyup:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.clickEvent(e.data)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"space",32,t.key,[" ","Spacebar"])?null:e.clickEvent(e.data)}]}},[a("span",{staticClass:"value-key"},[e._v(e._s(e.data.key)+":")]),e._v(" "),a("span",{style:e.getValueStyle(e.data.value)},[e._v("\n "+e._s(e.dataValue)+"\n ")])]):e._e()])},N=[],B=function(e){e&&e("data-v-c45632d2_0",{source:".json-view-item[data-v-c45632d2]:not(.root-item){margin-left:15px}.value-key[data-v-c45632d2]{color:var(--vjc-valueKey-color);font-weight:600;margin-left:10px;border-radius:2px;white-space:nowrap;padding:5px 5px 5px 10px}.value-key.can-select[data-v-c45632d2]{cursor:pointer}.value-key.can-select[data-v-c45632d2]:hover{background-color:rgba(0,0,0,.08)}.value-key.can-select[data-v-c45632d2]:focus{outline:2px solid var(--vjc-hover-color)}.data-key[data-v-c45632d2]{font-size:100%;font-family:inherit;border:0;padding:0;background-color:transparent;width:100%;color:var(--vjc-key-color);display:flex;align-items:center;border-radius:2px;font-weight:600;cursor:pointer;white-space:nowrap;padding:5px}.data-key[data-v-c45632d2]:hover{background-color:var(--vjc-hover-color)}.data-key[data-v-c45632d2]:focus{outline:2px solid var(--vjc-hover-color)}.data-key[data-v-c45632d2]::-moz-focus-inner{border:0}.data-key .properties[data-v-c45632d2]{font-weight:300;opacity:.9;margin-left:4px;user-select:none}.chevron-arrow[data-v-c45632d2]{flex-shrink:0;border-right:4px solid var(--vjc-arrow-color);border-bottom:4px solid var(--vjc-arrow-color);width:var(--vjc-arrow-size);height:var(--vjc-arrow-size);margin-right:20px;margin-left:5px;transform:rotate(-45deg)}.chevron-arrow.opened[data-v-c45632d2]{margin-top:-3px;transform:rotate(45deg)}",map:void 0,media:void 0})},L="data-v-c45632d2",q=void 0,F=!1;function I(e,t,a,r,n,s,o,i){var c,l=("function"===typeof a?a.options:a)||{};if(l.__file="JSONViewItem.vue",l.render||(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,n&&(l.functional=!0)),l._scopeId=r,t&&(c=function(e){t.call(this,o(e))}),void 0!==c)if(l.functional){var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return l}function K(){var e=document.head||document.getElementsByTagName("head")[0],t=K.styles||(K.styles={}),a="undefined"!==typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,n){if(!document.querySelector('style[data-vue-ssr-id~="'+r+'"]')){var s=a?n.media||"default":r,o=t[s]||(t[s]={ids:[],parts:[],element:void 0});if(!o.ids.includes(r)){var i=n.source,c=o.ids.length;if(o.ids.push(r),n.map&&(i+="\n/*# sourceURL="+n.map.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n.map))))+" */"),a&&(o.element=o.element||document.querySelector("style[data-group="+s+"]")),!o.element){var l=o.element=document.createElement("style");l.type="text/css",n.media&&l.setAttribute("media",n.media),a&&(l.setAttribute("data-group",s),l.setAttribute("data-next-index","0")),e.appendChild(l)}if(a&&(c=parseInt(o.element.getAttribute("data-next-index")),o.element.setAttribute("data-next-index",c+1)),o.element.styleSheet)o.parts.push(i),o.element.styleSheet.cssText=o.parts.filter(Boolean).join("\n");else{var u=document.createTextNode(i),d=o.element.childNodes;d[c]&&o.element.removeChild(d[c]),d.length?o.element.insertBefore(u,d[c]):o.element.appendChild(u)}}}}}var U=I({render:M,staticRenderFns:N},B,E,L,F,q,K,void 0),J=(window.matchMedia("(prefers-color-scheme: dark)").matches,T["default"].extend({name:"json-view",props:{data:{required:!0},rootKey:{type:String,required:!1,default:"root"},maxDepth:{type:Number,required:!1,default:1},colorScheme:{type:String,required:!1,default:"light"}},components:{"json-view-item":U},methods:{build:function(e,t,a,r,n){if(this.isObject(t)){for(var s=[],o=0,i=Object.entries(t);o<i.length;o++){var c=i[o],l=c[0],u=c[1];s.push(this.build(l,u,a+1,n?""+r+e+".":""+r,!0))}return{key:e,type:"object",depth:a,path:r,length:s.length,children:s}}if(this.isArray(t)){s=[];for(var d=0;d<t.length;d++)s.push(this.build(d.toString(),t[d],a+1,n?""+r+e+"["+d+"].":""+r,!1));return{key:e,type:"array",depth:a,path:r,length:s.length,children:s}}return{key:e,type:"value",path:n?r+e:r.slice(0,-1),depth:a,value:t}},isObject:function(e){return"object"===A(e)&&null!==e&&!this.isArray(e)},isArray:function(e){return Array.isArray(e)},itemSelected:function(e){this.$emit("selected",e)}},computed:{parsed:function(){return"object"===A(this.data)?this.build(this.rootKey,$({},this.data),0,"",!0):{key:this.rootKey,type:"value",path:"",depth:0,value:this.data}},hasSelectedListener:function(){return Boolean(this.$listeners&&this.$listeners.selected)}}})),V=J,G=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("json-view-item",{class:[{"root-item":!0,dark:"dark"===e.colorScheme}],attrs:{data:e.parsed,maxDepth:e.maxDepth,canSelect:e.hasSelectedListener},on:{selected:e.itemSelected}})},Q=[],H=function(e){e&&e("data-v-1c053202_0",{source:".root-item[data-v-1c053202]{--vjc-key-color:#0977e6;--vjc-valueKey-color:#073642;--vjc-string-color:#268bd2;--vjc-number-color:#2aa198;--vjc-boolean-color:#cb4b16;--vjc-null-color:#6c71c4;--vjc-arrow-size:6px;--vjc-arrow-color:#444;--vjc-hover-color:rgba(0, 0, 0, 0.2);margin-left:0;width:100%;height:auto}.root-item.dark[data-v-1c053202]{--vjc-key-color:#80d8ff;--vjc-valueKey-color:#fdf6e3;--vjc-hover-color:rgba(255, 255, 255, 0.2);--vjc-arrow-color:#fdf6e3}",map:void 0,media:void 0})},W="data-v-1c053202",X=void 0,Y=!1;function Z(e,t,a,r,n,s,o,i){var c,l=("function"===typeof a?a.options:a)||{};if(l.__file="JSONView.vue",l.render||(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,n&&(l.functional=!0)),l._scopeId=r,t&&(c=function(e){t.call(this,o(e))}),void 0!==c)if(l.functional){var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return l}function ee(){var e=document.head||document.getElementsByTagName("head")[0],t=ee.styles||(ee.styles={}),a="undefined"!==typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());return function(r,n){if(!document.querySelector('style[data-vue-ssr-id~="'+r+'"]')){var s=a?n.media||"default":r,o=t[s]||(t[s]={ids:[],parts:[],element:void 0});if(!o.ids.includes(r)){var i=n.source,c=o.ids.length;if(o.ids.push(r),n.map&&(i+="\n/*# sourceURL="+n.map.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n.map))))+" */"),a&&(o.element=o.element||document.querySelector("style[data-group="+s+"]")),!o.element){var l=o.element=document.createElement("style");l.type="text/css",n.media&&l.setAttribute("media",n.media),a&&(l.setAttribute("data-group",s),l.setAttribute("data-next-index","0")),e.appendChild(l)}if(a&&(c=parseInt(o.element.getAttribute("data-next-index")),o.element.setAttribute("data-next-index",c+1)),o.element.styleSheet)o.parts.push(i),o.element.styleSheet.cssText=o.parts.filter(Boolean).join("\n");else{var u=document.createTextNode(i),d=o.element.childNodes;d[c]&&o.element.removeChild(d[c]),d.length?o.element.insertBefore(u,d[c]):o.element.appendChild(u)}}}}}var te=Z({render:G,staticRenderFns:Q},H,V,W,Y,X,ee,void 0),ae=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"table-container"},[a("b-row",[e.lengthChange?a("b-col",{staticClass:"mb-3",attrs:{md:"4"}},[a("b-form",{attrs:{inline:""}},[a("label",{staticClass:"mr-2"},[e._v("Show")]),a("b-form-select",{staticClass:"mr-2",attrs:{options:e.pageOptions},on:{input:e.onContextChanged},model:{value:e.perPage,callback:function(t){e.perPage=t},expression:"perPage"}}),a("label",[e._v("entries per page")])],1)],1):e._e()],1),e._t("default"),a("b-row",[a("b-col",{staticClass:"mx-auto",attrs:{md:"4"}},[e.paging&&e.totalRows>e.perPage?a("b-pagination",{staticClass:"justify-content-center",attrs:{"total-rows":e.totalRows,"per-page":e.perPage},on:{input:e.onContextChanged},model:{value:e.currentPage,callback:function(t){e.currentPage=t},expression:"currentPage"}}):e._e()],1)],1)],2)},re=[],ne=(a("b64b"),{name:"Datatable",props:{lengthChange:{type:Boolean,default:!0},paging:{type:Boolean,default:!0},infos:{type:Boolean,default:!0},searchRoute:{type:String,default:null}},data:function(){return{currentPage:1,perPage:10,totalRows:0,pageOptions:[5,10,15,25,50],searchQuery:null,selected:[],action:null}},mounted:function(){this.actions&&(this.action=Object.keys(this.actions)[0])},methods:{onContextChanged:function(){this.$emit("context-changed")},loadData:function(e,t){var a=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){var n,s;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,l.a.get(a.searchRoute,{params:{page:a.currentPage,perPage:a.perPage,column:e,direction:t?"desc":"asc"}});case 3:return n=r.sent,s=n.data,a.totalRows=s.total,r.abrupt("return",s.data);case 9:return r.prev=9,r.t0=r["catch"](0),console.error(r.t0),r.abrupt("return",[]);case 13:case"end":return r.stop()}}),r,null,[[0,9]])})))()}}}),se=ne,oe=Object(h["a"])(se,ae,re,!1,null,null,null),ie=oe.exports,ce={name:"CapecList",components:{DataTable:ie,"json-view":te},data:function(){return{isBusy:!1,fields:[{key:"_source.timestamp",label:"Timestamp"},{key:"_source.signature_id",label:"Signature ID"},{key:"_source.signature",label:"Signature"},{key:"_source.category",label:"Category"},{key:"_source.cve",label:"CVE"},{key:"actions",label:"Actions"}]}},methods:{dataLoadProvider:function(e){return this.$refs.datatable.loadData(e.sortBy,e.sortDesc)},onContextChanged:function(){return this.$refs.table.refresh()},formatDate:function(e){var t=new Date(e).toString();return t.substring(0,t.length-40)}}},le=ce,ue=Object(h["a"])(le,P,D,!1,null,"61b282af",null),de=ue.exports,pe={name:"CeptdCard",components:{CapecList:de},data:function(){return{file:null,fields:[{key:"process_id",label:"Process"},{key:"created_at",label:"Running for"},{key:"actions",label:"Actions"}],analyzePid:"",items:[]}},created:function(){this.status()},methods:{start:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/od/start");case 3:e.status(),e.$toasted.success("OD instance started!"),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),e.$toasted.error("There was an error!");case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},status:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){var a,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.a.get("/v1/od/status");case 3:a=t.sent,r=a.data,e.items=r,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),e.$toasted.error("There was an error while fetching running OD instances!");case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()},showPcapModal:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function a(){return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:t.analyzePid=e,t.$refs["pcap-modal"].show();case 2:case"end":return a.stop()}}),a)})))()},stop:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function a(){return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,l.a.get("/v1/od/stop/"+e);case 3:t.status(),t.$toasted.success("OD instance stopped!"),a.next=10;break;case 7:a.prev=7,a.t0=a["catch"](0),t.$toasted.error("There was an error!");case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()}}},fe=pe,he=Object(h["a"])(fe,R,O,!1,null,"b161a638",null),me=he.exports,ve={name:"Dashboard",components:{OdCard:S,MltdCard:w,CeptdCard:me}},be=ve,ge=Object(h["a"])(be,r,n,!1,null,"47d79d9c",null);t["default"]=ge.exports}}]);
2   -//# sourceMappingURL=chunk-2d0d70a2.bbc301fd.js.map
api/public/js/chunk-2d0d70a2.bbc301fd.js.map View file @ fa297f2
1   -{"version":3,"sources":["webpack:///./src/pages/panel/dashboard.vue?9105","webpack:///./src/components/MltdCard.vue?1c70","webpack:///./src/components/RunningFor.vue?1952","webpack:///src/components/RunningFor.vue","webpack:///./src/components/RunningFor.vue?01ac","webpack:///./src/components/RunningFor.vue","webpack:///src/components/MltdCard.vue","webpack:///./src/components/MltdCard.vue?c331","webpack:///./src/components/MltdCard.vue","webpack:///./src/components/OdCard.vue?41b6","webpack:///src/components/OdCard.vue","webpack:///./src/components/OdCard.vue?a50d","webpack:///./src/components/OdCard.vue","webpack:///./src/components/CeptdCard.vue?20f0","webpack:///./src/components/CapecList.vue?fb11","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/vue-json-component/dist/index.module.js","webpack:///./src/components/DataTable.vue?783c","webpack:///src/components/DataTable.vue","webpack:///./src/components/DataTable.vue?b009","webpack:///./src/components/DataTable.vue","webpack:///src/components/CapecList.vue","webpack:///./src/components/CapecList.vue?5dc0","webpack:///./src/components/CapecList.vue","webpack:///src/components/CeptdCard.vue","webpack:///./src/components/CeptdCard.vue?0055","webpack:///./src/components/CeptdCard.vue","webpack:///src/pages/panel/dashboard.vue","webpack:///./src/pages/panel/dashboard.vue?a4cc","webpack:///./src/pages/panel/dashboard.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","staticRenderFns","scopedSlots","_u","key","fn","_v","proxy","on","start","items","length","fields","row","Date","item","created_at","int","_s","minutes","seconds","$event","stopPropagation","stop","process_id","_e","model","value","callback","$$v","top","expression","train","topResults","topTimeframe","_t","days","hours","name","props","date","required","data","interval","intervals","second","minute","hour","day","mounted","setInterval","updateDiffs","destroyed","clearInterval","methods","Math","floor","diff","component","components","RunningFor","created","status","showPcapModal","ref","upload","Boolean","file","analyzePid","pid","$refs","show","onContextChanged","dataLoadProvider","isBusy","formatDate","_source","timestamp","toggleDetails","detailsShowing","cve","tree","__assign","Object","assign","t","s","i","n","arguments","p","prototype","hasOwnProperty","call","apply","_typeof","obj","Symbol","iterator","constructor","script","extend","open","depth","maxDepth","type","Number","default","canSelect","toggleOpen","clickEvent","$emit","path","bubbleSelected","getKey","isNaN","getValueStyle","color","computed","classes","opened","valueClasses","lengthString","dataValue","JSON","stringify","__vue_script__","__vue_render__","class","_l","children","child","directives","rawName","undefined","indexOf","_k","keyCode","style","__vue_staticRenderFns__","__vue_inject_styles__","inject","source","map","media","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_normalize__","template","scope","functional","moduleIdentifier","createInjector","createInjectorSSR","hook","options","__file","_compiled","_scopeId","context","originalRender","h","existing","beforeCreate","concat","__vue_create_injector__","head","document","getElementsByTagName","styles","isOldIE","navigator","test","userAgent","toLowerCase","id","css","querySelector","group","ids","parts","element","includes","code","index","push","sources","btoa","unescape","encodeURIComponent","el","createElement","setAttribute","appendChild","parseInt","getAttribute","styleSheet","cssText","filter","join","textNode","createTextNode","nodes","childNodes","removeChild","insertBefore","JSONViewItem","script$1","window","matchMedia","matches","rootKey","String","colorScheme","build","val","includeKey","isObject","_i","_a","entries","_b","childKey","childValue","isArray","toString","slice","Array","itemSelected","parsed","hasSelectedListener","$listeners","selected","__vue_script__$1","__vue_render__$1","dark","__vue_staticRenderFns__$1","__vue_inject_styles__$1","__vue_scope_id__$1","__vue_module_identifier__$1","__vue_is_functional_template__$1","__vue_normalize__$1","__vue_create_injector__$1","JSONView","pageOptions","perPage","paging","totalRows","currentPage","lengthChange","infos","searchRoute","searchQuery","action","actions","keys","DataTable","datatable","loadData","ctx","sortBy","sortDesc","table","refresh","tmp","substring","CapecList","OdCard","MltdCard","CeptdCard"],"mappings":"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","file":"js/chunk-2d0d70a2.bbc301fd.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card-group',{attrs:{\"deck\":\"\"}},[_c('mltd-card'),_c('od-card')],1),_c('b-card-group',{staticClass:\"mt-3\",attrs:{\"deck\":\"\"}},[_c('ceptd-card')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"bg-variant\":\"primary\",\"text-variant\":\"white\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('b-row',[_c('b-col',{staticClass:\"text-left\"},[_c('h4',[_vm._v(\"MLTD\")])]),_c('b-col',{staticClass:\"text-right\"},[_c('b-dropdown',{attrs:{\"size\":\"sm\",\"variant\":\"primary\",\"no-caret\":\"\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('fa',{attrs:{\"icon\":\"cogs\"}})]},proxy:true}])},[_c('b-dropdown-item',{on:{\"click\":_vm.start}},[_vm._v(\" Start new instance \")])],1)],1)],1)]},proxy:true}])},[(_vm.items.length > 0)?_c('b-table',{attrs:{\"fields\":_vm.fields,\"items\":_vm.items,\"thead-class\":\"text-white\",\"tbody-class\":\"text-white\"},scopedSlots:_vm._u([{key:\"cell(created_at)\",fn:function(row){return [_c('running-for',{staticClass:\"red\",attrs:{\"date\":new Date(row.item.created_at)},scopedSlots:_vm._u([{key:\"default\",fn:function(int){return [_vm._v(\" \"+_vm._s(int.minutes)+\" Minutes and \"+_vm._s(int.seconds)+\" Seconds \")]}}],null,true)})]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-button',{attrs:{\"variant\":\"danger\",\"size\":\"sm\",\"title\":\"Stop\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.stop(row.item.process_id)}}},[_c('fa',{attrs:{\"icon\":\"stop\"}})],1)]}}],null,false,4095574679)}):_vm._e(),_c('b-row',{attrs:{\"align-h\":\"end\"}},[_c('b-form-group',{attrs:{\"label-cols\":\"3\",\"label-cols-lg\":\"3\",\"label-size\":\"sm\",\"label\":\"Top Events\",\"label-for\":\"input-sm\"}},[_c('b-input-group',{attrs:{\"size\":\"sm\"}},[_c('b-form-input',{attrs:{\"type\":\"number\"},model:{value:(_vm.top),callback:function ($$v) {_vm.top=$$v},expression:\"top\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"info\"},on:{\"click\":_vm.train}},[_vm._v(\" Get \")])],1)],1)],1)],1),(_vm.topResults.length > 0)?_c('b-row',[_c('b-form-tags',{staticClass:\"mb-2\",attrs:{\"disabled\":\"\",\"placeholder\":\"\"},model:{value:(_vm.topResults),callback:function ($$v) {_vm.topResults=$$v},expression:\"topResults\"}}),_c('h6',[_vm._v(\"Timeframe: \"+_vm._s(_vm.topTimeframe))])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_vm._t(\"default\",[_vm._v(_vm._s(_vm.days)+\" days \"+_vm._s(_vm.hours)+\" hours \"+_vm._s(_vm.minutes)+\" minutes \"+_vm._s(_vm.seconds)+\" seconds\")],{\"days\":_vm.days,\"hours\":_vm.hours,\"minutes\":_vm.minutes,\"seconds\":_vm.seconds})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span>\n <slot :days=\"days\" :hours=\"hours\" :minutes=\"minutes\" :seconds=\"seconds\">{{ days }} days {{ hours }} hours {{ minutes }} minutes {{ seconds }} seconds</slot>\n </span>\n</template>\n\n<script>\nexport default {\n name: 'RunningFor',\n props: {\n date: {\n required: true\n }\n },\n data () {\n return {\n interval: null,\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n intervals: {\n second: 1000,\n minute: 1000 * 60,\n hour: 1000 * 60 * 60,\n day: 1000 * 60 * 60 * 24\n }\n }\n },\n mounted () {\n this.interval = setInterval(() => {\n this.updateDiffs()\n }, 1000)\n\n this.updateDiffs()\n },\n destroyed () {\n clearInterval(this.interval)\n },\n methods: {\n updateDiffs () {\n // lets figure out our diffs\n let diff = Math.abs(Date.now() - this.date.getTime())\n this.days = Math.floor(diff / this.intervals.day)\n diff -= this.days * this.intervals.day\n this.hours = Math.floor(diff / this.intervals.hour)\n diff -= this.hours * this.intervals.hour\n this.minutes = Math.floor(diff / this.intervals.minute)\n diff -= this.minutes * this.intervals.minute\n this.seconds = Math.floor(diff / this.intervals.second)\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RunningFor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RunningFor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RunningFor.vue?vue&type=template&id=32d5ab49&scoped=true&\"\nimport script from \"./RunningFor.vue?vue&type=script&lang=js&\"\nexport * from \"./RunningFor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32d5ab49\",\n null\n \n)\n\nexport default component.exports","<template>\n <b-card bg-variant=\"primary\" text-variant=\"white\">\n <template v-slot:header>\n <b-row>\n <b-col class=\"text-left\">\n <h4>MLTD</h4>\n </b-col>\n <b-col class=\"text-right\">\n <b-dropdown size=\"sm\" variant=\"primary\" no-caret right>\n <template v-slot:button-content>\n <fa icon=\"cogs\" />\n </template>\n <b-dropdown-item @click=\"start\">\n Start new instance\n </b-dropdown-item>\n </b-dropdown>\n </b-col>\n </b-row>\n </template>\n <b-table v-if=\"items.length > 0\" :fields=\"fields\" :items=\"items\" thead-class=\"text-white\" tbody-class=\"text-white\">\n <template v-slot:cell(created_at)=\"row\">\n <running-for :date=\"new Date(row.item.created_at)\" class=\"red\">\n <template slot-scope=\"int\">\n {{ int.minutes }} Minutes and {{ int.seconds }} Seconds\n </template>\n </running-for>\n </template>\n <template v-slot:cell(actions)=\"row\">\n <b-button variant=\"danger\"\n size=\"sm\"\n title=\"Stop\"\n @click.stop=\"stop(row.item.process_id)\"\n >\n <fa icon=\"stop\" />\n </b-button>\n </template>\n </b-table>\n <b-row align-h=\"end\">\n <b-form-group label-cols=\"3\" label-cols-lg=\"3\" label-size=\"sm\" label=\"Top Events\" label-for=\"input-sm\">\n <b-input-group size=\"sm\">\n <b-form-input v-model=\"top\" type=\"number\" />\n <b-input-group-append>\n <b-button variant=\"info\" @click=\"train\">\n Get\n </b-button>\n </b-input-group-append>\n </b-input-group>\n </b-form-group>\n </b-row>\n <b-row v-if=\"topResults.length > 0\">\n <b-form-tags v-model=\"topResults\" class=\"mb-2\" disabled placeholder=\"\"></b-form-tags>\n <h6>Timeframe: {{ topTimeframe }}</h6>\n </b-row>\n </b-card>\n</template>\n\n<script>\nimport axios from 'axios'\nimport RunningFor from './RunningFor'\n\nexport default {\n name: 'MltdCard',\n components: {\n RunningFor\n },\n data () {\n return {\n top: 10,\n topResults: [],\n topTimeframe: '',\n fields: [\n { key: 'process_id', label: 'Process' },\n { key: 'created_at', label: 'Running for' },\n { key: 'actions', label: 'Actions' }\n ],\n items: []\n }\n },\n created () {\n this.status()\n },\n methods: {\n async start () {\n try {\n await axios.get('/v1/mltd/start')\n this.status()\n this.$toasted.success('MTLD instance started!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async status () {\n try {\n const { data } = await axios.get('/v1/mltd/status')\n this.items = data\n } catch (e) {\n this.$toasted.error('There was an error while fetching running MLTD instances!')\n }\n },\n async stop (pid) {\n try {\n await axios.get('/v1/mltd/stop/' + pid)\n this.status()\n this.$toasted.success('MTLD instance stopped!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async train () {\n try {\n const { data } = await axios.get('/v1/mltd/1/' + this.top)\n this.topResults = data.important_events\n this.topTimeframe = data.timeframe\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MltdCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MltdCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MltdCard.vue?vue&type=template&id=16d34248&scoped=true&\"\nimport script from \"./MltdCard.vue?vue&type=script&lang=js&\"\nexport * from \"./MltdCard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"16d34248\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"bg-variant\":\"success\",\"text-variant\":\"white\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('b-row',[_c('b-col',{staticClass:\"text-left\"},[_c('h5',[_vm._v(\"OD\")])]),_c('b-col',{staticClass:\"text-right\"},[_c('b-dropdown',{attrs:{\"size\":\"sm\",\"variant\":\"success\",\"no-caret\":\"\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('fa',{attrs:{\"icon\":\"cogs\"}})]},proxy:true}])},[_c('b-dropdown-item',{on:{\"click\":_vm.start}},[_vm._v(\" Start new instance \")])],1)],1)],1)]},proxy:true}])},[(_vm.items.length > 0)?_c('b-table',{attrs:{\"fields\":_vm.fields,\"items\":_vm.items,\"thead-class\":\"text-white\",\"tbody-class\":\"text-white\"},scopedSlots:_vm._u([{key:\"cell(created_at)\",fn:function(row){return [_c('running-for',{staticClass:\"red\",attrs:{\"date\":new Date(row.item.created_at)},scopedSlots:_vm._u([{key:\"default\",fn:function(int){return [_vm._v(\" \"+_vm._s(int.minutes)+\" Minutes and \"+_vm._s(int.seconds)+\" Seconds \")]}}],null,true)})]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-button',{attrs:{\"variant\":\"secondary\",\"size\":\"sm\",\"title\":\"Analyze\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showPcapModal(row.item.process_id)}}},[_c('fa',{attrs:{\"icon\":\"search\"}})],1),_c('b-button',{staticClass:\"ml-2\",attrs:{\"variant\":\"danger\",\"size\":\"sm\",\"title\":\"Stop\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.stop(row.item.process_id)}}},[_c('fa',{attrs:{\"icon\":\"stop\"}})],1)]}}],null,false,44482582)}):_vm._e(),_c('b-modal',{ref:\"pcap-modal\",attrs:{\"title\":\"Upload PCAP\",\"ok-title\":\"Upload\",\"ok-variant\":\"primary\",\"cancel-variant\":\"muted\",\"size\":\"lg\"},on:{\"ok\":_vm.upload}},[_c('b-form',{attrs:{\"autocomplete\":\"off\"}},[_c('b-form-file',{attrs:{\"state\":Boolean(_vm.file),\"accept\":\".pcap\",\"placeholder\":\"Choose a file or drop it here...\",\"drop-placeholder\":\"Drop file here...\"},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-card bg-variant=\"success\" text-variant=\"white\">\n <template v-slot:header>\n <b-row>\n <b-col class=\"text-left\">\n <h5>OD</h5>\n </b-col>\n <b-col class=\"text-right\">\n <b-dropdown size=\"sm\" variant=\"success\" no-caret right>\n <template v-slot:button-content>\n <fa icon=\"cogs\" />\n </template>\n <b-dropdown-item @click=\"start\">\n Start new instance\n </b-dropdown-item>\n </b-dropdown>\n </b-col>\n </b-row>\n </template>\n <b-table v-if=\"items.length > 0\" :fields=\"fields\" :items=\"items\" thead-class=\"text-white\" tbody-class=\"text-white\">\n <template v-slot:cell(created_at)=\"row\">\n <running-for :date=\"new Date(row.item.created_at)\" class=\"red\">\n <template slot-scope=\"int\">\n {{ int.minutes }} Minutes and {{ int.seconds }} Seconds\n </template>\n </running-for>\n </template>\n <template v-slot:cell(actions)=\"row\">\n <b-button variant=\"secondary\"\n size=\"sm\"\n title=\"Analyze\"\n @click.stop=\"showPcapModal(row.item.process_id)\"\n >\n <fa icon=\"search\" />\n </b-button>\n <b-button variant=\"danger\"\n size=\"sm\"\n class=\"ml-2\"\n title=\"Stop\"\n @click.stop=\"stop(row.item.process_id)\"\n >\n <fa icon=\"stop\" />\n </b-button>\n </template>\n </b-table>\n <b-modal\n ref=\"pcap-modal\"\n title=\"Upload PCAP\"\n ok-title=\"Upload\"\n ok-variant=\"primary\"\n cancel-variant=\"muted\"\n size=\"lg\"\n @ok=\"upload\"\n >\n <b-form autocomplete=\"off\">\n <b-form-file\n v-model=\"file\"\n :state=\"Boolean(file)\"\n accept=\".pcap\"\n placeholder=\"Choose a file or drop it here...\"\n drop-placeholder=\"Drop file here...\"\n ></b-form-file>\n </b-form>\n </b-modal>\n </b-card>\n</template>\n\n<script>\nimport axios from 'axios'\nimport RunningFor from './RunningFor'\n\nexport default {\n name: 'OdCard',\n components: {\n RunningFor\n },\n data () {\n return {\n file: null,\n fields: [\n { key: 'process_id', label: 'Process' },\n { key: 'created_at', label: 'Running for' },\n { key: 'actions', label: 'Actions' }\n ],\n analyzePid: '',\n items: []\n }\n },\n created () {\n this.status()\n },\n methods: {\n async start () {\n try {\n await axios.get('/v1/od/start')\n this.status()\n this.$toasted.success('OD instance started!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async status () {\n try {\n const { data } = await axios.get('/v1/od/status')\n this.items = data\n } catch (e) {\n this.$toasted.error('There was an error while fetching running OD instances!')\n }\n },\n showPcapModal (pid) {\n this.analyzePid = pid\n this.$refs['pcap-modal'].show()\n },\n async stop (pid) {\n try {\n await axios.get('/v1/od/stop/' + pid)\n this.status()\n this.$toasted.success('OD instance stopped!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async upload () {\n const formData = new FormData()\n formData.append('file', this.file)\n await axios.post('/v1/od/analyze/' + this.analyzePid,\n formData,\n {\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n }\n ).then(() => {\n this.file = null\n this.analyzePid = ''\n this.$toasted.success('PCAP uploaded successfully!')\n })\n .catch(() => {\n this.$toasted.error('There was an error while uploading the PCAP file!')\n })\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OdCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OdCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OdCard.vue?vue&type=template&id=7cd71a66&scoped=true&\"\nimport script from \"./OdCard.vue?vue&type=script&lang=js&\"\nexport * from \"./OdCard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7cd71a66\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"bg-variant\":\"light\"},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('b-row',[_c('b-col',{staticClass:\"text-left\"},[_c('h5',[_vm._v(\"CEPTD\")])]),_c('b-col',{staticClass:\"text-right\"},[_c('b-card-text',[_vm._v(\"Status: Running\")])],1)],1)]},proxy:true}])},[_c('capec-list')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('data-table',{ref:\"datatable\",attrs:{\"search-route\":\"capec\"},on:{\"context-changed\":_vm.onContextChanged}},[_c('b-table',{ref:\"table\",attrs:{\"stacked\":\"md\",\"fields\":_vm.fields,\"items\":_vm.dataLoadProvider,\"busy\":_vm.isBusy,\"empty-text\":\"No records found\"},on:{\"update:busy\":function($event){_vm.isBusy=$event}},scopedSlots:_vm._u([{key:\"cell(_source.timestamp)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.formatDate(row.item._source.timestamp))+\" \")]}},{key:\"cell(actions)\",fn:function(row){return [_c('b-button',{staticClass:\"mr-2\",attrs:{\"variant\":\"info\",\"title\":\"Paths\"},on:{\"click\":function($event){$event.stopPropagation();return row.toggleDetails($event)}}},[_c('fa',{attrs:{\"icon\":row.detailsShowing ? 'arrow-up' : 'arrow-down'}})],1)]}},{key:\"row-details\",fn:function(row){return [(row.item._source.tree)?_c('div',[_c('json-view',{attrs:{\"root-key\":row.item._source.cve,\"data\":row.item._source.tree}})],1):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __assign } from 'tslib';\nimport Vue from 'vue';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nvar script = Vue.extend({\n name: 'json-view-item',\n data: function data() {\n return {\n open: this.data.depth < this.maxDepth\n };\n },\n props: {\n data: {\n required: true,\n type: Object\n },\n maxDepth: {\n type: Number,\n required: false,\n default: 1\n },\n canSelect: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n methods: {\n toggleOpen: function toggleOpen() {\n this.open = !this.open;\n },\n clickEvent: function clickEvent(data) {\n this.$emit('selected', {\n key: data.key,\n value: data.value,\n path: data.path\n });\n },\n bubbleSelected: function bubbleSelected(data) {\n this.$emit('selected', data);\n },\n getKey: function getKey(value) {\n if (!isNaN(value.key)) {\n return value.key + ':';\n } else {\n return '\"' + value.key + '\":';\n }\n },\n getValueStyle: function getValueStyle(value) {\n var type = _typeof(value);\n\n switch (type) {\n case 'string':\n return {\n color: 'var(--vjc-string-color)'\n };\n\n case 'number':\n return {\n color: 'var(--vjc-number-color)'\n };\n\n case 'boolean':\n return {\n color: 'var(--vjc-boolean-color)'\n };\n\n case 'object':\n return {\n color: 'var(--vjc-null-color)'\n };\n\n case 'undefined':\n return {\n color: 'var(--vjc-null-color)'\n };\n\n default:\n return {\n color: 'var(--vjc-valueKey-color)'\n };\n }\n }\n },\n computed: {\n classes: function classes() {\n return {\n 'chevron-arrow': true,\n opened: this.open\n };\n },\n valueClasses: function valueClasses() {\n return {\n 'value-key': true,\n 'can-select': this.canSelect\n };\n },\n lengthString: function lengthString() {\n if (this.data.type === 'array') {\n return this.data.length === 1 ? this.data.length + ' element' : this.data.length + ' elements';\n }\n\n return this.data.length === 1 ? this.data.length + ' property' : this.data.length + ' properties';\n },\n dataValue: function dataValue() {\n if (typeof this.data.value === 'undefined') {\n return 'undefined';\n }\n\n return JSON.stringify(this.data.value);\n }\n }\n});\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n staticClass: \"json-view-item\"\n }, [_vm.data.type === 'object' || _vm.data.type === 'array' ? _c('div', [_c('button', {\n staticClass: \"data-key\",\n attrs: {\n \"aria-expanded\": _vm.open ? 'true' : 'false'\n },\n on: {\n \"click\": function click($event) {\n $event.stopPropagation();\n return _vm.toggleOpen($event);\n }\n }\n }, [_c('div', {\n class: _vm.classes\n }), _vm._v(\"\\n \" + _vm._s(_vm.data.key) + \":\\n \"), _c('span', {\n staticClass: \"properties\"\n }, [_vm._v(_vm._s(_vm.lengthString))])]), _vm._v(\" \"), _vm._l(_vm.data.children, function (child) {\n return _c('json-view-item', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.open,\n expression: \"open\"\n }],\n key: _vm.getKey(child),\n attrs: {\n \"data\": child,\n \"maxDepth\": _vm.maxDepth,\n \"canSelect\": _vm.canSelect\n },\n on: {\n \"selected\": _vm.bubbleSelected\n }\n });\n })], 2) : _vm._e(), _vm._v(\" \"), _vm.data.type === 'value' ? _c('div', {\n class: _vm.valueClasses,\n attrs: {\n \"role\": _vm.canSelect ? 'button' : undefined,\n \"tabindex\": _vm.canSelect ? '0' : undefined\n },\n on: {\n \"click\": function click($event) {\n return _vm.clickEvent(_vm.data);\n },\n \"keyup\": [function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) {\n return null;\n }\n\n return _vm.clickEvent(_vm.data);\n }, function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"space\", 32, $event.key, [\" \", \"Spacebar\"])) {\n return null;\n }\n\n return _vm.clickEvent(_vm.data);\n }]\n }\n }, [_c('span', {\n staticClass: \"value-key\"\n }, [_vm._v(_vm._s(_vm.data.key) + \":\")]), _vm._v(\" \"), _c('span', {\n style: _vm.getValueStyle(_vm.data.value)\n }, [_vm._v(\"\\n \" + _vm._s(_vm.dataValue) + \"\\n \")])]) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = function __vue_inject_styles__(inject) {\n if (!inject) return;\n inject(\"data-v-c45632d2_0\", {\n source: \".json-view-item[data-v-c45632d2]:not(.root-item){margin-left:15px}.value-key[data-v-c45632d2]{color:var(--vjc-valueKey-color);font-weight:600;margin-left:10px;border-radius:2px;white-space:nowrap;padding:5px 5px 5px 10px}.value-key.can-select[data-v-c45632d2]{cursor:pointer}.value-key.can-select[data-v-c45632d2]:hover{background-color:rgba(0,0,0,.08)}.value-key.can-select[data-v-c45632d2]:focus{outline:2px solid var(--vjc-hover-color)}.data-key[data-v-c45632d2]{font-size:100%;font-family:inherit;border:0;padding:0;background-color:transparent;width:100%;color:var(--vjc-key-color);display:flex;align-items:center;border-radius:2px;font-weight:600;cursor:pointer;white-space:nowrap;padding:5px}.data-key[data-v-c45632d2]:hover{background-color:var(--vjc-hover-color)}.data-key[data-v-c45632d2]:focus{outline:2px solid var(--vjc-hover-color)}.data-key[data-v-c45632d2]::-moz-focus-inner{border:0}.data-key .properties[data-v-c45632d2]{font-weight:300;opacity:.9;margin-left:4px;user-select:none}.chevron-arrow[data-v-c45632d2]{flex-shrink:0;border-right:4px solid var(--vjc-arrow-color);border-bottom:4px solid var(--vjc-arrow-color);width:var(--vjc-arrow-size);height:var(--vjc-arrow-size);margin-right:20px;margin-left:5px;transform:rotate(-45deg)}.chevron-arrow.opened[data-v-c45632d2]{margin-top:-3px;transform:rotate(45deg)}\",\n map: undefined,\n media: undefined\n });\n};\n/* scoped */\n\n\nvar __vue_scope_id__ = \"data-v-c45632d2\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* component normalizer */\n\nfunction __vue_normalize__(template, style, script, scope, functional, moduleIdentifier, createInjector, createInjectorSSR) {\n var component = (typeof script === 'function' ? script.options : script) || {}; // For security concerns, we use only base name in production mode.\n\n component.__file = \"JSONViewItem.vue\";\n\n if (!component.render) {\n component.render = template.render;\n component.staticRenderFns = template.staticRenderFns;\n component._compiled = true;\n if (functional) component.functional = true;\n }\n\n component._scopeId = scope;\n\n {\n var hook;\n\n if (style) {\n hook = function hook(context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n var originalRender = component.render;\n\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = component.beforeCreate;\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n }\n\n return component;\n}\n/* style inject */\n\n\nfunction __vue_create_injector__() {\n var head = document.head || document.getElementsByTagName('head')[0];\n var styles = __vue_create_injector__.styles || (__vue_create_injector__.styles = {});\n var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return; // SSR styles are present.\n\n var group = isOldIE ? css.media || 'default' : id;\n var style = styles[group] || (styles[group] = {\n ids: [],\n parts: [],\n element: undefined\n });\n\n if (!style.ids.includes(id)) {\n var code = css.source;\n var index = style.ids.length;\n style.ids.push(id);\n\n if (css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875\n\n code += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */';\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']');\n }\n\n if (!style.element) {\n var el = style.element = document.createElement('style');\n el.type = 'text/css';\n if (css.media) el.setAttribute('media', css.media);\n\n if (isOldIE) {\n el.setAttribute('data-group', group);\n el.setAttribute('data-next-index', '0');\n }\n\n head.appendChild(el);\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'));\n style.element.setAttribute('data-next-index', index + 1);\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code);\n style.element.styleSheet.cssText = style.parts.filter(Boolean).join('\\n');\n } else {\n var textNode = document.createTextNode(code);\n var nodes = style.element.childNodes;\n if (nodes[index]) style.element.removeChild(nodes[index]);\n if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode);\n }\n }\n };\n}\n/* style inject SSR */\n\n\nvar JSONViewItem = __vue_normalize__({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, __vue_create_injector__, undefined);\n\nvar isDarkMediaQuery = window.matchMedia('(prefers-color-scheme: dark)').matches;\nvar script$1 = Vue.extend({\n name: 'json-view',\n props: {\n data: {\n required: true\n },\n rootKey: {\n type: String,\n required: false,\n default: 'root'\n },\n maxDepth: {\n type: Number,\n required: false,\n default: 1\n },\n colorScheme: {\n type: String,\n required: false,\n default: 'light'\n }\n },\n components: {\n 'json-view-item': JSONViewItem\n },\n methods: {\n build: function build(key, val, depth, path, includeKey) {\n if (this.isObject(val)) {\n // Build Object\n var children = [];\n\n for (var _i = 0, _a = Object.entries(val); _i < _a.length; _i++) {\n var _b = _a[_i],\n childKey = _b[0],\n childValue = _b[1];\n children.push(this.build(childKey, childValue, depth + 1, includeKey ? \"\" + path + key + \".\" : \"\" + path, true));\n }\n\n return {\n key: key,\n type: 'object',\n depth: depth,\n path: path,\n length: children.length,\n children: children\n };\n } else if (this.isArray(val)) {\n // Build Array\n var children = [];\n\n for (var i = 0; i < val.length; i++) {\n children.push(this.build(i.toString(), val[i], depth + 1, includeKey ? \"\" + path + key + \"[\" + i + \"].\" : \"\" + path, false));\n }\n\n return {\n key: key,\n type: 'array',\n depth: depth,\n path: path,\n length: children.length,\n children: children\n };\n } else {\n // Build Value\n return {\n key: key,\n type: 'value',\n path: includeKey ? path + key : path.slice(0, -1),\n depth: depth,\n value: val\n };\n }\n },\n isObject: function isObject(val) {\n return _typeof(val) === 'object' && val !== null && !this.isArray(val);\n },\n isArray: function isArray(val) {\n return Array.isArray(val);\n },\n itemSelected: function itemSelected(data) {\n this.$emit('selected', data);\n }\n },\n computed: {\n parsed: function parsed() {\n if (_typeof(this.data) === 'object') {\n return this.build(this.rootKey, __assign({}, this.data), 0, '', true);\n }\n\n return {\n key: this.rootKey,\n type: 'value',\n path: '',\n depth: 0,\n value: this.data\n };\n },\n hasSelectedListener: function hasSelectedListener() {\n return Boolean(this.$listeners && this.$listeners.selected);\n }\n }\n});\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('json-view-item', {\n class: [{\n 'root-item': true,\n dark: _vm.colorScheme === 'dark'\n }],\n attrs: {\n \"data\": _vm.parsed,\n \"maxDepth\": _vm.maxDepth,\n \"canSelect\": _vm.hasSelectedListener\n },\n on: {\n \"selected\": _vm.itemSelected\n }\n });\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = function __vue_inject_styles__(inject) {\n if (!inject) return;\n inject(\"data-v-1c053202_0\", {\n source: \".root-item[data-v-1c053202]{--vjc-key-color:#0977e6;--vjc-valueKey-color:#073642;--vjc-string-color:#268bd2;--vjc-number-color:#2aa198;--vjc-boolean-color:#cb4b16;--vjc-null-color:#6c71c4;--vjc-arrow-size:6px;--vjc-arrow-color:#444;--vjc-hover-color:rgba(0, 0, 0, 0.2);margin-left:0;width:100%;height:auto}.root-item.dark[data-v-1c053202]{--vjc-key-color:#80d8ff;--vjc-valueKey-color:#fdf6e3;--vjc-hover-color:rgba(255, 255, 255, 0.2);--vjc-arrow-color:#fdf6e3}\",\n map: undefined,\n media: undefined\n });\n};\n/* scoped */\n\n\nvar __vue_scope_id__$1 = \"data-v-1c053202\";\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* component normalizer */\n\nfunction __vue_normalize__$1(template, style, script, scope, functional, moduleIdentifier, createInjector, createInjectorSSR) {\n var component = (typeof script === 'function' ? script.options : script) || {}; // For security concerns, we use only base name in production mode.\n\n component.__file = \"JSONView.vue\";\n\n if (!component.render) {\n component.render = template.render;\n component.staticRenderFns = template.staticRenderFns;\n component._compiled = true;\n if (functional) component.functional = true;\n }\n\n component._scopeId = scope;\n\n {\n var hook;\n\n if (style) {\n hook = function hook(context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook !== undefined) {\n if (component.functional) {\n // register for functional component in vue file\n var originalRender = component.render;\n\n component.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = component.beforeCreate;\n component.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n }\n\n return component;\n}\n/* style inject */\n\n\nfunction __vue_create_injector__$1() {\n var head = document.head || document.getElementsByTagName('head')[0];\n var styles = __vue_create_injector__$1.styles || (__vue_create_injector__$1.styles = {});\n var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n return function addStyle(id, css) {\n if (document.querySelector('style[data-vue-ssr-id~=\"' + id + '\"]')) return; // SSR styles are present.\n\n var group = isOldIE ? css.media || 'default' : id;\n var style = styles[group] || (styles[group] = {\n ids: [],\n parts: [],\n element: undefined\n });\n\n if (!style.ids.includes(id)) {\n var code = css.source;\n var index = style.ids.length;\n style.ids.push(id);\n\n if (css.map) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875\n\n code += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */';\n }\n\n if (isOldIE) {\n style.element = style.element || document.querySelector('style[data-group=' + group + ']');\n }\n\n if (!style.element) {\n var el = style.element = document.createElement('style');\n el.type = 'text/css';\n if (css.media) el.setAttribute('media', css.media);\n\n if (isOldIE) {\n el.setAttribute('data-group', group);\n el.setAttribute('data-next-index', '0');\n }\n\n head.appendChild(el);\n }\n\n if (isOldIE) {\n index = parseInt(style.element.getAttribute('data-next-index'));\n style.element.setAttribute('data-next-index', index + 1);\n }\n\n if (style.element.styleSheet) {\n style.parts.push(code);\n style.element.styleSheet.cssText = style.parts.filter(Boolean).join('\\n');\n } else {\n var textNode = document.createTextNode(code);\n var nodes = style.element.childNodes;\n if (nodes[index]) style.element.removeChild(nodes[index]);\n if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode);\n }\n }\n };\n}\n/* style inject SSR */\n\n\nvar JSONView = __vue_normalize__$1({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, __vue_create_injector__$1, undefined);\n\nvar index = {\n install: function install(Vue, options) {\n Vue.component('json-view', JSONView);\n }\n};\n\nexport default index;\nexport { JSONView };\n//# sourceMappingURL=index.module.js.map\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"table-container\"},[_c('b-row',[(_vm.lengthChange)?_c('b-col',{staticClass:\"mb-3\",attrs:{\"md\":\"4\"}},[_c('b-form',{attrs:{\"inline\":\"\"}},[_c('label',{staticClass:\"mr-2\"},[_vm._v(\"Show\")]),_c('b-form-select',{staticClass:\"mr-2\",attrs:{\"options\":_vm.pageOptions},on:{\"input\":_vm.onContextChanged},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_c('label',[_vm._v(\"entries per page\")])],1)],1):_vm._e()],1),_vm._t(\"default\"),_c('b-row',[_c('b-col',{staticClass:\"mx-auto\",attrs:{\"md\":\"4\"}},[(_vm.paging && _vm.totalRows > _vm.perPage)?_c('b-pagination',{staticClass:\"justify-content-center\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage},on:{\"input\":_vm.onContextChanged},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}):_vm._e()],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"table-container\">\n <b-row>\n <b-col v-if=\"lengthChange\" md=\"4\" class=\"mb-3\">\n <b-form inline>\n <label class=\"mr-2\">Show</label>\n <b-form-select v-model=\"perPage\" :options=\"pageOptions\" class=\"mr-2\" @input=\"onContextChanged\" />\n <label>entries per page</label>\n </b-form>\n </b-col>\n </b-row>\n <slot />\n <b-row>\n <b-col md=\"4\" class=\"mx-auto\">\n <b-pagination v-if=\"paging && totalRows > perPage\" v-model=\"currentPage\" :total-rows=\"totalRows\" :per-page=\"perPage\"\n class=\"justify-content-center\" @input=\"onContextChanged\"\n />\n </b-col>\n </b-row>\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\n\nexport default {\n name: 'Datatable',\n props: {\n lengthChange: {\n type: Boolean,\n default: true\n },\n paging: {\n type: Boolean,\n default: true\n },\n infos: {\n type: Boolean,\n default: true\n },\n searchRoute: {\n type: String,\n default: null\n }\n },\n data () {\n return {\n currentPage: 1,\n perPage: 10,\n totalRows: 0,\n pageOptions: [5, 10, 15, 25, 50],\n searchQuery: null,\n selected: [],\n action: null\n }\n },\n mounted () {\n if (this.actions) {\n this.action = Object.keys(this.actions)[0]\n }\n },\n methods: {\n onContextChanged () {\n this.$emit('context-changed')\n },\n async loadData (sortBy, sortDesc) {\n try {\n const { data } = await axios.get(this.searchRoute, {\n params: {\n page: this.currentPage,\n perPage: this.perPage,\n column: sortBy,\n direction: sortDesc ? 'desc' : 'asc'\n }\n })\n this.totalRows = data.total\n return data.data\n } catch (e) {\n console.error(e)\n return []\n }\n }\n }\n}\n</script>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DataTable.vue?vue&type=template&id=07c61d56&\"\nimport script from \"./DataTable.vue?vue&type=script&lang=js&\"\nexport * from \"./DataTable.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <data-table ref=\"datatable\"\n search-route=\"capec\"\n @context-changed=\"onContextChanged\"\n >\n <b-table ref=\"table\"\n stacked=\"md\"\n :fields=\"fields\"\n :items=\"dataLoadProvider\"\n :busy.sync=\"isBusy\"\n empty-text=\"No records found\"\n >\n <template v-slot:cell(_source.timestamp)=\"row\">\n {{ formatDate(row.item._source.timestamp) }}\n </template>\n <template v-slot:cell(actions)=\"row\">\n <b-button variant=\"info\"\n title=\"Paths\"\n class=\"mr-2\"\n @click.stop=\"row.toggleDetails\"\n >\n <fa :icon=\"row.detailsShowing ? 'arrow-up' : 'arrow-down'\" />\n </b-button>\n </template>\n <template slot=\"row-details\" slot-scope=\"row\">\n <div v-if=\"row.item._source.tree\">\n <json-view\n :root-key=\"row.item._source.cve\"\n :data=\"row.item._source.tree\" />\n </div>\n </template>\n </b-table>\n </data-table>\n </div>\n</template>\n\n<script>\nimport { JSONView } from 'vue-json-component'\nimport DataTable from './DataTable'\nexport default {\n name: 'CapecList',\n components: {\n DataTable, 'json-view': JSONView\n },\n data () {\n return {\n isBusy: false,\n fields: [\n { key: '_source.timestamp', label: 'Timestamp' },\n { key: '_source.signature_id', label: 'Signature ID' },\n { key: '_source.signature', label: 'Signature' },\n { key: '_source.category', label: 'Category' },\n { key: '_source.cve', label: 'CVE' },\n { key: 'actions', label: 'Actions' }\n ]\n }\n },\n methods: {\n dataLoadProvider (ctx) {\n return this.$refs.datatable.loadData(ctx.sortBy, ctx.sortDesc)\n },\n onContextChanged () {\n return this.$refs.table.refresh()\n },\n formatDate (arg) {\n const tmp = new Date(arg).toString()\n return tmp.substring(0, tmp.length - 40)\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CapecList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CapecList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CapecList.vue?vue&type=template&id=61b282af&scoped=true&\"\nimport script from \"./CapecList.vue?vue&type=script&lang=js&\"\nexport * from \"./CapecList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61b282af\",\n null\n \n)\n\nexport default component.exports","<template>\n <b-card bg-variant=\"light\">\n <template v-slot:header>\n <b-row>\n <b-col class=\"text-left\">\n <h5>CEPTD</h5>\n </b-col>\n <b-col class=\"text-right\">\n <b-card-text>Status: Running</b-card-text>\n </b-col>\n </b-row>\n </template>\n <capec-list />\n </b-card>\n</template>\n\n<script>\nimport axios from 'axios'\nimport CapecList from './CapecList'\n\nexport default {\n name: 'CeptdCard',\n components: {\n CapecList\n },\n data () {\n return {\n file: null,\n fields: [\n { key: 'process_id', label: 'Process' },\n { key: 'created_at', label: 'Running for' },\n { key: 'actions', label: 'Actions' }\n ],\n analyzePid: '',\n items: []\n }\n },\n created () {\n this.status()\n },\n methods: {\n async start () {\n try {\n await axios.get('/v1/od/start')\n this.status()\n this.$toasted.success('OD instance started!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n },\n async status () {\n try {\n const { data } = await axios.get('/v1/od/status')\n this.items = data\n } catch (e) {\n this.$toasted.error('There was an error while fetching running OD instances!')\n }\n },\n async showPcapModal (pid) {\n this.analyzePid = pid\n this.$refs['pcap-modal'].show()\n },\n async stop (pid) {\n try {\n await axios.get('/v1/od/stop/' + pid)\n this.status()\n this.$toasted.success('OD instance stopped!')\n } catch (e) {\n this.$toasted.error('There was an error!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CeptdCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CeptdCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CeptdCard.vue?vue&type=template&id=b161a638&scoped=true&\"\nimport script from \"./CeptdCard.vue?vue&type=script&lang=js&\"\nexport * from \"./CeptdCard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b161a638\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <b-card-group deck>\n <mltd-card />\n <od-card />\n </b-card-group>\n <b-card-group deck class=\"mt-3\">\n <ceptd-card />\n </b-card-group>\n </div>\n</template>\n\n<script>\nimport MltdCard from '~/components/MltdCard'\nimport OdCard from '~/components/OdCard'\nimport CeptdCard from '~/components/CeptdCard'\nexport default {\n name: 'Dashboard',\n components: {\n OdCard,\n MltdCard,\n CeptdCard\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dashboard.vue?vue&type=template&id=47d79d9c&scoped=true&\"\nimport script from \"./dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./dashboard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47d79d9c\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0e55df.3d7ea4b4.js View file @ fa297f2
  1 +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e55df"],{"93d3":function(e,r,t){"use strict";t.r(r);var a=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticStyle:{height:"90vh"}},[t("iframe",{attrs:{width:"100%",height:"100%",src:e.src,frameborder:"0"}})])},n=[],c=(t("96cf"),t("1da1")),s=t("bc3a"),i=t.n(s),o={name:"MLTD",data:function(){return{src:"",params:"/d/dtCrgk6Wk/mltd?orgId=1"}},created:function(){this.config()},methods:{config:function(){var e=this;return Object(c["a"])(regeneratorRuntime.mark((function r(){var t,a;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,i.a.get("/config");case 3:t=r.sent,a=t.data,e.src=a.grafana_url+e.params,r.next=11;break;case 8:r.prev=8,r.t0=r["catch"](0),e.$toasted.error("Error fetching Grafana URL!");case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()}}},u=o,d=t("2877"),f=Object(d["a"])(u,a,n,!1,null,"d5a5e0fc",null);r["default"]=f.exports}}]);
  2 +//# sourceMappingURL=chunk-2d0e55df.3d7ea4b4.js.map
api/public/js/chunk-2d0e55df.3d7ea4b4.js.map View file @ fa297f2
  1 +{"version":3,"sources":["webpack:///./src/pages/panel/components/mltd.vue?e9a7","webpack:///src/pages/panel/components/mltd.vue","webpack:///./src/pages/panel/components/mltd.vue?04f8","webpack:///./src/pages/panel/components/mltd.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","name","data","params","created","config","methods","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,G,6CCQtB,GACEC,KAAM,OACNC,KAFF,WAGI,MAAO,CACLH,IAAK,GACLI,OAAQ,8BAGZC,QARF,WASIZ,KAAKa,UAEPC,QAAS,CACP,OADJ,WACA,yLAEA,mBAFA,gBAEA,EAFA,EAEA,KACA,6BAHA,mDAKA,gDALA,8DCrB4W,I,YCOxWC,EAAY,eACd,EACAjB,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAO,E","file":"js/chunk-2d0e55df.3d7ea4b4.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"90vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 90vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\n\nexport default {\n name: 'MLTD',\n data () {\n return {\n src: '',\n params: '/d/dtCrgk6Wk/mltd?orgId=1'\n }\n },\n created () {\n this.config()\n },\n methods: {\n async config () {\n try {\n const { data } = await axios.get('/config')\n this.src = data.grafana_url + this.params\n } catch (e) {\n this.$toasted.error('Error fetching Grafana URL!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mltd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mltd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mltd.vue?vue&type=template&id=d5a5e0fc&scoped=true&\"\nimport script from \"./mltd.vue?vue&type=script&lang=js&\"\nexport * from \"./mltd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d5a5e0fc\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0e55df.f9fbdca6.js View file @ fa297f2
1   -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e55df"],{"93d3":function(t,e,r){"use strict";r.r(e);var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticStyle:{height:"90vh"}},[r("iframe",{attrs:{width:"100%",height:"100%",src:t.src,frameborder:"0"}})])},a=[],c={name:"MLTD",data:function(){return{src:"http://localhost:3001/d/dtCrgk6Wk/mltd?orgId=1"}}},d=c,s=r("2877"),i=Object(s["a"])(d,n,a,!1,null,"43774b0e",null);e["default"]=i.exports}}]);
2   -//# sourceMappingURL=chunk-2d0e55df.f9fbdca6.js.map
api/public/js/chunk-2d0e55df.f9fbdca6.js.map View file @ fa297f2
1   -{"version":3,"sources":["webpack:///./src/pages/panel/components/mltd.vue?2ef7","webpack:///src/pages/panel/components/mltd.vue","webpack:///./src/pages/panel/components/mltd.vue?04f8","webpack:///./src/pages/panel/components/mltd.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","name","data","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,GCMtB,GACEC,KAAM,OACNC,KAFF,WAGI,MAAO,CACLH,IAAK,oDCXiW,I,YCOxWI,EAAY,eACd,EACAb,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAG,E","file":"js/chunk-2d0e55df.f9fbdca6.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"90vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 90vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'MLTD',\n data () {\n return {\n src: 'http://localhost:3001/d/dtCrgk6Wk/mltd?orgId=1'\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mltd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mltd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mltd.vue?vue&type=template&id=43774b0e&scoped=true&\"\nimport script from \"./mltd.vue?vue&type=script&lang=js&\"\nexport * from \"./mltd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"43774b0e\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0e99de.aec631ff.js View file @ fa297f2
1   -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e99de"],{"8dfb":function(t,e,a){"use strict";a.r(e);var r=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticStyle:{height:"85vh"}},[a("iframe",{attrs:{width:"100%",height:"100%",src:t.src,frameborder:"0"}})])},n=[],s={name:"CEPTD",data:function(){return{src:"http://localhost:5611/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))"}}},c=s,i=a("2877"),o=Object(i["a"])(c,r,n,!1,null,"7e8813f2",null);e["default"]=o.exports}}]);
2   -//# sourceMappingURL=chunk-2d0e99de.aec631ff.js.map
api/public/js/chunk-2d0e99de.aec631ff.js.map View file @ fa297f2
1   -{"version":3,"sources":["webpack:///./src/pages/panel/components/ceptd.vue?adea","webpack:///src/pages/panel/components/ceptd.vue","webpack:///./src/pages/panel/components/ceptd.vue?288a","webpack:///./src/pages/panel/components/ceptd.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","name","data","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,GCMtB,GACEC,KAAM,QACNC,KAFF,WAGI,MAAO,CACLH,IAAK,+ICXkW,I,YCOzWI,EAAY,eACd,EACAb,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAG,E","file":"js/chunk-2d0e99de.aec631ff.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"85vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 85vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'CEPTD',\n data () {\n return {\n src: 'http://localhost:5611/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))'\n }\n }\n}\n</script>\n\n<style scoped>\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ceptd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ceptd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ceptd.vue?vue&type=template&id=7e8813f2&scoped=true&\"\nimport script from \"./ceptd.vue?vue&type=script&lang=js&\"\nexport * from \"./ceptd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e8813f2\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0e99de.fb0153a3.js View file @ fa297f2
  1 +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e99de"],{"8dfb":function(e,r,t){"use strict";t.r(r);var a=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticStyle:{height:"85vh"}},[t("iframe",{attrs:{width:"100%",height:"100%",src:e.src,frameborder:"0"}})])},n=[],c=(t("96cf"),t("1da1")),i=t("bc3a"),s=t.n(i),o={name:"CEPTD",data:function(){return{src:"",params:"/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))"}},created:function(){this.config()},methods:{config:function(){var e=this;return Object(c["a"])(regeneratorRuntime.mark((function r(){var t,a;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,s.a.get("/config");case 3:t=r.sent,a=t.data,e.src=a.kibana_url+e.params,r.next=11;break;case 8:r.prev=8,r.t0=r["catch"](0),e.$toasted.error("Error fetching Kibana URL!");case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()}}},u=o,f=t("2877"),d=Object(f["a"])(u,a,n,!1,null,"3a9f78d0",null);r["default"]=d.exports}}]);
  2 +//# sourceMappingURL=chunk-2d0e99de.fb0153a3.js.map
api/public/js/chunk-2d0e99de.fb0153a3.js.map View file @ fa297f2
  1 +{"version":3,"sources":["webpack:///./src/pages/panel/components/ceptd.vue?0e7c","webpack:///src/pages/panel/components/ceptd.vue","webpack:///./src/pages/panel/components/ceptd.vue?288a","webpack:///./src/pages/panel/components/ceptd.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","name","data","params","created","config","methods","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,G,6CCQtB,GACEC,KAAM,QACNC,KAFF,WAGI,MAAO,CACLH,IAAK,GACLI,OAAQ,yHAGZC,QARF,WASIZ,KAAKa,UAEPC,QAAS,CACP,OADJ,WACA,yLAEA,mBAFA,gBAEA,EAFA,EAEA,KACA,4BAHA,mDAKA,+CALA,8DCrB6W,I,YCOzWC,EAAY,eACd,EACAjB,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAO,E","file":"js/chunk-2d0e99de.fb0153a3.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"85vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 85vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\n\nexport default {\n name: 'CEPTD',\n data () {\n return {\n src: '',\n params: '/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))'\n }\n },\n created () {\n this.config()\n },\n methods: {\n async config () {\n try {\n const { data } = await axios.get('/config')\n this.src = data.kibana_url + this.params\n } catch (e) {\n this.$toasted.error('Error fetching Kibana URL!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ceptd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ceptd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ceptd.vue?vue&type=template&id=3a9f78d0&scoped=true&\"\nimport script from \"./ceptd.vue?vue&type=script&lang=js&\"\nexport * from \"./ceptd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a9f78d0\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d224ec2.03a05a00.js View file @ fa297f2
  1 +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d224ec2"],{e1cc:function(e,n,t){"use strict";t.r(n);var a=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("router-view")},c=[],u={name:"Index",middleware:"auth",layout:"panel"},r=u,l=t("2877"),o=Object(l["a"])(r,a,c,!1,null,"e8b09854",null);n["default"]=o.exports}}]);
  2 +//# sourceMappingURL=chunk-2d224ec2.03a05a00.js.map
api/public/js/chunk-2d224ec2.03a05a00.js.map View file @ fa297f2
  1 +{"version":3,"sources":["webpack:///./src/pages/panel/index.vue?02b7","webpack:///src/pages/panel/index.vue","webpack:///./src/pages/panel/index.vue?8fe5","webpack:///./src/pages/panel/index.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticRenderFns","name","middleware","layout","component"],"mappings":"uHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAC/FE,EAAkB,GCItB,GACEC,KAAM,QACNC,WAAY,OACZC,OAAQ,SCRoV,I,YCO1VC,EAAY,eACd,EACAX,EACAO,GACA,EACA,KACA,WACA,MAIa,aAAAI,E","file":"js/chunk-2d224ec2.03a05a00.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <router-view />\n</template>\n\n<script>\nexport default {\n name: 'Index',\n middleware: 'auth',\n layout: 'panel'\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=e8b09854&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e8b09854\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d224ec2.3db49a2c.js View file @ fa297f2
1   -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d224ec2"],{e1cc:function(e,n,t){"use strict";t.r(n);var a=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("router-view")},c=[],u={name:"Index",middleware:"auth",layout:"panel"},r=u,l=t("2877"),o=Object(l["a"])(r,a,c,!1,null,"e8b09854",null);n["default"]=o.exports}}]);
2   -//# sourceMappingURL=chunk-2d224ec2.3db49a2c.js.map
api/public/js/chunk-2d224ec2.3db49a2c.js.map View file @ fa297f2
1   -{"version":3,"sources":["webpack:///./src/pages/panel/index.vue?fc3f","webpack:///src/pages/panel/index.vue","webpack:///./src/pages/panel/index.vue?8fe5","webpack:///./src/pages/panel/index.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticRenderFns","name","middleware","layout","component"],"mappings":"uHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAC/FE,EAAkB,GCItB,GACEC,KAAM,QACNC,WAAY,OACZC,OAAQ,SCRoV,I,YCO1VC,EAAY,eACd,EACAX,EACAO,GACA,EACA,KACA,WACA,MAIa,aAAAI,E","file":"js/chunk-2d224ec2.3db49a2c.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <router-view />\n</template>\n\n<script>\nexport default {\n name: 'Index',\n middleware: 'auth',\n layout: 'panel'\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=e8b09854&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e8b09854\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-ad9746d8.917304d6.js View file @ fa297f2
1   -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-ad9746d8"],{b1bd:function(e,t,r){},c6f7:function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-container",[r("b-col",{staticClass:"mx-auto",attrs:{sm:"8",md:"6",lg:"4"}},[r("b-card",{staticClass:"login-card"},[r("form",{on:{submit:function(t){return t.preventDefault(),e.login(t)}}},[r("h1",{staticClass:"title text-muted pb-3"},[e._v(" KEA ")]),r("b-form-group",[r("b-input-group",{staticClass:"input-group-seamless no-border",class:{"is-invalid":e.form.invalid("email")}},[r("b-input-group-prepend",[r("span",{staticClass:"input-group-text"},[r("fa",{class:{"text-danger":e.form.feedback("email")},attrs:{icon:"envelope"}})],1)]),r("b-form-input",{attrs:{type:"email",name:"email",required:"",state:e.form.state("email"),placeholder:"Email"},model:{value:e.form.email,callback:function(t){e.$set(e.form,"email",t)},expression:"form.email"}})],1),r("b-form-invalid-feedback",{attrs:{state:e.form.state("email")}},[r("div",{domProps:{innerHTML:e._s(e.form.feedback("email"))}})])],1),r("b-form-group",[r("b-input-group",{staticClass:"input-group-seamless no-border",class:{"is-invalid":e.form.invalid("password")}},[r("b-input-group-prepend",[r("span",{staticClass:"input-group-text"},[r("fa",{class:{"text-danger":e.form.feedback("password")},attrs:{icon:"lock"}})],1)]),r("b-form-input",{attrs:{type:"password",name:"password",required:"",state:e.form.state("password"),placeholder:"Password"},model:{value:e.form.password,callback:function(t){e.$set(e.form,"password",t)},expression:"form.password"}})],1)],1),r("b-button",{staticClass:"w-100",attrs:{type:"submit",block:"",variant:"primary",disabled:e.form.busy}},[e.form.busy?r("b-spinner",{staticClass:"spinner-center",attrs:{small:""}}):e._e(),e._v(" Login ")],1)],1)])],1)],1)},a=[],s=(r("96cf"),r("1da1")),o=(r("99af"),r("4de4"),r("4160"),r("caad"),r("13d5"),r("45fc"),r("b0c0"),r("b64b"),r("d3b7"),r("07ac"),r("ac1f"),r("2532"),r("5319"),r("159b"),r("ddb0"),r("ade3")),i=r("5530");r("a4d3"),r("e01a"),r("d28b"),r("e260"),r("3ca3");function u(e){return u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function f(e,t,r){return t&&l(e.prototype,t),r&&l(e,r),e}var h=r("bc3a"),d=r.n(h);r("7db0"),r("4d63"),r("25f0"),r("1276"),r("2ca0"),r("498a");function b(e){if(null===e||"object"!==u(e))return e;var t=Array.isArray(e)?[]:{};return Object.keys(e).forEach((function(r){t[r]=b(e[r])})),t}function p(e){return Array.isArray(e)?e:[e]}var m=function(){function e(){c(this,e),this.errors={}}return f(e,[{key:"set",value:function(e,t){"object"===u(e)?this.errors=e:this.set(Object(i["a"])({},this.errors,Object(o["a"])({},e,p(t))))}},{key:"all",value:function(){return this.errors}},{key:"has",value:function(e){return this.errors.hasOwnProperty(e)}},{key:"hasAny",value:function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.some((function(t){return e.has(t)}))}},{key:"any",value:function(){return Object.keys(this.errors).length>0}},{key:"get",value:function(e){if(this.has(e))return this.getAll(e)[0]}},{key:"getAll",value:function(e){return p(this.errors[e]||[])}},{key:"only",value:function(){for(var e=this,t=[],r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return n.forEach((function(r){var n=e.get(r);n&&t.push(n)})),t}},{key:"flatten",value:function(){return Object.values(this.errors).reduce((function(e,t){return e.concat(t)}),[])}},{key:"clear",value:function(e){var t=this,r={};e&&Object.keys(this.errors).forEach((function(n){n!==e&&(r[n]=t.errors[n])})),this.set(r)}}]),e}(),v=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};c(this,e),this.busy=!1,this.successful=!1,this.errors=new m,this.originalData=b(t),Object.assign(this,t)}return f(e,[{key:"fill",value:function(e){var t=this;this.keys().forEach((function(r){t[r]=e[r]}))}},{key:"data",value:function(){var e=this;return this.keys().reduce((function(t,r){return Object(i["a"])({},t,Object(o["a"])({},r,e[r]))}),{})}},{key:"keys",value:function(){return Object.keys(this).filter((function(t){return!e.ignore.includes(t)}))}},{key:"startProcessing",value:function(){this.errors.clear(),this.busy=!0,this.successful=!1}},{key:"finishProcessing",value:function(){this.busy=!1,this.successful=!0}},{key:"clear",value:function(){this.errors.clear(),this.successful=!1}},{key:"reset",value:function(){var t=this;Object.keys(this).filter((function(t){return!e.ignore.includes(t)})).forEach((function(e){t[e]=b(t.originalData[e])}))}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("get",e,t)}},{key:"post",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("post",e,t)}},{key:"patch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("patch",e,t)}},{key:"put",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("put",e,t)}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("delete",e,t)}},{key:"submit",value:function(t,r){var n=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.startProcessing();var s="get"===t?{params:this.data()}:this.data();return new Promise((function(o,u){(e.axios||d.a).request(Object(i["a"])({url:n.route(r),method:t,data:s},a)).then((function(e){n.finishProcessing(),o(e)})).catch((function(e){n.busy=!1,e.response&&n.errors.set(n.extractErrors(e.response)),u(e)}))}))}},{key:"extractErrors",value:function(t){return t.data&&"object"===u(t.data)?t.data.errors?Object(i["a"])({},t.data.errors):t.data.message?{error:t.data.message}:Object(i["a"])({},t.data):{error:e.errorMessage}}},{key:"route",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t;return e.routes.hasOwnProperty(t)&&(n=decodeURI(e.routes[t])),"object"!==u(r)&&(r={id:r}),Object.keys(r).forEach((function(e){n=n.replace("{".concat(e,"}"),r[e])})),n}},{key:"onKeydown",value:function(e){e.target.name&&this.errors.clear(e.target.name)}},{key:"feedback",value:function(e){if(this.errors.has(e))return this.errors.get(e)}},{key:"state",value:function(e){return(!this.errors.any()||!this.errors.has(e))&&null}},{key:"invalid",value:function(e){var t=this.state(e);return null!==t}}]),e}();v.routes={},v.errorMessage="Something went wrong. Please try again.",v.ignore=["busy","successful","errors","originalData"];var y=v,g={name:"Login",layout:"public",middleware:"guest",data:function(){return{form:new y({email:"",password:""})}},methods:{login:function(){var e=this;return Object(s["a"])(regeneratorRuntime.mark((function t(){var r,n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.form.post("/login");case 3:n=t.sent,r=n.data,t.next=10;break;case 7:return t.prev=7,t.t0=t["catch"](0),t.abrupt("return");case 10:return e.$store.dispatch("auth/saveToken",{token:r.token,remember:e.remember}),t.next=13,e.$store.dispatch("auth/fetchUser");case 13:e.$router.push({name:"panel.dashboard"});case 14:case"end":return t.stop()}}),t,null,[[0,7]])})))()}}},k=g,w=(r("fc45"),r("2877")),j=Object(w["a"])(k,n,a,!1,null,"844266b8",null);t["default"]=j.exports},fc45:function(e,t,r){"use strict";var n=r("b1bd"),a=r.n(n);a.a}}]);
2   -//# sourceMappingURL=chunk-ad9746d8.917304d6.js.map
api/public/js/chunk-ad9746d8.917304d6.js.map View file @ fa297f2
1   -{"version":3,"sources":["webpack:///./src/pages/login.vue?dd89","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./src/utils/functions.js","webpack:///./src/utils/form.js","webpack:///src/pages/login.vue","webpack:///./src/pages/login.vue?c5a4","webpack:///./src/pages/login.vue","webpack:///./src/pages/login.vue?296c"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","preventDefault","login","_v","class","form","invalid","feedback","state","model","value","callback","$$v","$set","expression","domProps","_s","busy","_e","staticRenderFns","_typeof","obj","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","deepCopy","copy","Array","isArray","keys","forEach","arrayWrap","Errors","errors","field","messages","set","hasOwnProperty","fields","some","has","getAll","message","get","push","values","reduce","a","b","concat","Form","data","successful","originalData","assign","filter","ignore","includes","clear","url","config","submit","method","startProcessing","params","Promise","resolve","reject","axios","request","route","then","response","finishProcessing","catch","error","extractErrors","errorMessage","name","parameters","routes","decodeURI","id","replace","event","any","ret","layout","middleware","methods","component"],"mappings":"8IAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,YAAY,UAAUC,MAAM,CAAC,GAAK,IAAI,GAAK,IAAI,GAAK,MAAM,CAACH,EAAG,SAAS,CAACE,YAAY,cAAc,CAACF,EAAG,OAAO,CAACI,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBV,EAAIW,MAAMF,MAAW,CAACL,EAAG,KAAK,CAACE,YAAY,yBAAyB,CAACN,EAAIY,GAAG,WAAWR,EAAG,eAAe,CAACA,EAAG,gBAAgB,CAACE,YAAY,iCAAiCO,MAAM,CAAE,aAAcb,EAAIc,KAAKC,QAAQ,WAAY,CAACX,EAAG,wBAAwB,CAACA,EAAG,OAAO,CAACE,YAAY,oBAAoB,CAACF,EAAG,KAAK,CAACS,MAAM,CAAE,cAAeb,EAAIc,KAAKE,SAAS,UAAWT,MAAM,CAAC,KAAO,eAAe,KAAKH,EAAG,eAAe,CAACG,MAAM,CAAC,KAAO,QAAQ,KAAO,QAAQ,SAAW,GAAG,MAAQP,EAAIc,KAAKG,MAAM,SAAS,YAAc,SAASC,MAAM,CAACC,MAAOnB,EAAIc,KAAU,MAAEM,SAAS,SAAUC,GAAMrB,EAAIsB,KAAKtB,EAAIc,KAAM,QAASO,IAAME,WAAW,iBAAiB,GAAGnB,EAAG,0BAA0B,CAACG,MAAM,CAAC,MAAQP,EAAIc,KAAKG,MAAM,WAAW,CAACb,EAAG,MAAM,CAACoB,SAAS,CAAC,UAAYxB,EAAIyB,GAAGzB,EAAIc,KAAKE,SAAS,gBAAgB,GAAGZ,EAAG,eAAe,CAACA,EAAG,gBAAgB,CAACE,YAAY,iCAAiCO,MAAM,CAAE,aAAcb,EAAIc,KAAKC,QAAQ,cAAe,CAACX,EAAG,wBAAwB,CAACA,EAAG,OAAO,CAACE,YAAY,oBAAoB,CAACF,EAAG,KAAK,CAACS,MAAM,CAAE,cAAeb,EAAIc,KAAKE,SAAS,aAAcT,MAAM,CAAC,KAAO,WAAW,KAAKH,EAAG,eAAe,CAACG,MAAM,CAAC,KAAO,WAAW,KAAO,WAAW,SAAW,GAAG,MAAQP,EAAIc,KAAKG,MAAM,YAAY,YAAc,YAAYC,MAAM,CAACC,MAAOnB,EAAIc,KAAa,SAAEM,SAAS,SAAUC,GAAMrB,EAAIsB,KAAKtB,EAAIc,KAAM,WAAYO,IAAME,WAAW,oBAAoB,IAAI,GAAGnB,EAAG,WAAW,CAACE,YAAY,QAAQC,MAAM,CAAC,KAAO,SAAS,MAAQ,GAAG,QAAU,UAAU,SAAWP,EAAIc,KAAKY,OAAO,CAAE1B,EAAIc,KAAS,KAAEV,EAAG,YAAY,CAACE,YAAY,iBAAiBC,MAAM,CAAC,MAAQ,MAAMP,EAAI2B,KAAK3B,EAAIY,GAAG,YAAY,IAAI,MAAM,IAAI,IACp2DgB,EAAkB,G,0PCDP,SAASC,EAAQC,GAa9B,OATED,EADoB,oBAAXE,QAAoD,kBAApBA,OAAOC,SACtC,SAAiBF,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,oBAAXC,QAAyBD,EAAIG,cAAgBF,QAAUD,IAAQC,OAAOG,UAAY,gBAAkBJ,GAItHD,EAAQC,GCbF,SAASK,EAAgBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCCFxB,SAASC,EAAkBC,EAAQC,GACjC,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CACrC,IAAIE,EAAaH,EAAMC,GACvBE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,IAInC,SAASO,EAAad,EAAae,EAAYC,GAG5D,OAFID,GAAYb,EAAkBF,EAAYH,UAAWkB,GACrDC,GAAad,EAAkBF,EAAagB,GACzChB,E,qFCmCF,SAASiB,EAAUxB,GACxB,GAAY,OAARA,GAA+B,WAAf,EAAOA,GACzB,OAAOA,EAGT,IAAMyB,EAAOC,MAAMC,QAAQ3B,GAAO,GAAK,GAMvC,OAJAkB,OAAOU,KAAK5B,GAAK6B,SAAQ,SAACT,GACxBK,EAAKL,GAAOI,EAASxB,EAAIoB,OAGpBK,EASF,SAASK,EAAWzC,GACzB,OAAOqC,MAAMC,QAAQtC,GAASA,EAAQ,CAACA,G,IClEnC0C,E,WAIJ,aAAe,UACb5D,KAAK6D,OAAS,G,sCASXC,EAAOC,GACW,WAAjB,EAAOD,GACT9D,KAAK6D,OAASC,EAEd9D,KAAKgE,IAAL,kBAAchE,KAAK6D,OAAnB,kBAA4BC,EAAQH,EAAUI,Q,4BAUhD,OAAO/D,KAAK6D,S,0BASTC,GAEH,OAAO9D,KAAK6D,OAAOI,eAAeH,K,+BASjB,kCAARI,EAAQ,yBAARA,EAAQ,gBACjB,OAAOA,EAAOC,MAAK,SAAAL,GAAK,OAAI,EAAKM,IAAIN,Q,4BASrC,OAAOf,OAAOU,KAAKzD,KAAK6D,QAAQnB,OAAS,I,0BAStCoB,GACH,GAAI9D,KAAKoE,IAAIN,GACX,OAAO9D,KAAKqE,OAAOP,GAAO,K,6BAUtBA,GACN,OAAOH,EAAU3D,KAAK6D,OAAOC,IAAU,M,6BASxB,eACTC,EAAW,GADF,mBAARG,EAAQ,yBAARA,EAAQ,gBAWf,OARAA,EAAOR,SAAQ,SAACI,GACd,IAAMQ,EAAU,EAAKC,IAAIT,GAErBQ,GACFP,EAASS,KAAKF,MAIXP,I,gCASP,OAAOhB,OAAO0B,OAAOzE,KAAK6D,QAAQa,QAAO,SAACC,EAAGC,GAAJ,OAAUD,EAAEE,OAAOD,KAAI,M,4BAQ3Dd,GAAO,WACND,EAAS,GAEXC,GACFf,OAAOU,KAAKzD,KAAK6D,QAAQH,SAAQ,SAACT,GAC5BA,IAAQa,IACVD,EAAOZ,GAAO,EAAKY,OAAOZ,OAKhCjD,KAAKgE,IAAIH,O,KAGPiB,E,WAMJ,aAAwB,IAAXC,EAAW,uDAAJ,GAAI,UACtB/E,KAAKyB,MAAO,EACZzB,KAAKgF,YAAa,EAClBhF,KAAK6D,OAAS,IAAID,EAClB5D,KAAKiF,aAAe5B,EAAS0B,GAE7BhC,OAAOmC,OAAOlF,KAAM+E,G,uCAQhBA,GAAM,WACV/E,KAAKyD,OAAOC,SAAQ,SAACT,GACnB,EAAKA,GAAO8B,EAAK9B,Q,6BASb,WACN,OAAOjD,KAAKyD,OAAOiB,QAAO,SAACK,EAAM9B,GAAP,yBACnB8B,EADmB,kBACZ9B,EAAM,EAAKA,OACtB,M,6BASH,OAAOF,OAAOU,KAAKzD,MAChBmF,QAAO,SAAAlC,GAAG,OAAK6B,EAAKM,OAAOC,SAASpC,Q,wCAOvCjD,KAAK6D,OAAOyB,QACZtF,KAAKyB,MAAO,EACZzB,KAAKgF,YAAa,I,yCAOlBhF,KAAKyB,MAAO,EACZzB,KAAKgF,YAAa,I,8BAOlBhF,KAAK6D,OAAOyB,QACZtF,KAAKgF,YAAa,I,8BAMX,WACPjC,OAAOU,KAAKzD,MACTmF,QAAO,SAAAlC,GAAG,OAAK6B,EAAKM,OAAOC,SAASpC,MACpCS,SAAQ,SAACT,GACR,EAAKA,GAAOI,EAAS,EAAK4B,aAAahC,S,0BAWxCsC,GAAkB,IAAbC,EAAa,uDAAJ,GACjB,OAAOxF,KAAKyF,OAAO,MAAOF,EAAKC,K,2BAU3BD,GAAkB,IAAbC,EAAa,uDAAJ,GAClB,OAAOxF,KAAKyF,OAAO,OAAQF,EAAKC,K,4BAU3BD,GAAkB,IAAbC,EAAa,uDAAJ,GACnB,OAAOxF,KAAKyF,OAAO,QAASF,EAAKC,K,0BAU9BD,GAAkB,IAAbC,EAAa,uDAAJ,GACjB,OAAOxF,KAAKyF,OAAO,MAAOF,EAAKC,K,6BAUzBD,GAAkB,IAAbC,EAAa,uDAAJ,GACpB,OAAOxF,KAAKyF,OAAO,SAAUF,EAAKC,K,6BAW5BE,EAAQH,GAAkB,WAAbC,EAAa,uDAAJ,GAC5BxF,KAAK2F,kBAEL,IAAMZ,EAAkB,QAAXW,EACT,CAAEE,OAAQ5F,KAAK+E,QACf/E,KAAK+E,OAET,OAAO,IAAIc,SAAQ,SAACC,EAASC,IAC1BjB,EAAKkB,OAASA,KAAOC,QAArB,gBAA+BV,IAAK,EAAKW,MAAMX,GAAMG,SAAQX,QAASS,IACpEW,MAAK,SAACC,GACL,EAAKC,mBAELP,EAAQM,MAETE,OAAM,SAACC,GACN,EAAK9E,MAAO,EAER8E,EAAMH,UACR,EAAKvC,OAAOG,IAAI,EAAKwC,cAAcD,EAAMH,WAG3CL,EAAOQ,W,oCAWAH,GACb,OAAKA,EAASrB,MAAiC,WAAzB,EAAOqB,EAASrB,MAIlCqB,EAASrB,KAAKlB,OAChB,kBAAYuC,EAASrB,KAAKlB,QAGxBuC,EAASrB,KAAKT,QACT,CAAEiC,MAAOH,EAASrB,KAAKT,SAGhC,kBAAY8B,EAASrB,MAXZ,CAAEwB,MAAOzB,EAAK2B,gB,4BAqBlBC,GAAuB,IAAjBC,EAAiB,uDAAJ,GACpBpB,EAAMmB,EAeV,OAZI5B,EAAK8B,OAAO3C,eAAeyC,KAC7BnB,EAAMsB,UAAU/B,EAAK8B,OAAOF,KAGJ,WAAtB,EAAOC,KACTA,EAAa,CAAEG,GAAIH,IAGrB5D,OAAOU,KAAKkD,GAAYjD,SAAQ,SAACT,GAC/BsC,EAAMA,EAAIwB,QAAJ,WAAgB9D,EAAhB,KAAwB0D,EAAW1D,OAGpCsC,I,gCAQEyB,GACLA,EAAMzE,OAAOmE,MACf1G,KAAK6D,OAAOyB,MAAM0B,EAAMzE,OAAOmE,Q,+BAIzBA,GACR,GAAI1G,KAAK6D,OAAOO,IAAIsC,GAClB,OAAO1G,KAAK6D,OAAOU,IAAImC,K,4BAIpBA,GACL,QAAI1G,KAAK6D,OAAOoD,QAASjH,KAAK6D,OAAOO,IAAIsC,KAGlC,O,8BAGAA,GACP,IAAMQ,EAAMlH,KAAKgB,MAAM0F,GACvB,OAAY,OAARQ,M,KAKRpC,EAAK8B,OAAS,GACd9B,EAAK2B,aAAe,0CACpB3B,EAAKM,OAAS,CAAC,OAAQ,aAAc,SAAU,gBAEhCN,QC9Uf,GACE4B,KAAM,QACNS,OAAQ,SACRC,WAAY,QACZrC,KAAM,WAAR,OACMlE,KAAM,IAAI,EAAhB,CACQ,MAAR,GACQ,SAAR,OAIEwG,QAAS,CACP,MADJ,WACA,yLAKA,sBALA,OAKA,EALA,OAMA,SANA,4FAYA,oCACA,cACA,sBAdA,UAkBA,oCAlBA,QAqBA,yCArBA,8DCnE+U,I,wBCQ3UC,EAAY,eACd,EACAxH,EACA6B,GACA,EACA,KACA,WACA,MAIa,aAAA2F,E,2CCnBf,yBAAkiB,EAAG","file":"js/chunk-ad9746d8.917304d6.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',[_c('b-col',{staticClass:\"mx-auto\",attrs:{\"sm\":\"8\",\"md\":\"6\",\"lg\":\"4\"}},[_c('b-card',{staticClass:\"login-card\"},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.login($event)}}},[_c('h1',{staticClass:\"title text-muted pb-3\"},[_vm._v(\" KEA \")]),_c('b-form-group',[_c('b-input-group',{staticClass:\"input-group-seamless no-border\",class:{ 'is-invalid': _vm.form.invalid('email') }},[_c('b-input-group-prepend',[_c('span',{staticClass:\"input-group-text\"},[_c('fa',{class:{ 'text-danger': _vm.form.feedback('email') },attrs:{\"icon\":\"envelope\"}})],1)]),_c('b-form-input',{attrs:{\"type\":\"email\",\"name\":\"email\",\"required\":\"\",\"state\":_vm.form.state('email'),\"placeholder\":\"Email\"},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", $$v)},expression:\"form.email\"}})],1),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.form.state('email')}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.form.feedback('email'))}})])],1),_c('b-form-group',[_c('b-input-group',{staticClass:\"input-group-seamless no-border\",class:{ 'is-invalid': _vm.form.invalid('password') }},[_c('b-input-group-prepend',[_c('span',{staticClass:\"input-group-text\"},[_c('fa',{class:{ 'text-danger': _vm.form.feedback('password') },attrs:{\"icon\":\"lock\"}})],1)]),_c('b-form-input',{attrs:{\"type\":\"password\",\"name\":\"password\",\"required\":\"\",\"state\":_vm.form.state('password'),\"placeholder\":\"Password\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}})],1)],1),_c('b-button',{staticClass:\"w-100\",attrs:{\"type\":\"submit\",\"block\":\"\",\"variant\":\"primary\",\"disabled\":_vm.form.busy}},[(_vm.form.busy)?_c('b-spinner',{staticClass:\"spinner-center\",attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Login \")],1)],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/**\n * Get cookie from request.\n *\n * @param {Object} req\n * @param {String} key\n * @return {String|undefined}\n */\nexport function cookieFromRequest (req, key) {\n if (!req.headers.cookie) {\n return\n }\n\n const cookie = req.headers.cookie.split(';').find(\n c => c.trim().startsWith(`${key}=`)\n )\n\n if (cookie) {\n return cookie.split('=')[1]\n }\n}\n\n/**\n * https://router.vuejs.org/en/advanced/scroll-behavior.html\n */\nexport function scrollBehavior (to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n }\n\n let position = {}\n\n if (to.matched.length < 2) {\n position = { x: 0, y: 0 }\n } else if (to.matched.some(r => r.components.default.options.scrollToTop)) {\n position = { x: 0, y: 0 }\n } if (to.hash) {\n position = { selector: to.hash }\n }\n\n return position\n}\n\n/**\n * Deep copy the given object.\n *\n * @param {Object} obj\n * @return {Object}\n */\nexport function deepCopy (obj) {\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n const copy = Array.isArray(obj) ? [] : {}\n\n Object.keys(obj).forEach((key) => {\n copy[key] = deepCopy(obj[key])\n })\n\n return copy\n}\n\n/**\n * If the given value is not an array, wrap it in one.\n *\n * @param {Any} value\n * @return {Array}\n */\nexport function arrayWrap (value) {\n return Array.isArray(value) ? value : [value]\n}\n\nexport function passwordChecker () {\n return {\n strong: new RegExp('^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})'),\n medium: new RegExp('^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})')\n }\n}\n\nexport function formatDateISO8601 (date) {\n if (Object.prototype.toString.call(date) === '[object Date]') {\n return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()\n }\n return null\n}\n\nexport function formatDate (date) {\n if (Object.prototype.toString.call(date) === '[object Date]') {\n return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear()\n }\n return null\n}\n\nexport function localeArray2Assoc (arr, keyArg = 'value', valueArg = 'text') {\n const ret = []\n if (arr) {\n for (const key in arr) {\n ret.push({\n [keyArg]: key,\n [valueArg]: arr[key]\n })\n }\n }\n return ret\n}\n\nexport function debounce (fn, time) {\n let timeout\n\n return function () {\n const functionCall = () => fn.apply(this, arguments)\n\n clearTimeout(timeout)\n timeout = setTimeout(functionCall, time)\n }\n}\n\nexport function getAge (birthDate) {\n const ageDifMs = Date.now() - new Date(birthDate).getTime()\n const ageDate = new Date(ageDifMs) // milliseconds from epoch\n return Math.abs(ageDate.getUTCFullYear() - 1970)\n}\n","import axios from 'axios'\nimport { deepCopy, arrayWrap } from './functions'\n\nclass Errors {\n /**\n * Create a new error bag instance.\n */\n constructor () {\n this.errors = {}\n }\n\n /**\n * Set the errors object or field error messages.\n *\n * @param {Object|String} field\n * @param {Array|String|undefined} messages\n */\n set (field, messages) {\n if (typeof field === 'object') {\n this.errors = field\n } else {\n this.set({ ...this.errors, [field]: arrayWrap(messages) })\n }\n }\n\n /**\n * Get all the errors.\n *\n * @return {Object}\n */\n all () {\n return this.errors\n }\n\n /**\n * Determine if there is an error for the given field.\n *\n * @param {String} field\n * @return {Boolean}\n */\n has (field) {\n // eslint-disable-next-line no-prototype-builtins\n return this.errors.hasOwnProperty(field)\n }\n\n /**\n * Determine if there are any errors for the given fields.\n *\n * @param {...String} fields\n * @return {Boolean}\n */\n hasAny (...fields) {\n return fields.some(field => this.has(field))\n }\n\n /**\n * Determine if there are any errors.\n *\n * @return {Boolean}\n */\n any () {\n return Object.keys(this.errors).length > 0\n }\n\n /**\n * Get the first error message for the given field.\n *\n * @param String} field\n * @return {String|undefined}\n */\n get (field) {\n if (this.has(field)) {\n return this.getAll(field)[0]\n }\n }\n\n /**\n * Get all the error messages for the given field.\n *\n * @param {String} field\n * @return {Array}\n */\n getAll (field) {\n return arrayWrap(this.errors[field] || [])\n }\n\n /**\n * Get the error message for the given fields.\n *\n * @param {...String} fields\n * @return {Array}\n */\n only (...fields) {\n const messages = []\n\n fields.forEach((field) => {\n const message = this.get(field)\n\n if (message) {\n messages.push(message)\n }\n })\n\n return messages\n }\n\n /**\n * Get all the errors in a flat array.\n *\n * @return {Array}\n */\n flatten () {\n return Object.values(this.errors).reduce((a, b) => a.concat(b), [])\n }\n\n /**\n * Clear one or all error fields.\n *\n * @param {String|undefined} field\n */\n clear (field) {\n const errors = {}\n\n if (field) {\n Object.keys(this.errors).forEach((key) => {\n if (key !== field) {\n errors[key] = this.errors[key]\n }\n })\n }\n\n this.set(errors)\n }\n}\nclass Form {\n /**\n * Create a new form instance.\n *\n * @param {Object} data\n */\n constructor (data = {}) {\n this.busy = false\n this.successful = false\n this.errors = new Errors()\n this.originalData = deepCopy(data)\n\n Object.assign(this, data)\n }\n\n /**\n * Fill form data.\n *\n * @param {Object} data\n */\n fill (data) {\n this.keys().forEach((key) => {\n this[key] = data[key]\n })\n }\n\n /**\n * Get the form data.\n *\n * @return {Object}\n */\n data () {\n return this.keys().reduce((data, key) => (\n { ...data, [key]: this[key] }\n ), {})\n }\n\n /**\n * Get the form data keys.\n *\n * @return {Array}\n */\n keys () {\n return Object.keys(this)\n .filter(key => !Form.ignore.includes(key))\n }\n\n /**\n * Start processing the form.\n */\n startProcessing () {\n this.errors.clear()\n this.busy = true\n this.successful = false\n }\n\n /**\n * Finish processing the form.\n */\n finishProcessing () {\n this.busy = false\n this.successful = true\n }\n\n /**\n * Clear the form errors.\n */\n clear () {\n this.errors.clear()\n this.successful = false\n }\n\n /**\n * Reset the form fields.\n */\n reset () {\n Object.keys(this)\n .filter(key => !Form.ignore.includes(key))\n .forEach((key) => {\n this[key] = deepCopy(this.originalData[key])\n })\n }\n\n /**\n * Submit the form via a GET request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n get (url, config = {}) {\n return this.submit('get', url, config)\n }\n\n /**\n * Submit the form via a POST request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n post (url, config = {}) {\n return this.submit('post', url, config)\n }\n\n /**\n * Submit the form via a PATCH request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n patch (url, config = {}) {\n return this.submit('patch', url, config)\n }\n\n /**\n * Submit the form via a PUT request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n put (url, config = {}) {\n return this.submit('put', url, config)\n }\n\n /**\n * Submit the form via a DELETE request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n delete (url, config = {}) {\n return this.submit('delete', url, config)\n }\n\n /**\n * Submit the form data via an HTTP request.\n *\n * @param {String} method (get, post, patch, put)\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n submit (method, url, config = {}) {\n this.startProcessing()\n\n const data = method === 'get'\n ? { params: this.data() }\n : this.data()\n\n return new Promise((resolve, reject) => {\n (Form.axios || axios).request({ url: this.route(url), method, data, ...config })\n .then((response) => {\n this.finishProcessing()\n\n resolve(response)\n })\n .catch((error) => {\n this.busy = false\n\n if (error.response) {\n this.errors.set(this.extractErrors(error.response))\n }\n\n reject(error)\n })\n })\n }\n\n /**\n * Extract the errors from the response object.\n *\n * @param {Object} response\n * @return {Object}\n */\n extractErrors (response) {\n if (!response.data || typeof response.data !== 'object') {\n return { error: Form.errorMessage }\n }\n\n if (response.data.errors) {\n return { ...response.data.errors }\n }\n\n if (response.data.message) {\n return { error: response.data.message }\n }\n\n return { ...response.data }\n }\n\n /**\n * Get a named route.\n *\n * @param {String} name\n * @return {Object} parameters\n * @return {String}\n */\n route (name, parameters = {}) {\n let url = name\n\n // eslint-disable-next-line no-prototype-builtins\n if (Form.routes.hasOwnProperty(name)) {\n url = decodeURI(Form.routes[name])\n }\n\n if (typeof parameters !== 'object') {\n parameters = { id: parameters }\n }\n\n Object.keys(parameters).forEach((key) => {\n url = url.replace(`{${key}}`, parameters[key])\n })\n\n return url\n }\n\n /**\n * Clear errors on keydown.\n *\n * @param {KeyboardEvent} event\n */\n onKeydown (event) {\n if (event.target.name) {\n this.errors.clear(event.target.name)\n }\n }\n\n feedback (name) {\n if (this.errors.has(name)) {\n return this.errors.get(name)\n }\n }\n\n state (name) {\n if (this.errors.any() && this.errors.has(name)) {\n return false\n }\n return null\n }\n\n invalid (name) {\n const ret = this.state(name)\n if (ret === null) { return false }\n return true\n }\n}\n\nForm.routes = {}\nForm.errorMessage = 'Something went wrong. Please try again.'\nForm.ignore = ['busy', 'successful', 'errors', 'originalData']\n\nexport default Form\n","<template>\n <b-container>\n <b-col sm=\"8\" md=\"6\" lg=\"4\" class=\"mx-auto\">\n <b-card class=\"login-card\">\n <form @submit.prevent=\"login\">\n <h1 class=\"title text-muted pb-3\">\n KEA\n </h1>\n <b-form-group>\n <b-input-group class=\"input-group-seamless no-border\" :class=\"{ 'is-invalid': form.invalid('email') }\">\n <b-input-group-prepend>\n <span class=\"input-group-text\">\n <fa icon=\"envelope\" :class=\"{ 'text-danger': form.feedback('email') }\" />\n </span>\n </b-input-group-prepend>\n <b-form-input v-model=\"form.email\"\n type=\"email\"\n name=\"email\"\n required\n :state=\"form.state('email')\"\n placeholder=\"Email\"\n />\n </b-input-group>\n <b-form-invalid-feedback :state=\"form.state('email')\">\n <div v-html=\"form.feedback('email')\" />\n </b-form-invalid-feedback>\n </b-form-group>\n <b-form-group>\n <b-input-group class=\"input-group-seamless no-border\" :class=\"{ 'is-invalid': form.invalid('password') }\">\n <b-input-group-prepend>\n <span class=\"input-group-text\">\n <fa icon=\"lock\" :class=\"{ 'text-danger': form.feedback('password') }\" />\n </span>\n </b-input-group-prepend>\n <b-form-input v-model=\"form.password\"\n type=\"password\"\n name=\"password\"\n required\n :state=\"form.state('password')\"\n placeholder=\"Password\"\n />\n </b-input-group>\n </b-form-group>\n <b-button type=\"submit\" block variant=\"primary\" class=\"w-100\" :disabled=\"form.busy\">\n <b-spinner v-if=\"form.busy\" class=\"spinner-center\" small />\n Login\n </b-button>\n </form>\n </b-card>\n </b-col>\n </b-container>\n</template>\n\n<script>\nimport Form from '~/utils/form'\nexport default {\n name: 'Login',\n layout: 'public',\n middleware: 'guest',\n data: () => ({\n form: new Form({\n email: '',\n password: ''\n })\n }),\n\n methods: {\n async login () {\n let data\n\n // Submit the form.\n try {\n const response = await this.form.post('/login')\n data = response.data\n } catch (e) {\n return\n }\n\n // Save the token.\n this.$store.dispatch('auth/saveToken', {\n token: data.token,\n remember: this.remember\n })\n\n // Fetch the user.\n await this.$store.dispatch('auth/fetchUser')\n\n // Redirect home.\n this.$router.push({ name: 'panel.dashboard' })\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .login-card {\n width: 390px;\n background: #fff;\n border-radius: 10px;\n overflow: hidden;\n padding: 10px 25px 10px 25px;\n box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n -moz-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n -webkit-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n -o-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n -ms-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n }\n .title {\n display: block;\n line-height: 1.2;\n text-align: center;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=844266b8&scoped=true&\"\nimport script from \"./login.vue?vue&type=script&lang=js&\"\nexport * from \"./login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=844266b8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"844266b8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=844266b8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=844266b8&lang=scss&scoped=true&\""],"sourceRoot":""}
api/public/js/chunk-ad9746d8.9562ee9e.js View file @ fa297f2
  1 +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-ad9746d8"],{b1bd:function(e,t,r){},c6f7:function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("b-container",[r("b-col",{staticClass:"mx-auto",attrs:{sm:"8",md:"6",lg:"4"}},[r("b-card",{staticClass:"login-card"},[r("form",{on:{submit:function(t){return t.preventDefault(),e.login(t)}}},[r("h1",{staticClass:"title text-muted pb-3"},[e._v(" KEA ")]),r("b-form-group",[r("b-input-group",{staticClass:"input-group-seamless no-border",class:{"is-invalid":e.form.invalid("email")}},[r("b-input-group-prepend",[r("span",{staticClass:"input-group-text"},[r("fa",{class:{"text-danger":e.form.feedback("email")},attrs:{icon:"envelope"}})],1)]),r("b-form-input",{attrs:{type:"email",name:"email",required:"",state:e.form.state("email"),placeholder:"Email"},model:{value:e.form.email,callback:function(t){e.$set(e.form,"email",t)},expression:"form.email"}})],1),r("b-form-invalid-feedback",{attrs:{state:e.form.state("email")}},[r("div",{domProps:{innerHTML:e._s(e.form.feedback("email"))}})])],1),r("b-form-group",[r("b-input-group",{staticClass:"input-group-seamless no-border",class:{"is-invalid":e.form.invalid("password")}},[r("b-input-group-prepend",[r("span",{staticClass:"input-group-text"},[r("fa",{class:{"text-danger":e.form.feedback("password")},attrs:{icon:"lock"}})],1)]),r("b-form-input",{attrs:{type:"password",name:"password",required:"",state:e.form.state("password"),placeholder:"Password"},model:{value:e.form.password,callback:function(t){e.$set(e.form,"password",t)},expression:"form.password"}})],1)],1),r("b-button",{staticClass:"w-100",attrs:{type:"submit",block:"",variant:"primary",disabled:e.form.busy}},[e.form.busy?r("b-spinner",{staticClass:"spinner-center",attrs:{small:""}}):e._e(),e._v(" Login ")],1)],1)])],1)],1)},a=[],s=(r("96cf"),r("1da1")),o=(r("99af"),r("4de4"),r("4160"),r("caad"),r("13d5"),r("45fc"),r("b0c0"),r("b64b"),r("d3b7"),r("07ac"),r("ac1f"),r("2532"),r("5319"),r("159b"),r("ddb0"),r("ade3")),i=r("5530");r("a4d3"),r("e01a"),r("d28b"),r("e260"),r("3ca3");function u(e){return u="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function f(e,t,r){return t&&l(e.prototype,t),r&&l(e,r),e}var h=r("bc3a"),d=r.n(h);r("7db0"),r("4d63"),r("25f0"),r("1276"),r("2ca0"),r("498a");function b(e){if(null===e||"object"!==u(e))return e;var t=Array.isArray(e)?[]:{};return Object.keys(e).forEach((function(r){t[r]=b(e[r])})),t}function p(e){return Array.isArray(e)?e:[e]}var m=function(){function e(){c(this,e),this.errors={}}return f(e,[{key:"set",value:function(e,t){"object"===u(e)?this.errors=e:this.set(Object(i["a"])({},this.errors,Object(o["a"])({},e,p(t))))}},{key:"all",value:function(){return this.errors}},{key:"has",value:function(e){return this.errors.hasOwnProperty(e)}},{key:"hasAny",value:function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return r.some((function(t){return e.has(t)}))}},{key:"any",value:function(){return Object.keys(this.errors).length>0}},{key:"get",value:function(e){if(this.has(e))return this.getAll(e)[0]}},{key:"getAll",value:function(e){return p(this.errors[e]||[])}},{key:"only",value:function(){for(var e=this,t=[],r=arguments.length,n=new Array(r),a=0;a<r;a++)n[a]=arguments[a];return n.forEach((function(r){var n=e.get(r);n&&t.push(n)})),t}},{key:"flatten",value:function(){return Object.values(this.errors).reduce((function(e,t){return e.concat(t)}),[])}},{key:"clear",value:function(e){var t=this,r={};e&&Object.keys(this.errors).forEach((function(n){n!==e&&(r[n]=t.errors[n])})),this.set(r)}}]),e}(),v=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};c(this,e),this.busy=!1,this.successful=!1,this.errors=new m,this.originalData=b(t),Object.assign(this,t)}return f(e,[{key:"fill",value:function(e){var t=this;this.keys().forEach((function(r){t[r]=e[r]}))}},{key:"data",value:function(){var e=this;return this.keys().reduce((function(t,r){return Object(i["a"])({},t,Object(o["a"])({},r,e[r]))}),{})}},{key:"keys",value:function(){return Object.keys(this).filter((function(t){return!e.ignore.includes(t)}))}},{key:"startProcessing",value:function(){this.errors.clear(),this.busy=!0,this.successful=!1}},{key:"finishProcessing",value:function(){this.busy=!1,this.successful=!0}},{key:"clear",value:function(){this.errors.clear(),this.successful=!1}},{key:"reset",value:function(){var t=this;Object.keys(this).filter((function(t){return!e.ignore.includes(t)})).forEach((function(e){t[e]=b(t.originalData[e])}))}},{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("get",e,t)}},{key:"post",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("post",e,t)}},{key:"patch",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("patch",e,t)}},{key:"put",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("put",e,t)}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.submit("delete",e,t)}},{key:"submit",value:function(t,r){var n=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.startProcessing();var s="get"===t?{params:this.data()}:this.data();return new Promise((function(o,u){(e.axios||d.a).request(Object(i["a"])({url:n.route(r),method:t,data:s},a)).then((function(e){n.finishProcessing(),o(e)})).catch((function(e){n.busy=!1,e.response&&n.errors.set(n.extractErrors(e.response)),u(e)}))}))}},{key:"extractErrors",value:function(t){return t.data&&"object"===u(t.data)?t.data.errors?Object(i["a"])({},t.data.errors):t.data.message?{error:t.data.message}:Object(i["a"])({},t.data):{error:e.errorMessage}}},{key:"route",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t;return e.routes.hasOwnProperty(t)&&(n=decodeURI(e.routes[t])),"object"!==u(r)&&(r={id:r}),Object.keys(r).forEach((function(e){n=n.replace("{".concat(e,"}"),r[e])})),n}},{key:"onKeydown",value:function(e){e.target.name&&this.errors.clear(e.target.name)}},{key:"feedback",value:function(e){if(this.errors.has(e))return this.errors.get(e)}},{key:"state",value:function(e){return(!this.errors.any()||!this.errors.has(e))&&null}},{key:"invalid",value:function(e){var t=this.state(e);return null!==t}}]),e}();v.routes={},v.errorMessage="Something went wrong. Please try again.",v.ignore=["busy","successful","errors","originalData"];var y=v,g={name:"Login",layout:"public",middleware:"guest",data:function(){return{form:new y({email:"",password:""})}},methods:{login:function(){var e=this;return Object(s["a"])(regeneratorRuntime.mark((function t(){var r,n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,e.form.post("/login");case 3:n=t.sent,r=n.data,t.next=10;break;case 7:return t.prev=7,t.t0=t["catch"](0),t.abrupt("return");case 10:return e.$store.dispatch("auth/saveToken",{token:r.token,remember:e.remember}),t.next=13,e.$store.dispatch("auth/fetchUser");case 13:e.$router.push({name:"panel.dashboard"});case 14:case"end":return t.stop()}}),t,null,[[0,7]])})))()}}},k=g,w=(r("fc45"),r("2877")),j=Object(w["a"])(k,n,a,!1,null,"844266b8",null);t["default"]=j.exports},fc45:function(e,t,r){"use strict";var n=r("b1bd"),a=r.n(n);a.a}}]);
  2 +//# sourceMappingURL=chunk-ad9746d8.9562ee9e.js.map
api/public/js/chunk-ad9746d8.9562ee9e.js.map View file @ fa297f2
  1 +{"version":3,"sources":["webpack:///./src/pages/login.vue?716b","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./src/utils/functions.js","webpack:///./src/utils/form.js","webpack:///src/pages/login.vue","webpack:///./src/pages/login.vue?c5a4","webpack:///./src/pages/login.vue?f516","webpack:///./src/pages/login.vue?296c"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","preventDefault","login","_v","class","form","invalid","feedback","state","model","value","callback","$$v","$set","expression","domProps","_s","busy","_e","staticRenderFns","_typeof","obj","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","deepCopy","copy","Array","isArray","keys","forEach","arrayWrap","Errors","errors","field","messages","set","hasOwnProperty","fields","some","has","getAll","message","get","push","values","reduce","a","b","concat","Form","data","successful","originalData","assign","filter","ignore","includes","clear","url","config","submit","method","startProcessing","params","Promise","resolve","reject","axios","request","route","then","response","finishProcessing","catch","error","extractErrors","errorMessage","name","parameters","routes","decodeURI","id","replace","event","any","ret","layout","middleware","methods","component"],"mappings":"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","file":"js/chunk-ad9746d8.9562ee9e.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',[_c('b-col',{staticClass:\"mx-auto\",attrs:{\"sm\":\"8\",\"md\":\"6\",\"lg\":\"4\"}},[_c('b-card',{staticClass:\"login-card\"},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.login($event)}}},[_c('h1',{staticClass:\"title text-muted pb-3\"},[_vm._v(\" KEA \")]),_c('b-form-group',[_c('b-input-group',{staticClass:\"input-group-seamless no-border\",class:{ 'is-invalid': _vm.form.invalid('email') }},[_c('b-input-group-prepend',[_c('span',{staticClass:\"input-group-text\"},[_c('fa',{class:{ 'text-danger': _vm.form.feedback('email') },attrs:{\"icon\":\"envelope\"}})],1)]),_c('b-form-input',{attrs:{\"type\":\"email\",\"name\":\"email\",\"required\":\"\",\"state\":_vm.form.state('email'),\"placeholder\":\"Email\"},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", $$v)},expression:\"form.email\"}})],1),_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.form.state('email')}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.form.feedback('email'))}})])],1),_c('b-form-group',[_c('b-input-group',{staticClass:\"input-group-seamless no-border\",class:{ 'is-invalid': _vm.form.invalid('password') }},[_c('b-input-group-prepend',[_c('span',{staticClass:\"input-group-text\"},[_c('fa',{class:{ 'text-danger': _vm.form.feedback('password') },attrs:{\"icon\":\"lock\"}})],1)]),_c('b-form-input',{attrs:{\"type\":\"password\",\"name\":\"password\",\"required\":\"\",\"state\":_vm.form.state('password'),\"placeholder\":\"Password\"},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, \"password\", $$v)},expression:\"form.password\"}})],1)],1),_c('b-button',{staticClass:\"w-100\",attrs:{\"type\":\"submit\",\"block\":\"\",\"variant\":\"primary\",\"disabled\":_vm.form.busy}},[(_vm.form.busy)?_c('b-spinner',{staticClass:\"spinner-center\",attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\" Login \")],1)],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/**\n * Get cookie from request.\n *\n * @param {Object} req\n * @param {String} key\n * @return {String|undefined}\n */\nexport function cookieFromRequest (req, key) {\n if (!req.headers.cookie) {\n return\n }\n\n const cookie = req.headers.cookie.split(';').find(\n c => c.trim().startsWith(`${key}=`)\n )\n\n if (cookie) {\n return cookie.split('=')[1]\n }\n}\n\n/**\n * https://router.vuejs.org/en/advanced/scroll-behavior.html\n */\nexport function scrollBehavior (to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n }\n\n let position = {}\n\n if (to.matched.length < 2) {\n position = { x: 0, y: 0 }\n } else if (to.matched.some(r => r.components.default.options.scrollToTop)) {\n position = { x: 0, y: 0 }\n } if (to.hash) {\n position = { selector: to.hash }\n }\n\n return position\n}\n\n/**\n * Deep copy the given object.\n *\n * @param {Object} obj\n * @return {Object}\n */\nexport function deepCopy (obj) {\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n const copy = Array.isArray(obj) ? [] : {}\n\n Object.keys(obj).forEach((key) => {\n copy[key] = deepCopy(obj[key])\n })\n\n return copy\n}\n\n/**\n * If the given value is not an array, wrap it in one.\n *\n * @param {Any} value\n * @return {Array}\n */\nexport function arrayWrap (value) {\n return Array.isArray(value) ? value : [value]\n}\n\nexport function passwordChecker () {\n return {\n strong: new RegExp('^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})'),\n medium: new RegExp('^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})')\n }\n}\n\nexport function formatDateISO8601 (date) {\n if (Object.prototype.toString.call(date) === '[object Date]') {\n return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()\n }\n return null\n}\n\nexport function formatDate (date) {\n if (Object.prototype.toString.call(date) === '[object Date]') {\n return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear()\n }\n return null\n}\n\nexport function localeArray2Assoc (arr, keyArg = 'value', valueArg = 'text') {\n const ret = []\n if (arr) {\n for (const key in arr) {\n ret.push({\n [keyArg]: key,\n [valueArg]: arr[key]\n })\n }\n }\n return ret\n}\n\nexport function debounce (fn, time) {\n let timeout\n\n return function () {\n const functionCall = () => fn.apply(this, arguments)\n\n clearTimeout(timeout)\n timeout = setTimeout(functionCall, time)\n }\n}\n\nexport function getAge (birthDate) {\n const ageDifMs = Date.now() - new Date(birthDate).getTime()\n const ageDate = new Date(ageDifMs) // milliseconds from epoch\n return Math.abs(ageDate.getUTCFullYear() - 1970)\n}\n","import axios from 'axios'\nimport { deepCopy, arrayWrap } from './functions'\n\nclass Errors {\n /**\n * Create a new error bag instance.\n */\n constructor () {\n this.errors = {}\n }\n\n /**\n * Set the errors object or field error messages.\n *\n * @param {Object|String} field\n * @param {Array|String|undefined} messages\n */\n set (field, messages) {\n if (typeof field === 'object') {\n this.errors = field\n } else {\n this.set({ ...this.errors, [field]: arrayWrap(messages) })\n }\n }\n\n /**\n * Get all the errors.\n *\n * @return {Object}\n */\n all () {\n return this.errors\n }\n\n /**\n * Determine if there is an error for the given field.\n *\n * @param {String} field\n * @return {Boolean}\n */\n has (field) {\n // eslint-disable-next-line no-prototype-builtins\n return this.errors.hasOwnProperty(field)\n }\n\n /**\n * Determine if there are any errors for the given fields.\n *\n * @param {...String} fields\n * @return {Boolean}\n */\n hasAny (...fields) {\n return fields.some(field => this.has(field))\n }\n\n /**\n * Determine if there are any errors.\n *\n * @return {Boolean}\n */\n any () {\n return Object.keys(this.errors).length > 0\n }\n\n /**\n * Get the first error message for the given field.\n *\n * @param String} field\n * @return {String|undefined}\n */\n get (field) {\n if (this.has(field)) {\n return this.getAll(field)[0]\n }\n }\n\n /**\n * Get all the error messages for the given field.\n *\n * @param {String} field\n * @return {Array}\n */\n getAll (field) {\n return arrayWrap(this.errors[field] || [])\n }\n\n /**\n * Get the error message for the given fields.\n *\n * @param {...String} fields\n * @return {Array}\n */\n only (...fields) {\n const messages = []\n\n fields.forEach((field) => {\n const message = this.get(field)\n\n if (message) {\n messages.push(message)\n }\n })\n\n return messages\n }\n\n /**\n * Get all the errors in a flat array.\n *\n * @return {Array}\n */\n flatten () {\n return Object.values(this.errors).reduce((a, b) => a.concat(b), [])\n }\n\n /**\n * Clear one or all error fields.\n *\n * @param {String|undefined} field\n */\n clear (field) {\n const errors = {}\n\n if (field) {\n Object.keys(this.errors).forEach((key) => {\n if (key !== field) {\n errors[key] = this.errors[key]\n }\n })\n }\n\n this.set(errors)\n }\n}\nclass Form {\n /**\n * Create a new form instance.\n *\n * @param {Object} data\n */\n constructor (data = {}) {\n this.busy = false\n this.successful = false\n this.errors = new Errors()\n this.originalData = deepCopy(data)\n\n Object.assign(this, data)\n }\n\n /**\n * Fill form data.\n *\n * @param {Object} data\n */\n fill (data) {\n this.keys().forEach((key) => {\n this[key] = data[key]\n })\n }\n\n /**\n * Get the form data.\n *\n * @return {Object}\n */\n data () {\n return this.keys().reduce((data, key) => (\n { ...data, [key]: this[key] }\n ), {})\n }\n\n /**\n * Get the form data keys.\n *\n * @return {Array}\n */\n keys () {\n return Object.keys(this)\n .filter(key => !Form.ignore.includes(key))\n }\n\n /**\n * Start processing the form.\n */\n startProcessing () {\n this.errors.clear()\n this.busy = true\n this.successful = false\n }\n\n /**\n * Finish processing the form.\n */\n finishProcessing () {\n this.busy = false\n this.successful = true\n }\n\n /**\n * Clear the form errors.\n */\n clear () {\n this.errors.clear()\n this.successful = false\n }\n\n /**\n * Reset the form fields.\n */\n reset () {\n Object.keys(this)\n .filter(key => !Form.ignore.includes(key))\n .forEach((key) => {\n this[key] = deepCopy(this.originalData[key])\n })\n }\n\n /**\n * Submit the form via a GET request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n get (url, config = {}) {\n return this.submit('get', url, config)\n }\n\n /**\n * Submit the form via a POST request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n post (url, config = {}) {\n return this.submit('post', url, config)\n }\n\n /**\n * Submit the form via a PATCH request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n patch (url, config = {}) {\n return this.submit('patch', url, config)\n }\n\n /**\n * Submit the form via a PUT request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n put (url, config = {}) {\n return this.submit('put', url, config)\n }\n\n /**\n * Submit the form via a DELETE request.\n *\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n delete (url, config = {}) {\n return this.submit('delete', url, config)\n }\n\n /**\n * Submit the form data via an HTTP request.\n *\n * @param {String} method (get, post, patch, put)\n * @param {String} url\n * @param {Object} config (axios config)\n * @return {Promise}\n */\n submit (method, url, config = {}) {\n this.startProcessing()\n\n const data = method === 'get'\n ? { params: this.data() }\n : this.data()\n\n return new Promise((resolve, reject) => {\n (Form.axios || axios).request({ url: this.route(url), method, data, ...config })\n .then((response) => {\n this.finishProcessing()\n\n resolve(response)\n })\n .catch((error) => {\n this.busy = false\n\n if (error.response) {\n this.errors.set(this.extractErrors(error.response))\n }\n\n reject(error)\n })\n })\n }\n\n /**\n * Extract the errors from the response object.\n *\n * @param {Object} response\n * @return {Object}\n */\n extractErrors (response) {\n if (!response.data || typeof response.data !== 'object') {\n return { error: Form.errorMessage }\n }\n\n if (response.data.errors) {\n return { ...response.data.errors }\n }\n\n if (response.data.message) {\n return { error: response.data.message }\n }\n\n return { ...response.data }\n }\n\n /**\n * Get a named route.\n *\n * @param {String} name\n * @return {Object} parameters\n * @return {String}\n */\n route (name, parameters = {}) {\n let url = name\n\n // eslint-disable-next-line no-prototype-builtins\n if (Form.routes.hasOwnProperty(name)) {\n url = decodeURI(Form.routes[name])\n }\n\n if (typeof parameters !== 'object') {\n parameters = { id: parameters }\n }\n\n Object.keys(parameters).forEach((key) => {\n url = url.replace(`{${key}}`, parameters[key])\n })\n\n return url\n }\n\n /**\n * Clear errors on keydown.\n *\n * @param {KeyboardEvent} event\n */\n onKeydown (event) {\n if (event.target.name) {\n this.errors.clear(event.target.name)\n }\n }\n\n feedback (name) {\n if (this.errors.has(name)) {\n return this.errors.get(name)\n }\n }\n\n state (name) {\n if (this.errors.any() && this.errors.has(name)) {\n return false\n }\n return null\n }\n\n invalid (name) {\n const ret = this.state(name)\n if (ret === null) { return false }\n return true\n }\n}\n\nForm.routes = {}\nForm.errorMessage = 'Something went wrong. Please try again.'\nForm.ignore = ['busy', 'successful', 'errors', 'originalData']\n\nexport default Form\n","<template>\n <b-container>\n <b-col sm=\"8\" md=\"6\" lg=\"4\" class=\"mx-auto\">\n <b-card class=\"login-card\">\n <form @submit.prevent=\"login\">\n <h1 class=\"title text-muted pb-3\">\n KEA\n </h1>\n <b-form-group>\n <b-input-group class=\"input-group-seamless no-border\" :class=\"{ 'is-invalid': form.invalid('email') }\">\n <b-input-group-prepend>\n <span class=\"input-group-text\">\n <fa icon=\"envelope\" :class=\"{ 'text-danger': form.feedback('email') }\" />\n </span>\n </b-input-group-prepend>\n <b-form-input v-model=\"form.email\"\n type=\"email\"\n name=\"email\"\n required\n :state=\"form.state('email')\"\n placeholder=\"Email\"\n />\n </b-input-group>\n <b-form-invalid-feedback :state=\"form.state('email')\">\n <div v-html=\"form.feedback('email')\" />\n </b-form-invalid-feedback>\n </b-form-group>\n <b-form-group>\n <b-input-group class=\"input-group-seamless no-border\" :class=\"{ 'is-invalid': form.invalid('password') }\">\n <b-input-group-prepend>\n <span class=\"input-group-text\">\n <fa icon=\"lock\" :class=\"{ 'text-danger': form.feedback('password') }\" />\n </span>\n </b-input-group-prepend>\n <b-form-input v-model=\"form.password\"\n type=\"password\"\n name=\"password\"\n required\n :state=\"form.state('password')\"\n placeholder=\"Password\"\n />\n </b-input-group>\n </b-form-group>\n <b-button type=\"submit\" block variant=\"primary\" class=\"w-100\" :disabled=\"form.busy\">\n <b-spinner v-if=\"form.busy\" class=\"spinner-center\" small />\n Login\n </b-button>\n </form>\n </b-card>\n </b-col>\n </b-container>\n</template>\n\n<script>\nimport Form from '~/utils/form'\nexport default {\n name: 'Login',\n layout: 'public',\n middleware: 'guest',\n data: () => ({\n form: new Form({\n email: '',\n password: ''\n })\n }),\n\n methods: {\n async login () {\n let data\n\n // Submit the form.\n try {\n const response = await this.form.post('/login')\n data = response.data\n } catch (e) {\n return\n }\n\n // Save the token.\n this.$store.dispatch('auth/saveToken', {\n token: data.token,\n remember: this.remember\n })\n\n // Fetch the user.\n await this.$store.dispatch('auth/fetchUser')\n\n // Redirect home.\n this.$router.push({ name: 'panel.dashboard' })\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .login-card {\n width: 390px;\n background: #fff;\n border-radius: 10px;\n overflow: hidden;\n padding: 10px 25px 10px 25px;\n box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n -moz-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n -webkit-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n -o-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n -ms-box-shadow: 0 5px 10px 0px rgba(0, 0, 0, 0.1);\n }\n .title {\n display: block;\n line-height: 1.2;\n text-align: center;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=844266b8&scoped=true&\"\nimport script from \"./login.vue?vue&type=script&lang=js&\"\nexport * from \"./login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=844266b8&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"844266b8\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=844266b8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=844266b8&lang=scss&scoped=true&\""],"sourceRoot":""}
api/resources/views/index.blade.php View file @ fa297f2
1   -<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>ΚΕΑ Dashboard</title><link href=/css/chunk-ad9746d8.9a04f192.css rel=prefetch><link href=/js/chunk-2d0c55f2.d73ee58d.js rel=prefetch><link href=/js/chunk-2d0d70a2.bbc301fd.js rel=prefetch><link href=/js/chunk-2d0e55df.f9fbdca6.js rel=prefetch><link href=/js/chunk-2d0e99de.aec631ff.js rel=prefetch><link href=/js/chunk-2d224ec2.3db49a2c.js rel=prefetch><link href=/js/chunk-ad9746d8.917304d6.js rel=prefetch><link href=/css/app.c7bbf867.css rel=preload as=style><link href=/js/app.23ea6e4d.js rel=preload as=script><link href=/js/chunk-vendors.10c73b4b.js rel=preload as=script><link href=/css/app.c7bbf867.css rel=stylesheet></head><body><noscript><strong>We're sorry but ΚΕΑ Dashboard doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/js/chunk-vendors.10c73b4b.js></script><script src=/js/app.23ea6e4d.js></script></body></html>
  1 +<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>ΚΕΑ Dashboard</title><link href=/css/chunk-ad9746d8.9a04f192.css rel=prefetch><link href=/js/chunk-2d0c55f2.5c85b614.js rel=prefetch><link href=/js/chunk-2d0d70a2.7ea12236.js rel=prefetch><link href=/js/chunk-2d0e55df.3d7ea4b4.js rel=prefetch><link href=/js/chunk-2d0e99de.fb0153a3.js rel=prefetch><link href=/js/chunk-2d224ec2.03a05a00.js rel=prefetch><link href=/js/chunk-ad9746d8.9562ee9e.js rel=prefetch><link href=/css/app.c7bbf867.css rel=preload as=style><link href=/js/app.3c181a04.js rel=preload as=script><link href=/js/chunk-vendors.10c73b4b.js rel=preload as=script><link href=/css/app.c7bbf867.css rel=stylesheet></head><body><noscript><strong>We're sorry but ΚΕΑ Dashboard doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/js/chunk-vendors.10c73b4b.js></script><script src=/js/app.3c181a04.js></script></body></html>
api/routes/api.php View file @ fa297f2
... ... @@ -14,7 +14,7 @@
14 14 */
15 15  
16 16 //Route::group(['middleware' => 'auth:api'], function () {
17   -
  17 + Route::get('config', 'ConfigController@index');
18 18 Route::get('capec', 'CapecController@index');
19 19 Route::group(['prefix' => 'v1'], function () {
20 20