{"version":3,"sources":["webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/clear-error-stack.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/dom-exception-constants.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/normalize-string-argument.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/modules/web.dom-exception.stack.js","webpack:///./node_modules/dayjs/dayjs.min.js","webpack:///./node_modules/jquery-mousewheel/jquery.mousewheel.js","webpack:///./src/views/player/mixin/index.js"],"names":["seek","vm","secs","time","player","currentTime","videoPlayerMixin","methods","tsc","t","$t","checkUseragent","agent","window","navigator","userAgent","toLowerCase","indexOf","isSafari","changeSwipeDate","previousClickSwipeItem","clickSwipeItem","swipeDates","length","swipeEndDate","Date","startDate","setDate","getDate","endDate","dates","forEach","item","itemDate","includes","push","clickSwipeDate","date","mouseDownOnSwiper","hideClipDetail","isClipCreate","removeClip","clickDate","currDate","playPoint","toDateString","setHours","getHours","setMinutes","getMinutes","setSeconds","getSeconds","playerOndemandPlay","type","loadPreviousItems","isClicking","fetchKvsMetricDate","swipeBeginDate","index","findIndex","toISOString","i","Math","max","min","undefined","sort","a","b","dateA","dateB","setTimeout","loadNextItems","toOndemand","status","dragStopTimeDate","isWebRTCPlaying","pushRoute","demandSDate","encodeURIComponent","$router","go","videoLoading","showClipTab","currentDate","videoSegmentStartDateObj","getTime","playCurrentTime","diffTime","getStreamingUrl","streamData","streamName","hidePtzControlFunc","toWebRTCDCHLive","$store","commit","playerInitTime","offline","Offline","sendMessage","videoPlay","playPauseBtnDom","innerHTML","pauseImagePath","$refs","videoBox","toOfflineLive","substring","replaceAll","toLive","playMode","PlayMode","KVS_LIVE","store","dispatch","contractCd","portNo","cameraInfo","isFull","checkSessionLimitFull","PLAYBACK","$dialog","confirm","text","actions","true","color","handle","VideoErrorStatus","NO_ERROR","KVS_WEBRTC_LIVE","WEBRTC_LIVE","KVS_WEBRTC_DCH","mobileCurrentPlayRate","getFormatDate","activeIndex","getStreamingUrlPromise","beginDate","endingDate","makeVideoStartTime","Promise","resolve","reject","params","res","networkController","getHlsStreamingUrl","data","hlsstreamingSessionURL","Error","authorities","ADD_BOOKMARK","state","isMobile","controlBar","children_","el_","disabled","$","attr","promise","then","videoStreamingUrl","catch","error","showToastMessage","isOfflineStatus","videoError","src","videoPlayStatus","onDemand","startDateISOString","css","createScreenshot","currentBookmarkIconPosition","document","getElementById","style","display","blob","createImageAndConvertBlob","id","getBoundingClientRect","width","height","url","URL","createObjectURL","createElement","href","download","cameraName","body","appendChild","click","removeChild","fadeOut","tagAddSuccess","tag","tagList","tagName","deleteTag","tagLoading","getTagList","tmb","tagDeleteSuccess","cameraTagList","r","nowPlaymode","play","videoPause","pause","videoForward","target","controller","$parent","getters","getVideoStartTimeDateObj","setEndingDate","videoTimeMove","demandEDate","temp","videoRewind","KVS_ON_DEMAND","scrollZoom","container","max_scale","factor","children","first","size","w","h","pos","x","y","zoom_target","zoom_point","scale","on","e","mouseZoomScroll","offset","pageX","left","pageY","top","preventDefault","delta","originalEvent","wheelDelta","detail","zoomScale","floor","update","detectedBtnClicked","detectedDisplay","detectedDisplayData","detectPerson","detectMotion","detectSound","detectComment","removeDetected","displayTimeRow","value","createThumb","video","c","ctx","getContext","thumbImg","Image","drawImage","base64Str","toDataURL","imgData","atob","split","len","buf","ArrayBuffer","view","Uint8Array","charCodeAt","Blob","keyupFunc","event","key","keyCode","playImagePath","setSoundVolume","soundVolume","volume","muted","getElementsByClassName","require","button","getChildById","soundButtonDom","el","muteSoundVolume","mobileSoundVolume","muteMicVolume","setZoomScaleText","zoomButtonDom","hoverSoundVolume","hoverOutSoundVolume","hoverZoom","hoverOutZoom","micOn","micActive","micButtonDom","curretnMicIconPosition","position","displayDetectMenu","rect","detectMenuDialogVisible","removeStrZero","px","str","toString","result","parseInt","timelineMouseWheelFunc","timeScales","selectedTimeScale","deltaY","fetchDataTagAndSettingInfoAndPreset","getPresetList","fetchCameraSettingData","getCameraDeviceInfo","fetchRecordingPeriod","getCameraRecordingPeriod","recordingPeriod","fetchKvsMetric","setBeginDate","makeBeginDate","colorBoxBeginTime","makeEndingDate","colorBoxEndingTime","getKvsMetric","shadowMatricPeriodValue","metricList","startPxValue","calculateBetweenTwoDate","start","moveToCanvasPxValue","endPxValue","end","tempBeginDate","pickerDate","getTimezoneOffset","kvsBeginDateOffset","getFullYear","getMonth","kvsEndingDateOffset","kvsBeginDate","kvsEndingDate","getKvsMetricDate","metricDateList","current","dayjs","subtract","isBefore","dd","pp","idx","dateSwiper","$swiper","slideTo","cameraSettingDataRefresh","settingRefreshLoading","getCameraThumbnail","cameraSettingDialogVisible","videoElement","getCameraSettingData","cameraSettingData","settingBtnDisable","fetchHlsStreamingUrl","$route","query","createTime","decodeURIComponent","korTime","startTime","OFFLINE","finally","beginTime","endTime","korBeginTime","korEndTime","getCameraInfo","ptz","continuousMove","zoom","enable","ptzZoomEnable","absoluteMove","panTilt","ptzPanTiltEnable","ptzMoveEnable","eventDetectEnable","setting","motion","enabled","getCameraEventByOptions","options","cd","no","getCameraEventData","motionList","soundList","ele","getCameraEvent","motionDetectEyeFunc","motionDetectDisplay","soundDetectEyeFunc","soundDetectDisplay","hide","clickHorizontalPtzFunc","element","clientX","offsetX","touches","clickHorizontalPtzPositionParamsValue","ptzClickMove","clickVerticalPtzFunc","ptzVPointInitPxValue","offsetY","clickVerticalPtzPositionParamsValue","toFixed","touchHorizontalPtzFunc","initTimeLinePosition","touchVerticalPtzFunc","mobileVideoSeekBack","mobileVideoPlayPause","mobileVideoSeekFoward","mobileVideoFullscreen","videoFullScreen","exitFullscreen","requestFullscreen","mobileMakeBookMark","makeNewBookmark","newBookMark","getBookMarkListToStore","mobileMakeClip","displayClip","mobilePtz","calculateStopDragTimeLivePosition","stopDragPositionTimeDate","dif","dif_second","processDelayOnPurpose","millisecond","isErrorStatus","isAvailable","isExceedMaxSessionStatus"],"mappings":"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AAO,CAAC,uEAAqB;AAC1C,gBAAgB,mBAAO,CAAC,6FAAgC;;AAExD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACTA,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,+BAA+B,mBAAO,CAAC,+HAAiD;AACxF,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,gCAAgC,mBAAO,CAAC,iHAA0C;AAClF,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mDAAmD;AACnD,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtDA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;ACNA,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA,2BAA2B,cAAc;AACzC;AACA;AACA,CAAC;;;;;;;;;;;;ACND,kBAAkB,mBAAO,CAAC,mGAAmC;;AAE7D;;AAEA;AACA;AACA;;;;;;;;;;;;ACNA,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,aAAa,mBAAO,CAAC,2FAA+B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,cAAc;AAC5D;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChBA,kBAAkB,mBAAO,CAAC,mGAAmC;;AAE7D;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;;;;;;;;;;;ACbA,aAAa,mBAAO,CAAC,uEAAqB;A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","file":"js/VideoDownloadSetting~WebRtcVideoTest~videoHlsPlayerPage~videoPlayerTestPage.js","sourcesContent":["var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","module.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.21.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)= 9 ) ?\n ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],\n slice = Array.prototype.slice,\n nullLowestDeltaTimeout, lowestDelta;\n\n if ( $.event.fixHooks ) {\n for ( var i = toFix.length; i; ) {\n $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;\n }\n }\n\n var special = $.event.special.mousewheel = {\n version: '3.1.12',\n\n setup: function() {\n if ( this.addEventListener ) {\n for ( var i = toBind.length; i; ) {\n this.addEventListener( toBind[--i], handler, false );\n }\n } else {\n this.onmousewheel = handler;\n }\n // Store the line height and page height for this particular element\n $.data(this, 'mousewheel-line-height', special.getLineHeight(this));\n $.data(this, 'mousewheel-page-height', special.getPageHeight(this));\n },\n\n teardown: function() {\n if ( this.removeEventListener ) {\n for ( var i = toBind.length; i; ) {\n this.removeEventListener( toBind[--i], handler, false );\n }\n } else {\n this.onmousewheel = null;\n }\n // Clean up the data we added to the element\n $.removeData(this, 'mousewheel-line-height');\n $.removeData(this, 'mousewheel-page-height');\n },\n\n getLineHeight: function(elem) {\n var $elem = $(elem),\n $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent']();\n if (!$parent.length) {\n $parent = $('body');\n }\n return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16;\n },\n\n getPageHeight: function(elem) {\n return $(elem).height();\n },\n\n settings: {\n adjustOldDeltas: true, // see shouldAdjustOldDeltas() below\n normalizeOffset: true // calls getBoundingClientRect for each event\n }\n };\n\n $.fn.extend({\n mousewheel: function(fn) {\n return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');\n },\n\n unmousewheel: function(fn) {\n return this.unbind('mousewheel', fn);\n }\n });\n\n\n function handler(event) {\n var orgEvent = event || window.event,\n args = slice.call(arguments, 1),\n delta = 0,\n deltaX = 0,\n deltaY = 0,\n absDelta = 0,\n offsetX = 0,\n offsetY = 0;\n event = $.event.fix(orgEvent);\n event.type = 'mousewheel';\n\n // Old school scrollwheel delta\n if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; }\n if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; }\n if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; }\n if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }\n\n // Firefox < 17 horizontal scrolling related to DOMMouseScroll event\n if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {\n deltaX = deltaY * -1;\n deltaY = 0;\n }\n\n // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy\n delta = deltaY === 0 ? deltaX : deltaY;\n\n // New school wheel delta (wheel event)\n if ( 'deltaY' in orgEvent ) {\n deltaY = orgEvent.deltaY * -1;\n delta = deltaY;\n }\n if ( 'deltaX' in orgEvent ) {\n deltaX = orgEvent.deltaX;\n if ( deltaY === 0 ) { delta = deltaX * -1; }\n }\n\n // No change actually happened, no reason to go any further\n if ( deltaY === 0 && deltaX === 0 ) { return; }\n\n // Need to convert lines and pages to pixels if we aren't already in pixels\n // There are three delta modes:\n // * deltaMode 0 is by pixels, nothing to do\n // * deltaMode 1 is by lines\n // * deltaMode 2 is by pages\n if ( orgEvent.deltaMode === 1 ) {\n var lineHeight = $.data(this, 'mousewheel-line-height');\n delta *= lineHeight;\n deltaY *= lineHeight;\n deltaX *= lineHeight;\n } else if ( orgEvent.deltaMode === 2 ) {\n var pageHeight = $.data(this, 'mousewheel-page-height');\n delta *= pageHeight;\n deltaY *= pageHeight;\n deltaX *= pageHeight;\n }\n\n // Store lowest absolute delta to normalize the delta values\n absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );\n\n if ( !lowestDelta || absDelta < lowestDelta ) {\n lowestDelta = absDelta;\n\n // Adjust older deltas if necessary\n if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {\n lowestDelta /= 40;\n }\n }\n\n // Adjust older deltas if necessary\n if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {\n // Divide all the things by 40!\n delta /= 40;\n deltaX /= 40;\n deltaY /= 40;\n }\n\n // Get a whole, normalized value for the deltas\n delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta);\n deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);\n deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);\n\n // Normalise offsetX and offsetY properties\n if ( special.settings.normalizeOffset && this.getBoundingClientRect ) {\n var boundingRect = this.getBoundingClientRect();\n offsetX = event.clientX - boundingRect.left;\n offsetY = event.clientY - boundingRect.top;\n }\n\n // Add information to the event object\n event.deltaX = deltaX;\n event.deltaY = deltaY;\n event.deltaFactor = lowestDelta;\n event.offsetX = offsetX;\n event.offsetY = offsetY;\n // Go ahead and set deltaMode to 0 since we converted to pixels\n // Although this is a little odd since we overwrite the deltaX/Y\n // properties with normalized deltas.\n event.deltaMode = 0;\n\n // Add event and delta to the front of the arguments\n args.unshift(event, delta, deltaX, deltaY);\n\n // Clearout lowestDelta after sometime to better\n // handle multiple device types that give different\n // a different lowestDelta\n // Ex: trackpad = 3 and mouse wheel = 120\n if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }\n nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);\n\n return ($.event.dispatch || $.event.handle).apply(this, args);\n }\n\n function nullLowestDelta() {\n lowestDelta = null;\n }\n\n function shouldAdjustOldDeltas(orgEvent, absDelta) {\n // If this is an older event and the delta is divisable by 120,\n // then we are assuming that the browser is treating this as an\n // older mouse wheel event and that we should divide the deltas\n // by 40 to try and get a more usable deltaFactor.\n // Side note, this actually impacts the reported scroll distance\n // in older browsers and can cause scrolling to be slower than native.\n // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.\n return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;\n }\n\n}));\n","import $ from 'jquery';\nimport 'jquery-mousewheel';\nimport * as dayjs from 'dayjs'\nimport { PlayMode, ApiVersion, VideoErrorStatus } from '@/constants';\nimport store from '@/store';\nimport Offline from '@/api/offline';\n\nfunction seek(vm, secs) {\n\tlet time = vm.player.currentTime() + secs;\n\tif (time < 0) {\n\t\ttime = 0;\n\t}\n\tvm.player.currentTime(time);\n}\n\nlet videoPlayerMixin = {\n\tmethods: {\n\t\ttsc(t) {\n return this.$t(\"lang.storeSearch.\" + t);\n },\n\t\tcheckUseragent() {\n\t\t\tconst agent = window.navigator.userAgent.toLowerCase();\n\t\t\tif(agent.indexOf('windows') > -1) this.isSafari = false;\n\t\t\telse if(agent.indexOf('macintosh') > -1) {\n\t\t\t\tif(agent.indexOf('chrome') > -1) this.isSafari = false;\n\t\t\t\telse if(agent.indexOf('firefox') > -1) this.isSafari = false;\n\t\t\t\telse if(agent.indexOf('op') > -1) this.isSafari = false;\n\t\t\t\telse this.isSafari = true;\n\t\t\t}\n\t\t\telse if(agent.indexOf('iphone') > -1) {\n\t\t\t\tif(agent.indexOf('crios') > -1) this.isSafari = false; // iPhone Chrome\n\t\t\t\telse if(agent.indexOf('fxios') > -1) this.isSafari = false;\n\t\t\t\telse this.isSafari = true; // Safari\n\t\t\t}\n\t\t\telse if(agent.indexOf('ipad') > -1) {\n\t\t\t\tif(agent.indexOf('crios') > -1) this.isSafari = false; // iPad Chrome\n\t\t\t\telse this.isSafari = true; // Safari\n\t\t\t}\n\t\t\telse if(agent.indexOf('android') > -1) this.isSafari = false;\n\t\t\telse if (agent.indexOf('linux') > -1) this.isSafari = false;\n\t\t\telse this.isSafari = false;\n\t\t},\n\t\tasync changeSwipeDate() {\n\t\t\tif (this.previousClickSwipeItem == null || this.clickSwipeItem !== this.previousClickSwipeItem) {\n\t\t\t\tthis.previousClickSwipeItem = this.clickSwipeItem; // 똑같은 아이템을 클릭한 경우에는 업데이트 하지 않음\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t// 초기 화면에 보여줄 swipeDates 설정\n\t\t\t\tif (this.swipeDates.length === 0) {\n\t\t\t\t\t\tthis.swipeDates = [];\n\t\t\t\t\t\tconst swipeEndDate = new Date(); // 오늘 날짜가 마지막 날짜\n\t\t\t\t\t\tconst startDate = new Date(swipeEndDate); // 시작 날짜 계산\n\t\t\t\t\t\tstartDate.setDate(swipeEndDate.getDate() - 13);\n\t\t\t\t\t\tconst endDate = new Date(swipeEndDate); // 종료 날짜 계산\n\t\t\t\t\t\tendDate.setDate(swipeEndDate.getDate());\n\t\t\t\t\t\tthis.dates.forEach((item) => {\n\t\t\t\t\t\t\t\tconst itemDate = new Date(item);\n\t\t\t\t\t\t\t\t// item이 기간에 포함되는지 확인\n\t\t\t\t\t\t\t\tif (itemDate >= startDate && itemDate <= endDate && !this.swipeDates.includes(item)) {\n\t\t\t\t\t\t\t\t\t\tthis.swipeDates.push(item);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t\tthis.swipeDates = [];\n\t\t\t\t\t\tconst swipeEndDate = new Date(this.clickSwipeItem);\n\t\t\t\t\t\tconst startDate = new Date(swipeEndDate); // 시작 날짜 계산\n\t\t\t\t\t\tstartDate.setDate(swipeEndDate.getDate() - 6);\n\t\t\t\t\t\tconst endDate = new Date(swipeEndDate); // 종료 날짜 계산\n\t\t\t\t\t\tendDate.setDate(swipeEndDate.getDate() + 6);\n\t\t\t\t\t\tthis.dates.forEach((item) => {\n\t\t\t\t\t\t\t\tconst itemDate = new Date(item);\n\t\t\t\t\t\t\t\t// item이 기간에 포함되는지 확인\n\t\t\t\t\t\t\t\tif (itemDate >= startDate && itemDate <= endDate && !this.swipeDates.includes(item)) {\n\t\t\t\t\t\t\t\t\t\tthis.swipeDates.push(item);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t}\n },\n\t\tclickSwipeDate(date) {\n\t\t\tthis.mouseDownOnSwiper = true;\n\t\t\tthis.clickSwipeItem = date;\n\t\t\tconsole.log('clickSwipeDate', date);\n this.hideClipDetail();\n if(this.isClipCreate) this.removeClip();\n const clickDate = new Date(date);\n const currDate = new Date(this.playPoint);\n if(clickDate.toDateString() !== currDate.toDateString()) {\n \tclickDate.setHours(currDate.getHours());\n clickDate.setMinutes(currDate.getMinutes());\n clickDate.setSeconds(currDate.getSeconds());\n this.playerOndemandPlay({\n playPoint : clickDate, \n type : 'calendar',\n });\n }\n },\n\t\tasync loadPreviousItems() {\n\t\t\tthis.isClicking = true;\n\t\t\t\n\t\t\tif (this.dates.length == 8) {\n\t\t\t\tawait this.fetchKvsMetricDate();\n\t\t\t}\n\t\t\tconst swipeBeginDate = new Date(this.swipeDates[0]); // 가장 앞에 있는 날짜\n\t\t\tconst index = this.dates.findIndex(date => new Date(date).toISOString() === swipeBeginDate.toISOString());\n\t\t\t\t\t\n\t\t\tlet swipeDates = [];\n\t\t\tif (index !== -1) {\n\t\t\t\tfor (let i = Math.max(index - 6, 0); i <= Math.min(index + 6, this.dates.length - 1); i++) {\n\t\t\t\t\tif (this.dates[i] !== undefined) {\n\t\t\t\t\t\tswipeDates.push(this.dates[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.swipeDates = swipeDates;\n\t\t\t}\n\t\t\t\t\t\n\t\t\tthis.swipeDates.sort((a, b) => {\n\t\t\t\tconst dateA = new Date(a);\n\t\t\t\tconst dateB = new Date(b);\n\t\t\t\treturn dateA - dateB;\n\t\t\t});\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.isClicking = false;\n\t\t\t})\n\n\t\t},\t\n\t\tasync loadNextItems() {\n\t\t\tthis.isClicking = true;\n\t\t\t\n\t\t\tif (this.dates.length == 8) {\n\t\t\t\tawait this.fetchKvsMetricDate();\n\t\t\t}\n\t\t\tconst swipeEndDate = new Date(this.swipeDates[this.swipeDates.length - 1]); // 가장 뒤에 있는 날짜\n\t\t\tconst index = this.dates.findIndex(date => new Date(date).toISOString() === swipeEndDate.toISOString());\n\t\t\t\t\n\t\t\tlet swipeDates = [];\n\t\t\tif (index !== -1) {\n\t\t\t\tfor (let i = Math.max(index - 6, 0); i <= Math.min(index + 6, this.dates.length - 1); i++) {\n\t\t\t\t\tif (this.dates[i] !== undefined) {\n\t\t\t\t\t\tswipeDates.push(this.dates[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.swipeDates = swipeDates;\n\t\t\t}\n\t\t\t\t\t\n\t\t\tthis.swipeDates.sort((a, b) => {\n\t\t\t\tconst dateA = new Date(a);\n\t\t\t\tconst dateB = new Date(b);\n\t\t\t\treturn dateA - dateB;\n\t\t\t});\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.isClicking = false\n\t\t\t})\n\t\t},\n\t\ttoOndemand(status, dragStopTimeDate) {\n if (this.isWebRTCPlaying) {\n this.pushRoute('/video-player', {\n demandSDate: encodeURIComponent(dragStopTimeDate),\n });\n this.$router.go();\n }\n\t\t\tthis.videoLoading = true;\n\t\t\tthis.showClipTab = false;\n\t\t\tlet currentDate = new Date(this.videoSegmentStartDateObj.getTime() + (this.playCurrentTime * 1000) );\n let diffTime = (currentDate.getTime() - dragStopTimeDate.getTime()) / (1000*60); // 단위 분(m)\n\t\t\tif(status == 'live') { // live일때 요청한 경우\n\t\t\t\tthis.getStreamingUrl(this.streamData.streamName, \n\t\t\t\t\tdragStopTimeDate.toISOString(), diffTime > 59 \n\t\t\t\t\t? new Date(dragStopTimeDate.getTime() + 3590000).toISOString() \n\t\t\t\t\t: currentDate.toISOString());\n\t\t\t} else { // ondemand일때 요청한 경우\n\t\t\t\tthis.getStreamingUrl(this.streamData.streamName, \n\t\t\t\t\tdragStopTimeDate.toISOString(), \n\t\t\t\t\t\tnew Date(dragStopTimeDate.getTime() + 1800000).toISOString());\n\t\t\t}\n //pc onDemand인 경우 ptz 버튼 hide\n this.hidePtzControlFunc();\n\t\t\tconsole.log(`%cOndemand video RequestTime = ${new Date(currentDate.getTime() - 3600000)}`, \"color:#008DD0;\");\n },\n toWebRTCDCHLive() {\n this.$store.commit('player/SET_OFFLINE_TIME_DIFF_ADJ', this.player.currentTime() - this.playerInitTime);\n const offline = new Offline();\n offline.sendMessage('live');\n this.$store.commit('player/SET_VIDEO_SEGMENT_START_DATE_OBJ', new Date());\n this.videoPlay();\n this.$store.commit('player/SET_VIDEO_PLAY_STATUS', true);\n if (this.playPauseBtnDom) this.playPauseBtnDom.innerHTML = \"\";\n else if (this.$refs.videoBox) this.$refs.videoBox.playPauseBtnDom.innerHTML = \"\";\n },\n toOfflineLive() {\n this.$store.commit('player/SET_OFFLINE_TIME_DIFF_ADJ', this.player.currentTime() - this.playerInitTime);\n const offline = new Offline();\n offline.sendMessage('live');\n offline.sendMessage('timelist', { date : new Date().toISOString().substring(0, 10).replaceAll('-', '') });\n this.$store.commit('player/SET_VIDEO_SEGMENT_START_DATE_OBJ', new Date());\n this.videoPlay();\n this.$store.commit('player/SET_VIDEO_PLAY_STATUS', true);\n if (this.playPauseBtnDom) this.playPauseBtnDom.innerHTML = \"\";\n else if (this.$refs.videoBox) this.$refs.videoBox.playPauseBtnDom.innerHTML = \"\";\n },\n async toLive(playMode) {\n\t\t\tif (playMode === PlayMode.KVS_LIVE) {\n\t\t\t\tstore.dispatch('player/changePlayMode', PlayMode.KVS_LIVE);\n\t\t\t} else {\n const { contractCd, portNo } = this.cameraInfo;\n const isFull = await this.checkSessionLimitFull(contractCd, portNo);\n if (isFull && this.playMode !== PlayMode.PLAYBACK) {\n this.$dialog.confirm({\n text: this.t('errorMsgMaxSession'),\n actions: {\n true: {\n color: 'white',\n text: this.t('confirm'),\n handle: () => {\n this.$store.commit('player/SET_VIDEO_ERROR', VideoErrorStatus.NO_ERROR);\n }\n }\n }\n });\n return;\n }\n store.dispatch('player/changePlayMode', PlayMode.KVS_WEBRTC_LIVE); // offline일 경우 WEBRTC_LIVE로 모드 변경함\n if (this.playMode === PlayMode.WEBRTC_LIVE) this.toOfflineLive();\n else if (this.playMode === PlayMode.KVS_WEBRTC_DCH) this.toWebRTCDCHLive();\n\t\t\t}\n this.hideClipDetail();\n this.mobileCurrentPlayRate = 3;\n\t\t\tthis.clickSwipeItem = this.getFormatDate(new Date(), 'normal').substring(0,10);\n this.activeIndex = this.clickSwipeItem.substring(8,18);\n\t\t\tconsole.log('%cLive Video!', \"color:#008DD0;\");\n },\n getStreamingUrlPromise(streamName, beginDate, endingDate) {\n\t\t\tthis.makeVideoStartTime(beginDate);\n\t\t\treturn new Promise(async (resolve, reject) => {\n let params = {};\n\t\t\t\tconst res = await this.networkController.getHlsStreamingUrl(params, streamName, beginDate, endingDate);\n if (res.status === 200) resolve(res.data.hlsstreamingSessionURL);\n reject(new Error());\n\t\t\t\t// \tthis.showToastMessage(this.t('noStreamingData'));\n\t\t\t});\n\t\t},\n\t\tgetStreamingUrl(streamName, beginDate, endingDate) {\n\t\t\tthis.makeVideoStartTime(beginDate);\n\t\t\tif(this.authorities.ADD_BOOKMARK && this.$store.state.isMobile == false) {\n\t\t\t\tthis.player.controlBar.children_[5].el_.disabled = true;\n\t\t\t\t$('.vjs-control.vjs-button.marker_btn').attr('style', 'opacity: 0.4 !important');\n\t\t\t}\n\t\t\tconst promise = new Promise((resolve, reject) => {\n\t\t\t\tlet params = {};\n\t\t\t\tthis.networkController.getHlsStreamingUrl(params, streamName, beginDate, endingDate).then(async (res) => {\n\t\t\t\t\tthis.videoStreamingUrl = res.data.hlsstreamingSessionURL;\n\t\t\t\t\tresolve()\n\t\t\t\t}).catch(error => {\n\t\t\t\t\tthis.showToastMessage(this.t('noStreamingData'));\n\t\t\t\t\treject()\n\t\t\t\t});\n\t\t\t});\n\t\t\tpromise.then(() => {\n\t\t\t\tif(VideoErrorStatus.isOfflineStatus(this.videoError)) {\n\t\t\t\t\tthis.$store.commit('player/SET_VIDEO_ERROR', VideoErrorStatus.NO_ERROR);\n\t\t\t\t\tthis.player.src({\n\t\t\t\t\t\tsrc: `${this.videoStreamingUrl}`,\n\t\t\t\t\t\ttype: 'application/x-mpegURL'\n\t\t\t\t\t});\n this.videoPlay();\n\t\t\t\t} else {\n\t\t\t\t\tthis.player.src({\n\t\t\t\t\t\tsrc: `${this.videoStreamingUrl}`,\n\t\t\t\t\t\ttype: 'application/x-mpegURL'\n\t\t\t\t\t});\n\t\t\t\t\tif(this.videoPlayStatus) this.videoPlay();\n\t\t\t\t\telse {\n\t\t\t\t\t\tif(!this.onDemand) this.videoPlay();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tmakeVideoStartTime(startDateISOString) {\n\t\t\t// video segment 데이터에서 동영상 시작시간을 구하지 못할경우를 대비해서\n\t\t\t// 직접 동영상 시작시간을 구하는 함수\n\t\t\tif(startDateISOString == '') { // Live\n\t\t\t\tthis.$store.commit('setVideoStartTimeDateObj', new Date());\n\t\t\t} else { // OnDemand\n\t\t\t\tthis.$store.commit('setVideoStartTimeDateObj', new Date(startDateISOString));\n\t\t\t}\n\t\t},\n hideClipDetail() {\n //clip 그려져 있을 경우 삭제\n $('#detect_info').css({'display': 'block'});\n $('#clip_detail').css({'display': 'none'});\n },\n\t\tcreateScreenshot() {\n\t\t\t$(\"#screenshot_mask\").css({'left': `${this.currentBookmarkIconPosition}px`});\n\t\t\t\tdocument.getElementById('screenshot_mask').style.display = 'block';\n\t\t\tlet blob = this.createImageAndConvertBlob(document.getElementById(this.player.id() + \"_html5_api\"),\n\t\t\t\tdocument.getElementById(\"my-video\").getBoundingClientRect().width, document.getElementById(\"my-video\").getBoundingClientRect().height);\n\t\t\t\t\n\t\t\tlet url = URL.createObjectURL(blob);\n\t\t\tconsole.log('url', url);\n\t\t\tlet a = document.createElement('a');\n\t\t\ta.href = url;\n\t\t\tconst currentDate = new Date(this.videoSegmentStartDateObj.getTime() + (this.playCurrentTime * 1000) );\n\t\t\t// a.download = this.streamData.cameraName + '_' + this.getFormatDate(new Date(), 'default');\n\t\t\ta.download = this.streamData.cameraName + '_' + this.getFormatDate(currentDate, 'default');\n\t\t\tdocument.body.appendChild(a);\n\t\t\ta.click();\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tdocument.body.removeChild(a);\n\t\t\t\t$('#screenshot_mask').fadeOut(400);\n\t\t\t\t$(\"#screenshot_tooltip\").css({'left': `${this.currentBookmarkIconPosition}px`});\n\t\t\t\tdocument.getElementById('screenshot_tooltip').style.display = 'block';\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t$('#screenshot_tooltip').fadeOut(400);\n\t\t\t\t}, 1000);\n\t\t\t}, 100);\n\t\t},\n\t\ttagAddSuccess(tag) {\n\t\t\tthis.tagList.push({\n\t\t\t\tcontractCd: this.streamData.contractCd,\n\t\t\t\tportNo: this.streamData.portNo,\n\t\t\t\ttagName: tag\n\t\t\t});\n\t\t},\n async deleteTag(item) {\n let params = {};\n this.tagLoading = true;\n await this.networkController.deleteTag(params, this.streamData.contractCd, item.id)\n .then(async (res) => {\n //tag 목록 새로고침 \n\t\t\t this.networkController.getTagList(params, this.streamData.contractCd, this.streamData.portNo)\n\t\t\t .then(async (res) => {\n\t\t\t \tconsole.log('%cTag List\\n', \"color:#008DD0;\", res.data);\n\t\t\t \tthis.tagList = res.data;\n\t\t\t\t\tthis.showToastMessage(this.tmb('successDeleteTag'));\n this.tagLoading = false;\n\t\t\t }).catch(error => {\n console.log(error);\n this.tagLoading = false;\n });\n }).catch(error => {\n console.log(error);\n this.tagLoading = false;\n });\n },\n tagDeleteSuccess(tag) {\n let params = {};\n let cameraTagList = [];\n this.networkController.getTagList(params, this.streamData.contractCd, this.streamData.portNo)\n .then(async (res) => {\n cameraTagList = res.data;\n let index = cameraTagList.findIndex(r => r.tagName == tag);\n this.deleteTag(cameraTagList[index]);\n }).catch(error => {\n \n });\n },\n\t\tvideoPlay() {\n let nowPlaymode = this.playMode;\n console.log('videoPlay', nowPlaymode);\n if (nowPlaymode === PlayMode.PLAYBACK) {\n this.offline = new Offline();\n this.offline.sendMessage('resume');\n }\n this.player.play();\n },\n videoPause() {\n let nowPlaymode = this.playMode;\n console.log('videoPause', nowPlaymode);\n if (nowPlaymode === PlayMode.PLAYBACK) {\n this.offline = new Offline();\n this.offline.sendMessage('pause');\n }\n this.player.pause();\n },\n\t\tvideoForward(vm) {\n let nowPlaymode = this.playMode;\n if (nowPlaymode === PlayMode.WEBRTC_LIVE || nowPlaymode === PlayMode.PLAYBACK) {\n const target = new Date(vm.playPoint);\n target.setSeconds(target.getSeconds() + 15);\n if (new Date() < target) this.toOfflineLive();\n else {\n let controller = vm;\n if (vm.$parent.playerOndemandPlay) controller = vm.$parent;\n controller.playerOndemandPlay({\n type: \"video-forward\",\n playPoint: target,\n });\n }\n return;\n }\n let time = this.playCurrentTime + 15;\n let videoSegmentStartDateObj = this.$store.getters.getVideoStartTimeDateObj;\n let currentDate = new Date(videoSegmentStartDateObj.getTime() + (this.playCurrentTime * 1000));\n let setEndingDate = new Date(videoSegmentStartDateObj.getTime() + (this.playCurrentTime * 1000));\n let beginDate = new Date(currentDate.setSeconds(currentDate.getSeconds() + 15)).toISOString();\n let endingDate = new Date(setEndingDate.setMinutes(setEndingDate.getMinutes() + 45)).toISOString();\n if(new Date() < new Date(currentDate.setSeconds(currentDate.getSeconds() + 15))) {\n this.toLive(nowPlaymode);\n } else {\n this.getStreamingUrl(vm.streamData.streamName, beginDate, endingDate);\n }\n },\n\t\t// checkOndemandVideoForwardTime(time) {\n\t\t// \t// 비디오 영상 재생시간이 현재시간을 따라잡았는지 확인하는 함수\n\t\t// \tconst currentVideoPlayTime = new Date(this.videoSegmentStartDateObj.getTime() + (time * 1000)).getTime();\n\t\t// \tif(currentVideoPlayTime > this.currentDateTime - 6000) {\n\t\t// \t\treturn true;\n\t\t// \t} else {\n\t\t// \t\treturn false;\n\t\t// \t}\n\t\t// },\n videoTimeMove(vm, demandSDate, demandEDate) {\n let beginDate, endingDate;\n if (demandSDate) beginDate = new Date(demandSDate).toISOString();\n if (demandEDate) endingDate = new Date(demandEDate).toISOString();\n if (beginDate && !endingDate) {\n const temp = new Date(demandSDate);\n endingDate = new Date(temp.setMinutes(temp.getMinutes() + 30)).toISOString();\n }\n this.clickSwipeItem = beginDate.substring(0, 10);\n this.hidePtzControlFunc();\n this.getStreamingUrl(vm.streamData.streamName, beginDate, endingDate);\n },\n\t\tvideoRewind(vm) {\n\t\t\tlet nowPlaymode = this.playMode;\n\t\t\tif (nowPlaymode === PlayMode.WEBRTC_LIVE || nowPlaymode === PlayMode.PLAYBACK) {\n const target = new Date(vm.playPoint);\n target.setSeconds(target.getSeconds() - 15);\n let controller = vm;\n if (vm.$parent.playerOndemandPlay) controller = vm.$parent;\n controller.playerOndemandPlay({\n type: 'video-rewind',\n playPoint: target,\n });\n return;\n }\n\t\t\tlet time = this.playCurrentTime - 15;\n\t\t\tlet currentDate = new Date(this.videoSegmentStartDateObj.getTime() + (this.playCurrentTime * 1000));\n\t\t\tlet setEndingDate = new Date(this.videoSegmentStartDateObj.getTime() + (this.playCurrentTime * 1000));\n\t\t\tlet beginDate = new Date(currentDate.setSeconds(currentDate.getSeconds() - 15)).toISOString();\n\t\t\tlet endingDate = new Date(setEndingDate.setMinutes(setEndingDate.getMinutes() + 30)).toISOString();\n\n\t\t\tif(nowPlaymode == PlayMode.KVS_ON_DEMAND) { // onDemand 영상\n\t\t\t\tif(time >= 0) {\n\t\t\t\t\tvm.player.currentTime(time);\n\t\t\t\t} else {\n\t\t\t\t\tthis.getStreamingUrl(vm.streamData.streamName, beginDate, endingDate);\n\t\t\t\t\tthis.$store.commit('player/SET_ON_DEMAND_BEGIN_DATE', beginDate);\n\t\t\t\t}\n\t\t\t} else { // Live 영상 \n\t\t\t\tthis.hidePtzControlFunc();\n\t\t\t\tthis.getStreamingUrl(vm.streamData.streamName, beginDate, endingDate);\n\t\t\t\tthis.$store.commit('player/SET_ON_DEMAND_BEGIN_DATE', beginDate);\n\t\t\t\tthis.$store.dispatch('player/changePlayMode', PlayMode.KVS_ON_DEMAND);\n\t\t\t}\n\t\t},\n\t\tscrollZoom(container, max_scale, factor) {\n\t\t\tvar target = container.children().first();\n\t\t\tvar size = { w: target.width(), h: target.height() };\n\t\t\tvar pos = { x: 0, y: 0 };\n\t\t\tvar zoom_target = { x: 0, y: 0 };\n\t\t\tvar zoom_point = { x: 0, y: 0 };\n\t\t\tvar scale = 1;\n\t\t\ttarget.css('transform-origin','0 0');\n\t\t\ttarget.css('transition','all 0.5s;');\n\t\t\ttarget.on(\"mousewheel DOMMouseScroll\", async (e) => {\n\t\t\t\tthis.mouseZoomScroll = await true;\n\t\t\t\tvar offset = container.offset();\n\t\t\t\tzoom_point.x = e.pageX - offset.left;\n\t\t\t\tzoom_point.y = e.pageY - offset.top;\n\t\t\n\t\t\t\te.preventDefault();\n\t\t\t\tvar delta = e.delta || e.originalEvent.wheelDelta;\n\t\t\t\tif (delta === undefined) {\n\t\t\t\t\t//we are on firefox\n\t\t\t\t\tdelta = e.originalEvent.detail;\n\t\t\t\t}\n\t\t\t\tdelta = Math.max(-1, Math.min(1, delta)); // cap the delta to [-1,1] for cross browser consistency\n\t\t\n\t\t\t\t// determine the point on where the slide is zoomed in\n\t\t\t\tzoom_target.x = (zoom_point.x - pos.x) / scale;\n\t\t\t\tzoom_target.y = (zoom_point.y - pos.y) / scale;\n\t\t\n\t\t\t\t// apply zoom\n\t\t\t\tscale += delta * factor * scale;\n\t\t\t\tscale = Math.max(1, Math.min(max_scale, scale));\n\t\t\t\t// console.log(scale);\n\t\t\t\tthis.zoomScale = Math.floor(scale * 10);\n\t\t\n\t\t\t\t// calculate x and y based on zoom\n\t\t\t\tpos.x = -zoom_target.x * scale + zoom_point.x;\n\t\t\t\tpos.y = -zoom_target.y * scale + zoom_point.y;\n\t\t\n\t\t\t\t// Make sure the slide stays in its container area when zooming out\n\t\t\t\tif(pos.x > 0)\n\t\t\t\t\tpos.x = 0;\n\t\t\t\tif(pos.x + size.w * scale < size.w)\n\t\t\t\t\tpos.x = - size.w * (scale - 1);\n\t\t\t\tif(pos.y > 0)\n\t\t\t\t\tpos.y = 0;\n\t\t\t\tif(pos.y + size.h * scale < size.h)\n\t\t\t\t\tpos.y = -size.h * (scale - 1);\n\t\t\n\t\t\t\tupdate();\n\t\t\t\tthis.mouseZoomScroll = await false;\n\t\t\t\t// console.log(\"zoom mouse wheel\" + this.zoomScale);\n\t\t\t\t$(\"#zoomScaleText\").text(Math.floor(scale * 10) * 10+ \"%\");\n\t\t\t}); \n\t\t\tfunction update() {\n\t\t\t\ttarget.css('transform','translate('+(pos.x)+'px,'+(pos.y)+'px) scale('+scale+','+scale+')');\n\t\t\t}\n\t\t},\n\t\tdetectedBtnClicked(detectedDisplay) {\n\t\t\tthis.detectedDisplayData = detectedDisplay;\n\t\t\tif(detectedDisplay.detectPerson == true) {\n\t\t\t\t$('#detect_info').css({'display': 'none'});\n\t\t\t\t$('#detected_person').css({'display': 'block'});\n\t\t\t\t$('#main_content').css({'min-height': 'calc(800px + 6rem)'});\n\t\t\t\t$('#right_sidebar').css({'min-height': 'calc(800px + 6rem)'});\n this.$store.commit('player/SET_IS_DETECT_CREATE', true);\n\t\t\t} else if(detectedDisplay.detectMotion == true) {\n\t\t\t\tthis.$store.commit('player/SET_IS_DETECT_CREATE', true);\n\t\t\t} else if(detectedDisplay.detectSound == true) {\n\t\t\t\tthis.$store.commit('player/SET_IS_DETECT_CREATE', true);\n\t\t\t} else if(detectedDisplay.detectComment == true) {\n\t\t\t\tthis.$store.commit('player/SET_IS_DETECT_CREATE', true);\n\t\t\t}\n\t\t},\n\t\tremoveDetected() {\n\t\t\t$('#detect_info').css({'display': 'block'});\n\t\t\t$('#detected_person').css({'display': 'none'});\n\t\t\t$('#main_content').css({'min-height': '800px'});\n\t\t\t$('#right_sidebar').css({'min-height': '800px'});\n this.$store.commit('player/SET_IS_DETECT_CREATE', false);\n\t\t\tthis.detectedDisplayData.detectPerson = false;\n\t\t},\n\t\tdisplayTimeRow(value){\n\t\t\t// console.log(value);\n\t\t\tif(value == 'ムービー') {\n\t\t\t\t$('#main_content').css({'min-height': 'calc(800px + 4.8rem)'});\n\t\t\t\t$('#right_sidebar').css({'min-height': 'calc(800px + 4.8rem)'});\n\t\t\t}\n\t\t\telse {\n\t\t\t\t$('#main_content').css({'min-height': 'calc(800px + 7rem)'});\n\t\t\t\t$('#right_sidebar').css({'min-height': 'calc(800px + 7rem)'});\n\t\t\t}\n\t\t},\n\t\tcreateThumb(video, w, h) {\n\t\t\tlet c = document.createElement(\"canvas\"), // create a canvas\n\t\t\t\tctx = c.getContext(\"2d\"), // get context\n\t\t\t\tthumbImg = new Image(); // final image\n\t\t\tc.width = w; // set size = thumb\n\t\t\tc.height = h;\n\t\t\tctx.drawImage(video, 0, 0, w, h); // draw in frame\n\t\t\tvar base64Str = c.toDataURL();\n\t\t\treturn base64Str; \n\t\t},\n\t\tcreateImageAndConvertBlob(video, w, h) {\n\t\t\tlet c = document.createElement(\"canvas\"), // create a canvas\n\t\t\t\tctx = c.getContext(\"2d\"), // get context\n\t\t\t\tthumbImg = new Image(); // final image\n\t\t\tc.width = w; // set size = thumb\n\t\t\tc.height = h;\n\t\t\tctx.drawImage(video, 0, 0, w, h); // draw in frame\n\t\t\tlet base64Str = c.toDataURL();\n\t\t\n\t\t\tlet imgData = atob(base64Str.split(',')[1]);\n\t\t\tlet len = imgData.length;\n\t\t\tlet buf = new ArrayBuffer(len); // 비트를 담을 버퍼를 만든다.\n\t\t\tlet view = new Uint8Array(buf); // 버퍼를 8bit Unsigned Int로 담는다.\n\t\t\tlet blob, i;\n\t\t\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\tview[i] = imgData.charCodeAt(i) & 0xff; // 비트 마스킹을 통해 msb를 보호한다.\n\t\t\t}\n\t\t\t// Blob 객체를 image/png 타입으로 생성한다. (application/octet-stream도 가능)\n\t\t\tblob = new Blob([view], { type: 'image/png' });\n\t\t\treturn blob; \n\t\t},\n\t\tkeyupFunc(event) {\n\t\t\tlet key = event.keyCode;\n\t\t\tif (key === 37) { // 좌측 방향키\n\t\t\t\tthis.videoRewind(this);\n\t\t\t} else if (key === 39) { // 우측 방향키\n\t\t\t\tthis.videoForward(this);\n\t\t\t} else if (key === 32) { // 스페이스바\n\t\t\t\tif(this.videoPlayStatus) {\n this.videoPause();\n this.$store.commit('player/SET_VIDEO_PLAY_STATUS', false);\n\t\t\t\t\tthis.playPauseBtnDom.innerHTML = \"\";\n\t\t\t\t} else {\n this.videoPlay();\n this.$store.commit('player/SET_VIDEO_PLAY_STATUS', true);\n\t\t\t\t\tthis.playPauseBtnDom.innerHTML = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tsetSoundVolume(soundVolume) {\n this.player.volume(soundVolume / 100);\n if(this.$store.state.isMobile) { // Mobile\n if(soundVolume != 0) {\n this.player.muted(false);\n document.getElementsByClassName('mobile_sound_volume_btn')[0].innerHTML = \"\";\n } \n\t\t\t\t// volume이 0이라고 muted가 되진 않음\n\t\t\t\t// else {\n // document.getElementsByClassName('mobile_sound_volume_btn')[0].innerHTML = \"\";\n // }\n } else { // Web\n\t\t\tconst button = this.player.controlBar.getChildById('volume_button');\n\t\t\tconst soundButtonDom = button.el();\n\t\t\tif(soundVolume != 0) {\n\t\t\t\tthis.player.muted(false);\n soundButtonDom.innerHTML = \"\";\n\t\t\t}\n\t\t\t// else {\n // soundButtonDom.innerHTML = \"\";\n\t\t\t// }\n\t\t}\n },\n muteSoundVolume() {\n\t\t\tthis.player.muted(true);\n\t\t\tif(this.$store.state.isMobile == true) {\n this.mobileSoundVolume = 0;\n // document.getElementsByClassName('mobile_sound_volume_btn')[0].innerHTML = \"\";\n\t\t\t\tconsole.log('soundVolume', this.mobileSoundVolume);\n } else {\n\t\t\t\tconst button = this.player.controlBar.getChildById('volume_button');\n\t\t\t\tconst soundButtonDom = button.el();\n\t\t\t\tsoundButtonDom.innerHTML = \"\";\n\t\t\t}\n },\n muteMicVolume() {\n //set mic volume mute\n },\n setZoomScaleText(zoomScale) {\n\t\t\tthis.mouseZoomScroll = false;\n this.zoomButtonDom.innerHTML = \"\" + zoomScale * 10 + \"%\";\n },\n hoverSoundVolume() {\n document.getElementById(\"sound_volume_change\").style.display = 'flex';\n },\n hoverOutSoundVolume() {\n document.getElementById(\"sound_volume_change\").style.display = 'none';\n },\n hoverZoom() {\n document.getElementById(\"zoom_change\").style.display = 'flex';\n },\n hoverOutZoom() {\n document.getElementById(\"zoom_change\").style.display = 'none';\n },\n micOn() {\n this.micActive = true;\n this.micButtonDom.innerHTML = \"\";\n this.curretnMicIconPosition = $('.mic_btn').position().left + $('#example-video').position().left - 30;\n $(\"#mic_tooltip\").css({'left': `${this.curretnMicIconPosition}px`});\n document.getElementById('mic_tooltip').style.display = 'block';\n },\n\t\tdisplayDetectMenu() {\n var rect = document.getElementsByClassName('detect_menu_btn')[0].getBoundingClientRect();\n $('#dialog_no_title').css({'top':rect.top - 140 + 'px'});\n this.detectMenuDialogVisible = true;\n },\n\t\tremoveStrZero(px) {\n\t\t\tlet str = px.toString();\n\t\t\tlet result = str.substring(0, str.length -1) + '0';\n\t\t\treturn parseInt(result);\n\t\t},\n\t\ttimelineMouseWheelFunc(event) {\n\t\t\t// console.log(event.deltaX, event.deltaY, event.deltaFactor, this.timeLineScrollScale);\n\t\t\tconst timeScales = ['10分','1時間','6時間','24時間','72時間'];\n\t\t\tlet index = timeScales.indexOf(this.selectedTimeScale);\n\n\t\t\tif (event.deltaY > 0) {\n\t\t\t\tindex = Math.max(0, index -1); //인덱스가 0보다 작아지지 않도록 조정\n\t\t\t} else {\n\t\t\t\tindex = Math.min(timeScales.length - 1, index + 1); // 인덱스가 배열 길이보다 커지지 않도록 조정\n\t\t\t}\n\t\t\tthis.selectedTimeScale = timeScales[index];\n\t\t},\n\t\tfetchDataTagAndSettingInfoAndPreset() {\n\t\t\tlet params = {};\n\t\t\tthis.getPresetList();\n\t\t\tthis.fetchCameraSettingData();\n\t\t\tthis.networkController.getTagList(params, this.streamData.contractCd, this.streamData.portNo)\n\t\t\t.then(async (res) => {\n\t\t\t\tconsole.log('%cTag List\\n', \"color:#008DD0;\", res.data);\n\t\t\t\tthis.tagList = res.data;\n\t\t\t}).catch(error => { });\n\t\t\tthis.getCameraDeviceInfo();\n\t\t},\n fetchRecordingPeriod() {\n\t\t\tlet params = {};\n\t\t\tthis.networkController.getCameraRecordingPeriod(params, this.streamData.contractCd)\n\t\t\t.then(async (res) => {\n\t\t\t\tconsole.log('%crecording peroid\\n', \"color:#008DD0;\", res.data);\n this.$store.commit('player/SET_RECORDING_PERIOD', res.data.recordingPeriod);\n\t\t\t}).catch(error => { });\n },\n\t\tfetchKvsMetric() {\n\t\t\tlet setBeginDate = new Date(this.videoSegmentStartDateObj.getTime());\n\t\t\tlet makeBeginDate = new Date(setBeginDate.setSeconds(setBeginDate.getSeconds() - this.colorBoxBeginTime))\n\t\t\tlet setEndingDate = new Date(this.videoSegmentStartDateObj.getTime());\n\t\t\tlet makeEndingDate = new Date(setEndingDate.setSeconds(setEndingDate.getSeconds() + this.colorBoxEndingTime));\n\t\t\tlet params = {};\n\t\t\tthis.networkController.getKvsMetric(params, this.streamData.streamName,\n\t\t\t\tmakeBeginDate.toISOString(), makeEndingDate.toISOString(), this.shadowMatricPeriodValue)\n\t\t\t.then(async (res) => {\n\t\t\t\tconsole.log('%cVideo Metrics Data\\n', \"color:#008DD0;\",res.data);\n\t\t\t\tthis.metricList = res.data;\n\t\t\t\tthis.metricList.forEach((item) => {\n\t\t\t\t\tlet startPxValue = this.calculateBetweenTwoDate(this.videoSegmentStartDateObj, new Date(item.start)) * this.moveToCanvasPxValue;\n\t\t\t\t\tlet endPxValue = this.calculateBetweenTwoDate(this.videoSegmentStartDateObj, new Date(item.end)) * this.moveToCanvasPxValue;\n\t\t\t\t});\n\t\t\t}).catch(error => { });\n\t\t\tthis.fetchKvsMetricDate();\n\t\t},\n\t\tasync fetchKvsMetricDate() {\n\t\t\tlet nowPlaymode = this.playMode;\n if (nowPlaymode === PlayMode.WEBRTC_LIVE || nowPlaymode === PlayMode.PLAYBACK) {\n if (this.$refs.videoBox.offline) this.$refs.videoBox.offline.sendMessage('datelist');\n return;\n }\n\t\t\t\n\t\t\tlet tempBeginDate = null;\n\t\t\tif (this.pickerDate != null) {\n\t\t\t\ttempBeginDate = new Date(this.pickerDate.substring(0, 4) + '', this.pickerDate.substring(5, 7) - 1 + '');\n\t\t\t} else {\n\t\t\t\ttempBeginDate = new Date(this.videoSegmentStartDateObj.getTime());\n\t\t\t}\n\t\t\tlet offset = tempBeginDate.getTimezoneOffset() * 60000; // UTC time zone이기 때문에 발생하는 오차를 수정하기 위한 offset, ms단위라 60000곱해줌\n\t\t\tlet kvsBeginDateOffset = new Date(tempBeginDate.getFullYear(), tempBeginDate.getMonth(), new Date().getDate() - this.recordingPeriod); // 계약기간\n\t\t\t// let kvsEndingDateOffset = new Date(tempBeginDate.getFullYear(), tempBeginDate.getMonth() + 1, 0, 23, 59, 0);\n\t\t\tlet kvsEndingDateOffset = new Date();\n\t\t\tlet kvsBeginDate = new Date(kvsBeginDateOffset - offset);\n\t\t\tlet kvsEndingDate = new Date(kvsEndingDateOffset - offset);\n\t\t\n\t\t\ttry {\n\t\t\t\tconst res = await this.networkController.getKvsMetricDate({}, this.streamData.streamName,\n\t\t\t\t\tkvsBeginDate.toISOString(), kvsEndingDate.toISOString());\n\t\t\n\t\t\t\tconsole.log('%cVideo Metrics Date List\\n', \"color:#008DD0;\", res.data);\n\t\t\t\tthis.metricDateList = res.data;\n\t\t\t\tthis.dates = [];\n\t\t\t\tconst current = dayjs(new Date());\n\t\t\t\tconst recordingPeriod = current.subtract(this.recordingPeriod + 1, 'day');\n\t\t\t\tres.data.forEach((item) => { // dates 배열에 날짜 추가\n\t\t\t\t\tif (recordingPeriod.isBefore(item.substring(0, 10))) this.dates.push(item.substring(0, 10));\n\t\t\t\t});\n\t\t\n\t\t\t\t// this.dates가 채워진 후에 changeSwipeDate를 호출\n\t\t\t\tthis.changeSwipeDate();\n\t\t\t\t\n\t\t\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tlet dd = this.playPoint;\n\t\t\t\t\tif (!dd) dd = new Date();\n\t\t\t\t\tconst pp = dd.toISOString().substring(0, 10);\n\t\t\t\t\tlet idx = this.dates.indexOf(pp);\n\t\t\t\t\tif (idx < 0) idx = this.dates.length - 1;\n\t\t\t\t\tthis.$refs.dateSwiper.$swiper.slideTo(idx);\n\t\t\t\t}, 200);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t},\n\t\tasync cameraSettingDataRefresh() {\n\t\t\tthis.settingRefreshLoading = true;\n\t\t\tlet params = {};\n\t\t\t// if(this.onDemand == false) this.getCameraThumbnail();\n\t\t\t// if (PlayMode.isLive(this.playMode)) this.getCameraThumbnail();\n\t\t\t// PlayMode가 KVS_ON_DEMAND인 경우에도 현재 시간일 수 있으므로, 판단하지 않고 그냥 썸네일 가져옴\n\t\t\tthis.getCameraThumbnail();\n\t\t\tthis.getPresetList();\n\t\t\tawait this.getCameraDeviceInfo();\n\t\t\tthis.fetchCameraSettingData().then(() => {\n\t\t\t\tthis.settingRefreshLoading = false;\n\t\t\t\tthis.cameraSettingDialogVisible = true;\n\t\t\t}).catch(error => {\n\t\t\t\tthis.settingRefreshLoading = false;\n\t\t\t});\n\t\t},\n\t\tgetCameraThumbnail() {\n\t\t\tif (!this.player) return;\n\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst videoElement = document.getElementById(\"my-video\");\n\t\t\t\t\tconst blob = await this.createImageAndConvertBlob(document.getElementById(this.player.id() + \"_html5_api\"),\n\t\t\t\t\t\tvideoElement.getBoundingClientRect().width, \n\t\t\t\t\t\tvideoElement.getBoundingClientRect().height);\n\t\t\t\t\t// URL 객체 생성\n\t\t\t\t\tconst url = await URL.createObjectURL(blob);\n\t\t\t\t\tawait this.$store.commit('setCameraThumbnail', url);\n\t\t\t\t\tresolve()\n\t\t\t\t} catch (error) {\n\t\t\t\t\t// 에러 발생 시 로그 출력\n\t\t\t\t\tconsole.error(\"에러 발생:\", error);\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tfetchCameraSettingData() {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tlet params = {};\n\t\t\t\tthis.networkController.getCameraSettingData(params, this.streamData.contractCd, this.streamData.portNo)\n\t\t\t\t.then(async (res) => {\n\t\t\t\t\tconsole.log('%cCamera Setting Data\\n', \"color:#008DD0;\", res.data);\n\t\t\t\t\tthis.cameraSettingData = res.data;\n\t\t\t\t\tthis.settingBtnDisable = false;\n\t\t\t\t\tresolve();\n\t\t\t\t}).catch(error => {\n\t\t\t\t\treject();\n\t\t\t\t});\n\t\t\t});\n\t\t},\n async fetchHlsStreamingUrl() {\n return new Promise((resolve, reject) => {\n // this.streamData = this.$store.getters.getStreamInfo; // videoBox에서 props로 받아온 streamData이므로 assign하면 안됨.\n\t\t\t\tconst type = this.$route.query.type;\n let params = {};\n\t\t\t\tif(type == 'bookmark' || type == 'event') { // bookmark, event 온디멘드 영상\n\t\t\t\t\tconst createTime = decodeURIComponent(this.$route.query.createTime);\n\t\t\t\t\tlet korTime = new Date(createTime.substring(0,19));\n\n let startTime = korTime.toISOString();\n\t\t\t\t\tthis.makeVideoStartTime(startTime);\n\t\t\t\t\tthis.networkController.getHlsStreamingUrl(params, this.streamData.streamName, startTime, \"\")\n\t\t\t\t\t.then( async (res) => {\n\t\t\t\t\t\tthis.videoStreamingUrl = res.data.hlsstreamingSessionURL;\n\t\t\t\t\t\tawait this.$store.commit('setVideoStreamingUrl', res.data.hlsstreamingSessionURL);\n\t\t\t\t\t\tthis.$store.commit('player/SET_VIDEO_ERROR', VideoErrorStatus.NO_ERROR);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tthis.$store.commit('player/SET_VIDEO_ERROR', VideoErrorStatus.OFFLINE);\n\t\t\t\t\t\treject();\n\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t// this.videoLoading = false;\n this.videoPlay();\n\t\t\t\t\t});\n\t\t\t\t} else if(type == 'clip') { // 클립 온디멘드 영상\n \t\t\tconst beginTime = decodeURIComponent(this.$route.query.beginTime);\n \t\t\tconst endTime = decodeURIComponent(this.$route.query.endTime);\n\t\t\t\t\tlet korBeginTime = new Date(beginTime.substring(0,19));\n\t\t\t\t\tlet korEndTime = new Date(endTime.substring(0,19));\n\n let startTime = korBeginTime.toISOString();\n this.showClipTab = true; //우측 메뉴에 클립 표시\n this.makeVideoStartTime(startTime);\n\t\t\t\t\tthis.networkController.getHlsStreamingUrl(params, this.streamData.streamName, startTime, \"\")\n\t\t\t\t\t.then( async (res) => {\n\t\t\t\t\t\tthis.videoStreamingUrl = res.data.hlsstreamingSessionURL;\n\t\t\t\t\t\tawait this.$store.commit('setVideoStreamingUrl', res.data.hlsstreamingSessionURL);\n\t\t\t\t\t\tthis.$store.commit('player/SET_VIDEO_ERROR', VideoErrorStatus.NO_ERROR);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tthis.$store.commit('player/SET_VIDEO_ERROR', VideoErrorStatus.OFFLINE);\n\t\t\t\t\t\treject();\n\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t// this.videoLoading = false;\n this.videoPlay();\n\t\t\t\t\t});\n\t\t\t\t} else { // 라이브 영상\n\t\t\t\t\tthis.makeVideoStartTime(new Date());\n\t\t\t\t\tthis.networkController.getHlsStreamingUrl(params, this.streamData.streamName, '', '')\n\t\t\t\t\t.then( async (res) => {\n\t\t\t\t\t\tthis.videoStreamingUrl = res.data.hlsstreamingSessionURL;\n\t\t\t\t\t\tawait this.$store.commit('setVideoStreamingUrl', res.data.hlsstreamingSessionURL);\n\t\t\t\t\t\tthis.$store.commit('player/SET_VIDEO_ERROR', VideoErrorStatus.NO_ERROR);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}).catch(error => {\n\t\t\t\t\t\tthis.$store.commit('player/SET_VIDEO_ERROR', VideoErrorStatus.OFFLINE);\n\t\t\t\t\t\treject();\n\t\t\t\t\t}).finally(() => {\n\t\t\t\t\t\t// this.videoLoading = false;\n this.videoPlay();\n\t\t\t\t\t});\n\t\t\t\t}\n });\n },\n\t\tgetCameraDeviceInfo() {\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t let params = {};\n\t\t\t this.networkController.getCameraInfo(params, this.streamData.contractCd, this.streamData.portNo)\n .then(async (res) => {\n console.log('%cCamera Device Info\\n', \"color:#008DD0;\", res.data);\n\t\t\t \tthis.cameraInfo = res.data;\n\t\t\t\t\tthis.streamData.cameraName = res.data.cameraName;\n if(res.data.ptz.continuousMove.zoom.enable) this.ptzZoomEnable = true;\n if(res.data.ptz.absoluteMove.panTilt.enable) this.ptzPanTiltEnable = true;\n if(res.data.ptz.continuousMove.panTilt.enable) this.ptzMoveEnable = true;\n\t\t\t\t\tthis.eventDetectEnable = res.data.setting.event.motion != undefined\n \t\t? res.data.setting.event.motion.enabled : false;\n resolve();\n }).catch(error => {\n\t\t\t\t\tconsole.log(error)\n reject();\n });\n });\n\t\t},\n getCameraEventByOptions(options) {\n const cd = options.cd;\n const no = options.no;\n const pp = options.pp;\n return new Promise((resolve, reject) => {\n const setBeginDate = new Date();\n const makeBeginDate = new Date(setBeginDate.setDate(setBeginDate.getDate() - this.recordingPeriod));\n const setEndingDate = new Date(pp.getTime());\n const makeEndingDate = new Date(setEndingDate.setDate(setEndingDate.getDate() + 2));\n let params = {};\n this.networkController.getCameraEventData(params, cd, no, '',\n makeBeginDate.toISOString(), makeEndingDate.toISOString())\n .then(res => {\n const motionList = [];\n const soundList = [];\n res.data.forEach(ele => {\n if (ele.type != null && ele.type === 'Motion') motionList.push(new Date(ele.createTime));\n else if (ele.type != null && ele.type === 'Sound') soundList.push(new Date(ele.createTime));\n });\n resolve({\n motionList: motionList,\n soundList: soundList,\n })\n })\n .catch(error => {\n console.log(error);\n reject();\n });\n });\n\t\t},\n\t\tgetCameraEvent() {\n const options = {\n cd: this.streamData.contractCd,\n no: this.streamData.portNo,\n pp: this.playPoint ? this.playPoint : new Date()\n }\n return this.getCameraEventByOptions(options);\n\t\t},\n\t\tmotionDetectEyeFunc(status) {\n if(status == 'close') {\n this.motionDetectDisplay = false;\n } else { // open\n this.motionDetectDisplay = true;\n }\n },\n\t\tsoundDetectEyeFunc(status) {\n if(status == 'close') {\n this.soundDetectDisplay = false;\n } else { // open\n this.soundDetectDisplay = true;\n }\n },\n hidePtzControlFunc() {\n if(this.$store.state.isMobile == false) this.player.controlBar.children_[8].hide();\n\t\t\tthis.$store.dispatch('player/updatePtzControlOn', false);\n // this.ptzControlOn = false;\n },\n\t\tclickHorizontalPtzFunc(event, element) { // Pan\n\t\t\tconst rect = element.getBoundingClientRect();\n\t\t\t// 마우스 이벤트와 터치 이벤트에서의 X 좌표를 처리\n \t\tconst x = event.clientX !== undefined ? \n\t\t\t\tevent.offsetX : \n\t\t\t\tevent.touches[0].clientX - rect.left;\n\t\t\tconst width = rect.width;\n\t\t\tconst clickHorizontalPtzPositionParamsValue = (x / width) * 2 - 1;\n\t\t\tthis.ptzClickMove('Pan', clickHorizontalPtzPositionParamsValue);\n\t\t\t/*\n\t\t\tif(event.pageX > this.ptzHPointInitPxValue) { // +1\n\t\t\t\tlet offset = event.pageX - this.ptzHPointInitPxValue;\n\t\t\t\tlet result = (offset / 8) * 0.04;\n\t\t\t\tlet clickHorizontalPtzPositionParamsValue = result.toFixed(2);\n\t\t\t\t// console.log(clickHorizontalPtzPositionParamsValue);\n\t\t\t\tthis.ptzClickMove('Pan', clickHorizontalPtzPositionParamsValue);\n\t\t\t} else { // -1\n\t\t\t\tlet offset = this.ptzHPointInitPxValue - event.pageX;\n\t\t\t\tlet result = -((offset / 8) * 0.04);\n\t\t\t\tlet clickHorizontalPtzPositionParamsValue = result.toFixed(2);\n\t\t\t\t// console.log(clickHorizontalPtzPositionParamsValue);\n\t\t\t\tthis.ptzClickMove('Pan', clickHorizontalPtzPositionParamsValue);\n\t\t\t}\n\t\t\t*/\n\t\t},\n\t\tclickVerticalPtzFunc(event) { // Tilt\n\t\t\tlet result = ((this.ptzVPointInitPxValue - event.offsetY) / 8.8) * 0.04;\n\t\t\tlet clickVerticalPtzPositionParamsValue = result.toFixed(2);\n\t\t\t// console.log(result.toFixed(2));\n\t\t\tif(result.toFixed(2) >= 0) clickVerticalPtzPositionParamsValue = clickVerticalPtzPositionParamsValue * 0.764;\n\t\t\tthis.ptzClickMove('Tilt', clickVerticalPtzPositionParamsValue);\n\t\t},\n\t\ttouchHorizontalPtzFunc(event) {\n\t\t\tif(event.touches[0].pageX > this.initTimeLinePosition) { // +1\n\t\t\t\tlet offset = event.touches[0].pageX - this.initTimeLinePosition;\n\t\t\t\tlet result = offset / 150;\n\t\t\t\tlet clickHorizontalPtzPositionParamsValue = result.toFixed(2);\n\t\t\t\t// console.log(clickHorizontalPtzPositionParamsValue);\n\t\t\t\tthis.ptzClickMove('Pan', clickHorizontalPtzPositionParamsValue);\n\t\t\t} else { // -1\n\t\t\t\tlet offset = this.initTimeLinePosition - event.touches[0].pageX;\n\t\t\t\tlet result = -(offset / 150);\n\t\t\t\tlet clickHorizontalPtzPositionParamsValue = result.toFixed(2);\n\t\t\t\t// console.log(clickHorizontalPtzPositionParamsValue);\n\t\t\t\tthis.ptzClickMove('Pan', clickHorizontalPtzPositionParamsValue);\n\t\t\t}\n\t\t},\n\t\ttouchVerticalPtzFunc(event) {\n\t\t\tlet result = ((this.ptzVPointInitPxValue - event.touches[0].pageY + 90) / 115);\n\t\t\tlet clickVerticalPtzPositionParamsValue = result.toFixed(2);\n\t\t\t// console.log(result.toFixed(2));\n\t\t\tthis.ptzClickMove('Tilt', clickVerticalPtzPositionParamsValue);\n\t\t},\n\t\tmobileVideoSeekBack() {\n\t\t\tthis.videoRewind(this);\n\t\t},\n\t\tmobileVideoPlayPause() {\n\t\t\tif(this.videoPlayStatus == true) {\n this.videoPause();\n this.$store.commit('player/SET_VIDEO_PLAY_STATUS', false);\n\t\t\t} else {\n this.videoPlay();\n this.$store.commit('player/SET_VIDEO_PLAY_STATUS', true);\n\t\t\t}\n\t\t},\n\t\tmobileVideoSeekFoward() {\n\t\t\tthis.videoForward(this);\n\t\t},\n\t\tmobileVideoFullscreen() {\n\t\t\tif(this.videoFullScreen) {\n\t\t\t\tthis.player.exitFullscreen();\n\t\t\t\tthis.videoFullScreen = false;\n\t\t\t} else {\n\t\t\t\tthis.player.requestFullscreen();\n\t\t\t\tthis.videoFullScreen = true;\n\t\t\t}\n\t\t},\n\t\tasync mobileMakeBookMark() {\n\t\t\tthis.makeNewBookmark = true;\n\t\t\tawait this.newBookMark();\n\t\t\tthis.getBookMarkListToStore();\n\t\t},\n\t\tmobileMakeClip() {\n\t\t\tthis.$store.commit('player/SET_IS_CLIP_CREATE', true);\n\t\t\tthis.displayClip();\n\t\t},\n\t\tmobilePtz() {\n\t\t\t// this.ptzControlOn = !this.ptzControlOn;\n\t\t\tthis.$store.dispatch('player/togglePtzControlOn');\n\t\t\tif(this.videoFullScreen) {\n\t\t\t\tthis.player.exitFullscreen();\n\t\t\t\tthis.videoFullScreen = false;\n\t\t\t}\n\t\t},\n\t\tcalculateStopDragTimeLivePosition(stopDragPositionTimeDate) {\n\t\t\t// 온디멘드 영상에서 타임라인을 미래로 드래그 했는지 여부 확인하는 함수\n\t\t\tlet dif = stopDragPositionTimeDate.getTime() - new Date().getTime();\n\t\t\tlet dif_second = dif / 1000; // 밀리세컨드를 초(second)로\n\t\t\tif(dif_second >= 0) return true; // 0보다 크면 drag포인트가 미래에서 멈춘것\n\t\t\telse return false; // 아직 과거\n\t\t},\n processDelayOnPurpose(millisecond) {\n return new Promise((resolve, reject) => setTimeout(() => resolve(true), millisecond));\n },\n\t\tisErrorStatus(error) {\n\t\t\treturn VideoErrorStatus.isErrorStatus(error);\n\t\t},\n\t\tisOfflineStatus(error) {\n const isAvailable = VideoErrorStatus.isOfflineStatus(error);\n if (isAvailable) this.$store.dispatch('player/hideLoading');\n return isAvailable;\n },\n isExceedMaxSessionStatus(error) {\n const isAvailable = VideoErrorStatus.isExceedMaxSessionStatus(error);\n if (isAvailable) this.$store.dispatch('player/hideLoading');\n return isAvailable;\n },\n\t}\n}\nexport default videoPlayerMixin;"],"sourceRoot":""}