@newrelic/video-core 4.1.2-beta → 4.1.2

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,3 +1,3 @@
1
1
  /*! For license information please see nrvideo.min.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.nrvideo=t():e.nrvideo=t()}(self,()=>(()=>{"use strict";var e={28(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.OptimizedHttpClient=void 0;var n,i=r(347),a=(n=r(144))&&n.__esModule?n:{default:n};function o(e){return o="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},o(e)}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach(function(t){c(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function c(e,t,r){return(t=v(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function a(r,n,i,a){var u=n&&n.prototype instanceof s?n:s,c=Object.create(u.prototype);return f(c,"_invoke",function(r,n,i){var a,s,u,c=0,l=i||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return a=t,s=0,u=e,d.n=r,o}};function h(r,n){for(s=r,u=n,t=0;!f&&c&&!i&&t<l.length;t++){var i,a=l[t],h=d.p,y=a[2];r>3?(i=y===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=h&&((i=r<2&&h<a[1])?(s=0,d.v=n,d.n=a[1]):h<y&&(i=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,d.n=y,s=0))}if(i||r>1)return o;throw f=!0,n}return function(i,l,y){if(c>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,y),s=l,u=y;(t=s<2?e:u)||!f;){a||(s?s<3?(s>1&&(d.n=-1),h(s,u)):d.n=u:d.v=u);try{if(c=2,a){if(s||(i="next"),t=a[i]){if(!(t=t.call(a,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=e}else if((t=(f=d.n<0)?u:r.call(n,d))!==o)break}catch(t){a=e,s=1,u=t}finally{c=1}}return{value:t,done:f}}}(r,i,a),!0),c}var o={};function s(){}function u(){}function c(){}t=Object.getPrototypeOf;var d=[][n]?t(t([][n]())):(f(t={},n,function(){return this}),t),h=c.prototype=s.prototype=Object.create(d);function y(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,f(e,i,"GeneratorFunction")),e.prototype=Object.create(h),e}return u.prototype=c,f(h,"constructor",c),f(c,"constructor",u),u.displayName="GeneratorFunction",f(c,i,"GeneratorFunction"),f(h),f(h,i,"Generator"),f(h,n,function(){return this}),f(h,"toString",function(){return"[object Generator]"}),(l=function(){return{w:a,m:y}})()}function f(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}f=function(e,t,r,n){function a(t,r){f(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},f(e,t,r,n)}function d(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function h(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function o(e){d(a,n,i,o,s,"next",e)}function s(e){d(a,n,i,o,s,"throw",e)}o(void 0)})}}function y(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,v(n.key),n)}}function v(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}var p=t.OptimizedHttpClient=function(){return function(e,t){return t&&y(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}(function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},[{key:"send",value:(n=h(l().m(function e(t,r){var n,i,o,s,u,c;return l().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.url,i=t.payload,o=t.options,s=void 0===o?{}:o,e.p=1,n&&i){e.n=2;break}throw new Error("URL and payload are required");case 2:return u={url:n,payload:i,options:s,callback:r},e.n=3,this.executeRequest(u);case 3:e.n=5;break;case 4:e.p=4,c=e.v,a.default.error("Failed to send request:",c.message),r({retry:!1,status:0,error:c.message});case 5:return e.a(2)}},e,this,[[1,4]])})),function(e,t){return n.apply(this,arguments)})},{key:"executeRequest",value:(r=h(l().m(function e(t){var r,n,i,a,o,s,u,c,f,d,h;return l().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=t.url,n=t.payload,i=t.options,t.callback,a=Date.now(),e.p=1,o=JSON.stringify(n.body),!i.isFinalHarvest||!navigator.sendBeacon){e.n=3;break}return e.n=2,this.sendWithBeacon(r,o);case 2:return s=e.v,u={success:s,status:s?204:0},this.handleRequestComplete(t,u,a),e.a(2);case 3:return e.n=4,this.fetchWithTimeout(r,{method:"POST",body:o,headers:{"Content-Type":"application/json"},keepalive:i.isFinalHarvest},1e4);case 4:c=e.v,f={success:c.ok,status:c.status,statusText:c.statusText},this.handleRequestComplete(t,f,a),e.n=6;break;case 5:e.p=5,h=e.v,d={success:!1,status:0,error:h.message},this.handleRequestComplete(t,d,a);case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return r.apply(this,arguments)})},{key:"handleRequestComplete",value:function(e,t){(0,e.callback)({retry:!t.success&&(0===t.status||(0,i.shouldRetry)(t.status)),status:t.status,error:t.error})}},{key:"sendWithBeacon",value:(t=h(l().m(function e(t,r){var n;return l().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.a(2,navigator.sendBeacon(t,r));case 1:return e.p=1,n=e.v,a.default.warn("sendBeacon failed, falling back to fetch:",n.message),e.a(2,!1)}},e,null,[[0,1]])})),function(e,r){return t.apply(this,arguments)})},{key:"fetchWithTimeout",value:(e=h(l().m(function e(t,r,n){var i,a,o,s;return l().w(function(e){for(;;)switch(e.p=e.n){case 0:return i=new AbortController,a=setTimeout(function(){return i.abort()},n),e.p=1,e.n=2,fetch(t,u(u({},r),{},{signal:i.signal}));case 2:return o=e.v,clearTimeout(a),e.a(2,o);case 3:if(e.p=3,s=e.v,clearTimeout(a),"AbortError"!==s.name){e.n=4;break}throw new Error("Request timeout after ".concat(n,"ms"));case 4:throw s;case 5:return e.a(2)}},e,null,[[1,3]])})),function(t,r,n){return e.apply(this,arguments)})}]);var e,t,r,n}();t.default=p},51(e,t){function r(e){return r="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},r(e)}function n(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,a(n.key),n)}}function i(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function a(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=i(function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)});o.AdPositions={PRE:"pre",MID:"mid",POST:"post"},o.COLLECTOR={US:["bam.nr-data.net","bam-cell.nr-data.net"],EU:"bam.eu01.nr-data.net",Staging:"staging-bam-cell.nr-data.net",GOV:"gov-bam.nr-data.net"},o.VALID_EVENT_TYPES=["VideoAction","VideoAdAction","VideoErrorAction","VideoCustomAction"],o.MAX_PAYLOAD_SIZE=1048576,o.MAX_BEACON_SIZE=61440,o.MAX_EVENTS_PER_BATCH=1e3,o.INTERVAL=1e4,o.QOE_AGGREGATE_KEYS=["coreVersion","instrumentation.name","instrumentation.provider","instrumentation.version","isBackgroundEvent","playerName","playerVersion","src","viewId","viewSession","contentIsAutoplayed"],t.default=o},144(e,t){function r(e){return r="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},r(e)}function n(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,i(n.key),n)}}function i(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return t=e,r=[{key:"error",value:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];o(r,e.Levels.ERROR,"darkred")}},{key:"warn",value:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];o(r,e.Levels.WARNING,"darkorange")}},{key:"notice",value:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];o([].slice.call(arguments),e.Levels.NOTICE,"darkcyan")}},{key:"debug",value:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];o(r,e.Levels.DEBUG,"indigo")}},{key:"debugCommonVideoEvents",value:function(t,r,n){try{if(e.level<=e.Levels.DEBUG){n=n||function(t){e.debug("Event: "+t.type)};var i=["canplay","buffering","waiting","ended","play","playing","pause","resume","error","abort","seek","seeking","seeked","stalled","dispose","loadeddata","loadstart","loadedmetadata"];r&&(null===r[0]?(r.shift(),i=r):i=i.concat(r));for(var a=0;a<i.length;a++)"function"==typeof t?t.call(window,i[a],n):t.on?t.on(i[a],n):t.addEventListener?t.addEventListener(i[a],n):t.addEventHandler?t.addEventHandler(i[a],n):e.warn("debugCommonVideoEvents: No common listener function found for ",t)}}catch(t){e.warn(t)}}}],null&&n(t.prototype,null),r&&n(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r}();function o(e,t,r){t=t||a.Levels.NOTICE,r=r||"darkcyan";var n,i,o=a.prefix;a.includeTime&&(o+="["+("0"+(n=new Date).getDate()).slice(-2)+":"+("0"+n.getMinutes()).slice(-2)+":"+("0"+n.getSeconds()).slice(-2)+"."+("00"+n.getMilliseconds()).slice(-3)+"] "),o+=function(e){return u[e]}(t)+":",a.level<=t&&t!==a.Levels.SILENT&&(!a.colorful||"undefined"!=typeof document&&document.documentMode?s(e,o):(i=t===a.Levels.ERROR&&console.error?console.error:t===a.Levels.WARNING&&console.warn?console.warn:t===a.Levels.DEBUG&&console.debug&&null==window.cast?console.debug:console.log,o="%c"+o,e.splice(0,0,o,"color: "+r),i.apply(console,e)))}function s(e,t){if(e instanceof Array)for(var r in e)s(e[r],t);else"string"==typeof e?console.log(t+" "+e):(console.log(t+"↵"),console.log(e))}a.Levels={SILENT:5,ERROR:4,WARNING:3,NOTICE:2,DEBUG:1,ALL:0},a.level=a.Levels.ERROR,a.colorful=!0,a.includeTime=!0,a.prefix="[nrvideo]";var u={4:"e",3:"w",2:"n",1:"d"};!function(){if("undefined"!=typeof window&&window.location&&window.location.search){var e=/\?.*&*nrvideo-debug=(.+)/i.exec(window.location.search);null!==e&&("true"===e[1]?a.level=a.Levels.ALL:a.level=e[1]),null!==/\?.*&*nrvideo-colors=false/i.exec(window.location.search)&&(a.colorful=!1)}}(),t.default=a},302(e,t,r){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)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=l(r(330)),a=l(r(568)),o=l(r(455)),s=l(r(51)),u=r(487),c=l(r(144));function l(e){return e&&e.__esModule?e:{default:e}}function f(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,d(n.key),n)}}function d(e){var t=function(e){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}function h(e,t,r){return t=v(t),function(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 function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,y()?Reflect.construct(t,r||[],v(e).constructor):t.apply(e,r))}function y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(y=function(){return!!e})()}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},p(e,t)}var m=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=h(this,t)).customData={},r.heartbeat=null,r.parentTracker=null,r._trackerReadyChrono=new o.default,r._trackerReadyChrono.start(),r._actionTable=s.default.ACTION_TABLE,r._actionAdTable=s.default.ACTION_AD_TABLE,e=e||{},r.setOptions(e),r}return function(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&&p(e,t)}(t,e),r=t,(n=[{key:"setOptions",value:function(e){e&&(e.parentTracker&&(this.parentTracker=e.parentTracker),e.customData&&(this.customData=e.customData),e.heartbeat&&(this.heartbeat=e.heartbeat))}},{key:"dispose",value:function(){this.unregisterListeners()}},{key:"registerListeners",value:function(){}},{key:"unregisterListeners",value:function(){}},{key:"getHeartbeat",value:function(){return this.state._isAd?2e3:this.heartbeat?this.heartbeat:this.parentTracker&&this.parentTracker.heartbeat?this.parentTracker.heartbeat:3e4}},{key:"startHeartbeat",value:function(){this._heartbeatInterval=setInterval(this.sendHeartbeat.bind(this),Math.max(this.getHeartbeat(),2e3))}},{key:"stopHeartbeat",value:function(){this._heartbeatInterval&&clearInterval(this._heartbeatInterval)}},{key:"sendHeartbeat",value:function(e){this.sendVideoAction(t.Events.HEARTBEAT,e)}},{key:"getAttributes",value:function(e,t){for(var r in(e=e||{}).trackerName=this.getTrackerName(),e.trackerVersion=this.getTrackerVersion(),e.coreVersion=i.default.version,e.timeSinceTrackerReady=this._trackerReadyChrono.getDeltaTime(),this.customData)e[r]=this.customData[r];return null!=document.hidden&&(e.isBackgroundEvent=document.hidden),e}},{key:"getTrackerVersion",value:function(){return i.default.version}},{key:"getTrackerName",value:function(){return"base-tracker"}},{key:"sendVideoAction",value:function(e,t){this.emit("VideoAction",e,this.getAttributes(t))}},{key:"sendVideoAdAction",value:function(e,t){this.emit("VideoAdAction",e,this.getAttributes(t))}},{key:"sendVideoErrorAction",value:function(e,t){var r=this.isAd()?"adError":"videoError";this.emit("VideoErrorAction",e,this.getAttributes(t,r))}},{key:"sendVideoCustomAction",value:function(e,t){this.emit("VideoCustomAction",e,this.getAttributes(t,"customAction"))}},{key:"setHarvestInterval",value:function(e){if(u.videoAnalyticsHarvester)try{u.videoAnalyticsHarvester.setHarvestInterval(e)}catch(e){return void c.default.error("Failed to set harvest interval:",e.message)}else c.default.error("VideoAnalyticsHarvester is not available")}}])&&f(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(a.default);m.Events={HEARTBEAT:"HEARTBEAT",QOE_AGGREGATE:"QOE_AGGREGATE"},t.default=m},328(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(455)),i=a(r(144));function a(e){return e&&e.__esModule?e:{default:e}}function o(e){return o="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},o(e)}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,a,o,s=[],u=!0,c=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw i}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return u(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function c(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,l(n.key),n)}}function l(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}var f=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.reset(),this._createdAt=Date.now(),this._hb=!0,this._acc=0,this._bufferAcc=0},(t=[{key:"reset",value:function(){this._viewSession=null,this._viewCount=0,this._isAd=!1,this.numberOfErrors=0,this.numberOfAds=0,this.numberOfVideos=0,this.totalPlaytime=0,this.weightedAverageBitrate=0,this.totalAdPlaytime=0,this.isAdBreak=!1,this.initialBufferingHappened=!1,this.startupTime=null,this.peakBitrate=0,this._lastBitrate=null,this._lastBitrateChangeTimestamp=null,this.partialAverageBitrate=0,this.hadStartupFailure=!1,this.hadPlaybackFailure=!1,this.totalRebufferingTime=0,this.resetFlags(),this.resetChronos()}},{key:"resetFlags",value:function(){this.isPlayerReady=!1,this.isRequested=!1,this.isStarted=!1,this.isPaused=!1,this.isSeeking=!1,this.isBuffering=!1,this.isPlaying=!1}},{key:"resetChronos",value:function(){this.timeSinceRequested=new n.default,this.timeSinceStarted=new n.default,this.timeSincePaused=new n.default,this.timeSinceSeekBegin=new n.default,this.timeSinceBufferBegin=new n.default,this.timeSinceAdBreakStart=new n.default,this.timeSinceLastDownload=new n.default,this.timeSinceLastHeartbeat=new n.default,this.timeSinceLastRenditionChange=new n.default,this.timeSinceLastAdQuartile=new n.default,this.timeSinceLastAd=new n.default,this.timeSinceLastError=new n.default,this.timeSinceLastAdError=new n.default,this.timeSinceResumed=new n.default,this.timeSinceSeekEnd=new n.default,this.playtimeSinceLastEvent=new n.default,this.customTimeSinceAttributes={},this.elapsedTime=new n.default,this.bufferElapsedTime=new n.default,this._totalAdPlaytime=new n.default}},{key:"isAd",value:function(){return this._isAd}},{key:"setIsAd",value:function(e){this._isAd=e}},{key:"setTimeSinceAttribute",value:function(e){this.customTimeSinceAttributes[e]=new n.default,this.customTimeSinceAttributes[e].start()}},{key:"removeTimeSinceAttribute",value:function(e){delete this.customTimeSinceAttributes[e]}},{key:"getViewSession",value:function(){if(!this._viewSession){var e=(new Date).getTime(),t=Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2);this._viewSession=e+"-"+t}return this._viewSession}},{key:"getViewId",value:function(){return this.getViewSession()+"-"+this._viewCount}},{key:"getStateAttributes",value:function(e){e=e||{},this.isAd()?(this.isRequested&&(e.timeSinceAdRequested=this.timeSinceRequested.getDeltaTime(),e.timeSinceLastAdHeartbeat=this.timeSinceLastHeartbeat.getDeltaTime()),this.isStarted&&(e.timeSinceAdStarted=this.timeSinceStarted.getDeltaTime()),this.isPaused&&(e.timeSinceAdPaused=this.timeSincePaused.getDeltaTime()),this.isBuffering&&(e.timeSinceAdBufferBegin=this.timeSinceBufferBegin.getDeltaTime()),this.isSeeking&&(e.timeSinceAdSeekBegin=this.timeSinceSeekBegin.getDeltaTime()),this.isAdBreak&&(e.timeSinceAdBreakBegin=this.timeSinceAdBreakStart.getDeltaTime()),this.numberOfErrors>0&&this.timeSinceLastAdError.startTime>0&&(e.timeSinceLastAdError=this.timeSinceLastAdError.getDeltaTime()),e.numberOfAds=this.numberOfAds):(this.isRequested&&(e.timeSinceRequested=this.timeSinceRequested.getDeltaTime(),e.timeSinceLastHeartbeat=this.timeSinceLastHeartbeat.getDeltaTime()),this.isStarted&&(e.timeSinceStarted=this.timeSinceStarted.getDeltaTime()),this.isPaused&&(e.timeSincePaused=this.timeSincePaused.getDeltaTime()),this.isBuffering&&(e.timeSinceBufferBegin=this.timeSinceBufferBegin.getDeltaTime()),this.isSeeking&&(e.timeSinceSeekBegin=this.timeSinceSeekBegin.getDeltaTime()),e.timeSinceLastAd=this.timeSinceLastAd.getDeltaTime(),this.numberOfErrors>0&&this.timeSinceLastError.startTime>0&&(e.timeSinceLastError=this.timeSinceLastError.getDeltaTime()),e.numberOfVideos=this.numberOfVideos),e.numberOfErrors=this.numberOfErrors,this.isAd()||(this.playtimeSinceLastEvent.startTime>0?e.playtimeSinceLastEvent=this.playtimeSinceLastEvent.getDeltaTime():e.playtimeSinceLastEvent=0,this.isPlaying?this.playtimeSinceLastEvent.start():this.playtimeSinceLastEvent.reset(),this.totalPlaytime+=e.playtimeSinceLastEvent,e.totalPlaytime=this.totalPlaytime);for(var t=0,r=Object.entries(this.customTimeSinceAttributes);t<r.length;t++){var n=s(r[t],2),i=n[0],a=n[1];e[i]=a.getDeltaTime()}return e}},{key:"getQoeAttributes",value:function(e){e=e||{};var t={};try{null!==this.startupTime&&(t.startupTime=this.startupTime),this.peakBitrate>0&&(t.peakBitrate=this.peakBitrate),t.hadStartupFailure=this.hadStartupFailure,t.hadPlaybackFailure=this.hadPlaybackFailure,t.totalRebufferingTime=this.totalRebufferingTime,t.rebufferingRatio=this.totalPlaytime>0?this.totalRebufferingTime/this.totalPlaytime*100:0,t.totalPlaytime=this.totalPlaytime,t.averageBitrate=this.weightedBitrate}catch(e){i.default.error("Failed to add attributes for QOE KPIs",e.message)}return e.qoe=t,e}},{key:"calculateBufferType",value:function(e){var t;return t=e?"initial":this.isSeeking?"seek":this.isPaused?"pause":"connection",i.default.debug("Buffer Type = "+t),t}},{key:"goViewCountUp",value:function(){this._viewCount++}},{key:"goPlayerReady",value:function(){return!this.isPlayerReady&&(this.isPlayerReady=!0,!0)}},{key:"goRequest",value:function(){return!this.isRequested&&(this.isRequested=!0,this.timeSinceLastAd.reset(),this.timeSinceRequested.start(),!0)}},{key:"goStart",value:function(){return!(!this.isRequested||this.isStarted||(this.isAd()?this.numberOfAds++:this.numberOfVideos++,this.isStarted=!0,this.isPlaying=!0,this.timeSinceStarted.start(),this.playtimeSinceLastEvent.start(),0))}},{key:"goEnd",value:function(){return!!this.isRequested&&(this.numberOfErrors=0,this.resetFlags(),this.timeSinceRequested.stop(),this.timeSinceStarted.stop(),this.playtimeSinceLastEvent.stop(),this.isPlaying=!1,!0)}},{key:"goPause",value:function(){return!(!this.isStarted||this.isPaused||(this.isPaused=!0,this.isPlaying=!1,this.timeSincePaused.start(),this.playtimeSinceLastEvent.stop(),this.timeSinceResumed.reset(),this.isBuffering&&(this._bufferAcc+=this.bufferElapsedTime.getDeltaTime()),this.elapsedTime.start(),0))}},{key:"goResume",value:function(){return!(!this.isStarted||!this.isPaused||(this.isPaused=!1,this.isPlaying=!0,this.timeSincePaused.stop(),this.timeSinceResumed.start(),this._hb?(this._acc=this.elapsedTime.getDeltaTime(),this._hb=!1):(this.isBuffering&&this.bufferElapsedTime.start(),this._acc+=this.elapsedTime.getDeltaTime()),0))}},{key:"goBufferStart",value:function(){return!(!this.isRequested||this.isBuffering||(this.isBuffering=!0,this.isPlaying=!1,this.timeSinceBufferBegin.start(),this.bufferElapsedTime.start(),0))}},{key:"goBufferEnd",value:function(){return!(!this.isRequested||!this.isBuffering||(this.isBuffering=!1,this.isPlaying=!0,this.timeSinceBufferBegin.stop(),this._hb?(this._bufferAcc=this.bufferElapsedTime.getDeltaTime(),this._hb=!1):this._bufferAcc+=this.bufferElapsedTime.getDeltaTime(),!this.isAd()&&this.initialBufferingHappened&&(this.totalRebufferingTime+=this.timeSinceBufferBegin.getDeltaTime()),0))}},{key:"goSeekStart",value:function(){return!(!this.isStarted||this.isSeeking||(this.isSeeking=!0,this.isPlaying=!1,this.timeSinceSeekBegin.start(),this.timeSinceSeekEnd.reset(),0))}},{key:"goSeekEnd",value:function(){return!(!this.isStarted||!this.isSeeking||(this.isSeeking=!1,this.isPlaying=!0,this.timeSinceSeekBegin.stop(),this.timeSinceSeekEnd.start(),0))}},{key:"goAdBreakStart",value:function(){return!this.isAdBreak&&(this.isAdBreak=!0,this.timeSinceAdBreakStart.start(),!0)}},{key:"goAdBreakEnd",value:function(){return!!this.isAdBreak&&(this.isRequested=!1,this.isAdBreak=!1,this.totalAdPlaytime=this.timeSinceAdBreakStart.getDeltaTime(),this.timeSinceAdBreakStart.stop(),!0)}},{key:"goDownload",value:function(){this.timeSinceLastDownload.start()}},{key:"goHeartbeat",value:function(){this.timeSinceLastHeartbeat.start()}},{key:"goRenditionChange",value:function(){this.timeSinceLastRenditionChange.start()}},{key:"goAdQuartile",value:function(){this.timeSinceLastAdQuartile.start()}},{key:"goError",value:function(){this.isError=!0,this.numberOfErrors++,this.isAd()?this.timeSinceLastAdError.start():(this.timeSinceLastError.start(),this.isStarted?this.hadPlaybackFailure=!0:this.hadStartupFailure=!0)}},{key:"goLastAd",value:function(){this.timeSinceLastAd.start()}},{key:"trackContentBitrateState",value:function(e){if(e&&"number"==typeof e&&(this.peakBitrate=Math.max(this.peakBitrate,e),null===this._lastBitrate||this._lastBitrate!==e)){var t=null===this._lastBitrateChangeTimestamp?this.totalPlaytime:Date.now()-this._lastBitrateChangeTimestamp,r=e*t;this.partialAverageBitrate+=r,this.weightedBitrate=r/t,this._lastBitrate=e,this._lastBitrateChangeTimestamp=Date.now()}}},{key:"resetViewIdTrackedState",value:function(){this.peakBitrate=0,this.partialAverageBitrate=0,this.startupTime=null,this._lastBitrate=null,this._lastBitrateChangeTimestamp=null}},{key:"clearTotalAdsTime",value:function(){console.log("clear total ads time",this.totalAdTime),this._totalAdPlaytime.reset()}},{key:"totalAdTime",value:function(){return this._totalAdPlaytime.getDuration()}},{key:"startAdsTime",value:function(){return console.log("startAdsTime"),this._totalAdPlaytime.start()}},{key:"stopAdsTime",value:function(){return console.log("stopAdsTime"),this._totalAdPlaytime.stop()}},{key:"setStartupTime",value:function(e){null===this.startupTime&&(this.startupTime=Math.max(this.timeSinceRequested.getDeltaTime()-e,0))}}])&&c(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();t.default=f},330(e){e.exports=JSON.parse('{"name":"@newrelic/video-core","version":"4.1.2-beta","description":"New Relic video tracking core library","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","scripts":{"build":"webpack --mode production","build:dev":"webpack --mode development","watch":"webpack --mode production --progress --color --watch","watch:dev":"webpack --progress --color --watch","clean":"rm -rf dist coverage doc","test":"jest --coverage","doc":"jsdoc -c jsdoc.json -d documentation","deploy":"node scripts/deploy.js","third-party-updates":"oss third-party manifest --includeOptDeps && oss third-party notices --includeOptDeps && git add THIRD_PARTY_NOTICES.md third_party_manifest.json"},"repository":{"type":"git","url":"https://github.com/newrelic/video-core-js"},"author":"Jordi Aguilar","contributors":["Andreu Santarén Llop","Malay Chandan","Bharat Sarsawat"],"license":"Apache-2.0","devDependencies":{"@babel/core":"^7.24.5","@babel/plugin-transform-modules-commonjs":"^7.24.1","@newrelic/newrelic-oss-cli":"^0.1.2","@babel/preset-env":"^7.24.5","@babel/register":"^7.24.6","aws-sdk":"^2.920.0","babel-jest":"^30.2.0","babel-loader":"^9.1.3","diff":"^5.0.0","jest":"^30.2.0","jest-environment-jsdom":"^30.2.0","jsdom":"^25.0.1","mocha":"^10.4.0","nyc":"^15.1.0","sinon":"^2.4.1","webpack":"^5.91.0","webpack-cli":"^4.9.2"},"files":["THIRD_PARTY_NOTICES.md","dist","src","CHANGELOG.md","LICENSE","README.md","src","__mock__.js","!test"],"publishConfig":{"access":"public"}}')},347(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.buildUrl=function(e){try{if(!window.NRVIDEO||!window.NRVIDEO.info)throw new Error("NRVIDEO info is not available.");var t=window.NRVIDEO.info,r=t.beacon,i=t.licenseKey,a=t.applicationID;if(!r||!i)throw new Error("Options object provided by New Relic is not correctly initialized");return a?"https://".concat(e||r,"/ins/1/").concat(i,"?a=").concat(a,"&v=").concat(n.default.version,"&ref=").concat(window.location.href,"&ca=VA"):"https://".concat(e||r,"/ins/1/").concat(i,"?&v=").concat(n.default.version,"&ref=").concat(window.location.href,"&ca=VA")}catch(e){return console.error(e.message),null}},t.compressPayload=function(e){var t=JSON.stringify(e),r=new Blob([t]).stream(),n=new CompressionStream("gzip"),i=r.pipeThrough(n);return new Response(i).blob()},t.dataSize=function(e){if("string"==typeof e&&e.length)return e.length;if("object"===c(e)){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return function(e){try{var t;return null!==(t=JSON.stringify(e,(r=new WeakSet,function(e,t){if("object"===c(t)&&null!==t){if(r.has(t))return;r.add(t)}return t})))&&void 0!==t?t:""}catch(e){return i.default.error("Error stringifying value:",e.message),""}var r}(e).length}catch(e){return}}},t.decompressPayload=function(e){return l.apply(this,arguments)},t.getObjectEntriesForKeys=function(e,t){return e&&Array.isArray(e)&&0!==e.length?t&&"object"===c(t)?e.reduce(function(e,r){return r in t&&(e[r]=t[r]),e},{}):{}:t},t.shouldRetry=function(e){switch(e){case 408:case 429:case 500:return!0;case 401:case 403:case 404:return!1}return e>=502&&e<=504||e>=512&&e<=530};var n=a(r(330)),i=a(r(144));function a(e){return e&&e.__esModule?e:{default:e}}function o(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function a(r,n,i,a){var o=n&&n.prototype instanceof c?n:c,l=Object.create(o.prototype);return s(l,"_invoke",function(r,n,i){var a,o,s,c=0,l=i||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return a=t,o=0,s=e,d.n=r,u}};function h(r,n){for(o=r,s=n,t=0;!f&&c&&!i&&t<l.length;t++){var i,a=l[t],h=d.p,y=a[2];r>3?(i=y===n)&&(s=a[(o=a[4])?5:(o=3,3)],a[4]=a[5]=e):a[0]<=h&&((i=r<2&&h<a[1])?(o=0,d.v=n,d.n=a[1]):h<y&&(i=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,d.n=y,o=0))}if(i||r>1)return u;throw f=!0,n}return function(i,l,y){if(c>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,y),o=l,s=y;(t=o<2?e:s)||!f;){a||(o?o<3?(o>1&&(d.n=-1),h(o,s)):d.n=s:d.v=s);try{if(c=2,a){if(o||(i="next"),t=a[i]){if(!(t=t.call(a,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,o<2&&(o=0)}else 1===o&&(t=a.return)&&t.call(a),o<2&&(s=TypeError("The iterator does not provide a '"+i+"' method"),o=1);a=e}else if((t=(f=d.n<0)?s:r.call(n,d))!==u)break}catch(t){a=e,o=1,s=t}finally{c=1}}return{value:t,done:f}}}(r,i,a),!0),l}var u={};function c(){}function l(){}function f(){}t=Object.getPrototypeOf;var d=[][n]?t(t([][n]())):(s(t={},n,function(){return this}),t),h=f.prototype=c.prototype=Object.create(d);function y(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,i,"GeneratorFunction")),e.prototype=Object.create(h),e}return l.prototype=f,s(h,"constructor",f),s(f,"constructor",l),l.displayName="GeneratorFunction",s(f,i,"GeneratorFunction"),s(h),s(h,i,"Generator"),s(h,n,function(){return this}),s(h,"toString",function(){return"[object Generator]"}),(o=function(){return{w:a,m:y}})()}function s(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}s=function(e,t,r,n){function a(t,r){s(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},s(e,t,r,n)}function u(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function c(e){return c="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},c(e)}function l(){var e;return e=o().m(function e(t){var r,n,i,a,s,u;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,!(t instanceof Blob)){e.n=1;break}r=t.stream(),e.n=4;break;case 1:if(!(t instanceof ArrayBuffer)){e.n=2;break}r=new Blob([t]).stream(),e.n=4;break;case 2:if(!(t instanceof Uint8Array)){e.n=3;break}r=new Blob([t]).stream(),e.n=4;break;case 3:throw new Error("Unsupported compressed data type");case 4:return n=new DecompressionStream("gzip"),i=r.pipeThrough(n),a=new Response(i),e.n=5,a.text();case 5:return s=e.v,e.a(2,JSON.parse(s));case 6:throw e.p=6,u=e.v,new Error("Failed to decompress payload: ".concat(u.message));case 7:return e.a(2)}},e,null,[[0,6]])}),l=function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function o(e){u(a,n,i,o,s,"next",e)}function s(e){u(a,n,i,o,s,"throw",e)}o(void 0)})},l.apply(this,arguments)}},374(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.HarvestScheduler=void 0;var n=r(431),i=r(413),a=r(28),o=r(347),s=c(r(51)),u=c(r(144));function c(e){return e&&e.__esModule?e:{default:e}}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)}function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach(function(t){h(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function h(e,t,r){return(t=E(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e){return function(e){if(Array.isArray(e))return v(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 v(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?v(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 v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function a(r,n,i,a){var u=n&&n.prototype instanceof s?n:s,c=Object.create(u.prototype);return m(c,"_invoke",function(r,n,i){var a,s,u,c=0,l=i||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return a=t,s=0,u=e,d.n=r,o}};function h(r,n){for(s=r,u=n,t=0;!f&&c&&!i&&t<l.length;t++){var i,a=l[t],h=d.p,y=a[2];r>3?(i=y===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=h&&((i=r<2&&h<a[1])?(s=0,d.v=n,d.n=a[1]):h<y&&(i=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,d.n=y,s=0))}if(i||r>1)return o;throw f=!0,n}return function(i,l,y){if(c>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,y),s=l,u=y;(t=s<2?e:u)||!f;){a||(s?s<3?(s>1&&(d.n=-1),h(s,u)):d.n=u:d.v=u);try{if(c=2,a){if(s||(i="next"),t=a[i]){if(!(t=t.call(a,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=e}else if((t=(f=d.n<0)?u:r.call(n,d))!==o)break}catch(t){a=e,s=1,u=t}finally{c=1}}return{value:t,done:f}}}(r,i,a),!0),c}var o={};function s(){}function u(){}function c(){}t=Object.getPrototypeOf;var l=[][n]?t(t([][n]())):(m(t={},n,function(){return this}),t),f=c.prototype=s.prototype=Object.create(l);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,c):(e.__proto__=c,m(e,i,"GeneratorFunction")),e.prototype=Object.create(f),e}return u.prototype=c,m(f,"constructor",c),m(c,"constructor",u),u.displayName="GeneratorFunction",m(c,i,"GeneratorFunction"),m(f),m(f,i,"Generator"),m(f,n,function(){return this}),m(f,"toString",function(){return"[object Generator]"}),(p=function(){return{w:a,m:d}})()}function m(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}m=function(e,t,r,n){function a(t,r){m(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},m(e,t,r,n)}function b(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function g(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function o(e){b(a,n,i,o,s,"next",e)}function s(e){b(a,n,i,o,s,"throw",e)}o(void 0)})}}function S(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,E(n.key),n)}}function E(e){var t=function(e){if("object"!=l(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==l(t)?t:t+""}t.HarvestScheduler=function(){return e=function e(t){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.eventBuffer=t,this.retryQueueHandler=new i.RetryQueueHandler,this.httpClient=new a.OptimizedHttpClient,this.fallBackUrl="",this.retryCount=0,this.eventBuffer instanceof n.NrVideoEventAggregator&&this.eventBuffer.setSmartHarvestCallback(function(e,t){return r.triggerSmartHarvest(e,t)}),this.isStarted=!1,this.currentTimerId=null,this.harvestCycle=s.default.INTERVAL,this.isHarvesting=!1,this.setupPageLifecycleHandlers()},t=[{key:"startScheduler",value:function(){this.isStarted?u.default.warn("Harvest scheduler is already started"):(this.isStarted=!0,u.default.notice("Starting harvest scheduler",{harvestCycle:this.harvestCycle,eventBufferSize:this.eventBuffer?this.eventBuffer.size():0}),this.scheduleNextHarvest())}},{key:"stopScheduler",value:function(){this.isStarted&&(this.isStarted=!1,this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),u.default.notice("Harvest scheduler stopped"))}},{key:"triggerSmartHarvest",value:(f=g(p().m(function e(t,r){var n;return p().w(function(e){for(;;)switch(e.p=e.n){case 0:if(u.default.notice("".concat(t," harvest triggered at ").concat(r,"% threshold"),{type:t,threshold:r}),this.eventBuffer&&!this.eventBuffer.isEmpty()){e.n=1;break}return e.a(2);case 1:return this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),e.p=2,e.n=3,this.triggerHarvest({});case 3:e.n=5;break;case 4:e.p=4,n=e.v,u.default.error("".concat(t," harvest failed:"),n.message);case 5:return e.p=5,this.isStarted&&this.scheduleNextHarvest(),e.f(5);case 6:return e.a(2)}},e,this,[[2,4,5,6]])})),function(e,t){return f.apply(this,arguments)})},{key:"scheduleNextHarvest",value:function(){var e=this;if(this.isStarted){var t=this.harvestCycle;this.currentTimerId=setTimeout(function(){return e.onHarvestInterval()},t)}}},{key:"onHarvestInterval",value:(l=g(p().m(function e(){var t,r,n;return p().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,t=this.eventBuffer&&!this.eventBuffer.isEmpty(),r=this.retryQueueHandler&&this.retryQueueHandler.getQueueSize()>0,t||r){e.n=1;break}return e.a(2);case 1:return e.n=2,this.triggerHarvest({});case 2:e.n=4;break;case 3:e.p=3,n=e.v,u.default.error("Error during scheduled harvest:",n.message);case 4:return e.p=4,this.scheduleNextHarvest(),e.f(4);case 5:return e.a(2)}},e,this,[[0,3,4,5]])})),function(){return l.apply(this,arguments)})},{key:"triggerHarvest",value:(c=g(p().m(function e(){var t,r,n,i,a,c=arguments;return p().w(function(e){for(;;)switch(e.p=e.n){case 0:if(t=c.length>0&&void 0!==c[0]?c[0]:{},!this.isHarvesting){e.n=1;break}return e.a(2,{success:!1,reason:"harvest_in_progress"});case 1:return this.isHarvesting=!0,e.p=2,r=this.drainEvents(t),t.isFinalHarvest&&(n=s.default.MAX_BEACON_SIZE,(0,o.dataSize)(r)>n&&(r=this.trimEventsToFit(r,n))),e.n=3,this.sendChunk(r,t,!0);case 3:return i=e.v,e.a(2,{success:i.success,totalChunks:1,results:[i]});case 4:return e.p=4,a=e.v,u.default.error("Harvest cycle failed:",a.message),this.handleHarvestFailure(a),e.a(2,{success:!1,error:a.message,consecutiveFailures:this.consecutiveFailures});case 5:return e.p=5,this.isHarvesting=!1,e.f(5);case 6:return e.a(2)}},e,this,[[2,4,5,6]])})),function(){return c.apply(this,arguments)})},{key:"trimEventsToFit",value:function(e,t){if(0===e.length)return e;for(var r=[],n=0,i=e.length-1;i>=0;i--){var a=e[i],s=(0,o.dataSize)({ins:[a].concat(r)});s>t||(r.unshift(a),n=s)}var c=e.length-r.length;if(c>0){var l=e.slice(0,c);u.default.warn("Discarded ".concat(c," events to fit beacon size limit"),{originalCount:e.length,trimmedCount:r.length,finalSize:n,maxSize:t}),this.retryQueueHandler&&this.retryQueueHandler.addFailedEvents(l)}return r}},{key:"drainEvents",value:function(){var e=this.eventBuffer.drain(),t=y(e),r=(0,o.dataSize)(e);if(this.retryQueueHandler&&this.retryQueueHandler.getQueueSize()>0){var n=s.default.MAX_PAYLOAD_SIZE-r,i=s.default.MAX_EVENTS_PER_BATCH-t.length;if(n>0&&i>0){var a=this.retryQueueHandler.getRetryEventsToFit(n,i);a.length>0&&(t=[].concat(y(a),y(t)))}}return t}},{key:"sendChunk",value:(r=g(p().m(function e(t,r,n){var i,a,s=this;return p().w(function(e){for(;;)if(0===e.n)return i=(0,o.buildUrl)(this.fallBackUrl),a={url:i,payload:{body:{ins:t}},options:d(d({},r),{},{isLastChunk:n})},e.a(2,new Promise(function(e){s.httpClient.send(a,function(r){r.retry?s.handleRequestFailure(t):(s.retryCount=0,s.fallBackUrl=""),e({success:!r.retry,status:r.status,error:r.error,chunk:t,eventCount:t.length})})}))},e,this)})),function(e,t,n){return r.apply(this,arguments)})},{key:"handleRequestFailure",value:function(e){var t;this.retryQueueHandler.addFailedEvents(e),"US"===(null===(t=window.NRVIDEO)||void 0===t||null===(t=t.info)||void 0===t?void 0:t.region)&&(this.retryCount++,this.retryCount>5?(this.retryCount=0,this.fallBackUrl=""):this.retryCount>=2&&(this.fallBackUrl=s.default.COLLECTOR.US[1]))}},{key:"handleHarvestFailure",value:function(e){this.consecutiveFailures++,u.default.warn("Harvest failure handled",{error:e.message,consecutiveFailures:this.consecutiveFailures})}},{key:"updateHarvestInterval",value:function(e){"number"!=typeof e&&isNaN(e)?u.default.warn("Invalid newInterval provided to updateHarvestInterval"):e<1e3||e>3e5?u.default.warn("newInterval out of bounds (1000-300000), ignoring"):this.harvestCycle!==e&&(this.harvestCycle=e,u.default.notice("Updated harvestCycle:",this.harvestCycle),this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),this.isStarted&&this.scheduleNextHarvest())}},{key:"setupPageLifecycleHandlers",value:function(){var e=this,t=!1,r=function(){t||(t=!0,e.triggerHarvest({isFinalHarvest:!0,force:!0}))};document.addEventListener("visibilitychange",function(){document.hidden&&r()}),window.addEventListener("pagehide",function(){r()}),window.addEventListener("beforeunload",function(){r()})}}],t&&S(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,c,l,f}()},399(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,i=(n=r(144))&&n.__esModule?n:{default:n},a=r(449),o=r(659);function s(e){return s="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},s(e)}function u(){var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function a(r,n,i,a){var u=n&&n.prototype instanceof s?n:s,l=Object.create(u.prototype);return c(l,"_invoke",function(r,n,i){var a,s,u,c=0,l=i||[],f=!1,d={p:0,n:0,v:e,a:h,f:h.bind(e,4),d:function(t,r){return a=t,s=0,u=e,d.n=r,o}};function h(r,n){for(s=r,u=n,t=0;!f&&c&&!i&&t<l.length;t++){var i,a=l[t],h=d.p,y=a[2];r>3?(i=y===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=h&&((i=r<2&&h<a[1])?(s=0,d.v=n,d.n=a[1]):h<y&&(i=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,d.n=y,s=0))}if(i||r>1)return o;throw f=!0,n}return function(i,l,y){if(c>1)throw TypeError("Generator is already running");for(f&&1===l&&h(l,y),s=l,u=y;(t=s<2?e:u)||!f;){a||(s?s<3?(s>1&&(d.n=-1),h(s,u)):d.n=u:d.v=u);try{if(c=2,a){if(s||(i="next"),t=a[i]){if(!(t=t.call(a,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,s<2&&(s=0)}else 1===s&&(t=a.return)&&t.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=e}else if((t=(f=d.n<0)?u:r.call(n,d))!==o)break}catch(t){a=e,s=1,u=t}finally{c=1}}return{value:t,done:f}}}(r,i,a),!0),l}var o={};function s(){}function l(){}function f(){}t=Object.getPrototypeOf;var d=[][n]?t(t([][n]())):(c(t={},n,function(){return this}),t),h=f.prototype=s.prototype=Object.create(d);function y(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,i,"GeneratorFunction")),e.prototype=Object.create(h),e}return l.prototype=f,c(h,"constructor",f),c(f,"constructor",l),l.displayName="GeneratorFunction",c(f,i,"GeneratorFunction"),c(h),c(h,i,"Generator"),c(h,n,function(){return this}),c(h,"toString",function(){return"[object Generator]"}),(u=function(){return{w:a,m:y}})()}function c(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}c=function(e,t,r,n){function a(t,r){c(e,t,function(e){return this._invoke(t,r,e)})}t?i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r:(a("next",0),a("throw",1),a("return",2))},c(e,t,r,n)}function l(e,t,r,n,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,i)}function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach(function(t){h(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function h(e,t,r){return(t=v(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(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,v(n.key),n)}}function v(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}var p=function(){return function(e,t,r){return r&&y(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},0,[{key:"addTracker",value:function(e,t){null!=t&&t.info&&(0,o.setVideoConfig)(t.info),e.on&&e.emit?(m.push(e),e.on("*",b),"function"==typeof e.trackerInit&&e.trackerInit()):i.default.error("Tried to load a non-tracker.",e)}},{key:"removeTracker",value:function(e){e.off("*",b),e.dispose();var t=m.indexOf(e);-1!==t&&m.splice(t,1)}},{key:"getTrackers",value:function(){return m}},{key:"send",value:function(e,t,r){var n=d({actionName:t},r);return(0,a.recordEvent)(e,n)}},{key:"sendError",value:function(e){return(0,a.recordEvent)("VideoErrorAction",d({actionName:"ERROR"},e))}},{key:"forceHarvest",value:(e=u().m(function e(){var t,n,a;return u().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,t=r(487),n=t.videoAnalyticsHarvester,e.n=1,n.forceHarvest();case 1:return e.a(2,e.v);case 2:return e.p=2,a=e.v,i.default.error("Failed to force harvest:",a.message),e.a(2,{success:!1,error:a.message})}},e,null,[[0,2]])}),t=function(){var t=this,r=arguments;return new Promise(function(n,i){var a=e.apply(t,r);function o(e){l(a,n,i,o,s,"next",e)}function s(e){l(a,n,i,o,s,"throw",e)}o(void 0)})},function(){return t.apply(this,arguments)})}]);var e,t}(),m=[];function b(e){try{var t=function(e){var t={};for(var r in e)null!==e[r]&&void 0!==e[r]&&(t[r]=e[r]);return t}(e.data);i.default.level<=i.default.Levels.DEBUG?i.default.notice("Sent",e.type,t):i.default.notice("Sent",e.type),p.send(e.eventType,e.type,t)}catch(e){i.default.error("Error in event handler:",e.message)}}t.default=p},413(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RetryQueueHandler=void 0;var n=o(r(144)),i=r(347),a=o(r(51));function o(e){return e&&e.__esModule?e:{default:e}}function s(e){return s="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},s(e)}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){l(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function l(e,t,r){return(t=h(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function d(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,h(n.key),n)}}function h(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}var y=a.default.MAX_PAYLOAD_SIZE,v=a.default.MAX_EVENTS_PER_BATCH,p=t.RetryQueueHandler=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.retryQueue=[],this.maxQueueSize=v,this.maxQueueSizeBytes=y},(t=[{key:"addFailedEvents",value:function(e){try{var t=Array.isArray(e)?e:[e];n.default.notice("Adding ".concat(t.length," failed events to retry queue"),{queueSizeBefore:this.retryQueue.length});var r,a=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return f(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(t);try{for(a.s();!(r=a.n()).done;){var o=r.value;this.retryQueue.length>=this.maxQueueSize&&this.evictOldestEvent();for(var s=(0,i.dataSize)(o);(0,i.dataSize)(this.retryQueue)+s>this.maxQueueSizeBytes;)this.evictOldestEvent();this.retryQueue.push(c({},o))}}catch(e){a.e(e)}finally{a.f()}}catch(e){n.default.error("Failed to add events to retry queue:",e.message)}}},{key:"discardEvent",value:function(e,t){n.default.warn("Discarded event",{reason:t,eventType:e.eventType})}},{key:"evictOldestEvent",value:function(){if(this.retryQueue.length>0){var e=this.retryQueue.shift();this.discardEvent(e,"Queue full - evicted oldest")}}},{key:"getRetryEventsToFit",value:function(e,t){for(var r=[],n=0,a=0,o=this.retryQueue.length-1;o>=0;o--){var s=this.retryQueue[o];if(a>=t)break;var u=(0,i.dataSize)(s);if(n+u>e)break;r.unshift(s),n+=u,a++,this.retryQueue.splice(o,1)}return r}},{key:"getQueueSize",value:function(){return this.retryQueue.length}},{key:"clear",value:function(){this.retryQueue=[]}}])&&d(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();t.default=p},431(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.NrVideoEventAggregator=void 0;var n=o(r(144)),i=o(r(51)),a=r(347);function o(e){return e&&e.__esModule?e:{default:e}}function s(e){return s="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},s(e)}function u(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,c(n.key),n)}}function c(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}var l=i.default.MAX_PAYLOAD_SIZE,f=i.default.MAX_EVENTS_PER_BATCH,d=t.NrVideoEventAggregator=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.buffer=[],this.maxPayloadSize=l,this.maxEventsPerBatch=f,this.currentPayloadSize=0,this.totalEvents=0,this.smartHarvestPayloadThreshold=Math.floor(.6*this.maxPayloadSize),this.overflowPayloadThreshold=Math.floor(.9*this.maxPayloadSize),this.smartHarvestEventThreshold=Math.floor(.6*this.maxEventsPerBatch),this.overflowEventThreshold=Math.floor(.9*this.maxEventsPerBatch),this.onSmartHarvestTrigger=null},t=[{key:"addOrReplaceByActionName",value:function(e,t){var r=this.buffer.findIndex(function(t){return t.actionName===e});try{return-1===r?this.add(t):this.add(t,r),!0}catch(e){return n.default.error("Failed to set or replace the event to buffer:",e.message),!1}}},{key:"add",value:function(e,t){try{var r=(0,a.dataSize)(e),i=this.currentPayloadSize+r>=this.maxPayloadSize,o=this.totalEvents+1>=this.maxEventsPerBatch;if((i||o)&&this.makeRoom(r),null!=t&&t>-1){var s=(0,a.dataSize)(this.buffer[t]);this.buffer[t]=e,this.currentPayloadSize+=r-s}else this.buffer.push(e),this.totalEvents++,this.currentPayloadSize+=r;return this.checkSmartHarvestTrigger(),!0}catch(e){return n.default.error("Failed to add event to buffer:",e.message),!1}}},{key:"checkSmartHarvestTrigger",value:function(){var e=this.currentPayloadSize/this.maxPayloadSize,t=this.totalEvents/this.maxEventsPerBatch,r=this.currentPayloadSize>=this.overflowPayloadThreshold,i=this.totalEvents>=this.overflowEventThreshold;if(r||i){var a=r?"payload ".concat(this.currentPayloadSize,"/").concat(this.maxPayloadSize," bytes (").concat(Math.round(100*e),"%)"):"events ".concat(this.totalEvents,"/").concat(this.maxEventsPerBatch," (").concat(Math.round(100*t),"%)");n.default.warn("OVERFLOW PREVENTION: ".concat(a," - Emergency harvest triggered")),this.onSmartHarvestTrigger&&"function"==typeof this.onSmartHarvestTrigger&&this.onSmartHarvestTrigger("overflow",90)}else{var o=this.currentPayloadSize>=this.smartHarvestPayloadThreshold,s=this.totalEvents>=this.smartHarvestEventThreshold;(o||s)&&this.onSmartHarvestTrigger&&"function"==typeof this.onSmartHarvestTrigger&&this.onSmartHarvestTrigger("smart",60)}}},{key:"setSmartHarvestCallback",value:function(e){this.onSmartHarvestTrigger=e}},{key:"drain",value:function(){try{var e=this.buffer.splice(0);return this.totalEvents=0,this.currentPayloadSize=0,e}catch(e){return n.default.error("Failed to drain events from buffer:",e.message),[]}}},{key:"isEmpty",value:function(){return 0===this.totalEvents}},{key:"size",value:function(){return this.totalEvents}},{key:"clear",value:function(){this.buffer=[],this.totalEvents=0}},{key:"makeRoom",value:function(e){if(e>this.maxPayloadSize)n.default.error("Event dropped: Event size exceeds maximum payload size.");else for(;(this.totalEvents>=this.maxEventsPerBatch||this.currentPayloadSize+e>=this.maxPayloadSize)&&this.buffer.length>0;){var t=this.buffer.shift(),r=(0,a.dataSize)(t);this.totalEvents--,this.currentPayloadSize-=r,n.default.warn("Event buffer full, oldest event removed.")}}}],t&&u(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();t.default=d},449(e,t,r){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)}Object.defineProperty(t,"__esModule",{value:!0}),t.recordEvent=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{var r;if(!a.default.VALID_EVENT_TYPES.includes(e))return o.default.warn("Invalid event type provided to recordEvent",{eventType:e}),!1;if(null===(r=window)||void 0===r||null===(r=r.NRVIDEO)||void 0===r||!r.info)return;var n=window.NRVIDEO.info,l=n.appName,f=n.applicationID,h=t.qoe,y=function(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}(t,c),v=h?d({},h):{},p=d(d({},f?{}:{appName:l}),{},{timestamp:Date.now(),timeSinceLoad:window.performance?window.performance.now()/1e3:null}),m=d(d({},y),{},{eventType:e},p),b=(0,u.getObjectEntriesForKeys)(a.default.QOE_AGGREGATE_KEYS,t),g=null;"VideoAction"===e&&(g=d(d(d({eventType:"VideoAction",actionName:s.default.Events.QOE_AGGREGATE,qoeAggregateVersion:"1.0.0"},v),b),p));var S=i.videoAnalyticsHarvester.addEvent(m);if(g){var E=i.videoAnalyticsHarvester.addEvent(g);return S&&E}return S}catch(e){return o.default.error("Failed to record event:",e.message),!1}};var i=r(487),a=l(r(51)),o=l(r(144)),s=l(r(302)),u=r(347),c=["qoe"];function l(e){return e&&e.__esModule?e:{default:e}}function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach(function(t){h(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function h(e,t,r){return(t=function(e){var t=function(e){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},455(e,t){function r(e){return r="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},r(e)}function n(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,i(n.key),n)}}function i(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.reset()}return t=e,(r=[{key:"reset",value:function(){this.startTime=0,this.stopTime=0,this.accumulator=0,this.offset=0}},{key:"getDeltaTime",value:function(){return this.startTime?this.offset+((new Date).getTime()-this.startTime):null}},{key:"start",value:function(){this.startTime=(new Date).getTime(),this.stopTime=0}},{key:"stop",value:function(){return this.stopTime=(new Date).getTime(),this.startTime<this.stopTime&&(this.accumulator+=this.stopTime-this.startTime),this.getDeltaTime()}},{key:"getDuration",value:function(){return this.stopTime?this.accumulator+this.offset:this.accumulator+(null!==(e=this.getDeltaTime())&&void 0!==e?e:0);var e}},{key:"clone",value:function(){var t=new e;return t.startTime=this.startTime,t.stopTime=this.stopTime,t.offset=this.offset,t.accumulator=this.accumulator,t}}])&&n(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r}();t.default=a},487(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.videoAnalyticsHarvester=void 0;var n=r(374),i=r(431),a=s(r(144)),o=s(r(302));function s(e){return e&&e.__esModule?e:{default:e}}function u(e){return u="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},u(e)}function c(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,l(n.key),n)}}function l(e){var t=function(e){if("object"!=u(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=u(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==u(t)?t:t+""}var f=new(function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.isInitialized=!1,this.harvestScheduler=null,this.eventBuffer=null},(t=[{key:"initialize",value:function(){if(this.isInitialized)a.default.warn("Video analytics agent already initialized");else try{this.eventBuffer=new i.NrVideoEventAggregator,this.harvestScheduler=new n.HarvestScheduler(this.eventBuffer),this.harvestScheduler.startScheduler(),this.isInitialized=!0,a.default.notice("Video analytics agent initialized successfully")}catch(e){a.default.error("Failed to initialize video analytics agent:",e.message)}}},{key:"addEvent",value:function(e){this.isInitialized||(a.default.warn("Video analytics agent not initialized, initializing now"),this.initialize());try{return e.actionName&&e.actionName===o.default.Events.QOE_AGGREGATE?this.eventBuffer.addOrReplaceByActionName(o.default.Events.QOE_AGGREGATE,e):this.eventBuffer.add(e)}catch(e){return a.default.error("Failed to add event to harvesting system:",e.message),!1}}},{key:"setHarvestInterval",value:function(e){this.isInitialized||this.initialize(),this.harvestScheduler.updateHarvestInterval(e)}}])&&c(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}());t.videoAnalyticsHarvester=f},568(e,t){function r(e){return r="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},r(e)}function n(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,i(n.key),n)}}function i(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},(t=[{key:"on",value:function(e,t){if(this._listeners=this._listeners||{},"function"==typeof t)return this._listeners[e]=this._listeners[e]||[],this._listeners[e].push(t),this}},{key:"off",value:function(e,t){if(this._listeners=this._listeners||{},this._listeners[e]){var r=this._listeners[e].indexOf(t);-1!==r&&this._listeners[e].splice(r,1)}return this}},{key:"emit",value:function(e,t,r){var n=this;return this._listeners=this._listeners||{},r=r||{},Array.isArray(this._listeners[t])&&this._listeners[t].forEach(function(i){i.call(n,{eventType:e,type:t,data:r,target:n})}),Array.isArray(this._listeners["*"])&&this._listeners["*"].forEach(function(i){i.call(n,{eventType:e,type:t,data:r,target:n})}),this}}])&&n(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();t.default=a},659(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.setVideoConfig=function(e){return y.setConfiguration(e)},t.videoConfiguration=void 0;var n=a(r(144)),i=a(r(51));function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach(function(t){u(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function u(e,t,r){return(t=f(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e){return c="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},c(e)}function l(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,f(n.key),n)}}function f(e){var t=function(e){if("object"!=c(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=c(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==c(t)?t:t+""}var d=i.default.COLLECTOR,h=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},(t=[{key:"setConfiguration",value:function(e){return!!this.validateRequiredFields(e)&&(this.initializeGlobalConfig(e),n.default.notice("Video analytics configuration initialized successfully"),!0)}},{key:"validateRequiredFields",value:function(e){if(!e||"object"!==c(e))return n.default.error("Configuration must be an object"),!1;var t=e.licenseKey,r=e.appName,i=e.region,a=e.applicationID,o=e.beacon;if(!t)return n.default.error("licenseKey is required"),!1;if(a){if(!o)return n.default.error("beacon is required when applicationID is provided"),!1;if(!Object.values(d).flatMap(function(e){return e}).includes(o))return n.default.error("Invalid beacon: ".concat(o)),!1}else{if(!r||!i)return n.default.error("appName and region are required when applicationID is not provided"),!1;if(!d[i])return n.default.error("Invalid region: ".concat(i,". Valid regions are: ").concat(Object.keys(d).join(", "))),!1}return!0}},{key:"initializeGlobalConfig",value:function(e){var t=e.licenseKey,r=e.appName,n=e.region,a=e.beacon,o=e.applicationID;a="US"===n?i.default.COLLECTOR.US[0]:a||d[n],window.NRVIDEO={info:s(s({},n?{region:n}:{}),{},{beacon:a,licenseKey:t,applicationID:o},o?{}:{appName:r})}}}])&&l(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}(),y=t.videoConfiguration=new h;t.default=h},793(e,t,r){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)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=u(r(144)),a=u(r(302)),o=u(r(328)),s=u(r(330));function u(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach(function(t){f(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function f(e,t,r){return(t=h(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(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,h(n.key),n)}}function h(e){var t=function(e){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}function y(e,t,r){return t=p(t),function(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 function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,v()?Reflect.construct(t,r||[],p(e).constructor):t.apply(e,r))}function v(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(v=function(){return!!e})()}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}var b=function(e){function t(e,r){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=y(this,t)).state=new o.default,n.adsTracker=null,n._lastBufferType=null,n._userId=null,r=r||{},n.setOptions(r),e&&n.setPlayer(e,r.tag),i.default.notice("Tracker "+n.getTrackerName()+" v"+n.getTrackerVersion()+" is ready."),n}return function(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&&m(e,t)}(t,e),r=t,n=[{key:"setUserId",value:function(e){this._userId=e}},{key:"setOptions",value:function(e){e&&(e.adsTracker&&this.setAdsTracker(e.adsTracker),"boolean"==typeof e.isAd&&this.setIsAd(e.isAd),a.default.prototype.setOptions.apply(this,arguments))}},{key:"setPlayer",value:function(e,t){(this.player||this.tag)&&this.dispose(),"undefined"!=typeof document&&document.getElementById&&("string"==typeof e&&(e=document.getElementById(e)),"string"==typeof t&&(t=document.getElementById(t))),t=t||e,this.player=e,this.tag=t,this.registerListeners()}},{key:"isAd",value:function(){return this.state.isAd()}},{key:"setIsAd",value:function(e){this.state.setIsAd(e)}},{key:"setAdsTracker",value:function(e){this.disposeAdsTracker(),e&&(this.adsTracker=e,this.adsTracker.setIsAd(!0),this.adsTracker.parentTracker=this,this.adsTracker.on("*",g.bind(this)))}},{key:"disposeAdsTracker",value:function(){this.adsTracker&&(this.adsTracker.off("*",g),this.adsTracker.dispose())}},{key:"dispose",value:function(){this.stopHeartbeat(),this.disposeAdsTracker(),this.unregisterListeners(),this.player=null,this.tag=null}},{key:"registerListeners",value:function(){}},{key:"unregisterListeners",value:function(){}},{key:"getViewId",value:function(){return this.parentTracker?this.parentTracker.getViewId():this.state.getViewId()}},{key:"getViewSession",value:function(){return this.parentTracker?this.parentTracker.getViewSession():this.state.getViewSession()}},{key:"getVideoId",value:function(){return null}},{key:"getTitle",value:function(){return null}},{key:"isLive",value:function(){return null}},{key:"getBitrate",value:function(){return null}},{key:"getWebkitBitrate",value:function(){if(this.tag&&this.tag.webkitVideoDecodedByteCount){var e;if(this._lastWebkitBitrate){var t=(e=this.tag.webkitVideoDecodedByteCount)-this._lastWebkitBitrate,r=this.getHeartbeat()/1e3;e=Math.round(t/r*8)}return this._lastWebkitBitrate=this.tag.webkitVideoDecodedByteCount,e||null}}},{key:"getRenditionName",value:function(){return null}},{key:"getRenditionBitrate",value:function(){return null}},{key:"getRenditionShift",value:function(e){var t,r=this.getRenditionBitrate();return this.isAd()?(t=this._lastAdRendition,e&&(this._lastAdRendition=r)):(t=this._lastRendition,e&&(this._lastRendition=r)),r&&t?r>t?"up":r<t?"down":null:null}},{key:"getRenditionHeight",value:function(){return this.tag?this.tag.videoHeight:null}},{key:"getRenditionWidth",value:function(){return this.tag?this.tag.videoWidth:null}},{key:"getDuration",value:function(){return this.tag?this.tag.duration:null}},{key:"getPlayhead",value:function(){return this.tag?this.tag.currentTime:null}},{key:"getLanguage",value:function(){return null}},{key:"getSrc",value:function(){return this.tag?this.tag.currentSrc:null}},{key:"getPlayrate",value:function(){return this.tag?this.tag.playbackRate:null}},{key:"isMuted",value:function(){return this.tag?this.tag.muted:null}},{key:"isFullscreen",value:function(){return null}},{key:"getCdn",value:function(){return null}},{key:"getPlayerName",value:function(){return this.getTrackerName()}},{key:"getPlayerVersion",value:function(){return s.default.version}},{key:"getFps",value:function(){return null}},{key:"isAutoplayed",value:function(){return this.tag?this.tag.autoplay:null}},{key:"getPreload",value:function(){return this.tag?this.tag.preload:null}},{key:"getAdQuartile",value:function(){return null}},{key:"getAdPosition",value:function(){return this.parentTracker?this.parentTracker.state.isStarted?"mid":"pre":null}},{key:"getAdPartner",value:function(){return null}},{key:"getAdCreativeId",value:function(){return null}},{key:"getInstrumentationProvider",value:function(){return null}},{key:"getInstrumentationName",value:function(){return null}},{key:"getInstrumentationVersion",value:function(){return null}},{key:"getAttributes",value:function(e,t){if(void 0===(e=a.default.prototype.getAttributes.apply(this,arguments)).isAd&&(e.isAd=this.isAd()),e.viewSession=this.getViewSession(),e.viewId=this.getViewId(),e.playerName=this.getPlayerName(),e.playerVersion=this.getPlayerVersion(),e["instrumentation.provider"]=this.getInstrumentationProvider(),e["instrumentation.name"]=this.getInstrumentationName(),e["instrumentation.version"]=this.getInstrumentationVersion(),e["enduser.id"]=this._userId,e.src="Browser","customAction"===t)return e;try{e.pageUrl=window.location.href}catch(e){}for(var r in this.isAd()?(e.adId=this.getVideoId(),e.adTitle=this.getTitle(),e.adSrc=this.getSrc(),e.adCdn=this.getCdn(),e.adBitrate=this.getBitrate()||this.getWebkitBitrate()||this.getRenditionBitrate(),e.adRenditionName=this.getRenditionName(),e.adRenditionBitrate=this.getRenditionBitrate(),e.adRenditionHeight=this.getRenditionHeight(),e.adRenditionWidth=this.getRenditionWidth(),e.adDuration=this.getDuration(),e.adPlayhead=this.getPlayhead(),e.adLanguage=this.getLanguage(),e.adIsMuted=this.isMuted(),e.adFps=this.getFps(),e.adPosition=this.getAdPosition(),e.adCreativeId=this.getAdCreativeId(),e.adPartner=this.getAdPartner()):(e.contentId=this.getVideoId(),e.contentTitle=this.getTitle(),e.contentSrc=this.getSrc(),e.contentCdn=this.getCdn(),e.contentPlayhead=this.getPlayhead(),e.contentIsLive=this.isLive(),e.contentBitrate=this.getBitrate()||this.getWebkitBitrate()||this.getRenditionBitrate(),e.contentRenditionName=this.getRenditionName(),e.contentRenditionBitrate=this.getRenditionBitrate(),e.contentRenditionHeight=this.getRenditionHeight(),e.contentRenditionWidth=this.getRenditionWidth(),e.contentDuration=this.getDuration(),e.contentLanguage=this.getLanguage(),e.contentPlayrate=this.getPlayrate(),e.contentIsFullscreen=this.isFullscreen(),e.contentIsMuted=this.isMuted(),e.contentIsAutoplayed=this.isAutoplayed(),e.contentPreload=this.getPreload(),e.contentFps=this.getFps(),null!=this.adsTracker&&this.adsTracker.state.totalAdPlaytime>0&&(e.totalAdPlaytime=this.adsTracker.state.totalAdPlaytime)),this.state.getStateAttributes(e),this.state.isStarted&&!this.isAd()&&this.state.trackContentBitrateState(e.contentBitrate),this.customData)e[r]=this.customData[r];return this.addQoeAttributes(e),e}},{key:"addQoeAttributes",value:function(e){var t=(e=this.state.getQoeAttributes(e)).qoe;for(var r in this.customData)t[r]=this.customData[r]}},{key:"sendCustom",value:function(e,t,r){r=r||{},this.sendVideoCustomAction(e,r),this.state.setTimeSinceAttribute(t)}},{key:"sendPlayerReady",value:function(e){this.state.goPlayerReady()&&(e=e||{},this.sendVideoAction(t.Events.PLAYER_READY,e))}},{key:"sendRequest",value:function(e){var r;this.state.goRequest()&&(this.isAd()?(r=t.Events.AD_REQUEST,this.sendVideoAdAction(r,e)):(r=t.Events.CONTENT_REQUEST,this.sendVideoAction(r,e)))}},{key:"sendStart",value:function(e){if(this.state.goStart()){var r;if(this.isAd())r=t.Events.AD_START,this.parentTracker&&(this.parentTracker.state.isPlaying=!1),this.sendVideoAdAction(r,e),this.state.startAdsTime();else{r=t.Events.CONTENT_START;var n,i=0;this.adsTracker&&(this.adsTracker.state.isPlaying||this.adsTracker.state.isBuffering?(i=this.adsTracker.state.stopAdsTime(),this.adsTracker.state.isPlaying=!1,this.adsTracker.state.isBuffering=!1):i=null!==(n=this.adsTracker.state.totalAdTime())&&void 0!==n?n:0),this.state.setStartupTime(i),this.sendVideoAction(r,e)}this.startHeartbeat(),this.state.goHeartbeat()}}},{key:"sendEnd",value:function(e){var r;this.state.goEnd()&&(e=e||{},this.isAd()?(r=t.Events.AD_END,e.timeSinceAdRequested=this.state.timeSinceRequested.getDeltaTime(),e.timeSinceAdStarted=this.state.timeSinceStarted.getDeltaTime(),this.parentTracker&&(this.parentTracker.state.isPlaying=!0),this.state.stopAdsTime()):(r=t.Events.CONTENT_END,e.timeSinceRequested=this.state.timeSinceRequested.getDeltaTime(),e.timeSinceStarted=this.state.timeSinceStarted.getDeltaTime()),this.stopHeartbeat(),this.isAd()?this.sendVideoAdAction(r,e):this.sendVideoAction(r,e),this.parentTracker&&this.isAd()&&this.parentTracker.state.goLastAd(),this.state.goViewCountUp(),this.state.totalPlaytime=0,this.isAd()||(this.adsTracker&&this.adsTracker.state.clearTotalAdsTime(),this.state.resetViewIdTrackedState()))}},{key:"sendPause",value:function(e){if(this.state.goPause()){var r=this.isAd()?t.Events.AD_PAUSE:t.Events.CONTENT_PAUSE;this.isAd()?this.sendVideoAdAction(r,e):this.sendVideoAction(r,e)}}},{key:"sendResume",value:function(e){var r;this.state.goResume()&&(e=e||{},this.isAd()?(r=t.Events.AD_RESUME,e.timeSinceAdPaused=this.state.timeSincePaused.getDeltaTime()):(r=t.Events.CONTENT_RESUME,e.timeSincePaused=this.state.timeSincePaused.getDeltaTime()),this.isAd()?this.sendVideoAdAction(r,e):this.sendVideoAction(r,e))}},{key:"sendBufferStart",value:function(e){var r;this.state.goBufferStart()&&(e=e||{},r=this.isAd()?t.Events.AD_BUFFER_START:t.Events.CONTENT_BUFFER_START,e=this.buildBufferAttributes(e),this._lastBufferType=e.bufferType,this.isAd()?this.sendVideoAdAction(r,e):this.sendVideoAction(r,e))}},{key:"sendBufferEnd",value:function(e){var r;this.state.goBufferEnd()&&(e=e||{},this.isAd()?(r=t.Events.AD_BUFFER_END,e.timeSinceAdBufferBegin=this.state.timeSinceBufferBegin.getDeltaTime()):(r=t.Events.CONTENT_BUFFER_END,e.timeSinceBufferBegin=this.state.timeSinceBufferBegin.getDeltaTime()),e=this.buildBufferAttributes(e),null!=this._lastBufferType&&(e.bufferType=this._lastBufferType),this.isAd()?this.sendVideoAdAction(r,e):this.sendVideoAction(r,e),this.state.initialBufferingHappened=!0)}},{key:"buildBufferAttributes",value:function(e){return null==e.timeSinceStarted||e.timeSinceStarted<100?e.isInitialBuffering=!this.state.initialBufferingHappened:e.isInitialBuffering=!1,e.bufferType=this.state.calculateBufferType(e.isInitialBuffering),e.timeSinceResumed=this.state.timeSinceResumed.getDeltaTime(),e.timeSinceSeekEnd=this.state.timeSinceSeekEnd.getDeltaTime(),e}},{key:"sendSeekStart",value:function(e){var r;this.state.goSeekStart()&&(r=this.isAd()?t.Events.AD_SEEK_START:t.Events.CONTENT_SEEK_START,this.isAd()?this.sendVideoAdAction(r,e):this.sendVideoAction(r,e))}},{key:"sendSeekEnd",value:function(e){var r;this.state.goSeekEnd()&&(e=e||{},this.isAd()?(r=t.Events.AD_SEEK_END,e.timeSinceAdSeekBegin=this.state.timeSinceSeekBegin.getDeltaTime()):(r=t.Events.CONTENT_SEEK_END,e.timeSinceSeekBegin=this.state.timeSinceSeekBegin.getDeltaTime()),this.isAd()?this.sendVideoAdAction(r,e):this.sendVideoAction(r,e))}},{key:"sendDownload",value:function(e){(e=e||{}).state||i.default.warn("Called sendDownload without { state: xxxxx }."),this.sendVideoAction(t.Events.DOWNLOAD,e),this.state.goDownload()}},{key:"sendError",value:function(e){(e=e||{}).isAd=this.isAd(),this.state.goError();var r=this.isAd()?t.Events.AD_ERROR:t.Events.CONTENT_ERROR;this.sendVideoErrorAction(r,e)}},{key:"sendRenditionChanged",value:function(e){var r;(e=e||{}).timeSinceLastRenditionChange=this.state.timeSinceLastRenditionChange.getDeltaTime(),e.shift=this.getRenditionShift(!0),r=this.isAd()?t.Events.AD_RENDITION_CHANGE:t.Events.CONTENT_RENDITION_CHANGE,this.isAd()?this.sendVideoAdAction(r,e):this.sendVideoAction(r,e),this.state.goRenditionChange()}},{key:"sendHeartbeat",value:function(e){if(this.state.isRequested){var r,n=this.getHeartbeat();this.state._hb=!0,n=this.adjustElapsedTimeForPause(n),this.isAd()?(r=t.Events.AD_HEARTBEAT,"bitmovin-ads"===this.getPlayerName()?this.sendVideoAdAction(r,e):this.sendVideoAdAction(r,l({elapsedTime:n},e))):(r=t.Events.CONTENT_HEARTBEAT,this.sendVideoAction(r,l({elapsedTime:n},e))),this.state.goHeartbeat()}}},{key:"adjustElapsedTimeForPause",value:function(e){return this.state._acc&&(e-=this.state._acc,this.state._acc=0),this.state.isPaused&&((e-=this.state.elapsedTime.getDeltaTime())<10&&(e=0),this.state.elapsedTime.start()),this.state._bufferAcc?(e-=this.state._bufferAcc,this.state._bufferAcc=0):this.state.isBuffering&&((e-=this.state.bufferElapsedTime.getDeltaTime())<5&&(e=0),this.state.bufferElapsedTime.start()),Math.max(0,e)}},{key:"sendAdBreakStart",value:function(e){this.isAd()&&this.state.goAdBreakStart()&&(this.state.totalAdPlaytime=0,this.parentTracker&&(this.parentTracker.state.isPlaying=!1),this.sendVideoAdAction(t.Events.AD_BREAK_START,e))}},{key:"sendAdBreakEnd",value:function(e){this.isAd()&&this.state.goAdBreakEnd()&&((e=e||{}).timeSinceAdBreakBegin=this.state.timeSinceAdBreakStart.getDeltaTime(),this.sendVideoAdAction(t.Events.AD_BREAK_END,e),this.parentTracker&&(this.parentTracker.state.isPlaying=!0),this.stopHeartbeat(),this.parentTracker&&this.isAd()&&this.parentTracker.state.goLastAd())}},{key:"sendAdQuartile",value:function(e){this.isAd()&&((e=e||{}).quartile||i.default.warn("Called sendAdQuartile without { quartile: xxxxx }."),e.timeSinceLastAdQuartile=this.state.timeSinceLastAdQuartile.getDeltaTime(),this.sendVideoAdAction(t.Events.AD_QUARTILE,e),this.state.goAdQuartile())}},{key:"sendAdClick",value:function(e){this.isAd()&&((e=e||{}).url||i.default.warn("Called sendAdClick without { url: xxxxx }."),this.sendVideoAdAction(t.Events.AD_CLICK,e))}}],n&&d(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(a.default);function g(e){e.type!==b.Events.AD_ERROR?this.sendVideoAdAction(e.type,e.data):this.sendVideoErrorAction(e.type,e.data)}b.Events={PLAYER_READY:"PLAYER_READY",DOWNLOAD:"DOWNLOAD",ERROR:"ERROR",CONTENT_REQUEST:"CONTENT_REQUEST",CONTENT_START:"CONTENT_START",CONTENT_END:"CONTENT_END",CONTENT_PAUSE:"CONTENT_PAUSE",CONTENT_RESUME:"CONTENT_RESUME",CONTENT_SEEK_START:"CONTENT_SEEK_START",CONTENT_SEEK_END:"CONTENT_SEEK_END",CONTENT_BUFFER_START:"CONTENT_BUFFER_START",CONTENT_BUFFER_END:"CONTENT_BUFFER_END",CONTENT_HEARTBEAT:"CONTENT_HEARTBEAT",CONTENT_RENDITION_CHANGE:"CONTENT_RENDITION_CHANGE",CONTENT_ERROR:"CONTENT_ERROR",AD_REQUEST:"AD_REQUEST",AD_START:"AD_START",AD_END:"AD_END",AD_PAUSE:"AD_PAUSE",AD_RESUME:"AD_RESUME",AD_SEEK_START:"AD_SEEK_START",AD_SEEK_END:"AD_SEEK_END",AD_BUFFER_START:"AD_BUFFER_START",AD_BUFFER_END:"AD_BUFFER_END",AD_HEARTBEAT:"AD_HEARTBEAT",AD_RENDITION_CHANGE:"AD_RENDITION_CHANGE",AD_ERROR:"AD_ERROR",AD_BREAK_START:"AD_BREAK_START",AD_BREAK_END:"AD_BREAK_END",AD_QUARTILE:"AD_QUARTILE",AD_CLICK:"AD_CLICK"},t.default=b}},t={};function r(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}var n={};return(()=>{var e=n;e.default=void 0;var t=m(r(399)),i=m(r(51)),a=m(r(455)),o=m(r(144)),s=m(r(568)),u=m(r(302)),c=m(r(793)),l=m(r(328)),f=r(431),d=r(413),h=r(28),y=r(374),v=r(449),p=r(330);function m(e){return e&&e.__esModule?e:{default:e}}var b={Constants:i.default,Chrono:a.default,Log:o.default,Emitter:s.default,Tracker:u.default,VideoTracker:c.default,VideoTrackerState:l.default,Core:t.default,version:p.version,NrVideoEventAggregator:f.NrVideoEventAggregator,RetryQueueHandler:d.RetryQueueHandler,OptimizedHttpClient:h.OptimizedHttpClient,HarvestScheduler:y.HarvestScheduler,recordEvent:v.recordEvent};e.default=b})(),n.default})());
2
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.nrvideo=e():t.nrvideo=e()}(self,()=>(()=>{"use strict";var t={28(t,e,r){r.d(e,{X:()=>v});var n=r(347),i=r(144);function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function s(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?o(Object(r),!0).forEach(function(e){u(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function u(t,e,r){return(e=y(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function c(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function a(r,n,i,a){var u=n&&n.prototype instanceof s?n:s,c=Object.create(u.prototype);return l(c,"_invoke",function(r,n,i){var a,s,u,c=0,l=i||[],f=!1,h={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return a=e,s=0,u=t,h.n=r,o}};function d(r,n){for(s=r,u=n,e=0;!f&&c&&!i&&e<l.length;e++){var i,a=l[e],d=h.p,y=a[2];r>3?(i=y===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=d&&((i=r<2&&d<a[1])?(s=0,h.v=n,h.n=a[1]):d<y&&(i=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,h.n=y,s=0))}if(i||r>1)return o;throw f=!0,n}return function(i,l,y){if(c>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),s=l,u=y;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(h.n=-1),d(s,u)):h.n=u:h.v=u);try{if(c=2,a){if(s||(i="next"),e=a[i]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=t}else if((e=(f=h.n<0)?u:r.call(n,h))!==o)break}catch(e){a=t,s=1,u=e}finally{c=1}}return{value:e,done:f}}}(r,i,a),!0),c}var o={};function s(){}function u(){}function f(){}e=Object.getPrototypeOf;var h=[][n]?e(e([][n]())):(l(e={},n,function(){return this}),e),d=f.prototype=s.prototype=Object.create(h);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,l(t,i,"GeneratorFunction")),t.prototype=Object.create(d),t}return u.prototype=f,l(d,"constructor",f),l(f,"constructor",u),u.displayName="GeneratorFunction",l(f,i,"GeneratorFunction"),l(d),l(d,i,"Generator"),l(d,n,function(){return this}),l(d,"toString",function(){return"[object Generator]"}),(c=function(){return{w:a,m:y}})()}function l(t,e,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}l=function(t,e,r,n){function a(e,r){l(t,e,function(t){return this._invoke(e,r,t)})}e?i?i(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},l(t,e,r,n)}function f(t,e,r,n,i,a,o){try{var s=t[a](o),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,i)}function h(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var a=t.apply(e,r);function o(t){f(a,n,i,o,s,"next",t)}function s(t){f(a,n,i,o,s,"throw",t)}o(void 0)})}}function d(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,y(n.key),n)}}function y(t){var e=function(t){if("object"!=a(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=a(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==a(e)?e:e+""}var v=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)},e=[{key:"send",value:(u=h(c().m(function t(e,r){var n,a,o,s,u,l;return c().w(function(t){for(;;)switch(t.p=t.n){case 0:if(n=e.url,a=e.payload,o=e.options,s=void 0===o?{}:o,t.p=1,n&&a){t.n=2;break}throw new Error("URL and payload are required");case 2:return u={url:n,payload:a,options:s,callback:r},t.n=3,this.executeRequest(u);case 3:t.n=5;break;case 4:t.p=4,l=t.v,i.A.error("Failed to send request:",l.message),r({retry:!1,status:0,error:l.message});case 5:return t.a(2)}},t,this,[[1,4]])})),function(t,e){return u.apply(this,arguments)})},{key:"executeRequest",value:(o=h(c().m(function t(e){var r,n,i,a,o,s,u,l,f,h,d;return c().w(function(t){for(;;)switch(t.p=t.n){case 0:if(r=e.url,n=e.payload,i=e.options,e.callback,a=Date.now(),t.p=1,o=JSON.stringify(n.body),!i.isFinalHarvest||!navigator.sendBeacon){t.n=3;break}return t.n=2,this.sendWithBeacon(r,o);case 2:return s=t.v,u={success:s,status:s?204:0},this.handleRequestComplete(e,u,a),t.a(2);case 3:return t.n=4,this.fetchWithTimeout(r,{method:"POST",body:o,headers:{"Content-Type":"application/json"},keepalive:i.isFinalHarvest},1e4);case 4:l=t.v,f={success:l.ok,status:l.status,statusText:l.statusText},this.handleRequestComplete(e,f,a),t.n=6;break;case 5:t.p=5,d=t.v,h={success:!1,status:0,error:d.message},this.handleRequestComplete(e,h,a);case 6:return t.a(2)}},t,this,[[1,5]])})),function(t){return o.apply(this,arguments)})},{key:"handleRequestComplete",value:function(t,e){(0,t.callback)({retry:!e.success&&(0===e.status||(0,n.Sc)(e.status)),status:e.status,error:e.error})}},{key:"sendWithBeacon",value:(a=h(c().m(function t(e,r){var n;return c().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.a(2,navigator.sendBeacon(e,r));case 1:return t.p=1,n=t.v,i.A.warn("sendBeacon failed, falling back to fetch:",n.message),t.a(2,!1)}},t,null,[[0,1]])})),function(t,e){return a.apply(this,arguments)})},{key:"fetchWithTimeout",value:(r=h(c().m(function t(e,r,n){var i,a,o,u;return c().w(function(t){for(;;)switch(t.p=t.n){case 0:return i=new AbortController,a=setTimeout(function(){return i.abort()},n),t.p=1,t.n=2,fetch(e,s(s({},r),{},{signal:i.signal}));case 2:return o=t.v,clearTimeout(a),t.a(2,o);case 3:if(t.p=3,u=t.v,clearTimeout(a),"AbortError"!==u.name){t.n=4;break}throw new Error("Request timeout after ".concat(n,"ms"));case 4:throw u;case 5:return t.a(2)}},t,null,[[1,3]])})),function(t,e,n){return r.apply(this,arguments)})}],e&&d(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,r,a,o,u}()},51(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,o(n.key),n)}}function a(t,e,r){return e&&i(t.prototype,e),r&&i(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function o(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}r.d(e,{A:()=>u});var s=a(function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)});s.AdPositions={PRE:"pre",MID:"mid",POST:"post"},s.COLLECTOR={US:["bam.nr-data.net","bam-cell.nr-data.net"],EU:"bam.eu01.nr-data.net",Staging:"staging-bam-cell.nr-data.net",GOV:"gov-bam.nr-data.net"},s.VALID_EVENT_TYPES=["VideoAction","VideoAdAction","VideoErrorAction","VideoCustomAction"],s.MAX_PAYLOAD_SIZE=1048576,s.MAX_BEACON_SIZE=61440,s.MAX_EVENTS_PER_BATCH=1e3,s.INTERVAL=1e4,s.QOE_KPI_KEYS=["startupTime","peakBitrate","averageBitrate","totalPlaytime","totalRebufferingTime","rebufferingRatio","hadStartupError","hadPlaybackError","numberOfErrors"],s.QOE_AGGREGATE_KEYS=["coreVersion","instrumentation.name","instrumentation.provider","instrumentation.version","isBackgroundEvent","playerName","playerVersion","src","viewId","viewSession","contentIsAutoplayed","contentIsMuted","contentRenditionHeight","contentRenditionWidth","contentSrc","numberOfVideos","pageUrl","trackerName","trackerVersion","contentDuration","contentPlayrate","contentPlayhead","contentPreload","elapsedTime","contentTitle","contentId","contentIsLive","deviceType","deviceGroup","deviceManufacturer","deviceModel","deviceName","deviceSize","deviceUuid","contentRenditionName","contentIsFullscreen","contentCdn","contentFps","asnOrganization","asnLongitude","asnLatitude","asn","timeSinceRequested","timeSinceStarted"];const u=s},144(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,a(n.key),n)}}function a(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}r.d(e,{A:()=>l});var o=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}return e=t,r=[{key:"error",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];s(r,t.Levels.ERROR,"darkred")}},{key:"warn",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];s(r,t.Levels.WARNING,"darkorange")}},{key:"notice",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];s([].slice.call(arguments),t.Levels.NOTICE,"darkcyan")}},{key:"debug",value:function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];s(r,t.Levels.DEBUG,"indigo")}},{key:"debugCommonVideoEvents",value:function(e,r,n){try{if(t.level<=t.Levels.DEBUG){n=n||function(e){t.debug("Event: "+e.type)};var i=["canplay","buffering","waiting","ended","play","playing","pause","resume","error","abort","seek","seeking","seeked","stalled","dispose","loadeddata","loadstart","loadedmetadata"];r&&(null===r[0]?(r.shift(),i=r):i=i.concat(r));for(var a=0;a<i.length;a++)"function"==typeof e?e.call(window,i[a],n):e.on?e.on(i[a],n):e.addEventListener?e.addEventListener(i[a],n):e.addEventHandler?e.addEventHandler(i[a],n):t.warn("debugCommonVideoEvents: No common listener function found for ",e)}}catch(e){t.warn(e)}}}],null&&i(e.prototype,null),r&&i(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,r}();function s(t,e,r){e=e||o.Levels.NOTICE,r=r||"darkcyan";var n,i,a=o.prefix;o.includeTime&&(a+="["+("0"+(n=new Date).getDate()).slice(-2)+":"+("0"+n.getMinutes()).slice(-2)+":"+("0"+n.getSeconds()).slice(-2)+"."+("00"+n.getMilliseconds()).slice(-3)+"] "),a+=function(t){return c[t]}(e)+":",o.level<=e&&e!==o.Levels.SILENT&&(!o.colorful||"undefined"!=typeof document&&document.documentMode?u(t,a):(i=e===o.Levels.ERROR&&console.error?console.error:e===o.Levels.WARNING&&console.warn?console.warn:e===o.Levels.DEBUG&&console.debug&&null==window.cast?console.debug:console.log,a="%c"+a,t.splice(0,0,a,"color: "+r),i.apply(console,t)))}function u(t,e){if(t instanceof Array)for(var r in t)u(t[r],e);else"string"==typeof t?console.log(e+" "+t):(console.log(e+"↵"),console.log(t))}o.Levels={SILENT:5,ERROR:4,WARNING:3,NOTICE:2,DEBUG:1,ALL:0},o.level=o.Levels.ERROR,o.colorful=!0,o.includeTime=!0,o.prefix="[nrvideo]";var c={4:"e",3:"w",2:"n",1:"d"};!function(){if("undefined"!=typeof window&&window.location&&window.location.search){var t=/\?.*&*nrvideo-debug=(.+)/i.exec(window.location.search);null!==t&&("true"===t[1]?o.level=o.Levels.ALL:o.level=t[1]),null!==/\?.*&*nrvideo-colors=false/i.exec(window.location.search)&&(o.colorful=!1)}}();const l=o},302(t,e,r){r.d(e,{A:()=>m});var n=r(330),i=r(568),a=r(455),o=r(51),s=r(487),u=r(144);function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}function l(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,f(n.key),n)}}function f(t){var e=function(t){if("object"!=c(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=c(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==c(e)?e:e+""}function h(t,e,r){return e=y(e),function(t,e){if(e&&("object"==c(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,d()?Reflect.construct(e,r||[],y(t).constructor):e.apply(t,r))}function d(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(d=function(){return!!t})()}function y(t){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},y(t)}function v(t,e){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},v(t,e)}var p=function(t){function e(t){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(r=h(this,e)).customData={},r.heartbeat=null,r.parentTracker=null,r._trackerReadyChrono=new a.A,r._trackerReadyChrono.start(),r._actionTable=o.A.ACTION_TABLE,r._actionAdTable=o.A.ACTION_AD_TABLE,t=t||{},r.setOptions(t),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&v(t,e)}(e,t),r=e,(i=[{key:"setOptions",value:function(t){t&&(t.parentTracker&&(this.parentTracker=t.parentTracker),t.customData&&(this.customData=t.customData),t.heartbeat&&(this.heartbeat=t.heartbeat))}},{key:"dispose",value:function(){this.unregisterListeners()}},{key:"registerListeners",value:function(){}},{key:"unregisterListeners",value:function(){}},{key:"getHeartbeat",value:function(){return this.state._isAd?2e3:this.heartbeat?this.heartbeat:this.parentTracker&&this.parentTracker.heartbeat?this.parentTracker.heartbeat:3e4}},{key:"startHeartbeat",value:function(){this._heartbeatInterval=setInterval(this.sendHeartbeat.bind(this),Math.max(this.getHeartbeat(),2e3))}},{key:"stopHeartbeat",value:function(){this._heartbeatInterval&&clearInterval(this._heartbeatInterval)}},{key:"sendHeartbeat",value:function(t){this.sendVideoAction(e.Events.HEARTBEAT,t)}},{key:"getAttributes",value:function(t,e){for(var r in(t=t||{}).trackerName=this.getTrackerName(),t.trackerVersion=this.getTrackerVersion(),t.coreVersion=n.rE,t.timeSinceTrackerReady=this._trackerReadyChrono.getDeltaTime(),this.customData)t[r]=this.customData[r];return null!=document.hidden&&(t.isBackgroundEvent=document.hidden),t}},{key:"getTrackerVersion",value:function(){return n.rE}},{key:"getTrackerName",value:function(){return"base-tracker"}},{key:"sendVideoAction",value:function(t,e){this.emit("VideoAction",t,this.getAttributes(e))}},{key:"sendVideoAdAction",value:function(t,e){this.emit("VideoAdAction",t,this.getAttributes(e))}},{key:"sendVideoErrorAction",value:function(t,e){var r=this.isAd()?"adError":"videoError";this.emit("VideoErrorAction",t,this.getAttributes(e,r))}},{key:"sendVideoCustomAction",value:function(t,e){this.emit("VideoCustomAction",t,this.getAttributes(e,"customAction"))}},{key:"setHarvestInterval",value:function(t){if(s.videoAnalyticsHarvester)try{s.videoAnalyticsHarvester.setHarvestInterval(t)}catch(t){return void u.A.error("Failed to set harvest interval:",t.message)}else u.A.error("VideoAnalyticsHarvester is not available")}}])&&l(r.prototype,i),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,i}(i.A);p.Events={HEARTBEAT:"HEARTBEAT",QOE_AGGREGATE:"QOE_AGGREGATE"};const m=p},330(t){t.exports={rE:"4.1.2"}},347(t,e,r){r.d(e,{Q3:()=>s,Sc:()=>u,c$:()=>o,z8:()=>c});var n=r(330),i=r(144);function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function o(t){try{if(!window.NRVIDEO||!window.NRVIDEO.info)throw new Error("NRVIDEO info is not available.");var e=window.NRVIDEO.info,r=e.beacon,i=e.licenseKey,a=e.applicationID;if(!r||!i)throw new Error("Options object provided by New Relic is not correctly initialized");return a?"https://".concat(t||r,"/ins/1/").concat(i,"?a=").concat(a,"&v=").concat(n.rE,"&ref=").concat(window.location.href,"&ca=VA"):"https://".concat(t||r,"/ins/1/").concat(i,"?&v=").concat(n.rE,"&ref=").concat(window.location.href,"&ca=VA")}catch(t){return console.error(t.message),null}}function s(t){if("string"==typeof t&&t.length)return t.length;if("object"===a(t)){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return function(t){try{var e;return null!==(e=JSON.stringify(t,(r=new WeakSet,function(t,e){if("object"===a(e)&&null!==e){if(r.has(e))return;r.add(e)}return e})))&&void 0!==e?e:""}catch(t){return i.A.error("Error stringifying value:",t.message),""}var r}(t).length}catch(t){return}}}function u(t){switch(t){case 408:case 429:case 500:return!0;case 401:case 403:case 404:return!1}return t>=502&&t<=504||t>=512&&t<=530}function c(t,e){return t&&Array.isArray(t)&&0!==t.length?e&&"object"===a(e)?t.reduce(function(t,r){return r in e&&(t[r]=e[r]),t},{}):{}:e}},374(t,e,r){r.d(e,{n:()=>k});var n=r(431),i=r(413),a=r(28),o=r(347),s=r(51),u=r(302),c=r(144);function l(t){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(t)}function f(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function h(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?f(Object(r),!0).forEach(function(e){d(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function d(t,e,r){return(e=T(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function y(t){return function(t){if(Array.isArray(t))return m(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||p(t)||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 v(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=p(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return o=t.done,t},e:function(t){s=!0,a=t},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}function p(t,e){if(t){if("string"==typeof t)return m(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?m(t,e):void 0}}function m(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function b(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function a(r,n,i,a){var u=n&&n.prototype instanceof s?n:s,c=Object.create(u.prototype);return g(c,"_invoke",function(r,n,i){var a,s,u,c=0,l=i||[],f=!1,h={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return a=e,s=0,u=t,h.n=r,o}};function d(r,n){for(s=r,u=n,e=0;!f&&c&&!i&&e<l.length;e++){var i,a=l[e],d=h.p,y=a[2];r>3?(i=y===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=d&&((i=r<2&&d<a[1])?(s=0,h.v=n,h.n=a[1]):d<y&&(i=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,h.n=y,s=0))}if(i||r>1)return o;throw f=!0,n}return function(i,l,y){if(c>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),s=l,u=y;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(h.n=-1),d(s,u)):h.n=u:h.v=u);try{if(c=2,a){if(s||(i="next"),e=a[i]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=t}else if((e=(f=h.n<0)?u:r.call(n,h))!==o)break}catch(e){a=t,s=1,u=e}finally{c=1}}return{value:e,done:f}}}(r,i,a),!0),c}var o={};function s(){}function u(){}function c(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(g(e={},n,function(){return this}),e),f=c.prototype=s.prototype=Object.create(l);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,c):(t.__proto__=c,g(t,i,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=c,g(f,"constructor",c),g(c,"constructor",u),u.displayName="GeneratorFunction",g(c,i,"GeneratorFunction"),g(f),g(f,i,"Generator"),g(f,n,function(){return this}),g(f,"toString",function(){return"[object Generator]"}),(b=function(){return{w:a,m:h}})()}function g(t,e,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}g=function(t,e,r,n){function a(e,r){g(t,e,function(t){return this._invoke(e,r,t)})}e?i?i(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},g(t,e,r,n)}function A(t,e,r,n,i,a,o){try{var s=t[a](o),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,i)}function S(t){return function(){var e=this,r=arguments;return new Promise(function(n,i){var a=t.apply(e,r);function o(t){A(a,n,i,o,s,"next",t)}function s(t){A(a,n,i,o,s,"throw",t)}o(void 0)})}}function E(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,T(n.key),n)}}function T(t){var e=function(t){if("object"!=l(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==l(e)?e:e+""}var k=function(){return t=function t(e){var r=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.eventBuffer=e,this.retryQueueHandler=new i.u,this.httpClient=new a.X,this.fallBackUrl="",this.retryCount=0,this.eventBuffer instanceof n.t&&this.eventBuffer.setSmartHarvestCallback(function(t,e){return r.triggerSmartHarvest(t,e)}),this.isStarted=!1,this.currentTimerId=null,this.harvestCycle=s.A.INTERVAL,this.isHarvesting=!1,this.qoeCycleCount=1,this.forceNextQoeCycle=!1,this.beforeDrainCallback=null,this._lastSentQoeKpis=null,this.setupPageLifecycleHandlers()},e=[{key:"startScheduler",value:function(){this.isStarted?c.A.warn("Harvest scheduler is already started"):(this.isStarted=!0,c.A.notice("Starting harvest scheduler",{harvestCycle:this.harvestCycle,eventBufferSize:this.eventBuffer?this.eventBuffer.size():0}),this.scheduleNextHarvest())}},{key:"stopScheduler",value:function(){this.isStarted&&(this.isStarted=!1,this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),c.A.notice("Harvest scheduler stopped"))}},{key:"triggerSmartHarvest",value:(d=S(b().m(function t(e,r){var n;return b().w(function(t){for(;;)switch(t.p=t.n){case 0:if(c.A.notice("".concat(e," harvest triggered at ").concat(r,"% threshold"),{type:e,threshold:r}),this.eventBuffer&&!this.eventBuffer.isEmpty()){t.n=1;break}return t.a(2);case 1:return this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),t.p=2,t.n=3,this.triggerHarvest({});case 3:t.n=5;break;case 4:t.p=4,n=t.v,c.A.error("".concat(e," harvest failed:"),n.message);case 5:return t.p=5,this.isStarted&&this.scheduleNextHarvest(),t.f(5);case 6:return t.a(2)}},t,this,[[2,4,5,6]])})),function(t,e){return d.apply(this,arguments)})},{key:"scheduleNextHarvest",value:function(){var t=this;if(this.isStarted){var e=this.harvestCycle;this.currentTimerId=setTimeout(function(){return t.onHarvestInterval()},e)}}},{key:"onHarvestInterval",value:(f=S(b().m(function t(){var e,r,n;return b().w(function(t){for(;;)switch(t.p=t.n){case 0:if(t.p=0,e=this.eventBuffer&&!this.eventBuffer.isEmpty(),r=this.retryQueueHandler&&this.retryQueueHandler.getQueueSize()>0,e||r){t.n=1;break}return t.a(2);case 1:return t.n=2,this.triggerHarvest({});case 2:t.n=4;break;case 3:t.p=3,n=t.v,c.A.error("Error during scheduled harvest:",n.message);case 4:return t.p=4,this.scheduleNextHarvest(),t.f(4);case 5:return t.a(2)}},t,this,[[0,3,4,5]])})),function(){return f.apply(this,arguments)})},{key:"triggerHarvest",value:(l=S(b().m(function t(){var e,r,n,i,a,u=arguments;return b().w(function(t){for(;;)switch(t.p=t.n){case 0:if(e=u.length>0&&void 0!==u[0]?u[0]:{},!this.isHarvesting){t.n=1;break}return t.a(2,{success:!1,reason:"harvest_in_progress"});case 1:return this.isHarvesting=!0,t.p=2,r=this.drainEvents(e),e.isFinalHarvest&&(n=s.A.MAX_BEACON_SIZE,(0,o.Q3)(r)>n&&(r=this.trimEventsToFit(r,n))),t.n=3,this.sendChunk(r,e,!0);case 3:return i=t.v,t.a(2,{success:i.success,totalChunks:1,results:[i]});case 4:return t.p=4,a=t.v,c.A.error("Harvest cycle failed:",a.message),this.handleHarvestFailure(a),t.a(2,{success:!1,error:a.message,consecutiveFailures:this.consecutiveFailures});case 5:return t.p=5,this.isHarvesting=!1,t.f(5);case 6:return t.a(2)}},t,this,[[2,4,5,6]])})),function(){return l.apply(this,arguments)})},{key:"trimEventsToFit",value:function(t,e){if(0===t.length)return t;for(var r=[],n=0,i=t.length-1;i>=0;i--){var a=t[i],s=(0,o.Q3)({ins:[a].concat(r)});s>e||(r.unshift(a),n=s)}var u=t.length-r.length;if(u>0){var l=t.slice(0,u);c.A.warn("Discarded ".concat(u," events to fit beacon size limit"),{originalCount:t.length,trimmedCount:r.length,finalSize:n,maxSize:e}),this.retryQueueHandler&&this.retryQueueHandler.addFailedEvents(l)}return r}},{key:"drainEvents",value:function(){var t,e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null!==(t=null===(e=window.NRVIDEO)||void 0===e||null===(e=e.config)||void 0===e?void 0:e.qoeIntervalFactor)&&void 0!==t?t:1,i=!!r.isFinalHarvest||this.forceNextQoeCycle,a=(this.qoeCycleCount-1)%n==0||i;if(this.forceNextQoeCycle&&(this.forceNextQoeCycle=!1),this.beforeDrainCallback&&"function"==typeof this.beforeDrainCallback)try{this.beforeDrainCallback()}catch(p){c.A.error("Before drain callback failed:",p.message)}var l,f=this.eventBuffer.drain();if(a)l=f;else{l=[];var h,d=v(f);try{for(d.s();!(h=d.n()).done;){var p=h.value;p.actionName===u.A.Events.QOE_AGGREGATE?this.eventBuffer.add(p):l.push(p)}}catch(t){d.e(t)}finally{d.f()}}this.qoeCycleCount++;for(var m=l.length-1;m>=0;m--){var b=l[m];b.actionName===u.A.Events.QOE_AGGREGATE&&(!i&&this._qoeKpisUnchanged(b)?l.splice(m,1):this._saveQoeKpis(b))}var g=y(l),A=(0,o.Q3)(l);if(this.retryQueueHandler&&this.retryQueueHandler.getQueueSize()>0){var S=s.A.MAX_PAYLOAD_SIZE-A,E=s.A.MAX_EVENTS_PER_BATCH-g.length;if(S>0&&E>0){var T=this.retryQueueHandler.getRetryEventsToFit(S,E);T.length>0&&(g=[].concat(y(T),y(g)))}}return g}},{key:"sendChunk",value:(r=S(b().m(function t(e,r,n){var i,a,s=this;return b().w(function(t){for(;;)if(0===t.n)return i=(0,o.c$)(this.fallBackUrl),a={url:i,payload:{body:{ins:e}},options:h(h({},r),{},{isLastChunk:n})},t.a(2,new Promise(function(t){s.httpClient.send(a,function(r){r.retry?s.handleRequestFailure(e):(s.retryCount=0,s.fallBackUrl=""),t({success:!r.retry,status:r.status,error:r.error,chunk:e,eventCount:e.length})})}))},t,this)})),function(t,e,n){return r.apply(this,arguments)})},{key:"handleRequestFailure",value:function(t){var e;this.retryQueueHandler.addFailedEvents(t),"US"===(null===(e=window.NRVIDEO)||void 0===e||null===(e=e.info)||void 0===e?void 0:e.region)&&(this.retryCount++,this.retryCount>5?(this.retryCount=0,this.fallBackUrl=""):this.retryCount>=2&&(this.fallBackUrl=s.A.COLLECTOR.US[1]))}},{key:"handleHarvestFailure",value:function(t){this.consecutiveFailures++,c.A.warn("Harvest failure handled",{error:t.message,consecutiveFailures:this.consecutiveFailures})}},{key:"updateHarvestInterval",value:function(t){"number"!=typeof t&&isNaN(t)?c.A.warn("Invalid newInterval provided to updateHarvestInterval"):t<1e3||t>3e5?c.A.warn("newInterval out of bounds (1000-300000), ignoring"):this.harvestCycle!==t&&(this.harvestCycle=t,c.A.notice("Updated harvestCycle:",this.harvestCycle),this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),this.isStarted&&this.scheduleNextHarvest())}},{key:"setupPageLifecycleHandlers",value:function(){var t=this,e=!1,r=function(){e||(e=!0,t.triggerHarvest({isFinalHarvest:!0,force:!0}))};document.addEventListener("visibilitychange",function(){document.hidden&&r()}),window.addEventListener("pagehide",function(){r()}),window.addEventListener("beforeunload",function(){r()})}},{key:"_qoeKpisUnchanged",value:function(t){if(!this._lastSentQoeKpis)return!1;var e,r=v(s.A.QOE_KPI_KEYS);try{for(r.s();!(e=r.n()).done;){var n=e.value;if(t[n]!==this._lastSentQoeKpis[n])return!1}}catch(t){r.e(t)}finally{r.f()}return!0}},{key:"_saveQoeKpis",value:function(t){this._lastSentQoeKpis={};var e,r=v(s.A.QOE_KPI_KEYS);try{for(r.s();!(e=r.n()).done;){var n=e.value;this._lastSentQoeKpis[n]=t[n]}}catch(t){r.e(t)}finally{r.f()}}}],e&&E(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,r,l,f,d}()},413(t,e,r){r.d(e,{u:()=>v});var n=r(144),i=r(347),a=r(51);function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function u(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(Object(r),!0).forEach(function(e){c(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function c(t,e,r){return(e=h(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function f(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,h(n.key),n)}}function h(t){var e=function(t){if("object"!=o(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==o(e)?e:e+""}var d=a.A.MAX_PAYLOAD_SIZE,y=a.A.MAX_EVENTS_PER_BATCH,v=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.retryQueue=[],this.maxQueueSize=y,this.maxQueueSizeBytes=d},(e=[{key:"addFailedEvents",value:function(t){try{var e=Array.isArray(t)?t:[t];n.A.notice("Adding ".concat(e.length," failed events to retry queue"),{queueSizeBefore:this.retryQueue.length});var r,a=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return l(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return o=t.done,t},e:function(t){s=!0,a=t},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(e);try{for(a.s();!(r=a.n()).done;){var o=r.value;this.retryQueue.length>=this.maxQueueSize&&this.evictOldestEvent();for(var s=(0,i.Q3)(o);(0,i.Q3)(this.retryQueue)+s>this.maxQueueSizeBytes;)this.evictOldestEvent();this.retryQueue.push(u({},o))}}catch(t){a.e(t)}finally{a.f()}}catch(t){n.A.error("Failed to add events to retry queue:",t.message)}}},{key:"discardEvent",value:function(t,e){n.A.warn("Discarded event",{reason:e,eventType:t.eventType})}},{key:"evictOldestEvent",value:function(){if(this.retryQueue.length>0){var t=this.retryQueue.shift();this.discardEvent(t,"Queue full - evicted oldest")}}},{key:"getRetryEventsToFit",value:function(t,e){for(var r=[],n=0,a=0,o=this.retryQueue.length-1;o>=0;o--){var s=this.retryQueue[o];if(a>=e)break;var u=(0,i.Q3)(s);if(n+u>t)break;r.unshift(s),n+=u,a++,this.retryQueue.splice(o,1)}return r}},{key:"getQueueSize",value:function(){return this.retryQueue.length}},{key:"clear",value:function(){this.retryQueue=[]}}])&&f(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}()},431(t,e,r){r.d(e,{t:()=>f});var n=r(144),i=r(51),a=r(347);function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function s(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,u(n.key),n)}}function u(t){var e=function(t){if("object"!=o(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==o(e)?e:e+""}var c=i.A.MAX_PAYLOAD_SIZE,l=i.A.MAX_EVENTS_PER_BATCH,f=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.buffer=[],this.maxPayloadSize=c,this.maxEventsPerBatch=l,this.currentPayloadSize=0,this.totalEvents=0,this.smartHarvestPayloadThreshold=Math.floor(.6*this.maxPayloadSize),this.overflowPayloadThreshold=Math.floor(.9*this.maxPayloadSize),this.smartHarvestEventThreshold=Math.floor(.6*this.maxEventsPerBatch),this.overflowEventThreshold=Math.floor(.9*this.maxEventsPerBatch),this.onSmartHarvestTrigger=null},e=[{key:"addOrReplaceByActionName",value:function(t,e){var r=this.buffer.findIndex(function(e){return e.actionName===t});try{return-1===r?this.add(e):this.add(e,r),!0}catch(t){return n.A.error("Failed to set or replace the event to buffer:",t.message),!1}}},{key:"findByActionName",value:function(t){return this.buffer.find(function(e){return e.actionName===t})||null}},{key:"add",value:function(t,e){try{var r=(0,a.Q3)(t),i=this.currentPayloadSize+r>=this.maxPayloadSize,o=this.totalEvents+1>=this.maxEventsPerBatch;if((i||o)&&this.makeRoom(r),null!=e&&e>-1){var s=(0,a.Q3)(this.buffer[e]);this.buffer[e]=t,this.currentPayloadSize+=r-s}else this.buffer.push(t),this.totalEvents++,this.currentPayloadSize+=r;return this.checkSmartHarvestTrigger(),!0}catch(t){return n.A.error("Failed to add event to buffer:",t.message),!1}}},{key:"checkSmartHarvestTrigger",value:function(){var t=this.currentPayloadSize/this.maxPayloadSize,e=this.totalEvents/this.maxEventsPerBatch,r=this.currentPayloadSize>=this.overflowPayloadThreshold,i=this.totalEvents>=this.overflowEventThreshold;if(r||i){var a=r?"payload ".concat(this.currentPayloadSize,"/").concat(this.maxPayloadSize," bytes (").concat(Math.round(100*t),"%)"):"events ".concat(this.totalEvents,"/").concat(this.maxEventsPerBatch," (").concat(Math.round(100*e),"%)");n.A.warn("OVERFLOW PREVENTION: ".concat(a," - Emergency harvest triggered")),this.onSmartHarvestTrigger&&"function"==typeof this.onSmartHarvestTrigger&&this.onSmartHarvestTrigger("overflow",90)}else{var o=this.currentPayloadSize>=this.smartHarvestPayloadThreshold,s=this.totalEvents>=this.smartHarvestEventThreshold;(o||s)&&this.onSmartHarvestTrigger&&"function"==typeof this.onSmartHarvestTrigger&&this.onSmartHarvestTrigger("smart",60)}}},{key:"setSmartHarvestCallback",value:function(t){this.onSmartHarvestTrigger=t}},{key:"drain",value:function(){try{var t=this.buffer.splice(0);return this.totalEvents=0,this.currentPayloadSize=0,t}catch(t){return n.A.error("Failed to drain events from buffer:",t.message),[]}}},{key:"isEmpty",value:function(){return 0===this.totalEvents}},{key:"size",value:function(){return this.totalEvents}},{key:"clear",value:function(){this.buffer=[],this.totalEvents=0}},{key:"makeRoom",value:function(t){if(t>this.maxPayloadSize)n.A.error("Event dropped: Event size exceeds maximum payload size.");else for(;(this.totalEvents>=this.maxEventsPerBatch||this.currentPayloadSize+t>=this.maxPayloadSize)&&this.buffer.length>0;){var e=this.buffer.shift(),r=(0,a.Q3)(e);this.totalEvents--,this.currentPayloadSize-=r,n.A.warn("Event buffer full, oldest event removed.")}}}],e&&s(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}()},455(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,a(n.key),n)}}function a(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}r.d(e,{A:()=>s});var o=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.reset()}return e=t,r=[{key:"reset",value:function(){this.startTime=0,this.stopTime=0,this.accumulator=0,this.offset=0}},{key:"getDeltaTime",value:function(){return this.startTime?this.offset+((new Date).getTime()-this.startTime):null}},{key:"start",value:function(){this.startTime=(new Date).getTime(),this.stopTime=0}},{key:"stop",value:function(){return this.stopTime=(new Date).getTime(),this.startTime<this.stopTime&&(this.accumulator+=this.stopTime-this.startTime),this.getDeltaTime()}},{key:"getDuration",value:function(){return this.stopTime?this.accumulator+this.offset:this.accumulator+(null!==(t=this.getDeltaTime())&&void 0!==t?t:0);var t}},{key:"clone",value:function(){var e=new t;return e.startTime=this.startTime,e.stopTime=this.stopTime,e.offset=this.offset,e.accumulator=this.accumulator,e}}],r&&i(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,r}();const s=o},487(t,e,r){r.r(e),r.d(e,{videoAnalyticsHarvester:()=>v});var n=r(374),i=r(431),a=r(51),o=r(144),s=r(302);function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function l(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function f(t,e,r){return(e=d(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function h(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,d(n.key),n)}}function d(t){var e=function(t){if("object"!=u(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=u(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==u(e)?e:e+""}var y=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.isInitialized=!1,this.harvestScheduler=null,this.eventBuffer=null},e=[{key:"initialize",value:function(){if(this.isInitialized)o.A.warn("Video analytics agent already initialized");else try{this.eventBuffer=new i.t,this.harvestScheduler=new n.n(this.eventBuffer),this.harvestScheduler.startScheduler(),this.isInitialized=!0,o.A.notice("Video analytics agent initialized successfully")}catch(t){o.A.error("Failed to initialize video analytics agent:",t.message)}}},{key:"addEvent",value:function(t){this.isInitialized||(o.A.warn("Video analytics agent not initialized, initializing now"),this.initialize());try{return t.actionName&&t.actionName===s.A.Events.QOE_AGGREGATE?this.eventBuffer.addOrReplaceByActionName(s.A.Events.QOE_AGGREGATE,t):this.eventBuffer.add(t)}catch(t){return o.A.error("Failed to add event to harvesting system:",t.message),!1}}},{key:"setHarvestInterval",value:function(t){this.isInitialized||this.initialize(),this.harvestScheduler.updateHarvestInterval(t)}},{key:"forceNextQoeCycle",value:function(){this.harvestScheduler&&(this.harvestScheduler.forceNextQoeCycle=!0)}},{key:"setBeforeDrainCallback",value:function(t){this.harvestScheduler&&(this.harvestScheduler.beforeDrainCallback=t)}},{key:"refreshQoeKpis",value:function(t){if(this.eventBuffer&&t){var e=this.eventBuffer.findByActionName(s.A.Events.QOE_AGGREGATE);if(e){var r,n=function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?l(Object(r),!0).forEach(function(e){f(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},e),i=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return c(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return o=t.done,t},e:function(t){s=!0,a=t},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw a}}}}(a.A.QOE_KPI_KEYS);try{for(i.s();!(r=i.n()).done;){var o=r.value;o in t&&(n[o]=t[o])}}catch(t){i.e(t)}finally{i.f()}this.eventBuffer.addOrReplaceByActionName(s.A.Events.QOE_AGGREGATE,n)}}}}],e&&h(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}(),v=new y},568(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,a(n.key),n)}}function a(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}r.d(e,{A:()=>o});const o=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)},(e=[{key:"on",value:function(t,e){if(this._listeners=this._listeners||{},"function"==typeof e)return this._listeners[t]=this._listeners[t]||[],this._listeners[t].push(e),this}},{key:"off",value:function(t,e){if(this._listeners=this._listeners||{},this._listeners[t]){var r=this._listeners[t].indexOf(e);-1!==r&&this._listeners[t].splice(r,1)}return this}},{key:"emit",value:function(t,e,r){var n=this;return this._listeners=this._listeners||{},r=r||{},Array.isArray(this._listeners[e])&&this._listeners[e].forEach(function(i){i.call(n,{eventType:t,type:e,data:r,target:n})}),Array.isArray(this._listeners["*"])&&this._listeners["*"].forEach(function(i){i.call(n,{eventType:t,type:e,data:r,target:n})}),this}}])&&i(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}()}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,r),a.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};r.d(n,{default:()=>st});var i=r(144),a=r(487),o=r(51),s=r(302),u=r(347);function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}var l=["qoe"];function f(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function h(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?f(Object(r),!0).forEach(function(e){d(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function d(t,e,r){return(e=function(t){var e=function(t){if("object"!=c(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=c(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==c(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function y(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{var r,n;if(!o.A.VALID_EVENT_TYPES.includes(t))return i.A.warn("Invalid event type provided to recordEvent",{eventType:t}),!1;if(null===(r=window)||void 0===r||null===(r=r.NRVIDEO)||void 0===r||!r.info)return;var c=window.NRVIDEO.info,f=c.appName,d=c.applicationID,y=e.qoe,v=function(t,e){if(null==t)return{};var r,n,i=function(t,e){if(null==t)return{};var r={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==e.indexOf(n))continue;r[n]=t[n]}return r}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(n=0;n<a.length;n++)r=a[n],-1===e.indexOf(r)&&{}.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}(e,l),p=y?h({},y):{},m=h(h({},d?{}:{appName:f}),{},{timestamp:Date.now(),timeSinceLoad:window.performance?window.performance.now()/1e3:null}),b=h(h({},v),{},{eventType:t},m),g=(0,u.z8)(o.A.QOE_AGGREGATE_KEYS,e),A=null;"VideoAction"===t&&(A=h(h(h({eventType:"VideoAction",actionName:s.A.Events.QOE_AGGREGATE,qoeAggregateVersion:"1.0.0"},p),g),m));var S=a.videoAnalyticsHarvester.addEvent(b);if(A&&null!==(n=window)&&void 0!==n&&null!==(n=n.NRVIDEO)&&void 0!==n&&null!==(n=n.config)&&void 0!==n&&n.qoeAggregate){var E=a.videoAnalyticsHarvester.addEvent(A);return S&&E}return S}catch(t){return i.A.error("Failed to record event:",t.message),!1}}function v(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function p(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?v(Object(r),!0).forEach(function(e){m(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function m(t,e,r){return(e=A(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},b(t)}function g(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,A(n.key),n)}}function A(t){var e=function(t){if("object"!=b(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=b(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==b(e)?e:e+""}var S=o.A.COLLECTOR,E=new(function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)},(e=[{key:"setConfiguration",value:function(t,e){return!!this.validateRequiredFields(t)&&!!this.validateConfigFields(e)&&(this.initializeGlobalConfig(t,e),i.A.notice("Video analytics configuration initialized successfully"),!0)}},{key:"validateRequiredFields",value:function(t){if(!t||"object"!==b(t))return i.A.error("Configuration must be an object"),!1;var e=t.licenseKey,r=t.appName,n=t.region,a=t.applicationID,o=t.beacon;if(!e)return i.A.error("licenseKey is required"),!1;if(a){if(!o)return i.A.error("beacon is required when applicationID is provided"),!1;if(!Object.values(S).flatMap(function(t){return t}).includes(o))return i.A.error("Invalid beacon: ".concat(o)),!1}else{if(!r||!n)return i.A.error("appName and region are required when applicationID is not provided"),!1;if(!S[n])return i.A.error("Invalid region: ".concat(n,". Valid regions are: ").concat(Object.keys(S).join(", "))),!1}return!0}},{key:"validateConfigFields",value:function(t){if(null==t)return!0;if("object"!==b(t)||Array.isArray(t))return i.A.error("config must be an object"),!1;var e=t.qoeAggregate;return void 0===e||"boolean"==typeof e||(i.A.error("qoeAggregate must be a boolean"),!1)}},{key:"sanitizeQoeIntervalFactor",value:function(t){return null==t?1:"number"==typeof t&&Number.isInteger(t)&&t>=1?t:(console.warn('[nrvideo] Invalid qoeIntervalFactor "'.concat(t,'" — must be a positive integer. Defaulting to 1.')),1)}},{key:"initializeGlobalConfig",value:function(t,e){var r,n=t.licenseKey,i=t.appName,a=t.region,s=t.beacon,u=t.applicationID;s="US"===a?o.A.COLLECTOR.US[0]:s||S[a],window.NRVIDEO={info:p(p({},a?{region:a}:{}),{},{beacon:s,licenseKey:n,applicationID:u},u?{}:{appName:i}),config:{qoeAggregate:null!==(r=null==e?void 0:e.qoeAggregate)&&void 0!==r&&r,qoeIntervalFactor:this.sanitizeQoeIntervalFactor(null==e?void 0:e.qoeIntervalFactor)}}}}])&&g(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}());function T(t){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},T(t)}function k(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function a(r,n,i,a){var u=n&&n.prototype instanceof s?n:s,c=Object.create(u.prototype);return w(c,"_invoke",function(r,n,i){var a,s,u,c=0,l=i||[],f=!1,h={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return a=e,s=0,u=t,h.n=r,o}};function d(r,n){for(s=r,u=n,e=0;!f&&c&&!i&&e<l.length;e++){var i,a=l[e],d=h.p,y=a[2];r>3?(i=y===n)&&(u=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=d&&((i=r<2&&d<a[1])?(s=0,h.v=n,h.n=a[1]):d<y&&(i=r<3||a[0]>n||n>y)&&(a[4]=r,a[5]=n,h.n=y,s=0))}if(i||r>1)return o;throw f=!0,n}return function(i,l,y){if(c>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,y),s=l,u=y;(e=s<2?t:u)||!f;){a||(s?s<3?(s>1&&(h.n=-1),d(s,u)):h.n=u:h.v=u);try{if(c=2,a){if(s||(i="next"),e=a[i]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(u=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=t}else if((e=(f=h.n<0)?u:r.call(n,h))!==o)break}catch(e){a=t,s=1,u=e}finally{c=1}}return{value:e,done:f}}}(r,i,a),!0),c}var o={};function s(){}function u(){}function c(){}e=Object.getPrototypeOf;var l=[][n]?e(e([][n]())):(w(e={},n,function(){return this}),e),f=c.prototype=s.prototype=Object.create(l);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,c):(t.__proto__=c,w(t,i,"GeneratorFunction")),t.prototype=Object.create(f),t}return u.prototype=c,w(f,"constructor",c),w(c,"constructor",u),u.displayName="GeneratorFunction",w(c,i,"GeneratorFunction"),w(f),w(f,i,"Generator"),w(f,n,function(){return this}),w(f,"toString",function(){return"[object Generator]"}),(k=function(){return{w:a,m:h}})()}function w(t,e,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}w=function(t,e,r,n){function a(e,r){w(t,e,function(t){return this._invoke(e,r,t)})}e?i?i(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(a("next",0),a("throw",1),a("return",2))},w(t,e,r,n)}function O(t,e,r,n,i,a,o){try{var s=t[a](o),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,i)}function P(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function _(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?P(Object(r),!0).forEach(function(e){B(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function B(t,e,r){return(e=D(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function R(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,D(n.key),n)}}function D(t){var e=function(t){if("object"!=T(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=T(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==T(e)?e:e+""}var j=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)},e=[{key:"addTracker",value:function(t,e){var r,n;null!=e&&e.info&&(r=e.info,n=null==e?void 0:e.config,E.setConfiguration(r,n)),t.on&&t.emit?(N.push(t),t.on("*",C),"function"==typeof t.trackerInit&&t.trackerInit()):i.A.error("Tried to load a non-tracker.",t)}},{key:"removeTracker",value:function(t){t.off("*",C),t.dispose();var e=N.indexOf(t);-1!==e&&N.splice(e,1)}},{key:"getTrackers",value:function(){return N}},{key:"send",value:function(t,e,r){return y(t,_({actionName:e},r))}},{key:"sendError",value:function(t){return y("VideoErrorAction",_({actionName:"ERROR"},t))}},{key:"forceHarvest",value:(n=k().m(function t(){var e,n,a;return k().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,e=r(487),n=e.videoAnalyticsHarvester,t.n=1,n.forceHarvest();case 1:return t.a(2,t.v);case 2:return t.p=2,a=t.v,i.A.error("Failed to force harvest:",a.message),t.a(2,{success:!1,error:a.message})}},t,null,[[0,2]])}),a=function(){var t=this,e=arguments;return new Promise(function(r,i){var a=n.apply(t,e);function o(t){O(a,r,i,o,s,"next",t)}function s(t){O(a,r,i,o,s,"throw",t)}o(void 0)})},function(){return a.apply(this,arguments)})}],e&&R(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,n,a}(),N=[];function C(t){try{var e=function(t){var e={};for(var r in t)null!==t[r]&&void 0!==t[r]&&(e[r]=t[r]);return e}(t.data);i.A.level<=i.A.Levels.DEBUG?i.A.notice("Sent",t.type,e):i.A.notice("Sent",t.type),j.send(t.eventType,t.type,e)}catch(t){i.A.error("Error in event handler:",t.message)}}const I=j;var H=r(455),L=r(568);function V(t){return V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},V(t)}function Q(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,a,o,s=[],u=!0,c=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(s.push(n.value),s.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw i}}return s}}(t,e)||function(t,e){if(t){if("string"==typeof t)return F(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?F(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function x(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,G(n.key),n)}}function G(t){var e=function(t){if("object"!=V(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=V(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==V(e)?e:e+""}const q=function(){return t=function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.reset(),this._createdAt=Date.now(),this._hb=!0,this._acc=0,this._bufferAcc=0},(e=[{key:"reset",value:function(){this._viewSession=null,this._viewCount=0,this._isAd=!1,this.numberOfErrors=0,this.numberOfAds=0,this.numberOfVideos=0,this.totalPlaytime=0,this.weightedAverageBitrate=0,this.totalAdPlaytime=0,this.isAdBreak=!1,this.initialBufferingHappened=!1,this.startupTime=null,this.peakBitrate=0,this._lastBitrate=null,this._lastBitrateChangeTimestamp=null,this.partialAverageBitrate=0,this._totalBitrateDuration=0,this.hadStartupError=!1,this.hadPlaybackError=!1,this.totalRebufferingTime=0,this.resetFlags(),this.resetChronos()}},{key:"resetFlags",value:function(){this.isPlayerReady=!1,this.isRequested=!1,this.isStarted=!1,this.isPaused=!1,this.isSeeking=!1,this.isBuffering=!1,this.isPlaying=!1}},{key:"resetChronos",value:function(){this.timeSinceRequested=new H.A,this.timeSinceStarted=new H.A,this.timeSincePaused=new H.A,this.timeSinceSeekBegin=new H.A,this.timeSinceBufferBegin=new H.A,this.timeSinceAdBreakStart=new H.A,this.timeSinceLastDownload=new H.A,this.timeSinceLastHeartbeat=new H.A,this.timeSinceLastRenditionChange=new H.A,this.timeSinceLastAdQuartile=new H.A,this.timeSinceLastAd=new H.A,this.timeSinceLastError=new H.A,this.timeSinceLastAdError=new H.A,this.timeSinceResumed=new H.A,this.timeSinceSeekEnd=new H.A,this.playtimeSinceLastEvent=new H.A,this.customTimeSinceAttributes={},this.elapsedTime=new H.A,this.bufferElapsedTime=new H.A,this._totalAdPlaytime=new H.A}},{key:"isAd",value:function(){return this._isAd}},{key:"setIsAd",value:function(t){this._isAd=t}},{key:"setTimeSinceAttribute",value:function(t){this.customTimeSinceAttributes[t]=new H.A,this.customTimeSinceAttributes[t].start()}},{key:"removeTimeSinceAttribute",value:function(t){delete this.customTimeSinceAttributes[t]}},{key:"getViewSession",value:function(){if(!this._viewSession){var t=(new Date).getTime(),e=Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2);this._viewSession=t+"-"+e}return this._viewSession}},{key:"getViewId",value:function(){return this.getViewSession()+"-"+this._viewCount}},{key:"getStateAttributes",value:function(t){t=t||{},this.isAd()?(this.isRequested&&(t.timeSinceAdRequested=this.timeSinceRequested.getDeltaTime(),t.timeSinceLastAdHeartbeat=this.timeSinceLastHeartbeat.getDeltaTime()),this.isStarted&&(t.timeSinceAdStarted=this.timeSinceStarted.getDeltaTime()),this.isPaused&&(t.timeSinceAdPaused=this.timeSincePaused.getDeltaTime()),this.isBuffering&&(t.timeSinceAdBufferBegin=this.timeSinceBufferBegin.getDeltaTime()),this.isSeeking&&(t.timeSinceAdSeekBegin=this.timeSinceSeekBegin.getDeltaTime()),this.isAdBreak&&(t.timeSinceAdBreakBegin=this.timeSinceAdBreakStart.getDeltaTime()),this.numberOfErrors>0&&this.timeSinceLastAdError.startTime>0&&(t.timeSinceLastAdError=this.timeSinceLastAdError.getDeltaTime()),t.numberOfAds=this.numberOfAds):(this.isRequested&&(t.timeSinceRequested=this.timeSinceRequested.getDeltaTime(),t.timeSinceLastHeartbeat=this.timeSinceLastHeartbeat.getDeltaTime()),this.isStarted&&(t.timeSinceStarted=this.timeSinceStarted.getDeltaTime()),this.isPaused&&(t.timeSincePaused=this.timeSincePaused.getDeltaTime()),this.isBuffering&&(t.timeSinceBufferBegin=this.timeSinceBufferBegin.getDeltaTime()),this.isSeeking&&(t.timeSinceSeekBegin=this.timeSinceSeekBegin.getDeltaTime()),t.timeSinceLastAd=this.timeSinceLastAd.getDeltaTime(),this.numberOfErrors>0&&this.timeSinceLastError.startTime>0&&(t.timeSinceLastError=this.timeSinceLastError.getDeltaTime()),t.numberOfVideos=this.numberOfVideos),t.numberOfErrors=this.numberOfErrors,this.isAd()||(this.playtimeSinceLastEvent.startTime>0?t.playtimeSinceLastEvent=this.playtimeSinceLastEvent.getDeltaTime():t.playtimeSinceLastEvent=0,this.isPlaying?this.playtimeSinceLastEvent.start():this.playtimeSinceLastEvent.reset(),this.totalPlaytime+=t.playtimeSinceLastEvent,t.totalPlaytime=this.totalPlaytime);for(var e=0,r=Object.entries(this.customTimeSinceAttributes);e<r.length;e++){var n=Q(r[e],2),i=n[0],a=n[1];t[i]=a.getDeltaTime()}return t}},{key:"getQoeAttributes",value:function(t){t=t||{};var e={};try{null!==this.startupTime&&(e.startupTime=this.startupTime),this.peakBitrate>0&&(e.peakBitrate=this.peakBitrate),e.hadStartupError=this.hadStartupError,e.hadPlaybackError=this.hadPlaybackError,e.totalRebufferingTime=this.totalRebufferingTime,e.rebufferingRatio=this.totalPlaytime>0?this.totalRebufferingTime/this.totalPlaytime*100:0,e.totalPlaytime=this.totalPlaytime,e.averageBitrate=this.weightedBitrate,e.numberOfErrors=this.numberOfErrors}catch(t){i.A.error("Failed to add attributes for QOE KPIs",t.message)}return t.qoe=e,t}},{key:"calculateBufferType",value:function(t){var e;return e=t?"initial":this.isSeeking?"seek":this.isPaused?"pause":"connection",i.A.debug("Buffer Type = "+e),e}},{key:"goViewCountUp",value:function(){this._viewCount++}},{key:"goPlayerReady",value:function(){return!this.isPlayerReady&&(this.isPlayerReady=!0,!0)}},{key:"goRequest",value:function(){return!this.isRequested&&(this.isRequested=!0,this.timeSinceLastAd.reset(),this.timeSinceRequested.start(),!0)}},{key:"goStart",value:function(){return!(!this.isRequested||this.isStarted||(this.isAd()?this.numberOfAds++:this.numberOfVideos++,this.isStarted=!0,this.isPlaying=!0,this.timeSinceStarted.start(),this.playtimeSinceLastEvent.start(),0))}},{key:"goEnd",value:function(){return!!this.isRequested&&(this.numberOfErrors=0,this.resetFlags(),this.timeSinceRequested.stop(),this.timeSinceStarted.stop(),this.playtimeSinceLastEvent.stop(),this.isPlaying=!1,!0)}},{key:"goPause",value:function(){return!(!this.isStarted||this.isPaused||(this.isPaused=!0,this.isPlaying=!1,this.timeSincePaused.start(),this.playtimeSinceLastEvent.stop(),this.timeSinceResumed.reset(),this.isBuffering&&(this._bufferAcc+=this.bufferElapsedTime.getDeltaTime()),this.elapsedTime.start(),0))}},{key:"goResume",value:function(){return!(!this.isStarted||!this.isPaused||(this.isPaused=!1,this.isPlaying=!0,this.timeSincePaused.stop(),this.timeSinceResumed.start(),this._hb?(this._acc=this.elapsedTime.getDeltaTime(),this._hb=!1):(this.isBuffering&&this.bufferElapsedTime.start(),this._acc+=this.elapsedTime.getDeltaTime()),0))}},{key:"goBufferStart",value:function(){return!(!this.isRequested||this.isBuffering||(this.isBuffering=!0,this.isPlaying=!1,this.timeSinceBufferBegin.start(),this.bufferElapsedTime.start(),0))}},{key:"goBufferEnd",value:function(){return!(!this.isRequested||!this.isBuffering||(this.isBuffering=!1,this.isPlaying=!0,this.timeSinceBufferBegin.stop(),this._hb?(this._bufferAcc=this.bufferElapsedTime.getDeltaTime(),this._hb=!1):this._bufferAcc+=this.bufferElapsedTime.getDeltaTime(),!this.isAd()&&this.initialBufferingHappened&&(this.totalRebufferingTime+=this.timeSinceBufferBegin.stopTime-this.timeSinceBufferBegin.startTime),0))}},{key:"goSeekStart",value:function(){return!(!this.isStarted||this.isSeeking||(this.isSeeking=!0,this.isPlaying=!1,this.timeSinceSeekBegin.start(),this.timeSinceSeekEnd.reset(),0))}},{key:"goSeekEnd",value:function(){return!(!this.isStarted||!this.isSeeking||(this.isSeeking=!1,this.isPlaying=!0,this.timeSinceSeekBegin.stop(),this.timeSinceSeekEnd.start(),0))}},{key:"goAdBreakStart",value:function(){return!this.isAdBreak&&(this.isAdBreak=!0,this.timeSinceAdBreakStart.start(),!0)}},{key:"goAdBreakEnd",value:function(){return!!this.isAdBreak&&(this.isRequested=!1,this.isAdBreak=!1,this.totalAdPlaytime=this.timeSinceAdBreakStart.getDeltaTime(),this.timeSinceAdBreakStart.stop(),!0)}},{key:"goDownload",value:function(){this.timeSinceLastDownload.start()}},{key:"goHeartbeat",value:function(){this.timeSinceLastHeartbeat.start()}},{key:"goRenditionChange",value:function(){this.timeSinceLastRenditionChange.start()}},{key:"goAdQuartile",value:function(){this.timeSinceLastAdQuartile.start()}},{key:"goError",value:function(){this.isError=!0,this.numberOfErrors++,this.isAd()?this.timeSinceLastAdError.start():(this.timeSinceLastError.start(),this.isStarted?this.hadPlaybackError=!0:this.hadStartupError=!0)}},{key:"goLastAd",value:function(){this.timeSinceLastAd.start()}},{key:"trackContentBitrateState",value:function(t){if(t&&"number"==typeof t){this.peakBitrate=Math.max(this.peakBitrate,t);var e=Date.now();if(!this.isPlaying){if(null!==this._lastBitrate&&null!==this._lastBitrateChangeTimestamp){var r=e-this._lastBitrateChangeTimestamp;r>0&&(this.partialAverageBitrate+=this._lastBitrate*r,this._totalBitrateDuration+=r),this._lastBitrateChangeTimestamp=null}return void(this._lastBitrate=t)}if(null===this._lastBitrateChangeTimestamp&&null!==this._lastBitrate&&(this._lastBitrateChangeTimestamp=e),null!==this._lastBitrate&&this._lastBitrate!==t&&null!==this._lastBitrateChangeTimestamp){var n=e-this._lastBitrateChangeTimestamp;n>0&&(this.partialAverageBitrate+=this._lastBitrate*n,this._totalBitrateDuration+=n),this._lastBitrateChangeTimestamp=e}null===this._lastBitrateChangeTimestamp&&(this._lastBitrateChangeTimestamp=e),this._lastBitrate=t;var i=this.partialAverageBitrate,a=this._totalBitrateDuration,o=e-this._lastBitrateChangeTimestamp;o>0&&(i+=t*o,a+=o),this.weightedBitrate=a>0?Math.round(i/a):t}}},{key:"resetViewIdTrackedState",value:function(){this.peakBitrate=0,this.partialAverageBitrate=0,this._totalBitrateDuration=0,this.startupTime=null,this._lastBitrate=null,this._lastBitrateChangeTimestamp=null}},{key:"clearTotalAdsTime",value:function(){i.A.debug("clear total ads time",this.totalAdTime),this._totalAdPlaytime.reset()}},{key:"totalAdTime",value:function(){return this._totalAdPlaytime.getDuration()}},{key:"startAdsTime",value:function(){return i.A.debug("startAdsTime"),this._totalAdPlaytime.start()}},{key:"stopAdsTime",value:function(){return i.A.debug("stopAdsTime"),this._totalAdPlaytime.stop()}},{key:"setStartupTime",value:function(t){null===this.startupTime&&(this.startupTime=Math.max(this.timeSinceRequested.getDeltaTime()-t,0))}}])&&x(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}();var U=r(330);function z(t){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(t)}function M(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function K(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?M(Object(r),!0).forEach(function(e){W(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):M(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function W(t,e,r){return(e=X(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Y(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,X(n.key),n)}}function X(t){var e=function(t){if("object"!=z(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==z(e)?e:e+""}function Z(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(Z=function(){return!!t})()}function $(t){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},$(t)}function J(t,e){return J=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},J(t,e)}var tt=function(t){function e(t,r){var n;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=function(t,e,r){return e=$(e),function(t,e){if(e&&("object"==z(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,Z()?Reflect.construct(e,r||[],$(t).constructor):e.apply(t,r))}(this,e)).state=new q,n.adsTracker=null,n._lastBufferType=null,n._userId=null,r=r||{},n.setOptions(r),t&&n.setPlayer(t,r.tag),i.A.notice("Tracker "+n.getTrackerName()+" v"+n.getTrackerVersion()+" is ready."),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&J(t,e)}(e,t),r=e,n=[{key:"setUserId",value:function(t){this._userId=t}},{key:"setOptions",value:function(t){t&&(t.adsTracker&&this.setAdsTracker(t.adsTracker),"boolean"==typeof t.isAd&&this.setIsAd(t.isAd),s.A.prototype.setOptions.apply(this,arguments))}},{key:"setPlayer",value:function(t,e){(this.player||this.tag)&&this.dispose(),"undefined"!=typeof document&&document.getElementById&&("string"==typeof t&&(t=document.getElementById(t)),"string"==typeof e&&(e=document.getElementById(e))),e=e||t,this.player=t,this.tag=e,this.registerListeners()}},{key:"isAd",value:function(){return this.state.isAd()}},{key:"setIsAd",value:function(t){this.state.setIsAd(t)}},{key:"setAdsTracker",value:function(t){this.disposeAdsTracker(),t&&(this.adsTracker=t,this.adsTracker.setIsAd(!0),this.adsTracker.parentTracker=this,this.adsTracker.on("*",et.bind(this)))}},{key:"disposeAdsTracker",value:function(){this.adsTracker&&(this.adsTracker.off("*",et),this.adsTracker.dispose())}},{key:"dispose",value:function(){this.stopHeartbeat(),this.disposeAdsTracker(),this.unregisterListeners(),this.player=null,this.tag=null}},{key:"registerListeners",value:function(){}},{key:"unregisterListeners",value:function(){}},{key:"getViewId",value:function(){return this.parentTracker?this.parentTracker.getViewId():this.state.getViewId()}},{key:"getViewSession",value:function(){return this.parentTracker?this.parentTracker.getViewSession():this.state.getViewSession()}},{key:"getVideoId",value:function(){return null}},{key:"getTitle",value:function(){return null}},{key:"isLive",value:function(){return null}},{key:"getBitrate",value:function(){return null}},{key:"getManifestBitrate",value:function(){return null}},{key:"getMeasuredBitrate",value:function(){return null}},{key:"getDownloadBitrate",value:function(){return null}},{key:"getWebkitBitrate",value:function(){if(this.tag&&this.tag.webkitVideoDecodedByteCount){var t;if(this._lastWebkitBitrate){var e=(t=this.tag.webkitVideoDecodedByteCount)-this._lastWebkitBitrate,r=this.getHeartbeat()/1e3;t=Math.round(e/r*8)}return this._lastWebkitBitrate=this.tag.webkitVideoDecodedByteCount,t||null}}},{key:"getRenditionName",value:function(){return null}},{key:"getRenditionBitrate",value:function(){return null}},{key:"getRenditionShift",value:function(t){var e,r=this.getRenditionBitrate();return this.isAd()?(e=this._lastAdRendition,t&&(this._lastAdRendition=r)):(e=this._lastRendition,t&&(this._lastRendition=r)),r&&e?r>e?"up":r<e?"down":null:null}},{key:"getRenditionHeight",value:function(){return this.tag?this.tag.videoHeight:null}},{key:"getRenditionWidth",value:function(){return this.tag?this.tag.videoWidth:null}},{key:"getDuration",value:function(){return this.tag?this.tag.duration:null}},{key:"getPlayhead",value:function(){return this.tag?this.tag.currentTime:null}},{key:"getLanguage",value:function(){return null}},{key:"getSrc",value:function(){return this.tag?this.tag.currentSrc:null}},{key:"getPlayrate",value:function(){return this.tag?this.tag.playbackRate:null}},{key:"isMuted",value:function(){return this.tag?this.tag.muted:null}},{key:"isFullscreen",value:function(){return null}},{key:"getCdn",value:function(){return null}},{key:"getPlayerName",value:function(){return this.getTrackerName()}},{key:"getPlayerVersion",value:function(){return U.rE}},{key:"getFps",value:function(){return null}},{key:"isAutoplayed",value:function(){return this.tag?this.tag.autoplay:null}},{key:"getPreload",value:function(){return this.tag?this.tag.preload:null}},{key:"getAdQuartile",value:function(){return null}},{key:"getAdPosition",value:function(){return this.parentTracker?this.parentTracker.state.isStarted?"mid":"pre":null}},{key:"getAdPartner",value:function(){return null}},{key:"getAdCreativeId",value:function(){return null}},{key:"getInstrumentationProvider",value:function(){return null}},{key:"getInstrumentationName",value:function(){return null}},{key:"getInstrumentationVersion",value:function(){return null}},{key:"getAttributes",value:function(t,e){if(void 0===(t=s.A.prototype.getAttributes.apply(this,arguments)).isAd&&(t.isAd=this.isAd()),t.viewSession=this.getViewSession(),t.viewId=this.getViewId(),t.playerName=this.getPlayerName(),t.playerVersion=this.getPlayerVersion(),t["instrumentation.provider"]=this.getInstrumentationProvider(),t["instrumentation.name"]=this.getInstrumentationName(),t["instrumentation.version"]=this.getInstrumentationVersion(),t["enduser.id"]=this._userId,t.src="Browser","customAction"===e)return t;try{t.pageUrl=window.location.href}catch(t){}for(var r in this.isAd()?(t.adId=this.getVideoId(),t.adTitle=this.getTitle(),t.adSrc=this.getSrc(),t.adCdn=this.getCdn(),this.state.isStarted&&(t.adBitrate=this.getBitrate()||this.getWebkitBitrate()||this.getRenditionBitrate(),t.adRenditionBitrate=this.getRenditionBitrate()),t.adRenditionName=this.getRenditionName(),t.adRenditionHeight=this.getRenditionHeight(),t.adRenditionWidth=this.getRenditionWidth(),t.adDuration=this.getDuration(),t.adPlayhead=this.getPlayhead(),t.adLanguage=this.getLanguage(),t.adIsMuted=this.isMuted(),t.adFps=this.getFps(),t.adPosition=this.getAdPosition(),t.adCreativeId=this.getAdCreativeId(),t.adPartner=this.getAdPartner()):(t.contentId=this.getVideoId(),t.contentTitle=this.getTitle(),t.contentSrc=this.getSrc(),t.contentCdn=this.getCdn(),t.contentPlayhead=this.getPlayhead(),t.contentIsLive=this.isLive(),this.state.isStarted&&(t.contentBitrate=this.getBitrate()||this.getWebkitBitrate()||this.getRenditionBitrate(),t.contentRenditionBitrate=this.getRenditionBitrate(),t.contentManifestBitrate=this.getManifestBitrate(),t.contentMeasuredBitrate=this.getMeasuredBitrate(),t.contentDownloadBitrate=this.getDownloadBitrate()),t.contentRenditionName=this.getRenditionName(),t.contentRenditionHeight=this.getRenditionHeight(),t.contentRenditionWidth=this.getRenditionWidth(),t.contentDuration=this.getDuration(),t.contentLanguage=this.getLanguage(),t.contentPlayrate=this.getPlayrate(),t.contentIsFullscreen=this.isFullscreen(),t.contentIsMuted=this.isMuted(),t.contentIsAutoplayed=this.isAutoplayed(),t.contentPreload=this.getPreload(),t.contentFps=this.getFps(),null!=this.adsTracker&&this.adsTracker.state.totalAdPlaytime>0&&(t.totalAdPlaytime=this.adsTracker.state.totalAdPlaytime)),this.state.getStateAttributes(t),this.state.isStarted&&!this.isAd()&&this.state.trackContentBitrateState(t.contentBitrate),this.customData)t[r]=this.customData[r];return this.addQoeAttributes(t),t}},{key:"addQoeAttributes",value:function(t){var e=(t=this.state.getQoeAttributes(t)).qoe;for(var r in this.customData)e[r]=this.customData[r]}},{key:"sendCustom",value:function(t,e,r){r=r||{},this.sendVideoCustomAction(t,r),this.state.setTimeSinceAttribute(e)}},{key:"sendPlayerReady",value:function(t){this.state.goPlayerReady()&&(t=t||{},this.sendVideoAction(e.Events.PLAYER_READY,t))}},{key:"sendRequest",value:function(t){var r;this.state.goRequest()&&(this.isAd()?(r=e.Events.AD_REQUEST,this.sendVideoAdAction(r,t)):(r=e.Events.CONTENT_REQUEST,this.sendVideoAction(r,t)))}},{key:"sendStart",value:function(t){var r=this;if(this.state.goStart()){var n;if(this.isAd())n=e.Events.AD_START,this.parentTracker&&(this.parentTracker.state.isPlaying=!1),this.sendVideoAdAction(n,t),this.state.startAdsTime();else{n=e.Events.CONTENT_START;var i,o=0;this.adsTracker&&((this.adsTracker.state.isPlaying||this.adsTracker.state.isBuffering)&&(this.adsTracker.state.stopAdsTime(),this.adsTracker.state.isPlaying=!1,this.adsTracker.state.isBuffering=!1),o=null!==(i=this.adsTracker.state.totalAdTime())&&void 0!==i?i:0),this.state.setStartupTime(o),this.sendVideoAction(n,t),a.videoAnalyticsHarvester.setBeforeDrainCallback(function(){if(r.state){var t=r.state.getQoeAttributes({}).qoe;a.videoAnalyticsHarvester.refreshQoeKpis(t)}})}this.startHeartbeat(),this.state.goHeartbeat()}}},{key:"sendEnd",value:function(t){var r;this.state.goEnd()&&(t=t||{},this.isAd()?(r=e.Events.AD_END,t.timeSinceAdRequested=this.state.timeSinceRequested.getDeltaTime(),t.timeSinceAdStarted=this.state.timeSinceStarted.getDeltaTime(),this.parentTracker&&(this.parentTracker.state.isPlaying=!0),this.state.stopAdsTime()):(r=e.Events.CONTENT_END,t.timeSinceRequested=this.state.timeSinceRequested.getDeltaTime(),t.timeSinceStarted=this.state.timeSinceStarted.getDeltaTime()),this.stopHeartbeat(),this.isAd()?this.sendVideoAdAction(r,t):this.sendVideoAction(r,t),this.parentTracker&&this.isAd()&&this.parentTracker.state.goLastAd(),this.state.goViewCountUp(),this.state.totalPlaytime=0,this.isAd()||(a.videoAnalyticsHarvester.forceNextQoeCycle(),a.videoAnalyticsHarvester.setBeforeDrainCallback(null),this.adsTracker&&this.adsTracker.state.clearTotalAdsTime(),this.state.resetViewIdTrackedState()))}},{key:"sendPause",value:function(t){if(this.state.goPause()){var r=this.isAd()?e.Events.AD_PAUSE:e.Events.CONTENT_PAUSE;this.isAd()?this.sendVideoAdAction(r,t):this.sendVideoAction(r,t)}}},{key:"sendResume",value:function(t){var r;this.state.goResume()&&(t=t||{},this.isAd()?(r=e.Events.AD_RESUME,t.timeSinceAdPaused=this.state.timeSincePaused.getDeltaTime()):(r=e.Events.CONTENT_RESUME,t.timeSincePaused=this.state.timeSincePaused.getDeltaTime()),this.isAd()?this.sendVideoAdAction(r,t):this.sendVideoAction(r,t))}},{key:"sendBufferStart",value:function(t){var r;this.state.goBufferStart()&&(t=t||{},r=this.isAd()?e.Events.AD_BUFFER_START:e.Events.CONTENT_BUFFER_START,t=this.buildBufferAttributes(t),this._lastBufferType=t.bufferType,this.isAd()?this.sendVideoAdAction(r,t):this.sendVideoAction(r,t))}},{key:"sendBufferEnd",value:function(t){var r;this.state.goBufferEnd()&&(t=t||{},this.isAd()?(r=e.Events.AD_BUFFER_END,t.timeSinceAdBufferBegin=this.state.timeSinceBufferBegin.getDeltaTime()):(r=e.Events.CONTENT_BUFFER_END,t.timeSinceBufferBegin=this.state.timeSinceBufferBegin.getDeltaTime()),t=this.buildBufferAttributes(t),null!=this._lastBufferType&&(t.bufferType=this._lastBufferType),this.isAd()?this.sendVideoAdAction(r,t):this.sendVideoAction(r,t),this.state.initialBufferingHappened=!0)}},{key:"buildBufferAttributes",value:function(t){return null==t.timeSinceStarted||t.timeSinceStarted<100?t.isInitialBuffering=!this.state.initialBufferingHappened:t.isInitialBuffering=!1,t.bufferType=this.state.calculateBufferType(t.isInitialBuffering),t.timeSinceResumed=this.state.timeSinceResumed.getDeltaTime(),t.timeSinceSeekEnd=this.state.timeSinceSeekEnd.getDeltaTime(),t}},{key:"sendSeekStart",value:function(t){var r;this.state.goSeekStart()&&(r=this.isAd()?e.Events.AD_SEEK_START:e.Events.CONTENT_SEEK_START,this.isAd()?this.sendVideoAdAction(r,t):this.sendVideoAction(r,t))}},{key:"sendSeekEnd",value:function(t){var r;this.state.goSeekEnd()&&(t=t||{},this.isAd()?(r=e.Events.AD_SEEK_END,t.timeSinceAdSeekBegin=this.state.timeSinceSeekBegin.getDeltaTime()):(r=e.Events.CONTENT_SEEK_END,t.timeSinceSeekBegin=this.state.timeSinceSeekBegin.getDeltaTime()),this.isAd()?this.sendVideoAdAction(r,t):this.sendVideoAction(r,t))}},{key:"sendDownload",value:function(t){(t=t||{}).state||i.A.warn("Called sendDownload without { state: xxxxx }."),this.sendVideoAction(e.Events.DOWNLOAD,t),this.state.goDownload()}},{key:"sendError",value:function(t){(t=t||{}).isAd=this.isAd(),this.state.goError();var r=this.isAd()?e.Events.AD_ERROR:e.Events.CONTENT_ERROR;this.sendVideoErrorAction(r,t)}},{key:"sendRenditionChanged",value:function(t){var r;(t=t||{}).timeSinceLastRenditionChange=this.state.timeSinceLastRenditionChange.getDeltaTime(),t.shift=this.getRenditionShift(!0),r=this.isAd()?e.Events.AD_RENDITION_CHANGE:e.Events.CONTENT_RENDITION_CHANGE,this.isAd()?this.sendVideoAdAction(r,t):this.sendVideoAction(r,t),this.state.goRenditionChange()}},{key:"sendHeartbeat",value:function(t){if(this.state.isRequested){var r,n=this.getHeartbeat();this.state._hb=!0,n=this.adjustElapsedTimeForPause(n),this.isAd()?(r=e.Events.AD_HEARTBEAT,"bitmovin-ads"===this.getPlayerName()?this.sendVideoAdAction(r,t):this.sendVideoAdAction(r,K({elapsedTime:n},t))):(r=e.Events.CONTENT_HEARTBEAT,this.sendVideoAction(r,K({elapsedTime:n},t))),this.state.goHeartbeat()}}},{key:"adjustElapsedTimeForPause",value:function(t){return this.state._acc&&(t-=this.state._acc,this.state._acc=0),this.state.isPaused&&((t-=this.state.elapsedTime.getDeltaTime())<10&&(t=0),this.state.elapsedTime.start()),this.state._bufferAcc?(t-=this.state._bufferAcc,this.state._bufferAcc=0):this.state.isBuffering&&((t-=this.state.bufferElapsedTime.getDeltaTime())<5&&(t=0),this.state.bufferElapsedTime.start()),Math.max(0,t)}},{key:"sendAdBreakStart",value:function(t){this.isAd()&&this.state.goAdBreakStart()&&(this.state.totalAdPlaytime=0,this.parentTracker&&(this.parentTracker.state.isPlaying=!1),this.sendVideoAdAction(e.Events.AD_BREAK_START,t))}},{key:"sendAdBreakEnd",value:function(t){this.isAd()&&this.state.goAdBreakEnd()&&((t=t||{}).timeSinceAdBreakBegin=this.state.timeSinceAdBreakStart.getDeltaTime(),this.sendVideoAdAction(e.Events.AD_BREAK_END,t),this.parentTracker&&(this.parentTracker.state.isPlaying=!0),this.stopHeartbeat(),this.parentTracker&&this.isAd()&&this.parentTracker.state.goLastAd())}},{key:"sendAdQuartile",value:function(t){this.isAd()&&((t=t||{}).quartile||i.A.warn("Called sendAdQuartile without { quartile: xxxxx }."),t.timeSinceLastAdQuartile=this.state.timeSinceLastAdQuartile.getDeltaTime(),this.sendVideoAdAction(e.Events.AD_QUARTILE,t),this.state.goAdQuartile())}},{key:"sendAdClick",value:function(t){this.isAd()&&((t=t||{}).url||i.A.warn("Called sendAdClick without { url: xxxxx }."),this.sendVideoAdAction(e.Events.AD_CLICK,t))}}],n&&Y(r.prototype,n),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n}(s.A);function et(t){t.type!==tt.Events.AD_ERROR?this.sendVideoAdAction(t.type,t.data):this.sendVideoErrorAction(t.type,t.data)}tt.Events={PLAYER_READY:"PLAYER_READY",DOWNLOAD:"DOWNLOAD",ERROR:"ERROR",CONTENT_REQUEST:"CONTENT_REQUEST",CONTENT_START:"CONTENT_START",CONTENT_END:"CONTENT_END",CONTENT_PAUSE:"CONTENT_PAUSE",CONTENT_RESUME:"CONTENT_RESUME",CONTENT_SEEK_START:"CONTENT_SEEK_START",CONTENT_SEEK_END:"CONTENT_SEEK_END",CONTENT_BUFFER_START:"CONTENT_BUFFER_START",CONTENT_BUFFER_END:"CONTENT_BUFFER_END",CONTENT_HEARTBEAT:"CONTENT_HEARTBEAT",CONTENT_RENDITION_CHANGE:"CONTENT_RENDITION_CHANGE",CONTENT_ERROR:"CONTENT_ERROR",AD_REQUEST:"AD_REQUEST",AD_START:"AD_START",AD_END:"AD_END",AD_PAUSE:"AD_PAUSE",AD_RESUME:"AD_RESUME",AD_SEEK_START:"AD_SEEK_START",AD_SEEK_END:"AD_SEEK_END",AD_BUFFER_START:"AD_BUFFER_START",AD_BUFFER_END:"AD_BUFFER_END",AD_HEARTBEAT:"AD_HEARTBEAT",AD_RENDITION_CHANGE:"AD_RENDITION_CHANGE",AD_ERROR:"AD_ERROR",AD_BREAK_START:"AD_BREAK_START",AD_BREAK_END:"AD_BREAK_END",AD_QUARTILE:"AD_QUARTILE",AD_CLICK:"AD_CLICK"};const rt=tt;var nt=r(431),it=r(413),at=r(28),ot=r(374);const st={Constants:o.A,Chrono:H.A,Log:i.A,Emitter:L.A,Tracker:s.A,VideoTracker:rt,VideoTrackerState:q,Core:I,version:U.rE,NrVideoEventAggregator:nt.t,RetryQueueHandler:it.u,OptimizedHttpClient:at.X,HarvestScheduler:ot.n,recordEvent:y};return n.default})());
3
3
  //# sourceMappingURL=nrvideo.min.js.map
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * @license Apache-2.0
3
- * @newrelic/video-core 4.1.2-beta
3
+ * @newrelic/video-core 4.1.2
4
4
  * Copyright New Relic <http://newrelic.com/>
5
5
  * @author Jordi Aguilar
6
6
  */