@applitools/eyes-browser 1.4.13 → 1.4.14

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.
package/dist/index.js CHANGED
@@ -10282,7 +10282,7 @@ var require_streams = __commonJS({
10282
10282
  buffer = toBuffer(clone);
10283
10283
  return pipe(destination, options);
10284
10284
  }
10285
- buffer.then((buffer2) => {
10285
+ void buffer.then((buffer2) => {
10286
10286
  destination.write(buffer2);
10287
10287
  if ((options === null || options === void 0 ? void 0 : options.end) !== false)
10288
10288
  destination.end();
@@ -13007,12 +13007,12 @@ async function req(input, ...requestOptions) {
13007
13007
  connectionController.abort();
13008
13008
  }, options.connectionTimeout) : null;
13009
13009
  try {
13010
- return await req2(input, options);
13010
+ return await singleReq(input, options);
13011
13011
  } finally {
13012
13012
  if (connectionTimer)
13013
13013
  clearTimeout(connectionTimer);
13014
13014
  }
13015
- async function req2(input2, options2) {
13015
+ async function singleReq(input2, options2) {
13016
13016
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
13017
13017
  const url = new URL(String((_a = input2.url) !== null && _a !== void 0 ? _a : input2), options2.baseUrl);
13018
13018
  const fetch2 = (_b = options2.fetch) !== null && _b !== void 0 ? _b : fetch_browser_default;
@@ -13076,7 +13076,7 @@ async function req(input, ...requestOptions) {
13076
13076
  options: { ...options2, fallbacks: optionsFallbacks.slice(1) }
13077
13077
  }));
13078
13078
  if (fallbackOptions) {
13079
- const fallbackStrategyResponse = await req2(request, fallbackOptions);
13079
+ const fallbackStrategyResponse = await singleReq(request, fallbackOptions);
13080
13080
  (_h = fallbackStrategy.cache) !== null && _h !== void 0 ? _h : fallbackStrategy.cache = /* @__PURE__ */ new Map();
13081
13081
  fallbackStrategy.cache.set(new URL(request.url).origin, fallbackStrategyResponse.ok);
13082
13082
  return fallbackStrategyResponse;
@@ -13094,7 +13094,7 @@ async function req(input, ...requestOptions) {
13094
13094
  retry.attempt += 1;
13095
13095
  const retryRequest = await beforeRetry({ request, response, attempt: retry.attempt, stop, options: options2 });
13096
13096
  if (retryRequest !== stop) {
13097
- return req2(retryRequest, options2);
13097
+ return singleReq(retryRequest, options2);
13098
13098
  }
13099
13099
  }
13100
13100
  response = await afterResponse({ request, response, options: options2 });
@@ -13117,7 +13117,7 @@ async function req(input, ...requestOptions) {
13117
13117
  retry.attempt = retry.attempt + 1;
13118
13118
  const retryRequest = await beforeRetry({ request, error, attempt: retry.attempt, stop, options: options2 });
13119
13119
  if (retryRequest !== stop) {
13120
- return req2(retryRequest, options2);
13120
+ return singleReq(retryRequest, options2);
13121
13121
  }
13122
13122
  }
13123
13123
  error = await afterError({ request, error, options: options2 });
@@ -13228,7 +13228,7 @@ function calculateTimeout(requestTimeout, body) {
13228
13228
  return base + perByte * body.byteLength;
13229
13229
  if (global.Blob && utils28.types.instanceOf(body, Blob))
13230
13230
  return base + perByte * body.size;
13231
- if (global.Buffer && utils28.types.instanceOf(body, import_buffer66.Buffer))
13231
+ if (global.Buffer && utils28.types.instanceOf(body, import_buffer64.Buffer))
13232
13232
  return base + perByte * body.byteLength;
13233
13233
  try {
13234
13234
  return base + perByte * JSON.stringify(body).length;
@@ -13242,7 +13242,7 @@ function calculateTimeout(requestTimeout, body) {
13242
13242
  }
13243
13243
  return requestTimeout;
13244
13244
  }
13245
- var utils28, import_buffer66;
13245
+ var utils28, import_buffer64;
13246
13246
  var init_req = __esm({
13247
13247
  "../req/dist/req.js"() {
13248
13248
  "use strict";
@@ -13256,7 +13256,7 @@ var init_req = __esm({
13256
13256
  init_req_errors();
13257
13257
  init_fetch_browser();
13258
13258
  utils28 = __toESM(require_browser3(), 1);
13259
- import_buffer66 = __toESM(require_buffer(), 1);
13259
+ import_buffer64 = __toESM(require_buffer(), 1);
13260
13260
  }
13261
13261
  });
13262
13262
 
@@ -13812,7 +13812,7 @@ var require_req_eyes = __commonJS({
13812
13812
  var path = __importStar(require_path_browserify());
13813
13813
  var missingApiKeyError_1 = require_missingApiKeyError();
13814
13814
  function makeReqEyes({ settings, fetch: fetch2, logger }) {
13815
- var _a;
13815
+ var _a, _b, _c;
13816
13816
  return (0, req_1.makeReq)({
13817
13817
  baseUrl: settings.eyesServerUrl,
13818
13818
  query: { apiKey: settings.apiKey, removeSession: settings.removeSession },
@@ -13825,8 +13825,8 @@ var require_req_eyes = __commonJS({
13825
13825
  proxy: settings.proxy,
13826
13826
  useDnsCache: settings.useDnsCache,
13827
13827
  connectionTimeout: (_a = settings.connectionTimeout) !== null && _a !== void 0 ? _a : 3e5,
13828
- requestTimeout: 3e4,
13829
- retry: [
13828
+ requestTimeout: (_b = settings.requestTimeout) !== null && _b !== void 0 ? _b : 3e4,
13829
+ retry: (_c = settings.retry) !== null && _c !== void 0 ? _c : [
13830
13830
  // retry on network issues
13831
13831
  {
13832
13832
  limit: 5,
@@ -21601,7 +21601,11 @@ var require_requests = __commonJS({
21601
21601
  }
21602
21602
  async function sendHeartbeat({ settings, logger = mainLogger }) {
21603
21603
  logger = logger.extend(mainLogger, { tags: [`core-request-${utils34.general.shortid()}`] });
21604
- const req2 = (0, req_eyes_1.makeReqEyes)({ settings, fetch: fetch2, logger });
21604
+ const req2 = (0, req_eyes_1.makeReqEyes)({
21605
+ settings: { ...settings, requestTimeout: settings.interval, retry: { limit: 0 } },
21606
+ fetch: fetch2,
21607
+ logger
21608
+ });
21605
21609
  logger.log('Request "heartbeat" called with settings', settings);
21606
21610
  await req2(`./api/sessions/sdkprocess/keepalive`, {
21607
21611
  name: "heartbeat",
@@ -21616,9 +21620,6 @@ var require_requests = __commonJS({
21616
21620
  }
21617
21621
  }
21618
21622
  },
21619
- retry: {
21620
- limit: 0
21621
- },
21622
21623
  expected: 200,
21623
21624
  logger
21624
21625
  });
@@ -21765,7 +21766,9 @@ var require_requests = __commonJS({
21765
21766
  await abort({ settings, logger });
21766
21767
  }
21767
21768
  const response = await resultResponsePromise;
21768
- const results = await response.json().then((result) => {
21769
+ if (test.results)
21770
+ return await test.results;
21771
+ test.results = response.json().then((result) => {
21769
21772
  var _a;
21770
21773
  result.userTestId = test.userTestId;
21771
21774
  result.url = test.resultsUrl;
@@ -21776,9 +21779,11 @@ var require_requests = __commonJS({
21776
21779
  result.reason = abortReason;
21777
21780
  (_a = result.status) !== null && _a !== void 0 ? _a : result.status = result.missing === 0 && result.mismatches === 0 ? "Passed" : "Unresolved";
21778
21781
  return [result];
21782
+ }).then((results) => {
21783
+ logger.log('Request "getResults" finished successfully with body', results);
21784
+ return results;
21779
21785
  });
21780
- logger.log('Request "getResults" finished successfully with body', results);
21781
- return results;
21786
+ return await test.results;
21782
21787
  }
21783
21788
  async function report({ settings, logger = mainLogger }) {
21784
21789
  logger = logger.extend(mainLogger);
@@ -28221,7 +28226,7 @@ var require_close = __commonJS({
28221
28226
  return async function close({ settings, logger = mainLogger } = {}) {
28222
28227
  logger = logger.extend(mainLogger, { tags: [`close-base-${utils34.general.shortid()}`] });
28223
28228
  logger.log('Command "close" is called with settings', settings);
28224
- requests.close({ settings, logger }).finally(done);
28229
+ void requests.close({ settings, logger }).finally(done);
28225
28230
  };
28226
28231
  }
28227
28232
  exports.makeClose = makeClose;
@@ -28276,7 +28281,7 @@ var require_abort = __commonJS({
28276
28281
  logger = logger.extend(mainLogger, { tags: [`abort-base-${utils34.general.shortid()}`] });
28277
28282
  logger.log('Command "abort" is called with settings', settings);
28278
28283
  controller.abort();
28279
- requests.abort({ settings, logger }).finally(done);
28284
+ void requests.abort({ settings, logger }).finally(done);
28280
28285
  };
28281
28286
  }
28282
28287
  exports.makeAbort = makeAbort;
@@ -29088,10 +29093,8 @@ var require_heartbeat = __commonJS({
29088
29093
  return {
29089
29094
  processId,
29090
29095
  async startPeriodicHeartbeatMessaging(settings) {
29091
- var _a;
29092
29096
  if (!isStarted) {
29093
29097
  isStarted = true;
29094
- const interval = (_a = settings.interval) !== null && _a !== void 0 ? _a : 1e4;
29095
29098
  await requests.sendHeartbeat({ settings, logger });
29096
29099
  const intervalId = setIntervalBrowser(async () => {
29097
29100
  try {
@@ -29101,7 +29104,7 @@ var require_heartbeat = __commonJS({
29101
29104
  clearInterval(intervalId);
29102
29105
  }
29103
29106
  }
29104
- }, interval);
29107
+ }, settings.interval);
29105
29108
  intervalId.unref();
29106
29109
  }
29107
29110
  }
@@ -29370,49 +29373,66 @@ var require_dist3 = __commonJS({
29370
29373
  return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2;
29371
29374
  }
29372
29375
  var e = function(t2) {
29373
- t2.hasAttribute("data-applitools-fallback-selector") || t2.setAttribute("data-applitools-fallback-selector", function(t3) {
29374
- var e2 = [];
29375
- for (; t3 && t3.nodeType === Node.ELEMENT_NODE; ) {
29376
- var o2 = t3.tagName.toLowerCase(), r2 = [].slice.call(t3.parentNode.children || []).indexOf(t3) + 1;
29377
- r2 > 1 && (o2 += ":nth-child(" + r2 + ")"), e2.unshift(o2), t3 = t3.parentNode;
29378
- }
29379
- return e2.length ? e2.join(" > ") : "html";
29380
- }(t2));
29381
- }, o = function(t2) {
29382
29376
  var e2 = t2 && t2[0] || null;
29383
29377
  return !e2 || ("isConnected" in window.Node.prototype ? !e2.isConnected : document.documentElement.contains ? !document.documentElement.contains(e2) : !e2.ownerDocument.documentElement.contains(e2));
29384
- };
29385
- function r(t2, n) {
29386
- if (o([t2])) {
29387
- var a = function(t3) {
29378
+ }, r = e;
29379
+ var o = function(t2) {
29380
+ if (!t2.hasAttribute("data-applitools-fallback-selector")) {
29381
+ if (r([t2]))
29382
+ throw new Error("The element is not connected to the DOM: " + function(t3) {
29383
+ var e2 = t3.attributes, r2 = t3.tagName, o2 = t3.children.length, n2 = [].slice.call(e2).map(function(t4) {
29384
+ return t4.name + '="' + t4.value + '"';
29385
+ }).join(" ");
29386
+ return "<" + r2 + " " + n2 + (o2 ? ">" : "/>");
29387
+ }(t2));
29388
+ t2.setAttribute("data-applitools-fallback-selector", function(t3) {
29389
+ var e2 = [];
29390
+ for (; t3 && t3.nodeType === Node.ELEMENT_NODE; )
29391
+ try {
29392
+ var r2, o2 = t3.tagName.toLowerCase(), n2 = [].slice.call((null == (r2 = t3.parentNode) ? void 0 : r2.children) || []).indexOf(t3);
29393
+ n2 > -1 && (o2 += ":nth-child(" + (n2 + 1) + ")"), e2.unshift(o2), t3 = t3.parentNode;
29394
+ } catch (t4) {
29395
+ break;
29396
+ }
29397
+ return e2.length ? e2.join(" > ") : "html";
29398
+ }(t2));
29399
+ }
29400
+ }, n = e;
29401
+ function a(t2, e2) {
29402
+ if (n([t2])) {
29403
+ var r2 = function(t3) {
29388
29404
  if (null == t3 || !t3.getAttribute)
29389
- throw new Error("invalid element: " + JSON.stringify(t3));
29390
- var e2 = t3.getAttribute("data-applitools-fallback-selector");
29391
- if (!e2)
29392
- throw new Error("Failed to recover from stale element");
29393
- return e2;
29394
- }(t2), l = document.querySelector(a);
29395
- if (!l)
29396
- throw new Error("Failed to recover from stale element - selector found: " + a);
29397
- return l.setAttribute("data-applitools-selector", n), l.setAttribute("data-applitools-recovered", true), r(l, n);
29405
+ return { error: "invalid element: " + JSON.stringify(t3) };
29406
+ var e3 = t3.getAttribute("data-applitools-fallback-selector");
29407
+ return e3;
29408
+ }(t2);
29409
+ if (!r2)
29410
+ return { error: "Failed to recover from stale element" };
29411
+ if (r2.error)
29412
+ return r2;
29413
+ var l = document.querySelectorAll(r2);
29414
+ if (!l || 1 !== l.length)
29415
+ return { error: "Failed to recover from stale element - selector found: " + r2 };
29416
+ var i = l[0];
29417
+ return i.setAttribute("data-applitools-selector", e2), i.setAttribute("data-applitools-recovered", true), a(i, e2);
29398
29418
  }
29399
- e(t2);
29400
- var i = t2.getAttribute("data-applitools-selector"), u = i ? i + " " + n : n;
29401
- return t2.setAttribute("data-applitools-selector", u), '[data-applitools-selector~="' + n + '"]';
29419
+ o(t2);
29420
+ var u = t2.getAttribute("data-applitools-selector"), c = u ? u + " " + e2 : e2;
29421
+ return t2.setAttribute("data-applitools-selector", c), '[data-applitools-selector~="' + e2 + '"]';
29402
29422
  }
29403
29423
  return t(function(t2) {
29404
29424
  return t2.map(function(t3) {
29405
- var e2 = t3[0], o2 = t3[1];
29425
+ var e2 = t3[0], r2 = t3[1];
29406
29426
  return e2.map(function(t4) {
29407
29427
  var e3 = function(t5) {
29408
29428
  var e4 = [t5];
29409
29429
  if (t5.getRootNode)
29410
- for (var o3 = t5.getRootNode(); o3 !== document && o3.constructor && "ShadowRoot" === o3.constructor.name; o3 = o3.host.getRootNode())
29411
- e4.push(o3.host);
29430
+ for (var r3 = t5.getRootNode(); r3 !== document && r3.constructor && "ShadowRoot" === r3.constructor.name; r3 = r3.host.getRootNode())
29431
+ e4.push(r3.host);
29412
29432
  return e4;
29413
29433
  }(t4);
29414
29434
  return e3.map(function(t5) {
29415
- return r(t5, o2);
29435
+ return a(t5, r2);
29416
29436
  });
29417
29437
  });
29418
29438
  });
@@ -29432,15 +29452,31 @@ var require_dist3 = __commonJS({
29432
29452
  function t(t2) {
29433
29453
  return t2 && t2.__esModule && Object.prototype.hasOwnProperty.call(t2, "default") ? t2.default : t2;
29434
29454
  }
29455
+ var e = function(t2) {
29456
+ var e2 = t2 && t2[0] || null;
29457
+ return !e2 || ("isConnected" in window.Node.prototype ? !e2.isConnected : document.documentElement.contains ? !document.documentElement.contains(e2) : !e2.ownerDocument.documentElement.contains(e2));
29458
+ };
29435
29459
  return t(function(t2) {
29436
- t2.hasAttribute("data-applitools-fallback-selector") || t2.setAttribute("data-applitools-fallback-selector", function(t3) {
29437
- var e = [];
29438
- for (; t3 && t3.nodeType === Node.ELEMENT_NODE; ) {
29439
- var a = t3.tagName.toLowerCase(), l = [].slice.call(t3.parentNode.children || []).indexOf(t3) + 1;
29440
- l > 1 && (a += ":nth-child(" + l + ")"), e.unshift(a), t3 = t3.parentNode;
29441
- }
29442
- return e.length ? e.join(" > ") : "html";
29443
- }(t2));
29460
+ if (!t2.hasAttribute("data-applitools-fallback-selector")) {
29461
+ if (e([t2]))
29462
+ throw new Error("The element is not connected to the DOM: " + function(t3) {
29463
+ var e2 = t3.attributes, n = t3.tagName, o = t3.children.length, r = [].slice.call(e2).map(function(t4) {
29464
+ return t4.name + '="' + t4.value + '"';
29465
+ }).join(" ");
29466
+ return "<" + n + " " + r + (o ? ">" : "/>");
29467
+ }(t2));
29468
+ t2.setAttribute("data-applitools-fallback-selector", function(t3) {
29469
+ var e2 = [];
29470
+ for (; t3 && t3.nodeType === Node.ELEMENT_NODE; )
29471
+ try {
29472
+ var n, o = t3.tagName.toLowerCase(), r = [].slice.call((null == (n = t3.parentNode) ? void 0 : n.children) || []).indexOf(t3);
29473
+ r > -1 && (o += ":nth-child(" + (r + 1) + ")"), e2.unshift(o), t3 = t3.parentNode;
29474
+ } catch (t4) {
29475
+ break;
29476
+ }
29477
+ return e2.length ? e2.join(" > ") : "html";
29478
+ }(t2));
29479
+ }
29444
29480
  });
29445
29481
  }();
29446
29482
  return s(arg2);
@@ -32960,7 +32996,7 @@ var require_driver = __commonJS({
32960
32996
  }
32961
32997
  return this._environment;
32962
32998
  }
32963
- async getViewport() {
32999
+ async getViewport({ keepNavigationBar } = {}) {
32964
33000
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
32965
33001
  var _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15;
32966
33002
  if (!this._viewport) {
@@ -32994,7 +33030,7 @@ var require_driver = __commonJS({
32994
33030
  this._viewport.statusBarSize = Math.max((_g = this._viewport.statusBarSize) !== null && _g !== void 0 ? _g : 0, statusBarSize);
32995
33031
  }
32996
33032
  }
32997
- if (navigationBar === null || navigationBar === void 0 ? void 0 : navigationBar.visible) {
33033
+ if ((navigationBar === null || navigationBar === void 0 ? void 0 : navigationBar.visible) && !keepNavigationBar) {
32998
33034
  this._logger.log("Driver navigation size", navigationBar);
32999
33035
  if (navigationBar.x > 0)
33000
33036
  this._viewport.orientation = "landscape-secondary";
@@ -33028,7 +33064,7 @@ var require_driver = __commonJS({
33028
33064
  if (!this._viewport.viewportSize) {
33029
33065
  this._viewport.viewportSize = { ...this._viewport.displaySize };
33030
33066
  this._viewport.viewportSize.height -= this._viewport.statusBarSize;
33031
- if (environment.isAndroid) {
33067
+ if (environment.isAndroid && !keepNavigationBar) {
33032
33068
  this._viewport.viewportSize[((_u = this._viewport.orientation) === null || _u === void 0 ? void 0 : _u.startsWith("landscape")) ? "width" : "height"] -= this._viewport.navigationBarSize;
33033
33069
  }
33034
33070
  }
@@ -34108,9 +34144,9 @@ var require_take_viewport_screenshot = __commonJS({
34108
34144
  }
34109
34145
  }
34110
34146
  function makeTakeNativeScreenshot({ driver, stabilization = {}, debug, logger }) {
34111
- return async function takeScreenshot({ name, captureStatusBar } = {}) {
34147
+ return async function takeScreenshot({ name, captureStatusBar, keepNavigationBar } = {}) {
34112
34148
  logger.verbose("Taking native driver screenshot...");
34113
- const viewport = await driver.getViewport();
34149
+ const viewport = await driver.getViewport({ keepNavigationBar });
34114
34150
  const image = makeImage(await driver.takeScreenshot());
34115
34151
  await image.debug({ ...debug, name, suffix: "original" });
34116
34152
  if (stabilization.scale)
@@ -34325,12 +34361,21 @@ var require_take_simple_screenshot = __commonJS({
34325
34361
  init_setInterval();
34326
34362
  var utils34 = require_browser3();
34327
34363
  var makeTakeViewportScreenshot = require_take_viewport_screenshot();
34328
- async function takeSimpleScreenshot({ context, region, captureStatusBar, wait, stabilization, debug = {}, logger }) {
34364
+ async function takeSimpleScreenshot({
34365
+ context,
34366
+ region,
34367
+ captureStatusBar,
34368
+ keepNavigationBar,
34369
+ wait,
34370
+ stabilization,
34371
+ debug = {},
34372
+ logger
34373
+ }) {
34329
34374
  logger.verbose("Taking image of...");
34330
34375
  const driver = context.driver;
34331
34376
  const takeViewportScreenshot = await makeTakeViewportScreenshot({ logger, driver, stabilization, debug });
34332
34377
  await utils34.general.sleep(wait);
34333
- const image = await takeViewportScreenshot({ captureStatusBar });
34378
+ const image = await takeViewportScreenshot({ captureStatusBar, keepNavigationBar });
34334
34379
  if (region) {
34335
34380
  const cropRegion = await driver.getRegionInViewport(context, region);
34336
34381
  if (utils34.geometry.isEmpty(cropRegion))
@@ -34426,6 +34471,7 @@ var require_take_screenshot = __commonJS({
34426
34471
  hideScrollbars,
34427
34472
  hideCaret,
34428
34473
  captureStatusBar,
34474
+ keepNavigationBar,
34429
34475
  overlap,
34430
34476
  framed,
34431
34477
  wait,
@@ -34489,7 +34535,7 @@ var require_take_screenshot = __commonJS({
34489
34535
  debug,
34490
34536
  logger,
34491
34537
  lazyLoad
34492
- }) : await takeSimpleScreenshot({ ...target, captureStatusBar, wait, stabilization, debug, logger });
34538
+ }) : await takeSimpleScreenshot({ ...target, captureStatusBar, keepNavigationBar, wait, stabilization, debug, logger });
34493
34539
  const viewport = await driver.getViewport();
34494
34540
  screenshot.image.scale(viewport.viewportScale);
34495
34541
  const calculatedRegions = await extractCoordinatesForSelectorsAndElements({
@@ -34588,7 +34634,7 @@ var require_take_screenshot2 = __commonJS({
34588
34634
  var utils34 = __importStar(require_browser3());
34589
34635
  var { takeScreenshot: legacyTakeScreenshot } = require_screenshoter();
34590
34636
  async function takeScreenshot({ driver, settings, logger }) {
34591
- var _a, _b, _c;
34637
+ var _a, _b, _c, _d;
34592
34638
  const environment = await driver.getEnvironment();
34593
34639
  return legacyTakeScreenshot({
34594
34640
  driver,
@@ -34613,7 +34659,8 @@ var require_take_screenshot2 = __commonJS({
34613
34659
  debug: settings.debugImages,
34614
34660
  logger,
34615
34661
  regionsToCalculate: settings.regionsToCalculate,
34616
- captureStatusBar: settings.captureStatusBar
34662
+ captureStatusBar: settings.captureStatusBar,
34663
+ keepNavigationBar: (_d = settings.mobileOptions) === null || _d === void 0 ? void 0 : _d.keepNavigationBar
34617
34664
  });
34618
34665
  }
34619
34666
  exports.takeScreenshot = takeScreenshot;
@@ -35204,7 +35251,7 @@ var require_captureDomPollCjs = __commonJS({
35204
35251
  const i = u;
35205
35252
  var l = { chunkify: n2, pollify: function(e4, t4, n3) {
35206
35253
  return (o2) => function() {
35207
- return t4[n3] || (t4[n3] = {}, Promise.resolve().then(() => e4.apply(null, arguments)).then((e5) => t4[n3].value = e5).catch((e5) => t4[n3].error = e5.message)), i(t4, n3, o2);
35254
+ return t4[n3] || (t4[n3] = {}, Promise.resolve().then(() => e4.apply(null, arguments)).then((e5) => t4[n3].value = e5).catch((e5) => t4[n3].error = e5.message + "\nStack:" + e5.stack)), i(t4, n3, o2);
35208
35255
  };
35209
35256
  }, poll: u, absolutizeUrl: function(e4, t4) {
35210
35257
  if (function(e5) {
@@ -35314,7 +35361,7 @@ ${l2}`}`, { bundledCss: i2, unfetchedResources: u2 };
35314
35361
  } catch (e5) {
35315
35362
  return;
35316
35363
  }
35317
- }, F = function(e4, { fetchTimeLimit: t4 } = {}) {
35364
+ }, k = function(e4, { fetchTimeLimit: t4 } = {}) {
35318
35365
  return async function(n3) {
35319
35366
  const o2 = new AbortController(), r2 = [e4(n3, { cache: "force-cache", signal: o2.signal }).then((e5) => {
35320
35367
  if (e5.ok)
@@ -35325,7 +35372,7 @@ ${l2}`}`, { bundledCss: i2, unfetchedResources: u2 };
35325
35372
  })];
35326
35373
  return Number.isNaN(Number(t4)) || r2.push(new Promise((e5) => setTimeout(e5, t4)).then(() => o2.abort())), Promise.race(r2);
35327
35374
  };
35328
- }, I = function({ getCssFromCache: e4, absolutizeUrl: t4 }) {
35375
+ }, F = function({ getCssFromCache: e4, absolutizeUrl: t4 }) {
35329
35376
  return function(n3, o2) {
35330
35377
  let r2, s2, a2;
35331
35378
  if (n3 && function(e5) {
@@ -35340,7 +35387,7 @@ ${l2}`}`, { bundledCss: i2, unfetchedResources: u2 };
35340
35387
  }
35341
35388
  return { cssText: r2, styleBaseUrl: s2, isUnfetched: a2 };
35342
35389
  };
35343
- }, k = function({ extractCssFromNode: e4, getBundledCssFromCssText: t4, unfetchedToken: n3 }) {
35390
+ }, I = function({ extractCssFromNode: e4, getBundledCssFromCssText: t4, unfetchedToken: n3 }) {
35344
35391
  return function(o2, r2) {
35345
35392
  const { styleBaseUrl: s2, cssText: a2, isUnfetched: c2 } = e4(o2, r2);
35346
35393
  let u2, i2 = "";
@@ -35362,10 +35409,10 @@ ${l2}`}`, { bundledCss: i2, unfetchedResources: u2 };
35362
35409
  }(e5, o3, r3)), e5.nodeType === A.ELEMENT)
35363
35410
  return "IFRAME" === e5.tagName.toUpperCase() ? i2(e5) : u2(e5);
35364
35411
  }
35365
- async function u2(e5) {
35412
+ function u2(e5) {
35366
35413
  Array.prototype.map.call(e5.childNodes, c2);
35367
35414
  }
35368
- async function i2(t5) {
35415
+ function i2(t5) {
35369
35416
  if (u2(t5), t5.contentDocument)
35370
35417
  try {
35371
35418
  const n5 = T(t5) ? t5.baseURI : t5.contentDocument.location.href;
@@ -35406,9 +35453,9 @@ ${l2}`}`, { bundledCss: i2, unfetchedResources: u2 };
35406
35453
  l2(i2.total);
35407
35454
  const m2 = /* @__PURE__ */ new Set(), h2 = [], p2 = "@@@@@", g2 = "#####", y2 = "-----";
35408
35455
  l2(i2.prefetchCss);
35409
- const w2 = L(F(fetch, { fetchTimeLimit: u2 })), E2 = await w2(t4);
35456
+ const w2 = L(k(fetch, { fetchTimeLimit: u2 })), E2 = await w2(t4);
35410
35457
  d2(i2.prefetchCss);
35411
- const C2 = U({ parseCss: D, CSSImportRule, getCssFromCache: E2, absolutizeUrl: R, unfetchedToken: g2 }), T2 = I({ getCssFromCache: E2, absolutizeUrl: R }), b2 = k({ extractCssFromNode: T2, getBundledCssFromCssText: C2, unfetchedToken: g2 });
35458
+ const C2 = U({ parseCss: D, CSSImportRule, getCssFromCache: E2, absolutizeUrl: R, unfetchedToken: g2 }), T2 = F({ getCssFromCache: E2, absolutizeUrl: R }), b2 = I({ extractCssFromNode: T2, getBundledCssFromCssText: C2, unfetchedToken: g2 });
35412
35459
  l2(i2.doCaptureDoc);
35413
35460
  const N2 = function c3(u3, i3 = u3.location && u3.location.href) {
35414
35461
  const l3 = /* @__PURE__ */ new Set();
@@ -35485,7 +35532,7 @@ ${l2}`}`, { bundledCss: i2, unfetchedResources: u2 };
35485
35532
  return d4 && (N3.shadowRoot = d4), N3;
35486
35533
  }
35487
35534
  }(t4);
35488
- d2(i2.doCaptureDoc), l2(i2.waitForImages), await Promise.all(f2), d2(i2.waitForImages), N2.version = "1.3.0", N2.scriptVersion = "11.5.0";
35535
+ d2(i2.doCaptureDoc), l2(i2.waitForImages), await Promise.all(f2), d2(i2.waitForImages), N2.version = "1.3.0", N2.scriptVersion = "11.5.2";
35489
35536
  const S2 = h2.length ? `${h2.join("\n")}
35490
35537
  ` : "", A2 = m2.size ? `${Array.from(m2).join("\n")}
35491
35538
  ` : "", Y2 = JSON.stringify({ separator: y2, cssStartToken: g2, cssEndToken: g2, iframeStartToken: `"${p2}`, iframeEndToken: `${p2}"` });
@@ -35554,14 +35601,14 @@ var require_pollResultCjs = __commonJS({
35554
35601
  var e3 = function(e4, n3) {
35555
35602
  const r2 = [];
35556
35603
  let o2 = 0;
35557
- for (let u2 = 0; u2 < e4.length; ++u2) {
35558
- const c2 = t4(e4, u2);
35604
+ for (let c2 = 0; c2 < e4.length; ++c2) {
35605
+ const u2 = t4(e4, c2);
35559
35606
  let a2 = 0;
35560
- c2 > 0 && (a2 = c2 < 128 ? 1 : c2 < 2048 ? 2 : c2 < 65536 ? 3 : c2 < 2097152 ? 4 : c2 < 67108864 ? 5 : 6), o2 + a2 > n3 ? (r2.push(u2), o2 = a2) : o2 += a2;
35607
+ u2 > 0 && (a2 = u2 < 128 ? 1 : u2 < 2048 ? 2 : u2 < 65536 ? 3 : u2 < 2097152 ? 4 : u2 < 67108864 ? 5 : 6), o2 + a2 > n3 ? (r2.push(c2), o2 = a2) : o2 += a2;
35561
35608
  }
35562
35609
  return r2;
35563
35610
  };
35564
- const n2 = e3, r = "WIP", o = "SUCCESS", u = "SUCCESS_CHUNKED", c = "ERROR";
35611
+ const n2 = e3, r = "WIP", o = "SUCCESS", c = "SUCCESS_CHUNKED", u = "ERROR";
35565
35612
  var a = function(t5, e4, a2 = {}) {
35566
35613
  const i2 = function(t6, { chunkByteLength: e5 = 0 } = {}) {
35567
35614
  if (t6) {
@@ -35572,23 +35619,23 @@ var require_pollResultCjs = __commonJS({
35572
35619
  const r2 = JSON.stringify(t6.value);
35573
35620
  t6.chunks = n2(r2, e5), t6.chunks.length > 0 && (t6.from = 0, t6.value = r2);
35574
35621
  } catch (t7) {
35575
- return { status: c, error: t7.message };
35622
+ return { status: u, error: t7.message };
35576
35623
  }
35577
35624
  if (t6.from >= 0)
35578
- return { status: u, value: t6.value.substring(t6.from, t6.from = t6.chunks.shift()), done: !t6.from };
35625
+ return { status: c, value: t6.value.substring(t6.from, t6.from = t6.chunks.shift()), done: !t6.from };
35579
35626
  }
35580
35627
  return { status: o, value: t6.value };
35581
35628
  }
35582
- return t6.error ? { status: c, error: t6.error } : { status: r };
35629
+ return t6.error ? { status: u, error: t6.error } : { status: r };
35583
35630
  }
35584
- return { status: c, error: "unexpected poll request received - cannot find state of current operation" };
35631
+ return { status: u, error: "unexpected poll request received - cannot find state of current operation" };
35585
35632
  }((t5 = t5 || {})[e4], a2);
35586
- return (i2.status === o || i2.status === c || i2.status === u && i2.done) && (t5[e4] = null), i2;
35633
+ return (i2.status === o || i2.status === u || i2.status === c && i2.done) && (t5[e4] = null), i2;
35587
35634
  };
35588
35635
  const i = a;
35589
35636
  var s = { chunkify: e3, pollify: function(t5, e4, n3) {
35590
35637
  return (r2) => function() {
35591
- return e4[n3] || (e4[n3] = {}, Promise.resolve().then(() => t5.apply(null, arguments)).then((t6) => e4[n3].value = t6).catch((t6) => e4[n3].error = t6.message)), i(e4, n3, r2);
35638
+ return e4[n3] || (e4[n3] = {}, Promise.resolve().then(() => t5.apply(null, arguments)).then((t6) => e4[n3].value = t6).catch((t6) => e4[n3].error = t6.message + "\nStack:" + t6.stack)), i(e4, n3, r2);
35592
35639
  };
35593
35640
  }, poll: a, absolutizeUrl: function(t5, e4) {
35594
35641
  if (function(t6) {
@@ -35635,10 +35682,10 @@ var require_pollResultCjs = __commonJS({
35635
35682
  n2 || (n2 = document.createElement("iframe"), n2.setAttribute("data-applitools-sandbox", ""), n2.setAttribute("data-applitools-skip", ""), document.head.appendChild(n2));
35636
35683
  const r = window.crypto.getRandomValues(new Uint32Array(1))[0], o = n2.contentDocument.createElement("script");
35637
35684
  o.textContent = `window['ctor-${r}'] = ${t2.toString()};`, n2.contentDocument.head.appendChild(o);
35638
- const u = n2.contentWindow[`ctor-${r}`];
35639
- if ("function" != typeof u)
35685
+ const c = n2.contentWindow[`ctor-${r}`];
35686
+ if ("function" != typeof c)
35640
35687
  throw new Error("Sandbox failed to extract function");
35641
- return e2 = false, u(document).apply(null, arguments);
35688
+ return e2 = false, c(document).apply(null, arguments);
35642
35689
  } catch (n2) {
35643
35690
  try {
35644
35691
  return t2(document).apply(null, arguments);
@@ -36632,7 +36679,7 @@ var require_get_base_eyes = __commonJS({
36632
36679
  },
36633
36680
  logger
36634
36681
  });
36635
- (0, report_kobiton_1.reportKobiton)({ driver: settings.driver, settings: baseEyes.test, logger });
36682
+ void (0, report_kobiton_1.reportKobiton)({ driver: settings.driver, settings: baseEyes.test, logger });
36636
36683
  return baseEyes;
36637
36684
  }
36638
36685
  }
@@ -36702,7 +36749,10 @@ var require_take_screenshots2 = __commonJS({
36702
36749
  await ((_a = screenshot.scrollingElement) === null || _a === void 0 ? void 0 : _a.setAttribute("data-applitools-scroll", "true"));
36703
36750
  else
36704
36751
  await ((_b = screenshot.element) === null || _b === void 0 ? void 0 : _b.setAttribute("data-applitools-scroll", "true"));
36705
- baseTarget.dom = await (0, take_dom_capture_1.takeDomCapture)({ driver, settings: settings.domSettings, logger }).catch(() => void 0);
36752
+ baseTarget.dom = await (0, take_dom_capture_1.takeDomCapture)({ driver, settings: settings.domSettings, logger }).catch((error) => {
36753
+ logger.error("failed to capture DOM", error);
36754
+ return void 0;
36755
+ });
36706
36756
  }
36707
36757
  if (settings.calculateView) {
36708
36758
  const scrollingElement = await driver.mainContext.getScrollingElement();
@@ -37191,7 +37241,7 @@ var require_check2 = __commonJS({
37191
37241
  } catch (error) {
37192
37242
  environmentLogger.error(`Check on environment with id "${(_b = baseEyes.test.environment) === null || _b === void 0 ? void 0 : _b.environmentId}" failed due to an error`, error);
37193
37243
  if (baseEyes.running && !(signal === null || signal === void 0 ? void 0 : signal.aborted))
37194
- baseEyes.abort({ logger: environmentLogger, settings: { reason: error } });
37244
+ void baseEyes.abort({ logger: environmentLogger, settings: { reason: error } });
37195
37245
  }
37196
37246
  } catch (error) {
37197
37247
  environmentLogger.error(`Environment with id ${environment.environmentId} failed before checking started due to an error`, error);
@@ -37533,7 +37583,7 @@ var require_check_and_close2 = __commonJS({
37533
37583
  throw new abort_error_1.AbortError(`Check on environment with id "${(_b2 = baseEyes.test.environment) === null || _b2 === void 0 ? void 0 : _b2.environmentId}" was aborted during one of the previous steps`);
37534
37584
  }
37535
37585
  if (settings.assumesMutability) {
37536
- eyes.core.logEvent({
37586
+ void eyes.core.logEvent({
37537
37587
  settings: {
37538
37588
  level: "Notice",
37539
37589
  event: {
@@ -38069,7 +38119,7 @@ var require_processPagePollCjs = __commonJS({
38069
38119
  const c = l;
38070
38120
  var u = { chunkify: n2, pollify: function(e4, t4, n3) {
38071
38121
  return (r2) => function() {
38072
- return t4[n3] || (t4[n3] = {}, Promise.resolve().then(() => e4.apply(null, arguments)).then((e5) => t4[n3].value = e5).catch((e5) => t4[n3].error = e5.message)), c(t4, n3, r2);
38122
+ return t4[n3] || (t4[n3] = {}, Promise.resolve().then(() => e4.apply(null, arguments)).then((e5) => t4[n3].value = e5).catch((e5) => t4[n3].error = e5.message + "\nStack:" + e5.stack)), c(t4, n3, r2);
38073
38123
  };
38074
38124
  }, poll: l, absolutizeUrl: function(e4, t4) {
38075
38125
  if (function(e5) {
@@ -38102,68 +38152,98 @@ var require_processPagePollCjs = __commonJS({
38102
38152
  return false;
38103
38153
  }
38104
38154
  } }, h = {}, d = h.addElementIds = function(t4) {
38105
- return function() {
38106
- function t5(n3, r2) {
38107
- if (function(t6) {
38108
- var n4 = t6 && t6[0] || null;
38109
- return !(n4 && ("isConnected" in window.Node.prototype ? n4.isConnected : e3.documentElement.contains ? e3.documentElement.contains(n4) : n4.ownerDocument.documentElement.contains(n4)));
38110
- }([n3])) {
38111
- var o2 = function(e4) {
38112
- if (null == e4 || !e4.getAttribute)
38113
- throw new Error("invalid element: " + JSON.stringify(e4));
38114
- var t6 = e4.getAttribute("data-applitools-fallback-selector");
38115
- if (!t6)
38116
- throw new Error("Failed to recover from stale element");
38117
- return t6;
38118
- }(n3), i2 = e3.querySelector(o2);
38119
- if (!i2)
38120
- throw new Error("Failed to recover from stale element - selector found: " + o2);
38121
- return i2.setAttribute("data-applitools-selector", r2), i2.setAttribute("data-applitools-recovered", true), t5(i2, r2);
38122
- }
38123
- !function(e4) {
38124
- e4.hasAttribute("data-applitools-fallback-selector") || e4.setAttribute("data-applitools-fallback-selector", function(e5) {
38125
- for (var t6 = []; e5 && e5.nodeType === Node.ELEMENT_NODE; ) {
38126
- var n4 = e5.tagName.toLowerCase(), r3 = [].slice.call(e5.parentNode.children || []).indexOf(e5) + 1;
38127
- r3 > 1 && (n4 += ":nth-child(" + r3 + ")"), t6.unshift(n4), e5 = e5.parentNode;
38128
- }
38155
+ var n3 = function() {
38156
+ var t5 = function(t6) {
38157
+ var n5 = t6 && t6[0] || null;
38158
+ return !(n5 && ("isConnected" in window.Node.prototype ? n5.isConnected : e3.documentElement.contains ? e3.documentElement.contains(n5) : n5.ownerDocument.documentElement.contains(n5)));
38159
+ }, n4 = t5, r2 = function(e4) {
38160
+ if (!e4.hasAttribute("data-applitools-fallback-selector")) {
38161
+ if (n4([e4]))
38162
+ throw new Error("The element is not connected to the DOM: " + function(e5) {
38163
+ var t6 = e5.attributes, n5 = e5.tagName, r3 = e5.children.length, o3 = [].slice.call(t6).map(function(e6) {
38164
+ return e6.name + '="' + e6.value + '"';
38165
+ }).join(" ");
38166
+ return "<" + n5 + " " + o3 + (r3 ? ">" : "/>");
38167
+ }(e4));
38168
+ e4.setAttribute("data-applitools-fallback-selector", function(e5) {
38169
+ for (var t6 = []; e5 && e5.nodeType === Node.ELEMENT_NODE; )
38170
+ try {
38171
+ var n5, r3 = e5.tagName.toLowerCase(), o3 = [].slice.call((null == (n5 = e5.parentNode) ? void 0 : n5.children) || []).indexOf(e5);
38172
+ o3 > -1 && (r3 += ":nth-child(" + (o3 + 1) + ")"), t6.unshift(r3), e5 = e5.parentNode;
38173
+ } catch (e6) {
38174
+ break;
38175
+ }
38129
38176
  return t6.length ? t6.join(" > ") : "html";
38130
38177
  }(e4));
38131
- }(n3);
38132
- var a2 = n3.getAttribute("data-applitools-selector"), s2 = a2 ? a2 + " " + r2 : r2;
38133
- return n3.setAttribute("data-applitools-selector", s2), '[data-applitools-selector~="' + r2 + '"]';
38178
+ }
38179
+ }, o2 = t5;
38180
+ function i2(t6, n5) {
38181
+ if (o2([t6])) {
38182
+ var a2 = function(e4) {
38183
+ return null != e4 && e4.getAttribute ? e4.getAttribute("data-applitools-fallback-selector") : { error: "invalid element: " + JSON.stringify(e4) };
38184
+ }(t6);
38185
+ if (!a2)
38186
+ return { error: "Failed to recover from stale element" };
38187
+ if (a2.error)
38188
+ return a2;
38189
+ var s2 = e3.querySelectorAll(a2);
38190
+ if (!s2 || 1 !== s2.length)
38191
+ return { error: "Failed to recover from stale element - selector found: " + a2 };
38192
+ var l2 = s2[0];
38193
+ return l2.setAttribute("data-applitools-selector", n5), l2.setAttribute("data-applitools-recovered", true), i2(l2, n5);
38194
+ }
38195
+ r2(t6);
38196
+ var c2 = t6.getAttribute("data-applitools-selector"), u2 = c2 ? c2 + " " + n5 : n5;
38197
+ return t6.setAttribute("data-applitools-selector", u2), '[data-applitools-selector~="' + n5 + '"]';
38134
38198
  }
38135
38199
  return function(e4) {
38136
38200
  return e4 && e4.__esModule && Object.prototype.hasOwnProperty.call(e4, "default") ? e4.default : e4;
38137
- }(function(n3) {
38138
- return n3.map(function(n4) {
38139
- var r2 = n4[0], o2 = n4[1];
38140
- return r2.map(function(n5) {
38141
- var r3 = function(t6) {
38142
- var n6 = [t6];
38143
- if (t6.getRootNode)
38144
- for (var r4 = t6.getRootNode(); r4 !== e3 && r4.constructor && "ShadowRoot" === r4.constructor.name; r4 = r4.host.getRootNode())
38145
- n6.push(r4.host);
38146
- return n6;
38147
- }(n5);
38148
- return r3.map(function(e4) {
38149
- return t5(e4, o2);
38201
+ }(function(t6) {
38202
+ return t6.map(function(t7) {
38203
+ var n5 = t7[0], r3 = t7[1];
38204
+ return n5.map(function(t8) {
38205
+ var n6 = function(t9) {
38206
+ var n7 = [t9];
38207
+ if (t9.getRootNode)
38208
+ for (var r4 = t9.getRootNode(); r4 !== e3 && r4.constructor && "ShadowRoot" === r4.constructor.name; r4 = r4.host.getRootNode())
38209
+ n7.push(r4.host);
38210
+ return n7;
38211
+ }(t8);
38212
+ return n6.map(function(e4) {
38213
+ return i2(e4, r3);
38150
38214
  });
38151
38215
  });
38152
38216
  });
38153
38217
  });
38154
- }()(t4);
38218
+ }();
38219
+ return n3(t4);
38155
38220
  };
38156
- h.addFallbackSelectorIfNeeded = function(e4) {
38157
- var t4;
38158
- return ((t4 = function(e5) {
38159
- e5.hasAttribute("data-applitools-fallback-selector") || e5.setAttribute("data-applitools-fallback-selector", function(e6) {
38160
- for (var t5 = []; e6 && e6.nodeType === Node.ELEMENT_NODE; ) {
38161
- var n3 = e6.tagName.toLowerCase(), r2 = [].slice.call(e6.parentNode.children || []).indexOf(e6) + 1;
38162
- r2 > 1 && (n3 += ":nth-child(" + r2 + ")"), t5.unshift(n3), e6 = e6.parentNode;
38163
- }
38164
- return t5.length ? t5.join(" > ") : "html";
38165
- }(e5));
38166
- }) && t4.__esModule && Object.prototype.hasOwnProperty.call(t4, "default") ? t4.default : t4)(e4);
38221
+ h.addFallbackSelectorIfNeeded = function(t4) {
38222
+ var n3;
38223
+ return ((n3 = function(t5) {
38224
+ if (!t5.hasAttribute("data-applitools-fallback-selector")) {
38225
+ if (function(t6) {
38226
+ var n4 = t6 && t6[0] || null;
38227
+ return !(n4 && ("isConnected" in window.Node.prototype ? n4.isConnected : e3.documentElement.contains ? e3.documentElement.contains(n4) : n4.ownerDocument.documentElement.contains(n4)));
38228
+ }([t5]))
38229
+ throw new Error("The element is not connected to the DOM: " + function(e4) {
38230
+ var t6 = e4.attributes, n4 = e4.tagName, r2 = e4.children.length, o2 = [].slice.call(t6).map(function(e5) {
38231
+ return e5.name + '="' + e5.value + '"';
38232
+ }).join(" ");
38233
+ return "<" + n4 + " " + o2 + (r2 ? ">" : "/>");
38234
+ }(t5));
38235
+ t5.setAttribute("data-applitools-fallback-selector", function(e4) {
38236
+ for (var t6 = []; e4 && e4.nodeType === Node.ELEMENT_NODE; )
38237
+ try {
38238
+ var n4, r2 = e4.tagName.toLowerCase(), o2 = [].slice.call((null == (n4 = e4.parentNode) ? void 0 : n4.children) || []).indexOf(e4);
38239
+ o2 > -1 && (r2 += ":nth-child(" + (o2 + 1) + ")"), t6.unshift(r2), e4 = e4.parentNode;
38240
+ } catch (e5) {
38241
+ break;
38242
+ }
38243
+ return t6.length ? t6.join(" > ") : "html";
38244
+ }(t5));
38245
+ }
38246
+ }) && n3.__esModule && Object.prototype.hasOwnProperty.call(n3, "default") ? n3.default : n3)(t4);
38167
38247
  }, h.addPageMarker = function(t4) {
38168
38248
  var n3, r2, o2 = (r2 = function(e4) {
38169
38249
  var t5 = void 0 === e4 ? [] : e4, n4 = t5[0], r3 = t5[1], o3 = Object.keys(r3).sort(), i2 = o3.reduce(function(e5, t6) {
@@ -38661,7 +38741,7 @@ var require_processPagePollCjs = __commonJS({
38661
38741
  const o2 = t4.map(([e5]) => {
38662
38742
  if (0 === e5.length)
38663
38743
  return null;
38664
- const t5 = n3[r2].reduceRight((e6, t6) => e6 ? { type: "css", selector: t6, shadow: e6 } : { type: "css", selector: t6 }, void 0);
38744
+ const t5 = n3[r2].reduceRight((e6, t6) => e6 ? { type: "css", selector: t6, shadow: e6 } : t6.error ? t6 : { type: "css", selector: t6 }, void 0);
38665
38745
  return r2 += e5.length, t5;
38666
38746
  });
38667
38747
  return o2;
@@ -38826,10 +38906,10 @@ var require_processPagePollCjs = __commonJS({
38826
38906
  ;
38827
38907
  return t4 + 1;
38828
38908
  }, O.getNewlineLength = R;
38829
- var M = ["EOF-token", "ident-token", "function-token", "at-keyword-token", "hash-token", "string-token", "bad-string-token", "url-token", "bad-url-token", "delim-token", "number-token", "percentage-token", "dimension-token", "whitespace-token", "CDO-token", "CDC-token", "colon-token", "semicolon-token", "comma-token", "[-token", "]-token", "(-token", ")-token", "{-token", "}-token", "comment-token"], F = {}, j = { adoptBuffer: function(e4 = null, t4) {
38909
+ var M = ["EOF-token", "ident-token", "function-token", "at-keyword-token", "hash-token", "string-token", "bad-string-token", "url-token", "bad-url-token", "delim-token", "number-token", "percentage-token", "dimension-token", "whitespace-token", "CDO-token", "CDC-token", "colon-token", "semicolon-token", "comma-token", "[-token", "]-token", "(-token", ")-token", "{-token", "}-token", "comment-token"], j = {}, F = { adoptBuffer: function(e4 = null, t4) {
38830
38910
  return null === e4 || e4.length < t4 ? new Uint32Array(Math.max(t4 + 1024, 16384)) : e4;
38831
38911
  } };
38832
- const U = j, W = k;
38912
+ const U = F, W = k;
38833
38913
  function H(e4) {
38834
38914
  const t4 = e4.source, n3 = t4.length, r2 = t4.length > 0 ? W.isBOM(t4.charCodeAt(0)) : 0, o2 = U.adoptBuffer(e4.lines, n3), i2 = U.adoptBuffer(e4.columns, n3);
38835
38915
  let a2 = e4.startLine, s2 = e4.startColumn;
@@ -38839,7 +38919,7 @@ var require_processPagePollCjs = __commonJS({
38839
38919
  }
38840
38920
  o2[n3] = a2, i2[n3] = s2, e4.lines = o2, e4.columns = i2, e4.computed = true;
38841
38921
  }
38842
- F.OffsetToLocation = class {
38922
+ j.OffsetToLocation = class {
38843
38923
  constructor() {
38844
38924
  this.lines = null, this.columns = null, this.computed = false;
38845
38925
  }
@@ -38854,7 +38934,7 @@ var require_processPagePollCjs = __commonJS({
38854
38934
  }
38855
38935
  };
38856
38936
  var q = {};
38857
- const V = j, $ = O, K = M, Z = y, G = 16777215, Y = 24, X = /* @__PURE__ */ new Map([[Z.Function, Z.RightParenthesis], [Z.LeftParenthesis, Z.RightParenthesis], [Z.LeftSquareBracket, Z.RightSquareBracket], [Z.LeftCurlyBracket, Z.RightCurlyBracket]]);
38937
+ const V = F, $ = O, K = M, Z = y, G = 16777215, Y = 24, X = /* @__PURE__ */ new Map([[Z.Function, Z.RightParenthesis], [Z.LeftParenthesis, Z.RightParenthesis], [Z.LeftSquareBracket, Z.RightSquareBracket], [Z.LeftCurlyBracket, Z.RightCurlyBracket]]);
38858
38938
  q.TokenStream = class {
38859
38939
  constructor(e4, t4) {
38860
38940
  this.setSource(e4, t4);
@@ -38967,7 +39047,7 @@ var require_processPagePollCjs = __commonJS({
38967
39047
  }), e4;
38968
39048
  }
38969
39049
  };
38970
- const J = y, Q = k, ee = O, te = M, ne = F, re = q;
39050
+ const J = y, Q = k, ee = O, te = M, ne = j, re = q;
38971
39051
  b.AtKeyword = J.AtKeyword, b.BadString = J.BadString, b.BadUrl = J.BadUrl, b.CDC = J.CDC, b.CDO = J.CDO, b.Colon = J.Colon, b.Comma = J.Comma, b.Comment = J.Comment, b.Delim = J.Delim, b.Dimension = J.Dimension, b.EOF = J.EOF, b.Function = J.Function, b.Hash = J.Hash, b.Ident = J.Ident, b.LeftCurlyBracket = J.LeftCurlyBracket, b.LeftParenthesis = J.LeftParenthesis, b.LeftSquareBracket = J.LeftSquareBracket, b.Number = J.Number, b.Percentage = J.Percentage, b.RightCurlyBracket = J.RightCurlyBracket, b.RightParenthesis = J.RightParenthesis, b.RightSquareBracket = J.RightSquareBracket, b.Semicolon = J.Semicolon, b.String = J.String, b.Url = J.Url, b.WhiteSpace = J.WhiteSpace, b.tokenTypes = J, b.DigitCategory = Q.DigitCategory, b.EofCategory = Q.EofCategory, b.NameStartCategory = Q.NameStartCategory, b.NonPrintableCategory = Q.NonPrintableCategory, b.WhiteSpaceCategory = Q.WhiteSpaceCategory, b.charCodeCategory = Q.charCodeCategory, b.isBOM = Q.isBOM, b.isDigit = Q.isDigit, b.isHexDigit = Q.isHexDigit, b.isIdentifierStart = Q.isIdentifierStart, b.isLetter = Q.isLetter, b.isLowercaseLetter = Q.isLowercaseLetter, b.isName = Q.isName, b.isNameStart = Q.isNameStart, b.isNewline = Q.isNewline, b.isNonAscii = Q.isNonAscii, b.isNonPrintable = Q.isNonPrintable, b.isNumberStart = Q.isNumberStart, b.isUppercaseLetter = Q.isUppercaseLetter, b.isValidEscape = Q.isValidEscape, b.isWhiteSpace = Q.isWhiteSpace, b.cmpChar = ee.cmpChar, b.cmpStr = ee.cmpStr, b.consumeBadUrlRemnants = ee.consumeBadUrlRemnants, b.consumeEscaped = ee.consumeEscaped, b.consumeName = ee.consumeName, b.consumeNumber = ee.consumeNumber, b.decodeEscaped = ee.decodeEscaped, b.findDecimalNumberEnd = ee.findDecimalNumberEnd, b.findWhiteSpaceEnd = ee.findWhiteSpaceEnd, b.findWhiteSpaceStart = ee.findWhiteSpaceStart, b.getNewlineLength = ee.getNewlineLength, b.tokenNames = te, b.OffsetToLocation = ne.OffsetToLocation, b.TokenStream = re.TokenStream, b.tokenize = function(e4, t4) {
38972
39052
  function n3(t5) {
38973
39053
  return t5 < a2 ? e4.charCodeAt(t5) : 0;
@@ -39347,7 +39427,7 @@ var require_processPagePollCjs = __commonJS({
39347
39427
  }
39348
39428
  return n3 && e4.onWhiteSpace && e4.onWhiteSpace.call(this, null, t4, r2), t4;
39349
39429
  };
39350
- const fe = ie, ge = le, be = b, ye = pe, ke = F, we = q, ve = O, xe = y, Se = M, _e = () => {
39430
+ const fe = ie, ge = le, be = b, ye = pe, ke = j, we = q, ve = O, xe = y, Se = M, _e = () => {
39351
39431
  };
39352
39432
  function Ce(e4) {
39353
39433
  return function() {
@@ -39607,24 +39687,24 @@ var require_processPagePollCjs = __commonJS({
39607
39687
  };
39608
39688
  }(Re);
39609
39689
  var De = {}, Ie = Re, Be = Object.prototype.hasOwnProperty, Me = "undefined" != typeof Map;
39610
- function Fe() {
39690
+ function je() {
39611
39691
  this._array = [], this._set = Me ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null);
39612
39692
  }
39613
- Fe.fromArray = function(e4, t4) {
39614
- for (var n3 = new Fe(), r2 = 0, o2 = e4.length; r2 < o2; r2++)
39693
+ je.fromArray = function(e4, t4) {
39694
+ for (var n3 = new je(), r2 = 0, o2 = e4.length; r2 < o2; r2++)
39615
39695
  n3.add(e4[r2], t4);
39616
39696
  return n3;
39617
- }, Fe.prototype.size = function() {
39697
+ }, je.prototype.size = function() {
39618
39698
  return Me ? this._set.size : Object.getOwnPropertyNames(this._set).length;
39619
- }, Fe.prototype.add = function(e4, t4) {
39699
+ }, je.prototype.add = function(e4, t4) {
39620
39700
  var n3 = Me ? e4 : Ie.toSetString(e4), r2 = Me ? this.has(e4) : Be.call(this._set, n3), o2 = this._array.length;
39621
39701
  r2 && !t4 || this._array.push(e4), r2 || (Me ? this._set.set(e4, o2) : this._set[n3] = o2);
39622
- }, Fe.prototype.has = function(e4) {
39702
+ }, je.prototype.has = function(e4) {
39623
39703
  if (Me)
39624
39704
  return this._set.has(e4);
39625
39705
  var t4 = Ie.toSetString(e4);
39626
39706
  return Be.call(this._set, t4);
39627
- }, Fe.prototype.indexOf = function(e4) {
39707
+ }, je.prototype.indexOf = function(e4) {
39628
39708
  if (Me) {
39629
39709
  var t4 = this._set.get(e4);
39630
39710
  if (t4 >= 0)
@@ -39635,14 +39715,14 @@ var require_processPagePollCjs = __commonJS({
39635
39715
  return this._set[n3];
39636
39716
  }
39637
39717
  throw new Error('"' + e4 + '" is not in the set.');
39638
- }, Fe.prototype.at = function(e4) {
39718
+ }, je.prototype.at = function(e4) {
39639
39719
  if (e4 >= 0 && e4 < this._array.length)
39640
39720
  return this._array[e4];
39641
39721
  throw new Error("No element indexed by " + e4);
39642
- }, Fe.prototype.toArray = function() {
39722
+ }, je.prototype.toArray = function() {
39643
39723
  return this._array.slice();
39644
- }, De.ArraySet = Fe;
39645
- var je = {}, Ue = Re;
39724
+ }, De.ArraySet = je;
39725
+ var Fe = {}, Ue = Re;
39646
39726
  function We() {
39647
39727
  this._array = [], this._sorted = true, this._last = { generatedLine: -1, generatedColumn: 0 };
39648
39728
  }
@@ -39653,8 +39733,8 @@ var require_processPagePollCjs = __commonJS({
39653
39733
  n3 = e4, r2 = (t4 = this._last).generatedLine, o2 = n3.generatedLine, i2 = t4.generatedColumn, a2 = n3.generatedColumn, o2 > r2 || o2 == r2 && a2 >= i2 || Ue.compareByGeneratedPositionsInflated(t4, n3) <= 0 ? (this._last = e4, this._array.push(e4)) : (this._sorted = false, this._array.push(e4));
39654
39734
  }, We.prototype.toArray = function() {
39655
39735
  return this._sorted || (this._array.sort(Ue.compareByGeneratedPositionsInflated), this._sorted = true), this._array;
39656
- }, je.MappingList = We;
39657
- var He = Le, qe = Re, Ve = De.ArraySet, $e = je.MappingList;
39736
+ }, Fe.MappingList = We;
39737
+ var He = Le, qe = Re, Ve = De.ArraySet, $e = Fe.MappingList;
39658
39738
  function Ke(e4) {
39659
39739
  e4 || (e4 = {}), this._file = qe.getArg(e4, "file", null), this._sourceRoot = qe.getArg(e4, "sourceRoot", null), this._skipValidation = qe.getArg(e4, "skipValidation", false), this._sources = new Ve(), this._names = new Ve(), this._mappings = new $e(), this._sourcesContents = null;
39660
39740
  }
@@ -40031,12 +40111,12 @@ var require_processPagePollCjs = __commonJS({
40031
40111
  return Nt.set(e4, a2), a2;
40032
40112
  }, Lt.vendorPrefix = Tt;
40033
40113
  var It = { cssWideKeywords: ["initial", "inherit", "unset", "revert", "revert-layer"] }, Bt = {};
40034
- const Mt = k, Ft = y, jt = O, Ut = 43, Wt = 45, Ht = true;
40114
+ const Mt = k, jt = y, Ft = O, Ut = 43, Wt = 45, Ht = true;
40035
40115
  function qt(e4, t4) {
40036
- return null !== e4 && e4.type === Ft.Delim && e4.value.charCodeAt(0) === t4;
40116
+ return null !== e4 && e4.type === jt.Delim && e4.value.charCodeAt(0) === t4;
40037
40117
  }
40038
40118
  function Vt(e4, t4, n3) {
40039
- for (; null !== e4 && (e4.type === Ft.WhiteSpace || e4.type === Ft.Comment); )
40119
+ for (; null !== e4 && (e4.type === jt.WhiteSpace || e4.type === jt.Comment); )
40040
40120
  e4 = n3(++t4);
40041
40121
  return t4;
40042
40122
  }
@@ -40058,10 +40138,10 @@ var require_processPagePollCjs = __commonJS({
40058
40138
  let r2 = false, o2 = Vt(e4, t4, n3);
40059
40139
  if (null === (e4 = n3(o2)))
40060
40140
  return t4;
40061
- if (e4.type !== Ft.Number) {
40141
+ if (e4.type !== jt.Number) {
40062
40142
  if (!qt(e4, Ut) && !qt(e4, Wt))
40063
40143
  return t4;
40064
- if (r2 = true, o2 = Vt(n3(++o2), o2, n3), null === (e4 = n3(o2)) || e4.type !== Ft.Number)
40144
+ if (r2 = true, o2 = Vt(n3(++o2), o2, n3), null === (e4 = n3(o2)) || e4.type !== jt.Number)
40065
40145
  return 0;
40066
40146
  }
40067
40147
  if (!r2) {
@@ -40102,10 +40182,10 @@ var require_processPagePollCjs = __commonJS({
40102
40182
  let n3 = 0;
40103
40183
  if (!e4)
40104
40184
  return 0;
40105
- if (e4.type === Ft.Number)
40185
+ if (e4.type === jt.Number)
40106
40186
  return $t(e4, 0, false, n3);
40107
- if (e4.type === Ft.Ident && e4.value.charCodeAt(0) === Wt) {
40108
- if (!jt.cmpChar(e4.value, 1, 110))
40187
+ if (e4.type === jt.Ident && e4.value.charCodeAt(0) === Wt) {
40188
+ if (!Ft.cmpChar(e4.value, 1, 110))
40109
40189
  return 0;
40110
40190
  switch (e4.value.length) {
40111
40191
  case 2:
@@ -40115,8 +40195,8 @@ var require_processPagePollCjs = __commonJS({
40115
40195
  default:
40116
40196
  return e4.value.charCodeAt(2) !== Wt ? 0 : $t(e4, 3, Ht, n3);
40117
40197
  }
40118
- } else if (e4.type === Ft.Ident || qt(e4, Ut) && t4(n3 + 1).type === Ft.Ident) {
40119
- if (e4.type !== Ft.Ident && (e4 = t4(++n3)), null === e4 || !jt.cmpChar(e4.value, 0, 110))
40198
+ } else if (e4.type === jt.Ident || qt(e4, Ut) && t4(n3 + 1).type === jt.Ident) {
40199
+ if (e4.type !== jt.Ident && (e4 = t4(++n3)), null === e4 || !Ft.cmpChar(e4.value, 0, 110))
40120
40200
  return 0;
40121
40201
  switch (e4.value.length) {
40122
40202
  case 1:
@@ -40126,11 +40206,11 @@ var require_processPagePollCjs = __commonJS({
40126
40206
  default:
40127
40207
  return e4.value.charCodeAt(1) !== Wt ? 0 : $t(e4, 2, Ht, n3);
40128
40208
  }
40129
- } else if (e4.type === Ft.Dimension) {
40209
+ } else if (e4.type === jt.Dimension) {
40130
40210
  let r2 = e4.value.charCodeAt(0), o2 = r2 === Ut || r2 === Wt ? 1 : 0, i2 = o2;
40131
40211
  for (; i2 < e4.value.length && Mt.isDigit(e4.value.charCodeAt(i2)); i2++)
40132
40212
  ;
40133
- return i2 === o2 ? 0 : jt.cmpChar(e4.value, i2, 110) ? i2 + 1 === e4.value.length ? Kt(t4(++n3), n3, t4) : e4.value.charCodeAt(i2 + 1) !== Wt ? 0 : i2 + 2 === e4.value.length ? (n3 = Vt(t4(++n3), n3, t4), $t(e4 = t4(n3), 0, Ht, n3)) : $t(e4, i2 + 2, Ht, n3) : 0;
40213
+ return i2 === o2 ? 0 : Ft.cmpChar(e4.value, i2, 110) ? i2 + 1 === e4.value.length ? Kt(t4(++n3), n3, t4) : e4.value.charCodeAt(i2 + 1) !== Wt ? 0 : i2 + 2 === e4.value.length ? (n3 = Vt(t4(++n3), n3, t4), $t(e4 = t4(n3), 0, Ht, n3)) : $t(e4, i2 + 2, Ht, n3) : 0;
40134
40214
  }
40135
40215
  return 0;
40136
40216
  }, nn = function(e4, t4) {
@@ -40389,7 +40469,7 @@ var require_processPagePollCjs = __commonJS({
40389
40469
  throw new Ln.SyntaxError(e4, this.str, this.pos);
40390
40470
  }
40391
40471
  };
40392
- const On = zn, Nn = 9, Tn = 10, Rn = 12, Dn = 13, In = 32, Bn = 33, Mn = 35, Fn = 38, jn = 39, Un = 40, Wn = 41, Hn = 42, qn = 43, Vn = 44, $n = 45, Kn = 60, Zn = 62, Gn = 63, Yn = 64, Xn = 91, Jn = 93, Qn = 123, er = 124, tr = 125, nr = 8734, rr = new Uint8Array(128).map((e4, t4) => /[a-zA-Z0-9\-]/.test(String.fromCharCode(t4)) ? 1 : 0), or = { " ": 1, "&&": 2, "||": 3, "|": 4 };
40472
+ const On = zn, Nn = 9, Tn = 10, Rn = 12, Dn = 13, In = 32, Bn = 33, Mn = 35, jn = 38, Fn = 39, Un = 40, Wn = 41, Hn = 42, qn = 43, Vn = 44, $n = 45, Kn = 60, Zn = 62, Gn = 63, Yn = 64, Xn = 91, Jn = 93, Qn = 123, er = 124, tr = 125, nr = 8734, rr = new Uint8Array(128).map((e4, t4) => /[a-zA-Z0-9\-]/.test(String.fromCharCode(t4)) ? 1 : 0), or = { " ": 1, "&&": 2, "||": 3, "|": 4 };
40393
40473
  function ir(e4) {
40394
40474
  return e4.substringToPos(e4.findWsEnd(e4.pos));
40395
40475
  }
@@ -40488,9 +40568,9 @@ var require_processPagePollCjs = __commonJS({
40488
40568
  return e5.eat(Xn), t5 = pr(e5), e5.eat(Jn), t5.explicit = true, e5.charCode() === Bn && (e5.pos++, t5.disallowEmpty = true), t5;
40489
40569
  }(e4));
40490
40570
  case Kn:
40491
- return e4.nextCharCode() === jn ? function(e5) {
40571
+ return e4.nextCharCode() === Fn ? function(e5) {
40492
40572
  let t5;
40493
- return e5.eat(Kn), e5.eat(jn), t5 = ar(e5), e5.eat(jn), e5.eat(Zn), ur(e5, { type: "Property", name: t5 });
40573
+ return e5.eat(Kn), e5.eat(Fn), t5 = ar(e5), e5.eat(Fn), e5.eat(Zn), ur(e5, { type: "Property", name: t5 });
40494
40574
  }(e4) : function(e5) {
40495
40575
  let t5, n3 = null;
40496
40576
  return e5.eat(Kn), t5 = ar(e5), e5.charCode() === Un && e5.nextCharCode() === Wn && (e5.pos += 2, t5 += "()"), e5.charCodeAt(e5.findWsEnd(e5.pos)) === Xn && (ir(e5), n3 = function(e6) {
@@ -40500,11 +40580,11 @@ var require_processPagePollCjs = __commonJS({
40500
40580
  }(e4);
40501
40581
  case er:
40502
40582
  return { type: "Combinator", value: e4.substringToPos(e4.pos + (e4.nextCharCode() === er ? 2 : 1)) };
40503
- case Fn:
40504
- return e4.pos++, e4.eat(Fn), { type: "Combinator", value: "&&" };
40583
+ case jn:
40584
+ return e4.pos++, e4.eat(jn), { type: "Combinator", value: "&&" };
40505
40585
  case Vn:
40506
40586
  return e4.pos++, { type: "Comma" };
40507
- case jn:
40587
+ case Fn:
40508
40588
  return ur(e4, { type: "String", value: lr(e4) });
40509
40589
  case In:
40510
40590
  case Nn:
@@ -40911,22 +40991,22 @@ var require_processPagePollCjs = __commonJS({
40911
40991
  }, Ir.isType = function(e4, t4) {
40912
40992
  return Mr(this, e4, (e5) => "Type" === e5.type && e5.name === t4);
40913
40993
  };
40914
- var Fr = {};
40915
- const jr = ie;
40994
+ var jr = {};
40995
+ const Fr = ie;
40916
40996
  function Ur(e4) {
40917
40997
  return "node" in e4 ? e4.node : Ur(e4.match[0]);
40918
40998
  }
40919
40999
  function Wr(e4) {
40920
41000
  return "node" in e4 ? e4.node : Wr(e4.match[e4.match.length - 1]);
40921
41001
  }
40922
- Fr.matchFragments = function(e4, t4, n3, r2, o2) {
41002
+ jr.matchFragments = function(e4, t4, n3, r2, o2) {
40923
41003
  const i2 = [];
40924
41004
  return null !== n3.matched && function n4(a2) {
40925
41005
  if (null !== a2.syntax && a2.syntax.type === r2 && a2.syntax.name === o2) {
40926
41006
  const n5 = Ur(a2), r3 = Wr(a2);
40927
41007
  e4.syntax.walk(t4, function(e5, t5, o3) {
40928
41008
  if (e5 === n5) {
40929
- const e6 = new jr.List();
41009
+ const e6 = new Fr.List();
40930
41010
  do {
40931
41011
  if (e6.appendData(t5.data), t5.data === r3)
40932
41012
  break;
@@ -41071,7 +41151,7 @@ var require_processPagePollCjs = __commonJS({
41071
41151
  const t5 = [];
41072
41152
  return Sn.tokenize(e5, (n3, r2, o2) => t5.push({ type: n3, value: e5.slice(r2, o2), node: null })), t5;
41073
41153
  }(e4) : t4.generate(e4, _n);
41074
- }, io = Cn, ao = Ar, so = Ir, lo = Fr, co = Hr, uo = An, ho = xt, po = Yr, mo = io.buildMatchGraph(to.cssWideKeywords.join(" | "));
41154
+ }, io = Cn, ao = Ar, so = Ir, lo = jr, co = Hr, uo = An, ho = xt, po = Yr, mo = io.buildMatchGraph(to.cssWideKeywords.join(" | "));
41075
41155
  function fo(e4, t4, n3) {
41076
41156
  const r2 = {};
41077
41157
  for (const o2 in e4)
@@ -41324,10 +41404,10 @@ var require_processPagePollCjs = __commonJS({
41324
41404
  for (r2 !== Ro && r2 !== Do || (t4 && this.error("Number sign is not allowed"), n3++); n3 < this.tokenEnd; n3++)
41325
41405
  To.isDigit(this.charCodeAt(n3)) || this.error("Integer is expected", n3);
41326
41406
  }
41327
- function Fo(e4) {
41407
+ function jo(e4) {
41328
41408
  return Mo.call(this, 0, e4);
41329
41409
  }
41330
- function jo(e4, t4) {
41410
+ function Fo(e4, t4) {
41331
41411
  if (!this.cmpChar(this.tokenStart + e4, t4)) {
41332
41412
  let n3 = "";
41333
41413
  switch (t4) {
@@ -41351,9 +41431,9 @@ var require_processPagePollCjs = __commonJS({
41351
41431
  do {
41352
41432
  n3 = this.lookupType(++e4);
41353
41433
  } while (n3 === No.WhiteSpace || n3 === No.Comment);
41354
- n3 !== No.Number && (this.skip(e4), Fo.call(this, Bo));
41434
+ n3 !== No.Number && (this.skip(e4), jo.call(this, Bo));
41355
41435
  }
41356
- return e4 > 0 && this.skip(e4), 0 === t4 && (n3 = this.charCodeAt(this.tokenStart), n3 !== Ro && n3 !== Do && this.error("Number sign is expected")), Fo.call(this, 0 !== t4), t4 === Do ? "-" + this.consume(No.Number) : this.consume(No.Number);
41436
+ return e4 > 0 && this.skip(e4), 0 === t4 && (n3 = this.charCodeAt(this.tokenStart), n3 !== Ro && n3 !== Do && this.error("Number sign is expected")), jo.call(this, 0 !== t4), t4 === Do ? "-" + this.consume(No.Number) : this.consume(No.Number);
41357
41437
  }
41358
41438
  const Wo = { a: [String, null], b: [String, null] };
41359
41439
  Oo.generate = function(e4) {
@@ -41370,36 +41450,36 @@ var require_processPagePollCjs = __commonJS({
41370
41450
  const e4 = this.tokenStart;
41371
41451
  let t4 = null, n3 = null;
41372
41452
  if (this.tokenType === No.Number)
41373
- Fo.call(this, false), n3 = this.consume(No.Number);
41453
+ jo.call(this, false), n3 = this.consume(No.Number);
41374
41454
  else if (this.tokenType === No.Ident && this.cmpChar(this.tokenStart, Do))
41375
- switch (t4 = "-1", jo.call(this, 1, Io), this.tokenEnd - this.tokenStart) {
41455
+ switch (t4 = "-1", Fo.call(this, 1, Io), this.tokenEnd - this.tokenStart) {
41376
41456
  case 2:
41377
41457
  this.next(), n3 = Uo.call(this);
41378
41458
  break;
41379
41459
  case 3:
41380
- jo.call(this, 2, Do), this.next(), this.skipSC(), Fo.call(this, Bo), n3 = "-" + this.consume(No.Number);
41460
+ Fo.call(this, 2, Do), this.next(), this.skipSC(), jo.call(this, Bo), n3 = "-" + this.consume(No.Number);
41381
41461
  break;
41382
41462
  default:
41383
- jo.call(this, 2, Do), Mo.call(this, 3, Bo), this.next(), n3 = this.substrToCursor(e4 + 2);
41463
+ Fo.call(this, 2, Do), Mo.call(this, 3, Bo), this.next(), n3 = this.substrToCursor(e4 + 2);
41384
41464
  }
41385
41465
  else if (this.tokenType === No.Ident || this.isDelim(Ro) && this.lookupType(1) === No.Ident) {
41386
41466
  let r2 = 0;
41387
- switch (t4 = "1", this.isDelim(Ro) && (r2 = 1, this.next()), jo.call(this, 0, Io), this.tokenEnd - this.tokenStart) {
41467
+ switch (t4 = "1", this.isDelim(Ro) && (r2 = 1, this.next()), Fo.call(this, 0, Io), this.tokenEnd - this.tokenStart) {
41388
41468
  case 1:
41389
41469
  this.next(), n3 = Uo.call(this);
41390
41470
  break;
41391
41471
  case 2:
41392
- jo.call(this, 1, Do), this.next(), this.skipSC(), Fo.call(this, Bo), n3 = "-" + this.consume(No.Number);
41472
+ Fo.call(this, 1, Do), this.next(), this.skipSC(), jo.call(this, Bo), n3 = "-" + this.consume(No.Number);
41393
41473
  break;
41394
41474
  default:
41395
- jo.call(this, 1, Do), Mo.call(this, 2, Bo), this.next(), n3 = this.substrToCursor(e4 + r2 + 1);
41475
+ Fo.call(this, 1, Do), Mo.call(this, 2, Bo), this.next(), n3 = this.substrToCursor(e4 + r2 + 1);
41396
41476
  }
41397
41477
  } else if (this.tokenType === No.Dimension) {
41398
41478
  const r2 = this.charCodeAt(this.tokenStart), o2 = r2 === Ro || r2 === Do;
41399
41479
  let i2 = this.tokenStart + o2;
41400
41480
  for (; i2 < this.tokenEnd && To.isDigit(this.charCodeAt(i2)); i2++)
41401
41481
  ;
41402
- i2 === this.tokenStart + o2 && this.error("Integer is expected", this.tokenStart + o2), jo.call(this, i2 - this.tokenStart, Io), t4 = this.substring(e4, i2), i2 + 1 === this.tokenEnd ? (this.next(), n3 = Uo.call(this)) : (jo.call(this, i2 - this.tokenStart + 1, Do), i2 + 2 === this.tokenEnd ? (this.next(), this.skipSC(), Fo.call(this, Bo), n3 = "-" + this.consume(No.Number)) : (Mo.call(this, i2 - this.tokenStart + 2, Bo), this.next(), n3 = this.substrToCursor(i2 + 1)));
41482
+ i2 === this.tokenStart + o2 && this.error("Integer is expected", this.tokenStart + o2), Fo.call(this, i2 - this.tokenStart, Io), t4 = this.substring(e4, i2), i2 + 1 === this.tokenEnd ? (this.next(), n3 = Uo.call(this)) : (Fo.call(this, i2 - this.tokenStart + 1, Do), i2 + 2 === this.tokenEnd ? (this.next(), this.skipSC(), jo.call(this, Bo), n3 = "-" + this.consume(No.Number)) : (Mo.call(this, i2 - this.tokenStart + 2, Bo), this.next(), n3 = this.substrToCursor(i2 + 1)));
41403
41483
  } else
41404
41484
  this.error();
41405
41485
  return null !== t4 && t4.charCodeAt(0) === Ro && (t4 = t4.substr(1)), null !== n3 && n3.charCodeAt(0) === Ro && (n3 = n3.substr(1)), { type: "AnPlusB", loc: this.getLocation(e4, this.tokenStart), a: t4, b: n3 };
@@ -41666,7 +41746,7 @@ var require_processPagePollCjs = __commonJS({
41666
41746
  }, Pi.structure = Ri, Pi.walkContext = "declaration";
41667
41747
  var Bi = {};
41668
41748
  const Mi = y;
41669
- function Fi() {
41749
+ function ji() {
41670
41750
  return this.Raw(this.consumeUntilSemicolonIncluded, true);
41671
41751
  }
41672
41752
  Bi.generate = function(e4) {
@@ -41683,21 +41763,21 @@ var require_processPagePollCjs = __commonJS({
41683
41763
  this.next();
41684
41764
  break;
41685
41765
  case Mi.AtKeyword:
41686
- e4.push(this.parseWithFallback(this.Atrule.bind(this, true), Fi));
41766
+ e4.push(this.parseWithFallback(this.Atrule.bind(this, true), ji));
41687
41767
  break;
41688
41768
  default:
41689
- this.isDelim(38) ? e4.push(this.parseWithFallback(this.Rule, Fi)) : e4.push(this.parseWithFallback(this.Declaration, Fi));
41769
+ this.isDelim(38) ? e4.push(this.parseWithFallback(this.Rule, ji)) : e4.push(this.parseWithFallback(this.Declaration, ji));
41690
41770
  }
41691
41771
  return { type: "DeclarationList", loc: this.getLocationFromList(e4), children: e4 };
41692
41772
  }, Bi.structure = { children: [["Declaration", "Atrule", "Rule"]] };
41693
- var ji = {};
41773
+ var Fi = {};
41694
41774
  const Ui = y, Wi = { value: String, unit: String };
41695
- ji.generate = function(e4) {
41775
+ Fi.generate = function(e4) {
41696
41776
  this.token(Ui.Dimension, e4.value + e4.unit);
41697
- }, ji.name = "Dimension", ji.parse = function() {
41777
+ }, Fi.name = "Dimension", Fi.parse = function() {
41698
41778
  const e4 = this.tokenStart, t4 = this.consumeNumber(Ui.Dimension);
41699
41779
  return { type: "Dimension", loc: this.getLocation(e4, this.tokenStart), value: t4, unit: this.substring(e4 + t4.length, this.tokenStart) };
41700
- }, ji.structure = Wi;
41780
+ }, Fi.structure = Wi;
41701
41781
  var Hi = {};
41702
41782
  const qi = y, Vi = { kind: String, name: String, value: ["Identifier", "Number", "Dimension", "Ratio", "Function", null] };
41703
41783
  Hi.generate = function(e4) {
@@ -41939,21 +42019,21 @@ var require_processPagePollCjs = __commonJS({
41939
42019
  return this.eat(Ia.LeftParenthesis), r2 = e4.call(this, t4), this.eof || this.eat(Ia.RightParenthesis), { type: "Parentheses", loc: this.getLocation(n3, this.tokenStart), children: r2 };
41940
42020
  }, Da.structure = { children: [[]] };
41941
42021
  var Ba = {};
41942
- const Ma = y, Fa = { value: String };
42022
+ const Ma = y, ja = { value: String };
41943
42023
  Ba.generate = function(e4) {
41944
42024
  this.token(Ma.Percentage, e4.value + "%");
41945
42025
  }, Ba.name = "Percentage", Ba.parse = function() {
41946
42026
  return { type: "Percentage", loc: this.getLocation(this.tokenStart, this.tokenEnd), value: this.consumeNumber(Ma.Percentage) };
41947
- }, Ba.structure = Fa;
41948
- var ja = {};
42027
+ }, Ba.structure = ja;
42028
+ var Fa = {};
41949
42029
  const Ua = y, Wa = { name: String, children: [["Raw"], null] };
41950
- ja.generate = function(e4) {
42030
+ Fa.generate = function(e4) {
41951
42031
  this.token(Ua.Colon, ":"), null === e4.children ? this.token(Ua.Ident, e4.name) : (this.token(Ua.Function, e4.name + "("), this.children(e4), this.token(Ua.RightParenthesis, ")"));
41952
- }, ja.name = "PseudoClassSelector", ja.parse = function() {
42032
+ }, Fa.name = "PseudoClassSelector", Fa.parse = function() {
41953
42033
  const e4 = this.tokenStart;
41954
42034
  let t4, n3, r2 = null;
41955
42035
  return this.eat(Ua.Colon), this.tokenType === Ua.Function ? (t4 = this.consumeFunctionName(), n3 = t4.toLowerCase(), this.lookupNonWSType(0) == Ua.RightParenthesis ? r2 = this.createList() : hasOwnProperty.call(this.pseudo, n3) ? (this.skipSC(), r2 = this.pseudo[n3].call(this), this.skipSC()) : (r2 = this.createList(), r2.push(this.Raw(null, false))), this.eat(Ua.RightParenthesis)) : t4 = this.consume(Ua.Ident), { type: "PseudoClassSelector", loc: this.getLocation(e4, this.tokenStart), name: t4, children: r2 };
41956
- }, ja.structure = Wa, ja.walkContext = "function";
42036
+ }, Fa.structure = Wa, Fa.walkContext = "function";
41957
42037
  var Ha = {};
41958
42038
  const qa = y, Va = { name: String, children: [["Raw"], null] };
41959
42039
  Ha.generate = function(e4) {
@@ -42220,18 +42300,18 @@ var require_processPagePollCjs = __commonJS({
42220
42300
  }
42221
42301
  return "url(" + t4 + ")";
42222
42302
  };
42223
- const Fs = Is, js = cs, Us = y, Ws = { value: String };
42303
+ const js = Is, Fs = cs, Us = y, Ws = { value: String };
42224
42304
  Ds.generate = function(e4) {
42225
- this.token(Us.Url, Fs.encode(e4.value));
42305
+ this.token(Us.Url, js.encode(e4.value));
42226
42306
  }, Ds.name = "Url", Ds.parse = function() {
42227
42307
  const e4 = this.tokenStart;
42228
42308
  let t4;
42229
42309
  switch (this.tokenType) {
42230
42310
  case Us.Url:
42231
- t4 = Fs.decode(this.consume(Us.Url));
42311
+ t4 = js.decode(this.consume(Us.Url));
42232
42312
  break;
42233
42313
  case Us.Function:
42234
- this.cmpStr(this.tokenStart, this.tokenEnd, "url(") || this.error("Function name must be `url`"), this.eat(Us.Function), this.skipSC(), t4 = js.decode(this.consume(Us.String)), this.skipSC(), this.eof || this.eat(Us.RightParenthesis);
42314
+ this.cmpStr(this.tokenStart, this.tokenEnd, "url(") || this.error("Function name must be `url`"), this.eat(Us.Function), this.skipSC(), t4 = Fs.decode(this.consume(Us.String)), this.skipSC(), this.eof || this.eat(Us.RightParenthesis);
42235
42315
  break;
42236
42316
  default:
42237
42317
  this.error("Url or Function is expected");
@@ -42250,8 +42330,8 @@ var require_processPagePollCjs = __commonJS({
42250
42330
  }, qs.name = "WhiteSpace", qs.parse = function() {
42251
42331
  return this.eat(Vs.WhiteSpace), $s;
42252
42332
  }, qs.structure = Ks;
42253
- const Zs = Oo, Gs = Ho, Ys = Zo, Xs = Yo, Js = ti, Qs = si, el = ci, tl = hi, nl = pi, rl = gi, ol = ki, il = xi, al = Pi, sl = Bi, ll = ji, cl = Hi, ul = $i, hl = Yi, dl = ta, pl = oa, ml = sa, fl = ua, gl = pa, bl = ga, yl = ka, kl = va, wl = _a, vl = Aa, xl = Pa, Sl = La, _l = Ta, Cl = Da, Al = Ba, zl = ja, Pl = Ha, El = $a, Ll = Ga, Ol = Qa, Nl = rs, Tl = is, Rl = as, Dl = ls, Il = fs, Bl = ys, Ml = ws, Fl = _s, jl = Ds, Ul = Hs, Wl = qs;
42254
- Lo.AnPlusB = Zs, Lo.Atrule = Gs, Lo.AtrulePrelude = Ys, Lo.AttributeSelector = Xs, Lo.Block = Js, Lo.Brackets = Qs, Lo.CDC = el, Lo.CDO = tl, Lo.ClassSelector = nl, Lo.Combinator = rl, Lo.Comment = ol, Lo.Condition = il, Lo.Declaration = al, Lo.DeclarationList = sl, Lo.Dimension = ll, Lo.Feature = cl, Lo.FeatureFunction = ul, Lo.FeatureRange = hl, Lo.Function = dl, Lo.GeneralEnclosed = pl, Lo.Hash = ml, Lo.Identifier = fl, Lo.IdSelector = gl, Lo.Layer = bl, Lo.LayerList = yl, Lo.MediaQuery = kl, Lo.MediaQueryList = wl, Lo.NestingSelector = vl, Lo.Nth = xl, Lo.Number = Sl, Lo.Operator = _l, Lo.Parentheses = Cl, Lo.Percentage = Al, Lo.PseudoClassSelector = zl, Lo.PseudoElementSelector = Pl, Lo.Ratio = El, Lo.Raw = Ll, Lo.Rule = Ol, Lo.Scope = Nl, Lo.Selector = Tl, Lo.SelectorList = Rl, Lo.String = Dl, Lo.StyleSheet = Il, Lo.SupportsDeclaration = Bl, Lo.TypeSelector = Ml, Lo.UnicodeRange = Fl, Lo.Url = jl, Lo.Value = Ul, Lo.WhiteSpace = Wl;
42333
+ const Zs = Oo, Gs = Ho, Ys = Zo, Xs = Yo, Js = ti, Qs = si, el = ci, tl = hi, nl = pi, rl = gi, ol = ki, il = xi, al = Pi, sl = Bi, ll = Fi, cl = Hi, ul = $i, hl = Yi, dl = ta, pl = oa, ml = sa, fl = ua, gl = pa, bl = ga, yl = ka, kl = va, wl = _a, vl = Aa, xl = Pa, Sl = La, _l = Ta, Cl = Da, Al = Ba, zl = Fa, Pl = Ha, El = $a, Ll = Ga, Ol = Qa, Nl = rs, Tl = is, Rl = as, Dl = ls, Il = fs, Bl = ys, Ml = ws, jl = _s, Fl = Ds, Ul = Hs, Wl = qs;
42334
+ Lo.AnPlusB = Zs, Lo.Atrule = Gs, Lo.AtrulePrelude = Ys, Lo.AttributeSelector = Xs, Lo.Block = Js, Lo.Brackets = Qs, Lo.CDC = el, Lo.CDO = tl, Lo.ClassSelector = nl, Lo.Combinator = rl, Lo.Comment = ol, Lo.Condition = il, Lo.Declaration = al, Lo.DeclarationList = sl, Lo.Dimension = ll, Lo.Feature = cl, Lo.FeatureFunction = ul, Lo.FeatureRange = hl, Lo.Function = dl, Lo.GeneralEnclosed = pl, Lo.Hash = ml, Lo.Identifier = fl, Lo.IdSelector = gl, Lo.Layer = bl, Lo.LayerList = yl, Lo.MediaQuery = kl, Lo.MediaQueryList = wl, Lo.NestingSelector = vl, Lo.Nth = xl, Lo.Number = Sl, Lo.Operator = _l, Lo.Parentheses = Cl, Lo.Percentage = Al, Lo.PseudoClassSelector = zl, Lo.PseudoElementSelector = Pl, Lo.Ratio = El, Lo.Raw = Ll, Lo.Rule = Ol, Lo.Scope = Nl, Lo.Selector = Tl, Lo.SelectorList = Rl, Lo.String = Dl, Lo.StyleSheet = Il, Lo.SupportsDeclaration = Bl, Lo.TypeSelector = Ml, Lo.UnicodeRange = jl, Lo.Url = Fl, Lo.Value = Ul, Lo.WhiteSpace = Wl;
42255
42335
  var Hl = { generic: true, generic: true, units: { angle: ["deg", "grad", "rad", "turn"], decibel: ["db"], flex: ["fr"], frequency: ["hz", "khz"], length: ["cm", "mm", "q", "in", "pt", "pc", "px", "em", "rem", "ex", "rex", "cap", "rcap", "ch", "rch", "ic", "ric", "lh", "rlh", "vw", "svw", "lvw", "dvw", "vh", "svh", "lvh", "dvh", "vi", "svi", "lvi", "dvi", "vb", "svb", "lvb", "dvb", "vmin", "svmin", "lvmin", "dvmin", "vmax", "svmax", "lvmax", "dvmax", "cqw", "cqh", "cqi", "cqb", "cqmin", "cqmax"], resolution: ["dpi", "dpcm", "dppx", "x"], semitones: ["st"], time: ["s", "ms"] }, types: { "abs()": "abs( <calc-sum> )", "absolute-size": "xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large", "acos()": "acos( <calc-sum> )", "alpha-value": "<number>|<percentage>", "angle-percentage": "<angle>|<percentage>", "angular-color-hint": "<angle-percentage>", "angular-color-stop": "<color>&&<color-stop-angle>?", "angular-color-stop-list": "[<angular-color-stop> [, <angular-color-hint>]?]# , <angular-color-stop>", "animateable-feature": "scroll-position|contents|<custom-ident>", "asin()": "asin( <calc-sum> )", "atan()": "atan( <calc-sum> )", "atan2()": "atan2( <calc-sum> , <calc-sum> )", attachment: "scroll|fixed|local", "attr()": "attr( <attr-name> <type-or-unit>? [, <attr-fallback>]? )", "attr-matcher": "['~'|'|'|'^'|'$'|'*']? '='", "attr-modifier": "i|s", "attribute-selector": "'[' <wq-name> ']'|'[' <wq-name> <attr-matcher> [<string-token>|<ident-token>] <attr-modifier>? ']'", "auto-repeat": "repeat( [auto-fill|auto-fit] , [<line-names>? <fixed-size>]+ <line-names>? )", "auto-track-list": "[<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>? <auto-repeat> [<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>?", axis: "block|inline|vertical|horizontal", "baseline-position": "[first|last]? baseline", "basic-shape": "<inset()>|<circle()>|<ellipse()>|<polygon()>|<path()>", "bg-image": "none|<image>", "bg-layer": "<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>", "bg-position": "[[left|center|right|top|bottom|<length-percentage>]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]|[center|[left|right] <length-percentage>?]&&[center|[top|bottom] <length-percentage>?]]", "bg-size": "[<length-percentage>|auto]{1,2}|cover|contain", "blur()": "blur( <length> )", "blend-mode": "normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity", box: "border-box|padding-box|content-box", "brightness()": "brightness( <number-percentage> )", "calc()": "calc( <calc-sum> )", "calc-sum": "<calc-product> [['+'|'-'] <calc-product>]*", "calc-product": "<calc-value> ['*' <calc-value>|'/' <number>]*", "calc-value": "<number>|<dimension>|<percentage>|<calc-constant>|( <calc-sum> )", "calc-constant": "e|pi|infinity|-infinity|NaN", "cf-final-image": "<image>|<color>", "cf-mixing-image": "<percentage>?&&<image>", "circle()": "circle( [<shape-radius>]? [at <position>]? )", "clamp()": "clamp( <calc-sum>#{3} )", "class-selector": "'.' <ident-token>", "clip-source": "<url>", color: "<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<hex-color>|<named-color>|currentcolor|<deprecated-system-color>|<-non-standard-color>", "color-stop": "<color-stop-length>|<color-stop-angle>", "color-stop-angle": "<angle-percentage>{1,2}", "color-stop-length": "<length-percentage>{1,2}", "color-stop-list": "[<linear-color-stop> [, <linear-color-hint>]?]# , <linear-color-stop>", combinator: "'>'|'+'|'~'|['|' '|']", "common-lig-values": "[common-ligatures|no-common-ligatures]", "compat-auto": "searchfield|textarea|push-button|slider-horizontal|checkbox|radio|square-button|menulist|listbox|meter|progress-bar|button", "composite-style": "clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor", "compositing-operator": "add|subtract|intersect|exclude", "compound-selector": "[<type-selector>? <subclass-selector>*]!", "compound-selector-list": "<compound-selector>#", "complex-selector": "<complex-selector-unit> [<combinator>? <complex-selector-unit>]*", "complex-selector-list": "<complex-selector>#", "conic-gradient()": "conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )", "contextual-alt-values": "[contextual|no-contextual]", "content-distribution": "space-between|space-around|space-evenly|stretch", "content-list": "[<string>|contents|<image>|<counter>|<quote>|<target>|<leader()>|<attr()>]+", "content-position": "center|start|end|flex-start|flex-end", "content-replacement": "<image>", "contrast()": "contrast( [<number-percentage>] )", "cos()": "cos( <calc-sum> )", counter: "<counter()>|<counters()>", "counter()": "counter( <counter-name> , <counter-style>? )", "counter-name": "<custom-ident>", "counter-style": "<counter-style-name>|symbols( )", "counter-style-name": "<custom-ident>", "counters()": "counters( <counter-name> , <string> , <counter-style>? )", "cross-fade()": "cross-fade( <cf-mixing-image> , <cf-final-image>? )", "cubic-bezier-timing-function": "ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )", "deprecated-system-color": "ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText", "discretionary-lig-values": "[discretionary-ligatures|no-discretionary-ligatures]", "display-box": "contents|none", "display-inside": "flow|flow-root|table|flex|grid|ruby", "display-internal": "table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container", "display-legacy": "inline-block|inline-list-item|inline-table|inline-flex|inline-grid", "display-listitem": "<display-outside>?&&[flow|flow-root]?&&list-item", "display-outside": "block|inline|run-in", "drop-shadow()": "drop-shadow( <length>{2,3} <color>? )", "east-asian-variant-values": "[jis78|jis83|jis90|jis04|simplified|traditional]", "east-asian-width-values": "[full-width|proportional-width]", "element()": "element( <custom-ident> , [first|start|last|first-except]? )|element( <id-selector> )", "ellipse()": "ellipse( [<shape-radius>{2}]? [at <position>]? )", "ending-shape": "circle|ellipse", "env()": "env( <custom-ident> , <declaration-value>? )", "exp()": "exp( <calc-sum> )", "explicit-track-list": "[<line-names>? <track-size>]+ <line-names>?", "family-name": "<string>|<custom-ident>+", "feature-tag-value": "<string> [<integer>|on|off]?", "feature-type": "@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation", "feature-value-block": "<feature-type> '{' <feature-value-declaration-list> '}'", "feature-value-block-list": "<feature-value-block>+", "feature-value-declaration": "<custom-ident> : <integer>+ ;", "feature-value-declaration-list": "<feature-value-declaration>", "feature-value-name": "<custom-ident>", "fill-rule": "nonzero|evenodd", "filter-function": "<blur()>|<brightness()>|<contrast()>|<drop-shadow()>|<grayscale()>|<hue-rotate()>|<invert()>|<opacity()>|<saturate()>|<sepia()>", "filter-function-list": "[<filter-function>|<url>]+", "final-bg-layer": "<'background-color'>||<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>", "fixed-breadth": "<length-percentage>", "fixed-repeat": "repeat( [<integer [1,\u221E]>] , [<line-names>? <fixed-size>]+ <line-names>? )", "fixed-size": "<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )", "font-stretch-absolute": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>", "font-variant-css21": "[normal|small-caps]", "font-weight-absolute": "normal|bold|<number [1,1000]>", "frequency-percentage": "<frequency>|<percentage>", "general-enclosed": "[<function-token> <any-value>? )]|[( <any-value>? )]", "generic-family": "serif|sans-serif|cursive|fantasy|monospace|-apple-system", "generic-name": "serif|sans-serif|cursive|fantasy|monospace", "geometry-box": "<shape-box>|fill-box|stroke-box|view-box", gradient: "<linear-gradient()>|<repeating-linear-gradient()>|<radial-gradient()>|<repeating-radial-gradient()>|<conic-gradient()>|<repeating-conic-gradient()>|<-legacy-gradient>", "grayscale()": "grayscale( <number-percentage> )", "grid-line": "auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]", "historical-lig-values": "[historical-ligatures|no-historical-ligatures]", "hsl()": "hsl( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )", "hsla()": "hsla( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )", hue: "<number>|<angle>", "hue-rotate()": "hue-rotate( <angle> )", "hwb()": "hwb( [<hue>|none] [<percentage>|none] [<percentage>|none] [/ [<alpha-value>|none]]? )", "hypot()": "hypot( <calc-sum># )", image: "<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>", "image()": "image( <image-tags>? [<image-src>? , <color>?]! )", "image-set()": "image-set( <image-set-option># )", "image-set-option": "[<image>|<string>] [<resolution>||type( <string> )]", "image-src": "<url>|<string>", "image-tags": "ltr|rtl", "inflexible-breadth": "<length-percentage>|min-content|max-content|auto", "inset()": "inset( <length-percentage>{1,4} [round <'border-radius'>]? )", "invert()": "invert( <number-percentage> )", "keyframes-name": "<custom-ident>|<string>", "keyframe-block": "<keyframe-selector># { <declaration-list> }", "keyframe-block-list": "<keyframe-block>+", "keyframe-selector": "from|to|<percentage>|<timeline-range-name> <percentage>", "lab()": "lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )", "layer()": "layer( <layer-name> )", "layer-name": "<ident> ['.' <ident>]*", "lch()": "lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )", "leader()": "leader( <leader-type> )", "leader-type": "dotted|solid|space|<string>", "length-percentage": "<length>|<percentage>", "line-names": "'[' <custom-ident>* ']'", "line-name-list": "[<line-names>|<name-repeat>]+", "line-style": "none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset", "line-width": "<length>|thin|medium|thick", "linear-color-hint": "<length-percentage>", "linear-color-stop": "<color> <color-stop-length>?", "linear-gradient()": "linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )", "log()": "log( <calc-sum> , <calc-sum>? )", "mask-layer": "<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||<geometry-box>||[<geometry-box>|no-clip]||<compositing-operator>||<masking-mode>", "mask-position": "[<length-percentage>|left|center|right] [<length-percentage>|top|center|bottom]?", "mask-reference": "none|<image>|<mask-source>", "mask-source": "<url>", "masking-mode": "alpha|luminance|match-source", "matrix()": "matrix( <number>#{6} )", "matrix3d()": "matrix3d( <number>#{16} )", "max()": "max( <calc-sum># )", "media-and": "<media-in-parens> [and <media-in-parens>]+", "media-condition": "<media-not>|<media-and>|<media-or>|<media-in-parens>", "media-condition-without-or": "<media-not>|<media-and>|<media-in-parens>", "media-feature": "( [<mf-plain>|<mf-boolean>|<mf-range>] )", "media-in-parens": "( <media-condition> )|<media-feature>|<general-enclosed>", "media-not": "not <media-in-parens>", "media-or": "<media-in-parens> [or <media-in-parens>]+", "media-query": "<media-condition>|[not|only]? <media-type> [and <media-condition-without-or>]?", "media-query-list": "<media-query>#", "media-type": "<ident>", "mf-boolean": "<mf-name>", "mf-name": "<ident>", "mf-plain": "<mf-name> : <mf-value>", "mf-range": "<mf-name> ['<'|'>']? '='? <mf-value>|<mf-value> ['<'|'>']? '='? <mf-name>|<mf-value> '<' '='? <mf-name> '<' '='? <mf-value>|<mf-value> '>' '='? <mf-name> '>' '='? <mf-value>", "mf-value": "<number>|<dimension>|<ident>|<ratio>", "min()": "min( <calc-sum># )", "minmax()": "minmax( [<length-percentage>|min-content|max-content|auto] , [<length-percentage>|<flex>|min-content|max-content|auto] )", "mod()": "mod( <calc-sum> , <calc-sum> )", "name-repeat": "repeat( [<integer [1,\u221E]>|auto-fill] , <line-names>+ )", "named-color": "transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen", "namespace-prefix": "<ident>", "ns-prefix": "[<ident-token>|'*']? '|'", "number-percentage": "<number>|<percentage>", "numeric-figure-values": "[lining-nums|oldstyle-nums]", "numeric-fraction-values": "[diagonal-fractions|stacked-fractions]", "numeric-spacing-values": "[proportional-nums|tabular-nums]", nth: "<an-plus-b>|even|odd", "opacity()": "opacity( [<number-percentage>] )", "overflow-position": "unsafe|safe", "outline-radius": "<length>|<percentage>", "page-body": "<declaration>? [; <page-body>]?|<page-margin-box> <page-body>", "page-margin-box": "<page-margin-box-type> '{' <declaration-list> '}'", "page-margin-box-type": "@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom", "page-selector-list": "[<page-selector>#]?", "page-selector": "<pseudo-page>+|<ident> <pseudo-page>*", "page-size": "A5|A4|A3|B5|B4|JIS-B5|JIS-B4|letter|legal|ledger", "path()": "path( [<fill-rule> ,]? <string> )", "paint()": "paint( <ident> , <declaration-value>? )", "perspective()": "perspective( [<length [0,\u221E]>|none] )", "polygon()": "polygon( <fill-rule>? , [<length-percentage> <length-percentage>]# )", position: "[[left|center|right]||[top|center|bottom]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]?|[[left|right] <length-percentage>]&&[[top|bottom] <length-percentage>]]", "pow()": "pow( <calc-sum> , <calc-sum> )", "pseudo-class-selector": "':' <ident-token>|':' <function-token> <any-value> ')'", "pseudo-element-selector": "':' <pseudo-class-selector>|<legacy-pseudo-element-selector>", "pseudo-page": ": [left|right|first|blank]", quote: "open-quote|close-quote|no-open-quote|no-close-quote", "radial-gradient()": "radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )", ratio: "<number [0,\u221E]> [/ <number [0,\u221E]>]?", "ray()": "ray( <angle>&&<ray-size>?&&contain?&&[at <position>]? )", "relative-selector": "<combinator>? <complex-selector>", "relative-selector-list": "<relative-selector>#", "relative-size": "larger|smaller", "rem()": "rem( <calc-sum> , <calc-sum> )", "repeat-style": "repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}", "repeating-conic-gradient()": "repeating-conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )", "repeating-linear-gradient()": "repeating-linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )", "repeating-radial-gradient()": "repeating-radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )", "reversed-counter-name": "reversed( <counter-name> )", "rgb()": "rgb( <percentage>{3} [/ <alpha-value>]? )|rgb( <number>{3} [/ <alpha-value>]? )|rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )", "rgba()": "rgba( <percentage>{3} [/ <alpha-value>]? )|rgba( <number>{3} [/ <alpha-value>]? )|rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )", "rotate()": "rotate( [<angle>|<zero>] )", "rotate3d()": "rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )", "rotateX()": "rotateX( [<angle>|<zero>] )", "rotateY()": "rotateY( [<angle>|<zero>] )", "rotateZ()": "rotateZ( [<angle>|<zero>] )", "round()": "round( <rounding-strategy>? , <calc-sum> , <calc-sum> )", "rounding-strategy": "nearest|up|down|to-zero", "saturate()": "saturate( <number-percentage> )", "scale()": "scale( [<number>|<percentage>]#{1,2} )", "scale3d()": "scale3d( [<number>|<percentage>]#{3} )", "scaleX()": "scaleX( [<number>|<percentage>] )", "scaleY()": "scaleY( [<number>|<percentage>] )", "scaleZ()": "scaleZ( [<number>|<percentage>] )", "scroll()": "scroll( [<axis>||<scroller>]? )", scroller: "root|nearest", "self-position": "center|start|end|self-start|self-end|flex-start|flex-end", "shape-radius": "<length-percentage>|closest-side|farthest-side", "sign()": "sign( <calc-sum> )", "skew()": "skew( [<angle>|<zero>] , [<angle>|<zero>]? )", "skewX()": "skewX( [<angle>|<zero>] )", "skewY()": "skewY( [<angle>|<zero>] )", "sepia()": "sepia( <number-percentage> )", shadow: "inset?&&<length>{2,4}&&<color>?", "shadow-t": "[<length>{2,3}&&<color>?]", shape: "rect( <top> , <right> , <bottom> , <left> )|rect( <top> <right> <bottom> <left> )", "shape-box": "<box>|margin-box", "side-or-corner": "[left|right]||[top|bottom]", "sin()": "sin( <calc-sum> )", "single-animation": "<'animation-duration'>||<easing-function>||<'animation-delay'>||<single-animation-iteration-count>||<single-animation-direction>||<single-animation-fill-mode>||<single-animation-play-state>||[none|<keyframes-name>]||<single-animation-timeline>", "single-animation-direction": "normal|reverse|alternate|alternate-reverse", "single-animation-fill-mode": "none|forwards|backwards|both", "single-animation-iteration-count": "infinite|<number>", "single-animation-play-state": "running|paused", "single-animation-timeline": "auto|none|<dashed-ident>|<scroll()>|<view()>", "single-transition": "[none|<single-transition-property>]||<time>||<easing-function>||<time>", "single-transition-property": "all|<custom-ident>", size: "closest-side|farthest-side|closest-corner|farthest-corner|<length>|<length-percentage>{2}", "sqrt()": "sqrt( <calc-sum> )", "step-position": "jump-start|jump-end|jump-none|jump-both|start|end", "step-timing-function": "step-start|step-end|steps( <integer> [, <step-position>]? )", "subclass-selector": "<id-selector>|<class-selector>|<attribute-selector>|<pseudo-class-selector>", "supports-condition": "not <supports-in-parens>|<supports-in-parens> [and <supports-in-parens>]*|<supports-in-parens> [or <supports-in-parens>]*", "supports-in-parens": "( <supports-condition> )|<supports-feature>|<general-enclosed>", "supports-feature": "<supports-decl>|<supports-selector-fn>", "supports-decl": "( <declaration> )", "supports-selector-fn": "selector( <complex-selector> )", symbol: "<string>|<image>|<custom-ident>", "tan()": "tan( <calc-sum> )", target: "<target-counter()>|<target-counters()>|<target-text()>", "target-counter()": "target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )", "target-counters()": "target-counters( [<string>|<url>] , <custom-ident> , <string> , <counter-style>? )", "target-text()": "target-text( [<string>|<url>] , [content|before|after|first-letter]? )", "time-percentage": "<time>|<percentage>", "timeline-range-name": "cover|contain|entry|exit|entry-crossing|exit-crossing", "easing-function": "linear|<cubic-bezier-timing-function>|<step-timing-function>", "track-breadth": "<length-percentage>|<flex>|min-content|max-content|auto", "track-list": "[<line-names>? [<track-size>|<track-repeat>]]+ <line-names>?", "track-repeat": "repeat( [<integer [1,\u221E]>] , [<line-names>? <track-size>]+ <line-names>? )", "track-size": "<track-breadth>|minmax( <inflexible-breadth> , <track-breadth> )|fit-content( <length-percentage> )", "transform-function": "<matrix()>|<translate()>|<translateX()>|<translateY()>|<scale()>|<scaleX()>|<scaleY()>|<rotate()>|<skew()>|<skewX()>|<skewY()>|<matrix3d()>|<translate3d()>|<translateZ()>|<scale3d()>|<scaleZ()>|<rotate3d()>|<rotateX()>|<rotateY()>|<rotateZ()>|<perspective()>", "transform-list": "<transform-function>+", "translate()": "translate( <length-percentage> , <length-percentage>? )", "translate3d()": "translate3d( <length-percentage> , <length-percentage> , <length> )", "translateX()": "translateX( <length-percentage> )", "translateY()": "translateY( <length-percentage> )", "translateZ()": "translateZ( <length> )", "type-or-unit": "string|color|url|integer|number|length|angle|time|frequency|cap|ch|em|ex|ic|lh|rlh|rem|vb|vi|vw|vh|vmin|vmax|mm|Q|cm|in|pt|pc|px|deg|grad|rad|turn|ms|s|Hz|kHz|%", "type-selector": "<wq-name>|<ns-prefix>? '*'", "var()": "var( <custom-property-name> , <declaration-value>? )", "view()": "view( [<axis>||<'view-timeline-inset'>]? )", "viewport-length": "auto|<length-percentage>", "visual-box": "content-box|padding-box|border-box", "wq-name": "<ns-prefix>? <ident-token>", "-legacy-gradient": "<-webkit-gradient()>|<-legacy-linear-gradient>|<-legacy-repeating-linear-gradient>|<-legacy-radial-gradient>|<-legacy-repeating-radial-gradient>", "-legacy-linear-gradient": "-moz-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-linear-gradient( <-legacy-linear-gradient-arguments> )", "-legacy-repeating-linear-gradient": "-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )", "-legacy-linear-gradient-arguments": "[<angle>|<side-or-corner>]? , <color-stop-list>", "-legacy-radial-gradient": "-moz-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-radial-gradient( <-legacy-radial-gradient-arguments> )", "-legacy-repeating-radial-gradient": "-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )", "-legacy-radial-gradient-arguments": "[<position> ,]? [[[<-legacy-radial-gradient-shape>||<-legacy-radial-gradient-size>]|[<length>|<percentage>]{2}] ,]? <color-stop-list>", "-legacy-radial-gradient-size": "closest-side|closest-corner|farthest-side|farthest-corner|contain|cover", "-legacy-radial-gradient-shape": "circle|ellipse", "-non-standard-font": "-apple-system-body|-apple-system-headline|-apple-system-subheadline|-apple-system-caption1|-apple-system-caption2|-apple-system-footnote|-apple-system-short-body|-apple-system-short-headline|-apple-system-short-subheadline|-apple-system-short-caption1|-apple-system-short-footnote|-apple-system-tall-body", "-non-standard-color": "-moz-ButtonDefault|-moz-ButtonHoverFace|-moz-ButtonHoverText|-moz-CellHighlight|-moz-CellHighlightText|-moz-Combobox|-moz-ComboboxText|-moz-Dialog|-moz-DialogText|-moz-dragtargetzone|-moz-EvenTreeRow|-moz-Field|-moz-FieldText|-moz-html-CellHighlight|-moz-html-CellHighlightText|-moz-mac-accentdarkestshadow|-moz-mac-accentdarkshadow|-moz-mac-accentface|-moz-mac-accentlightesthighlight|-moz-mac-accentlightshadow|-moz-mac-accentregularhighlight|-moz-mac-accentregularshadow|-moz-mac-chrome-active|-moz-mac-chrome-inactive|-moz-mac-focusring|-moz-mac-menuselect|-moz-mac-menushadow|-moz-mac-menutextselect|-moz-MenuHover|-moz-MenuHoverText|-moz-MenuBarText|-moz-MenuBarHoverText|-moz-nativehyperlinktext|-moz-OddTreeRow|-moz-win-communicationstext|-moz-win-mediatext|-moz-activehyperlinktext|-moz-default-background-color|-moz-default-color|-moz-hyperlinktext|-moz-visitedhyperlinktext|-webkit-activelink|-webkit-focus-ring-color|-webkit-link|-webkit-text", "-non-standard-image-rendering": "optimize-contrast|-moz-crisp-edges|-o-crisp-edges|-webkit-optimize-contrast", "-non-standard-overflow": "overlay|-moz-scrollbars-none|-moz-scrollbars-horizontal|-moz-scrollbars-vertical|-moz-hidden-unscrollable", "-non-standard-size": "intrinsic|min-intrinsic|-webkit-fill-available|-webkit-fit-content|-webkit-min-content|-webkit-max-content|-moz-available|-moz-fit-content|-moz-min-content|-moz-max-content", "-webkit-gradient()": "-webkit-gradient( <-webkit-gradient-type> , <-webkit-gradient-point> [, <-webkit-gradient-point>|, <-webkit-gradient-radius> , <-webkit-gradient-point>] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )", "-webkit-gradient-color-stop": "from( <color> )|color-stop( [<number-zero-one>|<percentage>] , <color> )|to( <color> )", "-webkit-gradient-point": "[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]", "-webkit-gradient-radius": "<length>|<percentage>", "-webkit-gradient-type": "linear|radial", "-webkit-mask-box-repeat": "repeat|stretch|round", "-ms-filter-function-list": "<-ms-filter-function>+", "-ms-filter-function": "<-ms-filter-function-progid>|<-ms-filter-function-legacy>", "-ms-filter-function-progid": "'progid:' [<ident-token> '.']* [<ident-token>|<function-token> <any-value>? )]", "-ms-filter-function-legacy": "<ident-token>|<function-token> <any-value>? )", "absolute-color-base": "<hex-color>|<absolute-color-function>|<named-color>|transparent", "absolute-color-function": "rgb( ) >|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<oklab()>|<oklch()>|<color()>", age: "child|young|old", "attr-name": "<wq-name>", "attr-fallback": "<any-value>", "bg-clip": "<box>|border|text", bottom: "<length>|auto", "container-name": "<custom-ident>", "container-condition": "not <query-in-parens>|<query-in-parens> [[and <query-in-parens>]*|[or <query-in-parens>]*]", "coord-box": "content-box|padding-box|border-box|fill-box|stroke-box|view-box", "generic-voice": "[<age>? <gender> <integer>?]", gender: "male|female|neutral", left: "<length>|auto", paint: "none|<color>|<url> [none|<color>]?|context-fill|context-stroke", "palette-identifier": "<dashed-ident>", right: "<length>|auto", "scope-start": "<forgiving-selector-list>", "scope-end": "<forgiving-selector-list>", "forgiving-selector-list": "<complex-real-selector-list>", "forgiving-relative-selector-list": "<relative-real-selector-list>", "selector-list": "<complex-selector-list>", "complex-real-selector-list": "<complex-real-selector>#", "simple-selector-list": "<simple-selector>#", "relative-real-selector-list": "<relative-real-selector>#", "complex-selector-unit": "[<compound-selector>? <pseudo-compound-selector>*]!", "complex-real-selector": "<compound-selector> [<combinator>? <compound-selector>]*", "relative-real-selector": "<combinator>? <complex-real-selector>", "pseudo-compound-selector": "<pseudo-element-selector> <pseudo-class-selector>*", "simple-selector": "<type-selector>|<subclass-selector>", "legacy-pseudo-element-selector": "':' [before|after|first-line|first-letter]", "single-animation-composition": "replace|add|accumulate", "svg-length": "<percentage>|<length>|<number>", "svg-writing-mode": "lr-tb|rl-tb|tb-rl|lr|rl|tb", top: "<length>|auto", x: "<number>", y: "<number>", declaration: "<ident-token> : <declaration-value>? ['!' important]?", "declaration-list": "[<declaration>? ';']* <declaration>?", url: "url( <string> <url-modifier>* )|<url-token>", "url-modifier": "<ident>|<function-token> <any-value> )", "number-zero-one": "<number [0,1]>", "number-one-or-greater": "<number [1,\u221E]>", "color()": "color( <colorspace-params> [/ [<alpha-value>|none]]? )", "colorspace-params": "[<predefined-rgb-params>|<xyz-params>]", "predefined-rgb-params": "<predefined-rgb> [<number>|<percentage>|none]{3}", "predefined-rgb": "srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020", "xyz-params": "<xyz-space> [<number>|<percentage>|none]{3}", "xyz-space": "xyz|xyz-d50|xyz-d65", "oklab()": "oklab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )", "oklch()": "oklch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )", "offset-path": "<ray()>|<url>|<basic-shape>", "ray-size": "closest-side|closest-corner|farthest-side|farthest-corner|sides", "query-in-parens": "( <container-condition> )|( <size-feature> )|style( <style-query> )|<general-enclosed>", "size-feature": "<mf-plain>|<mf-boolean>|<mf-range>", "style-feature": "<declaration>", "style-query": "<style-condition>|<style-feature>", "style-condition": "not <style-in-parens>|<style-in-parens> [[and <style-in-parens>]*|[or <style-in-parens>]*]", "style-in-parens": "( <style-condition> )|( <style-feature> )|<general-enclosed>", "-non-standard-display": "-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box" }, properties: { "--*": "<declaration-value>", "-ms-accelerator": "false|true", "-ms-block-progression": "tb|rl|bt|lr", "-ms-content-zoom-chaining": "none|chained", "-ms-content-zooming": "none|zoom", "-ms-content-zoom-limit": "<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>", "-ms-content-zoom-limit-max": "<percentage>", "-ms-content-zoom-limit-min": "<percentage>", "-ms-content-zoom-snap": "<'-ms-content-zoom-snap-type'>||<'-ms-content-zoom-snap-points'>", "-ms-content-zoom-snap-points": "snapInterval( <percentage> , <percentage> )|snapList( <percentage># )", "-ms-content-zoom-snap-type": "none|proximity|mandatory", "-ms-filter": "<string>", "-ms-flow-from": "[none|<custom-ident>]#", "-ms-flow-into": "[none|<custom-ident>]#", "-ms-grid-columns": "none|<track-list>|<auto-track-list>", "-ms-grid-rows": "none|<track-list>|<auto-track-list>", "-ms-high-contrast-adjust": "auto|none", "-ms-hyphenate-limit-chars": "auto|<integer>{1,3}", "-ms-hyphenate-limit-lines": "no-limit|<integer>", "-ms-hyphenate-limit-zone": "<percentage>|<length>", "-ms-ime-align": "auto|after", "-ms-overflow-style": "auto|none|scrollbar|-ms-autohiding-scrollbar", "-ms-scrollbar-3dlight-color": "<color>", "-ms-scrollbar-arrow-color": "<color>", "-ms-scrollbar-base-color": "<color>", "-ms-scrollbar-darkshadow-color": "<color>", "-ms-scrollbar-face-color": "<color>", "-ms-scrollbar-highlight-color": "<color>", "-ms-scrollbar-shadow-color": "<color>", "-ms-scrollbar-track-color": "<color>", "-ms-scroll-chaining": "chained|none", "-ms-scroll-limit": "<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>", "-ms-scroll-limit-x-max": "auto|<length>", "-ms-scroll-limit-x-min": "<length>", "-ms-scroll-limit-y-max": "auto|<length>", "-ms-scroll-limit-y-min": "<length>", "-ms-scroll-rails": "none|railed", "-ms-scroll-snap-points-x": "snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )", "-ms-scroll-snap-points-y": "snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )", "-ms-scroll-snap-type": "none|proximity|mandatory", "-ms-scroll-snap-x": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>", "-ms-scroll-snap-y": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>", "-ms-scroll-translation": "none|vertical-to-horizontal", "-ms-text-autospace": "none|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space", "-ms-touch-select": "grippers|none", "-ms-user-select": "none|element|text", "-ms-wrap-flow": "auto|both|start|end|maximum|clear", "-ms-wrap-margin": "<length>", "-ms-wrap-through": "wrap|none", "-moz-appearance": "none|button|button-arrow-down|button-arrow-next|button-arrow-previous|button-arrow-up|button-bevel|button-focus|caret|checkbox|checkbox-container|checkbox-label|checkmenuitem|dualbutton|groupbox|listbox|listitem|menuarrow|menubar|menucheckbox|menuimage|menuitem|menuitemtext|menulist|menulist-button|menulist-text|menulist-textfield|menupopup|menuradio|menuseparator|meterbar|meterchunk|progressbar|progressbar-vertical|progresschunk|progresschunk-vertical|radio|radio-container|radio-label|radiomenuitem|range|range-thumb|resizer|resizerpanel|scale-horizontal|scalethumbend|scalethumb-horizontal|scalethumbstart|scalethumbtick|scalethumb-vertical|scale-vertical|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|separator|sheet|spinner|spinner-downbutton|spinner-textfield|spinner-upbutton|splitter|statusbar|statusbarpanel|tab|tabpanel|tabpanels|tab-scroll-arrow-back|tab-scroll-arrow-forward|textfield|textfield-multiline|toolbar|toolbarbutton|toolbarbutton-dropdown|toolbargripper|toolbox|tooltip|treeheader|treeheadercell|treeheadersortarrow|treeitem|treeline|treetwisty|treetwistyopen|treeview|-moz-mac-unified-toolbar|-moz-win-borderless-glass|-moz-win-browsertabbar-toolbox|-moz-win-communicationstext|-moz-win-communications-toolbox|-moz-win-exclude-glass|-moz-win-glass|-moz-win-mediatext|-moz-win-media-toolbox|-moz-window-button-box|-moz-window-button-box-maximized|-moz-window-button-close|-moz-window-button-maximize|-moz-window-button-minimize|-moz-window-button-restore|-moz-window-frame-bottom|-moz-window-frame-left|-moz-window-frame-right|-moz-window-titlebar|-moz-window-titlebar-maximized", "-moz-binding": "<url>|none", "-moz-border-bottom-colors": "<color>+|none", "-moz-border-left-colors": "<color>+|none", "-moz-border-right-colors": "<color>+|none", "-moz-border-top-colors": "<color>+|none", "-moz-context-properties": "none|[fill|fill-opacity|stroke|stroke-opacity]#", "-moz-float-edge": "border-box|content-box|margin-box|padding-box", "-moz-force-broken-image-icon": "0|1", "-moz-image-region": "<shape>|auto", "-moz-orient": "inline|block|horizontal|vertical", "-moz-outline-radius": "<outline-radius>{1,4} [/ <outline-radius>{1,4}]?", "-moz-outline-radius-bottomleft": "<outline-radius>", "-moz-outline-radius-bottomright": "<outline-radius>", "-moz-outline-radius-topleft": "<outline-radius>", "-moz-outline-radius-topright": "<outline-radius>", "-moz-stack-sizing": "ignore|stretch-to-fit", "-moz-text-blink": "none|blink", "-moz-user-focus": "ignore|normal|select-after|select-before|select-menu|select-same|select-all|none", "-moz-user-input": "auto|none|enabled|disabled", "-moz-user-modify": "read-only|read-write|write-only", "-moz-window-dragging": "drag|no-drag", "-moz-window-shadow": "default|menu|tooltip|sheet|none", "-webkit-appearance": "none|button|button-bevel|caps-lock-indicator|caret|checkbox|default-button|inner-spin-button|listbox|listitem|media-controls-background|media-controls-fullscreen-background|media-current-time-display|media-enter-fullscreen-button|media-exit-fullscreen-button|media-fullscreen-button|media-mute-button|media-overlay-play-button|media-play-button|media-seek-back-button|media-seek-forward-button|media-slider|media-sliderthumb|media-time-remaining-display|media-toggle-closed-captions-button|media-volume-slider|media-volume-slider-container|media-volume-sliderthumb|menulist|menulist-button|menulist-text|menulist-textfield|meter|progress-bar|progress-bar-value|push-button|radio|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbargripper-horizontal|scrollbargripper-vertical|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|searchfield-cancel-button|searchfield-decoration|searchfield-results-button|searchfield-results-decoration|slider-horizontal|slider-vertical|sliderthumb-horizontal|sliderthumb-vertical|square-button|textarea|textfield|-apple-pay-button", "-webkit-border-before": "<'border-width'>||<'border-style'>||<color>", "-webkit-border-before-color": "<color>", "-webkit-border-before-style": "<'border-style'>", "-webkit-border-before-width": "<'border-width'>", "-webkit-box-reflect": "[above|below|right|left]? <length>? <image>?", "-webkit-line-clamp": "none|<integer>", "-webkit-mask": "[<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||[<box>|border|padding|content|text]||[<box>|border|padding|content]]#", "-webkit-mask-attachment": "<attachment>#", "-webkit-mask-clip": "[<box>|border|padding|content|text]#", "-webkit-mask-composite": "<composite-style>#", "-webkit-mask-image": "<mask-reference>#", "-webkit-mask-origin": "[<box>|border|padding|content]#", "-webkit-mask-position": "<position>#", "-webkit-mask-position-x": "[<length-percentage>|left|center|right]#", "-webkit-mask-position-y": "[<length-percentage>|top|center|bottom]#", "-webkit-mask-repeat": "<repeat-style>#", "-webkit-mask-repeat-x": "repeat|no-repeat|space|round", "-webkit-mask-repeat-y": "repeat|no-repeat|space|round", "-webkit-mask-size": "<bg-size>#", "-webkit-overflow-scrolling": "auto|touch", "-webkit-tap-highlight-color": "<color>", "-webkit-text-fill-color": "<color>", "-webkit-text-stroke": "<length>||<color>", "-webkit-text-stroke-color": "<color>", "-webkit-text-stroke-width": "<length>", "-webkit-touch-callout": "default|none", "-webkit-user-modify": "read-only|read-write|read-write-plaintext-only", "accent-color": "auto|<color>", "align-content": "normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>", "align-items": "normal|stretch|<baseline-position>|[<overflow-position>? <self-position>]", "align-self": "auto|normal|stretch|<baseline-position>|<overflow-position>? <self-position>", "align-tracks": "[normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>]#", all: "initial|inherit|unset|revert|revert-layer", animation: "<single-animation>#", "animation-composition": "<single-animation-composition>#", "animation-delay": "<time>#", "animation-direction": "<single-animation-direction>#", "animation-duration": "<time>#", "animation-fill-mode": "<single-animation-fill-mode>#", "animation-iteration-count": "<single-animation-iteration-count>#", "animation-name": "[none|<keyframes-name>]#", "animation-play-state": "<single-animation-play-state>#", "animation-range": "[<'animation-range-start'> <'animation-range-end'>?]#", "animation-range-end": "[normal|<length-percentage>|<timeline-range-name> <length-percentage>?]#", "animation-range-start": "[normal|<length-percentage>|<timeline-range-name> <length-percentage>?]#", "animation-timing-function": "<easing-function>#", "animation-timeline": "<single-animation-timeline>#", appearance: "none|auto|textfield|menulist-button|<compat-auto>", "aspect-ratio": "auto|<ratio>", azimuth: "<angle>|[[left-side|far-left|left|center-left|center|center-right|right|far-right|right-side]||behind]|leftwards|rightwards", "backdrop-filter": "none|<filter-function-list>", "backface-visibility": "visible|hidden", background: "[<bg-layer> ,]* <final-bg-layer>", "background-attachment": "<attachment>#", "background-blend-mode": "<blend-mode>#", "background-clip": "<bg-clip>#", "background-color": "<color>", "background-image": "<bg-image>#", "background-origin": "<box>#", "background-position": "<bg-position>#", "background-position-x": "[center|[[left|right|x-start|x-end]? <length-percentage>?]!]#", "background-position-y": "[center|[[top|bottom|y-start|y-end]? <length-percentage>?]!]#", "background-repeat": "<repeat-style>#", "background-size": "<bg-size>#", "block-overflow": "clip|ellipsis|<string>", "block-size": "<'width'>", border: "<line-width>||<line-style>||<color>", "border-block": "<'border-top-width'>||<'border-top-style'>||<color>", "border-block-color": "<'border-top-color'>{1,2}", "border-block-style": "<'border-top-style'>", "border-block-width": "<'border-top-width'>", "border-block-end": "<'border-top-width'>||<'border-top-style'>||<color>", "border-block-end-color": "<'border-top-color'>", "border-block-end-style": "<'border-top-style'>", "border-block-end-width": "<'border-top-width'>", "border-block-start": "<'border-top-width'>||<'border-top-style'>||<color>", "border-block-start-color": "<'border-top-color'>", "border-block-start-style": "<'border-top-style'>", "border-block-start-width": "<'border-top-width'>", "border-bottom": "<line-width>||<line-style>||<color>", "border-bottom-color": "<'border-top-color'>", "border-bottom-left-radius": "<length-percentage>{1,2}", "border-bottom-right-radius": "<length-percentage>{1,2}", "border-bottom-style": "<line-style>", "border-bottom-width": "<line-width>", "border-collapse": "collapse|separate", "border-color": "<color>{1,4}", "border-end-end-radius": "<length-percentage>{1,2}", "border-end-start-radius": "<length-percentage>{1,2}", "border-image": "<'border-image-source'>||<'border-image-slice'> [/ <'border-image-width'>|/ <'border-image-width'>? / <'border-image-outset'>]?||<'border-image-repeat'>", "border-image-outset": "[<length>|<number>]{1,4}", "border-image-repeat": "[stretch|repeat|round|space]{1,2}", "border-image-slice": "<number-percentage>{1,4}&&fill?", "border-image-source": "none|<image>", "border-image-width": "[<length-percentage>|<number>|auto]{1,4}", "border-inline": "<'border-top-width'>||<'border-top-style'>||<color>", "border-inline-end": "<'border-top-width'>||<'border-top-style'>||<color>", "border-inline-color": "<'border-top-color'>{1,2}", "border-inline-style": "<'border-top-style'>", "border-inline-width": "<'border-top-width'>", "border-inline-end-color": "<'border-top-color'>", "border-inline-end-style": "<'border-top-style'>", "border-inline-end-width": "<'border-top-width'>", "border-inline-start": "<'border-top-width'>||<'border-top-style'>||<color>", "border-inline-start-color": "<'border-top-color'>", "border-inline-start-style": "<'border-top-style'>", "border-inline-start-width": "<'border-top-width'>", "border-left": "<line-width>||<line-style>||<color>", "border-left-color": "<color>", "border-left-style": "<line-style>", "border-left-width": "<line-width>", "border-radius": "<length-percentage>{1,4} [/ <length-percentage>{1,4}]?", "border-right": "<line-width>||<line-style>||<color>", "border-right-color": "<color>", "border-right-style": "<line-style>", "border-right-width": "<line-width>", "border-spacing": "<length> <length>?", "border-start-end-radius": "<length-percentage>{1,2}", "border-start-start-radius": "<length-percentage>{1,2}", "border-style": "<line-style>{1,4}", "border-top": "<line-width>||<line-style>||<color>", "border-top-color": "<color>", "border-top-left-radius": "<length-percentage>{1,2}", "border-top-right-radius": "<length-percentage>{1,2}", "border-top-style": "<line-style>", "border-top-width": "<line-width>", "border-width": "<line-width>{1,4}", bottom: "<length>|<percentage>|auto", "box-align": "start|center|end|baseline|stretch", "box-decoration-break": "slice|clone", "box-direction": "normal|reverse|inherit", "box-flex": "<number>", "box-flex-group": "<integer>", "box-lines": "single|multiple", "box-ordinal-group": "<integer>", "box-orient": "horizontal|vertical|inline-axis|block-axis|inherit", "box-pack": "start|center|end|justify", "box-shadow": "none|<shadow>#", "box-sizing": "content-box|border-box", "break-after": "auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region", "break-before": "auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region", "break-inside": "auto|avoid|avoid-page|avoid-column|avoid-region", "caption-side": "top|bottom|block-start|block-end|inline-start|inline-end", caret: "<'caret-color'>||<'caret-shape'>", "caret-color": "auto|<color>", "caret-shape": "auto|bar|block|underscore", clear: "none|left|right|both|inline-start|inline-end", clip: "<shape>|auto", "clip-path": "<clip-source>|[<basic-shape>||<geometry-box>]|none", color: "<color>", "color-scheme": "normal|[light|dark|<custom-ident>]+&&only?", "column-count": "<integer>|auto", "column-fill": "auto|balance|balance-all", "column-gap": "normal|<length-percentage>", "column-rule": "<'column-rule-width'>||<'column-rule-style'>||<'column-rule-color'>", "column-rule-color": "<color>", "column-rule-style": "<'border-style'>", "column-rule-width": "<'border-width'>", "column-span": "none|all", "column-width": "<length>|auto", columns: "<'column-width'>||<'column-count'>", contain: "none|strict|content|[[size||inline-size]||layout||style||paint]", "contain-intrinsic-size": "[auto? [none|<length>]]{1,2}", "contain-intrinsic-block-size": "auto? [none|<length>]", "contain-intrinsic-height": "auto? [none|<length>]", "contain-intrinsic-inline-size": "auto? [none|<length>]", "contain-intrinsic-width": "auto? [none|<length>]", container: "<'container-name'> [/ <'container-type'>]?", "container-name": "none|<custom-ident>+", "container-type": "normal||[size|inline-size]", content: "normal|none|[<content-replacement>|<content-list>] [/ [<string>|<counter>]+]?", "content-visibility": "visible|auto|hidden", "counter-increment": "[<counter-name> <integer>?]+|none", "counter-reset": "[<counter-name> <integer>?|<reversed-counter-name> <integer>?]+|none", "counter-set": "[<counter-name> <integer>?]+|none", cursor: "[[<url> [<x> <y>]? ,]* [auto|default|none|context-menu|help|pointer|progress|wait|cell|crosshair|text|vertical-text|alias|copy|move|no-drop|not-allowed|e-resize|n-resize|ne-resize|nw-resize|s-resize|se-resize|sw-resize|w-resize|ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing|hand|-webkit-grab|-webkit-grabbing|-webkit-zoom-in|-webkit-zoom-out|-moz-grab|-moz-grabbing|-moz-zoom-in|-moz-zoom-out]]", direction: "ltr|rtl", display: "[<display-outside>||<display-inside>]|<display-listitem>|<display-internal>|<display-box>|<display-legacy>|<-non-standard-display>", "empty-cells": "show|hide", filter: "none|<filter-function-list>|<-ms-filter-function-list>", flex: "none|[<'flex-grow'> <'flex-shrink'>?||<'flex-basis'>]", "flex-basis": "content|<'width'>", "flex-direction": "row|row-reverse|column|column-reverse", "flex-flow": "<'flex-direction'>||<'flex-wrap'>", "flex-grow": "<number>", "flex-shrink": "<number>", "flex-wrap": "nowrap|wrap|wrap-reverse", float: "left|right|none|inline-start|inline-end", font: "[[<'font-style'>||<font-variant-css21>||<'font-weight'>||<'font-stretch'>]? <'font-size'> [/ <'line-height'>]? <'font-family'>]|caption|icon|menu|message-box|small-caption|status-bar|<-non-standard-font>", "font-family": "[<family-name>|<generic-family>]#", "font-feature-settings": "normal|<feature-tag-value>#", "font-kerning": "auto|normal|none", "font-language-override": "normal|<string>", "font-optical-sizing": "auto|none", "font-palette": "normal|light|dark|<palette-identifier>", "font-variation-settings": "normal|[<string> <number>]#", "font-size": "<absolute-size>|<relative-size>|<length-percentage>", "font-size-adjust": "none|[ex-height|cap-height|ch-width|ic-width|ic-height]? [from-font|<number>]", "font-smooth": "auto|never|always|<absolute-size>|<length>", "font-stretch": "<font-stretch-absolute>", "font-style": "normal|italic|oblique <angle>?", "font-synthesis": "none|[weight||style||small-caps]", "font-synthesis-small-caps": "auto|none", "font-synthesis-style": "auto|none", "font-synthesis-weight": "auto|none", "font-variant": "normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]", "font-variant-alternates": "normal|[stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )]", "font-variant-caps": "normal|small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps", "font-variant-east-asian": "normal|[<east-asian-variant-values>||<east-asian-width-values>||ruby]", "font-variant-emoji": "normal|text|emoji|unicode", "font-variant-ligatures": "normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>]", "font-variant-numeric": "normal|[<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero]", "font-variant-position": "normal|sub|super", "font-weight": "<font-weight-absolute>|bolder|lighter", "forced-color-adjust": "auto|none", gap: "<'row-gap'> <'column-gap'>?", grid: "<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>", "grid-area": "<grid-line> [/ <grid-line>]{0,3}", "grid-auto-columns": "<track-size>+", "grid-auto-flow": "[row|column]||dense", "grid-auto-rows": "<track-size>+", "grid-column": "<grid-line> [/ <grid-line>]?", "grid-column-end": "<grid-line>", "grid-column-gap": "<length-percentage>", "grid-column-start": "<grid-line>", "grid-gap": "<'grid-row-gap'> <'grid-column-gap'>?", "grid-row": "<grid-line> [/ <grid-line>]?", "grid-row-end": "<grid-line>", "grid-row-gap": "<length-percentage>", "grid-row-start": "<grid-line>", "grid-template": "none|[<'grid-template-rows'> / <'grid-template-columns'>]|[<line-names>? <string> <track-size>? <line-names>?]+ [/ <explicit-track-list>]?", "grid-template-areas": "none|<string>+", "grid-template-columns": "none|<track-list>|<auto-track-list>|subgrid <line-name-list>?", "grid-template-rows": "none|<track-list>|<auto-track-list>|subgrid <line-name-list>?", "hanging-punctuation": "none|[first||[force-end|allow-end]||last]", height: "auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>", "hyphenate-character": "auto|<string>", "hyphenate-limit-chars": "[auto|<integer>]{1,3}", hyphens: "none|manual|auto", "image-orientation": "from-image|<angle>|[<angle>? flip]", "image-rendering": "auto|crisp-edges|pixelated|optimizeSpeed|optimizeQuality|<-non-standard-image-rendering>", "image-resolution": "[from-image||<resolution>]&&snap?", "ime-mode": "auto|normal|active|inactive|disabled", "initial-letter": "normal|[<number> <integer>?]", "initial-letter-align": "[auto|alphabetic|hanging|ideographic]", "inline-size": "<'width'>", "input-security": "auto|none", inset: "<'top'>{1,4}", "inset-block": "<'top'>{1,2}", "inset-block-end": "<'top'>", "inset-block-start": "<'top'>", "inset-inline": "<'top'>{1,2}", "inset-inline-end": "<'top'>", "inset-inline-start": "<'top'>", isolation: "auto|isolate", "justify-content": "normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]", "justify-items": "normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]|legacy|legacy&&[left|right|center]", "justify-self": "auto|normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]", "justify-tracks": "[normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]]#", left: "<length>|<percentage>|auto", "letter-spacing": "normal|<length-percentage>", "line-break": "auto|loose|normal|strict|anywhere", "line-clamp": "none|<integer>", "line-height": "normal|<number>|<length>|<percentage>", "line-height-step": "<length>", "list-style": "<'list-style-type'>||<'list-style-position'>||<'list-style-image'>", "list-style-image": "<image>|none", "list-style-position": "inside|outside", "list-style-type": "<counter-style>|<string>|none", margin: "[<length>|<percentage>|auto]{1,4}", "margin-block": "<'margin-left'>{1,2}", "margin-block-end": "<'margin-left'>", "margin-block-start": "<'margin-left'>", "margin-bottom": "<length>|<percentage>|auto", "margin-inline": "<'margin-left'>{1,2}", "margin-inline-end": "<'margin-left'>", "margin-inline-start": "<'margin-left'>", "margin-left": "<length>|<percentage>|auto", "margin-right": "<length>|<percentage>|auto", "margin-top": "<length>|<percentage>|auto", "margin-trim": "none|in-flow|all", mask: "<mask-layer>#", "mask-border": "<'mask-border-source'>||<'mask-border-slice'> [/ <'mask-border-width'>? [/ <'mask-border-outset'>]?]?||<'mask-border-repeat'>||<'mask-border-mode'>", "mask-border-mode": "luminance|alpha", "mask-border-outset": "[<length>|<number>]{1,4}", "mask-border-repeat": "[stretch|repeat|round|space]{1,2}", "mask-border-slice": "<number-percentage>{1,4} fill?", "mask-border-source": "none|<image>", "mask-border-width": "[<length-percentage>|<number>|auto]{1,4}", "mask-clip": "[<geometry-box>|no-clip]#", "mask-composite": "<compositing-operator>#", "mask-image": "<mask-reference>#", "mask-mode": "<masking-mode>#", "mask-origin": "<geometry-box>#", "mask-position": "<position>#", "mask-repeat": "<repeat-style>#", "mask-size": "<bg-size>#", "mask-type": "luminance|alpha", "masonry-auto-flow": "[pack|next]||[definite-first|ordered]", "math-depth": "auto-add|add( <integer> )|<integer>", "math-shift": "normal|compact", "math-style": "normal|compact", "max-block-size": "<'max-width'>", "max-height": "none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>", "max-inline-size": "<'max-width'>", "max-lines": "none|<integer>", "max-width": "none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>", "min-block-size": "<'min-width'>", "min-height": "auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>", "min-inline-size": "<'min-width'>", "min-width": "auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>", "mix-blend-mode": "<blend-mode>|plus-lighter", "object-fit": "fill|contain|cover|none|scale-down", "object-position": "<position>", offset: "[<'offset-position'>? [<'offset-path'> [<'offset-distance'>||<'offset-rotate'>]?]?]! [/ <'offset-anchor'>]?", "offset-anchor": "auto|<position>", "offset-distance": "<length-percentage>", "offset-path": "none|<offset-path>||<coord-box>", "offset-position": "normal|auto|<position>", "offset-rotate": "[auto|reverse]||<angle>", opacity: "<alpha-value>", order: "<integer>", orphans: "<integer>", outline: "[<'outline-color'>||<'outline-style'>||<'outline-width'>]", "outline-color": "<color>|invert", "outline-offset": "<length>", "outline-style": "auto|<'border-style'>", "outline-width": "<line-width>", overflow: "[visible|hidden|clip|scroll|auto]{1,2}|<-non-standard-overflow>", "overflow-anchor": "auto|none", "overflow-block": "visible|hidden|clip|scroll|auto", "overflow-clip-box": "padding-box|content-box", "overflow-clip-margin": "<visual-box>||<length [0,\u221E]>", "overflow-inline": "visible|hidden|clip|scroll|auto", "overflow-wrap": "normal|break-word|anywhere", "overflow-x": "visible|hidden|clip|scroll|auto", "overflow-y": "visible|hidden|clip|scroll|auto", "overscroll-behavior": "[contain|none|auto]{1,2}", "overscroll-behavior-block": "contain|none|auto", "overscroll-behavior-inline": "contain|none|auto", "overscroll-behavior-x": "contain|none|auto", "overscroll-behavior-y": "contain|none|auto", padding: "[<length>|<percentage>]{1,4}", "padding-block": "<'padding-left'>{1,2}", "padding-block-end": "<'padding-left'>", "padding-block-start": "<'padding-left'>", "padding-bottom": "<length>|<percentage>", "padding-inline": "<'padding-left'>{1,2}", "padding-inline-end": "<'padding-left'>", "padding-inline-start": "<'padding-left'>", "padding-left": "<length>|<percentage>", "padding-right": "<length>|<percentage>", "padding-top": "<length>|<percentage>", page: "auto|<custom-ident>", "page-break-after": "auto|always|avoid|left|right|recto|verso", "page-break-before": "auto|always|avoid|left|right|recto|verso", "page-break-inside": "auto|avoid", "paint-order": "normal|[fill||stroke||markers]", perspective: "none|<length>", "perspective-origin": "<position>", "place-content": "<'align-content'> <'justify-content'>?", "place-items": "<'align-items'> <'justify-items'>?", "place-self": "<'align-self'> <'justify-self'>?", "pointer-events": "auto|none|visiblePainted|visibleFill|visibleStroke|visible|painted|fill|stroke|all|inherit", position: "static|relative|absolute|sticky|fixed|-webkit-sticky", "print-color-adjust": "economy|exact", quotes: "none|auto|[<string> <string>]+", resize: "none|both|horizontal|vertical|block|inline", right: "<length>|<percentage>|auto", rotate: "none|<angle>|[x|y|z|<number>{3}]&&<angle>", "row-gap": "normal|<length-percentage>", "ruby-align": "start|center|space-between|space-around", "ruby-merge": "separate|collapse|auto", "ruby-position": "[alternate||[over|under]]|inter-character", scale: "none|<number>{1,3}", "scrollbar-color": "auto|<color>{2}", "scrollbar-gutter": "auto|stable&&both-edges?", "scrollbar-width": "auto|thin|none", "scroll-behavior": "auto|smooth", "scroll-margin": "<length>{1,4}", "scroll-margin-block": "<length>{1,2}", "scroll-margin-block-start": "<length>", "scroll-margin-block-end": "<length>", "scroll-margin-bottom": "<length>", "scroll-margin-inline": "<length>{1,2}", "scroll-margin-inline-start": "<length>", "scroll-margin-inline-end": "<length>", "scroll-margin-left": "<length>", "scroll-margin-right": "<length>", "scroll-margin-top": "<length>", "scroll-padding": "[auto|<length-percentage>]{1,4}", "scroll-padding-block": "[auto|<length-percentage>]{1,2}", "scroll-padding-block-start": "auto|<length-percentage>", "scroll-padding-block-end": "auto|<length-percentage>", "scroll-padding-bottom": "auto|<length-percentage>", "scroll-padding-inline": "[auto|<length-percentage>]{1,2}", "scroll-padding-inline-start": "auto|<length-percentage>", "scroll-padding-inline-end": "auto|<length-percentage>", "scroll-padding-left": "auto|<length-percentage>", "scroll-padding-right": "auto|<length-percentage>", "scroll-padding-top": "auto|<length-percentage>", "scroll-snap-align": "[none|start|end|center]{1,2}", "scroll-snap-coordinate": "none|<position>#", "scroll-snap-destination": "<position>", "scroll-snap-points-x": "none|repeat( <length-percentage> )", "scroll-snap-points-y": "none|repeat( <length-percentage> )", "scroll-snap-stop": "normal|always", "scroll-snap-type": "none|[x|y|block|inline|both] [mandatory|proximity]?", "scroll-snap-type-x": "none|mandatory|proximity", "scroll-snap-type-y": "none|mandatory|proximity", "scroll-timeline": "[<'scroll-timeline-name'>||<'scroll-timeline-axis'>]#", "scroll-timeline-axis": "[block|inline|vertical|horizontal]#", "scroll-timeline-name": "none|<custom-ident>#", "shape-image-threshold": "<alpha-value>", "shape-margin": "<length-percentage>", "shape-outside": "none|[<shape-box>||<basic-shape>]|<image>", "tab-size": "<integer>|<length>", "table-layout": "auto|fixed", "text-align": "start|end|left|right|center|justify|match-parent", "text-align-last": "auto|start|end|left|right|center|justify", "text-combine-upright": "none|all|[digits <integer>?]", "text-decoration": "<'text-decoration-line'>||<'text-decoration-style'>||<'text-decoration-color'>||<'text-decoration-thickness'>", "text-decoration-color": "<color>", "text-decoration-line": "none|[underline||overline||line-through||blink]|spelling-error|grammar-error", "text-decoration-skip": "none|[objects||[spaces|[leading-spaces||trailing-spaces]]||edges||box-decoration]", "text-decoration-skip-ink": "auto|all|none", "text-decoration-style": "solid|double|dotted|dashed|wavy", "text-decoration-thickness": "auto|from-font|<length>|<percentage>", "text-emphasis": "<'text-emphasis-style'>||<'text-emphasis-color'>", "text-emphasis-color": "<color>", "text-emphasis-position": "[over|under]&&[right|left]", "text-emphasis-style": "none|[[filled|open]||[dot|circle|double-circle|triangle|sesame]]|<string>", "text-indent": "<length-percentage>&&hanging?&&each-line?", "text-justify": "auto|inter-character|inter-word|none", "text-orientation": "mixed|upright|sideways", "text-overflow": "[clip|ellipsis|<string>]{1,2}", "text-rendering": "auto|optimizeSpeed|optimizeLegibility|geometricPrecision", "text-shadow": "none|<shadow-t>#", "text-size-adjust": "none|auto|<percentage>", "text-transform": "none|capitalize|uppercase|lowercase|full-width|full-size-kana", "text-underline-offset": "auto|<length>|<percentage>", "text-underline-position": "auto|from-font|[under||[left|right]]", "text-wrap": "wrap|nowrap|balance|stable|pretty", "timeline-scope": "none|<dashed-ident>#", top: "<length>|<percentage>|auto", "touch-action": "auto|none|[[pan-x|pan-left|pan-right]||[pan-y|pan-up|pan-down]||pinch-zoom]|manipulation", transform: "none|<transform-list>", "transform-box": "content-box|border-box|fill-box|stroke-box|view-box", "transform-origin": "[<length-percentage>|left|center|right|top|bottom]|[[<length-percentage>|left|center|right]&&[<length-percentage>|top|center|bottom]] <length>?", "transform-style": "flat|preserve-3d", transition: "<single-transition>#", "transition-delay": "<time>#", "transition-duration": "<time>#", "transition-property": "none|<single-transition-property>#", "transition-timing-function": "<easing-function>#", translate: "none|<length-percentage> [<length-percentage> <length>?]?", "unicode-bidi": "normal|embed|isolate|bidi-override|isolate-override|plaintext|-moz-isolate|-moz-isolate-override|-moz-plaintext|-webkit-isolate|-webkit-isolate-override|-webkit-plaintext", "user-select": "auto|text|none|contain|all", "vertical-align": "baseline|sub|super|text-top|text-bottom|middle|top|bottom|<percentage>|<length>", "view-timeline": "[<'view-timeline-name'> <'view-timeline-axis'>?]#", "view-timeline-axis": "[block|inline|x|y]#", "view-timeline-inset": "[[auto|<length-percentage>]{1,2}]#", "view-timeline-name": "none|<dashed-ident>#", "view-transition-name": "none|<custom-ident>", visibility: "visible|hidden|collapse", "white-space": "normal|pre|nowrap|pre-wrap|pre-line|break-spaces|[<'white-space-collapse'>||<'text-wrap'>||<'white-space-trim'>]", "white-space-collapse": "collapse|discard|preserve|preserve-breaks|preserve-spaces|break-spaces", "white-space-trim": "none|discard-before||discard-after||discard-inner", widows: "<integer>", width: "auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>", "will-change": "auto|<animateable-feature>#", "word-break": "normal|break-all|keep-all|break-word", "word-spacing": "normal|<length>", "word-wrap": "normal|break-word", "writing-mode": "horizontal-tb|vertical-rl|vertical-lr|sideways-rl|sideways-lr|<svg-writing-mode>", "z-index": "auto|<integer>", zoom: "normal|reset|<number>|<percentage>", "-moz-background-clip": "padding|border", "-moz-border-radius-bottomleft": "<'border-bottom-left-radius'>", "-moz-border-radius-bottomright": "<'border-bottom-right-radius'>", "-moz-border-radius-topleft": "<'border-top-left-radius'>", "-moz-border-radius-topright": "<'border-bottom-right-radius'>", "-moz-control-character-visibility": "visible|hidden", "-moz-osx-font-smoothing": "auto|grayscale", "-moz-user-select": "none|text|all|-moz-none", "-ms-flex-align": "start|end|center|baseline|stretch", "-ms-flex-item-align": "auto|start|end|center|baseline|stretch", "-ms-flex-line-pack": "start|end|center|justify|distribute|stretch", "-ms-flex-negative": "<'flex-shrink'>", "-ms-flex-pack": "start|end|center|justify|distribute", "-ms-flex-order": "<integer>", "-ms-flex-positive": "<'flex-grow'>", "-ms-flex-preferred-size": "<'flex-basis'>", "-ms-interpolation-mode": "nearest-neighbor|bicubic", "-ms-grid-column-align": "start|end|center|stretch", "-ms-grid-row-align": "start|end|center|stretch", "-ms-hyphenate-limit-last": "none|always|column|page|spread", "-webkit-background-clip": "[<box>|border|padding|content|text]#", "-webkit-column-break-after": "always|auto|avoid", "-webkit-column-break-before": "always|auto|avoid", "-webkit-column-break-inside": "always|auto|avoid", "-webkit-font-smoothing": "auto|none|antialiased|subpixel-antialiased", "-webkit-mask-box-image": "[<url>|<gradient>|none] [<length-percentage>{4} <-webkit-mask-box-repeat>{2}]?", "-webkit-print-color-adjust": "economy|exact", "-webkit-text-security": "none|circle|disc|square", "-webkit-user-drag": "none|element|auto", "-webkit-user-select": "auto|none|text|all", "alignment-baseline": "auto|baseline|before-edge|text-before-edge|middle|central|after-edge|text-after-edge|ideographic|alphabetic|hanging|mathematical", "baseline-shift": "baseline|sub|super|<svg-length>", behavior: "<url>+", "clip-rule": "nonzero|evenodd", cue: "<'cue-before'> <'cue-after'>?", "cue-after": "<url> <decibel>?|none", "cue-before": "<url> <decibel>?|none", "dominant-baseline": "auto|use-script|no-change|reset-size|ideographic|alphabetic|hanging|mathematical|central|middle|text-after-edge|text-before-edge", fill: "<paint>", "fill-opacity": "<number-zero-one>", "fill-rule": "nonzero|evenodd", "glyph-orientation-horizontal": "<angle>", "glyph-orientation-vertical": "<angle>", kerning: "auto|<svg-length>", marker: "none|<url>", "marker-end": "none|<url>", "marker-mid": "none|<url>", "marker-start": "none|<url>", pause: "<'pause-before'> <'pause-after'>?", "pause-after": "<time>|none|x-weak|weak|medium|strong|x-strong", "pause-before": "<time>|none|x-weak|weak|medium|strong|x-strong", rest: "<'rest-before'> <'rest-after'>?", "rest-after": "<time>|none|x-weak|weak|medium|strong|x-strong", "rest-before": "<time>|none|x-weak|weak|medium|strong|x-strong", "shape-rendering": "auto|optimizeSpeed|crispEdges|geometricPrecision", src: "[<url> [format( <string># )]?|local( <family-name> )]#", speak: "auto|never|always", "speak-as": "normal|spell-out||digits||[literal-punctuation|no-punctuation]", stroke: "<paint>", "stroke-dasharray": "none|[<svg-length>+]#", "stroke-dashoffset": "<svg-length>", "stroke-linecap": "butt|round|square", "stroke-linejoin": "miter|round|bevel", "stroke-miterlimit": "<number-one-or-greater>", "stroke-opacity": "<number-zero-one>", "stroke-width": "<svg-length>", "text-anchor": "start|middle|end", "unicode-range": "<urange>#", "voice-balance": "<number>|left|center|right|leftwards|rightwards", "voice-duration": "auto|<time>", "voice-family": "[[<family-name>|<generic-voice>] ,]* [<family-name>|<generic-voice>]|preserve", "voice-pitch": "<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]", "voice-range": "<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]", "voice-rate": "[normal|x-slow|slow|medium|fast|x-fast]||<percentage>", "voice-stress": "normal|strong|moderate|none|reduced", "voice-volume": "silent|[[x-soft|soft|medium|loud|x-loud]||<decibel>]" }, atrules: { charset: { prelude: "<string>", descriptors: null }, "counter-style": { prelude: "<counter-style-name>", descriptors: { "additive-symbols": "[<integer>&&<symbol>]#", fallback: "<counter-style-name>", negative: "<symbol> <symbol>?", pad: "<integer>&&<symbol>", prefix: "<symbol>", range: "[[<integer>|infinite]{2}]#|auto", "speak-as": "auto|bullets|numbers|words|spell-out|<counter-style-name>", suffix: "<symbol>", symbols: "<symbol>+", system: "cyclic|numeric|alphabetic|symbolic|additive|[fixed <integer>?]|[extends <counter-style-name>]" } }, document: { prelude: "[<url>|url-prefix( <string> )|domain( <string> )|media-document( <string> )|regexp( <string> )]#", descriptors: null }, "font-palette-values": { prelude: "<dashed-ident>", descriptors: { "base-palette": "light|dark|<integer [0,\u221E]>", "font-family": "<family-name>#", "override-colors": "[<integer [0,\u221E]> <absolute-color-base>]#" } }, "font-face": { prelude: null, descriptors: { "ascent-override": "normal|<percentage>", "descent-override": "normal|<percentage>", "font-display": "[auto|block|swap|fallback|optional]", "font-family": "<family-name>", "font-feature-settings": "normal|<feature-tag-value>#", "font-variation-settings": "normal|[<string> <number>]#", "font-stretch": "<font-stretch-absolute>{1,2}", "font-style": "normal|italic|oblique <angle>{0,2}", "font-weight": "<font-weight-absolute>{1,2}", "font-variant": "normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]", "line-gap-override": "normal|<percentage>", "size-adjust": "<percentage>", src: "[<url> [format( <string># )]?|local( <family-name> )]#", "unicode-range": "<urange>#" } }, "font-feature-values": { prelude: "<family-name>#", descriptors: null }, import: { prelude: "[<string>|<url>] [layer|layer( <layer-name> )]? [supports( [<supports-condition>|<declaration>] )]? <media-query-list>?", descriptors: null }, keyframes: { prelude: "<keyframes-name>", descriptors: null }, layer: { prelude: "[<layer-name>#|<layer-name>?]", descriptors: null }, media: { prelude: "<media-query-list>", descriptors: null }, namespace: { prelude: "<namespace-prefix>? [<string>|<url>]", descriptors: null }, page: { prelude: "<page-selector-list>", descriptors: { bleed: "auto|<length>", marks: "none|[crop||cross]", "page-orientation": "upright|rotate-left|rotate-right", size: "<length>{1,2}|auto|[<page-size>||[portrait|landscape]]" } }, property: { prelude: "<custom-property-name>", descriptors: { syntax: "<string>", inherits: "true|false", "initial-value": "<string>" } }, supports: { prelude: "<supports-condition>", descriptors: null }, viewport: { prelude: null, descriptors: { height: "<viewport-length>{1,2}", "max-height": "<viewport-length>", "max-width": "<viewport-length>", "max-zoom": "auto|<number>|<percentage>", "min-height": "<viewport-length>", "min-width": "<viewport-length>", "min-zoom": "auto|<number>|<percentage>", orientation: "auto|portrait|landscape", "user-zoom": "zoom|fixed", "viewport-fit": "auto|contain|cover", width: "<viewport-length>{1,2}", zoom: "auto|<number>|<percentage>" } }, container: { prelude: "[<container-name>]? <container-condition>", descriptors: null }, nest: { prelude: "<complex-selector-list>", descriptors: null }, scope: { prelude: "[( <scope-start> )]? [to ( <scope-end> )]?", descriptors: null } }, node: Lo }, ql = {};
42256
42336
  const Vl = y;
42257
42337
  var $l = function(e4) {
@@ -42429,8 +42509,8 @@ var require_processPagePollCjs = __commonJS({
42429
42509
  return this.createSingleNodeList(this.Nth());
42430
42510
  } };
42431
42511
  var uc = { dir: lc, has: ac, lang: lc, matches: ac, is: ac, "-moz-any": ac, "-webkit-any": ac, where: ac, not: ac, "nth-child": cc, "nth-last-child": cc, "nth-last-of-type": cc, "nth-of-type": cc, slotted: sc, host: sc, "host-context": sc }, hc = {};
42432
- const dc = Oo, pc = Ho, mc = Zo, fc = Yo, gc = ti, bc = si, yc = ci, kc = hi, wc = pi, vc = gi, xc = ki, Sc = xi, _c = Pi, Cc = Bi, Ac = ji, zc = Hi, Pc = $i, Ec = Yi, Lc = ta, Oc = oa, Nc = sa, Tc = ua, Rc = pa, Dc = ga, Ic = ka, Bc = va, Mc = _a, Fc = Aa, jc = Pa, Uc = La, Wc = Ta, Hc = Da, qc = Ba, Vc = ja, $c = Ha, Kc = $a, Zc = Ga, Gc = Qa, Yc = rs, Xc = is, Jc = as, Qc = ls, eu = fs, tu = ys, nu = ws, ru = _s, ou = Ds, iu = Hs, au = qs;
42433
- hc.AnPlusB = dc.parse, hc.Atrule = pc.parse, hc.AtrulePrelude = mc.parse, hc.AttributeSelector = fc.parse, hc.Block = gc.parse, hc.Brackets = bc.parse, hc.CDC = yc.parse, hc.CDO = kc.parse, hc.ClassSelector = wc.parse, hc.Combinator = vc.parse, hc.Comment = xc.parse, hc.Condition = Sc.parse, hc.Declaration = _c.parse, hc.DeclarationList = Cc.parse, hc.Dimension = Ac.parse, hc.Feature = zc.parse, hc.FeatureFunction = Pc.parse, hc.FeatureRange = Ec.parse, hc.Function = Lc.parse, hc.GeneralEnclosed = Oc.parse, hc.Hash = Nc.parse, hc.Identifier = Tc.parse, hc.IdSelector = Rc.parse, hc.Layer = Dc.parse, hc.LayerList = Ic.parse, hc.MediaQuery = Bc.parse, hc.MediaQueryList = Mc.parse, hc.NestingSelector = Fc.parse, hc.Nth = jc.parse, hc.Number = Uc.parse, hc.Operator = Wc.parse, hc.Parentheses = Hc.parse, hc.Percentage = qc.parse, hc.PseudoClassSelector = Vc.parse, hc.PseudoElementSelector = $c.parse, hc.Ratio = Kc.parse, hc.Raw = Zc.parse, hc.Rule = Gc.parse, hc.Scope = Yc.parse, hc.Selector = Xc.parse, hc.SelectorList = Jc.parse, hc.String = Qc.parse, hc.StyleSheet = eu.parse, hc.SupportsDeclaration = tu.parse, hc.TypeSelector = nu.parse, hc.UnicodeRange = ru.parse, hc.Url = ou.parse, hc.Value = iu.parse, hc.WhiteSpace = au.parse;
42512
+ const dc = Oo, pc = Ho, mc = Zo, fc = Yo, gc = ti, bc = si, yc = ci, kc = hi, wc = pi, vc = gi, xc = ki, Sc = xi, _c = Pi, Cc = Bi, Ac = Fi, zc = Hi, Pc = $i, Ec = Yi, Lc = ta, Oc = oa, Nc = sa, Tc = ua, Rc = pa, Dc = ga, Ic = ka, Bc = va, Mc = _a, jc = Aa, Fc = Pa, Uc = La, Wc = Ta, Hc = Da, qc = Ba, Vc = Fa, $c = Ha, Kc = $a, Zc = Ga, Gc = Qa, Yc = rs, Xc = is, Jc = as, Qc = ls, eu = fs, tu = ys, nu = ws, ru = _s, ou = Ds, iu = Hs, au = qs;
42513
+ hc.AnPlusB = dc.parse, hc.Atrule = pc.parse, hc.AtrulePrelude = mc.parse, hc.AttributeSelector = fc.parse, hc.Block = gc.parse, hc.Brackets = bc.parse, hc.CDC = yc.parse, hc.CDO = kc.parse, hc.ClassSelector = wc.parse, hc.Combinator = vc.parse, hc.Comment = xc.parse, hc.Condition = Sc.parse, hc.Declaration = _c.parse, hc.DeclarationList = Cc.parse, hc.Dimension = Ac.parse, hc.Feature = zc.parse, hc.FeatureFunction = Pc.parse, hc.FeatureRange = Ec.parse, hc.Function = Lc.parse, hc.GeneralEnclosed = Oc.parse, hc.Hash = Nc.parse, hc.Identifier = Tc.parse, hc.IdSelector = Rc.parse, hc.Layer = Dc.parse, hc.LayerList = Ic.parse, hc.MediaQuery = Bc.parse, hc.MediaQueryList = Mc.parse, hc.NestingSelector = jc.parse, hc.Nth = Fc.parse, hc.Number = Uc.parse, hc.Operator = Wc.parse, hc.Parentheses = Hc.parse, hc.Percentage = qc.parse, hc.PseudoClassSelector = Vc.parse, hc.PseudoElementSelector = $c.parse, hc.Ratio = Kc.parse, hc.Raw = Zc.parse, hc.Rule = Gc.parse, hc.Scope = Yc.parse, hc.Selector = Xc.parse, hc.SelectorList = Jc.parse, hc.String = Qc.parse, hc.StyleSheet = eu.parse, hc.SupportsDeclaration = tu.parse, hc.TypeSelector = nu.parse, hc.UnicodeRange = ru.parse, hc.Url = ou.parse, hc.Value = iu.parse, hc.WhiteSpace = au.parse;
42434
42514
  var su = Eo({ ...Hl, parseContext: { default: "StyleSheet", stylesheet: "StyleSheet", atrule: "Atrule", atrulePrelude(e4) {
42435
42515
  return this.AtrulePrelude(e4.atrule ? String(e4.atrule) : null);
42436
42516
  }, mediaQueryList: "MediaQueryList", mediaQuery: "MediaQuery", condition(e4) {
@@ -42483,8 +42563,8 @@ var require_processPagePollCjs = __commonJS({
42483
42563
  }
42484
42564
  return t4;
42485
42565
  };
42486
- const yu = su, ku = Eo, wu = ie, vu = wt, xu = lu, Su = pu, _u = Lt, Cu = fu, Au = cs, zu = Is, Pu = y, Eu = M, Lu = q, { tokenize: Ou, parse: Nu, generate: Tu, lexer: Ru, createLexer: Du, walk: Iu, find: Bu, findLast: Mu, findAll: Fu, toPlainObject: ju, fromPlainObject: Uu, fork: Wu } = yu;
42487
- g.version = "1.1.4".version, g.createSyntax = ku, g.List = wu.List, g.Lexer = vu.Lexer, g.definitionSyntax = xu, g.clone = Su.clone, g.isCustomProperty = _u.isCustomProperty, g.keyword = _u.keyword, g.property = _u.property, g.vendorPrefix = _u.vendorPrefix, g.ident = Cu, g.string = Au, g.url = zu, g.tokenTypes = Pu, g.tokenNames = Eu, g.TokenStream = Lu.TokenStream, g.createLexer = Du, g.find = Bu, g.findAll = Fu, g.findLast = Mu, g.fork = Wu, g.fromPlainObject = Uu, g.generate = Tu, g.lexer = Ru, g.parse = Nu, g.toPlainObject = ju, g.tokenize = Ou, g.walk = Iu;
42566
+ const yu = su, ku = Eo, wu = ie, vu = wt, xu = lu, Su = pu, _u = Lt, Cu = fu, Au = cs, zu = Is, Pu = y, Eu = M, Lu = q, { tokenize: Ou, parse: Nu, generate: Tu, lexer: Ru, createLexer: Du, walk: Iu, find: Bu, findLast: Mu, findAll: ju, toPlainObject: Fu, fromPlainObject: Uu, fork: Wu } = yu;
42567
+ g.version = "1.1.4".version, g.createSyntax = ku, g.List = wu.List, g.Lexer = vu.Lexer, g.definitionSyntax = xu, g.clone = Su.clone, g.isCustomProperty = _u.isCustomProperty, g.keyword = _u.keyword, g.property = _u.property, g.vendorPrefix = _u.vendorPrefix, g.ident = Cu, g.string = Au, g.url = zu, g.tokenTypes = Pu, g.tokenNames = Eu, g.TokenStream = Lu.TokenStream, g.createLexer = Du, g.find = Bu, g.findAll = ju, g.findLast = Mu, g.fork = Wu, g.fromPlainObject = Uu, g.generate = Tu, g.lexer = Ru, g.parse = Nu, g.toPlainObject = Fu, g.tokenize = Ou, g.walk = Iu;
42488
42568
  var Hu = {};
42489
42569
  const qu = /* @__PURE__ */ new Map([["background", /* @__PURE__ */ new Set(["background-color", "background-position", "background-position-x", "background-position-y", "background-size", "background-repeat", "background-repeat-x", "background-repeat-y", "background-clip", "background-origin", "background-attachment", "background-image"])], ["background-position", /* @__PURE__ */ new Set(["background-position-x", "background-position-y"])], ["background-repeat", /* @__PURE__ */ new Set(["background-repeat-x", "background-repeat-y"])], ["font", /* @__PURE__ */ new Set(["font-style", "font-variant-caps", "font-weight", "font-stretch", "font-size", "line-height", "font-family", "font-size-adjust", "font-kerning", "font-optical-sizing", "font-variant-alternates", "font-variant-east-asian", "font-variant-ligatures", "font-variant-numeric", "font-variant-position", "font-language-override", "font-feature-settings", "font-variation-settings"])], ["font-variant", /* @__PURE__ */ new Set(["font-variant-caps", "font-variant-numeric", "font-variant-alternates", "font-variant-ligatures", "font-variant-east-asian"])], ["outline", /* @__PURE__ */ new Set(["outline-width", "outline-style", "outline-color"])], ["border", /* @__PURE__ */ new Set(["border-top-width", "border-right-width", "border-bottom-width", "border-left-width", "border-top-style", "border-right-style", "border-bottom-style", "border-left-style", "border-top-color", "border-right-color", "border-bottom-color", "border-left-color", "border-image-source", "border-image-slice", "border-image-width", "border-image-outset", "border-image-repeat"])], ["border-width", /* @__PURE__ */ new Set(["border-top-width", "border-right-width", "border-bottom-width", "border-left-width"])], ["border-style", /* @__PURE__ */ new Set(["border-top-style", "border-right-style", "border-bottom-style", "border-left-style"])], ["border-color", /* @__PURE__ */ new Set(["border-top-color", "border-right-color", "border-bottom-color", "border-left-color"])], ["border-block", /* @__PURE__ */ new Set(["border-block-start-width", "border-block-end-width", "border-block-start-style", "border-block-end-style", "border-block-start-color", "border-block-end-color"])], ["border-block-start", /* @__PURE__ */ new Set(["border-block-start-width", "border-block-start-style", "border-block-start-color"])], ["border-block-end", /* @__PURE__ */ new Set(["border-block-end-width", "border-block-end-style", "border-block-end-color"])], ["border-inline", /* @__PURE__ */ new Set(["border-inline-start-width", "border-inline-end-width", "border-inline-start-style", "border-inline-end-style", "border-inline-start-color", "border-inline-end-color"])], ["border-inline-start", /* @__PURE__ */ new Set(["border-inline-start-width", "border-inline-start-style", "border-inline-start-color"])], ["border-inline-end", /* @__PURE__ */ new Set(["border-inline-end-width", "border-inline-end-style", "border-inline-end-color"])], ["border-image", /* @__PURE__ */ new Set(["border-image-source", "border-image-slice", "border-image-width", "border-image-outset", "border-image-repeat"])], ["border-radius", /* @__PURE__ */ new Set(["border-top-left-radius", "border-top-right-radius", "border-bottom-right-radius", "border-bottom-left-radius"])], ["padding", /* @__PURE__ */ new Set(["padding-top", "padding-right", "padding-bottom", "padding-left"])], ["padding-block", /* @__PURE__ */ new Set(["padding-block-start", "padding-block-end"])], ["padding-inline", /* @__PURE__ */ new Set(["padding-inline-start", "padding-inline-end"])], ["margin", /* @__PURE__ */ new Set(["margin-top", "margin-right", "margin-bottom", "margin-left"])], ["margin-block", /* @__PURE__ */ new Set(["margin-block-start", "margin-block-end"])], ["margin-inline", /* @__PURE__ */ new Set(["margin-inline-start", "margin-inline-end"])], ["inset", /* @__PURE__ */ new Set(["top", "right", "bottom", "left"])], ["inset-block", /* @__PURE__ */ new Set(["inset-block-start", "inset-block-end"])], ["inset-inline", /* @__PURE__ */ new Set(["inset-inline-start", "inset-inline-end"])], ["flex", /* @__PURE__ */ new Set(["flex-grow", "flex-shrink", "flex-basis"])], ["flex-flow", /* @__PURE__ */ new Set(["flex-direction", "flex-wrap"])], ["gap", /* @__PURE__ */ new Set(["row-gap", "column-gap"])], ["transition", /* @__PURE__ */ new Set(["transition-duration", "transition-timing-function", "transition-delay", "transition-property"])], ["grid", /* @__PURE__ */ new Set(["grid-template-rows", "grid-template-columns", "grid-template-areas", "grid-auto-flow", "grid-auto-columns", "grid-auto-rows"])], ["grid-template", /* @__PURE__ */ new Set(["grid-template-rows", "grid-template-columns", "grid-template-areas"])], ["grid-row", /* @__PURE__ */ new Set(["grid-row-start", "grid-row-end"])], ["grid-column", /* @__PURE__ */ new Set(["grid-column-start", "grid-column-end"])], ["grid-gap", /* @__PURE__ */ new Set(["grid-row-gap", "grid-column-gap", "row-gap", "column-gap"])], ["place-content", /* @__PURE__ */ new Set(["align-content", "justify-content"])], ["place-items", /* @__PURE__ */ new Set(["align-items", "justify-items"])], ["place-self", /* @__PURE__ */ new Set(["align-self", "justify-self"])], ["columns", /* @__PURE__ */ new Set(["column-width", "column-count"])], ["column-rule", /* @__PURE__ */ new Set(["column-rule-width", "column-rule-style", "column-rule-color"])], ["list-style", /* @__PURE__ */ new Set(["list-style-type", "list-style-position", "list-style-image"])], ["offset", /* @__PURE__ */ new Set(["offset-position", "offset-path", "offset-distance", "offset-rotate", "offset-anchor"])], ["overflow", /* @__PURE__ */ new Set(["overflow-x", "overflow-y"])], ["overscroll-behavior", /* @__PURE__ */ new Set(["overscroll-behavior-x", "overscroll-behavior-y"])], ["scroll-margin", /* @__PURE__ */ new Set(["scroll-margin-top", "scroll-margin-right", "scroll-margin-bottom", "scroll-margin-left"])], ["scroll-padding", /* @__PURE__ */ new Set(["scroll-padding-top", "scroll-padding-right", "scroll-padding-bottom", "scroll-padding-left"])], ["text-decoration", /* @__PURE__ */ new Set(["text-decoration-line", "text-decoration-style", "text-decoration-color", "text-decoration-thickness"])], ["text-stroke", /* @__PURE__ */ new Set(["text-stroke-color", "text-stroke-width"])], ["animation", /* @__PURE__ */ new Set(["animation-duration", "animation-timing-function", "animation-delay", "animation-iteration-count", "animation-direction", "animation-fill-mode", "animation-play-state", "animation-name", "animation-timeline", "animation-range-start", "animation-range-end"])], ["mask", /* @__PURE__ */ new Set(["mask-image", "mask-mode", "mask-repeat-x", "mask-repeat-y", "mask-position-x", "mask-position-y", "mask-clip", "mask-origin", "mask-size", "mask-composite"])], ["mask-repeat", /* @__PURE__ */ new Set(["mask-repeat-x", "mask-repeat-y"])], ["mask-position", /* @__PURE__ */ new Set(["mask-position-x", "mask-position-y"])], ["perspective-origin", /* @__PURE__ */ new Set(["perspective-origin-x", "perspective-origin-y"])], ["transform-origin", /* @__PURE__ */ new Set(["transform-origin-x", "transform-origin-y", "transform-origin-z"])], ["white-space", /* @__PURE__ */ new Set(["white-space-collapse", "text-wrap"])]]), Vu = new Map([Gu("animation", "moz"), Gu("border-image", "moz"), Gu("mask", "moz"), Gu("transition", "moz"), Gu("columns", "moz"), Gu("text-stroke", "moz"), Gu("column-rule", "moz"), ["-moz-border-end", /* @__PURE__ */ new Set(["-moz-border-end-color", "-moz-border-end-style", "-moz-border-end-width"])], ["-moz-border-start", /* @__PURE__ */ new Set(["-moz-border-start-color", "-moz-border-start-style", "-moz-border-start-width"])], ["-moz-outline-radius", /* @__PURE__ */ new Set(["-moz-outline-radius-topleft", "-moz-outline-radius-topright", "-moz-outline-radius-bottomright", "-moz-outline-radius-bottomleft"])]]), $u = new Map([Gu("animation", "webkit"), Gu("border-radius", "webkit"), Gu("column-rule", "webkit"), Gu("columns", "webkit"), Gu("flex", "webkit"), Gu("flex-flow", "webkit"), Gu("mask", "webkit"), Gu("text-stroke", "webkit"), Gu("perspective-origin", "webkit"), Gu("transform-origin", "webkit"), Gu("transition", "webkit"), ["-webkit-border-start", /* @__PURE__ */ new Set(["-webkit-border-start-color", "-webkit-border-start-style", "-webkit-border-start-width"])], ["-webkit-border-before", /* @__PURE__ */ new Set(["-webkit-border-before-color", "-webkit-border-before-style", "-webkit-border-before-width"])], ["-webkit-border-end", /* @__PURE__ */ new Set(["-webkit-border-end-color", "-webkit-border-end-style", "-webkit-border-end-width"])], ["-webkit-border-after", /* @__PURE__ */ new Set(["-webkit-border-after-color", "-webkit-border-after-style", "-webkit-border-after-width"])]]), Ku = ["background-position", "background-repeat", "text-decoration"];
42490
42570
  Vu.forEach((e4, t4) => qu.set(t4, e4)), $u.forEach((e4, t4) => qu.set(t4, e4));
@@ -42707,8 +42787,8 @@ var require_processPagePollCjs = __commonJS({
42707
42787
  return t4;
42708
42788
  };
42709
42789
  const Ih = Dh, Bh = /(\S+)(?:\s+[\d.]+[wx])?(?:,|$)/g;
42710
- const Mh = g, Fh = oh;
42711
- const jh = g, Uh = eh;
42790
+ const Mh = g, jh = oh;
42791
+ const Fh = g, Uh = eh;
42712
42792
  const Wh = g;
42713
42793
  const Hh = Symbol("raw");
42714
42794
  function qh(e4) {
@@ -42796,11 +42876,11 @@ var require_processPagePollCjs = __commonJS({
42796
42876
  }(e4);
42797
42877
  return r2 && (n3 = n3.concat(r2)), n3;
42798
42878
  }, Qh = function(e4) {
42799
- const t4 = Fh(e4.cssRules);
42879
+ const t4 = jh(e4.cssRules);
42800
42880
  return Mh.generate(Mh.fromPlainObject({ type: "StyleSheet", children: t4 }));
42801
42881
  }, ed = function(e4) {
42802
42882
  const t4 = { type: "DeclarationList", children: Uh(e4) };
42803
- return jh.generate(t4);
42883
+ return Fh.generate(t4);
42804
42884
  }, td = fh, nd = function(e4) {
42805
42885
  const { ownerDocument: t4 } = e4;
42806
42886
  if (!t4)
@@ -42901,14 +42981,14 @@ var require_processPagePollCjs = __commonJS({
42901
42981
  function Md(e4, t4) {
42902
42982
  this.dyn_tree = e4, this.max_code = 0, this.stat_desc = t4;
42903
42983
  }
42904
- function Fd(e4) {
42984
+ function jd(e4) {
42905
42985
  return e4 < 256 ? Ld[e4] : Ld[256 + (e4 >>> 7)];
42906
42986
  }
42907
- function jd(e4, t4) {
42987
+ function Fd(e4, t4) {
42908
42988
  e4.pending_buf[e4.pending++] = 255 & t4, e4.pending_buf[e4.pending++] = t4 >>> 8 & 255;
42909
42989
  }
42910
42990
  function Ud(e4, t4, n3) {
42911
- e4.bi_valid > Sd - n3 ? (e4.bi_buf |= t4 << e4.bi_valid & 65535, jd(e4, e4.bi_buf), e4.bi_buf = t4 >> Sd - e4.bi_valid, e4.bi_valid += n3 - Sd) : (e4.bi_buf |= t4 << e4.bi_valid & 65535, e4.bi_valid += n3);
42991
+ e4.bi_valid > Sd - n3 ? (e4.bi_buf |= t4 << e4.bi_valid & 65535, Fd(e4, e4.bi_buf), e4.bi_buf = t4 >> Sd - e4.bi_valid, e4.bi_valid += n3 - Sd) : (e4.bi_buf |= t4 << e4.bi_valid & 65535, e4.bi_valid += n3);
42912
42992
  }
42913
42993
  function Wd(e4, t4, n3) {
42914
42994
  Ud(e4, n3[2 * t4], n3[2 * t4 + 1]);
@@ -42940,7 +43020,7 @@ var require_processPagePollCjs = __commonJS({
42940
43020
  e4.dyn_ltree[512] = 1, e4.opt_len = e4.static_len = 0, e4.last_lit = e4.matches = 0;
42941
43021
  }
42942
43022
  function $d(e4) {
42943
- e4.bi_valid > 8 ? jd(e4, e4.bi_buf) : e4.bi_valid > 0 && (e4.pending_buf[e4.pending++] = e4.bi_buf), e4.bi_buf = 0, e4.bi_valid = 0;
43023
+ e4.bi_valid > 8 ? Fd(e4, e4.bi_buf) : e4.bi_valid > 0 && (e4.pending_buf[e4.pending++] = e4.bi_buf), e4.bi_buf = 0, e4.bi_valid = 0;
42944
43024
  }
42945
43025
  function Kd(e4, t4, n3, r2) {
42946
43026
  var o2 = 2 * t4, i2 = 2 * n3;
@@ -42955,7 +43035,7 @@ var require_processPagePollCjs = __commonJS({
42955
43035
  var r2, o2, i2, a2, s2 = 0;
42956
43036
  if (0 !== e4.last_lit)
42957
43037
  do {
42958
- r2 = e4.pending_buf[e4.d_buf + 2 * s2] << 8 | e4.pending_buf[e4.d_buf + 2 * s2 + 1], o2 = e4.pending_buf[e4.l_buf + s2], s2++, 0 === r2 ? Wd(e4, o2, t4) : (Wd(e4, (i2 = Od[o2]) + kd + 1, t4), 0 !== (a2 = _d[i2]) && Ud(e4, o2 -= Nd[i2], a2), Wd(e4, i2 = Fd(--r2), n3), 0 !== (a2 = Cd[i2]) && Ud(e4, r2 -= Id[i2], a2));
43038
+ r2 = e4.pending_buf[e4.d_buf + 2 * s2] << 8 | e4.pending_buf[e4.d_buf + 2 * s2 + 1], o2 = e4.pending_buf[e4.l_buf + s2], s2++, 0 === r2 ? Wd(e4, o2, t4) : (Wd(e4, (i2 = Od[o2]) + kd + 1, t4), 0 !== (a2 = _d[i2]) && Ud(e4, o2 -= Nd[i2], a2), Wd(e4, i2 = jd(--r2), n3), 0 !== (a2 = Cd[i2]) && Ud(e4, r2 -= Id[i2], a2));
42959
43039
  } while (s2 < e4.last_lit);
42960
43040
  Wd(e4, 256, t4);
42961
43041
  }
@@ -43011,7 +43091,7 @@ var require_processPagePollCjs = __commonJS({
43011
43091
  var Qd = false;
43012
43092
  function ep(e4, t4, n3, r2) {
43013
43093
  Ud(e4, 0 + (r2 ? 1 : 0), 3), function(e5, t5, n4, r3) {
43014
- $d(e5), jd(e5, n4), jd(e5, ~n4), bd.arraySet(e5.pending_buf, e5.window, t5, n4, e5.pending), e5.pending += n4;
43094
+ $d(e5), Fd(e5, n4), Fd(e5, ~n4), bd.arraySet(e5.pending_buf, e5.window, t5, n4, e5.pending), e5.pending += n4;
43015
43095
  }(e4, t4, n3);
43016
43096
  }
43017
43097
  gd._tr_init = function(e4) {
@@ -43065,10 +43145,10 @@ var require_processPagePollCjs = __commonJS({
43065
43145
  Jd(e5, e5.dyn_ltree, t5 - 1), Jd(e5, e5.dyn_dtree, n4 - 1);
43066
43146
  }(e4, e4.l_desc.max_code + 1, e4.d_desc.max_code + 1, a2 + 1), Gd(e4, e4.dyn_ltree, e4.dyn_dtree)), Vd(e4), r2 && $d(e4);
43067
43147
  }, gd._tr_tally = function(e4, t4, n3) {
43068
- return e4.pending_buf[e4.d_buf + 2 * e4.last_lit] = t4 >>> 8 & 255, e4.pending_buf[e4.d_buf + 2 * e4.last_lit + 1] = 255 & t4, e4.pending_buf[e4.l_buf + e4.last_lit] = 255 & n3, e4.last_lit++, 0 === t4 ? e4.dyn_ltree[2 * n3]++ : (e4.matches++, t4--, e4.dyn_ltree[2 * (Od[n3] + kd + 1)]++, e4.dyn_dtree[2 * Fd(t4)]++), e4.last_lit === e4.lit_bufsize - 1;
43148
+ return e4.pending_buf[e4.d_buf + 2 * e4.last_lit] = t4 >>> 8 & 255, e4.pending_buf[e4.d_buf + 2 * e4.last_lit + 1] = 255 & t4, e4.pending_buf[e4.l_buf + e4.last_lit] = 255 & n3, e4.last_lit++, 0 === t4 ? e4.dyn_ltree[2 * n3]++ : (e4.matches++, t4--, e4.dyn_ltree[2 * (Od[n3] + kd + 1)]++, e4.dyn_dtree[2 * jd(t4)]++), e4.last_lit === e4.lit_bufsize - 1;
43069
43149
  }, gd._tr_align = function(e4) {
43070
43150
  Ud(e4, 2, 3), Wd(e4, 256, Pd), function(e5) {
43071
- 16 === e5.bi_valid ? (jd(e5, e5.bi_buf), e5.bi_buf = 0, e5.bi_valid = 0) : e5.bi_valid >= 8 && (e5.pending_buf[e5.pending++] = 255 & e5.bi_buf, e5.bi_buf >>= 8, e5.bi_valid -= 8);
43151
+ 16 === e5.bi_valid ? (Fd(e5, e5.bi_buf), e5.bi_buf = 0, e5.bi_valid = 0) : e5.bi_valid >= 8 && (e5.pending_buf[e5.pending++] = 255 & e5.bi_buf, e5.bi_buf >>= 8, e5.bi_valid -= 8);
43072
43152
  }(e4);
43073
43153
  };
43074
43154
  var tp, np = function(e4, t4, n3, r2) {
@@ -43203,10 +43283,10 @@ var require_processPagePollCjs = __commonJS({
43203
43283
  }
43204
43284
  return e4.match_available && (r2 = sp._tr_tally(e4, 0, e4.window[e4.strstart - 1]), e4.match_available = 0), e4.insert = e4.strstart < vp - 1 ? e4.strstart : vp - 1, 4 === t4 ? (Np(e4, true), 0 === e4.strm.avail_out ? 3 : 4) : e4.last_lit && (Np(e4, false), 0 === e4.strm.avail_out) ? 1 : 2;
43205
43285
  }
43206
- function Fp(e4, t4, n3, r2, o2) {
43286
+ function jp(e4, t4, n3, r2, o2) {
43207
43287
  this.good_length = e4, this.max_lazy = t4, this.nice_length = n3, this.max_chain = r2, this.func = o2;
43208
43288
  }
43209
- function jp() {
43289
+ function Fp() {
43210
43290
  this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = fp, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new ap.Buf16(2 * kp), this.dyn_dtree = new ap.Buf16(2 * (2 * bp + 1)), this.bl_tree = new ap.Buf16(2 * (2 * yp + 1)), Lp(this.dyn_ltree), Lp(this.dyn_dtree), Lp(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new ap.Buf16(wp + 1), this.heap = new ap.Buf16(2 * gp + 1), Lp(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new ap.Buf16(2 * gp + 1), Lp(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
43211
43291
  }
43212
43292
  function Up(e4) {
@@ -43224,10 +43304,10 @@ var require_processPagePollCjs = __commonJS({
43224
43304
  if (-1 === t4 && (t4 = 6), r2 < 0 ? (a2 = 0, r2 = -r2) : r2 > 15 && (a2 = 2, r2 -= 16), o2 < 1 || o2 > 9 || n3 !== fp || r2 < 8 || r2 > 15 || t4 < 0 || t4 > 9 || i2 < 0 || i2 > 4)
43225
43305
  return Pp(e4, pp);
43226
43306
  8 === r2 && (r2 = 9);
43227
- var s2 = new jp();
43307
+ var s2 = new Fp();
43228
43308
  return e4.state = s2, s2.strm = e4, s2.wrap = a2, s2.gzhead = null, s2.w_bits = r2, s2.w_size = 1 << s2.w_bits, s2.w_mask = s2.w_size - 1, s2.hash_bits = o2 + 7, s2.hash_size = 1 << s2.hash_bits, s2.hash_mask = s2.hash_size - 1, s2.hash_shift = ~~((s2.hash_bits + vp - 1) / vp), s2.window = new ap.Buf8(2 * s2.w_size), s2.head = new ap.Buf16(s2.hash_size), s2.prev = new ap.Buf16(s2.w_size), s2.lit_bufsize = 1 << o2 + 6, s2.pending_buf_size = 4 * s2.lit_bufsize, s2.pending_buf = new ap.Buf8(s2.pending_buf_size), s2.d_buf = 1 * s2.lit_bufsize, s2.l_buf = 3 * s2.lit_bufsize, s2.level = t4, s2.strategy = i2, s2.method = n3, Wp(e4);
43229
43309
  }
43230
- tp = [new Fp(0, 0, 0, 0, function(e4, t4) {
43310
+ tp = [new jp(0, 0, 0, 0, function(e4, t4) {
43231
43311
  var n3 = 65535;
43232
43312
  for (n3 > e4.pending_buf_size - 5 && (n3 = e4.pending_buf_size - 5); ; ) {
43233
43313
  if (e4.lookahead <= 1) {
@@ -43244,7 +43324,7 @@ var require_processPagePollCjs = __commonJS({
43244
43324
  return 1;
43245
43325
  }
43246
43326
  return e4.insert = 0, 4 === t4 ? (Np(e4, true), 0 === e4.strm.avail_out ? 3 : 4) : (e4.strstart > e4.block_start && (Np(e4, false), e4.strm.avail_out), 1);
43247
- }), new Fp(4, 4, 8, 4, Bp), new Fp(4, 5, 16, 8, Bp), new Fp(4, 6, 32, 32, Bp), new Fp(4, 4, 16, 16, Mp), new Fp(8, 16, 32, 32, Mp), new Fp(8, 16, 128, 128, Mp), new Fp(8, 32, 128, 256, Mp), new Fp(32, 128, 258, 1024, Mp), new Fp(32, 258, 258, 4096, Mp)], fd.deflateInit = function(e4, t4) {
43327
+ }), new jp(4, 4, 8, 4, Bp), new jp(4, 5, 16, 8, Bp), new jp(4, 6, 32, 32, Bp), new jp(4, 4, 16, 16, Mp), new jp(8, 16, 32, 32, Mp), new jp(8, 16, 128, 128, Mp), new jp(8, 32, 128, 256, Mp), new jp(32, 128, 258, 1024, Mp), new jp(32, 258, 258, 4096, Mp)], fd.deflateInit = function(e4, t4) {
43248
43328
  return Hp(e4, t4, fp, 15, 8, 0);
43249
43329
  }, fd.deflateInit2 = Hp, fd.deflateReset = Wp, fd.deflateResetKeep = Up, fd.deflateSetHeader = function(e4, t4) {
43250
43330
  return e4 && e4.state ? 2 !== e4.state.wrap ? pp : (e4.state.gzhead = t4, dp) : pp;
@@ -43627,7 +43707,7 @@ var require_processPagePollCjs = __commonJS({
43627
43707
  }
43628
43708
  e4.lencode = Dm, e4.lenbits = 9, e4.distcode = Im, e4.distbits = 5;
43629
43709
  }
43630
- function Fm(e4, t4, n3, r2) {
43710
+ function jm(e4, t4, n3, r2) {
43631
43711
  var o2, i2 = e4.state;
43632
43712
  return null === i2.window && (i2.wsize = 1 << i2.wbits, i2.wnext = 0, i2.whave = 0, i2.window = new bm.Buf8(i2.wsize)), r2 >= i2.wsize ? (bm.arraySet(i2.window, t4, n3 - i2.wsize, i2.wsize, 0), i2.wnext = 0, i2.whave = i2.wsize) : ((o2 = i2.wsize - i2.wnext) > r2 && (o2 = r2), bm.arraySet(i2.window, t4, n3 - r2, o2, i2.wnext), (r2 -= o2) ? (bm.arraySet(i2.window, t4, n3 - r2, r2, 0), i2.wnext = r2, i2.whave = i2.wsize) : (i2.wnext += o2, i2.wnext === i2.wsize && (i2.wnext = 0), i2.whave < i2.wsize && (i2.whave += o2))), 0;
43633
43713
  }
@@ -44045,7 +44125,7 @@ var require_processPagePollCjs = __commonJS({
44045
44125
  default:
44046
44126
  return Sm;
44047
44127
  }
44048
- return e4.next_out = a2, e4.avail_out = l2, e4.next_in = i2, e4.avail_in = s2, n3.hold = c2, n3.bits = u2, (n3.wsize || d2 !== e4.avail_out && n3.mode < Am && (n3.mode < 27 || 4 !== t4)) && Fm(e4, e4.output, e4.next_out, d2 - e4.avail_out), h2 -= e4.avail_in, d2 -= e4.avail_out, e4.total_in += h2, e4.total_out += d2, n3.total += d2, n3.wrap && d2 && (e4.adler = n3.check = n3.flags ? km(n3.check, o2, d2, e4.next_out - d2) : ym(n3.check, o2, d2, e4.next_out - d2)), e4.data_type = n3.bits + (n3.last ? 64 : 0) + (n3.mode === Cm ? 128 : 0) + (20 === n3.mode || 15 === n3.mode ? 256 : 0), (0 === h2 && 0 === d2 || 4 === t4) && S2 === xm && (S2 = -5), S2;
44128
+ return e4.next_out = a2, e4.avail_out = l2, e4.next_in = i2, e4.avail_in = s2, n3.hold = c2, n3.bits = u2, (n3.wsize || d2 !== e4.avail_out && n3.mode < Am && (n3.mode < 27 || 4 !== t4)) && jm(e4, e4.output, e4.next_out, d2 - e4.avail_out), h2 -= e4.avail_in, d2 -= e4.avail_out, e4.total_in += h2, e4.total_out += d2, n3.total += d2, n3.wrap && d2 && (e4.adler = n3.check = n3.flags ? km(n3.check, o2, d2, e4.next_out - d2) : ym(n3.check, o2, d2, e4.next_out - d2)), e4.data_type = n3.bits + (n3.last ? 64 : 0) + (n3.mode === Cm ? 128 : 0) + (20 === n3.mode || 15 === n3.mode ? 256 : 0), (0 === h2 && 0 === d2 || 4 === t4) && S2 === xm && (S2 = -5), S2;
44049
44129
  }, hm.inflateEnd = function(e4) {
44050
44130
  if (!e4 || !e4.state)
44051
44131
  return Sm;
@@ -44056,9 +44136,9 @@ var require_processPagePollCjs = __commonJS({
44056
44136
  return e4 && e4.state ? 0 == (2 & (n3 = e4.state).wrap) ? Sm : (n3.head = t4, t4.done = false, xm) : Sm;
44057
44137
  }, hm.inflateSetDictionary = function(e4, t4) {
44058
44138
  var n3, r2 = t4.length;
44059
- return e4 && e4.state ? 0 !== (n3 = e4.state).wrap && 11 !== n3.mode ? Sm : 11 === n3.mode && ym(1, t4, r2, 0) !== n3.check ? -3 : Fm(e4, t4, r2, r2) ? (n3.mode = 31, -4) : (n3.havedict = 1, xm) : Sm;
44139
+ return e4 && e4.state ? 0 !== (n3 = e4.state).wrap && 11 !== n3.mode ? Sm : 11 === n3.mode && ym(1, t4, r2, 0) !== n3.check ? -3 : jm(e4, t4, r2, r2) ? (n3.mode = 31, -4) : (n3.havedict = 1, xm) : Sm;
44060
44140
  }, hm.inflateInfo = "pako inflate (from Nodeca project)";
44061
- var jm = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }, Um = hm, Wm = pd, Hm = qp, qm = jm, Vm = ip, $m = Xp, Km = function() {
44141
+ var Fm = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }, Um = hm, Wm = pd, Hm = qp, qm = Fm, Vm = ip, $m = Xp, Km = function() {
44062
44142
  this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = false;
44063
44143
  }, Zm = Object.prototype.toString;
44064
44144
  function Gm(e4) {
@@ -44098,7 +44178,7 @@ var require_processPagePollCjs = __commonJS({
44098
44178
  return (t4 = t4 || {}).raw = true, Ym(e4, t4);
44099
44179
  }, um.ungzip = Ym;
44100
44180
  var Xm = {};
44101
- (0, pd.assign)(Xm, md, um, jm);
44181
+ (0, pd.assign)(Xm, md, um, Fm);
44102
44182
  var Jm = Xm;
44103
44183
  const { deflate: Qm } = Jm, ef = function(e4) {
44104
44184
  const t4 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), n3 = new Uint8Array(e4), r2 = n3.length, o2 = r2 % 3, i2 = [], a2 = 16383;
@@ -44264,9 +44344,9 @@ var require_processPagePollCjs = __commonJS({
44264
44344
  }(m2));
44265
44345
  return f2 ? (e5.push(f2), e5.length - 1) : null;
44266
44346
  }
44267
- }, Ff = function(e4) {
44347
+ }, jf = function(e4) {
44268
44348
  return e4.reduce(({ resourceUrls: e5, blobsObj: t4 }, { resourceUrls: n3, blobsObj: r2 }) => ({ resourceUrls: dd(e5.concat(n3)), blobsObj: Object.assign(t4, r2) }), { resourceUrls: [], blobsObj: {} });
44269
- }, jf = function({ processResource: e4, aggregateResourceUrlsAndBlobs: t4 }) {
44349
+ }, Ff = function({ processResource: e4, aggregateResourceUrlsAndBlobs: t4 }) {
44270
44350
  return function n3({ documents: r2, urls: o2, forceCreateStyle: i2 = false, skipResources: a2 }) {
44271
44351
  return Promise.all(o2.map((t5) => e4({ url: t5, documents: r2, getResourceUrlsAndBlobs: n3, forceCreateStyle: i2, skipResources: a2 }))).then((e5) => t4(e5));
44272
44352
  };
@@ -44467,7 +44547,7 @@ creating temp style for access.`), r2 = Sf(e4);
44467
44547
  arguments[0] instanceof Document && (t4 = arguments[0], n3 = arguments[1].showLogs, r2 = arguments[1].useSessionCache, o2 = arguments[1].dontFetchResources, i2 = arguments[1].fetchTimeout, a2 = arguments[1].skipResources, s2 = arguments[1].compressResources, l2 = arguments[1].serializeResources, c2 = arguments[1].removeReverseProxyURLPrefixes);
44468
44548
  const h2 = n3 ? og(Date.now()) : ig;
44469
44549
  h2("processPage start"), h2(`skipResources length: ${a2 && a2.length}`);
44470
- const d2 = r2 && ag({ log: h2 }), p2 = {}, m2 = Vf({ styleSheetCache: p2, removeReverseProxyURLPrefixes: c2 }), f2 = qf({ styleSheetCache: p2 }), g2 = $f(m2), b2 = Kf(m2), y2 = Wf({ extractResourceUrlsFromStyleTags: g2 }), k2 = Hf({ timeout: i2 }), w2 = Uf({ fetchUrl: k2, findStyleSheetByUrl: f2, getCorsFreeStyleSheet: Zf, extractResourcesFromStyleSheet: m2, extractResourcesFromSvg: y2, absolutizeUrl: If, log: h2, sessionCache: d2, compress: s2, serialize: l2 }), v2 = jf({ processResource: w2, aggregateResourceUrlsAndBlobs: Ff });
44550
+ const d2 = r2 && ag({ log: h2 }), p2 = {}, m2 = Vf({ styleSheetCache: p2, removeReverseProxyURLPrefixes: c2 }), f2 = qf({ styleSheetCache: p2 }), g2 = $f(m2), b2 = Kf(m2), y2 = Wf({ extractResourceUrlsFromStyleTags: g2 }), k2 = Hf({ timeout: i2 }), w2 = Uf({ fetchUrl: k2, findStyleSheetByUrl: f2, getCorsFreeStyleSheet: Zf, extractResourcesFromStyleSheet: m2, extractResourcesFromSvg: y2, absolutizeUrl: If, log: h2, sessionCache: d2, compress: s2, serialize: l2 }), v2 = Ff({ processResource: w2, aggregateResourceUrlsAndBlobs: jf });
44471
44551
  return function e4(t5, n4 = t5.location.href) {
44472
44552
  const r3 = Jf(t5) || n4, i3 = Df(u2), { cdt: c3, docRoots: p3, canvasElements: m3, frames: f3, inlineFrames: y3, crossFrames: k3, linkUrls: w3, imageBlobs: x2, videoBlobs: S2 } = Mf(t5, r3, h2), _2 = ng(p3.map((e5) => g2(e5))), C2 = ng(p3.map((e5) => b2(e5))), A2 = function(e5) {
44473
44553
  return function(t6) {
@@ -44484,19 +44564,22 @@ creating temp style for access.`), r2 = Sf(e4);
44484
44564
  return Promise.all([P2, E2, L2, O2].concat(N2).concat(T2)).then(function(e5) {
44485
44565
  const { resourceUrls: t6, blobsObj: o3 } = e5[0], a3 = e5[1], s3 = e5[2], l3 = e5[3], h3 = e5.slice(4), d3 = R2("src"), p4 = R2("data-applitools-selector"), m4 = p4 ? `[data-applitools-selector="${p4}"]` : void 0, f4 = function(e6) {
44486
44566
  return Object.keys(e6).map((t7) => Object.assign({ url: t7.replace(/^blob:/, "") }, e6[t7]));
44487
- }(o3).concat(a3).concat(s3).concat(l3), g3 = { cdt: c3, url: n4, srcAttr: d3, resourceUrls: t6.map((e6) => e6.replace(/^blob:/, "")), blobs: f4, frames: h3, crossFrames: k3 };
44488
- void 0 !== i3 && (g3.safeSelectors = i3), void 0 !== m4 && (g3.selector = m4), r3 !== n4 && (g3.baseUri = r3);
44567
+ }(o3).concat(a3).concat(s3).concat(l3), g3 = [], b3 = [];
44568
+ for (const e6 of f4)
44569
+ 599 === e6.errorStatusCode || 504 === e6.errorStatusCode ? (t6.push(e6.url), g3.push(`${e6.errorStatusCode}:${e6.url}`)) : b3.push(e6);
44570
+ const y4 = { cdt: c3, url: n4, srcAttr: d3, resourceUrls: t6.map((e6) => e6.replace(/^blob:/, "")), blobs: b3, frames: h3, crossFrames: k3 };
44571
+ void 0 !== i3 && (y4.safeSelectors = i3), void 0 !== m4 && (y4.selector = m4), r3 !== n4 && (y4.baseUri = r3);
44489
44572
  try {
44490
44573
  u2 && Rf(u2);
44491
44574
  } catch (e6) {
44492
- g3.error = e6.message;
44575
+ g3.push(e6.message);
44493
44576
  }
44494
- return g3;
44577
+ return g3.length > 0 && (y4.warnings = g3), y4;
44495
44578
  });
44496
44579
  function R2(e5) {
44497
44580
  return t5.defaultView && t5.defaultView.frameElement && t5.defaultView.frameElement.getAttribute(e5);
44498
44581
  }
44499
- }(t4).then((e4) => (h2("processPage end"), e4.scriptVersion = "4.11.4", e4));
44582
+ }(t4).then((e4) => (h2("processPage end"), e4.scriptVersion = "4.11.11", e4));
44500
44583
  };
44501
44584
  window[cg] = window[cg] || {};
44502
44585
  const dg = lg(hg, window[cg], ug);
@@ -44589,7 +44672,7 @@ var require_pollResultCjs2 = __commonJS({
44589
44672
  const s = a;
44590
44673
  var l = { chunkify: e3, pollify: function(t5, e4, n3) {
44591
44674
  return (r2) => function() {
44592
- return e4[n3] || (e4[n3] = {}, Promise.resolve().then(() => t5.apply(null, arguments)).then((t6) => e4[n3].value = t6).catch((t6) => e4[n3].error = t6.message)), s(e4, n3, r2);
44675
+ return e4[n3] || (e4[n3] = {}, Promise.resolve().then(() => t5.apply(null, arguments)).then((t6) => e4[n3].value = t6).catch((t6) => e4[n3].error = t6.message + "\nStack:" + t6.stack)), s(e4, n3, r2);
44593
44676
  };
44594
44677
  }, poll: a, absolutizeUrl: function(t5, e4) {
44595
44678
  if (function(t6) {
@@ -44831,29 +44914,29 @@ var require_take_dom_snapshot = __commonJS({
44831
44914
  ];
44832
44915
  });
44833
44916
  logger.log(...snapshot.crossFrames ? [
44834
- `frames paths for ${JSON.stringify(snapshot.crossFrames)}:`,
44917
+ `dom snapshot - frames paths for ${JSON.stringify(snapshot.crossFrames)}:`,
44835
44918
  crossFrames.map((selector) => ({
44836
44919
  // we don't want `selector.parentSnapshot` to be logged - the size of it can be huge
44837
44920
  cdtNode: selector.cdtNode,
44838
44921
  reference: selector.reference
44839
44922
  }))
44840
- ] : ["no cross frames found"]);
44923
+ ] : ["dom snapshot - no cross frames found"]);
44841
44924
  return crossFrames;
44842
44925
  }
44843
44926
  function logSnapshot(logger, snapshot) {
44844
44927
  try {
44845
- logger.log(`dom snapshot cdt length: ${snapshot.cdt.length}`);
44846
- logger.log(`blobs urls (${snapshot.blobs.length}):`, JSON.stringify(snapshot.blobs.map(({ url }) => url)));
44847
- logger.log(`resource urls (${snapshot.resourceUrls.length}):`, JSON.stringify(snapshot.resourceUrls));
44848
- logger.log(`cdt nodes with data-applitools-selector: ${JSON.stringify(snapshot.cdt.filter((node) => {
44928
+ logger.log(`dom snapshot - cdt length: ${snapshot.cdt.length}`);
44929
+ logger.log(`dom snapshot - blobs urls (${snapshot.blobs.length}):`, JSON.stringify(snapshot.blobs.map(({ url }) => url)));
44930
+ logger.log(`dom snapshot - resource urls (${snapshot.resourceUrls.length}):`, JSON.stringify(snapshot.resourceUrls));
44931
+ logger.log(`dom snapshot - cdt nodes with data-applitools-selector: ${JSON.stringify(snapshot.cdt.filter((node) => {
44849
44932
  var _a;
44850
44933
  return (_a = node.attributes) === null || _a === void 0 ? void 0 : _a.some((attr) => attr.name === "data-applitools-selector");
44851
44934
  }))}`);
44935
+ logger.log("dom snapshot - safeSelectors:", snapshot.safeSelectors);
44936
+ logger.log("dom snapshot - warnings:", snapshot.warnings);
44852
44937
  } catch (err) {
44853
- logger.error(`error while logging cdt`, err);
44938
+ logger.error(`error while logging dom snapshot`, err);
44854
44939
  }
44855
- if (snapshot.error)
44856
- logger.error("snapshot error:", snapshot.error);
44857
44940
  }
44858
44941
  }
44859
44942
  });
@@ -45200,7 +45283,7 @@ var require_to_generated_selectors = __commonJS({
45200
45283
  init_setInterval();
45201
45284
  Object.defineProperty(exports, "__esModule", { value: true });
45202
45285
  exports.toGeneratedSelectors = void 0;
45203
- function toGeneratedSelectors({ elementReferences, transformElementReference }) {
45286
+ function toGeneratedSelectors({ elementReferences, logger, transformElementReference }) {
45204
45287
  var _a, _b, _c;
45205
45288
  const elementReferencesToMark = [
45206
45289
  (_a = elementReferences.target) !== null && _a !== void 0 ? _a : [],
@@ -45216,14 +45299,37 @@ var require_to_generated_selectors = __commonJS({
45216
45299
  if (generatedSelectors) {
45217
45300
  let offset = 0;
45218
45301
  if (elementReferences.target) {
45219
- target = (_a2 = generatedSelectors[offset++].safeSelector) !== null && _a2 !== void 0 ? _a2 : void 0;
45220
- if (!target)
45302
+ const targetOrError = (_a2 = generatedSelectors[offset++].safeSelector) !== null && _a2 !== void 0 ? _a2 : void 0;
45303
+ if (!targetOrError)
45221
45304
  throw new Error("Target element not found");
45305
+ if (typeof targetOrError !== "string" && "error" in targetOrError)
45306
+ throw new Error(`Target element is stale - please make sure the element is not detached from the DOM tree. ${targetOrError.error}`);
45307
+ target = targetOrError;
45222
45308
  }
45223
45309
  if (elementReferences.scrolling) {
45224
- scrolling = (_b2 = generatedSelectors[offset++].safeSelector) !== null && _b2 !== void 0 ? _b2 : void 0;
45310
+ const scrollingOrError = (_b2 = generatedSelectors[offset++].safeSelector) !== null && _b2 !== void 0 ? _b2 : void 0;
45311
+ const isError = typeof scrollingOrError === "object" && "error" in scrollingOrError;
45312
+ scrolling = isError ? void 0 : scrollingOrError;
45313
+ if (isError) {
45314
+ logger.log("Error in scrolling element:", scrollingOrError);
45315
+ } else if (!scrolling) {
45316
+ logger.log("Scrolling element not found");
45317
+ }
45225
45318
  }
45226
- calculate = generatedSelectors.slice(offset);
45319
+ calculate = generatedSelectors.slice(offset).map((generatedSelector) => {
45320
+ var _a3;
45321
+ const safeSelector = generatedSelector.safeSelector;
45322
+ const isError = safeSelector && typeof safeSelector === "object" && "error" in safeSelector;
45323
+ if (isError) {
45324
+ logger.log("Error in calculate element:", safeSelector);
45325
+ } else if (!safeSelector) {
45326
+ logger.log("Calculate element not found", (_a3 = generatedSelector.originalSelector) !== null && _a3 !== void 0 ? _a3 : "");
45327
+ }
45328
+ return {
45329
+ ...generatedSelector,
45330
+ safeSelector: isError ? null : safeSelector
45331
+ };
45332
+ });
45227
45333
  } else {
45228
45334
  target = elementReferences.target && transformElementReference(elementReferences.target);
45229
45335
  scrolling = elementReferences.scrolling && transformElementReference(elementReferences.scrolling);
@@ -45273,6 +45379,7 @@ var require_take_snapshots2 = __commonJS({
45273
45379
  const { elementReferences, getSafeCheckSettings } = (0, to_safe_check_settings_1.toSafeCheckSettings)({ settings });
45274
45380
  const { elementReferencesToMark, getGeneratedSelectors } = (0, to_generated_selectors_1.toGeneratedSelectors)({
45275
45381
  elementReferences,
45382
+ logger,
45276
45383
  // dead code - `transformElementReference` was used for NMG but it's not longer used anywhere
45277
45384
  transformElementReference: (elementReference) => {
45278
45385
  var _a2;
@@ -88007,7 +88114,15 @@ var require_client_offline = __commonJS({
88007
88114
  function makeUFGClientOffline({ cache, settings, logger }) {
88008
88115
  const offlineLocationPath = settings.offlineLocationPath;
88009
88116
  const offlineResourcesLocationPath = path_1.default.resolve(offlineLocationPath, "resources");
88010
- fs_1.default.mkdirSync(offlineResourcesLocationPath);
88117
+ try {
88118
+ fs_1.default.mkdirSync(offlineResourcesLocationPath);
88119
+ } catch (err) {
88120
+ if (err.code === "EEXIST") {
88121
+ logger.log(`offline resources folder already exists: ${offlineResourcesLocationPath} (continuing...)`);
88122
+ } else {
88123
+ throw err;
88124
+ }
88125
+ }
88011
88126
  logger.log("offline ufg client created with path", offlineLocationPath);
88012
88127
  const fetchResource = (0, fetch_resource_1.makeFetchResource)({
88013
88128
  concurrency: settings.fetchConcurrency,
@@ -88327,7 +88442,7 @@ var require_get_base_eyes2 = __commonJS({
88327
88442
  },
88328
88443
  logger
88329
88444
  });
88330
- (0, report_kobiton_1.reportKobiton)({ driver: settings.driver, settings: baseEyes.test, logger });
88445
+ void (0, report_kobiton_1.reportKobiton)({ driver: settings.driver, settings: baseEyes.test, logger });
88331
88446
  return baseEyes;
88332
88447
  }
88333
88448
  }
@@ -88524,7 +88639,7 @@ var require_check3 = __commonJS({
88524
88639
  throw new abort_error_1.AbortError(`Render on environment with id "${(_g = baseEyes.test.environment) === null || _g === void 0 ? void 0 : _g.environmentId}" was aborted during one of the previous steps`);
88525
88640
  }
88526
88641
  if (settings.assumesMutability) {
88527
- eyes.core.logEvent({
88642
+ void eyes.core.logEvent({
88528
88643
  settings: {
88529
88644
  level: "Notice",
88530
88645
  event: {
@@ -88625,32 +88740,24 @@ var require_check_and_close3 = __commonJS({
88625
88740
  Object.defineProperty(exports, "__esModule", { value: true });
88626
88741
  exports.makeCheckAndClose = void 0;
88627
88742
  var driver_1 = require_dist4();
88628
- var take_dom_snapshots_1 = require_take_dom_snapshots();
88629
88743
  var to_base_check_settings_1 = require_to_base_check_settings();
88630
- var to_generated_selectors_1 = require_to_generated_selectors();
88631
88744
  var uniquify_environments_1 = require_uniquify_environments();
88632
88745
  var to_environment_key_1 = require_to_environment_key();
88633
88746
  var abort_error_1 = require_abort_error();
88634
88747
  var utils34 = __importStar(require_browser3());
88635
88748
  var lang = __importStar(require_lang());
88636
88749
  var chalk_1 = __importDefault(require_source());
88750
+ var take_snapshots_1 = require_take_snapshots2();
88751
+ var create_render_target_from_snapshot_1 = require_create_render_target_from_snapshot();
88637
88752
  function makeCheckAndClose({ eyes, target: defaultTarget, environments: defaultEnvironments = [], spec, signal, logger: mainLogger }) {
88638
88753
  return async function checkAndClose({ target = defaultTarget, settings = {}, logger = mainLogger } = {}) {
88639
- var _a, _b;
88754
+ var _a;
88640
88755
  logger = logger.extend(mainLogger);
88641
88756
  logger.log('Command "checkAndClose" is called with settings', settings);
88642
88757
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
88643
88758
  logger.warn('Command "checkAndClose" was called after test was already aborted');
88644
88759
  throw new abort_error_1.AbortError('Command "checkAndClose" was called after test was already aborted');
88645
88760
  }
88646
- const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
88647
- const { elementReferencesToMark, getGeneratedSelectors } = (0, to_generated_selectors_1.toGeneratedSelectors)({
88648
- elementReferences,
88649
- transformElementReference: (elementReference) => {
88650
- var _a2;
88651
- return (0, driver_1.isSelector)(elementReference) && ((_a2 = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _a2 === void 0 ? void 0 : _a2.call(spec, elementReference)) || void 0;
88652
- }
88653
- });
88654
88761
  const uniqueEnvironments = (0, uniquify_environments_1.uniquifyEnvironments)((_a = settings.environments) !== null && _a !== void 0 ? _a : defaultEnvironments);
88655
88762
  const ufgClient = await eyes.core.getUFGClient({
88656
88763
  settings: {
@@ -88661,62 +88768,25 @@ var require_check_and_close3 = __commonJS({
88661
88768
  logger
88662
88769
  });
88663
88770
  let snapshots;
88664
- let snapshotUrl;
88665
- let snapshotTitle;
88666
- let userAgent;
88667
- const driver = spec && (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, reset: target === defaultTarget, logger }) : void 0;
88668
- if (driver) {
88669
- const environment = await driver.getEnvironment();
88670
- const currentContext = driver.currentContext;
88671
- await currentContext.setScrollingElement((_b = settings.scrollRootElement) !== null && _b !== void 0 ? _b : null);
88672
- if (environment.isWeb) {
88673
- userAgent = await driver.getUserAgentLegacy();
88674
- snapshots = await (0, take_dom_snapshots_1.takeDomSnapshots)({
88675
- driver,
88676
- settings: {
88677
- ...eyes.test.eyesServer,
88678
- waitBeforeCapture: settings.waitBeforeCapture,
88679
- disableBrowserFetching: settings.disableBrowserFetching,
88680
- layoutBreakpoints: settings.layoutBreakpoints,
88681
- environments: uniqueEnvironments,
88682
- skipResources: ufgClient.getCachedResourceUrls(),
88683
- lazyLoad: settings.lazyLoad,
88684
- elementReferences: elementReferencesToMark
88685
- },
88686
- provides: {
88687
- getChromeEmulationDevices: ufgClient.getChromeEmulationDevices,
88688
- getIOSDevices: ufgClient.getIOSDevices
88689
- },
88690
- logger
88691
- });
88692
- } else {
88693
- const nmlClient = await eyes.core.getNMLClient({
88694
- driver,
88695
- settings: { ...eyes.test.eyesServer, supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl },
88696
- logger
88697
- });
88698
- snapshots = await nmlClient.takeSnapshots({
88699
- settings: {
88700
- ...eyes.test.eyesServer,
88701
- waitBeforeCapture: settings.waitBeforeCapture,
88702
- environments: uniqueEnvironments
88703
- },
88704
- logger
88705
- });
88706
- }
88707
- await currentContext.focus();
88708
- snapshotUrl = await driver.getUrl();
88709
- snapshotTitle = await driver.getTitle();
88771
+ let driver;
88772
+ if (spec && (0, driver_1.isDriver)(target, spec)) {
88773
+ const takeSnapshots = (0, take_snapshots_1.makeTakeSnapshots)({ core: eyes.core, spec, signal, logger });
88774
+ driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
88775
+ snapshots = await takeSnapshots({
88776
+ driver,
88777
+ account: eyes.test.account,
88778
+ settings: { ...settings, environments: uniqueEnvironments },
88779
+ logger
88780
+ });
88710
88781
  } else {
88711
88782
  snapshots = !utils34.types.isArray(target) ? Array(uniqueEnvironments.length).fill(target) : target;
88712
- snapshotUrl = utils34.types.has(snapshots[0], "url") ? snapshots[0].url : void 0;
88713
88783
  }
88714
- const generatedSelectors = snapshots.map((snapshot) => getGeneratedSelectors(utils34.types.has(snapshot, "generatedSelectors") ? snapshot.generatedSelectors : void 0));
88715
- const promises = uniqueEnvironments.map(async (environment, index) => {
88716
- var _a2, _b2, _c, _d, _e, _f, _g, _h, _j;
88784
+ const promises = snapshots.map(async (snapshot, i) => {
88785
+ var _a2, _b, _c, _d, _e, _f, _g, _h, _j;
88717
88786
  const environmentLogger = logger.extend({ tags: [`environment-${utils34.general.shortid()}`] });
88718
- const ufgEnvironment = environment;
88719
- if (utils34.types.has(ufgEnvironment, "name") && ufgEnvironment.name === "edge") {
88787
+ const { target: target2 } = snapshot;
88788
+ const environment = uniqueEnvironments[i];
88789
+ if (utils34.types.has(environment, "name") && environment.name === "edge") {
88720
88790
  environmentLogger.console.log(chalk_1.default.yellow(lang.edgeUfgEnvironmentDeprecatedWarning));
88721
88791
  }
88722
88792
  try {
@@ -88724,26 +88794,10 @@ var require_check_and_close3 = __commonJS({
88724
88794
  environmentLogger.warn('Command "check" was aborted before rendering');
88725
88795
  throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
88726
88796
  }
88727
- const { cookies, ...snapshot } = snapshots[index];
88728
- const selectors = generatedSelectors[index];
88729
- if (utils34.types.has(ufgEnvironment, "iosDeviceInfo") || utils34.types.has(ufgEnvironment, "androidDeviceInfo")) {
88730
- ufgEnvironment.type = utils34.types.has(snapshot, "cdt") ? "web" : "native";
88797
+ if (utils34.types.has(environment, "iosDeviceInfo") || utils34.types.has(environment, "androidDeviceInfo")) {
88798
+ environment.type = utils34.types.has(target2, "cdt") ? "web" : "native";
88731
88799
  }
88732
- const renderTargetPromise = ufgClient.createRenderTarget({
88733
- snapshot,
88734
- settings: {
88735
- environment: ufgEnvironment,
88736
- cookies,
88737
- headers: {
88738
- Referer: snapshotUrl,
88739
- "User-Agent": userAgent,
88740
- ...settings.headers
88741
- },
88742
- proxy: eyes.test.eyesServer.proxy,
88743
- autProxy: settings.autProxy
88744
- },
88745
- logger: environmentLogger
88746
- });
88800
+ const renderTargetPromise = (0, create_render_target_from_snapshot_1.createRenderTargetFromSnapshot)({ ufgClient, snapshot, logger: environmentLogger });
88747
88801
  const baseEyes = await eyes.getBaseEyes({ settings: { environment, driver }, logger });
88748
88802
  try {
88749
88803
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
@@ -88751,7 +88805,7 @@ var require_check_and_close3 = __commonJS({
88751
88805
  throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
88752
88806
  } else if (!baseEyes.running) {
88753
88807
  environmentLogger.warn(`Render on environment with id "${(_a2 = baseEyes.test.environment) === null || _a2 === void 0 ? void 0 : _a2.environmentId}" was aborted during one of the previous steps`);
88754
- throw new abort_error_1.AbortError(`Render on environment with id "${(_b2 = baseEyes.test.environment) === null || _b2 === void 0 ? void 0 : _b2.environmentId}" was aborted during one of the previous steps`);
88808
+ throw new abort_error_1.AbortError(`Render on environment with id "${(_b = baseEyes.test.environment) === null || _b === void 0 ? void 0 : _b.environmentId}" was aborted during one of the previous steps`);
88755
88809
  }
88756
88810
  const renderTarget = await renderTargetPromise;
88757
88811
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
@@ -88761,31 +88815,35 @@ var require_check_and_close3 = __commonJS({
88761
88815
  environmentLogger.warn(`Render on environment with id "${(_c = baseEyes.test.environment) === null || _c === void 0 ? void 0 : _c.environmentId}" was aborted during one of the previous steps`);
88762
88816
  throw new abort_error_1.AbortError(`Render on environment with id "${(_d = baseEyes.test.environment) === null || _d === void 0 ? void 0 : _d.environmentId}" was aborted during one of the previous steps`);
88763
88817
  }
88818
+ const { elementReferences: selectors, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({
88819
+ settings: snapshot.settings
88820
+ });
88764
88821
  const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
88765
88822
  target: renderTarget,
88766
88823
  settings: {
88767
- ...settings,
88768
- region: (_e = selectors.target) !== null && _e !== void 0 ? _e : settings.region,
88824
+ ...snapshot.settings,
88825
+ region: (_e = selectors.target) !== null && _e !== void 0 ? _e : snapshot.settings.region,
88769
88826
  scrollRootElement: selectors.scrolling,
88770
- selectorsToCalculate: selectors.calculate.flatMap(({ safeSelector }) => safeSelector !== null && safeSelector !== void 0 ? safeSelector : []),
88771
- includeFullPageSize: !!settings.pageId,
88772
- environment: { ...ufgEnvironment, environmentId: baseEyes.test.environment.environmentId },
88827
+ selectorsToCalculate: selectors.calculate,
88828
+ includeFullPageSize: Boolean(snapshot.settings.pageId),
88829
+ environment: { ...environment, environmentId: baseEyes.test.environment.environmentId },
88773
88830
  uploadUrl: baseEyes.test.uploadUrl,
88774
88831
  stitchingServiceUrl: baseEyes.test.stitchingServiceUrl
88775
88832
  },
88776
88833
  signal,
88777
88834
  logger: environmentLogger
88778
88835
  });
88779
- let offset = 0;
88780
88836
  const baseSettings = getBaseCheckSettings({
88781
- calculatedRegions: selectors.calculate.map(({ originalSelector, safeSelector }) => ({
88782
- selector: originalSelector !== null && originalSelector !== void 0 ? originalSelector : void 0,
88783
- regions: safeSelector ? selectorRegions[offset++] : []
88784
- }))
88837
+ calculatedRegions: selectors.calculate.map((_, index) => {
88838
+ var _a3;
88839
+ return {
88840
+ regions: (_a3 = selectorRegions === null || selectorRegions === void 0 ? void 0 : selectorRegions[index]) !== null && _a3 !== void 0 ? _a3 : []
88841
+ };
88842
+ })
88785
88843
  });
88786
88844
  baseSettings.renderId = renderId;
88787
- baseTarget.source = snapshotUrl;
88788
- baseTarget.name = snapshotTitle;
88845
+ baseTarget.source = snapshot.url;
88846
+ baseTarget.name = snapshot.title;
88789
88847
  if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
88790
88848
  environmentLogger.warn('Command "check" was aborted after rendering');
88791
88849
  throw new abort_error_1.AbortError('Command "check" was aborted after rendering');
@@ -88794,7 +88852,7 @@ var require_check_and_close3 = __commonJS({
88794
88852
  throw new abort_error_1.AbortError(`Render on environment with id "${(_g = baseEyes.test.environment) === null || _g === void 0 ? void 0 : _g.environmentId}" was aborted during one of the previous steps`);
88795
88853
  }
88796
88854
  if (settings.assumesMutability) {
88797
- eyes.core.logEvent({
88855
+ void eyes.core.logEvent({
88798
88856
  settings: {
88799
88857
  level: "Notice",
88800
88858
  event: {
@@ -88829,8 +88887,8 @@ var require_check_and_close3 = __commonJS({
88829
88887
  await baseEyes.abort({ logger: environmentLogger, settings: { reason: error } });
88830
88888
  }
88831
88889
  } catch (error) {
88832
- environmentLogger.error(`Environment with id ${ufgEnvironment.environmentId} failed before rendering started due to an error`, error);
88833
- error.info = { ...error.info, userTestId: eyes.test.userTestId, environment: ufgEnvironment };
88890
+ environmentLogger.error(`Environment with id ${environment.environmentId} failed before rendering started due to an error`, error);
88891
+ error.info = { ...error.info, userTestId: eyes.test.userTestId, environment };
88834
88892
  throw error;
88835
88893
  }
88836
88894
  });
@@ -89511,8 +89569,8 @@ var require_check4 = __commonJS({
89511
89569
  function makeCheck({ type: defaultType = "classic", eyes, target: defaultTarget, spec, logger: mainLogger }) {
89512
89570
  let stepIndex = 0;
89513
89571
  return async function check({ type = defaultType, target = defaultTarget, settings, config, logger = mainLogger } = {}) {
89514
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
89515
- var _q, _r, _s, _t;
89572
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
89573
+ var _r, _s, _t, _u, _v;
89516
89574
  logger = logger.extend(mainLogger, { tags: [`check-${type}-${utils34.general.shortid()}`] });
89517
89575
  settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...config === null || config === void 0 ? void 0 : config.check, ...settings };
89518
89576
  (_a = settings.fully) !== null && _a !== void 0 ? _a : settings.fully = !settings.region && (!settings.frames || settings.frames.length === 0);
@@ -89525,15 +89583,18 @@ var require_check4 = __commonJS({
89525
89583
  (_g = settings.sendDom) !== null && _g !== void 0 ? _g : settings.sendDom = eyes.test.account.rcaEnabled || settings.matchLevel === "Layout" || settings.matchLevel === "Dynamic" || settings.enablePatterns || settings.useDom || !utils34.types.isEmpty(settings.dynamicRegions) || !utils34.types.isEmpty(settings.layoutRegions);
89526
89584
  (_h = settings.autProxy) !== null && _h !== void 0 ? _h : settings.autProxy = eyes.test.eyesServer.proxy;
89527
89585
  (_j = settings.useDom) !== null && _j !== void 0 ? _j : settings.useDom = false;
89528
- (_k = (_q = settings).retryTimeout) !== null && _k !== void 0 ? _k : _q.retryTimeout = 0;
89586
+ (_k = (_r = settings).retryTimeout) !== null && _k !== void 0 ? _k : _r.retryTimeout = 0;
89529
89587
  settings.lazyLoad = settings.lazyLoad === true ? {} : settings.lazyLoad;
89530
89588
  if (settings.lazyLoad) {
89531
- (_l = (_r = settings.lazyLoad).scrollLength) !== null && _l !== void 0 ? _l : _r.scrollLength = 300;
89532
- (_m = (_s = settings.lazyLoad).waitingTime) !== null && _m !== void 0 ? _m : _s.waitingTime = 2e3;
89533
- (_o = (_t = settings.lazyLoad).maxAmountToScroll) !== null && _o !== void 0 ? _o : _t.maxAmountToScroll = 15e3;
89589
+ (_l = (_s = settings.lazyLoad).scrollLength) !== null && _l !== void 0 ? _l : _s.scrollLength = 300;
89590
+ (_m = (_t = settings.lazyLoad).waitingTime) !== null && _m !== void 0 ? _m : _t.waitingTime = 2e3;
89591
+ (_o = (_u = settings.lazyLoad).maxAmountToScroll) !== null && _o !== void 0 ? _o : _u.maxAmountToScroll = 15e3;
89534
89592
  }
89535
89593
  settings.stepIndex = stepIndex++;
89536
89594
  (_p = settings.waitBetweenStitches) !== null && _p !== void 0 ? _p : settings.waitBetweenStitches = utils34.types.isObject(settings.lazyLoad) ? settings.lazyLoad.waitingTime : 100;
89595
+ if (settings.mobileOptions) {
89596
+ (_q = (_v = settings.mobileOptions).keepNavigationBar) !== null && _q !== void 0 ? _q : _v.keepNavigationBar = false;
89597
+ }
89537
89598
  if (settings.matchLevel === "Content") {
89538
89599
  logger.console.log(chalk_1.default.yellow(lang.matchLevelContentDeprecatedWarning));
89539
89600
  }
@@ -89961,13 +90022,15 @@ var require_extract_git_info = __commonJS({
89961
90022
  logger = logger.extend({ tags: [`extract-branching-timestamp-${utils34.general.shortid()}`] });
89962
90023
  const command = `HASH=$(git merge-base ${branchName} ${parentBranchName}) && git show -q --format=%aI $HASH`;
89963
90024
  let result = await executeWithLog(command, { execOptions, logger });
89964
- if (result.stderr) {
89965
- const [, missingBranch] = (_a = result.stderr.match(/Not a valid object name ([^\s]+)/)) !== null && _a !== void 0 ? _a : [];
89966
- if (missingBranch) {
89967
- result = await executeWithLog(`git fetch origin ${missingBranch}:${missingBranch} && ${command}`, {
89968
- execOptions,
89969
- logger
89970
- });
90025
+ for (let i = 0; i < 2; i++) {
90026
+ if (result.stderr) {
90027
+ const [, missingBranch] = (_a = result.stderr.match(/Not a valid object name ([^\s]+)/)) !== null && _a !== void 0 ? _a : [];
90028
+ if (missingBranch) {
90029
+ result = await executeWithLog(`git fetch origin ${missingBranch}:${missingBranch} && ${command}`, {
90030
+ execOptions,
90031
+ logger
90032
+ });
90033
+ }
89971
90034
  }
89972
90035
  }
89973
90036
  if (!result.stdout) {
@@ -90056,37 +90119,36 @@ var require_open_eyes4 = __commonJS({
90056
90119
  var extract_git_info_1 = require_extract_git_info();
90057
90120
  function makeOpenEyes({ type: defaultType = "classic", clients, batch, removeDuplicateTests, core, cores, spec, environment, logger: mainLogger, asyncCache, cwd = process.cwd() }) {
90058
90121
  return async function openEyes({ type = defaultType, settings: openSettings, config, target, logger = mainLogger }) {
90059
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
90060
- var _y, _z, _0, _1, _2, _3;
90122
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
90123
+ var _w, _x, _y, _z, _0;
90061
90124
  logger = logger.extend(mainLogger, { tags: [`eyes-${type}-${utils34.general.shortid()}`] });
90062
90125
  const settings = { ...config === null || config === void 0 ? void 0 : config.open, ...openSettings };
90063
90126
  const eyesServerSettings = (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
90064
90127
  (_a = settings.userTestId) !== null && _a !== void 0 ? _a : settings.userTestId = `${settings.testName}--${utils34.general.guid()}`;
90065
90128
  settings.batch = { ...batch, ...settings.batch };
90066
- (_b = (_y = settings.batch).id) !== null && _b !== void 0 ? _b : _y.id = utils34.general.getEnvValue("BATCH_ID");
90067
- (_c = (_z = settings.batch).buildId) !== null && _c !== void 0 ? _c : _z.buildId = utils34.general.getEnvValue("BATCH_BUILD_ID");
90068
- (_d = (_0 = settings.batch).name) !== null && _d !== void 0 ? _d : _0.name = utils34.general.getEnvValue("BATCH_NAME");
90069
- (_e = (_1 = settings.batch).sequenceName) !== null && _e !== void 0 ? _e : _1.sequenceName = utils34.general.getEnvValue("BATCH_SEQUENCE");
90070
- (_f = (_2 = settings.batch).notifyOnCompletion) !== null && _f !== void 0 ? _f : _2.notifyOnCompletion = utils34.general.getEnvValue("BATCH_NOTIFY", "boolean");
90071
- (_g = settings.keepBatchOpen) !== null && _g !== void 0 ? _g : settings.keepBatchOpen = utils34.general.getEnvValue("DONT_CLOSE_BATCHES", "boolean");
90072
- (_h = settings.branchName) !== null && _h !== void 0 ? _h : settings.branchName = utils34.general.getEnvValue("BRANCH");
90073
- (_j = settings.parentBranchName) !== null && _j !== void 0 ? _j : settings.parentBranchName = utils34.general.getEnvValue("PARENT_BRANCH");
90074
- (_k = settings.baselineBranchName) !== null && _k !== void 0 ? _k : settings.baselineBranchName = utils34.general.getEnvValue("BASELINE_BRANCH");
90075
- (_l = settings.gitBranchingTimestamp) !== null && _l !== void 0 ? _l : settings.gitBranchingTimestamp = utils34.general.getEnvValue("GIT_MERGE_BASE_TIMESTAMP");
90076
- (_m = settings.latestCommitInfo) !== null && _m !== void 0 ? _m : settings.latestCommitInfo = getLatestCommitInfoFromEnvVars(logger);
90077
- (_o = settings.ufgServerUrl) !== null && _o !== void 0 ? _o : settings.ufgServerUrl = utils34.general.getEnvValue("UFG_SERVER_URL");
90078
- (_p = settings.ignoreBaseline) !== null && _p !== void 0 ? _p : settings.ignoreBaseline = false;
90079
- (_q = settings.compareWithParentBranch) !== null && _q !== void 0 ? _q : settings.compareWithParentBranch = false;
90080
- (_r = settings.removeDuplicateTests) !== null && _r !== void 0 ? _r : settings.removeDuplicateTests = removeDuplicateTests;
90081
- (_s = settings.latestCommitInfo) !== null && _s !== void 0 ? _s : settings.latestCommitInfo = await (0, extract_git_info_1.extractLatestCommitInfo)({ execOptions: { cwd }, logger });
90129
+ (_b = (_w = settings.batch).id) !== null && _b !== void 0 ? _b : _w.id = (_c = utils34.general.getEnvValue("BATCH_ID")) !== null && _c !== void 0 ? _c : `generated-${utils34.general.guid()}`;
90130
+ (_d = (_x = settings.batch).buildId) !== null && _d !== void 0 ? _d : _x.buildId = utils34.general.getEnvValue("BATCH_BUILD_ID");
90131
+ (_e = (_y = settings.batch).name) !== null && _e !== void 0 ? _e : _y.name = utils34.general.getEnvValue("BATCH_NAME");
90132
+ (_f = (_z = settings.batch).sequenceName) !== null && _f !== void 0 ? _f : _z.sequenceName = utils34.general.getEnvValue("BATCH_SEQUENCE");
90133
+ (_g = (_0 = settings.batch).notifyOnCompletion) !== null && _g !== void 0 ? _g : _0.notifyOnCompletion = utils34.general.getEnvValue("BATCH_NOTIFY", "boolean");
90134
+ (_h = settings.keepBatchOpen) !== null && _h !== void 0 ? _h : settings.keepBatchOpen = utils34.general.getEnvValue("DONT_CLOSE_BATCHES", "boolean");
90135
+ (_j = settings.branchName) !== null && _j !== void 0 ? _j : settings.branchName = utils34.general.getEnvValue("BRANCH");
90136
+ (_k = settings.parentBranchName) !== null && _k !== void 0 ? _k : settings.parentBranchName = utils34.general.getEnvValue("PARENT_BRANCH");
90137
+ (_l = settings.baselineBranchName) !== null && _l !== void 0 ? _l : settings.baselineBranchName = utils34.general.getEnvValue("BASELINE_BRANCH");
90138
+ (_m = settings.gitBranchingTimestamp) !== null && _m !== void 0 ? _m : settings.gitBranchingTimestamp = utils34.general.getEnvValue("GIT_MERGE_BASE_TIMESTAMP");
90139
+ (_o = settings.latestCommitInfo) !== null && _o !== void 0 ? _o : settings.latestCommitInfo = getLatestCommitInfoFromEnvVars(logger);
90140
+ (_p = settings.ufgServerUrl) !== null && _p !== void 0 ? _p : settings.ufgServerUrl = utils34.general.getEnvValue("UFG_SERVER_URL");
90141
+ (_q = settings.ignoreBaseline) !== null && _q !== void 0 ? _q : settings.ignoreBaseline = false;
90142
+ (_r = settings.compareWithParentBranch) !== null && _r !== void 0 ? _r : settings.compareWithParentBranch = false;
90143
+ (_s = settings.removeDuplicateTests) !== null && _s !== void 0 ? _s : settings.removeDuplicateTests = removeDuplicateTests;
90144
+ (_t = settings.latestCommitInfo) !== null && _t !== void 0 ? _t : settings.latestCommitInfo = await (0, extract_git_info_1.extractLatestCommitInfo)({ execOptions: { cwd }, logger });
90082
90145
  if (settings.latestCommitInfo && !(0, extract_git_info_1.isISODate)(settings.latestCommitInfo.timestamp)) {
90083
90146
  logger.warn(`latestCommitInfo.timestamp is an invalid ISO date string: ${settings.latestCommitInfo.timestamp}`);
90084
90147
  settings.latestCommitInfo = void 0;
90085
90148
  }
90086
- if (process.env.CI && (((_t = settings.batch) === null || _t === void 0 ? void 0 : _t.id) || settings.latestCommitInfo)) {
90087
- await populateAutoScmInfo(((_u = settings.batch) === null || _u === void 0 ? void 0 : _u.id) || settings.latestCommitInfo.sha);
90149
+ if (process.env.CI && (isRealBatchId(settings.batch.id) || settings.latestCommitInfo)) {
90150
+ await populateAutoScmInfo(isRealBatchId(settings.batch.id) ? settings.batch.id : settings.latestCommitInfo.sha);
90088
90151
  }
90089
- (_v = (_3 = settings.batch).id) !== null && _v !== void 0 ? _v : _3.id = `generated-${utils34.general.guid()}`;
90090
90152
  if (settings.ignoreGitBranching) {
90091
90153
  settings.gitBranchingTimestamp = void 0;
90092
90154
  } else if (!settings.gitBranchingTimestamp) {
@@ -90107,14 +90169,14 @@ var require_open_eyes4 = __commonJS({
90107
90169
  const driver = target && await (0, driver_1.makeDriver)({ spec, driver: target, logger, customConfig: settings });
90108
90170
  const driverEnvironment = await (driver === null || driver === void 0 ? void 0 : driver.getEnvironment());
90109
90171
  const driverUrl = await (driver === null || driver === void 0 ? void 0 : driver.getDriverUrl());
90110
- core.logEvent({
90172
+ void core.logEvent({
90111
90173
  settings: {
90112
90174
  ...settings,
90113
90175
  level: "Notice",
90114
90176
  event: {
90115
90177
  type: "openEyes",
90116
90178
  userTestId: settings.userTestId,
90117
- concurrency: (_w = cores === null || cores === void 0 ? void 0 : cores[type].concurrency) !== null && _w !== void 0 ? _w : core.concurrency,
90179
+ concurrency: (_u = cores === null || cores === void 0 ? void 0 : cores[type].concurrency) !== null && _u !== void 0 ? _u : core.concurrency,
90118
90180
  environment,
90119
90181
  driver: {
90120
90182
  deviceName: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.deviceName,
@@ -90122,7 +90184,7 @@ var require_open_eyes4 = __commonJS({
90122
90184
  browserVersion: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.browserVersion,
90123
90185
  platformName: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.platformName,
90124
90186
  platformVersion: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.platformVersion,
90125
- isApplitoolsLib: (_x = driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.applitoolsLib) === null || _x === void 0 ? void 0 : _x.instrumented,
90187
+ isApplitoolsLib: (_v = driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.applitoolsLib) === null || _v === void 0 ? void 0 : _v.instrumented,
90126
90188
  isEC: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.isEC
90127
90189
  },
90128
90190
  driverUrl
@@ -90158,8 +90220,8 @@ var require_open_eyes4 = __commonJS({
90158
90220
  };
90159
90221
  });
90160
90222
  async function populateAutoScmInfo(batchId) {
90161
- var _a2, _b2, _c2, _d2, _e2;
90162
- var _f2, _g2;
90223
+ var _a2, _b2;
90224
+ var _c2;
90163
90225
  const branchName = await (0, extract_git_info_1.extractGitBranch)({ execOptions: { cwd }, logger });
90164
90226
  const { owner: repoOwner, name: repoName } = await (0, extract_git_info_1.extractGitRepo)({ execOptions: { cwd }, logger });
90165
90227
  const buildId = await (0, extract_git_info_1.extractBuildIdFromCI)();
@@ -90172,10 +90234,8 @@ var require_open_eyes4 = __commonJS({
90172
90234
  });
90173
90235
  if (scmInfo) {
90174
90236
  (_a2 = settings.batch) !== null && _a2 !== void 0 ? _a2 : settings.batch = {};
90175
- (_b2 = (_f2 = settings.batch).id) !== null && _b2 !== void 0 ? _b2 : _f2.id = batchId;
90176
- (_c2 = (_g2 = settings.batch).buildId) !== null && _c2 !== void 0 ? _c2 : _g2.buildId = buildId;
90177
- (_d2 = settings.branchName) !== null && _d2 !== void 0 ? _d2 : settings.branchName = branchName;
90178
- (_e2 = settings.parentBranchName) !== null && _e2 !== void 0 ? _e2 : settings.parentBranchName = scmInfo.scmTargetBranch;
90237
+ settings.batch.id = isRealBatchId(settings.batch.id) ? settings.batch.id : batchId;
90238
+ (_b2 = (_c2 = settings.batch).buildId) !== null && _b2 !== void 0 ? _b2 : _c2.buildId = buildId;
90179
90239
  }
90180
90240
  } else {
90181
90241
  logger.log(`Skipping check for SCM integration due to missing information: branchName=${branchName} repoName=${repoName} repoOwner=${repoOwner}`);
@@ -90251,6 +90311,9 @@ var require_open_eyes4 = __commonJS({
90251
90311
  logger.warn(`APPLITOOLS_GIT_LATEST_COMMIT_SHA was provided without APPLITOOLS_GIT_LATEST_COMMIT_TIMESTAMP. Not populating latestCommitInfo with the provided sha ${sha}.`);
90252
90312
  }
90253
90313
  }
90314
+ function isRealBatchId(batchId) {
90315
+ return !!batchId && !batchId.startsWith("generated");
90316
+ }
90254
90317
  }
90255
90318
  });
90256
90319
 
@@ -90732,7 +90795,7 @@ var require_package2 = __commonJS({
90732
90795
  "../core/package.json"(exports, module) {
90733
90796
  module.exports = {
90734
90797
  name: "@applitools/core",
90735
- version: "4.21.2",
90798
+ version: "4.24.2",
90736
90799
  homepage: "https://applitools.com",
90737
90800
  bugs: {
90738
90801
  url: "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -90781,8 +90844,8 @@ var require_package2 = __commonJS({
90781
90844
  "build:bin:zip": "zip -j ./bin/core.zip $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
90782
90845
  "build:bin:tgz": "tar -czf ./bin/core.tar.gz $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
90783
90846
  test: "run --top-level mocha './test/**/*.spec.ts' --exclude './test/bin/**' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
90784
- "test:local": "MOCHA_OMIT_TAGS=sauce run test",
90785
- "test:sauce": "MOCHA_ONLY_TAGS=sauce run test",
90847
+ "test:local": "MOCHA_OMIT_TAGS=sauce,browserstack run test",
90848
+ "test:sauce": "MOCHA_ONLY_TAGS=sauce,browserstack run test",
90786
90849
  "test:bin": "MOCHA_GROUP=bin run --top-level mocha './test/bin/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15}",
90787
90850
  "test:e2e": "MOCHA_GROUP=e2e run --top-level mocha './test/e2e/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
90788
90851
  "test:it": "MOCHA_GROUP=it run --top-level mocha './test/it/**/*.spec.ts'",
@@ -91229,6 +91292,7 @@ var require_core4 = __commonJS({
91229
91292
  };
91230
91293
  Object.defineProperty(exports, "__esModule", { value: true });
91231
91294
  exports.makeCore = void 0;
91295
+ var utils34 = __importStar(require_browser3());
91232
91296
  var logger_1 = require_browser6();
91233
91297
  var core_base_1 = require_dist2();
91234
91298
  var core_1 = require_core2();
@@ -91249,7 +91313,7 @@ var require_core4 = __commonJS({
91249
91313
  var ensure_offline_folder_1 = require_ensure_offline_folder();
91250
91314
  var validate_sdk_version_1 = require_validate_sdk_version();
91251
91315
  var memory_usage_logging_1 = require_memory_usage_logging();
91252
- var utils34 = __importStar(require_browser3());
91316
+ var take_snapshots_1 = require_take_snapshots2();
91253
91317
  function makeCore({ spec, clients, base: defaultBase, concurrency = utils34.general.getEnvValue("CONCURRENCY", "number"), environment: defaultEnvironment, agentId = "core", cwd = process.cwd(), logger: defaultLogger, asyncCache } = {}) {
91254
91318
  const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "core" } });
91255
91319
  (0, memory_usage_logging_1.startMemoryUsageLogging)({ logger });
@@ -91257,7 +91321,7 @@ var require_core4 = __commonJS({
91257
91321
  const offlineLocationPath = (0, ensure_offline_folder_1.ensureOfflineFolder)();
91258
91322
  logger.log(`[pid=${process.pid} Core is initialized ${defaultBase ? "with" : "without"} custom base core ${offlineLocationPath ? `and offline location ${offlineLocationPath} ` : ""}and environment `, environment);
91259
91323
  if (environment.sdk)
91260
- (0, validate_sdk_version_1.validateSdkVersion)(environment.sdk, { logger });
91324
+ void (0, validate_sdk_version_1.validateSdkVersion)(environment.sdk, { logger });
91261
91325
  const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, logger, offlineLocationPath });
91262
91326
  const cores = {
91263
91327
  ufg: (0, core_2.makeCore)({ spec, clients, base, asyncCache, logger, offlineLocationPath }),
@@ -91290,7 +91354,8 @@ var require_core4 = __commonJS({
91290
91354
  extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
91291
91355
  openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, clients, core, cores, environment, asyncCache, cwd, logger }),
91292
91356
  closeBatch: (0, close_batch_1.makeCloseBatch)({ core, logger }),
91293
- deleteTest: (0, delete_test_1.makeDeleteTest)({ core, logger })
91357
+ deleteTest: (0, delete_test_1.makeDeleteTest)({ core, logger }),
91358
+ takeSnapshots: spec && (0, take_snapshots_1.makeTakeSnapshots)({ spec, core: cores.ufg, logger })
91294
91359
  };
91295
91360
  });
91296
91361
  }
@@ -94883,7 +94948,7 @@ var require_dist9 = __commonJS({
94883
94948
  return result;
94884
94949
  };
94885
94950
  Object.defineProperty(exports, "__esModule", { value: true });
94886
- exports.takeDomSnapshots = exports.logs = exports.formatters = void 0;
94951
+ exports.logs = exports.formatters = void 0;
94887
94952
  __exportStar(require_types4(), exports);
94888
94953
  __exportStar(require_core4(), exports);
94889
94954
  __exportStar(require_core_server(), exports);
@@ -94892,10 +94957,6 @@ var require_dist9 = __commonJS({
94892
94957
  __exportStar(require_debug2(), exports);
94893
94958
  exports.formatters = __importStar(require_format_results());
94894
94959
  exports.logs = __importStar(require_logs());
94895
- var take_dom_snapshots_1 = require_take_dom_snapshots();
94896
- Object.defineProperty(exports, "takeDomSnapshots", { enumerable: true, get: function() {
94897
- return take_dom_snapshots_1.takeDomSnapshots;
94898
- } });
94899
94960
  }
94900
94961
  });
94901
94962
 
@@ -94904,7 +94965,7 @@ var require_package3 = __commonJS({
94904
94965
  "../eyes/package.json"(exports, module) {
94905
94966
  module.exports = {
94906
94967
  name: "@applitools/eyes",
94907
- version: "1.25.1",
94968
+ version: "1.28.0",
94908
94969
  keywords: [
94909
94970
  "applitools",
94910
94971
  "eyes",
@@ -95187,55 +95248,6 @@ var IosVersionEnum = /* @__PURE__ */ ((IosVersionEnum2) => {
95187
95248
  return IosVersionEnum2;
95188
95249
  })(IosVersionEnum || {});
95189
95250
 
95190
- // ../eyes/src/enums/AndroidDeviceName.ts
95191
- init_process();
95192
- init_setImmediate();
95193
- init_buffer();
95194
- init_setInterval();
95195
- var AndroidDeviceNameEnum = /* @__PURE__ */ ((AndroidDeviceNameEnum2) => {
95196
- AndroidDeviceNameEnum2["Galaxy_S20"] = "Galaxy S20";
95197
- AndroidDeviceNameEnum2["Galaxy_S20_Plus"] = "Galaxy S20 Plus";
95198
- AndroidDeviceNameEnum2["Galaxy_S20_PLUS"] = "Galaxy S20 Plus";
95199
- AndroidDeviceNameEnum2["Galaxy_S21_Ultra"] = "Galaxy S21 Ultra";
95200
- AndroidDeviceNameEnum2["Galaxy_S21_ULTRA"] = "Galaxy S21 Ultra";
95201
- AndroidDeviceNameEnum2["Galaxy_Note_10_Plus"] = "Galaxy Note 10 Plus";
95202
- AndroidDeviceNameEnum2["Galaxy_S9"] = "Galaxy S9";
95203
- AndroidDeviceNameEnum2["Galaxy_S10"] = "Galaxy S10";
95204
- AndroidDeviceNameEnum2["Galaxy_S10_Plus"] = "Galaxy S10 Plus";
95205
- AndroidDeviceNameEnum2["Pixel_4_XL"] = "Pixel 4 XL";
95206
- AndroidDeviceNameEnum2["Pixel_3_XL"] = "Pixel 3 XL";
95207
- AndroidDeviceNameEnum2["Galaxy_S21"] = "Galaxy S21";
95208
- AndroidDeviceNameEnum2["Galaxy_S21_Plus"] = "Galaxy S21 Plus";
95209
- AndroidDeviceNameEnum2["Galaxy_S21_PLUS"] = "Galaxy S21 Plus";
95210
- AndroidDeviceNameEnum2["Xiaomi_Redmi_Note_11_Pro"] = "Xiaomi Redmi Note 11 Pro";
95211
- AndroidDeviceNameEnum2["Xiaomi_Redmi_Note_11"] = "Xiaomi Redmi Note 11";
95212
- AndroidDeviceNameEnum2["Xiaomi_Redmi_Note_10_JE"] = "Xiaomi Redmi Note 10 JE";
95213
- AndroidDeviceNameEnum2["Pixel_6"] = "Pixel 6";
95214
- AndroidDeviceNameEnum2["Galaxy_Note_10"] = "Galaxy Note 10";
95215
- AndroidDeviceNameEnum2["Pixel_4"] = "Pixel 4";
95216
- AndroidDeviceNameEnum2["Pixel_5"] = "Pixel 5";
95217
- AndroidDeviceNameEnum2["Galaxy_S22"] = "Galaxy S22";
95218
- AndroidDeviceNameEnum2["Galaxy_S22_Plus"] = "Galaxy S22 Plus";
95219
- AndroidDeviceNameEnum2["Galaxy_Tab_S8"] = "Galaxy Tab S8";
95220
- AndroidDeviceNameEnum2["Galaxy_Tab_S7"] = "Galaxy Tab S7";
95221
- AndroidDeviceNameEnum2["Sony_Xperia_10_II"] = "Sony Xperia 10 II";
95222
- AndroidDeviceNameEnum2["Sony_Xperia_1_II"] = "Sony Xperia 1 II";
95223
- AndroidDeviceNameEnum2["Sony_Xperia_Ace_II"] = "Sony Xperia Ace II";
95224
- AndroidDeviceNameEnum2["Huawei_P30_Lite"] = "Huawei P30 Lite";
95225
- return AndroidDeviceNameEnum2;
95226
- })(AndroidDeviceNameEnum || {});
95227
-
95228
- // ../eyes/src/enums/AndroidVersion.ts
95229
- init_process();
95230
- init_setImmediate();
95231
- init_buffer();
95232
- init_setInterval();
95233
- var AndroidVersionEnum = /* @__PURE__ */ ((AndroidVersionEnum2) => {
95234
- AndroidVersionEnum2["LATEST"] = "latest";
95235
- AndroidVersionEnum2["ONE_VERSION_BACK"] = "latest-1";
95236
- return AndroidVersionEnum2;
95237
- })(AndroidVersionEnum || {});
95238
-
95239
95251
  // ../eyes/src/enums/MatchLevel.ts
95240
95252
  init_process();
95241
95253
  init_setImmediate();
@@ -96492,9 +96504,6 @@ var CheckSettingsBaseFluent = class {
96492
96504
  }
96493
96505
  }
96494
96506
  region(region) {
96495
- if (utils14.types.has(region, ["left", "top", "width", "height"])) {
96496
- region = { x: region.left, y: region.top, width: region.width, height: region.height };
96497
- }
96498
96507
  this._settings.region = region;
96499
96508
  return this;
96500
96509
  }
@@ -96508,9 +96517,6 @@ var CheckSettingsBaseFluent = class {
96508
96517
  ignoreRegion(region) {
96509
96518
  if (!this._settings.ignoreRegions)
96510
96519
  this._settings.ignoreRegions = [];
96511
- if (utils14.types.has(region, ["left", "top", "width", "height"])) {
96512
- region = { x: region.left, y: region.top, width: region.width, height: region.height };
96513
- }
96514
96520
  this._settings.ignoreRegions.push(region);
96515
96521
  return this;
96516
96522
  }
@@ -96529,9 +96535,6 @@ var CheckSettingsBaseFluent = class {
96529
96535
  layoutRegion(region) {
96530
96536
  if (!this._settings.layoutRegions)
96531
96537
  this._settings.layoutRegions = [];
96532
- if (utils14.types.has(region, ["left", "top", "width", "height"])) {
96533
- region = { x: region.left, y: region.top, width: region.width, height: region.height };
96534
- }
96535
96538
  this._settings.layoutRegions.push(region);
96536
96539
  return this;
96537
96540
  }
@@ -96542,9 +96545,6 @@ var CheckSettingsBaseFluent = class {
96542
96545
  strictRegion(region) {
96543
96546
  if (!this._settings.strictRegions)
96544
96547
  this._settings.strictRegions = [];
96545
- if (utils14.types.has(region, ["left", "top", "width", "height"])) {
96546
- region = { x: region.left, y: region.top, width: region.width, height: region.height };
96547
- }
96548
96548
  this._settings.strictRegions.push(region);
96549
96549
  return this;
96550
96550
  }
@@ -96555,9 +96555,6 @@ var CheckSettingsBaseFluent = class {
96555
96555
  contentRegion(region) {
96556
96556
  if (!this._settings.contentRegions)
96557
96557
  this._settings.contentRegions = [];
96558
- if (utils14.types.has(region, ["left", "top", "width", "height"])) {
96559
- region = { x: region.left, y: region.top, width: region.width, height: region.height };
96560
- }
96561
96558
  this._settings.contentRegions.push(region);
96562
96559
  return this;
96563
96560
  }
@@ -96566,9 +96563,6 @@ var CheckSettingsBaseFluent = class {
96566
96563
  return this;
96567
96564
  }
96568
96565
  floatingRegion(region, maxUpOffset, maxDownOffset, maxLeftOffset, maxRightOffset) {
96569
- if (utils14.types.has(region, ["left", "top", "width", "height"])) {
96570
- region = { x: region.left, y: region.top, width: region.width, height: region.height };
96571
- }
96572
96566
  let floatingRegion;
96573
96567
  if (utils14.types.has(region, "region")) {
96574
96568
  const { maxUpOffset: maxUpOffset2, maxDownOffset: maxDownOffset2, maxLeftOffset: maxLeftOffset2, maxRightOffset: maxRightOffset2, ...rest } = region;
@@ -96612,9 +96606,6 @@ var CheckSettingsBaseFluent = class {
96612
96606
  return this.floatingRegions(regionOrMaxOffset, ...regions);
96613
96607
  }
96614
96608
  accessibilityRegion(region, type) {
96615
- if (utils14.types.has(region, ["left", "top", "width", "height"])) {
96616
- region = { x: region.left, y: region.top, width: region.width, height: region.height };
96617
- }
96618
96609
  const accessibilityRegion = utils14.types.has(region, "region") ? region : { region, type };
96619
96610
  if (!this._settings.accessibilityRegions)
96620
96611
  this._settings.accessibilityRegions = [];
@@ -96637,9 +96628,6 @@ var CheckSettingsBaseFluent = class {
96637
96628
  return this;
96638
96629
  }
96639
96630
  dynamicRegion(region, type) {
96640
- if (utils14.types.has(region, ["left", "top", "width", "height"])) {
96641
- region = { x: region.left, y: region.top, width: region.width, height: region.height };
96642
- }
96643
96631
  const dynamicRegion = utils14.types.has(region, "region") ? region : { region, type };
96644
96632
  if (!this._settings.dynamicRegions)
96645
96633
  this._settings.dynamicRegions = [];
@@ -96765,6 +96753,33 @@ var CheckSettingsBaseFluent = class {
96765
96753
  }
96766
96754
  });
96767
96755
  }
96756
+ // protected toCoreCodedRegion(region: CodedRegion<TRegion>): Core.CodedRegion<TRegion | utils.Region>
96757
+ // protected toCoreCodedRegion(region: Region | LegacyRegion | TRegion): utils.Region | TRegion
96758
+ toCoreCodedRegion(region) {
96759
+ if (utils14.types.has(region, ["region"])) {
96760
+ return { ...region, region: this.toCoreRegion(region.region) };
96761
+ } else {
96762
+ return this.toCoreRegion(region);
96763
+ }
96764
+ }
96765
+ toCoreCodedFloatingRegion(region) {
96766
+ if (utils14.types.has(region, "region")) {
96767
+ const { maxUpOffset, maxDownOffset, maxLeftOffset, maxRightOffset, ...rest } = region;
96768
+ return {
96769
+ offset: { top: maxUpOffset, bottom: maxDownOffset, left: maxLeftOffset, right: maxRightOffset },
96770
+ ...this.toCoreCodedRegion(rest)
96771
+ };
96772
+ } else {
96773
+ return this.toCoreRegion(region);
96774
+ }
96775
+ }
96776
+ toCoreRegion(region) {
96777
+ if (utils14.types.has(region, ["left", "top", "width", "height"])) {
96778
+ return { x: region.left, y: region.top, width: region.width, height: region.height };
96779
+ } else {
96780
+ return region;
96781
+ }
96782
+ }
96768
96783
  };
96769
96784
  var CheckSettingsImageFluent = class extends CheckSettingsBaseFluent {
96770
96785
  constructor(settings, target, parent) {
@@ -96817,21 +96832,21 @@ var CheckSettingsImageFluent = class extends CheckSettingsBaseFluent {
96817
96832
  target: this._target,
96818
96833
  settings: utils14.general.removeUndefinedProps({
96819
96834
  name: this._settings.name,
96820
- region: this._settings.region,
96835
+ region: this._settings.region ? this.toCoreRegion(this._settings.region) : this._settings.region,
96821
96836
  matchLevel: this._settings.matchLevel,
96822
96837
  useDom: this._settings.useDom,
96823
96838
  sendDom: this._settings.sendDom,
96824
96839
  enablePatterns: this._settings.enablePatterns,
96825
96840
  ignoreDisplacements: this._settings.ignoreDisplacements,
96826
96841
  ignoreCaret: this._settings.ignoreCaret,
96827
- ignoreRegions: (_a = this._settings.ignoreRegions) == null ? void 0 : _a.slice(),
96842
+ ignoreRegions: (_a = this._settings.ignoreRegions) == null ? void 0 : _a.map(this.toCoreCodedRegion),
96828
96843
  // shallow copy if exists
96829
- layoutRegions: (_b = this._settings.layoutRegions) == null ? void 0 : _b.slice(),
96830
- strictRegions: (_c = this._settings.strictRegions) == null ? void 0 : _c.slice(),
96831
- contentRegions: (_d = this._settings.contentRegions) == null ? void 0 : _d.slice(),
96832
- floatingRegions: (_e = this._settings.floatingRegions) == null ? void 0 : _e.slice(),
96833
- accessibilityRegions: (_f = this._settings.accessibilityRegions) == null ? void 0 : _f.slice(),
96834
- dynamicRegions: (_g = this._settings.dynamicRegions) == null ? void 0 : _g.slice(),
96844
+ layoutRegions: (_b = this._settings.layoutRegions) == null ? void 0 : _b.map(this.toCoreCodedRegion),
96845
+ strictRegions: (_c = this._settings.strictRegions) == null ? void 0 : _c.map(this.toCoreCodedRegion),
96846
+ contentRegions: (_d = this._settings.contentRegions) == null ? void 0 : _d.map(this.toCoreCodedRegion),
96847
+ floatingRegions: (_e = this._settings.floatingRegions) == null ? void 0 : _e.map(this.toCoreCodedFloatingRegion),
96848
+ accessibilityRegions: (_f = this._settings.accessibilityRegions) == null ? void 0 : _f.map(this.toCoreCodedRegion),
96849
+ dynamicRegions: (_g = this._settings.dynamicRegions) == null ? void 0 : _g.map(this.toCoreCodedRegion),
96835
96850
  pageId: this._settings.pageId,
96836
96851
  userCommandId: this._settings.variationGroupId,
96837
96852
  assumesMutability: this.assumesMutability()
@@ -96943,11 +96958,11 @@ var CheckSettingsAutomationFluent = class extends CheckSettingsBaseFluent {
96943
96958
  return this.beforeRenderScreenshotHook(script);
96944
96959
  }
96945
96960
  ufgOption(key, value) {
96946
- this._settings.visualGridOptions = { ...this._settings.visualGridOptions, [key]: value };
96961
+ this._settings.ufgOptions = { ...this._settings.ufgOptions, [key]: value };
96947
96962
  return this;
96948
96963
  }
96949
96964
  ufgOptions(options) {
96950
- this._settings.visualGridOptions = options;
96965
+ this._settings.ufgOptions = options;
96951
96966
  return this;
96952
96967
  }
96953
96968
  /** @deprecated */
@@ -96990,12 +97005,12 @@ var CheckSettingsAutomationFluent = class extends CheckSettingsBaseFluent {
96990
97005
  }
96991
97006
  /** @internal */
96992
97007
  toJSON() {
96993
- var _a;
97008
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
96994
97009
  return {
96995
97010
  target: void 0,
96996
97011
  settings: utils14.general.removeUndefinedProps({
96997
97012
  name: this._settings.name,
96998
- region: this._settings.region,
97013
+ region: this._settings.region ? this.toCoreRegion(this._settings.region) : this._settings.region,
96999
97014
  frames: this._settings.frames,
97000
97015
  webview: this._settings.webview,
97001
97016
  scrollRootElement: this._settings.scrollRootElement,
@@ -97006,25 +97021,17 @@ var CheckSettingsAutomationFluent = class extends CheckSettingsBaseFluent {
97006
97021
  enablePatterns: this._settings.enablePatterns,
97007
97022
  ignoreDisplacements: this._settings.ignoreDisplacements,
97008
97023
  ignoreCaret: this._settings.ignoreCaret,
97009
- ignoreRegions: this._settings.ignoreRegions,
97010
- layoutRegions: this._settings.layoutRegions,
97011
- strictRegions: this._settings.strictRegions,
97012
- contentRegions: this._settings.contentRegions,
97013
- floatingRegions: this._settings.floatingRegions && this._settings.floatingRegions.map((floatingRegion) => {
97014
- if (utils14.types.has(floatingRegion, "region")) {
97015
- const { maxUpOffset, maxDownOffset, maxLeftOffset, maxRightOffset, ...rest } = floatingRegion;
97016
- return {
97017
- offset: { top: maxUpOffset, bottom: maxDownOffset, left: maxLeftOffset, right: maxRightOffset },
97018
- ...rest
97019
- };
97020
- }
97021
- return floatingRegion;
97022
- }),
97023
- accessibilityRegions: this._settings.accessibilityRegions,
97024
- dynamicRegions: this._settings.dynamicRegions,
97024
+ ignoreRegions: (_a = this._settings.ignoreRegions) == null ? void 0 : _a.map(this.toCoreCodedRegion),
97025
+ // shallow copy if exists
97026
+ layoutRegions: (_b = this._settings.layoutRegions) == null ? void 0 : _b.map(this.toCoreCodedRegion),
97027
+ strictRegions: (_c = this._settings.strictRegions) == null ? void 0 : _c.map(this.toCoreCodedRegion),
97028
+ contentRegions: (_d = this._settings.contentRegions) == null ? void 0 : _d.map(this.toCoreCodedRegion),
97029
+ floatingRegions: (_e = this._settings.floatingRegions) == null ? void 0 : _e.map(this.toCoreCodedFloatingRegion),
97030
+ accessibilityRegions: (_f = this._settings.accessibilityRegions) == null ? void 0 : _f.map(this.toCoreCodedRegion),
97031
+ dynamicRegions: (_g = this._settings.dynamicRegions) == null ? void 0 : _g.map(this.toCoreCodedRegion),
97025
97032
  disableBrowserFetching: this._settings.disableBrowserFetching,
97026
- layoutBreakpoints: utils14.types.isDefined(this._settings.layoutBreakpoints) ? utils14.types.has(this._settings.layoutBreakpoints, "breakpoints") ? this._settings.layoutBreakpoints : { breakpoints: (_a = this._settings.layoutBreakpoints) != null ? _a : false } : void 0,
97027
- ufgOptions: this._settings.visualGridOptions,
97033
+ layoutBreakpoints: utils14.types.isDefined(this._settings.layoutBreakpoints) ? utils14.types.has(this._settings.layoutBreakpoints, "breakpoints") ? this._settings.layoutBreakpoints : { breakpoints: (_h = this._settings.layoutBreakpoints) != null ? _h : false } : void 0,
97034
+ ufgOptions: (_i = this._settings.ufgOptions) != null ? _i : this._settings.visualGridOptions,
97028
97035
  nmgOptions: this._settings.nmgOptions,
97029
97036
  screenshotMode: this._settings.useSystemScreenshot ? "default" : void 0,
97030
97037
  hooks: this._settings.hooks,
@@ -97651,136 +97658,19 @@ var ConfigurationData = class {
97651
97658
  const spec = (_a = this._spec) != null ? _a : this.constructor._spec;
97652
97659
  return !!((_b = spec.isSelector) == null ? void 0 : _b.call(spec, selector)) || !!((_c = spec.isSecondarySelector) == null ? void 0 : _c.call(spec, selector)) || utils20.types.isString(selector) || utils20.types.isPlainObject(selector) && utils20.types.has(selector, "selector") && (utils20.types.isString(selector.selector) || !!((_d = spec.isSelector) == null ? void 0 : _d.call(spec, selector.selector)) || !!((_e = spec.isSecondarySelector) == null ? void 0 : _e.call(spec, selector.selector)));
97653
97660
  }
97654
- /** @undocumented */
97655
- get debugScreenshots() {
97656
- return this._config.debugScreenshots;
97657
- }
97658
- /** @undocumented */
97659
- set debugScreenshots(debugScreenshots) {
97660
- this._config.debugScreenshots = debugScreenshots;
97661
- }
97662
- /** @undocumented */
97663
- getSaveDebugScreenshots() {
97664
- var _a, _b;
97665
- return (_b = (_a = this.debugScreenshots) == null ? void 0 : _a.save) != null ? _b : false;
97666
- }
97667
- /** @undocumented */
97668
- setSaveDebugScreenshots(save) {
97669
- this.debugScreenshots = { ...this.debugScreenshots, save };
97670
- return this;
97671
- }
97672
- /** @undocumented */
97673
- getDebugScreenshotsPath() {
97674
- return this.debugScreenshots.path;
97675
- }
97676
- /** @undocumented */
97677
- setDebugScreenshotsPath(path) {
97678
- this.debugScreenshots = { ...this.debugScreenshots, path };
97679
- return this;
97680
- }
97681
- /** @undocumented */
97682
- getDebugScreenshotsPrefix() {
97683
- return this.debugScreenshots.prefix;
97684
- }
97685
- /** @undocumented */
97686
- setDebugScreenshotsPrefix(prefix) {
97687
- this.debugScreenshots = { ...this.debugScreenshots, prefix };
97688
- return this;
97689
- }
97690
- get appName() {
97691
- return this._config.appName;
97692
- }
97693
- set appName(appName) {
97694
- utils20.guard.isString(appName, { name: "appName", strict: false });
97695
- this._config.appName = appName;
97696
- }
97697
- getAppName() {
97698
- return this.appName;
97699
- }
97700
- setAppName(appName) {
97701
- this.appName = appName;
97702
- return this;
97703
- }
97704
- get testName() {
97705
- return this._config.testName;
97706
- }
97707
- set testName(testName) {
97708
- utils20.guard.isString(testName, { name: "testName", strict: false });
97709
- this._config.testName = testName;
97710
- }
97711
- getTestName() {
97712
- return this.testName;
97713
- }
97714
- setTestName(testName) {
97715
- this.testName = testName;
97716
- return this;
97717
- }
97718
- get displayName() {
97719
- return this._config.displayName;
97720
- }
97721
- set displayName(displayName) {
97722
- utils20.guard.isString(displayName, { name: "displayName", strict: false });
97723
- this._config.displayName = displayName;
97724
- }
97725
- getDisplayName() {
97726
- return this.displayName;
97727
- }
97728
- setDisplayName(displayName) {
97729
- this.displayName = displayName;
97730
- return this;
97731
- }
97732
- get isDisabled() {
97733
- return this._config.isDisabled;
97734
- }
97735
- set isDisabled(isDisabled) {
97736
- utils20.guard.isBoolean(isDisabled, { name: "isDisabled", strict: false });
97737
- this._config.isDisabled = isDisabled;
97738
- }
97739
- getIsDisabled() {
97740
- return this.isDisabled;
97741
- }
97742
- setIsDisabled(isDisabled) {
97743
- this.isDisabled = isDisabled;
97744
- return this;
97745
- }
97746
- get matchTimeout() {
97747
- return this._config.matchTimeout;
97748
- }
97749
- set matchTimeout(matchTimeout) {
97750
- utils20.guard.isInteger(matchTimeout, { name: "matchTimeout" });
97751
- this._config.matchTimeout = matchTimeout;
97752
- }
97753
- getMatchTimeout() {
97754
- return this.matchTimeout;
97755
- }
97756
- setMatchTimeout(matchTimeout) {
97757
- this.matchTimeout = matchTimeout;
97758
- return this;
97759
- }
97760
- get sessionType() {
97761
- return this._config.sessionType;
97762
- }
97763
- set sessionType(sessionType) {
97764
- this._config.sessionType = sessionType;
97765
- }
97766
- getSessionType() {
97767
- return this.sessionType;
97768
- }
97769
- setSessionType(sessionType) {
97770
- this.sessionType = sessionType;
97771
- return this;
97772
- }
97773
- get viewportSize() {
97774
- return this._config.viewportSize;
97661
+ get accessibilityValidation() {
97662
+ return this.defaultMatchSettings.accessibilitySettings;
97775
97663
  }
97776
- set viewportSize(viewportSize) {
97777
- this._config.viewportSize = viewportSize;
97664
+ set accessibilityValidation(accessibilityValidation) {
97665
+ if (!this.defaultMatchSettings)
97666
+ this.defaultMatchSettings = {};
97667
+ this.defaultMatchSettings.accessibilitySettings = accessibilityValidation;
97778
97668
  }
97779
- getViewportSize() {
97780
- return this.viewportSize && new RectangleSizeData(this.viewportSize);
97669
+ getAccessibilityValidation() {
97670
+ return this.accessibilityValidation;
97781
97671
  }
97782
- setViewportSize(viewportSize) {
97783
- this.viewportSize = viewportSize;
97672
+ setAccessibilityValidation(accessibilityValidation) {
97673
+ this.accessibilityValidation = accessibilityValidation;
97784
97674
  return this;
97785
97675
  }
97786
97676
  get agentId() {
@@ -97812,38 +97702,18 @@ var ConfigurationData = class {
97812
97702
  this.apiKey = apiKey;
97813
97703
  return this;
97814
97704
  }
97815
- get serverUrl() {
97816
- return this._config.serverUrl;
97817
- }
97818
- set serverUrl(serverUrl) {
97819
- utils20.guard.isString(serverUrl, { name: "serverUrl", strict: false });
97820
- this._config.serverUrl = serverUrl;
97821
- }
97822
- getServerUrl() {
97823
- var _a;
97824
- return (_a = this.serverUrl) != null ? _a : utils20.general.getEnvValue("SERVER_URL");
97825
- }
97826
- setServerUrl(serverUrl) {
97827
- this.serverUrl = serverUrl;
97828
- return this;
97829
- }
97830
- get proxy() {
97831
- return this._config.proxy;
97705
+ get appName() {
97706
+ return this._config.appName;
97832
97707
  }
97833
- set proxy(proxy) {
97834
- this._config.proxy = proxy;
97708
+ set appName(appName) {
97709
+ utils20.guard.isString(appName, { name: "appName", strict: false });
97710
+ this._config.appName = appName;
97835
97711
  }
97836
- getProxy() {
97837
- return new ProxySettingsData(this.proxy);
97712
+ getAppName() {
97713
+ return this.appName;
97838
97714
  }
97839
- setProxy(proxyOrUrlOrIsEnabled, username, password) {
97840
- if (proxyOrUrlOrIsEnabled === false) {
97841
- this.proxy = void 0;
97842
- } else if (utils20.types.isString(proxyOrUrlOrIsEnabled)) {
97843
- this.proxy = { url: proxyOrUrlOrIsEnabled, username, password };
97844
- } else {
97845
- this.proxy = proxyOrUrlOrIsEnabled;
97846
- }
97715
+ setAppName(appName) {
97716
+ this.appName = appName;
97847
97717
  return this;
97848
97718
  }
97849
97719
  get autProxy() {
@@ -97859,79 +97729,19 @@ var ConfigurationData = class {
97859
97729
  this.autProxy = autProxy;
97860
97730
  return this;
97861
97731
  }
97862
- /** @undocumented */
97863
- get connectionTimeout() {
97864
- return this._config.connectionTimeout;
97865
- }
97866
- /** @undocumented */
97867
- set connectionTimeout(connectionTimeout) {
97868
- utils20.guard.isInteger(connectionTimeout, { name: "connectionTimeout", gte: 0 });
97869
- this._config.connectionTimeout = connectionTimeout;
97870
- }
97871
- /** @undocumented */
97872
- getConnectionTimeout() {
97873
- return this.connectionTimeout;
97874
- }
97875
- /** @undocumented */
97876
- setConnectionTimeout(connectionTimeout) {
97877
- this.connectionTimeout = connectionTimeout;
97878
- return this;
97879
- }
97880
- /** @undocumented */
97881
- get removeSession() {
97882
- return this._config.removeSession;
97883
- }
97884
- /** @undocumented */
97885
- set removeSession(removeSession) {
97886
- utils20.guard.isBoolean(removeSession, { name: "removeSession" });
97887
- this._config.removeSession = removeSession;
97888
- }
97889
- /** @undocumented */
97890
- getRemoveSession() {
97891
- return this.removeSession;
97892
- }
97893
- /** @undocumented */
97894
- setRemoveSession(removeSession) {
97895
- this.removeSession = removeSession;
97896
- return this;
97897
- }
97898
- get batch() {
97899
- return this._config.batch;
97900
- }
97901
- set batch(batch) {
97902
- this._config.batch = batch;
97903
- }
97904
- getBatch() {
97905
- return new BatchInfoData(this.batch);
97906
- }
97907
- setBatch(batch) {
97908
- this.batch = batch;
97909
- return this;
97910
- }
97911
- get properties() {
97912
- return this._config.properties;
97913
- }
97914
- set properties(properties) {
97915
- utils20.guard.isArray(properties, { name: "properties" });
97916
- this._config.properties = properties;
97917
- }
97918
- getProperties() {
97919
- var _a, _b;
97920
- return (_b = (_a = this.properties) == null ? void 0 : _a.map((property) => new PropertyDataData(property))) != null ? _b : [];
97732
+ get baselineBranchName() {
97733
+ return this._config.baselineBranchName;
97921
97734
  }
97922
- setProperties(properties) {
97923
- this.properties = properties;
97924
- return this;
97735
+ set baselineBranchName(baselineBranchName) {
97736
+ utils20.guard.isString(baselineBranchName, { name: "baselineBranchName" });
97737
+ this._config.baselineBranchName = baselineBranchName;
97925
97738
  }
97926
- addProperty(propOrName, value) {
97927
- const property = utils20.types.isString(propOrName) ? { name: propOrName, value } : propOrName;
97928
- if (!this.properties)
97929
- this.properties = [];
97930
- this.properties.push(property);
97931
- return this;
97739
+ getBaselineBranchName() {
97740
+ var _a;
97741
+ return (_a = this.baselineBranchName) != null ? _a : utils20.general.getEnvValue("BASELINE_BRANCH_NAME");
97932
97742
  }
97933
- clearProperties() {
97934
- this.properties = [];
97743
+ setBaselineBranchName(baselineBranchName) {
97744
+ this.baselineBranchName = baselineBranchName;
97935
97745
  return this;
97936
97746
  }
97937
97747
  get baselineEnvName() {
@@ -97948,18 +97758,17 @@ var ConfigurationData = class {
97948
97758
  this.baselineEnvName = baselineEnvName;
97949
97759
  return this;
97950
97760
  }
97951
- get environmentName() {
97952
- return this._config.environmentName;
97761
+ get batch() {
97762
+ return this._config.batch;
97953
97763
  }
97954
- set environmentName(environmentName) {
97955
- utils20.guard.isString(environmentName, { name: "environmentName", strict: false });
97956
- this._config.environmentName = environmentName ? environmentName.trim() : void 0;
97764
+ set batch(batch) {
97765
+ this._config.batch = batch;
97957
97766
  }
97958
- getEnvironmentName() {
97959
- return this.environmentName;
97767
+ getBatch() {
97768
+ return new BatchInfoData(this.batch);
97960
97769
  }
97961
- setEnvironmentName(environmentName) {
97962
- this.environmentName = environmentName;
97770
+ setBatch(batch) {
97771
+ this.batch = batch;
97963
97772
  return this;
97964
97773
  }
97965
97774
  get branchName() {
@@ -97977,48 +97786,64 @@ var ConfigurationData = class {
97977
97786
  this.branchName = branchName;
97978
97787
  return this;
97979
97788
  }
97980
- get parentBranchName() {
97981
- return this._config.parentBranchName;
97789
+ get browsersInfo() {
97790
+ return this._config.browsersInfo;
97982
97791
  }
97983
- set parentBranchName(parentBranchName) {
97984
- utils20.guard.isString(parentBranchName, { name: "parentBranchName" });
97985
- this._config.parentBranchName = parentBranchName;
97792
+ set browsersInfo(browsersInfo) {
97793
+ utils20.guard.isArray(browsersInfo, { name: "browsersInfo" });
97794
+ this._config.browsersInfo = browsersInfo;
97986
97795
  }
97987
- getParentBranchName() {
97988
- var _a;
97989
- return (_a = this.parentBranchName) != null ? _a : utils20.general.getEnvValue("PARENT_BRANCH");
97796
+ getBrowsersInfo() {
97797
+ return this.browsersInfo;
97990
97798
  }
97991
- setParentBranchName(parentBranchName) {
97992
- this.parentBranchName = parentBranchName;
97799
+ setBrowsersInfo(browsersInfo) {
97800
+ this.browsersInfo = browsersInfo.map(
97801
+ (browserInfo) => utils20.types.has(browserInfo, "deviceName") ? { chromeEmulationInfo: browserInfo } : browserInfo
97802
+ );
97993
97803
  return this;
97994
97804
  }
97995
- get baselineBranchName() {
97996
- return this._config.baselineBranchName;
97805
+ addBrowsers(...browsersInfo) {
97806
+ for (const [index, browserInfo] of browsersInfo.entries()) {
97807
+ utils20.guard.isObject(browserInfo, { name: `addBrowsers( arg${index} )` });
97808
+ }
97809
+ if (!this.browsersInfo)
97810
+ this.browsersInfo = [];
97811
+ this.browsersInfo.push(
97812
+ ...browsersInfo.map(
97813
+ (browserInfo) => utils20.types.has(browserInfo, "deviceName") ? { chromeEmulationInfo: browserInfo } : browserInfo
97814
+ )
97815
+ );
97816
+ return this;
97997
97817
  }
97998
- set baselineBranchName(baselineBranchName) {
97999
- utils20.guard.isString(baselineBranchName, { name: "baselineBranchName" });
98000
- this._config.baselineBranchName = baselineBranchName;
97818
+ addBrowser(browserInfoOrWidth, height, name = "chrome" /* CHROME */) {
97819
+ if (utils20.types.isObject(browserInfoOrWidth))
97820
+ return this.addBrowsers(browserInfoOrWidth);
97821
+ else
97822
+ return this.addBrowsers({ width: browserInfoOrWidth, height, name });
98001
97823
  }
98002
- getBaselineBranchName() {
98003
- var _a;
98004
- return (_a = this.baselineBranchName) != null ? _a : utils20.general.getEnvValue("BASELINE_BRANCH_NAME");
97824
+ addDeviceEmulation(deviceName, screenOrientation = "portrait" /* PORTRAIT */) {
97825
+ if (!this.browsersInfo)
97826
+ this.browsersInfo = [];
97827
+ this.browsersInfo.push({ chromeEmulationInfo: { deviceName, screenOrientation } });
97828
+ return this;
98005
97829
  }
98006
- setBaselineBranchName(baselineBranchName) {
98007
- this.baselineBranchName = baselineBranchName;
97830
+ addMultiDeviceTarget(deviceName) {
97831
+ if (!this.browsersInfo)
97832
+ this.browsersInfo = [];
97833
+ this.browsersInfo.push({ iosDeviceInfo: { deviceName } });
98008
97834
  return this;
98009
97835
  }
98010
- get gitMergeBaseTimestamp() {
98011
- return this._config.gitMergeBaseTimestamp;
97836
+ get captureStatusBar() {
97837
+ return this._config.captureStatusBar;
98012
97838
  }
98013
- set gitMergeBaseTimestamp(gitMergeBaseTimestamp) {
98014
- utils20.guard.isString(gitMergeBaseTimestamp, { name: "gitMergeBaseTimestamp" });
98015
- this._config.gitMergeBaseTimestamp = gitMergeBaseTimestamp;
97839
+ set captureStatusBar(captureStatusBar) {
97840
+ this._config.captureStatusBar = captureStatusBar;
98016
97841
  }
98017
- getGitMergeBaseTimestamp() {
98018
- return this.gitMergeBaseTimestamp;
97842
+ getCaptureStatusBar() {
97843
+ return this.disableNMLUrlCache;
98019
97844
  }
98020
- setGitMergeBaseTimestamp(gitMergeBaseTimestamp) {
98021
- this.gitMergeBaseTimestamp = gitMergeBaseTimestamp;
97845
+ setCaptureStatusBar(captureStatusBar) {
97846
+ this.captureStatusBar = captureStatusBar;
98022
97847
  return this;
98023
97848
  }
98024
97849
  get compareWithParentBranch() {
@@ -98035,222 +97860,202 @@ var ConfigurationData = class {
98035
97860
  this.compareWithParentBranch = compareWithParentBranch;
98036
97861
  return this;
98037
97862
  }
98038
- get ignoreGitMergeBase() {
98039
- return this._config.ignoreGitMergeBase;
97863
+ /** @undocumented */
97864
+ get concurrentSessions() {
97865
+ return this._config.concurrentSessions;
98040
97866
  }
98041
- set ignoreGitMergeBase(ignoreGitMergeBase) {
98042
- utils20.guard.isBoolean(ignoreGitMergeBase, { name: "ignoreGitMergeBase" });
98043
- this._config.ignoreGitMergeBase = ignoreGitMergeBase;
97867
+ /** @undocumented */
97868
+ set concurrentSessions(concurrentSessions) {
97869
+ this._config.concurrentSessions = concurrentSessions;
98044
97870
  }
98045
- getIgnoreGitMergeBase() {
98046
- return this.ignoreGitMergeBase;
97871
+ /** @undocumented */
97872
+ getConcurrentSessions() {
97873
+ return this.concurrentSessions;
98047
97874
  }
98048
- setIgnoreGitMergeBase(ignoreGitMergeBase) {
98049
- this.ignoreGitMergeBase = ignoreGitMergeBase;
97875
+ /** @undocumented */
97876
+ setConcurrentSessions(concurrentSessions) {
97877
+ this.concurrentSessions = concurrentSessions;
98050
97878
  return this;
98051
97879
  }
98052
- get ignoreBaseline() {
98053
- return this._config.ignoreBaseline;
97880
+ /** @undocumented */
97881
+ get connectionTimeout() {
97882
+ return this._config.connectionTimeout;
98054
97883
  }
98055
- set ignoreBaseline(ignoreBaseline) {
98056
- utils20.guard.isBoolean(ignoreBaseline, { name: "ignoreBaseline" });
98057
- this._config.ignoreBaseline = ignoreBaseline;
97884
+ /** @undocumented */
97885
+ set connectionTimeout(connectionTimeout) {
97886
+ utils20.guard.isInteger(connectionTimeout, { name: "connectionTimeout", gte: 0 });
97887
+ this._config.connectionTimeout = connectionTimeout;
98058
97888
  }
98059
- getIgnoreBaseline() {
98060
- return this.ignoreBaseline;
97889
+ /** @undocumented */
97890
+ getConnectionTimeout() {
97891
+ return this.connectionTimeout;
98061
97892
  }
98062
- setIgnoreBaseline(ignoreBaseline) {
98063
- this.ignoreBaseline = ignoreBaseline;
97893
+ /** @undocumented */
97894
+ setConnectionTimeout(connectionTimeout) {
97895
+ this.connectionTimeout = connectionTimeout;
98064
97896
  return this;
98065
97897
  }
98066
- get saveFailedTests() {
98067
- return this._config.saveFailedTests;
97898
+ get cut() {
97899
+ return this._config.cut;
98068
97900
  }
98069
- set saveFailedTests(saveFailedTests) {
98070
- utils20.guard.isBoolean(saveFailedTests, { name: "saveFailedTests" });
98071
- this._config.saveFailedTests = saveFailedTests;
97901
+ set cut(cut) {
97902
+ this._config.cut = cut;
98072
97903
  }
98073
- getSaveFailedTests() {
98074
- return this.saveFailedTests;
97904
+ getCut() {
97905
+ return this._config.cut;
98075
97906
  }
98076
- setSaveFailedTests(saveFailedTests) {
98077
- this.saveFailedTests = saveFailedTests;
97907
+ setCut(cut) {
97908
+ this.cut = cut;
98078
97909
  return this;
98079
97910
  }
98080
- get saveNewTests() {
98081
- return this._config.saveNewTests;
97911
+ /** @undocumented */
97912
+ get debugScreenshots() {
97913
+ return this._config.debugScreenshots;
98082
97914
  }
98083
- set saveNewTests(saveNewTests) {
98084
- utils20.guard.isBoolean(saveNewTests, { name: "saveNewTests" });
98085
- this._config.saveNewTests = saveNewTests;
97915
+ /** @undocumented */
97916
+ set debugScreenshots(debugScreenshots) {
97917
+ this._config.debugScreenshots = debugScreenshots;
98086
97918
  }
98087
- getSaveNewTests() {
98088
- return this.saveNewTests;
97919
+ /** @undocumented */
97920
+ getSaveDebugScreenshots() {
97921
+ var _a, _b;
97922
+ return (_b = (_a = this.debugScreenshots) == null ? void 0 : _a.save) != null ? _b : false;
98089
97923
  }
98090
- setSaveNewTests(saveNewTests) {
98091
- this.saveNewTests = saveNewTests;
97924
+ /** @undocumented */
97925
+ setSaveDebugScreenshots(save) {
97926
+ this.debugScreenshots = { ...this.debugScreenshots, save };
98092
97927
  return this;
98093
97928
  }
98094
- get saveDiffs() {
98095
- return this._config.saveDiffs;
98096
- }
98097
- set saveDiffs(saveDiffs) {
98098
- utils20.guard.isBoolean(saveDiffs, { name: "saveDiffs" });
98099
- this._config.saveDiffs = saveDiffs;
98100
- }
98101
- getSaveDiffs() {
98102
- return this.saveDiffs;
97929
+ /** @undocumented */
97930
+ getDebugScreenshotsPath() {
97931
+ return this.debugScreenshots.path;
98103
97932
  }
98104
- setSaveDiffs(saveDiffs) {
98105
- this.saveDiffs = saveDiffs;
97933
+ /** @undocumented */
97934
+ setDebugScreenshotsPath(path) {
97935
+ this.debugScreenshots = { ...this.debugScreenshots, path };
98106
97936
  return this;
98107
97937
  }
98108
- get sendDom() {
98109
- return this._config.sendDom;
98110
- }
98111
- set sendDom(sendDom) {
98112
- utils20.guard.isBoolean(sendDom, { name: "sendDom" });
98113
- this._config.sendDom = sendDom;
98114
- }
98115
- getSendDom() {
98116
- return this.sendDom;
97938
+ /** @undocumented */
97939
+ getDebugScreenshotsPrefix() {
97940
+ return this.debugScreenshots.prefix;
98117
97941
  }
98118
- setSendDom(sendDom) {
98119
- this.sendDom = sendDom;
97942
+ /** @undocumented */
97943
+ setDebugScreenshotsPrefix(prefix) {
97944
+ this.debugScreenshots = { ...this.debugScreenshots, prefix };
98120
97945
  return this;
98121
97946
  }
98122
- get hostApp() {
98123
- return this._config.hostApp;
97947
+ get defaultMatchSettings() {
97948
+ return this._config.defaultMatchSettings;
98124
97949
  }
98125
- set hostApp(hostApp) {
98126
- this._config.hostApp = hostApp ? hostApp.trim() : void 0;
97950
+ set defaultMatchSettings(defaultMatchSettings) {
97951
+ utils20.guard.notNull(defaultMatchSettings, { name: "defaultMatchSettings" });
97952
+ this._config.defaultMatchSettings = defaultMatchSettings;
98127
97953
  }
98128
- getHostApp() {
98129
- return this.hostApp;
97954
+ getDefaultMatchSettings() {
97955
+ return new ImageMatchSettingsData(this.defaultMatchSettings);
98130
97956
  }
98131
- setHostApp(hostApp) {
98132
- this.hostApp = hostApp;
97957
+ setDefaultMatchSettings(defaultMatchSettings) {
97958
+ this.defaultMatchSettings = defaultMatchSettings;
98133
97959
  return this;
98134
97960
  }
98135
- get hostOS() {
98136
- return this._config.hostOS;
97961
+ get deviceInfo() {
97962
+ return this._config.deviceInfo;
98137
97963
  }
98138
- set hostOS(hostOS) {
98139
- this._config.hostOS = hostOS ? hostOS.trim() : void 0;
97964
+ set deviceInfo(deviceInfo) {
97965
+ this._config.deviceInfo = deviceInfo ? deviceInfo.trim() : void 0;
98140
97966
  }
98141
- getHostOS() {
98142
- return this.hostOS;
97967
+ getDeviceInfo() {
97968
+ return this.deviceInfo;
98143
97969
  }
98144
- setHostOS(hostOS) {
98145
- this.hostOS = hostOS;
97970
+ setDeviceInfo(deviceInfo) {
97971
+ this.deviceInfo = deviceInfo;
98146
97972
  return this;
98147
97973
  }
98148
- get hostAppInfo() {
98149
- return this._config.hostAppInfo;
97974
+ get disableBrowserFetching() {
97975
+ return this._config.disableBrowserFetching;
98150
97976
  }
98151
- set hostAppInfo(hostAppInfo) {
98152
- this._config.hostAppInfo = hostAppInfo ? hostAppInfo.trim() : void 0;
97977
+ set disableBrowserFetching(disableBrowserFetching) {
97978
+ this._config.disableBrowserFetching = disableBrowserFetching;
98153
97979
  }
98154
- getHostAppInfo() {
98155
- return this.hostAppInfo;
97980
+ getDisableBrowserFetching() {
97981
+ return this.disableBrowserFetching;
98156
97982
  }
98157
- setHostAppInfo(hostAppInfo) {
98158
- this.hostAppInfo = hostAppInfo;
97983
+ setDisableBrowserFetching(disableBrowserFetching) {
97984
+ this.disableBrowserFetching = disableBrowserFetching;
98159
97985
  return this;
98160
97986
  }
98161
- get hostOSInfo() {
98162
- return this._config.hostOSInfo;
97987
+ get disableNMLUrlCache() {
97988
+ return this._config.disableNMLUrlCache;
98163
97989
  }
98164
- set hostOSInfo(hostOSInfo) {
98165
- this._config.hostOSInfo = hostOSInfo ? hostOSInfo.trim() : void 0;
97990
+ set disableNMLUrlCache(disableNMLUrlCache) {
97991
+ this._config.disableNMLUrlCache = disableNMLUrlCache;
98166
97992
  }
98167
- getHostOSInfo() {
98168
- return this.hostOSInfo;
97993
+ getDisableNMLUrlCache() {
97994
+ return this.disableNMLUrlCache;
98169
97995
  }
98170
- setHostOSInfo(hostOSInfo) {
98171
- this.hostOSInfo = hostOSInfo;
97996
+ setDisableNMLUrlCache(disableNMLUrlCache) {
97997
+ this.disableNMLUrlCache = disableNMLUrlCache;
98172
97998
  return this;
98173
97999
  }
98174
- get deviceInfo() {
98175
- return this._config.deviceInfo;
98000
+ get displayName() {
98001
+ return this._config.displayName;
98176
98002
  }
98177
- set deviceInfo(deviceInfo) {
98178
- this._config.deviceInfo = deviceInfo ? deviceInfo.trim() : void 0;
98003
+ set displayName(displayName) {
98004
+ utils20.guard.isString(displayName, { name: "displayName", strict: false });
98005
+ this._config.displayName = displayName;
98179
98006
  }
98180
- getDeviceInfo() {
98181
- return this.deviceInfo;
98007
+ getDisplayName() {
98008
+ return this.displayName;
98182
98009
  }
98183
- setDeviceInfo(deviceInfo) {
98184
- this.deviceInfo = deviceInfo;
98010
+ setDisplayName(displayName) {
98011
+ this.displayName = displayName;
98185
98012
  return this;
98186
98013
  }
98187
- get defaultMatchSettings() {
98188
- return this._config.defaultMatchSettings;
98189
- }
98190
- set defaultMatchSettings(defaultMatchSettings) {
98191
- utils20.guard.notNull(defaultMatchSettings, { name: "defaultMatchSettings" });
98192
- this._config.defaultMatchSettings = defaultMatchSettings;
98193
- }
98194
- getDefaultMatchSettings() {
98195
- return new ImageMatchSettingsData(this.defaultMatchSettings);
98014
+ /** @undocumented */
98015
+ get dontCloseBatches() {
98016
+ return this._config.dontCloseBatches;
98196
98017
  }
98197
- setDefaultMatchSettings(defaultMatchSettings) {
98198
- this.defaultMatchSettings = defaultMatchSettings;
98199
- return this;
98018
+ /** @undocumented */
98019
+ set dontCloseBatches(dontCloseBatches) {
98020
+ this._config.dontCloseBatches = dontCloseBatches;
98200
98021
  }
98201
- getMatchLevel() {
98022
+ /** @undocumented */
98023
+ getDontCloseBatches() {
98202
98024
  var _a;
98203
- return (_a = this.defaultMatchSettings) == null ? void 0 : _a.matchLevel;
98204
- }
98205
- setMatchLevel(matchLevel) {
98206
- if (!this.defaultMatchSettings)
98207
- this.defaultMatchSettings = {};
98208
- this.defaultMatchSettings.matchLevel = matchLevel;
98209
- return this;
98210
- }
98211
- getAccessibilityValidation() {
98212
- return this.defaultMatchSettings.accessibilitySettings;
98025
+ return (_a = this.dontCloseBatches) != null ? _a : utils20.general.getEnvValue("DONT_CLOSE_BATCHES", "boolean");
98213
98026
  }
98214
- setAccessibilityValidation(accessibilityValidation) {
98215
- if (!this.defaultMatchSettings)
98216
- this.defaultMatchSettings = {};
98217
- this.defaultMatchSettings.accessibilitySettings = accessibilityValidation;
98027
+ /** @undocumented */
98028
+ setDontCloseBatches(dontCloseBatches) {
98029
+ this.dontCloseBatches = dontCloseBatches;
98218
98030
  return this;
98219
98031
  }
98220
- getUseDom() {
98221
- return this.defaultMatchSettings.useDom;
98032
+ get enablePatterns() {
98033
+ return this.defaultMatchSettings.enablePatterns;
98222
98034
  }
98223
- setUseDom(useDom) {
98035
+ set enablePatterns(enablePatterns) {
98224
98036
  if (!this.defaultMatchSettings)
98225
98037
  this.defaultMatchSettings = {};
98226
- this.defaultMatchSettings.useDom = useDom;
98227
- return this;
98038
+ this.defaultMatchSettings.enablePatterns = enablePatterns;
98228
98039
  }
98229
98040
  getEnablePatterns() {
98230
98041
  return this.defaultMatchSettings.enablePatterns;
98231
98042
  }
98232
98043
  setEnablePatterns(enablePatterns) {
98233
- if (!this.defaultMatchSettings)
98234
- this.defaultMatchSettings = {};
98235
- this.defaultMatchSettings.enablePatterns = enablePatterns;
98044
+ this.enablePatterns = enablePatterns;
98236
98045
  return this;
98237
98046
  }
98238
- getIgnoreDisplacements() {
98239
- return this.defaultMatchSettings.ignoreDisplacements;
98047
+ get environmentName() {
98048
+ return this._config.environmentName;
98240
98049
  }
98241
- setIgnoreDisplacements(ignoreDisplacements) {
98242
- if (!this.defaultMatchSettings)
98243
- this.defaultMatchSettings = {};
98244
- this.defaultMatchSettings.ignoreDisplacements = ignoreDisplacements;
98245
- return this;
98050
+ set environmentName(environmentName) {
98051
+ utils20.guard.isString(environmentName, { name: "environmentName", strict: false });
98052
+ this._config.environmentName = environmentName ? environmentName.trim() : void 0;
98246
98053
  }
98247
- getIgnoreCaret() {
98248
- return this.defaultMatchSettings.ignoreCaret;
98054
+ getEnvironmentName() {
98055
+ return this.environmentName;
98249
98056
  }
98250
- setIgnoreCaret(ignoreCaret) {
98251
- if (!this.defaultMatchSettings)
98252
- this.defaultMatchSettings = {};
98253
- this.defaultMatchSettings.ignoreCaret = ignoreCaret;
98057
+ setEnvironmentName(environmentName) {
98058
+ this.environmentName = environmentName;
98254
98059
  return this;
98255
98060
  }
98256
98061
  get forceFullPageScreenshot() {
@@ -98266,46 +98071,31 @@ var ConfigurationData = class {
98266
98071
  this.forceFullPageScreenshot = forceFullPageScreenshot;
98267
98072
  return this;
98268
98073
  }
98269
- get waitBeforeScreenshots() {
98270
- return this._config.waitBeforeScreenshots;
98074
+ get gitMergeBaseTimestamp() {
98075
+ return this._config.gitMergeBaseTimestamp;
98271
98076
  }
98272
- set waitBeforeScreenshots(waitBeforeScreenshots) {
98273
- utils20.guard.isInteger(waitBeforeScreenshots, { name: "waitBeforeScreenshots", gt: 0 });
98274
- this._config.waitBeforeScreenshots = waitBeforeScreenshots;
98077
+ set gitMergeBaseTimestamp(gitMergeBaseTimestamp) {
98078
+ utils20.guard.isString(gitMergeBaseTimestamp, { name: "gitMergeBaseTimestamp" });
98079
+ this._config.gitMergeBaseTimestamp = gitMergeBaseTimestamp;
98275
98080
  }
98276
- getWaitBeforeScreenshots() {
98277
- return this.waitBeforeScreenshots;
98081
+ getGitMergeBaseTimestamp() {
98082
+ return this.gitMergeBaseTimestamp;
98278
98083
  }
98279
- setWaitBeforeScreenshots(waitBeforeScreenshots) {
98280
- this.waitBeforeScreenshots = waitBeforeScreenshots;
98084
+ setGitMergeBaseTimestamp(gitMergeBaseTimestamp) {
98085
+ this.gitMergeBaseTimestamp = gitMergeBaseTimestamp;
98281
98086
  return this;
98282
98087
  }
98283
- get waitBeforeCapture() {
98284
- return this._config.waitBeforeCapture;
98088
+ get hideCaret() {
98089
+ return this._config.hideCaret;
98285
98090
  }
98286
- set waitBeforeCapture(waitBeforeCapture) {
98287
- utils20.guard.isInteger(waitBeforeCapture, { name: "waitBeforeCapture", gt: 0 });
98288
- this._config.waitBeforeCapture = waitBeforeCapture;
98091
+ set hideCaret(hideCaret) {
98092
+ this._config.hideCaret = hideCaret;
98289
98093
  }
98290
- getWaitBeforeCapture() {
98291
- return this.waitBeforeCapture;
98094
+ getHideCaret() {
98095
+ return this.hideCaret;
98292
98096
  }
98293
- setWaitBeforeCapture(waitBeforeCapture) {
98294
- this.waitBeforeCapture = waitBeforeCapture;
98295
- return this;
98296
- }
98297
- get stitchMode() {
98298
- return this._config.stitchMode;
98299
- }
98300
- set stitchMode(stitchMode) {
98301
- utils20.guard.isEnumValue(stitchMode, StitchModeEnum, { name: "stitchMode" });
98302
- this._config.stitchMode = stitchMode;
98303
- }
98304
- getStitchMode() {
98305
- return this.stitchMode;
98306
- }
98307
- setStitchMode(stitchMode) {
98308
- this.stitchMode = stitchMode;
98097
+ setHideCaret(hideCaret) {
98098
+ this.hideCaret = hideCaret;
98309
98099
  return this;
98310
98100
  }
98311
98101
  get hideScrollbars() {
@@ -98321,62 +98111,267 @@ var ConfigurationData = class {
98321
98111
  this.hideScrollbars = hideScrollbars;
98322
98112
  return this;
98323
98113
  }
98324
- get hideCaret() {
98325
- return this._config.hideCaret;
98114
+ get hostApp() {
98115
+ return this._config.hostApp;
98326
98116
  }
98327
- set hideCaret(hideCaret) {
98328
- this._config.hideCaret = hideCaret;
98117
+ set hostApp(hostApp) {
98118
+ this._config.hostApp = hostApp ? hostApp.trim() : void 0;
98329
98119
  }
98330
- getHideCaret() {
98331
- return this.hideCaret;
98120
+ getHostApp() {
98121
+ return this.hostApp;
98332
98122
  }
98333
- setHideCaret(hideCaret) {
98334
- this.hideCaret = hideCaret;
98123
+ setHostApp(hostApp) {
98124
+ this.hostApp = hostApp;
98335
98125
  return this;
98336
98126
  }
98337
- get stitchOverlap() {
98338
- return this._config.stitchOverlap;
98127
+ get hostAppInfo() {
98128
+ return this._config.hostAppInfo;
98339
98129
  }
98340
- set stitchOverlap(stitchOverlap) {
98341
- utils20.guard.isInteger(stitchOverlap, { name: "stitchOverlap", strict: false });
98342
- this._config.stitchOverlap = stitchOverlap;
98130
+ set hostAppInfo(hostAppInfo) {
98131
+ this._config.hostAppInfo = hostAppInfo ? hostAppInfo.trim() : void 0;
98343
98132
  }
98344
- getStitchOverlap() {
98345
- return this.stitchOverlap;
98133
+ getHostAppInfo() {
98134
+ return this.hostAppInfo;
98346
98135
  }
98347
- setStitchOverlap(stitchOverlap) {
98348
- this.stitchOverlap = stitchOverlap;
98136
+ setHostAppInfo(hostAppInfo) {
98137
+ this.hostAppInfo = hostAppInfo;
98349
98138
  return this;
98350
98139
  }
98351
- get scrollRootElement() {
98352
- return this._config.scrollRootElement;
98140
+ get hostOS() {
98141
+ return this._config.hostOS;
98353
98142
  }
98354
- set scrollRootElement(scrollRootElement) {
98355
- utils20.guard.custom(scrollRootElement, (value) => this._isElementReference(value), {
98356
- name: "scrollRootElement",
98357
- message: "must be element or selector",
98358
- strict: false
98359
- });
98360
- this._config.scrollRootElement = scrollRootElement;
98143
+ set hostOS(hostOS) {
98144
+ this._config.hostOS = hostOS ? hostOS.trim() : void 0;
98361
98145
  }
98362
- getScrollRootElement() {
98363
- return this.scrollRootElement;
98146
+ getHostOS() {
98147
+ return this.hostOS;
98364
98148
  }
98365
- setScrollRootElement(scrollRootElement) {
98366
- this.scrollRootElement = scrollRootElement;
98149
+ setHostOS(hostOS) {
98150
+ this.hostOS = hostOS;
98367
98151
  return this;
98368
98152
  }
98369
- get cut() {
98370
- return this._config.cut;
98153
+ get hostOSInfo() {
98154
+ return this._config.hostOSInfo;
98371
98155
  }
98372
- set cut(cut) {
98373
- this._config.cut = cut;
98156
+ set hostOSInfo(hostOSInfo) {
98157
+ this._config.hostOSInfo = hostOSInfo ? hostOSInfo.trim() : void 0;
98374
98158
  }
98375
- getCut() {
98376
- return this._config.cut;
98159
+ getHostOSInfo() {
98160
+ return this.hostOSInfo;
98377
98161
  }
98378
- setCut(cut) {
98379
- this.cut = cut;
98162
+ setHostOSInfo(hostOSInfo) {
98163
+ this.hostOSInfo = hostOSInfo;
98164
+ return this;
98165
+ }
98166
+ get ignoreBaseline() {
98167
+ return this._config.ignoreBaseline;
98168
+ }
98169
+ set ignoreBaseline(ignoreBaseline) {
98170
+ utils20.guard.isBoolean(ignoreBaseline, { name: "ignoreBaseline" });
98171
+ this._config.ignoreBaseline = ignoreBaseline;
98172
+ }
98173
+ getIgnoreBaseline() {
98174
+ return this.ignoreBaseline;
98175
+ }
98176
+ setIgnoreBaseline(ignoreBaseline) {
98177
+ this.ignoreBaseline = ignoreBaseline;
98178
+ return this;
98179
+ }
98180
+ get ignoreCaret() {
98181
+ return this.defaultMatchSettings.ignoreCaret;
98182
+ }
98183
+ set ignoreCaret(ignoreCaret) {
98184
+ if (!this.defaultMatchSettings)
98185
+ this.defaultMatchSettings = {};
98186
+ this.defaultMatchSettings.ignoreCaret = ignoreCaret;
98187
+ }
98188
+ getIgnoreCaret() {
98189
+ return this.defaultMatchSettings.ignoreCaret;
98190
+ }
98191
+ setIgnoreCaret(ignoreCaret) {
98192
+ this.ignoreCaret = ignoreCaret;
98193
+ return this;
98194
+ }
98195
+ get ignoreDisplacements() {
98196
+ return this.defaultMatchSettings.ignoreDisplacements;
98197
+ }
98198
+ set ignoreDisplacements(ignoreDisplacements) {
98199
+ if (!this.defaultMatchSettings)
98200
+ this.defaultMatchSettings = {};
98201
+ this.defaultMatchSettings.ignoreDisplacements = ignoreDisplacements;
98202
+ }
98203
+ getIgnoreDisplacements() {
98204
+ return this.ignoreDisplacements;
98205
+ }
98206
+ setIgnoreDisplacements(ignoreDisplacements) {
98207
+ this.ignoreDisplacements = ignoreDisplacements;
98208
+ return this;
98209
+ }
98210
+ get ignoreGitMergeBase() {
98211
+ return this._config.ignoreGitMergeBase;
98212
+ }
98213
+ set ignoreGitMergeBase(ignoreGitMergeBase) {
98214
+ utils20.guard.isBoolean(ignoreGitMergeBase, { name: "ignoreGitMergeBase" });
98215
+ this._config.ignoreGitMergeBase = ignoreGitMergeBase;
98216
+ }
98217
+ getIgnoreGitMergeBase() {
98218
+ return this.ignoreGitMergeBase;
98219
+ }
98220
+ setIgnoreGitMergeBase(ignoreGitMergeBase) {
98221
+ this.ignoreGitMergeBase = ignoreGitMergeBase;
98222
+ return this;
98223
+ }
98224
+ get isDisabled() {
98225
+ return this._config.isDisabled;
98226
+ }
98227
+ set isDisabled(isDisabled) {
98228
+ utils20.guard.isBoolean(isDisabled, { name: "isDisabled", strict: false });
98229
+ this._config.isDisabled = isDisabled;
98230
+ }
98231
+ getIsDisabled() {
98232
+ return this.isDisabled;
98233
+ }
98234
+ setIsDisabled(isDisabled) {
98235
+ this.isDisabled = isDisabled;
98236
+ return this;
98237
+ }
98238
+ get layoutBreakpoints() {
98239
+ return this._config.layoutBreakpoints;
98240
+ }
98241
+ set layoutBreakpoints(layoutBreakpoints) {
98242
+ utils20.guard.notNull(layoutBreakpoints, { name: "layoutBreakpoints" });
98243
+ if (utils20.types.isArray(layoutBreakpoints)) {
98244
+ this._config.layoutBreakpoints = layoutBreakpoints.length > 0 ? layoutBreakpoints : false;
98245
+ } else {
98246
+ this._config.layoutBreakpoints = layoutBreakpoints;
98247
+ }
98248
+ }
98249
+ getLayoutBreakpoints() {
98250
+ return this.layoutBreakpoints;
98251
+ }
98252
+ setLayoutBreakpoints(layoutBreakpoints) {
98253
+ this.layoutBreakpoints = layoutBreakpoints;
98254
+ return this;
98255
+ }
98256
+ get matchLevel() {
98257
+ return this.defaultMatchSettings.matchLevel;
98258
+ }
98259
+ set matchLevel(matchLevel) {
98260
+ utils20.guard.isEnumValue(matchLevel, MatchLevelEnum, { name: "matchLevel" });
98261
+ if (!this.defaultMatchSettings)
98262
+ this.defaultMatchSettings = {};
98263
+ this.defaultMatchSettings.matchLevel = matchLevel;
98264
+ }
98265
+ getMatchLevel() {
98266
+ return this.matchLevel;
98267
+ }
98268
+ setMatchLevel(matchLevel) {
98269
+ this.matchLevel = matchLevel;
98270
+ return this;
98271
+ }
98272
+ get matchTimeout() {
98273
+ return this._config.matchTimeout;
98274
+ }
98275
+ set matchTimeout(matchTimeout) {
98276
+ utils20.guard.isInteger(matchTimeout, { name: "matchTimeout" });
98277
+ this._config.matchTimeout = matchTimeout;
98278
+ }
98279
+ getMatchTimeout() {
98280
+ return this.matchTimeout;
98281
+ }
98282
+ setMatchTimeout(matchTimeout) {
98283
+ this.matchTimeout = matchTimeout;
98284
+ return this;
98285
+ }
98286
+ get mobileOptions() {
98287
+ return this._config.mobileOptions;
98288
+ }
98289
+ set mobileOptions(mobileOptions) {
98290
+ this._config.mobileOptions = mobileOptions;
98291
+ }
98292
+ getMobileOptions() {
98293
+ return this.mobileOptions;
98294
+ }
98295
+ setMobileOptions(mobileOptions) {
98296
+ this.mobileOptions = mobileOptions;
98297
+ return this;
98298
+ }
98299
+ get parentBranchName() {
98300
+ return this._config.parentBranchName;
98301
+ }
98302
+ set parentBranchName(parentBranchName) {
98303
+ utils20.guard.isString(parentBranchName, { name: "parentBranchName" });
98304
+ this._config.parentBranchName = parentBranchName;
98305
+ }
98306
+ getParentBranchName() {
98307
+ var _a;
98308
+ return (_a = this.parentBranchName) != null ? _a : utils20.general.getEnvValue("PARENT_BRANCH");
98309
+ }
98310
+ setParentBranchName(parentBranchName) {
98311
+ this.parentBranchName = parentBranchName;
98312
+ return this;
98313
+ }
98314
+ get properties() {
98315
+ return this._config.properties;
98316
+ }
98317
+ set properties(properties) {
98318
+ utils20.guard.isArray(properties, { name: "properties" });
98319
+ this._config.properties = properties;
98320
+ }
98321
+ getProperties() {
98322
+ var _a, _b;
98323
+ return (_b = (_a = this.properties) == null ? void 0 : _a.map((property) => new PropertyDataData(property))) != null ? _b : [];
98324
+ }
98325
+ setProperties(properties) {
98326
+ this.properties = properties;
98327
+ return this;
98328
+ }
98329
+ addProperty(propOrName, value) {
98330
+ const property = utils20.types.isString(propOrName) ? { name: propOrName, value } : propOrName;
98331
+ if (!this.properties)
98332
+ this.properties = [];
98333
+ this.properties.push(property);
98334
+ return this;
98335
+ }
98336
+ clearProperties() {
98337
+ this.properties = [];
98338
+ return this;
98339
+ }
98340
+ get proxy() {
98341
+ return this._config.proxy;
98342
+ }
98343
+ set proxy(proxy) {
98344
+ this._config.proxy = proxy;
98345
+ }
98346
+ getProxy() {
98347
+ return new ProxySettingsData(this.proxy);
98348
+ }
98349
+ setProxy(proxyOrUrlOrIsEnabled, username, password) {
98350
+ if (proxyOrUrlOrIsEnabled === false) {
98351
+ this.proxy = void 0;
98352
+ } else if (utils20.types.isString(proxyOrUrlOrIsEnabled)) {
98353
+ this.proxy = { url: proxyOrUrlOrIsEnabled, username, password };
98354
+ } else {
98355
+ this.proxy = proxyOrUrlOrIsEnabled;
98356
+ }
98357
+ return this;
98358
+ }
98359
+ /** @undocumented */
98360
+ get removeSession() {
98361
+ return this._config.removeSession;
98362
+ }
98363
+ /** @undocumented */
98364
+ set removeSession(removeSession) {
98365
+ utils20.guard.isBoolean(removeSession, { name: "removeSession" });
98366
+ this._config.removeSession = removeSession;
98367
+ }
98368
+ /** @undocumented */
98369
+ getRemoveSession() {
98370
+ return this.removeSession;
98371
+ }
98372
+ /** @undocumented */
98373
+ setRemoveSession(removeSession) {
98374
+ this.removeSession = removeSession;
98380
98375
  return this;
98381
98376
  }
98382
98377
  get rotation() {
@@ -98392,6 +98387,48 @@ var ConfigurationData = class {
98392
98387
  this.rotation = utils20.types.isNumber(rotation) ? rotation : rotation.rotation;
98393
98388
  return this;
98394
98389
  }
98390
+ get saveDiffs() {
98391
+ return this._config.saveDiffs;
98392
+ }
98393
+ set saveDiffs(saveDiffs) {
98394
+ utils20.guard.isBoolean(saveDiffs, { name: "saveDiffs" });
98395
+ this._config.saveDiffs = saveDiffs;
98396
+ }
98397
+ getSaveDiffs() {
98398
+ return this.saveDiffs;
98399
+ }
98400
+ setSaveDiffs(saveDiffs) {
98401
+ this.saveDiffs = saveDiffs;
98402
+ return this;
98403
+ }
98404
+ get saveFailedTests() {
98405
+ return this._config.saveFailedTests;
98406
+ }
98407
+ set saveFailedTests(saveFailedTests) {
98408
+ utils20.guard.isBoolean(saveFailedTests, { name: "saveFailedTests" });
98409
+ this._config.saveFailedTests = saveFailedTests;
98410
+ }
98411
+ getSaveFailedTests() {
98412
+ return this.saveFailedTests;
98413
+ }
98414
+ setSaveFailedTests(saveFailedTests) {
98415
+ this.saveFailedTests = saveFailedTests;
98416
+ return this;
98417
+ }
98418
+ get saveNewTests() {
98419
+ return this._config.saveNewTests;
98420
+ }
98421
+ set saveNewTests(saveNewTests) {
98422
+ utils20.guard.isBoolean(saveNewTests, { name: "saveNewTests" });
98423
+ this._config.saveNewTests = saveNewTests;
98424
+ }
98425
+ getSaveNewTests() {
98426
+ return this.saveNewTests;
98427
+ }
98428
+ setSaveNewTests(saveNewTests) {
98429
+ this.saveNewTests = saveNewTests;
98430
+ return this;
98431
+ }
98395
98432
  get scaleRatio() {
98396
98433
  return this._config.scaleRatio;
98397
98434
  }
@@ -98406,184 +98443,181 @@ var ConfigurationData = class {
98406
98443
  this.scaleRatio = scaleRatio;
98407
98444
  return this;
98408
98445
  }
98409
- /** @undocumented */
98410
- get concurrentSessions() {
98411
- return this._config.concurrentSessions;
98446
+ get scrollRootElement() {
98447
+ return this._config.scrollRootElement;
98412
98448
  }
98413
- /** @undocumented */
98414
- set concurrentSessions(concurrentSessions) {
98415
- this._config.concurrentSessions = concurrentSessions;
98449
+ set scrollRootElement(scrollRootElement) {
98450
+ utils20.guard.custom(scrollRootElement, (value) => this._isElementReference(value), {
98451
+ name: "scrollRootElement",
98452
+ message: "must be element or selector",
98453
+ strict: false
98454
+ });
98455
+ this._config.scrollRootElement = scrollRootElement;
98416
98456
  }
98417
- /** @undocumented */
98418
- getConcurrentSessions() {
98419
- return this.concurrentSessions;
98457
+ getScrollRootElement() {
98458
+ return this.scrollRootElement;
98420
98459
  }
98421
- /** @undocumented */
98422
- setConcurrentSessions(concurrentSessions) {
98423
- this.concurrentSessions = concurrentSessions;
98460
+ setScrollRootElement(scrollRootElement) {
98461
+ this.scrollRootElement = scrollRootElement;
98424
98462
  return this;
98425
98463
  }
98426
- get browsersInfo() {
98427
- return this._config.browsersInfo;
98464
+ get sendDom() {
98465
+ return this._config.sendDom;
98428
98466
  }
98429
- set browsersInfo(browsersInfo) {
98430
- utils20.guard.isArray(browsersInfo, { name: "browsersInfo" });
98431
- this._config.browsersInfo = browsersInfo;
98467
+ set sendDom(sendDom) {
98468
+ utils20.guard.isBoolean(sendDom, { name: "sendDom" });
98469
+ this._config.sendDom = sendDom;
98432
98470
  }
98433
- getBrowsersInfo() {
98434
- return this.browsersInfo;
98471
+ getSendDom() {
98472
+ return this.sendDom;
98435
98473
  }
98436
- setBrowsersInfo(browsersInfo) {
98437
- this.browsersInfo = browsersInfo.map(
98438
- (browserInfo) => utils20.types.has(browserInfo, "deviceName") ? { chromeEmulationInfo: browserInfo } : browserInfo
98439
- );
98474
+ setSendDom(sendDom) {
98475
+ this.sendDom = sendDom;
98440
98476
  return this;
98441
98477
  }
98442
- addBrowsers(...browsersInfo) {
98443
- for (const [index, browserInfo] of browsersInfo.entries()) {
98444
- utils20.guard.isObject(browserInfo, { name: `addBrowsers( arg${index} )` });
98445
- }
98446
- if (!this.browsersInfo)
98447
- this.browsersInfo = [];
98448
- this.browsersInfo.push(
98449
- ...browsersInfo.map(
98450
- (browserInfo) => utils20.types.has(browserInfo, "deviceName") ? { chromeEmulationInfo: browserInfo } : browserInfo
98451
- )
98452
- );
98453
- return this;
98478
+ get serverUrl() {
98479
+ return this._config.serverUrl;
98454
98480
  }
98455
- addBrowser(browserInfoOrWidth, height, name = "chrome" /* CHROME */) {
98456
- if (utils20.types.isObject(browserInfoOrWidth))
98457
- return this.addBrowsers(browserInfoOrWidth);
98458
- else
98459
- return this.addBrowsers({ width: browserInfoOrWidth, height, name });
98481
+ set serverUrl(serverUrl) {
98482
+ utils20.guard.isString(serverUrl, { name: "serverUrl", strict: false });
98483
+ this._config.serverUrl = serverUrl;
98460
98484
  }
98461
- addDeviceEmulation(deviceName, screenOrientation = "portrait" /* PORTRAIT */) {
98462
- if (!this.browsersInfo)
98463
- this.browsersInfo = [];
98464
- this.browsersInfo.push({ chromeEmulationInfo: { deviceName, screenOrientation } });
98485
+ getServerUrl() {
98486
+ var _a;
98487
+ return (_a = this.serverUrl) != null ? _a : utils20.general.getEnvValue("SERVER_URL");
98488
+ }
98489
+ setServerUrl(serverUrl) {
98490
+ this.serverUrl = serverUrl;
98465
98491
  return this;
98466
98492
  }
98467
- addMobileDevice(deviceName, screenOrientation, version) {
98468
- if (!this.browsersInfo)
98469
- this.browsersInfo = [];
98470
- if (utils20.types.isEnumValue(deviceName, IosDeviceNameEnum)) {
98471
- this.browsersInfo.push({
98472
- iosDeviceInfo: {
98473
- deviceName,
98474
- screenOrientation,
98475
- iosVersion: version
98476
- }
98477
- });
98478
- } else {
98479
- this.browsersInfo.push({
98480
- androidDeviceInfo: {
98481
- deviceName,
98482
- screenOrientation,
98483
- version
98484
- }
98485
- });
98486
- }
98493
+ get sessionType() {
98494
+ return this._config.sessionType;
98495
+ }
98496
+ set sessionType(sessionType) {
98497
+ this._config.sessionType = sessionType;
98498
+ }
98499
+ getSessionType() {
98500
+ return this.sessionType;
98501
+ }
98502
+ setSessionType(sessionType) {
98503
+ this.sessionType = sessionType;
98487
98504
  return this;
98488
98505
  }
98489
- addMultiDeviceTarget(deviceName) {
98490
- if (!this.browsersInfo)
98491
- this.browsersInfo = [];
98492
- this.browsersInfo.push({ iosDeviceInfo: { deviceName } });
98506
+ get stitchMode() {
98507
+ return this._config.stitchMode;
98508
+ }
98509
+ set stitchMode(stitchMode) {
98510
+ utils20.guard.isEnumValue(stitchMode, StitchModeEnum, { name: "stitchMode" });
98511
+ this._config.stitchMode = stitchMode;
98512
+ }
98513
+ getStitchMode() {
98514
+ return this.stitchMode;
98515
+ }
98516
+ setStitchMode(stitchMode) {
98517
+ this.stitchMode = stitchMode;
98493
98518
  return this;
98494
98519
  }
98495
- get visualGridOptions() {
98496
- return this._config.visualGridOptions;
98520
+ get stitchOverlap() {
98521
+ return this._config.stitchOverlap;
98497
98522
  }
98498
- set visualGridOptions(visualGridOptions) {
98499
- this._config.visualGridOptions = visualGridOptions;
98523
+ set stitchOverlap(stitchOverlap) {
98524
+ utils20.guard.isInteger(stitchOverlap, { name: "stitchOverlap", strict: false });
98525
+ this._config.stitchOverlap = stitchOverlap;
98500
98526
  }
98501
- getVisualGridOptions() {
98502
- return this.visualGridOptions;
98527
+ getStitchOverlap() {
98528
+ return this.stitchOverlap;
98503
98529
  }
98504
- setVisualGridOptions(visualGridOptions) {
98505
- this.visualGridOptions = visualGridOptions;
98530
+ setStitchOverlap(stitchOverlap) {
98531
+ this.stitchOverlap = stitchOverlap;
98506
98532
  return this;
98507
98533
  }
98508
- setVisualGridOption(key, value) {
98509
- if (!this.visualGridOptions)
98510
- this.visualGridOptions = {};
98511
- this.visualGridOptions[key] = value;
98534
+ get testName() {
98535
+ return this._config.testName;
98536
+ }
98537
+ set testName(testName) {
98538
+ utils20.guard.isString(testName, { name: "testName", strict: false });
98539
+ this._config.testName = testName;
98540
+ }
98541
+ getTestName() {
98542
+ return this.testName;
98543
+ }
98544
+ setTestName(testName) {
98545
+ this.testName = testName;
98512
98546
  return this;
98513
98547
  }
98514
- get layoutBreakpoints() {
98515
- return this._config.layoutBreakpoints;
98548
+ get useDom() {
98549
+ return this.defaultMatchSettings.useDom;
98516
98550
  }
98517
- set layoutBreakpoints(layoutBreakpoints) {
98518
- utils20.guard.notNull(layoutBreakpoints, { name: "layoutBreakpoints" });
98519
- if (utils20.types.isArray(layoutBreakpoints)) {
98520
- this._config.layoutBreakpoints = layoutBreakpoints.length > 0 ? layoutBreakpoints : false;
98521
- } else {
98522
- this._config.layoutBreakpoints = layoutBreakpoints;
98523
- }
98551
+ set useDom(useDom) {
98552
+ if (!this.defaultMatchSettings)
98553
+ this.defaultMatchSettings = {};
98554
+ this.defaultMatchSettings.useDom = useDom;
98524
98555
  }
98525
- getLayoutBreakpoints() {
98526
- return this.layoutBreakpoints;
98556
+ getUseDom() {
98557
+ return this.useDom;
98527
98558
  }
98528
- setLayoutBreakpoints(layoutBreakpoints) {
98529
- this.layoutBreakpoints = layoutBreakpoints;
98559
+ setUseDom(useDom) {
98560
+ this.useDom = useDom;
98530
98561
  return this;
98531
98562
  }
98532
- get disableBrowserFetching() {
98533
- return this._config.disableBrowserFetching;
98563
+ get viewportSize() {
98564
+ return this._config.viewportSize;
98534
98565
  }
98535
- set disableBrowserFetching(disableBrowserFetching) {
98536
- this._config.disableBrowserFetching = disableBrowserFetching;
98566
+ set viewportSize(viewportSize) {
98567
+ this._config.viewportSize = viewportSize;
98537
98568
  }
98538
- getDisableBrowserFetching() {
98539
- return this.disableBrowserFetching;
98569
+ getViewportSize() {
98570
+ return this.viewportSize && new RectangleSizeData(this.viewportSize);
98540
98571
  }
98541
- setDisableBrowserFetching(disableBrowserFetching) {
98542
- this.disableBrowserFetching = disableBrowserFetching;
98572
+ setViewportSize(viewportSize) {
98573
+ this.viewportSize = viewportSize;
98543
98574
  return this;
98544
98575
  }
98545
- /** @undocumented */
98546
- get dontCloseBatches() {
98547
- return this._config.dontCloseBatches;
98576
+ get visualGridOptions() {
98577
+ return this._config.visualGridOptions;
98548
98578
  }
98549
- /** @undocumented */
98550
- set dontCloseBatches(dontCloseBatches) {
98551
- this._config.dontCloseBatches = dontCloseBatches;
98579
+ set visualGridOptions(visualGridOptions) {
98580
+ this._config.visualGridOptions = visualGridOptions;
98552
98581
  }
98553
- /** @undocumented */
98554
- getDontCloseBatches() {
98555
- var _a;
98556
- return (_a = this.dontCloseBatches) != null ? _a : utils20.general.getEnvValue("DONT_CLOSE_BATCHES", "boolean");
98582
+ getVisualGridOptions() {
98583
+ return this.visualGridOptions;
98557
98584
  }
98558
- /** @undocumented */
98559
- setDontCloseBatches(dontCloseBatches) {
98560
- this.dontCloseBatches = dontCloseBatches;
98585
+ setVisualGridOptions(visualGridOptions) {
98586
+ this.visualGridOptions = visualGridOptions;
98561
98587
  return this;
98562
98588
  }
98563
- get disableNMLUrlCache() {
98564
- return this._config.disableNMLUrlCache;
98589
+ setVisualGridOption(key, value) {
98590
+ if (!this.visualGridOptions)
98591
+ this.visualGridOptions = {};
98592
+ this.visualGridOptions[key] = value;
98593
+ return this;
98565
98594
  }
98566
- set disableNMLUrlCache(disableNMLUrlCache) {
98567
- this._config.disableNMLUrlCache = disableNMLUrlCache;
98595
+ get waitBeforeCapture() {
98596
+ return this._config.waitBeforeCapture;
98568
98597
  }
98569
- getDisableNMLUrlCache() {
98570
- return this.disableNMLUrlCache;
98598
+ set waitBeforeCapture(waitBeforeCapture) {
98599
+ utils20.guard.isInteger(waitBeforeCapture, { name: "waitBeforeCapture", gt: 0 });
98600
+ this._config.waitBeforeCapture = waitBeforeCapture;
98571
98601
  }
98572
- setDisableNMLUrlCache(disableNMLUrlCache) {
98573
- this.disableNMLUrlCache = disableNMLUrlCache;
98602
+ getWaitBeforeCapture() {
98603
+ return this.waitBeforeCapture;
98604
+ }
98605
+ setWaitBeforeCapture(waitBeforeCapture) {
98606
+ this.waitBeforeCapture = waitBeforeCapture;
98574
98607
  return this;
98575
98608
  }
98576
- get captureStatusBar() {
98577
- return this._config.captureStatusBar;
98609
+ get waitBeforeScreenshots() {
98610
+ return this._config.waitBeforeScreenshots;
98578
98611
  }
98579
- set captureStatusBar(captureStatusBar) {
98580
- this._config.captureStatusBar = captureStatusBar;
98612
+ set waitBeforeScreenshots(waitBeforeScreenshots) {
98613
+ utils20.guard.isInteger(waitBeforeScreenshots, { name: "waitBeforeScreenshots", gt: 0 });
98614
+ this._config.waitBeforeScreenshots = waitBeforeScreenshots;
98581
98615
  }
98582
- getCaptureStatusBar() {
98583
- return this.disableNMLUrlCache;
98616
+ getWaitBeforeScreenshots() {
98617
+ return this.waitBeforeScreenshots;
98584
98618
  }
98585
- setCaptureStatusBar(captureStatusBar) {
98586
- this.captureStatusBar = captureStatusBar;
98619
+ setWaitBeforeScreenshots(waitBeforeScreenshots) {
98620
+ this.waitBeforeScreenshots = waitBeforeScreenshots;
98587
98621
  return this;
98588
98622
  }
98589
98623
  /** @internal */
@@ -98643,7 +98677,8 @@ var ConfigurationData = class {
98643
98677
  scaleRatio: this.scaleRatio
98644
98678
  }),
98645
98679
  debugImages: ((_a = this.debugScreenshots) == null ? void 0 : _a.save) && utils20.types.has(this.debugScreenshots, "path") ? this.debugScreenshots : void 0,
98646
- captureStatusBar: this.captureStatusBar
98680
+ captureStatusBar: this.captureStatusBar,
98681
+ mobileOptions: this.mobileOptions
98647
98682
  }),
98648
98683
  check: utils20.general.removeUndefinedProps({
98649
98684
  environments: (_b = this.browsersInfo) == null ? void 0 : _b.map((browserInfo) => {
@@ -100318,8 +100353,6 @@ export {
100318
100353
  AccessibilityMatchSettingsData as AccessibilityMatchSettings,
100319
100354
  AccessibilityRegionTypeEnum as AccessibilityRegionType,
100320
100355
  AccessibilityStatusEnum as AccessibilityStatus,
100321
- AndroidDeviceNameEnum as AndroidDeviceName,
100322
- AndroidVersionEnum as AndroidVersion,
100323
100356
  ApiUrlsData as ApiUrls,
100324
100357
  AppUrlsData as AppUrls,
100325
100358
  BatchClose,