@playkit-js/playkit-js-kava 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"playkit-kava.js","mappings":"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","sources":["webpack://KalturaPlayer.plugins.kava/webpack/universalModuleDefinition","webpack://KalturaPlayer.plugins.kava/./node_modules/@playkit-js/playkit-js-providers/dist/playkit-analytics-service.js","webpack://KalturaPlayer.plugins.kava/webpack/bootstrap","webpack://KalturaPlayer.plugins.kava/webpack/runtime/define property getters","webpack://KalturaPlayer.plugins.kava/webpack/runtime/hasOwnProperty shorthand","webpack://KalturaPlayer.plugins.kava/webpack/runtime/make namespace object","webpack://KalturaPlayer.plugins.kava/external root \"KalturaPlayer\"","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://KalturaPlayer.plugins.kava/./src/kava-event-model.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-rate-handler.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-timer.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/event-bucket-name.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/button-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application-event-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/page-load-type.ts","webpack://KalturaPlayer.plugins.kava/./src/applications-events.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/kaltura-application.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application-feature.ts","webpack://KalturaPlayer.plugins.kava/./src/application-events-model.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-model.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/http-method-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/player-skin.ts","webpack://KalturaPlayer.plugins.kava/./src/log-failed-live-events.ts","webpack://KalturaPlayer.plugins.kava/./src/kava.ts","webpack://KalturaPlayer.plugins.kava/./src/temp-imported-plugins-event-names-temp.ts","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://KalturaPlayer.plugins.kava/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"KalturaPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KalturaPlayer\"] = factory();\n\telse\n\t\troot[\"KalturaPlayer\"] = root[\"KalturaPlayer\"] || {}, root[\"KalturaPlayer\"][\"plugins\"] = root[\"KalturaPlayer\"][\"plugins\"] || {}, root[\"KalturaPlayer\"][\"plugins\"][\"kava\"] = factory();\n})(self, () => {\nreturn ","!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)(\"object\"==typeof exports?exports:e)[n]=r[n]}}(self,(function(){return function(){\"use strict\";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})}},t={};function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function n(e){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n(e)}function o(e){var t=function(e,t){if(\"object\"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,\"string\");if(\"object\"!==n(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===n(t)?t:String(t)}function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}function s(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function a(e,t,r){return(t=o(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}e.r(t),e.d(t,{NAME:function(){return P},OVPAnalyticsService:function(){return A},OVPConfiguration:function(){return h},RequestBuilder:function(){return l},VERSION:function(){return C}});var u=function(){return{VERSION:\"\",DEBUG:{value:\"\",name:\"\"},ERROR:{value:\"\",name:\"\"},INFO:{value:\"\",name:\"\"},OFF:{value:\"\",name:\"\"},TIME:{value:\"\",name:\"\"},TRACE:{value:\"\",name:\"\"},WARN:{value:\"\",name:\"\"},createDefaultHandler:function(){},debug:function(){},enabledFor:function(){},error:function(){},get:function(){},getLevel:function(){},info:function(){},log:function(){},setHandler:function(){},setLevel:function(){},time:function(){},timeEnd:function(){},trace:function(){},useDefaults:function(){},warn:function(){}}};var c=function(e){return u(e)},f=s((function e(t,n,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};r(this,e),this.severity=t,this.category=n,this.code=o,this.data=i,e._logger.error(\"Category:\".concat(n,\" | Code:\").concat(o,\" |\"),i)}));a(f,\"Severity\",{RECOVERABLE:1,CRITICAL:2}),a(f,\"Category\",{NETWORK:1,SERVICE:2,PROVIDER:3}),a(f,\"Code\",{UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002}),a(f,\"_logger\",c(\"Error\"));var l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map;r(this,e),a(this,\"retryConfig\",{async:!0,timeout:0,maxAttempts:4}),a(this,\"_attemptCounter\",1),this.headers=t}return s(e,[{key:\"getUrl\",value:function(e){return e+\"/service/\"+this.service+(this.action?\"/action/\"+this.action:\"\")}},{key:\"doHttpRequest\",value:function(){var e=this,t=new Promise((function(t,r){e._requestPromise={resolve:t,reject:r}}));return this.url||this._requestPromise.reject(new f(f.Severity.CRITICAL,f.Category.NETWORK,f.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),t}},{key:\"_createXHR\",value:function(){var e=this,t=new XMLHttpRequest;t.onreadystatechange=function(){if(4===t.readyState&&200===t.status)try{var r=JSON.parse(t.responseText);return e.responseHeaders=e._getResponseHeaders(t),e._requestPromise.resolve(r)}catch(r){e._requestPromise.reject(e._createError(t,f.Code.BAD_SERVER_RESPONSE,{text:t.responseText}))}},t.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(t.timeout=this.retryConfig.timeout);var r=performance.now();t.ontimeout=function(){e._handleError(t,f.Code.TIMEOUT,{timeout:(performance.now()-r)/1e3,statusText:t.statusText})},t.onerror=t.onabort=function(){e._handleError(t,f.Code.HTTP_ERROR,{text:t.responseText,statusText:t.statusText})},this.headers.forEach((function(e,r){t.setRequestHeader(r,e)})),t.send(this.params)}},{key:\"_getResponseHeaders\",value:function(e){return e.getAllResponseHeaders().split(\"\\n\").filter((function(e){return 0===e.toLowerCase().indexOf(\"x-\")}))}},{key:\"_handleError\",value:function(e,t,r){var n=this._createError(e,t,r);if(e.onreadystatechange=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(n);this._attemptCounter++,this._createXHR()}},{key:\"_createError\",value:function(e,t,r){return Object.assign(r,{url:this.url,headers:this._getResponseHeaders(e),attempt:this._attemptCounter}),new f(f.Severity.CRITICAL,f.Category.NETWORK,t,r)}}]),e}(),p=function e(t){var r;return Array.isArray(t)?(r=t.length>0?t.slice(0):[]).forEach((function(t,o){(\"object\"===n(t)||Array.isArray(t)&&t.length>0)&&(r[o]=e(t))})):\"object\"===n(t)?(r=Object.assign({},t),Object.keys(r).forEach((function(t){(\"object\"===n(r[t])||Array.isArray(r[t])&&r[t].length>0)&&(r[t]=e(r[t]))}))):r=t,r},y={serviceUrl:\"https://cdnapisec.kaltura.com/api_v3\",cdnUrl:\"https://cdnapisec.kaltura.com\",serviceParams:{apiVersion:\"3.3.0\",format:1},useApiCaptions:!0,loadThumbnailWithKs:!1,replaceHostOnlyManifestUrls:!1},h=function(){function e(){r(this,e)}return s(e,null,[{key:\"set\",value:function(e){e&&Object.assign(y,e)}},{key:\"get\",value:function(){return p(y)}}]),e}();function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}function d(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&v(e,t)}function m(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function g(e,t){if(t&&(\"object\"===n(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return m(e)}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}var R=s((function e(t){r(this,e),a(this,\"hasError\",!1),\"KalturaAPIException\"===t.objectType?(this.hasError=!0,this.error=new O(t.code,t.message)):t.error&&\"KalturaAPIException\"===t.error.objectType?(this.hasError=!0,this.error=new O(t.error.code,t.error.message)):this.data=t})),O=s((function e(t,n){r(this,e),this.code=t,this.message=n}));var b=function(e){d(i,e);var t,n,o=(t=i,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=E(t);if(n){var o=E(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return g(this,e)});function i(){var e;r(this,i);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return a(m(e=o.call.apply(o,[this].concat(n))),\"requests\",[]),e}return s(i,[{key:\"add\",value:function(e){this.requests.push(e);var t={},r={service:e.service,action:e.action};return Object.assign(t,a({},this.requests.length,Object.assign(r,e.params))),Object.assign(t,this.params),this.params=t,this}},{key:\"execute\",value:function(e){var t=this;return new Promise((function(r,n){try{t.params=JSON.stringify(t.params)}catch(e){i._logger.error(\"\".concat(e.message)),n(new f(f.Severity.CRITICAL,f.Category.PROVIDER,f.Code.FAILED_PARSING_REQUEST,{error:e,params:t.params}))}t.doHttpRequest().then((function(o){var i=new _(o,e);i.success?r({headers:t.responseHeaders,response:i}):n(new f(f.Severity.CRITICAL,f.Category.NETWORK,f.Code.MULTIREQUEST_API_ERROR,{url:t.url,headers:t.responseHeaders,results:i.results}))}),(function(e){n(e)}))}))}}]),i}(l);a(b,\"_logger\",c(\"MultiRequestBuilder\"));var _=s((function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r(this,e),a(this,\"results\",[]);var o=t.result?t.result:t,i=(Array.isArray(o)?o:[o]).map((function(e){return new R(e)})),s=i.filter((function(e){return e.hasError}));s.forEach((function(t){e._logger.error(\"Service returned an error with error code: \".concat(t.error.code,\" and message: \").concat(t.error.message,\".\"))})),this.results=i,n&&s.length||s.length===this.results.length?this.success=!1:(this.results=this.results.filter((function(e){return!e.hasError})),this.success=!0)}));a(_,\"_logger\",c(\"MultiRequestResult\"));var T=function(e){var t=[],r=/\\[\\]$/,o=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)},i=function(e,r){r=\"function\"==typeof r?r():null==r?\"\":r,t[t.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(r)};return function e(s,a){var u,c,f;if(s)if(o(a))for(u=0,c=a.length;u<c;u++)r.test(s)?i(s,a[u]):e(s+\":\"+(\"object\"===n(a[u])?u:\"\"),a[u]);else if(a&&\"[object Object]\"===String(a))for(f in a)e(s+\":\"+f,a[f]);else i(s,a);else if(o(a))for(u=0,c=a.length;u<c;u++)i(a[u].name,a[u].value);else for(f in a)e(f,a[f]);return t}(\"\",e).join(\"&\").replace(/%20/g,\"+\")};var S=\"analytics\",A=function(e){d(i,e);var t,n,o=(t=i,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=E(t);if(n){var o=E(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return g(this,e)});function i(){return r(this,i),o.apply(this,arguments)}return s(i,null,[{key:\"trackEvent\",value:function(e,t,r){return\"POST\"===r?i._trackEventByPOST(e,t):i._trackEventByGET(e,t)}},{key:\"_trackEventByGET\",value:function(e,t){var r=h.get(),n={};Object.assign(n,r.serviceParams,t);var o=new l;return o.service=S,o.action=\"trackEvent\",o.method=\"GET\",o.retryConfig.maxAttempts=1,o.tag=\"analytics-trackEvent\",o.params=n,o.url=e+\"?service=\"+o.service+\"&action=\"+o.action+\"&\"+T(o.params),o}},{key:\"_trackEventByPOST\",value:function(e,t){var r=h.get(),n={};Object.assign(n,r.serviceParams,t);var o=new Map;o.set(\"Content-Type\",\"application/json\");var i=new l(o),s={eventType:n.eventType,partnerId:n.partnerId,entryId:n.entryId,sessionId:n.sessionId};return[\"eventType\",\"partnerId\",\"entryId\",\"sessionId\"].forEach((function(e){return delete n[e]})),i.service=S,i.action=\"trackEvent\",i.method=\"POST\",i.retryConfig.maxAttempts=1,i.tag=\"analytics-trackEvent\",i.params=JSON.stringify(n),i.url=e+\"?service=\"+i.service+\"&action=\"+i.action+\"&\"+T(s),i}}]),i}(function(){function e(){r(this,e)}return s(e,null,[{key:\"getMultiRequest\",value:function(e,t,r){var n=h.get(),o=n.serviceParams;Object.assign(o,{ks:t,clientTag:\"html5:v\"+e}),r&&Object.assign(o,{partnerId:r});var i=new Map;i.set(\"Content-Type\",\"application/json\");var s=new b(i);return s.method=\"POST\",s.service=\"multirequest\",s.url=s.getUrl(n.serviceUrl),s.params=o,s}}]),e}()),P=\"@playkit-js/playkit-js-providers-analytics-service\",C=\"2.40.4\";return t}()}));\n//# sourceMappingURL=playkit-analytics-service.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer;","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import { KavaModel } from './kava-model';\nimport { KavaEvent } from './types';\n\n/**\n * @name KavaEventType\n * @enum\n */\nexport const KavaEventModel = {\n /**\n * @type {string} VIEW\n * @memberof KavaEventType\n */\n VIEW: {\n type: 'VIEW',\n index: 99,\n getEventModel: (model: KavaModel): any => {\n const eventModel: { [name: string]: any } = {\n playTimeSum: model.getPlayTimeSum(),\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate(),\n averageBitrate: model.getAverageBitrate(),\n audioLanguage: model.getLanguage(),\n soundMode: model.getSoundMode(),\n tabMode: model.getTabMode(),\n viewabilityMode: model.getViewabilityMode(),\n screenMode: model.getScreenMode()\n };\n\n if (!isNaN(model.getForwardBufferHealth())) {\n eventModel.forwardBufferHealth = model.getForwardBufferHealth();\n }\n if (model.getMaxManifestDownloadTime() > 0) {\n eventModel.manifestDownloadTime = model.getMaxManifestDownloadTime();\n }\n if (model.getSegmentDownloadTime() > 0) {\n eventModel.segmentDownloadTime = model.getSegmentDownloadTime();\n }\n if (model.getBandwidth()) {\n eventModel.bandwidth = model.getBandwidth();\n }\n if (model.getDroppedFramesRatio() !== null) {\n eventModel.droppedFramesRatio = model.getDroppedFramesRatio();\n }\n\n if (!isNaN(model.getTargetBuffer())) {\n eventModel.targetBuffer = model.getTargetBuffer();\n }\n\n if (model.getNetworkConnectionType() !== '') {\n eventModel.networkConnectionType = model.getNetworkConnectionType();\n }\n\n if (model.getNetworkConnectionOverhead()) {\n eventModel.networkConnectionOverhead = model.getNetworkConnectionOverhead();\n }\n if (!isNaN(model.getFlavorParamsId())) {\n eventModel.flavorParamsId = model.getFlavorParamsId();\n }\n if (!isNaN(model.getPlaybackMode())) {\n eventModel.playbackMode = model.getPlaybackMode();\n }\n if (model.getSourceEntryId() !== null) {\n eventModel.sourceEntryId = model.getSourceEntryId();\n }\n\n const liveStreamType = model.getLiveStreamType();\n if (liveStreamType !== undefined) {\n eventModel.streamType = liveStreamType;\n }\n\n return eventModel;\n }\n },\n /**\n * @type {string} IMPRESSION\n * @memberof KavaEventType\n */\n IMPRESSION: {\n type: 'IMPRESSION',\n index: 1,\n getEventModel: (model: KavaModel): any => {\n const eventModel = {} as KavaModel;\n if (model.getPlayerJSLoadTime() !== null) {\n eventModel.playerJSLoadTime = model.getPlayerJSLoadTime();\n }\n const isV2ToV7Redirected = model.getV2ToV7Redirect();\n const registeredPlugins = model.getRegisteredPlugins();\n eventModel['loadedPlugins'] = isV2ToV7Redirected ? `v2-v7redirect,${registeredPlugins}` : registeredPlugins;\n return eventModel;\n }\n },\n /**\n * @type {string} PLAY_REQUEST\n * @memberof KavaEventType\n */\n PLAY_REQUEST: {\n type: 'PLAY_REQUEST',\n index: 2,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY\n * @memberof KavaEventType\n */\n PLAY: {\n type: 'PLAY',\n index: 3,\n getEventModel: (model: KavaModel): any => {\n const eventModel: { [name: string]: any } = {\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate(),\n joinTime: model.getJoinTime(),\n canPlay: model.getCanPlayTime()\n };\n if (model.getNetworkConnectionType() !== '') {\n eventModel.networkConnectionType = model.getNetworkConnectionType();\n }\n return eventModel;\n }\n },\n /**\n * @type {string} RESUME\n * @memberof KavaEventType\n */\n RESUME: {\n type: 'RESUME',\n index: 4,\n getEventModel: (model: KavaModel): any => ({\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} PAUSE\n * @memberof KavaEventType\n */\n PAUSE: {\n type: 'PAUSE',\n index: 33,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} BUFFER_START\n * @memberof KavaEventType\n */\n BUFFER_START: {\n type: 'BUFFER_START',\n index: 45,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} BUFFER_END\n * @memberof KavaEventType\n */\n BUFFER_END: {\n type: 'BUFFER_END',\n index: 46,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} REPLAY\n * @memberof KavaEventType\n */\n REPLAY: {\n type: 'REPLAY',\n index: 34,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SEEK\n * @memberof KavaEventType\n */\n SEEK: {\n type: 'SEEK',\n index: 35,\n getEventModel: (model: KavaModel): any => ({\n targetPosition: model.getTargetPosition()\n })\n },\n /**\n * @type {string} PLAY_REACHED_25_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_25_PERCENT: {\n type: 'PLAY_REACHED_25_PERCENT',\n index: 11,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_50_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_50_PERCENT: {\n type: 'PLAY_REACHED_50_PERCENT',\n index: 12,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_75_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_75_PERCENT: {\n type: 'PLAY_REACHED_75_PERCENT',\n index: 13,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_100_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_100_PERCENT: {\n type: 'PLAY_REACHED_100_PERCENT',\n index: 14,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_90_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_90_PERCENT: {\n type: 'PLAY_REACHED_90_PERCENT',\n index: 15,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SOURCE_SELECTED\n * @memberof KavaEventType\n */\n SOURCE_SELECTED: {\n type: 'SOURCE_SELECTED',\n index: 39,\n getEventModel: (model: KavaModel): any => ({\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} AUDIO_SELECTED\n * @memberof KavaEventType\n */\n AUDIO_SELECTED: {\n type: 'AUDIO_SELECTED',\n index: 42,\n getEventModel: (model: KavaModel): any => ({\n language: model.getLanguage()\n })\n },\n /**\n * @type {string} FLAVOR_SWITCH\n * @memberof KavaEventType\n */\n FLAVOR_SWITCH: {\n type: 'FLAVOR_SWITCH',\n index: 43,\n getEventModel: (model: KavaModel): any => ({\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} SPEED\n * @memberof KavaEventType\n */\n SPEED: {\n type: 'SPEED',\n index: 41,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} CAPTIONS\n * @memberof KavaEventType\n */\n CAPTIONS: {\n type: 'CAPTIONS',\n index: 38,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} ERROR\n * @memberof KavaEventType\n */\n ERROR: {\n type: 'ERROR',\n index: 98,\n getEventModel: (model: KavaModel): any => ({\n errorCode: model.getErrorCode(),\n errorDetails: model.getErrorDetails(),\n errorPosition: model.getErrorPosition()\n })\n },\n /**\n * @type {string} RELATED_OPEN\n * @memberof KavaEventType\n */\n RELATED_OPEN: {\n type: 'RELATED_OPEN',\n index: 36,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} RELATED_SELECTED\n * @memberof KavaEventType\n */\n RELATED_SELECTED: {\n type: 'RELATED_SELECTED',\n index: 37,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SHARE_CLICKED\n * @memberof KavaEventType\n */\n SHARE_CLICKED: {\n type: 'SHARE_CLICKED',\n index: 21,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SHARE_NETWORK\n * @memberof KavaEventType\n */\n SHARE_NETWORK: {\n type: 'SHARE_NETWORK',\n index: 22,\n getEventModel: (model: KavaModel): any => ({\n socialNetwork: model.getShareNetworkName()\n })\n },\n ENTER_FULLSCREEN: {\n type: 'ENTER_FULLSCREEN',\n index: 31,\n getEventModel: (model: KavaModel): any => ({\n screenMode: model.getScreenMode()\n })\n },\n EXIT_FULLSCREEN: {\n type: 'EXIT_FULLSCREEN',\n index: 32,\n getEventModel: (model: KavaModel): any => ({\n screenMode: model.getScreenMode()\n })\n },\n DOWNLOAD: {\n type: 'DOWNLOAD',\n index: 23,\n getEventModel: (): any => ({})\n },\n REPORT_CLICKED: {\n type: 'REPORT_CLICKED',\n index: 24,\n getEventModel: (): any => ({})\n },\n REPORT_SUBMITTED: {\n type: 'REPORT_SUBMITTED',\n index: 25,\n getEventModel: (model: KavaModel): any => ({\n reportType: model.getReportType()\n })\n },\n INFO: {\n type: 'INFO',\n index: 40,\n getEventModel: (): any => ({})\n }\n};\n\nexport const KavaEventType: { [event: string]: string } = ((eventType): any => {\n Object.keys(KavaEventModel).forEach((k) => (eventType[k] = k));\n return eventType;\n})({});\n//\n// /**\n// * Gets the full event model for a certain event object including the common params.\n// * @private\n// * @param {KavaEvent} eventObj - The event model.\n// * @param {KavaModel} model - The plugin model store.\n// * @returns {Object} - The full event model.\n// */\nexport function getEventModel(eventObj: KavaEvent, model: KavaModel): any {\n const commonModel: any = {\n eventType: eventObj.index,\n partnerId: model.getPartnerId(),\n entryId: model.getEntryId(),\n sessionId: model.getSessionId(),\n eventIndex: model.getEventIndex(),\n referrer: model.getReferrer(),\n deliveryType: model.getDeliveryType(),\n playbackType: model.getPlaybackType(),\n clientVer: model.getClientVer(),\n clientTag: model.getClientTag(),\n position: model.getPosition(),\n playbackSpeed: model.getPlaybackSpeed(),\n playerSkin: model.getPlayerSkin()\n };\n\n if (model.getCaption()) {\n commonModel.caption = model.getCaption();\n }\n if (model.getSessionStartTime()) {\n commonModel.sessionStartTime = model.getSessionStartTime();\n }\n if (model.getKS()) {\n commonModel.ks = model.getKS();\n }\n if (model.getVirtualEventId()) {\n commonModel.virtualEventId = model.getVirtualEventId();\n }\n if (model.getUIConfId()) {\n commonModel.uiConfId = model.getUIConfId();\n }\n if (model.getPlaylistId()) {\n commonModel.playlistId = model.getPlaylistId();\n }\n if (model.getCustomVar1()) {\n commonModel.customVar1 = model.getCustomVar1();\n }\n if (model.getCustomVar2()) {\n commonModel.customVar2 = model.getCustomVar2();\n }\n if (model.getCustomVar3()) {\n commonModel.customVar3 = model.getCustomVar3();\n }\n if (model.getPlaybackContext()) {\n commonModel.playbackContext = model.getPlaybackContext();\n }\n if (model.getApplication()) {\n commonModel.application = model.getApplication();\n }\n if (model.getKalturaApplicationVersion()) {\n commonModel.kalturaApplicationVer = model.getKalturaApplicationVersion();\n }\n if (model.getKalturaApplication()) {\n commonModel.kalturaApplication = model.getKalturaApplication();\n }\n if (model.getUserId()) {\n commonModel.userId = model.getUserId();\n }\n if (model.getPersistentSessionId()) {\n commonModel.persistentSessionId = model.getPersistentSessionId();\n }\n if (model.getHostingKalturaApplication()) {\n commonModel.hostingKalturaApplication = model.getHostingKalturaApplication();\n }\n if (model.getHostingKalturaApplicationVersion()) {\n commonModel.hostingKalturaApplicationVersion = model.getHostingKalturaApplicationVersion();\n }\n const eventModel = eventObj.getEventModel(model);\n return Object.assign(eventModel, commonModel);\n}\n","/**\n * Manage the video rates for the KAVA plugin.\n * @private\n * @class KavaRateHandler\n */\nclass KavaRateHandler {\n private _rates: any[] = [];\n\n constructor() {\n this._rates = [];\n }\n\n /**\n * Sets the video rates.\n * @param {Array<number>} rates - The video rates.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public setRates(rates: Array<number>): void {\n this._rates = [];\n rates.forEach((rate) => {\n this._rates.push({\n rate: rate,\n active: false,\n duration: 0\n });\n });\n }\n\n /**\n * Sets the current rate.\n * @param {number} rate - The current rate.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public setCurrent(rate: number): void {\n this._rates.forEach((o) => (o.active = false));\n const obj = this._rates.find((o) => o.rate === rate);\n if (obj) {\n obj.active = true;\n }\n }\n\n /**\n * Gets the current rate.\n * @returns {number} - The current rate.\n * @memberof KavaRateHandler\n * @instance\n */\n public getCurrent(): number {\n const current = this._rates.find((o) => o.active);\n return current ? current.rate : -1;\n }\n\n /**\n * Increases the duration of the current rate.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public countCurrent(): void {\n const current = this._rates.find((o) => o.active);\n if (current) {\n current.duration++;\n }\n }\n\n /**\n * Gets the average rate.\n * @returns {number} - The average rate.\n * @memberof KavaRateHandler\n * @instance\n */\n public getAverage(): number {\n let totalDuration = 0;\n let sum = 0;\n this._rates.forEach((o) => {\n sum += o.rate * o.duration;\n totalDuration += o.duration;\n });\n return totalDuration ? sum / totalDuration : 0;\n }\n\n /**\n * Resets the duration of all rates.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public reset(): void {\n this._rates.forEach((o) => (o.duration = 0));\n }\n\n /**\n * Destroys the class.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public destroy(): void {\n this._rates = [];\n }\n}\n\nexport { KavaRateHandler };\n","import { core } from '@playkit-js/kaltura-player-js';\nconst { FakeEvent, FakeEventTarget } = core;\n\nconst SECOND: number = 1000;\n\n/**\n * Create service worker with timer.\n * @private\n * @class WorkerTimer\n * @param {void} callback - callback that triggers on timer tick.\n * @param {number} interval - interval in ms.\n */\nclass WorkerTimer {\n private worker: Worker | null = null;\n constructor(callback, interval) {\n const blob = new Blob([`setInterval(() => postMessage(0), ${interval});`]);\n const workerScript = URL.createObjectURL(blob);\n this.worker = new Worker(workerScript);\n this.worker.onmessage = callback;\n }\n\n /**\n * Terminate service worker.\n * @returns {void}\n * @memberof WorkerTimer\n * @instance\n */\n public stop(): void {\n if (this.worker) {\n this.worker.terminate();\n }\n }\n}\n\n/**\n * Mange a timer and dispatches related events.\n * @private\n * @class KavaTimer\n * @param {Object} config - The timer config.\n */\nclass KavaTimer extends FakeEventTarget {\n private _resetCounter!: number;\n private _eventCounter!: number;\n private _timer?: WorkerTimer | null;\n private _stopped!: boolean;\n private _config: any;\n\n public static Event = {\n TICK: 'tick',\n RESET: 'reset',\n REPORT: 'report'\n };\n\n constructor(config: any) {\n super();\n this._config = config;\n }\n\n /**\n * Starts the timer interval.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public start(): void {\n this._terminateTimer();\n this._stopped = false;\n this._resetCounter = 0;\n this._eventCounter = 0;\n this._timer = new WorkerTimer(() => this._monitor(), SECOND);\n }\n\n /**\n * Continues the timer to dispatch REPORT.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public resume(): void {\n this._stopped = false;\n this._resetCounter = 0;\n }\n\n /**\n * Stops the timer from dispatch REPORT and starts the timer to dispatch RESET.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public stop(): void {\n this._stopped = true;\n }\n\n /**\n * @returns {boolean} - Whether the timer is stopped.\n * @memberof KavaTimer\n * @instance\n */\n public isStopped(): boolean {\n return this._stopped;\n }\n\n /**\n * Destroys the timer.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public destroy(): void {\n this._terminateTimer();\n }\n\n private _terminateTimer(): void {\n if (this._timer) {\n this._timer.stop();\n this._timer = null;\n }\n }\n\n private _monitor(): void {\n if (this._stopped) {\n if (this._resetCounter === this._config.resetCounter) {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.RESET));\n this._resetCounter = 0;\n this._eventCounter = 0;\n }\n this._resetCounter++;\n } else {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.TICK));\n if (this._eventCounter === this._config.eventCounter) {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.REPORT));\n this._eventCounter = 0;\n }\n this._eventCounter++;\n }\n }\n}\n\nexport { KavaTimer };\n","export enum EventBucketName {\n ApplicationEvents = 'ApplicationEvents',\n PlayerEvents = 'PlayerEvents'\n}\n","// EventVar 1 in kava server\n\nexport enum ButtonType {\n Create = 1,\n Filter = 2,\n Search = 3,\n Export = 4,\n Navigate = 5,\n Schedule = 6,\n Insert = 7,\n Choose = 8,\n Launch = 9,\n Open = 10,\n Send = 11,\n Invite = 12,\n Close = 13,\n Save = 14,\n Expand = 15,\n Collapse = 16,\n Edit = 17,\n Delete = 18,\n Browse = 19,\n Load = 20,\n Add = 21,\n Menu = 22,\n Register = 23,\n Login = 24,\n Link = 25,\n Toggle = 26,\n Thumbnail = 27,\n Download = 28,\n Share = 29\n}\n","export const ApplicationEventType = {\n BUTTON_CLICKED: 10002,\n PAGE_LOAD: 10003,\n CONTENT_MILESTONE: 10004\n};\n","// // EventVar 1 in kava server\nexport enum PageLoadType {\n View = 1,\n Create = 2,\n Edit = 3,\n Participate = 4,\n List = 5,\n Analytics = 6,\n Admin = 7,\n Error = 8,\n Login = 9,\n Registration = 10,\n Custom = 11\n}\n","const playkitUIEventsNamespace = 'playkit-ui';\nexport const PlaykitUIEvents = {\n USER_CLICKED_LOGO: `${playkitUIEventsNamespace}-userclickedlogo`,\n USER_SELECTED_CAPTIONS_SIZE: `${playkitUIEventsNamespace}-userselectedcaptionssize`,\n USER_SELECTED_CAPTIONS_WEIGHT: `${playkitUIEventsNamespace}-userselectedcaptionsweight`,\n USER_SELECTED_CAPTIONS_ALIGNMENT: `${playkitUIEventsNamespace}-userselectedcaptionsalignment`,\n USER_SELECTED_CAPTIONS_FONT_COLOR: `${playkitUIEventsNamespace}-userselectedcaptionsfontcolor`,\n USER_SELECTED_CAPTIONS_FONT_FAMILY: `${playkitUIEventsNamespace}-userselectedcaptionsfontfamily`,\n USER_SELECTED_CAPTIONS_FONT_STYLE: `${playkitUIEventsNamespace}-userselectedcaptionsfontstyle`,\n USER_SELECTED_CAPTIONS_FONT_OPACITY: `${playkitUIEventsNamespace}-userselectedcaptionsfontopacity`,\n USER_SELECTED_CAPTIONS_BACKGROUND_COLOR: `${playkitUIEventsNamespace}-userselectedcaptionsbackgroundcolor`,\n USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY: `${playkitUIEventsNamespace}-userselectedcaptionsbackgroundopacity`,\n USER_SHOWED_CAPTIONS: `${playkitUIEventsNamespace}-usershowedcaptions`,\n USER_HID_CAPTIONS: `${playkitUIEventsNamespace}-userhidcaptions`,\n USER_SELECTED_CAPTION_TRACK: `${playkitUIEventsNamespace}-userselectedcaptiontrack`,\n USER_SELECTED_AUDIO_TRACK: `${playkitUIEventsNamespace}-userselectedaudiotrack`,\n USER_COPIED_DEBUG_INFO: `${playkitUIEventsNamespace}-usercopieddebuginfo`,\n DISPLAY_INFO_BEFORE_PLAYBACK: `${playkitUIEventsNamespace}-displayinfobeforeplayback`,\n USER_SELECTED_CAPTIONS_PRESET_MINIMALIST: `${playkitUIEventsNamespace}-userselectedcaptionspresetminimalist`,\n USER_SELECTED_CAPTIONS_PRESET_HIGH_CONTRAST: `${playkitUIEventsNamespace}-userselectedcaptionspresethighcontrast`,\n USER_SELECTED_CAPTIONS_PRESET_CLASSIC_TV_STYLE: `${playkitUIEventsNamespace}-userselectedcaptionspresetclassictvstyle`,\n USER_SELECTED_CAPTIONS_PRESET_EASY_READING: `${playkitUIEventsNamespace}-userselectedcaptionspreseteasyreading`,\n USER_SELECTED_CAPTIONS_PRESET_EARLY_READERS: `${playkitUIEventsNamespace}-userselectedcaptionspresetearlyreaders`,\n USER_SELECTED_CAPTIONS_PRESET_NIGHT_MODE: `${playkitUIEventsNamespace}-userselectedcaptionspresetnightmode`,\n USER_SELECTED_CAPTIONS_CUSTOM: `${playkitUIEventsNamespace}-userselectedcaptionscustom`\n};\n\nexport const NavigationEvents = {\n NAVIGATION_OPEN: 'navigation_open',\n NAVIGATION_CLOSE: 'navigation_close',\n NAVIGATION_SEARCH: 'navigation_search',\n NAVIGATION_ITEM_CLICK: 'navigation_item_click',\n NAVIGATION_EXPANDABLE_TEXT_CLICK: 'navigation_expandable_text_clicked'\n};\n\nexport const DownloadEvents = {\n DOWNLOAD_ITEM_CLICKED: 'download_item_clicked',\n SHOW_OVERLAY: 'download_show_overlay',\n HIDE_OVERLAY: 'download_hide_overlay',\n DOWNLOAD_SUMMARY_CHAPTERS_DOWNLOAD: 'download_summary_chapters_download'\n};\n\nexport const TranscriptEvents = {\n TRANSCRIPT_OPEN: 'transcript_open',\n TRANSCRIPT_CLOSE: 'transcript_close',\n TRANSCRIPT_DOWNLOAD: 'transcript_download',\n TRANSCRIPT_PRINT: 'transcript_print',\n TRANSCRIPT_SEARCH: 'transcript_search',\n TRANSCRIPT_NAVIGATE_RESULT: 'transcript_navigate_result',\n TRANSCRIPT_POPOUT_OPEN: 'transcript_popout_open',\n TRANSCRIPT_POPOUT_CLOSE: 'transcript_popout_close',\n TRANSCRIPT_POPOUT_DRAG: 'transcript_popout_drag',\n TRANSCRIPT_POPOUT_RESIZE: 'transcript_popout_resize'\n};\n\nexport const EadEvents = {\n EAD_ON: 'EAD_on',\n EAD_OFF: 'EAD_off',\n EAD_SKIP: 'EAD_skip',\n EAD_REPLAY: 'EAD_replay',\n EAD_PAUSE: 'EAD_pause',\n EAD_RESUME: 'EAD_resume',\n EAD_PLAY: 'EAD_play',\n EAD_SCROLL: 'EAD_scroll'\n};\n\nexport const DualscreenEvents = {\n CHANGE_LAYOUT: 'dualscreen_change_layout',\n SIDE_DISPLAYED: 'dualscreen_side_displayed'\n};\nexport const ShareEvents = {\n SHARE_CLICKED: 'share_clicked',\n SHARE_CLOSE: 'share_close',\n SHARE_NETWORK: 'share_network',\n SHARE_COPY: 'share_copy'\n};\n\nexport const BumperEvents = {\n BUMPER_CLICKED: 'bumper_clicked'\n};\nexport const SkipEvents = {\n SKIP_BUTTON_CLICK: 'skip_button_click',\n SKIP_BUTTON_DISPLAYED: 'skip_button_displayed'\n};\nexport const PlaylistEvents = {\n PLAYLIST_OPEN: 'playlist_open',\n PLAYLIST_CLOSE: 'playlist_close'\n};\n\nexport const RelatedEvents = {\n RELATED_OPEN: 'related_open',\n RELATED_CLOSE: 'related_close',\n RELATED_ENTRY_SELECTED: 'related_entry_selected',\n RELATED_ENTRY_AUTO_PLAYED: 'related_entry_auto_played',\n RELATED_GRID_DISPLAYED: 'related_grid_displayed'\n};\n\nexport const CallToActionEvents = {\n CALL_TO_ACTION_BUTTON_CLICK: 'call_to_action_button_click',\n CALL_TO_ACTION_DISPLAYED: 'call_to_action_displayed'\n};\n\nexport const HotspotsEvents = {\n HOTSPOT_CLICK: 'hotspot_click',\n HOTSPOT_DISPLAYED: 'hotspot_displayed'\n};\n\nexport const IvqEventTypes = {\n QUIZ_STARTED: 'QuizStarted',\n QUIZ_SKIPPED: 'QuizSkipped',\n QUIZ_SEEK: 'QuizSeek',\n QUESTION_ANSWERED: 'QuestionAnswered',\n QUIZ_SUBMITTED: 'QuizSubmitted',\n QUIZ_RETAKE: 'QuizRetake',\n QUIZ_QUESTION_CHANGED: 'QuizQuestionChanged'\n};\n\nexport const DetectAdBlockEvents = {\n DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN: 'detect_ad_block_partial_overlay_shown',\n DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN: 'detect_ad_block_full_overlay_shown',\n DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED: 'detect_ad_block_secondary_button_clicked',\n DETECT_AD_BLOCK_X_BUTTON_CLICKED: 'detect_ad_block_x_button_clicked',\n DETECT_AD_BLOCK_AD_BLOCKER_DISABLED: 'detect_ad_block_ad_blocker_disabled',\n DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED: 'detect_ad_block_ad_blocker_not_disabled'\n};\n\nexport const ReelsEvents = {\n REELS_PLAY: 'reels_play',\n REELS_PAUSE: 'reels_pause',\n REELS_MUTE: 'reels_mute',\n REELS_UNMUTE: 'reels_unmute',\n REELS_SEEK: 'reels_seek',\n REELS_POSTER_CLICKED: 'reels_poster_clicked',\n REELS_ENTRY_LOADED: 'reels_entry_loaded',\n REELS_PLAYLIST_LOADED: 'reels_playlist_loaded'\n};\n\nexport const SummaryAndChaptersEvents = {\n SUMMARY_CHAPTERS_OPEN: 'summary_chapters_open',\n SUMMARY_CHAPTERS_CLOSE: 'summary_chapters_close',\n SUMMARY_CHAPTERS_READ_CHAPTERS: 'summary_chapters_read_chapters',\n SUMMARY_CHAPTERS_READ_OVERVIEW: 'summary_chapters_read_overview',\n SUMMARY_CHAPTERS_COPY_TO_CLIPBOARD: 'summary_chapters_copy_to_clipboard',\n SUMMARY_CHAPTERS_CHAPTER_EXPAND: 'summary_chapters_chapter_expand',\n SUMMARY_CHAPTERS_CHAPTER_COLLAPSE: 'summary_chapters_chapter_collapse',\n SUMMARY_CHAPTERS_CHAPTER_SEEK: 'summary_chapters_chapter_seek',\n SUMMARY_CHAPTERS_CHAPTER_SHARE: 'summary_chapters_chapter_share',\n SUMMARY_CHAPTERS_DOWNLOAD_SUMMARY: 'summary_chapters_download_summary',\n SUMMARY_CHAPTERS_DISPLAY_BEFORE_PLAYBACK: 'summary_chapters_display_before_playback',\n SUMMARY_CHAPTERS_ALLOW_DOWNLOAD_TOGGLED: 'summary_chapters_allow_download_toggled',\n SUMMARY_CHAPTERS_ALLOW_SHARE_CHAPTER_TOGGLED: 'summary_chapters_allow_share_chapter_toggled',\n SUMMARY_CHAPTERS_PANEL_POSITION_CHANGED: 'summary_chapters_panel_position_changed',\n SUMMARY_CHAPTERS_EXPAND_MODE_CHANGED: 'summary_chapters_expand_mode_changed',\n SUMMARY_CHAPTERS_EXPAND_ON_FIRST_PLAY_TOGGLED: 'summary_chapters_expand_on_first_play_toggled'\n};\n\nexport const AudioPlayerEvents = {\n AUDIO_PLAYER_VISUALIZATION_STATE: 'audio_player_visualization_state'\n};\n\nexport const CpeTrackerEvents = {\n CPE_TRACKER_HOVER: 'cpe_tracker_hover'\n};\n\nexport const BannerOverlayEvents = {\n BANNER_MESSAGE_DISPLAYS: 'banner_message_displays',\n BANNER_MESSAGE_MANUALLY_DISMISSED: 'banner_message_manually_dismissed'\n};\n\n// events fired by the kava plugin itself - the kava plugin does not listen to these events\nexport const KavaEvents = {\n KAVA_REQUEST_SUCCEEDED: 'kava_request_succeeded',\n KAVA_REQUEST_FAILED: 'kava_request_failed'\n};\n\nexport const GenieEvents = {\n GENIE_OPEN_AUTO: 'genie_open_auto',\n GENIE_OPEN_MANUAL: 'genie_open_manual',\n GENIE_CLOSE: 'genie_close',\n GENIE_NEW_THREAD: 'genie_new_thread'\n};\n\nexport const VodCompletionEvents = {\n VOD_COMPLETION_VIDEO_STARTED: 'vod_completion_video_started',\n VOD_COMPLETION_VIDEO_COMPLETED: 'vod_completion_video_completed'\n};\n\nexport const PostMessageBridgeEvents = {\n POST_MESSAGE_BRIDGE_ACTIVE: 'post_message_bridge_active'\n};\n\nexport const PluginsEvents = {\n ...NavigationEvents,\n ...DownloadEvents,\n ...TranscriptEvents,\n ...DualscreenEvents,\n ...ShareEvents,\n ...BumperEvents,\n ...SkipEvents,\n ...PlaylistEvents,\n ...RelatedEvents,\n ...CallToActionEvents,\n ...HotspotsEvents,\n ...IvqEventTypes,\n ...DetectAdBlockEvents,\n ...ReelsEvents,\n ...EadEvents,\n ...SummaryAndChaptersEvents,\n ...AudioPlayerEvents,\n ...CpeTrackerEvents,\n ...BannerOverlayEvents,\n ...GenieEvents,\n ...VodCompletionEvents,\n ...PostMessageBridgeEvents\n};\n","type ApplicationType = { [app: string]: string };\n\nconst KalturaApplication: ApplicationType = {\n KMC: '0',\n KMS: '1',\n KAF: '2',\n PITCH: '3',\n KMS_GO: '4',\n WEBCASTING: '5',\n PERSONAL_CAPTURE: '6',\n KME: '7',\n KME_MOBILE_APP: '8',\n PATH: '9',\n LECTURE_CAPTURE: '10',\n EP: '11',\n CHAT_AND_COLLABORATION: '12',\n ANALYTICS: '13',\n EXPRESS_CAPTURE: '14',\n KPF: '15',\n KAF_GO: '16',\n SITES: '17',\n STUDIO: '18',\n CAPTIONS_EDITOR: '19',\n CHECKLIST: '20',\n PLAYER: '21',\n GENIE: '23'\n};\n\nexport { KalturaApplication };\nexport type { ApplicationType };\n","export enum ApplicationFeature {\n DUAL_SCREEN = 'dual_screen',\n SHARE_EMBED = 'share_embed',\n DOWNLOAD = 'download',\n BUMPER = 'bumper',\n NAVIGATION = 'navaigation',\n TRANSCRIPT = 'transcript',\n PLAYLIST = 'playlist',\n SKIP = 'skip',\n RELATED = 'related',\n CALL_TO_ACTION = 'call_to_action',\n HOTSPOPT = 'hotspot',\n QUIZ = 'quiz',\n UI = 'ui',\n DETECT_AD_BLOCK = 'detect_ad_block',\n REELS = 'reels_player',\n EAD = 'extended_audio_description',\n ADVANCED_CAPTIONS = 'advanced_captions',\n CAPTIONS = 'captions',\n AUDION_TRACKS = 'audio_tracks',\n SUMMARY_CHAPTERS = 'summary_chapters',\n DEBUG_INFO = 'debug_info',\n AUDIO_PLAYER = 'audio_player',\n CPE_TRACKER = 'cpe_tracker',\n BANNER_OVERLAY = 'banner_overlay',\n GENIE = 'genie',\n VOD_COMPLETION = 'vod_completion',\n POST_MESSAGE_BRIDGE = 'post_message_bridge'\n}\n","import { KavaModel } from './kava-model';\nimport { KavaEvent } from './types';\nimport { ButtonType } from './enums/button-type';\nimport { ApplicationEventType } from './enums/application-event-type';\nimport { PageLoadType } from './enums/page-load-type';\nimport { PlaykitUIEvents, PluginsEvents } from './applications-events';\nimport { KalturaApplication } from './enums/kaltura-application';\nimport { ApplicationFeature } from './enums/application-feature';\n\nexport function getApplicationEventsModel(eventObj: KavaEvent, model: KavaModel, innerEventPayload: any): any {\n const commonModel = {\n partnerId: model.getPartnerId(),\n entryId: model.getEntryId(),\n sessionId: model.getSessionId(),\n kalturaApplication: KalturaApplication.PLAYER,\n application: model.getApplication(false)\n };\n\n if (model.getVirtualEventId()) {\n commonModel['virtualEventId'] = model.getVirtualEventId();\n }\n if (model.getKalturaApplicationVersion()) {\n commonModel['kalturaApplicationVer'] = model.getKalturaApplicationVersion();\n }\n if (model.getUserId()) {\n commonModel['userId'] = model.getUserId();\n }\n if (model.getKS()) {\n commonModel['ks'] = model.getKS();\n }\n if (model.getHostingKalturaApplication()) {\n commonModel['hostingKalturaApplication'] = model.getHostingKalturaApplication();\n }\n if (model.getHostingKalturaApplicationVersion()) {\n commonModel['hostingKalturaApplicationVersion'] = model.getHostingKalturaApplicationVersion();\n }\n\n const eventModel = eventObj.getEventModel(innerEventPayload);\n const namedEventModel = {};\n const { eventType, eventVar1, eventVar2, eventVar3, eventVar4, applicationFeature } = eventModel;\n namedEventModel['eventType'] = eventType;\n namedEventModel['feature'] = applicationFeature;\n\n if (eventModel.eventType === ApplicationEventType.BUTTON_CLICKED) {\n namedEventModel['buttonName'] = eventVar1;\n namedEventModel['buttonType'] = eventVar2;\n namedEventModel['buttonValue'] = eventVar3;\n namedEventModel['buttonInfo'] = eventVar4;\n } else if (eventModel.eventType === ApplicationEventType.PAGE_LOAD) {\n namedEventModel['pageName'] = eventVar1;\n namedEventModel['pageType'] = eventVar2;\n namedEventModel['pageValue'] = eventVar3;\n namedEventModel['pageInfo'] = eventVar4;\n } else if (eventModel.eventType === ApplicationEventType.CONTENT_MILESTONE) {\n namedEventModel['eventName'] = eventVar1;\n if (typeof eventVar2 !== 'undefined') {\n namedEventModel['completionThreshold'] = eventVar2;\n }\n }\n\n return Object.assign(namedEventModel, commonModel);\n}\n\nexport const ApplicationEventsModel: { [playerEventName: string]: KavaEvent } = {\n [PluginsEvents.CHANGE_LAYOUT]: {\n type: 'CHANGE_LAYOUT',\n getEventModel: ({ layout }: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: layout !== 'Hidden' ? 'Dual__screen_change_layout' : '',\n eventVar2: ButtonType.Choose,\n eventVar3: layout,\n applicationFeature: ApplicationFeature.DUAL_SCREEN\n })\n },\n [PluginsEvents.SIDE_DISPLAYED]: {\n type: 'SIDE_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Dual__screen_slide_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.DUAL_SCREEN\n })\n },\n [PluginsEvents.SHARE_CLICKED]: {\n type: 'SHARE_CLICKED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_open',\n eventVar2: ButtonType.Open,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.SHARE_CLOSE]: {\n type: 'SHARE_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.SHARE_NETWORK]: {\n type: 'SHARE_NETWORK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Share,\n eventVar3: payload['videoClippingOption'] === 'full' ? 'full-length' : payload['videoClippingOption'],\n applicationFeature: ApplicationFeature.SHARE_EMBED\n };\n let eventVar1: string = '';\n\n switch (payload.socialNetworkName) {\n case 'twitter':\n eventVar1 = 'Share_embed_X_click';\n break;\n case 'facebook':\n eventVar1 = 'Share_embed_facebook_click';\n break;\n case 'email':\n eventVar1 = 'Share_embed_email_click';\n break;\n case 'linkedin':\n eventVar1 = 'Share_embed_linkedin_click';\n break;\n case 'embed':\n eventVar1 = 'Share_embed_embed_click';\n break;\n }\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.SHARE_COPY]: {\n type: 'SHARE_COPY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_copy_click',\n eventVar2: ButtonType.Share,\n eventVar3: payload['videoClippingOption'] === 'full' ? 'full-length' : payload['videoClippingOption'],\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.DOWNLOAD_ITEM_CLICKED]: {\n type: 'DOWNLOAD_ITEM_CLICKED',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Download,\n applicationFeature: ApplicationFeature.DOWNLOAD\n };\n const { assetType, fileType, description, isDefault } = payload;\n\n let eventVar1: string;\n let eventVar3: string;\n\n switch (assetType) {\n case 'Media':\n eventVar1 = isDefault ? 'Download_video_download' : 'Download_additional_stream_download';\n eventVar3 = description;\n break;\n case 'Captions':\n eventVar1 = 'Download_captions_download';\n eventVar3 = description;\n break;\n case 'Attachments':\n eventVar1 = 'Download_attachment_download';\n eventVar3 = fileType;\n break;\n default:\n eventVar1 = '';\n eventVar3 = '';\n }\n return { ...model, eventVar1, eventVar3 };\n }\n },\n [PluginsEvents.SHOW_OVERLAY]: {\n type: 'SHOW_OVERLAY',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_open',\n eventVar2: ButtonType.Open,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.HIDE_OVERLAY]: {\n type: 'HIDE_OVERLAY',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.DOWNLOAD_SUMMARY_CHAPTERS_DOWNLOAD]: {\n type: 'DOWNLOAD_SUMMARY_CHAPTERS_DOWNLOAD',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_summary_chapters_download',\n eventVar2: ButtonType.Download,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.BUMPER_CLICKED]: {\n type: 'BUMPER_CLICKED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Bumper_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['clickThroughUrl'],\n applicationFeature: ApplicationFeature.BUMPER\n })\n },\n [PluginsEvents.NAVIGATION_OPEN]: {\n type: 'NAVIGATION_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Navigation_open_auto' : 'Navigation_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n })\n },\n [PluginsEvents.NAVIGATION_CLOSE]: {\n type: 'NAVIGATION_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Navigation_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n })\n },\n [PluginsEvents.NAVIGATION_SEARCH]: {\n type: 'NAVIGATION_SEARCH',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n let eventVar1: string = '';\n let eventVar2: ButtonType = ButtonType.Open;\n\n const { searchQuery, activeTab, availableTabs } = payload;\n\n const eventVar3 = searchQuery;\n switch (activeTab) {\n case 'All':\n const isItSearch = searchQuery.length > 0 || availableTabs.length === 0;\n eventVar1 = isItSearch ? 'Navigation_search' : 'Navigation_all_tab';\n eventVar2 = isItSearch ? ButtonType.Search : ButtonType.Open;\n break;\n case 'Chapter':\n eventVar1 = 'Navigation_chapters_tab';\n break;\n case 'Slide':\n eventVar1 = 'Navigation_slides_tab';\n break;\n case 'Hotspot':\n eventVar1 = 'Navigation_hotspots_tab';\n break;\n }\n return { ...model, eventVar1, eventVar2, eventVar3 };\n }\n },\n [PluginsEvents.NAVIGATION_ITEM_CLICK]: {\n type: 'NAVIGATION_ITEM_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n let eventVar1: string = '';\n\n switch (payload.itemType) {\n case 'Chapter':\n eventVar1 = 'Navigation_chapter_click';\n break;\n case 'Slide':\n eventVar1 = 'Navigation_slide_click';\n break;\n case 'Hotspot':\n eventVar1 = 'Navigation_hotspots_click';\n break;\n }\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.NAVIGATION_EXPANDABLE_TEXT_CLICK]: {\n type: 'NAVIGATION_EXPANDABLE_TEXT_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n const { isTextExpanded, itemType } = payload;\n\n let eventVar1: string = '';\n const eventVar2 = isTextExpanded ? ButtonType.Expand : ButtonType.Collapse;\n\n switch (itemType) {\n case 'Chapter':\n eventVar1 = isTextExpanded ? 'Navigation_chapters_see_more' : 'Navigation_chapters_see_less';\n break;\n case 'Slide':\n eventVar1 = isTextExpanded ? 'Navigation_slides_see_more' : 'Navigation_slides_see_less';\n break;\n case 'Hotspot':\n eventVar1 = isTextExpanded ? 'Navigation_hotspots_see_more' : 'Navigation_hotspots_see_less';\n break;\n }\n\n return { ...model, eventVar1, eventVar2 };\n }\n },\n\n [PluginsEvents.TRANSCRIPT_OPEN]: {\n type: 'TRANSCRIPT_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Transcript_open_auto' : 'Transcript_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_CLOSE]: {\n type: 'TRANSCRIPT_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_DOWNLOAD]: {\n type: 'TRANSCRIPT_DOWNLOAD',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_download',\n eventVar2: ButtonType.Download,\n eventVar3: payload['videoPosition'],\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_PRINT]: {\n type: 'TRANSCRIPT_PRINT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_print',\n eventVar2: ButtonType.Download,\n eventVar3: payload['videoPosition'],\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_SEARCH]: {\n type: 'TRANSCRIPT_SEARCH',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_search',\n eventVar2: ButtonType.Search,\n eventVar3: payload.search,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_NAVIGATE_RESULT]: {\n type: 'TRANSCRIPT_NAVIGATE_RESULT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_navigate_result',\n eventVar2: ButtonType.Navigate,\n eventVar3: payload.index,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_OPEN]: {\n type: 'TRANSCRIPT_POPOUT_OPEN',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_open',\n eventVar2: ButtonType.Expand,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_CLOSE]: {\n type: 'TRANSCRIPT_POPOUT_CLOSE',\n getEventModel: (payload: { type: string }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_close',\n eventVar2: ButtonType.Collapse,\n eventVar3: payload.type,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_DRAG]: {\n type: 'TRANSCRIPT_POPOUT_DRAG',\n getEventModel: (payload: { position: { x: number; y: number } }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_drag',\n eventVar2: ButtonType.Edit,\n eventVar3: `${payload.position.x},${payload.position.y}`,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_RESIZE]: {\n type: 'TRANSCRIPT_POPOUT_RESIZE',\n getEventModel: (payload: { size: { x: number; y: number } }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_resize',\n eventVar2: ButtonType.Edit,\n eventVar3: `${payload.size.x},${payload.size.y}`,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.PLAYLIST_OPEN]: {\n type: 'PLAYLIST_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Playlist_side_panel_open_auto' : 'Playlist_side_panel_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: payload['position'],\n applicationFeature: ApplicationFeature.PLAYLIST\n })\n },\n [PluginsEvents.PLAYLIST_CLOSE]: {\n type: 'PLAYLIST_CLOSE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Playlist_side_panel_close_manual',\n eventVar2: ButtonType.Close,\n eventVar3: payload['position'],\n applicationFeature: ApplicationFeature.PLAYLIST\n })\n },\n [PluginsEvents.SKIP_BUTTON_CLICK]: {\n type: 'SKIP_BUTTON_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SKIP\n };\n\n const { mode } = payload;\n let eventVar1: string = '';\n\n if (mode === 'intro') eventVar1 = 'Skip_intro_click';\n if (mode === 'outro') eventVar1 = 'Skip_outro_click';\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.SKIP_BUTTON_DISPLAYED]: {\n type: 'SKIP_BUTTON_DISPLAYED',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SKIP\n };\n\n const { mode } = payload;\n let eventVar1: string = '';\n\n if (mode === 'intro') eventVar1 = 'Skip_intro_displayed';\n if (mode === 'outro') eventVar1 = 'Skip_outro_displayed';\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.RELATED_OPEN]: {\n type: 'RELATED_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_open_manual',\n eventVar2: ButtonType.Open,\n eventVar3: payload['expandMode'],\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_CLOSE]: {\n type: 'RELATED_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_ENTRY_SELECTED]: {\n type: 'RELATED_ENTRY_SELECTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_entry_click',\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_ENTRY_AUTO_PLAYED]: {\n type: 'RELATED_ENTRY_AUTO_PLAYED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Related_entry_auto_continue',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_GRID_DISPLAYED]: {\n type: 'RELATED_GRID_DISPLAYED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Related_open_auto',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.CALL_TO_ACTION_BUTTON_CLICK]: {\n type: 'CALL_TO_ACTION_BUTTON_CLICK',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar3: payload['label'],\n eventVar2: ButtonType.Link,\n eventVar1: payload['type'] === 'primary' ? 'CTA_primary_button_click' : 'CTA_secondary_button_click',\n applicationFeature: ApplicationFeature.CALL_TO_ACTION\n })\n },\n [PluginsEvents.CALL_TO_ACTION_DISPLAYED]: {\n type: 'CALL_TO_ACTION_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'CTA_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload.displayType,\n eventVar4: payload.isMetadataBased ? 'metadata_based' : 'player_level',\n applicationFeature: ApplicationFeature.CALL_TO_ACTION\n })\n },\n [PluginsEvents.HOTSPOT_DISPLAYED]: {\n type: 'HOTSPOT_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Hotspot_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload['label'],\n applicationFeature: ApplicationFeature.HOTSPOPT\n })\n },\n [PluginsEvents.HOTSPOT_CLICK]: {\n type: 'HOTSPOT_CLICK',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Hotspot_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['label'],\n applicationFeature: ApplicationFeature.HOTSPOPT\n })\n },\n [PluginsEvents.QUIZ_STARTED]: {\n type: 'QUIZ_STARTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_start',\n eventVar2: ButtonType.Load,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SUBMITTED]: {\n type: 'QUIZ_SUBMITTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_submit',\n eventVar2: ButtonType.Send,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SKIPPED]: {\n type: 'QUIZ_SKIPPED',\n getEventModel: ({ questionIndex }: { questionIndex: number }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_skip_question',\n eventVar2: ButtonType.Navigate,\n eventVar3: questionIndex,\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SEEK]: {\n type: 'QUIZ_SEEK',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_nav_click',\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.EAD_ON]: {\n type: 'EAD_ON',\n getEventModel: (payload: any) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_on',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n eventVar4: payload?.settings ? 'settings' : 'toggle',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_OFF]: {\n type: 'EAD_OFF',\n getEventModel: (payload: any) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_off',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n eventVar4: payload?.settings ? 'settings' : 'toggle',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_SKIP]: {\n type: 'EAD_SKIP',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_skip',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_REPLAY]: {\n type: 'EAD_REPLAY',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_replay',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_PAUSE]: {\n type: 'EAD_PAUSE',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_pause',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_RESUME]: {\n type: 'EAD_PAUSE',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_resume',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_PLAY]: {\n type: 'EAD_PLAY',\n getEventModel: (payload: any) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_play',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.showText ?? '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_SCROLL]: {\n type: 'EAD_SCROLL',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_scroll',\n eventVar2: ButtonType.Browse,\n eventVar3: '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PlaykitUIEvents.USER_CLICKED_LOGO]: {\n type: 'USER_CLICKED_LOGO',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Logo_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['logoUrl'],\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_SIZE]: {\n type: 'USER_SELECTED_CAPTIONS_SIZE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_size',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_WEIGHT]: {\n type: 'USER_SELECTED_CAPTIONS_WEIGHT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_weight',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_ALIGNMENT]: {\n type: 'USER_SELECTED_CAPTIONS_ALIGNMENT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_alignment',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_COLOR]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_COLOR',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_color',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_FAMILY]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_FAMILY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_family',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_STYLE]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_STYLE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_style',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_OPACITY]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_OPACITY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_opacity',\n eventVar2: ButtonType.Choose,\n eventVar3: `${payload * 100}%`,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_BACKGROUND_COLOR]: {\n type: 'USER_SELECTED_CAPTIONS_BACKGROUND_COLOR',\n getEventModel: (payload: number): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_background_color',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY]: {\n type: 'USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY',\n getEventModel: (payload: number): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_background_opacity',\n eventVar2: ButtonType.Choose,\n eventVar3: `${payload * 100}%`,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_MINIMALIST]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_MINIMALIST',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_minimalist',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_HIGH_CONTRAST]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_HIGH_CONTRAST',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_high_contrast',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_CLASSIC_TV_STYLE]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_CLASSIC_TV_STYLE',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_classic_tv_style',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_EASY_READING]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_EASY_READING',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_easy_reading',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_EARLY_READERS]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_EARLY_READERS',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_early_readers',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_NIGHT_MODE]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_NIGHT_MODE',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_night_mode',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_CUSTOM]: {\n type: 'USER_SELECTED_CAPTIONS_CUSTOM',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_custom',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SHOWED_CAPTIONS]: {\n type: 'USER_SHOWED_CAPTIONS',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Captions_on',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n applicationFeature: ApplicationFeature.CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_HID_CAPTIONS]: {\n type: 'USER_HID_CAPTIONS',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Captions_off',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n applicationFeature: ApplicationFeature.CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTION_TRACK]: {\n type: 'USER_SELECTED_CAPTION_TRACK',\n getEventModel: ({ captionTrack, autoSelected }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Captions_language_selected',\n eventVar2: ButtonType.Choose,\n eventVar3: captionTrack?.language,\n eventVar4: autoSelected ? 'Auto display' : 'Manual selection',\n applicationFeature: ApplicationFeature.CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_AUDIO_TRACK]: {\n type: 'USER_SELECTED_AUDIO_TRACK',\n getEventModel: ({ audioTrack }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'audioSelected',\n eventVar2: ButtonType.Choose,\n eventVar3: audioTrack?.language,\n eventVar4: audioTrack?.language?.startsWith('ad-') ? 'AD' : 'non_AD',\n applicationFeature: ApplicationFeature.AUDION_TRACKS\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN]: {\n type: 'DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN',\n getEventModel: () => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'Ad_blocker_displayed',\n eventVar3: 'Allow_playback',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN]: {\n type: 'DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN',\n getEventModel: () => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'Ad_blocker_displayed',\n eventVar3: 'Block_playback',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED]: {\n type: 'DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_keep_watching',\n eventVar3: 'secondary_button',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_X_BUTTON_CLICKED]: {\n type: 'DETECT_AD_BLOCK_X_BUTTON_CLICKED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_keep_watching',\n eventVar3: 'x_button',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_AD_BLOCKER_DISABLED]: {\n type: 'DETECT_AD_BLOCK_AD_BLOCKER_DISABLED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_disabled_ad_blocker',\n eventVar3: 'disabled',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED]: {\n type: 'DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_disabled_ad_blocker',\n eventVar3: 'still_detected',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.REELS_PLAY]: {\n type: 'REELS_PLAY',\n getEventModel: ({ duration, isResume }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_play_click',\n eventVar3: isResume ? 'resume' : 'manual_play',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_PAUSE]: {\n type: 'REELS_PAUSE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_pause',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_MUTE]: {\n type: 'REELS_MUTE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_mute',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_UNMUTE]: {\n type: 'REELS_UNMUTE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_unmute',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_SEEK]: {\n type: 'REELS_SEEK',\n getEventModel: ({ duration, from, to }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar1: 'reels_seek',\n eventVar3: to > from ? 'forward' : 'backward',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_POSTER_CLICKED]: {\n type: 'REELS_POSTER_CLICKED',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_navigate_to_entry',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_ENTRY_LOADED]: {\n type: 'REELS_ENTRY_LOADED',\n getEventModel: ({ muted, playlistId }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'reels_entry_start_playback',\n eventVar3: muted ? 'muted' : 'unmuted',\n eventVar4: playlistId,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_PLAYLIST_LOADED]: {\n type: 'REELS_PLAYLIST_LOADED',\n getEventModel: ({ muted, autoplay, playlistId }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'reels_playlist_load',\n eventVar3: `${muted ? 'muted' : 'unmuted'} ; ${autoplay ? 'autoplay_on' : 'autoplay_off'}`,\n eventVar4: playlistId,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_OPEN]: {\n type: 'SUMMARY_CHAPTERS_OPEN',\n getEventModel: ({ buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Toggle,\n eventVar1: 'summary_chapters_open_plugin',\n eventVar3: buttonName,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CLOSE]: {\n type: 'SUMMARY_CHAPTERS_CLOSE',\n getEventModel: ({ buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Toggle,\n eventVar1: 'summary_chapters_close_plugin',\n eventVar3: buttonName,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_READ_CHAPTERS]: {\n type: 'SUMMARY_CHAPTERS_READ_CHAPTERS',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'summary_chapters_read_as_chapters',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_READ_OVERVIEW]: {\n type: 'SUMMARY_CHAPTERS_READ_OVERVIEW',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'summary_chapters_read_as_overview',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_COPY_TO_CLIPBOARD]: {\n type: 'SUMMARY_CHAPTERS_COPY_TO_CLIPBOARD',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'summary_chapters_copy_to_clipboard',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CHAPTER_EXPAND]: {\n type: 'SUMMARY_CHAPTERS_CHAPTER_EXPAND',\n getEventModel: ({ chapterNumber, buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Expand,\n eventVar1: 'summary_chapters_expand_chapter',\n eventVar3: buttonName,\n eventVar4: chapterNumber + 1,\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CHAPTER_COLLAPSE]: {\n type: 'SUMMARY_CHAPTERS_CHAPTER_COLLAPSE',\n getEventModel: ({ chapterNumber, buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Collapse,\n eventVar1: 'summary_chapters_collapse_chapter',\n eventVar3: buttonName,\n eventVar4: chapterNumber + 1,\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CHAPTER_SEEK]: {\n type: 'SUMMARY_CHAPTERS_CHAPTER_SEEK',\n getEventModel: ({ chapterNumber, buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar1: 'summary_chapters_seek_to_chapter',\n eventVar3: buttonName,\n eventVar4: chapterNumber + 1,\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_DOWNLOAD_SUMMARY]: {\n type: 'SUMMARY_CHAPTERS_DOWNLOAD_SUMMARY',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Download,\n eventVar1: 'summary_chapters_download_summary',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CHAPTER_SHARE]: {\n type: 'SUMMARY_CHAPTERS_CHAPTER_SHARE',\n getEventModel: ({ chapterNumber }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Share,\n eventVar1: 'summary_chapters_share_chapter',\n eventVar3: chapterNumber + 1,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_DISPLAY_BEFORE_PLAYBACK]: {\n type: 'SUMMARY_CHAPTERS_DISPLAY_BEFORE_PLAYBACK',\n getEventModel: ({ displayBeforePlay }): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'summary_chapters_display_before_playback',\n eventVar2: PageLoadType.View,\n eventVar3: displayBeforePlay,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_ALLOW_DOWNLOAD_TOGGLED]: {\n type: 'SUMMARY_CHAPTERS_ALLOW_DOWNLOAD_TOGGLED',\n getEventModel: ({ allowDownload }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_allow_download_toggled',\n eventVar3: allowDownload,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_ALLOW_SHARE_CHAPTER_TOGGLED]: {\n type: 'SUMMARY_CHAPTERS_ALLOW_SHARE_CHAPTER_TOGGLED',\n getEventModel: ({ allowShareChapter }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_allow_share_chapter_toggled',\n eventVar3: allowShareChapter,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_PANEL_POSITION_CHANGED]: {\n type: 'SUMMARY_CHAPTERS_PANEL_POSITION_CHANGED',\n getEventModel: ({ panelPosition }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_panel_position_changed',\n eventVar3: panelPosition,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_EXPAND_MODE_CHANGED]: {\n type: 'SUMMARY_CHAPTERS_EXPAND_MODE_CHANGED',\n getEventModel: ({ expandMode }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_expand_mode_changed',\n eventVar3: expandMode,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_EXPAND_ON_FIRST_PLAY_TOGGLED]: {\n type: 'SUMMARY_CHAPTERS_EXPAND_ON_FIRST_PLAY_TOGGLED',\n getEventModel: ({ expandOnFirstPlay }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_expand_on_first_play_toggled',\n eventVar3: expandOnFirstPlay,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PlaykitUIEvents.USER_COPIED_DEBUG_INFO]: {\n type: 'USER_COPIED_DEBUG_INFO',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'copy_debug_info',\n eventVar3: '',\n applicationFeature: ApplicationFeature.DEBUG_INFO\n })\n },\n [PluginsEvents.AUDIO_PLAYER_VISUALIZATION_STATE]: {\n type: 'AUDIO_PLAYER_VISUALIZATION_STATE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.Analytics,\n eventVar1: 'audio_player_visualization_state',\n eventVar3: payload.state,\n eventVar4: payload.size,\n applicationFeature: ApplicationFeature.AUDIO_PLAYER\n })\n },\n [PluginsEvents.CPE_TRACKER_HOVER]: {\n type: 'CPE_TRACKER_HOVER',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar1: 'CPE_tracker_hover',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.CPE_TRACKER\n })\n },\n [PluginsEvents.BANNER_MESSAGE_DISPLAYS]: {\n type: 'BANNER_MESSAGE_DISPLAYS',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.Analytics,\n eventVar1: 'banner_message_displays',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.BANNER_OVERLAY\n })\n },\n [PluginsEvents.BANNER_MESSAGE_MANUALLY_DISMISSED]: {\n type: 'BANNER_MESSAGE_MANUALLY_DISMISSED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'banner_message_manually_dismissed',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.BANNER_OVERLAY\n })\n },\n [PlaykitUIEvents.DISPLAY_INFO_BEFORE_PLAYBACK]: {\n type: 'DISPLAY_INFO_BEFORE_PLAYBACK',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'display_info_before_playback',\n eventVar3: '',\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PluginsEvents.GENIE_OPEN_AUTO]: {\n type: 'GENIE_OPEN_AUTO',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'genie_open_auto',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.GENIE\n })\n },\n [PluginsEvents.GENIE_OPEN_MANUAL]: {\n type: 'GENIE_OPEN_MANUAL',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Open,\n eventVar1: 'genie_open_manual',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.GENIE\n })\n },\n [PluginsEvents.GENIE_CLOSE]: {\n type: 'GENIE_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'genie_close',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.GENIE\n })\n },\n [PluginsEvents.GENIE_NEW_THREAD]: {\n type: 'GENIE_NEW_THREAD',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Open,\n eventVar1: 'genie_new_thread',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.GENIE\n })\n },\n [PluginsEvents.VOD_COMPLETION_VIDEO_STARTED]: {\n type: 'VOD_COMPLETION_VIDEO_STARTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.CONTENT_MILESTONE,\n eventVar1: 'video_started',\n applicationFeature: ApplicationFeature.VOD_COMPLETION\n })\n },\n [PluginsEvents.VOD_COMPLETION_VIDEO_COMPLETED]: {\n type: 'VOD_COMPLETION_VIDEO_COMPLETED',\n getEventModel: ({ completionThreshold }: any): any => ({\n eventType: ApplicationEventType.CONTENT_MILESTONE,\n eventVar1: 'video_completed',\n eventVar2: completionThreshold,\n applicationFeature: ApplicationFeature.VOD_COMPLETION\n })\n },\n [PluginsEvents.POST_MESSAGE_BRIDGE_ACTIVE]: {\n type: 'POST_MESSAGE_BRIDGE_ACTIVE',\n getEventModel: ({ sendAllEvents, eventsToSend }: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'post_message_bridge_active',\n eventVar2: PageLoadType.View,\n eventVar3: sendAllEvents,\n eventVar4: eventsToSend,\n applicationFeature: ApplicationFeature.POST_MESSAGE_BRIDGE\n })\n }\n};\n","import { getEventModel } from './kava-event-model';\nimport { KavaEvent } from './types';\nimport { EventBucketName } from './enums/event-bucket-name';\nimport { getApplicationEventsModel } from './application-events-model';\n\n/**\n * The KAVA model that stores data.\n * @class KavaModel\n * @private\n * @param {?Object} - Initial model.\n */\nclass KavaModel {\n private sessionStartTime!: number;\n private eventIndex!: number;\n private errorPosition!: ErrorPosition;\n private playTimeSum!: number;\n private bufferTime!: number;\n private bufferTimeSum!: number;\n private language!: string;\n private caption!: string;\n private errorCode!: number;\n private errorDetails: any;\n private joinTime!: number;\n private canPlayTime!: number;\n private targetPosition!: number;\n private targetBuffer!: number;\n private registeredPlugins!: string;\n public totalSegmentsDownloadTime: number = 0;\n public totalSegmentsDownloadBytes: number = 0;\n public maxSegmentDownloadTime: number = 0;\n public maxManifestDownloadTime: number = 0;\n private forwardBufferHealth!: number;\n private droppedFramesRatio?: number | null = null;\n private soundMode!: SoundMode;\n private viewabilityMode!: ViewabilityMode;\n private tabMode!: TabMode;\n private screenMode: ScreenMode = ScreenMode.NOT_IN_FULLSCREEN;\n public maxNetworkConnectionOverhead: number = 0;\n private flavorParamsId: number = NaN;\n private networkConnectionType!: string;\n public playerJSLoadTime?: number | null = null;\n private shareNetworkName: string = '';\n private reportType: number = NaN;\n private playbackMode: number = NaN;\n private sourceEntryId: string | null = null;\n\n public getActualBitrate!: () => any;\n public getPlaybackSpeed!: () => any;\n public getAverageBitrate!: () => any;\n public getPartnerId!: () => any;\n public getEntryId!: () => any;\n public getPlaylistId!: () => any;\n public getSessionId!: () => any;\n public getClientVer!: () => any;\n public getClientTag!: () => any;\n public getKS!: () => any;\n public getVirtualEventId!: () => any;\n public getUIConfId!: () => any;\n public getReferrer!: () => any;\n public getCustomVar1!: () => any;\n public getCustomVar2!: () => any;\n public getCustomVar3!: () => any;\n public getPosition!: () => any;\n public getDeliveryType!: () => any;\n public getPlaybackType!: () => any;\n public getPlaybackContext!: () => any;\n public getApplication!: (playerEvent?: boolean) => any;\n public getKalturaApplicationVersion!: () => any;\n public getKalturaApplication!: () => any;\n public getUserId!: () => any;\n public getPersistentSessionId!: () => any;\n public getHostingKalturaApplication!: () => any;\n public getHostingKalturaApplicationVersion!: () => any;\n public getPlayerSkin!: () => any;\n public getV2ToV7Redirect!: () => any;\n public getNumFailedAnalyticReports!: () => number;\n public getLiveStreamType!: () => number | undefined;\n\n constructor(model?: object) {\n if (model) {\n this.updateModel(model);\n }\n }\n\n /**\n * Gets the total play time.\n * @returns {number} - The play time sum.\n * @memberof KavaModel\n * @instance\n */\n public getPlayTimeSum(): number {\n return this.playTimeSum;\n }\n\n public getCanPlayTime(): number {\n return this.canPlayTime;\n }\n\n /**\n * Gets the buffer time.\n * @returns {number} - The buffer time.\n * @memberof KavaModel\n * @instance\n */\n public getBufferTime(): number {\n return this.bufferTime;\n }\n\n /**\n * Gets the total buffer time.\n * @returns {number} - The total buffer time.\n * @memberof KavaModel\n * @instance\n */\n public getBufferTimeSum(): number {\n return this.bufferTimeSum;\n }\n\n /**\n * Gets the player bundle js load duration time\n * @returns {number} - The player js load duration time\n * @memberof KavaModel\n * @instance\n */\n public getPlayerJSLoadTime(): number | null {\n if (this.playerJSLoadTime) {\n return Math.round(this.playerJSLoadTime * 1000) / 1000;\n } else {\n return null;\n }\n }\n\n /**\n * Gets the join time.\n * @returns {number} - The join time.\n * @memberof KavaModel\n * @instance\n */\n public getJoinTime(): number {\n return this.joinTime;\n }\n\n /**\n * Gets a target position\n * @returns {number} - The target position.\n * @memberof KavaModel\n * @instance\n */\n public getTargetPosition(): number {\n return this.targetPosition;\n }\n\n /**\n * Gets the target buffer\n * @returns {number} - The target buffer in seconds.\n * @memberof KavaModel\n * @instance\n */\n public getTargetBuffer(): number {\n return this.targetBuffer;\n }\n\n /**\n * Gets registered plugins list\n * @returns {string} - The current list of loaded plugins\n * @memberof KavaModel\n * @instance\n */\n public getRegisteredPlugins(): string {\n return this.registeredPlugins;\n }\n\n /**\n * Gets an audio language.\n * @returns {string} - The audio language.\n * @memberof KavaModel\n * @instance\n */\n public getLanguage(): string {\n return this.language;\n }\n\n /**\n * Gets a caption language.\n * @returns {string} - The caption language.\n * @memberof KavaModel\n * @instance\n */\n public getCaption(): string {\n return this.caption;\n }\n\n /**\n * Gets the average bandwidth since last report.\n * @returns {number} - The bandwidth in kbps\n * @memberof KavaModel\n * @instance\n */\n public getBandwidth(): number {\n return this.totalSegmentsDownloadTime > 0 ? Math.round((this.totalSegmentsDownloadBytes * 8) / this.totalSegmentsDownloadTime) / 1000 : 0;\n }\n\n /**\n * Returns the longest manifest download time in seconds\n * @returns {number} - manifest max download time in seconds\n * @memberof KavaModel\n * @instance\n */\n public getMaxManifestDownloadTime(): number {\n return this.maxManifestDownloadTime;\n }\n\n /**\n * Returns the longest segment download time in seconds\n * @returns {number} - segment max download time in seconds\n * @memberof KavaModel\n * @instance\n */\n public getSegmentDownloadTime(): number {\n return this.maxSegmentDownloadTime;\n }\n\n /**\n * Gets the forward buffer health ratio.\n * @returns {number} - the ratio between the available buffer and the target buffer\n * @memberof KavaModel\n * @instance\n */\n public getForwardBufferHealth(): number {\n return this.forwardBufferHealth;\n }\n /**\n * Gets the dropped frames ratio since last view event.\n * @returns {number} - dropped frames ratio since last view event\n * @memberof KavaModel\n * @instance\n */\n public getDroppedFramesRatio(): number | null | undefined {\n return this.droppedFramesRatio;\n }\n\n /**\n * Gets the sound mode of the player.\n * @returns {SoundMode} the state of the sound (muted ot not)\n * @memberof KavaModel\n * @instance\n */\n public getSoundMode(): SoundMode {\n return this.soundMode;\n }\n\n /**\n * Gets the viewability mode of the player.\n * @returns {ViewabilityMode} the state of the view (in-view ot not)\n * @memberof KavaModel\n * @instance\n */\n public getViewabilityMode(): ViewabilityMode {\n return this.viewabilityMode;\n }\n\n /**\n * Gets the screen mode of the browser player.\n * @returns {number} the state of the full screen if is on or not.\n * @memberof KavaModel\n * @instance\n */\n public getScreenMode(): ScreenMode {\n return this.screenMode;\n }\n\n /**\n * Gets the Tab mode of the browser.\n * @returns {TabMode} the state of the tab (focused or not)\n * @memberof KavaModel\n * @instance\n */\n public getTabMode(): TabMode {\n return this.tabMode;\n }\n\n /**\n * Gets the effectiveType read-only property of the NetworkInformation interface (from navigator)\n * @returns {string} the effective type of the connection meaning one of 'slow-2g', '2g', '3g', or '4g'\n * @memberof KavaModel\n * @instance\n */\n public getNetworkConnectionType(): string {\n return this.networkConnectionType;\n }\n\n /**\n * Gets the max dns+ssl+tcp resolving time over all video segments\n * @returns {number} max dns+ssl+tcp in seconds\n * @memberof KavaModel\n * @instance\n */\n public getNetworkConnectionOverhead(): number {\n // convert ms to seconds in 0.xxx format\n return Math.round(this.maxNetworkConnectionOverhead) / 1000;\n }\n\n /**\n * Gets the error code.\n * @returns {number} - The error code.\n * @memberof KavaModel\n * @instance\n */\n public getErrorCode(): number {\n return this.errorCode;\n }\n\n /**\n * Gets the flavor id from ID3 tag in the packager\n * @returns {number} - The flavor id.\n * @memberof KavaModel\n * @instance\n */\n public getFlavorParamsId(): number {\n return this.flavorParamsId;\n }\n\n /**\n * Gets the error additional data.\n * @returns {string} - The stringifyed error data.\n * @memberof KavaModel\n * @instance\n */\n public getErrorDetails(): string {\n let retVal: string = '';\n if (this.errorDetails) {\n try {\n retVal = JSON.stringify(this.errorDetails);\n } catch (e) {\n // do nothing\n }\n }\n return retVal;\n }\n\n /**\n * Gets the event index counter.\n * @returns {number} - The event index counter.\n * @memberof KavaModel\n * @instance\n */\n public getEventIndex(): number {\n return this.eventIndex;\n }\n\n /**\n * Gets the error position (start or mid playing)\n * @returns {number} - The error position - 1 for pre playing, 2 for mid stream error\n * @memberof KavaModel\n * @instance\n */\n public getErrorPosition(): ErrorPosition {\n return this.errorPosition;\n }\n\n /**\n * Gets the session start time.\n * @returns {number} - The session start time.\n * @memberof KavaModel\n * @instance\n */\n public getSessionStartTime(): number {\n return this.sessionStartTime;\n }\n\n /**\n * Gets the share network name.\n * @returns {number} - The session start time.\n * @memberof KavaModel\n * @instance\n */\n public getShareNetworkName(): string {\n return this.shareNetworkName;\n }\n\n public getReportType(): number {\n return this.reportType;\n }\n\n public getPlaybackMode(): number {\n return this.playbackMode;\n }\n\n /**\n * Gets the source entry id - the entry id that the current part of a simulive entry was generated from.\n * @returns {string} - Source entry id.\n * @memberof KavaModel\n * @instance\n */\n public getSourceEntryId(): string | null {\n return this.sourceEntryId;\n }\n\n /**\n * Updates the model.\n * @param {Object} obj - A partial or full updated model.\n * @returns {void}\n * @memberof KavaModel\n * @instance\n */\n public updateModel(obj: object): void {\n Object.assign(this, obj);\n }\n\n /**\n * Gets the model for a certain event.\n * @param {KavaEvent} eventObj - The event object.\n * @param {EventBucketName} eventBucketName - The dashboard name in kava dashboards.\n * @param {any} eventPayload - The original player event payload.\n * @returns {Object} - The event model.\n * @memberof KavaModel\n * @instance\n */\n public getModel(eventObj: KavaEvent, eventBucketName: EventBucketName = EventBucketName.PlayerEvents, eventPayload?: any): any {\n switch (eventBucketName) {\n case EventBucketName.PlayerEvents:\n return getEventModel(eventObj, this);\n case EventBucketName.ApplicationEvents:\n return getApplicationEventsModel(eventObj, this, eventPayload);\n }\n }\n}\n\nenum SoundMode {\n SOUND_OFF = 1,\n SOUND_ON = 2\n}\n\nenum ViewabilityMode {\n NOT_IN_VIEW = 1,\n IN_VIEW = 2\n}\n\nenum TabMode {\n TAB_NOT_FOCUSED = 1,\n TAB_FOCUSED = 2\n}\n\nenum ScreenMode {\n NOT_IN_FULLSCREEN = 1,\n FULLSCREEN = 2\n}\n\nenum ErrorPosition {\n PRE_PLAY = 3,\n PRE_PLAYING = 1,\n MID_STREAM = 2\n}\n\nexport { KavaModel, SoundMode, TabMode, ErrorPosition, ScreenMode, ViewabilityMode };\n","import { KavaHttpMethodType } from '../types';\n\nconst HttpMethodType: KavaHttpMethodType = {\n GET: 'GET',\n POST: 'POST'\n};\n\nexport { HttpMethodType };\n","export enum Application {\n REELS = 'reels',\n AUDIO = 'audio',\n VIDEO = 'video'\n}\n","export enum PlayerSkin {\n PLAYER = 1,\n AUDIO = 2,\n REELS = 3\n}\n","/**\n * Logs failed events to browser's local storage\n * @param {any} error - The error that occurred\n * @param {KavaModel} model - The Kava model\n * @returns {void}\n */\nimport { KavaModel } from './kava-model';\nimport { LocalStorageManager } from '@playkit-js/kaltura-player-js';\n\nconst FAILED_LIVE_EVENT_KEY_PREFIX = 'FailedLiveEvent_';\nconst FAILED_LIVE_COUNTER_KEY_PREFIX = 'FailedLiveEventCounter_';\nexport const NUM_OF_LOGGED_FAILED_EVENTS: number = 100;\n\nexport class LogFailedLiveEvents {\n private logger: any;\n private numOfLoggedFailedEvents: any;\n constructor(logger: any, numOfLoggedFailedEvents: any) {\n this.logger = logger;\n this.numOfLoggedFailedEvents = numOfLoggedFailedEvents || NUM_OF_LOGGED_FAILED_EVENTS;\n }\n\n public logFailedLiveAnalyticsEventsToLocalStorage(error: any, model: KavaModel): void {\n // Get essential event info from model\n const eventType = model['eventType'] || 'unknown';\n const entryId = model['entryId'] || 'unknown';\n const sessionId = model['sessionId'] || 'unknown';\n const partnerId = model['partnerId'] || 'unknown';\n const position = model['position'] || 0;\n const errorDetails = model['errorDetails'] || null;\n const numOfLoggedFailedEvents = this.numOfLoggedFailedEvents;\n\n // Construct storage key\n const storageKey = `${FAILED_LIVE_EVENT_KEY_PREFIX}-${entryId}`;\n\n // Create the data object to store\n const dataToStore = {\n error: error,\n model: {\n // Store essential properties only to avoid localStorage size issues\n eventType,\n entryId,\n sessionId,\n partnerId,\n position,\n errorDetails\n }\n };\n\n //In case that we log error, add counter to the localstorage of how many failures\n const failureCountKey = this.getFailedCounterKey(entryId);\n try {\n const counter = LocalStorageManager.getItem(failureCountKey) || 0;\n LocalStorageManager.setItem(failureCountKey, counter + 1);\n this.appendNewFailedLiveEventToLocalStorage(dataToStore, storageKey, numOfLoggedFailedEvents);\n } catch (e) {\n this.logger.warn('Failed to store failed event in localStorage:', e);\n }\n }\n\n private appendNewFailedLiveEventToLocalStorage(data: any, storageKey: string, tailLength: number): void {\n //get the stored object from localStorage\n const storedObject = LocalStorageManager.getItem(storageKey);\n // If the stored object is not an array, initialize it\n let storedArray: any[] = storedObject ? storedObject : [];\n // Append the new data to the array\n storedArray.push({ date: new Date(), data });\n // If the array exceeds the tail length, remove the oldest items\n if (storedArray.length > tailLength) {\n storedArray = storedArray.slice(storedArray.length - tailLength);\n }\n // Store the updated array back to localStorage\n LocalStorageManager.setItem(storageKey, JSON.stringify(storedArray));\n }\n\n public getFailedCounterKey(entryId: string): string {\n return `${FAILED_LIVE_COUNTER_KEY_PREFIX}-${entryId}`;\n }\n\n public getNumFailedAnalyticReports(entryId: string): number {\n return parseInt(LocalStorageManager.getItem(this.getFailedCounterKey(entryId)) || 0);\n }\n}\n","import { BasePlugin, core, KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { FakeEvent, VideoTrack } from '@playkit-js/playkit-js';\nimport { OVPAnalyticsService } from '@playkit-js/playkit-js-providers/analytics-service';\nimport { KavaEventModel, KavaEventType } from './kava-event-model';\nimport { KavaRateHandler } from './kava-rate-handler';\nimport { KavaTimer } from './kava-timer';\nimport { ErrorPosition, KavaModel, ScreenMode, SoundMode, TabMode, ViewabilityMode } from './kava-model';\nimport { HttpMethodType } from './enums/http-method-type';\nimport { KalturaApplication } from './enums/kaltura-application';\nimport { KavaConfigObject, KavaEvent } from './types';\nimport { DownloadEvent, InfoEvent, ModerationEvent, RelatedEvent, ShareEvent } from './temp-imported-plugins-event-names-temp';\nimport { PluginsEvents, PlaykitUIEvents, KavaEvents } from './applications-events';\nimport { EventBucketName } from './enums/event-bucket-name';\nimport { ApplicationEventsModel, getApplicationEventsModel } from './application-events-model';\nimport { Application } from './enums/application';\nimport { PlayerSkin } from './enums/player-skin';\nimport { LogFailedLiveEvents, NUM_OF_LOGGED_FAILED_EVENTS } from './log-failed-live-events';\n\nconst { Error: PKError, Utils } = core;\nconst DIVIDER: number = 1024;\nconst TEXT_TYPE: string = 'TEXT';\n\n/**\n * Kaltura Advanced Analytics plugin.\n * @class Kava\n * @param {string} name - The plugin name.\n * @param {Player} player - The player instance.\n * @param {KavaConfigObject} config - The plugin config.\n */\nclass Kava extends BasePlugin {\n private _model: KavaModel;\n private _timer: KavaTimer;\n private _rateHandler: KavaRateHandler;\n private _viewEventEnabled: boolean;\n private _firstPlayRequestTime!: number;\n private _bufferStartTime!: number;\n private _previousCurrentTime!: number;\n private _isFirstPlay!: boolean;\n private _isFirstPlaying!: boolean;\n private _isEnded!: boolean;\n private _isPaused!: boolean;\n private _isBuffering!: boolean;\n private _isPlaying!: boolean;\n private _loadStartTime!: number;\n private _lastDroppedFrames: number = 0;\n private _lastTotalFrames: number = 0;\n private _performanceObserver!: PerformanceObserver;\n private _performanceEntries: PerformanceEntry[] = [];\n private _pendingFragLoadedUrls: string[] = [];\n private _fragLoadedFiredOnce: boolean = false;\n private _canPlayOccured: boolean = false;\n private _isManualPreload: boolean = false;\n private _lastViewEventPlayTime: number = -1;\n private _logFailedLiveEvents: LogFailedLiveEvents;\n\n /**\n * Default config of the plugin.\n * @type {Object}\n * @static\n * @memberof Kava\n */\n public static defaultConfig: any = {\n serviceUrl: `${Utils.Http.protocol}//analytics.kaltura.com/api_v3/index.php`,\n requestMethod: HttpMethodType.POST,\n viewEventCountdown: 10,\n resetSessionCountdown: 30,\n dvrThreshold: 120,\n playbackContext: '',\n application: '',\n kalturaApplicationVersion: '',\n kalturaApplication: 'PLAYER',\n hostingKalturaApplication: '',\n hostingKalturaApplicationVersion: '',\n numOfLoggedFailedEvents: NUM_OF_LOGGED_FAILED_EVENTS\n };\n\n /**\n * @static\n * @return {boolean} - Whether the plugin is valid in the current environment.\n * @memberof Kava\n */\n public static isValid(): boolean {\n return true;\n }\n\n constructor(name: string, player: KalturaPlayer, config: KavaConfigObject) {\n super(name, player, config);\n this._logFailedLiveEvents = new LogFailedLiveEvents(this.logger, config.numOfLoggedFailedEvents);\n this._rateHandler = new KavaRateHandler();\n this._model = new KavaModel();\n this._setModelDelegates();\n this._timer = new KavaTimer({\n resetCounter: this.config.resetSessionCountdown,\n eventCounter: this.config.viewEventCountdown\n });\n this._viewEventEnabled = true;\n this._resetFlags();\n this._addBindings();\n this._model.updateModel({\n eventIndex: 1,\n bufferTime: 0.0,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0\n });\n // check the Resource Timing API is supported in the browser and we have a uiConfId\n if (performance && this.config.uiConfId) {\n const entry = performance.getEntriesByType('resource').find((entry) => entry.name.match('embedPlaykitJs.*' + this.config.uiConfId));\n if (entry) {\n this._model.updateModel({ playerJSLoadTime: entry.duration });\n }\n }\n }\n\n private _updateSoundModeInModel(): void {\n this._model.updateModel({\n soundMode: this.player.muted || this.player.volume === 0 ? SoundMode.SOUND_OFF : SoundMode.SOUND_ON\n });\n }\n\n private _updateViewabilityModeInModel(isVisible: boolean): void {\n this._model.updateModel({\n viewabilityMode: isVisible || this.player.isInPictureInPicture() ? ViewabilityMode.IN_VIEW : ViewabilityMode.NOT_IN_VIEW\n });\n }\n\n private _handleNewPerformanceEntries(list: PerformanceObserverEntryList): void {\n const perfEntries = list.getEntries();\n for (let i = 0; i < perfEntries.length; i++) {\n this._performanceEntries.push(perfEntries[i]);\n }\n while (this._pendingFragLoadedUrls.length) {\n // handle frag loaded events which haven't been added to the entry list yet\n this._handleFragPerformanceObserver(this._pendingFragLoadedUrls.pop()!);\n }\n }\n\n /**\n * Destroys the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public destroy(): void {\n this.eventManager.destroy();\n this._reset();\n }\n\n private _reset(): void {\n this._timer.destroy();\n this._rateHandler.destroy();\n if (this._performanceObserver) {\n this._performanceObserver.disconnect();\n }\n this._performanceEntries = [];\n this._pendingFragLoadedUrls = [];\n }\n\n /**\n * Reset the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public reset(): void {\n this.eventManager.removeAll();\n this._resetFlags();\n this._addBindings();\n this._model.updateModel({\n eventIndex: 1,\n bufferTime: 0.0,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0,\n sessionStartTime: null\n });\n this._reset();\n }\n\n /**\n * loadMedia of the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public loadMedia(): void {\n if (window.PerformanceObserver) {\n this._performanceObserver = new window.PerformanceObserver(this._handleNewPerformanceEntries.bind(this));\n this._performanceObserver.observe({ entryTypes: ['resource'] });\n }\n }\n\n /**\n * Gets the model object for a certain event.\n * @param {string} event - Event name.\n * @returns {Object} - Model object.\n * @instance\n * @memberof Kava\n * @example\n * const kava = player.plugins.kava;\n * const viewModel = kava.getEventModel(kava.EventType.VIEW);\n * kava.sendAnalytics(viewModel);\n */\n public getEventModel(event: string): any {\n if (event) {\n return this._model.getModel(KavaEventModel[event]);\n }\n }\n\n /**\n * @returns {KavaEventType} - The kava events list.\n * @instance\n * @memberof Kava\n */\n public get EventType(): { [event: string]: string } {\n return Utils.Object.copyDeep(KavaEventType);\n }\n\n /**\n * Sends KAVA analytics event to analytics service.\n * @param {Object} model - Event model.\n * @returns {Promise} - Promise to indicate request succeed or failed.\n * @instance\n * @memberof Kava\n * @example\n * player.plugins.kava.sendAnalytics({...})\n * .then(() => {\n * console.log('kava analytics sent successfully');\n * })\n * .catch(e => {\n * console.log('kava analytics send failed', e);\n * });\n */\n public sendAnalytics(model: any): Promise<void> {\n return new Promise((resolve, reject) => {\n OVPAnalyticsService.trackEvent(this.config.serviceUrl, model, this.config.requestMethod)\n .doHttpRequest()\n .then(\n (response) => {\n this._handleServerResponseSuccess(response, model);\n resolve();\n },\n (err) => {\n this._handleServerResponseFailed(err, model);\n reject(err);\n }\n );\n this._model.updateModel({ eventIndex: this._model.getEventIndex() + 1 });\n });\n }\n\n private _resetFlags(): void {\n this._previousCurrentTime = 0;\n this._lastViewEventPlayTime = -1;\n this._isPlaying = false;\n this._isFirstPlay = true;\n this._isFirstPlaying = true;\n this._isEnded = false;\n this._isPaused = false;\n this._isBuffering = false;\n this._canPlayOccured = false;\n this._isManualPreload = false;\n }\n\n private _resetSession(): void {\n this.logger.debug('Reset KAVA session');\n this._rateHandler.reset();\n this._model.updateModel({\n eventIndex: 1,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0\n });\n }\n\n private _sendAnalytics(eventObj: KavaEvent, eventBucketName: EventBucketName = EventBucketName.PlayerEvents, eventPayload?: any): void {\n if (!this._validate()) {\n return;\n }\n if (this._isBuffering) {\n this._updateBufferModel();\n this._bufferStartTime = Date.now();\n }\n const model = this._model.getModel(eventObj, eventBucketName, eventPayload);\n if (typeof this.config.tamperAnalyticsHandler === 'function') {\n const sendRequest = this.config.tamperAnalyticsHandler(model);\n if (!sendRequest) {\n this.logger.debug('Cancel KAVA request', model);\n return;\n }\n }\n\n this.logger.debug(`Sending KAVA event ${model.eventType}:${eventObj.type}`);\n this.sendAnalytics(model).catch(() => {});\n }\n\n private shouldLogLiveAnalyticsFailures(): boolean {\n return this.config?.logLiveAnalyticsFailures && this.player?.isLive();\n }\n\n private _handleServerResponseSuccess(response: any, model: any): void {\n this.logger.debug('KAVA event sent', model);\n const event: Partial<FakeEvent> = {\n type: KavaEvents.KAVA_REQUEST_SUCCEEDED,\n payload: { response, model }\n };\n this.player.dispatchEvent(event as FakeEvent);\n this._updateSessionStartTimeModel(response);\n }\n\n private _handleServerResponseFailed(err: any, model: any): void {\n if (this.shouldLogLiveAnalyticsFailures()) {\n this._logFailedLiveEvents.logFailedLiveAnalyticsEventsToLocalStorage(err, model);\n }\n this.logger.warn('Failed to send KAVA event', model, err);\n const event: Partial<FakeEvent> = {\n type: KavaEvents.KAVA_REQUEST_FAILED,\n payload: { error: err, model }\n };\n this.player.dispatchEvent(event as FakeEvent);\n }\n\n private _addBindings(): void {\n this.eventManager.listen(this._timer, KavaTimer.Event.TICK, () => this._rateHandler.countCurrent());\n this.eventManager.listen(this._timer, KavaTimer.Event.REPORT, () => this._onReport());\n this.eventManager.listen(this._timer, KavaTimer.Event.RESET, () => this._resetSession());\n this.eventManager.listen(this.player, this.player.Event.Core.SOURCE_SELECTED, () => this._onSourceSelected());\n this.eventManager.listen(this.player, this.player.Event.Core.ERROR, (event) => this._onError(event));\n this.eventManager.listen(this.player, this.player.Event.Core.FIRST_PLAY, () => this._onFirstPlay());\n this.eventManager.listen(this.player, this.player.Event.Core.FRAG_LOADED, (event) => this._onFragLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.MANIFEST_LOADED, (event) => this._onManifestLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TIMED_METADATA, (event) => this._onTimedMetadataLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TRACKS_CHANGED, () => this._setInitialTracks());\n this.eventManager.listen(this.player, this.player.Event.Core.PLAYING, () => this._onPlaying());\n this.eventManager.listen(this.player, this.player.Event.Core.FIRST_PLAYING, () => this._onFirstPlaying());\n this.eventManager.listen(this.player, this.player.Event.Core.SEEKING, () => this._onSeeking());\n this.eventManager.listen(this.player, this.player.Event.Core.PAUSE, () => this._onPause());\n this.eventManager.listen(this.player, this.player.Event.Core.ENDED, () => this._onEnded());\n this.eventManager.listen(this.player, this.player.Event.Core.VIDEO_TRACK_CHANGED, (event) => this._onVideoTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.AUDIO_TRACK_CHANGED, (event) => this._onAudioTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TEXT_TRACK_CHANGED, (event) => this._onTextTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.PLAYER_STATE_CHANGED, (event) => this._onPlayerStateChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.RATE_CHANGE, () => this._onPlaybackRateChanged());\n this.eventManager.listen(this.player, this.player.Event.Core.CAN_PLAY, () => this._onCanPlay());\n this.eventManager.listen(this.player, this.player.Event.Core.LOAD_START, () => this._onLoadStart());\n this.eventManager.listen(this.player, this.player.Event.Core.VOLUME_CHANGE, () => this._updateSoundModeInModel());\n this.eventManager.listen(this.player, this.player.Event.VISIBILITY_CHANGE, (e) => this._updateViewabilityModeInModel(e.payload.visible));\n this.eventManager.listen(this.player, this.player.Event.Core.MUTE_CHANGE, () => this._updateSoundModeInModel());\n this.eventManager.listen(this.player, this.player.Event.Core.ENTER_FULLSCREEN, () => this._onFullScreenChanged(ScreenMode.FULLSCREEN));\n this.eventManager.listen(this.player, this.player.Event.Core.EXIT_FULLSCREEN, () => this._onFullScreenChanged(ScreenMode.NOT_IN_FULLSCREEN));\n this.eventManager.listen(this.player, RelatedEvent.RELATED_OPEN, () => this._onRelatedClicked());\n this.eventManager.listen(this.player, RelatedEvent.RELATED_SELECTED, () => this._onRelatedSelected());\n this.eventManager.listen(this.player, ShareEvent.SHARE_CLICKED, () => this._onShareClicked());\n this.eventManager.listen(this.player, ShareEvent.SHARE_NETWORK, (event) => this._onShareNetworkClicked(event));\n this.eventManager.listen(this.player, DownloadEvent.DOWNLOAD_ITEM_CLICKED, () => this._onDownloadItemClicked());\n this.eventManager.listen(this.player, InfoEvent.INFO_SCREEN_OPEN, () => this._onInfoScreenOpened());\n this.eventManager.listen(this.player, ModerationEvent.REPORT_CLICKED, () => this._onReportClicked());\n this.eventManager.listen(this.player, ModerationEvent.REPORT_SUBMITTED, (event) => this._onReportSubmitted(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_25_PERCENT, (event) => this._onPlayerReached(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_50_PERCENT, (event) => this._onPlayerReached(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_75_PERCENT, (event) => this._onPlayerReached(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_90_PERCENT, (event) => this._onPlayerReached(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_100_PERCENT, (event) => this._onPlayerReached(event));\n this._bindApplicationEvents();\n this._bindPlaykitUIEvents();\n this._initTabMode();\n this._initNetworkConnectionType();\n }\n\n private _bindPlaykitUIEvents(): void {\n Object.values(PlaykitUIEvents).forEach((event) => {\n this.eventManager.listen(this.player, event, (e: FakeEvent) => {\n if (e.type in ApplicationEventsModel) {\n if (this._isApplicationEventValid(e)) {\n this._sendAnalytics(ApplicationEventsModel[e.type], EventBucketName.ApplicationEvents, e.payload);\n }\n }\n });\n });\n }\n\n private _bindApplicationEvents(): void {\n Object.values(PluginsEvents).forEach((event) => {\n this.eventManager.listen(this.player, event, (e: FakeEvent) => {\n if (e.type in ApplicationEventsModel) {\n if (this._isApplicationEventValid(e)) {\n this._sendAnalytics(ApplicationEventsModel[e.type], EventBucketName.ApplicationEvents, e.payload);\n }\n }\n });\n });\n }\n\n private _onFirstPlaying(): void {\n this._isPlaying = true;\n if (!this._fragLoadedFiredOnce && this._performanceObserver) {\n this._performanceObserver.disconnect();\n this.logger.debug(\"This adapter / media doesn't fire fragLoaded - disconnect performance observer\");\n }\n }\n\n private _onLoadStart(): void {\n this._loadStartTime = Date.now();\n }\n\n private _getRates(): Array<number> {\n const rates: number[] = [];\n const videoTracks: VideoTrack[] = this.player.getTracks(this.player.Track.VIDEO) as unknown as VideoTrack[];\n videoTracks.forEach((videoTrack) => rates.push(videoTrack.bandwidth / DIVIDER));\n return rates;\n }\n\n private _setInitialTracks(): void {\n const rates = this._getRates();\n const activeTracks = this.player.getActiveTracks();\n this._rateHandler.setRates(rates);\n if (activeTracks.video) {\n this._rateHandler.setCurrent(activeTracks.video.bandwidth / DIVIDER);\n }\n if (activeTracks.audio) {\n this._model.updateModel({ language: activeTracks.audio.language });\n }\n if (activeTracks.text) {\n this._model.updateModel({ caption: activeTracks.text.language });\n }\n }\n\n /**\n * gets the available buffer length\n * @returns {number} the remaining buffer length of the current played time range\n * @private\n */\n private _getAvailableBuffer(): number {\n let availableBuffer = NaN;\n if (this.player.stats) {\n availableBuffer = this.player.stats.availableBuffer;\n }\n return availableBuffer;\n }\n\n /**\n * calculates the forward buffer health ratio\n * @returns {number} the ratio between available buffer and the target buffer\n * @private\n */\n private _getForwardBufferHealth(): number {\n let forwardBufferHealth = NaN;\n const availableBuffer = this._getAvailableBuffer();\n const targetBuffer = this._getTargetBuffer();\n\n if (!isNaN(targetBuffer)) {\n // considering playback left to the target calculation\n forwardBufferHealth = Math.round((availableBuffer * 1000) / targetBuffer) / 1000;\n }\n\n return forwardBufferHealth;\n }\n\n /**\n * get the target buffer length from the player\n * @returns {number} the target buffer in seconds\n * @private\n */\n private _getTargetBuffer(): number {\n let targetBuffer = NaN;\n if (this.player.stats) {\n targetBuffer = this.player.stats.targetBuffer;\n }\n return targetBuffer;\n }\n\n /**\n * calculates the dropped frames ratio since last call\n * @returns {number} the ratio between dropped frames and the total frames\n * @private\n */\n private _getDroppedFramesRatio(): number {\n let droppedFrames = -1;\n const droppedAndDecoded: [number, number] | null = this._getDroppedAndDecodedFrames();\n if (droppedAndDecoded) {\n const lastDroppedFrames = droppedAndDecoded[0];\n const lastTotalFrames = droppedAndDecoded[1];\n const droppedFramesDelta = lastDroppedFrames - this._lastDroppedFrames;\n const totalFramesDelta = lastTotalFrames - this._lastTotalFrames;\n droppedFrames = totalFramesDelta ? Math.round((droppedFramesDelta / totalFramesDelta) * 1000) / 1000 : 0;\n\n this._lastTotalFrames = lastTotalFrames;\n this._lastDroppedFrames = lastDroppedFrames;\n }\n return droppedFrames;\n }\n\n /**\n * returns dropped and total frames from the VideoPlaybackQuality Interface of the browser (if supported)\n * @returns {number} {number} the number of video frames dropped and total video frames (created and dropped)\n * since the creation of the associated HTMLVideoElement\n * @private\n */\n private _getDroppedAndDecodedFrames(): [number, number] | null {\n if (typeof this.player.getVideoElement()!.getVideoPlaybackQuality === 'function') {\n const videoPlaybackQuality = this.player.getVideoElement()!.getVideoPlaybackQuality();\n return [videoPlaybackQuality.droppedVideoFrames, videoPlaybackQuality.totalVideoFrames];\n } else if (\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n typeof this.player.getVideoElement().webkitDroppedFrameCount === 'number' &&\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n typeof this.player.getVideoElement().webkitDecodedFrameCount === 'number'\n ) {\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n return [this.player.getVideoElement().webkitDroppedFrameCount, this.player.getVideoElement().webkitDecodedFrameCount];\n } else {\n return null;\n }\n }\n\n private _onReport(): void {\n if (this._viewEventEnabled) {\n this._updatePlayTimeSumModel();\n this._model.updateModel({\n forwardBufferHealth: this._getForwardBufferHealth(),\n targetBuffer: this._getTargetBuffer(),\n droppedFramesRatio: this._getDroppedFramesRatio()\n });\n if (this._lastViewEventPlayTime !== this._model.getPlayTimeSum()) {\n this._lastViewEventPlayTime = this._model.getPlayTimeSum();\n this._sendAnalytics(KavaEventModel.VIEW);\n } else {\n this.logger.warn(`VIEW event blocked because view event with same time already sent: ${this._lastViewEventPlayTime}`);\n }\n } else {\n this.logger.warn('VIEW event blocked because server response of viewEventsEnabled=false');\n }\n this._model.updateModel({\n totalSegmentsDownloadTime: 0,\n totalSegmentsDownloadBytes: 0,\n maxManifestDownloadTime: 0,\n maxSegmentDownloadTime: 0,\n maxNetworkConnectionOverhead: 0,\n bufferTime: 0\n });\n }\n\n private _updateNetworkConnectionTypeinModel(navConnection: any): void {\n this._model.updateModel({\n networkConnectionType: navConnection.effectiveType\n });\n }\n\n private _initNetworkConnectionType(): void {\n // @ts-expect-error - Property 'webkitConnection' does not exist on type 'Navigator'\n const navConnection = window.navigator.connection || window.navigator.mozConnection || window.navigator.webkitConnection;\n\n if (navConnection) {\n this.eventManager.listen(navConnection, 'change', () => this._updateNetworkConnectionTypeinModel(navConnection));\n this._updateNetworkConnectionTypeinModel(navConnection);\n }\n }\n\n private _onPlaying(): void {\n if (this._isFirstPlaying) {\n this._updateSoundModeInModel();\n this._updateViewabilityModeInModel(this.player.isVisible);\n if (!this.player.isUntimedImg()) this._timer.start();\n this._isFirstPlaying = false;\n const playRequestStartTime =\n this.player.config.playback.preload === 'auto' || this._isManualPreload ? this._firstPlayRequestTime : this._loadStartTime;\n this._model.updateModel({\n joinTime: Kava._getTimeDifferenceInSeconds(playRequestStartTime)\n });\n this._sendAnalytics(KavaEventModel.PLAY);\n this._onReport();\n } else if (this._isEnded) {\n this._timer.start();\n this._isEnded = false;\n this._sendAnalytics(KavaEventModel.REPLAY);\n } else if (this._isPaused) {\n this._timer.resume();\n this._isPaused = false;\n this._sendAnalytics(KavaEventModel.RESUME);\n }\n }\n\n private _onCanPlay(): void {\n this._canPlayOccured = true;\n this._model.updateModel({\n canPlayTime: Kava._getTimeDifferenceInSeconds(this._loadStartTime)\n });\n }\n\n private _onFirstPlay(): void {\n if (this._canPlayOccured) {\n this._isManualPreload = true;\n }\n this._isFirstPlay = false;\n this._firstPlayRequestTime = Date.now();\n this._sendAnalytics(KavaEventModel.PLAY_REQUEST);\n }\n\n private _onSourceSelected(): void {\n const plugins = Object.values(this.player.plugins).map((plugin: any) => plugin.name);\n this._model.updateModel({ registeredPlugins: plugins.join(',') });\n\n this._sendAnalytics(KavaEventModel.IMPRESSION);\n\n if (!(this.player.isImage() || this.player.isLive())) {\n this.eventManager.listen(this.player, this.player.Event.Core.TIME_UPDATE, () => this._onTimeUpdate());\n }\n }\n\n private _onSeeking(): void {\n this._previousCurrentTime = this.player.currentTime!;\n this._model.updateModel({ targetPosition: this.player.currentTime! });\n this._sendAnalytics(KavaEventModel.SEEK);\n }\n\n private _onPause(): void {\n this._isPaused = true;\n this._timer.stop();\n this._sendAnalytics(KavaEventModel.PAUSE);\n }\n\n private _onEnded(): void {\n this._isEnded = true;\n this._onTimeUpdate();\n this._model.updateModel({ bufferTime: 0 });\n }\n\n private _onTimeUpdate(): void {\n this._updatePlayTimeSumModel();\n }\n\n private _onPlayerReached(event: FakeEvent): void {\n if (event.type === this.player.Event.Core.PLAY_REACHED_25_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_25_PERCENT);\n } else if (event.type === this.player.Event.Core.PLAY_REACHED_50_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_50_PERCENT);\n } else if (event.type === this.player.Event.Core.PLAY_REACHED_75_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_75_PERCENT);\n } else if (event.type === this.player.Event.Core.PLAY_REACHED_90_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_90_PERCENT);\n } else if (event.type === this.player.Event.Core.PLAY_REACHED_100_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_100_PERCENT);\n }\n }\n\n private _onFragLoaded(event: FakeEvent): void {\n if (!this._fragLoadedFiredOnce) {\n this._fragLoadedFiredOnce = true;\n }\n this._updateFragLoadedStats(event);\n if (this._performanceObserver) {\n const succHandle = this._handleFragPerformanceObserver(event.payload.url);\n if (!succHandle) {\n this._pendingFragLoadedUrls.push(event.payload.url);\n }\n }\n }\n\n private _handleFragPerformanceObserver(url: string): boolean {\n const fragResourceTimings = this._performanceEntries.filter((entry) => entry.name === url);\n const lastFragResourceTiming: any =\n fragResourceTimings && fragResourceTimings.length ? fragResourceTimings[fragResourceTimings.length - 1] : null;\n if (lastFragResourceTiming) {\n this._updateMaxNetworkConnectionOverhead(lastFragResourceTiming.connectEnd - lastFragResourceTiming.domainLookupStart);\n const lastIndexOftheFragment: number = this._performanceEntries.indexOf(lastFragResourceTiming);\n if (lastIndexOftheFragment > -1 && lastIndexOftheFragment < this._performanceEntries.length) {\n this._performanceEntries = this._performanceEntries.splice(\n lastIndexOftheFragment + 1,\n this._performanceEntries.length - (lastIndexOftheFragment + 1)\n );\n }\n return true;\n } else {\n return false;\n }\n }\n\n private _updateMaxNetworkConnectionOverhead(networkConnectionOverhead: number): void {\n this._model.updateModel({\n maxNetworkConnectionOverhead: Math.max(this._model.maxNetworkConnectionOverhead, networkConnectionOverhead)\n });\n }\n\n private _updateFragLoadedStats(event: FakeEvent): void {\n const seconds = Math.round(event.payload.miliSeconds) / 1000;\n this._model.updateModel({\n totalSegmentsDownloadTime: this._model.totalSegmentsDownloadTime + seconds,\n totalSegmentsDownloadBytes: this._model.totalSegmentsDownloadBytes + event.payload.bytes,\n maxSegmentDownloadTime: Math.max(seconds, this._model.maxSegmentDownloadTime)\n });\n }\n\n private _onManifestLoaded(event: FakeEvent): void {\n const seconds = Math.round(event.payload.miliSeconds) / 1000;\n this._model.updateModel({\n maxManifestDownloadTime: Math.max(seconds, this._model.maxManifestDownloadTime)\n });\n }\n\n private _onTimedMetadataLoaded(event: FakeEvent): void {\n const id3TagCues = event.payload.cues.filter((entry) => entry.value && entry.value.key === TEXT_TYPE);\n if (id3TagCues.length) {\n try {\n const data = JSON.parse(id3TagCues[id3TagCues.length - 1].value.data);\n this._model.updateModel({ flavorParamsId: Number(data.sequenceId) });\n\n if (data.clipId) {\n const [partType, entryId] = data.clipId.split('-');\n\n switch (partType) {\n case 'preStartContent': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 1 });\n break;\n }\n case 'content': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 2 });\n break;\n }\n case 'postEntryContent': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 3 });\n break;\n }\n default:\n break;\n }\n }\n } catch (e) {\n this.logger.debug('error parsing id3', e);\n }\n }\n }\n\n private _onVideoTrackChanged(event: FakeEvent): void {\n const videoTrack = event.payload.selectedVideoTrack;\n this._rateHandler.setCurrent(videoTrack.bandwidth / DIVIDER);\n if (this.player.isAdaptiveBitrateEnabled()) {\n this._sendAnalytics(KavaEventModel.FLAVOR_SWITCH);\n } else {\n this._sendAnalytics(KavaEventModel.SOURCE_SELECTED);\n }\n }\n\n private _onAudioTrackChanged(event: FakeEvent): void {\n const audioTrack = event.payload.selectedAudioTrack;\n this._model.updateModel({ language: audioTrack.language });\n this._sendAnalytics(KavaEventModel.AUDIO_SELECTED);\n }\n\n private _onTextTrackChanged(event: FakeEvent): void {\n if (this._isPlaying) {\n const textTrack = event.payload.selectedTextTrack;\n this._model.updateModel({ caption: textTrack.language });\n this._sendAnalytics(KavaEventModel.CAPTIONS);\n }\n }\n\n private _onError(event: FakeEvent): void {\n if (event.payload && event.payload.severity === PKError.Severity.CRITICAL) {\n this._model.updateModel({\n errorCode: event.payload.code,\n errorDetails: event.payload.data,\n errorPosition: this._isFirstPlay ? ErrorPosition.PRE_PLAY : this._isFirstPlaying ? ErrorPosition.PRE_PLAYING : ErrorPosition.MID_STREAM\n });\n this._sendAnalytics(KavaEventModel.ERROR);\n this.reset();\n }\n }\n\n private _onPlaybackRateChanged(): void {\n if (!this.player.playbackRates.length || this.player.playbackRates.includes(this.player.playbackRate!)) {\n this._sendAnalytics(KavaEventModel.SPEED);\n }\n }\n\n private _onPlayerStateChanged(event: FakeEvent): void {\n const oldState = event.payload.oldState;\n const newState = event.payload.newState;\n if (oldState.type === this.player.State.BUFFERING) {\n this._isBuffering = false;\n this._updateBufferModel();\n this._sendAnalytics(KavaEventModel.BUFFER_END);\n }\n if (newState.type === this.player.State.BUFFERING) {\n this._isBuffering = true;\n this._bufferStartTime = Date.now();\n this._sendAnalytics(KavaEventModel.BUFFER_START);\n }\n }\n\n private _onRelatedClicked(): void {\n this._sendAnalytics(KavaEventModel.RELATED_OPEN);\n }\n\n private _onRelatedSelected(): void {\n this._sendAnalytics(KavaEventModel.RELATED_SELECTED);\n }\n\n private _onShareClicked(): void {\n this._sendAnalytics(KavaEventModel.SHARE_CLICKED);\n }\n\n private _onShareNetworkClicked(event: FakeEvent): void {\n const shareNetworkName = event.payload.shareNetworkName;\n if (shareNetworkName) {\n this._model.updateModel({ shareNetworkName: shareNetworkName });\n this._sendAnalytics(KavaEventModel.SHARE_NETWORK);\n }\n }\n\n private _onReportSubmitted(event: FakeEvent): void {\n const reportType = event.payload.reportType;\n if (reportType) {\n this._model.updateModel({ reportType });\n this._sendAnalytics(KavaEventModel.REPORT_SUBMITTED);\n }\n }\n\n private _onReportClicked(): void {\n this._sendAnalytics(KavaEventModel.REPORT_CLICKED);\n }\n\n private _onInfoScreenOpened(): void {\n this._sendAnalytics(KavaEventModel.INFO);\n }\n\n private _onDownloadItemClicked(): void {\n this._sendAnalytics(KavaEventModel.DOWNLOAD);\n }\n\n private _onFullScreenChanged(screenMode: number): void {\n this._model.updateModel({ screenMode: screenMode });\n this._sendAnalytics(screenMode === ScreenMode.FULLSCREEN ? KavaEventModel.ENTER_FULLSCREEN : KavaEventModel.EXIT_FULLSCREEN);\n }\n\n private _updateSessionStartTimeModel(response: any | number): void {\n if (!this._model.getSessionStartTime() && response) {\n if (typeof response === 'object') {\n this._model.updateModel({ sessionStartTime: response.time });\n this._viewEventEnabled = response.viewEventsEnabled;\n } else {\n this._model.updateModel({ sessionStartTime: response });\n }\n }\n if (this._timer.isStopped()) {\n this._model.updateModel({ sessionStartTime: null });\n }\n }\n\n private _updateBufferModel(): void {\n const duration = Kava._getTimeDifferenceInSeconds(this._bufferStartTime);\n this._model.updateModel({\n bufferTime: this._model.getBufferTime() + duration,\n bufferTimeSum: this._model.getBufferTimeSum() + duration\n });\n }\n\n private _updatePlayTimeSumModel(): void {\n let delta;\n if (this.player.isLive()) {\n delta = this.config.viewEventCountdown - this._model.getBufferTime();\n } else {\n delta = this.player.currentTime! - this._previousCurrentTime;\n this._previousCurrentTime = this.player.currentTime!;\n }\n this._model.updateModel({ playTimeSum: this._model.getPlayTimeSum() + delta });\n }\n\n private _setModelDelegates(): void {\n this._model.getPlaybackSpeed = (): number | null => this.player.playbackRate;\n this._model.getActualBitrate = (): number => this._rateHandler.getCurrent();\n this._model.getAverageBitrate = (): number => this._rateHandler.getAverage();\n this._model.getPartnerId = (): number => this.config.partnerId;\n this._model.getEntryId = (): string => this.config.entryId;\n this._model.getPlaylistId = (): string => this.config.playlistId;\n this._model.getSessionId = (): string => this.config.sessionId;\n this._model.getPersistentSessionId = (): string => this.config.persistentSessionId;\n this._model.getClientVer = (): string => this.config.playerVersion;\n this._model.getClientTag = (): string => 'html5:v' + this.config.playerVersion;\n this._model.getKS = (): string => this.config.ks;\n this._model.getVirtualEventId = (): string => this.config.virtualEventId;\n this._model.getUIConfId = (): string => this.config.uiConfId;\n this._model.getReferrer = (): string => this.config.referrer;\n this._model.getCustomVar1 = (): string => this.config.customVar1;\n this._model.getCustomVar2 = (): string => this.config.customVar2;\n this._model.getCustomVar3 = (): string => this.config.customVar3;\n this._model.getPosition = (): number => this._getPosition();\n this._model.getDeliveryType = (): string => this._getDeliveryType();\n this._model.getPlaybackType = (): string => this._getPlaybackType();\n this._model.getPlaybackContext = (): string => this.config.playbackContext;\n this._model.getApplication = (playerEvent?: boolean): string => this._getApplication(playerEvent);\n this._model.getKalturaApplicationVersion = (): string => this.config.kalturaApplicationVersion;\n this._model.getKalturaApplication = (): string => this._getKalturaApplicationId(this.config.kalturaApplication);\n this._model.getUserId = (): string => this.config.userId;\n this._model.getHostingKalturaApplication = (): string => this.config.application;\n this._model.getHostingKalturaApplicationVersion = (): string => this.config.applicationVersion;\n this._model.getPlayerSkin = (): number => this._getPlayerSkin();\n this._model.getV2ToV7Redirect = (): boolean => this.player.isV2ToV7Redirected;\n this._model.getNumFailedAnalyticReports = (): number => this._logFailedLiveEvents.getNumFailedAnalyticReports(this.config.entryId);\n this._model.getLiveStreamType = (): number | undefined => this._getLiveStreamType();\n }\n\n private _getApplication(playerEvent = true): string {\n // for player event, we want to return the application value from the configuration\n // otherwise (i.e. application event), we want to return the player type\n return playerEvent ? this.config.application : this._getPlayerType();\n }\n\n private _getPlayerType(): Application {\n if (this.player.plugins.reels !== undefined) {\n return Application.REELS;\n } else if (this.player.plugins.audioPlayer !== undefined) {\n return Application.AUDIO;\n } else {\n return Application.VIDEO;\n }\n }\n\n private _getPlayerSkin(): PlayerSkin {\n if (this.player.plugins.reels !== undefined) {\n return PlayerSkin.REELS;\n } else if (this.player.plugins.audioPlayer !== undefined) {\n return PlayerSkin.AUDIO;\n } else {\n return PlayerSkin.PLAYER;\n }\n }\n\n private _getKalturaApplicationId(kalturaAppName: string): string {\n if (kalturaAppName in KalturaApplication) {\n return KalturaApplication[kalturaAppName];\n } else {\n this.logger.warn('Kava analytics - unknon kalturaAppName: ' + kalturaAppName);\n return '';\n }\n }\n\n private _getPosition(): number {\n if (this.player.isLive()) {\n if (!Number.isNaN(this.player.duration)) {\n if (this.player.duration! - this.player.currentTime! < 1) {\n return 0;\n }\n return -(this.player.duration! - this.player.currentTime!);\n }\n return 0;\n }\n let currentTime = this.player.currentTime;\n if (typeof this.player.sources.seekFrom === 'number' && currentTime) {\n currentTime += this.player.sources.seekFrom;\n }\n return this._isFirstPlaying ? currentTime! || this.player.sources.startTime || 0 : currentTime!;\n }\n\n private _getDeliveryType(): string {\n if (this.player.streamType === this.player.StreamType.PROGRESSIVE) {\n return 'url';\n }\n return this.player.streamType;\n }\n\n private _getPlaybackType(): string {\n if (this.player.isLive()) {\n if (this.player.isDvr()) {\n const distanceFromLiveEdge = this.player.duration! - this.player.currentTime!;\n if (distanceFromLiveEdge >= this.config.dvrThreshold) {\n return 'dvr';\n }\n }\n return 'live';\n }\n return 'vod';\n }\n\n private _validate(): boolean {\n if (!this.config.partnerId) {\n this._logMissingParam('partnerId');\n return false;\n }\n if (!this.config.entryId) {\n this._logMissingParam('entryId');\n return false;\n }\n return true;\n }\n\n private _isApplicationEventValid(event: FakeEvent): boolean {\n const model = getApplicationEventsModel(ApplicationEventsModel[event.type], this._model, event.payload);\n return !!model.buttonName || !!model.pageName || !!model.eventName;\n }\n\n private _logMissingParam(missingParam: string): void {\n this.logger.warn(`Kava analytics block report because of missing param ${missingParam}`);\n }\n\n private static _getTimeDifferenceInSeconds(time: number): number {\n return (Date.now() - time) / 1000.0;\n }\n\n private _updateTabModeInModel(hiddenAttr: string): void {\n this._model.updateModel({\n // $FlowFixMe\n tabMode: this._isTabHidden(hiddenAttr) && !this.player.isInPictureInPicture() ? TabMode.TAB_NOT_FOCUSED : TabMode.TAB_FOCUSED\n });\n }\n\n private _getLiveStreamType(): number | undefined {\n if (!this.player.isLive()) {\n return undefined;\n }\n const stValue = (this.player as any).getLiveEntryStValue?.();\n // '0' = primary stream, '1' = backup stream\n if (stValue === '0') return 1;\n if (stValue === '1') return 2;\n return undefined;\n }\n\n private _isTabHidden(hiddenAttr: string): boolean {\n return document[hiddenAttr];\n }\n\n private _initTabMode(): void {\n let hiddenAttr: string;\n let visibilityChangeEventName: string;\n if (typeof document.hidden !== 'undefined') {\n // Opera 12.10 and Firefox 18 and later support\n hiddenAttr = 'hidden';\n visibilityChangeEventName = 'visibilitychange';\n // @ts-expect-error - Property 'msHidden' does not exist on type 'Document'. Did you mean 'hidden'?\n } else if (typeof document.msHidden !== 'undefined') {\n hiddenAttr = 'msHidden';\n visibilityChangeEventName = 'msvisibilitychange';\n // @ts-expect-error - Property 'webkitHidden' does not exist on type 'Document'. Did you mean 'hidden'?\n } else if (typeof document.webkitHidden !== 'undefined') {\n hiddenAttr = 'webkitHidden';\n visibilityChangeEventName = 'webkitvisibilitychange';\n }\n\n // @ts-expect-error - Variable 'visibilityChangeEventName' is used before being assigned.\n if (hiddenAttr && visibilityChangeEventName) {\n this.eventManager.listen(document, visibilityChangeEventName, () => this._updateTabModeInModel(hiddenAttr));\n this._updateTabModeInModel(hiddenAttr);\n }\n }\n}\n\nexport { Kava };\n","export const DownloadEvent = {\n DOWNLOAD_ITEM_CLICKED: 'download_item_clicked'\n};\n\nexport const ModerationEvent = {\n REPORT_CLICKED: 'report_clicked',\n REPORT_SUBMITTED: 'report_submitted'\n};\n\nexport const ShareEvent = {\n /**\n * Fired when the user clicks on share icon.\n */\n SHARE_CLICKED: 'share_clicked',\n /**\n * Fired when the user clicks on specific social network.\n */\n SHARE_NETWORK: 'share_network'\n};\n\nexport const RelatedEvent = {\n /**\n * Fired when the user selects an entry from the list or the grid.\n */\n RELATED_SELECTED: 'related_selected',\n /**\n * Fired when the user clicks the button to show the related list.\n */\n RELATED_OPEN: 'related_open',\n /**\n * Fired when the user clicks to close the related list.\n */\n RELATED_CLOSE: 'related_close'\n};\n\nexport const InfoEvent = {\n INFO_SCREEN_OPEN: 'info_screen_open'\n};\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { registerPlugin } from '@playkit-js/kaltura-player-js';\nimport { Kava } from './kava';\n\ndeclare const __VERSION__: string;\ndeclare const __NAME__: string;\n\nconst VERSION = __VERSION__;\nconst NAME = __NAME__;\n\nexport { Kava as Plugin };\nexport { KavaEventType as EventType } from './kava-event-model';\nexport { HttpMethodType } from './enums/http-method-type';\nexport { VERSION, NAME };\n\nconst pluginName: string = 'kava';\n\nregisterPlugin(pluginName, Kava);\n"],"names":["root","factory","exports","module","define","amd","self","e","d","t","r","n","o","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","Symbol","toStringTag","value","TypeError","iterator","constructor","toPrimitive","String","i","length","configurable","writable","key","s","a","NAME","P","OVPAnalyticsService","A","OVPConfiguration","h","RequestBuilder","l","VERSION","C","f","arguments","this","severity","category","code","data","_logger","error","concat","RECOVERABLE","CRITICAL","NETWORK","SERVICE","PROVIDER","UNSUPPORTED_SCHEME","BAD_HTTP_STATUS","HTTP_ERROR","TIMEOUT","MALFORMED_DATA_URI","BAD_SERVER_RESPONSE","MULTIREQUEST_API_ERROR","API_RESPONSE_MISMATCH","ERROR","BLOCK_ACTION","MEDIA_STATUS_NOT_READY","MISSING_MANDATORY_PARAMS","MISSING_PLAY_SOURCE","METHOD_NOT_IMPLEMENTED","DEBUG","name","INFO","OFF","TIME","TRACE","WARN","createDefaultHandler","debug","enabledFor","getLevel","info","log","setHandler","setLevel","time","timeEnd","trace","useDefaults","warn","Map","async","timeout","maxAttempts","headers","service","action","Promise","_requestPromise","resolve","reject","url","Severity","Category","Code","_createXHR","XMLHttpRequest","onreadystatechange","readyState","status","JSON","parse","responseText","responseHeaders","_getResponseHeaders","_createError","text","open","method","retryConfig","performance","now","ontimeout","_handleError","statusText","onerror","onabort","forEach","setRequestHeader","send","params","getAllResponseHeaders","split","filter","toLowerCase","indexOf","_attemptCounter","assign","attempt","p","Array","isArray","slice","keys","y","serviceUrl","cdnUrl","serviceParams","apiVersion","format","useApiCaptions","loadThumbnailWithKs","replaceHostOnlyManifestUrls","v","setPrototypeOf","bind","__proto__","create","m","ReferenceError","g","E","getPrototypeOf","R","objectType","hasError","O","message","b","Reflect","construct","sham","Proxy","Boolean","valueOf","apply","requests","push","stringify","FAILED_PARSING_REQUEST","doHttpRequest","then","_","success","response","results","result","map","T","toString","encodeURIComponent","u","c","test","join","replace","S","_trackEventByPOST","_trackEventByGET","tag","set","eventType","partnerId","entryId","sessionId","ks","clientTag","getUrl","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","definition","obj","prop","KalturaPlayer","_typeof","_arrayLikeToArray","arr","len","arr2","_classCallCheck","instance","Constructor","toPropertyKey","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_defineProperty","KavaEventModel","VIEW","type","index","getEventModel","model","eventModel","playTimeSum","getPlayTimeSum","bufferTime","getBufferTime","bufferTimeSum","getBufferTimeSum","actualBitrate","getActualBitrate","averageBitrate","getAverageBitrate","audioLanguage","getLanguage","soundMode","getSoundMode","tabMode","getTabMode","viewabilityMode","getViewabilityMode","screenMode","getScreenMode","isNaN","getForwardBufferHealth","forwardBufferHealth","getMaxManifestDownloadTime","manifestDownloadTime","getSegmentDownloadTime","segmentDownloadTime","getBandwidth","bandwidth","getDroppedFramesRatio","droppedFramesRatio","getTargetBuffer","targetBuffer","getNetworkConnectionType","networkConnectionType","getNetworkConnectionOverhead","networkConnectionOverhead","getFlavorParamsId","flavorParamsId","getPlaybackMode","playbackMode","getSourceEntryId","sourceEntryId","liveStreamType","getLiveStreamType","streamType","IMPRESSION","getPlayerJSLoadTime","playerJSLoadTime","isV2ToV7Redirected","getV2ToV7Redirect","registeredPlugins","getRegisteredPlugins","PLAY_REQUEST","PLAY","joinTime","getJoinTime","canPlay","getCanPlayTime","RESUME","PAUSE","BUFFER_START","BUFFER_END","REPLAY","SEEK","targetPosition","getTargetPosition","PLAY_REACHED_25_PERCENT","PLAY_REACHED_50_PERCENT","PLAY_REACHED_75_PERCENT","PLAY_REACHED_100_PERCENT","PLAY_REACHED_90_PERCENT","SOURCE_SELECTED","AUDIO_SELECTED","language","FLAVOR_SWITCH","SPEED","CAPTIONS","errorCode","getErrorCode","errorDetails","getErrorDetails","errorPosition","getErrorPosition","RELATED_OPEN","RELATED_SELECTED","SHARE_CLICKED","SHARE_NETWORK","socialNetwork","getShareNetworkName","ENTER_FULLSCREEN","EXIT_FULLSCREEN","DOWNLOAD","REPORT_CLICKED","REPORT_SUBMITTED","reportType","getReportType","KavaEventType","k","KavaRateHandler","_rates","rates","_this","rate","active","duration","find","current","totalDuration","sum","FakeEvent","core","FakeEventTarget","WorkerTimer","callback","interval","blob","Blob","workerScript","URL","createObjectURL","worker","Worker","onmessage","terminate","KavaTimer","_FakeEventTarget","config","_callSuper","_config","_this2","_terminateTimer","_stopped","_resetCounter","_eventCounter","_timer","_monitor","stop","resetCounter","dispatchEvent","Event","RESET","TICK","eventCounter","REPORT","EventBucketName","ButtonType","ApplicationEventType","PageLoadType","playkitUIEventsNamespace","PlaykitUIEvents","USER_CLICKED_LOGO","USER_SELECTED_CAPTIONS_SIZE","USER_SELECTED_CAPTIONS_WEIGHT","USER_SELECTED_CAPTIONS_ALIGNMENT","USER_SELECTED_CAPTIONS_FONT_COLOR","USER_SELECTED_CAPTIONS_FONT_FAMILY","USER_SELECTED_CAPTIONS_FONT_STYLE","USER_SELECTED_CAPTIONS_FONT_OPACITY","USER_SELECTED_CAPTIONS_BACKGROUND_COLOR","USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY","USER_SHOWED_CAPTIONS","USER_HID_CAPTIONS","USER_SELECTED_CAPTION_TRACK","USER_SELECTED_AUDIO_TRACK","USER_COPIED_DEBUG_INFO","DISPLAY_INFO_BEFORE_PLAYBACK","USER_SELECTED_CAPTIONS_PRESET_MINIMALIST","USER_SELECTED_CAPTIONS_PRESET_HIGH_CONTRAST","USER_SELECTED_CAPTIONS_PRESET_CLASSIC_TV_STYLE","USER_SELECTED_CAPTIONS_PRESET_EASY_READING","USER_SELECTED_CAPTIONS_PRESET_EARLY_READERS","USER_SELECTED_CAPTIONS_PRESET_NIGHT_MODE","USER_SELECTED_CAPTIONS_CUSTOM","PluginsEvents","_objectSpread","NAVIGATION_OPEN","NAVIGATION_CLOSE","NAVIGATION_SEARCH","NAVIGATION_ITEM_CLICK","NAVIGATION_EXPANDABLE_TEXT_CLICK","DOWNLOAD_ITEM_CLICKED","SHOW_OVERLAY","HIDE_OVERLAY","DOWNLOAD_SUMMARY_CHAPTERS_DOWNLOAD","TRANSCRIPT_OPEN","TRANSCRIPT_CLOSE","TRANSCRIPT_DOWNLOAD","TRANSCRIPT_PRINT","TRANSCRIPT_SEARCH","TRANSCRIPT_NAVIGATE_RESULT","TRANSCRIPT_POPOUT_OPEN","TRANSCRIPT_POPOUT_CLOSE","TRANSCRIPT_POPOUT_DRAG","TRANSCRIPT_POPOUT_RESIZE","CHANGE_LAYOUT","SIDE_DISPLAYED","SHARE_CLOSE","SHARE_COPY","BUMPER_CLICKED","SKIP_BUTTON_CLICK","SKIP_BUTTON_DISPLAYED","PLAYLIST_OPEN","PLAYLIST_CLOSE","RELATED_CLOSE","RELATED_ENTRY_SELECTED","RELATED_ENTRY_AUTO_PLAYED","RELATED_GRID_DISPLAYED","CALL_TO_ACTION_BUTTON_CLICK","CALL_TO_ACTION_DISPLAYED","HOTSPOT_CLICK","HOTSPOT_DISPLAYED","QUIZ_STARTED","QUIZ_SKIPPED","QUIZ_SEEK","QUESTION_ANSWERED","QUIZ_SUBMITTED","QUIZ_RETAKE","QUIZ_QUESTION_CHANGED","DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN","DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN","DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED","DETECT_AD_BLOCK_X_BUTTON_CLICKED","DETECT_AD_BLOCK_AD_BLOCKER_DISABLED","DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED","REELS_PLAY","REELS_PAUSE","REELS_MUTE","REELS_UNMUTE","REELS_SEEK","REELS_POSTER_CLICKED","REELS_ENTRY_LOADED","REELS_PLAYLIST_LOADED","EAD_ON","EAD_OFF","EAD_SKIP","EAD_REPLAY","EAD_PAUSE","EAD_RESUME","EAD_PLAY","EAD_SCROLL","SUMMARY_CHAPTERS_OPEN","SUMMARY_CHAPTERS_CLOSE","SUMMARY_CHAPTERS_READ_CHAPTERS","SUMMARY_CHAPTERS_READ_OVERVIEW","SUMMARY_CHAPTERS_COPY_TO_CLIPBOARD","SUMMARY_CHAPTERS_CHAPTER_EXPAND","SUMMARY_CHAPTERS_CHAPTER_COLLAPSE","SUMMARY_CHAPTERS_CHAPTER_SEEK","SUMMARY_CHAPTERS_CHAPTER_SHARE","SUMMARY_CHAPTERS_DOWNLOAD_SUMMARY","SUMMARY_CHAPTERS_DISPLAY_BEFORE_PLAYBACK","SUMMARY_CHAPTERS_ALLOW_DOWNLOAD_TOGGLED","SUMMARY_CHAPTERS_ALLOW_SHARE_CHAPTER_TOGGLED","SUMMARY_CHAPTERS_PANEL_POSITION_CHANGED","SUMMARY_CHAPTERS_EXPAND_MODE_CHANGED","SUMMARY_CHAPTERS_EXPAND_ON_FIRST_PLAY_TOGGLED","AUDIO_PLAYER_VISUALIZATION_STATE","CPE_TRACKER_HOVER","BANNER_MESSAGE_DISPLAYS","BANNER_MESSAGE_MANUALLY_DISMISSED","GENIE_OPEN_AUTO","GENIE_OPEN_MANUAL","GENIE_CLOSE","GENIE_NEW_THREAD","VOD_COMPLETION_VIDEO_STARTED","VOD_COMPLETION_VIDEO_COMPLETED","POST_MESSAGE_BRIDGE_ACTIVE","KalturaApplication","KMC","KMS","KAF","PITCH","KMS_GO","WEBCASTING","PERSONAL_CAPTURE","KME","KME_MOBILE_APP","PATH","LECTURE_CAPTURE","EP","CHAT_AND_COLLABORATION","ANALYTICS","EXPRESS_CAPTURE","KPF","KAF_GO","SITES","STUDIO","CAPTIONS_EDITOR","CHECKLIST","PLAYER","GENIE","ApplicationFeature","getApplicationEventsModel","eventObj","innerEventPayload","commonModel","getPartnerId","getEntryId","getSessionId","kalturaApplication","application","getApplication","getVirtualEventId","getKalturaApplicationVersion","getUserId","getKS","getHostingKalturaApplication","getHostingKalturaApplicationVersion","namedEventModel","eventVar1","eventVar2","eventVar3","eventVar4","applicationFeature","ApplicationEventsModel","_ApplicationEventsMod","_ref","layout","Choose","DUAL_SCREEN","payload","View","Open","SHARE_EMBED","Close","Share","socialNetworkName","Download","assetType","fileType","description","isDefault","Link","BUMPER","NAVIGATION","searchQuery","activeTab","availableTabs","isItSearch","Search","itemType","isTextExpanded","Expand","Collapse","TRANSCRIPT","search","Navigate","Edit","position","x","size","PLAYLIST","SKIP","mode","RELATED","CALL_TO_ACTION","displayType","isMetadataBased","HOTSPOPT","Load","QUIZ","Send","_ref2","questionIndex","Toggle","settings","EAD","_ref3","trigger","_ref4","_ref5","_ref6","_payload$showText","showText","Browse","UI","ADVANCED_CAPTIONS","_ref7","captionTrack","autoSelected","_ref8","_audioTrack$language","audioTrack","startsWith","AUDION_TRACKS","DETECT_AD_BLOCK","_ref9","isResume","REELS","_ref10","_ref11","_ref12","_ref13","from","to","_ref14","_ref15","muted","playlistId","_ref16","autoplay","_ref17","buttonName","SUMMARY_CHAPTERS","_ref18","_ref19","chapterNumber","_ref20","_ref21","_ref22","_ref23","displayBeforePlay","_ref24","allowDownload","_ref25","allowShareChapter","_ref26","panelPosition","_ref27","expandMode","_ref28","expandOnFirstPlay","DEBUG_INFO","Analytics","state","AUDIO_PLAYER","CPE_TRACKER","BANNER_OVERLAY","VOD_COMPLETION","_ref29","completionThreshold","_ref30","sendAllEvents","eventsToSend","POST_MESSAGE_BRIDGE","KavaModel","ScreenMode","NOT_IN_FULLSCREEN","NaN","updateModel","canPlayTime","Math","round","caption","totalSegmentsDownloadTime","totalSegmentsDownloadBytes","maxManifestDownloadTime","maxSegmentDownloadTime","maxNetworkConnectionOverhead","retVal","eventIndex","sessionStartTime","shareNetworkName","eventBucketName","PlayerEvents","eventPayload","getEventIndex","referrer","getReferrer","deliveryType","getDeliveryType","playbackType","getPlaybackType","clientVer","getClientVer","getClientTag","getPosition","playbackSpeed","getPlaybackSpeed","playerSkin","getPlayerSkin","getCaption","getSessionStartTime","virtualEventId","getUIConfId","uiConfId","getPlaylistId","getCustomVar1","customVar1","getCustomVar2","customVar2","getCustomVar3","customVar3","getPlaybackContext","playbackContext","kalturaApplicationVer","getKalturaApplication","userId","getPersistentSessionId","persistentSessionId","hostingKalturaApplication","hostingKalturaApplicationVersion","ApplicationEvents","SoundMode","ViewabilityMode","TabMode","ErrorPosition","HttpMethodType","GET","POST","Application","PlayerSkin","LogFailedLiveEvents","logger","numOfLoggedFailedEvents","storageKey","dataToStore","failureCountKey","getFailedCounterKey","counter","LocalStorageManager","getItem","setItem","appendNewFailedLiveEventToLocalStorage","tailLength","storedArray","date","Date","parseInt","PKError","Error","Utils","DIVIDER","Kava","_BasePlugin","player","_logFailedLiveEvents","_rateHandler","_model","_setModelDelegates","resetSessionCountdown","viewEventCountdown","_viewEventEnabled","_resetFlags","_addBindings","entry","getEntriesByType","match","volume","SOUND_OFF","SOUND_ON","isVisible","isInPictureInPicture","IN_VIEW","NOT_IN_VIEW","list","perfEntries","getEntries","_performanceEntries","_pendingFragLoadedUrls","_handleFragPerformanceObserver","pop","eventManager","destroy","_reset","_performanceObserver","disconnect","removeAll","window","PerformanceObserver","_handleNewPerformanceEntries","observe","entryTypes","event","getModel","copyDeep","trackEvent","requestMethod","_handleServerResponseSuccess","err","_handleServerResponseFailed","_previousCurrentTime","_lastViewEventPlayTime","_isPlaying","_isFirstPlay","_isFirstPlaying","_isEnded","_isPaused","_isBuffering","_canPlayOccured","_isManualPreload","reset","_validate","_updateBufferModel","_bufferStartTime","tamperAnalyticsHandler","sendAnalytics","catch","_this$config","_this$player","logLiveAnalyticsFailures","isLive","_updateSessionStartTimeModel","shouldLogLiveAnalyticsFailures","logFailedLiveAnalyticsEventsToLocalStorage","_this3","listen","countCurrent","_onReport","_resetSession","Core","_onSourceSelected","_onError","FIRST_PLAY","_onFirstPlay","FRAG_LOADED","_onFragLoaded","MANIFEST_LOADED","_onManifestLoaded","TIMED_METADATA","_onTimedMetadataLoaded","TRACKS_CHANGED","_setInitialTracks","PLAYING","_onPlaying","FIRST_PLAYING","_onFirstPlaying","SEEKING","_onSeeking","_onPause","ENDED","_onEnded","VIDEO_TRACK_CHANGED","_onVideoTrackChanged","AUDIO_TRACK_CHANGED","_onAudioTrackChanged","TEXT_TRACK_CHANGED","_onTextTrackChanged","PLAYER_STATE_CHANGED","_onPlayerStateChanged","RATE_CHANGE","_onPlaybackRateChanged","CAN_PLAY","_onCanPlay","LOAD_START","_onLoadStart","VOLUME_CHANGE","_updateSoundModeInModel","VISIBILITY_CHANGE","_updateViewabilityModeInModel","visible","MUTE_CHANGE","_onFullScreenChanged","FULLSCREEN","_onRelatedClicked","_onRelatedSelected","_onShareClicked","_onShareNetworkClicked","_onDownloadItemClicked","_onInfoScreenOpened","_onReportClicked","_onReportSubmitted","listenOnce","_onPlayerReached","_bindApplicationEvents","_bindPlaykitUIEvents","_initTabMode","_initNetworkConnectionType","_this4","values","_isApplicationEventValid","_sendAnalytics","_this5","_fragLoadedFiredOnce","_loadStartTime","getTracks","Track","VIDEO","videoTrack","_getRates","activeTracks","getActiveTracks","setRates","video","setCurrent","audio","availableBuffer","stats","_getAvailableBuffer","_getTargetBuffer","droppedFrames","droppedAndDecoded","_getDroppedAndDecodedFrames","lastDroppedFrames","lastTotalFrames","droppedFramesDelta","_lastDroppedFrames","totalFramesDelta","_lastTotalFrames","getVideoElement","getVideoPlaybackQuality","videoPlaybackQuality","droppedVideoFrames","totalVideoFrames","webkitDroppedFrameCount","webkitDecodedFrameCount","_updatePlayTimeSumModel","_getForwardBufferHealth","_getDroppedFramesRatio","navConnection","effectiveType","_this6","navigator","connection","mozConnection","webkitConnection","_updateNetworkConnectionTypeinModel","isUntimedImg","start","playRequestStartTime","playback","preload","_firstPlayRequestTime","_getTimeDifferenceInSeconds","resume","_this7","plugins","plugin","isImage","TIME_UPDATE","_onTimeUpdate","currentTime","_updateFragLoadedStats","fragResourceTimings","lastFragResourceTiming","_updateMaxNetworkConnectionOverhead","connectEnd","domainLookupStart","lastIndexOftheFragment","splice","max","seconds","miliSeconds","bytes","id3TagCues","cues","Number","sequenceId","clipId","_data$clipId$split2","next","done","minLen","partType","selectedVideoTrack","isAdaptiveBitrateEnabled","selectedAudioTrack","textTrack","selectedTextTrack","PRE_PLAY","PRE_PLAYING","MID_STREAM","playbackRates","includes","playbackRate","oldState","newState","State","BUFFERING","viewEventsEnabled","isStopped","delta","_this8","getCurrent","getAverage","playerVersion","_getPosition","_getDeliveryType","_getPlaybackType","playerEvent","_getApplication","kalturaApplicationVersion","_getKalturaApplicationId","applicationVersion","_getPlayerSkin","getNumFailedAnalyticReports","_getLiveStreamType","_getPlayerType","reels","audioPlayer","AUDIO","kalturaAppName","sources","seekFrom","startTime","StreamType","PROGRESSIVE","isDvr","dvrThreshold","_logMissingParam","pageName","eventName","missingParam","hiddenAttr","_isTabHidden","TAB_NOT_FOCUSED","TAB_FOCUSED","_getLiveEntryStValue","stValue","getLiveEntryStValue","document","visibilityChangeEventName","_this9","hidden","msHidden","webkitHidden","_updateTabModeInModel","BasePlugin","Http","protocol","__VERSION__","__NAME__","registerPlugin"],"sourceRoot":""}
1
+ {"version":3,"file":"playkit-kava.js","mappings":"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","sources":["webpack://KalturaPlayer.plugins.kava/webpack/universalModuleDefinition","webpack://KalturaPlayer.plugins.kava/./node_modules/@playkit-js/playkit-js-providers/dist/playkit-analytics-service.js","webpack://KalturaPlayer.plugins.kava/webpack/bootstrap","webpack://KalturaPlayer.plugins.kava/webpack/runtime/define property getters","webpack://KalturaPlayer.plugins.kava/webpack/runtime/hasOwnProperty shorthand","webpack://KalturaPlayer.plugins.kava/webpack/runtime/make namespace object","webpack://KalturaPlayer.plugins.kava/external root \"KalturaPlayer\"","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://KalturaPlayer.plugins.kava/./src/kava-event-model.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-rate-handler.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-timer.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/event-bucket-name.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/button-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application-event-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/page-load-type.ts","webpack://KalturaPlayer.plugins.kava/./src/applications-events.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/kaltura-application.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application-feature.ts","webpack://KalturaPlayer.plugins.kava/./src/application-events-model.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-model.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/http-method-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/player-skin.ts","webpack://KalturaPlayer.plugins.kava/./src/log-failed-live-events.ts","webpack://KalturaPlayer.plugins.kava/./src/kava.ts","webpack://KalturaPlayer.plugins.kava/./src/temp-imported-plugins-event-names-temp.ts","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://KalturaPlayer.plugins.kava/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"KalturaPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KalturaPlayer\"] = factory();\n\telse\n\t\troot[\"KalturaPlayer\"] = root[\"KalturaPlayer\"] || {}, root[\"KalturaPlayer\"][\"plugins\"] = root[\"KalturaPlayer\"][\"plugins\"] || {}, root[\"KalturaPlayer\"][\"plugins\"][\"kava\"] = factory();\n})(self, () => {\nreturn ","!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)(\"object\"==typeof exports?exports:e)[n]=r[n]}}(self,(function(){return function(){\"use strict\";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})}},t={};function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function n(e){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n(e)}function o(e){var t=function(e,t){if(\"object\"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,\"string\");if(\"object\"!==n(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===n(t)?t:String(t)}function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}function s(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function a(e,t,r){return(t=o(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}e.r(t),e.d(t,{NAME:function(){return P},OVPAnalyticsService:function(){return A},OVPConfiguration:function(){return h},RequestBuilder:function(){return l},VERSION:function(){return C}});var u=function(){return{VERSION:\"\",DEBUG:{value:\"\",name:\"\"},ERROR:{value:\"\",name:\"\"},INFO:{value:\"\",name:\"\"},OFF:{value:\"\",name:\"\"},TIME:{value:\"\",name:\"\"},TRACE:{value:\"\",name:\"\"},WARN:{value:\"\",name:\"\"},createDefaultHandler:function(){},debug:function(){},enabledFor:function(){},error:function(){},get:function(){},getLevel:function(){},info:function(){},log:function(){},setHandler:function(){},setLevel:function(){},time:function(){},timeEnd:function(){},trace:function(){},useDefaults:function(){},warn:function(){}}};var c=function(e){return u(e)},f=s((function e(t,n,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};r(this,e),this.severity=t,this.category=n,this.code=o,this.data=i,e._logger.error(\"Category:\".concat(n,\" | Code:\").concat(o,\" |\"),i)}));a(f,\"Severity\",{RECOVERABLE:1,CRITICAL:2}),a(f,\"Category\",{NETWORK:1,SERVICE:2,PROVIDER:3}),a(f,\"Code\",{UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002}),a(f,\"_logger\",c(\"Error\"));var l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map;r(this,e),a(this,\"retryConfig\",{async:!0,timeout:0,maxAttempts:4}),a(this,\"_attemptCounter\",1),this.headers=t}return s(e,[{key:\"getUrl\",value:function(e){return e+\"/service/\"+this.service+(this.action?\"/action/\"+this.action:\"\")}},{key:\"doHttpRequest\",value:function(){var e=this,t=new Promise((function(t,r){e._requestPromise={resolve:t,reject:r}}));return this.url||this._requestPromise.reject(new f(f.Severity.CRITICAL,f.Category.NETWORK,f.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),t}},{key:\"_createXHR\",value:function(){var e=this,t=new XMLHttpRequest;t.onreadystatechange=function(){if(4===t.readyState&&200===t.status)try{var r=JSON.parse(t.responseText);return e.responseHeaders=e._getResponseHeaders(t),e._requestPromise.resolve(r)}catch(r){e._requestPromise.reject(e._createError(t,f.Code.BAD_SERVER_RESPONSE,{text:t.responseText}))}},t.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(t.timeout=this.retryConfig.timeout);var r=performance.now();t.ontimeout=function(){e._handleError(t,f.Code.TIMEOUT,{timeout:(performance.now()-r)/1e3,statusText:t.statusText})},t.onerror=t.onabort=function(){e._handleError(t,f.Code.HTTP_ERROR,{text:t.responseText,statusText:t.statusText})},this.headers.forEach((function(e,r){t.setRequestHeader(r,e)})),t.send(this.params)}},{key:\"_getResponseHeaders\",value:function(e){return e.getAllResponseHeaders().split(\"\\n\").filter((function(e){return 0===e.toLowerCase().indexOf(\"x-\")}))}},{key:\"_handleError\",value:function(e,t,r){var n=this._createError(e,t,r);if(e.onreadystatechange=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(n);this._attemptCounter++,this._createXHR()}},{key:\"_createError\",value:function(e,t,r){return Object.assign(r,{url:this.url,headers:this._getResponseHeaders(e),attempt:this._attemptCounter}),new f(f.Severity.CRITICAL,f.Category.NETWORK,t,r)}}]),e}(),p=function e(t){var r;return Array.isArray(t)?(r=t.length>0?t.slice(0):[]).forEach((function(t,o){(\"object\"===n(t)||Array.isArray(t)&&t.length>0)&&(r[o]=e(t))})):\"object\"===n(t)?(r=Object.assign({},t),Object.keys(r).forEach((function(t){(\"object\"===n(r[t])||Array.isArray(r[t])&&r[t].length>0)&&(r[t]=e(r[t]))}))):r=t,r},y={serviceUrl:\"https://cdnapisec.kaltura.com/api_v3\",cdnUrl:\"https://cdnapisec.kaltura.com\",serviceParams:{apiVersion:\"3.3.0\",format:1},useApiCaptions:!0,loadThumbnailWithKs:!1,replaceHostOnlyManifestUrls:!1},h=function(){function e(){r(this,e)}return s(e,null,[{key:\"set\",value:function(e){e&&Object.assign(y,e)}},{key:\"get\",value:function(){return p(y)}}]),e}();function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}function d(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&v(e,t)}function m(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function g(e,t){if(t&&(\"object\"===n(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return m(e)}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}var R=s((function e(t){r(this,e),a(this,\"hasError\",!1),\"KalturaAPIException\"===t.objectType?(this.hasError=!0,this.error=new O(t.code,t.message)):t.error&&\"KalturaAPIException\"===t.error.objectType?(this.hasError=!0,this.error=new O(t.error.code,t.error.message)):this.data=t})),O=s((function e(t,n){r(this,e),this.code=t,this.message=n}));var b=function(e){d(i,e);var t,n,o=(t=i,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=E(t);if(n){var o=E(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return g(this,e)});function i(){var e;r(this,i);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return a(m(e=o.call.apply(o,[this].concat(n))),\"requests\",[]),e}return s(i,[{key:\"add\",value:function(e){this.requests.push(e);var t={},r={service:e.service,action:e.action};return Object.assign(t,a({},this.requests.length,Object.assign(r,e.params))),Object.assign(t,this.params),this.params=t,this}},{key:\"execute\",value:function(e){var t=this;return new Promise((function(r,n){try{t.params=JSON.stringify(t.params)}catch(e){i._logger.error(\"\".concat(e.message)),n(new f(f.Severity.CRITICAL,f.Category.PROVIDER,f.Code.FAILED_PARSING_REQUEST,{error:e,params:t.params}))}t.doHttpRequest().then((function(o){var i=new _(o,e);i.success?r({headers:t.responseHeaders,response:i}):n(new f(f.Severity.CRITICAL,f.Category.NETWORK,f.Code.MULTIREQUEST_API_ERROR,{url:t.url,headers:t.responseHeaders,results:i.results}))}),(function(e){n(e)}))}))}}]),i}(l);a(b,\"_logger\",c(\"MultiRequestBuilder\"));var _=s((function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r(this,e),a(this,\"results\",[]);var o=t.result?t.result:t,i=(Array.isArray(o)?o:[o]).map((function(e){return new R(e)})),s=i.filter((function(e){return e.hasError}));s.forEach((function(t){e._logger.error(\"Service returned an error with error code: \".concat(t.error.code,\" and message: \").concat(t.error.message,\".\"))})),this.results=i,n&&s.length||s.length===this.results.length?this.success=!1:(this.results=this.results.filter((function(e){return!e.hasError})),this.success=!0)}));a(_,\"_logger\",c(\"MultiRequestResult\"));var T=function(e){var t=[],r=/\\[\\]$/,o=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)},i=function(e,r){r=\"function\"==typeof r?r():null==r?\"\":r,t[t.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(r)};return function e(s,a){var u,c,f;if(s)if(o(a))for(u=0,c=a.length;u<c;u++)r.test(s)?i(s,a[u]):e(s+\":\"+(\"object\"===n(a[u])?u:\"\"),a[u]);else if(a&&\"[object Object]\"===String(a))for(f in a)e(s+\":\"+f,a[f]);else i(s,a);else if(o(a))for(u=0,c=a.length;u<c;u++)i(a[u].name,a[u].value);else for(f in a)e(f,a[f]);return t}(\"\",e).join(\"&\").replace(/%20/g,\"+\")};var S=\"analytics\",A=function(e){d(i,e);var t,n,o=(t=i,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=E(t);if(n){var o=E(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return g(this,e)});function i(){return r(this,i),o.apply(this,arguments)}return s(i,null,[{key:\"trackEvent\",value:function(e,t,r){return\"POST\"===r?i._trackEventByPOST(e,t):i._trackEventByGET(e,t)}},{key:\"_trackEventByGET\",value:function(e,t){var r=h.get(),n={};Object.assign(n,r.serviceParams,t);var o=new l;return o.service=S,o.action=\"trackEvent\",o.method=\"GET\",o.retryConfig.maxAttempts=1,o.tag=\"analytics-trackEvent\",o.params=n,o.url=e+\"?service=\"+o.service+\"&action=\"+o.action+\"&\"+T(o.params),o}},{key:\"_trackEventByPOST\",value:function(e,t){var r=h.get(),n={};Object.assign(n,r.serviceParams,t);var o=new Map;o.set(\"Content-Type\",\"application/json\");var i=new l(o),s={eventType:n.eventType,partnerId:n.partnerId,entryId:n.entryId,sessionId:n.sessionId};return[\"eventType\",\"partnerId\",\"entryId\",\"sessionId\"].forEach((function(e){return delete n[e]})),i.service=S,i.action=\"trackEvent\",i.method=\"POST\",i.retryConfig.maxAttempts=1,i.tag=\"analytics-trackEvent\",i.params=JSON.stringify(n),i.url=e+\"?service=\"+i.service+\"&action=\"+i.action+\"&\"+T(s),i}}]),i}(function(){function e(){r(this,e)}return s(e,null,[{key:\"getMultiRequest\",value:function(e,t,r){var n=h.get(),o=n.serviceParams;Object.assign(o,{ks:t,clientTag:\"html5:v\"+e}),r&&Object.assign(o,{partnerId:r});var i=new Map;i.set(\"Content-Type\",\"application/json\");var s=new b(i);return s.method=\"POST\",s.service=\"multirequest\",s.url=s.getUrl(n.serviceUrl),s.params=o,s}}]),e}()),P=\"@playkit-js/playkit-js-providers-analytics-service\",C=\"2.40.4\";return t}()}));\n//# sourceMappingURL=playkit-analytics-service.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer;","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import { KavaModel } from './kava-model';\nimport { KavaEvent } from './types';\n\n/**\n * @name KavaEventType\n * @enum\n */\nexport const KavaEventModel = {\n /**\n * @type {string} VIEW\n * @memberof KavaEventType\n */\n VIEW: {\n type: 'VIEW',\n index: 99,\n getEventModel: (model: KavaModel): any => {\n const eventModel: { [name: string]: any } = {\n playTimeSum: model.getPlayTimeSum(),\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate(),\n averageBitrate: model.getAverageBitrate(),\n audioLanguage: model.getLanguage(),\n soundMode: model.getSoundMode(),\n tabMode: model.getTabMode(),\n viewabilityMode: model.getViewabilityMode(),\n screenMode: model.getScreenMode()\n };\n\n if (!isNaN(model.getForwardBufferHealth())) {\n eventModel.forwardBufferHealth = model.getForwardBufferHealth();\n }\n if (model.getMaxManifestDownloadTime() > 0) {\n eventModel.manifestDownloadTime = model.getMaxManifestDownloadTime();\n }\n if (model.getSegmentDownloadTime() > 0) {\n eventModel.segmentDownloadTime = model.getSegmentDownloadTime();\n }\n if (model.getBandwidth()) {\n eventModel.bandwidth = model.getBandwidth();\n }\n if (model.getDroppedFramesRatio() !== null) {\n eventModel.droppedFramesRatio = model.getDroppedFramesRatio();\n }\n\n if (!isNaN(model.getTargetBuffer())) {\n eventModel.targetBuffer = model.getTargetBuffer();\n }\n\n if (model.getNetworkConnectionType() !== '') {\n eventModel.networkConnectionType = model.getNetworkConnectionType();\n }\n\n if (model.getNetworkConnectionOverhead()) {\n eventModel.networkConnectionOverhead = model.getNetworkConnectionOverhead();\n }\n if (!isNaN(model.getFlavorParamsId())) {\n eventModel.flavorParamsId = model.getFlavorParamsId();\n }\n if (!isNaN(model.getPlaybackMode())) {\n eventModel.playbackMode = model.getPlaybackMode();\n }\n if (model.getSourceEntryId() !== null) {\n eventModel.sourceEntryId = model.getSourceEntryId();\n }\n\n const liveStreamType = model.getLiveStreamType();\n if (liveStreamType !== undefined) {\n eventModel.streamType = liveStreamType;\n }\n\n return eventModel;\n }\n },\n /**\n * @type {string} IMPRESSION\n * @memberof KavaEventType\n */\n IMPRESSION: {\n type: 'IMPRESSION',\n index: 1,\n getEventModel: (model: KavaModel): any => {\n const eventModel = {} as KavaModel;\n if (model.getPlayerJSLoadTime() !== null) {\n eventModel.playerJSLoadTime = model.getPlayerJSLoadTime();\n }\n const isV2ToV7Redirected = model.getV2ToV7Redirect();\n const registeredPlugins = model.getRegisteredPlugins();\n eventModel['loadedPlugins'] = isV2ToV7Redirected ? `v2-v7redirect,${registeredPlugins}` : registeredPlugins;\n return eventModel;\n }\n },\n /**\n * @type {string} PLAY_REQUEST\n * @memberof KavaEventType\n */\n PLAY_REQUEST: {\n type: 'PLAY_REQUEST',\n index: 2,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY\n * @memberof KavaEventType\n */\n PLAY: {\n type: 'PLAY',\n index: 3,\n getEventModel: (model: KavaModel): any => {\n const eventModel: { [name: string]: any } = {\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate(),\n joinTime: model.getJoinTime(),\n canPlay: model.getCanPlayTime()\n };\n if (model.getNetworkConnectionType() !== '') {\n eventModel.networkConnectionType = model.getNetworkConnectionType();\n }\n return eventModel;\n }\n },\n /**\n * @type {string} RESUME\n * @memberof KavaEventType\n */\n RESUME: {\n type: 'RESUME',\n index: 4,\n getEventModel: (model: KavaModel): any => ({\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} PAUSE\n * @memberof KavaEventType\n */\n PAUSE: {\n type: 'PAUSE',\n index: 33,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} BUFFER_START\n * @memberof KavaEventType\n */\n BUFFER_START: {\n type: 'BUFFER_START',\n index: 45,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} BUFFER_END\n * @memberof KavaEventType\n */\n BUFFER_END: {\n type: 'BUFFER_END',\n index: 46,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} REPLAY\n * @memberof KavaEventType\n */\n REPLAY: {\n type: 'REPLAY',\n index: 34,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SEEK\n * @memberof KavaEventType\n */\n SEEK: {\n type: 'SEEK',\n index: 35,\n getEventModel: (model: KavaModel): any => ({\n targetPosition: model.getTargetPosition()\n })\n },\n /**\n * @type {string} PLAY_REACHED_25_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_25_PERCENT: {\n type: 'PLAY_REACHED_25_PERCENT',\n index: 11,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_50_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_50_PERCENT: {\n type: 'PLAY_REACHED_50_PERCENT',\n index: 12,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_75_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_75_PERCENT: {\n type: 'PLAY_REACHED_75_PERCENT',\n index: 13,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_100_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_100_PERCENT: {\n type: 'PLAY_REACHED_100_PERCENT',\n index: 14,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_90_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_90_PERCENT: {\n type: 'PLAY_REACHED_90_PERCENT',\n index: 15,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SOURCE_SELECTED\n * @memberof KavaEventType\n */\n SOURCE_SELECTED: {\n type: 'SOURCE_SELECTED',\n index: 39,\n getEventModel: (model: KavaModel): any => ({\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} AUDIO_SELECTED\n * @memberof KavaEventType\n */\n AUDIO_SELECTED: {\n type: 'AUDIO_SELECTED',\n index: 42,\n getEventModel: (model: KavaModel): any => ({\n language: model.getLanguage()\n })\n },\n /**\n * @type {string} FLAVOR_SWITCH\n * @memberof KavaEventType\n */\n FLAVOR_SWITCH: {\n type: 'FLAVOR_SWITCH',\n index: 43,\n getEventModel: (model: KavaModel): any => ({\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} SPEED\n * @memberof KavaEventType\n */\n SPEED: {\n type: 'SPEED',\n index: 41,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} CAPTIONS\n * @memberof KavaEventType\n */\n CAPTIONS: {\n type: 'CAPTIONS',\n index: 38,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} ERROR\n * @memberof KavaEventType\n */\n ERROR: {\n type: 'ERROR',\n index: 98,\n getEventModel: (model: KavaModel): any => ({\n errorCode: model.getErrorCode(),\n errorDetails: model.getErrorDetails(),\n errorPosition: model.getErrorPosition()\n })\n },\n /**\n * @type {string} RELATED_OPEN\n * @memberof KavaEventType\n */\n RELATED_OPEN: {\n type: 'RELATED_OPEN',\n index: 36,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} RELATED_SELECTED\n * @memberof KavaEventType\n */\n RELATED_SELECTED: {\n type: 'RELATED_SELECTED',\n index: 37,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SHARE_CLICKED\n * @memberof KavaEventType\n */\n SHARE_CLICKED: {\n type: 'SHARE_CLICKED',\n index: 21,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SHARE_NETWORK\n * @memberof KavaEventType\n */\n SHARE_NETWORK: {\n type: 'SHARE_NETWORK',\n index: 22,\n getEventModel: (model: KavaModel): any => ({\n socialNetwork: model.getShareNetworkName()\n })\n },\n ENTER_FULLSCREEN: {\n type: 'ENTER_FULLSCREEN',\n index: 31,\n getEventModel: (model: KavaModel): any => ({\n screenMode: model.getScreenMode()\n })\n },\n EXIT_FULLSCREEN: {\n type: 'EXIT_FULLSCREEN',\n index: 32,\n getEventModel: (model: KavaModel): any => ({\n screenMode: model.getScreenMode()\n })\n },\n DOWNLOAD: {\n type: 'DOWNLOAD',\n index: 23,\n getEventModel: (): any => ({})\n },\n REPORT_CLICKED: {\n type: 'REPORT_CLICKED',\n index: 24,\n getEventModel: (): any => ({})\n },\n REPORT_SUBMITTED: {\n type: 'REPORT_SUBMITTED',\n index: 25,\n getEventModel: (model: KavaModel): any => ({\n reportType: model.getReportType()\n })\n },\n INFO: {\n type: 'INFO',\n index: 40,\n getEventModel: (): any => ({})\n }\n};\n\nexport const KavaEventType: { [event: string]: string } = ((eventType): any => {\n Object.keys(KavaEventModel).forEach((k) => (eventType[k] = k));\n return eventType;\n})({});\n//\n// /**\n// * Gets the full event model for a certain event object including the common params.\n// * @private\n// * @param {KavaEvent} eventObj - The event model.\n// * @param {KavaModel} model - The plugin model store.\n// * @returns {Object} - The full event model.\n// */\nexport function getEventModel(eventObj: KavaEvent, model: KavaModel): any {\n const commonModel: any = {\n eventType: eventObj.index,\n partnerId: model.getPartnerId(),\n entryId: model.getEntryId(),\n sessionId: model.getSessionId(),\n eventIndex: model.getEventIndex(),\n referrer: model.getReferrer(),\n deliveryType: model.getDeliveryType(),\n playbackType: model.getPlaybackType(),\n clientVer: model.getClientVer(),\n clientTag: model.getClientTag(),\n position: model.getPosition(),\n playbackSpeed: model.getPlaybackSpeed(),\n playerSkin: model.getPlayerSkin()\n };\n\n if (model.getCaption()) {\n commonModel.caption = model.getCaption();\n }\n if (model.getSessionStartTime()) {\n commonModel.sessionStartTime = model.getSessionStartTime();\n }\n if (model.getKS()) {\n commonModel.ks = model.getKS();\n }\n if (model.getVirtualEventId()) {\n commonModel.virtualEventId = model.getVirtualEventId();\n }\n if (model.getUIConfId()) {\n commonModel.uiConfId = model.getUIConfId();\n }\n if (model.getPlaylistId()) {\n commonModel.playlistId = model.getPlaylistId();\n }\n if (model.getCustomVar1()) {\n commonModel.customVar1 = model.getCustomVar1();\n }\n if (model.getCustomVar2()) {\n commonModel.customVar2 = model.getCustomVar2();\n }\n if (model.getCustomVar3()) {\n commonModel.customVar3 = model.getCustomVar3();\n }\n if (model.getPlaybackContext()) {\n commonModel.playbackContext = model.getPlaybackContext();\n }\n if (model.getApplication()) {\n commonModel.application = model.getApplication();\n }\n if (model.getKalturaApplicationVersion()) {\n commonModel.kalturaApplicationVer = model.getKalturaApplicationVersion();\n }\n if (model.getKalturaApplication()) {\n commonModel.kalturaApplication = model.getKalturaApplication();\n }\n if (model.getUserId()) {\n commonModel.userId = model.getUserId();\n }\n if (model.getPersistentSessionId()) {\n commonModel.persistentSessionId = model.getPersistentSessionId();\n }\n if (model.getHostingKalturaApplication()) {\n commonModel.hostingKalturaApplication = model.getHostingKalturaApplication();\n }\n if (model.getHostingKalturaApplicationVersion()) {\n commonModel.hostingKalturaApplicationVersion = model.getHostingKalturaApplicationVersion();\n }\n const eventModel = eventObj.getEventModel(model);\n return Object.assign(eventModel, commonModel);\n}\n","/**\n * Manage the video rates for the KAVA plugin.\n * @private\n * @class KavaRateHandler\n */\nclass KavaRateHandler {\n private _rates: any[] = [];\n\n constructor() {\n this._rates = [];\n }\n\n /**\n * Sets the video rates.\n * @param {Array<number>} rates - The video rates.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public setRates(rates: Array<number>): void {\n this._rates = [];\n rates.forEach((rate) => {\n this._rates.push({\n rate: rate,\n active: false,\n duration: 0\n });\n });\n }\n\n /**\n * Sets the current rate.\n * @param {number} rate - The current rate.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public setCurrent(rate: number): void {\n this._rates.forEach((o) => (o.active = false));\n const obj = this._rates.find((o) => o.rate === rate);\n if (obj) {\n obj.active = true;\n }\n }\n\n /**\n * Gets the current rate.\n * @returns {number} - The current rate.\n * @memberof KavaRateHandler\n * @instance\n */\n public getCurrent(): number {\n const current = this._rates.find((o) => o.active);\n return current ? current.rate : -1;\n }\n\n /**\n * Increases the duration of the current rate.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public countCurrent(): void {\n const current = this._rates.find((o) => o.active);\n if (current) {\n current.duration++;\n }\n }\n\n /**\n * Gets the average rate.\n * @returns {number} - The average rate.\n * @memberof KavaRateHandler\n * @instance\n */\n public getAverage(): number {\n let totalDuration = 0;\n let sum = 0;\n this._rates.forEach((o) => {\n sum += o.rate * o.duration;\n totalDuration += o.duration;\n });\n return totalDuration ? sum / totalDuration : 0;\n }\n\n /**\n * Resets the duration of all rates.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public reset(): void {\n this._rates.forEach((o) => (o.duration = 0));\n }\n\n /**\n * Destroys the class.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public destroy(): void {\n this._rates = [];\n }\n}\n\nexport { KavaRateHandler };\n","import { core } from '@playkit-js/kaltura-player-js';\nconst { FakeEvent, FakeEventTarget } = core;\n\nconst SECOND: number = 1000;\n\n/**\n * Create service worker with timer.\n * @private\n * @class WorkerTimer\n * @param {void} callback - callback that triggers on timer tick.\n * @param {number} interval - interval in ms.\n */\nclass WorkerTimer {\n private worker: Worker | null = null;\n constructor(callback, interval) {\n const blob = new Blob([`setInterval(() => postMessage(0), ${interval});`]);\n const workerScript = URL.createObjectURL(blob);\n this.worker = new Worker(workerScript);\n this.worker.onmessage = callback;\n }\n\n /**\n * Terminate service worker.\n * @returns {void}\n * @memberof WorkerTimer\n * @instance\n */\n public stop(): void {\n if (this.worker) {\n this.worker.terminate();\n }\n }\n}\n\n/**\n * Mange a timer and dispatches related events.\n * @private\n * @class KavaTimer\n * @param {Object} config - The timer config.\n */\nclass KavaTimer extends FakeEventTarget {\n private _resetCounter!: number;\n private _eventCounter!: number;\n private _timer?: WorkerTimer | null;\n private _stopped!: boolean;\n private _config: any;\n\n public static Event = {\n TICK: 'tick',\n RESET: 'reset',\n REPORT: 'report'\n };\n\n constructor(config: any) {\n super();\n this._config = config;\n }\n\n /**\n * Starts the timer interval.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public start(): void {\n this._terminateTimer();\n this._stopped = false;\n this._resetCounter = 0;\n this._eventCounter = 0;\n this._timer = new WorkerTimer(() => this._monitor(), SECOND);\n }\n\n /**\n * Continues the timer to dispatch REPORT.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public resume(): void {\n this._stopped = false;\n this._resetCounter = 0;\n }\n\n /**\n * Stops the timer from dispatch REPORT and starts the timer to dispatch RESET.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public stop(): void {\n this._stopped = true;\n }\n\n /**\n * @returns {boolean} - Whether the timer is stopped.\n * @memberof KavaTimer\n * @instance\n */\n public isStopped(): boolean {\n return this._stopped;\n }\n\n /**\n * Destroys the timer.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public destroy(): void {\n this._terminateTimer();\n }\n\n private _terminateTimer(): void {\n if (this._timer) {\n this._timer.stop();\n this._timer = null;\n }\n }\n\n private _monitor(): void {\n if (this._stopped) {\n if (this._resetCounter === this._config.resetCounter) {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.RESET));\n this._resetCounter = 0;\n this._eventCounter = 0;\n }\n this._resetCounter++;\n } else {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.TICK));\n if (this._eventCounter === this._config.eventCounter) {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.REPORT));\n this._eventCounter = 0;\n }\n this._eventCounter++;\n }\n }\n}\n\nexport { KavaTimer };\n","export enum EventBucketName {\n ApplicationEvents = 'ApplicationEvents',\n PlayerEvents = 'PlayerEvents'\n}\n","// EventVar 1 in kava server\n\nexport enum ButtonType {\n Create = 1,\n Filter = 2,\n Search = 3,\n Export = 4,\n Navigate = 5,\n Schedule = 6,\n Insert = 7,\n Choose = 8,\n Launch = 9,\n Open = 10,\n Send = 11,\n Invite = 12,\n Close = 13,\n Save = 14,\n Expand = 15,\n Collapse = 16,\n Edit = 17,\n Delete = 18,\n Browse = 19,\n Load = 20,\n Add = 21,\n Menu = 22,\n Register = 23,\n Login = 24,\n Link = 25,\n Toggle = 26,\n Thumbnail = 27,\n Download = 28,\n Share = 29\n}\n","export const ApplicationEventType = {\n BUTTON_CLICKED: 10002,\n PAGE_LOAD: 10003,\n CONTENT_MILESTONE: 10004\n};\n","// // EventVar 1 in kava server\nexport enum PageLoadType {\n View = 1,\n Create = 2,\n Edit = 3,\n Participate = 4,\n List = 5,\n Analytics = 6,\n Admin = 7,\n Error = 8,\n Login = 9,\n Registration = 10,\n Custom = 11\n}\n","const playkitUIEventsNamespace = 'playkit-ui';\nexport const PlaykitUIEvents = {\n USER_CLICKED_LOGO: `${playkitUIEventsNamespace}-userclickedlogo`,\n USER_SELECTED_CAPTIONS_SIZE: `${playkitUIEventsNamespace}-userselectedcaptionssize`,\n USER_SELECTED_CAPTIONS_WEIGHT: `${playkitUIEventsNamespace}-userselectedcaptionsweight`,\n USER_SELECTED_CAPTIONS_ALIGNMENT: `${playkitUIEventsNamespace}-userselectedcaptionsalignment`,\n USER_SELECTED_CAPTIONS_FONT_COLOR: `${playkitUIEventsNamespace}-userselectedcaptionsfontcolor`,\n USER_SELECTED_CAPTIONS_FONT_FAMILY: `${playkitUIEventsNamespace}-userselectedcaptionsfontfamily`,\n USER_SELECTED_CAPTIONS_FONT_STYLE: `${playkitUIEventsNamespace}-userselectedcaptionsfontstyle`,\n USER_SELECTED_CAPTIONS_FONT_OPACITY: `${playkitUIEventsNamespace}-userselectedcaptionsfontopacity`,\n USER_SELECTED_CAPTIONS_BACKGROUND_COLOR: `${playkitUIEventsNamespace}-userselectedcaptionsbackgroundcolor`,\n USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY: `${playkitUIEventsNamespace}-userselectedcaptionsbackgroundopacity`,\n USER_SHOWED_CAPTIONS: `${playkitUIEventsNamespace}-usershowedcaptions`,\n USER_HID_CAPTIONS: `${playkitUIEventsNamespace}-userhidcaptions`,\n USER_SELECTED_CAPTION_TRACK: `${playkitUIEventsNamespace}-userselectedcaptiontrack`,\n USER_SELECTED_AUDIO_TRACK: `${playkitUIEventsNamespace}-userselectedaudiotrack`,\n USER_COPIED_DEBUG_INFO: `${playkitUIEventsNamespace}-usercopieddebuginfo`,\n DISPLAY_INFO_BEFORE_PLAYBACK: `${playkitUIEventsNamespace}-displayinfobeforeplayback`,\n USER_SELECTED_CAPTIONS_PRESET_MINIMALIST: `${playkitUIEventsNamespace}-userselectedcaptionspresetminimalist`,\n USER_SELECTED_CAPTIONS_PRESET_HIGH_CONTRAST: `${playkitUIEventsNamespace}-userselectedcaptionspresethighcontrast`,\n USER_SELECTED_CAPTIONS_PRESET_CLASSIC_TV_STYLE: `${playkitUIEventsNamespace}-userselectedcaptionspresetclassictvstyle`,\n USER_SELECTED_CAPTIONS_PRESET_EASY_READING: `${playkitUIEventsNamespace}-userselectedcaptionspreseteasyreading`,\n USER_SELECTED_CAPTIONS_PRESET_EARLY_READERS: `${playkitUIEventsNamespace}-userselectedcaptionspresetearlyreaders`,\n USER_SELECTED_CAPTIONS_PRESET_NIGHT_MODE: `${playkitUIEventsNamespace}-userselectedcaptionspresetnightmode`,\n USER_SELECTED_CAPTIONS_CUSTOM: `${playkitUIEventsNamespace}-userselectedcaptionscustom`\n};\n\nexport const NavigationEvents = {\n NAVIGATION_OPEN: 'navigation_open',\n NAVIGATION_CLOSE: 'navigation_close',\n NAVIGATION_SEARCH: 'navigation_search',\n NAVIGATION_ITEM_CLICK: 'navigation_item_click',\n NAVIGATION_EXPANDABLE_TEXT_CLICK: 'navigation_expandable_text_clicked'\n};\n\nexport const DownloadEvents = {\n DOWNLOAD_ITEM_CLICKED: 'download_item_clicked',\n SHOW_OVERLAY: 'download_show_overlay',\n HIDE_OVERLAY: 'download_hide_overlay',\n DOWNLOAD_SUMMARY_CHAPTERS_DOWNLOAD: 'download_summary_chapters_download'\n};\n\nexport const TranscriptEvents = {\n TRANSCRIPT_OPEN: 'transcript_open',\n TRANSCRIPT_CLOSE: 'transcript_close',\n TRANSCRIPT_DOWNLOAD: 'transcript_download',\n TRANSCRIPT_PRINT: 'transcript_print',\n TRANSCRIPT_SEARCH: 'transcript_search',\n TRANSCRIPT_NAVIGATE_RESULT: 'transcript_navigate_result',\n TRANSCRIPT_POPOUT_OPEN: 'transcript_popout_open',\n TRANSCRIPT_POPOUT_CLOSE: 'transcript_popout_close',\n TRANSCRIPT_POPOUT_DRAG: 'transcript_popout_drag',\n TRANSCRIPT_POPOUT_RESIZE: 'transcript_popout_resize'\n};\n\nexport const EadEvents = {\n EAD_ON: 'EAD_on',\n EAD_OFF: 'EAD_off',\n EAD_SKIP: 'EAD_skip',\n EAD_REPLAY: 'EAD_replay',\n EAD_PAUSE: 'EAD_pause',\n EAD_RESUME: 'EAD_resume',\n EAD_PLAY: 'EAD_play',\n EAD_SCROLL: 'EAD_scroll'\n};\n\nexport const DualscreenEvents = {\n CHANGE_LAYOUT: 'dualscreen_change_layout',\n SIDE_DISPLAYED: 'dualscreen_side_displayed'\n};\nexport const ShareEvents = {\n SHARE_CLICKED: 'share_clicked',\n SHARE_CLOSE: 'share_close',\n SHARE_NETWORK: 'share_network',\n SHARE_COPY: 'share_copy'\n};\n\nexport const BumperEvents = {\n BUMPER_CLICKED: 'bumper_clicked'\n};\nexport const SkipEvents = {\n SKIP_BUTTON_CLICK: 'skip_button_click',\n SKIP_BUTTON_DISPLAYED: 'skip_button_displayed'\n};\nexport const PlaylistEvents = {\n PLAYLIST_OPEN: 'playlist_open',\n PLAYLIST_CLOSE: 'playlist_close'\n};\n\nexport const RelatedEvents = {\n RELATED_OPEN: 'related_open',\n RELATED_CLOSE: 'related_close',\n RELATED_ENTRY_SELECTED: 'related_entry_selected',\n RELATED_ENTRY_AUTO_PLAYED: 'related_entry_auto_played',\n RELATED_GRID_DISPLAYED: 'related_grid_displayed'\n};\n\nexport const CallToActionEvents = {\n CALL_TO_ACTION_BUTTON_CLICK: 'call_to_action_button_click',\n CALL_TO_ACTION_DISPLAYED: 'call_to_action_displayed'\n};\n\nexport const HotspotsEvents = {\n HOTSPOT_CLICK: 'hotspot_click',\n HOTSPOT_DISPLAYED: 'hotspot_displayed'\n};\n\nexport const IvqEventTypes = {\n QUIZ_STARTED: 'QuizStarted',\n QUIZ_SKIPPED: 'QuizSkipped',\n QUIZ_SEEK: 'QuizSeek',\n QUESTION_ANSWERED: 'QuestionAnswered',\n QUIZ_SUBMITTED: 'QuizSubmitted',\n QUIZ_RETAKE: 'QuizRetake',\n QUIZ_QUESTION_CHANGED: 'QuizQuestionChanged'\n};\n\nexport const DetectAdBlockEvents = {\n DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN: 'detect_ad_block_partial_overlay_shown',\n DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN: 'detect_ad_block_full_overlay_shown',\n DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED: 'detect_ad_block_secondary_button_clicked',\n DETECT_AD_BLOCK_X_BUTTON_CLICKED: 'detect_ad_block_x_button_clicked',\n DETECT_AD_BLOCK_AD_BLOCKER_DISABLED: 'detect_ad_block_ad_blocker_disabled',\n DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED: 'detect_ad_block_ad_blocker_not_disabled'\n};\n\nexport const ReelsEvents = {\n REELS_PLAY: 'reels_play',\n REELS_PAUSE: 'reels_pause',\n REELS_MUTE: 'reels_mute',\n REELS_UNMUTE: 'reels_unmute',\n REELS_SEEK: 'reels_seek',\n REELS_POSTER_CLICKED: 'reels_poster_clicked',\n REELS_ENTRY_LOADED: 'reels_entry_loaded',\n REELS_PLAYLIST_LOADED: 'reels_playlist_loaded'\n};\n\nexport const SummaryAndChaptersEvents = {\n SUMMARY_CHAPTERS_OPEN: 'summary_chapters_open',\n SUMMARY_CHAPTERS_CLOSE: 'summary_chapters_close',\n SUMMARY_CHAPTERS_READ_CHAPTERS: 'summary_chapters_read_chapters',\n SUMMARY_CHAPTERS_READ_OVERVIEW: 'summary_chapters_read_overview',\n SUMMARY_CHAPTERS_COPY_TO_CLIPBOARD: 'summary_chapters_copy_to_clipboard',\n SUMMARY_CHAPTERS_CHAPTER_EXPAND: 'summary_chapters_chapter_expand',\n SUMMARY_CHAPTERS_CHAPTER_COLLAPSE: 'summary_chapters_chapter_collapse',\n SUMMARY_CHAPTERS_CHAPTER_SEEK: 'summary_chapters_chapter_seek',\n SUMMARY_CHAPTERS_CHAPTER_SHARE: 'summary_chapters_chapter_share',\n SUMMARY_CHAPTERS_DOWNLOAD_SUMMARY: 'summary_chapters_download_summary',\n SUMMARY_CHAPTERS_DISPLAY_BEFORE_PLAYBACK: 'summary_chapters_display_before_playback',\n SUMMARY_CHAPTERS_ALLOW_DOWNLOAD_TOGGLED: 'summary_chapters_allow_download_toggled',\n SUMMARY_CHAPTERS_ALLOW_SHARE_CHAPTER_TOGGLED: 'summary_chapters_allow_share_chapter_toggled',\n SUMMARY_CHAPTERS_PANEL_POSITION_CHANGED: 'summary_chapters_panel_position_changed',\n SUMMARY_CHAPTERS_EXPAND_MODE_CHANGED: 'summary_chapters_expand_mode_changed',\n SUMMARY_CHAPTERS_EXPAND_ON_FIRST_PLAY_TOGGLED: 'summary_chapters_expand_on_first_play_toggled',\n SUMMARY_CHAPTERS_LAYOUT_CHANGED: 'summary_chapters_layout_changed'\n};\n\nexport const AudioPlayerEvents = {\n AUDIO_PLAYER_VISUALIZATION_STATE: 'audio_player_visualization_state'\n};\n\nexport const CpeTrackerEvents = {\n CPE_TRACKER_HOVER: 'cpe_tracker_hover'\n};\n\nexport const BannerOverlayEvents = {\n BANNER_MESSAGE_DISPLAYS: 'banner_message_displays',\n BANNER_MESSAGE_MANUALLY_DISMISSED: 'banner_message_manually_dismissed'\n};\n\n// events fired by the kava plugin itself - the kava plugin does not listen to these events\nexport const KavaEvents = {\n KAVA_REQUEST_SUCCEEDED: 'kava_request_succeeded',\n KAVA_REQUEST_FAILED: 'kava_request_failed'\n};\n\nexport const GenieEvents = {\n GENIE_OPEN_AUTO: 'genie_open_auto',\n GENIE_OPEN_MANUAL: 'genie_open_manual',\n GENIE_CLOSE: 'genie_close',\n GENIE_NEW_THREAD: 'genie_new_thread'\n};\n\nexport const VodCompletionEvents = {\n VOD_COMPLETION_VIDEO_STARTED: 'vod_completion_video_started',\n VOD_COMPLETION_VIDEO_COMPLETED: 'vod_completion_video_completed'\n};\n\nexport const PostMessageBridgeEvents = {\n POST_MESSAGE_BRIDGE_ACTIVE: 'post_message_bridge_active'\n};\n\nexport const PluginsEvents = {\n ...NavigationEvents,\n ...DownloadEvents,\n ...TranscriptEvents,\n ...DualscreenEvents,\n ...ShareEvents,\n ...BumperEvents,\n ...SkipEvents,\n ...PlaylistEvents,\n ...RelatedEvents,\n ...CallToActionEvents,\n ...HotspotsEvents,\n ...IvqEventTypes,\n ...DetectAdBlockEvents,\n ...ReelsEvents,\n ...EadEvents,\n ...SummaryAndChaptersEvents,\n ...AudioPlayerEvents,\n ...CpeTrackerEvents,\n ...BannerOverlayEvents,\n ...GenieEvents,\n ...VodCompletionEvents,\n ...PostMessageBridgeEvents\n};\n","type ApplicationType = { [app: string]: string };\n\nconst KalturaApplication: ApplicationType = {\n KMC: '0',\n KMS: '1',\n KAF: '2',\n PITCH: '3',\n KMS_GO: '4',\n WEBCASTING: '5',\n PERSONAL_CAPTURE: '6',\n KME: '7',\n KME_MOBILE_APP: '8',\n PATH: '9',\n LECTURE_CAPTURE: '10',\n EP: '11',\n CHAT_AND_COLLABORATION: '12',\n ANALYTICS: '13',\n EXPRESS_CAPTURE: '14',\n KPF: '15',\n KAF_GO: '16',\n SITES: '17',\n STUDIO: '18',\n CAPTIONS_EDITOR: '19',\n CHECKLIST: '20',\n PLAYER: '21',\n GENIE: '23'\n};\n\nexport { KalturaApplication };\nexport type { ApplicationType };\n","export enum ApplicationFeature {\n DUAL_SCREEN = 'dual_screen',\n SHARE_EMBED = 'share_embed',\n DOWNLOAD = 'download',\n BUMPER = 'bumper',\n NAVIGATION = 'navaigation',\n TRANSCRIPT = 'transcript',\n PLAYLIST = 'playlist',\n SKIP = 'skip',\n RELATED = 'related',\n CALL_TO_ACTION = 'call_to_action',\n HOTSPOPT = 'hotspot',\n QUIZ = 'quiz',\n UI = 'ui',\n DETECT_AD_BLOCK = 'detect_ad_block',\n REELS = 'reels_player',\n EAD = 'extended_audio_description',\n ADVANCED_CAPTIONS = 'advanced_captions',\n CAPTIONS = 'captions',\n AUDION_TRACKS = 'audio_tracks',\n SUMMARY_CHAPTERS = 'summary_chapters',\n DEBUG_INFO = 'debug_info',\n AUDIO_PLAYER = 'audio_player',\n CPE_TRACKER = 'cpe_tracker',\n BANNER_OVERLAY = 'banner_overlay',\n GENIE = 'genie',\n VOD_COMPLETION = 'vod_completion',\n POST_MESSAGE_BRIDGE = 'post_message_bridge'\n}\n","import { KavaModel } from './kava-model';\nimport { KavaEvent } from './types';\nimport { ButtonType } from './enums/button-type';\nimport { ApplicationEventType } from './enums/application-event-type';\nimport { PageLoadType } from './enums/page-load-type';\nimport { PlaykitUIEvents, PluginsEvents } from './applications-events';\nimport { KalturaApplication } from './enums/kaltura-application';\nimport { ApplicationFeature } from './enums/application-feature';\n\nexport function getApplicationEventsModel(eventObj: KavaEvent, model: KavaModel, innerEventPayload: any): any {\n const commonModel = {\n partnerId: model.getPartnerId(),\n entryId: model.getEntryId(),\n sessionId: model.getSessionId(),\n kalturaApplication: KalturaApplication.PLAYER,\n application: model.getApplication(false)\n };\n\n if (model.getVirtualEventId()) {\n commonModel['virtualEventId'] = model.getVirtualEventId();\n }\n if (model.getKalturaApplicationVersion()) {\n commonModel['kalturaApplicationVer'] = model.getKalturaApplicationVersion();\n }\n if (model.getUserId()) {\n commonModel['userId'] = model.getUserId();\n }\n if (model.getKS()) {\n commonModel['ks'] = model.getKS();\n }\n if (model.getHostingKalturaApplication()) {\n commonModel['hostingKalturaApplication'] = model.getHostingKalturaApplication();\n }\n if (model.getHostingKalturaApplicationVersion()) {\n commonModel['hostingKalturaApplicationVersion'] = model.getHostingKalturaApplicationVersion();\n }\n\n const eventModel = eventObj.getEventModel(innerEventPayload);\n const namedEventModel = {};\n const { eventType, eventVar1, eventVar2, eventVar3, eventVar4, applicationFeature } = eventModel;\n namedEventModel['eventType'] = eventType;\n namedEventModel['feature'] = applicationFeature;\n\n if (eventModel.eventType === ApplicationEventType.BUTTON_CLICKED) {\n namedEventModel['buttonName'] = eventVar1;\n namedEventModel['buttonType'] = eventVar2;\n namedEventModel['buttonValue'] = eventVar3;\n namedEventModel['buttonInfo'] = eventVar4;\n } else if (eventModel.eventType === ApplicationEventType.PAGE_LOAD) {\n namedEventModel['pageName'] = eventVar1;\n namedEventModel['pageType'] = eventVar2;\n namedEventModel['pageValue'] = eventVar3;\n namedEventModel['pageInfo'] = eventVar4;\n } else if (eventModel.eventType === ApplicationEventType.CONTENT_MILESTONE) {\n namedEventModel['eventName'] = eventVar1;\n if (typeof eventVar2 !== 'undefined') {\n namedEventModel['completionThreshold'] = eventVar2;\n }\n }\n\n return Object.assign(namedEventModel, commonModel);\n}\n\nexport const ApplicationEventsModel: { [playerEventName: string]: KavaEvent } = {\n [PluginsEvents.CHANGE_LAYOUT]: {\n type: 'CHANGE_LAYOUT',\n getEventModel: ({ layout }: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: layout !== 'Hidden' ? 'Dual__screen_change_layout' : '',\n eventVar2: ButtonType.Choose,\n eventVar3: layout,\n applicationFeature: ApplicationFeature.DUAL_SCREEN\n })\n },\n [PluginsEvents.SIDE_DISPLAYED]: {\n type: 'SIDE_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Dual__screen_slide_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.DUAL_SCREEN\n })\n },\n [PluginsEvents.SHARE_CLICKED]: {\n type: 'SHARE_CLICKED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_open',\n eventVar2: ButtonType.Open,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.SHARE_CLOSE]: {\n type: 'SHARE_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.SHARE_NETWORK]: {\n type: 'SHARE_NETWORK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Share,\n eventVar3: payload['videoClippingOption'] === 'full' ? 'full-length' : payload['videoClippingOption'],\n applicationFeature: ApplicationFeature.SHARE_EMBED\n };\n let eventVar1: string = '';\n\n switch (payload.socialNetworkName) {\n case 'twitter':\n eventVar1 = 'Share_embed_X_click';\n break;\n case 'facebook':\n eventVar1 = 'Share_embed_facebook_click';\n break;\n case 'email':\n eventVar1 = 'Share_embed_email_click';\n break;\n case 'linkedin':\n eventVar1 = 'Share_embed_linkedin_click';\n break;\n case 'embed':\n eventVar1 = 'Share_embed_embed_click';\n break;\n }\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.SHARE_COPY]: {\n type: 'SHARE_COPY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_copy_click',\n eventVar2: ButtonType.Share,\n eventVar3: payload['videoClippingOption'] === 'full' ? 'full-length' : payload['videoClippingOption'],\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.DOWNLOAD_ITEM_CLICKED]: {\n type: 'DOWNLOAD_ITEM_CLICKED',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Download,\n applicationFeature: ApplicationFeature.DOWNLOAD\n };\n const { assetType, fileType, description, isDefault } = payload;\n\n let eventVar1: string;\n let eventVar3: string;\n\n switch (assetType) {\n case 'Media':\n eventVar1 = isDefault ? 'Download_video_download' : 'Download_additional_stream_download';\n eventVar3 = description;\n break;\n case 'Captions':\n eventVar1 = 'Download_captions_download';\n eventVar3 = description;\n break;\n case 'Attachments':\n eventVar1 = 'Download_attachment_download';\n eventVar3 = fileType;\n break;\n default:\n eventVar1 = '';\n eventVar3 = '';\n }\n return { ...model, eventVar1, eventVar3 };\n }\n },\n [PluginsEvents.SHOW_OVERLAY]: {\n type: 'SHOW_OVERLAY',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_open',\n eventVar2: ButtonType.Open,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.HIDE_OVERLAY]: {\n type: 'HIDE_OVERLAY',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.DOWNLOAD_SUMMARY_CHAPTERS_DOWNLOAD]: {\n type: 'DOWNLOAD_SUMMARY_CHAPTERS_DOWNLOAD',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_summary_chapters_download',\n eventVar2: ButtonType.Download,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.BUMPER_CLICKED]: {\n type: 'BUMPER_CLICKED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Bumper_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['clickThroughUrl'],\n applicationFeature: ApplicationFeature.BUMPER\n })\n },\n [PluginsEvents.NAVIGATION_OPEN]: {\n type: 'NAVIGATION_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Navigation_open_auto' : 'Navigation_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n })\n },\n [PluginsEvents.NAVIGATION_CLOSE]: {\n type: 'NAVIGATION_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Navigation_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n })\n },\n [PluginsEvents.NAVIGATION_SEARCH]: {\n type: 'NAVIGATION_SEARCH',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n let eventVar1: string = '';\n let eventVar2: ButtonType = ButtonType.Open;\n\n const { searchQuery, activeTab, availableTabs } = payload;\n\n const eventVar3 = searchQuery;\n switch (activeTab) {\n case 'All':\n const isItSearch = searchQuery.length > 0 || availableTabs.length === 0;\n eventVar1 = isItSearch ? 'Navigation_search' : 'Navigation_all_tab';\n eventVar2 = isItSearch ? ButtonType.Search : ButtonType.Open;\n break;\n case 'Chapter':\n eventVar1 = 'Navigation_chapters_tab';\n break;\n case 'Slide':\n eventVar1 = 'Navigation_slides_tab';\n break;\n case 'Hotspot':\n eventVar1 = 'Navigation_hotspots_tab';\n break;\n }\n return { ...model, eventVar1, eventVar2, eventVar3 };\n }\n },\n [PluginsEvents.NAVIGATION_ITEM_CLICK]: {\n type: 'NAVIGATION_ITEM_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n let eventVar1: string = '';\n\n switch (payload.itemType) {\n case 'Chapter':\n eventVar1 = 'Navigation_chapter_click';\n break;\n case 'Slide':\n eventVar1 = 'Navigation_slide_click';\n break;\n case 'Hotspot':\n eventVar1 = 'Navigation_hotspots_click';\n break;\n }\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.NAVIGATION_EXPANDABLE_TEXT_CLICK]: {\n type: 'NAVIGATION_EXPANDABLE_TEXT_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n const { isTextExpanded, itemType } = payload;\n\n let eventVar1: string = '';\n const eventVar2 = isTextExpanded ? ButtonType.Expand : ButtonType.Collapse;\n\n switch (itemType) {\n case 'Chapter':\n eventVar1 = isTextExpanded ? 'Navigation_chapters_see_more' : 'Navigation_chapters_see_less';\n break;\n case 'Slide':\n eventVar1 = isTextExpanded ? 'Navigation_slides_see_more' : 'Navigation_slides_see_less';\n break;\n case 'Hotspot':\n eventVar1 = isTextExpanded ? 'Navigation_hotspots_see_more' : 'Navigation_hotspots_see_less';\n break;\n }\n\n return { ...model, eventVar1, eventVar2 };\n }\n },\n\n [PluginsEvents.TRANSCRIPT_OPEN]: {\n type: 'TRANSCRIPT_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Transcript_open_auto' : 'Transcript_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_CLOSE]: {\n type: 'TRANSCRIPT_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_DOWNLOAD]: {\n type: 'TRANSCRIPT_DOWNLOAD',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_download',\n eventVar2: ButtonType.Download,\n eventVar3: payload['videoPosition'],\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_PRINT]: {\n type: 'TRANSCRIPT_PRINT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_print',\n eventVar2: ButtonType.Download,\n eventVar3: payload['videoPosition'],\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_SEARCH]: {\n type: 'TRANSCRIPT_SEARCH',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_search',\n eventVar2: ButtonType.Search,\n eventVar3: payload.search,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_NAVIGATE_RESULT]: {\n type: 'TRANSCRIPT_NAVIGATE_RESULT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_navigate_result',\n eventVar2: ButtonType.Navigate,\n eventVar3: payload.index,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_OPEN]: {\n type: 'TRANSCRIPT_POPOUT_OPEN',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_open',\n eventVar2: ButtonType.Expand,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_CLOSE]: {\n type: 'TRANSCRIPT_POPOUT_CLOSE',\n getEventModel: (payload: { type: string }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_close',\n eventVar2: ButtonType.Collapse,\n eventVar3: payload.type,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_DRAG]: {\n type: 'TRANSCRIPT_POPOUT_DRAG',\n getEventModel: (payload: { position: { x: number; y: number } }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_drag',\n eventVar2: ButtonType.Edit,\n eventVar3: `${payload.position.x},${payload.position.y}`,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_RESIZE]: {\n type: 'TRANSCRIPT_POPOUT_RESIZE',\n getEventModel: (payload: { size: { x: number; y: number } }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_resize',\n eventVar2: ButtonType.Edit,\n eventVar3: `${payload.size.x},${payload.size.y}`,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.PLAYLIST_OPEN]: {\n type: 'PLAYLIST_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Playlist_side_panel_open_auto' : 'Playlist_side_panel_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: payload['position'],\n applicationFeature: ApplicationFeature.PLAYLIST\n })\n },\n [PluginsEvents.PLAYLIST_CLOSE]: {\n type: 'PLAYLIST_CLOSE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Playlist_side_panel_close_manual',\n eventVar2: ButtonType.Close,\n eventVar3: payload['position'],\n applicationFeature: ApplicationFeature.PLAYLIST\n })\n },\n [PluginsEvents.SKIP_BUTTON_CLICK]: {\n type: 'SKIP_BUTTON_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SKIP\n };\n\n const { mode } = payload;\n let eventVar1: string = '';\n\n if (mode === 'intro') eventVar1 = 'Skip_intro_click';\n if (mode === 'outro') eventVar1 = 'Skip_outro_click';\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.SKIP_BUTTON_DISPLAYED]: {\n type: 'SKIP_BUTTON_DISPLAYED',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SKIP\n };\n\n const { mode } = payload;\n let eventVar1: string = '';\n\n if (mode === 'intro') eventVar1 = 'Skip_intro_displayed';\n if (mode === 'outro') eventVar1 = 'Skip_outro_displayed';\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.RELATED_OPEN]: {\n type: 'RELATED_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_open_manual',\n eventVar2: ButtonType.Open,\n eventVar3: payload['expandMode'],\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_CLOSE]: {\n type: 'RELATED_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_ENTRY_SELECTED]: {\n type: 'RELATED_ENTRY_SELECTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_entry_click',\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_ENTRY_AUTO_PLAYED]: {\n type: 'RELATED_ENTRY_AUTO_PLAYED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Related_entry_auto_continue',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_GRID_DISPLAYED]: {\n type: 'RELATED_GRID_DISPLAYED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Related_open_auto',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.CALL_TO_ACTION_BUTTON_CLICK]: {\n type: 'CALL_TO_ACTION_BUTTON_CLICK',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar3: payload['label'],\n eventVar2: ButtonType.Link,\n eventVar1: payload['type'] === 'primary' ? 'CTA_primary_button_click' : 'CTA_secondary_button_click',\n applicationFeature: ApplicationFeature.CALL_TO_ACTION\n })\n },\n [PluginsEvents.CALL_TO_ACTION_DISPLAYED]: {\n type: 'CALL_TO_ACTION_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'CTA_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload.displayType,\n eventVar4: payload.isMetadataBased ? 'metadata_based' : 'player_level',\n applicationFeature: ApplicationFeature.CALL_TO_ACTION\n })\n },\n [PluginsEvents.HOTSPOT_DISPLAYED]: {\n type: 'HOTSPOT_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Hotspot_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload['label'],\n applicationFeature: ApplicationFeature.HOTSPOPT\n })\n },\n [PluginsEvents.HOTSPOT_CLICK]: {\n type: 'HOTSPOT_CLICK',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Hotspot_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['label'],\n applicationFeature: ApplicationFeature.HOTSPOPT\n })\n },\n [PluginsEvents.QUIZ_STARTED]: {\n type: 'QUIZ_STARTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_start',\n eventVar2: ButtonType.Load,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SUBMITTED]: {\n type: 'QUIZ_SUBMITTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_submit',\n eventVar2: ButtonType.Send,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SKIPPED]: {\n type: 'QUIZ_SKIPPED',\n getEventModel: ({ questionIndex }: { questionIndex: number }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_skip_question',\n eventVar2: ButtonType.Navigate,\n eventVar3: questionIndex,\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SEEK]: {\n type: 'QUIZ_SEEK',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_nav_click',\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.EAD_ON]: {\n type: 'EAD_ON',\n getEventModel: (payload: any) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_on',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n eventVar4: payload?.settings ? 'settings' : 'toggle',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_OFF]: {\n type: 'EAD_OFF',\n getEventModel: (payload: any) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_off',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n eventVar4: payload?.settings ? 'settings' : 'toggle',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_SKIP]: {\n type: 'EAD_SKIP',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_skip',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_REPLAY]: {\n type: 'EAD_REPLAY',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_replay',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_PAUSE]: {\n type: 'EAD_PAUSE',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_pause',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_RESUME]: {\n type: 'EAD_PAUSE',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_resume',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_PLAY]: {\n type: 'EAD_PLAY',\n getEventModel: (payload: any) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_play',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.showText ?? '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_SCROLL]: {\n type: 'EAD_SCROLL',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_scroll',\n eventVar2: ButtonType.Browse,\n eventVar3: '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PlaykitUIEvents.USER_CLICKED_LOGO]: {\n type: 'USER_CLICKED_LOGO',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Logo_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['logoUrl'],\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_SIZE]: {\n type: 'USER_SELECTED_CAPTIONS_SIZE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_size',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_WEIGHT]: {\n type: 'USER_SELECTED_CAPTIONS_WEIGHT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_weight',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_ALIGNMENT]: {\n type: 'USER_SELECTED_CAPTIONS_ALIGNMENT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_alignment',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_COLOR]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_COLOR',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_color',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_FAMILY]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_FAMILY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_family',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_STYLE]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_STYLE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_style',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_OPACITY]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_OPACITY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_opacity',\n eventVar2: ButtonType.Choose,\n eventVar3: `${payload * 100}%`,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_BACKGROUND_COLOR]: {\n type: 'USER_SELECTED_CAPTIONS_BACKGROUND_COLOR',\n getEventModel: (payload: number): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_background_color',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY]: {\n type: 'USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY',\n getEventModel: (payload: number): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_background_opacity',\n eventVar2: ButtonType.Choose,\n eventVar3: `${payload * 100}%`,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_MINIMALIST]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_MINIMALIST',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_minimalist',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_HIGH_CONTRAST]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_HIGH_CONTRAST',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_high_contrast',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_CLASSIC_TV_STYLE]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_CLASSIC_TV_STYLE',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_classic_tv_style',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_EASY_READING]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_EASY_READING',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_easy_reading',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_EARLY_READERS]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_EARLY_READERS',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_early_readers',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_PRESET_NIGHT_MODE]: {\n type: 'USER_SELECTED_CAPTIONS_PRESET_NIGHT_MODE',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_preset_night_mode',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_CUSTOM]: {\n type: 'USER_SELECTED_CAPTIONS_CUSTOM',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: ButtonType.Choose,\n eventVar2: 'Advanced_captions_custom',\n eventVar3: '',\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SHOWED_CAPTIONS]: {\n type: 'USER_SHOWED_CAPTIONS',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Captions_on',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n applicationFeature: ApplicationFeature.CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_HID_CAPTIONS]: {\n type: 'USER_HID_CAPTIONS',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Captions_off',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n applicationFeature: ApplicationFeature.CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTION_TRACK]: {\n type: 'USER_SELECTED_CAPTION_TRACK',\n getEventModel: ({ captionTrack, autoSelected }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Captions_language_selected',\n eventVar2: ButtonType.Choose,\n eventVar3: captionTrack?.language,\n eventVar4: autoSelected ? 'Auto display' : 'Manual selection',\n applicationFeature: ApplicationFeature.CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_AUDIO_TRACK]: {\n type: 'USER_SELECTED_AUDIO_TRACK',\n getEventModel: ({ audioTrack }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'audioSelected',\n eventVar2: ButtonType.Choose,\n eventVar3: audioTrack?.language,\n eventVar4: audioTrack?.language?.startsWith('ad-') ? 'AD' : 'non_AD',\n applicationFeature: ApplicationFeature.AUDION_TRACKS\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN]: {\n type: 'DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN',\n getEventModel: () => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'Ad_blocker_displayed',\n eventVar3: 'Allow_playback',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN]: {\n type: 'DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN',\n getEventModel: () => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'Ad_blocker_displayed',\n eventVar3: 'Block_playback',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED]: {\n type: 'DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_keep_watching',\n eventVar3: 'secondary_button',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_X_BUTTON_CLICKED]: {\n type: 'DETECT_AD_BLOCK_X_BUTTON_CLICKED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_keep_watching',\n eventVar3: 'x_button',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_AD_BLOCKER_DISABLED]: {\n type: 'DETECT_AD_BLOCK_AD_BLOCKER_DISABLED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_disabled_ad_blocker',\n eventVar3: 'disabled',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED]: {\n type: 'DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_disabled_ad_blocker',\n eventVar3: 'still_detected',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.REELS_PLAY]: {\n type: 'REELS_PLAY',\n getEventModel: ({ duration, isResume }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_play_click',\n eventVar3: isResume ? 'resume' : 'manual_play',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_PAUSE]: {\n type: 'REELS_PAUSE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_pause',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_MUTE]: {\n type: 'REELS_MUTE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_mute',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_UNMUTE]: {\n type: 'REELS_UNMUTE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_unmute',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_SEEK]: {\n type: 'REELS_SEEK',\n getEventModel: ({ duration, from, to }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar1: 'reels_seek',\n eventVar3: to > from ? 'forward' : 'backward',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_POSTER_CLICKED]: {\n type: 'REELS_POSTER_CLICKED',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_navigate_to_entry',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_ENTRY_LOADED]: {\n type: 'REELS_ENTRY_LOADED',\n getEventModel: ({ muted, playlistId }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'reels_entry_start_playback',\n eventVar3: muted ? 'muted' : 'unmuted',\n eventVar4: playlistId,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_PLAYLIST_LOADED]: {\n type: 'REELS_PLAYLIST_LOADED',\n getEventModel: ({ muted, autoplay, playlistId }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'reels_playlist_load',\n eventVar3: `${muted ? 'muted' : 'unmuted'} ; ${autoplay ? 'autoplay_on' : 'autoplay_off'}`,\n eventVar4: playlistId,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_OPEN]: {\n type: 'SUMMARY_CHAPTERS_OPEN',\n getEventModel: ({ buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Toggle,\n eventVar1: 'summary_chapters_open_plugin',\n eventVar3: buttonName,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CLOSE]: {\n type: 'SUMMARY_CHAPTERS_CLOSE',\n getEventModel: ({ buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Toggle,\n eventVar1: 'summary_chapters_close_plugin',\n eventVar3: buttonName,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_READ_CHAPTERS]: {\n type: 'SUMMARY_CHAPTERS_READ_CHAPTERS',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'summary_chapters_read_as_chapters',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_READ_OVERVIEW]: {\n type: 'SUMMARY_CHAPTERS_READ_OVERVIEW',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'summary_chapters_read_as_overview',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_COPY_TO_CLIPBOARD]: {\n type: 'SUMMARY_CHAPTERS_COPY_TO_CLIPBOARD',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'summary_chapters_copy_to_clipboard',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CHAPTER_EXPAND]: {\n type: 'SUMMARY_CHAPTERS_CHAPTER_EXPAND',\n getEventModel: ({ chapterNumber, buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Expand,\n eventVar1: 'summary_chapters_expand_chapter',\n eventVar3: buttonName,\n eventVar4: chapterNumber + 1,\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CHAPTER_COLLAPSE]: {\n type: 'SUMMARY_CHAPTERS_CHAPTER_COLLAPSE',\n getEventModel: ({ chapterNumber, buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Collapse,\n eventVar1: 'summary_chapters_collapse_chapter',\n eventVar3: buttonName,\n eventVar4: chapterNumber + 1,\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CHAPTER_SEEK]: {\n type: 'SUMMARY_CHAPTERS_CHAPTER_SEEK',\n getEventModel: ({ chapterNumber, buttonName }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar1: 'summary_chapters_seek_to_chapter',\n eventVar3: buttonName,\n eventVar4: chapterNumber + 1,\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_DOWNLOAD_SUMMARY]: {\n type: 'SUMMARY_CHAPTERS_DOWNLOAD_SUMMARY',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Download,\n eventVar1: 'summary_chapters_download_summary',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_CHAPTER_SHARE]: {\n type: 'SUMMARY_CHAPTERS_CHAPTER_SHARE',\n getEventModel: ({ chapterNumber }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Share,\n eventVar1: 'summary_chapters_share_chapter',\n eventVar3: chapterNumber + 1,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_DISPLAY_BEFORE_PLAYBACK]: {\n type: 'SUMMARY_CHAPTERS_DISPLAY_BEFORE_PLAYBACK',\n getEventModel: ({ displayBeforePlay }): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'summary_chapters_display_before_playback',\n eventVar2: PageLoadType.View,\n eventVar3: displayBeforePlay,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_ALLOW_DOWNLOAD_TOGGLED]: {\n type: 'SUMMARY_CHAPTERS_ALLOW_DOWNLOAD_TOGGLED',\n getEventModel: ({ allowDownload }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_allow_download_toggled',\n eventVar3: allowDownload,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_ALLOW_SHARE_CHAPTER_TOGGLED]: {\n type: 'SUMMARY_CHAPTERS_ALLOW_SHARE_CHAPTER_TOGGLED',\n getEventModel: ({ allowShareChapter }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_allow_share_chapter_toggled',\n eventVar3: allowShareChapter,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_PANEL_POSITION_CHANGED]: {\n type: 'SUMMARY_CHAPTERS_PANEL_POSITION_CHANGED',\n getEventModel: ({ panelPosition }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_panel_position_changed',\n eventVar3: panelPosition,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_EXPAND_MODE_CHANGED]: {\n type: 'SUMMARY_CHAPTERS_EXPAND_MODE_CHANGED',\n getEventModel: ({ expandMode }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_expand_mode_changed',\n eventVar3: expandMode,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_EXPAND_ON_FIRST_PLAY_TOGGLED]: {\n type: 'SUMMARY_CHAPTERS_EXPAND_ON_FIRST_PLAY_TOGGLED',\n getEventModel: ({ expandOnFirstPlay }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_expand_on_first_play_toggled',\n eventVar3: expandOnFirstPlay,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PluginsEvents.SUMMARY_CHAPTERS_LAYOUT_CHANGED]: {\n type: 'SUMMARY_CHAPTERS_LAYOUT_CHANGED',\n getEventModel: ({ layout }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'summary_chapters_layout_changed',\n eventVar3: layout,\n eventVar4: '',\n applicationFeature: ApplicationFeature.SUMMARY_CHAPTERS\n })\n },\n [PlaykitUIEvents.USER_COPIED_DEBUG_INFO]: {\n type: 'USER_COPIED_DEBUG_INFO',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'copy_debug_info',\n eventVar3: '',\n applicationFeature: ApplicationFeature.DEBUG_INFO\n })\n },\n [PluginsEvents.AUDIO_PLAYER_VISUALIZATION_STATE]: {\n type: 'AUDIO_PLAYER_VISUALIZATION_STATE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.Analytics,\n eventVar1: 'audio_player_visualization_state',\n eventVar3: payload.state,\n eventVar4: payload.size,\n applicationFeature: ApplicationFeature.AUDIO_PLAYER\n })\n },\n [PluginsEvents.CPE_TRACKER_HOVER]: {\n type: 'CPE_TRACKER_HOVER',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar1: 'CPE_tracker_hover',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.CPE_TRACKER\n })\n },\n [PluginsEvents.BANNER_MESSAGE_DISPLAYS]: {\n type: 'BANNER_MESSAGE_DISPLAYS',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.Analytics,\n eventVar1: 'banner_message_displays',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.BANNER_OVERLAY\n })\n },\n [PluginsEvents.BANNER_MESSAGE_MANUALLY_DISMISSED]: {\n type: 'BANNER_MESSAGE_MANUALLY_DISMISSED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'banner_message_manually_dismissed',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.BANNER_OVERLAY\n })\n },\n [PlaykitUIEvents.DISPLAY_INFO_BEFORE_PLAYBACK]: {\n type: 'DISPLAY_INFO_BEFORE_PLAYBACK',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'display_info_before_playback',\n eventVar3: '',\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PluginsEvents.GENIE_OPEN_AUTO]: {\n type: 'GENIE_OPEN_AUTO',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'genie_open_auto',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.GENIE\n })\n },\n [PluginsEvents.GENIE_OPEN_MANUAL]: {\n type: 'GENIE_OPEN_MANUAL',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Open,\n eventVar1: 'genie_open_manual',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.GENIE\n })\n },\n [PluginsEvents.GENIE_CLOSE]: {\n type: 'GENIE_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'genie_close',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.GENIE\n })\n },\n [PluginsEvents.GENIE_NEW_THREAD]: {\n type: 'GENIE_NEW_THREAD',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Open,\n eventVar1: 'genie_new_thread',\n eventVar3: '',\n eventVar4: '',\n applicationFeature: ApplicationFeature.GENIE\n })\n },\n [PluginsEvents.VOD_COMPLETION_VIDEO_STARTED]: {\n type: 'VOD_COMPLETION_VIDEO_STARTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.CONTENT_MILESTONE,\n eventVar1: 'video_started',\n applicationFeature: ApplicationFeature.VOD_COMPLETION\n })\n },\n [PluginsEvents.VOD_COMPLETION_VIDEO_COMPLETED]: {\n type: 'VOD_COMPLETION_VIDEO_COMPLETED',\n getEventModel: ({ completionThreshold }: any): any => ({\n eventType: ApplicationEventType.CONTENT_MILESTONE,\n eventVar1: 'video_completed',\n eventVar2: completionThreshold,\n applicationFeature: ApplicationFeature.VOD_COMPLETION\n })\n },\n [PluginsEvents.POST_MESSAGE_BRIDGE_ACTIVE]: {\n type: 'POST_MESSAGE_BRIDGE_ACTIVE',\n getEventModel: ({ sendAllEvents, eventsToSend }: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'post_message_bridge_active',\n eventVar2: PageLoadType.View,\n eventVar3: sendAllEvents,\n eventVar4: eventsToSend,\n applicationFeature: ApplicationFeature.POST_MESSAGE_BRIDGE\n })\n }\n};\n","import { getEventModel } from './kava-event-model';\nimport { KavaEvent } from './types';\nimport { EventBucketName } from './enums/event-bucket-name';\nimport { getApplicationEventsModel } from './application-events-model';\n\n/**\n * The KAVA model that stores data.\n * @class KavaModel\n * @private\n * @param {?Object} - Initial model.\n */\nclass KavaModel {\n private sessionStartTime!: number;\n private eventIndex!: number;\n private errorPosition!: ErrorPosition;\n private playTimeSum!: number;\n private bufferTime!: number;\n private bufferTimeSum!: number;\n private language!: string;\n private caption!: string;\n private errorCode!: number;\n private errorDetails: any;\n private joinTime!: number;\n private canPlayTime!: number;\n private targetPosition!: number;\n private targetBuffer!: number;\n private registeredPlugins!: string;\n public totalSegmentsDownloadTime: number = 0;\n public totalSegmentsDownloadBytes: number = 0;\n public maxSegmentDownloadTime: number = 0;\n public maxManifestDownloadTime: number = 0;\n private forwardBufferHealth!: number;\n private droppedFramesRatio?: number | null = null;\n private soundMode!: SoundMode;\n private viewabilityMode!: ViewabilityMode;\n private tabMode!: TabMode;\n private screenMode: ScreenMode = ScreenMode.NOT_IN_FULLSCREEN;\n public maxNetworkConnectionOverhead: number = 0;\n private flavorParamsId: number = NaN;\n private networkConnectionType!: string;\n public playerJSLoadTime?: number | null = null;\n private shareNetworkName: string = '';\n private reportType: number = NaN;\n private playbackMode: number = NaN;\n private sourceEntryId: string | null = null;\n\n public getActualBitrate!: () => any;\n public getPlaybackSpeed!: () => any;\n public getAverageBitrate!: () => any;\n public getPartnerId!: () => any;\n public getEntryId!: () => any;\n public getPlaylistId!: () => any;\n public getSessionId!: () => any;\n public getClientVer!: () => any;\n public getClientTag!: () => any;\n public getKS!: () => any;\n public getVirtualEventId!: () => any;\n public getUIConfId!: () => any;\n public getReferrer!: () => any;\n public getCustomVar1!: () => any;\n public getCustomVar2!: () => any;\n public getCustomVar3!: () => any;\n public getPosition!: () => any;\n public getDeliveryType!: () => any;\n public getPlaybackType!: () => any;\n public getPlaybackContext!: () => any;\n public getApplication!: (playerEvent?: boolean) => any;\n public getKalturaApplicationVersion!: () => any;\n public getKalturaApplication!: () => any;\n public getUserId!: () => any;\n public getPersistentSessionId!: () => any;\n public getHostingKalturaApplication!: () => any;\n public getHostingKalturaApplicationVersion!: () => any;\n public getPlayerSkin!: () => any;\n public getV2ToV7Redirect!: () => any;\n public getNumFailedAnalyticReports!: () => number;\n public getLiveStreamType!: () => number | undefined;\n\n constructor(model?: object) {\n if (model) {\n this.updateModel(model);\n }\n }\n\n /**\n * Gets the total play time.\n * @returns {number} - The play time sum.\n * @memberof KavaModel\n * @instance\n */\n public getPlayTimeSum(): number {\n return this.playTimeSum;\n }\n\n public getCanPlayTime(): number {\n return this.canPlayTime;\n }\n\n /**\n * Gets the buffer time.\n * @returns {number} - The buffer time.\n * @memberof KavaModel\n * @instance\n */\n public getBufferTime(): number {\n return this.bufferTime;\n }\n\n /**\n * Gets the total buffer time.\n * @returns {number} - The total buffer time.\n * @memberof KavaModel\n * @instance\n */\n public getBufferTimeSum(): number {\n return this.bufferTimeSum;\n }\n\n /**\n * Gets the player bundle js load duration time\n * @returns {number} - The player js load duration time\n * @memberof KavaModel\n * @instance\n */\n public getPlayerJSLoadTime(): number | null {\n if (this.playerJSLoadTime) {\n return Math.round(this.playerJSLoadTime * 1000) / 1000;\n } else {\n return null;\n }\n }\n\n /**\n * Gets the join time.\n * @returns {number} - The join time.\n * @memberof KavaModel\n * @instance\n */\n public getJoinTime(): number {\n return this.joinTime;\n }\n\n /**\n * Gets a target position\n * @returns {number} - The target position.\n * @memberof KavaModel\n * @instance\n */\n public getTargetPosition(): number {\n return this.targetPosition;\n }\n\n /**\n * Gets the target buffer\n * @returns {number} - The target buffer in seconds.\n * @memberof KavaModel\n * @instance\n */\n public getTargetBuffer(): number {\n return this.targetBuffer;\n }\n\n /**\n * Gets registered plugins list\n * @returns {string} - The current list of loaded plugins\n * @memberof KavaModel\n * @instance\n */\n public getRegisteredPlugins(): string {\n return this.registeredPlugins;\n }\n\n /**\n * Gets an audio language.\n * @returns {string} - The audio language.\n * @memberof KavaModel\n * @instance\n */\n public getLanguage(): string {\n return this.language;\n }\n\n /**\n * Gets a caption language.\n * @returns {string} - The caption language.\n * @memberof KavaModel\n * @instance\n */\n public getCaption(): string {\n return this.caption;\n }\n\n /**\n * Gets the average bandwidth since last report.\n * @returns {number} - The bandwidth in kbps\n * @memberof KavaModel\n * @instance\n */\n public getBandwidth(): number {\n return this.totalSegmentsDownloadTime > 0 ? Math.round((this.totalSegmentsDownloadBytes * 8) / this.totalSegmentsDownloadTime) / 1000 : 0;\n }\n\n /**\n * Returns the longest manifest download time in seconds\n * @returns {number} - manifest max download time in seconds\n * @memberof KavaModel\n * @instance\n */\n public getMaxManifestDownloadTime(): number {\n return this.maxManifestDownloadTime;\n }\n\n /**\n * Returns the longest segment download time in seconds\n * @returns {number} - segment max download time in seconds\n * @memberof KavaModel\n * @instance\n */\n public getSegmentDownloadTime(): number {\n return this.maxSegmentDownloadTime;\n }\n\n /**\n * Gets the forward buffer health ratio.\n * @returns {number} - the ratio between the available buffer and the target buffer\n * @memberof KavaModel\n * @instance\n */\n public getForwardBufferHealth(): number {\n return this.forwardBufferHealth;\n }\n /**\n * Gets the dropped frames ratio since last view event.\n * @returns {number} - dropped frames ratio since last view event\n * @memberof KavaModel\n * @instance\n */\n public getDroppedFramesRatio(): number | null | undefined {\n return this.droppedFramesRatio;\n }\n\n /**\n * Gets the sound mode of the player.\n * @returns {SoundMode} the state of the sound (muted ot not)\n * @memberof KavaModel\n * @instance\n */\n public getSoundMode(): SoundMode {\n return this.soundMode;\n }\n\n /**\n * Gets the viewability mode of the player.\n * @returns {ViewabilityMode} the state of the view (in-view ot not)\n * @memberof KavaModel\n * @instance\n */\n public getViewabilityMode(): ViewabilityMode {\n return this.viewabilityMode;\n }\n\n /**\n * Gets the screen mode of the browser player.\n * @returns {number} the state of the full screen if is on or not.\n * @memberof KavaModel\n * @instance\n */\n public getScreenMode(): ScreenMode {\n return this.screenMode;\n }\n\n /**\n * Gets the Tab mode of the browser.\n * @returns {TabMode} the state of the tab (focused or not)\n * @memberof KavaModel\n * @instance\n */\n public getTabMode(): TabMode {\n return this.tabMode;\n }\n\n /**\n * Gets the effectiveType read-only property of the NetworkInformation interface (from navigator)\n * @returns {string} the effective type of the connection meaning one of 'slow-2g', '2g', '3g', or '4g'\n * @memberof KavaModel\n * @instance\n */\n public getNetworkConnectionType(): string {\n return this.networkConnectionType;\n }\n\n /**\n * Gets the max dns+ssl+tcp resolving time over all video segments\n * @returns {number} max dns+ssl+tcp in seconds\n * @memberof KavaModel\n * @instance\n */\n public getNetworkConnectionOverhead(): number {\n // convert ms to seconds in 0.xxx format\n return Math.round(this.maxNetworkConnectionOverhead) / 1000;\n }\n\n /**\n * Gets the error code.\n * @returns {number} - The error code.\n * @memberof KavaModel\n * @instance\n */\n public getErrorCode(): number {\n return this.errorCode;\n }\n\n /**\n * Gets the flavor id from ID3 tag in the packager\n * @returns {number} - The flavor id.\n * @memberof KavaModel\n * @instance\n */\n public getFlavorParamsId(): number {\n return this.flavorParamsId;\n }\n\n /**\n * Gets the error additional data.\n * @returns {string} - The stringifyed error data.\n * @memberof KavaModel\n * @instance\n */\n public getErrorDetails(): string {\n let retVal: string = '';\n if (this.errorDetails) {\n try {\n retVal = JSON.stringify(this.errorDetails);\n } catch (e) {\n // do nothing\n }\n }\n return retVal;\n }\n\n /**\n * Gets the event index counter.\n * @returns {number} - The event index counter.\n * @memberof KavaModel\n * @instance\n */\n public getEventIndex(): number {\n return this.eventIndex;\n }\n\n /**\n * Gets the error position (start or mid playing)\n * @returns {number} - The error position - 1 for pre playing, 2 for mid stream error\n * @memberof KavaModel\n * @instance\n */\n public getErrorPosition(): ErrorPosition {\n return this.errorPosition;\n }\n\n /**\n * Gets the session start time.\n * @returns {number} - The session start time.\n * @memberof KavaModel\n * @instance\n */\n public getSessionStartTime(): number {\n return this.sessionStartTime;\n }\n\n /**\n * Gets the share network name.\n * @returns {number} - The session start time.\n * @memberof KavaModel\n * @instance\n */\n public getShareNetworkName(): string {\n return this.shareNetworkName;\n }\n\n public getReportType(): number {\n return this.reportType;\n }\n\n public getPlaybackMode(): number {\n return this.playbackMode;\n }\n\n /**\n * Gets the source entry id - the entry id that the current part of a simulive entry was generated from.\n * @returns {string} - Source entry id.\n * @memberof KavaModel\n * @instance\n */\n public getSourceEntryId(): string | null {\n return this.sourceEntryId;\n }\n\n /**\n * Updates the model.\n * @param {Object} obj - A partial or full updated model.\n * @returns {void}\n * @memberof KavaModel\n * @instance\n */\n public updateModel(obj: object): void {\n Object.assign(this, obj);\n }\n\n /**\n * Gets the model for a certain event.\n * @param {KavaEvent} eventObj - The event object.\n * @param {EventBucketName} eventBucketName - The dashboard name in kava dashboards.\n * @param {any} eventPayload - The original player event payload.\n * @returns {Object} - The event model.\n * @memberof KavaModel\n * @instance\n */\n public getModel(eventObj: KavaEvent, eventBucketName: EventBucketName = EventBucketName.PlayerEvents, eventPayload?: any): any {\n switch (eventBucketName) {\n case EventBucketName.PlayerEvents:\n return getEventModel(eventObj, this);\n case EventBucketName.ApplicationEvents:\n return getApplicationEventsModel(eventObj, this, eventPayload);\n }\n }\n}\n\nenum SoundMode {\n SOUND_OFF = 1,\n SOUND_ON = 2\n}\n\nenum ViewabilityMode {\n NOT_IN_VIEW = 1,\n IN_VIEW = 2\n}\n\nenum TabMode {\n TAB_NOT_FOCUSED = 1,\n TAB_FOCUSED = 2\n}\n\nenum ScreenMode {\n NOT_IN_FULLSCREEN = 1,\n FULLSCREEN = 2\n}\n\nenum ErrorPosition {\n PRE_PLAY = 3,\n PRE_PLAYING = 1,\n MID_STREAM = 2\n}\n\nexport { KavaModel, SoundMode, TabMode, ErrorPosition, ScreenMode, ViewabilityMode };\n","import { KavaHttpMethodType } from '../types';\n\nconst HttpMethodType: KavaHttpMethodType = {\n GET: 'GET',\n POST: 'POST'\n};\n\nexport { HttpMethodType };\n","export enum Application {\n REELS = 'reels',\n AUDIO = 'audio',\n VIDEO = 'video'\n}\n","export enum PlayerSkin {\n PLAYER = 1,\n AUDIO = 2,\n REELS = 3\n}\n","/**\n * Logs failed events to browser's local storage\n * @param {any} error - The error that occurred\n * @param {KavaModel} model - The Kava model\n * @returns {void}\n */\nimport { KavaModel } from './kava-model';\nimport { LocalStorageManager } from '@playkit-js/kaltura-player-js';\n\nconst FAILED_LIVE_EVENT_KEY_PREFIX = 'FailedLiveEvent_';\nconst FAILED_LIVE_COUNTER_KEY_PREFIX = 'FailedLiveEventCounter_';\nexport const NUM_OF_LOGGED_FAILED_EVENTS: number = 100;\n\nexport class LogFailedLiveEvents {\n private logger: any;\n private numOfLoggedFailedEvents: any;\n constructor(logger: any, numOfLoggedFailedEvents: any) {\n this.logger = logger;\n this.numOfLoggedFailedEvents = numOfLoggedFailedEvents || NUM_OF_LOGGED_FAILED_EVENTS;\n }\n\n public logFailedLiveAnalyticsEventsToLocalStorage(error: any, model: KavaModel): void {\n // Get essential event info from model\n const eventType = model['eventType'] || 'unknown';\n const entryId = model['entryId'] || 'unknown';\n const sessionId = model['sessionId'] || 'unknown';\n const partnerId = model['partnerId'] || 'unknown';\n const position = model['position'] || 0;\n const errorDetails = model['errorDetails'] || null;\n const numOfLoggedFailedEvents = this.numOfLoggedFailedEvents;\n\n // Construct storage key\n const storageKey = `${FAILED_LIVE_EVENT_KEY_PREFIX}-${entryId}`;\n\n // Create the data object to store\n const dataToStore = {\n error: error,\n model: {\n // Store essential properties only to avoid localStorage size issues\n eventType,\n entryId,\n sessionId,\n partnerId,\n position,\n errorDetails\n }\n };\n\n //In case that we log error, add counter to the localstorage of how many failures\n const failureCountKey = this.getFailedCounterKey(entryId);\n try {\n const counter = LocalStorageManager.getItem(failureCountKey) || 0;\n LocalStorageManager.setItem(failureCountKey, counter + 1);\n this.appendNewFailedLiveEventToLocalStorage(dataToStore, storageKey, numOfLoggedFailedEvents);\n } catch (e) {\n this.logger.warn('Failed to store failed event in localStorage:', e);\n }\n }\n\n private appendNewFailedLiveEventToLocalStorage(data: any, storageKey: string, tailLength: number): void {\n //get the stored object from localStorage\n const storedObject = LocalStorageManager.getItem(storageKey);\n // If the stored object is not an array, initialize it\n let storedArray: any[] = storedObject ? storedObject : [];\n // Append the new data to the array\n storedArray.push({ date: new Date(), data });\n // If the array exceeds the tail length, remove the oldest items\n if (storedArray.length > tailLength) {\n storedArray = storedArray.slice(storedArray.length - tailLength);\n }\n // Store the updated array back to localStorage\n LocalStorageManager.setItem(storageKey, JSON.stringify(storedArray));\n }\n\n public getFailedCounterKey(entryId: string): string {\n return `${FAILED_LIVE_COUNTER_KEY_PREFIX}-${entryId}`;\n }\n\n public getNumFailedAnalyticReports(entryId: string): number {\n return parseInt(LocalStorageManager.getItem(this.getFailedCounterKey(entryId)) || 0);\n }\n}\n","import { BasePlugin, core, KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { FakeEvent, VideoTrack } from '@playkit-js/playkit-js';\nimport { OVPAnalyticsService } from '@playkit-js/playkit-js-providers/analytics-service';\nimport { KavaEventModel, KavaEventType } from './kava-event-model';\nimport { KavaRateHandler } from './kava-rate-handler';\nimport { KavaTimer } from './kava-timer';\nimport { ErrorPosition, KavaModel, ScreenMode, SoundMode, TabMode, ViewabilityMode } from './kava-model';\nimport { HttpMethodType } from './enums/http-method-type';\nimport { KalturaApplication } from './enums/kaltura-application';\nimport { KavaConfigObject, KavaEvent } from './types';\nimport { DownloadEvent, InfoEvent, ModerationEvent, RelatedEvent, ShareEvent } from './temp-imported-plugins-event-names-temp';\nimport { PluginsEvents, PlaykitUIEvents, KavaEvents } from './applications-events';\nimport { EventBucketName } from './enums/event-bucket-name';\nimport { ApplicationEventsModel, getApplicationEventsModel } from './application-events-model';\nimport { Application } from './enums/application';\nimport { PlayerSkin } from './enums/player-skin';\nimport { LogFailedLiveEvents, NUM_OF_LOGGED_FAILED_EVENTS } from './log-failed-live-events';\n\nconst { Error: PKError, Utils } = core;\nconst DIVIDER: number = 1024;\nconst TEXT_TYPE: string = 'TEXT';\n\n/**\n * Kaltura Advanced Analytics plugin.\n * @class Kava\n * @param {string} name - The plugin name.\n * @param {Player} player - The player instance.\n * @param {KavaConfigObject} config - The plugin config.\n */\nclass Kava extends BasePlugin {\n private _model: KavaModel;\n private _timer: KavaTimer;\n private _rateHandler: KavaRateHandler;\n private _viewEventEnabled: boolean;\n private _firstPlayRequestTime!: number;\n private _bufferStartTime!: number;\n private _previousCurrentTime!: number;\n private _isFirstPlay!: boolean;\n private _isFirstPlaying!: boolean;\n private _isEnded!: boolean;\n private _isPaused!: boolean;\n private _isBuffering!: boolean;\n private _isPlaying!: boolean;\n private _loadStartTime!: number;\n private _lastDroppedFrames: number = 0;\n private _lastTotalFrames: number = 0;\n private _performanceObserver!: PerformanceObserver;\n private _performanceEntries: PerformanceEntry[] = [];\n private _pendingFragLoadedUrls: string[] = [];\n private _fragLoadedFiredOnce: boolean = false;\n private _canPlayOccured: boolean = false;\n private _isManualPreload: boolean = false;\n private _lastViewEventPlayTime: number = -1;\n private _logFailedLiveEvents: LogFailedLiveEvents;\n\n /**\n * Default config of the plugin.\n * @type {Object}\n * @static\n * @memberof Kava\n */\n public static defaultConfig: any = {\n serviceUrl: `${Utils.Http.protocol}//analytics.kaltura.com/api_v3/index.php`,\n requestMethod: HttpMethodType.POST,\n viewEventCountdown: 10,\n resetSessionCountdown: 30,\n dvrThreshold: 120,\n playbackContext: '',\n application: '',\n kalturaApplicationVersion: '',\n kalturaApplication: 'PLAYER',\n hostingKalturaApplication: '',\n hostingKalturaApplicationVersion: '',\n numOfLoggedFailedEvents: NUM_OF_LOGGED_FAILED_EVENTS\n };\n\n /**\n * @static\n * @return {boolean} - Whether the plugin is valid in the current environment.\n * @memberof Kava\n */\n public static isValid(): boolean {\n return true;\n }\n\n constructor(name: string, player: KalturaPlayer, config: KavaConfigObject) {\n super(name, player, config);\n this._logFailedLiveEvents = new LogFailedLiveEvents(this.logger, config.numOfLoggedFailedEvents);\n this._rateHandler = new KavaRateHandler();\n this._model = new KavaModel();\n this._setModelDelegates();\n this._timer = new KavaTimer({\n resetCounter: this.config.resetSessionCountdown,\n eventCounter: this.config.viewEventCountdown\n });\n this._viewEventEnabled = true;\n this._resetFlags();\n this._addBindings();\n this._model.updateModel({\n eventIndex: 1,\n bufferTime: 0.0,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0\n });\n // check the Resource Timing API is supported in the browser and we have a uiConfId\n if (performance && this.config.uiConfId) {\n const entry = performance.getEntriesByType('resource').find((entry) => entry.name.match('embedPlaykitJs.*' + this.config.uiConfId));\n if (entry) {\n this._model.updateModel({ playerJSLoadTime: entry.duration });\n }\n }\n }\n\n private _updateSoundModeInModel(): void {\n this._model.updateModel({\n soundMode: this.player.muted || this.player.volume === 0 ? SoundMode.SOUND_OFF : SoundMode.SOUND_ON\n });\n }\n\n private _updateViewabilityModeInModel(isVisible: boolean): void {\n this._model.updateModel({\n viewabilityMode: isVisible || this.player.isInPictureInPicture() ? ViewabilityMode.IN_VIEW : ViewabilityMode.NOT_IN_VIEW\n });\n }\n\n private _handleNewPerformanceEntries(list: PerformanceObserverEntryList): void {\n const perfEntries = list.getEntries();\n for (let i = 0; i < perfEntries.length; i++) {\n this._performanceEntries.push(perfEntries[i]);\n }\n while (this._pendingFragLoadedUrls.length) {\n // handle frag loaded events which haven't been added to the entry list yet\n this._handleFragPerformanceObserver(this._pendingFragLoadedUrls.pop()!);\n }\n }\n\n /**\n * Destroys the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public destroy(): void {\n this.eventManager.destroy();\n this._reset();\n }\n\n private _reset(): void {\n this._timer.destroy();\n this._rateHandler.destroy();\n if (this._performanceObserver) {\n this._performanceObserver.disconnect();\n }\n this._performanceEntries = [];\n this._pendingFragLoadedUrls = [];\n }\n\n /**\n * Reset the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public reset(): void {\n this.eventManager.removeAll();\n this._resetFlags();\n this._addBindings();\n this._model.updateModel({\n eventIndex: 1,\n bufferTime: 0.0,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0,\n sessionStartTime: null\n });\n this._reset();\n }\n\n /**\n * loadMedia of the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public loadMedia(): void {\n if (window.PerformanceObserver) {\n this._performanceObserver = new window.PerformanceObserver(this._handleNewPerformanceEntries.bind(this));\n this._performanceObserver.observe({ entryTypes: ['resource'] });\n }\n }\n\n /**\n * Gets the model object for a certain event.\n * @param {string} event - Event name.\n * @returns {Object} - Model object.\n * @instance\n * @memberof Kava\n * @example\n * const kava = player.plugins.kava;\n * const viewModel = kava.getEventModel(kava.EventType.VIEW);\n * kava.sendAnalytics(viewModel);\n */\n public getEventModel(event: string): any {\n if (event) {\n return this._model.getModel(KavaEventModel[event]);\n }\n }\n\n /**\n * @returns {KavaEventType} - The kava events list.\n * @instance\n * @memberof Kava\n */\n public get EventType(): { [event: string]: string } {\n return Utils.Object.copyDeep(KavaEventType);\n }\n\n /**\n * Sends KAVA analytics event to analytics service.\n * @param {Object} model - Event model.\n * @returns {Promise} - Promise to indicate request succeed or failed.\n * @instance\n * @memberof Kava\n * @example\n * player.plugins.kava.sendAnalytics({...})\n * .then(() => {\n * console.log('kava analytics sent successfully');\n * })\n * .catch(e => {\n * console.log('kava analytics send failed', e);\n * });\n */\n public sendAnalytics(model: any): Promise<void> {\n return new Promise((resolve, reject) => {\n OVPAnalyticsService.trackEvent(this.config.serviceUrl, model, this.config.requestMethod)\n .doHttpRequest()\n .then(\n (response) => {\n this._handleServerResponseSuccess(response, model);\n resolve();\n },\n (err) => {\n this._handleServerResponseFailed(err, model);\n reject(err);\n }\n );\n this._model.updateModel({ eventIndex: this._model.getEventIndex() + 1 });\n });\n }\n\n private _resetFlags(): void {\n this._previousCurrentTime = 0;\n this._lastViewEventPlayTime = -1;\n this._isPlaying = false;\n this._isFirstPlay = true;\n this._isFirstPlaying = true;\n this._isEnded = false;\n this._isPaused = false;\n this._isBuffering = false;\n this._canPlayOccured = false;\n this._isManualPreload = false;\n }\n\n private _resetSession(): void {\n this.logger.debug('Reset KAVA session');\n this._rateHandler.reset();\n this._model.updateModel({\n eventIndex: 1,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0\n });\n }\n\n private _sendAnalytics(eventObj: KavaEvent, eventBucketName: EventBucketName = EventBucketName.PlayerEvents, eventPayload?: any): void {\n if (!this._validate()) {\n return;\n }\n if (this._isBuffering) {\n this._updateBufferModel();\n this._bufferStartTime = Date.now();\n }\n const model = this._model.getModel(eventObj, eventBucketName, eventPayload);\n if (typeof this.config.tamperAnalyticsHandler === 'function') {\n const sendRequest = this.config.tamperAnalyticsHandler(model);\n if (!sendRequest) {\n this.logger.debug('Cancel KAVA request', model);\n return;\n }\n }\n\n this.logger.debug(`Sending KAVA event ${model.eventType}:${eventObj.type}`);\n this.sendAnalytics(model).catch(() => {});\n }\n\n private shouldLogLiveAnalyticsFailures(): boolean {\n return this.config?.logLiveAnalyticsFailures && this.player?.isLive();\n }\n\n private _handleServerResponseSuccess(response: any, model: any): void {\n this.logger.debug('KAVA event sent', model);\n const event: Partial<FakeEvent> = {\n type: KavaEvents.KAVA_REQUEST_SUCCEEDED,\n payload: { response, model }\n };\n this.player.dispatchEvent(event as FakeEvent);\n this._updateSessionStartTimeModel(response);\n }\n\n private _handleServerResponseFailed(err: any, model: any): void {\n if (this.shouldLogLiveAnalyticsFailures()) {\n this._logFailedLiveEvents.logFailedLiveAnalyticsEventsToLocalStorage(err, model);\n }\n this.logger.warn('Failed to send KAVA event', model, err);\n const event: Partial<FakeEvent> = {\n type: KavaEvents.KAVA_REQUEST_FAILED,\n payload: { error: err, model }\n };\n this.player.dispatchEvent(event as FakeEvent);\n }\n\n private _addBindings(): void {\n this.eventManager.listen(this._timer, KavaTimer.Event.TICK, () => this._rateHandler.countCurrent());\n this.eventManager.listen(this._timer, KavaTimer.Event.REPORT, () => this._onReport());\n this.eventManager.listen(this._timer, KavaTimer.Event.RESET, () => this._resetSession());\n this.eventManager.listen(this.player, this.player.Event.Core.SOURCE_SELECTED, () => this._onSourceSelected());\n this.eventManager.listen(this.player, this.player.Event.Core.ERROR, (event) => this._onError(event));\n this.eventManager.listen(this.player, this.player.Event.Core.FIRST_PLAY, () => this._onFirstPlay());\n this.eventManager.listen(this.player, this.player.Event.Core.FRAG_LOADED, (event) => this._onFragLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.MANIFEST_LOADED, (event) => this._onManifestLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TIMED_METADATA, (event) => this._onTimedMetadataLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TRACKS_CHANGED, () => this._setInitialTracks());\n this.eventManager.listen(this.player, this.player.Event.Core.PLAYING, () => this._onPlaying());\n this.eventManager.listen(this.player, this.player.Event.Core.FIRST_PLAYING, () => this._onFirstPlaying());\n this.eventManager.listen(this.player, this.player.Event.Core.SEEKING, () => this._onSeeking());\n this.eventManager.listen(this.player, this.player.Event.Core.PAUSE, () => this._onPause());\n this.eventManager.listen(this.player, this.player.Event.Core.ENDED, () => this._onEnded());\n this.eventManager.listen(this.player, this.player.Event.Core.VIDEO_TRACK_CHANGED, (event) => this._onVideoTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.AUDIO_TRACK_CHANGED, (event) => this._onAudioTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TEXT_TRACK_CHANGED, (event) => this._onTextTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.PLAYER_STATE_CHANGED, (event) => this._onPlayerStateChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.RATE_CHANGE, () => this._onPlaybackRateChanged());\n this.eventManager.listen(this.player, this.player.Event.Core.CAN_PLAY, () => this._onCanPlay());\n this.eventManager.listen(this.player, this.player.Event.Core.LOAD_START, () => this._onLoadStart());\n this.eventManager.listen(this.player, this.player.Event.Core.VOLUME_CHANGE, () => this._updateSoundModeInModel());\n this.eventManager.listen(this.player, this.player.Event.VISIBILITY_CHANGE, (e) => this._updateViewabilityModeInModel(e.payload.visible));\n this.eventManager.listen(this.player, this.player.Event.Core.MUTE_CHANGE, () => this._updateSoundModeInModel());\n this.eventManager.listen(this.player, this.player.Event.Core.ENTER_FULLSCREEN, () => this._onFullScreenChanged(ScreenMode.FULLSCREEN));\n this.eventManager.listen(this.player, this.player.Event.Core.EXIT_FULLSCREEN, () => this._onFullScreenChanged(ScreenMode.NOT_IN_FULLSCREEN));\n this.eventManager.listen(this.player, RelatedEvent.RELATED_OPEN, () => this._onRelatedClicked());\n this.eventManager.listen(this.player, RelatedEvent.RELATED_SELECTED, () => this._onRelatedSelected());\n this.eventManager.listen(this.player, ShareEvent.SHARE_CLICKED, () => this._onShareClicked());\n this.eventManager.listen(this.player, ShareEvent.SHARE_NETWORK, (event) => this._onShareNetworkClicked(event));\n this.eventManager.listen(this.player, DownloadEvent.DOWNLOAD_ITEM_CLICKED, () => this._onDownloadItemClicked());\n this.eventManager.listen(this.player, InfoEvent.INFO_SCREEN_OPEN, () => this._onInfoScreenOpened());\n this.eventManager.listen(this.player, ModerationEvent.REPORT_CLICKED, () => this._onReportClicked());\n this.eventManager.listen(this.player, ModerationEvent.REPORT_SUBMITTED, (event) => this._onReportSubmitted(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_25_PERCENT, (event) => this._onPlayerReached(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_50_PERCENT, (event) => this._onPlayerReached(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_75_PERCENT, (event) => this._onPlayerReached(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_90_PERCENT, (event) => this._onPlayerReached(event));\n this.eventManager.listenOnce(this.player, this.player.Event.Core.PLAY_REACHED_100_PERCENT, (event) => this._onPlayerReached(event));\n this._bindApplicationEvents();\n this._bindPlaykitUIEvents();\n this._initTabMode();\n this._initNetworkConnectionType();\n }\n\n private _bindPlaykitUIEvents(): void {\n Object.values(PlaykitUIEvents).forEach((event) => {\n this.eventManager.listen(this.player, event, (e: FakeEvent) => {\n if (e.type in ApplicationEventsModel) {\n if (this._isApplicationEventValid(e)) {\n this._sendAnalytics(ApplicationEventsModel[e.type], EventBucketName.ApplicationEvents, e.payload);\n }\n }\n });\n });\n }\n\n private _bindApplicationEvents(): void {\n Object.values(PluginsEvents).forEach((event) => {\n this.eventManager.listen(this.player, event, (e: FakeEvent) => {\n if (e.type in ApplicationEventsModel) {\n if (this._isApplicationEventValid(e)) {\n this._sendAnalytics(ApplicationEventsModel[e.type], EventBucketName.ApplicationEvents, e.payload);\n }\n }\n });\n });\n }\n\n private _onFirstPlaying(): void {\n this._isPlaying = true;\n if (!this._fragLoadedFiredOnce && this._performanceObserver) {\n this._performanceObserver.disconnect();\n this.logger.debug(\"This adapter / media doesn't fire fragLoaded - disconnect performance observer\");\n }\n }\n\n private _onLoadStart(): void {\n this._loadStartTime = Date.now();\n }\n\n private _getRates(): Array<number> {\n const rates: number[] = [];\n const videoTracks: VideoTrack[] = this.player.getTracks(this.player.Track.VIDEO) as unknown as VideoTrack[];\n videoTracks.forEach((videoTrack) => rates.push(videoTrack.bandwidth / DIVIDER));\n return rates;\n }\n\n private _setInitialTracks(): void {\n const rates = this._getRates();\n const activeTracks = this.player.getActiveTracks();\n this._rateHandler.setRates(rates);\n if (activeTracks.video) {\n this._rateHandler.setCurrent(activeTracks.video.bandwidth / DIVIDER);\n }\n if (activeTracks.audio) {\n this._model.updateModel({ language: activeTracks.audio.language });\n }\n if (activeTracks.text) {\n this._model.updateModel({ caption: activeTracks.text.language });\n }\n }\n\n /**\n * gets the available buffer length\n * @returns {number} the remaining buffer length of the current played time range\n * @private\n */\n private _getAvailableBuffer(): number {\n let availableBuffer = NaN;\n if (this.player.stats) {\n availableBuffer = this.player.stats.availableBuffer;\n }\n return availableBuffer;\n }\n\n /**\n * calculates the forward buffer health ratio\n * @returns {number} the ratio between available buffer and the target buffer\n * @private\n */\n private _getForwardBufferHealth(): number {\n let forwardBufferHealth = NaN;\n const availableBuffer = this._getAvailableBuffer();\n const targetBuffer = this._getTargetBuffer();\n\n if (!isNaN(targetBuffer)) {\n // considering playback left to the target calculation\n forwardBufferHealth = Math.round((availableBuffer * 1000) / targetBuffer) / 1000;\n }\n\n return forwardBufferHealth;\n }\n\n /**\n * get the target buffer length from the player\n * @returns {number} the target buffer in seconds\n * @private\n */\n private _getTargetBuffer(): number {\n let targetBuffer = NaN;\n if (this.player.stats) {\n targetBuffer = this.player.stats.targetBuffer;\n }\n return targetBuffer;\n }\n\n /**\n * calculates the dropped frames ratio since last call\n * @returns {number} the ratio between dropped frames and the total frames\n * @private\n */\n private _getDroppedFramesRatio(): number {\n let droppedFrames = -1;\n const droppedAndDecoded: [number, number] | null = this._getDroppedAndDecodedFrames();\n if (droppedAndDecoded) {\n const lastDroppedFrames = droppedAndDecoded[0];\n const lastTotalFrames = droppedAndDecoded[1];\n const droppedFramesDelta = lastDroppedFrames - this._lastDroppedFrames;\n const totalFramesDelta = lastTotalFrames - this._lastTotalFrames;\n droppedFrames = totalFramesDelta ? Math.round((droppedFramesDelta / totalFramesDelta) * 1000) / 1000 : 0;\n\n this._lastTotalFrames = lastTotalFrames;\n this._lastDroppedFrames = lastDroppedFrames;\n }\n return droppedFrames;\n }\n\n /**\n * returns dropped and total frames from the VideoPlaybackQuality Interface of the browser (if supported)\n * @returns {number} {number} the number of video frames dropped and total video frames (created and dropped)\n * since the creation of the associated HTMLVideoElement\n * @private\n */\n private _getDroppedAndDecodedFrames(): [number, number] | null {\n if (typeof this.player.getVideoElement()!.getVideoPlaybackQuality === 'function') {\n const videoPlaybackQuality = this.player.getVideoElement()!.getVideoPlaybackQuality();\n return [videoPlaybackQuality.droppedVideoFrames, videoPlaybackQuality.totalVideoFrames];\n } else if (\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n typeof this.player.getVideoElement().webkitDroppedFrameCount === 'number' &&\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n typeof this.player.getVideoElement().webkitDecodedFrameCount === 'number'\n ) {\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n return [this.player.getVideoElement().webkitDroppedFrameCount, this.player.getVideoElement().webkitDecodedFrameCount];\n } else {\n return null;\n }\n }\n\n private _onReport(): void {\n if (this._viewEventEnabled) {\n this._updatePlayTimeSumModel();\n this._model.updateModel({\n forwardBufferHealth: this._getForwardBufferHealth(),\n targetBuffer: this._getTargetBuffer(),\n droppedFramesRatio: this._getDroppedFramesRatio()\n });\n if (this._lastViewEventPlayTime !== this._model.getPlayTimeSum()) {\n this._lastViewEventPlayTime = this._model.getPlayTimeSum();\n this._sendAnalytics(KavaEventModel.VIEW);\n } else {\n this.logger.warn(`VIEW event blocked because view event with same time already sent: ${this._lastViewEventPlayTime}`);\n }\n } else {\n this.logger.warn('VIEW event blocked because server response of viewEventsEnabled=false');\n }\n this._model.updateModel({\n totalSegmentsDownloadTime: 0,\n totalSegmentsDownloadBytes: 0,\n maxManifestDownloadTime: 0,\n maxSegmentDownloadTime: 0,\n maxNetworkConnectionOverhead: 0,\n bufferTime: 0\n });\n }\n\n private _updateNetworkConnectionTypeinModel(navConnection: any): void {\n this._model.updateModel({\n networkConnectionType: navConnection.effectiveType\n });\n }\n\n private _initNetworkConnectionType(): void {\n // @ts-expect-error - Property 'webkitConnection' does not exist on type 'Navigator'\n const navConnection = window.navigator.connection || window.navigator.mozConnection || window.navigator.webkitConnection;\n\n if (navConnection) {\n this.eventManager.listen(navConnection, 'change', () => this._updateNetworkConnectionTypeinModel(navConnection));\n this._updateNetworkConnectionTypeinModel(navConnection);\n }\n }\n\n private _onPlaying(): void {\n if (this._isFirstPlaying) {\n this._updateSoundModeInModel();\n this._updateViewabilityModeInModel(this.player.isVisible);\n if (!this.player.isUntimedImg()) this._timer.start();\n this._isFirstPlaying = false;\n const playRequestStartTime =\n this.player.config.playback.preload === 'auto' || this._isManualPreload ? this._firstPlayRequestTime : this._loadStartTime;\n this._model.updateModel({\n joinTime: Kava._getTimeDifferenceInSeconds(playRequestStartTime)\n });\n this._sendAnalytics(KavaEventModel.PLAY);\n this._onReport();\n } else if (this._isEnded) {\n this._timer.start();\n this._isEnded = false;\n this._sendAnalytics(KavaEventModel.REPLAY);\n } else if (this._isPaused) {\n this._timer.resume();\n this._isPaused = false;\n this._sendAnalytics(KavaEventModel.RESUME);\n }\n }\n\n private _onCanPlay(): void {\n this._canPlayOccured = true;\n this._model.updateModel({\n canPlayTime: Kava._getTimeDifferenceInSeconds(this._loadStartTime)\n });\n }\n\n private _onFirstPlay(): void {\n if (this._canPlayOccured) {\n this._isManualPreload = true;\n }\n this._isFirstPlay = false;\n this._firstPlayRequestTime = Date.now();\n this._sendAnalytics(KavaEventModel.PLAY_REQUEST);\n }\n\n private _onSourceSelected(): void {\n const plugins = Object.values(this.player.plugins).map((plugin: any) => plugin.name);\n this._model.updateModel({ registeredPlugins: plugins.join(',') });\n\n this._sendAnalytics(KavaEventModel.IMPRESSION);\n\n if (!(this.player.isImage() || this.player.isLive())) {\n this.eventManager.listen(this.player, this.player.Event.Core.TIME_UPDATE, () => this._onTimeUpdate());\n }\n }\n\n private _onSeeking(): void {\n this._previousCurrentTime = this.player.currentTime!;\n this._model.updateModel({ targetPosition: this.player.currentTime! });\n this._sendAnalytics(KavaEventModel.SEEK);\n }\n\n private _onPause(): void {\n this._isPaused = true;\n this._timer.stop();\n this._sendAnalytics(KavaEventModel.PAUSE);\n }\n\n private _onEnded(): void {\n this._isEnded = true;\n this._onTimeUpdate();\n this._model.updateModel({ bufferTime: 0 });\n }\n\n private _onTimeUpdate(): void {\n this._updatePlayTimeSumModel();\n }\n\n private _onPlayerReached(event: FakeEvent): void {\n if (event.type === this.player.Event.Core.PLAY_REACHED_25_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_25_PERCENT);\n } else if (event.type === this.player.Event.Core.PLAY_REACHED_50_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_50_PERCENT);\n } else if (event.type === this.player.Event.Core.PLAY_REACHED_75_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_75_PERCENT);\n } else if (event.type === this.player.Event.Core.PLAY_REACHED_90_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_90_PERCENT);\n } else if (event.type === this.player.Event.Core.PLAY_REACHED_100_PERCENT) {\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_100_PERCENT);\n }\n }\n\n private _onFragLoaded(event: FakeEvent): void {\n if (!this._fragLoadedFiredOnce) {\n this._fragLoadedFiredOnce = true;\n }\n this._updateFragLoadedStats(event);\n if (this._performanceObserver) {\n const succHandle = this._handleFragPerformanceObserver(event.payload.url);\n if (!succHandle) {\n this._pendingFragLoadedUrls.push(event.payload.url);\n }\n }\n }\n\n private _handleFragPerformanceObserver(url: string): boolean {\n const fragResourceTimings = this._performanceEntries.filter((entry) => entry.name === url);\n const lastFragResourceTiming: any =\n fragResourceTimings && fragResourceTimings.length ? fragResourceTimings[fragResourceTimings.length - 1] : null;\n if (lastFragResourceTiming) {\n this._updateMaxNetworkConnectionOverhead(lastFragResourceTiming.connectEnd - lastFragResourceTiming.domainLookupStart);\n const lastIndexOftheFragment: number = this._performanceEntries.indexOf(lastFragResourceTiming);\n if (lastIndexOftheFragment > -1 && lastIndexOftheFragment < this._performanceEntries.length) {\n this._performanceEntries = this._performanceEntries.splice(\n lastIndexOftheFragment + 1,\n this._performanceEntries.length - (lastIndexOftheFragment + 1)\n );\n }\n return true;\n } else {\n return false;\n }\n }\n\n private _updateMaxNetworkConnectionOverhead(networkConnectionOverhead: number): void {\n this._model.updateModel({\n maxNetworkConnectionOverhead: Math.max(this._model.maxNetworkConnectionOverhead, networkConnectionOverhead)\n });\n }\n\n private _updateFragLoadedStats(event: FakeEvent): void {\n const seconds = Math.round(event.payload.miliSeconds) / 1000;\n this._model.updateModel({\n totalSegmentsDownloadTime: this._model.totalSegmentsDownloadTime + seconds,\n totalSegmentsDownloadBytes: this._model.totalSegmentsDownloadBytes + event.payload.bytes,\n maxSegmentDownloadTime: Math.max(seconds, this._model.maxSegmentDownloadTime)\n });\n }\n\n private _onManifestLoaded(event: FakeEvent): void {\n const seconds = Math.round(event.payload.miliSeconds) / 1000;\n this._model.updateModel({\n maxManifestDownloadTime: Math.max(seconds, this._model.maxManifestDownloadTime)\n });\n }\n\n private _onTimedMetadataLoaded(event: FakeEvent): void {\n const id3TagCues = event.payload.cues.filter((entry) => entry.value && entry.value.key === TEXT_TYPE);\n if (id3TagCues.length) {\n try {\n const data = JSON.parse(id3TagCues[id3TagCues.length - 1].value.data);\n this._model.updateModel({ flavorParamsId: Number(data.sequenceId) });\n\n if (data.clipId) {\n const [partType, entryId] = data.clipId.split('-');\n\n switch (partType) {\n case 'preStartContent': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 1 });\n break;\n }\n case 'content': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 2 });\n break;\n }\n case 'postEntryContent': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 3 });\n break;\n }\n default:\n break;\n }\n }\n } catch (e) {\n this.logger.debug('error parsing id3', e);\n }\n }\n }\n\n private _onVideoTrackChanged(event: FakeEvent): void {\n const videoTrack = event.payload.selectedVideoTrack;\n this._rateHandler.setCurrent(videoTrack.bandwidth / DIVIDER);\n if (this.player.isAdaptiveBitrateEnabled()) {\n this._sendAnalytics(KavaEventModel.FLAVOR_SWITCH);\n } else {\n this._sendAnalytics(KavaEventModel.SOURCE_SELECTED);\n }\n }\n\n private _onAudioTrackChanged(event: FakeEvent): void {\n const audioTrack = event.payload.selectedAudioTrack;\n this._model.updateModel({ language: audioTrack.language });\n this._sendAnalytics(KavaEventModel.AUDIO_SELECTED);\n }\n\n private _onTextTrackChanged(event: FakeEvent): void {\n if (this._isPlaying) {\n const textTrack = event.payload.selectedTextTrack;\n this._model.updateModel({ caption: textTrack.language });\n this._sendAnalytics(KavaEventModel.CAPTIONS);\n }\n }\n\n private _onError(event: FakeEvent): void {\n if (event.payload && event.payload.severity === PKError.Severity.CRITICAL) {\n this._model.updateModel({\n errorCode: event.payload.code,\n errorDetails: event.payload.data,\n errorPosition: this._isFirstPlay ? ErrorPosition.PRE_PLAY : this._isFirstPlaying ? ErrorPosition.PRE_PLAYING : ErrorPosition.MID_STREAM\n });\n this._sendAnalytics(KavaEventModel.ERROR);\n this.reset();\n }\n }\n\n private _onPlaybackRateChanged(): void {\n if (!this.player.playbackRates.length || this.player.playbackRates.includes(this.player.playbackRate!)) {\n this._sendAnalytics(KavaEventModel.SPEED);\n }\n }\n\n private _onPlayerStateChanged(event: FakeEvent): void {\n const oldState = event.payload.oldState;\n const newState = event.payload.newState;\n if (oldState.type === this.player.State.BUFFERING) {\n this._isBuffering = false;\n this._updateBufferModel();\n this._sendAnalytics(KavaEventModel.BUFFER_END);\n }\n if (newState.type === this.player.State.BUFFERING) {\n this._isBuffering = true;\n this._bufferStartTime = Date.now();\n this._sendAnalytics(KavaEventModel.BUFFER_START);\n }\n }\n\n private _onRelatedClicked(): void {\n this._sendAnalytics(KavaEventModel.RELATED_OPEN);\n }\n\n private _onRelatedSelected(): void {\n this._sendAnalytics(KavaEventModel.RELATED_SELECTED);\n }\n\n private _onShareClicked(): void {\n this._sendAnalytics(KavaEventModel.SHARE_CLICKED);\n }\n\n private _onShareNetworkClicked(event: FakeEvent): void {\n const shareNetworkName = event.payload.shareNetworkName;\n if (shareNetworkName) {\n this._model.updateModel({ shareNetworkName: shareNetworkName });\n this._sendAnalytics(KavaEventModel.SHARE_NETWORK);\n }\n }\n\n private _onReportSubmitted(event: FakeEvent): void {\n const reportType = event.payload.reportType;\n if (reportType) {\n this._model.updateModel({ reportType });\n this._sendAnalytics(KavaEventModel.REPORT_SUBMITTED);\n }\n }\n\n private _onReportClicked(): void {\n this._sendAnalytics(KavaEventModel.REPORT_CLICKED);\n }\n\n private _onInfoScreenOpened(): void {\n this._sendAnalytics(KavaEventModel.INFO);\n }\n\n private _onDownloadItemClicked(): void {\n this._sendAnalytics(KavaEventModel.DOWNLOAD);\n }\n\n private _onFullScreenChanged(screenMode: number): void {\n this._model.updateModel({ screenMode: screenMode });\n this._sendAnalytics(screenMode === ScreenMode.FULLSCREEN ? KavaEventModel.ENTER_FULLSCREEN : KavaEventModel.EXIT_FULLSCREEN);\n }\n\n private _updateSessionStartTimeModel(response: any | number): void {\n if (!this._model.getSessionStartTime() && response) {\n if (typeof response === 'object') {\n this._model.updateModel({ sessionStartTime: response.time });\n this._viewEventEnabled = response.viewEventsEnabled;\n } else {\n this._model.updateModel({ sessionStartTime: response });\n }\n }\n if (this._timer.isStopped()) {\n this._model.updateModel({ sessionStartTime: null });\n }\n }\n\n private _updateBufferModel(): void {\n const duration = Kava._getTimeDifferenceInSeconds(this._bufferStartTime);\n this._model.updateModel({\n bufferTime: this._model.getBufferTime() + duration,\n bufferTimeSum: this._model.getBufferTimeSum() + duration\n });\n }\n\n private _updatePlayTimeSumModel(): void {\n let delta;\n if (this.player.isLive()) {\n delta = this.config.viewEventCountdown - this._model.getBufferTime();\n } else {\n delta = this.player.currentTime! - this._previousCurrentTime;\n this._previousCurrentTime = this.player.currentTime!;\n }\n this._model.updateModel({ playTimeSum: this._model.getPlayTimeSum() + delta });\n }\n\n private _setModelDelegates(): void {\n this._model.getPlaybackSpeed = (): number | null => this.player.playbackRate;\n this._model.getActualBitrate = (): number => this._rateHandler.getCurrent();\n this._model.getAverageBitrate = (): number => this._rateHandler.getAverage();\n this._model.getPartnerId = (): number => this.config.partnerId;\n this._model.getEntryId = (): string => this.config.entryId;\n this._model.getPlaylistId = (): string => this.config.playlistId;\n this._model.getSessionId = (): string => this.config.sessionId;\n this._model.getPersistentSessionId = (): string => this.config.persistentSessionId;\n this._model.getClientVer = (): string => this.config.playerVersion;\n this._model.getClientTag = (): string => 'html5:v' + this.config.playerVersion;\n this._model.getKS = (): string => this.config.ks;\n this._model.getVirtualEventId = (): string => this.config.virtualEventId;\n this._model.getUIConfId = (): string => this.config.uiConfId;\n this._model.getReferrer = (): string => this.config.referrer;\n this._model.getCustomVar1 = (): string => this.config.customVar1;\n this._model.getCustomVar2 = (): string => this.config.customVar2;\n this._model.getCustomVar3 = (): string => this.config.customVar3;\n this._model.getPosition = (): number => this._getPosition();\n this._model.getDeliveryType = (): string => this._getDeliveryType();\n this._model.getPlaybackType = (): string => this._getPlaybackType();\n this._model.getPlaybackContext = (): string => this.config.playbackContext;\n this._model.getApplication = (playerEvent?: boolean): string => this._getApplication(playerEvent);\n this._model.getKalturaApplicationVersion = (): string => this.config.kalturaApplicationVersion;\n this._model.getKalturaApplication = (): string => this._getKalturaApplicationId(this.config.kalturaApplication);\n this._model.getUserId = (): string => this.config.userId;\n this._model.getHostingKalturaApplication = (): string => this.config.application;\n this._model.getHostingKalturaApplicationVersion = (): string => this.config.applicationVersion;\n this._model.getPlayerSkin = (): number => this._getPlayerSkin();\n this._model.getV2ToV7Redirect = (): boolean => this.player.isV2ToV7Redirected;\n this._model.getNumFailedAnalyticReports = (): number => this._logFailedLiveEvents.getNumFailedAnalyticReports(this.config.entryId);\n this._model.getLiveStreamType = (): number | undefined => this._getLiveStreamType();\n }\n\n private _getApplication(playerEvent = true): string {\n // for player event, we want to return the application value from the configuration\n // otherwise (i.e. application event), we want to return the player type\n return playerEvent ? this.config.application : this._getPlayerType();\n }\n\n private _getPlayerType(): Application {\n if (this.player.plugins.reels !== undefined) {\n return Application.REELS;\n } else if (this.player.plugins.audioPlayer !== undefined) {\n return Application.AUDIO;\n } else {\n return Application.VIDEO;\n }\n }\n\n private _getPlayerSkin(): PlayerSkin {\n if (this.player.plugins.reels !== undefined) {\n return PlayerSkin.REELS;\n } else if (this.player.plugins.audioPlayer !== undefined) {\n return PlayerSkin.AUDIO;\n } else {\n return PlayerSkin.PLAYER;\n }\n }\n\n private _getKalturaApplicationId(kalturaAppName: string): string {\n if (kalturaAppName in KalturaApplication) {\n return KalturaApplication[kalturaAppName];\n } else {\n this.logger.warn('Kava analytics - unknon kalturaAppName: ' + kalturaAppName);\n return '';\n }\n }\n\n private _getPosition(): number {\n if (this.player.isLive()) {\n if (!Number.isNaN(this.player.duration)) {\n if (this.player.duration! - this.player.currentTime! < 1) {\n return 0;\n }\n return -(this.player.duration! - this.player.currentTime!);\n }\n return 0;\n }\n let currentTime = this.player.currentTime;\n if (typeof this.player.sources.seekFrom === 'number' && currentTime) {\n currentTime += this.player.sources.seekFrom;\n }\n return this._isFirstPlaying ? currentTime! || this.player.sources.startTime || 0 : currentTime!;\n }\n\n private _getDeliveryType(): string {\n if (this.player.streamType === this.player.StreamType.PROGRESSIVE) {\n return 'url';\n }\n return this.player.streamType;\n }\n\n private _getPlaybackType(): string {\n if (this.player.isLive()) {\n if (this.player.isDvr()) {\n const distanceFromLiveEdge = this.player.duration! - this.player.currentTime!;\n if (distanceFromLiveEdge >= this.config.dvrThreshold) {\n return 'dvr';\n }\n }\n return 'live';\n }\n return 'vod';\n }\n\n private _validate(): boolean {\n if (!this.config.partnerId) {\n this._logMissingParam('partnerId');\n return false;\n }\n if (!this.config.entryId) {\n this._logMissingParam('entryId');\n return false;\n }\n return true;\n }\n\n private _isApplicationEventValid(event: FakeEvent): boolean {\n const model = getApplicationEventsModel(ApplicationEventsModel[event.type], this._model, event.payload);\n return !!model.buttonName || !!model.pageName || !!model.eventName;\n }\n\n private _logMissingParam(missingParam: string): void {\n this.logger.warn(`Kava analytics block report because of missing param ${missingParam}`);\n }\n\n private static _getTimeDifferenceInSeconds(time: number): number {\n return (Date.now() - time) / 1000.0;\n }\n\n private _updateTabModeInModel(hiddenAttr: string): void {\n this._model.updateModel({\n // $FlowFixMe\n tabMode: this._isTabHidden(hiddenAttr) && !this.player.isInPictureInPicture() ? TabMode.TAB_NOT_FOCUSED : TabMode.TAB_FOCUSED\n });\n }\n\n private _getLiveStreamType(): number | undefined {\n if (!this.player.isLive()) {\n return undefined;\n }\n const stValue = (this.player as any).getLiveEntryStValue?.();\n // '0' = primary stream, '1' = backup stream\n if (stValue === '0') return 1;\n if (stValue === '1') return 2;\n return undefined;\n }\n\n private _isTabHidden(hiddenAttr: string): boolean {\n return document[hiddenAttr];\n }\n\n private _initTabMode(): void {\n let hiddenAttr: string;\n let visibilityChangeEventName: string;\n if (typeof document.hidden !== 'undefined') {\n // Opera 12.10 and Firefox 18 and later support\n hiddenAttr = 'hidden';\n visibilityChangeEventName = 'visibilitychange';\n // @ts-expect-error - Property 'msHidden' does not exist on type 'Document'. Did you mean 'hidden'?\n } else if (typeof document.msHidden !== 'undefined') {\n hiddenAttr = 'msHidden';\n visibilityChangeEventName = 'msvisibilitychange';\n // @ts-expect-error - Property 'webkitHidden' does not exist on type 'Document'. Did you mean 'hidden'?\n } else if (typeof document.webkitHidden !== 'undefined') {\n hiddenAttr = 'webkitHidden';\n visibilityChangeEventName = 'webkitvisibilitychange';\n }\n\n // @ts-expect-error - Variable 'visibilityChangeEventName' is used before being assigned.\n if (hiddenAttr && visibilityChangeEventName) {\n this.eventManager.listen(document, visibilityChangeEventName, () => this._updateTabModeInModel(hiddenAttr));\n this._updateTabModeInModel(hiddenAttr);\n }\n }\n}\n\nexport { Kava };\n","export const DownloadEvent = {\n DOWNLOAD_ITEM_CLICKED: 'download_item_clicked'\n};\n\nexport const ModerationEvent = {\n REPORT_CLICKED: 'report_clicked',\n REPORT_SUBMITTED: 'report_submitted'\n};\n\nexport const ShareEvent = {\n /**\n * Fired when the user clicks on share icon.\n */\n SHARE_CLICKED: 'share_clicked',\n /**\n * Fired when the user clicks on specific social network.\n */\n SHARE_NETWORK: 'share_network'\n};\n\nexport const RelatedEvent = {\n /**\n * Fired when the user selects an entry from the list or the grid.\n */\n RELATED_SELECTED: 'related_selected',\n /**\n * Fired when the user clicks the button to show the related list.\n */\n RELATED_OPEN: 'related_open',\n /**\n * Fired when the user clicks to close the related list.\n */\n RELATED_CLOSE: 'related_close'\n};\n\nexport const InfoEvent = {\n INFO_SCREEN_OPEN: 'info_screen_open'\n};\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { registerPlugin } from '@playkit-js/kaltura-player-js';\nimport { Kava } from './kava';\n\ndeclare const __VERSION__: string;\ndeclare const __NAME__: string;\n\nconst VERSION = __VERSION__;\nconst NAME = __NAME__;\n\nexport { Kava as Plugin };\nexport { KavaEventType as EventType } from './kava-event-model';\nexport { HttpMethodType } from './enums/http-method-type';\nexport { VERSION, NAME };\n\nconst pluginName: string = 'kava';\n\nregisterPlugin(pluginName, Kava);\n"],"names":["root","factory","exports","module","define","amd","self","e","d","t","r","n","o","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","Symbol","toStringTag","value","TypeError","iterator","constructor","toPrimitive","String","i","length","configurable","writable","key","s","a","NAME","P","OVPAnalyticsService","A","OVPConfiguration","h","RequestBuilder","l","VERSION","C","f","arguments","this","severity","category","code","data","_logger","error","concat","RECOVERABLE","CRITICAL","NETWORK","SERVICE","PROVIDER","UNSUPPORTED_SCHEME","BAD_HTTP_STATUS","HTTP_ERROR","TIMEOUT","MALFORMED_DATA_URI","BAD_SERVER_RESPONSE","MULTIREQUEST_API_ERROR","API_RESPONSE_MISMATCH","ERROR","BLOCK_ACTION","MEDIA_STATUS_NOT_READY","MISSING_MANDATORY_PARAMS","MISSING_PLAY_SOURCE","METHOD_NOT_IMPLEMENTED","DEBUG","name","INFO","OFF","TIME","TRACE","WARN","createDefaultHandler","debug","enabledFor","getLevel","info","log","setHandler","setLevel","time","timeEnd","trace","useDefaults","warn","Map","async","timeout","maxAttempts","headers","service","action","Promise","_requestPromise","resolve","reject","url","Severity","Category","Code","_createXHR","XMLHttpRequest","onreadystatechange","readyState","status","JSON","parse","responseText","responseHeaders","_getResponseHeaders","_createError","text","open","method","retryConfig","performance","now","ontimeout","_handleError","statusText","onerror","onabort","forEach","setRequestHeader","send","params","getAllResponseHeaders","split","filter","toLowerCase","indexOf","_attemptCounter","assign","attempt","p","Array","isArray","slice","keys","y","serviceUrl","cdnUrl","serviceParams","apiVersion","format","useApiCaptions","loadThumbnailWithKs","replaceHostOnlyManifestUrls","v","setPrototypeOf","bind","__proto__","create","m","ReferenceError","g","E","getPrototypeOf","R","objectType","hasError","O","message","b","Reflect","construct","sham","Proxy","Boolean","valueOf","apply","requests","push","stringify","FAILED_PARSING_REQUEST","doHttpRequest","then","_","success","response","results","result","map","T","toString","encodeURIComponent","u","c","test","join","replace","S","_trackEventByPOST","_trackEventByGET","tag","set","eventType","partnerId","entryId","sessionId","ks","clientTag","getUrl","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","definition","obj","prop","KalturaPlayer","_typeof","_arrayLikeToArray","arr","len","arr2","_classCallCheck","instance","Constructor","toPropertyKey","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_defineProperty","KavaEventModel","VIEW","type","index","getEventModel","model","eventModel","playTimeSum","getPlayTimeSum","bufferTime","getBufferTime","bufferTimeSum","getBufferTimeSum","actualBitrate","getActualBitrate","averageBitrate","getAverageBitrate","audioLanguage","getLanguage","soundMode","getSoundMode","tabMode","getTabMode","viewabilityMode","getViewabilityMode","screenMode","getScreenMode","isNaN","getForwardBufferHealth","forwardBufferHealth","getMaxManifestDownloadTime","manifestDownloadTime","getSegmentDownloadTime","segmentDownloadTime","getBandwidth","bandwidth","getDroppedFramesRatio","droppedFramesRatio","getTargetBuffer","targetBuffer","getNetworkConnectionType","networkConnectionType","getNetworkConnectionOverhead","networkConnectionOverhead","getFlavorParamsId","flavorParamsId","getPlaybackMode","playbackMode","getSourceEntryId","sourceEntryId","liveStreamType","getLiveStreamType","streamType","IMPRESSION","getPlayerJSLoadTime","playerJSLoadTime","isV2ToV7Redirected","getV2ToV7Redirect","registeredPlugins","getRegisteredPlugins","PLAY_REQUEST","PLAY","joinTime","getJoinTime","canPlay","getCanPlayTime","RESUME","PAUSE","BUFFER_START","BUFFER_END","REPLAY","SEEK","targetPosition","getTargetPosition","PLAY_REACHED_25_PERCENT","PLAY_REACHED_50_PERCENT","PLAY_REACHED_75_PERCENT","PLAY_REACHED_100_PERCENT","PLAY_REACHED_90_PERCENT","SOURCE_SELECTED","AUDIO_SELECTED","language","FLAVOR_SWITCH","SPEED","CAPTIONS","errorCode","getErrorCode","errorDetails","getErrorDetails","errorPosition","getErrorPosition","RELATED_OPEN","RELATED_SELECTED","SHARE_CLICKED","SHARE_NETWORK","socialNetwork","getShareNetworkName","ENTER_FULLSCREEN","EXIT_FULLSCREEN","DOWNLOAD","REPORT_CLICKED","REPORT_SUBMITTED","reportType","getReportType","KavaEventType","k","KavaRateHandler","_rates","rates","_this","rate","active","duration","find","current","totalDuration","sum","FakeEvent","core","FakeEventTarget","WorkerTimer","callback","interval","blob","Blob","workerScript","URL","createObjectURL","worker","Worker","onmessage","terminate","KavaTimer","_FakeEventTarget","config","_callSuper","_config","_this2","_terminateTimer","_stopped","_resetCounter","_eventCounter","_timer","_monitor","stop","resetCounter","dispatchEvent","Event","RESET","TICK","eventCounter","REPORT","EventBucketName","ButtonType","ApplicationEventType","PageLoadType","playkitUIEventsNamespace","PlaykitUIEvents","USER_CLICKED_LOGO","USER_SELECTED_CAPTIONS_SIZE","USER_SELECTED_CAPTIONS_WEIGHT","USER_SELECTED_CAPTIONS_ALIGNMENT","USER_SELECTED_CAPTIONS_FONT_COLOR","USER_SELECTED_CAPTIONS_FONT_FAMILY","USER_SELECTED_CAPTIONS_FONT_STYLE","USER_SELECTED_CAPTIONS_FONT_OPACITY","USER_SELECTED_CAPTIONS_BACKGROUND_COLOR","USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY","USER_SHOWED_CAPTIONS","USER_HID_CAPTIONS","USER_SELECTED_CAPTION_TRACK","USER_SELECTED_AUDIO_TRACK","USER_COPIED_DEBUG_INFO","DISPLAY_INFO_BEFORE_PLAYBACK","USER_SELECTED_CAPTIONS_PRESET_MINIMALIST","USER_SELECTED_CAPTIONS_PRESET_HIGH_CONTRAST","USER_SELECTED_CAPTIONS_PRESET_CLASSIC_TV_STYLE","USER_SELECTED_CAPTIONS_PRESET_EASY_READING","USER_SELECTED_CAPTIONS_PRESET_EARLY_READERS","USER_SELECTED_CAPTIONS_PRESET_NIGHT_MODE","USER_SELECTED_CAPTIONS_CUSTOM","PluginsEvents","_objectSpread","NAVIGATION_OPEN","NAVIGATION_CLOSE","NAVIGATION_SEARCH","NAVIGATION_ITEM_CLICK","NAVIGATION_EXPANDABLE_TEXT_CLICK","DOWNLOAD_ITEM_CLICKED","SHOW_OVERLAY","HIDE_OVERLAY","DOWNLOAD_SUMMARY_CHAPTERS_DOWNLOAD","TRANSCRIPT_OPEN","TRANSCRIPT_CLOSE","TRANSCRIPT_DOWNLOAD","TRANSCRIPT_PRINT","TRANSCRIPT_SEARCH","TRANSCRIPT_NAVIGATE_RESULT","TRANSCRIPT_POPOUT_OPEN","TRANSCRIPT_POPOUT_CLOSE","TRANSCRIPT_POPOUT_DRAG","TRANSCRIPT_POPOUT_RESIZE","CHANGE_LAYOUT","SIDE_DISPLAYED","SHARE_CLOSE","SHARE_COPY","BUMPER_CLICKED","SKIP_BUTTON_CLICK","SKIP_BUTTON_DISPLAYED","PLAYLIST_OPEN","PLAYLIST_CLOSE","RELATED_CLOSE","RELATED_ENTRY_SELECTED","RELATED_ENTRY_AUTO_PLAYED","RELATED_GRID_DISPLAYED","CALL_TO_ACTION_BUTTON_CLICK","CALL_TO_ACTION_DISPLAYED","HOTSPOT_CLICK","HOTSPOT_DISPLAYED","QUIZ_STARTED","QUIZ_SKIPPED","QUIZ_SEEK","QUESTION_ANSWERED","QUIZ_SUBMITTED","QUIZ_RETAKE","QUIZ_QUESTION_CHANGED","DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN","DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN","DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED","DETECT_AD_BLOCK_X_BUTTON_CLICKED","DETECT_AD_BLOCK_AD_BLOCKER_DISABLED","DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED","REELS_PLAY","REELS_PAUSE","REELS_MUTE","REELS_UNMUTE","REELS_SEEK","REELS_POSTER_CLICKED","REELS_ENTRY_LOADED","REELS_PLAYLIST_LOADED","EAD_ON","EAD_OFF","EAD_SKIP","EAD_REPLAY","EAD_PAUSE","EAD_RESUME","EAD_PLAY","EAD_SCROLL","SUMMARY_CHAPTERS_OPEN","SUMMARY_CHAPTERS_CLOSE","SUMMARY_CHAPTERS_READ_CHAPTERS","SUMMARY_CHAPTERS_READ_OVERVIEW","SUMMARY_CHAPTERS_COPY_TO_CLIPBOARD","SUMMARY_CHAPTERS_CHAPTER_EXPAND","SUMMARY_CHAPTERS_CHAPTER_COLLAPSE","SUMMARY_CHAPTERS_CHAPTER_SEEK","SUMMARY_CHAPTERS_CHAPTER_SHARE","SUMMARY_CHAPTERS_DOWNLOAD_SUMMARY","SUMMARY_CHAPTERS_DISPLAY_BEFORE_PLAYBACK","SUMMARY_CHAPTERS_ALLOW_DOWNLOAD_TOGGLED","SUMMARY_CHAPTERS_ALLOW_SHARE_CHAPTER_TOGGLED","SUMMARY_CHAPTERS_PANEL_POSITION_CHANGED","SUMMARY_CHAPTERS_EXPAND_MODE_CHANGED","SUMMARY_CHAPTERS_EXPAND_ON_FIRST_PLAY_TOGGLED","SUMMARY_CHAPTERS_LAYOUT_CHANGED","AUDIO_PLAYER_VISUALIZATION_STATE","CPE_TRACKER_HOVER","BANNER_MESSAGE_DISPLAYS","BANNER_MESSAGE_MANUALLY_DISMISSED","GENIE_OPEN_AUTO","GENIE_OPEN_MANUAL","GENIE_CLOSE","GENIE_NEW_THREAD","VOD_COMPLETION_VIDEO_STARTED","VOD_COMPLETION_VIDEO_COMPLETED","POST_MESSAGE_BRIDGE_ACTIVE","KalturaApplication","KMC","KMS","KAF","PITCH","KMS_GO","WEBCASTING","PERSONAL_CAPTURE","KME","KME_MOBILE_APP","PATH","LECTURE_CAPTURE","EP","CHAT_AND_COLLABORATION","ANALYTICS","EXPRESS_CAPTURE","KPF","KAF_GO","SITES","STUDIO","CAPTIONS_EDITOR","CHECKLIST","PLAYER","GENIE","ApplicationFeature","getApplicationEventsModel","eventObj","innerEventPayload","commonModel","getPartnerId","getEntryId","getSessionId","kalturaApplication","application","getApplication","getVirtualEventId","getKalturaApplicationVersion","getUserId","getKS","getHostingKalturaApplication","getHostingKalturaApplicationVersion","namedEventModel","eventVar1","eventVar2","eventVar3","eventVar4","applicationFeature","ApplicationEventsModel","_ApplicationEventsMod","_ref","layout","Choose","DUAL_SCREEN","payload","View","Open","SHARE_EMBED","Close","Share","socialNetworkName","Download","assetType","fileType","description","isDefault","Link","BUMPER","NAVIGATION","searchQuery","activeTab","availableTabs","isItSearch","Search","itemType","isTextExpanded","Expand","Collapse","TRANSCRIPT","search","Navigate","Edit","position","x","size","PLAYLIST","SKIP","mode","RELATED","CALL_TO_ACTION","displayType","isMetadataBased","HOTSPOPT","Load","QUIZ","Send","_ref2","questionIndex","Toggle","settings","EAD","_ref3","trigger","_ref4","_ref5","_ref6","_payload$showText","showText","Browse","UI","ADVANCED_CAPTIONS","_ref7","captionTrack","autoSelected","_ref8","_audioTrack$language","audioTrack","startsWith","AUDION_TRACKS","DETECT_AD_BLOCK","_ref9","isResume","REELS","_ref10","_ref11","_ref12","_ref13","from","to","_ref14","_ref15","muted","playlistId","_ref16","autoplay","_ref17","buttonName","SUMMARY_CHAPTERS","_ref18","_ref19","chapterNumber","_ref20","_ref21","_ref22","_ref23","displayBeforePlay","_ref24","allowDownload","_ref25","allowShareChapter","_ref26","panelPosition","_ref27","expandMode","_ref28","expandOnFirstPlay","_ref29","DEBUG_INFO","Analytics","state","AUDIO_PLAYER","CPE_TRACKER","BANNER_OVERLAY","VOD_COMPLETION","_ref30","completionThreshold","_ref31","sendAllEvents","eventsToSend","POST_MESSAGE_BRIDGE","KavaModel","ScreenMode","NOT_IN_FULLSCREEN","NaN","updateModel","canPlayTime","Math","round","caption","totalSegmentsDownloadTime","totalSegmentsDownloadBytes","maxManifestDownloadTime","maxSegmentDownloadTime","maxNetworkConnectionOverhead","retVal","eventIndex","sessionStartTime","shareNetworkName","eventBucketName","PlayerEvents","eventPayload","getEventIndex","referrer","getReferrer","deliveryType","getDeliveryType","playbackType","getPlaybackType","clientVer","getClientVer","getClientTag","getPosition","playbackSpeed","getPlaybackSpeed","playerSkin","getPlayerSkin","getCaption","getSessionStartTime","virtualEventId","getUIConfId","uiConfId","getPlaylistId","getCustomVar1","customVar1","getCustomVar2","customVar2","getCustomVar3","customVar3","getPlaybackContext","playbackContext","kalturaApplicationVer","getKalturaApplication","userId","getPersistentSessionId","persistentSessionId","hostingKalturaApplication","hostingKalturaApplicationVersion","ApplicationEvents","SoundMode","ViewabilityMode","TabMode","ErrorPosition","HttpMethodType","GET","POST","Application","PlayerSkin","LogFailedLiveEvents","logger","numOfLoggedFailedEvents","storageKey","dataToStore","failureCountKey","getFailedCounterKey","counter","LocalStorageManager","getItem","setItem","appendNewFailedLiveEventToLocalStorage","tailLength","storedArray","date","Date","parseInt","PKError","Error","Utils","DIVIDER","Kava","_BasePlugin","player","_logFailedLiveEvents","_rateHandler","_model","_setModelDelegates","resetSessionCountdown","viewEventCountdown","_viewEventEnabled","_resetFlags","_addBindings","entry","getEntriesByType","match","volume","SOUND_OFF","SOUND_ON","isVisible","isInPictureInPicture","IN_VIEW","NOT_IN_VIEW","list","perfEntries","getEntries","_performanceEntries","_pendingFragLoadedUrls","_handleFragPerformanceObserver","pop","eventManager","destroy","_reset","_performanceObserver","disconnect","removeAll","window","PerformanceObserver","_handleNewPerformanceEntries","observe","entryTypes","event","getModel","copyDeep","trackEvent","requestMethod","_handleServerResponseSuccess","err","_handleServerResponseFailed","_previousCurrentTime","_lastViewEventPlayTime","_isPlaying","_isFirstPlay","_isFirstPlaying","_isEnded","_isPaused","_isBuffering","_canPlayOccured","_isManualPreload","reset","_validate","_updateBufferModel","_bufferStartTime","tamperAnalyticsHandler","sendAnalytics","catch","_this$config","_this$player","logLiveAnalyticsFailures","isLive","_updateSessionStartTimeModel","shouldLogLiveAnalyticsFailures","logFailedLiveAnalyticsEventsToLocalStorage","_this3","listen","countCurrent","_onReport","_resetSession","Core","_onSourceSelected","_onError","FIRST_PLAY","_onFirstPlay","FRAG_LOADED","_onFragLoaded","MANIFEST_LOADED","_onManifestLoaded","TIMED_METADATA","_onTimedMetadataLoaded","TRACKS_CHANGED","_setInitialTracks","PLAYING","_onPlaying","FIRST_PLAYING","_onFirstPlaying","SEEKING","_onSeeking","_onPause","ENDED","_onEnded","VIDEO_TRACK_CHANGED","_onVideoTrackChanged","AUDIO_TRACK_CHANGED","_onAudioTrackChanged","TEXT_TRACK_CHANGED","_onTextTrackChanged","PLAYER_STATE_CHANGED","_onPlayerStateChanged","RATE_CHANGE","_onPlaybackRateChanged","CAN_PLAY","_onCanPlay","LOAD_START","_onLoadStart","VOLUME_CHANGE","_updateSoundModeInModel","VISIBILITY_CHANGE","_updateViewabilityModeInModel","visible","MUTE_CHANGE","_onFullScreenChanged","FULLSCREEN","_onRelatedClicked","_onRelatedSelected","_onShareClicked","_onShareNetworkClicked","_onDownloadItemClicked","_onInfoScreenOpened","_onReportClicked","_onReportSubmitted","listenOnce","_onPlayerReached","_bindApplicationEvents","_bindPlaykitUIEvents","_initTabMode","_initNetworkConnectionType","_this4","values","_isApplicationEventValid","_sendAnalytics","_this5","_fragLoadedFiredOnce","_loadStartTime","getTracks","Track","VIDEO","videoTrack","_getRates","activeTracks","getActiveTracks","setRates","video","setCurrent","audio","availableBuffer","stats","_getAvailableBuffer","_getTargetBuffer","droppedFrames","droppedAndDecoded","_getDroppedAndDecodedFrames","lastDroppedFrames","lastTotalFrames","droppedFramesDelta","_lastDroppedFrames","totalFramesDelta","_lastTotalFrames","getVideoElement","getVideoPlaybackQuality","videoPlaybackQuality","droppedVideoFrames","totalVideoFrames","webkitDroppedFrameCount","webkitDecodedFrameCount","_updatePlayTimeSumModel","_getForwardBufferHealth","_getDroppedFramesRatio","navConnection","effectiveType","_this6","navigator","connection","mozConnection","webkitConnection","_updateNetworkConnectionTypeinModel","isUntimedImg","start","playRequestStartTime","playback","preload","_firstPlayRequestTime","_getTimeDifferenceInSeconds","resume","_this7","plugins","plugin","isImage","TIME_UPDATE","_onTimeUpdate","currentTime","_updateFragLoadedStats","fragResourceTimings","lastFragResourceTiming","_updateMaxNetworkConnectionOverhead","connectEnd","domainLookupStart","lastIndexOftheFragment","splice","max","seconds","miliSeconds","bytes","id3TagCues","cues","Number","sequenceId","clipId","_data$clipId$split2","next","done","minLen","partType","selectedVideoTrack","isAdaptiveBitrateEnabled","selectedAudioTrack","textTrack","selectedTextTrack","PRE_PLAY","PRE_PLAYING","MID_STREAM","playbackRates","includes","playbackRate","oldState","newState","State","BUFFERING","viewEventsEnabled","isStopped","delta","_this8","getCurrent","getAverage","playerVersion","_getPosition","_getDeliveryType","_getPlaybackType","playerEvent","_getApplication","kalturaApplicationVersion","_getKalturaApplicationId","applicationVersion","_getPlayerSkin","getNumFailedAnalyticReports","_getLiveStreamType","_getPlayerType","reels","audioPlayer","AUDIO","kalturaAppName","sources","seekFrom","startTime","StreamType","PROGRESSIVE","isDvr","dvrThreshold","_logMissingParam","pageName","eventName","missingParam","hiddenAttr","_isTabHidden","TAB_NOT_FOCUSED","TAB_FOCUSED","_getLiveEntryStValue","stValue","getLiveEntryStValue","document","visibilityChangeEventName","_this9","hidden","msHidden","webkitHidden","_updateTabModeInModel","BasePlugin","Http","protocol","__VERSION__","__NAME__","registerPlugin"],"sourceRoot":""}