{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/RawData.vue?ae96","webpack:///./src/components/InlineGroup.vue?537c","webpack:///./src/components/NavBar.vue?36cc","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/FormView.vue?5f41","webpack:///./src/components/RawJson.vue?d491","webpack:///./src/components/List.vue?2142","webpack:///./src/views/MainView.vue?7521","webpack:///./src/components/Login.vue?7ecd","webpack:///./src/App.vue?4908","webpack:///./src/App.vue?244e","webpack:///./src/components/SchemaView.vue?9b2d","webpack:///./src/services/communicator-service.ts","webpack:///./src/store/action-type.ts","webpack:///./src/store/fetch-state.ts","webpack:///./src/store/mutation-type.ts","webpack:///./src/store/store.ts","webpack:///./src/App.vue?dccd","webpack:///./src/services/soya-service.ts","webpack:///./src/components/Spinner.vue?e21e","webpack:///./src/components/Spinner.vue","webpack:///./src/components/Spinner.vue?57a8","webpack:///./src/components/Spinner.vue?72fe","webpack:///./src/components/NavBar.vue?4827","webpack:///./src/views/MainView.vue?5944","webpack:///./src/components/DataVisualizer.vue?85c3","webpack:///./src/components/RawData.vue?bbc1","webpack:///./src/components/RawJson.vue?7095","webpack:///./src/components/RawJson.vue","webpack:///./src/components/RawJson.vue?71a2","webpack:///./src/components/RawJson.vue?f524","webpack:///./src/components/Button.vue?93a0","webpack:///./src/components/Button.vue","webpack:///./src/components/Button.vue?cf56","webpack:///./src/components/Button.vue?54ff","webpack:///./src/components/InlineGroup.vue?f1c0","webpack:///./src/components/InlineGroup.vue","webpack:///./src/res/templates/alignment.yaml","webpack:///./src/res/templates/annotation.yaml","webpack:///./src/res/templates/base.yaml","webpack:///./src/res/templates/classification.yaml","webpack:///./src/res/templates/databud-rendering.yaml","webpack:///./src/res/templates/encoding.yaml","webpack:///./src/res/templates/form.yaml","webpack:///./src/res/templates/format.yaml","webpack:///./src/res/templates/transformation.handlebars.yaml","webpack:///./src/res/templates/transformation.jolt.yaml","webpack:///./src/res/templates/transformation.jq.yaml","webpack:///./src/res/templates/transformation.senml.yaml","webpack:///./src/res/templates/validation.yaml","webpack:///./src/res/templates/index.ts","webpack:///./src/components/RawData.vue","webpack:///./src/components/RawData.vue?b10a","webpack:///./src/components/RawData.vue?5908","webpack:///./src/components/FormView.vue?e14d","webpack:///./src/components/FormView.vue","webpack:///./src/components/FormView.vue?954b","webpack:///./src/components/FormView.vue?dc3c","webpack:///./src/components/DataVisualizer.vue","webpack:///./src/components/DataVisualizer.vue?6aad","webpack:///./src/components/DataVisualizer.vue?aca8","webpack:///./src/components/SchemaView.vue?2ead","webpack:///./src/components/List.vue?229a","webpack:///./src/components/List.vue","webpack:///./src/components/List.vue?50af","webpack:///./src/components/List.vue?01c8","webpack:///./src/components/ChartVisualizer.vue?4dab","webpack:///./src/utils/evaluator.ts","webpack:///./src/components/ChartVisualizer.vue","webpack:///./src/components/ChartVisualizer.vue?f3da","webpack:///./src/components/ChartVisualizer.vue?77b6","webpack:///./src/utils/i18n.ts","webpack:///./src/utils/vue.ts","webpack:///./src/utils/deflate.ts","webpack:///./src/utils/index.ts","webpack:///./src/utils/actions.ts","webpack:///./src/services/config-service.ts","webpack:///./src/router/routes.ts","webpack:///./src/components/SchemaView.vue","webpack:///./src/components/SchemaView.vue?d0cc","webpack:///./src/components/SchemaView.vue?3b5d","webpack:///./src/components/RepoView.vue?edd3","webpack:///./src/components/RepoView.vue","webpack:///./src/components/RepoView.vue?924e","webpack:///./src/components/RepoView.vue?b869","webpack:///./src/views/MainView.vue","webpack:///./src/views/MainView.vue?fab8","webpack:///./src/views/MainView.vue?6994","webpack:///./src/views/SchemaView.vue?d071","webpack:///./src/views/SchemaView.vue","webpack:///./src/views/SchemaView.vue?6c98","webpack:///./src/views/SchemaView.vue?e25e","webpack:///./src/views/ItemView.vue?b641","webpack:///./src/views/ItemView.vue","webpack:///./src/views/ItemView.vue?d815","webpack:///./src/views/ItemView.vue?5951","webpack:///./src/router/index.ts","webpack:///./src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?0756","webpack:///./src/components/NavBar.vue?bca4","webpack:///./src/components/Login.vue?8fab","webpack:///./src/components/Login.vue","webpack:///./src/components/Login.vue?f6a6","webpack:///./src/components/Login.vue?3ca4","webpack:///./src/App.vue","webpack:///./src/App.vue?198c","webpack:///./src/App.vue?315a","webpack:///./src/main.ts","webpack:///./src/components/DataVisualizer.vue?1509"],"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","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","ActionType","FetchState","MutationType","Language","_vm","this","_h","$createElement","_c","_self","attrs","isUiFluid","encryptionSupport","title","description","vaultUrl","hasLogout","additionalNavBarActions","on","logOut","showLoginForm","staticClass","_v","_s","message","vaultSupport","scopes","identityProviders","logIn","tryInitializeVaultifier","staticRenderFns","setInstance","instance","getInstance","soya","variant","small","extend","props","default","component","directives","rawName","expression","modifiers","goHome","version","encryptionIcon","_e","subVersion","url","toggleUiFluid","actions","workingAction","scopedSlots","_u","fn","gearAnimation","workingActionTitle","proxy","_l","act","executeAction","handleActivateTab","handleShowEditView","hasSelectedVaultItem","showEditView","selectedVaultItem","cancel","doFetch","commit","asyncFunc","setState","setFetchState","commitObj","state","FETCHING","SET_FETCH_STATE","SUCCESS","console","error","ERROR","use","Store","repo","all","NONE","schemaDRI","current","undefined","vaultItem","allState","currentState","paging","language","YAML","ui","isFluid","mutations","payload","SET_REPOS","SET_CURRENT_SCHEMA","SET_SCHEMA_DRIS","SET_VAULT_ITEMS","SET_VAULT_ITEM","SET_VAULT_ITEM_LANGUAGE","SET_SCHEMA_DRI_TITLE","item","find","x","dri","SET_VAULT_ITEMS_PAGING","SET_UI_IS_FLUID","RESET_VAULT_ITEMS","UPDATE_VAULT_ITEM","dispatch","jsonld","yaml","init","soya_yaml","meta","DELETE_VAULT_ITEM","delete","FETCH_SCHEMA_DRIS","query","FETCH_SCHEMAS_TITLE","store","FETCH_REPOS","getRepos","FETCH_VAULT_ITEMS","page","size","schema","fetchContent","schemaPath","info","res","items","history","filter","date","Date","createdAt","updatedAt","raw","pageItems","totalItems","totalPages","FETCH_VAULT_ITEM","service","created_at","updated_at","author","organization","isEncrypted","infos","TOGGLE_UI_IS_FLUID","model","callback","$$v","activeTabIndex","isSaving","saveVaultItem","schemaDri","_m","systemData","isMetaEditable","editableMeta","isDataEditable","isYaml","templates","template","$event","selectTemplate","save","monacoLanguage","editableData","jsonContent","computed","JSON","stringify","trim","computedType","click","type","_t","String","methods","$emit","arguments","script","Alignment","Annotation","Base","Classification","DataBud_Rendering","Encoding","Form","Format","Transformation_Handlebars","Transformation_Jolt","Transformation_Jq","Transformation_SenML","Validation","components","RawJson","CustomButton","Spinner","InlineGroup","Boolean","created","resetEditableData","tryJsonStringify","postItem","watch","parse","copy","JSON_LD","ref","preventDefault","class","isLoading","iFrameSrc","hasSchemaDri","selectedLanguage","selectedTag","required","mounted","addEventListener","evt","source","iframe","setData","style","height","documentHeight","reload","URL","location","href","windowParams","searchParams","params","append","toString","contentWindow","postMessage","$refs","showRawView","RawData","FormView","hasSchema","$store","onComplete","$bvToast","toast","solid","isSchemaListLoading","fetchSchemas","searchText","selectedSchema","selectSchema","selectedTabIndex","isVaultItemListLoading","totalVaultItems","currentVaultPage","vaultPageItems","fetchVaultItems","addItem","action","isExecutingAction","isDeleteButtonDisabled","deleteSelectedVaultItem","languageOptions","selectVaultItem","getListTitle","dataItemCount","dataItemPage","vaultItems","refresh","inputPageKeydown","inputPage","paginationPageChange","Number","currentPage","changePage","_","event","scaleXExpression","row","idx","$set","addRow","canRemoveRow","removeRow","computeChartData","chartData","obj","isObject","makeSafeObject","left","right","exp","val","eval","Intl","DateTimeFormat","dateStyle","timeStyle","format","floatVal","parseFloat","isNaN","zingchart","Array","rows","labels","scaleX","series","evalTypeAgnostic","values","beforeCreate","getTranslation","zip_free_queue","zip_qhead","zip_qtail","zip_initflag","zip_outcnt","zip_outoff","zip_complete","zip_window","zip_d_buf","zip_l_buf","zip_prev","zip_bi_buf","zip_bi_valid","zip_block_start","zip_ins_h","zip_hash_head","zip_prev_match","zip_match_available","zip_match_length","zip_prev_length","zip_strstart","zip_match_start","zip_eofile","zip_lookahead","zip_max_chain_length","zip_max_lazy_match","zip_compr_level","zip_good_match","zip_nice_match","zip_dyn_ltree","zip_dyn_dtree","zip_static_ltree","zip_static_dtree","zip_bl_tree","zip_l_desc","zip_d_desc","zip_bl_desc","zip_bl_count","zip_heap","zip_heap_len","zip_heap_max","zip_depth","zip_length_code","zip_dist_code","zip_base_length","zip_base_dist","zip_flag_buf","zip_last_lit","zip_last_dist","zip_last_flags","zip_flags","zip_flag_bit","zip_opt_len","zip_static_len","zip_deflate_data","zip_deflate_pos","zip_WSIZE","zip_STORED_BLOCK","zip_STATIC_TREES","zip_DYN_TREES","zip_DEFAULT_LEVEL","zip_FULL_SEARCH","zip_INBUFSIZ","zip_INBUF_EXTRA","zip_OUTBUFSIZ","zip_window_size","zip_MIN_MATCH","zip_MAX_MATCH","zip_BITS","zip_LIT_BUFSIZE","zip_HASH_BITS","zip_DIST_BUFSIZE","zip_HASH_SIZE","zip_HASH_MASK","zip_WMASK","zip_NIL","zip_TOO_FAR","zip_MIN_LOOKAHEAD","zip_MAX_DIST","zip_SMALLEST","zip_MAX_BITS","zip_MAX_BL_BITS","zip_LENGTH_CODES","zip_LITERALS","zip_END_BLOCK","zip_L_CODES","zip_D_CODES","zip_BL_CODES","zip_REP_3_6","zip_REPZ_3_10","zip_REPZ_11_138","zip_HEAP_SIZE","zip_H_SHIFT","parseInt","zip_outbuf","zip_DeflateCT","fc","dl","zip_DeflateTreeDesc","dyn_tree","static_tree","extra_bits","extra_base","elems","max_length","max_code","zip_DeflateConfiguration","a","b","good_length","max_lazy","nice_length","max_chain","zip_DeflateBuffer","next","len","ptr","off","zip_extra_lbits","zip_extra_dbits","zip_extra_blbits","zip_bl_order","zip_configuration_table","zip_deflate_start","level","zip_reuse_queue","zip_new_queue","zip_head1","zip_head2","zip_put_byte","zip_qoutbuf","zip_put_short","w","zip_INSERT_STRING","zip_SEND_CODE","tree","zip_send_bits","zip_D_CODE","dist","zip_SMALLER","zip_read_buff","buff","offset","charCodeAt","zip_lm_init","zip_fill_window","zip_longest_match","cur_match","matchp","chain_length","scanp","best_len","limit","strendp","scan_end1","scan_end","more","zip_deflate_fast","flush","zip_ct_tally","zip_flush_block","zip_deflate_better","zip_init_deflate","zip_ct_init","zip_deflate_internal","buff_size","zip_qcopy","bits","zip_gen_codes","zip_bi_reverse","zip_init_block","zip_pqdownheap","k","v","zip_gen_bitlen","desc","h","xbits","f","extra","base","stree","overflow","next_code","zip_build_tree","node","xnew","zip_scan_tree","curlen","prevlen","nextlen","count","max_count","min_count","zip_send_tree","zip_build_bl_tree","max_blindex","zip_send_all_trees","lcodes","dcodes","blcodes","rank","eof","opt_lenb","static_lenb","stored_len","zip_bi_windup","zip_compress_block","lc","dcode","out_length","in_length","ltree","dtree","lx","dx","fx","flag","zip_Buf_size","q","tryGet","path","reduce","prev","curr","ActionMethod","config","configFilename","fetch","json","ConfigService","INSTANCE","fetchExternalConfig","RoutePath","RouteParams","vaultifier","vue","method","usesAuth","baseUrlPlaceholder","vaultItemIdPlaceholder","replace","returnValue","OPEN","open","HREF","indexOf","vaultifierUrl","POST","post","PUT","put","GET","headers","status","$bvModal","msgBoxOk","actionsObj","arr","initialize","selectedListLabelTemplate","editViewSchema","text","List","ChartVisualizer","refreshObj","isChart","fetchObj","_showEditView","response","vaultItemId","getItem","show","compile","$item","schemaDRIs","search","toLowerCase","hasSelectedSchema","editViewSchemaDri","isRepoListLoading","fetchRepos","selectedRepo","selectRepo","repos","DataVisualizer","SchemaView","RepoView","hasRepoSupport","getVaultSupport","isVaultItemLoading","isShown","itemId","routes","MAIN_VIEW","MainView","SCHEMA_VIEW","SCHEMA_DRI","ITEM_VIEW","ItemView","ITEM_ID","router","settingsActions","additionalActions","INTERNAL","$router","supportsEncryption","supportsDecryption","submitForm","appKey","appSecret","scopeOptions","scope","idp","authority","imageUrl","getIdentityProviderTitle","identityProvider","isLoginData","Login","NavBar","isInitializing","isLoggedIn","vaultInfo","currentRoute","credentials","baseUrl","clientId","vw","urls","setCredentials","link","oAuthType","fromVaultifier","isAuthenticated","setEnd2EndEncryption","getVaultInfo","clearAuthentication","hasMessage","isLoginFormShowed","oAuth","authentication","authenticationMode","user","fullName","document","paths","vs","VueBootstrapTypeahead","render","App","$mount"],"mappings":"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","file":"js/app.8fba3ea6.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 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// 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\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 \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([1,\"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--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawData.vue?vue&type=style&index=0&id=1a952614&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InlineGroup.vue?vue&type=style&index=0&id=65fc9698&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=6d8a88ff&scoped=true&lang=css&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf755\",\n\t\"./tlh.js\": \"cf755\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormView.vue?vue&type=style&index=0&id=56ff178a&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawJson.vue?vue&type=style&index=0&id=2607f53e&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=3857e62a&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainView.vue?vue&type=style&index=0&id=1eb0e198&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=163f8a0f&scoped=true&lang=css&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=22b268a6&scoped=true&lang=css&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=style&index=0&id=67accffb&scoped=true&lang=css&\"","import { Vaultifier } from 'vaultifier';\n\nlet vaultifier: Vaultifier;\n\nexport const setInstance = (instance: Vaultifier): Vaultifier => vaultifier = instance;\nexport const getInstance = (): Vaultifier => vaultifier;","export enum ActionType {\n DELETE_VAULT_ITEM = 'deleteSelectedVaultItem',\n FETCH_SCHEMA_DRIS = 'fetchSchemaDRIs',\n FETCH_SCHEMAS_TITLE = 'fetchSchemasTitle',\n FETCH_REPOS = 'fetchRepos',\n FETCH_VAULT_ITEMS = 'fetchVaultItems',\n FETCH_VAULT_ITEM = 'fetchVaultItem',\n RESET_VAULT_ITEMS = 'resetVaultItems',\n SET_VAULT_ITEM_LANGUAGE = 'setVaultItemLanguage',\n TOGGLE_UI_IS_FLUID = 'toggleUiIsFluid',\n UPDATE_VAULT_ITEM = 'updateVaultItem',\n}\n","export enum FetchState {\n NONE = 'none',\n FETCHING = 'fetching',\n SUCCESS = 'success',\n ERROR = 'error',\n}","export enum MutationType {\n SET_CURRENT_SCHEMA = 'setCurrentSchema',\n SET_SCHEMA_DRIS = 'setSchemaDRIs',\n SET_SCHEMA_DRI_TITLE = 'setSchemaDRITitle',\n SET_REPOS = 'setRepos',\n SET_VAULT_ITEMS = 'setVaultItems',\n SET_VAULT_ITEM = 'setVaultItem',\n SET_VAULT_ITEM_LANGUAGE = 'setVaultItemLanguage',\n SET_FETCH_STATE = 'setSchemaDRIFetchState',\n SET_VAULT_ITEMS_PAGING = 'setVaultItemsPaging',\n SET_UI_IS_FLUID = 'setUiIsFluid',\n}\n","import { getInstance, soya } from '@/services';\nimport { Soya, SoyaDocument } from 'soya-js';\nimport { MultiResponse, Paging, Vaultifier, VaultItem, VaultItemsQuery, VaultMeta, VaultMinMeta, VaultPostItem, VaultRepo, VaultSchema, } from 'vaultifier';\nimport Vue from 'vue';\nimport Vuex, { Commit } from 'vuex'\nimport { ActionType } from './action-type';\nimport { FetchState } from './fetch-state';\nimport { MutationType } from './mutation-type';\n\nexport interface IFetchVaultItems {\n page?: number;\n size?: number;\n repo?: VaultRepo;\n schema?: Partial;\n fetchContent?: boolean;\n}\n\n// These special types are currently due to a legacy\n// implementation, but could be helpful in future\n// if we want to extend the base vaultifier types\ntype SoyaVaultMeta = VaultMeta & {\n // id: number | string;\n};\n\ntype SoyaVaultMinMeta = VaultMinMeta & {\n // id: number | string;\n dri: string;\n};\n\ntype SoyaVaultItem = VaultItem & {\n // id: number | string;\n};\n\nexport enum Language {\n JSON_LD = 'json-ld',\n YAML = 'yaml',\n}\n\nexport interface IStore {\n repo: {\n all?: VaultRepo[],\n state: FetchState,\n },\n schemaDRI: {\n all: VaultSchema[],\n state: FetchState,\n current?: SoyaDocument,\n },\n vaultItem: {\n all: SoyaVaultMeta[],\n allState: FetchState,\n current?: VaultItem,\n currentState: FetchState,\n paging?: Paging,\n language: string,\n },\n ui: {\n isFluid: boolean,\n }\n}\ninterface IFetchState {\n state: FetchState,\n setFetchState: (store: IStore, state: FetchState) => void,\n}\n\nasync function doFetch(\n commit: Commit,\n asyncFunc: () => Promise,\n setState: (commit: Commit, data: T) => void,\n setFetchState: (store: IStore, state: FetchState) => void,\n) {\n const commitObj: IFetchState = {\n setFetchState,\n state: FetchState.FETCHING,\n }\n\n commit(MutationType.SET_FETCH_STATE, commitObj);\n try {\n setState(commit, await asyncFunc());\n\n commitObj.state = FetchState.SUCCESS;\n commit(MutationType.SET_FETCH_STATE, commitObj)\n }\n catch (e) {\n console.error(e);\n\n commitObj.state = FetchState.ERROR;\n commit(MutationType.SET_FETCH_STATE, commitObj);\n }\n}\n\nexport const getStore = () => {\n Vue.use(Vuex);\n\n return new Vuex.Store({\n state: (): IStore => ({\n repo: {\n all: [],\n state: FetchState.NONE,\n },\n schemaDRI: {\n all: [],\n state: FetchState.NONE,\n current: undefined,\n },\n vaultItem: {\n all: [],\n allState: FetchState.NONE,\n current: undefined,\n currentState: FetchState.NONE,\n paging: undefined,\n language: Language.YAML,\n },\n ui: {\n isFluid: false,\n }\n }),\n mutations: {\n [MutationType.SET_FETCH_STATE](state, payload: IFetchState) {\n payload.setFetchState(state, payload.state);\n },\n [MutationType.SET_REPOS](state, payload: VaultRepo[]) {\n state.repo.all = payload;\n },\n [MutationType.SET_CURRENT_SCHEMA](state, payload: SoyaDocument | undefined) {\n state.schemaDRI.current = payload;\n },\n [MutationType.SET_SCHEMA_DRIS](state, payload: VaultSchema[]) {\n state.schemaDRI.all = payload;\n },\n [MutationType.SET_VAULT_ITEMS](state, payload: VaultMeta[]) {\n state.vaultItem.all = payload;\n },\n [MutationType.SET_VAULT_ITEM](state, payload: VaultItem) {\n state.vaultItem.current = payload;\n },\n [MutationType.SET_VAULT_ITEM_LANGUAGE](state, payload: string) {\n state.vaultItem.language = payload;\n },\n [MutationType.SET_SCHEMA_DRI_TITLE](state, payload: VaultSchema) {\n const item = state.schemaDRI.all.find(x => x.dri === payload.dri);\n\n if (item)\n item.title = payload.title;\n },\n [MutationType.SET_VAULT_ITEMS_PAGING](state, payload?: Paging) {\n state.vaultItem.paging = payload;\n },\n [MutationType.SET_UI_IS_FLUID](state, payload: boolean) {\n state.ui.isFluid = payload;\n },\n },\n actions: {\n [ActionType.RESET_VAULT_ITEMS]({ commit }) {\n commit(MutationType.SET_VAULT_ITEMS, undefined);\n commit(MutationType.SET_VAULT_ITEM, undefined);\n commit(MutationType.SET_VAULT_ITEMS_PAGING, undefined);\n },\n async [ActionType.UPDATE_VAULT_ITEM]({ state, commit, dispatch }, payload: VaultPostItem) {\n let jsonld: SoyaDocument | undefined = undefined;\n let yaml: string | undefined = undefined;\n if (state.vaultItem.language === Language.YAML) {\n yaml = payload.data as string;\n jsonld = await soya.init(yaml);\n }\n else\n jsonld = payload.data;\n\n await soya.push(jsonld, {\n soya_yaml: yaml,\n meta: payload.meta,\n });\n },\n async [ActionType.DELETE_VAULT_ITEM]({ state, commit, dispatch }, payload: VaultMeta) {\n if (payload.dri)\n await soya.delete(payload.dri);\n else\n throw new Error('Delete needs payload to have a DRI');\n\n if (state.vaultItem.current?.id === payload.id)\n commit(MutationType.SET_VAULT_ITEM, undefined);\n },\n async [ActionType.FETCH_SCHEMA_DRIS]({ commit, dispatch }) {\n await doFetch(\n commit,\n async () => (await soya.query()).map(x => ({\n // yep, this is correct\n // the name is our unique identifier\n dri: x.name,\n title: x.name,\n })),\n (commit, data) => {\n dispatch(ActionType.RESET_VAULT_ITEMS);\n commit(MutationType.SET_SCHEMA_DRIS, data);\n dispatch(ActionType.FETCH_SCHEMAS_TITLE);\n },\n (store, state) => store.schemaDRI.state = state\n );\n },\n async [ActionType.FETCH_REPOS]({ commit, dispatch }) {\n await doFetch(\n commit,\n () => getInstance().getRepos(),\n (commit, data) => {\n dispatch(ActionType.RESET_VAULT_ITEMS);\n commit(MutationType.SET_REPOS, data);\n },\n (store, state) => store.repo.state = state\n );\n },\n async [ActionType.FETCH_VAULT_ITEMS]({ commit, state }, { page, size, repo, schema, fetchContent }: IFetchVaultItems) {\n // reset currently selected vault item if list of vault items is refreshed\n commit(MutationType.SET_VAULT_ITEM, undefined);\n commit(MutationType.SET_CURRENT_SCHEMA, undefined);\n\n // soyabud: querying for databud renderings is not really meaningful, therefore disabled\n // if (schema?.dri) {\n // try {\n // const doc = await soya.pull(schema.dri);\n // commit(MutationType.SET_CURRENT_SCHEMA, doc);\n\n // const sparql = await soya.getSparqlBuilder(doc);\n // const bindings = await sparql.query(`\n // PREFIX base: <${doc[\"@context\"][\"@base\"]}>\n // SELECT * WHERE {\n // ?base a base:OverlayDataBudRendering .\n // }`);\n\n // // if there is an overlay for DataBudRendering\n // // we want to fetch the whole content\n // if (bindings.length > 0)\n // fetchContent = true;\n // } catch { /* if it goes wrong we don't care */ }\n // }\n\n await doFetch>(\n commit,\n async () => {\n const schemaPath = schema?.title ?? schema?.dri;\n if (schemaPath) {\n // TODO: needs paging mechanism\n const res = await soya.info(schemaPath);\n const items = res.history\n .filter(x => {\n if (state.vaultItem.language === Language.YAML)\n return x.yaml;\n\n return true;\n })\n .map(x => {\n const date = new Date(x.date);\n\n return {\n id: x.id,\n dri: x.dri,\n createdAt: date,\n updatedAt: date,\n meta: {},\n raw: x,\n };\n });\n\n return {\n items,\n paging: {\n current: 1,\n pageItems: items.length,\n totalItems: items.length,\n totalPages: 1,\n }\n };\n }\n else\n throw new Error('Schema and repo are undefined');\n\n },\n (commit, data) => {\n commit(MutationType.SET_VAULT_ITEMS, data.items);\n commit(MutationType.SET_VAULT_ITEMS_PAGING, data.paging);\n },\n (store, state) => store.vaultItem.allState = state,\n );\n },\n async[ActionType.FETCH_VAULT_ITEM]({ commit, state }, payload: SoyaVaultMinMeta) {\n await doFetch(\n commit,\n async () => {\n const res = await soya.service.get(`/api/data?id=${payload.id}`, false);\n\n return {\n id: payload.id,\n dri: payload.dri,\n createdAt: res.created_at,\n updatedAt: res.updated_at,\n author: res.author,\n organization: res.organization,\n isEncrypted: false,\n meta: res.meta,\n raw: res,\n data: state.vaultItem.language === Language.YAML ? res.soya_yaml : res.data,\n };\n },\n (commit, data) => commit(MutationType.SET_VAULT_ITEM, data),\n (store, state) => store.vaultItem.currentState = state,\n )\n },\n async[ActionType.SET_VAULT_ITEM_LANGUAGE]({ commit, state, dispatch }, payload: Language) {\n commit(MutationType.SET_VAULT_ITEM_LANGUAGE, payload);\n // refetch current vault item, if needed\n if (state.vaultItem.current)\n dispatch(ActionType.FETCH_VAULT_ITEM, state.vaultItem.current);\n },\n async[ActionType.FETCH_SCHEMAS_TITLE]({ commit, state }) {\n const infos = await soya.info(state.schemaDRI.all.map(x => x.dri));\n\n for (const info of infos) {\n const schema = state.schemaDRI.all.find(x => x.dri === info.dri);\n\n if (schema) {\n schema.title = info.name;\n commit(MutationType.SET_SCHEMA_DRI_TITLE, schema);\n }\n }\n },\n async[ActionType.TOGGLE_UI_IS_FLUID]({ commit, state }) {\n commit(MutationType.SET_UI_IS_FLUID, !state.ui.isFluid);\n },\n }\n });\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-container',{attrs:{\"fluid\":_vm.isUiFluid}},[_c('nav-bar',{attrs:{\"encryptionSupport\":_vm.encryptionSupport,\"title\":_vm.title,\"description\":_vm.description,\"url\":_vm.vaultUrl,\"hasLogout\":_vm.hasLogout,\"additionalActions\":_vm.additionalNavBarActions},on:{\"logout\":_vm.logOut,\"login\":_vm.showLoginForm}})],1),(_vm.isInitializing)?_c('b-container',[_c('div',{staticClass:\"jumbotron\"},[_c('span',{staticClass:\"lead\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \"),_c('span',{staticClass:\"text-muted\"},[_vm._v(\"is loading \"),_c('spinner')],1)])])]):(_vm.hasMessage)?_c('b-container',[_c('div',{staticClass:\"jumbotron\"},[_c('h1',{staticClass:\"display-5\"},[_vm._v(\"Buddy Message\")]),_c('p',{staticClass:\"lead\"},[_vm._v(_vm._s(_vm.message))])])]):(_vm.isLoginFormShowed)?_c('b-container',[_c('login',{attrs:{\"scopes\":_vm.vaultSupport.scopes,\"identityProviders\":_vm.identityProviders},on:{\"login\":_vm.logIn,\"useIdentityProvider\":_vm.tryInitializeVaultifier}})],1):_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Soya } from \"soya-js\";\n\n// soya is created centrally\n// this way we can make use of its inbuilt caching\nexport let soya = new Soya();\nexport const initialize = (instance: Soya) => soya = instance;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-spinner',{attrs:{\"type\":\"grow\",\"variant\":_vm.variant,\"small\":_vm.small}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nexport default Vue.extend({\n props: {\n variant: {\n default: 'dark',\n },\n small: {\n default: false,\n }\n }\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Spinner.vue?vue&type=template&id=711cc042&\"\nimport script from \"./Spinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./Spinner.vue?vue&type=script&lang=ts&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-navbar',{attrs:{\"toggleable\":\"lg\",\"type\":\"dark\",\"variant\":\"dark\"}},[_c('b-navbar-brand',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.bottomright\",value:(_vm.description),expression:\"description\",modifiers:{\"hover\":true,\"bottomright\":true}}],attrs:{\"href\":\"#\"},on:{\"click\":_vm.goHome}},[_vm._v(_vm._s(_vm.title))]),_c('b-nav-text',[_vm._v(\" v\"+_vm._s(_vm.version)+\" \"),(_vm.encryptionIcon)?_c('b-icon',{staticClass:\"ml-2\",attrs:{\"icon\":_vm.encryptionIcon}}):_vm._e()],1),_c('b-nav-text',[_vm._v(\" soyabud v\"+_vm._s(_vm.subVersion)+\" \")]),(_vm.url)?_c('b-nav-text',[_c('a',{attrs:{\"href\":_vm.url}},[_vm._v(_vm._s(_vm.url))])]):_vm._e(),_c('b-navbar-nav',{staticClass:\"ml-auto\"},[_c('b-nav-item',[_c('b-icon',{attrs:{\"icon\":_vm.isUiFluid ? 'arrows-angle-contract': 'arrows-angle-expand'},on:{\"click\":_vm.toggleUiFluid}})],1),(_vm.actions && _vm.actions.length > 0)?_c('b-nav-item-dropdown',{attrs:{\"right\":\"\",\"disabled\":!!_vm.workingAction},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-icon',{attrs:{\"icon\":\"gear\",\"animation\":_vm.gearAnimation,\"aria-label\":\"Settings\"}}),_c('span',{staticClass:\"ml-2\"},[_vm._v(_vm._s(_vm.workingActionTitle))])]},proxy:true}],null,false,3798702937)},_vm._l((_vm.actions),function(act){return _c('b-dropdown-item',{key:act.key,attrs:{\"href\":\"#\"},on:{\"click\":function () { return _vm.executeAction(act); }}},[_vm._v(_vm._s(act.title))])}),1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{attrs:{\"fluid\":_vm.isUiFluid}},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\",\"lazy\":\"\"},on:{\"activate-tab\":_vm.handleActivateTab}},[_c('b-tab',{attrs:{\"title\":\"All Structures\"}},[_c('schema-view',{on:{\"showEditView\":_vm.handleShowEditView}})],1),(_vm.hasRepoSupport)?_c('b-tab',{attrs:{\"title\":\"Repos\"}},[_c('repo-view')],1):_vm._e()],1)],1),(_vm.isVaultItemLoading)?_c('div',{staticClass:\"center\"},[_c('Spinner')],1):_vm._e(),(_vm.hasSelectedVaultItem || _vm.showEditView)?_c('data-visualizer',{staticClass:\"data-visualizer\",attrs:{\"item\":_vm.selectedVaultItem},on:{\"cancel\":_vm.cancel}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\"},model:{value:(_vm.activeTabIndex),callback:function ($$v) {_vm.activeTabIndex=$$v},expression:\"activeTabIndex\"}},[(_vm.showRawView)?_c('b-tab',{attrs:{\"title\":\"SOyA Structure\"}},[_c('raw-data',{attrs:{\"item\":_vm.item,\"language\":_vm.language,\"isSaving\":_vm.isSaving},on:{\"save\":_vm.saveVaultItem,\"cancel\":_vm.cancel}})],1):_vm._e(),(_vm.hasSchema)?_c('b-tab',{attrs:{\"title\":\"Form\",\"lazy\":\"\"}},[_c('form-view',{attrs:{\"item\":_vm.item,\"schemaDri\":_vm.schemaDri,\"allowSelectSchema\":true,\"hasCancel\":false,\"isSaving\":_vm.isSaving},on:{\"save\":_vm.saveVaultItem}})],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-4\"},[_vm._m(0),_c('raw-json',{attrs:{\"data\":_vm.systemData}}),_c('div',{staticClass:\"top-container\"},[_c('h3',{staticClass:\"heading\"},[_vm._v(\"Meta\")]),_c('b-checkbox',{staticClass:\"check\",model:{value:(_vm.isMetaEditable),callback:function ($$v) {_vm.isMetaEditable=$$v},expression:\"isMetaEditable\"}},[_vm._v(\"Editable\")])],1),(_vm.isMetaEditable)?_c('b-textarea',{staticClass:\"textarea\",attrs:{\"rows\":\"10\"},model:{value:(_vm.editableMeta),callback:function ($$v) {_vm.editableMeta=$$v},expression:\"editableMeta\"}}):_c('raw-json',{attrs:{\"data\":_vm.item.meta}})],1),_c('div',{staticClass:\"col-md-8\"},[_c('div',{staticClass:\"top-container\"},[_c('h3',{staticClass:\"heading\"},[_vm._v(\"Content\")]),(_vm.isEncrypted)?_c('span',{staticClass:\"text-muted\"},[_vm._v(\" (encrypted)\")]):_vm._e(),_c('b-checkbox',{staticClass:\"check\",model:{value:(_vm.isDataEditable),callback:function ($$v) {_vm.isDataEditable=$$v},expression:\"isDataEditable\"}},[_vm._v(\"Editable\")]),_c('inline-group',{staticClass:\"top-bar\"},[(_vm.isDataEditable)?_c('b-dropdown',{attrs:{\"disabled\":!_vm.isYaml,\"text\":\"Templates\"}},_vm._l((Object.keys(_vm.templates)),function(template){return _c('b-dropdown-item',{key:template,on:{\"click\":function($event){return _vm.selectTemplate(template)}}},[_vm._v(\" \"+_vm._s(template)+\" \")])}),1):_vm._e(),_c('custom-button',{attrs:{\"type\":\"danger\",\"disabled\":_vm.isSaving},on:{\"click\":_vm.cancel}},[_vm._v(\" Cancel \")]),(_vm.isDataEditable || _vm.isMetaEditable)?_c('custom-button',{attrs:{\"type\":_vm.isSaving ? 'primary-outline' : undefined,\"disabled\":_vm.isSaving},on:{\"click\":_vm.save}},[(_vm.isSaving)?_c('spinner'):[_vm._v(\" Push \")]],2):_vm._e()],1)],1),(_vm.isDataEditable)?_c('vue-monaco-editor',{staticClass:\"monaco\",attrs:{\"language\":_vm.monacoLanguage},model:{value:(_vm.editableData),callback:function ($$v) {_vm.editableData=$$v},expression:\"editableData\"}}):_c('raw-json',{attrs:{\"data\":_vm.item.data}})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"top-container\"},[_c('h3',{staticClass:\"heading\"},[_vm._v(\"System\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pre',{staticClass:\"card\"},[_vm._v(_vm._s(_vm.jsonContent))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nexport default Vue.extend({\n props: [\n 'data',\n ],\n computed: {\n jsonContent(): string {\n if (typeof this.data === 'object')\n return JSON.stringify(this.data, null, 2).trim();\n\n return this.data;\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawJson.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawJson.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RawJson.vue?vue&type=template&id=2607f53e&scoped=true&\"\nimport script from \"./RawJson.vue?vue&type=script&lang=ts&\"\nexport * from \"./RawJson.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RawJson.vue?vue&type=style&index=0&id=2607f53e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2607f53e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-button',{attrs:{\"variant\":_vm.computedType},on:{\"click\":_vm.click}},[(_vm.type === 'refresh')?[_c('b-icon',{attrs:{\"icon\":\"arrow-clockwise\",\"aria-label\":\"Refresh\"}}),_vm._t(\"default\")]:_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue'\nexport default Vue.extend({\n props: {\n type: {\n type: String,\n default: 'primary'\n }\n },\n methods: {\n click() {\n this.$emit('click', ...arguments);\n }\n },\n computed: {\n computedType() {\n return this.type === 'refresh' ? 'outline-primary' : this.type;\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=235a3e72&\"\nimport script from \"./Button.vue?vue&type=script&lang=ts&\"\nexport * from \"./Button.vue?vue&type=script&lang=ts&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"inline-group\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./InlineGroup.vue?vue&type=template&id=65fc9698&scoped=true&\"\nvar script = {}\nimport style0 from \"./InlineGroup.vue?vue&type=style&index=0&id=65fc9698&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"65fc9698\",\n null\n \n)\n\nexport default component.exports","export default \"meta:\\n name: PersonAlignment\\n namespace:\\n foaf: \\\"http://xmlns.com/foaf/0.1/\\\"\\n dc: \\\"http://purl.org/dc/elements/1.1/\\\"\\n\\ncontent:\\n overlays: \\n - type: OverlayAlignment\\n base: Person\\n name: PersonAlignmentOverlay\\n attributes:\\n name: \\n - foaf:name\\n - dc:title\\n sex: foaf:gender\";","export default \"meta:\\n name: PersonAnnotation\\n\\ncontent:\\n overlays: \\n - type: OverlayAnnotation\\n base: Person\\n name: PersonAnnotationOverlay\\n class: \\n label: \\n en: Person\\n de: \\n - die Person\\n - der Mensch\\n attributes:\\n name: \\n label: \\n en: Name\\n de: Name\\n dateOfBirth: \\n label: \\n en: Date of Birth \\n de: Geburtsdatum\\n comment: \\n en: Birthdate of Person\\n sex: \\n label: \\n en: Gender\\n de: Geschlecht\\n comment: \\n en: Gender (male or female)\\n de: Geschlecht (männlich oder weiblich)\\n\";","export default \"meta:\\n name: Person\\n namespace:\\n foaf: \\\"http://xmlns.com/foaf/0.1/\\\"\\n\\ncontent:\\n bases: \\n - name: Person\\n subClassOf: foaf:Person\\n attributes:\\n name: String\\n dateOfBirth: Date\\n age: Integer\\n sex: String\\n # set requires distinct data\\n phoneNumbers: Set\\n # list can contain duplicates\\n prefixes: List\\n\\n # bases support nesting\\n # all subClasses will implicitly receive subClassOf property\\n subClasses:\\n - name: MyPerson\\n attributes:\\n height: Integer\\n\";","export default \"meta:\\n name: PersonClassification\\n\\ncontent:\\n overlays: \\n - type: OverlayClassification\\n base: Person\\n name: PersonClassificationOverlay\\n attributes:\\n name: pii\\n dateOfBirth: pii\\n sex: \\n - pii\\n - gdpr_sensitive\";","export default \"meta:\\n name: UserFriendlyPerson\\n\\ncontent:\\n bases: \\n - name: Person\\n attributes:\\n firstName: String\\n lastName: String\\n dateOfBirth: Date\\n sex: String\\n\\n overlays: \\n - type: OverlayDataBudRendering\\n base: Person\\n name: PersonRendering\\n renderingLabel: '{{firstName}} {{lastName}}'\";","export default \"meta:\\n name: PersonEncoding\\n\\ncontent:\\n overlays: \\n - type: OverlayEncoding\\n base: Person \\n name: PersonEncodingOverlay\\n attributes:\\n name: UTF-8\\n dateOfBirth: UTF-8\\n age: UTF-8\\n sex: UTF-8\\n\";","export default \"meta:\\n name: Person\\n\\ncontent:\\n overlays: \\n - type: OverlayForm\\n base: Person\\n name: PersonFormOverlay\\n # provide a language tag for multi-language support\\n language: en\\n # provide a general tag for providing different forms\\n tag: basic\\n schema:\\n type: object\\n properties:\\n name:\\n type: string\\n dateOfBirth:\\n type: string\\n format: date\\n required: []\\n ui:\\n type: VerticalLayout\\n elements:\\n - type: Group\\n label: Person\\n elements:\\n - type: Control\\n scope: \\\"#/properties/name\\\"\\n - type: Control\\n scope: \\\"#/properties/dateOfBirth\\\"\";","export default \"meta:\\n name: PersonFormat\\n\\ncontent:\\n overlays: \\n - type: OverlayFormat\\n base: Person\\n name: PersonFormatOverlay\\n attributes:\\n dateOfBirth: DD/MM/YYYY\";","export default \"meta:\\n name: OYD_Organisation_to_Company_handlebars_transformation\\n\\ncontent:\\n overlays: \\n - type: OverlayTransformation\\n name: TransformationOverlay\\n base: OYD_Organisation\\n engine: handlebars\\n value:\\n registered_name: \\\"{{name}}\\\" \\n address: \\\"{{location}}\\\"\\n contact:\\n number: \\\"{{phone}}\\\"\\n\";","export default \"meta:\\n name: PersonA_jolt_Transformation\\n\\ncontent:\\n overlays: \\n - type: OverlayTransformation\\n name: TransformationOverlay\\n base: PersonA\\n engine: jolt\\n value:\\n - operation: shift\\n spec: \\n \\\"\\\\\\\\@context\\\":\\n \\\"\\\\\\\\@version\\\": \\\"\\\\\\\\@context.\\\\\\\\@version\\\"\\n \\\"#https://soya.data-container.net/PersonB/\\\": \\\"\\\\\\\\@context.\\\\\\\\@vocab\\\"\\n \\\"\\\\\\\\@graph\\\": \\n \\\"*\\\": \\n \\\"#PersonB\\\": \\\"\\\\\\\\@graph[#2].\\\\\\\\@type\\\"\\n \\\"\\\\\\\\@id\\\": \\\"\\\\\\\\@graph[#2].\\\\\\\\@id\\\"\\n \\\"basePerson:firstname\\\": \\\"\\\\\\\\@graph[#2].first_name\\\"\\n \\\"basePerson:lastname\\\": \\\"\\\\\\\\@graph[#2].surname\\\"\\n \\\"basePerson:dateOfBirth\\\": \\\"\\\\\\\\@graph[#2].birthdate\\\"\\n \\\"basePerson:sex\\\": \\\"\\\\\\\\@graph[#2].gender\\\"\\n\";","export default \"meta:\\n name: PersonA_jq_transformation\\n\\ncontent:\\n overlays: \\n - type: OverlayTransformation\\n name: TransformationOverlay\\n base: PersonA\\n engine: jq\\n value: |\\n .[\\\"@graph\\\"] | \\n {\\n \\\"@context\\\": {\\n \\\"@version\\\":1.1,\\n \\\"@vocab\\\":\\\"https://soya.data-container.net/PersonB/\\\"},\\n \\\"@graph\\\": map( \\n {\\\"@id\\\":.[\\\"@id\\\"], \\n \\\"@type\\\":\\\"PersonB\\\", \\n \\\"first_name\\\":.[\\\"basePerson:firstname\\\"], \\n \\\"surname\\\":.[\\\"basePerson:lastname\\\"], \\n \\\"birthdate\\\":.[\\\"basePerson:dateOfBirth\\\"], \\n \\\"gender\\\":.[\\\"basePerson:sex\\\"]}\\n )\\n }\\n\";","export default \"meta:\\n name: SenML_Transformation\\n\\ncontent:\\n bases:\\n - name: SenML\\n attributes:\\n # unit\\n u: string\\n # timestamp\\n t: integer\\n # value\\n v: float\\n # identifier/name\\n n: String\\n # base timestamp\\n bt: integer\\n # base value\\n bv: float\\n # base unit\\n bu: string\\n # base identifier/base name\\n bn: string\\n # base sum\\n bs : float\\n\\n overlays: \\n - type: OverlayTransformation\\n name: SenMLTransformationOverlay\\n base: SenML\\n engine: senml\\n\";","export default \"meta:\\n name: PersonValidation\\n\\ncontent:\\n overlays: \\n - type: OverlayValidation\\n base: Person\\n name: PersonValidationOverlay\\n attributes:\\n name: \\n cardinality: \\\"1..1\\\"\\n length: \\\"[0..20)\\\"\\n pattern: \\\"^[a-z ,.'-]+$\\\"\\n dateOfBirth:\\n cardinality: \\\"1..1\\\"\\n valueRange: \\\"[1900-01-01..*]\\\" \\n age: \\n cardinality: \\\"0..1\\\"\\n valueRange: \\\"[0..*]\\\"\\n sex:\\n cardinality: \\\"0..1\\\"\\n valueOption:\\n # with translation and explicit labels\\n - id: female\\n label:\\n en: Female\\n de: Weiblich\\n - male\\n - other\\n\";","//@ts-nocheck\nimport Alignment from './alignment.yaml';\nimport Annotation from './annotation.yaml';\nimport Base from './base.yaml';\nimport Classification from './classification.yaml';\nimport DataBud_Rendering from './databud-rendering.yaml';\nimport Encoding from './encoding.yaml';\nimport Form from './form.yaml';\nimport Format from './format.yaml';\nimport Transformation_Handlebars from './transformation.handlebars.yaml';\nimport Transformation_Jolt from './transformation.jolt.yaml';\nimport Transformation_Jq from './transformation.jq.yaml';\nimport Transformation_SenML from './transformation.senml.yaml';\nimport Validation from './validation.yaml';\n\nexport const all = {\n Alignment,\n Annotation,\n Base,\n Classification,\n DataBud_Rendering,\n Encoding,\n Form,\n Format,\n Transformation_Handlebars,\n Transformation_Jolt,\n Transformation_Jq,\n Transformation_SenML,\n Validation,\n};","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// @ts-ignore\nimport { VaultItem, VaultPostItem } from 'vaultifier';\nimport Vue, { PropType } from 'vue'\nimport RawJson from './RawJson.vue';\nimport CustomButton from './Button.vue';\nimport InlineGroup from './InlineGroup.vue';\nimport Spinner from './Spinner.vue';\nimport { Language } from '../store';\nimport { all as templates } from '../res/templates';\n\ninterface Data {\n isDataEditable: boolean;\n isMetaEditable: boolean;\n editableData: string;\n editableMeta: string;\n templates: { [name: string]: string };\n}\n\nexport default Vue.extend({\n components: {\n RawJson,\n CustomButton,\n Spinner,\n InlineGroup,\n },\n props: {\n item: {\n type: Object as PropType,\n default: () => ({\n data: undefined,\n meta: {},\n } as VaultPostItem),\n },\n isSaving: {\n type: Boolean as PropType,\n },\n language: {\n type: String as PropType,\n },\n },\n data: (): Data => ({\n isDataEditable: false,\n isMetaEditable: false,\n editableData: '',\n editableMeta: '',\n templates,\n }),\n created() {\n this.resetEditableData();\n },\n methods: {\n resetEditableData() {\n this.editableData = this.tryJsonStringify(this.item.data);\n this.editableMeta = this.tryJsonStringify(this.item.meta);\n },\n tryJsonStringify(data: any) {\n if (typeof data === 'object')\n return JSON.stringify(data, null, 2);\n\n return data;\n },\n save() {\n const postItem: VaultPostItem = {\n ...this.item,\n };\n\n this.$emit('save', postItem);\n },\n cancel() {\n this.$emit('cancel');\n },\n selectTemplate(template: string) {\n const t = this.templates[template];\n if (!t)\n return;\n\n this.editableData = t + '\\n' + this.editableData;\n }\n },\n watch: {\n editableData(value: string) {\n try {\n this.item.data = JSON.parse(value);\n } catch {\n // this is soyabud specific, as we also handle YAML values\n this.item.data = value;\n }\n },\n editableMeta(value: string) {\n try {\n this.item.meta = JSON.parse(value);\n } catch { /* */ }\n },\n item() {\n this.resetEditableData();\n },\n },\n computed: {\n systemData(): any {\n const copy = { ...this.item };\n // @ts-ignore\n delete copy.raw;\n // @ts-ignore\n delete copy.data;\n // @ts-ignore\n delete copy.meta;\n return copy;\n },\n isEncrypted(): boolean {\n return (this.item as VaultItem).isEncrypted;\n },\n monacoLanguage(): string {\n switch (this.language) {\n case Language.JSON_LD: return 'json';\n case Language.YAML: return 'yaml';\n default: return '';\n }\n },\n isYaml() {\n return this.language === Language.YAML;\n }\n }\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawData.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RawData.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RawData.vue?vue&type=template&id=1a952614&scoped=true&\"\nimport script from \"./RawData.vue?vue&type=script&lang=ts&\"\nexport * from \"./RawData.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RawData.vue?vue&type=style&index=0&id=1a952614&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1a952614\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isLoading)?_c('spinner'):_vm._e(),_c('b-container',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasSchemaDri),expression:\"hasSchemaDri\"}],staticClass:\"p-0\"},[_c('b-row',[_c('b-col',[_c('b-form',{ref:\"form\",staticClass:\"form\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('iframe',{ref:\"iframe\",staticClass:\"iframe\",class:{'transparent': _vm.isLoading},attrs:{\"src\":_vm.iFrameSrc}})])],1)],1)],1),(!_vm.hasSchemaDri)?_c('b-alert',{attrs:{\"variant\":\"primary\",\"show\":\"\"}},[_vm._v(\" Please select a form. \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport Spinner from './Spinner.vue';\n\ninterface Data {\n selectedLanguage: string | null,\n selectedTag: string | null,\n isLoading: boolean,\n iFrameSrc: string | null,\n}\n\nexport default Vue.extend({\n data: (): Data => ({\n selectedLanguage: null,\n selectedTag: null,\n isLoading: false,\n iFrameSrc: null,\n }),\n props: {\n data: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n schemaDri: String,\n },\n components: {\n Spinner,\n },\n mounted() {\n window.addEventListener('message', (evt: MessageEvent) => {\n // ignore all messages that are created from this window\n if (evt.source === window)\n return;\n\n const iframe = this.iframe;\n\n switch (evt.data?.type) {\n case 'update':\n if (this.isLoading) {\n this.isLoading = false;\n // now set data for the first time\n // as we don't pass it via URL query parameter\n this.setData();\n }\n if (iframe)\n iframe.style.height = evt.data.documentHeight + 'px';\n break;\n case 'data':\n // only receive data updates, if the view is not in loading state\n // otherwise the data update coming from soya form might override\n // our internal data, which has not yet been posted to the soya form\n // and would therefore be lost\n if (!this.isLoading) {\n this.$emit('change', evt.data.evt);\n }\n break;\n }\n });\n\n this.reload();\n },\n methods: {\n async reload() {\n if (!this.schemaDri)\n return;\n\n this.isLoading = true;\n\n const { searchParams: windowParams } = new URL(window.location.href);\n // one can specify a different form url via URL params\n const url = new URL(windowParams.get('FORM_URL') || 'https://soya-form.ownyourdata.eu');\n const { searchParams: params } = url;\n\n params.append('viewMode', 'embedded');\n params.append('schemaDri', this.schemaDri);\n\n this.iFrameSrc = url.toString();\n },\n setData() {\n this.iframe?.contentWindow?.postMessage({\n type: 'data',\n data: this.data,\n }, '*');\n },\n },\n watch: {\n schemaDri() {\n this.reload();\n },\n data() {\n this.setData();\n },\n iFrameSrc() {\n this.$emit('iFrameSrcChange', this.iFrameSrc);\n }\n },\n computed: {\n hasSchemaDri(): boolean {\n return !!this.schemaDri;\n },\n iframe(): HTMLIFrameElement | undefined {\n return this.$refs.iframe as unknown as HTMLIFrameElement;\n }\n },\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormView.vue?vue&type=template&id=56ff178a&scoped=true&\"\nimport script from \"./FormView.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormView.vue?vue&type=style&index=0&id=56ff178a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"56ff178a\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue, { PropType } from 'vue';\n\nimport { VaultItem, VaultMinMeta, VaultPostItem } from 'vaultifier';\nimport RawData from './RawData.vue';\n\nimport FormView from './FormView.vue';\n\nimport { ActionType } from '@/store/action-type';\nimport { IStore, MutationType } from '../store';\n\ninterface Data {\n isSaving: boolean;\n activeTabIndex: number;\n}\n\nexport default Vue.extend({\n props: {\n item: Object as PropType,\n showRawView: {\n default: true,\n type: Boolean as PropType,\n },\n },\n data: (): Data => ({\n isSaving: false,\n activeTabIndex: 0,\n }),\n components: {\n RawData,\n FormView,\n },\n computed: {\n schemaDri(): string | undefined {\n return this.item?.dri;\n },\n hasSchema(): boolean {\n return !!this.schemaDri;\n },\n language() {\n return (this.$store.state as IStore).vaultItem.language;\n },\n },\n methods: {\n async saveVaultItem(item: VaultPostItem, onComplete?: () => void) {\n this.isSaving = true;\n\n try {\n await this.$store.dispatch(ActionType.UPDATE_VAULT_ITEM, item);\n } catch (e: any) {\n console.error(e);\n this.$bvToast.toast(e.message || \"Unknown error\", {\n title: \"Error while saving item\",\n variant: \"danger\",\n solid: true,\n });\n }\n\n this.isSaving = false;\n\n if (onComplete)\n // indicate saving is complete\n onComplete();\n },\n cancel() {\n this.$emit('cancel');\n },\n },\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataVisualizer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataVisualizer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataVisualizer.vue?vue&type=template&id=197bee74&scoped=true&\"\nimport script from \"./DataVisualizer.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataVisualizer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DataVisualizer.vue?vue&type=style&index=0&id=197bee74&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"197bee74\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('section',{staticClass:\"col-md-4\"},[_c('list',{attrs:{\"isLoading\":_vm.isSchemaListLoading},on:{\"refresh\":_vm.fetchSchemas},scopedSlots:_vm._u([{key:\"header-end\",fn:function(){return [_c('b-input',{attrs:{\"placeholder\":\"Search ...\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}})]},proxy:true}])},_vm._l((_vm.schemaDRIs),function(item){return _c('b-list-group-item',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.top\",value:(item.dri === undefined ? \"All data\" : undefined),expression:\"item.dri === undefined ? `All data` : undefined\",modifiers:{\"hover\":true,\"top\":true}}],key:item.dri,attrs:{\"active\":_vm.selectedSchema && item.dri === _vm.selectedSchema.dri,\"variant\":item.dri === undefined ? 'secondary' : undefined},on:{\"click\":function () { return _vm.selectSchema(item); }}},[_vm._v(\" \"+_vm._s(item.title || item.dri)+\" \")])}),1)],1),_c('section',{staticClass:\"col-md-8\"},[_c('b-tabs',{attrs:{\"content-class\":\"mt-3\",\"lazy\":\"\"},on:{\"activate-tab\":_vm.handleActivateTab},model:{value:(_vm.selectedTabIndex),callback:function ($$v) {_vm.selectedTabIndex=$$v},expression:\"selectedTabIndex\"}},[_c('b-tab',{attrs:{\"title\":\"Data Items\"}},[_c('list',{attrs:{\"isLoading\":_vm.isVaultItemListLoading,\"totalItems\":_vm.totalVaultItems,\"currentPage\":_vm.currentVaultPage,\"pageItems\":_vm.vaultPageItems},on:{\"refresh\":_vm.fetchVaultItems},scopedSlots:_vm._u([{key:\"header-end\",fn:function(){return [_c('custom-button',{on:{\"click\":_vm.addItem}},[_vm._v(\"New\")]),_vm._l((_vm.actions),function(action){return _c('custom-button',{key:action.key,attrs:{\"type\":_vm.isExecutingAction ? 'success-outline' : 'success',\"disabled\":_vm.isExecutingAction},on:{\"click\":function($event){return _vm.executeAction(action)}}},[(_vm.isExecutingAction)?_c('spinner'):[_vm._v(\" \"+_vm._s(action.title)+\" \")]],2)}),_c('custom-button',{attrs:{\"type\":\"danger\",\"disabled\":_vm.isDeleteButtonDisabled},on:{\"click\":_vm.deleteSelectedVaultItem}},[_vm._v(\"Delete\")]),_c('b-form-radio-group',{attrs:{\"id\":\"btn-radios-pull-type\",\"options\":_vm.languageOptions,\"button-variant\":\"outline-primary\",\"name\":\"radios-btn-pull-type\",\"buttons\":\"\"},model:{value:(_vm.language),callback:function ($$v) {_vm.language=$$v},expression:\"language\"}})]},proxy:true}])},_vm._l((_vm.vaultItems),function(item){return _c('b-list-group-item',{key:item.id,attrs:{\"active\":_vm.selectedVaultItem && item.id === _vm.selectedVaultItem.id},on:{\"click\":function () { return _vm.selectVaultItem(item); }}},[_vm._v(\" \"+_vm._s(_vm.getListTitle(item))+\" \")])}),1)],1),_c('b-tab',{attrs:{\"title\":\"Charts\"}},[_c('b-input-group',{attrs:{\"prepend\":\"Page Size\"}},[_c('b-input',{model:{value:(_vm.dataItemCount),callback:function ($$v) {_vm.dataItemCount=$$v},expression:\"dataItemCount\"}})],1),_c('b-input-group',{attrs:{\"prepend\":\"Page Number\"}},[_c('b-input',{model:{value:(_vm.dataItemPage),callback:function ($$v) {_vm.dataItemPage=$$v},expression:\"dataItemPage\"}})],1),_c('chart-visualizer',{attrs:{\"items\":_vm.vaultItems}})],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('inline-group',[_c('custom-button',{attrs:{\"disabled\":_vm.isLoading,\"type\":\"refresh\"},on:{\"click\":function () { return _vm.refresh(); }}}),_vm._t(\"header-end\")],2),_c('div',{staticClass:\"list-container\"},[(_vm.isLoading)?_c('spinner'):_c('b-list-group',{staticClass:\"list\"},[_vm._t(\"default\",function(){return [_c('b-list-group-item',{staticClass:\"list-group-item--nolink\"},[_vm._v(\"No items available\")])]})],2)],1),(_vm.totalItems && _vm.page && _vm.pageItems)?_c('div',[_c('div',[_c('b-input-group',{staticClass:\"d-flex justify-content-center\",attrs:{\"prepend\":\"Page\"}},[_c('b-form-input',{staticClass:\"input-page\",attrs:{\"disabled\":_vm.isLoading,\"type\":\"number\"},on:{\"keypress\":_vm.inputPageKeydown},model:{value:(_vm.inputPage),callback:function ($$v) {_vm.inputPage=$$v},expression:\"inputPage\"}})],1)],1),_c('b-pagination',{attrs:{\"disabled\":_vm.isLoading,\"total-rows\":_vm.totalItems,\"per-page\":_vm.pageItems,\"align\":\"fill\"},on:{\"page-click\":_vm.paginationPageChange},model:{value:(_vm.page),callback:function ($$v) {_vm.page=$$v},expression:\"page\"}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { BvEvent } from 'bootstrap-vue';\nimport Vue, { PropType } from 'vue';\nimport Spinner from './Spinner.vue';\nimport CustomButton from '../components/Button.vue';\nimport InlineGroup from '../components/InlineGroup.vue';\n\nexport interface RefreshObj {\n page?: number,\n}\n\ninterface Data {\n page?: number,\n inputPage?: number,\n}\n\nexport default Vue.extend({\n props: {\n isLoading: {\n type: Boolean as PropType,\n default: false,\n },\n totalItems: Number as PropType,\n currentPage: Number as PropType,\n pageItems: Number as PropType,\n },\n data: (): Data => ({\n page: undefined,\n inputPage: undefined,\n }),\n components: {\n Spinner,\n CustomButton,\n InlineGroup,\n },\n created() {\n this.page = this.currentPage;\n },\n watch: {\n currentPage() {\n this.page = this.currentPage;\n },\n page() {\n this.inputPage = this.page;\n }\n },\n methods: {\n changePage(page: number) {\n this.refresh(page);\n },\n paginationPageChange(_: BvEvent, page: number) {\n this.changePage(page);\n },\n refresh(page?: number) {\n this.$emit('refresh', {\n page,\n });\n },\n inputPageKeydown(event: KeyboardEvent) {\n if (this.inputPage && event.key === 'Enter')\n this.changePage(this.inputPage);\n }\n }\n});\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=3857e62a&scoped=true&\"\nimport script from \"./List.vue?vue&type=script&lang=ts&\"\nexport * from \"./List.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./List.vue?vue&type=style&index=0&id=3857e62a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3857e62a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form',[_c('b-input-group',{attrs:{\"prepend\":\"Scale X\"}},[_c('b-form-input',{model:{value:(_vm.scaleXExpression),callback:function ($$v) {_vm.scaleXExpression=$$v},expression:\"scaleXExpression\"}})],1),_vm._l((_vm.rows),function(row,idx){return _c('b-input-group',{key:idx,attrs:{\"prepend\":(\"Data \" + (idx+1))}},[_c('b-form-input',{model:{value:(row.expression),callback:function ($$v) {_vm.$set(row, \"expression\", $$v)},expression:\"row.expression\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"success\"},on:{\"click\":function($event){return _vm.addRow(idx)}}},[_vm._v(\"+\")]),_c('b-button',{attrs:{\"disabled\":!_vm.canRemoveRow,\"variant\":_vm.canRemoveRow ? 'danger' : ''},on:{\"click\":function($event){return _vm.removeRow(idx)}}},[_vm._v(\"-\")])],1)],1)}),_c('b-button',{on:{\"click\":_vm.computeChartData}},[_vm._v(\" Update Chart \")]),_c('div',{staticClass:\"mt-3\"},[_vm._t(\"default\")],2)],2),(_vm.chartData)?_c('zingchart',{attrs:{\"data\":_vm.chartData}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import * as expressionEval from \"expression-eval\";\n\ntype parseExpression = expressionEval.parse.Expression & {\n name: string\n object: parseExpression,\n property: parseExpression,\n left?: parseExpression,\n right?: parseExpression,\n}\n\nexport class Evaluator {\n static makeSafeObject = (expression: parseExpression, obj: any, isObject?: boolean): any => {\n if (expression.type === 'Identifier') {\n if (isObject && typeof obj[expression.name] !== 'object')\n obj[expression.name] = {};\n else if (obj[expression.name] === undefined)\n obj[expression.name] = '';\n\n return obj[expression.name];\n }\n else if (expression.type === 'MemberExpression') {\n obj = Evaluator.makeSafeObject(expression.object, obj, isObject ?? true);\n obj = Evaluator.makeSafeObject(expression.property, obj, isObject ?? false);\n }\n else if (expression.left && expression.right) {\n Evaluator.makeSafeObject(expression.left, obj);\n Evaluator.makeSafeObject(expression.right, obj);\n }\n\n return obj;\n }\n\n static eval = (expression: string, value: any): any => {\n try {\n const exp = expressionEval.parse(expression) as parseExpression;\n Evaluator.makeSafeObject(exp, value);\n\n return expressionEval.eval(exp, value);\n }\n catch (e) {\n /* we don't mind any errors */\n }\n\n return expression;\n }\n\n static evalTypeAgnostic = (expression: string, value: any) => {\n const val = Evaluator.eval(expression, value);\n\n if (val instanceof Date)\n return new Intl.DateTimeFormat('de', {\n // @ts-ignore somehow TS does not know dateStyle and wants to complain\n dateStyle: 'short',\n timeStyle: 'medium',\n }).format(val);\n\n // try parsing values as float\n const floatVal = parseFloat(val);\n if (!isNaN(floatVal))\n return floatVal;\n\n return val;\n };\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { VaultItem } from \"vaultifier\";\nimport Vue, { PropType } from \"vue\";\nimport 'zingchart/es6';\n//@ts-expect-error zingchart-vue does not have types\nimport zingchartVue from 'zingchart-vue';\nimport { Evaluator } from '../utils/evaluator';\n\ninterface Row {\n expression: string;\n}\n\ninterface Scale {\n labels: string[],\n}\n\ninterface ChartData {\n scaleX: Scale,\n type: string\n series: {\n values: any[],\n }[],\n}\n\ninterface Data {\n rows: Row[],\n labels: string[],\n scaleXExpression: string,\n chartData: ChartData | undefined,\n}\n\nexport default Vue.extend({\n components: {\n zingchart: zingchartVue,\n },\n props: {\n items: Array as PropType,\n },\n data: (): Data => ({\n rows: [{ expression: '' }],\n labels: [],\n scaleXExpression: '',\n chartData: undefined,\n }),\n computed: {\n canRemoveRow() {\n return this.rows.length > 1;\n },\n },\n methods: {\n addRow(idx: number) {\n this.rows.splice(idx + 1, 0, {\n expression: '',\n })\n },\n removeRow(idx: number) {\n this.rows.splice(idx, 1);\n },\n computeChartData(): ChartData | undefined {\n if (!this.items || this.items.length === 0)\n return;\n\n const data: ChartData = {\n type: 'area',\n scaleX: {\n labels: [],\n },\n series: [],\n }\n\n for (let j = 0, size = this.rows.length; j < size; j++) {\n const row = this.rows[j];\n\n if (!row.expression)\n continue;\n\n const series: any[] = [];\n\n for (let i = 0, size = this.items.length; i < size; i++) {\n const item = this.items[i];\n\n // only in first loop we populate labels\n if (j === 0) {\n data.scaleX.labels.push(Evaluator.evalTypeAgnostic(this.scaleXExpression, item) || (i + 1));\n }\n\n const value = Evaluator.evalTypeAgnostic(row.expression, item);\n\n if (value !== undefined && value !== null) {\n series.push(value);\n }\n }\n\n data.series.push({ values: series });\n }\n\n this.chartData = data.series.length === 0 ? undefined : data;\n return;\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChartVisualizer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChartVisualizer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChartVisualizer.vue?vue&type=template&id=0899f76a&\"\nimport script from \"./ChartVisualizer.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChartVisualizer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { i18nObject } from \"vaultifier\";\n\n// currently vaultifier only supports English\nconst language = 'en';\n\nexport const getTranslation = (obj: i18nObject | string) => {\n if (typeof obj === 'string')\n return obj;\n\n return obj[language];\n}","import Vue from 'vue';\n\nexport const dummyComponent = Vue.extend({\n beforeCreate() {\n throw new Error('Do not use the default export but use the factory function instead!');\n },\n});","// Taken from https://github.com/johan/js-deflate\n// Speficially: https://github.com/johan/js-deflate/blob/master/rawdeflate.js\n\n// @ts-nocheck\n\n/*\n * $Id: rawdeflate.js,v 0.3 2009/03/01 19:05:05 dankogai Exp dankogai $\n *\n * Original:\n * http://www.onicos.com/staff/iz/amuse/javascript/expert/deflate.txt\n */\n\n// if run as a web worker, respond to messages by deflating them\nexport const deflate = (function () {\n\n /* Copyright (C) 1999 Masanao Izumo \n * Version: 1.0.1\n * LastModified: Dec 25 1999\n */\n\n /* Interface:\n * data = deflate(src);\n */\n\n /* constant parameters */\n var zip_WSIZE = 32768;\t\t// Sliding Window size\n var zip_STORED_BLOCK = 0;\n var zip_STATIC_TREES = 1;\n var zip_DYN_TREES = 2;\n\n /* for deflate */\n var zip_DEFAULT_LEVEL = 6;\n var zip_FULL_SEARCH = true;\n var zip_INBUFSIZ = 32768;\t// Input buffer size\n var zip_INBUF_EXTRA = 64;\t// Extra buffer\n var zip_OUTBUFSIZ = 1024 * 8;\n var zip_window_size = 2 * zip_WSIZE;\n var zip_MIN_MATCH = 3;\n var zip_MAX_MATCH = 258;\n var zip_BITS = 16;\n // for SMALL_MEM\n var zip_LIT_BUFSIZE = 0x2000;\n var zip_HASH_BITS = 13;\n // for MEDIUM_MEM\n // var zip_LIT_BUFSIZE = 0x4000;\n // var zip_HASH_BITS = 14;\n // for BIG_MEM\n // var zip_LIT_BUFSIZE = 0x8000;\n // var zip_HASH_BITS = 15;\n //if(zip_LIT_BUFSIZE > zip_INBUFSIZ)\n // alert(\"error: zip_INBUFSIZ is too small\");\n //if((zip_WSIZE<<1) > (1< zip_BITS-1)\n // alert(\"error: zip_HASH_BITS is too large\");\n //if(zip_HASH_BITS < 8 || zip_MAX_MATCH != 258)\n // alert(\"error: Code too clever\");\n var zip_DIST_BUFSIZE = zip_LIT_BUFSIZE;\n var zip_HASH_SIZE = 1 << zip_HASH_BITS;\n var zip_HASH_MASK = zip_HASH_SIZE - 1;\n var zip_WMASK = zip_WSIZE - 1;\n var zip_NIL = 0; // Tail of hash chains\n var zip_TOO_FAR = 4096;\n var zip_MIN_LOOKAHEAD = zip_MAX_MATCH + zip_MIN_MATCH + 1;\n var zip_MAX_DIST = zip_WSIZE - zip_MIN_LOOKAHEAD;\n var zip_SMALLEST = 1;\n var zip_MAX_BITS = 15;\n var zip_MAX_BL_BITS = 7;\n var zip_LENGTH_CODES = 29;\n var zip_LITERALS = 256;\n var zip_END_BLOCK = 256;\n var zip_L_CODES = zip_LITERALS + 1 + zip_LENGTH_CODES;\n var zip_D_CODES = 30;\n var zip_BL_CODES = 19;\n var zip_REP_3_6 = 16;\n var zip_REPZ_3_10 = 17;\n var zip_REPZ_11_138 = 18;\n var zip_HEAP_SIZE = 2 * zip_L_CODES + 1;\n var zip_H_SHIFT = parseInt((zip_HASH_BITS + zip_MIN_MATCH - 1) /\n zip_MIN_MATCH);\n\n /* variables */\n var zip_free_queue;\n var zip_qhead, zip_qtail;\n var zip_initflag;\n var zip_outbuf = null;\n var zip_outcnt, zip_outoff;\n var zip_complete;\n var zip_window;\n var zip_d_buf;\n var zip_l_buf;\n var zip_prev;\n var zip_bi_buf;\n var zip_bi_valid;\n var zip_block_start;\n var zip_ins_h;\n var zip_hash_head;\n var zip_prev_match;\n var zip_match_available;\n var zip_match_length;\n var zip_prev_length;\n var zip_strstart;\n var zip_match_start;\n var zip_eofile;\n var zip_lookahead;\n var zip_max_chain_length;\n var zip_max_lazy_match;\n var zip_compr_level;\n var zip_good_match;\n var zip_nice_match;\n var zip_dyn_ltree;\n var zip_dyn_dtree;\n var zip_static_ltree;\n var zip_static_dtree;\n var zip_bl_tree;\n var zip_l_desc;\n var zip_d_desc;\n var zip_bl_desc;\n var zip_bl_count;\n var zip_heap;\n var zip_heap_len;\n var zip_heap_max;\n var zip_depth;\n var zip_length_code;\n var zip_dist_code;\n var zip_base_length;\n var zip_base_dist;\n var zip_flag_buf;\n var zip_last_lit;\n var zip_last_dist;\n var zip_last_flags;\n var zip_flags;\n var zip_flag_bit;\n var zip_opt_len;\n var zip_static_len;\n var zip_deflate_data;\n var zip_deflate_pos;\n\n /* objects (deflate) */\n\n function zip_DeflateCT() {\n this.fc = 0; // frequency count or bit string\n this.dl = 0; // father node in Huffman tree or length of bit string\n }\n\n function zip_DeflateTreeDesc() {\n this.dyn_tree = null;\t// the dynamic tree\n this.static_tree = null;\t// corresponding static tree or NULL\n this.extra_bits = null;\t// extra bits for each code or NULL\n this.extra_base = 0;\t// base index for extra_bits\n this.elems = 0;\t\t// max number of elements in the tree\n this.max_length = 0;\t// max bit length for the codes\n this.max_code = 0;\t\t// largest code with non zero frequency\n }\n\n /* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\n function zip_DeflateConfiguration(a, b, c, d) {\n this.good_length = a; // reduce lazy search above this match length\n this.max_lazy = b; // do not perform lazy search above this match length\n this.nice_length = c; // quit search above this match length\n this.max_chain = d;\n }\n\n function zip_DeflateBuffer() {\n this.next = null;\n this.len = 0;\n this.ptr = new Array(zip_OUTBUFSIZ);\n this.off = 0;\n }\n\n /* constant tables */\n var zip_extra_lbits = [\n 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0];\n var zip_extra_dbits = [\n 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13];\n var zip_extra_blbits = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7];\n var zip_bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n var zip_configuration_table = [\n new zip_DeflateConfiguration(0, 0, 0, 0),\n new zip_DeflateConfiguration(4, 4, 8, 4),\n new zip_DeflateConfiguration(4, 5, 16, 8),\n new zip_DeflateConfiguration(4, 6, 32, 32),\n new zip_DeflateConfiguration(4, 4, 16, 16),\n new zip_DeflateConfiguration(8, 16, 32, 32),\n new zip_DeflateConfiguration(8, 16, 128, 128),\n new zip_DeflateConfiguration(8, 32, 128, 256),\n new zip_DeflateConfiguration(32, 128, 258, 1024),\n new zip_DeflateConfiguration(32, 258, 258, 4096)];\n\n\n /* routines (deflate) */\n\n function zip_deflate_start(level) {\n var i;\n\n if (!level)\n level = zip_DEFAULT_LEVEL;\n else if (level < 1)\n level = 1;\n else if (level > 9)\n level = 9;\n\n zip_compr_level = level;\n zip_initflag = false;\n zip_eofile = false;\n if (zip_outbuf != null)\n return;\n\n zip_free_queue = zip_qhead = zip_qtail = null;\n zip_outbuf = new Array(zip_OUTBUFSIZ);\n zip_window = new Array(zip_window_size);\n zip_d_buf = new Array(zip_DIST_BUFSIZE);\n zip_l_buf = new Array(zip_INBUFSIZ + zip_INBUF_EXTRA);\n zip_prev = new Array(1 << zip_BITS);\n zip_dyn_ltree = new Array(zip_HEAP_SIZE);\n for (i = 0; i < zip_HEAP_SIZE; i++)\n zip_dyn_ltree[i] = new zip_DeflateCT();\n zip_dyn_dtree = new Array(2 * zip_D_CODES + 1);\n for (i = 0; i < 2 * zip_D_CODES + 1; i++)\n zip_dyn_dtree[i] = new zip_DeflateCT();\n zip_static_ltree = new Array(zip_L_CODES + 2);\n for (i = 0; i < zip_L_CODES + 2; i++)\n zip_static_ltree[i] = new zip_DeflateCT();\n zip_static_dtree = new Array(zip_D_CODES);\n for (i = 0; i < zip_D_CODES; i++)\n zip_static_dtree[i] = new zip_DeflateCT();\n zip_bl_tree = new Array(2 * zip_BL_CODES + 1);\n for (i = 0; i < 2 * zip_BL_CODES + 1; i++)\n zip_bl_tree[i] = new zip_DeflateCT();\n zip_l_desc = new zip_DeflateTreeDesc();\n zip_d_desc = new zip_DeflateTreeDesc();\n zip_bl_desc = new zip_DeflateTreeDesc();\n zip_bl_count = new Array(zip_MAX_BITS + 1);\n zip_heap = new Array(2 * zip_L_CODES + 1);\n zip_depth = new Array(2 * zip_L_CODES + 1);\n zip_length_code = new Array(zip_MAX_MATCH - zip_MIN_MATCH + 1);\n zip_dist_code = new Array(512);\n zip_base_length = new Array(zip_LENGTH_CODES);\n zip_base_dist = new Array(zip_D_CODES);\n zip_flag_buf = new Array(parseInt(zip_LIT_BUFSIZE / 8));\n }\n\n function zip_deflate_end() {\n zip_free_queue = zip_qhead = zip_qtail = null;\n zip_outbuf = null;\n zip_window = null;\n zip_d_buf = null;\n zip_l_buf = null;\n zip_prev = null;\n zip_dyn_ltree = null;\n zip_dyn_dtree = null;\n zip_static_ltree = null;\n zip_static_dtree = null;\n zip_bl_tree = null;\n zip_l_desc = null;\n zip_d_desc = null;\n zip_bl_desc = null;\n zip_bl_count = null;\n zip_heap = null;\n zip_depth = null;\n zip_length_code = null;\n zip_dist_code = null;\n zip_base_length = null;\n zip_base_dist = null;\n zip_flag_buf = null;\n }\n\n function zip_reuse_queue(p) {\n p.next = zip_free_queue;\n zip_free_queue = p;\n }\n\n function zip_new_queue() {\n var p;\n\n if (zip_free_queue != null) {\n p = zip_free_queue;\n zip_free_queue = zip_free_queue.next;\n }\n else\n p = new zip_DeflateBuffer();\n p.next = null;\n p.len = p.off = 0;\n\n return p;\n }\n\n function zip_head1(i) {\n return zip_prev[zip_WSIZE + i];\n }\n\n function zip_head2(i, val) {\n return zip_prev[zip_WSIZE + i] = val;\n }\n\n /* put_byte is used for the compressed output, put_ubyte for the\n * uncompressed output. However unlzw() uses window for its\n * suffix table instead of its output buffer, so it does not use put_ubyte\n * (to be cleaned up).\n */\n function zip_put_byte(c) {\n zip_outbuf[zip_outoff + zip_outcnt++] = c;\n if (zip_outoff + zip_outcnt == zip_OUTBUFSIZ)\n zip_qoutbuf();\n }\n\n /* Output a 16 bit value, lsb first */\n function zip_put_short(w) {\n w &= 0xffff;\n if (zip_outoff + zip_outcnt < zip_OUTBUFSIZ - 2) {\n zip_outbuf[zip_outoff + zip_outcnt++] = (w & 0xff);\n zip_outbuf[zip_outoff + zip_outcnt++] = (w >>> 8);\n } else {\n zip_put_byte(w & 0xff);\n zip_put_byte(w >>> 8);\n }\n }\n\n /* ==========================================================================\n * Insert string s in the dictionary and set match_head to the previous head\n * of the hash chain (the most recent string with same hash key). Return\n * the previous length of the hash chain.\n * IN assertion: all calls to to INSERT_STRING are made with consecutive\n * input characters and the first MIN_MATCH bytes of s are valid\n * (except for the last MIN_MATCH-1 bytes of the input file).\n */\n function zip_INSERT_STRING() {\n zip_ins_h = ((zip_ins_h << zip_H_SHIFT)\n ^ (zip_window[zip_strstart + zip_MIN_MATCH - 1] & 0xff))\n & zip_HASH_MASK;\n zip_hash_head = zip_head1(zip_ins_h);\n zip_prev[zip_strstart & zip_WMASK] = zip_hash_head;\n zip_head2(zip_ins_h, zip_strstart);\n }\n\n /* Send a code of the given tree. c and tree must not have side effects */\n function zip_SEND_CODE(c, tree) {\n zip_send_bits(tree[c].fc, tree[c].dl);\n }\n\n /* Mapping from a distance to a distance code. dist is the distance - 1 and\n * must not have side effects. dist_code[256] and dist_code[257] are never\n * used.\n */\n function zip_D_CODE(dist) {\n return (dist < 256 ? zip_dist_code[dist]\n : zip_dist_code[256 + (dist >> 7)]) & 0xff;\n }\n\n /* ==========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\n function zip_SMALLER(tree, n, m) {\n return tree[n].fc < tree[m].fc ||\n (tree[n].fc == tree[m].fc && zip_depth[n] <= zip_depth[m]);\n }\n\n /* ==========================================================================\n * read string data\n */\n function zip_read_buff(buff, offset, n) {\n var i;\n for (i = 0; i < n && zip_deflate_pos < zip_deflate_data.length; i++)\n buff[offset + i] =\n zip_deflate_data.charCodeAt(zip_deflate_pos++) & 0xff;\n return i;\n }\n\n /* ==========================================================================\n * Initialize the \"longest match\" routines for a new file\n */\n function zip_lm_init() {\n var j;\n\n /* Initialize the hash table. */\n for (j = 0; j < zip_HASH_SIZE; j++)\n //\tzip_head2(j, zip_NIL);\n zip_prev[zip_WSIZE + j] = 0;\n /* prev will be initialized on the fly */\n\n /* Set the default configuration parameters:\n */\n zip_max_lazy_match = zip_configuration_table[zip_compr_level].max_lazy;\n zip_good_match = zip_configuration_table[zip_compr_level].good_length;\n if (!zip_FULL_SEARCH)\n zip_nice_match = zip_configuration_table[zip_compr_level].nice_length;\n zip_max_chain_length = zip_configuration_table[zip_compr_level].max_chain;\n\n zip_strstart = 0;\n zip_block_start = 0;\n\n zip_lookahead = zip_read_buff(zip_window, 0, 2 * zip_WSIZE);\n if (zip_lookahead <= 0) {\n zip_eofile = true;\n zip_lookahead = 0;\n return;\n }\n zip_eofile = false;\n /* Make sure that we always have enough lookahead. This is important\n * if input comes from a device such as a tty.\n */\n while (zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile)\n zip_fill_window();\n\n /* If lookahead < MIN_MATCH, ins_h is garbage, but this is\n * not important since only literal bytes will be emitted.\n */\n zip_ins_h = 0;\n for (j = 0; j < zip_MIN_MATCH - 1; j++) {\n // UPDATE_HASH(ins_h, window[j]);\n zip_ins_h = ((zip_ins_h << zip_H_SHIFT) ^ (zip_window[j] & 0xff)) & zip_HASH_MASK;\n }\n }\n\n /* ==========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n */\n function zip_longest_match(cur_match) {\n var chain_length = zip_max_chain_length; // max hash chain length\n var scanp = zip_strstart; // current string\n var matchp;\t\t// matched string\n var len;\t\t// length of current match\n var best_len = zip_prev_length;\t// best match length so far\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n var limit = (zip_strstart > zip_MAX_DIST ? zip_strstart - zip_MAX_DIST : zip_NIL);\n\n var strendp = zip_strstart + zip_MAX_MATCH;\n var scan_end1 = zip_window[scanp + best_len - 1];\n var scan_end = zip_window[scanp + best_len];\n\n /* Do not waste too much time if we already have a good match: */\n if (zip_prev_length >= zip_good_match)\n chain_length >>= 2;\n\n // Assert(encoder->strstart <= window_size-MIN_LOOKAHEAD, \"insufficient lookahead\");\n\n do {\n // Assert(cur_match < encoder->strstart, \"no future\");\n matchp = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2:\n */\n if (zip_window[matchp + best_len] != scan_end ||\n zip_window[matchp + best_len - 1] != scan_end1 ||\n zip_window[matchp] != zip_window[scanp] ||\n zip_window[++matchp] != zip_window[scanp + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scanp += 2;\n matchp++;\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n // eslint-disable-next-line no-empty\n do {\n } while (zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n zip_window[++scanp] == zip_window[++matchp] &&\n scanp < strendp);\n\n len = zip_MAX_MATCH - (strendp - scanp);\n scanp = strendp - zip_MAX_MATCH;\n\n if (len > best_len) {\n zip_match_start = cur_match;\n best_len = len;\n if (zip_FULL_SEARCH) {\n if (len >= zip_MAX_MATCH) break;\n } else {\n if (len >= zip_nice_match) break;\n }\n\n scan_end1 = zip_window[scanp + best_len - 1];\n scan_end = zip_window[scanp + best_len];\n }\n } while ((cur_match = zip_prev[cur_match & zip_WMASK]) > limit\n && --chain_length != 0);\n\n return best_len;\n }\n\n /* ==========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead, and sets eofile if end of input file.\n * IN assertion: lookahead < MIN_LOOKAHEAD && strstart + lookahead > 0\n * OUT assertions: at least one byte has been read, or eofile is set;\n * file reads are performed for at least two bytes (required for the\n * translate_eol option).\n */\n function zip_fill_window() {\n var n, m;\n\n // Amount of free space at the end of the window.\n var more = zip_window_size - zip_lookahead - zip_strstart;\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (more == -1) {\n /* Very unlikely, but possible on 16 bit machine if strstart == 0\n * and lookahead == 1 (input done one byte at time)\n */\n more--;\n } else if (zip_strstart >= zip_WSIZE + zip_MAX_DIST) {\n /* By the IN assertion, the window is not empty so we can't confuse\n * more == 0 with more == 64K on a 16 bit machine.\n */\n //\tAssert(window_size == (ulg)2*WSIZE, \"no sliding with BIG_MEM\");\n\n //\tSystem.arraycopy(window, WSIZE, window, 0, WSIZE);\n for (n = 0; n < zip_WSIZE; n++)\n zip_window[n] = zip_window[n + zip_WSIZE];\n\n zip_match_start -= zip_WSIZE;\n zip_strstart -= zip_WSIZE; /* we now have strstart >= MAX_DIST: */\n zip_block_start -= zip_WSIZE;\n\n for (n = 0; n < zip_HASH_SIZE; n++) {\n m = zip_head1(n);\n zip_head2(n, m >= zip_WSIZE ? m - zip_WSIZE : zip_NIL);\n }\n for (n = 0; n < zip_WSIZE; n++) {\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n m = zip_prev[n];\n zip_prev[n] = (m >= zip_WSIZE ? m - zip_WSIZE : zip_NIL);\n }\n more += zip_WSIZE;\n }\n // At this point, more >= 2\n if (!zip_eofile) {\n n = zip_read_buff(zip_window, zip_strstart + zip_lookahead, more);\n if (n <= 0)\n zip_eofile = true;\n else\n zip_lookahead += n;\n }\n }\n\n /* ==========================================================================\n * Processes a new input file and return its compressed length. This\n * function does not perform lazy evaluationof matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\n function zip_deflate_fast() {\n while (zip_lookahead != 0 && zip_qhead == null) {\n var flush; // set if current block must be flushed\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n zip_INSERT_STRING();\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (zip_hash_head != zip_NIL &&\n zip_strstart - zip_hash_head <= zip_MAX_DIST) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n zip_match_length = zip_longest_match(zip_hash_head);\n /* longest_match() sets match_start */\n if (zip_match_length > zip_lookahead)\n zip_match_length = zip_lookahead;\n }\n if (zip_match_length >= zip_MIN_MATCH) {\n //\t check_match(strstart, match_start, match_length);\n\n flush = zip_ct_tally(zip_strstart - zip_match_start,\n zip_match_length - zip_MIN_MATCH);\n zip_lookahead -= zip_match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (zip_match_length <= zip_max_lazy_match) {\n zip_match_length--; // string at strstart already in hash table\n do {\n zip_strstart++;\n zip_INSERT_STRING();\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH\n * these bytes are garbage, but it does not matter since\n * the next lookahead bytes will be emitted as literals.\n */\n } while (--zip_match_length != 0);\n zip_strstart++;\n } else {\n zip_strstart += zip_match_length;\n zip_match_length = 0;\n zip_ins_h = zip_window[zip_strstart] & 0xff;\n //\t\tUPDATE_HASH(ins_h, window[strstart + 1]);\n zip_ins_h = ((zip_ins_h << zip_H_SHIFT) ^ (zip_window[zip_strstart + 1] & 0xff)) & zip_HASH_MASK;\n\n //#if MIN_MATCH != 3\n //\t\tCall UPDATE_HASH() MIN_MATCH-3 more times\n //#endif\n\n }\n } else {\n /* No match, output a literal byte */\n flush = zip_ct_tally(0, zip_window[zip_strstart] & 0xff);\n zip_lookahead--;\n zip_strstart++;\n }\n if (flush) {\n zip_flush_block(0);\n zip_block_start = zip_strstart;\n }\n\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n while (zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile)\n zip_fill_window();\n }\n }\n\n function zip_deflate_better() {\n /* Process the input block. */\n while (zip_lookahead != 0 && zip_qhead == null) {\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n zip_INSERT_STRING();\n\n /* Find the longest match, discarding those <= prev_length.\n */\n zip_prev_length = zip_match_length;\n zip_prev_match = zip_match_start;\n zip_match_length = zip_MIN_MATCH - 1;\n\n if (zip_hash_head != zip_NIL &&\n zip_prev_length < zip_max_lazy_match &&\n zip_strstart - zip_hash_head <= zip_MAX_DIST) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n zip_match_length = zip_longest_match(zip_hash_head);\n /* longest_match() sets match_start */\n if (zip_match_length > zip_lookahead)\n zip_match_length = zip_lookahead;\n\n /* Ignore a length 3 match if it is too distant: */\n if (zip_match_length == zip_MIN_MATCH &&\n zip_strstart - zip_match_start > zip_TOO_FAR) {\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n zip_match_length--;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (zip_prev_length >= zip_MIN_MATCH &&\n zip_match_length <= zip_prev_length) {\n var flush; // set if current block must be flushed\n\n //\t check_match(strstart - 1, prev_match, prev_length);\n flush = zip_ct_tally(zip_strstart - 1 - zip_prev_match,\n zip_prev_length - zip_MIN_MATCH);\n\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted.\n */\n zip_lookahead -= zip_prev_length - 1;\n zip_prev_length -= 2;\n do {\n zip_strstart++;\n zip_INSERT_STRING();\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead. If lookahead < MIN_MATCH\n * these bytes are garbage, but it does not matter since the\n * next lookahead bytes will always be emitted as literals.\n */\n } while (--zip_prev_length != 0);\n zip_match_available = 0;\n zip_match_length = zip_MIN_MATCH - 1;\n zip_strstart++;\n if (flush) {\n zip_flush_block(0);\n zip_block_start = zip_strstart;\n }\n } else if (zip_match_available != 0) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n if (zip_ct_tally(0, zip_window[zip_strstart - 1] & 0xff)) {\n zip_flush_block(0);\n zip_block_start = zip_strstart;\n }\n zip_strstart++;\n zip_lookahead--;\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n zip_match_available = 1;\n zip_strstart++;\n zip_lookahead--;\n }\n\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n while (zip_lookahead < zip_MIN_LOOKAHEAD && !zip_eofile)\n zip_fill_window();\n }\n }\n\n function zip_init_deflate() {\n if (zip_eofile)\n return;\n zip_bi_buf = 0;\n zip_bi_valid = 0;\n zip_ct_init();\n zip_lm_init();\n\n zip_qhead = null;\n zip_outcnt = 0;\n zip_outoff = 0;\n\n if (zip_compr_level <= 3) {\n zip_prev_length = zip_MIN_MATCH - 1;\n zip_match_length = 0;\n }\n else {\n zip_match_length = zip_MIN_MATCH - 1;\n zip_match_available = 0;\n }\n\n zip_complete = false;\n }\n\n /* ==========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\n function zip_deflate_internal(buff, off, buff_size) {\n var n;\n\n if (!zip_initflag) {\n zip_init_deflate();\n zip_initflag = true;\n if (zip_lookahead == 0) { // empty\n zip_complete = true;\n return 0;\n }\n }\n\n if ((n = zip_qcopy(buff, off, buff_size)) == buff_size)\n return buff_size;\n\n if (zip_complete)\n return n;\n\n if (zip_compr_level <= 3) // optimized for speed\n zip_deflate_fast();\n else\n zip_deflate_better();\n if (zip_lookahead == 0) {\n if (zip_match_available != 0)\n zip_ct_tally(0, zip_window[zip_strstart - 1] & 0xff);\n zip_flush_block(1);\n zip_complete = true;\n }\n return n + zip_qcopy(buff, n + off, buff_size - n);\n }\n\n function zip_qcopy(buff, off, buff_size) {\n var n, i, j;\n\n n = 0;\n while (zip_qhead != null && n < buff_size) {\n i = buff_size - n;\n if (i > zip_qhead.len)\n i = zip_qhead.len;\n // System.arraycopy(qhead.ptr, qhead.off, buff, off + n, i);\n for (j = 0; j < i; j++)\n buff[off + n + j] = zip_qhead.ptr[zip_qhead.off + j];\n\n zip_qhead.off += i;\n zip_qhead.len -= i;\n n += i;\n if (zip_qhead.len == 0) {\n var p;\n p = zip_qhead;\n zip_qhead = zip_qhead.next;\n zip_reuse_queue(p);\n }\n }\n\n if (n == buff_size)\n return n;\n\n if (zip_outoff < zip_outcnt) {\n i = buff_size - n;\n if (i > zip_outcnt - zip_outoff)\n i = zip_outcnt - zip_outoff;\n // System.arraycopy(outbuf, outoff, buff, off + n, i);\n for (j = 0; j < i; j++)\n buff[off + n + j] = zip_outbuf[zip_outoff + j];\n zip_outoff += i;\n n += i;\n if (zip_outcnt == zip_outoff)\n zip_outcnt = zip_outoff = 0;\n }\n return n;\n }\n\n /* ==========================================================================\n * Allocate the match buffer, initialize the various tables and save the\n * location of the internal file attribute (ascii/binary) and method\n * (DEFLATE/STORE).\n */\n function zip_ct_init() {\n var n;\t// iterates over tree elements\n var bits;\t// bit counter\n var length;\t// length value\n var code;\t// code value\n var dist;\t// distance index\n\n if (zip_static_dtree[0].dl != 0) return; // ct_init already called\n\n zip_l_desc.dyn_tree = zip_dyn_ltree;\n zip_l_desc.static_tree = zip_static_ltree;\n zip_l_desc.extra_bits = zip_extra_lbits;\n zip_l_desc.extra_base = zip_LITERALS + 1;\n zip_l_desc.elems = zip_L_CODES;\n zip_l_desc.max_length = zip_MAX_BITS;\n zip_l_desc.max_code = 0;\n\n zip_d_desc.dyn_tree = zip_dyn_dtree;\n zip_d_desc.static_tree = zip_static_dtree;\n zip_d_desc.extra_bits = zip_extra_dbits;\n zip_d_desc.extra_base = 0;\n zip_d_desc.elems = zip_D_CODES;\n zip_d_desc.max_length = zip_MAX_BITS;\n zip_d_desc.max_code = 0;\n\n zip_bl_desc.dyn_tree = zip_bl_tree;\n zip_bl_desc.static_tree = null;\n zip_bl_desc.extra_bits = zip_extra_blbits;\n zip_bl_desc.extra_base = 0;\n zip_bl_desc.elems = zip_BL_CODES;\n zip_bl_desc.max_length = zip_MAX_BL_BITS;\n zip_bl_desc.max_code = 0;\n\n // Initialize the mapping length (0..255) -> length code (0..28)\n length = 0;\n for (code = 0; code < zip_LENGTH_CODES - 1; code++) {\n zip_base_length[code] = length;\n for (n = 0; n < (1 << zip_extra_lbits[code]); n++)\n zip_length_code[length++] = code;\n }\n // Assert (length == 256, \"ct_init: length != 256\");\n\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n zip_length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n zip_base_dist[code] = dist;\n for (n = 0; n < (1 << zip_extra_dbits[code]); n++) {\n zip_dist_code[dist++] = code;\n }\n }\n // Assert (dist == 256, \"ct_init: dist != 256\");\n dist >>= 7; // from now on, all distances are divided by 128\n for (; code < zip_D_CODES; code++) {\n zip_base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (zip_extra_dbits[code] - 7)); n++)\n zip_dist_code[256 + dist++] = code;\n }\n // Assert (dist == 256, \"ct_init: 256+dist != 512\");\n\n // Construct the codes of the static literal tree\n for (bits = 0; bits <= zip_MAX_BITS; bits++)\n zip_bl_count[bits] = 0;\n n = 0;\n while (n <= 143) { zip_static_ltree[n++].dl = 8; zip_bl_count[8]++; }\n while (n <= 255) { zip_static_ltree[n++].dl = 9; zip_bl_count[9]++; }\n while (n <= 279) { zip_static_ltree[n++].dl = 7; zip_bl_count[7]++; }\n while (n <= 287) { zip_static_ltree[n++].dl = 8; zip_bl_count[8]++; }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n zip_gen_codes(zip_static_ltree, zip_L_CODES + 1);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < zip_D_CODES; n++) {\n zip_static_dtree[n].dl = 5;\n zip_static_dtree[n].fc = zip_bi_reverse(n, 5);\n }\n\n // Initialize the first block of the first file:\n zip_init_block();\n }\n\n /* ==========================================================================\n * Initialize a new block.\n */\n function zip_init_block() {\n var n; // iterates over tree elements\n\n // Initialize the trees.\n for (n = 0; n < zip_L_CODES; n++) zip_dyn_ltree[n].fc = 0;\n for (n = 0; n < zip_D_CODES; n++) zip_dyn_dtree[n].fc = 0;\n for (n = 0; n < zip_BL_CODES; n++) zip_bl_tree[n].fc = 0;\n\n zip_dyn_ltree[zip_END_BLOCK].fc = 1;\n zip_opt_len = zip_static_len = 0;\n zip_last_lit = zip_last_dist = zip_last_flags = 0;\n zip_flags = 0;\n zip_flag_bit = 1;\n }\n\n /* ==========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\n function zip_pqdownheap(\n tree,\t// the tree to restore\n k) {\t// node to move down\n var v = zip_heap[k];\n var j = k << 1;\t// left son of k\n\n while (j <= zip_heap_len) {\n // Set j to the smallest of the two sons:\n if (j < zip_heap_len &&\n zip_SMALLER(tree, zip_heap[j + 1], zip_heap[j]))\n j++;\n\n // Exit if v is smaller than both sons\n if (zip_SMALLER(tree, v, zip_heap[j]))\n break;\n\n // Exchange v with the smallest son\n zip_heap[k] = zip_heap[j];\n k = j;\n\n // And continue down the tree, setting j to the left son of k\n j <<= 1;\n }\n zip_heap[k] = v;\n }\n\n /* ==========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\n function zip_gen_bitlen(desc) { // the tree descriptor\n var tree = desc.dyn_tree;\n var extra = desc.extra_bits;\n var base = desc.extra_base;\n var max_code = desc.max_code;\n var max_length = desc.max_length;\n var stree = desc.static_tree;\n var h;\t\t// heap index\n var n, m;\t\t// iterate over the tree elements\n var bits;\t\t// bit length\n var xbits;\t\t// extra bits\n var f;\t\t// frequency\n var overflow = 0;\t// number of elements with bit length too large\n\n for (bits = 0; bits <= zip_MAX_BITS; bits++)\n zip_bl_count[bits] = 0;\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[zip_heap[zip_heap_max]].dl = 0; // root of the heap\n\n for (h = zip_heap_max + 1; h < zip_HEAP_SIZE; h++) {\n n = zip_heap[h];\n bits = tree[tree[n].dl].dl + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n].dl = bits;\n // We overwrite tree[n].dl which is no longer needed\n\n if (n > max_code)\n continue; // not a leaf node\n\n zip_bl_count[bits]++;\n xbits = 0;\n if (n >= base)\n xbits = extra[n - base];\n f = tree[n].fc;\n zip_opt_len += f * (bits + xbits);\n if (stree != null)\n zip_static_len += f * (stree[n].dl + xbits);\n }\n if (overflow == 0)\n return;\n\n // This happens for example on obj2 and pic of the Calgary corpus\n\n // Find the first bit length which could increase:\n do {\n bits = max_length - 1;\n while (zip_bl_count[bits] == 0)\n bits--;\n zip_bl_count[bits]--;\t\t// move one leaf down the tree\n zip_bl_count[bits + 1] += 2;\t// move one overflow item as its brother\n zip_bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits != 0; bits--) {\n n = zip_bl_count[bits];\n while (n != 0) {\n m = zip_heap[--h];\n if (m > max_code)\n continue;\n if (tree[m].dl != bits) {\n zip_opt_len += (bits - tree[m].dl) * tree[m].fc;\n tree[m].fc = bits;\n }\n n--;\n }\n }\n }\n\n /* ==========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\n function zip_gen_codes(tree,\t// the tree to decorate\n max_code) {\t// largest code with non zero frequency\n var next_code = new Array(zip_MAX_BITS + 1); // next code value for each bit length\n var code = 0;\t\t// running code value\n var bits;\t\t\t// bit index\n var n;\t\t\t// code index\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= zip_MAX_BITS; bits++) {\n code = ((code + zip_bl_count[bits - 1]) << 1);\n next_code[bits] = code;\n }\n\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n // Assert (code + encoder->bl_count[MAX_BITS]-1 == (1<> 1; n >= 1; n--)\n zip_pqdownheap(tree, n);\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n do {\n n = zip_heap[zip_SMALLEST];\n zip_heap[zip_SMALLEST] = zip_heap[zip_heap_len--];\n zip_pqdownheap(tree, zip_SMALLEST);\n\n m = zip_heap[zip_SMALLEST]; // m = node of next least frequency\n\n // keep the nodes sorted by frequency\n zip_heap[--zip_heap_max] = n;\n zip_heap[--zip_heap_max] = m;\n\n // Create a new node father of n and m\n tree[node].fc = tree[n].fc + tree[m].fc;\n //\tdepth[node] = (char)(MAX(depth[n], depth[m]) + 1);\n if (zip_depth[n] > zip_depth[m] + 1)\n zip_depth[node] = zip_depth[n];\n else\n zip_depth[node] = zip_depth[m] + 1;\n tree[n].dl = tree[m].dl = node;\n\n // and insert the new node in the heap\n zip_heap[zip_SMALLEST] = node++;\n zip_pqdownheap(tree, zip_SMALLEST);\n\n } while (zip_heap_len >= 2);\n\n zip_heap[--zip_heap_max] = zip_heap[zip_SMALLEST];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n zip_gen_bitlen(desc);\n\n // The field len is now set, we can generate the bit codes\n zip_gen_codes(tree, max_code);\n }\n\n /* ==========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree. Updates opt_len to take into account the repeat\n * counts. (The contribution of the bit length codes will be added later\n * during the construction of bl_tree.)\n */\n function zip_scan_tree(tree,// the tree to be scanned\n max_code) { // and its largest code of non zero frequency\n var n;\t\t\t// iterates over all tree elements\n var prevlen = -1;\t\t// last emitted length\n var curlen;\t\t\t// length of current code\n var nextlen = tree[0].dl;\t// length of next code\n var count = 0;\t\t// repeat count of the current code\n var max_count = 7;\t\t// max repeat count\n var min_count = 4;\t\t// min repeat count\n\n if (nextlen == 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[max_code + 1].dl = 0xffff; // guard\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[n + 1].dl;\n if (++count < max_count && curlen == nextlen)\n continue;\n else if (count < min_count)\n zip_bl_tree[curlen].fc += count;\n else if (curlen != 0) {\n if (curlen != prevlen)\n zip_bl_tree[curlen].fc++;\n zip_bl_tree[zip_REP_3_6].fc++;\n } else if (count <= 10)\n zip_bl_tree[zip_REPZ_3_10].fc++;\n else\n zip_bl_tree[zip_REPZ_11_138].fc++;\n count = 0; prevlen = curlen;\n if (nextlen == 0) {\n max_count = 138;\n min_count = 3;\n } else if (curlen == nextlen) {\n max_count = 6;\n min_count = 3;\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n }\n\n /* ==========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\n function zip_send_tree(tree, // the tree to be scanned\n max_code) { // and its largest code of non zero frequency\n var n;\t\t\t// iterates over all tree elements\n var prevlen = -1;\t\t// last emitted length\n var curlen;\t\t\t// length of current code\n var nextlen = tree[0].dl;\t// length of next code\n var count = 0;\t\t// repeat count of the current code\n var max_count = 7;\t\t// max repeat count\n var min_count = 4;\t\t// min repeat count\n\n /* tree[max_code+1].dl = -1; */ /* guard already set */\n if (nextlen == 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[n + 1].dl;\n if (++count < max_count && curlen == nextlen) {\n continue;\n } else if (count < min_count) {\n do { zip_SEND_CODE(curlen, zip_bl_tree); } while (--count != 0);\n } else if (curlen != 0) {\n if (curlen != prevlen) {\n zip_SEND_CODE(curlen, zip_bl_tree);\n count--;\n }\n // Assert(count >= 3 && count <= 6, \" 3_6?\");\n zip_SEND_CODE(zip_REP_3_6, zip_bl_tree);\n zip_send_bits(count - 3, 2);\n } else if (count <= 10) {\n zip_SEND_CODE(zip_REPZ_3_10, zip_bl_tree);\n zip_send_bits(count - 3, 3);\n } else {\n zip_SEND_CODE(zip_REPZ_11_138, zip_bl_tree);\n zip_send_bits(count - 11, 7);\n }\n count = 0;\n prevlen = curlen;\n if (nextlen == 0) {\n max_count = 138;\n min_count = 3;\n } else if (curlen == nextlen) {\n max_count = 6;\n min_count = 3;\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n }\n\n /* ==========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\n function zip_build_bl_tree() {\n var max_blindex; // index of last bit length code of non zero freq\n\n // Determine the bit length frequencies for literal and distance trees\n zip_scan_tree(zip_dyn_ltree, zip_l_desc.max_code);\n zip_scan_tree(zip_dyn_dtree, zip_d_desc.max_code);\n\n // Build the bit length tree:\n zip_build_tree(zip_bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = zip_BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n if (zip_bl_tree[zip_bl_order[max_blindex]].dl != 0) break;\n }\n /* Update opt_len to include the bit length tree and counts */\n zip_opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n // Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n //\t encoder->opt_len, encoder->static_len));\n\n return max_blindex;\n }\n\n /* ==========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\n function zip_send_all_trees(lcodes, dcodes, blcodes) { // number of codes for each tree\n var rank; // index in bl_order\n\n // Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n // Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n //\t \"too many codes\");\n // Tracev((stderr, \"\\nbl counts: \"));\n zip_send_bits(lcodes - 257, 5); // not +255 as stated in appnote.txt\n zip_send_bits(dcodes - 1, 5);\n zip_send_bits(blcodes - 4, 4); // not -3 as stated in appnote.txt\n for (rank = 0; rank < blcodes; rank++) {\n // Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n zip_send_bits(zip_bl_tree[zip_bl_order[rank]].dl, 3);\n }\n\n // send the literal tree\n zip_send_tree(zip_dyn_ltree, lcodes - 1);\n\n // send the distance tree\n zip_send_tree(zip_dyn_dtree, dcodes - 1);\n }\n\n /* ==========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\n function zip_flush_block(eof) { // true if this is the last block for a file\n var opt_lenb, static_lenb; // opt_len and static_len in bytes\n var max_blindex;\t// index of last bit length code of non zero freq\n var stored_len;\t// length of input block\n\n stored_len = zip_strstart - zip_block_start;\n zip_flag_buf[zip_last_flags] = zip_flags; // Save the flags for the last 8 items\n\n // Construct the literal and distance trees\n zip_build_tree(zip_l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\",\n //\t encoder->opt_len, encoder->static_len));\n\n zip_build_tree(zip_d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\",\n //\t encoder->opt_len, encoder->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = zip_build_bl_tree();\n\n // Determine the best encoding. Compute first the block length in bytes\n opt_lenb = (zip_opt_len + 3 + 7) >> 3;\n static_lenb = (zip_static_len + 3 + 7) >> 3;\n\n // Trace((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u dist %u \",\n //\t opt_lenb, encoder->opt_len,\n //\t static_lenb, encoder->static_len, stored_len,\n //\t encoder->last_lit, encoder->last_dist));\n\n if (static_lenb <= opt_lenb)\n opt_lenb = static_lenb;\n if (stored_len + 4 <= opt_lenb // 4: two words for the lengths\n && zip_block_start >= 0) {\n var i;\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n zip_send_bits((zip_STORED_BLOCK << 1) + eof, 3); /* send block type */\n zip_bi_windup();\t\t /* align on byte boundary */\n zip_put_short(stored_len);\n zip_put_short(~stored_len);\n\n // copy block\n /*\n p = &window[block_start];\n for(i = 0; i < stored_len; i++)\n put_byte(p[i]);\n */\n for (i = 0; i < stored_len; i++)\n zip_put_byte(zip_window[zip_block_start + i]);\n\n } else if (static_lenb == opt_lenb) {\n zip_send_bits((zip_STATIC_TREES << 1) + eof, 3);\n zip_compress_block(zip_static_ltree, zip_static_dtree);\n } else {\n zip_send_bits((zip_DYN_TREES << 1) + eof, 3);\n zip_send_all_trees(zip_l_desc.max_code + 1,\n zip_d_desc.max_code + 1,\n max_blindex + 1);\n zip_compress_block(zip_dyn_ltree, zip_dyn_dtree);\n }\n\n zip_init_block();\n\n if (eof != 0)\n zip_bi_windup();\n }\n\n /* ==========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\n function zip_ct_tally(\n dist, // distance of matched string\n lc) { // match length-MIN_MATCH or unmatched char (if dist==0)\n zip_l_buf[zip_last_lit++] = lc;\n if (dist == 0) {\n // lc is the unmatched char\n zip_dyn_ltree[lc].fc++;\n } else {\n // Here, lc is the match length - MIN_MATCH\n dist--;\t\t // dist = match distance - 1\n // Assert((ush)dist < (ush)MAX_DIST &&\n //\t (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n //\t (ush)D_CODE(dist) < (ush)D_CODES, \"ct_tally: bad match\");\n\n zip_dyn_ltree[zip_length_code[lc] + zip_LITERALS + 1].fc++;\n zip_dyn_dtree[zip_D_CODE(dist)].fc++;\n\n zip_d_buf[zip_last_dist++] = dist;\n zip_flags |= zip_flag_bit;\n }\n zip_flag_bit <<= 1;\n\n // Output the flags if they fill a byte\n if ((zip_last_lit & 7) == 0) {\n zip_flag_buf[zip_last_flags++] = zip_flags;\n zip_flags = 0;\n zip_flag_bit = 1;\n }\n // Try to guess if it is profitable to stop the current block here\n if (zip_compr_level > 2 && (zip_last_lit & 0xfff) == 0) {\n // Compute an upper bound for the compressed length\n var out_length = zip_last_lit * 8;\n var in_length = zip_strstart - zip_block_start;\n var dcode;\n\n for (dcode = 0; dcode < zip_D_CODES; dcode++) {\n out_length += zip_dyn_dtree[dcode].fc * (5 + zip_extra_dbits[dcode]);\n }\n out_length >>= 3;\n // Trace((stderr,\"\\nlast_lit %u, last_dist %u, in %ld, out ~%ld(%ld%%) \",\n //\t encoder->last_lit, encoder->last_dist, in_length, out_length,\n //\t 100L - out_length*100L/in_length));\n if (zip_last_dist < parseInt(zip_last_lit / 2) &&\n out_length < parseInt(in_length / 2))\n return true;\n }\n return (zip_last_lit == zip_LIT_BUFSIZE - 1 ||\n zip_last_dist == zip_DIST_BUFSIZE);\n /* We avoid equality with LIT_BUFSIZE because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n }\n\n /* ==========================================================================\n * Send the block data compressed using the given Huffman trees\n */\n function zip_compress_block(\n ltree,\t// literal tree\n dtree) {\t// distance tree\n var dist;\t\t// distance of matched string\n var lc;\t\t// match length or unmatched char (if dist == 0)\n var lx = 0;\t\t// running index in l_buf\n var dx = 0;\t\t// running index in d_buf\n var fx = 0;\t\t// running index in flag_buf\n var flag = 0;\t// current flags\n var code;\t\t// the code to send\n var extra;\t\t// number of extra bits to send\n\n if (zip_last_lit != 0) do {\n if ((lx & 7) == 0)\n flag = zip_flag_buf[fx++];\n lc = zip_l_buf[lx++] & 0xff;\n if ((flag & 1) == 0) {\n zip_SEND_CODE(lc, ltree); /* send a literal byte */\n //\tTracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n // Here, lc is the match length - MIN_MATCH\n code = zip_length_code[lc];\n zip_SEND_CODE(code + zip_LITERALS + 1, ltree); // send the length code\n extra = zip_extra_lbits[code];\n if (extra != 0) {\n lc -= zip_base_length[code];\n zip_send_bits(lc, extra); // send the extra length bits\n }\n dist = zip_d_buf[dx++];\n // Here, dist is the match distance - 1\n code = zip_D_CODE(dist);\n //\tAssert (code < D_CODES, \"bad d_code\");\n\n zip_SEND_CODE(code, dtree);\t // send the distance code\n extra = zip_extra_dbits[code];\n if (extra != 0) {\n dist -= zip_base_dist[code];\n zip_send_bits(dist, extra); // send the extra distance bits\n }\n } // literal or match pair ?\n flag >>= 1;\n } while (lx < zip_last_lit);\n\n zip_SEND_CODE(zip_END_BLOCK, ltree);\n }\n\n /* ==========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\n var zip_Buf_size = 16; // bit size of bi_buf\n function zip_send_bits(\n value,\t// value to send\n length) {\t// number of bits\n /* If not enough room in bi_buf, use (valid) bits from bi_buf and\n * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))\n * unused bits in value.\n */\n if (zip_bi_valid > zip_Buf_size - length) {\n zip_bi_buf |= (value << zip_bi_valid);\n zip_put_short(zip_bi_buf);\n zip_bi_buf = (value >> (zip_Buf_size - zip_bi_valid));\n zip_bi_valid += length - zip_Buf_size;\n } else {\n zip_bi_buf |= value << zip_bi_valid;\n zip_bi_valid += length;\n }\n }\n\n /* ==========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\n function zip_bi_reverse(\n code,\t// the value to invert\n len) {\t// its bit length\n var res = 0;\n do {\n res |= code & 1;\n code >>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >> 1;\n }\n\n /* ==========================================================================\n * Write out any remaining bits in an incomplete byte.\n */\n function zip_bi_windup() {\n if (zip_bi_valid > 8) {\n zip_put_short(zip_bi_buf);\n } else if (zip_bi_valid > 0) {\n zip_put_byte(zip_bi_buf);\n }\n zip_bi_buf = 0;\n zip_bi_valid = 0;\n }\n\n function zip_qoutbuf() {\n if (zip_outcnt != 0) {\n var q, i;\n q = zip_new_queue();\n if (zip_qhead == null)\n zip_qhead = zip_qtail = q;\n else\n zip_qtail = zip_qtail.next = q;\n q.len = zip_outcnt - zip_outoff;\n // System.arraycopy(zip_outbuf, zip_outoff, q.ptr, 0, q.len);\n for (i = 0; i < q.len; i++)\n q.ptr[i] = zip_outbuf[zip_outoff + i];\n zip_outcnt = zip_outoff = 0;\n }\n }\n\n return function deflate(str, level) {\n var i, j;\n\n zip_deflate_data = str;\n zip_deflate_pos = 0;\n if (typeof level == \"undefined\")\n level = zip_DEFAULT_LEVEL;\n zip_deflate_start(level);\n\n var buff = new Array(1024);\n var aout = [];\n while ((i = zip_deflate_internal(buff, 0, buff.length)) > 0) {\n var cbuf = new Array(i);\n for (j = 0; j < i; j++) {\n cbuf[j] = String.fromCharCode(buff[j]);\n }\n aout[aout.length] = cbuf.join(\"\");\n }\n zip_deflate_data = null; // G.C.\n return aout.join(\"\");\n };\n\n})();","export * from './vue';\nexport * from './i18n';\nexport * from './deflate';\nexport * from './plantuml';\n\nexport function tryGet(obj: any, ...path: string[]) {\n path = path || [];\n return path.reduce((prev, curr) => {\n if (!prev)\n return undefined;\n\n return prev[curr];\n }, obj);\n}\n\nexport function sort(arr: Array, propFunc: (x: T) => any, desc = false) {\n return arr.sort((x, y) => {\n x = propFunc(x);\n y = propFunc(y);\n\n let res = 0;\n\n if (x > y) res = 1;\n else if (x < y) res = -1;\n\n return desc ? -res : res;\n })\n}","import { ConfigService } from \"@/services/config-service\";\nimport { Vaultifier, VaultItem } from \"vaultifier\";\nimport { NetworkResponse } from \"vaultifier/dist/module/communicator\";\nimport Vue from \"vue\";\n\nexport enum ActionMethod {\n // triggers an internal event\n INTERNAL = 'INTERNAL',\n // opens a new tab\n OPEN = 'OPEN',\n // opens a URL in the same tab\n HREF = 'HREF',\n // issues a HTTP POST request\n POST = 'POST',\n // issues a HTTP PUT request\n PUT = 'PUT',\n // issues a HTTP GET request\n GET = 'GET',\n}\n\nexport interface Action {\n key: string,\n title: string,\n url: string,\n usesAuth: boolean,\n method: ActionMethod,\n}\n\nexport const executeAction = async (action: Action, vaultifier: Vaultifier, vue?: Vue, item?: VaultItem): Promise => {\n const { key, title, method, usesAuth } = action;\n let { url } = action;\n\n const baseUrlPlaceholder = '{{base_url}}';\n const vaultItemIdPlaceholder = '{{item_id}}';\n\n if (item)\n url = url.replace(vaultItemIdPlaceholder, item.id.toString());\n\n let returnValue: NetworkResponse | undefined = undefined;\n\n // method `OPEN` just opens a new tab\n if (method === ActionMethod.OPEN) {\n window.open(url, '_blank');\n }\n else if (method === ActionMethod.HREF) {\n window.location.href = url;\n }\n else\n try {\n if (url.indexOf(baseUrlPlaceholder) !== -1) {\n const vaultifierUrl = url.replace(baseUrlPlaceholder, '');\n\n if (method === ActionMethod.POST)\n returnValue = await vaultifier.post(vaultifierUrl, usesAuth);\n else if (method === ActionMethod.PUT)\n returnValue = await vaultifier.put(vaultifierUrl, usesAuth);\n else if (method === ActionMethod.GET)\n returnValue = await vaultifier.get(vaultifierUrl, usesAuth);\n else\n throw new Error(`Invalid method for action ${key}`);\n }\n else {\n const req = await fetch(url, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n },\n });\n\n if (req.status >= 400)\n throw new Error('Action did not result in a valid HTTP status code');\n }\n\n if (vue)\n vue.$bvModal.msgBoxOk(`The action \"${title}\" was executed succssfully.`);\n } catch {\n if (vue)\n vue.$bvModal.msgBoxOk(`The action \"${title}\" has failed.`);\n }\n\n return returnValue;\n}\n\nexport const getActionsFromConfig = (...path: string[]): Action[] => {\n const actionsObj = ConfigService.get(...path);\n const arr: Action[] = []\n\n for (const key in actionsObj) {\n arr.push({\n usesAuth: false,\n ...actionsObj[key],\n key,\n });\n }\n\n return arr;\n}","import { tryGet } from '../utils';\n\n// @ts-ignore\nexport * as PACKAGE from '../../package.json';\n\nexport class ConfigService {\n\n static INSTANCE: ConfigService;\n\n private static async fetchExternalConfig(): Promise {\n const configFilename = `oyd-databud.config.json`;\n\n try {\n const res = await fetch(`./config/${configFilename}`);\n const json = await res.json();\n\n return json;\n } catch (e) {\n return {};\n }\n }\n\n static async initialize(): Promise {\n if (!ConfigService.INSTANCE) {\n const config = await ConfigService.fetchExternalConfig();\n ConfigService.INSTANCE = new ConfigService(config);\n }\n\n return ConfigService.getInstance();\n }\n\n static getInstance(): ConfigService {\n return ConfigService.INSTANCE;\n }\n\n static get(...path: string[]) {\n return ConfigService.getInstance().get(...path);\n }\n\n private constructor(public config: any) { }\n\n private get(...path: string[]) {\n return tryGet(this.config, ...path);\n }\n}","import MainView from '../views/MainView.vue';\nimport SchemaView from '../views/SchemaView.vue';\nimport ItemView from '../views/ItemView.vue';\n\nexport enum RoutePath {\n MAIN_VIEW = '/',\n SCHEMA_VIEW = '/schema',\n ITEM_VIEW = '/item',\n}\n\nexport enum RouteParams {\n SCHEMA_DRI = 'schemaDri',\n ITEM_ID = 'itemId',\n}\n\nexport const routes = [\n {\n path: RoutePath.MAIN_VIEW,\n component: MainView\n },\n {\n path: RoutePath.SCHEMA_VIEW,\n component: SchemaView,\n props: () => {\n return { schemaDri: new URL(window.location.href).searchParams.get(RouteParams.SCHEMA_DRI) }\n },\n },\n {\n path: RoutePath.ITEM_VIEW,\n component: ItemView,\n props: () => {\n return { itemId: new URL(window.location.href).searchParams.get(RouteParams.ITEM_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\nimport Vue from 'vue';\nimport { IFetchVaultItems, IStore, Language } from '../store';\nimport List, { RefreshObj } from '../components/List.vue';\nimport CustomButton from '../components/Button.vue';\nimport ChartVisualizer from '../components/ChartVisualizer.vue';\n// soyabud: unused here\n// import FormEditView from './FormEditView.vue';\nimport { VaultItem, VaultMinMeta, VaultPostItem, VaultSchema } from 'vaultifier/dist/module';\nimport { ActionType } from '@/store/action-type';\nimport { FetchState } from '@/store/fetch-state';\nimport { getInstance, soya } from '@/services';\nimport { NetworkResponse } from 'vaultifier/dist/module/communicator';\nimport { Action, executeAction, getActionsFromConfig } from '@/utils/actions';\nimport Handlebars from 'handlebars';\n\ninterface IData {\n selectedSchema?: VaultSchema,\n selectedListLabelTemplate?: string,\n\n showEditView: boolean,\n editViewSchema?: VaultSchema,\n isSaving: boolean,\n isExecutingAction: boolean,\n searchText: string,\n\n // charting\n selectedTabIndex: number,\n dataItemCount: number,\n dataItemPage?: number,\n\n // soya\n language: Language,\n languageOptions: any[],\n}\n\nexport default Vue.extend({\n mounted() {\n this.initialize();\n },\n data: (): IData => ({\n selectedSchema: undefined,\n selectedListLabelTemplate: undefined,\n\n showEditView: false,\n editViewSchema: undefined,\n isSaving: false,\n isExecutingAction: false,\n searchText: '',\n\n // charting\n selectedTabIndex: 0,\n dataItemCount: 50,\n dataItemPage: undefined,\n\n // soya\n language: Language.YAML,\n languageOptions: [\n { text: 'json-ld', value: Language.JSON_LD },\n { text: 'yaml', value: Language.YAML },\n ],\n }),\n components: {\n CustomButton,\n // soyabud: unused here\n // FormEditView,\n List,\n ChartVisualizer,\n },\n watch: {\n language() {\n this.$store.dispatch(ActionType.SET_VAULT_ITEM_LANGUAGE, this.language);\n this.fetchVaultItems();\n },\n },\n methods: {\n async initialize() {\n await this.fetchSchemas();\n },\n async selectSchema(schema: VaultSchema) {\n const state = this.$store.state as IStore;\n\n this.selectedSchema = schema;\n // reset template as it needs to be fetched anew\n this.selectedListLabelTemplate = undefined;\n\n await this.fetchVaultItems();\n\n // soyabud: querying for databud renderings is not really meaningful, therefore disabled\n // const doc = state.schemaDRI.current;\n // if (doc) {\n // try {\n // const sparql = await soya.getSparqlBuilder(doc);\n // const bindings = await sparql.query(`\n // PREFIX base: <${doc[\"@context\"][\"@base\"]}>\n // PREFIX soya: \n // SELECT * WHERE {\n // ?base a base:OverlayDataBudRendering .\n // ?base soya:renderingLabel ?label .\n // }`);\n\n // if (bindings[0])\n // this.selectedListLabelTemplate = bindings[0].get('?label') || undefined;\n // } catch { /* we don't care if this does not work */ }\n // }\n },\n async selectVaultItem(item?: VaultMinMeta) {\n await this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, item);\n },\n async fetchSchemas() {\n this.selectedSchema = undefined;\n this.searchText = '';\n await this.$store.dispatch(ActionType.FETCH_SCHEMA_DRIS);\n },\n async fetchVaultItems(refreshObj?: RefreshObj) {\n const isChart = this.selectedTabIndex === 1;\n\n let fetchObj: IFetchVaultItems = {\n schema: this.selectedSchema,\n page: refreshObj?.page,\n // we only want to fetch all the content if we display charts\n fetchContent: isChart,\n };\n\n if (isChart) {\n fetchObj.size = this.dataItemCount;\n fetchObj.page = this.dataItemPage;\n }\n\n await this.$store.dispatch(ActionType.FETCH_VAULT_ITEMS, fetchObj);\n },\n async deleteSelectedVaultItem() {\n try {\n await this.$store.dispatch(ActionType.DELETE_VAULT_ITEM, this.selectedVaultItem);\n await this.fetchSchemas();\n } catch (e: any) {\n console.error(e);\n this.$bvToast.toast(e.message || 'Unknown error', {\n title: 'Error while deleting item',\n variant: 'danger',\n solid: true,\n });\n }\n },\n async addItem() {\n await this.selectVaultItem(undefined);\n this._showEditView(true);\n },\n async executeAction(action: Action) {\n this.isExecutingAction = true;\n\n const vaultifier = getInstance();\n const state = this.$store.state as IStore;\n let response: NetworkResponse | undefined;\n\n try {\n response = await executeAction(action, vaultifier, this);\n } catch (e) {\n console.error(e);\n }\n\n if (response) {\n const vaultItemId = response.data.id;\n const vaultItem = await vaultifier.getItem({ id: vaultItemId });\n\n if (!vaultItem.meta.schema) {\n console.error('Vault item does not have schema DRI!');\n } else {\n await this.fetchSchemas();\n const schema = state.schemaDRI.all.find(x => x.dri === vaultItem.meta.schema);\n\n if (!schema) {\n console.error('Could not find schema DRI in internal list!');\n } else {\n await this.selectSchema(schema);\n await this.selectVaultItem(vaultItem);\n }\n }\n }\n\n this.isExecutingAction = false;\n },\n async saveVaultItem(postItem: VaultPostItem, onComplete?: () => void) {\n this.isSaving = true;\n\n try {\n await this.$store.dispatch(ActionType.UPDATE_VAULT_ITEM, postItem);\n this._showEditView(false);\n } catch (e: any) {\n console.error(e);\n this.$bvToast.toast(e.message || 'Unknown error', {\n title: 'Error while saving item',\n variant: 'danger',\n solid: true\n });\n }\n\n await this.fetchVaultItems();\n this.isSaving = false;\n\n if (onComplete)\n // indicate saving is complete\n onComplete();\n },\n _showEditView(show: boolean) {\n this.showEditView = show;\n this.editViewSchema = this.selectedSchema;\n\n this.$emit('showEditView', this.showEditView);\n },\n async handleActivateTab() {\n this.selectedSchema = undefined;\n this.$store.dispatch(ActionType.RESET_VAULT_ITEMS);\n },\n getListTitle(vaultItem: VaultItem) {\n if (this.selectedListLabelTemplate)\n return Handlebars.compile(this.selectedListLabelTemplate)({\n // item data can directly accessed with a handlebar template like: {{property}}\n ...vaultItem.data,\n // if one wants to access meta information the template is like: {{$item.meta.property}}\n // or if one wants to access item information the template is like: {{$item.id}} or {{$item.updatedAt}}\n $item: vaultItem,\n });\n else {\n // This list title logic is specific to soyabud\n const meta = vaultItem.raw;\n const title = meta.schema || vaultItem.id;\n return title;\n }\n },\n },\n computed: {\n schemaDRIs(): (VaultSchema & { dri?: string })[] {\n // soyabud: do not include \"default\" item as it does not make any sense here\n let items = [...this.$store.state.schemaDRI.all];\n const search = this.searchText.trim().toLowerCase();\n if (search)\n items = items.filter(x => x.title.toLowerCase().indexOf(search) !== -1);\n\n return items;\n },\n isSchemaListLoading(): boolean {\n return (this.$store.state as IStore).schemaDRI.state === FetchState.FETCHING;\n },\n vaultItems(): VaultItem[] | undefined {\n return this.$store.state.vaultItem.all;\n },\n isVaultItemListLoading(): boolean {\n return (this.$store.state as IStore).vaultItem.allState === FetchState.FETCHING;\n },\n selectedVaultItem(): VaultItem | undefined {\n return (this.$store.state as IStore).vaultItem.current;\n },\n hasSelectedVaultItem(): boolean {\n return !!this.selectedVaultItem;\n },\n isDeleteButtonDisabled(): boolean {\n return !this.hasSelectedVaultItem;\n },\n hasSelectedSchema(): boolean {\n return !!this.selectedSchema;\n },\n editViewSchemaDri(): string | undefined {\n return this.editViewSchema?.dri;\n },\n currentVaultPage(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.current;\n },\n totalVaultItems(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.totalItems;\n },\n vaultPageItems(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.pageItems;\n },\n actions(): Action[] {\n return getActionsFromConfig('settings', 'additionalListActions');\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SchemaView.vue?vue&type=template&id=67accffb&scoped=true&\"\nimport script from \"./SchemaView.vue?vue&type=script&lang=ts&\"\nexport * from \"./SchemaView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SchemaView.vue?vue&type=style&index=0&id=67accffb&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"67accffb\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('section',{staticClass:\"col-md-4\"},[_c('list',{attrs:{\"isLoading\":_vm.isRepoListLoading},on:{\"refresh\":_vm.fetchRepos}},_vm._l((_vm.repos),function(item){return _c('b-list-group-item',{key:item.id,attrs:{\"active\":_vm.selectedRepo && item.id === _vm.selectedRepo.id},on:{\"click\":function () { return _vm.selectRepo(item); }}},[_vm._v(_vm._s(item.name))])}),1)],1),_c('section',{staticClass:\"col-md-8\"},[_c('list',{attrs:{\"isLoading\":_vm.isVaultItemListLoading,\"totalItems\":_vm.totalVaultItems,\"currentPage\":_vm.currentVaultPage,\"pageItems\":_vm.vaultPageItems},on:{\"refresh\":_vm.fetchVaultItems},scopedSlots:_vm._u([{key:\"header-end\",fn:function(){return [_c('custom-button',{attrs:{\"type\":\"danger\",\"disabled\":_vm.isDeleteButtonDisabled},on:{\"click\":_vm.deleteSelectedVaultItem}},[_vm._v(\"Delete\")])]},proxy:true}])},_vm._l((_vm.vaultItems),function(item){return _c('b-list-group-item',{key:item.id,attrs:{\"active\":_vm.selectedVaultItem && item.id === _vm.selectedVaultItem.id},on:{\"click\":function () { return _vm.selectVaultItem(item); }}},[_vm._v(\" \"+_vm._s(item.id)+\" \")])}),1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { IFetchVaultItems, IStore } from '../store';\nimport List, { RefreshObj } from '../components/List.vue';\nimport CustomButton from '../components/Button.vue';\nimport { VaultItem, VaultMinMeta, VaultRepo } from 'vaultifier/dist/module';\nimport { ActionType } from '@/store/action-type';\nimport { FetchState } from '@/store/fetch-state';\n\ninterface IData {\n selectedRepo?: VaultRepo,\n}\n\nexport default Vue.extend({\n mounted() {\n this.initialize();\n },\n data: (): IData => ({\n selectedRepo: undefined,\n }),\n components: {\n List,\n CustomButton,\n },\n methods: {\n async initialize() {\n this.fetchRepos();\n },\n async selectRepo(item?: VaultRepo) {\n this.selectedRepo = item;\n\n this.fetchVaultItems();\n },\n async selectVaultItem(item?: VaultMinMeta) {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, item);\n },\n async fetchRepos() {\n this.selectedRepo = undefined;\n this.$store.dispatch(ActionType.FETCH_REPOS);\n },\n async fetchVaultItems(refreshObj?: RefreshObj) {\n const fetchObj: IFetchVaultItems = {\n repo: this.selectedRepo,\n page: refreshObj?.page,\n };\n\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEMS, fetchObj);\n },\n async deleteSelectedVaultItem() {\n try {\n await this.$store.dispatch(ActionType.DELETE_VAULT_ITEM, this.selectedVaultItem);\n this.fetchRepos();\n } catch (e: any) {\n console.error(e);\n this.$bvToast.toast(e.message || 'Unknown error', {\n title: 'Error while deleting item',\n variant: 'danger',\n solid: true,\n });\n }\n },\n },\n computed: {\n store(): IStore {\n return this.$store.state as IStore;\n },\n repos(): VaultRepo[] | undefined {\n return this.store.repo.all;\n },\n isRepoListLoading(): boolean {\n return this.store.repo.state === FetchState.FETCHING;\n },\n vaultItems(): VaultItem[] | undefined {\n return this.$store.state.vaultItem.all;\n },\n isVaultItemListLoading(): boolean {\n return (this.$store.state as IStore).vaultItem.allState === FetchState.FETCHING;\n },\n hasSelectedVaultItem(): boolean {\n return !!this.selectedVaultItem;\n },\n isDeleteButtonDisabled(): boolean {\n return !this.hasSelectedVaultItem;\n },\n selectedVaultItem(): VaultItem | undefined {\n return (this.$store.state as IStore).vaultItem.current;\n },\n currentVaultPage(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.current;\n },\n totalVaultItems(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.totalItems;\n },\n vaultPageItems(): number | undefined {\n return (this.$store.state as IStore).vaultItem.paging?.pageItems;\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RepoView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RepoView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RepoView.vue?vue&type=template&id=1ac91930&\"\nimport script from \"./RepoView.vue?vue&type=script&lang=ts&\"\nexport * from \"./RepoView.vue?vue&type=script&lang=ts&\"\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport { IStore, MutationType } from '../store';\nimport DataVisualizer from '../components/DataVisualizer.vue';\nimport Spinner from '../components/Spinner.vue';\nimport SchemaView from '../components/SchemaView.vue';\nimport RepoView from '../components/RepoView.vue';\nimport { VaultItem, VaultMinMeta } from 'vaultifier/dist/module';\nimport { FetchState } from '@/store/fetch-state';\n\nimport { getInstance } from '@/services';\nimport { ActionType } from '@/store/action-type';\n\ninterface Data {\n hasRepoSupport: boolean,\n showEditView: boolean,\n}\n\nexport default Vue.extend({\n components: {\n DataVisualizer,\n Spinner,\n SchemaView,\n RepoView,\n },\n data: (): Data => ({\n hasRepoSupport: false,\n showEditView: false,\n }),\n async created() {\n this.hasRepoSupport = (await getInstance().getVaultSupport()).repos;\n },\n computed: {\n selectedVaultItem(): VaultItem | undefined {\n return this.state.vaultItem.current;\n },\n hasSelectedVaultItem(): boolean {\n return !!this.selectedVaultItem;\n },\n state(): IStore {\n return this.$store.state as IStore;\n },\n isVaultItemLoading(): boolean {\n return this.state.vaultItem.currentState == FetchState.FETCHING;\n },\n isUiFluid(): boolean {\n return this.state.ui.isFluid;\n }\n },\n methods: {\n handleShowEditView(isShown: boolean) {\n if (isShown)\n this.$store.commit(MutationType.SET_VAULT_ITEM, undefined);\n\n this.showEditView = isShown;\n },\n handleActivateTab() {\n this.$store.dispatch(ActionType.RESET_VAULT_ITEMS);\n },\n selectVaultItem(item: VaultMinMeta) {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, item);\n },\n cancel() {\n this.$store.commit(MutationType.SET_VAULT_ITEM, undefined);\n this.handleShowEditView(false);\n },\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MainView.vue?vue&type=template&id=1eb0e198&scoped=true&\"\nimport script from \"./MainView.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MainView.vue?vue&type=style&index=0&id=1eb0e198&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1eb0e198\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-4\"},[_c('list',{attrs:{\"isLoading\":_vm.isVaultItemListLoading}},_vm._l((_vm.vaultItems),function(item){return _c('b-list-group-item',{key:item.id,attrs:{\"active\":item.id === _vm.selectedVaultItem.id},on:{\"click\":function () { return _vm.selectVaultItem(item); }}},[_vm._v(\" \"+_vm._s(item.id)+\" \")])}),1)],1),_c('div',{staticClass:\"col-md-8\"},[(_vm.hasSelectedVaultItem)?_c('data-visualizer',{attrs:{\"showRawView\":false,\"item\":_vm.selectedVaultItem}}):_vm._e()],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue, { PropType } from 'vue'\nimport { VaultItem, VaultMinMeta, VaultSchema } from 'vaultifier';\nimport List from '../components/List.vue';\nimport DataVisualizer from '../components/DataVisualizer.vue';\nimport { IStore } from '@/store';\nimport { FetchState } from '@/store/fetch-state';\nimport { ActionType } from '@/store/action-type';\n\nexport default Vue.extend({\n props: {\n schemaDri: String as PropType,\n },\n components: {\n DataVisualizer,\n List,\n },\n created() {\n this.initialize();\n },\n methods: {\n async initialize() {\n this.fetchVaultItems();\n },\n async selectVaultItem(item?: VaultMinMeta) {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, item);\n },\n async fetchVaultItems() {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEMS, { schema: { dri: this.schemaDri } });\n }\n },\n computed: {\n vaultItems(): VaultItem[] | undefined {\n return this.$store.state.vaultItem.all;\n },\n isVaultItemListLoading(): boolean {\n return (this.$store.state as IStore).vaultItem.allState === FetchState.FETCHING;\n },\n selectedVaultItem(): VaultItem | undefined {\n return (this.$store.state as IStore).vaultItem.current;\n },\n hasSelectedVaultItem(): boolean {\n return !!this.selectedVaultItem;\n },\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchemaView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SchemaView.vue?vue&type=template&id=04e5c71d&\"\nimport script from \"./SchemaView.vue?vue&type=script&lang=ts&\"\nexport * from \"./SchemaView.vue?vue&type=script&lang=ts&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',[(_vm.vaultItem)?_c('data-visualizer',{attrs:{\"item\":_vm.vaultItem}}):_c('spinner')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport DataVisualizer from '../components/DataVisualizer.vue';\n\nimport { IStore } from '@/store';\nimport { ActionType } from '@/store/action-type';\nimport { VaultItem, VaultMinMeta } from 'vaultifier';\nimport Spinner from '@/components/Spinner.vue';\nexport default Vue.extend({\n props: {\n itemId: String,\n },\n components: {\n DataVisualizer,\n Spinner,\n },\n mounted() {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, {\n id: parseInt(this.itemId)\n } as VaultMinMeta)\n },\n computed: {\n vaultItem(): VaultItem | undefined {\n return (this.$store.state as IStore).vaultItem.current;\n }\n }\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ItemView.vue?vue&type=template&id=cf6a6122&\"\nimport script from \"./ItemView.vue?vue&type=script&lang=ts&\"\nexport * from \"./ItemView.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter from 'vue-router';\n\nimport { routes } from './routes';\nexport { RoutePath } from './routes'\n\nVue.use(VueRouter);\n\nexport const router = new VueRouter({\n routes,\n mode: 'hash',\n})","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { RoutePath } from '@/router';\nimport { getInstance } from '@/services';\nimport { IStore } from '@/store';\nimport { ActionType } from '@/store/action-type';\nimport { VaultEncryptionSupport } from 'vaultifier';\nimport { Action, ActionMethod, executeAction, getActionsFromConfig } from '../utils/actions';\nimport Vue, { PropType } from 'vue'\n\nimport { ConfigService, PACKAGE } from '../services/config-service';\n\ninterface Data {\n workingAction?: Action,\n}\nexport default Vue.extend({\n props: {\n encryptionSupport: Object as PropType,\n settingsActions: Array as PropType,\n title: String as PropType,\n description: String as PropType,\n url: String as PropType,\n hasLogout: Boolean as PropType,\n additionalActions: Array as PropType,\n },\n data: (): Data => ({\n workingAction: undefined,\n }),\n methods: {\n async executeAction(action: Action) {\n this.workingAction = action;\n\n if (action.method === ActionMethod.INTERNAL)\n this.$emit(action.key, action);\n else\n await executeAction(action, getInstance(), this);\n\n this.workingAction = undefined;\n },\n goHome() {\n this.$router.push(RoutePath.MAIN_VIEW);\n },\n toggleUiFluid() {\n this.$store.dispatch(ActionType.TOGGLE_UI_IS_FLUID);\n }\n },\n computed: {\n version() {\n return PACKAGE.version;\n },\n subVersion() {\n return PACKAGE.subVersion;\n },\n encryptionIcon(): string | undefined {\n if (!this.encryptionSupport)\n return '';\n\n const { supportsEncryption, supportsDecryption } = this.encryptionSupport;\n\n if (supportsEncryption && supportsDecryption)\n return 'lock-fill'\n else if (!supportsEncryption && !supportsDecryption)\n return undefined;\n else\n return 'lock';\n },\n actions(): Action[] {\n const actions = [\n ...(this.additionalActions ?? []),\n ...getActionsFromConfig('settings', 'actions'),\n ];\n\n if (this.hasLogout) {\n actions.push({\n key: 'logout',\n method: ActionMethod.INTERNAL,\n title: 'Logout',\n url: '',\n usesAuth: false,\n });\n }\n\n return actions;\n },\n gearAnimation() {\n return this.workingAction ? 'spin' : undefined;\n },\n workingActionTitle() {\n return this.workingAction?.title;\n },\n state(): IStore {\n return this.$store.state as IStore;\n },\n isUiFluid(): boolean {\n return this.state.ui.isFluid;\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=6d8a88ff&scoped=true&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=6d8a88ff&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d8a88ff\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"jumbotron\"},[_c('h1',{staticClass:\"display-5\"},[_vm._v(\"SOyA Login\")]),_c('b-form',{on:{\"submit\":_vm.submitForm}},[_c('b-form-group',{attrs:{\"label\":\"App Key:\"}},[_c('b-form-input',{attrs:{\"required\":\"\",\"name\":\"username\"},model:{value:(_vm.appKey),callback:function ($$v) {_vm.appKey=$$v},expression:\"appKey\"}})],1),_c('b-form-group',{attrs:{\"label\":\"App Secret:\"}},[_c('b-form-input',{attrs:{\"required\":\"\",\"name\":\"password\",\"type\":\"password\"},model:{value:(_vm.appSecret),callback:function ($$v) {_vm.appSecret=$$v},expression:\"appSecret\"}})],1),(_vm.scopeOptions)?_c('b-form-group',{attrs:{\"label\":\"Scope:\"}},[_c('b-form-select',{attrs:{\"required\":\"\",\"options\":_vm.scopeOptions},model:{value:(_vm.scope),callback:function ($$v) {_vm.scope=$$v},expression:\"scope\"}})],1):_vm._e(),_c('b-button',{attrs:{\"type\":\"submit\",\"variant\":\"primary\"}},[_vm._v(\"Login\")])],1),_c('div',{staticClass:\"mt-3\"},_vm._l((_vm.identityProviders),function(idp){return _c('b-button',{key:idp.authority,attrs:{\"variant\":\"outline-dark\"},on:{\"click\":function () { return _vm.$emit('useIdentityProvider', idp); }}},[(idp.imageUrl)?_c('img',{staticClass:\"button-icon\",attrs:{\"src\":idp.imageUrl}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.getIdentityProviderTitle(idp))+\" \")])}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue, { PropType } from 'vue';\nimport { OAuthIdentityProvider, OAuthSupport } from 'vaultifier';\nimport { getTranslation } from '../utils';\n\nexport interface Data {\n appKey: string,\n appSecret: string,\n scope?: string,\n}\n\nexport default Vue.extend({\n props: {\n scopes: Array as PropType,\n identityProviders: Array as PropType<(OAuthSupport | OAuthIdentityProvider)[] | undefined>,\n },\n data: (): Data => ({\n appKey: '',\n appSecret: '',\n scope: undefined,\n }),\n created() {\n if (this.scopes && this.scopes.length > 0)\n this.scope = this.scopes[0];\n },\n methods: {\n submitForm(event: Event) {\n event.preventDefault();\n\n this.$emit('login', {\n appKey: this.appKey,\n appSecret: this.appSecret,\n scope: this.scope,\n } as Data);\n },\n getIdentityProviderTitle(identityProvider: OAuthIdentityProvider) {\n // 'OAuth' is the default string for OYD-internal authorization code\n return getTranslation(identityProvider.title ?? 'OAuth');\n }\n },\n computed: {\n scopeOptions() {\n return this.scopes?.map((x) => ({\n text: x,\n value: x,\n }));\n }\n }\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=163f8a0f&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=163f8a0f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"163f8a0f\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport { setInstance as setVaultifier, initialize as initializeSoya, soya } from './services';\nimport Spinner from './components/Spinner.vue'\nimport NavBar from './components/NavBar.vue'\nimport Login, { Data as LoginData } from './components/Login.vue'\nimport { Vaultifier, VaultEncryptionSupport, VaultSupport, VaultInfo, VaultifierWeb, OAuthIdentityProvider, OAuthSupport, OAuthExternalProvider } from 'vaultifier';\nimport { RoutePath } from './router';\nimport { RouteParams } from \"./router/routes\";\nimport { IStore } from \"./store\";\nimport { ConfigService } from \"./services/config-service\";\nimport { RepoService, Soya } from \"soya-js\";\nimport { Action, ActionMethod } from \"./utils/actions\";\nimport { ActionType } from \"./store/action-type\";\n\nconst isLoginData = (data: any): data is LoginData => {\n const d = data as LoginData;\n return d.appKey !== undefined && d.appSecret !== undefined;\n}\n\ninterface IData {\n isInitializing: boolean,\n isLoggedIn: boolean,\n message?: string,\n encryptionSupport?: VaultEncryptionSupport,\n vaultSupport?: VaultSupport,\n vaultInfo?: VaultInfo,\n vaultUrl?: string,\n}\n\nexport default Vue.extend({\n components: {\n Spinner,\n Login,\n NavBar,\n },\n created() {\n this.initialize();\n },\n data: (): IData => ({\n isInitializing: true,\n isLoggedIn: false,\n message: undefined,\n encryptionSupport: undefined,\n vaultSupport: undefined,\n vaultInfo: undefined,\n vaultUrl: undefined,\n }),\n methods: {\n async initialize() {\n this.tryInitializeVaultifier();\n\n const { searchParams } = new URL(window.location.href);\n\n const schema = searchParams.get(RouteParams.SCHEMA_DRI);\n if (schema && this.$router.currentRoute.path !== RoutePath.SCHEMA_VIEW)\n this.$router.push(RoutePath.SCHEMA_VIEW);\n\n const itemId = searchParams.get(RouteParams.ITEM_ID);\n if (itemId && this.$router.currentRoute.path !== RoutePath.ITEM_VIEW)\n this.$router.push(RoutePath.ITEM_VIEW);\n },\n async tryInitializeVaultifier(credentials?: OAuthIdentityProvider | OAuthExternalProvider | LoginData) {\n this.isInitializing = true;\n\n let vaultifier: Vaultifier | undefined = undefined;\n\n const vw = await VaultifierWeb.create({\n baseUrl: ConfigService.get('endpoint', 'url'),\n clientId: ConfigService.get('endpoint', 'clientId'),\n });\n\n if (vw.vaultifier)\n this.vaultUrl = vw.vaultifier.urls.baseUrl;\n\n try {\n if (credentials) {\n // APP_KEY and APP_SECRET based authentication\n if (vw.vaultifier && isLoginData(credentials)) {\n vw.vaultifier.setCredentials(credentials);\n await vw.vaultifier.initialize();\n }\n // external authentication provider\n else if ((credentials as OAuthExternalProvider).link) {\n // just redirect to the external oAuth provider\n window.location.href = (credentials as OAuthExternalProvider).link;\n return;\n }\n // external authentication provider\n else {\n await vw.initialize({\n oAuthType: credentials as OAuthIdentityProvider,\n });\n }\n }\n else\n await vw.initialize();\n } catch (e) {\n console.error(e);\n }\n\n if (vw.vaultifier) {\n vaultifier = vw.vaultifier;\n setVaultifier(vaultifier);\n }\n\n if (!vaultifier) {\n this.message = `Sorry. I was not able to create a vaultifier instance.\nTry looking into the browser console to gain more insights on the problem.`;\n this.isInitializing = false;\n return;\n }\n\n // @ts-expect-error Both vaultifier types are incompatible, as one package uses main-build\n // and the other uses module-build (but technically they have the same types of course)\n initializeSoya(new Soya({ service: RepoService.fromVaultifier(vaultifier) }));\n\n try {\n this.vaultSupport = await vaultifier.getVaultSupport();\n\n if (await vaultifier.isAuthenticated()) {\n this.isLoggedIn = true;\n }\n else {\n try {\n await vaultifier.initialize();\n this.isLoggedIn = await vaultifier.isAuthenticated();\n } catch { /* vaultifier throws an error if no credentials can be determined */ }\n }\n\n this.encryptionSupport = await vaultifier.setEnd2EndEncryption(true);\n\n if (this.isLoggedIn) {\n this.vaultInfo = await vaultifier.getVaultInfo();\n }\n }\n catch {\n if (vaultifier.urls.baseUrl)\n this.message = `I'm not sure ${vaultifier.urls.baseUrl} is the correct endpoint I should connect to. Please check this again.`;\n else\n this.message = `I could not find any endpoint to connect to.`\n }\n\n this.isInitializing = false;\n },\n logIn(credentials: LoginData) {\n this.tryInitializeVaultifier(credentials);\n },\n logOut() {\n this.isLoggedIn = false;\n VaultifierWeb.clearAuthentication();\n },\n showLoginForm() {\n this.isLoggedIn = false;\n },\n },\n computed: {\n hasMessage(): boolean {\n return !!this.message;\n },\n isLoginFormShowed(): boolean {\n return !this.isInitializing && !this.isLoggedIn;\n },\n title(): string {\n return this.vaultInfo?.name || 'OYD-DataBud';\n },\n description(): string | undefined {\n return this.vaultInfo?.description;\n },\n state(): IStore {\n return this.$store.state as IStore;\n },\n isUiFluid(): boolean {\n return this.state.ui.isFluid;\n },\n identityProviders(): (OAuthSupport | OAuthIdentityProvider | OAuthExternalProvider)[] | undefined {\n return this.vaultSupport?.oAuth;\n },\n hasLogout(): boolean {\n return (this.vaultSupport?.authentication === true && this.isLoggedIn)\n || (this.vaultSupport?.authenticationMode === 'optional' && !!this.vaultSupport.user);\n },\n additionalNavBarActions(): Action[] {\n const actions: Action[] = [];\n if (this.vaultSupport?.authenticationMode === 'optional') {\n if (this.vaultSupport.user) {\n actions.push({\n key: 'user-profile',\n method: ActionMethod.HREF,\n title: this.vaultSupport.user.fullName,\n url: '/soya/user',\n usesAuth: true,\n });\n } else {\n actions.push({\n key: 'login',\n method: ActionMethod.INTERNAL,\n title: 'Login',\n url: '',\n usesAuth: false,\n });\n\n actions.push({\n key: 'user-register',\n method: ActionMethod.HREF,\n title: 'Register',\n url: '/soya/register',\n usesAuth: false,\n });\n }\n }\n\n return actions;\n },\n },\n watch: {\n title() {\n document.title = this.title;\n }\n }\n});\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=22b268a6&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=22b268a6&scoped=true&lang=css&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&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 \"22b268a6\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport App from './App.vue';\nimport { router } from './router';\nimport { getStore } from './store';\n\nimport { BootstrapVue, IconsPlugin } from 'bootstrap-vue';\nimport 'bootstrap/dist/css/bootstrap.css';\nimport 'bootstrap-vue/dist/bootstrap-vue.css';\n\nimport VueBootstrapTypeahead from 'vue-bootstrap-typeahead';\nimport { install as VueMonacoEditorPlugin } from '@guolao/vue-monaco-editor'\n\nimport { ConfigService } from './services/config-service';\n\n(async () => {\n await ConfigService.initialize();\n\n Vue.use(BootstrapVue);\n Vue.use(IconsPlugin);\n Vue.use(VueMonacoEditorPlugin, {\n paths: {\n // You can change the CDN config to load other versions\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.51.0/min/vs'\n },\n })\n\n Vue.component('b-typeahead', VueBootstrapTypeahead);\n\n new Vue({\n router,\n store: getStore(),\n render: h => h(App)\n }).$mount('#app')\n}\n)();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataVisualizer.vue?vue&type=style&index=0&id=197bee74&scoped=true&lang=css&\""],"sourceRoot":""}