@opentok/client 2.21.6 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license OpenTok.js 2.21.6 ceabcb2cc
2
+ * @license OpenTok.js 2.22.0 a83f3e955
3
3
  *
4
4
  * Copyright (c) 2010-2022 TokBox, Inc.
5
5
  * Subject to the applicable Software Development Kit (SDK) License Agreement:
6
6
  * https://www.vonage.com/legal/communications-apis/terms-of-use/
7
7
  *
8
- * Date: Fri, 21 Jan 2022 23:38:40 GMT
8
+ * Date: Thu, 24 Feb 2022 23:17:22 GMT
9
9
  */
10
10
 
11
11
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -1367,6 +1367,8 @@ var _global, _global$navigator, _global2, _global2$process, _global2$process$ver
1367
1367
  * @property isEdge Whether the client is isEdge (legacy or chromiumedge)
1368
1368
  * @property isChromiumEdge Whether the client is isChromiumEdge (version >= 79)
1369
1369
  * @property isLegacyEdge Whether the client is isLegacyEdge (version < 79)
1370
+ * @property isLegacyElectron Whether the client is isLegacyElectron (version < 2)
1371
+ * @property isLegacyChrome Whether the client is isLegacyChrome (version < 50)
1370
1372
  * @property isAndroid Whether the client is an Android device
1371
1373
  * @property protocol The protocol property of the URL
1372
1374
  * @property hostName The domain of the URL
@@ -1381,6 +1383,8 @@ const isiOS = __webpack_require__(530);
1381
1383
 
1382
1384
  const iOSVersion = __webpack_require__(531);
1383
1385
 
1386
+ const getElectronVersion = __webpack_require__(532);
1387
+
1384
1388
  const isElectron = ((_global = (typeof window !== undefined ? window : global)) == null ? void 0 : (_global$navigator = _global.navigator) == null ? void 0 : _global$navigator.userAgent.toLowerCase().indexOf('electron')) >= 0;
1385
1389
  /* We must use global.process here as process is a variable injected
1386
1390
  * by webpack and its value is fixed at build time, not runtime.
@@ -1421,6 +1425,8 @@ if (typeof ((_global2 = (typeof window !== undefined ? window : global)) == null
1421
1425
 
1422
1426
  if (!env.isElectron) {
1423
1427
  env.isChrome = true;
1428
+ } else {
1429
+ env.electronVersion = getElectronVersion((typeof window !== undefined ? window : global).navigator.userAgent);
1424
1430
  }
1425
1431
 
1426
1432
  if (/chrome\/([0-9]{1,}[.0-9]{0,})/.exec(env.userAgent) !== null) {
@@ -1456,10 +1462,16 @@ if (typeof ((_global2 = (typeof window !== undefined ? window : global)) == null
1456
1462
  // code base
1457
1463
 
1458
1464
  env.isLegacyEdge = env.name === 'Edge' && env.version < 79;
1465
+ env.isLegacyElectron = env.isElectron && env.electronVersion < 2;
1466
+ env.isLegacyChrome = env.isChrome && env.version < 50;
1459
1467
  env.isAndroid = env.userAgent.indexOf('android') > -1;
1460
1468
  env.userAgent = (typeof window !== undefined ? window : global).navigator.userAgent;
1461
1469
  env.protocol = (typeof window !== undefined ? window : global).location.protocol;
1462
1470
  env.hostName = (typeof window !== undefined ? window : global).location.hostName;
1471
+
1472
+ if (env.version === -1 || env.name === 'unknown' || env.isiOS && !env.iOSVersion) {
1473
+ env.error = true;
1474
+ }
1463
1475
  }
1464
1476
 
1465
1477
  module.exports = env;
@@ -1601,6 +1613,8 @@ module.exports = {
1601
1613
  STREAM_LIMIT_EXCEEDED: 'OT_STREAM_LIMIT_EXCEEDED',
1602
1614
  // Couldn't subscribe to the stream because it was not found.
1603
1615
  STREAM_NOT_FOUND: 'OT_STREAM_NOT_FOUND',
1616
+ // Couldn't subscribe to stream due to unexpected error from rumor
1617
+ UNABLE_TO_SUBSCRIBE: 'OT_UNABLE_TO_SUBSCRIBE',
1604
1618
  // Couldn't connect due to a terms of service violation.
1605
1619
  TERMS_OF_SERVICE_FAILURE: 'OT_TERMS_OF_SERVICE_FAILURE',
1606
1620
  // A timer expired while waiting for an action to occur.
@@ -1694,10 +1708,10 @@ OTHelpers.logging = log('OT.$');
1694
1708
  OTHelpers.ElementCollection = __webpack_require__(246);
1695
1709
  OTHelpers.env = __webpack_require__(2);
1696
1710
  OTHelpers.ajax = __webpack_require__(244);
1697
- OTHelpers.statable = __webpack_require__(537);
1711
+ OTHelpers.statable = __webpack_require__(538);
1698
1712
  OTHelpers.Analytics = __webpack_require__(243);
1699
1713
  OTHelpers.Collection = __webpack_require__(248);
1700
- OTHelpers.domExtras = __webpack_require__(538);
1714
+ OTHelpers.domExtras = __webpack_require__(539);
1701
1715
  OTHelpers.Error = __webpack_require__(250);
1702
1716
  setDeprecatedProperty(OTHelpers, 'useLogHelpers', {
1703
1717
  value(mixin) {
@@ -2156,7 +2170,7 @@ var assignValue = __webpack_require__(83),
2156
2170
  createAssigner = __webpack_require__(191),
2157
2171
  isArrayLike = __webpack_require__(24),
2158
2172
  isPrototype = __webpack_require__(68),
2159
- keys = __webpack_require__(29);
2173
+ keys = __webpack_require__(30);
2160
2174
 
2161
2175
  /** Used for built-in method references. */
2162
2176
  var objectProto = Object.prototype;
@@ -2379,7 +2393,7 @@ module.exports = function otErrorFactory(deps) {
2379
2393
  /* 12 */
2380
2394
  /***/ (function(module, exports, __webpack_require__) {
2381
2395
 
2382
- module.exports = __webpack_require__(599);
2396
+ module.exports = __webpack_require__(600);
2383
2397
 
2384
2398
 
2385
2399
  /***/ }),
@@ -2444,7 +2458,7 @@ module.exports = root;
2444
2458
  /* 15 */
2445
2459
  /***/ (function(module, exports, __webpack_require__) {
2446
2460
 
2447
- var baseGetTag = __webpack_require__(28),
2461
+ var baseGetTag = __webpack_require__(29),
2448
2462
  isObject = __webpack_require__(9);
2449
2463
 
2450
2464
  /** `Object#toString` result references. */
@@ -2946,7 +2960,7 @@ const eventing = __webpack_require__(6);
2946
2960
 
2947
2961
  const eventNames = __webpack_require__(26);
2948
2962
 
2949
- const errorCodeToErrorTitleMap = __webpack_require__(536);
2963
+ const errorCodeToErrorTitleMap = __webpack_require__(537);
2950
2964
 
2951
2965
  const Events = __webpack_require__(22)();
2952
2966
  /**
@@ -5048,7 +5062,7 @@ module.exports = function (deps) {
5048
5062
 
5049
5063
  const getNativeEnumerateDevices = deps.getNativeEnumerateDevices || __webpack_require__(286)();
5050
5064
 
5051
- const getNativeMediaDevices = deps.getNativeMediaDevices || __webpack_require__(623)();
5065
+ const getNativeMediaDevices = deps.getNativeMediaDevices || __webpack_require__(624)();
5052
5066
 
5053
5067
  const _ref = deps.currentAudioOutputDevice || __webpack_require__(105),
5054
5068
  getCurrentAudioOutputDeviceId = _ref.getCurrentAudioOutputDeviceId;
@@ -5370,6 +5384,185 @@ module.exports = {
5370
5384
  /* 27 */
5371
5385
  /***/ (function(module, exports, __webpack_require__) {
5372
5386
 
5387
+ "use strict";
5388
+
5389
+
5390
+ var _interopRequireDefault = __webpack_require__(3);
5391
+
5392
+ var _extends2 = _interopRequireDefault(__webpack_require__(25));
5393
+
5394
+ var _createClass2 = _interopRequireDefault(__webpack_require__(45));
5395
+
5396
+ var _defineProperty2 = _interopRequireDefault(__webpack_require__(18));
5397
+
5398
+ /* eslint-disable no-underscore-dangle */
5399
+ const guidStorage = __webpack_require__(240);
5400
+
5401
+ const Analytics = __webpack_require__(243);
5402
+
5403
+ const SessionInfo = __webpack_require__(141);
5404
+
5405
+ const StaticConfig = __webpack_require__(44)();
5406
+
5407
+ const eventing = __webpack_require__(6);
5408
+
5409
+ const sanitizeQosData = __webpack_require__(540);
5410
+
5411
+ const LOG_VERSION = '2';
5412
+
5413
+ let AnalyticsHelper = /*#__PURE__*/function () {
5414
+ function AnalyticsHelper(_temp) {
5415
+ let _ref = _temp === void 0 ? {} : _temp,
5416
+ _ref$staticConfig = _ref.staticConfig,
5417
+ staticConfig = _ref$staticConfig === void 0 ? StaticConfig.onlyLocal() : _ref$staticConfig,
5418
+ _ref$sessionInfo = _ref.sessionInfo,
5419
+ sessionInfo = _ref$sessionInfo === void 0 ? new SessionInfo() : _ref$sessionInfo,
5420
+ ajax = _ref.ajax,
5421
+ queue = _ref.queue;
5422
+
5423
+ (0, _defineProperty2.default)(this, "getTurnServerName", iceServers => {
5424
+ let turnNoTLSServerName;
5425
+ let turnTLSServerName; // In case we don't find the server name we will be returning nothing
5426
+ // which will be ignored and relay server will not be present in the logs
5427
+
5428
+ if (!iceServers || typeof iceServers !== 'object') return turnNoTLSServerName;
5429
+ const servers = Array.isArray(iceServers) ? iceServers : [iceServers];
5430
+ servers.forEach(server => {
5431
+ const urls = server.urls || server.url;
5432
+ const arrUrl = Array.isArray(urls) ? urls : [urls];
5433
+ arrUrl.forEach(url => {
5434
+ // Index where server name value starts
5435
+ const prefixIndex = url.indexOf(':') + 1; // Index of the port number
5436
+
5437
+ const suffixIndex = url.lastIndexOf(':'); // We assume that TLS turn, i.e. turns, is the one which contains
5438
+ // the domain name.
5439
+
5440
+ if (url.includes('turns')) {
5441
+ turnTLSServerName = url.substring(prefixIndex, suffixIndex);
5442
+ } else {
5443
+ turnNoTLSServerName = url.substring(prefixIndex, suffixIndex);
5444
+ }
5445
+ });
5446
+ });
5447
+ return turnTLSServerName || turnNoTLSServerName;
5448
+ });
5449
+ this.ajax = ajax;
5450
+ this.queue = queue;
5451
+ this.sessionInfo = sessionInfo;
5452
+ this.staticConfig = staticConfig;
5453
+ }
5454
+
5455
+ var _proto = AnalyticsHelper.prototype;
5456
+
5457
+ _proto._getCommon = function _getCommon() {
5458
+ return {
5459
+ clientVersion: this.staticConfig.clientVersion,
5460
+ buildHash: this.staticConfig.buildHash,
5461
+ source: (typeof window !== undefined ? window : global).location && (typeof window !== undefined ? window : global).location.href,
5462
+ logVersion: LOG_VERSION,
5463
+ apiServer: this.staticConfig.apiUrl,
5464
+ clientSystemTime: new Date().getTime(),
5465
+ sessionId: this.sessionInfo.sessionId,
5466
+ mediaServerName: this.sessionInfo.mediaServerName,
5467
+ relayServer: this.getTurnServerName(this.sessionInfo.iceServers),
5468
+ p2p: this.sessionInfo.p2pEnabled,
5469
+ messagingServer: this.sessionInfo.messagingServer,
5470
+ messagingUrl: this.sessionInfo.messagingURL,
5471
+ version: this.staticConfig.version,
5472
+ partnerId: this.sessionInfo.partnerId
5473
+ };
5474
+ };
5475
+
5476
+ _proto.logError = function logError(code, type, message, details, options) {
5477
+ if (options === void 0) {
5478
+ options = {};
5479
+ }
5480
+
5481
+ guidStorage.get((error, guid) => {
5482
+ if (error) {
5483
+ // @todo
5484
+ return;
5485
+ }
5486
+
5487
+ const args = [code, type, message, details, (0, _extends2.default)({
5488
+ guid
5489
+ }, this.combineWithCommon(options))];
5490
+ AnalyticsHelper.emit('logError', ...args);
5491
+
5492
+ this._analytics.logError(...args);
5493
+ });
5494
+ };
5495
+
5496
+ _proto.combineWithCommon = function combineWithCommon(options) {
5497
+ return (0, _extends2.default)({}, this._getCommon(), options);
5498
+ };
5499
+
5500
+ _proto.logEvent = function logEvent(options, throttle, completionHandler) {
5501
+ if (options === void 0) {
5502
+ options = {};
5503
+ }
5504
+
5505
+ guidStorage.get((error, guid) => {
5506
+ if (error) {
5507
+ // @todo
5508
+ return;
5509
+ }
5510
+
5511
+ const logData = (0, _extends2.default)({
5512
+ guid
5513
+ }, this.combineWithCommon(options));
5514
+ AnalyticsHelper.emit('logEvent', logData);
5515
+
5516
+ this._analytics.logEvent(logData, false, throttle, completionHandler);
5517
+ });
5518
+ };
5519
+
5520
+ _proto.logQOS = function logQOS(options) {
5521
+ if (options === void 0) {
5522
+ options = {};
5523
+ }
5524
+
5525
+ guidStorage.get((error, guid) => {
5526
+ if (error) {
5527
+ // @todo
5528
+ return;
5529
+ }
5530
+
5531
+ const qosData = (0, _extends2.default)({
5532
+ guid,
5533
+ duration: 0
5534
+ }, this.combineWithCommon(options));
5535
+ sanitizeQosData(qosData);
5536
+ AnalyticsHelper.emit('logQOS', qosData);
5537
+
5538
+ this._analytics.logQOS(qosData);
5539
+ });
5540
+ };
5541
+
5542
+ (0, _createClass2.default)(AnalyticsHelper, [{
5543
+ key: "staticConfig",
5544
+ get: function get() {
5545
+ return this._staticConfig;
5546
+ },
5547
+ set: function set(staticConfig) {
5548
+ this._staticConfig = staticConfig;
5549
+ this._analytics = new Analytics({
5550
+ loggingUrl: this.staticConfig.loggingUrl,
5551
+ ajax: this.ajax,
5552
+ queue: this.queue
5553
+ });
5554
+ }
5555
+ }]);
5556
+ return AnalyticsHelper;
5557
+ }();
5558
+
5559
+ eventing(AnalyticsHelper);
5560
+ module.exports = AnalyticsHelper;
5561
+
5562
+ /***/ }),
5563
+ /* 28 */
5564
+ /***/ (function(module, exports, __webpack_require__) {
5565
+
5373
5566
  "use strict";
5374
5567
  /*
5375
5568
  * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
@@ -5554,7 +5747,7 @@ module.exports = {
5554
5747
 
5555
5748
 
5556
5749
  /***/ }),
5557
- /* 28 */
5750
+ /* 29 */
5558
5751
  /***/ (function(module, exports, __webpack_require__) {
5559
5752
 
5560
5753
  var Symbol = __webpack_require__(38),
@@ -5588,7 +5781,7 @@ module.exports = baseGetTag;
5588
5781
 
5589
5782
 
5590
5783
  /***/ }),
5591
- /* 29 */
5784
+ /* 30 */
5592
5785
  /***/ (function(module, exports, __webpack_require__) {
5593
5786
 
5594
5787
  var arrayLikeKeys = __webpack_require__(177),
@@ -5631,7 +5824,7 @@ module.exports = keys;
5631
5824
 
5632
5825
 
5633
5826
  /***/ }),
5634
- /* 30 */
5827
+ /* 31 */
5635
5828
  /***/ (function(module, exports, __webpack_require__) {
5636
5829
 
5637
5830
  "use strict";
@@ -5646,7 +5839,7 @@ module.exports = function (value) {
5646
5839
 
5647
5840
 
5648
5841
  /***/ }),
5649
- /* 31 */
5842
+ /* 32 */
5650
5843
  /***/ (function(module, exports, __webpack_require__) {
5651
5844
 
5652
5845
  "use strict";
@@ -5715,7 +5908,7 @@ d.gs = function (dscr, get, set/*, options*/) {
5715
5908
 
5716
5909
 
5717
5910
  /***/ }),
5718
- /* 32 */
5911
+ /* 33 */
5719
5912
  /***/ (function(module, exports) {
5720
5913
 
5721
5914
  /**
@@ -5742,7 +5935,7 @@ module.exports = arrayMap;
5742
5935
 
5743
5936
 
5744
5937
  /***/ }),
5745
- /* 33 */
5938
+ /* 34 */
5746
5939
  /***/ (function(module, exports, __webpack_require__) {
5747
5940
 
5748
5941
  var baseMatches = __webpack_require__(496),
@@ -5778,185 +5971,6 @@ function baseIteratee(value) {
5778
5971
  module.exports = baseIteratee;
5779
5972
 
5780
5973
 
5781
- /***/ }),
5782
- /* 34 */
5783
- /***/ (function(module, exports, __webpack_require__) {
5784
-
5785
- "use strict";
5786
-
5787
-
5788
- var _interopRequireDefault = __webpack_require__(3);
5789
-
5790
- var _extends2 = _interopRequireDefault(__webpack_require__(25));
5791
-
5792
- var _createClass2 = _interopRequireDefault(__webpack_require__(45));
5793
-
5794
- var _defineProperty2 = _interopRequireDefault(__webpack_require__(18));
5795
-
5796
- /* eslint-disable no-underscore-dangle */
5797
- const guidStorage = __webpack_require__(240);
5798
-
5799
- const Analytics = __webpack_require__(243);
5800
-
5801
- const SessionInfo = __webpack_require__(141);
5802
-
5803
- const StaticConfig = __webpack_require__(44)();
5804
-
5805
- const eventing = __webpack_require__(6);
5806
-
5807
- const sanitizeQosData = __webpack_require__(539);
5808
-
5809
- const LOG_VERSION = '2';
5810
-
5811
- let AnalyticsHelper = /*#__PURE__*/function () {
5812
- function AnalyticsHelper(_temp) {
5813
- let _ref = _temp === void 0 ? {} : _temp,
5814
- _ref$staticConfig = _ref.staticConfig,
5815
- staticConfig = _ref$staticConfig === void 0 ? StaticConfig.onlyLocal() : _ref$staticConfig,
5816
- _ref$sessionInfo = _ref.sessionInfo,
5817
- sessionInfo = _ref$sessionInfo === void 0 ? new SessionInfo() : _ref$sessionInfo,
5818
- ajax = _ref.ajax,
5819
- queue = _ref.queue;
5820
-
5821
- (0, _defineProperty2.default)(this, "getTurnServerName", iceServers => {
5822
- let turnNoTLSServerName;
5823
- let turnTLSServerName; // In case we don't find the server name we will be returning nothing
5824
- // which will be ignored and relay server will not be present in the logs
5825
-
5826
- if (!iceServers || typeof iceServers !== 'object') return turnNoTLSServerName;
5827
- const servers = Array.isArray(iceServers) ? iceServers : [iceServers];
5828
- servers.forEach(server => {
5829
- const urls = server.urls || server.url;
5830
- const arrUrl = Array.isArray(urls) ? urls : [urls];
5831
- arrUrl.forEach(url => {
5832
- // Index where server name value starts
5833
- const prefixIndex = url.indexOf(':') + 1; // Index of the port number
5834
-
5835
- const suffixIndex = url.lastIndexOf(':'); // We assume that TLS turn, i.e. turns, is the one which contains
5836
- // the domain name.
5837
-
5838
- if (url.includes('turns')) {
5839
- turnTLSServerName = url.substring(prefixIndex, suffixIndex);
5840
- } else {
5841
- turnNoTLSServerName = url.substring(prefixIndex, suffixIndex);
5842
- }
5843
- });
5844
- });
5845
- return turnTLSServerName || turnNoTLSServerName;
5846
- });
5847
- this.ajax = ajax;
5848
- this.queue = queue;
5849
- this.sessionInfo = sessionInfo;
5850
- this.staticConfig = staticConfig;
5851
- }
5852
-
5853
- var _proto = AnalyticsHelper.prototype;
5854
-
5855
- _proto._getCommon = function _getCommon() {
5856
- return {
5857
- clientVersion: this.staticConfig.clientVersion,
5858
- buildHash: this.staticConfig.buildHash,
5859
- source: (typeof window !== undefined ? window : global).location && (typeof window !== undefined ? window : global).location.href,
5860
- logVersion: LOG_VERSION,
5861
- apiServer: this.staticConfig.apiUrl,
5862
- clientSystemTime: new Date().getTime(),
5863
- sessionId: this.sessionInfo.sessionId,
5864
- mediaServerName: this.sessionInfo.mediaServerName,
5865
- relayServer: this.getTurnServerName(this.sessionInfo.iceServers),
5866
- p2p: this.sessionInfo.p2pEnabled,
5867
- messagingServer: this.sessionInfo.messagingServer,
5868
- messagingUrl: this.sessionInfo.messagingURL,
5869
- version: this.staticConfig.version,
5870
- partnerId: this.sessionInfo.partnerId
5871
- };
5872
- };
5873
-
5874
- _proto.logError = function logError(code, type, message, details, options) {
5875
- if (options === void 0) {
5876
- options = {};
5877
- }
5878
-
5879
- guidStorage.get((error, guid) => {
5880
- if (error) {
5881
- // @todo
5882
- return;
5883
- }
5884
-
5885
- const args = [code, type, message, details, (0, _extends2.default)({
5886
- guid
5887
- }, this.combineWithCommon(options))];
5888
- AnalyticsHelper.emit('logError', ...args);
5889
-
5890
- this._analytics.logError(...args);
5891
- });
5892
- };
5893
-
5894
- _proto.combineWithCommon = function combineWithCommon(options) {
5895
- return (0, _extends2.default)({}, this._getCommon(), options);
5896
- };
5897
-
5898
- _proto.logEvent = function logEvent(options, throttle, completionHandler) {
5899
- if (options === void 0) {
5900
- options = {};
5901
- }
5902
-
5903
- guidStorage.get((error, guid) => {
5904
- if (error) {
5905
- // @todo
5906
- return;
5907
- }
5908
-
5909
- const logData = (0, _extends2.default)({
5910
- guid
5911
- }, this.combineWithCommon(options));
5912
- AnalyticsHelper.emit('logEvent', logData);
5913
-
5914
- this._analytics.logEvent(logData, false, throttle, completionHandler);
5915
- });
5916
- };
5917
-
5918
- _proto.logQOS = function logQOS(options) {
5919
- if (options === void 0) {
5920
- options = {};
5921
- }
5922
-
5923
- guidStorage.get((error, guid) => {
5924
- if (error) {
5925
- // @todo
5926
- return;
5927
- }
5928
-
5929
- const qosData = (0, _extends2.default)({
5930
- guid,
5931
- duration: 0
5932
- }, this.combineWithCommon(options));
5933
- sanitizeQosData(qosData);
5934
- AnalyticsHelper.emit('logQOS', qosData);
5935
-
5936
- this._analytics.logQOS(qosData);
5937
- });
5938
- };
5939
-
5940
- (0, _createClass2.default)(AnalyticsHelper, [{
5941
- key: "staticConfig",
5942
- get: function get() {
5943
- return this._staticConfig;
5944
- },
5945
- set: function set(staticConfig) {
5946
- this._staticConfig = staticConfig;
5947
- this._analytics = new Analytics({
5948
- loggingUrl: this.staticConfig.loggingUrl,
5949
- ajax: this.ajax,
5950
- queue: this.queue
5951
- });
5952
- }
5953
- }]);
5954
- return AnalyticsHelper;
5955
- }();
5956
-
5957
- eventing(AnalyticsHelper);
5958
- module.exports = AnalyticsHelper;
5959
-
5960
5974
  /***/ }),
5961
5975
  /* 35 */
5962
5976
  /***/ (function(module, exports, __webpack_require__) {
@@ -6175,7 +6189,7 @@ var DataView = __webpack_require__(380),
6175
6189
  Promise = __webpack_require__(381),
6176
6190
  Set = __webpack_require__(185),
6177
6191
  WeakMap = __webpack_require__(186),
6178
- baseGetTag = __webpack_require__(28),
6192
+ baseGetTag = __webpack_require__(29),
6179
6193
  toSource = __webpack_require__(174);
6180
6194
 
6181
6195
  /** `Object#toString` result references. */
@@ -6780,7 +6794,7 @@ const _require = __webpack_require__(138),
6780
6794
  /** @type builtInConfig */
6781
6795
 
6782
6796
 
6783
- const builtInConfig = cloneDeep({"version":"v2.21.6","buildHash":"ceabcb2cc","minimumVersion":{"firefox":52,"chrome":49},"debug":"false","websiteURL":"http://www.tokbox.com","configURL":"https://config.opentok.com","ipWhitelistConfigURL":"","cdnURL":"https://static.opentok.com","loggingURL":"https://hlg.tokbox.com/prod","apiURL":"https://anvil.opentok.com"});
6797
+ const builtInConfig = cloneDeep({"version":"v2.22.0","buildHash":"a83f3e955","minimumVersion":{"firefox":52,"chrome":49},"debug":"false","websiteURL":"http://www.tokbox.com","configURL":"https://config.opentok.com","ipWhitelistConfigURL":"","cdnURL":"https://static.opentok.com","loggingURL":"https://hlg.tokbox.com/prod","apiURL":"https://anvil.opentok.com"});
6784
6798
  const whitelistAllowedRuntimeProperties = pick(['apiURL', 'assetURL', 'cdnURL', 'sessionInfoOverrides', 'loggingURL']);
6785
6799
  const liveConfigMap = {
6786
6800
  apiUrl: 'apiURL',
@@ -7046,7 +7060,7 @@ module.exports = function highResolutionNow() {
7046
7060
  /* 49 */
7047
7061
  /***/ (function(module, exports, __webpack_require__) {
7048
7062
 
7049
- var before = __webpack_require__(572);
7063
+ var before = __webpack_require__(573);
7050
7064
 
7051
7065
  /**
7052
7066
  * Creates a function that is restricted to invoking `func` once. Repeat calls
@@ -8216,9 +8230,9 @@ exports.check = function (deps) {
8216
8230
 
8217
8231
  const env = deps.env || __webpack_require__(2);
8218
8232
 
8219
- const hasGetUserMediaCapability = deps.hasGetUserMediaCapability || __webpack_require__(581);
8233
+ const hasGetUserMediaCapability = deps.hasGetUserMediaCapability || __webpack_require__(582);
8220
8234
 
8221
- const hasPeerConnectionCapability = deps.hasPeerConnectionCapability || __webpack_require__(582);
8235
+ const hasPeerConnectionCapability = deps.hasPeerConnectionCapability || __webpack_require__(583);
8222
8236
 
8223
8237
  const logging = deps.logging || __webpack_require__(1)('hasOpenTokSupport');
8224
8238
  /** @type StaticConfig */
@@ -8247,7 +8261,7 @@ exports.once = once(() => exports.check());
8247
8261
  /* 61 */
8248
8262
  /***/ (function(module, exports, __webpack_require__) {
8249
8263
 
8250
- var createFind = __webpack_require__(595),
8264
+ var createFind = __webpack_require__(596),
8251
8265
  findIndex = __webpack_require__(272);
8252
8266
 
8253
8267
  /**
@@ -8761,7 +8775,7 @@ module.exports = function (fn) {
8761
8775
  /* 71 */
8762
8776
  /***/ (function(module, exports, __webpack_require__) {
8763
8777
 
8764
- var baseGetTag = __webpack_require__(28),
8778
+ var baseGetTag = __webpack_require__(29),
8765
8779
  isObjectLike = __webpack_require__(16);
8766
8780
 
8767
8781
  /** `Object#toString` result references. */
@@ -8897,7 +8911,7 @@ module.exports = IntervalRunner;
8897
8911
 
8898
8912
  const pick = __webpack_require__(47);
8899
8913
 
8900
- const mapValues = __webpack_require__(638);
8914
+ const mapValues = __webpack_require__(639);
8901
8915
 
8902
8916
  const isObject = __webpack_require__(9);
8903
8917
 
@@ -9201,7 +9215,7 @@ var Stack = __webpack_require__(78),
9201
9215
  isMap = __webpack_require__(387),
9202
9216
  isObject = __webpack_require__(9),
9203
9217
  isSet = __webpack_require__(389),
9204
- keys = __webpack_require__(29),
9218
+ keys = __webpack_require__(30),
9205
9219
  keysIn = __webpack_require__(52);
9206
9220
 
9207
9221
  /** Used to compose bitmasks for cloning. */
@@ -9926,7 +9940,7 @@ module.exports = baseGet;
9926
9940
  /***/ (function(module, exports, __webpack_require__) {
9927
9941
 
9928
9942
  var baseFor = __webpack_require__(238),
9929
- keys = __webpack_require__(29);
9943
+ keys = __webpack_require__(30);
9930
9944
 
9931
9945
  /**
9932
9946
  * The base implementation of `_.forOwn` without support for iteratee shorthands.
@@ -10015,33 +10029,33 @@ module.exports = function PeerConnectionFactory(deps) {
10015
10029
  deps = {};
10016
10030
  }
10017
10031
 
10018
- const hasValidPeerConnection = deps.hasValidPeerConnection || __webpack_require__(598);
10032
+ const hasValidPeerConnection = deps.hasValidPeerConnection || __webpack_require__(599);
10019
10033
 
10020
10034
  const applySdpTransform = deps.applySdpTransform || __webpack_require__(155);
10021
10035
 
10022
- const createPeerConnection = deps.createPeerConnection || __webpack_require__(601);
10036
+ const createPeerConnection = deps.createPeerConnection || __webpack_require__(602);
10023
10037
 
10024
10038
  const env = deps.env || __webpack_require__(2);
10025
10039
 
10026
- const sdpTransformDefaults = deps.sdpTransformDefaults || __webpack_require__(603);
10040
+ const sdpTransformDefaults = deps.sdpTransformDefaults || __webpack_require__(604);
10027
10041
 
10028
10042
  const getStatsAdapter = deps.getStatsAdapter || __webpack_require__(274);
10029
10043
 
10030
10044
  const getRtcStatsReportAdapter = deps.getRtcStatsReportAdapter || __webpack_require__(277);
10031
10045
 
10032
- const getSynchronizationSources = deps.getSynchronizationSources || __webpack_require__(607);
10046
+ const getSynchronizationSources = deps.getSynchronizationSources || __webpack_require__(608);
10033
10047
 
10034
- const IceCandidateProcessor = deps.IceCandidateProcessor || __webpack_require__(608);
10048
+ const IceCandidateProcessor = deps.IceCandidateProcessor || __webpack_require__(609);
10035
10049
 
10036
10050
  const createLog = deps.logging || __webpack_require__(1);
10037
10051
 
10038
- const offerProcessor = deps.offerProcessor || __webpack_require__(610);
10052
+ const offerProcessor = deps.offerProcessor || __webpack_require__(611);
10039
10053
 
10040
- const PeerConnectionChannels = deps.PeerConnectionChannels || __webpack_require__(612);
10054
+ const PeerConnectionChannels = deps.PeerConnectionChannels || __webpack_require__(613);
10041
10055
 
10042
- const subscribeProcessor = deps.subscribeProcessor || __webpack_require__(614);
10056
+ const subscribeProcessor = deps.subscribeProcessor || __webpack_require__(615);
10043
10057
 
10044
- const _ref = deps.changeMediaDirection || __webpack_require__(615),
10058
+ const _ref = deps.changeMediaDirection || __webpack_require__(616),
10045
10059
  changeMediaDirectionToInactive = _ref.changeMediaDirectionToInactive,
10046
10060
  changeMediaDirectionToRecvOnly = _ref.changeMediaDirectionToRecvOnly;
10047
10061
 
@@ -10049,9 +10063,9 @@ module.exports = function PeerConnectionFactory(deps) {
10049
10063
 
10050
10064
  const windowMock = deps.global || (typeof window !== undefined ? window : global);
10051
10065
 
10052
- const debounce = deps.debounce || __webpack_require__(619);
10066
+ const debounce = deps.debounce || __webpack_require__(620);
10053
10067
 
10054
- const needsToSwapH264Profiles = deps.needsToSwapH264Profiles || __webpack_require__(621).once;
10068
+ const needsToSwapH264Profiles = deps.needsToSwapH264Profiles || __webpack_require__(622).once;
10055
10069
 
10056
10070
  const futureIsPeerConnectionValid = () => hasValidPeerConnection(windowMock.RTCPeerConnection);
10057
10071
 
@@ -11824,7 +11838,7 @@ module.exports = /*#__PURE__*/function () {
11824
11838
  /* 127 */
11825
11839
  /***/ (function(module, exports, __webpack_require__) {
11826
11840
 
11827
- var arrayMap = __webpack_require__(32),
11841
+ var arrayMap = __webpack_require__(33),
11828
11842
  baseIntersection = __webpack_require__(446),
11829
11843
  baseRest = __webpack_require__(87),
11830
11844
  castArrayLikeObject = __webpack_require__(452);
@@ -12136,7 +12150,7 @@ module.exports = replaceHolders;
12136
12150
  /* 135 */
12137
12151
  /***/ (function(module, exports, __webpack_require__) {
12138
12152
 
12139
- var baseGetTag = __webpack_require__(28),
12153
+ var baseGetTag = __webpack_require__(29),
12140
12154
  getPrototype = __webpack_require__(117),
12141
12155
  isObjectLike = __webpack_require__(16);
12142
12156
 
@@ -12331,7 +12345,7 @@ module.exports = {
12331
12345
  errorMessages,
12332
12346
  setProxyUrl: url => {
12333
12347
  // This is necessary to break a circular dependancy, but seems hacky and should be cleaned up
12334
- const AnalyticsHelper = __webpack_require__(34);
12348
+ const AnalyticsHelper = __webpack_require__(27);
12335
12349
 
12336
12350
  const apiKey = __webpack_require__(72);
12337
12351
 
@@ -12692,9 +12706,9 @@ module.exports = SessionInfo;
12692
12706
  "use strict";
12693
12707
 
12694
12708
 
12695
- const extendES5Native = __webpack_require__(545);
12709
+ const extendES5Native = __webpack_require__(546);
12696
12710
 
12697
- const webrtcAdapter = __webpack_require__(546);
12711
+ const webrtcAdapter = __webpack_require__(547);
12698
12712
 
12699
12713
  const logging = __webpack_require__(1)('createWindowMock');
12700
12714
 
@@ -13191,7 +13205,7 @@ module.exports = (_temp = /*#__PURE__*/function () {
13191
13205
  // @todo enable the following disabled rules see OPENTOK-31136 for more info
13192
13206
 
13193
13207
  /* eslint-disable no-underscore-dangle, no-use-before-define */
13194
- const domState = __webpack_require__(557);
13208
+ const domState = __webpack_require__(558);
13195
13209
 
13196
13210
  const eventNames = __webpack_require__(26);
13197
13211
 
@@ -13255,7 +13269,7 @@ module.exports = new EnvironmentLoader();
13255
13269
  /* 147 */
13256
13270
  /***/ (function(module, exports, __webpack_require__) {
13257
13271
 
13258
- var baseMerge = __webpack_require__(558),
13272
+ var baseMerge = __webpack_require__(559),
13259
13273
  createAssigner = __webpack_require__(191);
13260
13274
 
13261
13275
  /**
@@ -13303,7 +13317,7 @@ module.exports = merge;
13303
13317
  "use strict";
13304
13318
 
13305
13319
 
13306
- var objectAssign = __webpack_require__(562);
13320
+ var objectAssign = __webpack_require__(563);
13307
13321
 
13308
13322
  // compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js
13309
13323
  // original notice:
@@ -13373,7 +13387,7 @@ function isBuffer(b) {
13373
13387
  // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
13374
13388
  // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
13375
13389
 
13376
- var util = __webpack_require__(563);
13390
+ var util = __webpack_require__(564);
13377
13391
  var hasOwn = Object.prototype.hasOwnProperty;
13378
13392
  var pSlice = Array.prototype.slice;
13379
13393
  var functionsHaveNames = (function () {
@@ -13957,13 +13971,13 @@ module.exports = function videoOrientationFactory() {
13957
13971
  // @todo enable the following disabled rules see OPENTOK-31136 for more info
13958
13972
 
13959
13973
  /* eslint-disable no-param-reassign, no-underscore-dangle */
13960
- const fixBackgroundImageURI = __webpack_require__(578);
13974
+ const fixBackgroundImageURI = __webpack_require__(579);
13961
13975
 
13962
13976
  const logging = __webpack_require__(1)('StylableComponent');
13963
13977
 
13964
- const Style = __webpack_require__(579);
13978
+ const Style = __webpack_require__(580);
13965
13979
 
13966
- const styleHashLogFilter = __webpack_require__(580);
13980
+ const styleHashLogFilter = __webpack_require__(581);
13967
13981
  /* Stylable Notes
13968
13982
  * Some bits are controlled by multiple flags, i.e. buttonDisplayMode and nameDisplayMode.
13969
13983
  * When there are multiple flags how is the final setting chosen?
@@ -14252,7 +14266,7 @@ const once = __webpack_require__(49);
14252
14266
 
14253
14267
  const StaticConfig = __webpack_require__(44)();
14254
14268
 
14255
- const Analytics = __webpack_require__(34);
14269
+ const Analytics = __webpack_require__(27);
14256
14270
 
14257
14271
  const APIKEY = __webpack_require__(72);
14258
14272
 
@@ -14260,15 +14274,15 @@ const EnvironmentLoader = __webpack_require__(146);
14260
14274
 
14261
14275
  const hasOpenTokSupport = __webpack_require__(60).once;
14262
14276
 
14263
- const isWebSocketSupported = __webpack_require__(583);
14277
+ const isWebSocketSupported = __webpack_require__(584);
14264
14278
 
14265
14279
  const OTHelpers = __webpack_require__(5);
14266
14280
 
14267
14281
  const logging = __webpack_require__(1)('systemRequirements');
14268
14282
 
14269
- const upgradeHtml = __webpack_require__(584);
14283
+ const upgradeHtml = __webpack_require__(585);
14270
14284
 
14271
- const Modal = __webpack_require__(585);
14285
+ const Modal = __webpack_require__(586);
14272
14286
 
14273
14287
  const staticConfig = StaticConfig.onlyLocal(); // This will be logged before we even get the correct loggingUrl from
14274
14288
  // config.opentok.com.
@@ -14367,9 +14381,9 @@ var _interopRequireDefault = __webpack_require__(3);
14367
14381
 
14368
14382
  var _inheritsLoose2 = _interopRequireDefault(__webpack_require__(59));
14369
14383
 
14370
- var _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(586));
14384
+ var _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(587));
14371
14385
 
14372
- const pFinally = __webpack_require__(590);
14386
+ const pFinally = __webpack_require__(591);
14373
14387
 
14374
14388
  let TimeoutError = /*#__PURE__*/function (_Error) {
14375
14389
  (0, _inheritsLoose2.default)(TimeoutError, _Error);
@@ -14714,11 +14728,11 @@ module.exports = function screenSharingFactory(deps) {
14714
14728
 
14715
14729
  const chromeExtensionHelper = deps.chromeExtensionHelper || __webpack_require__(280)();
14716
14730
 
14717
- const electronExtensionHelper = deps.electronExtensionHelper || __webpack_require__(626)();
14731
+ const electronExtensionHelper = deps.electronExtensionHelper || __webpack_require__(627)();
14718
14732
 
14719
14733
  const Errors = deps.Errors || __webpack_require__(4);
14720
14734
 
14721
- const firefoxExtensionHelper = deps.firefoxExtensionHelper || __webpack_require__(628);
14735
+ const firefoxExtensionHelper = deps.firefoxExtensionHelper || __webpack_require__(629);
14722
14736
 
14723
14737
  const getDisplayMediaExtensionHelper = deps.getDisplayMediaExtensionHelper || __webpack_require__(287);
14724
14738
 
@@ -15110,13 +15124,13 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(18));
15110
15124
  /* eslint-disable no-underscore-dangle */
15111
15125
  const eventing = __webpack_require__(6);
15112
15126
 
15113
- const hasPassiveCapability = __webpack_require__(642);
15127
+ const hasPassiveCapability = __webpack_require__(643);
15114
15128
 
15115
15129
  const defaultLogging = __webpack_require__(1)('WidgetView');
15116
15130
 
15117
15131
  const DefaultOTHelpers = __webpack_require__(5);
15118
15132
 
15119
- const defaultVersionGreaterThan = __webpack_require__(643);
15133
+ const defaultVersionGreaterThan = __webpack_require__(644);
15120
15134
 
15121
15135
  const defaultEnv = __webpack_require__(2);
15122
15136
 
@@ -15126,15 +15140,15 @@ const _require = __webpack_require__(165),
15126
15140
 
15127
15141
  const unblockAudio = __webpack_require__(166);
15128
15142
 
15129
- const waitForVideoResolution = __webpack_require__(645);
15143
+ const waitForVideoResolution = __webpack_require__(646);
15130
15144
 
15131
- const waitForVideoToBePlaying = __webpack_require__(646);
15145
+ const waitForVideoToBePlaying = __webpack_require__(647);
15132
15146
 
15133
- const fixMini = __webpack_require__(647);
15147
+ const fixMini = __webpack_require__(648);
15134
15148
 
15135
- const getOrCreateContainer = __webpack_require__(648);
15149
+ const getOrCreateContainer = __webpack_require__(649);
15136
15150
 
15137
- const ensureCSSUnit = __webpack_require__(649);
15151
+ const ensureCSSUnit = __webpack_require__(650);
15138
15152
 
15139
15153
  const eventHelper = __webpack_require__(62);
15140
15154
 
@@ -15706,7 +15720,7 @@ Object.defineProperty(exports, "__esModule", {
15706
15720
  });
15707
15721
  exports.CancellationError = exports.default = undefined;
15708
15722
 
15709
- var _Cancellation = __webpack_require__(644);
15723
+ var _Cancellation = __webpack_require__(645);
15710
15724
 
15711
15725
  var _Cancellation2 = _interopRequireDefault(_Cancellation);
15712
15726
 
@@ -15820,7 +15834,7 @@ const pick = __webpack_require__(47);
15820
15834
 
15821
15835
  const once = __webpack_require__(49);
15822
15836
 
15823
- const startCase = __webpack_require__(663);
15837
+ const startCase = __webpack_require__(664);
15824
15838
 
15825
15839
  const uuid = __webpack_require__(19);
15826
15840
 
@@ -15834,7 +15848,7 @@ const _require = __webpack_require__(165),
15834
15848
 
15835
15849
  const env = __webpack_require__(2);
15836
15850
 
15837
- const setEncodersActiveStateDefault = __webpack_require__(673);
15851
+ const setEncodersActiveStateDefault = __webpack_require__(674);
15838
15852
 
15839
15853
  const promisify = __webpack_require__(307);
15840
15854
 
@@ -15848,34 +15862,34 @@ const promiseDelay = __webpack_require__(106);
15848
15862
 
15849
15863
  const Event = __webpack_require__(126);
15850
15864
 
15851
- const AnalyticsHelperDefault = __webpack_require__(34);
15865
+ const AnalyticsHelperDefault = __webpack_require__(27);
15852
15866
 
15853
15867
  const IntervalRunnerDefault = __webpack_require__(74);
15854
15868
 
15855
15869
  const createCleanupJobs = __webpack_require__(154);
15856
15870
 
15857
- const whitelistPublisherProperties = __webpack_require__(674);
15871
+ const whitelistPublisherProperties = __webpack_require__(675);
15858
15872
 
15859
15873
  const defaultWidgetView = __webpack_require__(164)();
15860
15874
 
15861
- const audioLevelBehaviour = __webpack_require__(675);
15875
+ const audioLevelBehaviour = __webpack_require__(676);
15862
15876
 
15863
- const blockCallsUntilComplete = __webpack_require__(676);
15877
+ const blockCallsUntilComplete = __webpack_require__(677);
15864
15878
 
15865
15879
  const unblockAudio = __webpack_require__(166);
15866
15880
 
15867
15881
  const _require2 = __webpack_require__(23)(),
15868
15882
  getInputMediaDevices = _require2.getInputMediaDevices;
15869
15883
 
15870
- const createCanvasVideoTrack = __webpack_require__(677);
15884
+ const createCanvasVideoTrack = __webpack_require__(678);
15871
15885
 
15872
15886
  const isSecureContextRequired = __webpack_require__(269);
15873
15887
 
15874
15888
  const isGetRtcStatsReportSupported = __webpack_require__(306);
15875
15889
 
15876
- const getDeviceIdFromStream = __webpack_require__(678);
15890
+ const getDeviceIdFromStream = __webpack_require__(679);
15877
15891
 
15878
- const createStreamErrorMap = __webpack_require__(679);
15892
+ const createStreamErrorMap = __webpack_require__(680);
15879
15893
 
15880
15894
  const _require3 = __webpack_require__(290),
15881
15895
  setVideoContentHint = _require3.setVideoContentHint,
@@ -16313,8 +16327,8 @@ module.exports = function PublisherFactory(_ref) {
16313
16327
  // Further info: OPENTOK-44289
16314
16328
 
16315
16329
 
16316
- const staticContents = ['text', 'detail'];
16317
- const isStaticContent = staticContents.includes(properties.videoContentHint);
16330
+ const staticContentHints = ['text', 'detail'];
16331
+ const isStaticContent = staticContentHints.includes(properties.videoContentHint);
16318
16332
  return isCustomVideoTrack && isStaticContent;
16319
16333
  };
16320
16334
 
@@ -17165,9 +17179,18 @@ module.exports = function PublisherFactory(_ref) {
17165
17179
  const hasVideo = () => {
17166
17180
  if (!webRTCStream || webRTCStream.getVideoTracks().length === 0) {
17167
17181
  return false;
17168
- }
17182
+ } // On Chrome when screensharing/custom video is static, it is swapping between 'mute' and
17183
+ // 'unmute' states periodically for no reason OPENTOK-37818
17184
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=931033
17185
+ // We will ignore track.muted when screensharing and custom when videoContentHint
17186
+ // suggests video could be static, i.e. text or detail
17169
17187
 
17170
- return webRTCStream.getVideoTracks().reduce((isEnabled, track) => isEnabled && !track.muted && track.enabled && track.readyState !== 'ended', properties.publishVideo);
17188
+
17189
+ const staticContentHints = ['text', 'detail'];
17190
+ const isStaticContent = staticContentHints.includes(properties.videoContentHint);
17191
+ const isStaticCustom = isCustomVideoTrack && isStaticContent;
17192
+ const shouldIgnoreTrackMuteState = OTHelpers.env.isChrome && (isScreenSharing || isStaticCustom);
17193
+ return webRTCStream.getVideoTracks().reduce((isEnabled, track) => isEnabled && (!track.muted || !!shouldIgnoreTrackMuteState) && track.enabled && track.readyState !== 'ended', properties.publishVideo);
17171
17194
  };
17172
17195
 
17173
17196
  const hasAudio = () => {
@@ -18592,9 +18615,10 @@ module.exports = function PublisherFactory(_ref) {
18592
18615
  // that internally calls the play function, we only need to call pause(),
18593
18616
  // and the play will be automatically executed.
18594
18617
  this.videoElement().pause();
18595
- this.session.trigger('gsmCallEnded');
18596
18618
  }
18597
18619
  }
18620
+
18621
+ this.session.trigger('gsmCallEnded');
18598
18622
  };
18599
18623
  /**
18600
18624
  * Switches the audio input source used by the publisher. You can set the
@@ -20581,7 +20605,7 @@ const eventing = __webpack_require__(6);
20581
20605
 
20582
20606
  const Events = __webpack_require__(22)();
20583
20607
 
20584
- const connectionCapabilities = __webpack_require__(708);
20608
+ const connectionCapabilities = __webpack_require__(710);
20585
20609
  /**
20586
20610
  * The Connection object represents a connection to an OpenTok session. Each client that connects
20587
20611
  * to a session has a unique connection, with a unique connection ID (represented by the
@@ -20716,7 +20740,7 @@ module.exports = defineProperty;
20716
20740
  /***/ (function(module, exports, __webpack_require__) {
20717
20741
 
20718
20742
  var copyObject = __webpack_require__(39),
20719
- keys = __webpack_require__(29);
20743
+ keys = __webpack_require__(30);
20720
20744
 
20721
20745
  /**
20722
20746
  * The base implementation of `_.assign` without support for multiple sources
@@ -20918,7 +20942,7 @@ module.exports = getSymbolsIn;
20918
20942
 
20919
20943
  var baseGetAllKeys = __webpack_require__(183),
20920
20944
  getSymbols = __webpack_require__(115),
20921
- keys = __webpack_require__(29);
20945
+ keys = __webpack_require__(30);
20922
20946
 
20923
20947
  /**
20924
20948
  * Creates an array of own enumerable property names and symbols of `object`.
@@ -21313,7 +21337,7 @@ module.exports = function (/* CustomCreate*/) {
21313
21337
 
21314
21338
 
21315
21339
  var isObject = __webpack_require__(197)
21316
- , value = __webpack_require__(30)
21340
+ , value = __webpack_require__(31)
21317
21341
  , objIsPrototypeOf = Object.prototype.isPrototypeOf
21318
21342
  , defineProperty = Object.defineProperty
21319
21343
  , nullDesc = { configurable: true, enumerable: false, writable: true, value: undefined }
@@ -21504,8 +21528,8 @@ module.exports = function (value) {
21504
21528
  var clear = __webpack_require__(421)
21505
21529
  , assign = __webpack_require__(125)
21506
21530
  , callable = __webpack_require__(70)
21507
- , value = __webpack_require__(30)
21508
- , d = __webpack_require__(31)
21531
+ , value = __webpack_require__(31)
21532
+ , d = __webpack_require__(32)
21509
21533
  , autoBind = __webpack_require__(422)
21510
21534
  , Symbol = __webpack_require__(43);
21511
21535
 
@@ -24451,8 +24475,8 @@ const isFunction = __webpack_require__(15);
24451
24475
  const extensions = {
24452
24476
  attributes: __webpack_require__(528),
24453
24477
  css: __webpack_require__(529),
24454
- classNames: __webpack_require__(532),
24455
- observers: __webpack_require__(534)
24478
+ classNames: __webpack_require__(533),
24479
+ observers: __webpack_require__(535)
24456
24480
  };
24457
24481
  const idRegex = /^#([\w-]*)$/; // A helper for converting a NodeList to a JS Array
24458
24482
 
@@ -26302,7 +26326,7 @@ module.exports = (_temp = /*#__PURE__*/function () {
26302
26326
 
26303
26327
  const merge = __webpack_require__(147);
26304
26328
 
26305
- const normalizeConstraintInput = __webpack_require__(561);
26329
+ const normalizeConstraintInput = __webpack_require__(562);
26306
26330
 
26307
26331
  const isScreenSharingSource = __webpack_require__(264);
26308
26332
 
@@ -26612,7 +26636,7 @@ module.exports = capitalize;
26612
26636
  /* 259 */
26613
26637
  /***/ (function(module, exports, __webpack_require__) {
26614
26638
 
26615
- var createCaseFirst = __webpack_require__(566);
26639
+ var createCaseFirst = __webpack_require__(567);
26616
26640
 
26617
26641
  /**
26618
26642
  * Converts the first character of `string` to upper case.
@@ -26709,9 +26733,9 @@ module.exports = hasUnicode;
26709
26733
  /* 262 */
26710
26734
  /***/ (function(module, exports, __webpack_require__) {
26711
26735
 
26712
- var asciiToArray = __webpack_require__(568),
26736
+ var asciiToArray = __webpack_require__(569),
26713
26737
  hasUnicode = __webpack_require__(261),
26714
- unicodeToArray = __webpack_require__(569);
26738
+ unicodeToArray = __webpack_require__(570);
26715
26739
 
26716
26740
  /**
26717
26741
  * Converts `string` to an array.
@@ -26754,7 +26778,7 @@ module.exports = Boolean(env.isChrome && env.version >= 74 || env.isEdge && env.
26754
26778
  "use strict";
26755
26779
 
26756
26780
 
26757
- const screenSharingSources = __webpack_require__(570);
26781
+ const screenSharingSources = __webpack_require__(571);
26758
26782
 
26759
26783
  const isElectronScreenSharingSource = __webpack_require__(265);
26760
26784
 
@@ -26800,7 +26824,7 @@ module.exports = videoSource => {
26800
26824
  /***/ (function(module, exports, __webpack_require__) {
26801
26825
 
26802
26826
  var baseForOwn = __webpack_require__(99),
26803
- createBaseEach = __webpack_require__(575);
26827
+ createBaseEach = __webpack_require__(576);
26804
26828
 
26805
26829
  /**
26806
26830
  * The base implementation of `_.forEach` without support for iteratee shorthands.
@@ -26888,12 +26912,12 @@ module.exports = _setPrototypeOf;
26888
26912
  /* 271 */
26889
26913
  /***/ (function(module, exports, __webpack_require__) {
26890
26914
 
26891
- var arrayMap = __webpack_require__(32),
26915
+ var arrayMap = __webpack_require__(33),
26892
26916
  baseClone = __webpack_require__(77),
26893
- baseUnset = __webpack_require__(591),
26917
+ baseUnset = __webpack_require__(592),
26894
26918
  castPath = __webpack_require__(57),
26895
26919
  copyObject = __webpack_require__(39),
26896
- customOmitClone = __webpack_require__(594),
26920
+ customOmitClone = __webpack_require__(595),
26897
26921
  flatRest = __webpack_require__(137),
26898
26922
  getAllKeysIn = __webpack_require__(184);
26899
26923
 
@@ -26952,7 +26976,7 @@ module.exports = omit;
26952
26976
  /***/ (function(module, exports, __webpack_require__) {
26953
26977
 
26954
26978
  var baseFindIndex = __webpack_require__(205),
26955
- baseIteratee = __webpack_require__(33),
26979
+ baseIteratee = __webpack_require__(34),
26956
26980
  toInteger = __webpack_require__(96);
26957
26981
 
26958
26982
  /* Built-in method references for those with the same name as other `lodash` methods. */
@@ -27012,7 +27036,7 @@ module.exports = findIndex;
27012
27036
  /* 273 */
27013
27037
  /***/ (function(module, exports, __webpack_require__) {
27014
27038
 
27015
- var baseUniq = __webpack_require__(596);
27039
+ var baseUniq = __webpack_require__(597);
27016
27040
 
27017
27041
  /**
27018
27042
  * Creates a duplicate-free version of an array, using
@@ -27046,7 +27070,7 @@ module.exports = uniq;
27046
27070
  "use strict";
27047
27071
 
27048
27072
 
27049
- const toArray = __webpack_require__(604);
27073
+ const toArray = __webpack_require__(605);
27050
27074
 
27051
27075
  const getRtcStatsReportAdapter = __webpack_require__(277);
27052
27076
 
@@ -27090,7 +27114,7 @@ module.exports = (peerConnection, completion) => {
27090
27114
  /* 275 */
27091
27115
  /***/ (function(module, exports, __webpack_require__) {
27092
27116
 
27093
- var baseGetTag = __webpack_require__(28),
27117
+ var baseGetTag = __webpack_require__(29),
27094
27118
  isArray = __webpack_require__(10),
27095
27119
  isObjectLike = __webpack_require__(16);
27096
27120
 
@@ -27126,8 +27150,8 @@ module.exports = isString;
27126
27150
  /* 276 */
27127
27151
  /***/ (function(module, exports, __webpack_require__) {
27128
27152
 
27129
- var baseValues = __webpack_require__(606),
27130
- keys = __webpack_require__(29);
27153
+ var baseValues = __webpack_require__(607),
27154
+ keys = __webpack_require__(30);
27131
27155
 
27132
27156
  /**
27133
27157
  * Creates an array of the own enumerable string keyed property values of `object`.
@@ -27211,9 +27235,9 @@ var _events = __webpack_require__(41);
27211
27235
 
27212
27236
  var _clone = _interopRequireDefault(__webpack_require__(36));
27213
27237
 
27214
- var _parseQOS = _interopRequireDefault(__webpack_require__(616));
27238
+ var _parseQOS = _interopRequireDefault(__webpack_require__(617));
27215
27239
 
27216
- var _TruthyChangeCounter = _interopRequireDefault(__webpack_require__(618));
27240
+ var _TruthyChangeCounter = _interopRequireDefault(__webpack_require__(619));
27217
27241
 
27218
27242
  var _now = _interopRequireDefault(__webpack_require__(48));
27219
27243
 
@@ -27651,7 +27675,7 @@ module.exports = function createChromeMixinFactory(deps) {
27651
27675
  deps = {};
27652
27676
  }
27653
27677
 
27654
- const Archiving = deps.Archiving || __webpack_require__(622);
27678
+ const Archiving = deps.Archiving || __webpack_require__(623);
27655
27679
 
27656
27680
  const AudioLevelMeter = deps.AudioLevelMeter || __webpack_require__(282);
27657
27681
 
@@ -28699,11 +28723,11 @@ const eventing = __webpack_require__(6);
28699
28723
 
28700
28724
  const eventHelper = __webpack_require__(62);
28701
28725
 
28702
- const destroyObj = __webpack_require__(633);
28726
+ const destroyObj = __webpack_require__(634);
28703
28727
 
28704
- const patchSrcObject = __webpack_require__(634);
28728
+ const patchSrcObject = __webpack_require__(635);
28705
28729
 
28706
- const isDomElementVisible = __webpack_require__(635);
28730
+ const isDomElementVisible = __webpack_require__(636);
28707
28731
 
28708
28732
  const promiseDelay = __webpack_require__(106);
28709
28733
 
@@ -28754,13 +28778,13 @@ function NativeVideoElementWrapperFactory(deps) {
28754
28778
 
28755
28779
  const audioContextProvider = deps.audioContext || __webpack_require__(158)();
28756
28780
 
28757
- const canBeOrientatedMixin = deps.canBeOrientatedMixin || __webpack_require__(636);
28781
+ const canBeOrientatedMixin = deps.canBeOrientatedMixin || __webpack_require__(637);
28758
28782
  /** @type {Document} */
28759
28783
 
28760
28784
 
28761
28785
  const document = deps.document || (typeof window !== undefined ? window : global).document;
28762
28786
 
28763
- const listenForTracksEnded = deps.listenForTracksEnded || __webpack_require__(637)();
28787
+ const listenForTracksEnded = deps.listenForTracksEnded || __webpack_require__(638)();
28764
28788
 
28765
28789
  const createLog = deps.logging || __webpack_require__(1);
28766
28790
 
@@ -29808,7 +29832,7 @@ module.exports = function PublisherPeerConnectionFactory(deps) {
29808
29832
 
29809
29833
  const setCertificates = deps.setCertificates || __webpack_require__(163)();
29810
29834
 
29811
- const watchAudioAcquisition = deps.watchAudioAcquisition || __webpack_require__(639);
29835
+ const watchAudioAcquisition = deps.watchAudioAcquisition || __webpack_require__(640);
29812
29836
  /**
29813
29837
  * @typedef {object} PublisherPeerConnectionConfig
29814
29838
  * @property {function(string, string=, object=, object=, boolean=)} logAnalyticsEvent
@@ -30085,7 +30109,7 @@ module.exports = function SubscriberPeerConnectionFactory(deps) {
30085
30109
 
30086
30110
  const OTErrorClass = deps.OTErrorClass || __webpack_require__(21);
30087
30111
 
30088
- const watchSubscriberAudio = deps.watchSubscriberAudio || __webpack_require__(640);
30112
+ const watchSubscriberAudio = deps.watchSubscriberAudio || __webpack_require__(641);
30089
30113
  /*
30090
30114
  * Abstracts PeerConnection related stuff away from Subscriber.
30091
30115
  *
@@ -30561,19 +30585,19 @@ const eventNames = __webpack_require__(26);
30561
30585
 
30562
30586
  const eventing = __webpack_require__(6);
30563
30587
 
30564
- const waitUntil = __webpack_require__(650);
30588
+ const waitUntil = __webpack_require__(651);
30565
30589
 
30566
30590
  const RafRunner = __webpack_require__(103);
30567
30591
 
30568
30592
  const eventHelper = __webpack_require__(62);
30569
30593
 
30570
- const interpretSubscriberCreateError = __webpack_require__(651);
30594
+ const interpretSubscriberCreateError = __webpack_require__(652);
30571
30595
 
30572
30596
  const Errors = __webpack_require__(4);
30573
30597
 
30574
30598
  const defaultWidgetView = __webpack_require__(164)();
30575
30599
 
30576
- const audioLevelBehaviour = __webpack_require__(652);
30600
+ const audioLevelBehaviour = __webpack_require__(653);
30577
30601
 
30578
30602
  const AudioLevelMeterDefault = __webpack_require__(282);
30579
30603
 
@@ -30597,7 +30621,7 @@ const hasAudioOutputLevelStatCapabilityDefault = __webpack_require__(301);
30597
30621
 
30598
30622
  const hasRemoteStreamsWithWebAudioDefault = __webpack_require__(302);
30599
30623
 
30600
- const audioLevelSamplerDefault = __webpack_require__(653);
30624
+ const audioLevelSamplerDefault = __webpack_require__(654);
30601
30625
 
30602
30626
  const interpretPeerConnectionErrorDefault = __webpack_require__(162)();
30603
30627
 
@@ -30627,23 +30651,23 @@ const SubscriberPeerConnectionDefault = __webpack_require__(296)({
30627
30651
 
30628
30652
  const SubscribingStateDefault = __webpack_require__(303);
30629
30653
 
30630
- const VideoDisabledIndicatorDefault = __webpack_require__(656);
30654
+ const VideoDisabledIndicatorDefault = __webpack_require__(657);
30631
30655
 
30632
- const AudioBlockedIndicatorDefault = __webpack_require__(657);
30656
+ const AudioBlockedIndicatorDefault = __webpack_require__(658);
30633
30657
 
30634
- const VideoUnsupportedIndicatorDefault = __webpack_require__(658);
30658
+ const VideoUnsupportedIndicatorDefault = __webpack_require__(659);
30635
30659
 
30636
- const watchFrameRateDefault = __webpack_require__(659);
30660
+ const watchFrameRateDefault = __webpack_require__(660);
30637
30661
 
30638
30662
  const createSendMethodDefault = __webpack_require__(304);
30639
30663
 
30640
30664
  const parseIceServersDefault = __webpack_require__(100).parseIceServers;
30641
30665
 
30642
- const overallTimeout = __webpack_require__(660);
30666
+ const overallTimeout = __webpack_require__(661);
30643
30667
 
30644
- const createConnectivityState = __webpack_require__(661);
30668
+ const createConnectivityState = __webpack_require__(662);
30645
30669
 
30646
- const createConnectivityAttemptPinger = __webpack_require__(662);
30670
+ const createConnectivityAttemptPinger = __webpack_require__(663);
30647
30671
 
30648
30672
  const isGetRtcStatsReportSupported = __webpack_require__(306);
30649
30673
 
@@ -34923,7 +34947,9 @@ const isFunction = __webpack_require__(15);
34923
34947
 
34924
34948
  const isObject = __webpack_require__(9);
34925
34949
 
34926
- const isNullOrFalse = __webpack_require__(680);
34950
+ const isNullOrFalse = __webpack_require__(681);
34951
+
34952
+ const setVideoContentHintIfCanvas = __webpack_require__(682);
34927
34953
 
34928
34954
  module.exports = function initPublisherFactory(deps) {
34929
34955
  if (deps === void 0) {
@@ -35072,9 +35098,6 @@ module.exports = function initPublisherFactory(deps) {
35072
35098
  * <a target="_blank" href="https://datatracker.ietf.org/doc/html/rfc7587#section-3.1.3">Opus DTX</a>. The default
35073
35099
  * value is <code>false</code>. Setting this to <code>true</code> can reduce bandwidth usage
35074
35100
  * in streams that have long periods of silence.
35075
- * <p>
35076
- * This is a <em>beta</em> feature.
35077
- *
35078
35101
  * </li>
35079
35102
  * <li>
35080
35103
  * <strong>facingMode</strong> (String) &#151; The preferred camera position to use for the
@@ -35483,6 +35506,7 @@ module.exports = function initPublisherFactory(deps) {
35483
35506
  }
35484
35507
  }
35485
35508
 
35509
+ setVideoContentHintIfCanvas(properties);
35486
35510
  const publisher = new Publisher(properties || {});
35487
35511
  sessionObjects.publishers.add(publisher);
35488
35512
 
@@ -35535,7 +35559,7 @@ var _extends2 = _interopRequireDefault(__webpack_require__(25));
35535
35559
  /* eslint-disable max-len */
35536
35560
  const EventEmitter = __webpack_require__(41);
35537
35561
 
35538
- const findKey = __webpack_require__(681);
35562
+ const findKey = __webpack_require__(683);
35539
35563
 
35540
35564
  const isObject = __webpack_require__(9);
35541
35565
 
@@ -35547,7 +35571,7 @@ const eventNames = __webpack_require__(26);
35547
35571
 
35548
35572
  const eventing = __webpack_require__(6);
35549
35573
 
35550
- const AnalyticsHelperDefault = __webpack_require__(34);
35574
+ const AnalyticsHelperDefault = __webpack_require__(27);
35551
35575
 
35552
35576
  const StaticConfigDefault = __webpack_require__(44)();
35553
35577
 
@@ -35555,9 +35579,9 @@ const IntervalRunner = __webpack_require__(74);
35555
35579
 
35556
35580
  const promisify = __webpack_require__(307);
35557
35581
 
35558
- const testRemovingVideoCodecs = __webpack_require__(683);
35582
+ const testRemovingVideoCodecs = __webpack_require__(685);
35559
35583
 
35560
- const validateIceConfigFactory = __webpack_require__(684);
35584
+ const validateIceConfigFactory = __webpack_require__(686);
35561
35585
 
35562
35586
  const _require = __webpack_require__(138),
35563
35587
  prependProxyToUrlIfNeeded = _require.prependProxyToUrlIfNeeded;
@@ -35580,7 +35604,7 @@ module.exports = function SessionFactory(deps) {
35580
35604
 
35581
35605
  const Capabilities = deps.Capabilities || __webpack_require__(169);
35582
35606
 
35583
- const convertAnvilErrorCode = deps.convertAnvilErrorCode || __webpack_require__(685);
35607
+ const convertAnvilErrorCode = deps.convertAnvilErrorCode || __webpack_require__(687);
35584
35608
 
35585
35609
  const convertRumorError = deps.convertRumorError || __webpack_require__(310);
35586
35610
 
@@ -35602,7 +35626,7 @@ module.exports = function SessionFactory(deps) {
35602
35626
 
35603
35627
  const OTHelpers = deps.OTHelpers || __webpack_require__(5);
35604
35628
 
35605
- const forceMuteErrors = __webpack_require__(686);
35629
+ const forceMuteErrors = __webpack_require__(688);
35606
35630
  /** @type {typeof StaticConfigDefault} */
35607
35631
 
35608
35632
 
@@ -35613,7 +35637,7 @@ module.exports = function SessionFactory(deps) {
35613
35637
 
35614
35638
  const Publisher = deps.Publisher || __webpack_require__(168)();
35615
35639
 
35616
- const RaptorSocket = deps.RaptorSocket || __webpack_require__(687).default();
35640
+ const RaptorSocket = deps.RaptorSocket || __webpack_require__(689).default();
35617
35641
 
35618
35642
  const SessionDispatcher = deps.SessionDispatcher || __webpack_require__(318);
35619
35643
 
@@ -35634,7 +35658,7 @@ module.exports = function SessionFactory(deps) {
35634
35658
  });
35635
35659
  const windowMock = deps.global || (typeof window !== undefined ? window : global);
35636
35660
 
35637
- const getSessionInfo = deps.getSessionInfo || __webpack_require__(711)();
35661
+ const getSessionInfo = deps.getSessionInfo || __webpack_require__(713)();
35638
35662
 
35639
35663
  const SessionInfo = __webpack_require__(141);
35640
35664
 
@@ -38823,7 +38847,7 @@ const logging = __webpack_require__(1)('Dispatcher');
38823
38847
 
38824
38848
  const RumorMessageTypes = __webpack_require__(171);
38825
38849
 
38826
- const unboxFromRumorMessage = __webpack_require__(702);
38850
+ const unboxFromRumorMessage = __webpack_require__(704);
38827
38851
 
38828
38852
  const Dispatcher = function Dispatcher() {
38829
38853
  eventing(this);
@@ -39137,13 +39161,13 @@ const uuid = __webpack_require__(19);
39137
39161
 
39138
39162
  const OTHelpers = __webpack_require__(5);
39139
39163
 
39140
- const hasBundleCapability = __webpack_require__(705);
39164
+ const hasBundleCapability = __webpack_require__(707);
39141
39165
 
39142
- const hasRTCPMuxCapability = __webpack_require__(706);
39166
+ const hasRTCPMuxCapability = __webpack_require__(708);
39143
39167
 
39144
39168
  const serializeMessage = __webpack_require__(312);
39145
39169
 
39146
- const supportedCryptoScheme = __webpack_require__(707);
39170
+ const supportedCryptoScheme = __webpack_require__(709);
39147
39171
 
39148
39172
  const staticConfig = __webpack_require__(44)().onlyLocal();
39149
39173
 
@@ -39606,7 +39630,7 @@ const now = __webpack_require__(48);
39606
39630
 
39607
39631
  const Connection = __webpack_require__(172);
39608
39632
 
39609
- const DelayedEventQueue = __webpack_require__(710);
39633
+ const DelayedEventQueue = __webpack_require__(712);
39610
39634
 
39611
39635
  const Dispatcher = __webpack_require__(314);
39612
39636
 
@@ -40282,7 +40306,7 @@ const _require2 = __webpack_require__(23)(),
40282
40306
 
40283
40307
  const noop = __webpack_require__(294);
40284
40308
 
40285
- const AnalyticsHelper = __webpack_require__(34);
40309
+ const AnalyticsHelper = __webpack_require__(27);
40286
40310
 
40287
40311
  const analytics = new AnalyticsHelper();
40288
40312
 
@@ -40485,19 +40509,19 @@ const Event = __webpack_require__(126);
40485
40509
 
40486
40510
  const StaticConfig = __webpack_require__(44)();
40487
40511
 
40488
- const AnalyticsHelper = __webpack_require__(34);
40512
+ const AnalyticsHelper = __webpack_require__(27);
40489
40513
 
40490
40514
  const setDeprecatedProperty = __webpack_require__(249);
40491
40515
 
40492
- const runtimeProperties = __webpack_require__(542);
40516
+ const runtimeProperties = __webpack_require__(543);
40493
40517
 
40494
- const mutableRuntimeProperties = __webpack_require__(543);
40518
+ const mutableRuntimeProperties = __webpack_require__(544);
40495
40519
 
40496
40520
  const staticConfig = StaticConfig.onlyLocal(); // We need to do this first because of circular dependency issues with otplugin.js. @TODO: fix this.
40497
40521
 
40498
40522
  const OT = {}; // noConflict is constructed before we override global.OT so we keep the original value
40499
40523
 
40500
- OT.noConflict = __webpack_require__(544)();
40524
+ OT.noConflict = __webpack_require__(545)();
40501
40525
  (typeof window !== undefined ? window : global).OT = OT;
40502
40526
  module.exports = OT;
40503
40527
 
@@ -40550,7 +40574,7 @@ const logging = __webpack_require__(1)('OT');
40550
40574
 
40551
40575
  const logLevels = __webpack_require__(119);
40552
40576
 
40553
- const setLogLevel = __webpack_require__(571);
40577
+ const setLogLevel = __webpack_require__(572);
40554
40578
 
40555
40579
  const OTErrorClass = __webpack_require__(21);
40556
40580
 
@@ -40593,7 +40617,7 @@ const Events = __webpack_require__(22)();
40593
40617
 
40594
40618
  const generateSimpleStateMachine = __webpack_require__(160)();
40595
40619
 
40596
- const getUserMediaHelper = __webpack_require__(624)({
40620
+ const getUserMediaHelper = __webpack_require__(625)({
40597
40621
  otError,
40598
40622
  global: windowMock
40599
40623
  });
@@ -40603,7 +40627,7 @@ const screenSharing = __webpack_require__(161)({
40603
40627
  otError
40604
40628
  });
40605
40629
 
40606
- const processPubOptions = __webpack_require__(629)({
40630
+ const processPubOptions = __webpack_require__(630)({
40607
40631
  deviceHelpers,
40608
40632
  generateConstraintInfo,
40609
40633
  getUserMediaHelper,
@@ -40612,7 +40636,7 @@ const processPubOptions = __webpack_require__(629)({
40612
40636
  screenSharing
40613
40637
  });
40614
40638
 
40615
- const getUserMedia = __webpack_require__(632)({
40639
+ const getUserMedia = __webpack_require__(633)({
40616
40640
  otError,
40617
40641
  processPubOptions
40618
40642
  });
@@ -40650,7 +40674,7 @@ const SubscriberPeerConnection = __webpack_require__(296)({
40650
40674
 
40651
40675
  const PublishingState = __webpack_require__(297)();
40652
40676
 
40653
- const reportIssue = __webpack_require__(641)({
40677
+ const reportIssue = __webpack_require__(642)({
40654
40678
  otError
40655
40679
  });
40656
40680
 
@@ -40711,14 +40735,14 @@ const Session = __webpack_require__(309)({
40711
40735
  Subscriber
40712
40736
  });
40713
40737
 
40714
- const initSession = __webpack_require__(714)({
40738
+ const initSession = __webpack_require__(716)({
40715
40739
  Session
40716
40740
  }); // Allow events to be bound on OT
40717
40741
 
40718
40742
 
40719
40743
  eventing(OT);
40720
40744
 
40721
- const getSupportedCodecs = __webpack_require__(715);
40745
+ const getSupportedCodecs = __webpack_require__(717);
40722
40746
 
40723
40747
  setDeprecatedProperty(OT, '$', {
40724
40748
  name: 'OT.$',
@@ -40764,10 +40788,10 @@ OT.Error.on(eventNames.EXCEPTION, exceptionEvent => {
40764
40788
  OT.Event = Event;
40765
40789
  OT.ExceptionCodes = ExceptionCodes;
40766
40790
  OT.ExceptionEvent = Events.ExceptionEvent;
40767
- OT.getDevices = __webpack_require__(718);
40791
+ OT.getDevices = __webpack_require__(720);
40768
40792
  OT.getAudioOutputDevices = __webpack_require__(320);
40769
40793
  OT.getActiveAudioOutputDevice = __webpack_require__(321);
40770
- OT.setAudioOutputDevice = __webpack_require__(719)();
40794
+ OT.setAudioOutputDevice = __webpack_require__(721)();
40771
40795
  OT.GetAudioLevelSampler = GetAudioLevelSampler;
40772
40796
  OT.HAS_REQUIREMENTS = 1;
40773
40797
  OT.IntervalRunner = IntervalRunner;
@@ -40938,7 +40962,9 @@ EnvironmentLoader.onUnload(() => {
40938
40962
  sessionObjects.sessions.destroy('unloaded');
40939
40963
  });
40940
40964
 
40941
- __webpack_require__(720)();
40965
+ __webpack_require__(722)();
40966
+
40967
+ __webpack_require__(724)();
40942
40968
  /**
40943
40969
  * This method is deprecated. Use <a href="#on">on()</a> or <a href="#once">once()</a> instead.
40944
40970
  *
@@ -42696,7 +42722,7 @@ module.exports = baseTimes;
42696
42722
  /* 370 */
42697
42723
  /***/ (function(module, exports, __webpack_require__) {
42698
42724
 
42699
- var baseGetTag = __webpack_require__(28),
42725
+ var baseGetTag = __webpack_require__(29),
42700
42726
  isObjectLike = __webpack_require__(16);
42701
42727
 
42702
42728
  /** `Object#toString` result references. */
@@ -42744,7 +42770,7 @@ module.exports = stubFalse;
42744
42770
  /* 372 */
42745
42771
  /***/ (function(module, exports, __webpack_require__) {
42746
42772
 
42747
- var baseGetTag = __webpack_require__(28),
42773
+ var baseGetTag = __webpack_require__(29),
42748
42774
  isLength = __webpack_require__(112),
42749
42775
  isObjectLike = __webpack_require__(16);
42750
42776
 
@@ -44062,9 +44088,9 @@ module.exports = function () {
44062
44088
  var isValue = __webpack_require__(42)
44063
44089
  , setPrototypeOf = __webpack_require__(123)
44064
44090
  , object = __webpack_require__(401)
44065
- , ensureValue = __webpack_require__(30)
44091
+ , ensureValue = __webpack_require__(31)
44066
44092
  , randomUniq = __webpack_require__(402)
44067
- , d = __webpack_require__(31)
44093
+ , d = __webpack_require__(32)
44068
44094
  , getIterator = __webpack_require__(201)
44069
44095
  , forOf = __webpack_require__(444)
44070
44096
  , toStringTagSymbol = __webpack_require__(43).toStringTag
@@ -44288,7 +44314,7 @@ module.exports = function () {
44288
44314
 
44289
44315
 
44290
44316
  var keys = __webpack_require__(407)
44291
- , value = __webpack_require__(30)
44317
+ , value = __webpack_require__(31)
44292
44318
  , max = Math.max;
44293
44319
 
44294
44320
  module.exports = function (dest, src/*, …srcn*/) {
@@ -44389,7 +44415,7 @@ module.exports = function (searchString/*, position*/) {
44389
44415
 
44390
44416
  var setPrototypeOf = __webpack_require__(123)
44391
44417
  , contains = __webpack_require__(200)
44392
- , d = __webpack_require__(31)
44418
+ , d = __webpack_require__(32)
44393
44419
  , Symbol = __webpack_require__(43)
44394
44420
  , Iterator = __webpack_require__(203);
44395
44421
 
@@ -44506,7 +44532,7 @@ module.exports = (function () {
44506
44532
 
44507
44533
 
44508
44534
 
44509
- var d = __webpack_require__(31)
44535
+ var d = __webpack_require__(32)
44510
44536
  , validateSymbol = __webpack_require__(202)
44511
44537
  , NativeSymbol = __webpack_require__(91).Symbol
44512
44538
  , generateName = __webpack_require__(418)
@@ -44614,7 +44640,7 @@ module.exports = function (value) {
44614
44640
  "use strict";
44615
44641
 
44616
44642
 
44617
- var d = __webpack_require__(31);
44643
+ var d = __webpack_require__(32);
44618
44644
 
44619
44645
  var create = Object.create, defineProperty = Object.defineProperty, objPrototype = Object.prototype;
44620
44646
 
@@ -44650,7 +44676,7 @@ module.exports = function (desc) {
44650
44676
  "use strict";
44651
44677
 
44652
44678
 
44653
- var d = __webpack_require__(31)
44679
+ var d = __webpack_require__(32)
44654
44680
  , NativeSymbol = __webpack_require__(91).Symbol;
44655
44681
 
44656
44682
  module.exports = function (SymbolPolyfill) {
@@ -44691,7 +44717,7 @@ module.exports = function (SymbolPolyfill) {
44691
44717
  "use strict";
44692
44718
 
44693
44719
 
44694
- var d = __webpack_require__(31)
44720
+ var d = __webpack_require__(32)
44695
44721
  , validateSymbol = __webpack_require__(202);
44696
44722
 
44697
44723
  var registry = Object.create(null);
@@ -44725,7 +44751,7 @@ module.exports = function (SymbolPolyfill) {
44725
44751
 
44726
44752
 
44727
44753
 
44728
- var value = __webpack_require__(30);
44754
+ var value = __webpack_require__(31);
44729
44755
 
44730
44756
  module.exports = function () {
44731
44757
  value(this).length = 0;
@@ -44897,7 +44923,7 @@ module.exports = function (value/*, options*/) {
44897
44923
 
44898
44924
  var aFrom = __webpack_require__(429)
44899
44925
  , assign = __webpack_require__(125)
44900
- , value = __webpack_require__(30);
44926
+ , value = __webpack_require__(31);
44901
44927
 
44902
44928
  module.exports = function (obj/*, propertyNames, options*/) {
44903
44929
  var copy = Object(value(obj)), propertyNames = arguments[1], options = Object(arguments[2]);
@@ -44952,7 +44978,7 @@ var iteratorSymbol = __webpack_require__(43).iterator
44952
44978
  , isFunction = __webpack_require__(432)
44953
44979
  , toPosInt = __webpack_require__(433)
44954
44980
  , callable = __webpack_require__(70)
44955
- , validValue = __webpack_require__(30)
44981
+ , validValue = __webpack_require__(31)
44956
44982
  , isValue = __webpack_require__(42)
44957
44983
  , isString = __webpack_require__(90)
44958
44984
  , isArray = Array.isArray
@@ -45194,7 +45220,7 @@ module.exports = __webpack_require__(440)("forEach");
45194
45220
 
45195
45221
 
45196
45222
  var callable = __webpack_require__(70)
45197
- , value = __webpack_require__(30)
45223
+ , value = __webpack_require__(31)
45198
45224
  , bind = Function.prototype.bind
45199
45225
  , call = Function.prototype.call
45200
45226
  , keys = Object.keys
@@ -45230,7 +45256,7 @@ module.exports = function (method, defVal) {
45230
45256
 
45231
45257
 
45232
45258
  var setPrototypeOf = __webpack_require__(123)
45233
- , d = __webpack_require__(31)
45259
+ , d = __webpack_require__(32)
45234
45260
  , Symbol = __webpack_require__(43)
45235
45261
  , Iterator = __webpack_require__(203);
45236
45262
 
@@ -45379,7 +45405,7 @@ module.exports = (function () {
45379
45405
  var SetCache = __webpack_require__(92),
45380
45406
  arrayIncludes = __webpack_require__(93),
45381
45407
  arrayIncludesWith = __webpack_require__(128),
45382
- arrayMap = __webpack_require__(32),
45408
+ arrayMap = __webpack_require__(33),
45383
45409
  baseUnary = __webpack_require__(67),
45384
45410
  cacheHas = __webpack_require__(94);
45385
45411
 
@@ -48243,7 +48269,7 @@ module.exports = curry;
48243
48269
  /* 493 */
48244
48270
  /***/ (function(module, exports, __webpack_require__) {
48245
48271
 
48246
- var baseGetTag = __webpack_require__(28),
48272
+ var baseGetTag = __webpack_require__(29),
48247
48273
  isObjectLike = __webpack_require__(16),
48248
48274
  isPlainObject = __webpack_require__(135);
48249
48275
 
@@ -48320,7 +48346,7 @@ module.exports = isWeakMap;
48320
48346
  /***/ (function(module, exports, __webpack_require__) {
48321
48347
 
48322
48348
  var baseClone = __webpack_require__(77),
48323
- baseIteratee = __webpack_require__(33);
48349
+ baseIteratee = __webpack_require__(34);
48324
48350
 
48325
48351
  /** Used to compose bitmasks for cloning. */
48326
48352
  var CLONE_DEEP_FLAG = 1;
@@ -48778,7 +48804,7 @@ module.exports = equalObjects;
48778
48804
  /***/ (function(module, exports, __webpack_require__) {
48779
48805
 
48780
48806
  var isStrictComparable = __webpack_require__(233),
48781
- keys = __webpack_require__(29);
48807
+ keys = __webpack_require__(30);
48782
48808
 
48783
48809
  /**
48784
48810
  * Gets the property names, values, and compare flags of `object`.
@@ -48879,7 +48905,7 @@ module.exports = memoizeCapped;
48879
48905
  /***/ (function(module, exports, __webpack_require__) {
48880
48906
 
48881
48907
  var Symbol = __webpack_require__(38),
48882
- arrayMap = __webpack_require__(32),
48908
+ arrayMap = __webpack_require__(33),
48883
48909
  isArray = __webpack_require__(10),
48884
48910
  isSymbol = __webpack_require__(71);
48885
48911
 
@@ -49158,7 +49184,7 @@ module.exports = isFlattenable;
49158
49184
  /* 513 */
49159
49185
  /***/ (function(module, exports, __webpack_require__) {
49160
49186
 
49161
- var arrayMap = __webpack_require__(32),
49187
+ var arrayMap = __webpack_require__(33),
49162
49188
  copyArray = __webpack_require__(53),
49163
49189
  isArray = __webpack_require__(10),
49164
49190
  isSymbol = __webpack_require__(71),
@@ -49328,7 +49354,7 @@ module.exports = func;
49328
49354
 
49329
49355
  var baseAssignValue = __webpack_require__(63),
49330
49356
  baseForOwn = __webpack_require__(99),
49331
- baseIteratee = __webpack_require__(33);
49357
+ baseIteratee = __webpack_require__(34);
49332
49358
 
49333
49359
  /**
49334
49360
  * The opposite of `_.mapValues`; this method creates an object with the
@@ -50727,10 +50753,24 @@ module.exports = function iOSVersion() {
50727
50753
  "use strict";
50728
50754
 
50729
50755
 
50756
+ const electronUserAgentRegex = /(Electron)\/([0-9]{1,}[.0-9]{0,})/;
50757
+
50758
+ module.exports = userAgent => {
50759
+ const matches = userAgent.match(electronUserAgentRegex);
50760
+ return matches && parseFloat(matches[2]);
50761
+ };
50762
+
50763
+ /***/ }),
50764
+ /* 533 */
50765
+ /***/ (function(module, exports, __webpack_require__) {
50766
+
50767
+ "use strict";
50768
+
50769
+
50730
50770
  // @todo enable the following disabled rules see OPENTOK-31136 for more info
50731
50771
 
50732
50772
  /* eslint-disable no-param-reassign, no-bitwise */
50733
- const hasClassListCapability = __webpack_require__(533);
50773
+ const hasClassListCapability = __webpack_require__(534);
50734
50774
 
50735
50775
  function hasClass(element, className) {
50736
50776
  if (!className) {
@@ -50885,7 +50925,7 @@ module.exports = function (ElementCollection) {
50885
50925
  };
50886
50926
 
50887
50927
  /***/ }),
50888
- /* 533 */
50928
+ /* 534 */
50889
50929
  /***/ (function(module, exports, __webpack_require__) {
50890
50930
 
50891
50931
  "use strict";
@@ -50894,7 +50934,7 @@ module.exports = function (ElementCollection) {
50894
50934
  module.exports = () => typeof document !== 'undefined' && 'classList' in document.createElement('a');
50895
50935
 
50896
50936
  /***/ }),
50897
- /* 534 */
50937
+ /* 535 */
50898
50938
  /***/ (function(module, exports, __webpack_require__) {
50899
50939
 
50900
50940
  "use strict";
@@ -50905,7 +50945,7 @@ module.exports = () => typeof document !== 'undefined' && 'classList' in documen
50905
50945
  /* eslint-disable prefer-rest-params, no-param-reassign */
50906
50946
 
50907
50947
  /* eslint-disable no-underscore-dangle */
50908
- const isEmpty = __webpack_require__(535);
50948
+ const isEmpty = __webpack_require__(536);
50909
50949
 
50910
50950
  module.exports = function (ElementCollection) {
50911
50951
  let sizeObserverCount = 0;
@@ -51141,7 +51181,7 @@ module.exports = function (ElementCollection) {
51141
51181
  };
51142
51182
 
51143
51183
  /***/ }),
51144
- /* 535 */
51184
+ /* 536 */
51145
51185
  /***/ (function(module, exports, __webpack_require__) {
51146
51186
 
51147
51187
  var baseKeys = __webpack_require__(114),
@@ -51224,7 +51264,7 @@ module.exports = isEmpty;
51224
51264
 
51225
51265
 
51226
51266
  /***/ }),
51227
- /* 536 */
51267
+ /* 537 */
51228
51268
  /***/ (function(module, exports, __webpack_require__) {
51229
51269
 
51230
51270
  "use strict";
@@ -51270,7 +51310,7 @@ module.exports = {
51270
51310
  };
51271
51311
 
51272
51312
  /***/ }),
51273
- /* 537 */
51313
+ /* 538 */
51274
51314
  /***/ (function(module, exports, __webpack_require__) {
51275
51315
 
51276
51316
  "use strict";
@@ -51339,7 +51379,7 @@ module.exports = function statable(self, possibleStates, initialState, stateChan
51339
51379
  };
51340
51380
 
51341
51381
  /***/ }),
51342
- /* 538 */
51382
+ /* 539 */
51343
51383
  /***/ (function(module, exports, __webpack_require__) {
51344
51384
 
51345
51385
  "use strict";
@@ -51397,7 +51437,7 @@ domExtras.createElement = function (nodeName, attributes, children, doc) {
51397
51437
  makeEverythingAttachToOTHelpers(domExtras);
51398
51438
 
51399
51439
  /***/ }),
51400
- /* 539 */
51440
+ /* 540 */
51401
51441
  /***/ (function(module, exports, __webpack_require__) {
51402
51442
 
51403
51443
  "use strict";
@@ -51408,14 +51448,14 @@ makeEverythingAttachToOTHelpers(domExtras);
51408
51448
  /* eslint-disable one-var, no-underscore-dangle, no-use-before-define, no-param-reassign */
51409
51449
 
51410
51450
  /* eslint-disable max-len, no-var, vars-on-top, global-require */
51411
- const blacklistedStats = __webpack_require__(540);
51451
+ const blacklistedStats = __webpack_require__(541);
51412
51452
 
51413
51453
  module.exports = function (deps) {
51414
51454
  if (deps === void 0) {
51415
51455
  deps = {};
51416
51456
  }
51417
51457
 
51418
- const isSessionProxied = deps.isSessionProxied || __webpack_require__(541);
51458
+ const isSessionProxied = deps.isSessionProxied || __webpack_require__(542);
51419
51459
 
51420
51460
  const _deps = deps,
51421
51461
  sessionId = _deps.sessionId;
@@ -51432,7 +51472,7 @@ module.exports = function (deps) {
51432
51472
  };
51433
51473
 
51434
51474
  /***/ }),
51435
- /* 540 */
51475
+ /* 541 */
51436
51476
  /***/ (function(module, exports, __webpack_require__) {
51437
51477
 
51438
51478
  "use strict";
@@ -51442,7 +51482,7 @@ module.exports = function (deps) {
51442
51482
  module.exports = ['audioLocalAddress', 'audioRemoteAddress', 'videoLocalAddress', 'videoRemoteAddress'];
51443
51483
 
51444
51484
  /***/ }),
51445
- /* 541 */
51485
+ /* 542 */
51446
51486
  /***/ (function(module, exports, __webpack_require__) {
51447
51487
 
51448
51488
  "use strict";
@@ -51463,7 +51503,7 @@ module.exports = sessionId => {
51463
51503
  };
51464
51504
 
51465
51505
  /***/ }),
51466
- /* 542 */
51506
+ /* 543 */
51467
51507
  /***/ (function(module, exports, __webpack_require__) {
51468
51508
 
51469
51509
  "use strict";
@@ -51473,7 +51513,7 @@ const runtimeProperties = ['buildHash', 'minimumVersion', 'debug', ['websiteURL'
51473
51513
  module.exports = runtimeProperties;
51474
51514
 
51475
51515
  /***/ }),
51476
- /* 543 */
51516
+ /* 544 */
51477
51517
  /***/ (function(module, exports, __webpack_require__) {
51478
51518
 
51479
51519
  "use strict";
@@ -51483,7 +51523,7 @@ const mutableRuntimeProperties = ['apiUrl', 'apiURL', 'apiURLSSL'];
51483
51523
  module.exports = mutableRuntimeProperties;
51484
51524
 
51485
51525
  /***/ }),
51486
- /* 544 */
51526
+ /* 545 */
51487
51527
  /***/ (function(module, exports, __webpack_require__) {
51488
51528
 
51489
51529
  "use strict";
@@ -51501,7 +51541,7 @@ module.exports = function noConflict() {
51501
51541
  };
51502
51542
 
51503
51543
  /***/ }),
51504
- /* 545 */
51544
+ /* 546 */
51505
51545
  /***/ (function(module, exports, __webpack_require__) {
51506
51546
 
51507
51547
  "use strict";
@@ -51538,7 +51578,7 @@ module.exports = function extendES5Native(ParentClass) {
51538
51578
  };
51539
51579
 
51540
51580
  /***/ }),
51541
- /* 546 */
51581
+ /* 547 */
51542
51582
  /***/ (function(module, exports, __webpack_require__) {
51543
51583
 
51544
51584
  "use strict";
@@ -51553,7 +51593,7 @@ module.exports = function extendES5Native(ParentClass) {
51553
51593
 
51554
51594
 
51555
51595
 
51556
- var utils = __webpack_require__(27);
51596
+ var utils = __webpack_require__(28);
51557
51597
  // Shimming starts here.
51558
51598
  module.exports = function(dependencies, opts) {
51559
51599
  var window = dependencies && dependencies.window;
@@ -51582,11 +51622,11 @@ module.exports = function(dependencies, opts) {
51582
51622
  // require('./utils').disableLog(false);
51583
51623
 
51584
51624
  // Browser shims.
51585
- var chromeShim = __webpack_require__(547) || null;
51586
- var edgeShim = __webpack_require__(549) || null;
51587
- var firefoxShim = __webpack_require__(553) || null;
51588
- var safariShim = __webpack_require__(555) || null;
51589
- var commonShim = __webpack_require__(556) || null;
51625
+ var chromeShim = __webpack_require__(548) || null;
51626
+ var edgeShim = __webpack_require__(550) || null;
51627
+ var firefoxShim = __webpack_require__(554) || null;
51628
+ var safariShim = __webpack_require__(556) || null;
51629
+ var commonShim = __webpack_require__(557) || null;
51590
51630
 
51591
51631
  // Export to the adapter global object visible in the browser.
51592
51632
  var adapter = {
@@ -51700,7 +51740,7 @@ module.exports = function(dependencies, opts) {
51700
51740
 
51701
51741
 
51702
51742
  /***/ }),
51703
- /* 547 */
51743
+ /* 548 */
51704
51744
  /***/ (function(module, exports, __webpack_require__) {
51705
51745
 
51706
51746
  "use strict";
@@ -51714,7 +51754,7 @@ module.exports = function(dependencies, opts) {
51714
51754
  */
51715
51755
  /* eslint-env node */
51716
51756
 
51717
- var utils = __webpack_require__(27);
51757
+ var utils = __webpack_require__(28);
51718
51758
  var logging = utils.log;
51719
51759
 
51720
51760
  /* iterates the stats graph recursively. */
@@ -51759,7 +51799,7 @@ function filterStats(result, track, outbound) {
51759
51799
  }
51760
51800
 
51761
51801
  module.exports = {
51762
- shimGetUserMedia: __webpack_require__(548),
51802
+ shimGetUserMedia: __webpack_require__(549),
51763
51803
  shimMediaStream: function(window) {
51764
51804
  window.MediaStream = window.MediaStream || window.webkitMediaStream;
51765
51805
  },
@@ -52645,7 +52685,7 @@ module.exports = {
52645
52685
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
52646
52686
 
52647
52687
  /***/ }),
52648
- /* 548 */
52688
+ /* 549 */
52649
52689
  /***/ (function(module, exports, __webpack_require__) {
52650
52690
 
52651
52691
  "use strict";
@@ -52658,7 +52698,7 @@ module.exports = {
52658
52698
  */
52659
52699
  /* eslint-env node */
52660
52700
 
52661
- var utils = __webpack_require__(27);
52701
+ var utils = __webpack_require__(28);
52662
52702
  var logging = utils.log;
52663
52703
 
52664
52704
  // Expose public methods.
@@ -52900,7 +52940,7 @@ module.exports = function(window) {
52900
52940
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
52901
52941
 
52902
52942
  /***/ }),
52903
- /* 549 */
52943
+ /* 550 */
52904
52944
  /***/ (function(module, exports, __webpack_require__) {
52905
52945
 
52906
52946
  "use strict";
@@ -52914,12 +52954,12 @@ module.exports = function(window) {
52914
52954
  /* eslint-env node */
52915
52955
 
52916
52956
 
52917
- var utils = __webpack_require__(27);
52918
- var filterIceServers = __webpack_require__(550);
52919
- var shimRTCPeerConnection = __webpack_require__(551);
52957
+ var utils = __webpack_require__(28);
52958
+ var filterIceServers = __webpack_require__(551);
52959
+ var shimRTCPeerConnection = __webpack_require__(552);
52920
52960
 
52921
52961
  module.exports = {
52922
- shimGetUserMedia: __webpack_require__(552),
52962
+ shimGetUserMedia: __webpack_require__(553),
52923
52963
  shimPeerConnection: function(window) {
52924
52964
  var browserDetails = utils.detectBrowser(window);
52925
52965
 
@@ -53011,7 +53051,7 @@ module.exports = {
53011
53051
 
53012
53052
 
53013
53053
  /***/ }),
53014
- /* 550 */
53054
+ /* 551 */
53015
53055
  /***/ (function(module, exports, __webpack_require__) {
53016
53056
 
53017
53057
  "use strict";
@@ -53025,7 +53065,7 @@ module.exports = {
53025
53065
  /* eslint-env node */
53026
53066
 
53027
53067
 
53028
- var utils = __webpack_require__(27);
53068
+ var utils = __webpack_require__(28);
53029
53069
  // Edge does not like
53030
53070
  // 1) stun: filtered after 14393 unless ?transport=udp is present
53031
53071
  // 2) turn: that does not have all of turn:host:port?transport=udp
@@ -53067,7 +53107,7 @@ module.exports = function(iceServers, edgeVersion) {
53067
53107
 
53068
53108
 
53069
53109
  /***/ }),
53070
- /* 551 */
53110
+ /* 552 */
53071
53111
  /***/ (function(module, exports, __webpack_require__) {
53072
53112
 
53073
53113
  "use strict";
@@ -54932,7 +54972,7 @@ module.exports = function(window, edgeVersion) {
54932
54972
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
54933
54973
 
54934
54974
  /***/ }),
54935
- /* 552 */
54975
+ /* 553 */
54936
54976
  /***/ (function(module, exports, __webpack_require__) {
54937
54977
 
54938
54978
  "use strict";
@@ -54974,7 +55014,7 @@ module.exports = function(window) {
54974
55014
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
54975
55015
 
54976
55016
  /***/ }),
54977
- /* 553 */
55017
+ /* 554 */
54978
55018
  /***/ (function(module, exports, __webpack_require__) {
54979
55019
 
54980
55020
  "use strict";
@@ -54988,10 +55028,10 @@ module.exports = function(window) {
54988
55028
  /* eslint-env node */
54989
55029
 
54990
55030
 
54991
- var utils = __webpack_require__(27);
55031
+ var utils = __webpack_require__(28);
54992
55032
 
54993
55033
  module.exports = {
54994
- shimGetUserMedia: __webpack_require__(554),
55034
+ shimGetUserMedia: __webpack_require__(555),
54995
55035
  shimOnTrack: function(window) {
54996
55036
  if (typeof window === 'object' && window.RTCPeerConnection && !('ontrack' in
54997
55037
  window.RTCPeerConnection.prototype)) {
@@ -55299,7 +55339,7 @@ module.exports = {
55299
55339
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
55300
55340
 
55301
55341
  /***/ }),
55302
- /* 554 */
55342
+ /* 555 */
55303
55343
  /***/ (function(module, exports, __webpack_require__) {
55304
55344
 
55305
55345
  "use strict";
@@ -55313,7 +55353,7 @@ module.exports = {
55313
55353
  /* eslint-env node */
55314
55354
 
55315
55355
 
55316
- var utils = __webpack_require__(27);
55356
+ var utils = __webpack_require__(28);
55317
55357
  var logging = utils.log;
55318
55358
 
55319
55359
  // Expose public methods.
@@ -55516,7 +55556,7 @@ module.exports = function(window) {
55516
55556
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
55517
55557
 
55518
55558
  /***/ }),
55519
- /* 555 */
55559
+ /* 556 */
55520
55560
  /***/ (function(module, exports, __webpack_require__) {
55521
55561
 
55522
55562
  "use strict";
@@ -55528,7 +55568,7 @@ module.exports = function(window) {
55528
55568
  * tree.
55529
55569
  */
55530
55570
 
55531
- var utils = __webpack_require__(27);
55571
+ var utils = __webpack_require__(28);
55532
55572
 
55533
55573
  module.exports = {
55534
55574
  shimLocalStreamsAPI: function(window) {
@@ -55838,7 +55878,7 @@ module.exports = {
55838
55878
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
55839
55879
 
55840
55880
  /***/ }),
55841
- /* 556 */
55881
+ /* 557 */
55842
55882
  /***/ (function(module, exports, __webpack_require__) {
55843
55883
 
55844
55884
  "use strict";
@@ -55853,7 +55893,7 @@ module.exports = {
55853
55893
 
55854
55894
 
55855
55895
  var SDPUtils = __webpack_require__(251);
55856
- var utils = __webpack_require__(27);
55896
+ var utils = __webpack_require__(28);
55857
55897
 
55858
55898
  module.exports = {
55859
55899
  shimRTCIceCandidate: function(window) {
@@ -56135,7 +56175,7 @@ module.exports = {
56135
56175
 
56136
56176
 
56137
56177
  /***/ }),
56138
- /* 557 */
56178
+ /* 558 */
56139
56179
  /***/ (function(module, exports, __webpack_require__) {
56140
56180
 
56141
56181
  "use strict";
@@ -56189,13 +56229,13 @@ module.exports = domState;
56189
56229
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
56190
56230
 
56191
56231
  /***/ }),
56192
- /* 558 */
56232
+ /* 559 */
56193
56233
  /***/ (function(module, exports, __webpack_require__) {
56194
56234
 
56195
56235
  var Stack = __webpack_require__(78),
56196
56236
  assignMergeValue = __webpack_require__(255),
56197
56237
  baseFor = __webpack_require__(238),
56198
- baseMergeDeep = __webpack_require__(559),
56238
+ baseMergeDeep = __webpack_require__(560),
56199
56239
  isObject = __webpack_require__(9),
56200
56240
  keysIn = __webpack_require__(52),
56201
56241
  safeGet = __webpack_require__(256);
@@ -56237,7 +56277,7 @@ module.exports = baseMerge;
56237
56277
 
56238
56278
 
56239
56279
  /***/ }),
56240
- /* 559 */
56280
+ /* 560 */
56241
56281
  /***/ (function(module, exports, __webpack_require__) {
56242
56282
 
56243
56283
  var assignMergeValue = __webpack_require__(255),
@@ -56254,7 +56294,7 @@ var assignMergeValue = __webpack_require__(255),
56254
56294
  isPlainObject = __webpack_require__(135),
56255
56295
  isTypedArray = __webpack_require__(85),
56256
56296
  safeGet = __webpack_require__(256),
56257
- toPlainObject = __webpack_require__(560);
56297
+ toPlainObject = __webpack_require__(561);
56258
56298
 
56259
56299
  /**
56260
56300
  * A specialized version of `baseMerge` for arrays and objects which performs
@@ -56337,7 +56377,7 @@ module.exports = baseMergeDeep;
56337
56377
 
56338
56378
 
56339
56379
  /***/ }),
56340
- /* 560 */
56380
+ /* 561 */
56341
56381
  /***/ (function(module, exports, __webpack_require__) {
56342
56382
 
56343
56383
  var copyObject = __webpack_require__(39),
@@ -56375,7 +56415,7 @@ module.exports = toPlainObject;
56375
56415
 
56376
56416
 
56377
56417
  /***/ }),
56378
- /* 561 */
56418
+ /* 562 */
56379
56419
  /***/ (function(module, exports, __webpack_require__) {
56380
56420
 
56381
56421
  "use strict";
@@ -56589,7 +56629,7 @@ module.exports = function normalizeConstraintInput(opt) {
56589
56629
  };
56590
56630
 
56591
56631
  /***/ }),
56592
- /* 562 */
56632
+ /* 563 */
56593
56633
  /***/ (function(module, exports, __webpack_require__) {
56594
56634
 
56595
56635
  "use strict";
@@ -56686,7 +56726,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
56686
56726
 
56687
56727
 
56688
56728
  /***/ }),
56689
- /* 563 */
56729
+ /* 564 */
56690
56730
  /***/ (function(module, exports, __webpack_require__) {
56691
56731
 
56692
56732
  /* WEBPACK VAR INJECTION */(function(process, Promise) {// Copyright Joyent, Inc. and other Node contributors.
@@ -57224,7 +57264,7 @@ function isPrimitive(arg) {
57224
57264
  }
57225
57265
  exports.isPrimitive = isPrimitive;
57226
57266
 
57227
- exports.isBuffer = __webpack_require__(564);
57267
+ exports.isBuffer = __webpack_require__(565);
57228
57268
 
57229
57269
  function objectToString(o) {
57230
57270
  return Object.prototype.toString.call(o);
@@ -57268,7 +57308,7 @@ exports.log = function() {
57268
57308
  * prototype.
57269
57309
  * @param {function} superCtor Constructor function to inherit prototype from.
57270
57310
  */
57271
- exports.inherits = __webpack_require__(565);
57311
+ exports.inherits = __webpack_require__(566);
57272
57312
 
57273
57313
  exports._extend = function(origin, add) {
57274
57314
  // Don't do anything if add isn't an object
@@ -57396,7 +57436,7 @@ exports.callbackify = callbackify;
57396
57436
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(69), __webpack_require__(0)))
57397
57437
 
57398
57438
  /***/ }),
57399
- /* 564 */
57439
+ /* 565 */
57400
57440
  /***/ (function(module, exports) {
57401
57441
 
57402
57442
  module.exports = function isBuffer(arg) {
@@ -57407,7 +57447,7 @@ module.exports = function isBuffer(arg) {
57407
57447
  }
57408
57448
 
57409
57449
  /***/ }),
57410
- /* 565 */
57450
+ /* 566 */
57411
57451
  /***/ (function(module, exports) {
57412
57452
 
57413
57453
  if (typeof Object.create === 'function') {
@@ -57436,10 +57476,10 @@ if (typeof Object.create === 'function') {
57436
57476
 
57437
57477
 
57438
57478
  /***/ }),
57439
- /* 566 */
57479
+ /* 567 */
57440
57480
  /***/ (function(module, exports, __webpack_require__) {
57441
57481
 
57442
- var castSlice = __webpack_require__(567),
57482
+ var castSlice = __webpack_require__(568),
57443
57483
  hasUnicode = __webpack_require__(261),
57444
57484
  stringToArray = __webpack_require__(262),
57445
57485
  toString = __webpack_require__(58);
@@ -57475,7 +57515,7 @@ module.exports = createCaseFirst;
57475
57515
 
57476
57516
 
57477
57517
  /***/ }),
57478
- /* 567 */
57518
+ /* 568 */
57479
57519
  /***/ (function(module, exports, __webpack_require__) {
57480
57520
 
57481
57521
  var baseSlice = __webpack_require__(260);
@@ -57499,7 +57539,7 @@ module.exports = castSlice;
57499
57539
 
57500
57540
 
57501
57541
  /***/ }),
57502
- /* 568 */
57542
+ /* 569 */
57503
57543
  /***/ (function(module, exports) {
57504
57544
 
57505
57545
  /**
@@ -57517,7 +57557,7 @@ module.exports = asciiToArray;
57517
57557
 
57518
57558
 
57519
57559
  /***/ }),
57520
- /* 569 */
57560
+ /* 570 */
57521
57561
  /***/ (function(module, exports) {
57522
57562
 
57523
57563
  /** Used to compose unicode character classes. */
@@ -57563,7 +57603,7 @@ module.exports = unicodeToArray;
57563
57603
 
57564
57604
 
57565
57605
  /***/ }),
57566
- /* 570 */
57606
+ /* 571 */
57567
57607
  /***/ (function(module, exports, __webpack_require__) {
57568
57608
 
57569
57609
  "use strict";
@@ -57572,7 +57612,7 @@ module.exports = unicodeToArray;
57572
57612
  module.exports = ['screen', 'window', 'tab', 'browser', 'application'];
57573
57613
 
57574
57614
  /***/ }),
57575
- /* 571 */
57615
+ /* 572 */
57576
57616
  /***/ (function(module, exports, __webpack_require__) {
57577
57617
 
57578
57618
  "use strict";
@@ -57586,9 +57626,9 @@ const once = __webpack_require__(49);
57586
57626
 
57587
57627
  const logLevels = __webpack_require__(119);
57588
57628
 
57589
- const some = __webpack_require__(573);
57629
+ const some = __webpack_require__(574);
57590
57630
 
57591
- const map = __webpack_require__(576);
57631
+ const map = __webpack_require__(577);
57592
57632
 
57593
57633
  const PATH_TO_RELEASE_NOTES = '/opentok/webrtc/docs/js/release-notes.html';
57594
57634
  const staticConfig = StaticConfig.onlyLocal();
@@ -57705,7 +57745,7 @@ module.exports = setLogLevel;
57705
57745
  */
57706
57746
 
57707
57747
  /***/ }),
57708
- /* 572 */
57748
+ /* 573 */
57709
57749
  /***/ (function(module, exports, __webpack_require__) {
57710
57750
 
57711
57751
  var toInteger = __webpack_require__(96);
@@ -57751,12 +57791,12 @@ module.exports = before;
57751
57791
 
57752
57792
 
57753
57793
  /***/ }),
57754
- /* 573 */
57794
+ /* 574 */
57755
57795
  /***/ (function(module, exports, __webpack_require__) {
57756
57796
 
57757
57797
  var arraySome = __webpack_require__(231),
57758
- baseIteratee = __webpack_require__(33),
57759
- baseSome = __webpack_require__(574),
57798
+ baseIteratee = __webpack_require__(34),
57799
+ baseSome = __webpack_require__(575),
57760
57800
  isArray = __webpack_require__(10),
57761
57801
  isIterateeCall = __webpack_require__(122);
57762
57802
 
@@ -57808,7 +57848,7 @@ module.exports = some;
57808
57848
 
57809
57849
 
57810
57850
  /***/ }),
57811
- /* 574 */
57851
+ /* 575 */
57812
57852
  /***/ (function(module, exports, __webpack_require__) {
57813
57853
 
57814
57854
  var baseEach = __webpack_require__(266);
@@ -57836,7 +57876,7 @@ module.exports = baseSome;
57836
57876
 
57837
57877
 
57838
57878
  /***/ }),
57839
- /* 575 */
57879
+ /* 576 */
57840
57880
  /***/ (function(module, exports, __webpack_require__) {
57841
57881
 
57842
57882
  var isArrayLike = __webpack_require__(24);
@@ -57874,12 +57914,12 @@ module.exports = createBaseEach;
57874
57914
 
57875
57915
 
57876
57916
  /***/ }),
57877
- /* 576 */
57917
+ /* 577 */
57878
57918
  /***/ (function(module, exports, __webpack_require__) {
57879
57919
 
57880
- var arrayMap = __webpack_require__(32),
57881
- baseIteratee = __webpack_require__(33),
57882
- baseMap = __webpack_require__(577),
57920
+ var arrayMap = __webpack_require__(33),
57921
+ baseIteratee = __webpack_require__(34),
57922
+ baseMap = __webpack_require__(578),
57883
57923
  isArray = __webpack_require__(10);
57884
57924
 
57885
57925
  /**
@@ -57933,7 +57973,7 @@ module.exports = map;
57933
57973
 
57934
57974
 
57935
57975
  /***/ }),
57936
- /* 577 */
57976
+ /* 578 */
57937
57977
  /***/ (function(module, exports, __webpack_require__) {
57938
57978
 
57939
57979
  var baseEach = __webpack_require__(266),
@@ -57961,7 +58001,7 @@ module.exports = baseMap;
57961
58001
 
57962
58002
 
57963
58003
  /***/ }),
57964
- /* 578 */
58004
+ /* 579 */
57965
58005
  /***/ (function(module, exports, __webpack_require__) {
57966
58006
 
57967
58007
  "use strict";
@@ -57979,7 +58019,7 @@ module.exports = function fixBackgroundImageURI(bgImgURI) {
57979
58019
  };
57980
58020
 
57981
58021
  /***/ }),
57982
- /* 579 */
58022
+ /* 580 */
57983
58023
  /***/ (function(module, exports, __webpack_require__) {
57984
58024
 
57985
58025
  "use strict";
@@ -58092,7 +58132,7 @@ module.exports = function Style(initalStyles, onStyleChange) {
58092
58132
  };
58093
58133
 
58094
58134
  /***/ }),
58095
- /* 580 */
58135
+ /* 581 */
58096
58136
  /***/ (function(module, exports, __webpack_require__) {
58097
58137
 
58098
58138
  "use strict";
@@ -58115,7 +58155,7 @@ module.exports = function styleHashLogFilter(styleHashInput) {
58115
58155
  };
58116
58156
 
58117
58157
  /***/ }),
58118
- /* 581 */
58158
+ /* 582 */
58119
58159
  /***/ (function(module, exports, __webpack_require__) {
58120
58160
 
58121
58161
  "use strict";
@@ -58142,7 +58182,7 @@ const hasGetUserMediaSupport = () => {
58142
58182
  module.exports = () => Boolean(env.name !== 'Node' && hasGetUserMediaSupport());
58143
58183
 
58144
58184
  /***/ }),
58145
- /* 582 */
58185
+ /* 583 */
58146
58186
  /***/ (function(module, exports, __webpack_require__) {
58147
58187
 
58148
58188
  "use strict";
@@ -58178,7 +58218,7 @@ module.exports = () => {
58178
58218
  };
58179
58219
 
58180
58220
  /***/ }),
58181
- /* 583 */
58221
+ /* 584 */
58182
58222
  /***/ (function(module, exports, __webpack_require__) {
58183
58223
 
58184
58224
  "use strict";
@@ -58188,13 +58228,13 @@ module.exports = () => {
58188
58228
  module.exports = (typeof window !== undefined ? window : global).WebSocket !== undefined;
58189
58229
 
58190
58230
  /***/ }),
58191
- /* 584 */
58231
+ /* 585 */
58192
58232
  /***/ (function(module, exports) {
58193
58233
 
58194
58234
  module.exports = "<div id=\"tb_alert\"><div id=\"section-normal-install\" class=\"OT_alert\"><div class=\"OT_alert-exclamation\">!</div><button class=\"OT_alert-close-button\" role=\"OT_close\">&#x00D7;</button><div class=\"OT_alert-header\" data-text=\"Incompatible Browser\">Incompatible Browser</div><div class=\"OT_alert-body\">The video component of this application requires <a target=\"_blank\" href=\"https://www.google.com/chrome/\">Google Chrome</a>, <a target=\"_blank\" href=\"http://www.mozilla.org/firefox\">Firefox</a>, <a target=\"_blank\" href=\"https://www.microsoft.com/en-us/edge\">Edge</a>, or <a target=\"_blank\" href=\"https://www.apple.com/safari/\">Safari</a>.</div></div><div id=\"section-upgrade-install\" class=\"OT_alert\"><div class=\"OT_alert-exclamation\">!</div><button class=\"OT_alert-close-button\" role=\"OT_close\">&#x00D7;</button><div class=\"OT_alert-header\" data-text=\"Incompatible Browser\">Incompatible Browser</div><div class=\"OT_alert-body\">The video component of this application requires a newer version of <a target=\"_blank\" href=\"https://www.google.com/chrome/\">Google Chrome</a>, <a target=\"_blank\" href=\"http://www.mozilla.org/firefox\">Firefox</a>, <a target=\"_blank\" href=\"https://www.microsoft.com/en-us/edge\">Edge</a>, or <a target=\"_blank\" href=\"https://www.apple.com/safari/\">Safari</a>.</div><div class=\"continue-text\"><a href=\"#\" role=\"OT_close\">Continue at my own risk.</a></div></div><div id=\"section-supported-mobile-browser\" class=\"OT_alert\"><div class=\"OT_alert-exclamation\">!</div><button class=\"OT_alert-close-button\" role=\"OT_close\">&#x00D7;</button><div class=\"OT_alert-header\" data-text=\"Incompatible Browser\">Incompatible Browser</div><div class=\"OT_alert-body\">The video component of this application requires a newer version of <a target=\"_blank\" href=\"https://www.google.com.au/chrome/browser/mobile/\">Google Chrome</a>.</div><div class=\"continue-text\"><a href=\"#\" role=\"OT_close\">Continue at my own risk.</a></div></div><div id=\"section-mobile-browser\" class=\"OT_alert\"><div class=\"OT_alert-exclamation\">!</div><button class=\"OT_alert-close-button\" role=\"OT_close\">&#x00D7;</button><div class=\"OT_alert-header\" data-text=\"Incompatible Browser\">Incompatible Browser</div><div class=\"OT_alert-body\">The video component of this application is not supported on your mobile device's browser at this time.</div></div></div>";
58195
58235
 
58196
58236
  /***/ }),
58197
- /* 585 */
58237
+ /* 586 */
58198
58238
  /***/ (function(module, exports, __webpack_require__) {
58199
58239
 
58200
58240
  "use strict";
@@ -58268,16 +58308,16 @@ module.exports = /*#__PURE__*/function (_Events) {
58268
58308
  }(Events);
58269
58309
 
58270
58310
  /***/ }),
58271
- /* 586 */
58311
+ /* 587 */
58272
58312
  /***/ (function(module, exports, __webpack_require__) {
58273
58313
 
58274
- var getPrototypeOf = __webpack_require__(587);
58314
+ var getPrototypeOf = __webpack_require__(588);
58275
58315
 
58276
58316
  var setPrototypeOf = __webpack_require__(270);
58277
58317
 
58278
- var isNativeFunction = __webpack_require__(588);
58318
+ var isNativeFunction = __webpack_require__(589);
58279
58319
 
58280
- var construct = __webpack_require__(589);
58320
+ var construct = __webpack_require__(590);
58281
58321
 
58282
58322
  function _wrapNativeSuper(Class) {
58283
58323
  var _cache = typeof Map === "function" ? new Map() : undefined;
@@ -58316,7 +58356,7 @@ function _wrapNativeSuper(Class) {
58316
58356
  module.exports = _wrapNativeSuper;
58317
58357
 
58318
58358
  /***/ }),
58319
- /* 587 */
58359
+ /* 588 */
58320
58360
  /***/ (function(module, exports) {
58321
58361
 
58322
58362
  function _getPrototypeOf(o) {
@@ -58329,7 +58369,7 @@ function _getPrototypeOf(o) {
58329
58369
  module.exports = _getPrototypeOf;
58330
58370
 
58331
58371
  /***/ }),
58332
- /* 588 */
58372
+ /* 589 */
58333
58373
  /***/ (function(module, exports) {
58334
58374
 
58335
58375
  function _isNativeFunction(fn) {
@@ -58339,7 +58379,7 @@ function _isNativeFunction(fn) {
58339
58379
  module.exports = _isNativeFunction;
58340
58380
 
58341
58381
  /***/ }),
58342
- /* 589 */
58382
+ /* 590 */
58343
58383
  /***/ (function(module, exports, __webpack_require__) {
58344
58384
 
58345
58385
  var setPrototypeOf = __webpack_require__(270);
@@ -58377,7 +58417,7 @@ function _construct(Parent, args, Class) {
58377
58417
  module.exports = _construct;
58378
58418
 
58379
58419
  /***/ }),
58380
- /* 590 */
58420
+ /* 591 */
58381
58421
  /***/ (function(module, exports, __webpack_require__) {
58382
58422
 
58383
58423
  "use strict";
@@ -58397,12 +58437,12 @@ module.exports = (promise, onFinally) => {
58397
58437
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
58398
58438
 
58399
58439
  /***/ }),
58400
- /* 591 */
58440
+ /* 592 */
58401
58441
  /***/ (function(module, exports, __webpack_require__) {
58402
58442
 
58403
58443
  var castPath = __webpack_require__(57),
58404
- last = __webpack_require__(592),
58405
- parent = __webpack_require__(593),
58444
+ last = __webpack_require__(593),
58445
+ parent = __webpack_require__(594),
58406
58446
  toKey = __webpack_require__(46);
58407
58447
 
58408
58448
  /**
@@ -58423,7 +58463,7 @@ module.exports = baseUnset;
58423
58463
 
58424
58464
 
58425
58465
  /***/ }),
58426
- /* 592 */
58466
+ /* 593 */
58427
58467
  /***/ (function(module, exports) {
58428
58468
 
58429
58469
  /**
@@ -58449,7 +58489,7 @@ module.exports = last;
58449
58489
 
58450
58490
 
58451
58491
  /***/ }),
58452
- /* 593 */
58492
+ /* 594 */
58453
58493
  /***/ (function(module, exports, __webpack_require__) {
58454
58494
 
58455
58495
  var baseGet = __webpack_require__(98),
@@ -58471,7 +58511,7 @@ module.exports = parent;
58471
58511
 
58472
58512
 
58473
58513
  /***/ }),
58474
- /* 594 */
58514
+ /* 595 */
58475
58515
  /***/ (function(module, exports, __webpack_require__) {
58476
58516
 
58477
58517
  var isPlainObject = __webpack_require__(135);
@@ -58493,12 +58533,12 @@ module.exports = customOmitClone;
58493
58533
 
58494
58534
 
58495
58535
  /***/ }),
58496
- /* 595 */
58536
+ /* 596 */
58497
58537
  /***/ (function(module, exports, __webpack_require__) {
58498
58538
 
58499
- var baseIteratee = __webpack_require__(33),
58539
+ var baseIteratee = __webpack_require__(34),
58500
58540
  isArrayLike = __webpack_require__(24),
58501
- keys = __webpack_require__(29);
58541
+ keys = __webpack_require__(30);
58502
58542
 
58503
58543
  /**
58504
58544
  * Creates a `_.find` or `_.findLast` function.
@@ -58524,14 +58564,14 @@ module.exports = createFind;
58524
58564
 
58525
58565
 
58526
58566
  /***/ }),
58527
- /* 596 */
58567
+ /* 597 */
58528
58568
  /***/ (function(module, exports, __webpack_require__) {
58529
58569
 
58530
58570
  var SetCache = __webpack_require__(92),
58531
58571
  arrayIncludes = __webpack_require__(93),
58532
58572
  arrayIncludesWith = __webpack_require__(128),
58533
58573
  cacheHas = __webpack_require__(94),
58534
- createSet = __webpack_require__(597),
58574
+ createSet = __webpack_require__(598),
58535
58575
  setToArray = __webpack_require__(97);
58536
58576
 
58537
58577
  /** Used as the size to enable large array optimizations. */
@@ -58602,7 +58642,7 @@ module.exports = baseUniq;
58602
58642
 
58603
58643
 
58604
58644
  /***/ }),
58605
- /* 597 */
58645
+ /* 598 */
58606
58646
  /***/ (function(module, exports, __webpack_require__) {
58607
58647
 
58608
58648
  var Set = __webpack_require__(185),
@@ -58627,7 +58667,7 @@ module.exports = createSet;
58627
58667
 
58628
58668
 
58629
58669
  /***/ }),
58630
- /* 598 */
58670
+ /* 599 */
58631
58671
  /***/ (function(module, exports, __webpack_require__) {
58632
58672
 
58633
58673
  "use strict";
@@ -58726,7 +58766,7 @@ module.exports = hasValidPeerConnection;
58726
58766
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
58727
58767
 
58728
58768
  /***/ }),
58729
- /* 599 */
58769
+ /* 600 */
58730
58770
  /***/ (function(module, exports, __webpack_require__) {
58731
58771
 
58732
58772
  /**
@@ -58753,7 +58793,7 @@ var oldRuntime = hadRuntime && g.regeneratorRuntime;
58753
58793
  // Force reevalutation of runtime.js.
58754
58794
  g.regeneratorRuntime = undefined;
58755
58795
 
58756
- module.exports = __webpack_require__(600);
58796
+ module.exports = __webpack_require__(601);
58757
58797
 
58758
58798
  if (hadRuntime) {
58759
58799
  // Restore the original runtime.
@@ -58769,7 +58809,7 @@ if (hadRuntime) {
58769
58809
 
58770
58810
 
58771
58811
  /***/ }),
58772
- /* 600 */
58812
+ /* 601 */
58773
58813
  /***/ (function(module, exports, __webpack_require__) {
58774
58814
 
58775
58815
  /* WEBPACK VAR INJECTION */(function(Promise) {/**
@@ -59497,7 +59537,7 @@ if (hadRuntime) {
59497
59537
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
59498
59538
 
59499
59539
  /***/ }),
59500
- /* 601 */
59540
+ /* 602 */
59501
59541
  /***/ (function(module, exports, __webpack_require__) {
59502
59542
 
59503
59543
  "use strict";
@@ -59507,7 +59547,7 @@ const clone = __webpack_require__(36);
59507
59547
 
59508
59548
  const env = __webpack_require__(2);
59509
59549
 
59510
- const filterIceServers = __webpack_require__(602);
59550
+ const filterIceServers = __webpack_require__(603);
59511
59551
 
59512
59552
  const shouldUsePlanBSDP = __webpack_require__(73);
59513
59553
 
@@ -59531,7 +59571,7 @@ module.exports = function createPeerConnection(_ref) {
59531
59571
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
59532
59572
 
59533
59573
  /***/ }),
59534
- /* 602 */
59574
+ /* 603 */
59535
59575
  /***/ (function(module, exports, __webpack_require__) {
59536
59576
 
59537
59577
  "use strict";
@@ -59608,7 +59648,7 @@ module.exports = function filterIceServers(env, iceServers) {
59608
59648
  };
59609
59649
 
59610
59650
  /***/ }),
59611
- /* 603 */
59651
+ /* 604 */
59612
59652
  /***/ (function(module, exports, __webpack_require__) {
59613
59653
 
59614
59654
  "use strict";
@@ -59788,7 +59828,7 @@ module.exports = {
59788
59828
  };
59789
59829
 
59790
59830
  /***/ }),
59791
- /* 604 */
59831
+ /* 605 */
59792
59832
  /***/ (function(module, exports, __webpack_require__) {
59793
59833
 
59794
59834
  var Symbol = __webpack_require__(38),
@@ -59796,7 +59836,7 @@ var Symbol = __webpack_require__(38),
59796
59836
  getTag = __webpack_require__(40),
59797
59837
  isArrayLike = __webpack_require__(24),
59798
59838
  isString = __webpack_require__(275),
59799
- iteratorToArray = __webpack_require__(605),
59839
+ iteratorToArray = __webpack_require__(606),
59800
59840
  mapToArray = __webpack_require__(232),
59801
59841
  setToArray = __webpack_require__(97),
59802
59842
  stringToArray = __webpack_require__(262),
@@ -59852,7 +59892,7 @@ module.exports = toArray;
59852
59892
 
59853
59893
 
59854
59894
  /***/ }),
59855
- /* 605 */
59895
+ /* 606 */
59856
59896
  /***/ (function(module, exports) {
59857
59897
 
59858
59898
  /**
@@ -59876,10 +59916,10 @@ module.exports = iteratorToArray;
59876
59916
 
59877
59917
 
59878
59918
  /***/ }),
59879
- /* 606 */
59919
+ /* 607 */
59880
59920
  /***/ (function(module, exports, __webpack_require__) {
59881
59921
 
59882
- var arrayMap = __webpack_require__(32);
59922
+ var arrayMap = __webpack_require__(33);
59883
59923
 
59884
59924
  /**
59885
59925
  * The base implementation of `_.values` and `_.valuesIn` which creates an
@@ -59901,7 +59941,7 @@ module.exports = baseValues;
59901
59941
 
59902
59942
 
59903
59943
  /***/ }),
59904
- /* 607 */
59944
+ /* 608 */
59905
59945
  /***/ (function(module, exports, __webpack_require__) {
59906
59946
 
59907
59947
  "use strict";
@@ -59927,7 +59967,7 @@ module.exports = (peerConnection, completion) => {
59927
59967
  };
59928
59968
 
59929
59969
  /***/ }),
59930
- /* 608 */
59970
+ /* 609 */
59931
59971
  /***/ (function(module, exports, __webpack_require__) {
59932
59972
 
59933
59973
  "use strict";
@@ -59936,7 +59976,7 @@ module.exports = (peerConnection, completion) => {
59936
59976
  // @todo enable the following disabled rules see OPENTOK-31136 for more info
59937
59977
 
59938
59978
  /* eslint-disable no-underscore-dangle */
59939
- const promisify = __webpack_require__(609);
59979
+ const promisify = __webpack_require__(610);
59940
59980
  /*
59941
59981
  * Process incoming Ice Candidates from a remote connection.
59942
59982
  *
@@ -60081,7 +60121,7 @@ module.exports = IceCandidateProcessor;
60081
60121
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
60082
60122
 
60083
60123
  /***/ }),
60084
- /* 609 */
60124
+ /* 610 */
60085
60125
  /***/ (function(module, exports, __webpack_require__) {
60086
60126
 
60087
60127
  "use strict";
@@ -60106,7 +60146,7 @@ module.exports = function promisify(context, methodName) {
60106
60146
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
60107
60147
 
60108
60148
  /***/ }),
60109
- /* 610 */
60149
+ /* 611 */
60110
60150
  /***/ (function(module, exports, __webpack_require__) {
60111
60151
 
60112
60152
  "use strict";
@@ -60123,7 +60163,7 @@ const logging = __webpack_require__(1)('offerProcessor');
60123
60163
 
60124
60164
  const SDPHelpers = __webpack_require__(50);
60125
60165
 
60126
- const testSupportVideo = __webpack_require__(611); // Attempt to completely process +offer+. This will:
60166
+ const testSupportVideo = __webpack_require__(612); // Attempt to completely process +offer+. This will:
60127
60167
  // * set the offer as the remote description
60128
60168
  // * create an answer and
60129
60169
  // * set the new answer as the location description
@@ -60196,7 +60236,7 @@ module.exports = function offerProcessor(peerConnection, RTCPeerConnection, RTCS
60196
60236
  };
60197
60237
 
60198
60238
  /***/ }),
60199
- /* 611 */
60239
+ /* 612 */
60200
60240
  /***/ (function(module, exports, __webpack_require__) {
60201
60241
 
60202
60242
  "use strict";
@@ -60238,7 +60278,7 @@ module.exports = testSupportVideo;
60238
60278
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
60239
60279
 
60240
60280
  /***/ }),
60241
- /* 612 */
60281
+ /* 613 */
60242
60282
  /***/ (function(module, exports, __webpack_require__) {
60243
60283
 
60244
60284
  "use strict";
@@ -60249,7 +60289,7 @@ module.exports = testSupportVideo;
60249
60289
  /* eslint-disable no-restricted-syntax, no-prototype-builtins */
60250
60290
  const find = __webpack_require__(61);
60251
60291
 
60252
- const DataChannel = __webpack_require__(613); // Contains a collection of DataChannels for a particular RTCPeerConnection
60292
+ const DataChannel = __webpack_require__(614); // Contains a collection of DataChannels for a particular RTCPeerConnection
60253
60293
  //
60254
60294
  // @param [RTCPeerConnection] pc A native peer connection object
60255
60295
  //
@@ -60344,7 +60384,7 @@ module.exports = function PeerConnectionChannels(pc) {
60344
60384
  };
60345
60385
 
60346
60386
  /***/ }),
60347
- /* 613 */
60387
+ /* 614 */
60348
60388
  /***/ (function(module, exports, __webpack_require__) {
60349
60389
 
60350
60390
  "use strict";
@@ -60512,7 +60552,7 @@ module.exports = function DataChannel(dataChannel) {
60512
60552
  };
60513
60553
 
60514
60554
  /***/ }),
60515
- /* 614 */
60555
+ /* 615 */
60516
60556
  /***/ (function(module, exports, __webpack_require__) {
60517
60557
 
60518
60558
  "use strict";
@@ -60577,7 +60617,7 @@ module.exports = function subscribeProcessor(_ref) {
60577
60617
  };
60578
60618
 
60579
60619
  /***/ }),
60580
- /* 615 */
60620
+ /* 616 */
60581
60621
  /***/ (function(module, exports, __webpack_require__) {
60582
60622
 
60583
60623
  "use strict";
@@ -60651,7 +60691,7 @@ module.exports = {
60651
60691
  };
60652
60692
 
60653
60693
  /***/ }),
60654
- /* 616 */
60694
+ /* 617 */
60655
60695
  /***/ (function(module, exports, __webpack_require__) {
60656
60696
 
60657
60697
  "use strict";
@@ -60683,7 +60723,7 @@ const sdpHelpers = __webpack_require__(50);
60683
60723
 
60684
60724
  const getProtocolFromPriority = __webpack_require__(279);
60685
60725
 
60686
- const getLocalRelayProtocol = __webpack_require__(617);
60726
+ const getLocalRelayProtocol = __webpack_require__(618);
60687
60727
 
60688
60728
  const shouldUseStandardGetStats = __webpack_require__(102)();
60689
60729
 
@@ -61116,7 +61156,7 @@ function extendStats(stats, isPublisher) {
61116
61156
  }
61117
61157
 
61118
61158
  /***/ }),
61119
- /* 617 */
61159
+ /* 618 */
61120
61160
  /***/ (function(module, exports, __webpack_require__) {
61121
61161
 
61122
61162
  "use strict";
@@ -61157,7 +61197,7 @@ module.exports = (selectedCandidatePairId, stats) => {
61157
61197
  };
61158
61198
 
61159
61199
  /***/ }),
61160
- /* 618 */
61200
+ /* 619 */
61161
61201
  /***/ (function(module, exports, __webpack_require__) {
61162
61202
 
61163
61203
  "use strict";
@@ -61198,11 +61238,11 @@ let TruthyChangeCounter = /*#__PURE__*/function () {
61198
61238
  exports.default = TruthyChangeCounter;
61199
61239
 
61200
61240
  /***/ }),
61201
- /* 619 */
61241
+ /* 620 */
61202
61242
  /***/ (function(module, exports, __webpack_require__) {
61203
61243
 
61204
61244
  var isObject = __webpack_require__(9),
61205
- now = __webpack_require__(620),
61245
+ now = __webpack_require__(621),
61206
61246
  toNumber = __webpack_require__(228);
61207
61247
 
61208
61248
  /** Error message constants. */
@@ -61395,7 +61435,7 @@ module.exports = debounce;
61395
61435
 
61396
61436
 
61397
61437
  /***/ }),
61398
- /* 620 */
61438
+ /* 621 */
61399
61439
  /***/ (function(module, exports, __webpack_require__) {
61400
61440
 
61401
61441
  var root = __webpack_require__(14);
@@ -61424,7 +61464,7 @@ module.exports = now;
61424
61464
 
61425
61465
 
61426
61466
  /***/ }),
61427
- /* 621 */
61467
+ /* 622 */
61428
61468
  /***/ (function(module, exports, __webpack_require__) {
61429
61469
 
61430
61470
  "use strict";
@@ -61449,7 +61489,7 @@ exports.check = function (deps) {
61449
61489
  exports.once = once(() => exports.check());
61450
61490
 
61451
61491
  /***/ }),
61452
- /* 622 */
61492
+ /* 623 */
61453
61493
  /***/ (function(module, exports, __webpack_require__) {
61454
61494
 
61455
61495
  "use strict";
@@ -61580,7 +61620,7 @@ module.exports = function Archiving(options) {
61580
61620
  };
61581
61621
 
61582
61622
  /***/ }),
61583
- /* 623 */
61623
+ /* 624 */
61584
61624
  /***/ (function(module, exports, __webpack_require__) {
61585
61625
 
61586
61626
  "use strict";
@@ -61596,7 +61636,7 @@ module.exports = function (deps) {
61596
61636
  };
61597
61637
 
61598
61638
  /***/ }),
61599
- /* 624 */
61639
+ /* 625 */
61600
61640
  /***/ (function(module, exports, __webpack_require__) {
61601
61641
 
61602
61642
  "use strict";
@@ -61613,9 +61653,9 @@ const isObject = __webpack_require__(9);
61613
61653
 
61614
61654
  const promiseDelay = __webpack_require__(106);
61615
61655
 
61616
- const trackUsage = __webpack_require__(625);
61656
+ const trackUsage = __webpack_require__(626);
61617
61657
 
61618
- const AnalyticsHelper = __webpack_require__(34);
61658
+ const AnalyticsHelper = __webpack_require__(27);
61619
61659
 
61620
61660
  const OTErrorClass = __webpack_require__(21);
61621
61661
 
@@ -62003,7 +62043,7 @@ module.exports = function getUserMediaFactory(deps) {
62003
62043
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
62004
62044
 
62005
62045
  /***/ }),
62006
- /* 625 */
62046
+ /* 626 */
62007
62047
  /***/ (function(module, exports, __webpack_require__) {
62008
62048
 
62009
62049
  "use strict";
@@ -62050,7 +62090,7 @@ module.exports = function (_temp) {
62050
62090
  };
62051
62091
 
62052
62092
  /***/ }),
62053
- /* 626 */
62093
+ /* 627 */
62054
62094
  /***/ (function(module, exports, __webpack_require__) {
62055
62095
 
62056
62096
  "use strict";
@@ -62058,7 +62098,7 @@ module.exports = function (_temp) {
62058
62098
 
62059
62099
  const env = __webpack_require__(2);
62060
62100
 
62061
- const _require = __webpack_require__(627),
62101
+ const _require = __webpack_require__(628),
62062
62102
  isCallbackBasedAPI = _require.isCallbackBasedAPI;
62063
62103
 
62064
62104
  let isElectronScreenSharingSource = __webpack_require__(265);
@@ -62184,7 +62224,7 @@ module.exports = function electronExtensionHelperFactory(deps) {
62184
62224
  };
62185
62225
 
62186
62226
  /***/ }),
62187
- /* 627 */
62227
+ /* 628 */
62188
62228
  /***/ (function(module, exports, __webpack_require__) {
62189
62229
 
62190
62230
  "use strict";
@@ -62202,7 +62242,7 @@ module.exports = {
62202
62242
  };
62203
62243
 
62204
62244
  /***/ }),
62205
- /* 628 */
62245
+ /* 629 */
62206
62246
  /***/ (function(module, exports, __webpack_require__) {
62207
62247
 
62208
62248
  "use strict";
@@ -62270,7 +62310,7 @@ module.exports = {
62270
62310
  };
62271
62311
 
62272
62312
  /***/ }),
62273
- /* 629 */
62313
+ /* 630 */
62274
62314
  /***/ (function(module, exports, __webpack_require__) {
62275
62315
 
62276
62316
  "use strict";
@@ -62284,7 +62324,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(13));
62284
62324
 
62285
62325
  var _extends2 = _interopRequireDefault(__webpack_require__(25));
62286
62326
 
62287
- const _require = __webpack_require__(630),
62327
+ const _require = __webpack_require__(631),
62288
62328
  normaliseOptions = _require.normaliseOptions;
62289
62329
 
62290
62330
  const _require2 = __webpack_require__(288),
@@ -62340,7 +62380,7 @@ module.exports = function processPubOptionsFactory(deps) {
62340
62380
 
62341
62381
  const env = deps.env || defaultEnv;
62342
62382
 
62343
- const usingOptionalMandatoryStyle = __webpack_require__(631)({
62383
+ const usingOptionalMandatoryStyle = __webpack_require__(632)({
62344
62384
  navigator: navigator || {}
62345
62385
  });
62346
62386
 
@@ -62685,7 +62725,7 @@ module.exports = function processPubOptionsFactory(deps) {
62685
62725
  };
62686
62726
 
62687
62727
  /***/ }),
62688
- /* 630 */
62728
+ /* 631 */
62689
62729
  /***/ (function(module, exports, __webpack_require__) {
62690
62730
 
62691
62731
  "use strict";
@@ -62742,7 +62782,7 @@ const normaliseOptions = (originalOptions, logPrefix, logging) => {
62742
62782
  exports.normaliseOptions = normaliseOptions;
62743
62783
 
62744
62784
  /***/ }),
62745
- /* 631 */
62785
+ /* 632 */
62746
62786
  /***/ (function(module, exports, __webpack_require__) {
62747
62787
 
62748
62788
  "use strict";
@@ -62777,7 +62817,7 @@ module.exports = function usingOptionalMandatoryStyleFactory(_temp) {
62777
62817
  };
62778
62818
 
62779
62819
  /***/ }),
62780
- /* 632 */
62820
+ /* 633 */
62781
62821
  /***/ (function(module, exports, __webpack_require__) {
62782
62822
 
62783
62823
  "use strict";
@@ -62871,7 +62911,7 @@ module.exports = function getUserMediaFactory(deps) {
62871
62911
  };
62872
62912
 
62873
62913
  /***/ }),
62874
- /* 633 */
62914
+ /* 634 */
62875
62915
  /***/ (function(module, exports, __webpack_require__) {
62876
62916
 
62877
62917
  "use strict";
@@ -62896,7 +62936,7 @@ module.exports = function destroyObj(name, obj) {
62896
62936
  };
62897
62937
 
62898
62938
  /***/ }),
62899
- /* 634 */
62939
+ /* 635 */
62900
62940
  /***/ (function(module, exports, __webpack_require__) {
62901
62941
 
62902
62942
  "use strict";
@@ -62958,7 +62998,7 @@ module.exports = el => {
62958
62998
  };
62959
62999
 
62960
63000
  /***/ }),
62961
- /* 635 */
63001
+ /* 636 */
62962
63002
  /***/ (function(module, exports, __webpack_require__) {
62963
63003
 
62964
63004
  "use strict";
@@ -63006,7 +63046,7 @@ const isVisible = domElement => {
63006
63046
  module.exports = domElement => isDomElement(domElement) && isInViewPort(domElement) && isVisible(domElement);
63007
63047
 
63008
63048
  /***/ }),
63009
- /* 636 */
63049
+ /* 637 */
63010
63050
  /***/ (function(module, exports, __webpack_require__) {
63011
63051
 
63012
63052
  "use strict";
@@ -63089,7 +63129,7 @@ module.exports = function canBeOrientatedMixin(self, getDomElementCallback, init
63089
63129
  };
63090
63130
 
63091
63131
  /***/ }),
63092
- /* 637 */
63132
+ /* 638 */
63093
63133
  /***/ (function(module, exports, __webpack_require__) {
63094
63134
 
63095
63135
  "use strict";
@@ -63174,12 +63214,12 @@ module.exports = function listenForTracksEndedFactory() {
63174
63214
  };
63175
63215
 
63176
63216
  /***/ }),
63177
- /* 638 */
63217
+ /* 639 */
63178
63218
  /***/ (function(module, exports, __webpack_require__) {
63179
63219
 
63180
63220
  var baseAssignValue = __webpack_require__(63),
63181
63221
  baseForOwn = __webpack_require__(99),
63182
- baseIteratee = __webpack_require__(33);
63222
+ baseIteratee = __webpack_require__(34);
63183
63223
 
63184
63224
  /**
63185
63225
  * Creates an object with the same keys as `object` and values generated
@@ -63223,7 +63263,7 @@ module.exports = mapValues;
63223
63263
 
63224
63264
 
63225
63265
  /***/ }),
63226
- /* 639 */
63266
+ /* 640 */
63227
63267
  /***/ (function(module, exports, __webpack_require__) {
63228
63268
 
63229
63269
  "use strict";
@@ -63266,7 +63306,7 @@ module.exports = function watchAudioAcquisition(getStats, warningCb) {
63266
63306
  };
63267
63307
 
63268
63308
  /***/ }),
63269
- /* 640 */
63309
+ /* 641 */
63270
63310
  /***/ (function(module, exports, __webpack_require__) {
63271
63311
 
63272
63312
  "use strict";
@@ -63362,14 +63402,14 @@ module.exports = function watchSubscriberAudio(getStats, warningCb, disableAudio
63362
63402
  };
63363
63403
 
63364
63404
  /***/ }),
63365
- /* 641 */
63405
+ /* 642 */
63366
63406
  /***/ (function(module, exports, __webpack_require__) {
63367
63407
 
63368
63408
  "use strict";
63369
63409
  /* WEBPACK VAR INJECTION */(function(Promise) {
63370
63410
 
63371
63411
  /* eslint-disable global-require */
63372
- const Analytics = __webpack_require__(34);
63412
+ const Analytics = __webpack_require__(27);
63373
63413
 
63374
63414
  const defaultAnalytics = new Analytics();
63375
63415
 
@@ -63440,7 +63480,7 @@ module.exports = function reportIssueFactory(deps) {
63440
63480
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
63441
63481
 
63442
63482
  /***/ }),
63443
- /* 642 */
63483
+ /* 643 */
63444
63484
  /***/ (function(module, exports, __webpack_require__) {
63445
63485
 
63446
63486
  "use strict";
@@ -63468,7 +63508,7 @@ module.exports = (_ref) => {
63468
63508
  };
63469
63509
 
63470
63510
  /***/ }),
63471
- /* 643 */
63511
+ /* 644 */
63472
63512
  /***/ (function(module, exports, __webpack_require__) {
63473
63513
 
63474
63514
  "use strict";
@@ -63517,7 +63557,7 @@ module.exports = function versionGreaterThan(version1, version2) {
63517
63557
  };
63518
63558
 
63519
63559
  /***/ }),
63520
- /* 644 */
63560
+ /* 645 */
63521
63561
  /***/ (function(module, exports, __webpack_require__) {
63522
63562
 
63523
63563
  "use strict";
@@ -63655,7 +63695,7 @@ Cancellation.CANCELED = new Cancellation();
63655
63695
  Cancellation.CANCELED.internalIsCanceled = true;
63656
63696
 
63657
63697
  /***/ }),
63658
- /* 645 */
63698
+ /* 646 */
63659
63699
  /***/ (function(module, exports, __webpack_require__) {
63660
63700
 
63661
63701
  "use strict";
@@ -63699,7 +63739,7 @@ module.exports = waitForCorrectResolution;
63699
63739
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
63700
63740
 
63701
63741
  /***/ }),
63702
- /* 646 */
63742
+ /* 647 */
63703
63743
  /***/ (function(module, exports, __webpack_require__) {
63704
63744
 
63705
63745
  "use strict";
@@ -63740,7 +63780,7 @@ module.exports = waitForVideoToBePlaying;
63740
63780
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
63741
63781
 
63742
63782
  /***/ }),
63743
- /* 647 */
63783
+ /* 648 */
63744
63784
  /***/ (function(module, exports, __webpack_require__) {
63745
63785
 
63746
63786
  "use strict";
@@ -63783,7 +63823,7 @@ container) {
63783
63823
  };
63784
63824
 
63785
63825
  /***/ }),
63786
- /* 648 */
63826
+ /* 649 */
63787
63827
  /***/ (function(module, exports, __webpack_require__) {
63788
63828
 
63789
63829
  "use strict";
@@ -63855,7 +63895,7 @@ module.exports = function getOrCreateContainer(elementOrDomId, insertMode) {
63855
63895
  };
63856
63896
 
63857
63897
  /***/ }),
63858
- /* 649 */
63898
+ /* 650 */
63859
63899
  /***/ (function(module, exports, __webpack_require__) {
63860
63900
 
63861
63901
  "use strict";
@@ -63874,7 +63914,7 @@ module.exports = function ensureCSSUnit(measurement, defaultUnit) {
63874
63914
  };
63875
63915
 
63876
63916
  /***/ }),
63877
- /* 650 */
63917
+ /* 651 */
63878
63918
  /***/ (function(module, exports, __webpack_require__) {
63879
63919
 
63880
63920
  "use strict";
@@ -63916,7 +63956,7 @@ module.exports = function waitUntil(predicate, _temp) {
63916
63956
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
63917
63957
 
63918
63958
  /***/ }),
63919
- /* 651 */
63959
+ /* 652 */
63920
63960
  /***/ (function(module, exports, __webpack_require__) {
63921
63961
 
63922
63962
  "use strict";
@@ -63933,7 +63973,7 @@ module.exports = err => {
63933
63973
  return otError(Errors.STREAM_NOT_FOUND, new Error('stream not found'), ExceptionCodes.UNABLE_TO_SUBSCRIBE);
63934
63974
  }
63935
63975
 
63936
- if (String(err.code) === '409') {
63976
+ if (String(err.code) === '409' && err.message === 'streamLimitExceeded') {
63937
63977
  return otError(Errors.STREAM_LIMIT_EXCEEDED, new Error('The limit for concurrent streams in the session has been reached'), ExceptionCodes.STREAM_LIMIT_EXCEEDED);
63938
63978
  }
63939
63979
 
@@ -63941,7 +63981,7 @@ module.exports = err => {
63941
63981
  };
63942
63982
 
63943
63983
  /***/ }),
63944
- /* 652 */
63984
+ /* 653 */
63945
63985
  /***/ (function(module, exports, __webpack_require__) {
63946
63986
 
63947
63987
  "use strict";
@@ -64011,7 +64051,7 @@ module.exports = (_ref) => {
64011
64051
  };
64012
64052
 
64013
64053
  /***/ }),
64014
- /* 653 */
64054
+ /* 654 */
64015
64055
  /***/ (function(module, exports, __webpack_require__) {
64016
64056
 
64017
64057
  "use strict";
@@ -64022,7 +64062,7 @@ const GetAudioLevelSampler = __webpack_require__(253);
64022
64062
 
64023
64063
  const WebAudioAudioLevelSampler = __webpack_require__(145);
64024
64064
 
64025
- const hasSynchronizationSourcesCapability = __webpack_require__(654);
64065
+ const hasSynchronizationSourcesCapability = __webpack_require__(655);
64026
64066
 
64027
64067
  const hasAudioOutputLevelStatCapability = __webpack_require__(301);
64028
64068
 
@@ -64030,7 +64070,7 @@ const hasRemoteStreamsWithWebAudio = __webpack_require__(302);
64030
64070
 
64031
64071
  const getAudioContext = __webpack_require__(158)();
64032
64072
 
64033
- const isAudioContext = __webpack_require__(655);
64073
+ const isAudioContext = __webpack_require__(656);
64034
64074
 
64035
64075
  const logging = __webpack_require__(1)('Subscriber');
64036
64076
 
@@ -64068,7 +64108,7 @@ module.exports = function (peerConnection, deps) {
64068
64108
  };
64069
64109
 
64070
64110
  /***/ }),
64071
- /* 654 */
64111
+ /* 655 */
64072
64112
  /***/ (function(module, exports, __webpack_require__) {
64073
64113
 
64074
64114
  "use strict";
@@ -64092,7 +64132,7 @@ module.exports = function (deps) {
64092
64132
  };
64093
64133
 
64094
64134
  /***/ }),
64095
- /* 655 */
64135
+ /* 656 */
64096
64136
  /***/ (function(module, exports, __webpack_require__) {
64097
64137
 
64098
64138
  "use strict";
@@ -64101,7 +64141,7 @@ module.exports = function (deps) {
64101
64141
  module.exports = audioContext => (typeof window !== undefined ? window : global).AudioContext && audioContext instanceof (typeof window !== undefined ? window : global).AudioContext || (typeof window !== undefined ? window : global).webkitAudioContext && audioContext instanceof (typeof window !== undefined ? window : global).webkitAudioContext;
64102
64142
 
64103
64143
  /***/ }),
64104
- /* 656 */
64144
+ /* 657 */
64105
64145
  /***/ (function(module, exports, __webpack_require__) {
64106
64146
 
64107
64147
  "use strict";
@@ -64164,7 +64204,7 @@ module.exports = function VideoDisabledIndicator(options) {
64164
64204
  };
64165
64205
 
64166
64206
  /***/ }),
64167
- /* 657 */
64207
+ /* 658 */
64168
64208
  /***/ (function(module, exports, __webpack_require__) {
64169
64209
 
64170
64210
  "use strict";
@@ -64214,7 +64254,7 @@ module.exports = function AudioBlockedIndicator(options) {
64214
64254
  };
64215
64255
 
64216
64256
  /***/ }),
64217
- /* 658 */
64257
+ /* 659 */
64218
64258
  /***/ (function(module, exports, __webpack_require__) {
64219
64259
 
64220
64260
  "use strict";
@@ -64261,7 +64301,7 @@ module.exports = function VideoUnsupportedIndicator(options) {
64261
64301
  };
64262
64302
 
64263
64303
  /***/ }),
64264
- /* 659 */
64304
+ /* 660 */
64265
64305
  /***/ (function(module, exports, __webpack_require__) {
64266
64306
 
64267
64307
  "use strict";
@@ -64347,7 +64387,7 @@ const watchFrameRate = function watchFrameRate(getStats, delay) {
64347
64387
  module.exports = watchFrameRate;
64348
64388
 
64349
64389
  /***/ }),
64350
- /* 660 */
64390
+ /* 661 */
64351
64391
  /***/ (function(module, exports, __webpack_require__) {
64352
64392
 
64353
64393
  "use strict";
@@ -64376,7 +64416,7 @@ module.exports = (_ref) => {
64376
64416
  };
64377
64417
 
64378
64418
  /***/ }),
64379
- /* 661 */
64419
+ /* 662 */
64380
64420
  /***/ (function(module, exports, __webpack_require__) {
64381
64421
 
64382
64422
  "use strict";
@@ -64420,7 +64460,7 @@ module.exports = (_ref) => {
64420
64460
  };
64421
64461
 
64422
64462
  /***/ }),
64423
- /* 662 */
64463
+ /* 663 */
64424
64464
  /***/ (function(module, exports, __webpack_require__) {
64425
64465
 
64426
64466
  "use strict";
@@ -64449,10 +64489,10 @@ module.exports = (_ref) => {
64449
64489
  };
64450
64490
 
64451
64491
  /***/ }),
64452
- /* 663 */
64492
+ /* 664 */
64453
64493
  /***/ (function(module, exports, __webpack_require__) {
64454
64494
 
64455
- var createCompounder = __webpack_require__(664),
64495
+ var createCompounder = __webpack_require__(665),
64456
64496
  upperFirst = __webpack_require__(259);
64457
64497
 
64458
64498
  /**
@@ -64484,12 +64524,12 @@ module.exports = startCase;
64484
64524
 
64485
64525
 
64486
64526
  /***/ }),
64487
- /* 664 */
64527
+ /* 665 */
64488
64528
  /***/ (function(module, exports, __webpack_require__) {
64489
64529
 
64490
- var arrayReduce = __webpack_require__(665),
64491
- deburr = __webpack_require__(666),
64492
- words = __webpack_require__(669);
64530
+ var arrayReduce = __webpack_require__(666),
64531
+ deburr = __webpack_require__(667),
64532
+ words = __webpack_require__(670);
64493
64533
 
64494
64534
  /** Used to compose unicode capture groups. */
64495
64535
  var rsApos = "['\u2019]";
@@ -64514,7 +64554,7 @@ module.exports = createCompounder;
64514
64554
 
64515
64555
 
64516
64556
  /***/ }),
64517
- /* 665 */
64557
+ /* 666 */
64518
64558
  /***/ (function(module, exports) {
64519
64559
 
64520
64560
  /**
@@ -64546,10 +64586,10 @@ module.exports = arrayReduce;
64546
64586
 
64547
64587
 
64548
64588
  /***/ }),
64549
- /* 666 */
64589
+ /* 667 */
64550
64590
  /***/ (function(module, exports, __webpack_require__) {
64551
64591
 
64552
- var deburrLetter = __webpack_require__(667),
64592
+ var deburrLetter = __webpack_require__(668),
64553
64593
  toString = __webpack_require__(58);
64554
64594
 
64555
64595
  /** Used to match Latin Unicode letters (excluding mathematical operators). */
@@ -64597,10 +64637,10 @@ module.exports = deburr;
64597
64637
 
64598
64638
 
64599
64639
  /***/ }),
64600
- /* 667 */
64640
+ /* 668 */
64601
64641
  /***/ (function(module, exports, __webpack_require__) {
64602
64642
 
64603
- var basePropertyOf = __webpack_require__(668);
64643
+ var basePropertyOf = __webpack_require__(669);
64604
64644
 
64605
64645
  /** Used to map Latin Unicode letters to basic Latin letters. */
64606
64646
  var deburredLetters = {
@@ -64674,7 +64714,7 @@ module.exports = deburrLetter;
64674
64714
 
64675
64715
 
64676
64716
  /***/ }),
64677
- /* 668 */
64717
+ /* 669 */
64678
64718
  /***/ (function(module, exports) {
64679
64719
 
64680
64720
  /**
@@ -64694,13 +64734,13 @@ module.exports = basePropertyOf;
64694
64734
 
64695
64735
 
64696
64736
  /***/ }),
64697
- /* 669 */
64737
+ /* 670 */
64698
64738
  /***/ (function(module, exports, __webpack_require__) {
64699
64739
 
64700
- var asciiWords = __webpack_require__(670),
64701
- hasUnicodeWord = __webpack_require__(671),
64740
+ var asciiWords = __webpack_require__(671),
64741
+ hasUnicodeWord = __webpack_require__(672),
64702
64742
  toString = __webpack_require__(58),
64703
- unicodeWords = __webpack_require__(672);
64743
+ unicodeWords = __webpack_require__(673);
64704
64744
 
64705
64745
  /**
64706
64746
  * Splits `string` into an array of its words.
@@ -64735,7 +64775,7 @@ module.exports = words;
64735
64775
 
64736
64776
 
64737
64777
  /***/ }),
64738
- /* 670 */
64778
+ /* 671 */
64739
64779
  /***/ (function(module, exports) {
64740
64780
 
64741
64781
  /** Used to match words composed of alphanumeric characters. */
@@ -64756,7 +64796,7 @@ module.exports = asciiWords;
64756
64796
 
64757
64797
 
64758
64798
  /***/ }),
64759
- /* 671 */
64799
+ /* 672 */
64760
64800
  /***/ (function(module, exports) {
64761
64801
 
64762
64802
  /** Used to detect strings that need a more robust regexp to match words. */
@@ -64777,7 +64817,7 @@ module.exports = hasUnicodeWord;
64777
64817
 
64778
64818
 
64779
64819
  /***/ }),
64780
- /* 672 */
64820
+ /* 673 */
64781
64821
  /***/ (function(module, exports) {
64782
64822
 
64783
64823
  /** Used to compose unicode character classes. */
@@ -64852,7 +64892,7 @@ module.exports = unicodeWords;
64852
64892
 
64853
64893
 
64854
64894
  /***/ }),
64855
- /* 673 */
64895
+ /* 674 */
64856
64896
  /***/ (function(module, exports, __webpack_require__) {
64857
64897
 
64858
64898
  "use strict";
@@ -64872,7 +64912,7 @@ module.exports = (peerConnection, activeState) => {
64872
64912
  };
64873
64913
 
64874
64914
  /***/ }),
64875
- /* 674 */
64915
+ /* 675 */
64876
64916
  /***/ (function(module, exports, __webpack_require__) {
64877
64917
 
64878
64918
  "use strict";
@@ -64884,7 +64924,7 @@ const pick = __webpack_require__(47);
64884
64924
  module.exports = x => pick(x, ['audioDeviceId', 'audioFallbackEnabled', 'audioSource', 'channels', 'classNames', 'constraints', 'disableAudioProcessing', 'echoCancellation', 'noiseSuppression', 'autoGainControl', 'enableRenegotiation', 'enableStereo', 'facingMode', 'fitMode', 'frameRate', 'height', 'insertDefaultUI', 'insertMode', 'audioBitrate', 'maxResolution', 'minVideoBitrate', 'mirror', 'name', 'publishAudio', 'publishVideo', 'resolution', 'showControls', 'style', 'videoContentHint', 'videoDeviceId', 'videoDimensions', 'videoSource', 'width']);
64885
64925
 
64886
64926
  /***/ }),
64887
- /* 675 */
64927
+ /* 676 */
64888
64928
  /***/ (function(module, exports, __webpack_require__) {
64889
64929
 
64890
64930
  "use strict";
@@ -64951,7 +64991,7 @@ module.exports = (_ref) => {
64951
64991
  };
64952
64992
 
64953
64993
  /***/ }),
64954
- /* 676 */
64994
+ /* 677 */
64955
64995
  /***/ (function(module, exports, __webpack_require__) {
64956
64996
 
64957
64997
  "use strict";
@@ -65019,7 +65059,7 @@ module.exports = function blockCallsUntilComplete(fn) {
65019
65059
  };
65020
65060
 
65021
65061
  /***/ }),
65022
- /* 677 */
65062
+ /* 678 */
65023
65063
  /***/ (function(module, exports, __webpack_require__) {
65024
65064
 
65025
65065
  "use strict";
@@ -65050,7 +65090,7 @@ module.exports = function createCanvasVideoTrack(dimensions) {
65050
65090
  };
65051
65091
 
65052
65092
  /***/ }),
65053
- /* 678 */
65093
+ /* 679 */
65054
65094
  /***/ (function(module, exports, __webpack_require__) {
65055
65095
 
65056
65096
  "use strict";
@@ -65103,7 +65143,7 @@ module.exports = (stream, videoDevices) => {
65103
65143
  };
65104
65144
 
65105
65145
  /***/ }),
65106
- /* 679 */
65146
+ /* 680 */
65107
65147
  /***/ (function(module, exports, __webpack_require__) {
65108
65148
 
65109
65149
  "use strict";
@@ -65123,7 +65163,7 @@ module.exports = error => {
65123
65163
  };
65124
65164
 
65125
65165
  /***/ }),
65126
- /* 680 */
65166
+ /* 681 */
65127
65167
  /***/ (function(module, exports, __webpack_require__) {
65128
65168
 
65129
65169
  "use strict";
@@ -65134,12 +65174,28 @@ const isNullOrFalse = value => value === null || value === false;
65134
65174
  module.exports = isNullOrFalse;
65135
65175
 
65136
65176
  /***/ }),
65137
- /* 681 */
65177
+ /* 682 */
65178
+ /***/ (function(module, exports, __webpack_require__) {
65179
+
65180
+ "use strict";
65181
+
65182
+
65183
+ module.exports = properties => {
65184
+ var _properties$videoSour;
65185
+
65186
+ const isCanvas = !!(properties && ((_properties$videoSour = properties.videoSource) == null ? void 0 : _properties$videoSour.canvas));
65187
+ const hasVideoContentHint = !!(properties && 'videoContentHint' in properties); // eslint-disable-next-line no-param-reassign
65188
+
65189
+ if (isCanvas && !hasVideoContentHint) properties.videoContentHint = 'detail';
65190
+ };
65191
+
65192
+ /***/ }),
65193
+ /* 683 */
65138
65194
  /***/ (function(module, exports, __webpack_require__) {
65139
65195
 
65140
- var baseFindKey = __webpack_require__(682),
65196
+ var baseFindKey = __webpack_require__(684),
65141
65197
  baseForOwn = __webpack_require__(99),
65142
- baseIteratee = __webpack_require__(33);
65198
+ baseIteratee = __webpack_require__(34);
65143
65199
 
65144
65200
  /**
65145
65201
  * This method is like `_.find` except that it returns the key of the first
@@ -65184,7 +65240,7 @@ module.exports = findKey;
65184
65240
 
65185
65241
 
65186
65242
  /***/ }),
65187
- /* 682 */
65243
+ /* 684 */
65188
65244
  /***/ (function(module, exports) {
65189
65245
 
65190
65246
  /**
@@ -65213,7 +65269,7 @@ module.exports = baseFindKey;
65213
65269
 
65214
65270
 
65215
65271
  /***/ }),
65216
- /* 683 */
65272
+ /* 685 */
65217
65273
  /***/ (function(module, exports, __webpack_require__) {
65218
65274
 
65219
65275
  "use strict";
@@ -65288,7 +65344,7 @@ module.exports = (_ref) => {
65288
65344
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
65289
65345
 
65290
65346
  /***/ }),
65291
- /* 684 */
65347
+ /* 686 */
65292
65348
  /***/ (function(module, exports, __webpack_require__) {
65293
65349
 
65294
65350
  "use strict";
@@ -65329,7 +65385,7 @@ module.exports = (_ref) => {
65329
65385
  };
65330
65386
 
65331
65387
  /***/ }),
65332
- /* 685 */
65388
+ /* 687 */
65333
65389
  /***/ (function(module, exports, __webpack_require__) {
65334
65390
 
65335
65391
  "use strict";
@@ -65360,7 +65416,7 @@ module.exports = function convertAnvilErrorCode(code) {
65360
65416
  };
65361
65417
 
65362
65418
  /***/ }),
65363
- /* 686 */
65419
+ /* 688 */
65364
65420
  /***/ (function(module, exports, __webpack_require__) {
65365
65421
 
65366
65422
  "use strict";
@@ -65398,7 +65454,7 @@ module.exports = {
65398
65454
  };
65399
65455
 
65400
65456
  /***/ }),
65401
- /* 687 */
65457
+ /* 689 */
65402
65458
  /***/ (function(module, exports, __webpack_require__) {
65403
65459
 
65404
65460
  "use strict";
@@ -65421,7 +65477,7 @@ var _uuid = _interopRequireDefault(__webpack_require__(19));
65421
65477
 
65422
65478
  var _serializeMessage = _interopRequireDefault(__webpack_require__(312));
65423
65479
 
65424
- var _defaultRumorSocket = _interopRequireDefault(__webpack_require__(688));
65480
+ var _defaultRumorSocket = _interopRequireDefault(__webpack_require__(690));
65425
65481
 
65426
65482
  // @todo enable the following disabled rules see OPENTOK-31136 for more info
65427
65483
 
@@ -65441,7 +65497,7 @@ function RaptorSocketFactory(deps) {
65441
65497
 
65442
65498
  const hasIceRestartsCapability = deps.hasIceRestartsCapability || __webpack_require__(311);
65443
65499
 
65444
- const hasRenegotiationCapability = deps.hasRenegotiationCapability || __webpack_require__(704);
65500
+ const hasRenegotiationCapability = deps.hasRenegotiationCapability || __webpack_require__(706);
65445
65501
 
65446
65502
  const logging = deps.logging || __webpack_require__(1)('RaptorSocket');
65447
65503
 
@@ -65453,7 +65509,7 @@ function RaptorSocketFactory(deps) {
65453
65509
 
65454
65510
  const Signal = deps.Signal || __webpack_require__(316);
65455
65511
 
65456
- const SignalError = deps.SignalError || __webpack_require__(709); // The Dispatcher bit is purely to make testing simpler, it defaults to a new Dispatcher so in
65512
+ const SignalError = deps.SignalError || __webpack_require__(711); // The Dispatcher bit is purely to make testing simpler, it defaults to a new Dispatcher so in
65457
65513
  // normal operation you would omit it.
65458
65514
 
65459
65515
 
@@ -65924,7 +65980,7 @@ function RaptorSocketFactory(deps) {
65924
65980
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(0)))
65925
65981
 
65926
65982
  /***/ }),
65927
- /* 688 */
65983
+ /* 690 */
65928
65984
  /***/ (function(module, exports, __webpack_require__) {
65929
65985
 
65930
65986
  "use strict";
@@ -65937,15 +65993,15 @@ exports.default = defaultRumorSocket;
65937
65993
 
65938
65994
  var _events = _interopRequireDefault(__webpack_require__(41));
65939
65995
 
65940
- var _createCounter = _interopRequireDefault(__webpack_require__(689));
65996
+ var _createCounter = _interopRequireDefault(__webpack_require__(691));
65941
65997
 
65942
65998
  var _log = _interopRequireDefault(__webpack_require__(1));
65943
65999
 
65944
- var _ReconnectableSocket = _interopRequireDefault(__webpack_require__(690));
66000
+ var _ReconnectableSocket = _interopRequireDefault(__webpack_require__(692));
65945
66001
 
65946
- var _RumorSocket = _interopRequireDefault(__webpack_require__(695));
66002
+ var _RumorSocket = _interopRequireDefault(__webpack_require__(697));
65947
66003
 
65948
- var _WebSocket = _interopRequireDefault(__webpack_require__(700));
66004
+ var _WebSocket = _interopRequireDefault(__webpack_require__(702));
65949
66005
 
65950
66006
  /* eslint-disable no-underscore-dangle */
65951
66007
  function defaultRumorSocket(_temp) {
@@ -65970,7 +66026,7 @@ function defaultRumorSocket(_temp) {
65970
66026
  }
65971
66027
 
65972
66028
  /***/ }),
65973
- /* 689 */
66029
+ /* 691 */
65974
66030
  /***/ (function(module, exports, __webpack_require__) {
65975
66031
 
65976
66032
  "use strict";
@@ -65988,7 +66044,7 @@ function createCounter() {
65988
66044
  }
65989
66045
 
65990
66046
  /***/ }),
65991
- /* 690 */
66047
+ /* 692 */
65992
66048
  /***/ (function(module, exports, __webpack_require__) {
65993
66049
 
65994
66050
  "use strict";
@@ -66015,13 +66071,13 @@ var _logEvents = _interopRequireDefault(__webpack_require__(313));
66015
66071
 
66016
66072
  var _socketCloseCodes = __webpack_require__(76);
66017
66073
 
66018
- var _Timer = _interopRequireDefault(__webpack_require__(691));
66074
+ var _Timer = _interopRequireDefault(__webpack_require__(693));
66019
66075
 
66020
66076
  var _eventHelper = _interopRequireDefault(__webpack_require__(62));
66021
66077
 
66022
- var _createReadyStateMachine = _interopRequireDefault(__webpack_require__(692));
66078
+ var _createReadyStateMachine = _interopRequireDefault(__webpack_require__(694));
66023
66079
 
66024
- var _drainWebSocket = _interopRequireDefault(__webpack_require__(694));
66080
+ var _drainWebSocket = _interopRequireDefault(__webpack_require__(696));
66025
66081
 
66026
66082
  /* eslint-disable no-underscore-dangle, no-constant-condition */
66027
66083
  const removeReturnVal = fn => function () {
@@ -66471,7 +66527,7 @@ var _default = (_ref) => {
66471
66527
  exports.default = _default;
66472
66528
 
66473
66529
  /***/ }),
66474
- /* 691 */
66530
+ /* 693 */
66475
66531
  /***/ (function(module, exports, __webpack_require__) {
66476
66532
 
66477
66533
  "use strict";
@@ -66538,7 +66594,7 @@ let Timer = /*#__PURE__*/function () {
66538
66594
  exports.default = Timer;
66539
66595
 
66540
66596
  /***/ }),
66541
- /* 692 */
66597
+ /* 694 */
66542
66598
  /***/ (function(module, exports, __webpack_require__) {
66543
66599
 
66544
66600
  "use strict";
@@ -66551,7 +66607,7 @@ exports.default = void 0;
66551
66607
 
66552
66608
  var _javascriptStateMachine = _interopRequireDefault(__webpack_require__(305));
66553
66609
 
66554
- var _elapsed = _interopRequireDefault(__webpack_require__(693));
66610
+ var _elapsed = _interopRequireDefault(__webpack_require__(695));
66555
66611
 
66556
66612
  var _socketCloseCodes = __webpack_require__(76);
66557
66613
 
@@ -66618,7 +66674,7 @@ var _default = (_ref) => {
66618
66674
  exports.default = _default;
66619
66675
 
66620
66676
  /***/ }),
66621
- /* 693 */
66677
+ /* 695 */
66622
66678
  /***/ (function(module, exports, __webpack_require__) {
66623
66679
 
66624
66680
  "use strict";
@@ -66633,7 +66689,7 @@ module.exports = timeInMilliseconds => {
66633
66689
  };
66634
66690
 
66635
66691
  /***/ }),
66636
- /* 694 */
66692
+ /* 696 */
66637
66693
  /***/ (function(module, exports, __webpack_require__) {
66638
66694
 
66639
66695
  "use strict";
@@ -66697,7 +66753,7 @@ var _default = /*#__PURE__*/function () {
66697
66753
  exports.default = _default;
66698
66754
 
66699
66755
  /***/ }),
66700
- /* 695 */
66756
+ /* 697 */
66701
66757
  /***/ (function(module, exports, __webpack_require__) {
66702
66758
 
66703
66759
  "use strict";
@@ -66722,11 +66778,11 @@ var _uuid = _interopRequireDefault(__webpack_require__(19));
66722
66778
 
66723
66779
  var _logEvents = _interopRequireDefault(__webpack_require__(313));
66724
66780
 
66725
- var _RumorMessage = _interopRequireDefault(__webpack_require__(696));
66781
+ var _RumorMessage = _interopRequireDefault(__webpack_require__(698));
66726
66782
 
66727
66783
  var RumorMessageTypes = _interopRequireWildcard(__webpack_require__(171));
66728
66784
 
66729
- var _SocketError = _interopRequireDefault(__webpack_require__(699));
66785
+ var _SocketError = _interopRequireDefault(__webpack_require__(701));
66730
66786
 
66731
66787
  var _socketCloseCodes = __webpack_require__(76);
66732
66788
 
@@ -67054,7 +67110,7 @@ var _default = (_ref) => {
67054
67110
  exports.default = _default;
67055
67111
 
67056
67112
  /***/ }),
67057
- /* 696 */
67113
+ /* 698 */
67058
67114
  /***/ (function(module, exports, __webpack_require__) {
67059
67115
 
67060
67116
  "use strict";
@@ -67071,7 +67127,7 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(18));
67071
67127
 
67072
67128
  var _uuid = _interopRequireDefault(__webpack_require__(19));
67073
67129
 
67074
- var _encoding = __webpack_require__(697);
67130
+ var _encoding = __webpack_require__(699);
67075
67131
 
67076
67132
  var RumorMessageTypes = _interopRequireWildcard(__webpack_require__(171));
67077
67133
 
@@ -67296,7 +67352,7 @@ let RumorMessage = /*#__PURE__*/function () {
67296
67352
  exports.default = RumorMessage;
67297
67353
 
67298
67354
  /***/ }),
67299
- /* 697 */
67355
+ /* 699 */
67300
67356
  /***/ (function(module, exports, __webpack_require__) {
67301
67357
 
67302
67358
  "use strict";
@@ -67307,7 +67363,7 @@ var _interopRequireWildcard = __webpack_require__(108);
67307
67363
  exports.__esModule = true;
67308
67364
  exports.TextDecoder = exports.TextEncoder = void 0;
67309
67365
 
67310
- var TextEncoding = _interopRequireWildcard(__webpack_require__(698));
67366
+ var TextEncoding = _interopRequireWildcard(__webpack_require__(700));
67311
67367
 
67312
67368
  // Unfortunately it looks like the text-encoding module always returns its implementations of
67313
67369
  // TextEncoder and TextDecoder, so we wrap it here to expose the global (window) ones, if available.
@@ -67317,7 +67373,7 @@ const TextDecoder = (typeof window !== undefined ? window : global).TextDecoder
67317
67373
  exports.TextDecoder = TextDecoder;
67318
67374
 
67319
67375
  /***/ }),
67320
- /* 698 */
67376
+ /* 700 */
67321
67377
  /***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) {
67322
67378
 
67323
67379
  "use strict";
@@ -67992,7 +68048,7 @@ function UTF8Encoder(options) {
67992
68048
 
67993
68049
 
67994
68050
  /***/ }),
67995
- /* 699 */
68051
+ /* 701 */
67996
68052
  /***/ (function(module, exports, __webpack_require__) {
67997
68053
 
67998
68054
  "use strict";
@@ -68027,7 +68083,7 @@ let SocketError = function SocketError(code, message) {
68027
68083
  exports.default = SocketError;
68028
68084
 
68029
68085
  /***/ }),
68030
- /* 700 */
68086
+ /* 702 */
68031
68087
  /***/ (function(module, exports, __webpack_require__) {
68032
68088
 
68033
68089
  "use strict";
@@ -68038,7 +68094,7 @@ var _interopRequireDefault = __webpack_require__(3);
68038
68094
  exports.__esModule = true;
68039
68095
  exports.default = void 0;
68040
68096
 
68041
- var _ws = _interopRequireDefault(__webpack_require__(701));
68097
+ var _ws = _interopRequireDefault(__webpack_require__(703));
68042
68098
 
68043
68099
  var _default = (() => {
68044
68100
  if ((typeof window !== undefined ? window : global).WebSocket) {
@@ -68051,7 +68107,7 @@ var _default = (() => {
68051
68107
  exports.default = _default;
68052
68108
 
68053
68109
  /***/ }),
68054
- /* 701 */
68110
+ /* 703 */
68055
68111
  /***/ (function(module, exports, __webpack_require__) {
68056
68112
 
68057
68113
  "use strict";
@@ -68066,13 +68122,13 @@ module.exports = function () {
68066
68122
 
68067
68123
 
68068
68124
  /***/ }),
68069
- /* 702 */
68125
+ /* 704 */
68070
68126
  /***/ (function(module, exports, __webpack_require__) {
68071
68127
 
68072
68128
  "use strict";
68073
68129
 
68074
68130
 
68075
- const deserializeMessage = __webpack_require__(703);
68131
+ const deserializeMessage = __webpack_require__(705);
68076
68132
 
68077
68133
  module.exports = function unboxFromRumorMessage(rumorMessage) {
68078
68134
  const message = deserializeMessage(rumorMessage.data);
@@ -68082,7 +68138,7 @@ module.exports = function unboxFromRumorMessage(rumorMessage) {
68082
68138
  };
68083
68139
 
68084
68140
  /***/ }),
68085
- /* 703 */
68141
+ /* 705 */
68086
68142
  /***/ (function(module, exports, __webpack_require__) {
68087
68143
 
68088
68144
  "use strict";
@@ -68137,7 +68193,7 @@ module.exports = function deserializeMessage(msg) {
68137
68193
  };
68138
68194
 
68139
68195
  /***/ }),
68140
- /* 704 */
68196
+ /* 706 */
68141
68197
  /***/ (function(module, exports, __webpack_require__) {
68142
68198
 
68143
68199
  "use strict";
@@ -68151,7 +68207,7 @@ const hasOpenTokSupport = __webpack_require__(60).once;
68151
68207
  module.exports = () => hasOpenTokSupport() && ['Chrome', 'Firefox', 'Safari'].indexOf(name) > -1;
68152
68208
 
68153
68209
  /***/ }),
68154
- /* 705 */
68210
+ /* 707 */
68155
68211
  /***/ (function(module, exports, __webpack_require__) {
68156
68212
 
68157
68213
  "use strict";
@@ -68172,7 +68228,7 @@ const hasOpenTokSupport = __webpack_require__(60).once; // TODO Remove all trans
68172
68228
  module.exports = () => hasOpenTokSupport() && (env.name === 'Chrome' || env.name === 'Firefox' || env.name === 'Node' || env.name === 'Safari' || env.name === 'Edge');
68173
68229
 
68174
68230
  /***/ }),
68175
- /* 706 */
68231
+ /* 708 */
68176
68232
  /***/ (function(module, exports, __webpack_require__) {
68177
68233
 
68178
68234
  "use strict";
@@ -68187,7 +68243,7 @@ const hasOpenTokSupport = __webpack_require__(60).once; // Indicates if the brow
68187
68243
  module.exports = () => hasOpenTokSupport();
68188
68244
 
68189
68245
  /***/ }),
68190
- /* 707 */
68246
+ /* 709 */
68191
68247
  /***/ (function(module, exports, __webpack_require__) {
68192
68248
 
68193
68249
  "use strict";
@@ -68196,7 +68252,7 @@ module.exports = () => hasOpenTokSupport();
68196
68252
  module.exports = 'DTLS_SRTP';
68197
68253
 
68198
68254
  /***/ }),
68199
- /* 708 */
68255
+ /* 710 */
68200
68256
  /***/ (function(module, exports, __webpack_require__) {
68201
68257
 
68202
68258
  "use strict";
@@ -68210,7 +68266,7 @@ module.exports = function capabilitiesFromHash(_ref) {
68210
68266
  };
68211
68267
 
68212
68268
  /***/ }),
68213
- /* 709 */
68269
+ /* 711 */
68214
68270
  /***/ (function(module, exports, __webpack_require__) {
68215
68271
 
68216
68272
  "use strict";
@@ -68224,7 +68280,7 @@ module.exports = function SignalError(code, message) {
68224
68280
  };
68225
68281
 
68226
68282
  /***/ }),
68227
- /* 710 */
68283
+ /* 712 */
68228
68284
  /***/ (function(module, exports, __webpack_require__) {
68229
68285
 
68230
68286
  "use strict";
@@ -68273,7 +68329,7 @@ const DelayedEventQueue = function DelayedEventQueue(eventDispatcher) {
68273
68329
  module.exports = DelayedEventQueue;
68274
68330
 
68275
68331
  /***/ }),
68276
- /* 711 */
68332
+ /* 713 */
68277
68333
  /***/ (function(module, exports, __webpack_require__) {
68278
68334
 
68279
68335
  "use strict";
@@ -68295,9 +68351,9 @@ const SessionInfo = __webpack_require__(141);
68295
68351
 
68296
68352
  const ExceptionCodes = __webpack_require__(8);
68297
68353
 
68298
- const mapErrorCodeToName = __webpack_require__(712);
68354
+ const mapErrorCodeToName = __webpack_require__(714);
68299
68355
 
68300
- const mapStatusCodeToErrorCode = __webpack_require__(713);
68356
+ const mapStatusCodeToErrorCode = __webpack_require__(715);
68301
68357
 
68302
68358
  const promiseEndeavour = __webpack_require__(289).default;
68303
68359
 
@@ -68446,7 +68502,7 @@ function getSessionInfoFactory(_temp) {
68446
68502
  module.exports = getSessionInfoFactory;
68447
68503
 
68448
68504
  /***/ }),
68449
- /* 712 */
68505
+ /* 714 */
68450
68506
  /***/ (function(module, exports, __webpack_require__) {
68451
68507
 
68452
68508
  "use strict";
@@ -68482,7 +68538,7 @@ function mapErrorCodeToName(code) {
68482
68538
  module.exports = mapErrorCodeToName;
68483
68539
 
68484
68540
  /***/ }),
68485
- /* 713 */
68541
+ /* 715 */
68486
68542
  /***/ (function(module, exports, __webpack_require__) {
68487
68543
 
68488
68544
  "use strict";
@@ -68510,7 +68566,7 @@ function mapStatusCodeToErrorCode(code) {
68510
68566
  module.exports = mapStatusCodeToErrorCode;
68511
68567
 
68512
68568
  /***/ }),
68513
- /* 714 */
68569
+ /* 716 */
68514
68570
  /***/ (function(module, exports, __webpack_require__) {
68515
68571
 
68516
68572
  "use strict";
@@ -68624,7 +68680,7 @@ module.exports = function initSessionFactory(deps) {
68624
68680
  };
68625
68681
 
68626
68682
  /***/ }),
68627
- /* 715 */
68683
+ /* 717 */
68628
68684
  /***/ (function(module, exports, __webpack_require__) {
68629
68685
 
68630
68686
  "use strict";
@@ -68636,7 +68692,7 @@ var _regenerator = _interopRequireDefault(__webpack_require__(12));
68636
68692
 
68637
68693
  var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(13));
68638
68694
 
68639
- const difference = __webpack_require__(716);
68695
+ const difference = __webpack_require__(718);
68640
68696
 
68641
68697
  const uniq = __webpack_require__(273);
68642
68698
 
@@ -68821,10 +68877,10 @@ const getSupportedCodecs = /*#__PURE__*/function () {
68821
68877
  module.exports = getSupportedCodecs;
68822
68878
 
68823
68879
  /***/ }),
68824
- /* 716 */
68880
+ /* 718 */
68825
68881
  /***/ (function(module, exports, __webpack_require__) {
68826
68882
 
68827
- var baseDifference = __webpack_require__(717),
68883
+ var baseDifference = __webpack_require__(719),
68828
68884
  baseFlatten = __webpack_require__(237),
68829
68885
  baseRest = __webpack_require__(87),
68830
68886
  isArrayLikeObject = __webpack_require__(129);
@@ -68860,13 +68916,13 @@ module.exports = difference;
68860
68916
 
68861
68917
 
68862
68918
  /***/ }),
68863
- /* 717 */
68919
+ /* 719 */
68864
68920
  /***/ (function(module, exports, __webpack_require__) {
68865
68921
 
68866
68922
  var SetCache = __webpack_require__(92),
68867
68923
  arrayIncludes = __webpack_require__(93),
68868
68924
  arrayIncludesWith = __webpack_require__(128),
68869
- arrayMap = __webpack_require__(32),
68925
+ arrayMap = __webpack_require__(33),
68870
68926
  baseUnary = __webpack_require__(67),
68871
68927
  cacheHas = __webpack_require__(94);
68872
68928
 
@@ -68933,7 +68989,7 @@ module.exports = baseDifference;
68933
68989
 
68934
68990
 
68935
68991
  /***/ }),
68936
- /* 718 */
68992
+ /* 720 */
68937
68993
  /***/ (function(module, exports, __webpack_require__) {
68938
68994
 
68939
68995
  "use strict";
@@ -68985,7 +69041,7 @@ module.exports = function getDevices(callback) {
68985
69041
  };
68986
69042
 
68987
69043
  /***/ }),
68988
- /* 719 */
69044
+ /* 721 */
68989
69045
  /***/ (function(module, exports, __webpack_require__) {
68990
69046
 
68991
69047
  "use strict";
@@ -69088,7 +69144,7 @@ module.exports = function (deps) {
69088
69144
  };
69089
69145
 
69090
69146
  /***/ }),
69091
- /* 720 */
69147
+ /* 722 */
69092
69148
  /***/ (function(module, exports, __webpack_require__) {
69093
69149
 
69094
69150
  "use strict";
@@ -69100,7 +69156,7 @@ var _regenerator = _interopRequireDefault(__webpack_require__(12));
69100
69156
 
69101
69157
  var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(13));
69102
69158
 
69103
- const audioOutputDevicesChangeHandler = __webpack_require__(721)();
69159
+ const audioOutputDevicesChangeHandler = __webpack_require__(723)();
69104
69160
 
69105
69161
  const _require = __webpack_require__(23)(),
69106
69162
  hasAudioOutputApiSupport = _require.hasAudioOutputApiSupport,
@@ -69140,7 +69196,7 @@ module.exports = () => {
69140
69196
  };
69141
69197
 
69142
69198
  /***/ }),
69143
- /* 721 */
69199
+ /* 723 */
69144
69200
  /***/ (function(module, exports, __webpack_require__) {
69145
69201
 
69146
69202
  "use strict";
@@ -69234,6 +69290,40 @@ module.exports = function (deps) {
69234
69290
  return audioOutputDevicesChangeHandler;
69235
69291
  };
69236
69292
 
69293
+ /***/ }),
69294
+ /* 724 */
69295
+ /***/ (function(module, exports, __webpack_require__) {
69296
+
69297
+ "use strict";
69298
+
69299
+
69300
+ /* eslint-disable global-require */
69301
+ const AnalyticsHelper = __webpack_require__(27);
69302
+
69303
+ module.exports = function (deps) {
69304
+ if (deps === void 0) {
69305
+ deps = {};
69306
+ }
69307
+
69308
+ const env = deps.env || __webpack_require__(2);
69309
+
69310
+ const analytics = deps.analytics || new AnalyticsHelper();
69311
+ analytics.logEvent({
69312
+ action: 'UserAgentParsing',
69313
+ variation: 'Attempt',
69314
+ payload: {
69315
+ userAgent: env.userAgent
69316
+ }
69317
+ });
69318
+ analytics.logEvent({
69319
+ action: 'UserAgentParsing',
69320
+ variation: env.error ? 'Failure' : 'Success',
69321
+ payload: {
69322
+ userAgent: env.userAgent
69323
+ }
69324
+ });
69325
+ };
69326
+
69237
69327
  /***/ })
69238
69328
  /******/ ]);
69239
69329
  });