cloudinary-video-player 2.5.1-edge.3 → 2.5.1-edge.5

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.
@@ -9353,25 +9353,21 @@ __webpack_require__.r(__webpack_exports__);
9353
9353
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9354
9354
  /* harmony export */ "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
9355
9355
  /* harmony export */ });
9356
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/video.es-exposed.js");
9357
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
9358
- /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isPlainObject */ "../node_modules/lodash/isPlainObject.js");
9359
- /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__);
9360
- /* harmony import */ var cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! cloudinary-video-analytics */ "../node_modules/cloudinary-video-analytics/dist/main.js");
9361
- /* harmony import */ var cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_2__);
9362
- /* harmony import */ var _utils_consts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/consts */ "./utils/consts.js");
9363
-
9356
+ /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isPlainObject */ "../node_modules/lodash/isPlainObject.js");
9357
+ /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__);
9358
+ /* harmony import */ var cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! cloudinary-video-analytics */ "../node_modules/cloudinary-video-analytics/dist/main.js");
9359
+ /* harmony import */ var cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_1__);
9360
+ /* harmony import */ var _utils_consts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/consts */ "./utils/consts.js");
9364
9361
 
9365
9362
 
9366
9363
 
9367
9364
  class CloudinaryAnalytics {
9368
9365
  constructor(player, options) {
9369
9366
  this.player = player;
9370
- this.shouldUseCustomEvents = (video_js__WEBPACK_IMPORTED_MODULE_0___default().browser).IS_IOS;
9371
- this.cloudinaryAnalytics = (0,cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_2__.connectCloudinaryAnalytics)(this.player.videoElement, {
9372
- customEvents: this.shouldUseCustomEvents
9367
+ this.cloudinaryAnalytics = (0,cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_1__.connectCloudinaryAnalytics)(this.player.videoElement, {
9368
+ playerAdapter: this.getCloudinaryVideoPlayerAdapter()
9373
9369
  });
9374
- this.currentVideMetadata = {
9370
+ this.currentVideoMetadata = {
9375
9371
  cloudName: null,
9376
9372
  publicId: null
9377
9373
  };
@@ -9381,46 +9377,66 @@ class CloudinaryAnalytics {
9381
9377
  cloudName: this.player.cloudinary.cloudinaryConfig().cloud_name,
9382
9378
  publicId: this.player.cloudinary.currentPublicId()
9383
9379
  });
9384
- sourceChanged = () => {
9380
+ sourceChanged = (e, _ref) => {
9381
+ let {
9382
+ source
9383
+ } = _ref;
9385
9384
  const metadata = this.getMetadata();
9386
9385
  if (metadata.cloudName && metadata.publicId) {
9387
- this.currentVideMetadata = metadata;
9388
- this.cloudinaryAnalytics.startManualTracking(metadata, {
9389
- ...(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default()(this.analyticsOptions) ? this.analyticsOptions : {}),
9386
+ const isLiveStream = source.resourceConfig().type === 'live';
9387
+ this.currentVideoMetadata = metadata;
9388
+ this.cloudinaryAnalytics.startManualTracking({
9389
+ ...metadata,
9390
+ ...(isLiveStream ? {
9391
+ type: 'live'
9392
+ } : {})
9393
+ }, {
9394
+ ...(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(this.analyticsOptions) ? this.analyticsOptions : {}),
9390
9395
  videoPlayerType: 'cloudinary video player',
9391
- videoPlayerVersion: "2.5.1-edge.3"
9396
+ videoPlayerVersion: "2.5.1-edge.5"
9392
9397
  });
9393
- } else if (this.currentVideMetadata.cloudName !== metadata.cloudName || this.currentVideMetadata.publicId !== metadata.publicId) {
9398
+ } else if (this.currentVideoMetadata.cloudName !== metadata.cloudName || this.currentVideoMetadata.publicId !== metadata.publicId) {
9394
9399
  this.cloudinaryAnalytics.stopManualTracking();
9395
9400
  }
9396
9401
  };
9397
- dispatchCustomEventOnVideoPlayer = (() => {
9398
- var _this = this;
9399
- return function (name) {
9400
- let detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
9401
- const ev = new CustomEvent(`cld-custom-${name}`, {
9402
- detail
9403
- });
9404
- _this.player.videoElement.dispatchEvent(ev);
9402
+ getCloudinaryVideoPlayerAdapter = () => {
9403
+ const createCldVPEventListener = (eventName, callback) => {
9404
+ this.player.on(eventName, callback);
9405
+ return () => {
9406
+ this.player.off(eventName, callback);
9407
+ };
9408
+ };
9409
+ return {
9410
+ onCanPlay: callback => createCldVPEventListener('canplay', callback),
9411
+ onCanPlayThrough: callback => createCldVPEventListener('canplaythrough', callback),
9412
+ onComplete: callback => createCldVPEventListener('complete', callback),
9413
+ onDurationChange: callback => createCldVPEventListener('durationchange', callback),
9414
+ onEmptied: callback => createCldVPEventListener('emptied', callback),
9415
+ onEnded: callback => createCldVPEventListener('ended', callback),
9416
+ onError: callback => createCldVPEventListener('error', callback),
9417
+ onLoadedData: callback => createCldVPEventListener('loadeddata', callback),
9418
+ onLoadedMetadata: callback => createCldVPEventListener('loadedmetadata', callback),
9419
+ onLoadStart: callback => createCldVPEventListener('loadstart', callback),
9420
+ onPause: callback => createCldVPEventListener('pause', callback),
9421
+ onPlay: callback => createCldVPEventListener('play', callback),
9422
+ onPlaying: callback => createCldVPEventListener('playing', callback),
9423
+ onProgress: callback => createCldVPEventListener('progress', callback),
9424
+ onRateChange: callback => createCldVPEventListener('ratechange', callback),
9425
+ onSeeked: callback => createCldVPEventListener('seeked', callback),
9426
+ onSeeking: callback => createCldVPEventListener('seeking', callback),
9427
+ onStalled: callback => createCldVPEventListener('stalled', callback),
9428
+ onSuspend: callback => createCldVPEventListener('suspend', callback),
9429
+ onTimeUpdate: callback => createCldVPEventListener('timeupdate', callback),
9430
+ onVolumeChange: callback => createCldVPEventListener('volumechange', callback),
9431
+ onWaiting: callback => createCldVPEventListener('waiting', callback),
9432
+ getCurrentSrc: () => this.player.videoElement.currentSrc,
9433
+ getCurrentTime: () => this.player.currentTime(),
9434
+ getReadyState: () => this.player.videoElement.readyState,
9435
+ getDuration: () => this.player.duration()
9405
9436
  };
9406
- })();
9407
- connectCustomEvents = () => {
9408
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.PLAY, () => this.dispatchCustomEventOnVideoPlayer('play'));
9409
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.PAUSE, () => this.dispatchCustomEventOnVideoPlayer('pause'));
9410
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.EMPTIED, () => this.dispatchCustomEventOnVideoPlayer('emptied'));
9411
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.LOADED_METADATA, () => {
9412
- const videoDuration = this.player.videoElement.duration || null;
9413
- this.dispatchCustomEventOnVideoPlayer('loadedmetadata', {
9414
- videoDuration
9415
- });
9416
- });
9417
9437
  };
9418
9438
  init() {
9419
- // only for iOS there is problem with reporting events because videojs re-triggers events and stops native ones
9420
- if (this.shouldUseCustomEvents) {
9421
- this.connectCustomEvents();
9422
- }
9423
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.CLD_SOURCE_CHANGED, this.sourceChanged);
9439
+ this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.CLD_SOURCE_CHANGED, this.sourceChanged);
9424
9440
  }
9425
9441
  }
9426
9442
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {
@@ -9761,7 +9777,7 @@ class CloudinaryContext {
9761
9777
  options.sourceTypes = options.sourceTypes || _this.sourceTypes();
9762
9778
  options.poster = options.poster || posterOptionsForCurrent();
9763
9779
  options.queryParams = Object.assign(options.queryParams || {}, options.usageReport ? {
9764
- _s: `vp-${"2.5.1-edge.3"}`
9780
+ _s: `vp-${"2.5.1-edge.5"}`
9765
9781
  } : {});
9766
9782
  if (options.sourceTypes.indexOf('audio') > -1) {
9767
9783
  builtSrc = new _models_audio_source_audio_source__WEBPACK_IMPORTED_MODULE_7__["default"](publicId, options);
@@ -11028,7 +11044,7 @@ const contextMenuContent = player => {
11028
11044
  const isFullscreen = player.isFullscreen();
11029
11045
  const aboutMenuItem = {
11030
11046
  class: 'player-version',
11031
- label: 'Cloudinary Player v' + "2.5.1-edge.3"
11047
+ label: 'Cloudinary Player v' + "2.5.1-edge.5"
11032
11048
  };
11033
11049
  if (!player.controls()) {
11034
11050
  return [aboutMenuItem];
@@ -13811,7 +13827,7 @@ class VideoPlayer extends _utils__WEBPACK_IMPORTED_MODULE_9__["default"].mixin(_
13811
13827
  const analyticsData = (0,_utils_get_analytics_player_options__WEBPACK_IMPORTED_MODULE_18__.getAnalyticsFromPlayerOptions)(options);
13812
13828
  const analyticsParams = new URLSearchParams(analyticsData).toString();
13813
13829
  const baseParams = new URLSearchParams({
13814
- vpVersion: "2.5.1-edge.3",
13830
+ vpVersion: "2.5.1-edge.5",
13815
13831
  vpInstanceId: this.getVPInstanceId(),
13816
13832
  // #if (process.env.WEBPACK_BUILD_LIGHT)
13817
13833
  // vpLightBuild: true,
@@ -14596,7 +14612,7 @@ const overrideDefaultVideojsComponents = () => {
14596
14612
  \***************************************************************/
14597
14613
  /***/ ((module) => {
14598
14614
 
14599
- !function(e,t){if(true)module.exports=t();else { var r, n; }}(self,(()=>(()=>{"use strict";var e={805:e=>{e.exports=o,e.exports.isMobile=o,e.exports.default=o;const t=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,n=/CrOS/,r=/android|ipad|playbook|silk/i;function o(e){e||(e={});let o=e.ua;if(o||"undefined"==typeof navigator||(o=navigator.userAgent),o&&o.headers&&"string"==typeof o.headers["user-agent"]&&(o=o.headers["user-agent"]),"string"!=typeof o)return!1;let i=t.test(o)&&!n.test(o)||!!e.tablet&&r.test(o);return!i&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==o.indexOf("Macintosh")&&-1!==o.indexOf("Safari")&&(i=!0),i}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{n.r(r),n.d(r,{connectCloudinaryAnalytics:()=>Q});var e=n(805);function t(e){return t="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},t(e)}var o="play",i="pause",a="loadMetadata",u="cld-custom-",c="viewStart",l="viewEnd",d=function(e,t){var n=function(){t(o,{})};return e.addEventListener("play",n),function(){e.removeEventListener("play",n)}},f=function(e,t){var n=function(){t(o,{})};return e.addEventListener("".concat(u,"play"),n),function(){e.removeEventListener("".concat(u,"play"),n)}},s=function(e,t){var n=function(){t(i,{})};e.addEventListener("pause",n);var r=function(){t(i,{})};return e.addEventListener("emptied",r),function(){e.removeEventListener("pause",n),e.removeEventListener("emptied",r)}},p=function(e,t){var n=function(){t(i,{})};e.addEventListener("".concat(u,"pause"),n);var r=function(){t(i,{})};return e.addEventListener("".concat(u,"emptied"),r),function(){e.removeEventListener("".concat(u,"pause"),n),e.removeEventListener("".concat(u,"emptied"),r)}},y=function(e){var t=e.duration,n=Number.isNaN(t)?null:t;return{videoDuration:Number.POSITIVE_INFINITY===n?"Infinity":n}},v=function(e,t){var n=function(){var n=y(e);t(a,{videoDuration:n.videoDuration})};return e.addEventListener("loadedmetadata",n),e.addEventListener("loadedmetadata_after_init",n),function(){e.removeEventListener("loadedmetadata",n),e.removeEventListener("loadedmetadata_after_init",n)}},m=function(e,t){var n=function(n){var r=y(e),o=n.detail.videoDuration||r.videoDuration;t(a,{videoDuration:o})};e.addEventListener("".concat(u,"loadedmetadata"),n);var r=function(e){t(a,{videoDuration:"number"!=typeof e.detail.videoDuration&&e.detail.videoDuration>0?null:e.detail.videoDuration})};return e.addEventListener("".concat(u,"loadedmetadata_after_init"),r),function(){e.removeEventListener("".concat(u,"loadedmetadata"),n),e.removeEventListener("".concat(u,"loadedmetadata_after_init"),r)}},b=function(e,t){return{eventName:e,eventTime:Date.now(),eventDetails:t}};function g(e){return function(e){if(Array.isArray(e))return w(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var h=function(e,t){var n={},r={};return function(o,i){n[o]=[],r[o]=[i];var a=n[o],c=r[o],l=function(e,t){return c.push(b(e,t))},y=t?[f(e,l),p(e,l),m(e,l)]:[d(e,l),s(e,l),v(e,l)];!function(e,t){if(e.readyState>0){var n=t?"".concat(u,"loadedmetadata_after_init"):"loadedmetadata_after_init",r=new CustomEvent(n);e.dispatchEvent(r)}}(e,t);return{flushEvents:function(){var e=c.splice(0,c.length);return a.splice.apply(a,[a.length,0].concat(g(e))),e},getAllEvents:function(){return a},destroy:function(){y.forEach((function(e){return e()}))}}}};const S={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let O;const j=new Uint8Array(16);function E(){if(!O&&(O="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!O))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return O(j)}const D=[];for(let e=0;e<256;++e)D.push((e+256).toString(16).slice(1));function I(e,t=0){return(D[e[t+0]]+D[e[t+1]]+D[e[t+2]]+D[e[t+3]]+"-"+D[e[t+4]]+D[e[t+5]]+"-"+D[e[t+6]]+D[e[t+7]]+"-"+D[e[t+8]]+D[e[t+9]]+"-"+D[e[t+10]]+D[e[t+11]]+D[e[t+12]]+D[e[t+13]]+D[e[t+14]]+D[e[t+15]]).toLowerCase()}const P=function(e,t,n){if(S.randomUUID&&!t&&!e)return S.randomUUID();const r=(e=e||{}).random||(e.rng||E)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return I(r)};var L=function(){return P().replace(/-/g,"")},A="cld-analytics-user-id",k=function(){var e=window.localStorage.getItem(A);if(e)return e;var t=P().replace(/-/g,"");return window.localStorage.setItem(A,t),t};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)}var x=function(e){var t="function"==typeof e?e():e;if("object"===N(t)&&null!==t&&!Array.isArray(t)){var n=function(e){return Array.from({length:5}).reduce((function(t,n,r){var o="customData".concat(r+1);return"string"==typeof e[o]&&(t[o]=e[o]),t}),{})}(t);return Object.keys(n).length>0?n:null}return null},T=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,M="native",U=[M,"cloudinary video player"];function V(e){return V="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},V(e)}function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function C(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_(Object(n),!0).forEach((function(t){z(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function z(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==V(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==V(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===V(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Z=function(e,t,n){var r,o,i,a=x(null==n?void 0:n.customData),u=function(e){return null!==e&&JSON.stringify(e).length<=1e3}(a),l=null!=n&&n.customVideoUrlFallback?function(e,t){try{var n=t(e);return{cloudName:n.cloudName,publicId:n.publicId}}catch(e){return null}}(e,n.customVideoUrlFallback):null,d=null!==(r=l)&&"object"===N(r)&&"string"==typeof r.cloudName&&r.cloudName&&"string"==typeof r.publicId&&r.publicId?{cloudName:r.cloudName,publicId:r.publicId}:null;return b(c,C(C({videoUrl:e,analyticsModuleVersion:"1.7.1",videoPlayer:{type:(i=null==n?void 0:n.videoPlayerType,U.includes(i)?i:M),version:(o=null==n?void 0:n.videoPlayerVersion,"string"==typeof o&&T.test(o)?o:null)}},t),{},{customerData:C(C({},u?{providedData:a}:{}),d?{videoData:d}:{})}))};function F(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return R(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Y=function(e){var t=F(e);return t.push(b(l,{})),JSON.stringify(t)};function $(e){return $="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},$(e)}function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function H(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==$(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==$(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===$(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var q=function(e,t,n,r){var o=function(){var r=t();if(r.length>0){var o=Y(r);n(J(J({},e),{},{events:o}))}},i=function(){return o()},a=function(){"hidden"===document.visibilityState&&o()},u=function(){return o()};return window.addEventListener("beforeunload",i,{once:!0}),r&&(window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",a)),function(){window.removeEventListener("beforeunload",i),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",a),o()}},G=function(e){return e.currentSrc};function K(e){return K="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},K(e)}var Q=function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r&&"object"!==K(r))throw"Options property must be an object";var o=null,i=!0===r.customEvents,a=(0,e.isMobile)({tablet:!0,featureDetect:!0}),c=h(n,i),l=function(e){return function(e,t){var n=Object.keys(t).reduce((function(e,n){return e.append(n,t[n]),e}),new FormData);return"function"!=typeof window.navigator.sendBeacon?window.fetch(e,{method:"POST",mode:"no-cors",body:n,keepalive:!0}):window.navigator.sendBeacon(e,n)}("https://video-analytics-api.cloudinary.com/v1/video-analytics",e)},d=function(){o&&(o.clear(),o=null)};return{startManualTracking:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(e){return"object"!==t(e)?{isValid:!1,errorMessage:"Metadata param needs to be an object"}:"string"!=typeof e.cloudName?{isValid:!1,errorMessage:"You need to provide proper cloud name of your Cloudinary account [cloudName: string]"}:"string"!=typeof e.publicId?{isValid:!1,errorMessage:"You need to provide proper video public ID of your video on your Cloudinary cloud [videoPublicId: string]"}:{isValid:!0}}(e);if(!i.isValid)throw"Cloudinary video analytics tracking called without necessary data (".concat(i.errorMessage,")");if(r&&"object"!==K(r))throw"Options property must be an object";r.customVideoUrlFallback=function(){return e},d();var u=L(),f=G(n),s=Z(f,{trackingType:"manual"},r),p=c(u,s),y=q({userId:k(),viewId:u},p.flushEvents,l,a);o={viewId:u,clear:function(){p.destroy(),y()}}},stopManualTracking:d,startAutoTracking:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(o)throw"Cloudinary video analytics tracking is already connected with this HTML Video Element";if(e&&"object"!==K(e))throw"Options property must be an object";var t=function(){var t=G(n);if(t===window.location.href||!t)return null;var r=L(),i=Z(t,{trackingType:"auto"},e),u=c(r,i),d=q({userId:k(),viewId:r},u.flushEvents,l,a);o={viewId:r,clear:function(){u.destroy(),d()}}},r=i?"".concat(u,"loadstart"):"loadstart",f=i?"".concat(u,"emptied"):"emptied";n.addEventListener(r,(function(){o||t()})),n.addEventListener(f,(function(){d()})),t()}}}})(),r})()));
14615
+ !function(e,t){if(true)module.exports=t();else { var r, n; }}(self,(()=>(()=>{"use strict";var e={805:e=>{e.exports=o,e.exports.isMobile=o,e.exports.default=o;const t=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,n=/CrOS/,r=/android|ipad|playbook|silk/i;function o(e){e||(e={});let o=e.ua;if(o||"undefined"==typeof navigator||(o=navigator.userAgent),o&&o.headers&&"string"==typeof o.headers["user-agent"]&&(o=o.headers["user-agent"]),"string"!=typeof o)return!1;let i=t.test(o)&&!n.test(o)||!!e.tablet&&r.test(o);return!i&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==o.indexOf("Macintosh")&&-1!==o.indexOf("Safari")&&(i=!0),i}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{n.r(r),n.d(r,{connectCloudinaryAnalytics:()=>W});var e=n(805),t="play",o="pause",i="loadMetadata",a="viewStart",u="viewEnd";function l(e){return l="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},l(e)}var c=function(e){var t="function"==typeof e?e():e;if("object"===l(t)&&null!==t&&!Array.isArray(t)){var n=function(e){return Array.from({length:5}).reduce((function(t,n,r){var o="customData".concat(r+1);return"string"==typeof e[o]&&(t[o]=e[o]),t}),{})}(t);return Object.keys(n).length>0?n:null}return null},d=function(e){return null!==e&&"object"===l(e)&&"string"==typeof e.cloudName&&e.cloudName&&"string"==typeof e.publicId&&e.publicId?{cloudName:e.cloudName,publicId:e.publicId}:null},s=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,f="native",y=[f,"cloudinary video player"],p=function(e){return y.includes(e)?e:f},v=function(e){return"string"==typeof e&&s.test(e)?e:null};function m(e){return m="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},m(e)}function g(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){S(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function S(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=m(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=m(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==m(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var E=function(e,t){var n=c(null==t?void 0:t.customData),r=function(e){return null!==e&&JSON.stringify(e).length<=1e3}(n),o=null!=t&&t.customVideoUrlFallback?function(e,t){try{var n=t(e);return{cloudName:n.cloudName,publicId:n.publicId}}catch(e){return null}}(e.videoUrl,t.customVideoUrlFallback):null,i=d(o);return P(a,w(w({},e),{},{analyticsModuleVersion:"1.8.2",videoPlayer:{type:p(null==t?void 0:t.videoPlayerType),version:v(null==t?void 0:t.videoPlayerVersion)},customerData:w(w({},r?{providedData:n}:{}),i?{videoData:i}:{})}))},V=function(){return P(u,w({},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}))},P=function(e,t){return{eventName:e,eventTime:Date.now(),eventDetails:t}},I=function(e){var t=g(e);return JSON.stringify(t)};function j(e){return function(e){if(Array.isArray(e))return A(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return A(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var O=function(e){var n={},r={};return function(){var a=null,u=[],l=function(e,t){if(!a)throw new Error("Events collector session not started");r[a].push(P(e,t))};return{flushEvents:function(){var e;if(!a)throw new Error("Events collector session not started");var t=r[a].splice(0,r[a].length);return(e=n[a]).splice.apply(e,[n[a].length,0].concat(j(t))),t},getCollectedEventsCount:function(){var e;return a&&(null===(e=r[a])||void 0===e?void 0:e.length)||0},addEvent:function(e){var t=e.eventName,n=e.eventDetails;return l(t,n)},start:function(c){if(a)throw new Error("Events collector session already started");n[a=c]=[],r[a]=[],u.push(function(e,n){var r=e.onPlay((function(){n(t,{})}));return function(){r()}}(e,l),function(e,t){var n=e.onPause((function(){t(o,{})})),r=e.onEmptied((function(){t(o,{})}));return function(){n(),r()}}(e,l),function(e,t){var n=function(){var n,r;t(i,{videoDuration:(n=e.getDuration(),r=Number.isNaN(n)?null:n,Number.POSITIVE_INFINITY===r?"Infinity":r),videoUrl:e.getCurrentSrc()})},r=e.onLoadedMetadata((function(){return n()}));return e.getReadyState()>0&&setTimeout((function(){return n()}),0),function(){r()}}(e,l))},destroy:function(){if(!a)throw new Error("Events collector session not started");u.forEach((function(e){return e()})),a=null}}}};const k={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let C;const D=new Uint8Array(16);function M(){if(!C&&(C="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!C))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return C(D)}const T=[];for(let e=0;e<256;++e)T.push((e+256).toString(16).slice(1));function U(e,t=0){return(T[e[t+0]]+T[e[t+1]]+T[e[t+2]]+T[e[t+3]]+"-"+T[e[t+4]]+T[e[t+5]]+"-"+T[e[t+6]]+T[e[t+7]]+"-"+T[e[t+8]]+T[e[t+9]]+"-"+T[e[t+10]]+T[e[t+11]]+T[e[t+12]]+T[e[t+13]]+T[e[t+14]]+T[e[t+15]]).toLowerCase()}const N=function(e,t,n){if(k.randomUUID&&!t&&!e)return k.randomUUID();const r=(e=e||{}).random||(e.rng||M)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return U(r)};var x="cld-analytics-user-id",L=function(){return N().replace(/-/g,"")},_=function(e,t){var n=Object.keys(t).reduce((function(e,n){return e.append(n,t[n]),e}),new FormData);return"function"!=typeof window.navigator.sendBeacon?window.fetch(e,{method:"POST",mode:"no-cors",body:n,keepalive:!0}):window.navigator.sendBeacon(e,n)};function z(e){return z="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},z(e)}var F=function(e,t){if(!e.isValid)throw t?"".concat(t,":")+"\n\n"+e.errorMessage:e.errorMessage},R=function(e){return e&&"object"!==z(e)?{isValid:!1,errorMessage:"Options property must be an object"}:{isValid:!0}},Z=function(e,t,n){return e.addEventListener(t,n),function(){e.removeEventListener(t,n)}},Y=function(e,t){return t?$(e):B(e)},$=function(e){var t=e.onPageViewStart,n=e.onPageViewEnd,r=function(){"visible"===document.visibilityState?null==t||t():"hidden"===document.visibilityState&&(null==n||n())};return document.addEventListener("visibilitychange",r),"visible"===document.visibilityState&&(null==t||t()),function(){document.removeEventListener("visibilitychange",r)}},B=function(e){var t=e.onPageViewStart,n=e.onPageViewEnd,r=function(){return null==t?void 0:t()},o=function(){return null==n?void 0:n()};return"complete"===document.readyState?r():window.addEventListener("load",r),window.addEventListener("beforeunload",o),function(){window.removeEventListener("load",r),window.removeEventListener("beforeunload",o)}};function H(e){return function(e){if(Array.isArray(e))return J(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return J(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?J(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var q={default:"https://video-analytics-api.cloudinary.com/v1/video-analytics",liveStreams:"https://video-analytics-api.cloudinary.com/v1/live-streams"},W=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};F(function(e){return e&&"object"!==z(e)?{isValid:!1,errorMessage:"Options property must be an object"}:{isValid:!0}}(n),"Cloudinary video analytics requires proper options object"),n.playerAdapter||(n.playerAdapter=function(e){return{onCanPlay:function(t){return Z(e,"canplay",t)},onCanPlayThrough:function(t){return Z(e,"canplaythrough",t)},onComplete:function(t){return Z(e,"complete",t)},onDurationChange:function(t){return Z(e,"durationchange",t)},onEmptied:function(t){return Z(e,"emptied",t)},onEnded:function(t){return Z(e,"ended",t)},onError:function(t){return Z(e,"error",t)},onLoadedData:function(t){return Z(e,"loadeddata",t)},onLoadedMetadata:function(t){return Z(e,"loadedmetadata",t)},onLoadStart:function(t){return Z(e,"loadstart",t)},onPause:function(t){return Z(e,"pause",t)},onPlay:function(t){return Z(e,"play",t)},onPlaying:function(t){return Z(e,"playing",t)},onProgress:function(t){return Z(e,"progress",t)},onRateChange:function(t){return Z(e,"ratechange",t)},onSeeked:function(t){return Z(e,"seeked",t)},onSeeking:function(t){return Z(e,"seeking",t)},onStalled:function(t){return Z(e,"stalled",t)},onSuspend:function(t){return Z(e,"suspend",t)},onTimeUpdate:function(t){return Z(e,"timeupdate",t)},onVolumeChange:function(t){return Z(e,"volumechange",t)},onWaiting:function(t){return Z(e,"waiting",t)},getCurrentSrc:function(){return e.currentSrc},getCurrentTime:function(){return e.currentTime},getReadyState:function(){return e.readyState},getDuration:function(){return e.duration}}}(t));var r=null,o=function(){var e=window.localStorage.getItem(x);if(e)return e;var t=N().replace(/-/g,"");return window.localStorage.setItem(x,t),t}(),i=n.playerAdapter,l=(0,e.isMobile)({tablet:!0,featureDetect:!0}),c=O(i),s=function(){r&&(r.clear(),r=null)},f={_value:L(),getValue:function(){return f._value},regenerateValue:function(){return f._value=L(),r&&(r.viewId=f._value),f._value}},y=function(e,t){var n=c(),a=function(){if(n.getCollectedEventsCount()>0){n.addEvent(V());var e=I(H(n.flushEvents()));t={userId:o,viewId:f.getValue(),events:e},_(q.default,t)}var t},u=Y({onPageViewStart:function(){f.regenerateValue(),n.start(f.getValue()),n.addEvent(E({videoUrl:i.getCurrentSrc(),trackingType:"manual"},t))},onPageViewEnd:function(){a(),n.destroy()}},l);r={viewId:f,type:"manual",subtype:"default",clear:function(){a(),n.destroy(),u()}}},m=function(e,t){var n=d(e),i=function(e){_(q.liveStreams,{userId:o,viewId:f.getValue(),events:I([e])})},c=Y({onPageViewStart:function(){var e;f.regenerateValue(),i((e=t,P(a,w(w({},{liveStreamData:n}),{},{analyticsModuleVersion:"1.8.2",videoPlayer:{type:p(null==e?void 0:e.videoPlayerType),version:v(null==e?void 0:e.videoPlayerVersion)}}))))},onPageViewEnd:function(){i(P(u,w({},{liveStreamData:n})))}},l);r={viewId:f.getValue(),type:"manual",subtype:"live-stream",clear:function(){c()}}};return{startManualTracking:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("auto"===(null===(t=r)||void 0===t?void 0:t.type))throw"Cloudinary video analytics auto tracking is already connected with this HTML Video Element, to start manual tracking you need to stop auto tracking";F(function(e){return"object"!==z(e)?{isValid:!1,errorMessage:"Metadata param needs to be an object"}:"string"!=typeof e.cloudName?{isValid:!1,errorMessage:"You need to provide proper cloud name of your Cloudinary account [cloudName: string]"}:"string"==typeof e.type&&"live"!==e.type?{isValid:!1,errorMessage:'Property "type" can be either undefined or "live" value'}:"string"!=typeof e.publicId?"live"===e.type?{isValid:!1,errorMessage:"You need to provide proper public ID of your Live Stream output"}:{isValid:!1,errorMessage:"You need to provide proper video public ID of your video on your Cloudinary cloud [videoPublicId: string]"}:{isValid:!0}}(e),"Cloudinary video analytics manual tracking called without necessary data"),F(R(n),"Cloudinary video analytics manual tracking called with invalid options"),s(),"live"===e.type?m(e,n):(n.customVideoUrlFallback=n.customVideoUrlFallback||function(){return e},y(e,n))},stopManualTracking:s,startAutoTracking:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(r)throw"Cloudinary video analytics tracking is already connected with this HTML Video Element";F(R(e),"Cloudinary video analytics auto tracking called with invalid options");var t=c(),n=function(){if(t.getCollectedEventsCount()>0){t.addEvent(V());var e=I(H(t.flushEvents()));n={userId:o,viewId:f.getValue(),events:e},_(q.default,n)}var n},a=function(){var o=i.getCurrentSrc();if(o===window.location.href||!o)return null;f.regenerateValue(),t.start(f.getValue()),t.addEvent(E({videoUrl:o,trackingType:"auto"},e)),r={viewId:f,type:"auto",clear:function(){n(),t.destroy()}}};Y({onPageViewStart:function(){return a()},onPageViewEnd:function(){n(),t.destroy()}},l),i.onLoadStart((function(){return!r&&a()})),i.onEmptied((function(){return s()}))}}}})(),r})()));
14600
14616
 
14601
14617
  /***/ }),
14602
14618
 
@@ -1382,25 +1382,21 @@ __webpack_require__.r(__webpack_exports__);
1382
1382
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1383
1383
  /* harmony export */ "default": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
1384
1384
  /* harmony export */ });
1385
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
1386
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
1387
- /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isPlainObject */ "../node_modules/lodash/isPlainObject.js");
1388
- /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__);
1389
- /* harmony import */ var cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! cloudinary-video-analytics */ "../node_modules/cloudinary-video-analytics/dist/main.js");
1390
- /* harmony import */ var cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_2__);
1391
- /* harmony import */ var _utils_consts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/consts */ "./utils/consts.js");
1392
-
1385
+ /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isPlainObject */ "../node_modules/lodash/isPlainObject.js");
1386
+ /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__);
1387
+ /* harmony import */ var cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! cloudinary-video-analytics */ "../node_modules/cloudinary-video-analytics/dist/main.js");
1388
+ /* harmony import */ var cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_1__);
1389
+ /* harmony import */ var _utils_consts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/consts */ "./utils/consts.js");
1393
1390
 
1394
1391
 
1395
1392
 
1396
1393
  class CloudinaryAnalytics {
1397
1394
  constructor(player, options) {
1398
1395
  this.player = player;
1399
- this.shouldUseCustomEvents = (video_js__WEBPACK_IMPORTED_MODULE_0___default().browser).IS_IOS;
1400
- this.cloudinaryAnalytics = (0,cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_2__.connectCloudinaryAnalytics)(this.player.videoElement, {
1401
- customEvents: this.shouldUseCustomEvents
1396
+ this.cloudinaryAnalytics = (0,cloudinary_video_analytics__WEBPACK_IMPORTED_MODULE_1__.connectCloudinaryAnalytics)(this.player.videoElement, {
1397
+ playerAdapter: this.getCloudinaryVideoPlayerAdapter()
1402
1398
  });
1403
- this.currentVideMetadata = {
1399
+ this.currentVideoMetadata = {
1404
1400
  cloudName: null,
1405
1401
  publicId: null
1406
1402
  };
@@ -1410,46 +1406,66 @@ class CloudinaryAnalytics {
1410
1406
  cloudName: this.player.cloudinary.cloudinaryConfig().cloud_name,
1411
1407
  publicId: this.player.cloudinary.currentPublicId()
1412
1408
  });
1413
- sourceChanged = () => {
1409
+ sourceChanged = (e, _ref) => {
1410
+ let {
1411
+ source
1412
+ } = _ref;
1414
1413
  const metadata = this.getMetadata();
1415
1414
  if (metadata.cloudName && metadata.publicId) {
1416
- this.currentVideMetadata = metadata;
1417
- this.cloudinaryAnalytics.startManualTracking(metadata, {
1418
- ...(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default()(this.analyticsOptions) ? this.analyticsOptions : {}),
1415
+ const isLiveStream = source.resourceConfig().type === 'live';
1416
+ this.currentVideoMetadata = metadata;
1417
+ this.cloudinaryAnalytics.startManualTracking({
1418
+ ...metadata,
1419
+ ...(isLiveStream ? {
1420
+ type: 'live'
1421
+ } : {})
1422
+ }, {
1423
+ ...(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(this.analyticsOptions) ? this.analyticsOptions : {}),
1419
1424
  videoPlayerType: 'cloudinary video player',
1420
- videoPlayerVersion: "2.5.1-edge.3"
1425
+ videoPlayerVersion: "2.5.1-edge.5"
1421
1426
  });
1422
- } else if (this.currentVideMetadata.cloudName !== metadata.cloudName || this.currentVideMetadata.publicId !== metadata.publicId) {
1427
+ } else if (this.currentVideoMetadata.cloudName !== metadata.cloudName || this.currentVideoMetadata.publicId !== metadata.publicId) {
1423
1428
  this.cloudinaryAnalytics.stopManualTracking();
1424
1429
  }
1425
1430
  };
1426
- dispatchCustomEventOnVideoPlayer = (() => {
1427
- var _this = this;
1428
- return function (name) {
1429
- let detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1430
- const ev = new CustomEvent(`cld-custom-${name}`, {
1431
- detail
1432
- });
1433
- _this.player.videoElement.dispatchEvent(ev);
1431
+ getCloudinaryVideoPlayerAdapter = () => {
1432
+ const createCldVPEventListener = (eventName, callback) => {
1433
+ this.player.on(eventName, callback);
1434
+ return () => {
1435
+ this.player.off(eventName, callback);
1436
+ };
1437
+ };
1438
+ return {
1439
+ onCanPlay: callback => createCldVPEventListener('canplay', callback),
1440
+ onCanPlayThrough: callback => createCldVPEventListener('canplaythrough', callback),
1441
+ onComplete: callback => createCldVPEventListener('complete', callback),
1442
+ onDurationChange: callback => createCldVPEventListener('durationchange', callback),
1443
+ onEmptied: callback => createCldVPEventListener('emptied', callback),
1444
+ onEnded: callback => createCldVPEventListener('ended', callback),
1445
+ onError: callback => createCldVPEventListener('error', callback),
1446
+ onLoadedData: callback => createCldVPEventListener('loadeddata', callback),
1447
+ onLoadedMetadata: callback => createCldVPEventListener('loadedmetadata', callback),
1448
+ onLoadStart: callback => createCldVPEventListener('loadstart', callback),
1449
+ onPause: callback => createCldVPEventListener('pause', callback),
1450
+ onPlay: callback => createCldVPEventListener('play', callback),
1451
+ onPlaying: callback => createCldVPEventListener('playing', callback),
1452
+ onProgress: callback => createCldVPEventListener('progress', callback),
1453
+ onRateChange: callback => createCldVPEventListener('ratechange', callback),
1454
+ onSeeked: callback => createCldVPEventListener('seeked', callback),
1455
+ onSeeking: callback => createCldVPEventListener('seeking', callback),
1456
+ onStalled: callback => createCldVPEventListener('stalled', callback),
1457
+ onSuspend: callback => createCldVPEventListener('suspend', callback),
1458
+ onTimeUpdate: callback => createCldVPEventListener('timeupdate', callback),
1459
+ onVolumeChange: callback => createCldVPEventListener('volumechange', callback),
1460
+ onWaiting: callback => createCldVPEventListener('waiting', callback),
1461
+ getCurrentSrc: () => this.player.videoElement.currentSrc,
1462
+ getCurrentTime: () => this.player.currentTime(),
1463
+ getReadyState: () => this.player.videoElement.readyState,
1464
+ getDuration: () => this.player.duration()
1434
1465
  };
1435
- })();
1436
- connectCustomEvents = () => {
1437
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.PLAY, () => this.dispatchCustomEventOnVideoPlayer('play'));
1438
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.PAUSE, () => this.dispatchCustomEventOnVideoPlayer('pause'));
1439
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.EMPTIED, () => this.dispatchCustomEventOnVideoPlayer('emptied'));
1440
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.LOADED_METADATA, () => {
1441
- const videoDuration = this.player.videoElement.duration || null;
1442
- this.dispatchCustomEventOnVideoPlayer('loadedmetadata', {
1443
- videoDuration
1444
- });
1445
- });
1446
1466
  };
1447
1467
  init() {
1448
- // only for iOS there is problem with reporting events because videojs re-triggers events and stops native ones
1449
- if (this.shouldUseCustomEvents) {
1450
- this.connectCustomEvents();
1451
- }
1452
- this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_3__.PLAYER_EVENT.CLD_SOURCE_CHANGED, this.sourceChanged);
1468
+ this.player.on(_utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.CLD_SOURCE_CHANGED, this.sourceChanged);
1453
1469
  }
1454
1470
  }
1455
1471
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {
@@ -1790,7 +1806,7 @@ class CloudinaryContext {
1790
1806
  options.sourceTypes = options.sourceTypes || _this.sourceTypes();
1791
1807
  options.poster = options.poster || posterOptionsForCurrent();
1792
1808
  options.queryParams = Object.assign(options.queryParams || {}, options.usageReport ? {
1793
- _s: `vp-${"2.5.1-edge.3"}`
1809
+ _s: `vp-${"2.5.1-edge.5"}`
1794
1810
  } : {});
1795
1811
  if (options.sourceTypes.indexOf('audio') > -1) {
1796
1812
  builtSrc = new _models_audio_source_audio_source__WEBPACK_IMPORTED_MODULE_7__["default"](publicId, options);
@@ -3057,7 +3073,7 @@ const contextMenuContent = player => {
3057
3073
  const isFullscreen = player.isFullscreen();
3058
3074
  const aboutMenuItem = {
3059
3075
  class: 'player-version',
3060
- label: 'Cloudinary Player v' + "2.5.1-edge.3"
3076
+ label: 'Cloudinary Player v' + "2.5.1-edge.5"
3061
3077
  };
3062
3078
  if (!player.controls()) {
3063
3079
  return [aboutMenuItem];
@@ -5552,7 +5568,7 @@ class VideoPlayer extends _utils__WEBPACK_IMPORTED_MODULE_9__["default"].mixin(_
5552
5568
  const analyticsData = (0,_utils_get_analytics_player_options__WEBPACK_IMPORTED_MODULE_18__.getAnalyticsFromPlayerOptions)(options);
5553
5569
  const analyticsParams = new URLSearchParams(analyticsData).toString();
5554
5570
  const baseParams = new URLSearchParams({
5555
- vpVersion: "2.5.1-edge.3",
5571
+ vpVersion: "2.5.1-edge.5",
5556
5572
  vpInstanceId: this.getVPInstanceId(),
5557
5573
  // #if (process.env.WEBPACK_BUILD_LIGHT)
5558
5574
  vpLightBuild: true,
@@ -6336,7 +6352,7 @@ const overrideDefaultVideojsComponents = () => {
6336
6352
  \***************************************************************/
6337
6353
  /***/ ((module) => {
6338
6354
 
6339
- !function(e,t){if(true)module.exports=t();else { var r, n; }}(self,(()=>(()=>{"use strict";var e={805:e=>{e.exports=o,e.exports.isMobile=o,e.exports.default=o;const t=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,n=/CrOS/,r=/android|ipad|playbook|silk/i;function o(e){e||(e={});let o=e.ua;if(o||"undefined"==typeof navigator||(o=navigator.userAgent),o&&o.headers&&"string"==typeof o.headers["user-agent"]&&(o=o.headers["user-agent"]),"string"!=typeof o)return!1;let i=t.test(o)&&!n.test(o)||!!e.tablet&&r.test(o);return!i&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==o.indexOf("Macintosh")&&-1!==o.indexOf("Safari")&&(i=!0),i}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{n.r(r),n.d(r,{connectCloudinaryAnalytics:()=>Q});var e=n(805);function t(e){return t="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},t(e)}var o="play",i="pause",a="loadMetadata",u="cld-custom-",c="viewStart",l="viewEnd",d=function(e,t){var n=function(){t(o,{})};return e.addEventListener("play",n),function(){e.removeEventListener("play",n)}},f=function(e,t){var n=function(){t(o,{})};return e.addEventListener("".concat(u,"play"),n),function(){e.removeEventListener("".concat(u,"play"),n)}},s=function(e,t){var n=function(){t(i,{})};e.addEventListener("pause",n);var r=function(){t(i,{})};return e.addEventListener("emptied",r),function(){e.removeEventListener("pause",n),e.removeEventListener("emptied",r)}},p=function(e,t){var n=function(){t(i,{})};e.addEventListener("".concat(u,"pause"),n);var r=function(){t(i,{})};return e.addEventListener("".concat(u,"emptied"),r),function(){e.removeEventListener("".concat(u,"pause"),n),e.removeEventListener("".concat(u,"emptied"),r)}},y=function(e){var t=e.duration,n=Number.isNaN(t)?null:t;return{videoDuration:Number.POSITIVE_INFINITY===n?"Infinity":n}},v=function(e,t){var n=function(){var n=y(e);t(a,{videoDuration:n.videoDuration})};return e.addEventListener("loadedmetadata",n),e.addEventListener("loadedmetadata_after_init",n),function(){e.removeEventListener("loadedmetadata",n),e.removeEventListener("loadedmetadata_after_init",n)}},m=function(e,t){var n=function(n){var r=y(e),o=n.detail.videoDuration||r.videoDuration;t(a,{videoDuration:o})};e.addEventListener("".concat(u,"loadedmetadata"),n);var r=function(e){t(a,{videoDuration:"number"!=typeof e.detail.videoDuration&&e.detail.videoDuration>0?null:e.detail.videoDuration})};return e.addEventListener("".concat(u,"loadedmetadata_after_init"),r),function(){e.removeEventListener("".concat(u,"loadedmetadata"),n),e.removeEventListener("".concat(u,"loadedmetadata_after_init"),r)}},b=function(e,t){return{eventName:e,eventTime:Date.now(),eventDetails:t}};function g(e){return function(e){if(Array.isArray(e))return w(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var h=function(e,t){var n={},r={};return function(o,i){n[o]=[],r[o]=[i];var a=n[o],c=r[o],l=function(e,t){return c.push(b(e,t))},y=t?[f(e,l),p(e,l),m(e,l)]:[d(e,l),s(e,l),v(e,l)];!function(e,t){if(e.readyState>0){var n=t?"".concat(u,"loadedmetadata_after_init"):"loadedmetadata_after_init",r=new CustomEvent(n);e.dispatchEvent(r)}}(e,t);return{flushEvents:function(){var e=c.splice(0,c.length);return a.splice.apply(a,[a.length,0].concat(g(e))),e},getAllEvents:function(){return a},destroy:function(){y.forEach((function(e){return e()}))}}}};const S={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let O;const j=new Uint8Array(16);function E(){if(!O&&(O="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!O))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return O(j)}const D=[];for(let e=0;e<256;++e)D.push((e+256).toString(16).slice(1));function I(e,t=0){return(D[e[t+0]]+D[e[t+1]]+D[e[t+2]]+D[e[t+3]]+"-"+D[e[t+4]]+D[e[t+5]]+"-"+D[e[t+6]]+D[e[t+7]]+"-"+D[e[t+8]]+D[e[t+9]]+"-"+D[e[t+10]]+D[e[t+11]]+D[e[t+12]]+D[e[t+13]]+D[e[t+14]]+D[e[t+15]]).toLowerCase()}const P=function(e,t,n){if(S.randomUUID&&!t&&!e)return S.randomUUID();const r=(e=e||{}).random||(e.rng||E)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return I(r)};var L=function(){return P().replace(/-/g,"")},A="cld-analytics-user-id",k=function(){var e=window.localStorage.getItem(A);if(e)return e;var t=P().replace(/-/g,"");return window.localStorage.setItem(A,t),t};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)}var x=function(e){var t="function"==typeof e?e():e;if("object"===N(t)&&null!==t&&!Array.isArray(t)){var n=function(e){return Array.from({length:5}).reduce((function(t,n,r){var o="customData".concat(r+1);return"string"==typeof e[o]&&(t[o]=e[o]),t}),{})}(t);return Object.keys(n).length>0?n:null}return null},T=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,M="native",U=[M,"cloudinary video player"];function V(e){return V="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},V(e)}function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function C(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_(Object(n),!0).forEach((function(t){z(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function z(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==V(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==V(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===V(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Z=function(e,t,n){var r,o,i,a=x(null==n?void 0:n.customData),u=function(e){return null!==e&&JSON.stringify(e).length<=1e3}(a),l=null!=n&&n.customVideoUrlFallback?function(e,t){try{var n=t(e);return{cloudName:n.cloudName,publicId:n.publicId}}catch(e){return null}}(e,n.customVideoUrlFallback):null,d=null!==(r=l)&&"object"===N(r)&&"string"==typeof r.cloudName&&r.cloudName&&"string"==typeof r.publicId&&r.publicId?{cloudName:r.cloudName,publicId:r.publicId}:null;return b(c,C(C({videoUrl:e,analyticsModuleVersion:"1.7.1",videoPlayer:{type:(i=null==n?void 0:n.videoPlayerType,U.includes(i)?i:M),version:(o=null==n?void 0:n.videoPlayerVersion,"string"==typeof o&&T.test(o)?o:null)}},t),{},{customerData:C(C({},u?{providedData:a}:{}),d?{videoData:d}:{})}))};function F(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return R(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Y=function(e){var t=F(e);return t.push(b(l,{})),JSON.stringify(t)};function $(e){return $="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},$(e)}function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function H(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==$(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==$(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===$(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var q=function(e,t,n,r){var o=function(){var r=t();if(r.length>0){var o=Y(r);n(J(J({},e),{},{events:o}))}},i=function(){return o()},a=function(){"hidden"===document.visibilityState&&o()},u=function(){return o()};return window.addEventListener("beforeunload",i,{once:!0}),r&&(window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",a)),function(){window.removeEventListener("beforeunload",i),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",a),o()}},G=function(e){return e.currentSrc};function K(e){return K="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},K(e)}var Q=function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r&&"object"!==K(r))throw"Options property must be an object";var o=null,i=!0===r.customEvents,a=(0,e.isMobile)({tablet:!0,featureDetect:!0}),c=h(n,i),l=function(e){return function(e,t){var n=Object.keys(t).reduce((function(e,n){return e.append(n,t[n]),e}),new FormData);return"function"!=typeof window.navigator.sendBeacon?window.fetch(e,{method:"POST",mode:"no-cors",body:n,keepalive:!0}):window.navigator.sendBeacon(e,n)}("https://video-analytics-api.cloudinary.com/v1/video-analytics",e)},d=function(){o&&(o.clear(),o=null)};return{startManualTracking:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(e){return"object"!==t(e)?{isValid:!1,errorMessage:"Metadata param needs to be an object"}:"string"!=typeof e.cloudName?{isValid:!1,errorMessage:"You need to provide proper cloud name of your Cloudinary account [cloudName: string]"}:"string"!=typeof e.publicId?{isValid:!1,errorMessage:"You need to provide proper video public ID of your video on your Cloudinary cloud [videoPublicId: string]"}:{isValid:!0}}(e);if(!i.isValid)throw"Cloudinary video analytics tracking called without necessary data (".concat(i.errorMessage,")");if(r&&"object"!==K(r))throw"Options property must be an object";r.customVideoUrlFallback=function(){return e},d();var u=L(),f=G(n),s=Z(f,{trackingType:"manual"},r),p=c(u,s),y=q({userId:k(),viewId:u},p.flushEvents,l,a);o={viewId:u,clear:function(){p.destroy(),y()}}},stopManualTracking:d,startAutoTracking:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(o)throw"Cloudinary video analytics tracking is already connected with this HTML Video Element";if(e&&"object"!==K(e))throw"Options property must be an object";var t=function(){var t=G(n);if(t===window.location.href||!t)return null;var r=L(),i=Z(t,{trackingType:"auto"},e),u=c(r,i),d=q({userId:k(),viewId:r},u.flushEvents,l,a);o={viewId:r,clear:function(){u.destroy(),d()}}},r=i?"".concat(u,"loadstart"):"loadstart",f=i?"".concat(u,"emptied"):"emptied";n.addEventListener(r,(function(){o||t()})),n.addEventListener(f,(function(){d()})),t()}}}})(),r})()));
6355
+ !function(e,t){if(true)module.exports=t();else { var r, n; }}(self,(()=>(()=>{"use strict";var e={805:e=>{e.exports=o,e.exports.isMobile=o,e.exports.default=o;const t=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,n=/CrOS/,r=/android|ipad|playbook|silk/i;function o(e){e||(e={});let o=e.ua;if(o||"undefined"==typeof navigator||(o=navigator.userAgent),o&&o.headers&&"string"==typeof o.headers["user-agent"]&&(o=o.headers["user-agent"]),"string"!=typeof o)return!1;let i=t.test(o)&&!n.test(o)||!!e.tablet&&r.test(o);return!i&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==o.indexOf("Macintosh")&&-1!==o.indexOf("Safari")&&(i=!0),i}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};return(()=>{n.r(r),n.d(r,{connectCloudinaryAnalytics:()=>W});var e=n(805),t="play",o="pause",i="loadMetadata",a="viewStart",u="viewEnd";function l(e){return l="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},l(e)}var c=function(e){var t="function"==typeof e?e():e;if("object"===l(t)&&null!==t&&!Array.isArray(t)){var n=function(e){return Array.from({length:5}).reduce((function(t,n,r){var o="customData".concat(r+1);return"string"==typeof e[o]&&(t[o]=e[o]),t}),{})}(t);return Object.keys(n).length>0?n:null}return null},d=function(e){return null!==e&&"object"===l(e)&&"string"==typeof e.cloudName&&e.cloudName&&"string"==typeof e.publicId&&e.publicId?{cloudName:e.cloudName,publicId:e.publicId}:null},s=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,f="native",y=[f,"cloudinary video player"],p=function(e){return y.includes(e)?e:f},v=function(e){return"string"==typeof e&&s.test(e)?e:null};function m(e){return m="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},m(e)}function g(e){return function(e){if(Array.isArray(e))return b(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){S(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function S(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=m(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=m(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==m(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var E=function(e,t){var n=c(null==t?void 0:t.customData),r=function(e){return null!==e&&JSON.stringify(e).length<=1e3}(n),o=null!=t&&t.customVideoUrlFallback?function(e,t){try{var n=t(e);return{cloudName:n.cloudName,publicId:n.publicId}}catch(e){return null}}(e.videoUrl,t.customVideoUrlFallback):null,i=d(o);return P(a,w(w({},e),{},{analyticsModuleVersion:"1.8.2",videoPlayer:{type:p(null==t?void 0:t.videoPlayerType),version:v(null==t?void 0:t.videoPlayerVersion)},customerData:w(w({},r?{providedData:n}:{}),i?{videoData:i}:{})}))},V=function(){return P(u,w({},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}))},P=function(e,t){return{eventName:e,eventTime:Date.now(),eventDetails:t}},I=function(e){var t=g(e);return JSON.stringify(t)};function j(e){return function(e){if(Array.isArray(e))return A(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return A(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var O=function(e){var n={},r={};return function(){var a=null,u=[],l=function(e,t){if(!a)throw new Error("Events collector session not started");r[a].push(P(e,t))};return{flushEvents:function(){var e;if(!a)throw new Error("Events collector session not started");var t=r[a].splice(0,r[a].length);return(e=n[a]).splice.apply(e,[n[a].length,0].concat(j(t))),t},getCollectedEventsCount:function(){var e;return a&&(null===(e=r[a])||void 0===e?void 0:e.length)||0},addEvent:function(e){var t=e.eventName,n=e.eventDetails;return l(t,n)},start:function(c){if(a)throw new Error("Events collector session already started");n[a=c]=[],r[a]=[],u.push(function(e,n){var r=e.onPlay((function(){n(t,{})}));return function(){r()}}(e,l),function(e,t){var n=e.onPause((function(){t(o,{})})),r=e.onEmptied((function(){t(o,{})}));return function(){n(),r()}}(e,l),function(e,t){var n=function(){var n,r;t(i,{videoDuration:(n=e.getDuration(),r=Number.isNaN(n)?null:n,Number.POSITIVE_INFINITY===r?"Infinity":r),videoUrl:e.getCurrentSrc()})},r=e.onLoadedMetadata((function(){return n()}));return e.getReadyState()>0&&setTimeout((function(){return n()}),0),function(){r()}}(e,l))},destroy:function(){if(!a)throw new Error("Events collector session not started");u.forEach((function(e){return e()})),a=null}}}};const k={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let C;const D=new Uint8Array(16);function M(){if(!C&&(C="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!C))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return C(D)}const T=[];for(let e=0;e<256;++e)T.push((e+256).toString(16).slice(1));function U(e,t=0){return(T[e[t+0]]+T[e[t+1]]+T[e[t+2]]+T[e[t+3]]+"-"+T[e[t+4]]+T[e[t+5]]+"-"+T[e[t+6]]+T[e[t+7]]+"-"+T[e[t+8]]+T[e[t+9]]+"-"+T[e[t+10]]+T[e[t+11]]+T[e[t+12]]+T[e[t+13]]+T[e[t+14]]+T[e[t+15]]).toLowerCase()}const N=function(e,t,n){if(k.randomUUID&&!t&&!e)return k.randomUUID();const r=(e=e||{}).random||(e.rng||M)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=r[e];return t}return U(r)};var x="cld-analytics-user-id",L=function(){return N().replace(/-/g,"")},_=function(e,t){var n=Object.keys(t).reduce((function(e,n){return e.append(n,t[n]),e}),new FormData);return"function"!=typeof window.navigator.sendBeacon?window.fetch(e,{method:"POST",mode:"no-cors",body:n,keepalive:!0}):window.navigator.sendBeacon(e,n)};function z(e){return z="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},z(e)}var F=function(e,t){if(!e.isValid)throw t?"".concat(t,":")+"\n\n"+e.errorMessage:e.errorMessage},R=function(e){return e&&"object"!==z(e)?{isValid:!1,errorMessage:"Options property must be an object"}:{isValid:!0}},Z=function(e,t,n){return e.addEventListener(t,n),function(){e.removeEventListener(t,n)}},Y=function(e,t){return t?$(e):B(e)},$=function(e){var t=e.onPageViewStart,n=e.onPageViewEnd,r=function(){"visible"===document.visibilityState?null==t||t():"hidden"===document.visibilityState&&(null==n||n())};return document.addEventListener("visibilitychange",r),"visible"===document.visibilityState&&(null==t||t()),function(){document.removeEventListener("visibilitychange",r)}},B=function(e){var t=e.onPageViewStart,n=e.onPageViewEnd,r=function(){return null==t?void 0:t()},o=function(){return null==n?void 0:n()};return"complete"===document.readyState?r():window.addEventListener("load",r),window.addEventListener("beforeunload",o),function(){window.removeEventListener("load",r),window.removeEventListener("beforeunload",o)}};function H(e){return function(e){if(Array.isArray(e))return J(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return J(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?J(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var q={default:"https://video-analytics-api.cloudinary.com/v1/video-analytics",liveStreams:"https://video-analytics-api.cloudinary.com/v1/live-streams"},W=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};F(function(e){return e&&"object"!==z(e)?{isValid:!1,errorMessage:"Options property must be an object"}:{isValid:!0}}(n),"Cloudinary video analytics requires proper options object"),n.playerAdapter||(n.playerAdapter=function(e){return{onCanPlay:function(t){return Z(e,"canplay",t)},onCanPlayThrough:function(t){return Z(e,"canplaythrough",t)},onComplete:function(t){return Z(e,"complete",t)},onDurationChange:function(t){return Z(e,"durationchange",t)},onEmptied:function(t){return Z(e,"emptied",t)},onEnded:function(t){return Z(e,"ended",t)},onError:function(t){return Z(e,"error",t)},onLoadedData:function(t){return Z(e,"loadeddata",t)},onLoadedMetadata:function(t){return Z(e,"loadedmetadata",t)},onLoadStart:function(t){return Z(e,"loadstart",t)},onPause:function(t){return Z(e,"pause",t)},onPlay:function(t){return Z(e,"play",t)},onPlaying:function(t){return Z(e,"playing",t)},onProgress:function(t){return Z(e,"progress",t)},onRateChange:function(t){return Z(e,"ratechange",t)},onSeeked:function(t){return Z(e,"seeked",t)},onSeeking:function(t){return Z(e,"seeking",t)},onStalled:function(t){return Z(e,"stalled",t)},onSuspend:function(t){return Z(e,"suspend",t)},onTimeUpdate:function(t){return Z(e,"timeupdate",t)},onVolumeChange:function(t){return Z(e,"volumechange",t)},onWaiting:function(t){return Z(e,"waiting",t)},getCurrentSrc:function(){return e.currentSrc},getCurrentTime:function(){return e.currentTime},getReadyState:function(){return e.readyState},getDuration:function(){return e.duration}}}(t));var r=null,o=function(){var e=window.localStorage.getItem(x);if(e)return e;var t=N().replace(/-/g,"");return window.localStorage.setItem(x,t),t}(),i=n.playerAdapter,l=(0,e.isMobile)({tablet:!0,featureDetect:!0}),c=O(i),s=function(){r&&(r.clear(),r=null)},f={_value:L(),getValue:function(){return f._value},regenerateValue:function(){return f._value=L(),r&&(r.viewId=f._value),f._value}},y=function(e,t){var n=c(),a=function(){if(n.getCollectedEventsCount()>0){n.addEvent(V());var e=I(H(n.flushEvents()));t={userId:o,viewId:f.getValue(),events:e},_(q.default,t)}var t},u=Y({onPageViewStart:function(){f.regenerateValue(),n.start(f.getValue()),n.addEvent(E({videoUrl:i.getCurrentSrc(),trackingType:"manual"},t))},onPageViewEnd:function(){a(),n.destroy()}},l);r={viewId:f,type:"manual",subtype:"default",clear:function(){a(),n.destroy(),u()}}},m=function(e,t){var n=d(e),i=function(e){_(q.liveStreams,{userId:o,viewId:f.getValue(),events:I([e])})},c=Y({onPageViewStart:function(){var e;f.regenerateValue(),i((e=t,P(a,w(w({},{liveStreamData:n}),{},{analyticsModuleVersion:"1.8.2",videoPlayer:{type:p(null==e?void 0:e.videoPlayerType),version:v(null==e?void 0:e.videoPlayerVersion)}}))))},onPageViewEnd:function(){i(P(u,w({},{liveStreamData:n})))}},l);r={viewId:f.getValue(),type:"manual",subtype:"live-stream",clear:function(){c()}}};return{startManualTracking:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("auto"===(null===(t=r)||void 0===t?void 0:t.type))throw"Cloudinary video analytics auto tracking is already connected with this HTML Video Element, to start manual tracking you need to stop auto tracking";F(function(e){return"object"!==z(e)?{isValid:!1,errorMessage:"Metadata param needs to be an object"}:"string"!=typeof e.cloudName?{isValid:!1,errorMessage:"You need to provide proper cloud name of your Cloudinary account [cloudName: string]"}:"string"==typeof e.type&&"live"!==e.type?{isValid:!1,errorMessage:'Property "type" can be either undefined or "live" value'}:"string"!=typeof e.publicId?"live"===e.type?{isValid:!1,errorMessage:"You need to provide proper public ID of your Live Stream output"}:{isValid:!1,errorMessage:"You need to provide proper video public ID of your video on your Cloudinary cloud [videoPublicId: string]"}:{isValid:!0}}(e),"Cloudinary video analytics manual tracking called without necessary data"),F(R(n),"Cloudinary video analytics manual tracking called with invalid options"),s(),"live"===e.type?m(e,n):(n.customVideoUrlFallback=n.customVideoUrlFallback||function(){return e},y(e,n))},stopManualTracking:s,startAutoTracking:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(r)throw"Cloudinary video analytics tracking is already connected with this HTML Video Element";F(R(e),"Cloudinary video analytics auto tracking called with invalid options");var t=c(),n=function(){if(t.getCollectedEventsCount()>0){t.addEvent(V());var e=I(H(t.flushEvents()));n={userId:o,viewId:f.getValue(),events:e},_(q.default,n)}var n},a=function(){var o=i.getCurrentSrc();if(o===window.location.href||!o)return null;f.regenerateValue(),t.start(f.getValue()),t.addEvent(E({videoUrl:o,trackingType:"auto"},e)),r={viewId:f,type:"auto",clear:function(){n(),t.destroy()}}};Y({onPageViewStart:function(){return a()},onPageViewEnd:function(){n(),t.destroy()}},l),i.onLoadStart((function(){return!r&&a()})),i.onEmptied((function(){return s()}))}}}})(),r})()));
6340
6356
 
6341
6357
  /***/ }),
6342
6358