openc3-tool-base 5.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +727 -0
- data/README.md +28 -0
- data/Rakefile +40 -0
- data/plugin.txt +2 -0
- data/tools/base/772bd60446e0b68b2dcb.png +0 -0
- data/tools/base/889.openc3-tool-base.js +2 -0
- data/tools/base/889.openc3-tool-base.js.map +1 -0
- data/tools/base/be1eae38c4af82057c4d.png +0 -0
- data/tools/base/ccbf309d19c2c9fc40f7.png +0 -0
- data/tools/base/css/materialdesignicons-6.1.95.min.css +3 -0
- data/tools/base/css/materialdesignicons.css.map +16 -0
- data/tools/base/css/roboto.css +338 -0
- data/tools/base/css/vuetify-v2.6.4.min.css +9 -0
- data/tools/base/favicon.ico +0 -0
- data/tools/base/fonts/materialdesignicons-webfont.eot +0 -0
- data/tools/base/fonts/materialdesignicons-webfont.ttf +0 -0
- data/tools/base/fonts/materialdesignicons-webfont.woff +0 -0
- data/tools/base/fonts/materialdesignicons-webfont.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOkCnqEu92Fr1MmgVxIIzI.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBBc4.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 +0 -0
- data/tools/base/fonts/roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 +0 -0
- data/tools/base/icons/astro.svg +83 -0
- data/tools/base/icons/status-dark.png +0 -0
- data/tools/base/icons/status-light.png +0 -0
- data/tools/base/img/astro-logo-small-dark.svg +13 -0
- data/tools/base/img/astro-logo-small-light.svg +13 -0
- data/tools/base/img/ground_error.gif +0 -0
- data/tools/base/img/ground_off.gif +0 -0
- data/tools/base/img/ground_on.gif +0 -0
- data/tools/base/img/icons.svg +110 -0
- data/tools/base/img/logo.png +0 -0
- data/tools/base/img/satellite.gif +0 -0
- data/tools/base/index-allow-http.html +20 -0
- data/tools/base/index.html +20 -0
- data/tools/base/js/amd.min.js +1 -0
- data/tools/base/js/amd.min.js.map +1 -0
- data/tools/base/js/auth.js +1 -0
- data/tools/base/js/authConstants.js +1 -0
- data/tools/base/js/import-map-overrides-2.4.1.js +1 -0
- data/tools/base/js/import-map-overrides.js.map +1 -0
- data/tools/base/js/named-register.min.js +1 -0
- data/tools/base/js/named-register.min.js.map +1 -0
- data/tools/base/js/regenerator-runtime-0.13.9.min.js +1 -0
- data/tools/base/js/single-spa-5.9.3.min.js +1 -0
- data/tools/base/js/single-spa.min.js.map +1 -0
- data/tools/base/js/system-6.12.1.min.js +1 -0
- data/tools/base/js/vue-2.6.14.min.js +2 -0
- data/tools/base/js/vue-2.6.14.min.js.LICENSE.txt +5 -0
- data/tools/base/js/vue-router-3.5.2.min.js +2 -0
- data/tools/base/js/vue-router-3.5.2.min.js.LICENSE.txt +5 -0
- data/tools/base/js/vuetify-v2.6.4.min.js +2 -0
- data/tools/base/js/vuetify-v2.6.4.min.js.LICENSE.txt +5 -0
- data/tools/base/js/vuex-3.6.2.min.js +2 -0
- data/tools/base/js/vuex-3.6.2.min.js.LICENSE.txt +5 -0
- data/tools/base/openc3-tool-base.js +2 -0
- data/tools/base/openc3-tool-base.js.map +1 -0
- metadata +141 -0
@@ -0,0 +1,2 @@
|
|
1
|
+
System.register(["vue","single-spa","vue-router","vuex","vuetify"],(function(n,t){var e={},o={},i={},r={},a={};return{setters:[function(n){e.default=n.default},function(n){o.registerApplication=n.registerApplication,o.start=n.start},function(n){i.default=n.default},function(n){r.default=n.default},function(n){a.default=n.default}],execute:function(){n(function(){var n,s,l={8071:function(n,t){!function(n){"use strict";var t={logger:self.console,WebSocket:self.WebSocket},e={log:function(){if(this.enabled){for(var n,e=arguments.length,o=Array(e),i=0;i<e;i++)o[i]=arguments[i];o.push(Date.now()),(n=t.logger).log.apply(n,["[ActionCable]"].concat(o))}}},o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},i=function(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")},r=function(){function n(n,t){for(var e=0;e<t.length;e++){var o=t[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(n,o.key,o)}}return function(t,e,o){return e&&n(t.prototype,e),o&&n(t,o),t}}(),a=function(){return(new Date).getTime()},s=function(n){return(a()-n)/1e3},l=function(){function n(t){i(this,n),this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}return n.prototype.start=function(){this.isRunning()||(this.startedAt=a(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),e.log("ConnectionMonitor started. pollInterval = "+this.getPollInterval()+" ms"))},n.prototype.stop=function(){this.isRunning()&&(this.stoppedAt=a(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),e.log("ConnectionMonitor stopped"))},n.prototype.isRunning=function(){return this.startedAt&&!this.stoppedAt},n.prototype.recordPing=function(){this.pingedAt=a()},n.prototype.recordConnect=function(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,e.log("ConnectionMonitor recorded connect")},n.prototype.recordDisconnect=function(){this.disconnectedAt=a(),e.log("ConnectionMonitor recorded disconnect")},n.prototype.startPolling=function(){this.stopPolling(),this.poll()},n.prototype.stopPolling=function(){clearTimeout(this.pollTimeout)},n.prototype.poll=function(){var n=this;this.pollTimeout=setTimeout((function(){n.reconnectIfStale(),n.poll()}),this.getPollInterval())},n.prototype.getPollInterval=function(){var n=this.constructor.pollInterval,t=n.min,e=n.max,o=n.multiplier*Math.log(this.reconnectAttempts+1);return Math.round(1e3*function(n,t,e){return Math.max(t,Math.min(e,n))}(o,t,e))},n.prototype.reconnectIfStale=function(){this.connectionIsStale()&&(e.log("ConnectionMonitor detected stale connection. reconnectAttempts = "+this.reconnectAttempts+", pollInterval = "+this.getPollInterval()+" ms, time disconnected = "+s(this.disconnectedAt)+" s, stale threshold = "+this.constructor.staleThreshold+" s"),this.reconnectAttempts++,this.disconnectedRecently()?e.log("ConnectionMonitor skipping reopening recent disconnect"):(e.log("ConnectionMonitor reopening"),this.connection.reopen()))},n.prototype.connectionIsStale=function(){return s(this.pingedAt?this.pingedAt:this.startedAt)>this.constructor.staleThreshold},n.prototype.disconnectedRecently=function(){return this.disconnectedAt&&s(this.disconnectedAt)<this.constructor.staleThreshold},n.prototype.visibilityDidChange=function(){var n=this;"visible"===document.visibilityState&&setTimeout((function(){!n.connectionIsStale()&&n.connection.isOpen()||(e.log("ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = "+document.visibilityState),n.connection.reopen())}),200)},n}();l.pollInterval={min:3,max:30,multiplier:5},l.staleThreshold=6;var c={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]},u=c.message_types,d=c.protocols,A=d.slice(0,d.length-1),p=[].indexOf,m=function(){function n(t){i(this,n),this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new l(this),this.disconnected=!0}return n.prototype.send=function(n){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(n)),!0)},n.prototype.open=function(){return this.isActive()?(e.log("Attempted to open WebSocket, but existing socket is "+this.getState()),!1):(e.log("Opening WebSocket, current state is "+this.getState()+", subprotocols: "+d),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new t.WebSocket(this.consumer.url,d),this.installEventHandlers(),this.monitor.start(),!0)},n.prototype.close=function(){if((arguments.length>0&&void 0!==arguments[0]?arguments[0]:{allowReconnect:!0}).allowReconnect||this.monitor.stop(),this.isActive())return this.webSocket.close()},n.prototype.reopen=function(){if(e.log("Reopening WebSocket, current state is "+this.getState()),!this.isActive())return this.open();try{return this.close()}catch(n){e.log("Failed to reopen WebSocket",n)}finally{e.log("Reopening WebSocket in "+this.constructor.reopenDelay+"ms"),setTimeout(this.open,this.constructor.reopenDelay)}},n.prototype.getProtocol=function(){if(this.webSocket)return this.webSocket.protocol},n.prototype.isOpen=function(){return this.isState("open")},n.prototype.isActive=function(){return this.isState("open","connecting")},n.prototype.isProtocolSupported=function(){return p.call(A,this.getProtocol())>=0},n.prototype.isState=function(){for(var n=arguments.length,t=Array(n),e=0;e<n;e++)t[e]=arguments[e];return p.call(t,this.getState())>=0},n.prototype.getState=function(){if(this.webSocket)for(var n in t.WebSocket)if(t.WebSocket[n]===this.webSocket.readyState)return n.toLowerCase();return null},n.prototype.installEventHandlers=function(){for(var n in this.events){var t=this.events[n].bind(this);this.webSocket["on"+n]=t}},n.prototype.uninstallEventHandlers=function(){for(var n in this.events)this.webSocket["on"+n]=function(){}},n}();m.reopenDelay=500,m.prototype.events={message:function(n){if(this.isProtocolSupported()){var t=JSON.parse(n.data),o=t.identifier,i=t.message,r=t.reason,a=t.reconnect;switch(t.type){case u.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case u.disconnect:return e.log("Disconnecting. Reason: "+r),this.close({allowReconnect:a});case u.ping:return this.monitor.recordPing();case u.confirmation:return this.subscriptions.confirmSubscription(o),this.subscriptions.notify(o,"connected");case u.rejection:return this.subscriptions.reject(o);default:return this.subscriptions.notify(o,"received",i)}}},open:function(){if(e.log("WebSocket onopen event, using '"+this.getProtocol()+"' subprotocol"),this.disconnected=!1,!this.isProtocolSupported())return e.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close:function(n){if(e.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error:function(){e.log("WebSocket onerror event")}};var f=function(n,t){if(null!=t)for(var e in t){var o=t[e];n[e]=o}return n},h=function(){function n(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments[2];i(this,n),this.consumer=t,this.identifier=JSON.stringify(e),f(this,o)}return n.prototype.perform=function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.action=n,this.send(t)},n.prototype.send=function(n){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(n)})},n.prototype.unsubscribe=function(){return this.consumer.subscriptions.remove(this)},n}(),v=function(){function n(t){i(this,n),this.subscriptions=t,this.pendingSubscriptions=[]}return n.prototype.guarantee=function(n){-1==this.pendingSubscriptions.indexOf(n)?(e.log("SubscriptionGuarantor guaranteeing "+n.identifier),this.pendingSubscriptions.push(n)):e.log("SubscriptionGuarantor already guaranteeing "+n.identifier),this.startGuaranteeing()},n.prototype.forget=function(n){e.log("SubscriptionGuarantor forgetting "+n.identifier),this.pendingSubscriptions=this.pendingSubscriptions.filter((function(t){return t!==n}))},n.prototype.startGuaranteeing=function(){this.stopGuaranteeing(),this.retrySubscribing()},n.prototype.stopGuaranteeing=function(){clearTimeout(this.retryTimeout)},n.prototype.retrySubscribing=function(){var n=this;this.retryTimeout=setTimeout((function(){n.subscriptions&&"function"==typeof n.subscriptions.subscribe&&n.pendingSubscriptions.map((function(t){e.log("SubscriptionGuarantor resubscribing "+t.identifier),n.subscriptions.subscribe(t)}))}),500)},n}(),g=function(){function n(t){i(this,n),this.consumer=t,this.guarantor=new v(this),this.subscriptions=[]}return n.prototype.create=function(n,t){var e=n,i="object"===(void 0===e?"undefined":o(e))?e:{channel:e},r=new h(this.consumer,i,t);return this.add(r)},n.prototype.add=function(n){return this.subscriptions.push(n),this.consumer.ensureActiveConnection(),this.notify(n,"initialized"),this.subscribe(n),n},n.prototype.remove=function(n){return this.forget(n),this.findAll(n.identifier).length||this.sendCommand(n,"unsubscribe"),n},n.prototype.reject=function(n){var t=this;return this.findAll(n).map((function(n){return t.forget(n),t.notify(n,"rejected"),n}))},n.prototype.forget=function(n){return this.guarantor.forget(n),this.subscriptions=this.subscriptions.filter((function(t){return t!==n})),n},n.prototype.findAll=function(n){return this.subscriptions.filter((function(t){return t.identifier===n}))},n.prototype.reload=function(){var n=this;return this.subscriptions.map((function(t){return n.subscribe(t)}))},n.prototype.notifyAll=function(n){for(var t=this,e=arguments.length,o=Array(e>1?e-1:0),i=1;i<e;i++)o[i-1]=arguments[i];return this.subscriptions.map((function(e){return t.notify.apply(t,[e,n].concat(o))}))},n.prototype.notify=function(n,t){for(var e=arguments.length,o=Array(e>2?e-2:0),i=2;i<e;i++)o[i-2]=arguments[i];return("string"==typeof n?this.findAll(n):[n]).map((function(n){return"function"==typeof n[t]?n[t].apply(n,o):void 0}))},n.prototype.subscribe=function(n){this.sendCommand(n,"subscribe")&&this.guarantor.guarantee(n)},n.prototype.confirmSubscription=function(n){var t=this;e.log("Subscription confirmed "+n),this.findAll(n).map((function(n){return t.guarantor.forget(n)}))},n.prototype.sendCommand=function(n,t){var e=n.identifier;return this.consumer.send({command:t,identifier:e})},n}(),b=function(){function n(t){i(this,n),this._url=t,this.subscriptions=new g(this),this.connection=new m(this)}return n.prototype.send=function(n){return this.connection.send(n)},n.prototype.connect=function(){return this.connection.open()},n.prototype.disconnect=function(){return this.connection.close({allowReconnect:!1})},n.prototype.ensureActiveConnection=function(){if(!this.connection.isActive())return this.connection.open()},r(n,[{key:"url",get:function(){return y(this._url)}}]),n}();function y(n){if("function"==typeof n&&(n=n()),n&&!/^wss?:/i.test(n)){var t=document.createElement("a");return t.href=n,t.href=t.href,t.protocol=t.protocol.replace("http","ws"),t.href}return n}function C(n){var t=document.head.querySelector("meta[name='action-cable-"+n+"']");if(t)return t.getAttribute("content")}n.Connection=m,n.ConnectionMonitor=l,n.Consumer=b,n.INTERNAL=c,n.Subscription=h,n.Subscriptions=g,n.SubscriptionGuarantor=v,n.adapters=t,n.createWebSocketURL=y,n.logger=e,n.createConsumer=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:C("url")||c.default_mount_path;return new b(n)},n.getConfig=C,Object.defineProperty(n,"__esModule",{value:!0})}(t)},4206:function(n,t,e){n.exports=e(8057)},4387:function(n,t,e){"use strict";var o=e(7485),i=e(4570),r=e(2940),a=e(581),s=e(574),l=e(3845),c=e(8338),u=e(8524),d=e(3141),A=e(7132);n.exports=function(n){return new Promise((function(t,e){var p,m=n.data,f=n.headers,h=n.responseType;function v(){n.cancelToken&&n.cancelToken.unsubscribe(p),n.signal&&n.signal.removeEventListener("abort",p)}o.isFormData(m)&&delete f["Content-Type"];var g=new XMLHttpRequest;if(n.auth){var b=n.auth.username||"",y=n.auth.password?unescape(encodeURIComponent(n.auth.password)):"";f.Authorization="Basic "+btoa(b+":"+y)}var C=s(n.baseURL,n.url);function w(){if(g){var o="getAllResponseHeaders"in g?l(g.getAllResponseHeaders()):null,r={data:h&&"text"!==h&&"json"!==h?g.response:g.responseText,status:g.status,statusText:g.statusText,headers:o,config:n,request:g};i((function(n){t(n),v()}),(function(n){e(n),v()}),r),g=null}}if(g.open(n.method.toUpperCase(),a(C,n.params,n.paramsSerializer),!0),g.timeout=n.timeout,"onloadend"in g?g.onloadend=w:g.onreadystatechange=function(){g&&4===g.readyState&&(0!==g.status||g.responseURL&&0===g.responseURL.indexOf("file:"))&&setTimeout(w)},g.onabort=function(){g&&(e(u("Request aborted",n,"ECONNABORTED",g)),g=null)},g.onerror=function(){e(u("Network Error",n,null,g)),g=null},g.ontimeout=function(){var t="timeout of "+n.timeout+"ms exceeded",o=n.transitional||d.transitional;n.timeoutErrorMessage&&(t=n.timeoutErrorMessage),e(u(t,n,o.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",g)),g=null},o.isStandardBrowserEnv()){var x=(n.withCredentials||c(C))&&n.xsrfCookieName?r.read(n.xsrfCookieName):void 0;x&&(f[n.xsrfHeaderName]=x)}"setRequestHeader"in g&&o.forEach(f,(function(n,t){void 0===m&&"content-type"===t.toLowerCase()?delete f[t]:g.setRequestHeader(t,n)})),o.isUndefined(n.withCredentials)||(g.withCredentials=!!n.withCredentials),h&&"json"!==h&&(g.responseType=n.responseType),"function"==typeof n.onDownloadProgress&&g.addEventListener("progress",n.onDownloadProgress),"function"==typeof n.onUploadProgress&&g.upload&&g.upload.addEventListener("progress",n.onUploadProgress),(n.cancelToken||n.signal)&&(p=function(n){g&&(e(!n||n&&n.type?new A("canceled"):n),g.abort(),g=null)},n.cancelToken&&n.cancelToken.subscribe(p),n.signal&&(n.signal.aborted?p():n.signal.addEventListener("abort",p))),m||(m=null),g.send(m)}))}},8057:function(n,t,e){"use strict";var o=e(7485),i=e(875),r=e(5029),a=e(4941),s=function n(t){var e=new r(t),s=i(r.prototype.request,e);return o.extend(s,r.prototype,e),o.extend(s,e),s.create=function(e){return n(a(t,e))},s}(e(3141));s.Axios=r,s.Cancel=e(7132),s.CancelToken=e(4603),s.isCancel=e(1475),s.VERSION=e(3345).version,s.all=function(n){return Promise.all(n)},s.spread=e(5739),s.isAxiosError=e(5835),n.exports=s,n.exports.default=s},7132:function(n){"use strict";function t(n){this.message=n}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,n.exports=t},4603:function(n,t,e){"use strict";var o=e(7132);function i(n){if("function"!=typeof n)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(n){t=n}));var e=this;this.promise.then((function(n){if(e._listeners){var t,o=e._listeners.length;for(t=0;t<o;t++)e._listeners[t](n);e._listeners=null}})),this.promise.then=function(n){var t,o=new Promise((function(n){e.subscribe(n),t=n})).then(n);return o.cancel=function(){e.unsubscribe(t)},o},n((function(n){e.reason||(e.reason=new o(n),t(e.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.prototype.subscribe=function(n){this.reason?n(this.reason):this._listeners?this._listeners.push(n):this._listeners=[n]},i.prototype.unsubscribe=function(n){if(this._listeners){var t=this._listeners.indexOf(n);-1!==t&&this._listeners.splice(t,1)}},i.source=function(){var n;return{token:new i((function(t){n=t})),cancel:n}},n.exports=i},1475:function(n){"use strict";n.exports=function(n){return!(!n||!n.__CANCEL__)}},5029:function(n,t,e){"use strict";var o=e(7485),i=e(581),r=e(8096),a=e(5009),s=e(4941),l=e(6144),c=l.validators;function u(n){this.defaults=n,this.interceptors={request:new r,response:new r}}u.prototype.request=function(n){"string"==typeof n?(n=arguments[1]||{}).url=arguments[0]:n=n||{},(n=s(this.defaults,n)).method?n.method=n.method.toLowerCase():this.defaults.method?n.method=this.defaults.method.toLowerCase():n.method="get";var t=n.transitional;void 0!==t&&l.assertOptions(t,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var e=[],o=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(n)||(o=o&&t.synchronous,e.unshift(t.fulfilled,t.rejected))}));var i,r=[];if(this.interceptors.response.forEach((function(n){r.push(n.fulfilled,n.rejected)})),!o){var u=[a,void 0];for(Array.prototype.unshift.apply(u,e),u=u.concat(r),i=Promise.resolve(n);u.length;)i=i.then(u.shift(),u.shift());return i}for(var d=n;e.length;){var A=e.shift(),p=e.shift();try{d=A(d)}catch(n){p(n);break}}try{i=a(d)}catch(n){return Promise.reject(n)}for(;r.length;)i=i.then(r.shift(),r.shift());return i},u.prototype.getUri=function(n){return n=s(this.defaults,n),i(n.url,n.params,n.paramsSerializer).replace(/^\?/,"")},o.forEach(["delete","get","head","options"],(function(n){u.prototype[n]=function(t,e){return this.request(s(e||{},{method:n,url:t,data:(e||{}).data}))}})),o.forEach(["post","put","patch"],(function(n){u.prototype[n]=function(t,e,o){return this.request(s(o||{},{method:n,url:t,data:e}))}})),n.exports=u},8096:function(n,t,e){"use strict";var o=e(7485);function i(){this.handlers=[]}i.prototype.use=function(n,t,e){return this.handlers.push({fulfilled:n,rejected:t,synchronous:!!e&&e.synchronous,runWhen:e?e.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(n){this.handlers[n]&&(this.handlers[n]=null)},i.prototype.forEach=function(n){o.forEach(this.handlers,(function(t){null!==t&&n(t)}))},n.exports=i},574:function(n,t,e){"use strict";var o=e(2642),i=e(2288);n.exports=function(n,t){return n&&!o(t)?i(n,t):t}},8524:function(n,t,e){"use strict";var o=e(9953);n.exports=function(n,t,e,i,r){var a=new Error(n);return o(a,t,e,i,r)}},5009:function(n,t,e){"use strict";var o=e(7485),i=e(9212),r=e(1475),a=e(3141),s=e(7132);function l(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new s("canceled")}n.exports=function(n){return l(n),n.headers=n.headers||{},n.data=i.call(n,n.data,n.headers,n.transformRequest),n.headers=o.merge(n.headers.common||{},n.headers[n.method]||{},n.headers),o.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete n.headers[t]})),(n.adapter||a.adapter)(n).then((function(t){return l(n),t.data=i.call(n,t.data,t.headers,n.transformResponse),t}),(function(t){return r(t)||(l(n),t&&t.response&&(t.response.data=i.call(n,t.response.data,t.response.headers,n.transformResponse))),Promise.reject(t)}))}},9953:function(n){"use strict";n.exports=function(n,t,e,o,i){return n.config=t,e&&(n.code=e),n.request=o,n.response=i,n.isAxiosError=!0,n.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},n}},4941:function(n,t,e){"use strict";var o=e(7485);n.exports=function(n,t){t=t||{};var e={};function i(n,t){return o.isPlainObject(n)&&o.isPlainObject(t)?o.merge(n,t):o.isPlainObject(t)?o.merge({},t):o.isArray(t)?t.slice():t}function r(e){return o.isUndefined(t[e])?o.isUndefined(n[e])?void 0:i(void 0,n[e]):i(n[e],t[e])}function a(n){if(!o.isUndefined(t[n]))return i(void 0,t[n])}function s(e){return o.isUndefined(t[e])?o.isUndefined(n[e])?void 0:i(void 0,n[e]):i(void 0,t[e])}function l(e){return e in t?i(n[e],t[e]):e in n?i(void 0,n[e]):void 0}var c={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:l};return o.forEach(Object.keys(n).concat(Object.keys(t)),(function(n){var t=c[n]||r,i=t(n);o.isUndefined(i)&&t!==l||(e[n]=i)})),e}},4570:function(n,t,e){"use strict";var o=e(8524);n.exports=function(n,t,e){var i=e.config.validateStatus;e.status&&i&&!i(e.status)?t(o("Request failed with status code "+e.status,e.config,null,e.request,e)):n(e)}},9212:function(n,t,e){"use strict";var o=e(7485),i=e(3141);n.exports=function(n,t,e){var r=this||i;return o.forEach(e,(function(e){n=e.call(r,n,t)})),n}},3141:function(n,t,e){"use strict";var o=e(7485),i=e(1446),r=e(9953),a={"Content-Type":"application/x-www-form-urlencoded"};function s(n,t){!o.isUndefined(n)&&o.isUndefined(n["Content-Type"])&&(n["Content-Type"]=t)}var l,c={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(l=e(4387)),l),transformRequest:[function(n,t){return i(t,"Accept"),i(t,"Content-Type"),o.isFormData(n)||o.isArrayBuffer(n)||o.isBuffer(n)||o.isStream(n)||o.isFile(n)||o.isBlob(n)?n:o.isArrayBufferView(n)?n.buffer:o.isURLSearchParams(n)?(s(t,"application/x-www-form-urlencoded;charset=utf-8"),n.toString()):o.isObject(n)||t&&"application/json"===t["Content-Type"]?(s(t,"application/json"),function(n,t,e){if(o.isString(n))try{return(0,JSON.parse)(n),o.trim(n)}catch(n){if("SyntaxError"!==n.name)throw n}return(0,JSON.stringify)(n)}(n)):n}],transformResponse:[function(n){var t=this.transitional||c.transitional,e=t&&t.silentJSONParsing,i=t&&t.forcedJSONParsing,a=!e&&"json"===this.responseType;if(a||i&&o.isString(n)&&n.length)try{return JSON.parse(n)}catch(n){if(a){if("SyntaxError"===n.name)throw r(n,this,"E_JSON_PARSE");throw n}}return n}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(n){return n>=200&&n<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],(function(n){c.headers[n]={}})),o.forEach(["post","put","patch"],(function(n){c.headers[n]=o.merge(a)})),n.exports=c},3345:function(n){n.exports={version:"0.22.0"}},875:function(n){"use strict";n.exports=function(n,t){return function(){for(var e=new Array(arguments.length),o=0;o<e.length;o++)e[o]=arguments[o];return n.apply(t,e)}}},581:function(n,t,e){"use strict";var o=e(7485);function i(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}n.exports=function(n,t,e){if(!t)return n;var r;if(e)r=e(t);else if(o.isURLSearchParams(t))r=t.toString();else{var a=[];o.forEach(t,(function(n,t){null!=n&&(o.isArray(n)?t+="[]":n=[n],o.forEach(n,(function(n){o.isDate(n)?n=n.toISOString():o.isObject(n)&&(n=JSON.stringify(n)),a.push(i(t)+"="+i(n))})))})),r=a.join("&")}if(r){var s=n.indexOf("#");-1!==s&&(n=n.slice(0,s)),n+=(-1===n.indexOf("?")?"?":"&")+r}return n}},2288:function(n){"use strict";n.exports=function(n,t){return t?n.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):n}},2940:function(n,t,e){"use strict";var o=e(7485);n.exports=o.isStandardBrowserEnv()?{write:function(n,t,e,i,r,a){var s=[];s.push(n+"="+encodeURIComponent(t)),o.isNumber(e)&&s.push("expires="+new Date(e).toGMTString()),o.isString(i)&&s.push("path="+i),o.isString(r)&&s.push("domain="+r),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(n){var t=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},2642:function(n){"use strict";n.exports=function(n){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(n)}},5835:function(n){"use strict";n.exports=function(n){return"object"==typeof n&&!0===n.isAxiosError}},8338:function(n,t,e){"use strict";var o=e(7485);n.exports=o.isStandardBrowserEnv()?function(){var n,t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");function i(n){var o=n;return t&&(e.setAttribute("href",o),o=e.href),e.setAttribute("href",o),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=i(window.location.href),function(t){var e=o.isString(t)?i(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0}},1446:function(n,t,e){"use strict";var o=e(7485);n.exports=function(n,t){o.forEach(n,(function(e,o){o!==t&&o.toUpperCase()===t.toUpperCase()&&(n[t]=e,delete n[o])}))}},3845:function(n,t,e){"use strict";var o=e(7485),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];n.exports=function(n){var t,e,r,a={};return n?(o.forEach(n.split("\n"),(function(n){if(r=n.indexOf(":"),t=o.trim(n.substr(0,r)).toLowerCase(),e=o.trim(n.substr(r+1)),t){if(a[t]&&i.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([e]):a[t]?a[t]+", "+e:e}})),a):a}},5739:function(n){"use strict";n.exports=function(n){return function(t){return n.apply(null,t)}}},6144:function(n,t,e){"use strict";var o=e(3345).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(n,t){i[n]=function(e){return typeof e===n||"a"+(t<1?"n ":" ")+n}}));var r={};i.transitional=function(n,t,e){function i(n,t){return"[Axios v"+o+"] Transitional option '"+n+"'"+t+(e?". "+e:"")}return function(e,o,a){if(!1===n)throw new Error(i(o," has been removed"+(t?" in "+t:"")));return t&&!r[o]&&(r[o]=!0,console.warn(i(o," has been deprecated since v"+t+" and will be removed in the near future"))),!n||n(e,o,a)}},n.exports={assertOptions:function(n,t,e){if("object"!=typeof n)throw new TypeError("options must be an object");for(var o=Object.keys(n),i=o.length;i-- >0;){var r=o[i],a=t[r];if(a){var s=n[r],l=void 0===s||a(s,r,n);if(!0!==l)throw new TypeError("option "+r+" must be "+l)}else if(!0!==e)throw Error("Unknown option "+r)}},validators:i}},7485:function(n,t,e){"use strict";var o=e(875),i=Object.prototype.toString;function r(n){return"[object Array]"===i.call(n)}function a(n){return void 0===n}function s(n){return null!==n&&"object"==typeof n}function l(n){if("[object Object]"!==i.call(n))return!1;var t=Object.getPrototypeOf(n);return null===t||t===Object.prototype}function c(n){return"[object Function]"===i.call(n)}function u(n,t){if(null!=n)if("object"!=typeof n&&(n=[n]),r(n))for(var e=0,o=n.length;e<o;e++)t.call(null,n[e],e,n);else for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&t.call(null,n[i],i,n)}n.exports={isArray:r,isArrayBuffer:function(n){return"[object ArrayBuffer]"===i.call(n)},isBuffer:function(n){return null!==n&&!a(n)&&null!==n.constructor&&!a(n.constructor)&&"function"==typeof n.constructor.isBuffer&&n.constructor.isBuffer(n)},isFormData:function(n){return"undefined"!=typeof FormData&&n instanceof FormData},isArrayBufferView:function(n){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(n):n&&n.buffer&&n.buffer instanceof ArrayBuffer},isString:function(n){return"string"==typeof n},isNumber:function(n){return"number"==typeof n},isObject:s,isPlainObject:l,isUndefined:a,isDate:function(n){return"[object Date]"===i.call(n)},isFile:function(n){return"[object File]"===i.call(n)},isBlob:function(n){return"[object Blob]"===i.call(n)},isFunction:c,isStream:function(n){return s(n)&&c(n.pipe)},isURLSearchParams:function(n){return"undefined"!=typeof URLSearchParams&&n instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:u,merge:function n(){var t={};function e(e,o){l(t[o])&&l(e)?t[o]=n(t[o],e):l(e)?t[o]=n({},e):r(e)?t[o]=e.slice():t[o]=e}for(var o=0,i=arguments.length;o<i;o++)u(arguments[o],e);return t},extend:function(n,t,e){return u(t,(function(t,i){n[i]=e&&"function"==typeof t?o(t,e):t})),n},trim:function(n){return n.trim?n.trim():n.replace(/^\s+|\s+$/g,"")},stripBOM:function(n){return 65279===n.charCodeAt(0)&&(n=n.slice(1)),n}}},9669:function(n,t,e){n.exports=e(1609)},5448:function(n,t,e){"use strict";var o=e(4867),i=e(6026),r=e(4372),a=e(5327),s=e(4097),l=e(4109),c=e(7985),u=e(5061),d=e(5655),A=e(5263);n.exports=function(n){return new Promise((function(t,e){var p,m=n.data,f=n.headers,h=n.responseType;function v(){n.cancelToken&&n.cancelToken.unsubscribe(p),n.signal&&n.signal.removeEventListener("abort",p)}o.isFormData(m)&&delete f["Content-Type"];var g=new XMLHttpRequest;if(n.auth){var b=n.auth.username||"",y=n.auth.password?unescape(encodeURIComponent(n.auth.password)):"";f.Authorization="Basic "+btoa(b+":"+y)}var C=s(n.baseURL,n.url);function w(){if(g){var o="getAllResponseHeaders"in g?l(g.getAllResponseHeaders()):null,r={data:h&&"text"!==h&&"json"!==h?g.response:g.responseText,status:g.status,statusText:g.statusText,headers:o,config:n,request:g};i((function(n){t(n),v()}),(function(n){e(n),v()}),r),g=null}}if(g.open(n.method.toUpperCase(),a(C,n.params,n.paramsSerializer),!0),g.timeout=n.timeout,"onloadend"in g?g.onloadend=w:g.onreadystatechange=function(){g&&4===g.readyState&&(0!==g.status||g.responseURL&&0===g.responseURL.indexOf("file:"))&&setTimeout(w)},g.onabort=function(){g&&(e(u("Request aborted",n,"ECONNABORTED",g)),g=null)},g.onerror=function(){e(u("Network Error",n,null,g)),g=null},g.ontimeout=function(){var t="timeout of "+n.timeout+"ms exceeded",o=n.transitional||d.transitional;n.timeoutErrorMessage&&(t=n.timeoutErrorMessage),e(u(t,n,o.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",g)),g=null},o.isStandardBrowserEnv()){var x=(n.withCredentials||c(C))&&n.xsrfCookieName?r.read(n.xsrfCookieName):void 0;x&&(f[n.xsrfHeaderName]=x)}"setRequestHeader"in g&&o.forEach(f,(function(n,t){void 0===m&&"content-type"===t.toLowerCase()?delete f[t]:g.setRequestHeader(t,n)})),o.isUndefined(n.withCredentials)||(g.withCredentials=!!n.withCredentials),h&&"json"!==h&&(g.responseType=n.responseType),"function"==typeof n.onDownloadProgress&&g.addEventListener("progress",n.onDownloadProgress),"function"==typeof n.onUploadProgress&&g.upload&&g.upload.addEventListener("progress",n.onUploadProgress),(n.cancelToken||n.signal)&&(p=function(n){g&&(e(!n||n&&n.type?new A("canceled"):n),g.abort(),g=null)},n.cancelToken&&n.cancelToken.subscribe(p),n.signal&&(n.signal.aborted?p():n.signal.addEventListener("abort",p))),m||(m=null),g.send(m)}))}},1609:function(n,t,e){"use strict";var o=e(4867),i=e(1849),r=e(321),a=e(7185),s=function n(t){var e=new r(t),s=i(r.prototype.request,e);return o.extend(s,r.prototype,e),o.extend(s,e),s.create=function(e){return n(a(t,e))},s}(e(5655));s.Axios=r,s.Cancel=e(5263),s.CancelToken=e(4972),s.isCancel=e(6502),s.VERSION=e(7288).version,s.all=function(n){return Promise.all(n)},s.spread=e(8713),s.isAxiosError=e(6268),n.exports=s,n.exports.default=s},5263:function(n){"use strict";function t(n){this.message=n}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,n.exports=t},4972:function(n,t,e){"use strict";var o=e(5263);function i(n){if("function"!=typeof n)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(n){t=n}));var e=this;this.promise.then((function(n){if(e._listeners){var t,o=e._listeners.length;for(t=0;t<o;t++)e._listeners[t](n);e._listeners=null}})),this.promise.then=function(n){var t,o=new Promise((function(n){e.subscribe(n),t=n})).then(n);return o.cancel=function(){e.unsubscribe(t)},o},n((function(n){e.reason||(e.reason=new o(n),t(e.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.prototype.subscribe=function(n){this.reason?n(this.reason):this._listeners?this._listeners.push(n):this._listeners=[n]},i.prototype.unsubscribe=function(n){if(this._listeners){var t=this._listeners.indexOf(n);-1!==t&&this._listeners.splice(t,1)}},i.source=function(){var n;return{token:new i((function(t){n=t})),cancel:n}},n.exports=i},6502:function(n){"use strict";n.exports=function(n){return!(!n||!n.__CANCEL__)}},321:function(n,t,e){"use strict";var o=e(4867),i=e(5327),r=e(782),a=e(3572),s=e(7185),l=e(4875),c=l.validators;function u(n){this.defaults=n,this.interceptors={request:new r,response:new r}}u.prototype.request=function(n){"string"==typeof n?(n=arguments[1]||{}).url=arguments[0]:n=n||{},(n=s(this.defaults,n)).method?n.method=n.method.toLowerCase():this.defaults.method?n.method=this.defaults.method.toLowerCase():n.method="get";var t=n.transitional;void 0!==t&&l.assertOptions(t,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var e=[],o=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(n)||(o=o&&t.synchronous,e.unshift(t.fulfilled,t.rejected))}));var i,r=[];if(this.interceptors.response.forEach((function(n){r.push(n.fulfilled,n.rejected)})),!o){var u=[a,void 0];for(Array.prototype.unshift.apply(u,e),u=u.concat(r),i=Promise.resolve(n);u.length;)i=i.then(u.shift(),u.shift());return i}for(var d=n;e.length;){var A=e.shift(),p=e.shift();try{d=A(d)}catch(n){p(n);break}}try{i=a(d)}catch(n){return Promise.reject(n)}for(;r.length;)i=i.then(r.shift(),r.shift());return i},u.prototype.getUri=function(n){return n=s(this.defaults,n),i(n.url,n.params,n.paramsSerializer).replace(/^\?/,"")},o.forEach(["delete","get","head","options"],(function(n){u.prototype[n]=function(t,e){return this.request(s(e||{},{method:n,url:t,data:(e||{}).data}))}})),o.forEach(["post","put","patch"],(function(n){u.prototype[n]=function(t,e,o){return this.request(s(o||{},{method:n,url:t,data:e}))}})),n.exports=u},782:function(n,t,e){"use strict";var o=e(4867);function i(){this.handlers=[]}i.prototype.use=function(n,t,e){return this.handlers.push({fulfilled:n,rejected:t,synchronous:!!e&&e.synchronous,runWhen:e?e.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(n){this.handlers[n]&&(this.handlers[n]=null)},i.prototype.forEach=function(n){o.forEach(this.handlers,(function(t){null!==t&&n(t)}))},n.exports=i},4097:function(n,t,e){"use strict";var o=e(1793),i=e(7303);n.exports=function(n,t){return n&&!o(t)?i(n,t):t}},5061:function(n,t,e){"use strict";var o=e(481);n.exports=function(n,t,e,i,r){var a=new Error(n);return o(a,t,e,i,r)}},3572:function(n,t,e){"use strict";var o=e(4867),i=e(8527),r=e(6502),a=e(5655),s=e(5263);function l(n){if(n.cancelToken&&n.cancelToken.throwIfRequested(),n.signal&&n.signal.aborted)throw new s("canceled")}n.exports=function(n){return l(n),n.headers=n.headers||{},n.data=i.call(n,n.data,n.headers,n.transformRequest),n.headers=o.merge(n.headers.common||{},n.headers[n.method]||{},n.headers),o.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete n.headers[t]})),(n.adapter||a.adapter)(n).then((function(t){return l(n),t.data=i.call(n,t.data,t.headers,n.transformResponse),t}),(function(t){return r(t)||(l(n),t&&t.response&&(t.response.data=i.call(n,t.response.data,t.response.headers,n.transformResponse))),Promise.reject(t)}))}},481:function(n){"use strict";n.exports=function(n,t,e,o,i){return n.config=t,e&&(n.code=e),n.request=o,n.response=i,n.isAxiosError=!0,n.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},n}},7185:function(n,t,e){"use strict";var o=e(4867);n.exports=function(n,t){t=t||{};var e={};function i(n,t){return o.isPlainObject(n)&&o.isPlainObject(t)?o.merge(n,t):o.isPlainObject(t)?o.merge({},t):o.isArray(t)?t.slice():t}function r(e){return o.isUndefined(t[e])?o.isUndefined(n[e])?void 0:i(void 0,n[e]):i(n[e],t[e])}function a(n){if(!o.isUndefined(t[n]))return i(void 0,t[n])}function s(e){return o.isUndefined(t[e])?o.isUndefined(n[e])?void 0:i(void 0,n[e]):i(void 0,t[e])}function l(e){return e in t?i(n[e],t[e]):e in n?i(void 0,n[e]):void 0}var c={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:l};return o.forEach(Object.keys(n).concat(Object.keys(t)),(function(n){var t=c[n]||r,i=t(n);o.isUndefined(i)&&t!==l||(e[n]=i)})),e}},6026:function(n,t,e){"use strict";var o=e(5061);n.exports=function(n,t,e){var i=e.config.validateStatus;e.status&&i&&!i(e.status)?t(o("Request failed with status code "+e.status,e.config,null,e.request,e)):n(e)}},8527:function(n,t,e){"use strict";var o=e(4867),i=e(5655);n.exports=function(n,t,e){var r=this||i;return o.forEach(e,(function(e){n=e.call(r,n,t)})),n}},5655:function(n,t,e){"use strict";var o=e(4867),i=e(6016),r=e(481),a={"Content-Type":"application/x-www-form-urlencoded"};function s(n,t){!o.isUndefined(n)&&o.isUndefined(n["Content-Type"])&&(n["Content-Type"]=t)}var l,c={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(l=e(5448)),l),transformRequest:[function(n,t){return i(t,"Accept"),i(t,"Content-Type"),o.isFormData(n)||o.isArrayBuffer(n)||o.isBuffer(n)||o.isStream(n)||o.isFile(n)||o.isBlob(n)?n:o.isArrayBufferView(n)?n.buffer:o.isURLSearchParams(n)?(s(t,"application/x-www-form-urlencoded;charset=utf-8"),n.toString()):o.isObject(n)||t&&"application/json"===t["Content-Type"]?(s(t,"application/json"),function(n,t,e){if(o.isString(n))try{return(0,JSON.parse)(n),o.trim(n)}catch(n){if("SyntaxError"!==n.name)throw n}return(0,JSON.stringify)(n)}(n)):n}],transformResponse:[function(n){var t=this.transitional||c.transitional,e=t&&t.silentJSONParsing,i=t&&t.forcedJSONParsing,a=!e&&"json"===this.responseType;if(a||i&&o.isString(n)&&n.length)try{return JSON.parse(n)}catch(n){if(a){if("SyntaxError"===n.name)throw r(n,this,"E_JSON_PARSE");throw n}}return n}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(n){return n>=200&&n<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],(function(n){c.headers[n]={}})),o.forEach(["post","put","patch"],(function(n){c.headers[n]=o.merge(a)})),n.exports=c},7288:function(n){n.exports={version:"0.22.0"}},1849:function(n){"use strict";n.exports=function(n,t){return function(){for(var e=new Array(arguments.length),o=0;o<e.length;o++)e[o]=arguments[o];return n.apply(t,e)}}},5327:function(n,t,e){"use strict";var o=e(4867);function i(n){return encodeURIComponent(n).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}n.exports=function(n,t,e){if(!t)return n;var r;if(e)r=e(t);else if(o.isURLSearchParams(t))r=t.toString();else{var a=[];o.forEach(t,(function(n,t){null!=n&&(o.isArray(n)?t+="[]":n=[n],o.forEach(n,(function(n){o.isDate(n)?n=n.toISOString():o.isObject(n)&&(n=JSON.stringify(n)),a.push(i(t)+"="+i(n))})))})),r=a.join("&")}if(r){var s=n.indexOf("#");-1!==s&&(n=n.slice(0,s)),n+=(-1===n.indexOf("?")?"?":"&")+r}return n}},7303:function(n){"use strict";n.exports=function(n,t){return t?n.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):n}},4372:function(n,t,e){"use strict";var o=e(4867);n.exports=o.isStandardBrowserEnv()?{write:function(n,t,e,i,r,a){var s=[];s.push(n+"="+encodeURIComponent(t)),o.isNumber(e)&&s.push("expires="+new Date(e).toGMTString()),o.isString(i)&&s.push("path="+i),o.isString(r)&&s.push("domain="+r),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(n){var t=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:function(n){"use strict";n.exports=function(n){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(n)}},6268:function(n){"use strict";n.exports=function(n){return"object"==typeof n&&!0===n.isAxiosError}},7985:function(n,t,e){"use strict";var o=e(4867);n.exports=o.isStandardBrowserEnv()?function(){var n,t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");function i(n){var o=n;return t&&(e.setAttribute("href",o),o=e.href),e.setAttribute("href",o),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=i(window.location.href),function(t){var e=o.isString(t)?i(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0}},6016:function(n,t,e){"use strict";var o=e(4867);n.exports=function(n,t){o.forEach(n,(function(e,o){o!==t&&o.toUpperCase()===t.toUpperCase()&&(n[t]=e,delete n[o])}))}},4109:function(n,t,e){"use strict";var o=e(4867),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];n.exports=function(n){var t,e,r,a={};return n?(o.forEach(n.split("\n"),(function(n){if(r=n.indexOf(":"),t=o.trim(n.substr(0,r)).toLowerCase(),e=o.trim(n.substr(r+1)),t){if(a[t]&&i.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([e]):a[t]?a[t]+", "+e:e}})),a):a}},8713:function(n){"use strict";n.exports=function(n){return function(t){return n.apply(null,t)}}},4875:function(n,t,e){"use strict";var o=e(7288).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(n,t){i[n]=function(e){return typeof e===n||"a"+(t<1?"n ":" ")+n}}));var r={};i.transitional=function(n,t,e){function i(n,t){return"[Axios v"+o+"] Transitional option '"+n+"'"+t+(e?". "+e:"")}return function(e,o,a){if(!1===n)throw new Error(i(o," has been removed"+(t?" in "+t:"")));return t&&!r[o]&&(r[o]=!0,console.warn(i(o," has been deprecated since v"+t+" and will be removed in the near future"))),!n||n(e,o,a)}},n.exports={assertOptions:function(n,t,e){if("object"!=typeof n)throw new TypeError("options must be an object");for(var o=Object.keys(n),i=o.length;i-- >0;){var r=o[i],a=t[r];if(a){var s=n[r],l=void 0===s||a(s,r,n);if(!0!==l)throw new TypeError("option "+r+" must be "+l)}else if(!0!==e)throw Error("Unknown option "+r)}},validators:i}},4867:function(n,t,e){"use strict";var o=e(1849),i=Object.prototype.toString;function r(n){return"[object Array]"===i.call(n)}function a(n){return void 0===n}function s(n){return null!==n&&"object"==typeof n}function l(n){if("[object Object]"!==i.call(n))return!1;var t=Object.getPrototypeOf(n);return null===t||t===Object.prototype}function c(n){return"[object Function]"===i.call(n)}function u(n,t){if(null!=n)if("object"!=typeof n&&(n=[n]),r(n))for(var e=0,o=n.length;e<o;e++)t.call(null,n[e],e,n);else for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&t.call(null,n[i],i,n)}n.exports={isArray:r,isArrayBuffer:function(n){return"[object ArrayBuffer]"===i.call(n)},isBuffer:function(n){return null!==n&&!a(n)&&null!==n.constructor&&!a(n.constructor)&&"function"==typeof n.constructor.isBuffer&&n.constructor.isBuffer(n)},isFormData:function(n){return"undefined"!=typeof FormData&&n instanceof FormData},isArrayBufferView:function(n){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(n):n&&n.buffer&&n.buffer instanceof ArrayBuffer},isString:function(n){return"string"==typeof n},isNumber:function(n){return"number"==typeof n},isObject:s,isPlainObject:l,isUndefined:a,isDate:function(n){return"[object Date]"===i.call(n)},isFile:function(n){return"[object File]"===i.call(n)},isBlob:function(n){return"[object Blob]"===i.call(n)},isFunction:c,isStream:function(n){return s(n)&&c(n.pipe)},isURLSearchParams:function(n){return"undefined"!=typeof URLSearchParams&&n instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:u,merge:function n(){var t={};function e(e,o){l(t[o])&&l(e)?t[o]=n(t[o],e):l(e)?t[o]=n({},e):r(e)?t[o]=e.slice():t[o]=e}for(var o=0,i=arguments.length;o<i;o++)u(arguments[o],e);return t},extend:function(n,t,e){return u(t,(function(t,i){n[i]=e&&"function"==typeof t?o(t,e):t})),n},trim:function(n){return n.trim?n.trim():n.replace(/^\s+|\s+$/g,"")},stripBOM:function(n){return 65279===n.charCodeAt(0)&&(n=n.slice(1)),n}}},9554:function(n,t,e){"use strict";var o=e(4649),i=e(7791),r=e(6966);function a(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,o)}return e}function s(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?a(Object(e),!0).forEach((function(t){(0,o.Z)(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):a(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}var l=function(){var n=(0,i.Z)(regeneratorRuntime.mark((function n(t,e){var o,i,a,s,l,c,u,d,A,p=arguments;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(o=p.length>2&&void 0!==p[2]?p[2]:{},i=o.data,a=o.params,s=void 0===a?{}:a,l=o.headers,c=o.noAuth,u=void 0!==c&&c,d=o.noScope,A=void 0!==d&&d,u){n.next=11;break}return n.prev=2,n.next=5,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 5:n.next=10;break;case 7:n.prev=7,n.t0=n.catch(2),OpenC3Auth.login();case 10:l.Authorization=localStorage.openc3Token;case 11:return A||s.scope||(s.scope=localStorage.scope),n.abrupt("return",(0,r.Z)({method:t,url:e,data:i,params:s,headers:l}));case 13:case"end":return n.stop()}}),n,null,[[2,7]])})));return function(t,e){return n.apply(this,arguments)}}(),c={Accept:"application/json"},u=s(s({},c),{},{"Content-Type":"application/json"});t.Z={get:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.params,o=t.headers,i=void 0===o?c:o,r=t.noScope,a=t.noAuth;return l("get",n,{params:e,headers:i,noScope:r,noAuth:a})},put:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.data,o=t.params,i=t.headers,r=void 0===i?u:i,a=t.noScope,s=t.noAuth;return l("put",n,{data:e,params:o,headers:r,noScope:a,noAuth:s})},post:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.data,o=t.params,i=t.headers,r=void 0===i?u:i,a=t.noScope,s=t.noAuth;return l("post",n,{data:e,params:o,headers:r,noScope:a,noAuth:s})},delete:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.params,o=t.headers,i=void 0===o?c:o,r=t.noScope,a=t.noAuth;return l("delete",n,{params:e,headers:i,noScope:r,noAuth:a})}}},6966:function(n,t,e){"use strict";var o=e(4206),i=e.n(o),r=new(e(4091).default),a=i().create({baseURL:location.origin,timeout:6e4,params:{}});a.interceptors.response.use((function(n){return n}),(function(n){if(n.response){if(401===n.response.status)delete localStorage.openc3Token,OpenC3Auth.login(location.href);else{var t,e,o,i,a,s,l,c,u,d;if(localStorage.axiosIgnoreResponse===n.response.status.toString())return Promise.reject(n);var A="HTTP ".concat(n.response.status," - ");if(null!==(t=n.response)&&void 0!==t&&t.statusText&&(A+="".concat(n.response.statusText," ")),null!==(e=n.response)&&void 0!==e&&null!==(o=e.config)&&void 0!==o&&o.data&&(A+="".concat(n.response.config.data," ")),null!==(i=n.response)&&void 0!==i&&null!==(a=i.data)&&void 0!==a&&a.message)A+="".concat(n.response.data.message);else if(null!==(s=n.response)&&void 0!==s&&null!==(l=s.data)&&void 0!==l&&l.exception)A+="".concat(n.response.data.exception);else if(null!==(c=n.response)&&void 0!==c&&null!==(u=c.data)&&void 0!==u&&null!==(d=u.error)&&void 0!==d&&d.message)n.response.data.error.class&&(A+="".concat(n.response.data.error.class," ")),A+="".concat(n.response.data.error.message);else{var p;A+="".concat(null===(p=n.response)||void 0===p?void 0:p.data)}r.$notify.serious({title:"Network error",body:A})}throw n}throw n})),t.Z=a},143:function(n,t,e){"use strict";e.r(t);var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([n.id,'.splash-screen{width:100%;height:100%;position:fixed;background:#001724;background:-moz-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgb(0, 23, 36)), color-stop(100%, rgb(0, 23, 36)));background:-webkit-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-o-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-ms-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:linear-gradient(to right, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr=$left, endColorstr=$right,GradientType=1 )}.splash-screen .splash-container{width:40px;height:40px;margin:0px auto;position:absolute;left:50%;top:50%;margin-left:-20px;margin-top:-20px}.splash-screen .splash-double-bounce1,.splash-screen .splash-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:splash-bounce 2s infinite ease-in-out;animation:splash-bounce 2s infinite ease-in-out}.splash-screen .splash-double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes splash-bounce{0%,100%{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}}@keyframes splash-bounce{0%,100%{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}*{box-sizing:border-box}html{height:100%}body{font-family:"Open Sans","Helvetica Neue",sans-serif;font-size:14px;color:#333;margin:0;padding:0;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none}.layout-wrapper{padding:0}.v-application--wrap{min-height:0 !important}.layout-topbar{position:fixed;height:80px;padding:.7em 1.5em 0em 1.5em;color:#fff;z-index:999;right:0;background:#001724;background:-moz-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgb(0, 23, 36)), color-stop(100%, rgb(0, 23, 36)));background:-webkit-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-o-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-ms-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:linear-gradient(to right, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr=$left, endColorstr=$right,GradientType=1 );-moz-transition:left .2s;-o-transition:left .2s;-webkit-transition:left .2s;transition:left .2s}.layout-topbar:after{content:"";display:table;clear:both}.layout-topbar .layout-topbar-icons{float:right;display:block;-moz-animation-duration:.5s;-webkit-animation-duration:.5s;animation-duration:.5s}.layout-topbar .layout-topbar-icons button{position:relative;color:#fff;margin-left:20px;display:inline-block;text-decoration:none;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-topbar .layout-topbar-icons button:hover{color:#c3e8fb}.layout-topbar .layout-topbar-icons button:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2em #8dcdff}.layout-topbar .layout-topbar-icons button span.layout-topbar-icon{font-size:2em}.layout-topbar .layout-topbar-icons button span.layout-topbar-item-text{font-size:20px;display:none}.layout-topbar .layout-topbar-icons button span.layout-topbar-badge{position:absolute;font-size:10px;right:-5px;top:-5px;width:16px;height:16px;text-align:center;line-height:16px;color:#fff;background-color:#ef6262;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-topbar .layout-topbar-icons .layout-topbar-search{padding:0;position:relative;display:inline-block;top:-4px}.layout-topbar .layout-topbar-icons .layout-topbar-search input{display:inline-block;border:0 none;font-size:14px;background:rgba(0,0,0,0);border-bottom:2px solid #fff;outline:0 none;-webkit-box-shadow:none;box-shadow:none;color:#fff;width:100px;padding:1px 20px 1px 1px;margin:0px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-topbar .layout-topbar-icons .layout-topbar-search input::-webkit-input-placeholder{color:#fff;opacity:.7;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.layout-topbar .layout-topbar-icons .layout-topbar-search input:-moz-placeholder{color:#fff;opacity:.7;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.layout-topbar .layout-topbar-icons .layout-topbar-search input::-moz-placeholder{color:#fff;opacity:.7;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.layout-topbar .layout-topbar-icons .layout-topbar-search input:-ms-input-placeholder{color:#fff;opacity:.7;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.layout-topbar .layout-topbar-icons .layout-topbar-search .layout-topbar-search-icon{font-size:18px;position:absolute;top:-1px;right:0px}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input{border-bottom-color:#c3e8fb}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input::-webkit-input-placeholder{opacity:1}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input:-moz-placeholder{opacity:1}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input::-moz-placeholder{opacity:1}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input:-ms-input-placeholder{opacity:1}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover .layout-topbar-search-icon{color:#c3e8fb}.layout-topbar .layout-menu-button{cursor:pointer;display:inline-block;text-decoration:none;color:#fff;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-topbar .layout-menu-button span{font-size:2em}.layout-topbar .layout-menu-button:hover{color:#c3e8fb}.layout-topbar button{cursor:pointer}.layout-sidebar{position:fixed;width:250px;height:100%;z-index:999;overflow-y:auto;user-select:none;-moz-user-select:none;-webkit-user-select:none;-moz-transition:transform .2s;-o-transition:transform .2s;-webkit-transition:transform .2s;transition:transform .2s;-webkit-box-shadow:0 0 6px 0 rgba(0,0,0,.16);-moz-box-shadow:0 0 6px 0 rgba(0,0,0,.16);box-shadow:0 0 6px 0 rgba(0,0,0,.16)}.layout-sidebar.layout-sidebar-enter,.layout-sidebar.layout-sidebar-leave-to{transform:translateX(-100%)}.layout-sidebar .layout-logo{text-align:center;margin-top:24px}.layout-sidebar .menuitem-badge{display:inline-block;margin-left:4px;font-size:10px;width:16px;height:16px;line-height:16px;text-align:center;color:#fff;background-color:#007be5;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-profile{text-align:center;padding:10px 0 10px 0}.layout-profile img{width:56px;margin:10px}.layout-profile .layout-profile-link{cursor:pointer;display:inline-block;margin-bottom:.75em;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-profile .layout-profile-link i{display:inline-block;font-size:16px;vertical-align:middle}.layout-profile ul{list-style-type:none;padding:0;margin:0}.layout-profile ul li button{width:100%;padding:1em;border:0 none;border-radius:0;cursor:pointer;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-profile ul li button:hover{color:#0388e5}.layout-profile ul li button span{margin-left:.25em;vertical-align:middle}.layout-profile ul li button i{vertical-align:middle}.layout-profile ul.layout-submenu-wrapper-enter,.layout-profile ul.layout-submenu-wrapper-leave-to{max-height:0}.layout-profile ul.layout-submenu-wrapper-enter-to,.layout-profile ul.layout-submenu-wrapper-leave{max-height:1000px}.layout-profile ul.layout-submenu-wrapper-leave-active{overflow:hidden;transition:max-height .45s cubic-bezier(0, 1, 0, 1)}.layout-profile ul.layout-submenu-wrapper-enter-active{overflow:hidden;transition:max-height 1s ease-in-out}.layout-sidebar-light .layout-profile .layout-profile-link{color:#232428}.layout-sidebar-light .layout-profile .layout-profile-link:hover{color:#0388e5}.layout-sidebar-light .layout-profile ul{background-color:#fff}.layout-sidebar-light .layout-profile ul li button{color:#232428}.layout-sidebar-light .layout-profile ul li button:hover{color:#0388e5}.layout-sidebar-dark .layout-profile .layout-profile-link{color:#fff}.layout-sidebar-dark .layout-profile .layout-profile-link:hover{color:#005a8f}.layout-sidebar-dark .layout-profile ul{background-color:#002439}.layout-sidebar-dark .layout-profile ul li button{color:#fff}.layout-sidebar-dark .layout-profile ul li button:hover{color:#005a8f}.layout-menu-container{padding-bottom:120px}.layout-menu{list-style-type:none;margin:0;padding:0}.layout-menu li a{cursor:pointer;position:relative;text-decoration:none;display:block;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-menu li a i{font-size:18px;vertical-align:middle}.layout-menu li a span{margin-left:.25em;vertical-align:middle;line-height:18px;display:inline-block}.layout-menu li a .menuitem-toggle-icon{position:absolute;top:50%;right:1em;margin-top:-9px}.layout-menu li a.router-link-active{font-weight:700}.layout-menu li a:focus{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2em #8dcdff}.layout-menu li.active-menuitem>a .menuitem-toggle-icon:before{content:""}.layout-menu>li>a{padding:1em}.layout-menu>li>a span{font-size:14px}.layout-menu>li:last-child>a{border-bottom:1px solid rgba(207,211,224,.6)}.layout-menu>li ul{list-style-type:none;margin:0;padding:0;padding-left:1.5em}.layout-menu>li ul li a{cursor:pointer;padding:.75em 1em;border-top:0 none}.layout-menu>li ul li a span{font-size:13px}.layout-menu>li ul li:last-child{padding-bottom:1em}.layout-menu>li ul.layout-submenu-wrapper-enter,.layout-menu>li ul.layout-submenu-wrapper-leave-to{max-height:0}.layout-menu>li ul.layout-submenu-wrapper-enter-to,.layout-menu>li ul.layout-submenu-wrapper-leave{max-height:1000px}.layout-menu>li ul.layout-submenu-wrapper-leave-active{overflow:hidden;transition:max-height .45s cubic-bezier(0, 1, 0, 1)}.layout-menu>li ul.layout-submenu-wrapper-enter-active{overflow:hidden;transition:max-height 1s ease-in-out}.layout-sidebar-light{background:#f3f4f9;background:-moz-linear-gradient(top, #f3f4f9 0%, #d7dbe8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f3f4f9), color-stop(100%, #d7dbe8));background:-webkit-linear-gradient(top, #f3f4f9 0%, #d7dbe8 100%);background:-o-linear-gradient(top, #f3f4f9 0%, #d7dbe8 100%);background:-ms-linear-gradient(top, #f3f4f9 0%, #d7dbe8 100%);background:linear-gradient(to bottom, #f3f4f9 0%, #d7dbe8 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#000000",GradientType=0 )}.layout-sidebar-light .layout-menu>li>a{border-top:1px solid rgba(207,211,224,.6)}.layout-sidebar-light .layout-menu>li:last-child>a{border-bottom:1px solid rgba(207,211,224,.6)}.layout-sidebar-light .layout-menu>li ul{background-color:#fff}.layout-sidebar-light .layout-menu li a{color:#232428}.layout-sidebar-light .layout-menu li a.router-link-active{color:#4dacff}.layout-sidebar-light .layout-menu li a:hover{color:#0388e5}.layout-sidebar-light .layout-menu li.active-menuitem>a{background-color:#fff;color:#0388e5}.layout-sidebar-dark{background:#001724;background:-moz-linear-gradient(top, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgb(0, 23, 36)), color-stop(100%, rgb(0, 54, 86)));background:-webkit-linear-gradient(top, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);background:-o-linear-gradient(top, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);background:-ms-linear-gradient(top, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);background:linear-gradient(to bottom, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#000000",GradientType=0 )}.layout-sidebar-dark .layout-menu>li>a{border-top:1px solid rgba(52,56,65,.6)}.layout-sidebar-dark .layout-menu>li:last-child>a{border-bottom:1px solid rgba(52,56,65,.6)}.layout-sidebar-dark .layout-menu>li ul{background-color:#002439}.layout-sidebar-dark .layout-menu li a{color:#fff}.layout-sidebar-dark .layout-menu li a.router-link-active{color:#4dacff}.layout-sidebar-dark .layout-menu li a:hover{color:#005a8f}.layout-sidebar-dark .layout-menu li.active-menuitem>a{background-color:#002439;color:#4dacff}.layout-main{-moz-transition:margin-left .2s;-o-transition:margin-left .2s;-webkit-transition:margin-left .2s;transition:margin-left .2s;padding:96px 16px 16px 16px}.layout-footer{-moz-transition:margin-left .2s;-o-transition:margin-left .2s;-webkit-transition:margin-left .2s;transition:margin-left .2s;background-color:#182635;padding:1em 2em}.layout-footer img{vertical-align:middle}.layout-footer .footer-text{vertical-align:middle}@media(min-width: 1025px){.layout-wrapper.layout-overlay .layout-topbar{left:0}.layout-wrapper.layout-overlay .layout-main,.layout-wrapper.layout-overlay .layout-footer{margin-left:0}.layout-wrapper.layout-overlay.layout-overlay-sidebar-active .layout-sidebar{left:0}.layout-wrapper.layout-overlay.layout-overlay-sidebar-active .layout-topbar{left:250px}.layout-wrapper.layout-static .layout-topbar{left:250px}.layout-wrapper.layout-static .layout-main,.layout-wrapper.layout-static .layout-footer{margin-left:250px}.layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-topbar{left:0}.layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-main,.layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-footer{margin-left:0}}@media(max-width: 1024px){.layout-wrapper .layout-topbar{left:0}.layout-wrapper .layout-main,.layout-wrapper .layout-footer{margin-left:0}.layout-wrapper .layout-sidebar{-moz-transition:left .2s;-o-transition:left .2s;-webkit-transition:left .2s;transition:left .2s;left:-250px;margin-top:50px}.layout-wrapper .layout-mask{display:none;position:fixed;width:100%;height:100%;top:50px;left:0;z-index:998;background-color:#424242;opacity:.7;filter:alpha(opacity=70)}.layout-wrapper.layout-mobile-sidebar-active .layout-sidebar{left:0}.layout-wrapper.layout-mobile-sidebar-active .layout-mask{display:block}.body-overflow-hidden{overflow:hidden}}h1{font-weight:normal;margin:0;font-size:24px}h2{font-size:20px;font-weight:normal;margin:0}.card{background-color:#fff;padding:1em;margin-bottom:16px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.card.card-w-title{padding-bottom:2em}.card h1{margin:1em 0 .5em 0;border-bottom:1px solid #d5d5d5;padding:.1em;font-size:24px}.card h1:first-child{margin:0 0 .5em 0}.docs pre[class*=language-]{padding:0 !important;background:rgba(0,0,0,0);overflow:visible}.docs pre[class*=language-]>code{border-left:0 none;box-shadow:none;font-size:14px}.dashboard .summary{position:relative}.dashboard .summary .title{font-size:20px}.dashboard .summary .detail{color:#707070;display:block;margin-top:10px}.dashboard .summary .count{color:#fff;position:absolute;top:10px;right:10px;font-size:24px;padding:7px 14px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.dashboard .summary .count.visitors{background-color:#20d077}.dashboard .summary .count.purchases{background-color:#f9c851}.dashboard .summary .count.revenue{background-color:#007be5}.dashboard .highlight-box{height:100px}.dashboard .highlight-box:after{content:"";display:table;clear:both}.dashboard .highlight-box .initials{height:100%;float:left;width:50%;text-align:center;padding:1em}.dashboard .highlight-box .initials>span{font-size:48px}.dashboard .highlight-box .highlight-details{height:100%;background-color:#fff;float:left;width:50%;padding:1em}.dashboard .highlight-box .highlight-details i{font-size:24px;vertical-align:middle;margin-right:.25em}.dashboard .highlight-box .highlight-details .count{color:#707070;font-size:36px;display:block}.dashboard .task-list{list-style-type:none;margin:0;padding:0}.dashboard .task-list li{padding:.5em .25em;border-bottom:1px solid #e3e3e3}.dashboard .task-list li:after{content:"";display:table;clear:both}.dashboard .task-list .p-checkbox{vertical-align:middle;margin-right:.5em}.dashboard .task-list .task-name{vertical-align:middle}.dashboard .task-list i{float:right;font-size:24px;color:#707070}.dashboard .task-list .p-panel-content{min-height:256px}.dashboard .contact-form .p-panel-content{min-height:256px}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid #e3e3e3}.dashboard .contacts ul li button{padding:9px;width:100%;box-sizing:border-box;text-decoration:none;position:relative;display:block;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-transition:background-color .2s;-o-transition:background-color .2s;-webkit-transition:background-color .2s;transition:background-color .2s}.dashboard .contacts ul li button .name{position:absolute;right:10px;top:10px;font-size:18px}.dashboard .contacts ul li button .email{position:absolute;right:10px;top:30px;font-size:14px;color:#707070}.dashboard .contacts ul li button:hover{cursor:pointer;background-color:#eee}.dashboard .contacts ul li:last-child{border:0}.dashboard .contacts .p-panel-content{min-height:256px}.dashboard .activity-list{list-style-type:none;padding:0;margin:0}.dashboard .activity-list li{border-bottom:1px solid #e3e3e3;padding:16px 8px}.dashboard .activity-list li .count{font-size:24px;color:#fff;background-color:#007be5;font-weight:700;display:inline-block;padding:.25em .5em;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.dashboard .activity-list li:first-child{border-top:1px solid #e3e3e3}.dashboard .activity-list li:last-child{border:0}.dashboard .activity-list li .p-col-6:first-child{font-size:18px;padding:.5em 0 0 .5em}.dashboard .activity-list li .p-col-6:last-child{text-align:right;color:#707070}.openc3-green{color:#009600 !important}.openc3-yellow{color:#be8700 !important}.openc3-red{color:red !important}.openc3-blue{color:#0064ff !important}.openc3-purple{color:#c800c8 !important}.openc3-black{color:#000 !important}.openc3-white{color:#fff !important}.theme--dark.v-system-bar{background-color:var(--v-primary-base) !important}.theme--dark.v-system-bar.active{background-color:var(--v-secondary-base) !important}body,.theme--dark.v-application,.theme--dark.v-main,.theme--dark.v-content{background-color:var(--v-tertiary-base) !important}.theme--dark.v-sheet.v-list,.theme--dark.v-list,.theme--dark.v-list-item{background-color:var(--v-primary-darken2) !important}.theme--dark.v-data-table,.theme--dark.v-item-group,.theme--dark.v-dialog,.theme--dark.v-card,.theme--dark.v-tab,.theme--dark.v-sheet,.theme--dark.v-date-picker-header,.theme--dark.v-date-picker-table,.theme--dark.v-time-picker-clock__container,.theme--dark.p-menubar{background-color:var(--v-tertiary-darken2) !important}input{color-scheme:dark;caret-color:auto}.imo-modal-container input{color:#000}',"",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/layout.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_splash.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/_variables.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_mixins.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_main.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_topbar.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_sidebar.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_profile.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_menu.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_content.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_footer.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_responsive.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_utils.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/sass/_dashboard.scss","webpack://./../packages/openc3-tool-common/src/assets/stylesheets/layout/_overrides.scss"],names:[],mappings:"AAAA,eCAA,UACI,CAAA,WACA,CAAA,cACA,CAAA,kBCiCgB,CAAA,6EC2BhB,CAAA,0HACA,CAAA,gFACA,CAAA,2EACA,CAAA,4EACA,CAAA,4EACA,CAAA,2GACA,CAAA,iCF/DA,UACI,CAAA,WACA,CAAA,eACA,CAAA,iBACA,CAAA,QACA,CAAA,OACA,CAAA,iBACA,CAAA,gBACA,CAAA,4EAIJ,UACI,CAAA,WACA,CAAA,iBACA,CAAA,qBCmBU,CAAA,UDjBV,CAAA,iBACA,CAAA,KACA,CAAA,MACA,CAAA,uDAEA,CAAA,+CACA,CAAA,sCAGJ,2BACI,CAAA,mBACA,CAAA,iCAGJ,QACI,0BAAA,CAAA,IACA,0BAAA,CAAA,CAAA,yBAGJ,QACI,kBACI,CAAA,0BACA,CAAA,IACF,kBACI,CAAA,0BACA,CAAA,CAAA,EGhDd,qBACE,CAAA,KAGF,WACE,CAAA,KAGF,mDACE,CAAA,cFRS,CAAA,UAEC,CAAA,QEUV,CAAA,SACA,CAAA,eACA,CAAA,kCACA,CAAA,iCACA,CAAA,EAGF,oBACE,CAAA,gBAGF,SACE,CAAA,qBAKF,uBACE,CAAA,eC/BF,cACE,CAAA,WACA,CAAA,4BACA,CAAA,UACA,CAAA,WACA,CAAA,OACA,CAAA,kBH8BkB,CAAA,6EC2BhB,CAAA,0HACA,CAAA,gFACA,CAAA,2EACA,CAAA,4EACA,CAAA,4EACA,CAAA,2GACA,CAAA,wBE5DF,CAAA,sBAAA,CAAA,2BAAA,CAAA,mBAAA,CAAA,qBFqHE,UACI,CAAA,aACA,CAAA,UACA,CAAA,oCEtHN,WACE,CAAA,aACA,CAAA,2BACA,CAAA,8BACA,CAAA,sBACA,CAAA,2CAEA,iBACE,CAAA,UHqBY,CAAA,gBGnBZ,CAAA,oBACA,CAAA,oBACA,CAAA,yBACA,CAAA,uBAAA,CAAA,4BAAA,CAAA,oBAAA,CAAA,iDAEA,aHeiB,CAAA,iDGXjB,cFoFF,CAAA,gBACA,CAAA,6BACA,CAAA,mEEjFI,aACE,CAAA,wEAGF,cACE,CAAA,YACA,CAAA,oEAGF,iBACE,CAAA,cACA,CAAA,UACA,CAAA,QACA,CAAA,UACA,CAAA,WACA,CAAA,iBACA,CAAA,gBACA,CAAA,UHba,CAAA,wBADE,CAAA,sBGiBQ,CAAA,yBAAA,CAAA,iBAAA,CAAA,0DAK7B,SACE,CAAA,iBACA,CAAA,oBACA,CAAA,QACA,CAAA,gEAEA,oBACE,CAAA,aACA,CAAA,cHnEG,CAAA,wBGqEH,CAAA,4BACA,CAAA,cACA,CAAA,uBACA,CAAA,eACA,CAAA,UH/BiB,CAAA,WGiCjB,CAAA,wBACA,CAAA,UACA,CAAA,sBACuB,CAAA,yBAAA,CAAA,iBAAA,CAAA,2FAEvB,UHtCiB,CAAA,UGwCf,CAAA,2BACA,CAAA,yBAAA,CAAA,8BAAA,CAAA,sBAAA,CAAA,iFAEF,UH3CiB,CAAA,UG6Cf,CAAA,2BACA,CAAA,yBAAA,CAAA,8BAAA,CAAA,sBAAA,CAAA,kFAEF,UHhDiB,CAAA,UGkDf,CAAA,2BACA,CAAA,yBAAA,CAAA,8BAAA,CAAA,sBAAA,CAAA,sFAEF,UHrDiB,CAAA,UGuDf,CAAA,2BACA,CAAA,yBAAA,CAAA,8BAAA,CAAA,sBAAA,CAAA,qFAIJ,cACE,CAAA,iBACA,CAAA,QACA,CAAA,SACA,CAAA,sEAIA,2BHtEe,CAAA,iGGwEb,SACE,CAAA,uFAEF,SACE,CAAA,wFAEF,SACE,CAAA,4FAEF,SACE,CAAA,2FAIJ,aHtFe,CAAA,mCG6FrB,cACE,CAAA,oBACA,CAAA,oBACA,CAAA,UHjGc,CAAA,yBGmGd,CAAA,uBAAA,CAAA,4BAAA,CAAA,oBAAA,CAAA,wCAEA,aACE,CAAA,yCAGF,aHxGmB,CAAA,sBG6GrB,cACE,CAAA,gBCvJJ,cACI,CAAA,WACA,CAAA,WACA,CAAA,WACA,CAAA,eACA,CAAA,gBACA,CAAA,qBACA,CAAA,wBACA,CAAA,6BACA,CAAA,2BAAA,CAAA,gCAAA,CAAA,wBAAA,CAAA,4CACgB,CAAA,yCAAA,CAAA,oCAAA,CAAA,6EAEhB,2BAEI,CAAA,6BAGJ,iBACI,CAAA,eACA,CAAA,gCAGJ,oBACI,CAAA,eACA,CAAA,cACA,CAAA,UACA,CAAA,WACA,CAAA,gBACA,CAAA,iBACA,CAAA,UJhBa,CAAA,wBADE,CAAA,sBIoBQ,CAAA,yBAAA,CAAA,iBAAA,CAAA,gBChC/B,iBACE,CAAA,qBACA,CAAA,oBAEA,UACE,CAAA,WACA,CAAA,qCAGF,cACE,CAAA,oBACA,CAAA,mBACA,CAAA,yBACA,CAAA,uBAAA,CAAA,4BAAA,CAAA,oBAAA,CAAA,uCAEA,oBACE,CAAA,cACA,CAAA,qBACA,CAAA,mBAIJ,oBACE,CAAA,SACA,CAAA,QACA,CAAA,6BAGE,UACE,CAAA,WACA,CAAA,aACA,CAAA,eACA,CAAA,cACA,CAAA,yBACA,CAAA,uBAAA,CAAA,4BAAA,CAAA,oBAAA,CAAA,mCAEA,aLfa,CAAA,kCKmBb,iBACE,CAAA,qBACA,CAAA,+BAGF,qBACE,CAAA,mGAKN,YAEE,CAAA,mGAGF,iBAEE,CAAA,uDAGF,eACE,CAAA,mDACA,CAAA,uDAGF,eACE,CAAA,oCACA,CAAA,2DAOF,aLvDY,CAAA,iEK0DV,aLzDe,CAAA,yCK8DjB,qBL5DoB,CAAA,mDKgEhB,aLnEQ,CAAA,yDKsEN,aLrEW,CAAA,0DKgFjB,ULxEgB,CAAA,gEK2Ed,aL1EmB,CAAA,wCK+ErB,wBL7EwB,CAAA,kDKiFpB,ULpFY,CAAA,wDKuFV,aLtFe,CAAA,uBM9BzB,oBACI,CAAA,aAGJ,oBACI,CAAA,QACA,CAAA,SACA,CAAA,kBAGI,cACI,CAAA,iBACA,CAAA,oBACA,CAAA,aACA,CAAA,yBACA,CAAA,uBAAA,CAAA,4BAAA,CAAA,oBAAA,CAAA,oBAEA,cACI,CAAA,qBACA,CAAA,uBAGJ,iBACI,CAAA,qBACA,CAAA,gBACA,CAAA,oBACA,CAAA,wCAGJ,iBACI,CAAA,OACA,CAAA,SACA,CAAA,eACA,CAAA,qCAGJ,eACI,CAAA,wBAGJ,cLgFR,CAAA,gBACA,CAAA,mCACA,CAAA,+DAxHA,WK8CuC,CAAA,kBAOnC,WACI,CAAA,uBAEA,cNzDD,CAAA,6BM+DC,4CACI,CAAA,mBAIR,oBACI,CAAA,QACA,CAAA,SACA,CAAA,kBACA,CAAA,wBAGI,cACI,CAAA,iBACA,CAAA,iBACA,CAAA,6BAEA,cNnEF,CAAA,iCMwEF,kBACI,CAAA,mGAIR,YAEI,CAAA,mGAGJ,iBAEI,CAAA,uDAGJ,eACI,CAAA,mDACA,CAAA,uDAGJ,eACI,CAAA,oCACA,CAAA,sBAMhB,kBNhGmB,CAAA,8DCkCf,CAAA,8GACA,CAAA,iEACA,CAAA,4DACA,CAAA,6DACA,CAAA,+DACA,CAAA,kHACA,CAAA,wCK6DQ,yCACI,CAAA,mDAIA,4CACI,CAAA,yCAIR,qBN1GY,CAAA,wCMgHZ,aNnHI,CAAA,2DMsHA,aN3HW,CAAA,8CM+HX,aNzHK,CAAA,wDM+HL,qBN7HQ,CAAA,aADF,CAAA,qBMuItB,kBNlIuB,CAAA,4ECyBnB,CAAA,4HACA,CAAA,+EACA,CAAA,0EACA,CAAA,2EACA,CAAA,6EACA,CAAA,kHACA,CAAA,uCKwGQ,sCACI,CAAA,kDAIA,yCACI,CAAA,wCAIR,wBN5IgB,CAAA,uCMkJhB,UNrJQ,CAAA,0DMwJJ,aNtKW,CAAA,6CM0KX,aN3JS,CAAA,uDMiKT,wBN/JY,CAAA,aADF,CAAA,aO/B1B,+BACE,CAAA,6BAAA,CAAA,kCAAA,CAAA,0BAAA,CAAA,2BACA,CAAA,eCFF,+BACI,CAAA,6BAAA,CAAA,kCAAA,CAAA,0BAAA,CAAA,wBR6CY,CAAA,eQ3CZ,CAAA,mBAEA,qBACI,CAAA,4BAGJ,qBACI,CAAA,0BCVR,8CAGY,MACI,CAAA,0FAGJ,aACI,CAAA,6EAIA,MACI,CAAA,4EAGJ,UACI,CAAA,6CAMR,UACI,CAAA,wFAGJ,iBACI,CAAA,4EAIA,MACI,CAAA,sJAGJ,aACI,CAAA,CAAA,0BAOpB,+BAEQ,MACI,CAAA,4DAGJ,aACI,CAAA,gCAGJ,wBACI,CAAA,sBAAA,CAAA,2BAAA,CAAA,mBAAA,CAAA,WACA,CAAA,eACA,CAAA,6BAGJ,YACI,CAAA,cACA,CAAA,UACA,CAAA,WACA,CAAA,QACA,CAAA,MACA,CAAA,WACA,CAAA,wBT3DE,CAAA,US6De,CAAA,wBRmCzB,CAAA,6DQ/BQ,MACI,CAAA,0DAGJ,aACI,CAAA,sBAKZ,eACI,CAAA,CAAA,GCnFR,kBACI,CAAA,QACA,CAAA,cACA,CAAA,GAGJ,cACI,CAAA,kBACA,CAAA,QACA,CAAA,MAGJ,qBACI,CAAA,WACA,CAAA,kBACA,CAAA,sBVXW,CAAA,yBAAA,CAAA,iBAAA,CAAA,mBUcX,kBACI,CAAA,SAGJ,mBACI,CAAA,+BACA,CAAA,YACA,CAAA,cACA,CAAA,qBAEA,iBACI,CAAA,4BAOR,oBACI,CAAA,wBACA,CAAA,gBACA,CAAA,iCAEA,kBACI,CAAA,eACA,CAAA,cACA,CAAA,oBC1CR,iBACI,CAAA,2BAEA,cACI,CAAA,4BAGJ,aXNa,CAAA,aWQT,CAAA,eACA,CAAA,2BAGJ,UACI,CAAA,iBACA,CAAA,QACA,CAAA,UACA,CAAA,cACA,CAAA,gBACA,CAAA,sBXjBG,CAAA,yBAAA,CAAA,iBAAA,CAAA,oCWoBH,wBACI,CAAA,qCAGJ,wBACI,CAAA,mCAGJ,wBACI,CAAA,0BAKZ,YACI,CAAA,gCVsFJ,UACI,CAAA,aACA,CAAA,UACA,CAAA,oCUtFA,WACI,CAAA,UACA,CAAA,SACA,CAAA,iBACA,CAAA,WACA,CAAA,yCAEA,cACI,CAAA,6CAIR,WACI,CAAA,qBACA,CAAA,UACA,CAAA,SACA,CAAA,WACA,CAAA,+CAEA,cACI,CAAA,qBACA,CAAA,kBACA,CAAA,oDAGJ,aXhES,CAAA,cWkEL,CAAA,aACA,CAAA,sBAKZ,oBACI,CAAA,QACA,CAAA,SACA,CAAA,yBAEA,kBACI,CAAA,+BACA,CAAA,+BV2CR,UACI,CAAA,aACA,CAAA,UACA,CAAA,kCU1CA,qBACI,CAAA,iBACA,CAAA,iCAGJ,qBACI,CAAA,wBAGJ,WACI,CAAA,cACA,CAAA,aX9FS,CAAA,uCWkGb,gBACI,CAAA,0CAKJ,gBACI,CAAA,wBAMJ,oBACI,CAAA,SACA,CAAA,QACA,CAAA,2BAEA,+BACI,CAAA,kCAEA,WACI,CAAA,UACA,CAAA,qBACA,CAAA,oBACA,CAAA,iBACA,CAAA,aACA,CAAA,sBACuB,CAAA,yBAAA,CAAA,iBAAA,CAAA,oCACvB,CAAA,kCAAA,CAAA,uCAAA,CAAA,+BAAA,CAAA,wCAEA,iBACI,CAAA,UACA,CAAA,QACA,CAAA,cACA,CAAA,yCAGJ,iBACI,CAAA,UACA,CAAA,QACA,CAAA,cACA,CAAA,aX5IH,CAAA,wCWgJD,cACI,CAAA,qBACA,CAAA,sCAIR,QACI,CAAA,sCAKZ,gBACI,CAAA,0BAIR,oBACI,CAAA,SACA,CAAA,QACA,CAAA,6BAEA,+BACI,CAAA,gBACA,CAAA,oCAEA,cACI,CAAA,UACA,CAAA,wBACA,CAAA,eACA,CAAA,oBACA,CAAA,kBACA,CAAA,sBX/KD,CAAA,yBAAA,CAAA,iBAAA,CAAA,yCWmLH,4BACI,CAAA,wCAGJ,QACI,CAAA,kDAGJ,cACI,CAAA,qBACA,CAAA,iDAGJ,gBACI,CAAA,aXlMK,CAAA,cYCrB,wBACE,CAAA,eAEF,wBACE,CAAA,YAEF,oBACE,CAAA,aAEF,wBACE,CAAA,eAEF,wBACE,CAAA,cAEF,qBACE,CAAA,cAEF,qBACE,CAAA,0BAIF,iDACE,CAAA,iCAEF,mDACE,CAAA,2EAEF,kDAIE,CAAA,yEAIF,oDAGE,CAAA,4QAEF,qDAUE,CAAA,MAGF,iBAEE,CAAA,gBAEA,CAAA,2BAIF,UACE",sourcesContent:['.splash-screen{width:100%;height:100%;position:fixed;background:#001724;background:-moz-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgb(0, 23, 36)), color-stop(100%, rgb(0, 23, 36)));background:-webkit-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-o-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-ms-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:linear-gradient(to right, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr=$left, endColorstr=$right,GradientType=1 )}.splash-screen .splash-container{width:40px;height:40px;margin:0px auto;position:absolute;left:50%;top:50%;margin-left:-20px;margin-top:-20px}.splash-screen .splash-double-bounce1,.splash-screen .splash-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:splash-bounce 2s infinite ease-in-out;animation:splash-bounce 2s infinite ease-in-out}.splash-screen .splash-double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes splash-bounce{0%,100%{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}}@keyframes splash-bounce{0%,100%{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}*{box-sizing:border-box}html{height:100%}body{font-family:"Open Sans","Helvetica Neue",sans-serif;font-size:14px;color:#333;margin:0;padding:0;min-height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none}.layout-wrapper{padding:0}.v-application--wrap{min-height:0 !important}.layout-topbar{position:fixed;height:80px;padding:.7em 1.5em 0em 1.5em;color:#fff;z-index:999;right:0;background:#001724;background:-moz-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgb(0, 23, 36)), color-stop(100%, rgb(0, 23, 36)));background:-webkit-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-o-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:-ms-linear-gradient(left, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);background:linear-gradient(to right, rgb(0, 23, 36) 0%, rgb(0, 23, 36) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr=$left, endColorstr=$right,GradientType=1 );-moz-transition:left .2s;-o-transition:left .2s;-webkit-transition:left .2s;transition:left .2s}.layout-topbar:after{content:"";display:table;clear:both}.layout-topbar .layout-topbar-icons{float:right;display:block;-moz-animation-duration:.5s;-webkit-animation-duration:.5s;animation-duration:.5s}.layout-topbar .layout-topbar-icons button{position:relative;color:#fff;margin-left:20px;display:inline-block;text-decoration:none;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-topbar .layout-topbar-icons button:hover{color:#c3e8fb}.layout-topbar .layout-topbar-icons button:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2em #8dcdff}.layout-topbar .layout-topbar-icons button span.layout-topbar-icon{font-size:2em}.layout-topbar .layout-topbar-icons button span.layout-topbar-item-text{font-size:20px;display:none}.layout-topbar .layout-topbar-icons button span.layout-topbar-badge{position:absolute;font-size:10px;right:-5px;top:-5px;width:16px;height:16px;text-align:center;line-height:16px;color:#fff;background-color:#ef6262;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-topbar .layout-topbar-icons .layout-topbar-search{padding:0;position:relative;display:inline-block;top:-4px}.layout-topbar .layout-topbar-icons .layout-topbar-search input{display:inline-block;border:0 none;font-size:14px;background:rgba(0,0,0,0);border-bottom:2px solid #fff;outline:0 none;-webkit-box-shadow:none;box-shadow:none;color:#fff;width:100px;padding:1px 20px 1px 1px;margin:0px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.layout-topbar .layout-topbar-icons .layout-topbar-search input::-webkit-input-placeholder{color:#fff;opacity:.7;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.layout-topbar .layout-topbar-icons .layout-topbar-search input:-moz-placeholder{color:#fff;opacity:.7;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.layout-topbar .layout-topbar-icons .layout-topbar-search input::-moz-placeholder{color:#fff;opacity:.7;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.layout-topbar .layout-topbar-icons .layout-topbar-search input:-ms-input-placeholder{color:#fff;opacity:.7;-moz-transition:opacity .2s;-o-transition:opacity .2s;-webkit-transition:opacity .2s;transition:opacity .2s}.layout-topbar .layout-topbar-icons .layout-topbar-search .layout-topbar-search-icon{font-size:18px;position:absolute;top:-1px;right:0px}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input{border-bottom-color:#c3e8fb}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input::-webkit-input-placeholder{opacity:1}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input:-moz-placeholder{opacity:1}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input::-moz-placeholder{opacity:1}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover input:-ms-input-placeholder{opacity:1}.layout-topbar .layout-topbar-icons .layout-topbar-search:hover .layout-topbar-search-icon{color:#c3e8fb}.layout-topbar .layout-menu-button{cursor:pointer;display:inline-block;text-decoration:none;color:#fff;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-topbar .layout-menu-button span{font-size:2em}.layout-topbar .layout-menu-button:hover{color:#c3e8fb}.layout-topbar button{cursor:pointer}.layout-sidebar{position:fixed;width:250px;height:100%;z-index:999;overflow-y:auto;user-select:none;-moz-user-select:none;-webkit-user-select:none;-moz-transition:transform .2s;-o-transition:transform .2s;-webkit-transition:transform .2s;transition:transform .2s;-webkit-box-shadow:0 0 6px 0 rgba(0,0,0,.16);-moz-box-shadow:0 0 6px 0 rgba(0,0,0,.16);box-shadow:0 0 6px 0 rgba(0,0,0,.16)}.layout-sidebar.layout-sidebar-enter,.layout-sidebar.layout-sidebar-leave-to{transform:translateX(-100%)}.layout-sidebar .layout-logo{text-align:center;margin-top:24px}.layout-sidebar .menuitem-badge{display:inline-block;margin-left:4px;font-size:10px;width:16px;height:16px;line-height:16px;text-align:center;color:#fff;background-color:#007be5;-moz-border-radius:50%;-webkit-border-radius:50%;border-radius:50%}.layout-profile{text-align:center;padding:10px 0 10px 0}.layout-profile img{width:56px;margin:10px}.layout-profile .layout-profile-link{cursor:pointer;display:inline-block;margin-bottom:.75em;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-profile .layout-profile-link i{display:inline-block;font-size:16px;vertical-align:middle}.layout-profile ul{list-style-type:none;padding:0;margin:0}.layout-profile ul li button{width:100%;padding:1em;border:0 none;border-radius:0;cursor:pointer;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-profile ul li button:hover{color:#0388e5}.layout-profile ul li button span{margin-left:.25em;vertical-align:middle}.layout-profile ul li button i{vertical-align:middle}.layout-profile ul.layout-submenu-wrapper-enter,.layout-profile ul.layout-submenu-wrapper-leave-to{max-height:0}.layout-profile ul.layout-submenu-wrapper-enter-to,.layout-profile ul.layout-submenu-wrapper-leave{max-height:1000px}.layout-profile ul.layout-submenu-wrapper-leave-active{overflow:hidden;transition:max-height .45s cubic-bezier(0, 1, 0, 1)}.layout-profile ul.layout-submenu-wrapper-enter-active{overflow:hidden;transition:max-height 1s ease-in-out}.layout-sidebar-light .layout-profile .layout-profile-link{color:#232428}.layout-sidebar-light .layout-profile .layout-profile-link:hover{color:#0388e5}.layout-sidebar-light .layout-profile ul{background-color:#fff}.layout-sidebar-light .layout-profile ul li button{color:#232428}.layout-sidebar-light .layout-profile ul li button:hover{color:#0388e5}.layout-sidebar-dark .layout-profile .layout-profile-link{color:#fff}.layout-sidebar-dark .layout-profile .layout-profile-link:hover{color:#005a8f}.layout-sidebar-dark .layout-profile ul{background-color:#002439}.layout-sidebar-dark .layout-profile ul li button{color:#fff}.layout-sidebar-dark .layout-profile ul li button:hover{color:#005a8f}.layout-menu-container{padding-bottom:120px}.layout-menu{list-style-type:none;margin:0;padding:0}.layout-menu li a{cursor:pointer;position:relative;text-decoration:none;display:block;-moz-transition:color .2s;-o-transition:color .2s;-webkit-transition:color .2s;transition:color .2s}.layout-menu li a i{font-size:18px;vertical-align:middle}.layout-menu li a span{margin-left:.25em;vertical-align:middle;line-height:18px;display:inline-block}.layout-menu li a .menuitem-toggle-icon{position:absolute;top:50%;right:1em;margin-top:-9px}.layout-menu li a.router-link-active{font-weight:700}.layout-menu li a:focus{outline:0 none;outline-offset:0;box-shadow:inset 0 0 0 .2em #8dcdff}.layout-menu li.active-menuitem>a .menuitem-toggle-icon:before{content:""}.layout-menu>li>a{padding:1em}.layout-menu>li>a span{font-size:14px}.layout-menu>li:last-child>a{border-bottom:1px solid rgba(207,211,224,.6)}.layout-menu>li ul{list-style-type:none;margin:0;padding:0;padding-left:1.5em}.layout-menu>li ul li a{cursor:pointer;padding:.75em 1em;border-top:0 none}.layout-menu>li ul li a span{font-size:13px}.layout-menu>li ul li:last-child{padding-bottom:1em}.layout-menu>li ul.layout-submenu-wrapper-enter,.layout-menu>li ul.layout-submenu-wrapper-leave-to{max-height:0}.layout-menu>li ul.layout-submenu-wrapper-enter-to,.layout-menu>li ul.layout-submenu-wrapper-leave{max-height:1000px}.layout-menu>li ul.layout-submenu-wrapper-leave-active{overflow:hidden;transition:max-height .45s cubic-bezier(0, 1, 0, 1)}.layout-menu>li ul.layout-submenu-wrapper-enter-active{overflow:hidden;transition:max-height 1s ease-in-out}.layout-sidebar-light{background:#f3f4f9;background:-moz-linear-gradient(top, #f3f4f9 0%, #d7dbe8 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f3f4f9), color-stop(100%, #d7dbe8));background:-webkit-linear-gradient(top, #f3f4f9 0%, #d7dbe8 100%);background:-o-linear-gradient(top, #f3f4f9 0%, #d7dbe8 100%);background:-ms-linear-gradient(top, #f3f4f9 0%, #d7dbe8 100%);background:linear-gradient(to bottom, #f3f4f9 0%, #d7dbe8 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#000000",GradientType=0 )}.layout-sidebar-light .layout-menu>li>a{border-top:1px solid rgba(207,211,224,.6)}.layout-sidebar-light .layout-menu>li:last-child>a{border-bottom:1px solid rgba(207,211,224,.6)}.layout-sidebar-light .layout-menu>li ul{background-color:#fff}.layout-sidebar-light .layout-menu li a{color:#232428}.layout-sidebar-light .layout-menu li a.router-link-active{color:#4dacff}.layout-sidebar-light .layout-menu li a:hover{color:#0388e5}.layout-sidebar-light .layout-menu li.active-menuitem>a{background-color:#fff;color:#0388e5}.layout-sidebar-dark{background:#001724;background:-moz-linear-gradient(top, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgb(0, 23, 36)), color-stop(100%, rgb(0, 54, 86)));background:-webkit-linear-gradient(top, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);background:-o-linear-gradient(top, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);background:-ms-linear-gradient(top, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);background:linear-gradient(to bottom, rgb(0, 23, 36) 0%, rgb(0, 54, 86) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#000000",GradientType=0 )}.layout-sidebar-dark .layout-menu>li>a{border-top:1px solid rgba(52,56,65,.6)}.layout-sidebar-dark .layout-menu>li:last-child>a{border-bottom:1px solid rgba(52,56,65,.6)}.layout-sidebar-dark .layout-menu>li ul{background-color:#002439}.layout-sidebar-dark .layout-menu li a{color:#fff}.layout-sidebar-dark .layout-menu li a.router-link-active{color:#4dacff}.layout-sidebar-dark .layout-menu li a:hover{color:#005a8f}.layout-sidebar-dark .layout-menu li.active-menuitem>a{background-color:#002439;color:#4dacff}.layout-main{-moz-transition:margin-left .2s;-o-transition:margin-left .2s;-webkit-transition:margin-left .2s;transition:margin-left .2s;padding:96px 16px 16px 16px}.layout-footer{-moz-transition:margin-left .2s;-o-transition:margin-left .2s;-webkit-transition:margin-left .2s;transition:margin-left .2s;background-color:#182635;padding:1em 2em}.layout-footer img{vertical-align:middle}.layout-footer .footer-text{vertical-align:middle}@media(min-width: 1025px){.layout-wrapper.layout-overlay .layout-topbar{left:0}.layout-wrapper.layout-overlay .layout-main,.layout-wrapper.layout-overlay .layout-footer{margin-left:0}.layout-wrapper.layout-overlay.layout-overlay-sidebar-active .layout-sidebar{left:0}.layout-wrapper.layout-overlay.layout-overlay-sidebar-active .layout-topbar{left:250px}.layout-wrapper.layout-static .layout-topbar{left:250px}.layout-wrapper.layout-static .layout-main,.layout-wrapper.layout-static .layout-footer{margin-left:250px}.layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-topbar{left:0}.layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-main,.layout-wrapper.layout-static.layout-static-sidebar-inactive .layout-footer{margin-left:0}}@media(max-width: 1024px){.layout-wrapper .layout-topbar{left:0}.layout-wrapper .layout-main,.layout-wrapper .layout-footer{margin-left:0}.layout-wrapper .layout-sidebar{-moz-transition:left .2s;-o-transition:left .2s;-webkit-transition:left .2s;transition:left .2s;left:-250px;margin-top:50px}.layout-wrapper .layout-mask{display:none;position:fixed;width:100%;height:100%;top:50px;left:0;z-index:998;background-color:#424242;opacity:.7;filter:alpha(opacity=70)}.layout-wrapper.layout-mobile-sidebar-active .layout-sidebar{left:0}.layout-wrapper.layout-mobile-sidebar-active .layout-mask{display:block}.body-overflow-hidden{overflow:hidden}}h1{font-weight:normal;margin:0;font-size:24px}h2{font-size:20px;font-weight:normal;margin:0}.card{background-color:#fff;padding:1em;margin-bottom:16px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.card.card-w-title{padding-bottom:2em}.card h1{margin:1em 0 .5em 0;border-bottom:1px solid #d5d5d5;padding:.1em;font-size:24px}.card h1:first-child{margin:0 0 .5em 0}.docs pre[class*=language-]{padding:0 !important;background:rgba(0,0,0,0);overflow:visible}.docs pre[class*=language-]>code{border-left:0 none;box-shadow:none;font-size:14px}.dashboard .summary{position:relative}.dashboard .summary .title{font-size:20px}.dashboard .summary .detail{color:#707070;display:block;margin-top:10px}.dashboard .summary .count{color:#fff;position:absolute;top:10px;right:10px;font-size:24px;padding:7px 14px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.dashboard .summary .count.visitors{background-color:#20d077}.dashboard .summary .count.purchases{background-color:#f9c851}.dashboard .summary .count.revenue{background-color:#007be5}.dashboard .highlight-box{height:100px}.dashboard .highlight-box:after{content:"";display:table;clear:both}.dashboard .highlight-box .initials{height:100%;float:left;width:50%;text-align:center;padding:1em}.dashboard .highlight-box .initials>span{font-size:48px}.dashboard .highlight-box .highlight-details{height:100%;background-color:#fff;float:left;width:50%;padding:1em}.dashboard .highlight-box .highlight-details i{font-size:24px;vertical-align:middle;margin-right:.25em}.dashboard .highlight-box .highlight-details .count{color:#707070;font-size:36px;display:block}.dashboard .task-list{list-style-type:none;margin:0;padding:0}.dashboard .task-list li{padding:.5em .25em;border-bottom:1px solid #e3e3e3}.dashboard .task-list li:after{content:"";display:table;clear:both}.dashboard .task-list .p-checkbox{vertical-align:middle;margin-right:.5em}.dashboard .task-list .task-name{vertical-align:middle}.dashboard .task-list i{float:right;font-size:24px;color:#707070}.dashboard .task-list .p-panel-content{min-height:256px}.dashboard .contact-form .p-panel-content{min-height:256px}.dashboard .contacts ul{list-style-type:none;padding:0;margin:0}.dashboard .contacts ul li{border-bottom:1px solid #e3e3e3}.dashboard .contacts ul li button{padding:9px;width:100%;box-sizing:border-box;text-decoration:none;position:relative;display:block;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-transition:background-color .2s;-o-transition:background-color .2s;-webkit-transition:background-color .2s;transition:background-color .2s}.dashboard .contacts ul li button .name{position:absolute;right:10px;top:10px;font-size:18px}.dashboard .contacts ul li button .email{position:absolute;right:10px;top:30px;font-size:14px;color:#707070}.dashboard .contacts ul li button:hover{cursor:pointer;background-color:#eee}.dashboard .contacts ul li:last-child{border:0}.dashboard .contacts .p-panel-content{min-height:256px}.dashboard .activity-list{list-style-type:none;padding:0;margin:0}.dashboard .activity-list li{border-bottom:1px solid #e3e3e3;padding:16px 8px}.dashboard .activity-list li .count{font-size:24px;color:#fff;background-color:#007be5;font-weight:700;display:inline-block;padding:.25em .5em;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.dashboard .activity-list li:first-child{border-top:1px solid #e3e3e3}.dashboard .activity-list li:last-child{border:0}.dashboard .activity-list li .p-col-6:first-child{font-size:18px;padding:.5em 0 0 .5em}.dashboard .activity-list li .p-col-6:last-child{text-align:right;color:#707070}.openc3-green{color:#009600 !important}.openc3-yellow{color:#be8700 !important}.openc3-red{color:red !important}.openc3-blue{color:#0064ff !important}.openc3-purple{color:#c800c8 !important}.openc3-black{color:#000 !important}.openc3-white{color:#fff !important}.theme--dark.v-system-bar{background-color:var(--v-primary-base) !important}.theme--dark.v-system-bar.active{background-color:var(--v-secondary-base) !important}body,.theme--dark.v-application,.theme--dark.v-main,.theme--dark.v-content{background-color:var(--v-tertiary-base) !important}.theme--dark.v-sheet.v-list,.theme--dark.v-list,.theme--dark.v-list-item{background-color:var(--v-primary-darken2) !important}.theme--dark.v-data-table,.theme--dark.v-item-group,.theme--dark.v-dialog,.theme--dark.v-card,.theme--dark.v-tab,.theme--dark.v-sheet,.theme--dark.v-date-picker-header,.theme--dark.v-date-picker-table,.theme--dark.v-time-picker-clock__container,.theme--dark.p-menubar{background-color:var(--v-tertiary-darken2) !important}input{color-scheme:dark;caret-color:auto}.imo-modal-container input{color:#000}',".splash-screen {\n width: 100%;\n height: 100%;\n position: fixed;\n @include linear-gradient-left($topbarLeftBgColor, $topbarRightBgColor);\n\n .splash-container {\n width: 40px;\n height: 40px;\n margin: 0px auto;\n position: absolute;\n left: 50%;\n top: 50%;\n margin-left: -20px;\n margin-top: -20px;\n\n }\n\n .splash-double-bounce1, .splash-double-bounce2 {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: $topbarItemColor;\n opacity: 0.6;\n position: absolute;\n top: 0;\n left: 0;\n\n -webkit-animation: splash-bounce 2.0s infinite ease-in-out;\n animation: splash-bounce 2.0s infinite ease-in-out;\n }\n\n .splash-double-bounce2 {\n -webkit-animation-delay: -1.0s;\n animation-delay: -1.0s;\n }\n\n @-webkit-keyframes splash-bounce {\n 0%, 100% { -webkit-transform: scale(0.0) }\n 50% { -webkit-transform: scale(1.0) }\n }\n\n @keyframes splash-bounce {\n 0%, 100% {\n transform: scale(0.0);\n -webkit-transform: scale(0.0);\n } 50% {\n transform: scale(1.0);\n -webkit-transform: scale(1.0);\n }\n }\n}\n","/* General */\n$fontSize: 14px;\n$bodyBgColor: #edf0f5;\n$textColor: #333333;\n$textSecondaryColor: #707070;\n$borderRadius: 3px;\n$dividerColor: #e3e3e3;\n$transitionDuration: 0.2s;\n$maskBgColor: #424242;\n$focusShadowColor: #8dcdff;\n\n/* Menu Common */\n$menuitemBadgeBgColor: #007be5;\n$menuitemBadgeColor: #ffffff;\n$submenuFontSize: 13px;\n$menuitemActiveRouteColor: rgb(77, 172, 255);\n\n/* Menu Light */\n$menuBgColorFirst: #f3f4f9;\n$menuBgColorLast: #d7dbe8;\n$menuitemColor: #232428;\n$menuitemHoverColor: #0388e5;\n$menuitemActiveColor: #0388e5;\n$menuitemActiveBgColor: #ffffff;\n$menuitemBorderColor: rgba(207, 211, 224, 0.6);\n\n/* Menu Dark */\n$menuDarkBgColorFirst: rgb(0, 23, 36);\n$menuDarkBgColorLast: rgb(0, 54, 86);\n$menuitemDarkColor: #ffffff;\n$menuitemDarkHoverColor: rgb(0, 90, 143);\n$menuitemDarkActiveColor: rgb(77, 172, 255);\n$menuitemDarkActiveBgColor: rgb(0, 36, 57);\n$menuitemDarkBorderColor: rgba(52, 56, 65, 0.6);\n\n/* Topbar */\n$topbarLeftBgColor: rgb(0, 23, 36);\n$topbarRightBgColor: rgb(0, 23, 36);\n$topbarItemBadgeBgColor: #ef6262;\n$topbarItemBadgeColor: #ffffff;\n$topbarItemColor: #ffffff;\n$topbarItemHoverColor: #c3e8fb;\n$topbarSearchInputBorderBottomColor: #ffffff;\n$topbarSearchInputColor: #ffffff;\n\n/* Footer */\n$footerBgColor: rgb(24, 38, 53);\n","// Icon Override Mixin\n@mixin icon-override($icon) {\n &:before {\n content: $icon;\n }\n}\n\n// === MIXINS === //\n@mixin border-radius($val) {\n -moz-border-radius: $val;\n -webkit-border-radius: $val;\n border-radius: $val;\n}\n\n@mixin border-radius-right($val) {\n -moz-border-radius-topright: $val;\n -webkit-border-top-right-radius: $val;\n border-top-right-radius: $val;\n -moz-border-radius-bottomright: $val;\n -webkit-border-bottom-right-radius: $val;\n border-bottom-right-radius: $val; \n}\n\n@mixin border-radius-left($val) {\n -moz-border-radius-topleft: $val;\n -webkit-border-top-left-radius: $val;\n border-top-left-radius: $val;\n -moz-border-radius-bottomleft: $val;\n -webkit-border-bottom-left-radius: $val;\n border-bottom-left-radius: $val;\n}\n\n@mixin border-radius-top($val) {\n -moz-border-radius-topleft: $val;\n -webkit-border-top-left-radius: $val;\n border-top-left-radius: $val;\n -moz-border-radius-topright: $val;\n -webkit-border-top-right-radius: $val;\n border-top-right-radius: $val;\n}\n\n@mixin border-radius-bottom($val) {\n -moz-border-radius-bottomleft: $val;\n -webkit-border-bottom-left-radius: $val;\n border-bottom-left-radius: $val;\n -moz-border-radius-bottomright: $val;\n -webkit-border-bottom-right-radius: $val;\n border-bottom-right-radius: $val;\n}\n\n@mixin linear-gradient($top, $bottom){\n background: $top; /* Old browsers */\n background: -moz-linear-gradient(top, $top 0%, $bottom 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,$top), color-stop(100%,$bottom)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(top, $top 0%,$bottom 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(top, $top 0%,$bottom 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(top, $top 0%,$bottom 100%); /* IE10+ */\n background: linear-gradient(to bottom, $top 0%,$bottom 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#000000',GradientType=0 ); /* IE6-9 */\n}\n\n@mixin linear-gradient-left($left, $right){\n background: $left; /* Old browsers */\n background: -moz-linear-gradient(left, $left 0%, $right 100%); /* FF3.6+ */\n background: -webkit-gradient(linear, left top, right top, color-stop(0%,$left), color-stop(100%,$right)); /* Chrome,Safari4+ */\n background: -webkit-linear-gradient(left, $left 0%,$right 100%); /* Chrome10+,Safari5.1+ */\n background: -o-linear-gradient(left, $left 0%,$right 100%); /* Opera 11.10+ */\n background: -ms-linear-gradient(left, $left 0%,$right 100%); /* IE10+ */\n background: linear-gradient(to right, $left 0%,$right 100%); /* W3C */\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=$left, endColorstr=$right,GradientType=1 ); /* IE6-9 */\n}\n\n@mixin transition($transition...) {\n -moz-transition: $transition;\n -o-transition: $transition;\n -webkit-transition: $transition;\n transition: $transition;\n}\n\n@mixin transition-property($property) {\n -webkit-transition-property: $property;\n -moz-transition-property: $property;\n -ms-transition-property: $property;\n -o-transition-property: $property;\n transition-property: $property;\n}\n\n@mixin transition-duration($duration) {\n -moz-transition-duration: $duration;\n -webkit-transition-duration: $duration;\n -o-transition-duration: $duration;\n transition-duration: $duration;\n}\n\n@mixin transition-timing-function($function) {\n -webkit-transition-timing-function: $function;\n -moz-transition-timing-function: $function;\n -o-transition-timing-function: $function;\n transition-timing-function: $function;\n}\n\n@mixin opacity($opacity) {\n opacity: $opacity;\n $opacity-ie: $opacity * 100;\n filter: alpha(opacity=$opacity-ie);\n}\n\n@mixin shadow($value) {\n -webkit-box-shadow: $value;\n -moz-box-shadow: $value;\n box-shadow: $value;\n}\n\n@mixin focused() {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: 0 0 0 0.2em $focusShadowColor;\n}\n\n@mixin focused-inset() {\n outline: 0 none;\n outline-offset: 0;\n box-shadow: inset 0 0 0 0.2em $focusShadowColor;\n}\n\n@mixin clearfix {\n &:after {\n content: \"\";\n display: table;\n clear: both;\n }\n}","* {\n box-sizing: border-box;\n}\n\nhtml {\n height: 100%;\n}\n\nbody {\n font-family: 'Open Sans', 'Helvetica Neue', sans-serif;\n font-size: $fontSize;\n color: $textColor;\n /* background-color: $bodyBgColor; */\n margin: 0;\n padding: 0;\n min-height: 100%;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\na {\n text-decoration: none;\n}\n\n.layout-wrapper {\n padding: 0;\n}\n\n// Don't let the min-height be 100vh because it forces a scroll\n// with our header and footer\n.v-application--wrap {\n min-height: 0 !important;\n}\n",".layout-topbar {\n position: fixed;\n height: 80px;\n padding: 0.7em 1.5em 0em 1.5em;\n color: #ffffff;\n z-index: 999;\n right: 0;\n @include clearfix();\n @include linear-gradient-left($topbarLeftBgColor, $topbarRightBgColor);\n @include transition(left $transitionDuration);\n\n .layout-topbar-icons {\n float: right;\n display: block;\n -moz-animation-duration: 0.5s;\n -webkit-animation-duration: 0.5s;\n animation-duration: 0.5s;\n\n button {\n position: relative;\n color: $topbarItemColor;\n margin-left: 20px;\n display: inline-block;\n text-decoration: none;\n @include transition(color $transitionDuration);\n\n &:hover {\n color: $topbarItemHoverColor;\n }\n\n &:focus {\n @include focused();\n }\n\n span {\n &.layout-topbar-icon {\n font-size: 2em;\n }\n\n &.layout-topbar-item-text {\n font-size: 20px;\n display: none;\n }\n\n &.layout-topbar-badge {\n position: absolute;\n font-size: 10px;\n right: -5px;\n top: -5px;\n width: 16px;\n height: 16px;\n text-align: center;\n line-height: 16px;\n color: $topbarItemBadgeColor;\n background-color: $topbarItemBadgeBgColor;\n @include border-radius(50%);\n }\n }\n }\n\n .layout-topbar-search {\n padding: 0;\n position: relative;\n display: inline-block;\n top: -4px;\n\n input {\n display: inline-block;\n border: 0 none;\n font-size: $fontSize;\n background: transparent;\n border-bottom: 2px solid $topbarSearchInputBorderBottomColor;\n outline: 0 none;\n -webkit-box-shadow: none;\n box-shadow: none;\n color: $topbarSearchInputColor;\n width: 100px;\n padding: 1px 20px 1px 1px;\n margin: 0px;\n @include border-radius(2px);\n\n &::-webkit-input-placeholder {\n color: $topbarSearchInputColor;\n opacity: 0.7;\n @include transition(opacity $transitionDuration);\n }\n &:-moz-placeholder {\n color: $topbarSearchInputColor;\n opacity: 0.7;\n @include transition(opacity $transitionDuration);\n }\n &::-moz-placeholder {\n color: $topbarSearchInputColor;\n opacity: 0.7;\n @include transition(opacity $transitionDuration);\n }\n &:-ms-input-placeholder {\n color: $topbarSearchInputColor;\n opacity: 0.7;\n @include transition(opacity $transitionDuration);\n }\n }\n\n .layout-topbar-search-icon {\n font-size: 18px;\n position: absolute;\n top: -1px;\n right: 0px;\n }\n\n &:hover {\n input {\n border-bottom-color: $topbarItemHoverColor;\n &::-webkit-input-placeholder {\n opacity: 1;\n }\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &:-ms-input-placeholder {\n opacity: 1;\n }\n }\n\n .layout-topbar-search-icon {\n color: $topbarItemHoverColor;\n }\n }\n }\n }\n\n .layout-menu-button {\n cursor: pointer;\n display: inline-block;\n text-decoration: none;\n color: $topbarItemColor;\n @include transition(color $transitionDuration);\n\n span {\n font-size: 2em;\n }\n\n &:hover {\n color: $topbarItemHoverColor;\n }\n }\n\n button {\n cursor: pointer;\n }\n}\n",".layout-sidebar {\n position: fixed;\n width: 250px;\n height: 100%;\n z-index: 999;\n overflow-y: auto;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n @include transition(transform $transitionDuration);\n @include shadow(0 0 6px 0 rgba(0, 0, 0, 0.16));\n\n &.layout-sidebar-enter,\n &.layout-sidebar-leave-to {\n transform: translateX(-100%);\n }\n\n .layout-logo {\n text-align: center;\n margin-top: 24px;\n }\n\n .menuitem-badge {\n display: inline-block;\n margin-left: 4px;\n font-size: 10px;\n width: 16px;\n height: 16px;\n line-height: 16px;\n text-align: center;\n color: $menuitemBadgeColor;\n background-color: $menuitemBadgeBgColor;\n @include border-radius(50%);\n }\n}",".layout-profile {\n text-align: center;\n padding: 10px 0 10px 0;\n\n img {\n width: 56px;\n margin: 10px;\n }\n\n .layout-profile-link {\n cursor: pointer;\n display: inline-block;\n margin-bottom: 0.75em;\n @include transition(color $transitionDuration);\n\n i {\n display: inline-block;\n font-size: 16px;\n vertical-align: middle;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0;\n\n li {\n button {\n width: 100%;\n padding: 1em;\n border: 0 none;\n border-radius: 0;\n cursor: pointer;\n @include transition(color $transitionDuration);\n\n &:hover {\n color: $menuitemHoverColor;\n }\n\n span {\n margin-left: 0.25em;\n vertical-align: middle;\n }\n\n i {\n vertical-align: middle;\n }\n }\n }\n\n &.layout-submenu-wrapper-enter,\n &.layout-submenu-wrapper-leave-to {\n max-height: 0;\n }\n\n &.layout-submenu-wrapper-enter-to,\n &.layout-submenu-wrapper-leave {\n max-height: 1000px;\n }\n\n &.layout-submenu-wrapper-leave-active {\n overflow: hidden;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);\n }\n\n &.layout-submenu-wrapper-enter-active {\n overflow: hidden;\n transition: max-height 1s ease-in-out;\n }\n }\n}\n\n.layout-sidebar-light {\n .layout-profile {\n .layout-profile-link {\n color: $menuitemColor;\n\n &:hover {\n color: $menuitemHoverColor;\n }\n }\n\n ul {\n background-color: $menuitemActiveBgColor;\n\n li {\n button {\n color: $menuitemColor;\n\n &:hover {\n color: $menuitemHoverColor;\n }\n }\n }\n }\n }\n}\n\n.layout-sidebar-dark {\n .layout-profile {\n .layout-profile-link {\n color: $menuitemDarkColor;\n\n &:hover {\n color: $menuitemDarkHoverColor;\n }\n }\n\n ul {\n background-color: $menuitemDarkActiveBgColor;\n\n li {\n button {\n color: $menuitemDarkColor;\n\n &:hover {\n color: $menuitemDarkHoverColor;\n }\n }\n }\n }\n }\n}\n",'.layout-menu-container {\n padding-bottom: 120px;\n}\n\n.layout-menu {\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n li {\n a {\n cursor: pointer;\n position: relative;\n text-decoration: none;\n display: block;\n @include transition(color $transitionDuration);\n\n i {\n font-size: 18px;\n vertical-align: middle;\n }\n\n span {\n margin-left: .25em;\n vertical-align: middle;\n line-height: 18px;\n display: inline-block;\n }\n\n .menuitem-toggle-icon {\n position: absolute;\n top: 50%;\n right: 1em;\n margin-top: -9px;\n }\n\n &.router-link-active {\n font-weight: 700;\n }\n\n &:focus {\n @include focused-inset();\n }\n }\n\n &.active-menuitem {\n > a {\n .menuitem-toggle-icon {\n @include icon-override("\\e933");\n }\n }\n }\n }\n\n > li {\n > a {\n padding: 1em;\n\n span {\n font-size: $fontSize;\n }\n }\n\n &:last-child {\n > a {\n border-bottom: 1px solid $menuitemBorderColor;\n }\n }\n\n ul {\n list-style-type: none;\n margin: 0;\n padding: 0;\n padding-left: 1.5em;\n\n li {\n a {\n cursor: pointer;\n padding: .75em 1em;\n border-top: 0 none;\n\n span {\n font-size: $submenuFontSize;\n }\n }\n\n &:last-child {\n padding-bottom: 1em;\n }\n }\n\n &.layout-submenu-wrapper-enter,\n &.layout-submenu-wrapper-leave-to {\n max-height: 0;\n }\n\n &.layout-submenu-wrapper-enter-to,\n &.layout-submenu-wrapper-leave {\n max-height: 1000px;\n }\n\n &.layout-submenu-wrapper-leave-active {\n overflow: hidden;\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1);\n }\n\n &.layout-submenu-wrapper-enter-active {\n overflow: hidden;\n transition: max-height 1s ease-in-out;\n }\n }\n }\n}\n\n.layout-sidebar-light {\n @include linear-gradient($menuBgColorFirst, $menuBgColorLast);\n\n .layout-menu {\n > li {\n > a {\n border-top: 1px solid $menuitemBorderColor;\n }\n\n &:last-child {\n > a {\n border-bottom: 1px solid $menuitemBorderColor;\n }\n }\n\n ul {\n background-color: $menuitemActiveBgColor;\n }\n }\n\n li {\n a {\n color: $menuitemColor;\n\n &.router-link-active {\n color: $menuitemActiveRouteColor;\n }\n\n &:hover {\n color: $menuitemHoverColor;\n }\n }\n\n &.active-menuitem {\n > a {\n background-color: $menuitemActiveBgColor;\n color: $menuitemActiveColor;\n }\n }\n }\n }\n}\n\n.layout-sidebar-dark {\n @include linear-gradient($menuDarkBgColorFirst, $menuDarkBgColorLast);\n\n .layout-menu {\n > li {\n > a {\n border-top: 1px solid $menuitemDarkBorderColor;\n }\n\n &:last-child {\n > a {\n border-bottom: 1px solid $menuitemDarkBorderColor;\n }\n }\n\n ul {\n background-color: $menuitemDarkActiveBgColor;\n }\n }\n\n li {\n a {\n color: $menuitemDarkColor;\n\n &.router-link-active {\n color: $menuitemActiveRouteColor;\n }\n\n &:hover {\n color: $menuitemDarkHoverColor;\n }\n }\n\n &.active-menuitem {\n > a {\n background-color: $menuitemDarkActiveBgColor;\n color: $menuitemDarkActiveColor;\n }\n }\n }\n }\n}',".layout-main {\n @include transition(margin-left $transitionDuration);\n padding: 96px 16px 16px 16px;\n}\n",".layout-footer {\n @include transition(margin-left $transitionDuration);\n background-color: $footerBgColor;\n padding: 1em 2em;\n\n img {\n vertical-align: middle;\n }\n\n .footer-text {\n vertical-align: middle;\n }\n}","@media (min-width: 1025px) {\n .layout-wrapper {\n &.layout-overlay { \n .layout-topbar {\n left: 0;\n }\n \n .layout-main, .layout-footer {\n margin-left: 0;\n }\n \n &.layout-overlay-sidebar-active {\n .layout-sidebar {\n left: 0;\n }\n \n .layout-topbar {\n left: 250px;\n }\n }\n }\n\n &.layout-static { \n .layout-topbar {\n left: 250px;\n }\n \n .layout-main, .layout-footer {\n margin-left: 250px;\n }\n \n &.layout-static-sidebar-inactive { \n .layout-topbar {\n left: 0;\n }\n\n .layout-main, .layout-footer {\n margin-left: 0;\n }\n }\n }\n }\n}\n\n@media (max-width: 1024px) {\n .layout-wrapper {\n .layout-topbar {\n left: 0;\n }\n\n .layout-main, .layout-footer {\n margin-left: 0;\n }\n\n .layout-sidebar {\n @include transition(left $transitionDuration);\n left: -250px;\n margin-top: 50px;\n }\n\n .layout-mask {\n display: none;\n position: fixed;\n width: 100%;\n height: 100%;\n top: 50px;\n left: 0;\n z-index: 998;\n background-color: $maskBgColor;\n @include opacity(0.7);\n }\n\n &.layout-mobile-sidebar-active {\n .layout-sidebar {\n left: -0;\n }\n\n .layout-mask {\n display: block;\n }\n }\n }\n\n .body-overflow-hidden {\n overflow: hidden;\n }\n}",'/* Typography */\nh1 {\n font-weight: normal;\n margin: 0;\n font-size: 24px;\n}\n\nh2 {\n font-size: 20px;\n font-weight: normal;\n margin: 0;\n}\n\n.card {\n background-color: #ffffff;\n padding: 1em;\n margin-bottom: 16px;\n @include border-radius($borderRadius);\n\n &.card-w-title {\n padding-bottom: 2em;\n }\n\n h1 {\n margin: 1em 0 .5em 0;\n border-bottom: 1px solid #d5d5d5;\n padding: .1em;\n font-size: 24px;\n\n &:first-child {\n margin: 0 0 .5em 0;\n }\n }\n}\n\n/* Code Highlight */\n.docs {\n pre[class*="language-"] {\n padding: 0 !important;\n background: transparent;\n overflow: visible;\n \n > code {\n border-left: 0 none;\n box-shadow: none;\n font-size: 14px;\n }\n }\n}\n',"/* Dashboard */\n.dashboard {\n \n .summary {\n position: relative;\n \n .title {\n font-size: 20px;\n }\n \n .detail {\n color: $textSecondaryColor;\n display: block;\n margin-top: 10px;\n }\n \n .count {\n color: #ffffff;\n position: absolute;\n top: 10px;\n right: 10px;\n font-size: 24px;\n padding: 7px 14px;\n @include border-radius($borderRadius);\n \n &.visitors {\n background-color: #20d077;\n }\n \n &.purchases {\n background-color: #f9c851;\n }\n \n &.revenue {\n background-color: #007be5;\n }\n }\n }\n\n .highlight-box {\n height: 100px;\n @include clearfix();\n \n .initials {\n height: 100%;\n float: left;\n width: 50%;\n text-align: center;\n padding: 1em;\n\n > span {\n font-size: 48px;\n }\n }\n \n .highlight-details {\n height: 100%;\n background-color: #ffffff;\n float: left;\n width: 50%;\n padding: 1em;\n\n i {\n font-size: 24px;\n vertical-align: middle;\n margin-right: .25em;\n }\n \n .count {\n color: $textSecondaryColor;\n font-size: 36px;\n display: block;\n }\n }\n }\n \n .task-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n \n li {\n padding: .5em .25em;\n border-bottom: 1px solid $dividerColor;\n @include clearfix();\n }\n \n .p-checkbox {\n vertical-align: middle;\n margin-right: .5em;\n }\n \n .task-name {\n vertical-align: middle;\n }\n \n i {\n float: right;\n font-size: 24px;\n color: $textSecondaryColor;\n }\n\n .p-panel-content {\n min-height: 256px;\n }\n }\n\n .contact-form {\n .p-panel-content {\n min-height: 256px;\n }\n }\n\n .contacts {\n\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0;\n\n li {\n border-bottom: 1px solid $dividerColor;\n \n button {\n padding: 9px;\n width: 100%;\n box-sizing: border-box;\n text-decoration: none;\n position: relative;\n display: block;\n @include border-radius(2px);\n @include transition(background-color .2s);\n \n .name {\n position: absolute;\n right: 10px;\n top: 10px;\n font-size: 18px;\n }\n \n .email {\n position: absolute;\n right: 10px;\n top: 30px;\n font-size: 14px;\n color: $textSecondaryColor;\n }\n \n &:hover {\n cursor: pointer;\n background-color: #eeeeee;\n }\n }\n \n &:last-child {\n border: 0;\n }\n }\n }\n \n .p-panel-content {\n min-height: 256px;\n }\n }\n \n .activity-list {\n list-style-type: none;\n padding: 0;\n margin: 0;\n \n li {\n border-bottom: 1px solid $dividerColor;\n padding: 16px 8px;\n \n .count {\n font-size: 24px;\n color: #ffffff;\n background-color: #007be5;\n font-weight: 700;\n display: inline-block;\n padding: .25em .5em;\n @include border-radius($borderRadius);\n }\n \n &:first-child {\n border-top: 1px solid $dividerColor;\n }\n \n &:last-child {\n border: 0;\n }\n\n .p-col-6:first-child {\n font-size: 18px;\n padding: .5em 0 0 .5em;\n }\n \n .p-col-6:last-child {\n text-align: right;\n color: $textSecondaryColor;\n }\n }\n }\n}\n","// This is for global overrides only. If it's contained to a component put it there.\n// Also use the variables created by vueify like var(--v-primary-darken2) rather\n// than something absolute so theming works. See vuetify.js for the base colors\n// and note the variations are: base, lighten[1-5], and darken[1-4]\n\n.openc3-green {\n color: rgb(0, 150, 0) !important;\n}\n.openc3-yellow {\n color: rgb(190, 135, 0) !important;\n}\n.openc3-red {\n color: red !important;\n}\n.openc3-blue {\n color: rgb(0, 100, 255) !important;\n}\n.openc3-purple {\n color: rgb(200, 0, 200) !important;\n}\n.openc3-black {\n color: black !important;\n}\n.openc3-white {\n color: white !important;\n}\n\n// Base colors\n.theme--dark.v-system-bar {\n background-color: var(--v-primary-base) !important;\n}\n.theme--dark.v-system-bar.active {\n background-color: var(--v-secondary-base) !important;\n}\nbody,\n.theme--dark.v-application,\n.theme--dark.v-main,\n.theme--dark.v-content {\n background-color: var(--v-tertiary-base) !important;\n}\n\n// Highlight colors\n.theme--dark.v-sheet.v-list,\n.theme--dark.v-list,\n.theme--dark.v-list-item {\n background-color: var(--v-primary-darken2) !important;\n}\n.theme--dark.v-data-table,\n.theme--dark.v-item-group,\n.theme--dark.v-dialog,\n.theme--dark.v-card,\n.theme--dark.v-tab,\n.theme--dark.v-sheet,\n.theme--dark.v-date-picker-header,\n.theme--dark.v-date-picker-table,\n.theme--dark.v-time-picker-clock__container,\n.theme--dark.p-menubar {\n background-color: var(--v-tertiary-darken2) !important;\n}\n\ninput {\n // This causes the browser to style input icons for a dark background\n color-scheme: dark;\n // Make the caret color be white instead of a dark blue\n caret-color: auto;\n}\n\n// Fix the single spa debug panel so the text is readable\n.imo-modal-container input {\n color: black\n}\n"],sourceRoot:""}]),t.default=a},4337:function(n,t,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([n.id,"\n#footer[data-v-225df573] {\n z-index: 1000; /* On TOP! */\n}\n","",{version:3,sources:["webpack://./src/AppFooter.vue"],names:[],mappings:";AAmEA;EACA,aAAA,EAAA,YAAA;AACA",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-footer id="footer" app color="tertiary darken-3" height="33">\n <img :src="logo" alt="OpenC3" width="20" height="20" />\n <span class="footer-text" style="margin-left: 5px">\n OpenC3 {{ openc3Version }} © 2022\n </span>\n <v-spacer />\n <a :href="sourceUrl" class="white--text text-decoration-underline">\n Source\n </a>\n <v-spacer />\n <div class="justify-right"><clock-footer /></div>\n </v-footer>\n</template>\n\n<script>\nimport ClockFooter from \'./components/ClockFooter.vue\'\nimport { OpenC3Api } from \'../../packages/openc3-tool-common/src/services/openc3-api\'\nimport logo from \'../public/img/logo.png\'\n\nexport default {\n components: {\n ClockFooter,\n },\n data() {\n return {\n logo: logo,\n sourceUrl: \'\',\n openc3Version: \'\',\n }\n },\n created: function () {\n this.getSourceUrl()\n },\n methods: {\n getSourceUrl: function () {\n new OpenC3Api()\n .get_settings([\'source_url\', \'version\'])\n .then((response) => {\n this.sourceUrl = response[0]\n this.openc3Version = `(${response[1]})`\n })\n },\n },\n}\n<\/script>\n\n<style scoped>\n#footer {\n z-index: 1000; /* On TOP! */\n}\n</style>\n'],sourceRoot:""}]),t.Z=a},9013:function(n,t,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([n.id,"\n.v-list-item--two-line .v-list-item__icon[data-v-0a95910a] {\n margin: 0px;\n}\n.v-list[data-v-0a95910a] .v-label {\n margin-left: 5px;\n}\n.theme--dark.v-navigation-drawer[data-v-0a95910a] {\n background-color: var(--v-primary-darken2);\n}\n.v-list-item__icon[data-v-0a95910a] {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title[data-v-0a95910a] {\n color: white;\n}\n#openc3-app-toolbar .top-bar-divider-full-height[data-v-0a95910a] {\n margin: -4px 4px;\n min-height: calc(100% + 8px);\n}\n","",{version:3,sources:["webpack://./src/AppNav.vue"],names:[],mappings:";AAgKA;EACA,WAAA;AACA;AACA;EACA,gBAAA;AACA;AACA;EACA,0CAAA;AACA;AACA;EACA,qDAAA;EACA,6BAAA;AACA;AACA;EACA,YAAA;AACA;AAEA;EACA,gBAAA;EACA,4BAAA;AACA",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-navigation-drawer v-model="drawer" app id="openc3-nav-drawer">\n <v-list>\n <v-list-item>\n <v-list-item-icon style="margin-right: auto !important; margin-left: auto;">\n <img :src="logo" alt="OpenC3" />\n </v-list-item-icon>\n </v-list-item>\n <v-list-item class="my-0">\n <v-list-item-content>\n <div v-for="(tool, name) in adminTools" :key="name">\n <v-btn\n block\n small\n :href="tool.url"\n onclick="singleSpaNavigate(event)"\n >\n Admin\n </v-btn>\n </div>\n </v-list-item-content>\n </v-list-item>\n <v-divider />\n <div v-for="(tool, name) in shownTools" :key="name">\n <v-list-item class="pr-0">\n <v-list-item-icon>\n <a :href="tool.url" onclick="singleSpaNavigate(event)">\n <v-icon>{{ tool.icon }}</v-icon>\n </a>\n </v-list-item-icon>\n <v-list-item-content>\n <a :href="tool.url" onclick="singleSpaNavigate(event)">\n <v-list-item-title>{{ name }}</v-list-item-title>\n </a>\n </v-list-item-content>\n <v-divider vertical />\n <v-list-item-icon>\n <a :href="tool.url" target="_blank">\n <v-icon>mdi-open-in-new</v-icon>\n </a>\n </v-list-item-icon>\n </v-list-item>\n </div>\n </v-list>\n </v-navigation-drawer>\n <v-app-bar app color="tertiary darken-3" id="openc3-app-toolbar">\n <v-app-bar-nav-icon @click="drawer = !drawer" />\n <v-divider vertical class="top-bar-divider-full-height" />\n <span style="width: 100%"><span id="openc3-menu"></span></span>\n <div class="justify-right mr-2 pt-2"><scope-selector /></div>\n <div class="justify-right"><alert-history /></div>\n <div class="justify-right"><notifications /></div>\n <div class="justify-right"><user-menu /></div>\n </v-app-bar>\n </div>\n</template>\n\n<script>\nimport Api from \'../../packages/openc3-tool-common/src/services/api\'\nimport logo from \'../public/img/logo.png\'\nimport { registerApplication, start } from \'single-spa\'\nimport ScopeSelector from \'./components/ScopeSelector.vue\'\nimport AlertHistory from \'./components/AlertHistory.vue\'\nimport Notifications from \'./components/Notifications.vue\'\nimport UserMenu from \'./components/UserMenu.vue\'\n\nexport default {\n components: {\n ScopeSelector,\n AlertHistory,\n Notifications,\n UserMenu,\n },\n data() {\n return {\n drawer: true,\n appNav: {},\n adminNav: {},\n checked: [],\n logo: logo,\n }\n },\n computed: {\n // a computed getter\n shownTools: function () {\n let result = {}\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown && this.appNav[key].category !== \'Admin\') {\n result[key] = this.appNav[key]\n }\n }\n return result\n },\n adminTools: function () {\n let result = {}\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown && this.appNav[key].category === \'Admin\') {\n result[key] = this.appNav[key]\n }\n }\n return result\n },\n },\n created() {\n Api.get(\'/openc3-api/tools/all\', { params: { scope: \'DEFAULT\' } }).then(\n (response) => {\n this.appNav = response.data\n\n // Register apps and start single-spa\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown) {\n let folder_name = this.appNav[key].folder_name\n let name = \'@openc3/tool-\' + folder_name\n registerApplication({\n name: name,\n app: () => System.import(name),\n activeWhen: [\'/tools/\' + folder_name],\n })\n }\n }\n start({\n urlRerouteOnly: true,\n })\n\n // Redirect / to the first tool\n if (window.location.pathname == \'/\') {\n for (var key of Object.keys(this.shownTools)) {\n if (this.appNav[key].shown) {\n history.replaceState(null, \'\', this.appNav[key].url)\n break\n }\n }\n }\n }\n )\n },\n}\n<\/script>\n\n<style scoped>\n.v-list-item--two-line .v-list-item__icon {\n margin: 0px;\n}\n.v-list >>> .v-label {\n margin-left: 5px;\n}\n.theme--dark.v-navigation-drawer {\n background-color: var(--v-primary-darken2);\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n\n#openc3-app-toolbar .top-bar-divider-full-height {\n margin: -4px 4px;\n min-height: calc(100% + 8px);\n}\n</style>\n'],sourceRoot:""}]),t.Z=a},546:function(n,t,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([n.id,"\n.v-subheader[data-v-0042fbc8] {\n height: 28px;\n}\n.v-badge[data-v-0042fbc8] {\n width: 100%;\n}\n.overlay[data-v-0042fbc8] {\n height: 100vh;\n width: 100vw;\n}\n","",{version:3,sources:["webpack://./src/components/AlertHistory.vue"],names:[],mappings:";AAyKA;EACA,YAAA;AACA;AAEA;EACA,WAAA;AACA;AAEA;EACA,aAAA;EACA,YAAA;AACA",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-overlay :value="showAlertPane" class="overlay" />\n <v-menu\n v-model="showAlertPane"\n transition="slide-y-transition"\n :close-on-content-click="false"\n :nudge-width="340"\n offset-y\n :nudge-bottom="20"\n >\n \x3c!-- Alert box icon --\x3e\n <template v-slot:activator="{ on, attrs }">\n <v-btn v-bind="attrs" v-on="on" icon>\n <v-icon :size="size"> mdi-alert-box-outline </v-icon>\n </v-btn>\n </template>\n\n \x3c!-- Alerts list --\x3e\n <v-card>\n <v-card-title>\n Alerts\n <v-spacer />\n <v-tooltip top open-delay="350">\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n v-bind="attrs"\n v-on="on"\n @click="clearAlerts"\n class="ml-1"\n >\n <v-icon> mdi-notification-clear-all </v-icon>\n </v-btn>\n </template>\n <span>Clear all</span>\n </v-tooltip>\n </v-card-title>\n <v-card-text v-if="alerts.length === 0"> No alerts </v-card-text>\n <v-list\n v-else\n two-line\n width="388"\n max-height="80vh"\n class="overflow-y-auto"\n >\n <template v-for="(alert, index) in alerts">\n <v-list-item\n @click="openDialog(alert)"\n :key="`alert-${index}`"\n class="pl-2"\n >\n <v-badge left inline color="transparent">\n <v-list-item-content class="pt-0 pb-0">\n <v-list-item-title>\n {{ alert.title }}\n </v-list-item-title>\n <v-list-item-subtitle>\n {{ alert.body }}\n </v-list-item-subtitle>\n </v-list-item-content>\n <template v-slot:badge>\n <astro-status-indicator\n :status="alert.severity.toLowerCase()"\n />\n </template>\n </v-badge>\n </v-list-item>\n </template>\n </v-list>\n </v-card>\n </v-menu>\n\n \x3c!-- Dialog for viewing full alert --\x3e\n <v-dialog v-model="alertDialog" width="600">\n <v-card>\n <v-card-title>\n {{ selectedAlert.title }}\n <v-spacer />\n <astro-status-indicator\n :status="selectedAlert.severity || \'normal\'"\n />\n </v-card-title>\n <v-card-text>\n {{ selectedAlert.body }}\n </v-card-text>\n <v-divider />\n <v-card-actions>\n <v-btn color="primary" text @click="alertDialog = false">\n Dismiss\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { AstroStatusColors } from \'../../../packages/openc3-tool-common/src/components/icons\'\nimport {\n highestSeverity,\n orderBySeverity,\n groupBySeverity,\n} from \'../util/AstroStatus\'\n\nexport default {\n props: {\n size: {\n type: [String, Number],\n default: 26,\n },\n },\n data: function () {\n return {\n AstroStatusColors,\n alerts: [],\n alertDialog: false,\n showAlertPane: false,\n selectedAlert: {},\n }\n },\n watch: {\n showAlertPane: function (val) {\n if (val) {\n this.refreshList()\n }\n if (!val && this.selectedAlert.title) {\n this.alertDialog = false\n this.selectedAlert = {}\n }\n },\n },\n methods: {\n refreshList: function () {\n this.alerts = this.$store.state.notifyHistory\n },\n clearAlerts: function () {\n this.$store.commit(\'notifyClearHistory\')\n this.refreshList()\n this.showAlertPane = false\n },\n openDialog: function (alert, clearToast = false) {\n this.selectedAlert = alert\n this.alertDialog = true\n },\n },\n}\n<\/script>\n\n<style scoped>\n.v-subheader {\n height: 28px;\n}\n\n.v-badge {\n width: 100%;\n}\n\n.overlay {\n height: 100vh;\n width: 100vw;\n}\n</style>\n'],sourceRoot:""}]),t.Z=a},3960:function(n,t,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([n.id,"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* push things up and down to make room for the classification banners */\n#app,\n#openc3-nav-drawer {\n margin-top: var(--classification-height-top);\n}\n#openc3-app-toolbar {\n top: var(--classification-height-top);\n}\n#openc3-nav-drawer .v-navigation-drawer__content {\n height: calc(\n 100% - var(--classification-height-top) -\n var(--classification-height-bottom)\n );\n}\n#footer {\n margin-bottom: var(--classification-height-bottom);\n}\n\n/* make the classification banners */\n#app::before,\n#app::after {\n z-index: 99;\n position: fixed;\n left: 0;\n right: 0;\n text-align: center;\n content: var(--classification-text);\n color: var(--classification-font-color);\n background-color: var(--classification-background-color);\n}\n#app::before {\n top: 0;\n font-size: calc(var(--classification-height-top) * 0.7);\n height: var(--classification-height-top);\n}\n#app::after {\n bottom: 0;\n font-size: calc(var(--classification-height-bottom) * 0.7);\n height: var(--classification-height-bottom);\n}\n","",{version:3,sources:["webpack://./src/components/ClassificationBanners.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,wEAAA;AACA;;EAEA,4CAAA;AACA;AACA;EACA,qCAAA;AACA;AACA;EACA;;;GAGA;AACA;AACA;EACA,kDAAA;AACA;;AAEA,oCAAA;AACA;;EAEA,WAAA;EACA,eAAA;EACA,OAAA;EACA,QAAA;EACA,kBAAA;EACA,mCAAA;EACA,uCAAA;EACA,wDAAA;AACA;AACA;EACA,MAAA;EACA,uDAAA;EACA,wCAAA;AACA;AACA;EACA,SAAA;EACA,0DAAA;EACA,2CAAA;AACA",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<script>\nimport { OpenC3Api } from '../../../packages/openc3-tool-common/src/services/openc3-api'\n\nexport default {\n data: function () {\n return {\n api: null,\n classification: {\n text: '',\n fontColor: 'white',\n backgroundColor: 'red',\n topHeight: 0,\n bottomHeight: 0,\n },\n }\n },\n computed: {\n classificationStyles: function () {\n // JavaScript can't access CSS psudo-elements (::before and ::after).\n // This string sets these JS values to CSS variables, accessible to\n // the style sheet via the style attribute on #app\n return [\n `--classification-text:\"${this.classification.text}\";`,\n `--classification-font-color:${this.classification.fontColor};`,\n `--classification-background-color:${this.classification.backgroundColor};`,\n `--classification-height-top:${this.classification.topHeight}px;`,\n `--classification-height-bottom:${this.classification.bottomHeight}px;`,\n ].join('')\n },\n },\n created: function () {\n this.api = new OpenC3Api()\n this.load()\n },\n methods: {\n load: function () {\n this.api.get_setting('classification_banner').then((response) => {\n if (response) {\n this.classification = JSON.parse(response)\n }\n })\n },\n },\n}\n<\/script>\n\n<style>\n/* push things up and down to make room for the classification banners */\n#app,\n#openc3-nav-drawer {\n margin-top: var(--classification-height-top);\n}\n#openc3-app-toolbar {\n top: var(--classification-height-top);\n}\n#openc3-nav-drawer .v-navigation-drawer__content {\n height: calc(\n 100% - var(--classification-height-top) -\n var(--classification-height-bottom)\n );\n}\n#footer {\n margin-bottom: var(--classification-height-bottom);\n}\n\n/* make the classification banners */\n#app::before,\n#app::after {\n z-index: 99;\n position: fixed;\n left: 0;\n right: 0;\n text-align: center;\n content: var(--classification-text);\n color: var(--classification-font-color);\n background-color: var(--classification-background-color);\n}\n#app::before {\n top: 0;\n font-size: calc(var(--classification-height-top) * 0.7);\n height: var(--classification-height-top);\n}\n#app::after {\n bottom: 0;\n font-size: calc(var(--classification-height-bottom) * 0.7);\n height: var(--classification-height-bottom);\n}\n</style>\n"],sourceRoot:""}]),t.Z=a},8232:function(n,t,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([n.id,"\n.v-subheader[data-v-43a3e4e8] {\n height: 28px;\n}\n.v-badge[data-v-43a3e4e8] {\n width: 100%;\n}\n.overlay[data-v-43a3e4e8] {\n height: 100vh;\n width: 100vw;\n}\n","",{version:3,sources:["webpack://./src/components/Notifications.vue"],names:[],mappings:";AAmYA;EACA,YAAA;AACA;AAEA;EACA,WAAA;AACA;AAEA;EACA,aAAA;EACA,YAAA;AACA",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-overlay :value="showNotificationPane" class="overlay" />\n <v-menu\n v-model="showNotificationPane"\n transition="slide-y-transition"\n :close-on-content-click="false"\n :nudge-width="340"\n offset-y\n :nudge-bottom="20"\n >\n \x3c!-- Bell icon --\x3e\n <template v-slot:activator="{ on, attrs }">\n <v-btn v-bind="attrs" v-on="on" icon>\n <v-icon v-if="unreadCount === 0" :size="size">\n mdi-bell-outline\n </v-icon>\n <v-badge\n v-else\n left\n offset-x="24"\n offset-y="8"\n :color="badgeColor"\n bordered\n :content="unreadCount"\n >\n <v-icon :size="size" :color="badgeColor"> mdi-bell </v-icon>\n </v-badge>\n </v-btn>\n </template>\n\n \x3c!-- Notifications list --\x3e\n <v-card>\n <v-card-title>\n Notifications\n <v-spacer />\n <v-tooltip top open-delay="350">\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n v-bind="attrs"\n v-on="on"\n @click="clearNotifications"\n class="ml-1"\n >\n <v-icon> mdi-notification-clear-all </v-icon>\n </v-btn>\n </template>\n <span>Clear all</span>\n </v-tooltip>\n <v-btn icon @click="toggleSettingsDialog" class="ml-1">\n <v-icon> $astro-settings </v-icon>\n </v-btn>\n </v-card-title>\n <v-card-text v-if="notifications.length === 0">\n No notifications\n </v-card-text>\n <v-list\n v-else\n two-line\n width="388"\n max-height="80vh"\n class="overflow-y-auto"\n >\n <template v-for="(notification, index) in notificationList">\n <template v-if="notification.header">\n <v-divider v-if="index !== 0" :key="index" class="mb-2" />\n <v-subheader :key="notification.header">\n {{ notification.header }}\n </v-subheader>\n </template>\n\n <v-list-item\n v-else\n :key="`notification-${index}`"\n @click="openDialog(notification)"\n class="pl-2"\n >\n <v-badge left inline color="transparent">\n <v-list-item-content class="pt-0 pb-0">\n <v-list-item-title\n :class="{ \'text--secondary\': notification.read }"\n >\n {{ notification.title }}\n </v-list-item-title>\n <v-list-item-subtitle>\n {{ notification.body }}\n </v-list-item-subtitle>\n </v-list-item-content>\n <v-list-item-action class="mt-0">\n <v-list-item-action-text>\n {{ notification.time | shortDateTime }}\n </v-list-item-action-text>\n <v-spacer />\n </v-list-item-action>\n <template v-slot:badge>\n <astro-status-indicator\n :status="notification.severity.toLowerCase()"\n />\n </template>\n </v-badge>\n </v-list-item>\n </template>\n </v-list>\n </v-card>\n </v-menu>\n\n \x3c!-- Dialog for viewing full notification --\x3e\n <v-dialog v-model="notificationDialog" width="600">\n <v-card>\n <v-card-title>\n {{ selectedNotification.title }}\n <v-spacer />\n <astro-status-indicator\n :status="selectedNotification.severity || \'normal\'"\n />\n </v-card-title>\n <v-card-subtitle>\n {{ selectedNotification.time | shortDateTime }}\n </v-card-subtitle>\n <v-card-text>\n {{ selectedNotification.body }}\n </v-card-text>\n <v-divider />\n <v-card-actions>\n <v-btn\n color="primary"\n text\n @click="navigate(selectedNotification.url)"\n >\n Open\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n <v-btn color="primary" text @click="notificationDialog = false">\n Dismiss\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n\n \x3c!-- Dialog for changing notification settings --\x3e\n <v-dialog v-model="settingsDialog" width="600">\n <v-card>\n <v-card-title> Notification settings </v-card-title>\n <v-card-text>\n <v-switch v-model="showToast" label="Show toasts" />\n </v-card-text>\n <v-divider />\n <v-card-actions>\n <v-btn color="primary" text @click="toggleSettingsDialog">\n close\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { formatDistanceToNow } from \'date-fns\'\nimport { AstroStatusColors } from \'../../../packages/openc3-tool-common/src/components/icons\'\nimport {\n highestSeverity,\n orderBySeverity,\n groupBySeverity,\n} from \'../util/AstroStatus\'\nimport Cable from \'../../../packages/openc3-tool-common/src/services/cable.js\'\n\nconst NOTIFICATION_HISTORY_MAX_LENGTH = 100\n\nexport default {\n props: {\n size: {\n type: [String, Number],\n default: 26,\n },\n },\n data: function () {\n return {\n AstroStatusColors,\n cable: new Cable(),\n subscription: null,\n notifications: [],\n showNotificationPane: false,\n toastNotification: {},\n notificationDialog: false,\n selectedNotification: {},\n settingsDialog: false,\n showToast: true,\n }\n },\n computed: {\n badgeColor: function () {\n if (!this.unreadCount) {\n return AstroStatusColors[\'off\']\n }\n const severities = this.unreadNotifications\n .map((notification) => notification.severity)\n .filter((val, index, self) => {\n return self.indexOf(val) === index // Unique values\n })\n return AstroStatusColors[highestSeverity(severities)]\n },\n readNotifications: function () {\n return this.notifications\n .filter((notification) => notification.read)\n .sort((a, b) => b.time - a.time)\n },\n unreadNotifications: function () {\n return this.notifications\n .filter((notification) => !notification.read)\n .sort((a, b) => b.time - a.time)\n },\n unreadCount: function () {\n return this.unreadNotifications.length\n },\n notificationList: function () {\n const groups = groupBySeverity(this.unreadNotifications)\n let result = orderBySeverity(Object.keys(groups), (k) => k).flatMap(\n (severity) => {\n const header = {\n header: severity.charAt(0).toUpperCase() + severity.slice(1),\n }\n return [header, ...groups[severity]]\n }\n )\n if (this.readNotifications.length) {\n result = result.concat([{ header: \'Read\' }, ...this.readNotifications])\n }\n return result\n },\n },\n watch: {\n showNotificationPane: function (val) {\n if (!val) {\n if (this.selectedNotification.title) {\n this.notificationDialog = false\n this.selectedNotification = {}\n } else {\n this.markAllAsRead()\n }\n }\n },\n showToast: function (val) {\n localStorage.notoast = !val\n },\n },\n created: function () {\n this.showToast = localStorage.notoast === \'false\'\n this.subscribe()\n },\n destroyed: function () {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n methods: {\n markAllAsRead: function () {\n this.notifications.forEach((notification) => {\n notification.read = true\n if (\n !localStorage.lastReadNotification ||\n localStorage.lastReadNotification < notification.msg_id\n ) {\n localStorage.lastReadNotification = notification.msg_id\n }\n })\n },\n clearNotifications: function () {\n this.markAllAsRead()\n this.notifications = []\n localStorage.notificationStreamOffset = localStorage.lastReadNotification\n this.showNotificationPane = false\n },\n toggleNotificationPane: function () {\n this.showNotificationPane = !this.showNotificationPane\n },\n toggleSettingsDialog: function () {\n this.settingsDialog = !this.settingsDialog\n },\n openDialog: function (notification, clearToast = false) {\n notification.read = true\n if (\n !localStorage.lastReadNotification ||\n localStorage.lastReadNotification < notification.msg_id\n ) {\n localStorage.lastReadNotification = notification.msg_id\n }\n this.selectedNotification = notification\n this.notificationDialog = true\n },\n navigate: function (url) {\n window.open(url, \'_blank\')\n },\n subscribe: function () {\n this.cable\n .createSubscription(\n \'NotificationsChannel\',\n localStorage.scope,\n {\n received: (data) => this.received(data),\n },\n {\n start_offset:\n localStorage.notificationStreamOffset ||\n localStorage.lastReadNotification,\n }\n )\n .then((subscription) => {\n this.subscription = subscription\n })\n },\n received: function (data) {\n const parsed = JSON.parse(data)\n if (parsed.length > NOTIFICATION_HISTORY_MAX_LENGTH) {\n parsed.splice(0, parsed.length - NOTIFICATION_HISTORY_MAX_LENGTH)\n }\n let foundToast = false\n parsed.forEach((notification) => {\n notification.read =\n notification.msg_id <= localStorage.lastReadNotification\n notification.severity = notification.severity || \'normal\'\n if (\n !notification.read && // Don\'t toast read notifications\n ([\'critical\', \'serious\'].includes(notification.severity) || // Toast for these statuses\n notification.severity === \'critical\') // Ok to override a toast only if this one is \'critical\'\n ) {\n foundToast = true\n this.toastNotification = notification\n }\n })\n\n if (this.showToast && foundToast) {\n this.$notify[this.toastNotification.severity]({\n ...this.toastNotification,\n type: \'notification\',\n duration:\n this.toastNotification.severity === \'critical\' ? null : 5000,\n saveToHistory: false,\n })\n }\n\n if (\n this.notifications.length + parsed.length >\n NOTIFICATION_HISTORY_MAX_LENGTH\n ) {\n this.notifications.splice(\n 0,\n this.notifications.length +\n parsed.length -\n NOTIFICATION_HISTORY_MAX_LENGTH\n )\n }\n this.notifications = this.notifications.concat(parsed)\n },\n },\n filters: {\n shortDateTime: function (nsec) {\n if (!nsec) return \'\'\n const date = new Date(nsec / 1_000_000)\n return formatDistanceToNow(date, { addSuffix: true })\n },\n },\n}\n<\/script>\n\n<style scoped>\n.v-subheader {\n height: 28px;\n}\n\n.v-badge {\n width: 100%;\n}\n\n.overlay {\n height: 100vh;\n width: 100vw;\n}\n</style>\n'],sourceRoot:""}]),t.Z=a},9253:function(n,t,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([n.id,"\n.overlay[data-v-53e47a0c] {\n height: 100vh;\n width: 100vw;\n}\n","",{version:3,sources:["webpack://./src/components/UserMenu.vue"],names:[],mappings:";AAyFA;EACA,aAAA;EACA,YAAA;AACA",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-overlay :value="showUserMenu" class="overlay" />\n <v-menu\n v-model="showUserMenu"\n transition="slide-y-transition"\n offset-y\n :close-on-content-click="false"\n :nudge-width="120"\n :nudge-bottom="20"\n >\n <template v-slot:activator="{ on, attrs }">\n <v-btn v-bind="attrs" v-on="on" icon>\n <v-icon :size="size"> mdi-account </v-icon>\n </v-btn>\n </template>\n\n <v-card>\n <v-card-text class="text-center">\n <div v-if="authenticated">\n <v-btn block @click="logout" color="primary"> Logout </v-btn>\n </div>\n <div v-else>\n <v-btn block @click="login" color="primary"> Login </v-btn>\n </div>\n <div>\n <v-switch label="Colorblind mode" v-model="colorblindMode" />\n </div>\n </v-card-text>\n </v-card>\n </v-menu>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n size: {\n type: [String, Number],\n default: 26,\n },\n },\n data: function () {\n return {\n showUserMenu: false,\n authenticated: !!localStorage.openc3Token,\n }\n },\n computed: {\n colorblindMode: {\n get: function () {\n return localStorage.colorblindMode === \'true\'\n },\n set: function (val) {\n localStorage.colorblindMode = val\n },\n },\n },\n methods: {\n logout: function () {\n OpenC3Auth.logout()\n },\n login: function () {\n OpenC3Auth.login(location.href)\n },\n },\n}\n<\/script>\n\n<style scoped>\n.overlay {\n height: 100vh;\n width: 100vw;\n}\n</style>\n'],sourceRoot:""}]),t.Z=a},3838:function(n,t,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([n.id,"\n.astro-icon[data-v-b942113a] {\n fill: currentColor;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/components/icons/AstroIcon.vue"],names:[],mappings:";AA6CA;EACA,kBAAA;AACA",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <rux-icon :icon=\"icon\" class=\"astro-icon\" />\n</template>\n\n<script>\nimport RuxIcon from './RuxIcon.vue'\nimport { AstroIconLibrary } from '.'\n\n// This component is a wrapper around the Astro UXDS RuxIcon to make it work with Vuetify\nexport default {\n components: {\n RuxIcon,\n },\n props: {\n icon: {\n type: String,\n required: true,\n validator: (val) => {\n return AstroIconLibrary.includes(val)\n },\n },\n },\n}\n<\/script>\n\n<style scoped>\n.astro-icon {\n fill: currentColor;\n}\n</style>\n"],sourceRoot:""}]),t.Z=a},3645:function(n){"use strict";n.exports=function(n){var t=[];return t.toString=function(){return this.map((function(t){var e=n(t);return t[2]?"@media ".concat(t[2]," {").concat(e,"}"):e})).join("")},t.i=function(n,e,o){"string"==typeof n&&(n=[[null,n,""]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var s=0;s<n.length;s++){var l=[].concat(n[s]);o&&i[l[0]]||(e&&(l[2]?l[2]="".concat(e," and ").concat(l[2]):l[2]=e),t.push(l))}},t}},4015:function(n){"use strict";function t(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,o=new Array(t);e<t;e++)o[e]=n[e];return o}n.exports=function(n){var e,o,i=(o=4,function(n){if(Array.isArray(n))return n}(e=n)||function(n,t){var e=n&&("undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"]);if(null!=e){var o,i,r=[],a=!0,s=!1;try{for(e=e.call(n);!(a=(o=e.next()).done)&&(r.push(o.value),!t||r.length!==t);a=!0);}catch(n){s=!0,i=n}finally{try{a||null==e.return||e.return()}finally{if(s)throw i}}return r}}(e,o)||function(n,e){if(n){if("string"==typeof n)return t(n,e);var o=Object.prototype.toString.call(n).slice(8,-1);return"Object"===o&&n.constructor&&(o=n.constructor.name),"Map"===o||"Set"===o?Array.from(n):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?t(n,e):void 0}}(e,o)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),r=i[1],a=i[3];if(!a)return r;if("function"==typeof btoa){var s=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),l="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),c="/*# ".concat(l," */"),u=a.sources.map((function(n){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(n," */")}));return[r].concat(u).concat([c]).join("\n")}return[r].join("\n")}},3379:function(n){"use strict";var t=[];function e(n){for(var e=-1,o=0;o<t.length;o++)if(t[o].identifier===n){e=o;break}return e}function o(n,o){for(var r={},a=[],s=0;s<n.length;s++){var l=n[s],c=o.base?l[0]+o.base:l[0],u=r[c]||0,d="".concat(c," ").concat(u);r[c]=u+1;var A=e(d),p={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==A)t[A].references++,t[A].updater(p);else{var m=i(p,o);o.byIndex=s,t.splice(s,0,{identifier:d,updater:m,references:1})}a.push(d)}return a}function i(n,t){var e=t.domAPI(t);return e.update(n),function(t){if(t){if(t.css===n.css&&t.media===n.media&&t.sourceMap===n.sourceMap&&t.supports===n.supports&&t.layer===n.layer)return;e.update(n=t)}else e.remove()}}n.exports=function(n,i){var r=o(n=n||[],i=i||{});return function(n){n=n||[];for(var a=0;a<r.length;a++){var s=e(r[a]);t[s].references--}for(var l=o(n,i),c=0;c<r.length;c++){var u=e(r[c]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}r=l}}},569:function(n){"use strict";var t={};n.exports=function(n,e){var o=function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(n){e=null}t[n]=e}return t[n]}(n);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(e)}},9216:function(n){"use strict";n.exports=function(n){var t=document.createElement("style");return n.setAttributes(t,n.attributes),n.insert(t,n.options),t}},3565:function(n,t,e){"use strict";n.exports=function(n){var t=e.nc;t&&n.setAttribute("nonce",t)}},7795:function(n){"use strict";n.exports=function(n){var t=n.insertStyleElement(n);return{update:function(e){!function(n,t,e){var o="";e.supports&&(o+="@supports (".concat(e.supports,") {")),e.media&&(o+="@media ".concat(e.media," {"));var i=void 0!==e.layer;i&&(o+="@layer".concat(e.layer.length>0?" ".concat(e.layer):""," {")),o+=e.css,i&&(o+="}"),e.media&&(o+="}"),e.supports&&(o+="}");var r=e.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(o,n,t.options)}(t,n,e)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(t)}}}},4589:function(n){"use strict";n.exports=function(n,t){if(t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}},2722:function(n,t,e){const o=e(3905).R;t.s=function(n){if(n||(n=1),!e.y.meta||!e.y.meta.url)throw console.error("__system_context__",e.y),Error("systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided");e.p=o(e.y.meta.url,n)}},3905:function(n,t,e){t.R=function(n,t){var e=document.createElement("a");e.href=n;for(var o="/"===e.pathname[0]?e.pathname:"/"+e.pathname,i=0,r=o.length;i!==t&&r>=0;)"/"===o[--r]&&i++;if(i!==t)throw Error("systemjs-webpack-interop: rootDirectoryLevel ("+t+") is greater than the number of directories ("+i+") in the URL path "+n);var a=o.slice(0,r+1);return e.protocol+"//"+e.host+a};Number.isInteger},1900:function(n,t,e){"use strict";function o(n,t,e,o,i,r,a,s){var l,c="function"==typeof n?n.options:n;if(t&&(c.render=t,c.staticRenderFns=e,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(n){(n=n||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(n=__VUE_SSR_CONTEXT__),i&&i.call(this,n),n&&n._registeredComponents&&n._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(n,t){return l.call(t),u(n,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:n,options:c}}e.d(t,{Z:function(){return o}})},7861:function(n,t,e){var o=e(143);o.__esModule&&(o=o.default),"string"==typeof o&&(o=[[n.id,o,""]]),o.locals&&(n.exports=o.locals),(0,e(5346).Z)("2eb15b17",o,!1,{})},5346:function(n,t,e){"use strict";function o(n,t){for(var e=[],o={},i=0;i<t.length;i++){var r=t[i],a=r[0],s={id:n+":"+i,css:r[1],media:r[2],sourceMap:r[3]};o[a]?o[a].parts.push(s):e.push(o[a]={id:a,parts:[s]})}return e}e.d(t,{Z:function(){return m}});var i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var r={},a=i&&(document.head||document.getElementsByTagName("head")[0]),s=null,l=0,c=!1,u=function(){},d=null,A="data-vue-ssr-id",p="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function m(n,t,e,i){c=e,d=i||{};var a=o(n,t);return f(a),function(t){for(var e=[],i=0;i<a.length;i++){var s=a[i];(l=r[s.id]).refs--,e.push(l)}for(t?f(a=o(n,t)):a=[],i=0;i<e.length;i++){var l;if(0===(l=e[i]).refs){for(var c=0;c<l.parts.length;c++)l.parts[c]();delete r[l.id]}}}}function f(n){for(var t=0;t<n.length;t++){var e=n[t],o=r[e.id];if(o){o.refs++;for(var i=0;i<o.parts.length;i++)o.parts[i](e.parts[i]);for(;i<e.parts.length;i++)o.parts.push(v(e.parts[i]));o.parts.length>e.parts.length&&(o.parts.length=e.parts.length)}else{var a=[];for(i=0;i<e.parts.length;i++)a.push(v(e.parts[i]));r[e.id]={id:e.id,refs:1,parts:a}}}}function h(){var n=document.createElement("style");return n.type="text/css",a.appendChild(n),n}function v(n){var t,e,o=document.querySelector("style["+A+'~="'+n.id+'"]');if(o){if(c)return u;o.parentNode.removeChild(o)}if(p){var i=l++;o=s||(s=h()),t=y.bind(null,o,i,!1),e=y.bind(null,o,i,!0)}else o=h(),t=C.bind(null,o),e=function(){o.parentNode.removeChild(o)};return t(n),function(o){if(o){if(o.css===n.css&&o.media===n.media&&o.sourceMap===n.sourceMap)return;t(n=o)}else e()}}var g,b=(g=[],function(n,t){return g[n]=t,g.filter(Boolean).join("\n")});function y(n,t,e,o){var i=e?"":o.css;if(n.styleSheet)n.styleSheet.cssText=b(t,i);else{var r=document.createTextNode(i),a=n.childNodes;a[t]&&n.removeChild(a[t]),a.length?n.insertBefore(r,a[t]):n.appendChild(r)}}function C(n,t){var e=t.css,o=t.media,i=t.sourceMap;if(o&&n.setAttribute("media",o),d.ssrId&&n.setAttribute(A,t.id),i&&(e+="\n/*# sourceURL="+i.sources[0]+" */",e+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}},7386:function(n,t,e){"use strict";n.exports=e.p+"772bd60446e0b68b2dcb.png"},8981:function(n,t,e){"use strict";n.exports=e.p+"be1eae38c4af82057c4d.png"},3224:function(n,t,e){"use strict";n.exports=e.p+"ccbf309d19c2c9fc40f7.png"},8645:function(n){"use strict";n.exports=o},4091:function(n){"use strict";n.exports=e},4688:function(n){"use strict";n.exports=i},9731:function(n){"use strict";n.exports=a},9191:function(n){"use strict";n.exports=r},7791:function(n,t,e){"use strict";function o(n,t,e,o,i,r,a){try{var s=n[r](a),l=s.value}catch(n){return void e(n)}s.done?t(l):Promise.resolve(l).then(o,i)}function i(n){return function(){var t=this,e=arguments;return new Promise((function(i,r){var a=n.apply(t,e);function s(n){o(a,i,r,s,l,"next",n)}function l(n){o(a,i,r,s,l,"throw",n)}s(void 0)}))}}e.d(t,{Z:function(){return i}})},4649:function(n,t,e){"use strict";function o(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}e.d(t,{Z:function(){return o}})},4942:function(n,t,e){"use strict";function o(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}e.d(t,{Z:function(){return o}})}},c={};function u(n){var t=c[n];if(void 0!==t)return t.exports;var e=c[n]={id:n,exports:{}};return l[n].call(e.exports,e,e.exports,u),e.exports}u.m=l,u.y=t,u.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return u.d(t,{a:t}),t},u.d=function(n,t){for(var e in t)u.o(t,e)&&!u.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:t[e]})},u.f={},u.e=function(n){return Promise.all(Object.keys(u.f).reduce((function(t,e){return u.f[e](n,t),t}),[]))},u.u=function(n){return n+".openc3-tool-base.js"},u.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},n={},s="tool-base:",u.l=function(t,e,o,i){if(n[t])n[t].push(e);else{var r,a;if(void 0!==o)for(var l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var d=l[c];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==s+o){r=d;break}}r||(a=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,u.nc&&r.setAttribute("nonce",u.nc),r.setAttribute("data-webpack",s+o),r.src=t),n[t]=[e];var A=function(e,o){r.onerror=r.onload=null,clearTimeout(p);var i=n[t];if(delete n[t],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach((function(n){return n(o)})),e)return e(o)},p=setTimeout(A.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=A.bind(null,r.onerror),r.onload=A.bind(null,r.onload),a&&document.head.appendChild(r)}},u.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},u.p="",function(){var n={179:0};u.f.j=function(t,e){var o=u.o(n,t)?n[t]:void 0;if(0!==o)if(o)e.push(o[2]);else{var i=new Promise((function(e,i){o=n[t]=[e,i]}));e.push(o[2]=i);var r=u.p+u.u(t),a=new Error;u.l(r,(function(e){if(u.o(n,t)&&(0!==(o=n[t])&&(n[t]=void 0),o)){var i=e&&("load"===e.type?"missing":e.type),r=e&&e.target&&e.target.src;a.message="Loading chunk "+t+" failed.\n("+i+": "+r+")",a.name="ChunkLoadError",a.type=i,a.request=r,o[1](a)}}),"chunk-"+t,t)}};var t=function(t,e){var o,i,r=e[0],a=e[1],s=e[2],l=0;if(r.some((function(t){return 0!==n[t]}))){for(o in a)u.o(a,o)&&(u.m[o]=a[o]);s&&s(u)}for(t&&t(e);l<r.length;l++)i=r[l],u.o(n,i)&&n[i]&&n[i][0](),n[i]=0},e=self.webpackChunktool_base=self.webpackChunktool_base||[];e.forEach(t.bind(null,0)),e.push=t.bind(null,e.push.bind(e))}();var d={};return(0,u(2722).s)(1),function(){"use strict";u.r(d);var n=u(4091),t=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("v-app",{style:n.classificationStyles},[e("app-nav",{staticClass:"d-print-none"}),n._v(" "),e("v-main",[e("v-container",{attrs:{fluid:""}},[e("div",{attrs:{id:"openc3-tool"}}),n._v(" "),e("div",[e("router-view")],1)])],1),n._v(" "),e("app-footer",{staticClass:"d-print-none",attrs:{app:""}}),n._v(" "),e("time-check")],1)};t._withStripped=!0;var e=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("v-footer",{attrs:{id:"footer",app:"",color:"tertiary darken-3",height:"33"}},[e("img",{attrs:{src:n.logo,alt:"OpenC3",width:"20",height:"20"}}),n._v(" "),e("span",{staticClass:"footer-text",staticStyle:{"margin-left":"5px"}},[n._v("\n OpenC3 "+n._s(n.openc3Version)+" © 2022\n ")]),n._v(" "),e("v-spacer"),n._v(" "),e("a",{staticClass:"white--text text-decoration-underline",attrs:{href:n.sourceUrl}},[n._v("\n Source\n ")]),n._v(" "),e("v-spacer"),n._v(" "),e("div",{staticClass:"justify-right"},[e("clock-footer")],1)],1)};e._withStripped=!0;var o=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[e("span",n._g(n._b({staticClass:"font-weight-bold",staticStyle:{cursor:"context-menu"},on:{contextmenu:n.openMenu}},"span",n.attrs,!1),n.on),[n._v("\n "+n._s(n._f("date")(n.displayLocal?n.localDate:n.utcDate,n.formatString))+"\n ("+n._s(n.displayLocal?"local":"UTC")+")\n ")]),n._v(" "),e("v-menu",{attrs:{"position-x":n.menuX,"position-y":n.menuY,absolute:"","offset-y":""},model:{value:n.showMenu,callback:function(t){n.showMenu=t},expression:"showMenu"}},[e("v-list",[e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:n.toggleDisplayLocal}},[n._v("\n Display "+n._s(n.displayLocal?"UTC":"local time")+"\n ")])],1),n._v(" "),e("v-divider"),n._v(" "),e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:n.toggleDisplay24h}},[n._v("\n Display "+n._s(n.display24h?12:24)+" hour clock\n ")])],1),n._v(" "),e("v-divider"),n._v(" "),"monthFirst"!==n.dateMode?e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:n.setMonthFirst}},[n._v("\n Display mm/dd/yyyy\n ")])],1):n._e(),n._v(" "),"dayFirst"!==n.dateMode?e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:n.setDayFirst}},[n._v("\n Display dd/mm/yyyy\n ")])],1):n._e(),n._v(" "),"number"!==n.dateMode?e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:n.setNumber}},[n._v("\n Display day of year\n ")])],1):n._e()],1)],1)],1)};function i(n,t){if(t.length<n)throw new TypeError(n+" argument"+(n>1?"s":"")+" required, but only "+t.length+" present")}function r(n){return i(1,arguments),n instanceof Date||"object"==typeof n&&"[object Date]"===Object.prototype.toString.call(n)}function a(n){i(1,arguments);var t=Object.prototype.toString.call(n);return n instanceof Date||"object"==typeof n&&"[object Date]"===t?new Date(n.getTime()):"number"==typeof n||"[object Number]"===t?new Date(n):("string"!=typeof n&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}function s(n){if(i(1,arguments),!r(n)&&"number"!=typeof n)return!1;var t=a(n);return!isNaN(Number(t))}o._withStripped=!0;var l={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function c(n){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.width?String(t.width):n.defaultWidth,o=n.formats[e]||n.formats[n.defaultWidth];return o}}var A={date:c({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:c({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:c({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},p={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function m(n){return function(t,e){var o,i=e||{};if("formatting"===(i.context?String(i.context):"standalone")&&n.formattingValues){var r=n.defaultFormattingWidth||n.defaultWidth,a=i.width?String(i.width):r;o=n.formattingValues[a]||n.formattingValues[r]}else{var s=n.defaultWidth,l=i.width?String(i.width):n.defaultWidth;o=n.values[l]||n.values[s]}return o[n.argumentCallback?n.argumentCallback(t):t]}}var f={ordinalNumber:function(n,t){var e=Number(n),o=e%100;if(o>20||o<10)switch(o%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},era:m({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:m({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(n){return n-1}}),month:m({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:m({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:m({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function h(n){return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e.width,i=o&&n.matchPatterns[o]||n.matchPatterns[n.defaultMatchWidth],r=t.match(i);if(!r)return null;var a,s=r[0],l=o&&n.parsePatterns[o]||n.parsePatterns[n.defaultParseWidth],c=Array.isArray(l)?g(l,(function(n){return n.test(s)})):v(l,(function(n){return n.test(s)}));a=n.valueCallback?n.valueCallback(c):c,a=e.valueCallback?e.valueCallback(a):a;var u=t.slice(s.length);return{value:a,rest:u}}}function v(n,t){for(var e in n)if(n.hasOwnProperty(e)&&t(n[e]))return e}function g(n,t){for(var e=0;e<n.length;e++)if(t(n[e]))return e}var b,y={ordinalNumber:(b={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(n){return parseInt(n,10)}},function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.match(b.matchPattern);if(!e)return null;var o=e[0],i=n.match(b.parsePattern);if(!i)return null;var r=b.valueCallback?b.valueCallback(i[0]):i[0];r=t.valueCallback?t.valueCallback(r):r;var a=n.slice(o.length);return{value:r,rest:a}}),era:h({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:h({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(n){return n+1}}),month:h({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:h({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:h({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},C={code:"en-US",formatDistance:function(n,t,e){var o,i=l[n];return o="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),null!=e&&e.addSuffix?e.comparison&&e.comparison>0?"in "+o:o+" ago":o},formatLong:A,formatRelative:function(n,t,e,o){return p[n]},localize:f,match:y,options:{weekStartsOn:0,firstWeekContainsDate:1}};function w(n){if(null===n||!0===n||!1===n)return NaN;var t=Number(n);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function x(n,t){i(2,arguments);var e=a(n).getTime(),o=w(t);return new Date(e+o)}function k(n,t){i(2,arguments);var e=w(t);return x(n,-e)}var _=864e5;function S(n){i(1,arguments);var t=1,e=a(n),o=e.getUTCDay(),r=(o<t?7:0)+o-t;return e.setUTCDate(e.getUTCDate()-r),e.setUTCHours(0,0,0,0),e}function T(n){i(1,arguments);var t=a(n),e=t.getUTCFullYear(),o=new Date(0);o.setUTCFullYear(e+1,0,4),o.setUTCHours(0,0,0,0);var r=S(o),s=new Date(0);s.setUTCFullYear(e,0,4),s.setUTCHours(0,0,0,0);var l=S(s);return t.getTime()>=r.getTime()?e+1:t.getTime()>=l.getTime()?e:e-1}function N(n){i(1,arguments);var t=T(n),e=new Date(0);e.setUTCFullYear(t,0,4),e.setUTCHours(0,0,0,0);var o=S(e);return o}var E=6048e5;function B(n,t){i(1,arguments);var e=t||{},o=e.locale,r=o&&o.options&&o.options.weekStartsOn,s=null==r?0:w(r),l=null==e.weekStartsOn?s:w(e.weekStartsOn);if(!(l>=0&&l<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var c=a(n),u=c.getUTCDay(),d=(u<l?7:0)+u-l;return c.setUTCDate(c.getUTCDate()-d),c.setUTCHours(0,0,0,0),c}function O(n,t){i(1,arguments);var e=a(n),o=e.getUTCFullYear(),r=t||{},s=r.locale,l=s&&s.options&&s.options.firstWeekContainsDate,c=null==l?1:w(l),u=null==r.firstWeekContainsDate?c:w(r.firstWeekContainsDate);if(!(u>=1&&u<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var d=new Date(0);d.setUTCFullYear(o+1,0,u),d.setUTCHours(0,0,0,0);var A=B(d,t),p=new Date(0);p.setUTCFullYear(o,0,u),p.setUTCHours(0,0,0,0);var m=B(p,t);return e.getTime()>=A.getTime()?o+1:e.getTime()>=m.getTime()?o:o-1}function D(n,t){i(1,arguments);var e=t||{},o=e.locale,r=o&&o.options&&o.options.firstWeekContainsDate,a=null==r?1:w(r),s=null==e.firstWeekContainsDate?a:w(e.firstWeekContainsDate),l=O(n,t),c=new Date(0);c.setUTCFullYear(l,0,s),c.setUTCHours(0,0,0,0);var u=B(c,t);return u}var I=6048e5;function R(n,t){for(var e=n<0?"-":"",o=Math.abs(n).toString();o.length<t;)o="0"+o;return e+o}var M=function(n,t){var e=n.getUTCFullYear(),o=e>0?e:1-e;return R("yy"===t?o%100:o,t.length)},P=function(n,t){var e=n.getUTCMonth();return"M"===t?String(e+1):R(e+1,2)},U=function(n,t){return R(n.getUTCDate(),t.length)},F=function(n,t){return R(n.getUTCHours()%12||12,t.length)},z=function(n,t){return R(n.getUTCHours(),t.length)},$=function(n,t){return R(n.getUTCMinutes(),t.length)},L=function(n,t){return R(n.getUTCSeconds(),t.length)},j=function(n,t){var e=t.length,o=n.getUTCMilliseconds();return R(Math.floor(o*Math.pow(10,e-3)),t.length)},G={G:function(n,t,e){var o=n.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(o,{width:"abbreviated"});case"GGGGG":return e.era(o,{width:"narrow"});default:return e.era(o,{width:"wide"})}},y:function(n,t,e){if("yo"===t){var o=n.getUTCFullYear(),i=o>0?o:1-o;return e.ordinalNumber(i,{unit:"year"})}return M(n,t)},Y:function(n,t,e,o){var i=O(n,o),r=i>0?i:1-i;return"YY"===t?R(r%100,2):"Yo"===t?e.ordinalNumber(r,{unit:"year"}):R(r,t.length)},R:function(n,t){return R(T(n),t.length)},u:function(n,t){return R(n.getUTCFullYear(),t.length)},Q:function(n,t,e){var o=Math.ceil((n.getUTCMonth()+1)/3);switch(t){case"Q":return String(o);case"QQ":return R(o,2);case"Qo":return e.ordinalNumber(o,{unit:"quarter"});case"QQQ":return e.quarter(o,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(o,{width:"narrow",context:"formatting"});default:return e.quarter(o,{width:"wide",context:"formatting"})}},q:function(n,t,e){var o=Math.ceil((n.getUTCMonth()+1)/3);switch(t){case"q":return String(o);case"qq":return R(o,2);case"qo":return e.ordinalNumber(o,{unit:"quarter"});case"qqq":return e.quarter(o,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(o,{width:"narrow",context:"standalone"});default:return e.quarter(o,{width:"wide",context:"standalone"})}},M:function(n,t,e){var o=n.getUTCMonth();switch(t){case"M":case"MM":return P(n,t);case"Mo":return e.ordinalNumber(o+1,{unit:"month"});case"MMM":return e.month(o,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(o,{width:"narrow",context:"formatting"});default:return e.month(o,{width:"wide",context:"formatting"})}},L:function(n,t,e){var o=n.getUTCMonth();switch(t){case"L":return String(o+1);case"LL":return R(o+1,2);case"Lo":return e.ordinalNumber(o+1,{unit:"month"});case"LLL":return e.month(o,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(o,{width:"narrow",context:"standalone"});default:return e.month(o,{width:"wide",context:"standalone"})}},w:function(n,t,e,o){var r=function(n,t){i(1,arguments);var e=a(n),o=B(e,t).getTime()-D(e,t).getTime();return Math.round(o/I)+1}(n,o);return"wo"===t?e.ordinalNumber(r,{unit:"week"}):R(r,t.length)},I:function(n,t,e){var o=function(n){i(1,arguments);var t=a(n),e=S(t).getTime()-N(t).getTime();return Math.round(e/E)+1}(n);return"Io"===t?e.ordinalNumber(o,{unit:"week"}):R(o,t.length)},d:function(n,t,e){return"do"===t?e.ordinalNumber(n.getUTCDate(),{unit:"date"}):U(n,t)},D:function(n,t,e){var o=function(n){i(1,arguments);var t=a(n),e=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var o=t.getTime(),r=e-o;return Math.floor(r/_)+1}(n);return"Do"===t?e.ordinalNumber(o,{unit:"dayOfYear"}):R(o,t.length)},E:function(n,t,e){var o=n.getUTCDay();switch(t){case"E":case"EE":case"EEE":return e.day(o,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(o,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(o,{width:"short",context:"formatting"});default:return e.day(o,{width:"wide",context:"formatting"})}},e:function(n,t,e,o){var i=n.getUTCDay(),r=(i-o.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return R(r,2);case"eo":return e.ordinalNumber(r,{unit:"day"});case"eee":return e.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},c:function(n,t,e,o){var i=n.getUTCDay(),r=(i-o.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return R(r,t.length);case"co":return e.ordinalNumber(r,{unit:"day"});case"ccc":return e.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(i,{width:"narrow",context:"standalone"});case"cccccc":return e.day(i,{width:"short",context:"standalone"});default:return e.day(i,{width:"wide",context:"standalone"})}},i:function(n,t,e){var o=n.getUTCDay(),i=0===o?7:o;switch(t){case"i":return String(i);case"ii":return R(i,t.length);case"io":return e.ordinalNumber(i,{unit:"day"});case"iii":return e.day(o,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(o,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(o,{width:"short",context:"formatting"});default:return e.day(o,{width:"wide",context:"formatting"})}},a:function(n,t,e){var o=n.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(o,{width:"narrow",context:"formatting"});default:return e.dayPeriod(o,{width:"wide",context:"formatting"})}},b:function(n,t,e){var o,i=n.getUTCHours();switch(o=12===i?"noon":0===i?"midnight":i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(o,{width:"narrow",context:"formatting"});default:return e.dayPeriod(o,{width:"wide",context:"formatting"})}},B:function(n,t,e){var o,i=n.getUTCHours();switch(o=i>=17?"evening":i>=12?"afternoon":i>=4?"morning":"night",t){case"B":case"BB":case"BBB":return e.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(o,{width:"narrow",context:"formatting"});default:return e.dayPeriod(o,{width:"wide",context:"formatting"})}},h:function(n,t,e){if("ho"===t){var o=n.getUTCHours()%12;return 0===o&&(o=12),e.ordinalNumber(o,{unit:"hour"})}return F(n,t)},H:function(n,t,e){return"Ho"===t?e.ordinalNumber(n.getUTCHours(),{unit:"hour"}):z(n,t)},K:function(n,t,e){var o=n.getUTCHours()%12;return"Ko"===t?e.ordinalNumber(o,{unit:"hour"}):R(o,t.length)},k:function(n,t,e){var o=n.getUTCHours();return 0===o&&(o=24),"ko"===t?e.ordinalNumber(o,{unit:"hour"}):R(o,t.length)},m:function(n,t,e){return"mo"===t?e.ordinalNumber(n.getUTCMinutes(),{unit:"minute"}):$(n,t)},s:function(n,t,e){return"so"===t?e.ordinalNumber(n.getUTCSeconds(),{unit:"second"}):L(n,t)},S:function(n,t){return j(n,t)},X:function(n,t,e,o){var i=(o._originalDate||n).getTimezoneOffset();if(0===i)return"Z";switch(t){case"X":return W(i);case"XXXX":case"XX":return Y(i);default:return Y(i,":")}},x:function(n,t,e,o){var i=(o._originalDate||n).getTimezoneOffset();switch(t){case"x":return W(i);case"xxxx":case"xx":return Y(i);default:return Y(i,":")}},O:function(n,t,e,o){var i=(o._originalDate||n).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+H(i,":");default:return"GMT"+Y(i,":")}},z:function(n,t,e,o){var i=(o._originalDate||n).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+H(i,":");default:return"GMT"+Y(i,":")}},t:function(n,t,e,o){var i=o._originalDate||n;return R(Math.floor(i.getTime()/1e3),t.length)},T:function(n,t,e,o){return R((o._originalDate||n).getTime(),t.length)}};function H(n,t){var e=n>0?"-":"+",o=Math.abs(n),i=Math.floor(o/60),r=o%60;if(0===r)return e+String(i);var a=t||"";return e+String(i)+a+R(r,2)}function W(n,t){return n%60==0?(n>0?"-":"+")+R(Math.abs(n)/60,2):Y(n,t)}function Y(n,t){var e=t||"",o=n>0?"-":"+",i=Math.abs(n);return o+R(Math.floor(i/60),2)+e+R(i%60,2)}var q=G;function J(n,t){switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}}function X(n,t){switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}}var Z={p:X,P:function(n,t){var e,o=n.match(/(P+)(p+)?/)||[],i=o[1],r=o[2];if(!r)return J(n,t);switch(i){case"P":e=t.dateTime({width:"short"});break;case"PP":e=t.dateTime({width:"medium"});break;case"PPP":e=t.dateTime({width:"long"});break;default:e=t.dateTime({width:"full"})}return e.replace("{{date}}",J(i,t)).replace("{{time}}",X(r,t))}};function V(n){var t=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return t.setUTCFullYear(n.getFullYear()),n.getTime()-t.getTime()}var Q=["D","DD"],K=["YY","YYYY"];function nn(n){return-1!==Q.indexOf(n)}function tn(n){return-1!==K.indexOf(n)}function en(n,t,e){if("YYYY"===n)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(e,"`; see: https://git.io/fxCyr"));if("YY"===n)throw new RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(e,"`; see: https://git.io/fxCyr"));if("D"===n)throw new RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(e,"`; see: https://git.io/fxCyr"));if("DD"===n)throw new RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(e,"`; see: https://git.io/fxCyr"))}var on=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,rn=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,an=/^'([^]*?)'?$/,sn=/''/g,ln=/[a-zA-Z]/;function cn(n){return n.match(an)[1].replace(sn,"'")}function un(){var n="/openc3/plugins/openc3-tool-base/src/components/ClockFooter.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"461635ab5cb2f818a7b8be40c1691d02e8b8aa66"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/components/ClockFooter.vue",statementMap:{0:{start:{line:80,column:4},end:{line:89,column:5}},1:{start:{line:93,column:6},end:{line:95,column:7}},2:{start:{line:99,column:6},end:{line:109,column:7}},3:{start:{line:101,column:10},end:{line:101,column:34}},4:{start:{line:102,column:10},end:{line:102,column:15}},5:{start:{line:104,column:10},end:{line:104,column:34}},6:{start:{line:105,column:10},end:{line:105,column:15}},7:{start:{line:107,column:10},end:{line:107,column:26}},8:{start:{line:108,column:10},end:{line:108,column:15}},9:{start:{line:112,column:6},end:{line:116,column:7}},10:{start:{line:113,column:8},end:{line:113,column:31}},11:{start:{line:115,column:8},end:{line:115,column:33}},12:{start:{line:118,column:6},end:{line:118,column:42}},13:{start:{line:123,column:6},end:{line:123,column:53}},14:{start:{line:127,column:6},end:{line:131,column:7}},15:{start:{line:128,column:8},end:{line:128,column:37}},16:{start:{line:130,column:8},end:{line:130,column:37}},17:{start:{line:134,column:6},end:{line:136,column:7}},18:{start:{line:135,column:8},end:{line:135,column:41}},19:{start:{line:140,column:4},end:{line:146,column:5}},20:{start:{line:142,column:8},end:{line:142,column:28}},21:{start:{line:143,column:8},end:{line:143,column:35}},22:{start:{line:150,column:6},end:{line:150,column:28}},23:{start:{line:151,column:6},end:{line:151,column:27}},24:{start:{line:152,column:6},end:{line:152,column:32}},25:{start:{line:153,column:6},end:{line:153,column:32}},26:{start:{line:154,column:6},end:{line:156,column:8}},27:{start:{line:155,column:8},end:{line:155,column:28}},28:{start:{line:159,column:6},end:{line:159,column:44}},29:{start:{line:162,column:6},end:{line:162,column:40}},30:{start:{line:165,column:6},end:{line:165,column:34}},31:{start:{line:168,column:6},end:{line:168,column:32}},32:{start:{line:171,column:6},end:{line:171,column:30}},33:{start:{line:176,column:6},end:{line:176,column:78}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:79,column:8},end:{line:79,column:9}},loc:{start:{line:79,column:20},end:{line:90,column:3}},line:79},1:{name:"(anonymous_1)",decl:{start:{line:92,column:13},end:{line:92,column:14}},loc:{start:{line:92,column:25},end:{line:96,column:5}},line:92},2:{name:"(anonymous_2)",decl:{start:{line:97,column:18},end:{line:97,column:19}},loc:{start:{line:97,column:30},end:{line:119,column:5}},line:97},3:{name:"(anonymous_3)",decl:{start:{line:122,column:18},end:{line:122,column:19}},loc:{start:{line:122,column:33},end:{line:124,column:5}},line:122},4:{name:"(anonymous_4)",decl:{start:{line:125,column:16},end:{line:125,column:17}},loc:{start:{line:125,column:31},end:{line:132,column:5}},line:125},5:{name:"(anonymous_5)",decl:{start:{line:133,column:14},end:{line:133,column:15}},loc:{start:{line:133,column:29},end:{line:137,column:5}},line:133},6:{name:"(anonymous_6)",decl:{start:{line:139,column:11},end:{line:139,column:12}},loc:{start:{line:139,column:23},end:{line:147,column:3}},line:139},7:{name:"(anonymous_7)",decl:{start:{line:141,column:6},end:{line:141,column:7}},loc:{start:{line:141,column:12},end:{line:144,column:7}},line:141},8:{name:"(anonymous_8)",decl:{start:{line:149,column:14},end:{line:149,column:15}},loc:{start:{line:149,column:31},end:{line:157,column:5}},line:149},9:{name:"(anonymous_9)",decl:{start:{line:154,column:21},end:{line:154,column:22}},loc:{start:{line:154,column:27},end:{line:156,column:7}},line:154},10:{name:"(anonymous_10)",decl:{start:{line:158,column:24},end:{line:158,column:25}},loc:{start:{line:158,column:36},end:{line:160,column:5}},line:158},11:{name:"(anonymous_11)",decl:{start:{line:161,column:22},end:{line:161,column:23}},loc:{start:{line:161,column:34},end:{line:163,column:5}},line:161},12:{name:"(anonymous_12)",decl:{start:{line:164,column:19},end:{line:164,column:20}},loc:{start:{line:164,column:31},end:{line:166,column:5}},line:164},13:{name:"(anonymous_13)",decl:{start:{line:167,column:17},end:{line:167,column:18}},loc:{start:{line:167,column:29},end:{line:169,column:5}},line:167},14:{name:"(anonymous_14)",decl:{start:{line:170,column:15},end:{line:170,column:16}},loc:{start:{line:170,column:27},end:{line:172,column:5}},line:170},15:{name:"(anonymous_15)",decl:{start:{line:175,column:10},end:{line:175,column:11}},loc:{start:{line:175,column:39},end:{line:177,column:5}},line:175}},branchMap:{0:{loc:{start:{line:84,column:16},end:{line:84,column:59}},type:"binary-expr",locations:[{start:{line:84,column:16},end:{line:84,column:43}},{start:{line:84,column:47},end:{line:84,column:59}}],line:84},1:{loc:{start:{line:99,column:6},end:{line:109,column:7}},type:"switch",locations:[{start:{line:100,column:8},end:{line:102,column:15}},{start:{line:103,column:8},end:{line:105,column:15}},{start:{line:106,column:8},end:{line:108,column:15}}],line:99},2:{loc:{start:{line:112,column:6},end:{line:116,column:7}},type:"if",locations:[{start:{line:112,column:6},end:{line:116,column:7}},{start:{line:114,column:13},end:{line:116,column:7}}],line:112},3:{loc:{start:{line:123,column:32},end:{line:123,column:53}},type:"cond-expr",locations:[{start:{line:123,column:38},end:{line:123,column:45}},{start:{line:123,column:48},end:{line:123,column:53}}],line:123},4:{loc:{start:{line:127,column:6},end:{line:131,column:7}},type:"if",locations:[{start:{line:127,column:6},end:{line:131,column:7}},{start:{line:129,column:13},end:{line:131,column:7}}],line:127},5:{loc:{start:{line:134,column:6},end:{line:136,column:7}},type:"if",locations:[{start:{line:134,column:6},end:{line:136,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:134},6:{loc:{start:{line:145,column:6},end:{line:145,column:42}},type:"cond-expr",locations:[{start:{line:145,column:32},end:{line:145,column:35}},{start:{line:145,column:38},end:{line:145,column:42}}],line:145}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0},b:{0:[0,0],1:[0,0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0]},inputSourceMap:{version:3,sources:["ClockFooter.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2EA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"ClockFooter.vue",sourceRoot:"src/components",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <span\n v-bind=\"attrs\"\n v-on=\"on\"\n style=\"cursor: context-menu\"\n class=\"font-weight-bold\"\n @contextmenu=\"openMenu\"\n >\n {{ (displayLocal ? localDate : utcDate) | date(formatString) }}\n ({{ displayLocal ? 'local' : 'UTC' }})\n </span>\n <v-menu\n v-model=\"showMenu\"\n :position-x=\"menuX\"\n :position-y=\"menuY\"\n absolute\n offset-y\n >\n <v-list>\n <v-list-item>\n <v-list-item-title\n style=\"cursor: pointer\"\n @click=\"toggleDisplayLocal\"\n >\n Display {{ displayLocal ? 'UTC' : 'local time' }}\n </v-list-item-title>\n </v-list-item>\n <v-divider />\n <v-list-item>\n <v-list-item-title style=\"cursor: pointer\" @click=\"toggleDisplay24h\">\n Display {{ display24h ? 12 : 24 }} hour clock\n </v-list-item-title>\n </v-list-item>\n <v-divider />\n <v-list-item v-if=\"dateMode !== 'monthFirst'\">\n <v-list-item-title style=\"cursor: pointer\" @click=\"setMonthFirst\">\n Display mm/dd/yyyy\n </v-list-item-title>\n </v-list-item>\n <v-list-item v-if=\"dateMode !== 'dayFirst'\">\n <v-list-item-title style=\"cursor: pointer\" @click=\"setDayFirst\">\n Display dd/mm/yyyy\n </v-list-item-title>\n </v-list-item>\n <v-list-item v-if=\"dateMode !== 'number'\">\n <v-list-item-title style=\"cursor: pointer\" @click=\"setNumber\">\n Display day of year\n </v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n </div>\n</template>\n\n<script>\nimport { format } from 'date-fns'\n\nexport default {\n data: function () {\n return {\n localDate: new Date(),\n displayLocal: localStorage.clock_zone === 'local',\n display24h: !localStorage.clock_12h,\n dateMode: localStorage.clock_dateMode || 'monthFirst',\n intervalCount: 0,\n showMenu: false,\n menuX: 0,\n menuY: 0,\n }\n },\n computed: {\n utcDate: function () {\n return new Date(\n this.localDate.getTime() + this.localDate.getTimezoneOffset() * 60000\n )\n },\n formatString: function () {\n let dateFormat\n switch (this.dateMode) {\n case 'monthFirst':\n dateFormat = 'LL/dd/yyy'\n break\n case 'dayFirst':\n dateFormat = 'dd/LL/yyy'\n break\n case 'number':\n dateFormat = 'D'\n break\n }\n\n let timeFormat\n if (this.display24h) {\n timeFormat = 'HH:mm:ss'\n } else {\n timeFormat = 'hh:mm:ss a'\n }\n\n return `${dateFormat} ${timeFormat}`\n },\n },\n watch: {\n displayLocal: function (val) {\n localStorage.clock_zone = val ? 'local' : 'utc'\n },\n display24h: function (val) {\n // store opposite because it makes default value (true) easier\n if (val) {\n delete localStorage.clock_12h\n } else {\n localStorage.clock_12h = true\n }\n },\n dateMode: function (val) {\n if (val.match(/^monthFirst$|^dayFirst$|^number$/)) {\n localStorage.clock_dateMode = val\n }\n },\n },\n created: function () {\n setInterval(\n () => {\n this.intervalCount++\n this.localDate = new Date()\n },\n this.intervalCount < 10 ? 100 : 1000 // get the seconds to about 100ms accuracy\n )\n },\n methods: {\n openMenu: function (event) {\n event.preventDefault()\n this.showMenu = false\n this.menuX = event.clientX\n this.menuY = event.clientY\n this.$nextTick(() => {\n this.showMenu = true\n })\n },\n toggleDisplayLocal: function () {\n this.displayLocal = !this.displayLocal\n },\n toggleDisplay24h: function () {\n this.display24h = !this.display24h\n },\n setMonthFirst: function () {\n this.dateMode = 'monthFirst'\n },\n setDayFirst: function () {\n this.dateMode = 'dayFirst'\n },\n setNumber: function () {\n this.dateMode = 'number'\n },\n },\n filters: {\n date: function (val, formatString) {\n return format(val, formatString, { useAdditionalDayOfYearTokens: true })\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"461635ab5cb2f818a7b8be40c1691d02e8b8aa66"});var i=o[n];return un=function(){return i},i}un();var dn={data:function(){return un().f[0]++,un().s[0]++,{localDate:new Date,displayLocal:"local"===localStorage.clock_zone,display24h:!localStorage.clock_12h,dateMode:(un().b[0][0]++,localStorage.clock_dateMode||(un().b[0][1]++,"monthFirst")),intervalCount:0,showMenu:!1,menuX:0,menuY:0}},computed:{utcDate:function(){return un().f[1]++,un().s[1]++,new Date(this.localDate.getTime()+6e4*this.localDate.getTimezoneOffset())},formatString:function(){var n,t;switch(un().f[2]++,un().s[2]++,this.dateMode){case"monthFirst":un().b[1][0]++,un().s[3]++,n="LL/dd/yyy",un().s[4]++;break;case"dayFirst":un().b[1][1]++,un().s[5]++,n="dd/LL/yyy",un().s[6]++;break;case"number":un().b[1][2]++,un().s[7]++,n="D",un().s[8]++}return un().s[9]++,this.display24h?(un().b[2][0]++,un().s[10]++,t="HH:mm:ss"):(un().b[2][1]++,un().s[11]++,t="hh:mm:ss a"),un().s[12]++,"".concat(n," ").concat(t)}},watch:{displayLocal:function(n){un().f[3]++,un().s[13]++,localStorage.clock_zone=n?(un().b[3][0]++,"local"):(un().b[3][1]++,"utc")},display24h:function(n){un().f[4]++,un().s[14]++,n?(un().b[4][0]++,un().s[15]++,delete localStorage.clock_12h):(un().b[4][1]++,un().s[16]++,localStorage.clock_12h=!0)},dateMode:function(n){un().f[5]++,un().s[17]++,n.match(/^monthFirst$|^dayFirst$|^number$/)?(un().b[5][0]++,un().s[18]++,localStorage.clock_dateMode=n):un().b[5][1]++}},created:function(){var n=this;un().f[6]++,un().s[19]++,setInterval((function(){un().f[7]++,un().s[20]++,n.intervalCount++,un().s[21]++,n.localDate=new Date}),this.intervalCount<10?(un().b[6][0]++,100):(un().b[6][1]++,1e3))},methods:{openMenu:function(n){var t=this;un().f[8]++,un().s[22]++,n.preventDefault(),un().s[23]++,this.showMenu=!1,un().s[24]++,this.menuX=n.clientX,un().s[25]++,this.menuY=n.clientY,un().s[26]++,this.$nextTick((function(){un().f[9]++,un().s[27]++,t.showMenu=!0}))},toggleDisplayLocal:function(){un().f[10]++,un().s[28]++,this.displayLocal=!this.displayLocal},toggleDisplay24h:function(){un().f[11]++,un().s[29]++,this.display24h=!this.display24h},setMonthFirst:function(){un().f[12]++,un().s[30]++,this.dateMode="monthFirst"},setDayFirst:function(){un().f[13]++,un().s[31]++,this.dateMode="dayFirst"},setNumber:function(){un().f[14]++,un().s[32]++,this.dateMode="number"}},filters:{date:function(n,t){return un().f[15]++,un().s[33]++,function(n,t,e){i(2,arguments);var o=String(t),r=e||{},l=r.locale||C,c=l.options&&l.options.firstWeekContainsDate,u=null==c?1:w(c),d=null==r.firstWeekContainsDate?u:w(r.firstWeekContainsDate);if(!(d>=1&&d<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var A=l.options&&l.options.weekStartsOn,p=null==A?0:w(A),m=null==r.weekStartsOn?p:w(r.weekStartsOn);if(!(m>=0&&m<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!l.localize)throw new RangeError("locale must contain localize property");if(!l.formatLong)throw new RangeError("locale must contain formatLong property");var f=a(n);if(!s(f))throw new RangeError("Invalid time value");var h=V(f),v=k(f,h),g={firstWeekContainsDate:d,weekStartsOn:m,locale:l,_originalDate:f};return o.match(rn).map((function(n){var t=n[0];return"p"===t||"P"===t?(0,Z[t])(n,l.formatLong,g):n})).join("").match(on).map((function(e){if("''"===e)return"'";var o=e[0];if("'"===o)return cn(e);var i=q[o];if(i)return!r.useAdditionalWeekYearTokens&&tn(e)&&en(e,t,n),!r.useAdditionalDayOfYearTokens&&nn(e)&&en(e,t,n),i(v,e,l.localize,g);if(o.match(ln))throw new RangeError("Format string contains an unescaped latin alphabet character `"+o+"`");return e})).join("")}(n,t,{useAdditionalDayOfYearTokens:!0})}}},An=dn,pn=u(1900),mn=(0,pn.Z)(An,o,[],!1,null,null,null);mn.options.__file="src/components/ClockFooter.vue";var fn=mn.exports;function hn(n){throw new TypeError('"'+n+'" is read-only')}function vn(n){return vn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},vn(n)}var gn=u(7791);function bn(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function yn(n,t){for(var e=0;e<t.length;e++){var o=t[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(n,o.key,o)}}function Cn(n,t,e){return t&&yn(n.prototype,t),e&&yn(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n}var wn=u(4649),xn=u(6966),kn=function(){function n(){bn(this,n),(0,wn.Z)(this,"id",1)}var t,e,o,i,r;return Cn(n,[{key:"exec",value:(r=(0,gn.Z)(regeneratorRuntime.mark((function n(t,e){var o,i,r,a=arguments;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=a.length>2&&void 0!==a[2]?a[2]:{},n.prev=1,n.next=4,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 4:n.next=9;break;case 6:n.prev=6,n.t0=n.catch(1),OpenC3Auth.login();case 9:return this.id=this.id+1,n.prev=10,o.scope=localStorage.scope,n.next=14,xn.Z.post("/openc3-api/api",{jsonrpc:"2.0",method:t,params:e,id:this.id,keyword_params:o},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"}});case 14:return i=n.sent,n.abrupt("return",i.data.result);case 18:throw n.prev=18,n.t1=n.catch(10),r=new Error,n.t1.response?(r.name=n.t1.response.data.error.data.class,r.message=n.t1.response.data.error.data.message):n.t1.request?(r.name="Request error",r.message="Request error, no response received"):r.name="Unknown error",r;case 23:case"end":return n.stop()}}),n,this,[[1,6],[10,18]])}))),function(n,t){return r.apply(this,arguments)})},{key:"decode_openc3_type",value:function(n){if(null!==n&&"object"===vn(n)&&"Float"==n.json_class&&n.raw){if("NaN"==n.raw)return NaN;if("Infinity"==n.raw)return 1/0;if("-Infinity"==n.raw)return-1/0}return null}},{key:"encode_openc3_type",value:function(n){return Number.isNaN(n)?{json_class:"Float",raw:"NaN"}:n==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:n==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"connect_interface",value:function(n){return this.exec("connect_interface",[n])}},{key:"disconnect_interface",value:function(n){return this.exec("disconnect_interface",[n])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(n){return this.exec("connect_router",[n])}},{key:"disconnect_router",value:function(n){return this.exec("disconnect_router",[n])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_tlm_cnts",value:function(n){return this.exec("get_tlm_cnts",[n])}},{key:"get_item",value:function(n,t,e){return this.exec("get_item",[n,t,e])}},{key:"get_parameter",value:function(n,t,e){return this.exec("get_parameter",[n,t,e])}},{key:"get_all_packet_logger_info",value:function(){return this.exec("get_all_packet_logger_info",[])}},{key:"start_logging",value:function(){return this.exec("start_logging",[])}},{key:"stop_logging",value:function(){return this.exec("stop_logging",[])}},{key:"start_cmd_log",value:function(n){return this.exec("start_cmd_log",[n])}},{key:"start_tlm_log",value:function(n){return this.exec("start_tlm_log",[n])}},{key:"stop_cmd_log",value:function(n){return this.exec("stop_cmd_log",[n])}},{key:"stop_tlm_log",value:function(n){return this.exec("stop_tlm_log",[n])}},{key:"get_server_status",value:function(){return this.exec("get_server_status",[])}},{key:"get_limits_sets",value:function(){return this.exec("get_limits_sets",[])}},{key:"get_limits_set",value:function(){return this.exec("get_limits_set",[])}},{key:"set_limits_set",value:function(n){return this.exec("set_limits_set",[n])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(n){return this.exec("start_background_task",[n])}},{key:"stop_background_task",value:function(n){return this.exec("stop_background_task",[n])}},{key:"get_oldest_logfile",value:function(){return this.exec("get_oldest_logfile",[])}},{key:"get_target",value:function(n){return this.exec("get_target",[n])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_telemetry",value:function(n,t){return this.exec("get_telemetry",[n,t])}},{key:"get_all_telemetry",value:function(n){return this.exec("get_all_telemetry",[n])}},{key:"get_all_telemetry_names",value:function(n){return this.exec("get_all_telemetry_names",[n])}},{key:"get_tlm_packet",value:(i=(0,gn.Z)(regeneratorRuntime.mark((function n(t,e,o){var i,r,a,s;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.exec("get_tlm_packet",[t,e],{type:o});case 2:if(null!=(i=n.sent))for(r=i.length,a=null,s=0;s<r;s++)null!==(a=this.decode_openc3_type(i[s][1]))&&(i[s][1]=a);return n.abrupt("return",i);case 5:case"end":return n.stop()}}),n,this)}))),function(n,t,e){return i.apply(this,arguments)})},{key:"get_packet_derived_items",value:function(n,t){return this.exec("get_packet_derived_items",[n,t])}},{key:"get_tlm_buffer",value:function(n,t){return this.exec("get_tlm_buffer",[n,t])}},{key:"get_tlm_values",value:(o=(0,gn.Z)(regeneratorRuntime.mark((function n(t){var e,o,i,r;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.exec("get_tlm_values",[t]);case 2:for(e=n.sent,o=e[0].length,i=null,r=0;r<o;r++)null!==(i=this.decode_openc3_type(e[0][r]))&&(e[0][r]=i);return n.abrupt("return",e);case 7:case"end":return n.stop()}}),n,this)}))),function(n){return o.apply(this,arguments)})},{key:"get_limits",value:function(n,t,e){return this.exec("get_limits",[n,t,e])}},{key:"tlm",value:(e=(0,gn.Z)(regeneratorRuntime.mark((function n(t,e,o){var i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,this.exec("tlm",[t,e,o]);case 2:return i=n.sent,null!==this.decode_openc3_type(i)&&hn("data"),n.abrupt("return",i);case 6:case"end":return n.stop()}}),n,this)}))),function(n,t,o){return e.apply(this,arguments)})},{key:"get_all_commands",value:function(n){return this.exec("get_all_commands",[n])}},{key:"get_all_command_names",value:function(n){return this.exec("get_all_command_names",[n])}},{key:"get_command",value:function(n,t){return this.exec("get_command",[n,t])}},{key:"get_cmd_cnts",value:function(n){return this.exec("get_cmd_cnts",[n])}},{key:"get_cmd_value",value:function(n,t,e){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[n,t,e,o])}},{key:"get_cmd_buffer",value:function(n,t){return this.exec("get_cmd_buffer",[n,t])}},{key:"_cmd",value:function(n,t,e,o){var i=null;for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&null!==(i=this.encode_openc3_type(o[r]))&&(o[r]=i);return this.exec(n,[t,e,o])}},{key:"get_cmd_hazardous",value:function(n,t,e){return void 0===t?this.exec("get_cmd_hazardous",n):this._cmd("get_cmd_hazardous",n,t,e)}},{key:"cmd",value:function(n,t,e){return void 0===t?this.exec("cmd",n):this._cmd("cmd",n,t,e)}},{key:"cmd_no_range_check",value:function(n,t,e){return void 0===t?this.exec("cmd_no_range_check",n):this._cmd("cmd_no_range_check",n,t,e)}},{key:"cmd_raw",value:function(n,t,e){return void 0===t?this.exec("cmd_raw",n):this._cmd("cmd_raw",n,t,e)}},{key:"cmd_raw_no_range_check",value:function(n,t,e){return void 0===t?this.exec("cmd_raw_no_range_check",n):this._cmd("cmd_raw_no_range_check",n,t,e)}},{key:"cmd_no_hazardous_check",value:function(n,t,e){return void 0===t?this.exec("cmd_no_hazardous_check",n):this._cmd("cmd_no_hazardous_check",n,t,e)}},{key:"cmd_no_checks",value:function(n,t,e){return void 0===t?this.exec("cmd_no_checks",n):this._cmd("cmd_no_checks",n,t,e)}},{key:"cmd_raw_no_hazardous_check",value:function(n,t,e){return void 0===t?this.exec("cmd_raw_no_hazardous_check",n):this._cmd("cmd_raw_no_hazardous_check",n,t,e)}},{key:"cmd_raw_no_checks",value:function(n,t,e){return void 0===t?this.exec("cmd_raw_no_checks",n):this._cmd("cmd_raw_no_checks",n,t,e)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(n,t){return this.exec("send_raw",[n,t])}},{key:"list_configs",value:function(n){return this.exec("list_configs",[n])}},{key:"load_config",value:function(n,t){return this.exec("load_config",[n,t])}},{key:"save_config",value:function(n,t,e){return this.exec("save_config",[n,t,e])}},{key:"delete_config",value:function(n,t){return this.exec("delete_config",[n,t])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(n){return this.exec("get_overall_limits_state",[n])}},{key:"list_settings",value:function(){return this.exec("list_settings",[])}},{key:"get_all_settings",value:function(){return this.exec("get_all_settings",[])}},{key:"get_setting",value:function(n){return this.exec("get_setting",[n])}},{key:"get_settings",value:function(n){return this.exec("get_settings",n)}},{key:"save_setting",value:function(n,t){return this.exec("save_setting",[n,t])}},{key:"hashString",value:(t=(0,gn.Z)(regeneratorRuntime.mark((function n(t){var e,o,i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!window.isSecureContext){n.next=7;break}return e=(new TextEncoder).encode(t),n.next=4,crypto.subtle.digest("SHA-256",e);case 4:return o=n.sent,i=new Uint8Array(o),n.abrupt("return",Array.from(i).map((function(n){return n.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return n.stop()}}),n)}))),function(n){return t.apply(this,arguments)})}]),n}(),_n=u(7386);function Sn(){var n="/openc3/plugins/openc3-tool-base/src/AppFooter.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"d0ed84d314701b3f45489cd895694f4385d6f10f"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/AppFooter.vue",statementMap:{0:{start:{line:45,column:4},end:{line:49,column:5}},1:{start:{line:52,column:4},end:{line:52,column:23}},2:{start:{line:56,column:6},end:{line:61,column:10}},3:{start:{line:59,column:10},end:{line:59,column:38}},4:{start:{line:60,column:10},end:{line:60,column:49}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:44,column:2},end:{line:44,column:3}},loc:{start:{line:44,column:9},end:{line:50,column:3}},line:44},1:{name:"(anonymous_1)",decl:{start:{line:51,column:11},end:{line:51,column:12}},loc:{start:{line:51,column:23},end:{line:53,column:3}},line:51},2:{name:"(anonymous_2)",decl:{start:{line:55,column:18},end:{line:55,column:19}},loc:{start:{line:55,column:30},end:{line:62,column:5}},line:55},3:{name:"(anonymous_3)",decl:{start:{line:58,column:14},end:{line:58,column:15}},loc:{start:{line:58,column:28},end:{line:61,column:9}},line:58}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0},f:{0:0,1:0,2:0,3:0},b:{},inputSourceMap:{version:3,sources:["AppFooter.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"AppFooter.vue",sourceRoot:"src",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-footer id="footer" app color="tertiary darken-3" height="33">\n <img :src="logo" alt="OpenC3" width="20" height="20" />\n <span class="footer-text" style="margin-left: 5px">\n OpenC3 {{ openc3Version }} © 2022\n </span>\n <v-spacer />\n <a :href="sourceUrl" class="white--text text-decoration-underline">\n Source\n </a>\n <v-spacer />\n <div class="justify-right"><clock-footer /></div>\n </v-footer>\n</template>\n\n<script>\nimport ClockFooter from \'./components/ClockFooter.vue\'\nimport { OpenC3Api } from \'../../packages/openc3-tool-common/src/services/openc3-api\'\nimport logo from \'../public/img/logo.png\'\n\nexport default {\n components: {\n ClockFooter,\n },\n data() {\n return {\n logo: logo,\n sourceUrl: \'\',\n openc3Version: \'\',\n }\n },\n created: function () {\n this.getSourceUrl()\n },\n methods: {\n getSourceUrl: function () {\n new OpenC3Api()\n .get_settings([\'source_url\', \'version\'])\n .then((response) => {\n this.sourceUrl = response[0]\n this.openc3Version = `(${response[1]})`\n })\n },\n },\n}\n<\/script>\n\n<style scoped>\n#footer {\n z-index: 1000; /* On TOP! */\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d0ed84d314701b3f45489cd895694f4385d6f10f"});var i=o[n];return Sn=function(){return i},i}Sn();var Tn={components:{ClockFooter:fn},data:function(){return Sn().f[0]++,Sn().s[0]++,{logo:_n,sourceUrl:"",openc3Version:""}},created:function(){Sn().f[1]++,Sn().s[1]++,this.getSourceUrl()},methods:{getSourceUrl:function(){var n=this;Sn().f[2]++,Sn().s[2]++,(new kn).get_settings(["source_url","version"]).then((function(t){Sn().f[3]++,Sn().s[3]++,n.sourceUrl=t[0],Sn().s[4]++,n.openc3Version="(".concat(t[1],")")}))}}},Nn=u(3379),En=u.n(Nn),Bn=u(7795),On=u.n(Bn),Dn=u(569),In=u.n(Dn),Rn=u(3565),Mn=u.n(Rn),Pn=u(9216),Un=u.n(Pn),Fn=u(4589),zn=u.n(Fn),$n=u(4337),Ln={};Ln.styleTagTransform=zn(),Ln.setAttributes=Mn(),Ln.insert=In().bind(null,"head"),Ln.domAPI=On(),Ln.insertStyleElement=Un(),En()($n.Z,Ln),$n.Z&&$n.Z.locals&&$n.Z.locals;var jn=(0,pn.Z)(Tn,e,[],!1,null,"225df573",null);jn.options.__file="src/AppFooter.vue";var Gn=jn.exports,Hn=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[e("v-navigation-drawer",{attrs:{app:"",id:"openc3-nav-drawer"},model:{value:n.drawer,callback:function(t){n.drawer=t},expression:"drawer"}},[e("v-list",[e("v-list-item",[e("v-list-item-icon",{staticStyle:{"margin-right":"auto !important","margin-left":"auto"}},[e("img",{attrs:{src:n.logo,alt:"OpenC3"}})])],1),n._v(" "),e("v-list-item",{staticClass:"my-0"},[e("v-list-item-content",n._l(n.adminTools,(function(t,o){return e("div",{key:o},[e("v-btn",{attrs:{block:"",small:"",href:t.url,onclick:"singleSpaNavigate(event)"}},[n._v("\n Admin\n ")])],1)})),0)],1),n._v(" "),e("v-divider"),n._v(" "),n._l(n.shownTools,(function(t,o){return e("div",{key:o},[e("v-list-item",{staticClass:"pr-0"},[e("v-list-item-icon",[e("a",{attrs:{href:t.url,onclick:"singleSpaNavigate(event)"}},[e("v-icon",[n._v(n._s(t.icon))])],1)]),n._v(" "),e("v-list-item-content",[e("a",{attrs:{href:t.url,onclick:"singleSpaNavigate(event)"}},[e("v-list-item-title",[n._v(n._s(o))])],1)]),n._v(" "),e("v-divider",{attrs:{vertical:""}}),n._v(" "),e("v-list-item-icon",[e("a",{attrs:{href:t.url,target:"_blank"}},[e("v-icon",[n._v("mdi-open-in-new")])],1)])],1)],1)}))],2)],1),n._v(" "),e("v-app-bar",{attrs:{app:"",color:"tertiary darken-3",id:"openc3-app-toolbar"}},[e("v-app-bar-nav-icon",{on:{click:function(t){n.drawer=!n.drawer}}}),n._v(" "),e("v-divider",{staticClass:"top-bar-divider-full-height",attrs:{vertical:""}}),n._v(" "),e("span",{staticStyle:{width:"100%"}},[e("span",{attrs:{id:"openc3-menu"}})]),n._v(" "),e("div",{staticClass:"justify-right mr-2 pt-2"},[e("scope-selector")],1),n._v(" "),e("div",{staticClass:"justify-right"},[e("alert-history")],1),n._v(" "),e("div",{staticClass:"justify-right"},[e("notifications")],1),n._v(" "),e("div",{staticClass:"justify-right"},[e("user-menu")],1)],1)],1)};Hn._withStripped=!0;var Wn=u(9554),Yn=u(8645),qn=function(){var n=this,t=n.$createElement;return(n._self._c||t)("v-select",{attrs:{items:n.scopes,disabled:n.scopes.length<=1,label:"Scope",dense:"","hide-details":""},model:{value:n.scope,callback:function(t){n.scope=t},expression:"scope"}})};function Jn(){var n="/openc3/plugins/openc3-tool-base/src/util/scopes.js",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"30b18fbaced3ca2f2866a0d7892d60b9cdf68206"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/util/scopes.js",statementMap:{0:{start:{line:22,column:4},end:{line:22,column:29}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:21,column:11},end:{line:21,column:12}},loc:{start:{line:21,column:23},end:{line:23,column:3}},line:21}},branchMap:{},s:{0:0},f:{0:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"30b18fbaced3ca2f2866a0d7892d60b9cdf68206"});var i=o[n];return Jn=function(){return i},i}qn._withStripped=!0,Jn();var Xn={created:function(){Jn().f[0]++,Jn().s[0]++,this.scopes=["DEFAULT"]}};function Zn(){var n="/openc3/plugins/openc3-tool-base/src/components/ScopeSelector.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"bf75a187ac070757291236700e9b25ece4ec7716"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/components/ScopeSelector.vue",statementMap:{0:{start:{line:37,column:4},end:{line:40,column:5}},1:{start:{line:44,column:6},end:{line:44,column:30}},2:{start:{line:45,column:6},end:{line:45,column:23}},3:{start:{line:48,column:6},end:{line:48,column:78}},4:{start:{line:48,column:59},end:{line:48,column:78}},5:{start:{line:52,column:4},end:{line:54,column:5}},6:{start:{line:53,column:6},end:{line:53,column:36}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:36,column:8},end:{line:36,column:9}},loc:{start:{line:36,column:20},end:{line:41,column:3}},line:36},1:{name:"(anonymous_1)",decl:{start:{line:43,column:11},end:{line:43,column:12}},loc:{start:{line:43,column:26},end:{line:46,column:5}},line:43},2:{name:"(anonymous_2)",decl:{start:{line:47,column:12},end:{line:47,column:13}},loc:{start:{line:47,column:27},end:{line:49,column:5}},line:47},3:{name:"(anonymous_3)",decl:{start:{line:51,column:11},end:{line:51,column:12}},loc:{start:{line:51,column:23},end:{line:55,column:3}},line:51}},branchMap:{0:{loc:{start:{line:48,column:6},end:{line:48,column:78}},type:"if",locations:[{start:{line:48,column:6},end:{line:48,column:78}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:48},1:{loc:{start:{line:48,column:10},end:{line:48,column:57}},type:"binary-expr",locations:[{start:{line:48,column:10},end:{line:48,column:26}},{start:{line:48,column:31},end:{line:48,column:42}},{start:{line:48,column:46},end:{line:48,column:56}}],line:48},2:{loc:{start:{line:52,column:4},end:{line:54,column:5}},type:"if",locations:[{start:{line:52,column:4},end:{line:54,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:52}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0,3:0},b:{0:[0,0],1:[0,0,0],2:[0,0]},inputSourceMap:{version:3,sources:["ScopeSelector.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"ScopeSelector.vue",sourceRoot:"src/components",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-select\n v-model="scope"\n :items="scopes"\n :disabled="scopes.length <= 1"\n label="Scope"\n dense\n hide-details\n />\n</template>\n\n<script>\nimport Scopes from \'../util/scopes.js\'\n\nexport default {\n mixins: [Scopes],\n data: function () {\n return {\n scopes: [], // gets set in the mixin\n scope: localStorage.scope,\n }\n },\n watch: {\n scope: function (val) {\n localStorage.scope = val\n location.reload()\n },\n scopes: function (val) {\n if (val.length === 1 || (!this.scope && val.length)) this.scope = val[0]\n },\n },\n created: function () {\n if (localStorage.scope == null) {\n localStorage.scope = \'DEFAULT\'\n }\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"bf75a187ac070757291236700e9b25ece4ec7716"});var i=o[n];return Zn=function(){return i},i}Zn();var Vn={mixins:[Xn],data:function(){return Zn().f[0]++,Zn().s[0]++,{scopes:[],scope:localStorage.scope}},watch:{scope:function(n){Zn().f[1]++,Zn().s[1]++,localStorage.scope=n,Zn().s[2]++,location.reload()},scopes:function(n){Zn().f[2]++,Zn().s[3]++,Zn().b[1][0]++,1===n.length||(Zn().b[1][1]++,!this.scope&&(Zn().b[1][2]++,n.length))?(Zn().b[0][0]++,Zn().s[4]++,this.scope=n[0]):Zn().b[0][1]++}},created:function(){Zn().f[3]++,Zn().s[5]++,null==localStorage.scope?(Zn().b[2][0]++,Zn().s[6]++,localStorage.scope="DEFAULT"):Zn().b[2][1]++}},Qn=(0,pn.Z)(Vn,qn,[],!1,null,null,null);Qn.options.__file="src/components/ScopeSelector.vue";var Kn=Qn.exports,nt=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[e("v-overlay",{staticClass:"overlay",attrs:{value:n.showAlertPane}}),n._v(" "),e("v-menu",{attrs:{transition:"slide-y-transition","close-on-content-click":!1,"nudge-width":340,"offset-y":"","nudge-bottom":20},scopedSlots:n._u([{key:"activator",fn:function(t){var o=t.on,i=t.attrs;return[e("v-btn",n._g(n._b({attrs:{icon:""}},"v-btn",i,!1),o),[e("v-icon",{attrs:{size:n.size}},[n._v(" mdi-alert-box-outline ")])],1)]}}]),model:{value:n.showAlertPane,callback:function(t){n.showAlertPane=t},expression:"showAlertPane"}},[n._v(" "),e("v-card",[e("v-card-title",[n._v("\n Alerts\n "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:"","open-delay":"350"},scopedSlots:n._u([{key:"activator",fn:function(t){var o=t.on,i=t.attrs;return[e("v-btn",n._g(n._b({staticClass:"ml-1",attrs:{icon:""},on:{click:n.clearAlerts}},"v-btn",i,!1),o),[e("v-icon",[n._v(" mdi-notification-clear-all ")])],1)]}}])},[n._v(" "),e("span",[n._v("Clear all")])])],1),n._v(" "),0===n.alerts.length?e("v-card-text",[n._v(" No alerts ")]):e("v-list",{staticClass:"overflow-y-auto",attrs:{"two-line":"",width:"388","max-height":"80vh"}},[n._l(n.alerts,(function(t,o){return[e("v-list-item",{key:"alert-"+o,staticClass:"pl-2",on:{click:function(e){return n.openDialog(t)}}},[e("v-badge",{attrs:{left:"",inline:"",color:"transparent"},scopedSlots:n._u([{key:"badge",fn:function(){return[e("astro-status-indicator",{attrs:{status:t.severity.toLowerCase()}})]},proxy:!0}],null,!0)},[e("v-list-item-content",{staticClass:"pt-0 pb-0"},[e("v-list-item-title",[n._v("\n "+n._s(t.title)+"\n ")]),n._v(" "),e("v-list-item-subtitle",[n._v("\n "+n._s(t.body)+"\n ")])],1)],1)],1)]}))],2)],1)],1),n._v(" "),e("v-dialog",{attrs:{width:"600"},model:{value:n.alertDialog,callback:function(t){n.alertDialog=t},expression:"alertDialog"}},[e("v-card",[e("v-card-title",[n._v("\n "+n._s(n.selectedAlert.title)+"\n "),e("v-spacer"),n._v(" "),e("astro-status-indicator",{attrs:{status:n.selectedAlert.severity||"normal"}})],1),n._v(" "),e("v-card-text",[n._v("\n "+n._s(n.selectedAlert.body)+"\n ")]),n._v(" "),e("v-divider"),n._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(t){n.alertDialog=!1}}},[n._v("\n Dismiss\n ")])],1)],1)],1)],1)};nt._withStripped=!0;var tt=function(){var n=this,t=n.$createElement;return(n._self._c||t)("rux-icon",{staticClass:"astro-icon",attrs:{icon:n.icon}})};tt._withStripped=!0;var et=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("span",{style:n.style,attrs:{id:"rux-icon",title:n.label,size:n.size}},[e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 128 128",preserveAspectRatio:"xMidYMid meet",focusable:"false"}},[e("use",{attrs:{href:n.getIcon(this.library,this.icon)}})])])};et._withStripped=!0;var ot={props:{icon:{type:String},size:{type:String,default:"extra-small"},color:{type:String},library:{type:String,default:"/icons/astro.svg"},label:{type:String,default:"icon"}},computed:{style:function(){return"--iconColor="+this.propscolor}},methods:{getIcon:function(){return this.library+"#"+this.icon}}},it=(0,pn.Z)(ot,et,[],!1,null,null,null);it.options.__file="packages/openc3-tool-common/src/components/icons/RuxIcon.vue";var rt={components:{RuxIcon:it.exports},props:{icon:{type:String,required:!0,validator:function(n){return dt.includes(n)}}}},at=u(3838),st={};st.styleTagTransform=zn(),st.setAttributes=Mn(),st.insert=In().bind(null,"head"),st.domAPI=On(),st.insertStyleElement=Un(),En()(at.Z,st),at.Z&&at.Z.locals&&at.Z.locals;var lt=(0,pn.Z)(rt,tt,[],!1,null,"b942113a",null);lt.options.__file="packages/openc3-tool-common/src/components/icons/AstroIcon.vue";var ct=lt.exports;function ut(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,o)}return e}var dt=["altitude","antenna","antenna-off","antenna-receive","antenna-transmit","equipment","mission","payload","processor","processor-alt","netcom","propulsion-power","thermal","satellite-off","satellite-receive","satellite-transmit","add-large","add-small","close-large","close-small","collapse","expand","lock","unlock","search","caution","maintenance","notifications","settings"],At=dt.reduce((function(n,t){return function(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?ut(Object(e),!0).forEach((function(t){(0,wn.Z)(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):ut(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}((0,wn.Z)({},"astro-".concat(t),{component:ct,props:{icon:t}}),n)}),{}),pt={critical:"#ff3838",serious:"#ffb302",caution:"#fce83a",normal:"#56f000",standby:"#2dccff",off:"#9ea7ad"},mt=Object.keys(pt);function ft(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,o=new Array(t);e<t;e++)o[e]=n[e];return o}function ht(n){return function(n){if(Array.isArray(n))return ft(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,t){if(n){if("string"==typeof n)return ft(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?ft(n,t):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vt(){var n="/openc3/plugins/openc3-tool-base/src/util/AstroStatus.js",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"1aab3a4e153c8bb3d975452dbe1a33958422bf59"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/util/AstroStatus.js",statementMap:{0:{start:{line:1,column:20},end:{line:9,column:1}},1:{start:{line:11,column:28},end:{line:13,column:1}},2:{start:{line:12,column:2},end:{line:12,column:82}},3:{start:{line:12,column:38},end:{line:12,column:81}},4:{start:{line:15,column:24},end:{line:19,column:1}},5:{start:{line:16,column:18},end:{line:16,column:49}},6:{start:{line:17,column:16},end:{line:17,column:36}},7:{start:{line:18,column:2},end:{line:18,column:27}},8:{start:{line:21,column:23},end:{line:25,column:1}},9:{start:{line:22,column:18},end:{line:22,column:49}},10:{start:{line:23,column:16},end:{line:23,column:36}},11:{start:{line:24,column:2},end:{line:24,column:27}},12:{start:{line:27,column:24},end:{line:31,column:1}},13:{start:{line:27,column:67},end:{line:27,column:77}},14:{start:{line:28,column:2},end:{line:30,column:4}},15:{start:{line:29,column:4},end:{line:29,column:90}},16:{start:{line:33,column:24},end:{line:40,column:1}},17:{start:{line:33,column:67},end:{line:33,column:77}},18:{start:{line:34,column:2},end:{line:39,column:8}},19:{start:{line:35,column:21},end:{line:35,column:40}},20:{start:{line:36,column:4},end:{line:36,column:27}},21:{start:{line:37,column:4},end:{line:37,column:30}},22:{start:{line:38,column:4},end:{line:38,column:17}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:28},end:{line:11,column:29}},loc:{start:{line:11,column:50},end:{line:13,column:1}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:12,column:24},end:{line:12,column:25}},loc:{start:{line:12,column:38},end:{line:12,column:81}},line:12},2:{name:"(anonymous_2)",decl:{start:{line:15,column:24},end:{line:15,column:25}},loc:{start:{line:15,column:46},end:{line:19,column:1}},line:15},3:{name:"(anonymous_3)",decl:{start:{line:21,column:23},end:{line:21,column:24}},loc:{start:{line:21,column:45},end:{line:25,column:1}},line:21},4:{name:"(anonymous_4)",decl:{start:{line:27,column:24},end:{line:27,column:25}},loc:{start:{line:27,column:79},end:{line:31,column:1}},line:27},5:{name:"(anonymous_5)",decl:{start:{line:27,column:60},end:{line:27,column:61}},loc:{start:{line:27,column:67},end:{line:27,column:77}},line:27},6:{name:"(anonymous_6)",decl:{start:{line:28,column:22},end:{line:28,column:23}},loc:{start:{line:28,column:32},end:{line:30,column:3}},line:28},7:{name:"(anonymous_7)",decl:{start:{line:33,column:24},end:{line:33,column:25}},loc:{start:{line:33,column:79},end:{line:40,column:1}},line:33},8:{name:"(anonymous_8)",decl:{start:{line:33,column:60},end:{line:33,column:61}},loc:{start:{line:33,column:67},end:{line:33,column:77}},line:33},9:{name:"(anonymous_9)",decl:{start:{line:34,column:24},end:{line:34,column:25}},loc:{start:{line:34,column:41},end:{line:39,column:3}},line:34}},branchMap:{0:{loc:{start:{line:27,column:43},end:{line:27,column:77}},type:"default-arg",locations:[{start:{line:27,column:60},end:{line:27,column:77}}],line:27},1:{loc:{start:{line:33,column:43},end:{line:33,column:77}},type:"default-arg",locations:[{start:{line:33,column:60},end:{line:33,column:77}}],line:33}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0],1:[0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"1aab3a4e153c8bb3d975452dbe1a33958422bf59"});var i=o[n];return vt=function(){return i},i}vt();var gt=(vt().s[0]++,["critical","serious","caution","normal","standby","off"]);vt().s[1]++;function bt(){var n="/openc3/plugins/openc3-tool-base/src/components/AlertHistory.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"15f4e174f6949e6124cd48f568f0bbaaffc749f4"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/components/AlertHistory.vue",statementMap:{0:{start:{line:133,column:4},end:{line:139,column:5}},1:{start:{line:143,column:6},end:{line:145,column:7}},2:{start:{line:144,column:8},end:{line:144,column:26}},3:{start:{line:146,column:6},end:{line:149,column:7}},4:{start:{line:147,column:8},end:{line:147,column:32}},5:{start:{line:148,column:8},end:{line:148,column:31}},6:{start:{line:154,column:6},end:{line:154,column:51}},7:{start:{line:157,column:6},end:{line:157,column:46}},8:{start:{line:158,column:6},end:{line:158,column:24}},9:{start:{line:159,column:6},end:{line:159,column:32}},10:{start:{line:162,column:6},end:{line:162,column:32}},11:{start:{line:163,column:6},end:{line:163,column:29}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:132,column:8},end:{line:132,column:9}},loc:{start:{line:132,column:20},end:{line:140,column:3}},line:132},1:{name:"(anonymous_1)",decl:{start:{line:142,column:19},end:{line:142,column:20}},loc:{start:{line:142,column:34},end:{line:150,column:5}},line:142},2:{name:"(anonymous_2)",decl:{start:{line:153,column:17},end:{line:153,column:18}},loc:{start:{line:153,column:29},end:{line:155,column:5}},line:153},3:{name:"(anonymous_3)",decl:{start:{line:156,column:17},end:{line:156,column:18}},loc:{start:{line:156,column:29},end:{line:160,column:5}},line:156},4:{name:"(anonymous_4)",decl:{start:{line:161,column:16},end:{line:161,column:17}},loc:{start:{line:161,column:53},end:{line:164,column:5}},line:161}},branchMap:{0:{loc:{start:{line:143,column:6},end:{line:145,column:7}},type:"if",locations:[{start:{line:143,column:6},end:{line:145,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:143},1:{loc:{start:{line:146,column:6},end:{line:149,column:7}},type:"if",locations:[{start:{line:146,column:6},end:{line:149,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:146},2:{loc:{start:{line:146,column:10},end:{line:146,column:42}},type:"binary-expr",locations:[{start:{line:146,column:10},end:{line:146,column:14}},{start:{line:146,column:18},end:{line:146,column:42}}],line:146},3:{loc:{start:{line:161,column:33},end:{line:161,column:51}},type:"default-arg",locations:[{start:{line:161,column:46},end:{line:161,column:51}}],line:161}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0]},inputSourceMap:{version:3,sources:["AlertHistory.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqHA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"AlertHistory.vue",sourceRoot:"src/components",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-overlay :value="showAlertPane" class="overlay" />\n <v-menu\n v-model="showAlertPane"\n transition="slide-y-transition"\n :close-on-content-click="false"\n :nudge-width="340"\n offset-y\n :nudge-bottom="20"\n >\n \x3c!-- Alert box icon --\x3e\n <template v-slot:activator="{ on, attrs }">\n <v-btn v-bind="attrs" v-on="on" icon>\n <v-icon :size="size"> mdi-alert-box-outline </v-icon>\n </v-btn>\n </template>\n\n \x3c!-- Alerts list --\x3e\n <v-card>\n <v-card-title>\n Alerts\n <v-spacer />\n <v-tooltip top open-delay="350">\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n v-bind="attrs"\n v-on="on"\n @click="clearAlerts"\n class="ml-1"\n >\n <v-icon> mdi-notification-clear-all </v-icon>\n </v-btn>\n </template>\n <span>Clear all</span>\n </v-tooltip>\n </v-card-title>\n <v-card-text v-if="alerts.length === 0"> No alerts </v-card-text>\n <v-list\n v-else\n two-line\n width="388"\n max-height="80vh"\n class="overflow-y-auto"\n >\n <template v-for="(alert, index) in alerts">\n <v-list-item\n @click="openDialog(alert)"\n :key="`alert-${index}`"\n class="pl-2"\n >\n <v-badge left inline color="transparent">\n <v-list-item-content class="pt-0 pb-0">\n <v-list-item-title>\n {{ alert.title }}\n </v-list-item-title>\n <v-list-item-subtitle>\n {{ alert.body }}\n </v-list-item-subtitle>\n </v-list-item-content>\n <template v-slot:badge>\n <astro-status-indicator\n :status="alert.severity.toLowerCase()"\n />\n </template>\n </v-badge>\n </v-list-item>\n </template>\n </v-list>\n </v-card>\n </v-menu>\n\n \x3c!-- Dialog for viewing full alert --\x3e\n <v-dialog v-model="alertDialog" width="600">\n <v-card>\n <v-card-title>\n {{ selectedAlert.title }}\n <v-spacer />\n <astro-status-indicator\n :status="selectedAlert.severity || \'normal\'"\n />\n </v-card-title>\n <v-card-text>\n {{ selectedAlert.body }}\n </v-card-text>\n <v-divider />\n <v-card-actions>\n <v-btn color="primary" text @click="alertDialog = false">\n Dismiss\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { AstroStatusColors } from \'../../../packages/openc3-tool-common/src/components/icons\'\nimport {\n highestSeverity,\n orderBySeverity,\n groupBySeverity,\n} from \'../util/AstroStatus\'\n\nexport default {\n props: {\n size: {\n type: [String, Number],\n default: 26,\n },\n },\n data: function () {\n return {\n AstroStatusColors,\n alerts: [],\n alertDialog: false,\n showAlertPane: false,\n selectedAlert: {},\n }\n },\n watch: {\n showAlertPane: function (val) {\n if (val) {\n this.refreshList()\n }\n if (!val && this.selectedAlert.title) {\n this.alertDialog = false\n this.selectedAlert = {}\n }\n },\n },\n methods: {\n refreshList: function () {\n this.alerts = this.$store.state.notifyHistory\n },\n clearAlerts: function () {\n this.$store.commit(\'notifyClearHistory\')\n this.refreshList()\n this.showAlertPane = false\n },\n openDialog: function (alert, clearToast = false) {\n this.selectedAlert = alert\n this.alertDialog = true\n },\n },\n}\n<\/script>\n\n<style scoped>\n.v-subheader {\n height: 28px;\n}\n\n.v-badge {\n width: 100%;\n}\n\n.overlay {\n height: 100vh;\n width: 100vw;\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"15f4e174f6949e6124cd48f568f0bbaaffc749f4"});var i=o[n];return bt=function(){return i},i}vt().s[4]++,vt().s[8]++,vt().s[12]++,vt().s[16]++,bt();var yt={props:{size:{type:[String,Number],default:26}},data:function(){return bt().f[0]++,bt().s[0]++,{AstroStatusColors:pt,alerts:[],alertDialog:!1,showAlertPane:!1,selectedAlert:{}}},watch:{showAlertPane:function(n){bt().f[1]++,bt().s[1]++,n?(bt().b[0][0]++,bt().s[2]++,this.refreshList()):bt().b[0][1]++,bt().s[3]++,bt().b[2][0]++,!n&&(bt().b[2][1]++,this.selectedAlert.title)?(bt().b[1][0]++,bt().s[4]++,this.alertDialog=!1,bt().s[5]++,this.selectedAlert={}):bt().b[1][1]++}},methods:{refreshList:function(){bt().f[2]++,bt().s[6]++,this.alerts=this.$store.state.notifyHistory},clearAlerts:function(){bt().f[3]++,bt().s[7]++,this.$store.commit("notifyClearHistory"),bt().s[8]++,this.refreshList(),bt().s[9]++,this.showAlertPane=!1},openDialog:function(n){arguments.length>1&&void 0!==arguments[1]||bt().b[3][0]++,bt().f[4]++,bt().s[10]++,this.selectedAlert=n,bt().s[11]++,this.alertDialog=!0}}},Ct=yt,wt=u(546),xt={};xt.styleTagTransform=zn(),xt.setAttributes=Mn(),xt.insert=In().bind(null,"head"),xt.domAPI=On(),xt.insertStyleElement=Un(),En()(wt.Z,xt),wt.Z&&wt.Z.locals&&wt.Z.locals;var kt=(0,pn.Z)(Ct,nt,[],!1,null,"0042fbc8",null);kt.options.__file="src/components/AlertHistory.vue";var _t=kt.exports,St=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[e("v-overlay",{staticClass:"overlay",attrs:{value:n.showNotificationPane}}),n._v(" "),e("v-menu",{attrs:{transition:"slide-y-transition","close-on-content-click":!1,"nudge-width":340,"offset-y":"","nudge-bottom":20},scopedSlots:n._u([{key:"activator",fn:function(t){var o=t.on,i=t.attrs;return[e("v-btn",n._g(n._b({attrs:{icon:""}},"v-btn",i,!1),o),[0===n.unreadCount?e("v-icon",{attrs:{size:n.size}},[n._v("\n mdi-bell-outline\n ")]):e("v-badge",{attrs:{left:"","offset-x":"24","offset-y":"8",color:n.badgeColor,bordered:"",content:n.unreadCount}},[e("v-icon",{attrs:{size:n.size,color:n.badgeColor}},[n._v(" mdi-bell ")])],1)],1)]}}]),model:{value:n.showNotificationPane,callback:function(t){n.showNotificationPane=t},expression:"showNotificationPane"}},[n._v(" "),e("v-card",[e("v-card-title",[n._v("\n Notifications\n "),e("v-spacer"),n._v(" "),e("v-tooltip",{attrs:{top:"","open-delay":"350"},scopedSlots:n._u([{key:"activator",fn:function(t){var o=t.on,i=t.attrs;return[e("v-btn",n._g(n._b({staticClass:"ml-1",attrs:{icon:""},on:{click:n.clearNotifications}},"v-btn",i,!1),o),[e("v-icon",[n._v(" mdi-notification-clear-all ")])],1)]}}])},[n._v(" "),e("span",[n._v("Clear all")])]),n._v(" "),e("v-btn",{staticClass:"ml-1",attrs:{icon:""},on:{click:n.toggleSettingsDialog}},[e("v-icon",[n._v(" $astro-settings ")])],1)],1),n._v(" "),0===n.notifications.length?e("v-card-text",[n._v("\n No notifications\n ")]):e("v-list",{staticClass:"overflow-y-auto",attrs:{"two-line":"",width:"388","max-height":"80vh"}},[n._l(n.notificationList,(function(t,o){return[t.header?[0!==o?e("v-divider",{key:o,staticClass:"mb-2"}):n._e(),n._v(" "),e("v-subheader",{key:t.header},[n._v("\n "+n._s(t.header)+"\n ")])]:e("v-list-item",{key:"notification-"+o,staticClass:"pl-2",on:{click:function(e){return n.openDialog(t)}}},[e("v-badge",{attrs:{left:"",inline:"",color:"transparent"},scopedSlots:n._u([{key:"badge",fn:function(){return[e("astro-status-indicator",{attrs:{status:t.severity.toLowerCase()}})]},proxy:!0}],null,!0)},[e("v-list-item-content",{staticClass:"pt-0 pb-0"},[e("v-list-item-title",{class:{"text--secondary":t.read}},[n._v("\n "+n._s(t.title)+"\n ")]),n._v(" "),e("v-list-item-subtitle",[n._v("\n "+n._s(t.body)+"\n ")])],1),n._v(" "),e("v-list-item-action",{staticClass:"mt-0"},[e("v-list-item-action-text",[n._v("\n "+n._s(n._f("shortDateTime")(t.time))+"\n ")]),n._v(" "),e("v-spacer")],1)],1)],1)]}))],2)],1)],1),n._v(" "),e("v-dialog",{attrs:{width:"600"},model:{value:n.notificationDialog,callback:function(t){n.notificationDialog=t},expression:"notificationDialog"}},[e("v-card",[e("v-card-title",[n._v("\n "+n._s(n.selectedNotification.title)+"\n "),e("v-spacer"),n._v(" "),e("astro-status-indicator",{attrs:{status:n.selectedNotification.severity||"normal"}})],1),n._v(" "),e("v-card-subtitle",[n._v("\n "+n._s(n._f("shortDateTime")(n.selectedNotification.time))+"\n ")]),n._v(" "),e("v-card-text",[n._v("\n "+n._s(n.selectedNotification.body)+"\n ")]),n._v(" "),e("v-divider"),n._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(t){return n.navigate(n.selectedNotification.url)}}},[n._v("\n Open\n "),e("v-icon",{attrs:{right:""}},[n._v(" mdi-open-in-new ")])],1),n._v(" "),e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(t){n.notificationDialog=!1}}},[n._v("\n Dismiss\n ")])],1)],1)],1),n._v(" "),e("v-dialog",{attrs:{width:"600"},model:{value:n.settingsDialog,callback:function(t){n.settingsDialog=t},expression:"settingsDialog"}},[e("v-card",[e("v-card-title",[n._v(" Notification settings ")]),n._v(" "),e("v-card-text",[e("v-switch",{attrs:{label:"Show toasts"},model:{value:n.showToast,callback:function(t){n.showToast=t},expression:"showToast"}})],1),n._v(" "),e("v-divider"),n._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:n.toggleSettingsDialog}},[n._v("\n close\n ")])],1)],1)],1)],1)};St._withStripped=!0;var Tt=u(4942);function Nt(n,t){i(2,arguments);var e=a(n),o=a(t),r=e.getTime()-o.getTime();return r<0?-1:r>0?1:r}function Et(n,t){i(2,arguments);var e=a(n),o=a(t),r=e.getFullYear()-o.getFullYear(),s=e.getMonth()-o.getMonth();return 12*r+s}function Bt(n){i(1,arguments);var t=a(n);return t.setHours(23,59,59,999),t}function Ot(n){i(1,arguments);var t=a(n),e=t.getMonth();return t.setFullYear(t.getFullYear(),e+1,0),t.setHours(23,59,59,999),t}function Dt(n){i(1,arguments);var t=a(n);return Bt(t).getTime()===Ot(t).getTime()}function It(n,t){i(2,arguments);var e,o=a(n),r=a(t),s=Nt(o,r),l=Math.abs(Et(o,r));if(l<1)e=0;else{1===o.getMonth()&&o.getDate()>27&&o.setDate(30),o.setMonth(o.getMonth()-s*l);var c=Nt(o,r)===-s;Dt(a(n))&&1===l&&1===Nt(n,r)&&(c=!1),e=s*(l-Number(c))}return 0===e?0:e}function Rt(n,t){return i(2,arguments),a(n).getTime()-a(t).getTime()}var Mt={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(n){return n<0?Math.ceil(n):Math.floor(n)}};function Pt(n){return n?Mt[n]:Mt.trunc}function Ut(n,t,e){i(2,arguments);var o=Rt(n,t)/1e3;return Pt(null==e?void 0:e.roundingMethod)(o)}function Ft(n){return function(n,t){if(null==n)throw new TypeError("assign requires that input parameter not be null or undefined");for(var e in t=t||{})Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e]);return n}({},n)}var zt=1440,$t=43200;function Lt(n,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};i(2,arguments);var o=e.locale||C;if(!o.formatDistance)throw new RangeError("locale must contain formatDistance property");var r=Nt(n,t);if(isNaN(r))throw new RangeError("Invalid time value");var s,l,c=Ft(e);c.addSuffix=Boolean(e.addSuffix),c.comparison=r,r>0?(s=a(t),l=a(n)):(s=a(n),l=a(t));var u,d=Ut(l,s),A=(V(l)-V(s))/1e3,p=Math.round((d-A)/60);if(p<2)return e.includeSeconds?d<5?o.formatDistance("lessThanXSeconds",5,c):d<10?o.formatDistance("lessThanXSeconds",10,c):d<20?o.formatDistance("lessThanXSeconds",20,c):d<40?o.formatDistance("halfAMinute",null,c):d<60?o.formatDistance("lessThanXMinutes",1,c):o.formatDistance("xMinutes",1,c):0===p?o.formatDistance("lessThanXMinutes",1,c):o.formatDistance("xMinutes",p,c);if(p<45)return o.formatDistance("xMinutes",p,c);if(p<90)return o.formatDistance("aboutXHours",1,c);if(p<zt){var m=Math.round(p/60);return o.formatDistance("aboutXHours",m,c)}if(p<2520)return o.formatDistance("xDays",1,c);if(p<$t){var f=Math.round(p/zt);return o.formatDistance("xDays",f,c)}if(p<86400)return u=Math.round(p/$t),o.formatDistance("aboutXMonths",u,c);if((u=It(l,s))<12){var h=Math.round(p/$t);return o.formatDistance("xMonths",h,c)}var v=u%12,g=Math.floor(u/12);return v<3?o.formatDistance("aboutXYears",g,c):v<9?o.formatDistance("overXYears",g,c):o.formatDistance("almostXYears",g+1,c)}var jt=u(8071);function Gt(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,o)}return e}function Ht(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?Gt(Object(e),!0).forEach((function(t){(0,wn.Z)(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):Gt(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}jt.ConnectionMonitor.staleThreshold=60;var Wt=function(){function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/openc3-api/cable";bn(this,n),this._cable=jt.createConsumer(t)}return Cn(n,[{key:"disconnect",value:function(){this._cable.disconnect()}},{key:"createSubscription",value:function(n,t){var e=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((function(){return e._cable.subscriptions.create(Ht({channel:n,scope:t,token:localStorage.openc3Token},i),o)}))}}]),n}();function Yt(){var n="/openc3/plugins/openc3-tool-base/src/components/Notifications.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"667a06d888d9d418f311467ac81cc388e93074c4"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/components/Notifications.vue",statementMap:{0:{start:{line:188,column:40},end:{line:188,column:43}},1:{start:{line:198,column:4},end:{line:209,column:5}},2:{start:{line:213,column:6},end:{line:215,column:7}},3:{start:{line:214,column:8},end:{line:214,column:39}},4:{start:{line:216,column:25},end:{line:220,column:10}},5:{start:{line:217,column:31},end:{line:217,column:52}},6:{start:{line:219,column:10},end:{line:219,column:44}},7:{start:{line:221,column:6},end:{line:221,column:59}},8:{start:{line:224,column:6},end:{line:226,column:40}},9:{start:{line:225,column:34},end:{line:225,column:51}},10:{start:{line:226,column:24},end:{line:226,column:39}},11:{start:{line:229,column:6},end:{line:231,column:40}},12:{start:{line:230,column:34},end:{line:230,column:52}},13:{start:{line:231,column:24},end:{line:231,column:39}},14:{start:{line:234,column:6},end:{line:234,column:44}},15:{start:{line:237,column:21},end:{line:237,column:62}},16:{start:{line:238,column:19},end:{line:245,column:7}},17:{start:{line:238,column:63},end:{line:238,column:64}},18:{start:{line:240,column:25},end:{line:242,column:11}},19:{start:{line:243,column:10},end:{line:243,column:46}},20:{start:{line:246,column:6},end:{line:248,column:7}},21:{start:{line:247,column:8},end:{line:247,column:79}},22:{start:{line:249,column:6},end:{line:249,column:19}},23:{start:{line:254,column:6},end:{line:261,column:7}},24:{start:{line:255,column:8},end:{line:260,column:9}},25:{start:{line:256,column:10},end:{line:256,column:41}},26:{start:{line:257,column:10},end:{line:257,column:40}},27:{start:{line:259,column:10},end:{line:259,column:30}},28:{start:{line:264,column:6},end:{line:264,column:33}},29:{start:{line:268,column:4},end:{line:268,column:53}},30:{start:{line:269,column:4},end:{line:269,column:20}},31:{start:{line:272,column:4},end:{line:274,column:5}},32:{start:{line:273,column:6},end:{line:273,column:37}},33:{start:{line:275,column:4},end:{line:275,column:27}},34:{start:{line:279,column:6},end:{line:287,column:8}},35:{start:{line:280,column:8},end:{line:280,column:32}},36:{start:{line:281,column:8},end:{line:286,column:9}},37:{start:{line:285,column:10},end:{line:285,column:65}},38:{start:{line:290,column:6},end:{line:290,column:26}},39:{start:{line:291,column:6},end:{line:291,column:29}},40:{start:{line:292,column:6},end:{line:292,column:79}},41:{start:{line:293,column:6},end:{line:293,column:39}},42:{start:{line:296,column:6},end:{line:296,column:60}},43:{start:{line:299,column:6},end:{line:299,column:48}},44:{start:{line:302,column:6},end:{line:302,column:30}},45:{start:{line:303,column:6},end:{line:308,column:7}},46:{start:{line:307,column:8},end:{line:307,column:63}},47:{start:{line:309,column:6},end:{line:309,column:46}},48:{start:{line:310,column:6},end:{line:310,column:36}},49:{start:{line:313,column:6},end:{line:313,column:32}},50:{start:{line:316,column:6},end:{line:331,column:10}},51:{start:{line:321,column:32},end:{line:321,column:51}},52:{start:{line:330,column:10},end:{line:330,column:42}},53:{start:{line:334,column:21},end:{line:334,column:37}},54:{start:{line:335,column:6},end:{line:337,column:7}},55:{start:{line:336,column:8},end:{line:336,column:73}},56:{start:{line:338,column:23},end:{line:338,column:28}},57:{start:{line:339,column:6},end:{line:351,column:8}},58:{start:{line:340,column:8},end:{line:341,column:66}},59:{start:{line:342,column:8},end:{line:342,column:65}},60:{start:{line:343,column:8},end:{line:350,column:9}},61:{start:{line:348,column:10},end:{line:348,column:27}},62:{start:{line:349,column:10},end:{line:349,column:47}},63:{start:{line:353,column:6},end:{line:361,column:7}},64:{start:{line:354,column:8},end:{line:360,column:10}},65:{start:{line:363,column:6},end:{line:373,column:7}},66:{start:{line:367,column:8},end:{line:372,column:9}},67:{start:{line:374,column:6},end:{line:374,column:60}},68:{start:{line:379,column:6},end:{line:379,column:26}},69:{start:{line:379,column:17},end:{line:379,column:26}},70:{start:{line:380,column:19},end:{line:380,column:45}},71:{start:{line:381,column:6},end:{line:381,column:59}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:197,column:8},end:{line:197,column:9}},loc:{start:{line:197,column:20},end:{line:210,column:3}},line:197},1:{name:"(anonymous_1)",decl:{start:{line:212,column:16},end:{line:212,column:17}},loc:{start:{line:212,column:28},end:{line:222,column:5}},line:212},2:{name:"(anonymous_2)",decl:{start:{line:217,column:13},end:{line:217,column:14}},loc:{start:{line:217,column:31},end:{line:217,column:52}},line:217},3:{name:"(anonymous_3)",decl:{start:{line:218,column:16},end:{line:218,column:17}},loc:{start:{line:218,column:38},end:{line:220,column:9}},line:218},4:{name:"(anonymous_4)",decl:{start:{line:223,column:23},end:{line:223,column:24}},loc:{start:{line:223,column:35},end:{line:227,column:5}},line:223},5:{name:"(anonymous_5)",decl:{start:{line:225,column:16},end:{line:225,column:17}},loc:{start:{line:225,column:34},end:{line:225,column:51}},line:225},6:{name:"(anonymous_6)",decl:{start:{line:226,column:14},end:{line:226,column:15}},loc:{start:{line:226,column:24},end:{line:226,column:39}},line:226},7:{name:"(anonymous_7)",decl:{start:{line:228,column:25},end:{line:228,column:26}},loc:{start:{line:228,column:37},end:{line:232,column:5}},line:228},8:{name:"(anonymous_8)",decl:{start:{line:230,column:16},end:{line:230,column:17}},loc:{start:{line:230,column:34},end:{line:230,column:52}},line:230},9:{name:"(anonymous_9)",decl:{start:{line:231,column:14},end:{line:231,column:15}},loc:{start:{line:231,column:24},end:{line:231,column:39}},line:231},10:{name:"(anonymous_10)",decl:{start:{line:233,column:17},end:{line:233,column:18}},loc:{start:{line:233,column:29},end:{line:235,column:5}},line:233},11:{name:"(anonymous_11)",decl:{start:{line:236,column:22},end:{line:236,column:23}},loc:{start:{line:236,column:34},end:{line:250,column:5}},line:236},12:{name:"(anonymous_12)",decl:{start:{line:238,column:56},end:{line:238,column:57}},loc:{start:{line:238,column:63},end:{line:238,column:64}},line:238},13:{name:"(anonymous_13)",decl:{start:{line:239,column:8},end:{line:239,column:9}},loc:{start:{line:239,column:22},end:{line:244,column:9}},line:239},14:{name:"(anonymous_14)",decl:{start:{line:253,column:26},end:{line:253,column:27}},loc:{start:{line:253,column:41},end:{line:262,column:5}},line:253},15:{name:"(anonymous_15)",decl:{start:{line:263,column:15},end:{line:263,column:16}},loc:{start:{line:263,column:30},end:{line:265,column:5}},line:263},16:{name:"(anonymous_16)",decl:{start:{line:267,column:11},end:{line:267,column:12}},loc:{start:{line:267,column:23},end:{line:270,column:3}},line:267},17:{name:"(anonymous_17)",decl:{start:{line:271,column:13},end:{line:271,column:14}},loc:{start:{line:271,column:25},end:{line:276,column:3}},line:271},18:{name:"(anonymous_18)",decl:{start:{line:278,column:19},end:{line:278,column:20}},loc:{start:{line:278,column:31},end:{line:288,column:5}},line:278},19:{name:"(anonymous_19)",decl:{start:{line:279,column:33},end:{line:279,column:34}},loc:{start:{line:279,column:51},end:{line:287,column:7}},line:279},20:{name:"(anonymous_20)",decl:{start:{line:289,column:24},end:{line:289,column:25}},loc:{start:{line:289,column:36},end:{line:294,column:5}},line:289},21:{name:"(anonymous_21)",decl:{start:{line:295,column:28},end:{line:295,column:29}},loc:{start:{line:295,column:40},end:{line:297,column:5}},line:295},22:{name:"(anonymous_22)",decl:{start:{line:298,column:26},end:{line:298,column:27}},loc:{start:{line:298,column:38},end:{line:300,column:5}},line:298},23:{name:"(anonymous_23)",decl:{start:{line:301,column:16},end:{line:301,column:17}},loc:{start:{line:301,column:60},end:{line:311,column:5}},line:301},24:{name:"(anonymous_24)",decl:{start:{line:312,column:14},end:{line:312,column:15}},loc:{start:{line:312,column:29},end:{line:314,column:5}},line:312},25:{name:"(anonymous_25)",decl:{start:{line:315,column:15},end:{line:315,column:16}},loc:{start:{line:315,column:27},end:{line:332,column:5}},line:315},26:{name:"(anonymous_26)",decl:{start:{line:321,column:22},end:{line:321,column:23}},loc:{start:{line:321,column:32},end:{line:321,column:51}},line:321},27:{name:"(anonymous_27)",decl:{start:{line:329,column:14},end:{line:329,column:15}},loc:{start:{line:329,column:32},end:{line:331,column:9}},line:329},28:{name:"(anonymous_28)",decl:{start:{line:333,column:14},end:{line:333,column:15}},loc:{start:{line:333,column:30},end:{line:375,column:5}},line:333},29:{name:"(anonymous_29)",decl:{start:{line:339,column:21},end:{line:339,column:22}},loc:{start:{line:339,column:39},end:{line:351,column:7}},line:339},30:{name:"(anonymous_30)",decl:{start:{line:378,column:19},end:{line:378,column:20}},loc:{start:{line:378,column:35},end:{line:382,column:5}},line:378}},branchMap:{0:{loc:{start:{line:213,column:6},end:{line:215,column:7}},type:"if",locations:[{start:{line:213,column:6},end:{line:215,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:213},1:{loc:{start:{line:246,column:6},end:{line:248,column:7}},type:"if",locations:[{start:{line:246,column:6},end:{line:248,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:246},2:{loc:{start:{line:254,column:6},end:{line:261,column:7}},type:"if",locations:[{start:{line:254,column:6},end:{line:261,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:254},3:{loc:{start:{line:255,column:8},end:{line:260,column:9}},type:"if",locations:[{start:{line:255,column:8},end:{line:260,column:9}},{start:{line:258,column:15},end:{line:260,column:9}}],line:255},4:{loc:{start:{line:272,column:4},end:{line:274,column:5}},type:"if",locations:[{start:{line:272,column:4},end:{line:274,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:272},5:{loc:{start:{line:281,column:8},end:{line:286,column:9}},type:"if",locations:[{start:{line:281,column:8},end:{line:286,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:281},6:{loc:{start:{line:282,column:10},end:{line:283,column:65}},type:"binary-expr",locations:[{start:{line:282,column:10},end:{line:282,column:44}},{start:{line:283,column:10},end:{line:283,column:65}}],line:282},7:{loc:{start:{line:301,column:40},end:{line:301,column:58}},type:"default-arg",locations:[{start:{line:301,column:53},end:{line:301,column:58}}],line:301},8:{loc:{start:{line:303,column:6},end:{line:308,column:7}},type:"if",locations:[{start:{line:303,column:6},end:{line:308,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:303},9:{loc:{start:{line:304,column:8},end:{line:305,column:63}},type:"binary-expr",locations:[{start:{line:304,column:8},end:{line:304,column:42}},{start:{line:305,column:8},end:{line:305,column:63}}],line:304},10:{loc:{start:{line:325,column:14},end:{line:326,column:47}},type:"binary-expr",locations:[{start:{line:325,column:14},end:{line:325,column:51}},{start:{line:326,column:14},end:{line:326,column:47}}],line:325},11:{loc:{start:{line:335,column:6},end:{line:337,column:7}},type:"if",locations:[{start:{line:335,column:6},end:{line:337,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:335},12:{loc:{start:{line:342,column:32},end:{line:342,column:65}},type:"binary-expr",locations:[{start:{line:342,column:32},end:{line:342,column:53}},{start:{line:342,column:57},end:{line:342,column:65}}],line:342},13:{loc:{start:{line:343,column:8},end:{line:350,column:9}},type:"if",locations:[{start:{line:343,column:8},end:{line:350,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:343},14:{loc:{start:{line:344,column:10},end:{line:346,column:49}},type:"binary-expr",locations:[{start:{line:344,column:10},end:{line:344,column:28}},{start:{line:345,column:11},end:{line:345,column:66}},{start:{line:346,column:12},end:{line:346,column:48}}],line:344},15:{loc:{start:{line:353,column:6},end:{line:361,column:7}},type:"if",locations:[{start:{line:353,column:6},end:{line:361,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:353},16:{loc:{start:{line:353,column:10},end:{line:353,column:38}},type:"binary-expr",locations:[{start:{line:353,column:10},end:{line:353,column:24}},{start:{line:353,column:28},end:{line:353,column:38}}],line:353},17:{loc:{start:{line:358,column:12},end:{line:358,column:72}},type:"cond-expr",locations:[{start:{line:358,column:61},end:{line:358,column:65}},{start:{line:358,column:68},end:{line:358,column:72}}],line:358},18:{loc:{start:{line:363,column:6},end:{line:373,column:7}},type:"if",locations:[{start:{line:363,column:6},end:{line:373,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:363},19:{loc:{start:{line:379,column:6},end:{line:379,column:26}},type:"if",locations:[{start:{line:379,column:6},end:{line:379,column:26}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:379}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0]},inputSourceMap:{version:3,sources:["Notifications.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"Notifications.vue",sourceRoot:"src/components",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-overlay :value="showNotificationPane" class="overlay" />\n <v-menu\n v-model="showNotificationPane"\n transition="slide-y-transition"\n :close-on-content-click="false"\n :nudge-width="340"\n offset-y\n :nudge-bottom="20"\n >\n \x3c!-- Bell icon --\x3e\n <template v-slot:activator="{ on, attrs }">\n <v-btn v-bind="attrs" v-on="on" icon>\n <v-icon v-if="unreadCount === 0" :size="size">\n mdi-bell-outline\n </v-icon>\n <v-badge\n v-else\n left\n offset-x="24"\n offset-y="8"\n :color="badgeColor"\n bordered\n :content="unreadCount"\n >\n <v-icon :size="size" :color="badgeColor"> mdi-bell </v-icon>\n </v-badge>\n </v-btn>\n </template>\n\n \x3c!-- Notifications list --\x3e\n <v-card>\n <v-card-title>\n Notifications\n <v-spacer />\n <v-tooltip top open-delay="350">\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n v-bind="attrs"\n v-on="on"\n @click="clearNotifications"\n class="ml-1"\n >\n <v-icon> mdi-notification-clear-all </v-icon>\n </v-btn>\n </template>\n <span>Clear all</span>\n </v-tooltip>\n <v-btn icon @click="toggleSettingsDialog" class="ml-1">\n <v-icon> $astro-settings </v-icon>\n </v-btn>\n </v-card-title>\n <v-card-text v-if="notifications.length === 0">\n No notifications\n </v-card-text>\n <v-list\n v-else\n two-line\n width="388"\n max-height="80vh"\n class="overflow-y-auto"\n >\n <template v-for="(notification, index) in notificationList">\n <template v-if="notification.header">\n <v-divider v-if="index !== 0" :key="index" class="mb-2" />\n <v-subheader :key="notification.header">\n {{ notification.header }}\n </v-subheader>\n </template>\n\n <v-list-item\n v-else\n :key="`notification-${index}`"\n @click="openDialog(notification)"\n class="pl-2"\n >\n <v-badge left inline color="transparent">\n <v-list-item-content class="pt-0 pb-0">\n <v-list-item-title\n :class="{ \'text--secondary\': notification.read }"\n >\n {{ notification.title }}\n </v-list-item-title>\n <v-list-item-subtitle>\n {{ notification.body }}\n </v-list-item-subtitle>\n </v-list-item-content>\n <v-list-item-action class="mt-0">\n <v-list-item-action-text>\n {{ notification.time | shortDateTime }}\n </v-list-item-action-text>\n <v-spacer />\n </v-list-item-action>\n <template v-slot:badge>\n <astro-status-indicator\n :status="notification.severity.toLowerCase()"\n />\n </template>\n </v-badge>\n </v-list-item>\n </template>\n </v-list>\n </v-card>\n </v-menu>\n\n \x3c!-- Dialog for viewing full notification --\x3e\n <v-dialog v-model="notificationDialog" width="600">\n <v-card>\n <v-card-title>\n {{ selectedNotification.title }}\n <v-spacer />\n <astro-status-indicator\n :status="selectedNotification.severity || \'normal\'"\n />\n </v-card-title>\n <v-card-subtitle>\n {{ selectedNotification.time | shortDateTime }}\n </v-card-subtitle>\n <v-card-text>\n {{ selectedNotification.body }}\n </v-card-text>\n <v-divider />\n <v-card-actions>\n <v-btn\n color="primary"\n text\n @click="navigate(selectedNotification.url)"\n >\n Open\n <v-icon right> mdi-open-in-new </v-icon>\n </v-btn>\n <v-btn color="primary" text @click="notificationDialog = false">\n Dismiss\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n\n \x3c!-- Dialog for changing notification settings --\x3e\n <v-dialog v-model="settingsDialog" width="600">\n <v-card>\n <v-card-title> Notification settings </v-card-title>\n <v-card-text>\n <v-switch v-model="showToast" label="Show toasts" />\n </v-card-text>\n <v-divider />\n <v-card-actions>\n <v-btn color="primary" text @click="toggleSettingsDialog">\n close\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport { formatDistanceToNow } from \'date-fns\'\nimport { AstroStatusColors } from \'../../../packages/openc3-tool-common/src/components/icons\'\nimport {\n highestSeverity,\n orderBySeverity,\n groupBySeverity,\n} from \'../util/AstroStatus\'\nimport Cable from \'../../../packages/openc3-tool-common/src/services/cable.js\'\n\nconst NOTIFICATION_HISTORY_MAX_LENGTH = 100\n\nexport default {\n props: {\n size: {\n type: [String, Number],\n default: 26,\n },\n },\n data: function () {\n return {\n AstroStatusColors,\n cable: new Cable(),\n subscription: null,\n notifications: [],\n showNotificationPane: false,\n toastNotification: {},\n notificationDialog: false,\n selectedNotification: {},\n settingsDialog: false,\n showToast: true,\n }\n },\n computed: {\n badgeColor: function () {\n if (!this.unreadCount) {\n return AstroStatusColors[\'off\']\n }\n const severities = this.unreadNotifications\n .map((notification) => notification.severity)\n .filter((val, index, self) => {\n return self.indexOf(val) === index // Unique values\n })\n return AstroStatusColors[highestSeverity(severities)]\n },\n readNotifications: function () {\n return this.notifications\n .filter((notification) => notification.read)\n .sort((a, b) => b.time - a.time)\n },\n unreadNotifications: function () {\n return this.notifications\n .filter((notification) => !notification.read)\n .sort((a, b) => b.time - a.time)\n },\n unreadCount: function () {\n return this.unreadNotifications.length\n },\n notificationList: function () {\n const groups = groupBySeverity(this.unreadNotifications)\n let result = orderBySeverity(Object.keys(groups), (k) => k).flatMap(\n (severity) => {\n const header = {\n header: severity.charAt(0).toUpperCase() + severity.slice(1),\n }\n return [header, ...groups[severity]]\n }\n )\n if (this.readNotifications.length) {\n result = result.concat([{ header: \'Read\' }, ...this.readNotifications])\n }\n return result\n },\n },\n watch: {\n showNotificationPane: function (val) {\n if (!val) {\n if (this.selectedNotification.title) {\n this.notificationDialog = false\n this.selectedNotification = {}\n } else {\n this.markAllAsRead()\n }\n }\n },\n showToast: function (val) {\n localStorage.notoast = !val\n },\n },\n created: function () {\n this.showToast = localStorage.notoast === \'false\'\n this.subscribe()\n },\n destroyed: function () {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n methods: {\n markAllAsRead: function () {\n this.notifications.forEach((notification) => {\n notification.read = true\n if (\n !localStorage.lastReadNotification ||\n localStorage.lastReadNotification < notification.msg_id\n ) {\n localStorage.lastReadNotification = notification.msg_id\n }\n })\n },\n clearNotifications: function () {\n this.markAllAsRead()\n this.notifications = []\n localStorage.notificationStreamOffset = localStorage.lastReadNotification\n this.showNotificationPane = false\n },\n toggleNotificationPane: function () {\n this.showNotificationPane = !this.showNotificationPane\n },\n toggleSettingsDialog: function () {\n this.settingsDialog = !this.settingsDialog\n },\n openDialog: function (notification, clearToast = false) {\n notification.read = true\n if (\n !localStorage.lastReadNotification ||\n localStorage.lastReadNotification < notification.msg_id\n ) {\n localStorage.lastReadNotification = notification.msg_id\n }\n this.selectedNotification = notification\n this.notificationDialog = true\n },\n navigate: function (url) {\n window.open(url, \'_blank\')\n },\n subscribe: function () {\n this.cable\n .createSubscription(\n \'NotificationsChannel\',\n localStorage.scope,\n {\n received: (data) => this.received(data),\n },\n {\n start_offset:\n localStorage.notificationStreamOffset ||\n localStorage.lastReadNotification,\n }\n )\n .then((subscription) => {\n this.subscription = subscription\n })\n },\n received: function (data) {\n const parsed = JSON.parse(data)\n if (parsed.length > NOTIFICATION_HISTORY_MAX_LENGTH) {\n parsed.splice(0, parsed.length - NOTIFICATION_HISTORY_MAX_LENGTH)\n }\n let foundToast = false\n parsed.forEach((notification) => {\n notification.read =\n notification.msg_id <= localStorage.lastReadNotification\n notification.severity = notification.severity || \'normal\'\n if (\n !notification.read && // Don\'t toast read notifications\n ([\'critical\', \'serious\'].includes(notification.severity) || // Toast for these statuses\n notification.severity === \'critical\') // Ok to override a toast only if this one is \'critical\'\n ) {\n foundToast = true\n this.toastNotification = notification\n }\n })\n\n if (this.showToast && foundToast) {\n this.$notify[this.toastNotification.severity]({\n ...this.toastNotification,\n type: \'notification\',\n duration:\n this.toastNotification.severity === \'critical\' ? null : 5000,\n saveToHistory: false,\n })\n }\n\n if (\n this.notifications.length + parsed.length >\n NOTIFICATION_HISTORY_MAX_LENGTH\n ) {\n this.notifications.splice(\n 0,\n this.notifications.length +\n parsed.length -\n NOTIFICATION_HISTORY_MAX_LENGTH\n )\n }\n this.notifications = this.notifications.concat(parsed)\n },\n },\n filters: {\n shortDateTime: function (nsec) {\n if (!nsec) return \'\'\n const date = new Date(nsec / 1_000_000)\n return formatDistanceToNow(date, { addSuffix: true })\n },\n },\n}\n<\/script>\n\n<style scoped>\n.v-subheader {\n height: 28px;\n}\n\n.v-badge {\n width: 100%;\n}\n\n.overlay {\n height: 100vh;\n width: 100vw;\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"667a06d888d9d418f311467ac81cc388e93074c4"});var i=o[n];return Yt=function(){return i},i}function qt(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,o)}return e}function Jt(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?qt(Object(e),!0).forEach((function(t){(0,Tt.Z)(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):qt(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}Yt();var Xt=(Yt().s[0]++,100),Zt={props:{size:{type:[String,Number],default:26}},data:function(){return Yt().f[0]++,Yt().s[1]++,{AstroStatusColors:pt,cable:new Wt,subscription:null,notifications:[],showNotificationPane:!1,toastNotification:{},notificationDialog:!1,selectedNotification:{},settingsDialog:!1,showToast:!0}},computed:{badgeColor:function(){if(Yt().f[1]++,Yt().s[2]++,!this.unreadCount)return Yt().b[0][0]++,Yt().s[3]++,pt.off;Yt().b[0][1]++;var n=(Yt().s[4]++,this.unreadNotifications.map((function(n){return Yt().f[2]++,Yt().s[5]++,n.severity})).filter((function(n,t,e){return Yt().f[3]++,Yt().s[6]++,e.indexOf(n)===t})));return Yt().s[7]++,pt[function(n){vt().f[2]++;var t=(vt().s[5]++,function(n){return vt().f[0]++,vt().s[2]++,n.map((function(n){return vt().f[1]++,vt().s[3]++,gt.indexOf(n.toLowerCase())}))}(n)),e=(vt().s[6]++,Math.min.apply(Math,ht(t)));return vt().s[7]++,gt[e]}(n)]},readNotifications:function(){return Yt().f[4]++,Yt().s[8]++,this.notifications.filter((function(n){return Yt().f[5]++,Yt().s[9]++,n.read})).sort((function(n,t){return Yt().f[6]++,Yt().s[10]++,t.time-n.time}))},unreadNotifications:function(){return Yt().f[7]++,Yt().s[11]++,this.notifications.filter((function(n){return Yt().f[8]++,Yt().s[12]++,!n.read})).sort((function(n,t){return Yt().f[9]++,Yt().s[13]++,t.time-n.time}))},unreadCount:function(){return Yt().f[10]++,Yt().s[14]++,this.unreadNotifications.length},notificationList:function(){Yt().f[11]++;var n=(Yt().s[15]++,function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(vt().b[1][0]++,function(n){return vt().f[8]++,vt().s[17]++,n.severity});return vt().f[7]++,vt().s[18]++,n.reduce((function(n,e){vt().f[9]++;var o=(vt().s[19]++,t(e));return vt().s[20]++,n[o]||(n[o]=[]),vt().s[21]++,n[o].push(e),vt().s[22]++,n}),{})}(this.unreadNotifications)),t=(Yt().s[16]++,function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(vt().b[0][0]++,function(n){return vt().f[5]++,vt().s[13]++,n.severity});return vt().f[4]++,vt().s[14]++,n.sort((function(n,e){return vt().f[6]++,vt().s[15]++,gt.indexOf(t(n))-gt.indexOf(t(e))}))}(Object.keys(n),(function(n){return Yt().f[12]++,Yt().s[17]++,n})).flatMap((function(t){Yt().f[13]++;var e=(Yt().s[18]++,{header:t.charAt(0).toUpperCase()+t.slice(1)});return Yt().s[19]++,[e].concat(ht(n[t]))})));return Yt().s[20]++,this.readNotifications.length?(Yt().b[1][0]++,Yt().s[21]++,t=t.concat([{header:"Read"}].concat(ht(this.readNotifications)))):Yt().b[1][1]++,Yt().s[22]++,t}},watch:{showNotificationPane:function(n){Yt().f[14]++,Yt().s[23]++,n?Yt().b[2][1]++:(Yt().b[2][0]++,Yt().s[24]++,this.selectedNotification.title?(Yt().b[3][0]++,Yt().s[25]++,this.notificationDialog=!1,Yt().s[26]++,this.selectedNotification={}):(Yt().b[3][1]++,Yt().s[27]++,this.markAllAsRead()))},showToast:function(n){Yt().f[15]++,Yt().s[28]++,localStorage.notoast=!n}},created:function(){Yt().f[16]++,Yt().s[29]++,this.showToast="false"===localStorage.notoast,Yt().s[30]++,this.subscribe()},destroyed:function(){Yt().f[17]++,Yt().s[31]++,this.subscription?(Yt().b[4][0]++,Yt().s[32]++,this.subscription.unsubscribe()):Yt().b[4][1]++,Yt().s[33]++,this.cable.disconnect()},methods:{markAllAsRead:function(){Yt().f[18]++,Yt().s[34]++,this.notifications.forEach((function(n){Yt().f[19]++,Yt().s[35]++,n.read=!0,Yt().s[36]++,Yt().b[6][0]++,!localStorage.lastReadNotification||(Yt().b[6][1]++,localStorage.lastReadNotification<n.msg_id)?(Yt().b[5][0]++,Yt().s[37]++,localStorage.lastReadNotification=n.msg_id):Yt().b[5][1]++}))},clearNotifications:function(){Yt().f[20]++,Yt().s[38]++,this.markAllAsRead(),Yt().s[39]++,this.notifications=[],Yt().s[40]++,localStorage.notificationStreamOffset=localStorage.lastReadNotification,Yt().s[41]++,this.showNotificationPane=!1},toggleNotificationPane:function(){Yt().f[21]++,Yt().s[42]++,this.showNotificationPane=!this.showNotificationPane},toggleSettingsDialog:function(){Yt().f[22]++,Yt().s[43]++,this.settingsDialog=!this.settingsDialog},openDialog:function(n){arguments.length>1&&void 0!==arguments[1]||Yt().b[7][0]++,Yt().f[23]++,Yt().s[44]++,n.read=!0,Yt().s[45]++,Yt().b[9][0]++,!localStorage.lastReadNotification||(Yt().b[9][1]++,localStorage.lastReadNotification<n.msg_id)?(Yt().b[8][0]++,Yt().s[46]++,localStorage.lastReadNotification=n.msg_id):Yt().b[8][1]++,Yt().s[47]++,this.selectedNotification=n,Yt().s[48]++,this.notificationDialog=!0},navigate:function(n){Yt().f[24]++,Yt().s[49]++,window.open(n,"_blank")},subscribe:function(){var n=this;Yt().f[25]++,Yt().s[50]++,this.cable.createSubscription("NotificationsChannel",localStorage.scope,{received:function(t){return Yt().f[26]++,Yt().s[51]++,n.received(t)}},{start_offset:(Yt().b[10][0]++,localStorage.notificationStreamOffset||(Yt().b[10][1]++,localStorage.lastReadNotification))}).then((function(t){Yt().f[27]++,Yt().s[52]++,n.subscription=t}))},received:function(n){var t=this;Yt().f[28]++;var e=(Yt().s[53]++,JSON.parse(n));Yt().s[54]++,e.length>Xt?(Yt().b[11][0]++,Yt().s[55]++,e.splice(0,e.length-Xt)):Yt().b[11][1]++;var o=(Yt().s[56]++,!1);Yt().s[57]++,e.forEach((function(n){Yt().f[29]++,Yt().s[58]++,n.read=n.msg_id<=localStorage.lastReadNotification,Yt().s[59]++,n.severity=(Yt().b[12][0]++,n.severity||(Yt().b[12][1]++,"normal")),Yt().s[60]++,Yt().b[14][0]++,!n.read&&(Yt().b[14][1]++,["critical","serious"].includes(n.severity)||(Yt().b[14][2]++,"critical"===n.severity))?(Yt().b[13][0]++,Yt().s[61]++,o=!0,Yt().s[62]++,t.toastNotification=n):Yt().b[13][1]++})),Yt().s[63]++,Yt().b[16][0]++,this.showToast&&(Yt().b[16][1]++,o)?(Yt().b[15][0]++,Yt().s[64]++,this.$notify[this.toastNotification.severity](Jt(Jt({},this.toastNotification),{},{type:"notification",duration:"critical"===this.toastNotification.severity?(Yt().b[17][0]++,null):(Yt().b[17][1]++,5e3),saveToHistory:!1}))):Yt().b[15][1]++,Yt().s[65]++,this.notifications.length+e.length>Xt?(Yt().b[18][0]++,Yt().s[66]++,this.notifications.splice(0,this.notifications.length+e.length-Xt)):Yt().b[18][1]++,Yt().s[67]++,this.notifications=this.notifications.concat(e)}},filters:{shortDateTime:function(n){if(Yt().f[30]++,Yt().s[68]++,!n)return Yt().b[19][0]++,Yt().s[69]++,"";Yt().b[19][1]++;var t=(Yt().s[70]++,new Date(n/1e6));return Yt().s[71]++,function(n,t){return i(1,arguments),Lt(n,Date.now(),t)}(t,{addSuffix:!0})}}},Vt=Zt,Qt=u(8232),Kt={};Kt.styleTagTransform=zn(),Kt.setAttributes=Mn(),Kt.insert=In().bind(null,"head"),Kt.domAPI=On(),Kt.insertStyleElement=Un(),En()(Qt.Z,Kt),Qt.Z&&Qt.Z.locals&&Qt.Z.locals;var ne=(0,pn.Z)(Vt,St,[],!1,null,"43a3e4e8",null);ne.options.__file="src/components/Notifications.vue";var te=ne.exports,ee=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",[e("v-overlay",{staticClass:"overlay",attrs:{value:n.showUserMenu}}),n._v(" "),e("v-menu",{attrs:{transition:"slide-y-transition","offset-y":"","close-on-content-click":!1,"nudge-width":120,"nudge-bottom":20},scopedSlots:n._u([{key:"activator",fn:function(t){var o=t.on,i=t.attrs;return[e("v-btn",n._g(n._b({attrs:{icon:""}},"v-btn",i,!1),o),[e("v-icon",{attrs:{size:n.size}},[n._v(" mdi-account ")])],1)]}}]),model:{value:n.showUserMenu,callback:function(t){n.showUserMenu=t},expression:"showUserMenu"}},[n._v(" "),e("v-card",[e("v-card-text",{staticClass:"text-center"},[n.authenticated?e("div",[e("v-btn",{attrs:{block:"",color:"primary"},on:{click:n.logout}},[n._v(" Logout ")])],1):e("div",[e("v-btn",{attrs:{block:"",color:"primary"},on:{click:n.login}},[n._v(" Login ")])],1),n._v(" "),e("div",[e("v-switch",{attrs:{label:"Colorblind mode"},model:{value:n.colorblindMode,callback:function(t){n.colorblindMode=t},expression:"colorblindMode"}})],1)])],1)],1)],1)};function oe(){var n="/openc3/plugins/openc3-tool-base/src/components/UserMenu.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"c9bde97f6236ae062b2039b9709e6846435dfaf0"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/components/UserMenu.vue",statementMap:{0:{start:{line:63,column:4},end:{line:66,column:5}},1:{start:{line:71,column:8},end:{line:71,column:53}},2:{start:{line:74,column:8},end:{line:74,column:41}},3:{start:{line:80,column:6},end:{line:80,column:25}},4:{start:{line:83,column:6},end:{line:83,column:37}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:62,column:8},end:{line:62,column:9}},loc:{start:{line:62,column:20},end:{line:67,column:3}},line:62},1:{name:"(anonymous_1)",decl:{start:{line:70,column:11},end:{line:70,column:12}},loc:{start:{line:70,column:23},end:{line:72,column:7}},line:70},2:{name:"(anonymous_2)",decl:{start:{line:73,column:11},end:{line:73,column:12}},loc:{start:{line:73,column:26},end:{line:75,column:7}},line:73},3:{name:"(anonymous_3)",decl:{start:{line:79,column:12},end:{line:79,column:13}},loc:{start:{line:79,column:24},end:{line:81,column:5}},line:79},4:{name:"(anonymous_4)",decl:{start:{line:82,column:11},end:{line:82,column:12}},loc:{start:{line:82,column:23},end:{line:84,column:5}},line:82}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0},f:{0:0,1:0,2:0,3:0,4:0},b:{},inputSourceMap:{version:3,sources:["UserMenu.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"UserMenu.vue",sourceRoot:"src/components",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-overlay :value="showUserMenu" class="overlay" />\n <v-menu\n v-model="showUserMenu"\n transition="slide-y-transition"\n offset-y\n :close-on-content-click="false"\n :nudge-width="120"\n :nudge-bottom="20"\n >\n <template v-slot:activator="{ on, attrs }">\n <v-btn v-bind="attrs" v-on="on" icon>\n <v-icon :size="size"> mdi-account </v-icon>\n </v-btn>\n </template>\n\n <v-card>\n <v-card-text class="text-center">\n <div v-if="authenticated">\n <v-btn block @click="logout" color="primary"> Logout </v-btn>\n </div>\n <div v-else>\n <v-btn block @click="login" color="primary"> Login </v-btn>\n </div>\n <div>\n <v-switch label="Colorblind mode" v-model="colorblindMode" />\n </div>\n </v-card-text>\n </v-card>\n </v-menu>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n size: {\n type: [String, Number],\n default: 26,\n },\n },\n data: function () {\n return {\n showUserMenu: false,\n authenticated: !!localStorage.openc3Token,\n }\n },\n computed: {\n colorblindMode: {\n get: function () {\n return localStorage.colorblindMode === \'true\'\n },\n set: function (val) {\n localStorage.colorblindMode = val\n },\n },\n },\n methods: {\n logout: function () {\n OpenC3Auth.logout()\n },\n login: function () {\n OpenC3Auth.login(location.href)\n },\n },\n}\n<\/script>\n\n<style scoped>\n.overlay {\n height: 100vh;\n width: 100vw;\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c9bde97f6236ae062b2039b9709e6846435dfaf0"});var i=o[n];return oe=function(){return i},i}ee._withStripped=!0,oe();var ie={props:{size:{type:[String,Number],default:26}},data:function(){return oe().f[0]++,oe().s[0]++,{showUserMenu:!1,authenticated:!!localStorage.openc3Token}},computed:{colorblindMode:{get:function(){return oe().f[1]++,oe().s[1]++,"true"===localStorage.colorblindMode},set:function(n){oe().f[2]++,oe().s[2]++,localStorage.colorblindMode=n}}},methods:{logout:function(){oe().f[3]++,oe().s[3]++,OpenC3Auth.logout()},login:function(){oe().f[4]++,oe().s[4]++,OpenC3Auth.login(location.href)}}},re=u(9253),ae={};ae.styleTagTransform=zn(),ae.setAttributes=Mn(),ae.insert=In().bind(null,"head"),ae.domAPI=On(),ae.insertStyleElement=Un(),En()(re.Z,ae),re.Z&&re.Z.locals&&re.Z.locals;var se=(0,pn.Z)(ie,ee,[],!1,null,"53e47a0c",null);se.options.__file="src/components/UserMenu.vue";var le=se.exports;function ce(){var n="/openc3/plugins/openc3-tool-base/src/AppNav.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"75683f4cacb151adcabf79f1924d57e16d931431"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/AppNav.vue",statementMap:{0:{start:{line:95,column:4},end:{line:101,column:5}},1:{start:{line:106,column:19},end:{line:106,column:21}},2:{start:{line:107,column:6},end:{line:111,column:7}},3:{start:{line:108,column:8},end:{line:110,column:9}},4:{start:{line:109,column:10},end:{line:109,column:40}},5:{start:{line:112,column:6},end:{line:112,column:19}},6:{start:{line:115,column:19},end:{line:115,column:21}},7:{start:{line:116,column:6},end:{line:120,column:7}},8:{start:{line:117,column:8},end:{line:119,column:9}},9:{start:{line:118,column:10},end:{line:118,column:40}},10:{start:{line:121,column:6},end:{line:121,column:19}},11:{start:{line:125,column:4},end:{line:155,column:5}},12:{start:{line:127,column:8},end:{line:127,column:35}},13:{start:{line:130,column:8},end:{line:140,column:9}},14:{start:{line:131,column:10},end:{line:139,column:11}},15:{start:{line:132,column:30},end:{line:132,column:58}},16:{start:{line:133,column:23},end:{line:133,column:52}},17:{start:{line:134,column:12},end:{line:138,column:14}},18:{start:{line:136,column:25},end:{line:136,column:44}},19:{start:{line:141,column:8},end:{line:143,column:10}},20:{start:{line:146,column:8},end:{line:153,column:9}},21:{start:{line:147,column:10},end:{line:152,column:11}},22:{start:{line:148,column:12},end:{line:151,column:13}},23:{start:{line:149,column:14},end:{line:149,column:66}},24:{start:{line:150,column:14},end:{line:150,column:19}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:94,column:2},end:{line:94,column:3}},loc:{start:{line:94,column:9},end:{line:102,column:3}},line:94},1:{name:"(anonymous_1)",decl:{start:{line:105,column:16},end:{line:105,column:17}},loc:{start:{line:105,column:28},end:{line:113,column:5}},line:105},2:{name:"(anonymous_2)",decl:{start:{line:114,column:16},end:{line:114,column:17}},loc:{start:{line:114,column:28},end:{line:122,column:5}},line:114},3:{name:"(anonymous_3)",decl:{start:{line:124,column:2},end:{line:124,column:3}},loc:{start:{line:124,column:12},end:{line:156,column:3}},line:124},4:{name:"(anonymous_4)",decl:{start:{line:126,column:6},end:{line:126,column:7}},loc:{start:{line:126,column:20},end:{line:154,column:7}},line:126},5:{name:"(anonymous_5)",decl:{start:{line:136,column:19},end:{line:136,column:20}},loc:{start:{line:136,column:25},end:{line:136,column:44}},line:136}},branchMap:{0:{loc:{start:{line:108,column:8},end:{line:110,column:9}},type:"if",locations:[{start:{line:108,column:8},end:{line:110,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:108},1:{loc:{start:{line:108,column:12},end:{line:108,column:75}},type:"binary-expr",locations:[{start:{line:108,column:12},end:{line:108,column:34}},{start:{line:108,column:38},end:{line:108,column:75}}],line:108},2:{loc:{start:{line:117,column:8},end:{line:119,column:9}},type:"if",locations:[{start:{line:117,column:8},end:{line:119,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:117},3:{loc:{start:{line:117,column:12},end:{line:117,column:75}},type:"binary-expr",locations:[{start:{line:117,column:12},end:{line:117,column:34}},{start:{line:117,column:38},end:{line:117,column:75}}],line:117},4:{loc:{start:{line:131,column:10},end:{line:139,column:11}},type:"if",locations:[{start:{line:131,column:10},end:{line:139,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:131},5:{loc:{start:{line:146,column:8},end:{line:153,column:9}},type:"if",locations:[{start:{line:146,column:8},end:{line:153,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:146},6:{loc:{start:{line:148,column:12},end:{line:151,column:13}},type:"if",locations:[{start:{line:148,column:12},end:{line:151,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:148}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0]},inputSourceMap:{version:3,sources:["AppNav.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"AppNav.vue",sourceRoot:"src",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <div>\n <v-navigation-drawer v-model="drawer" app id="openc3-nav-drawer">\n <v-list>\n <v-list-item>\n <v-list-item-icon style="margin-right: auto !important; margin-left: auto;">\n <img :src="logo" alt="OpenC3" />\n </v-list-item-icon>\n </v-list-item>\n <v-list-item class="my-0">\n <v-list-item-content>\n <div v-for="(tool, name) in adminTools" :key="name">\n <v-btn\n block\n small\n :href="tool.url"\n onclick="singleSpaNavigate(event)"\n >\n Admin\n </v-btn>\n </div>\n </v-list-item-content>\n </v-list-item>\n <v-divider />\n <div v-for="(tool, name) in shownTools" :key="name">\n <v-list-item class="pr-0">\n <v-list-item-icon>\n <a :href="tool.url" onclick="singleSpaNavigate(event)">\n <v-icon>{{ tool.icon }}</v-icon>\n </a>\n </v-list-item-icon>\n <v-list-item-content>\n <a :href="tool.url" onclick="singleSpaNavigate(event)">\n <v-list-item-title>{{ name }}</v-list-item-title>\n </a>\n </v-list-item-content>\n <v-divider vertical />\n <v-list-item-icon>\n <a :href="tool.url" target="_blank">\n <v-icon>mdi-open-in-new</v-icon>\n </a>\n </v-list-item-icon>\n </v-list-item>\n </div>\n </v-list>\n </v-navigation-drawer>\n <v-app-bar app color="tertiary darken-3" id="openc3-app-toolbar">\n <v-app-bar-nav-icon @click="drawer = !drawer" />\n <v-divider vertical class="top-bar-divider-full-height" />\n <span style="width: 100%"><span id="openc3-menu"></span></span>\n <div class="justify-right mr-2 pt-2"><scope-selector /></div>\n <div class="justify-right"><alert-history /></div>\n <div class="justify-right"><notifications /></div>\n <div class="justify-right"><user-menu /></div>\n </v-app-bar>\n </div>\n</template>\n\n<script>\nimport Api from \'../../packages/openc3-tool-common/src/services/api\'\nimport logo from \'../public/img/logo.png\'\nimport { registerApplication, start } from \'single-spa\'\nimport ScopeSelector from \'./components/ScopeSelector.vue\'\nimport AlertHistory from \'./components/AlertHistory.vue\'\nimport Notifications from \'./components/Notifications.vue\'\nimport UserMenu from \'./components/UserMenu.vue\'\n\nexport default {\n components: {\n ScopeSelector,\n AlertHistory,\n Notifications,\n UserMenu,\n },\n data() {\n return {\n drawer: true,\n appNav: {},\n adminNav: {},\n checked: [],\n logo: logo,\n }\n },\n computed: {\n // a computed getter\n shownTools: function () {\n let result = {}\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown && this.appNav[key].category !== \'Admin\') {\n result[key] = this.appNav[key]\n }\n }\n return result\n },\n adminTools: function () {\n let result = {}\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown && this.appNav[key].category === \'Admin\') {\n result[key] = this.appNav[key]\n }\n }\n return result\n },\n },\n created() {\n Api.get(\'/openc3-api/tools/all\', { params: { scope: \'DEFAULT\' } }).then(\n (response) => {\n this.appNav = response.data\n\n // Register apps and start single-spa\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown) {\n let folder_name = this.appNav[key].folder_name\n let name = \'@openc3/tool-\' + folder_name\n registerApplication({\n name: name,\n app: () => System.import(name),\n activeWhen: [\'/tools/\' + folder_name],\n })\n }\n }\n start({\n urlRerouteOnly: true,\n })\n\n // Redirect / to the first tool\n if (window.location.pathname == \'/\') {\n for (var key of Object.keys(this.shownTools)) {\n if (this.appNav[key].shown) {\n history.replaceState(null, \'\', this.appNav[key].url)\n break\n }\n }\n }\n }\n )\n },\n}\n<\/script>\n\n<style scoped>\n.v-list-item--two-line .v-list-item__icon {\n margin: 0px;\n}\n.v-list >>> .v-label {\n margin-left: 5px;\n}\n.theme--dark.v-navigation-drawer {\n background-color: var(--v-primary-darken2);\n}\n.v-list-item__icon {\n /* For some reason the default margin-right is huge */\n margin-right: 15px !important;\n}\n.v-list-item__title {\n color: white;\n}\n\n#openc3-app-toolbar .top-bar-divider-full-height {\n margin: -4px 4px;\n min-height: calc(100% + 8px);\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"75683f4cacb151adcabf79f1924d57e16d931431"});var i=o[n];return ce=function(){return i},i}ce();var ue={components:{ScopeSelector:Kn,AlertHistory:_t,Notifications:te,UserMenu:le},data:function(){return ce().f[0]++,ce().s[0]++,{drawer:!0,appNav:{},adminNav:{},checked:[],logo:_n}},computed:{shownTools:function(){ce().f[1]++;var n=(ce().s[1]++,{});ce().s[2]++;for(var t=0,e=Object.keys(this.appNav);t<e.length;t++){var o=e[t];ce().s[3]++,ce().b[1][0]++,this.appNav[o].shown&&(ce().b[1][1]++,"Admin"!==this.appNav[o].category)?(ce().b[0][0]++,ce().s[4]++,n[o]=this.appNav[o]):ce().b[0][1]++}return ce().s[5]++,n},adminTools:function(){ce().f[2]++;var n=(ce().s[6]++,{});ce().s[7]++;for(var t=0,e=Object.keys(this.appNav);t<e.length;t++){var o=e[t];ce().s[8]++,ce().b[3][0]++,this.appNav[o].shown&&(ce().b[3][1]++,"Admin"===this.appNav[o].category)?(ce().b[2][0]++,ce().s[9]++,n[o]=this.appNav[o]):ce().b[2][1]++}return ce().s[10]++,n}},created:function(){var n=this;ce().f[3]++,ce().s[11]++,Wn.Z.get("/openc3-api/tools/all",{params:{scope:"DEFAULT"}}).then((function(t){ce().f[4]++,ce().s[12]++,n.appNav=t.data,ce().s[13]++;for(var e=0,o=Object.keys(n.appNav);e<o.length;e++){var i=o[e];ce().s[14]++,n.appNav[i].shown?function(){ce().b[4][0]++;var t=(ce().s[15]++,n.appNav[i].folder_name),e=(ce().s[16]++,"@openc3/tool-"+t);ce().s[17]++,(0,Yn.registerApplication)({name:e,app:function(){return ce().f[5]++,ce().s[18]++,System.import(e)},activeWhen:["/tools/"+t]})}():ce().b[4][1]++}if(ce().s[19]++,(0,Yn.start)({urlRerouteOnly:!0}),ce().s[20]++,"/"==window.location.pathname){ce().b[5][0]++,ce().s[21]++;for(var r=0,a=Object.keys(n.shownTools);r<a.length;r++){if(i=a[r],ce().s[22]++,n.appNav[i].shown){ce().b[6][0]++,ce().s[23]++,history.replaceState(null,"",n.appNav[i].url),ce().s[24]++;break}ce().b[6][1]++}}else ce().b[5][1]++}))}},de=u(9013),Ae={};Ae.styleTagTransform=zn(),Ae.setAttributes=Mn(),Ae.insert=In().bind(null,"head"),Ae.domAPI=On(),Ae.insertStyleElement=Un(),En()(de.Z,Ae),de.Z&&de.Z.locals&&de.Z.locals;var pe=(0,pn.Z)(ue,Hn,[],!1,null,"0a95910a",null);pe.options.__file="src/AppNav.vue";var me=pe.exports,fe=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("v-dialog",{attrs:{width:"500"},model:{value:n.dialog,callback:function(t){n.dialog=t},expression:"dialog"}},[e("v-card",[e("v-card-title",[n._v(" Clock out of sync ")]),n._v(" "),e("v-card-text",[n._v("\n We've detected that your clock is approximately\n "+n._s(Math.abs(n.approximateDiscrepancySec))+" seconds\n "+n._s(n.approximateDiscrepancySec>0?"behind":"ahead of")+" server time.\n This can cause issues and might have unknown side effects.\n "),e("v-checkbox",{attrs:{label:"Don't show this again"},model:{value:n.suppress,callback:function(t){n.suppress=t},expression:"suppress"}})],1),n._v(" "),e("v-divider"),n._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:n.dismiss}},[n._v(" Dismiss ")])],1)],1)],1)};fe._withStripped=!0;var he=u(9669),ve=u.n(he);function ge(){var n="/openc3/plugins/openc3-tool-base/src/components/TimeCheck.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"2f88ddf1693c730154eaf61c25357eecbba6ca99"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/components/TimeCheck.vue",statementMap:{0:{start:{line:43,column:33},end:{line:43,column:37}},1:{start:{line:47,column:4},end:{line:51,column:5}},2:{start:{line:54,column:4},end:{line:55,column:79}},3:{start:{line:56,column:4},end:{line:66,column:5}},4:{start:{line:57,column:6},end:{line:65,column:10}},5:{start:{line:60,column:10},end:{line:60,column:76}},6:{start:{line:64,column:10},end:{line:64,column:31}},7:{start:{line:70,column:6},end:{line:71,column:21}},8:{start:{line:72,column:6},end:{line:72,column:27}},9:{start:{line:77,column:6},end:{line:77,column:48}},10:{start:{line:80,column:6},end:{line:83,column:7}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:46,column:8},end:{line:46,column:9}},loc:{start:{line:46,column:20},end:{line:52,column:3}},line:46},1:{name:"(anonymous_1)",decl:{start:{line:53,column:11},end:{line:53,column:12}},loc:{start:{line:53,column:23},end:{line:67,column:3}},line:53},2:{name:"(anonymous_2)",decl:{start:{line:59,column:14},end:{line:59,column:15}},loc:{start:{line:59,column:28},end:{line:61,column:9}},line:59},3:{name:"(anonymous_3)",decl:{start:{line:62,column:15},end:{line:62,column:16}},loc:{start:{line:62,column:26},end:{line:65,column:9}},line:62},4:{name:"(anonymous_4)",decl:{start:{line:69,column:13},end:{line:69,column:14}},loc:{start:{line:69,column:25},end:{line:73,column:5}},line:69},5:{name:"(anonymous_5)",decl:{start:{line:76,column:31},end:{line:76,column:32}},loc:{start:{line:76,column:43},end:{line:78,column:5}},line:76},6:{name:"(anonymous_6)",decl:{start:{line:79,column:12},end:{line:79,column:13}},loc:{start:{line:79,column:24},end:{line:84,column:5}},line:79}},branchMap:{0:{loc:{start:{line:56,column:4},end:{line:66,column:5}},type:"if",locations:[{start:{line:56,column:4},end:{line:66,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:56},1:{loc:{start:{line:81,column:8},end:{line:82,column:62}},type:"binary-expr",locations:[{start:{line:81,column:8},end:{line:81,column:23}},{start:{line:82,column:8},end:{line:82,column:62}}],line:81}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,sources:["TimeCheck.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"TimeCheck.vue",sourceRoot:"src/components",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-dialog v-model=\"dialog\" width=\"500\">\n <v-card>\n <v-card-title> Clock out of sync </v-card-title>\n <v-card-text>\n We've detected that your clock is approximately\n {{ Math.abs(approximateDiscrepancySec) }} seconds\n {{ approximateDiscrepancySec > 0 ? 'behind' : 'ahead of' }} server time.\n This can cause issues and might have unknown side effects.\n <v-checkbox v-model=\"suppress\" label=\"Don't show this again\" />\n </v-card-text>\n <v-divider />\n <v-card-actions>\n <v-btn color=\"primary\" text @click=\"dismiss\"> Dismiss </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\n// Directly use axios since we need no authentication or scope\nimport axios from 'axios'\n\nconst ALLOWABLE_DISCREPANCY_MS = 3000\n\nexport default {\n data: function () {\n return {\n dismissed: false,\n suppress: false,\n discrepancy: 0,\n }\n },\n created: function () {\n this.suppress =\n localStorage['suppresswarning__clock_out_of_sync_with_server'] === 'true'\n if (!this.suppress) {\n axios\n .get('/openc3-api/time')\n .then((response) => {\n this.discrepancy = response.data.now_nsec / 1_000_000 - Date.now()\n })\n .catch((error) => {\n // Silently fail\n this.dismissed = true\n })\n }\n },\n methods: {\n dismiss: function () {\n localStorage['suppresswarning__clock_out_of_sync_with_server'] =\n this.suppress\n this.dismissed = true\n },\n },\n computed: {\n approximateDiscrepancySec: function () {\n return (this.discrepancy / 1000).toFixed()\n },\n dialog: function () {\n return (\n !this.dismissed &&\n Math.abs(this.discrepancy) >= ALLOWABLE_DISCREPANCY_MS\n )\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"2f88ddf1693c730154eaf61c25357eecbba6ca99"});var i=o[n];return ge=function(){return i},i}ge();var be=(ge().s[0]++,3e3),ye={data:function(){return ge().f[0]++,ge().s[1]++,{dismissed:!1,suppress:!1,discrepancy:0}},created:function(){var n=this;ge().f[1]++,ge().s[2]++,this.suppress="true"===localStorage.suppresswarning__clock_out_of_sync_with_server,ge().s[3]++,this.suppress?ge().b[0][1]++:(ge().b[0][0]++,ge().s[4]++,ve().get("/openc3-api/time").then((function(t){ge().f[2]++,ge().s[5]++,n.discrepancy=t.data.now_nsec/1e6-Date.now()})).catch((function(t){ge().f[3]++,ge().s[6]++,n.dismissed=!0})))},methods:{dismiss:function(){ge().f[4]++,ge().s[7]++,localStorage.suppresswarning__clock_out_of_sync_with_server=this.suppress,ge().s[8]++,this.dismissed=!0}},computed:{approximateDiscrepancySec:function(){return ge().f[5]++,ge().s[9]++,(this.discrepancy/1e3).toFixed()},dialog:function(){return ge().f[6]++,ge().s[10]++,ge().b[1][0]++,!this.dismissed&&(ge().b[1][1]++,Math.abs(this.discrepancy)>=be)}}},Ce=(0,pn.Z)(ye,fe,[],!1,null,null,null);Ce.options.__file="src/components/TimeCheck.vue";var we=Ce.exports;function xe(){var n="/openc3/plugins/openc3-tool-base/src/components/ClassificationBanners.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"75725f724996a280d0b7fa470fad83e155fdf61d"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/components/ClassificationBanners.vue",statementMap:{0:{start:{line:25,column:4},end:{line:34,column:5}},1:{start:{line:41,column:6},end:{line:47,column:16}},2:{start:{line:51,column:4},end:{line:51,column:30}},3:{start:{line:52,column:4},end:{line:52,column:15}},4:{start:{line:56,column:6},end:{line:60,column:8}},5:{start:{line:57,column:8},end:{line:59,column:9}},6:{start:{line:58,column:10},end:{line:58,column:52}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:24,column:8},end:{line:24,column:9}},loc:{start:{line:24,column:20},end:{line:35,column:3}},line:24},1:{name:"(anonymous_1)",decl:{start:{line:37,column:26},end:{line:37,column:27}},loc:{start:{line:37,column:38},end:{line:48,column:5}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:50,column:11},end:{line:50,column:12}},loc:{start:{line:50,column:23},end:{line:53,column:3}},line:50},3:{name:"(anonymous_3)",decl:{start:{line:55,column:10},end:{line:55,column:11}},loc:{start:{line:55,column:22},end:{line:61,column:5}},line:55},4:{name:"(anonymous_4)",decl:{start:{line:56,column:57},end:{line:56,column:58}},loc:{start:{line:56,column:71},end:{line:60,column:7}},line:56}},branchMap:{0:{loc:{start:{line:57,column:8},end:{line:59,column:9}},type:"if",locations:[{start:{line:57,column:8},end:{line:59,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0,3:0,4:0},b:{0:[0,0]},inputSourceMap:{version:3,sources:["ClassificationBanners.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;AAoBA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"ClassificationBanners.vue",sourceRoot:"src/components",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<script>\nimport { OpenC3Api } from '../../../packages/openc3-tool-common/src/services/openc3-api'\n\nexport default {\n data: function () {\n return {\n api: null,\n classification: {\n text: '',\n fontColor: 'white',\n backgroundColor: 'red',\n topHeight: 0,\n bottomHeight: 0,\n },\n }\n },\n computed: {\n classificationStyles: function () {\n // JavaScript can't access CSS psudo-elements (::before and ::after).\n // This string sets these JS values to CSS variables, accessible to\n // the style sheet via the style attribute on #app\n return [\n `--classification-text:\"${this.classification.text}\";`,\n `--classification-font-color:${this.classification.fontColor};`,\n `--classification-background-color:${this.classification.backgroundColor};`,\n `--classification-height-top:${this.classification.topHeight}px;`,\n `--classification-height-bottom:${this.classification.bottomHeight}px;`,\n ].join('')\n },\n },\n created: function () {\n this.api = new OpenC3Api()\n this.load()\n },\n methods: {\n load: function () {\n this.api.get_setting('classification_banner').then((response) => {\n if (response) {\n this.classification = JSON.parse(response)\n }\n })\n },\n },\n}\n<\/script>\n\n<style>\n/* push things up and down to make room for the classification banners */\n#app,\n#openc3-nav-drawer {\n margin-top: var(--classification-height-top);\n}\n#openc3-app-toolbar {\n top: var(--classification-height-top);\n}\n#openc3-nav-drawer .v-navigation-drawer__content {\n height: calc(\n 100% - var(--classification-height-top) -\n var(--classification-height-bottom)\n );\n}\n#footer {\n margin-bottom: var(--classification-height-bottom);\n}\n\n/* make the classification banners */\n#app::before,\n#app::after {\n z-index: 99;\n position: fixed;\n left: 0;\n right: 0;\n text-align: center;\n content: var(--classification-text);\n color: var(--classification-font-color);\n background-color: var(--classification-background-color);\n}\n#app::before {\n top: 0;\n font-size: calc(var(--classification-height-top) * 0.7);\n height: var(--classification-height-top);\n}\n#app::after {\n bottom: 0;\n font-size: calc(var(--classification-height-bottom) * 0.7);\n height: var(--classification-height-bottom);\n}\n</style>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"75725f724996a280d0b7fa470fad83e155fdf61d"});var i=o[n];return xe=function(){return i},i}xe();var ke={data:function(){return xe().f[0]++,xe().s[0]++,{api:null,classification:{text:"",fontColor:"white",backgroundColor:"red",topHeight:0,bottomHeight:0}}},computed:{classificationStyles:function(){return xe().f[1]++,xe().s[1]++,['--classification-text:"'.concat(this.classification.text,'";'),"--classification-font-color:".concat(this.classification.fontColor,";"),"--classification-background-color:".concat(this.classification.backgroundColor,";"),"--classification-height-top:".concat(this.classification.topHeight,"px;"),"--classification-height-bottom:".concat(this.classification.bottomHeight,"px;")].join("")}},created:function(){xe().f[2]++,xe().s[2]++,this.api=new kn,xe().s[3]++,this.load()},methods:{load:function(){var n=this;xe().f[3]++,xe().s[4]++,this.api.get_setting("classification_banner").then((function(t){xe().f[4]++,xe().s[5]++,t?(xe().b[0][0]++,xe().s[6]++,n.classification=JSON.parse(t)):xe().b[0][1]++}))}}},_e=u(3960),Se={};Se.styleTagTransform=zn(),Se.setAttributes=Mn(),Se.insert=In().bind(null,"head"),Se.domAPI=On(),Se.insertStyleElement=Un(),En()(_e.Z,Se),_e.Z&&_e.Z.locals&&_e.Z.locals;var Te=(0,pn.Z)(ke,void 0,void 0,!1,null,null,null);Te.options.__file="src/components/ClassificationBanners.vue";var Ne=Te.exports;function Ee(){var n="/openc3/plugins/openc3-tool-base/src/App.vue",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"dad5f1930479f94146fca397d480606034702136"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/App.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,sources:["App.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"App.vue",sourceRoot:"src",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n--\x3e\n\n<template>\n <v-app :style=\"classificationStyles\">\n <app-nav class=\"d-print-none\" />\n\n \x3c!-- Sizes your content based upon application components --\x3e\n <v-main>\n <v-container fluid>\n <div id=\"openc3-tool\"></div>\n <div><router-view /></div>\n </v-container>\n </v-main>\n <app-footer app class=\"d-print-none\" />\n <time-check />\n </v-app>\n</template>\n\n<script>\nimport AppFooter from './AppFooter'\nimport AppNav from './AppNav'\nimport TimeCheck from './components/TimeCheck'\nimport ClassificationBanners from './components/ClassificationBanners'\nexport default {\n components: {\n AppFooter,\n AppNav,\n TimeCheck,\n },\n mixins: [ClassificationBanners],\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"dad5f1930479f94146fca397d480606034702136"});var i=o[n];return Ee=function(){return i},i}Ee();var Be={components:{AppFooter:Gn,AppNav:me,TimeCheck:we},mixins:[Ne]},Oe=(0,pn.Z)(Be,t,[],!1,null,null,null);Oe.options.__file="src/App.vue";var De=Oe.exports,Ie=u(4688);function Re(){var n="/openc3/plugins/openc3-tool-base/src/router.js",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"bd1bb8ebbe6377126c15be74e2dd221353d4cc74"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/router.js",statementMap:{0:{start:{line:23,column:0},end:{line:23,column:15}},1:{start:{line:31,column:23},end:{line:31,column:51}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:31,column:17},end:{line:31,column:18}},loc:{start:{line:31,column:23},end:{line:31,column:51}},line:31}},branchMap:{},s:{0:0,1:0},f:{0:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"bd1bb8ebbe6377126c15be74e2dd221353d4cc74"});var i=o[n];return Re=function(){return i},i}Re(),Re().s[0]++,n.default.use(Ie.default);var Me=new Ie.default({mode:"history",base:void 0,routes:[{path:"/login",component:function(){return Re().f[0]++,Re().s[1]++,u.e(889).then(u.bind(u,4889))}}]}),Pe=u(9191);n.default.use(Pe.default),window.hasOwnProperty("OpenC3Store")||(window.OpenC3Store=new Pe.default.Store({state:{notifyHistory:[],tlmViewerItems:[],tlmViewerValues:{}},getters:{},mutations:{notifyAddHistory:function(n,t){n.notifyHistory.length>=100&&(n.notifyHistory.length=99),n.notifyHistory.unshift(t)},notifyClearHistory:function(n){n.notifyHistory=[]},tlmViewerUpdateValues:function(t,e){for(var o=0;o<e.length;o++)n.default.set(t.tlmViewerValues,t.tlmViewerItems[o],e[o])},tlmViewerAddItem:function(t,e){t.tlmViewerItems.push(e),n.default.set(t.tlmViewerValues,e,[null,null])},tlmViewerDeleteItem:function(n,t){var e=n.tlmViewerItems.indexOf(t);n.tlmViewerItems.splice(e,1),delete n.tlmViewerValues[t]}},modules:{}}));var Ue=window.OpenC3Store,Fe=(u(7861),u(9731));function ze(){var n="/openc3/plugins/openc3-tool-base/src/plugins/vuetify.js",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"1e74846ce649fd5e77c4a4792c7d1620be397d94"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/plugins/vuetify.js",statementMap:{0:{start:{line:24,column:0},end:{line:24,column:16}}},fnMap:{},branchMap:{},s:{0:0},f:{},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"1e74846ce649fd5e77c4a4792c7d1620be397d94"});var i=o[n];return ze=function(){return i},i}function $e(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),e.push.apply(e,o)}return e}ze(),ze().s[0]++,n.default.use(Fe.default);var Le=new Fe.default({theme:{dark:!0,options:{customProperties:!0},themes:{dark:{primary:"#005a8f",secondary:"#4dacff",tertiary:"#283f58"},light:{primary:"#cce6ff",secondary:"#cce6ff"}}},icons:{values:function(n){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?$e(Object(e),!0).forEach((function(t){(0,Tt.Z)(n,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):$e(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}({},At)}}),je=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("v-badge",{attrs:{color:"transparent",left:"",inline:n.inline,"offset-x":n.offsetX,"offset-y":n.offsetY+12},scopedSlots:n._u([{key:"badge",fn:function(){return[e("astro-status-indicator",{attrs:{status:n.status,small:""}})]},proxy:!0}])},[n._v(" "),n._t("default")],2)};je._withStripped=!0;var Ge=function(){var n=this,t=n.$createElement;return(n._self._c||t)("div",{style:n.iconStyle})};Ge._withStripped=!0;var He=u(8981),We=(u(3224),{props:{status:{type:String,required:!0,validator:function(n){return mt.includes(n)}},large:{type:Boolean},small:{type:Boolean},scale:{type:Number}},computed:{icons:function(){return He},scaleFactor:function(){return this.scale?this.scale:this.large?1:this.small?.3:.5},iconStyle:function(){var n=192*this.scaleFactor,t=32*this.scaleFactor,e=32*this.scaleFactor,o=mt.indexOf(this.status);return["background-image: url(".concat(this.icons,");"),"background-position-x: -".concat(o*e,"px;"),"background-size: ".concat(n,"px ").concat(t,"px;"),"height: ".concat(e,"px;"),"width: ".concat(e,"px;")].join("")}}}),Ye=(0,pn.Z)(We,Ge,[],!1,null,null,null);Ye.options.__file="packages/openc3-tool-common/src/components/icons/AstroStatusIndicator.vue";var qe=Ye.exports,Je={components:{AstroStatusIndicator:qe},props:{status:{type:String,required:!0},offsetX:{type:[Number,String]},offsetY:{type:[Number,String],default:0},inline:{type:Boolean}}},Xe=(0,pn.Z)(Je,je,[],!1,null,null,null);Xe.options.__file="packages/openc3-tool-common/src/components/icons/AstroBadge.vue";var Ze=Xe.exports,Ve=function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("astro-badge",{attrs:{status:n.status}},[e("v-icon",{attrs:{color:n.color||n.statusColor}},[n.$slots.default?n._t("default"):[n._v(" "+n._s(n.icon)+" ")]],2)],1)};Ve._withStripped=!0;var Qe={components:{AstroBadge:Ze},props:{status:{type:String,required:!0},icon:{type:String},color:{type:String}},computed:{statusColor:function(){return pt[this.status]}}},Ke=(0,pn.Z)(Qe,Ve,[],!1,null,null,null);Ke.options.__file="packages/openc3-tool-common/src/components/icons/AstroBadgeIcon.vue";var no=Ke.exports;function to(){var n="/openc3/plugins/openc3-tool-base/src/openc3-tool-base.js",t=new Function("return this")(),e="__coverage__",o=t[e]||(t[e]={});o[n]&&"3b8eb36a12fc8a3fc475106f6027c5e6888c87a4"===o[n].hash||(o[n]={path:"/openc3/plugins/openc3-tool-base/src/openc3-tool-base.js",statementMap:{0:{start:{line:5,column:0},end:{line:5,column:32}},1:{start:{line:15,column:0},end:{line:15,column:40}},2:{start:{line:16,column:0},end:{line:16,column:49}},3:{start:{line:17,column:0},end:{line:17,column:61}},4:{start:{line:19,column:16},end:{line:19,column:43}},5:{start:{line:20,column:0},end:{line:27,column:2}},6:{start:{line:21,column:2},end:{line:26,column:27}},7:{start:{line:25,column:19},end:{line:25,column:25}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:20,column:30},end:{line:20,column:31}},loc:{start:{line:20,column:36},end:{line:27,column:1}},line:20},1:{name:"(anonymous_1)",decl:{start:{line:25,column:12},end:{line:25,column:13}},loc:{start:{line:25,column:19},end:{line:25,column:25}},line:25}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3b8eb36a12fc8a3fc475106f6027c5e6888c87a4"});var i=o[n];return to=function(){return i},i}to(),to().s[0]++,n.default.config.productionTip=!1,to().s[1]++,n.default.component("astro-badge",Ze),to().s[2]++,n.default.component("astro-badge-icon",no),to().s[3]++,n.default.component("astro-status-indicator",qe);var eo=(to().s[4]++,OpenC3Auth.getInitOptions());to().s[5]++,OpenC3Auth.init(eo).then((function(){to().f[0]++,to().s[6]++,new n.default({router:Me,store:Ue,vuetify:Le,render:function(n){return to().f[1]++,to().s[7]++,n(De)}}).$mount("#openc3-main")}))}(),d}())}}}));
|
2
|
+
//# sourceMappingURL=openc3-tool-base.js.map
|