openc3-tool-base 5.10.1 → 5.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
- System.register(["vue","single-spa","vue-router","vuex","vuetify"],(function(t,n){var e={},o={},i={},r={},a={};return{setters:[function(t){e.default=t.default},function(t){o.registerApplication=t.registerApplication,o.start=t.start},function(t){i.default=t.default},function(t){r.default=t.default},function(t){a.default=t.default}],execute:function(){t(function(){var t,s,l={4206:function(t,n,e){t.exports=e(8057)},4387:function(t,n,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(4832),d=e(7354),p=e(8870),f=e(4906);t.exports=function(t){return new Promise((function(n,e){var A,h=t.data,m=t.headers,g=t.responseType;function v(){t.cancelToken&&t.cancelToken.unsubscribe(A),t.signal&&t.signal.removeEventListener("abort",A)}o.isFormData(h)&&o.isStandardBrowserEnv()&&delete m["Content-Type"];var b=new XMLHttpRequest;if(t.auth){var y=t.auth.username||"",C=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";m.Authorization="Basic "+btoa(y+":"+C)}var w=s(t.baseURL,t.url);function k(){if(b){var o="getAllResponseHeaders"in b?l(b.getAllResponseHeaders()):null,r={data:g&&"text"!==g&&"json"!==g?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:o,config:t,request:b};i((function(t){n(t),v()}),(function(t){e(t),v()}),r),b=null}}if(b.open(t.method.toUpperCase(),a(w,t.params,t.paramsSerializer),!0),b.timeout=t.timeout,"onloadend"in b?b.onloadend=k:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(k)},b.onabort=function(){b&&(e(new d("Request aborted",d.ECONNABORTED,t,b)),b=null)},b.onerror=function(){e(new d("Network Error",d.ERR_NETWORK,t,b,b)),b=null},b.ontimeout=function(){var n=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",o=t.transitional||u;t.timeoutErrorMessage&&(n=t.timeoutErrorMessage),e(new d(n,o.clarifyTimeoutError?d.ETIMEDOUT:d.ECONNABORTED,t,b)),b=null},o.isStandardBrowserEnv()){var x=(t.withCredentials||c(w))&&t.xsrfCookieName?r.read(t.xsrfCookieName):void 0;x&&(m[t.xsrfHeaderName]=x)}"setRequestHeader"in b&&o.forEach(m,(function(t,n){void 0===h&&"content-type"===n.toLowerCase()?delete m[n]:b.setRequestHeader(n,t)})),o.isUndefined(t.withCredentials)||(b.withCredentials=!!t.withCredentials),g&&"json"!==g&&(b.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&b.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(A=function(t){b&&(e(!t||t&&t.type?new p:t),b.abort(),b=null)},t.cancelToken&&t.cancelToken.subscribe(A),t.signal&&(t.signal.aborted?A():t.signal.addEventListener("abort",A))),h||(h=null);var _=f(w);_&&-1===["http","https","file"].indexOf(_)?e(new d("Unsupported protocol "+_+":",d.ERR_BAD_REQUEST,t)):b.send(h)}))}},8057:function(t,n,e){"use strict";var o=e(7485),i=e(875),r=e(5029),a=e(4941),s=function t(n){var e=new r(n),s=i(r.prototype.request,e);return o.extend(s,r.prototype,e),o.extend(s,e),s.create=function(e){return t(a(n,e))},s}(e(8396));s.Axios=r,s.CanceledError=e(8870),s.CancelToken=e(4603),s.isCancel=e(1475),s.VERSION=e(3345).version,s.toFormData=e(1020),s.AxiosError=e(7354),s.Cancel=s.CanceledError,s.all=function(t){return Promise.all(t)},s.spread=e(5739),s.isAxiosError=e(5835),t.exports=s,t.exports.default=s},4603:function(t,n,e){"use strict";var o=e(8870);function i(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var n;this.promise=new Promise((function(t){n=t}));var e=this;this.promise.then((function(t){if(e._listeners){var n,o=e._listeners.length;for(n=0;n<o;n++)e._listeners[n](t);e._listeners=null}})),this.promise.then=function(t){var n,o=new Promise((function(t){e.subscribe(t),n=t})).then(t);return o.cancel=function(){e.unsubscribe(n)},o},t((function(t){e.reason||(e.reason=new o(t),n(e.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.prototype.subscribe=function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]},i.prototype.unsubscribe=function(t){if(this._listeners){var n=this._listeners.indexOf(t);-1!==n&&this._listeners.splice(n,1)}},i.source=function(){var t;return{token:new i((function(n){t=n})),cancel:t}},t.exports=i},8870:function(t,n,e){"use strict";var o=e(7354);function i(t){o.call(this,null==t?"canceled":t,o.ERR_CANCELED),this.name="CanceledError"}e(7485).inherits(i,o,{__CANCEL__:!0}),t.exports=i},1475:function(t){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},5029:function(t,n,e){"use strict";var o=e(7485),i=e(581),r=e(8096),a=e(5009),s=e(4941),l=e(574),c=e(6144),u=c.validators;function d(t){this.defaults=t,this.interceptors={request:new r,response:new r}}d.prototype.request=function(t,n){"string"==typeof t?(n=n||{}).url=t:n=t||{},(n=s(this.defaults,n)).method?n.method=n.method.toLowerCase():this.defaults.method?n.method=this.defaults.method.toLowerCase():n.method="get";var e=n.transitional;void 0!==e&&c.assertOptions(e,{silentJSONParsing:u.transitional(u.boolean),forcedJSONParsing:u.transitional(u.boolean),clarifyTimeoutError:u.transitional(u.boolean)},!1);var o=[],i=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(n)||(i=i&&t.synchronous,o.unshift(t.fulfilled,t.rejected))}));var r,l=[];if(this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)})),!i){var d=[a,void 0];for(Array.prototype.unshift.apply(d,o),d=d.concat(l),r=Promise.resolve(n);d.length;)r=r.then(d.shift(),d.shift());return r}for(var p=n;o.length;){var f=o.shift(),A=o.shift();try{p=f(p)}catch(t){A(t);break}}try{r=a(p)}catch(t){return Promise.reject(t)}for(;l.length;)r=r.then(l.shift(),l.shift());return r},d.prototype.getUri=function(t){t=s(this.defaults,t);var n=l(t.baseURL,t.url);return i(n,t.params,t.paramsSerializer)},o.forEach(["delete","get","head","options"],(function(t){d.prototype[t]=function(n,e){return this.request(s(e||{},{method:t,url:n,data:(e||{}).data}))}})),o.forEach(["post","put","patch"],(function(t){function n(n){return function(e,o,i){return this.request(s(i||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:e,data:o}))}}d.prototype[t]=n(),d.prototype[t+"Form"]=n(!0)})),t.exports=d},7354:function(t,n,e){"use strict";var o=e(7485);function i(t,n,e,o,i){Error.call(this),this.message=t,this.name="AxiosError",n&&(this.code=n),e&&(this.config=e),o&&(this.request=o),i&&(this.response=i)}o.inherits(i,Error,{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}}});var r=i.prototype,a={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach((function(t){a[t]={value:t}})),Object.defineProperties(i,a),Object.defineProperty(r,"isAxiosError",{value:!0}),i.from=function(t,n,e,a,s,l){var c=Object.create(r);return o.toFlatObject(t,c,(function(t){return t!==Error.prototype})),i.call(c,t.message,n,e,a,s),c.name=t.name,l&&Object.assign(c,l),c},t.exports=i},8096:function(t,n,e){"use strict";var o=e(7485);function i(){this.handlers=[]}i.prototype.use=function(t,n,e){return this.handlers.push({fulfilled:t,rejected:n,synchronous:!!e&&e.synchronous,runWhen:e?e.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){o.forEach(this.handlers,(function(n){null!==n&&t(n)}))},t.exports=i},574:function(t,n,e){"use strict";var o=e(2642),i=e(2288);t.exports=function(t,n){return t&&!o(n)?i(t,n):n}},5009:function(t,n,e){"use strict";var o=e(7485),i=e(9212),r=e(1475),a=e(8396),s=e(8870);function l(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new s}t.exports=function(t){return l(t),t.headers=t.headers||{},t.data=i.call(t,t.data,t.headers,t.transformRequest),t.headers=o.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),o.forEach(["delete","get","head","post","put","patch","common"],(function(n){delete t.headers[n]})),(t.adapter||a.adapter)(t).then((function(n){return l(t),n.data=i.call(t,n.data,n.headers,t.transformResponse),n}),(function(n){return r(n)||(l(t),n&&n.response&&(n.response.data=i.call(t,n.response.data,n.response.headers,t.transformResponse))),Promise.reject(n)}))}},4941:function(t,n,e){"use strict";var o=e(7485);t.exports=function(t,n){n=n||{};var e={};function i(t,n){return o.isPlainObject(t)&&o.isPlainObject(n)?o.merge(t,n):o.isPlainObject(n)?o.merge({},n):o.isArray(n)?n.slice():n}function r(e){return o.isUndefined(n[e])?o.isUndefined(t[e])?void 0:i(void 0,t[e]):i(t[e],n[e])}function a(t){if(!o.isUndefined(n[t]))return i(void 0,n[t])}function s(e){return o.isUndefined(n[e])?o.isUndefined(t[e])?void 0:i(void 0,t[e]):i(void 0,n[e])}function l(e){return e in n?i(t[e],n[e]):e in t?i(void 0,t[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,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:l};return o.forEach(Object.keys(t).concat(Object.keys(n)),(function(t){var n=c[t]||r,i=n(t);o.isUndefined(i)&&n!==l||(e[t]=i)})),e}},4570:function(t,n,e){"use strict";var o=e(7354);t.exports=function(t,n,e){var i=e.config.validateStatus;e.status&&i&&!i(e.status)?n(new o("Request failed with status code "+e.status,[o.ERR_BAD_REQUEST,o.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e)):t(e)}},9212:function(t,n,e){"use strict";var o=e(7485),i=e(8396);t.exports=function(t,n,e){var r=this||i;return o.forEach(e,(function(e){t=e.call(r,t,n)})),t}},8396:function(t,n,e){"use strict";var o=e(7485),i=e(1446),r=e(7354),a=e(4832),s=e(1020),l={"Content-Type":"application/x-www-form-urlencoded"};function c(t,n){!o.isUndefined(t)&&o.isUndefined(t["Content-Type"])&&(t["Content-Type"]=n)}var u,d={transitional:a,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(u=e(4387)),u),transformRequest:[function(t,n){if(i(n,"Accept"),i(n,"Content-Type"),o.isFormData(t)||o.isArrayBuffer(t)||o.isBuffer(t)||o.isStream(t)||o.isFile(t)||o.isBlob(t))return t;if(o.isArrayBufferView(t))return t.buffer;if(o.isURLSearchParams(t))return c(n,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var e,r=o.isObject(t),a=n&&n["Content-Type"];if((e=o.isFileList(t))||r&&"multipart/form-data"===a){var l=this.env&&this.env.FormData;return s(e?{"files[]":t}:t,l&&new l)}return r||"application/json"===a?(c(n,"application/json"),function(t,n,e){if(o.isString(t))try{return(0,JSON.parse)(t),o.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var n=this.transitional||d.transitional,e=n&&n.silentJSONParsing,i=n&&n.forcedJSONParsing,a=!e&&"json"===this.responseType;if(a||i&&o.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(a){if("SyntaxError"===t.name)throw r.from(t,r.ERR_BAD_RESPONSE,this,null,this.response);throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:e(8750)},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],(function(t){d.headers[t]={}})),o.forEach(["post","put","patch"],(function(t){d.headers[t]=o.merge(l)})),t.exports=d},4832:function(t){"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},3345:function(t){t.exports={version:"0.27.2"}},875:function(t){"use strict";t.exports=function(t,n){return function(){for(var e=new Array(arguments.length),o=0;o<e.length;o++)e[o]=arguments[o];return t.apply(n,e)}}},581:function(t,n,e){"use strict";var o=e(7485);function i(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,n,e){if(!n)return t;var r;if(e)r=e(n);else if(o.isURLSearchParams(n))r=n.toString();else{var a=[];o.forEach(n,(function(t,n){null!=t&&(o.isArray(t)?n+="[]":t=[t],o.forEach(t,(function(t){o.isDate(t)?t=t.toISOString():o.isObject(t)&&(t=JSON.stringify(t)),a.push(i(n)+"="+i(t))})))})),r=a.join("&")}if(r){var s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+r}return t}},2288:function(t){"use strict";t.exports=function(t,n){return n?t.replace(/\/+$/,"")+"/"+n.replace(/^\/+/,""):t}},2940:function(t,n,e){"use strict";var o=e(7485);t.exports=o.isStandardBrowserEnv()?{write:function(t,n,e,i,r,a){var s=[];s.push(t+"="+encodeURIComponent(n)),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(t){var n=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},2642:function(t){"use strict";t.exports=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}},5835:function(t,n,e){"use strict";var o=e(7485);t.exports=function(t){return o.isObject(t)&&!0===t.isAxiosError}},8338:function(t,n,e){"use strict";var o=e(7485);t.exports=o.isStandardBrowserEnv()?function(){var t,n=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");function i(t){var o=t;return n&&(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 t=i(window.location.href),function(n){var e=o.isString(n)?i(n):n;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0}},1446:function(t,n,e){"use strict";var o=e(7485);t.exports=function(t,n){o.forEach(t,(function(e,o){o!==n&&o.toUpperCase()===n.toUpperCase()&&(t[n]=e,delete t[o])}))}},8750:function(t){t.exports=null},3845:function(t,n,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"];t.exports=function(t){var n,e,r,a={};return t?(o.forEach(t.split("\n"),(function(t){if(r=t.indexOf(":"),n=o.trim(t.substr(0,r)).toLowerCase(),e=o.trim(t.substr(r+1)),n){if(a[n]&&i.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([e]):a[n]?a[n]+", "+e:e}})),a):a}},4906:function(t){"use strict";t.exports=function(t){var n=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return n&&n[1]||""}},5739:function(t){"use strict";t.exports=function(t){return function(n){return t.apply(null,n)}}},1020:function(t,n,e){"use strict";var o=e(7485);t.exports=function(t,n){n=n||new FormData;var e=[];function i(t){return null===t?"":o.isDate(t)?t.toISOString():o.isArrayBuffer(t)||o.isTypedArray(t)?"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}return function t(r,a){if(o.isPlainObject(r)||o.isArray(r)){if(-1!==e.indexOf(r))throw Error("Circular reference detected in "+a);e.push(r),o.forEach(r,(function(e,r){if(!o.isUndefined(e)){var s,l=a?a+"."+r:r;if(e&&!a&&"object"==typeof e)if(o.endsWith(r,"{}"))e=JSON.stringify(e);else if(o.endsWith(r,"[]")&&(s=o.toArray(e)))return void s.forEach((function(t){!o.isUndefined(t)&&n.append(l,i(t))}));t(e,l)}})),e.pop()}else n.append(a,i(r))}(t),n}},6144:function(t,n,e){"use strict";var o=e(3345).version,i=e(7354),r={};["object","boolean","number","function","string","symbol"].forEach((function(t,n){r[t]=function(e){return typeof e===t||"a"+(n<1?"n ":" ")+t}}));var a={};r.transitional=function(t,n,e){function r(t,n){return"[Axios v"+o+"] Transitional option '"+t+"'"+n+(e?". "+e:"")}return function(e,o,s){if(!1===t)throw new i(r(o," has been removed"+(n?" in "+n:"")),i.ERR_DEPRECATED);return n&&!a[o]&&(a[o]=!0,console.warn(r(o," has been deprecated since v"+n+" and will be removed in the near future"))),!t||t(e,o,s)}},t.exports={assertOptions:function(t,n,e){if("object"!=typeof t)throw new i("options must be an object",i.ERR_BAD_OPTION_VALUE);for(var o=Object.keys(t),r=o.length;r-- >0;){var a=o[r],s=n[a];if(s){var l=t[a],c=void 0===l||s(l,a,t);if(!0!==c)throw new i("option "+a+" must be "+c,i.ERR_BAD_OPTION_VALUE)}else if(!0!==e)throw new i("Unknown option "+a,i.ERR_BAD_OPTION)}},validators:r}},7485:function(t,n,e){"use strict";var o,i=e(875),r=Object.prototype.toString,a=(o=Object.create(null),function(t){var n=r.call(t);return o[n]||(o[n]=n.slice(8,-1).toLowerCase())});function s(t){return t=t.toLowerCase(),function(n){return a(n)===t}}function l(t){return Array.isArray(t)}function c(t){return void 0===t}var u=s("ArrayBuffer");function d(t){return null!==t&&"object"==typeof t}function p(t){if("object"!==a(t))return!1;var n=Object.getPrototypeOf(t);return null===n||n===Object.prototype}var f=s("Date"),A=s("File"),h=s("Blob"),m=s("FileList");function g(t){return"[object Function]"===r.call(t)}var v=s("URLSearchParams");function b(t,n){if(null!=t)if("object"!=typeof t&&(t=[t]),l(t))for(var e=0,o=t.length;e<o;e++)n.call(null,t[e],e,t);else for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&n.call(null,t[i],i,t)}var y,C=(y="undefined"!=typeof Uint8Array&&Object.getPrototypeOf(Uint8Array),function(t){return y&&t instanceof y});t.exports={isArray:l,isArrayBuffer:u,isBuffer:function(t){return null!==t&&!c(t)&&null!==t.constructor&&!c(t.constructor)&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)},isFormData:function(t){var n="[object FormData]";return t&&("function"==typeof FormData&&t instanceof FormData||r.call(t)===n||g(t.toString)&&t.toString()===n)},isArrayBufferView:function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&u(t.buffer)},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isObject:d,isPlainObject:p,isUndefined:c,isDate:f,isFile:A,isBlob:h,isFunction:g,isStream:function(t){return d(t)&&g(t.pipe)},isURLSearchParams:v,isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:b,merge:function t(){var n={};function e(e,o){p(n[o])&&p(e)?n[o]=t(n[o],e):p(e)?n[o]=t({},e):l(e)?n[o]=e.slice():n[o]=e}for(var o=0,i=arguments.length;o<i;o++)b(arguments[o],e);return n},extend:function(t,n,e){return b(n,(function(n,o){t[o]=e&&"function"==typeof n?i(n,e):n})),t},trim:function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t},inherits:function(t,n,e,o){t.prototype=Object.create(n.prototype,o),t.prototype.constructor=t,e&&Object.assign(t.prototype,e)},toFlatObject:function(t,n,e){var o,i,r,a={};n=n||{};do{for(i=(o=Object.getOwnPropertyNames(t)).length;i-- >0;)a[r=o[i]]||(n[r]=t[r],a[r]=!0);t=Object.getPrototypeOf(t)}while(t&&(!e||e(t,n))&&t!==Object.prototype);return n},kindOf:a,kindOfTest:s,endsWith:function(t,n,e){t=String(t),(void 0===e||e>t.length)&&(e=t.length),e-=n.length;var o=t.indexOf(n,e);return-1!==o&&o===e},toArray:function(t){if(!t)return null;var n=t.length;if(c(n))return null;for(var e=new Array(n);n-- >0;)e[n]=t[n];return e},isTypedArray:C,isFileList:m}},9554:function(t,n,e){"use strict";var o=e(4649),i=e(7791),r=e(6966);function a(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}function s(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?a(Object(e),!0).forEach((function(n){(0,o.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):a(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}var l=function(){var t=(0,i.Z)(regeneratorRuntime.mark((function t(n,e){var o,i,a,s,l,c,u,d,p,f=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=(o=f.length>2&&void 0!==f[2]?f[2]:{}).data,a=o.params,s=void 0===a?{}:a,l=o.headers,c=o.noAuth,u=void 0!==c&&c,d=o.noScope,p=void 0!==d&&d,u){t.next=13;break}return t.prev=2,t.next=5,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 5:t.sent&&OpenC3Auth.setTokens(),t.next=12;break;case 9:t.prev=9,t.t0=t.catch(2),OpenC3Auth.login();case 12:l.Authorization=localStorage.openc3Token;case 13:return p||s.scope||(s.scope=window.openc3Scope),t.abrupt("return",(0,r.Z)({method:n,url:e,data:i,params:s,headers:l}));case 15:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(n,e){return t.apply(this,arguments)}}(),c={Accept:"application/json"},u=s(s({},c),{},{"Content-Type":"application/json"});n.Z={get:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.params,o=n.headers,i=void 0===o?c:o,r=n.noScope,a=n.noAuth;return l("get",t,{params:e,headers:i,noScope:r,noAuth:a})},put:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.data,o=n.params,i=n.headers,r=void 0===i?u:i,a=n.noScope,s=n.noAuth;return l("put",t,{data:e,params:o,headers:r,noScope:a,noAuth:s})},post:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.data,o=n.params,i=n.headers,r=void 0===i?u:i,a=n.noScope,s=n.noAuth;return l("post",t,{data:e,params:o,headers:r,noScope:a,noAuth:s})},delete:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.params,o=n.headers,i=void 0===o?c:o,r=n.noScope,a=n.noAuth;return l("delete",t,{params:e,headers:i,noScope:r,noAuth:a})}}},6966:function(t,n,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(t){return t}),(function(t){if(t.response){var n,e,o,i,a;if(401===t.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(t){t&&OpenC3Auth.setTokens()})),t.response.headers["ignore-errors"]&&t.response.headers["ignore-errors"].includes(t.response.status.toString()))return Promise.reject(t);var s="HTTP ".concat(t.response.status," - ");if(null!==(n=t.response)&&void 0!==n&&n.statusText&&(s+="".concat(t.response.statusText," ")),null!==(e=t.response)&&void 0!==e&&null!==(e=e.config)&&void 0!==e&&e.data&&(s+="".concat(t.response.config.data," ")),null!==(o=t.response)&&void 0!==o&&null!==(o=o.data)&&void 0!==o&&o.message)s+="".concat(t.response.data.message);else if(null!==(i=t.response)&&void 0!==i&&null!==(i=i.data)&&void 0!==i&&i.exception)s+="".concat(t.response.data.exception);else if(null!==(a=t.response)&&void 0!==a&&null!==(a=a.data)&&void 0!==a&&null!==(a=a.error)&&void 0!==a&&a.message)t.response.data.error.class&&(s+="".concat(t.response.data.error.class," ")),s+="".concat(t.response.data.error.message);else{var l;s+="".concat(null===(l=t.response)||void 0===l?void 0:l.data)}throw r.$notify&&r.$notify.serious({title:"Network error",body:s}),t}throw t})),n.Z=a},143:function(t,n,e){"use strict";e.r(n);var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,'.splash-screen{width:100%;height:100%;position:fixed;background:#001724;background:-moz-linear-gradient(left, #001724 0%, #001724 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, #001724), color-stop(100%, #001724));background:-webkit-linear-gradient(left, #001724 0%, #001724 100%);background:-o-linear-gradient(left, #001724 0%, #001724 100%);background:-ms-linear-gradient(left, #001724 0%, #001724 100%);background:linear-gradient(to right, #001724 0%, #001724 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, #001724 0%, #001724 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, #001724), color-stop(100%, #001724));background:-webkit-linear-gradient(left, #001724 0%, #001724 100%);background:-o-linear-gradient(left, #001724 0%, #001724 100%);background:-ms-linear-gradient(left, #001724 0%, #001724 100%);background:linear-gradient(to right, #001724 0%, #001724 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:transparent;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, #001724 0%, #003656 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #001724), color-stop(100%, #003656));background:-webkit-linear-gradient(top, #001724 0%, #003656 100%);background:-o-linear-gradient(top, #001724 0%, #003656 100%);background:-ms-linear-gradient(top, #001724 0%, #003656 100%);background:linear-gradient(to bottom, #001724 0%, #003656 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:transparent;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:#00c800 !important}.openc3-yellow{color:#ffdc00 !important}.openc3-red{color:#ff2d2d !important}.openc3-blue{color:#09f !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,+DC2BhB,CAAA,4GACA,CAAA,kEACA,CAAA,6DACA,CAAA,8DACA,CAAA,8DACA,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,+DC2BhB,CAAA,4GACA,CAAA,kEACA,CAAA,6DACA,CAAA,8DACA,CAAA,8DACA,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,sBGqEH,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,8DCyBnB,CAAA,8GACA,CAAA,iEACA,CAAA,4DACA,CAAA,6DACA,CAAA,+DACA,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,sBACA,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,wBACE,CAAA,aAEF,qBACE,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, #001724 0%, #001724 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, #001724), color-stop(100%, #001724));background:-webkit-linear-gradient(left, #001724 0%, #001724 100%);background:-o-linear-gradient(left, #001724 0%, #001724 100%);background:-ms-linear-gradient(left, #001724 0%, #001724 100%);background:linear-gradient(to right, #001724 0%, #001724 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, #001724 0%, #001724 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, #001724), color-stop(100%, #001724));background:-webkit-linear-gradient(left, #001724 0%, #001724 100%);background:-o-linear-gradient(left, #001724 0%, #001724 100%);background:-ms-linear-gradient(left, #001724 0%, #001724 100%);background:linear-gradient(to right, #001724 0%, #001724 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:transparent;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, #001724 0%, #003656 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #001724), color-stop(100%, #003656));background:-webkit-linear-gradient(top, #001724 0%, #003656 100%);background:-o-linear-gradient(top, #001724 0%, #003656 100%);background:-ms-linear-gradient(top, #001724 0%, #003656 100%);background:linear-gradient(to bottom, #001724 0%, #003656 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:transparent;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:#00c800 !important}.openc3-yellow{color:#ffdc00 !important}.openc3-red{color:#ff2d2d !important}.openc3-blue{color:#09f !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, 200, 0) !important;\n}\n.openc3-yellow {\n color: rgb(255, 220, 0) !important;\n}\n.openc3-red {\n color: rgb(255, 45, 45) !important;\n}\n.openc3-blue {\n color: rgb(0, 153, 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:""}]),n.default=a},2980:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.logo[data-v-36f1a220] {\n float: right;\n margin: 15px;\n}\n.cosmos[data-v-36f1a220] {\n text-align: center;\n font-size: 18pt;\n}\n.reason[data-v-36f1a220] {\n font-weight: bold;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/components/UpgradeToEnterpriseDialog.vue"],names:[],mappings:";AAsFA;EACA,YAAA;EACA,YAAA;AACA;AACA;EACA,kBAAA;EACA,eAAA;AACA;AACA;EACA,iBAAA;AACA",sourcesContent:['\x3c!--\n# Copyright 2023 OpenC3, Inc.\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# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-dialog v-model="show" width="650px">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Upgrade to COSMOS Enterprise Edition </span>\n <v-spacer />\n </v-system-bar>\n <v-card-text class="mt-2">\n <div class="logo">\n <img :src="logo" alt="OpenC3" />\n <div class="cosmos">Enterprise Edition</div>\n </div>\n <div class="pb-4">\n Thank you for using the COSMOS Open Source Edition!\n </div>\n <div v-if="reason">\n <div class="pb-4 pl-4 reason">\n {{ reason }}\n </div>\n </div>\n COSMOS Enterprise Edition removes all restrictions and offers users with\n role based access control, scaling on kubernetes, cloud platform\n support, multiple scopes, various integrations with common protocols and\n hardware, commercial licensing, and much more!<br /><br />\n Learn more at\n <a href="https://openc3.com/enterprise"\n >https://openc3.com/enterprise</a\n >\n and help support COSMOS Open Source by supporting our business. Contact\n us at <a href="mailto:support@openc3.com">support@openc3.com</a> for\n more information about Enterprise Edition, COSMOS training, COSMOS\n support, and custom COSMOS development.\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn class="mx-2" color="primary" @click="show = !show"> Ok </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport logo from \'../../public/img/logo.png\'\n\nexport default {\n props: {\n value: Boolean, // value is the default prop when using v-model\n reason: String,\n },\n data() {\n return {\n logo: logo,\n }\n },\n computed: {\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit(\'input\', value) // input is the default event when using v-model\n },\n },\n },\n}\n<\/script>\n<style scoped>\n.logo {\n float: right;\n margin: 15px;\n}\n.cosmos {\n text-align: center;\n font-size: 18pt;\n}\n.reason {\n font-weight: bold;\n}\n</style>\n'],sourceRoot:""}]),n.Z=a},3838:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.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:";AAgDA;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#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\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:""}]),n.Z=a},4829:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.base[data-v-1f2e2c8b] {\n margin-left: 5px;\n cursor: pointer;\n}\n.enterprise[data-v-1f2e2c8b] {\n margin-left: 5px;\n}\n#footer[data-v-1f2e2c8b] {\n z-index: 1000; /* On TOP! */\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/AppFooter.vue"],names:[],mappings:";AAuGA;EACA,gBAAA;EACA,eAAA;AACA;AACA;EACA,gBAAA;AACA;AACA;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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-footer id=\"footer\" app color=\"tertiary darken-3\" height=\"33\">\n <img :src=\"icon\" alt=\"OpenC3\" />\n <span :class=\"footerClass\" @click=\"upgrade\"\n >OpenC3 {{ edition }} {{ version }} &copy; 2023 - License:\n {{ license }}</span\n >\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 <upgrade-to-enterprise-dialog\n v-model=\"showUpgradeToEnterpriseDialog\"\n ></upgrade-to-enterprise-dialog>\n </v-footer>\n</template>\n\n<script>\nimport ClockFooter from './components/ClockFooter.vue'\nimport Api from '../../services/api'\nimport { OpenC3Api } from '../../services/openc3-api'\nimport icon from '../../../public/img/icon.png'\nimport UpgradeToEnterpriseDialog from '../../components/UpgradeToEnterpriseDialog'\n\nexport default {\n components: {\n ClockFooter,\n UpgradeToEnterpriseDialog,\n },\n data() {\n return {\n icon: icon,\n edition: '',\n enterprise: false,\n license: '',\n sourceUrl: '',\n version: '',\n showUpgradeToEnterpriseDialog: false,\n }\n },\n created: function () {\n this.getSourceUrl()\n Api.get(`/openc3-api/info`).then((response) => {\n console.log(response)\n if (response.data.enterprise) {\n this.edition = 'COSMOS Enterprise'\n } else {\n this.edition = 'COSMOS Open Source'\n }\n this.enterprise = response.data.enterprise\n this.license = response.data.license\n this.version = response.data.version\n })\n },\n computed: {\n footerClass() {\n if (this.enterprise) {\n return 'enterprise'\n } else {\n return 'base'\n }\n },\n },\n methods: {\n getSourceUrl: function () {\n new OpenC3Api().get_settings(['source_url']).then((response) => {\n this.sourceUrl = response[0]\n })\n },\n upgrade: function () {\n if (!this.enterprise) {\n this.showUpgradeToEnterpriseDialog = true\n }\n },\n },\n}\n<\/script>\n\n<style scoped>\n.base {\n margin-left: 5px;\n cursor: pointer;\n}\n.enterprise {\n margin-left: 5px;\n}\n#footer {\n z-index: 1000; /* On TOP! */\n}\n</style>\n"],sourceRoot:""}]),n.Z=a},6509:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.cosmos[data-v-00ae1763] {\n cursor: pointer;\n text-align: center;\n font-size: 18pt;\n}\ndiv a[data-v-00ae1763] {\n color: white;\n font-size: 16px;\n display: block;\n height: 100%;\n width: 100%;\n}\na.fixcenter[data-v-00ae1763] {\n display: flex;\n}\n.theme--dark.v-navigation-drawer[data-v-00ae1763] {\n background-color: var(--v-primary-darken2);\n}\n#openc3-app-toolbar .top-bar-divider-full-height[data-v-00ae1763] {\n margin: -4px 4px;\n min-height: calc(100% + 8px);\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/AppNav.vue"],names:[],mappings:";AA0QA;EACA,eAAA;EACA,kBAAA;EACA,eAAA;AACA;AACA;EACA,YAAA;EACA,eAAA;EACA,cAAA;EACA,YAAA;EACA,WAAA;AACA;AACA;EACA,aAAA;AACA;AACA;EACA,0CAAA;AACA;AACA;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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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\n style="\n margin-right: auto !important;\n margin-left: auto;\n margin-top: 0px;\n margin-bottom: 0px;\n "\n >\n <img :src="logo" alt="OpenC3" />\n </v-list-item-icon>\n </v-list-item>\n <div class="cosmos" @click="showUpgradeToEnterpriseDialog = true">\n COSMOS\n </div>\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 class="fixcenter"\n >\n Admin\n </v-btn>\n </div>\n </v-list-item-content>\n </v-list-item>\n <v-divider />\n <v-treeview\n :items="items"\n :open="initiallyOpen"\n item-key="name"\n dense\n open-on-click\n expand-icon=""\n >\n <template v-slot:prepend="{ item, open }">\n <v-icon v-if="!item.icon">\n {{ open ? \'mdi-chevron-down\' : \'mdi-chevron-right\' }}\n </v-icon>\n <a v-else :href="item.url" onclick="singleSpaNavigate(event)">\n <v-icon> {{ item.icon }} </v-icon>\n </a>\n </template>\n <template v-slot:label="{ item }">\n <a :href="item.url" onclick="singleSpaNavigate(event)">\n {{ item.name }}\n </a>\n </template>\n <template v-slot:append="{ item }">\n <a v-if="item.icon" :href="newTabUrl(item)" target="_blank">\n <v-icon>mdi-open-in-new</v-icon>\n </a>\n </template>\n </v-treeview>\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" data-test="alert-history">\n <alert-history />\n </div>\n <div class="justify-right" data-test="notifications">\n <notifications />\n </div>\n <div class="justify-right" data-test="user-menu"><user-menu /></div>\n </v-app-bar>\n <upgrade-to-enterprise-dialog\n v-model="showUpgradeToEnterpriseDialog"\n ></upgrade-to-enterprise-dialog>\n </div>\n</template>\n\n<script>\nimport Api from \'../../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\'\nimport UpgradeToEnterpriseDialog from \'../../components/UpgradeToEnterpriseDialog\'\n\nexport default {\n components: {\n ScopeSelector,\n AlertHistory,\n Notifications,\n UserMenu,\n UpgradeToEnterpriseDialog,\n },\n props: {\n edition: {\n type: String,\n default: \'\',\n },\n },\n data() {\n return {\n items: [],\n drawer: true,\n appNav: {},\n logo: logo,\n initiallyOpen: [],\n showUpgradeToEnterpriseDialog: false,\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 let id = 1\n // Register apps and start single-spa\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown) {\n if (\n this.appNav[key].category &&\n this.appNav[key].category !== \'Admin\'\n ) {\n // TODO: Make this initiallyOpen configurable like with a CATEGORY parameter?\n this.initiallyOpen.push(this.appNav[key].category)\n const result = this.items.filter(\n (item) => item.name === this.appNav[key].category\n )\n if (result.length === 0) {\n this.items.push({\n id: id,\n name: this.appNav[key].category,\n children: [\n {\n id: id + 1,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n },\n ],\n })\n id++\n } else {\n result[0].children.push({\n id: id,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n })\n }\n } else if (!this.appNav[key].category) {\n this.items.push({\n id: id,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n })\n }\n id++\n\n if (this.appNav[key].folder_name) {\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 }\n start({\n urlRerouteOnly: true,\n })\n\n // Redirect some base paths to the first tool\n if (\n window.location.pathname == \'/\' ||\n window.location.pathname == \'/tools\' ||\n window.location.pathname == \'/tools/\'\n ) {\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 // Check every minute if we need to update our token\n setInterval(() => {\n OpenC3Auth.updateToken(120).then(function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n })\n }, 60000)\n }\n )\n },\n methods: {\n newTabUrl(tool) {\n let url = null\n if (tool.url[0] == \'/\' && tool.url[1] != \'/\') {\n url = new URL(tool.url, window.location.origin)\n } else {\n url = new URL(tool.url)\n }\n url.searchParams.set(\'scope\', window.openc3Scope)\n return url.href\n },\n },\n}\n<\/script>\n\n<style scoped>\n.cosmos {\n cursor: pointer;\n text-align: center;\n font-size: 18pt;\n}\ndiv a {\n color: white;\n font-size: 16px;\n display: block;\n height: 100%;\n width: 100%;\n}\na.fixcenter {\n display: flex;\n}\n.theme--dark.v-navigation-drawer {\n background-color: var(--v-primary-darken2);\n}\n#openc3-app-toolbar .top-bar-divider-full-height {\n margin: -4px 4px;\n min-height: calc(100% + 8px);\n}\n</style>\n<style>\n/* Remove the padding on root level nodes since we removed the expand icon */\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__level {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__toggle {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview-node__children\n div.v-treeview-node__level:nth-child(1) {\n width: 0px;\n}\n</style>\n'],sourceRoot:""}]),n.Z=a},6716:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.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\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\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\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\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/* Remove the padding on root level nodes since we removed the expand icon */\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__level {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__toggle {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview-node__children\n div.v-treeview-node__level:nth-child(1) {\n width: 0px;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/AppNav.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkSA,4EAAA;AACA;;;;;EAKA,UAAA;AACA;AACA;;;;;EAKA,UAAA;AACA;AACA;;;EAGA,UAAA;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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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\n style="\n margin-right: auto !important;\n margin-left: auto;\n margin-top: 0px;\n margin-bottom: 0px;\n "\n >\n <img :src="logo" alt="OpenC3" />\n </v-list-item-icon>\n </v-list-item>\n <div class="cosmos" @click="showUpgradeToEnterpriseDialog = true">\n COSMOS\n </div>\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 class="fixcenter"\n >\n Admin\n </v-btn>\n </div>\n </v-list-item-content>\n </v-list-item>\n <v-divider />\n <v-treeview\n :items="items"\n :open="initiallyOpen"\n item-key="name"\n dense\n open-on-click\n expand-icon=""\n >\n <template v-slot:prepend="{ item, open }">\n <v-icon v-if="!item.icon">\n {{ open ? \'mdi-chevron-down\' : \'mdi-chevron-right\' }}\n </v-icon>\n <a v-else :href="item.url" onclick="singleSpaNavigate(event)">\n <v-icon> {{ item.icon }} </v-icon>\n </a>\n </template>\n <template v-slot:label="{ item }">\n <a :href="item.url" onclick="singleSpaNavigate(event)">\n {{ item.name }}\n </a>\n </template>\n <template v-slot:append="{ item }">\n <a v-if="item.icon" :href="newTabUrl(item)" target="_blank">\n <v-icon>mdi-open-in-new</v-icon>\n </a>\n </template>\n </v-treeview>\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" data-test="alert-history">\n <alert-history />\n </div>\n <div class="justify-right" data-test="notifications">\n <notifications />\n </div>\n <div class="justify-right" data-test="user-menu"><user-menu /></div>\n </v-app-bar>\n <upgrade-to-enterprise-dialog\n v-model="showUpgradeToEnterpriseDialog"\n ></upgrade-to-enterprise-dialog>\n </div>\n</template>\n\n<script>\nimport Api from \'../../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\'\nimport UpgradeToEnterpriseDialog from \'../../components/UpgradeToEnterpriseDialog\'\n\nexport default {\n components: {\n ScopeSelector,\n AlertHistory,\n Notifications,\n UserMenu,\n UpgradeToEnterpriseDialog,\n },\n props: {\n edition: {\n type: String,\n default: \'\',\n },\n },\n data() {\n return {\n items: [],\n drawer: true,\n appNav: {},\n logo: logo,\n initiallyOpen: [],\n showUpgradeToEnterpriseDialog: false,\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 let id = 1\n // Register apps and start single-spa\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown) {\n if (\n this.appNav[key].category &&\n this.appNav[key].category !== \'Admin\'\n ) {\n // TODO: Make this initiallyOpen configurable like with a CATEGORY parameter?\n this.initiallyOpen.push(this.appNav[key].category)\n const result = this.items.filter(\n (item) => item.name === this.appNav[key].category\n )\n if (result.length === 0) {\n this.items.push({\n id: id,\n name: this.appNav[key].category,\n children: [\n {\n id: id + 1,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n },\n ],\n })\n id++\n } else {\n result[0].children.push({\n id: id,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n })\n }\n } else if (!this.appNav[key].category) {\n this.items.push({\n id: id,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n })\n }\n id++\n\n if (this.appNav[key].folder_name) {\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 }\n start({\n urlRerouteOnly: true,\n })\n\n // Redirect some base paths to the first tool\n if (\n window.location.pathname == \'/\' ||\n window.location.pathname == \'/tools\' ||\n window.location.pathname == \'/tools/\'\n ) {\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 // Check every minute if we need to update our token\n setInterval(() => {\n OpenC3Auth.updateToken(120).then(function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n })\n }, 60000)\n }\n )\n },\n methods: {\n newTabUrl(tool) {\n let url = null\n if (tool.url[0] == \'/\' && tool.url[1] != \'/\') {\n url = new URL(tool.url, window.location.origin)\n } else {\n url = new URL(tool.url)\n }\n url.searchParams.set(\'scope\', window.openc3Scope)\n return url.href\n },\n },\n}\n<\/script>\n\n<style scoped>\n.cosmos {\n cursor: pointer;\n text-align: center;\n font-size: 18pt;\n}\ndiv a {\n color: white;\n font-size: 16px;\n display: block;\n height: 100%;\n width: 100%;\n}\na.fixcenter {\n display: flex;\n}\n.theme--dark.v-navigation-drawer {\n background-color: var(--v-primary-darken2);\n}\n#openc3-app-toolbar .top-bar-divider-full-height {\n margin: -4px 4px;\n min-height: calc(100% + 8px);\n}\n</style>\n<style>\n/* Remove the padding on root level nodes since we removed the expand icon */\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__level {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__toggle {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview-node__children\n div.v-treeview-node__level:nth-child(1) {\n width: 0px;\n}\n</style>\n'],sourceRoot:""}]),n.Z=a},2003:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.v-subheader[data-v-3d0e2e40] {\n height: 28px;\n}\n.v-badge[data-v-3d0e2e40] {\n width: 100%;\n}\n.overlay[data-v-3d0e2e40] {\n height: 100vh;\n width: 100vw;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/components/AlertHistory.vue"],names:[],mappings:";AA4KA;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#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\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 \'../../../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:""}]),n.Z=a},7650:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.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\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://./../packages/openc3-tool-common/src/tools/base/components/ClassificationBanners.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EA,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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<script>\nimport { OpenC3Api } from '../../../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\n .get_setting('classification_banner')\n .then((response) => {\n if (response) {\n this.classification = JSON.parse(response)\n }\n })\n .catch((error) => {\n // Do nothing\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:""}]),n.Z=a},1840:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.v-subheader[data-v-eda8ca60] {\n height: 28px;\n}\n.v-badge[data-v-eda8ca60] {\n width: 100%;\n}\n.overlay[data-v-eda8ca60] {\n height: 100vh;\n width: 100vw;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/components/Notifications.vue"],names:[],mappings:";AAiZA;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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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 class="ml-1"\n @click="clearNotifications"\n data-test="clear-notifications"\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\n icon\n @click="toggleSettingsDialog"\n class="ml-1"\n data-test="notification-settings"\n >\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 data-test="notification-list"\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 \'../../../components/icons\'\nimport {\n highestSeverity,\n orderBySeverity,\n groupBySeverity,\n} from \'../util/AstroStatus\'\nimport Cable from \'../../../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 let result = this.unreadNotifications.length\n if (result >= NOTIFICATION_HISTORY_MAX_LENGTH) {\n result += \'+\' // Indicate there are more\n }\n return result\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 window.openc3Scope,\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 (parsed) {\n this.cable.recordPing()\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:""}]),n.Z=a},6793:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.link[data-v-26b5fc12] {\n cursor: pointer;\n}\n.overlay[data-v-26b5fc12] {\n height: 100vh;\n width: 100vw;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/components/UserMenu.vue"],names:[],mappings:";AAgHA;EACA,eAAA;AACA;AACA;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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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 style="text-align: center; margin: 5px">{{ username }}</div>\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-if="username === \'Anonymous\'"\n @click="showUpgradeToEnterpriseDialog = true"\n class="pt-2 link"\n >\n Click to learn more about<br />\n COSMOS Enterprise Edition\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 <upgrade-to-enterprise-dialog\n v-model="showUpgradeToEnterpriseDialog"\n ></upgrade-to-enterprise-dialog>\n </div>\n</template>\n\n<script>\nimport UpgradeToEnterpriseDialog from \'../../../components/UpgradeToEnterpriseDialog\'\n\nexport default {\n components: {\n UpgradeToEnterpriseDialog,\n },\n props: {\n size: {\n type: [String, Number],\n default: 26,\n },\n },\n data: function () {\n let user = OpenC3Auth.user()\n return {\n showUserMenu: false,\n authenticated: !!localStorage.openc3Token,\n username: user[\'name\'],\n showUpgradeToEnterpriseDialog: false,\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.link {\n cursor: pointer;\n}\n.overlay {\n height: 100vh;\n width: 100vw;\n}\n</style>\n'],sourceRoot:""}]),n.Z=a},3645:function(t){"use strict";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?"@media ".concat(n[2]," {").concat(e,"}"):e})).join("")},n.i=function(t,e,o){"string"==typeof t&&(t=[[null,t,""]]);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<t.length;s++){var l=[].concat(t[s]);o&&i[l[0]]||(e&&(l[2]?l[2]="".concat(e," and ").concat(l[2]):l[2]=e),n.push(l))}},n}},4015:function(t){"use strict";function n(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var e,o,i=(o=4,function(t){if(Array.isArray(t))return t}(e=t)||function(t,n){var e=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=e){var o,i,r=[],a=!0,s=!1;try{for(e=e.call(t);!(a=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(s)throw i}}return r}}(e,o)||function(t,e){if(t){if("string"==typeof t)return n(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?n(t,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(t){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(t," */")}));return[r].concat(u).concat([c]).join("\n")}return[r].join("\n")}},3379:function(t){"use strict";var n=[];function e(t){for(var e=-1,o=0;o<n.length;o++)if(n[o].identifier===t){e=o;break}return e}function o(t,o){for(var r={},a=[],s=0;s<t.length;s++){var l=t[s],c=o.base?l[0]+o.base:l[0],u=r[c]||0,d="".concat(c," ").concat(u);r[c]=u+1;var p=e(d),f={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==p)n[p].references++,n[p].updater(f);else{var A=i(f,o);o.byIndex=s,n.splice(s,0,{identifier:d,updater:A,references:1})}a.push(d)}return a}function i(t,n){var e=n.domAPI(n);return e.update(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap&&n.supports===t.supports&&n.layer===t.layer)return;e.update(t=n)}else e.remove()}}t.exports=function(t,i){var r=o(t=t||[],i=i||{});return function(t){t=t||[];for(var a=0;a<r.length;a++){var s=e(r[a]);n[s].references--}for(var l=o(t,i),c=0;c<r.length;c++){var u=e(r[c]);0===n[u].references&&(n[u].updater(),n.splice(u,1))}r=l}}},569:function(t){"use strict";var n={};t.exports=function(t,e){var o=function(t){if(void 0===n[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}n[t]=e}return n[t]}(t);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(t){"use strict";t.exports=function(t){var n=document.createElement("style");return t.setAttributes(n,t.attributes),t.insert(n,t.options),n}},3565:function(t,n,e){"use strict";t.exports=function(t){var n=e.nc;n&&t.setAttribute("nonce",n)}},7795:function(t){"use strict";t.exports=function(t){var n=t.insertStyleElement(t);return{update:function(e){!function(t,n,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))))," */")),n.styleTagTransform(o,t,n.options)}(n,t,e)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)}}}},4589:function(t){"use strict";t.exports=function(t,n){if(n.styleSheet)n.styleSheet.cssText=t;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(t))}}},2722:function(t,n,e){const o=e(3905).R;n.s=function(t){if(t||(t=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,t)}},3905:function(t,n,e){n.R=function(t,n){var e=document.createElement("a");e.href=t;for(var o="/"===e.pathname[0]?e.pathname:"/"+e.pathname,i=0,r=o.length;i!==n&&r>=0;)"/"===o[--r]&&i++;if(i!==n)throw Error("systemjs-webpack-interop: rootDirectoryLevel ("+n+") is greater than the number of directories ("+i+") in the URL path "+t);var a=o.slice(0,r+1);return e.protocol+"//"+e.host+a};Number.isInteger},1900:function(t,n,e){"use strict";function o(t,n,e,o,i,r,a,s){var l,c="function"==typeof t?t.options:t;if(n&&(c.render=n,c.staticRenderFns=e,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._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(t,n){return l.call(n),u(t,n)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}e.d(n,{Z:function(){return o}})},7861:function(t,n,e){var o=e(143);o.__esModule&&(o=o.default),"string"==typeof o&&(o=[[t.id,o,""]]),o.locals&&(t.exports=o.locals),(0,e(5346).Z)("2eb15b17",o,!1,{})},5346:function(t,n,e){"use strict";function o(t,n){for(var e=[],o={},i=0;i<n.length;i++){var r=n[i],a=r[0],s={id:t+":"+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(n,{Z:function(){return A}});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,p="data-vue-ssr-id",f="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function A(t,n,e,i){c=e,d=i||{};var a=o(t,n);return h(a),function(n){for(var e=[],i=0;i<a.length;i++){var s=a[i];(l=r[s.id]).refs--,e.push(l)}for(n?h(a=o(t,n)):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 h(t){for(var n=0;n<t.length;n++){var e=t[n],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(g(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(g(e.parts[i]));r[e.id]={id:e.id,refs:1,parts:a}}}}function m(){var t=document.createElement("style");return t.type="text/css",a.appendChild(t),t}function g(t){var n,e,o=document.querySelector("style["+p+'~="'+t.id+'"]');if(o){if(c)return u;o.parentNode.removeChild(o)}if(f){var i=l++;o=s||(s=m()),n=y.bind(null,o,i,!1),e=y.bind(null,o,i,!0)}else o=m(),n=C.bind(null,o),e=function(){o.parentNode.removeChild(o)};return n(t),function(o){if(o){if(o.css===t.css&&o.media===t.media&&o.sourceMap===t.sourceMap)return;n(t=o)}else e()}}var v,b=(v=[],function(t,n){return v[t]=n,v.filter(Boolean).join("\n")});function y(t,n,e,o){var i=e?"":o.css;if(t.styleSheet)t.styleSheet.cssText=b(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function C(t,n){var e=n.css,o=n.media,i=n.sourceMap;if(o&&t.setAttribute("media",o),d.ssrId&&t.setAttribute(p,n.id),i&&(e+="\n/*# sourceURL="+i.sources[0]+" */",e+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},8645:function(t){"use strict";t.exports=o},4091:function(t){"use strict";t.exports=e},4688:function(t){"use strict";t.exports=i},9731:function(t){"use strict";t.exports=a},9191:function(t){"use strict";t.exports=r},7791:function(t,n,e){"use strict";function o(t,n,e,o,i,r,a){try{var s=t[r](a),l=s.value}catch(t){return void e(t)}s.done?n(l):Promise.resolve(l).then(o,i)}function i(t){return function(){var n=this,e=arguments;return new Promise((function(i,r){var a=t.apply(n,e);function s(t){o(a,i,r,s,l,"next",t)}function l(t){o(a,i,r,s,l,"throw",t)}s(void 0)}))}}e.d(n,{Z:function(){return i}})},4649:function(t,n,e){"use strict";e.d(n,{Z:function(){return i}});var o=e(5217);function i(t,n,e){return(n=(0,o.Z)(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}},5217:function(t,n,e){"use strict";e.d(n,{Z:function(){return i}});var o=e(3940);function i(t){var n=function(t,n){if("object"!==(0,o.Z)(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!==(0,o.Z)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===(0,o.Z)(n)?n:String(n)}},3940:function(t,n,e){"use strict";function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}e.d(n,{Z:function(){return o}})}},c={};function u(t){var n=c[t];if(void 0!==n)return n.exports;var e=c[t]={id:t,exports:{}};return l[t](e,e.exports,u),e.exports}u.m=l,u.y=n,u.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return u.d(n,{a:n}),n},u.d=function(t,n){for(var e in n)u.o(n,e)&&!u.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:n[e]})},u.f={},u.e=function(t){return Promise.all(Object.keys(u.f).reduce((function(n,e){return u.f[e](t,n),n}),[]))},u.u=function(t){return t+".openc3-tool-base.js"},u.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},t={},s="tool-base:",u.l=function(n,e,o,i){if(t[n])t[n].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")==n||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=n),t[n]=[e];var p=function(e,o){r.onerror=r.onload=null,clearTimeout(f);var i=t[n];if(delete t[n],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach((function(t){return t(o)})),e)return e(o)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=p.bind(null,r.onerror),r.onload=p.bind(null,r.onload),a&&document.head.appendChild(r)}},u.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},u.p="",function(){var t={179:0};u.f.j=function(n,e){var o=u.o(t,n)?t[n]:void 0;if(0!==o)if(o)e.push(o[2]);else{var i=new Promise((function(e,i){o=t[n]=[e,i]}));e.push(o[2]=i);var r=u.p+u.u(n),a=new Error;u.l(r,(function(e){if(u.o(t,n)&&(0!==(o=t[n])&&(t[n]=void 0),o)){var i=e&&("load"===e.type?"missing":e.type),r=e&&e.target&&e.target.src;a.message="Loading chunk "+n+" failed.\n("+i+": "+r+")",a.name="ChunkLoadError",a.type=i,a.request=r,o[1](a)}}),"chunk-"+n,n)}};var n=function(n,e){var o,i,r=e[0],a=e[1],s=e[2],l=0;if(r.some((function(n){return 0!==t[n]}))){for(o in a)u.o(a,o)&&(u.m[o]=a[o]);s&&s(u)}for(n&&n(e);l<r.length;l++)i=r[l],u.o(t,i)&&t[i]&&t[i][0](),t[i]=0},e=self.webpackChunktool_base=self.webpackChunktool_base||[];e.forEach(n.bind(null,0)),e.push=n.bind(null,e.push.bind(e))}(),u.nc=void 0;var d={};return(0,u(2722).s)(1),function(){"use strict";u.r(d);var t=u(4091),n=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-app",{style:t.classificationStyles},[e("app-nav",{staticClass:"d-print-none"}),t._v(" "),e("v-main",[e("v-container",{attrs:{fluid:""}},[e("div",{attrs:{id:"openc3-tool"}}),t._v(" "),e("div",[e("router-view")],1)])],1),t._v(" "),e("app-footer",{staticClass:"d-print-none",attrs:{app:""}}),t._v(" "),e("time-check")],1)};n._withStripped=!0;var e=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-footer",{attrs:{id:"footer",app:"",color:"tertiary darken-3",height:"33"}},[e("img",{attrs:{src:t.icon,alt:"OpenC3"}}),t._v(" "),e("span",{class:t.footerClass,on:{click:t.upgrade}},[t._v("OpenC3 "+t._s(t.edition)+" "+t._s(t.version)+" © 2023 - License:\n "+t._s(t.license))]),t._v(" "),e("v-spacer"),t._v(" "),e("a",{staticClass:"white--text text-decoration-underline",attrs:{href:t.sourceUrl}},[t._v("\n Source\n ")]),t._v(" "),e("v-spacer"),t._v(" "),e("div",{staticClass:"justify-right"},[e("clock-footer")],1),t._v(" "),e("upgrade-to-enterprise-dialog",{model:{value:t.showUpgradeToEnterpriseDialog,callback:function(n){t.showUpgradeToEnterpriseDialog=n},expression:"showUpgradeToEnterpriseDialog"}})],1)};e._withStripped=!0;var o=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("span",t._g(t._b({staticClass:"font-weight-bold",staticStyle:{cursor:"context-menu"},on:{contextmenu:t.openMenu}},"span",t.attrs,!1),t.on),[t._v("\n "+t._s(t._f("date")(t.displayLocal?t.localDate:t.utcDate,t.formatString))+"\n ("+t._s(t.displayLocal?"local":"UTC")+")\n ")]),t._v(" "),e("v-menu",{attrs:{"position-x":t.menuX,"position-y":t.menuY,absolute:"","offset-y":""},model:{value:t.showMenu,callback:function(n){t.showMenu=n},expression:"showMenu"}},[e("v-list",[e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.toggleDisplayLocal}},[t._v("\n Display "+t._s(t.displayLocal?"UTC":"local time")+"\n ")])],1),t._v(" "),e("v-divider"),t._v(" "),e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.toggleDisplay24h}},[t._v("\n Display "+t._s(t.display24h?12:24)+" hour clock\n ")])],1),t._v(" "),e("v-divider"),t._v(" "),"monthFirst"!==t.dateMode?e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.setMonthFirst}},[t._v("\n Display mm/dd/yyyy\n ")])],1):t._e(),t._v(" "),"dayFirst"!==t.dateMode?e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.setDayFirst}},[t._v("\n Display dd/mm/yyyy\n ")])],1):t._e(),t._v(" "),"number"!==t.dateMode?e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.setNumber}},[t._v("\n Display day of year\n ")])],1):t._e()],1)],1)],1)};o._withStripped=!0;var i=u(3940);function r(t,n){if(n.length<t)throw new TypeError(t+" argument"+(t>1?"s":"")+" required, but only "+n.length+" present")}function a(t){r(1,arguments);var n=Object.prototype.toString.call(t);return t instanceof Date||"object"===(0,i.Z)(t)&&"[object Date]"===n?new Date(t.getTime()):"number"==typeof t||"[object Number]"===n?new Date(t):("string"!=typeof t&&"[object String]"!==n||"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://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function s(t){if(null===t||!0===t||!1===t)return NaN;var n=Number(t);return isNaN(n)?n:n<0?Math.ceil(n):Math.floor(n)}function l(t){r(1,arguments);var n=a(t),e=n.getUTCDay(),o=(e<1?7:0)+e-1;return n.setUTCDate(n.getUTCDate()-o),n.setUTCHours(0,0,0,0),n}function c(t){r(1,arguments);var n=a(t),e=n.getUTCFullYear(),o=new Date(0);o.setUTCFullYear(e+1,0,4),o.setUTCHours(0,0,0,0);var i=l(o),s=new Date(0);s.setUTCFullYear(e,0,4),s.setUTCHours(0,0,0,0);var c=l(s);return n.getTime()>=i.getTime()?e+1:n.getTime()>=c.getTime()?e:e-1}var p={};function f(){return p}function A(t,n){var e,o,i,l,c,u,d,p;r(1,arguments);var A=f(),h=s(null!==(e=null!==(o=null!==(i=null!==(l=null==n?void 0:n.weekStartsOn)&&void 0!==l?l:null==n||null===(c=n.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==i?i:A.weekStartsOn)&&void 0!==o?o:null===(d=A.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.weekStartsOn)&&void 0!==e?e:0);if(!(h>=0&&h<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=a(t),g=m.getUTCDay(),v=(g<h?7:0)+g-h;return m.setUTCDate(m.getUTCDate()-v),m.setUTCHours(0,0,0,0),m}function h(t,n){var e,o,i,l,c,u,d,p;r(1,arguments);var h=a(t),m=h.getUTCFullYear(),g=f(),v=s(null!==(e=null!==(o=null!==(i=null!==(l=null==n?void 0:n.firstWeekContainsDate)&&void 0!==l?l:null==n||null===(c=n.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==i?i:g.firstWeekContainsDate)&&void 0!==o?o:null===(d=g.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.firstWeekContainsDate)&&void 0!==e?e:1);if(!(v>=1&&v<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var b=new Date(0);b.setUTCFullYear(m+1,0,v),b.setUTCHours(0,0,0,0);var y=A(b,n),C=new Date(0);C.setUTCFullYear(m,0,v),C.setUTCHours(0,0,0,0);var w=A(C,n);return h.getTime()>=y.getTime()?m+1:h.getTime()>=w.getTime()?m:m-1}function m(t,n){for(var e=t<0?"-":"",o=Math.abs(t).toString();o.length<n;)o="0"+o;return e+o}var g=function(t,n){var e=t.getUTCFullYear(),o=e>0?e:1-e;return m("yy"===n?o%100:o,n.length)},v=function(t,n){var e=t.getUTCMonth();return"M"===n?String(e+1):m(e+1,2)},b=function(t,n){return m(t.getUTCDate(),n.length)},y=function(t,n){return m(t.getUTCHours()%12||12,n.length)},C=function(t,n){return m(t.getUTCHours(),n.length)},w=function(t,n){return m(t.getUTCMinutes(),n.length)},k=function(t,n){return m(t.getUTCSeconds(),n.length)},x=function(t,n){var e=n.length,o=t.getUTCMilliseconds();return m(Math.floor(o*Math.pow(10,e-3)),n.length)},_={G:function(t,n,e){var o=t.getUTCFullYear()>0?1:0;switch(n){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(t,n,e){if("yo"===n){var o=t.getUTCFullYear(),i=o>0?o:1-o;return e.ordinalNumber(i,{unit:"year"})}return g(t,n)},Y:function(t,n,e,o){var i=h(t,o),r=i>0?i:1-i;return"YY"===n?m(r%100,2):"Yo"===n?e.ordinalNumber(r,{unit:"year"}):m(r,n.length)},R:function(t,n){return m(c(t),n.length)},u:function(t,n){return m(t.getUTCFullYear(),n.length)},Q:function(t,n,e){var o=Math.ceil((t.getUTCMonth()+1)/3);switch(n){case"Q":return String(o);case"QQ":return m(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(t,n,e){var o=Math.ceil((t.getUTCMonth()+1)/3);switch(n){case"q":return String(o);case"qq":return m(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(t,n,e){var o=t.getUTCMonth();switch(n){case"M":case"MM":return v(t,n);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(t,n,e){var o=t.getUTCMonth();switch(n){case"L":return String(o+1);case"LL":return m(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(t,n,e,o){var i=function(t,n){r(1,arguments);var e=a(t),o=A(e,n).getTime()-function(t,n){var e,o,i,a,l,c,u,d;r(1,arguments);var p=f(),m=s(null!==(e=null!==(o=null!==(i=null!==(a=null==n?void 0:n.firstWeekContainsDate)&&void 0!==a?a:null==n||null===(l=n.locale)||void 0===l||null===(c=l.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==i?i:p.firstWeekContainsDate)&&void 0!==o?o:null===(u=p.locale)||void 0===u||null===(d=u.options)||void 0===d?void 0:d.firstWeekContainsDate)&&void 0!==e?e:1),g=h(t,n),v=new Date(0);return v.setUTCFullYear(g,0,m),v.setUTCHours(0,0,0,0),A(v,n)}(e,n).getTime();return Math.round(o/6048e5)+1}(t,o);return"wo"===n?e.ordinalNumber(i,{unit:"week"}):m(i,n.length)},I:function(t,n,e){var o=function(t){r(1,arguments);var n=a(t),e=l(n).getTime()-function(t){r(1,arguments);var n=c(t),e=new Date(0);return e.setUTCFullYear(n,0,4),e.setUTCHours(0,0,0,0),l(e)}(n).getTime();return Math.round(e/6048e5)+1}(t);return"Io"===n?e.ordinalNumber(o,{unit:"week"}):m(o,n.length)},d:function(t,n,e){return"do"===n?e.ordinalNumber(t.getUTCDate(),{unit:"date"}):b(t,n)},D:function(t,n,e){var o=function(t){r(1,arguments);var n=a(t),e=n.getTime();n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0);var o=e-n.getTime();return Math.floor(o/864e5)+1}(t);return"Do"===n?e.ordinalNumber(o,{unit:"dayOfYear"}):m(o,n.length)},E:function(t,n,e){var o=t.getUTCDay();switch(n){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(t,n,e,o){var i=t.getUTCDay(),r=(i-o.weekStartsOn+8)%7||7;switch(n){case"e":return String(r);case"ee":return m(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(t,n,e,o){var i=t.getUTCDay(),r=(i-o.weekStartsOn+8)%7||7;switch(n){case"c":return String(r);case"cc":return m(r,n.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(t,n,e){var o=t.getUTCDay(),i=0===o?7:o;switch(n){case"i":return String(i);case"ii":return m(i,n.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(t,n,e){var o=t.getUTCHours()/12>=1?"pm":"am";switch(n){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(t,n,e){var o,i=t.getUTCHours();switch(o=12===i?"noon":0===i?"midnight":i/12>=1?"pm":"am",n){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(t,n,e){var o,i=t.getUTCHours();switch(o=i>=17?"evening":i>=12?"afternoon":i>=4?"morning":"night",n){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(t,n,e){if("ho"===n){var o=t.getUTCHours()%12;return 0===o&&(o=12),e.ordinalNumber(o,{unit:"hour"})}return y(t,n)},H:function(t,n,e){return"Ho"===n?e.ordinalNumber(t.getUTCHours(),{unit:"hour"}):C(t,n)},K:function(t,n,e){var o=t.getUTCHours()%12;return"Ko"===n?e.ordinalNumber(o,{unit:"hour"}):m(o,n.length)},k:function(t,n,e){var o=t.getUTCHours();return 0===o&&(o=24),"ko"===n?e.ordinalNumber(o,{unit:"hour"}):m(o,n.length)},m:function(t,n,e){return"mo"===n?e.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):w(t,n)},s:function(t,n,e){return"so"===n?e.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):k(t,n)},S:function(t,n){return x(t,n)},X:function(t,n,e,o){var i=(o._originalDate||t).getTimezoneOffset();if(0===i)return"Z";switch(n){case"X":return E(i);case"XXXX":case"XX":return T(i);default:return T(i,":")}},x:function(t,n,e,o){var i=(o._originalDate||t).getTimezoneOffset();switch(n){case"x":return E(i);case"xxxx":case"xx":return T(i);default:return T(i,":")}},O:function(t,n,e,o){var i=(o._originalDate||t).getTimezoneOffset();switch(n){case"O":case"OO":case"OOO":return"GMT"+S(i,":");default:return"GMT"+T(i,":")}},z:function(t,n,e,o){var i=(o._originalDate||t).getTimezoneOffset();switch(n){case"z":case"zz":case"zzz":return"GMT"+S(i,":");default:return"GMT"+T(i,":")}},t:function(t,n,e,o){var i=o._originalDate||t;return m(Math.floor(i.getTime()/1e3),n.length)},T:function(t,n,e,o){return m((o._originalDate||t).getTime(),n.length)}};function S(t,n){var e=t>0?"-":"+",o=Math.abs(t),i=Math.floor(o/60),r=o%60;if(0===r)return e+String(i);var a=n||"";return e+String(i)+a+m(r,2)}function E(t,n){return t%60==0?(t>0?"-":"+")+m(Math.abs(t)/60,2):T(t,n)}function T(t,n){var e=n||"",o=t>0?"-":"+",i=Math.abs(t);return o+m(Math.floor(i/60),2)+e+m(i%60,2)}var O=_,B=function(t,n){switch(t){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});default:return n.date({width:"full"})}},D=function(t,n){switch(t){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});default:return n.time({width:"full"})}},N={p:D,P:function(t,n){var e,o=t.match(/(P+)(p+)?/)||[],i=o[1],r=o[2];if(!r)return B(t,n);switch(i){case"P":e=n.dateTime({width:"short"});break;case"PP":e=n.dateTime({width:"medium"});break;case"PPP":e=n.dateTime({width:"long"});break;default:e=n.dateTime({width:"full"})}return e.replace("{{date}}",B(i,n)).replace("{{time}}",D(r,n))}};function I(t){var n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),t.getTime()-n.getTime()}var R=["D","DD"],U=["YY","YYYY"];function M(t,n,e){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(n,"`) for formatting years to the input `").concat(e,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(n,"`) for formatting years to the input `").concat(e,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(n,"`) for formatting days of the month to the input `").concat(e,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(n,"`) for formatting days of the month to the input `").concat(e,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var $={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 z(t){return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=n.width?String(n.width):t.defaultWidth;return t.formats[e]||t.formats[t.defaultWidth]}}var P={date:z({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:z({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:z({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},j={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function F(t){return function(n,e){var o;if("formatting"===(null!=e&&e.context?String(e.context):"standalone")&&t.formattingValues){var i=t.defaultFormattingWidth||t.defaultWidth,r=null!=e&&e.width?String(e.width):i;o=t.formattingValues[r]||t.formattingValues[i]}else{var a=t.defaultWidth,s=null!=e&&e.width?String(e.width):t.defaultWidth;o=t.values[s]||t.values[a]}return o[t.argumentCallback?t.argumentCallback(n):n]}}var L={ordinalNumber:function(t,n){var e=Number(t),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:F({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:F({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:F({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:F({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:F({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 G(t){return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e.width,i=o&&t.matchPatterns[o]||t.matchPatterns[t.defaultMatchWidth],r=n.match(i);if(!r)return null;var a,s=r[0],l=o&&t.parsePatterns[o]||t.parsePatterns[t.defaultParseWidth],c=Array.isArray(l)?function(t,n){for(var e=0;e<t.length;e++)if(t[e].test(s))return e}(l):function(t,n){for(var e in t)if(t.hasOwnProperty(e)&&t[e].test(s))return e}(l);return a=t.valueCallback?t.valueCallback(c):c,{value:a=e.valueCallback?e.valueCallback(a):a,rest:n.slice(s.length)}}}var H,W={ordinalNumber:(H={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(t){return parseInt(t,10)}},function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.match(H.matchPattern);if(!e)return null;var o=e[0],i=t.match(H.parsePattern);if(!i)return null;var r=H.valueCallback?H.valueCallback(i[0]):i[0];return{value:r=n.valueCallback?n.valueCallback(r):r,rest:t.slice(o.length)}}),era:G({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:G({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(t){return t+1}}),month:G({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:G({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:G({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"})},Y={code:"en-US",formatDistance:function(t,n,e){var o,i=$[t];return o="string"==typeof i?i:1===n?i.one:i.other.replace("{{count}}",n.toString()),null!=e&&e.addSuffix?e.comparison&&e.comparison>0?"in "+o:o+" ago":o},formatLong:P,formatRelative:function(t,n,e,o){return j[t]},localize:L,match:W,options:{weekStartsOn:0,firstWeekContainsDate:1}},q=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Z=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,J=/^'([^]*?)'?$/,X=/''/g,Q=/[a-zA-Z]/;function K(t,n,e){var o,l,c,u,d,p,A,h,m,g,v,b,y,C,w,k,x,_;r(2,arguments);var S=String(n),E=f(),T=null!==(o=null!==(l=null==e?void 0:e.locale)&&void 0!==l?l:E.locale)&&void 0!==o?o:Y,B=s(null!==(c=null!==(u=null!==(d=null!==(p=null==e?void 0:e.firstWeekContainsDate)&&void 0!==p?p:null==e||null===(A=e.locale)||void 0===A||null===(h=A.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==d?d:E.firstWeekContainsDate)&&void 0!==u?u:null===(m=E.locale)||void 0===m||null===(g=m.options)||void 0===g?void 0:g.firstWeekContainsDate)&&void 0!==c?c:1);if(!(B>=1&&B<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var D=s(null!==(v=null!==(b=null!==(y=null!==(C=null==e?void 0:e.weekStartsOn)&&void 0!==C?C:null==e||null===(w=e.locale)||void 0===w||null===(k=w.options)||void 0===k?void 0:k.weekStartsOn)&&void 0!==y?y:E.weekStartsOn)&&void 0!==b?b:null===(x=E.locale)||void 0===x||null===(_=x.options)||void 0===_?void 0:_.weekStartsOn)&&void 0!==v?v:0);if(!(D>=0&&D<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!T.localize)throw new RangeError("locale must contain localize property");if(!T.formatLong)throw new RangeError("locale must contain formatLong property");var $=a(t);if(!function(t){if(r(1,arguments),!function(t){return r(1,arguments),t instanceof Date||"object"===(0,i.Z)(t)&&"[object Date]"===Object.prototype.toString.call(t)}(t)&&"number"!=typeof t)return!1;var n=a(t);return!isNaN(Number(n))}($))throw new RangeError("Invalid time value");var z=function(t,n){return r(2,arguments),function(t,n){r(2,arguments);var e=a(t).getTime(),o=s(n);return new Date(e+o)}(t,-s(n))}($,I($)),P={firstWeekContainsDate:B,weekStartsOn:D,locale:T,_originalDate:$};return S.match(Z).map((function(t){var n=t[0];return"p"===n||"P"===n?(0,N[n])(t,T.formatLong):t})).join("").match(q).map((function(o){if("''"===o)return"'";var i,r,a=o[0];if("'"===a)return(r=(i=o).match(J))?r[1].replace(X,"'"):i;var s,l=O[a];if(l)return null!=e&&e.useAdditionalWeekYearTokens||(s=o,-1===U.indexOf(s))||M(o,n,String(t)),null!=e&&e.useAdditionalDayOfYearTokens||!function(t){return-1!==R.indexOf(t)}(o)||M(o,n,String(t)),l(z,o,T.localize,P);if(a.match(Q))throw new RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");return o})).join("")}var V={data:function(){return{localDate:new Date,displayLocal:"local"===localStorage.clock_zone,display24h:!localStorage.clock_12h,dateMode:localStorage.clock_dateMode||"monthFirst",intervalCount:0,showMenu:!1,menuX:0,menuY:0}},computed:{utcDate:function(){return new Date(this.localDate.getTime()+6e4*this.localDate.getTimezoneOffset())},formatString:function(){var t,n;switch(this.dateMode){case"monthFirst":t="LL/dd/yyy";break;case"dayFirst":t="dd/LL/yyy";break;case"number":t="D"}return n=this.display24h?"HH:mm:ss":"hh:mm:ss a","".concat(t," ").concat(n)}},watch:{displayLocal:function(t){localStorage.clock_zone=t?"local":"utc"},display24h:function(t){t?delete localStorage.clock_12h:localStorage.clock_12h=!0},dateMode:function(t){t.match(/^monthFirst$|^dayFirst$|^number$/)&&(localStorage.clock_dateMode=t)}},created:function(){var t=this;setInterval((function(){t.intervalCount++,t.localDate=new Date}),this.intervalCount<10?100:1e3)},methods:{openMenu:function(t){var n=this;t.preventDefault(),this.showMenu=!1,this.menuX=t.clientX,this.menuY=t.clientY,this.$nextTick((function(){n.showMenu=!0}))},toggleDisplayLocal:function(){this.displayLocal=!this.displayLocal},toggleDisplay24h:function(){this.display24h=!this.display24h},setMonthFirst:function(){this.dateMode="monthFirst"},setDayFirst:function(){this.dateMode="dayFirst"},setNumber:function(){this.dateMode="number"}},filters:{date:function(t,n){return K(t,n,{useAdditionalDayOfYearTokens:!0})}}},tt=u(1900),nt=(0,tt.Z)(V,o,[],!1,null,null,null);nt.options.__file="packages/openc3-tool-common/src/tools/base/components/ClockFooter.vue";var et=nt.exports,ot=u(9554),it=u(7791);function rt(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var at=u(5217);function st(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,(0,at.Z)(o.key),o)}}function lt(t,n,e){return n&&st(t.prototype,n),e&&st(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}var ct=u(4649),ut=u(6966);function dt(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}function pt(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?dt(Object(e),!0).forEach((function(n){(0,ct.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):dt(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}var ft=function(){function t(){rt(this,t),(0,ct.Z)(this,"id",1)}var n,e,o,r,a,s;return lt(t,[{key:"exec",value:(s=(0,it.Z)(regeneratorRuntime.mark((function t(n,e){var o,i,r,a,s,l=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=l.length>2&&void 0!==l[2]?l[2]:{},i=l.length>3&&void 0!==l[3]?l[3]:{},r=l.length>4&&void 0!==l[4]?l[4]:6e4,t.prev=3,t.next=6,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 6:t.sent&&OpenC3Auth.setTokens(),t.next=13;break;case 10:t.prev=10,t.t0=t.catch(3),OpenC3Auth.login();case 13:return this.id=this.id+1,t.prev=14,o.scope=window.openc3Scope,t.next=18,ut.Z.post("/openc3-api/api",{jsonrpc:"2.0",method:n,params:e,id:this.id,keyword_params:o},{headers:pt({Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"},i),timeout:r});case 18:return a=t.sent,t.abrupt("return",a.data.result);case 22:throw t.prev=22,t.t1=t.catch(14),s=new Error,t.t1.response?(s.name=t.t1.response.data.error.data.class,s.message=t.t1.response.data.error.data.message):t.t1.request?(s.name="Request error",s.message="Request error, no response received"):s.name="Unknown error",s;case 27:case"end":return t.stop()}}),t,this,[[3,10],[14,22]])}))),function(t,n){return s.apply(this,arguments)})},{key:"decode_openc3_type",value:function(t){if(null!==t&&"object"===(0,i.Z)(t)&&"Float"==t.json_class&&t.raw){if("NaN"==t.raw)return NaN;if("Infinity"==t.raw)return 1/0;if("-Infinity"==t.raw)return-1/0}return null}},{key:"encode_openc3_type",value:function(t){return Number.isNaN(t)?{json_class:"Float",raw:"NaN"}:t==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:t==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}},{key:"ensure_offline_access",value:function(){var t=this;this.offline_access_needed().then((function(n){n&&(localStorage.openc3OfflineToken?t.set_offline_access(localStorage.openc3OfflineToken).then((function(){delete localStorage.openc3OfflineToken})):OpenC3Auth.getOfflineAccess())}))}},{key:"offline_access_needed",value:function(){return this.exec("offline_access_needed",[])}},{key:"set_offline_access",value:function(t){return this.exec("set_offline_access",[t])}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"map_target_to_interface",value:function(t,n){return this.exec("map_target_to_interface",[t,n])}},{key:"connect_interface",value:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),o=1;o<n;o++)e[o-1]=arguments[o];return e.length>0?this.exec("connect_interface",[t].concat(e)):this.exec("connect_interface",[t])}},{key:"disconnect_interface",value:function(t){return this.exec("disconnect_interface",[t])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(t){return this.exec("connect_router",[t])}},{key:"disconnect_router",value:function(t){return this.exec("disconnect_router",[t])}},{key:"get_target_interfaces",value:function(){return this.exec("get_target_interfaces",[])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_tlm_cnts",value:function(t){return this.exec("get_tlm_cnts",[t])}},{key:"get_item",value:function(t,n,e){return this.exec("get_item",[t,n,e])}},{key:"get_parameter",value:function(t,n,e){return this.exec("get_parameter",[t,n,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(t){return this.exec("start_cmd_log",[t])}},{key:"start_tlm_log",value:function(t){return this.exec("start_tlm_log",[t])}},{key:"stop_cmd_log",value:function(t){return this.exec("stop_cmd_log",[t])}},{key:"stop_tlm_log",value:function(t){return this.exec("stop_tlm_log",[t])}},{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(t){return this.exec("set_limits_set",[t])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(t){return this.exec("start_background_task",[t])}},{key:"stop_background_task",value:function(t){return this.exec("stop_background_task",[t])}},{key:"get_target",value:function(t){return this.exec("get_target",[t])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_target_names",value:function(){return this.exec("get_target_names",[])}},{key:"get_telemetry",value:function(t,n){return this.exec("get_telemetry",[t,n])}},{key:"get_all_telemetry",value:function(t){return this.exec("get_all_telemetry",[t])}},{key:"get_all_telemetry_names",value:function(t){return this.exec("get_all_telemetry_names",[t])}},{key:"get_tlm_packet",value:(a=(0,it.Z)(regeneratorRuntime.mark((function t(n,e,o){var i,r,a,s,l,c=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=c.length>3&&void 0!==c[3]?c[3]:30,t.next=3,this.exec("get_tlm_packet",[n,e],{type:o,stale_time:i});case 3:if(null!=(r=t.sent))for(a=r.length,s=null,l=0;l<a;l++)null!==(s=this.decode_openc3_type(r[l][1]))&&(r[l][1]=s);return t.abrupt("return",r);case 6:case"end":return t.stop()}}),t,this)}))),function(t,n,e){return a.apply(this,arguments)})},{key:"get_packet_derived_items",value:function(t,n){return this.exec("get_packet_derived_items",[t,n])}},{key:"get_tlm_buffer",value:function(t,n){return this.exec("get_tlm_buffer",[t,n])}},{key:"get_tlm_values",value:(r=(0,it.Z)(regeneratorRuntime.mark((function t(n){var e,o,i,r,a,s=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=s.length>1&&void 0!==s[1]?s[1]:30,t.next=3,this.exec("get_tlm_values",[n],{stale_time:e},{},1e4);case 3:for(o=t.sent,i=o[0].length,r=null,a=0;a<i;a++)null!==(r=this.decode_openc3_type(o[0][a]))&&(o[0][a]=r);return t.abrupt("return",o);case 8:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"get_limits",value:function(t,n,e){return this.exec("get_limits",[t,n,e])}},{key:"tlm",value:(o=(0,it.Z)(regeneratorRuntime.mark((function t(n,e,o){var i,r,a,s,l=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=l.length>3&&void 0!==l[3]?l[3]:"CONVERTED",r=null,void 0!==e){t.next=8;break}return t.next=5,this.exec("tlm",[n]);case 5:r=t.sent,t.next=24;break;case 8:if(void 0!==o){t.next=21;break}if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(e)){t.next=15;break}return t.next=12,this.exec("tlm",[n],{type:e});case 12:r=t.sent,t.next=19;break;case 15:throw(a=new Error).name="TypeError",a.message="Invalid data type ".concat(e,". Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS."),a;case 19:t.next=24;break;case 21:return t.next=23,this.exec("tlm",[n,e,o],{type:i});case 23:r=t.sent;case 24:return null!==(s=this.decode_openc3_type(r))&&(r=s),t.abrupt("return",r);case 27:case"end":return t.stop()}}),t,this)}))),function(t,n,e){return o.apply(this,arguments)})},{key:"inject_tlm",value:(e=(0,it.Z)(regeneratorRuntime.mark((function t(n,e){var o,i,r=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=r.length>2&&void 0!==r[2]?r[2]:null,i=r.length>3&&void 0!==r[3]?r[3]:"CONVERTED",t.next=4,this.exec("inject_tlm",[n,e,o],{type:i});case 4:data=t.sent;case 5:case"end":return t.stop()}}),t,this)}))),function(t,n){return e.apply(this,arguments)})},{key:"set_tlm",value:function(t,n,e,o){return this.exec("set_tlm",[t,n,e],{type:o})}},{key:"override_tlm",value:function(t,n,e,o){return this.exec("override_tlm",[t,n,e],{type:o})}},{key:"get_overrides",value:function(){return this.exec("get_overrides")}},{key:"normalize_tlm",value:function(t,n,e,o){return this.exec("normalize_tlm",[t,n,e],{type:o})}},{key:"get_all_commands",value:function(t){return this.exec("get_all_commands",[t])}},{key:"get_all_command_names",value:function(t){return this.exec("get_all_command_names",[t])}},{key:"get_command",value:function(t,n){return this.exec("get_command",[t,n])}},{key:"get_cmd_cnts",value:function(t){return this.exec("get_cmd_cnts",[t])}},{key:"get_cmd_value",value:function(t,n,e){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[t,n,e,o])}},{key:"get_cmd_buffer",value:function(t,n){return this.exec("get_cmd_buffer",[t,n])}},{key:"_cmd",value:function(t,n,e,o,i){var r=null;for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&null!==(r=this.encode_openc3_type(o[a]))&&(o[a]=r);return this.exec(t,[n,e,o],{},i)}},{key:"get_cmd_hazardous",value:function(t,n,e){return void 0===n?this.exec("get_cmd_hazardous",t):this._cmd("get_cmd_hazardous",t,n,e)}},{key:"cmd",value:function(t,n,e){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return void 0===n?this.exec("cmd",t,{},o):this._cmd("cmd",t,n,e,o)}},{key:"cmd_no_range_check",value:function(t,n,e){return void 0===n?this.exec("cmd_no_range_check",t):this._cmd("cmd_no_range_check",t,n,e)}},{key:"cmd_raw",value:function(t,n,e){return void 0===n?this.exec("cmd_raw",t):this._cmd("cmd_raw",t,n,e)}},{key:"cmd_raw_no_range_check",value:function(t,n,e){return void 0===n?this.exec("cmd_raw_no_range_check",t):this._cmd("cmd_raw_no_range_check",t,n,e)}},{key:"cmd_no_hazardous_check",value:function(t,n,e){return void 0===n?this.exec("cmd_no_hazardous_check",t):this._cmd("cmd_no_hazardous_check",t,n,e)}},{key:"cmd_no_checks",value:function(t,n,e){return void 0===n?this.exec("cmd_no_checks",t):this._cmd("cmd_no_checks",t,n,e)}},{key:"cmd_raw_no_hazardous_check",value:function(t,n,e){return void 0===n?this.exec("cmd_raw_no_hazardous_check",t):this._cmd("cmd_raw_no_hazardous_check",t,n,e)}},{key:"cmd_raw_no_checks",value:function(t,n,e){return void 0===n?this.exec("cmd_raw_no_checks",t):this._cmd("cmd_raw_no_checks",t,n,e)}},{key:"build_command",value:function(t,n,e){return void 0===n?this.exec("build_command",t):this._cmd("build_command",t,n,e)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(t,n){return this.exec("send_raw",[t,n])}},{key:"list_configs",value:function(t){return this.exec("list_configs",[t])}},{key:"load_config",value:function(t,n){return this.exec("load_config",[t,n])}},{key:"save_config",value:function(t,n,e){return this.exec("save_config",[t,n,e])}},{key:"delete_config",value:function(t,n){return this.exec("delete_config",[t,n])}},{key:"enable_limits",value:function(t,n,e){return this.exec("enable_limits",[t,n,e])}},{key:"disable_limits",value:function(t,n,e){return this.exec("disable_limits",[t,n,e])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(t){return this.exec("get_overall_limits_state",[t])}},{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(t){return this.exec("get_setting",[t])}},{key:"get_settings",value:function(t){return this.exec("get_settings",t)}},{key:"save_setting",value:function(t,n){return this.exec("save_setting",[t,n])}},{key:"get_metrics",value:function(){return this.exec("get_metrics",[])}},{key:"hashString",value:(n=(0,it.Z)(regeneratorRuntime.mark((function t(n){var e,o,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!window.isSecureContext){t.next=7;break}return e=(new TextEncoder).encode(n),t.next=4,crypto.subtle.digest("SHA-256",e);case 4:return o=t.sent,i=new Uint8Array(o),t.abrupt("return",Array.from(i).map((function(t){return t.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return t.stop()}}),t)}))),function(t){return n.apply(this,arguments)})}]),t}(),At=u.p+"a0696a4fd430262c8adb.png",ht=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-dialog",{attrs:{width:"650px"},model:{value:t.show,callback:function(n){t.show=n},expression:"show"}},[e("v-card",[e("v-system-bar",[e("v-spacer"),t._v(" "),e("span",[t._v(" Upgrade to COSMOS Enterprise Edition ")]),t._v(" "),e("v-spacer")],1),t._v(" "),e("v-card-text",{staticClass:"mt-2"},[e("div",{staticClass:"logo"},[e("img",{attrs:{src:t.logo,alt:"OpenC3"}}),t._v(" "),e("div",{staticClass:"cosmos"},[t._v("Enterprise Edition")])]),t._v(" "),e("div",{staticClass:"pb-4"},[t._v("\n Thank you for using the COSMOS Open Source Edition!\n ")]),t._v(" "),t.reason?e("div",[e("div",{staticClass:"pb-4 pl-4 reason"},[t._v("\n "+t._s(t.reason)+"\n ")])]):t._e(),t._v("\n COSMOS Enterprise Edition removes all restrictions and offers users with\n role based access control, scaling on kubernetes, cloud platform\n support, multiple scopes, various integrations with common protocols and\n hardware, commercial licensing, and much more!"),e("br"),e("br"),t._v("\n Learn more at\n "),e("a",{attrs:{href:"https://openc3.com/enterprise"}},[t._v("https://openc3.com/enterprise")]),t._v("\n and help support COSMOS Open Source by supporting our business. Contact\n us at "),e("a",{attrs:{href:"mailto:support@openc3.com"}},[t._v("support@openc3.com")]),t._v(" for\n more information about Enterprise Edition, COSMOS training, COSMOS\n support, and custom COSMOS development.\n ")]),t._v(" "),e("v-card-actions",[e("v-spacer"),t._v(" "),e("v-btn",{staticClass:"mx-2",attrs:{color:"primary"},on:{click:function(n){t.show=!t.show}}},[t._v(" Ok ")])],1)],1)],1)};ht._withStripped=!0;var mt=u.p+"772bd60446e0b68b2dcb.png",gt={props:{value:Boolean,reason:String},data:function(){return{logo:mt}},computed:{show:{get:function(){return this.value},set:function(t){this.$emit("input",t)}}}},vt=u(3379),bt=u.n(vt),yt=u(7795),Ct=u.n(yt),wt=u(569),kt=u.n(wt),xt=u(3565),_t=u.n(xt),St=u(9216),Et=u.n(St),Tt=u(4589),Ot=u.n(Tt),Bt=u(2980),Dt={};Dt.styleTagTransform=Ot(),Dt.setAttributes=_t(),Dt.insert=kt().bind(null,"head"),Dt.domAPI=Ct(),Dt.insertStyleElement=Et(),bt()(Bt.Z,Dt),Bt.Z&&Bt.Z.locals&&Bt.Z.locals;var Nt=(0,tt.Z)(gt,ht,[],!1,null,"36f1a220",null);Nt.options.__file="packages/openc3-tool-common/src/components/UpgradeToEnterpriseDialog.vue";var It=Nt.exports,Rt={components:{ClockFooter:et,UpgradeToEnterpriseDialog:It},data:function(){return{icon:At,edition:"",enterprise:!1,license:"",sourceUrl:"",version:"",showUpgradeToEnterpriseDialog:!1}},created:function(){var t=this;this.getSourceUrl(),ot.Z.get("/openc3-api/info").then((function(n){console.log(n),n.data.enterprise?t.edition="COSMOS Enterprise":t.edition="COSMOS Open Source",t.enterprise=n.data.enterprise,t.license=n.data.license,t.version=n.data.version}))},computed:{footerClass:function(){return this.enterprise?"enterprise":"base"}},methods:{getSourceUrl:function(){var t=this;(new ft).get_settings(["source_url"]).then((function(n){t.sourceUrl=n[0]}))},upgrade:function(){this.enterprise||(this.showUpgradeToEnterpriseDialog=!0)}}},Ut=u(4829),Mt={};Mt.styleTagTransform=Ot(),Mt.setAttributes=_t(),Mt.insert=kt().bind(null,"head"),Mt.domAPI=Ct(),Mt.insertStyleElement=Et(),bt()(Ut.Z,Mt),Ut.Z&&Ut.Z.locals&&Ut.Z.locals;var $t=(0,tt.Z)(Rt,e,[],!1,null,"1f2e2c8b",null);$t.options.__file="packages/openc3-tool-common/src/tools/base/AppFooter.vue";var zt=$t.exports,Pt=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("v-navigation-drawer",{attrs:{app:"",id:"openc3-nav-drawer"},model:{value:t.drawer,callback:function(n){t.drawer=n},expression:"drawer"}},[e("v-list",[e("v-list-item",[e("v-list-item-icon",{staticStyle:{"margin-right":"auto !important","margin-left":"auto","margin-top":"0px","margin-bottom":"0px"}},[e("img",{attrs:{src:t.logo,alt:"OpenC3"}})])],1),t._v(" "),e("div",{staticClass:"cosmos",on:{click:function(n){t.showUpgradeToEnterpriseDialog=!0}}},[t._v("\n COSMOS\n ")]),t._v(" "),e("v-list-item",{staticClass:"my-0"},[e("v-list-item-content",t._l(t.adminTools,(function(n,o){return e("div",{key:o},[e("v-btn",{staticClass:"fixcenter",attrs:{block:"",small:"",href:n.url,onclick:"singleSpaNavigate(event)"}},[t._v("\n Admin\n ")])],1)})),0)],1),t._v(" "),e("v-divider"),t._v(" "),e("v-treeview",{attrs:{items:t.items,open:t.initiallyOpen,"item-key":"name",dense:"","open-on-click":"","expand-icon":""},scopedSlots:t._u([{key:"prepend",fn:function(n){var o=n.item,i=n.open;return[o.icon?e("a",{attrs:{href:o.url,onclick:"singleSpaNavigate(event)"}},[e("v-icon",[t._v(" "+t._s(o.icon)+" ")])],1):e("v-icon",[t._v("\n "+t._s(i?"mdi-chevron-down":"mdi-chevron-right")+"\n ")])]}},{key:"label",fn:function(n){var o=n.item;return[e("a",{attrs:{href:o.url,onclick:"singleSpaNavigate(event)"}},[t._v("\n "+t._s(o.name)+"\n ")])]}},{key:"append",fn:function(n){var o=n.item;return[o.icon?e("a",{attrs:{href:t.newTabUrl(o),target:"_blank"}},[e("v-icon",[t._v("mdi-open-in-new")])],1):t._e()]}}])})],1)],1),t._v(" "),e("v-app-bar",{attrs:{app:"",color:"tertiary darken-3",id:"openc3-app-toolbar"}},[e("v-app-bar-nav-icon",{on:{click:function(n){t.drawer=!t.drawer}}}),t._v(" "),e("v-divider",{staticClass:"top-bar-divider-full-height",attrs:{vertical:""}}),t._v(" "),e("span",{staticStyle:{width:"100%"}},[e("span",{attrs:{id:"openc3-menu"}})]),t._v(" "),e("div",{staticClass:"justify-right mr-2 pt-2"},[e("scope-selector")],1),t._v(" "),e("div",{staticClass:"justify-right",attrs:{"data-test":"alert-history"}},[e("alert-history")],1),t._v(" "),e("div",{staticClass:"justify-right",attrs:{"data-test":"notifications"}},[e("notifications")],1),t._v(" "),e("div",{staticClass:"justify-right",attrs:{"data-test":"user-menu"}},[e("user-menu")],1)],1),t._v(" "),e("upgrade-to-enterprise-dialog",{model:{value:t.showUpgradeToEnterpriseDialog,callback:function(n){t.showUpgradeToEnterpriseDialog=n},expression:"showUpgradeToEnterpriseDialog"}})],1)};Pt._withStripped=!0;var jt=u(8645),Ft=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticStyle:{cursor:"pointer"},on:{click:function(n){t.showUpgradeToEnterpriseDialog=!0}}},[e("v-select",{attrs:{items:t.scopes,disabled:t.scopes.length<=1,label:"Scope",dense:"","hide-details":""},model:{value:t.scope,callback:function(n){t.scope=n},expression:"scope"}}),t._v(" "),e("upgrade-to-enterprise-dialog",{attrs:{reason:"Open Source has a single DEFAULT scope."},model:{value:t.showUpgradeToEnterpriseDialog,callback:function(n){t.showUpgradeToEnterpriseDialog=n},expression:"showUpgradeToEnterpriseDialog"}})],1)};Ft._withStripped=!0;var Lt={components:{UpgradeToEnterpriseDialog:It},data:function(){return{scopes:["DEFAULT"],scope:"DEFAULT",showUpgradeToEnterpriseDialog:!1}}},Gt=(0,tt.Z)(Lt,Ft,[],!1,null,null,null);Gt.options.__file="packages/openc3-tool-common/src/tools/base/components/ScopeSelector.vue";var Ht=Gt.exports,Wt=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("v-overlay",{staticClass:"overlay",attrs:{value:t.showAlertPane}}),t._v(" "),e("v-menu",{attrs:{transition:"slide-y-transition","close-on-content-click":!1,"nudge-width":340,"offset-y":"","nudge-bottom":20},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({attrs:{icon:""}},"v-btn",i,!1),o),[e("v-icon",{attrs:{size:t.size}},[t._v(" mdi-alert-box-outline ")])],1)]}}]),model:{value:t.showAlertPane,callback:function(n){t.showAlertPane=n},expression:"showAlertPane"}},[t._v(" "),e("v-card",[e("v-card-title",[t._v("\n Alerts\n "),e("v-spacer"),t._v(" "),e("v-tooltip",{attrs:{top:"","open-delay":"350"},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({staticClass:"ml-1",attrs:{icon:""},on:{click:t.clearAlerts}},"v-btn",i,!1),o),[e("v-icon",[t._v(" mdi-notification-clear-all ")])],1)]}}])},[t._v(" "),e("span",[t._v("Clear all")])])],1),t._v(" "),0===t.alerts.length?e("v-card-text",[t._v(" No alerts ")]):e("v-list",{staticClass:"overflow-y-auto",attrs:{"two-line":"",width:"388","max-height":"80vh"}},[t._l(t.alerts,(function(n,o){return[e("v-list-item",{key:"alert-"+o,staticClass:"pl-2",on:{click:function(e){return t.openDialog(n)}}},[e("v-badge",{attrs:{left:"",inline:"",color:"transparent"},scopedSlots:t._u([{key:"badge",fn:function(){return[e("astro-status-indicator",{attrs:{status:n.severity.toLowerCase()}})]},proxy:!0}],null,!0)},[e("v-list-item-content",{staticClass:"pt-0 pb-0"},[e("v-list-item-title",[t._v("\n "+t._s(n.title)+"\n ")]),t._v(" "),e("v-list-item-subtitle",[t._v("\n "+t._s(n.body)+"\n ")])],1)],1)],1)]}))],2)],1)],1),t._v(" "),e("v-dialog",{attrs:{width:"600"},model:{value:t.alertDialog,callback:function(n){t.alertDialog=n},expression:"alertDialog"}},[e("v-card",[e("v-card-title",[t._v("\n "+t._s(t.selectedAlert.title)+"\n "),e("v-spacer"),t._v(" "),e("astro-status-indicator",{attrs:{status:t.selectedAlert.severity||"normal"}})],1),t._v(" "),e("v-card-text",[t._v("\n "+t._s(t.selectedAlert.body)+"\n ")]),t._v(" "),e("v-divider"),t._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(n){t.alertDialog=!1}}},[t._v("\n Dismiss\n ")])],1)],1)],1)],1)};Wt._withStripped=!0;var Yt=function(){var t=this,n=t.$createElement;return(t._self._c||n)("rux-icon",{staticClass:"astro-icon",attrs:{icon:t.icon}})};Yt._withStripped=!0;var qt=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("span",{style:t.style,attrs:{id:"rux-icon",title:t.label,size:t.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:t.getIcon(this.library,this.icon)}})])])};qt._withStripped=!0;var Zt={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}}},Jt=(0,tt.Z)(Zt,qt,[],!1,null,null,null);Jt.options.__file="packages/openc3-tool-common/src/components/icons/RuxIcon.vue";var Xt={components:{RuxIcon:Jt.exports},props:{icon:{type:String,required:!0,validator:function(t){return en.includes(t)}}}},Qt=u(3838),Kt={};Kt.styleTagTransform=Ot(),Kt.setAttributes=_t(),Kt.insert=kt().bind(null,"head"),Kt.domAPI=Ct(),Kt.insertStyleElement=Et(),bt()(Qt.Z,Kt),Qt.Z&&Qt.Z.locals&&Qt.Z.locals;var Vt=(0,tt.Z)(Xt,Yt,[],!1,null,"b942113a",null);Vt.options.__file="packages/openc3-tool-common/src/components/icons/AstroIcon.vue";var tn=Vt.exports;function nn(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}var en=["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"],on=en.reduce((function(t,n){return function(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?nn(Object(e),!0).forEach((function(n){(0,ct.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):nn(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}((0,ct.Z)({},"astro-".concat(n),{component:tn,props:{icon:n}}),t)}),{}),rn={fatal:"#ff69B4",critical:"#ff3838",serious:"#ffb302",caution:"#fce83a",normal:"#56f000",standby:"#2dccff",off:"#9ea7ad"},an=Object.keys(rn),sn={props:{size:{type:[String,Number],default:26}},data:function(){return{AstroStatusColors:rn,alerts:[],alertDialog:!1,showAlertPane:!1,selectedAlert:{}}},watch:{showAlertPane:function(t){t&&this.refreshList(),!t&&this.selectedAlert.title&&(this.alertDialog=!1,this.selectedAlert={})}},methods:{refreshList:function(){this.alerts=this.$store.state.notifyHistory},clearAlerts:function(){this.$store.commit("notifyClearHistory"),this.refreshList(),this.showAlertPane=!1},openDialog:function(t){this.selectedAlert=t,this.alertDialog=!0}}},ln=u(2003),cn={};cn.styleTagTransform=Ot(),cn.setAttributes=_t(),cn.insert=kt().bind(null,"head"),cn.domAPI=Ct(),cn.insertStyleElement=Et(),bt()(ln.Z,cn),ln.Z&&ln.Z.locals&&ln.Z.locals;var un=(0,tt.Z)(sn,Wt,[],!1,null,"3d0e2e40",null);un.options.__file="packages/openc3-tool-common/src/tools/base/components/AlertHistory.vue";var dn=un.exports,pn=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("v-overlay",{staticClass:"overlay",attrs:{value:t.showNotificationPane}}),t._v(" "),e("v-menu",{attrs:{transition:"slide-y-transition","close-on-content-click":!1,"nudge-width":340,"offset-y":"","nudge-bottom":20},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({attrs:{icon:""}},"v-btn",i,!1),o),[0===t.unreadCount?e("v-icon",{attrs:{size:t.size}},[t._v("\n mdi-bell-outline\n ")]):e("v-badge",{attrs:{left:"","offset-x":"24","offset-y":"8",color:t.badgeColor,bordered:"",content:t.unreadCount}},[e("v-icon",{attrs:{size:t.size,color:t.badgeColor}},[t._v(" mdi-bell ")])],1)],1)]}}]),model:{value:t.showNotificationPane,callback:function(n){t.showNotificationPane=n},expression:"showNotificationPane"}},[t._v(" "),e("v-card",[e("v-card-title",[t._v("\n Notifications\n "),e("v-spacer"),t._v(" "),e("v-tooltip",{attrs:{top:"","open-delay":"350"},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({staticClass:"ml-1",attrs:{icon:"","data-test":"clear-notifications"},on:{click:t.clearNotifications}},"v-btn",i,!1),o),[e("v-icon",[t._v(" mdi-notification-clear-all ")])],1)]}}])},[t._v(" "),e("span",[t._v("Clear all")])]),t._v(" "),e("v-btn",{staticClass:"ml-1",attrs:{icon:"","data-test":"notification-settings"},on:{click:t.toggleSettingsDialog}},[e("v-icon",[t._v(" $astro-settings ")])],1)],1),t._v(" "),0===t.notifications.length?e("v-card-text",[t._v("\n No notifications\n ")]):e("v-list",{staticClass:"overflow-y-auto",attrs:{"two-line":"",width:"388","max-height":"80vh","data-test":"notification-list"}},[t._l(t.notificationList,(function(n,o){return[n.header?[0!==o?e("v-divider",{key:o,staticClass:"mb-2"}):t._e(),t._v(" "),e("v-subheader",{key:n.header},[t._v("\n "+t._s(n.header)+"\n ")])]:e("v-list-item",{key:"notification-"+o,staticClass:"pl-2",on:{click:function(e){return t.openDialog(n)}}},[e("v-badge",{attrs:{left:"",inline:"",color:"transparent"},scopedSlots:t._u([{key:"badge",fn:function(){return[e("astro-status-indicator",{attrs:{status:n.severity.toLowerCase()}})]},proxy:!0}],null,!0)},[e("v-list-item-content",{staticClass:"pt-0 pb-0"},[e("v-list-item-title",{class:{"text--secondary":n.read}},[t._v("\n "+t._s(n.title)+"\n ")]),t._v(" "),e("v-list-item-subtitle",[t._v("\n "+t._s(n.body)+"\n ")])],1),t._v(" "),e("v-list-item-action",{staticClass:"mt-0"},[e("v-list-item-action-text",[t._v("\n "+t._s(t._f("shortDateTime")(n.time))+"\n ")]),t._v(" "),e("v-spacer")],1)],1)],1)]}))],2)],1)],1),t._v(" "),e("v-dialog",{attrs:{width:"600"},model:{value:t.notificationDialog,callback:function(n){t.notificationDialog=n},expression:"notificationDialog"}},[e("v-card",[e("v-card-title",[t._v("\n "+t._s(t.selectedNotification.title)+"\n "),e("v-spacer"),t._v(" "),e("astro-status-indicator",{attrs:{status:t.selectedNotification.severity||"normal"}})],1),t._v(" "),e("v-card-subtitle",[t._v("\n "+t._s(t._f("shortDateTime")(t.selectedNotification.time))+"\n ")]),t._v(" "),e("v-card-text",[t._v("\n "+t._s(t.selectedNotification.body)+"\n ")]),t._v(" "),e("v-divider"),t._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(n){return t.navigate(t.selectedNotification.url)}}},[t._v("\n Open\n "),e("v-icon",{attrs:{right:""}},[t._v(" mdi-open-in-new ")])],1),t._v(" "),e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(n){t.notificationDialog=!1}}},[t._v("\n Dismiss\n ")])],1)],1)],1),t._v(" "),e("v-dialog",{attrs:{width:"600"},model:{value:t.settingsDialog,callback:function(n){t.settingsDialog=n},expression:"settingsDialog"}},[e("v-card",[e("v-card-title",[t._v(" Notification settings ")]),t._v(" "),e("v-card-text",[e("v-switch",{attrs:{label:"Show toasts"},model:{value:t.showToast,callback:function(n){t.showToast=n},expression:"showToast"}})],1),t._v(" "),e("v-divider"),t._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:t.toggleSettingsDialog}},[t._v("\n close\n ")])],1)],1)],1)],1)};function fn(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}function An(t){return function(t){if(Array.isArray(t))return fn(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,n){if(t){if("string"==typeof t)return fn(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?fn(t,n):void 0}}(t)||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 hn(t,n){r(2,arguments);var e=a(t),o=a(n),i=e.getTime()-o.getTime();return i<0?-1:i>0?1:i}function mn(t,n){r(2,arguments);var e,o=a(t),i=a(n),s=hn(o,i),l=Math.abs(function(t,n){r(2,arguments);var e=a(t),o=a(n);return 12*(e.getFullYear()-o.getFullYear())+(e.getMonth()-o.getMonth())}(o,i));if(l<1)e=0;else{1===o.getMonth()&&o.getDate()>27&&o.setDate(30),o.setMonth(o.getMonth()-s*l);var c=hn(o,i)===-s;(function(t){r(1,arguments);var n=a(t);return function(t){r(1,arguments);var n=a(t);return n.setHours(23,59,59,999),n}(n).getTime()===function(t){r(1,arguments);var n=a(t),e=n.getMonth();return n.setFullYear(n.getFullYear(),e+1,0),n.setHours(23,59,59,999),n}(n).getTime()})(a(t))&&1===l&&1===hn(t,i)&&(c=!1),e=s*(l-Number(c))}return 0===e?0:e}pn._withStripped=!0;var gn={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},vn="trunc";function bn(t,n){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e]);return t}var yn=43200;function Cn(t,n,e){var o,i;r(2,arguments);var s=f(),l=null!==(o=null!==(i=null==e?void 0:e.locale)&&void 0!==i?i:s.locale)&&void 0!==o?o:Y;if(!l.formatDistance)throw new RangeError("locale must contain formatDistance property");var c=hn(t,n);if(isNaN(c))throw new RangeError("Invalid time value");var u,d,p=bn(bn({},e),{addSuffix:Boolean(null==e?void 0:e.addSuffix),comparison:c});c>0?(u=a(n),d=a(t)):(u=a(t),d=a(n));var A,h=function(t,n,e){r(2,arguments);var o,i=function(t,n){return r(2,arguments),a(t).getTime()-a(n).getTime()}(t,n)/1e3;return((o=null==e?void 0:e.roundingMethod)?gn[o]:gn[vn])(i)}(d,u),m=(I(d)-I(u))/1e3,g=Math.round((h-m)/60);if(g<2)return null!=e&&e.includeSeconds?h<5?l.formatDistance("lessThanXSeconds",5,p):h<10?l.formatDistance("lessThanXSeconds",10,p):h<20?l.formatDistance("lessThanXSeconds",20,p):h<40?l.formatDistance("halfAMinute",0,p):h<60?l.formatDistance("lessThanXMinutes",1,p):l.formatDistance("xMinutes",1,p):0===g?l.formatDistance("lessThanXMinutes",1,p):l.formatDistance("xMinutes",g,p);if(g<45)return l.formatDistance("xMinutes",g,p);if(g<90)return l.formatDistance("aboutXHours",1,p);if(g<1440){var v=Math.round(g/60);return l.formatDistance("aboutXHours",v,p)}if(g<2520)return l.formatDistance("xDays",1,p);if(g<yn){var b=Math.round(g/1440);return l.formatDistance("xDays",b,p)}if(g<86400)return A=Math.round(g/yn),l.formatDistance("aboutXMonths",A,p);if((A=mn(d,u))<12){var y=Math.round(g/yn);return l.formatDistance("xMonths",y,p)}var C=A%12,w=Math.floor(A/12);return C<3?l.formatDistance("aboutXYears",w,p):C<9?l.formatDistance("overXYears",w,p):l.formatDistance("almostXYears",w+1,p)}var wn=["fatal","critical","serious","caution","normal","standby","off"],kn={logger:self.console,WebSocket:self.WebSocket},xn={log(...t){this.enabled&&(t.push(Date.now()),kn.logger.log("[ActionCable]",...t))}};const _n=()=>(new Date).getTime(),Sn=t=>(_n()-t)/1e3;class En{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=_n(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),xn.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=_n(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),xn.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=_n()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,xn.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=_n(),xn.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){const{staleThreshold:t,reconnectionBackoffRate:n}=this.constructor;return 1e3*t*Math.pow(1+n,Math.min(this.reconnectAttempts,10))*(1+(0===this.reconnectAttempts?1:n)*Math.random())}reconnectIfStale(){this.connectionIsStale()&&(xn.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${Sn(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?xn.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${Sn(this.disconnectedAt)} s`):(xn.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return Sn(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&Sn(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){"visible"===document.visibilityState&&setTimeout((()=>{!this.connectionIsStale()&&this.connection.isOpen()||(xn.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}}En.staleThreshold=6,En.reconnectionBackoffRate=.15;var Tn={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"]};const{message_types:On,protocols:Bn}=Tn,Dn=Bn.slice(0,Bn.length-1),Nn=[].indexOf;class In{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new En(this),this.disconnected=!0}send(t){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(t)),!0)}open(){return this.isActive()?(xn.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1):(xn.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${Bn}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new kn.WebSocket(this.consumer.url,Bn),this.installEventHandlers(),this.monitor.start(),!0)}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(xn.log(`Reopening WebSocket, current state is ${this.getState()}`),!this.isActive())return this.open();try{return this.close()}catch(t){xn.log("Failed to reopen WebSocket",t)}finally{xn.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}isProtocolSupported(){return Nn.call(Dn,this.getProtocol())>=0}isState(...t){return Nn.call(t,this.getState())>=0}getState(){if(this.webSocket)for(let t in kn.WebSocket)if(kn.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase();return null}installEventHandlers(){for(let t in this.events){const n=this.events[t].bind(this);this.webSocket[`on${t}`]=n}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}}In.reopenDelay=500,In.prototype.events={message(t){if(!this.isProtocolSupported())return;const{identifier:n,message:e,reason:o,reconnect:i,type:r}=JSON.parse(t.data);switch(r){case On.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case On.disconnect:return xn.log(`Disconnecting. Reason: ${o}`),this.close({allowReconnect:i});case On.ping:return this.monitor.recordPing();case On.confirmation:return this.subscriptions.confirmSubscription(n),this.subscriptions.notify(n,"connected");case On.rejection:return this.subscriptions.reject(n);default:return this.subscriptions.notify(n,"received",e)}},open(){if(xn.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return xn.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(t){if(xn.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){xn.log("WebSocket onerror event")}};class Rn{constructor(t,n={},e){this.consumer=t,this.identifier=JSON.stringify(n),function(t,n){if(null!=n)for(let e in n){const o=n[e];t[e]=o}}(this,e)}perform(t,n={}){return n.action=t,this.send(n)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class Un{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){-1==this.pendingSubscriptions.indexOf(t)?(xn.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):xn.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){xn.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((n=>n!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&"function"==typeof this.subscriptions.subscribe&&this.pendingSubscriptions.map((t=>{xn.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}}class Mn{constructor(t){this.consumer=t,this.guarantor=new Un(this),this.subscriptions=[]}create(t,n){const e="object"==typeof t?t:{channel:t},o=new Rn(this.consumer,e,n);return this.add(o)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((t=>(this.forget(t),this.notify(t,"rejected"),t)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((n=>n!==t)),t}findAll(t){return this.subscriptions.filter((n=>n.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...n){return this.subscriptions.map((e=>this.notify(e,t,...n)))}notify(t,n,...e){let o;return o="string"==typeof t?this.findAll(t):[t],o.map((t=>"function"==typeof t[n]?t[n](...e):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){xn.log(`Subscription confirmed ${t}`),this.findAll(t).map((t=>this.guarantor.forget(t)))}sendCommand(t,n){const{identifier:e}=t;return this.consumer.send({command:n,identifier:e})}}class $n{constructor(t){this._url=t,this.subscriptions=new Mn(this),this.connection=new In(this)}get url(){return function(t){if("function"==typeof t&&(t=t()),t&&!/^wss?:/i.test(t)){const n=document.createElement("a");return n.href=t,n.href=n.href,n.protocol=n.protocol.replace("http","ws"),n.href}return t}(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}}function zn(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}En.staleThreshold=10;var Pn=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/openc3-api/cable";rt(this,t),this._cable=null,this._url=n}return lt(t,[{key:"disconnect",value:function(){this._cable&&this._cable.disconnect()}},{key:"createSubscription",value:function(t,n){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(n){if(n&&OpenC3Auth.setTokens(),null==e._cable){var r=e._url+"?scope="+window.openc3Scope+"&authorization="+localStorage.openc3Token;e._cable=function(t=function(t){const n=document.head.querySelector("meta[name='action-cable-url']");if(n)return n.getAttribute("content")}()||Tn.default_mount_path){return new $n(t)}(r)}return e._cable.subscriptions.create(function(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?zn(Object(e),!0).forEach((function(n){(0,ct.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):zn(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}({channel:t},i),o)}))}},{key:"recordPing",value:function(){this._cable.connection.monitor.recordPing()}}]),t}();function jn(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}function Fn(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?jn(Object(e),!0).forEach((function(n){(0,ct.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):jn(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}var Ln=100,Gn={props:{size:{type:[String,Number],default:26}},data:function(){return{AstroStatusColors:rn,cable:new Pn,subscription:null,notifications:[],showNotificationPane:!1,toastNotification:{},notificationDialog:!1,selectedNotification:{},settingsDialog:!1,showToast:!0}},computed:{badgeColor:function(){if(!this.unreadCount)return rn.off;var t=this.unreadNotifications.map((function(t){return t.severity})).filter((function(t,n,e){return e.indexOf(t)===n}));return rn[function(t){var n=function(t){return t.map((function(t){return wn.indexOf(t.toLowerCase())}))}(t),e=Math.min.apply(Math,An(n));return wn[e]}(t)]},readNotifications:function(){return this.notifications.filter((function(t){return t.read})).sort((function(t,n){return n.time-t.time}))},unreadNotifications:function(){return this.notifications.filter((function(t){return!t.read})).sort((function(t,n){return n.time-t.time}))},unreadCount:function(){var t=this.unreadNotifications.length;return t>=Ln&&(t+="+"),t},notificationList:function(){var t=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t){return t.severity};return t.reduce((function(t,e){var o=n(e);return t[o]||(t[o]=[]),t[o].push(e),t}),{})}(this.unreadNotifications),n=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t){return t.severity};return t.sort((function(t,e){return wn.indexOf(n(t))-wn.indexOf(n(e))}))}(Object.keys(t),(function(t){return t})).flatMap((function(n){return[{header:n.charAt(0).toUpperCase()+n.slice(1)}].concat(An(t[n]))}));return this.readNotifications.length&&(n=n.concat([{header:"Read"}].concat(An(this.readNotifications)))),n}},watch:{showNotificationPane:function(t){t||(this.selectedNotification.title?(this.notificationDialog=!1,this.selectedNotification={}):this.markAllAsRead())},showToast:function(t){localStorage.notoast=!t}},created:function(){this.showToast="false"===localStorage.notoast,this.subscribe()},destroyed:function(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{markAllAsRead:function(){this.notifications.forEach((function(t){t.read=!0,(!localStorage.lastReadNotification||localStorage.lastReadNotification<t.msg_id)&&(localStorage.lastReadNotification=t.msg_id)}))},clearNotifications:function(){this.markAllAsRead(),this.notifications=[],localStorage.notificationStreamOffset=localStorage.lastReadNotification,this.showNotificationPane=!1},toggleNotificationPane:function(){this.showNotificationPane=!this.showNotificationPane},toggleSettingsDialog:function(){this.settingsDialog=!this.settingsDialog},openDialog:function(t){t.read=!0,(!localStorage.lastReadNotification||localStorage.lastReadNotification<t.msg_id)&&(localStorage.lastReadNotification=t.msg_id),this.selectedNotification=t,this.notificationDialog=!0},navigate:function(t){window.open(t,"_blank")},subscribe:function(){var t=this;this.cable.createSubscription("NotificationsChannel",window.openc3Scope,{received:function(n){return t.received(n)}},{start_offset:localStorage.notificationStreamOffset||localStorage.lastReadNotification}).then((function(n){t.subscription=n}))},received:function(t){var n=this;this.cable.recordPing(),t.length>Ln&&t.splice(0,t.length-Ln);var e=!1;t.forEach((function(t){t.read=t.msg_id<=localStorage.lastReadNotification,t.severity=t.severity||"normal",t.read||!["critical","serious"].includes(t.severity)&&"critical"!==t.severity||(e=!0,n.toastNotification=t)})),this.showToast&&e&&this.$notify[this.toastNotification.severity](Fn(Fn({},this.toastNotification),{},{type:"notification",duration:"critical"===this.toastNotification.severity?null:5e3,saveToHistory:!1})),this.notifications.length+t.length>Ln&&this.notifications.splice(0,this.notifications.length+t.length-Ln),this.notifications=this.notifications.concat(t)}},filters:{shortDateTime:function(t){return t?function(t,n){return r(1,arguments),Cn(t,Date.now(),n)}(new Date(t/1e6),{addSuffix:!0}):""}}},Hn=Gn,Wn=u(1840),Yn={};Yn.styleTagTransform=Ot(),Yn.setAttributes=_t(),Yn.insert=kt().bind(null,"head"),Yn.domAPI=Ct(),Yn.insertStyleElement=Et(),bt()(Wn.Z,Yn),Wn.Z&&Wn.Z.locals&&Wn.Z.locals;var qn=(0,tt.Z)(Hn,pn,[],!1,null,"eda8ca60",null);qn.options.__file="packages/openc3-tool-common/src/tools/base/components/Notifications.vue";var Zn=qn.exports,Jn=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("v-overlay",{staticClass:"overlay",attrs:{value:t.showUserMenu}}),t._v(" "),e("v-menu",{attrs:{transition:"slide-y-transition","offset-y":"","close-on-content-click":!1,"nudge-width":120,"nudge-bottom":20},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({attrs:{icon:""}},"v-btn",i,!1),o),[e("v-icon",{attrs:{size:t.size}},[t._v(" mdi-account ")])],1)]}}]),model:{value:t.showUserMenu,callback:function(n){t.showUserMenu=n},expression:"showUserMenu"}},[t._v(" "),e("v-card",[e("v-card-text",{staticClass:"text-center"},[e("div",{staticStyle:{"text-align":"center",margin:"5px"}},[t._v(t._s(t.username))]),t._v(" "),t.authenticated?e("div",[e("v-btn",{attrs:{block:"",color:"primary"},on:{click:t.logout}},[t._v(" Logout ")])],1):e("div",[e("v-btn",{attrs:{block:"",color:"primary"},on:{click:t.login}},[t._v(" Login ")])],1),t._v(" "),"Anonymous"===t.username?e("div",{staticClass:"pt-2 link",on:{click:function(n){t.showUpgradeToEnterpriseDialog=!0}}},[t._v("\n Click to learn more about"),e("br"),t._v("\n COSMOS Enterprise Edition\n ")]):t._e(),t._v(" "),e("div",[e("v-switch",{attrs:{label:"Colorblind mode"},model:{value:t.colorblindMode,callback:function(n){t.colorblindMode=n},expression:"colorblindMode"}})],1)])],1)],1),t._v(" "),e("upgrade-to-enterprise-dialog",{model:{value:t.showUpgradeToEnterpriseDialog,callback:function(n){t.showUpgradeToEnterpriseDialog=n},expression:"showUpgradeToEnterpriseDialog"}})],1)};Jn._withStripped=!0;var Xn={components:{UpgradeToEnterpriseDialog:It},props:{size:{type:[String,Number],default:26}},data:function(){var t=OpenC3Auth.user();return{showUserMenu:!1,authenticated:!!localStorage.openc3Token,username:t.name,showUpgradeToEnterpriseDialog:!1}},computed:{colorblindMode:{get:function(){return"true"===localStorage.colorblindMode},set:function(t){localStorage.colorblindMode=t}}},methods:{logout:function(){OpenC3Auth.logout()},login:function(){OpenC3Auth.login(location.href)}}},Qn=u(6793),Kn={};Kn.styleTagTransform=Ot(),Kn.setAttributes=_t(),Kn.insert=kt().bind(null,"head"),Kn.domAPI=Ct(),Kn.insertStyleElement=Et(),bt()(Qn.Z,Kn),Qn.Z&&Qn.Z.locals&&Qn.Z.locals;var Vn=(0,tt.Z)(Xn,Jn,[],!1,null,"26b5fc12",null);Vn.options.__file="packages/openc3-tool-common/src/tools/base/components/UserMenu.vue";var te={components:{ScopeSelector:Ht,AlertHistory:dn,Notifications:Zn,UserMenu:Vn.exports,UpgradeToEnterpriseDialog:It},props:{edition:{type:String,default:""}},data:function(){return{items:[],drawer:!0,appNav:{},logo:mt,initiallyOpen:[],showUpgradeToEnterpriseDialog:!1}},computed:{shownTools:function(){for(var t={},n=0,e=Object.keys(this.appNav);n<e.length;n++){var o=e[n];this.appNav[o].shown&&"Admin"!==this.appNav[o].category&&(t[o]=this.appNav[o])}return t},adminTools:function(){for(var t={},n=0,e=Object.keys(this.appNav);n<e.length;n++){var o=e[n];this.appNav[o].shown&&"Admin"===this.appNav[o].category&&(t[o]=this.appNav[o])}return t}},created:function(){var t=this;ot.Z.get("/openc3-api/tools/all",{params:{scope:"DEFAULT"}}).then((function(n){t.appNav=n.data;for(var e=1,o=function(){if(l=r[i],t.appNav[l].shown){if(t.appNav[l].category&&"Admin"!==t.appNav[l].category){t.initiallyOpen.push(t.appNav[l].category);var n=t.items.filter((function(n){return n.name===t.appNav[l].category}));0===n.length?(t.items.push({id:e,name:t.appNav[l].category,children:[{id:e+1,name:t.appNav[l].name,icon:t.appNav[l].icon,url:t.appNav[l].url}]}),e++):n[0].children.push({id:e,name:t.appNav[l].name,icon:t.appNav[l].icon,url:t.appNav[l].url})}else t.appNav[l].category||t.items.push({id:e,name:t.appNav[l].name,icon:t.appNav[l].icon,url:t.appNav[l].url});if(e++,t.appNav[l].folder_name){var o=t.appNav[l].folder_name,a="@openc3/tool-"+o;(0,jt.registerApplication)({name:a,app:function(){return System.import(a)},activeWhen:["/tools/"+o]})}}},i=0,r=Object.keys(t.appNav);i<r.length;i++)o();if((0,jt.start)({urlRerouteOnly:!0}),"/"==window.location.pathname||"/tools"==window.location.pathname||"/tools/"==window.location.pathname)for(var a=0,s=Object.keys(t.shownTools);a<s.length;a++){var l=s[a];if(t.appNav[l].shown){history.replaceState(null,"",t.appNav[l].url);break}}setInterval((function(){OpenC3Auth.updateToken(120).then((function(t){t&&OpenC3Auth.setTokens()}))}),6e4)}))},methods:{newTabUrl:function(t){var n=null;return(n="/"==t.url[0]&&"/"!=t.url[1]?new URL(t.url,window.location.origin):new URL(t.url)).searchParams.set("scope",window.openc3Scope),n.href}}},ne=u(6509),ee={};ee.styleTagTransform=Ot(),ee.setAttributes=_t(),ee.insert=kt().bind(null,"head"),ee.domAPI=Ct(),ee.insertStyleElement=Et(),bt()(ne.Z,ee),ne.Z&&ne.Z.locals&&ne.Z.locals;var oe=u(6716),ie={};ie.styleTagTransform=Ot(),ie.setAttributes=_t(),ie.insert=kt().bind(null,"head"),ie.domAPI=Ct(),ie.insertStyleElement=Et(),bt()(oe.Z,ie),oe.Z&&oe.Z.locals&&oe.Z.locals;var re=(0,tt.Z)(te,Pt,[],!1,null,"00ae1763",null);re.options.__file="packages/openc3-tool-common/src/tools/base/AppNav.vue";var ae=re.exports,se=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-dialog",{attrs:{width:"500"},model:{value:t.dialog,callback:function(n){t.dialog=n},expression:"dialog"}},[e("v-card",[e("v-card-title",[t._v(" Clock out of sync ")]),t._v(" "),e("v-card-text",[t._v("\n We've detected that your clock is approximately\n "+t._s(Math.abs(t.approximateDiscrepancySec))+" seconds\n "+t._s(t.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:t.suppress,callback:function(n){t.suppress=n},expression:"suppress"}})],1),t._v(" "),e("v-divider"),t._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:t.dismiss}},[t._v(" Dismiss ")])],1)],1)],1)};se._withStripped=!0;var le=u(4206),ce=u.n(le),ue={data:function(){return{dismissed:!1,suppress:!1,discrepancy:0}},created:function(){var t=this;this.suppress="true"===localStorage.suppresswarning__clock_out_of_sync_with_server,this.suppress||ce().get("/openc3-api/time").then((function(n){t.discrepancy=n.data.now_nsec/1e6-Date.now()})).catch((function(n){t.dismissed=!0}))},methods:{dismiss:function(){localStorage.suppresswarning__clock_out_of_sync_with_server=this.suppress,this.dismissed=!0}},computed:{approximateDiscrepancySec:function(){return(this.discrepancy/1e3).toFixed()},dialog:function(){return!this.dismissed&&Math.abs(this.discrepancy)>=3e3}}},de=(0,tt.Z)(ue,se,[],!1,null,null,null);de.options.__file="packages/openc3-tool-common/src/tools/base/components/TimeCheck.vue";var pe=de.exports,fe={data:function(){return{api:null,classification:{text:"",fontColor:"white",backgroundColor:"red",topHeight:0,bottomHeight:0}}},computed:{classificationStyles:function(){return['--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(){this.api=new ft,this.load()},methods:{load:function(){var t=this;this.api.get_setting("classification_banner").then((function(n){n&&(t.classification=JSON.parse(n))})).catch((function(t){}))}}},Ae=u(7650),he={};he.styleTagTransform=Ot(),he.setAttributes=_t(),he.insert=kt().bind(null,"head"),he.domAPI=Ct(),he.insertStyleElement=Et(),bt()(Ae.Z,he),Ae.Z&&Ae.Z.locals&&Ae.Z.locals;var me=(0,tt.Z)(fe,void 0,void 0,!1,null,null,null);me.options.__file="packages/openc3-tool-common/src/tools/base/components/ClassificationBanners.vue";var ge=me.exports;function ve(){var t="/openc3/plugins/openc3-tool-base/src/App.vue",n=new Function("return this")(),e="__coverage__",o=n[e]||(n[e]={});o[t]&&"127f32b442957ae6e9c4e1d603f2e623247ae7d0"===o[t].hash||(o[t]={path:"/openc3/plugins/openc3-tool-base/src/App.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,sources:["App.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA;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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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 '../../packages/openc3-tool-common/src/tools/base/AppFooter'\nimport AppNav from '../../packages/openc3-tool-common/src/tools/base/AppNav'\nimport TimeCheck from '../../packages/openc3-tool-common/src/tools/base/components/TimeCheck'\nimport ClassificationBanners from '../../packages/openc3-tool-common/src/tools/base/components/ClassificationBanners'\nexport default {\n components: {\n AppFooter,\n AppNav,\n TimeCheck,\n },\n mixins: [ClassificationBanners],\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"127f32b442957ae6e9c4e1d603f2e623247ae7d0"});var i=o[t];return ve=function(){return i},i}ve();var be={components:{AppFooter:zt,AppNav:ae,TimeCheck:pe},mixins:[ge]},ye=(0,tt.Z)(be,n,[],!1,null,null,null);ye.options.__file="src/App.vue";var Ce=ye.exports,we=u(4688);function ke(){var t="/openc3/plugins/openc3-tool-base/src/router.js",n=new Function("return this")(),e="__coverage__",o=n[e]||(n[e]={});o[t]&&"e884ed9d4d0f1b2f1d582e44c67785b854c9d24b"===o[t].hash||(o[t]={path:"/openc3/plugins/openc3-tool-base/src/router.js",statementMap:{0:{start:{line:26,column:0},end:{line:26,column:15}},1:{start:{line:36,column:8},end:{line:38,column:9}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:35,column:17},end:{line:35,column:18}},loc:{start:{line:36,column:8},end:{line:38,column:9}},line:36}},branchMap:{},s:{0:0,1:0},f:{0:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"e884ed9d4d0f1b2f1d582e44c67785b854c9d24b"});var i=o[t];return ke=function(){return i},i}ke(),ke().s[0]++,t.default.use(we.default);var xe=new we.default({mode:"history",base:void 0,routes:[{path:"/login",name:"Login",component:function(){return ke().f[0]++,ke().s[1]++,u.e(543).then(u.bind(u,1543))}}]}),_e=u(9191);t.default.use(_e.default),window.hasOwnProperty("OpenC3Store")||(window.OpenC3Store=new _e.default.Store({state:{notifyHistory:[]},getters:{},mutations:{notifyAddHistory:function(t,n){t.notifyHistory.length>=100&&(t.notifyHistory.length=99),t.notifyHistory.unshift(n)},notifyClearHistory:function(t){t.notifyHistory=[]}},modules:{}}));var Se=window.OpenC3Store;function Ee(t){return Ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ee(t)}function Te(t,n,e){return(n=function(t){var n=function(t,n){if("object"!==Ee(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var o=e.call(t,"string");if("object"!==Ee(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Ee(n)?n:String(n)}(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}u(7861);var Oe=u(9731);function Be(){var t="/openc3/plugins/openc3-tool-base/src/plugins/vuetify.js",n=new Function("return this")(),e="__coverage__",o=n[e]||(n[e]={});o[t]&&"1e74846ce649fd5e77c4a4792c7d1620be397d94"===o[t].hash||(o[t]={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[t];return Be=function(){return i},i}function De(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}Be(),Be().s[0]++,t.default.use(Oe.default);var Ne=new Oe.default({theme:{dark:!0,options:{customProperties:!0},themes:{dark:{primary:"#005a8f",secondary:"#4dacff",tertiary:"#283f58"},light:{primary:"#cce6ff",secondary:"#cce6ff"}}},icons:{values:function(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?De(Object(e),!0).forEach((function(n){Te(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):De(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}({},on)}}),Ie=function(){var t=this,n=t.$createElement;return(t._self._c||n)("div",{style:t.iconStyle})};Ie._withStripped=!0;var Re=u.p+"91e6b78a8fe72c6a5cc5.png",Ue=(u.p,{props:{status:{type:String,required:!0,validator:function(t){return an.includes(t)}},large:{type:Boolean},small:{type:Boolean},scale:{type:Number}},computed:{icons:function(){return Re},scaleFactor:function(){return this.scale?this.scale:this.large?1:this.small?.3:.5},iconStyle:function(){var t=224*this.scaleFactor,n=32*this.scaleFactor,e=32*this.scaleFactor,o=an.indexOf(this.status);return["background-image: url(".concat(this.icons,");"),"background-position-x: -".concat(o*e,"px;"),"background-size: ".concat(t,"px ").concat(n,"px;"),"height: ".concat(e,"px;"),"width: ".concat(e,"px;")].join("")}}}),Me=(0,tt.Z)(Ue,Ie,[],!1,null,null,null);Me.options.__file="packages/openc3-tool-common/src/components/icons/AstroStatusIndicator.vue";var $e=Me.exports;function ze(){var t="/openc3/plugins/openc3-tool-base/src/openc3-tool-base.js",n=new Function("return this")(),e="__coverage__",o=n[e]||(n[e]={});o[t]&&"948bc4bd7769e8307c1a0a84e62fb1c3692a0fbd"===o[t].hash||(o[t]={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:12,column:0},end:{line:12,column:61}},2:{start:{line:14,column:16},end:{line:14,column:43}},3:{start:{line:15,column:0},end:{line:26,column:2}},4:{start:{line:18,column:2},end:{line:18,column:32}},5:{start:{line:20,column:2},end:{line:25,column:27}},6:{start:{line:24,column:19},end:{line:24,column:25}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:15,column:30},end:{line:15,column:31}},loc:{start:{line:15,column:36},end:{line:26,column:1}},line:15},1:{name:"(anonymous_1)",decl:{start:{line:24,column:12},end:{line:24,column:13}},loc:{start:{line:24,column:19},end:{line:24,column:25}},line:24}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"948bc4bd7769e8307c1a0a84e62fb1c3692a0fbd"});var i=o[t];return ze=function(){return i},i}ze(),ze().s[0]++,t.default.config.productionTip=!1,ze().s[1]++,t.default.component("astro-status-indicator",$e);var Pe=(ze().s[2]++,OpenC3Auth.getInitOptions());ze().s[3]++,OpenC3Auth.init(Pe).then((function(){ze().f[0]++,ze().s[4]++,window.openc3Scope="DEFAULT",ze().s[5]++,new t.default({router:xe,store:Se,vuetify:Ne,render:function(t){return ze().f[1]++,ze().s[6]++,t(Ce)}}).$mount("#openc3-main")}))}(),d}())}}}));
1
+ System.register(["vue","single-spa","vue-router","vuex","vuetify"],(function(t,n){var e={},o={},i={},r={},a={};return{setters:[function(t){e.default=t.default},function(t){o.registerApplication=t.registerApplication,o.start=t.start},function(t){i.default=t.default},function(t){r.default=t.default},function(t){a.default=t.default}],execute:function(){t(function(){var t,s,l={4206:function(t,n,e){t.exports=e(8057)},4387:function(t,n,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(4832),d=e(7354),p=e(8870),f=e(4906);t.exports=function(t){return new Promise((function(n,e){var A,h=t.data,m=t.headers,g=t.responseType;function v(){t.cancelToken&&t.cancelToken.unsubscribe(A),t.signal&&t.signal.removeEventListener("abort",A)}o.isFormData(h)&&o.isStandardBrowserEnv()&&delete m["Content-Type"];var b=new XMLHttpRequest;if(t.auth){var y=t.auth.username||"",C=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";m.Authorization="Basic "+btoa(y+":"+C)}var w=s(t.baseURL,t.url);function k(){if(b){var o="getAllResponseHeaders"in b?l(b.getAllResponseHeaders()):null,r={data:g&&"text"!==g&&"json"!==g?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:o,config:t,request:b};i((function(t){n(t),v()}),(function(t){e(t),v()}),r),b=null}}if(b.open(t.method.toUpperCase(),a(w,t.params,t.paramsSerializer),!0),b.timeout=t.timeout,"onloadend"in b?b.onloadend=k:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(k)},b.onabort=function(){b&&(e(new d("Request aborted",d.ECONNABORTED,t,b)),b=null)},b.onerror=function(){e(new d("Network Error",d.ERR_NETWORK,t,b,b)),b=null},b.ontimeout=function(){var n=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",o=t.transitional||u;t.timeoutErrorMessage&&(n=t.timeoutErrorMessage),e(new d(n,o.clarifyTimeoutError?d.ETIMEDOUT:d.ECONNABORTED,t,b)),b=null},o.isStandardBrowserEnv()){var x=(t.withCredentials||c(w))&&t.xsrfCookieName?r.read(t.xsrfCookieName):void 0;x&&(m[t.xsrfHeaderName]=x)}"setRequestHeader"in b&&o.forEach(m,(function(t,n){void 0===h&&"content-type"===n.toLowerCase()?delete m[n]:b.setRequestHeader(n,t)})),o.isUndefined(t.withCredentials)||(b.withCredentials=!!t.withCredentials),g&&"json"!==g&&(b.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&b.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(A=function(t){b&&(e(!t||t&&t.type?new p:t),b.abort(),b=null)},t.cancelToken&&t.cancelToken.subscribe(A),t.signal&&(t.signal.aborted?A():t.signal.addEventListener("abort",A))),h||(h=null);var _=f(w);_&&-1===["http","https","file"].indexOf(_)?e(new d("Unsupported protocol "+_+":",d.ERR_BAD_REQUEST,t)):b.send(h)}))}},8057:function(t,n,e){"use strict";var o=e(7485),i=e(875),r=e(5029),a=e(4941),s=function t(n){var e=new r(n),s=i(r.prototype.request,e);return o.extend(s,r.prototype,e),o.extend(s,e),s.create=function(e){return t(a(n,e))},s}(e(8396));s.Axios=r,s.CanceledError=e(8870),s.CancelToken=e(4603),s.isCancel=e(1475),s.VERSION=e(3345).version,s.toFormData=e(1020),s.AxiosError=e(7354),s.Cancel=s.CanceledError,s.all=function(t){return Promise.all(t)},s.spread=e(5739),s.isAxiosError=e(5835),t.exports=s,t.exports.default=s},4603:function(t,n,e){"use strict";var o=e(8870);function i(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var n;this.promise=new Promise((function(t){n=t}));var e=this;this.promise.then((function(t){if(e._listeners){var n,o=e._listeners.length;for(n=0;n<o;n++)e._listeners[n](t);e._listeners=null}})),this.promise.then=function(t){var n,o=new Promise((function(t){e.subscribe(t),n=t})).then(t);return o.cancel=function(){e.unsubscribe(n)},o},t((function(t){e.reason||(e.reason=new o(t),n(e.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.prototype.subscribe=function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]},i.prototype.unsubscribe=function(t){if(this._listeners){var n=this._listeners.indexOf(t);-1!==n&&this._listeners.splice(n,1)}},i.source=function(){var t;return{token:new i((function(n){t=n})),cancel:t}},t.exports=i},8870:function(t,n,e){"use strict";var o=e(7354);function i(t){o.call(this,null==t?"canceled":t,o.ERR_CANCELED),this.name="CanceledError"}e(7485).inherits(i,o,{__CANCEL__:!0}),t.exports=i},1475:function(t){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},5029:function(t,n,e){"use strict";var o=e(7485),i=e(581),r=e(8096),a=e(5009),s=e(4941),l=e(574),c=e(6144),u=c.validators;function d(t){this.defaults=t,this.interceptors={request:new r,response:new r}}d.prototype.request=function(t,n){"string"==typeof t?(n=n||{}).url=t:n=t||{},(n=s(this.defaults,n)).method?n.method=n.method.toLowerCase():this.defaults.method?n.method=this.defaults.method.toLowerCase():n.method="get";var e=n.transitional;void 0!==e&&c.assertOptions(e,{silentJSONParsing:u.transitional(u.boolean),forcedJSONParsing:u.transitional(u.boolean),clarifyTimeoutError:u.transitional(u.boolean)},!1);var o=[],i=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(n)||(i=i&&t.synchronous,o.unshift(t.fulfilled,t.rejected))}));var r,l=[];if(this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)})),!i){var d=[a,void 0];for(Array.prototype.unshift.apply(d,o),d=d.concat(l),r=Promise.resolve(n);d.length;)r=r.then(d.shift(),d.shift());return r}for(var p=n;o.length;){var f=o.shift(),A=o.shift();try{p=f(p)}catch(t){A(t);break}}try{r=a(p)}catch(t){return Promise.reject(t)}for(;l.length;)r=r.then(l.shift(),l.shift());return r},d.prototype.getUri=function(t){t=s(this.defaults,t);var n=l(t.baseURL,t.url);return i(n,t.params,t.paramsSerializer)},o.forEach(["delete","get","head","options"],(function(t){d.prototype[t]=function(n,e){return this.request(s(e||{},{method:t,url:n,data:(e||{}).data}))}})),o.forEach(["post","put","patch"],(function(t){function n(n){return function(e,o,i){return this.request(s(i||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:e,data:o}))}}d.prototype[t]=n(),d.prototype[t+"Form"]=n(!0)})),t.exports=d},7354:function(t,n,e){"use strict";var o=e(7485);function i(t,n,e,o,i){Error.call(this),this.message=t,this.name="AxiosError",n&&(this.code=n),e&&(this.config=e),o&&(this.request=o),i&&(this.response=i)}o.inherits(i,Error,{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}}});var r=i.prototype,a={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach((function(t){a[t]={value:t}})),Object.defineProperties(i,a),Object.defineProperty(r,"isAxiosError",{value:!0}),i.from=function(t,n,e,a,s,l){var c=Object.create(r);return o.toFlatObject(t,c,(function(t){return t!==Error.prototype})),i.call(c,t.message,n,e,a,s),c.name=t.name,l&&Object.assign(c,l),c},t.exports=i},8096:function(t,n,e){"use strict";var o=e(7485);function i(){this.handlers=[]}i.prototype.use=function(t,n,e){return this.handlers.push({fulfilled:t,rejected:n,synchronous:!!e&&e.synchronous,runWhen:e?e.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){o.forEach(this.handlers,(function(n){null!==n&&t(n)}))},t.exports=i},574:function(t,n,e){"use strict";var o=e(2642),i=e(2288);t.exports=function(t,n){return t&&!o(n)?i(t,n):n}},5009:function(t,n,e){"use strict";var o=e(7485),i=e(9212),r=e(1475),a=e(8396),s=e(8870);function l(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new s}t.exports=function(t){return l(t),t.headers=t.headers||{},t.data=i.call(t,t.data,t.headers,t.transformRequest),t.headers=o.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),o.forEach(["delete","get","head","post","put","patch","common"],(function(n){delete t.headers[n]})),(t.adapter||a.adapter)(t).then((function(n){return l(t),n.data=i.call(t,n.data,n.headers,t.transformResponse),n}),(function(n){return r(n)||(l(t),n&&n.response&&(n.response.data=i.call(t,n.response.data,n.response.headers,t.transformResponse))),Promise.reject(n)}))}},4941:function(t,n,e){"use strict";var o=e(7485);t.exports=function(t,n){n=n||{};var e={};function i(t,n){return o.isPlainObject(t)&&o.isPlainObject(n)?o.merge(t,n):o.isPlainObject(n)?o.merge({},n):o.isArray(n)?n.slice():n}function r(e){return o.isUndefined(n[e])?o.isUndefined(t[e])?void 0:i(void 0,t[e]):i(t[e],n[e])}function a(t){if(!o.isUndefined(n[t]))return i(void 0,n[t])}function s(e){return o.isUndefined(n[e])?o.isUndefined(t[e])?void 0:i(void 0,t[e]):i(void 0,n[e])}function l(e){return e in n?i(t[e],n[e]):e in t?i(void 0,t[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,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:l};return o.forEach(Object.keys(t).concat(Object.keys(n)),(function(t){var n=c[t]||r,i=n(t);o.isUndefined(i)&&n!==l||(e[t]=i)})),e}},4570:function(t,n,e){"use strict";var o=e(7354);t.exports=function(t,n,e){var i=e.config.validateStatus;e.status&&i&&!i(e.status)?n(new o("Request failed with status code "+e.status,[o.ERR_BAD_REQUEST,o.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e)):t(e)}},9212:function(t,n,e){"use strict";var o=e(7485),i=e(8396);t.exports=function(t,n,e){var r=this||i;return o.forEach(e,(function(e){t=e.call(r,t,n)})),t}},8396:function(t,n,e){"use strict";var o=e(7485),i=e(1446),r=e(7354),a=e(4832),s=e(1020),l={"Content-Type":"application/x-www-form-urlencoded"};function c(t,n){!o.isUndefined(t)&&o.isUndefined(t["Content-Type"])&&(t["Content-Type"]=n)}var u,d={transitional:a,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(u=e(4387)),u),transformRequest:[function(t,n){if(i(n,"Accept"),i(n,"Content-Type"),o.isFormData(t)||o.isArrayBuffer(t)||o.isBuffer(t)||o.isStream(t)||o.isFile(t)||o.isBlob(t))return t;if(o.isArrayBufferView(t))return t.buffer;if(o.isURLSearchParams(t))return c(n,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var e,r=o.isObject(t),a=n&&n["Content-Type"];if((e=o.isFileList(t))||r&&"multipart/form-data"===a){var l=this.env&&this.env.FormData;return s(e?{"files[]":t}:t,l&&new l)}return r||"application/json"===a?(c(n,"application/json"),function(t,n,e){if(o.isString(t))try{return(0,JSON.parse)(t),o.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var n=this.transitional||d.transitional,e=n&&n.silentJSONParsing,i=n&&n.forcedJSONParsing,a=!e&&"json"===this.responseType;if(a||i&&o.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(a){if("SyntaxError"===t.name)throw r.from(t,r.ERR_BAD_RESPONSE,this,null,this.response);throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:e(8750)},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],(function(t){d.headers[t]={}})),o.forEach(["post","put","patch"],(function(t){d.headers[t]=o.merge(l)})),t.exports=d},4832:function(t){"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},3345:function(t){t.exports={version:"0.27.2"}},875:function(t){"use strict";t.exports=function(t,n){return function(){for(var e=new Array(arguments.length),o=0;o<e.length;o++)e[o]=arguments[o];return t.apply(n,e)}}},581:function(t,n,e){"use strict";var o=e(7485);function i(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,n,e){if(!n)return t;var r;if(e)r=e(n);else if(o.isURLSearchParams(n))r=n.toString();else{var a=[];o.forEach(n,(function(t,n){null!=t&&(o.isArray(t)?n+="[]":t=[t],o.forEach(t,(function(t){o.isDate(t)?t=t.toISOString():o.isObject(t)&&(t=JSON.stringify(t)),a.push(i(n)+"="+i(t))})))})),r=a.join("&")}if(r){var s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+r}return t}},2288:function(t){"use strict";t.exports=function(t,n){return n?t.replace(/\/+$/,"")+"/"+n.replace(/^\/+/,""):t}},2940:function(t,n,e){"use strict";var o=e(7485);t.exports=o.isStandardBrowserEnv()?{write:function(t,n,e,i,r,a){var s=[];s.push(t+"="+encodeURIComponent(n)),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(t){var n=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return n?decodeURIComponent(n[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},2642:function(t){"use strict";t.exports=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}},5835:function(t,n,e){"use strict";var o=e(7485);t.exports=function(t){return o.isObject(t)&&!0===t.isAxiosError}},8338:function(t,n,e){"use strict";var o=e(7485);t.exports=o.isStandardBrowserEnv()?function(){var t,n=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");function i(t){var o=t;return n&&(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 t=i(window.location.href),function(n){var e=o.isString(n)?i(n):n;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0}},1446:function(t,n,e){"use strict";var o=e(7485);t.exports=function(t,n){o.forEach(t,(function(e,o){o!==n&&o.toUpperCase()===n.toUpperCase()&&(t[n]=e,delete t[o])}))}},8750:function(t){t.exports=null},3845:function(t,n,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"];t.exports=function(t){var n,e,r,a={};return t?(o.forEach(t.split("\n"),(function(t){if(r=t.indexOf(":"),n=o.trim(t.substr(0,r)).toLowerCase(),e=o.trim(t.substr(r+1)),n){if(a[n]&&i.indexOf(n)>=0)return;a[n]="set-cookie"===n?(a[n]?a[n]:[]).concat([e]):a[n]?a[n]+", "+e:e}})),a):a}},4906:function(t){"use strict";t.exports=function(t){var n=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return n&&n[1]||""}},5739:function(t){"use strict";t.exports=function(t){return function(n){return t.apply(null,n)}}},1020:function(t,n,e){"use strict";var o=e(7485);t.exports=function(t,n){n=n||new FormData;var e=[];function i(t){return null===t?"":o.isDate(t)?t.toISOString():o.isArrayBuffer(t)||o.isTypedArray(t)?"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}return function t(r,a){if(o.isPlainObject(r)||o.isArray(r)){if(-1!==e.indexOf(r))throw Error("Circular reference detected in "+a);e.push(r),o.forEach(r,(function(e,r){if(!o.isUndefined(e)){var s,l=a?a+"."+r:r;if(e&&!a&&"object"==typeof e)if(o.endsWith(r,"{}"))e=JSON.stringify(e);else if(o.endsWith(r,"[]")&&(s=o.toArray(e)))return void s.forEach((function(t){!o.isUndefined(t)&&n.append(l,i(t))}));t(e,l)}})),e.pop()}else n.append(a,i(r))}(t),n}},6144:function(t,n,e){"use strict";var o=e(3345).version,i=e(7354),r={};["object","boolean","number","function","string","symbol"].forEach((function(t,n){r[t]=function(e){return typeof e===t||"a"+(n<1?"n ":" ")+t}}));var a={};r.transitional=function(t,n,e){function r(t,n){return"[Axios v"+o+"] Transitional option '"+t+"'"+n+(e?". "+e:"")}return function(e,o,s){if(!1===t)throw new i(r(o," has been removed"+(n?" in "+n:"")),i.ERR_DEPRECATED);return n&&!a[o]&&(a[o]=!0,console.warn(r(o," has been deprecated since v"+n+" and will be removed in the near future"))),!t||t(e,o,s)}},t.exports={assertOptions:function(t,n,e){if("object"!=typeof t)throw new i("options must be an object",i.ERR_BAD_OPTION_VALUE);for(var o=Object.keys(t),r=o.length;r-- >0;){var a=o[r],s=n[a];if(s){var l=t[a],c=void 0===l||s(l,a,t);if(!0!==c)throw new i("option "+a+" must be "+c,i.ERR_BAD_OPTION_VALUE)}else if(!0!==e)throw new i("Unknown option "+a,i.ERR_BAD_OPTION)}},validators:r}},7485:function(t,n,e){"use strict";var o,i=e(875),r=Object.prototype.toString,a=(o=Object.create(null),function(t){var n=r.call(t);return o[n]||(o[n]=n.slice(8,-1).toLowerCase())});function s(t){return t=t.toLowerCase(),function(n){return a(n)===t}}function l(t){return Array.isArray(t)}function c(t){return void 0===t}var u=s("ArrayBuffer");function d(t){return null!==t&&"object"==typeof t}function p(t){if("object"!==a(t))return!1;var n=Object.getPrototypeOf(t);return null===n||n===Object.prototype}var f=s("Date"),A=s("File"),h=s("Blob"),m=s("FileList");function g(t){return"[object Function]"===r.call(t)}var v=s("URLSearchParams");function b(t,n){if(null!=t)if("object"!=typeof t&&(t=[t]),l(t))for(var e=0,o=t.length;e<o;e++)n.call(null,t[e],e,t);else for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&n.call(null,t[i],i,t)}var y,C=(y="undefined"!=typeof Uint8Array&&Object.getPrototypeOf(Uint8Array),function(t){return y&&t instanceof y});t.exports={isArray:l,isArrayBuffer:u,isBuffer:function(t){return null!==t&&!c(t)&&null!==t.constructor&&!c(t.constructor)&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)},isFormData:function(t){var n="[object FormData]";return t&&("function"==typeof FormData&&t instanceof FormData||r.call(t)===n||g(t.toString)&&t.toString()===n)},isArrayBufferView:function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&u(t.buffer)},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isObject:d,isPlainObject:p,isUndefined:c,isDate:f,isFile:A,isBlob:h,isFunction:g,isStream:function(t){return d(t)&&g(t.pipe)},isURLSearchParams:v,isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:b,merge:function t(){var n={};function e(e,o){p(n[o])&&p(e)?n[o]=t(n[o],e):p(e)?n[o]=t({},e):l(e)?n[o]=e.slice():n[o]=e}for(var o=0,i=arguments.length;o<i;o++)b(arguments[o],e);return n},extend:function(t,n,e){return b(n,(function(n,o){t[o]=e&&"function"==typeof n?i(n,e):n})),t},trim:function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t},inherits:function(t,n,e,o){t.prototype=Object.create(n.prototype,o),t.prototype.constructor=t,e&&Object.assign(t.prototype,e)},toFlatObject:function(t,n,e){var o,i,r,a={};n=n||{};do{for(i=(o=Object.getOwnPropertyNames(t)).length;i-- >0;)a[r=o[i]]||(n[r]=t[r],a[r]=!0);t=Object.getPrototypeOf(t)}while(t&&(!e||e(t,n))&&t!==Object.prototype);return n},kindOf:a,kindOfTest:s,endsWith:function(t,n,e){t=String(t),(void 0===e||e>t.length)&&(e=t.length),e-=n.length;var o=t.indexOf(n,e);return-1!==o&&o===e},toArray:function(t){if(!t)return null;var n=t.length;if(c(n))return null;for(var e=new Array(n);n-- >0;)e[n]=t[n];return e},isTypedArray:C,isFileList:m}},9554:function(t,n,e){"use strict";var o=e(4649),i=e(7791),r=e(6966);function a(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}function s(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?a(Object(e),!0).forEach((function(n){(0,o.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):a(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}var l=function(){var t=(0,i.Z)(regeneratorRuntime.mark((function t(n,e){var o,i,a,s,l,c,u,d,p,f=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=(o=f.length>2&&void 0!==f[2]?f[2]:{}).data,a=o.params,s=void 0===a?{}:a,l=o.headers,c=o.noAuth,u=void 0!==c&&c,d=o.noScope,p=void 0!==d&&d,u){t.next=13;break}return t.prev=2,t.next=5,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 5:t.sent&&OpenC3Auth.setTokens(),t.next=12;break;case 9:t.prev=9,t.t0=t.catch(2),OpenC3Auth.login();case 12:l.Authorization=localStorage.openc3Token;case 13:return p||s.scope||(s.scope=window.openc3Scope),t.abrupt("return",(0,r.Z)({method:n,url:e,data:i,params:s,headers:l}));case 15:case"end":return t.stop()}}),t,null,[[2,9]])})));return function(n,e){return t.apply(this,arguments)}}(),c={Accept:"application/json"},u=s(s({},c),{},{"Content-Type":"application/json"});n.Z={get:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.params,o=n.headers,i=void 0===o?c:o,r=n.noScope,a=n.noAuth;return l("get",t,{params:e,headers:i,noScope:r,noAuth:a})},put:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.data,o=n.params,i=n.headers,r=void 0===i?u:i,a=n.noScope,s=n.noAuth;return l("put",t,{data:e,params:o,headers:r,noScope:a,noAuth:s})},post:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.data,o=n.params,i=n.headers,r=void 0===i?u:i,a=n.noScope,s=n.noAuth;return l("post",t,{data:e,params:o,headers:r,noScope:a,noAuth:s})},delete:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=n.params,o=n.headers,i=void 0===o?c:o,r=n.noScope,a=n.noAuth;return l("delete",t,{params:e,headers:i,noScope:r,noAuth:a})}}},6966:function(t,n,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(t){return t}),(function(t){if(t.response){var n,e,o,i,a;if(401===t.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(t){t&&OpenC3Auth.setTokens()})),t.response.headers["ignore-errors"]&&t.response.headers["ignore-errors"].includes(t.response.status.toString()))return Promise.reject(t);var s="HTTP ".concat(t.response.status," - ");if(null!==(n=t.response)&&void 0!==n&&n.statusText&&(s+="".concat(t.response.statusText," ")),null!==(e=t.response)&&void 0!==e&&null!==(e=e.config)&&void 0!==e&&e.data&&(s+="".concat(t.response.config.data," ")),null!==(o=t.response)&&void 0!==o&&null!==(o=o.data)&&void 0!==o&&o.message)s+="".concat(t.response.data.message);else if(null!==(i=t.response)&&void 0!==i&&null!==(i=i.data)&&void 0!==i&&i.exception)s+="".concat(t.response.data.exception);else if(null!==(a=t.response)&&void 0!==a&&null!==(a=a.data)&&void 0!==a&&null!==(a=a.error)&&void 0!==a&&a.message)t.response.data.error.class&&(s+="".concat(t.response.data.error.class," ")),s+="".concat(t.response.data.error.message);else{var l;s+="".concat(null===(l=t.response)||void 0===l?void 0:l.data)}throw r.$notify&&r.$notify.serious({title:"Network error",body:s}),t}throw t})),n.Z=a},143:function(t,n,e){"use strict";e.r(n);var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,'.splash-screen{width:100%;height:100%;position:fixed;background:#001724;background:-moz-linear-gradient(left, #001724 0%, #001724 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, #001724), color-stop(100%, #001724));background:-webkit-linear-gradient(left, #001724 0%, #001724 100%);background:-o-linear-gradient(left, #001724 0%, #001724 100%);background:-ms-linear-gradient(left, #001724 0%, #001724 100%);background:linear-gradient(to right, #001724 0%, #001724 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, #001724 0%, #001724 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, #001724), color-stop(100%, #001724));background:-webkit-linear-gradient(left, #001724 0%, #001724 100%);background:-o-linear-gradient(left, #001724 0%, #001724 100%);background:-ms-linear-gradient(left, #001724 0%, #001724 100%);background:linear-gradient(to right, #001724 0%, #001724 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:transparent;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, #001724 0%, #003656 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #001724), color-stop(100%, #003656));background:-webkit-linear-gradient(top, #001724 0%, #003656 100%);background:-o-linear-gradient(top, #001724 0%, #003656 100%);background:-ms-linear-gradient(top, #001724 0%, #003656 100%);background:linear-gradient(to bottom, #001724 0%, #003656 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:transparent;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:#00c800 !important}.openc3-yellow{color:#ffdc00 !important}.openc3-red{color:#ff2d2d !important}.openc3-blue{color:#09f !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,+DC2BhB,CAAA,4GACA,CAAA,kEACA,CAAA,6DACA,CAAA,8DACA,CAAA,8DACA,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,+DC2BhB,CAAA,4GACA,CAAA,kEACA,CAAA,6DACA,CAAA,8DACA,CAAA,8DACA,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,sBGqEH,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,8DCyBnB,CAAA,8GACA,CAAA,iEACA,CAAA,4DACA,CAAA,6DACA,CAAA,+DACA,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,sBACA,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,wBACE,CAAA,aAEF,qBACE,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, #001724 0%, #001724 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, #001724), color-stop(100%, #001724));background:-webkit-linear-gradient(left, #001724 0%, #001724 100%);background:-o-linear-gradient(left, #001724 0%, #001724 100%);background:-ms-linear-gradient(left, #001724 0%, #001724 100%);background:linear-gradient(to right, #001724 0%, #001724 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, #001724 0%, #001724 100%);background:-webkit-gradient(linear, left top, right top, color-stop(0%, #001724), color-stop(100%, #001724));background:-webkit-linear-gradient(left, #001724 0%, #001724 100%);background:-o-linear-gradient(left, #001724 0%, #001724 100%);background:-ms-linear-gradient(left, #001724 0%, #001724 100%);background:linear-gradient(to right, #001724 0%, #001724 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:transparent;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, #001724 0%, #003656 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #001724), color-stop(100%, #003656));background:-webkit-linear-gradient(top, #001724 0%, #003656 100%);background:-o-linear-gradient(top, #001724 0%, #003656 100%);background:-ms-linear-gradient(top, #001724 0%, #003656 100%);background:linear-gradient(to bottom, #001724 0%, #003656 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:transparent;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:#00c800 !important}.openc3-yellow{color:#ffdc00 !important}.openc3-red{color:#ff2d2d !important}.openc3-blue{color:#09f !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, 200, 0) !important;\n}\n.openc3-yellow {\n color: rgb(255, 220, 0) !important;\n}\n.openc3-red {\n color: rgb(255, 45, 45) !important;\n}\n.openc3-blue {\n color: rgb(0, 153, 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:""}]),n.default=a},2980:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.logo[data-v-36f1a220] {\n float: right;\n margin: 15px;\n}\n.cosmos[data-v-36f1a220] {\n text-align: center;\n font-size: 18pt;\n}\n.reason[data-v-36f1a220] {\n font-weight: bold;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/components/UpgradeToEnterpriseDialog.vue"],names:[],mappings:";AAsFA;EACA,YAAA;EACA,YAAA;AACA;AACA;EACA,kBAAA;EACA,eAAA;AACA;AACA;EACA,iBAAA;AACA",sourcesContent:['\x3c!--\n# Copyright 2023 OpenC3, Inc.\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# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-dialog v-model="show" width="650px">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Upgrade to COSMOS Enterprise Edition </span>\n <v-spacer />\n </v-system-bar>\n <v-card-text class="mt-2">\n <div class="logo">\n <img :src="logo" alt="OpenC3" />\n <div class="cosmos">Enterprise Edition</div>\n </div>\n <div class="pb-4">\n Thank you for using the COSMOS Open Source Edition!\n </div>\n <div v-if="reason">\n <div class="pb-4 pl-4 reason">\n {{ reason }}\n </div>\n </div>\n COSMOS Enterprise Edition removes all restrictions and offers users with\n role based access control, scaling on kubernetes, cloud platform\n support, multiple scopes, various integrations with common protocols and\n hardware, commercial licensing, and much more!<br /><br />\n Learn more at\n <a href="https://openc3.com/enterprise"\n >https://openc3.com/enterprise</a\n >\n and help support COSMOS Open Source by supporting our business. Contact\n us at <a href="mailto:support@openc3.com">support@openc3.com</a> for\n more information about Enterprise Edition, COSMOS training, COSMOS\n support, and custom COSMOS development.\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn class="mx-2" color="primary" @click="show = !show"> Ok </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n</template>\n\n<script>\nimport logo from \'../../public/img/logo.png\'\n\nexport default {\n props: {\n value: Boolean, // value is the default prop when using v-model\n reason: String,\n },\n data() {\n return {\n logo: logo,\n }\n },\n computed: {\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit(\'input\', value) // input is the default event when using v-model\n },\n },\n },\n}\n<\/script>\n<style scoped>\n.logo {\n float: right;\n margin: 15px;\n}\n.cosmos {\n text-align: center;\n font-size: 18pt;\n}\n.reason {\n font-weight: bold;\n}\n</style>\n'],sourceRoot:""}]),n.Z=a},3838:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.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:";AAgDA;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#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\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:""}]),n.Z=a},4829:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.base[data-v-1f2e2c8b] {\n margin-left: 5px;\n cursor: pointer;\n}\n.enterprise[data-v-1f2e2c8b] {\n margin-left: 5px;\n}\n#footer[data-v-1f2e2c8b] {\n z-index: 1000; /* On TOP! */\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/AppFooter.vue"],names:[],mappings:";AAsGA;EACA,gBAAA;EACA,eAAA;AACA;AACA;EACA,gBAAA;AACA;AACA;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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <v-footer id=\"footer\" app color=\"tertiary darken-3\" height=\"33\">\n <img :src=\"icon\" alt=\"OpenC3\" />\n <span :class=\"footerClass\" @click=\"upgrade\"\n >OpenC3 {{ edition }} {{ version }} &copy; 2023 - License:\n {{ license }}</span\n >\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 <upgrade-to-enterprise-dialog\n v-model=\"showUpgradeToEnterpriseDialog\"\n ></upgrade-to-enterprise-dialog>\n </v-footer>\n</template>\n\n<script>\nimport ClockFooter from './components/ClockFooter.vue'\nimport Api from '../../services/api'\nimport { OpenC3Api } from '../../services/openc3-api'\nimport icon from '../../../public/img/icon.png'\nimport UpgradeToEnterpriseDialog from '../../components/UpgradeToEnterpriseDialog'\n\nexport default {\n components: {\n ClockFooter,\n UpgradeToEnterpriseDialog,\n },\n data() {\n return {\n icon: icon,\n edition: '',\n enterprise: false,\n license: '',\n sourceUrl: '',\n version: '',\n showUpgradeToEnterpriseDialog: false,\n }\n },\n created: function () {\n this.getSourceUrl()\n Api.get(`/openc3-api/info`).then((response) => {\n if (response.data.enterprise) {\n this.edition = 'COSMOS Enterprise'\n } else {\n this.edition = 'COSMOS Open Source'\n }\n this.enterprise = response.data.enterprise\n this.license = response.data.license\n this.version = response.data.version\n })\n },\n computed: {\n footerClass() {\n if (this.enterprise) {\n return 'enterprise'\n } else {\n return 'base'\n }\n },\n },\n methods: {\n getSourceUrl: function () {\n new OpenC3Api().get_settings(['source_url']).then((response) => {\n this.sourceUrl = response[0]\n })\n },\n upgrade: function () {\n if (!this.enterprise) {\n this.showUpgradeToEnterpriseDialog = true\n }\n },\n },\n}\n<\/script>\n\n<style scoped>\n.base {\n margin-left: 5px;\n cursor: pointer;\n}\n.enterprise {\n margin-left: 5px;\n}\n#footer {\n z-index: 1000; /* On TOP! */\n}\n</style>\n"],sourceRoot:""}]),n.Z=a},6509:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.cosmos[data-v-00ae1763] {\n cursor: pointer;\n text-align: center;\n font-size: 18pt;\n}\ndiv a[data-v-00ae1763] {\n color: white;\n font-size: 16px;\n display: block;\n height: 100%;\n width: 100%;\n}\na.fixcenter[data-v-00ae1763] {\n display: flex;\n}\n.theme--dark.v-navigation-drawer[data-v-00ae1763] {\n background-color: var(--v-primary-darken2);\n}\n#openc3-app-toolbar .top-bar-divider-full-height[data-v-00ae1763] {\n margin: -4px 4px;\n min-height: calc(100% + 8px);\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/AppNav.vue"],names:[],mappings:";AA0QA;EACA,eAAA;EACA,kBAAA;EACA,eAAA;AACA;AACA;EACA,YAAA;EACA,eAAA;EACA,cAAA;EACA,YAAA;EACA,WAAA;AACA;AACA;EACA,aAAA;AACA;AACA;EACA,0CAAA;AACA;AACA;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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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\n style="\n margin-right: auto !important;\n margin-left: auto;\n margin-top: 0px;\n margin-bottom: 0px;\n "\n >\n <img :src="logo" alt="OpenC3" />\n </v-list-item-icon>\n </v-list-item>\n <div class="cosmos" @click="showUpgradeToEnterpriseDialog = true">\n COSMOS\n </div>\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 class="fixcenter"\n >\n Admin\n </v-btn>\n </div>\n </v-list-item-content>\n </v-list-item>\n <v-divider />\n <v-treeview\n :items="items"\n :open="initiallyOpen"\n item-key="name"\n dense\n open-on-click\n expand-icon=""\n >\n <template v-slot:prepend="{ item, open }">\n <v-icon v-if="!item.icon">\n {{ open ? \'mdi-chevron-down\' : \'mdi-chevron-right\' }}\n </v-icon>\n <a v-else :href="item.url" onclick="singleSpaNavigate(event)">\n <v-icon> {{ item.icon }} </v-icon>\n </a>\n </template>\n <template v-slot:label="{ item }">\n <a :href="item.url" onclick="singleSpaNavigate(event)">\n {{ item.name }}\n </a>\n </template>\n <template v-slot:append="{ item }">\n <a v-if="item.icon" :href="newTabUrl(item)" target="_blank">\n <v-icon>mdi-open-in-new</v-icon>\n </a>\n </template>\n </v-treeview>\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" data-test="alert-history">\n <alert-history />\n </div>\n <div class="justify-right" data-test="notifications">\n <notifications />\n </div>\n <div class="justify-right" data-test="user-menu"><user-menu /></div>\n </v-app-bar>\n <upgrade-to-enterprise-dialog\n v-model="showUpgradeToEnterpriseDialog"\n ></upgrade-to-enterprise-dialog>\n </div>\n</template>\n\n<script>\nimport Api from \'../../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\'\nimport UpgradeToEnterpriseDialog from \'../../components/UpgradeToEnterpriseDialog\'\n\nexport default {\n components: {\n ScopeSelector,\n AlertHistory,\n Notifications,\n UserMenu,\n UpgradeToEnterpriseDialog,\n },\n props: {\n edition: {\n type: String,\n default: \'\',\n },\n },\n data() {\n return {\n items: [],\n drawer: true,\n appNav: {},\n logo: logo,\n initiallyOpen: [],\n showUpgradeToEnterpriseDialog: false,\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 let id = 1\n // Register apps and start single-spa\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown) {\n if (\n this.appNav[key].category &&\n this.appNav[key].category !== \'Admin\'\n ) {\n // TODO: Make this initiallyOpen configurable like with a CATEGORY parameter?\n this.initiallyOpen.push(this.appNav[key].category)\n const result = this.items.filter(\n (item) => item.name === this.appNav[key].category\n )\n if (result.length === 0) {\n this.items.push({\n id: id,\n name: this.appNav[key].category,\n children: [\n {\n id: id + 1,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n },\n ],\n })\n id++\n } else {\n result[0].children.push({\n id: id,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n })\n }\n } else if (!this.appNav[key].category) {\n this.items.push({\n id: id,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n })\n }\n id++\n\n if (this.appNav[key].folder_name) {\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 }\n start({\n urlRerouteOnly: true,\n })\n\n // Redirect some base paths to the first tool\n if (\n window.location.pathname == \'/\' ||\n window.location.pathname == \'/tools\' ||\n window.location.pathname == \'/tools/\'\n ) {\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 // Check every minute if we need to update our token\n setInterval(() => {\n OpenC3Auth.updateToken(120).then(function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n })\n }, 60000)\n }\n )\n },\n methods: {\n newTabUrl(tool) {\n let url = null\n if (tool.url[0] == \'/\' && tool.url[1] != \'/\') {\n url = new URL(tool.url, window.location.origin)\n } else {\n url = new URL(tool.url)\n }\n url.searchParams.set(\'scope\', window.openc3Scope)\n return url.href\n },\n },\n}\n<\/script>\n\n<style scoped>\n.cosmos {\n cursor: pointer;\n text-align: center;\n font-size: 18pt;\n}\ndiv a {\n color: white;\n font-size: 16px;\n display: block;\n height: 100%;\n width: 100%;\n}\na.fixcenter {\n display: flex;\n}\n.theme--dark.v-navigation-drawer {\n background-color: var(--v-primary-darken2);\n}\n#openc3-app-toolbar .top-bar-divider-full-height {\n margin: -4px 4px;\n min-height: calc(100% + 8px);\n}\n</style>\n<style>\n/* Remove the padding on root level nodes since we removed the expand icon */\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__level {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__toggle {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview-node__children\n div.v-treeview-node__level:nth-child(1) {\n width: 0px;\n}\n</style>\n'],sourceRoot:""}]),n.Z=a},6716:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.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\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\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\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\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/* Remove the padding on root level nodes since we removed the expand icon */\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__level {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__toggle {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview-node__children\n div.v-treeview-node__level:nth-child(1) {\n width: 0px;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/AppNav.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkSA,4EAAA;AACA;;;;;EAKA,UAAA;AACA;AACA;;;;;EAKA,UAAA;AACA;AACA;;;EAGA,UAAA;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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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\n style="\n margin-right: auto !important;\n margin-left: auto;\n margin-top: 0px;\n margin-bottom: 0px;\n "\n >\n <img :src="logo" alt="OpenC3" />\n </v-list-item-icon>\n </v-list-item>\n <div class="cosmos" @click="showUpgradeToEnterpriseDialog = true">\n COSMOS\n </div>\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 class="fixcenter"\n >\n Admin\n </v-btn>\n </div>\n </v-list-item-content>\n </v-list-item>\n <v-divider />\n <v-treeview\n :items="items"\n :open="initiallyOpen"\n item-key="name"\n dense\n open-on-click\n expand-icon=""\n >\n <template v-slot:prepend="{ item, open }">\n <v-icon v-if="!item.icon">\n {{ open ? \'mdi-chevron-down\' : \'mdi-chevron-right\' }}\n </v-icon>\n <a v-else :href="item.url" onclick="singleSpaNavigate(event)">\n <v-icon> {{ item.icon }} </v-icon>\n </a>\n </template>\n <template v-slot:label="{ item }">\n <a :href="item.url" onclick="singleSpaNavigate(event)">\n {{ item.name }}\n </a>\n </template>\n <template v-slot:append="{ item }">\n <a v-if="item.icon" :href="newTabUrl(item)" target="_blank">\n <v-icon>mdi-open-in-new</v-icon>\n </a>\n </template>\n </v-treeview>\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" data-test="alert-history">\n <alert-history />\n </div>\n <div class="justify-right" data-test="notifications">\n <notifications />\n </div>\n <div class="justify-right" data-test="user-menu"><user-menu /></div>\n </v-app-bar>\n <upgrade-to-enterprise-dialog\n v-model="showUpgradeToEnterpriseDialog"\n ></upgrade-to-enterprise-dialog>\n </div>\n</template>\n\n<script>\nimport Api from \'../../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\'\nimport UpgradeToEnterpriseDialog from \'../../components/UpgradeToEnterpriseDialog\'\n\nexport default {\n components: {\n ScopeSelector,\n AlertHistory,\n Notifications,\n UserMenu,\n UpgradeToEnterpriseDialog,\n },\n props: {\n edition: {\n type: String,\n default: \'\',\n },\n },\n data() {\n return {\n items: [],\n drawer: true,\n appNav: {},\n logo: logo,\n initiallyOpen: [],\n showUpgradeToEnterpriseDialog: false,\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 let id = 1\n // Register apps and start single-spa\n for (var key of Object.keys(this.appNav)) {\n if (this.appNav[key].shown) {\n if (\n this.appNav[key].category &&\n this.appNav[key].category !== \'Admin\'\n ) {\n // TODO: Make this initiallyOpen configurable like with a CATEGORY parameter?\n this.initiallyOpen.push(this.appNav[key].category)\n const result = this.items.filter(\n (item) => item.name === this.appNav[key].category\n )\n if (result.length === 0) {\n this.items.push({\n id: id,\n name: this.appNav[key].category,\n children: [\n {\n id: id + 1,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n },\n ],\n })\n id++\n } else {\n result[0].children.push({\n id: id,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n })\n }\n } else if (!this.appNav[key].category) {\n this.items.push({\n id: id,\n name: this.appNav[key].name,\n icon: this.appNav[key].icon,\n url: this.appNav[key].url,\n })\n }\n id++\n\n if (this.appNav[key].folder_name) {\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 }\n start({\n urlRerouteOnly: true,\n })\n\n // Redirect some base paths to the first tool\n if (\n window.location.pathname == \'/\' ||\n window.location.pathname == \'/tools\' ||\n window.location.pathname == \'/tools/\'\n ) {\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 // Check every minute if we need to update our token\n setInterval(() => {\n OpenC3Auth.updateToken(120).then(function (refreshed) {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n })\n }, 60000)\n }\n )\n },\n methods: {\n newTabUrl(tool) {\n let url = null\n if (tool.url[0] == \'/\' && tool.url[1] != \'/\') {\n url = new URL(tool.url, window.location.origin)\n } else {\n url = new URL(tool.url)\n }\n url.searchParams.set(\'scope\', window.openc3Scope)\n return url.href\n },\n },\n}\n<\/script>\n\n<style scoped>\n.cosmos {\n cursor: pointer;\n text-align: center;\n font-size: 18pt;\n}\ndiv a {\n color: white;\n font-size: 16px;\n display: block;\n height: 100%;\n width: 100%;\n}\na.fixcenter {\n display: flex;\n}\n.theme--dark.v-navigation-drawer {\n background-color: var(--v-primary-darken2);\n}\n#openc3-app-toolbar .top-bar-divider-full-height {\n margin: -4px 4px;\n min-height: calc(100% + 8px);\n}\n</style>\n<style>\n/* Remove the padding on root level nodes since we removed the expand icon */\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__level {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview\n > .v-treeview-node\n > .v-treeview-node__root\n > .v-treeview-node__toggle {\n width: 0px;\n}\n#openc3-nav-drawer\n .v-treeview-node__children\n div.v-treeview-node__level:nth-child(1) {\n width: 0px;\n}\n</style>\n'],sourceRoot:""}]),n.Z=a},2003:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.v-subheader[data-v-3d0e2e40] {\n height: 28px;\n}\n.v-badge[data-v-3d0e2e40] {\n width: 100%;\n}\n.overlay[data-v-3d0e2e40] {\n height: 100vh;\n width: 100vw;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/components/AlertHistory.vue"],names:[],mappings:";AA4KA;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#\n# This file may also be used under the terms of a commercial license \n# if purchased from OpenC3, Inc.\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 \'../../../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:""}]),n.Z=a},7650:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.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\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://./../packages/openc3-tool-common/src/tools/base/components/ClassificationBanners.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0EA,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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<script>\nimport { OpenC3Api } from '../../../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\n .get_setting('classification_banner')\n .then((response) => {\n if (response) {\n this.classification = JSON.parse(response)\n }\n })\n .catch((error) => {\n // Do nothing\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:""}]),n.Z=a},1840:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.v-subheader[data-v-eda8ca60] {\n height: 28px;\n}\n.v-badge[data-v-eda8ca60] {\n width: 100%;\n}\n.overlay[data-v-eda8ca60] {\n height: 100vh;\n width: 100vw;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/components/Notifications.vue"],names:[],mappings:";AAmZA;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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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 class="ml-1"\n @click="clearNotifications"\n data-test="clear-notifications"\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\n icon\n @click="toggleSettingsDialog"\n class="ml-1"\n data-test="notification-settings"\n >\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 data-test="notification-list"\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="{\n \'text--secondary\': notification.read,\n \'text-wrap\': true,\n }"\n >\n {{ notification.log }}\n </v-list-item-title>\n <v-list-item-subtitle>\n {{ notification.time | shortDateTime }}\n </v-list-item-subtitle>\n <div style="height: 20px" />\n </v-list-item-content>\n <template v-slot:badge>\n <astro-status-indicator :status="notification.severity" />\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.log }}\n <v-spacer />\n <astro-status-indicator\n :status="selectedNotification.severity || \'INFO\'"\n />\n </v-card-title>\n <v-card-subtitle>\n {{ selectedNotification.time | shortDateTime }}\n </v-card-subtitle>\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 {\n AstroStatusColors,\n UnknownToAstroStatus,\n} from \'../../../components/icons\'\nimport {\n highestSeverity,\n orderBySeverity,\n groupBySeverity,\n} from \'../util/AstroStatus\'\nimport Cable from \'../../../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[\n UnknownToAstroStatus[highestSeverity(severities)]\n ]\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 let result = this.unreadNotifications.length\n if (result >= NOTIFICATION_HISTORY_MAX_LENGTH) {\n result += \'+\' // Indicate there are more\n }\n return result\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 \'MessagesChannel\',\n window.openc3Scope,\n {\n received: (data) => this.received(data),\n },\n {\n start_offset:\n localStorage.notificationStreamOffset ||\n localStorage.lastReadNotification,\n types: [\'notification\', \'alert\'],\n }\n )\n .then((subscription) => {\n this.subscription = subscription\n })\n },\n received: function (parsed) {\n this.cable.recordPing()\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 || \'INFO\'\n if (\n !notification.read && // Don\'t toast read notifications\n [\'FATAL\', \'ERROR\', \'WARN\'].includes(notification.severity) // Toast for these statuses\n ) {\n foundToast = true\n this.toastNotification = notification\n }\n })\n\n if (this.showToast && foundToast) {\n let duration = 5000\n if ([\'FATAL\', \'ERROR\'].includes(notification.severity)) {\n duration = null\n }\n\n this.$notify[this.toastNotification.severity]({\n ...this.toastNotification,\n type: \'notification\',\n duration: duration,\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:""}]),n.Z=a},6793:function(t,n,e){"use strict";var o=e(4015),i=e.n(o),r=e(3645),a=e.n(r)()(i());a.push([t.id,"\n.link[data-v-26b5fc12] {\n cursor: pointer;\n}\n.overlay[data-v-26b5fc12] {\n height: 100vh;\n width: 100vw;\n}\n","",{version:3,sources:["webpack://./../packages/openc3-tool-common/src/tools/base/components/UserMenu.vue"],names:[],mappings:";AAgHA;EACA,eAAA;AACA;AACA;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#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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 style="text-align: center; margin: 5px">{{ username }}</div>\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-if="username === \'Anonymous\'"\n @click="showUpgradeToEnterpriseDialog = true"\n class="pt-2 link"\n >\n Click to learn more about<br />\n COSMOS Enterprise Edition\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 <upgrade-to-enterprise-dialog\n v-model="showUpgradeToEnterpriseDialog"\n ></upgrade-to-enterprise-dialog>\n </div>\n</template>\n\n<script>\nimport UpgradeToEnterpriseDialog from \'../../../components/UpgradeToEnterpriseDialog\'\n\nexport default {\n components: {\n UpgradeToEnterpriseDialog,\n },\n props: {\n size: {\n type: [String, Number],\n default: 26,\n },\n },\n data: function () {\n let user = OpenC3Auth.user()\n return {\n showUserMenu: false,\n authenticated: !!localStorage.openc3Token,\n username: user[\'name\'],\n showUpgradeToEnterpriseDialog: false,\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.link {\n cursor: pointer;\n}\n.overlay {\n height: 100vh;\n width: 100vw;\n}\n</style>\n'],sourceRoot:""}]),n.Z=a},3645:function(t){"use strict";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?"@media ".concat(n[2]," {").concat(e,"}"):e})).join("")},n.i=function(t,e,o){"string"==typeof t&&(t=[[null,t,""]]);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<t.length;s++){var l=[].concat(t[s]);o&&i[l[0]]||(e&&(l[2]?l[2]="".concat(e," and ").concat(l[2]):l[2]=e),n.push(l))}},n}},4015:function(t){"use strict";function n(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var e,o,i=(o=4,function(t){if(Array.isArray(t))return t}(e=t)||function(t,n){var e=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=e){var o,i,r=[],a=!0,s=!1;try{for(e=e.call(t);!(a=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(s)throw i}}return r}}(e,o)||function(t,e){if(t){if("string"==typeof t)return n(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?n(t,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(t){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(t," */")}));return[r].concat(u).concat([c]).join("\n")}return[r].join("\n")}},3379:function(t){"use strict";var n=[];function e(t){for(var e=-1,o=0;o<n.length;o++)if(n[o].identifier===t){e=o;break}return e}function o(t,o){for(var r={},a=[],s=0;s<t.length;s++){var l=t[s],c=o.base?l[0]+o.base:l[0],u=r[c]||0,d="".concat(c," ").concat(u);r[c]=u+1;var p=e(d),f={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==p)n[p].references++,n[p].updater(f);else{var A=i(f,o);o.byIndex=s,n.splice(s,0,{identifier:d,updater:A,references:1})}a.push(d)}return a}function i(t,n){var e=n.domAPI(n);return e.update(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap&&n.supports===t.supports&&n.layer===t.layer)return;e.update(t=n)}else e.remove()}}t.exports=function(t,i){var r=o(t=t||[],i=i||{});return function(t){t=t||[];for(var a=0;a<r.length;a++){var s=e(r[a]);n[s].references--}for(var l=o(t,i),c=0;c<r.length;c++){var u=e(r[c]);0===n[u].references&&(n[u].updater(),n.splice(u,1))}r=l}}},569:function(t){"use strict";var n={};t.exports=function(t,e){var o=function(t){if(void 0===n[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}n[t]=e}return n[t]}(t);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(t){"use strict";t.exports=function(t){var n=document.createElement("style");return t.setAttributes(n,t.attributes),t.insert(n,t.options),n}},3565:function(t,n,e){"use strict";t.exports=function(t){var n=e.nc;n&&t.setAttribute("nonce",n)}},7795:function(t){"use strict";t.exports=function(t){var n=t.insertStyleElement(t);return{update:function(e){!function(t,n,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))))," */")),n.styleTagTransform(o,t,n.options)}(n,t,e)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)}}}},4589:function(t){"use strict";t.exports=function(t,n){if(n.styleSheet)n.styleSheet.cssText=t;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(t))}}},2722:function(t,n,e){const o=e(3905).R;n.s=function(t){if(t||(t=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,t)}},3905:function(t,n,e){n.R=function(t,n){var e=document.createElement("a");e.href=t;for(var o="/"===e.pathname[0]?e.pathname:"/"+e.pathname,i=0,r=o.length;i!==n&&r>=0;)"/"===o[--r]&&i++;if(i!==n)throw Error("systemjs-webpack-interop: rootDirectoryLevel ("+n+") is greater than the number of directories ("+i+") in the URL path "+t);var a=o.slice(0,r+1);return e.protocol+"//"+e.host+a};Number.isInteger},1900:function(t,n,e){"use strict";function o(t,n,e,o,i,r,a,s){var l,c="function"==typeof t?t.options:t;if(n&&(c.render=n,c.staticRenderFns=e,c._compiled=!0),o&&(c.functional=!0),r&&(c._scopeId="data-v-"+r),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._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(t,n){return l.call(n),u(t,n)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}e.d(n,{Z:function(){return o}})},7861:function(t,n,e){var o=e(143);o.__esModule&&(o=o.default),"string"==typeof o&&(o=[[t.id,o,""]]),o.locals&&(t.exports=o.locals),(0,e(5346).Z)("2eb15b17",o,!1,{})},5346:function(t,n,e){"use strict";function o(t,n){for(var e=[],o={},i=0;i<n.length;i++){var r=n[i],a=r[0],s={id:t+":"+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(n,{Z:function(){return A}});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,p="data-vue-ssr-id",f="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function A(t,n,e,i){c=e,d=i||{};var a=o(t,n);return h(a),function(n){for(var e=[],i=0;i<a.length;i++){var s=a[i];(l=r[s.id]).refs--,e.push(l)}for(n?h(a=o(t,n)):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 h(t){for(var n=0;n<t.length;n++){var e=t[n],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(g(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(g(e.parts[i]));r[e.id]={id:e.id,refs:1,parts:a}}}}function m(){var t=document.createElement("style");return t.type="text/css",a.appendChild(t),t}function g(t){var n,e,o=document.querySelector("style["+p+'~="'+t.id+'"]');if(o){if(c)return u;o.parentNode.removeChild(o)}if(f){var i=l++;o=s||(s=m()),n=y.bind(null,o,i,!1),e=y.bind(null,o,i,!0)}else o=m(),n=C.bind(null,o),e=function(){o.parentNode.removeChild(o)};return n(t),function(o){if(o){if(o.css===t.css&&o.media===t.media&&o.sourceMap===t.sourceMap)return;n(t=o)}else e()}}var v,b=(v=[],function(t,n){return v[t]=n,v.filter(Boolean).join("\n")});function y(t,n,e,o){var i=e?"":o.css;if(t.styleSheet)t.styleSheet.cssText=b(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function C(t,n){var e=n.css,o=n.media,i=n.sourceMap;if(o&&t.setAttribute("media",o),d.ssrId&&t.setAttribute(p,n.id),i&&(e+="\n/*# sourceURL="+i.sources[0]+" */",e+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},8645:function(t){"use strict";t.exports=o},4091:function(t){"use strict";t.exports=e},4688:function(t){"use strict";t.exports=i},9731:function(t){"use strict";t.exports=a},9191:function(t){"use strict";t.exports=r},7791:function(t,n,e){"use strict";function o(t,n,e,o,i,r,a){try{var s=t[r](a),l=s.value}catch(t){return void e(t)}s.done?n(l):Promise.resolve(l).then(o,i)}function i(t){return function(){var n=this,e=arguments;return new Promise((function(i,r){var a=t.apply(n,e);function s(t){o(a,i,r,s,l,"next",t)}function l(t){o(a,i,r,s,l,"throw",t)}s(void 0)}))}}e.d(n,{Z:function(){return i}})},4649:function(t,n,e){"use strict";e.d(n,{Z:function(){return i}});var o=e(5217);function i(t,n,e){return(n=(0,o.Z)(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}},5217:function(t,n,e){"use strict";e.d(n,{Z:function(){return i}});var o=e(3940);function i(t){var n=function(t,n){if("object"!==(0,o.Z)(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,"string");if("object"!==(0,o.Z)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===(0,o.Z)(n)?n:String(n)}},3940:function(t,n,e){"use strict";function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}e.d(n,{Z:function(){return o}})}},c={};function u(t){var n=c[t];if(void 0!==n)return n.exports;var e=c[t]={id:t,exports:{}};return l[t](e,e.exports,u),e.exports}u.m=l,u.y=n,u.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return u.d(n,{a:n}),n},u.d=function(t,n){for(var e in n)u.o(n,e)&&!u.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:n[e]})},u.f={},u.e=function(t){return Promise.all(Object.keys(u.f).reduce((function(n,e){return u.f[e](t,n),n}),[]))},u.u=function(t){return t+".openc3-tool-base.js"},u.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},t={},s="tool-base:",u.l=function(n,e,o,i){if(t[n])t[n].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")==n||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=n),t[n]=[e];var p=function(e,o){r.onerror=r.onload=null,clearTimeout(f);var i=t[n];if(delete t[n],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach((function(t){return t(o)})),e)return e(o)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=p.bind(null,r.onerror),r.onload=p.bind(null,r.onload),a&&document.head.appendChild(r)}},u.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},u.p="",function(){var t={179:0};u.f.j=function(n,e){var o=u.o(t,n)?t[n]:void 0;if(0!==o)if(o)e.push(o[2]);else{var i=new Promise((function(e,i){o=t[n]=[e,i]}));e.push(o[2]=i);var r=u.p+u.u(n),a=new Error;u.l(r,(function(e){if(u.o(t,n)&&(0!==(o=t[n])&&(t[n]=void 0),o)){var i=e&&("load"===e.type?"missing":e.type),r=e&&e.target&&e.target.src;a.message="Loading chunk "+n+" failed.\n("+i+": "+r+")",a.name="ChunkLoadError",a.type=i,a.request=r,o[1](a)}}),"chunk-"+n,n)}};var n=function(n,e){var o,i,r=e[0],a=e[1],s=e[2],l=0;if(r.some((function(n){return 0!==t[n]}))){for(o in a)u.o(a,o)&&(u.m[o]=a[o]);s&&s(u)}for(n&&n(e);l<r.length;l++)i=r[l],u.o(t,i)&&t[i]&&t[i][0](),t[i]=0},e=self.webpackChunktool_base=self.webpackChunktool_base||[];e.forEach(n.bind(null,0)),e.push=n.bind(null,e.push.bind(e))}(),u.nc=void 0;var d={};return(0,u(2722).s)(1),function(){"use strict";u.r(d);var t=u(4091),n=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-app",{style:t.classificationStyles},[e("app-nav",{staticClass:"d-print-none"}),t._v(" "),e("v-main",[e("v-container",{attrs:{fluid:""}},[e("div",{attrs:{id:"openc3-tool"}}),t._v(" "),e("div",[e("router-view")],1)])],1),t._v(" "),e("app-footer",{staticClass:"d-print-none",attrs:{app:""}}),t._v(" "),e("time-check")],1)};n._withStripped=!0;var e=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-footer",{attrs:{id:"footer",app:"",color:"tertiary darken-3",height:"33"}},[e("img",{attrs:{src:t.icon,alt:"OpenC3"}}),t._v(" "),e("span",{class:t.footerClass,on:{click:t.upgrade}},[t._v("OpenC3 "+t._s(t.edition)+" "+t._s(t.version)+" © 2023 - License:\n "+t._s(t.license))]),t._v(" "),e("v-spacer"),t._v(" "),e("a",{staticClass:"white--text text-decoration-underline",attrs:{href:t.sourceUrl}},[t._v("\n Source\n ")]),t._v(" "),e("v-spacer"),t._v(" "),e("div",{staticClass:"justify-right"},[e("clock-footer")],1),t._v(" "),e("upgrade-to-enterprise-dialog",{model:{value:t.showUpgradeToEnterpriseDialog,callback:function(n){t.showUpgradeToEnterpriseDialog=n},expression:"showUpgradeToEnterpriseDialog"}})],1)};e._withStripped=!0;var o=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("span",t._g(t._b({staticClass:"font-weight-bold",staticStyle:{cursor:"context-menu"},on:{contextmenu:t.openMenu}},"span",t.attrs,!1),t.on),[t._v("\n "+t._s(t._f("date")(t.displayLocal?t.localDate:t.utcDate,t.formatString))+"\n ("+t._s(t.displayLocal?"local":"UTC")+")\n ")]),t._v(" "),e("v-menu",{attrs:{"position-x":t.menuX,"position-y":t.menuY,absolute:"","offset-y":""},model:{value:t.showMenu,callback:function(n){t.showMenu=n},expression:"showMenu"}},[e("v-list",[e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.toggleDisplayLocal}},[t._v("\n Display "+t._s(t.displayLocal?"UTC":"local time")+"\n ")])],1),t._v(" "),e("v-divider"),t._v(" "),e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.toggleDisplay24h}},[t._v("\n Display "+t._s(t.display24h?12:24)+" hour clock\n ")])],1),t._v(" "),e("v-divider"),t._v(" "),"monthFirst"!==t.dateMode?e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.setMonthFirst}},[t._v("\n Display mm/dd/yyyy\n ")])],1):t._e(),t._v(" "),"dayFirst"!==t.dateMode?e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.setDayFirst}},[t._v("\n Display dd/mm/yyyy\n ")])],1):t._e(),t._v(" "),"number"!==t.dateMode?e("v-list-item",[e("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:t.setNumber}},[t._v("\n Display day of year\n ")])],1):t._e()],1)],1)],1)};o._withStripped=!0;var i=u(3940);function r(t,n){if(n.length<t)throw new TypeError(t+" argument"+(t>1?"s":"")+" required, but only "+n.length+" present")}function a(t){r(1,arguments);var n=Object.prototype.toString.call(t);return t instanceof Date||"object"===(0,i.Z)(t)&&"[object Date]"===n?new Date(t.getTime()):"number"==typeof t||"[object Number]"===n?new Date(t):("string"!=typeof t&&"[object String]"!==n||"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://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}function s(t){if(null===t||!0===t||!1===t)return NaN;var n=Number(t);return isNaN(n)?n:n<0?Math.ceil(n):Math.floor(n)}function l(t){r(1,arguments);var n=a(t),e=n.getUTCDay(),o=(e<1?7:0)+e-1;return n.setUTCDate(n.getUTCDate()-o),n.setUTCHours(0,0,0,0),n}function c(t){r(1,arguments);var n=a(t),e=n.getUTCFullYear(),o=new Date(0);o.setUTCFullYear(e+1,0,4),o.setUTCHours(0,0,0,0);var i=l(o),s=new Date(0);s.setUTCFullYear(e,0,4),s.setUTCHours(0,0,0,0);var c=l(s);return n.getTime()>=i.getTime()?e+1:n.getTime()>=c.getTime()?e:e-1}var p={};function f(){return p}function A(t,n){var e,o,i,l,c,u,d,p;r(1,arguments);var A=f(),h=s(null!==(e=null!==(o=null!==(i=null!==(l=null==n?void 0:n.weekStartsOn)&&void 0!==l?l:null==n||null===(c=n.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==i?i:A.weekStartsOn)&&void 0!==o?o:null===(d=A.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.weekStartsOn)&&void 0!==e?e:0);if(!(h>=0&&h<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=a(t),g=m.getUTCDay(),v=(g<h?7:0)+g-h;return m.setUTCDate(m.getUTCDate()-v),m.setUTCHours(0,0,0,0),m}function h(t,n){var e,o,i,l,c,u,d,p;r(1,arguments);var h=a(t),m=h.getUTCFullYear(),g=f(),v=s(null!==(e=null!==(o=null!==(i=null!==(l=null==n?void 0:n.firstWeekContainsDate)&&void 0!==l?l:null==n||null===(c=n.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.firstWeekContainsDate)&&void 0!==i?i:g.firstWeekContainsDate)&&void 0!==o?o:null===(d=g.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.firstWeekContainsDate)&&void 0!==e?e:1);if(!(v>=1&&v<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var b=new Date(0);b.setUTCFullYear(m+1,0,v),b.setUTCHours(0,0,0,0);var y=A(b,n),C=new Date(0);C.setUTCFullYear(m,0,v),C.setUTCHours(0,0,0,0);var w=A(C,n);return h.getTime()>=y.getTime()?m+1:h.getTime()>=w.getTime()?m:m-1}function m(t,n){for(var e=t<0?"-":"",o=Math.abs(t).toString();o.length<n;)o="0"+o;return e+o}var g=function(t,n){var e=t.getUTCFullYear(),o=e>0?e:1-e;return m("yy"===n?o%100:o,n.length)},v=function(t,n){var e=t.getUTCMonth();return"M"===n?String(e+1):m(e+1,2)},b=function(t,n){return m(t.getUTCDate(),n.length)},y=function(t,n){return m(t.getUTCHours()%12||12,n.length)},C=function(t,n){return m(t.getUTCHours(),n.length)},w=function(t,n){return m(t.getUTCMinutes(),n.length)},k=function(t,n){return m(t.getUTCSeconds(),n.length)},x=function(t,n){var e=n.length,o=t.getUTCMilliseconds();return m(Math.floor(o*Math.pow(10,e-3)),n.length)},_={G:function(t,n,e){var o=t.getUTCFullYear()>0?1:0;switch(n){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(t,n,e){if("yo"===n){var o=t.getUTCFullYear(),i=o>0?o:1-o;return e.ordinalNumber(i,{unit:"year"})}return g(t,n)},Y:function(t,n,e,o){var i=h(t,o),r=i>0?i:1-i;return"YY"===n?m(r%100,2):"Yo"===n?e.ordinalNumber(r,{unit:"year"}):m(r,n.length)},R:function(t,n){return m(c(t),n.length)},u:function(t,n){return m(t.getUTCFullYear(),n.length)},Q:function(t,n,e){var o=Math.ceil((t.getUTCMonth()+1)/3);switch(n){case"Q":return String(o);case"QQ":return m(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(t,n,e){var o=Math.ceil((t.getUTCMonth()+1)/3);switch(n){case"q":return String(o);case"qq":return m(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(t,n,e){var o=t.getUTCMonth();switch(n){case"M":case"MM":return v(t,n);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(t,n,e){var o=t.getUTCMonth();switch(n){case"L":return String(o+1);case"LL":return m(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(t,n,e,o){var i=function(t,n){r(1,arguments);var e=a(t),o=A(e,n).getTime()-function(t,n){var e,o,i,a,l,c,u,d;r(1,arguments);var p=f(),m=s(null!==(e=null!==(o=null!==(i=null!==(a=null==n?void 0:n.firstWeekContainsDate)&&void 0!==a?a:null==n||null===(l=n.locale)||void 0===l||null===(c=l.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==i?i:p.firstWeekContainsDate)&&void 0!==o?o:null===(u=p.locale)||void 0===u||null===(d=u.options)||void 0===d?void 0:d.firstWeekContainsDate)&&void 0!==e?e:1),g=h(t,n),v=new Date(0);return v.setUTCFullYear(g,0,m),v.setUTCHours(0,0,0,0),A(v,n)}(e,n).getTime();return Math.round(o/6048e5)+1}(t,o);return"wo"===n?e.ordinalNumber(i,{unit:"week"}):m(i,n.length)},I:function(t,n,e){var o=function(t){r(1,arguments);var n=a(t),e=l(n).getTime()-function(t){r(1,arguments);var n=c(t),e=new Date(0);return e.setUTCFullYear(n,0,4),e.setUTCHours(0,0,0,0),l(e)}(n).getTime();return Math.round(e/6048e5)+1}(t);return"Io"===n?e.ordinalNumber(o,{unit:"week"}):m(o,n.length)},d:function(t,n,e){return"do"===n?e.ordinalNumber(t.getUTCDate(),{unit:"date"}):b(t,n)},D:function(t,n,e){var o=function(t){r(1,arguments);var n=a(t),e=n.getTime();n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0);var o=e-n.getTime();return Math.floor(o/864e5)+1}(t);return"Do"===n?e.ordinalNumber(o,{unit:"dayOfYear"}):m(o,n.length)},E:function(t,n,e){var o=t.getUTCDay();switch(n){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(t,n,e,o){var i=t.getUTCDay(),r=(i-o.weekStartsOn+8)%7||7;switch(n){case"e":return String(r);case"ee":return m(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(t,n,e,o){var i=t.getUTCDay(),r=(i-o.weekStartsOn+8)%7||7;switch(n){case"c":return String(r);case"cc":return m(r,n.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(t,n,e){var o=t.getUTCDay(),i=0===o?7:o;switch(n){case"i":return String(i);case"ii":return m(i,n.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(t,n,e){var o=t.getUTCHours()/12>=1?"pm":"am";switch(n){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(t,n,e){var o,i=t.getUTCHours();switch(o=12===i?"noon":0===i?"midnight":i/12>=1?"pm":"am",n){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(t,n,e){var o,i=t.getUTCHours();switch(o=i>=17?"evening":i>=12?"afternoon":i>=4?"morning":"night",n){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(t,n,e){if("ho"===n){var o=t.getUTCHours()%12;return 0===o&&(o=12),e.ordinalNumber(o,{unit:"hour"})}return y(t,n)},H:function(t,n,e){return"Ho"===n?e.ordinalNumber(t.getUTCHours(),{unit:"hour"}):C(t,n)},K:function(t,n,e){var o=t.getUTCHours()%12;return"Ko"===n?e.ordinalNumber(o,{unit:"hour"}):m(o,n.length)},k:function(t,n,e){var o=t.getUTCHours();return 0===o&&(o=24),"ko"===n?e.ordinalNumber(o,{unit:"hour"}):m(o,n.length)},m:function(t,n,e){return"mo"===n?e.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):w(t,n)},s:function(t,n,e){return"so"===n?e.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):k(t,n)},S:function(t,n){return x(t,n)},X:function(t,n,e,o){var i=(o._originalDate||t).getTimezoneOffset();if(0===i)return"Z";switch(n){case"X":return E(i);case"XXXX":case"XX":return T(i);default:return T(i,":")}},x:function(t,n,e,o){var i=(o._originalDate||t).getTimezoneOffset();switch(n){case"x":return E(i);case"xxxx":case"xx":return T(i);default:return T(i,":")}},O:function(t,n,e,o){var i=(o._originalDate||t).getTimezoneOffset();switch(n){case"O":case"OO":case"OOO":return"GMT"+S(i,":");default:return"GMT"+T(i,":")}},z:function(t,n,e,o){var i=(o._originalDate||t).getTimezoneOffset();switch(n){case"z":case"zz":case"zzz":return"GMT"+S(i,":");default:return"GMT"+T(i,":")}},t:function(t,n,e,o){var i=o._originalDate||t;return m(Math.floor(i.getTime()/1e3),n.length)},T:function(t,n,e,o){return m((o._originalDate||t).getTime(),n.length)}};function S(t,n){var e=t>0?"-":"+",o=Math.abs(t),i=Math.floor(o/60),r=o%60;if(0===r)return e+String(i);var a=n||"";return e+String(i)+a+m(r,2)}function E(t,n){return t%60==0?(t>0?"-":"+")+m(Math.abs(t)/60,2):T(t,n)}function T(t,n){var e=n||"",o=t>0?"-":"+",i=Math.abs(t);return o+m(Math.floor(i/60),2)+e+m(i%60,2)}var O=_,B=function(t,n){switch(t){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});default:return n.date({width:"full"})}},N=function(t,n){switch(t){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});default:return n.time({width:"full"})}},D={p:N,P:function(t,n){var e,o=t.match(/(P+)(p+)?/)||[],i=o[1],r=o[2];if(!r)return B(t,n);switch(i){case"P":e=n.dateTime({width:"short"});break;case"PP":e=n.dateTime({width:"medium"});break;case"PPP":e=n.dateTime({width:"long"});break;default:e=n.dateTime({width:"full"})}return e.replace("{{date}}",B(i,n)).replace("{{time}}",N(r,n))}};function R(t){var n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),t.getTime()-n.getTime()}var I=["D","DD"],U=["YY","YYYY"];function M(t,n,e){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(n,"`) for formatting years to the input `").concat(e,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(n,"`) for formatting years to the input `").concat(e,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(n,"`) for formatting days of the month to the input `").concat(e,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(n,"`) for formatting days of the month to the input `").concat(e,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var $={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 z(t){return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=n.width?String(n.width):t.defaultWidth;return t.formats[e]||t.formats[t.defaultWidth]}}var P={date:z({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:z({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:z({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},F={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function j(t){return function(n,e){var o;if("formatting"===(null!=e&&e.context?String(e.context):"standalone")&&t.formattingValues){var i=t.defaultFormattingWidth||t.defaultWidth,r=null!=e&&e.width?String(e.width):i;o=t.formattingValues[r]||t.formattingValues[i]}else{var a=t.defaultWidth,s=null!=e&&e.width?String(e.width):t.defaultWidth;o=t.values[s]||t.values[a]}return o[t.argumentCallback?t.argumentCallback(n):n]}}var L={ordinalNumber:function(t,n){var e=Number(t),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:j({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:j({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:j({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:j({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:j({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 G(t){return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=e.width,i=o&&t.matchPatterns[o]||t.matchPatterns[t.defaultMatchWidth],r=n.match(i);if(!r)return null;var a,s=r[0],l=o&&t.parsePatterns[o]||t.parsePatterns[t.defaultParseWidth],c=Array.isArray(l)?function(t,n){for(var e=0;e<t.length;e++)if(t[e].test(s))return e}(l):function(t,n){for(var e in t)if(t.hasOwnProperty(e)&&t[e].test(s))return e}(l);return a=t.valueCallback?t.valueCallback(c):c,{value:a=e.valueCallback?e.valueCallback(a):a,rest:n.slice(s.length)}}}var H,W={ordinalNumber:(H={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(t){return parseInt(t,10)}},function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.match(H.matchPattern);if(!e)return null;var o=e[0],i=t.match(H.parsePattern);if(!i)return null;var r=H.valueCallback?H.valueCallback(i[0]):i[0];return{value:r=n.valueCallback?n.valueCallback(r):r,rest:t.slice(o.length)}}),era:G({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:G({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(t){return t+1}}),month:G({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:G({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:G({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"})},Y={code:"en-US",formatDistance:function(t,n,e){var o,i=$[t];return o="string"==typeof i?i:1===n?i.one:i.other.replace("{{count}}",n.toString()),null!=e&&e.addSuffix?e.comparison&&e.comparison>0?"in "+o:o+" ago":o},formatLong:P,formatRelative:function(t,n,e,o){return F[t]},localize:L,match:W,options:{weekStartsOn:0,firstWeekContainsDate:1}},q=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Z=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,J=/^'([^]*?)'?$/,X=/''/g,Q=/[a-zA-Z]/;function K(t,n,e){var o,l,c,u,d,p,A,h,m,g,v,b,y,C,w,k,x,_;r(2,arguments);var S=String(n),E=f(),T=null!==(o=null!==(l=null==e?void 0:e.locale)&&void 0!==l?l:E.locale)&&void 0!==o?o:Y,B=s(null!==(c=null!==(u=null!==(d=null!==(p=null==e?void 0:e.firstWeekContainsDate)&&void 0!==p?p:null==e||null===(A=e.locale)||void 0===A||null===(h=A.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==d?d:E.firstWeekContainsDate)&&void 0!==u?u:null===(m=E.locale)||void 0===m||null===(g=m.options)||void 0===g?void 0:g.firstWeekContainsDate)&&void 0!==c?c:1);if(!(B>=1&&B<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var N=s(null!==(v=null!==(b=null!==(y=null!==(C=null==e?void 0:e.weekStartsOn)&&void 0!==C?C:null==e||null===(w=e.locale)||void 0===w||null===(k=w.options)||void 0===k?void 0:k.weekStartsOn)&&void 0!==y?y:E.weekStartsOn)&&void 0!==b?b:null===(x=E.locale)||void 0===x||null===(_=x.options)||void 0===_?void 0:_.weekStartsOn)&&void 0!==v?v:0);if(!(N>=0&&N<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!T.localize)throw new RangeError("locale must contain localize property");if(!T.formatLong)throw new RangeError("locale must contain formatLong property");var $=a(t);if(!function(t){if(r(1,arguments),!function(t){return r(1,arguments),t instanceof Date||"object"===(0,i.Z)(t)&&"[object Date]"===Object.prototype.toString.call(t)}(t)&&"number"!=typeof t)return!1;var n=a(t);return!isNaN(Number(n))}($))throw new RangeError("Invalid time value");var z=function(t,n){return r(2,arguments),function(t,n){r(2,arguments);var e=a(t).getTime(),o=s(n);return new Date(e+o)}(t,-s(n))}($,R($)),P={firstWeekContainsDate:B,weekStartsOn:N,locale:T,_originalDate:$};return S.match(Z).map((function(t){var n=t[0];return"p"===n||"P"===n?(0,D[n])(t,T.formatLong):t})).join("").match(q).map((function(o){if("''"===o)return"'";var i,r,a=o[0];if("'"===a)return(r=(i=o).match(J))?r[1].replace(X,"'"):i;var s,l=O[a];if(l)return null!=e&&e.useAdditionalWeekYearTokens||(s=o,-1===U.indexOf(s))||M(o,n,String(t)),null!=e&&e.useAdditionalDayOfYearTokens||!function(t){return-1!==I.indexOf(t)}(o)||M(o,n,String(t)),l(z,o,T.localize,P);if(a.match(Q))throw new RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");return o})).join("")}var V={data:function(){return{localDate:new Date,displayLocal:"local"===localStorage.clock_zone,display24h:!localStorage.clock_12h,dateMode:localStorage.clock_dateMode||"monthFirst",intervalCount:0,showMenu:!1,menuX:0,menuY:0}},computed:{utcDate:function(){return new Date(this.localDate.getTime()+6e4*this.localDate.getTimezoneOffset())},formatString:function(){var t,n;switch(this.dateMode){case"monthFirst":t="LL/dd/yyy";break;case"dayFirst":t="dd/LL/yyy";break;case"number":t="D"}return n=this.display24h?"HH:mm:ss":"hh:mm:ss a","".concat(t," ").concat(n)}},watch:{displayLocal:function(t){localStorage.clock_zone=t?"local":"utc"},display24h:function(t){t?delete localStorage.clock_12h:localStorage.clock_12h=!0},dateMode:function(t){t.match(/^monthFirst$|^dayFirst$|^number$/)&&(localStorage.clock_dateMode=t)}},created:function(){var t=this;setInterval((function(){t.intervalCount++,t.localDate=new Date}),this.intervalCount<10?100:1e3)},methods:{openMenu:function(t){var n=this;t.preventDefault(),this.showMenu=!1,this.menuX=t.clientX,this.menuY=t.clientY,this.$nextTick((function(){n.showMenu=!0}))},toggleDisplayLocal:function(){this.displayLocal=!this.displayLocal},toggleDisplay24h:function(){this.display24h=!this.display24h},setMonthFirst:function(){this.dateMode="monthFirst"},setDayFirst:function(){this.dateMode="dayFirst"},setNumber:function(){this.dateMode="number"}},filters:{date:function(t,n){return K(t,n,{useAdditionalDayOfYearTokens:!0})}}},tt=u(1900),nt=(0,tt.Z)(V,o,[],!1,null,null,null);nt.options.__file="packages/openc3-tool-common/src/tools/base/components/ClockFooter.vue";var et=nt.exports,ot=u(9554),it=u(7791);function rt(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var at=u(5217);function st(t,n){for(var e=0;e<n.length;e++){var o=n[e];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,(0,at.Z)(o.key),o)}}function lt(t,n,e){return n&&st(t.prototype,n),e&&st(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}var ct=u(4649),ut=u(6966);function dt(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}function pt(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?dt(Object(e),!0).forEach((function(n){(0,ct.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):dt(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}var ft=function(){function t(){rt(this,t),(0,ct.Z)(this,"id",1)}var n,e,o,r,a,s;return lt(t,[{key:"exec",value:(s=(0,it.Z)(regeneratorRuntime.mark((function t(n,e){var o,i,r,a,s,l=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=l.length>2&&void 0!==l[2]?l[2]:{},i=l.length>3&&void 0!==l[3]?l[3]:{},r=l.length>4&&void 0!==l[4]?l[4]:6e4,t.prev=3,t.next=6,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);case 6:t.sent&&OpenC3Auth.setTokens(),t.next=13;break;case 10:t.prev=10,t.t0=t.catch(3),OpenC3Auth.login();case 13:return this.id=this.id+1,t.prev=14,o.scope=window.openc3Scope,t.next=18,ut.Z.post("/openc3-api/api",{jsonrpc:"2.0",method:n,params:e,id:this.id,keyword_params:o},{headers:pt({Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc"},i),timeout:r});case 18:return a=t.sent,t.abrupt("return",a.data.result);case 22:throw t.prev=22,t.t1=t.catch(14),s=new Error,t.t1.response?(s.name=t.t1.response.data.error.data.class,s.message=t.t1.response.data.error.data.message):t.t1.request?(s.name="Request error",s.message="Request error, no response received"):s.name="Unknown error",s;case 27:case"end":return t.stop()}}),t,this,[[3,10],[14,22]])}))),function(t,n){return s.apply(this,arguments)})},{key:"decode_openc3_type",value:function(t){if(null!==t&&"object"===(0,i.Z)(t)&&"Float"==t.json_class&&t.raw){if("NaN"==t.raw)return NaN;if("Infinity"==t.raw)return 1/0;if("-Infinity"==t.raw)return-1/0}return null}},{key:"encode_openc3_type",value:function(t){return Number.isNaN(t)?{json_class:"Float",raw:"NaN"}:t==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:t==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}},{key:"ensure_offline_access",value:function(){var t=this;this.offline_access_needed().then((function(n){n&&(localStorage.openc3OfflineToken?t.set_offline_access(localStorage.openc3OfflineToken).then((function(){delete localStorage.openc3OfflineToken})):OpenC3Auth.getOfflineAccess())}))}},{key:"offline_access_needed",value:function(){return this.exec("offline_access_needed",[])}},{key:"set_offline_access",value:function(t){return this.exec("set_offline_access",[t])}},{key:"get_all_interface_info",value:function(){return this.exec("get_all_interface_info",[])}},{key:"map_target_to_interface",value:function(t,n){return this.exec("map_target_to_interface",[t,n])}},{key:"connect_interface",value:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),o=1;o<n;o++)e[o-1]=arguments[o];return e.length>0?this.exec("connect_interface",[t].concat(e)):this.exec("connect_interface",[t])}},{key:"disconnect_interface",value:function(t){return this.exec("disconnect_interface",[t])}},{key:"get_all_router_info",value:function(){return this.exec("get_all_router_info",[])}},{key:"connect_router",value:function(t){return this.exec("connect_router",[t])}},{key:"disconnect_router",value:function(t){return this.exec("disconnect_router",[t])}},{key:"get_target_interfaces",value:function(){return this.exec("get_target_interfaces",[])}},{key:"get_all_target_info",value:function(){return this.exec("get_all_target_info",[])}},{key:"get_tlm_cnts",value:function(t){return this.exec("get_tlm_cnts",[t])}},{key:"get_item",value:function(t,n,e){return this.exec("get_item",[t,n,e])}},{key:"get_parameter",value:function(t,n,e){return this.exec("get_parameter",[t,n,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(t){return this.exec("start_cmd_log",[t])}},{key:"start_tlm_log",value:function(t){return this.exec("start_tlm_log",[t])}},{key:"stop_cmd_log",value:function(t){return this.exec("stop_cmd_log",[t])}},{key:"stop_tlm_log",value:function(t){return this.exec("stop_tlm_log",[t])}},{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(t){return this.exec("set_limits_set",[t])}},{key:"get_background_tasks",value:function(){return this.exec("get_background_tasks",[])}},{key:"start_background_task",value:function(t){return this.exec("start_background_task",[t])}},{key:"stop_background_task",value:function(t){return this.exec("stop_background_task",[t])}},{key:"get_target",value:function(t){return this.exec("get_target",[t])}},{key:"get_target_list",value:function(){return this.exec("get_target_list",[])}},{key:"get_target_names",value:function(){return this.exec("get_target_names",[])}},{key:"get_telemetry",value:function(t,n){return this.exec("get_telemetry",[t,n])}},{key:"get_all_telemetry",value:function(t){return this.exec("get_all_telemetry",[t])}},{key:"get_all_telemetry_names",value:function(t){return this.exec("get_all_telemetry_names",[t])}},{key:"get_tlm_packet",value:(a=(0,it.Z)(regeneratorRuntime.mark((function t(n,e,o){var i,r,a,s,l,c=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=c.length>3&&void 0!==c[3]?c[3]:30,t.next=3,this.exec("get_tlm_packet",[n,e],{type:o,stale_time:i});case 3:if(null!=(r=t.sent))for(a=r.length,s=null,l=0;l<a;l++)null!==(s=this.decode_openc3_type(r[l][1]))&&(r[l][1]=s);return t.abrupt("return",r);case 6:case"end":return t.stop()}}),t,this)}))),function(t,n,e){return a.apply(this,arguments)})},{key:"get_packet_derived_items",value:function(t,n){return this.exec("get_packet_derived_items",[t,n])}},{key:"get_tlm_buffer",value:function(t,n){return this.exec("get_tlm_buffer",[t,n])}},{key:"get_tlm_values",value:(r=(0,it.Z)(regeneratorRuntime.mark((function t(n){var e,o,i,r,a,s=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=s.length>1&&void 0!==s[1]?s[1]:30,t.next=3,this.exec("get_tlm_values",[n],{stale_time:e},{},1e4);case 3:for(o=t.sent,i=o[0].length,r=null,a=0;a<i;a++)null!==(r=this.decode_openc3_type(o[0][a]))&&(o[0][a]=r);return t.abrupt("return",o);case 8:case"end":return t.stop()}}),t,this)}))),function(t){return r.apply(this,arguments)})},{key:"get_limits",value:function(t,n,e){return this.exec("get_limits",[t,n,e])}},{key:"tlm",value:(o=(0,it.Z)(regeneratorRuntime.mark((function t(n,e,o){var i,r,a,s,l=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=l.length>3&&void 0!==l[3]?l[3]:"CONVERTED",r=null,void 0!==e){t.next=8;break}return t.next=5,this.exec("tlm",[n]);case 5:r=t.sent,t.next=24;break;case 8:if(void 0!==o){t.next=21;break}if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(e)){t.next=15;break}return t.next=12,this.exec("tlm",[n],{type:e});case 12:r=t.sent,t.next=19;break;case 15:throw(a=new Error).name="TypeError",a.message="Invalid data type ".concat(e,". Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS."),a;case 19:t.next=24;break;case 21:return t.next=23,this.exec("tlm",[n,e,o],{type:i});case 23:r=t.sent;case 24:return null!==(s=this.decode_openc3_type(r))&&(r=s),t.abrupt("return",r);case 27:case"end":return t.stop()}}),t,this)}))),function(t,n,e){return o.apply(this,arguments)})},{key:"inject_tlm",value:(e=(0,it.Z)(regeneratorRuntime.mark((function t(n,e){var o,i,r=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=r.length>2&&void 0!==r[2]?r[2]:null,i=r.length>3&&void 0!==r[3]?r[3]:"CONVERTED",t.next=4,this.exec("inject_tlm",[n,e,o],{type:i});case 4:data=t.sent;case 5:case"end":return t.stop()}}),t,this)}))),function(t,n){return e.apply(this,arguments)})},{key:"set_tlm",value:function(t,n,e,o){return this.exec("set_tlm",[t,n,e],{type:o})}},{key:"override_tlm",value:function(t,n,e,o){return this.exec("override_tlm",[t,n,e],{type:o})}},{key:"get_overrides",value:function(){return this.exec("get_overrides")}},{key:"normalize_tlm",value:function(t,n,e,o){return this.exec("normalize_tlm",[t,n,e],{type:o})}},{key:"get_all_commands",value:function(t){return this.exec("get_all_commands",[t])}},{key:"get_all_command_names",value:function(t){return this.exec("get_all_command_names",[t])}},{key:"get_command",value:function(t,n){return this.exec("get_command",[t,n])}},{key:"get_cmd_cnts",value:function(t){return this.exec("get_cmd_cnts",[t])}},{key:"get_cmd_value",value:function(t,n,e){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"CONVERTED";return this.exec("get_cmd_value",[t,n,e,o])}},{key:"get_cmd_buffer",value:function(t,n){return this.exec("get_cmd_buffer",[t,n])}},{key:"_cmd",value:function(t,n,e,o,i){var r=null;for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&null!==(r=this.encode_openc3_type(o[a]))&&(o[a]=r);return this.exec(t,[n,e,o],{},i)}},{key:"get_cmd_hazardous",value:function(t,n,e){return void 0===n?this.exec("get_cmd_hazardous",t):this._cmd("get_cmd_hazardous",t,n,e)}},{key:"cmd",value:function(t,n,e){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return void 0===n?this.exec("cmd",t,{},o):this._cmd("cmd",t,n,e,o)}},{key:"cmd_no_range_check",value:function(t,n,e){return void 0===n?this.exec("cmd_no_range_check",t):this._cmd("cmd_no_range_check",t,n,e)}},{key:"cmd_raw",value:function(t,n,e){return void 0===n?this.exec("cmd_raw",t):this._cmd("cmd_raw",t,n,e)}},{key:"cmd_raw_no_range_check",value:function(t,n,e){return void 0===n?this.exec("cmd_raw_no_range_check",t):this._cmd("cmd_raw_no_range_check",t,n,e)}},{key:"cmd_no_hazardous_check",value:function(t,n,e){return void 0===n?this.exec("cmd_no_hazardous_check",t):this._cmd("cmd_no_hazardous_check",t,n,e)}},{key:"cmd_no_checks",value:function(t,n,e){return void 0===n?this.exec("cmd_no_checks",t):this._cmd("cmd_no_checks",t,n,e)}},{key:"cmd_raw_no_hazardous_check",value:function(t,n,e){return void 0===n?this.exec("cmd_raw_no_hazardous_check",t):this._cmd("cmd_raw_no_hazardous_check",t,n,e)}},{key:"cmd_raw_no_checks",value:function(t,n,e){return void 0===n?this.exec("cmd_raw_no_checks",t):this._cmd("cmd_raw_no_checks",t,n,e)}},{key:"build_command",value:function(t,n,e){return void 0===n?this.exec("build_command",t):this._cmd("build_command",t,n,e)}},{key:"get_interface_names",value:function(){return this.exec("get_interface_names",[])}},{key:"send_raw",value:function(t,n){return this.exec("send_raw",[t,n])}},{key:"list_configs",value:function(t){return this.exec("list_configs",[t])}},{key:"load_config",value:function(t,n){return this.exec("load_config",[t,n])}},{key:"save_config",value:function(t,n,e){return this.exec("save_config",[t,n,e])}},{key:"delete_config",value:function(t,n){return this.exec("delete_config",[t,n])}},{key:"enable_limits",value:function(t,n,e){return this.exec("enable_limits",[t,n,e])}},{key:"disable_limits",value:function(t,n,e){return this.exec("disable_limits",[t,n,e])}},{key:"get_out_of_limits",value:function(){return this.exec("get_out_of_limits",[])}},{key:"get_overall_limits_state",value:function(t){return this.exec("get_overall_limits_state",[t])}},{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(t){return this.exec("get_setting",[t])}},{key:"get_settings",value:function(t){return this.exec("get_settings",t)}},{key:"save_setting",value:function(t,n){return this.exec("save_setting",[t,n])}},{key:"get_metrics",value:function(){return this.exec("get_metrics",[])}},{key:"hashString",value:(n=(0,it.Z)(regeneratorRuntime.mark((function t(n){var e,o,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!window.isSecureContext){t.next=7;break}return e=(new TextEncoder).encode(n),t.next=4,crypto.subtle.digest("SHA-256",e);case 4:return o=t.sent,i=new Uint8Array(o),t.abrupt("return",Array.from(i).map((function(t){return t.toString(16).padStart(2,"0")})).join(""));case 7:case"end":return t.stop()}}),t)}))),function(t){return n.apply(this,arguments)})}]),t}(),At=u.p+"a0696a4fd430262c8adb.png",ht=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-dialog",{attrs:{width:"650px"},model:{value:t.show,callback:function(n){t.show=n},expression:"show"}},[e("v-card",[e("v-system-bar",[e("v-spacer"),t._v(" "),e("span",[t._v(" Upgrade to COSMOS Enterprise Edition ")]),t._v(" "),e("v-spacer")],1),t._v(" "),e("v-card-text",{staticClass:"mt-2"},[e("div",{staticClass:"logo"},[e("img",{attrs:{src:t.logo,alt:"OpenC3"}}),t._v(" "),e("div",{staticClass:"cosmos"},[t._v("Enterprise Edition")])]),t._v(" "),e("div",{staticClass:"pb-4"},[t._v("\n Thank you for using the COSMOS Open Source Edition!\n ")]),t._v(" "),t.reason?e("div",[e("div",{staticClass:"pb-4 pl-4 reason"},[t._v("\n "+t._s(t.reason)+"\n ")])]):t._e(),t._v("\n COSMOS Enterprise Edition removes all restrictions and offers users with\n role based access control, scaling on kubernetes, cloud platform\n support, multiple scopes, various integrations with common protocols and\n hardware, commercial licensing, and much more!"),e("br"),e("br"),t._v("\n Learn more at\n "),e("a",{attrs:{href:"https://openc3.com/enterprise"}},[t._v("https://openc3.com/enterprise")]),t._v("\n and help support COSMOS Open Source by supporting our business. Contact\n us at "),e("a",{attrs:{href:"mailto:support@openc3.com"}},[t._v("support@openc3.com")]),t._v(" for\n more information about Enterprise Edition, COSMOS training, COSMOS\n support, and custom COSMOS development.\n ")]),t._v(" "),e("v-card-actions",[e("v-spacer"),t._v(" "),e("v-btn",{staticClass:"mx-2",attrs:{color:"primary"},on:{click:function(n){t.show=!t.show}}},[t._v(" Ok ")])],1)],1)],1)};ht._withStripped=!0;var mt=u.p+"772bd60446e0b68b2dcb.png",gt={props:{value:Boolean,reason:String},data:function(){return{logo:mt}},computed:{show:{get:function(){return this.value},set:function(t){this.$emit("input",t)}}}},vt=u(3379),bt=u.n(vt),yt=u(7795),Ct=u.n(yt),wt=u(569),kt=u.n(wt),xt=u(3565),_t=u.n(xt),St=u(9216),Et=u.n(St),Tt=u(4589),Ot=u.n(Tt),Bt=u(2980),Nt={};Nt.styleTagTransform=Ot(),Nt.setAttributes=_t(),Nt.insert=kt().bind(null,"head"),Nt.domAPI=Ct(),Nt.insertStyleElement=Et(),bt()(Bt.Z,Nt),Bt.Z&&Bt.Z.locals&&Bt.Z.locals;var Dt=(0,tt.Z)(gt,ht,[],!1,null,"36f1a220",null);Dt.options.__file="packages/openc3-tool-common/src/components/UpgradeToEnterpriseDialog.vue";var Rt=Dt.exports,It={components:{ClockFooter:et,UpgradeToEnterpriseDialog:Rt},data:function(){return{icon:At,edition:"",enterprise:!1,license:"",sourceUrl:"",version:"",showUpgradeToEnterpriseDialog:!1}},created:function(){var t=this;this.getSourceUrl(),ot.Z.get("/openc3-api/info").then((function(n){n.data.enterprise?t.edition="COSMOS Enterprise":t.edition="COSMOS Open Source",t.enterprise=n.data.enterprise,t.license=n.data.license,t.version=n.data.version}))},computed:{footerClass:function(){return this.enterprise?"enterprise":"base"}},methods:{getSourceUrl:function(){var t=this;(new ft).get_settings(["source_url"]).then((function(n){t.sourceUrl=n[0]}))},upgrade:function(){this.enterprise||(this.showUpgradeToEnterpriseDialog=!0)}}},Ut=u(4829),Mt={};Mt.styleTagTransform=Ot(),Mt.setAttributes=_t(),Mt.insert=kt().bind(null,"head"),Mt.domAPI=Ct(),Mt.insertStyleElement=Et(),bt()(Ut.Z,Mt),Ut.Z&&Ut.Z.locals&&Ut.Z.locals;var $t=(0,tt.Z)(It,e,[],!1,null,"1f2e2c8b",null);$t.options.__file="packages/openc3-tool-common/src/tools/base/AppFooter.vue";var zt=$t.exports,Pt=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("v-navigation-drawer",{attrs:{app:"",id:"openc3-nav-drawer"},model:{value:t.drawer,callback:function(n){t.drawer=n},expression:"drawer"}},[e("v-list",[e("v-list-item",[e("v-list-item-icon",{staticStyle:{"margin-right":"auto !important","margin-left":"auto","margin-top":"0px","margin-bottom":"0px"}},[e("img",{attrs:{src:t.logo,alt:"OpenC3"}})])],1),t._v(" "),e("div",{staticClass:"cosmos",on:{click:function(n){t.showUpgradeToEnterpriseDialog=!0}}},[t._v("\n COSMOS\n ")]),t._v(" "),e("v-list-item",{staticClass:"my-0"},[e("v-list-item-content",t._l(t.adminTools,(function(n,o){return e("div",{key:o},[e("v-btn",{staticClass:"fixcenter",attrs:{block:"",small:"",href:n.url,onclick:"singleSpaNavigate(event)"}},[t._v("\n Admin\n ")])],1)})),0)],1),t._v(" "),e("v-divider"),t._v(" "),e("v-treeview",{attrs:{items:t.items,open:t.initiallyOpen,"item-key":"name",dense:"","open-on-click":"","expand-icon":""},scopedSlots:t._u([{key:"prepend",fn:function(n){var o=n.item,i=n.open;return[o.icon?e("a",{attrs:{href:o.url,onclick:"singleSpaNavigate(event)"}},[e("v-icon",[t._v(" "+t._s(o.icon)+" ")])],1):e("v-icon",[t._v("\n "+t._s(i?"mdi-chevron-down":"mdi-chevron-right")+"\n ")])]}},{key:"label",fn:function(n){var o=n.item;return[e("a",{attrs:{href:o.url,onclick:"singleSpaNavigate(event)"}},[t._v("\n "+t._s(o.name)+"\n ")])]}},{key:"append",fn:function(n){var o=n.item;return[o.icon?e("a",{attrs:{href:t.newTabUrl(o),target:"_blank"}},[e("v-icon",[t._v("mdi-open-in-new")])],1):t._e()]}}])})],1)],1),t._v(" "),e("v-app-bar",{attrs:{app:"",color:"tertiary darken-3",id:"openc3-app-toolbar"}},[e("v-app-bar-nav-icon",{on:{click:function(n){t.drawer=!t.drawer}}}),t._v(" "),e("v-divider",{staticClass:"top-bar-divider-full-height",attrs:{vertical:""}}),t._v(" "),e("span",{staticStyle:{width:"100%"}},[e("span",{attrs:{id:"openc3-menu"}})]),t._v(" "),e("div",{staticClass:"justify-right mr-2 pt-2"},[e("scope-selector")],1),t._v(" "),e("div",{staticClass:"justify-right",attrs:{"data-test":"alert-history"}},[e("alert-history")],1),t._v(" "),e("div",{staticClass:"justify-right",attrs:{"data-test":"notifications"}},[e("notifications")],1),t._v(" "),e("div",{staticClass:"justify-right",attrs:{"data-test":"user-menu"}},[e("user-menu")],1)],1),t._v(" "),e("upgrade-to-enterprise-dialog",{model:{value:t.showUpgradeToEnterpriseDialog,callback:function(n){t.showUpgradeToEnterpriseDialog=n},expression:"showUpgradeToEnterpriseDialog"}})],1)};Pt._withStripped=!0;var Ft=u(8645),jt=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticStyle:{cursor:"pointer"},on:{click:function(n){t.showUpgradeToEnterpriseDialog=!0}}},[e("v-select",{attrs:{items:t.scopes,disabled:t.scopes.length<=1,label:"Scope",dense:"","hide-details":""},model:{value:t.scope,callback:function(n){t.scope=n},expression:"scope"}}),t._v(" "),e("upgrade-to-enterprise-dialog",{attrs:{reason:"Open Source has a single DEFAULT scope."},model:{value:t.showUpgradeToEnterpriseDialog,callback:function(n){t.showUpgradeToEnterpriseDialog=n},expression:"showUpgradeToEnterpriseDialog"}})],1)};jt._withStripped=!0;var Lt={components:{UpgradeToEnterpriseDialog:Rt},data:function(){return{scopes:["DEFAULT"],scope:"DEFAULT",showUpgradeToEnterpriseDialog:!1}}},Gt=(0,tt.Z)(Lt,jt,[],!1,null,null,null);Gt.options.__file="packages/openc3-tool-common/src/tools/base/components/ScopeSelector.vue";var Ht=Gt.exports,Wt=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("v-overlay",{staticClass:"overlay",attrs:{value:t.showAlertPane}}),t._v(" "),e("v-menu",{attrs:{transition:"slide-y-transition","close-on-content-click":!1,"nudge-width":340,"offset-y":"","nudge-bottom":20},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({attrs:{icon:""}},"v-btn",i,!1),o),[e("v-icon",{attrs:{size:t.size}},[t._v(" mdi-alert-box-outline ")])],1)]}}]),model:{value:t.showAlertPane,callback:function(n){t.showAlertPane=n},expression:"showAlertPane"}},[t._v(" "),e("v-card",[e("v-card-title",[t._v("\n Alerts\n "),e("v-spacer"),t._v(" "),e("v-tooltip",{attrs:{top:"","open-delay":"350"},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({staticClass:"ml-1",attrs:{icon:""},on:{click:t.clearAlerts}},"v-btn",i,!1),o),[e("v-icon",[t._v(" mdi-notification-clear-all ")])],1)]}}])},[t._v(" "),e("span",[t._v("Clear all")])])],1),t._v(" "),0===t.alerts.length?e("v-card-text",[t._v(" No alerts ")]):e("v-list",{staticClass:"overflow-y-auto",attrs:{"two-line":"",width:"388","max-height":"80vh"}},[t._l(t.alerts,(function(n,o){return[e("v-list-item",{key:"alert-"+o,staticClass:"pl-2",on:{click:function(e){return t.openDialog(n)}}},[e("v-badge",{attrs:{left:"",inline:"",color:"transparent"},scopedSlots:t._u([{key:"badge",fn:function(){return[e("astro-status-indicator",{attrs:{status:n.severity.toLowerCase()}})]},proxy:!0}],null,!0)},[e("v-list-item-content",{staticClass:"pt-0 pb-0"},[e("v-list-item-title",[t._v("\n "+t._s(n.title)+"\n ")]),t._v(" "),e("v-list-item-subtitle",[t._v("\n "+t._s(n.body)+"\n ")])],1)],1)],1)]}))],2)],1)],1),t._v(" "),e("v-dialog",{attrs:{width:"600"},model:{value:t.alertDialog,callback:function(n){t.alertDialog=n},expression:"alertDialog"}},[e("v-card",[e("v-card-title",[t._v("\n "+t._s(t.selectedAlert.title)+"\n "),e("v-spacer"),t._v(" "),e("astro-status-indicator",{attrs:{status:t.selectedAlert.severity||"normal"}})],1),t._v(" "),e("v-card-text",[t._v("\n "+t._s(t.selectedAlert.body)+"\n ")]),t._v(" "),e("v-divider"),t._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(n){t.alertDialog=!1}}},[t._v("\n Dismiss\n ")])],1)],1)],1)],1)};Wt._withStripped=!0;var Yt=function(){var t=this,n=t.$createElement;return(t._self._c||n)("rux-icon",{staticClass:"astro-icon",attrs:{icon:t.icon}})};Yt._withStripped=!0;var qt=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("span",{style:t.style,attrs:{id:"rux-icon",title:t.label,size:t.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:t.getIcon(this.library,this.icon)}})])])};qt._withStripped=!0;var Zt={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}}},Jt=(0,tt.Z)(Zt,qt,[],!1,null,null,null);Jt.options.__file="packages/openc3-tool-common/src/components/icons/RuxIcon.vue";var Xt={components:{RuxIcon:Jt.exports},props:{icon:{type:String,required:!0,validator:function(t){return en.includes(t)}}}},Qt=u(3838),Kt={};Kt.styleTagTransform=Ot(),Kt.setAttributes=_t(),Kt.insert=kt().bind(null,"head"),Kt.domAPI=Ct(),Kt.insertStyleElement=Et(),bt()(Qt.Z,Kt),Qt.Z&&Qt.Z.locals&&Qt.Z.locals;var Vt=(0,tt.Z)(Xt,Yt,[],!1,null,"b942113a",null);Vt.options.__file="packages/openc3-tool-common/src/components/icons/AstroIcon.vue";var tn=Vt.exports;function nn(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}var en=["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"],on=en.reduce((function(t,n){return function(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?nn(Object(e),!0).forEach((function(n){(0,ct.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):nn(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}((0,ct.Z)({},"astro-".concat(n),{component:tn,props:{icon:n}}),t)}),{}),rn={fatal:"fatal",FATAL:"fatal",error:"critical",ERROR:"critical",warn:"serious",WARN:"serious",info:"normal",INFO:"normal",debug:"off",DEBUG:"off",critical:"critical",CRITICAL:"critical",serious:"serious",SERIOUS:"serious",caution:"caution",CAUTION:"caution",normal:"normal",NORMAL:"normal",standby:"standby",STANDBY:"standby",off:"off",OFF:"OFF"},an={fatal:"#ff69B4",critical:"#ff3838",serious:"#ffb302",caution:"#fce83a",normal:"#56f000",standby:"#2dccff",off:"#9ea7ad"},sn=Object.keys(an),ln={props:{size:{type:[String,Number],default:26}},data:function(){return{AstroStatusColors:an,alerts:[],alertDialog:!1,showAlertPane:!1,selectedAlert:{}}},watch:{showAlertPane:function(t){t&&this.refreshList(),!t&&this.selectedAlert.title&&(this.alertDialog=!1,this.selectedAlert={})}},methods:{refreshList:function(){this.alerts=this.$store.state.notifyHistory},clearAlerts:function(){this.$store.commit("notifyClearHistory"),this.refreshList(),this.showAlertPane=!1},openDialog:function(t){this.selectedAlert=t,this.alertDialog=!0}}},cn=u(2003),un={};un.styleTagTransform=Ot(),un.setAttributes=_t(),un.insert=kt().bind(null,"head"),un.domAPI=Ct(),un.insertStyleElement=Et(),bt()(cn.Z,un),cn.Z&&cn.Z.locals&&cn.Z.locals;var dn=(0,tt.Z)(ln,Wt,[],!1,null,"3d0e2e40",null);dn.options.__file="packages/openc3-tool-common/src/tools/base/components/AlertHistory.vue";var pn=dn.exports,fn=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("v-overlay",{staticClass:"overlay",attrs:{value:t.showNotificationPane}}),t._v(" "),e("v-menu",{attrs:{transition:"slide-y-transition","close-on-content-click":!1,"nudge-width":340,"offset-y":"","nudge-bottom":20},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({attrs:{icon:""}},"v-btn",i,!1),o),[0===t.unreadCount?e("v-icon",{attrs:{size:t.size}},[t._v("\n mdi-bell-outline\n ")]):e("v-badge",{attrs:{left:"","offset-x":"24","offset-y":"8",color:t.badgeColor,bordered:"",content:t.unreadCount}},[e("v-icon",{attrs:{size:t.size,color:t.badgeColor}},[t._v(" mdi-bell ")])],1)],1)]}}]),model:{value:t.showNotificationPane,callback:function(n){t.showNotificationPane=n},expression:"showNotificationPane"}},[t._v(" "),e("v-card",[e("v-card-title",[t._v("\n Notifications\n "),e("v-spacer"),t._v(" "),e("v-tooltip",{attrs:{top:"","open-delay":"350"},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({staticClass:"ml-1",attrs:{icon:"","data-test":"clear-notifications"},on:{click:t.clearNotifications}},"v-btn",i,!1),o),[e("v-icon",[t._v(" mdi-notification-clear-all ")])],1)]}}])},[t._v(" "),e("span",[t._v("Clear all")])]),t._v(" "),e("v-btn",{staticClass:"ml-1",attrs:{icon:"","data-test":"notification-settings"},on:{click:t.toggleSettingsDialog}},[e("v-icon",[t._v(" $astro-settings ")])],1)],1),t._v(" "),0===t.notifications.length?e("v-card-text",[t._v("\n No notifications\n ")]):e("v-list",{staticClass:"overflow-y-auto",attrs:{"two-line":"",width:"388","max-height":"80vh","data-test":"notification-list"}},[t._l(t.notificationList,(function(n,o){return[n.header?[0!==o?e("v-divider",{key:o,staticClass:"mb-2"}):t._e(),t._v(" "),e("v-subheader",{key:n.header},[t._v("\n "+t._s(n.header)+"\n ")])]:e("v-list-item",{key:"notification-"+o,staticClass:"pl-2",on:{click:function(e){return t.openDialog(n)}}},[e("v-badge",{attrs:{left:"",inline:"",color:"transparent"},scopedSlots:t._u([{key:"badge",fn:function(){return[e("astro-status-indicator",{attrs:{status:n.severity}})]},proxy:!0}],null,!0)},[e("v-list-item-content",{staticClass:"pt-0 pb-0"},[e("v-list-item-title",{class:{"text--secondary":n.read,"text-wrap":!0}},[t._v("\n "+t._s(n.log)+"\n ")]),t._v(" "),e("v-list-item-subtitle",[t._v("\n "+t._s(t._f("shortDateTime")(n.time))+"\n ")]),t._v(" "),e("div",{staticStyle:{height:"20px"}})],1)],1)],1)]}))],2)],1)],1),t._v(" "),e("v-dialog",{attrs:{width:"600"},model:{value:t.notificationDialog,callback:function(n){t.notificationDialog=n},expression:"notificationDialog"}},[e("v-card",[e("v-card-title",[t._v("\n "+t._s(t.selectedNotification.log)+"\n "),e("v-spacer"),t._v(" "),e("astro-status-indicator",{attrs:{status:t.selectedNotification.severity||"INFO"}})],1),t._v(" "),e("v-card-subtitle",[t._v("\n "+t._s(t._f("shortDateTime")(t.selectedNotification.time))+"\n ")]),t._v(" "),e("v-divider"),t._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(n){return t.navigate(t.selectedNotification.url)}}},[t._v("\n Open\n "),e("v-icon",{attrs:{right:""}},[t._v(" mdi-open-in-new ")])],1),t._v(" "),e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(n){t.notificationDialog=!1}}},[t._v("\n Dismiss\n ")])],1)],1)],1),t._v(" "),e("v-dialog",{attrs:{width:"600"},model:{value:t.settingsDialog,callback:function(n){t.settingsDialog=n},expression:"settingsDialog"}},[e("v-card",[e("v-card-title",[t._v(" Notification settings ")]),t._v(" "),e("v-card-text",[e("v-switch",{attrs:{label:"Show toasts"},model:{value:t.showToast,callback:function(n){t.showToast=n},expression:"showToast"}})],1),t._v(" "),e("v-divider"),t._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:t.toggleSettingsDialog}},[t._v("\n close\n ")])],1)],1)],1)],1)};function An(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}function hn(t){return function(t){if(Array.isArray(t))return An(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,n){if(t){if("string"==typeof t)return An(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?An(t,n):void 0}}(t)||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 mn(t,n){r(2,arguments);var e=a(t),o=a(n),i=e.getTime()-o.getTime();return i<0?-1:i>0?1:i}function gn(t,n){r(2,arguments);var e,o=a(t),i=a(n),s=mn(o,i),l=Math.abs(function(t,n){r(2,arguments);var e=a(t),o=a(n);return 12*(e.getFullYear()-o.getFullYear())+(e.getMonth()-o.getMonth())}(o,i));if(l<1)e=0;else{1===o.getMonth()&&o.getDate()>27&&o.setDate(30),o.setMonth(o.getMonth()-s*l);var c=mn(o,i)===-s;(function(t){r(1,arguments);var n=a(t);return function(t){r(1,arguments);var n=a(t);return n.setHours(23,59,59,999),n}(n).getTime()===function(t){r(1,arguments);var n=a(t),e=n.getMonth();return n.setFullYear(n.getFullYear(),e+1,0),n.setHours(23,59,59,999),n}(n).getTime()})(a(t))&&1===l&&1===mn(t,i)&&(c=!1),e=s*(l-Number(c))}return 0===e?0:e}fn._withStripped=!0;var vn={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},bn="trunc";function yn(t,n){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e]);return t}var Cn=43200;function wn(t,n,e){var o,i;r(2,arguments);var s=f(),l=null!==(o=null!==(i=null==e?void 0:e.locale)&&void 0!==i?i:s.locale)&&void 0!==o?o:Y;if(!l.formatDistance)throw new RangeError("locale must contain formatDistance property");var c=mn(t,n);if(isNaN(c))throw new RangeError("Invalid time value");var u,d,p=yn(yn({},e),{addSuffix:Boolean(null==e?void 0:e.addSuffix),comparison:c});c>0?(u=a(n),d=a(t)):(u=a(t),d=a(n));var A,h=function(t,n,e){r(2,arguments);var o,i=function(t,n){return r(2,arguments),a(t).getTime()-a(n).getTime()}(t,n)/1e3;return((o=null==e?void 0:e.roundingMethod)?vn[o]:vn[bn])(i)}(d,u),m=(R(d)-R(u))/1e3,g=Math.round((h-m)/60);if(g<2)return null!=e&&e.includeSeconds?h<5?l.formatDistance("lessThanXSeconds",5,p):h<10?l.formatDistance("lessThanXSeconds",10,p):h<20?l.formatDistance("lessThanXSeconds",20,p):h<40?l.formatDistance("halfAMinute",0,p):h<60?l.formatDistance("lessThanXMinutes",1,p):l.formatDistance("xMinutes",1,p):0===g?l.formatDistance("lessThanXMinutes",1,p):l.formatDistance("xMinutes",g,p);if(g<45)return l.formatDistance("xMinutes",g,p);if(g<90)return l.formatDistance("aboutXHours",1,p);if(g<1440){var v=Math.round(g/60);return l.formatDistance("aboutXHours",v,p)}if(g<2520)return l.formatDistance("xDays",1,p);if(g<Cn){var b=Math.round(g/1440);return l.formatDistance("xDays",b,p)}if(g<86400)return A=Math.round(g/Cn),l.formatDistance("aboutXMonths",A,p);if((A=gn(d,u))<12){var y=Math.round(g/Cn);return l.formatDistance("xMonths",y,p)}var C=A%12,w=Math.floor(A/12);return C<3?l.formatDistance("aboutXYears",w,p):C<9?l.formatDistance("overXYears",w,p):l.formatDistance("almostXYears",w+1,p)}var kn=["FATAL","fatal","ERROR","critical","serious","WARN","caution","INFO","normal","standby","off","DEBUG"],xn={logger:self.console,WebSocket:self.WebSocket},_n={log(...t){this.enabled&&(t.push(Date.now()),xn.logger.log("[ActionCable]",...t))}};const Sn=()=>(new Date).getTime(),En=t=>(Sn()-t)/1e3;class Tn{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=Sn(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),_n.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=Sn(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),_n.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordPing(){this.pingedAt=Sn()}recordConnect(){this.reconnectAttempts=0,this.recordPing(),delete this.disconnectedAt,_n.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=Sn(),_n.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){const{staleThreshold:t,reconnectionBackoffRate:n}=this.constructor;return 1e3*t*Math.pow(1+n,Math.min(this.reconnectAttempts,10))*(1+(0===this.reconnectAttempts?1:n)*Math.random())}reconnectIfStale(){this.connectionIsStale()&&(_n.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${En(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?_n.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${En(this.disconnectedAt)} s`):(_n.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return En(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&En(this.disconnectedAt)<this.constructor.staleThreshold}visibilityDidChange(){"visible"===document.visibilityState&&setTimeout((()=>{!this.connectionIsStale()&&this.connection.isOpen()||(_n.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}}Tn.staleThreshold=6,Tn.reconnectionBackoffRate=.15;var On={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"]};const{message_types:Bn,protocols:Nn}=On,Dn=Nn.slice(0,Nn.length-1),Rn=[].indexOf;class In{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new Tn(this),this.disconnected=!0}send(t){return!!this.isOpen()&&(this.webSocket.send(JSON.stringify(t)),!0)}open(){return this.isActive()?(_n.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1):(_n.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${Nn}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new xn.WebSocket(this.consumer.url,Nn),this.installEventHandlers(),this.monitor.start(),!0)}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(_n.log(`Reopening WebSocket, current state is ${this.getState()}`),!this.isActive())return this.open();try{return this.close()}catch(t){_n.log("Failed to reopen WebSocket",t)}finally{_n.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}isProtocolSupported(){return Rn.call(Dn,this.getProtocol())>=0}isState(...t){return Rn.call(t,this.getState())>=0}getState(){if(this.webSocket)for(let t in xn.WebSocket)if(xn.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase();return null}installEventHandlers(){for(let t in this.events){const n=this.events[t].bind(this);this.webSocket[`on${t}`]=n}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}}In.reopenDelay=500,In.prototype.events={message(t){if(!this.isProtocolSupported())return;const{identifier:n,message:e,reason:o,reconnect:i,type:r}=JSON.parse(t.data);switch(r){case Bn.welcome:return this.monitor.recordConnect(),this.subscriptions.reload();case Bn.disconnect:return _n.log(`Disconnecting. Reason: ${o}`),this.close({allowReconnect:i});case Bn.ping:return this.monitor.recordPing();case Bn.confirmation:return this.subscriptions.confirmSubscription(n),this.subscriptions.notify(n,"connected");case Bn.rejection:return this.subscriptions.reject(n);default:return this.subscriptions.notify(n,"received",e)}},open(){if(_n.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return _n.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(t){if(_n.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){_n.log("WebSocket onerror event")}};class Un{constructor(t,n={},e){this.consumer=t,this.identifier=JSON.stringify(n),function(t,n){if(null!=n)for(let e in n){const o=n[e];t[e]=o}}(this,e)}perform(t,n={}){return n.action=t,this.send(n)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}}class Mn{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){-1==this.pendingSubscriptions.indexOf(t)?(_n.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):_n.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){_n.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((n=>n!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&"function"==typeof this.subscriptions.subscribe&&this.pendingSubscriptions.map((t=>{_n.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}}class $n{constructor(t){this.consumer=t,this.guarantor=new Mn(this),this.subscriptions=[]}create(t,n){const e="object"==typeof t?t:{channel:t},o=new Un(this.consumer,e,n);return this.add(o)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((t=>(this.forget(t),this.notify(t,"rejected"),t)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((n=>n!==t)),t}findAll(t){return this.subscriptions.filter((n=>n.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...n){return this.subscriptions.map((e=>this.notify(e,t,...n)))}notify(t,n,...e){let o;return o="string"==typeof t?this.findAll(t):[t],o.map((t=>"function"==typeof t[n]?t[n](...e):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){_n.log(`Subscription confirmed ${t}`),this.findAll(t).map((t=>this.guarantor.forget(t)))}sendCommand(t,n){const{identifier:e}=t;return this.consumer.send({command:n,identifier:e})}}class zn{constructor(t){this._url=t,this.subscriptions=new $n(this),this.connection=new In(this)}get url(){return function(t){if("function"==typeof t&&(t=t()),t&&!/^wss?:/i.test(t)){const n=document.createElement("a");return n.href=t,n.href=n.href,n.protocol=n.protocol.replace("http","ws"),n.href}return t}(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}}function Pn(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}Tn.staleThreshold=10;var Fn=function(){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/openc3-api/cable";rt(this,t),this._cable=null,this._url=n}return lt(t,[{key:"disconnect",value:function(){this._cable&&this._cable.disconnect()}},{key:"createSubscription",value:function(t,n){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(n){if(n&&OpenC3Auth.setTokens(),null==e._cable){var r=e._url+"?scope="+window.openc3Scope+"&authorization="+localStorage.openc3Token;e._cable=function(t=function(t){const n=document.head.querySelector("meta[name='action-cable-url']");if(n)return n.getAttribute("content")}()||On.default_mount_path){return new zn(t)}(encodeURI(r))}return e._cable.subscriptions.create(function(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?Pn(Object(e),!0).forEach((function(n){(0,ct.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Pn(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}({channel:t},i),o)}))}},{key:"recordPing",value:function(){this._cable.connection.monitor.recordPing()}}]),t}();function jn(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}function Ln(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?jn(Object(e),!0).forEach((function(n){(0,ct.Z)(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):jn(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}var Gn=100,Hn={props:{size:{type:[String,Number],default:26}},data:function(){return{AstroStatusColors:an,cable:new Fn,subscription:null,notifications:[],showNotificationPane:!1,toastNotification:{},notificationDialog:!1,selectedNotification:{},settingsDialog:!1,showToast:!0}},computed:{badgeColor:function(){if(!this.unreadCount)return an.off;var t=this.unreadNotifications.map((function(t){return t.severity})).filter((function(t,n,e){return e.indexOf(t)===n}));return an[rn[function(t){var n=function(t){return t.map((function(t){return kn.indexOf(t)}))}(t),e=Math.min.apply(Math,hn(n));return kn[e]}(t)]]},readNotifications:function(){return this.notifications.filter((function(t){return t.read})).sort((function(t,n){return n.time-t.time}))},unreadNotifications:function(){return this.notifications.filter((function(t){return!t.read})).sort((function(t,n){return n.time-t.time}))},unreadCount:function(){var t=this.unreadNotifications.length;return t>=Gn&&(t+="+"),t},notificationList:function(){var t=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t){return t.severity};return t.reduce((function(t,e){var o=n(e);return t[o]||(t[o]=[]),t[o].push(e),t}),{})}(this.unreadNotifications),n=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t){return t.severity};return t.sort((function(t,e){return kn.indexOf(n(t))-kn.indexOf(n(e))}))}(Object.keys(t),(function(t){return t})).flatMap((function(n){return[{header:n.charAt(0).toUpperCase()+n.slice(1)}].concat(hn(t[n]))}));return this.readNotifications.length&&(n=n.concat([{header:"Read"}].concat(hn(this.readNotifications)))),n}},watch:{showNotificationPane:function(t){t||(this.selectedNotification.title?(this.notificationDialog=!1,this.selectedNotification={}):this.markAllAsRead())},showToast:function(t){localStorage.notoast=!t}},created:function(){this.showToast="false"===localStorage.notoast,this.subscribe()},destroyed:function(){this.subscription&&this.subscription.unsubscribe(),this.cable.disconnect()},methods:{markAllAsRead:function(){this.notifications.forEach((function(t){t.read=!0,(!localStorage.lastReadNotification||localStorage.lastReadNotification<t.msg_id)&&(localStorage.lastReadNotification=t.msg_id)}))},clearNotifications:function(){this.markAllAsRead(),this.notifications=[],localStorage.notificationStreamOffset=localStorage.lastReadNotification,this.showNotificationPane=!1},toggleNotificationPane:function(){this.showNotificationPane=!this.showNotificationPane},toggleSettingsDialog:function(){this.settingsDialog=!this.settingsDialog},openDialog:function(t){t.read=!0,(!localStorage.lastReadNotification||localStorage.lastReadNotification<t.msg_id)&&(localStorage.lastReadNotification=t.msg_id),this.selectedNotification=t,this.notificationDialog=!0},navigate:function(t){window.open(t,"_blank")},subscribe:function(){var t=this;this.cable.createSubscription("MessagesChannel",window.openc3Scope,{received:function(n){return t.received(n)}},{start_offset:localStorage.notificationStreamOffset||localStorage.lastReadNotification,types:["notification","alert"]}).then((function(n){t.subscription=n}))},received:function(t){var n=this;this.cable.recordPing(),t.length>Gn&&t.splice(0,t.length-Gn);var e=!1;if(t.forEach((function(t){t.read=t.msg_id<=localStorage.lastReadNotification,t.severity=t.severity||"INFO",!t.read&&["FATAL","ERROR","WARN"].includes(t.severity)&&(e=!0,n.toastNotification=t)})),this.showToast&&e){var o=5e3;["FATAL","ERROR"].includes(notification.severity)&&(o=null),this.$notify[this.toastNotification.severity](Ln(Ln({},this.toastNotification),{},{type:"notification",duration:o,saveToHistory:!1}))}this.notifications.length+t.length>Gn&&this.notifications.splice(0,this.notifications.length+t.length-Gn),this.notifications=this.notifications.concat(t)}},filters:{shortDateTime:function(t){return t?function(t,n){return r(1,arguments),wn(t,Date.now(),n)}(new Date(t/1e6),{addSuffix:!0}):""}}},Wn=Hn,Yn=u(1840),qn={};qn.styleTagTransform=Ot(),qn.setAttributes=_t(),qn.insert=kt().bind(null,"head"),qn.domAPI=Ct(),qn.insertStyleElement=Et(),bt()(Yn.Z,qn),Yn.Z&&Yn.Z.locals&&Yn.Z.locals;var Zn=(0,tt.Z)(Wn,fn,[],!1,null,"eda8ca60",null);Zn.options.__file="packages/openc3-tool-common/src/tools/base/components/Notifications.vue";var Jn=Zn.exports,Xn=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("v-overlay",{staticClass:"overlay",attrs:{value:t.showUserMenu}}),t._v(" "),e("v-menu",{attrs:{transition:"slide-y-transition","offset-y":"","close-on-content-click":!1,"nudge-width":120,"nudge-bottom":20},scopedSlots:t._u([{key:"activator",fn:function(n){var o=n.on,i=n.attrs;return[e("v-btn",t._g(t._b({attrs:{icon:""}},"v-btn",i,!1),o),[e("v-icon",{attrs:{size:t.size}},[t._v(" mdi-account ")])],1)]}}]),model:{value:t.showUserMenu,callback:function(n){t.showUserMenu=n},expression:"showUserMenu"}},[t._v(" "),e("v-card",[e("v-card-text",{staticClass:"text-center"},[e("div",{staticStyle:{"text-align":"center",margin:"5px"}},[t._v(t._s(t.username))]),t._v(" "),t.authenticated?e("div",[e("v-btn",{attrs:{block:"",color:"primary"},on:{click:t.logout}},[t._v(" Logout ")])],1):e("div",[e("v-btn",{attrs:{block:"",color:"primary"},on:{click:t.login}},[t._v(" Login ")])],1),t._v(" "),"Anonymous"===t.username?e("div",{staticClass:"pt-2 link",on:{click:function(n){t.showUpgradeToEnterpriseDialog=!0}}},[t._v("\n Click to learn more about"),e("br"),t._v("\n COSMOS Enterprise Edition\n ")]):t._e(),t._v(" "),e("div",[e("v-switch",{attrs:{label:"Colorblind mode"},model:{value:t.colorblindMode,callback:function(n){t.colorblindMode=n},expression:"colorblindMode"}})],1)])],1)],1),t._v(" "),e("upgrade-to-enterprise-dialog",{model:{value:t.showUpgradeToEnterpriseDialog,callback:function(n){t.showUpgradeToEnterpriseDialog=n},expression:"showUpgradeToEnterpriseDialog"}})],1)};Xn._withStripped=!0;var Qn={components:{UpgradeToEnterpriseDialog:Rt},props:{size:{type:[String,Number],default:26}},data:function(){var t=OpenC3Auth.user();return{showUserMenu:!1,authenticated:!!localStorage.openc3Token,username:t.name,showUpgradeToEnterpriseDialog:!1}},computed:{colorblindMode:{get:function(){return"true"===localStorage.colorblindMode},set:function(t){localStorage.colorblindMode=t}}},methods:{logout:function(){OpenC3Auth.logout()},login:function(){OpenC3Auth.login(location.href)}}},Kn=u(6793),Vn={};Vn.styleTagTransform=Ot(),Vn.setAttributes=_t(),Vn.insert=kt().bind(null,"head"),Vn.domAPI=Ct(),Vn.insertStyleElement=Et(),bt()(Kn.Z,Vn),Kn.Z&&Kn.Z.locals&&Kn.Z.locals;var te=(0,tt.Z)(Qn,Xn,[],!1,null,"26b5fc12",null);te.options.__file="packages/openc3-tool-common/src/tools/base/components/UserMenu.vue";var ne={components:{ScopeSelector:Ht,AlertHistory:pn,Notifications:Jn,UserMenu:te.exports,UpgradeToEnterpriseDialog:Rt},props:{edition:{type:String,default:""}},data:function(){return{items:[],drawer:!0,appNav:{},logo:mt,initiallyOpen:[],showUpgradeToEnterpriseDialog:!1}},computed:{shownTools:function(){for(var t={},n=0,e=Object.keys(this.appNav);n<e.length;n++){var o=e[n];this.appNav[o].shown&&"Admin"!==this.appNav[o].category&&(t[o]=this.appNav[o])}return t},adminTools:function(){for(var t={},n=0,e=Object.keys(this.appNav);n<e.length;n++){var o=e[n];this.appNav[o].shown&&"Admin"===this.appNav[o].category&&(t[o]=this.appNav[o])}return t}},created:function(){var t=this;ot.Z.get("/openc3-api/tools/all",{params:{scope:"DEFAULT"}}).then((function(n){t.appNav=n.data;for(var e=1,o=function(){if(l=r[i],t.appNav[l].shown){if(t.appNav[l].category&&"Admin"!==t.appNav[l].category){t.initiallyOpen.push(t.appNav[l].category);var n=t.items.filter((function(n){return n.name===t.appNav[l].category}));0===n.length?(t.items.push({id:e,name:t.appNav[l].category,children:[{id:e+1,name:t.appNav[l].name,icon:t.appNav[l].icon,url:t.appNav[l].url}]}),e++):n[0].children.push({id:e,name:t.appNav[l].name,icon:t.appNav[l].icon,url:t.appNav[l].url})}else t.appNav[l].category||t.items.push({id:e,name:t.appNav[l].name,icon:t.appNav[l].icon,url:t.appNav[l].url});if(e++,t.appNav[l].folder_name){var o=t.appNav[l].folder_name,a="@openc3/tool-"+o;(0,Ft.registerApplication)({name:a,app:function(){return System.import(a)},activeWhen:["/tools/"+o]})}}},i=0,r=Object.keys(t.appNav);i<r.length;i++)o();if((0,Ft.start)({urlRerouteOnly:!0}),"/"==window.location.pathname||"/tools"==window.location.pathname||"/tools/"==window.location.pathname)for(var a=0,s=Object.keys(t.shownTools);a<s.length;a++){var l=s[a];if(t.appNav[l].shown){history.replaceState(null,"",t.appNav[l].url);break}}setInterval((function(){OpenC3Auth.updateToken(120).then((function(t){t&&OpenC3Auth.setTokens()}))}),6e4)}))},methods:{newTabUrl:function(t){var n=null;return(n="/"==t.url[0]&&"/"!=t.url[1]?new URL(t.url,window.location.origin):new URL(t.url)).searchParams.set("scope",window.openc3Scope),n.href}}},ee=u(6509),oe={};oe.styleTagTransform=Ot(),oe.setAttributes=_t(),oe.insert=kt().bind(null,"head"),oe.domAPI=Ct(),oe.insertStyleElement=Et(),bt()(ee.Z,oe),ee.Z&&ee.Z.locals&&ee.Z.locals;var ie=u(6716),re={};re.styleTagTransform=Ot(),re.setAttributes=_t(),re.insert=kt().bind(null,"head"),re.domAPI=Ct(),re.insertStyleElement=Et(),bt()(ie.Z,re),ie.Z&&ie.Z.locals&&ie.Z.locals;var ae=(0,tt.Z)(ne,Pt,[],!1,null,"00ae1763",null);ae.options.__file="packages/openc3-tool-common/src/tools/base/AppNav.vue";var se=ae.exports,le=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-dialog",{attrs:{width:"500"},model:{value:t.dialog,callback:function(n){t.dialog=n},expression:"dialog"}},[e("v-card",[e("v-card-title",[t._v(" Clock out of sync ")]),t._v(" "),e("v-card-text",[t._v("\n We've detected that your clock is approximately\n "+t._s(Math.abs(t.approximateDiscrepancySec))+" seconds\n "+t._s(t.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:t.suppress,callback:function(n){t.suppress=n},expression:"suppress"}})],1),t._v(" "),e("v-divider"),t._v(" "),e("v-card-actions",[e("v-btn",{attrs:{color:"primary",text:""},on:{click:t.dismiss}},[t._v(" Dismiss ")])],1)],1)],1)};le._withStripped=!0;var ce=u(4206),ue=u.n(ce),de={data:function(){return{dismissed:!1,suppress:!1,discrepancy:0}},created:function(){var t=this;this.suppress="true"===localStorage.suppresswarning__clock_out_of_sync_with_server,this.suppress||ue().get("/openc3-api/time").then((function(n){t.discrepancy=n.data.now_nsec/1e6-Date.now()})).catch((function(n){t.dismissed=!0}))},methods:{dismiss:function(){localStorage.suppresswarning__clock_out_of_sync_with_server=this.suppress,this.dismissed=!0}},computed:{approximateDiscrepancySec:function(){return(this.discrepancy/1e3).toFixed()},dialog:function(){return!this.dismissed&&Math.abs(this.discrepancy)>=3e3}}},pe=(0,tt.Z)(de,le,[],!1,null,null,null);pe.options.__file="packages/openc3-tool-common/src/tools/base/components/TimeCheck.vue";var fe=pe.exports,Ae={data:function(){return{api:null,classification:{text:"",fontColor:"white",backgroundColor:"red",topHeight:0,bottomHeight:0}}},computed:{classificationStyles:function(){return['--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(){this.api=new ft,this.load()},methods:{load:function(){var t=this;this.api.get_setting("classification_banner").then((function(n){n&&(t.classification=JSON.parse(n))})).catch((function(t){}))}}},he=u(7650),me={};me.styleTagTransform=Ot(),me.setAttributes=_t(),me.insert=kt().bind(null,"head"),me.domAPI=Ct(),me.insertStyleElement=Et(),bt()(he.Z,me),he.Z&&he.Z.locals&&he.Z.locals;var ge=(0,tt.Z)(Ae,void 0,void 0,!1,null,null,null);ge.options.__file="packages/openc3-tool-common/src/tools/base/components/ClassificationBanners.vue";var ve=ge.exports;function be(){var t="/openc3/plugins/openc3-tool-base/src/App.vue",n=new Function("return this")(),e="__coverage__",o=n[e]||(n[e]={});o[t]&&"127f32b442957ae6e9c4e1d603f2e623247ae7d0"===o[t].hash||(o[t]={path:"/openc3/plugins/openc3-tool-base/src/App.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,sources:["App.vue"],names:[],mappings:";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA;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 2023, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\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 '../../packages/openc3-tool-common/src/tools/base/AppFooter'\nimport AppNav from '../../packages/openc3-tool-common/src/tools/base/AppNav'\nimport TimeCheck from '../../packages/openc3-tool-common/src/tools/base/components/TimeCheck'\nimport ClassificationBanners from '../../packages/openc3-tool-common/src/tools/base/components/ClassificationBanners'\nexport default {\n components: {\n AppFooter,\n AppNav,\n TimeCheck,\n },\n mixins: [ClassificationBanners],\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"127f32b442957ae6e9c4e1d603f2e623247ae7d0"});var i=o[t];return be=function(){return i},i}be();var ye={components:{AppFooter:zt,AppNav:se,TimeCheck:fe},mixins:[ve]},Ce=(0,tt.Z)(ye,n,[],!1,null,null,null);Ce.options.__file="src/App.vue";var we=Ce.exports,ke=u(4688);function xe(){var t="/openc3/plugins/openc3-tool-base/src/router.js",n=new Function("return this")(),e="__coverage__",o=n[e]||(n[e]={});o[t]&&"e884ed9d4d0f1b2f1d582e44c67785b854c9d24b"===o[t].hash||(o[t]={path:"/openc3/plugins/openc3-tool-base/src/router.js",statementMap:{0:{start:{line:26,column:0},end:{line:26,column:15}},1:{start:{line:36,column:8},end:{line:38,column:9}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:35,column:17},end:{line:35,column:18}},loc:{start:{line:36,column:8},end:{line:38,column:9}},line:36}},branchMap:{},s:{0:0,1:0},f:{0:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"e884ed9d4d0f1b2f1d582e44c67785b854c9d24b"});var i=o[t];return xe=function(){return i},i}xe(),xe().s[0]++,t.default.use(ke.default);var _e=new ke.default({mode:"history",base:void 0,routes:[{path:"/login",name:"Login",component:function(){return xe().f[0]++,xe().s[1]++,u.e(543).then(u.bind(u,1543))}}]}),Se=u(9191);t.default.use(Se.default),window.hasOwnProperty("OpenC3Store")||(window.OpenC3Store=new Se.default.Store({state:{notifyHistory:[]},getters:{},mutations:{notifyAddHistory:function(t,n){t.notifyHistory.length>=100&&(t.notifyHistory.length=99),t.notifyHistory.unshift(n)},notifyClearHistory:function(t){t.notifyHistory=[]}},modules:{}}));var Ee=window.OpenC3Store;function Te(t){return Te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Te(t)}function Oe(t){var n=function(t,n){if("object"!==Te(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var o=e.call(t,"string");if("object"!==Te(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Te(n)?n:String(n)}u(7861);var Be=u(9731);function Ne(){var t="/openc3/plugins/openc3-tool-base/src/plugins/vuetify.js",n=new Function("return this")(),e="__coverage__",o=n[e]||(n[e]={});o[t]&&"1e74846ce649fd5e77c4a4792c7d1620be397d94"===o[t].hash||(o[t]={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[t];return Ne=function(){return i},i}function De(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,o)}return e}Ne(),Ne().s[0]++,t.default.use(Be.default);var Re=new Be.default({theme:{dark:!0,options:{customProperties:!0},themes:{dark:{primary:"#005a8f",secondary:"#4dacff",tertiary:"#283f58"},light:{primary:"#cce6ff",secondary:"#cce6ff"}}},icons:{values:function(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?De(Object(e),!0).forEach((function(n){var o,i,r;o=t,i=n,r=e[n],(i=Oe(i))in o?Object.defineProperty(o,i,{value:r,enumerable:!0,configurable:!0,writable:!0}):o[i]=r})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):De(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}({},on)}}),Ie=function(){var t=this,n=t.$createElement;return(t._self._c||n)("div",{style:t.iconStyle})};Ie._withStripped=!0;var Ue=u.p+"91e6b78a8fe72c6a5cc5.png",Me=(u.p,{props:{status:{type:String,required:!0},large:{type:Boolean},small:{type:Boolean},scale:{type:Number}},computed:{icons:function(){return Ue},scaleFactor:function(){return this.scale?this.scale:this.large?1:this.small?.3:.5},iconStyle:function(){var t=224*this.scaleFactor,n=32*this.scaleFactor,e=32*this.scaleFactor,o=sn.indexOf(rn[this.status]);return["background-image: url(".concat(this.icons,");"),"background-position-x: -".concat(o*e,"px;"),"background-size: ".concat(t,"px ").concat(n,"px;"),"height: ".concat(e,"px;"),"width: ".concat(e,"px;")].join("")}}}),$e=(0,tt.Z)(Me,Ie,[],!1,null,null,null);$e.options.__file="packages/openc3-tool-common/src/components/icons/AstroStatusIndicator.vue";var ze=$e.exports;function Pe(){var t="/openc3/plugins/openc3-tool-base/src/openc3-tool-base.js",n=new Function("return this")(),e="__coverage__",o=n[e]||(n[e]={});o[t]&&"948bc4bd7769e8307c1a0a84e62fb1c3692a0fbd"===o[t].hash||(o[t]={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:12,column:0},end:{line:12,column:61}},2:{start:{line:14,column:16},end:{line:14,column:43}},3:{start:{line:15,column:0},end:{line:26,column:2}},4:{start:{line:18,column:2},end:{line:18,column:32}},5:{start:{line:20,column:2},end:{line:25,column:27}},6:{start:{line:24,column:19},end:{line:24,column:25}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:15,column:30},end:{line:15,column:31}},loc:{start:{line:15,column:36},end:{line:26,column:1}},line:15},1:{name:"(anonymous_1)",decl:{start:{line:24,column:12},end:{line:24,column:13}},loc:{start:{line:24,column:19},end:{line:24,column:25}},line:24}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"948bc4bd7769e8307c1a0a84e62fb1c3692a0fbd"});var i=o[t];return Pe=function(){return i},i}Pe(),Pe().s[0]++,t.default.config.productionTip=!1,Pe().s[1]++,t.default.component("astro-status-indicator",ze);var Fe=(Pe().s[2]++,OpenC3Auth.getInitOptions());Pe().s[3]++,OpenC3Auth.init(Fe).then((function(){Pe().f[0]++,Pe().s[4]++,window.openc3Scope="DEFAULT",Pe().s[5]++,new t.default({router:_e,store:Ee,vuetify:Re,render:function(t){return Pe().f[1]++,Pe().s[6]++,t(we)}}).$mount("#openc3-main")}))}(),d}())}}}));
2
2
  //# sourceMappingURL=openc3-tool-base.js.map