{"version":3,"file":"js/app-legacy.6e9c1596.js","mappings":"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","sources":["webpack://yucca/./src/components/YccLogo.vue?0b37","webpack://yucca/src/components/YccLogo.vue","webpack://yucca/./src/components/YccLogo.vue?0171","webpack://yucca/./src/components/YccLogo.vue","webpack://yucca/./src/components/ycc-alert/YccAlert.vue?4674","webpack://yucca/./src/components/ycc-alert/alertCssClasses.js","webpack://yucca/src/components/ycc-alert/YccAlert.vue","webpack://yucca/./src/components/ycc-alert/YccAlert.vue?4881","webpack://yucca/./src/components/ycc-alert/YccAlert.vue","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue?a9ee","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue?a860","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue?5d21","webpack://yucca/src/components/ycc-datepicker/YccCalendarControls.vue","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue?7611","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue","webpack://yucca/./src/extends/PropertyError.js","webpack://yucca/src/components/ycc-datepicker/YccCalendar.vue","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue?0a35","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue","webpack://yucca/src/components/ycc-datepicker/YccDatepickerContent.vue","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue?4309","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue?960c","webpack://yucca/./src/components/ycc-dropdown/constants.js","webpack://yucca/src/components/ycc-dropdown/YccDropdown.vue","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue?e67c","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue","webpack://yucca/./src/components/ycc-hint/YccHint.vue?73b9","webpack://yucca/src/components/ycc-hint/YccHint.vue","webpack://yucca/./src/components/ycc-hint/YccHint.vue?f302","webpack://yucca/./src/components/ycc-hint/YccHint.vue","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue?9b41","webpack://yucca/src/components/ycc-validation-error/YccValidationError.vue","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue?1a4d","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue","webpack://yucca/./src/components/tunnel/statuses.js","webpack://yucca/./src/components/ycc-alert/names.js","webpack://yucca/./src/components/ycc-datepicker/constants.js","webpack://yucca/./src/components/ycc-player/constants.js","webpack://yucca/./src/components/ycc-player/extends/componentIds.js","webpack://yucca/./src/config/httpClient.js","webpack://yucca/./src/constants/api.js","webpack://yucca/./src/constants/errorTypes.js","webpack://yucca/./src/constants/links.js","webpack://yucca/./src/constants/main.js","webpack://yucca/./src/constants/noticeTypes.js","webpack://yucca/./src/constants/pageNames.js","webpack://yucca/./src/constants/pages.js","webpack://yucca/./src/constants/positionConstants.js","webpack://yucca/./src/extends/browserEnv.js","webpack://yucca/./src/extends/lib.js","webpack://yucca/./src/extends/StorageAdapter.js","webpack://yucca/./src/extends/storageServices.js","webpack://yucca/./src/config/yccBootConfig.js","webpack://yucca/./src/config/translations.js","webpack://yucca/./src/config/gettextOptions.js","webpack://yucca/./src/extends/YccConfigPlugin.js","webpack://yucca/./src/App.vue?432c","webpack://yucca/./src/extends/cookieService.js","webpack://yucca/./src/components/ycc-layout/YccLayout.vue?3173","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue?bb11","webpack://yucca/src/components/ycc-toolbar/YccToolbar.vue","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue?0b67","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue","webpack://yucca/./src/components/ycc-header/YccHeader.vue?2f18","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue?9e18","webpack://yucca/src/components/ycc-header/YccHeaderMenu.vue","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue?ae94","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue","webpack://yucca/src/components/ycc-header/YccHeader.vue","webpack://yucca/./src/components/ycc-header/YccHeader.vue?c7f5","webpack://yucca/./src/components/ycc-header/YccHeader.vue","webpack://yucca/src/components/ycc-layout/YccLayout.vue","webpack://yucca/./src/components/ycc-layout/YccLayout.vue?078f","webpack://yucca/./src/components/ycc-layout/YccLayout.vue","webpack://yucca/src/App.vue","webpack://yucca/./src/App.vue?facb","webpack://yucca/./src/App.vue","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue?5b17","webpack://yucca/./src/extends/correctingPosition.js","webpack://yucca/src/components/ycc-hint/YccHintContent.vue","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue?14d8","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue","webpack://yucca/./src/components/ycc-hint/createHint.js","webpack://yucca/./src/components/ycc-hint/initHint.js","webpack://yucca/./src/config/setVueConfig.js","webpack://yucca/./src/constants/progressBarOptions.js","webpack://yucca/./src/components/ycc-datepicker/datepicker.js","webpack://yucca/./src/config/setPlugins.js","webpack://yucca/./src/main.js","webpack://yucca/./src/constants/metaForProgressLoader.js","webpack://yucca/./src/router.js","webpack://yucca/./src/store/utilities.js","webpack://yucca/./src/store/player/lib.js","webpack://yucca/./src/components/ycc-player/extends/createMarkers.js","webpack://yucca/./src/components/ycc-player/extends/ProgressBarController.js","webpack://yucca/./src/store/player/player.js","webpack://yucca/./src/store/profile/index.js","webpack://yucca/./src/store/admin/index.js","webpack://yucca/./src/store/stream/index.js","webpack://yucca/./src/store/license/index.js","webpack://yucca/./src/store/mosaic/index.js","webpack://yucca/./src/store/streams/index.js","webpack://yucca/./src/store/tunnel/index.js","webpack://yucca/./src/store/cluster/index.js","webpack://yucca/./src/store/auth/index.js","webpack://yucca/./src/store/store.js","webpack://yucca/webpack/bootstrap","webpack://yucca/webpack/runtime/chunk loaded","webpack://yucca/webpack/runtime/compat get default export","webpack://yucca/webpack/runtime/define property getters","webpack://yucca/webpack/runtime/ensure chunk","webpack://yucca/webpack/runtime/get javascript chunk filename","webpack://yucca/webpack/runtime/get mini-css chunk filename","webpack://yucca/webpack/runtime/global","webpack://yucca/webpack/runtime/hasOwnProperty shorthand","webpack://yucca/webpack/runtime/load script","webpack://yucca/webpack/runtime/make namespace object","webpack://yucca/webpack/runtime/publicPath","webpack://yucca/webpack/runtime/css loading","webpack://yucca/webpack/runtime/jsonp chunk loading","webpack://yucca/webpack/startup"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logo\",class:{'fix-height': _vm.isHeader}},[_c('img',{attrs:{\"src\":_vm.logo}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLogo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLogo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccLogo.vue?vue&type=template&id=d81de4c2&scoped=true&\"\nimport script from \"./YccLogo.vue?vue&type=script&lang=js&\"\nexport * from \"./YccLogo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccLogo.vue?vue&type=style&index=0&id=d81de4c2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d81de4c2\",\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:\"alert-ycc\",class:_vm.alertCssClasses,attrs:{\"role\":\"alert\"}},[(_vm.isShowIcon)?_c('div',{staticClass:\"alert-ycc_icon\"}):_vm._e(),_c('div',{staticClass:\"alert-ycc_container\"},[(_vm.hasTitle)?_c('div',{staticClass:\"alert-ycc_title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_c('div',{staticClass:\"alert-ycc_content\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\n ATTENTION,\n ATTENTION_DANGER,\n ATTENTION_INFO,\n ATTENTION_WARNING,\n DANGER,\n SUCCESS,\n WARNING,\n} from './names';\n\nexport default {\n [SUCCESS] : { name: `alert-ycc-${SUCCESS}`, hasIcon: false },\n [DANGER] : { name: `alert-ycc-${DANGER}`, hasIcon: false },\n [WARNING] : { name: `alert-ycc-${WARNING}`, hasIcon: false },\n [ATTENTION] : { name: `alert-ycc-${ATTENTION}`, hasIcon: true },\n [ATTENTION_INFO] : { name: `alert-ycc-${ATTENTION_INFO}`, hasIcon: true },\n [ATTENTION_WARNING]: { name: `alert-ycc-${ATTENTION_WARNING}`, hasIcon: true },\n [ATTENTION_DANGER] : { name: `alert-ycc-${ATTENTION_DANGER}`, hasIcon: true },\n};\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccAlert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccAlert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccAlert.vue?vue&type=template&id=5766bb6a&scoped=true&\"\nimport script from \"./YccAlert.vue?vue&type=script&lang=js&\"\nexport * from \"./YccAlert.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccAlert.vue?vue&type=style&index=0&id=5766bb6a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5766bb6a\",\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',{ref:\"datepicker\",staticClass:\"datepicker-ycc datepicker-ycc_calendar\",style:(_vm.datepickerStyles)},[_c('ycc-calendar',{ref:\"calendar\",attrs:{\"calendar-id\":(_vm.datepickerId + \"-calendar\"),\"range-type\":_vm.rangeType,\"lang\":_vm.lang,\"start-date\":_vm.startDate,\"number-of-month\":_vm.correctedNumberOfMonth,\"is-highlight-today\":_vm.isHighlightToday,\"is-highlight-weekend\":_vm.isHighlightWeekend,\"period\":_vm.period,\"max-range\":_vm.maxRange,\"min-allowed-date\":_vm.minAllowedDate,\"max-allowed-date\":_vm.maxAllowedDate,\"use-controls\":true,\"significant-dates\":_vm.significantDates,\"is-disabled-date\":_vm.isDisabledDate},on:{\"decreased-month\":_vm.decreaseMonth,\"increased-month\":_vm.increaseMonth,\"updated-dates\":_vm.onClickDay}})],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',[(_vm.useControls)?_c('ycc-calendar-controls',{attrs:{\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"months\":_vm.months},on:{\"decreased-month\":_vm.decreaseMonth,\"increased-month\":_vm.increaseMonth}}):_vm._e(),_c('div',{staticClass:\"calendar-ycc\",class:{'multi': _vm.isMultiRangeType}},[_c('div',{staticClass:\"months\"},_vm._l((_vm.months),function(month,key){return _c('div',{key:key,staticClass:\"month\"},[_c('div',{staticClass:\"month_header\"},[_c('div',{staticClass:\"month_title\"},[_vm._v(\" \"+_vm._s(month.monthLabel)+\" \"+_vm._s(month.yearLabel)+\" \")])]),_c('div',{staticClass:\"month_content\"},[_c('div',{staticClass:\"week-labels\"},_vm._l((_vm.weekdayLabels),function(weekdayLabel,key){return _c('div',{key:key,staticClass:\"week-labels_item\",class:_vm.highlightWeekday(key)},[_c('div',{staticClass:\"item-content\"},[_vm._v(_vm._s(weekdayLabel))])])}),0),_c('div',{staticClass:\"weeks\"},_vm._l((month.weeks),function(week,key){return _c('div',{key:key,staticClass:\"week\"},_vm._l((week),function(day,key){return _c('div',{key:key,ref:\"day\",refInFor:true,staticClass:\"week_item\",class:_vm.getDayClasses(day),attrs:{\"data-date\":day.date},on:{\"click\":function($event){$event.preventDefault();return _vm.onClickDay(day.date)}}},[_c('div',{staticClass:\"item-content\",class:day.class,style:(day.style),attrs:{\"title\":day.title}},[_vm._v(\" \"+_vm._s(day.dayNumber)+\" \")])])}),0)}),0)])])}),0)])],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:\"calendar-controls\"},[_c('span',{staticClass:\"material-icons calendar-control_item calendar-control_item-left\",class:{'control-disabled': _vm.isDisablePrevMonthBtn},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":_vm.decreaseMonth}},[_vm._v(\" keyboard_arrow_left \")]),_c('span',{staticClass:\"material-icons calendar-control_item calendar-control_item-right\",class:{'control-disabled': _vm.isDisableNextMonthBtn},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":_vm.increaseMonth}},[_vm._v(\" keyboard_arrow_right \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendarControls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendarControls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccCalendarControls.vue?vue&type=template&id=4b870656&\"\nimport script from \"./YccCalendarControls.vue?vue&type=script&lang=js&\"\nexport * from \"./YccCalendarControls.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccCalendarControls.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","function PropertyError (property, message) {\n this.name = 'PropertyError';\n\n this.property = property;\n this.message = message;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, PropertyError);\n }\n else {\n this.stack = (new Error()).stack;\n }\n}\n\nexport default PropertyError;\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccCalendar.vue?vue&type=template&id=ebfa4b96&\"\nimport script from \"./YccCalendar.vue?vue&type=script&lang=js&\"\nexport * from \"./YccCalendar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccCalendar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDatepickerContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDatepickerContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccDatepickerContent.vue?vue&type=template&id=f8c6b880&\"\nimport script from \"./YccDatepickerContent.vue?vue&type=script&lang=js&\"\nexport * from \"./YccDatepickerContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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:\"sgc-dropdown\",class:[{'open': _vm.menuState.state}],attrs:{\"id\":_vm.uniqueKey,\"disabled\":_vm.disabled},on:{\"click\":_vm.changeState}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const NOT_CLOSING = 'sgc-dropdown-not_closing';\nexport const CLOSING = 'sgc-dropdown-closing';\nexport const MENU = 'sgc-dropdown-menu';\nexport const SUBMENU = 'sgc-dropdown-submenu';\nexport const MENU_CONTENT = 'sgc-dropdown-menu-content';\nexport const SHOW = 'open';\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccDropdown.vue?vue&type=template&id=dbbc7322&scoped=true&\"\nimport script from \"./YccDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./YccDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccDropdown.vue?vue&type=style&index=0&id=dbbc7322&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dbbc7322\",\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',{ref:\"opener\",staticClass:\"hint-box-ycc_opener\",class:{'with-ellipsis': _vm.isOpenerEqualContent},attrs:{\"id\":_vm.hintId},on:{\"mouseenter\":_vm.openHint,\"mouseleave\":_vm.closeHint}},[_vm._t(\"opener\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHint.vue?vue&type=template&id=3378dbd0&\"\nimport script from \"./YccHint.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHint.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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:\"validation\",class:_vm.validationCssClass},[_c('span',{staticClass:\"validation_icon icon-ycc\"}),_c('div',{staticClass:\"validation_content\"},[_vm._v(\" \"+_vm._s(_vm.error)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccValidationError.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccValidationError.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccValidationError.vue?vue&type=template&id=b00c237a&\"\nimport script from \"./YccValidationError.vue?vue&type=script&lang=js&\"\nexport * from \"./YccValidationError.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","export default {\n disconnected: 'disconnected',\n connected : 'connected',\n connecting : 'connecting',\n};\n","export const SUCCESS = 'success';\nexport const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const ATTENTION = 'attention';\nexport const ATTENTION_INFO = 'attention-info';\nexport const ATTENTION_WARNING = 'attention-warning';\nexport const ATTENTION_DANGER = 'attention-danger';\n","const TYPES = {\n PERIOD: 'period',\n SINGLE: 'single',\n MULTI : 'multi',\n};\n\nconst WEEKDAY_LABELS = {\n ru: ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],\n en: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],\n};\n\nconst MAX_MONTH_IN_LINE = 3;\nconst MAX_MONTH_IN_DATEPICKER = 12;\nconst BORDER_WIDTH = 1;\nconst MONTH_WIDTH = 200;\nconst ISO_DATE_FORMAT = 'YYYY-MM-DD';\n\nconst DEFAULT_STATE = {\n datepickerId : 'datepicker',\n lang : 'en',\n numberOfMonth : 3,\n rangeType : TYPES.SINGLE,\n significantDates: [],\n size : '',\n\n start : null,\n end : null,\n maxAllowedDate: null,\n maxRange : null,\n minAllowedDate: null,\n\n isHighlightToday : true,\n isHighlightWeekend: true,\n isInline : false,\n isDisabled : false,\n};\n\nconst TEXT_POSITIONS = {\n LEFT : 'left',\n RIGHT: 'right',\n};\n\nconst TEXT_POSITION_CSS_CLASSES = {\n LEFT : 'text-align-left',\n RIGHT: 'text-align-right',\n};\n\nexport {\n TYPES,\n WEEKDAY_LABELS,\n MAX_MONTH_IN_LINE,\n BORDER_WIDTH,\n MONTH_WIDTH,\n MAX_MONTH_IN_DATEPICKER,\n ISO_DATE_FORMAT,\n DEFAULT_STATE,\n TEXT_POSITIONS,\n TEXT_POSITION_CSS_CLASSES,\n};\n","const RANGE_TYPES = {\n LIVE : 'live',\n GAP : 'gap',\n FRAGMENT: 'fragment',\n};\n\nconst ANNOTATION_TYPES = {\n EVENT: 'event',\n};\n\nconst THUMB = 'thumb';\n\nconst SPEED_INDEXES = [0.25, 0.5, 1, 2, 4, 8, 16];\n\nexport {\n RANGE_TYPES,\n THUMB,\n SPEED_INDEXES,\n ANNOTATION_TYPES,\n};\n","export const getThumbId = (playerId) => `${playerId}-thumb`;\nexport const getProgressBarId = (playerId) => `${playerId}-progress`;\nexport const getCurrentDateId = (playerId) => `${playerId}-current-date`;\n","/* eslint-disable import/no-cycle */\nimport axios from 'axios';\nimport {\n ACCESS_DENIED_ERR,\n SERVER_ERR,\n SERVER_ERROR_CODES,\n SERVER_NOT_RESPONSE_ERR,\n SERVER_UNKNOWN_ERR,\n} from '@/constants/errorTypes';\nimport router from '@/router';\nimport store from '@/store/store';\n\nconst $http = axios.create();\n\n$http.interceptors.request.use(\n (config) => config,\n (error) => Promise.reject(error),\n);\n\n$http.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 404) {\n router.replace({ path: '/*' });\n }\n else if (error.response.status === 403\n && error.response.data.code !== SERVER_ERROR_CODES.QuotaReached) {\n store.dispatch('setError', {\n errorMsg : ACCESS_DENIED_ERR,\n errorName: SERVER_ERR,\n });\n }\n else if (error.response.data.code === SERVER_ERROR_CODES.AuditLogsDisabled) {\n return Promise.reject(error);\n }\n else if (error.response.status !== 401 && error.response.status !== 423) {\n store.dispatch('setError', {\n errorMsg : error.response && error.response.data\n ? error.response.data.code : SERVER_UNKNOWN_ERR,\n errorName: SERVER_ERR,\n });\n }\n }\n else if (!axios.isCancel(error)) {\n store.dispatch('setError', {\n errorMsg : SERVER_NOT_RESPONSE_ERR,\n errorName: SERVER_ERR,\n });\n }\n return Promise.reject(error);\n },\n);\n\nexport default $http;\n","export const BASE_STREAM_URL = '/v1/stream';\nexport const GETTING_STREAMS_URL = '/v1/streams';\nexport const PAUSE_STREAM_URL = `${BASE_STREAM_URL}/pause`;\nexport const RESUME_STREAM_URL = `${BASE_STREAM_URL}/resume`;\nexport const PROBE_STREAM_URL = `${BASE_STREAM_URL}/probe`;\nexport const PREVIEW_STREAM_URL = `${BASE_STREAM_URL}/preview`;\n\nexport function getArchiveUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/index.m3u8`;\n}\n\nexport function getRangesUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/ranges`;\n}\n\nexport function getArchiveStatsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/stats`;\n}\n\nexport function getAvailableDaysUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/available-days`;\n}\n\nexport function getDownloadArchiveUrl ({ streamUid }) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/download`;\n}\n\nexport function getStreamPermissionsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/permissions`;\n}\n\nexport function getStreamLogsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/logs`;\n}\n\nexport function getStreamShareUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/share`;\n}\n\nexport function getStreamInfoUrl (streamUid, isLiveOnDemand = false) {\n return isLiveOnDemand\n ? `${BASE_STREAM_URL}/${streamUid}?extend_lease=true`\n : `${BASE_STREAM_URL}/${streamUid}`;\n}\n\n\nexport const SYSTEM_SETTINGS_URL = '/v1/system/internal/ui/settings';\nexport const SYSTEM_SEARCH = '/v1/system/internal/ui/search';\nexport const UNLOCK_URL = '/v1/system/unlock';\nexport const HEALTH_URL = '/v1/system/health';\nexport const LICENSE_URL = '/v1/system/license';\nexport const SERVER_DEBUG_URL = '/v1/system/logs';\nexport const SYSTEM_STATS_URL = '/v1/system/stats';\n\n\nexport const SIGN_IN_URL = '/v1/sign-in';\nexport const SIGN_OUT_URL = '/v1/sign-out';\n\n\nexport const USER_URL = '/v1/user';\nexport const USERS_URL = '/v1/users';\n\nexport function getBlockUserUrl (login) {\n return `${USER_URL}/${login}/block`;\n}\n\nexport function getUserPermissionsUrl (login) {\n return `${USER_URL}/${login}/permissions`;\n}\n\nexport function getUnblockUserUrl (login) {\n return `${USER_URL}/${login}/unblock`;\n}\n\nexport function getSessionsUserUrl (login) {\n return `${USER_URL}/${login}/sessions`;\n}\n\nexport function getSessionUserUrl (login, tokenId) {\n return `${USER_URL}/${login}/session/${tokenId}`;\n}\n\n\nexport const PROFILE_TOKENS_URL = '/v1/tokens';\nexport const PROFILE_TOKEN_URL = '/v1/token';\n\nexport function getDeleteTokenUrl (tokenId) {\n return `${PROFILE_TOKEN_URL}/${tokenId}`;\n}\n\n\nexport const STATS_URL = '/v1/admin/stats';\nexport const CONFIG_URL = '/v1/admin/configuration';\nexport const AUDIT_LOGS_URL = '/v1/admin/audit-logs';\nexport const ANNOTATIONS_URL = '/v1/annotations';\nexport const MOSAIC_URL = '/v1/mosaic';\nexport const ALL_MOSAICS_URL = '/v1/mosaics';\n\nexport const API_VERSION_CHECK = 'https://api.yucca.app/v1/version-check';\n\n\nexport const SESSIONS_URL = '/v1/sessions';\nexport const TERMINATE_SESSIONS_URL = `${SESSIONS_URL}/terminate`;\nexport const getSessionUrlById = (id) => `/v1/session/${id}`;\n\nexport const TUNNEL_START_URL = '/v1/tunnel/start';\nexport const TUNNEL_STOP_URL = '/v1/tunnel/stop';\nexport const TUNNEL_STATUS_URL = '/v1/tunnel/status';\n\n\nexport const CLUSTER_NODES_URL = '/v1/system/cluster/nodes';\nexport const INTERNAL_NODES_URL = '/v1/system/internal/ui/nodes';\nexport const getClusterNodeUrl = (nodeId) => `/v1/system/cluster/node/${nodeId}`;\nexport const getClusterNodeDrainUrl = (nodeId) => `/v1/system/cluster/node/${nodeId}/drain`;\nexport const getClusterNodeDeleteUrl = (nodeId) => `/v1/system/cluster/node/${nodeId}`;\n\nexport const PASSWORD_SEND_RESET_URL = '/v1/password/send-reset';\nexport const PASSWORD_RESET_URL = '/v1/password/reset';\n","export const SERVER_ERR = 'SERVER_ERR';\nexport const ACCESS_DENIED_ERR = 'ACCESS_DENIED_ERR';\nexport const SERVER_UNKNOWN_ERR = 'SERVER_UNKNOWN_ERR';\nexport const SERVER_NOT_RESPONSE_ERR = 'SERVER_NOT_RESPONSE_ERR';\nexport const CREDENTIALS_ERR = 'CREDENTIALS_ERR';\nexport const STREAM_SOURCE_ERR = 'STREAM_SOURCE_ERR';\nexport const STREAM_NAME_ERR = 'STREAM_NAME_ERR';\nexport const ARCHIVE_DEPTH_ERR = 'ARCHIVE_DEPTH_ERR';\nexport const CLUSTER_NODE_ERR = 'CLUSTER_NODE_ERR';\n\nexport const SERVER_ERROR_CODES = {\n AlreadyUsed : 'AlreadyUsed',\n AuthorizationFailed : 'AuthorizationFailed',\n EnterpriseOnly : 'EnterpriseOnly',\n Forbidden : 'Forbidden',\n InternalServerError : 'InternalServerError',\n InvalidOldPassword : 'InvalidOldPassword',\n NotFound : 'NotFound',\n OldPasswordAndNewPasswordCannotBeSame: 'OldPasswordAndNewPasswordCannotBeSame',\n PasswordIsNotComplexEnough : 'PasswordIsNotComplexEnough',\n RequestDecodeError : 'RequestDecodeError',\n ResponseEncodeError : 'ResponseEncodeError',\n TimeRangeIsTooLong : 'TimeRangeIsTooLong',\n Unavailable : 'Unavailable',\n ValidationError : 'ValidationError',\n ProbeError : 'ProbeError',\n LicenseExpired : 'LicenseExpired',\n QuotaReached : 'QuotaReached',\n IncorrectLicense : 'IncorrectLicense',\n FeatureNotFound : 'FeatureNotFound',\n AuditLogsDisabled : 'AuditLogsDisabled',\n\n EHOSTUNREACH : 'EHOSTUNREACH',\n HTTP_NOT_FOUND : 'HTTP_NOT_FOUND',\n HTTP_UNAUTHORIZED: 'HTTP_UNAUTHORIZED',\n};\n","import {\n RU,\n EN,\n} from '@/constants/main';\n\nexport const BASE_LANDING_URL = 'https://yucca.app';\nexport const DOCS_LINK = 'https://docs.yucca.app';\n\n// eslint-disable-next-line import/prefer-default-export\nexport function getPricesLink (utm, lang = EN) {\n if (lang === RU) {\n return `${BASE_LANDING_URL}/ru/prices?utm_source=${utm}`;\n }\n return `${BASE_LANDING_URL}/en/prices?utm_source=${utm}`;\n}\n","import { getScrollWidth } from '@/extends/lib';\nimport PAGES from './pages';\n\nexport const VIEW_MODES_KEYS = {\n GRID : 'GRID',\n TABLE: 'TABLE',\n};\n\nexport const SORT_TYPES_KEYS = {\n DATE : 'DATE',\n NAME : 'NAME',\n LOCATION: 'LOCATION',\n};\n\nexport const GROUP_TYPES_KEYS = {\n TAG : 'TAG',\n LOCATION: 'LOCATION',\n NO_GROUP: 'NO_GROUP',\n};\n\nexport const ADMIN_TABS_KEYS = {\n STATS : PAGES.ADMIN_STATS,\n USERS : PAGES.ADMIN_USERS,\n CONFIG : PAGES.ADMIN_CONFIG,\n LICENSE : PAGES.LICENSE,\n SERVER_DEBUG: PAGES.SERVER_DEBUG,\n TUNNEL : PAGES.TUNNEL,\n CLUSTER : PAGES.ADMIN_CLUSTER,\n AUDIT_LOGS : PAGES.AUDIT_LOGS,\n};\n\nexport const STREAM_INFO_TABS_KEYS = {\n INFO : PAGES.STREAM_INFO,\n PERMISSION : PAGES.STREAM_PERMISSION,\n SETTINGS : PAGES.STREAM_SETTING,\n STREAM_DEBUG: PAGES.STREAM_DEBUG,\n};\n\nexport const USER_TABS_KEYS = {\n INFO : PAGES.USER_INFO,\n EDIT : PAGES.USER_EDIT,\n PERMISSION: PAGES.USER_PERMISSION,\n AUTH_TOKEN: PAGES.USER_AUTH_TOKEN,\n};\n\nexport const PROFILE_TABS_KEYS = {\n INFO : PAGES.PROFILE_INFO,\n EDIT : PAGES.PROFILE_EDIT,\n TOKEN : PAGES.PROFILE_TOKEN,\n AUTH_TOKEN: PAGES.PROFILE_AUTH_TOKEN,\n};\n\nexport const USER_PERMISSION_TYPES = {\n ADMIN: 'ADMIN',\n USER : 'USER',\n};\n\nexport const STREAM_PERMISSION_TYPES = {\n ADMIN: 'admin',\n EDIT : 'edit',\n VIEW : 'view',\n NONE : 'none',\n};\n\nexport const UNLIMITED = 'UNLIMITED';\n\nexport const CLUSTER_NODE_STATE = {\n alive : 'alive',\n suspect: 'suspect',\n dead : 'dead',\n left : 'left',\n unknown: 'unknown',\n};\n\nexport const ADMIN_TABS = {\n [ADMIN_TABS_KEYS.STATS] : {\n key : ADMIN_TABS_KEYS.STATS,\n icon : 'show_chart',\n label: '',\n },\n [ADMIN_TABS_KEYS.USERS] : {\n key : ADMIN_TABS_KEYS.USERS,\n icon : 'supervisor_account',\n label: '',\n },\n [ADMIN_TABS_KEYS.CONFIG] : {\n key : ADMIN_TABS_KEYS.CONFIG,\n icon : 'settings',\n label: '',\n },\n [ADMIN_TABS_KEYS.SERVER_DEBUG]: {\n key : ADMIN_TABS_KEYS.SERVER_DEBUG,\n icon : 'bug_report',\n label: '',\n },\n [ADMIN_TABS_KEYS.LICENSE] : {\n key : ADMIN_TABS_KEYS.LICENSE,\n icon : 'card_membership',\n label: '',\n },\n [ADMIN_TABS_KEYS.TUNNEL] : {\n key : ADMIN_TABS_KEYS.TUNNEL,\n icon : 'public',\n label: '',\n },\n [ADMIN_TABS_KEYS.CLUSTER] : {\n key : ADMIN_TABS_KEYS.CLUSTER,\n icon : 'device_hub',\n label: '',\n },\n [ADMIN_TABS_KEYS.AUDIT_LOGS] : {\n key : ADMIN_TABS_KEYS.AUDIT_LOGS,\n icon : 'format_list_bulleted',\n label: '',\n },\n};\n\nexport const STREAM_INFO_TABS = {\n [STREAM_INFO_TABS_KEYS.INFO] : {\n key : STREAM_INFO_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.PERMISSION] : {\n key : STREAM_INFO_TABS_KEYS.PERMISSION,\n icon : 'security',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.SETTINGS] : {\n key : STREAM_INFO_TABS_KEYS.SETTINGS,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.STREAM_DEBUG]: {\n key : STREAM_INFO_TABS_KEYS.STREAM_DEBUG,\n icon : 'bug_report',\n label: '',\n },\n};\n\nexport const USER_TABS = {\n [USER_TABS_KEYS.INFO] : {\n key : USER_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.PERMISSION]: {\n key : USER_TABS_KEYS.PERMISSION,\n icon : 'security',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.EDIT] : {\n key : USER_TABS_KEYS.EDIT,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.AUTH_TOKEN]: {\n key : USER_TABS_KEYS.AUTH_TOKEN,\n icon : 'devices',\n label : '',\n disabled: false,\n },\n};\n\nexport const PROFILE_TABS = {\n [PROFILE_TABS_KEYS.INFO] : {\n key : PROFILE_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.TOKEN] : {\n key : PROFILE_TABS_KEYS.TOKEN,\n icon : 'vpn_key',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.EDIT] : {\n key : PROFILE_TABS_KEYS.EDIT,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.AUTH_TOKEN]: {\n key : PROFILE_TABS_KEYS.AUTH_TOKEN,\n icon : 'devices',\n label : '',\n disabled: false,\n },\n};\n\nexport const VIEW_MODES = {\n [VIEW_MODES_KEYS.GRID] : {\n key : 'GRID',\n class: 'grid-mode',\n icon : 'view_module',\n },\n [VIEW_MODES_KEYS.TABLE]: {\n key : 'TABLE',\n class: 'table-mode',\n icon : 'view_list',\n },\n};\n\nexport const SORT_TYPES = {\n [SORT_TYPES_KEYS.DATE] : {\n key : 'DATE',\n icon: '',\n },\n [SORT_TYPES_KEYS.NAME] : {\n key : 'NAME',\n icon: '',\n },\n [SORT_TYPES_KEYS.LOCATION]: {\n key : 'LOCATION',\n icon: '',\n },\n};\n\nexport const GROUP_TYPES = {\n [GROUP_TYPES_KEYS.TAG] : {\n key : GROUP_TYPES_KEYS.TAG,\n icon: 'label',\n },\n [GROUP_TYPES_KEYS.NO_GROUP]: {\n key : GROUP_TYPES_KEYS.NO_GROUP,\n icon: 'label_outline',\n },\n};\n\nexport const STREAM_STATUS = {\n RUNNING : 'running',\n PENDING : 'pending',\n PAUSED : 'paused',\n CANCELED: 'canceled',\n STOPPED : 'stopped',\n FAILED : 'failed',\n};\n\nexport const PLAYER_VIEW_MODES = {\n LIVE : 'LIVE',\n ARCHIVE: 'ARCHIVE',\n};\n\nexport const USER_ACCESSES = {\n active : 'active',\n blocked: 'blocked',\n};\n\nexport const MOVE_TIME = 200;\nexport const PANEL_SIZE = 45;\nexport const DEFAULT_DEPTH = 168;\nexport const DEFAULT_PLAYLIST_DURATION = 600;\nexport const EN = 'en';\nexport const EN_US = 'en-us';\nexport const RU = 'ru';\nexport const UK = 'uk';\nexport const ES = 'es';\nexport const PT = 'pt';\nexport const TR = 'tr';\n\nexport const SORTING_TYPES = {\n desc : 'desc',\n asc : 'asc',\n nonSort: 'nonSort',\n};\n\nexport const LANG_MAP = {\n [EN_US]: EN,\n [EN] : EN,\n [RU] : RU,\n [UK] : UK,\n [ES] : ES,\n [PT] : PT,\n [TR] : TR,\n};\n\nexport const PERMISSION_OBJECTS = {\n USER: 'USER',\n TEAM: 'TEAM',\n};\n\nexport const COLORS = {\n dark : '#4b4d64',\n stone: '#666',\n wolf : '#999',\n};\n\nexport const BREAKPOINTS_720 = 720;\n\nexport const SCROLL_WIDTH = getScrollWidth();\n\nexport const FEATURES = {\n cluster : 'Cluster',\n auditLogs : 'AuditLogs',\n branding : 'Branding',\n personalTokens: 'PersonalTokens',\n users : 'Users',\n streamShare : 'StreamShare',\n tunnel : 'Tunnel',\n teams : 'Teams',\n notification : 'Notification',\n quota : 'Quota',\n streamAcl : 'StreamAcl',\n gateway : 'Gateway',\n};\n\nexport const LIMITS = {\n clusterSize : 'cluster_size',\n gatewayFreeLimit: 'gateway_free_limit',\n userLimit : 'user_limit',\n};\n\nexport const PRODUCTS = {\n plus : 'Plus',\n enterprise: 'Enterprise',\n trial : 'Trial',\n};\n\nexport const LOCALS = {\n RU: 'ru',\n NL: 'nl',\n FEATURES,\n LIMITS,\n};\n\nexport const CLUSTER_ROLES = {\n member : 'member',\n leader : 'leader',\n pretender: 'pretender',\n unknown : 'unknown',\n};\n","export const PROFILE_UPDATED_NOTICE = 'PROFILE_UPDATED_NOTICE';\nexport const USER_SAVED_NOTICE = 'USER_SAVED_NOTICE';\nexport const USER_BLOCKED_NOTICE = 'USER_BLOCKED_NOTICE';\nexport const USER_UNBLOCKED_NOTICE = 'USER_UNBLOCKED_NOTICE';\nexport const STREAM_DELETED_NOTICE = 'STREAM_DELETED_NOTICE';\nexport const STREAM_INFO_SAVED_NOTICE = 'STREAM_INFO_SAVED_NOTICE';\n\nexport const RECOVERY_CODE_SENT = 'RECOVERY_CODE_SENT';\nexport const PASSWORD_CHANGED = 'PASSWORD_CHANGED';\n","import pages from './pages';\n\nexport default function pageNames ($gettext = (text) => text) {\n return {\n [pages.ADD_STREAM] : $gettext('Add stream'),\n [pages.ADMIN] : $gettext('Administration'),\n [pages.ADMIN_USERS] : $gettext('Users'),\n [pages.ADMIN_CONFIG] : $gettext('Configuration'),\n [pages.ADMIN_STATS] : $gettext('Statistics'),\n [pages.ADMIN_CLUSTER] : $gettext('Cluster'),\n [pages.ALL_STREAMS] : $gettext('Streams'),\n [pages.AUTH] : $gettext('Authorization'),\n [pages.RECOVER_PASSWORD] : $gettext('Recover password'),\n [pages.BOOKMARKS] : $gettext('Bookmarks'),\n [pages.HELP] : $gettext('Help'),\n [pages.INIT] : $gettext('Server initialization'),\n [pages.NOT_FOUND] : $gettext('Page not found'),\n [pages.PROFILE] : $gettext('My profile'),\n [pages.PROFILE_TOKEN] : $gettext('My tokens'),\n [pages.PROFILE_INFO] : $gettext('My profile'),\n [pages.PROFILE_EDIT] : $gettext('My profile'),\n [pages.STREAM] : $gettext('Stream'),\n [pages.STREAM_PERMISSION] : $gettext('Stream permissions'),\n [pages.STREAM_SETTING] : $gettext('Stream settings'),\n [pages.STREAM_INFO] : $gettext('Stream info'),\n [pages.SETTINGS] : $gettext('Settings'),\n [pages.USER] : $gettext('User profile'),\n [pages.USER_INFO] : $gettext('User profile'),\n [pages.USER_EDIT] : $gettext('Edit user'),\n [pages.USER_PERMISSION] : $gettext('User permission'),\n [pages.USER_ADD] : $gettext('Add user'),\n [pages.LICENSE] : $gettext('License'),\n [pages.SERVER_DEBUG] : $gettext('Server debug'),\n [pages.STREAM_DEBUG] : $gettext('Stream debug'),\n [pages.CREATE_MOSAIC] : $gettext('Create mosaic'),\n [pages.WATCH_MOSAIC] : $gettext('Mosaic'),\n [pages.ALL_MOSAICS] : $gettext('Mosaics'),\n [pages.PROFILE_AUTH_TOKEN]: $gettext('Sessions'),\n [pages.USER_AUTH_TOKEN] : $gettext('Sessions'),\n [pages.TUNNEL] : $gettext('Tunnel'),\n [pages.AUDIT_LOGS] : $gettext('Audit logs'),\n };\n}\n","export default {\n ADD_STREAM : 'add-stream',\n ADMIN : 'admin',\n ADMIN_STATS : 'admin-stats',\n ADMIN_CONFIG : 'admin-config',\n ADMIN_USERS : 'admin-users',\n ADMIN_CLUSTER : 'admin-cluster',\n SERVER_DEBUG : 'server-debug',\n ALL_STREAMS : 'streams',\n AUTH : 'auth',\n RECOVER_PASSWORD : 'recover-password',\n BOOKMARKS : 'bookmarks',\n HELP : 'help',\n INIT : 'init',\n NOT_FOUND : 'not-found',\n PROFILE : 'profile',\n PROFILE_INFO : 'profile-info',\n PROFILE_EDIT : 'profile-edit',\n PROFILE_TOKEN : 'profile-token',\n PROFILE_AUTH_TOKEN: 'profile-auth-token',\n STREAM : 'stream',\n STREAM_VIEW : 'stream-view',\n STREAM_INFO : 'stream-info',\n STREAM_SETTING : 'stream-setting',\n STREAM_PERMISSION : 'stream-permission',\n STREAM_DEBUG : 'stream-debug',\n SETTINGS : 'settings',\n USER : 'user',\n USER_ADD : 'user-add',\n USER_INFO : 'user-info',\n USER_EDIT : 'user-edit',\n USER_PERMISSION : 'user-permission',\n USER_AUTH_TOKEN : 'user-auth-token',\n LICENSE : 'license',\n CREATE_MOSAIC : 'create-mosaic',\n WATCH_MOSAIC : 'watch-mosaic',\n EDIT_MOSAIC : 'edit-mosaic',\n ALL_MOSAICS : 'mosaics',\n TUNNEL : 'tunnel',\n AUDIT_LOGS : 'audit-logs',\n};\n","const TOP = 'top';\nconst TOP_LTR = 'top-ltr';\nconst TOP_RTL = 'top-rtl';\nconst TOP_CENTER = 'top-center';\nconst BOTTOM = 'bottom';\nconst BOTTOM_LTR = 'bottom-ltr';\nconst BOTTOM_RTL = 'bottom-rtl';\nconst BOTTOM_CENTER = 'bottom-center';\nconst LEFT = 'left';\nconst RIGHT = 'right';\n\nexport {\n TOP,\n TOP_LTR,\n TOP_RTL,\n TOP_CENTER,\n BOTTOM,\n BOTTOM_LTR,\n BOTTOM_RTL,\n BOTTOM_CENTER,\n LEFT,\n RIGHT,\n};\n","/* eslint-disable no-undef */\n\n// Browser environment sniffing\nconst inBrowser = typeof window !== 'undefined';\nconst inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nconst weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nconst UA = inBrowser && window.navigator.userAgent.toLowerCase();\nconst isEdge = UA && UA.indexOf('edge/') > 0;\nconst isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nconst isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nconst isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nconst isPhantomJS = UA && /phantomjs/.test(UA);\nconst isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\nfunction isSafari () {\n const userAgent = navigator.userAgent.toLowerCase();\n\n if (userAgent.indexOf('safari') !== -1) {\n return userAgent.indexOf('chrome') <= -1;\n }\n return false;\n}\n\nfunction iOSVersion () {\n if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) {\n if (window.indexedDB) {\n return 'iOS 8 and up';\n }\n if (window.SpeechSynthesisUtterance) {\n return 'iOS 7';\n }\n if (window.webkitAudioContext) {\n return 'iOS 6';\n }\n if (window.matchMedia) {\n return 'iOS 5';\n }\n if (!!window.history && 'pushState' in window.history) {\n return 'iOS 4';\n }\n return 'iOS 3 or earlier';\n }\n\n return null;\n}\n\nconst isMobile = isAndroid || isIOS;\n\nconst isMediaAtLeast720 = () => window.matchMedia('(min-width: 720px)').matches;\n\nexport {\n isEdge,\n isAndroid,\n isIOS,\n isChrome,\n isPhantomJS,\n isFF,\n isSafari,\n iOSVersion,\n isMobile,\n isMediaAtLeast720,\n};\n","import dayjs from 'dayjs';\n\nconst DATE_FORMAT = 'YYYY-MM-DD HH:mm:ss';\n\n// Вычислить размеры фрагментов и пропусков\nexport function getFragmentWidth (start, end, duration) {\n return ((end - start) * 100) / duration;\n}\n\nexport function getCoords (elem) {\n const box = elem.getBoundingClientRect();\n return {\n top : box.top + window.pageYOffset,\n left : box.left + window.pageXOffset,\n width : box.width,\n height: box.height,\n };\n}\n\n/* eslint-disable */\nexport function getElementUnderClientXY (elem, clientX, clientY) {\n const display = elem.style.display || '';\n elem.style.display = 'none';\n\n let target = document.elementFromPoint(clientX, clientY);\n\n elem.style.display = display;\n\n if (!target || target === document) { // это бывает при выносе за границы окна\n target = document.body; // поправить значение, чтобы был именно элемент\n }\n\n return target;\n}\n\nexport function getElemFromPoint (clientX, clientY) {\n return document.elementFromPoint(clientX, clientY);\n}\n\nexport function formatDate (date, formatType = 'll', language = 'ru') {\n const formatsMap = {\n lll: 'D MMM YYYY, HH:mm',\n ll : 'D MMM YYYY',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LT : 'HH:mm',\n };\n const format = formatsMap[formatType] || formatType;\n\n dayjs.locale(language);\n\n const monthLetters = dayjs(date).format('MMMM').split('');\n const month = `${monthLetters[0].toUpperCase()}${monthLetters[1]}${monthLetters[2]}`;\n const DMMMYYYY = `${dayjs(date).format('D')} ${month} ${dayjs(date).format('YYYY')}`;\n const MMMDD = `${month} ${dayjs(date).format('DD')}`;\n const HHmmss = dayjs(date, DATE_FORMAT).format('HH:mm:ss');\n\n switch (format) {\n case 'D MMM':\n return `${dayjs(date).format('D')} ${month}`;\n case 'MMM DD':\n return MMMDD;\n case 'DD MMM, HH:mm':\n return `${dayjs(date).format('D')} ${month}, ${dayjs(date, DATE_FORMAT).format('HH:mm')}`;\n case 'D MMM YYYY':\n return DMMMYYYY;\n case 'D MMM YYYY, HH:mm':\n return `${DMMMYYYY}, ${dayjs(date, DATE_FORMAT).format('HH:mm')}`;\n case 'HH:mm:ss, MMM DD':\n return `${HHmmss}, ${MMMDD}`;\n case 'HH:mm:ss, MMM DD, YYYY':\n return `${HHmmss}, ${MMMDD}, ${dayjs(date).format('YYYY')}`;\n default:\n return dayjs(date, DATE_FORMAT).format(format);\n }\n}\n\nexport const convertDateToSeconds = (date) => {\n return new Date(date).getTime() / 1000;\n};\n\nexport function getCookie (name) {\n let matches = document.cookie.match(new RegExp(\n '(?:^|; )' + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)',\n ));\n return matches ? decodeURIComponent(matches[1]) : undefined;\n}\n\nexport function setCookie (name, value, options = {}) {\n options = {\n path: '/',\n ...options,\n };\n\n if (options.expires && options.expires.toUTCString) {\n options.expires = options.expires.toUTCString();\n }\n\n let updatedCookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);\n\n for (let optionKey in options) {\n updatedCookie += '; ' + optionKey;\n let optionValue = options[optionKey];\n if (optionValue !== true) {\n updatedCookie += '=' + optionValue;\n }\n }\n\n document.cookie = updatedCookie;\n}\n\nexport function deleteCookie (name) {\n setCookie(name, '', {\n 'max-age': -1,\n });\n}\n\nexport function getWrapHeight (selector) {\n const { clientHeight } = document.documentElement;\n const authWrapHeight = document.querySelector(selector) ? document.querySelector(selector).clientHeight : 0;\n\n return authWrapHeight >= clientHeight ? 'auto' : '100%';\n}\n\nexport function yccScrollTo (elem) {\n const top = elem.getBoundingClientRect().y;\n\n if (top !== 0) {\n window.scrollTo({\n top : top + window.pageYOffset - 60,\n behavior: 'smooth',\n });\n }\n}\n\n/**\n * Получить порядковый номер символа в строке\n * @param str\n * @param symbol\n * @returns {null}\n */\nexport function getIndexSymbol (str, symbol) {\n let indexSymbol = null;\n\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) === symbol) {\n indexSymbol = i;\n }\n }\n return indexSymbol;\n}\n\nfunction getChar (event, isNumber = false) {\n if (event.which === null) {\n if (event.keyCode < 32 || (isNumber && event.keyCode < 48)) {\n return null;\n }\n return String.fromCharCode(event.keyCode); // IE\n }\n\n if (event.which !== 0 && event.charCode !== 0) {\n if (event.which < 32 || (isNumber && event.which < 48)) {\n return null;\n }\n return String.fromCharCode(event.which); // остальные\n }\n\n return null; // специальная клавиша\n}\n\nexport function validate (event, isNumber = false) {\n if (event.ctrlKey || event.altKey || event.metaKey) {\n return;\n }\n\n let chr = getChar(event, isNumber);\n\n if (chr === null) {\n return;\n }\n\n if (chr < '0' || chr > '9') {\n event.preventDefault();\n }\n}\n\nexport function cloneObjDeep (obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport function getScrollWidth () {\n // Creating invisible container\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll'; // forcing scrollbar to appear\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n // Creating inner element and placing it in the container\n const inner = document.createElement('div');\n outer.appendChild(inner);\n\n // Calculating difference between container's full width and the child width\n const scrollbarWidth = (outer.offsetWidth - inner.offsetWidth);\n\n // Removing temporary elements from the DOM\n outer.parentNode.removeChild(outer);\n\n return scrollbarWidth;\n}\n\nexport function isChildElem ({ className, elem, modalId }) {\n function findElements (selector) {\n return document.querySelectorAll(selector);\n }\n\n if (className && elem.classList.contains(className)) {\n return true;\n }\n\n let selector = '';\n if (className.length > 0) {\n selector = `.${className}`;\n }\n const notClosingElements = findElements(`#${modalId} ${selector} *`);\n for (let i = 0; i < notClosingElements.length; i++) {\n if (elem === notClosingElements[i]) {\n return true;\n }\n }\n return false;\n}\n\nexport function getSortingDirection (sortingType) {\n if (sortingType === 'desc') {\n return -1;\n }\n return 1;\n}\n\nexport function showServerSwitcher () {\n app.serverSwitcher();\n}\n","const isExist = (value) => value !== null && value !== undefined;\n\nexport default class StorageAdapter {\n constructor ({ itemName, isPrimitive }, storage = localStorage) {\n this.itemName = itemName;\n this.isPrimitive = isPrimitive;\n this.storage = storage || null;\n }\n\n getCorrectValue = (value, isPrimitive, correctionFunc) => isPrimitive ? value : correctionFunc(value);\n\n getItem () {\n return this.storage.getItem(this.itemName)\n ? this.getCorrectValue(this.storage.getItem(this.itemName), this.isPrimitive, JSON.parse)\n : null;\n }\n\n setItem (value) {\n if (isExist(value)) {\n this.storage.setItem(this.itemName, this.getCorrectValue(value, this.isPrimitive, JSON.stringify));\n }\n }\n\n removeItem () {\n this.storage.removeItem(this.itemName);\n }\n}\n","import StorageAdapter from '@/extends/StorageAdapter';\n\nconst destinationPageStorage = new StorageAdapter({\n itemName : 'destinationPage',\n isPrimitive: false,\n}, sessionStorage);\n\nclass WarningStorage extends StorageAdapter {\n constructor () {\n super({\n itemName : 'warnings',\n isPrimitive: false,\n });\n\n this.keepingTime = 7 * 24 * 60 * 60 * 1000;\n\n if (!this.getItem()) {\n this.setItem({});\n }\n else {\n this.clearExpiredWarnings();\n }\n }\n\n setWarning (warningCode) {\n const warnings = this.getItem();\n warnings[warningCode] = (new Date(Date.now() + this.keepingTime)).toISOString();\n this.setItem(warnings);\n }\n\n getWarnings () {\n return Object.keys(this.getItem());\n }\n\n static isExpired (warningCode, warnings) {\n return warnings[warningCode] <= (new Date()).toISOString();\n }\n\n clearExpiredWarnings () {\n const warnings = this.getItem() || {};\n\n Object.keys(warnings).forEach((warningCode) => {\n if (WarningStorage.isExpired(warningCode, warnings)) {\n delete warnings[warningCode];\n }\n });\n\n this.setItem(warnings);\n }\n}\n\nconst warningsStorage = new WarningStorage();\n\nexport {\n destinationPageStorage,\n warningsStorage,\n};\n","import {\n LANG_MAP,\n EN,\n LOCALS,\n} from '@/constants/main';\nimport {\n DOCS_LINK,\n BASE_LANDING_URL,\n} from '@/constants/links';\n\nclass YuccaBootConfig {\n constructor (\n {\n isEnterprise,\n isLocked,\n prober,\n revision,\n version,\n appTitle,\n appLogo,\n defaultLanguage,\n archiveDownloadMaxSeconds,\n playlistMaxSeconds,\n rangesMaxSeconds,\n isLicenseExpired,\n archiveMaxDepthHours,\n smtpServerEnabled,\n smtpServerHost,\n smtpServerProtected,\n smtpServerPort,\n documentation,\n site,\n features,\n passwordResetAllowed,\n tunnelLocations,\n productType,\n clusterEnabled,\n nodeID,\n },\n {\n language,\n },\n ) {\n this.isEnterprise = isEnterprise || false;\n this.isLocked = isLocked || false;\n this.prober = prober || false;\n this.revision = revision || '';\n this.version = version || '';\n this.appTitle = appTitle || 'Yucca';\n this.appLogo = appLogo || '';\n this.defaultLanguage = LANG_MAP[defaultLanguage] || EN;\n this.language = LANG_MAP[language] || this.defaultLanguage;\n this.isLicenseExpired = isLicenseExpired || false;\n this.archiveMaxDepthHours = archiveMaxDepthHours || -1;\n this.smtpServerEnabled = smtpServerEnabled || true;\n this.smtpServerHost = smtpServerHost || '';\n this.smtpServerPort = smtpServerPort || '';\n this.smtpServerProtected = smtpServerProtected || false;\n this.documentation = documentation || DOCS_LINK;\n this.site = site || BASE_LANDING_URL;\n this.features = features || {};\n this.passwordResetAllowed = passwordResetAllowed || false;\n this.tunnelLocations = tunnelLocations || [LOCALS.RU];\n this.productType = productType || '';\n this.clusterEnabled = clusterEnabled || false;\n this.nodeId = nodeID || null;\n\n this.archiveDownloadMaxSeconds = archiveDownloadMaxSeconds || 3600;\n this.playlistMaxSeconds = playlistMaxSeconds || 604800;\n this.rangesMaxSeconds = rangesMaxSeconds || 10800;\n }\n}\n\nconst yccBootConfig = window.YUCCA_BOOT_DATA\n ? new YuccaBootConfig(window.YUCCA_BOOT_DATA.settings, window.YUCCA_BOOT_DATA.user)\n : null;\n\nexport {\n YuccaBootConfig,\n yccBootConfig,\n};\n","import translations from '../assets/lang/json/translations.json';\n\nconst en = {};\nconst ru = {\n ...translations.ru,\n};\nconst uk = {\n ...translations.uk,\n};\nconst es = {\n ...translations.es,\n};\nconst pt = {\n ...translations.pt,\n};\nconst tr = {\n ...translations.tr,\n};\n\nexport default {\n en,\n ru,\n uk,\n es,\n pt,\n tr,\n};\n","import {\n EN,\n RU,\n UK,\n ES,\n PT,\n TR,\n} from '@/constants/main';\nimport translations from './translations';\n\nexport default function gettextOptions (lang) {\n return {\n translations,\n availableLanguages: {\n [EN]: 'English',\n [RU]: 'Русский',\n [UK]: 'Українська',\n [ES]: 'Español',\n [PT]: 'Português',\n [TR]: 'Türkçe',\n },\n defaultLanguage : lang || EN,\n silent : true,\n };\n}\n","/* eslint-disable no-param-reassign */\nimport { formatDate } from './lib';\n\nexport default {\n install (Vue, options) {\n Vue.prototype.$yccConfig = options.config;\n\n Vue.prototype.$isDebug = options.isDebug;\n\n Vue.prototype.$setDocumentTitle = (titles = []) => {\n if (document) {\n if (titles.length > 0) {\n document.title = `${titles.join(' ')} - ${options.config.appTitle || 'Yucca'}`;\n }\n else {\n document.title = `${options.config.appTitle || 'Yucca'}`;\n }\n }\n };\n\n Vue.prototype.$appLogo = options.config.appLogo;\n\n Vue.$setLanguage = (lang) => {\n Vue.prototype.$yccConfig.language = lang;\n };\n\n Vue.prototype.$formatDate = (value, format) => {\n const lang = Vue.prototype.$yccConfig.language;\n return formatDate(value, format, lang);\n };\n Vue.filter('formatDate', (value, format) => {\n const lang = Vue.prototype.$yccConfig.language;\n return formatDate(value, format, lang);\n });\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('ycc-layout',{attrs:{\"is-fix-content\":_vm.isFixContent,\"is-read-only-profile\":_vm.isReadOnlyProfile,\"is-close-aside-outside\":_vm.isFixContent,\"is-auth-or-init-page\":_vm.isAuthOrInitPage,\"is-license-expired\":_vm.isLicenseExpired,\"is-empty-route\":_vm.isEmptyRoute,\"is-open-aside\":_vm.isOpenAside,\"warnings\":_vm.warnings,\"tabs\":_vm.tabs},on:{\"changed-header-height\":_vm.updateHeaderHeight,\"changed-aside-state\":_vm.updateAsideState,\"logout\":_vm.logout},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('router-view')]},proxy:true}])}),_c('vue-progress-bar',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isAuthOrInitPage),expression:\"!isAuthOrInitPage\"}]}),_c('datepicker')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getCookie } from '@/extends/lib';\n\nexport default class CookieService {\n static getDeviceOs () {\n return getCookie('device_os');\n }\n\n static getShowServerSwitcher () {\n const cookie = getCookie('show_server_switcher');\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout\"},[(_vm.isShowHeader)?_c('div',{ref:\"layoutHeader\",staticClass:\"layout-header\"},[(_vm.shownWarnings.length > 0)?_c('ycc-alert',{staticClass:\"layout-warning\",attrs:{\"name\":_vm.WARNING}},_vm._l((_vm.shownWarnings),function(warning,index){return _c('div',{key:index,staticClass:\"layout-warning_content\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(warning.message)}}),(!warning.strict)?_c('button',{staticClass:\"btn-ycc-clean-big\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideWarning(warning.code)}}}):_vm._e()])}),0):_vm._e(),(_vm.isVisibleLicenseAlert)?_c('ycc-alert',{attrs:{\"name\":_vm.DANGER}},[_c('div',{staticClass:\"validation validation-error\"},[_c('span',{staticClass:\"validation_icon icon-ycc\"}),_c('div',{staticClass:\"validation_content\"},[_vm._v(\" \"+_vm._s((_vm.licenseStateTitle + \" \" + _vm.licenseStateDescription))+\" \"),_c('router-link',{staticClass:\"btn-ycc-link\",attrs:{\"to\":{name: _vm.PAGES.LICENSE}}},[_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Upload a license\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"for unlock.\")])],1)])]):_vm._e(),_c('ycc-header',{on:{\"logout\":_vm.logout,\"toggled-aside\":_vm.toggleAside}})],1):_vm._e(),_c('div',{staticClass:\"layout-main\",class:[_vm.layoutMainClasses, {'visible': _vm.hasAside}]},[_c('div',{staticClass:\"layout-aside\",style:(_vm.layoutAsideStyle)},[_c('div',{staticClass:\"aside\",class:{open: _vm.isOpenAside}},[_c('div',{staticClass:\"aside-content\"},[_c('ycc-toolbar',{attrs:{\"page\":_vm.$route.name,\"tabs\":_vm.tabs,\"is-read-only-profile\":_vm.isReadOnlyProfile,\"is-open-aside\":_vm.isOpenAside}})],1)])]),_c('div',{staticClass:\"layout-content\",style:({'padding-top': (_vm.headerHeight + \"px\")})},[_vm._t(\"content\")],2)]),(_vm.isEmptyRoute)?_c('div',{staticClass:\"loading-page\",attrs:{\"loading\":_vm.isEmptyRoute,\"element-loading-text\":'Page loading...',\"element-loading-spinner\":'el-icon-loading',\"element-loading-background\":'#fff'}}):_vm._e()])}\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:\"toolbar\"},[_c('div',{staticClass:\"toolbar_general\"},[_c('div',{staticClass:\"toolbar-item\",class:{active: _vm.isActivePage(_vm.PAGES.ALL_STREAMS)}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{staticClass:\"toolbar-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"videocam\")])])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"toolbar-item_title\"},[_vm._v(\"All streams\")])]),_c('div',{staticClass:\"toolbar-item_menu\",class:{hidden: _vm.isOpenAside}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"menu-item\"},[_vm._v(\" All streams \")])])],1)],1),(!_vm.isReadOnlyProfile)?_c('div',{staticClass:\"toolbar-item\",class:{active: _vm.isActivePage(_vm.PAGES.ADD_STREAM)}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{staticClass:\"toolbar-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"add\")])])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"toolbar-item_title\"},[_vm._v(\"Add stream\")])]),_c('div',{staticClass:\"toolbar-item_menu\",class:{hidden: _vm.isOpenAside}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"menu-item\"},[_vm._v(\" Add stream \")])])],1)],1):_vm._e()]),(_vm.tabs)?_c('ul',_vm._l((_vm.tabs),function(tab){return _c('li',{key:tab.key,staticClass:\"toolbar-item\"},[_c('router-link',{staticClass:\"link-ycc\",class:{'disabled': tab.disabled},attrs:{\"to\":{ name: tab.link, params: tab.params }}},[_c('span',{staticClass:\"toolbar-item_icon\"},[(tab.icon)?_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(tab.icon))])]):_vm._e()]),_c('span',{staticClass:\"toolbar-item_title\"},[_vm._v(_vm._s(tab.label))])])],1)}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccToolbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccToolbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccToolbar.vue?vue&type=template&id=4acc4464&\"\nimport script from \"./YccToolbar.vue?vue&type=script&lang=js&\"\nexport * from \"./YccToolbar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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:\"header\"},[_c('div',{staticClass:\"layout-header-aside-item\",on:{\"click\":_vm.toggleAside}},[_vm._m(0)]),_c('div',{staticClass:\"header-nav\"},[_c('router-link',{staticClass:\"header-item header-logo link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{staticClass:\"header-logo\",class:{'ycc-logo-height': !_vm.hasAppLogo}},[_c('ycc-logo',{attrs:{\"is-header\":true}})],1)]),(!_vm.isReadOnly)?[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'addStream',\"hint\":_vm.addingStreamTitle,\"position\":'bottom'},scopedSlots:_vm._u([{key:\"opener\",fn:function(){return [_c('router-link',{staticClass:\"header-item link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{staticClass:\"header-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"add\")])])])])]},proxy:true}],null,false,768769152)})]:_vm._e()],2),_c('div',{staticClass:\"header-action\"},[(_vm.isStreamPage)?_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint header-stream-name-wrapper\",attrs:{\"hint-id\":'streamView',\"hint\":_vm.streamName,\"is-opener-equal-content\":true,\"position\":'bottom'}},[_c('div',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.STREAM_VIEW)},attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_c('router-link',{staticClass:\"header-stream-name text-ycc-bold\",attrs:{\"to\":{name: _vm.PAGES.STREAM_VIEW, params: _vm.streamRouterParams}}},[_vm._v(\" \"+_vm._s(_vm.streamName)+\" \")])],1)]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'streamInfo',\"hint\":_vm.streamSettingsTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item\",class:{'active': _vm.isStreamInfoPage},attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.STREAM_INFO, params: _vm.streamRouterParams}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc stream-info_settings\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"info\")])])])],1)],1):(_vm.isMosaicPage)?_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint header-stream-name-wrapper\",attrs:{\"hint-id\":'mosaicWatch',\"hint\":_vm.mosaicName,\"is-opener-equal-content\":true,\"position\":'bottom'}},[_c('div',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.WATCH_MOSAIC)},attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_c('router-link',{staticClass:\"header-stream-name text-ycc-bold\",attrs:{\"to\":{name: _vm.PAGES.WATCH_MOSAIC, params: _vm.mosaicRouterParams}}},[_vm._v(\" \"+_vm._s(_vm.mosaicName)+\" \")])],1)]),(_vm.mosaic && _vm.mosaic.meta && _vm.mosaic.meta.canAdmin)?_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'mosaicInfo',\"hint\":_vm.mosaicSettingsTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.EDIT_MOSAIC)},attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.EDIT_MOSAIC, params: _vm.mosaicRouterParams}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc stream-info_settings\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"settings\")])])])],1):_vm._e()],1):(_vm.isAllStreamsPage)?_c('div',{staticClass:\"header-action_streams\"},[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'grouping',\"hint\":_vm.getGroupLabel(_vm.groupType),\"position\":'bottom'}},[(_vm.groupType)?_c('span',{staticClass:\"header-item\",class:{'text-ycc-active': _vm.groupType === _vm.GROUP_TYPES.TAG.key},attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.groupStreams()}},slot:\"opener\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.GROUP_TYPES[_vm.groupType].icon))])]):_vm._e()]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'viewMode',\"hint\":_vm.viewModeTitle,\"position\":'bottom'}},[_c('span',{staticClass:\"header-item\",attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.changeViewMode()}},slot:\"opener\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.VIEW_MODES[_vm.viewModeKey].icon))])])]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'availabilityStreams',\"hint\":_vm.availableStreamsInfo.title,\"position\":'bottom'}},[_c('span',{staticClass:\"header-item\",attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.toggleShowingAvailable()}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc\",class:{'text-ycc-success': _vm.isShownAvailableStreams}},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.availableStreamsInfo.icon))])])])])],1):_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'pageTitle',\"hint\":_vm.pageTitle,\"position\":'bottom'}},[_c('div',{staticClass:\"header-page-title\",attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_vm._v(\" \"+_vm._s(_vm.pageTitle)+\" \")])])],1)]),_c('ycc-header-menu',{attrs:{\"version\":_vm.version,\"is-admin\":_vm.isAdmin,\"id\":(\"menu-\" + (_vm.$language.current)),\"documentation-link\":_vm.$yccConfig.documentation,\"isShowServerSwitcher\":_vm.isShowServerSwitcher},on:{\"logout\":_vm.logout}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"aside-item_content\"},[_c('div',{staticClass:\"aside-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"menu\")])])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header-menu\"},[_c('ycc-dropdown',{staticClass:\"header-item\",attrs:{\"unique-key\":_vm.id}},[_c('div',{staticClass:\"header-menu_button sgc-dropdown-toggle\",attrs:{\"title\":\"More\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"more_vert\")])])]),_c('ul',{staticClass:\"sgc-dropdown-menu menu-ycc rtl\"},[_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('router-link',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"to\":{name: _vm.PAGES.PROFILE}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"account_circle\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Profile\")])])],1),(_vm.isAdmin)?_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('router-link',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"to\":{name: _vm.PAGES.ADMIN}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"assignment\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Administration\")])])],1):_vm._e(),(_vm.isShowServerSwitcher)?_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('button',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.showServerSwitcher}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"swap_horiz\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Switch server\")])])]):_vm._e(),(!_vm.isEnterprise)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"href\":_vm.getPricesLink('yucca-header-menu', _vm.$language.current),\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"trending_up\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Upgrade\")])])]):_vm._e(),(_vm.documentationLink)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item row-ycc-center\",attrs:{\"href\":_vm.documentationLink,\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"help\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"margin-right-5\"},[_vm._v(\"Documentation\")]),_c('span',{staticClass:\"material-icons open-in-new\"},[_vm._v(\"open_in_new\")])])]):_vm._e(),(_vm.isAdmin)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item row-ycc-center\",attrs:{\"href\":\"/ui/swagger\",\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"developer_mode\")])]),_c('span',{staticClass:\"margin-right-5\"},[_vm._v(_vm._s(_vm.$gettext('API documentation')))])])]):_vm._e(),_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"exit_to_app\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Logout\")])])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeaderMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeaderMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHeaderMenu.vue?vue&type=template&id=9ef83214&scoped=true&\"\nimport script from \"./YccHeaderMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHeaderMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHeaderMenu.vue?vue&type=style&index=0&id=9ef83214&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9ef83214\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHeader.vue?vue&type=template&id=a239c4de&\"\nimport script from \"./YccHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccLayout.vue?vue&type=template&id=5640b866&\"\nimport script from \"./YccLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./YccLayout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=1ccbbaea&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=1ccbbaea&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ccbbaea\",\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:\"hint-ycc popover-ycc-container\",class:_vm.popoverYccCssClasses,style:(_vm.hintYccInlineStyle)},[_c('div',{ref:\"popover\",staticClass:\"popover-ycc\"},[_c('div',{staticClass:\"popover-ycc_content\",domProps:{\"innerHTML\":_vm._s(_vm.hint)}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\n TOP,\n TOP_LTR,\n TOP_RTL,\n TOP_CENTER,\n BOTTOM,\n BOTTOM_LTR,\n BOTTOM_RTL,\n BOTTOM_CENTER,\n LEFT,\n RIGHT,\n} from '@/constants/positionConstants';\nimport { SCROLL_WIDTH } from '@/constants/main';\n\nconst positions = {\n RTL : 'rtl',\n LTR : 'ltr',\n CENTER: 'center',\n TOP : 'top',\n BOTTOM: 'bottom',\n};\n\nexport default class CorrectingPosition {\n constructor ({ position, contentWidth = null }) {\n this.contentWidth = contentWidth;\n this.position = null;\n this.positionsArr = null;\n this.basePosition = null;\n this.horizontalPosition = null;\n this.documentWidth = document.documentElement.clientWidth;\n this.documentHeight = window.getComputedStyle(document.body).position === 'static'\n || window.getComputedStyle(document.body).position === ''\n ? document.documentElement.clientHeight\n // eslint-disable-next-line max-len\n : Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight);\n this.setPosition(position);\n }\n\n get ltrPositionClass () {\n return this.position === TOP ? TOP_LTR : BOTTOM_LTR;\n }\n\n get rtlPositionClass () {\n return this.position === TOP ? TOP_RTL : BOTTOM_RTL;\n }\n\n setPosition (position) {\n this.position = position || BOTTOM_LTR;\n this.positionsArr = position.split('-');\n this.basePosition = this.positionsArr[0];\n this.horizontalPosition = this.positionsArr[1] ? this.positionsArr[1] : '';\n }\n\n getPositionCssClass (\n {\n contentCoords,\n btnCoords,\n isStaticVerticalPosition,\n position,\n },\n ) {\n this.setPosition(position);\n\n return this.getCorrectedPositionCssClass({\n contentCoords,\n btnCoords,\n isStaticVerticalPosition,\n position,\n });\n }\n\n getStyle ({ btnCoords, contentCoords, position }) {\n const popupStyle = {};\n\n switch (position) {\n case TOP:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width / 2}px`;\n popupStyle.right = 'auto';\n popupStyle.top = 'auto';\n break;\n case BOTTOM:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width / 2}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case LEFT:\n popupStyle.top = `${btnCoords.top + btnCoords.height / 2}px`;\n popupStyle.right = `${this.documentWidth - btnCoords.left}px`;\n popupStyle.left = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case RIGHT:\n popupStyle.top = `${btnCoords.top + btnCoords.height / 2}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case TOP_LTR:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.left = `${btnCoords.left}px`;\n popupStyle.right = 'auto';\n popupStyle.top = 'auto';\n break;\n case TOP_RTL:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.right = `${this.documentWidth - (btnCoords.left + btnCoords.width)}px`;\n popupStyle.top = 'auto';\n popupStyle.left = 'auto';\n break;\n case BOTTOM_RTL:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.right = `${this.documentWidth - (btnCoords.left + btnCoords.width)}px`;\n popupStyle.left = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case TOP_CENTER:\n popupStyle.top = `${btnCoords.top - 5}px`;\n popupStyle.bottom = 'auto';\n popupStyle.right = 'auto';\n popupStyle.left = '50%';\n popupStyle.transform = 'translateX(-50%) translateY(-100%)';\n break;\n case BOTTOM_CENTER:\n popupStyle.top = `${btnCoords.top + btnCoords.height + 5}px`;\n popupStyle.bottom = 'auto';\n popupStyle.right = 'auto';\n popupStyle.left = '50%';\n popupStyle.transform = 'translateX(-50%)';\n break;\n case BOTTOM_LTR:\n default:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.left = `${btnCoords.left}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n }\n\n if (this.isContentMoreThanDocumentWidth({ btnCoords, contentCoords })) {\n popupStyle.maxWidth = 'calc(100vw - 40px)';\n }\n return popupStyle;\n }\n\n getCorrectedPositionCssClass (\n {\n contentCoords,\n btnCoords,\n position,\n isDynamicVerticalPosition = true,\n },\n ) {\n // 1 этап - переопределение базовых позиций -> RTL\\LTR\n if (position === LEFT\n && CorrectingPosition.isOutOfLeftBorderForLeft({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n this.basePosition = positions.BOTTOM;\n }\n\n if (position === RIGHT\n && this.isOutOfRightBorderForRight({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n this.basePosition = positions.BOTTOM;\n }\n\n if (position === BOTTOM || position === TOP) {\n if (this.isOutOfRightBorderForCenter({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n }\n if (CorrectingPosition.isOutOfLeftBorderForCenter({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n }\n }\n\n if (this.horizontalPosition) {\n // 2 этап - переопределение RTL -> LTR, LTR -> RTL\n if (this.horizontalPosition === positions.LTR\n && this.isOutOfRightBorderForLtr({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n }\n\n if (this.horizontalPosition === positions.RTL\n && CorrectingPosition.isOutOfLeftBorderForRtl({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n }\n\n // 3 этап - переопределение RTL\\LTR -> Center (центр экрана)\n if (this.isContentMoreThanDocumentWidth({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.CENTER;\n }\n\n if (this.horizontalPosition === positions.RTL\n && this.isOutOfRightBorderForRtl({ contentCoords, btnCoords })) {\n this.horizontalPosition = '';\n }\n }\n\n // 4 этап - переопределение BOTTOM, BOTTOM_* <-> TOP, TOP_*\n if (isDynamicVerticalPosition) {\n if (this.basePosition === positions.BOTTOM\n && this.isOutOfBottomBorder({ contentCoords, btnCoords })) {\n this.basePosition = positions.TOP;\n }\n\n if (this.basePosition === positions.TOP\n && CorrectingPosition.isOutOfTopBorder({ contentCoords, btnCoords })) {\n this.basePosition = positions.BOTTOM;\n }\n }\n\n this.position = this.horizontalPosition\n ? `${this.basePosition}-${this.horizontalPosition}` : this.basePosition;\n\n return this.position;\n }\n\n isContentMoreThanDocumentWidth ({ contentCoords }) {\n let { width } = contentCoords;\n\n if (this.contentWidth) {\n width = this.contentWidth;\n }\n return width + SCROLL_WIDTH > this.documentWidth;\n }\n\n isOutOfRightBorderForCenter ({ contentCoords, btnCoords }) {\n return btnCoords.left + (btnCoords.width / 2) + (contentCoords.width / 2) > this.documentWidth;\n }\n\n isOutOfRightBorderForLtr ({ contentCoords, btnCoords }) {\n return btnCoords.left + contentCoords.width > this.documentWidth;\n }\n\n isOutOfRightBorderForRight ({ contentCoords, btnCoords }) {\n return btnCoords.left + btnCoords.width + contentCoords.width > this.documentWidth;\n }\n\n isOutOfRightBorderForRtl ({ btnCoords }) {\n return btnCoords.left + btnCoords.width > this.documentWidth;\n }\n\n isOutOfBottomBorder ({ contentCoords, btnCoords }) {\n return btnCoords.y + btnCoords.height + contentCoords.height > this.documentHeight;\n }\n\n static isOutOfTopBorder ({ contentCoords, btnCoords }) {\n return btnCoords.y - contentCoords.height < 0;\n }\n\n static isOutOfLeftBorderForCenter ({ contentCoords, btnCoords }) {\n return (btnCoords.left + (btnCoords.width / 2)) - (contentCoords.width / 2) < 0;\n }\n\n static isOutOfLeftBorderForRtl ({ contentCoords, btnCoords }) {\n return (btnCoords.left + btnCoords.width) - contentCoords.width < 0;\n }\n\n static isOutOfLeftBorderForLeft ({ contentCoords, btnCoords }) {\n return btnCoords.left - contentCoords.width < 0;\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHintContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHintContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHintContent.vue?vue&type=template&id=7d59d134&scoped=true&\"\nimport script from \"./YccHintContent.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHintContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHintContent.vue?vue&type=style&index=0&id=7d59d134&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d59d134\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport YccHintContent from './YccHintContent.vue';\n\n// Создать глобальную шину, если она не создана\nif (!window.bus) {\n window.bus = new Vue();\n}\n\nconst { bus } = window;\n\nconst DEFAULT_STATE = {};\n\n/* eslint-disable object-curly-newline */\nexport default function createPopup ({ hint, hintId, position, isDark, maxWidth }, id) {\n return new Vue({\n el : `#${id}`,\n template : `\n \n `,\n components: { YccHintContent },\n data : {\n hint,\n hintId,\n position,\n isDark,\n maxWidth,\n isOpen : false,\n location : null,\n openerElem: null,\n },\n created () {\n this.location = {\n left : 0,\n top : 0,\n height: 0,\n };\n bus.$on('opened-hint', this.openPopup);\n bus.$on('closed-hint', this.closePopup);\n },\n methods : {\n openPopup (payload) {\n this.openerElem = payload.openerElem;\n this.setLocation(payload.openerElem);\n this.setNewData(payload.props);\n this.open();\n window.addEventListener('resize', this.setLocation);\n },\n closePopup () {\n window.removeEventListener('resize', this.setLocation);\n this.close();\n },\n open () {\n this.isOpen = true;\n },\n close () {\n this.isOpen = false;\n this.clean();\n },\n clean () {\n this.setNewData(DEFAULT_STATE);\n },\n setNewData (data) {\n Object.keys(data).forEach((prop) => {\n this[prop] = data[prop];\n });\n },\n setLocation () {\n const box = this.openerElem.getBoundingClientRect();\n\n this.location = {\n left : box.left + window.pageXOffset,\n top : box.top + window.pageYOffset,\n width : box.width,\n height: box.height,\n y : box.y,\n x : box.x,\n };\n },\n },\n });\n}\n","import createHint from './createHint';\n\n/* eslint-disable object-curly-newline */\n// eslint-disable-next-line func-names\nexport default function ({ hint, hintId, position, isDark, maxWidth }) {\n const hintRenderContentId = 'hint-content';\n\n if (!window.hint) {\n const popup = document.createElement('div');\n popup.setAttribute('id', hintRenderContentId);\n document.body.appendChild(popup);\n\n window.hint = createHint({ hint, hintId, position, isDark, maxWidth }, hintRenderContentId);\n }\n return window.hint;\n}\n","import Vue from 'vue';\n\nVue.config.devtools = process.env.NODE_ENV === 'development';\nVue.config.productionTip = process.env.NODE_ENV === 'production';\n/* eslint-disable-next-line */\nVue.config.errorHandler = function (err, vm, info) {\n let handler;\n let current = vm;\n if (vm.$options.errorHandler) {\n handler = vm.$options.errorHandler;\n }\n else {\n while (current.$parent) {\n current = current.$parent;\n /* eslint-disable-next-line */\n if (handler = current.$options.errorHandler) {\n break;\n }\n }\n }\n if (handler) {\n handler.call(current, err, vm, info);\n }\n else {\n /* eslint-disable-next-line */\n console.log(err);\n }\n};\n","export default {\n color : '#e6fc94',\n failedColor: '#874b4b',\n thickness : '3px',\n transition : {\n speed : '0.2s',\n opacity : '0.6s',\n termination: 300,\n },\n autoRevert : true,\n location : 'top',\n inverse : false,\n};\n","import dayjs from 'dayjs';\nimport YccDatepickerContent from './YccDatepickerContent.vue';\nimport {\n DEFAULT_STATE,\n ISO_DATE_FORMAT,\n MAX_MONTH_IN_LINE,\n TYPES,\n} from './constants';\n\nconst defaultProps = {\n datepickerId : 'calendar',\n rangeType : TYPES.SINGLE,\n lang : 'en',\n maxRange : null,\n start : null,\n end : null,\n numberOfMonth : MAX_MONTH_IN_LINE,\n size : '',\n // Минимально допустимая дата (предел слева)\n minAllowedDate : null,\n // Максимально допустимая дата (предел справа)\n maxAllowedDate : null,\n // Массив значимых дат (помеченных)\n significantDates : [],\n isHighlightToday : true,\n isHighlightWeekend: false,\n isInline : false,\n isDisabled : false,\n isFixed : false,\n isDisabledDate : null,\n};\n\nexport default {\n template : `\n
\n
\n\n \n \n
`,\n components: { YccDatepickerContent },\n data () {\n return {\n isOpen : false,\n isSelecting: false,\n isFixed : false,\n period : {},\n location : {\n left : 0,\n top : 0,\n height: 0,\n },\n // Сохраним данные\n ...defaultProps,\n };\n },\n created () {\n // Слушаем события от инпута\n window.bus.$on('opened-datepicker', this.openDatepicker);\n window.bus.$on('closed-datepicker', this.close);\n window.bus.$on('set-fixing', this.setFixing);\n window.bus.$on('set-start', this.setStart);\n window.bus.$on('set-end', this.setEnd);\n },\n watch : {\n isOpen (newState) {\n if (newState) {\n window.addEventListener('click', this.closeDatepickerOutside);\n }\n else {\n window.removeEventListener('click', this.closeDatepickerOutside);\n }\n },\n },\n methods : {\n onClickDay ({ isSelecting, period }) {\n this.setSelectingState(isSelecting);\n this.setPeriod(period);\n\n window.bus.$emit('updated-dates', { isSelecting, period, datepickerId: this.datepickerId });\n\n // Если закончили выбор, то закрыть\n if (!isSelecting) {\n this.close();\n }\n },\n openDatepicker (payload) {\n this.setFixing(payload.isFixed);\n this.setLocation(payload.inputElem);\n this.setNewData(payload.props);\n this.open();\n },\n closeDatepicker () {\n if (this.isSelecting) {\n this.setSelectingState(false);\n\n window.bus.$emit('updated-dates', {\n isSelecting : this.isSelecting,\n period : this.getCorrectPeriod(),\n datepickerId: this.datepickerId,\n });\n }\n this.close();\n },\n closeDatepickerOutside (event) {\n if (!this.isChildElem(event.target)) {\n this.closeDatepicker();\n }\n },\n onChangeMonthYear (payload) {\n window.bus.$emit('changed-month-year', payload);\n },\n setFixing (state) {\n this.isFixed = state;\n },\n // проверяет является ли элемент потомком класса\n isChildElem (elem) {\n const elemChildren = document.querySelectorAll('.datepicker-bus *');\n const openerChildren = document.querySelectorAll('.datepicker-ycc_opener *');\n\n for (let i = 0; i < elemChildren.length; i++) {\n if (elem === elemChildren[i]) {\n return true;\n }\n }\n\n for (let i = 0; i < openerChildren.length; i++) {\n if (elem === openerChildren[i]) {\n return true;\n }\n }\n\n return false;\n },\n clean () {\n this.setNewData(DEFAULT_STATE);\n },\n open () {\n this.isOpen = true;\n },\n close () {\n this.isOpen = false;\n this.clean();\n window.bus.$emit('close');\n },\n getCorrectPeriod () {\n const start = this.period.start\n ? this.period.start\n : this.period.end;\n const end = this.period.end && this.period.end !== this.period.start\n ? this.period.start\n : dayjs(this.period.end).add(1, 'day').format(ISO_DATE_FORMAT);\n\n return { start, end, underCursor: null };\n },\n setLocation (inputElem) {\n const box = inputElem.getBoundingClientRect();\n\n this.location = {\n left : this.isFixed ? box.left : box.left + window.pageXOffset,\n top : this.isFixed ? box.top : box.top + window.pageYOffset,\n height: box.height,\n };\n },\n setNewData (data) {\n Object.keys(data).forEach((prop) => {\n this[prop] = data[prop];\n });\n },\n setPeriod (period) {\n this.period = { ...period };\n },\n setStart (start) {\n this.start = start;\n },\n setEnd (end) {\n this.end = end;\n },\n setSelectingState (state) {\n this.isSelecting = state;\n },\n },\n};\n","import Vue from 'vue';\nimport VueProgressBar from 'vue-progressbar';\nimport { Loading } from 'element-ui';\nimport progressBarOptions from '../constants/progressBarOptions';\nimport Datepicker from '../components/ycc-datepicker/datepicker';\n\nVue.use(VueProgressBar, progressBarOptions);\nVue.use(Loading.directive);\nVue.prototype.$loading = Loading.service;\nVue.directive('scroll', {\n inserted (el, binding) {\n const f = (evt) => {\n if (binding.value(evt, el)) {\n window.removeEventListener('scroll', f);\n }\n };\n window.addEventListener('scroll', f);\n },\n});\n// eslint-disable-next-line vue/multi-word-component-names\nVue.component('datepicker', Datepicker);\n","import Vue from 'vue';\nimport GetTextPlugin from 'vue-gettext';\nimport dayjs from 'dayjs';\nimport {\n yccBootConfig,\n YuccaBootConfig,\n} from './config/yccBootConfig';\nimport gettextOptions from './config/gettextOptions';\nimport router from './router';\nimport store from './store/store';\nimport YccConfigPlugin from './extends/YccConfigPlugin';\nimport { isMobile } from './extends/browserEnv';\nimport App from './App.vue';\nimport { SYSTEM_SETTINGS_URL } from './constants/api';\nimport httpClient from './config/httpClient';\nimport initHint from './components/ycc-hint/initHint';\n\nimport './config/setVueConfig';\nimport './config/setPlugins';\nimport './scss/index.scss';\n\nVue.config.devtools = process.env.NODE_ENV === 'development';\n\nconst isDebug = !!process.env.VUE_APP_DEBUG && JSON.parse(process.env.VUE_APP_DEBUG) === true;\n\nif (!window.bus) {\n window.bus = new Vue();\n}\n\nif (!isMobile) {\n initHint(\n {\n hintId : 'hint-1',\n position: 'bottom',\n hint : '',\n isDark : true,\n maxWidth: 250,\n },\n );\n}\n\nif (isMobile) {\n document.body.classList.add('is-mobile');\n}\nelse {\n document.body.classList.add('is-desktop');\n}\n\nfunction createApp (data = {}) {\n const config = new YuccaBootConfig(data, {});\n\n Vue.use(YccConfigPlugin, { config, isDebug });\n Vue.use(GetTextPlugin, gettextOptions(config.language));\n dayjs.locale(config.language);\n store.state.config = config;\n\n /* eslint-disable no-new */\n new Vue({\n router,\n store,\n render: (h) => h(App),\n }).$mount('#app');\n}\n\nif (yccBootConfig) {\n createApp(yccBootConfig);\n}\nelse {\n httpClient\n .get(SYSTEM_SETTINGS_URL)\n .then((res) => {\n createApp(res.data);\n })\n .catch(() => {\n createApp();\n });\n}\n","export default {\n progress: {\n func: [\n { call: 'color', modifier: 'temp', argument: '#e6fc94' },\n { call: 'fail', modifier: 'temp', argument: '#6e0000' },\n { call: 'location', modifier: 'temp', argument: 'top' },\n {\n call : 'transition',\n modifier: 'temp',\n argument: {\n speed : '1.5s',\n opacity : '0.6s',\n termination: 400,\n },\n },\n ],\n },\n};\n","/* eslint-disable import/no-cycle */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { destinationPageStorage } from './extends/storageServices';\nimport store from './store/store';\nimport PAGES from './constants/pages';\nimport metaForProgressLoader from './constants/metaForProgressLoader';\n\nVue.use(Router);\n\nconst router = new Router({\n mode : 'history',\n base : process.env.BASE_URL,\n routes: [\n {\n path : '/',\n name : 'main',\n meta : {\n title: 'Yucca',\n },\n redirect : { name: PAGES.ALL_STREAMS },\n component: () => import(/* webpackChunkName: \"main\" */ './pages/Workspace/TheWorkspace.vue'),\n children : [\n {\n path : 'streams',\n name : PAGES.ALL_STREAMS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"streams\" */ './pages/Streams/StreamsPage.vue'),\n },\n {\n path : 'mosaics',\n name : PAGES.ALL_MOSAICS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"mosaics\" */ './pages/Mosaic/Mosaics/AllMosaics.vue'),\n },\n ],\n },\n {\n path : '/auth',\n name : PAGES.AUTH,\n component: () => import(/* webpackChunkName: \"auth\" */ './pages/Auth/AuthPage.vue'),\n },\n {\n path : '/recover-password',\n name : PAGES.RECOVER_PASSWORD,\n component: () => import(/* webpackChunkName: \"recover-password\" */ './pages/Auth/RecoverPasswordPage.vue'),\n },\n {\n path : '/init',\n name : PAGES.INIT,\n component: () => import(/* webpackChunkName: \"init\" */ './pages/Init/InitPage.vue'),\n },\n {\n path : '/profile/me',\n name : PAGES.PROFILE,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.PROFILE_INFO },\n component: () => import(/* webpackChunkName: \"profile\" */ './pages/Profile/ProfilePage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.PROFILE_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/Profile/ProfileView.vue'),\n },\n {\n path : 'edit',\n name : PAGES.PROFILE_EDIT,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/Profile/ProfileEdit.vue'),\n },\n {\n path : 'tokens',\n name : PAGES.PROFILE_TOKEN,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/Profile/ProfileTokens.vue'),\n },\n {\n path : 'sessions',\n name : PAGES.PROFILE_AUTH_TOKEN,\n props : true,\n component: () => import(\n /* webpackChunkName: \"profile-sessions\" */ './pages/Profile/ProfileSessions.vue'),\n },\n ],\n },\n {\n path : '/user/add',\n name : PAGES.USER_ADD,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"user-add\" */ './pages/User/UserAddPage.vue'),\n },\n {\n path : '/user/:login',\n name : PAGES.USER,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.USER_INFO },\n component: () => import(/* webpackChunkName: \"user\" */ './pages/User/UserPage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.USER_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/User/UserView.vue'),\n },\n {\n path : 'edit',\n name : PAGES.USER_EDIT,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/User/UserEdit.vue'),\n },\n {\n path : 'permission',\n name : PAGES.USER_PERMISSION,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/User/UserStreamPermissions.vue'),\n },\n {\n path : 'sessions',\n name : PAGES.USER_AUTH_TOKEN,\n props : true,\n component: () => import(\n /* webpackChunkName: \"user-sessions\" */ './pages/User/UserSessions.vue'),\n },\n ],\n },\n {\n path : '/stream/:uid/view',\n name : PAGES.STREAM_VIEW,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"stream-view\" */ './pages/StreamView/StreamPage.vue'),\n },\n {\n path : '/stream/:uid',\n name : PAGES.STREAM,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.STREAM_INFO },\n component: () => import(/* webpackChunkName: \"stream\" */ './pages/StreamInfo/InfoStreamPage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.STREAM_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/StreamInfo/StreamInfo.vue'),\n },\n {\n path : 'setting',\n name : PAGES.STREAM_SETTING,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/StreamInfo/StreamSettings.vue'),\n },\n {\n path : 'permission',\n name : PAGES.STREAM_PERMISSION,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/StreamInfo/StreamPermission.vue'),\n },\n {\n path : 'debug',\n name : PAGES.STREAM_DEBUG,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-debug\" */ './pages/StreamInfo/StreamDebug.vue'),\n },\n ],\n },\n {\n path : '/add-stream',\n name : PAGES.ADD_STREAM,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"add-stream\" */ './pages/StreamInfo/AddingStreamPage.vue'),\n },\n {\n path : '/create-mosaic',\n name : PAGES.CREATE_MOSAIC,\n component: () => import(/* webpackChunkName: \"add-mosaic\" */ './pages/Mosaic/Create/CreateMosaicPage.vue'),\n },\n {\n path : '/mosaic/:id',\n name : PAGES.WATCH_MOSAIC,\n props : true,\n component: () => import(/* webpackChunkName: \"watch-mosaic\" */ './pages/Mosaic/Watch/WatchMosaicPage.vue'),\n },\n {\n path : '/mosaic/:id/edit',\n name : PAGES.EDIT_MOSAIC,\n props : true,\n component: () => import(/* webpackChunkName: \"watch-mosaic\" */ './pages/Mosaic/Edit/EditMosaicPage.vue'),\n },\n {\n path : '/administration',\n name : PAGES.ADMIN,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.ADMIN_STATS },\n component: () => import(/* webpackChunkName: \"admin\" */ './pages/Admin/AdminPage.vue'),\n children : [\n {\n path : 'stats',\n name : PAGES.ADMIN_STATS,\n component: () => import(/* webpackChunkName: \"admin-stats\" */ './pages/Admin/AdminStats.vue'),\n },\n {\n path : 'config',\n name : PAGES.ADMIN_CONFIG,\n component: () => import(/* webpackChunkName: \"admin-config\" */ './pages/Admin/AdminConfig.vue'),\n },\n {\n path : 'users',\n name : PAGES.ADMIN_USERS,\n component: () => import(/* webpackChunkName: \"admin-users\" */ './pages/Admin/AdminUsers.vue'),\n },\n {\n path : 'cluster',\n name : PAGES.ADMIN_CLUSTER,\n component: () => import(\n /* webpackChunkName: \"admin-cluster\" */ './pages/Admin/AdminClusterPage.vue'),\n },\n {\n path : 'license',\n name : PAGES.LICENSE,\n component: () => import(/* webpackChunkName: \"license\" */ './pages/License/LicensePage.vue'),\n },\n {\n path : 'server-debug',\n name : PAGES.SERVER_DEBUG,\n component: () => import(/* webpackChunkName: \"server-debug\" */ './pages/Admin/AdminDebug.vue'),\n },\n {\n path : 'tunnel',\n name : PAGES.TUNNEL,\n component: () => import(/* webpackChunkName: \"tunnel\" */ './pages/Admin/AdminTunnel.vue'),\n },\n {\n path : 'audit-logs',\n name : PAGES.AUDIT_LOGS,\n // eslint-disable-next-line\n component: () => import(/* webpackChunkName: \"audit-logs\" */ './pages/Admin/AdminAuditLogsPage.vue'),\n },\n ],\n },\n {\n path : '/license',\n name : 'old-license',\n redirect: { name: PAGES.LICENSE },\n },\n {\n path : '/bookmarks',\n name : PAGES.BOOKMARKS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"bookmarks\" */ './pages/BookmarksPage.vue'),\n },\n {\n path : '/help',\n name : PAGES.HELP,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"help\" */ './pages/HelpPage.vue'),\n },\n {\n path : '/*',\n name : PAGES.NOT_FOUND,\n component: () => import(/* webpackChunkName: \"not-found\" */ './pages/NotFoundPage.vue'),\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n const isPublicPage = to.name === PAGES.AUTH || to.name === PAGES.RECOVER_PASSWORD || to.name === PAGES.INIT;\n const is404 = to.name === PAGES.NOT_FOUND;\n\n if (!destinationPageStorage.getItem() && !isPublicPage && !is404) {\n destinationPageStorage.setItem({ name: to.name, params: { ...to.params } });\n }\n\n if (is404) {\n next();\n }\n else {\n store.dispatch('checkPermission')\n .then(({ status, statusCode }) => {\n if (statusCode === 500 || statusCode === 404) {\n next();\n }\n else if (!status && !isPublicPage) {\n next({ name: statusCode === 423 ? PAGES.INIT : PAGES.AUTH });\n }\n else if ((statusCode === 423 && to.name === PAGES.INIT)\n || (statusCode === 401 && (to.name === PAGES.AUTH || to.name === PAGES.RECOVER_PASSWORD))\n || (status && !isPublicPage)) {\n next();\n }\n else if (isPublicPage) {\n next({ name: PAGES.ALL_STREAMS });\n }\n else {\n next({ name: statusCode === 423 ? PAGES.INIT : PAGES.AUTH });\n }\n });\n }\n});\n\nrouter.afterEach(() => {\n if (window.scrollY) {\n window.scroll(0, 0);\n }\n});\n\nexport default router;\n","import { GROUP_TYPES } from '@/constants/main';\n\nexport function getGroupedStreams (streams, groupingType) {\n const groupedStreams = {};\n\n function pushStream (groupName, stream) {\n if (!groupedStreams[groupName]) {\n groupedStreams[groupName] = {\n name : groupName,\n streams: [],\n };\n }\n groupedStreams[groupName].streams.push(stream);\n }\n\n if (groupingType === GROUP_TYPES.TAG.key) {\n streams.forEach((stream) => {\n if (stream.tags && stream.tags.length > 0) {\n stream.tags.forEach((tag) => {\n pushStream(tag, stream);\n });\n }\n else {\n pushStream('untagged', stream);\n }\n });\n }\n\n return groupedStreams;\n}\n\nexport function saveToLocalStorage ({ key, value, page }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(page)) || {};\n\n streamsPageSettings[key] = value;\n localStorage.setItem(page, JSON.stringify(streamsPageSettings));\n}\n","import dayjs from 'dayjs';\n\nfunction getDefaultStart () {\n return dayjs(new Date()).subtract(20, 'hour').valueOf();\n}\n\nfunction getDefaultEnd () {\n return dayjs(new Date()).add(3, 'hour').valueOf();\n}\n\nfunction getDefaultPeriod () {\n return {\n start: getDefaultStart(),\n end : getDefaultEnd(),\n };\n}\n\nfunction getDefaultPeriodISO () {\n return {\n start: dayjs(getDefaultStart()).toISOString(),\n end : dayjs(getDefaultEnd()).toISOString(),\n };\n}\n\nfunction getDefaultDownloadLimitsPX () {\n return {\n left : 0,\n right: 0,\n };\n}\n\nfunction getDefaultPlaylist ({ start, end }) {\n return {\n period: { startTime: start, endTime: end },\n ranges: [{ date: start, status: 0 }],\n url : null,\n };\n}\n\nexport {\n getDefaultStart,\n getDefaultEnd,\n getDefaultPeriod,\n getDefaultPeriodISO,\n getDefaultDownloadLimitsPX,\n getDefaultPlaylist,\n};\n","import dayjs from 'dayjs';\nimport { formatDate } from '@/extends/lib';\nimport { EN } from '@/constants/main';\n\nconst MS_IN_HOUR = 60 * 60 * 1000;\nconst MS_IN_MINUTE = 60 * 1000;\nconst MARKER_LABEL_WIDTH = 70;\nconst LABELS_MAP_KEYS = {\n SIXTY : 'sixty',\n TWELVE : 'twelve',\n QUARTER : 'quarter',\n HALF : 'half',\n FULL : 'full',\n MULTIPLE: 'multiple',\n};\nconst LABELS_MAP = [\n { key: LABELS_MAP_KEYS.SIXTY, value: 60, minutes: 1 },\n { key: LABELS_MAP_KEYS.TWELVE, value: 12, minutes: 5 },\n { key: LABELS_MAP_KEYS.QUARTER, value: 4, minutes: 15 },\n { key: LABELS_MAP_KEYS.HALF, value: 2, minutes: 30 },\n { key: LABELS_MAP_KEYS.FULL, value: 1, minutes: 60 },\n { key: LABELS_MAP_KEYS.MULTIPLE },\n];\n\nconst getMarkerOptions = ({ hoursNumber, possibleLabels, minutesNumber }) => {\n let options = { multiplicity: null, labelsNumber: 0 };\n\n LABELS_MAP.some((item) => {\n if (item.key === LABELS_MAP_KEYS.MULTIPLE) {\n options = {\n type : item.key,\n multiplicity: Math.ceil(hoursNumber / possibleLabels),\n labelsNumber: Math.ceil(hoursNumber / Math.ceil(hoursNumber / possibleLabels)),\n };\n return true;\n }\n if (minutesNumber / item.minutes <= possibleLabels) {\n options = {\n type : item.key,\n multiplicity: item.value,\n minutes : item.minutes,\n labelsNumber: Math.ceil(minutesNumber / item.minutes),\n };\n return true;\n }\n return false;\n });\n\n return options;\n};\n\nconst getLeftPosForMarker = (timestamp, period, secondsInPx) => {\n const seconds = (timestamp - period.start) / 1000;\n return seconds / secondsInPx;\n};\nconst getMarker = (\n period,\n timeMS,\n secondsInPx,\n isVisibleLabel,\n lang = EN,\n isSmall = false,\n) => {\n const label = dayjs(timeMS).hour() === 0 && dayjs(timeMS).minute() === 0\n ? formatDate(timeMS, 'MMM DD', lang)\n : formatDate(timeMS, 'HH:mm', lang);\n\n return {\n left : `${getLeftPosForMarker(timeMS, period, secondsInPx)}px`,\n time : timeMS,\n cssClass: isSmall ? 'small' : 'medium',\n type : dayjs(timeMS).hour() !== 0 ? 'hour' : 'day',\n label : isVisibleLabel ? label : ' ',\n };\n};\n\nconst getFirstFullHourMS = (period) => {\n const year = dayjs(period.start).year();\n const month = dayjs(period.start).month();\n const day = dayjs(period.start).date();\n const hour = dayjs(period.start).hour();\n\n return dayjs(new Date(year, month, day, hour)).valueOf();\n};\n\nconst getFirstMarkerTime = (options, period) => {\n let firstMarkerTime = getFirstFullHourMS(period);\n\n const getFirstMarkerByTime = (minutes) => {\n const year = dayjs(period.start).year();\n const month = dayjs(period.start).month();\n const day = dayjs(period.start).date();\n const hour = dayjs(period.start).hour();\n let startMinutes = dayjs(period.start).minute();\n\n while (startMinutes % minutes !== 0) {\n startMinutes += 1;\n }\n\n return dayjs(new Date(year, month, day, hour, startMinutes)).valueOf();\n };\n\n if (options.type === LABELS_MAP_KEYS.SIXTY\n || options.type === LABELS_MAP_KEYS.TWELVE\n || options.type === LABELS_MAP_KEYS.QUARTER\n || options.type === LABELS_MAP_KEYS.HALF) {\n firstMarkerTime = getFirstMarkerByTime(options.minutes);\n }\n\n return firstMarkerTime;\n};\n\nconst getNewMarkers = (options, period, secondsInPx, lang = EN) => {\n const newMarkers = [];\n let markerTime = getFirstMarkerTime(options, period);\n\n for (let i = 0; i < options.labelsNumber; i++) {\n if (markerTime > period.start) {\n const marker = getMarker(\n period,\n markerTime,\n secondsInPx,\n lang,\n true,\n );\n newMarkers.push(marker);\n }\n if (options.type === LABELS_MAP_KEYS.MULTIPLE) {\n markerTime += (MS_IN_HOUR * options.multiplicity);\n }\n else {\n markerTime += (MS_IN_HOUR / options.multiplicity);\n }\n }\n return newMarkers;\n};\n\nexport {\n MS_IN_HOUR,\n MS_IN_MINUTE,\n MARKER_LABEL_WIDTH,\n LABELS_MAP_KEYS,\n LABELS_MAP,\n\n getMarkerOptions,\n getNewMarkers,\n};\n","import { interval } from 'rxjs';\nimport dayjs from 'dayjs';\nimport {\n getDefaultPeriod,\n getDefaultPlaylist,\n} from '@/store/player/lib';\nimport {\n DEFAULT_PLAYLIST_DURATION,\n EN,\n PLAYER_VIEW_MODES,\n} from '@/constants/main';\nimport {\n convertDateToSeconds,\n formatDate,\n getCoords,\n} from '@/extends/lib';\nimport {\n ANNOTATION_TYPES,\n RANGE_TYPES,\n} from '@/components/ycc-player/constants';\nimport {\n getMarkerOptions,\n getNewMarkers,\n MARKER_LABEL_WIDTH,\n MS_IN_HOUR,\n MS_IN_MINUTE,\n} from '@/components/ycc-player/extends/createMarkers';\nimport {\n getCurrentDateId,\n getProgressBarId,\n getThumbId,\n} from '@/components/ycc-player/extends/componentIds';\n\nconst ZOOM_INDEX = 1.5;\nconst HOUR_IN_MS = 60 * 60 * 1000;\nconst MIN_DURATION = 5 * 60 * 1000;\nconst MAX_DURATION = 24 * HOUR_IN_MS;\n\nexport default class ProgressBarController {\n constructor ({ playerId, thumbWidth }) {\n // not changing\n this.playerId = playerId;\n this.thumbWidth = thumbWidth || 18;\n\n // elements\n this.video = null;\n this.progressBar = null;\n this.thumb = null;\n\n // first level of changing\n this.archiveStatsPeriod = null;\n this.period = getDefaultPeriod(); // all visible period\n this.ranges = null;\n\n // second level of changing\n this.playingPeriod = null; // { start: 0, end: 0 };\n this.currentInterval = null;\n\n // third level of changing\n this.playingTime = 0; // or Date.now() // playingTime\n this.thumbPosition = 0;\n\n this.tracking = null;\n this.trackingObservable$ = interval(20);\n\n this.init();\n }\n\n init () {\n this.video = ProgressBarController.getElem(this.playerId);\n this.progressBar = ProgressBarController.getElem(getProgressBarId(this.playerId));\n this.thumb = ProgressBarController.getElem(getThumbId(this.playerId));\n }\n\n /* GETTERS */\n\n get duration () {\n return this.period.end - this.period.start;\n }\n\n get intervals () {\n // changing triggers: period and ranges\n const startSeconds = convertDateToSeconds(this.period.start);\n const endSeconds = convertDateToSeconds(this.period.end);\n const clipShift = startSeconds;\n const intervalsTemp = [];\n const ranges = this.ranges\n ? this.ranges\n : getDefaultPlaylist({\n start: this.period.start,\n end : this.period.end,\n }).ranges;\n\n ranges.forEach((range, index, arr) => {\n const rangeStart = convertDateToSeconds(range.date);\n const rangeEnd = arr[index + 1] ? convertDateToSeconds(arr[index + 1].date) : endSeconds;\n const intervalType = ProgressBarController.getIntervalType({\n status : range.status,\n isLastRange : index === arr.length - 1,\n date : range.date,\n archiveStatsPeriod: this.archiveStatsPeriod,\n });\n\n intervalsTemp.push({\n width : this.getPXFromSeconds(rangeEnd - startSeconds)\n - this.getPXFromSeconds(rangeStart - startSeconds),\n left : this.getPXFromSeconds(rangeStart - startSeconds),\n type : intervalType,\n start : rangeStart - clipShift,\n end : rangeEnd - clipShift,\n startDate: range.date,\n endDate : arr[index + 1] ? arr[index + 1].date : this.period.end,\n });\n });\n return intervalsTemp;\n }\n\n get periodModifier () {\n return (this.duration - (this.duration / ZOOM_INDEX)) / 2;\n }\n\n get isZoomUpAllowed () {\n return this.duration > MIN_DURATION;\n }\n\n get isZoomDownAllowed () {\n return this.duration < MAX_DURATION;\n }\n\n get periodISO () {\n return {\n start: dayjs(this.period.start).toISOString(),\n end : dayjs(this.period.end).toISOString(),\n };\n }\n\n /* END GETTERS */\n\n /* MAIN PUBLIC METHODS */\n\n seekHandler (intervalElem, clientX, annotationStartSeconds) {\n this.stopTracking();\n\n this.setCurrentInterval(intervalElem);\n\n return this.getPlaylistByIntervalType(intervalElem, clientX, annotationStartSeconds);\n }\n\n startTracking (isArchive) {\n this.tracking = this.trackingObservable$.subscribe(() => {\n let currentTime = Date.now();\n\n if (isArchive && this.video) {\n currentTime = ProgressBarController.getCurrentTimeInMS(this.video.currentTime)\n + this.playingPeriod.start;\n }\n\n this.updatePlayingTime(currentTime);\n });\n }\n\n stopTracking () {\n if (this.tracking) {\n this.tracking.unsubscribe();\n }\n }\n\n getMarkers (lang = EN) {\n const possibleLabels = Math.ceil(this.getProgressBarWidth() / MARKER_LABEL_WIDTH);\n const hoursNumber = Math.ceil((this.period.end - this.period.start) / MS_IN_HOUR);\n const minutesNumber = Math.ceil((this.period.end - this.period.start) / MS_IN_MINUTE);\n const options = getMarkerOptions({ hoursNumber, possibleLabels, minutesNumber });\n\n return getNewMarkers(options, this.period, this.secondsInPx(), lang);\n }\n\n getNewPlaylistPeriodAfterEnding () {\n this.stopTracking();\n\n return this.getRangeByMilliseconds(this.playingTime);\n }\n\n getCorrectedPlayingPeriodEnd (newSeconds, intervalRangeEnd) {\n const endMS = newSeconds + DEFAULT_PLAYLIST_DURATION;\n const intervalRangeEndMS = intervalRangeEnd;\n const result = endMS < intervalRangeEndMS ? endMS : intervalRangeEndMS;\n\n return result * 1000 + this.period.start;\n }\n\n getRangeByMilliseconds (/* playingTime */) {\n const findNextRangeIndex = (startTimeMS) => {\n return this.intervals.findIndex((intervalRange) => {\n const start = Math.trunc(intervalRange.start * 1000 + this.period.start);\n const end = Math.trunc(intervalRange.end * 1000 + this.period.start);\n\n return startTimeMS >= start && startTimeMS < end;\n });\n };\n\n const currentTime = this.playingPeriod.end; /* playingTime; */\n const intervalIndex = findNextRangeIndex(currentTime);\n const currentInterval = this.intervals[intervalIndex];\n let currentPeriod = { type: RANGE_TYPES.LIVE };\n\n if (currentInterval.type === RANGE_TYPES.GAP) {\n currentPeriod = {\n ...this.getNextPeriodAfterGap(intervalIndex + 1),\n };\n }\n else if (currentInterval.type !== RANGE_TYPES.LIVE) {\n currentPeriod = {\n start: currentTime,\n end : this.getCorrectedPlayingPeriodEnd(\n (currentTime - this.period.start) / 1000, currentInterval.end,\n ),\n type : RANGE_TYPES.FRAGMENT,\n };\n }\n\n return currentPeriod;\n }\n\n /* end MAIN PUBLIC METHODS */\n\n /* PUBLIC SETTERS */\n\n setPeriod (period) {\n this.period = period;\n }\n\n setRanges (ranges) {\n this.ranges = ranges;\n }\n\n setPlayingPeriod (playingPeriod) {\n this.playingPeriod = playingPeriod;\n }\n\n setArchiveStatsPeriod (stats) {\n this.archiveStatsPeriod = stats;\n }\n\n setCurrentInterval (intervalElem) {\n this.currentInterval = intervalElem;\n }\n\n /* end PUBLIC SETTERS */\n\n secondsInPx () {\n return this.duration / (this.getProgressBarWidth() * 1000);\n }\n\n getPXFromSeconds (seconds) {\n return seconds / this.secondsInPx();\n }\n\n getSecondsFromPX (px) {\n return px * this.secondsInPx();\n }\n\n static getIntervalType (\n {\n status,\n isLastRange,\n date,\n archiveStatsPeriod,\n }) {\n const liveTime = archiveStatsPeriod ? archiveStatsPeriod.endTime : dayjs(new Date()).toISOString();\n let intervalType = RANGE_TYPES.GAP;\n\n if (isLastRange && liveTime <= date && !status) {\n intervalType = RANGE_TYPES.LIVE;\n }\n\n return status ? RANGE_TYPES.FRAGMENT : intervalType;\n }\n\n setDefaultLiveThumbPos () {\n // set default position for current time in ios safari\n setTimeout(() => {\n this.updatePlayingTime(Date.now());\n }, 100);\n }\n\n updateThumbPos (currentTime, periodStart) {\n const thumbLeftPosition = this.getPXFromSeconds((currentTime - periodStart) / 1000);\n\n this.changeThumbStyle(thumbLeftPosition);\n this.keepThumbPosition(thumbLeftPosition);\n }\n\n changeThumbStyle (thumbLeftPosition) {\n if (this.thumb && Math.trunc(thumbLeftPosition) !== this.thumbPosition) {\n this.thumb.style.transform = `translateX(${thumbLeftPosition - (this.thumbWidth / 2)}px)`;\n }\n }\n\n /* BRING */\n getPeriodForZoomUpByPointer () {\n const playingTime = this.playingTime || dayjs(new Date()).valueOf();\n\n return this.getPeriodForZoomUp(playingTime);\n }\n\n getPeriodForZoomUp (playingTime) {\n if (this.isZoomUpAllowed) {\n return {\n start: this.period.start + this.getStartModifier(playingTime),\n end : this.period.end - this.getEndModifier(playingTime),\n };\n }\n\n return false;\n }\n\n /* put away */\n getPeriodForZoomDownByPointer () {\n const playingTime = this.playingTime || dayjs(new Date()).valueOf();\n\n return this.getPeriodForZoomDown(playingTime);\n }\n\n getPeriodForZoomDown (playingTime) {\n const currentTime = dayjs(new Date()).valueOf();\n\n if (this.isZoomDownAllowed) {\n return {\n start: this.period.start - this.getStartModifier(playingTime),\n end : this.period.end >= currentTime + (3 * HOUR_IN_MS)\n ? this.period.end : this.period.end + this.getEndModifier(playingTime),\n };\n }\n\n return false;\n }\n\n getPeriodForMoveLeft () {\n return {\n start: this.period.start - this.periodModifier,\n end : this.period.end - this.periodModifier,\n };\n }\n\n getPeriodForMoveRight () {\n return {\n start: this.period.start + this.periodModifier,\n end : this.period.end + this.periodModifier,\n };\n }\n\n getPeriodForGoToCenter () {\n return {\n start: this.playingTime - (this.duration / 2),\n end : this.playingTime + (this.duration / 2),\n };\n }\n\n getStartModifier (playingTime) {\n return ((playingTime - this.period.start) / this.duration) * (this.periodModifier * 2);\n }\n\n getEndModifier (playingTime) {\n return ((this.period.end - playingTime) / this.duration) * (this.periodModifier * 2);\n }\n\n getAnnotationsByTypes (annotations) {\n const annotationsByType = {};\n\n if (annotations.length === 0) {\n annotationsByType.empty = [];\n }\n else {\n annotations.forEach((annotation) => {\n if (annotationsByType[annotation.type]) {\n annotationsByType[annotation.type].push(this.adaptAnnotation(annotation));\n }\n else {\n annotationsByType[annotation.type] = [this.adaptAnnotation(annotation)];\n }\n });\n }\n\n return annotationsByType;\n }\n\n adaptAnnotation (annotation) {\n const startSeconds = convertDateToSeconds(this.period.start);\n const annotationStart = convertDateToSeconds(annotation.time);\n const annotationEnd = convertDateToSeconds(annotation.timeEnd);\n\n return {\n ...annotation,\n startSeconds: annotationStart,\n width: this.getPXFromSeconds(annotationEnd - startSeconds)\n - this.getPXFromSeconds(annotationStart - startSeconds),\n left : this.getPXFromSeconds(annotationStart - startSeconds),\n color: ProgressBarController.getAnnotationColorByType(annotation.type),\n };\n }\n\n static getAnnotationColorByType (type) {\n switch (type) {\n case ANNOTATION_TYPES.EVENT:\n return '#ece283';\n default:\n return '#d466d4';\n }\n }\n\n /* PRIVATE METHODS */\n\n getProgressBarWidth () {\n return this.progressBar ? getCoords(this.progressBar).width : 0;\n }\n\n updatePlayingTime (time) {\n this.setPlayingTime(time);\n this.innerPlayingTime(time);\n this.updateThumbPos(time, this.period.start);\n }\n\n setPlayingTime (time) {\n this.playingTime = time;\n }\n\n keepThumbPosition (thumbPosition) {\n this.thumbPosition = thumbPosition;\n }\n\n getPlaylistByIntervalType (intervalElem, clientX, annotationStartSeconds) {\n let newInterval = this.intervals[intervalElem.dataset.index];\n let playingPeriod = null;\n let newViewMode = PLAYER_VIEW_MODES.LIVE;\n\n if (intervalElem.dataset.type === RANGE_TYPES.GAP && this.isLastElem(intervalElem)) {\n return false;\n }\n\n if (intervalElem.dataset.type !== RANGE_TYPES.LIVE) {\n let newCurrentSeconds = 0;\n\n if (intervalElem.dataset.type === RANGE_TYPES.GAP) {\n newInterval = this.intervals[Number(intervalElem.dataset.index) + 1];\n newCurrentSeconds = newInterval.start;\n }\n else if (intervalElem.dataset.type === RANGE_TYPES.FRAGMENT) {\n newCurrentSeconds = annotationStartSeconds\n ? annotationStartSeconds - (this.period.start / 1000) - 10\n : this.getSecondsFromPos(clientX);\n }\n\n playingPeriod = {\n start: (newCurrentSeconds * 1000) + this.period.start,\n end : this.getCorrectedPlayingPeriodEnd(newCurrentSeconds, newInterval.end),\n };\n\n newViewMode = PLAYER_VIEW_MODES.ARCHIVE;\n }\n\n return { newInterval, playingPeriod, newViewMode };\n }\n\n isLastElem (elem) {\n return this.intervals.length === Number(elem.dataset.index) + 1;\n }\n\n getSecondsFromPos (clientX) {\n const leftShift = this.progressBar ? this.progressBar.getBoundingClientRect().left : 0;\n return this.getSecondsFromPX(clientX - leftShift);\n }\n\n innerPlayingTime (time) {\n const currentTimeElem = ProgressBarController.getElem(getCurrentDateId(this.playerId));\n\n if (currentTimeElem) {\n currentTimeElem.innerHTML = formatDate(time, 'HH:mm:ss, D MMMM');\n }\n }\n\n getNextPeriodAfterGap (index) {\n return this.intervals[index]\n ? {\n start: this.intervals[index].start * 1000 + this.period.start,\n end : this.getCorrectedPlayingPeriodEnd(\n this.intervals[index].start,\n this.intervals[index].end,\n ),\n type : this.intervals[index].type,\n }\n : null;\n }\n\n /* end PRIVATE METHODS */\n\n static getElem (id) {\n return document.getElementById(id);\n }\n\n static getCurrentTimeInMS (videoCurrentTime) {\n return videoCurrentTime * 1000;\n }\n}\n","/* eslint-disable no-param-reassign */\n/* eslint-disable no-unused-vars */\n/* eslint-disable object-curly-newline */\n/* eslint-disable import/no-cycle */\nimport dayjs from 'dayjs';\nimport axios from 'axios';\nimport { PLAYER_VIEW_MODES } from '@/constants/main';\nimport { cloneObjDeep } from '@/extends/lib';\nimport {\n getArchiveStatsUrl,\n getAvailableDaysUrl,\n getRangesUrl,\n ANNOTATIONS_URL,\n getDownloadArchiveUrl,\n} from '@/constants/api';\nimport httpClient from '@/config/httpClient';\nimport { RANGE_TYPES } from '@/components/ycc-player/constants';\nimport ProgressBarController from '@/components/ycc-player/extends/ProgressBarController';\nimport {\n getDefaultStart,\n getDefaultEnd,\n getDefaultPeriod,\n getDefaultDownloadLimitsPX,\n getDefaultPeriodISO,\n} from './lib';\n\nconst { CancelToken } = axios;\n\nexport default {\n namespaced: true,\n state : {\n archiveStats : null,\n availableDays : [],\n annotations : [],\n annotationsByTypes: [],\n\n speedIndex : 1,\n archiveDownloadMaxSeconds: 3600,\n downloadLimitsPX : getDefaultDownloadLimitsPX(),\n\n isVisibleDownloadBlock : false,\n isFetchingArchive : false,\n isFetchingArchiveRanges: false,\n isFetchingAnnotations : false,\n isPlaying : false,\n isLoading : false,\n\n cancelArchiveRangesRequest: null,\n archiveDataWatcherTimer : null,\n\n /* progress-bar period */\n period : getDefaultPeriod(),\n periodISO: getDefaultPeriodISO(),\n\n /* progress-bar ranges */\n ranges : [],\n intervals: [],\n\n /* live/archive */\n playerViewMode: PLAYER_VIEW_MODES.LIVE,\n playlist : null,\n\n progressBarController: null,\n },\n getters : {\n hasArchive : (state) => !!state.archiveStats && !!state.archiveStats.period,\n archiveDownloadMaxPX: (state) => {\n return state.progressBarController\n ? state.progressBarController.getPXFromSeconds(state.archiveDownloadMaxSeconds)\n : 0;\n },\n getSecondsInPx : (state) => () => {\n return state.progressBarController ? state.progressBarController.secondsInPx() : 0;\n },\n },\n actions : {\n /* bring */\n zoomUpByPointer ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('zoomUp', {\n streamUid,\n streamId,\n period: state.progressBarController.getPeriodForZoomUpByPointer(),\n });\n },\n zoomUp ({ commit, state, getters, dispatch }, { streamUid, streamId, period }) {\n if (state.progressBarController.isZoomUpAllowed) {\n dispatch('updatePeriod', {\n period,\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n }\n },\n /* put away */\n zoomDownByPointer ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('zoomDown', {\n streamUid,\n streamId,\n period: state.progressBarController.getPeriodForZoomDownByPointer(),\n });\n },\n zoomDown ({ commit, state, getters, dispatch }, { streamUid, streamId, period }) {\n if (state.progressBarController.isZoomDownAllowed) {\n dispatch('updatePeriod', {\n period,\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n }\n },\n toCenter ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n if (state.playerViewMode === PLAYER_VIEW_MODES.LIVE && !state.playlist) {\n return;\n }\n\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForGoToCenter(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n moveLeft ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForMoveLeft(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n moveRight ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForMoveRight(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n updatePeriodAfterDrag ({ commit, dispatch, state }, { period }) {\n dispatch('updatePeriod', {\n period,\n isArchiveEnable: true,\n needRunWatcher : false,\n needFetchData : false,\n });\n },\n resetPeriod ({ dispatch }) {\n dispatch('updatePeriod', {\n period: {\n start: getDefaultStart(),\n end : getDefaultEnd(),\n },\n });\n },\n\n updateRanges ({ dispatch, commit }, { ranges }) {\n function getSplitLastRange () {\n const lastRange = ranges && ranges[ranges.length - 1]\n ? cloneObjDeep(ranges[ranges.length - 1])\n : null;\n\n if (lastRange && !lastRange.status && dayjs(lastRange.date).valueOf() <= Date.now()) {\n lastRange.date = dayjs().toISOString();\n return lastRange;\n }\n return null;\n }\n\n const liveRange = getSplitLastRange();\n\n if (liveRange) {\n ranges.push(liveRange);\n }\n\n dispatch('saveRanges', { ranges });\n },\n saveRanges ({ state, commit }, { ranges }) {\n state.progressBarController.setRanges(ranges);\n commit('setRanges', { ranges });\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n },\n updatePlaylist ({ commit, state }, { url, period, mode }) {\n if (mode === PLAYER_VIEW_MODES.ARCHIVE) {\n const startTime = dayjs(new Date(period.start)).toISOString();\n const endTime = dayjs(new Date(period.end)).toISOString();\n\n commit('setPlaylist', {\n playlist: {\n period,\n url: `${url}?start_time=${startTime}&end_time=${endTime}`,\n },\n });\n }\n else {\n commit('setPlaylist', { playlist: { url } });\n }\n },\n\n fetchArchive (\n { commit, dispatch, getters, state },\n { startTime, endTime, streamUid, streamId, isArchiveEnable },\n ) {\n if (isArchiveEnable) {\n commit('setFetching', { isFetchingArchive: true });\n\n httpClient\n .get(getRangesUrl(streamUid), {\n params: {\n start_time: startTime,\n end_time : endTime,\n },\n })\n .then((response) => {\n if (response.data.period) {\n dispatch('updatePeriod', {\n period: {\n start: dayjs(new Date(response.data.period.startTime)).valueOf(),\n end : dayjs(new Date(response.data.period.endTime)).valueOf(),\n },\n });\n dispatch('updateRanges', { ranges: response.data.ranges });\n dispatch('fetchAnnotations', { streamUid, isArchiveEnable, streamId });\n dispatch('fetchArchiveStats', { streamUid, isArchiveEnable });\n }\n })\n .finally(() => {\n commit('setFetching', { isFetchingArchive: false });\n });\n }\n },\n fetchArchiveRanges ({ commit, dispatch, getters, state }, { rangesUrl, isArchiveEnable }) {\n if (isArchiveEnable) {\n commit('setFetchingArchiveRanges', { isFetchingArchiveRanges: true });\n\n httpClient\n .get(rangesUrl, {\n params : {\n start_time: state.progressBarController.periodISO.start,\n end_time : state.progressBarController.periodISO.end,\n },\n cancelToken: new CancelToken((cancel) => {\n state.cancelArchiveRangesRequest = cancel;\n }),\n })\n .then((response) => {\n if (response.data.period) {\n dispatch('updateRanges', { ranges: response.data.ranges });\n }\n state.cancelArchiveRangesRequest = null;\n })\n .finally(() => {\n commit('setFetchingArchiveRanges', { isFetchingArchiveRanges: false });\n });\n }\n },\n fetchArchiveStats ({ commit, dispatch }, { streamUid, isArchiveEnable }) {\n if (isArchiveEnable) {\n const url = getArchiveStatsUrl(streamUid);\n\n httpClient\n .get(url)\n .then((res) => {\n if (res.data.period) {\n dispatch('updateArchiveStats', { stats: res.data });\n dispatch(\n 'fetchAvailableDays',\n {\n startDay: res.data.period.startTime,\n endDay : res.data.period.endTime,\n streamUid,\n isArchiveEnable,\n },\n );\n }\n });\n }\n },\n fetchAvailableDays ({ commit, dispatch, getters, state }, { startDay, endDay, streamUid, isArchiveEnable }) {\n if (isArchiveEnable) {\n const url = getAvailableDaysUrl(streamUid);\n\n httpClient\n .get(url, {\n params: {\n start_time: startDay,\n end_time : endDay,\n },\n })\n .then((res) => {\n commit('setAvailableDays', { availableDays: res.data });\n });\n }\n },\n fetchArchiveData ({ dispatch }, { rangesUrl, isArchiveEnable, streamId }) {\n dispatch('fetchArchiveRanges', { rangesUrl, isArchiveEnable, streamId });\n dispatch('fetchAnnotations', { isArchiveEnable, streamId });\n },\n fetchAnnotations ({ state, dispatch, commit }, { isArchiveEnable, streamId }) {\n if (isArchiveEnable) {\n commit('setFetchingAnnotations', { isFetchingAnnotations: true });\n\n httpClient\n .get(ANNOTATIONS_URL, {\n params: {\n streamId,\n from: state.progressBarController.periodISO.start,\n to : state.progressBarController.periodISO.end,\n },\n })\n .then((res) => {\n dispatch('updateAnnotations', { annotations: res.data });\n })\n .finally(() => {\n commit('setFetchingAnnotations', { isFetchingAnnotations: false });\n });\n }\n },\n fetchDownloadArchiveUrl ({ commit, getters }, { streamUid, downloadPeriod }) {\n return httpClient\n .get(getDownloadArchiveUrl({ streamUid }), {\n params: {\n start_time : dayjs(downloadPeriod.start).toISOString(),\n end_time : dayjs(downloadPeriod.end).toISOString(),\n timezone_offset: dayjs().utcOffset(),\n },\n })\n .then((res) => res.data);\n },\n\n updateAnnotations ({ state, commit }, { annotations }) {\n commit('setAnnotations', { annotations });\n commit('setAnnotationsByTypes', {\n annotations: state.progressBarController.getAnnotationsByTypes(annotations),\n });\n },\n resetArchiveData ({ commit, dispatch }) {\n commit('setAvailableDays', { availableDays: [] });\n commit('setPlaylist', { playlist: null });\n dispatch('updateAnnotations', { annotations: [] });\n dispatch('updateArchiveStats', { stats: null });\n dispatch('saveRanges', { ranges: [] });\n dispatch('updatePeriod', { period: getDefaultPeriod() });\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.LIVE });\n },\n createArchiveDataWatcher ({ commit, dispatch, getters }, { rangesUrl, isArchiveEnable, streamId }) {\n dispatch('clearArchiveDataWatcher');\n\n function getTime (secondsInPx) {\n return secondsInPx * 6 * 1000 > 3500 ? secondsInPx * 6 * 1000 : 3500;\n }\n\n const time = getTime(getters.getSecondsInPx());\n\n let timer = setTimeout(function tick () {\n dispatch('fetchArchiveData', { rangesUrl, isArchiveEnable, streamId });\n\n timer = setTimeout(tick, time);\n commit('setArchiveDataWatcherTimer', { timer });\n }, time);\n\n commit('setArchiveDataWatcherTimer', { timer });\n },\n clearArchiveDataWatcher ({ state }) {\n clearTimeout(state.archiveDataWatcherTimer);\n },\n\n /* for Player */\n updateSpeedIndex ({ commit }, { speedIndex }) {\n commit('setSpeedIndex', { speedIndex });\n },\n goToLive ({ dispatch, getters, commit }, {\n isSeek,\n rangesUrl,\n liveUrl,\n isAvailableStream,\n isArchiveEnable,\n streamId,\n needFetchData,\n }) {\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.LIVE });\n\n if (isAvailableStream) {\n if (!isSeek) {\n dispatch('updatePeriod', {\n rangesUrl,\n isArchiveEnable,\n streamId,\n needFetchData,\n period: {\n start: dayjs(new Date(getDefaultStart())).valueOf(),\n end : dayjs(new Date(getDefaultEnd())).valueOf(),\n },\n });\n }\n dispatch('updatePlaylist', {\n url : liveUrl,\n mode : PLAYER_VIEW_MODES.LIVE,\n period: null,\n });\n }\n else {\n dispatch('goToEmptyState');\n }\n },\n goToArchive ({ dispatch, state }, { period, playlistUrl }) {\n dispatch('updatePlaylist', {\n period,\n url : playlistUrl,\n mode: PLAYER_VIEW_MODES.ARCHIVE,\n });\n state.progressBarController.updatePlayingTime(period.start);\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.ARCHIVE });\n },\n goToEmptyState ({ commit, state }) {\n state.progressBarController.updatePlayingTime(0);\n commit('setPlaylist', { playlist: null });\n },\n updatePlayerViewMode ({ state, commit, dispatch }, { mode }) {\n commit('setPlayerViewMode', { mode });\n\n if (mode === PLAYER_VIEW_MODES.LIVE) {\n dispatch('updateSpeedIndex', { speedIndex: 1 });\n }\n },\n updateArchiveStats ({ state, commit }, { stats }) {\n if (state.progressBarController) {\n state.progressBarController.setArchiveStatsPeriod(stats?.period || null);\n // todo: requests queue\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n }\n commit('setArchiveStats', { stats });\n },\n handleEndedVideo ({ dispatch, state }, { playlistUrl, liveUrl, isAvailableStream }) {\n const period = state.progressBarController.getNewPlaylistPeriodAfterEnding();\n\n if (period.type === RANGE_TYPES.FRAGMENT) {\n dispatch('goToArchive', {\n period,\n playlistUrl,\n });\n }\n else {\n dispatch('goToLive', {\n liveUrl,\n isAvailableStream,\n isSeek: true,\n });\n }\n },\n\n updatePeriod ({ commit, dispatch, state }, {\n period,\n rangesUrl,\n isArchiveEnable,\n streamId,\n needRunWatcher,\n needFetchData,\n }) {\n dispatch('setPeriod', { period })\n .then(() => {\n if (needFetchData) {\n dispatch('fetchArchiveData', { rangesUrl, isArchiveEnable, streamId });\n }\n\n if (needRunWatcher) {\n dispatch('createArchiveDataWatcher', { rangesUrl, streamId, isArchiveEnable });\n }\n\n if (!state.isPlaying) {\n state.progressBarController.updateThumbPos(\n state.progressBarController.playingTime,\n state.progressBarController.period.start,\n );\n }\n });\n },\n setPeriod ({ state, commit }, { period }) {\n state.progressBarController.setPeriod(period);\n commit('setPeriod', { period });\n commit('setPeriodISO', { periodISO: state.progressBarController.periodISO });\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n },\n\n buildProgressBarController ({ state, commit }, {\n playerId,\n thumbWidth,\n }) {\n commit('setProgressBarController', {\n progressBarController: new ProgressBarController({\n playerId,\n thumbWidth,\n }),\n });\n },\n },\n mutations : {\n setPeriod (state, { period }) {\n state.period = period;\n },\n setPeriodISO (state, { periodISO }) {\n state.periodISO = periodISO;\n },\n setPlaylist (state, { playlist }) {\n state.playlist = playlist;\n },\n setRanges (state, { ranges }) {\n state.ranges = ranges;\n },\n setPlayerViewMode (state, { mode }) {\n state.playerViewMode = mode;\n },\n setFetching (state, { isFetchingArchive }) {\n state.isFetchingArchive = isFetchingArchive;\n },\n setAvailableDays (state, { availableDays }) {\n state.availableDays = availableDays;\n },\n setFetchingArchiveRanges (state, { isFetchingArchiveRanges }) {\n state.isFetchingArchiveRanges = isFetchingArchiveRanges;\n },\n setArchiveStats (state, { stats }) {\n state.archiveStats = stats;\n },\n setArchiveDataWatcherTimer (state, { timer }) {\n state.archiveDataWatcherTimer = timer;\n },\n setDownloadBlockVisibility (state, { isVisibleDownloadBlock }) {\n state.isVisibleDownloadBlock = isVisibleDownloadBlock;\n },\n setDownloadLimits (state, { downloadLimitsPX }) {\n state.downloadLimitsPX = downloadLimitsPX;\n },\n setArchiveDownloadMaxSeconds (state, { archiveDownloadMaxSeconds }) {\n state.archiveDownloadMaxSeconds = archiveDownloadMaxSeconds;\n },\n setAnnotations (state, { annotations }) {\n state.annotations = annotations;\n },\n setAnnotationsByTypes (state, { annotations }) {\n state.annotationsByTypes = annotations;\n },\n setFetchingAnnotations (state, { isFetchingAnnotations }) {\n state.isFetchingAnnotations = isFetchingAnnotations;\n },\n setSpeedIndex (state, { speedIndex }) {\n state.speedIndex = speedIndex;\n },\n setPlayingState (state, { isPlaying }) {\n state.isPlaying = isPlaying;\n },\n setLoadingState (state, { isLoading }) {\n state.isLoading = isLoading;\n },\n setIntervals (state, { intervals }) {\n state.intervals = intervals;\n },\n setProgressBarController (state, { progressBarController }) {\n state.progressBarController = progressBarController;\n },\n },\n};\n","import {\n SESSIONS_URL,\n getSessionUrlById,\n getDeleteTokenUrl,\n PROFILE_TOKEN_URL,\n PROFILE_TOKENS_URL,\n USER_URL,\n TERMINATE_SESSIONS_URL,\n} from '@/constants/api';\nimport { PROFILE_UPDATED_NOTICE } from '@/constants/noticeTypes';\nimport { USER_PERMISSION_TYPES } from '@/constants/main';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n user : null,\n tokens : [],\n sessionTokens: [],\n\n isSavingProfile : false,\n isChangingPassword : false,\n isFetchingProfile : false,\n isFetchingTokens : false,\n isFetchingSessionTokens: false,\n isSavingToken : false,\n },\n getters : {\n userLang : (state) => {\n let lang = null;\n if (state.user) {\n lang = state.user.language;\n }\n return lang;\n },\n isAdminProfile : (state) => state.user && state.user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n isReadOnlyProfile: (state) => state.user && (state.user.maxStreamCreation === 0 && !state.user.isAdmin),\n isManaged : (state) => state?.user?.isManaged,\n },\n mutations : {\n setUser (state, { user }) {\n state.user = user ? {\n ...user,\n permissionType: user.isAdmin ? USER_PERMISSION_TYPES.ADMIN : USER_PERMISSION_TYPES.USER,\n } : user;\n },\n setTokens (state, { tokens }) {\n state.tokens = tokens;\n },\n setSessionTokens (state, { tokens }) {\n state.sessionTokens = tokens;\n },\n },\n actions : {\n async fetchUser ({ commit, state }) {\n if (state.user) {\n return;\n }\n\n state.isFetchingProfile = true;\n\n await httpClient\n .get(USER_URL)\n .then((res) => {\n commit('setUser', { user: res.data });\n })\n .finally(() => {\n state.isFetchingProfile = false;\n });\n },\n saveUser ({ commit, state, dispatch }, { email, login, password, fullName, oldPassword, language }) {\n state.isSavingProfile = true;\n\n httpClient\n .patch(USER_URL, {\n email,\n password,\n oldPassword,\n language,\n fullName,\n name: login,\n })\n .then(() => {\n const adaptedUser = {\n ...state.user,\n isAdmin : state.user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n readOnly: Number(state.user.maxStreamCreation) === 0\n && state.user.permissionType === USER_PERMISSION_TYPES.USER,\n };\n\n commit('setUser', {\n user: { ...adaptedUser, name: login, email, language, fullName },\n });\n commit(\n 'setNotice',\n { name: PROFILE_UPDATED_NOTICE },\n { root: true },\n );\n\n if (password && oldPassword) {\n dispatch('updateAuthToken', { login, password });\n }\n })\n .finally(() => {\n setTimeout(() => {\n state.isSavingProfile = false;\n }, 300);\n });\n },\n saveUserLang ({ commit, state }, { language }) {\n commit('setUser', { user: { ...state.user, language } });\n\n httpClient\n .patch(USER_URL, { language, email: state.user.email, name: state.user.name });\n },\n updateAuthToken ({ dispatch }, { password, login }) {\n const credentials = {\n password,\n name: login,\n };\n\n dispatch('auth', { credentials }, { root: true });\n },\n clearUser ({ commit }) {\n commit('setUser', { user: null });\n },\n fetchTokens ({ commit }) {\n httpClient\n .get(PROFILE_TOKENS_URL)\n .then((res) => {\n commit('setTokens', { tokens: res.data });\n })\n .finally();\n },\n createToken ({ state, commit }, { expireTime, name }) {\n state.isSavingToken = true;\n\n return httpClient\n .post(PROFILE_TOKEN_URL, { expireTime, name })\n .then((res) => {\n commit('setTokens', { tokens: [res.data, ...state.tokens] });\n return res.data;\n })\n .finally(() => {\n state.isSavingToken = false;\n });\n },\n deleteToken ({ state, dispatch }, { id }) {\n state.isDeletingToken = true;\n\n httpClient\n .delete(getDeleteTokenUrl(id))\n .then(() => {\n dispatch('fetchTokens');\n })\n .catch();\n },\n\n fetchSessionTokens ({ commit, state }) {\n state.isFetchingSessionTokens = true;\n\n httpClient\n .get(SESSIONS_URL)\n .then((res) => {\n commit('setSessionTokens', {\n tokens: res.data.sort((token1, token2) => {\n return token1.lastSeenTime > token2.lastSeenTime ? -1 : 1;\n }),\n });\n })\n .finally(() => {\n state.isFetchingSessionTokens = false;\n });\n },\n async revokeSession ({ dispatch }, { id, isCurrent }) {\n await httpClient\n .delete(getSessionUrlById(id))\n .then(() => {\n if (!isCurrent) {\n dispatch('fetchSessionTokens');\n }\n });\n },\n async terminateSessions ({ dispatch }) {\n await httpClient\n .post(TERMINATE_SESSIONS_URL)\n .then(() => {\n dispatch('fetchSessionTokens');\n });\n },\n },\n};\n","import axios from 'axios';\nimport {\n USERS_URL,\n USER_URL,\n STATS_URL,\n CONFIG_URL,\n SYSTEM_STATS_URL,\n API_VERSION_CHECK,\n SERVER_DEBUG_URL,\n getBlockUserUrl,\n getUnblockUserUrl,\n getUserPermissionsUrl,\n getSessionsUserUrl,\n getSessionUserUrl,\n AUDIT_LOGS_URL,\n} from '@/constants/api';\nimport {\n USER_BLOCKED_NOTICE,\n USER_SAVED_NOTICE,\n USER_UNBLOCKED_NOTICE,\n} from '@/constants/noticeTypes';\nimport {\n USER_ACCESSES,\n USER_PERMISSION_TYPES,\n} from '@/constants/main';\n/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\nimport { SERVER_ERROR_CODES } from '@/constants/errorTypes';\n\nconst { CancelToken } = axios;\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n stats : null,\n systemStats : null,\n config : null,\n users : null,\n logs : null,\n currentUser : null,\n isEditMode : false,\n versionInfo : null,\n currentUserPermissions: [],\n sessionTokens : [],\n auditLogs : [],\n isAuditLogsTurnedOff : false,\n\n isFetchingUsers : false,\n isSavingUser : false,\n isFetchingUser : false,\n isDeletingUser : false,\n isFetchingConfig : false,\n isFetchingStats : false,\n isFetchingLogs : false,\n isAddingPermission : false,\n isFetchingPermissions: false,\n isFetchingAuditLogs : false,\n\n fetchingLogsTimer: null,\n cancelLogsRequest: null,\n },\n mutations : {\n setUsers (state, { users }) {\n state.users = users;\n },\n setEditMode (state, { isEditMode }) {\n state.isEditMode = isEditMode;\n },\n setCurrentUser (state, { user }) {\n state.currentUser = {\n ...user,\n permissionType: user.isAdmin ? USER_PERMISSION_TYPES.ADMIN : USER_PERMISSION_TYPES.USER,\n };\n },\n setStats (state, { stats }) {\n state.stats = stats;\n },\n setConfig (state, { config }) {\n state.config = config;\n },\n setSystemStats (state, { systemStats }) {\n state.systemStats = systemStats;\n },\n setVersionInfo (state, { versionInfo }) {\n state.versionInfo = versionInfo;\n },\n setLogs (state, { logs }) {\n state.logs = logs;\n },\n setFetchingLogsTimer (state, { timer }) {\n state.fetchingLogsTimer = timer;\n },\n clearFetchingLogsTimer (state) {\n clearTimeout(state.fetchingLogsTimer);\n },\n setCancelLogsRequest (state, { cancel }) {\n state.cancelLogsRequest = cancel;\n },\n setCurrentUserPermissions (state, { permissions }) {\n state.currentUserPermissions = permissions;\n },\n deleteCurrentUser (state) {\n state.currentUser = null;\n },\n setSessionTokens (state, { tokens }) {\n state.sessionTokens = tokens;\n },\n setAuditLogs (state, { auditLogs }) {\n state.auditLogs = auditLogs;\n },\n setIsAuditLogsTurnedOff (state, { isAuditLogsTurnedOff }) {\n state.isAuditLogsTurnedOff = isAuditLogsTurnedOff;\n },\n },\n actions : {\n fetchUsers ({ commit, state }) {\n state.isFetchingUsers = true;\n\n httpClient\n .get(USERS_URL, {})\n .then((res) => {\n commit('setUsers', { users: res.data });\n })\n .finally(() => {\n state.isFetchingUsers = false;\n });\n },\n fetchUser ({ commit, state }, { login }) {\n state.isFetchingUser = true;\n\n httpClient\n .get(`${USER_URL}/${login}`)\n .then((res) => {\n commit('setCurrentUser', { user: res.data });\n })\n .finally(() => {\n state.isFetchingUser = false;\n });\n },\n addUser ({ dispatch }, { user }) {\n dispatch('saveUser', { user, isAdding: true });\n },\n saveUser ({ commit, state }, { user, isAdding }) {\n const url = isAdding ? USER_URL : `${USER_URL}/${user.name}`;\n state.isSavingUser = true;\n\n const adaptedUser = {\n ...user,\n isAdmin : user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n maxStreamCreation: user.maxStreamCreation === ''\n ? -1 : Number(user.maxStreamCreation),\n };\n\n httpClient\n .post(url, adaptedUser)\n .then((res) => {\n commit('setCurrentUser', { user: res.data });\n\n commit(\n 'setNotice',\n { name: USER_SAVED_NOTICE },\n { root: true },\n );\n\n commit('setEditMode', { isEditMode: false });\n })\n .finally(() => {\n state.isSavingUser = false;\n });\n },\n updateCurrentUser ({ commit, state, dispatch }, { login }) {\n let user = state.currentUser || null;\n\n if (state.users) {\n state.users.some((item) => {\n if (item.name === login) {\n user = item;\n }\n\n return item.name === login;\n });\n }\n\n if (user) {\n commit('setCurrentUser', { user });\n }\n else {\n dispatch('fetchUser', { login });\n }\n },\n deleteUser ({ dispatch, state }, { login }) {\n state.isDeletingUser = true;\n\n return httpClient\n .delete(`${USER_URL}/${login}`)\n .then(() => {\n dispatch('fetchUsers');\n })\n .finally(() => {\n state.isDeletingUser = false;\n });\n },\n changeUserAccess ({ commit, state }, { login, access }) {\n const url = access === USER_ACCESSES.blocked\n ? getBlockUserUrl(login) : getUnblockUserUrl(login);\n\n return httpClient\n .post(url, { name: login })\n .then(() => {\n commit('setCurrentUser', {\n user: { ...state.currentUser, state: access },\n });\n\n commit(\n 'setNotice',\n { name: access === USER_ACCESSES.blocked ? USER_BLOCKED_NOTICE : USER_UNBLOCKED_NOTICE },\n { root: true },\n );\n });\n },\n clearCurrentUser ({ commit }) {\n commit('deleteCurrentUser');\n commit('setCurrentUserPermissions', { permissions: [] });\n },\n\n fetchStats ({ commit, state }) {\n state.isFetchingStats = true;\n\n httpClient\n .get(STATS_URL, {})\n .then((res) => {\n commit('setStats', { stats: res.data });\n })\n .finally(() => {\n state.isFetchingStats = false;\n });\n },\n fetchConfig ({ commit, state }) {\n state.isFetchingConfig = true;\n\n httpClient\n .get(CONFIG_URL, {})\n .then((res) => {\n commit('setConfig', { config: res.data });\n })\n .finally(() => {\n state.isFetchingConfig = false;\n });\n },\n fetchSystemStats ({ state, commit }) {\n state.isFetchingSystemStats = true;\n\n httpClient\n .get(SYSTEM_STATS_URL, {})\n .then((res) => {\n commit('setSystemStats', { systemStats: res.data });\n })\n .finally(() => {\n state.isFetchingSystemStats = false;\n });\n },\n fetchLogs ({ state, commit }) {\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n\n httpClient\n .get(SERVER_DEBUG_URL, {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelLogsRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setLogs', { logs: res.data });\n })\n .finally(() => {\n state.isFetchingLogs = false;\n });\n },\n runUpdatingLogs ({ state, commit, dispatch }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchLogs');\n\n let timer = setTimeout(function tick () {\n dispatch('fetchLogs');\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingLogsTimer', { timer });\n }, 1000);\n\n commit('setFetchingLogsTimer', { timer });\n },\n clearLogsTimer ({ commit, state }) {\n commit('clearFetchingLogsTimer');\n\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n },\n updateVersionData ({ commit }, { version }) {\n axios\n .get(API_VERSION_CHECK, { params: { v: encodeURI(version) } })\n .then((res) => {\n commit('setVersionInfo', { versionInfo: res.data });\n });\n },\n\n fetchUserPermissions ({ commit, state }, { login }) {\n state.isFetchingPermissions = true;\n\n httpClient\n .get(getUserPermissionsUrl(login))\n .then((res) => {\n commit('setCurrentUserPermissions', { permissions: res.data || [] });\n })\n .finally(() => {\n state.isFetchingPermissions = false;\n });\n },\n updateUserPermissions ({ commit, state }, { permissions, login }) {\n state.isAddingPermission = true;\n\n httpClient\n .post(getUserPermissionsUrl(login), permissions, { timeout: 60000 })\n .then((res) => {\n commit('setCurrentUserPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isAddingPermission = false;\n });\n },\n fetchSessionTokens ({ commit, state }, { login }) {\n state.isFetchingSessionTokens = true;\n\n httpClient\n .get(getSessionsUserUrl(login))\n .then((res) => {\n commit('setSessionTokens', { tokens: res.data });\n })\n .finally(() => {\n state.isFetchingSessionTokens = false;\n });\n },\n revokeSession ({ dispatch }, { id, login }) {\n httpClient\n .delete(getSessionUserUrl(login, id))\n .then(() => {\n dispatch('fetchSessionTokens', { login });\n });\n },\n fetchAuditLogs ({ state, commit }, { userId = null }) {\n state.isFetchingAuditLogs = true;\n\n const params = {\n page: 1, size: 100,\n };\n if (userId) {\n params.userID = userId;\n }\n\n httpClient\n .get(AUDIT_LOGS_URL, { params })\n .then((res) => {\n commit('setAuditLogs', { auditLogs: res.data });\n commit('setIsAuditLogsTurnedOff', { isAuditLogsTurnedOff: false });\n })\n .catch((error) => {\n if (error.response.data.code === SERVER_ERROR_CODES.AuditLogsDisabled) {\n commit('setIsAuditLogsTurnedOff', { isAuditLogsTurnedOff: true });\n }\n })\n .finally(() => {\n state.isFetchingAuditLogs = false;\n });\n },\n },\n};\n","import axios from 'axios';\nimport {\n BASE_STREAM_URL,\n PAUSE_STREAM_URL,\n PREVIEW_STREAM_URL,\n PROBE_STREAM_URL,\n RESUME_STREAM_URL,\n getStreamPermissionsUrl,\n getStreamShareUrl,\n getStreamLogsUrl,\n getStreamInfoUrl,\n} from '@/constants/api';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport { STREAM_SOURCE_ERR } from '@/constants/errorTypes';\nimport { STREAM_INFO_SAVED_NOTICE } from '@/constants/noticeTypes';\n\nconst { CancelToken } = axios;\n\n/* eslint-disable no-param-reassign */\nexport default {\n namespaced: true,\n state : {\n // Add stream\n isSendingStream: false,\n\n fetchingStreamStatusTimer: null,\n cancelStreamInfoRequest : null,\n\n fetchingLogsTimer: null,\n cancelLogsRequest: null,\n\n // Info stream\n // Maps of Stream States\n deletingStateMap: {},\n changingStateMap: {},\n\n // StreamPage\n currentStream : null,\n isFetchingRunningStream: false,\n isFetchingStreamInfo : false,\n isDeletedStream : false,\n isFetchingLogs : false,\n\n currentStreamPermissions: [],\n currentStreamLogs : null,\n\n isAddingPermission : false,\n isFetchingStreamPermissions: false,\n },\n mutations : {\n // Add stream\n // Info Stream\n // StreamPage\n setStreamStatus (state, payload) {\n state.currentStream.status = payload;\n },\n setFailureReason (state, payload) {\n state.currentStream.failureReason = payload;\n },\n setStream (state, { stream }) {\n state.currentStream = { ...state.currentStream, ...stream };\n },\n deleteCurrentStream (state) {\n state.currentStream = null;\n state.currentStreamPermissions = null;\n state.currentStreamLogs = null;\n },\n setDeletingStreamState (state, { streamUid, streamState }) {\n const deletingStateMap = JSON.parse(JSON.stringify(state.deletingStateMap));\n deletingStateMap[streamUid] = streamState;\n state.deletingStateMap = deletingStateMap;\n },\n setChangingStreamState (state, { streamUid, streamState }) {\n const changingStateMap = JSON.parse(JSON.stringify(state.changingStateMap));\n changingStateMap[streamUid] = streamState;\n state.changingStateMap = changingStateMap;\n },\n setDeletedStreamState (state, { isDeletedStream }) {\n state.isDeletedStream = isDeletedStream;\n },\n setCurrentStreamPermissions (state, { permissions }) {\n state.currentStreamPermissions = permissions;\n },\n setCancelStreamInfoRequest (state, { cancel }) {\n state.cancelStreamInfoRequest = cancel;\n },\n setFetchingStatusTimer (state, { timer }) {\n state.fetchingStreamStatusTimer = timer;\n },\n clearFetchingStreamStatusTimer (state) {\n clearTimeout(state.fetchingStreamStatusTimer);\n },\n setLogs (state, { logs }) {\n state.currentStreamLogs = logs;\n },\n setFetchingLogsTimer (state, { timer }) {\n state.fetchingLogsTimer = timer;\n },\n clearFetchingLogsTimer (state) {\n clearTimeout(state.fetchingLogsTimer);\n },\n setCancelLogsRequest (state, { cancel }) {\n state.cancelLogsRequest = cancel;\n },\n },\n getters : {\n isArchiveEnable: (state) => !!state.currentStream?.archive?.isEnable,\n isLiveOnDemand : (state) => state.currentStream?.live.onDemand,\n },\n actions : {\n // Add stream\n async sendStream ({ commit, state }, payload) {\n let uid = null;\n state.isSendingStream = true;\n\n await httpClient\n .post(BASE_STREAM_URL, payload, { timeout: 35000 })\n .then((res) => {\n commit('deleteError', { name: STREAM_SOURCE_ERR }, { root: true });\n // eslint-disable-next-line prefer-destructuring\n uid = res.data.uid;\n })\n .finally(() => {\n state.isSendingStream = false;\n });\n\n return uid;\n },\n // Info stream\n pauseStream ({ commit }, { streamUid }) {\n commit('setChangingStreamState', { streamUid, streamState: true });\n\n httpClient\n .post(`${PAUSE_STREAM_URL}/${streamUid}`)\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n })\n .finally(() => {\n commit('setChangingStreamState', { streamUid, streamState: false });\n });\n },\n resumeStream ({ commit }, { streamUid }) {\n commit('setChangingStreamState', { streamUid, streamState: true });\n\n httpClient\n .post(`${RESUME_STREAM_URL}/${streamUid}`)\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n })\n .finally(() => {\n commit('setChangingStreamState', { streamUid, streamState: false });\n });\n },\n deleteStream ({ commit }, { streamUid }) {\n commit('setDeletingStreamState', { streamUid, streamState: true });\n\n httpClient\n .delete(`${BASE_STREAM_URL}/${streamUid}`, {\n params: { purge: true },\n })\n .then(() => {\n commit('setDeletedStreamState', { isDeletedStream: true });\n })\n .finally(() => {\n commit('setDeletingStreamState', { streamUid, streamState: false });\n });\n },\n saveStream ({ commit, state, dispatch }, stream) {\n state.isSendingStream = true;\n\n httpClient\n .put(`${BASE_STREAM_URL}/${stream.uid}`, stream)\n .then((res) => {\n commit('setStream', { stream: res.data });\n dispatch('updateStreamInStreams', { stream: res.data });\n commit('setNotice', { name: STREAM_INFO_SAVED_NOTICE }, { root: true });\n })\n .finally(() => {\n state.isSendingStream = false;\n });\n },\n updateStreamInStreams ({ commit, rootState }, { stream }) {\n const streams = rootState.streams.map((streamItem) => {\n if (streamItem.uid === stream.uid) {\n Object.keys(stream).forEach((key) => {\n streamItem[key] = stream[key];\n });\n }\n return streamItem;\n });\n commit('setStreams', { streams }, { root: true });\n },\n async probeStream (store, { streamUrl, streamId }) {\n return axios\n .get(PROBE_STREAM_URL, { params: { url: streamUrl, stream_id: streamId }, timeout: 60000 })\n .then((res) => res.data);\n },\n async previewStream (store, { streamUrl, streamId }) {\n return axios\n .get(PREVIEW_STREAM_URL, { params: { url: streamUrl, stream_id: streamId }, timeout: 60000 })\n .then((res) => res.data);\n },\n // Info stream, StreamPage\n runUpdatingStreamStatus ({ commit, dispatch }, { streamUid, isPlayer }) {\n dispatch('fetchStreamStatus', { streamUid, isPlayer });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchStreamStatus', { streamUid, isPlayer });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingStatusTimer', { timer });\n }, 1000);\n\n commit('setFetchingStatusTimer', { timer });\n },\n clearStreamTimers ({ commit, state }) {\n commit('clearFetchingStreamStatusTimer');\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n },\n shareStream (store, { streamUid }) {\n return httpClient\n .get(getStreamShareUrl(streamUid))\n .then((res) => res.data);\n },\n denyStreamPublicAccess (store, { streamUid }) {\n return httpClient\n .delete(getStreamShareUrl(streamUid))\n .then((res) => res.data);\n },\n\n // StreamPage\n fetchStream ({ commit, state, getters }, { streamUid, isPlayer }) {\n state.isFetchingRunningStream = true;\n\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer))\n .then((res) => {\n commit('setStream', { stream: res.data });\n })\n .finally(() => {\n state.isFetchingRunningStream = false;\n });\n },\n fetchStreamStatus ({ commit, state, getters }, { streamUid, isPlayer }) {\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n\n if (state.currentStream) {\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStreamInfoRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n commit('setFailureReason', res.data.failureReason);\n });\n }\n },\n fetchStreamInfo ({ commit, state, getters }, { streamUid, isPlayer }) {\n state.isFetchingStreamInfo = true;\n\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStreamInfoRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setStream', { stream: res.data });\n state.isFetchingStreamInfo = false;\n })\n .catch(() => {\n state.isFetchingStreamInfo = false;\n });\n },\n fetchLogs ({ state, commit }, { uid }) {\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n\n httpClient\n .get(getStreamLogsUrl(uid), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelLogsRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setLogs', { logs: res.data });\n })\n .finally(() => {\n state.isFetchingLogs = false;\n });\n },\n runUpdatingLogs ({ state, commit, dispatch }, { uid }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchLogs', { uid });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchLogs', { uid });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingLogsTimer', { timer });\n }, 1000);\n\n commit('setFetchingLogsTimer', { timer });\n },\n clearLogsTimer ({ commit, state }) {\n commit('clearFetchingLogsTimer');\n\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n },\n updateCurrentStream ({ dispatch }, { streamUid, isPlayer }) {\n dispatch('fetchStream', { streamUid, isPlayer });\n },\n clearCurrentStream ({ commit }) {\n commit('deleteCurrentStream');\n },\n fetchStreamPermissions ({ commit, state }, { streamUid }) {\n state.isFetchingStreamPermissions = true;\n\n httpClient\n .get(getStreamPermissionsUrl(streamUid))\n .then((res) => {\n commit('setCurrentStreamPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isFetchingStreamPermissions = false;\n });\n },\n updatePermissions ({ commit, state }, { permissions, streamUid }) {\n state.isAddingPermission = true;\n\n httpClient\n .post(getStreamPermissionsUrl(streamUid), permissions)\n .then((res) => {\n commit('setCurrentStreamPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isAddingPermission = false;\n });\n },\n },\n};\n","/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\nimport { LICENSE_URL } from '@/constants/api';\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n license : null,\n isFetchingLicense: false,\n },\n mutations : {\n setLicense (state, { license }) {\n state.license = license;\n },\n },\n actions : {\n fetchLicense ({ commit, state }) {\n state.isFetchingLicense = true;\n\n httpClient\n .get(LICENSE_URL)\n .then((res) => {\n commit('setLicense', { license: res.data });\n })\n .finally(() => {\n state.isFetchingLicense = false;\n });\n },\n async putLicense ({ state, commit, dispatch }, { license }) {\n state.isSavingLicense = true;\n\n await httpClient\n .put(LICENSE_URL, { text: license })\n .then((res) => {\n commit('setLicense', { license: res.data });\n dispatch('fetchSettings', {}, { root: true });\n })\n .finally(() => {\n state.isSavingLicense = false;\n });\n },\n },\n};\n","// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport {\n ALL_MOSAICS_URL,\n MOSAIC_URL,\n} from '@/constants/api';\n\nexport default {\n namespaced: true,\n state : {\n mosaics : [],\n currentMosaic : null,\n isFetchingAllMosaics: false,\n isFetchingMosaic : false,\n isDeleting : false,\n\n fetchingMosaicTimer: null,\n },\n actions : {\n async postMosaic (store, data) {\n let mosaic = null;\n\n await httpClient\n .post(MOSAIC_URL, data)\n .then((res) => {\n mosaic = res.data;\n });\n\n return mosaic;\n },\n async saveMosaic (store, { id, data }) {\n let mosaic = null;\n\n await httpClient\n .post(`${MOSAIC_URL}/${id}`, data)\n .then((res) => {\n mosaic = res.data;\n });\n\n return mosaic;\n },\n async fetchAllMosaics ({ commit, state }) {\n state.isFetchingAllMosaics = true;\n\n await httpClient\n .get(ALL_MOSAICS_URL)\n .then((res) => {\n commit('setMosaics', { mosaics: res.data });\n })\n .finally(() => {\n state.isFetchingAllMosaics = false;\n });\n },\n async fetchMosaic ({ state, commit }, { id, isPlay }) {\n state.isFetchingMosaic = true;\n let mosaicUrl = `${MOSAIC_URL}/${id}`;\n\n if (isPlay) {\n mosaicUrl += '?extend_lease=true';\n }\n\n return httpClient\n .get(mosaicUrl)\n .then((res) => {\n commit('setMosaic', { mosaic: res.data });\n return res.data;\n })\n .finally(() => {\n state.isFetchingMosaic = false;\n });\n },\n async deleteMosaic ({ state }, { id }) {\n state.ieDeleting = true;\n\n await httpClient\n .delete(`${MOSAIC_URL}/${id}`)\n .then()\n .finally(() => {\n state.ieDeleting = false;\n });\n },\n runUpdatingMosaic ({ commit, dispatch }, { id, isPlay }) {\n dispatch('fetchMosaic', { id, isPlay });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchMosaic', { id, isPlay });\n\n timer = setTimeout(tick, 10000);\n commit('setFetchingMosaicTimer', { timer });\n }, 10000);\n\n commit('setFetchingMosaicTimer', { timer });\n },\n clearTimers ({ commit, state }) {\n clearTimeout(state.fetchingMosaicTimer);\n commit('setFetchingMosaicTimer', { timer: null });\n },\n clearCurrentMosaic ({ commit }) {\n commit('setMosaic', { mosaic: null });\n },\n },\n mutations : {\n setMosaics (state, { mosaics }) {\n state.mosaics = mosaics;\n },\n setMosaic (state, { mosaic }) {\n state.currentMosaic = mosaic;\n },\n setFetchingMosaicTimer (state, { timer }) {\n state.fetchingMosaicTimer = timer;\n },\n },\n};\n","/* eslint-disable import/no-cycle */\n\nimport httpClient from '@/config/httpClient';\nimport PAGES from '@/constants/pages';\nimport { GETTING_STREAMS_URL } from '@/constants/api';\nimport {\n GROUP_TYPES_KEYS,\n SORT_TYPES_KEYS,\n STREAM_STATUS,\n VIEW_MODES_KEYS,\n} from '@/constants/main';\nimport {\n getGroupedStreams,\n saveToLocalStorage,\n} from '@/store/utilities';\n\nexport default {\n namespaced: true,\n state : {\n streams: [],\n\n viewModeKey : VIEW_MODES_KEYS.GRID,\n groupType : GROUP_TYPES_KEYS.NO_GROUP,\n sortType : SORT_TYPES_KEYS.DATE, // for LocalStorage\n pageNumberOfStreams: 1,\n searchingValues : [],\n\n isShownAvailableStreams: false,\n isFetchingStreams : true,\n isCheckingMode : false,\n },\n mutations : {\n setStreams (state, payload) {\n state.streams = [...payload.streams];\n },\n setGroupType (state, payload) {\n state.groupType = payload;\n },\n setSearchingValues (state, payload) {\n state.searchingValues = [...payload];\n },\n setViewModeKey (state, payload) {\n state.viewModeKey = payload;\n },\n setShowingAvailableState (state, payload) {\n state.isShownAvailableStreams = payload;\n },\n setStreamsStatuses (state, payload) {\n state.streams = [...payload.streams];\n },\n },\n getters : {\n /* eslint-disable-next-line */\n availableStreams: (state) => {\n return state.streams.filter((stream) => stream.status === STREAM_STATUS.PENDING\n || stream.status === STREAM_STATUS.RUNNING);\n },\n searchedStreams : (state, getters) => {\n const uniqueStreamsIds = {};\n let allSearchedStreams = [];\n let streams = state.isShownAvailableStreams ? getters.availableStreams : state.streams;\n\n function getValuesForSearching (stream) {\n let valuesForSearching = [stream.name, stream.streamSource];\n\n if (stream.tags && stream.tags.length > 0) {\n valuesForSearching = [...valuesForSearching, ...stream.tags];\n }\n\n return valuesForSearching;\n }\n\n if (state.searchingValues.length > 0) {\n state.searchingValues.forEach((searchingValue) => {\n streams.forEach((stream) => {\n uniqueStreamsIds[stream.uid] = false;\n\n const valuesForSearching = getValuesForSearching(stream);\n\n if (stream.location && stream.location.name) {\n valuesForSearching.push(stream.location.name);\n }\n\n valuesForSearching.forEach((item) => {\n if (item\n && item.toLowerCase().indexOf(searchingValue.toLowerCase()) !== -1\n && uniqueStreamsIds[stream.uid] !== true) {\n allSearchedStreams.push(stream);\n uniqueStreamsIds[stream.uid] = true;\n }\n });\n });\n streams = [...allSearchedStreams];\n allSearchedStreams = [];\n });\n }\n return streams;\n },\n groupedStreams : (state, getters) => {\n switch (state.groupType) {\n case GROUP_TYPES_KEYS.TAG:\n return getters.groupedByTags;\n default:\n return {\n NO_GROUP: {\n name : 'All',\n streams: getters.searchedStreams,\n },\n };\n }\n },\n groupedByTags : (state, getters) => getGroupedStreams(getters.searchedStreams, GROUP_TYPES_KEYS.TAG),\n // AUTOCOMPLETE\n autocomplete: (state) => {\n const autocomplete = {\n names : [],\n tags : [],\n markers : [],\n locations: [],\n };\n\n const markers = {};\n const tags = {};\n const locations = {};\n\n state.streams.forEach((stream) => {\n autocomplete.names.push({ value: stream.name });\n\n if (stream.meta && stream.meta.marker) {\n markers[stream.meta.marker] = true;\n }\n\n if (stream.tags && stream.tags.length > 0) {\n stream.tags.forEach((tag) => {\n tags[tag] = true;\n });\n }\n\n if (stream.location && stream.location.name && stream.location.name.length > 0) {\n locations[stream.location.name] = true;\n }\n });\n\n Object.keys(markers).forEach((key) => {\n autocomplete.markers.push({ value: key });\n });\n Object.keys(tags).forEach((key) => {\n autocomplete.tags.push({ value: key });\n });\n Object.keys(locations).forEach((key) => {\n autocomplete.locations.push({ value: key });\n });\n\n return autocomplete;\n },\n },\n actions : {\n fetchStreams ({ commit, state }) {\n state.isFetchingStreams = true;\n httpClient\n .get(GETTING_STREAMS_URL, {\n params: {\n page : state.pageNumberOfStreams,\n groupType : state.groupType,\n sortType : state.sortType,\n onlyAvailable : state.isShownAvailableStreams,\n searchingValues: state.searchingValues,\n },\n })\n .then((res) => {\n commit('setStreams', { streams: res.data });\n state.isFetchingStreams = false;\n });\n },\n fetchStreamsStatuses ({ commit, state }) {\n httpClient\n .get(GETTING_STREAMS_URL, {\n params: {\n page : state.pageNumberOfStreams,\n groupType : state.groupType,\n sortType : state.sortType,\n isOnlyAvailable: state.isShownAvailableStreams,\n searchingValues: state.searchingValues,\n },\n })\n .then((res) => {\n commit('setStreamsStatuses', { streams: res.data });\n });\n },\n updateStreams ({ commit, state }, payload) {\n commit('setStreams', { streams: payload });\n state.isFetchingStreams = false;\n },\n updateStreamsStatuses ({ dispatch }, payload) {\n dispatch('fetchStreamsStatuses', payload);\n },\n groupStreams ({ commit }, payload) {\n commit('setGroupType', payload);\n saveToLocalStorage({\n key : 'groupType',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n searchStreams ({ commit }, payload) {\n commit('setSearchingValues', payload);\n saveToLocalStorage({\n key : 'searchingValues',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n changeViewMode ({ commit }, payload) {\n commit('setViewModeKey', payload);\n saveToLocalStorage({\n key : 'viewModeKey',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n toggleShowingAvailable ({ commit }, payload) {\n commit('setShowingAvailableState', payload);\n saveToLocalStorage({\n key : 'isShownAvailableStreams',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n\n getStreamsPageSettingFromLocalStorage ({ commit }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(PAGES.ALL_STREAMS));\n\n if (streamsPageSettings) {\n [\n { name: 'setSearchingValues', property: 'searchingValues' },\n { name: 'setViewModeKey', property: 'viewModeKey' },\n { name: 'setShowingAvailableState', property: 'isShownAvailableStreams' },\n { name: 'setGroupType', property: 'groupType' },\n ].forEach((item) => {\n if (streamsPageSettings[item.property]) {\n commit(item.name, streamsPageSettings[item.property]);\n }\n });\n }\n },\n },\n};\n","import axios from 'axios';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport {\n TUNNEL_START_URL,\n TUNNEL_STATUS_URL,\n TUNNEL_STOP_URL,\n} from '@/constants/api';\nimport STATUSES from '../../components/tunnel/statuses';\n\nconst { CancelToken } = axios;\n\nexport default {\n namespaced: true,\n state : {\n address : '',\n fetchingStatusTimer: null,\n cancelStatusRequest: null,\n status : STATUSES.disconnected,\n isConnected : false,\n isStoppingTunnel : false,\n isStartingTunnel : false,\n isOpenSettings : false,\n error : null,\n },\n mutations : {\n setConnectedStatus (state, { isConnected }) {\n state.isConnected = isConnected;\n },\n setStatus (state, { status }) {\n state.status = status;\n },\n setAddress (state, { address }) {\n state.address = address;\n },\n setFetchingStatusTimer (state, { timer }) {\n state.fetchingStatusTimer = timer;\n },\n setCancelStatusRequest (state, { cancel }) {\n state.cancelStatusRequest = cancel;\n },\n setOpenSettingsState (state, { isOpenSettings }) {\n state.isOpenSettings = isOpenSettings;\n },\n clearFetchingStatusTimer (state) {\n clearTimeout(state.fetchingStatusTimer);\n },\n setTunnelError (state, { error }) {\n state.error = error;\n },\n },\n actions : {\n async startTunnel ({ state, dispatch }, { location }) {\n if (state.cancelStatusRequest) {\n state.cancelStatusRequest('replaced');\n }\n\n state.isStartingTunnel = true;\n await httpClient\n .post(TUNNEL_START_URL, { location })\n .then(() => {\n dispatch('runFetchingTunnelStatus');\n })\n .catch()\n .finally();\n },\n async stopTunnel ({ state, commit }) {\n state.isStoppingTunnel = true;\n await httpClient\n .post(TUNNEL_STOP_URL)\n .then(() => {\n commit('setAddress', { address: '' });\n })\n .catch()\n .finally();\n },\n fetchTunnelStatus ({ state, commit }) {\n if (state.cancelStatusRequest) {\n state.cancelStatusRequest('replaced');\n }\n\n return httpClient\n .get(TUNNEL_STATUS_URL, {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStatusRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setConnectedStatus', { isConnected: res.data.status === 'connected' });\n commit('setStatus', { status: res.data.status });\n commit('setAddress', { address: res.data.address });\n\n if (res.data.error) {\n commit('setTunnelError', { error: res.data.error });\n }\n else {\n commit('setTunnelError', { error: null });\n }\n return res.data.status;\n })\n .catch()\n .finally(() => {\n state.isStartingTunnel = false;\n state.isStoppingTunnel = false;\n });\n },\n\n runFetchingTunnelStatus ({ commit, dispatch }) {\n dispatch('clearFetchingStatusTimer');\n dispatch('fetchTunnelStatus');\n\n let timer = setTimeout(function tick () {\n dispatch('fetchTunnelStatus')\n .then((status) => {\n if (status !== STATUSES.disconnected) {\n timer = setTimeout(tick, 1000);\n commit('setFetchingStatusTimer', { timer });\n }\n });\n }, 1000);\n\n commit('setFetchingStatusTimer', { timer });\n },\n clearFetchingStatusTimer ({ commit, state }) {\n commit('clearFetchingStatusTimer');\n\n if (state.cancelStatusRequest) {\n state.cancelStatusRequest('replaced');\n }\n },\n\n toggleSettings ({ state, commit }) {\n commit('setOpenSettingsState', { isOpenSettings: !state.isOpenSettings });\n },\n closeSettings ({ commit }) {\n commit('setOpenSettingsState', { isOpenSettings: false });\n },\n },\n};\n","/* eslint-disable import/no-cycle */\nimport axios from 'axios';\nimport httpClient from '@/config/httpClient';\nimport {\n CLUSTER_NODES_URL,\n getClusterNodeDeleteUrl,\n getClusterNodeDrainUrl,\n getClusterNodeUrl,\n INTERNAL_NODES_URL,\n} from '@/constants/api';\n\nconst { CancelToken } = axios;\n\nexport default {\n namespaced: true,\n state : {\n clusterNodes : null,\n isFetchingClusterNodes: false,\n isDrainingNode : false,\n isDeletingNode : false,\n\n fetchingNodesTimer: null,\n cancelNodesRequest: null,\n },\n mutations : {\n setClusterNodes (state, { nodes }) {\n state.clusterNodes = nodes;\n },\n setFetchingNodesTimer (state, { timer }) {\n state.fetchingNodesTimer = timer;\n },\n clearFetchingNodesTimer (state) {\n clearTimeout(state.fetchingNodesTimer);\n },\n setCancelNodesRequest (state, { cancel }) {\n state.cancelNodesRequest = cancel;\n },\n },\n actions : {\n async fetchNodes ({ state, commit }, { isAdminProfile }) {\n if (state.cancelNodesRequest) {\n state.cancelNodesRequest('replaced');\n }\n\n state.isFetchingClusterNodes = true;\n\n await httpClient\n .get(isAdminProfile ? CLUSTER_NODES_URL : INTERNAL_NODES_URL, {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelNodesRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setClusterNodes', { nodes: res.data || null });\n })\n .finally(() => {\n state.isFetchingClusterNodes = false;\n });\n },\n async updateNode ({ state, dispatch }, { id, name, isAdminProfile }) {\n state.isUpdatingNode = true;\n\n await httpClient\n .post(getClusterNodeUrl(id), { name })\n .then(() => {\n dispatch('fetchNodes', { isAdminProfile });\n })\n .finally(() => {\n state.isUpdatingNode = false;\n });\n },\n async drainNode ({ state, dispatch }, { id, isAdminProfile }) {\n state.isDrainingNode = true;\n\n await httpClient\n .post(getClusterNodeDrainUrl(id))\n .then(() => {\n dispatch('fetchNodes', { isAdminProfile });\n })\n .finally(() => {\n state.isDrainingNode = false;\n });\n },\n async deleteNode ({ state, dispatch }, { id, isAdminProfile }) {\n state.isDeletingNode = true;\n\n await httpClient\n .delete(getClusterNodeDeleteUrl(id))\n .then(() => {\n dispatch('fetchNodes', { isAdminProfile });\n })\n .finally(() => {\n state.isDeletingNode = false;\n });\n },\n runUpdatingNodes ({ state, commit, dispatch }, { isAdminProfile }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchNodes', { isAdminProfile });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchNodes', { isAdminProfile });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingNodesTimer', { timer });\n }, 1000);\n\n commit('setFetchingNodesTimer', { timer });\n },\n clearNodesTimer ({ commit, state }) {\n commit('clearFetchingNodesTimer');\n\n if (state.cancelNodesRequest) {\n state.cancelNodesRequest('replaced');\n }\n },\n },\n};\n","/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\nimport {\n PASSWORD_SEND_RESET_URL,\n PASSWORD_RESET_URL,\n} from '@/constants/api';\nimport {\n RECOVERY_CODE_SENT,\n PASSWORD_CHANGED,\n} from '@/constants/noticeTypes';\n\nexport default {\n namespaced: true,\n state : {\n isSendingCode : false,\n isResetInProcess : false,\n retryAfterTime : 0,\n },\n actions : {\n async sendCode ({ commit, dispatch }, { email }) {\n commit('setIsSendingCode', { isSendingCode: true });\n\n await httpClient\n .post(PASSWORD_SEND_RESET_URL, { email })\n .then((res) => {\n commit(\n 'setNotice',\n { name: RECOVERY_CODE_SENT },\n { root: true },\n );\n dispatch('disableSendingCode', {\n delayTime: res.headers['retry-after']\n ? res.headers['retry-after'] * 1000\n : 0,\n });\n })\n .catch((err) => {\n dispatch('disableSendingCode', {\n delayTime: err.response.headers['retry-after']\n ? err.response.headers['retry-after'] * 1000\n : 0,\n });\n })\n .finally(() => {\n commit('setIsSendingCode', { isSendingCode: false });\n });\n },\n async reset ({ commit }, { code, password, email }) {\n commit('setIsResetInProcess', { isResetInProcess: true });\n\n await httpClient\n .post(PASSWORD_RESET_URL, { code, password, email })\n .then(() => {\n commit(\n 'setNotice',\n { name: PASSWORD_CHANGED },\n { root: true },\n );\n })\n .finally(() => {\n commit('setIsResetInProcess', { isResetInProcess: false });\n });\n },\n disableSendingCode ({ commit }, { delayTime }) {\n let timerTime = delayTime;\n commit('setRetryAfterTime', { retryAfterTime: timerTime });\n const timer = setInterval(() => {\n timerTime -= 1000;\n commit('setRetryAfterTime', { retryAfterTime: timerTime });\n }, 1000);\n\n setTimeout(() => {\n commit('setRetryAfterTime', { retryAfterTime: 0 });\n clearInterval(timer);\n }, delayTime);\n },\n },\n mutations : {\n setIsResetInProcess (state, { isResetInProcess }) {\n state.isResetInProcess = isResetInProcess;\n },\n setIsSendingCode (state, { isSendingCode }) {\n state.isSendingCode = isSendingCode;\n },\n setRetryAfterTime (state, { retryAfterTime }) {\n state.retryAfterTime = retryAfterTime / 1000;\n },\n },\n};\n","/* eslint-disable import/no-cycle */\n\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport router from '@/router';\nimport httpClient from '@/config/httpClient';\nimport PAGES from '@/constants/pages';\nimport {\n PANEL_SIZE,\n FEATURES,\n} from '@/constants/main';\nimport {\n HEALTH_URL,\n SIGN_IN_URL,\n SIGN_OUT_URL,\n SYSTEM_SETTINGS_URL,\n UNLOCK_URL,\n} from '@/constants/api';\nimport { CREDENTIALS_ERR } from '@/constants/errorTypes';\nimport { getCookie } from '@/extends/lib';\nimport {\n isMediaAtLeast720,\n isMobile,\n} from '@/extends/browserEnv';\nimport { destinationPageStorage } from '@/extends/storageServices';\nimport { saveToLocalStorage } from './utilities';\nimport player from './player/player';\nimport profile from './profile';\nimport admin from './admin';\nimport streamStore from './stream';\nimport license from './license';\nimport mosaic from './mosaic';\nimport streams from './streams';\nimport tunnel from './tunnel';\nimport cluster from './cluster';\nimport auth from './auth';\n\nVue.use(Vuex);\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-unused-vars */\nexport default new Vuex.Store({\n modules : {\n admin,\n player,\n profile,\n streamStore,\n license,\n mosaic,\n streams,\n tunnel,\n cluster,\n auth,\n },\n state : {\n version: null,\n config : null,\n\n // Auth\n isAuthLoading : false,\n isAdminCreating: false,\n\n // for LocalStorage\n isFixContent: true,\n isOpenAside : false,\n\n // GENERAL для всех страниц\n tabs : null,\n headerHeight : PANEL_SIZE,\n errors : {},\n notice : {},\n healthWarnings : [],\n isMediaAtLeast720 : isMediaAtLeast720(),\n isCardMode : isMobile && !isMediaAtLeast720,\n isShowServerSwitcher: false,\n isNotFoundPage : false,\n },\n mutations: {\n // Auth Page\n setVersion (state, { version }) {\n state.version = version;\n },\n setHealthWarnings (state, { healthWarnings }) {\n state.healthWarnings = healthWarnings;\n },\n setAuthState (state, { value }) {\n state.isAuthLoading = value;\n },\n\n // General\n setFoundingPageState (state) {\n state.isNotFoundPage = !state.isNotFoundPage;\n },\n setError (state, { name, error }) {\n state.errors[name] = error;\n state.errors = { ...state.errors };\n },\n deleteError (state, { name }) {\n if (state.errors[name]) {\n delete state.errors[name];\n }\n state.errors = { ...state.errors };\n },\n setCreatingAdminState (state, { value }) {\n state.isAdminCreating = value;\n },\n setAsideState (state, payload) {\n state.isOpenAside = payload;\n },\n setNotice (state, { name, message, type }) {\n state.notice = { name, message, type };\n },\n deleteNotice (state, { name }) {\n state.notice = null;\n },\n setHeaderHeight (state, { headerHeight }) {\n state.headerHeight = headerHeight;\n },\n setIsMediaAtLeast720 (state) {\n state.isMediaAtLeast720 = isMediaAtLeast720();\n },\n setIsShowServerSwitcher (state, { isShowServerSwitcher }) {\n state.isShowServerSwitcher = isShowServerSwitcher;\n },\n setPageTabs (state, { tabs }) {\n state.tabs = tabs;\n },\n setConfig (state, { config }) {\n state.config = config;\n },\n },\n getters : {\n isMobile : () => isMobile,\n isTunnelEnabled : (state) => {\n return !state.config.isLicenseExpired && state.config.features[FEATURES.tunnel];\n },\n isUnavailableNode : (state, getters) => {\n return getters.getIsUnavailableNode(state.streamStore.currentStream);\n },\n getIsUnavailableNode: (state) => (stream) => {\n return state.config\n && state.config.clusterEnabled\n && stream\n && state.config.nodeId !== stream.node.id\n && !stream.node.available;\n },\n },\n actions : {\n // Init Page\n createAdmin ({ commit, dispatch }, { settings }) {\n commit('setCreatingAdminState', { value: true });\n\n httpClient\n .post(UNLOCK_URL, settings)\n .then((res) => {\n commit('deleteError', { name: CREDENTIALS_ERR });\n router.replace({ name: PAGES.ALL_STREAMS });\n })\n .finally(() => {\n commit('setCreatingAdminState', { value: false });\n });\n },\n // Auth Page\n auth ({ commit, dispatch }, { credentials }) {\n commit('setAuthState', { value: true });\n\n httpClient\n .post(SIGN_IN_URL, credentials)\n .then((res) => {\n commit('deleteError', { name: CREDENTIALS_ERR });\n\n const redirectPage = res.data.mustChangePassword ? PAGES.PROFILE_EDIT : PAGES.ALL_STREAMS;\n\n router.replace(destinationPageStorage.getItem() || {\n name : redirectPage,\n params: { mustChangePassword: res.data.mustChangePassword },\n });\n destinationPageStorage.removeItem();\n })\n .finally(() => {\n commit('setAuthState', { value: false });\n });\n },\n logout ({ dispatch }) {\n httpClient\n .post(SIGN_OUT_URL)\n .then(() => {\n dispatch('profile/clearUser');\n destinationPageStorage.removeItem();\n router.replace({ name: PAGES.AUTH });\n })\n .finally();\n },\n hasPermission () {\n return !!getCookie('token');\n },\n async checkPermission ({ dispatch, commit }) {\n return httpClient\n .get(HEALTH_URL)\n .then((res) => {\n dispatch('updateVersion', { version: res.data.version });\n\n if (res.data.warnings) {\n commit('setHealthWarnings', { healthWarnings: res.data.warnings });\n }\n return { status: true };\n })\n .catch((error) => ({ statusCode: error.response.status, status: false }));\n },\n async fetchHealth ({ commit, state, dispatch }) {\n if (state.version) {\n return;\n }\n await httpClient\n .get(HEALTH_URL)\n .then((res) => {\n dispatch('updateVersion', { version: res.data.version });\n\n if (res.data.warnings) {\n commit('setHealthWarnings', { healthWarnings: res.data.warnings });\n }\n });\n },\n updateVersion ({ commit, state, dispatch }, { version }) {\n commit('setVersion', { version });\n },\n\n changeAsideState ({ commit }, payload) {\n commit('setAsideState', payload);\n saveToLocalStorage({\n key : 'isOpenAside',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n toggleFoundingPageState ({ commit }) {\n commit('setFoundingPageState');\n },\n getPageSettingFromLocalStorage ({ commit }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(PAGES.ALL_STREAMS));\n\n if (streamsPageSettings) {\n commit('setAsideState', streamsPageSettings.isOpenAside);\n }\n },\n setError ({ commit, state }, { errorMsg, errorName }) {\n commit('setError', { name: errorName, error: errorMsg });\n },\n deleteError ({ commit }, { errorName }) {\n commit('deleteError', { name: errorName });\n },\n setNotice ({ commit, state, dispatch }, { name, message }) {\n commit('setNotice', { name, message });\n },\n deleteNotice ({ commit }, { name }) {\n commit('deleteNotice', { name });\n },\n resizeApp ({ commit }) {\n commit('setIsMediaAtLeast720');\n },\n\n fetchSettings ({ commit }) {\n return httpClient\n .get(SYSTEM_SETTINGS_URL)\n .then((res) => {\n commit('setConfig', { config: res.data });\n return res.data;\n });\n },\n },\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"8\":\"stream-info\",\"39\":\"help\",\"82\":\"mosaics\",\"89\":\"license\",\"179\":\"main\",\"186\":\"stream-view\",\"187\":\"add-stream\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"233\":\"admin-config\",\"241\":\"profile-sessions\",\"260\":\"stream-setting\",\"328\":\"admin\",\"339\":\"add-mosaic\",\"359\":\"user-sessions\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"485\":\"watch-mosaic\",\"515\":\"stream\",\"615\":\"bookmarks\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"835\":\"audit-logs\",\"845\":\"profile\",\"899\":\"recover-password\",\"914\":\"server-debug\",\"942\":\"not-found\",\"946\":\"tunnel\",\"999\":\"admin-cluster\"}[chunkId] || chunkId) + \"-legacy.\" + {\"8\":\"db03943e\",\"15\":\"29503a7e\",\"39\":\"44e125bb\",\"82\":\"c72fa941\",\"89\":\"b906e0c7\",\"116\":\"d054f907\",\"179\":\"c41472bd\",\"186\":\"1161058f\",\"187\":\"648294f3\",\"199\":\"86b3f29d\",\"207\":\"f2e1f4b9\",\"212\":\"65e15a26\",\"233\":\"ebae9df3\",\"241\":\"b7464cd0\",\"243\":\"e1369025\",\"260\":\"cc8db27f\",\"328\":\"d94893d8\",\"339\":\"f8978cc5\",\"359\":\"0046a9ba\",\"378\":\"9efdc070\",\"386\":\"0400ffb7\",\"391\":\"e4840e9a\",\"408\":\"9263afa7\",\"410\":\"d8385d34\",\"443\":\"77ee9afd\",\"448\":\"90130b92\",\"466\":\"49d21c34\",\"485\":\"0a0e2118\",\"515\":\"eb480a6d\",\"517\":\"27abbc0d\",\"569\":\"a560a08c\",\"615\":\"172e607c\",\"632\":\"bcd9b1af\",\"658\":\"7c854bef\",\"768\":\"6ae4c7d9\",\"818\":\"31c69708\",\"835\":\"51bf5ecd\",\"845\":\"29af9e0d\",\"899\":\"56334e14\",\"914\":\"388ddd7b\",\"942\":\"26e95812\",\"946\":\"c7aca50a\",\"993\":\"a014eb22\",\"999\":\"d21eee63\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + ({\"8\":\"stream-info\",\"82\":\"mosaics\",\"89\":\"license\",\"179\":\"main\",\"186\":\"stream-view\",\"187\":\"add-stream\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"241\":\"profile-sessions\",\"260\":\"stream-setting\",\"328\":\"admin\",\"339\":\"add-mosaic\",\"359\":\"user-sessions\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"485\":\"watch-mosaic\",\"515\":\"stream\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"835\":\"audit-logs\",\"845\":\"profile\",\"899\":\"recover-password\",\"914\":\"server-debug\",\"942\":\"not-found\",\"946\":\"tunnel\",\"999\":\"admin-cluster\"}[chunkId] || chunkId) + \".\" + {\"8\":\"c6cac03d\",\"82\":\"b30fb0b3\",\"89\":\"b49613a6\",\"179\":\"a69ce50f\",\"186\":\"a85ee9b9\",\"187\":\"e96fde02\",\"199\":\"ca48c32d\",\"212\":\"d94449b0\",\"241\":\"804aeb90\",\"260\":\"a776d6a2\",\"328\":\"a9a20e44\",\"339\":\"57479ab2\",\"359\":\"804aeb90\",\"378\":\"297347ac\",\"391\":\"59e0f9e4\",\"410\":\"8c49bcda\",\"443\":\"59c28c87\",\"485\":\"1b44a906\",\"515\":\"a71c9e4e\",\"569\":\"24213a84\",\"632\":\"c472ba01\",\"768\":\"569005fc\",\"818\":\"5812e3d0\",\"835\":\"3479a6d6\",\"845\":\"16eb29d9\",\"899\":\"7e7aea4a\",\"914\":\"59c28c87\",\"942\":\"b069f0ce\",\"946\":\"a6d04bfc\",\"999\":\"68ba6e10\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"yucca:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/ui/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"8\":1,\"82\":1,\"89\":1,\"179\":1,\"186\":1,\"187\":1,\"199\":1,\"212\":1,\"241\":1,\"260\":1,\"328\":1,\"339\":1,\"359\":1,\"378\":1,\"391\":1,\"410\":1,\"443\":1,\"485\":1,\"515\":1,\"569\":1,\"632\":1,\"768\":1,\"818\":1,\"835\":1,\"845\":1,\"899\":1,\"914\":1,\"942\":1,\"946\":1,\"999\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkyucca\"] = self[\"webpackChunkyucca\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(53990); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","isHeader","attrs","logo","staticRenderFns","light","dark","THEMES","lightLogo","darkLogo","name","props","theme","type","default","computed","component","alertCssClasses","_e","_v","_s","title","_t","SUCCESS","hasIcon","DANGER","WARNING","ATTENTION","ATTENTION_INFO","ATTENTION_WARNING","ATTENTION_DANGER","isFixed","fixed","ref","style","datepickerId","rangeType","lang","startDate","correctedNumberOfMonth","isHighlightToday","isHighlightWeekend","period","maxRange","minAllowedDate","maxAllowedDate","significantDates","isDisabledDate","on","decreaseMonth","increaseMonth","onClickDay","minDate","maxDate","months","isMultiRangeType","_l","month","key","monthLabel","yearLabel","weekdayLabel","highlightWeekday","week","day","refInFor","getDayClasses","date","$event","preventDefault","dayNumber","isDisablePrevMonthBtn","isDisableNextMonthBtn","methods","PropertyError","property","message","Error","captureStackTrace","stack","getDefaultStartDate","components","YccCalendarControls","calendarId","numberOfMonth","useControls","customPeriods","notSelectedDates","isSelectingOnePeriod","isSelecting","selectedPeriod","underCursor","start","end","selectingCustomPeriod","selectingDates","dayjs","watch","newDate","newStep","newPeriod","newLang","deep","periodStyle","allPeriodProperties","firstWeekdayInMonth","daysInMonth","monthNumber","weeks","days","monthDay","isMonthStarted","weekDay","dateProperties","isMonthEnded","dayIndexStart","dayIndexStop","correctedFirstWeekday","dayIndex","dayClass","allowedDate","getter","weekend","today","selected","event","elem","periods","YccCalendar","location","isInline","isOpen","datepickerStyles","state","top","left","year","menuState","uniqueKey","disabled","changeState","NOT_CLOSING","CLOSING","SUBMENU","MENU_CONTENT","SHOW","dropdownMenuState","visibleMenu","stateFromProps","newVal","immediate","newState","window","className","selector","e","isOpenerEqualContent","hintId","openHint","closeHint","position","hint","isDark","maxWidth","openerElem","validationCssClass","error","disconnected","connected","connecting","TYPES","PERIOD","SINGLE","MULTI","WEEKDAY_LABELS","ru","en","MAX_MONTH_IN_LINE","MAX_MONTH_IN_DATEPICKER","MONTH_WIDTH","ISO_DATE_FORMAT","DEFAULT_STATE","size","isDisabled","TEXT_POSITIONS","LEFT","RIGHT","TEXT_POSITION_CSS_CLASSES","RANGE_TYPES","LIVE","GAP","FRAGMENT","ANNOTATION_TYPES","EVENT","THUMB","SPEED_INDEXES","getThumbId","playerId","getProgressBarId","getCurrentDateId","$http","axios","interceptors","request","use","config","Promise","reject","response","status","router","path","data","code","SERVER_ERROR_CODES","store","errorMsg","ACCESS_DENIED_ERR","errorName","SERVER_ERR","SERVER_UNKNOWN_ERR","SERVER_NOT_RESPONSE_ERR","BASE_STREAM_URL","GETTING_STREAMS_URL","PAUSE_STREAM_URL","RESUME_STREAM_URL","PROBE_STREAM_URL","PREVIEW_STREAM_URL","getArchiveUrl","streamUid","getRangesUrl","getArchiveStatsUrl","getAvailableDaysUrl","getDownloadArchiveUrl","getStreamPermissionsUrl","getStreamLogsUrl","getStreamShareUrl","getStreamInfoUrl","isLiveOnDemand","SYSTEM_SETTINGS_URL","SYSTEM_SEARCH","UNLOCK_URL","HEALTH_URL","LICENSE_URL","SERVER_DEBUG_URL","SYSTEM_STATS_URL","SIGN_IN_URL","SIGN_OUT_URL","USER_URL","USERS_URL","getBlockUserUrl","login","getUserPermissionsUrl","getUnblockUserUrl","getSessionsUserUrl","getSessionUserUrl","tokenId","PROFILE_TOKENS_URL","PROFILE_TOKEN_URL","getDeleteTokenUrl","STATS_URL","CONFIG_URL","AUDIT_LOGS_URL","ANNOTATIONS_URL","MOSAIC_URL","ALL_MOSAICS_URL","API_VERSION_CHECK","SESSIONS_URL","TERMINATE_SESSIONS_URL","getSessionUrlById","id","TUNNEL_START_URL","TUNNEL_STOP_URL","TUNNEL_STATUS_URL","CLUSTER_NODES_URL","INTERNAL_NODES_URL","getClusterNodeUrl","nodeId","getClusterNodeDrainUrl","getClusterNodeDeleteUrl","PASSWORD_SEND_RESET_URL","PASSWORD_RESET_URL","CREDENTIALS_ERR","STREAM_SOURCE_ERR","STREAM_NAME_ERR","ARCHIVE_DEPTH_ERR","CLUSTER_NODE_ERR","AlreadyUsed","AuthorizationFailed","EnterpriseOnly","Forbidden","InternalServerError","InvalidOldPassword","NotFound","OldPasswordAndNewPasswordCannotBeSame","PasswordIsNotComplexEnough","RequestDecodeError","ResponseEncodeError","TimeRangeIsTooLong","Unavailable","ValidationError","ProbeError","LicenseExpired","QuotaReached","IncorrectLicense","FeatureNotFound","AuditLogsDisabled","EHOSTUNREACH","HTTP_NOT_FOUND","HTTP_UNAUTHORIZED","BASE_LANDING_URL","DOCS_LINK","getPricesLink","utm","EN","RU","VIEW_MODES_KEYS","GRID","TABLE","SORT_TYPES_KEYS","DATE","NAME","LOCATION","GROUP_TYPES_KEYS","TAG","NO_GROUP","ADMIN_TABS_KEYS","STATS","PAGES","USERS","CONFIG","LICENSE","SERVER_DEBUG","TUNNEL","CLUSTER","AUDIT_LOGS","STREAM_INFO_TABS_KEYS","INFO","PERMISSION","SETTINGS","STREAM_DEBUG","USER_TABS_KEYS","EDIT","AUTH_TOKEN","PROFILE_TABS_KEYS","TOKEN","USER_PERMISSION_TYPES","ADMIN","USER","STREAM_PERMISSION_TYPES","VIEW","NONE","UNLIMITED","ADMIN_TABS","icon","label","STREAM_INFO_TABS","USER_TABS","PROFILE_TABS","VIEW_MODES","GROUP_TYPES","STREAM_STATUS","RUNNING","PENDING","PAUSED","CANCELED","STOPPED","FAILED","PLAYER_VIEW_MODES","ARCHIVE","USER_ACCESSES","active","blocked","MOVE_TIME","PANEL_SIZE","DEFAULT_DEPTH","DEFAULT_PLAYLIST_DURATION","EN_US","UK","ES","PT","TR","SORTING_TYPES","desc","asc","nonSort","LANG_MAP","PERMISSION_OBJECTS","TEAM","COLORS","stone","wolf","BREAKPOINTS_720","SCROLL_WIDTH","getScrollWidth","FEATURES","cluster","auditLogs","branding","personalTokens","users","streamShare","tunnel","teams","notification","quota","streamAcl","gateway","LIMITS","clusterSize","gatewayFreeLimit","userLimit","PRODUCTS","plus","enterprise","trial","LOCALS","NL","CLUSTER_ROLES","member","leader","pretender","unknown","PROFILE_UPDATED_NOTICE","USER_SAVED_NOTICE","USER_BLOCKED_NOTICE","USER_UNBLOCKED_NOTICE","STREAM_INFO_SAVED_NOTICE","RECOVERY_CODE_SENT","PASSWORD_CHANGED","pageNames","$gettext","text","pages","ADD_STREAM","ADMIN_STATS","ADMIN_CONFIG","ADMIN_USERS","ADMIN_CLUSTER","ALL_STREAMS","AUTH","RECOVER_PASSWORD","BOOKMARKS","HELP","INIT","NOT_FOUND","PROFILE","PROFILE_INFO","PROFILE_EDIT","PROFILE_TOKEN","PROFILE_AUTH_TOKEN","STREAM","STREAM_VIEW","STREAM_INFO","STREAM_SETTING","STREAM_PERMISSION","USER_ADD","USER_INFO","USER_EDIT","USER_PERMISSION","USER_AUTH_TOKEN","CREATE_MOSAIC","WATCH_MOSAIC","EDIT_MOSAIC","ALL_MOSAICS","TOP","TOP_LTR","TOP_RTL","TOP_CENTER","BOTTOM","BOTTOM_LTR","BOTTOM_RTL","BOTTOM_CENTER","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","toLowerCase","UA","navigator","userAgent","isEdge","indexOf","isAndroid","isIOS","test","isFF","match","isSafari","iOSVersion","MSStream","indexedDB","SpeechSynthesisUtterance","webkitAudioContext","matchMedia","history","isMobile","isMediaAtLeast720","matches","DATE_FORMAT","getCoords","box","getBoundingClientRect","pageYOffset","pageXOffset","width","height","getElementUnderClientXY","clientX","clientY","display","target","document","elementFromPoint","body","getElemFromPoint","formatDate","formatType","language","formatsMap","lll","ll","L","LL","LT","format","monthLetters","split","toUpperCase","DMMMYYYY","MMMDD","HHmmss","convertDateToSeconds","Date","getTime","getCookie","cookie","RegExp","replace","decodeURIComponent","undefined","getWrapHeight","clientHeight","documentElement","authWrapHeight","querySelector","yccScrollTo","y","scrollTo","behavior","getIndexSymbol","str","symbol","indexSymbol","i","length","charAt","getChar","isNumber","which","keyCode","String","fromCharCode","charCode","validate","ctrlKey","altKey","metaKey","chr","cloneObjDeep","obj","JSON","parse","stringify","outer","createElement","visibility","overflow","msOverflowStyle","appendChild","inner","scrollbarWidth","offsetWidth","parentNode","removeChild","isChildElem","modalId","findElements","querySelectorAll","classList","contains","notClosingElements","getSortingDirection","sortingType","showServerSwitcher","app","serverSwitcher","isExist","value","StorageAdapter","itemName","isPrimitive","storage","localStorage","correctionFunc","getItem","getCorrectValue","setItem","removeItem","destinationPageStorage","sessionStorage","WarningStorage","keepingTime","clearExpiredWarnings","warningCode","warnings","now","toISOString","Object","keys","forEach","isExpired","warningsStorage","YuccaBootConfig","isEnterprise","isLocked","prober","revision","version","appTitle","appLogo","defaultLanguage","archiveDownloadMaxSeconds","playlistMaxSeconds","rangesMaxSeconds","isLicenseExpired","archiveMaxDepthHours","smtpServerEnabled","smtpServerHost","smtpServerProtected","smtpServerPort","documentation","site","features","passwordResetAllowed","tunnelLocations","productType","clusterEnabled","nodeID","yccBootConfig","YUCCA_BOOT_DATA","settings","user","translations","uk","es","pt","tr","gettextOptions","availableLanguages","silent","install","Vue","options","prototype","$yccConfig","$isDebug","isDebug","$setDocumentTitle","titles","join","$appLogo","$setLanguage","$formatDate","filter","isFixContent","isReadOnlyProfile","isAuthOrInitPage","isEmptyRoute","isOpenAside","tabs","updateHeaderHeight","updateAsideState","logout","scopedSlots","_u","fn","proxy","directives","rawName","expression","CookieService","shownWarnings","warning","index","domProps","strict","hideWarning","licenseStateTitle","licenseStateDescription","toggleAside","layoutMainClasses","hasAside","open","$route","headerHeight","isActivePage","hidden","tab","link","params","page","_m","hasAppLogo","isReadOnly","addingStreamTitle","streamName","slot","streamRouterParams","streamSettingsTitle","isStreamInfoPage","mosaicName","mosaicRouterParams","mosaic","meta","canAdmin","mosaicSettingsTitle","getGroupLabel","groupType","groupStreams","viewModeTitle","changeViewMode","viewModeKey","availableStreamsInfo","toggleShowingAvailable","isShownAvailableStreams","pageTitle","isAdmin","$language","isShowServerSwitcher","current","documentationLink","apply","arguments","YccDropdown","YccLogo","YccHeaderMenu","YccHint","stream","newStream","newMosaic","mapState","mapGetters","YccValidationError","YccToolbar","YccHeader","YccAlert","isCloseAsideOutside","asideHeight","isClosing","isOpening","isMinScreen","newValue","oldValue","closing","opening","minHeight","marginTop","setTimeout","YccLayout","noticeElems","serverErrorNotice","stateErrors","notice","license","healthWarnings","userLang","warningsArr","usedPercent","newErrors","oldErrors","duration","to","popoverYccCssClasses","positions","RTL","LTR","CENTER","CorrectingPosition","contentWidth","positionsArr","basePosition","horizontalPosition","documentWidth","clientWidth","documentHeight","getComputedStyle","Math","max","scrollHeight","offsetHeight","setPosition","contentCoords","btnCoords","isStaticVerticalPosition","getCorrectedPositionCssClass","popupStyle","bottom","right","transform","isContentMoreThanDocumentWidth","isDynamicVerticalPosition","isOutOfLeftBorderForLeft","isOutOfRightBorderForRight","isOutOfRightBorderForCenter","isOutOfLeftBorderForCenter","isOutOfRightBorderForLtr","isOutOfLeftBorderForRtl","isOutOfRightBorderForRtl","isOutOfBottomBorder","isOutOfTopBorder","positionProperties","bus","createPopup","el","template","YccHintContent","created","$on","openPopup","closePopup","payload","setLocation","setNewData","addEventListener","removeEventListener","close","clean","prop","x","hintRenderContentId","popup","setAttribute","createHint","process","err","vm","info","handler","$options","errorHandler","$parent","call","console","log","color","failedColor","thickness","transition","speed","opacity","termination","autoRevert","inverse","defaultProps","YccDatepickerContent","openDatepicker","setFixing","setStart","setEnd","closeDatepickerOutside","setSelectingState","setPeriod","$emit","inputElem","closeDatepicker","getCorrectPeriod","onChangeMonthYear","elemChildren","openerChildren","add","VueProgressBar","progressBarOptions","Loading","inserted","binding","f","evt","Datepicker","VUE_APP_DEBUG","createApp","YccConfigPlugin","GetTextPlugin","h","App","$mount","initHint","httpClient","then","res","catch","progress","func","modifier","argument","Router","mode","base","routes","redirect","children","metaForProgressLoader","beforeEach","from","next","isPublicPage","is404","statusCode","afterEach","scrollY","scroll","getGroupedStreams","streams","groupingType","groupedStreams","pushStream","groupName","push","tags","tag","saveToLocalStorage","streamsPageSettings","getDefaultStart","subtract","valueOf","getDefaultEnd","getDefaultPeriod","getDefaultPeriodISO","getDefaultDownloadLimitsPX","getDefaultPlaylist","startTime","endTime","ranges","url","MS_IN_HOUR","MS_IN_MINUTE","MARKER_LABEL_WIDTH","LABELS_MAP_KEYS","SIXTY","TWELVE","QUARTER","HALF","FULL","MULTIPLE","LABELS_MAP","minutes","getMarkerOptions","hoursNumber","possibleLabels","minutesNumber","multiplicity","labelsNumber","some","item","ceil","getLeftPosForMarker","timestamp","secondsInPx","seconds","getMarker","timeMS","isVisibleLabel","isSmall","hour","minute","time","cssClass","getFirstFullHourMS","getFirstMarkerTime","firstMarkerTime","getFirstMarkerByTime","startMinutes","getNewMarkers","newMarkers","markerTime","marker","ZOOM_INDEX","HOUR_IN_MS","MIN_DURATION","MAX_DURATION","ProgressBarController","thumbWidth","video","progressBar","thumb","archiveStatsPeriod","playingPeriod","currentInterval","playingTime","thumbPosition","tracking","trackingObservable$","interval","init","getElem","startSeconds","endSeconds","clipShift","intervalsTemp","range","arr","rangeStart","rangeEnd","intervalType","getIntervalType","isLastRange","getPXFromSeconds","endDate","intervalElem","annotationStartSeconds","stopTracking","setCurrentInterval","getPlaylistByIntervalType","isArchive","subscribe","currentTime","getCurrentTimeInMS","updatePlayingTime","unsubscribe","getProgressBarWidth","getRangeByMilliseconds","newSeconds","intervalRangeEnd","endMS","intervalRangeEndMS","result","findNextRangeIndex","startTimeMS","intervals","findIndex","intervalRange","trunc","intervalIndex","currentPeriod","getNextPeriodAfterGap","getCorrectedPlayingPeriodEnd","stats","px","periodStart","thumbLeftPosition","changeThumbStyle","keepThumbPosition","getPeriodForZoomUp","isZoomUpAllowed","getStartModifier","getEndModifier","getPeriodForZoomDown","isZoomDownAllowed","periodModifier","annotations","annotationsByType","empty","annotation","adaptAnnotation","annotationStart","annotationEnd","timeEnd","getAnnotationColorByType","setPlayingTime","innerPlayingTime","updateThumbPos","newInterval","dataset","newViewMode","isLastElem","newCurrentSeconds","Number","getSecondsFromPos","leftShift","getSecondsFromPX","currentTimeElem","innerHTML","liveTime","getElementById","videoCurrentTime","CancelToken","namespaced","archiveStats","availableDays","annotationsByTypes","speedIndex","downloadLimitsPX","isVisibleDownloadBlock","isFetchingArchive","isFetchingArchiveRanges","isFetchingAnnotations","isPlaying","isLoading","cancelArchiveRangesRequest","archiveDataWatcherTimer","periodISO","playerViewMode","playlist","progressBarController","getters","hasArchive","archiveDownloadMaxPX","getSecondsInPx","actions","zoomUpByPointer","commit","dispatch","streamId","getPeriodForZoomUpByPointer","zoomUp","rangesUrl","isArchiveEnable","needRunWatcher","needFetchData","zoomDownByPointer","getPeriodForZoomDownByPointer","zoomDown","toCenter","getPeriodForGoToCenter","moveLeft","getPeriodForMoveLeft","moveRight","getPeriodForMoveRight","updatePeriodAfterDrag","resetPeriod","updateRanges","getSplitLastRange","lastRange","liveRange","saveRanges","setRanges","updatePlaylist","fetchArchive","start_time","end_time","finally","fetchArchiveRanges","cancelToken","cancel","fetchArchiveStats","startDay","endDay","fetchAvailableDays","fetchArchiveData","fetchAnnotations","fetchDownloadArchiveUrl","downloadPeriod","timezone_offset","utcOffset","updateAnnotations","getAnnotationsByTypes","resetArchiveData","createArchiveDataWatcher","timer","tick","clearArchiveDataWatcher","clearTimeout","updateSpeedIndex","goToLive","isSeek","liveUrl","isAvailableStream","goToArchive","playlistUrl","goToEmptyState","updatePlayerViewMode","updateArchiveStats","setArchiveStatsPeriod","handleEndedVideo","getNewPlaylistPeriodAfterEnding","updatePeriod","buildProgressBarController","mutations","setPeriodISO","setPlaylist","setPlayerViewMode","setFetching","setAvailableDays","setFetchingArchiveRanges","setArchiveStats","setArchiveDataWatcherTimer","setDownloadBlockVisibility","setDownloadLimits","setArchiveDownloadMaxSeconds","setAnnotations","setAnnotationsByTypes","setFetchingAnnotations","setSpeedIndex","setPlayingState","setLoadingState","setIntervals","setProgressBarController","tokens","sessionTokens","isSavingProfile","isChangingPassword","isFetchingProfile","isFetchingTokens","isFetchingSessionTokens","isSavingToken","isAdminProfile","permissionType","maxStreamCreation","isManaged","setUser","setTokens","setSessionTokens","fetchUser","saveUser","email","password","fullName","oldPassword","adaptedUser","readOnly","root","saveUserLang","updateAuthToken","credentials","clearUser","fetchTokens","createToken","expireTime","deleteToken","isDeletingToken","fetchSessionTokens","sort","token1","token2","lastSeenTime","revokeSession","isCurrent","terminateSessions","systemStats","logs","currentUser","isEditMode","versionInfo","currentUserPermissions","isAuditLogsTurnedOff","isFetchingUsers","isSavingUser","isFetchingUser","isDeletingUser","isFetchingConfig","isFetchingStats","isFetchingLogs","isAddingPermission","isFetchingPermissions","isFetchingAuditLogs","fetchingLogsTimer","cancelLogsRequest","setUsers","setEditMode","setCurrentUser","setStats","setConfig","setSystemStats","setVersionInfo","setLogs","setFetchingLogsTimer","clearFetchingLogsTimer","setCancelLogsRequest","setCurrentUserPermissions","permissions","deleteCurrentUser","setAuditLogs","setIsAuditLogsTurnedOff","fetchUsers","addUser","isAdding","updateCurrentUser","deleteUser","changeUserAccess","access","clearCurrentUser","fetchStats","fetchConfig","fetchSystemStats","isFetchingSystemStats","fetchLogs","runUpdatingLogs","clearLogsTimer","updateVersionData","v","encodeURI","fetchUserPermissions","updateUserPermissions","timeout","fetchAuditLogs","userId","userID","isSendingStream","fetchingStreamStatusTimer","cancelStreamInfoRequest","deletingStateMap","changingStateMap","currentStream","isFetchingRunningStream","isFetchingStreamInfo","isDeletedStream","currentStreamPermissions","currentStreamLogs","isFetchingStreamPermissions","setStreamStatus","setFailureReason","failureReason","setStream","deleteCurrentStream","setDeletingStreamState","streamState","setChangingStreamState","setDeletedStreamState","setCurrentStreamPermissions","setCancelStreamInfoRequest","setFetchingStatusTimer","clearFetchingStreamStatusTimer","archive","isEnable","live","onDemand","sendStream","uid","pauseStream","resumeStream","deleteStream","purge","saveStream","updateStreamInStreams","rootState","map","streamItem","probeStream","streamUrl","stream_id","previewStream","runUpdatingStreamStatus","isPlayer","clearStreamTimers","shareStream","denyStreamPublicAccess","fetchStream","fetchStreamStatus","fetchStreamInfo","updateCurrentStream","clearCurrentStream","fetchStreamPermissions","updatePermissions","isFetchingLicense","setLicense","fetchLicense","putLicense","isSavingLicense","mosaics","currentMosaic","isFetchingAllMosaics","isFetchingMosaic","isDeleting","fetchingMosaicTimer","postMosaic","saveMosaic","fetchAllMosaics","fetchMosaic","isPlay","mosaicUrl","deleteMosaic","ieDeleting","runUpdatingMosaic","clearTimers","clearCurrentMosaic","setMosaics","setMosaic","setFetchingMosaicTimer","sortType","pageNumberOfStreams","searchingValues","isFetchingStreams","isCheckingMode","setStreams","setGroupType","setSearchingValues","setViewModeKey","setShowingAvailableState","setStreamsStatuses","availableStreams","searchedStreams","uniqueStreamsIds","allSearchedStreams","getValuesForSearching","valuesForSearching","streamSource","searchingValue","groupedByTags","autocomplete","names","markers","locations","fetchStreams","onlyAvailable","fetchStreamsStatuses","isOnlyAvailable","updateStreams","updateStreamsStatuses","searchStreams","getStreamsPageSettingFromLocalStorage","address","fetchingStatusTimer","cancelStatusRequest","STATUSES","isConnected","isStoppingTunnel","isStartingTunnel","isOpenSettings","setConnectedStatus","setStatus","setAddress","setCancelStatusRequest","setOpenSettingsState","clearFetchingStatusTimer","setTunnelError","startTunnel","stopTunnel","fetchTunnelStatus","runFetchingTunnelStatus","toggleSettings","closeSettings","clusterNodes","isFetchingClusterNodes","isDrainingNode","isDeletingNode","fetchingNodesTimer","cancelNodesRequest","setClusterNodes","nodes","setFetchingNodesTimer","clearFetchingNodesTimer","setCancelNodesRequest","fetchNodes","updateNode","isUpdatingNode","drainNode","deleteNode","runUpdatingNodes","clearNodesTimer","isSendingCode","isResetInProcess","retryAfterTime","sendCode","delayTime","headers","reset","disableSendingCode","timerTime","setInterval","clearInterval","setIsResetInProcess","setIsSendingCode","setRetryAfterTime","Vuex","modules","admin","player","profile","streamStore","auth","isAuthLoading","isAdminCreating","errors","isCardMode","isNotFoundPage","setVersion","setHealthWarnings","setAuthState","setFoundingPageState","setError","deleteError","setCreatingAdminState","setAsideState","setNotice","deleteNotice","setHeaderHeight","setIsMediaAtLeast720","setIsShowServerSwitcher","setPageTabs","isTunnelEnabled","isUnavailableNode","getIsUnavailableNode","node","available","createAdmin","redirectPage","mustChangePassword","hasPermission","checkPermission","fetchHealth","updateVersion","changeAsideState","toggleFoundingPageState","getPageSettingFromLocalStorage","resizeApp","fetchSettings","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","__esModule","d","a","definition","o","defineProperty","enumerable","get","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","nc","src","onScriptComplete","prev","onerror","onload","doneFns","bind","head","Symbol","toStringTag","p","createStylesheet","fullhref","resolve","linkTag","rel","onLinkComplete","errorType","realHref","href","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}