@playkit-js/moderation 2.0.10

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///api/kaltura-api-exception.ts","webpack:///api/kaltura-client-exception.ts","webpack:///api/kaltura-object-base.ts","webpack:///api/kaltura-request.ts","webpack:///cancelable-action.ts","webpack:///external \"KalturaPlayer.ui.preact\"","webpack:///playkit.contrib.common/webpack/universalModuleDefinition","webpack:///playkit.contrib.common/webpack/bootstrap","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/global.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/well-known-symbol.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/an-object.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/fails.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/export.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/descriptors.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/has.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/is-object.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/get-built-in.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/redefine.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-define-property.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/a-function.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/is-pure.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/internal-state.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/classof-raw.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/iterators.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/new-promise-capability.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/shared.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/create-property-descriptor.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/to-indexed-object.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/path.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/iterate.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/perform.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/set-global.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/document-create-element.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/shared-key.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/hidden-keys.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/to-integer.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/require-object-coercible.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/enum-bug-keys.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-get-prototype-of.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/to-object.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-create.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-keys.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/set-to-string-tag.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/user-agent.js","webpack:///playkit.contrib.common/src/object-utils.ts","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/ie8-dom-define.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/to-primitive.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/function-to-string.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/uid.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/classof.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/define-iterator.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/indexed-object.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-keys-internal.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/to-length.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/is-forced.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/iterators-core.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/html.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-set-prototype-of.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/native-promise-constructor.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/bind-context.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/species-constructor.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/task.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/promise-resolve.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/es.promise.all-settled.js","webpack:///playkit.contrib.common/src/contrib-logger.ts","webpack:///playkit.contrib.common/src/uuid.ts","webpack:///playkit.contrib.common/src/index.ts","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/features/promise/index.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/es/promise/index.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/es.object.to-string.js","webpack:///playkit.contrib.common/(webpack)/buildin/global.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/shared-store.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/native-weak-map.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-to-string.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/native-symbol.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/es.string.iterator.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/string-multibyte.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/own-keys.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/array-includes.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/to-absolute-index.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/create-iterator-constructor.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/correct-prototype-getter.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-define-properties.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/a-possible-prototype.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/dom-iterables.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/es.array.iterator.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/add-to-unscopables.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/es.promise.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/redefine-all.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/set-species.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/an-instance.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/is-array-iterator-method.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/get-iterator-method.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/microtask.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/host-report-errors.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/v8-version.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/es.promise.finally.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/esnext.aggregate-error.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/esnext.promise.all-settled.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/esnext.promise.try.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/esnext.promise.any.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/features/object/assign.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/es/object/assign.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/es.object.assign.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/internals/object-assign.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/features/object/keys.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/es/object/keys.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/core-js/modules/es.object.keys.js","webpack:///playkit.contrib.common/src/cuepoint-engine.ts","webpack:///playkit.contrib.common/src/player-contrib-registry.ts","webpack:///playkit.contrib.common/src/kaltura-live-services.ts","webpack:///playkit.contrib.common/src/events-manager.ts","webpack:///playkit.contrib.common/src/debouce.ts","webpack:///playkit.contrib.common/src/kaltura-player-utils.ts","webpack:///playkit.contrib.common/src/array-utils.ts","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/rng.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/stringify.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/regex.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/validate.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/v1.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/parse.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/v35.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/md5.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/v3.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/v4.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/sha1.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/v5.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/nil.js","webpack:///playkit.contrib.common/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/uuid/dist/esm-browser/version.js","webpack:///api/kaltura-types-factory.ts","webpack:///adapters/utils.ts","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///playkit.contrib.ui/webpack/universalModuleDefinition","webpack:///playkit.contrib.ui/webpack/bootstrap","webpack:///playkit.contrib.ui/external \"KalturaPlayer.ui.preact\"","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/css-loader/dist/runtime/api.js","webpack:///playkit.contrib.ui/external \"@playkit-js-contrib/common\"","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/utils.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/css-loader/dist/runtime/getUrl.js","webpack:///playkit.contrib.ui/src/contrib-utils.ts","webpack:///playkit.contrib.ui/src/components/managed-component/index.ts","webpack:///playkit.contrib.ui/src/presets-utils.ts","webpack:///playkit.contrib.ui/src/floating-item-data.tsx","webpack:///playkit.contrib.ui/src/kitchen-sink-item-data.ts","webpack:///playkit.contrib.ui/src/player-utils.ts","webpack:///playkit.contrib.ui/src/toast-manager.tsx","webpack:///playkit.contrib.ui/src/floating-item.tsx","webpack:///playkit.contrib.ui/src/preset-manager.tsx","webpack:///playkit.contrib.ui/src/preset-item-data.tsx","webpack:///playkit.contrib.ui/src/upper-bar-item.tsx","webpack:///playkit.contrib.ui/src/components/popover/index.ts","webpack:///playkit.contrib.ui/src/kitchen-sink-item.tsx","webpack:///playkit.contrib.ui/src/kitchen-sink-manager.tsx","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/helpers/bind.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/helpers/buildURL.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/cancel/isCancel.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/defaults.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/adapters/xhr.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/core/createError.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/core/mergeConfig.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/cancel/Cancel.js","webpack:///playkit.contrib.ui/src/scale-video.ts","webpack:///playkit.contrib.ui/src/overlay-item.tsx","webpack:///playkit.contrib.ui/src/overlay-item-data.tsx","webpack:///playkit.contrib.ui/src/components/banner/assets/someone_asks_large.svg","webpack:///playkit.contrib.ui/src/components/banner/assets/someone_asks_small.svg","webpack:///playkit.contrib.ui/src/components/banner-container/assets/close_large.svg","webpack:///playkit.contrib.ui/src/components/banner-container/assets/close_small.svg","webpack:///playkit.contrib.ui/src/components/toast/assets/close.svg","webpack:///playkit.contrib.ui/src/components/icons-menu/assets/more.svg","webpack:///playkit.contrib.ui/src/index.ts","webpack:///playkit.contrib.ui/src/banner-manager.tsx","webpack:///playkit.contrib.ui/src/components/banner/index.ts","webpack:///playkit.contrib.ui/src/components/banner/banner.tsx","webpack:///playkit.contrib.ui/src/components/banner/_banner.scss?0d64","webpack:///playkit.contrib.ui/src/components/banner/_banner.scss","webpack:///playkit.contrib.ui/src/components/banner-container/index.ts","webpack:///playkit.contrib.ui/src/components/banner-container/banner-container.tsx","webpack:///playkit.contrib.ui/src/components/banner-container/_banner-container.scss?4782","webpack:///playkit.contrib.ui/src/components/banner-container/_banner-container.scss","webpack:///playkit.contrib.ui/src/components/toasts-container/index.ts","webpack:///playkit.contrib.ui/src/components/toasts-container/toasts-container.tsx","webpack:///playkit.contrib.ui/src/components/toast/toast.tsx","webpack:///playkit.contrib.ui/src/components/toast/_toast.scss?4857","webpack:///playkit.contrib.ui/src/components/toast/_toast.scss","webpack:///playkit.contrib.ui/src/components/toasts-container/_toasts-container.scss?56c5","webpack:///playkit.contrib.ui/src/components/toasts-container/_toasts-container.scss","webpack:///playkit.contrib.ui/src/components/managed-component/managed-component.tsx","webpack:///playkit.contrib.ui/src/components/managed-component/_managed-component.scss?a989","webpack:///playkit.contrib.ui/src/components/managed-component/_managed-component.scss","webpack:///playkit.contrib.ui/src/floating-manager.tsx","webpack:///playkit.contrib.ui/src/preset-item.tsx","webpack:///playkit.contrib.ui/src/components/injected-component/injected-component.tsx","webpack:///playkit.contrib.ui/src/components/injected-component/injected-component.scss?bdb1","webpack:///playkit.contrib.ui/src/components/injected-component/injected-component.scss","webpack:///playkit.contrib.ui/src/components/ui-player-adapter/index.tsx","webpack:///playkit.contrib.ui/src/components/ui-player-adapter/ui-player-adapter.tsx","webpack:///playkit.contrib.ui/src/upper-bar-manager.tsx","webpack:///playkit.contrib.ui/src/components/upper-bar/index.ts","webpack:///playkit.contrib.ui/src/components/upper-bar/upper-bar.tsx","webpack:///playkit.contrib.ui/src/components/upper-bar/_upper-bar.scss?d4a6","webpack:///playkit.contrib.ui/src/components/upper-bar/_upper-bar.scss","webpack:///playkit.contrib.ui/src/components/icons-menu/index.ts","webpack:///playkit.contrib.ui/src/components/icons-menu/icons-menu.tsx","webpack:///playkit.contrib.ui/src/components/icons-menu/_icons-menu.scss?391a","webpack:///playkit.contrib.ui/src/components/icons-menu/_icons-menu.scss","webpack:///playkit.contrib.ui/src/components/popover/popover.tsx","webpack:///playkit.contrib.ui/src/components/popover/popover.scss?c50c","webpack:///playkit.contrib.ui/src/components/popover/popover.scss","webpack:///playkit.contrib.ui/src/components/popover/popover-menu.tsx","webpack:///playkit.contrib.ui/src/components/popover/popover-menu.scss?373f","webpack:///playkit.contrib.ui/src/components/popover/popover-menu.scss","webpack:///playkit.contrib.ui/src/components/kitchen-sink-container/kitchen-sink-container.tsx","webpack:///playkit.contrib.ui/src/components/kitchen-sink-container/_kitchen-sink-container.scss?0d4b","webpack:///playkit.contrib.ui/src/components/kitchen-sink-container/_kitchen-sink-container.scss","webpack:///playkit.contrib.ui/src/components/kitchen-sink-adapter/index.ts","webpack:///playkit.contrib.ui/src/components/kitchen-sink-adapter/kitchen-sink-adapter.tsx","webpack:///playkit.contrib.ui/src/components/kitchen-sink/index.ts","webpack:///playkit.contrib.ui/src/components/kitchen-sink/kitchen-sink.tsx","webpack:///playkit.contrib.ui/src/components/kitchen-sink/_kitchen-sink.scss?b37f","webpack:///playkit.contrib.ui/src/components/kitchen-sink/_kitchen-sink.scss","webpack:///playkit.contrib.ui/src/font-manager.ts","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/index.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/axios.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/is-buffer/index.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/core/Axios.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/core/InterceptorManager.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/core/dispatchRequest.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/core/transformData.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/process/browser.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/core/settle.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/core/enhanceError.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/helpers/cookies.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/helpers/combineURLs.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/cancel/CancelToken.js","webpack:///playkit.contrib.ui/Users/semarche/dev/kaltura/playkit-js-contrib/node_modules/axios/lib/helpers/spread.js","webpack:///playkit.contrib.ui/src/cuepoint-floating-engine.ts","webpack:///playkit.contrib.ui/src/local-content-utils.ts","webpack:///playkit.contrib.ui/src/overlay-manager.tsx","webpack:///playkit.contrib.ui/src/components/overlay-item-container/index.ts","webpack:///playkit.contrib.ui/src/components/overlay-item-container/overlay-item-container.tsx","webpack:///playkit.contrib.ui/src/components/overlay-item-container/_overlay-item-container.scss?fd1b","webpack:///playkit.contrib.ui/src/components/overlay-item-container/_overlay-item-container.scss","webpack:///api/kaltura-request-base.ts","webpack:///api/kaltura-request-options.ts","webpack:///environment.ts","webpack:///./node_modules/css-loader/dist/runtime/url-escape.js","webpack:///api/types/KalturaModerationFlag.ts","webpack:///api/kaltura-response.ts","webpack:///api/kaltura-multi-request.ts","webpack:///api/kaltura-multi-response.ts","webpack:///api/kaltura-upload-request.ts","webpack:///./src/index.ts","webpack:///./src/moderation-plugin.tsx","webpack:///playkit.contrib.plugin/webpack/universalModuleDefinition","webpack:///playkit.contrib.plugin/webpack/bootstrap","webpack:///playkit.contrib.plugin/external \"@playkit-js-contrib/common\"","webpack:///playkit.contrib.plugin/src/contrib-plugin.ts","webpack:///playkit.contrib.plugin/src/core-plugin.ts","webpack:///playkit.contrib.plugin/src/contrib-plugin-factories.ts","webpack:///playkit.contrib.plugin/src/contrib-services.ts","webpack:///playkit.contrib.plugin/src/contrib-plugin-configs.ts","webpack:///playkit.contrib.plugin/src/index.ts","webpack:///playkit.contrib.plugin/src/contrib-plugin-manager.ts","webpack:///playkit.contrib.plugin/src/core-plugin-proxy.ts","webpack:///playkit.contrib.plugin/external \"@playkit-js-contrib/ui\"","webpack:///api/types/BaseEntryFlagAction.ts","webpack:///api/kaltura-client-utils.ts","webpack:///api/kaltura-logger.ts","webpack:///api/types/KalturaModerationObjectType.ts","webpack:///api/types/KalturaModerationFlagStatus.ts","webpack:///api/types/KalturaModerationFlagType.ts","webpack:///api/types/KalturaBaseResponseProfile.ts","webpack:///index.ts","webpack:///api/index.ts","webpack:///kaltura-client-service.ts","webpack:///api/kaltura-file-request.ts","webpack:///adapters/kaltura-request-adapter.ts","webpack:///adapters/kaltura-file-request-adapter.ts","webpack:///adapters/kaltura-multi-request-adapter.ts","webpack:///adapters/kaltura-upload-request-adapter.ts","webpack:///./src/components/moderation/index.ts","webpack:///./src/components/moderation/moderation.tsx","webpack:///./src/components/popover-menu/index.ts","webpack:///./src/components/popover-menu/popover-menu.tsx","webpack:///./src/components/popover-menu/popover-menu.scss?081c","webpack:///./src/components/popover-menu/popover-menu.scss","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./src/components/moderation/moderation.scss?cc14","webpack:///./src/components/moderation/moderation.scss","webpack:///./src/assets/close.svg","webpack:///./src/assets/down.svg","webpack:///./src/components/plugin-button/index.ts","webpack:///./src/components/plugin-button/plugin-button.tsx","webpack:///./src/components/plugin-button/plugin-button.scss?9e22","webpack:///./src/components/plugin-button/plugin-button.scss","webpack:///./src/assets/flag.svg","webpack:///./src/moderation-plugin.scss?523f","webpack:///./src/moderation-plugin.scss","webpack:///./src/assets/report.svg","webpack:///./src/assets/error.svg"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","this","constructor","__assign","assign","arguments","length","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","push","__createBinding","k","k2","undefined","__exportStar","__values","__read","ar","error","__spread","concat","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","default","__importDefault","__classPrivateFieldGet","receiver","privateMap","has","__classPrivateFieldSet","set","message","code","args","KalturaAPIException","Error","KalturaClientException","logger","KalturaLogger","data","_allowedEmptyArray","_dependentProperties","relatedObjects","allowEmptyArray","_getMetadata","properties","metadataProperty","type","warn","setData","handler","getTypeName","readOnly","subTypeConstructor","subType","hasMetadataProperty","propertyName","toRequestObject","keys","forEach","propertyData","propertyValue","_createRequestPropertyValue","status","err","fromResponseObject","_parseResponseProperty","source","sourceValue","toString","propertyObjectType","_createKalturaObject","itemKey","itemValue","newItem","responseItem","_isNumeric","KalturaClientUtils","fromServerDate","isNaN","parseFloat","isFinite","objectType","fallbackObjectType","usedFallbackType","KalturaTypesFactory","createObject","dependentProperty","request","targetPath","KalturaObjectBase","item","valueKeys","Date","toServerDate","FormData","setDependency","len","dependency","responseType","responseSubType","responseConstructor","_responseConstructor","KalturaRequest","setCompletion","callback","_unwrapResponse","response","environment","nestedResponse","handleResponse","responseResult","responseError","unwrappedResponse","responseObject","ex","KalturaResponse","setRequestOptions","arg","__requestOptions__","KalturaRequestOptions","getRequestOptions","buildRequest","defaultRequestOptions","requestOptionsObject","defaultRequestOptionsObject","KalturaRequestBase","executor","_executors","_onCancel","_onResolve","_onReject","CancelableAction","_notifyExecutor","reason","newValue","nextExecutor","splice","_handleErrorOriginatedFromExecuter","cancel","catch","KalturaPlayer","ui","preact","it","Math","check","globalThis","self","global","Function","shared","uid","NATIVE_SYMBOL","store","isObject","String","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","exec","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","fails","path","aFunction","variable","namespace","method","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","split","O","unsafe","simple","join","IE8_DOM_DEFINE","anObject","toPrimitive","nativeDefineProperty","Attributes","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","STATE","getterFor","TYPE","state","slice","PromiseCapability","C","promise","$$resolve","$$reject","IS_PURE","version","copyright","bitmap","configurable","writable","IndexedObject","requireObjectCoercible","isArrayIteratorMethod","toLength","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","iterable","fn","that","AS_ENTRIES","IS_ITERATOR","iterFn","index","boundFunction","stop","document","EXISTS","createElement","ceil","floor","argument","propertyIsEnumerableModule","toIndexedObject","nativeGetOwnPropertyDescriptor","toObject","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","getPrototypeOf","defineProperties","enumBugKeys","html","documentCreateElement","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","open","write","lt","close","F","Properties","internalObjectKeys","TO_STRING_TAG","TAG","getBuiltIn","copyDeep","node","isArray","ObjectUtils","mergeDeep","sources","extra","explicitMerge","explicitFlatMerge","mergeDefaults","defaults","initialObject","obj","defaultValue","pathArray","output","current","input","PREFERRED_STRING","val","valueOf","id","postfix","random","classofRaw","CORRECT_ARGUMENTS","tag","callee","$","createIteratorConstructor","setToStringTag","wellKnownSymbol","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","proto","nativePropertyIsEnumerable","NASHORN_BUG","1","V","classof","names","toInteger","min","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","PrototypeOfArrayIteratorPrototype","arrayIterator","aPossiblePrototype","setter","CORRECT_SETTER","test","SPECIES","defaultConstructor","S","defer","channel","port","userAgent","location","setImmediate","clear","clearImmediate","process","MessageChannel","Dispatch","counter","queue","run","runner","listener","event","post","postMessage","protocol","host","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","newPromiseCapability","x","promiseCapability","newPromiseCapabilityModule","perform","iterate","allSettled","capability","promiseResolve","remaining","alreadyCalled","getPlayerLogger","kalturaPlayer","loggerName","getLoggerFn","getLogger","utils","debug","context","info","trace","NoopLogger","globalLogger","defaultNoopLogger","_logger","_defaultOptions","_log","loggerMethod","level","messageContext","className","class","formattedMessage","DEBUG","INFO","TRACE","WARN","ERROR","ProxyLogger","_playerId","URL","setLevel","uuidV1","uuidV5","numberedUuidV1","uuid","UUID","numStr","char","charAt","Number","charCodeAt","defineIterator","setInternalState","iterated","point","createMethod","CONVERT_TO_STRING","$this","pos","first","second","position","size","codeAt","ownKeys","getOwnPropertyDescriptorModule","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertyNames","toAbsoluteIndex","IS_INCLUDES","el","fromIndex","includes","max","integer","objectKeys","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","METHOD_NAME","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","addToUnscopables","kind","Arguments","UNSCOPABLES","ArrayPrototype","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","redefineAll","setSpecies","anInstance","checkCorrectnessOfIteration","speciesConstructor","task","microtask","hostReportErrors","V8_VERSION","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","all","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","domain","rejection","onHandleUnhandled","enter","exit","onUnhandled","initEvent","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","onFulfilled","onRejected","fetch","wrap","$promiseResolve","race","CONSTRUCTOR_NAME","Constructor","ENTRIES","returnMethod","SAFE_CLOSING","called","iteratorWithReturn","from","SKIP_CLOSING","ITERATION_SUPPORT","flush","head","last","toggle","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","console","match","versions","v8","real","onFinally","isFunction","getInternalAggregateErrorState","$AggregateError","errors","errorsArray","AggregateError","callbackfn","any","alreadyResolved","alreadyRejected","nativeAssign","A","B","symbol","chr","T","argumentsLength","nativeKeys","ChangeTypes","Show","Hide","getContribLogger","cuepoints","isFirstTime","enabled","lastHandledTime","lastHandledTimeIndex","nextTimeToHandle","cuepointChanges","reasonableSeekThreshold","_cuepoints","prepareCuepoint","getSnapshot","time","timeIndex","findClosestLastIndexByTime","createCuepointSnapshot","updateTime","currentTime","forceSnapshot","filter","snapshot","userSeeked","hasChangesToHandle","closestChangeIndex","closestChangeTime","delta","createEmptyDelta","updateInternals","createCuepointDelta","getCurrentCuepointSnapshot","targetIndex","cuepointCount","cuepointIndex","cuePoint","newCuepoint","removedCuepoint","cuepoint","show","hide","isIndexOfLastChange","isIndexBeforeTheFirstChange","binarySearch","items","lo","hi","mid","changes","closestIndex","changesLength","startTime","endTime","sort","CuepointEngine","_cache","player","__contrib__","services","PlayerContribRegistry","token","register","creator","requestedResource","instance","getAnonymousUserId","userId","Storage","KalturaLiveServices","_generateAnonymousUserId","anonymousUserId","localStorage","getItem","setItem","_eventListeners","_wildcardEventListeners","on","off","eventListeners","map","EventsManager","func","waitMilliseconds","timeoutId","isImmediate","doLater","shouldCallNow","clearTimeout","getPlayerConfig","configPath","baseConfig","playerContribConfig","config","KalturaPlayerUtils","findIndex","arr","comparator","sortByKey","array","ArrayUtils","getRandomValues","crypto","msCrypto","rnds8","Uint8Array","rng","byteToHex","substr","_nodeId","_clockseq","offset","_lastMSecs","_lastNSecs","buf","clockseq","seedBytes","msecs","nsecs","dt","tl","tmh","parseInt","generateUUID","str","unescape","encodeURIComponent","bytes","hashfunc","DNS","getOutputLength","inputLength8","safeAdd","lsw","md5cmn","num","cnt","md5ff","md5gg","md5hh","md5ii","v35","msg","length32","hex","olda","oldb","oldc","oldd","length8","Uint32Array","rnds","z","ROTL","K","H","N","M","_i","pow","_i2","W","_t","_t2","typesMapping","registerType","typeName","objectCtor","networkTag","getNetworkTag","trim","clientTag","prefix","buildQuerystring","service","action","endpoint","endpointUrl","createClientTag","apiVersion","format","xhr","XMLHttpRequest","isComplete","onreadystatechange","readyState","resp","JSON","parse","responseText","headers","headerKey","headerValue","setRequestHeader","send","stringify","abort","useSourceMap","list","content","cssMapping","btoa","sourceMapping","sourceMap","sourceURLs","sourceRoot","cssWithMappingToString","mediaQuery","alreadyImportedModules","memo","stylesInDom","isOldIE","atob","getTarget","querySelector","getElement","styleTarget","HTMLIFrameElement","contentDocument","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","insertInto","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","before","removeStyleElement","parentNode","idx","createStyleElement","attrs","nonce","getNonce","addAttrs","setAttribute","update","remove","transform","styleIndex","applyToSingletonTag","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","updateLink","href","applyToTag","newObj","newList","mayRemove","textStore","replaceText","Boolean","styleSheet","cssText","cssNode","childNodes","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","__WEBPACK_EXTERNAL_MODULE__2__","require","base64","dedupe","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","count","references","updater","attributes","insert","removeAttribute","lastIdentifiers","newLastIdentifiers","_index","isBuffer","isArrayBuffer","isFormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","merge","assignValue","deepMerge","extend","url","hash","needQuotes","groupPresetAreasByType","presetAreasMapping","acceptableTypes","presetType","presetName","PresetsUtils","FloatingUIModes","MediaLoaded","OnDemand","Immediate","FirstPlay","FloatingPositions","VideoArea","PresetArea","InteractiveArea","KitchenSinkExpandModes","AlongSideTheVideo","Hidden","OverTheVideo","KitchenSinkPositions","Top","Left","Right","Bottom","dimensions","width","height","videoTrack","getActiveTracks","video","getVideoElement","videoWidth","videoHeight","ToastSeverity","Info","Success","Warn","_toasts","_floatingItem","_remove","_findToastIndexById","timerSubscription","_updateToastsUI","_removeToastsContainer","_options","add","duration","props","_addToastsContainer","managedToast","toastProps","onClose","_startDurationTimer","reset","floatingManager","renderContent","ToastsContainer","toasts","toast","ToastManager","_destroyed","_isShown","_componentRef","_handleMediaLoaded","removeEventListener","Event","MEDIA_LOADED","_handleFirstPlay","FIRST_PLAY","_addPlayerBindings","destroy","renderFloatingChild","ManagedComponent","renderChildren","isShown","ref","FloatingItem","PresetManagerEventTypes","PresetResizeEvent","VideoResizeEvent","defaultPresetConfig","Playback","PlayerArea","Live","_events","_isLocked","_items","_pendingItems","_registerToPlayer","EventType","UI_PRESET_RESIZE","_notifyUIPresetResize","VIDEO_RESIZE","_notifyVideoResize","_unregisterToPlayer","_presetConfig","getContribConfig","groupedPresets","presetAreas","renderChild","UIPlayerAdapter","onMount","onUnmount","component","PresetItem","lockManager","registerComponents","configs","playerConfig","PresetManager","ReservedPresetNames","ReservedPresetAreas","RelativeToTypes","Before","After","Replace","UpperBarItem","onClick","renderItem","children","_activationStateChange","renderContentChild","_isDestroyed","kitchenSinkConfig","fillContainer","KitchenSink","isActive","eventManager","KitchenSinkEventTypes","ItemActiveStateChangeEvent","activate","deactivate","_destroy","KitchenSinkItem","ItemActiveStates","Active","InActive","defaultKitchenSinkConfig","theme","backgroundColor","blur","SidePanelRight","SidePanelBottom","_panels","activeItem","_kitchenSinkAdapterRef","_toggle","_isActive","_deactivateItem","_activateItem","expandMode","relevantPanel","_expand","_collapse","expand","_renderChild","_renderKitchenSink","_setRef","_kitchenSinkConfig","presetManager","KitchenSinkAdapter","itemOptions","kitchenSinkItem","upperBarItem","upperBarManager","renderIcon","itemsIndex","collapse","itemProps","KitchenSinkContainer","KitchenSinkManager","encode","params","paramsSerializer","serializedParams","toISOString","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","adapter","transformRequest","transformResponse","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","common","buildURL","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","auth","username","password","Authorization","toUpperCase","responseURL","responseHeaders","getAllResponseHeaders","statusText","onabort","onerror","ontimeout","cookies","xsrfValue","withCredentials","read","onDownloadProgress","onUploadProgress","upload","cancelToken","enhanceError","config1","config2","prop","Cancel","playerWidth","playerHeight","fLetterBox","left","top","scaleToTargetWidth","scaleX1","scaleY1","scaleX2","scaleY2","fScaleOnWidth","abs","renderOverlayChild","OverlayItem","OverlayPositions","VisibilityMode","VISIBLE","HIDDEN","defaultBannerConfig","_timerSubscription","_bannerConfig","_createRenderBanner","_handleCloseEvent","autoClose","_getState","floatingItemProps","BannerContainer","Banner","displayDuration","playerSize","getPlayerSize","visibilityMode","BannerManager","componentDidMount","componentWillUnmount","render","text","title","icon","_defaultIcon","defaultBannerRoot","bannerWrapper","iconContainer","iconWrapper","bannerBody","iconImage","Component","api","locals","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","bannerContainerRoot","bannerContainer","closeButton","toastsContainer","toastRow","Toast","_onClick","_onClose","stopPropagation","setState","_getToastSeverityClass","severity","successToast","warnToast","errorToast","infoToast","toastWrapper","toastBody","connect","mapStateToProps","shell","prev","toggler","shouldComponentUpdate","prevProps","updateOnPlayerSizeChanged","defaultProps","forwardRef","defaultFloatingConfig","canvas","videoSize","_renderItems","_getRendererProps","_floatingConfig","_updateCachedCanvas","positionItems","itemIndex","getVideoSize","_updateComponents","TIME_UPDATE","LOADED_DATA","FloatingManager","_render","isolateComponent","InjectedComponent","onCreate","_onCreate","onDestroy","_onDestroy","child","presetContainer","relativeTo","presets","container","_root","parentElement","components","withPlayer","PLAYER_SIZE","defaultUpperBarConfig","TopBarRightControls","_rootElement","_prepareUpperBarItems","upperBarItems","iconMenuItems","IconsMenu","iconMenu","upperBarContent","UpperBar","_upperBarConfig","_iconsMenuConfig","iconsOrder","order","reverse","itemToRemove","TINY","EXTRA_SMALL","SMALL","UpperBarManager","_onKeyDown","callBack","keyCode","KeyboardKeys","Enter","Esc","_getPopoverMenuOptions","customRenderer","tabIndex","role","onKeyDown","iconMenuItem","itemLabel","_popoverContent","PopoverMenu","Popover","verticalPosition","PopoverVerticalPositions","horizontalPosition","PopoverHorizontalPositions","PopoverTriggerMode","Click","Hover","Tab","Space","End","Home","triggerMode","closeOnEsc","closeOnClick","_closeTimeout","_controlElement","_clearTimeout","_handleMouseEvent","contains","_closePopover","_handleKeyboardEvent","_openPopover","onOpen","_addListeners","_removeListeners","_togglePopover","_handleMouseEnter","_handleMouseLeave","_handleHoverOnPopover","_getHoverEvents","targetEvents","onMouseEnter","onMouseLeave","popoverEvents","popoverContainer","popoverComponent","popoverMenu","itemRenderer","onMenuChosen","updateSidePanelMode","SidePanelPositions","SidePanelModes","sidePanelsModes","_convertToAdapterPositionEnum","_convertToAdapterModeEnum","getSidePanelMode","_convertToKitchenSinkModeEnum","redux","bindActions","reducers","actions","_getClass","backgroundLayout","active","defaultFontsConfig","fontFamily","testingFont","fontName","currentFontFamily","_fontConfig","loadFont","_isFontLoaded","_overrideCorePlayerFontStyles","_handleFontDownloadProcess","fontCss","lastHeadChild","getElementsByTagName","lastElementChild","downloadData","_checkFontExistence","_downloadAndCacheFont","fontData","_injectFontRawStyle","testingOptions","getContext","fontSize","font","baselineSize","measureText","cachedFontData","_loadFontFromLocalStorage","_saveFontToLocalStorage","innerHTML","fontValue","FontManager","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","CancelToken","isCancel","promises","spread","InterceptorManager","dispatchRequest","interceptors","interceptor","unshift","getUri","handlers","use","eject","h","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","fns","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","Item","noop","browser","env","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","normalizedName","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","ignoreDuplicateOf","parsed","line","originURL","msie","urlParsingNode","resolveURL","search","hostname","pathname","requestURL","expires","secure","cookie","toGMTString","RegExp","decodeURIComponent","relativeURL","resolvePromise","updateLayout","recalculateCuepointLayout","_calculateLayout","scaleCalculation","rawLayout","relativeX","relativeY","relativeWidth","relativeHeight","scaleVideo","layout","CuepointFloatingEngine","anchor","msSaveBlob","msSaveOrOpenBlob","click","printWindow","focus","print","date","intervalType","currentDate","seconds","interval","defaultOverlayConfig","OverlayItemContainer","_overlayConfig","OverlayManager","overlayItemContainer","setNetworkTag","_networkTag","acceptedTypes","partnerId","ks","responseProfile","KalturaBaseResponseProfile","avoidQueryString","fileFormatValue","moderationObjectType","KalturaModerationObjectType","flaggedEntryId","flaggedUserId","KalturaModerationFlagStatus","comments","flagType","KalturaModerationFlagType","createdAt","updatedAt","KalturaModerationFlag","requests","responses","kalturaResponses","serverResponse","KalturaMultiResponse","KalturaMultiRequest","results","hasErrors","getFirstError","uploadedFileSize","setProgress","_progressCallback","_getProgressCallback","supportChunkUpload","getFileInfo","metadataProperties","filePropertyName","find","file","KalturaUploadRequest","_corePlugin","_contribServices","_configs","_player","_upperBarItem","_moderationOverlay","_wasPlayed","_kalturaClient","KalturaClient","_sentReport","contentType","pluginConfig","onReportSentMessage","onReportErrorMessage","BaseEntryFlagAction","moderationFlag","_toggleOverlay","_displayToast","toastIcon","success","play","notificatonDuration","toastManager","closeButtonSelected","reportLength","moderateOptions","subtitle","tooltipMessage","isPlaying","paused","overlayManager","pause","Moderation","onSubmit","onPluginSetup","setOptions","provider","serviceUrl","setDefaultRequestOptions","session","onMediaLoad","_addPluginIcon","onMediaUnload","PluginButton","ModerationPlugin","ContribPluginManager","registerPlugin","corePlugin","contribServices","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__9__","plugin","_wasSetupExecuted","_wasSetupFailed","handleMediaLoaded","hasOnPluginSetup","_contribPlugin","hasOnMediaLoad","isValid","setContribContext","contribPlugin","getUIComponents","hasOnRegisterPresetsComponents","onRegisterPresetsComponents","hasOnPluginDestroy","onPluginDestroy","hasOnMediaUnload","core","BasePlugin","CorePlugin","factories","ContribPluginFactories","enableLogIfNeeded","_playerContribRegistry","PLAYER_RESET","PLAYER_DESTROY","_toastManager","_overlayManager","_bannerManager","_floatingManager","_kitchenSinkManager","_upperBarManager","_initialize","playerContribRegistry","ContribServices","fontManager","bannerManager","kitchenSinkManager","_presetManager","_fontManager","getPlayerKS","ContribPluginConfigs","createCorePlugin","pluginName","contribPluginFactory","overrides","corePluginFactory","CorePluginProxy","createPlugin","pluginFactories","corePluginConfig","setPluginContext","round","getTime","getStartDateValue","setHours","setMinutes","setSeconds","getEndDateValue","LogLevels","LoggerSettings","logLevel","_name","defaultRequestOptionsArgs","_defaultRequestOptions","appendOptions","appendDefaultRequestOptions","_validateOptions","optionsViolationError","KalturaFileRequest","KalturaFileRequestAdapter","transmit","KalturaUploadRequestAdapter","KalturaRequestAdapter","multiRequest","some","KalturaMultiRequestAdapter","clientOptions","prepareParameters","createEndpoint","createCancelableAction","getHeaders","errorMessage","parameters","_chunkUploadSupported","supportedByBrowser","supportedByRequest","chunkFileDisabled","activeAction","finalChunk","resumeAt","handleChunkUploadError","handleChunkUploadSuccess","_chunkUpload","_getFormData","fileChunk","append","uploadChunkData","fileStart","actualChunkFileSize","userChunkFileSize","chunkFileSize","log","fileEnd","progressCallback","lengthComputable","loaded","Tooltip","initialState","reportContent","reportContentType","isTextareaActive","_closeButtonNode","_onContentTypeChange","_onContentChange","_handleFocus","_handleBlur","_handleSubmit","preventDefault","_popoverMenuItemRenderer","popoverMenuItem","_getContentType","moderateOption","_handleClose","onKeyPress","mainWrapper","reportPopover","Fragment","selectWrapper","select","downArrow","textarea","onInput","onFocus","onBlur","placeholder","maxLength","submitWrapper","characterCounter","classNames","tooltip","submitButton","disabled","baseUrl","currentDir","fullMatch","origUrl","newUrl","unquotedOrigUrl","$1","urlEscape","___CSS_LOADER_URL___0___","___CSS_LOADER_URL___1___","moderationIcon"],"mappings":"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","file":"playkit-moderation.js","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(\"playkit-moderation\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"playkit-moderation\"] = factory();\n\telse\n\t\troot[\"KalturaPlayer\"] = root[\"KalturaPlayer\"] || {}, root[\"KalturaPlayer\"][\"plugins\"] = root[\"KalturaPlayer\"][\"plugins\"] || {}, root[\"KalturaPlayer\"][\"plugins\"][\"playkit-moderation\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 22);\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export class KalturaAPIException extends Error {\n constructor(public message: string, public code: string, public args: any) {\n super(message);\n\n // Set the prototype explicitly.\n Object.setPrototypeOf(this, KalturaAPIException.prototype);\n }\n}","\nexport class KalturaClientException extends Error {\n constructor(public code: string, public message: string, public args?: any) {\n super(message);\n\n // Set the prototype explicitly.\n Object.setPrototypeOf(this, KalturaClientException.prototype);\n }\n}","import { KalturaClientUtils } from \"./kaltura-client-utils\";\nimport { KalturaTypesFactory } from './kaltura-types-factory';\nimport { KalturaLogger } from './kaltura-logger';\n\nexport type DependentProperty = { property : string, request : number, targetPath? : string[] };\n\nexport interface KalturaObjectMetadata\n{\n\tproperties : { [key : string] : KalturaObjectPropertyMetadata};\n}\n\nexport interface KalturaObjectPropertyMetadata\n{\n\treadOnly? : boolean;\n\ttype : string;\n\tsubType? : string;\n\tdefault? : string;\n\tsubTypeConstructor? : { new() : KalturaObjectBase };\n};\n\nexport interface KalturaObjectBaseArgs\n{\n\trelatedObjects? : { [key: string] : KalturaObjectBase };\n}\n\nconst logger = new KalturaLogger('KalturaObjectBase');\n\nexport abstract class KalturaObjectBase{\n\n\tprivate _allowedEmptyArray: string[] = [];\n\tprivate _dependentProperties : { [key : string] : DependentProperty} = {};\n\trelatedObjects : { [key: string] : KalturaObjectBase }; // see developer notice in method '_getMetadata()'\n\n\n\tallowEmptyArray(... properties: string[]): this {\n\t\tconst metadata = this._getMetadata().properties;\n\t\tfor (const property of properties) {\n\t\t\tconst metadataProperty = metadata[property];\n\t\t\tif (!metadataProperty) {\n\t\t\t\tlogger.warn(`ignore property '${property}' flaged to allow empty array as it doesn't not exists on type (did you set the right property in method 'allowEmptyArray'?)`);\n\t\t\t} else if (metadataProperty.type !== 'a') {\n\t\t\t\tlogger.warn(`ignore property '${property}' flaged to allow empty array as it is not of type array (did you set the right property in method 'allowEmptyArray'?)`);\n\t\t\t} else {\n\t\t\t\tthis._allowedEmptyArray.push(property);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsetData(handler : (request : this) => void) : this {\n\t\tif (handler) {\n\t\t\thandler(this);\n\t\t}\n\t\treturn this;\n\t}\n\n\tconstructor(data? : {})\n\t{\n\t\tif (data)\n\t\t{\n\t\t\tObject.assign(this, data);\n\t\t}\n\n\t\tif (typeof this.relatedObjects === 'undefined') this.relatedObjects = {};\n\t}\n\n\tpublic getTypeName() : string\n\t{\n\t\treturn this._getMetadata().properties['objectType'].default;\n\t}\n\n\tprotected _getMetadata() : KalturaObjectMetadata\n\t{\n\t\t// DEVELOPER NOTICE: according to the server schema, property 'relatedObjects' should have be of type 'KalturaListResponse'.\n\t\t// this is not an option as it created circle reference where KalturaListResponse > KalturaObjectBase > KalturaListResponse.\n\t\t// Hence, we cannot set the type explicitly and we need to expose the default type 'KalturaObjectBase'\n\t\treturn { properties : {\n\t\t\trelatedObjects: { type: 'm', readOnly: true, subTypeConstructor : null, subType : 'KalturaListResponse'},\n\t\t}};\n\t}\n\n\tpublic hasMetadataProperty(propertyName: string): boolean\n\t{\n\t\treturn !!this._getMetadata().properties[propertyName];\n\t}\n\n\ttoRequestObject() : {} {\n\t\tconst metadata = this._getMetadata();\n\t\tlet result = {};\n\n\t\ttry {\n\t\t\tObject.keys(metadata.properties).forEach(propertyName => {\n\t\t\t\tconst propertyData = metadata.properties[propertyName];\n\t\t\t\tconst propertyValue = this._createRequestPropertyValue(propertyName, propertyData);\n\n\t\t\t\tswitch (propertyValue.status)\n\t\t\t\t{\n\t\t\t\t\tcase \"exists\":\n\t\t\t\t\t\tresult[propertyName] = propertyValue.value;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"removed\":\n\t\t\t\t\t\tresult[`${propertyName}__null`] = ''; // mark property for deletion\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"missing\":\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t}catch(err)\n\t\t{\n\t\t\t// TODO [kaltura] should use logHandler\n\t\t\tlogger.warn(err.message);\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tfromResponseObject(data : any) : {} {\n\t\tconst metadata = this._getMetadata();\n\t\tlet result = {};\n\n\t\ttry {\n\t\t\tObject.keys(metadata.properties).forEach(propertyName => {\n\t\t\t\tconst propertyData = metadata.properties[propertyName];\n\t\t\t\tconst propertyValue = this._parseResponseProperty(propertyName, propertyData, data);\n\n\t\t\t\tif (propertyValue != null && typeof propertyValue !== 'undefined')\n\t\t\t\t{\n\t\t\t\t\tthis[propertyName] = propertyValue;\n\t\t\t\t}\n\t\t\t});\n\t\t}catch(err)\n\t\t{\n\t\t\t// TODO [kaltura] should use logHandler\n\t\t\tlogger.warn(err.message);\n\t\t\tthrow err;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\n\n\tprotected _parseResponseProperty(propertyName : string, property : KalturaObjectPropertyMetadata, source : any) : any {\n\n\t\tlet result;\n\t\tlet sourceValue = propertyName ? source[propertyName] : source;\n\n\t\tif (typeof sourceValue !== 'undefined') {\n\t\t\tif (sourceValue === null) {\n\t\t\t\tresult = null;\n\t\t\t} else {\n\t\t\t\tswitch (property.type) {\n\t\t\t\t\tcase 'b': // boolean\n\t\t\t\t\t\tif (typeof sourceValue === 'boolean') {\n\t\t\t\t\t\t\tresult = sourceValue;\n\t\t\t\t\t\t} else if (sourceValue + '' === '0') {\n\t\t\t\t\t\t\tresult = false;\n\t\t\t\t\t\t} else if (sourceValue + '' === '1') {\n\t\t\t\t\t\t\tresult = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': // string\n\t\t\t\t\t\tresult = sourceValue + '';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n': // number\n\t\t\t\t\tcase 'en': // enum of type number\n\t\t\t\t\t\tresult = sourceValue * 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'es': // enum of type number\n\t\t\t\t\t\tresult = typeof sourceValue !== 'undefined' && sourceValue !== null ? sourceValue.toString() : undefined;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'o': // object\n\t\t\t\t\t\tconst propertyObjectType = sourceValue['objectType'];\n\n\t\t\t\t\t\tif (propertyObjectType)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tresult = this._createKalturaObject(propertyObjectType, property.subType);\n\n\t\t\t\t\t\t\tif (result) {\n\t\t\t\t\t\t\t\tresult.fromResponseObject(sourceValue);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthrow new Error(`Failed to create kaltura object of type '${source['objectType']}' (fallback type '${property.subType}')`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}else\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthrow new Error(`Failed to create kaltura object for property '${propertyName}' (type '${property.subType}'). provided response object is missing property 'objectType'.`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'm': // map\n\t\t\t\t\t\tconst parsedMap = {};\n\t\t\t\t\t\tif (sourceValue instanceof Object) {\n\t\t\t\t\t\t\tObject.keys(sourceValue).forEach(itemKey =>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconst itemValue = sourceValue[itemKey];\n\t\t\t\t\t\t\t\tconst newItem = this._createKalturaObject(itemValue['objectType'], property.subType);\n\n\t\t\t\t\t\t\t\tif (itemValue && newItem) {\n\t\t\t\t\t\t\t\t\tnewItem.fromResponseObject(itemValue);\n\t\t\t\t\t\t\t\t\tparsedMap[itemKey] = newItem;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthrow new Error(`Failed to create kaltura object for type '${property.subType}'`);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tresult = parsedMap;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new Error(`failed to parse property '${propertyName}. Expected type object, got type '${typeof sourceValue}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'a': // array\n\t\t\t\t\t\tif (sourceValue instanceof Array) {\n\t\t\t\t\t\t\tconst parsedArray = [];\n\t\t\t\t\t\t\tsourceValue.forEach(responseItem => {\n\t\t\t\t\t\t\t\tconst newItem = this._createKalturaObject(responseItem['objectType'], property.subType);\n\n\t\t\t\t\t\t\t\tif (newItem) {\n\t\t\t\t\t\t\t\t\tnewItem.fromResponseObject(responseItem);\n\t\t\t\t\t\t\t\t\tparsedArray.push(newItem);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthrow new Error(`Failed to create kaltura object for type '${responseItem['objectType']}' and for fallback type '${property.subType}'`);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tresult = parsedArray;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new Error(`failed to parse property '${propertyName}. Expected type array, got type '${typeof sourceValue}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd': // date\n\t\t\t\t\t\tif (this._isNumeric(sourceValue)) {\n\t\t\t\t\t\t\tresult = KalturaClientUtils.fromServerDate(sourceValue*1)\n\t\t\t\t\t\t}else {\n\t\t\t\t\t\t\tthrow new Error(`failed to parse property '${propertyName}. Expected type date, got type '${typeof sourceValue}`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate _isNumeric(n : any) : boolean {\n\t\treturn !isNaN(parseFloat(n)) && isFinite(n);\n\t}\n\n\tprivate _createKalturaObject(objectType : string, fallbackObjectType? : string) : KalturaObjectBase\n\t{\n\t\tlet result = null;\n\t\tlet usedFallbackType = false;\n\t\tif (objectType)\n\t\t{\n\t\t\tresult = KalturaTypesFactory.createObject(objectType);\n\t\t}\n\n\t\tif (!result && fallbackObjectType)\n\t\t{\n\t\t\tusedFallbackType = true;\n\t\t\tresult = KalturaTypesFactory.createObject(fallbackObjectType);\n\t\t}\n\n\t\tif (usedFallbackType && result)\n\t\t{\n\t\t\tlogger.warn(`[kaltura-client]: Could not find object type '${objectType}', Falling back to '${fallbackObjectType}' object type. (Did you remember to set your accepted object types in the request “config.acceptedTypes” attribute?)`);\n\t\t}else if (!result)\n\t\t{\n\t\t\tlogger.warn(`[kaltura-client]: Could not find object type '${objectType}'. (Did you remember to set your accepted object types in the request “config.acceptedTypes” attribute?)`);\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate _createRequestPropertyValue(propertyName : string, property : KalturaObjectPropertyMetadata) : { status : 'missing' | 'removed' | 'exists', value? : any } {\n\n\t\tlet result : { status : 'missing' | 'removed' | 'exists', value? : any } = { status : 'missing'};\n\n\t\tif (property.type === 'c')\n\t\t{\n\t\t\t// constant string\n\t\t\tif (property.default)\n\t\t\t{\n\t\t\t\tresult = { status : 'exists', value : property.default};\n\t\t\t}\n\t\t} else if (this._dependentProperties[propertyName])\n\t\t{\n\t\t\tconst dependentProperty = this._dependentProperties[propertyName];\n\t\t\tconst resultValue = `{${dependentProperty.request}:result${dependentProperty.targetPath ? ':' + dependentProperty.targetPath : ''}}`;\n\t\t\tresult = { status : 'exists', value : resultValue};\n\t\t}\n\t\telse if (!property.readOnly) {\n\t\t\tlet value = this[propertyName];\n\n\t\t\tif (typeof value !== 'undefined') {\n\t\t\t\tif (value === null) {\n\t\t\t\t\tresult = { status : 'removed'};\n\t\t\t\t} else {\n\t\t\t\t\tswitch (property.type) {\n\t\t\t\t\t\tcase 'b': // boolean\n\t\t\t\t\t\t\tresult = { status : 'exists', value : value};\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 's': // string\n\t\t\t\t\t\t\tresult = { status : 'exists', value : value + ''};\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'n': // number\n\t\t\t\t\t\tcase 'en': // enum of type number\n\t\t\t\t\t\t\tresult = { status : 'exists', value : value * 1};\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'o': // object\n\t\t\t\t\t\t\tif (value instanceof KalturaObjectBase) {\n\t\t\t\t\t\t\t\tresult = { status : 'exists', value : value.toRequestObject()};\n\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthrow new Error(`failed to parse property. Expected '${propertyName} to be kaltura object`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'a': // array\n\t\t\t\t\t\t\tif (value instanceof Array) {\n\t\t\t\t\t\t\t\tconst parsedArray = [];\n\t\t\t\t\t\t\t\tvalue.forEach(item =>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif (item instanceof KalturaObjectBase)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tparsedArray.push(item.toRequestObject());\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tconst allowEmptyArrayAsAValue = this._allowedEmptyArray.indexOf(propertyName) !== -1;\n\t\t\t\t\t\t\t\tif (allowEmptyArrayAsAValue || parsedArray.length !== 0) {\n\t\t\t\t\t\t\t\t\tif (parsedArray.length === value.length) {\n\t\t\t\t\t\t\t\t\t\tresult = {status: 'exists', value: parsedArray};\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthrow new Error(`failed to parse array. Expected all '${propertyName} items to be kaltura object`);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthrow new Error(`failed to parse property. Expected '${propertyName} to be Array`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'm': //map\n\t\t\t\t\t\t\tif (value instanceof Object) {\n\t\t\t\t\t\t\t\tconst valueKeys = Object.keys(value);\n\n\t\t\t\t\t\t\t\tif (valueKeys.length > 0) {\n\t\t\t\t\t\t\t\t\tconst parsedObject = {};\n\t\t\t\t\t\t\t\t\tvalueKeys.forEach(itemKey => {\n\t\t\t\t\t\t\t\t\t\tvar itemValue = value[itemKey];\n\t\t\t\t\t\t\t\t\t\tif (itemValue instanceof KalturaObjectBase) {\n\t\t\t\t\t\t\t\t\t\t\tparsedObject[itemKey] = itemValue.toRequestObject();\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (valueKeys.length === Object.keys(parsedObject).length) {\n\t\t\t\t\t\t\t\t\t\tresult = {status: 'exists', value: parsedObject};\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthrow new Error(`failed to parse map. Expected all '${propertyName} items to be kaltura object`);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthrow new Error(`failed to parse property. Expected '${propertyName} to be kaltura object`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'd': // date\n\t\t\t\t\t\t\tif (value instanceof Date) {\n\t\t\t\t\t\t\t\tresult = { status : 'exists', value : KalturaClientUtils.toServerDate(value)};\n\t\t\t\t\t\t\t}else {\n\t\t\t\t\t\t\t\tthrow new Error(`failed to parse property. Expected '${propertyName} to be date`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'es': // enum of type string\n\t\t\t\t\t\t\tresult = { status : 'exists', value : typeof value === 'string' ? value : undefined};\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'f':\n\t\t\t\t\t\t\tif (value instanceof FormData)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresult = {status : 'exists', value : value};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// do nothing\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tsetDependency(...dependency : (DependentProperty | [string, number] | [string, number,string])[]) : this\n\t{\n\t\tfor(let i = 0, len = dependency.length;i<len;i++)\n\t\t{\n\t\t\tconst item = dependency[i];\n\t\t\tlet { property, request, targetPath } = <any>item;\n\t\t\tif (item instanceof Array)\n\t\t\t{\n\t\t\t\tproperty = item[0];\n\t\t\t\trequest = item[1];\n\t\t\t\ttargetPath = item.length === 3 ? item[2] : null;\n\t\t\t}\n\n\t\t\t// The server expect one based index (meaning the first item has index 1)\n\t\t\t// since Javascript array are zero based index we expose the api as zero based\n\t\t\t// and transform the index value in the actual request by adding 1\n\t\t\trequest = request + 1;\n\t\t\tthis._dependentProperties[property] = { property , request, targetPath };\n\t\t}\n\n\t\treturn this;\n\t}\n}\n","import { KalturaResponse } from \"./kaltura-response\";\nimport { KalturaRequestBase, KalturaRequestBaseArgs } from \"./kaltura-request-base\";\nimport { KalturaAPIException } from './kaltura-api-exception';\nimport { KalturaObjectBase } from './kaltura-object-base';\nimport { KalturaRequestOptions, KalturaRequestOptionsArgs } from './kaltura-request-options';\nimport { environment } from '../environment';\n\nexport interface KalturaRequestArgs extends KalturaRequestBaseArgs\n{\n\n}\n\n\nexport abstract class KalturaRequest<T> extends KalturaRequestBase {\n\n private __requestOptions__: KalturaRequestOptions;\n protected callback: (response: KalturaResponse<T>) => void;\n private responseType : string;\n private responseSubType : string;\n protected _responseConstructor : { new() : KalturaObjectBase}; // NOTICE: this property is not used directly. It is here to force import of that type for bundling issues.\n\n constructor(data : KalturaRequestBaseArgs, {responseType, responseSubType, responseConstructor} : {responseType : string, responseSubType? : string, responseConstructor : { new() : KalturaObjectBase} } ) {\n super(data);\n this.responseSubType = responseSubType;\n this.responseType = responseType;\n this._responseConstructor = responseConstructor;\n }\n\n setCompletion(callback: (response: KalturaResponse<T>) => void): this {\n this.callback = callback;\n return this;\n }\n\n private _unwrapResponse(response: any): any {\n if (environment.response.nestedResponse) {\n if (response && response.hasOwnProperty('result')) {\n if (response.result.hasOwnProperty('error')) {\n return response.result.error;\n } else {\n return response.result;\n }\n } else if (response && response.hasOwnProperty('error')) {\n return response.error;\n }\n }\n\n return response;\n }\n\n handleResponse(response: any): KalturaResponse<T> {\n let responseResult: any;\n let responseError: any;\n\n try {\n const unwrappedResponse = this._unwrapResponse(response);\n let responseObject = null;\n\n if (unwrappedResponse) {\n if (unwrappedResponse instanceof KalturaAPIException)\n {\n // handle situation when multi request propagated actual api exception object.\n responseObject = unwrappedResponse;\n }else if (unwrappedResponse.objectType === 'KalturaAPIException') {\n responseObject = new KalturaAPIException(\n unwrappedResponse.message,\n unwrappedResponse.code,\n unwrappedResponse.args\n );\n } else {\n responseObject = super._parseResponseProperty(\n \"\",\n {\n type: this.responseType,\n subType: this.responseSubType\n },\n unwrappedResponse\n );\n }\n }\n\n if (!responseObject && this.responseType !== 'v') {\n responseError = new KalturaAPIException(`server response is undefined, expected '${this.responseType} / ${this.responseSubType}'`, 'client::response_type_error', null);\n } else if (responseObject instanceof KalturaAPIException) {\n // got exception from library\n responseError = responseObject;\n }else {\n responseResult = responseObject;\n }\n } catch (ex) {\n responseError = new KalturaAPIException(ex.message, 'client::general_error', null);\n }\n\n\n const result = new KalturaResponse<T>(responseResult, responseError);\n\n if (this.callback) {\n try {\n this.callback(result);\n } catch (ex) {\n // do nothing by design\n }\n }\n\n return result;\n }\n\n setRequestOptions(optionArgs: KalturaRequestOptionsArgs): this;\n setRequestOptions(options: KalturaRequestOptions): this;\n setRequestOptions(arg: KalturaRequestOptionsArgs | KalturaRequestOptions): this {\n this.__requestOptions__ = arg instanceof KalturaRequestOptions ? arg : new KalturaRequestOptions(arg);\n return this;\n }\n\n getRequestOptions(): KalturaRequestOptions {\n return this.__requestOptions__;\n }\n\n buildRequest(defaultRequestOptions: KalturaRequestOptions): {} {\n const requestOptionsObject = this.__requestOptions__ ? this.__requestOptions__.toRequestObject() : {};\n const defaultRequestOptionsObject = defaultRequestOptions ? defaultRequestOptions.toRequestObject() : {};\n\n return Object.assign(\n {},\n defaultRequestOptionsObject,\n requestOptionsObject,\n this.toRequestObject()\n );\n }\n}\n","export type CancelFn = () => void;\nexport type ResolveFn<T> = (value: T | null) => any | void;\nexport type RejectFn = (reason: Error) => any | void;\n\nexport class CancelableAction<T>\n{\n static resolve<T>(result: T): CancelableAction<T> {\n return new CancelableAction<T>((resolve) => {\n resolve(result);\n });\n }\n\n static reject<T>(error: Error): CancelableAction<T> {\n return new CancelableAction<T>((resolve, reject) => {\n reject(error);\n });\n }\n\n private _executors : {resolve: ResolveFn<T>, reject: RejectFn}[] = [];\n private _onCancel : CancelFn | void;\n constructor(executor : (resolve : ResolveFn<T>, reject : RejectFn, action?: CancelableAction<T>) => CancelFn | void)\n {\n this._onCancel = executor(this._onResolve.bind(this), this._onReject.bind(this), this);\n }\n\n private _onResolve(value? : T ) : void\n {\n this._notifyExecutor(value);\n }\n\n private _onReject(reason? : Error ) : void\n {\n this._notifyExecutor(reason);\n }\n\n private _notifyExecutor(value : T | Error) : void{\n const nextExecutor = this._executors.length > 0 ? this._executors.splice(0,1)[0] : null;\n let newValue : any;\n if (nextExecutor)\n {\n try {\n if (value instanceof Error) {\n if (nextExecutor.reject) {\n newValue = nextExecutor.reject(value);\n }else {\n this._handleErrorOriginatedFromExecuter(value);\n }\n } else {\n if (nextExecutor.resolve) {\n newValue = nextExecutor.resolve(<T>value);\n }\n }\n\n\n if (newValue instanceof CancelableAction)\n {\n newValue.then(this._onResolve.bind(this), this._onReject.bind(this));\n return;\n }else if (newValue instanceof Promise)\n {\n newValue.then(this._onResolve.bind(this), this._onReject.bind(this));\n return;\n }else {\n newValue = typeof newValue === 'undefined' ? value : newValue;\n this._notifyExecutor(newValue);\n }\n }catch(e)\n {\n this._handleErrorOriginatedFromExecuter(e);\n }\n }\n }\n\n private _handleErrorOriginatedFromExecuter(reason : any) : void {\n if (this._executors.length > 0)\n {\n this._notifyExecutor(reason);\n }else {\n throw reason;\n }\n }\n\n cancel() : void {\n if (this._onCancel) {\n this._onCancel();\n }\n }\n\n then(resolve: ResolveFn<T>, reject: RejectFn): this\n {\n this._executors.push({resolve, reject});\n return this;\n }\n\n catch(reject: RejectFn) : this\n {\n this._executors.push({resolve: null, reject});\n return this;\n }\n}\n","module.exports = KalturaPlayer.ui.preact;","(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(\"common\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"common\"] = factory();\n\telse\n\t\troot[\"playkit\"] = root[\"playkit\"] || {}, root[\"playkit\"][\"contrib\"] = root[\"playkit\"][\"contrib\"] || {}, root[\"playkit\"][\"contrib\"][\"common\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 62);\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nvar Symbol = global.Symbol;\nvar store = shared('wks');\n\nmodule.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name]\n || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","module.exports = false;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","module.exports = {};\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.3.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = require('../internals/global');\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar PROTOTYPE = 'prototype';\nvar Empty = function () { /* empty */ };\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n};\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\nhiddenKeys[IE_PROTO] = true;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","export class ObjectUtils {\n /**\n * @param {T} data - The data to copy.\n * @returns {T} - The copied data.\n */\n public static copyDeep<T extends Record<string, any>>(data: T): T {\n let node;\n if (Array.isArray(data)) {\n node = data.length > 0 ? data.slice(0) : [];\n node.forEach((e, i) => {\n if (\n (typeof e === 'object' && e !== {}) ||\n (Array.isArray(e) && e.length > 0)\n ) {\n node[i] = ObjectUtils.copyDeep(e);\n }\n });\n } else if (typeof data === 'object') {\n node = Object.assign({}, data);\n Object.keys(node).forEach(key => {\n if (\n (typeof node[key] === 'object' && node[key] !== {}) ||\n (Array.isArray(node[key]) && node[key].length > 0)\n ) {\n node[key] = ObjectUtils.copyDeep(node[key]);\n }\n });\n } else {\n node = data;\n }\n return node;\n }\n\n /**\n * @param {T} item - The item to check.\n * @returns {T} - Whether the item is an object.\n */\n public static isObject(item: any) {\n return item && typeof item === 'object' && !Array.isArray(item);\n }\n\n /**\n * @param {T} target - The target object.\n * @param {T} sources - The objects to merge.\n * @returns {T} - The merged object.\n */\n public static mergeDeep<T extends Record<string, any>>(\n target: Partial<T>,\n sources: Partial<T>[],\n extra?: {explicitMerge?: string[]}\n ): Partial<T> {\n if (!sources.length) {\n return target;\n }\n\n const explicitMerge: string[] = (extra ? extra.explicitMerge : null) || [];\n const source = sources.shift();\n if (ObjectUtils.isObject(target) && ObjectUtils.isObject(source)) {\n for (const key in source) {\n if (ObjectUtils.isObject(source[key])) {\n if (!target[key]) Object.assign(target, {[key]: {}});\n\n if (explicitMerge.indexOf(key) !== -1) {\n target[key] = ObjectUtils.explicitFlatMerge<any>(\n target[key],\n source[key]\n );\n } else {\n ObjectUtils.mergeDeep(target[key], [source[key]], extra);\n }\n } else {\n Object.assign(target, {[key]: source[key]});\n }\n }\n }\n return ObjectUtils.mergeDeep(target, sources, extra);\n }\n\n public static mergeDefaults<T extends Record<string, any>>(\n source: Partial<T>,\n defaults: T,\n extra?: {explicitMerge?: string[]}\n ): T {\n return ObjectUtils.mergeDeep({}, [defaults, source], extra) as T;\n }\n\n /**\n * source properties will override all equivalent properties in target. null or empty objects properties in source\n * will cause the removal of these properties in target.\n * all other data will be merged\n * @param initialObject\n * @param source\n */\n public static explicitFlatMerge<T extends Record<string, any>>(\n initialObject: Partial<T>,\n source: Partial<T>\n ): any {\n const result = {...initialObject};\n Object.keys(source).forEach(key => {\n if (source[key] === null || Object.keys(source[key]).length === 0) {\n delete result[key];\n } else {\n // @ts-ignore\n // https://github.com/microsoft/TypeScript/issues/31661\n result[key] = source[key];\n }\n });\n return result;\n }\n\n public static get(\n obj: Record<string, any>,\n path: string,\n defaultValue: any\n ): any {\n function stringToPath(path: string) {\n const output = [];\n // Split to an array with dot notation\n path.split('.').forEach(item => {\n // Split to an array with bracket notation\n item.split(/\\[([^}]+)\\]/g).forEach(key => {\n // Push to the new array\n if (key.length > 0) {\n output.push(key);\n }\n });\n });\n return output;\n }\n\n // Get the path as an array\n const pathArray = stringToPath(path);\n\n let current = obj;\n\n // For each item in the path, dig into the object\n for (let i = 0; i < pathArray.length; i++) {\n // If the item isn't found, return the default (or null)\n if (!current[pathArray[i]]) return defaultValue;\n\n // Otherwise, update the current value\n current = current[pathArray[i]];\n }\n\n return current;\n }\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar userAgent = require('../internals/user-agent');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-promise-allSettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: e };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","import {Logger, LogLevel} from './js-logger.types';\nfunction isJSLogger(logger: any): logger is JSLogger {\n return logger && 'setLevel' in logger;\n}\n\nexport interface ContribLogger {\n debug(message: string, context: MessageOptions): void;\n info(message: string, context: MessageOptions): void;\n trace(message: string, context: MessageOptions): void;\n warn(message: string, context: MessageOptions): void;\n error(message: string, context: MessageOptions): void;\n}\n\nfunction getPlayerLogger(options: {\n kalturaPlayer?: any;\n loggerName?: string;\n}): JSLogger | null {\n const {kalturaPlayer, loggerName} = options;\n\n const getLoggerFn = kalturaPlayer\n ? kalturaPlayer.getLogger\n : KalturaPlayer.ui.utils.getLogger;\n\n if (!getLoggerFn) {\n return null;\n }\n const logger = getLoggerFn(loggerName);\n\n if (!isJSLogger(logger)) {\n return null;\n }\n\n return logger;\n}\n\nexport class NoopLogger implements ContribLogger {\n debug(message: string, context: MessageOptions): void {}\n info(message: string, context: MessageOptions): void {}\n trace(message: string, context: MessageOptions): void {}\n warn(message: string, context: MessageOptions): void {}\n error(message: string, context: MessageOptions): void {}\n}\n\nconst globalLogger = getPlayerLogger({});\nconst defaultNoopLogger = new NoopLogger();\n\ninterface JSLogger extends Logger {}\ntype LoggerMethods = 'debug' | 'trace' | 'warn' | 'error' | 'info';\n\nexport class ProxyLogger implements ContribLogger {\n constructor(\n private _logger: JSLogger,\n private _defaultOptions: LoggerOptions\n ) {}\n\n private _log(\n loggerMethod: LoggerMethods,\n level: LogLevel,\n message: string,\n messageContext: MessageOptions\n ): void {\n const className = messageContext.class || this._defaultOptions.class || '_';\n const module = this._defaultOptions.module || '';\n const method = messageContext.method ? `.${messageContext.method}()` : '';\n const context = this._defaultOptions.context\n ? `'${this._defaultOptions.context}'`\n : '';\n\n const formattedMessage = `[${module}::${className}(${context})${method}] ${message}`;\n\n if (messageContext.data) {\n (this._logger as any)[loggerMethod](\n formattedMessage,\n messageContext.data\n );\n } else {\n (this._logger as any)[loggerMethod](formattedMessage);\n }\n }\n\n debug(message: string, context: MessageOptions): void {\n if (!globalLogger) {\n return;\n }\n this._log('debug', globalLogger.DEBUG, message, context);\n }\n info(message: string, context: MessageOptions): void {\n if (!globalLogger) {\n return;\n }\n this._log('info', globalLogger.INFO, message, context);\n }\n trace(message: string, context: MessageOptions): void {\n if (!globalLogger) {\n return;\n }\n this._log('trace', globalLogger.TRACE, message, context);\n }\n warn(message: string, context: MessageOptions): void {\n if (!globalLogger) {\n return;\n }\n this._log('warn', globalLogger.WARN, message, context);\n }\n error(message: string, context: MessageOptions): void {\n if (!globalLogger) {\n return;\n }\n this._log('error', globalLogger.ERROR, message, context);\n }\n}\n\nexport interface LoggerOptions {\n class?: string;\n module?: string;\n context?: string;\n}\n\nexport interface MessageOptions {\n class?: string;\n method?: string;\n data?: Record<string, any>;\n}\n\nexport function getContribLogger(\n options: {kalturaPlayer?: any} & LoggerOptions = {}\n): ContribLogger {\n const {kalturaPlayer} = options;\n\n const loggerName = `${\n kalturaPlayer ? kalturaPlayer._playerId : 'global'\n }_contrib`;\n const logger = getPlayerLogger({kalturaPlayer, loggerName});\n\n if (!logger) {\n return defaultNoopLogger;\n }\n\n return new ProxyLogger(logger, options);\n}\n\nexport function enableLogIfNeeded() {\n try {\n if (document.URL.indexOf('debugKalturaPlayer') !== -1) {\n const logger = getPlayerLogger({});\n\n if (!logger) {\n return;\n }\n\n logger.setLevel(logger.TRACE);\n }\n } catch (e) {\n // do nothing\n }\n}\n","import {v5 as uuidV5, v1 as uuidV1} from 'uuid';\n\nexport class UUID {\n //timestamp\n public static uuidV1() {\n return uuidV1();\n }\n\n /**\n * usage example: uuidV5('domain', uuidV1())\n * @param name\n * @param namespace should be UUID string or a 16 byte array\n */\n public static uuidV5(name: string, namespace: string) {\n return uuidV5(name, namespace);\n }\n\n /**\n * generate uuidV1 as numbers only\n */\n public static numberedUuidV1(): string {\n const uuid = UUID.uuidV1();\n let numStr = '';\n\n for (let i = 0; i < uuid.length; i++) {\n const char = uuid.charAt(i);\n numStr += Number.isNaN(+char) ? char.charCodeAt(0) : char;\n }\n\n return numStr;\n }\n}\n","/// <reference path=\"./global.d.ts\" />\nimport 'core-js/features/promise';\nimport 'core-js/features/object/assign';\nimport 'core-js/features/object/keys';\n\nNumber.isNaN =\n Number.isNaN ||\n function (value) {\n return value !== null && (value != value || +value != value);\n };\n\nexport * from './cuepoint-engine';\nexport * from './player-contrib-registry';\nexport * from './kaltura-live-services';\nexport * from './events-manager';\nexport * from './contrib-logger';\nexport * from './uuid';\nexport * from './debouce';\nexport * from './object-utils';\nexport * from './kaltura-player-utils';\nexport * from './array-utils';\n","module.exports = require('../../es/promise');\n\nrequire('../../modules/esnext.aggregate-error');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.all-settled');\nrequire('../../modules/esnext.promise.try');\nrequire('../../modules/esnext.promise.any');\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.finally');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","var redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\nvar ObjectPrototype = Object.prototype;\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (toString !== ObjectPrototype.toString) {\n redefine(ObjectPrototype, 'toString', toString, { unsafe: true });\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","'use strict';\nvar classof = require('../internals/classof');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = String(test) !== '[object z]' ? function toString() {\n return '[object ' + classof(this) + ']';\n} : test.toString;\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n createNonEnumerableProperty(ArrayPrototype, UNSCOPABLES, create(null));\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar userAgent = require('../internals/user-agent');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n}\n\nmodule.exports = version && +version;\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar iterate = require('../internals/iterate');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar anObject = require('../internals/an-object');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalAggregateErrorState = InternalStateModule.getterFor('AggregateError');\n\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(message), getPrototypeOf(that));\n }\n var errorsArray = [];\n iterate(errors, errorsArray.push, errorsArray);\n if (DESCRIPTORS) setInternalState(that, { errors: errorsArray, type: 'AggregateError' });\n else that.errors = errorsArray;\n if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));\n return that;\n};\n\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError'),\n toString: createPropertyDescriptor(5, function toString() {\n var name = anObject(this).name;\n name = name === undefined ? 'AggregateError' : String(name);\n var message = this.message;\n message = message === undefined ? '' : String(message);\n return name + ': ' + message;\n })\n});\n\nif (DESCRIPTORS) defineProperty.f($AggregateError.prototype, 'errors', {\n get: function () {\n return getInternalAggregateErrorState(this).errors;\n },\n configurable: true\n});\n\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","// TODO: Remove from `core-js@4`\nrequire('./es.promise.all-settled.js');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true }, {\n 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://github.com/tc39/proposal-promise-any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (e) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = e;\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","module.exports = require('../../es/object/assign');\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !nativeAssign || fails(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","module.exports = require('../../es/object/keys');\n","require('../../modules/es.object.keys');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.keys;\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","import {getContribLogger} from './contrib-logger';\n\nenum ChangeTypes {\n Show = 'show',\n Hide = 'hide',\n}\n\ntype ChangeData<T extends Cuepoint> = {\n time: number;\n type: ChangeTypes;\n cuePoint: T;\n};\n\nconst DefaultReasonableSeekThreshold = 2000;\n\nexport interface Cuepoint {\n startTime: number;\n endTime?: number;\n}\n\nexport interface CuepointEngineOptions {\n reasonableSeekThreshold: number;\n}\n\nexport interface UpdateTimeResponse<T extends Cuepoint> {\n snapshot?: T[];\n delta?: {\n show: T[];\n hide: T[];\n };\n}\n\nconst logger = getContribLogger({\n module: 'contrib-common',\n class: 'CuepointEngine',\n});\n\nexport class CuepointEngine<T extends Cuepoint> {\n protected _cuepoints: T[];\n private reasonableSeekThreshold: number;\n private isFirstTime = true;\n protected enabled = true;\n private lastHandledTime: number | null = null;\n private lastHandledTimeIndex: number | null = null;\n private nextTimeToHandle: number | null = null;\n private cuepointChanges: ChangeData<T>[] = [];\n\n constructor(cuepoints: T[], options?: CuepointEngineOptions) {\n logger.debug('executed', {\n method: 'ctor',\n });\n this.reasonableSeekThreshold = Math.max(\n DefaultReasonableSeekThreshold,\n (options && options.reasonableSeekThreshold) || 0\n );\n this._cuepoints = cuepoints;\n this.prepareCuepoint();\n }\n\n get cuepoints(): T[] {\n return [...this._cuepoints];\n }\n\n public getSnapshot(time: number): T[] {\n const timeIndex = this.findClosestLastIndexByTime(time);\n logger.debug(`create snapshot based on time ${time}`, {\n method: 'getSnapshot',\n data: {\n timeIndex,\n },\n });\n return this.createCuepointSnapshot(timeIndex);\n }\n\n public updateTime(\n currentTime: number,\n forceSnapshot = false,\n filter?: (item: T) => boolean\n ): UpdateTimeResponse<T> {\n const {isFirstTime, lastHandledTime, nextTimeToHandle} = this;\n\n if (this.cuepointChanges.length === 0) {\n if (isFirstTime) {\n logger.info(`cuepoint list empty. will always return empty snapshot`, {\n method: 'updateTime',\n });\n this.isFirstTime = false;\n }\n return {snapshot: []};\n }\n\n const userSeeked =\n !isFirstTime &&\n lastHandledTime !== null &&\n nextTimeToHandle !== null &&\n (lastHandledTime > currentTime ||\n currentTime - nextTimeToHandle > this.reasonableSeekThreshold);\n const hasChangesToHandle =\n isFirstTime ||\n (this.lastHandledTime !== null && this.lastHandledTime > currentTime) ||\n (this.nextTimeToHandle != null && currentTime >= this.nextTimeToHandle);\n const closestChangeIndex = this.findClosestLastIndexByTime(currentTime);\n const closestChangeTime =\n closestChangeIndex < 0\n ? 0\n : this.cuepointChanges[closestChangeIndex].time;\n\n if (!hasChangesToHandle) {\n if (forceSnapshot) {\n return {\n snapshot: this.createCuepointSnapshot(closestChangeIndex, filter),\n };\n }\n\n return {delta: this.createEmptyDelta()};\n }\n\n logger.debug(\n `has changes to handle. check if need to return snapshot instead of delta based on provided new time`,\n {\n method: 'updateTime',\n data: {\n currentTime,\n closestChangeIndex,\n closestChangeTime,\n lastHandledTime,\n nextTimeToHandle,\n isFirstTime,\n },\n }\n );\n\n if (isFirstTime || forceSnapshot || userSeeked) {\n logger.debug(\n `some conditions doesn't allow returning delta, return snapshot instead`,\n {\n method: 'updateTime',\n data: {isFirstTime, userSeeked, forceSnapshot},\n }\n );\n\n const snapshot = this.createCuepointSnapshot(closestChangeIndex, filter);\n this.updateInternals(closestChangeTime, closestChangeIndex);\n\n return {snapshot};\n }\n\n const delta = this.createCuepointDelta(closestChangeIndex, filter);\n this.updateInternals(closestChangeTime, closestChangeIndex);\n\n return {delta};\n }\n\n protected getCurrentCuepointSnapshot(): T[] {\n return this.lastHandledTimeIndex\n ? this.createCuepointSnapshot(this.lastHandledTimeIndex)\n : [];\n }\n\n private createCuepointSnapshot(\n targetIndex: number,\n filter?: (item: T) => boolean\n ): T[] {\n if (\n !this.enabled ||\n targetIndex < 0 ||\n !this.cuepointChanges ||\n this.cuepointChanges.length === 0\n ) {\n logger.debug(`resulted with empty snapshot`, {\n method: 'createCuepointSnapshot',\n data: {\n targetIndex,\n enabled: this.enabled,\n cuepointCount: (this.cuepointChanges || []).length,\n },\n });\n return [];\n }\n\n let snapshot: T[] = [];\n\n for (let index = 0; index <= targetIndex; index++) {\n const item = this.cuepointChanges[index];\n const cuepointIndex = snapshot.indexOf(item.cuePoint);\n if (item.type === ChangeTypes.Show) {\n if (cuepointIndex === -1) {\n snapshot.push(item.cuePoint);\n }\n } else {\n if (cuepointIndex !== -1) {\n snapshot.splice(cuepointIndex, 1);\n }\n }\n }\n\n logger.debug(`resulted snapshot`, {\n method: 'createCuepointSnapshot',\n data: {snapshot},\n });\n\n if (filter) {\n snapshot = snapshot.filter(filter);\n }\n\n return snapshot;\n }\n\n private createCuepointDelta(\n targetIndex: number,\n filter?: (item: T) => boolean\n ): {show: T[]; hide: T[]} {\n if (\n !this.enabled ||\n !this.cuepointChanges ||\n this.cuepointChanges.length === 0\n ) {\n logger.debug(`resulted with empty delta`, {\n method: 'createCuepointDelta',\n data: {\n enabled: this.enabled,\n cuepointCount: (this.cuepointChanges || []).length,\n },\n });\n return this.createEmptyDelta();\n }\n\n const {lastHandledTimeIndex} = this;\n\n if (lastHandledTimeIndex === null) {\n logger.debug(`invalid internal state. resulted with empty delta`, {\n method: 'createCuepointDelta',\n });\n return this.createEmptyDelta();\n }\n\n let newCuepoint: T[] = [];\n let removedCuepoint: T[] = [];\n\n logger.info(`find cuepoint that were added or removed`, {\n method: 'createCuepointDelta',\n });\n for (let index = lastHandledTimeIndex + 1; index <= targetIndex; index++) {\n const item = this.cuepointChanges[index];\n const cuepointIndex = newCuepoint.indexOf(item.cuePoint);\n if (item.type === ChangeTypes.Show) {\n if (cuepointIndex === -1) {\n newCuepoint.push(item.cuePoint);\n }\n } else {\n if (cuepointIndex !== -1) {\n logger.info(\n `cuepoint was marked with type ${item.type} at ${item.time}. remove from new cuepoint list as it wasn't visible yet`,\n {\n method: 'createCuepointDelta',\n data: {cuepoint: item.cuePoint},\n }\n );\n\n newCuepoint.splice(cuepointIndex, 1);\n } else if (removedCuepoint.indexOf(item.cuePoint) === -1) {\n logger.info(\n `cuepoint was marked with type ${item.type} at ${item.time}. add to removed cuepoint list`,\n {\n method: 'createCuepointDelta',\n data: {cuepoint: item.cuePoint},\n }\n );\n removedCuepoint.push(item.cuePoint);\n }\n }\n }\n\n logger.debug(`resulted delta`, {\n method: 'createCuepointDelta',\n data: {\n newCuepoint,\n removedCuepoint,\n },\n });\n\n if (filter) {\n newCuepoint = newCuepoint.filter(filter);\n removedCuepoint = removedCuepoint.filter(filter);\n }\n\n return {show: newCuepoint, hide: removedCuepoint};\n }\n\n private updateInternals(time: number, timeIndex: number) {\n const {cuepointChanges} = this;\n\n if (!cuepointChanges || cuepointChanges.length === 0) {\n return;\n }\n\n const isIndexOfLastChange = timeIndex >= cuepointChanges.length - 1;\n const isIndexBeforeTheFirstChange = timeIndex === null;\n this.lastHandledTime = time;\n this.lastHandledTimeIndex = timeIndex;\n this.nextTimeToHandle = isIndexBeforeTheFirstChange\n ? cuepointChanges[0].time\n : isIndexOfLastChange\n ? cuepointChanges[cuepointChanges.length - 1].time\n : cuepointChanges[timeIndex + 1].time;\n this.isFirstTime = false;\n }\n\n private createEmptyDelta(): {\n show: T[];\n hide: T[];\n } {\n return {show: [], hide: []};\n }\n\n private binarySearch(items: ChangeData<T>[], value: number): number | null {\n if (!items || items.length === 0) {\n // empty array, no index to return\n return null;\n }\n\n if (value < items[0].time) {\n // value less then the first item. return -1\n return -1;\n }\n if (value > items[items.length - 1].time) {\n // value bigger then the last item, return last item index\n return items.length - 1;\n }\n\n let lo = 0;\n let hi = items.length - 1;\n\n while (lo <= hi) {\n const mid = Math.floor((hi + lo + 1) / 2);\n\n if (value < items[mid].time) {\n hi = mid - 1;\n } else if (value > items[mid].time) {\n lo = mid + 1;\n } else {\n return mid;\n }\n }\n\n return Math.min(lo, hi); // return the lowest index which represent the last visual item\n }\n\n private findClosestLastIndexByTime(time: number): number {\n const changes = this.cuepointChanges;\n let closestIndex = this.binarySearch(changes, time);\n\n if (closestIndex === null) {\n return -1;\n }\n\n const changesLength = changes.length;\n while (\n closestIndex < changesLength - 1 &&\n changes[closestIndex + 1].time === time\n ) {\n closestIndex++;\n }\n\n return closestIndex;\n }\n\n private prepareCuepoint() {\n (this._cuepoints || []).forEach(cuepoint => {\n if (\n cuepoint.startTime !== null &&\n typeof cuepoint.startTime !== 'undefined' &&\n cuepoint.startTime >= 0\n ) {\n this.cuepointChanges.push({\n time: cuepoint.startTime,\n type: ChangeTypes.Show,\n cuePoint: cuepoint as T, // NOTICE: it is the responsability of this engine not to return cuepoint without layout\n });\n }\n\n if (\n cuepoint.endTime !== null &&\n typeof cuepoint.endTime !== 'undefined' &&\n cuepoint.endTime >= 0\n ) {\n this.cuepointChanges.push({\n time: cuepoint.endTime,\n type: ChangeTypes.Hide,\n cuePoint: cuepoint as T, // NOTICE: it is the responsability of this engine not to return cuepoint without layout\n });\n }\n });\n\n this.cuepointChanges.sort((a, b) => {\n return a.time < b.time ? -1 : a.time === b.time ? 0 : 1;\n });\n\n logger.debug(`tracking ${this.cuepointChanges.length} changes`, {\n method: 'prepareCuepoint',\n data: {\n changes: this.cuepointChanges,\n },\n });\n }\n}\n","export class PlayerContribRegistry {\n private _cache: Record<string, {instance: any}> = {};\n\n static get(player: any): PlayerContribRegistry {\n player.__contrib__ = player.__contrib__ || {};\n player.__contrib__.services =\n player.__contrib__.services || new PlayerContribRegistry();\n return player.__contrib__.services;\n }\n\n private constructor() {}\n\n public get(token: string): any {\n const result = this._cache[token];\n\n if (!result) {\n throw new Error(`cannot find resource with token ${token}`);\n }\n\n return result;\n }\n\n public register<T>(token: string, creator: () => T): T {\n let requestedResource = this._cache[token];\n\n if (!requestedResource) {\n requestedResource = this._cache[token] = {\n instance: creator(),\n };\n }\n\n return requestedResource.instance;\n }\n}\n","import {UUID} from './uuid';\n\nconst HashSeparatorText = 'HashSeparator';\n\nexport class KalturaLiveServices {\n public static getAnonymousUserId(userId: string): string {\n if (typeof Storage === 'undefined') {\n // No web storage Support, just generate and return a anonymous user id\n return KalturaLiveServices._generateAnonymousUserId(userId);\n }\n\n // Web storage is supported\n let anonymousUserId;\n anonymousUserId = localStorage.getItem('anonymousUserId');\n\n if (!anonymousUserId) {\n anonymousUserId = KalturaLiveServices._generateAnonymousUserId(userId);\n localStorage.setItem('anonymousUserId', anonymousUserId);\n }\n\n return anonymousUserId;\n }\n\n private static _generateAnonymousUserId(userId: string) {\n return `##${userId}${HashSeparatorText}${UUID.numberedUuidV1()}##`;\n }\n}\n","export type Handler<T> = (event: T) => void;\nexport type WildcardHandler = (event: any) => void;\n\nexport interface Event {\n type: string;\n}\n\nexport class EventsManager<T extends Event> {\n private _eventListeners: Record<string, Handler<any>[]> = {};\n private _wildcardEventListeners: WildcardHandler[] = [];\n\n on<TEvent extends Event>(\n type: TEvent['type'],\n handler: Handler<TEvent>\n ): void;\n on(type: '*', handler: WildcardHandler): void;\n on(type: string, handler: any): void {\n if (type === '*') {\n this._wildcardEventListeners.push(handler);\n return;\n }\n\n (this._eventListeners[type] || (this._eventListeners[type] = [])).push(\n handler\n );\n }\n\n off<TEvent extends Event>(\n type: TEvent['type'],\n handler: Handler<TEvent>\n ): void;\n off(type: '*', handler: WildcardHandler): void;\n off(type: string, handler: any): void {\n if (type === '*') {\n this._wildcardEventListeners.splice(\n this._wildcardEventListeners.indexOf(handler) >>> 0,\n 1\n );\n return;\n }\n\n const eventListeners = this._eventListeners[type];\n\n if (!eventListeners) {\n return;\n }\n\n eventListeners.splice(eventListeners.indexOf(handler) >>> 0, 1);\n }\n\n emit(event: T): void {\n (this._eventListeners[event.type] || []).slice().map(handler => {\n handler(event);\n });\n this._wildcardEventListeners.slice().map(handler => {\n handler(event);\n });\n }\n}\n","/**\n * A function that emits a side effect and does not return anything.\n */\ntype Procedure = (...args: any[]) => void;\n\ntype Options = {\n isImmediate: boolean;\n};\n\nexport function debounce<F extends Procedure>(\n func: F,\n waitMilliseconds = 50,\n options: Options = {\n isImmediate: false,\n }\n): F {\n let timeoutId: any;\n\n return function (this: any, ...args: any[]) {\n const doLater = () => {\n timeoutId = undefined;\n if (!options.isImmediate) {\n func.apply(this, args);\n }\n };\n\n const shouldCallNow = options.isImmediate && timeoutId === undefined;\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId);\n }\n\n timeoutId = setTimeout(doLater, waitMilliseconds);\n\n if (shouldCallNow) {\n func.apply(this, args);\n }\n } as any;\n}\n","import {ObjectUtils} from './object-utils';\n\nexport class KalturaPlayerUtils {\n static getPlayerConfig<T>(\n player: KalturaPlayerTypes.Player,\n configPath: string,\n baseConfig: T,\n options: {explicitMerge: string[]}\n ): T {\n const playerContribConfig = ObjectUtils.get(player.config, configPath, {});\n\n return ObjectUtils.mergeDefaults<T>(\n playerContribConfig as any,\n baseConfig,\n options\n );\n }\n}\n","import {ObjectUtils} from './object-utils';\n\nexport class ArrayUtils {\n public static findIndex<T>(\n arr: Array<T>,\n comparator: (item: T) => boolean\n ): number {\n let index = 0;\n while (index < arr.length) {\n if (comparator(arr[index])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n\n public static sortByKey<T>(array: Array<T>, key: string): Array<T> {\n return array.sort((a, b) => {\n const x = ObjectUtils.get(a, key, null);\n const y = ObjectUtils.get(b, key, null);\n return x < y ? -1 : x > y ? 1 : 0;\n });\n }\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n// find the complete implementation of crypto (msCrypto) on IE11.\nvar getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\n\nvar _clockseq; // Previous uuid creation time\n\n\nvar _lastMSecs = 0;\nvar _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || new Array(16);\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n var seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || stringify(b);\n}\n\nexport default v1;","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\n\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nexport default version;","import { KalturaObjectBase } from './kaltura-object-base';\n\n// TODO [kaltura] constructor type should be 'KalturaObjectBase' (currently any to support enum of type string)\nexport type KalturaObjectClass = { new(...args) : any};\nconst typesMapping : { [key : string] : KalturaObjectClass} = {};\n\nexport class KalturaTypesFactory\n{\n\tstatic registerType(typeName : string, objectCtor :KalturaObjectClass) : void\n\t{\n\t\ttypesMapping[typeName] = objectCtor;\n\t}\n\n\tstatic createObject(type : KalturaObjectBase) : KalturaObjectBase;\n\tstatic createObject(typeName : string) : KalturaObjectBase;\n\tstatic createObject(type : any) : KalturaObjectBase\n\t{\n\t\tlet typeName = '';\n\n\t\tif (type instanceof KalturaObjectBase)\n\t\t{\n\t\t\ttypeName = type.getTypeName();\n\t\t}else if(typeof type === 'string')\n\t\t{\n\t\t\ttypeName = type;\n\t\t}\n\n\t\tconst factory : KalturaObjectClass = typeName ? typesMapping[typeName] : null;\n\t\treturn factory ? new factory() : null;\n\t}\n}\n","import { KalturaRequestBase } from '../api/kaltura-request-base';\nimport { KalturaClientOptions } from '../kaltura-client-options';\nimport { KalturaRequestOptions, KalturaRequestOptionsArgs } from '../api/kaltura-request-options';\nimport { KalturaMultiRequest } from '../api/kaltura-multi-request';\nimport { KalturaRequest } from '../api/kaltura-request';\nimport { KalturaFileRequest } from '../api/kaltura-file-request';\nimport { CancelableAction } from '../cancelable-action';\nimport { KalturaAPIException } from '../api/kaltura-api-exception';\nimport { KalturaClientException } from '../api/kaltura-client-exception';\nimport { environment } from '../environment';\n\n\nexport function createEndpoint(request: KalturaRequestBase, options: KalturaClientOptions, service: string, action?: string): string {\n const endpoint = options.endpointUrl;\n const clientTag = createClientTag(request, options);\n let result = `${endpoint}/api_v3/service/${service}`;\n\n if (action) {\n result += `/action/${action}`;\n }\n\n if (clientTag)\n {\n result += `?${buildQuerystring({clientTag})}`;\n }\n return result;\n}\n\nexport function createClientTag(request: KalturaRequestBase, options: KalturaClientOptions)\n{\n const networkTag = (request.getNetworkTag() || \"\").trim();\n const clientTag = (options.clientTag || \"\").trim() || \"ng-app\";\n\n if (networkTag && networkTag.length)\n {\n return `${clientTag}_${networkTag}`;\n }else {\n return clientTag;\n }\n}\n\nexport function buildQuerystring(data: {}, prefix?: string) {\n let str = [], p;\n for (p in data) {\n if (data.hasOwnProperty(p)) {\n let k = prefix ? prefix + \"[\" + p + \"]\" : p, v = data[p];\n str.push((v !== null && typeof v === \"object\") ?\n buildQuerystring(v, k) :\n encodeURIComponent(k) + \"=\" + encodeURIComponent(v));\n }\n }\n return str.join(\"&\");\n\n}\n\nexport function getHeaders(): any {\n return {\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\"\n };\n}\n\nexport function prepareParameters(request: KalturaRequest<any> | KalturaMultiRequest | KalturaFileRequest, options: KalturaClientOptions, defaultRequestOptions: KalturaRequestOptions): any {\n\n return Object.assign(\n {},\n request.buildRequest(defaultRequestOptions),\n {\n\t apiVersion: environment.request.apiVersion,\n format: 1\n }\n );\n}\n\nexport function createCancelableAction<T>(data : { endpoint : string, headers : any, body : any} ) : CancelableAction<T> {\n\tconst result = new CancelableAction<T>((resolve, reject) => {\n\t\tconst xhr = new XMLHttpRequest();\n\t\tlet isComplete = false;\n\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState === 4) {\n\t\t\t\tif (isComplete) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tisComplete = true;\n\n\t\t\t\tlet resp;\n\n\t\t\t\ttry {\n\t\t\t\t\tif (xhr.status === 200) {\n\t\t\t\t\t\tresp = JSON.parse(xhr.response);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresp = new KalturaClientException('client::requre-failure', xhr.responseText || 'failed to transmit request');\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tresp = new Error(xhr.responseText);\n\t\t\t\t}\n\n\t\t\t\tif (resp instanceof Error || resp instanceof KalturaAPIException) {\n\t\t\t\t\treject(resp);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(resp);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\txhr.open('POST', data.endpoint);\n\n\t\tif (data.headers) {\n\t\t\tObject.keys(data.headers).forEach(headerKey => {\n\t\t\t\tconst headerValue = data.headers[headerKey];\n\t\t\t\txhr.setRequestHeader(headerKey, headerValue);\n\t\t\t});\n\t\t}\n\n\t\txhr.send(JSON.stringify(data.body));\n\n\t\treturn () => {\n\t\t\tif (!isComplete) {\n\t\t\t\tisComplete = true;\n\t\t\t\txhr.abort();\n\t\t\t}\n\t\t};\n\t});\n\n\treturn result;\n}\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return '@media ' + item[2] + '{' + content + '}';\n } else {\n return content;\n }\n }).join('');\n }; // import a list of modules into the list\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (i = 0; i < modules.length; i++) {\n var item = modules[i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = '(' + item[2] + ') and (' + mediaQuery + ')';\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || '';\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */';\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n return '/*# ' + data + ' */';\n}","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n if (parent){\n return parent.querySelector(target);\n }\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertAt.before, target);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\tif(options.attrs.nonce === undefined) {\n\t\tvar nonce = getNonce();\n\t\tif (nonce) {\n\t\t\toptions.attrs.nonce = nonce;\n\t\t}\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction getNonce() {\n\tif (typeof __webpack_nonce__ === 'undefined') {\n\t\treturn null;\n\t}\n\n\treturn __webpack_nonce__;\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = typeof options.transform === 'function'\n\t\t ? options.transform(obj.css) \n\t\t : options.transform.default(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@playkit-js-contrib/common\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"ui\", [\"@playkit-js-contrib/common\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ui\"] = factory(require(\"@playkit-js-contrib/common\"));\n\telse\n\t\troot[\"playkit\"] = root[\"playkit\"] || {}, root[\"playkit\"][\"contrib\"] = root[\"playkit\"][\"contrib\"] || {}, root[\"playkit\"][\"contrib\"][\"ui\"] = factory(root[\"@playkit-js-contrib/common\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__2__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 37);\n","module.exports = KalturaPlayer.ui.preact;","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\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 index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\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\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\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\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== 'string') {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), \"\\\"\");\n }\n\n return url;\n};","import {KalturaPlayerUtils} from '@playkit-js-contrib/common';\n\nexport function getContribConfig<T>(\n player: KalturaPlayerTypes.Player,\n path: string,\n baseConfig: T,\n options?: {explicitMerge: string[]}\n): T {\n return KalturaPlayerUtils.getPlayerConfig(\n player,\n `contrib.${path}`,\n baseConfig,\n options\n );\n}\n","export * from './managed-component';\n","import PlayerConfig = KalturaPlayerTypes.PlayerConfig;\nimport {getContribLogger, ObjectUtils} from '@playkit-js-contrib/common';\nimport ContribPresetAreasMapping = KalturaPlayerContribTypes.ContribPresetAreasMapping;\n\nexport interface GroupPresetAreasOptions {\n presetAreasMapping: KalturaPlayerContribTypes.ContribPresetAreasMapping;\n acceptableTypes: string[];\n}\n\nconst logger = getContribLogger({\n module: 'contrib-ui',\n class: 'PresetsUtils',\n});\n\nexport class PresetsUtils {\n public static groupPresetAreasByType(\n options: GroupPresetAreasOptions\n ): ContribPresetAreasMapping {\n const {presetAreasMapping, acceptableTypes} = options;\n\n const result = {};\n acceptableTypes.forEach(presetType => (result[presetType] = {}));\n Object.keys(presetAreasMapping).forEach(presetName => {\n Object.keys(presetAreasMapping[presetName]).forEach(presetType => {\n if (acceptableTypes.indexOf(presetType) === -1) {\n logger.warn(\n `Unknown preset area type '${presetType}' provided, ignoring specific type mapping. Acceptable values are '${acceptableTypes.join(\n ', '\n )}`,\n {}\n );\n } else {\n result[presetType][presetName] =\n presetAreasMapping[presetName][presetType];\n }\n });\n });\n return result;\n }\n}\n","import {ComponentChild, Ref} from 'preact';\nimport {PlayerSize, VideoSize} from './common.types';\n\nexport enum FloatingUIModes {\n MediaLoaded = 'MediaLoaded',\n OnDemand = 'OnDemand',\n Immediate = 'Immediate',\n FirstPlay = 'FirstPlay',\n}\n\nexport enum FloatingPositions {\n VideoArea = 'VideoArea',\n PresetArea = 'PresetArea',\n InteractiveArea = 'InteractiveArea',\n}\n\nexport interface FloatingItemData {\n label: string;\n mode: FloatingUIModes;\n renderContent: (floatingItemProps: FloatingItemProps) => ComponentChild;\n className?: string;\n position: FloatingPositions;\n}\n\nexport interface FloatingItemProps {\n currentTime: number;\n canvas: {\n playerSize: PlayerSize;\n videoSize: VideoSize;\n };\n}\n","import {ComponentChild, JSX} from 'preact';\nimport {KitchenSinkAdapter} from './components/kitchen-sink-adapter';\n\nexport interface KitchenSinkContentRendererProps {\n onClose: () => void;\n}\n\nexport enum KitchenSinkExpandModes {\n AlongSideTheVideo = 'alongside',\n Hidden = 'hidden',\n OverTheVideo = 'over',\n}\n\nexport enum KitchenSinkPositions {\n Top = 'top',\n Left = 'left',\n Right = 'right',\n Bottom = 'bottom',\n}\n\nexport interface KitchenSinkItemData {\n label: string;\n renderIcon: (isActive: boolean) => ComponentChild | JSX.Element;\n expandMode: KitchenSinkExpandModes;\n position: KitchenSinkPositions;\n fillContainer?: boolean;\n renderContent: (props: KitchenSinkContentRendererProps) => ComponentChild;\n}\n","import {PlayerSize, VideoSize} from './common.types';\n\nexport function getPlayerSize(\n kalturaPlayer: KalturaPlayerTypes.Player\n): PlayerSize {\n return kalturaPlayer ? kalturaPlayer.dimensions : {width: 0, height: 0};\n}\n\nexport function getVideoSize(\n kalturaPlayer: KalturaPlayerTypes.Player\n): VideoSize {\n if (!kalturaPlayer) {\n return {width: 0, height: 0};\n }\n\n const videoTrack = kalturaPlayer.getActiveTracks().video;\n\n if (\n !videoTrack ||\n videoTrack.width === undefined ||\n videoTrack.height === undefined\n ) {\n // fallback - mainly for Safari\n if (kalturaPlayer.getVideoElement()) {\n return {\n width: kalturaPlayer.getVideoElement().videoWidth,\n height: kalturaPlayer.getVideoElement().videoHeight,\n };\n }\n return {width: 0, height: 0};\n }\n\n return {\n width: videoTrack.width,\n height: videoTrack.height,\n };\n}\n","import {UUID} from '@playkit-js-contrib/common';\nimport {FloatingManager} from './floating-manager';\nimport {FloatingPositions, FloatingUIModes} from './floating-item-data';\nimport {FloatingItem} from './floating-item';\nimport {ToastProps} from './components/toast/toast';\nimport {ToastsContainer} from './components/toasts-container';\nimport {h} from 'preact';\n\nexport interface ToastManagerOptions {\n floatingManager: FloatingManager;\n}\n\nexport enum ToastSeverity {\n Info = 'Info',\n Success = 'Success',\n Warn = 'Warn',\n Error = 'Error',\n}\n\nexport interface ToastItemData {\n title: string;\n text: string;\n icon: any;\n severity: ToastSeverity;\n duration: number;\n onClick: () => void;\n}\n\ninterface ManagedToasts {\n timerSubscription: any;\n duration: number;\n toastProps: ToastProps;\n}\n\nexport class ToastManager {\n private _options: ToastManagerOptions;\n private _toasts: ManagedToasts[] = [];\n private _floatingItem: FloatingItem | null = null;\n\n constructor(private options: ToastManagerOptions) {\n this._options = options;\n }\n\n add(data: ToastItemData): void {\n const {duration, ...props} = data;\n if (!this._floatingItem) this._addToastsContainer();\n const managedToast = {\n toastProps: {\n ...props,\n id: UUID.uuidV1(),\n onClose: this._remove,\n },\n duration: duration,\n timerSubscription: null,\n };\n this._toasts.push(managedToast);\n this._updateToastsUI();\n this._startDurationTimer(managedToast);\n }\n\n reset(): void {\n this._toasts.forEach(managedToast => {\n this._remove(managedToast.toastProps.id);\n });\n }\n\n private _startDurationTimer(managedToast: ManagedToasts): void {\n managedToast.timerSubscription = setTimeout(() => {\n this._remove(managedToast.toastProps.id);\n }, managedToast.duration);\n }\n\n private _remove = (id: string): void => {\n const index = this._findToastIndexById(id);\n if (index === -1) return;\n\n clearTimeout(this._toasts[index].timerSubscription);\n this._toasts.splice(index, 1);\n this._updateToastsUI();\n if (this._toasts.length === 0) this._removeToastsContainer();\n };\n\n private _addToastsContainer(): void {\n this._floatingItem = this._options.floatingManager.add({\n label: 'Toasts',\n mode: FloatingUIModes.Immediate,\n position: FloatingPositions.InteractiveArea,\n renderContent: () => {\n return (\n <ToastsContainer\n toasts={this._toasts.map(toast => {\n return toast.toastProps;\n })}\n />\n );\n },\n });\n }\n\n private _removeToastsContainer(): void {\n if (!this._floatingItem) return;\n\n this._options.floatingManager.remove(this._floatingItem);\n this._floatingItem = null;\n }\n\n private _updateToastsUI(): void {\n if (this._floatingItem) this._floatingItem.update();\n }\n\n private _findToastIndexById(id: string): number {\n let index = 0;\n while (index < this._toasts.length) {\n if (this._toasts[index].toastProps.id === id) {\n return index;\n }\n index++;\n }\n return -1;\n }\n}\n","import {h} from 'preact';\nimport {ContribLogger, getContribLogger} from '@playkit-js-contrib/common';\nimport {\n FloatingItemData,\n FloatingItemProps,\n FloatingUIModes,\n} from './floating-item-data';\nimport {ManagedComponent} from './components/managed-component';\n\nexport interface FloatingItemOptions {\n kalturaPlayer: KalturaPlayerTypes.Player;\n data: FloatingItemData;\n}\n\nexport class FloatingItem {\n private _destroyed = false;\n private _options: FloatingItemOptions;\n private _isShown = false;\n private _componentRef: ManagedComponent | null = null;\n private _logger: ContribLogger;\n\n constructor(options: FloatingItemOptions) {\n this._options = options;\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'FloatingItem',\n context: options.data.label,\n });\n this._logger.debug('executed', {\n method: 'constructor',\n data: {\n options,\n },\n });\n this._logger.info(`created item ${options.data.label}`, {\n method: 'constructor',\n });\n\n this._addPlayerBindings();\n }\n\n get data(): FloatingItemData {\n return this._options.data;\n }\n\n remove = (): void => {\n this._logger.info('remove item from player', {\n method: 'remove',\n });\n this._isShown = false;\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.update();\n };\n\n add = (): void => {\n this._logger.info('add item to player', {\n method: 'add',\n });\n this._isShown = true;\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.update();\n };\n\n public update() {\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.update();\n }\n\n /**\n * destory the ui item\n */\n destroy(): void {\n this._logger.info('destroy item', {\n method: 'destroy',\n });\n this._destroyed = true;\n this.remove();\n }\n\n renderFloatingChild(props: FloatingItemProps) {\n const {label} = this._options.data;\n\n return (\n <ManagedComponent\n label={label}\n renderChildren={() => this._options.data.renderContent(props)}\n isShown={() => this._isShown}\n ref={ref => (this._componentRef = ref)}\n />\n );\n }\n\n private _handleMediaLoaded = () => {\n const {kalturaPlayer} = this._options;\n kalturaPlayer.removeEventListener(\n kalturaPlayer.Event.MEDIA_LOADED,\n this._handleMediaLoaded\n );\n this.add();\n };\n\n private _handleFirstPlay = () => {\n const {kalturaPlayer} = this._options;\n kalturaPlayer.removeEventListener(\n kalturaPlayer.Event.FIRST_PLAY,\n this._handleFirstPlay\n );\n this.add();\n };\n\n private _addPlayerBindings() {\n const {kalturaPlayer, data} = this._options;\n\n if (data.mode === FloatingUIModes.MediaLoaded) {\n kalturaPlayer.addEventListener(\n kalturaPlayer.Event.MEDIA_LOADED,\n this._handleMediaLoaded\n );\n }\n\n if (data.mode === FloatingUIModes.FirstPlay) {\n kalturaPlayer.addEventListener(\n kalturaPlayer.Event.FIRST_PLAY,\n this._handleFirstPlay\n );\n }\n\n if (data.mode === FloatingUIModes.Immediate) {\n this.add();\n }\n }\n}\n","import {h} from 'preact';\nimport {PresetItemData, ReservedPresetNames} from './preset-item-data';\nimport {KalturaPlayerPresetComponent, PresetItem} from './preset-item';\nimport {EventsManager, ObjectUtils} from '@playkit-js-contrib/common';\nimport {UIPlayerAdapter} from './components/ui-player-adapter';\nimport PresetConfig = KalturaPlayerContribTypes.PresetConfig;\nimport {PresetsUtils} from './presets-utils';\nimport {getContribConfig} from './contrib-utils';\n\nexport interface PresetManagerOptions {\n kalturaPlayer: KalturaPlayerTypes.Player;\n}\n\nexport enum PresetManagerEventTypes {\n PresetResizeEvent = 'PresetResizeEvent',\n VideoResizeEvent = 'VideoResizeEvent',\n}\n\nexport interface PresetResizeEvent {\n type: PresetManagerEventTypes.PresetResizeEvent;\n}\n\nexport interface VideoResizeEvent {\n type: PresetManagerEventTypes.VideoResizeEvent;\n}\n\nexport type PresetManagerEvents = PresetResizeEvent | VideoResizeEvent;\n\nconst acceptableTypes = ['PlayerArea'];\n\nconst defaultPresetConfig: PresetConfig = {\n presetAreasMapping: {\n Playback: {\n PlayerArea: 'PlayerArea',\n },\n Live: {\n PlayerArea: 'PlayerArea',\n },\n },\n};\n\nexport class PresetManager {\n private _events: EventsManager<PresetManagerEvents> = new EventsManager<\n PresetManagerEvents\n >();\n private _isLocked = false;\n private _options: PresetManagerOptions;\n private _items: PresetItem[] = [];\n private _pendingItems: PresetItem[] = [];\n private _presetConfig: PresetConfig;\n\n constructor(options: PresetManagerOptions) {\n this._options = options;\n\n this._presetConfig = getContribConfig(\n this._options.kalturaPlayer,\n 'ui.preset',\n defaultPresetConfig,\n {\n explicitMerge: ['presetAreasMapping'],\n }\n );\n\n const groupedPresets = PresetsUtils.groupPresetAreasByType({\n presetAreasMapping: this._presetConfig.presetAreasMapping,\n acceptableTypes,\n });\n\n this.add({\n label: 'preset-manager',\n presetAreas: groupedPresets['PlayerArea'],\n renderChild: () => (\n <UIPlayerAdapter\n onMount={this._registerToPlayer}\n onUnmount={this._unregisterToPlayer}\n />\n ),\n });\n }\n\n private _registerToPlayer = (player: KalturaPlayerTypes.Player) => {\n // player.addEventListener(\n // KalturaPlayer.ui.EventType.UI_PRESET_CHANGE,\n // this._notifyPresetChanged\n // );\n\n player.addEventListener(\n KalturaPlayer.ui.EventType.UI_PRESET_RESIZE,\n this._notifyUIPresetResize\n );\n\n player.addEventListener(\n KalturaPlayer.ui.EventType.VIDEO_RESIZE,\n this._notifyVideoResize\n );\n };\n\n // private _notifyPresetChanged = () => {\n // // TODO implement\n // console.log(`sakal preset-manager: _notifyPresetChanged`);\n // };\n //\n private _notifyVideoResize = () => {\n this._events.emit({\n type: PresetManagerEventTypes.VideoResizeEvent,\n });\n };\n\n private _notifyUIPresetResize = () => {\n this._events.emit({\n type: PresetManagerEventTypes.PresetResizeEvent,\n });\n };\n\n private _unregisterToPlayer = (player: KalturaPlayerTypes.Player) => {\n // player.removeEventListener(\n // KalturaPlayer.ui.EventType.UI_PRESET_CHANGE,\n // this._notifyPresetChanged\n // );\n\n player.removeEventListener(\n KalturaPlayer.ui.EventType.UI_PRESET_RESIZE,\n this._notifyUIPresetResize\n );\n\n player.removeEventListener(\n KalturaPlayer.ui.EventType.VIDEO_RESIZE,\n this._notifyVideoResize\n );\n };\n\n on: EventsManager<PresetManagerEvents>['on'] = this._events.on.bind(\n this._events\n );\n off: EventsManager<PresetManagerEvents>['off'] = this._events.off.bind(\n this._events\n );\n\n add<TProps>(data: PresetItemData): void {\n if (this._isLocked) {\n console.warn(\n `cannot add new preset items once player completed its' setup phase`\n );\n return null;\n }\n const component = new PresetItem({\n kalturaPlayer: this._options.kalturaPlayer,\n data,\n });\n\n this._pendingItems.push(component);\n }\n\n lockManager(): void {\n this._isLocked = true;\n }\n\n registerComponents(): KalturaPlayerPresetComponent[] {\n let configs: KalturaPlayerPresetComponent[] = [];\n this._pendingItems.forEach(item => {\n configs = [...configs, ...item.playerConfig];\n });\n this._items = [...this._items, ...this._pendingItems];\n this._pendingItems = [];\n return configs.filter(Boolean) as KalturaPlayerPresetComponent[];\n }\n}\n","import {ComponentChild} from 'preact';\n\nexport enum ReservedPresetNames {\n Playback = 'Playback',\n Live = 'Live',\n}\n\nexport enum ReservedPresetAreas {\n 'PresetFloating' = 'PresetFloating',\n 'BottomBarLeftControls' = 'BottomBarLeftControls',\n 'BottomBarRightControls' = 'BottomBarRightControls',\n 'TopBarLeftControls' = 'TopBarLeftControls',\n 'TopBarRightControls' = 'TopBarRightControls',\n 'SidePanelTop' = 'SidePanelTop',\n 'SidePanelLeft' = 'SidePanelLeft',\n 'SidePanelRight' = 'SidePanelRight',\n 'SidePanelBottom' = 'SidePanelBottom',\n 'PresetArea' = 'PresetArea',\n 'InteractiveArea' = 'InteractiveArea',\n 'PlayerArea' = 'PlayerArea',\n 'VideoArea' = 'VideoArea',\n}\n\nexport enum RelativeToTypes {\n Before = 'Before',\n After = 'After',\n Replace = 'Replace',\n}\n\nexport interface PresetItemData {\n label: string;\n fillContainer?: boolean;\n isolateComponent?: boolean;\n presetAreas: Record<\n ReservedPresetNames | string,\n ReservedPresetAreas | string\n >;\n renderChild: () => ComponentChild;\n relativeTo?: {\n type: RelativeToTypes;\n name: string;\n };\n}\n","import {h, ComponentChild} from 'preact';\nimport {UpperBarItemData} from './upper-bar-item-data';\nimport {ContribLogger} from '@playkit-js-contrib/common';\nimport {getContribLogger} from '@playkit-js-contrib/common';\n\nexport interface UpperBarItemOptions {\n data: UpperBarItemData;\n}\n\nexport interface UpperBarItemProps {}\n\nexport class UpperBarItem {\n public _options: UpperBarItemOptions;\n private _logger: ContribLogger;\n\n constructor(options: UpperBarItemOptions) {\n this._options = options;\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'PresetItem',\n context: options.data.label,\n });\n this._logger.debug('executed', {\n method: 'constructor',\n data: {\n options,\n },\n });\n this._logger.info(`created item ${options.data.label}`, {\n method: 'constructor',\n });\n }\n\n public renderChild = (props: UpperBarItemProps): ComponentChild => {\n const {onClick, renderItem, label} = this._options.data;\n const children = renderItem(props);\n\n return (\n <div onClick={onClick} className={'upper-bar-icon'}>\n {children}\n </div>\n );\n };\n}\n","export * from './popover';\n","import {ComponentChild, h} from 'preact';\nimport {\n ContribLogger,\n getContribLogger,\n EventsManager,\n} from '@playkit-js-contrib/common';\nimport {KitchenSinkItemData} from './kitchen-sink-item-data';\nimport {ManagedComponent} from './components/managed-component';\nimport {\n ItemActiveStateChangeEvent,\n KitchenSinkEvents,\n KitchenSinkEventTypes,\n} from './kitchen-sink-manager';\nimport {KitchenSink} from './components/kitchen-sink';\n\nexport interface KitchenSinkItemOptions {\n data: KitchenSinkItemData;\n isActive: (item: KitchenSinkItem) => boolean;\n activate: (item: KitchenSinkItem) => void;\n deactivate: (item: KitchenSinkItem) => void;\n eventManager: EventsManager<KitchenSinkEvents>;\n kitchenSinkConfig: KalturaPlayerContribTypes.KitchenSinkConfig;\n}\n\nexport interface KitchenSinkItemRenderProps {\n onClose: () => void;\n}\n\nexport class KitchenSinkItem {\n private _options: KitchenSinkItemOptions;\n private _componentRef: ManagedComponent | null = null;\n private _logger: ContribLogger;\n private _destroyed = false;\n\n constructor(options: KitchenSinkItemOptions) {\n this._options = options;\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'KitchenSinkItem',\n context: options && options.data && options.data.label,\n });\n this._logger.debug('executed', {\n method: 'constructor',\n data: {\n options,\n },\n });\n\n this._logger.info(`created item ${options.data.label}`, {\n method: 'constructor',\n });\n\n this._options.eventManager.on(\n KitchenSinkEventTypes.ItemActiveStateChangeEvent,\n this._activationStateChange\n );\n }\n\n get data() {\n if (this._isDestroyed()) {\n return;\n }\n return this._options.data;\n }\n\n get displayName() {\n if (this._isDestroyed()) {\n return;\n }\n return this._options.data.label;\n }\n\n public update() {\n if (this._isDestroyed()) {\n return;\n }\n\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.update();\n }\n\n public isActive(): boolean {\n if (this._isDestroyed()) {\n return;\n }\n\n return this._options.isActive(this);\n }\n\n public activate(): void {\n if (this._isDestroyed()) {\n return;\n }\n\n this._options.activate(this);\n }\n\n private _activationStateChange = ({item}: ItemActiveStateChangeEvent) => {\n // handle only if relevant to this item\n if (this === item) {\n this.update();\n }\n };\n\n public deactivate(): void {\n if (this._isDestroyed()) {\n return;\n }\n\n this._options.deactivate(this);\n }\n\n public _destroy(): void {\n if (this._isDestroyed()) {\n return;\n }\n\n this._options.eventManager.off(\n KitchenSinkEventTypes.ItemActiveStateChangeEvent,\n this._activationStateChange\n );\n this.update();\n this._componentRef = null;\n this._options = null;\n this._destroyed = true;\n }\n\n public renderContentChild = (\n props: KitchenSinkItemRenderProps\n ): ComponentChild => {\n if (this._isDestroyed()) {\n return;\n }\n\n const {renderContent, label} = this._options.data;\n const {kitchenSinkConfig} = this._options;\n\n return (\n <ManagedComponent\n label={label}\n fillContainer={false}\n renderChildren={() => (\n <KitchenSink\n children={renderContent(props)}\n isActive={this.isActive()}\n kitchenSinkConfig={kitchenSinkConfig}\n />\n )}\n isShown={() => !this._destroyed}\n ref={ref => (this._componentRef = ref)}\n />\n );\n };\n\n private _isDestroyed(): boolean {\n if (this._destroyed) {\n this._logger.warn(\n `can't perform requested call, item was marked as destroyed`,\n {}\n );\n return true;\n }\n return false;\n }\n}\n","import {ComponentChild, h} from 'preact';\nimport {\n KitchenSinkExpandModes,\n KitchenSinkItemData,\n KitchenSinkPositions,\n} from './kitchen-sink-item-data';\nimport {KitchenSinkItem, KitchenSinkItemRenderProps} from './kitchen-sink-item';\nimport {UpperBarManager} from './upper-bar-manager';\nimport {PresetManager} from './preset-manager';\nimport {\n ArrayUtils,\n EventsManager,\n ObjectUtils,\n} from '@playkit-js-contrib/common';\nimport {KitchenSinkContainer} from './components/kitchen-sink-container/kitchen-sink-container';\nimport {KitchenSinkAdapter} from './components/kitchen-sink-adapter';\nimport {ManagedComponent} from './components/managed-component';\nimport {UpperBarItem} from './upper-bar-item';\nimport {PresetsUtils} from './presets-utils';\nimport {getContribConfig} from './contrib-utils';\n\nexport interface KitchenSinkManagerOptions {\n kalturaPlayer: KalturaPlayerTypes.Player;\n presetManager: PresetManager;\n upperBarManager: UpperBarManager;\n}\n\nconst acceptableTypes = ['PlayerArea', 'SidePanelRight', 'SidePanelBottom'];\n\nexport enum ItemActiveStates {\n Active = 'Active',\n InActive = 'InActive',\n}\n\nexport enum KitchenSinkEventTypes {\n ItemActiveStateChangeEvent = 'ItemActiveStateChangeEvent',\n}\n\nexport interface ItemActiveStateChangeEvent {\n type: KitchenSinkEventTypes.ItemActiveStateChangeEvent;\n state: ItemActiveStates;\n item: KitchenSinkItem;\n}\n\nexport type KitchenSinkEvents = ItemActiveStateChangeEvent;\n\ninterface KitchenSinkPanel {\n ref: ManagedComponent | null;\n items: {\n kitchenSinkItem: KitchenSinkItem;\n upperBarItem: UpperBarItem;\n }[];\n activeItem: KitchenSinkItem | null;\n}\n\nconst defaultKitchenSinkConfig: KalturaPlayerContribTypes.KitchenSinkConfig = {\n theme: {\n backgroundColor: 'rgba(0, 0, 0, .7)',\n blur: '10px',\n },\n presetAreasMapping: {\n Playback: {\n PlayerArea: 'PlayerArea',\n SidePanelRight: 'SidePanelRight',\n SidePanelBottom: 'SidePanelBottom',\n },\n Live: {\n PlayerArea: 'PlayerArea',\n SidePanelRight: 'SidePanelRight',\n SidePanelBottom: 'SidePanelBottom',\n },\n },\n};\n\nexport class KitchenSinkManager {\n private _events: EventsManager<KitchenSinkEvents> = new EventsManager<\n KitchenSinkEvents\n >();\n\n private _panels: Record<KitchenSinkPositions, KitchenSinkPanel> = {\n [KitchenSinkPositions.Bottom]: {ref: null, items: [], activeItem: null},\n [KitchenSinkPositions.Right]: {ref: null, items: [], activeItem: null},\n [KitchenSinkPositions.Top]: {ref: null, items: [], activeItem: null},\n [KitchenSinkPositions.Left]: {ref: null, items: [], activeItem: null},\n };\n\n private _options: KitchenSinkManagerOptions;\n private _kitchenSinkAdapterRef: KitchenSinkAdapter | null = null;\n private _kitchenSinkConfig: KalturaPlayerContribTypes.KitchenSinkConfig;\n\n on: EventsManager<KitchenSinkEvents>['on'] = this._events.on.bind(\n this._events\n );\n off: EventsManager<KitchenSinkEvents>['off'] = this._events.off.bind(\n this._events\n );\n\n constructor(private options: KitchenSinkManagerOptions) {\n this._options = options;\n\n this._kitchenSinkConfig = getContribConfig(\n this._options.kalturaPlayer,\n 'ui.kitchenSink',\n defaultKitchenSinkConfig,\n {\n explicitMerge: ['presetAreasMapping'],\n }\n );\n\n const groupedPresets = PresetsUtils.groupPresetAreasByType({\n presetAreasMapping: this._kitchenSinkConfig.presetAreasMapping,\n acceptableTypes,\n });\n\n this.options.presetManager.add({\n label: 'kitchen-sink-right',\n fillContainer: true,\n presetAreas: groupedPresets['SidePanelRight'],\n renderChild: this._renderChild.bind(this, KitchenSinkPositions.Right),\n });\n\n this.options.presetManager.add({\n label: 'kitchen-sink-bottom',\n fillContainer: true,\n presetAreas: groupedPresets['SidePanelBottom'],\n renderChild: this._renderChild.bind(this, KitchenSinkPositions.Bottom),\n });\n\n this.options.presetManager.add({\n label: 'kitchen-sink-adapter',\n presetAreas: groupedPresets['PlayerArea'],\n renderChild: () => <KitchenSinkAdapter ref={this._setRef} />,\n });\n }\n\n /**\n * initialize new upper bar item\n * @param item\n */\n add(data: KitchenSinkItemData): KitchenSinkItem {\n const itemOptions = {\n data,\n isActive: this._isActive,\n activate: this._activateItem,\n deactivate: this._deactivateItem,\n eventManager: this._events,\n kitchenSinkConfig: this._kitchenSinkConfig,\n };\n\n const relevantPanel = this._panels[data.position];\n const kitchenSinkItem = new KitchenSinkItem(itemOptions);\n const upperBarItem = this.options.upperBarManager.add({\n label: data.label,\n renderItem: () => data.renderIcon(itemOptions.isActive(kitchenSinkItem)),\n onClick: () => {\n this._toggle(kitchenSinkItem);\n this.options.upperBarManager.update();\n },\n });\n relevantPanel.items.push({\n kitchenSinkItem,\n upperBarItem,\n });\n if (relevantPanel.ref) {\n relevantPanel.ref.update();\n }\n\n return kitchenSinkItem;\n }\n\n remove(item: KitchenSinkItem): void {\n const relevantPanel = this._panels[item.data.position];\n const itemsIndex = ArrayUtils.findIndex(\n relevantPanel.items,\n ({kitchenSinkItem}) => {\n return item === kitchenSinkItem;\n }\n );\n\n if (itemsIndex === -1) return;\n\n this._deactivateItem(item);\n const {upperBarItem} = relevantPanel.items[itemsIndex];\n item._destroy();\n this.options.upperBarManager.remove(upperBarItem);\n relevantPanel.items.splice(itemsIndex, 1);\n\n if (relevantPanel.ref) {\n relevantPanel.ref.update();\n }\n }\n\n private _toggle = (item: KitchenSinkItem): void => {\n if (this._isActive(item)) {\n this._deactivateItem(item);\n } else {\n this._activateItem(item);\n }\n };\n\n private _activateItem = (item: KitchenSinkItem): void => {\n const {position, expandMode} = item.data;\n const relevantPanel = this._panels[position];\n // trying to activate an already active item\n if (relevantPanel.activeItem === item) return;\n // switch between items if currently there is an active one (without collapsing / expanding KS)\n if (relevantPanel.activeItem) {\n //trigger item de-activation event\n this._events.emit({\n type: KitchenSinkEventTypes.ItemActiveStateChangeEvent,\n state: ItemActiveStates.InActive,\n item: relevantPanel.activeItem,\n });\n }\n //update new item as active\n relevantPanel.activeItem = item;\n //trigger new item activation event\n this._events.emit({\n type: KitchenSinkEventTypes.ItemActiveStateChangeEvent,\n state: ItemActiveStates.Active,\n item: item,\n });\n //expand kitchenSink component (won't do anything if already expanded)\n this._expand(position, expandMode);\n };\n\n private _deactivateItem = (item: KitchenSinkItem): void => {\n const {position} = item.data;\n const relevantPanel = this._panels[position];\n\n //item is not active\n if (relevantPanel.activeItem !== item) return;\n //collapse kitchenSink component\n this._collapse(position);\n //trigger item de-activation event\n this._events.emit({\n type: KitchenSinkEventTypes.ItemActiveStateChangeEvent,\n state: ItemActiveStates.InActive,\n item: relevantPanel.activeItem,\n });\n //remove item from _activeItems\n relevantPanel.activeItem = null;\n };\n\n private _isActive = (item: KitchenSinkItem): boolean => {\n return this._panels[item.data.position].activeItem === item;\n };\n\n private _expand = (\n position: KitchenSinkPositions,\n expandMode: KitchenSinkExpandModes\n ): void => {\n if (!this._kitchenSinkAdapterRef) {\n return;\n }\n\n this._kitchenSinkAdapterRef.expand(position, expandMode);\n };\n\n private _collapse(position: KitchenSinkPositions): void {\n if (!this._kitchenSinkAdapterRef) {\n return;\n }\n\n this._kitchenSinkAdapterRef.collapse(position);\n }\n\n private _renderKitchenSink(position: KitchenSinkPositions) {\n const items = this._panels[position].items.map(({kitchenSinkItem}) => {\n const itemProps: KitchenSinkItemRenderProps = {\n onClose: this._deactivateItem.bind(this, kitchenSinkItem),\n };\n return kitchenSinkItem.renderContentChild(itemProps);\n });\n return <KitchenSinkContainer>{items}</KitchenSinkContainer>;\n }\n\n private _renderChild = (position: KitchenSinkPositions): ComponentChild => {\n return (\n <ManagedComponent\n label={'kitchen-sink-manager'}\n renderChildren={() => this._renderKitchenSink(position)}\n isShown={() => true}\n ref={ref => (this._panels[position].ref = ref)}\n />\n );\n };\n\n private _setRef = (ref: KitchenSinkAdapter | null) => {\n this._kitchenSinkAdapterRef = ref ? ref : null;\n };\n\n /**\n * remove all ui manager items\n */\n reset(): void {\n const allItems = [\n ...this._panels[KitchenSinkPositions.Bottom].items,\n ...this._panels[KitchenSinkPositions.Left].items,\n ...this._panels[KitchenSinkPositions.Top].items,\n ...this._panels[KitchenSinkPositions.Right].items,\n ];\n allItems.forEach(({kitchenSinkItem}) => {\n this.remove(kitchenSinkItem);\n });\n }\n}\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n // Only Node.JS has a process variable that is of [[Class]] process\n if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n } else if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n utils.forEach(['url', 'method', 'params', 'data'], function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n\n utils.forEach(['headers', 'auth', 'proxy'], function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n utils.forEach([\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength',\n 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken',\n 'socketPath'\n ], function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","export interface ScaleCalculation {\n width: number;\n height: number;\n left: number;\n top: number;\n scaleToTargetWidth: boolean;\n}\n\nexport function scaleVideo(\n videoWidth: number,\n videoHeight: number,\n playerWidth: number,\n playerHeight: number,\n fLetterBox: boolean\n): ScaleCalculation {\n const result: ScaleCalculation = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n scaleToTargetWidth: true,\n };\n\n if (\n videoWidth <= 0 ||\n videoHeight <= 0 ||\n playerWidth <= 0 ||\n playerHeight <= 0\n ) {\n return result;\n }\n\n // scale to the target width\n const scaleX1 = playerWidth;\n const scaleY1 = (videoHeight * playerWidth) / videoWidth;\n\n // scale to the target height\n const scaleX2 = (videoWidth * playerHeight) / videoHeight;\n const scaleY2 = playerHeight;\n\n // now figure out which one we should use\n let fScaleOnWidth = scaleX2 > playerWidth;\n if (fScaleOnWidth) {\n fScaleOnWidth = fLetterBox;\n } else {\n fScaleOnWidth = !fLetterBox;\n }\n\n if (fScaleOnWidth) {\n result.width = Math.abs(scaleX1);\n result.height = Math.abs(scaleY1);\n result.scaleToTargetWidth = true;\n } else {\n result.width = Math.abs(scaleX2);\n result.height = Math.abs(scaleY2);\n result.scaleToTargetWidth = false;\n }\n result.left = Math.abs((playerWidth - result.width) / 2);\n result.top = Math.abs((playerHeight - result.height) / 2);\n\n return result;\n}\n","import {h} from 'preact';\nimport {ContribLogger, getContribLogger} from '@playkit-js-contrib/common';\nimport {OverlayItemData, OverlayItemProps} from './overlay-item-data';\nimport {ManagedComponent} from './components/managed-component';\n\nexport interface OverlayItemOptions {\n data: OverlayItemData;\n}\n\nexport class OverlayItem {\n private _destroyed = false;\n private _options: OverlayItemOptions;\n private _logger: ContribLogger;\n\n constructor(options: OverlayItemOptions) {\n this._options = options;\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'OverlayItem',\n context: options.data.label,\n });\n this._logger.debug('executed', {\n method: 'constructor',\n data: {\n options,\n },\n });\n this._logger.info(`created item ${options.data.label}`, {\n method: 'constructor',\n });\n }\n\n get data() {\n return this._options.data;\n }\n\n /**\n * destory the ui item\n */\n destroy(): void {\n this._logger.info('destroy item', {\n method: 'destroy',\n });\n this._destroyed = true;\n }\n\n renderOverlayChild(props: OverlayItemProps) {\n return this._destroyed ? null : this._options.data.renderContent(props);\n }\n}\n","import {ComponentChild, Ref} from 'preact';\nimport {PlayerSize, VideoSize} from './common.types';\n\nexport enum OverlayPositions {\n PlayerArea = 'PlayerArea',\n}\n\nexport interface OverlayItemData {\n label: string;\n renderContent: (overlayItemProps: OverlayItemProps) => ComponentChild;\n className?: string;\n position: OverlayPositions;\n}\n\nexport interface OverlayItemProps {}\n","module.exports = \"data:image/svg+xml,%3Csvg width='32px' height='32px' viewBox='0 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E %3C!-- Generator: Sketch 57.1 (83088) - https://sketch.com --%3E %3Ctitle%3EIcons/32/Someone asks%3C/title%3E %3Cdesc%3ECreated with Sketch.%3C/desc%3E %3Cg id='Icons/32/Someone-asks' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E %3Cg id='Group' transform='translate(4.000000, 5.000000)' fill='%23B2D238'%3E %3Cellipse id='Oval' cx='12' cy='5.5' rx='6' ry='5.5'%3E%3C/ellipse%3E %3Cpath d='M12,13 C7.995,13 0,15.01 0,19 L0,20.5 C0,21.325 0.675,22 1.5,22 L22.5,22 C23.325,22 24,21.325 24,20.5 L24,19 C24,15.01 16.005,13 12,13 Z' id='Path'%3E%3C/path%3E %3C/g%3E %3C/g%3E %3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg width='20px' height='20px' viewBox='0 0 20 20' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E %3C!-- Generator: Sketch 57.1 (83088) - https://sketch.com --%3E %3Ctitle%3EIcons/20/Someone asks%3C/title%3E %3Cdesc%3ECreated with Sketch.%3C/desc%3E %3Cg id='Icons/20/Someone-asks' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E %3Cg id='Group' transform='translate(2.000000, 2.000000)' fill='%23B2D238'%3E %3Ccircle id='Oval' cx='8' cy='4' r='4'%3E%3C/circle%3E %3Cpath d='M8,9 C5.33,9 0,10.5633333 0,13.6666667 L0,14.8333333 C0,15.475 0.45,16 1,16 L15,16 C15.55,16 16,15.475 16,14.8333333 L16,13.6666667 C16,10.5633333 10.67,9 8,9 Z' id='Path'%3E%3C/path%3E %3C/g%3E %3C/g%3E %3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg width='32px' height='32px' viewBox='0 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E %3C!-- Generator: Sketch 57.1 (83088) - https://sketch.com --%3E %3Ctitle%3EIcons/32x32/Menu Player Close%3C/title%3E %3Cdesc%3ECreated with Sketch.%3C/desc%3E %3Cg id='Icons/32x32/Menu-Player-Close' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E %3Cpath d='M17.4142136,16 L22.363961,20.9497475 C22.7544853,21.3402718 22.7544853,21.9734367 22.363961,22.363961 C21.9734367,22.7544853 21.3402718,22.7544853 20.9497475,22.363961 L16,17.4142136 L11.0502525,22.363961 C10.6597282,22.7544853 10.0265633,22.7544853 9.63603897,22.363961 C9.24551468,21.9734367 9.24551468,21.3402718 9.63603897,20.9497475 L14.5857864,16 L9.63603897,11.0502525 C9.24551468,10.6597282 9.24551468,10.0265633 9.63603897,9.63603897 C10.0265633,9.24551468 10.6597282,9.24551468 11.0502525,9.63603897 L16,14.5857864 L20.9497475,9.63603897 C21.3402718,9.24551468 21.9734367,9.24551468 22.363961,9.63603897 C22.7544853,10.0265633 22.7544853,10.6597282 22.363961,11.0502525 L17.4142136,16 Z' id='Path' fill='%23FFFFFF'%3E%3C/path%3E %3C/g%3E %3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E %3Cpath fill='%23FFF' fill-rule='evenodd' d='M5.956 5l3.348-3.348A.674.674 0 0 0 9.3.7a.672.672 0 0 0-.952-.004L5 4.044 1.652.696A.674.674 0 0 0 .7.7a.672.672 0 0 0-.004.952L4.044 5 .696 8.348A.674.674 0 0 0 .7 9.3c.265.266.69.266.952.004L5 5.956l3.348 3.348c.262.262.689.26.952-.004a.672.672 0 0 0 .004-.952L5.956 5z' opacity='.9'/%3E %3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg width='16px' height='16px' viewBox='0 0 16 16' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E %3C!-- Generator: Sketch 57.1 (83088) - https://sketch.com --%3E %3Ctitle%3EIcons/16/Close%3C/title%3E %3Cdesc%3ECreated with Sketch.%3C/desc%3E %3Cg id='Icons/16/Close' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E %3Cpath d='M8.8497789,8 L11.824005,10.9742261 C12.058665,11.2088861 12.058665,11.5893451 11.824005,11.824005 C11.5893451,12.058665 11.2088861,12.058665 10.9742261,11.824005 L8,8.8497789 L5.02577387,11.824005 C4.7911139,12.058665 4.41065493,12.058665 4.17599497,11.824005 C3.94133501,11.5893451 3.94133501,11.2088861 4.17599497,10.9742261 L7.1502211,8 L4.17599497,5.02577387 C3.94133501,4.7911139 3.94133501,4.41065493 4.17599497,4.17599497 C4.41065493,3.94133501 4.7911139,3.94133501 5.02577387,4.17599497 L8,7.1502211 L10.9742261,4.17599497 C11.2088861,3.94133501 11.5893451,3.94133501 11.824005,4.17599497 C12.058665,4.41065493 12.058665,4.7911139 11.824005,5.02577387 L8.8497789,8 Z' id='Path' fill='%23cccccc'%3E%3C/path%3E %3C/g%3E %3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E %3Cg fill='none' fill-rule='evenodd'%3E %3Cpath d='M0 0h32v32H0z'/%3E %3Cpath fill='%23FFF' d='M16 22a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm0-11a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm0-11a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2z'/%3E %3C/g%3E %3C/svg%3E\"","/// <reference path=\"./global.d.ts\" />\n\nexport * from './banner-manager';\nexport * from './toast-manager';\nexport * from './floating-item';\nexport * from './floating-item-data';\nexport * from './floating-manager';\nexport * from './upper-bar-item';\nexport * from './upper-bar-item-data';\nexport * from './upper-bar-manager';\nexport * from './kitchen-sink-item';\nexport * from './kitchen-sink-item-data';\nexport * from './kitchen-sink-manager';\nexport * from './preset-manager';\nexport * from './font-manager';\nexport * from './preset-item-data';\nexport * from './presets-utils';\nexport * from './scale-video';\nexport * from './cuepoint-floating-engine';\nexport * from './common.types';\nexport * from './components/managed-component';\nexport * from './local-content-utils';\nexport * from './overlay-manager';\nexport * from './overlay-item';\nexport * from './overlay-item-data';\nexport * from './components/popover';\n","import {FloatingItem} from './floating-item';\nimport {FloatingManager} from './floating-manager';\nimport {ObjectUtils} from '@playkit-js-contrib/common';\nimport {\n FloatingItemProps,\n FloatingPositions,\n FloatingUIModes,\n} from './floating-item-data';\nimport {ComponentChild, h} from 'preact';\nimport {Banner} from './components/banner';\nimport {BannerContainer} from './components/banner-container';\nimport {BannerContainerProps} from './components/banner-container/banner-container';\nimport {getPlayerSize} from './player-utils';\nimport BannerConfig = KalturaPlayerContribTypes.BannerConfig;\nimport {getContribConfig} from './contrib-utils';\n\nexport interface BannerContent {\n text: string;\n title?: string;\n icon?: any;\n}\n\nexport interface BannerOptions {\n content: BannerContent;\n autoClose?: boolean;\n duration?: number;\n renderContent?: (\n content: BannerContent,\n floatingItemProps: FloatingItemProps\n ) => ComponentChild;\n}\n\nexport interface BannerManagerOptions {\n floatingManager: FloatingManager;\n kalturaPlayer: KalturaPlayerTypes.Player;\n}\n\nexport interface BannerState {\n visibilityMode: VisibilityMode;\n}\n\nexport enum VisibilityMode {\n VISIBLE = 'VISIBLE',\n HIDDEN = 'HIDDEN',\n}\n\nconst MinPlayerWidth = 480;\nconst DefaultDuration: number = 60 * 1000;\nconst MinDuration: number = 5 * 1000;\n\nconst defaultBannerConfig: BannerConfig = {\n theme: {\n backgroundColor: 'rgba(0, 0, 0, .7)',\n blur: '10px',\n },\n};\n\n/**\n * banner manager manages the display (add / remove) of a single banner in the player.\n */\nexport class BannerManager {\n private _options: BannerManagerOptions;\n private _floatingItem: FloatingItem | null = null;\n private _timerSubscription: any | undefined = undefined;\n private _bannerConfig: BannerConfig;\n\n constructor(private options: BannerManagerOptions) {\n this._options = options;\n\n this._bannerConfig = getContribConfig(\n this._options.kalturaPlayer,\n 'ui.banner',\n defaultBannerConfig\n );\n }\n\n add(props: BannerOptions): BannerState {\n if (this._floatingItem) {\n this.remove();\n }\n this._floatingItem = this._options.floatingManager.add({\n label: 'Banner',\n mode: FloatingUIModes.Immediate,\n position: FloatingPositions.InteractiveArea,\n renderContent: this._createRenderBanner(props, {\n onClose: this._handleCloseEvent.bind(this),\n theme: this._bannerConfig.theme,\n }),\n });\n if (props.autoClose) {\n this._startDurationTimer(props.duration);\n }\n return this._getState();\n }\n\n remove() {\n if (this._floatingItem) {\n if (this._timerSubscription) clearTimeout(this._timerSubscription);\n this._options.floatingManager.remove(this._floatingItem);\n this._floatingItem = null;\n }\n }\n\n reset() {\n this.remove();\n }\n\n private _createRenderBanner(\n {content, renderContent}: BannerOptions,\n {onClose, theme}: BannerContainerProps\n ) {\n function _renderContent(floatingItemProps: FloatingItemProps) {\n return (\n <BannerContainer onClose={onClose} theme={theme}>\n {renderContent ? (\n renderContent(content, floatingItemProps)\n ) : (\n <Banner content={content} />\n )}\n </BannerContainer>\n );\n }\n return _renderContent;\n }\n\n private _handleCloseEvent() {\n this.remove();\n }\n\n private _startDurationTimer(displayDuration: number = DefaultDuration) {\n this._timerSubscription = setTimeout(\n this.remove.bind(this),\n Math.max(MinDuration, displayDuration)\n );\n }\n\n private _getState(): BannerState {\n const playerSize = getPlayerSize(this._options.kalturaPlayer);\n return {\n visibilityMode:\n !playerSize || playerSize.width < MinPlayerWidth\n ? VisibilityMode.HIDDEN\n : VisibilityMode.VISIBLE,\n };\n }\n}\n","export {Banner} from './banner';\n","import {Component, h} from 'preact';\nimport {ContribLogger, getContribLogger} from '@playkit-js-contrib/common';\nimport {BannerContent} from '../../banner-manager';\nimport * as styles from './_banner.scss';\n\nexport interface BannerProps {\n content: BannerContent;\n}\n\nexport class Banner extends Component<BannerProps> {\n private _logger: ContribLogger = getContribLogger({\n module: 'contrib-ui',\n class: 'Banner',\n });\n\n componentDidMount(): void {\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n }\n\n componentWillUnmount(): void {\n this._logger.info(`unmount component`, {\n method: 'componentWillUnmount',\n });\n }\n\n render({content}: BannerProps) {\n const {\n text,\n title = 'Audience asks:',\n icon = this._defaultIcon(),\n } = content;\n\n this._logger.trace(`render component`, {\n method: 'render',\n });\n\n return (\n <div className={styles.defaultBannerRoot + ' ' + styles.bannerWrapper}>\n <div className={styles.iconContainer}>\n <div className={styles.iconWrapper}>{icon}</div>\n </div>\n <div className={styles.bannerBody}>\n <div className={styles.title}>{title}</div>\n <div className={styles.text}>{text}</div>\n </div>\n </div>\n );\n }\n\n private _defaultIcon() {\n return <div className={styles.iconImage} />;\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_banner.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"./assets/someone_asks_large.svg\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"./assets/someone_asks_small.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_banner__defaultBannerRoot___3Mjsx{display:flex;max-width:100%;height:100%;transition:all .5s ease;text-align:left}.contrib_banner__bannerWrapper___10Aav{padding:18px 17px 17px 16px}.contrib_banner__iconContainer___11URF{height:100%;width:64px}.contrib_banner__iconWrapper___2GmiQ{position:relative;height:48px;width:48px;background-color:rgba(255,255,255,0.14);border-radius:50%;transition:all .5s ease}.contrib_banner__iconImage___34fSF{position:absolute;width:32px;height:32px;left:calc(50% - 16px);top:calc(50% - 16px);background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-repeat:no-repeat;transition:all .5s ease}.contrib_banner__bannerBody___3co4C{height:100%;flex:1 1 auto;overflow:hidden}.contrib_banner__title___3cUox{opacity:0.9;font-size:14px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:1;letter-spacing:normal;color:#ebebeb}.contrib_banner__text___1yzsx{opacity:0.9;font-size:24px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:1.21;letter-spacing:normal;color:#ffffff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .5s ease}.playkit-size-md .contrib_banner__bannerWrapper___10Aav{padding:14px 16px 14px}.playkit-size-md .contrib_banner__iconContainer___11URF{width:44px}.playkit-size-md .contrib_banner__iconWrapper___2GmiQ{height:32px;width:32px}.playkit-size-md .contrib_banner__iconImage___34fSF{width:20px;height:20px;left:calc(50% - 10px);top:calc(50% - 10px);background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \")}.playkit-size-md .contrib_banner__bannerBody___3co4C{flex:1 1 auto}.playkit-size-md .contrib_banner__title___3cUox{font-size:12px;font-weight:bold;line-height:1.17}.playkit-size-md .contrib_banner__text___1yzsx{font-size:15px;line-height:1.27}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/banner/_banner.scss\"],\"names\":[],\"mappings\":\"AAAA,2CACE,YAAa,CACb,cAAe,CACf,WAAY,CACZ,uBAAwB,CACxB,eAAgB,CACjB,uCAGC,2BAA4B,CAC7B,uCAGC,WAAY,CACZ,UAAW,CACZ,qCAGC,iBAAkB,CAClB,WAAY,CACZ,UAAW,CACX,uCAAwC,CACxC,iBAAkB,CAClB,uBAAwB,CACzB,mCAGC,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,qBAAsB,CACtB,oBAAqB,CACrB,wDAAwD,CACxD,2BAA4B,CAC5B,uBAAwB,CACzB,oCAGC,WAAY,CACZ,aAAc,CACd,eAAgB,CACjB,+BAGC,WAAY,CACZ,cAAe,CACf,kBAAmB,CACnB,iBAAkB,CAClB,mBAAoB,CACpB,aAAc,CACd,qBAAsB,CACtB,aAAc,CACf,8BAGC,WAAY,CACZ,cAAe,CACf,kBAAmB,CACnB,iBAAkB,CAClB,mBAAoB,CACpB,gBAAiB,CACjB,qBAAsB,CACtB,aAAc,CACd,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,uBAAwB,CACzB,wDAMO,sBACF,CALN,wDAOQ,UAAW,CAPnB,sDAUQ,WAAY,CACZ,UAAW,CAXnB,oDAcQ,UAAW,CACX,WAAY,CACZ,qBAAsB,CACtB,oBAAqB,CACrB,wDAAwD,CAlBhE,qDAqBQ,aAAc,CArBtB,gDAwBQ,cAAe,CACf,gBAAiB,CACjB,gBAAiB,CA1BzB,+CA6BQ,cAAe,CACf,gBAAiB\",\"file\":\"_banner.scss\",\"sourcesContent\":[\".defaultBannerRoot {\\n display: flex;\\n max-width: 100%;\\n height: 100%;\\n transition: all .5s ease;\\n text-align: left;\\n}\\n\\n.bannerWrapper {\\n padding: 18px 17px 17px 16px;\\n}\\n\\n.iconContainer {\\n height: 100%;\\n width: 64px;\\n}\\n\\n.iconWrapper {\\n position: relative;\\n height: 48px;\\n width: 48px;\\n background-color: rgba(255,255,255,0.14);\\n border-radius: 50%;\\n transition: all .5s ease;\\n}\\n\\n.iconImage {\\n position: absolute;\\n width: 32px;\\n height: 32px;\\n left: calc(50% - 16px);\\n top: calc(50% - 16px);\\n background-image: url('./assets/someone_asks_large.svg');\\n background-repeat: no-repeat;\\n transition: all .5s ease;\\n}\\n\\n.bannerBody {\\n height: 100%;\\n flex: 1 1 auto;\\n overflow: hidden;\\n}\\n\\n.title {\\n opacity: 0.9;\\n font-size: 14px;\\n font-weight: normal;\\n font-style: normal;\\n font-stretch: normal;\\n line-height: 1;\\n letter-spacing: normal;\\n color: #ebebeb;\\n}\\n\\n.text {\\n opacity: 0.9;\\n font-size: 24px;\\n font-weight: normal;\\n font-style: normal;\\n font-stretch: normal;\\n line-height: 1.21;\\n letter-spacing: normal;\\n color: #ffffff;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n transition: all .5s ease;\\n}\\n\\n:global {\\n .playkit-size-md {\\n :local {\\n .bannerWrapper {\\n padding: 14px 16px 14px\\n }\\n .iconContainer {\\n width: 44px;\\n }\\n .iconWrapper {\\n height: 32px;\\n width: 32px;\\n }\\n .iconImage {\\n width: 20px;\\n height: 20px;\\n left: calc(50% - 10px);\\n top: calc(50% - 10px);\\n background-image: url('./assets/someone_asks_small.svg');\\n }\\n .bannerBody {\\n flex: 1 1 auto;\\n }\\n .title {\\n font-size: 12px;\\n font-weight: bold;\\n line-height: 1.17;\\n }\\n .text {\\n font-size: 15px;\\n line-height: 1.27;\\n }\\n }\\n }\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"defaultBannerRoot\": \"contrib_banner__defaultBannerRoot___3Mjsx\",\n\t\"bannerWrapper\": \"contrib_banner__bannerWrapper___10Aav\",\n\t\"iconContainer\": \"contrib_banner__iconContainer___11URF\",\n\t\"iconWrapper\": \"contrib_banner__iconWrapper___2GmiQ\",\n\t\"iconImage\": \"contrib_banner__iconImage___34fSF\",\n\t\"bannerBody\": \"contrib_banner__bannerBody___3co4C\",\n\t\"title\": \"contrib_banner__title___3cUox\",\n\t\"text\": \"contrib_banner__text___1yzsx\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","export {BannerContainer} from './banner-container';\n","import {Component, h} from 'preact';\nimport {ContribLogger, getContribLogger} from '@playkit-js-contrib/common';\nimport * as styles from './_banner-container.scss';\n\nexport interface BannerContainerProps {\n onClose: () => void;\n theme: BannerTheme;\n}\n\ninterface BannerTheme {\n backgroundColor: string;\n blur: string;\n}\n\nexport class BannerContainer extends Component<BannerContainerProps> {\n private _logger: ContribLogger = getContribLogger({\n module: 'contrib-ui',\n class: 'BannerContainer',\n });\n\n componentDidMount(): void {\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n }\n\n componentWillUnmount(): void {\n this._logger.info(`unmount component`, {\n method: 'componentWillUnmount',\n });\n }\n\n render(props: BannerContainerProps) {\n this._logger.trace(`render component`, {\n method: 'render',\n });\n\n const {backgroundColor, blur} = this.props.theme;\n\n return (\n <div className={styles.bannerContainerRoot}>\n <div\n style={`\n background-color:${backgroundColor}; \n backdrop-filter: blur(${blur});\n `}\n className={styles.bannerContainer}>\n <button className={styles.closeButton} onClick={props.onClose} />\n {this.props.children}\n </div>\n </div>\n );\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_banner-container.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"./assets/close_large.svg\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"./assets/close_small.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_banner-container__bannerContainerRoot___3riMs{position:absolute;max-width:100%;min-width:270px;padding:0 16px 8px;height:88px;bottom:0;left:0;transition:all .5s ease}.contrib_banner-container__bannerContainer___gn6bT{position:relative;width:100%;height:100%;border-radius:4px;transition:all .5s ease}.contrib_banner-container__closeButton___2PBES{position:absolute;background-color:transparent;padding:0;border:none;top:0;right:0;width:32px;height:32px;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-repeat:no-repeat}.contrib_banner-container__closeButton___2PBES:hover,.contrib_banner-container__closeButton___2PBES:active{cursor:pointer}.playkit-size-md .contrib_banner-container__bannerContainerRoot___3riMs{height:68px;min-width:230px}.playkit-size-md .contrib_banner-container__closeButton___2PBES{top:8px;right:8px;width:10px;height:10px;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \")}.playkit-size-sm .contrib_banner-container__bannerContainerRoot___3riMs,.playkit-size-xs .contrib_banner-container__bannerContainerRoot___3riMs,.playkit-size-ty .contrib_banner-container__bannerContainerRoot___3riMs{display:none;width:0;height:0}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/banner-container/_banner-container.scss\"],\"names\":[],\"mappings\":\"AAAA,uDACE,iBAAkB,CAClB,cAAe,CACf,eAAgB,CAChB,kBAAmB,CACnB,WAAY,CACZ,QAAS,CACT,MAAO,CACP,uBAAwB,CACzB,mDAGC,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,iBAAkB,CAClB,uBAAwB,CACzB,+CAGC,iBAAkB,CAClB,4BAA6B,CAC7B,SAAU,CACV,WAAY,CACZ,KAAM,CACN,OAAQ,CACR,UAAW,CACX,WAAY,CACZ,wDAAiD,CACjD,2BAA4B,CAC7B,2GAGC,cAAe,CAChB,wEAMO,WAAY,CACZ,eAAgB,CALxB,gEAQQ,OAAQ,CACR,SAAU,CACV,UAAW,CACX,WAAY,CACZ,wDAAiD,CAClD,wNAQD,YAAa,CACb,OAAQ,CACR,QAAS\",\"file\":\"_banner-container.scss\",\"sourcesContent\":[\".bannerContainerRoot {\\n position: absolute;\\n max-width: 100%;\\n min-width: 270px;\\n padding: 0 16px 8px;\\n height: 88px;\\n bottom: 0;\\n left: 0;\\n transition: all .5s ease;\\n}\\n\\n.bannerContainer {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n border-radius: 4px;\\n transition: all .5s ease;\\n}\\n\\n.closeButton {\\n position: absolute;\\n background-color: transparent;\\n padding: 0;\\n border: none;\\n top: 0;\\n right: 0;\\n width: 32px;\\n height: 32px;\\n background-image: url('./assets/close_large.svg');\\n background-repeat: no-repeat;\\n}\\n\\n.closeButton:hover, .closeButton:active {\\n cursor: pointer;\\n}\\n\\n:global {\\n .playkit-size-md {\\n :local {\\n .bannerContainerRoot {\\n height: 68px;\\n min-width: 230px;\\n }\\n .closeButton {\\n top: 8px;\\n right: 8px;\\n width: 10px;\\n height: 10px;\\n background-image: url('./assets/close_small.svg');\\n }\\n }\\n }\\n}\\n\\n:global {\\n .playkit-size-sm, .playkit-size-xs, .playkit-size-ty {\\n :local .bannerContainerRoot {\\n display: none;\\n width: 0;\\n height: 0;\\n }\\n }\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"bannerContainerRoot\": \"contrib_banner-container__bannerContainerRoot___3riMs\",\n\t\"bannerContainer\": \"contrib_banner-container__bannerContainer___gn6bT\",\n\t\"closeButton\": \"contrib_banner-container__closeButton___2PBES\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","export {ToastsContainer} from './toasts-container';\n","import {Component, h} from 'preact';\nimport {Toast, ToastProps} from '../toast/toast';\nimport * as styles from './_toasts-container.scss';\n\nexport interface ToastsContainerProps {\n toasts: ToastProps[];\n}\n\nexport class ToastsContainer extends Component<ToastsContainerProps> {\n render() {\n return (\n <div className={styles.toastsContainer}>\n {this.props.toasts.map(toast => {\n return (\n <div className={styles.toastRow} key={toast.id}>\n <Toast {...toast} />\n </div>\n );\n })}\n </div>\n );\n }\n}\n","import {Component, h} from 'preact';\nimport * as styles from './_toast.scss';\nimport {ToastSeverity} from '../../toast-manager';\n\nexport interface ToastProps {\n id: string;\n title: string;\n text: string;\n icon: any;\n severity: ToastSeverity;\n onClose: (id: string) => void;\n onClick: () => void;\n}\n\ninterface ToastState {\n isShown: boolean;\n}\n\nexport class Toast extends Component<ToastProps, ToastState> {\n state = {\n isShown: true,\n };\n\n private _onClick = e => {\n this.props.onClick();\n this._onClose(e);\n };\n\n private _onClose = e => {\n e.stopPropagation();\n this.setState({isShown: false});\n this.props.onClose(this.props.id);\n };\n\n private _getToastSeverityClass(): string {\n switch (this.props.severity) {\n case ToastSeverity.Success:\n return styles.successToast;\n case ToastSeverity.Warn:\n return styles.warnToast;\n case ToastSeverity.Error:\n return styles.errorToast;\n default:\n //info\n return styles.infoToast;\n }\n }\n\n render() {\n const {text, title, icon} = this.props;\n\n return (\n <div\n className={styles.toastWrapper + ' ' + this._getToastSeverityClass()}\n onClick={this._onClick}>\n <button className={styles.closeButton} onClick={this._onClose}></button>\n <div className={styles.title}>{title}</div>\n <div className={styles.toastBody}>\n <div className={styles.iconContainer}>\n <div className={styles.iconWrapper}>{icon}</div>\n </div>\n <div className={styles.text}>{text}</div>\n </div>\n </div>\n );\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_toast.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"./assets/close.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_toast__toastWrapper___QXcJM{position:relative;min-width:120px;max-width:264px;height:100%;border-radius:4px;background-color:#222222;border-left-style:solid;border-left-width:4px;text-align:left}.contrib_toast__infoToast___1HmIt{border-left-color:#01ACCD}.contrib_toast__successToast___3ampp{border-left-color:#009E48}.contrib_toast__warnToast___23lkF{border-left-color:#F9A71B}.contrib_toast__errorToast___3bwna{border-left-color:#E7585D}.contrib_toast__closeButton___ATTAj{position:absolute;background-color:transparent;top:0;right:0;width:16px;height:16px;object-fit:contain;background-repeat:no-repeat;border:none;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \")}.contrib_toast__closeButton___ATTAj:hover{cursor:pointer}.contrib_toast__title___RMhDh{font-size:12px;font-weight:normal;font-style:normal;font-stretch:normal;line-height:1.17;letter-spacing:normal;color:#cccccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:4px;padding-right:16px;padding-left:12px}.contrib_toast__toastBody___2kkj8{position:relative;width:100%;padding:2px 16px 5px 12px}.contrib_toast__iconContainer___37C80{position:relative;height:16px;width:16px;float:left;margin-right:7px}.contrib_toast__iconWrapper___h5_1x{height:16px;width:16px}.contrib_toast__text___2d4Qb{font-size:14px;font-weight:bold;font-style:normal;font-stretch:normal;line-height:normal;letter-spacing:normal;color:#cccccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/toast/_toast.scss\"],\"names\":[],\"mappings\":\"AAAA,qCACE,iBAAkB,CAClB,eAAgB,CAChB,eAAgB,CAChB,WAAY,CACZ,iBAAkB,CAClB,wBAAyB,CACzB,uBAAwB,CACxB,qBAAsB,CACtB,eAAgB,CACjB,kCAGC,yBAA0B,CAC3B,qCAGC,yBAA0B,CAC3B,kCAGC,yBAA0B,CAC3B,mCAGC,yBAA0B,CAC3B,oCAGC,iBAAkB,CAClB,4BAA6B,CAC7B,KAAM,CACN,OAAQ,CACR,UAAW,CACX,WAAY,CACZ,kBAAmB,CACnB,2BAA4B,CAC5B,WAAY,CACZ,wDAA2C,CAV7C,0CAaI,cAAe,CAChB,8BAID,cAAe,CACf,kBAAmB,CACnB,iBAAkB,CAClB,mBAAoB,CACpB,gBAAiB,CACjB,qBAAsB,CACtB,aAAc,CACd,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,iBAAkB,CACnB,kCAGC,iBAAkB,CAClB,UAAW,CACX,yBAA0B,CAC3B,sCAGC,iBAAkB,CAClB,WAAY,CACZ,UAAW,CACX,UAAW,CACX,gBAAiB,CAClB,oCAGC,WAAY,CACZ,UAAW,CACZ,6BAGC,cAAe,CACf,gBAAiB,CACjB,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,qBAAsB,CACtB,aAAc,CACd,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB\",\"file\":\"_toast.scss\",\"sourcesContent\":[\".toastWrapper {\\n position: relative;\\n min-width: 120px;\\n max-width: 264px;\\n height: 100%;\\n border-radius: 4px;\\n background-color: #222222;\\n border-left-style: solid;\\n border-left-width: 4px;\\n text-align: left;\\n}\\n\\n.infoToast {\\n border-left-color: #01ACCD;\\n}\\n\\n.successToast {\\n border-left-color: #009E48;\\n}\\n\\n.warnToast {\\n border-left-color: #F9A71B;\\n}\\n\\n.errorToast {\\n border-left-color: #E7585D;\\n}\\n\\n.closeButton {\\n position: absolute;\\n background-color: transparent;\\n top: 0;\\n right: 0;\\n width: 16px;\\n height: 16px;\\n object-fit: contain;\\n background-repeat: no-repeat;\\n border: none;\\n background-image: url(\\\"./assets/close.svg\\\");\\n\\n &:hover {\\n cursor: pointer;\\n }\\n}\\n\\n.title {\\n font-size: 12px;\\n font-weight: normal;\\n font-style: normal;\\n font-stretch: normal;\\n line-height: 1.17;\\n letter-spacing: normal;\\n color: #cccccc;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n padding-top: 4px;\\n padding-right: 16px;\\n padding-left: 12px;\\n}\\n\\n.toastBody {\\n position: relative;\\n width: 100%;\\n padding: 2px 16px 5px 12px;\\n}\\n\\n.iconContainer {\\n position: relative;\\n height: 16px;\\n width: 16px;\\n float: left;\\n margin-right: 7px;\\n}\\n\\n.iconWrapper {\\n height: 16px;\\n width: 16px;\\n}\\n\\n.text {\\n font-size: 14px;\\n font-weight: bold;\\n font-style: normal;\\n font-stretch: normal;\\n line-height: normal;\\n letter-spacing: normal;\\n color: #cccccc;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"toastWrapper\": \"contrib_toast__toastWrapper___QXcJM\",\n\t\"infoToast\": \"contrib_toast__infoToast___1HmIt\",\n\t\"successToast\": \"contrib_toast__successToast___3ampp\",\n\t\"warnToast\": \"contrib_toast__warnToast___23lkF\",\n\t\"errorToast\": \"contrib_toast__errorToast___3bwna\",\n\t\"closeButton\": \"contrib_toast__closeButton___ATTAj\",\n\t\"title\": \"contrib_toast__title___RMhDh\",\n\t\"toastBody\": \"contrib_toast__toastBody___2kkj8\",\n\t\"iconContainer\": \"contrib_toast__iconContainer___37C80\",\n\t\"iconWrapper\": \"contrib_toast__iconWrapper___h5_1x\",\n\t\"text\": \"contrib_toast__text___2d4Qb\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_toasts-container.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_toasts-container__toastsContainer___2MBa-{position:absolute;right:0;top:0;padding:8px 16px 0;min-width:120px;max-width:264px;display:flex;flex-direction:column}.contrib_toasts-container__toastRow___2oVhO{height:42px;min-width:120px;max-width:264px;margin-bottom:8px;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis;align-self:flex-end}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/toasts-container/_toasts-container.scss\"],\"names\":[],\"mappings\":\"AAAA,mDACE,iBAAkB,CAClB,OAAQ,CACR,KAAM,CACN,kBAAmB,CACnB,eAAgB,CAChB,eAAgB,CAChB,YAAa,CACb,qBAAsB,CACvB,4CAGC,WAAY,CACZ,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,eAAgB,CAChB,wBAAyB,CACzB,sBAAuB,CACvB,mBAAoB\",\"file\":\"_toasts-container.scss\",\"sourcesContent\":[\".toastsContainer {\\n position: absolute;\\n right: 0;\\n top: 0;\\n padding: 8px 16px 0;\\n min-width: 120px;\\n max-width: 264px;\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.toastRow {\\n height: 42px;\\n min-width: 120px;\\n max-width: 264px;\\n margin-bottom: 8px;\\n overflow: hidden;\\n overflow-wrap: break-word;\\n text-overflow: ellipsis;\\n align-self: flex-end;\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"toastsContainer\": \"contrib_toasts-container__toastsContainer___2MBa-\",\n\t\"toastRow\": \"contrib_toasts-container__toastRow___2oVhO\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import {h, Component, ComponentChild, ComponentChildren} from 'preact';\nimport {getContribLogger} from '@playkit-js-contrib/common';\nimport {ContribLogger} from '@playkit-js-contrib/common';\nimport * as styles from './_managed-component.scss';\nconst {\n redux: {connect},\n} = KalturaPlayer.ui;\n\ntype ManagedComponentState = {\n toggler: boolean;\n};\ntype ManagedComponentProps = {\n isShown: () => boolean;\n renderChildren: (playerSize: string) => ComponentChildren;\n label: string;\n fillContainer: boolean;\n playerSize?: string;\n updateOnPlayerSizeChanged?: boolean;\n};\n\nconst mapStateToProps = (state: Record<string, any>) => ({\n playerSize: state.shell.playerSize,\n});\n@connect(mapStateToProps, null, null, {forwardRef: true})\nexport class ManagedComponent extends Component<\n ManagedComponentProps,\n ManagedComponentState\n> {\n private _logger: ContribLogger | null = null;\n\n static defaultProps = {\n fillContainer: false,\n };\n\n update() {\n this.setState((prev: ManagedComponentState) => {\n return {\n toggler: !prev.toggler,\n };\n });\n }\n\n shouldComponentUpdate(prevProps: Readonly<ManagedComponentProps>): boolean {\n const {updateOnPlayerSizeChanged, playerSize} = this.props;\n return (\n (updateOnPlayerSizeChanged && prevProps.playerSize !== playerSize) ||\n prevProps.playerSize === playerSize\n );\n }\n\n componentDidMount(): void {\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'ManagedComponent',\n context: this.props.label,\n });\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n this.setState({\n toggler: false,\n });\n }\n\n render() {\n const {fillContainer, isShown, playerSize} = this.props;\n if (!isShown()) {\n return null;\n }\n\n if (this._logger) {\n this._logger.trace(`render component`, {\n method: 'render',\n });\n }\n\n return (\n <div\n data-contrib-item={this.props.label}\n className={fillContainer ? styles.fillContainer : ''}>\n {this.props.renderChildren(playerSize)}\n </div>\n );\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_managed-component.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_managed-component__fill-container___27fdI{width:100%;height:100%}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/managed-component/_managed-component.scss\"],\"names\":[],\"mappings\":\"AAAA,mDACE,UAAW,CACX,WAAY\",\"file\":\"_managed-component.scss\",\"sourcesContent\":[\".fill-container {\\n width: 100%;\\n height: 100%;\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"fill-container\": \"contrib_managed-component__fill-container___27fdI\",\n\t\"fillContainer\": \"contrib_managed-component__fill-container___27fdI\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import {FloatingItem} from './floating-item';\nimport {\n FloatingItemData,\n FloatingItemProps,\n FloatingPositions,\n} from './floating-item-data';\nimport {PresetManager, PresetManagerEventTypes} from './preset-manager';\nimport {ComponentChild, h} from 'preact';\nimport {PlayerSize, VideoSize} from './common.types';\nimport {getPlayerSize, getVideoSize} from './player-utils';\nimport {ManagedComponent} from './components/managed-component';\nimport {PresetsUtils} from './presets-utils';\nimport FloatingConfig = KalturaPlayerContribTypes.FloatingConfig;\nimport {getContribConfig} from './contrib-utils';\n\nexport interface FloatingManagerOptions {\n kalturaPlayer: KalturaPlayerTypes.Player;\n presetManager: PresetManager;\n}\n\nconst defaultFloatingConfig: KalturaPlayerContribTypes.FloatingConfig = {\n presetAreasMapping: {\n Playback: {\n VideoArea: 'VideoArea',\n PresetArea: 'PresetArea',\n InteractiveArea: 'InteractiveArea',\n },\n Live: {\n VideoArea: 'VideoArea',\n PresetArea: 'PresetArea',\n InteractiveArea: 'InteractiveArea',\n },\n },\n};\n\nconst acceptableTypes = ['VideoArea', 'PresetArea', 'InteractiveArea'];\n\nexport class FloatingManager {\n private _items: Record<FloatingPositions, FloatingItem[]> = {\n [FloatingPositions.VideoArea]: [],\n [FloatingPositions.InteractiveArea]: [],\n [FloatingPositions.PresetArea]: [],\n };\n private _componentRef: Record<FloatingPositions, ManagedComponent | null> = {\n [FloatingPositions.InteractiveArea]: null,\n [FloatingPositions.VideoArea]: null,\n [FloatingPositions.PresetArea]: null,\n };\n private _cache: {\n canvas: {\n playerSize: PlayerSize;\n videoSize: VideoSize;\n };\n } = {\n canvas: {\n playerSize: {width: 0, height: 0},\n videoSize: {width: 0, height: 0},\n },\n };\n\n private _floatingConfig: FloatingConfig;\n\n constructor(private _options: FloatingManagerOptions) {\n this._floatingConfig = getContribConfig(\n this._options.kalturaPlayer,\n 'ui.floating',\n defaultFloatingConfig,\n {\n explicitMerge: ['presetAreasMapping'],\n }\n );\n\n const groupedPresets = PresetsUtils.groupPresetAreasByType({\n presetAreasMapping: this._floatingConfig.presetAreasMapping,\n acceptableTypes,\n });\n\n Object.keys(groupedPresets).forEach(presetType => {\n this._options.presetManager.add({\n label: 'floating-manager',\n presetAreas: groupedPresets[presetType],\n renderChild: () => this._renderChild(FloatingPositions[presetType]),\n });\n });\n this._addPlayerBindings();\n this._updateCachedCanvas();\n }\n\n /**\n * initialize new floating ui item\n * @param item\n */\n //TODO push new item to relevant position array according to its' FloatingPositions value\n add(data: FloatingItemData): FloatingItem | null {\n const {presetManager} = this._options;\n\n const itemOptions = {\n presetManager,\n ...this._options,\n data,\n };\n\n const item = new FloatingItem(itemOptions);\n this._items[data.position].push(item);\n return item;\n }\n\n remove(item: FloatingItem) {\n const positionItems = this._items[item.data.position];\n const itemIndex = positionItems.indexOf(item);\n if (itemIndex > -1) {\n positionItems[itemIndex].destroy();\n positionItems.splice(itemIndex, 1);\n } else {\n console.warn(`couldn't remove ${item} since it wasn't found`);\n }\n }\n\n reset(): void {\n const allItems = [\n ...this._items.VideoArea,\n ...this._items.InteractiveArea,\n ...this._items.PresetArea,\n ];\n allItems.forEach(item => {\n try {\n item.destroy();\n } catch (e) {\n // TODO log error\n console.warn(e);\n }\n });\n\n this._items.VideoArea = [];\n this._items.PresetArea = [];\n this._items.InteractiveArea = [];\n }\n\n private _getRendererProps(\n props: Partial<FloatingItemProps>\n ): FloatingItemProps {\n const {kalturaPlayer} = this._options;\n\n return {\n currentTime:\n typeof props.currentTime !== 'undefined'\n ? props.currentTime\n : kalturaPlayer.currentTime * 1000,\n canvas: this._cache.canvas,\n };\n }\n\n private _updateCachedCanvas() {\n this._cache.canvas = {\n playerSize: getPlayerSize(this._options.kalturaPlayer),\n videoSize: getVideoSize(this._options.kalturaPlayer),\n };\n }\n\n private _renderItems = (position: FloatingPositions) => {\n const props = this._getRendererProps({});\n return this._items[position].map(item => item.renderFloatingChild(props));\n };\n\n private _renderChild = (position: FloatingPositions): ComponentChild => {\n return (\n <ManagedComponent\n label={'floating-manager'}\n renderChildren={() => this._renderItems(position)}\n isShown={() => true}\n ref={ref => (this._componentRef[position] = ref)}\n />\n );\n };\n\n private _updateComponents() {\n if (this._componentRef.InteractiveArea) {\n this._componentRef.InteractiveArea.update();\n }\n\n if (this._componentRef.PresetArea) {\n this._componentRef.PresetArea.update();\n }\n\n if (this._componentRef.VideoArea) {\n this._componentRef.VideoArea.update();\n }\n }\n\n private _addPlayerBindings() {\n const {kalturaPlayer} = this._options;\n\n kalturaPlayer.addEventListener(kalturaPlayer.Event.TIME_UPDATE, () => {\n this._updateComponents();\n });\n\n kalturaPlayer.addEventListener(kalturaPlayer.Event.MEDIA_LOADED, () => {\n this._updateCachedCanvas();\n this._updateComponents();\n });\n\n kalturaPlayer.addEventListener(kalturaPlayer.Event.LOADED_DATA, () => {\n this._updateCachedCanvas();\n this._updateComponents();\n });\n\n this._options.presetManager.on(\n PresetManagerEventTypes.VideoResizeEvent,\n () => {\n this._updateCachedCanvas();\n this._updateComponents();\n }\n );\n\n this._options.presetManager.on(\n PresetManagerEventTypes.PresetResizeEvent,\n () => {\n this._updateCachedCanvas();\n this._updateComponents();\n }\n );\n }\n}\n","import {h, render} from 'preact';\nimport {getContribLogger} from '@playkit-js-contrib/common';\nimport {PresetItemData, RelativeToTypes} from './preset-item-data';\nimport {ManagedComponent} from './components/managed-component';\nimport {ContribLogger} from '@playkit-js-contrib/common';\nimport {InjectedComponent} from './components/injected-component/injected-component';\nexport interface PresetItemOptions {\n kalturaPlayer: KalturaPlayerTypes.Player;\n data: PresetItemData;\n}\n\nexport interface PresetItemProps {}\n\nexport interface KalturaPlayerPresetComponent {\n label: string;\n presets: string[];\n container: string;\n get: () => () => ManagedComponent;\n afterComponent?: string;\n beforeComponent?: string;\n replaceComponent?: string;\n}\n\nexport class PresetItem {\n private _options: PresetItemOptions;\n private _logger: ContribLogger;\n\n constructor(options: PresetItemOptions) {\n this._options = options;\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'PresetItem',\n context: options.data.label,\n });\n this._logger.debug('executed', {\n method: 'constructor',\n data: {\n options,\n },\n });\n this._logger.info(`created item ${options.data.label}`, {\n method: 'constructor',\n });\n }\n\n get playerConfig(): KalturaPlayerPresetComponent[] {\n const configs: KalturaPlayerPresetComponent[] = [];\n\n for (const presetType in this._options.data.presetAreas) {\n const presetContainer = this._options.data.presetAreas[presetType];\n const {relativeTo} = this._options.data;\n\n if (!presetContainer) {\n this._logger.warn(\n `Cannot register component to core player using the preset manager for preset ${presetType}. preset area name is missing. Ignoring this request.`,\n {\n method: 'playerConfig',\n }\n );\n continue;\n }\n\n const result: KalturaPlayerPresetComponent = {\n label: this._options.data.label,\n presets: [presetType],\n container: presetContainer,\n get: this._render,\n };\n\n if (relativeTo) {\n switch (relativeTo.type) {\n case RelativeToTypes.After:\n result['afterComponent'] = relativeTo.name;\n break;\n case RelativeToTypes.Before:\n result['beforeComponent'] = relativeTo.name;\n break;\n case RelativeToTypes.Replace:\n result['replaceComponent'] = relativeTo.name;\n break;\n }\n }\n\n configs.push(result);\n }\n\n return configs;\n }\n\n private _render = (): any => {\n if (this._options.data.isolateComponent) {\n const {\n data: {label, fillContainer},\n } = this._options;\n\n return (\n <InjectedComponent\n label={label}\n fillContainer={fillContainer || false}\n onCreate={this._onCreate}\n onDestroy={this._onDestroy}\n />\n );\n }\n\n return this._options.data.renderChild();\n };\n\n private _onDestroy = (options: {\n context?: any;\n parent: HTMLElement;\n }): void => {\n // TODO sakal handle destroy\n if (!options.parent) {\n this._logger.warn(`missing parent argument, aborting element removal`, {\n method: '_onDestroy',\n });\n return;\n }\n\n this._logger.info(`remove injected contrib preset component`, {\n method: '_onDestroy',\n });\n\n render(null, options.parent);\n };\n\n private _onCreate = (options: {context?: any; parent: HTMLElement}): void => {\n try {\n if (!options.parent) {\n this._logger.warn(\n `missing parent argument, aborting element creation`,\n {\n method: '_create',\n }\n );\n return;\n }\n const child = this._options.data.renderChild();\n\n if (!child) {\n this._logger.warn(\n `child renderer result is invalid, expected element got undefined|null`,\n {\n method: '_create',\n }\n );\n return;\n }\n\n this._logger.info(`inject contrib preset component`, {\n method: '_create',\n });\n render(child, options.parent);\n } catch (error) {\n this._logger.error(`failed to create injected component.`, {\n method: '_onCreate',\n });\n }\n };\n}\n","import {h, Component} from 'preact';\nimport * as styles from './injected-component.scss';\nimport {getContribLogger} from '@playkit-js-contrib/common';\n\nconst logger = getContribLogger({\n module: 'contrib-ui',\n class: 'InjectedComponent',\n});\n\nexport interface InjectedComponentProps {\n onCreate: (options: {parent: HTMLDivElement}) => void;\n onDestroy: (options: {parent: HTMLDivElement}) => void;\n label: string;\n fillContainer: boolean;\n}\n\nclass InjectedComponent extends Component<InjectedComponentProps> {\n _root = null;\n\n shouldComponentUpdate(): boolean {\n return false;\n }\n\n componentDidMount(): void {\n const {onCreate, label} = this.props;\n\n if (!onCreate) {\n logger.warn(`Cannot inject item, missing 'onCreate' method`, {\n data: {\n label,\n },\n });\n return;\n }\n\n const parentElement = this._root;\n if (!parentElement) {\n logger.warn(`Cannot inject item, ailed to create parent component`, {\n data: {\n label,\n },\n });\n return;\n }\n\n logger.debug(`inject component`, {\n data: {\n label,\n },\n });\n\n onCreate({parent: parentElement});\n }\n\n componentWillUnmount(): void {\n const {onDestroy, label} = this.props;\n const parentElement = this._root;\n\n if (!parentElement || !onDestroy) {\n return;\n }\n\n onDestroy({parent: parentElement});\n\n logger.debug(`destroy injected component`, {\n data: {\n label,\n },\n });\n }\n\n render() {\n const {label, fillContainer} = this.props;\n const className = fillContainer ? styles.fillContainer : '';\n return (\n <div\n data-contrib-injected={label}\n className={className}\n ref={ref => (this._root = ref)}\n />\n );\n }\n}\n\nexport {InjectedComponent};\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./injected-component.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contribinjected-component__fill-container___2LHoe{width:100%;height:100%;overflow:hidden}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/injected-component/injected-component.scss\"],\"names\":[],\"mappings\":\"AAAA,mDACE,UAAW,CACX,WAAY,CACZ,eAAgB\",\"file\":\"injected-component.scss\",\"sourcesContent\":[\".fill-container {\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"fill-container\": \"contribinjected-component__fill-container___2LHoe\",\n\t\"fillContainer\": \"contribinjected-component__fill-container___2LHoe\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","export * from './ui-player-adapter';\n","import {h, Component} from 'preact';\nimport {ContribLogger, getContribLogger} from '@playkit-js-contrib/common';\n\nexport interface UIPlayerAdapterProps {\n player: KalturaPlayerTypes.Player;\n onMount: (player: KalturaPlayerTypes.Player) => void;\n onUnmount: (player: KalturaPlayerTypes.Player) => void;\n}\n\n@KalturaPlayer.ui.components.withPlayer\nexport class UIPlayerAdapter extends Component<UIPlayerAdapterProps> {\n static defaultProps = {\n player: null,\n };\n\n private _logger: ContribLogger | null = null;\n\n componentDidMount(): void {\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'UIPlayerAdapter',\n });\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n\n this.props.onMount(this.props.player);\n }\n\n componentWillUnmount(): void {\n this.props.onUnmount(this.props.player);\n\n if (!this._logger) {\n return;\n }\n\n this._logger.info(`unmount component`, {\n method: 'componentWillUnmount',\n });\n }\n\n render(props: any) {\n return null;\n }\n}\n","import {ComponentChild, h} from 'preact';\nimport {UpperBarItem} from './upper-bar-item';\nimport {UpperBarItemData} from './upper-bar-item-data';\nimport {UpperBar} from './components/upper-bar';\nimport {PresetManager} from './preset-manager';\nimport {ArrayUtils, ObjectUtils} from '@playkit-js-contrib/common';\nimport {ManagedComponent} from './components/managed-component';\nimport {PresetsUtils} from './presets-utils';\nimport UpperBarConfig = KalturaPlayerContribTypes.UpperBarConfig;\nimport {getContribConfig} from './contrib-utils';\nimport {IconsMenu} from './components/icons-menu';\nconst {\n components: {PLAYER_SIZE},\n} = KalturaPlayer.ui;\n\nexport interface UpperBarManagerOptions {\n kalturaPlayer: KalturaPlayerTypes.Player;\n presetManager: PresetManager;\n}\n\ninterface IconsMenuConfig {\n iconsOrder: Record<string, number>;\n}\n\nconst defaultUpperBarConfig: UpperBarConfig = {\n presetAreasMapping: {\n Playback: {\n TopBarRightControls: 'TopBarRightControls',\n },\n Live: {\n TopBarRightControls: 'TopBarRightControls',\n },\n },\n};\n\nconst acceptableTypes = ['TopBarRightControls'];\n\nexport class UpperBarManager {\n private _rootElement: ManagedComponent | null;\n private _items: UpperBarItem[] = [];\n private _options: UpperBarManagerOptions;\n private _upperBarConfig: UpperBarConfig;\n private _iconsMenuConfig: IconsMenuConfig;\n\n constructor(options: UpperBarManagerOptions) {\n this._options = options;\n\n this._upperBarConfig = getContribConfig(\n this._options.kalturaPlayer,\n 'ui.upperBar',\n defaultUpperBarConfig,\n {\n explicitMerge: ['presetAreasMapping'],\n }\n );\n this._iconsMenuConfig = getContribConfig(\n this._options.kalturaPlayer,\n 'ui.iconsMenu',\n {iconsOrder: {}}\n );\n\n const groupedPresets = PresetsUtils.groupPresetAreasByType({\n presetAreasMapping: this._upperBarConfig.presetAreasMapping,\n acceptableTypes,\n });\n\n this._options.presetManager.add({\n label: 'upper-bar-manager',\n presetAreas: groupedPresets['TopBarRightControls'],\n renderChild: this._renderChild,\n });\n }\n\n private _renderChild = (): ComponentChild => {\n return (\n <ManagedComponent\n label={'upper-bar-manager'}\n renderChildren={playerSize => this._renderItems(playerSize)}\n isShown={() => true}\n updateOnPlayerSizeChanged\n ref={ref => (this._rootElement = ref)}\n />\n );\n };\n\n private _renderItems = (playerSize: string) => {\n const {upperBarItems, iconMenuItems} = this._prepareUpperBarItems(\n playerSize\n );\n\n const isIconMenuVisible = !!(upperBarItems.length && iconMenuItems.length);\n\n if (isIconMenuVisible) {\n const itemOptions = {\n kalturaPlayer: this._options.kalturaPlayer,\n data: {\n label: 'Icon-menu',\n onClick: () => {},\n renderItem: () => <IconsMenu content={iconMenuItems} />,\n },\n };\n const iconMenu = new UpperBarItem(itemOptions);\n upperBarItems.push(iconMenu);\n }\n\n const upperBarContent = upperBarItems.map(item => item.renderChild({}));\n\n return <UpperBar>{upperBarContent}</UpperBar>;\n };\n\n /**\n * initialize new upper bar item\n * @param item\n */\n add(data: UpperBarItemData): UpperBarItem {\n // TODO: for now list of icons order loads from embeded config, ex:\n // contrib: {\n // ui: {\n // fonts: { ... },\n // iconsMenu: {\n // iconsOrder: {\n // 'Report Video': 41,\n // Info: 50,\n // 'Q&A': 60,\n // }\n // }\n // }\n // };\n const itemOptions = {\n kalturaPlayer: this._options.kalturaPlayer,\n data,\n order: ObjectUtils.get(\n this._iconsMenuConfig,\n `iconsOrder.${data.label}`,\n 0\n ),\n };\n const item = new UpperBarItem(itemOptions);\n this._items.push(item);\n this._items = ArrayUtils.sortByKey(this._items, '_options.order').reverse();\n this.update();\n return item;\n }\n\n remove(itemToRemove: UpperBarItem): void {\n const itemIndex = ArrayUtils.findIndex(this._items, item => {\n return item === itemToRemove;\n });\n if (itemIndex === -1) return;\n\n this._items.splice(itemIndex, 1);\n this.update();\n }\n\n update() {\n if (this._rootElement) {\n this._rootElement.update();\n }\n }\n\n _prepareUpperBarItems(\n playerSize: string\n ): {\n upperBarItems: UpperBarItem[];\n iconMenuItems: UpperBarItem[];\n } {\n const iconMenuItems = [...this._items];\n let upperBarItems = [];\n switch (playerSize) {\n case PLAYER_SIZE.TINY:\n upperBarItems = [];\n break;\n case PLAYER_SIZE.EXTRA_SMALL:\n case PLAYER_SIZE.SMALL:\n upperBarItems = iconMenuItems.splice(0, 2);\n break;\n default:\n upperBarItems = iconMenuItems.splice(0, 4);\n }\n return {\n upperBarItems,\n iconMenuItems,\n };\n }\n\n /**\n * remove all ui manager items\n */\n reset(): void {\n this._items.forEach((item: UpperBarItem) => {\n this.remove(item);\n });\n }\n}\n","export {UpperBar} from './upper-bar';\n","import {h, Component} from 'preact';\nimport * as styles from './_upper-bar.scss';\nimport {getContribLogger} from '@playkit-js-contrib/common';\nimport {ContribLogger} from '@playkit-js-contrib/common';\n\nexport interface UpperBarProps {}\n\nexport class UpperBar extends Component<UpperBarProps> {\n private _logger: ContribLogger | null = null;\n\n componentDidMount(): void {\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'UpperBar',\n });\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n }\n\n componentWillUnmount(): void {\n if (!this._logger) {\n return;\n }\n\n this._logger.info(`unmount component`, {\n method: 'componentWillUnmount',\n });\n }\n\n render(props: any) {\n if (this._logger) {\n this._logger.trace(`render component`, {\n method: 'render',\n });\n }\n return <div className={styles.root}>{this.props.children}</div>;\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_upper-bar.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_upper-bar__root___1T--i{display:flex;flex-direction:row}.contrib_upper-bar__root___1T--i .upper-bar-icon{cursor:pointer}.contrib_upper-bar__root___1T--i>*{margin-left:10px}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/upper-bar/_upper-bar.scss\"],\"names\":[],\"mappings\":\"AAAA,iCAKE,YAAa,CACb,kBAAmB,CANrB,iDAEI,cAAe,CAFnB,mCASI,gBAAiB\",\"file\":\"_upper-bar.scss\",\"sourcesContent\":[\".root {\\n :global(.upper-bar-icon) {\\n cursor: pointer;\\n }\\n\\n display: flex;\\n flex-direction: row;\\n\\n &>* {\\n margin-left: 10px; // TODO sakal improve\\n }\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"contrib_upper-bar__root___1T--i\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","export * from './icons-menu';\n","import {h, Component} from 'preact';\nimport * as styles from './_icons-menu.scss';\nimport {getContribLogger} from '@playkit-js-contrib/common';\nimport {ContribLogger} from '@playkit-js-contrib/common';\nimport {\n Popover,\n PopoverVerticalPositions,\n PopoverHorizontalPositions,\n KeyboardKeys,\n} from '../popover';\nimport {PopoverMenu, PopoverMenuItem} from '../popover/popover-menu';\nimport {UpperBarItem} from '../../upper-bar-item';\n\nexport interface IconsMenuProps {\n content: UpperBarItem[];\n}\n\nexport class IconsMenu extends Component<IconsMenuProps> {\n private _logger: ContribLogger | null = null;\n\n componentDidMount(): void {\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'IconMenu',\n });\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n }\n\n componentWillUnmount(): void {\n if (!this._logger) {\n return;\n }\n\n this._logger.info(`unmount component`, {\n method: 'componentWillUnmount',\n });\n }\n\n private _onKeyDown = (e: KeyboardEvent, callBack: Function) => {\n if (e.keyCode !== KeyboardKeys.Enter && e.keyCode !== KeyboardKeys.Esc) {\n // don't stopPropagation on ESC and Enter pressed as it prevent the popup closing\n e.stopPropagation();\n }\n switch (e.keyCode) {\n case KeyboardKeys.Enter:\n callBack();\n break;\n }\n };\n\n private _getPopoverMenuOptions = (): PopoverMenuItem[] => {\n return this.props.content.map((item: UpperBarItem) => {\n const {\n renderChild,\n _options: {\n data: {label, onClick},\n },\n } = item;\n return {\n customRenderer: () => {\n return (\n <div\n tabIndex={1}\n role=\"button\"\n onKeyDown={(e: KeyboardEvent) => this._onKeyDown(e, onClick)}\n onClick={onClick}\n className={styles.iconMenuItem}>\n <div\n aria-hidden=\"true\"\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n }}>\n {renderChild({})}\n </div>\n <span className={styles.itemLabel}>{label}</span>\n </div>\n );\n },\n };\n });\n };\n\n private _popoverContent = () => {\n return <PopoverMenu options={this._getPopoverMenuOptions()} />;\n };\n\n render(props: IconsMenuProps) {\n if (this._logger) {\n this._logger.trace(`render component`, {\n method: 'render',\n });\n }\n\n return (\n // TODO - consider replace with core drop-down if possible\n <Popover\n className=\"icons-menu\"\n verticalPosition={PopoverVerticalPositions.Bottom}\n horizontalPosition={PopoverHorizontalPositions.Left}\n content={this._popoverContent()}>\n <button className={styles.iconMenu} tabIndex={1} />\n </Popover>\n );\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_icons-menu.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"./assets/more.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_icons-menu__icon-menu___186vH{width:32px;height:32px;opacity:0.8;border:none;padding:0;cursor:pointer;background-color:inherit;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \")}.contrib_icons-menu__icon-menu___186vH:hover,.contrib_icons-menu__icon-menu___186vH:focus{opacity:1}.contrib_icons-menu__icon-menu-item___t1NfQ{opacity:0.8;display:flex;align-items:center;height:36px;margin-bottom:1px;padding:0 8px;min-width:228px;border-radius:4px;background-color:#222222}.contrib_icons-menu__icon-menu-item___t1NfQ:focus{opacity:1;background-color:#333333}.contrib_icons-menu__icon-menu-item___t1NfQ:hover{opacity:1;background-color:#666666}.contrib_icons-menu__icon-menu-item___t1NfQ .contrib_icons-menu__item-label___1VK4q{margin-left:2px;font-size:15px}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/icons-menu/_icons-menu.scss\"],\"names\":[],\"mappings\":\"AAAA,uCACI,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,WAAY,CACZ,SAAU,CACV,cAAe,CACf,wBAAyB,CACzB,2BAA4B,CAC5B,0BAA2B,CAC3B,uBAAwB,CACxB,wDAA0C,CAX9C,0FAcM,SAAU,CACX,4CAIH,WAAY,CASZ,YAAa,CACb,kBAAmB,CACnB,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,eAAgB,CAChB,iBAAkB,CAClB,wBAAyB,CAjB3B,kDAGI,SAAU,CACV,wBAAyB,CAJ7B,kDAOI,SAAU,CACV,wBAAyB,CAR7B,oFAmBI,eAAgB,CAChB,cAAe\",\"file\":\"_icons-menu.scss\",\"sourcesContent\":[\".icon-menu {\\n width: 32px;\\n height: 32px;\\n opacity: 0.8;\\n border: none;\\n padding: 0;\\n cursor: pointer;\\n background-color: inherit;\\n background-repeat: no-repeat;\\n background-position: center;\\n background-size: contain;\\n background-image: url('./assets/more.svg');\\n &:hover,\\n &:focus {\\n opacity: 1;\\n }\\n}\\n\\n.icon-menu-item {\\n opacity: 0.8;\\n &:focus {\\n opacity: 1;\\n background-color: #333333;\\n }\\n &:hover {\\n opacity: 1;\\n background-color: #666666;\\n }\\n display: flex;\\n align-items: center;\\n height: 36px;\\n margin-bottom: 1px;\\n padding: 0 8px;\\n min-width: 228px;\\n border-radius: 4px;\\n background-color: #222222;\\n .item-label {\\n margin-left: 2px;\\n font-size: 15px;\\n }\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"icon-menu\": \"contrib_icons-menu__icon-menu___186vH\",\n\t\"iconMenu\": \"contrib_icons-menu__icon-menu___186vH\",\n\t\"icon-menu-item\": \"contrib_icons-menu__icon-menu-item___t1NfQ\",\n\t\"iconMenuItem\": \"contrib_icons-menu__icon-menu-item___t1NfQ\",\n\t\"item-label\": \"contrib_icons-menu__item-label___1VK4q\",\n\t\"itemLabel\": \"contrib_icons-menu__item-label___1VK4q\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import {h, Component, ComponentChild} from 'preact';\nimport * as styles from './popover.scss';\n\nexport enum PopoverVerticalPositions {\n Top = 'top',\n Bottom = 'bottom',\n}\nexport enum PopoverHorizontalPositions {\n Left = 'left',\n Right = 'right',\n}\nexport enum PopoverTriggerMode {\n Click = 'click',\n Hover = 'hover',\n}\n\nexport enum KeyboardKeys {\n Esc = 27,\n Enter = 13,\n Tab = 9,\n Space = 32,\n End = 35,\n Home = 36,\n}\n\nconst CLOSE_ON_HOVER_DELAY = 500;\n\nconst defaultProps = {\n verticalPosition: PopoverVerticalPositions.Top,\n horizontalPosition: PopoverHorizontalPositions.Left,\n triggerMode: PopoverTriggerMode.Click,\n className: 'popover',\n closeOnEsc: true,\n closeOnClick: true,\n};\n\ninterface PopoverProps {\n onClose?: () => void;\n onOpen?: () => void;\n closeOnClick: boolean;\n closeOnEsc: boolean;\n verticalPosition: PopoverVerticalPositions;\n horizontalPosition: PopoverHorizontalPositions;\n className: string;\n triggerMode: PopoverTriggerMode;\n content: ComponentChild;\n children: ComponentChild;\n}\n\ninterface PopoverState {\n open: boolean;\n}\n\n/**\n * Popover renders popup with a target.\n * Properties description:\n * onOpen - function that will be executed when popover opens;\n * onClose - function that will be executed when popover closes;\n * closeOnClick - close the popover on mouse click;\n * verticalPosition - vertical position of popover relative to target (\"top\" or \"bottom\"), default - \"top\";\n * horizontalPosition - horizontal position of popover relative to target (\"left\" or \"right\"), default - \"left\";\n * !!! known limitation of popover positions: if popover opens beyond the visible area of the player - the popover will be overlapped by player\n * className - popover class, can be use for popover styling, default - 'popover';\n * closeOnEsc - handle ESC keyboard pressed event and close popover, default - true;\n * triggerMode - popover support 2 ways for opening: click (keyPress) and mouse hover (\"click\" or \"hover\"), default - \"click\";\n * content - content of popover. Can be any valid Preact node, ex:\n * <select>\n * <option>Option 1</option>\n * ...\n * <option>Option n</option>\n * </select>\n * children - popover target. Can be any valid Preact node, ex:\n * <button>\n * <i className=\"icon\" />\n * </button>\n */\n\nexport class Popover extends Component<PopoverProps, PopoverState> {\n private _closeTimeout: any = null;\n private _controlElement = null;\n static defaultProps = {\n ...defaultProps,\n };\n state = {\n open: false,\n };\n\n componentWillUnmount() {\n this._removeListeners();\n }\n\n private _clearTimeout = () => {\n clearTimeout(this._closeTimeout);\n this._closeTimeout = null;\n };\n\n private _handleMouseEvent = (event: MouseEvent) => {\n if (\n !this._controlElement.contains(event.target) &&\n this.props.closeOnClick\n ) {\n this._closePopover();\n }\n };\n\n private _handleKeyboardEvent = (event: KeyboardEvent) => {\n if (\n this._controlElement.contains(event.target) &&\n event.keyCode === KeyboardKeys.Enter\n ) {\n // handle Enter key pressed on Target icon to prevent triggering of _closePopover twice\n return;\n }\n if (\n (this.props.closeOnEsc && event.keyCode === KeyboardKeys.Esc) ||\n event.keyCode === KeyboardKeys.Enter\n ) {\n // handle if ESC or Enter button presesd\n this._closePopover();\n }\n };\n\n private _openPopover = () => {\n const {onOpen} = this.props;\n this._clearTimeout();\n this.setState({open: true}, () => {\n this._addListeners();\n if (onOpen) {\n onOpen();\n }\n });\n };\n\n private _closePopover = () => {\n const {onClose} = this.props;\n this._clearTimeout();\n this.setState({open: false}, () => {\n this._removeListeners();\n if (onClose) {\n onClose();\n }\n });\n };\n\n private _togglePopover = (e: MouseEvent | KeyboardEvent) => {\n if (this.state.open) {\n this._closePopover();\n } else {\n this._openPopover();\n }\n };\n private _handleMouseEnter = () => {\n if (!this.state.open) {\n this._openPopover();\n }\n };\n private _handleMouseLeave = () => {\n this._closeTimeout = setTimeout(this._closePopover, CLOSE_ON_HOVER_DELAY);\n };\n private _handleHoverOnPopover = () => {\n if (this.state.open && this._closeTimeout) {\n this._clearTimeout();\n } else {\n this._closePopover();\n }\n };\n private _addListeners = () => {\n document.addEventListener('click', this._handleMouseEvent);\n document.addEventListener('keydown', this._handleKeyboardEvent);\n };\n private _removeListeners = () => {\n document.removeEventListener('click', this._handleMouseEvent);\n document.removeEventListener('keydown', this._handleKeyboardEvent);\n };\n private _getHoverEvents = () => {\n if (this.props.triggerMode === PopoverTriggerMode.Hover) {\n return {\n targetEvents: {\n onMouseEnter: this._handleMouseEnter,\n onMouseLeave: this._handleMouseLeave,\n },\n popoverEvents: {\n onMouseEnter: this._handleHoverOnPopover,\n onMouseLeave: this._handleHoverOnPopover,\n },\n };\n }\n return {targetEvents: {onClick: this._togglePopover}, popoverEvents: {}};\n };\n render(props: PopoverProps) {\n if (!props.content || !props.children) {\n return null;\n }\n const {targetEvents, popoverEvents} = this._getHoverEvents();\n return (\n <div className={styles.popoverContainer}>\n <div\n className=\"popover-anchor-container\"\n ref={node => {\n this._controlElement = node;\n }}\n {...targetEvents}>\n {props.children}\n </div>\n {this.state.open && (\n <div\n aria-expanded=\"true\"\n className={[\n props.className,\n styles.popoverComponent,\n styles[props.verticalPosition],\n styles[props.horizontalPosition],\n ].join(' ')}\n {...popoverEvents}>\n {props.content}\n </div>\n )}\n </div>\n );\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./popover.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contribpopover__popover-container___35CJw{position:relative}.contribpopover__popover-container___35CJw .contribpopover__popover-component___BuiEX{background-color:#222222;border-radius:4px;position:absolute;right:0px;font-size:15px;display:block}.contribpopover__popover-container___35CJw .contribpopover__popover-component___BuiEX.contribpopover__visible___21aRy{visibility:visible;opacity:1;z-index:10}.contribpopover__popover-container___35CJw .contribpopover__popover-component___BuiEX.contribpopover__top___SCpk8{bottom:100%;margin-bottom:6px}.contribpopover__popover-container___35CJw .contribpopover__popover-component___BuiEX.contribpopover__bottom___1gFrU{top:100%;margin-top:6px}.contribpopover__popover-container___35CJw .contribpopover__popover-component___BuiEX.contribpopover__right___zCEB3{left:0px}.contribpopover__popover-container___35CJw .contribpopover__popover-component___BuiEX.contribpopover__left___2H-Oh{right:0px}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/popover/popover.scss\"],\"names\":[],\"mappings\":\"AAAA,2CACI,iBAAkB,CADtB,sFAGQ,wBAAyB,CACzB,iBAAkB,CAClB,iBAAkB,CAClB,SAAU,CACV,cAAe,CACf,aAAc,CARtB,sHAUY,kBAAmB,CACnB,SAAU,CACV,UAAW,CAZvB,kHAeY,WAAY,CACZ,iBAAkB,CAhB9B,qHAmBY,QAAS,CACT,cAAe,CApB3B,oHAuBY,QAAS,CAvBrB,mHA0BY,SAAU\",\"file\":\"popover.scss\",\"sourcesContent\":[\".popover-container {\\n position: relative;\\n .popover-component {\\n background-color: #222222;\\n border-radius: 4px;\\n position: absolute;\\n right: 0px;\\n font-size: 15px;\\n display: block;\\n &.visible {\\n visibility: visible;\\n opacity: 1;\\n z-index: 10;\\n }\\n &.top {\\n bottom: 100%;\\n margin-bottom: 6px;\\n }\\n &.bottom {\\n top: 100%;\\n margin-top: 6px;\\n }\\n &.right {\\n left: 0px;\\n }\\n &.left {\\n right: 0px;\\n }\\n }\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"popover-container\": \"contribpopover__popover-container___35CJw\",\n\t\"popoverContainer\": \"contribpopover__popover-container___35CJw\",\n\t\"popover-component\": \"contribpopover__popover-component___BuiEX\",\n\t\"popoverComponent\": \"contribpopover__popover-component___BuiEX\",\n\t\"visible\": \"contribpopover__visible___21aRy\",\n\t\"top\": \"contribpopover__top___SCpk8\",\n\t\"bottom\": \"contribpopover__bottom___1gFrU\",\n\t\"right\": \"contribpopover__right___zCEB3\",\n\t\"left\": \"contribpopover__left___2H-Oh\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import {h, Component, ComponentChild} from 'preact';\nimport * as styles from './popover-menu.scss';\n\nexport interface PopoverMenuItem {\n label?: string;\n onMenuChosen?: Function;\n customRenderer?: (el: PopoverMenuItem) => ComponentChild;\n}\n\ninterface PopoverMenuProps {\n options: Array<PopoverMenuItem>;\n itemRenderer?: (el: PopoverMenuItem) => ComponentChild;\n}\n\n/**\n * Popover menu renders list of options.\n * options example:\n * [\n * {label: 'option_1', onMenuChosen: () => console.log('selected first')},\n * {label: 'option_2', onMenuChosen: () => console.log('selected second')}\n * ]\n * In case when 'itemRenderer' properdy hasn't provided - PopoverMenu renders\n * div with class \"popover-menu-item\" that contain label for the current option.\n * Default render of options can be changed by providing 'itemRenderer' - it should be\n * function that takes current option and returns valid 'preact' node.\n * If some option need to be rendered with a different method - specific render\n * method can be provided with 'customRenderer' property for the current option.\n * option example with specific render method:\n * { label: 'specific render', onMenuChosen: () => {}, customRenderer: el => (<span>{el.label}</span>)}\n */\n\nexport class PopoverMenu extends Component<PopoverMenuProps> {\n render(props: any) {\n return (\n <div className={styles.popoverMenu}>\n {props.options.map((el: PopoverMenuItem) => {\n if (el.customRenderer) {\n return el.customRenderer(el);\n }\n if (props.itemRenderer) {\n return props.itemRenderer(el);\n }\n return (\n <div\n className=\"popover-menu-item\"\n onClick={() => el.onMenuChosen(el)}>\n {el.label}\n </div>\n );\n })}\n </div>\n );\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./popover-menu.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contribpopover-menu__popover-menu___3upQr{padding-top:6px;padding-bottom:6px}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/popover/popover-menu.scss\"],\"names\":[],\"mappings\":\"AAAA,2CACI,eAAgB,CAChB,kBAAmB\",\"file\":\"popover-menu.scss\",\"sourcesContent\":[\".popover-menu {\\n padding-top: 6px;\\n padding-bottom: 6px;\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"popover-menu\": \"contribpopover-menu__popover-menu___3upQr\",\n\t\"popoverMenu\": \"contribpopover-menu__popover-menu___3upQr\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import {Component, h} from 'preact';\nimport * as styles from './_kitchen-sink-container.scss';\nimport {ContribLogger, getContribLogger} from '@playkit-js-contrib/common';\n\nexport interface KitchenSinkContainerRendererProps {}\n\nexport class KitchenSinkContainer extends Component<\n KitchenSinkContainerRendererProps\n> {\n static defaultProps = {\n updateSidePanelMode: () => {},\n };\n\n private _logger: ContribLogger | null = null;\n\n componentDidMount(): void {\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'KitchenSinkContainer',\n });\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n }\n\n componentWillUnmount(): void {\n if (!this._logger) {\n return;\n }\n\n this._logger.info(`unmount component`, {\n method: 'componentWillUnmount',\n });\n }\n\n render(props: any) {\n if (this._logger) {\n this._logger.trace(`render component`, {\n method: 'render',\n });\n }\n\n return <div className={styles.root}>{this.props.children}</div>;\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_kitchen-sink-container.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_kitchen-sink-container__root___3bxzN{width:100%;height:100%}.playkit-side-panel-content>div{width:100%;height:100%}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/kitchen-sink-container/_kitchen-sink-container.scss\"],\"names\":[],\"mappings\":\"AAAA,8CACE,UAAW,CACX,WAAY,CACb,gCAKG,UAAW,CACX,WAAY\",\"file\":\"_kitchen-sink-container.scss\",\"sourcesContent\":[\".root {\\n width: 100%;\\n height: 100%;\\n}\\n\\n/* TODO should fix in player and remove */\\n:global(.playkit-side-panel-content) {\\n & > div {\\n width: 100%;\\n height: 100%;\\n }\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"contrib_kitchen-sink-container__root___3bxzN\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","export * from './kitchen-sink-adapter';\n","import {h, Component} from 'preact';\nimport {ContribLogger, getContribLogger} from '@playkit-js-contrib/common';\nimport {\n KitchenSinkExpandModes,\n KitchenSinkPositions,\n} from '../../kitchen-sink-item-data';\n\nexport interface KitchenSinkAdapterProps {\n updateSidePanelMode: (\n position: SidePanelPositions,\n sidePanelMode: SidePanelModes\n ) => void;\n sidePanelsModes?: SidePanelModes;\n}\n\nexport enum SidePanelPositions {\n Left = 'left',\n Top = 'top',\n Bottom = 'bottom',\n Right = 'right',\n}\n\nexport enum SidePanelModes {\n AlongSideTheVideo = 'alongside',\n Hidden = 'hidden',\n OverTheVideo = 'over',\n}\n\nconst mapStateToProps = state => {\n return {\n sidePanelsModes: state.shell.sidePanelsModes,\n };\n};\n\n@KalturaPlayer.ui.redux.connect(\n mapStateToProps,\n KalturaPlayer.ui.utils.bindActions(KalturaPlayer.ui.reducers.shell.actions),\n null,\n {\n forwardRef: true,\n }\n)\nexport class KitchenSinkAdapter extends Component<KitchenSinkAdapterProps> {\n static defaultProps = {\n updateSidePanelMode: () => {},\n };\n\n private _logger: ContribLogger | null = null;\n\n componentDidMount(): void {\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'KitchenSinkAdapter',\n });\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n }\n\n componentWillUnmount(): void {\n if (!this._logger) {\n return;\n }\n\n this._logger.info(`unmount component`, {\n method: 'componentWillUnmount',\n });\n }\n\n public expand(position: KitchenSinkPositions, mode: KitchenSinkExpandModes) {\n this.props.updateSidePanelMode(\n this._convertToAdapterPositionEnum(position),\n this._convertToAdapterModeEnum(mode)\n );\n }\n\n public getSidePanelMode(\n position: KitchenSinkPositions\n ): KitchenSinkExpandModes {\n if (!this.props.sidePanelsModes) return KitchenSinkExpandModes.Hidden;\n return this._convertToKitchenSinkModeEnum(\n this.props.sidePanelsModes[this._convertToAdapterPositionEnum(position)]\n );\n }\n\n public collapse(position: KitchenSinkPositions) {\n this.props.updateSidePanelMode(\n this._convertToAdapterPositionEnum(position),\n SidePanelModes.Hidden\n );\n }\n\n render(props: any) {\n return null;\n }\n\n private _convertToAdapterPositionEnum(\n position: KitchenSinkPositions\n ): SidePanelPositions {\n return position === KitchenSinkPositions.Top\n ? SidePanelPositions.Top\n : position === KitchenSinkPositions.Bottom\n ? SidePanelPositions.Bottom\n : position === KitchenSinkPositions.Right\n ? SidePanelPositions.Right\n : SidePanelPositions.Left;\n }\n\n private _convertToAdapterModeEnum(\n mode: KitchenSinkExpandModes\n ): SidePanelModes {\n return mode === KitchenSinkExpandModes.AlongSideTheVideo\n ? SidePanelModes.AlongSideTheVideo\n : mode === KitchenSinkExpandModes.OverTheVideo\n ? SidePanelModes.OverTheVideo\n : SidePanelModes.Hidden;\n }\n\n private _convertToKitchenSinkModeEnum(\n mode: SidePanelModes\n ): KitchenSinkExpandModes {\n return mode === SidePanelModes.AlongSideTheVideo\n ? KitchenSinkExpandModes.AlongSideTheVideo\n : mode === SidePanelModes.OverTheVideo\n ? KitchenSinkExpandModes.OverTheVideo\n : KitchenSinkExpandModes.Hidden;\n }\n}\n","export * from './kitchen-sink';\n","import {Component, h} from 'preact';\nimport {ContribLogger, getContribLogger} from '@playkit-js-contrib/common';\nimport * as styles from './_kitchen-sink.scss';\n\nexport interface KitchenSinkProps {\n isActive: boolean;\n kitchenSinkConfig: KalturaPlayerContribTypes.KitchenSinkConfig;\n}\n\nexport class KitchenSink extends Component<KitchenSinkProps> {\n static defaultProps = {\n isActive: false,\n };\n\n private _logger: ContribLogger | null = null;\n\n componentDidMount(): void {\n this._logger = getContribLogger({\n module: 'contrib-ui',\n class: 'KitchenSink',\n });\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n }\n\n componentWillUnmount(): void {\n if (!this._logger) {\n return;\n }\n\n this._logger.info(`unmount component`, {\n method: 'componentWillUnmount',\n });\n }\n\n render(props: any) {\n if (this._logger) {\n this._logger.trace(`render component`, {\n method: 'render',\n });\n }\n\n const {backgroundColor, blur} = this.props.kitchenSinkConfig.theme;\n\n return (\n <div className={this._getClass()}>\n <div\n className={styles.backgroundLayout}\n style={`\n background-color:${backgroundColor}; \n backdrop-filter: blur(${blur});\n `}\n />\n <div className={styles.children}>{this.props.children}</div>\n </div>\n );\n }\n\n private _getClass(): string {\n return styles.root + ' ' + (this.props.isActive ? styles.active : '');\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_kitchen-sink.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_kitchen-sink__root___2dg28{position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%;transition:opacity 500ms ease-in-out;opacity:0;z-index:-1}.contrib_kitchen-sink__root___2dg28.contrib_kitchen-sink__active___2Xv8g{opacity:1;z-index:0}.contrib_kitchen-sink__children___UBMYE{position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%}.contrib_kitchen-sink__background-layout___2pJ-a{width:100%;height:100%}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/kitchen-sink/_kitchen-sink.scss\"],\"names\":[],\"mappings\":\"AAAA,oCACE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,eAAgB,CAChB,UAAW,CACX,WAAY,CACZ,oCAAqC,CACrC,SAAU,CACV,UAAW,CATb,yEAYI,SAAU,CACV,SAAU,CACX,wCAID,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,eAAgB,CAChB,UAAW,CACX,WAAY,CACb,iDAGC,UAAW,CACX,WAAY\",\"file\":\"_kitchen-sink.scss\",\"sourcesContent\":[\".root {\\n position: absolute;\\n top: 0;\\n left: 0;\\n overflow: hidden;\\n width: 100%;\\n height: 100%;\\n transition: opacity 500ms ease-in-out;\\n opacity: 0;\\n z-index: -1;\\n\\n &.active {\\n opacity: 1;\\n z-index: 0;\\n }\\n}\\n\\n.children {\\n position: absolute;\\n top: 0;\\n left: 0;\\n overflow: hidden;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.background-layout {\\n width: 100%;\\n height: 100%;\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"contrib_kitchen-sink__root___2dg28\",\n\t\"active\": \"contrib_kitchen-sink__active___2Xv8g\",\n\t\"children\": \"contrib_kitchen-sink__children___UBMYE\",\n\t\"background-layout\": \"contrib_kitchen-sink__background-layout___2pJ-a\",\n\t\"backgroundLayout\": \"contrib_kitchen-sink__background-layout___2pJ-a\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import axios from 'axios';\nimport {getContribLogger, ObjectUtils} from '@playkit-js-contrib/common';\nimport PlayerConfig = KalturaPlayerTypes.PlayerConfig;\nimport FontsConfig = KalturaPlayerContribTypes.FontsConfig;\nimport TestingFontOptions = KalturaPlayerContribTypes.TestingFontOptions;\nimport {getContribConfig} from './contrib-utils';\n\nexport interface FontManagerOptions {\n kalturaPlayer: KalturaPlayerTypes.Player;\n}\n\nconst logger = getContribLogger({\n module: 'ui',\n class: 'FontManager',\n});\n\nconst fontKeyPrefix = 'contrib-plugins-font-';\n\nconst defaultFontsConfig: FontsConfig = {\n fontFamily: 'Lato, sans-serif',\n testingFont: {\n text: 'abcdefghiiiiiiiiijklmnopqrstuvwwwwwwwwwwxyz0123456789',\n size: 72,\n fontName: 'monospace',\n },\n};\n\n//shared property for indicating current loaded fontFamily to support multiple contrib managers in a single page\n// ( multiple players instances )\nlet currentFontFamily = '';\n\nexport class FontManager {\n private _fontConfig: FontsConfig;\n\n constructor(options: FontManagerOptions) {\n this._fontConfig = getContribConfig(\n options.kalturaPlayer,\n 'ui.fonts',\n defaultFontsConfig\n );\n }\n\n public loadFont(): void {\n // a previous request for loading a font was already made\n if (this._isFontLoaded()) return;\n const {fontFamily} = this._fontConfig;\n try {\n // override player font style\n this._overrideCorePlayerFontStyles();\n // making sure no additional calls for loading font will be accepted\n currentFontFamily = fontFamily;\n // download font data if needed\n this._handleFontDownloadProcess();\n } catch (err) {\n logger.warn(\n `Failed to load font and override core player style with ${fontFamily}`,\n {\n method: 'loadFont',\n data: {\n error: err,\n },\n }\n );\n }\n }\n\n public reset(): void {}\n\n private _overrideCorePlayerFontStyles(): void {\n const {fontFamily} = this._fontConfig;\n const fontCss = `.kaltura-player-container {\n font-family: inherit;\n } \n .playkit-player {\n font-family: ${fontFamily};\n }\n .playkit-player .playkit-player-gui {\n font-family: ${fontFamily};\n }\n button, textarea {\n font-family: inherit;\n }`;\n const lastHeadChild = (\n document.head || document.getElementsByTagName('head')[0]\n ).lastElementChild;\n const style = document.createElement('style');\n //adding as last child\n lastHeadChild.parentNode.insertBefore(style, lastHeadChild.nextSibling);\n style.appendChild(document.createTextNode(fontCss));\n logger.info(\n `Overridden Core player font-family style with: ${fontFamily}`,\n {\n method: '_overrideCorePlayerFontStyles',\n }\n );\n }\n\n private _handleFontDownloadProcess(): void {\n const {downloadData, testingFont} = this._fontConfig;\n if (!downloadData) return;\n if (!downloadData.name || !downloadData.url) {\n //download data object is incomplete\n logger.warn(\n 'Configuration provided for contrib.ui.fonts.downloadData is invalid' +\n ' (did you remember to provide both url and name?).',\n {\n method: 'loadFont',\n }\n );\n return;\n }\n // font exists in the system, no need to load / download it\n if (this._checkFontExistence(downloadData.name, testingFont)) {\n logger.info(\n `Font ${downloadData.name} already exists, no need to reload it`,\n {\n method: 'loadFont',\n }\n );\n return;\n }\n // download and inject font\n this._downloadAndCacheFont(downloadData.name, downloadData.url).then(\n fontData => {\n if (fontData) {\n this._injectFontRawStyle(downloadData.name, fontData);\n }\n }\n );\n }\n\n private _checkFontExistence(\n fontName,\n testingOptions: TestingFontOptions\n ): boolean {\n try {\n // creating an in-memory Canvas element\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n // the text whose final pixel size we want to measure\n const text = testingOptions.text;\n const fontSize = `${testingOptions.size}px`;\n // baseline font\n context.font = `${fontSize} ${testingOptions.fontName}`;\n // size of the baseline text\n const baselineSize = context.measureText(text).width;\n // specifying the font whose existence we want to check\n context.font = `${fontSize} ${fontName},${testingOptions.fontName}`;\n // checking the size of the font we want to check\n const newSize = context.measureText(text).width;\n // If the size of the two text instances is the same, the font does not exist\n // because it is being rendered using the same font\n return newSize !== baselineSize;\n } catch (err) {\n logger.warn(\n `Failed to determine if font ${fontName} exists in the system.`,\n {\n method: '_checkFontExistence',\n data: {\n error: err,\n },\n }\n );\n return false;\n }\n }\n\n private _downloadAndCacheFont(\n fontName: string,\n url: string\n ): Promise<string | null> {\n // try to load cached font data from localStorage\n const cachedFontData = this._loadFontFromLocalStorage(fontName);\n if (cachedFontData && cachedFontData !== '') {\n return Promise.resolve(cachedFontData);\n }\n\n // download font and cache to localStorage\n return axios\n .get(url)\n .then((result: any) => {\n if (\n result.data &&\n typeof result.data === 'string' &&\n result.data !== ''\n ) {\n logger.info(`font ${fontName} was downloaded successfully`, {\n method: '_downloadAndCacheFont',\n });\n this._saveFontToLocalStorage(`${fontName}`, result.data);\n return result.data;\n }\n // got an unexpected result\n logger.warn(\n `failed to downloaded font ${fontName} due to an unexpected font data`,\n {\n method: '_downloadAndCacheFont',\n data: {\n error: result.data ? result.data : 'empty font data',\n },\n }\n );\n return null;\n })\n .catch(err => {\n logger.warn(`Failed to download font ${fontName}`, {\n method: '_downloadFont',\n data: {\n error: err,\n },\n });\n return null;\n });\n }\n\n private _injectFontRawStyle(fontName: string, fontData: string): void {\n try {\n const style = document.createElement('style');\n style.innerHTML = fontData;\n (document.head || document.getElementsByTagName('head')[0]).appendChild(\n style\n );\n logger.info(`font \"${fontName}\" raw data style was injected`, {\n method: '_injectFontRawStyle',\n });\n } catch (err) {\n logger.warn(\n `Failed to inject font ${fontName} data to core player style.`,\n {\n method: '_injectFontRawStyle',\n data: {\n error: err,\n },\n }\n );\n }\n }\n\n private _loadFontFromLocalStorage(fontName: string): string | null {\n try {\n return localStorage.getItem(`${fontKeyPrefix}${fontName}`);\n } catch (err) {\n logger.warn(\n `Failed to load font \"${fontName}\" data, key: ${fontKeyPrefix}${fontName} from localStorage`,\n {\n method: '_loadFontFromLocalStorage',\n data: {\n error: err,\n },\n }\n );\n return null;\n }\n }\n\n private _saveFontToLocalStorage(fontName: string, fontValue: string): void {\n try {\n localStorage.setItem(`${fontKeyPrefix}${fontName}`, fontValue);\n logger.info(`font \"${fontName}\" was cached into localStorage`, {\n method: '_saveFontToLocalStorage',\n });\n } catch (err) {\n logger.warn(`Failed to cache font \"${fontName}\" into localStorage`, {\n method: '_saveFontToLocalStorage',\n data: {\n error: err,\n },\n });\n }\n }\n\n private _isFontLoaded(): boolean {\n if (currentFontFamily === '') return false;\n if (currentFontFamily !== this._fontConfig.fontFamily) {\n logger.warn(\n `This request for loading font will be ignored since\n an earlier call for loading ${this._fontConfig.fontFamily} was made.`,\n {\n method: '_isFontLoaded',\n }\n );\n }\n return true;\n }\n}\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n config.method = config.method ? config.method.toLowerCase() : 'get';\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","import {ScaleCalculation, scaleVideo} from './scale-video';\nimport {CuepointEngine} from '@playkit-js-contrib/common';\nimport {PlayerSize, VideoSize} from './common.types';\nimport {getContribLogger} from '@playkit-js-contrib/common';\n\ntype Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;\n\nenum ChangeTypes {\n Show = 'show',\n Hide = 'hide',\n}\ntype ChangeData<T extends FloatingCuepoint> = {\n time: number;\n type: ChangeTypes;\n cuePoint: T;\n};\n\nconst reasonableSeekThreshold = 2000;\n\nexport interface Layout {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport interface FloatingCuepoint {\n id: string;\n startTime: number;\n endTime?: number;\n rawLayout: {\n relativeX: number;\n relativeY: number;\n relativeWidth: number;\n relativeHeight: number;\n stageWidth: number;\n stageHeight: number;\n };\n layout: Layout;\n}\n\nexport type RawFloatingCuepoint = Omit<FloatingCuepoint, 'layout'>;\n\nexport interface FloatingCuepoint extends RawFloatingCuepoint {}\n\nconst logger = getContribLogger({\n module: 'contrib-ui',\n class: 'CuepointFloatingEngine',\n});\n\nexport class CuepointFloatingEngine<\n TRaw extends RawFloatingCuepoint,\n T extends FloatingCuepoint\n> extends CuepointEngine<T> {\n private playerSize: PlayerSize | null = null;\n private videoSize: VideoSize | null = null;\n\n constructor(cuepoints: TRaw[]) {\n super(cuepoints as any); // NOTICE: it is the responsability of this engine not to return cuepoint without layout\n }\n\n public updateLayout(\n playerSize: PlayerSize | null,\n videoSize: VideoSize | null\n ) {\n this.videoSize = videoSize;\n this.playerSize = playerSize;\n\n this.recalculateCuepointLayout();\n return this.getCurrentCuepointSnapshot();\n }\n\n private _calculateLayout(\n cuepoint: TRaw,\n scaleCalculation: ScaleCalculation\n ): Layout {\n const {rawLayout} = cuepoint;\n return {\n x: scaleCalculation.left + rawLayout.relativeX * scaleCalculation.width,\n y: scaleCalculation.top + rawLayout.relativeY * scaleCalculation.height,\n width: rawLayout.relativeWidth * scaleCalculation.width,\n height: rawLayout.relativeHeight * scaleCalculation.height,\n };\n }\n\n private recalculateCuepointLayout(): void {\n logger.debug('calculating cuepoint layout based on video/player sizes', {\n method: 'recalculateCuepointLayout',\n });\n\n if (!this.playerSize || !this.videoSize) {\n logger.warn('missing video/player sizes, hide all cuepoint', {\n method: 'recalculateCuepointLayout',\n });\n this.enabled = false;\n return;\n }\n\n const {width: playerWidth, height: playerHeight} = this.playerSize;\n const {width: videoWidth, height: videoHeight} = this.videoSize;\n const canCalcaulateLayout =\n playerWidth && playerHeight && videoWidth && videoHeight;\n\n if (!canCalcaulateLayout) {\n logger.warn('missing video/player sizes, hide all cuepoint', {\n method: 'recalculateCuepointLayout',\n });\n this.enabled = false;\n return;\n }\n\n const scaleCalculation = scaleVideo(\n videoWidth,\n videoHeight,\n playerWidth,\n playerHeight,\n true\n );\n\n logger.debug('recalculate cuepoint layout based on new sizes', {\n method: 'recalculateCuepointLayout',\n data: {\n scaleCalculation,\n },\n });\n\n (this.cuepoints || []).forEach(cuepoint => {\n cuepoint.layout = this._calculateLayout(\n cuepoint as any,\n scaleCalculation\n );\n });\n\n this.enabled = true;\n }\n}\n","export function downloadContent(content: string, name: string): void {\n const blob = new Blob([content], {type: 'text/plain;charset=utf-8;'});\n const anchor = document.createElement('a');\n if (window.navigator.msSaveBlob) {\n // IE\n window.navigator.msSaveOrOpenBlob(blob, name);\n return;\n }\n if (navigator.userAgent.search('Firefox') !== -1) {\n // Firefox\n anchor.style.display = 'none';\n anchor.setAttribute(\n 'href',\n 'data:text/plain;charset=utf-8,' + encodeURIComponent(content)\n );\n } else {\n // Chrome\n anchor.setAttribute('href', URL.createObjectURL(blob));\n }\n anchor.setAttribute('target', '_blank');\n anchor.setAttribute('download', name);\n anchor.click();\n anchor.remove();\n}\n\nexport function printContent(content: string): void {\n const printWindow = window.open('', '', 'width=400,height=600');\n if (printWindow) {\n printWindow.document.write(content);\n printWindow.document.close();\n printWindow.focus();\n printWindow.print();\n printWindow.close();\n }\n}\n\nexport function timeSince(date: any) {\n if (typeof date !== 'object') {\n date = new Date(date);\n }\n const currentDate: any = new Date();\n const seconds = Math.floor((currentDate - date) / 1000);\n let intervalType;\n let interval = Math.floor(seconds / 31536000);\n if (interval >= 1) {\n intervalType = 'year';\n } else {\n interval = Math.floor(seconds / 2592000);\n if (interval >= 1) {\n intervalType = 'month';\n } else {\n interval = Math.floor(seconds / 86400);\n if (interval >= 1) {\n intervalType = 'day';\n } else {\n interval = Math.floor(seconds / 3600);\n if (interval >= 1) {\n intervalType = 'hour';\n } else {\n interval = Math.floor(seconds / 60);\n if (interval >= 1) {\n intervalType = 'minute';\n } else {\n interval = -1;\n intervalType = 'a moment';\n }\n }\n }\n }\n }\n\n if (interval > 1 || interval === 0) {\n intervalType += 's';\n }\n\n return `${interval >= 0 ? interval : ''} ${intervalType} ago`;\n}\n","import {ComponentChild, h} from 'preact';\nimport {OverlayItem} from './overlay-item';\nimport {OverlayItemData, OverlayPositions} from './overlay-item-data';\nimport {PresetManager} from './preset-manager';\nimport {ObjectUtils} from '@playkit-js-contrib/common';\nimport {ManagedComponent} from './components/managed-component';\nimport {OverlayItemContainer} from './components/overlay-item-container';\nimport {PresetsUtils} from './presets-utils';\nimport OverlayConfig = KalturaPlayerContribTypes.OverlayConfig;\nimport {getContribConfig} from './contrib-utils';\n\nexport interface OverlayManagerOptions {\n presetManager: PresetManager;\n kalturaPlayer: KalturaPlayerTypes.Player;\n}\n\nconst defaultOverlayConfig: OverlayConfig = {\n presetAreasMapping: {\n Playback: {\n PlayerArea: 'PlayerArea',\n },\n Live: {\n PlayerArea: 'PlayerArea',\n },\n },\n};\n\nconst acceptableTypes = ['PlayerArea'];\n\nexport class OverlayManager {\n private _items: Record<OverlayPositions, OverlayItem[]> = {\n [OverlayPositions.PlayerArea]: [],\n };\n\n private _componentRef: Record<OverlayPositions, ManagedComponent | null> = {\n [OverlayPositions.PlayerArea]: null,\n };\n\n private _options: OverlayManagerOptions;\n private _overlayConfig: OverlayConfig;\n\n constructor(private options: OverlayManagerOptions) {\n this._options = options;\n\n this._overlayConfig = getContribConfig(\n this._options.kalturaPlayer,\n 'ui.overlay',\n defaultOverlayConfig,\n {\n explicitMerge: ['presetAreasMapping'],\n }\n );\n\n const groupedPresets = PresetsUtils.groupPresetAreasByType({\n presetAreasMapping: this._overlayConfig.presetAreasMapping,\n acceptableTypes,\n });\n\n this.options.presetManager.add({\n label: 'overlay-manager',\n fillContainer: true,\n presetAreas: groupedPresets['PlayerArea'],\n renderChild: () => this._renderChild(OverlayPositions.PlayerArea),\n });\n }\n\n /**\n * initialize new overlay ui item\n * @param item\n */\n add(data: OverlayItemData): OverlayItem | null {\n const {presetManager} = this._options;\n\n const itemOptions = {\n presetManager,\n ...this.options,\n data,\n };\n\n const item = new OverlayItem(itemOptions);\n this._items[data.position].unshift(item);\n this._updateComponents(data.position);\n return item;\n }\n\n remove(item: OverlayItem) {\n const positionItems = this._items[item.data.position];\n const itemIndex = positionItems.indexOf(item);\n if (itemIndex > -1) {\n positionItems[itemIndex].destroy();\n positionItems.splice(itemIndex, 1);\n\n if (itemIndex === 0) {\n this._updateComponents(item.data.position);\n }\n } else {\n console.warn(`couldn't remove ${item} since it wasn't found`);\n }\n }\n\n reset(): void {\n const allItems = [...this._items.PlayerArea];\n allItems.forEach(item => {\n try {\n item.destroy();\n } catch (e) {\n // TODO log error\n console.warn(e);\n }\n });\n\n this._items.PlayerArea = [];\n }\n\n private _renderItems = (position: OverlayPositions) => {\n const items = this._items[position];\n\n if (items.length === 0) {\n return null;\n }\n\n return (\n <OverlayItemContainer\n renderContent={() => this._items[position][0].renderOverlayChild({})}\n />\n );\n };\n\n private _renderChild = (position: OverlayPositions): ComponentChild => {\n return (\n <ManagedComponent\n label={'overlay-manager'}\n renderChildren={() => this._renderItems(position)}\n isShown={() => true}\n ref={ref => (this._componentRef[position] = ref)}\n />\n );\n };\n\n private _updateComponents(position?: OverlayPositions) {\n if (\n this._componentRef.PlayerArea &&\n (!position || position === OverlayPositions.PlayerArea)\n ) {\n this._componentRef.PlayerArea.update();\n }\n }\n}\n","export {OverlayItemContainer} from './overlay-item-container';\n","import {Component, ComponentChild, h} from 'preact';\nimport {ContribLogger, getContribLogger} from '@playkit-js-contrib/common';\nimport * as styles from './_overlay-item-container.scss';\n\nexport interface OverlayContainerProps {\n renderContent: () => ComponentChild;\n}\n\nexport class OverlayItemContainer extends Component<OverlayContainerProps> {\n private _logger: ContribLogger = getContribLogger({\n module: 'contrib-ui',\n class: 'OverlayContainer',\n });\n\n componentDidMount(): void {\n this._logger.info(`mount component`, {\n method: 'componentDidMount',\n });\n }\n\n componentWillUnmount(): void {\n this._logger.info(`unmount component`, {\n method: 'componentWillUnmount',\n });\n }\n\n render() {\n this._logger.trace(`render component`, {\n method: 'render',\n });\n const content = this.props.renderContent();\n if (!content) {\n return null;\n }\n return <div className={styles.overlayItemContainer}>{content}</div>;\n }\n}\n","var api = require(\"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../../../node_modules/sass-loader/dist/cjs.js!./_overlay-item-container.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".contrib_overlay-item-container__overlayItemContainer___1YRFl{position:absolute;z-index:6;top:0;bottom:0;left:0;right:0;width:100%;height:100%}\\n\", \"\",{\"version\":3,\"sources\":[\"/Users/semarche/dev/kaltura/playkit-js-contrib/packages/ui/src/components/overlay-item-container/_overlay-item-container.scss\"],\"names\":[],\"mappings\":\"AAAA,8DACE,iBAAkB,CAClB,SAAU,CACV,KAAM,CACN,QAAS,CACT,MAAO,CACP,OAAQ,CACR,UAAW,CACX,WAAY\",\"file\":\"_overlay-item-container.scss\",\"sourcesContent\":[\".overlayItemContainer {\\n position: absolute;\\n z-index: 6;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n width: 100%;\\n height: 100%;\\n}\\n\"]}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"overlayItemContainer\": \"contrib_overlay-item-container__overlayItemContainer___1YRFl\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { KalturaObjectBase, KalturaObjectBaseArgs } from './kaltura-object-base';\nimport { KalturaRequestOptions, KalturaRequestOptionsArgs } from './kaltura-request-options';\n\n\nexport interface KalturaRequestBaseArgs extends KalturaObjectBaseArgs {\n}\n\n\nexport class KalturaRequestBase extends KalturaObjectBase {\n\n private _networkTag: string;\n\n constructor(data: KalturaRequestBaseArgs) {\n super(data);\n }\n\n setNetworkTag(tag: string): this {\n if (!tag || tag.length > 10) {\n console.warn(`cannot set network tag longer than 10 characters. ignoring tag '${tag}`);\n } else {\n this._networkTag = tag;\n }\n\n return this;\n }\n\n getNetworkTag(): string {\n return this._networkTag;\n }\n}\n\n","\nimport { KalturaObjectMetadata } from './kaltura-object-base';\nimport { KalturaBaseResponseProfile } from './types/KalturaBaseResponseProfile';\nimport { KalturaObjectBase, KalturaObjectBaseArgs } from './kaltura-object-base';\n\nexport interface KalturaRequestOptionsArgs extends KalturaObjectBaseArgs {\n acceptedTypes? : {new(...args: any[]) : KalturaObjectBase}[];\n\tpartnerId? : number;\n\tks? : string;\n\tresponseProfile? : KalturaBaseResponseProfile;\n}\n\n\nexport class KalturaRequestOptions extends KalturaObjectBase {\n\n acceptedTypes : {new(...args: any[]) : KalturaObjectBase}[];\n\tpartnerId : number;\n\tks : string;\n\tresponseProfile : KalturaBaseResponseProfile;\n\n constructor(data? : KalturaRequestOptionsArgs)\n {\n super(data);\n if (typeof this.acceptedTypes === 'undefined') this.acceptedTypes = [];\n }\n\n protected _getMetadata() : KalturaObjectMetadata\n {\n const result = super._getMetadata();\n Object.assign(\n result.properties,\n {\n partnerId : { type : 'n' },\n\t\t\t\tks : { type : 's' },\n\t\t\t\tresponseProfile : { type : 'o', subTypeConstructor : KalturaBaseResponseProfile, subType : 'KalturaBaseResponseProfile' }\n }\n );\n return result;\n }\n}\n","export interface Environment {\n request: {\n apiVersion: string,\n avoidQueryString: boolean,\n fileFormatValue: number\n }\n response: {\n nestedResponse: boolean\n };\n}\n\nexport const environment: Environment = {\n request: {\n apiVersion: '14.16.0',\n avoidQueryString: false,\n fileFormatValue: 1\n },\n response: {\n nestedResponse: false\n }\n}","\"use strict\";\n\nmodule.exports = function escape(url, needQuotes) {\n if (typeof url !== 'string') {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || needQuotes) {\n return '\"' + url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n') + '\"';\n }\n\n return url;\n};","\nimport { KalturaObjectMetadata } from '../kaltura-object-base';\nimport { KalturaTypesFactory } from '../kaltura-types-factory';\nimport { KalturaModerationObjectType } from './KalturaModerationObjectType';\nimport { KalturaModerationFlagStatus } from './KalturaModerationFlagStatus';\nimport { KalturaModerationFlagType } from './KalturaModerationFlagType';\nimport { KalturaObjectBase, KalturaObjectBaseArgs } from '../kaltura-object-base';\n\nexport interface KalturaModerationFlagArgs extends KalturaObjectBaseArgs {\n flaggedEntryId? : string;\n\tflaggedUserId? : string;\n\tcomments? : string;\n\tflagType? : KalturaModerationFlagType;\n}\n\n\nexport class KalturaModerationFlag extends KalturaObjectBase {\n\n readonly id : number;\n\treadonly partnerId : number;\n\treadonly userId : string;\n\treadonly moderationObjectType : KalturaModerationObjectType;\n\tflaggedEntryId : string;\n\tflaggedUserId : string;\n\treadonly status : KalturaModerationFlagStatus;\n\tcomments : string;\n\tflagType : KalturaModerationFlagType;\n\treadonly createdAt : Date;\n\treadonly updatedAt : Date;\n\n constructor(data? : KalturaModerationFlagArgs)\n {\n super(data);\n }\n\n protected _getMetadata() : KalturaObjectMetadata\n {\n const result = super._getMetadata();\n Object.assign(\n result.properties,\n {\n objectType : { type : 'c', default : 'KalturaModerationFlag' },\n\t\t\t\tid : { type : 'n', readOnly : true },\n\t\t\t\tpartnerId : { type : 'n', readOnly : true },\n\t\t\t\tuserId : { type : 's', readOnly : true },\n\t\t\t\tmoderationObjectType : { type : 'es', readOnly : true, subTypeConstructor : KalturaModerationObjectType, subType : 'KalturaModerationObjectType' },\n\t\t\t\tflaggedEntryId : { type : 's' },\n\t\t\t\tflaggedUserId : { type : 's' },\n\t\t\t\tstatus : { type : 'es', readOnly : true, subTypeConstructor : KalturaModerationFlagStatus, subType : 'KalturaModerationFlagStatus' },\n\t\t\t\tcomments : { type : 's' },\n\t\t\t\tflagType : { type : 'en', subTypeConstructor : KalturaModerationFlagType, subType : 'KalturaModerationFlagType' },\n\t\t\t\tcreatedAt : { type : 'd', readOnly : true },\n\t\t\t\tupdatedAt : { type : 'd', readOnly : true }\n }\n );\n return result;\n }\n}\n\nKalturaTypesFactory.registerType('KalturaModerationFlag',KalturaModerationFlag);\n","import { KalturaAPIException } from \"./kaltura-api-exception\";\n\nexport class KalturaResponse<T> {\n\n constructor(public result : T, public error : KalturaAPIException)\n {\n\n\n }\n}\n","import { KalturaResponse } from \"./kaltura-response\";\nimport { KalturaRequest } from \"./kaltura-request\";\nimport { KalturaRequestBase } from \"./kaltura-request-base\";\n\nimport { KalturaMultiResponse } from \"./kaltura-multi-response\";\nimport { KalturaAPIException } from \"./kaltura-api-exception\";\nimport { KalturaObjectMetadata } from './kaltura-object-base';\nimport { KalturaRequestOptions } from './kaltura-request-options';\nimport { environment } from '../environment';\n\n\nexport class KalturaMultiRequest extends KalturaRequestBase {\n\n protected callback: (response: KalturaMultiResponse) => void;\n\n requests: KalturaRequest<any>[] = [];\n\n constructor(...args: KalturaRequest<any>[]) {\n super({});\n this.requests = args;\n }\n\n buildRequest(defaultRequestOptions: KalturaRequestOptions): {} {\n const result = super.toRequestObject();\n\n for (let i = 0, length = this.requests.length; i < length; i++) {\n result[i] = this.requests[i].buildRequest(defaultRequestOptions);\n }\n\n return result;\n }\n\n protected _getMetadata() : KalturaObjectMetadata\n {\n const result = super._getMetadata();\n Object.assign(\n result.properties,\n {\n service : { default : 'multirequest', type : 'c' }\n });\n\n return result;\n\n }\n\n private _unwrapResponse(response: any): any {\n if (environment.response.nestedResponse) {\n if (response && response.hasOwnProperty('result')) {\n return response.result;\n } else if (response && response.hasOwnProperty('error')) {\n return response.error;\n }\n }\n\n return response;\n }\n\n setCompletion(callback: (response: KalturaMultiResponse) => void): KalturaMultiRequest {\n this.callback = callback;\n return this;\n }\n\n handleResponse(responses: any): KalturaMultiResponse {\n const kalturaResponses: KalturaResponse<any>[] = [];\n\n const unwrappedResponse = this._unwrapResponse(responses);\n let responseObject = null;\n\n if (!unwrappedResponse || !(unwrappedResponse instanceof Array) || unwrappedResponse.length !== this.requests.length) {\n const response = new KalturaAPIException(`server response is invalid, expected array of ${this.requests.length}`, 'client::response_type_error', null);\n for (let i = 0, len = this.requests.length; i < len; i++) {\n kalturaResponses.push(this.requests[i].handleResponse(response));\n }\n }\n else {\n\n for (let i = 0, len = this.requests.length; i < len; i++) {\n const serverResponse = unwrappedResponse[i];\n kalturaResponses.push(this.requests[i].handleResponse(serverResponse));\n }\n\n if (this.callback) {\n try {\n this.callback(new KalturaMultiResponse(kalturaResponses));\n } catch (ex) {\n // do nothing by design\n }\n }\n }\n\n return new KalturaMultiResponse(kalturaResponses);\n }\n}\n","import { KalturaResponse } from \"./kaltura-response\";\nimport { KalturaAPIException } from './kaltura-api-exception';\n\nexport class KalturaMultiResponse extends Array<KalturaResponse<any>> {\n constructor(results: KalturaResponse<any>[] = []) {\n super();\n\n if (new.target) {\n // Set the prototype explicitly - see: https://github.com/Microsoft/TypeScript/wiki/FAQ#why-doesnt-extending-built-ins-like-error-array-and-map-work\n Object.setPrototypeOf(this, new.target.prototype);\n }\n\n if (results && results.length > 0) {\n this.push(...results);\n }\n }\n\n public hasErrors(): boolean {\n return this.filter(result => result.error).length > 0;\n }\n\n public getFirstError(): KalturaAPIException {\n let result: KalturaAPIException = null;\n for (let i = 0; i < this.length; i++) {\n result = this[i].error;\n\n if (result) {\n break;\n }\n }\n return result;\n }\n\n\n}\n","import { KalturaRequest, KalturaRequestArgs } from \"./kaltura-request\";\nimport { KalturaObjectBase } from \"./kaltura-object-base\";\n\nexport type ProgressCallback = (loaded: number, total: number) => void;\n\nexport interface KalturaUploadRequestArgs extends KalturaRequestArgs {\n uploadedFileSize?: number;\n}\n\nexport class KalturaUploadRequest<T> extends KalturaRequest<T> {\n private _progressCallback: ProgressCallback;\n public uploadedFileSize: number = 0;\n\n constructor(data: KalturaUploadRequestArgs, {responseType, responseSubType, responseConstructor}: { responseType: string, responseSubType?: string, responseConstructor: { new(): KalturaObjectBase } }) {\n super(data, {responseType, responseSubType, responseConstructor});\n this.uploadedFileSize = data.uploadedFileSize;\n }\n\n setProgress(callback: ProgressCallback): this {\n this._progressCallback = callback;\n return this;\n }\n\n public _getProgressCallback(): ProgressCallback {\n return this._progressCallback;\n }\n\n public supportChunkUpload(): boolean {\n // chunk upload currently assume support according to request/reseponse properties. Should get this information from the client-generator directly.\n const {properties} = this._getMetadata();\n const responseSupportChunk = this._responseConstructor ? (new this._responseConstructor()).hasMetadataProperty(\"uploadedFileSize\") : false;\n return responseSupportChunk\n && !!properties[\"resume\"]\n && !!properties[\"resumeAt\"]\n && !!properties[\"finalChunk\"];\n }\n\n public getFileInfo(): { file: File, propertyName: string } {\n const metadataProperties = this._getMetadata().properties;\n const filePropertyName = Object.keys(metadataProperties).find(propertyName => metadataProperties[propertyName].type === \"f\");\n\n return filePropertyName ? { propertyName: filePropertyName, file: this[filePropertyName] } : null;\n }\n\n public toRequestObject(): {} {\n const result = super.toRequestObject();\n const { propertyName: filePropertyName } = this.getFileInfo();\n\n if (filePropertyName) {\n delete result[filePropertyName];\n }\n\n return result;\n }\n}","import \"./moderation-plugin\";\n","import {h, ComponentChild} from 'preact';\nimport {\n ContribPluginManager,\n CorePlugin,\n OnMediaLoad,\n OnMediaUnload,\n OnPluginSetup,\n ContribServices,\n ContribPluginData,\n ContribPluginConfigs,\n} from '@playkit-js-contrib/plugin';\nimport {\n UpperBarItem,\n OverlayItem,\n OverlayPositions,\n ToastSeverity,\n} from '@playkit-js-contrib/ui';\nimport {getContribLogger} from '@playkit-js-contrib/common';\nimport {KalturaModerationFlagType} from 'kaltura-typescript-client/api/types/KalturaModerationFlagType';\nimport {BaseEntryFlagAction} from 'kaltura-typescript-client/api/types/BaseEntryFlagAction';\nimport {KalturaClient} from 'kaltura-typescript-client';\nimport {KalturaModerationFlag} from 'kaltura-typescript-client/api/types/KalturaModerationFlag';\nimport {Moderation, ModerateOption} from './components/moderation';\nimport {PluginButton} from './components/plugin-button';\nimport * as styles from './moderation-plugin.scss';\n\nconst pluginName = `playkit-js-moderation`;\n\nconst logger = getContribLogger({\n class: 'ModerationPlugin',\n module: 'moderation-plugin',\n});\n\ninterface ModerationPluginConfig {\n reportLength: number;\n onReportSentMessage: string;\n onReportErrorMessage: string;\n notificatonDuration: number;\n moderateOptions: ModerateOption[];\n subtitle: string;\n tooltipMessage: string;\n}\n\nexport class ModerationPlugin\n implements OnMediaLoad, OnMediaUnload, OnPluginSetup {\n private _upperBarItem: UpperBarItem | null = null;\n private _moderationOverlay: OverlayItem | null = null;\n private _wasPlayed = false; // keep state of the player so we can resume if needed\n private _kalturaClient = new KalturaClient();\n\n constructor(\n private _corePlugin: CorePlugin,\n private _contribServices: ContribServices,\n private _configs: ContribPluginConfigs<ModerationPluginConfig>,\n private _player: KalturaPlayerTypes.Player\n ) {}\n\n onPluginSetup(): void {\n const {playerConfig} = this._configs;\n\n this._kalturaClient.setOptions({\n clientTag: 'playkit-js-transcript',\n endpointUrl: playerConfig.provider.env.serviceUrl,\n });\n\n this._kalturaClient.setDefaultRequestOptions({\n ks: playerConfig.session.ks,\n });\n }\n\n onMediaLoad(): void {\n logger.trace('Moderation plugin loaded', {\n method: 'onMediaLoad',\n });\n this._addPluginIcon();\n }\n\n onMediaUnload(): void {\n if (this._upperBarItem) {\n logger.trace('Moderation plugin unloaded', {\n method: 'onMediaUnload',\n });\n this._moderationOverlay = null;\n }\n }\n\n private _sentReport = (\n contentType: KalturaModerationFlagType,\n content: string,\n callback?: () => void\n ) => {\n const {\n playerConfig,\n pluginConfig: {onReportSentMessage, onReportErrorMessage},\n } = this._configs;\n const request = new BaseEntryFlagAction({\n moderationFlag: new KalturaModerationFlag({\n flaggedEntryId: playerConfig.sources.id,\n flagType: contentType,\n comments: content,\n }),\n });\n\n this._kalturaClient.request(request).then(\n () => {\n logger.trace('Moderation plugin submit OK', {\n method: 'handleSubmit',\n });\n this._toggleOverlay();\n this._displayToast({\n text: onReportSentMessage,\n icon: (\n <div className={[styles.toastIcon, styles.success].join(' ')} />\n ),\n severity: ToastSeverity.Success,\n });\n if (this._wasPlayed) {\n this._player.play();\n }\n if (callback) {\n callback();\n }\n },\n error => {\n logger.trace('Moderation plugin submit failed', {\n method: 'handleSubmit',\n data: error,\n });\n this._toggleOverlay();\n this._displayToast({\n text: onReportErrorMessage,\n icon: <div className={[styles.toastIcon, styles.error].join(' ')} />,\n severity: ToastSeverity.Error,\n });\n }\n );\n };\n\n private _displayToast = (options: {\n text: string;\n icon: ComponentChild;\n severity: ToastSeverity;\n }): void => {\n const {notificatonDuration} = this._configs.pluginConfig;\n //display toast\n this._contribServices.toastManager.add({\n title: 'Report Content',\n text: options.text,\n icon: options.icon,\n duration: notificatonDuration,\n severity: ToastSeverity.Success || ToastSeverity.Error,\n onClick: () => {\n logger.trace(`Moderation clicked on toast`, {\n method: '_displayToast',\n });\n },\n });\n };\n\n private _toggleOverlay = (event?: MouseEvent) => {\n let closeButtonSelected = false;\n if (event && event.x === 0 && event.y === 0) {\n // triggered by keyboard\n closeButtonSelected = true;\n }\n const {reportLength, moderateOptions, subtitle, tooltipMessage} = this._configs.pluginConfig;\n const isPlaying = !(this._player as any).paused;\n logger.trace(`Moderation toggle overlay player`, {\n method: '_toggleOverlay',\n });\n if (this._moderationOverlay) {\n this._contribServices.overlayManager.remove(this._moderationOverlay);\n this._moderationOverlay = null;\n if (this._wasPlayed) {\n logger.trace(`Moderation plugin paused player`, {\n method: '_toggleOverlay',\n });\n this._wasPlayed = false;\n this._player.play();\n }\n return;\n }\n if (isPlaying) {\n this._wasPlayed = true;\n this._player.pause();\n }\n\n this._moderationOverlay = this._contribServices.overlayManager.add({\n label: 'moderation-overlay',\n position: OverlayPositions.PlayerArea,\n renderContent: () => (\n <Moderation\n onClick={this._toggleOverlay}\n onSubmit={this._sentReport}\n reportLength={reportLength}\n subtitle={subtitle}\n tooltipMessage={tooltipMessage}\n moderateOptions={moderateOptions}\n closeButtonSelected={closeButtonSelected}\n />\n ),\n });\n };\n\n private _addPluginIcon(): void {\n const {} = this._configs.pluginConfig;\n this._upperBarItem = this._contribServices.upperBarManager.add({\n label: 'Moderation',\n onClick: this._toggleOverlay,\n renderItem: () => <PluginButton />,\n });\n }\n}\n\nContribPluginManager.registerPlugin(\n pluginName,\n (data: ContribPluginData<ModerationPluginConfig>) => {\n return new ModerationPlugin(\n data.corePlugin,\n data.contribServices,\n data.configs,\n data.player\n );\n },\n {\n defaultConfig: {\n reportLength: 500,\n onReportSentMessage: 'Send report',\n onReportErrorMessage: 'The report failed to send',\n subtitle: '',\n notificatonDuration: 5000,\n tooltipMessage: 'Send report',\n moderateOptions: [\n {id: 1, label: 'Sexual Content'},\n {id: 2, label: 'Violent Or Repulsive'},\n {id: 3, label: 'Harmful Or Dangerous Act'},\n {id: 4, label: 'Spam / Commercials'},\n ],\n },\n }\n);\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@playkit-js-contrib/common\"), require(\"@playkit-js-contrib/ui\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"plugin\", [\"@playkit-js-contrib/common\", \"@playkit-js-contrib/ui\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"plugin\"] = factory(require(\"@playkit-js-contrib/common\"), require(\"@playkit-js-contrib/ui\"));\n\telse\n\t\troot[\"playkit\"] = root[\"playkit\"] || {}, root[\"playkit\"][\"contrib\"] = root[\"playkit\"][\"contrib\"] || {}, root[\"playkit\"][\"contrib\"][\"plugin\"] = factory(root[\"@playkit-js-contrib/common\"], root[\"@playkit-js-contrib/ui\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__9__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","import {PresetManager} from '@playkit-js-contrib/ui';\n\nexport interface ContribPlugin {}\n\nexport interface OnRegisterPresetsComponents {\n onRegisterPresetsComponents(presetManager: PresetManager): void;\n}\n\nexport function hasOnRegisterPresetsComponents(\n plugin: any\n): plugin is OnRegisterPresetsComponents {\n return 'onRegisterPresetsComponents' in plugin;\n}\n\nexport interface OnPluginSetup {\n onPluginSetup(): void;\n}\n\nexport function hasOnPluginSetup(plugin: any): plugin is OnPluginSetup {\n return 'onPluginSetup' in plugin;\n}\n\nexport interface OnPluginDestroy {\n onPluginDestroy(): void;\n}\n\nexport function hasOnPluginDestroy(plugin: any): plugin is OnPluginDestroy {\n return 'OnPluginDestroy' in plugin;\n}\n\nexport interface OnMediaLoad {\n onMediaLoad(): void;\n}\n\nexport function hasOnMediaLoad(plugin: any): plugin is OnMediaLoad {\n return 'onMediaLoad' in plugin;\n}\n\nexport interface OnMediaUnload {\n onMediaUnload(): void;\n}\n\nexport function hasOnMediaUnload(plugin: any): plugin is OnMediaUnload {\n return 'onMediaUnload' in plugin;\n}\n","import {ContribServices} from './contrib-services';\nimport {\n ContribPlugin,\n hasOnMediaLoad,\n hasOnMediaUnload,\n hasOnPluginDestroy,\n hasOnPluginSetup,\n hasOnRegisterPresetsComponents,\n} from './contrib-plugin';\n\nexport class CorePlugin<\n TContribPlugin extends ContribPlugin = ContribPlugin\n> extends KalturaPlayer.core.BasePlugin {\n static defaultConfig = {};\n static isValid(player: any) {\n return true;\n }\n\n protected _contribPlugin!: TContribPlugin;\n protected _contribServices!: ContribServices;\n\n constructor(...args: any[]) {\n super(...args);\n this.player.addEventListener(\n this.player.Event.MEDIA_LOADED,\n this.handleMediaLoaded\n );\n }\n\n setContribContext(context: {\n contribPlugin: TContribPlugin;\n contribServices: ContribServices;\n }) {\n this._contribPlugin = context.contribPlugin;\n this._contribServices = context.contribServices;\n }\n\n private _wasSetupExecuted = false;\n private _wasSetupFailed = false;\n\n getUIComponents(): any[] {\n if (hasOnRegisterPresetsComponents(this._contribPlugin)) {\n try {\n this._contribPlugin.onRegisterPresetsComponents(\n this._contribServices.presetManager\n );\n } catch (e) {\n console.error(`failed to register contrib presets components`, {\n error: e.message,\n });\n }\n }\n\n return this._contribServices.presetManager.registerComponents();\n }\n\n handleMediaLoaded = () => {\n if (!this._wasSetupExecuted) {\n if (hasOnPluginSetup(this._contribPlugin)) {\n try {\n this._contribPlugin.onPluginSetup();\n } catch (e) {\n this._wasSetupFailed = true;\n console.error(`failed to execute plugin setup, suspend plugin`, {\n error: e.message,\n });\n }\n }\n this._wasSetupExecuted = true;\n }\n\n if (this._wasSetupFailed) {\n return;\n }\n\n if (hasOnMediaLoad(this._contribPlugin)) {\n try {\n this._contribPlugin.onMediaLoad();\n } catch (e) {\n console.error(`failure during media load `, {error: e.message});\n }\n }\n };\n\n public destroy() {\n this.reset();\n this.player.removeEventListener(\n this.player.Event.MEDIA_LOADED,\n this.handleMediaLoaded\n );\n\n if (hasOnPluginDestroy(this._contribPlugin)) {\n try {\n this._contribPlugin.onPluginDestroy();\n } catch (e) {\n console.error(`failure during plugin destroy`, {error: e.message});\n }\n }\n }\n\n public reset() {\n if (hasOnMediaUnload(this._contribPlugin)) {\n try {\n this._contribPlugin.onMediaUnload();\n } catch (e) {\n console.error(`failure during media unload`, {error: e.message});\n }\n }\n }\n}\n","import {\n ContribPluginFactory,\n CorePluginFactory,\n} from './contrib-plugin-manager';\n\nexport type PluginFactories = {\n contribPluginFactory: ContribPluginFactory<any>;\n corePluginFactory: CorePluginFactory;\n defaultConfig: Record<string, any>;\n};\n\nexport class ContribPluginFactories {\n static factories: Record<string, PluginFactories> = {};\n}\n","import {PlayerContribRegistry} from '@playkit-js-contrib/common';\nimport {\n FloatingManager,\n UpperBarManager,\n KitchenSinkManager,\n PresetManager,\n BannerManager,\n BannerManagerOptions,\n ToastManager,\n ToastManagerOptions,\n FontManager,\n FontManagerOptions,\n OverlayManager,\n} from '@playkit-js-contrib/ui';\nimport {enableLogIfNeeded} from '@playkit-js-contrib/common';\n\nexport interface ContribServicesOptions {\n kalturaPlayer: KalturaPlayerTypes.Player;\n}\n\nfunction getPlayerContribRegistry(\n kalturaPlayer: KalturaPlayerTypes.Player\n): PlayerContribRegistry {\n return PlayerContribRegistry.get(kalturaPlayer);\n}\n\n// TODO SAKAL find more suitable location\nenableLogIfNeeded();\n\nexport class ContribServices {\n static get(options: ContribServicesOptions): ContribServices {\n const playerContribRegistry = getPlayerContribRegistry(\n options.kalturaPlayer\n );\n return playerContribRegistry.register('ContribServices', () => {\n return new ContribServices(playerContribRegistry, options);\n });\n }\n\n private _toastManager: ToastManager;\n private _overlayManager: OverlayManager;\n private _bannerManager: BannerManager;\n private _floatingManager: FloatingManager;\n private _kitchenSinkManager: KitchenSinkManager;\n private _upperBarManager: UpperBarManager;\n private _presetManager: PresetManager;\n private _fontManager: FontManager;\n\n constructor(\n private _playerContribRegistry: PlayerContribRegistry,\n private _options: ContribServicesOptions\n ) {\n this._initialize();\n this._addListeners();\n }\n\n private _addListeners = (): void => {\n const kalturaPlayer = this._options.kalturaPlayer;\n kalturaPlayer.addEventListener(\n kalturaPlayer.Event.PLAYER_RESET,\n this.reset\n );\n kalturaPlayer.addEventListener(\n kalturaPlayer.Event.PLAYER_DESTROY,\n this._removeListeners\n );\n };\n\n private _removeListeners = (): void => {\n const kalturaPlayer = this._options.kalturaPlayer;\n kalturaPlayer.removeEventListener(\n kalturaPlayer.Event.PLAYER_RESET,\n this.reset\n );\n kalturaPlayer.removeEventListener(\n kalturaPlayer.Event.PLAYER_DESTROY,\n this._removeListeners\n );\n };\n\n private _initialize() {\n // TODO sakal use DI instead\n const kalturaPlayer = this._options.kalturaPlayer;\n\n const presetManager = new PresetManager({\n kalturaPlayer,\n });\n\n const fontManager = new FontManager({\n kalturaPlayer,\n });\n\n const upperBarManager = new UpperBarManager({\n kalturaPlayer,\n presetManager: presetManager,\n });\n\n const floatingManager = new FloatingManager({\n kalturaPlayer,\n presetManager,\n });\n\n const overlayManager = new OverlayManager({\n presetManager,\n kalturaPlayer,\n });\n\n const bannerManager = new BannerManager({\n kalturaPlayer,\n floatingManager,\n });\n\n const toastManager = new ToastManager({\n floatingManager,\n });\n\n const kitchenSinkManager = new KitchenSinkManager({\n kalturaPlayer,\n presetManager,\n upperBarManager,\n });\n\n fontManager.loadFont();\n\n this._toastManager = toastManager;\n this._overlayManager = overlayManager;\n this._bannerManager = bannerManager;\n this._floatingManager = floatingManager;\n this._kitchenSinkManager = kitchenSinkManager;\n this._upperBarManager = upperBarManager;\n this._presetManager = presetManager;\n this._fontManager = fontManager;\n }\n\n public get presetManager(): PresetManager {\n return this._presetManager;\n }\n\n public get upperBarManager(): UpperBarManager {\n return this._upperBarManager;\n }\n\n public get kitchenSinkManager(): KitchenSinkManager {\n return this._kitchenSinkManager;\n }\n\n public get floatingManager(): FloatingManager {\n return this._floatingManager;\n }\n\n public get overlayManager(): OverlayManager {\n return this._overlayManager;\n }\n\n public get bannerManager(): BannerManager {\n return this._bannerManager;\n }\n\n public get toastManager(): ToastManager {\n return this._toastManager;\n }\n\n public get fontManager(): FontManager {\n return this._fontManager;\n }\n\n reset = (): void => {\n this._toastManager.reset();\n this._overlayManager.reset();\n this._bannerManager.reset();\n this._floatingManager.reset();\n this._kitchenSinkManager.reset();\n this._upperBarManager.reset();\n };\n\n public getPlayerKS(): string | null {\n const {session} = this._options.kalturaPlayer.config;\n return session && session.ks ? session.ks : null;\n }\n}\n","import {CorePlugin} from './core-plugin';\n\nexport class ContribPluginConfigs<TPluginConfig extends Record<string, any>> {\n constructor(\n private _player: KalturaPlayerTypes.Player,\n private _corePlugin: CorePlugin\n ) {}\n\n get playerConfig(): KalturaPlayerTypes.PlayerConfig &\n DeepPartial<KalturaPlayerContribTypes.ContribConfig> {\n return this._player.config;\n }\n\n get pluginConfig(): TPluginConfig {\n return this._corePlugin.config;\n }\n}\n","export * from './contrib-plugin';\nexport * from './core-plugin';\nexport * from './contrib-plugin-manager';\nexport * from './contrib-services';\nexport * from './contrib-plugin-configs';\n","import {ContribPluginFactories} from './contrib-plugin-factories';\nimport {CorePluginProxy} from './core-plugin-proxy';\nimport {CorePlugin} from './core-plugin';\nimport {ContribServices} from './contrib-services';\nimport {ContribPlugin} from './contrib-plugin';\nimport {ContribPluginConfigs} from './contrib-plugin-configs';\n\nexport type ContribPluginData<TConfig extends Record<string, any>> = {\n corePlugin: CorePlugin;\n contribServices: ContribServices;\n configs: ContribPluginConfigs<TConfig>;\n player: KalturaPlayerTypes.Player;\n};\n\nexport type ContribPluginFactory<TConfig> = (\n data: ContribPluginData<TConfig>\n) => ContribPlugin;\nexport type CorePluginFactory = (...args: any[]) => CorePlugin;\n\nfunction createCorePlugin(...args: any[]) {\n return new CorePlugin(...args);\n}\n\nexport class ContribPluginManager {\n static registerPlugin<TConfig extends Record<string, any>>(\n pluginName: string,\n contribPluginFactory: ContribPluginFactory<TConfig>,\n overrides?: {\n corePluginFactory?: CorePluginFactory;\n defaultConfig?: TConfig;\n }\n ) {\n ContribPluginFactories.factories[pluginName] = {\n contribPluginFactory,\n corePluginFactory:\n (overrides ? overrides.corePluginFactory : null) || createCorePlugin,\n defaultConfig: (overrides ? overrides.defaultConfig : null) || {},\n };\n KalturaPlayer.core.registerPlugin(pluginName, CorePluginProxy);\n }\n}\n","import {CorePlugin} from './core-plugin';\nimport {ContribPlugin} from './contrib-plugin';\nimport {ContribPluginFactories} from './contrib-plugin-factories';\nimport {ContribServices} from './contrib-services';\nimport {getContribLogger} from '@playkit-js-contrib/common';\nimport {ContribPluginConfigs} from './contrib-plugin-configs';\n\nconst _logger = getContribLogger({\n module: 'contrib-plugin',\n class: 'core-plugin-proxy',\n});\n\nexport class CorePluginProxy extends KalturaPlayer.core.BasePlugin {\n static isValid(player: any) {\n return true;\n }\n\n static createPlugin(name: string, player: any, config: any): any {\n const pluginFactories = ContribPluginFactories.factories[name];\n\n if (!pluginFactories) {\n _logger.error('cannot find requested contrib plugin', {\n data: {\n pluginName: name,\n },\n });\n throw new Error(`cannot find contrib plugin factory named '${name}`);\n }\n\n try {\n const corePluginConfig = KalturaPlayer.core.utils.Object.mergeDeep(\n {},\n pluginFactories.defaultConfig || {},\n config\n );\n const contribServices = ContribServices.get({kalturaPlayer: player});\n\n const corePlugin = pluginFactories.corePluginFactory(\n name,\n player,\n corePluginConfig\n );\n\n const contribPlugin = pluginFactories.contribPluginFactory({\n corePlugin,\n contribServices,\n configs: new ContribPluginConfigs<any>(player, corePlugin),\n player,\n });\n\n corePlugin.setContribContext({contribPlugin, contribServices});\n\n _logger.info('created contrib plugin', {\n data: {\n pluginName: name,\n },\n });\n\n return corePlugin;\n } catch (e) {\n _logger.error('failed to create contrib plugin', {\n data: {\n pluginName: name,\n error: e,\n },\n });\n throw e;\n }\n }\n\n protected _contribPlugin!: ContribPlugin;\n\n setPluginContext(contribPlugin: ContribPlugin) {\n this._contribPlugin = contribPlugin;\n }\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__9__;","\nimport { KalturaObjectMetadata } from '../kaltura-object-base';\n\n\nimport { KalturaModerationFlag } from './KalturaModerationFlag';\nimport { KalturaRequest, KalturaRequestArgs } from '../kaltura-request';\n\nexport interface BaseEntryFlagActionArgs extends KalturaRequestArgs {\n moderationFlag : KalturaModerationFlag;\n}\n\n/**\n * Build request payload for service 'baseEntry' action 'flag'.\n *\n * Usage: Flag inappropriate entry for moderation\n *\n * Server response type: void\n * Server failure response type: KalturaAPIException\n * @class\n * @extends KalturaRequest\n */\nexport class BaseEntryFlagAction extends KalturaRequest<void> {\n\n moderationFlag : KalturaModerationFlag;\n\n constructor(data : BaseEntryFlagActionArgs)\n {\n super(data, {responseType : 'v', responseSubType : '', responseConstructor : null });\n }\n\n protected _getMetadata() : KalturaObjectMetadata\n {\n const result = super._getMetadata();\n Object.assign(\n result.properties,\n {\n service : { type : 'c', default : 'baseentry' },\n\t\t\t\taction : { type : 'c', default : 'flag' },\n\t\t\t\tmoderationFlag : { type : 'o', subTypeConstructor : KalturaModerationFlag, subType : 'KalturaModerationFlag' }\n }\n );\n return result;\n }\n}\n\n","\nexport class KalturaClientUtils\n{\n static fromServerDate(value : number) : Date\n {\n return (value ? new Date(value * 1000) : null);\n }\n\n static toServerDate(value : Date) : number\n {\n return value ? Math.round(value.getTime() / 1000) : null;\n }\n\n static getStartDateValue(value : Date) : Date\n {\n\t if (value) {\n\t\t value.setHours(0);\n\t\t value.setMinutes(0);\n\t\t value.setSeconds(0);\n\t\t return value;\n\t }else{\n\t \treturn null;\n\t }\n }\n\n static getEndDateValue(value : Date) : Date\n {\n\t if (value) {\n\t value.setHours(23);\n\t\t value.setMinutes(59);\n\t\t value.setSeconds(59);\n\t return value;\n\t }else{\n\t\t return null;\n\t }\n }\n}\n","\nexport enum LogLevels\n{\n info = 0,\n warn = 1,\n error = 2,\n none = 100\n}\n\nexport const LoggerSettings = {\n logLevel : LogLevels.warn\n};\n\nexport class KalturaLogger\n{\n constructor(private _name: string)\n {\n }\n\n warn(message: string): void\n {\n if (LoggerSettings.logLevel <= LogLevels.warn)\n {\n console.warn(`[kaltura-client/${this._name}]: ${message}`);\n }\n }\n\n info(message: string): void\n {\n if (LoggerSettings.logLevel <= LogLevels.info)\n {\n console.info(`[kaltura-client/${this._name}]: ${message}`);\n }\n }\n\n error(message: string): void\n {\n if (LoggerSettings.logLevel <= LogLevels.error)\n {\n console.error(`[kaltura-client/${this._name}]: ${message}`);\n }\n }\n}\n","\n\nexport enum KalturaModerationObjectType {\n entry = '2',\n\tuser = '3'\n}","\n\nexport enum KalturaModerationFlagStatus {\n moderated = '2',\n\tpending = '1'\n}","\n\nexport enum KalturaModerationFlagType {\n copyright=5,\n\tharmfulDangerous=3,\n\tsexualContent=1,\n\tspamCommercials=4,\n\ttermsOfUseViolation=6,\n\tviolentRepulsive=2\n}","\nimport { KalturaObjectMetadata } from '../kaltura-object-base';\nimport { KalturaTypesFactory } from '../kaltura-types-factory';\nimport { KalturaObjectBase, KalturaObjectBaseArgs } from '../kaltura-object-base';\n\nexport interface KalturaBaseResponseProfileArgs extends KalturaObjectBaseArgs {\n \n}\n\n\nexport class KalturaBaseResponseProfile extends KalturaObjectBase {\n\n \n\n constructor(data? : KalturaBaseResponseProfileArgs)\n {\n super(data);\n }\n\n protected _getMetadata() : KalturaObjectMetadata\n {\n const result = super._getMetadata();\n Object.assign(\n result.properties,\n {\n objectType : { type : 'c', default : 'KalturaBaseResponseProfile' }\n }\n );\n return result;\n }\n}\n\nKalturaTypesFactory.registerType('KalturaBaseResponseProfile',KalturaBaseResponseProfile);\n","export * from './api/index';\nexport * from './cancelable-action';\nexport * from './kaltura-client-options';\nexport * from './kaltura-client-service';\n","export { KalturaClientException } from './kaltura-client-exception';\nexport { KalturaAPIException } from './kaltura-api-exception';\nexport { KalturaMultiRequest } from './kaltura-multi-request';\nexport { KalturaMultiResponse } from './kaltura-multi-response';\nexport { KalturaRequest } from './kaltura-request';\nexport { KalturaRequestBase } from './kaltura-request-base';\nexport { KalturaUploadRequest } from './kaltura-upload-request';\nexport { KalturaResponse } from './kaltura-response';\nexport { KalturaTypesFactory } from './kaltura-types-factory';\nexport * from './kaltura-request-options';\n","import { KalturaRequest } from './api/kaltura-request';\nimport { KalturaMultiRequest } from './api/kaltura-multi-request';\nimport { KalturaMultiResponse } from './api/kaltura-multi-response';\nimport { KalturaFileRequest } from './api/kaltura-file-request';\nimport { KalturaUploadRequest } from './api/kaltura-upload-request';\nimport { KalturaRequestAdapter } from './adapters/kaltura-request-adapter';\nimport { KalturaFileRequestAdapter } from './adapters/kaltura-file-request-adapter';\nimport { KalturaClientOptions } from './kaltura-client-options';\nimport { KalturaMultiRequestAdapter } from './adapters/kaltura-multi-request-adapter';\nimport { KalturaClientException } from './api/kaltura-client-exception';\nimport { KalturaUploadRequestAdapter } from './adapters/kaltura-upload-request-adapter';\nimport {\n KalturaRequestOptions,\n KalturaRequestOptionsArgs\n} from './api/kaltura-request-options';\nimport { CancelableAction } from './cancelable-action';\n\nexport class KalturaClient {\n\n private _defaultRequestOptions: KalturaRequestOptions;\n\n constructor(private _options?: KalturaClientOptions,\n defaultRequestOptionsArgs?: KalturaRequestOptionsArgs) {\n this._defaultRequestOptions = new KalturaRequestOptions(defaultRequestOptionsArgs || {});\n }\n\n public appendOptions(options: KalturaClientOptions): void {\n if (!options) {\n throw new KalturaClientException('client::append_options',`missing required argument 'options'`);\n }\n\n this._options = Object.assign(\n this._options || {}, options\n );\n }\n\n public setOptions(options: KalturaClientOptions): void {\n if (!options) {\n throw new KalturaClientException('client::set_options',`missing required argument 'options'`);\n }\n\n this._options = options;\n }\n\n public appendDefaultRequestOptions(args: KalturaRequestOptionsArgs): void {\n if (!args) {\n throw new KalturaClientException('client::append_default_request_options',`missing required argument 'args'`);\n }\n\n this._defaultRequestOptions = Object.assign(\n this._defaultRequestOptions || new KalturaRequestOptions(), new KalturaRequestOptions(args)\n );\n }\n\n public setDefaultRequestOptions(args: KalturaRequestOptionsArgs): void {\n if (!args) {\n throw new KalturaClientException('client::set_default_request_options',`missing required argument 'args'`);\n }\n\n this._defaultRequestOptions = new KalturaRequestOptions(args);\n }\n\n private _validateOptions(): Error | null {\n if (!this._options) {\n return new KalturaClientException('client::missing_options','cannot transmit request, missing client options (did you forgot to provide options manually?)');\n }\n\n if (!this._options.endpointUrl) {\n return new KalturaClientException('client::missing_options', `cannot transmit request, missing 'endpointUrl' in client options`);\n }\n\n if (!this._options.clientTag) {\n return new KalturaClientException('client::missing_options', `cannot transmit request, missing 'clientTag' in client options`);\n }\n\n return null;\n }\n\n public request<T>(request: KalturaRequest<T>): CancelableAction<T>;\n public request<T>(request: KalturaFileRequest): CancelableAction<{ url: string }>;\n public request<T>(request: KalturaRequest<T> | KalturaFileRequest): CancelableAction<T | { url: string }> {\n\n const optionsViolationError = this._validateOptions();\n\n if (optionsViolationError) {\n return CancelableAction.reject(optionsViolationError);\n }\n\n if (request instanceof KalturaFileRequest) {\n return new KalturaFileRequestAdapter().transmit(request, this._options, this._defaultRequestOptions);\n\n } else if (request instanceof KalturaUploadRequest) {\n return new KalturaUploadRequestAdapter(this._options, this._defaultRequestOptions).transmit(request);\n }\n else if (request instanceof KalturaRequest) {\n return new KalturaRequestAdapter().transmit(request, this._options, this._defaultRequestOptions);\n } else {\n return CancelableAction.reject(new KalturaClientException(\"client::request_type_error\", 'unsupported request type requested'));\n }\n }\n\n public multiRequest(requests: KalturaRequest<any>[]): CancelableAction<KalturaMultiResponse>\n public multiRequest(request: KalturaMultiRequest): CancelableAction<KalturaMultiResponse>;\n public multiRequest(arg: KalturaMultiRequest | KalturaRequest<any>[]): CancelableAction<KalturaMultiResponse> {\n const optionsViolationError = this._validateOptions();\n if (optionsViolationError) {\n return CancelableAction.reject(optionsViolationError);\n }\n\n const request = arg instanceof KalturaMultiRequest ? arg : (arg instanceof Array ? new KalturaMultiRequest(...arg) : null);\n if (!request) {\n return CancelableAction.reject(new KalturaClientException('client::invalid_request', `Expected argument of type Array or KalturaMultiRequest`));\n }\n\n const containsFileRequest = request.requests.some(item => item instanceof KalturaFileRequest);\n if (containsFileRequest) {\n return CancelableAction.reject(new KalturaClientException('client::invalid_request', `multi-request not support requests of type 'KalturaFileRequest', use regular request instead`));\n } else {\n return new KalturaMultiRequestAdapter().transmit(request, this._options, this._defaultRequestOptions);\n }\n }\n}\n","import { KalturaObjectBase } from \"./kaltura-object-base\";\nimport { KalturaRequestBase, KalturaRequestBaseArgs } from './kaltura-request-base';\nimport { KalturaRequest, KalturaRequestArgs } from './kaltura-request';\n\n\n\nexport interface KalturaFileRequestArgs extends KalturaRequestArgs {\n}\n\nexport class KalturaFileRequest extends KalturaRequest<{url: string}> {\n\n constructor(data: KalturaFileRequestArgs) {\n super(data, {responseType : 'v', responseSubType : '', responseConstructor : null });\n }\n\n}","import { KalturaRequest } from '../api/kaltura-request';\nimport { KalturaAPIException } from '../api/kaltura-api-exception';\nimport { KalturaClientException } from '../api/kaltura-client-exception';\nimport { KalturaRequestOptions } from '../api/kaltura-request-options';\nimport { KalturaClientOptions } from '../kaltura-client-options';\nimport { createCancelableAction, createEndpoint, getHeaders, prepareParameters } from './utils';\nimport { CancelableAction } from '../cancelable-action';\n\nexport class KalturaRequestAdapter {\n\n constructor() {\n }\n\n public transmit<T>(request: KalturaRequest<T>, clientOptions: KalturaClientOptions, defaultRequestOptions: KalturaRequestOptions): CancelableAction<T> {\n\n const body = prepareParameters(request, clientOptions, defaultRequestOptions);\n\n const endpoint = createEndpoint(request, clientOptions, body['service'], body['action']);\n delete body['service'];\n delete body['action'];\n\n return <any>createCancelableAction<T>({endpoint, headers: getHeaders(), body})\n .then(result => {\n try {\n const response = request.handleResponse(result);\n\n if (response.error) {\n throw response.error;\n } else {\n return response.result;\n }\n } catch (error) {\n if (error instanceof KalturaClientException || error instanceof KalturaAPIException) {\n throw error;\n } else {\n const errorMessage = error instanceof Error ? error.message : typeof error === 'string' ? error : null;\n throw new KalturaClientException('client::response-unknown-error', errorMessage || 'Failed to parse response');\n }\n }\n },\n error => {\n const errorMessage = error instanceof Error ? error.message : typeof error === 'string' ? error : null;\n throw new KalturaClientException(\"client::request-network-error\", errorMessage || 'Error connecting to server');\n });\n }\n}","import { KalturaFileRequest } from '../api/kaltura-file-request';\nimport { KalturaRequestOptions, KalturaRequestOptionsArgs } from '../api/kaltura-request-options';\nimport { buildQuerystring, createClientTag, createEndpoint, prepareParameters } from './utils';\nimport { KalturaClientOptions } from '../kaltura-client-options';\nimport { CancelableAction } from '../cancelable-action';\n\n\nexport class KalturaFileRequestAdapter {\n\n public transmit(request: KalturaFileRequest, clientOptions: KalturaClientOptions, defaultRequestOptions: KalturaRequestOptions): CancelableAction<{ url: string }> {\n const parameters = prepareParameters(request, clientOptions, defaultRequestOptions);\n const endpointUrl = createEndpoint(request, clientOptions, parameters['service'], parameters['action']);\n delete parameters['service'];\n delete parameters['action'];\n\n return CancelableAction.resolve({url: `${endpointUrl}?${buildQuerystring(parameters)}`});\n }\n}","import { KalturaMultiRequest } from '../api/kaltura-multi-request';\nimport { KalturaMultiResponse } from '../api/kaltura-multi-response';\nimport { createCancelableAction, createEndpoint, getHeaders, prepareParameters } from './utils';\nimport { KalturaAPIException } from '../api/kaltura-api-exception';\nimport { KalturaClientException } from '../api/kaltura-client-exception';\nimport { KalturaRequestOptions } from '../api/kaltura-request-options';\nimport { KalturaClientOptions } from '../kaltura-client-options';\nimport { CancelableAction } from '../cancelable-action';\n\nexport class KalturaMultiRequestAdapter {\n constructor() {\n }\n\n transmit(request: KalturaMultiRequest, clientOptions: KalturaClientOptions, defaultRequestOptions: KalturaRequestOptions): CancelableAction<KalturaMultiResponse> {\n\n const body = prepareParameters(request, clientOptions, defaultRequestOptions);\n\n const endpoint = createEndpoint(request, clientOptions, body['service'], body['action']);\n delete body['service'];\n delete body['action'];\n\n return <any>(createCancelableAction<KalturaMultiResponse>({endpoint, headers: getHeaders(), body})\n .then(result => {\n try {\n return request.handleResponse(result);\n } catch (error) {\n if (error instanceof KalturaClientException || error instanceof KalturaAPIException) {\n throw error;\n } else {\n const errorMessage = error instanceof Error ? error.message : typeof error === 'string' ? error : null;\n throw new KalturaClientException('client::multi-response-unknown-error', errorMessage || 'Failed to parse response');\n }\n }\n },\n error => {\n const errorMessage = error instanceof Error ? error.message : typeof error === 'string' ? error : null;\n throw new KalturaClientException(\"client::multi-request-network-error\", errorMessage || 'Error connecting to server');\n }));\n }\n}","import { KalturaUploadRequest } from '../api/kaltura-upload-request';\nimport { buildQuerystring, createEndpoint, prepareParameters } from './utils';\nimport { KalturaClientException } from '../api/kaltura-client-exception';\nimport { KalturaRequestOptions } from '../api/kaltura-request-options';\nimport { KalturaClientOptions } from '../kaltura-client-options';\nimport { KalturaAPIException } from '../api/kaltura-api-exception';\nimport { CancelableAction } from '../cancelable-action';\n\ninterface UploadByChunksData {\n enabled: boolean;\n resume: boolean;\n resumeAt: number;\n finalChunk: boolean;\n}\nexport class KalturaUploadRequestAdapter {\n private _chunkUploadSupported(request: KalturaUploadRequest<any>): boolean {\n // SUPPORTED BY BROWSER?\n // Check if these features are support by the browser:\n // - File object type\n // - Blob object type\n // - FileList object type\n // - slicing files\n const supportedByBrowser = (\n (typeof(File) !== 'undefined')\n &&\n (typeof(Blob) !== 'undefined')\n &&\n (typeof(FileList) !== 'undefined')\n &&\n (!!(<any>Blob.prototype)['webkitSlice'] || !!(<any>Blob.prototype)['mozSlice'] || !!(<any>Blob.prototype).slice || false)\n );\n const supportedByRequest = request.supportChunkUpload();\n const enabledInClient = !this.clientOptions.chunkFileDisabled;\n\n return enabledInClient && supportedByBrowser && supportedByRequest;\n }\n\n constructor(public clientOptions: KalturaClientOptions, public defaultRequestOptions: KalturaRequestOptions)\n {\n\n }\n\n transmit(request: KalturaUploadRequest<any>): CancelableAction<any> {\n return new CancelableAction((resolve, reject, action) => {\n const uploadedFileSize = !isNaN(request.uploadedFileSize) && isFinite(request.uploadedFileSize) && request.uploadedFileSize > 0 ? request.uploadedFileSize : 0;\n const data: UploadByChunksData = {\n enabled: this._chunkUploadSupported(request),\n resume: !!uploadedFileSize,\n finalChunk: false,\n resumeAt: uploadedFileSize\n };\n\n let activeAction: CancelableAction<any>;\n\n const handleChunkUploadError = reason => {\n activeAction = null;\n reject(reason);\n };\n\n const handleChunkUploadSuccess = result => {\n if (!data.enabled || data.finalChunk) {\n activeAction = null;\n\n try {\n const response = request.handleResponse(result);\n\n if (response.error) {\n reject(response.error);\n } else {\n resolve(response.result);\n }\n } catch (error) {\n if (error instanceof KalturaClientException || error instanceof KalturaAPIException) {\n reject(error);\n } else {\n const errorMessage = error instanceof Error ? error.message : typeof error === 'string' ? error : null;\n reject(new KalturaClientException('client::response-unknown-error', errorMessage || 'Failed to parse response'));\n }\n }\n\n\n } else {\n activeAction = this._chunkUpload(request, data).then(handleChunkUploadSuccess, handleChunkUploadError);\n }\n };\n\n activeAction = this._chunkUpload(request, data)\n .then(handleChunkUploadSuccess, handleChunkUploadError);\n\n\n return() =>\n {\n if (activeAction) {\n activeAction.cancel();\n activeAction = null;\n }\n };\n });\n }\n\n private _getFormData(filePropertyName: string, fileName: string, fileChunk: File | Blob): FormData {\n const result = new FormData();\n result.append(\"fileName\", fileName);\n result.append(filePropertyName, fileChunk);\n return result;\n }\n\n private _chunkUpload(request: KalturaUploadRequest<any>, uploadChunkData: UploadByChunksData): CancelableAction<any> {\n return new CancelableAction((resolve, reject) => {\n const parameters = prepareParameters(request, this.clientOptions, this.defaultRequestOptions);\n\n let isComplete = false;\n const {propertyName, file} = request.getFileInfo();\n let data = this._getFormData(propertyName, file.name, file);\n\n let fileStart = 0;\n\n if (uploadChunkData.enabled) {\n\t let actualChunkFileSize: number = null;\n const userChunkFileSize = this.clientOptions ? this.clientOptions.chunkFileSize : null;\n\n if (userChunkFileSize && Number.isFinite(userChunkFileSize) && !Number.isNaN(userChunkFileSize)) {\n\t if (userChunkFileSize < 1e5) {\n\t\t console.warn(`user requested for invalid upload chunk size '${userChunkFileSize}'. minimal value 100Kb. using minimal value 100Kb instead`);\n\t\t actualChunkFileSize = 1e5;\n\t } else {\n console.log(`using user requetsed chunk size '${userChunkFileSize}'`);\n actualChunkFileSize = userChunkFileSize;\n }\n } else {\n console.log(`using default chunk size 5Mb`);\n actualChunkFileSize = 5e6; // default\n }\n\n uploadChunkData.finalChunk = (file.size - uploadChunkData.resumeAt) <= actualChunkFileSize;\n\n fileStart = uploadChunkData.resumeAt;\n const fileEnd = uploadChunkData.finalChunk ? file.size : fileStart + actualChunkFileSize;\n\n data = this._getFormData(propertyName, file.name, file.slice(fileStart, fileEnd, file.type));\n\n parameters.resume = uploadChunkData.resume;\n parameters.resumeAt = uploadChunkData.resumeAt;\n parameters.finalChunk = uploadChunkData.finalChunk;\n } else {\n console.log(`chunk upload not supported by browser or by request. Uploading the file as-is`);\n }\n\n let endpointUrl = createEndpoint(request, this.clientOptions, parameters['service'], parameters['action']);\n delete parameters['service'];\n delete parameters['action'];\n const querystring = buildQuerystring(parameters);\n endpointUrl = `${endpointUrl}?${querystring}`;\n\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n if (isComplete) {\n return;\n }\n isComplete = true;\n let resp;\n\n try {\n if (xhr.status === 200) {\n resp = JSON.parse(xhr.response);\n } else {\n resp = new KalturaClientException('client::upload-failure', xhr.responseText || 'failed to upload file');\n }\n } catch (e) {\n resp = new KalturaClientException('client::upload-failure', e.message || 'failed to upload file')\n }\n\n if (resp instanceof Error) {\n reject(resp);\n } else {\n if (uploadChunkData.enabled) {\n if (typeof resp.uploadedFileSize === \"undefined\" || resp.uploadedFileSize === null) {\n reject(new KalturaClientException('client::upload-failure', `uploaded chunk of file failed, expected response with property 'uploadedFileSize'`));\n return;\n } else if (!uploadChunkData.finalChunk) {\n uploadChunkData.resumeAt = Number(resp.uploadedFileSize);\n uploadChunkData.resume = true;\n }\n }\n\n resolve(resp);\n }\n }\n };\n\n const progressCallback = request._getProgressCallback();\n if (progressCallback) {\n xhr.upload.addEventListener(\"progress\", e => {\n if (e.lengthComputable) {\n progressCallback.apply(request, [e.loaded + fileStart, file.size]);\n } else {\n // Unable to compute progress information since the total size is unknown\n }\n }, false);\n }\n\n xhr.open(\"POST\", endpointUrl);\n xhr.send(data);\n\n return () => {\n if (!isComplete) {\n isComplete = true;\n xhr.abort();\n }\n };\n });\n }\n}\n","export * from \"./moderation\";","import {h, Component, Fragment} from 'preact';\nimport {getContribLogger, ObjectUtils} from '@playkit-js-contrib/common';\nimport {\n KeyboardKeys,\n Popover,\n PopoverHorizontalPositions,\n PopoverVerticalPositions,\n} from '@playkit-js-contrib/ui';\nimport {KalturaModerationFlagType} from 'kaltura-typescript-client/api/types';\nimport {PopoverMenu, PopoverMenuItem} from '../popover-menu';\nimport * as styles from './moderation.scss';\nconst {get} = ObjectUtils;\nconst {Tooltip} = KalturaPlayer.ui.components;\n\nexport interface ModerateOption {\n id: number;\n label: string;\n}\n\ninterface ModerationProps {\n onClick: () => void;\n onSubmit: (contentType: KalturaModerationFlagType, content: string, callBack: () => void) => void;\n reportLength: number;\n moderateOptions: ModerateOption[];\n subtitle: string;\n tooltipMessage: string;\n closeButtonSelected: boolean;\n}\n\ninterface ModerationState {\n reportContentType: number;\n reportContent: string;\n isTextareaActive: boolean;\n}\n\nconst logger = getContribLogger({\n class: 'Info',\n module: 'info-plugin',\n});\n\nconst DEFAULT_CONTENT_TYPE = 'Choose a reason for reporting this content';\n\nconst initialState: ModerationState = {\n reportContent: '',\n reportContentType: -1,\n isTextareaActive: false,\n};\n\nexport class Moderation extends Component<ModerationProps, ModerationState> {\n _closeButtonNode: null | HTMLDivElement = null;\n\n state: ModerationState = { ...initialState };\n\n componentDidMount(): void {\n logger.trace('Moderation plugin mount', {\n method: 'componentDidMount',\n });\n if (this._closeButtonNode && this.props.closeButtonSelected) {\n this._closeButtonNode.focus();\n }\n }\n\n private _onContentTypeChange = (id: number) => {\n this.setState({\n reportContentType: id,\n });\n };\n\n private _onContentChange = (event: any) => {\n this.setState({\n reportContent: event.target.value,\n });\n };\n\n private _handleFocus = () => {\n this.setState({\n isTextareaActive: true,\n });\n };\n\n private _handleBlur = () => {\n this.setState((state: ModerationState) => ({\n isTextareaActive: state.reportContent.length > 0,\n }));\n };\n\n private _handleSubmit = (event: any) => {\n event.preventDefault();\n const {reportContent, reportContentType} = this.state;\n logger.trace('Moderation plugin submit click', {\n method: 'handleSubmit',\n });\n if (reportContentType === -1) {\n logger.trace('Moderation User did not select reason', {\n method: 'handleSubmit',\n });\n return;\n }\n this.props.onSubmit(reportContentType, reportContent, () => {\n this.setState({...initialState});\n });\n };\n\n private _onKeyDown = (e: KeyboardEvent, callBack: Function) => {\n if (e.keyCode !== KeyboardKeys.Enter && e.keyCode !== KeyboardKeys.Esc) {\n // don't stopPropagation on ESC and Enter pressed as it prevent the popup closing\n e.stopPropagation();\n }\n switch (e.keyCode) {\n case 13: // Enter pressed\n callBack();\n break;\n }\n };\n\n private _popoverMenuItemRenderer = (el: PopoverMenuItem) => (\n <div\n tabIndex={1}\n role=\"button\"\n onClick={() => el.onMenuChosen()}\n onKeyDown={e => this._onKeyDown(e, el.onMenuChosen)}\n className={styles.popoverMenuItem}>\n {el.label}\n </div>\n );\n\n private _getPopoverMenuOptions = () => {\n return this.props.moderateOptions.map(({label, id}: ModerateOption) => ({\n label: label || '',\n onMenuChosen: () => this._onContentTypeChange(id || -1),\n }));\n };\n\n private _popoverContent = () => {\n return (\n <PopoverMenu\n itemRenderer={this._popoverMenuItemRenderer}\n options={this._getPopoverMenuOptions()}\n />\n );\n };\n\n private _getContentType = () => {\n return (\n this.props.moderateOptions.find(\n (moderateOption: ModerateOption) =>\n moderateOption.id === this.state.reportContentType\n ) || {}\n );\n };\n\n private _handleClose = (event: MouseEvent | KeyboardEvent) => {\n if (\n event.type === 'keypress' &&\n get(event, 'keyCode', null) !== KeyboardKeys.Enter\n ) {\n return;\n }\n this.props.onClick();\n };\n\n render(props: ModerationProps) {\n const {reportLength, subtitle, tooltipMessage} = props;\n const {reportContent, reportContentType, isTextareaActive} = this.state;\n return (\n <div className={[styles.root, 'kaltura-moderation__root'].join(' ')}>\n <div\n className={[\n styles.closeButton,\n 'kaltura-moderation__close-button',\n ].join(' ')}\n role=\"button\"\n tabIndex={1}\n onClick={this._handleClose}\n onKeyPress={this._handleClose}\n ref={(node: HTMLDivElement | null) => {\n this._closeButtonNode = node;\n }}\n />\n <div className={styles.mainWrapper}>\n <div\n className={[styles.title, 'kaltura-moderation__title'].join(' ')}>\n What’s wrong with this content?\n </div>\n {subtitle ? (\n <div className={[styles.subtitle].join(' ')}>{subtitle}</div>\n ) : null}\n <Popover\n className={styles.reportPopover}\n verticalPosition={PopoverVerticalPositions.Bottom}\n horizontalPosition={PopoverHorizontalPositions.Right}\n content={this._popoverContent()}>\n <Fragment>\n <button className={styles.selectWrapper} tabIndex={1}>\n <div className={styles.select}>\n {reportContentType > -1\n ? get(this._getContentType(), 'label', '')\n : DEFAULT_CONTENT_TYPE}\n </div>\n <div className={styles.downArrow} />\n </button>\n </Fragment>\n </Popover>\n <form onSubmit={this._handleSubmit}>\n <textarea\n className={[\n styles.textarea,\n isTextareaActive ? styles.active : '',\n ].join(' ')}\n onInput={this._onContentChange}\n onFocus={this._handleFocus}\n onBlur={this._handleBlur}\n tabIndex={1}\n placeholder=\"Describe what you saw...\"\n value={reportContent}\n maxLength={reportLength}\n />\n <div className={styles.submitWrapper}>\n <div className={styles.characterCounter}>\n {`${reportContent.length}/${reportLength}`}\n </div>\n <Tooltip label={tooltipMessage} classNames={styles.tooltip}>\n <button\n className={[\n styles.submitButton,\n reportContentType === -1 ? styles.disabled : '',\n ].join(' ')}\n tabIndex={1}\n type=\"submit\">\n Report\n </button>\n </Tooltip>\n </div>\n </form>\n </div>\n </div>\n );\n }\n}\n","export * from './popover-menu';","import { h, Component, ComponentChild } from \"preact\";\nimport * as styles from \"./popover-menu.scss\";\n\nexport interface PopoverMenuItem {\n label: string;\n onMenuChosen: Function;\n customRenderer?: (el: PopoverMenuItem) => ComponentChild;\n}\n\ninterface PopoverMenuProps {\n options: Array<PopoverMenuItem>;\n itemRenderer?: (el: PopoverMenuItem) => ComponentChild;\n}\n\n/**\n * Popover menu renders list of options.\n * options example:\n * [\n * {label: 'option_1', onMenuChosen: () => console.log('selected first')},\n * {label: 'option_2', onMenuChosen: () => console.log('selected second')}\n * ]\n * In case when 'itemRenderer' properdy hasn't provided - PopoverMenu renders\n * div with class \"popover-menu-item\" that contain label for the current option.\n * Default render of options can be changed by providing 'itemRenderer' - it should be\n * function that takes current option and returns valid 'preact' node.\n * If some option need to be rendered with a different method - specific render\n * method can be provided with 'customRenderer' property for the current option.\n * option example with specific render method:\n * { label: 'specific render', onMenuChosen: () => {}, customRenderer: el => (<span>{el.label}</span>)}\n */\n\nexport class PopoverMenu extends Component<PopoverMenuProps> {\n render(props: PopoverMenuProps) {\n return (\n <div className={styles.popoverMenu}>\n {props.options.map((el: PopoverMenuItem) => {\n if (el.customRenderer) {\n return el.customRenderer(el);\n }\n if (props.itemRenderer) {\n return props.itemRenderer(el);\n }\n return (\n <div className=\"popover-menu-item\" onClick={() => el.onMenuChosen(el)}>\n {el.label}\n </div>\n );\n })}\n </div>\n );\n }\n}\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/sass-loader/dist/cjs.js!./popover-menu.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/sass-loader/dist/cjs.js!./popover-menu.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/sass-loader/dist/cjs.js!./popover-menu.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".src-components-popover-menu-popover-menu__popover-menu--1g4DI{padding-top:6px;padding-bottom:6px}\\n\", \"\"]);\n\n// Exports\nexports.locals = {\n\t\"popover-menu\": \"src-components-popover-menu-popover-menu__popover-menu--1g4DI\",\n\t\"popoverMenu\": \"src-components-popover-menu-popover-menu__popover-menu--1g4DI\"\n};","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/sass-loader/dist/cjs.js!./moderation.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/sass-loader/dist/cjs.js!./moderation.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/sass-loader/dist/cjs.js!./moderation.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Imports\nvar urlEscape = require(\"../../../node_modules/css-loader/dist/runtime/url-escape.js\");\nvar ___CSS_LOADER_URL___0___ = urlEscape(require(\"../../assets/close.svg\"));\nvar ___CSS_LOADER_URL___1___ = urlEscape(require(\"../../assets/down.svg\"));\n\n// Module\nexports.push([module.id, \".src-components-moderation-moderation__root--XdHLK{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;padding:60px 32px 32px 32px;color:#fff;background-color:rgba(0,0,0,0.7);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__close-button--34d8L{position:absolute;top:32px;right:32px;width:32px;height:32px;min-width:32px;cursor:pointer;background-image:url(\" + ___CSS_LOADER_URL___0___ + \")}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__close-button--34d8L:focus{outline:1px solid #00cbff}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d{height:100%;width:400px}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__title--3ZX7Q{margin-bottom:8px;font-size:28px;font-weight:bold;text-align:center}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__subtitle--24KS9{margin-top:16px;opacity:0.7;font-size:15px;line-height:1.6}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__report-popover--1_H-U{width:100%;max-width:280px}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__popover-menu-item--3vevr{display:flex;align-items:center;width:100%;height:36px;padding:0 16px;font-size:15px;color:#fff}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__popover-menu-item--3vevr:hover{cursor:pointer;background-color:#666}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__popover-menu-item--3vevr:focus{outline:1px solid #00cbff}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__select-wrapper--3fkU1{display:flex;align-items:center;width:100%;margin-top:24px;margin-bottom:16px;cursor:pointer;padding:0;background:initial;color:#fff;border:none}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__select-wrapper--3fkU1:focus{outline:1px solid #00cbff}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__select-wrapper--3fkU1 .src-components-moderation-moderation__select--2Dvig{opacity:0.8;font-size:15px;line-height:1.6;font-weight:bold}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__select-wrapper--3fkU1 .src-components-moderation-moderation__down-arrow--3wmTU{width:10px;height:10px;margin-left:10px;background-image:url(\" + ___CSS_LOADER_URL___1___ + \");background-position:center;background-repeat:no-repeat}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__textarea--2uQhu{resize:none;width:100%;height:72px;margin-bottom:12px;padding:7px 8px;font-size:15px;color:#ccc;background-color:rgba(255,255,255,0.16);border-radius:4px;border:solid 1px rgba(255,255,255,0.4);overflow-y:auto}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__textarea--2uQhu.src-components-moderation-moderation__active--1dx5F{background-color:#000}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__textarea--2uQhu:-ms-input-placeholderr{color:#ccc !important;font-size:15px;opacity:1}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__textarea--2uQhu::-ms-input-placeholder{color:#ccc}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__textarea--2uQhu::placeholder{color:#ccc;opacity:1}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__textarea--2uQhu::selection{border-radius:2px;background-color:#5b80a7}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__textarea--2uQhu::-webkit-scrollbar{width:11px}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__textarea--2uQhu::-webkit-scrollbar-thumb{border-radius:8px;background-color:rgba(255,255,255,0.3);border:4px solid rgba(0,0,0,0);background-clip:padding-box}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__submit-wrapper--2Qipx{width:100%;display:flex;justify-content:flex-end;align-items:center}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__submit-wrapper--2Qipx .src-components-moderation-moderation__character-counter--3beul{font-size:14px;text-align:right;margin-right:12px;color:#ebebeb}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__submit-wrapper--2Qipx .src-components-moderation-moderation__submit-button--27tfV{width:88px;height:32px;border-radius:18px;color:#fff;text-align:center;font-size:15px;font-weight:bold;background-color:#01819a;border:none;outline:none !important;cursor:pointer}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__submit-wrapper--2Qipx .src-components-moderation-moderation__submit-button--27tfV.src-components-moderation-moderation__disabled--h3fNE{background-color:#666}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__submit-wrapper--2Qipx .src-components-moderation-moderation__submit-button--27tfV:hover:not(.src-components-moderation-moderation__disabled--h3fNE){background-color:#015767}.src-components-moderation-moderation__root--XdHLK .src-components-moderation-moderation__main-wrapper--vW89d .src-components-moderation-moderation__submit-wrapper--2Qipx .src-components-moderation-moderation__submit-button--27tfV:focus{box-shadow:0px 0px 0px 1px #00cbff}.kaltura-moderation__root .playkit-tooltip{width:auto}.playkit-player.playkit-size-sm .kaltura-moderation__close-button,.playkit-player.playkit-size-xs .kaltura-moderation__close-button{top:10px;right:16px}.playkit-player.playkit-size-sm .kaltura-moderation__root,.playkit-player.playkit-size-xs .kaltura-moderation__root{padding:14px 16px}.playkit-player.playkit-size-sm .kaltura-moderation__root .kaltura-moderation__title,.playkit-player.playkit-size-xs .kaltura-moderation__root .kaltura-moderation__title{margin-bottom:16px;font-size:20px;text-align:left}.playkit-player.playkit-size-ty .kaltura-moderation__root{display:none}\\n\", \"\"]);\n\n// Exports\nexports.locals = {\n\t\"root\": \"src-components-moderation-moderation__root--XdHLK\",\n\t\"close-button\": \"src-components-moderation-moderation__close-button--34d8L\",\n\t\"closeButton\": \"src-components-moderation-moderation__close-button--34d8L\",\n\t\"main-wrapper\": \"src-components-moderation-moderation__main-wrapper--vW89d\",\n\t\"mainWrapper\": \"src-components-moderation-moderation__main-wrapper--vW89d\",\n\t\"title\": \"src-components-moderation-moderation__title--3ZX7Q\",\n\t\"subtitle\": \"src-components-moderation-moderation__subtitle--24KS9\",\n\t\"report-popover\": \"src-components-moderation-moderation__report-popover--1_H-U\",\n\t\"reportPopover\": \"src-components-moderation-moderation__report-popover--1_H-U\",\n\t\"popover-menu-item\": \"src-components-moderation-moderation__popover-menu-item--3vevr\",\n\t\"popoverMenuItem\": \"src-components-moderation-moderation__popover-menu-item--3vevr\",\n\t\"select-wrapper\": \"src-components-moderation-moderation__select-wrapper--3fkU1\",\n\t\"selectWrapper\": \"src-components-moderation-moderation__select-wrapper--3fkU1\",\n\t\"select\": \"src-components-moderation-moderation__select--2Dvig\",\n\t\"down-arrow\": \"src-components-moderation-moderation__down-arrow--3wmTU\",\n\t\"downArrow\": \"src-components-moderation-moderation__down-arrow--3wmTU\",\n\t\"textarea\": \"src-components-moderation-moderation__textarea--2uQhu\",\n\t\"active\": \"src-components-moderation-moderation__active--1dx5F\",\n\t\"submit-wrapper\": \"src-components-moderation-moderation__submit-wrapper--2Qipx\",\n\t\"submitWrapper\": \"src-components-moderation-moderation__submit-wrapper--2Qipx\",\n\t\"character-counter\": \"src-components-moderation-moderation__character-counter--3beul\",\n\t\"characterCounter\": \"src-components-moderation-moderation__character-counter--3beul\",\n\t\"submit-button\": \"src-components-moderation-moderation__submit-button--27tfV\",\n\t\"submitButton\": \"src-components-moderation-moderation__submit-button--27tfV\",\n\t\"disabled\": \"src-components-moderation-moderation__disabled--h3fNE\"\n};","module.exports = \"data:image/svg+xml,%3C?xml version='1.0' encoding='UTF-8'?%3E %3Csvg width='32px' height='32px' viewBox='0 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E %3C!-- Generator: Sketch 57.1 (83088) - https://sketch.com --%3E %3Ctitle%3EIcons/32/Close%3C/title%3E %3Cdesc%3ECreated with Sketch.%3C/desc%3E %3Cg id='Icons/32/Close' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E %3Crect id='Bounds' x='0' y='0' width='32' height='32'%3E%3C/rect%3E %3Cpath d='M17.9113162,16 L24.6072325,9.30408374 C25.1313645,8.77995172 25.1287183,7.92687249 24.6009229,7.3990771 C24.0694478,6.86760201 23.220227,6.86845682 22.6959163,7.39276754 L16,14.0886838 L9.30408374,7.39276754 C8.77995172,6.86863552 7.92687249,6.8712817 7.3990771,7.3990771 C6.86760201,7.93055219 6.86845682,8.77977302 7.39276754,9.30408374 L14.0886838,16 L7.39276754,22.6959163 C6.86863552,23.2200483 6.8712817,24.0731275 7.3990771,24.6009229 C7.93055219,25.132398 8.77977302,25.1315432 9.30408374,24.6072325 L16,17.9113162 L22.6959163,24.6072325 C23.2200483,25.1313645 24.0731275,25.1287183 24.6009229,24.6009229 C25.132398,24.0694478 25.1315432,23.220227 24.6072325,22.6959163 L17.9113162,16 Z' id='Close' fill='rgba(255,255,255,0.8)'%3E%3C/path%3E %3C/g%3E %3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3C?xml version='1.0' encoding='UTF-8'?%3E %3Csvg width='16px' height='16px' viewBox='0 0 16 16' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E %3C!-- Generator: Sketch 57.1 (83088) - https://sketch.com --%3E %3Ctitle%3EIcons/16/Arrow/down%3C/title%3E %3Cdesc%3ECreated with Sketch.%3C/desc%3E %3Cg id='Icons/16/Arrow/down' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E %3Cpath d='M4.78325732,5.37830235 C4.43990319,4.94572127 3.81088342,4.87338855 3.37830235,5.21674268 C2.94572127,5.56009681 2.87338855,6.18911658 3.21674268,6.62169765 L7.21674268,11.6611718 C7.61710439,12.165575 8.38289561,12.165575 8.78325732,11.6611718 L12.7832573,6.62169765 C13.1266115,6.18911658 13.0542787,5.56009681 12.6216977,5.21674268 C12.1891166,4.87338855 11.5600968,4.94572127 11.2167427,5.37830235 L8,9.43097528 L4.78325732,5.37830235 Z' id='Path-2' fill='%23ffffff'%3E%3C/path%3E %3C/g%3E %3C/svg%3E\"","export * from \"./plugin-button\";","import {h} from 'preact';\nimport * as styles from './plugin-button.scss';\n\nexport const PluginButton = () => (\n <button className={styles.moderationIcon} tabIndex={1} />\n);\n","\nvar content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/sass-loader/dist/cjs.js!./plugin-button.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/sass-loader/dist/cjs.js!./plugin-button.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/sass-loader/dist/cjs.js!./plugin-button.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Imports\nvar urlEscape = require(\"../../../node_modules/css-loader/dist/runtime/url-escape.js\");\nvar ___CSS_LOADER_URL___0___ = urlEscape(require(\"../../assets/flag.svg\"));\n\n// Module\nexports.push([module.id, \".src-components-plugin-button-plugin-button__moderation-icon--5jv5c{background-image:url(\" + ___CSS_LOADER_URL___0___ + \");width:32px;height:32px;opacity:0.8;cursor:pointer;background-color:inherit;border:none;padding:0}.src-components-plugin-button-plugin-button__moderation-icon--5jv5c:hover,.src-components-plugin-button-plugin-button__moderation-icon--5jv5c:focus{opacity:1}\\n\", \"\"]);\n\n// Exports\nexports.locals = {\n\t\"moderation-icon\": \"src-components-plugin-button-plugin-button__moderation-icon--5jv5c\",\n\t\"moderationIcon\": \"src-components-plugin-button-plugin-button__moderation-icon--5jv5c\"\n};","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E %3Cg fill='none' fill-rule='evenodd'%3E %3Cpath d='M0 0H32V32H0z'/%3E %3Cpath fill='%23FFF' d='M8.378 7.084l5.175 19.314c.134.497-.126 1.005-.594 1.19l-.112.037c-.533.143-1.08-.165-1.225-.71L6.447 7.603c-.134-.497.126-1.005.594-1.19l.112-.037c.533-.143 1.08.165 1.225.71zM21.882 7c1.878 0 2.79 1.622 1.84 3.239l-1.386 2.36 2.94 3.246C26.6 17.31 25.842 19 23.868 19h-10.21c-.452 0-.848-.304-.966-.741l-2.68-10c-.17-.635.31-1.259.967-1.259h10.902zm.211 1.994l-.21.006h-9.6l2.144 8h9.196l-3.263-3.604c-.293-.324-.342-.8-.12-1.178l1.757-2.992c.114-.194.168-.23.096-.232z' opacity='.8'/%3E %3C/g%3E %3C/svg%3E\"","\nvar content = require(\"!!../node_modules/css-loader/dist/cjs.js??ref--6-1!../node_modules/sass-loader/dist/cjs.js!./moderation-plugin.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../node_modules/css-loader/dist/cjs.js??ref--6-1!../node_modules/sass-loader/dist/cjs.js!./moderation-plugin.scss\", function() {\n\t\tvar newContent = require(\"!!../node_modules/css-loader/dist/cjs.js??ref--6-1!../node_modules/sass-loader/dist/cjs.js!./moderation-plugin.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Imports\nvar urlEscape = require(\"../node_modules/css-loader/dist/runtime/url-escape.js\");\nvar ___CSS_LOADER_URL___0___ = urlEscape(require(\"./assets/report.svg\"));\nvar ___CSS_LOADER_URL___1___ = urlEscape(require(\"./assets/error.svg\"));\n\n// Module\nexports.push([module.id, \".src-moderation-plugin__toast-icon--3EHSf{width:16px;height:16px;margin-right:7px;background-position:center;background-repeat:no-repeat}.src-moderation-plugin__toast-icon--3EHSf.src-moderation-plugin__success--2rC1O{background-image:url(\" + ___CSS_LOADER_URL___0___ + \")}.src-moderation-plugin__toast-icon--3EHSf.src-moderation-plugin__error--1VZlZ{background-image:url(\" + ___CSS_LOADER_URL___1___ + \")}\\n\", \"\"]);\n\n// Exports\nexports.locals = {\n\t\"toast-icon\": \"src-moderation-plugin__toast-icon--3EHSf\",\n\t\"toastIcon\": \"src-moderation-plugin__toast-icon--3EHSf\",\n\t\"success\": \"src-moderation-plugin__success--2rC1O\",\n\t\"error\": \"src-moderation-plugin__error--1VZlZ\"\n};","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cpath fill='%23CCC' fill-rule='evenodd' d='M3.292 1.488L6.69 14.172c.086.32-.076.646-.371.774l-.093.032c-.35.094-.712-.122-.805-.466L2.023 1.828c-.086-.32.076-.646.371-.774l.093-.032c.35-.094.712.122.805.466zm8.868-.055c1.233 0 1.832 1.065 1.208 2.127l-.91 1.55 1.93 2.132c.87.961.373 2.071-.923 2.071H6.76c-.297 0-.558-.2-.635-.486l-1.76-6.568c-.111-.417.203-.826.635-.826h7.16z'/%3E %3C/svg%3E\"","module.exports = \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E %3Cpath fill='%23CCC' fill-rule='evenodd' d='M8 2c3.314 0 6 2.686 6 6s-2.686 6-6 6-6-2.686-6-6 2.686-6 6-6zm0 8c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1zm0-6c-.552 0-1 .444-1 1v3c0 .513.383.936.883.993L8 9c.552 0 1-.444 1-1V5c0-.513-.383-.936-.883-.993L8 4z'/%3E %3C/svg%3E\""],"sourceRoot":""}