{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/NavBar.vue?6351","webpack:///./src/components/Provis.vue?836c","webpack:///./src/App.vue?f1cb","webpack:///./src/components/InlineGroup.vue?537c","webpack:///./src/components/FormView.vue?2ad1","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/SchemaView.vue?8fb6","webpack:///./src/assets/handysign_logo.jpg","webpack:///./src/components/List.vue?2142","webpack:///./src/components/Login.vue?38b4","webpack:///./src/components/DataVisualizer.vue?df7d","webpack:///./src/components/RawJson.vue?36b0","webpack:///./src/App.vue?244e","webpack:///./src/components/RawData.vue?0e3e","webpack:///./src/components/FormEditView.vue?780e","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/App.vue?1752","webpack:///./src/components/Spinner.vue?9531","webpack:///./src/components/Spinner.vue","webpack:///./src/components/Spinner.vue?57a8","webpack:///./src/components/Spinner.vue?72fe","webpack:///./src/components/NavBar.vue?d941","webpack:///./src/views/MainView.vue?0649","webpack:///./src/store/store.ts","webpack:///./src/components/DataVisualizer.vue?e7a7","webpack:///./src/components/RawData.vue?7a6e","webpack:///./src/components/RawJson.vue?7825","webpack:///./src/components/RawJson.vue","webpack:///./src/components/RawJson.vue?71a2","webpack:///./src/components/RawJson.vue?f524","webpack:///./src/components/Button.vue?6fc8","webpack:///./src/components/Button.vue","webpack:///./src/components/Button.vue?cf56","webpack:///./src/components/Button.vue?54ff","webpack:///./src/components/RawData.vue","webpack:///./src/components/RawData.vue?b10a","webpack:///./src/components/RawData.vue?5908","webpack:///./src/components/FormEditView.vue?6cc7","webpack:///./src/components/FormView.vue?af23","webpack:///./src/components/form-components/InputControlRenderer.vue?101a","webpack:///./src/components/form-components/InputControlRenderer.vue","webpack:///./src/components/form-components/InputControlRenderer.vue?3479","webpack:///./src/components/form-components/InputControlRenderer.vue?dee5","webpack:///./src/components/form-components/DateControlRenderer.vue?fd6c","webpack:///./src/components/form-components/DateControlRenderer.vue","webpack:///./src/components/form-components/DateControlRenderer.vue?8878","webpack:///./src/components/form-components/DateControlRenderer.vue?759a","webpack:///./src/components/form-components/DateTimeControlRenderer.vue?ef1a","webpack:///./src/components/form-components/DateTimeControlRenderer.vue","webpack:///./src/components/form-components/DateTimeControlRenderer.vue?9804","webpack:///./src/components/form-components/DateTimeControlRenderer.vue?e3d0","webpack:///./src/components/form-components/SelectControlRenderer.vue?73ae","webpack:///./src/utils/i18n.ts","webpack:///./src/utils/vue.ts","webpack:///./src/utils/deflate.ts","webpack:///./src/utils/plantuml.ts","webpack:///./src/utils/index.ts","webpack:///./src/components/form-components/SelectControlRenderer.vue","webpack:///./src/components/form-components/SelectControlRenderer.vue?567e","webpack:///./src/components/form-components/SelectControlRenderer.vue?d4a9","webpack:///./src/components/form-components/index.ts","webpack:///./src/components/FormView.vue","webpack:///./src/components/FormView.vue?954b","webpack:///./src/components/FormView.vue?dc3c","webpack:///./src/components/InlineGroup.vue?2068","webpack:///./src/components/InlineGroup.vue","webpack:///./src/services/config-service.ts","webpack:///./src/utils/actions.ts","webpack:///./src/components/FormEditView.vue","webpack:///./src/components/FormEditView.vue?d761","webpack:///./src/components/FormEditView.vue?496e","webpack:///./src/components/RelationsView.vue?0df3","webpack:///./src/components/List.vue?0424","webpack:///./src/components/List.vue","webpack:///./src/components/List.vue?50af","webpack:///./src/components/List.vue?01c8","webpack:///./src/components/RelationsView.vue","webpack:///./src/components/RelationsView.vue?d884","webpack:///./src/components/RelationsView.vue?126d","webpack:///./src/components/HandySignaturForm.vue?2b20","webpack:///./src/components/HandySignaturForm.vue","webpack:///./src/components/HandySignaturForm.vue?3297","webpack:///./src/components/HandySignaturForm.vue?a9cb","webpack:///./src/components/Provis.vue?b4ad","webpack:///./src/components/Provis.vue","webpack:///./src/components/Provis.vue?1de2","webpack:///./src/components/Provis.vue?cbba","webpack:///./src/components/DataVisualizer.vue","webpack:///./src/components/DataVisualizer.vue?6aad","webpack:///./src/components/DataVisualizer.vue?aca8","webpack:///./src/components/SchemaView.vue?690d","webpack:///./src/components/SchemaView.vue","webpack:///./src/components/SchemaView.vue?d0cc","webpack:///./src/components/SchemaView.vue?3b5d","webpack:///./src/components/RepoView.vue?243f","webpack:///./src/components/RepoView.vue","webpack:///./src/components/RepoView.vue?924e","webpack:///./src/components/RepoView.vue?b869","webpack:///./src/components/TableView.vue?c563","webpack:///./src/components/ChartVisualizer.vue?9b87","webpack:///./src/utils/evaluator.ts","webpack:///./src/components/ChartVisualizer.vue","webpack:///./src/router/routes.ts","webpack:///./src/components/ChartVisualizer.vue?f3da","webpack:///./src/components/ChartVisualizer.vue?77b6","webpack:///./src/components/TableView.vue","webpack:///./src/components/TableView.vue?5787","webpack:///./src/components/TableView.vue?0dfe","webpack:///./src/views/MainView.vue","webpack:///./src/views/MainView.vue?fab8","webpack:///./src/views/MainView.vue?6994","webpack:///./src/views/SchemaView.vue?c4cc","webpack:///./src/views/SchemaView.vue","webpack:///./src/views/SchemaView.vue?6c98","webpack:///./src/views/SchemaView.vue?e25e","webpack:///./src/views/ItemView.vue?8213","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?3815","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/views/MainView.vue?56d6"],"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","_vm","this","_h","$createElement","_c","_self","attrs","isUiFluid","encryptionSupport","title","description","vaultUrl","staticClass","_v","_s","message","vaultSupport","scopes","identityProviders","on","logIn","tryInitializeVaultifier","staticRenderFns","setInstance","instance","getInstance","variant","small","extend","props","default","component","directives","rawName","expression","modifiers","goHome","version","encryptionIcon","_e","url","toggleUiFluid","actions","workingAction","scopedSlots","_u","fn","gearAnimation","workingActionTitle","proxy","_l","act","executeAction","handleActivateTab","handleShowEditView","selectedVaultItem","selectVaultItem","doFetch","commit","asyncFunc","setState","setFetchState","commitObj","state","FETCHING","SET_FETCH_STATE","SUCCESS","ERROR","use","Store","repo","all","NONE","table","schemaDRI","vaultItem","allState","current","undefined","currentState","paging","ui","isFluid","mutations","payload","SET_REPOS","SET_TABLES","SET_SCHEMA_DRIS","SET_VAULT_ITEMS","SET_VAULT_ITEM","SET_SCHEMA_DRI_TITLE","item","find","x","dri","SET_VAULT_ITEMS_PAGING","SET_UI_IS_FLUID","RESET_VAULT_ITEMS","UPDATE_VAULT_ITEM","dispatch","updateItem","FETCH_VAULT_ITEM","postItem","DELETE_VAULT_ITEM","deleteItem","FETCH_SCHEMA_DRIS","getSchemas","FETCH_SCHEMAS_TITLE","store","FETCH_REPOS","getRepos","FETCH_TABLES","getTables","FETCH_VAULT_ITEMS","page","size","schema","fetchContent","query","fromRepo","identifier","schemaDri","tableId","getItems","getMetaItems","content","getItem","info","infos","TOGGLE_UI_IS_FLUID","model","callback","$$v","activeTabIndex","isSaving","saveVaultItem","totalRelations","down","up","handySignaturLogo","signItem","ref","hasSignError","raw","_m","meta","isEditable","save","editableContent","jsonContent","computed","JSON","stringify","trim","computedType","click","type","_t","String","methods","$emit","arguments","components","RawJson","CustomButton","Spinner","Boolean","created","resetEditableContent","console","log","mimeType","PLAIN","watch","parse","copy","isEncrypted","allowSelectSchema","showTypeahead","hasSelectedStructure","$event","selectedStructureName","preventDefault","suggestItems","selectFromTypeahead","editableText","saveEdit","action","isExecutingAction","cancelEdit","formData","selectedStructure","onDataChange","tagOptions","selectedTag","languageOptions","selectedLanguage","renderers","form","control","label","uischema","enabled","required","maxLength","pattern","onChange","$set","InputControlRenderer","setup","input","mounted","validate","checkValidity","handleChange","path","entry","renderer","tester","dateValue","DateControlRenderer","deep","immediate","handler","val","parts","split","$nextTick","textValue","onTextUpdate","onDateUpdate","timeValue","onTimeUpdate","DateTimeControlRenderer","date","filter","items","language","beforeCreate","getTranslation","obj","deflate","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","Array","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","res","q","str","aout","cbuf","fromCharCode","join","encode64","append3bytes","b1","b2","b3","c1","c2","c3","c4","encode6bit","plantUmlString","unescaped","decodeURIComponent","encodeURIComponent","tryGet","reduce","prev","curr","sort","arr","propFunc","y","SelectControlRenderer","isArray","isMultiple","it","enum","oneOf","text","const","formRenderers","myStyles","toSelectOption","options","isLoading","isError","freeze","JsonForms","getForm","soya","pull","doc","tag","error","event","$refs","reportValidity","hasForm","hasTags","_tagOptions","hasLanguages","_languageOptions","provide","styles","script","config","configFilename","fetch","json","ConfigService","INSTANCE","fetchExternalConfig","vaultifier","vue","method","usesAuth","baseUrlPlaceholder","vaultItemIdPlaceholder","replace","toString","returnValue","open","indexOf","vaultifierUrl","post","put","headers","status","$bvModal","msgBoxOk","actionsObj","FormView","InlineGroup","hasCancel","selectStructure","generateHashlink","Promise","structure","$store","isWorking","refreshRelations","selectId","refresh","totalItems","pageItems","inputPageKeydown","inputPage","paginationPageChange","Number","currentPage","changePage","_","List","downstreamIds","upstreamIds","emitUpdate","getRelations","relations","downstream","upstream","domProps","target","composing","xmlBody","responseUrl","eidasToken","sign","getEidasToken","nextTick","isValid","submit","URL","location","origin","searchParams","append","RouteParams","ITEM_ID","urls","getEidasExternalUrl","btoa","src","getProvis","plantUml","getImageUrl","showRawView","isSigning","RawData","FormEditView","RelationsView","HandySignaturForm","Provis","hasSchema","onComplete","handySignaturForm","isSchemaListLoading","fetchSchemas","selectedSchema","selectSchema","isVaultItemListLoading","totalVaultItems","currentVaultPage","vaultPageItems","fetchVaultItems","addItem","isDeleteButtonDisabled","deleteSelectedVaultItem","saveMessage","editViewSchemaDri","_showEditView","initialize","showEditView","editViewSchema","OcaEditView","refreshObj","fetchObj","response","vaultItemId","show","schemaDRIs","vaultItems","hasSelectedVaultItem","hasSelectedSchema","isRepoListLoading","fetchRepos","selectedRepo","selectRepo","repos","isTableListLoading","fetchTables","selectedTable","selectTable","selectedTabIndex","dataItemCount","dataItemPage","scaleXExpression","row","idx","addRow","canRemoveRow","removeRow","computeChartData","chartData","isObject","makeSafeObject","left","right","exp","eval","Date","Intl","DateTimeFormat","dateStyle","timeStyle","format","floatVal","parseFloat","isNaN","RoutePath","zingchart","rows","labels","scaleX","series","evalTypeAgnostic","values","ChartVisualizer","isChart","tables","DataVisualizer","SchemaView","RepoView","TableView","hasRepoSupport","getVaultSupport","isVaultItemLoading","isShown","itemId","routes","MAIN_VIEW","MainView","SCHEMA_VIEW","href","SCHEMA_DRI","ITEM_VIEW","ItemView","router","settingsActions","$router","subVersion","supportsEncryption","supportsDecryption","submitForm","appKey","appSecret","scopeOptions","scope","idp","authority","imageUrl","getIdentityProviderTitle","identityProvider","isLoginData","Login","NavBar","isInitializing","isLoggedIn","vaultInfo","currentRoute","credentials","baseUrl","clientId","vw","setCredentials","oAuthType","isAuthenticated","setEnd2EndEncryption","getVaultInfo","initializeOca","getValues","hasMessage","isLoginFormShowed","oAuth","document","VueBootstrapTypeahead","render","App","$mount"],"mappings":"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","file":"js/app.60a43338.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!./NavBar.vue?vue&type=style&index=0&id=41de476a&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!./Provis.vue?vue&type=style&index=0&id=91ed3b72&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=e9bc956e&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!./FormView.vue?vue&type=style&index=0&id=8aa16b54&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!./SchemaView.vue?vue&type=style&index=0&id=5ed81ef7&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/handysign_logo.1fff46a2.jpg\";","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!./Login.vue?vue&type=style&index=0&id=c0fc6e04&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!./DataVisualizer.vue?vue&type=style&index=0&id=121a6491&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=75c3de40&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!./RawData.vue?vue&type=style&index=0&id=e60d091e&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!./FormEditView.vue?vue&type=style&index=0&id=51479ace&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_TABLES = 'fetchTables',\n FETCH_VAULT_ITEMS = 'fetchVaultItems',\n FETCH_VAULT_ITEM = 'fetchVaultItem',\n RESET_VAULT_ITEMS = 'resetVaultItems',\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_SCHEMA_DRIS = 'setSchemaDRIs',\n SET_SCHEMA_DRI_TITLE = 'setSchemaDRITitle',\n SET_REPOS = 'setRepos',\n SET_TABLES = 'setTables',\n SET_VAULT_ITEMS = 'setVaultItems',\n SET_VAULT_ITEM = 'setVaultItem',\n SET_FETCH_STATE = 'setSchemaDRIFetchState',\n SET_VAULT_ITEMS_PAGING = 'setVaultItemsPaging',\n SET_UI_IS_FLUID = 'setUiIsFluid',\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}})],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 }","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),(_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\":\"Tables\"}},[_c('table-view')],1),_c('b-tab',{attrs:{\"title\":\"Schemas\"}},[_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)?_c('data-visualizer',{staticClass:\"data-visualizer\",attrs:{\"item\":_vm.selectedVaultItem},on:{\"selectVaultItem\":_vm.selectVaultItem}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getInstance } from '@/services';\nimport { Soya } from 'soya-js';\nimport { MultiResponse, Paging, Vaultifier, VaultItem, VaultItemsQuery, VaultMeta, VaultMinMeta, VaultPostItem, VaultRepo, VaultSchema, VaultTable, } 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 table?: VaultTable;\n repo?: VaultRepo;\n schema?: VaultSchema;\n fetchContent?: boolean;\n}\nexport interface IStore {\n repo: {\n all?: VaultRepo[],\n state: FetchState,\n },\n table: {\n all: VaultTable[],\n state: FetchState,\n }\n schemaDRI: {\n all: VaultSchema[],\n state: FetchState,\n },\n vaultItem: {\n all: VaultMeta[],\n allState: FetchState,\n current?: VaultItem,\n currentState: FetchState,\n paging?: Paging,\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 {\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 table: {\n all: [],\n state: FetchState.NONE,\n },\n schemaDRI: {\n all: [],\n state: FetchState.NONE,\n },\n vaultItem: {\n all: [],\n allState: FetchState.NONE,\n current: undefined,\n currentState: FetchState.NONE,\n paging: undefined,\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_TABLES](state, payload: VaultTable[]) {\n state.table.all = 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_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 if (payload.id) {\n await getInstance().updateItem(payload);\n dispatch(ActionType.FETCH_VAULT_ITEM, { id: payload.id } as VaultMinMeta);\n }\n else\n await getInstance().postItem(payload);\n\n },\n async [ActionType.DELETE_VAULT_ITEM]({ state, commit, dispatch }, payload: VaultMeta) {\n await getInstance().deleteItem({\n id: payload.id,\n });\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 () => getInstance().getSchemas(),\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_TABLES]({ commit, dispatch }) {\n await doFetch(\n commit,\n () => getInstance().getTables(),\n (commit, data) => {\n dispatch(ActionType.RESET_VAULT_ITEMS);\n commit(MutationType.SET_TABLES, data);\n },\n (store, state) => store.table.state = state\n );\n },\n async [ActionType.FETCH_VAULT_ITEMS]({ commit, state }, { page, size, table, 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\n await doFetch>(\n commit,\n async () => {\n let query: VaultItemsQuery | undefined = {\n page: {\n page,\n size,\n },\n };\n let instance: Vaultifier;\n\n if (repo) {\n instance = await getInstance().fromRepo(repo.identifier);\n }\n else if (schema || table) {\n instance = getInstance();\n query = {\n ...query,\n schemaDri: schema?.dri,\n tableId: table?.id,\n };\n }\n else\n throw new Error('Schema, repo and table are undefined');\n\n if (fetchContent)\n return instance.getItems(query);\n else\n return instance.getMetaItems(query);\n },\n (commit, data) => {\n commit(MutationType.SET_VAULT_ITEMS, data.content);\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 }, payload: VaultMinMeta) {\n await doFetch(\n commit,\n () => getInstance().getItem({ id: payload.id }),\n (commit, data) => commit(MutationType.SET_VAULT_ITEM, data),\n (store, state) => store.vaultItem.currentState = state,\n )\n },\n async [ActionType.FETCH_SCHEMAS_TITLE]({ commit, state }) {\n const infos = await new 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('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-tabs',{attrs:{\"pills\":\"\",\"card\":\"\"},model:{value:(_vm.activeTabIndex),callback:function ($$v) {_vm.activeTabIndex=$$v},expression:\"activeTabIndex\"}},[(_vm.hasSchema)?_c('b-tab',{attrs:{\"title\":\"Form\",\"lazy\":\"\"}},[_c('form-edit-view',{attrs:{\"item\":_vm.item,\"schemaDri\":_vm.schemaDri,\"allowSelectSchema\":true,\"hasCancel\":false,\"isSaving\":_vm.isSaving},on:{\"save\":_vm.saveVaultItem}})],1):_vm._e(),(_vm.showRawView)?_c('b-tab',{attrs:{\"title\":\"Raw Data\"}},[_c('raw-data',{attrs:{\"item\":_vm.item,\"isSaving\":_vm.isSaving},on:{\"save\":_vm.saveVaultItem}})],1):_vm._e(),_c('b-tab',{attrs:{\"title\":\"Relations\",\"disabled\":_vm.totalRelations === 0}},[_c('relations-view',{attrs:{\"item\":_vm.item},on:{\"update\":function (down, up) { return _vm.totalRelations = down.length + up.length; },\"selectId\":_vm.selectVaultItem}})],1),_c('b-tab',{attrs:{\"title\":\"Sign\",\"lazy\":\"\"}},[_c('div',{staticClass:\"flex-container\"},[_c('b-img',{staticClass:\"signature-logo\",attrs:{\"src\":_vm.handySignaturLogo}}),_c('span',[_vm._v(\" Sign this data item with A-TRUST Handy-Signatur.\"),_c('br'),_vm._v(\" The following data that will be signed: \")]),_c('b-button',{staticClass:\"sign-button\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.signItem}},[_vm._v(\"Sign \"),(_vm.isSigning)?_c('b-spinner'):_vm._e()],1)],1),_c('handy-signatur-form',{ref:\"handySignaturForm\",attrs:{\"item\":_vm.item}}),_c('b-alert',{attrs:{\"variant\":\"danger\"},model:{value:(_vm.hasSignError),callback:function ($$v) {_vm.hasSignError=$$v},expression:\"hasSignError\"}},[_vm._v(\" There was an error while trying to sign the data item. \")]),_c('raw-json',{attrs:{\"data\":_vm.item.raw}})],1),_c('b-tab',{attrs:{\"title\":\"Provenance\",\"lazy\":\"\"}},[_c('provis',{attrs:{\"item\":_vm.item}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_vm._m(0),_c('raw-json',{attrs:{\"data\":_vm.meta}})],1),_c('div',{staticClass:\"col-md-6\"},[_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.isEditable),callback:function ($$v) {_vm.isEditable=$$v},expression:\"isEditable\"}},[_vm._v(\"Editable\")]),(_vm.isEditable)?_c('custom-button',{staticClass:\"btn-save\",attrs:{\"type\":_vm.isSaving ? 'primary-outline' : undefined,\"disabled\":_vm.isSaving},on:{\"click\":_vm.save}},[(_vm.isSaving)?_c('spinner'):[_vm._v(\" Save \")]],2):_vm._e()],1),(_vm.isEditable)?_c('b-textarea',{staticClass:\"textarea\",attrs:{\"rows\":\"10\"},model:{value:(_vm.editableContent),callback:function ($$v) {_vm.editableContent=$$v},expression:\"editableContent\"}}):_c('raw-json',{attrs:{\"data\":_vm.item.content}})],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(\"Meta\")])])}]\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: Object,\n },\n computed: {\n jsonContent(): string {\n return JSON.stringify(this.data, null, 2).trim();\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=75c3de40&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=75c3de40&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 \"75c3de40\",\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","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 { MimeType, VaultItem, VaultPostItem } from 'vaultifier';\nimport Vue, { PropType } from 'vue'\nimport RawJson from './RawJson.vue';\nimport CustomButton from './Button.vue';\nimport Spinner from './Spinner.vue';\n\ninterface Data {\n isEditable: boolean;\n editableContent: string;\n}\n\nexport default Vue.extend({\n components: {\n RawJson,\n CustomButton,\n Spinner,\n },\n props: {\n item: {\n type: Object as PropType,\n },\n isSaving: {\n type: Boolean as PropType,\n }\n },\n data: (): Data => ({\n isEditable: false,\n editableContent: '',\n }),\n created() {\n this.resetEditableContent();\n },\n methods: {\n resetEditableContent() {\n this.editableContent = JSON.stringify(this.item.content, undefined, 2);\n },\n save() {\n console.log('save')\n const postItem: VaultPostItem = {\n ...this.item,\n mimeType: this.item.mimeType ?? MimeType.PLAIN,\n };\n\n this.$emit('save', postItem);\n },\n },\n watch: {\n editableContent(value: string) {\n try {\n this.item.content = JSON.parse(value);\n } catch { /* */ }\n },\n item() {\n this.resetEditableContent();\n },\n },\n computed: {\n meta(): any {\n const copy = { ...this.item };\n delete copy.content;\n // @ts-ignore\n delete copy.raw;\n\n return copy;\n },\n isEncrypted(): boolean {\n return this.item.isEncrypted;\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=e60d091e&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=e60d091e&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 \"e60d091e\",\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('inline-group',[(_vm.allowSelectSchema && (_vm.showTypeahead || !_vm.hasSelectedStructure))?_c('b-form',{attrs:{\"inline\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}}},[_c('b-typeahead',{attrs:{\"prepend\":\"Search SOyA structure...\",\"serializer\":function (s) { return s.name; },\"data\":_vm.suggestItems},on:{\"hit\":_vm.selectFromTypeahead},model:{value:(_vm.editableText),callback:function ($$v) {_vm.editableText=$$v},expression:\"editableText\"}},[_vm._v(_vm._s(_vm.editableText))])],1):_c('b-button',{on:{\"click\":function($event){_vm.showTypeahead = true}}},[_vm._v(_vm._s(_vm.selectedStructureName))]),_c('div',{staticClass:\"spacer\"}),_c('custom-button',{attrs:{\"type\":_vm.isSaving ? 'primary-outline' : undefined,\"disabled\":!_vm.hasSelectedStructure || _vm.isSaving},on:{\"click\":_vm.saveEdit}},[(_vm.isSaving)?_c('spinner'):[_vm._v(\" Save \")]],2),_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)}),(_vm.hasCancel)?_c('custom-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.cancelEdit}},[_vm._v(\"Cancel\")]):_vm._e()],2),(_vm.isLoading)?_c('spinner'):_vm._e(),_c('form-view',{ref:\"form\",attrs:{\"data\":_vm.formData,\"schemaDri\":_vm.selectedStructure ? _vm.selectedStructure.dri : undefined},on:{\"change\":_vm.onDataChange}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isLoading)?_c('spinner'):(_vm.hasForm)?_c('b-container',{staticClass:\"p-0\"},[_c('b-row',[(_vm.hasTags)?_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{staticClass:\"soya-form-option\",attrs:{\"label\":\"Tag\"}},[_c('b-form-select',{attrs:{\"options\":_vm.tagOptions},model:{value:(_vm.selectedTag),callback:function ($$v) {_vm.selectedTag=$$v},expression:\"selectedTag\"}})],1)],1):_vm._e(),(_vm.hasLanguages)?_c('b-col',{attrs:{\"md\":\"3\"}},[_c('b-form-group',{staticClass:\"soya-form-option\",attrs:{\"label\":\"Language\"}},[_c('b-form-select',{attrs:{\"options\":_vm.languageOptions},model:{value:(_vm.selectedLanguage),callback:function ($$v) {_vm.selectedLanguage=$$v},expression:\"selectedLanguage\"}})],1)],1):_vm._e()],1),_c('b-row',[_c('b-col',[_c('b-form',{ref:\"form\",staticClass:\"form\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('json-forms',{attrs:{\"data\":this.data,\"renderers\":_vm.renderers,\"schema\":_vm.form.schema,\"uischema\":_vm.form.ui},on:{\"change\":_vm.onDataChange}})],1)],1)],1)],1):(_vm.isError)?_c('b-alert',{attrs:{\"variant\":\"danger\",\"show\":\"\"}},[_vm._v(\" Can not render a form. Find more information in the developer tools. \")]):_c('b-alert',{attrs:{\"variant\":\"primary\",\"show\":\"\"}},[_vm._v(\" Please select a form. \")])}\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-form-group',{attrs:{\"label\":_vm.control.label,\"description\":_vm.control.uischema.description}},[_c('b-form-input',{ref:\"input\",attrs:{\"id\":_vm.control.id + '-input',\"disabled\":!_vm.control.enabled,\"required\":_vm.control.required,\"maxLength\":_vm.control.schema.maxLength,\"pattern\":_vm.control.schema.pattern,\"state\":_vm.state},on:{\"input\":_vm.onChange},model:{value:(_vm.control.data),callback:function ($$v) {_vm.$set(_vm.control, \"data\", $$v)},expression:\"control.data\"}}),_c('b-form-invalid-feedback',[_vm._v(\" Input could not be validated. \")])],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\nimport {\n ControlElement,\n JsonFormsRendererRegistryEntry,\n rankWith,\n isStringControl,\n} from '@jsonforms/core';\nimport { defineComponent, ref } from '@vue/composition-api';\nimport { rendererProps, useJsonFormsControl, RendererProps } from '@jsonforms/vue2';\n\nconst InputControlRenderer = defineComponent({\n name: 'input-control-renderer',\n props: {\n ...rendererProps(),\n },\n data: () => ({\n state: false,\n }),\n setup(props: RendererProps) {\n const input = ref(null);\n\n return {\n ...useJsonFormsControl(props),\n input,\n }\n },\n mounted() {\n this.validate();\n },\n methods: {\n validate() {\n // @ts-expect-error\n this.state = this.input?.checkValidity() || false;\n },\n onChange(value: string) {\n this.validate();\n this.handleChange(\n this.control.path,\n value,\n );\n }\n },\n});\nexport default InputControlRenderer;\nexport const entry: JsonFormsRendererRegistryEntry = {\n renderer: InputControlRenderer,\n tester: rankWith(10, isStringControl)\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!./InputControlRenderer.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!./InputControlRenderer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InputControlRenderer.vue?vue&type=template&id=4b8f969c&\"\nimport script from \"./InputControlRenderer.vue?vue&type=script&lang=ts&\"\nexport * from \"./InputControlRenderer.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-form-group',{attrs:{\"label\":_vm.control.label,\"description\":_vm.control.uischema.description}},[_c('b-input-group',{staticClass:\"mb-3\"},[_c('b-form-input',{ref:\"input\",attrs:{\"id\":_vm.control.id + '-input',\"disabled\":!_vm.control.enabled,\"required\":_vm.control.required,\"state\":_vm.state,\"type\":\"text\",\"placeholder\":\"YYYY-MM-DD\",\"autocomplete\":\"off\"},on:{\"input\":_vm.onChange},model:{value:(_vm.dateValue),callback:function ($$v) {_vm.dateValue=$$v},expression:\"dateValue\"}}),_c('b-input-group-append',[_c('b-form-datepicker',{attrs:{\"disabled\":!_vm.control.enabled,\"required\":_vm.control.required,\"locale\":\"en\",\"button-only\":\"\",\"right\":\"\",\"today-button\":\"\",\"reset-button\":\"\",\"close-button\":\"\"},on:{\"input\":_vm.onChange},model:{value:(_vm.dateValue),callback:function ($$v) {_vm.dateValue=$$v},expression:\"dateValue\"}})],1)],1),_c('b-form-invalid-feedback',[_vm._v(\" Input could not be validated. \")])],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\nimport {\n ControlElement,\n JsonFormsRendererRegistryEntry,\n rankWith,\n isDateControl,\n} from '@jsonforms/core';\nimport { defineComponent, ref } from '@vue/composition-api';\nimport { rendererProps, useJsonFormsControl, RendererProps } from '@jsonforms/vue2';\n\ninterface Data {\n state: boolean,\n dateValue?: string,\n}\n\nconst DateControlRenderer = defineComponent({\n name: 'date-control-renderer',\n props: {\n ...rendererProps(),\n },\n data: (): Data => ({\n state: false,\n dateValue: undefined,\n }),\n setup(props: RendererProps) {\n const input = ref(null);\n\n return {\n ...useJsonFormsControl(props),\n input,\n }\n },\n mounted() {\n this.validate();\n },\n watch: {\n control: {\n deep: true,\n immediate: true,\n handler: function (val) {\n if (val?.data) {\n // split ISO date\n const parts = val.data.split(/[TZ.]/g);\n this.dateValue = parts[0];\n }\n else\n this.dateValue = undefined;\n },\n }\n },\n methods: {\n async validate() {\n // we must await the change in the vue reactivity system\n // to notice the new value\n await this.$nextTick();\n // @ts-expect-error\n this.state = this.input?.checkValidity() || false;\n\n // TODO: also check if it is a valid date value\n },\n onChange(value: string) {\n this.handleChange(\n this.control.path,\n `${this.dateValue}Z00:00:00T`,\n );\n this.validate();\n }\n }\n});\nexport default DateControlRenderer;\nexport const entry: JsonFormsRendererRegistryEntry = {\n renderer: DateControlRenderer,\n tester: rankWith(20, isDateControl)\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!./DateControlRenderer.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!./DateControlRenderer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DateControlRenderer.vue?vue&type=template&id=3e699ff0&\"\nimport script from \"./DateControlRenderer.vue?vue&type=script&lang=ts&\"\nexport * from \"./DateControlRenderer.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-form-group',{attrs:{\"label\":_vm.control.label,\"description\":_vm.control.uischema.description}},[_c('b-input-group',{staticClass:\"mb-3\"},[_c('b-form-input',{ref:\"input\",attrs:{\"id\":_vm.control.id + '-input',\"disabled\":!_vm.control.enabled,\"required\":_vm.control.required,\"state\":_vm.state,\"value\":_vm.textValue,\"type\":\"text\",\"placeholder\":\"YYYY-MM-DD HH:mm:ss\",\"autocomplete\":\"off\"},on:{\"input\":_vm.onTextUpdate}}),_c('b-input-group-append',[_c('b-form-datepicker',{attrs:{\"disabled\":!_vm.control.enabled,\"required\":_vm.control.required,\"value\":_vm.dateValue,\"locale\":\"en\",\"button-only\":\"\",\"right\":\"\",\"today-button\":\"\",\"reset-button\":\"\",\"close-button\":\"\"},on:{\"input\":_vm.onDateUpdate}}),_c('b-form-timepicker',{attrs:{\"disabled\":!_vm.control.enabled,\"required\":_vm.control.required,\"value\":_vm.timeValue,\"locale\":\"de\",\"button-only\":\"\",\"right\":\"\",\"show-seconds\":\"\"},on:{\"input\":_vm.onTimeUpdate}})],1)],1),_c('b-form-invalid-feedback',[_vm._v(\" Input could not be validated. \")])],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 {\n ControlElement,\n JsonFormsRendererRegistryEntry,\n rankWith,\n isDateTimeControl,\n} from '@jsonforms/core';\nimport { defineComponent, ref } from '@vue/composition-api';\nimport { rendererProps, useJsonFormsControl, RendererProps } from '@jsonforms/vue2';\n\ninterface Data {\n state: boolean,\n dateValue?: string,\n timeValue?: string,\n}\n\nconst DateTimeControlRenderer = defineComponent({\n name: 'date-control-renderer',\n props: {\n ...rendererProps(),\n },\n data: (): Data => ({\n state: false,\n dateValue: undefined,\n timeValue: undefined,\n }),\n setup(props: RendererProps) {\n const input = ref(null);\n\n return {\n ...useJsonFormsControl(props),\n input,\n }\n },\n computed: {\n textValue(): string {\n return `${this.dateValue ?? ''}${this.timeValue ? ` ${this.timeValue}` : ''}`;\n }\n },\n mounted() {\n this.validate();\n },\n watch: {\n control: {\n deep: true,\n immediate: true,\n handler: function (val) {\n console.log('now');\n console.log(!!val?.data)\n if (val?.data) {\n // split ISO date\n const parts = val.data.split(/[TZ.]/g);\n this.dateValue = parts[0];\n this.timeValue = parts[1];\n }\n else\n this.dateValue = this.timeValue = undefined;\n },\n },\n textValue() {\n let date: string | undefined = undefined;\n\n if (this.dateValue && this.timeValue)\n date = `${this.dateValue}T${this.timeValue}Z`;\n\n this.handleChange(\n this.control.path,\n date,\n );\n this.validate();\n }\n },\n methods: {\n onTimeUpdate(value?: string) {\n this.timeValue = value;\n },\n onDateUpdate(value?: string) {\n this.dateValue = value;\n },\n onTextUpdate(value?: string) {\n if (!value)\n return this.dateValue = this.timeValue = undefined;\n\n const parts = value.split(' ').filter(x => x !== '');\n this.dateValue = parts[0];\n this.timeValue = parts[1];\n },\n\n async validate() {\n // we must await the change in the vue reactivity system\n // to notice the new value\n await this.$nextTick();\n // @ts-expect-error\n this.state = this.input?.checkValidity() || false;\n\n // TODO: also check if it is a valid date value\n },\n }\n});\nexport default DateTimeControlRenderer;\nexport const entry: JsonFormsRendererRegistryEntry = {\n renderer: DateTimeControlRenderer,\n tester: rankWith(20, isDateTimeControl)\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!./DateTimeControlRenderer.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!./DateTimeControlRenderer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DateTimeControlRenderer.vue?vue&type=template&id=630832d6&\"\nimport script from \"./DateTimeControlRenderer.vue?vue&type=script&lang=ts&\"\nexport * from \"./DateTimeControlRenderer.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-form-group',{attrs:{\"label\":_vm.control.label,\"description\":_vm.control.uischema.description}},[(_vm.isMultiple)?_c('multiselect',{attrs:{\"id\":_vm.control.id + '-input',\"options\":_vm.items,\"multiple\":true,\"disabled\":!_vm.control.enabled,\"close-on-select\":false,\"clear-on-select\":false,\"preserve-search\":true,\"track-by\":\"value\",\"label\":\"text\",\"placeholder\":\"Select from list\"},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v},expression:\"model\"}}):_c('b-form-select',{attrs:{\"id\":_vm.control.id + '-input',\"disabled\":!_vm.control.enabled,\"options\":_vm.items},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v},expression:\"model\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","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})();","// Implemented according to\n// https://plantuml.com/de/code-javascript-synchronous\n\nimport { deflate } from '.';\n\nfunction encode64(data: string) {\n let r = \"\";\n for (let i = 0; i < data.length; i += 3) {\n if (i + 2 == data.length) {\n r += append3bytes(data.charCodeAt(i), data.charCodeAt(i + 1), 0);\n } else if (i + 1 == data.length) {\n r += append3bytes(data.charCodeAt(i), 0, 0);\n } else {\n r += append3bytes(data.charCodeAt(i), data.charCodeAt(i + 1),\n data.charCodeAt(i + 2));\n }\n }\n return r;\n}\n\nfunction append3bytes(b1: number, b2: number, b3: number) {\n let c1 = b1 >> 2;\n let c2 = ((b1 & 0x3) << 4) | (b2 >> 4);\n let c3 = ((b2 & 0xF) << 2) | (b3 >> 6);\n let c4 = b3 & 0x3F;\n let r = \"\";\n r += encode6bit(c1 & 0x3F);\n r += encode6bit(c2 & 0x3F);\n r += encode6bit(c3 & 0x3F);\n r += encode6bit(c4 & 0x3F);\n return r;\n}\n\nfunction encode6bit(b: number) {\n if (b < 10) {\n return String.fromCharCode(48 + b);\n }\n b -= 10;\n if (b < 26) {\n return String.fromCharCode(65 + b);\n }\n b -= 26;\n if (b < 26) {\n return String.fromCharCode(97 + b);\n }\n b -= 26;\n if (b == 0) {\n return '-';\n }\n if (b == 1) {\n return '_';\n }\n return '?';\n}\n\nexport const getPlantUmlUrl = (plantUmlString: string): string => {\n const unescaped = decodeURIComponent(encodeURIComponent(plantUmlString));\n return 'https://www.plantuml.com/plantuml/img/' + encode64(deflate(unescaped, 9));\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}","\n\n\n\n\n\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 {\n ControlElement,\n JsonFormsRendererRegistryEntry,\n rankWith,\n or,\n isOneOfEnumControl,\n isOneOfControl,\n isEnumControl,\n} from '@jsonforms/core';\nimport { defineComponent } from '@vue/composition-api';\nimport { rendererProps, useJsonFormsControl, RendererProps } from '@jsonforms/vue2';\nimport { sort } from '@/utils';\n\ninterface IData {\n model: string | string[] | SelectItem[] | undefined;\n}\n\ninterface SelectItem {\n value: string;\n text: string;\n}\n\nconst SelectControlRenderer = defineComponent({\n name: 'select-control-renderer',\n props: {\n ...rendererProps(),\n },\n data: (): IData => ({\n model: undefined,\n }),\n setup(props: RendererProps) {\n return useJsonFormsControl(props);\n },\n watch: {\n model(value?: string | string[] | SelectItem[]) {\n let val = value;\n\n if (Array.isArray(val))\n val = val.map(item => {\n // multiselect returns values as object\n // but we only want to save the values, not the whole object\n // therefore we extract it here\n if (typeof item === 'object')\n return item.value;\n else\n return item;\n });\n\n this.handleChange(\n this.control.path,\n val,\n );\n }\n },\n created() {\n if (this.isMultiple)\n if (Array.isArray(this.control.data))\n // we only save values as data\n // however the multiselect control expects objects (including the text) as model value\n // therefore we find the corresponding object for each value\n this.model = this.control.data\n .map(val => this.items.find(it => it.value === val))\n .filter(x => x !== undefined) as SelectItem[];\n else\n this.model = [];\n else\n this.model = this.control.data;\n },\n computed: {\n items(): SelectItem[] {\n const { schema } = this.control;\n // support both `enum` and `oneOf`\n const items: any[] | undefined = schema.enum || schema.oneOf;\n\n if (!items)\n return [];\n\n return sort(items, x => x.title ?? x).map(x => ({\n text: x.title ?? x,\n value: x.const ?? x,\n }));\n },\n isMultiple(): boolean {\n return this.control.schema.type === 'array';\n },\n }\n});\nexport default SelectControlRenderer;\nexport const entry: JsonFormsRendererRegistryEntry = {\n renderer: SelectControlRenderer,\n tester: rankWith(20, or(isOneOfControl, isEnumControl, isOneOfEnumControl))\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!./SelectControlRenderer.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!./SelectControlRenderer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SelectControlRenderer.vue?vue&type=template&id=5b62c2a4&\"\nimport script from \"./SelectControlRenderer.vue?vue&type=script&lang=ts&\"\nexport * from \"./SelectControlRenderer.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 { entry as inputControlRenderer } from './InputControlRenderer.vue';\nimport { entry as dateControlRenderer } from './DateControlRenderer.vue';\nimport { entry as dateTimeControlRenderer } from './DateTimeControlRenderer.vue';\n// import { entry as timeControlRenderer } from './TimeControlRenderer.vue';\nimport { entry as multiSelectControlRenderer } from './SelectControlRenderer.vue';\n\nexport const formRenderers = [\n inputControlRenderer,\n dateControlRenderer,\n dateTimeControlRenderer,\n // TODO: we need to define how we'll save times\n // ISO format does not seem to be appropriate\n // timeControlRenderer,\n multiSelectControlRenderer,\n]","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Spinner from './Spinner.vue';\nimport { JsonForms, JsonFormsChangeEvent } from \"@jsonforms/vue2\";\nimport {\n defaultStyles,\n mergeStyles,\n vanillaRenderers,\n} from \"@jsonforms/vue2-vanilla\";\nimport { formRenderers } from './form-components';\n\nimport { SoyaFormResponse, Soya } from 'soya-js';\nimport { defineComponent } from '@vue/composition-api';\n\ninterface Data {\n renderers: readonly any[],\n form?: SoyaFormResponse,\n selectedLanguage: string | null,\n selectedTag: string | null,\n isLoading: boolean,\n isError: boolean,\n}\n\n// mergeStyles combines all classes from both styles definitions into one\nconst myStyles = mergeStyles(defaultStyles, { control: { label: \"mylabel\" } });\nconst renderers = [\n ...vanillaRenderers,\n // here you can add custom renderers\n ...formRenderers,\n];\n\ninterface SelectOption {\n value: string | null,\n text: string,\n}\n\nconst toSelectOption = (text: string): SelectOption => ({\n value: text,\n text,\n});\n\nconst withEmpty = (options: SelectOption[]): SelectOption[] => {\n return [\n { value: null, text: 'Default' },\n ...options,\n ]\n}\n\nexport default defineComponent({\n data: (): Data => ({\n form: undefined,\n selectedLanguage: null,\n selectedTag: null,\n isLoading: true,\n isError: false,\n renderers: Object.freeze(renderers),\n }),\n props: {\n data: {\n type: Object,\n required: false,\n default: () => ({}),\n },\n schemaDri: String,\n },\n components: {\n JsonForms,\n Spinner,\n },\n created() {\n this.getForm();\n },\n methods: {\n async getForm() {\n this.form = undefined;\n this.isLoading = true;\n this.isError = false;\n\n if (this.schemaDri) {\n try {\n const soya = new Soya();\n const doc = await soya.pull(this.schemaDri);\n this.form = await soya.getForm(doc, {\n language: this.selectedLanguage || undefined,\n tag: this.selectedTag || undefined,\n });\n } catch (e) {\n console.error(e);\n this.isError = true;\n }\n }\n\n this.isLoading = false;\n },\n onDataChange(event: JsonFormsChangeEvent) {\n this.$emit('change', event);\n },\n validate(): boolean {\n const form = (this.$refs.form as HTMLFormElement);\n return form.reportValidity();\n }\n },\n watch: {\n schemaDri() {\n this.getForm();\n },\n selectedLanguage() {\n this.getForm();\n },\n selectedTag() {\n // if-else prevents hitting the watcher twice in a row\n // yeah, this could be solved more intelligently possibly...\n if (this.selectedLanguage)\n this.selectedLanguage = null;\n else\n this.getForm();\n }\n },\n computed: {\n hasForm(): boolean {\n return !!this.form;\n },\n hasTags(): boolean {\n return this._tagOptions.length > 0;\n },\n _tagOptions(): string[] {\n return this.form?.options\n .filter(x => x.tag)\n .map(x => x.tag as string) ?? [];\n },\n tagOptions(): SelectOption[] {\n return withEmpty(this._tagOptions.map(x => toSelectOption(x)));\n },\n hasLanguages(): boolean {\n return this._languageOptions.length > 0;\n },\n _languageOptions(): string[] {\n return this.form?.options\n .filter(x => x.language && x.tag == this.selectedTag)\n .map(x => x.language as string) ?? [];\n },\n languageOptions(): SelectOption[] {\n return withEmpty(this._languageOptions.map(x => toSelectOption(x)));\n }\n },\n provide() {\n return {\n styles: myStyles,\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=8aa16b54&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=8aa16b54&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 \"8aa16b54\",\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","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 { ConfigService } from \"@/services/config-service\";\nimport { Vaultifier, VaultItem } from \"vaultifier\";\nimport { NetworkResponse } from \"vaultifier/dist/module/communicator\";\nimport Vue from \"vue\";\n\nexport interface Action {\n key: string,\n title: string,\n url: string,\n usesAuth: boolean,\n method: string,\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 === 'OPEN') {\n window.open(url, '_blank');\n }\n else\n try {\n if (url.indexOf(baseUrlPlaceholder) !== -1) {\n const vaultifierUrl = url.replace(baseUrlPlaceholder, '');\n\n if (method === 'POST')\n returnValue = await vaultifier.post(vaultifierUrl, usesAuth);\n else if (method === 'PUT')\n returnValue = await vaultifier.put(vaultifierUrl, usesAuth);\n else if (method === '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}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 { MimeType, VaultItem, VaultPostItem, crypto } from 'vaultifier';\nimport FormView from './FormView.vue';\nimport InlineGroup from './InlineGroup.vue';\nimport CustomButton from './Button.vue';\nimport Spinner from './Spinner.vue';\nimport { JsonFormsChangeEvent } from '@jsonforms/vue2';\nimport { Soya, SoyaQueryResult } from 'soya-js';\nimport { IStore } from '@/store';\nimport { getInstance } from '@/services';\nimport { ConfigService } from '@/services/config-service';\nimport { Action, executeAction, getActionsFromConfig } from '@/utils/actions';\n\ninterface SoyaStructure {\n name?: string;\n dri: string;\n}\n\ninterface Data {\n editableText?: string,\n selectedStructure?: SoyaStructure,\n suggestItems: SoyaQueryResult[],\n isLoading: boolean,\n isExecutingAction: boolean,\n showTypeahead: boolean,\n formData: any,\n}\n\nexport default Vue.extend({\n components: {\n FormView,\n CustomButton,\n InlineGroup,\n Spinner,\n },\n props: {\n schemaDri: String as PropType,\n item: Object as PropType,\n isSaving: {\n type: Boolean as PropType,\n default: false,\n },\n hasCancel: {\n type: Boolean as PropType,\n default: true\n },\n allowSelectSchema: {\n type: Boolean as PropType,\n default: true,\n }\n },\n data: (): Data => ({\n editableText: '',\n selectedStructure: undefined,\n suggestItems: [],\n isLoading: false,\n isExecutingAction: false,\n showTypeahead: false,\n formData: undefined,\n }),\n mounted() {\n if (this.schemaDri)\n this.selectStructure({\n name: undefined,\n dri: this.schemaDri,\n });\n },\n methods: {\n async saveEdit(): Promise {\n if (!this.selectedStructure)\n return false;\n\n // @ts-expect-error\n if (!(this.$refs.form).validate()) {\n return false;\n }\n\n // TODO: We should let the user decide whether DRI should be calculated automatically or not\n const postItem: VaultPostItem = {\n content: this.formData,\n id: this.item?.id,\n dri: await crypto.generateHashlink(this.formData),\n schemaDri: this.selectedStructure.dri,\n mimeType: MimeType.JSON,\n };\n\n // promise ensures we really await the correct saving of the item\n await new Promise((resolve) => {\n this.$emit('save', postItem, resolve);\n });\n\n return true;\n },\n async executeAction(action: Action) {\n this.isExecutingAction = true;\n\n // TODO: await saveEdit does not work\n // if saving did not work, we do not execute vaccination\n if (this.item && await this.saveEdit())\n try {\n await executeAction(action, getInstance(), undefined, this.item);\n } catch (e) {\n console.error(e);\n }\n\n this.isExecutingAction = false;\n },\n cancelEdit(): void {\n this.$emit('cancel');\n },\n selectStructure(structure?: SoyaStructure) {\n this.selectedStructure = structure;\n\n if (structure && !structure.name) {\n const item = (this.$store.state as IStore).schemaDRI.all.find(x => x.dri === structure.dri);\n if (item)\n structure.name = item.title;\n }\n\n this.showTypeahead = false;\n },\n async selectFromTypeahead(result: SoyaQueryResult): Promise {\n this.isLoading = true;\n\n this.selectStructure(result);\n\n this.isLoading = false;\n },\n onDataChange(event: JsonFormsChangeEvent) {\n this.formData = event.data;\n }\n },\n computed: {\n hasSelectedStructure(): boolean {\n return !!this.selectedStructure;\n },\n selectedStructureName(): string | undefined {\n return this.selectedStructure ? (this.selectedStructure.name || this.selectedStructure.dri) : undefined;\n },\n actions(): Action[] {\n // TODO: is this any nice?\n return getActionsFromConfig('settings', 'additionalFormActions').filter(x => (x as any).schemaDri === this.schemaDri);\n }\n },\n watch: {\n item: {\n handler(value: VaultItem | undefined) {\n this.formData = value?.content;\n },\n immediate: true,\n },\n schemaDri(value?: string) {\n if (value)\n this.selectStructure({\n name: undefined,\n dri: value,\n });\n else\n this.selectStructure(undefined);\n },\n async editableText(value: string) {\n if (!value)\n this.suggestItems = [];\n // type at least 3 characters\n else if (value.length >= 3)\n this.suggestItems = await new Soya().query({ name: value });\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!./FormEditView.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!./FormEditView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormEditView.vue?vue&type=template&id=51479ace&scoped=true&\"\nimport script from \"./FormEditView.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormEditView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormEditView.vue?vue&type=style&index=0&id=51479ace&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 \"51479ace\",\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('div',{staticClass:\"col-md-6\"},[_c('h3',{staticClass:\"heading\"},[_vm._v(\"Downstream\")]),_c('list',{attrs:{\"isLoading\":_vm.isWorking},on:{\"refresh\":_vm.refreshRelations}},_vm._l((_vm.downstreamIds),function(id){return _c('b-list-group-item',{key:id,on:{\"click\":function($event){return _vm.selectId(id)}}},[_vm._v(\" \"+_vm._s(id)+\" \")])}),1)],1),_c('div',{staticClass:\"col-md-6\"},[_c('h3',{staticClass:\"heading\"},[_vm._v(\"Upstream\")]),_c('list',{attrs:{\"isLoading\":_vm.isWorking},on:{\"refresh\":_vm.refreshRelations}},_vm._l((_vm.upstreamIds),function(id){return _c('b-list-group-item',{key:id,on:{\"click\":function($event){return _vm.selectId(id)}}},[_vm._v(\" \"+_vm._s(id)+\" \")])}),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","\n\n\n\n\n\n\n\n\n\n\n\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 { getInstance } from '@/services'\nimport { VaultItem } from 'vaultifier'\nimport Vue, { PropType } from 'vue'\nimport List from './List.vue'\n\nexport interface Data {\n downstreamIds: number[];\n upstreamIds: number[];\n isWorking: boolean;\n}\n\nexport default Vue.extend({\n components: {\n List,\n },\n props: {\n item: Object as PropType,\n },\n data: (): Data => ({\n downstreamIds: [],\n upstreamIds: [],\n isWorking: false,\n }),\n created() {\n this.refreshRelations();\n },\n watch: {\n item() {\n this.refreshRelations();\n },\n downstreamIds() {\n this.emitUpdate();\n },\n upstreamIds() {\n this.emitUpdate();\n },\n },\n methods: {\n async refreshRelations() {\n this.isWorking = true;\n\n const res = await getInstance().getRelations(this.item.id);\n const relations = res.find(x => x.id === this.item.id);\n\n this.isWorking = false;\n\n if (!relations) {\n this.downstreamIds = this.upstreamIds = [];\n return;\n }\n\n this.downstreamIds = relations.downstream;\n this.upstreamIds = relations.upstream;\n },\n selectId(id: number) {\n this.$emit('selectId', id);\n },\n emitUpdate() {\n this.$emit('update', this.downstreamIds, this.upstreamIds);\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!./RelationsView.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!./RelationsView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RelationsView.vue?vue&type=template&id=0cac0ed6&\"\nimport script from \"./RelationsView.vue?vue&type=script&lang=ts&\"\nexport * from \"./RelationsView.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('form',{ref:\"form\",attrs:{\"action\":\"https://www.a-trust.at/mobile/https-security-layer-request/default.aspx\",\"enctype\":\"application/x-www-form-urlencoded\",\"method\":\"post\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.xmlBody),expression:\"xmlBody\"}],attrs:{\"type\":\"hidden\",\"name\":\"XMLRequest\"},domProps:{\"value\":(_vm.xmlBody)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.xmlBody=$event.target.value}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.responseUrl),expression:\"responseUrl\"}],attrs:{\"type\":\"hidden\",\"name\":\"DataURL\"},domProps:{\"value\":(_vm.responseUrl)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.responseUrl=$event.target.value}}})])}\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\nimport { getInstance } from '../services/communicator-service';\nimport { VaultItem } from 'vaultifier';\nimport Vue, { PropType } from 'vue'\nimport { RouteParams } from '@/router/routes';\n\ninterface Data {\n eidasToken?: string,\n}\n\nexport default Vue.extend({\n props: {\n item: Object as PropType,\n },\n data: (): Data => ({\n eidasToken: undefined,\n }),\n methods: {\n async sign(): Promise {\n this.eidasToken = await getInstance().getEidasToken(this.item.id);\n // wait until vue has redrawn the HTML\n await Vue.nextTick();\n\n if (this.isValid) {\n (this.$refs.form as HTMLFormElement).submit();\n // if everything is fine we return a promise that will not be resolved\n // because the current page will be left and there is nothing more to do :-)\n return new Promise(() => undefined);\n }\n }\n },\n computed: {\n isValid(): boolean {\n return !!(this.responseUrl && this.xmlBody);\n },\n responseUrl(): string | undefined {\n if (this.eidasToken) {\n const { id } = this.item;\n const url = new URL(window.location.origin);\n url.searchParams.append(RouteParams.ITEM_ID, id.toString());\n\n return getInstance().urls.getEidasExternalUrl(id, this.eidasToken, window.encodeURIComponent(url.toString()));\n }\n\n return undefined;\n },\n xmlBody(): string | undefined {\n if (this.item.raw) {\n return `\n\n\n SecureSignatureKeypair\n \n \n text/plain\n \n \n ${btoa(JSON.stringify(this.item.raw, undefined, 2))}\n \n \n`.trim();\n }\n\n return undefined;\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!./HandySignaturForm.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!./HandySignaturForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HandySignaturForm.vue?vue&type=template&id=cc320f5c&\"\nimport script from \"./HandySignaturForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./HandySignaturForm.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',[(_vm.error)?_c('b-alert',{attrs:{\"variant\":\"danger\",\"show\":\"\"}},[_vm._v(_vm._s(_vm.error))]):(_vm.isLoading)?_c('spinner'):_vm._e(),_c('b-img',{staticClass:\"provenance-img\",attrs:{\"hidden\":_vm.isLoading && !_vm.error,\"src\":_vm.src},on:{\"load\":function () { return _vm.isLoading = false; }}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { getInstance } from '@/services';\nimport Vue, { PropType } from 'vue'\nimport Spinner from './Spinner.vue';\nimport { getPlantUmlUrl } from '../utils';\nimport { VaultItem } from 'vaultifier';\n\ninterface Data {\n isLoading: boolean,\n src: string,\n error?: string,\n}\n\nexport default Vue.extend({\n components: {\n Spinner\n },\n props: {\n item: Object as PropType,\n },\n data: (): Data => ({\n isLoading: true,\n src: '',\n error: undefined,\n }),\n async created() {\n const plantUml = (await getInstance().getProvis({\n id: this.item.id,\n }))[0];\n\n if (plantUml)\n this.src = getPlantUmlUrl(plantUml);\n else\n this.error = 'Could not find PlantUML data.';\n },\n methods: {\n getImageUrl(value: string): string {\n return getPlantUmlUrl(value);\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!./Provis.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!./Provis.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Provis.vue?vue&type=template&id=91ed3b72&scoped=true&\"\nimport script from \"./Provis.vue?vue&type=script&lang=ts&\"\nexport * from \"./Provis.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Provis.vue?vue&type=style&index=0&id=91ed3b72&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 \"91ed3b72\",\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 FormEditView from './FormEditView.vue';\nimport RelationsView from './RelationsView.vue';\nimport HandySignaturForm from './HandySignaturForm.vue';\nimport Provis from './Provis.vue';\n\nimport { ActionType } from '@/store/action-type';\nimport RawJson from './RawJson.vue';\n\ninterface Data {\n isSaving: boolean;\n activeTabIndex: number;\n totalRelations: number;\n hasSignError: boolean;\n isSigning: boolean;\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 totalRelations: 0,\n hasSignError: false,\n isSigning: false,\n }),\n components: {\n RawData,\n FormEditView,\n RelationsView,\n HandySignaturForm,\n RawJson,\n Provis,\n },\n computed: {\n schemaDri(): string | undefined {\n return this.item.schemaDri;\n },\n hasSchema(): boolean {\n return !!this.schemaDri;\n },\n handySignaturLogo(): string {\n return require('../assets/handysign_logo.jpg');\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 {\n /* TODO: Error handling */\n }\n\n this.isSaving = false;\n\n if (onComplete)\n // indicate saving is complete\n onComplete();\n },\n selectVaultItem(id: number) {\n this.$emit('selectVaultItem', {\n id,\n } as VaultMinMeta);\n\n // if new vault item was set through clicking on a relation\n // we want to show the first tab so the user notices something has changed\n this.activeTabIndex = 0;\n },\n async signItem() {\n this.hasSignError = false;\n this.isSigning = true;\n\n await (this.$refs.handySignaturForm as any).sign();\n\n // if .sign() fulfills the promise, something went wrong\n // signing always leaves the current browser page that's why the promise will not be resolved, if everything goes according to plan :-)\n this.hasSignError = true;\n this.isSigning = 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!./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=121a6491&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=121a6491&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 \"121a6491\",\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}},_vm._l((_vm.schemaDRIs),function(item){return _c('b-list-group-item',{key:item.dri,attrs:{\"active\":_vm.selectedSchema && item.dri === _vm.selectedSchema.dri},on:{\"click\":function () { return _vm.selectSchema(item); }}},[_vm._v(\" \"+_vm._s(item.title || item.dri)+\" \")])}),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',{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\")])]},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),(_vm.showEditView)?_c('b-container',[(_vm.saveMessage)?_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.saveMessage)+\" \")]):_vm._e(),_c('oca-edit-view',{staticClass:\"col-md-12 oca-edit-view\",attrs:{\"schemaDri\":_vm.editViewSchemaDri,\"isSaving\":_vm.isSaving},on:{\"save\":_vm.saveVaultItem,\"cancel\":function () { return _vm._showEditView(false); }}})],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\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 OcaEditView from './FormEditView.vue';\nimport { MimeType, VaultItem, VaultMinMeta, VaultPostItem, VaultSchema } from 'vaultifier/dist/module';\nimport { ActionType } from '@/store/action-type';\nimport { FetchState } from '@/store/fetch-state';\nimport { getInstance } from '@/services';\nimport Spinner from './Spinner.vue';\nimport { ConfigService } from '@/services/config-service';\nimport { NetworkResponse } from 'vaultifier/dist/module/communicator';\nimport { Action, executeAction, getActionsFromConfig } from '@/utils/actions';\n\ninterface IData {\n selectedSchema?: VaultSchema,\n showEditView: boolean,\n editViewSchema?: VaultSchema,\n isSaving: boolean,\n isExecutingAction: boolean,\n saveMessage?: string,\n}\n\nexport default Vue.extend({\n mounted() {\n this.initialize();\n },\n data: (): IData => ({\n selectedSchema: undefined,\n showEditView: false,\n editViewSchema: undefined,\n isSaving: false,\n isExecutingAction: false,\n saveMessage: undefined,\n }),\n components: {\n CustomButton,\n OcaEditView,\n List,\n Spinner,\n },\n methods: {\n async initialize() {\n await this.fetchSchemas();\n },\n async selectSchema(schema: VaultSchema) {\n this.selectedSchema = schema;\n\n await this.fetchVaultItems();\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 await this.$store.dispatch(ActionType.FETCH_SCHEMA_DRIS);\n },\n async fetchVaultItems(refreshObj?: RefreshObj) {\n let fetchObj: IFetchVaultItems = {\n schema: this.selectedSchema,\n page: refreshObj?.page,\n };\n\n await this.$store.dispatch(ActionType.FETCH_VAULT_ITEMS, fetchObj);\n },\n async deleteSelectedVaultItem() {\n await this.$store.dispatch(ActionType.DELETE_VAULT_ITEM, this.selectedVaultItem);\n await this.fetchSchemas();\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, undefined);\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.schemaDri) {\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.schemaDri);\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.saveMessage = undefined;\n this.isSaving = true;\n\n try {\n await this.$store.dispatch(ActionType.UPDATE_VAULT_ITEM, postItem);\n this._showEditView(false);\n } catch {\n this.saveMessage = 'Could not save item';\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.saveMessage = undefined;\n this.editViewSchema = this.selectedSchema;\n\n this.$emit('showEditView', this.showEditView);\n },\n },\n computed: {\n schemaDRIs(): VaultSchema[] {\n return this.$store.state.schemaDRI.all;\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=5ed81ef7&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=5ed81ef7&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 \"5ed81ef7\",\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 await this.$store.dispatch(ActionType.DELETE_VAULT_ITEM, this.selectedVaultItem);\n this.fetchRepos();\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=6885a059&\"\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","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.isTableListLoading},on:{\"refresh\":_vm.fetchTables}},_vm._l((_vm.tables),function(item){return _c('b-list-group-item',{key:item.id,attrs:{\"active\":_vm.selectedTable && item.id === _vm.selectedTable.id},on:{\"click\":function () { return _vm.selectTable(item); }}},[_vm._v(_vm._s(item.id))])}),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',{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),_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('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 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];","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","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 from '../components/List.vue';\nimport CustomButton from '../components/Button.vue';\nimport { VaultItem, VaultMinMeta, VaultTable } from 'vaultifier/dist/module';\nimport { ActionType } from '@/store/action-type';\nimport { FetchState } from '@/store/fetch-state';\nimport ChartVisualizer from './ChartVisualizer.vue';\n\ninterface IData {\n selectedTable?: VaultTable,\n selectedTabIndex: number,\n dataItemCount: number,\n dataItemPage?: number,\n}\n\nexport default Vue.extend({\n mounted() {\n this.initialize();\n },\n data: (): IData => ({\n selectedTable: undefined,\n selectedTabIndex: 0,\n dataItemCount: 50,\n dataItemPage: undefined,\n }),\n components: {\n List,\n CustomButton,\n ChartVisualizer,\n },\n methods: {\n async initialize() {\n this.fetchTables();\n },\n async selectTable(item?: VaultTable) {\n this.selectedTable = item;\n\n this.fetchVaultItems();\n },\n async selectVaultItem(item?: VaultMinMeta) {\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEM, item);\n },\n async fetchTables() {\n this.selectedTable = undefined;\n this.$store.dispatch(ActionType.FETCH_TABLES);\n },\n async fetchVaultItems(refreshObj?: IFetchVaultItems) {\n const isChart = this.selectedTabIndex === 1;\n\n refreshObj = {\n ...refreshObj,\n table: this.selectedTable,\n // we only want to fetch all the content if we display charts\n fetchContent: isChart,\n };\n\n if (isChart) {\n refreshObj.size = this.dataItemCount;\n refreshObj.page = this.dataItemPage;\n }\n\n this.$store.dispatch(ActionType.FETCH_VAULT_ITEMS, refreshObj);\n },\n async deleteSelectedVaultItem() {\n await this.$store.dispatch(ActionType.DELETE_VAULT_ITEM, this.selectedVaultItem);\n this.fetchTables();\n },\n async handleActivateTab() {\n this.selectedTable = undefined;\n this.$store.dispatch(ActionType.RESET_VAULT_ITEMS);\n }\n },\n computed: {\n store(): IStore {\n return this.$store.state as IStore;\n },\n tables(): VaultTable[] {\n return this.store.table.all;\n },\n isTableListLoading(): boolean {\n return this.store.table.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 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!./TableView.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!./TableView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TableView.vue?vue&type=template&id=680d0eb8&\"\nimport script from \"./TableView.vue?vue&type=script&lang=ts&\"\nexport * from \"./TableView.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\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 TableView from '../components/TableView.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}\n\nexport default Vue.extend({\n components: {\n DataVisualizer,\n Spinner,\n SchemaView,\n RepoView,\n TableView,\n },\n data: (): Data => ({\n hasRepoSupport: 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 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 }\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=36eb33d8&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=36eb33d8&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 \"36eb33d8\",\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\nimport { RoutePath } from '@/router';\nimport { getInstance } from '@/services';\nimport { IStore } from '@/store';\nimport { ActionType } from '@/store/action-type';\nimport { VaultEncryptionSupport } from 'vaultifier';\nimport { Action, 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}\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 },\n data: (): Data => ({\n workingAction: undefined,\n }),\n methods: {\n async executeAction(action: Action) {\n this.workingAction = action;\n await executeAction(action, getInstance(), this);\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}-${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 return getActionsFromConfig('settings', '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=41de476a&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=41de476a&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 \"41de476a\",\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(\"DataBud 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=c0fc6e04&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=c0fc6e04&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 \"c0fc6e04\",\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\nimport Vue from \"vue\";\nimport { getInstance as getVaultifier, setInstance as setVaultifier } 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, } from 'vaultifier';\nimport { RoutePath } from './router';\nimport { RouteParams } from \"./router/routes\";\nimport { IStore } from \"./store\";\nimport { ConfigService } from \"./services/config-service\";\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 | 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\n await vw.initialize({\n oAuthType: credentials as OAuthIdentityProvider,\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 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 await this.initializeOca();\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 async initializeOca() {\n const { content: configurationItems } = await getVaultifier().getValues({\n // That's the dri of \"ConfigurationItem\", basically it's a key value pair\n schemaDri: '4ktjMzvwbhAeGM8Dwu67VcCnuJc52K3fVdq7V1qCPWLw',\n });\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)[] | undefined {\n return this.vaultSupport?.oAuth;\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=e9bc956e&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=e9bc956e&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 \"e9bc956e\",\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';\n\nimport VueMultiselect from 'vue-multiselect';\nimport 'vue-multiselect/dist/vue-multiselect.min.css';\n\nimport VueCompositionApi from '@vue/composition-api';\n\nimport { ConfigService } from './services/config-service';\n\n(async () => {\n await ConfigService.initialize();\n\n Vue.use(BootstrapVue);\n Vue.use(IconsPlugin);\n \n Vue.component('b-typeahead', VueBootstrapTypeahead);\n Vue.component('multiselect', VueMultiselect);\n\n // composition api is needed for json-forms\n Vue.use(VueCompositionApi);\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!./MainView.vue?vue&type=style&index=0&id=36eb33d8&scoped=true&lang=css&\""],"sourceRoot":""}