{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?7e02","webpack:///./src/store/index.js","webpack:///./src/App.vue?731f","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?2667","webpack:///./src/router/index.js","webpack:///./src/plugins/vuetify.js","webpack:///./src/i18n.js","webpack:///./src/authentication/config.js","webpack:///./src/authentication/resourceToken.js","webpack:///./src/main.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","Vue","use","Vuex","Store","state","drawer","currentFormulation","params","recs","currentUserInfo","profileImage","mutations","toggleDrawer","setCurrentParams","payload","setCurrentRecs","setRecGraph","recNum","graph","setUserInfo","setProfileImage","setOrgName","organization","setCountry","country","actions","context","commit","plugins","createPersistedState","storage","sessionStorage","_vm","this","_h","$createElement","_c","_self","staticRenderFns","components","component","VApp","VMain","VueRouter","routes","path","meta","requireAuth","guest","props","source","route","query","gen","a","parseFloat","b","flex","fullSet","numRecs","parseInt","router","base","process","beforeEach","to","from","next","matched","some","record","$msal","isAuthenticated","Vuetify","VueI18n","messages","en","require","$vuetify","locale","VUE_APP_I18N_LOCALE","fallbackLocale","VUE_APP_I18N_FALLBACK_LOCALE","clientId","tenant","scopes","resourceScopes","cacheLocation","getResourceToken","tokenRequest","config","token","localStorage","getItem","acquireToken","accessToken","setItem","productionTip","msal","auth","tenantId","redirectUri","postLogoutRedirectUri","requireAuthOnInitialize","callAfterInit","endpoints","profile","org","onResponse","ctx","response","store","dispatch","displayName","countryLetterCode","msGraph","url","responseType","force","photo","b64img","btoa","String","fromCharCode","Uint8Array","body","log","cache","storeAuthStateInCookie","framework","globalMixin","Vuelidate","VueApexCharts","setToken","resToken","headers","Authorization","axios","defaults","baseURL","interceptors","includes","originalRequest","status","_retry","removeItem","VueReCaptcha","siteKey","loaderOptions","useRecaptchaNet","vuetify","i18n","render","h","App","$mount"],"mappings":"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","file":"js/app.8727e4ce.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-25027e02\":\"f158b544\",\"chunk-28526d82\":\"daf36a8c\",\"chunk-2d0c8842\":\"6a7585cc\",\"chunk-668ba844\":\"8e4d2c57\",\"chunk-14be69de\":\"e2d0632b\",\"chunk-2c025c21\":\"7db55fba\",\"chunk-e9977db8\":\"3441d074\",\"chunk-3c659841\":\"3b6059ef\",\"chunk-5fcfb70e\":\"5542c8ee\",\"chunk-323e4756\":\"f1e654d5\",\"chunk-7dc775b2\":\"e34fdac5\",\"chunk-2e49dd98\":\"fb10a303\",\"chunk-51b449d8\":\"0e5127bf\",\"chunk-f9c83204\":\"6d77ff05\",\"chunk-102164ba\":\"d8439168\",\"chunk-296da67c\":\"4ce403f2\",\"chunk-1c2bfe1a\":\"1311b679\",\"chunk-0ffcabbd\":\"0a6ad7ff\",\"chunk-2d0cec3e\":\"23ec8e06\",\"chunk-5cad60d1\":\"2d4a8f8d\",\"chunk-2d0bdd85\":\"65d1029c\",\"chunk-4eaf6a81\":\"983e5aff\",\"chunk-734b92e8\":\"01698fca\",\"chunk-831d9ec8\":\"b7b9bd2a\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-25027e02\":1,\"chunk-28526d82\":1,\"chunk-668ba844\":1,\"chunk-14be69de\":1,\"chunk-2c025c21\":1,\"chunk-e9977db8\":1,\"chunk-3c659841\":1,\"chunk-5fcfb70e\":1,\"chunk-323e4756\":1,\"chunk-7dc775b2\":1,\"chunk-2e49dd98\":1,\"chunk-51b449d8\":1,\"chunk-f9c83204\":1,\"chunk-102164ba\":1,\"chunk-296da67c\":1,\"chunk-1c2bfe1a\":1,\"chunk-0ffcabbd\":1,\"chunk-5cad60d1\":1,\"chunk-4eaf6a81\":1,\"chunk-734b92e8\":1,\"chunk-831d9ec8\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-25027e02\":\"9b2e53b3\",\"chunk-28526d82\":\"716fab5e\",\"chunk-2d0c8842\":\"31d6cfe0\",\"chunk-668ba844\":\"f0222215\",\"chunk-14be69de\":\"a79ab8d3\",\"chunk-2c025c21\":\"ba12d4da\",\"chunk-e9977db8\":\"34bc152d\",\"chunk-3c659841\":\"e2c53f44\",\"chunk-5fcfb70e\":\"de69aa5f\",\"chunk-323e4756\":\"48e3f6f8\",\"chunk-7dc775b2\":\"2194f816\",\"chunk-2e49dd98\":\"593a1a29\",\"chunk-51b449d8\":\"b78a6159\",\"chunk-f9c83204\":\"98574e6b\",\"chunk-102164ba\":\"ffb0f5ac\",\"chunk-296da67c\":\"fb220bd9\",\"chunk-1c2bfe1a\":\"85f99577\",\"chunk-0ffcabbd\":\"083c8403\",\"chunk-2d0cec3e\":\"31d6cfe0\",\"chunk-5cad60d1\":\"e671ce5c\",\"chunk-2d0bdd85\":\"31d6cfe0\",\"chunk-4eaf6a81\":\"9384ad92\",\"chunk-734b92e8\":\"8c3b68be\",\"chunk-831d9ec8\":\"98af2615\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport createPersistedState from 'vuex-persistedstate'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n state: {\n drawer: true,\n currentFormulation: {\n params: null,\n recs: [],\n },\n currentUserInfo: {},\n profileImage: '',\n },\n mutations: {\n toggleDrawer (state) {\n return state.drawer = !state.drawer\n },\n setCurrentParams (state, payload) {\n return state.currentFormulation.params = payload\n },\n setCurrentRecs (state, payload) {\n return state.currentFormulation.recs = payload\n },\n setRecGraph (state, payload) {\n if (state.currentFormulation.recs.length > payload.recNum)\n {\n return state.currentFormulation.recs[payload.recNum].graph = payload.graph\n }\n return state\n },\n setUserInfo (state, payload) {\n return state.currentUserInfo = payload\n },\n setProfileImage (state, payload) {\n return state.profileImage = payload\n },\n setOrgName (state, payload) {\n return state.currentUserInfo.organization = payload\n },\n setCountry (state, payload) {\n return state.currentUserInfo.country = payload\n },\n },\n actions: {\n toggleDrawer (context) {\n context.commit('toggleDrawer')\n },\n setCurrentParams (context, params) {\n context.commit('setCurrentParams', params)\n },\n setCurrentRecs (context, recs) {\n context.commit('setCurrentRecs', recs)\n },\n setRecGraph (context, payload) {\n context.commit ('setRecGraph', payload)\n },\n setUserInfo (context, payload) {\n context.commit ('setUserInfo', payload)\n },\n setProfileImage (context, payload) {\n context.commit('setProfileImage', payload)\n },\n setOrgName (context, payload) {\n context.commit('setOrgName', payload)\n },\n setCountry (context, payload) {\n context.commit('setCountry', payload)\n }\n },\n modules: {\n },\n plugins: [\n createPersistedState({\n storage: window.sessionStorage,\n }),\n ],\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('AppBar'),_c('v-main',[_c('router-view')],1),_c('AppFooter')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n \n \n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=b6d15a6e&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VMain } from 'vuetify/lib/components/VMain';\ninstallComponents(component, {VApp,VMain})\n","import Vue from 'vue'\nimport VueRouter from 'vue-router'\n\nVue.use(VueRouter)\n\nconst routes = [\n {\n path: '/',\n name: 'Landing',\n component: () => import('@/views/landing.vue'),\n meta: {\n requireAuth: false,\n guest: true,\n },\n },\n {\n path: '/register',\n name: 'Register',\n component: () => import('../views/Register.vue'),\n meta: {\n requireAuth: false,\n guest: true,\n },\n },\n {\n path: '/register/complete',\n name: 'Request Sent',\n component: () => import ('@/views/Complete.vue'),\n meta: {\n requireAuth: false,\n guest: true,\n },\n props: {\n source: 'register' \n },\n },\n {\n path: '/coatings/predict',\n name: 'Coatings Prediction',\n component: () => import('@/views/coatings/Predict.vue'),\n meta: {\n requireAuth: true,\n guest: false,\n },\n },\n {\n path: '/coatings/results',\n name: 'Prediction Results',\n component: () => import('@/views/coatings/Results.vue'),\n props(route) {\n if (route.query) {\n return {\n gen: route.query.gen === 'true',\n a: parseFloat(route.query.a) || undefined,\n b: parseFloat(route.query.b) || undefined,\n c: parseFloat(route.query.c) || undefined,\n flex: parseFloat(route.query.flex) || undefined,\n fullSet: route.query.fullSet === 'true',\n numRecs: parseInt(route.query.numRecs) || 1,\n }\n }\n return { gen: false }\n },\n meta: {\n requireAuth: true,\n guest: false,\n },\n },\n {\n path: '/contact',\n name: 'Contacut Us',\n component: () => import ('@/views/ContactUs.vue'),\n meta: {\n requireAuth: true,\n guest: false,\n },\n },\n {\n path: '/contact/complete',\n name: 'Contact Sent',\n component: () => import ('@/views/Complete.vue'),\n meta: {\n requireAuth: true,\n guest: false,\n },\n props: {\n source: 'contact' \n },\n },\n {\n path: '/feedback',\n name: 'Feedback',\n component: () => import ('@/views/Feedback.vue'),\n meta: {\n requireAuth: true,\n guest: false,\n },\n },\n {\n path: '/feedback/complete',\n name: 'Feedback Sent',\n component: () => import ('@/views/Complete.vue'),\n meta: {\n requireAuth: true,\n guest: false,\n },\n props: {\n source: 'feedback' \n },\n },\n {\n path: '/signin',\n name: 'SignIn',\n component: () => import ('@/views/SignIn.vue'),\n meta: {\n requireAuth: false,\n guest: true,\n },\n },\n // {\n // path: '/about',\n // name: 'About FastER',\n // component: () => import ('@/views/About.vue'),\n // meta: {\n // requireAuth: false,\n // guest: false,\n // }\n // },\n {\n path: '/*',\n name: 'Page Not Found',\n component: () => import('@/views/NotFound.vue'),\n meta: {\n requireAuth: false,\n guest: false,\n },\n }\n]\n\nconst router = new VueRouter({\n mode: 'history',\n base: process.env.BASE_URL,\n routes\n})\n\nrouter.beforeEach((to, from, next) => {\n if (to.matched.some(record => record.meta.requireAuth)) {\n // redirect unauthenticated users to register page for authorized pages\n if (!Vue.prototype.$msal.isAuthenticated()) {\n next({\n path: '/register',\n })\n } else {\n next()\n }\n } else {\n next()\n }\n\n if (to.matched.some(record => record.meta.guest)) {\n // if visiting a guest page (landing / register) and user is logged in, send them to predictions page\n if (Vue.prototype.$msal.isAuthenticated()) {\n next({\n path: '/coatings/predict'\n })\n } else {\n next()\n }\n } else {\n next()\n }\n})\n\nexport default router\n","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib/framework';\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n});\n","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\n\nimport en from 'vuetify/lib/locale/en'\n\nVue.use(VueI18n)\n\nconst messages = {\n en: {\n ...require('@/locales/app_en.json'),\n $vuetify: en,\n },\n}\n\nexport default new VueI18n({\n locale: process.env.VUE_APP_I18N_LOCALE || 'en',\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',\n messages,\n})","export default {\n clientId: '38f82978-a8bc-455d-ad5e-dc3931b56f0c',\n tenant: '9b50c80f-103b-4433-a91c-b4b06c507387',\n scopes: ['User.Read', 'profile', 'email'],\n resourceScopes: [\"https://eastmanchem.onmicrosoft.com/FastERAccessAPI/user_impersonation\"],\n cacheLocation: 'localStorage'\n}","import config from './config'\nimport Vue from 'vue'\n\nexport default {\n getResourceToken: async function () {\n const tokenRequest = {\n scopes: config.resourceScopes,\n }\n\n try {\n let token = localStorage.getItem('ResourceToken')\n\n if (token === null || token === 'null') {\n token = await Vue.prototype.$msal.acquireToken(tokenRequest)\n\n if (token.accessToken) {\n localStorage.setItem('ResourceToken', token.accessToken)\n }\n return token.accessToken\n }\n return token\n } catch (e) {\n return null\n }\n }\n}","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\nimport vuetify from './plugins/vuetify'\nimport i18n from './i18n'\nimport axios from 'axios'\nimport msal from 'vue-msal'\nimport Vuelidate from 'vuelidate'\nimport config from '@/authentication/config'\nimport VueApexCharts from 'vue-apexcharts'\nimport { VueReCaptcha } from 'vue-recaptcha-v3'\nimport resToken from '@/authentication/resourceToken'\n\nVue.config.productionTip = false\n\n//auth\nVue.use(msal, {\n auth: {\n clientId: config.clientId,\n tenantId: config.tenant,\n redirectUri: process.env.VUE_APP_REDIRECT_URL,\n postLogoutRedirectUri: process.env.VUE_APP_REDIRECT_LOGOUT_URL,\n requireAuthOnInitialize: false,\n },\n graph: {\n callAfterInit: true,\n endpoints: {\n profile: '/me',\n org: '/organization',\n // photo: { url: '/me/photo/$value', responseType: 'arraybuffer'},\n },\n onResponse: async function (ctx, response) {\n // console.log(response)\n // const base64string = btoa(String.fromCharCode.apply(null, new Uint8Array(response.photo)))\n store.dispatch('setUserInfo', response.profile)\n // store.dispatch('setProfileImage', base64string)\n store.dispatch('setOrgName', response.org.value[0].displayName)\n store.dispatch('setCountry', response.org.value[0].country ?? response.org.value[0].countryLetterCode)\n try {\n var photo = await Vue.prototype.$msal.msGraph({ url: '/me/photo/$value', responseType: 'arraybuffer', force: true})\n var b64img = btoa(String.fromCharCode.apply(null, new Uint8Array(photo.body)))\n store.dispatch('setProfileImage', b64img)\n } catch (Error) {\n console.log('unable to retrieve user photo')\n }\n //localStorage.setItem('ProfileImage', base64string)\n //localStorage.setItem('CurrentUserInfo', JSON.stringify(response.profile))\n },\n },\n request: {\n scopes: config.scopes,\n },\n cache: {\n cacheLocation: config.cacheLocation,\n storeAuthStateInCookie: false,\n },\n framework: {\n globalMixin: true,\n },\n})\n\n//input validation\nVue.use(Vuelidate)\n\n//apex charts for graph display\nVue.use(VueApexCharts)\nVue.component('apexchart', VueApexCharts)\n\nconst setToken = async (request) => {\n const accessToken = await resToken.getResourceToken()\n // console.log(accessToken)\n if (accessToken != null) {\n // console.log('setting token')\n request.headers = {\n Authorization: `Bearer ${accessToken}`\n }\n }\n}\n\n//axios for api requests\naxios.defaults.baseURL = process.env.VUE_APP_PREDICTION_API_BASE\naxios.interceptors.request.use(\n async request => {\n // apply access token to request to access api\n if (request.url.includes(process.env.VUE_APP_ACCESS_API_BASE)) {\n await setToken(request)\n }\n return request\n },\n error => {\n return Promise.reject(error)\n }\n)\naxios.interceptors.response.use(\n response => {\n return response\n },\n async error => {\n if (error.response !== undefined) {\n const originalRequest = error.config\n // retry a failed request once before giving up. refresh the access token if it was to the access api\n if (error.response.status === 401\n && !originalRequest._retry) {\n originalRequest._retry = true\n // try refreshing the token if the error was from the access api\n localStorage.removeItem('ResourceToken')\n await setToken(originalRequest)\n return axios(originalRequest)\n } else {\n return Promise.reject(error)\n }\n }\n }\n)\n\n// ReCaptcha\nVue.use(VueReCaptcha, {\n siteKey: process.env.VUE_APP_RECAPTCHA,\n loaderOptions: {\n useRecaptchaNet: true,\n },\n})\n\n//vue\nnew Vue({\n router,\n store,\n vuetify,\n i18n,\n render: h => h(App)\n}).$mount('#app')\n"],"sourceRoot":""}