@playkit-js/banner-overlay 1.2.4 → 1.2.5-canary.0-e6e19ab

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"playkit-banner-overlay.js","mappings":"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","sources":["webpack://KalturaPlayer.plugins.bannerOverlay/webpack/universalModuleDefinition","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@playkit-js/playkit-js-providers/dist/playkit-ovp-provider.js","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-overlay.scss","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/css-loader/dist/runtime/api.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/fxp.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/ignoreAttributes.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/util.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/validator.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/node2json.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/strnum/strnum.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/style-loader/dist/runtime/setAttributesWithAttributesAndNonce.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/typeof.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/regenerator/index.js","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/bootstrap","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/runtime/compat get default export","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/runtime/define property getters","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/runtime/hasOwnProperty shorthand","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/runtime/make namespace object","webpack://KalturaPlayer.plugins.bannerOverlay/external root \"KalturaPlayer\"","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://KalturaPlayer.plugins.bannerOverlay/external root \"KalturaPlayer.ui.preact\"","webpack://KalturaPlayer.plugins.bannerOverlay/./src/types/banner-overlay-config.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/types/icon.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://KalturaPlayer.plugins.bannerOverlay/external root \"KalturaPlayer.ui.preactHooks\"","webpack://KalturaPlayer.plugins.bannerOverlay/external root \"KalturaPlayer.core\"","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-overlay.scss?3983","webpack://KalturaPlayer.plugins.bannerOverlay/./src/events/events.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-display.tsx","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-overlay.tsx","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-timer-manager.tsx","webpack://KalturaPlayer.plugins.bannerOverlay/./src/providers/response-types/kaltura-metadata.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/providers/response-types/kaltura-metadata-list-response.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/providers/metadata-loader.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/banner-overlay.tsx","webpack://KalturaPlayer.plugins.bannerOverlay/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"KalturaPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KalturaPlayer\"] = factory();\n\telse\n\t\troot[\"KalturaPlayer\"] = root[\"KalturaPlayer\"] || {}, root[\"KalturaPlayer\"][\"plugins\"] = root[\"KalturaPlayer\"][\"plugins\"] || {}, root[\"KalturaPlayer\"][\"plugins\"][\"bannerOverlay\"] = factory();\n})(self, () => {\nreturn ","/*! For license information please see playkit-ovp-provider.js.LICENSE.txt */\n!function(t,e){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)(\"object\"==typeof exports?exports:t)[n]=r[n]}}(self,(function(){return function(){var t={61:function(t,e,r){var n=r(698).default;function i(){\"use strict\";t.exports=i=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var e,r={},a=Object.prototype,s=a.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},u=\"function\"==typeof Symbol?Symbol:{},c=u.iterator||\"@@iterator\",l=u.asyncIterator||\"@@asyncIterator\",f=u.toStringTag||\"@@toStringTag\";function d(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},\"\")}catch(e){d=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var i=e&&e.prototype instanceof _?e:_,a=Object.create(i.prototype),s=new D(n||[]);return o(a,\"_invoke\",{value:O(t,r,s)}),a}function p(t,e,r){try{return{type:\"normal\",arg:t.call(e,r)}}catch(t){return{type:\"throw\",arg:t}}}r.wrap=h;var y=\"suspendedStart\",v=\"suspendedYield\",m=\"executing\",g=\"completed\",E={};function _(){}function R(){}function I(){}var T={};d(T,c,(function(){return this}));var A=Object.getPrototypeOf,w=A&&A(A(x([])));w&&w!==a&&s.call(w,c)&&(T=w);var C=I.prototype=_.prototype=Object.create(T);function k(t){[\"next\",\"throw\",\"return\"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,a,o,u){var c=p(t[i],t,a);if(\"throw\"!==c.type){var l=c.arg,f=l.value;return f&&\"object\"==n(f)&&s.call(f,\"__await\")?e.resolve(f.__await).then((function(t){r(\"next\",t,o,u)}),(function(t){r(\"throw\",t,o,u)})):e.resolve(f).then((function(t){l.value=t,o(l)}),(function(t){return r(\"throw\",t,o,u)}))}u(c.arg)}var i;o(this,\"_invoke\",{value:function(t,n){function a(){return new e((function(e,i){r(t,n,e,i)}))}return i=i?i.then(a,a):a()}})}function O(t,r,n){var i=y;return function(a,s){if(i===m)throw new Error(\"Generator is already running\");if(i===g){if(\"throw\"===a)throw s;return{value:e,done:!0}}for(n.method=a,n.arg=s;;){var o=n.delegate;if(o){var u=S(o,n);if(u){if(u===E)continue;return u}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(i===y)throw i=g,n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=m;var c=p(t,r,n);if(\"normal\"===c.type){if(i=n.done?g:v,c.arg===E)continue;return{value:c.arg,done:n.done}}\"throw\"===c.type&&(i=g,n.method=\"throw\",n.arg=c.arg)}}}function S(t,r){var n=r.method,i=t.iterator[n];if(i===e)return r.delegate=null,\"throw\"===n&&t.iterator.return&&(r.method=\"return\",r.arg=e,S(t,r),\"throw\"===r.method)||\"return\"!==n&&(r.method=\"throw\",r.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),E;var a=p(i,t.iterator,r.arg);if(\"throw\"===a.type)return r.method=\"throw\",r.arg=a.arg,r.delegate=null,E;var s=a.arg;return s?s.done?(r[t.resultName]=s.value,r.next=t.nextLoc,\"return\"!==r.method&&(r.method=\"next\",r.arg=e),r.delegate=null,E):s:(r.method=\"throw\",r.arg=new TypeError(\"iterator result is not an object\"),r.delegate=null,E)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function D(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(P,this),this.reset(!0)}function x(t){if(t||\"\"===t){var r=t[c];if(r)return r.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function r(){for(;++i<t.length;)if(s.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(n(t)+\" is not iterable\")}return R.prototype=I,o(C,\"constructor\",{value:I,configurable:!0}),o(I,\"constructor\",{value:R,configurable:!0}),R.displayName=d(I,f,\"GeneratorFunction\"),r.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===R||\"GeneratorFunction\"===(e.displayName||e.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,I):(t.__proto__=I,d(t,f,\"GeneratorFunction\")),t.prototype=Object.create(C),t},r.awrap=function(t){return{__await:t}},k(b.prototype),d(b.prototype,l,(function(){return this})),r.AsyncIterator=b,r.async=function(t,e,n,i,a){void 0===a&&(a=Promise);var s=new b(h(t,e,n,i),a);return r.isGeneratorFunction(e)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},k(C),d(C,f,\"Generator\"),d(C,c,(function(){return this})),d(C,\"toString\",(function(){return\"[object Generator]\"})),r.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=x,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=e,this.tryEntries.forEach(L),!t)for(var r in this)\"t\"===r.charAt(0)&&s.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function n(n,i){return o.type=\"throw\",o.arg=t,r.next=n,i&&(r.method=\"next\",r.arg=e),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if(\"root\"===a.tryLoc)return n(\"end\");if(a.tryLoc<=this.prev){var u=s.call(a,\"catchLoc\"),c=s.call(a,\"finallyLoc\");if(u&&c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!c)throw new Error(\"try statement without catch or finally\");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&s.call(n,\"finallyLoc\")&&this.prev<n.finallyLoc){var i=n;break}}i&&(\"break\"===t||\"continue\"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method=\"next\",this.next=i.finallyLoc,E):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),E},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),E}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if(\"throw\"===n.type){var i=n.arg;L(r)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,r,n){return this.delegate={iterator:x(t),resultName:r,nextLoc:n},\"next\"===this.method&&(this.arg=e),E}},r}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},698:function(t){function e(r){return t.exports=e=\"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.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},687:function(t,e,r){var n=r(61)();t.exports=n;try{regeneratorRuntime=n}catch(t){\"object\"==typeof globalThis?globalThis.regeneratorRuntime=n:Function(\"r\",\"regeneratorRuntime = r\")(n)}}},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.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(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=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var n={};return function(){\"use strict\";r.r(n),r.d(n,{NAME:function(){return xt},Provider:function(){return Dt},ProviderParser:function(){return ut},RequestBuilder:function(){return lt},ResponseTypes:function(){return t},VERSION:function(){return Mt}});var t={};function e(t,e,r,n,i,a,s){try{var o=t[a](s),u=o.value}catch(t){return void r(t)}o.done?e(u):Promise.resolve(u).then(n,i)}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}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 s(t){var e=function(t,e){if(\"object\"!==a(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,\"string\");if(\"object\"!==a(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(t)}(t);return\"symbol\"===a(e)?e:String(e)}function o(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,s(n.key),n)}}function u(t,e,r){return e&&o(t.prototype,e),r&&o(t,r),Object.defineProperty(t,\"prototype\",{writable:!1}),t}function c(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function l(t,e){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},l(t,e)}function f(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&&l(t,e)}function d(t,e){if(e&&(\"object\"===a(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return c(t)}function h(t){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},h(t)}function p(t,e,r){return(e=s(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.r(t),r.d(t,{BaseServiceResult:function(){return A},KalturaAccessControlMessage:function(){return N},KalturaAccessControlModifyRequestHostRegexAction:function(){return O},KalturaBaseEntryListResponse:function(){return k},KalturaBumper:function(){return L},KalturaDrmPlaybackPluginData:function(){return S},KalturaFlavorAsset:function(){return D},KalturaMediaEntries:function(){return x},KalturaMediaEntry:function(){return C},KalturaMetadata:function(){return M},KalturaMetadataListResponse:function(){return U},KalturaPlaybackContext:function(){return j},KalturaPlaybackSource:function(){return P},KalturaPlaylist:function(){return B},KalturaRuleAction:function(){return b},KalturaUIConfResponse:function(){return V},KalturaUserEntry:function(){return F},KalturaUserEntryListResponse:function(){return q}});var y=r(687),v=r.n(y),m={get:function(){return{VERSION:\"\",DEBUG:{value:\"\",name:\"\"},ERROR:{value:\"\",name:\"\"},INFO:{value:\"\",name:\"\"},OFF:{value:\"\",name:\"\"},TIME:{value:\"\",name:\"\"},TRACE:{value:\"\",name:\"\"},WARN:{value:\"\",name:\"\"},createDefaultHandler:function(){},debug:function(){},enabledFor:function(){},error:function(){},get:function(){},getLevel:function(){},info:function(){},log:function(){},setHandler:function(){},setLevel:function(){},time:function(){},timeEnd:function(){},trace:function(){},useDefaults:function(){},warn:function(){}}}},g={};function E(t){return m.get(t)}var _=E,R=function t(e){var r;return Array.isArray(e)?(r=e.length>0?e.slice(0):[]).forEach((function(e,n){(\"object\"===a(e)||Array.isArray(e)&&e.length>0)&&(r[n]=t(e))})):\"object\"===a(e)?(r=Object.assign({},e),Object.keys(r).forEach((function(e){(\"object\"===a(r[e])||Array.isArray(r[e])&&r[e].length>0)&&(r[e]=t(r[e]))}))):r=e,r},I={serviceUrl:\"https://cdnapisec.kaltura.com/api_v3\",cdnUrl:\"https://cdnapisec.kaltura.com\",serviceParams:{apiVersion:\"3.3.0\",format:1},useApiCaptions:!0,loadThumbnailWithKs:!1,replaceHostOnlyManifestUrls:!1},T=function(){function t(){i(this,t)}return u(t,null,[{key:\"set\",value:function(t){null!=t&&t.overrideServiceUrl&&(t.serviceUrl=t.overrideServiceUrl),t&&Object.assign(I,t)}},{key:\"get\",value:function(){return R(I)}},{key:\"serviceUrl\",get:function(){return I.serviceUrl}}]),t}(),A=u((function t(e){i(this,t),p(this,\"hasError\",!1),\"KalturaAPIException\"===e.objectType?(this.hasError=!0,this.error=new w(e.code,e.message)):e.error&&\"KalturaAPIException\"===e.error.objectType?(this.hasError=!0,this.error=new w(e.error.code,e.error.message)):this.data=e})),w=u((function t(e,r){i(this,t),this.code=e,this.message=r})),C=u((function t(e){i(this,t),this.id=e.id,this.referenceId=e.referenceId,this.externalSourceType=e.externalSourceType,this.name=e.name,this.description=e.description,this.dataUrl=e.dataUrl,this.type=e.type,this.entryType=e.mediaType,this.flavorParamsIds=e.flavorParamsIds,this.duration=e.duration,this.poster=e.thumbnailUrl,this.rawThumbnailUrl=e.thumbnailUrl,this.status=e.status,this.dvrStatus=e.dvrStatus,this.tags=e.tags,this.adminTags=e.adminTags,this.createdAt=e.createdAt,this.updatedAt=e.updatedAt,this.creatorId=e.creatorId,this.userId=e.userId,this.endDate=e.endDate,this.plays=e.plays,this.views=e.views,this.downloadUrl=e.downloadUrl,this.rootEntryId=e.rootEntryId,this.capabilities=e.capabilities}));p(C,\"EntryType\",{AUTOMATIC:{value:-1},EXTERNAL_MEDIA:{value:\"externalMedia.externalMedia\"},MEDIA_CLIP:{value:1},MIX:{value:2},PLAYLIST:{value:5},DATA:{value:6},LIVE_STREAM:{value:7},LIVE_CHANNEL:{value:8},DOCUMENT:{value:10}}),p(C,\"MediaType\",{VIDEO:{value:1},IMAGE:{value:2},AUDIO:{value:5},LIVE_STREAM_FLASH:{value:201},LIVE_STREAM_WINDOWS_MEDIA:{value:202},LIVE_STREAM_REAL_MEDIA:{value:203},LIVE_STREAM_QUICK_TIME:{value:204}}),p(C,\"EntryStatus\",{ERROR_IMPORTING:-2,ERROR_CONVERTING:-1,SCAN_FAILURE:\"virusScan.ScanFailure\",IMPORT:0,INFECTED:\"virusScan.Infected\",PRECONVERT:1,READY:2,DELETED:3,PENDING:4,MODERATE:5,BLOCKED:6,NO_CONTENT:7}),p(C,\"EntryModerationStatus\",{PENDING_MODERATION:1,APPROVED:2,REJECTED:3,FLAGGED_FOR_REVIEW:4,MODERATE:5,AUTO_APPROVED:6});var k=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.totalCount=t.totalCount,e.totalCount>0&&(e.entries=[],t.objects.map((function(t){return e.entries.push(new C(t))})))),e}return u(a)}(A),b=u((function t(e){i(this,t),this.type=e.type}));p(b,\"Type\",{DRM_POLICY:\"drm.DRM_POLICY\",BLOCK:1,PREVIEW:2,LIMIT_FLAVORS:3,ADD_TO_STORAGE:4,LIMIT_DELIVERY_PROFILES:5,SERVE_FROM_REMOTE_SERVER:6,REQUEST_HOST_REGEX:7,LIMIT_THUMBNAIL_CAPTURE:8,SCHEDULED_RESTRICTED:\"SCHEDULED_RESTRICTED\"});var O=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).pattern=t.pattern,e.replacement=t.replacement,e.replacmenServerNodeId=t.replacmenServerNodeId,e.checkAliveTimeoutMs=t.checkAliveTimeoutMs,e}return u(a)}(b),S=u((function t(e){i(this,t),this.scheme=e.scheme,this.licenseURL=e.licenseURL,this.certificate=e.certificate}));p(S,\"Scheme\",{\"drm.PLAYREADY_CENC\":\"com.microsoft.playready\",\"drm.WIDEVINE_CENC\":\"com.widevine.alpha\",\"fairplay.FAIRPLAY\":\"com.apple.fairplay\",WIDEVINE_CENC:\"com.widevine.alpha\",PLAYREADY_CENC:\"com.microsoft.playready\",FAIRPLAY:\"com.apple.fairplay\"});var P=function(){function t(e){var r=this;i(this,t),p(this,\"drm\",[]),this.format=e.format,this.deliveryProfileId=e.deliveryProfileId,this.url=e.url,this.protocols=e.protocols,this.flavorIds=e.flavorIds,e.drm&&e.drm.map((function(t){return r.drm.push(new S(t))}))}return u(t,[{key:\"hasDrmData\",value:function(){return this.drm&&this.drm.length>0}},{key:\"hasFlavorIds\",value:function(){return!!this.flavorIds&&this.flavorIds.length>0}},{key:\"getProtocol\",value:function(t){var e=\"\";if(this.protocols&&this.protocols.length>0)this.protocols.split(\",\").forEach((function(r){r===t&&(e=r)}));else if(\"http\"===t)return t;return e}}]),t}(),L=u((function t(e){i(this,t),this.entryId=e.entryId,this.clickThroughUrl=e.url,this.sources=e.sources?e.sources.map((function(t){return new P(t)})):[]})),D=function(){function t(e){i(this,t),this.id=e.id,this.flavorParamsId=e.flavorParamsId,this.fileExt=e.fileExt,this.bitrate=e.bitrate,this.width=e.width,this.height=e.height,this.id=e.id,this.frameRate=e.frameRate,this.isOriginal=e.isOriginal,this.isWeb=e.isWeb,this.containerFormat=e.containerFormat,this.videoCodecId=e.videoCodecId,this.status=e.status,this.language=e.language,this.label=e.label,this.tags=t.parseTags(e.tags)}return u(t,null,[{key:\"parseTags\",value:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\").split(\",\")}}]),t}();p(D,\"Status\",{ERROR:-1,QUEUED:0,CONVERTING:1,READY:2,DELETED:3,NOT_APPLICABLE:4,TEMP:5,WAIT_FOR_CONVERT:6,IMPORTING:7,VALIDATING:8,EXPORTING:9});var x=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.entries=[],t.map((function(t){return e.entries.push(new C(t))}))),e}return u(a)}(A),M=u((function t(e){i(this,t),this.id=e.id,this.metadataProfileId=e.metadataProfileId,this.metadataProfileVersion=e.metadataProfileVersion,this.metadataProfileId=e.metadataProfileId,this.metadataObjectType=e.metadataObjectType,this.objectId=e.objectId,this.version=e.version,this.created=new Date(0),this.created.setUTCSeconds(e.createdAt),this.updated=new Date(0),this.updated.setUTCSeconds(e.updatedAt),this.status=e.status,this.xml=e.xml}));p(M,\"ObjectType\",{AD_CUE_POINT:\"adCuePointMetadata.AdCuePoint\",ANNOTATION:\"annotationMetadata.Annotation\",CODE_CUE_POINT:\"codeCuePointMetadata.CodeCuePoint\",THUMB_CUE_POINT:\"thumbCuePointMetadata.thumbCuePoint\",ENTRY:1,CATEGORY:2,USER:3,PARTNER:4,DYNAMIC_OBJECT:5}),p(M,\"Status\",{VALID:1,INVALID:2,DELETED:3});var U=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.totalCount=t.totalCount,e.totalCount>0&&(e.metas=[],t.objects.map((function(t){return e.metas.push(new M(t))})))),e}return u(a)}(A),N=u((function t(e){i(this,t),this.message=e.message,this.code=e.code}));var j=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;if(i(this,a),p(c(e=n.call(this,t)),\"sources\",[]),p(c(e),\"actions\",[]),p(c(e),\"messages\",[]),p(c(e),\"flavorAssets\",[]),p(c(e),\"bumperData\",[]),!e.hasError){var r=t.messages;r&&r.map((function(t){return e.messages.push(new N(t))}));var s=t.actions;s&&s.map((function(t){t.type===b.Type.REQUEST_HOST_REGEX?e.actions.push(new O(t)):e.actions.push(new b(t))}));var o=t.sources;o&&o.map((function(t){return e.sources.push(new P(t))}));var u=t.flavorAssets;u&&u.map((function(t){return e.flavorAssets.push(new D(t))}));var l=t.bumperData;l&&l.map((function(t){return e.bumperData.push(new L(t))})),t.activeLiveStreamTime&&(e.activeLiveStreamTime={startTime:t.activeLiveStreamTime.startTime,endTime:t.activeLiveStreamTime.endTime})}return e}return u(a,[{key:\"hasBlockAction\",value:function(){return void 0!==this.getBlockAction()}},{key:\"getBlockAction\",value:function(){return this.actions.find((function(t){return t.type===b.Type.BLOCK}))}},{key:\"hasScheduledRestriction\",value:function(){return this.messages.some((function(t){return t.code===b.Type.SCHEDULED_RESTRICTED}))}},{key:\"getErrorMessages\",value:function(){return this.messages}},{key:\"getRequestHostRegexAction\",value:function(){var t=this.actions.find((function(t){return t.type===b.Type.REQUEST_HOST_REGEX}));if(t instanceof O)return t}}]),a}(A),B=u((function t(e){i(this,t),this.id=e.id,this.name=e.name,this.description=e.description,this.poster=e.thumbnailUrl}));var V=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.name=t.name,e.description=t.description,e.objTypeAsString=t.objTypeAsString,e.width=t.width,e.height=t.height,e.htmlParams=t.htmlParams,e.swfUrl=t.swfUrl,e.confFilePath=t.confFilePath,e.confFile=t.confFile,e.confFileFeatures=t.confFileFeatures,e.config=t.config,e.confVars=t.confVars,e.useCdn=t.useCdn,e.tags=t.tags,e.swfUrlVersion=t.swfUrlVersion,e.created=new Date(0),e.created.setUTCSeconds(t.createdAt),e.updated=new Date(0),e.updated.setUTCSeconds(t.updatedAt),e.html5Url=t.description,e.version=t.description,e.partnerTags=t.description,e.objType=t.description,e.creationMode=t.description),e}return u(a)}(A);p(V,\"Type\",{PLAYER:1,CONTRIBUTION_WIZARD:2,SIMPLE_EDITOR:3,ADVANCED_EDITOR:4,PLAYLIST:5,APP_STUDIO:6,KRECORD:7,PLAYER_V3:8,KMC_ACCOUNT:9,KMC_ANALYTICS:10,KMC_CONTENT:11,KMC_DASHBOARD:12,KMC_LOGIN:13,PLAYER_SL:14,CLIENTSIDE_ENCODER:15,KMC_GENERAL:16,KMC_ROLES_AND_PERMISSIONS:17,CLIPPER:18,KSR:19,KUPLOAD:20,WEBCASTING:21}),p(V,\"CreationMode\",{WIZARD:2,ADVANCED:3});var F=u((function t(e){i(this,t),this.playlistLastEntryId=e.playlistLastEntryId,this.entryId=e.entryId,this.id=e.id,this.userId=e.userId,this.partnerId=e.partnerId,this.status=e.status,this.createdAt=e.createdAt,this.updatedAt=e.updatedAt}));var q=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.totalCount=t.totalCount,e.entries=[],e.totalCount>0&&t.objects.map((function(t){return e.entries.push(new F(t))}))),e}return u(a)}(A),H=function(){function t(){i(this,t)}return u(t,null,[{key:\"build\",value:function(t){var e=T.get(),r=e.serviceUrl.substr(0,e.serviceUrl.lastIndexOf(\"/\")),n=t.partnerId,i=t.entryId,a=t.ks,s=t.uiConfId,o=t.format,u=t.protocol,c=t.extension,l=t.flavorIds;if(!r||isNaN(Number.parseInt(n))||!i||!o||!u)return\"\";var f=r;return r.endsWith(\"/\")||(f+=\"/\"),f+=\"p/\"+n+\"/sp/\"+n+\"00/playManifest/entryId/\"+i+\"/protocol/\"+u+\"/format/\"+o,l?f+=\"/flavorIds/\"+l:s&&(f+=\"/uiConfId/\"+s),\"\"!==a&&(f+=\"/ks/\"+a),\"\"!==c&&(f+=\"/a.\"+c),s&&\"\"!==l&&(f+=\"?uiConfId=\"+s),f}}]),t}(),K=function(){function t(){i(this,t)}return u(t,null,[{key:\"xmlToJson\",value:function(t){var e={};if(1===t.nodeType){if(t.attributes.length>0){e[\"@attributes\"]={};for(var r=0;r<t.attributes.length;r++){var n=t.attributes.item(r);e[\"@attributes\"][n.nodeName]=n.nodeValue}}}else 3===t.nodeType&&(e=t.nodeValue);if(t.hasChildNodes())for(var i=0;i<t.childNodes.length;i++){var a=t.childNodes.item(i),s=a.nodeName;if(void 0===e[s])e[s]=this.xmlToJson(a);else{if(void 0===e[s].push){var o=e[s];e[s]=[],e[s].push(o)}e[s].push(this.xmlToJson(a))}}return e}}]),t}(),G={DASH:{name:\"dash\",mimeType:\"application/dash+xml\",pathExt:\"mpd\"},HLS:{name:\"hls\",mimeType:\"application/x-mpegURL\",pathExt:\"m3u8\"},WVM:{name:\"wvm\",mimeType:\"video/wvm\",pathExt:\"wvm\"},MP4:{name:\"mp4\",mimeType:\"video/mp4\",pathExt:\"mp4\"},MP3:{name:\"mp3\",mimeType:\"audio/mpeg\",pathExt:\"mp3\"}},W=new Map([[\"mpegdash\",G.DASH],[\"applehttp\",G.HLS],[\"url\",G.MP4]]);function Y(t){var e=W.get(t);return!!e&&e.name===G.MP4.name}var J=function(){function t(){i(this,t),this.progressive=[],this.dash=[],this.hls=[],this.image=[],this.document=[]}return u(t,[{key:\"map\",value:function(t,e){if(e)switch(e.name){case G.MP4.name:this.progressive.push(t);break;case G.DASH.name:this.dash.push(t);break;case G.HLS.name:this.hls.push(t)}}},{key:\"toJSON\",value:function(){var t={progressive:[],dash:[],hls:[],image:[],document:[]};return this.progressive.forEach((function(e){return t.progressive.push(e.toJSON())})),this.hls.forEach((function(e){return t.hls.push(e.toJSON())})),this.dash.forEach((function(e){return t.dash.push(e.toJSON())})),t.image=this.image,t.document=this.document,t}}]),t}(),X=function(){function t(){i(this,t),this.metadata=new Map,this.sources=new J,this.type=t.Type.UNKNOWN}return u(t,[{key:\"toJSON\",value:function(){return{id:this.id,name:this.name,sources:this.sources.toJSON(),duration:this.duration,dvrStatus:this.dvrStatus,status:this.status,metadata:this.metadata,type:this.type,poster:this.poster,assetReferenceType:this.assetReferenceType,downloadUrl:this.downloadUrl,rawThumbnailUrl:this.rawThumbnailUrl,rootEntryId:this.rootEntryId,capabilities:this.capabilities}}}]),t}();p(X,\"Type\",{VOD:\"Vod\",LIVE:\"Live\",IMAGE:\"Image\",AUDIO:\"Audio\",UNKNOWN:\"Unknown\",DOCUMENT:\"Document\"}),p(X,\"DvrStatus\",{ON:1,OFF:0});var Q=function(){function t(e,r,n){i(this,t),this.licenseUrl=e,this.scheme=r,n&&(this.certificate=n)}return u(t,[{key:\"toJSON\",value:function(){var t={licenseUrl:this.licenseUrl,scheme:this.scheme};return this.certificate&&(t.certificate=this.certificate),t}}]),t}(),z=function(){function t(){i(this,t)}return u(t,[{key:\"toJSON\",value:function(){var t={id:this.id,url:this.url,mimetype:this.mimetype};return this.bandwidth&&(t.bandwidth=this.bandwidth),this.width&&(t.width=this.width),this.height&&(t.height=this.height),this.label&&(t.label=this.label),this.drmData&&this.drmData.length>0&&(t.drmData=[],this.drmData.forEach((function(e){Array.isArray(t.drmData)&&t.drmData.push(e.toJSON())}))),t}}]),t}(),Z=u((function t(){i(this,t),this.items=[]})),$=u((function t(){i(this,t),this.items=[]})),tt=u((function t(e){i(this,t),this.url=e.url,this.clickThroughUrl=e.clickThroughUrl})),et={SRT:\"1\",DFXP:\"2\",WEBVTT:\"3\",CAP:\"4\"},rt={3:\"vtt\",1:\"srt\"},nt=function(){function t(){i(this,t)}return u(t,null,[{key:\"createConfig\",value:function(t,e){return t.map((function(t){var r=t.url,n=rt[t.format];return[et.DFXP,et.CAP].includes(t.format)&&(r=t.webVttUrl,n=rt[et.WEBVTT]),r=ot(r,e),{default:!!t.isDefault,type:n,language:t.languageCode,label:t.label,url:r}}))}}]),t}(),it=function(){function t(e){i(this,t),this.id=e.id,this.url=t.extractBaseThumbnailUrl(e.dataUrl),this.mimetype=\"\"}return u(t,null,[{key:\"extractBaseThumbnailUrl\",value:function(t){return t.match(\".+entry_id/[a-zA-Z0-9_]+/\")[0].slice(0,-1)}}]),t}(),at=u((function t(e){i(this,t),this.id=e.id,this.url=e.downloadUrl,this.thumbnailUrl=e.poster,this.mimetype=\"\"})),st=function(){function t(){i(this,t)}return u(t,null,[{key:\"getMediaEntry\",value:function(e,r,n,i){var a=new X,s=i.entry,o=i.playBackContextResult,u=i.metadataListResult,c=o.sources;return a.activeLiveStreamTime=o.activeLiveStreamTime,a.sources=t._getParsedSources(c,e,r,n,s,o),t._fillBaseData(a,s,u,o),a.type!==X.Type.LIVE&&T.get().useApiCaptions&&o.data.playbackCaptions&&(a.sources.captions=nt.createConfig(o.data.playbackCaptions,e)),a}},{key:\"addKsToUrl\",value:function(t,e){var r;return e?(r=-1!==t.split(\"?\")[0].replace(/^.*[\\\\/]/,\"\").indexOf(\".\")?-1===t.indexOf(\"?\")?\"?ks=\":\"&ks=\":\"/ks/\",t+r+e):t}},{key:\"getPlaylist\",value:function(e){var r=new Z,n=e.playlistData,i=e.playlistItems.entries,a=e.playlistUserEntries.entries;return r.id=n.id,r.name=n.name,r.description=n.description,r.poster=n.poster,r.playlistLastEntryId=a.map((function(t){return t.playlistLastEntryId}))[0],i.forEach((function(e){var n=new X;t._fillBaseData(n,e),r.items.push(n)})),r}},{key:\"getEntryList\",value:function(e){var r=new $;return e.playlistItems.entries.forEach((function(e){var n=new X;t._fillBaseData(n,e),r.items.push(n)})),r}},{key:\"getBumper\",value:function(e,r,n){var i=e.playBackContextResult,a=i.bumperData[0];if(a){var s=(a&&a.sources).find((function(t){return Y(t.format)}));if(s){var o=t._parseProgressiveSources(s,i,r,n,0,a.entryId);if(o[0])return new tt({url:o[0].url,clickThroughUrl:a.clickThroughUrl})}}}},{key:\"_fillBaseData\",value:function(e,r,n,i){if(e.poster=r.poster,e.rawThumbnailUrl=r.rawThumbnailUrl,e.id=r.id,e.duration=r.duration,e.downloadUrl=r.downloadUrl||\"\",e.metadata=t._parseMetadata(n),e.metadata.description=r.description||\"\",e.metadata.entryId=r.id||\"\",e.metadata.name=r.name||\"\",r.createdAt&&(e.metadata.createdAt=r.createdAt),r.updatedAt&&(e.metadata.updatedAt=r.updatedAt),r.creatorId&&(e.metadata.creatorId=r.creatorId),r.userId&&(e.metadata.userId=r.userId),r.endDate&&(e.metadata.endDate=r.endDate),r.views&&(e.metadata.views=r.views),r.plays&&(e.metadata.plays=r.plays),e.metadata.tags=r.tags||\"\",e.metadata.adminTags=r.adminTags||\"\",e.status=r.status,e.rootEntryId=r.rootEntryId,e.capabilities=r.capabilities?r.capabilities.split(\",\"):[],e.type=t._getEntryType(r.entryType,r.type),e.type===X.Type.LIVE&&(e.dvrStatus=r.dvrStatus),i&&i.flavorAssets[0]&&i.flavorAssets[0].width&&i.flavorAssets[0].height){var a=i.flavorAssets[0],s=a.height,o=a.width;e.metadata.aspectRatio=+Number(o/s).toFixed(2)}return i&&Array.isArray(i.flavorAssets)&&(e.metadata.audioFlavors=i.flavorAssets.filter((function(t){return t.bitrate&&!t.width&&!t.height}))),e}},{key:\"_getEntryType\",value:function(t,e){var r=X.Type.UNKNOWN;switch(t){case C.MediaType.IMAGE.value:r=X.Type.IMAGE;break;case C.MediaType.AUDIO.value:r=X.Type.AUDIO;break;default:switch(e){case C.EntryType.MEDIA_CLIP.value:r=X.Type.VOD;break;case C.EntryType.LIVE_STREAM.value:case C.EntryType.LIVE_CHANNEL.value:r=X.Type.LIVE;break;case C.EntryType.DOCUMENT.value:r=X.Type.DOCUMENT;break;default:r=X.Type.UNKNOWN}}return r}},{key:\"_getParsedSources\",value:function(e,r,n,i,a,s){var o,u,c=new J;return a.type===C.EntryType.EXTERNAL_MEDIA.value?((u=new z).mimetype=\"video/youtube\",u.url=a.referenceId,u.id=a.id+\"_youtube\",c.progressive.push(u)):a.entryType===C.MediaType.IMAGE.value?c.image.push(new it(a)):a.type===C.EntryType.DOCUMENT.value?c.document.push(new at(a)):e&&e.length>0&&(e.filter((function(t){return!Y(t.format)})).forEach((function(e){var o=t._parseAdaptiveSource(e,s,r,n,i,a.id);if(o){var u=W.get(e.format);c.map(o,u)}})),o=e.find((function(e){return Y(e.format)&&\"\"!==e.getProtocol(t._getBaseProtocol())})),c.progressive=t._parseProgressiveSources(o,s,r,n,i,a.id)),c}},{key:\"_parseAdaptiveSource\",value:function(e,r,n,i,a,s){var o=new z;if(e){var u=\"\",c=W.get(e.format),l=e.getProtocol(t._getBaseProtocol()),f=e.deliveryProfileId,d=e.format,h=\"\";if(c&&(h=c.pathExt,o.mimetype=c.mimeType),e.hasFlavorIds()?(!h&&r.flavorAssets&&r.flavorAssets.length>0&&(h=r.flavorAssets[0].fileExt),u=H.build({entryId:s,flavorIds:e.flavorIds,format:d,ks:n,partnerId:i,uiConfId:a,extension:h,protocol:l})):u=t.addKsToUrl(e.url,n),!u){var p=\"failed to create play url from source, discarding source: (\".concat(s,\"_\").concat(f,\"), \").concat(d);return t._logger.warn(p),null}if(o.url=u,o.id=s+\"_\"+f+\",\"+d,e.hasDrmData()){var y=[];e.drm.forEach((function(t){y.push(new Q(t.licenseURL,S.Scheme[t.scheme],t.certificate))})),o.drmData=y}}return o}},{key:\"_parseProgressiveSources\",value:function(e,r,n,i,a,s){var o=[],u=[];if(e){var c=e.getProtocol(t._getBaseProtocol()),l=e.format,f=e.deliveryProfileId,d=f+\",\"+l;r.flavorAssets.map((function(e){var r=new z;r.id=e.id+d,r.mimetype=\"mp3\"===e.fileExt?\"audio/mp3\":\"video/mp4\",r.height=e.height,r.width=e.width,r.bandwidth=1024*e.bitrate,r.label=e.label||e.language;var h=H.build({entryId:s,flavorIds:e.id,format:l,ks:n,partnerId:i,uiConfId:a,extension:e.fileExt,protocol:c});if(\"\"===h)return t._logger.warn(\"failed to create play url from source, discarding source: (\".concat(s,\"_\").concat(f,\"), \").concat(l,\".\")),null;r.url=h,e.height&&e.width?o.push(r):u.push(r)}))}return u.length&&!o.length?u:o}},{key:\"_parseMetadata\",value:function(t){var e={};return t&&t.metas&&t.metas.length>0&&t.metas.forEach((function(t){if(t.xml){var r=new DOMParser;t.xml=t.xml.replace(/\\r?\\n|\\r/g,\"\"),t.xml=t.xml.replace(/>\\s*/g,\">\"),t.xml=t.xml.replace(/>\\s*/g,\">\");var n=r.parseFromString(t.xml,\"text/xml\"),i=K.xmlToJson(n);Object.keys(i.metadata).forEach((function(t){e[t]=i.metadata[t][\"#text\"]}))}})),e}},{key:\"_getBaseProtocol\",value:function(){var t=T.get(),e=/^https?:/.exec(t.cdnUrl),r=e?e[0]:document.location.protocol;return\"string\"==typeof r?r.slice(0,-1):\"https\"}},{key:\"hasBlockAction\",value:function(t){return t.playBackContextResult.hasBlockAction()}},{key:\"getBlockAction\",value:function(t){return t.playBackContextResult.getBlockAction()}},{key:\"hasScheduledRestriction\",value:function(t){return t.playBackContextResult.hasScheduledRestriction()}},{key:\"getErrorMessages\",value:function(t){return t.playBackContextResult.getErrorMessages()}}]),t}();p(st,\"_logger\",_(\"OVPProviderParser\"));var ot=st.addKsToUrl,ut=st,ct=u((function t(e,r,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};i(this,t),this.severity=e,this.category=r,this.code=n,this.data=a,t._logger.error(\"Category:\".concat(r,\" | Code:\").concat(n,\" |\"),a)}));p(ct,\"Severity\",{RECOVERABLE:1,CRITICAL:2}),p(ct,\"Category\",{NETWORK:1,SERVICE:2,PROVIDER:3}),p(ct,\"Code\",{UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,SCHEDULED_RESTRICTED:2003,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002}),p(ct,\"_logger\",_(\"Error\"));var lt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map;i(this,t),p(this,\"retryConfig\",{async:!0,timeout:0,maxAttempts:4}),p(this,\"_attemptCounter\",1),this.headers=e}return u(t,[{key:\"getUrl\",value:function(t){return t+\"/service/\"+this.service+(this.action?\"/action/\"+this.action:\"\")}},{key:\"doHttpRequest\",value:function(){var t=this,e=new Promise((function(e,r){t._requestPromise={resolve:e,reject:r}}));return this.url||this._requestPromise.reject(new ct(ct.Severity.CRITICAL,ct.Category.NETWORK,ct.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),e}},{key:\"_createXHR\",value:function(){var t=this,e=new XMLHttpRequest;e.onreadystatechange=function(){if(4===e.readyState&&200===e.status)try{var r=JSON.parse(e.responseText);return t.responseHeaders=t._getResponseHeaders(e),t._requestPromise.resolve(r)}catch(r){t._requestPromise.reject(t._createError(e,ct.Code.BAD_SERVER_RESPONSE,{text:e.responseText}))}},e.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(e.timeout=this.retryConfig.timeout);var r=performance.now();e.ontimeout=function(){t._handleError(e,ct.Code.TIMEOUT,{timeout:(performance.now()-r)/1e3,statusText:e.statusText})},e.onerror=e.onabort=function(){t._handleError(e,ct.Code.HTTP_ERROR,{text:e.responseText,statusText:e.statusText})},this.headers.forEach((function(t,r){e.setRequestHeader(r,t)})),e.send(this.params)}},{key:\"_getResponseHeaders\",value:function(t){return t.getAllResponseHeaders().split(\"\\n\").filter((function(t){return 0===t.toLowerCase().indexOf(\"x-\")}))}},{key:\"_handleError\",value:function(t,e,r){var n=this._createError(t,e,r);if(t.onreadystatechange=function(){},t.onerror=function(){},t.ontimeout=function(){},t.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(n);this._attemptCounter++,this._createXHR()}},{key:\"_createError\",value:function(t,e,r){return Object.assign(r,{url:this.url,headers:this._getResponseHeaders(t),attempt:this._attemptCounter}),new ct(ct.Severity.CRITICAL,ct.Category.NETWORK,e,r)}}]),t}();var ft=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){var t;i(this,a);for(var e=arguments.length,r=new Array(e),s=0;s<e;s++)r[s]=arguments[s];return p(c(t=n.call.apply(n,[this].concat(r))),\"requests\",[]),t}return u(a,[{key:\"add\",value:function(t){this.requests.push(t);var e={},r={service:t.service,action:t.action};return Object.assign(e,p({},this.requests.length,Object.assign(r,t.params))),Object.assign(e,this.params),this.params=e,this}},{key:\"execute\",value:function(t){var e=this;return new Promise((function(r,n){try{e.params=JSON.stringify(e.params)}catch(t){a._logger.error(\"\".concat(t.message)),n(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.FAILED_PARSING_REQUEST,{error:t,params:e.params}))}e.doHttpRequest().then((function(i){var a=new dt(i,t);a.success?r({headers:e.responseHeaders,response:a}):n(new ct(ct.Severity.CRITICAL,ct.Category.NETWORK,ct.Code.MULTIREQUEST_API_ERROR,{url:e.url,headers:e.responseHeaders,results:a.results}))}),(function(t){n(t)}))}))}}]),a}(lt);p(ft,\"_logger\",_(\"MultiRequestBuilder\"));var dt=u((function t(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];i(this,t),p(this,\"results\",[]);var n=e.result?e.result:e,a=(Array.isArray(n)?n:[n]).map((function(t){return new A(t)})),s=a.filter((function(t){return t.hasError}));s.forEach((function(e){t._logger.error(\"Service returned an error with error code: \".concat(e.error.code,\" and message: \").concat(e.error.message,\".\"))})),this.results=a,r&&s.length||s.length===this.results.length?this.success=!1:(this.results=this.results.filter((function(t){return!t.hasError})),this.success=!0)}));p(dt,\"_logger\",_(\"MultiRequestResult\"));var ht=function(){function t(){i(this,t)}return u(t,null,[{key:\"getMultiRequest\",value:function(t,e,r){var n=T.get(),i=n.serviceParams;Object.assign(i,{ks:e,clientTag:\"html5:v\"+t}),r&&Object.assign(i,{partnerId:r});var a=new Map;a.set(\"Content-Type\",\"application/json\");var s=new ft(a);return s.method=\"POST\",s.service=\"multirequest\",s.url=s.getUrl(n.serviceUrl),s.params=i,s}}]),t}(),pt=u((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,t),this.type=e.type||t.Type.INCLUDE_FIELDS,this.fields=e.fields||\"id,referenceId,name,description,thumbnailUrl,dataUrl,duration,msDuration,flavorParamsIds,mediaType,type,tags,dvrStatus,externalSourceType,status,createdAt,updatedAt,endDate,plays,views,downloadUrl,creatorId,userId,rootEntryId,capabilities,adminTags\"}));p(pt,\"Type\",{INCLUDE_FIELDS:1,EXCLUDE_FIELDS:2});var yt=\"baseEntry\",vt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"getPlaybackContext\",value:function(t,e,r,n){var i=new Map;i.set(\"Content-Type\",\"application/json\");var a=new lt(i);a.service=yt,a.action=\"getPlaybackContext\",a.method=\"POST\",a.url=a.getUrl(t),a.tag=\"baseEntry-getPlaybackContext\";var s={objectType:\"KalturaContextDataParams\",flavorTags:\"all\"};return n&&(s.referrer=n),a.params={entryId:r,ks:e,contextDataParams:s},a}},{key:\"list\",value:function(t,e,r,n,i){var s=new Map;s.set(\"Content-Type\",\"application/json\");var o=new lt(s);return o.service=yt,o.action=\"list\",o.method=\"POST\",o.url=o.getUrl(t),o.tag=\"list\",o.params=a.getEntryListReqParams(r,e,n,i),o}},{key:\"getEntryListReqParams\",value:function(t,e,r,n){var i={};return t?i=r?{redirectFromEntryId:t}:{idEqual:t}:n&&(i={objectType:\"KalturaBaseEntryFilter\",referenceIdEqual:n}),{ks:e,filter:i,responseProfile:new pt}}}]),a}(ht);var mt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"list\",value:function(t,e,r){var n=new Map;n.set(\"Content-Type\",\"application/json\");var i=new lt(n);i.service=\"metadata_metadata\",i.action=\"list\",i.method=\"POST\",i.url=i.getUrl(t),i.tag=\"metadata_metadata-list\";var a={objectType:\"KalturaMetadataFilter\",objectIdEqual:r,metadataObjectTypeEqual:\"1\"};return i.params={filter:a,ks:e},i}}]),a}(ht),gt=function(){function t(e){i(this,t),p(this,\"_response\",{}),this.requests=this.buildRequests(e),this._entryId=e.entryId,this._referenceId=e.referenceId}return u(t,[{key:\"requests\",get:function(){return this._requests},set:function(t){this._requests=t}},{key:\"response\",get:function(){return this._response},set:function(t){var e=new k(t[0].data);this._response.entry=e.entries[0],this._response.playBackContextResult=new j(t[1].data),this._response.metadataListResult=new U(t[2].data)}},{key:\"buildRequests\",value:function(t){var e=T.get(),r=[];r.push(vt.list(e.serviceUrl,t.ks,t.entryId,t.redirectFromEntryId,t.referenceId));var n=\"{1:result:ks}\"===t.ks?\"{2:result:objects:0:id}\":\"{1:result:objects:0:id}\";return r.push(vt.getPlaybackContext(e.serviceUrl,t.ks,n,t.referrer)),r.push(mt.list(e.serviceUrl,t.ks,n)),r}},{key:\"isValid\",value:function(){return!(!this._entryId&&!this._referenceId)}}],[{key:\"id\",get:function(){return\"media\"}}]),t}();var Et=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"anonymousSession\",value:function(t,e){var r=new Map;r.set(\"Content-Type\",\"application/json\");var n=new lt(r);return n.service=\"session\",n.action=\"startWidgetSession\",n.method=\"POST\",n.url=n.getUrl(t),n.tag=\"session-startWidget\",n.params={widgetId:e},n}}]),a}(ht),_t=function(){function t(e){i(this,t),p(this,\"_response\",{}),this.requests=this.buildRequests(e),this._widgetId=e.widgetId}return u(t,[{key:\"requests\",get:function(){return this._requests},set:function(t){this._requests=t}},{key:\"response\",get:function(){return this._response.ks},set:function(t){this._response.ks=t[0].data.ks}},{key:\"buildRequests\",value:function(t){var e=T.get(),r=[];return r.push(Et.anonymousSession(e.serviceUrl,t.widgetId)),r}},{key:\"isValid\",value:function(){return!!this._widgetId}}],[{key:\"id\",get:function(){return\"session\"}}]),t}();var Rt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t,e){var r,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",o=arguments.length>3?arguments[3]:void 0;return i(this,a),(r=n.call(this,o))._multiRequest=ht.getMultiRequest(t,s,e),r}return u(a)}(function(){function t(e){i(this,t),p(this,\"_loadersResponseMap\",new Map),p(this,\"_loaders\",new Map),this._networkRetryConfig=e}return u(t,[{key:\"add\",value:function(t,e,r){var n=this,i=new t(e);if(i.isValid()){this._loaders.set(t.id,i);var a=this._multiRequest.requests.length,s=i.requests;this._multiRequest.retryConfig=this._networkRetryConfig,s.forEach((function(t){t.params=t.params||{},t.params.ks=t.params.ks||r,n._multiRequest.add(t)}));var o=Array.from(new Array(s.length),(function(t,e){return e+a}));this._loadersResponseMap.set(t.id,o)}}},{key:\"fetchData\",value:function(t){var e=this;return new Promise((function(r,n){e._multiRequest.execute(t).then((function(t){e._multiResponse=t.response,e.prepareData(t.response).success?r(e._loaders):n(new ct(ct.Severity.CRITICAL,ct.Category.NETWORK,ct.Code.API_RESPONSE_MISMATCH,{headers:t.headers}))}),(function(t){n(t)}))}))}},{key:\"prepareData\",value:function(t){var e=this;return this._loaders.forEach((function(r,n){var i=e._loadersResponseMap.get(n);try{i&&i.length>0&&(r.response=t.results.slice(i[0],i[i.length-1]+1))}catch(t){return{success:!1,error:t}}})),{success:!0,data:this._loaders}}}]),t}());var It=\"playlist\",Tt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"execute\",value:function(t,e,r,n){var i=new Map;i.set(\"Content-Type\",\"application/json\");var a=new lt(i);a.service=It,a.action=\"execute\",a.method=\"POST\",a.url=a.getUrl(t),a.tag=\"\".concat(It,\"-execute\");var s=new pt;return n&&(s.fields=s.fields+n),a.params={ks:e,id:r,responseProfile:s},a}},{key:\"get\",value:function(t,e,r){var n=new Map;n.set(\"Content-Type\",\"application/json\");var i=new lt(n);return i.service=It,i.action=\"get\",i.method=\"POST\",i.url=i.getUrl(t),i.tag=\"\".concat(It,\"-get\"),i.params={ks:e,id:r,responseProfile:{fields:\"id,name,description,thumbnailUrl\",type:1}},i}},{key:\"getLastEntryId\",value:function(t,e,r){var n=new Map;n.set(\"Content-Type\",\"application/json\");var i=new lt(n);return i.service=\"userEntry\",i.action=\"list\",i.method=\"POST\",i.url=i.getUrl(t),i.tag=\"userEntry-list\",i.params={ks:e,filter:{objectType:\"KalturaViewHistoryUserEntry\",entryIdEqual:r,userIdEqualCurrent:1},responseProfile:{fields:\"playlistLastEntryId\",type:1}},i}}]),a}(ht),At=function(){function t(e){i(this,t),p(this,\"_response\",{}),this.requests=this.buildRequests(e),this._playlistId=e.playlistId}return u(t,[{key:\"requests\",get:function(){return this._requests},set:function(t){this._requests=t}},{key:\"response\",get:function(){return this._response},set:function(t){this._response.playlistData=new B(t[0].data),this._response.playlistItems=new x(t[1].data),this._response.playlistUserEntries=new q(t[2].data)}},{key:\"buildRequests\",value:function(t){var e=T.get(),r=[];return r.push(Tt.get(e.serviceUrl,t.ks,t.playlistId)),r.push(Tt.execute(e.serviceUrl,t.ks,t.playlistId,t.cacheToken)),r.push(Tt.getLastEntryId(e.serviceUrl,t.ks,t.playlistId)),r}},{key:\"isValid\",value:function(){return!!this._playlistId}}],[{key:\"id\",get:function(){return\"playlist\"}}]),t}(),wt=function(){function t(e,r){i(this,t),p(this,\"_networkRetryConfig\",{async:!0,timeout:0,maxAttempts:4}),function(t){t&&\"function\"==typeof t.getLogger&&(m.get=t.getLogger),t&&t.LogLevel&&(g=t.LogLevel)}(e.logger),this._partnerId=e.partnerId,this._widgetId=e.widgetId,this._uiConfId=e.uiConfId,this._isAnonymous=!e.ks,this._ks=e.ks||\"\",this._playerVersion=r,this._referrer=e.referrer}return u(t,[{key:\"partnerId\",get:function(){return this._partnerId}},{key:\"widgetId\",get:function(){return this._widgetId||this.defaultWidgetId}},{key:\"defaultWidgetId\",get:function(){return\"_\"+this._partnerId}},{key:\"uiConfId\",get:function(){return this._uiConfId}},{key:\"ks\",get:function(){return this._ks},set:function(t){this._ks=t}},{key:\"playerVersion\",get:function(){return this._playerVersion}},{key:\"isAnonymous\",get:function(){return this._isAnonymous}},{key:\"getMediaConfig\",value:function(t){return Promise.reject(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.METHOD_NOT_IMPLEMENTED,{message:\"getMediaConfig method must be implement by the derived class\"}))}},{key:\"getPlaylistConfig\",value:function(t){return Promise.reject(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.METHOD_NOT_IMPLEMENTED,{message:\"The provider does not support loading playlist by id\"}))}},{key:\"getEntryListConfig\",value:function(t){return Promise.reject(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.METHOD_NOT_IMPLEMENTED,{message:\"The provider does not support loading entry list\"}))}},{key:\"_verifyHasSources\",value:function(t){if(0===t.hls.concat(t.dash,t.progressive,t.image,t.document).length)throw new ct(ct.Severity.CRITICAL,ct.Category.SERVICE,ct.Code.MISSING_PLAY_SOURCE,{action:\"\",messages:\"No play source for entry id: \".concat(t.id)})}},{key:\"LogLevel\",get:function(){return g}},{key:\"getLogLevel\",value:function(t){return function(t){return E(t).getLevel()}(t)}},{key:\"setLogLevel\",value:function(t,e){!function(t,e){E(e).setLevel(t)}(t,e)}}]),t}(),Ct=function(){function t(e){i(this,t),p(this,\"_response\",{playlistItems:{entries:[]}}),this.requests=this.buildRequests(e),this._entries=e.entries}return u(t,[{key:\"requests\",get:function(){return this._requests},set:function(t){this._requests=t}},{key:\"response\",get:function(){return this._response},set:function(t){var e,r=this;t.forEach((function(t){e=new k(t.data),r._response.playlistItems.entries.push(e.entries[0])}))}},{key:\"buildRequests\",value:function(t){var e=T.get(),r=[];return t.entries.forEach((function(n){r.push(vt.list(e.serviceUrl,t.ks,n.entryId||n,t.redirectFromEntryId,n.referenceId))})),r}},{key:\"isValid\",value:function(){return!(!this._entries||!this._entries.length)}}],[{key:\"id\",get:function(){return\"entry_list\"}}]),t}();function kt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function bt(t){return function(t){if(Array.isArray(t))return kt(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(t){if(\"string\"==typeof t)return kt(t,e);var r=Object.prototype.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)?kt(t,e):void 0}}(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.\")}()}var Ot=function(){function t(){i(this,t)}return u(t,null,[{key:\"_applyRegexAction\",value:function(t,e){if(t){var r=new RegExp(t.pattern,\"i\");if(e.match(r))return e.replace(r,t.replacement+\"/\")}return e}},{key:\"_pingECDNAndReplaceHostUrls\",value:function(e,r,n){return new Promise((function(i){var a=n+\"/api_v3/service/system/action/ping/format/1\",s=new XMLHttpRequest;s.open(\"GET\",a),s.timeout=r.checkAliveTimeoutMs,s.onreadystatechange=function(){4===s.readyState&&(200===s.status&&t._replaceHostUrls(e,r),i(e))},s.ontimeout=function(){t._logger.warn(\"Got timeout while pinging the ECDN url. the ping url: \".concat(a)),i(e)},s.send()}))}},{key:\"handleRegexAction\",value:function(e,r){return new Promise((function(n){var i=T.get().cdnUrl,a=t._extractRegexActionFromData(r),s=t._getRegExp(a);i&&a&&s&&i.match(s)?a.checkAliveTimeoutMs>0?(t._logger.debug(\"executing ping request...\"),t._pingECDNAndReplaceHostUrls(e,a,i.replace(s,a.replacement)).then(n)):(t._replaceHostUrls(e,a),n(e)):(t._logger.debug(\"exiting handleRegexAction - not applying regex action.\"),n(e))}))}},{key:\"_replaceHostUrls\",value:function(e,r){t._logger.debug(\"Starting to modify urls...\");var n=e.sources,i=n.hls,a=n.dash,s=n.progressive,o=n.image;[].concat(bt(i),bt(a),bt(s),bt(o)).forEach((function(e){return e.url=t._applyRegexAction(r,e.url)})),T.get().replaceHostOnlyManifestUrls||(t._logger.debug(\"replaceHostOnlyManifestUrls flag is off - modifying captions and poster URLs\"),n.captions&&n.captions.forEach((function(e){return e.url=t._applyRegexAction(r,e.url)})),\"string\"==typeof n.poster&&(n.poster=t._applyRegexAction(r,n.poster))),t._logger.debug(\"Finished modifying urls\")}},{key:\"_extractRegexActionFromData\",value:function(t){var e;return null===(e=t.get(gt.id))||void 0===e||null===(e=e.response)||void 0===e?void 0:e.playBackContextResult.getRequestHostRegexAction()}},{key:\"_getRegExp\",value:function(t){if(t&&t.pattern&&t.replacement)return new RegExp(t.pattern,\"i\")}}]),t}();p(Ot,\"_logger\",_(\"RegexActionHandler\"));var St=Ot;var Pt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"get\",value:function(t,e){var r=new Map;r.set(\"Content-Type\",\"application/json\");var n=new lt(r);return n.service=\"user\",n.action=\"get\",n.method=\"POST\",n.url=n.getUrl(t),n.tag=\"user-get\",n.params={ks:e,format:1},n}}]),a}(ht),Lt=function(){function t(e){i(this,t),this.id=e.id}return u(t,[{key:\"isAnonymous\",value:function(){return t.INVALID_IDS.includes(this.id)}}]),t}();p(Lt,\"INVALID_IDS\",[\"0\",\"\",null,void 0]);var Dt=function(t){f(l,t);var r,n,a,s,o=(a=l,s=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=h(a);if(s){var r=h(this).constructor;t=Reflect.construct(e,arguments,r)}else t=e.apply(this,arguments);return d(this,t)});function l(t,e){var r;return i(this,l),p(c(r=o.call(this,t,e)),\"_filterOptionsConfig\",{redirectFromEntryId:!0}),p(c(r),\"_retryAttempts\",0),r._logger=_(\"OVPProvider\"),T.set(t.env),r._setFilterOptionsConfig(t.filterOptions),r._vrTag=t.vrTag||\"360\",r._networkRetryConfig=Object.assign(r._networkRetryConfig,t.networkRetryParameters),r._isAnonymous=!r._ks||void 0,void 0===r._isAnonymous&&r.initializeUserResponse(T.serviceUrl,r._ks).then((function(){r._logger.info(\"User response initialized\")})).catch((function(t){r._logger.error(\"Failed to initialize user response\",t)})),r}return u(l,[{key:\"env\",get:function(){return T.get()}},{key:\"initializeUserResponse\",value:(r=v().mark((function t(e,r){var n,i,a;return v().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(n=Pt.get(e,r)).params=JSON.stringify(n.params),t.next=4,n.doHttpRequest();case 4:i=t.sent,a=new Lt(i),this._isAnonymous=a.isAnonymous();case 7:case\"end\":return t.stop()}}),t,this)})),n=function(){var t=this,n=arguments;return new Promise((function(i,a){var s=r.apply(t,n);function o(t){e(s,i,a,o,u,\"next\",t)}function u(t){e(s,i,a,o,u,\"throw\",t)}o(void 0)}))},function(t,e){return n.apply(this,arguments)})},{key:\"getMediaConfig\",value:function(t){var e=this;return t.ks&&(this.ks=t.ks),this._dataLoader=new Rt(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var i=t.entryId,a=t.referenceId;if(i||a){var s=e.ks;s||(s=\"{1:result:ks}\",e._dataLoader.add(_t,{widgetId:e.widgetId}));var o=e._getEntryRedirectFilter(t);return e._dataLoader.add(gt,{entryId:i,ks:s,redirectFromEntryId:o,referenceId:a,referrer:e._referrer}),e._dataLoader.fetchData().then((function(t){try{var i=e._parseDataFromResponse(t);St.handleRegexAction(i,t).then(r)}catch(t){n(t)}}),(function(t){n(t)}))}n(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.MISSING_MANDATORY_PARAMS,{message:\"missing entry id\"}))}))}},{key:\"doRequest\",value:function(t,e,r){var n=this,i=e||this.ks,a=new Rt(this.playerVersion,this.partnerId,i,this._networkRetryConfig);return new Promise((function(e,s){return i||a.add(_t,{widgetId:n.widgetId}),t.forEach((function(t){a.add(t.loader,t.params,i||\"{1:result:ks}\")})),a.fetchData(r).then((function(t){try{e(t)}catch(t){s(t)}}),(function(t){s(t)}))}))}},{key:\"_getEntryRedirectFilter\",value:function(t){return\"boolean\"==typeof t.redirectFromEntryId?t.redirectFromEntryId:\"boolean\"!=typeof this._filterOptionsConfig.redirectFromEntryId||this._filterOptionsConfig.redirectFromEntryId}},{key:\"_setFilterOptionsConfig\",value:function(t){t&&\"boolean\"==typeof t.redirectFromEntryId&&(this._filterOptionsConfig.redirectFromEntryId=t.redirectFromEntryId)}},{key:\"_parseDataFromResponse\",value:function(t){this._logger.debug(\"Data parsing started\");var e={session:{isAnonymous:this._isAnonymous,partnerId:this.partnerId},sources:this._getDefaultSourcesObject(),plugins:{}};if(this.uiConfId&&(e.session.uiConfId=this.uiConfId),t){if(t.has(_t.id)){var r=t.get(_t.id);r&&r.response&&(e.session.ks=r.response,this.widgetId!==this.defaultWidgetId&&(this.ks=e.session.ks))}else e.session.ks=this.ks;if(t.has(gt.id)){var n=t.get(gt.id);if(n&&n.response){var i=n.response;if(ut.hasBlockAction(i))throw new ct(ct.Severity.CRITICAL,ct.Category.SERVICE,ct.Code.BLOCK_ACTION,{action:ut.getBlockAction(i),messages:ut.getErrorMessages(i)});if(ut.hasScheduledRestriction(i))throw new ct(ct.Severity.CRITICAL,ct.Category.SERVICE,ct.Code.SCHEDULED_RESTRICTED,{messages:ut.getErrorMessages(i)});var a=ut.getMediaEntry(this.ks,this.partnerId,this.uiConfId,i);Object.assign(e.sources,this._getSourcesObject(a)),this._verifyMediaStatus(a),this._verifyHasSources(e.sources);var s=ut.getBumper(i,this.ks,this.partnerId);s&&Object.assign(e.plugins,{bumper:s})}}}return this._logger.debug(\"Data parsing finished\",e),e}},{key:\"_verifyMediaStatus\",value:function(t){if([C.EntryStatus.IMPORT,C.EntryStatus.PRECONVERT].includes(t.status))throw new ct(ct.Severity.CRITICAL,ct.Category.SERVICE,ct.Code.MEDIA_STATUS_NOT_READY,{messages:\"Status of entry id \".concat(t.id,\" is \").concat(t.status,\" and is still being imported or converted\"),data:{status:status}})}},{key:\"getPlaylistConfig\",value:function(t){var e=this;return t.ks&&(this.ks=t.ks),this._dataLoader=new Rt(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var i=t.playlistId;if(i){var a=e.ks;a||(a=\"{1:result:ks}\",e._dataLoader.add(_t,{widgetId:e.widgetId})),e._dataLoader.add(At,{playlistId:i,ks:a}),e._dataLoader.fetchData().then((function(i){try{e._handlePlaylistResponse(i,r,n,t)}catch(t){n(t)}}),(function(t){n(t)}))}else n({success:!1,data:\"Missing mandatory parameter\"})}))}},{key:\"_handlePlaylistResponse\",value:function(t,e,r,n){this._logger.debug(\"Handling playlist response\",{attempt:this._retryAttempts+1,maxAttempts:10});var i=this._parsePlaylistDataFromResponse(t);i.items.length>0?this._handlePlaylistSuccess(i,e):this._handlePlaylistRetry(e,r,n)}},{key:\"_handlePlaylistSuccess\",value:function(t,e){this._logger.debug(\"Playlist items found\",{itemsCount:t.items.length,totalAttempts:this._retryAttempts+1}),this._retryAttempts=0,e(t)}},{key:\"_handlePlaylistRetry\",value:function(t,e,r){this._retryAttempts>=10?this._handleMaxRetriesReached(e):(this._retryAttempts++,this._schedulePlaylistRetry(t,e,r))}},{key:\"_handleMaxRetriesReached\",value:function(t){this._logger.error(\"Max retry attempts reached - rejecting playlist\",{maxAttempts:10}),this._retryAttempts=0,t(this._getPlaylistObject())}},{key:\"_schedulePlaylistRetry\",value:function(t,e,r){var n=this;setTimeout((function(){n._dataLoader=new Rt(n.playerVersion,n.partnerId,n.ks,n._networkRetryConfig);var i=n.ks;i||(i=\"{1:result:ks}\",n._dataLoader.add(_t,{widgetId:n.widgetId}));var a={playlistId:r.playlistId,ks:i,cacheToken:\",\".repeat(n._retryAttempts)};n._dataLoader.add(At,a),n._dataLoader.fetchData().then((function(i){n._handlePlaylistResponse(i,t,e,r)}),(function(t){e(t)}))}),1e4)}},{key:\"_parsePlaylistDataFromResponse\",value:function(t){var e=this;this._logger.debug(\"Data parsing started\");var r=this._getPlaylistObject();if(t&&t.has(At.id)){var n=t.get(At.id);if(n&&n.response){var i=ut.getPlaylist(n.response);r.id=i.id,r.poster=i.poster,r.metadata.name=i.name,r.metadata.description=i.description,r.playlistLastEntryId=i.playlistLastEntryId,i.items.forEach((function(t){return r.items.push({sources:e._getSourcesObject(t)})}))}}return this._logger.debug(\"Data parsing finished\",r),r}},{key:\"getEntryListConfig\",value:function(t){var e=this;return t.ks&&(this.ks=t.ks),this._dataLoader=new Rt(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var i=t.entries;if(i&&i.length){var a=e.ks;a||(a=\"{1:result:ks}\",e._dataLoader.add(_t,{widgetId:e.widgetId}));var s=e._getEntryRedirectFilter(t);e._dataLoader.add(Ct,{entries:i,ks:a,redirectFromEntryId:s}),e._dataLoader.fetchData(!1).then((function(t){r(e._parseEntryListDataFromResponse(t))}),(function(t){n(t)}))}else n({success:!1,data:\"Missing mandatory parameter\"})}))}},{key:\"_parseEntryListDataFromResponse\",value:function(t){var e=this;this._logger.debug(\"Data parsing started\");var r=this._getPlaylistObject();if(t&&t.has(Ct.id)){var n=t.get(Ct.id);n&&n.response&&ut.getEntryList(n.response).items.forEach((function(t){return r.items.push({sources:e._getSourcesObject(t)})}))}return this._logger.debug(\"Data parsing finished\",r),r}},{key:\"_getPlaylistObject\",value:function(){return{id:\"\",metadata:{name:\"\",description:\"\"},poster:\"\",playlistLastEntryId:\"\",items:[]}}},{key:\"_getDefaultSourcesObject\",value:function(){return{hls:[],dash:[],progressive:[],image:[],document:[],id:\"\",duration:0,type:X.Type.UNKNOWN,poster:\"\",rawThumbnailUrl:\"\",dvr:!1,vr:null,metadata:{name:\"\",description:\"\",tags:\"\"}}}},{key:\"_getSourcesObject\",value:function(t){var e=this,r=this._getDefaultSourcesObject(),n=t.sources.toJSON();return r.hls=n.hls,r.dash=n.dash,r.progressive=n.progressive,r.image=n.image,r.document=n.document,r.id=t.id,r.duration=t.duration,r.type=t.type,r.dvr=!!t.dvrStatus,r.poster=t.poster,r.rawThumbnailUrl=t.rawThumbnailUrl,r.downloadUrl=t.downloadUrl,r.rootEntryId=t.rootEntryId,r.capabilities=t.capabilities,t.activeLiveStreamTime&&(r.activeLiveStreamTime=t.activeLiveStreamTime),t.sources.captions&&(r.captions=t.sources.captions),t.metadata&&\"string\"==typeof t.metadata.tags&&t.metadata.tags.split(\",\").some((function(t){return t.trim()===e._vrTag}))&&(r.vr={}),Object.assign(r.metadata,t.metadata),r}}]),l}(wt),xt=\"@playkit-js/playkit-js-providers-ovp\",Mt=\"2.44.1\"}(),n}()}));\n//# sourceMappingURL=playkit-ovp-provider.js.map","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.playkit-banner-overlay__banner-overlay__banner-overlay{position:absolute;pointer-events:none;width:100%;padding:4px 8px}.playkit-banner-overlay__banner-overlay__banner-content{display:flex;border-radius:var(--Roundness-2, 8px);background:var(--B-40, rgba(0, 0, 0, 0.4));padding:4px 8px;gap:8px;color:#fff;font-size:16px;font-family:\"Lato\",sans-serif;font-style:normal;font-weight:400;line-height:150%;box-sizing:border-box;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto;box-shadow:0 4px 4px rgba(0,0,0,.25);overflow:visible;text-shadow:0 4px 4px rgba(0,0,0,.25)}.playkit-banner-overlay__banner-overlay__content-center{justify-content:center;text-align:center}.playkit-banner-overlay__banner-overlay__content-left{justify-content:flex-start;text-align:left}.playkit-banner-overlay__banner-overlay__content-right{justify-content:flex-end;text-align:right}.playkit-banner-overlay__banner-overlay__banner-text{display:block;width:100%;margin:0}.playkit-banner-overlay__banner-overlay__text-container{flex:1 1 auto;min-width:0;overflow:visible}.playkit-banner-overlay__banner-overlay__text-truncated{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.playkit-banner-overlay__banner-overlay__text-wrapping{word-wrap:break-word;word-break:break-word}.playkit-banner-overlay__banner-overlay__close-button{background:none;border:none;color:#fff;font-size:20px;width:24px;height:24px;cursor:pointer;opacity:.9;transition:opacity .2s ease;flex:0 0 auto;display:flex;justify-content:center}.playkit-banner-overlay__banner-overlay__close-button:hover{opacity:1}.playkit-banner-overlay__banner-overlay__close-button:focus{outline:1px solid rgba(255,255,255,.5);outline-offset:2px}.playkit-banner-overlay__banner-overlay__top{top:0;left:50%;transform:translateX(-50%)}.playkit-banner-overlay__banner-overlay__bottom{bottom:0;left:50%;transform:translateX(-50%)}.playkit-banner-overlay__banner-overlay__top-left{top:0;left:0}.playkit-banner-overlay__banner-overlay__top-right{top:0;right:0}.playkit-banner-overlay__banner-overlay__bottom-left{bottom:0;left:0}.playkit-banner-overlay__banner-overlay__bottom-right{bottom:0;right:0}@media(max-width: 480px){.playkit-banner-overlay__banner-overlay__banner-content{font-size:14px;padding:4px 6px}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/banner-overlay/banner-overlay.scss\"],\"names\":[],\"mappings\":\"AAAA,wDACE,iBAAA,CACA,mBAAA,CACA,UAAA,CACA,eAAA,CAGF,wDACE,YAAA,CACA,qCAAA,CACA,0CAAA,CACA,eAAA,CACA,OAAA,CACA,UAAA,CACA,cAAA,CACA,6BAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,qBAAA,CACA,yBAAA,CACA,iCAAA,CACA,mBAAA,CACA,oCAAA,CACA,gBAAA,CACA,qCAAA,CAGF,wDACE,sBAAA,CACA,iBAAA,CAGF,sDACE,0BAAA,CACA,eAAA,CAGF,uDACE,wBAAA,CACA,gBAAA,CAGF,qDACE,aAAA,CACA,UAAA,CACA,QAAA,CAGF,wDACE,aAAA,CACA,WAAA,CACA,gBAAA,CAGF,wDACE,eAAA,CACA,kBAAA,CACA,sBAAA,CAGF,uDACE,oBAAA,CACA,qBAAA,CAGF,sDACE,eAAA,CACA,WAAA,CACA,UAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,UAAA,CACA,2BAAA,CACA,aAAA,CAEA,YAAA,CACA,sBAAA,CAEA,4DACE,SAAA,CAGF,4DACE,sCAAA,CACA,kBAAA,CAIJ,6CACE,KAAA,CACA,QAAA,CACA,0BAAA,CAGF,gDACE,QAAA,CACA,QAAA,CACA,0BAAA,CAGF,kDACE,KAAA,CACA,MAAA,CAGF,mDACE,KAAA,CACA,OAAA,CAGF,qDACE,QAAA,CACA,MAAA,CAGF,sDACE,QAAA,CACA,OAAA,CAGF,yBACE,wDACE,cAAA,CACA,eAAA,CAAA\",\"sourcesContent\":[\".banner-overlay {\\n position: absolute;\\n pointer-events: none;\\n width: 100%;\\n padding: 4px 8px;\\n}\\n\\n.banner-content {\\n display: flex;\\n border-radius: var(--Roundness-2, 8px);\\n background: var(--B-40, rgba(0, 0, 0, 0.40));\\n padding: 4px 8px;\\n gap: 8px;\\n color: #FFFFFF;\\n font-size: 16px;\\n font-family: 'Lato', sans-serif;\\n font-style: normal;\\n font-weight: 400;\\n line-height: 150%;\\n box-sizing: border-box;\\n backdrop-filter: blur(2px);\\n -webkit-backdrop-filter: blur(2px);\\n pointer-events: auto;\\n box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);\\n overflow: visible;\\n text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);\\n}\\n\\n.content-center {\\n justify-content: center;\\n text-align: center;\\n}\\n\\n.content-left {\\n justify-content: flex-start;\\n text-align: left;\\n}\\n\\n.content-right {\\n justify-content: flex-end;\\n text-align: right;\\n}\\n\\n.banner-text {\\n display: block;\\n width: 100%;\\n margin: 0;\\n}\\n\\n.text-container {\\n flex: 1 1 auto;\\n min-width: 0;\\n overflow: visible;\\n}\\n\\n.text-truncated {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n\\n.text-wrapping {\\n word-wrap: break-word;\\n word-break: break-word;\\n}\\n\\n.close-button {\\n background: none;\\n border: none;\\n color: #FFFFFF;\\n font-size: 20px;\\n width: 24px;\\n height: 24px;\\n cursor: pointer;\\n opacity: 0.9;\\n transition: opacity 0.2s ease;\\n flex: 0 0 auto;\\n\\n display: flex;\\n justify-content: center;\\n\\n &:hover {\\n opacity: 1;\\n }\\n\\n &:focus {\\n outline: 1px solid rgba(255, 255, 255, 0.5);\\n outline-offset: 2px;\\n }\\n}\\n\\n.top {\\n top: 0;\\n left: 50%;\\n transform: translateX(-50%);\\n}\\n\\n.bottom {\\n bottom: 0;\\n left: 50%;\\n transform: translateX(-50%);\\n}\\n\\n.top-left {\\n top: 0;\\n left: 0;\\n}\\n\\n.top-right {\\n top: 0;\\n right: 0;\\n}\\n\\n.bottom-left {\\n bottom: 0;\\n left: 0;\\n}\\n\\n.bottom-right {\\n bottom: 0;\\n right: 0;\\n}\\n\\n@media (max-width: 480px) {\\n .banner-content {\\n font-size: 14px;\\n padding: 4px 6px;\\n }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport var bannerOverlay = `playkit-banner-overlay__banner-overlay__banner-overlay`;\nexport var bannerContent = `playkit-banner-overlay__banner-overlay__banner-content`;\nexport var contentCenter = `playkit-banner-overlay__banner-overlay__content-center`;\nexport var contentLeft = `playkit-banner-overlay__banner-overlay__content-left`;\nexport var contentRight = `playkit-banner-overlay__banner-overlay__content-right`;\nexport var bannerText = `playkit-banner-overlay__banner-overlay__banner-text`;\nexport var textContainer = `playkit-banner-overlay__banner-overlay__text-container`;\nexport var textTruncated = `playkit-banner-overlay__banner-overlay__text-truncated`;\nexport var textWrapping = `playkit-banner-overlay__banner-overlay__text-wrapping`;\nexport var closeButton = `playkit-banner-overlay__banner-overlay__close-button`;\nexport var top = `playkit-banner-overlay__banner-overlay__top`;\nexport var bottom = `playkit-banner-overlay__banner-overlay__bottom`;\nexport var topLeft = `playkit-banner-overlay__banner-overlay__top-left`;\nexport var topRight = `playkit-banner-overlay__banner-overlay__top-right`;\nexport var bottomLeft = `playkit-banner-overlay__banner-overlay__bottom-left`;\nexport var bottomRight = `playkit-banner-overlay__banner-overlay__bottom-right`;\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\n}","function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}\n\nmodule.exports = getIgnoreAttributesFn","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\nconst getIgnoreAttributesFn = require('../ignoreAttributes')\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0, []).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = '';\n let val = '';\n const jPath = ajPath.join('.')\n for (let key in jObj) {\n if(!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node only if it is not an attribute\n if (this.isAttribute(key)) {\n val += '';\n }\n } else if (jObj[key] === null) {\n // null attribute should be ignored by the attribute list, but should not cause the tag closing\n if (this.isAttribute(key)) {\n val += '';\n } else if (key === this.options.cdataPropName) {\n val += '';\n } else if (key[0] === '?') {\n val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n } else {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n }\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n } else if (!attr) {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup){\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr\n }\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath)\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '</' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n // attrStr is an empty string in case the attribute came as undefined or null\n if ((attrStr || attrStr === '') && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `></${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '</' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i<this.options.entities.length; i++) {\n const entity = this.options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\nmodule.exports = Builder;\n","const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if(tagName === undefined) continue;\n\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if(!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","const util = require('../util');\n\n//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i<xmlData.length;i++){\n if (xmlData[i] === '<' && !comment) { //Determine the tag type\n if( hasBody && isEntity(xmlData, i)){\n i += 7; \n let entityName, val;\n [entityName, val,i] = readEntityExp(xmlData,i+1);\n if(val.indexOf(\"&\") === -1) //Parameter entities are not supported\n entities[ validateEntityName(entityName) ] = {\n regx : RegExp( `&${entityName};`,\"g\"),\n val: val\n };\n }\n else if( hasBody && isElement(xmlData, i)) i += 8;//Not supported\n else if( hasBody && isAttlist(xmlData, i)) i += 8;//Not supported\n else if( hasBody && isNotation(xmlData, i)) i += 9;//Not supported\n else if( isComment) comment = true;\n else throw new Error(\"Invalid DOCTYPE\");\n\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i] === '>') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nfunction readEntityExp(xmlData,i){\n //External entities are not supported\n // <!ENTITY ext SYSTEM \"http://normal-website.com\" >\n\n //Parameter entities are not supported\n // <!ENTITY entityname \"&anotherElement;\">\n\n //Internal entities are supported\n // <!ENTITY entityname \"replacement text\">\n \n //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\nconst getIgnoreAttributesFn = require('../ignoreAttributes')\n\n// const regx =\n// '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n// .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 16)) },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue\n }\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if(val == undefined) val = \"\";\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n \n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath)\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath){\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n }else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode);\n }else{\n currentNode.addChild(childNode);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = currentNode.child.length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n\n const rawTagName = tagName;\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n rawTagName: rawTagName,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\nexports.prettify = prettify;\n","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/;\n// const octRegex = /^0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n \nconst consider = {\n hex : true,\n // oct: false,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true,\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n \n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if(str===\"0\") return 0;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return parse_int(trimmedStr, 16);\n // }else if (options.oct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n }else if (trimmedStr.search(/[eE]/)!== -1) { //eNotation\n const notation = trimmedStr.match(/^([-\\+])?(0*)([0-9]*(\\.[0-9]*)?[eE][-\\+]?[0-9]+)$/); \n // +00.123 => [ , '+', '00', '.123', ..\n if(notation){\n // console.log(notation)\n if(options.leadingZeros){ //accept with leading zeros\n trimmedStr = (notation[1] || \"\") + notation[3];\n }else{\n if(notation[2] === \"0\" && notation[3][0]=== \".\"){ //valid number\n }else{\n return str;\n }\n }\n return options.eNotation ? Number(trimmedStr) : str;\n }else{\n return str;\n }\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n // +00.123 => [ , '+', '00', '.123', ..\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else if(options.leadingZeros && leadingZeros===str) return 0; //00\n \n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n return (numTrimmedByZeros === numStr) || (sign+numTrimmedByZeros === numStr) ? num : str\n }else {\n return (trimmedStr === numStr) || (trimmedStr === sign+numStr) ? num : str\n }\n }\n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\n\nfunction parse_int(numStr, base){\n //polyfill\n if(parseInt) return parseInt(numStr, base);\n else if(Number.parseInt) return Number.parseInt(numStr, base);\n else if(window && window.parseInt) return window.parseInt(numStr, base);\n else throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")\n}\n\nmodule.exports = toNumber;","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement, attributes) {\n Object.keys(attributes).forEach(function (key) {\n styleElement.setAttribute(key, attributes[key]);\n });\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join(\"\\n\");\n };\n}();\n\n/* istanbul ignore next */\nfunction apply(styleElement, index, remove, obj) {\n var css;\n if (remove) {\n css = \"\";\n } else {\n css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n }\n\n // For old IE\n /* istanbul ignore if */\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = styleElement.childNodes;\n if (childNodes[index]) {\n styleElement.removeChild(childNodes[index]);\n }\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index]);\n } else {\n styleElement.appendChild(cssNode);\n }\n }\n}\nvar singletonData = {\n singleton: null,\n singletonCounter: 0\n};\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") return {\n update: function update() {},\n remove: function remove() {}\n };\n\n // eslint-disable-next-line no-undef,no-use-before-define\n var styleIndex = singletonData.singletonCounter++;\n var styleElement =\n // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton || (\n // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton = options.insertStyleElement(options));\n return {\n update: function update(obj) {\n apply(styleElement, styleIndex, false, obj);\n },\n remove: function remove(obj) {\n apply(styleElement, styleIndex, true, obj);\n }\n };\n}\nmodule.exports = domAPI;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer.ui.preact;","export enum BannerAlignment {\n TOP = 'top',\n BOTTOM = 'bottom',\n TOP_LEFT = 'top-left',\n TOP_RIGHT = 'top-right',\n BOTTOM_LEFT = 'bottom-left',\n BOTTOM_RIGHT = 'bottom-right'\n}\n\nexport interface BannerOverlayConfig {\n text: string;\n duration?: number | 'unlimited';\n alignment?: BannerAlignment;\n allowWrapping?: boolean | string; // default: true\n allowClose?: boolean | string; // default: false\n useConfigFromMetadata?: boolean;\n};\n","enum Icon {\n CLOSE = 'M13.364 11.9497L17.6066 16.1924C17.9971 16.5829 17.9971 17.2161 17.6066 17.6066C17.2161 17.9971 16.5829 17.9971 16.1924 17.6066L11.9497 13.364L7.70711 17.6066C7.31658 17.9971 6.68342 17.9971 6.29289 17.6066C5.90237 17.2161 5.90237 16.5829 6.29289 16.1924L10.5355 11.9497L6.29289 7.70711C5.90237 7.31658 5.90237 6.68342 6.29289 6.29289C6.68342 5.90237 7.31658 5.90237 7.70711 6.29289L11.9497 10.5355L16.1924 6.29289C16.5829 5.90237 17.2161 5.90237 17.6066 6.29289C17.9971 6.68342 17.9971 7.31658 17.6066 7.70711L13.364 11.9497Z'\n}\n\nexport {Icon};\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer.ui.preactHooks;","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer.core;","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithAttributesAndNonce.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n \n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./banner-overlay.scss\";\n \n \n\nvar options = {\"attributes\":{\"id\":\"@playkit-js/banner-overlay\"}};\n\n;\noptions.setAttributes = setAttributes;\noptions.insert = function (styleElement) {\n if (window.kalturaGlobalConfig && typeof window.kalturaGlobalConfig.stylesNonce === 'string') {\n styleElement.setAttribute('nonce', window.kalturaGlobalConfig.stylesNonce);\n }\n document.head.appendChild(styleElement);\n};\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./banner-overlay.scss\";\n export default content && content.locals ? content.locals : undefined;\n","export const BANNER_MESSAGE_DISPLAYS = 'banner_message_displays';\nexport const BANNER_MESSAGE_MANUALLY_DISMISSED = 'banner_message_manually_dismissed';\n","import { h, FunctionalComponent } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { ui, KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { FakeEvent } from '@playkit-js/playkit-js';\nimport * as styles from './banner-overlay.scss';\nimport { BannerAlignment, Icon as IconPath } from '../../types';\nimport { BANNER_MESSAGE_DISPLAYS, BANNER_MESSAGE_MANUALLY_DISMISSED } from '../../events/events';\n\nconst { Icon, Tooltip } = ui.Components;\nconst { withText } = ui.preacti18n;\n\nexport interface BannerDisplayProps {\n text: string;\n alignment?: BannerAlignment;\n allowWrapping?: boolean;\n allowClose?: boolean;\n onClose?: () => void;\n closeBannerLabel: string;\n player?: KalturaPlayer;\n}\n\nconst BannerDisplayComponent: FunctionalComponent<BannerDisplayProps> = ({\n text,\n alignment = BannerAlignment.TOP_LEFT,\n allowWrapping = true,\n allowClose = false,\n onClose,\n closeBannerLabel,\n player\n}: BannerDisplayProps): h.JSX.Element => {\n const [isTextTruncated, setIsTextTruncated] = useState(false);\n const [hasDispatchedDisplayEvent, setHasDispatchedDisplayEvent] = useState(false);\n const textRef = useRef<HTMLSpanElement>(null);\n\n const checkIfTextIsTruncated = (): void => {\n if (!allowWrapping && textRef.current) {\n const element = textRef.current;\n const isTextTruncated = element.scrollWidth > element.clientWidth;\n setIsTextTruncated(isTextTruncated);\n }\n };\n\n const handleClose = (): void => {\n // event to notify about banner message manually dismissed\n player?.dispatchEvent(new FakeEvent(BANNER_MESSAGE_MANUALLY_DISMISSED));\n onClose?.();\n };\n\n useEffect(() => {\n checkIfTextIsTruncated();\n\n // event to notify about banner message displays\n if (player && !hasDispatchedDisplayEvent) {\n player.dispatchEvent(new FakeEvent(BANNER_MESSAGE_DISPLAYS));\n setHasDispatchedDisplayEvent(true);\n }\n }, [allowWrapping, player, hasDispatchedDisplayEvent]);\n\n useEffect(() => {\n requestAnimationFrame(checkIfTextIsTruncated);\n }, [text, allowWrapping]);\n\n const getAlignmentClass = (): string => {\n switch (alignment) {\n case BannerAlignment.TOP:\n return styles.top;\n case BannerAlignment.BOTTOM:\n return styles.bottom;\n case BannerAlignment.TOP_LEFT:\n return styles.topLeft;\n case BannerAlignment.TOP_RIGHT:\n return styles.topRight;\n case BannerAlignment.BOTTOM_LEFT:\n return styles.bottomLeft;\n case BannerAlignment.BOTTOM_RIGHT:\n return styles.bottomRight;\n default:\n return styles.topLeft;\n }\n };\n\n const getTextClass = (): string => {\n return allowWrapping ? styles.textWrapping : styles.textTruncated;\n };\n\n const getContentAlignmentClass = (): string => {\n switch (alignment) {\n case BannerAlignment.TOP:\n case BannerAlignment.BOTTOM:\n return styles.contentCenter;\n case BannerAlignment.TOP_RIGHT:\n case BannerAlignment.BOTTOM_RIGHT:\n return styles.contentRight;\n case BannerAlignment.TOP_LEFT:\n case BannerAlignment.BOTTOM_LEFT:\n default:\n return styles.contentLeft;\n }\n };\n\n const renderText = (): h.JSX.Element => {\n const textClass = getTextClass();\n const textElement = (\n <span ref={textRef} className={`${styles.bannerText} ${textClass}`}>\n {text}\n </span>\n );\n\n if (!allowWrapping && isTextTruncated) {\n return (\n <Tooltip label={text} type=\"top\">\n {textElement}\n </Tooltip>\n );\n }\n\n return textElement;\n };\n\n const alignmentClass = getAlignmentClass();\n const contentAlignmentClass = getContentAlignmentClass();\n\n return (\n <div data-testid=\"banner-overlay\" className={`${styles.bannerOverlay} ${alignmentClass}`} role=\"status\" aria-live=\"polite\" aria-label={text}>\n <div className={`${styles.bannerContent} ${contentAlignmentClass}`}>\n <div className={styles.textContainer}>{renderText()}</div>\n {allowClose && (\n <button\n className={styles.closeButton}\n onClick={handleClose}\n aria-live=\"polite\"\n aria-label={`${closeBannerLabel}: ${text}`}\n tabIndex={0}\n data-testid=\"banner-close-button\"\n >\n <Tooltip label={closeBannerLabel} type=\"top\">\n <Icon id={'banner-overlay-close-icon'} path={IconPath.CLOSE} viewBox={'0 0 25 25'} />\n </Tooltip>\n </button>\n )}\n </div>\n </div>\n );\n};\n\nexport const BannerDisplay = withText({\n closeBannerLabel: 'bannerOverlay.closeBanner'\n})(BannerDisplayComponent);\n","import { h, FunctionalComponent } from 'preact';\nimport { KalturaPlayer, ui } from '@playkit-js/kaltura-player-js';\nimport { BannerAlignment } from '../../types';\nimport { BannerDisplay } from './banner-display';\nimport { useBannerTimerManager } from './banner-timer-manager';\n\nconst { withPlayer } = ui.Components;\nconst { withEventManager } = ui.Event;\n\nexport interface BannerOverlayProps {\n text: string;\n alignment?: BannerAlignment;\n allowWrapping?: boolean | string;\n allowClose?: boolean | string;\n duration?: number | 'unlimited';\n onClose?: () => void;\n player?: KalturaPlayer;\n eventManager?: any;\n}\n\nconst BannerOverlay: FunctionalComponent<BannerOverlayProps> = withPlayer(\n withEventManager(\n ({\n text,\n alignment = BannerAlignment.TOP_LEFT,\n allowWrapping: allowWrappingProp = true,\n allowClose: allowCloseProp = false,\n duration,\n onClose,\n player,\n eventManager\n }: BannerOverlayProps): h.JSX.Element | null => {\n const allowWrapping = allowWrappingProp === true || allowWrappingProp === 'true';\n const allowClose = allowCloseProp === true || allowCloseProp === 'true';\n const handleHide = (): void => {\n onClose?.();\n };\n\n const { isVisible, hide } = useBannerTimerManager({\n duration,\n player,\n eventManager,\n onHide: handleHide\n });\n\n const handleClose = (): void => {\n hide();\n };\n\n if (!isVisible) return null;\n\n return (\n <BannerDisplay\n text={text}\n alignment={alignment}\n allowWrapping={allowWrapping}\n allowClose={allowClose}\n onClose={handleClose}\n player={player}\n />\n );\n }\n )\n);\n\nexport { BannerOverlay };\n","import { useEffect, useRef, useState } from 'preact/hooks';\nimport { KalturaPlayer } from '@playkit-js/kaltura-player-js';\n\nexport interface BannerTimerManagerProps {\n duration?: number | 'unlimited';\n player?: KalturaPlayer;\n eventManager?: any;\n onHide: () => void;\n onPlayerStarted?: () => void;\n}\n\nexport interface BannerTimerManagerReturn {\n isVisible: boolean;\n hasPlayerStarted: boolean;\n hide: () => void;\n}\n\nexport const useBannerTimerManager = ({\n duration,\n player,\n eventManager,\n onHide,\n onPlayerStarted\n}: BannerTimerManagerProps): BannerTimerManagerReturn => {\n const [isVisible, setIsVisible] = useState(true);\n const [hasPlayerStarted, setHasPlayerStarted] = useState(false);\n const hideTimeout = useRef<NodeJS.Timeout>();\n\n const handlePlayerPlay = (): void => {\n if (!hasPlayerStarted && duration !== 'unlimited' && typeof duration === 'number' && duration > 0) {\n setHasPlayerStarted(true);\n onPlayerStarted?.();\n\n hideTimeout.current = setTimeout(() => {\n setIsVisible(false);\n onHide();\n }, duration * 1000);\n }\n };\n\n const hide = (): void => {\n setIsVisible(false);\n onHide();\n };\n\n useEffect((): (() => void) | void => {\n if (duration !== 'unlimited' && typeof duration === 'number' && duration < 0) {\n setIsVisible(false);\n return;\n }\n\n if (player && eventManager) {\n eventManager.listenOnce(player, player.Event.Core.FIRST_PLAYING, handlePlayerPlay);\n }\n\n return (): void => {\n if (hideTimeout.current) {\n clearTimeout(hideTimeout.current);\n }\n };\n }, [player, eventManager, duration]);\n\n return {\n isVisible,\n hasPlayerStarted,\n hide\n };\n};\n","export interface KalturaMetadataArgs {\n xml: string;\n}\n\nexport class KalturaMetadata {\n private xml: string;\n\n constructor(metadata: KalturaMetadataArgs) {\n this.xml = metadata.xml;\n }\n}\n","import { providers } from '@playkit-js/kaltura-player-js';\nimport { KalturaMetadata } from './kaltura-metadata';\nconst { BaseServiceResult } = providers.ResponseTypes;\n\nexport class KalturaMetadataListResponse extends BaseServiceResult {\n public totalCount?: number;\n public data: KalturaMetadata | null = null;\n\n constructor(responseObj: any) {\n super(responseObj);\n if (!this.hasError) {\n this.totalCount = responseObj.totalCount;\n if (this.totalCount === 1) {\n this.data = new KalturaMetadata(responseObj.objects[0]);\n }\n }\n }\n}\n","import { ILoader } from '@playkit-js/playkit-js-providers/types';\nimport { RequestBuilder } from '@playkit-js/playkit-js-providers/ovp-provider';\nimport { KalturaMetadata } from './response-types/kaltura-metadata';\nimport { KalturaMetadataListResponse } from './response-types/kaltura-metadata-list-response';\n\ninterface MetadataLoaderParams {\n entryId: string;\n metadataProfileId: number;\n}\n\ninterface MetadataResponse {\n metadata: KalturaMetadata | null;\n}\n\nexport class MetadataLoader implements ILoader {\n private _entryId: string;\n private _metadataProfileId: number;\n private _requests: RequestBuilder[] = [];\n private _response: MetadataResponse = {\n metadata: null\n };\n\n public static get id(): string {\n return 'metadata';\n }\n\n constructor({ entryId, metadataProfileId }: MetadataLoaderParams) {\n this._entryId = entryId;\n this._metadataProfileId = metadataProfileId;\n\n const headers: Map<string, string> = new Map();\n\n const metadataListRequest = new RequestBuilder(headers);\n metadataListRequest.service = 'metadata_metadata';\n metadataListRequest.action = 'list';\n metadataListRequest.params = {\n filter: {\n objectType: 'KalturaMetadataFilter',\n metadataProfileIdEqual: this._metadataProfileId,\n metadataObjectTypeEqual: 1,\n objectIdEqual: this._entryId\n }\n };\n this.requests.push(metadataListRequest);\n }\n\n public set requests(requests: any[]) {\n this._requests = requests;\n }\n\n public get requests(): any[] {\n return this._requests;\n }\n\n public set response(response: any) {\n const metadataListRequestResponse = new KalturaMetadataListResponse(response[0]?.data);\n if (metadataListRequestResponse.totalCount) {\n this._response.metadata = metadataListRequestResponse?.data;\n }\n }\n\n public get response(): any {\n return this._response;\n }\n\n public isValid(): boolean {\n return Boolean(this._entryId) && Boolean(this._metadataProfileId);\n }\n}\n","import { h } from 'preact';\nimport { BasePlugin, ui } from '@playkit-js/kaltura-player-js';\nimport { BannerOverlay } from './components/banner-overlay';\nimport { BannerAlignment, BannerOverlayConfig } from './types';\nimport { MetadataLoader } from './providers/metadata-loader';\nimport { KalturaMetadata } from './providers/response-types/kaltura-metadata';\nimport { XMLParser } from 'fast-xml-parser';\n\nexport const PLUGIN_NAME = 'bannerOverlay';\n\nexport class BannerOverlayPlugin extends BasePlugin {\n private initialConfig: BannerOverlayConfig | null = null;\n\n public static defaultConfig: BannerOverlayConfig = {\n text: '',\n duration: 5,\n alignment: BannerAlignment.TOP_LEFT,\n allowWrapping: true,\n allowClose: false,\n };\n\n public static isValid(): boolean {\n return true;\n }\n\n private bannerComponent: (() => void) | null = null;\n\n public async loadMedia(): Promise<void> {\n this.logger.info('BannerOverlay: loadMedia lifecycle hook called');\n this.initialConfig = { ...this.config };\n let validData = true;\n if (this.config.metadataProfileId){\n const metadata = await this.getMetadataFromEntry();\n if (metadata){\n validData = this.isValidBannerMetadata(metadata)\n if (metadata && validData) {\n this.updateConfigFromMetadata(metadata);\n }\n }\n }\n this.removeBannerComponent();\n if (this.config.text && validData) {\n this.addBannerComponent();\n }\n }\n\n private addBannerComponent(): void {\n if (this.bannerComponent) {\n this.removeBannerComponent();\n }\n\n const componentConfig = {\n label: 'banner-overlay',\n area: ui.ReservedPresetAreas.InteractiveArea,\n presets: [ui.ReservedPresetNames.Playback, ui.ReservedPresetNames.Live, ui.ReservedPresetNames.Img, ui.ReservedPresetNames.Document],\n get: () => (\n <BannerOverlay\n text={this.config.text}\n alignment={this.config.alignment}\n allowWrapping={this.config.allowWrapping}\n allowClose={this.config.allowClose}\n duration={this.config.duration}\n onClose={this.handleBannerClose.bind(this)}\n player={this.player}\n />\n )\n };\n\n this.bannerComponent = this.player.ui.addComponent(componentConfig);\n }\n\n private handleBannerClose(): void {\n this.removeBannerComponent();\n }\n\n private removeBannerComponent(): void {\n try {\n this.bannerComponent?.();\n } finally {\n this.bannerComponent = null;\n }\n }\n\n private isBoolean(value: string): boolean {\n return typeof value === 'boolean';\n }\n\n private isValidBannerMetadata(metadata: any): boolean {\n const displayDuration = Number(metadata.BannerDisplayDuration);\n\n const hasBannerText = metadata.BannerText && metadata.BannerText.trim().length > 0;\n const hasBannerWrap = this.isBoolean(metadata.BannerWrap);\n const hasBannerShowCloseButton = this.isBoolean(metadata.BannerShowCloseButton);\n const hasBannerAlignment = metadata.BannerAlignment && Object.values(BannerAlignment).includes(metadata.BannerAlignment);\n const hasBannerDisplayDuration = metadata.BannerDisplayDuration === 'unlimited' || (!isNaN(displayDuration) && displayDuration > 0);\n\n return hasBannerText && hasBannerWrap && hasBannerShowCloseButton && hasBannerAlignment && hasBannerDisplayDuration;\n }\n\n private async getMetadataFromEntry(): Promise<KalturaMetadata | undefined | string> {\n const entryId = this.player.sources.id;\n const ks = this.player.config.session?.ks || '';\n const metadataProfileId = this.config.metadataProfileId;\n\n //@ts-ignore\n const data: Map<string, any> = await this.player.provider.doRequest([{loader: MetadataLoader, params: {entryId, metadataProfileId}}], ks);\n return this.parseDataFromResponse(data);\n }\n\n private parseDataFromResponse(data: Map<string, any>): KalturaMetadata {\n let kalturaMetadata;\n if (data) {\n if (data.has(MetadataLoader.id)) {\n const metadataLoader = data.get(MetadataLoader.id);\n kalturaMetadata = metadataLoader?.response?.metadata;\n if (kalturaMetadata?.xml) {\n const parser = new XMLParser();\n const parsedResult = parser.parse(kalturaMetadata.xml);\n kalturaMetadata = parsedResult.metadata;\n }\n }\n }\n return kalturaMetadata;\n }\n\n private updateConfigFromMetadata(metadata: any): void {\n this.config.text = metadata.BannerText;\n this.config.allowWrapping = metadata.BannerWrap;\n this.config.allowClose = metadata.BannerShowCloseButton;\n this.config.alignment = metadata.BannerAlignment;\n if (metadata.BannerDisplayDuration === 'unlimited') {\n this.config.duration = 'unlimited';\n } else {\n this.config.duration = Number(metadata.BannerDisplayDuration); \n }\n }\n\n public reset(): void {\n this.logger.info('BannerOverlay: reset lifecycle hook called');\n this.config = { ...this.initialConfig }; \n this.removeBannerComponent();\n }\n\n public destroy(): void {\n this.removeBannerComponent();\n super.destroy();\n this.logger.info('BannerOverlay: destroy lifecycle hook called');\n }\n}\n","import { registerPlugin } from '@playkit-js/kaltura-player-js';\nimport { PLUGIN_NAME, BannerOverlayPlugin } from './banner-overlay';\n\nregisterPlugin(PLUGIN_NAME, BannerOverlayPlugin);\n\nexport * from './types';\n"],"names":["root","factory","exports","module","define","amd","self","t","e","r","n","default","i","__esModule","a","Object","prototype","s","hasOwnProperty","o","defineProperty","value","u","Symbol","c","iterator","l","asyncIterator","f","toStringTag","d","enumerable","configurable","writable","h","_","create","D","O","p","type","arg","call","wrap","y","v","m","g","E","R","I","T","this","A","getPrototypeOf","w","x","C","k","forEach","_invoke","b","resolve","__await","then","Error","done","method","delegate","S","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","P","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","L","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","keys","reverse","pop","values","prev","charAt","slice","stop","rval","complete","finish","catch","delegateYield","regeneratorRuntime","globalThis","Function","get","NAME","xt","Provider","Dt","ProviderParser","ut","RequestBuilder","lt","ResponseTypes","VERSION","Mt","toPrimitive","String","key","ReferenceError","bind","BaseServiceResult","KalturaAccessControlMessage","N","KalturaAccessControlModifyRequestHostRegexAction","KalturaBaseEntryListResponse","KalturaBumper","KalturaDrmPlaybackPluginData","KalturaFlavorAsset","KalturaMediaEntries","KalturaMediaEntry","KalturaMetadata","M","KalturaMetadataListResponse","U","KalturaPlaybackContext","j","KalturaPlaybackSource","KalturaPlaylist","B","KalturaRuleAction","KalturaUIConfResponse","V","KalturaUserEntry","F","KalturaUserEntryListResponse","q","DEBUG","ERROR","INFO","OFF","TIME","TRACE","WARN","createDefaultHandler","debug","enabledFor","error","getLevel","info","log","setHandler","setLevel","time","timeEnd","trace","useDefaults","warn","Array","isArray","assign","serviceUrl","cdnUrl","serviceParams","apiVersion","format","useApiCaptions","loadThumbnailWithKs","replaceHostOnlyManifestUrls","overrideServiceUrl","objectType","hasError","code","message","data","id","referenceId","externalSourceType","description","dataUrl","entryType","mediaType","flavorParamsIds","duration","poster","thumbnailUrl","rawThumbnailUrl","status","dvrStatus","tags","adminTags","createdAt","updatedAt","creatorId","userId","endDate","plays","views","downloadUrl","rootEntryId","capabilities","AUTOMATIC","EXTERNAL_MEDIA","MEDIA_CLIP","MIX","PLAYLIST","DATA","LIVE_STREAM","LIVE_CHANNEL","DOCUMENT","VIDEO","IMAGE","AUDIO","LIVE_STREAM_FLASH","LIVE_STREAM_WINDOWS_MEDIA","LIVE_STREAM_REAL_MEDIA","LIVE_STREAM_QUICK_TIME","ERROR_IMPORTING","ERROR_CONVERTING","SCAN_FAILURE","IMPORT","INFECTED","PRECONVERT","READY","DELETED","PENDING","MODERATE","BLOCKED","NO_CONTENT","PENDING_MODERATION","APPROVED","REJECTED","FLAGGED_FOR_REVIEW","AUTO_APPROVED","Reflect","construct","sham","Proxy","Boolean","valueOf","arguments","apply","totalCount","entries","objects","map","DRM_POLICY","BLOCK","PREVIEW","LIMIT_FLAVORS","ADD_TO_STORAGE","LIMIT_DELIVERY_PROFILES","SERVE_FROM_REMOTE_SERVER","REQUEST_HOST_REGEX","LIMIT_THUMBNAIL_CAPTURE","SCHEDULED_RESTRICTED","pattern","replacement","replacmenServerNodeId","checkAliveTimeoutMs","scheme","licenseURL","certificate","WIDEVINE_CENC","PLAYREADY_CENC","FAIRPLAY","deliveryProfileId","url","protocols","flavorIds","drm","split","entryId","clickThroughUrl","sources","flavorParamsId","fileExt","bitrate","width","height","frameRate","isOriginal","isWeb","containerFormat","videoCodecId","language","label","parseTags","QUEUED","CONVERTING","NOT_APPLICABLE","TEMP","WAIT_FOR_CONVERT","IMPORTING","VALIDATING","EXPORTING","metadataProfileId","metadataProfileVersion","metadataObjectType","objectId","version","created","Date","setUTCSeconds","updated","xml","AD_CUE_POINT","ANNOTATION","CODE_CUE_POINT","THUMB_CUE_POINT","ENTRY","CATEGORY","USER","PARTNER","DYNAMIC_OBJECT","VALID","INVALID","metas","messages","actions","Type","flavorAssets","bumperData","activeLiveStreamTime","startTime","endTime","getBlockAction","find","some","objTypeAsString","htmlParams","swfUrl","confFilePath","confFile","confFileFeatures","config","confVars","useCdn","swfUrlVersion","html5Url","partnerTags","objType","creationMode","PLAYER","CONTRIBUTION_WIZARD","SIMPLE_EDITOR","ADVANCED_EDITOR","APP_STUDIO","KRECORD","PLAYER_V3","KMC_ACCOUNT","KMC_ANALYTICS","KMC_CONTENT","KMC_DASHBOARD","KMC_LOGIN","PLAYER_SL","CLIENTSIDE_ENCODER","KMC_GENERAL","KMC_ROLES_AND_PERMISSIONS","CLIPPER","KSR","KUPLOAD","WEBCASTING","WIZARD","ADVANCED","playlistLastEntryId","partnerId","H","substr","lastIndexOf","ks","uiConfId","protocol","extension","Number","parseInt","endsWith","K","nodeType","attributes","item","nodeName","nodeValue","hasChildNodes","childNodes","xmlToJson","G","DASH","mimeType","pathExt","HLS","WVM","MP4","MP3","W","Map","Y","J","progressive","dash","hls","image","document","toJSON","X","metadata","UNKNOWN","assetReferenceType","VOD","LIVE","ON","Q","licenseUrl","z","mimetype","bandwidth","drmData","Z","items","$","tt","et","SRT","DFXP","WEBVTT","CAP","rt","nt","includes","webVttUrl","ot","isDefault","languageCode","it","extractBaseThumbnailUrl","match","at","st","entry","playBackContextResult","metadataListResult","_getParsedSources","_fillBaseData","playbackCaptions","captions","createConfig","replace","indexOf","playlistData","playlistItems","playlistUserEntries","_parseProgressiveSources","_parseMetadata","_getEntryType","aspectRatio","toFixed","audioFlavors","filter","MediaType","EntryType","_parseAdaptiveSource","getProtocol","_getBaseProtocol","hasFlavorIds","build","addKsToUrl","concat","_logger","hasDrmData","Scheme","DOMParser","parseFromString","exec","location","hasBlockAction","hasScheduledRestriction","getErrorMessages","ct","severity","category","RECOVERABLE","CRITICAL","NETWORK","SERVICE","PROVIDER","UNSUPPORTED_SCHEME","BAD_HTTP_STATUS","HTTP_ERROR","TIMEOUT","MALFORMED_DATA_URI","BAD_SERVER_RESPONSE","MULTIREQUEST_API_ERROR","API_RESPONSE_MISMATCH","BLOCK_ACTION","MEDIA_STATUS_NOT_READY","MISSING_MANDATORY_PARAMS","MISSING_PLAY_SOURCE","METHOD_NOT_IMPLEMENTED","timeout","maxAttempts","headers","service","action","_requestPromise","reject","Severity","Category","Code","_createXHR","XMLHttpRequest","onreadystatechange","readyState","JSON","parse","responseText","responseHeaders","_getResponseHeaders","_createError","text","open","retryConfig","performance","now","ontimeout","_handleError","statusText","onerror","onabort","setRequestHeader","send","params","getAllResponseHeaders","toLowerCase","_attemptCounter","attempt","ft","requests","stringify","FAILED_PARSING_REQUEST","doHttpRequest","dt","success","response","results","result","ht","clientTag","set","getUrl","pt","INCLUDE_FIELDS","fields","EXCLUDE_FIELDS","yt","vt","tag","flavorTags","referrer","contextDataParams","getEntryListReqParams","redirectFromEntryId","idEqual","referenceIdEqual","responseProfile","mt","objectIdEqual","metadataObjectTypeEqual","gt","buildRequests","_entryId","_referenceId","_requests","_response","list","getPlaybackContext","Et","widgetId","_t","_widgetId","anonymousSession","Rt","_multiRequest","getMultiRequest","_networkRetryConfig","isValid","_loaders","add","from","_loadersResponseMap","execute","_multiResponse","prepareData","It","Tt","entryIdEqual","userIdEqualCurrent","At","_playlistId","playlistId","cacheToken","getLastEntryId","wt","getLogger","LogLevel","logger","_partnerId","_uiConfId","_isAnonymous","_ks","_playerVersion","_referrer","defaultWidgetId","Ct","_entries","kt","bt","toString","test","Ot","RegExp","_replaceHostUrls","_extractRegexActionFromData","_getRegExp","_pingECDNAndReplaceHostUrls","_applyRegexAction","getRequestHostRegexAction","St","Pt","Lt","INVALID_IDS","env","_setFilterOptionsConfig","filterOptions","_vrTag","vrTag","networkRetryParameters","initializeUserResponse","isAnonymous","_dataLoader","playerVersion","_getEntryRedirectFilter","fetchData","_parseDataFromResponse","handleRegexAction","loader","_filterOptionsConfig","session","_getDefaultSourcesObject","plugins","has","getMediaEntry","_getSourcesObject","_verifyMediaStatus","_verifyHasSources","getBumper","bumper","EntryStatus","_handlePlaylistResponse","_retryAttempts","_parsePlaylistDataFromResponse","_handlePlaylistSuccess","_handlePlaylistRetry","itemsCount","totalAttempts","_handleMaxRetriesReached","_schedulePlaylistRetry","_getPlaylistObject","setTimeout","repeat","getPlaylist","_parseEntryListDataFromResponse","getEntryList","dvr","vr","trim","___CSS_LOADER_EXPORT___","bannerOverlay","bannerContent","contentCenter","contentLeft","contentRight","bannerText","textContainer","textTruncated","textWrapping","closeButton","top","bottom","topLeft","topRight","bottomLeft","bottomRight","cssWithMappingToString","content","needLayer","join","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","sourceMapping","validator","XMLParser","XMLBuilder","XMLValidator","ignoreAttributes","attrName","nameStartChar","nameRegexp","regexName","isExist","isEmptyObject","obj","merge","target","arrayMode","len","getValue","isName","string","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","index","util","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","options","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","substring","msg","readAttributeStr","attrStr","attrStrStart","validateAttributeString","line","tagClosed","otg","openPos","col","afterAmp","validateAmpersand","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","validateAttrName","re","validateNumberAmpersand","count","lineNumber","lines","buildFromOrderedJs","getIgnoreAttributesFn","attributeNamePrefix","attributesGroupName","textNodeName","cdataPropName","indentBy","suppressEmptyNode","suppressUnpairedNode","suppressBooleanAttributes","tagValueProcessor","attributeValueProcessor","preserveOrder","commentPropName","entities","val","processEntities","stopNodes","oneListGroup","Builder","isAttribute","ignoreAttributesFn","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","ajPath","j2x","buildTextValNode","buildObjectNode","startsWith","jObj","arrayNodeName","jPath","attr","buildAttrPairStr","newval","replaceEntitiesValue","arrLen","listTagVal","listTagAttr","textValue","Ks","closeTag","tagEndExp","piClosingChar","entity","arrToStr","arr","indentation","xmlStr","isPreviousElementTag","tagObj","propName","newJPath","tagText","isStopNode","attStr","attr_to_str","tempInd","piTextNodeName","newIdentation","tagStart","tagValue","attrMap","attrVal","jArray","readEntityExp","entityName","isComment","isEntity","isElement","isAttlist","isNotation","validateEntityName","hasBody","comment","exp","regx","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","numberParseOptions","hex","leadingZeros","eNotation","alwaysCreateTextNode","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","attrs","buildOptions","xmlNode","readDocType","toNumber","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","parseValue","resolveNameSpace","prefix","attrsRegx","buildAttributesMap","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","addChild","endIndex","docTypeEntities","rawTagName","lastTag","isItStopNode","tagContent","readStopNodeData","child","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","str","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","separatorIndex","search","trimStart","openTagCount","shouldParse","fromCharCode","OrderedObjParser","prettify","validationOption","orderedObjParser","orderedResult","addEntity","compress","compressedObj","property","newJpath","isLeaf","isLeafTag","assignAttributes","jpath","atrrName","propCount","node","hexRegex","numRegex","consider","decimalPoint","trimmedStr","skipLike","numStr","base","window","parse_int","notation","sign","numTrimmedByZeros","num","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","_i","_index","element","createElement","setAttributes","insert","styleElement","setAttribute","textStore","replaceText","styleSheet","cssText","cssNode","createTextNode","removeChild","insertBefore","appendChild","singletonData","singleton","singletonCounter","styleIndex","insertStyleElement","_typeof","_regeneratorRuntime","Generator","Context","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","invoke","callInvokeWithMethodAndArg","maybeInvokeDelegate","pushTryEntry","resetTryEntry","handle","runtime","accidentalStrictMode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","prop","KalturaPlayer","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","fn","args","_classCallCheck","instance","Constructor","toPropertyKey","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","_get","receiver","desc","getOwnPropertyDescriptor","_setPrototypeOf","_inherits","subClass","superClass","_defineProperty","ui","preact","BannerAlignment","Icon","_arrayLikeToArray","arr2","_slicedToArray","minLen","preactHooks","core","kalturaGlobalConfig","stylesNonce","head","locals","_ui$Components","Components","Tooltip","BannerDisplay","withText","preacti18n","closeBannerLabel","_ref","_ref$alignment","alignment","TOP_LEFT","_ref$allowWrapping","allowWrapping","_ref$allowClose","allowClose","onClose","player","_useState2","useState","isTextTruncated","setIsTextTruncated","_useState4","hasDispatchedDisplayEvent","setHasDispatchedDisplayEvent","textRef","useRef","checkIfTextIsTruncated","current","scrollWidth","clientWidth","useEffect","dispatchEvent","FakeEvent","requestAnimationFrame","textClass","textElement","alignmentClass","TOP","styles","BOTTOM","TOP_RIGHT","BOTTOM_LEFT","BOTTOM_RIGHT","getAlignmentClass","contentAlignmentClass","getContentAlignmentClass","className","role","ref","onClick","tabIndex","path","IconPath","CLOSE","viewBox","BannerOverlay","withPlayer","withEventManager","Event","allowWrappingProp","allowCloseProp","_useBannerTimerManage","eventManager","onHide","onPlayerStarted","isVisible","setIsVisible","hasPlayerStarted","setHasPlayerStarted","hideTimeout","handlePlayerPlay","listenOnce","Core","FIRST_PLAYING","clearTimeout","hide","useBannerTimerManager","_BaseServiceResult","responseObj","_this","_callSuper","providers","MetadataLoader","_metadataProfileId","metadataListRequest","metadataProfileIdEqual","_response$","metadataListRequestResponse","BannerOverlayPlugin","_BasePlugin","_len","_key","_getMetadataFromEntry","_loadMedia","_callee","validData","_context","initialConfig","_objectSpread","getMetadataFromEntry","isValidBannerMetadata","updateConfigFromMetadata","removeBannerComponent","addBannerComponent","_this2","bannerComponent","componentConfig","area","ReservedPresetAreas","InteractiveArea","presets","ReservedPresetNames","Playback","Live","Img","Document","handleBannerClose","addComponent","_this$bannerComponent","displayDuration","BannerDisplayDuration","hasBannerText","BannerText","hasBannerWrap","isBoolean","BannerWrap","hasBannerShowCloseButton","BannerShowCloseButton","hasBannerAlignment","hasBannerDisplayDuration","_callee2","_this$player$config$s","_context2","provider","doRequest","parseDataFromResponse","kalturaMetadata","_metadataLoader$respo","_kalturaMetadata","metadataLoader","BasePlugin","registerPlugin"],"sourceRoot":""}
1
+ {"version":3,"file":"playkit-banner-overlay.js","mappings":"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","sources":["webpack://KalturaPlayer.plugins.bannerOverlay/webpack/universalModuleDefinition","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@playkit-js/playkit-js-providers/dist/playkit-ovp-provider.js","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-overlay.scss","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/css-loader/dist/runtime/api.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/fxp.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/ignoreAttributes.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/util.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/validator.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/node2json.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/strnum/strnum.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/style-loader/dist/runtime/setAttributesWithAttributesAndNonce.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/typeof.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/regenerator/index.js","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/bootstrap","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/runtime/compat get default export","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/runtime/define property getters","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/runtime/hasOwnProperty shorthand","webpack://KalturaPlayer.plugins.bannerOverlay/webpack/runtime/make namespace object","webpack://KalturaPlayer.plugins.bannerOverlay/external root \"KalturaPlayer\"","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/get.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://KalturaPlayer.plugins.bannerOverlay/external root \"KalturaPlayer.ui.preact\"","webpack://KalturaPlayer.plugins.bannerOverlay/./src/types/banner-overlay-config.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/types/icon.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://KalturaPlayer.plugins.bannerOverlay/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://KalturaPlayer.plugins.bannerOverlay/external root \"KalturaPlayer.ui.preactHooks\"","webpack://KalturaPlayer.plugins.bannerOverlay/external root \"KalturaPlayer.core\"","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-overlay.scss?3983","webpack://KalturaPlayer.plugins.bannerOverlay/./src/events/events.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-display.tsx","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-overlay.tsx","webpack://KalturaPlayer.plugins.bannerOverlay/./src/components/banner-overlay/banner-timer-manager.tsx","webpack://KalturaPlayer.plugins.bannerOverlay/./src/providers/response-types/kaltura-metadata.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/providers/response-types/kaltura-metadata-list-response.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/providers/metadata-loader.ts","webpack://KalturaPlayer.plugins.bannerOverlay/./src/banner-overlay.tsx","webpack://KalturaPlayer.plugins.bannerOverlay/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"KalturaPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KalturaPlayer\"] = factory();\n\telse\n\t\troot[\"KalturaPlayer\"] = root[\"KalturaPlayer\"] || {}, root[\"KalturaPlayer\"][\"plugins\"] = root[\"KalturaPlayer\"][\"plugins\"] || {}, root[\"KalturaPlayer\"][\"plugins\"][\"bannerOverlay\"] = factory();\n})(self, () => {\nreturn ","/*! For license information please see playkit-ovp-provider.js.LICENSE.txt */\n!function(t,e){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)(\"object\"==typeof exports?exports:t)[n]=r[n]}}(self,(function(){return function(){var t={61:function(t,e,r){var n=r(698).default;function i(){\"use strict\";t.exports=i=function(){return r},t.exports.__esModule=!0,t.exports.default=t.exports;var e,r={},a=Object.prototype,s=a.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},u=\"function\"==typeof Symbol?Symbol:{},c=u.iterator||\"@@iterator\",l=u.asyncIterator||\"@@asyncIterator\",f=u.toStringTag||\"@@toStringTag\";function d(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{d({},\"\")}catch(e){d=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var i=e&&e.prototype instanceof _?e:_,a=Object.create(i.prototype),s=new D(n||[]);return o(a,\"_invoke\",{value:O(t,r,s)}),a}function p(t,e,r){try{return{type:\"normal\",arg:t.call(e,r)}}catch(t){return{type:\"throw\",arg:t}}}r.wrap=h;var y=\"suspendedStart\",v=\"suspendedYield\",m=\"executing\",g=\"completed\",E={};function _(){}function R(){}function I(){}var T={};d(T,c,(function(){return this}));var A=Object.getPrototypeOf,w=A&&A(A(x([])));w&&w!==a&&s.call(w,c)&&(T=w);var C=I.prototype=_.prototype=Object.create(T);function k(t){[\"next\",\"throw\",\"return\"].forEach((function(e){d(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(i,a,o,u){var c=p(t[i],t,a);if(\"throw\"!==c.type){var l=c.arg,f=l.value;return f&&\"object\"==n(f)&&s.call(f,\"__await\")?e.resolve(f.__await).then((function(t){r(\"next\",t,o,u)}),(function(t){r(\"throw\",t,o,u)})):e.resolve(f).then((function(t){l.value=t,o(l)}),(function(t){return r(\"throw\",t,o,u)}))}u(c.arg)}var i;o(this,\"_invoke\",{value:function(t,n){function a(){return new e((function(e,i){r(t,n,e,i)}))}return i=i?i.then(a,a):a()}})}function O(t,r,n){var i=y;return function(a,s){if(i===m)throw new Error(\"Generator is already running\");if(i===g){if(\"throw\"===a)throw s;return{value:e,done:!0}}for(n.method=a,n.arg=s;;){var o=n.delegate;if(o){var u=S(o,n);if(u){if(u===E)continue;return u}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(i===y)throw i=g,n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);i=m;var c=p(t,r,n);if(\"normal\"===c.type){if(i=n.done?g:v,c.arg===E)continue;return{value:c.arg,done:n.done}}\"throw\"===c.type&&(i=g,n.method=\"throw\",n.arg=c.arg)}}}function S(t,r){var n=r.method,i=t.iterator[n];if(i===e)return r.delegate=null,\"throw\"===n&&t.iterator.return&&(r.method=\"return\",r.arg=e,S(t,r),\"throw\"===r.method)||\"return\"!==n&&(r.method=\"throw\",r.arg=new TypeError(\"The iterator does not provide a '\"+n+\"' method\")),E;var a=p(i,t.iterator,r.arg);if(\"throw\"===a.type)return r.method=\"throw\",r.arg=a.arg,r.delegate=null,E;var s=a.arg;return s?s.done?(r[t.resultName]=s.value,r.next=t.nextLoc,\"return\"!==r.method&&(r.method=\"next\",r.arg=e),r.delegate=null,E):s:(r.method=\"throw\",r.arg=new TypeError(\"iterator result is not an object\"),r.delegate=null,E)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function D(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(P,this),this.reset(!0)}function x(t){if(t||\"\"===t){var r=t[c];if(r)return r.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,a=function r(){for(;++i<t.length;)if(s.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return a.next=a}}throw new TypeError(n(t)+\" is not iterable\")}return R.prototype=I,o(C,\"constructor\",{value:I,configurable:!0}),o(I,\"constructor\",{value:R,configurable:!0}),R.displayName=d(I,f,\"GeneratorFunction\"),r.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===R||\"GeneratorFunction\"===(e.displayName||e.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,I):(t.__proto__=I,d(t,f,\"GeneratorFunction\")),t.prototype=Object.create(C),t},r.awrap=function(t){return{__await:t}},k(b.prototype),d(b.prototype,l,(function(){return this})),r.AsyncIterator=b,r.async=function(t,e,n,i,a){void 0===a&&(a=Promise);var s=new b(h(t,e,n,i),a);return r.isGeneratorFunction(e)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},k(C),d(C,f,\"Generator\"),d(C,c,(function(){return this})),d(C,\"toString\",(function(){return\"[object Generator]\"})),r.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=x,D.prototype={constructor:D,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=e,this.tryEntries.forEach(L),!t)for(var r in this)\"t\"===r.charAt(0)&&s.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function n(n,i){return o.type=\"throw\",o.arg=t,r.next=n,i&&(r.method=\"next\",r.arg=e),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if(\"root\"===a.tryLoc)return n(\"end\");if(a.tryLoc<=this.prev){var u=s.call(a,\"catchLoc\"),c=s.call(a,\"finallyLoc\");if(u&&c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!c)throw new Error(\"try statement without catch or finally\");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&s.call(n,\"finallyLoc\")&&this.prev<n.finallyLoc){var i=n;break}}i&&(\"break\"===t||\"continue\"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method=\"next\",this.next=i.finallyLoc,E):this.complete(a)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),E},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),E}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if(\"throw\"===n.type){var i=n.arg;L(r)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,r,n){return this.delegate={iterator:x(t),resultName:r,nextLoc:n},\"next\"===this.method&&(this.arg=e),E}},r}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports},698:function(t){function e(r){return t.exports=e=\"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.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},687:function(t,e,r){var n=r(61)();t.exports=n;try{regeneratorRuntime=n}catch(t){\"object\"==typeof globalThis?globalThis.regeneratorRuntime=n:Function(\"r\",\"regeneratorRuntime = r\")(n)}}},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.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(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=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var n={};return function(){\"use strict\";r.r(n),r.d(n,{NAME:function(){return xt},Provider:function(){return Dt},ProviderParser:function(){return ut},RequestBuilder:function(){return lt},ResponseTypes:function(){return t},VERSION:function(){return Mt}});var t={};function e(t,e,r,n,i,a,s){try{var o=t[a](s),u=o.value}catch(t){return void r(t)}o.done?e(u):Promise.resolve(u).then(n,i)}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}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 s(t){var e=function(t,e){if(\"object\"!==a(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,\"string\");if(\"object\"!==a(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(t)}(t);return\"symbol\"===a(e)?e:String(e)}function o(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,s(n.key),n)}}function u(t,e,r){return e&&o(t.prototype,e),r&&o(t,r),Object.defineProperty(t,\"prototype\",{writable:!1}),t}function c(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}function l(t,e){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},l(t,e)}function f(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&&l(t,e)}function d(t,e){if(e&&(\"object\"===a(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return c(t)}function h(t){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},h(t)}function p(t,e,r){return(e=s(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.r(t),r.d(t,{BaseServiceResult:function(){return A},KalturaAccessControlMessage:function(){return N},KalturaAccessControlModifyRequestHostRegexAction:function(){return O},KalturaBaseEntryListResponse:function(){return k},KalturaBumper:function(){return L},KalturaDrmPlaybackPluginData:function(){return S},KalturaFlavorAsset:function(){return D},KalturaMediaEntries:function(){return x},KalturaMediaEntry:function(){return C},KalturaMetadata:function(){return M},KalturaMetadataListResponse:function(){return U},KalturaPlaybackContext:function(){return j},KalturaPlaybackSource:function(){return P},KalturaPlaylist:function(){return B},KalturaRuleAction:function(){return b},KalturaUIConfResponse:function(){return V},KalturaUserEntry:function(){return F},KalturaUserEntryListResponse:function(){return q}});var y=r(687),v=r.n(y),m={get:function(){return{VERSION:\"\",DEBUG:{value:\"\",name:\"\"},ERROR:{value:\"\",name:\"\"},INFO:{value:\"\",name:\"\"},OFF:{value:\"\",name:\"\"},TIME:{value:\"\",name:\"\"},TRACE:{value:\"\",name:\"\"},WARN:{value:\"\",name:\"\"},createDefaultHandler:function(){},debug:function(){},enabledFor:function(){},error:function(){},get:function(){},getLevel:function(){},info:function(){},log:function(){},setHandler:function(){},setLevel:function(){},time:function(){},timeEnd:function(){},trace:function(){},useDefaults:function(){},warn:function(){}}}},g={};function E(t){return m.get(t)}var _=E,R=function t(e){var r;return Array.isArray(e)?(r=e.length>0?e.slice(0):[]).forEach((function(e,n){(\"object\"===a(e)||Array.isArray(e)&&e.length>0)&&(r[n]=t(e))})):\"object\"===a(e)?(r=Object.assign({},e),Object.keys(r).forEach((function(e){(\"object\"===a(r[e])||Array.isArray(r[e])&&r[e].length>0)&&(r[e]=t(r[e]))}))):r=e,r},I={serviceUrl:\"https://cdnapisec.kaltura.com/api_v3\",cdnUrl:\"https://cdnapisec.kaltura.com\",serviceParams:{apiVersion:\"3.3.0\",format:1},useApiCaptions:!0,loadThumbnailWithKs:!1,replaceHostOnlyManifestUrls:!1},T=function(){function t(){i(this,t)}return u(t,null,[{key:\"set\",value:function(t){null!=t&&t.overrideServiceUrl&&(t.serviceUrl=t.overrideServiceUrl),t&&Object.assign(I,t)}},{key:\"get\",value:function(){return R(I)}},{key:\"serviceUrl\",get:function(){return I.serviceUrl}}]),t}(),A=u((function t(e){i(this,t),p(this,\"hasError\",!1),\"KalturaAPIException\"===e.objectType?(this.hasError=!0,this.error=new w(e.code,e.message)):e.error&&\"KalturaAPIException\"===e.error.objectType?(this.hasError=!0,this.error=new w(e.error.code,e.error.message)):this.data=e})),w=u((function t(e,r){i(this,t),this.code=e,this.message=r})),C=u((function t(e){i(this,t),this.id=e.id,this.referenceId=e.referenceId,this.externalSourceType=e.externalSourceType,this.name=e.name,this.description=e.description,this.dataUrl=e.dataUrl,this.type=e.type,this.entryType=e.mediaType,this.flavorParamsIds=e.flavorParamsIds,this.duration=e.duration,this.poster=e.thumbnailUrl,this.rawThumbnailUrl=e.thumbnailUrl,this.status=e.status,this.dvrStatus=e.dvrStatus,this.tags=e.tags,this.adminTags=e.adminTags,this.createdAt=e.createdAt,this.updatedAt=e.updatedAt,this.creatorId=e.creatorId,this.userId=e.userId,this.endDate=e.endDate,this.plays=e.plays,this.views=e.views,this.downloadUrl=e.downloadUrl,this.rootEntryId=e.rootEntryId,this.capabilities=e.capabilities}));p(C,\"EntryType\",{AUTOMATIC:{value:-1},EXTERNAL_MEDIA:{value:\"externalMedia.externalMedia\"},MEDIA_CLIP:{value:1},MIX:{value:2},PLAYLIST:{value:5},DATA:{value:6},LIVE_STREAM:{value:7},LIVE_CHANNEL:{value:8},DOCUMENT:{value:10}}),p(C,\"MediaType\",{VIDEO:{value:1},IMAGE:{value:2},AUDIO:{value:5},LIVE_STREAM_FLASH:{value:201},LIVE_STREAM_WINDOWS_MEDIA:{value:202},LIVE_STREAM_REAL_MEDIA:{value:203},LIVE_STREAM_QUICK_TIME:{value:204}}),p(C,\"EntryStatus\",{ERROR_IMPORTING:-2,ERROR_CONVERTING:-1,SCAN_FAILURE:\"virusScan.ScanFailure\",IMPORT:0,INFECTED:\"virusScan.Infected\",PRECONVERT:1,READY:2,DELETED:3,PENDING:4,MODERATE:5,BLOCKED:6,NO_CONTENT:7}),p(C,\"EntryModerationStatus\",{PENDING_MODERATION:1,APPROVED:2,REJECTED:3,FLAGGED_FOR_REVIEW:4,MODERATE:5,AUTO_APPROVED:6});var k=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.totalCount=t.totalCount,e.totalCount>0&&(e.entries=[],t.objects.map((function(t){return e.entries.push(new C(t))})))),e}return u(a)}(A),b=u((function t(e){i(this,t),this.type=e.type}));p(b,\"Type\",{DRM_POLICY:\"drm.DRM_POLICY\",BLOCK:1,PREVIEW:2,LIMIT_FLAVORS:3,ADD_TO_STORAGE:4,LIMIT_DELIVERY_PROFILES:5,SERVE_FROM_REMOTE_SERVER:6,REQUEST_HOST_REGEX:7,LIMIT_THUMBNAIL_CAPTURE:8,SCHEDULED_RESTRICTED:\"SCHEDULED_RESTRICTED\"});var O=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).pattern=t.pattern,e.replacement=t.replacement,e.replacmenServerNodeId=t.replacmenServerNodeId,e.checkAliveTimeoutMs=t.checkAliveTimeoutMs,e}return u(a)}(b),S=u((function t(e){i(this,t),this.scheme=e.scheme,this.licenseURL=e.licenseURL,this.certificate=e.certificate}));p(S,\"Scheme\",{\"drm.PLAYREADY_CENC\":\"com.microsoft.playready\",\"drm.WIDEVINE_CENC\":\"com.widevine.alpha\",\"fairplay.FAIRPLAY\":\"com.apple.fairplay\",WIDEVINE_CENC:\"com.widevine.alpha\",PLAYREADY_CENC:\"com.microsoft.playready\",FAIRPLAY:\"com.apple.fairplay\"});var P=function(){function t(e){var r=this;i(this,t),p(this,\"drm\",[]),this.format=e.format,this.deliveryProfileId=e.deliveryProfileId,this.url=e.url,this.protocols=e.protocols,this.flavorIds=e.flavorIds,e.drm&&e.drm.map((function(t){return r.drm.push(new S(t))}))}return u(t,[{key:\"hasDrmData\",value:function(){return this.drm&&this.drm.length>0}},{key:\"hasFlavorIds\",value:function(){return!!this.flavorIds&&this.flavorIds.length>0}},{key:\"getProtocol\",value:function(t){var e=\"\";if(this.protocols&&this.protocols.length>0)this.protocols.split(\",\").forEach((function(r){r===t&&(e=r)}));else if(\"http\"===t)return t;return e}}]),t}(),L=u((function t(e){i(this,t),this.entryId=e.entryId,this.clickThroughUrl=e.url,this.sources=e.sources?e.sources.map((function(t){return new P(t)})):[]})),D=function(){function t(e){i(this,t),this.id=e.id,this.flavorParamsId=e.flavorParamsId,this.fileExt=e.fileExt,this.bitrate=e.bitrate,this.width=e.width,this.height=e.height,this.id=e.id,this.frameRate=e.frameRate,this.isOriginal=e.isOriginal,this.isWeb=e.isWeb,this.containerFormat=e.containerFormat,this.videoCodecId=e.videoCodecId,this.status=e.status,this.language=e.language,this.label=e.label,this.tags=t.parseTags(e.tags)}return u(t,null,[{key:\"parseTags\",value:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\").split(\",\")}}]),t}();p(D,\"Status\",{ERROR:-1,QUEUED:0,CONVERTING:1,READY:2,DELETED:3,NOT_APPLICABLE:4,TEMP:5,WAIT_FOR_CONVERT:6,IMPORTING:7,VALIDATING:8,EXPORTING:9});var x=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.entries=[],t.map((function(t){return e.entries.push(new C(t))}))),e}return u(a)}(A),M=u((function t(e){i(this,t),this.id=e.id,this.metadataProfileId=e.metadataProfileId,this.metadataProfileVersion=e.metadataProfileVersion,this.metadataProfileId=e.metadataProfileId,this.metadataObjectType=e.metadataObjectType,this.objectId=e.objectId,this.version=e.version,this.created=new Date(0),this.created.setUTCSeconds(e.createdAt),this.updated=new Date(0),this.updated.setUTCSeconds(e.updatedAt),this.status=e.status,this.xml=e.xml}));p(M,\"ObjectType\",{AD_CUE_POINT:\"adCuePointMetadata.AdCuePoint\",ANNOTATION:\"annotationMetadata.Annotation\",CODE_CUE_POINT:\"codeCuePointMetadata.CodeCuePoint\",THUMB_CUE_POINT:\"thumbCuePointMetadata.thumbCuePoint\",ENTRY:1,CATEGORY:2,USER:3,PARTNER:4,DYNAMIC_OBJECT:5}),p(M,\"Status\",{VALID:1,INVALID:2,DELETED:3});var U=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.totalCount=t.totalCount,e.totalCount>0&&(e.metas=[],t.objects.map((function(t){return e.metas.push(new M(t))})))),e}return u(a)}(A),N=u((function t(e){i(this,t),this.message=e.message,this.code=e.code}));var j=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;if(i(this,a),p(c(e=n.call(this,t)),\"sources\",[]),p(c(e),\"actions\",[]),p(c(e),\"messages\",[]),p(c(e),\"flavorAssets\",[]),p(c(e),\"bumperData\",[]),!e.hasError){var r=t.messages;r&&r.map((function(t){return e.messages.push(new N(t))}));var s=t.actions;s&&s.map((function(t){t.type===b.Type.REQUEST_HOST_REGEX?e.actions.push(new O(t)):e.actions.push(new b(t))}));var o=t.sources;o&&o.map((function(t){return e.sources.push(new P(t))}));var u=t.flavorAssets;u&&u.map((function(t){return e.flavorAssets.push(new D(t))}));var l=t.bumperData;l&&l.map((function(t){return e.bumperData.push(new L(t))})),t.activeLiveStreamTime&&(e.activeLiveStreamTime={startTime:t.activeLiveStreamTime.startTime,endTime:t.activeLiveStreamTime.endTime})}return e}return u(a,[{key:\"hasBlockAction\",value:function(){return void 0!==this.getBlockAction()}},{key:\"getBlockAction\",value:function(){return this.actions.find((function(t){return t.type===b.Type.BLOCK}))}},{key:\"hasScheduledRestriction\",value:function(){return this.messages.some((function(t){return t.code===b.Type.SCHEDULED_RESTRICTED}))}},{key:\"getErrorMessages\",value:function(){return this.messages}},{key:\"getRequestHostRegexAction\",value:function(){var t=this.actions.find((function(t){return t.type===b.Type.REQUEST_HOST_REGEX}));if(t instanceof O)return t}}]),a}(A),B=u((function t(e){i(this,t),this.id=e.id,this.name=e.name,this.description=e.description,this.poster=e.thumbnailUrl}));var V=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.name=t.name,e.description=t.description,e.objTypeAsString=t.objTypeAsString,e.width=t.width,e.height=t.height,e.htmlParams=t.htmlParams,e.swfUrl=t.swfUrl,e.confFilePath=t.confFilePath,e.confFile=t.confFile,e.confFileFeatures=t.confFileFeatures,e.config=t.config,e.confVars=t.confVars,e.useCdn=t.useCdn,e.tags=t.tags,e.swfUrlVersion=t.swfUrlVersion,e.created=new Date(0),e.created.setUTCSeconds(t.createdAt),e.updated=new Date(0),e.updated.setUTCSeconds(t.updatedAt),e.html5Url=t.description,e.version=t.description,e.partnerTags=t.description,e.objType=t.description,e.creationMode=t.description),e}return u(a)}(A);p(V,\"Type\",{PLAYER:1,CONTRIBUTION_WIZARD:2,SIMPLE_EDITOR:3,ADVANCED_EDITOR:4,PLAYLIST:5,APP_STUDIO:6,KRECORD:7,PLAYER_V3:8,KMC_ACCOUNT:9,KMC_ANALYTICS:10,KMC_CONTENT:11,KMC_DASHBOARD:12,KMC_LOGIN:13,PLAYER_SL:14,CLIENTSIDE_ENCODER:15,KMC_GENERAL:16,KMC_ROLES_AND_PERMISSIONS:17,CLIPPER:18,KSR:19,KUPLOAD:20,WEBCASTING:21}),p(V,\"CreationMode\",{WIZARD:2,ADVANCED:3});var F=u((function t(e){i(this,t),this.playlistLastEntryId=e.playlistLastEntryId,this.entryId=e.entryId,this.id=e.id,this.userId=e.userId,this.partnerId=e.partnerId,this.status=e.status,this.createdAt=e.createdAt,this.updatedAt=e.updatedAt}));var q=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t){var e;return i(this,a),(e=n.call(this,t)).hasError||(e.totalCount=t.totalCount,e.entries=[],e.totalCount>0&&t.objects.map((function(t){return e.entries.push(new F(t))}))),e}return u(a)}(A),H=function(){function t(){i(this,t)}return u(t,null,[{key:\"build\",value:function(t){var e=T.get(),r=e.serviceUrl.substr(0,e.serviceUrl.lastIndexOf(\"/\")),n=t.partnerId,i=t.entryId,a=t.ks,s=t.uiConfId,o=t.format,u=t.protocol,c=t.extension,l=t.flavorIds;if(!r||isNaN(Number.parseInt(n))||!i||!o||!u)return\"\";var f=r;return r.endsWith(\"/\")||(f+=\"/\"),f+=\"p/\"+n+\"/sp/\"+n+\"00/playManifest/entryId/\"+i+\"/protocol/\"+u+\"/format/\"+o,l?f+=\"/flavorIds/\"+l:s&&(f+=\"/uiConfId/\"+s),\"\"!==a&&(f+=\"/ks/\"+a),\"\"!==c&&(f+=\"/a.\"+c),s&&\"\"!==l&&(f+=\"?uiConfId=\"+s),f}}]),t}(),K=function(){function t(){i(this,t)}return u(t,null,[{key:\"xmlToJson\",value:function(t){var e={};if(1===t.nodeType){if(t.attributes.length>0){e[\"@attributes\"]={};for(var r=0;r<t.attributes.length;r++){var n=t.attributes.item(r);e[\"@attributes\"][n.nodeName]=n.nodeValue}}}else 3===t.nodeType&&(e=t.nodeValue);if(t.hasChildNodes())for(var i=0;i<t.childNodes.length;i++){var a=t.childNodes.item(i),s=a.nodeName;if(void 0===e[s])e[s]=this.xmlToJson(a);else{if(void 0===e[s].push){var o=e[s];e[s]=[],e[s].push(o)}e[s].push(this.xmlToJson(a))}}return e}}]),t}(),G={DASH:{name:\"dash\",mimeType:\"application/dash+xml\",pathExt:\"mpd\"},HLS:{name:\"hls\",mimeType:\"application/x-mpegURL\",pathExt:\"m3u8\"},WVM:{name:\"wvm\",mimeType:\"video/wvm\",pathExt:\"wvm\"},MP4:{name:\"mp4\",mimeType:\"video/mp4\",pathExt:\"mp4\"},MP3:{name:\"mp3\",mimeType:\"audio/mpeg\",pathExt:\"mp3\"}},W=new Map([[\"mpegdash\",G.DASH],[\"applehttp\",G.HLS],[\"url\",G.MP4]]);function Y(t){var e=W.get(t);return!!e&&e.name===G.MP4.name}var J=function(){function t(){i(this,t),this.progressive=[],this.dash=[],this.hls=[],this.image=[],this.document=[]}return u(t,[{key:\"map\",value:function(t,e){if(e)switch(e.name){case G.MP4.name:this.progressive.push(t);break;case G.DASH.name:this.dash.push(t);break;case G.HLS.name:this.hls.push(t)}}},{key:\"toJSON\",value:function(){var t={progressive:[],dash:[],hls:[],image:[],document:[]};return this.progressive.forEach((function(e){return t.progressive.push(e.toJSON())})),this.hls.forEach((function(e){return t.hls.push(e.toJSON())})),this.dash.forEach((function(e){return t.dash.push(e.toJSON())})),t.image=this.image,t.document=this.document,t}}]),t}(),X=function(){function t(){i(this,t),this.metadata=new Map,this.sources=new J,this.type=t.Type.UNKNOWN}return u(t,[{key:\"toJSON\",value:function(){return{id:this.id,name:this.name,sources:this.sources.toJSON(),duration:this.duration,dvrStatus:this.dvrStatus,status:this.status,metadata:this.metadata,type:this.type,poster:this.poster,assetReferenceType:this.assetReferenceType,downloadUrl:this.downloadUrl,rawThumbnailUrl:this.rawThumbnailUrl,rootEntryId:this.rootEntryId,capabilities:this.capabilities}}}]),t}();p(X,\"Type\",{VOD:\"Vod\",LIVE:\"Live\",IMAGE:\"Image\",AUDIO:\"Audio\",UNKNOWN:\"Unknown\",DOCUMENT:\"Document\"}),p(X,\"DvrStatus\",{ON:1,OFF:0});var Q=function(){function t(e,r,n){i(this,t),this.licenseUrl=e,this.scheme=r,n&&(this.certificate=n)}return u(t,[{key:\"toJSON\",value:function(){var t={licenseUrl:this.licenseUrl,scheme:this.scheme};return this.certificate&&(t.certificate=this.certificate),t}}]),t}(),z=function(){function t(){i(this,t)}return u(t,[{key:\"toJSON\",value:function(){var t={id:this.id,url:this.url,mimetype:this.mimetype};return this.bandwidth&&(t.bandwidth=this.bandwidth),this.width&&(t.width=this.width),this.height&&(t.height=this.height),this.label&&(t.label=this.label),this.drmData&&this.drmData.length>0&&(t.drmData=[],this.drmData.forEach((function(e){Array.isArray(t.drmData)&&t.drmData.push(e.toJSON())}))),t}}]),t}(),Z=u((function t(){i(this,t),this.items=[]})),$=u((function t(){i(this,t),this.items=[]})),tt=u((function t(e){i(this,t),this.url=e.url,this.clickThroughUrl=e.clickThroughUrl})),et={SRT:\"1\",DFXP:\"2\",WEBVTT:\"3\",CAP:\"4\"},rt={3:\"vtt\",1:\"srt\"},nt=function(){function t(){i(this,t)}return u(t,null,[{key:\"createConfig\",value:function(t,e){return t.map((function(t){var r=t.url,n=rt[t.format];return[et.DFXP,et.CAP].includes(t.format)&&(r=t.webVttUrl,n=rt[et.WEBVTT]),r=ot(r,e),{default:!!t.isDefault,type:n,language:t.languageCode,label:t.label,url:r}}))}}]),t}(),it=function(){function t(e){i(this,t),this.id=e.id,this.url=t.extractBaseThumbnailUrl(e.dataUrl),this.mimetype=\"\"}return u(t,null,[{key:\"extractBaseThumbnailUrl\",value:function(t){return t.match(\".+entry_id/[a-zA-Z0-9_]+/\")[0].slice(0,-1)}}]),t}(),at=u((function t(e){i(this,t),this.id=e.id,this.url=e.downloadUrl,this.thumbnailUrl=e.poster,this.mimetype=\"\"})),st=function(){function t(){i(this,t)}return u(t,null,[{key:\"getMediaEntry\",value:function(e,r,n,i){var a=new X,s=i.entry,o=i.playBackContextResult,u=i.metadataListResult,c=o.sources;return a.activeLiveStreamTime=o.activeLiveStreamTime,a.sources=t._getParsedSources(c,e,r,n,s,o),t._fillBaseData(a,s,u,o),a.type!==X.Type.LIVE&&T.get().useApiCaptions&&o.data.playbackCaptions&&(a.sources.captions=nt.createConfig(o.data.playbackCaptions,e)),a}},{key:\"addKsToUrl\",value:function(t,e){var r;return e?(r=-1!==t.split(\"?\")[0].replace(/^.*[\\\\/]/,\"\").indexOf(\".\")?-1===t.indexOf(\"?\")?\"?ks=\":\"&ks=\":\"/ks/\",t+r+e):t}},{key:\"getPlaylist\",value:function(e){var r=new Z,n=e.playlistData,i=e.playlistItems.entries,a=e.playlistUserEntries.entries;return r.id=n.id,r.name=n.name,r.description=n.description,r.poster=n.poster,r.playlistLastEntryId=a.map((function(t){return t.playlistLastEntryId}))[0],i.forEach((function(e){var n=new X;t._fillBaseData(n,e),r.items.push(n)})),r}},{key:\"getEntryList\",value:function(e){var r=new $;return e.playlistItems.entries.forEach((function(e){var n=new X;t._fillBaseData(n,e),r.items.push(n)})),r}},{key:\"getBumper\",value:function(e,r,n){var i=e.playBackContextResult,a=i.bumperData[0];if(a){var s=(a&&a.sources).find((function(t){return Y(t.format)}));if(s){var o=t._parseProgressiveSources(s,i,r,n,0,a.entryId);if(o[0])return new tt({url:o[0].url,clickThroughUrl:a.clickThroughUrl})}}}},{key:\"_fillBaseData\",value:function(e,r,n,i){if(e.poster=r.poster,e.rawThumbnailUrl=r.rawThumbnailUrl,e.id=r.id,e.duration=r.duration,e.downloadUrl=r.downloadUrl||\"\",e.metadata=t._parseMetadata(n),e.metadata.description=r.description||\"\",e.metadata.entryId=r.id||\"\",e.metadata.name=r.name||\"\",r.createdAt&&(e.metadata.createdAt=r.createdAt),r.updatedAt&&(e.metadata.updatedAt=r.updatedAt),r.creatorId&&(e.metadata.creatorId=r.creatorId),r.userId&&(e.metadata.userId=r.userId),r.endDate&&(e.metadata.endDate=r.endDate),r.views&&(e.metadata.views=r.views),r.plays&&(e.metadata.plays=r.plays),e.metadata.tags=r.tags||\"\",e.metadata.adminTags=r.adminTags||\"\",e.status=r.status,e.rootEntryId=r.rootEntryId,e.capabilities=r.capabilities?r.capabilities.split(\",\"):[],e.type=t._getEntryType(r.entryType,r.type),e.type===X.Type.LIVE&&(e.dvrStatus=r.dvrStatus),i&&i.flavorAssets[0]&&i.flavorAssets[0].width&&i.flavorAssets[0].height){var a=i.flavorAssets[0],s=a.height,o=a.width;e.metadata.aspectRatio=+Number(o/s).toFixed(2)}return i&&Array.isArray(i.flavorAssets)&&(e.metadata.audioFlavors=i.flavorAssets.filter((function(t){return t.bitrate&&!t.width&&!t.height}))),e}},{key:\"_getEntryType\",value:function(t,e){var r=X.Type.UNKNOWN;switch(t){case C.MediaType.IMAGE.value:r=X.Type.IMAGE;break;case C.MediaType.AUDIO.value:r=X.Type.AUDIO;break;default:switch(e){case C.EntryType.MEDIA_CLIP.value:r=X.Type.VOD;break;case C.EntryType.LIVE_STREAM.value:case C.EntryType.LIVE_CHANNEL.value:r=X.Type.LIVE;break;case C.EntryType.DOCUMENT.value:r=X.Type.DOCUMENT;break;default:r=X.Type.UNKNOWN}}return r}},{key:\"_getParsedSources\",value:function(e,r,n,i,a,s){var o,u,c=new J;return a.type===C.EntryType.EXTERNAL_MEDIA.value?((u=new z).mimetype=\"video/youtube\",u.url=a.referenceId,u.id=a.id+\"_youtube\",c.progressive.push(u)):a.entryType===C.MediaType.IMAGE.value?c.image.push(new it(a)):a.type===C.EntryType.DOCUMENT.value?c.document.push(new at(a)):e&&e.length>0&&(e.filter((function(t){return!Y(t.format)})).forEach((function(e){var o=t._parseAdaptiveSource(e,s,r,n,i,a.id);if(o){var u=W.get(e.format);c.map(o,u)}})),o=e.find((function(e){return Y(e.format)&&\"\"!==e.getProtocol(t._getBaseProtocol())})),c.progressive=t._parseProgressiveSources(o,s,r,n,i,a.id)),c}},{key:\"_parseAdaptiveSource\",value:function(e,r,n,i,a,s){var o=new z;if(e){var u=\"\",c=W.get(e.format),l=e.getProtocol(t._getBaseProtocol()),f=e.deliveryProfileId,d=e.format,h=\"\";if(c&&(h=c.pathExt,o.mimetype=c.mimeType),e.hasFlavorIds()?(!h&&r.flavorAssets&&r.flavorAssets.length>0&&(h=r.flavorAssets[0].fileExt),u=H.build({entryId:s,flavorIds:e.flavorIds,format:d,ks:n,partnerId:i,uiConfId:a,extension:h,protocol:l})):u=t.addKsToUrl(e.url,n),!u){var p=\"failed to create play url from source, discarding source: (\".concat(s,\"_\").concat(f,\"), \").concat(d);return t._logger.warn(p),null}if(o.url=u,o.id=s+\"_\"+f+\",\"+d,e.hasDrmData()){var y=[];e.drm.forEach((function(t){y.push(new Q(t.licenseURL,S.Scheme[t.scheme],t.certificate))})),o.drmData=y}}return o}},{key:\"_parseProgressiveSources\",value:function(e,r,n,i,a,s){var o=[],u=[];if(e){var c=e.getProtocol(t._getBaseProtocol()),l=e.format,f=e.deliveryProfileId,d=f+\",\"+l;r.flavorAssets.map((function(e){var r=new z;r.id=e.id+d,r.mimetype=\"mp3\"===e.fileExt?\"audio/mp3\":\"video/mp4\",r.height=e.height,r.width=e.width,r.bandwidth=1024*e.bitrate,r.label=e.label||e.language;var h=H.build({entryId:s,flavorIds:e.id,format:l,ks:n,partnerId:i,uiConfId:a,extension:e.fileExt,protocol:c});if(\"\"===h)return t._logger.warn(\"failed to create play url from source, discarding source: (\".concat(s,\"_\").concat(f,\"), \").concat(l,\".\")),null;r.url=h,e.height&&e.width?o.push(r):u.push(r)}))}return u.length&&!o.length?u:o}},{key:\"_parseMetadata\",value:function(t){var e={};return t&&t.metas&&t.metas.length>0&&t.metas.forEach((function(t){if(t.xml){var r=new DOMParser;t.xml=t.xml.replace(/\\r?\\n|\\r/g,\"\"),t.xml=t.xml.replace(/>\\s*/g,\">\"),t.xml=t.xml.replace(/>\\s*/g,\">\");var n=r.parseFromString(t.xml,\"text/xml\"),i=K.xmlToJson(n);Object.keys(i.metadata).forEach((function(t){e[t]=i.metadata[t][\"#text\"]}))}})),e}},{key:\"_getBaseProtocol\",value:function(){var t=T.get(),e=/^https?:/.exec(t.cdnUrl),r=e?e[0]:document.location.protocol;return\"string\"==typeof r?r.slice(0,-1):\"https\"}},{key:\"hasBlockAction\",value:function(t){return t.playBackContextResult.hasBlockAction()}},{key:\"getBlockAction\",value:function(t){return t.playBackContextResult.getBlockAction()}},{key:\"hasScheduledRestriction\",value:function(t){return t.playBackContextResult.hasScheduledRestriction()}},{key:\"getErrorMessages\",value:function(t){return t.playBackContextResult.getErrorMessages()}}]),t}();p(st,\"_logger\",_(\"OVPProviderParser\"));var ot=st.addKsToUrl,ut=st,ct=u((function t(e,r,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};i(this,t),this.severity=e,this.category=r,this.code=n,this.data=a,t._logger.error(\"Category:\".concat(r,\" | Code:\").concat(n,\" |\"),a)}));p(ct,\"Severity\",{RECOVERABLE:1,CRITICAL:2}),p(ct,\"Category\",{NETWORK:1,SERVICE:2,PROVIDER:3}),p(ct,\"Code\",{UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,SCHEDULED_RESTRICTED:2003,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002}),p(ct,\"_logger\",_(\"Error\"));var lt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map;i(this,t),p(this,\"retryConfig\",{async:!0,timeout:0,maxAttempts:4}),p(this,\"_attemptCounter\",1),this.headers=e}return u(t,[{key:\"getUrl\",value:function(t){return t+\"/service/\"+this.service+(this.action?\"/action/\"+this.action:\"\")}},{key:\"doHttpRequest\",value:function(){var t=this,e=new Promise((function(e,r){t._requestPromise={resolve:e,reject:r}}));return this.url||this._requestPromise.reject(new ct(ct.Severity.CRITICAL,ct.Category.NETWORK,ct.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),e}},{key:\"_createXHR\",value:function(){var t=this,e=new XMLHttpRequest;e.onreadystatechange=function(){if(4===e.readyState&&200===e.status)try{var r=JSON.parse(e.responseText);return t.responseHeaders=t._getResponseHeaders(e),t._requestPromise.resolve(r)}catch(r){t._requestPromise.reject(t._createError(e,ct.Code.BAD_SERVER_RESPONSE,{text:e.responseText}))}},e.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(e.timeout=this.retryConfig.timeout);var r=performance.now();e.ontimeout=function(){t._handleError(e,ct.Code.TIMEOUT,{timeout:(performance.now()-r)/1e3,statusText:e.statusText})},e.onerror=e.onabort=function(){t._handleError(e,ct.Code.HTTP_ERROR,{text:e.responseText,statusText:e.statusText})},this.headers.forEach((function(t,r){e.setRequestHeader(r,t)})),e.send(this.params)}},{key:\"_getResponseHeaders\",value:function(t){return t.getAllResponseHeaders().split(\"\\n\").filter((function(t){return 0===t.toLowerCase().indexOf(\"x-\")}))}},{key:\"_handleError\",value:function(t,e,r){var n=this._createError(t,e,r);if(t.onreadystatechange=function(){},t.onerror=function(){},t.ontimeout=function(){},t.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(n);this._attemptCounter++,this._createXHR()}},{key:\"_createError\",value:function(t,e,r){return Object.assign(r,{url:this.url,headers:this._getResponseHeaders(t),attempt:this._attemptCounter}),new ct(ct.Severity.CRITICAL,ct.Category.NETWORK,e,r)}}]),t}();var ft=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){var t;i(this,a);for(var e=arguments.length,r=new Array(e),s=0;s<e;s++)r[s]=arguments[s];return p(c(t=n.call.apply(n,[this].concat(r))),\"requests\",[]),t}return u(a,[{key:\"add\",value:function(t){this.requests.push(t);var e={},r={service:t.service,action:t.action};return Object.assign(e,p({},this.requests.length,Object.assign(r,t.params))),Object.assign(e,this.params),this.params=e,this}},{key:\"execute\",value:function(t){var e=this;return new Promise((function(r,n){try{e.params=JSON.stringify(e.params)}catch(t){a._logger.error(\"\".concat(t.message)),n(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.FAILED_PARSING_REQUEST,{error:t,params:e.params}))}e.doHttpRequest().then((function(i){var a=new dt(i,t);a.success?r({headers:e.responseHeaders,response:a}):n(new ct(ct.Severity.CRITICAL,ct.Category.NETWORK,ct.Code.MULTIREQUEST_API_ERROR,{url:e.url,headers:e.responseHeaders,results:a.results}))}),(function(t){n(t)}))}))}}]),a}(lt);p(ft,\"_logger\",_(\"MultiRequestBuilder\"));var dt=u((function t(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];i(this,t),p(this,\"results\",[]);var n=e.result?e.result:e,a=(Array.isArray(n)?n:[n]).map((function(t){return new A(t)})),s=a.filter((function(t){return t.hasError}));s.forEach((function(e){t._logger.error(\"Service returned an error with error code: \".concat(e.error.code,\" and message: \").concat(e.error.message,\".\"))})),this.results=a,r&&s.length||s.length===this.results.length?this.success=!1:(this.results=this.results.filter((function(t){return!t.hasError})),this.success=!0)}));p(dt,\"_logger\",_(\"MultiRequestResult\"));var ht=function(){function t(){i(this,t)}return u(t,null,[{key:\"getMultiRequest\",value:function(t,e,r){var n=T.get(),i=n.serviceParams;Object.assign(i,{ks:e,clientTag:\"html5:v\"+t}),r&&Object.assign(i,{partnerId:r});var a=new Map;a.set(\"Content-Type\",\"application/json\");var s=new ft(a);return s.method=\"POST\",s.service=\"multirequest\",s.url=s.getUrl(n.serviceUrl),s.params=i,s}}]),t}(),pt=u((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,t),this.type=e.type||t.Type.INCLUDE_FIELDS,this.fields=e.fields||\"id,referenceId,name,description,thumbnailUrl,dataUrl,duration,msDuration,flavorParamsIds,mediaType,type,tags,dvrStatus,externalSourceType,status,createdAt,updatedAt,endDate,plays,views,downloadUrl,creatorId,userId,rootEntryId,capabilities,adminTags\"}));p(pt,\"Type\",{INCLUDE_FIELDS:1,EXCLUDE_FIELDS:2});var yt=\"baseEntry\",vt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"getPlaybackContext\",value:function(t,e,r,n){var i=new Map;i.set(\"Content-Type\",\"application/json\");var a=new lt(i);a.service=yt,a.action=\"getPlaybackContext\",a.method=\"POST\",a.url=a.getUrl(t),a.tag=\"baseEntry-getPlaybackContext\";var s={objectType:\"KalturaContextDataParams\",flavorTags:\"all\"};return n&&(s.referrer=n),a.params={entryId:r,ks:e,contextDataParams:s},a}},{key:\"list\",value:function(t,e,r,n,i){var s=new Map;s.set(\"Content-Type\",\"application/json\");var o=new lt(s);return o.service=yt,o.action=\"list\",o.method=\"POST\",o.url=o.getUrl(t),o.tag=\"list\",o.params=a.getEntryListReqParams(r,e,n,i),o}},{key:\"getEntryListReqParams\",value:function(t,e,r,n){var i={};return t?i=r?{redirectFromEntryId:t}:{idEqual:t}:n&&(i={objectType:\"KalturaBaseEntryFilter\",referenceIdEqual:n}),{ks:e,filter:i,responseProfile:new pt}}}]),a}(ht);var mt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"list\",value:function(t,e,r){var n=new Map;n.set(\"Content-Type\",\"application/json\");var i=new lt(n);i.service=\"metadata_metadata\",i.action=\"list\",i.method=\"POST\",i.url=i.getUrl(t),i.tag=\"metadata_metadata-list\";var a={objectType:\"KalturaMetadataFilter\",objectIdEqual:r,metadataObjectTypeEqual:\"1\"};return i.params={filter:a,ks:e},i}}]),a}(ht),gt=function(){function t(e){i(this,t),p(this,\"_response\",{}),this.requests=this.buildRequests(e),this._entryId=e.entryId,this._referenceId=e.referenceId}return u(t,[{key:\"requests\",get:function(){return this._requests},set:function(t){this._requests=t}},{key:\"response\",get:function(){return this._response},set:function(t){var e=new k(t[0].data);this._response.entry=e.entries[0],this._response.playBackContextResult=new j(t[1].data),this._response.metadataListResult=new U(t[2].data)}},{key:\"buildRequests\",value:function(t){var e=T.get(),r=[];r.push(vt.list(e.serviceUrl,t.ks,t.entryId,t.redirectFromEntryId,t.referenceId));var n=\"{1:result:ks}\"===t.ks?\"{2:result:objects:0:id}\":\"{1:result:objects:0:id}\";return r.push(vt.getPlaybackContext(e.serviceUrl,t.ks,n,t.referrer)),r.push(mt.list(e.serviceUrl,t.ks,n)),r}},{key:\"isValid\",value:function(){return!(!this._entryId&&!this._referenceId)}}],[{key:\"id\",get:function(){return\"media\"}}]),t}();var Et=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"anonymousSession\",value:function(t,e){var r=new Map;r.set(\"Content-Type\",\"application/json\");var n=new lt(r);return n.service=\"session\",n.action=\"startWidgetSession\",n.method=\"POST\",n.url=n.getUrl(t),n.tag=\"session-startWidget\",n.params={widgetId:e},n}}]),a}(ht),_t=function(){function t(e){i(this,t),p(this,\"_response\",{}),this.requests=this.buildRequests(e),this._widgetId=e.widgetId}return u(t,[{key:\"requests\",get:function(){return this._requests},set:function(t){this._requests=t}},{key:\"response\",get:function(){return this._response.ks},set:function(t){this._response.ks=t[0].data.ks}},{key:\"buildRequests\",value:function(t){var e=T.get(),r=[];return r.push(Et.anonymousSession(e.serviceUrl,t.widgetId)),r}},{key:\"isValid\",value:function(){return!!this._widgetId}}],[{key:\"id\",get:function(){return\"session\"}}]),t}();var Rt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(t,e){var r,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",o=arguments.length>3?arguments[3]:void 0;return i(this,a),(r=n.call(this,o))._multiRequest=ht.getMultiRequest(t,s,e),r}return u(a)}(function(){function t(e){i(this,t),p(this,\"_loadersResponseMap\",new Map),p(this,\"_loaders\",new Map),this._networkRetryConfig=e}return u(t,[{key:\"add\",value:function(t,e,r){var n=this,i=new t(e);if(i.isValid()){this._loaders.set(t.id,i);var a=this._multiRequest.requests.length,s=i.requests;this._multiRequest.retryConfig=this._networkRetryConfig,s.forEach((function(t){t.params=t.params||{},t.params.ks=t.params.ks||r,n._multiRequest.add(t)}));var o=Array.from(new Array(s.length),(function(t,e){return e+a}));this._loadersResponseMap.set(t.id,o)}}},{key:\"fetchData\",value:function(t){var e=this;return new Promise((function(r,n){e._multiRequest.execute(t).then((function(t){e._multiResponse=t.response,e.prepareData(t.response).success?r(e._loaders):n(new ct(ct.Severity.CRITICAL,ct.Category.NETWORK,ct.Code.API_RESPONSE_MISMATCH,{headers:t.headers}))}),(function(t){n(t)}))}))}},{key:\"prepareData\",value:function(t){var e=this;return this._loaders.forEach((function(r,n){var i=e._loadersResponseMap.get(n);try{i&&i.length>0&&(r.response=t.results.slice(i[0],i[i.length-1]+1))}catch(t){return{success:!1,error:t}}})),{success:!0,data:this._loaders}}}]),t}());var It=\"playlist\",Tt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"execute\",value:function(t,e,r,n){var i=new Map;i.set(\"Content-Type\",\"application/json\");var a=new lt(i);a.service=It,a.action=\"execute\",a.method=\"POST\",a.url=a.getUrl(t),a.tag=\"\".concat(It,\"-execute\");var s=new pt;return n&&(s.fields=s.fields+n),a.params={ks:e,id:r,responseProfile:s},a}},{key:\"get\",value:function(t,e,r){var n=new Map;n.set(\"Content-Type\",\"application/json\");var i=new lt(n);return i.service=It,i.action=\"get\",i.method=\"POST\",i.url=i.getUrl(t),i.tag=\"\".concat(It,\"-get\"),i.params={ks:e,id:r,responseProfile:{fields:\"id,name,description,thumbnailUrl\",type:1}},i}},{key:\"getLastEntryId\",value:function(t,e,r){var n=new Map;n.set(\"Content-Type\",\"application/json\");var i=new lt(n);return i.service=\"userEntry\",i.action=\"list\",i.method=\"POST\",i.url=i.getUrl(t),i.tag=\"userEntry-list\",i.params={ks:e,filter:{objectType:\"KalturaViewHistoryUserEntry\",entryIdEqual:r,userIdEqualCurrent:1},responseProfile:{fields:\"playlistLastEntryId\",type:1}},i}}]),a}(ht),At=function(){function t(e){i(this,t),p(this,\"_response\",{}),this.requests=this.buildRequests(e),this._playlistId=e.playlistId}return u(t,[{key:\"requests\",get:function(){return this._requests},set:function(t){this._requests=t}},{key:\"response\",get:function(){return this._response},set:function(t){this._response.playlistData=new B(t[0].data),this._response.playlistItems=new x(t[1].data),this._response.playlistUserEntries=new q(t[2].data)}},{key:\"buildRequests\",value:function(t){var e=T.get(),r=[];return r.push(Tt.get(e.serviceUrl,t.ks,t.playlistId)),r.push(Tt.execute(e.serviceUrl,t.ks,t.playlistId,t.cacheToken)),r.push(Tt.getLastEntryId(e.serviceUrl,t.ks,t.playlistId)),r}},{key:\"isValid\",value:function(){return!!this._playlistId}}],[{key:\"id\",get:function(){return\"playlist\"}}]),t}(),wt=function(){function t(e,r){i(this,t),p(this,\"_networkRetryConfig\",{async:!0,timeout:0,maxAttempts:4}),function(t){t&&\"function\"==typeof t.getLogger&&(m.get=t.getLogger),t&&t.LogLevel&&(g=t.LogLevel)}(e.logger),this._partnerId=e.partnerId,this._widgetId=e.widgetId,this._uiConfId=e.uiConfId,this._isAnonymous=!e.ks,this._ks=e.ks||\"\",this._playerVersion=r,this._referrer=e.referrer}return u(t,[{key:\"partnerId\",get:function(){return this._partnerId}},{key:\"widgetId\",get:function(){return this._widgetId||this.defaultWidgetId}},{key:\"defaultWidgetId\",get:function(){return\"_\"+this._partnerId}},{key:\"uiConfId\",get:function(){return this._uiConfId}},{key:\"ks\",get:function(){return this._ks},set:function(t){this._ks=t}},{key:\"playerVersion\",get:function(){return this._playerVersion}},{key:\"isAnonymous\",get:function(){return this._isAnonymous}},{key:\"getMediaConfig\",value:function(t){return Promise.reject(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.METHOD_NOT_IMPLEMENTED,{message:\"getMediaConfig method must be implement by the derived class\"}))}},{key:\"getPlaylistConfig\",value:function(t){return Promise.reject(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.METHOD_NOT_IMPLEMENTED,{message:\"The provider does not support loading playlist by id\"}))}},{key:\"getEntryListConfig\",value:function(t){return Promise.reject(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.METHOD_NOT_IMPLEMENTED,{message:\"The provider does not support loading entry list\"}))}},{key:\"_verifyHasSources\",value:function(t){if(0===t.hls.concat(t.dash,t.progressive,t.image,t.document).length)throw new ct(ct.Severity.CRITICAL,ct.Category.SERVICE,ct.Code.MISSING_PLAY_SOURCE,{action:\"\",messages:\"No play source for entry id: \".concat(t.id)})}},{key:\"LogLevel\",get:function(){return g}},{key:\"getLogLevel\",value:function(t){return function(t){return E(t).getLevel()}(t)}},{key:\"setLogLevel\",value:function(t,e){!function(t,e){E(e).setLevel(t)}(t,e)}}]),t}(),Ct=function(){function t(e){i(this,t),p(this,\"_response\",{playlistItems:{entries:[]}}),this.requests=this.buildRequests(e),this._entries=e.entries}return u(t,[{key:\"requests\",get:function(){return this._requests},set:function(t){this._requests=t}},{key:\"response\",get:function(){return this._response},set:function(t){var e,r=this;t.forEach((function(t){e=new k(t.data),r._response.playlistItems.entries.push(e.entries[0])}))}},{key:\"buildRequests\",value:function(t){var e=T.get(),r=[];return t.entries.forEach((function(n){r.push(vt.list(e.serviceUrl,t.ks,n.entryId||n,t.redirectFromEntryId,n.referenceId))})),r}},{key:\"isValid\",value:function(){return!(!this._entries||!this._entries.length)}}],[{key:\"id\",get:function(){return\"entry_list\"}}]),t}();function kt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function bt(t){return function(t){if(Array.isArray(t))return kt(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(t){if(\"string\"==typeof t)return kt(t,e);var r=Object.prototype.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)?kt(t,e):void 0}}(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.\")}()}var Ot=function(){function t(){i(this,t)}return u(t,null,[{key:\"_applyRegexAction\",value:function(t,e){if(t){var r=new RegExp(t.pattern,\"i\");if(e.match(r))return e.replace(r,t.replacement+\"/\")}return e}},{key:\"_pingECDNAndReplaceHostUrls\",value:function(e,r,n){return new Promise((function(i){var a=n+\"/api_v3/service/system/action/ping/format/1\",s=new XMLHttpRequest;s.open(\"GET\",a),s.timeout=r.checkAliveTimeoutMs,s.onreadystatechange=function(){4===s.readyState&&(200===s.status&&t._replaceHostUrls(e,r),i(e))},s.ontimeout=function(){t._logger.warn(\"Got timeout while pinging the ECDN url. the ping url: \".concat(a)),i(e)},s.send()}))}},{key:\"handleRegexAction\",value:function(e,r){return new Promise((function(n){var i=T.get().cdnUrl,a=t._extractRegexActionFromData(r),s=t._getRegExp(a);i&&a&&s&&i.match(s)?a.checkAliveTimeoutMs>0?(t._logger.debug(\"executing ping request...\"),t._pingECDNAndReplaceHostUrls(e,a,i.replace(s,a.replacement)).then(n)):(t._replaceHostUrls(e,a),n(e)):(t._logger.debug(\"exiting handleRegexAction - not applying regex action.\"),n(e))}))}},{key:\"_replaceHostUrls\",value:function(e,r){t._logger.debug(\"Starting to modify urls...\");var n=e.sources,i=n.hls,a=n.dash,s=n.progressive,o=n.image;[].concat(bt(i),bt(a),bt(s),bt(o)).forEach((function(e){return e.url=t._applyRegexAction(r,e.url)})),T.get().replaceHostOnlyManifestUrls||(t._logger.debug(\"replaceHostOnlyManifestUrls flag is off - modifying captions and poster URLs\"),n.captions&&n.captions.forEach((function(e){return e.url=t._applyRegexAction(r,e.url)})),\"string\"==typeof n.poster&&(n.poster=t._applyRegexAction(r,n.poster))),t._logger.debug(\"Finished modifying urls\")}},{key:\"_extractRegexActionFromData\",value:function(t){var e;return null===(e=t.get(gt.id))||void 0===e||null===(e=e.response)||void 0===e?void 0:e.playBackContextResult.getRequestHostRegexAction()}},{key:\"_getRegExp\",value:function(t){if(t&&t.pattern&&t.replacement)return new RegExp(t.pattern,\"i\")}}]),t}();p(Ot,\"_logger\",_(\"RegexActionHandler\"));var St=Ot;var Pt=function(t){f(a,t);var e,r,n=(e=a,r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,n=h(e);if(r){var i=h(this).constructor;t=Reflect.construct(n,arguments,i)}else t=n.apply(this,arguments);return d(this,t)});function a(){return i(this,a),n.apply(this,arguments)}return u(a,null,[{key:\"get\",value:function(t,e){var r=new Map;r.set(\"Content-Type\",\"application/json\");var n=new lt(r);return n.service=\"user\",n.action=\"get\",n.method=\"POST\",n.url=n.getUrl(t),n.tag=\"user-get\",n.params={ks:e,format:1},n}}]),a}(ht),Lt=function(){function t(e){i(this,t),this.id=e.id}return u(t,[{key:\"isAnonymous\",value:function(){return t.INVALID_IDS.includes(this.id)}}]),t}();p(Lt,\"INVALID_IDS\",[\"0\",\"\",null,void 0]);var Dt=function(t){f(l,t);var r,n,a,s,o=(a=l,s=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=h(a);if(s){var r=h(this).constructor;t=Reflect.construct(e,arguments,r)}else t=e.apply(this,arguments);return d(this,t)});function l(t,e){var r;return i(this,l),p(c(r=o.call(this,t,e)),\"_filterOptionsConfig\",{redirectFromEntryId:!0}),p(c(r),\"_retryAttempts\",0),r._logger=_(\"OVPProvider\"),T.set(t.env),r._setFilterOptionsConfig(t.filterOptions),r._vrTag=t.vrTag||\"360\",r._networkRetryConfig=Object.assign(r._networkRetryConfig,t.networkRetryParameters),r._isAnonymous=!r._ks||void 0,void 0===r._isAnonymous&&r.initializeUserResponse(T.serviceUrl,r._ks).then((function(){r._logger.info(\"User response initialized\")})).catch((function(t){r._logger.error(\"Failed to initialize user response\",t)})),r}return u(l,[{key:\"env\",get:function(){return T.get()}},{key:\"initializeUserResponse\",value:(r=v().mark((function t(e,r){var n,i,a;return v().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(n=Pt.get(e,r)).params=JSON.stringify(n.params),t.next=4,n.doHttpRequest();case 4:i=t.sent,a=new Lt(i),this._isAnonymous=a.isAnonymous();case 7:case\"end\":return t.stop()}}),t,this)})),n=function(){var t=this,n=arguments;return new Promise((function(i,a){var s=r.apply(t,n);function o(t){e(s,i,a,o,u,\"next\",t)}function u(t){e(s,i,a,o,u,\"throw\",t)}o(void 0)}))},function(t,e){return n.apply(this,arguments)})},{key:\"getMediaConfig\",value:function(t){var e=this;return t.ks&&(this.ks=t.ks),this._dataLoader=new Rt(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var i=t.entryId,a=t.referenceId;if(i||a){var s=e.ks;s||(s=\"{1:result:ks}\",e._dataLoader.add(_t,{widgetId:e.widgetId}));var o=e._getEntryRedirectFilter(t);return e._dataLoader.add(gt,{entryId:i,ks:s,redirectFromEntryId:o,referenceId:a,referrer:e._referrer}),e._dataLoader.fetchData().then((function(t){try{var i=e._parseDataFromResponse(t);St.handleRegexAction(i,t).then(r)}catch(t){n(t)}}),(function(t){n(t)}))}n(new ct(ct.Severity.CRITICAL,ct.Category.PROVIDER,ct.Code.MISSING_MANDATORY_PARAMS,{message:\"missing entry id\"}))}))}},{key:\"doRequest\",value:function(t,e,r){var n=this,i=e||this.ks,a=new Rt(this.playerVersion,this.partnerId,i,this._networkRetryConfig);return new Promise((function(e,s){return i||a.add(_t,{widgetId:n.widgetId}),t.forEach((function(t){a.add(t.loader,t.params,i||\"{1:result:ks}\")})),a.fetchData(r).then((function(t){try{e(t)}catch(t){s(t)}}),(function(t){s(t)}))}))}},{key:\"_getEntryRedirectFilter\",value:function(t){return\"boolean\"==typeof t.redirectFromEntryId?t.redirectFromEntryId:\"boolean\"!=typeof this._filterOptionsConfig.redirectFromEntryId||this._filterOptionsConfig.redirectFromEntryId}},{key:\"_setFilterOptionsConfig\",value:function(t){t&&\"boolean\"==typeof t.redirectFromEntryId&&(this._filterOptionsConfig.redirectFromEntryId=t.redirectFromEntryId)}},{key:\"_parseDataFromResponse\",value:function(t){this._logger.debug(\"Data parsing started\");var e={session:{isAnonymous:this._isAnonymous,partnerId:this.partnerId},sources:this._getDefaultSourcesObject(),plugins:{}};if(this.uiConfId&&(e.session.uiConfId=this.uiConfId),t){if(t.has(_t.id)){var r=t.get(_t.id);r&&r.response&&(e.session.ks=r.response,this.widgetId!==this.defaultWidgetId&&(this.ks=e.session.ks))}else e.session.ks=this.ks;if(t.has(gt.id)){var n=t.get(gt.id);if(n&&n.response){var i=n.response;if(ut.hasBlockAction(i))throw new ct(ct.Severity.CRITICAL,ct.Category.SERVICE,ct.Code.BLOCK_ACTION,{action:ut.getBlockAction(i),messages:ut.getErrorMessages(i)});if(ut.hasScheduledRestriction(i))throw new ct(ct.Severity.CRITICAL,ct.Category.SERVICE,ct.Code.SCHEDULED_RESTRICTED,{messages:ut.getErrorMessages(i)});var a=ut.getMediaEntry(this.ks,this.partnerId,this.uiConfId,i);Object.assign(e.sources,this._getSourcesObject(a)),this._verifyMediaStatus(a),this._verifyHasSources(e.sources);var s=ut.getBumper(i,this.ks,this.partnerId);s&&Object.assign(e.plugins,{bumper:s})}}}return this._logger.debug(\"Data parsing finished\",e),e}},{key:\"_verifyMediaStatus\",value:function(t){if([C.EntryStatus.IMPORT,C.EntryStatus.PRECONVERT].includes(t.status))throw new ct(ct.Severity.CRITICAL,ct.Category.SERVICE,ct.Code.MEDIA_STATUS_NOT_READY,{messages:\"Status of entry id \".concat(t.id,\" is \").concat(t.status,\" and is still being imported or converted\"),data:{status:status}})}},{key:\"getPlaylistConfig\",value:function(t){var e=this;return t.ks&&(this.ks=t.ks),this._dataLoader=new Rt(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var i=t.playlistId;if(i){var a=e.ks;a||(a=\"{1:result:ks}\",e._dataLoader.add(_t,{widgetId:e.widgetId})),e._dataLoader.add(At,{playlistId:i,ks:a}),e._dataLoader.fetchData().then((function(i){try{e._handlePlaylistResponse(i,r,n,t)}catch(t){n(t)}}),(function(t){n(t)}))}else n({success:!1,data:\"Missing mandatory parameter\"})}))}},{key:\"_handlePlaylistResponse\",value:function(t,e,r,n){this._logger.debug(\"Handling playlist response\",{attempt:this._retryAttempts+1,maxAttempts:10});var i=this._parsePlaylistDataFromResponse(t);i.items.length>0?this._handlePlaylistSuccess(i,e):this._handlePlaylistRetry(e,r,n)}},{key:\"_handlePlaylistSuccess\",value:function(t,e){this._logger.debug(\"Playlist items found\",{itemsCount:t.items.length,totalAttempts:this._retryAttempts+1}),this._retryAttempts=0,e(t)}},{key:\"_handlePlaylistRetry\",value:function(t,e,r){this._retryAttempts>=10?this._handleMaxRetriesReached(e):(this._retryAttempts++,this._schedulePlaylistRetry(t,e,r))}},{key:\"_handleMaxRetriesReached\",value:function(t){this._logger.error(\"Max retry attempts reached - rejecting playlist\",{maxAttempts:10}),this._retryAttempts=0,t(this._getPlaylistObject())}},{key:\"_schedulePlaylistRetry\",value:function(t,e,r){var n=this;setTimeout((function(){n._dataLoader=new Rt(n.playerVersion,n.partnerId,n.ks,n._networkRetryConfig);var i=n.ks;i||(i=\"{1:result:ks}\",n._dataLoader.add(_t,{widgetId:n.widgetId}));var a={playlistId:r.playlistId,ks:i,cacheToken:\",\".repeat(n._retryAttempts)};n._dataLoader.add(At,a),n._dataLoader.fetchData().then((function(i){n._handlePlaylistResponse(i,t,e,r)}),(function(t){e(t)}))}),1e4)}},{key:\"_parsePlaylistDataFromResponse\",value:function(t){var e=this;this._logger.debug(\"Data parsing started\");var r=this._getPlaylistObject();if(t&&t.has(At.id)){var n=t.get(At.id);if(n&&n.response){var i=ut.getPlaylist(n.response);r.id=i.id,r.poster=i.poster,r.metadata.name=i.name,r.metadata.description=i.description,r.playlistLastEntryId=i.playlistLastEntryId,i.items.forEach((function(t){return r.items.push({sources:e._getSourcesObject(t)})}))}}return this._logger.debug(\"Data parsing finished\",r),r}},{key:\"getEntryListConfig\",value:function(t){var e=this;return t.ks&&(this.ks=t.ks),this._dataLoader=new Rt(this.playerVersion,this.partnerId,this.ks,this._networkRetryConfig),new Promise((function(r,n){var i=t.entries;if(i&&i.length){var a=e.ks;a||(a=\"{1:result:ks}\",e._dataLoader.add(_t,{widgetId:e.widgetId}));var s=e._getEntryRedirectFilter(t);e._dataLoader.add(Ct,{entries:i,ks:a,redirectFromEntryId:s}),e._dataLoader.fetchData(!1).then((function(t){r(e._parseEntryListDataFromResponse(t))}),(function(t){n(t)}))}else n({success:!1,data:\"Missing mandatory parameter\"})}))}},{key:\"_parseEntryListDataFromResponse\",value:function(t){var e=this;this._logger.debug(\"Data parsing started\");var r=this._getPlaylistObject();if(t&&t.has(Ct.id)){var n=t.get(Ct.id);n&&n.response&&ut.getEntryList(n.response).items.forEach((function(t){return r.items.push({sources:e._getSourcesObject(t)})}))}return this._logger.debug(\"Data parsing finished\",r),r}},{key:\"_getPlaylistObject\",value:function(){return{id:\"\",metadata:{name:\"\",description:\"\"},poster:\"\",playlistLastEntryId:\"\",items:[]}}},{key:\"_getDefaultSourcesObject\",value:function(){return{hls:[],dash:[],progressive:[],image:[],document:[],id:\"\",duration:0,type:X.Type.UNKNOWN,poster:\"\",rawThumbnailUrl:\"\",dvr:!1,vr:null,metadata:{name:\"\",description:\"\",tags:\"\"}}}},{key:\"_getSourcesObject\",value:function(t){var e=this,r=this._getDefaultSourcesObject(),n=t.sources.toJSON();return r.hls=n.hls,r.dash=n.dash,r.progressive=n.progressive,r.image=n.image,r.document=n.document,r.id=t.id,r.duration=t.duration,r.type=t.type,r.dvr=!!t.dvrStatus,r.poster=t.poster,r.rawThumbnailUrl=t.rawThumbnailUrl,r.downloadUrl=t.downloadUrl,r.rootEntryId=t.rootEntryId,r.capabilities=t.capabilities,t.activeLiveStreamTime&&(r.activeLiveStreamTime=t.activeLiveStreamTime),t.sources.captions&&(r.captions=t.sources.captions),t.metadata&&\"string\"==typeof t.metadata.tags&&t.metadata.tags.split(\",\").some((function(t){return t.trim()===e._vrTag}))&&(r.vr={}),Object.assign(r.metadata,t.metadata),r}}]),l}(wt),xt=\"@playkit-js/playkit-js-providers-ovp\",Mt=\"2.44.1\"}(),n}()}));\n//# sourceMappingURL=playkit-ovp-provider.js.map","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.playkit-banner-overlay__banner-overlay__banner-overlay{position:absolute;pointer-events:none;width:100%;padding:4px 8px}.playkit-banner-overlay__banner-overlay__banner-content{display:flex;border-radius:var(--Roundness-2, 8px);background:var(--B-40, rgba(0, 0, 0, 0.4));padding:4px 8px;gap:8px;color:#fff;font-size:16px;font-family:\"Lato\",sans-serif;font-style:normal;font-weight:400;line-height:150%;box-sizing:border-box;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto;box-shadow:0 4px 4px rgba(0,0,0,.25);overflow:visible;text-shadow:0 4px 4px rgba(0,0,0,.25)}.playkit-banner-overlay__banner-overlay__content-center{justify-content:center;text-align:center}.playkit-banner-overlay__banner-overlay__content-left{justify-content:flex-start;text-align:left}.playkit-banner-overlay__banner-overlay__content-right{justify-content:flex-end;text-align:right}.playkit-banner-overlay__banner-overlay__banner-text{display:block;width:100%;margin:0}.playkit-banner-overlay__banner-overlay__text-container{flex:1 1 auto;min-width:0;overflow:visible}.playkit-banner-overlay__banner-overlay__text-truncated{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.playkit-banner-overlay__banner-overlay__text-wrapping{word-wrap:break-word;word-break:break-word}.playkit-banner-overlay__banner-overlay__close-button{background:none;border:none;color:#fff;font-size:20px;width:24px;height:24px;cursor:pointer;opacity:.9;transition:opacity .2s ease;flex:0 0 auto;display:flex;justify-content:center}.playkit-banner-overlay__banner-overlay__close-button:hover{opacity:1}.playkit-banner-overlay__banner-overlay__close-button:focus{outline:1px solid rgba(255,255,255,.5);outline-offset:2px}.playkit-banner-overlay__banner-overlay__top{top:0;left:50%;transform:translateX(-50%)}.playkit-banner-overlay__banner-overlay__bottom{bottom:0;left:50%;transform:translateX(-50%)}.playkit-banner-overlay__banner-overlay__top-left{top:0;left:0}.playkit-banner-overlay__banner-overlay__top-right{top:0;right:0}.playkit-banner-overlay__banner-overlay__bottom-left{bottom:0;left:0}.playkit-banner-overlay__banner-overlay__bottom-right{bottom:0;right:0}@media(max-width: 480px){.playkit-banner-overlay__banner-overlay__banner-content{font-size:14px;padding:4px 6px}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/banner-overlay/banner-overlay.scss\"],\"names\":[],\"mappings\":\"AAAA,wDACE,iBAAA,CACA,mBAAA,CACA,UAAA,CACA,eAAA,CAGF,wDACE,YAAA,CACA,qCAAA,CACA,0CAAA,CACA,eAAA,CACA,OAAA,CACA,UAAA,CACA,cAAA,CACA,6BAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CACA,qBAAA,CACA,yBAAA,CACA,iCAAA,CACA,mBAAA,CACA,oCAAA,CACA,gBAAA,CACA,qCAAA,CAGF,wDACE,sBAAA,CACA,iBAAA,CAGF,sDACE,0BAAA,CACA,eAAA,CAGF,uDACE,wBAAA,CACA,gBAAA,CAGF,qDACE,aAAA,CACA,UAAA,CACA,QAAA,CAGF,wDACE,aAAA,CACA,WAAA,CACA,gBAAA,CAGF,wDACE,eAAA,CACA,kBAAA,CACA,sBAAA,CAGF,uDACE,oBAAA,CACA,qBAAA,CAGF,sDACE,eAAA,CACA,WAAA,CACA,UAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,UAAA,CACA,2BAAA,CACA,aAAA,CAEA,YAAA,CACA,sBAAA,CAEA,4DACE,SAAA,CAGF,4DACE,sCAAA,CACA,kBAAA,CAIJ,6CACE,KAAA,CACA,QAAA,CACA,0BAAA,CAGF,gDACE,QAAA,CACA,QAAA,CACA,0BAAA,CAGF,kDACE,KAAA,CACA,MAAA,CAGF,mDACE,KAAA,CACA,OAAA,CAGF,qDACE,QAAA,CACA,MAAA,CAGF,sDACE,QAAA,CACA,OAAA,CAGF,yBACE,wDACE,cAAA,CACA,eAAA,CAAA\",\"sourcesContent\":[\".banner-overlay {\\n position: absolute;\\n pointer-events: none;\\n width: 100%;\\n padding: 4px 8px;\\n}\\n\\n.banner-content {\\n display: flex;\\n border-radius: var(--Roundness-2, 8px);\\n background: var(--B-40, rgba(0, 0, 0, 0.40));\\n padding: 4px 8px;\\n gap: 8px;\\n color: #FFFFFF;\\n font-size: 16px;\\n font-family: 'Lato', sans-serif;\\n font-style: normal;\\n font-weight: 400;\\n line-height: 150%;\\n box-sizing: border-box;\\n backdrop-filter: blur(2px);\\n -webkit-backdrop-filter: blur(2px);\\n pointer-events: auto;\\n box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);\\n overflow: visible;\\n text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);\\n}\\n\\n.content-center {\\n justify-content: center;\\n text-align: center;\\n}\\n\\n.content-left {\\n justify-content: flex-start;\\n text-align: left;\\n}\\n\\n.content-right {\\n justify-content: flex-end;\\n text-align: right;\\n}\\n\\n.banner-text {\\n display: block;\\n width: 100%;\\n margin: 0;\\n}\\n\\n.text-container {\\n flex: 1 1 auto;\\n min-width: 0;\\n overflow: visible;\\n}\\n\\n.text-truncated {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n\\n.text-wrapping {\\n word-wrap: break-word;\\n word-break: break-word;\\n}\\n\\n.close-button {\\n background: none;\\n border: none;\\n color: #FFFFFF;\\n font-size: 20px;\\n width: 24px;\\n height: 24px;\\n cursor: pointer;\\n opacity: 0.9;\\n transition: opacity 0.2s ease;\\n flex: 0 0 auto;\\n\\n display: flex;\\n justify-content: center;\\n\\n &:hover {\\n opacity: 1;\\n }\\n\\n &:focus {\\n outline: 1px solid rgba(255, 255, 255, 0.5);\\n outline-offset: 2px;\\n }\\n}\\n\\n.top {\\n top: 0;\\n left: 50%;\\n transform: translateX(-50%);\\n}\\n\\n.bottom {\\n bottom: 0;\\n left: 50%;\\n transform: translateX(-50%);\\n}\\n\\n.top-left {\\n top: 0;\\n left: 0;\\n}\\n\\n.top-right {\\n top: 0;\\n right: 0;\\n}\\n\\n.bottom-left {\\n bottom: 0;\\n left: 0;\\n}\\n\\n.bottom-right {\\n bottom: 0;\\n right: 0;\\n}\\n\\n@media (max-width: 480px) {\\n .banner-content {\\n font-size: 14px;\\n padding: 4px 6px;\\n }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport var bannerOverlay = `playkit-banner-overlay__banner-overlay__banner-overlay`;\nexport var bannerContent = `playkit-banner-overlay__banner-overlay__banner-content`;\nexport var contentCenter = `playkit-banner-overlay__banner-overlay__content-center`;\nexport var contentLeft = `playkit-banner-overlay__banner-overlay__content-left`;\nexport var contentRight = `playkit-banner-overlay__banner-overlay__content-right`;\nexport var bannerText = `playkit-banner-overlay__banner-overlay__banner-text`;\nexport var textContainer = `playkit-banner-overlay__banner-overlay__text-container`;\nexport var textTruncated = `playkit-banner-overlay__banner-overlay__text-truncated`;\nexport var textWrapping = `playkit-banner-overlay__banner-overlay__text-wrapping`;\nexport var closeButton = `playkit-banner-overlay__banner-overlay__close-button`;\nexport var top = `playkit-banner-overlay__banner-overlay__top`;\nexport var bottom = `playkit-banner-overlay__banner-overlay__bottom`;\nexport var topLeft = `playkit-banner-overlay__banner-overlay__top-left`;\nexport var topRight = `playkit-banner-overlay__banner-overlay__top-right`;\nexport var bottomLeft = `playkit-banner-overlay__banner-overlay__bottom-left`;\nexport var bottomRight = `playkit-banner-overlay__banner-overlay__bottom-right`;\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\n}","function getIgnoreAttributesFn(ignoreAttributes) {\n if (typeof ignoreAttributes === 'function') {\n return ignoreAttributes\n }\n if (Array.isArray(ignoreAttributes)) {\n return (attrName) => {\n for (const pattern of ignoreAttributes) {\n if (typeof pattern === 'string' && attrName === pattern) {\n return true\n }\n if (pattern instanceof RegExp && pattern.test(attrName)) {\n return true\n }\n }\n }\n }\n return () => false\n}\n\nmodule.exports = getIgnoreAttributesFn","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/(<!DOCTYPE[\\s\\w\\\"\\.\\/\\-\\:]+(\\[.*\\])*\\s*>)/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else if (tags.length === 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' has not been opened.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\nconst getIgnoreAttributesFn = require('../ignoreAttributes')\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&amp;\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \"&gt;\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"&lt;\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"&apos;\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \"&quot;\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes === true || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0, []).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level, ajPath) {\n let attrStr = '';\n let val = '';\n const jPath = ajPath.join('.')\n for (let key in jObj) {\n if(!Object.prototype.hasOwnProperty.call(jObj, key)) continue;\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node only if it is not an attribute\n if (this.isAttribute(key)) {\n val += '';\n }\n } else if (jObj[key] === null) {\n // null attribute should be ignored by the attribute list, but should not cause the tag closing\n if (this.isAttribute(key)) {\n val += '';\n } else if (key === this.options.cdataPropName) {\n val += '';\n } else if (key[0] === '?') {\n val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n } else {\n val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n }\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr && !this.ignoreAttributesFn(attr, jPath)) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n } else if (!attr) {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n let listTagAttr = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup){\n const result = this.j2x(item, level + 1, ajPath.concat(key));\n listTagVal += result.val;\n if (this.options.attributesGroupName && item.hasOwnProperty(this.options.attributesGroupName)) {\n listTagAttr += result.attrStr\n }\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level, ajPath)\n }\n } else {\n if (this.options.oneListGroup) {\n let textValue = this.options.tagValueProcessor(key, item);\n textValue = this.replaceEntitiesValue(textValue);\n listTagVal += textValue;\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, listTagAttr, level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level, ajPath)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level, ajPath) {\n const result = this.j2x(object, level + 1, ajPath.concat(key));\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '</' + key + this.tagEndChar;\n let piClosingChar = \"\";\n \n if(key[0] === \"?\") {\n piClosingChar = \"?\";\n tagEndExp = \"\";\n }\n \n // attrStr is an empty string in case the attribute came as undefined or null\n if ((attrStr || attrStr === '') && val.indexOf('<') === -1) {\n return ( this.indentate(level) + '<' + key + attrStr + piClosingChar + '>' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `></${key}`\n }\n return closeTag;\n}\n\nfunction buildEmptyObjNode(val, key, attrStr, level) {\n if (val !== '') {\n return this.buildObjectNode(val, key, attrStr, level);\n } else {\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + '/' + this.tagEndChar;\n // return this.buildTagStr(level,key, attrStr);\n }\n }\n}\n\nBuilder.prototype.buildTextValNode = function(val, key, attrStr, level) {\n if (this.options.cdataPropName !== false && key === this.options.cdataPropName) {\n return this.indentate(level) + `<![CDATA[${val}]]>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `<!--${val}-->` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n '</' + key + this.tagEndChar;\n }\n }\n}\n\nBuilder.prototype.replaceEntitiesValue = function(textValue){\n if(textValue && textValue.length > 0 && this.options.processEntities){\n for (let i=0; i<this.options.entities.length; i++) {\n const entity = this.options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\n\nfunction indentate(level) {\n return this.options.indentBy.repeat(level);\n}\n\nfunction isAttribute(name /*, options*/) {\n if (name.startsWith(this.options.attributeNamePrefix) && name !== this.options.textNodeName) {\n return name.substr(this.attrPrefixLen);\n } else {\n return false;\n }\n}\n\nmodule.exports = Builder;\n","const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n if(tagName === undefined) continue;\n\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += `<![CDATA[${tagObj[tagName][0][options.textNodeName]}]]>`;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + `<!--${tagObj[tagName][0][options.textNodeName]}-->`;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}</${tagName}>`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"</\"))) {\n xmlStr += indentation + options.indentBy + tagValue + indentation;\n } else {\n xmlStr += tagValue;\n }\n xmlStr += `</${tagName}>`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(!obj.hasOwnProperty(key)) continue;\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n if(!attrMap.hasOwnProperty(attr)) continue;\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","const util = require('../util');\n\n//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i<xmlData.length;i++){\n if (xmlData[i] === '<' && !comment) { //Determine the tag type\n if( hasBody && isEntity(xmlData, i)){\n i += 7; \n let entityName, val;\n [entityName, val,i] = readEntityExp(xmlData,i+1);\n if(val.indexOf(\"&\") === -1) //Parameter entities are not supported\n entities[ validateEntityName(entityName) ] = {\n regx : RegExp( `&${entityName};`,\"g\"),\n val: val\n };\n }\n else if( hasBody && isElement(xmlData, i)) i += 8;//Not supported\n else if( hasBody && isAttlist(xmlData, i)) i += 8;//Not supported\n else if( hasBody && isNotation(xmlData, i)) i += 9;//Not supported\n else if( isComment) comment = true;\n else throw new Error(\"Invalid DOCTYPE\");\n\n angleBracketsCount++;\n exp = \"\";\n } else if (xmlData[i] === '>') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nfunction readEntityExp(xmlData,i){\n //External entities are not supported\n // <!ENTITY ext SYSTEM \"http://normal-website.com\" >\n\n //Parameter entities are not supported\n // <!ENTITY entityname \"&anotherElement;\">\n\n //Internal entities are supported\n // <!ENTITY entityname \"replacement text\">\n \n //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\nconst getIgnoreAttributesFn = require('../ignoreAttributes')\n\n// const regx =\n// '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n// .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n \"num_dec\": { regex: /&#([0-9]{1,7});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 10)) },\n \"num_hex\": { regex: /&#x([0-9a-fA-F]{1,6});/g, val : (_, str) => String.fromCharCode(Number.parseInt(str, 16)) },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n this.ignoreAttributesFn = getIgnoreAttributesFn(this.options.ignoreAttributes)\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (this.options.ignoreAttributes !== true && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n if (this.ignoreAttributesFn(attrName, jPath)) {\n continue\n }\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: </${tagName}>`);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true, true);\n if(val == undefined) val = \"\";\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n const rawTagName = result.rawTagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) {\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n \n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, rawTagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${rawTagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath)\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n jPath = jPath.substr(0, jPath.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath){\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n }else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode);\n }else{\n currentNode.addChild(childNode);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = currentNode.child.length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substring(0, separatorIndex);\n tagExp = tagExp.substring(separatorIndex + 1).trimStart();\n }\n\n const rawTagName = tagName;\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n rawTagName: rawTagName,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","const { buildOptions} = require(\"./OptionsBuilder\");\nconst OrderedObjParser = require(\"./OrderedObjParser\");\nconst { prettify} = require(\"./node2json\");\nconst validator = require('../validator');\n\nclass XMLParser{\n \n constructor(options){\n this.externalEntities = {};\n this.options = buildOptions(options);\n \n }\n /**\n * Parse XML dats to JS object \n * @param {string|Buffer} xmlData \n * @param {boolean|Object} validationOption \n */\n parse(xmlData,validationOption){\n if(typeof xmlData === \"string\"){\n }else if( xmlData.toString){\n xmlData = xmlData.toString();\n }else{\n throw new Error(\"XML data is accepted in String or Bytes[] form.\")\n }\n if( validationOption){\n if(validationOption === true) validationOption = {}; //validate with default options\n \n const result = validator.validate(xmlData, validationOption);\n if (result !== true) {\n throw Error( `${result.err.msg}:${result.err.line}:${result.err.col}` )\n }\n }\n const orderedObjParser = new OrderedObjParser(this.options);\n orderedObjParser.addExternalEntities(this.externalEntities);\n const orderedResult = orderedObjParser.parseXml(xmlData);\n if(this.options.preserveOrder || orderedResult === undefined) return orderedResult;\n else return prettify(orderedResult, this.options);\n }\n\n /**\n * Add Entity which is not by default supported by this library\n * @param {string} key \n * @param {string} value \n */\n addEntity(key, value){\n if(value.indexOf(\"&\") !== -1){\n throw new Error(\"Entity value can't have '&'\")\n }else if(key.indexOf(\"&\") !== -1 || key.indexOf(\";\") !== -1){\n throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\")\n }else if(value === \"&\"){\n throw new Error(\"An entity with value '&' is not permitted\");\n }else{\n this.externalEntities[key] = value;\n }\n }\n}\n\nmodule.exports = XMLParser;","'use strict';\n\n/**\n * \n * @param {array} node \n * @param {any} options \n * @returns \n */\nfunction prettify(node, options){\n return compress( node, options);\n}\n\n/**\n * \n * @param {array} arr \n * @param {object} options \n * @param {string} jPath \n * @returns object\n */\nfunction compress(arr, options, jPath){\n let text;\n const compressedObj = {};\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const property = propName(tagObj);\n let newJpath = \"\";\n if(jPath === undefined) newJpath = property;\n else newJpath = jPath + \".\" + property;\n\n if(property === options.textNodeName){\n if(text === undefined) text = tagObj[property];\n else text += \"\" + tagObj[property];\n }else if(property === undefined){\n continue;\n }else if(tagObj[property]){\n \n let val = compress(tagObj[property], options, newJpath);\n const isLeaf = isLeafTag(val, options);\n\n if(tagObj[\":@\"]){\n assignAttributes( val, tagObj[\":@\"], newJpath, options);\n }else if(Object.keys(val).length === 1 && val[options.textNodeName] !== undefined && !options.alwaysCreateTextNode){\n val = val[options.textNodeName];\n }else if(Object.keys(val).length === 0){\n if(options.alwaysCreateTextNode) val[options.textNodeName] = \"\";\n else val = \"\";\n }\n\n if(compressedObj[property] !== undefined && compressedObj.hasOwnProperty(property)) {\n if(!Array.isArray(compressedObj[property])) {\n compressedObj[property] = [ compressedObj[property] ];\n }\n compressedObj[property].push(val);\n }else{\n //TODO: if a node is not an array, then check if it should be an array\n //also determine if it is a leaf node\n if (options.isArray(property, newJpath, isLeaf )) {\n compressedObj[property] = [val];\n }else{\n compressedObj[property] = val;\n }\n }\n }\n \n }\n // if(text && text.length > 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\nexports.prettify = prettify;\n","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/;\n// const octRegex = /^0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n \nconst consider = {\n hex : true,\n // oct: false,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true,\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n \n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if(str===\"0\") return 0;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return parse_int(trimmedStr, 16);\n // }else if (options.oct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n }else if (trimmedStr.search(/[eE]/)!== -1) { //eNotation\n const notation = trimmedStr.match(/^([-\\+])?(0*)([0-9]*(\\.[0-9]*)?[eE][-\\+]?[0-9]+)$/); \n // +00.123 => [ , '+', '00', '.123', ..\n if(notation){\n // console.log(notation)\n if(options.leadingZeros){ //accept with leading zeros\n trimmedStr = (notation[1] || \"\") + notation[3];\n }else{\n if(notation[2] === \"0\" && notation[3][0]=== \".\"){ //valid number\n }else{\n return str;\n }\n }\n return options.eNotation ? Number(trimmedStr) : str;\n }else{\n return str;\n }\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n // +00.123 => [ , '+', '00', '.123', ..\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else if(options.leadingZeros && leadingZeros===str) return 0; //00\n \n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n return (numTrimmedByZeros === numStr) || (sign+numTrimmedByZeros === numStr) ? num : str\n }else {\n return (trimmedStr === numStr) || (trimmedStr === sign+numStr) ? num : str\n }\n }\n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\n\nfunction parse_int(numStr, base){\n //polyfill\n if(parseInt) return parseInt(numStr, base);\n else if(Number.parseInt) return Number.parseInt(numStr, base);\n else if(window && window.parseInt) return window.parseInt(numStr, base);\n else throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")\n}\n\nmodule.exports = toNumber;","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement, attributes) {\n Object.keys(attributes).forEach(function (key) {\n styleElement.setAttribute(key, attributes[key]);\n });\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join(\"\\n\");\n };\n}();\n\n/* istanbul ignore next */\nfunction apply(styleElement, index, remove, obj) {\n var css;\n if (remove) {\n css = \"\";\n } else {\n css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n }\n\n // For old IE\n /* istanbul ignore if */\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = styleElement.childNodes;\n if (childNodes[index]) {\n styleElement.removeChild(childNodes[index]);\n }\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index]);\n } else {\n styleElement.appendChild(cssNode);\n }\n }\n}\nvar singletonData = {\n singleton: null,\n singletonCounter: 0\n};\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") return {\n update: function update() {},\n remove: function remove() {}\n };\n\n // eslint-disable-next-line no-undef,no-use-before-define\n var styleIndex = singletonData.singletonCounter++;\n var styleElement =\n // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton || (\n // eslint-disable-next-line no-undef,no-use-before-define\n singletonData.singleton = options.insertStyleElement(options));\n return {\n update: function update(obj) {\n apply(styleElement, styleIndex, false, obj);\n },\n remove: function remove(obj) {\n apply(styleElement, styleIndex, true, obj);\n }\n };\n}\nmodule.exports = domAPI;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw new Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw new Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer.ui.preact;","export enum BannerAlignment {\n TOP = 'top',\n BOTTOM = 'bottom',\n TOP_LEFT = 'top-left',\n TOP_RIGHT = 'top-right',\n BOTTOM_LEFT = 'bottom-left',\n BOTTOM_RIGHT = 'bottom-right'\n}\n\nexport interface BannerOverlayConfig {\n text: string;\n duration?: number | 'unlimited';\n alignment?: BannerAlignment;\n allowWrapping?: boolean | string; // default: true\n allowClose?: boolean | string; // default: false\n useConfigFromMetadata?: boolean;\n isMetadataBased: boolean;\n};\n","enum Icon {\n CLOSE = 'M13.364 11.9497L17.6066 16.1924C17.9971 16.5829 17.9971 17.2161 17.6066 17.6066C17.2161 17.9971 16.5829 17.9971 16.1924 17.6066L11.9497 13.364L7.70711 17.6066C7.31658 17.9971 6.68342 17.9971 6.29289 17.6066C5.90237 17.2161 5.90237 16.5829 6.29289 16.1924L10.5355 11.9497L6.29289 7.70711C5.90237 7.31658 5.90237 6.68342 6.29289 6.29289C6.68342 5.90237 7.31658 5.90237 7.70711 6.29289L11.9497 10.5355L16.1924 6.29289C16.5829 5.90237 17.2161 5.90237 17.6066 6.29289C17.9971 6.68342 17.9971 7.31658 17.6066 7.70711L13.364 11.9497Z'\n}\n\nexport {Icon};\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer.ui.preactHooks;","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer.core;","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/singletonStyleDomAPI.js\";\n \n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithAttributesAndNonce.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n \n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./banner-overlay.scss\";\n \n \n\nvar options = {\"attributes\":{\"id\":\"@playkit-js/banner-overlay\"}};\n\n;\noptions.setAttributes = setAttributes;\noptions.insert = function (styleElement) {\n if (window.kalturaGlobalConfig && typeof window.kalturaGlobalConfig.stylesNonce === 'string') {\n styleElement.setAttribute('nonce', window.kalturaGlobalConfig.stylesNonce);\n }\n document.head.appendChild(styleElement);\n};\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./banner-overlay.scss\";\n export default content && content.locals ? content.locals : undefined;\n","export const BANNER_MESSAGE_DISPLAYS = 'banner_message_displays';\nexport const BANNER_MESSAGE_MANUALLY_DISMISSED = 'banner_message_manually_dismissed';\n","import { h, FunctionalComponent } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { ui, KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { FakeEvent } from '@playkit-js/playkit-js';\nimport * as styles from './banner-overlay.scss';\nimport { BannerAlignment, Icon as IconPath } from '../../types';\nimport { BANNER_MESSAGE_DISPLAYS, BANNER_MESSAGE_MANUALLY_DISMISSED } from '../../events/events';\n\nconst { Icon, Tooltip } = ui.Components;\nconst { withText } = ui.preacti18n;\n\nexport interface BannerDisplayProps {\n text: string;\n alignment?: BannerAlignment;\n allowWrapping?: boolean;\n allowClose?: boolean;\n onClose?: () => void;\n closeBannerLabel: string;\n player?: KalturaPlayer;\n}\n\nconst BannerDisplayComponent: FunctionalComponent<BannerDisplayProps> = ({\n text,\n alignment = BannerAlignment.TOP_LEFT,\n allowWrapping = true,\n allowClose = false,\n onClose,\n closeBannerLabel,\n player\n}: BannerDisplayProps): h.JSX.Element => {\n const [isTextTruncated, setIsTextTruncated] = useState(false);\n const [hasDispatchedDisplayEvent, setHasDispatchedDisplayEvent] = useState(false);\n const textRef = useRef<HTMLSpanElement>(null);\n\n const checkIfTextIsTruncated = (): void => {\n if (!allowWrapping && textRef.current) {\n const element = textRef.current;\n const isTextTruncated = element.scrollWidth > element.clientWidth;\n setIsTextTruncated(isTextTruncated);\n }\n };\n\n const handleClose = (): void => {\n // event to notify about banner message manually dismissed\n player?.dispatchEvent(new FakeEvent(BANNER_MESSAGE_MANUALLY_DISMISSED));\n onClose?.();\n };\n\n useEffect(() => {\n checkIfTextIsTruncated();\n\n // event to notify about banner message displays\n if (player && !hasDispatchedDisplayEvent) {\n player.dispatchEvent(new FakeEvent(BANNER_MESSAGE_DISPLAYS));\n setHasDispatchedDisplayEvent(true);\n }\n }, [allowWrapping, player, hasDispatchedDisplayEvent]);\n\n useEffect(() => {\n requestAnimationFrame(checkIfTextIsTruncated);\n }, [text, allowWrapping]);\n\n const getAlignmentClass = (): string => {\n switch (alignment) {\n case BannerAlignment.TOP:\n return styles.top;\n case BannerAlignment.BOTTOM:\n return styles.bottom;\n case BannerAlignment.TOP_LEFT:\n return styles.topLeft;\n case BannerAlignment.TOP_RIGHT:\n return styles.topRight;\n case BannerAlignment.BOTTOM_LEFT:\n return styles.bottomLeft;\n case BannerAlignment.BOTTOM_RIGHT:\n return styles.bottomRight;\n default:\n return styles.topLeft;\n }\n };\n\n const getTextClass = (): string => {\n return allowWrapping ? styles.textWrapping : styles.textTruncated;\n };\n\n const getContentAlignmentClass = (): string => {\n switch (alignment) {\n case BannerAlignment.TOP:\n case BannerAlignment.BOTTOM:\n return styles.contentCenter;\n case BannerAlignment.TOP_RIGHT:\n case BannerAlignment.BOTTOM_RIGHT:\n return styles.contentRight;\n case BannerAlignment.TOP_LEFT:\n case BannerAlignment.BOTTOM_LEFT:\n default:\n return styles.contentLeft;\n }\n };\n\n const renderText = (): h.JSX.Element => {\n const textClass = getTextClass();\n const textElement = (\n <span ref={textRef} className={`${styles.bannerText} ${textClass}`}>\n {text}\n </span>\n );\n\n if (!allowWrapping && isTextTruncated) {\n return (\n <Tooltip label={text} type=\"top\">\n {textElement}\n </Tooltip>\n );\n }\n\n return textElement;\n };\n\n const alignmentClass = getAlignmentClass();\n const contentAlignmentClass = getContentAlignmentClass();\n\n return (\n <div data-testid=\"banner-overlay\" className={`${styles.bannerOverlay} ${alignmentClass}`} role=\"status\" aria-live=\"polite\" aria-label={text}>\n <div className={`${styles.bannerContent} ${contentAlignmentClass}`}>\n <div className={styles.textContainer}>{renderText()}</div>\n {allowClose && (\n <button\n className={styles.closeButton}\n onClick={handleClose}\n aria-live=\"polite\"\n aria-label={`${closeBannerLabel}: ${text}`}\n tabIndex={0}\n data-testid=\"banner-close-button\"\n >\n <Tooltip label={closeBannerLabel} type=\"top\">\n <Icon id={'banner-overlay-close-icon'} path={IconPath.CLOSE} viewBox={'0 0 25 25'} />\n </Tooltip>\n </button>\n )}\n </div>\n </div>\n );\n};\n\nexport const BannerDisplay = withText({\n closeBannerLabel: 'bannerOverlay.closeBanner'\n})(BannerDisplayComponent);\n","import { h, FunctionalComponent } from 'preact';\nimport { KalturaPlayer, ui } from '@playkit-js/kaltura-player-js';\nimport { BannerAlignment } from '../../types';\nimport { BannerDisplay } from './banner-display';\nimport { useBannerTimerManager } from './banner-timer-manager';\n\nconst { withPlayer } = ui.Components;\nconst { withEventManager } = ui.Event;\n\nexport interface BannerOverlayProps {\n text: string;\n alignment?: BannerAlignment;\n allowWrapping?: boolean | string;\n allowClose?: boolean | string;\n duration?: number | 'unlimited';\n onClose?: () => void;\n player?: KalturaPlayer;\n eventManager?: any;\n}\n\nconst BannerOverlay: FunctionalComponent<BannerOverlayProps> = withPlayer(\n withEventManager(\n ({\n text,\n alignment = BannerAlignment.TOP_LEFT,\n allowWrapping: allowWrappingProp = true,\n allowClose: allowCloseProp = false,\n duration,\n onClose,\n player,\n eventManager\n }: BannerOverlayProps): h.JSX.Element | null => {\n const allowWrapping = allowWrappingProp === true || allowWrappingProp === 'true';\n const allowClose = allowCloseProp === true || allowCloseProp === 'true';\n const handleHide = (): void => {\n onClose?.();\n };\n\n const { isVisible, hide } = useBannerTimerManager({\n duration,\n player,\n eventManager,\n onHide: handleHide\n });\n\n const handleClose = (): void => {\n hide();\n };\n\n if (!isVisible) return null;\n\n return (\n <BannerDisplay\n text={text}\n alignment={alignment}\n allowWrapping={allowWrapping}\n allowClose={allowClose}\n onClose={handleClose}\n player={player}\n />\n );\n }\n )\n);\n\nexport { BannerOverlay };\n","import { useEffect, useRef, useState } from 'preact/hooks';\nimport { KalturaPlayer } from '@playkit-js/kaltura-player-js';\n\nexport interface BannerTimerManagerProps {\n duration?: number | 'unlimited';\n player?: KalturaPlayer;\n eventManager?: any;\n onHide: () => void;\n onPlayerStarted?: () => void;\n}\n\nexport interface BannerTimerManagerReturn {\n isVisible: boolean;\n hasPlayerStarted: boolean;\n hide: () => void;\n}\n\nexport const useBannerTimerManager = ({\n duration,\n player,\n eventManager,\n onHide,\n onPlayerStarted\n}: BannerTimerManagerProps): BannerTimerManagerReturn => {\n const [isVisible, setIsVisible] = useState(true);\n const [hasPlayerStarted, setHasPlayerStarted] = useState(false);\n const hideTimeout = useRef<NodeJS.Timeout>();\n\n const handlePlayerPlay = (): void => {\n if (!hasPlayerStarted && duration !== 'unlimited' && typeof duration === 'number' && duration > 0) {\n setHasPlayerStarted(true);\n onPlayerStarted?.();\n\n hideTimeout.current = setTimeout(() => {\n setIsVisible(false);\n onHide();\n }, duration * 1000);\n }\n };\n\n const hide = (): void => {\n setIsVisible(false);\n onHide();\n };\n\n useEffect((): (() => void) | void => {\n if (duration !== 'unlimited' && typeof duration === 'number' && duration < 0) {\n setIsVisible(false);\n return;\n }\n\n if (player && eventManager) {\n eventManager.listenOnce(player, player.Event.Core.FIRST_PLAYING, handlePlayerPlay);\n }\n\n return (): void => {\n if (hideTimeout.current) {\n clearTimeout(hideTimeout.current);\n }\n };\n }, [player, eventManager, duration]);\n\n return {\n isVisible,\n hasPlayerStarted,\n hide\n };\n};\n","export interface KalturaMetadataArgs {\n xml: string;\n}\n\nexport class KalturaMetadata {\n private xml: string;\n\n constructor(metadata: KalturaMetadataArgs) {\n this.xml = metadata.xml;\n }\n}\n","import { providers } from '@playkit-js/kaltura-player-js';\nimport { KalturaMetadata } from './kaltura-metadata';\nconst { BaseServiceResult } = providers.ResponseTypes;\n\nexport class KalturaMetadataListResponse extends BaseServiceResult {\n public totalCount?: number;\n public data: KalturaMetadata | null = null;\n\n constructor(responseObj: any) {\n super(responseObj);\n if (!this.hasError) {\n this.totalCount = responseObj.totalCount;\n if (this.totalCount === 1) {\n this.data = new KalturaMetadata(responseObj.objects[0]);\n }\n }\n }\n}\n","import { ILoader } from '@playkit-js/playkit-js-providers/types';\nimport { RequestBuilder } from '@playkit-js/playkit-js-providers/ovp-provider';\nimport { KalturaMetadata } from './response-types/kaltura-metadata';\nimport { KalturaMetadataListResponse } from './response-types/kaltura-metadata-list-response';\n\ninterface MetadataLoaderParams {\n entryId: string;\n metadataProfileId: number;\n}\n\ninterface MetadataResponse {\n metadata: KalturaMetadata | null;\n}\n\nexport class MetadataLoader implements ILoader {\n private _entryId: string;\n private _metadataProfileId: number;\n private _requests: RequestBuilder[] = [];\n private _response: MetadataResponse = {\n metadata: null\n };\n\n public static get id(): string {\n return 'metadata';\n }\n\n constructor({ entryId, metadataProfileId }: MetadataLoaderParams) {\n this._entryId = entryId;\n this._metadataProfileId = metadataProfileId;\n\n const headers: Map<string, string> = new Map();\n\n const metadataListRequest = new RequestBuilder(headers);\n metadataListRequest.service = 'metadata_metadata';\n metadataListRequest.action = 'list';\n metadataListRequest.params = {\n filter: {\n objectType: 'KalturaMetadataFilter',\n metadataProfileIdEqual: this._metadataProfileId,\n metadataObjectTypeEqual: 1,\n objectIdEqual: this._entryId\n }\n };\n this.requests.push(metadataListRequest);\n }\n\n public set requests(requests: any[]) {\n this._requests = requests;\n }\n\n public get requests(): any[] {\n return this._requests;\n }\n\n public set response(response: any) {\n const metadataListRequestResponse = new KalturaMetadataListResponse(response[0]?.data);\n if (metadataListRequestResponse.totalCount) {\n this._response.metadata = metadataListRequestResponse?.data;\n }\n }\n\n public get response(): any {\n return this._response;\n }\n\n public isValid(): boolean {\n return Boolean(this._entryId) && Boolean(this._metadataProfileId);\n }\n}\n","import { h } from 'preact';\nimport { BasePlugin, ui } from '@playkit-js/kaltura-player-js';\nimport { BannerOverlay } from './components/banner-overlay';\nimport { BannerAlignment, BannerOverlayConfig } from './types';\nimport { MetadataLoader } from './providers/metadata-loader';\nimport { KalturaMetadata } from './providers/response-types/kaltura-metadata';\nimport { XMLParser } from 'fast-xml-parser';\n\nexport const PLUGIN_NAME = 'bannerOverlay';\n\nexport class BannerOverlayPlugin extends BasePlugin {\n private initialConfig: BannerOverlayConfig | null = null;\n\n public static defaultConfig: BannerOverlayConfig = {\n text: '',\n duration: 5,\n alignment: BannerAlignment.TOP_LEFT,\n allowWrapping: true,\n allowClose: false,\n isMetadataBased: false\n };\n\n public static isValid(): boolean {\n return true;\n }\n\n private bannerComponent: (() => void) | null = null;\n\n public async loadMedia(): Promise<void> {\n this.logger.info('BannerOverlay: loadMedia lifecycle hook called');\n this.initialConfig = { ...this.config };\n let validData = true;\n if (this.useMetadata()) {\n const metadata = await this.getMetadataFromEntry();\n if (metadata){\n validData = this.isValidBannerMetadata(metadata)\n if (metadata && validData) {\n this.updateConfigFromMetadata(metadata);\n }\n }\n else {\n this.config.text = '';\n }\n }\n this.removeBannerComponent();\n if (this.config.text && validData) {\n this.addBannerComponent();\n }\n }\n\n private addBannerComponent(): void {\n if (this.bannerComponent) {\n this.removeBannerComponent();\n }\n\n const componentConfig = {\n label: 'banner-overlay',\n area: ui.ReservedPresetAreas.InteractiveArea,\n presets: [ui.ReservedPresetNames.Playback, ui.ReservedPresetNames.Live, ui.ReservedPresetNames.Img, ui.ReservedPresetNames.Document],\n get: () => (\n <BannerOverlay\n text={this.config.text}\n alignment={this.config.alignment}\n allowWrapping={this.config.allowWrapping}\n allowClose={this.config.allowClose}\n duration={this.config.duration}\n onClose={this.handleBannerClose.bind(this)}\n player={this.player}\n />\n )\n };\n\n this.bannerComponent = this.player.ui.addComponent(componentConfig);\n }\n\n private handleBannerClose(): void {\n this.removeBannerComponent();\n }\n\n private removeBannerComponent(): void {\n try {\n this.bannerComponent?.();\n } finally {\n this.bannerComponent = null;\n }\n }\n\n private isBoolean(value: string): boolean {\n return typeof value === 'boolean';\n }\n\n private isValidBannerMetadata(metadata: any): boolean {\n const displayDuration = Number(metadata.BannerDisplayDuration);\n\n const hasBannerText = metadata.BannerText && metadata.BannerText.trim().length > 0;\n const hasBannerWrap = this.isBoolean(metadata.BannerWrap);\n const hasBannerShowCloseButton = this.isBoolean(metadata.BannerShowCloseButton);\n const hasBannerAlignment = metadata.BannerAlignment && Object.values(BannerAlignment).includes(metadata.BannerAlignment);\n const hasBannerDisplayDuration = metadata.BannerDisplayDuration === 'unlimited' || (!isNaN(displayDuration) && displayDuration > 0);\n\n return hasBannerText && hasBannerWrap && hasBannerShowCloseButton && hasBannerAlignment && hasBannerDisplayDuration;\n }\n\n private async getMetadataFromEntry(): Promise<KalturaMetadata | undefined | string> {\n const entryId = this.player.sources.id;\n const ks = this.player.config.session?.ks || '';\n const metadataProfileId = this.config.metadataProfileId;\n\n //@ts-ignore\n const data: Map<string, any> = await this.player.provider.doRequest([{loader: MetadataLoader, params: {entryId, metadataProfileId}}], ks);\n return this.parseDataFromResponse(data);\n }\n\n private parseDataFromResponse(data: Map<string, any>): KalturaMetadata {\n let kalturaMetadata;\n if (data) {\n if (data.has(MetadataLoader.id)) {\n const metadataLoader = data.get(MetadataLoader.id);\n kalturaMetadata = metadataLoader?.response?.metadata;\n if (kalturaMetadata?.xml) {\n const parser = new XMLParser();\n const parsedResult = parser.parse(kalturaMetadata.xml);\n kalturaMetadata = parsedResult.metadata;\n }\n }\n }\n return kalturaMetadata;\n }\n\n private updateConfigFromMetadata(metadata: any): void {\n this.config.text = metadata.BannerText;\n this.config.allowWrapping = metadata.BannerWrap;\n this.config.allowClose = metadata.BannerShowCloseButton;\n this.config.alignment = metadata.BannerAlignment;\n if (metadata.BannerDisplayDuration === 'unlimited') {\n this.config.duration = 'unlimited';\n } else {\n this.config.duration = Number(metadata.BannerDisplayDuration); \n }\n }\n\n private useMetadata(): boolean {\n return this.config.isMetadataBased && !!this.config.metadataProfileId;\n }\n\n public reset(): void {\n this.logger.info('BannerOverlay: reset lifecycle hook called');\n this.config = { ...this.initialConfig }; \n this.removeBannerComponent();\n }\n\n public destroy(): void {\n this.removeBannerComponent();\n super.destroy();\n this.logger.info('BannerOverlay: destroy lifecycle hook called');\n }\n}\n","import { registerPlugin } from '@playkit-js/kaltura-player-js';\nimport { PLUGIN_NAME, BannerOverlayPlugin } from './banner-overlay';\n\nregisterPlugin(PLUGIN_NAME, BannerOverlayPlugin);\n\nexport * from './types';\n"],"names":["root","factory","exports","module","define","amd","self","t","e","r","n","default","i","__esModule","a","Object","prototype","s","hasOwnProperty","o","defineProperty","value","u","Symbol","c","iterator","l","asyncIterator","f","toStringTag","d","enumerable","configurable","writable","h","_","create","D","O","p","type","arg","call","wrap","y","v","m","g","E","R","I","T","this","A","getPrototypeOf","w","x","C","k","forEach","_invoke","b","resolve","__await","then","Error","done","method","delegate","S","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","P","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","L","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","AsyncIterator","async","Promise","keys","reverse","pop","values","prev","charAt","slice","stop","rval","complete","finish","catch","delegateYield","regeneratorRuntime","globalThis","Function","get","NAME","xt","Provider","Dt","ProviderParser","ut","RequestBuilder","lt","ResponseTypes","VERSION","Mt","toPrimitive","String","key","ReferenceError","bind","BaseServiceResult","KalturaAccessControlMessage","N","KalturaAccessControlModifyRequestHostRegexAction","KalturaBaseEntryListResponse","KalturaBumper","KalturaDrmPlaybackPluginData","KalturaFlavorAsset","KalturaMediaEntries","KalturaMediaEntry","KalturaMetadata","M","KalturaMetadataListResponse","U","KalturaPlaybackContext","j","KalturaPlaybackSource","KalturaPlaylist","B","KalturaRuleAction","KalturaUIConfResponse","V","KalturaUserEntry","F","KalturaUserEntryListResponse","q","DEBUG","ERROR","INFO","OFF","TIME","TRACE","WARN","createDefaultHandler","debug","enabledFor","error","getLevel","info","log","setHandler","setLevel","time","timeEnd","trace","useDefaults","warn","Array","isArray","assign","serviceUrl","cdnUrl","serviceParams","apiVersion","format","useApiCaptions","loadThumbnailWithKs","replaceHostOnlyManifestUrls","overrideServiceUrl","objectType","hasError","code","message","data","id","referenceId","externalSourceType","description","dataUrl","entryType","mediaType","flavorParamsIds","duration","poster","thumbnailUrl","rawThumbnailUrl","status","dvrStatus","tags","adminTags","createdAt","updatedAt","creatorId","userId","endDate","plays","views","downloadUrl","rootEntryId","capabilities","AUTOMATIC","EXTERNAL_MEDIA","MEDIA_CLIP","MIX","PLAYLIST","DATA","LIVE_STREAM","LIVE_CHANNEL","DOCUMENT","VIDEO","IMAGE","AUDIO","LIVE_STREAM_FLASH","LIVE_STREAM_WINDOWS_MEDIA","LIVE_STREAM_REAL_MEDIA","LIVE_STREAM_QUICK_TIME","ERROR_IMPORTING","ERROR_CONVERTING","SCAN_FAILURE","IMPORT","INFECTED","PRECONVERT","READY","DELETED","PENDING","MODERATE","BLOCKED","NO_CONTENT","PENDING_MODERATION","APPROVED","REJECTED","FLAGGED_FOR_REVIEW","AUTO_APPROVED","Reflect","construct","sham","Proxy","Boolean","valueOf","arguments","apply","totalCount","entries","objects","map","DRM_POLICY","BLOCK","PREVIEW","LIMIT_FLAVORS","ADD_TO_STORAGE","LIMIT_DELIVERY_PROFILES","SERVE_FROM_REMOTE_SERVER","REQUEST_HOST_REGEX","LIMIT_THUMBNAIL_CAPTURE","SCHEDULED_RESTRICTED","pattern","replacement","replacmenServerNodeId","checkAliveTimeoutMs","scheme","licenseURL","certificate","WIDEVINE_CENC","PLAYREADY_CENC","FAIRPLAY","deliveryProfileId","url","protocols","flavorIds","drm","split","entryId","clickThroughUrl","sources","flavorParamsId","fileExt","bitrate","width","height","frameRate","isOriginal","isWeb","containerFormat","videoCodecId","language","label","parseTags","QUEUED","CONVERTING","NOT_APPLICABLE","TEMP","WAIT_FOR_CONVERT","IMPORTING","VALIDATING","EXPORTING","metadataProfileId","metadataProfileVersion","metadataObjectType","objectId","version","created","Date","setUTCSeconds","updated","xml","AD_CUE_POINT","ANNOTATION","CODE_CUE_POINT","THUMB_CUE_POINT","ENTRY","CATEGORY","USER","PARTNER","DYNAMIC_OBJECT","VALID","INVALID","metas","messages","actions","Type","flavorAssets","bumperData","activeLiveStreamTime","startTime","endTime","getBlockAction","find","some","objTypeAsString","htmlParams","swfUrl","confFilePath","confFile","confFileFeatures","config","confVars","useCdn","swfUrlVersion","html5Url","partnerTags","objType","creationMode","PLAYER","CONTRIBUTION_WIZARD","SIMPLE_EDITOR","ADVANCED_EDITOR","APP_STUDIO","KRECORD","PLAYER_V3","KMC_ACCOUNT","KMC_ANALYTICS","KMC_CONTENT","KMC_DASHBOARD","KMC_LOGIN","PLAYER_SL","CLIENTSIDE_ENCODER","KMC_GENERAL","KMC_ROLES_AND_PERMISSIONS","CLIPPER","KSR","KUPLOAD","WEBCASTING","WIZARD","ADVANCED","playlistLastEntryId","partnerId","H","substr","lastIndexOf","ks","uiConfId","protocol","extension","Number","parseInt","endsWith","K","nodeType","attributes","item","nodeName","nodeValue","hasChildNodes","childNodes","xmlToJson","G","DASH","mimeType","pathExt","HLS","WVM","MP4","MP3","W","Map","Y","J","progressive","dash","hls","image","document","toJSON","X","metadata","UNKNOWN","assetReferenceType","VOD","LIVE","ON","Q","licenseUrl","z","mimetype","bandwidth","drmData","Z","items","$","tt","et","SRT","DFXP","WEBVTT","CAP","rt","nt","includes","webVttUrl","ot","isDefault","languageCode","it","extractBaseThumbnailUrl","match","at","st","entry","playBackContextResult","metadataListResult","_getParsedSources","_fillBaseData","playbackCaptions","captions","createConfig","replace","indexOf","playlistData","playlistItems","playlistUserEntries","_parseProgressiveSources","_parseMetadata","_getEntryType","aspectRatio","toFixed","audioFlavors","filter","MediaType","EntryType","_parseAdaptiveSource","getProtocol","_getBaseProtocol","hasFlavorIds","build","addKsToUrl","concat","_logger","hasDrmData","Scheme","DOMParser","parseFromString","exec","location","hasBlockAction","hasScheduledRestriction","getErrorMessages","ct","severity","category","RECOVERABLE","CRITICAL","NETWORK","SERVICE","PROVIDER","UNSUPPORTED_SCHEME","BAD_HTTP_STATUS","HTTP_ERROR","TIMEOUT","MALFORMED_DATA_URI","BAD_SERVER_RESPONSE","MULTIREQUEST_API_ERROR","API_RESPONSE_MISMATCH","BLOCK_ACTION","MEDIA_STATUS_NOT_READY","MISSING_MANDATORY_PARAMS","MISSING_PLAY_SOURCE","METHOD_NOT_IMPLEMENTED","timeout","maxAttempts","headers","service","action","_requestPromise","reject","Severity","Category","Code","_createXHR","XMLHttpRequest","onreadystatechange","readyState","JSON","parse","responseText","responseHeaders","_getResponseHeaders","_createError","text","open","retryConfig","performance","now","ontimeout","_handleError","statusText","onerror","onabort","setRequestHeader","send","params","getAllResponseHeaders","toLowerCase","_attemptCounter","attempt","ft","requests","stringify","FAILED_PARSING_REQUEST","doHttpRequest","dt","success","response","results","result","ht","clientTag","set","getUrl","pt","INCLUDE_FIELDS","fields","EXCLUDE_FIELDS","yt","vt","tag","flavorTags","referrer","contextDataParams","getEntryListReqParams","redirectFromEntryId","idEqual","referenceIdEqual","responseProfile","mt","objectIdEqual","metadataObjectTypeEqual","gt","buildRequests","_entryId","_referenceId","_requests","_response","list","getPlaybackContext","Et","widgetId","_t","_widgetId","anonymousSession","Rt","_multiRequest","getMultiRequest","_networkRetryConfig","isValid","_loaders","add","from","_loadersResponseMap","execute","_multiResponse","prepareData","It","Tt","entryIdEqual","userIdEqualCurrent","At","_playlistId","playlistId","cacheToken","getLastEntryId","wt","getLogger","LogLevel","logger","_partnerId","_uiConfId","_isAnonymous","_ks","_playerVersion","_referrer","defaultWidgetId","Ct","_entries","kt","bt","toString","test","Ot","RegExp","_replaceHostUrls","_extractRegexActionFromData","_getRegExp","_pingECDNAndReplaceHostUrls","_applyRegexAction","getRequestHostRegexAction","St","Pt","Lt","INVALID_IDS","env","_setFilterOptionsConfig","filterOptions","_vrTag","vrTag","networkRetryParameters","initializeUserResponse","isAnonymous","_dataLoader","playerVersion","_getEntryRedirectFilter","fetchData","_parseDataFromResponse","handleRegexAction","loader","_filterOptionsConfig","session","_getDefaultSourcesObject","plugins","has","getMediaEntry","_getSourcesObject","_verifyMediaStatus","_verifyHasSources","getBumper","bumper","EntryStatus","_handlePlaylistResponse","_retryAttempts","_parsePlaylistDataFromResponse","_handlePlaylistSuccess","_handlePlaylistRetry","itemsCount","totalAttempts","_handleMaxRetriesReached","_schedulePlaylistRetry","_getPlaylistObject","setTimeout","repeat","getPlaylist","_parseEntryListDataFromResponse","getEntryList","dvr","vr","trim","___CSS_LOADER_EXPORT___","bannerOverlay","bannerContent","contentCenter","contentLeft","contentRight","bannerText","textContainer","textTruncated","textWrapping","closeButton","top","bottom","topLeft","topRight","bottomLeft","bottomRight","cssWithMappingToString","content","needLayer","join","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","sourceMapping","validator","XMLParser","XMLBuilder","XMLValidator","ignoreAttributes","attrName","nameStartChar","nameRegexp","regexName","isExist","isEmptyObject","obj","merge","target","arrayMode","len","getValue","isName","string","getAllMatches","regex","matches","allmatches","startIndex","lastIndex","index","util","defaultOptions","allowBooleanAttributes","unpairedTags","isWhiteSpace","char","readPI","xmlData","start","tagname","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","options","tagFound","reachedRoot","err","tagStartPos","closingTag","tagName","substring","msg","readAttributeStr","attrStr","attrStrStart","validateAttributeString","line","tagClosed","otg","openPos","col","afterAmp","validateAmpersand","doubleQuote","singleQuote","startChar","validAttrStrRegxp","attrNames","getPositionFromMatch","validateAttrName","re","validateNumberAmpersand","count","lineNumber","lines","buildFromOrderedJs","getIgnoreAttributesFn","attributeNamePrefix","attributesGroupName","textNodeName","cdataPropName","indentBy","suppressEmptyNode","suppressUnpairedNode","suppressBooleanAttributes","tagValueProcessor","attributeValueProcessor","preserveOrder","commentPropName","entities","val","processEntities","stopNodes","oneListGroup","Builder","isAttribute","ignoreAttributesFn","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","ajPath","j2x","buildTextValNode","buildObjectNode","startsWith","jObj","arrayNodeName","jPath","attr","buildAttrPairStr","newval","replaceEntitiesValue","arrLen","listTagVal","listTagAttr","textValue","Ks","closeTag","tagEndExp","piClosingChar","entity","arrToStr","arr","indentation","xmlStr","isPreviousElementTag","tagObj","propName","newJPath","tagText","isStopNode","attStr","attr_to_str","tempInd","piTextNodeName","newIdentation","tagStart","tagValue","attrMap","attrVal","jArray","readEntityExp","entityName","isComment","isEntity","isElement","isAttlist","isNotation","validateEntityName","hasBody","comment","exp","regx","removeNSPrefix","parseTagValue","parseAttributeValue","trimValues","numberParseOptions","hex","leadingZeros","eNotation","alwaysCreateTextNode","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","attrs","buildOptions","xmlNode","readDocType","toNumber","addExternalEntities","externalEntities","entKeys","ent","lastEntities","parseTextData","dontTrim","hasAttributes","isLeafNode","escapeEntities","parseValue","resolveNameSpace","prefix","attrsRegx","buildAttributesMap","oldVal","aName","newVal","attrCollection","parseXml","xmlObj","currentNode","textData","closeIndex","findClosingIndex","colonIndex","saveTextToParentTag","lastTagName","propIndex","tagsNodeStack","tagData","readTagExp","childNode","tagExp","attrExpPresent","addChild","endIndex","docTypeEntities","rawTagName","lastTag","isItStopNode","tagContent","readStopNodeData","child","ampEntity","currentTagName","allNodesExp","stopNodePath","stopNodeExp","str","errMsg","closingIndex","closingChar","attrBoundary","ch","tagExpWithClosingIndex","separatorIndex","search","trimStart","openTagCount","shouldParse","fromCharCode","OrderedObjParser","prettify","validationOption","orderedObjParser","orderedResult","addEntity","compress","compressedObj","property","newJpath","isLeaf","isLeafTag","assignAttributes","jpath","atrrName","propCount","node","hexRegex","numRegex","consider","decimalPoint","trimmedStr","skipLike","numStr","base","window","parse_int","notation","sign","numTrimmedByZeros","num","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","_i","_index","element","createElement","setAttributes","insert","styleElement","setAttribute","textStore","replaceText","styleSheet","cssText","cssNode","createTextNode","removeChild","insertBefore","appendChild","singletonData","singleton","singletonCounter","styleIndex","insertStyleElement","_typeof","_regeneratorRuntime","Generator","Context","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","invoke","callInvokeWithMethodAndArg","maybeInvokeDelegate","pushTryEntry","resetTryEntry","handle","runtime","accidentalStrictMode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","prop","KalturaPlayer","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","fn","args","_classCallCheck","instance","Constructor","toPropertyKey","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","_get","receiver","desc","getOwnPropertyDescriptor","_setPrototypeOf","_inherits","subClass","superClass","_defineProperty","ui","preact","BannerAlignment","Icon","_arrayLikeToArray","arr2","_slicedToArray","minLen","preactHooks","core","kalturaGlobalConfig","stylesNonce","head","locals","_ui$Components","Components","Tooltip","BannerDisplay","withText","preacti18n","closeBannerLabel","_ref","_ref$alignment","alignment","TOP_LEFT","_ref$allowWrapping","allowWrapping","_ref$allowClose","allowClose","onClose","player","_useState2","useState","isTextTruncated","setIsTextTruncated","_useState4","hasDispatchedDisplayEvent","setHasDispatchedDisplayEvent","textRef","useRef","checkIfTextIsTruncated","current","scrollWidth","clientWidth","useEffect","dispatchEvent","FakeEvent","requestAnimationFrame","textClass","textElement","alignmentClass","TOP","styles","BOTTOM","TOP_RIGHT","BOTTOM_LEFT","BOTTOM_RIGHT","getAlignmentClass","contentAlignmentClass","getContentAlignmentClass","className","role","ref","onClick","tabIndex","path","IconPath","CLOSE","viewBox","BannerOverlay","withPlayer","withEventManager","Event","allowWrappingProp","allowCloseProp","_useBannerTimerManage","eventManager","onHide","onPlayerStarted","isVisible","setIsVisible","hasPlayerStarted","setHasPlayerStarted","hideTimeout","handlePlayerPlay","listenOnce","Core","FIRST_PLAYING","clearTimeout","hide","useBannerTimerManager","_BaseServiceResult","responseObj","_this","_callSuper","providers","MetadataLoader","_metadataProfileId","metadataListRequest","metadataProfileIdEqual","_response$","metadataListRequestResponse","BannerOverlayPlugin","_BasePlugin","_len","_key","_getMetadataFromEntry","_loadMedia","_callee","validData","_context","initialConfig","_objectSpread","useMetadata","getMetadataFromEntry","isValidBannerMetadata","updateConfigFromMetadata","removeBannerComponent","addBannerComponent","_this2","bannerComponent","componentConfig","area","ReservedPresetAreas","InteractiveArea","presets","ReservedPresetNames","Playback","Live","Img","Document","handleBannerClose","addComponent","_this$bannerComponent","displayDuration","BannerDisplayDuration","hasBannerText","BannerText","hasBannerWrap","isBoolean","BannerWrap","hasBannerShowCloseButton","BannerShowCloseButton","hasBannerAlignment","hasBannerDisplayDuration","_callee2","_this$player$config$s","_context2","provider","doRequest","parseDataFromResponse","kalturaMetadata","_metadataLoader$respo","_kalturaMetadata","metadataLoader","isMetadataBased","BasePlugin","registerPlugin"],"sourceRoot":""}