How to use createStrictTextMatcher method in Playwright Internal

Best JavaScript code snippet using playwright-internal

injectedScriptSource.js

Source:injectedScriptSource.js Github

copy

Full Screen

1var pwExport2;(() => {3 'use strict'4 var e = {5 204: (e, t) => {6 Object.defineProperty(t, '__esModule', { value: !0 }),7 (t.checkComponentAttribute = function (e, t) {8 for (const n of t.jsonPath) null != e && (e = e[n])9 const n =10 'string' != typeof e || t.caseSensetive ? e : e.toUpperCase(),11 r =12 'string' != typeof t.value || t.caseSensetive13 ? t.value14 : t.value.toUpperCase()15 return '<truthy>' === t.op16 ? !!n17 : '=' === t.op18 ? n === r19 : 'string' == typeof n &&20 'string' == typeof r &&21 ('*=' === t.op22 ? n.includes(r)23 : '^=' === t.op24 ? n.startsWith(r)25 : '$=' === t.op26 ? n.endsWith(r)27 : '|=' === t.op28 ? n === r || n.startsWith(r + '-')29 : '~=' === t.op && n.split(' ').includes(r))30 }),31 (t.parseComponentSelector = function (e) {32 let t = 0,33 n = 0 === e.length34 const r = () => e[t] || '',35 o = () => {36 const o = r()37 return ++t, (n = t >= e.length), o38 },39 i = (o) => {40 if (n)41 throw new Error(42 `Unexpected end of selector while parsing selector \`${e}\``43 )44 throw new Error(45 `Error while parsing selector \`${e}\` - unexpected symbol "${r()}" at position ${t}` +46 (o ? ' during ' + o : '')47 )48 }49 function s() {50 for (; !n && /\s/.test(r()); ) o()51 }52 function c() {53 let e = ''54 for (s(); !n && /[-$0-9A-Z_]/i.test(r()); ) e += o()55 return e56 }57 function a(e) {58 let t = o()59 for (t !== e && i('parsing quoted string'); !n && r() !== e; )60 '\\' === r() && o(), (t += o())61 return r() !== e && i('parsing quoted string'), (t += o()), t62 }63 function u() {64 let e = ''65 return (66 s(),67 (e = "'" === r() || '"' === r() ? a(r()).slice(1, -1) : c()),68 e || i('parsing property path'),69 e70 )71 }72 function l() {73 o()74 const t = []75 for (t.push(u()), s(); '.' === r(); ) o(), t.push(u()), s()76 if (']' === r())77 return (78 o(),79 {80 jsonPath: t,81 op: '<truthy>',82 value: null,83 caseSensetive: !184 }85 )86 const c = (function () {87 s()88 let e = ''89 return (90 n || (e += o()),91 n || '=' === e || (e += o()),92 ['=', '*=', '^=', '$=', '|=', '~='].includes(e) ||93 i('parsing operator'),94 e95 )96 })()97 let l,98 h = !099 if ((s(), "'" === r() || '"' === r()))100 (l = a(r()).slice(1, -1)),101 s(),102 'i' === r() || 'I' === r()103 ? ((h = !1), o())104 : ('s' !== r() && 'S' !== r()) || ((h = !0), o())105 else {106 for (l = ''; !n && !/\s/.test(r()) && ']' !== r(); ) l += o()107 'true' === l108 ? (l = !0)109 : 'false' === l110 ? (l = !1)111 : ((l = +l), isNaN(l) && i('parsing attribute value'))112 }113 if (114 (s(),115 ']' !== r() && i('parsing attribute value'),116 o(),117 '=' !== c && 'string' != typeof l)118 )119 throw new Error(120 `Error while parsing selector \`${e}\` - cannot use ${c} in attribute with non-string matching value - ${l}`121 )122 return { jsonPath: t, op: c, value: l, caseSensetive: h }123 }124 const h = { name: '', attributes: [] }125 for (h.name = c(), s(); '[' === r(); ) h.attributes.push(l()), s()126 if ((n || i(void 0), !h.name && !h.attributes.length))127 throw new Error(128 `Error while parsing selector \`${e}\` - selector cannot be empty`129 )130 return h131 })132 },133 317: (e, t, n) => {134 Object.defineProperty(t, '__esModule', { value: !0 }),135 (t.parseCSS = function (e, t) {136 let n137 try {138 ;(n = r.tokenize(e)),139 n[n.length - 1] instanceof r.EOFToken ||140 n.push(new r.EOFToken())141 } catch (t) {142 const n = t.message + ` while parsing selector "${e}"`,143 r = (t.stack || '').indexOf(t.message)144 throw (145 (-1 !== r &&146 (t.stack =147 t.stack.substring(0, r) +148 n +149 t.stack.substring(r + t.message.length)),150 (t.message = n),151 t)152 )153 }154 const o = n.find(155 (e) =>156 e instanceof r.AtKeywordToken ||157 e instanceof r.BadStringToken ||158 e instanceof r.BadURLToken ||159 e instanceof r.ColumnToken ||160 e instanceof r.CDOToken ||161 e instanceof r.CDCToken ||162 e instanceof r.SemicolonToken ||163 e instanceof r.OpenCurlyToken ||164 e instanceof r.CloseCurlyToken ||165 e instanceof r.URLToken ||166 e instanceof r.PercentageToken167 )168 if (o)169 throw new Error(170 `Unsupported token "${o.toSource()}" while parsing selector "${e}"`171 )172 let i = 0173 const s = new Set()174 function c() {175 return new Error(176 `Unexpected token "${n[177 i178 ].toSource()}" while parsing selector "${e}"`179 )180 }181 function a() {182 for (; n[i] instanceof r.WhitespaceToken; ) i++183 }184 function u(e = i) {185 return n[e] instanceof r.IdentToken186 }187 function l(e = i) {188 return n[e] instanceof r.CommaToken189 }190 function h(e = i) {191 return n[e] instanceof r.CloseParenToken192 }193 function p(e = i) {194 return n[e] instanceof r.DelimToken && '*' === n[e].value195 }196 function f(e = i) {197 return n[e] instanceof r.EOFToken198 }199 function d(e = i) {200 return (201 n[e] instanceof r.DelimToken &&202 ['>', '+', '~'].includes(n[e].value)203 )204 }205 function m(e = i) {206 return (207 l(e) ||208 h(e) ||209 f(e) ||210 d(e) ||211 n[e] instanceof r.WhitespaceToken212 )213 }214 function g() {215 const e = [y()]216 for (; a(), l(); ) i++, e.push(y())217 return e218 }219 function y() {220 return (221 a(),222 (function (e = i) {223 return n[e] instanceof r.NumberToken224 })() ||225 (function (e = i) {226 return n[e] instanceof r.StringToken227 })()228 ? n[i++].value229 : (function () {230 const e = { simples: [] }231 for (232 a(),233 d()234 ? e.simples.push({235 selector: {236 functions: [{ name: 'scope', args: [] }]237 },238 combinator: ''239 })240 : e.simples.push({ selector: v(), combinator: '' });241 ;242 ) {243 if ((a(), d()))244 (e.simples[e.simples.length - 1].combinator =245 n[i++].value),246 a()247 else if (m()) break248 e.simples.push({ combinator: '', selector: v() })249 }250 return e251 })()252 )253 }254 function v() {255 let e = ''256 const o = []257 for (; !m(); )258 if (u() || p()) e += n[i++].toSource()259 else if (n[i] instanceof r.HashToken) e += n[i++].toSource()260 else if (n[i] instanceof r.DelimToken && '.' === n[i].value) {261 if ((i++, !u())) throw c()262 e += '.' + n[i++].toSource()263 } else if (n[i] instanceof r.ColonToken)264 if ((i++, u()))265 if (t.has(n[i].value.toLowerCase())) {266 const e = n[i++].value.toLowerCase()267 o.push({ name: e, args: [] }), s.add(e)268 } else e += ':' + n[i++].toSource()269 else {270 if (!(n[i] instanceof r.FunctionToken)) throw c()271 {272 const r = n[i++].value.toLowerCase()273 if (274 (t.has(r)275 ? (o.push({ name: r, args: g() }), s.add(r))276 : (e += `:${r}(${w()})`),277 a(),278 !h())279 )280 throw c()281 i++282 }283 }284 else {285 if (!(n[i] instanceof r.OpenSquareToken)) throw c()286 for (287 e += '[', i++;288 !(n[i] instanceof r.CloseSquareToken || f());289 )290 e += n[i++].toSource()291 if (!(n[i] instanceof r.CloseSquareToken)) throw c()292 ;(e += ']'), i++293 }294 if (!e && !o.length) throw c()295 return { css: e || void 0, functions: o }296 }297 function w() {298 let e = ''299 for (; !h() && !f(); ) e += n[i++].toSource()300 return e301 }302 const b = g()303 if (!f()) throw new Error(`Error while parsing selector "${e}"`)304 if (b.some((e) => 'object' != typeof e || !('simples' in e)))305 throw new Error(`Error while parsing selector "${e}"`)306 return { selector: b, names: Array.from(s) }307 }),308 (t.serializeSelector = function e(t) {309 return t310 .map((t) =>311 'string' == typeof t312 ? `"${t}"`313 : 'number' == typeof t314 ? String(t)315 : t.simples316 .map(({ selector: t, combinator: n }) => {317 let r = t.css || ''318 return (319 (r += t.functions320 .map((t) => `:${t.name}(${e(t.args)})`)321 .join('')),322 n && (r += ' ' + n),323 r324 )325 })326 .join(' ')327 )328 .join(', ')329 })330 var r = (function (e, t) {331 if (e && e.__esModule) return e332 if (null === e || ('object' != typeof e && 'function' != typeof e))333 return { default: e }334 var n = o(t)335 if (n && n.has(e)) return n.get(e)336 var r = {},337 i = Object.defineProperty && Object.getOwnPropertyDescriptor338 for (var s in e)339 if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {340 var c = i ? Object.getOwnPropertyDescriptor(e, s) : null341 c && (c.get || c.set)342 ? Object.defineProperty(r, s, c)343 : (r[s] = e[s])344 }345 return (r.default = e), n && n.set(e, r), r346 })(n(503))347 function o(e) {348 if ('function' != typeof WeakMap) return null349 var t = new WeakMap(),350 n = new WeakMap()351 return (o = function (e) {352 return e ? n : t353 })(e)354 }355 },356 503: (e, t) => {357 var n, r358 ;(n = function (e) {359 var t = function (e, t, n) {360 return e >= t && e <= n361 }362 function n(e) {363 return t(e, 48, 57)364 }365 function r(e) {366 return n(e) || t(e, 65, 70) || t(e, 97, 102)367 }368 function o(e) {369 return (370 (function (e) {371 return t(e, 65, 90)372 })(e) ||373 (function (e) {374 return t(e, 97, 122)375 })(e)376 )377 }378 function i(e) {379 return (380 o(e) ||381 (function (e) {382 return e >= 128383 })(e) ||384 95 == e385 )386 }387 function s(e) {388 return i(e) || n(e) || 45 == e389 }390 function c(e) {391 return t(e, 0, 8) || 11 == e || t(e, 14, 31) || 127 == e392 }393 function a(e) {394 return 10 == e395 }396 function u(e) {397 return a(e) || 9 == e || 32 == e398 }399 var l = function (e) {400 this.message = e401 }402 function h(e) {403 if (e <= 65535) return String.fromCharCode(e)404 e -= Math.pow(2, 16)405 var t = Math.floor(e / Math.pow(2, 10)) + 55296,406 n = (e % Math.pow(2, 10)) + 56320407 return String.fromCharCode(t) + String.fromCharCode(n)408 }409 function p() {410 throw 'Abstract Base Class'411 }412 function f() {413 return this414 }415 function d() {416 return this417 }418 function m() {419 return this420 }421 function g() {422 return this423 }424 function y() {425 return this426 }427 function v() {428 return this429 }430 function w() {431 return this432 }433 function b() {434 return this435 }436 function E() {437 throw 'Abstract Base Class'438 }439 function _() {440 return (this.value = '{'), (this.mirror = '}'), this441 }442 function S() {443 return (this.value = '}'), (this.mirror = '{'), this444 }445 function T() {446 return (this.value = '['), (this.mirror = ']'), this447 }448 function k() {449 return (this.value = ']'), (this.mirror = '['), this450 }451 function N() {452 return (this.value = '('), (this.mirror = ')'), this453 }454 function x() {455 return (this.value = ')'), (this.mirror = '('), this456 }457 function C() {458 return this459 }460 function A() {461 return this462 }463 function O() {464 return this465 }466 function M() {467 return this468 }469 function $() {470 return this471 }472 function R() {473 return this474 }475 function j() {476 return this477 }478 function L(e) {479 return (this.value = h(e)), this480 }481 function P() {482 throw 'Abstract Base Class'483 }484 function q(e) {485 this.value = e486 }487 function D(e) {488 ;(this.value = e), (this.mirror = ')')489 }490 function I(e) {491 this.value = e492 }493 function U(e) {494 ;(this.value = e), (this.type = 'unrestricted')495 }496 function W(e) {497 this.value = e498 }499 function F(e) {500 this.value = e501 }502 function B() {503 ;(this.value = null), (this.type = 'integer'), (this.repr = '')504 }505 function z() {506 ;(this.value = null), (this.repr = '')507 }508 function V() {509 ;(this.value = null),510 (this.type = 'integer'),511 (this.repr = ''),512 (this.unit = '')513 }514 function H(e) {515 for (516 var n = '', r = (e = '' + e).charCodeAt(0), o = 0;517 o < e.length;518 o++519 ) {520 var i = e.charCodeAt(o)521 if (0 == i)522 throw new l('Invalid character: the input contains U+0000.')523 t(i, 1, 31) ||524 127 == i ||525 (0 == o && t(i, 48, 57)) ||526 (1 == o && t(i, 48, 57) && 45 == r)527 ? (n += '\\' + i.toString(16) + ' ')528 : i >= 128 ||529 45 == i ||530 95 == i ||531 t(i, 48, 57) ||532 t(i, 65, 90) ||533 t(i, 97, 122)534 ? (n += e[o])535 : (n += '\\' + e[o])536 }537 return n538 }539 function G(e) {540 e = '' + e541 for (var n = '', r = 0; r < e.length; r++) {542 var o = e.charCodeAt(r)543 if (0 == o)544 throw new l('Invalid character: the input contains U+0000.')545 t(o, 1, 31) || 127 == o546 ? (n += '\\' + o.toString(16) + ' ')547 : (n += 34 == o || 92 == o ? '\\' + e[r] : e[r])548 }549 return n550 }551 ;((l.prototype = new Error()).name = 'InvalidCharacterError'),552 (p.prototype.toJSON = function () {553 return { token: this.tokenType }554 }),555 (p.prototype.toString = function () {556 return this.tokenType557 }),558 (p.prototype.toSource = function () {559 return '' + this560 }),561 (f.prototype = Object.create(p.prototype)),562 (f.prototype.tokenType = 'BADSTRING'),563 (d.prototype = Object.create(p.prototype)),564 (d.prototype.tokenType = 'BADURL'),565 (m.prototype = Object.create(p.prototype)),566 (m.prototype.tokenType = 'WHITESPACE'),567 (m.prototype.toString = function () {568 return 'WS'569 }),570 (m.prototype.toSource = function () {571 return ' '572 }),573 (g.prototype = Object.create(p.prototype)),574 (g.prototype.tokenType = 'CDO'),575 (g.prototype.toSource = function () {576 return '\x3c!--'577 }),578 (y.prototype = Object.create(p.prototype)),579 (y.prototype.tokenType = 'CDC'),580 (y.prototype.toSource = function () {581 return '--\x3e'582 }),583 (v.prototype = Object.create(p.prototype)),584 (v.prototype.tokenType = ':'),585 (w.prototype = Object.create(p.prototype)),586 (w.prototype.tokenType = ';'),587 (b.prototype = Object.create(p.prototype)),588 (b.prototype.tokenType = ','),589 (E.prototype = Object.create(p.prototype)),590 (_.prototype = Object.create(E.prototype)),591 (_.prototype.tokenType = '{'),592 (S.prototype = Object.create(E.prototype)),593 (S.prototype.tokenType = '}'),594 (T.prototype = Object.create(E.prototype)),595 (T.prototype.tokenType = '['),596 (k.prototype = Object.create(E.prototype)),597 (k.prototype.tokenType = ']'),598 (N.prototype = Object.create(E.prototype)),599 (N.prototype.tokenType = '('),600 (x.prototype = Object.create(E.prototype)),601 (x.prototype.tokenType = ')'),602 (C.prototype = Object.create(p.prototype)),603 (C.prototype.tokenType = '~='),604 (A.prototype = Object.create(p.prototype)),605 (A.prototype.tokenType = '|='),606 (O.prototype = Object.create(p.prototype)),607 (O.prototype.tokenType = '^='),608 (M.prototype = Object.create(p.prototype)),609 (M.prototype.tokenType = '$='),610 ($.prototype = Object.create(p.prototype)),611 ($.prototype.tokenType = '*='),612 (R.prototype = Object.create(p.prototype)),613 (R.prototype.tokenType = '||'),614 (j.prototype = Object.create(p.prototype)),615 (j.prototype.tokenType = 'EOF'),616 (j.prototype.toSource = function () {617 return ''618 }),619 (L.prototype = Object.create(p.prototype)),620 (L.prototype.tokenType = 'DELIM'),621 (L.prototype.toString = function () {622 return 'DELIM(' + this.value + ')'623 }),624 (L.prototype.toJSON = function () {625 var e =626 this.constructor.prototype.constructor.prototype.toJSON.call(627 this628 )629 return (e.value = this.value), e630 }),631 (L.prototype.toSource = function () {632 return '\\' == this.value ? '\\\n' : this.value633 }),634 (P.prototype = Object.create(p.prototype)),635 (P.prototype.ASCIIMatch = function (e) {636 return this.value.toLowerCase() == e.toLowerCase()637 }),638 (P.prototype.toJSON = function () {639 var e =640 this.constructor.prototype.constructor.prototype.toJSON.call(641 this642 )643 return (e.value = this.value), e644 }),645 (q.prototype = Object.create(P.prototype)),646 (q.prototype.tokenType = 'IDENT'),647 (q.prototype.toString = function () {648 return 'IDENT(' + this.value + ')'649 }),650 (q.prototype.toSource = function () {651 return H(this.value)652 }),653 (D.prototype = Object.create(P.prototype)),654 (D.prototype.tokenType = 'FUNCTION'),655 (D.prototype.toString = function () {656 return 'FUNCTION(' + this.value + ')'657 }),658 (D.prototype.toSource = function () {659 return H(this.value) + '('660 }),661 (I.prototype = Object.create(P.prototype)),662 (I.prototype.tokenType = 'AT-KEYWORD'),663 (I.prototype.toString = function () {664 return 'AT(' + this.value + ')'665 }),666 (I.prototype.toSource = function () {667 return '@' + H(this.value)668 }),669 (U.prototype = Object.create(P.prototype)),670 (U.prototype.tokenType = 'HASH'),671 (U.prototype.toString = function () {672 return 'HASH(' + this.value + ')'673 }),674 (U.prototype.toJSON = function () {675 var e =676 this.constructor.prototype.constructor.prototype.toJSON.call(677 this678 )679 return (e.value = this.value), (e.type = this.type), e680 }),681 (U.prototype.toSource = function () {682 return 'id' == this.type683 ? '#' + H(this.value)684 : '#' +685 (function (e) {686 for (687 var n = '', r = ((e = '' + e).charCodeAt(0), 0);688 r < e.length;689 r++690 ) {691 var o = e.charCodeAt(r)692 if (0 == o)693 throw new l(694 'Invalid character: the input contains U+0000.'695 )696 o >= 128 ||697 45 == o ||698 95 == o ||699 t(o, 48, 57) ||700 t(o, 65, 90) ||701 t(o, 97, 122)702 ? (n += e[r])703 : (n += '\\' + o.toString(16) + ' ')704 }705 return n706 })(this.value)707 }),708 (W.prototype = Object.create(P.prototype)),709 (W.prototype.tokenType = 'STRING'),710 (W.prototype.toString = function () {711 return '"' + G(this.value) + '"'712 }),713 (F.prototype = Object.create(P.prototype)),714 (F.prototype.tokenType = 'URL'),715 (F.prototype.toString = function () {716 return 'URL(' + this.value + ')'717 }),718 (F.prototype.toSource = function () {719 return 'url("' + G(this.value) + '")'720 }),721 (B.prototype = Object.create(p.prototype)),722 (B.prototype.tokenType = 'NUMBER'),723 (B.prototype.toString = function () {724 return 'integer' == this.type725 ? 'INT(' + this.value + ')'726 : 'NUMBER(' + this.value + ')'727 }),728 (B.prototype.toJSON = function () {729 var e =730 this.constructor.prototype.constructor.prototype.toJSON.call(731 this732 )733 return (734 (e.value = this.value),735 (e.type = this.type),736 (e.repr = this.repr),737 e738 )739 }),740 (B.prototype.toSource = function () {741 return this.repr742 }),743 (z.prototype = Object.create(p.prototype)),744 (z.prototype.tokenType = 'PERCENTAGE'),745 (z.prototype.toString = function () {746 return 'PERCENTAGE(' + this.value + ')'747 }),748 (z.prototype.toJSON = function () {749 var e =750 this.constructor.prototype.constructor.prototype.toJSON.call(751 this752 )753 return (e.value = this.value), (e.repr = this.repr), e754 }),755 (z.prototype.toSource = function () {756 return this.repr + '%'757 }),758 (V.prototype = Object.create(p.prototype)),759 (V.prototype.tokenType = 'DIMENSION'),760 (V.prototype.toString = function () {761 return 'DIM(' + this.value + ',' + this.unit + ')'762 }),763 (V.prototype.toJSON = function () {764 var e =765 this.constructor.prototype.constructor.prototype.toJSON.call(766 this767 )768 return (769 (e.value = this.value),770 (e.type = this.type),771 (e.repr = this.repr),772 (e.unit = this.unit),773 e774 )775 }),776 (V.prototype.toSource = function () {777 var e = this.repr,778 n = H(this.unit)779 return (780 'e' != n[0].toLowerCase() ||781 ('-' != n[1] && !t(n.charCodeAt(1), 48, 57)) ||782 (n = '\\65 ' + n.slice(1, n.length)),783 e + n784 )785 }),786 (e.tokenize = function (e) {787 e = (function (e) {788 for (var n = [], r = 0; r < e.length; r++) {789 var o = e.charCodeAt(r)790 if (791 (13 == o && 10 == e.charCodeAt(r + 1) && ((o = 10), r++),792 (13 != o && 12 != o) || (o = 10),793 0 == o && (o = 65533),794 t(o, 55296, 56319) && t(e.charCodeAt(r + 1), 56320, 57343))795 ) {796 var i = o - 55296,797 s = e.charCodeAt(r + 1) - 56320798 ;(o = Math.pow(2, 16) + i * Math.pow(2, 10) + s), r++799 }800 n.push(o)801 }802 return n803 })(e)804 for (805 var o,806 l = -1,807 p = [],808 E = 0,809 P = 0,810 H = 0,811 G = { line: E, column: P },812 J = function (t) {813 return t >= e.length ? -1 : e[t]814 },815 Q = function (e) {816 if ((void 0 === e && (e = 1), e > 3))817 throw 'Spec Error: no more than three codepoints of lookahead.'818 return J(l + e)819 },820 X = function (e) {821 return (822 void 0 === e && (e = 1),823 a((o = J((l += e))))824 ? ((E += 1), (H = P), (P = 0))825 : (P += e),826 !0827 )828 },829 K = function () {830 return (831 (l -= 1),832 a(o) ? ((E -= 1), (P = H)) : (P -= 1),833 (G.line = E),834 (G.column = P),835 !0836 )837 },838 Z = function (e) {839 return void 0 === e && (e = o), -1 == e840 },841 Y = function () {842 return (843 console.log(844 'Parse error at index ' +845 l +846 ', processing codepoint 0x' +847 o.toString(16) +848 '.'849 ),850 !0851 )852 },853 ee = function () {854 if ((te(), X(), u(o))) {855 for (; u(Q()); ) X()856 return new m()857 }858 if (34 == o) return oe()859 if (35 == o) {860 if (s(Q()) || ce(Q(1), Q(2))) {861 var e = new U()862 return (863 ue(Q(1), Q(2), Q(3)) && (e.type = 'id'),864 (e.value = pe()),865 e866 )867 }868 return new L(o)869 }870 return 36 == o871 ? 61 == Q()872 ? (X(), new M())873 : new L(o)874 : 39 == o875 ? oe()876 : 40 == o877 ? new N()878 : 41 == o879 ? new x()880 : 42 == o881 ? 61 == Q()882 ? (X(), new $())883 : new L(o)884 : 43 == o885 ? he()886 ? (K(), ne())887 : new L(o)888 : 44 == o889 ? new b()890 : 45 == o891 ? he()892 ? (K(), ne())893 : 45 == Q(1) && 62 == Q(2)894 ? (X(2), new y())895 : le()896 ? (K(), re())897 : new L(o)898 : 46 == o899 ? he()900 ? (K(), ne())901 : new L(o)902 : 58 == o903 ? new v()904 : 59 == o905 ? new w()906 : 60 == o907 ? 33 == Q(1) && 45 == Q(2) && 45 == Q(3)908 ? (X(3), new g())909 : new L(o)910 : 64 == o911 ? ue(Q(1), Q(2), Q(3))912 ? new I(pe())913 : new L(o)914 : 91 == o915 ? new T()916 : 92 == o917 ? ae()918 ? (K(), re())919 : (Y(), new L(o))920 : 93 == o921 ? new k()922 : 94 == o923 ? 61 == Q()924 ? (X(), new O())925 : new L(o)926 : 123 == o927 ? new _()928 : 124 == o929 ? 61 == Q()930 ? (X(), new A())931 : 124 == Q()932 ? (X(), new R())933 : new L(o)934 : 125 == o935 ? new S()936 : 126 == o937 ? 61 == Q()938 ? (X(), new C())939 : new L(o)940 : n(o)941 ? (K(), ne())942 : i(o)943 ? (K(), re())944 : Z()945 ? new j()946 : new L(o)947 },948 te = function () {949 for (; 47 == Q(1) && 42 == Q(2); )950 for (X(2); ; ) {951 if ((X(), 42 == o && 47 == Q())) {952 X()953 break954 }955 if (Z()) return void Y()956 }957 },958 ne = function () {959 var e,960 t = fe()961 return ue(Q(1), Q(2), Q(3))962 ? (((e = new V()).value = t.value),963 (e.repr = t.repr),964 (e.type = t.type),965 (e.unit = pe()),966 e)967 : 37 == Q()968 ? (X(),969 ((e = new z()).value = t.value),970 (e.repr = t.repr),971 e)972 : (((e = new B()).value = t.value),973 (e.repr = t.repr),974 (e.type = t.type),975 e)976 },977 re = function () {978 var e = pe()979 if ('url' == e.toLowerCase() && 40 == Q()) {980 for (X(); u(Q(1)) && u(Q(2)); ) X()981 return 34 == Q() || 39 == Q()982 ? new D(e)983 : !u(Q()) || (34 != Q(2) && 39 != Q(2))984 ? ie()985 : new D(e)986 }987 return 40 == Q() ? (X(), new D(e)) : new q(e)988 },989 oe = function (e) {990 void 0 === e && (e = o)991 for (var t = ''; X(); ) {992 if (o == e || Z()) return new W(t)993 if (a(o)) return Y(), K(), new f()994 92 == o995 ? Z(Q()) || (a(Q()) ? X() : (t += h(se())))996 : (t += h(o))997 }998 },999 ie = function () {1000 for (var e = new F(''); u(Q()); ) X()1001 if (Z(Q())) return e1002 for (; X(); ) {1003 if (41 == o || Z()) return e1004 if (u(o)) {1005 for (; u(Q()); ) X()1006 return 41 == Q() || Z(Q()) ? (X(), e) : (me(), new d())1007 }1008 if (34 == o || 39 == o || 40 == o || c(o))1009 return Y(), me(), new d()1010 if (92 == o) {1011 if (!ae()) return Y(), me(), new d()1012 e.value += h(se())1013 } else e.value += h(o)1014 }1015 },1016 se = function () {1017 if ((X(), r(o))) {1018 for (var e = [o], t = 0; t < 5 && r(Q()); t++)1019 X(), e.push(o)1020 u(Q()) && X()1021 var n = parseInt(1022 e1023 .map(function (e) {1024 return String.fromCharCode(e)1025 })1026 .join(''),1027 161028 )1029 return n > 1114111 && (n = 65533), n1030 }1031 return Z() ? 65533 : o1032 },1033 ce = function (e, t) {1034 return 92 == e && !a(t)1035 },1036 ae = function () {1037 return ce(o, Q())1038 },1039 ue = function (e, t, n) {1040 return 45 == e1041 ? i(t) || 45 == t || ce(t, n)1042 : !!i(e) || (92 == e && ce(e, t))1043 },1044 le = function () {1045 return ue(o, Q(1), Q(2))1046 },1047 he = function () {1048 return (1049 (e = o),1050 (t = Q(1)),1051 (r = Q(2)),1052 43 == e || 45 == e1053 ? !!n(t) || !(46 != t || !n(r))1054 : 46 == e1055 ? !!n(t)1056 : !!n(e)1057 )1058 var e, t, r1059 },1060 pe = function () {1061 for (var e = ''; X(); )1062 if (s(o)) e += h(o)1063 else {1064 if (!ae()) return K(), e1065 e += h(se())1066 }1067 },1068 fe = function () {1069 var e = [],1070 t = 'integer'1071 for (1072 (43 != Q() && 45 != Q()) || (X(), (e += h(o)));1073 n(Q());1074 )1075 X(), (e += h(o))1076 if (46 == Q(1) && n(Q(2)))1077 for (1078 X(), e += h(o), X(), e += h(o), t = 'number';1079 n(Q());1080 )1081 X(), (e += h(o))1082 var r = Q(1),1083 i = Q(2),1084 s = Q(3)1085 if ((69 != r && 101 != r) || !n(i)) {1086 if ((69 == r || 101 == r) && (43 == i || 45 == i) && n(s))1087 for (1088 X(),1089 e += h(o),1090 X(),1091 e += h(o),1092 X(),1093 e += h(o),1094 t = 'number';1095 n(Q());1096 )1097 X(), (e += h(o))1098 } else1099 for (1100 X(), e += h(o), X(), e += h(o), t = 'number';1101 n(Q());1102 )1103 X(), (e += h(o))1104 return { type: t, value: de(e), repr: e }1105 },1106 de = function (e) {1107 return +e1108 },1109 me = function () {1110 for (; X(); ) {1111 if (41 == o || Z()) return1112 ae() && se()1113 }1114 },1115 ge = 0;1116 !Z(Q());1117 )1118 if ((p.push(ee()), ++ge > 2 * e.length))1119 return "I'm infinite-looping!"1120 return p1121 }),1122 (e.IdentToken = q),1123 (e.FunctionToken = D),1124 (e.AtKeywordToken = I),1125 (e.HashToken = U),1126 (e.StringToken = W),1127 (e.BadStringToken = f),1128 (e.URLToken = F),1129 (e.BadURLToken = d),1130 (e.DelimToken = L),1131 (e.NumberToken = B),1132 (e.PercentageToken = z),1133 (e.DimensionToken = V),1134 (e.IncludeMatchToken = C),1135 (e.DashMatchToken = A),1136 (e.PrefixMatchToken = O),1137 (e.SuffixMatchToken = M),1138 (e.SubstringMatchToken = $),1139 (e.ColumnToken = R),1140 (e.WhitespaceToken = m),1141 (e.CDOToken = g),1142 (e.CDCToken = y),1143 (e.ColonToken = v),1144 (e.SemicolonToken = w),1145 (e.CommaToken = b),1146 (e.OpenParenToken = N),1147 (e.CloseParenToken = x),1148 (e.OpenSquareToken = T),1149 (e.CloseSquareToken = k),1150 (e.OpenCurlyToken = _),1151 (e.CloseCurlyToken = S),1152 (e.EOFToken = j),1153 (e.CSSParserToken = p),1154 (e.GroupingToken = E)1155 }),1156 void 0 === (r = n.apply(t, [t])) || (e.exports = r)1157 },1158 461: (e, t, n) => {1159 Object.defineProperty(t, '__esModule', { value: !0 }),1160 (t.parseSelector = function (e) {1161 const t = (function (e) {1162 let t,1163 n = 0,1164 r = 01165 const o = { parts: [] },1166 i = () => {1167 const t = e.substring(r, n).trim(),1168 i = t.indexOf('=')1169 let s, c1170 ;-1 !== i &&1171 t1172 .substring(0, i)1173 .trim()1174 .match(/^[a-zA-Z_0-9-+:*]+$/)1175 ? ((s = t.substring(0, i).trim()),1176 (c = t.substring(i + 1)))1177 : (t.length > 1 &&1178 '"' === t[0] &&1179 '"' === t[t.length - 1]) ||1180 (t.length > 1 &&1181 "'" === t[0] &&1182 "'" === t[t.length - 1])1183 ? ((s = 'text'), (c = t))1184 : /^\(*\/\//.test(t) || t.startsWith('..')1185 ? ((s = 'xpath'), (c = t))1186 : ((s = 'css'), (c = t))1187 let a = !11188 if (1189 ('*' === s[0] && ((a = !0), (s = s.substring(1))),1190 o.parts.push({ name: s, body: c }),1191 a)1192 ) {1193 if (void 0 !== o.capture)1194 throw new Error(1195 'Only one of the selectors can capture using * modifier'1196 )1197 o.capture = o.parts.length - 11198 }1199 }1200 if (!e.includes('>>')) return (n = e.length), i(), o1201 for (; n < e.length; ) {1202 const o = e[n]1203 '\\' === o && n + 1 < e.length1204 ? (n += 2)1205 : o === t1206 ? ((t = void 0), n++)1207 : t || ('"' !== o && "'" !== o && '`' !== o)1208 ? t || '>' !== o || '>' !== e[n + 1]1209 ? n++1210 : (i(), (n += 2), (r = n))1211 : ((t = o), n++)1212 }1213 return i(), o1214 })(e),1215 n = t.parts.map((e) =>1216 'css' === e.name || 'css:light' === e.name1217 ? ('css:light' === e.name &&1218 (e.body = ':light(' + e.body + ')'),1219 { name: 'css', body: (0, r.parseCSS)(e.body, o).selector })1220 : e1221 )1222 return { selector: e, capture: t.capture, parts: n }1223 }),1224 (t.customCSSNames = void 0)1225 var r = n(317)1226 const o = new Set([1227 'not',1228 'is',1229 'where',1230 'has',1231 'scope',1232 'light',1233 'visible',1234 'text',1235 'text-matches',1236 'text-is',1237 'has-text',1238 'above',1239 'below',1240 'right-of',1241 'left-of',1242 'near',1243 'nth-match'1244 ])1245 t.customCSSNames = o1246 },1247 836: (e, t, n) => {1248 Object.defineProperty(t, '__esModule', { value: !0 }),1249 (t.ReactEngine = void 0)1250 var r = n(204)1251 function o(e) {1252 if ('function' == typeof e.type)1253 return e.type.displayName || e.type.name || 'Anonymous'1254 if ('string' == typeof e.type) return e.type1255 if (e._currentElement) {1256 const t = e._currentElement.type1257 if ('string' == typeof t) return t1258 if ('function' == typeof t)1259 return t.displayName || t.name || 'Anonymous'1260 }1261 return ''1262 }1263 function i(e) {1264 if (e.child) {1265 const t = []1266 for (let n = e.child; n; n = n.sibling) t.push(n)1267 return t1268 }1269 if (!e._currentElement) return []1270 const t = (e) => {1271 var t1272 const n =1273 null === (t = e._currentElement) || void 0 === t ? void 0 : t.type1274 return 'function' == typeof n || 'string' == typeof n1275 }1276 if (e._renderedComponent) {1277 const n = e._renderedComponent1278 return t(n) ? [n] : []1279 }1280 return e._renderedChildren1281 ? [...Object.values(e._renderedChildren)].filter(t)1282 : []1283 }1284 function s(e) {1285 var t1286 const n =1287 e.memoizedProps ||1288 (null === (t = e._currentElement) || void 0 === t1289 ? void 01290 : t.props)1291 if (!n || 'string' == typeof n) return n1292 const r = { ...n }1293 return delete r.children, r1294 }1295 function c(e) {1296 var t1297 const n = {1298 name: o(e),1299 children: i(e).map(c),1300 rootElements: [],1301 props: s(e)1302 },1303 r =1304 e.stateNode ||1305 e._hostNode ||1306 (null === (t = e._renderedComponent) || void 0 === t1307 ? void 01308 : t._hostNode)1309 if (r instanceof Element) n.rootElements.push(r)1310 else1311 for (const e of n.children) n.rootElements.push(...e.rootElements)1312 return n1313 }1314 function a(e, t, n = []) {1315 t(e) && n.push(e)1316 for (const r of e.children) a(r, t, n)1317 return n1318 }1319 const u = {1320 queryAll(e, t) {1321 const { name: n, attributes: o } = (0, r.parseComponentSelector)(t),1322 i = (function () {1323 const e = [],1324 t = document.createTreeWalker(1325 document,1326 NodeFilter.SHOW_ELEMENT1327 )1328 for (; t.nextNode(); ) {1329 const n = t.currentNode1330 n.hasOwnProperty('_reactRootContainer') &&1331 e.push(n._reactRootContainer._internalRoot.current)1332 }1333 for (const t of document.querySelectorAll('[data-reactroot]'))1334 for (const n of Object.keys(t))1335 (n.startsWith('__reactInternalInstance') ||1336 n.startsWith('__reactFiber')) &&1337 e.push(t[n])1338 return e1339 })()1340 .map((e) => c(e))1341 .map((t) =>1342 a(t, (t) => {1343 if (n && t.name !== n) return !11344 if (t.rootElements.some((t) => !e.contains(t))) return !11345 for (const e of o)1346 if (!(0, r.checkComponentAttribute)(t.props, e)) return !11347 return !01348 })1349 )1350 .flat(),1351 s = new Set()1352 for (const e of i) for (const t of e.rootElements) s.add(t)1353 return [...s]1354 }1355 }1356 t.ReactEngine = u1357 },1358 848: (e, t, n) => {1359 Object.defineProperty(t, '__esModule', { value: !0 }),1360 (t.createLaxTextMatcher = d),1361 (t.createStrictTextMatcher = m),1362 (t.createRegexTextMatcher = g),1363 (t.elementText = v),1364 (t.elementMatchesText = w),1365 (t.parentElementOrShadowHost = x),1366 (t.isVisible = O),1367 (t.SelectorEvaluatorImpl = void 0)1368 var r = n(461)1369 t.SelectorEvaluatorImpl = class {1370 constructor(e) {1371 ;(this._engines = new Map()),1372 (this._cacheQueryCSS = new Map()),1373 (this._cacheMatches = new Map()),1374 (this._cacheQuery = new Map()),1375 (this._cacheMatchesSimple = new Map()),1376 (this._cacheMatchesParents = new Map()),1377 (this._cacheCallMatches = new Map()),1378 (this._cacheCallQuery = new Map()),1379 (this._cacheQuerySimple = new Map()),1380 (this._cacheText = new Map()),1381 (this._scoreMap = void 0),1382 (this._retainCacheCounter = 0)1383 for (const [t, n] of e) this._engines.set(t, n)1384 this._engines.set('not', c),1385 this._engines.set('is', o),1386 this._engines.set('where', o),1387 this._engines.set('has', i),1388 this._engines.set('scope', s),1389 this._engines.set('light', a),1390 this._engines.set('visible', u),1391 this._engines.set('text', l),1392 this._engines.set('text-is', h),1393 this._engines.set('text-matches', p),1394 this._engines.set('has-text', f),1395 this._engines.set('right-of', k('right-of', b)),1396 this._engines.set('left-of', k('left-of', E)),1397 this._engines.set('above', k('above', _)),1398 this._engines.set('below', k('below', S)),1399 this._engines.set('near', k('near', T)),1400 this._engines.set('nth-match', N)1401 const t = [...this._engines.keys()]1402 t.sort()1403 const n = [...r.customCSSNames]1404 if ((n.sort(), t.join('|') !== n.join('|')))1405 throw new Error(1406 `Please keep customCSSNames in sync with evaluator engines: ${t.join(1407 '|'1408 )} vs ${n.join('|')}`1409 )1410 }1411 begin() {1412 ++this._retainCacheCounter1413 }1414 end() {1415 --this._retainCacheCounter,1416 this._retainCacheCounter ||1417 (this._cacheQueryCSS.clear(),1418 this._cacheMatches.clear(),1419 this._cacheQuery.clear(),1420 this._cacheMatchesSimple.clear(),1421 this._cacheMatchesParents.clear(),1422 this._cacheCallMatches.clear(),1423 this._cacheCallQuery.clear(),1424 this._cacheQuerySimple.clear(),1425 this._cacheText.clear())1426 }1427 _cached(e, t, n, r) {1428 e.has(t) || e.set(t, [])1429 const o = e.get(t),1430 i = o.find((e) => n.every((t, n) => e.rest[n] === t))1431 if (i) return i.result1432 const s = r()1433 return o.push({ rest: n, result: s }), s1434 }1435 _checkSelector(e) {1436 if (1437 'object' != typeof e ||1438 !e ||1439 !(Array.isArray(e) || ('simples' in e && e.simples.length))1440 )1441 throw new Error(`Malformed selector "${e}"`)1442 return e1443 }1444 matches(e, t, n) {1445 const r = this._checkSelector(t)1446 this.begin()1447 try {1448 return this._cached(1449 this._cacheMatches,1450 e,1451 [r, n.scope, n.pierceShadow],1452 () =>1453 Array.isArray(r)1454 ? this._matchesEngine(o, e, r, n)1455 : !!this._matchesSimple(1456 e,1457 r.simples[r.simples.length - 1].selector,1458 n1459 ) && this._matchesParents(e, r, r.simples.length - 2, n)1460 )1461 } finally {1462 this.end()1463 }1464 }1465 query(e, t) {1466 const n = this._checkSelector(t)1467 this.begin()1468 try {1469 return this._cached(1470 this._cacheQuery,1471 n,1472 [e.scope, e.pierceShadow],1473 () => {1474 if (Array.isArray(n)) return this._queryEngine(o, e, n)1475 const t = this._scoreMap1476 this._scoreMap = new Map()1477 let r = this._querySimple(1478 e,1479 n.simples[n.simples.length - 1].selector1480 )1481 return (1482 (r = r.filter((t) =>1483 this._matchesParents(t, n, n.simples.length - 2, e)1484 )),1485 this._scoreMap.size &&1486 r.sort((e, t) => {1487 const n = this._scoreMap.get(e),1488 r = this._scoreMap.get(t)1489 return n === r1490 ? 01491 : void 0 === n1492 ? 11493 : void 0 === r1494 ? -11495 : n - r1496 }),1497 (this._scoreMap = t),1498 r1499 )1500 }1501 )1502 } finally {1503 this.end()1504 }1505 }1506 _markScore(e, t) {1507 this._scoreMap && this._scoreMap.set(e, t)1508 }1509 _matchesSimple(e, t, n) {1510 return this._cached(1511 this._cacheMatchesSimple,1512 e,1513 [t, n.scope, n.pierceShadow],1514 () => {1515 if (1516 !t.functions.some(1517 (e) => 'scope' === e.name || 'is' === e.name1518 ) &&1519 e === n.scope1520 )1521 return !11522 if (t.css && !this._matchesCSS(e, t.css)) return !11523 for (const r of t.functions)1524 if (1525 !this._matchesEngine(this._getEngine(r.name), e, r.args, n)1526 )1527 return !11528 return !01529 }1530 )1531 }1532 _querySimple(e, t) {1533 return t.functions.length1534 ? this._cached(1535 this._cacheQuerySimple,1536 t,1537 [e.scope, e.pierceShadow],1538 () => {1539 let n = t.css1540 const r = t.functions1541 let o1542 '*' === n && r.length && (n = void 0)1543 let i = -11544 void 0 !== n1545 ? (o = this._queryCSS(e, n))1546 : ((i = r.findIndex(1547 (e) => void 0 !== this._getEngine(e.name).query1548 )),1549 -1 === i && (i = 0),1550 (o = this._queryEngine(1551 this._getEngine(r[i].name),1552 e,1553 r[i].args1554 )))1555 for (let t = 0; t < r.length; t++) {1556 if (t === i) continue1557 const n = this._getEngine(r[t].name)1558 void 0 !== n.matches &&1559 (o = o.filter((o) =>1560 this._matchesEngine(n, o, r[t].args, e)1561 ))1562 }1563 for (let t = 0; t < r.length; t++) {1564 if (t === i) continue1565 const n = this._getEngine(r[t].name)1566 void 0 === n.matches &&1567 (o = o.filter((o) =>1568 this._matchesEngine(n, o, r[t].args, e)1569 ))1570 }1571 return o1572 }1573 )1574 : this._queryCSS(e, t.css || '*')1575 }1576 _matchesParents(e, t, n, r) {1577 return (1578 n < 0 ||1579 this._cached(1580 this._cacheMatchesParents,1581 e,1582 [t, n, r.scope, r.pierceShadow],1583 () => {1584 const { selector: o, combinator: i } = t.simples[n]1585 if ('>' === i) {1586 const i = C(e, r)1587 return (1588 !(!i || !this._matchesSimple(i, o, r)) &&1589 this._matchesParents(i, t, n - 1, r)1590 )1591 }1592 if ('+' === i) {1593 const i = A(e, r)1594 return (1595 !(!i || !this._matchesSimple(i, o, r)) &&1596 this._matchesParents(i, t, n - 1, r)1597 )1598 }1599 if ('' === i) {1600 let i = C(e, r)1601 for (; i; ) {1602 if (this._matchesSimple(i, o, r)) {1603 if (this._matchesParents(i, t, n - 1, r)) return !01604 if ('' === t.simples[n - 1].combinator) break1605 }1606 i = C(i, r)1607 }1608 return !11609 }1610 if ('~' === i) {1611 let i = A(e, r)1612 for (; i; ) {1613 if (this._matchesSimple(i, o, r)) {1614 if (this._matchesParents(i, t, n - 1, r)) return !01615 if ('~' === t.simples[n - 1].combinator) break1616 }1617 i = A(i, r)1618 }1619 return !11620 }1621 if ('>=' === i) {1622 let i = e1623 for (; i; ) {1624 if (this._matchesSimple(i, o, r)) {1625 if (this._matchesParents(i, t, n - 1, r)) return !01626 if ('' === t.simples[n - 1].combinator) break1627 }1628 i = C(i, r)1629 }1630 return !11631 }1632 throw new Error(`Unsupported combinator "${i}"`)1633 }1634 )1635 )1636 }1637 _matchesEngine(e, t, n, r) {1638 if (e.matches) return this._callMatches(e, t, n, r)1639 if (e.query) return this._callQuery(e, n, r).includes(t)1640 throw new Error(1641 'Selector engine should implement "matches" or "query"'1642 )1643 }1644 _queryEngine(e, t, n) {1645 if (e.query) return this._callQuery(e, n, t)1646 if (e.matches)1647 return this._queryCSS(t, '*').filter((r) =>1648 this._callMatches(e, r, n, t)1649 )1650 throw new Error(1651 'Selector engine should implement "matches" or "query"'1652 )1653 }1654 _callMatches(e, t, n, r) {1655 return this._cached(1656 this._cacheCallMatches,1657 t,1658 [e, r.scope, r.pierceShadow, ...n],1659 () => e.matches(t, n, r, this)1660 )1661 }1662 _callQuery(e, t, n) {1663 return this._cached(1664 this._cacheCallQuery,1665 e,1666 [n.scope, n.pierceShadow, ...t],1667 () => e.query(n, t, this)1668 )1669 }1670 _matchesCSS(e, t) {1671 return e.matches(t)1672 }1673 _queryCSS(e, t) {1674 return this._cached(1675 this._cacheQueryCSS,1676 t,1677 [e.scope, e.pierceShadow],1678 () => {1679 let n = []1680 return (1681 (function r(o) {1682 if (1683 ((n = n.concat([...o.querySelectorAll(t)])),1684 e.pierceShadow)1685 ) {1686 o.shadowRoot && r(o.shadowRoot)1687 for (const e of o.querySelectorAll('*'))1688 e.shadowRoot && r(e.shadowRoot)1689 }1690 })(e.scope),1691 n1692 )1693 }1694 )1695 }1696 _getEngine(e) {1697 const t = this._engines.get(e)1698 if (!t) throw new Error(`Unknown selector engine "${e}"`)1699 return t1700 }1701 }1702 const o = {1703 matches(e, t, n, r) {1704 if (0 === t.length)1705 throw new Error('"is" engine expects non-empty selector list')1706 return t.some((t) => r.matches(e, t, n))1707 },1708 query(e, t, n) {1709 if (0 === t.length)1710 throw new Error('"is" engine expects non-empty selector list')1711 let r = []1712 for (const o of t) r = r.concat(n.query(e, o))1713 return 1 === t.length1714 ? r1715 : (function (e) {1716 const t = new Map(),1717 n = [],1718 r = []1719 function o(e) {1720 let r = t.get(e)1721 if (r) return r1722 const i = x(e)1723 return (1724 i ? o(i).children.push(e) : n.push(e),1725 (r = { children: [], taken: !1 }),1726 t.set(e, r),1727 r1728 )1729 }1730 return (1731 e.forEach((e) => (o(e).taken = !0)),1732 n.forEach(function e(n) {1733 const o = t.get(n)1734 if ((o.taken && r.push(n), o.children.length > 1)) {1735 const e = new Set(o.children)1736 o.children = []1737 let t = n.firstElementChild1738 for (; t && o.children.length < e.size; )1739 e.has(t) && o.children.push(t),1740 (t = t.nextElementSibling)1741 for (1742 t = n.shadowRoot1743 ? n.shadowRoot.firstElementChild1744 : null;1745 t && o.children.length < e.size;1746 )1747 e.has(t) && o.children.push(t),1748 (t = t.nextElementSibling)1749 }1750 o.children.forEach(e)1751 }),1752 r1753 )1754 })(r)1755 }1756 },1757 i = {1758 matches(e, t, n, r) {1759 if (0 === t.length)1760 throw new Error('"has" engine expects non-empty selector list')1761 return r.query({ ...n, scope: e }, t).length > 01762 }1763 },1764 s = {1765 matches(e, t, n, r) {1766 if (0 !== t.length)1767 throw new Error('"scope" engine expects no arguments')1768 return 9 === n.scope.nodeType1769 ? e === n.scope.documentElement1770 : e === n.scope1771 },1772 query(e, t, n) {1773 if (0 !== t.length)1774 throw new Error('"scope" engine expects no arguments')1775 if (9 === e.scope.nodeType) {1776 const t = e.scope.documentElement1777 return t ? [t] : []1778 }1779 return 1 === e.scope.nodeType ? [e.scope] : []1780 }1781 },1782 c = {1783 matches(e, t, n, r) {1784 if (0 === t.length)1785 throw new Error('"not" engine expects non-empty selector list')1786 return !r.matches(e, t, n)1787 }1788 },1789 a = {1790 query: (e, t, n) => n.query({ ...e, pierceShadow: !1 }, t),1791 matches: (e, t, n, r) => r.matches(e, t, { ...n, pierceShadow: !1 })1792 },1793 u = {1794 matches(e, t, n, r) {1795 if (t.length)1796 throw new Error('"visible" engine expects no arguments')1797 return O(e)1798 }1799 },1800 l = {1801 matches(e, t, n, r) {1802 if (1 !== t.length || 'string' != typeof t[0])1803 throw new Error('"text" engine expects a single string')1804 return 'self' === w(r, e, d(t[0]))1805 }1806 },1807 h = {1808 matches(e, t, n, r) {1809 if (1 !== t.length || 'string' != typeof t[0])1810 throw new Error('"text-is" engine expects a single string')1811 return 'none' !== w(r, e, m(t[0]))1812 }1813 },1814 p = {1815 matches(e, t, n, r) {1816 if (1817 0 === t.length ||1818 'string' != typeof t[0] ||1819 t.length > 2 ||1820 (2 === t.length && 'string' != typeof t[1])1821 )1822 throw new Error(1823 '"text-matches" engine expects a regexp body and optional regexp flags'1824 )1825 return 'self' === w(r, e, g(t[0], 2 === t.length ? t[1] : void 0))1826 }1827 },1828 f = {1829 matches(e, t, n, r) {1830 if (1 !== t.length || 'string' != typeof t[0])1831 throw new Error('"has-text" engine expects a single string')1832 return !y(e) && d(t[0])(v(r, e))1833 }1834 }1835 function d(e) {1836 return (1837 (e = e.trim().replace(/\s+/g, ' ').toLowerCase()),1838 (t) => t.full.trim().replace(/\s+/g, ' ').toLowerCase().includes(e)1839 )1840 }1841 function m(e) {1842 return (1843 (e = e.trim().replace(/\s+/g, ' ')),1844 (t) =>1845 (!e && !t.immediate.length) ||1846 t.immediate.some((t) => t.trim().replace(/\s+/g, ' ') === e)1847 )1848 }1849 function g(e, t) {1850 const n = new RegExp(e, t)1851 return (e) => n.test(e.full)1852 }1853 function y(e) {1854 return (1855 'SCRIPT' === e.nodeName ||1856 'STYLE' === e.nodeName ||1857 (document.head && document.head.contains(e))1858 )1859 }1860 function v(e, t) {1861 let n = e._cacheText.get(t)1862 if (void 0 === n) {1863 if (((n = { full: '', immediate: [] }), !y(t))) {1864 let r = ''1865 if (1866 t instanceof HTMLInputElement &&1867 ('submit' === t.type || 'button' === t.type)1868 )1869 n = { full: t.value, immediate: [t.value] }1870 else {1871 for (let o = t.firstChild; o; o = o.nextSibling)1872 o.nodeType === Node.TEXT_NODE1873 ? ((n.full += o.nodeValue || ''), (r += o.nodeValue || ''))1874 : (r && n.immediate.push(r),1875 (r = ''),1876 o.nodeType === Node.ELEMENT_NODE &&1877 (n.full += v(e, o).full))1878 r && n.immediate.push(r),1879 t.shadowRoot && (n.full += v(e, t.shadowRoot).full)1880 }1881 }1882 e._cacheText.set(t, n)1883 }1884 return n1885 }1886 function w(e, t, n) {1887 if (y(t)) return 'none'1888 if (!n(v(e, t))) return 'none'1889 for (let r = t.firstChild; r; r = r.nextSibling)1890 if (r.nodeType === Node.ELEMENT_NODE && n(v(e, r)))1891 return 'selfAndChildren'1892 return t.shadowRoot && n(v(e, t.shadowRoot))1893 ? 'selfAndChildren'1894 : 'self'1895 }1896 function b(e, t, n) {1897 const r = e.left - t.right1898 if (!(r < 0 || (void 0 !== n && r > n)))1899 return (1900 r + Math.max(t.bottom - e.bottom, 0) + Math.max(e.top - t.top, 0)1901 )1902 }1903 function E(e, t, n) {1904 const r = t.left - e.right1905 if (!(r < 0 || (void 0 !== n && r > n)))1906 return (1907 r + Math.max(t.bottom - e.bottom, 0) + Math.max(e.top - t.top, 0)1908 )1909 }1910 function _(e, t, n) {1911 const r = t.top - e.bottom1912 if (!(r < 0 || (void 0 !== n && r > n)))1913 return (1914 r + Math.max(e.left - t.left, 0) + Math.max(t.right - e.right, 0)1915 )1916 }1917 function S(e, t, n) {1918 const r = e.top - t.bottom1919 if (!(r < 0 || (void 0 !== n && r > n)))1920 return (1921 r + Math.max(e.left - t.left, 0) + Math.max(t.right - e.right, 0)1922 )1923 }1924 function T(e, t, n) {1925 const r = void 0 === n ? 50 : n1926 let o = 01927 return (1928 e.left - t.right >= 0 && (o += e.left - t.right),1929 t.left - e.right >= 0 && (o += t.left - e.right),1930 t.top - e.bottom >= 0 && (o += t.top - e.bottom),1931 e.top - t.bottom >= 0 && (o += e.top - t.bottom),1932 o > r ? void 0 : o1933 )1934 }1935 function k(e, t) {1936 return {1937 matches(n, r, o, i) {1938 const s =1939 r.length && 'number' == typeof r[r.length - 1]1940 ? r[r.length - 1]1941 : void 0,1942 c = void 0 === s ? r : r.slice(0, r.length - 1)1943 if (r.length < 1 + (void 0 === s ? 0 : 1))1944 throw new Error(1945 `"${e}" engine expects a selector list and optional maximum distance in pixels`1946 )1947 const a = n.getBoundingClientRect()1948 let u1949 for (const e of i.query(o, c)) {1950 if (e === n) continue1951 const r = t(a, e.getBoundingClientRect(), s)1952 void 0 !== r && (void 0 === u || r < u) && (u = r)1953 }1954 return void 0 !== u && (i._markScore(n, u), !0)1955 }1956 }1957 }1958 const N = {1959 query(e, t, n) {1960 let r = t[t.length - 1]1961 if (t.length < 2)1962 throw new Error(1963 '"nth-match" engine expects non-empty selector list and an index argument'1964 )1965 if ('number' != typeof r || r < 1)1966 throw new Error(1967 '"nth-match" engine expects a one-based index as the last argument'1968 )1969 const i = o.query(e, t.slice(0, t.length - 1), n)1970 return r--, r < i.length ? [i[r]] : []1971 }1972 }1973 function x(e) {1974 return e.parentElement1975 ? e.parentElement1976 : e.parentNode &&1977 e.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE &&1978 e.parentNode.host1979 ? e.parentNode.host1980 : void 01981 }1982 function C(e, t) {1983 if (e !== t.scope)1984 return t.pierceShadow ? x(e) : e.parentElement || void 01985 }1986 function A(e, t) {1987 if (e !== t.scope) return e.previousElementSibling || void 01988 }1989 function O(e) {1990 if (!e.ownerDocument || !e.ownerDocument.defaultView) return !01991 const t = e.ownerDocument.defaultView.getComputedStyle(e)1992 if (!t || 'hidden' === t.visibility) return !11993 const n = e.getBoundingClientRect()1994 return n.width > 0 && n.height > 01995 }1996 },1997 854: (e, t, n) => {1998 Object.defineProperty(t, '__esModule', { value: !0 }),1999 (t.querySelector = function (e, t, n) {2000 try {2001 const r = e.parseSelector(t)2002 return { selector: t, elements: e.querySelectorAll(r, n) }2003 } catch (e) {2004 return { selector: t, elements: [] }2005 }2006 }),2007 (t.generateSelector = function (e, t) {2008 e._evaluator.begin()2009 try {2010 const n = (function (e, t) {2011 if (t.ownerDocument.documentElement === t)2012 return [{ engine: 'css', selector: 'html', score: 1 }]2013 const n = (u, h) => {2014 const d = h ? o : i2015 let m = d.get(u)2016 return (2017 void 0 === m &&2018 ((m = ((o, i) => {2019 const u = o === t2020 let h = i2021 ? (function (e, t, n) {2022 if ('SELECT' === t.nodeName) return []2023 const o = (0, r.elementText)(e._evaluator, t)2024 .full.trim()2025 .replace(/\s+/g, ' ')2026 .substring(0, 80)2027 if (!o) return []2028 const i = []2029 let s = o2030 if (2031 ((o.includes('"') ||2032 o.includes('>>') ||2033 '/' === o[0]) &&2034 (s = `/.*${(function (e) {2035 return e.replace(2036 /[.*+?^>${}()|[\]\\]/g,2037 '\\$&'2038 )2039 })(o)}.*/`),2040 i.push({2041 engine: 'text',2042 selector: s,2043 score: 102044 }),2045 n && s === o)2046 ) {2047 let e = t.nodeName.toLocaleLowerCase()2048 t.hasAttribute('role') &&2049 (e += `[role=${l(2050 t.getAttribute('role')2051 )}]`),2052 i.push({2053 engine: 'css',2054 selector: `${e}:has-text("${o}")`,2055 score: 302056 })2057 }2058 return i2059 })(e, o, o === t).map((e) => [e])2060 : []2061 o !== t && (h = s(h))2062 const d = (function (e, t) {2063 const n = []2064 for (const e of [2065 'data-testid',2066 'data-test-id',2067 'data-test'2068 ])2069 t.hasAttribute(e) &&2070 n.push({2071 engine: 'css',2072 selector: `[${e}=${l(t.getAttribute(e))}]`,2073 score: 12074 })2075 if ('INPUT' === t.nodeName) {2076 const e = t2077 e.placeholder &&2078 n.push({2079 engine: 'css',2080 selector: `[placeholder=${l(e.placeholder)}]`,2081 score: 102082 })2083 }2084 t.hasAttribute('aria-label') &&2085 n.push({2086 engine: 'css',2087 selector: `[aria-label=${l(2088 t.getAttribute('aria-label')2089 )}]`,2090 score: 102091 }),2092 t.getAttribute('alt') &&2093 ['APPLET', 'AREA', 'IMG', 'INPUT'].includes(2094 t.nodeName2095 ) &&2096 n.push({2097 engine: 'css',2098 selector: `${t.nodeName.toLowerCase()}[alt=${l(2099 t.getAttribute('alt')2100 )}]`,2101 score: 102102 }),2103 t.hasAttribute('role') &&2104 n.push({2105 engine: 'css',2106 selector: `${t.nodeName.toLocaleLowerCase()}[role=${l(2107 t.getAttribute('role')2108 )}]`,2109 score: 502110 }),2111 t.getAttribute('name') &&2112 [2113 'BUTTON',2114 'FORM',2115 'FIELDSET',2116 'IFRAME',2117 'INPUT',2118 'KEYGEN',2119 'OBJECT',2120 'OUTPUT',2121 'SELECT',2122 'TEXTAREA',2123 'MAP',2124 'META',2125 'PARAM'2126 ].includes(t.nodeName) &&2127 n.push({2128 engine: 'css',2129 selector: `${t.nodeName.toLowerCase()}[name=${l(2130 t.getAttribute('name')2131 )}]`,2132 score: 502133 }),2134 ['INPUT', 'TEXTAREA'].includes(t.nodeName) &&2135 'hidden' !== t.getAttribute('type') &&2136 t.getAttribute('type') &&2137 n.push({2138 engine: 'css',2139 selector: `${t.nodeName.toLowerCase()}[type=${l(2140 t.getAttribute('type')2141 )}]`,2142 score: 502143 }),2144 ['INPUT', 'TEXTAREA', 'SELECT'].includes(2145 t.nodeName2146 ) &&2147 n.push({2148 engine: 'css',2149 selector: t.nodeName.toLowerCase(),2150 score: 502151 })2152 const r = t.getAttribute('id')2153 return (2154 r &&2155 !(function (e) {2156 let t,2157 n = 02158 for (let r = 0; r < e.length; ++r) {2159 const o = e[r]2160 let i2161 '-' !== o &&2162 '_' !== o &&2163 ((i =2164 o >= 'a' && o <= 'z'2165 ? 'lower'2166 : o >= 'A' && o <= 'Z'2167 ? 'upper'2168 : o >= '0' && o <= '9'2169 ? 'digit'2170 : 'other'),2171 'lower' !== i || 'upper' !== t2172 ? (t && t !== i && ++n, (t = i))2173 : (t = i))2174 }2175 return n >= e.length / 42176 })(r) &&2177 n.push({2178 engine: 'css',2179 selector: a(r),2180 score: 1002181 }),2182 n.push({2183 engine: 'css',2184 selector: t.nodeName.toLocaleLowerCase(),2185 score: 2002186 }),2187 n2188 )2189 })(0, o).map((e) => [e])2190 let m = f(e, t.ownerDocument, o, [...h, ...d], u)2191 h = s(h)2192 const g = (t) => {2193 const r = i && !t.length,2194 s = [...t, ...d].filter((e) => !m || p(e) < p(m))2195 let a = s[0]2196 if (a)2197 for (let t = c(o); t; t = c(t)) {2198 const i = n(t, r)2199 if (!i) continue2200 if (m && p([...i, ...a]) >= p(m)) continue2201 if (((a = f(e, t, o, s, u)), !a)) return2202 const c = [...i, ...a]2203 ;(!m || p(c) < p(m)) && (m = c)2204 }2205 }2206 return g(h), o === t && h.length && g([]), m2207 })(u, h)),2208 d.set(u, m)),2209 m2210 )2211 }2212 return n(t, !0)2213 })(2214 e,2215 (t =2216 t.closest(2217 'button,select,input,[role=button],[role=checkbox],[role=radio]'2218 ) || t)2219 ),2220 d = h(n || [u(e, t)]),2221 m = e.parseSelector(d)2222 return {2223 selector: d,2224 elements: e.querySelectorAll(m, t.ownerDocument)2225 }2226 } finally {2227 o.clear(), i.clear(), e._evaluator.end()2228 }2229 })2230 var r = n(848)2231 const o = new Map(),2232 i = new Map()2233 function s(e) {2234 return e.filter((e) => '/' !== e[0].selector[0])2235 }2236 function c(e) {2237 return e.parentElement2238 ? e.parentElement2239 : e.parentNode &&2240 e.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE &&2241 e.parentNode.host2242 ? e.parentNode.host2243 : null2244 }2245 function a(e) {2246 return /^[a-zA-Z][a-zA-Z0-9\-\_]+$/.test(e) ? '#' + e : `[id="${e}"]`2247 }2248 function u(e, t) {2249 const n = 1e7,2250 r = t.ownerDocument,2251 o = []2252 function i(n) {2253 const r = o.slice()2254 n && r.unshift(n)2255 const i = r.join(' '),2256 s = e.parseSelector(i)2257 return e.querySelector(s, t.ownerDocument, !1) === t ? i : void 02258 }2259 for (let e = t; e && e !== r; e = c(e)) {2260 const t = e.nodeName.toLowerCase()2261 let r = ''2262 if (e.id) {2263 const t = a(e.id),2264 o = i(t)2265 if (o) return { engine: 'css', selector: o, score: n }2266 r = t2267 }2268 const s = e.parentNode,2269 c = [...e.classList]2270 for (let e = 0; e < c.length; ++e) {2271 const t = '.' + c.slice(0, e + 1).join('.'),2272 o = i(t)2273 if (o) return { engine: 'css', selector: o, score: n }2274 !r && s && 1 === s.querySelectorAll(t).length && (r = t)2275 }2276 if (s) {2277 const o = [...s.children],2278 c =2279 0 ===2280 o.filter((e) => e.nodeName.toLowerCase() === t).indexOf(e)2281 ? t2282 : `${t}:nth-child(${1 + o.indexOf(e)})`,2283 a = i(c)2284 if (a) return { engine: 'css', selector: a, score: n }2285 r || (r = c)2286 } else r || (r = t)2287 o.unshift(r)2288 }2289 return { engine: 'css', selector: i(), score: n }2290 }2291 function l(e) {2292 return `"${e.replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`2293 }2294 function h(e) {2295 const t = []2296 let n = ''2297 for (const { engine: r, selector: o } of e)2298 t.length &&2299 ('css' !== n || 'css' !== r || o.startsWith(':nth-match(')) &&2300 t.push('>>'),2301 (n = r),2302 'css' === r ? t.push(o) : t.push(`${r}=${o}`)2303 return t.join(' ')2304 }2305 function p(e) {2306 let t = 02307 for (let n = 0; n < e.length; n++) t += e[n].score * (e.length - n)2308 return t2309 }2310 function f(e, t, n, r, o) {2311 const i = r.map((e) => ({ tokens: e, score: p(e) }))2312 i.sort((e, t) => e.score - t.score)2313 let s = null2314 for (const { tokens: r } of i) {2315 const i = e.parseSelector(h(r)),2316 c = e.querySelectorAll(i, t),2317 a = c.indexOf(n)2318 if (0 === a) return r2319 if (!o || s || -1 === a || c.length > 5) continue2320 const u = r.map((e) =>2321 'text' !== e.engine2322 ? e2323 : e.selector.startsWith('/') && e.selector.endsWith('/')2324 ? {2325 engine: 'css',2326 selector: `:text-matches("${e.selector.substring(2327 1,2328 e.selector.length - 12329 )}")`,2330 score: e.score2331 }2332 : {2333 engine: 'css',2334 selector: `:text("${e.selector}")`,2335 score: e.score2336 }2337 )2338 s = [2339 {2340 engine: 'css',2341 selector: `:nth-match(${h(u)}, ${a + 1})`,2342 score: p(u) + 1e32343 }2344 ]2345 }2346 return s2347 }2348 },2349 12: (e, t, n) => {2350 Object.defineProperty(t, '__esModule', { value: !0 }),2351 (t.VueEngine = void 0)2352 var r = n(204)2353 function o(e, t) {2354 const n = e.replace(/^[a-zA-Z]:/, '').replace(/\\/g, '/')2355 let r = n.substring(n.lastIndexOf('/') + 1)2356 return (2357 t && r.endsWith(t) && (r = r.substring(0, r.length - t.length)), r2358 )2359 }2360 function i(e, t) {2361 return t ? t.toUpperCase() : ''2362 }2363 const s = /(?:^|[-_/])(\w)/g,2364 c = (e) => e && e.replace(s, i)2365 function a(e, t, n = []) {2366 t(e) && n.push(e)2367 for (const r of e.children) a(r, t, n)2368 return n2369 }2370 const u = {2371 queryAll(e, t) {2372 const { name: n, attributes: i } = (0, r.parseComponentSelector)(t),2373 s = (function () {2374 const e = []2375 for (const t of document.querySelectorAll('[data-v-app]'))2376 t._vnode &&2377 t._vnode.component &&2378 e.push({ root: t._vnode.component, version: 3 })2379 const t = document.createTreeWalker(2380 document,2381 NodeFilter.SHOW_ELEMENT2382 ),2383 n = new Set()2384 for (; t.nextNode(); ) {2385 const e = t.currentNode2386 e && e.__vue__ && n.add(e.__vue__.$root)2387 }2388 for (const t of n) e.push({ version: 2, root: t })2389 return e2390 })()2391 .map((e) =>2392 3 === e.version2393 ? (function (e) {2394 function t(e, t) {2395 return (e.type.__playwright_guessedName = t), t2396 }2397 function n(e) {2398 const n = (function (e) {2399 const t =2400 e.name ||2401 e._componentTag ||2402 e.__playwright_guessedName2403 if (t) return t2404 const n = e.__file2405 return n ? c(o(n, '.vue')) : void 02406 })(e.type || {})2407 if (n) return n2408 if (e.root === e) return 'Root'2409 for (const n in null === (r = e.parent) ||2410 void 0 === r ||2411 null === (i = r.type) ||2412 void 0 === i2413 ? void 02414 : i.components) {2415 var r, i, s2416 if (2417 (null === (s = e.parent) || void 0 === s2418 ? void 02419 : s.type.components[n]) === e.type2420 )2421 return t(e, n)2422 }2423 for (const n in null === (a = e.appContext) ||2424 void 0 === a2425 ? void 02426 : a.components) {2427 var a2428 if (e.appContext.components[n] === e.type)2429 return t(e, n)2430 }2431 return 'Anonymous Component'2432 }2433 function r(e) {2434 const t = []2435 return (2436 e.component && t.push(e.component),2437 e.suspense && t.push(...r(e.suspense.activeBranch)),2438 Array.isArray(e.children) &&2439 e.children.forEach((e) => {2440 e.component2441 ? t.push(e.component)2442 : t.push(...r(e))2443 }),2444 t.filter((e) => {2445 var t2446 return !(2447 (function (e) {2448 return e._isBeingDestroyed || e.isUnmounted2449 })(e) ||2450 (null !== (t = e.type.devtools) &&2451 void 0 !== t &&2452 t.hide)2453 )2454 })2455 )2456 }2457 function i(e) {2458 return (function (e) {2459 return (2460 'Symbol(Fragment)' === e.subTree.type.toString()2461 )2462 })(e)2463 ? (function (e) {2464 if (!e.children) return []2465 const t = []2466 for (2467 let n = 0, r = e.children.length;2468 n < r;2469 n++2470 ) {2471 const r = e.children[n]2472 r.component2473 ? t.push(...i(r.component))2474 : r.el && t.push(r.el)2475 }2476 return t2477 })(e.subTree)2478 : [e.subTree.el]2479 }2480 return (function e(t) {2481 return {2482 name: n(t),2483 children: r(t.subTree).map(e),2484 rootElements: i(t),2485 props: t.props2486 }2487 })(e)2488 })(e.root)2489 : (function (e) {2490 function t(e) {2491 return (2492 (function (e) {2493 const t =2494 e.displayName || e.name || e._componentTag2495 if (t) return t2496 const n = e.__file2497 return n ? c(o(n, '.vue')) : void 02498 })(e.$options || e.fnOptions || {}) ||2499 (e.$root === e ? 'Root' : 'Anonymous Component')2500 )2501 }2502 function n(e) {2503 return e.$children2504 ? e.$children2505 : Array.isArray(e.subTree.children)2506 ? e.subTree.children2507 .filter((e) => !!e.component)2508 .map((e) => e.component)2509 : []2510 }2511 return (function e(r) {2512 return {2513 name: t(r),2514 children: n(r).map(e),2515 rootElements: [r.$el],2516 props: r._props2517 }2518 })(e)2519 })(e.root)2520 )2521 .map((t) =>2522 a(t, (t) => {2523 if (n && t.name !== n) return !12524 if (t.rootElements.some((t) => !e.contains(t))) return !12525 for (const e of i)2526 if (!(0, r.checkComponentAttribute)(t.props, e)) return !12527 return !02528 })2529 )2530 .flat(),2531 u = new Set()2532 for (const e of s) for (const t of e.rootElements) u.add(t)2533 return [...u]2534 }2535 }2536 t.VueEngine = u2537 },2538 530: (e, t) => {2539 Object.defineProperty(t, '__esModule', { value: !0 }),2540 (t.XPathEngine = void 0)2541 const n = {2542 queryAll(e, t) {2543 t.startsWith('/') && (t = '.' + t)2544 const n = [],2545 r = e instanceof Document ? e : e.ownerDocument2546 if (!r) return n2547 const o = r.evaluate(2548 t,2549 e,2550 null,2551 XPathResult.ORDERED_NODE_ITERATOR_TYPE2552 )2553 for (let e = o.iterateNext(); e; e = o.iterateNext())2554 e.nodeType === Node.ELEMENT_NODE && n.push(e)2555 return n2556 }2557 }2558 t.XPathEngine = n2559 }2560 },2561 t = {}2562 function n(r) {2563 var o = t[r]2564 if (void 0 !== o) return o.exports2565 var i = (t[r] = { exports: {} })2566 return e[r](i, i.exports, n), i.exports2567 }2568 n.g = (function () {2569 if ('object' == typeof globalThis) return globalThis2570 try {2571 return this || new Function('return this')()2572 } catch (e) {2573 if ('object' == typeof window) return window2574 }2575 })()2576 var r = {}2577 ;(() => {2578 var e = r2579 e.default = void 02580 var t = n(530),2581 o = n(836),2582 i = n(12),2583 s = n(461),2584 c = n(848),2585 a = n(854)2586 const u = new Set([2587 'AREA',2588 'BASE',2589 'BR',2590 'COL',2591 'COMMAND',2592 'EMBED',2593 'HR',2594 'IMG',2595 'INPUT',2596 'KEYGEN',2597 'LINK',2598 'MENUITEM',2599 'META',2600 'PARAM',2601 'SOURCE',2602 'TRACK',2603 'WBR'2604 ]),2605 l = new Set(['checked', 'selected', 'disabled', 'readonly', 'multiple'])2606 function h(e) {2607 return e.replace(/\n/g, '↵').replace(/\t/g, '⇆')2608 }2609 const p = new Map([2610 ['auxclick', 'mouse'],2611 ['click', 'mouse'],2612 ['dblclick', 'mouse'],2613 ['mousedown', 'mouse'],2614 ['mouseeenter', 'mouse'],2615 ['mouseleave', 'mouse'],2616 ['mousemove', 'mouse'],2617 ['mouseout', 'mouse'],2618 ['mouseover', 'mouse'],2619 ['mouseup', 'mouse'],2620 ['mouseleave', 'mouse'],2621 ['mousewheel', 'mouse'],2622 ['keydown', 'keyboard'],2623 ['keyup', 'keyboard'],2624 ['keypress', 'keyboard'],2625 ['textInput', 'keyboard'],2626 ['touchstart', 'touch'],2627 ['touchmove', 'touch'],2628 ['touchend', 'touch'],2629 ['touchcancel', 'touch'],2630 ['pointerover', 'pointer'],2631 ['pointerout', 'pointer'],2632 ['pointerenter', 'pointer'],2633 ['pointerleave', 'pointer'],2634 ['pointerdown', 'pointer'],2635 ['pointerup', 'pointer'],2636 ['pointermove', 'pointer'],2637 ['pointercancel', 'pointer'],2638 ['gotpointercapture', 'pointer'],2639 ['lostpointercapture', 'pointer'],2640 ['focus', 'focus'],2641 ['blur', 'focus'],2642 ['drag', 'drag'],2643 ['dragstart', 'drag'],2644 ['dragend', 'drag'],2645 ['dragover', 'drag'],2646 ['dragenter', 'drag'],2647 ['dragleave', 'drag'],2648 ['dragexit', 'drag'],2649 ['drop', 'drag']2650 ])2651 function f(e) {2652 if (!e.includes('\\')) return e2653 const t = []2654 let n = 02655 for (; n < e.length; )2656 '\\' === e[n] && n + 1 < e.length && n++, t.push(e[n++])2657 return t.join('')2658 }2659 class d {2660 constructor(e) {2661 ;(this._string = void 0),2662 (this._substring = void 0),2663 (this._regex = void 0),2664 (this._normalizeWhiteSpace = void 0),2665 (this._normalizeWhiteSpace = e.normalizeWhiteSpace),2666 (this._string = e.matchSubstring2667 ? void 02668 : this.normalizeWhiteSpace(e.string)),2669 (this._substring = e.matchSubstring2670 ? this.normalizeWhiteSpace(e.string)2671 : void 0),2672 (this._regex = e.regexSource2673 ? new RegExp(e.regexSource, e.regexFlags)2674 : void 0)2675 }2676 matches(e) {2677 return (2678 this._normalizeWhiteSpace &&2679 !this._regex &&2680 (e = this.normalizeWhiteSpace(e)),2681 void 0 !== this._string2682 ? e === this._string2683 : void 0 !== this._substring2684 ? e.includes(this._substring)2685 : !!this._regex && !!this._regex.test(e)2686 )2687 }2688 normalizeWhiteSpace(e) {2689 return e && this._normalizeWhiteSpace2690 ? e.trim().replace(/\s+/g, ' ')2691 : e2692 }2693 }2694 function m(e, t) {2695 if (e === t) return !02696 if (e && t && 'object' == typeof e && 'object' == typeof t) {2697 if (e.constructor !== t.constructor) return !12698 if (Array.isArray(e)) {2699 if (e.length !== t.length) return !12700 for (let n = 0; n < e.length; ++n) if (!m(e[n], t[n])) return !12701 return !02702 }2703 if (e instanceof RegExp)2704 return e.source === t.source && e.flags === t.flags2705 if (e.valueOf !== Object.prototype.valueOf)2706 return e.valueOf() === t.valueOf()2707 if (e.toString !== Object.prototype.toString)2708 return e.toString() === t.toString()2709 const n = Object.keys(e)2710 if (n.length !== Object.keys(t).length) return !12711 for (let e = 0; e < n.length; ++e)2712 if (!t.hasOwnProperty(n[e])) return !12713 for (const r of n) if (!m(e[r], t[r])) return !12714 return !02715 }2716 return (2717 'number' == typeof e && 'number' == typeof t && isNaN(e) && isNaN(t)2718 )2719 }2720 var g = class {2721 constructor(e, n, r) {2722 ;(this._engines = void 0),2723 (this._evaluator = void 0),2724 (this._stableRafCount = void 0),2725 (this._browserName = void 0),2726 (this.onGlobalListenersRemoved = new Set()),2727 (this._evaluator = new c.SelectorEvaluatorImpl(new Map())),2728 (this._engines = new Map()),2729 this._engines.set('xpath', t.XPathEngine),2730 this._engines.set('xpath:light', t.XPathEngine),2731 this._engines.set('_react', o.ReactEngine),2732 this._engines.set('_vue', i.VueEngine),2733 this._engines.set('text', this._createTextEngine(!0)),2734 this._engines.set('text:light', this._createTextEngine(!1)),2735 this._engines.set('id', this._createAttributeEngine('id', !0)),2736 this._engines.set('id:light', this._createAttributeEngine('id', !1)),2737 this._engines.set(2738 'data-testid',2739 this._createAttributeEngine('data-testid', !0)2740 ),2741 this._engines.set(2742 'data-testid:light',2743 this._createAttributeEngine('data-testid', !1)2744 ),2745 this._engines.set(2746 'data-test-id',2747 this._createAttributeEngine('data-test-id', !0)2748 ),2749 this._engines.set(2750 'data-test-id:light',2751 this._createAttributeEngine('data-test-id', !1)2752 ),2753 this._engines.set(2754 'data-test',2755 this._createAttributeEngine('data-test', !0)2756 ),2757 this._engines.set(2758 'data-test:light',2759 this._createAttributeEngine('data-test', !1)2760 ),2761 this._engines.set('css', this._createCSSEngine()),2762 this._engines.set('nth', { queryAll: () => [] }),2763 this._engines.set('visible', { queryAll: () => [] })2764 for (const { name: e, engine: t } of r) this._engines.set(e, t)2765 ;(this._stableRafCount = e),2766 (this._browserName = n),2767 this._setupGlobalListenersRemovalDetection()2768 }2769 eval(e) {2770 return n.g.eval(e)2771 }2772 parseSelector(e) {2773 const t = (0, s.parseSelector)(e)2774 for (const n of t.parts)2775 if (!this._engines.has(n.name))2776 throw this.createStacklessError(2777 `Unknown engine "${n.name}" while parsing selector ${e}`2778 )2779 return t2780 }2781 querySelector(e, t, n) {2782 if (!t.querySelector)2783 throw this.createStacklessError('Node is not queryable.')2784 this._evaluator.begin()2785 try {2786 var r, o2787 const i = this._querySelectorRecursively(2788 [{ element: t, capture: void 0 }],2789 e,2790 0,2791 new Map()2792 )2793 if (n && i.length > 1)2794 throw this.strictModeViolationError(2795 e,2796 i.map((e) => e.element)2797 )2798 return (2799 (null === (r = i[0]) || void 0 === r ? void 0 : r.capture) ||2800 (null === (o = i[0]) || void 0 === o ? void 0 : o.element)2801 )2802 } finally {2803 this._evaluator.end()2804 }2805 }2806 _querySelectorRecursively(e, t, n, r) {2807 if (n === t.parts.length) return e2808 const o = t.parts[n]2809 if ('nth' === o.name) {2810 let i = []2811 if ('0' === o.body) i = e.slice(0, 1)2812 else if ('-1' === o.body) e.length && (i = e.slice(e.length - 1))2813 else {2814 if ('number' == typeof t.capture)2815 throw this.createStacklessError(2816 "Can't query n-th element in a request with the capture."2817 )2818 const n = +o.body,2819 r = new Set()2820 for (const t of e) r.add(t.element), n + 1 === r.size && (i = [t])2821 }2822 return this._querySelectorRecursively(i, t, n + 1, r)2823 }2824 if ('visible' === o.name) {2825 const i = Boolean(o.body),2826 s = e.filter((e) => i === (0, c.isVisible)(e.element))2827 return this._querySelectorRecursively(s, t, n + 1, r)2828 }2829 const i = []2830 for (const o of e) {2831 const e = n - 1 === t.capture ? o.element : o.capture2832 let s = r.get(o.element)2833 s || ((s = []), r.set(o.element, s))2834 let c = s[n]2835 c || ((c = this._queryEngineAll(t.parts[n], o.element)), (s[n] = c))2836 for (const t of c) {2837 if (!('nodeName' in t))2838 throw this.createStacklessError(2839 `Expected a Node but got ${Object.prototype.toString.call(t)}`2840 )2841 i.push({ element: t, capture: e })2842 }2843 }2844 return this._querySelectorRecursively(i, t, n + 1, r)2845 }2846 querySelectorAll(e, t) {2847 if (!t.querySelectorAll)2848 throw this.createStacklessError('Node is not queryable.')2849 this._evaluator.begin()2850 try {2851 const n = this._querySelectorRecursively(2852 [{ element: t, capture: void 0 }],2853 e,2854 0,2855 new Map()2856 ),2857 r = new Set()2858 for (const e of n) r.add(e.capture || e.element)2859 return [...r]2860 } finally {2861 this._evaluator.end()2862 }2863 }2864 _queryEngineAll(e, t) {2865 return this._engines.get(e.name).queryAll(t, e.body)2866 }2867 _createAttributeEngine(e, t) {2868 return {2869 queryAll: (n, r) =>2870 this._evaluator.query(2871 { scope: n, pierceShadow: t },2872 ((t) => [2873 {2874 simples: [2875 {2876 selector: {2877 css: `[${e}=${JSON.stringify(t)}]`,2878 functions: []2879 },2880 combinator: ''2881 }2882 ]2883 }2884 ])(r)2885 )2886 }2887 }2888 _createCSSEngine() {2889 const e = this._evaluator2890 return {2891 queryAll: (t, n) => e.query({ scope: t, pierceShadow: !0 }, n)2892 }2893 }2894 _createTextEngine(e) {2895 const t = (t, n) => {2896 const { matcher: r, kind: o } = (function (e) {2897 if ('/' === e[0] && e.lastIndexOf('/') > 0) {2898 const t = e.lastIndexOf('/')2899 return {2900 matcher: (0, c.createRegexTextMatcher)(2901 e.substring(1, t),2902 e.substring(t + 1)2903 ),2904 kind: 'regex'2905 }2906 }2907 let t = !12908 return (2909 e.length > 1 &&2910 '"' === e[0] &&2911 '"' === e[e.length - 1] &&2912 ((e = f(e.substring(1, e.length - 1))), (t = !0)),2913 e.length > 1 &&2914 "'" === e[0] &&2915 "'" === e[e.length - 1] &&2916 ((e = f(e.substring(1, e.length - 1))), (t = !0)),2917 {2918 matcher: t2919 ? (0, c.createStrictTextMatcher)(e)2920 : (0, c.createLaxTextMatcher)(e),2921 kind: t ? 'strict' : 'lax'2922 }2923 )2924 })(n),2925 i = []2926 let s = null2927 const a = (e) => {2928 if ('lax' === o && s && s.contains(e)) return !12929 const t = (0, c.elementMatchesText)(this._evaluator, e, r)2930 'none' === t && (s = e),2931 ('self' === t || ('selfAndChildren' === t && 'strict' === o)) &&2932 i.push(e)2933 }2934 t.nodeType === Node.ELEMENT_NODE && a(t)2935 const u = this._evaluator._queryCSS(2936 { scope: t, pierceShadow: e },2937 '*'2938 )2939 for (const e of u) a(e)2940 return i2941 }2942 return { queryAll: (e, n) => t(e, n) }2943 }2944 extend(e, t) {2945 return new (n.g.eval(2946 `\n (() => {\n ${e}\n return pwExport;\n })()`2947 ))(this, t)2948 }2949 isVisible(e) {2950 return (0, c.isVisible)(e)2951 }2952 pollRaf(e) {2953 return this.poll(e, (e) => requestAnimationFrame(e))2954 }2955 pollInterval(e, t) {2956 return this.poll(t, (t) => setTimeout(t, e))2957 }2958 pollLogScale(e) {2959 const t = [100, 250, 500]2960 let n = 02961 return this.poll(e, (e) => setTimeout(e, t[n++] || 1e3))2962 }2963 poll(e, t) {2964 return this._runAbortableTask((n) => {2965 let r, o2966 const i = new Promise((e, t) => {2967 ;(r = e), (o = t)2968 }),2969 s = () => {2970 if (!n.aborted)2971 try {2972 const o = e(n)2973 o !== n.continuePolling ? r(o) : t(s)2974 } catch (e) {2975 n.log(' ' + e.message), o(e)2976 }2977 }2978 return s(), i2979 })2980 }2981 _runAbortableTask(e) {2982 let t,2983 n = [],2984 r = !12985 const o = () => {2986 t && (t(n), (n = []), (t = void 0))2987 }2988 let i,2989 s = ''2990 const c = {2991 injectedScript: this,2992 aborted: !1,2993 continuePolling: Symbol('continuePolling'),2994 log: (e) => {2995 ;(s = e), n.push({ message: e }), o()2996 },2997 logRepeating: (e) => {2998 e !== s && c.log(e)2999 },3000 setIntermediateResult: (e) => {3001 i !== e && ((i = e), n.push({ intermediateResult: e }), o())3002 }3003 }3004 return {3005 takeNextLogs: () =>3006 new Promise((e) => {3007 ;(t = e), (n.length || r) && o()3008 }),3009 run: () => {3010 const t = e(c)3011 return (3012 t.finally(() => {3013 ;(r = !0), o()3014 }),3015 t3016 )3017 },3018 cancel: () => {3019 c.aborted = !03020 },3021 takeLastLogs: () => n3022 }3023 }3024 getElementBorderWidth(e) {3025 if (3026 e.nodeType !== Node.ELEMENT_NODE ||3027 !e.ownerDocument ||3028 !e.ownerDocument.defaultView3029 )3030 return { left: 0, top: 0 }3031 const t = e.ownerDocument.defaultView.getComputedStyle(e)3032 return {3033 left: parseInt(t.borderLeftWidth || '', 10),3034 top: parseInt(t.borderTopWidth || '', 10)3035 }3036 }3037 retarget(e, t) {3038 let n = e.nodeType === Node.ELEMENT_NODE ? e : e.parentElement3039 return n3040 ? (n.matches('input, textarea, select') ||3041 (n =3042 n.closest(3043 'button, [role=button], [role=checkbox], [role=radio]'3044 ) || n),3045 'follow-label' === t &&3046 (n.matches(3047 'input, textarea, button, select, [role=button], [role=checkbox], [role=radio]'3048 ) ||3049 n.isContentEditable ||3050 (n = n.closest('label') || n),3051 'LABEL' === n.nodeName && (n = n.control || n)),3052 n)3053 : null3054 }3055 waitForElementStatesAndPerformAction(e, t, n, r) {3056 let o,3057 i = 0,3058 s = 0,3059 c = 03060 return this.pollRaf((a) => {3061 if (n) return a.log(' forcing action'), r(e, a)3062 for (const n of t) {3063 if ('stable' !== n) {3064 const t = this.elementState(e, n)3065 if ('boolean' != typeof t) return t3066 if (!t)3067 return (3068 a.logRepeating(` element is not ${n} - waiting...`),3069 a.continuePolling3070 )3071 continue3072 }3073 const t = this.retarget(e, 'no-follow-label')3074 if (!t) return 'error:notconnected'3075 if (1 == ++i) return a.continuePolling3076 const r = performance.now()3077 if (this._stableRafCount > 1 && r - c < 15) return a.continuePolling3078 c = r3079 const u = t.getBoundingClientRect(),3080 l = { x: u.top, y: u.left, width: u.width, height: u.height }3081 o &&3082 l.x === o.x &&3083 l.y === o.y &&3084 l.width === o.width &&3085 l.height === o.height3086 ? ++s3087 : (s = 0)3088 const h = s >= this._stableRafCount,3089 p = h || !o3090 if (3091 ((o = l),3092 p || a.logRepeating(' element is not stable - waiting...'),3093 !h)3094 )3095 return a.continuePolling3096 }3097 return r(e, a)3098 })3099 }3100 elementState(e, t) {3101 const n = this.retarget(3102 e,3103 ['stable', 'visible', 'hidden'].includes(t)3104 ? 'no-follow-label'3105 : 'follow-label'3106 )3107 if (!n || !n.isConnected) return 'hidden' === t || 'error:notconnected'3108 if ('visible' === t) return this.isVisible(n)3109 if ('hidden' === t) return !this.isVisible(n)3110 const r =3111 ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA'].includes(n.nodeName) &&3112 n.hasAttribute('disabled')3113 if ('disabled' === t) return r3114 if ('enabled' === t) return !r3115 const o = !(3116 ['INPUT', 'TEXTAREA', 'SELECT'].includes(n.nodeName) &&3117 n.hasAttribute('readonly')3118 )3119 if ('editable' === t) return !r && o3120 if ('checked' === t) {3121 if (['checkbox', 'radio'].includes(n.getAttribute('role') || ''))3122 return 'true' === n.getAttribute('aria-checked')3123 if ('INPUT' !== n.nodeName)3124 throw this.createStacklessError('Not a checkbox or radio button')3125 if (!['radio', 'checkbox'].includes(n.type.toLowerCase()))3126 throw this.createStacklessError('Not a checkbox or radio button')3127 return n.checked3128 }3129 throw this.createStacklessError(`Unexpected element state "${t}"`)3130 }3131 selectOptions(e, t, n) {3132 const r = this.retarget(t, 'follow-label')3133 if (!r) return 'error:notconnected'3134 if ('select' !== r.nodeName.toLowerCase())3135 throw this.createStacklessError('Element is not a <select> element')3136 const o = r,3137 i = [...o.options],3138 s = []3139 let c = e.slice()3140 for (let e = 0; e < i.length; e++) {3141 const t = i[e],3142 n = (n) => {3143 if (n instanceof Node) return t === n3144 let r = !03145 return (3146 void 0 !== n.value && (r = r && n.value === t.value),3147 void 0 !== n.label && (r = r && n.label === t.label),3148 void 0 !== n.index && (r = r && n.index === e),3149 r3150 )3151 }3152 if (c.some(n)) {3153 if ((s.push(t), !o.multiple)) {3154 c = []3155 break3156 }3157 c = c.filter((e) => !n(e))3158 }3159 }3160 return c.length3161 ? (n.logRepeating(' did not find some options - waiting... '),3162 n.continuePolling)3163 : ((o.value = void 0),3164 s.forEach((e) => (e.selected = !0)),3165 n.log(' selected specified option(s)'),3166 o.dispatchEvent(new Event('input', { bubbles: !0 })),3167 o.dispatchEvent(new Event('change', { bubbles: !0 })),3168 s.map((e) => e.value))3169 }3170 fill(e, t, n) {3171 const r = this.retarget(t, 'follow-label')3172 if (!r) return 'error:notconnected'3173 if ('input' === r.nodeName.toLowerCase()) {3174 const t = r,3175 o = t.type.toLowerCase(),3176 i = new Set([3177 'date',3178 'time',3179 'datetime',3180 'datetime-local',3181 'month',3182 'week'3183 ])3184 if (3185 !new Set([3186 '',3187 'email',3188 'number',3189 'password',3190 'search',3191 'tel',3192 'text',3193 'url'3194 ]).has(o) &&3195 !i.has(o)3196 )3197 throw (3198 (n.log(` input of type "${o}" cannot be filled`),3199 this.createStacklessError(3200 `Input of type "${o}" cannot be filled`3201 ))3202 )3203 if ('number' === o && ((e = e.trim()), isNaN(Number(e))))3204 throw this.createStacklessError(3205 'Cannot type text into input[type=number]'3206 )3207 if (i.has(o)) {3208 if (((e = e.trim()), t.focus(), (t.value = e), t.value !== e))3209 throw this.createStacklessError('Malformed value')3210 return (3211 r.dispatchEvent(new Event('input', { bubbles: !0 })),3212 r.dispatchEvent(new Event('change', { bubbles: !0 })),3213 'done'3214 )3215 }3216 } else if ('textarea' === r.nodeName.toLowerCase());3217 else if (!r.isContentEditable)3218 throw this.createStacklessError(3219 'Element is not an <input>, <textarea> or [contenteditable] element'3220 )3221 return this.selectText(r), 'needsinput'3222 }3223 selectText(e) {3224 const t = this.retarget(e, 'follow-label')3225 if (!t) return 'error:notconnected'3226 if ('input' === t.nodeName.toLowerCase()) {3227 const e = t3228 return e.select(), e.focus(), 'done'3229 }3230 if ('textarea' === t.nodeName.toLowerCase()) {3231 const e = t3232 return (3233 (e.selectionStart = 0),3234 (e.selectionEnd = e.value.length),3235 e.focus(),3236 'done'3237 )3238 }3239 const n = t.ownerDocument.createRange()3240 n.selectNodeContents(t)3241 const r = t.ownerDocument.defaultView.getSelection()3242 return r && (r.removeAllRanges(), r.addRange(n)), t.focus(), 'done'3243 }3244 focusNode(e, t) {3245 if (!e.isConnected) return 'error:notconnected'3246 if (e.nodeType !== Node.ELEMENT_NODE)3247 throw this.createStacklessError('Node is not an element')3248 const n =3249 e.getRootNode().activeElement === e &&3250 e.ownerDocument &&3251 e.ownerDocument.hasFocus()3252 if ((e.focus(), t && !n && 'input' === e.nodeName.toLowerCase()))3253 try {3254 e.setSelectionRange(0, 0)3255 } catch (e) {}3256 return 'done'3257 }3258 setInputFiles(e, t) {3259 if (e.nodeType !== Node.ELEMENT_NODE)3260 return 'Node is not of type HTMLElement'3261 const n = e3262 if ('INPUT' !== n.nodeName) return 'Not an <input> element'3263 const r = n3264 if ('file' !== (r.getAttribute('type') || '').toLowerCase())3265 return 'Not an input[type=file] element'3266 const o = t.map((e) => {3267 const t = Uint8Array.from(atob(e.buffer), (e) => e.charCodeAt(0))3268 return new File([t], e.name, { type: e.mimeType })3269 }),3270 i = new DataTransfer()3271 for (const e of o) i.items.add(e)3272 ;(r.files = i.files),3273 r.dispatchEvent(new Event('input', { bubbles: !0 })),3274 r.dispatchEvent(new Event('change', { bubbles: !0 }))3275 }3276 checkHitTargetAt(e, t) {3277 let n = e.nodeType === Node.ELEMENT_NODE ? e : e.parentElement3278 if (!n || !n.isConnected) return 'error:notconnected'3279 n = n.closest('button, [role=button]') || n3280 let r = this.deepElementFromPoint(document, t.x, t.y)3281 const o = []3282 for (; r && r !== n; )3283 o.push(r), (r = (0, c.parentElementOrShadowHost)(r))3284 if (r === n) return 'done'3285 const i = this.previewNode(o[0])3286 let s3287 for (; n; ) {3288 const e = o.indexOf(n)3289 if (-1 !== e) {3290 e > 1 && (s = this.previewNode(o[e - 1]))3291 break3292 }3293 n = (0, c.parentElementOrShadowHost)(n)3294 }3295 return s3296 ? { hitTargetDescription: `${i} from ${s} subtree` }3297 : { hitTargetDescription: i }3298 }3299 dispatchEvent(e, t, n) {3300 let r3301 switch (3302 ((n = { bubbles: !0, cancelable: !0, composed: !0, ...n }), p.get(t))3303 ) {3304 case 'mouse':3305 r = new MouseEvent(t, n)3306 break3307 case 'keyboard':3308 r = new KeyboardEvent(t, n)3309 break3310 case 'touch':3311 r = new TouchEvent(t, n)3312 break3313 case 'pointer':3314 r = new PointerEvent(t, n)3315 break3316 case 'focus':3317 r = new FocusEvent(t, n)3318 break3319 case 'drag':3320 r = new DragEvent(t, n)3321 break3322 default:3323 r = new Event(t, n)3324 }3325 e.dispatchEvent(r)3326 }3327 deepElementFromPoint(e, t, n) {3328 let r,3329 o = e3330 for (; o; ) {3331 const e = o.elementsFromPoint(t, n)[0]3332 if (!e || r === e) break3333 ;(r = e), (o = r.shadowRoot)3334 }3335 return r3336 }3337 previewNode(e) {3338 if (e.nodeType === Node.TEXT_NODE)3339 return h(`#text=${e.nodeValue || ''}`)3340 if (e.nodeType !== Node.ELEMENT_NODE)3341 return h(`<${e.nodeName.toLowerCase()} />`)3342 const t = e,3343 n = []3344 for (let e = 0; e < t.attributes.length; e++) {3345 const { name: r, value: o } = t.attributes[e]3346 'style' === r ||3347 r.startsWith('__playwright') ||3348 (!o && l.has(r) ? n.push(` ${r}`) : n.push(` ${r}="${o}"`))3349 }3350 n.sort((e, t) => e.length - t.length)3351 let r = n.join('')3352 if (3353 (r.length > 50 && (r = r.substring(0, 49) + '…'), u.has(t.nodeName))3354 )3355 return h(`<${t.nodeName.toLowerCase()}${r}/>`)3356 const o = t.childNodes3357 let i = !13358 if (o.length <= 5) {3359 i = !03360 for (let e = 0; e < o.length; e++)3361 i = i && o[e].nodeType === Node.TEXT_NODE3362 }3363 let s = i ? t.textContent || '' : o.length ? '…' : ''3364 return (3365 s.length > 50 && (s = s.substring(0, 49) + '…'),3366 h(3367 `<${t.nodeName.toLowerCase()}${r}>${s}</${t.nodeName.toLowerCase()}>`3368 )3369 )3370 }3371 strictModeViolationError(e, t) {3372 const n = t3373 .slice(0, 10)3374 .map((e) => ({3375 preview: this.previewNode(e),3376 selector: (0, a.generateSelector)(this, e).selector3377 })),3378 r = n.map(3379 (e, t) =>3380 `\n ${t + 1}) ${e.preview} aka playwright.$("${e.selector}")`3381 )3382 return (3383 n.length < t.length && r.push('\n ...'),3384 this.createStacklessError(3385 `strict mode violation: "${e.selector}" resolved to ${3386 t.length3387 } elements:${r.join('')}\n`3388 )3389 )3390 }3391 createStacklessError(e) {3392 if ('firefox' === this._browserName) {3393 const t = new Error('Error: ' + e)3394 return (t.stack = ''), t3395 }3396 const t = new Error(e)3397 return delete t.stack, t3398 }3399 _setupGlobalListenersRemovalDetection() {3400 const e = '__playwright_global_listeners_check__'3401 let t = !13402 const n = () => (t = !0)3403 window.addEventListener(e, n),3404 new MutationObserver((r) => {3405 if (3406 r.some((e) =>3407 Array.from(e.addedNodes).includes(document.documentElement)3408 ) &&3409 ((t = !1), window.dispatchEvent(new CustomEvent(e)), !t)3410 ) {3411 window.addEventListener(e, n)3412 for (const e of this.onGlobalListenersRemoved) e()3413 }3414 }).observe(document, { childList: !0 })3415 }3416 expectSingleElement(e, t, n) {3417 const r = e.injectedScript,3418 o = n.expression3419 {3420 let n3421 if ('to.be.checked' === o)3422 n = e.injectedScript.elementState(t, 'checked')3423 else if ('to.be.disabled' === o)3424 n = e.injectedScript.elementState(t, 'disabled')3425 else if ('to.be.editable' === o)3426 n = e.injectedScript.elementState(t, 'editable')3427 else if ('to.be.empty' === o) {3428 var i3429 n =3430 'INPUT' === t.nodeName || 'TEXTAREA' === t.nodeName3431 ? !t.value3432 : !(null !== (i = t.textContent) && void 0 !== i && i.trim())3433 } else3434 'to.be.enabled' === o3435 ? (n = e.injectedScript.elementState(t, 'enabled'))3436 : 'to.be.focused' === o3437 ? (n = document.activeElement === t)3438 : 'to.be.hidden' === o3439 ? (n = e.injectedScript.elementState(t, 'hidden'))3440 : 'to.be.visible' === o &&3441 (n = e.injectedScript.elementState(t, 'visible'))3442 if (void 0 !== n) {3443 if ('error:notcheckbox' === n)3444 throw r.createStacklessError('Element is not a checkbox')3445 if ('error:notconnected' === n)3446 throw r.createStacklessError('Element is not connected')3447 return { received: n, matches: n }3448 }3449 }3450 if ('to.have.property' === o) {3451 const e = t[n.expressionArg]3452 return { received: e, matches: m(e, n.expectedValue) }3453 }3454 {3455 let e3456 if ('to.have.attribute' === o)3457 e = t.getAttribute(n.expressionArg) || ''3458 else if ('to.have.class' === o) e = t.className3459 else if ('to.have.css' === o)3460 e = window.getComputedStyle(t)[n.expressionArg]3461 else if ('to.have.id' === o) e = t.id3462 else if ('to.have.text' === o)3463 e = n.useInnerText ? t.innerText : t.textContent || ''3464 else if ('to.have.title' === o) e = document.title3465 else if ('to.have.url' === o) e = document.location.href3466 else if ('to.have.value' === o) {3467 if (3468 'INPUT' !== t.nodeName &&3469 'TEXTAREA' !== t.nodeName &&3470 'SELECT' !== t.nodeName3471 )3472 throw this.createStacklessError('Not an input element')3473 e = t.value3474 }3475 if (void 0 !== e && n.expectedText)3476 return { received: e, matches: new d(n.expectedText[0]).matches(e) }3477 }3478 throw this.createStacklessError('Unknown expect matcher: ' + o)3479 }3480 expectArray(e, t) {3481 const n = t.expression3482 if ('to.have.count' === n) {3483 const n = e.length3484 return { received: n, matches: n === t.expectedNumber }3485 }3486 let r3487 if (3488 ('to.have.text.array' === n || 'to.contain.text.array' === n3489 ? (r = e.map((e) =>3490 t.useInnerText ? e.innerText : e.textContent || ''3491 ))3492 : 'to.have.class.array' === n && (r = e.map((e) => e.className)),3493 r && t.expectedText)3494 ) {3495 const e = 'to.contain.text.array' !== n3496 if (r.length !== t.expectedText.length && e)3497 return { received: r, matches: !1 }3498 let o = 03499 const i = t.expectedText.map((e) => new d(e))3500 let s = !03501 for (const e of i) {3502 for (; o < r.length && !e.matches(r[o]); ) o++3503 if (o >= r.length) {3504 s = !13505 break3506 }3507 }3508 return { received: r, matches: s }3509 }3510 throw this.createStacklessError('Unknown expect matcher: ' + n)3511 }3512 }3513 e.default = g3514 })(),3515 (pwExport = r.default)...

Full Screen

Full Screen

recorderSource.js

Source:recorderSource.js Github

copy

Full Screen

1var pwExport2;(() => {3 'use strict'4 var e = {5 317: (e, t, n) => {6 Object.defineProperty(t, '__esModule', { value: !0 }),7 (t.parseCSS = function (e, t) {8 let n9 try {10 ;(n = o.tokenize(e)),11 n[n.length - 1] instanceof o.EOFToken ||12 n.push(new o.EOFToken())13 } catch (t) {14 const n = t.message + ` while parsing selector "${e}"`,15 o = (t.stack || '').indexOf(t.message)16 throw (17 (-1 !== o &&18 (t.stack =19 t.stack.substring(0, o) +20 n +21 t.stack.substring(o + t.message.length)),22 (t.message = n),23 t)24 )25 }26 const r = n.find(27 (e) =>28 e instanceof o.AtKeywordToken ||29 e instanceof o.BadStringToken ||30 e instanceof o.BadURLToken ||31 e instanceof o.ColumnToken ||32 e instanceof o.CDOToken ||33 e instanceof o.CDCToken ||34 e instanceof o.SemicolonToken ||35 e instanceof o.OpenCurlyToken ||36 e instanceof o.CloseCurlyToken ||37 e instanceof o.URLToken ||38 e instanceof o.PercentageToken39 )40 if (r)41 throw new Error(42 `Unsupported token "${r.toSource()}" while parsing selector "${e}"`43 )44 let i = 045 const s = new Set()46 function c() {47 return new Error(48 `Unexpected token "${n[49 i50 ].toSource()}" while parsing selector "${e}"`51 )52 }53 function l() {54 for (; n[i] instanceof o.WhitespaceToken; ) i++55 }56 function a(e = i) {57 return n[e] instanceof o.IdentToken58 }59 function h(e = i) {60 return n[e] instanceof o.CommaToken61 }62 function u(e = i) {63 return n[e] instanceof o.CloseParenToken64 }65 function p(e = i) {66 return n[e] instanceof o.DelimToken && '*' === n[e].value67 }68 function f(e = i) {69 return n[e] instanceof o.EOFToken70 }71 function d(e = i) {72 return (73 n[e] instanceof o.DelimToken &&74 ['>', '+', '~'].includes(n[e].value)75 )76 }77 function m(e = i) {78 return (79 h(e) ||80 u(e) ||81 f(e) ||82 d(e) ||83 n[e] instanceof o.WhitespaceToken84 )85 }86 function g() {87 const e = [y()]88 for (; l(), h(); ) i++, e.push(y())89 return e90 }91 function y() {92 return (93 l(),94 (function (e = i) {95 return n[e] instanceof o.NumberToken96 })() ||97 (function (e = i) {98 return n[e] instanceof o.StringToken99 })()100 ? n[i++].value101 : (function () {102 const e = { simples: [] }103 for (104 l(),105 d()106 ? e.simples.push({107 selector: {108 functions: [{ name: 'scope', args: [] }]109 },110 combinator: ''111 })112 : e.simples.push({ selector: _(), combinator: '' });113 ;114 ) {115 if ((l(), d()))116 (e.simples[e.simples.length - 1].combinator =117 n[i++].value),118 l()119 else if (m()) break120 e.simples.push({ combinator: '', selector: _() })121 }122 return e123 })()124 )125 }126 function _() {127 let e = ''128 const r = []129 for (; !m(); )130 if (a() || p()) e += n[i++].toSource()131 else if (n[i] instanceof o.HashToken) e += n[i++].toSource()132 else if (n[i] instanceof o.DelimToken && '.' === n[i].value) {133 if ((i++, !a())) throw c()134 e += '.' + n[i++].toSource()135 } else if (n[i] instanceof o.ColonToken)136 if ((i++, a()))137 if (t.has(n[i].value.toLowerCase())) {138 const e = n[i++].value.toLowerCase()139 r.push({ name: e, args: [] }), s.add(e)140 } else e += ':' + n[i++].toSource()141 else {142 if (!(n[i] instanceof o.FunctionToken)) throw c()143 {144 const o = n[i++].value.toLowerCase()145 if (146 (t.has(o)147 ? (r.push({ name: o, args: g() }), s.add(o))148 : (e += `:${o}(${v()})`),149 l(),150 !u())151 )152 throw c()153 i++154 }155 }156 else {157 if (!(n[i] instanceof o.OpenSquareToken)) throw c()158 for (159 e += '[', i++;160 !(n[i] instanceof o.CloseSquareToken || f());161 )162 e += n[i++].toSource()163 if (!(n[i] instanceof o.CloseSquareToken)) throw c()164 ;(e += ']'), i++165 }166 if (!e && !r.length) throw c()167 return { css: e || void 0, functions: r }168 }169 function v() {170 let e = ''171 for (; !u() && !f(); ) e += n[i++].toSource()172 return e173 }174 const w = g()175 if (!f()) throw new Error(`Error while parsing selector "${e}"`)176 if (w.some((e) => 'object' != typeof e || !('simples' in e)))177 throw new Error(`Error while parsing selector "${e}"`)178 return { selector: w, names: Array.from(s) }179 }),180 (t.serializeSelector = function e(t) {181 return t182 .map((t) =>183 'string' == typeof t184 ? `"${t}"`185 : 'number' == typeof t186 ? String(t)187 : t.simples188 .map(({ selector: t, combinator: n }) => {189 let o = t.css || ''190 return (191 (o += t.functions192 .map((t) => `:${t.name}(${e(t.args)})`)193 .join('')),194 n && (o += ' ' + n),195 o196 )197 })198 .join(' ')199 )200 .join(', ')201 })202 var o = (function (e, t) {203 if (e && e.__esModule) return e204 if (null === e || ('object' != typeof e && 'function' != typeof e))205 return { default: e }206 var n = r(t)207 if (n && n.has(e)) return n.get(e)208 var o = {},209 i = Object.defineProperty && Object.getOwnPropertyDescriptor210 for (var s in e)211 if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {212 var c = i ? Object.getOwnPropertyDescriptor(e, s) : null213 c && (c.get || c.set)214 ? Object.defineProperty(o, s, c)215 : (o[s] = e[s])216 }217 return (o.default = e), n && n.set(e, o), o218 })(n(503))219 function r(e) {220 if ('function' != typeof WeakMap) return null221 var t = new WeakMap(),222 n = new WeakMap()223 return (r = function (e) {224 return e ? n : t225 })(e)226 }227 },228 503: (e, t) => {229 var n, o230 ;(n = function (e) {231 var t = function (e, t, n) {232 return e >= t && e <= n233 }234 function n(e) {235 return t(e, 48, 57)236 }237 function o(e) {238 return n(e) || t(e, 65, 70) || t(e, 97, 102)239 }240 function r(e) {241 return (242 (function (e) {243 return t(e, 65, 90)244 })(e) ||245 (function (e) {246 return t(e, 97, 122)247 })(e)248 )249 }250 function i(e) {251 return (252 r(e) ||253 (function (e) {254 return e >= 128255 })(e) ||256 95 == e257 )258 }259 function s(e) {260 return i(e) || n(e) || 45 == e261 }262 function c(e) {263 return t(e, 0, 8) || 11 == e || t(e, 14, 31) || 127 == e264 }265 function l(e) {266 return 10 == e267 }268 function a(e) {269 return l(e) || 9 == e || 32 == e270 }271 var h = function (e) {272 this.message = e273 }274 function u(e) {275 if (e <= 65535) return String.fromCharCode(e)276 e -= Math.pow(2, 16)277 var t = Math.floor(e / Math.pow(2, 10)) + 55296,278 n = (e % Math.pow(2, 10)) + 56320279 return String.fromCharCode(t) + String.fromCharCode(n)280 }281 function p() {282 throw 'Abstract Base Class'283 }284 function f() {285 return this286 }287 function d() {288 return this289 }290 function m() {291 return this292 }293 function g() {294 return this295 }296 function y() {297 return this298 }299 function _() {300 return this301 }302 function v() {303 return this304 }305 function w() {306 return this307 }308 function E() {309 throw 'Abstract Base Class'310 }311 function S() {312 return (this.value = '{'), (this.mirror = '}'), this313 }314 function T() {315 return (this.value = '}'), (this.mirror = '{'), this316 }317 function b() {318 return (this.value = '['), (this.mirror = ']'), this319 }320 function k() {321 return (this.value = ']'), (this.mirror = '['), this322 }323 function M() {324 return (this.value = '('), (this.mirror = ')'), this325 }326 function x() {327 return (this.value = ')'), (this.mirror = '('), this328 }329 function C() {330 return this331 }332 function P() {333 return this334 }335 function A() {336 return this337 }338 function N() {339 return this340 }341 function O() {342 return this343 }344 function R() {345 return this346 }347 function j() {348 return this349 }350 function I(e) {351 return (this.value = u(e)), this352 }353 function D() {354 throw 'Abstract Base Class'355 }356 function L(e) {357 this.value = e358 }359 function $(e) {360 ;(this.value = e), (this.mirror = ')')361 }362 function U(e) {363 this.value = e364 }365 function q(e) {366 ;(this.value = e), (this.type = 'unrestricted')367 }368 function G(e) {369 this.value = e370 }371 function F(e) {372 this.value = e373 }374 function H() {375 ;(this.value = null), (this.type = 'integer'), (this.repr = '')376 }377 function K() {378 ;(this.value = null), (this.repr = '')379 }380 function B() {381 ;(this.value = null),382 (this.type = 'integer'),383 (this.repr = ''),384 (this.unit = '')385 }386 function W(e) {387 for (388 var n = '', o = (e = '' + e).charCodeAt(0), r = 0;389 r < e.length;390 r++391 ) {392 var i = e.charCodeAt(r)393 if (0 == i)394 throw new h('Invalid character: the input contains U+0000.')395 t(i, 1, 31) ||396 127 == i ||397 (0 == r && t(i, 48, 57)) ||398 (1 == r && t(i, 48, 57) && 45 == o)399 ? (n += '\\' + i.toString(16) + ' ')400 : i >= 128 ||401 45 == i ||402 95 == i ||403 t(i, 48, 57) ||404 t(i, 65, 90) ||405 t(i, 97, 122)406 ? (n += e[r])407 : (n += '\\' + e[r])408 }409 return n410 }411 function J(e) {412 e = '' + e413 for (var n = '', o = 0; o < e.length; o++) {414 var r = e.charCodeAt(o)415 if (0 == r)416 throw new h('Invalid character: the input contains U+0000.')417 t(r, 1, 31) || 127 == r418 ? (n += '\\' + r.toString(16) + ' ')419 : (n += 34 == r || 92 == r ? '\\' + e[o] : e[o])420 }421 return n422 }423 ;((h.prototype = new Error()).name = 'InvalidCharacterError'),424 (p.prototype.toJSON = function () {425 return { token: this.tokenType }426 }),427 (p.prototype.toString = function () {428 return this.tokenType429 }),430 (p.prototype.toSource = function () {431 return '' + this432 }),433 (f.prototype = Object.create(p.prototype)),434 (f.prototype.tokenType = 'BADSTRING'),435 (d.prototype = Object.create(p.prototype)),436 (d.prototype.tokenType = 'BADURL'),437 (m.prototype = Object.create(p.prototype)),438 (m.prototype.tokenType = 'WHITESPACE'),439 (m.prototype.toString = function () {440 return 'WS'441 }),442 (m.prototype.toSource = function () {443 return ' '444 }),445 (g.prototype = Object.create(p.prototype)),446 (g.prototype.tokenType = 'CDO'),447 (g.prototype.toSource = function () {448 return '\x3c!--'449 }),450 (y.prototype = Object.create(p.prototype)),451 (y.prototype.tokenType = 'CDC'),452 (y.prototype.toSource = function () {453 return '--\x3e'454 }),455 (_.prototype = Object.create(p.prototype)),456 (_.prototype.tokenType = ':'),457 (v.prototype = Object.create(p.prototype)),458 (v.prototype.tokenType = ';'),459 (w.prototype = Object.create(p.prototype)),460 (w.prototype.tokenType = ','),461 (E.prototype = Object.create(p.prototype)),462 (S.prototype = Object.create(E.prototype)),463 (S.prototype.tokenType = '{'),464 (T.prototype = Object.create(E.prototype)),465 (T.prototype.tokenType = '}'),466 (b.prototype = Object.create(E.prototype)),467 (b.prototype.tokenType = '['),468 (k.prototype = Object.create(E.prototype)),469 (k.prototype.tokenType = ']'),470 (M.prototype = Object.create(E.prototype)),471 (M.prototype.tokenType = '('),472 (x.prototype = Object.create(E.prototype)),473 (x.prototype.tokenType = ')'),474 (C.prototype = Object.create(p.prototype)),475 (C.prototype.tokenType = '~='),476 (P.prototype = Object.create(p.prototype)),477 (P.prototype.tokenType = '|='),478 (A.prototype = Object.create(p.prototype)),479 (A.prototype.tokenType = '^='),480 (N.prototype = Object.create(p.prototype)),481 (N.prototype.tokenType = '$='),482 (O.prototype = Object.create(p.prototype)),483 (O.prototype.tokenType = '*='),484 (R.prototype = Object.create(p.prototype)),485 (R.prototype.tokenType = '||'),486 (j.prototype = Object.create(p.prototype)),487 (j.prototype.tokenType = 'EOF'),488 (j.prototype.toSource = function () {489 return ''490 }),491 (I.prototype = Object.create(p.prototype)),492 (I.prototype.tokenType = 'DELIM'),493 (I.prototype.toString = function () {494 return 'DELIM(' + this.value + ')'495 }),496 (I.prototype.toJSON = function () {497 var e =498 this.constructor.prototype.constructor.prototype.toJSON.call(499 this500 )501 return (e.value = this.value), e502 }),503 (I.prototype.toSource = function () {504 return '\\' == this.value ? '\\\n' : this.value505 }),506 (D.prototype = Object.create(p.prototype)),507 (D.prototype.ASCIIMatch = function (e) {508 return this.value.toLowerCase() == e.toLowerCase()509 }),510 (D.prototype.toJSON = function () {511 var e =512 this.constructor.prototype.constructor.prototype.toJSON.call(513 this514 )515 return (e.value = this.value), e516 }),517 (L.prototype = Object.create(D.prototype)),518 (L.prototype.tokenType = 'IDENT'),519 (L.prototype.toString = function () {520 return 'IDENT(' + this.value + ')'521 }),522 (L.prototype.toSource = function () {523 return W(this.value)524 }),525 ($.prototype = Object.create(D.prototype)),526 ($.prototype.tokenType = 'FUNCTION'),527 ($.prototype.toString = function () {528 return 'FUNCTION(' + this.value + ')'529 }),530 ($.prototype.toSource = function () {531 return W(this.value) + '('532 }),533 (U.prototype = Object.create(D.prototype)),534 (U.prototype.tokenType = 'AT-KEYWORD'),535 (U.prototype.toString = function () {536 return 'AT(' + this.value + ')'537 }),538 (U.prototype.toSource = function () {539 return '@' + W(this.value)540 }),541 (q.prototype = Object.create(D.prototype)),542 (q.prototype.tokenType = 'HASH'),543 (q.prototype.toString = function () {544 return 'HASH(' + this.value + ')'545 }),546 (q.prototype.toJSON = function () {547 var e =548 this.constructor.prototype.constructor.prototype.toJSON.call(549 this550 )551 return (e.value = this.value), (e.type = this.type), e552 }),553 (q.prototype.toSource = function () {554 return 'id' == this.type555 ? '#' + W(this.value)556 : '#' +557 (function (e) {558 for (559 var n = '', o = ((e = '' + e).charCodeAt(0), 0);560 o < e.length;561 o++562 ) {563 var r = e.charCodeAt(o)564 if (0 == r)565 throw new h(566 'Invalid character: the input contains U+0000.'567 )568 r >= 128 ||569 45 == r ||570 95 == r ||571 t(r, 48, 57) ||572 t(r, 65, 90) ||573 t(r, 97, 122)574 ? (n += e[o])575 : (n += '\\' + r.toString(16) + ' ')576 }577 return n578 })(this.value)579 }),580 (G.prototype = Object.create(D.prototype)),581 (G.prototype.tokenType = 'STRING'),582 (G.prototype.toString = function () {583 return '"' + J(this.value) + '"'584 }),585 (F.prototype = Object.create(D.prototype)),586 (F.prototype.tokenType = 'URL'),587 (F.prototype.toString = function () {588 return 'URL(' + this.value + ')'589 }),590 (F.prototype.toSource = function () {591 return 'url("' + J(this.value) + '")'592 }),593 (H.prototype = Object.create(p.prototype)),594 (H.prototype.tokenType = 'NUMBER'),595 (H.prototype.toString = function () {596 return 'integer' == this.type597 ? 'INT(' + this.value + ')'598 : 'NUMBER(' + this.value + ')'599 }),600 (H.prototype.toJSON = function () {601 var e =602 this.constructor.prototype.constructor.prototype.toJSON.call(603 this604 )605 return (606 (e.value = this.value),607 (e.type = this.type),608 (e.repr = this.repr),609 e610 )611 }),612 (H.prototype.toSource = function () {613 return this.repr614 }),615 (K.prototype = Object.create(p.prototype)),616 (K.prototype.tokenType = 'PERCENTAGE'),617 (K.prototype.toString = function () {618 return 'PERCENTAGE(' + this.value + ')'619 }),620 (K.prototype.toJSON = function () {621 var e =622 this.constructor.prototype.constructor.prototype.toJSON.call(623 this624 )625 return (e.value = this.value), (e.repr = this.repr), e626 }),627 (K.prototype.toSource = function () {628 return this.repr + '%'629 }),630 (B.prototype = Object.create(p.prototype)),631 (B.prototype.tokenType = 'DIMENSION'),632 (B.prototype.toString = function () {633 return 'DIM(' + this.value + ',' + this.unit + ')'634 }),635 (B.prototype.toJSON = function () {636 var e =637 this.constructor.prototype.constructor.prototype.toJSON.call(638 this639 )640 return (641 (e.value = this.value),642 (e.type = this.type),643 (e.repr = this.repr),644 (e.unit = this.unit),645 e646 )647 }),648 (B.prototype.toSource = function () {649 var e = this.repr,650 n = W(this.unit)651 return (652 'e' != n[0].toLowerCase() ||653 ('-' != n[1] && !t(n.charCodeAt(1), 48, 57)) ||654 (n = '\\65 ' + n.slice(1, n.length)),655 e + n656 )657 }),658 (e.tokenize = function (e) {659 e = (function (e) {660 for (var n = [], o = 0; o < e.length; o++) {661 var r = e.charCodeAt(o)662 if (663 (13 == r && 10 == e.charCodeAt(o + 1) && ((r = 10), o++),664 (13 != r && 12 != r) || (r = 10),665 0 == r && (r = 65533),666 t(r, 55296, 56319) && t(e.charCodeAt(o + 1), 56320, 57343))667 ) {668 var i = r - 55296,669 s = e.charCodeAt(o + 1) - 56320670 ;(r = Math.pow(2, 16) + i * Math.pow(2, 10) + s), o++671 }672 n.push(r)673 }674 return n675 })(e)676 for (677 var r,678 h = -1,679 p = [],680 E = 0,681 D = 0,682 W = 0,683 J = { line: E, column: D },684 Q = function (t) {685 return t >= e.length ? -1 : e[t]686 },687 z = function (e) {688 if ((void 0 === e && (e = 1), e > 3))689 throw 'Spec Error: no more than three codepoints of lookahead.'690 return Q(h + e)691 },692 V = function (e) {693 return (694 void 0 === e && (e = 1),695 l((r = Q((h += e))))696 ? ((E += 1), (W = D), (D = 0))697 : (D += e),698 !0699 )700 },701 X = function () {702 return (703 (h -= 1),704 l(r) ? ((E -= 1), (D = W)) : (D -= 1),705 (J.line = E),706 (J.column = D),707 !0708 )709 },710 Y = function (e) {711 return void 0 === e && (e = r), -1 == e712 },713 Z = function () {714 return (715 console.log(716 'Parse error at index ' +717 h +718 ', processing codepoint 0x' +719 r.toString(16) +720 '.'721 ),722 !0723 )724 },725 ee = function () {726 if ((te(), V(), a(r))) {727 for (; a(z()); ) V()728 return new m()729 }730 if (34 == r) return re()731 if (35 == r) {732 if (s(z()) || ce(z(1), z(2))) {733 var e = new q()734 return (735 ae(z(1), z(2), z(3)) && (e.type = 'id'),736 (e.value = pe()),737 e738 )739 }740 return new I(r)741 }742 return 36 == r743 ? 61 == z()744 ? (V(), new N())745 : new I(r)746 : 39 == r747 ? re()748 : 40 == r749 ? new M()750 : 41 == r751 ? new x()752 : 42 == r753 ? 61 == z()754 ? (V(), new O())755 : new I(r)756 : 43 == r757 ? ue()758 ? (X(), ne())759 : new I(r)760 : 44 == r761 ? new w()762 : 45 == r763 ? ue()764 ? (X(), ne())765 : 45 == z(1) && 62 == z(2)766 ? (V(2), new y())767 : he()768 ? (X(), oe())769 : new I(r)770 : 46 == r771 ? ue()772 ? (X(), ne())773 : new I(r)774 : 58 == r775 ? new _()776 : 59 == r777 ? new v()778 : 60 == r779 ? 33 == z(1) && 45 == z(2) && 45 == z(3)780 ? (V(3), new g())781 : new I(r)782 : 64 == r783 ? ae(z(1), z(2), z(3))784 ? new U(pe())785 : new I(r)786 : 91 == r787 ? new b()788 : 92 == r789 ? le()790 ? (X(), oe())791 : (Z(), new I(r))792 : 93 == r793 ? new k()794 : 94 == r795 ? 61 == z()796 ? (V(), new A())797 : new I(r)798 : 123 == r799 ? new S()800 : 124 == r801 ? 61 == z()802 ? (V(), new P())803 : 124 == z()804 ? (V(), new R())805 : new I(r)806 : 125 == r807 ? new T()808 : 126 == r809 ? 61 == z()810 ? (V(), new C())811 : new I(r)812 : n(r)813 ? (X(), ne())814 : i(r)815 ? (X(), oe())816 : Y()817 ? new j()818 : new I(r)819 },820 te = function () {821 for (; 47 == z(1) && 42 == z(2); )822 for (V(2); ; ) {823 if ((V(), 42 == r && 47 == z())) {824 V()825 break826 }827 if (Y()) return void Z()828 }829 },830 ne = function () {831 var e,832 t = fe()833 return ae(z(1), z(2), z(3))834 ? (((e = new B()).value = t.value),835 (e.repr = t.repr),836 (e.type = t.type),837 (e.unit = pe()),838 e)839 : 37 == z()840 ? (V(),841 ((e = new K()).value = t.value),842 (e.repr = t.repr),843 e)844 : (((e = new H()).value = t.value),845 (e.repr = t.repr),846 (e.type = t.type),847 e)848 },849 oe = function () {850 var e = pe()851 if ('url' == e.toLowerCase() && 40 == z()) {852 for (V(); a(z(1)) && a(z(2)); ) V()853 return 34 == z() || 39 == z()854 ? new $(e)855 : !a(z()) || (34 != z(2) && 39 != z(2))856 ? ie()857 : new $(e)858 }859 return 40 == z() ? (V(), new $(e)) : new L(e)860 },861 re = function (e) {862 void 0 === e && (e = r)863 for (var t = ''; V(); ) {864 if (r == e || Y()) return new G(t)865 if (l(r)) return Z(), X(), new f()866 92 == r867 ? Y(z()) || (l(z()) ? V() : (t += u(se())))868 : (t += u(r))869 }870 },871 ie = function () {872 for (var e = new F(''); a(z()); ) V()873 if (Y(z())) return e874 for (; V(); ) {875 if (41 == r || Y()) return e876 if (a(r)) {877 for (; a(z()); ) V()878 return 41 == z() || Y(z()) ? (V(), e) : (me(), new d())879 }880 if (34 == r || 39 == r || 40 == r || c(r))881 return Z(), me(), new d()882 if (92 == r) {883 if (!le()) return Z(), me(), new d()884 e.value += u(se())885 } else e.value += u(r)886 }887 },888 se = function () {889 if ((V(), o(r))) {890 for (var e = [r], t = 0; t < 5 && o(z()); t++)891 V(), e.push(r)892 a(z()) && V()893 var n = parseInt(894 e895 .map(function (e) {896 return String.fromCharCode(e)897 })898 .join(''),899 16900 )901 return n > 1114111 && (n = 65533), n902 }903 return Y() ? 65533 : r904 },905 ce = function (e, t) {906 return 92 == e && !l(t)907 },908 le = function () {909 return ce(r, z())910 },911 ae = function (e, t, n) {912 return 45 == e913 ? i(t) || 45 == t || ce(t, n)914 : !!i(e) || (92 == e && ce(e, t))915 },916 he = function () {917 return ae(r, z(1), z(2))918 },919 ue = function () {920 return (921 (e = r),922 (t = z(1)),923 (o = z(2)),924 43 == e || 45 == e925 ? !!n(t) || !(46 != t || !n(o))926 : 46 == e927 ? !!n(t)928 : !!n(e)929 )930 var e, t, o931 },932 pe = function () {933 for (var e = ''; V(); )934 if (s(r)) e += u(r)935 else {936 if (!le()) return X(), e937 e += u(se())938 }939 },940 fe = function () {941 var e = [],942 t = 'integer'943 for (944 (43 != z() && 45 != z()) || (V(), (e += u(r)));945 n(z());946 )947 V(), (e += u(r))948 if (46 == z(1) && n(z(2)))949 for (950 V(), e += u(r), V(), e += u(r), t = 'number';951 n(z());952 )953 V(), (e += u(r))954 var o = z(1),955 i = z(2),956 s = z(3)957 if ((69 != o && 101 != o) || !n(i)) {958 if ((69 == o || 101 == o) && (43 == i || 45 == i) && n(s))959 for (960 V(),961 e += u(r),962 V(),963 e += u(r),964 V(),965 e += u(r),966 t = 'number';967 n(z());968 )969 V(), (e += u(r))970 } else971 for (972 V(), e += u(r), V(), e += u(r), t = 'number';973 n(z());974 )975 V(), (e += u(r))976 return { type: t, value: de(e), repr: e }977 },978 de = function (e) {979 return +e980 },981 me = function () {982 for (; V(); ) {983 if (41 == r || Y()) return984 le() && se()985 }986 },987 ge = 0;988 !Y(z());989 )990 if ((p.push(ee()), ++ge > 2 * e.length))991 return "I'm infinite-looping!"992 return p993 }),994 (e.IdentToken = L),995 (e.FunctionToken = $),996 (e.AtKeywordToken = U),997 (e.HashToken = q),998 (e.StringToken = G),999 (e.BadStringToken = f),1000 (e.URLToken = F),1001 (e.BadURLToken = d),1002 (e.DelimToken = I),1003 (e.NumberToken = H),1004 (e.PercentageToken = K),1005 (e.DimensionToken = B),1006 (e.IncludeMatchToken = C),1007 (e.DashMatchToken = P),1008 (e.PrefixMatchToken = A),1009 (e.SuffixMatchToken = N),1010 (e.SubstringMatchToken = O),1011 (e.ColumnToken = R),1012 (e.WhitespaceToken = m),1013 (e.CDOToken = g),1014 (e.CDCToken = y),1015 (e.ColonToken = _),1016 (e.SemicolonToken = v),1017 (e.CommaToken = w),1018 (e.OpenParenToken = M),1019 (e.CloseParenToken = x),1020 (e.OpenSquareToken = b),1021 (e.CloseSquareToken = k),1022 (e.OpenCurlyToken = S),1023 (e.CloseCurlyToken = T),1024 (e.EOFToken = j),1025 (e.CSSParserToken = p),1026 (e.GroupingToken = E)1027 }),1028 void 0 === (o = n.apply(t, [t])) || (e.exports = o)1029 },1030 461: (e, t, n) => {1031 Object.defineProperty(t, '__esModule', { value: !0 }),1032 (t.parseSelector = function (e) {1033 const t = (function (e) {1034 let t,1035 n = 0,1036 o = 01037 const r = { parts: [] },1038 i = () => {1039 const t = e.substring(o, n).trim(),1040 i = t.indexOf('=')1041 let s, c1042 ;-1 !== i &&1043 t1044 .substring(0, i)1045 .trim()1046 .match(/^[a-zA-Z_0-9-+:*]+$/)1047 ? ((s = t.substring(0, i).trim()),1048 (c = t.substring(i + 1)))1049 : (t.length > 1 &&1050 '"' === t[0] &&1051 '"' === t[t.length - 1]) ||1052 (t.length > 1 &&1053 "'" === t[0] &&1054 "'" === t[t.length - 1])1055 ? ((s = 'text'), (c = t))1056 : /^\(*\/\//.test(t) || t.startsWith('..')1057 ? ((s = 'xpath'), (c = t))1058 : ((s = 'css'), (c = t))1059 let l = !11060 if (1061 ('*' === s[0] && ((l = !0), (s = s.substring(1))),1062 r.parts.push({ name: s, body: c }),1063 l)1064 ) {1065 if (void 0 !== r.capture)1066 throw new Error(1067 'Only one of the selectors can capture using * modifier'1068 )1069 r.capture = r.parts.length - 11070 }1071 }1072 if (!e.includes('>>')) return (n = e.length), i(), r1073 for (; n < e.length; ) {1074 const r = e[n]1075 '\\' === r && n + 1 < e.length1076 ? (n += 2)1077 : r === t1078 ? ((t = void 0), n++)1079 : t || ('"' !== r && "'" !== r && '`' !== r)1080 ? t || '>' !== r || '>' !== e[n + 1]1081 ? n++1082 : (i(), (n += 2), (o = n))1083 : ((t = r), n++)1084 }1085 return i(), r1086 })(e),1087 n = t.parts.map((e) =>1088 'css' === e.name || 'css:light' === e.name1089 ? ('css:light' === e.name &&1090 (e.body = ':light(' + e.body + ')'),1091 { name: 'css', body: (0, o.parseCSS)(e.body, r).selector })1092 : e1093 )1094 return { selector: e, capture: t.capture, parts: n }1095 }),1096 (t.customCSSNames = void 0)1097 var o = n(317)1098 const r = new Set([1099 'not',1100 'is',1101 'where',1102 'has',1103 'scope',1104 'light',1105 'visible',1106 'text',1107 'text-matches',1108 'text-is',1109 'has-text',1110 'above',1111 'below',1112 'right-of',1113 'left-of',1114 'near',1115 'nth-match'1116 ])1117 t.customCSSNames = r1118 },1119 848: (e, t, n) => {1120 Object.defineProperty(t, '__esModule', { value: !0 }),1121 (t.createLaxTextMatcher = d),1122 (t.createStrictTextMatcher = m),1123 (t.createRegexTextMatcher = g),1124 (t.elementText = _),1125 (t.elementMatchesText = v),1126 (t.parentElementOrShadowHost = x),1127 (t.isVisible = A),1128 (t.SelectorEvaluatorImpl = void 0)1129 var o = n(461)1130 t.SelectorEvaluatorImpl = class {1131 constructor(e) {1132 ;(this._engines = new Map()),1133 (this._cacheQueryCSS = new Map()),1134 (this._cacheMatches = new Map()),1135 (this._cacheQuery = new Map()),1136 (this._cacheMatchesSimple = new Map()),1137 (this._cacheMatchesParents = new Map()),1138 (this._cacheCallMatches = new Map()),1139 (this._cacheCallQuery = new Map()),1140 (this._cacheQuerySimple = new Map()),1141 (this._cacheText = new Map()),1142 (this._scoreMap = void 0),1143 (this._retainCacheCounter = 0)1144 for (const [t, n] of e) this._engines.set(t, n)1145 this._engines.set('not', c),1146 this._engines.set('is', r),1147 this._engines.set('where', r),1148 this._engines.set('has', i),1149 this._engines.set('scope', s),1150 this._engines.set('light', l),1151 this._engines.set('visible', a),1152 this._engines.set('text', h),1153 this._engines.set('text-is', u),1154 this._engines.set('text-matches', p),1155 this._engines.set('has-text', f),1156 this._engines.set('right-of', k('right-of', w)),1157 this._engines.set('left-of', k('left-of', E)),1158 this._engines.set('above', k('above', S)),1159 this._engines.set('below', k('below', T)),1160 this._engines.set('near', k('near', b)),1161 this._engines.set('nth-match', M)1162 const t = [...this._engines.keys()]1163 t.sort()1164 const n = [...o.customCSSNames]1165 if ((n.sort(), t.join('|') !== n.join('|')))1166 throw new Error(1167 `Please keep customCSSNames in sync with evaluator engines: ${t.join(1168 '|'1169 )} vs ${n.join('|')}`1170 )1171 }1172 begin() {1173 ++this._retainCacheCounter1174 }1175 end() {1176 --this._retainCacheCounter,1177 this._retainCacheCounter ||1178 (this._cacheQueryCSS.clear(),1179 this._cacheMatches.clear(),1180 this._cacheQuery.clear(),1181 this._cacheMatchesSimple.clear(),1182 this._cacheMatchesParents.clear(),1183 this._cacheCallMatches.clear(),1184 this._cacheCallQuery.clear(),1185 this._cacheQuerySimple.clear(),1186 this._cacheText.clear())1187 }1188 _cached(e, t, n, o) {1189 e.has(t) || e.set(t, [])1190 const r = e.get(t),1191 i = r.find((e) => n.every((t, n) => e.rest[n] === t))1192 if (i) return i.result1193 const s = o()1194 return r.push({ rest: n, result: s }), s1195 }1196 _checkSelector(e) {1197 if (1198 'object' != typeof e ||1199 !e ||1200 !(Array.isArray(e) || ('simples' in e && e.simples.length))1201 )1202 throw new Error(`Malformed selector "${e}"`)1203 return e1204 }1205 matches(e, t, n) {1206 const o = this._checkSelector(t)1207 this.begin()1208 try {1209 return this._cached(1210 this._cacheMatches,1211 e,1212 [o, n.scope, n.pierceShadow],1213 () =>1214 Array.isArray(o)1215 ? this._matchesEngine(r, e, o, n)1216 : !!this._matchesSimple(1217 e,1218 o.simples[o.simples.length - 1].selector,1219 n1220 ) && this._matchesParents(e, o, o.simples.length - 2, n)1221 )1222 } finally {1223 this.end()1224 }1225 }1226 query(e, t) {1227 const n = this._checkSelector(t)1228 this.begin()1229 try {1230 return this._cached(1231 this._cacheQuery,1232 n,1233 [e.scope, e.pierceShadow],1234 () => {1235 if (Array.isArray(n)) return this._queryEngine(r, e, n)1236 const t = this._scoreMap1237 this._scoreMap = new Map()1238 let o = this._querySimple(1239 e,1240 n.simples[n.simples.length - 1].selector1241 )1242 return (1243 (o = o.filter((t) =>1244 this._matchesParents(t, n, n.simples.length - 2, e)1245 )),1246 this._scoreMap.size &&1247 o.sort((e, t) => {1248 const n = this._scoreMap.get(e),1249 o = this._scoreMap.get(t)1250 return n === o1251 ? 01252 : void 0 === n1253 ? 11254 : void 0 === o1255 ? -11256 : n - o1257 }),1258 (this._scoreMap = t),1259 o1260 )1261 }1262 )1263 } finally {1264 this.end()1265 }1266 }1267 _markScore(e, t) {1268 this._scoreMap && this._scoreMap.set(e, t)1269 }1270 _matchesSimple(e, t, n) {1271 return this._cached(1272 this._cacheMatchesSimple,1273 e,1274 [t, n.scope, n.pierceShadow],1275 () => {1276 if (1277 !t.functions.some(1278 (e) => 'scope' === e.name || 'is' === e.name1279 ) &&1280 e === n.scope1281 )1282 return !11283 if (t.css && !this._matchesCSS(e, t.css)) return !11284 for (const o of t.functions)1285 if (1286 !this._matchesEngine(this._getEngine(o.name), e, o.args, n)1287 )1288 return !11289 return !01290 }1291 )1292 }1293 _querySimple(e, t) {1294 return t.functions.length1295 ? this._cached(1296 this._cacheQuerySimple,1297 t,1298 [e.scope, e.pierceShadow],1299 () => {1300 let n = t.css1301 const o = t.functions1302 let r1303 '*' === n && o.length && (n = void 0)1304 let i = -11305 void 0 !== n1306 ? (r = this._queryCSS(e, n))1307 : ((i = o.findIndex(1308 (e) => void 0 !== this._getEngine(e.name).query1309 )),1310 -1 === i && (i = 0),1311 (r = this._queryEngine(1312 this._getEngine(o[i].name),1313 e,1314 o[i].args1315 )))1316 for (let t = 0; t < o.length; t++) {1317 if (t === i) continue1318 const n = this._getEngine(o[t].name)1319 void 0 !== n.matches &&1320 (r = r.filter((r) =>1321 this._matchesEngine(n, r, o[t].args, e)1322 ))1323 }1324 for (let t = 0; t < o.length; t++) {1325 if (t === i) continue1326 const n = this._getEngine(o[t].name)1327 void 0 === n.matches &&1328 (r = r.filter((r) =>1329 this._matchesEngine(n, r, o[t].args, e)1330 ))1331 }1332 return r1333 }1334 )1335 : this._queryCSS(e, t.css || '*')1336 }1337 _matchesParents(e, t, n, o) {1338 return (1339 n < 0 ||1340 this._cached(1341 this._cacheMatchesParents,1342 e,1343 [t, n, o.scope, o.pierceShadow],1344 () => {1345 const { selector: r, combinator: i } = t.simples[n]1346 if ('>' === i) {1347 const i = C(e, o)1348 return (1349 !(!i || !this._matchesSimple(i, r, o)) &&1350 this._matchesParents(i, t, n - 1, o)1351 )1352 }1353 if ('+' === i) {1354 const i = P(e, o)1355 return (1356 !(!i || !this._matchesSimple(i, r, o)) &&1357 this._matchesParents(i, t, n - 1, o)1358 )1359 }1360 if ('' === i) {1361 let i = C(e, o)1362 for (; i; ) {1363 if (this._matchesSimple(i, r, o)) {1364 if (this._matchesParents(i, t, n - 1, o)) return !01365 if ('' === t.simples[n - 1].combinator) break1366 }1367 i = C(i, o)1368 }1369 return !11370 }1371 if ('~' === i) {1372 let i = P(e, o)1373 for (; i; ) {1374 if (this._matchesSimple(i, r, o)) {1375 if (this._matchesParents(i, t, n - 1, o)) return !01376 if ('~' === t.simples[n - 1].combinator) break1377 }1378 i = P(i, o)1379 }1380 return !11381 }1382 if ('>=' === i) {1383 let i = e1384 for (; i; ) {1385 if (this._matchesSimple(i, r, o)) {1386 if (this._matchesParents(i, t, n - 1, o)) return !01387 if ('' === t.simples[n - 1].combinator) break1388 }1389 i = C(i, o)1390 }1391 return !11392 }1393 throw new Error(`Unsupported combinator "${i}"`)1394 }1395 )1396 )1397 }1398 _matchesEngine(e, t, n, o) {1399 if (e.matches) return this._callMatches(e, t, n, o)1400 if (e.query) return this._callQuery(e, n, o).includes(t)1401 throw new Error(1402 'Selector engine should implement "matches" or "query"'1403 )1404 }1405 _queryEngine(e, t, n) {1406 if (e.query) return this._callQuery(e, n, t)1407 if (e.matches)1408 return this._queryCSS(t, '*').filter((o) =>1409 this._callMatches(e, o, n, t)1410 )1411 throw new Error(1412 'Selector engine should implement "matches" or "query"'1413 )1414 }1415 _callMatches(e, t, n, o) {1416 return this._cached(1417 this._cacheCallMatches,1418 t,1419 [e, o.scope, o.pierceShadow, ...n],1420 () => e.matches(t, n, o, this)1421 )1422 }1423 _callQuery(e, t, n) {1424 return this._cached(1425 this._cacheCallQuery,1426 e,1427 [n.scope, n.pierceShadow, ...t],1428 () => e.query(n, t, this)1429 )1430 }1431 _matchesCSS(e, t) {1432 return e.matches(t)1433 }1434 _queryCSS(e, t) {1435 return this._cached(1436 this._cacheQueryCSS,1437 t,1438 [e.scope, e.pierceShadow],1439 () => {1440 let n = []1441 return (1442 (function o(r) {1443 if (1444 ((n = n.concat([...r.querySelectorAll(t)])),1445 e.pierceShadow)1446 ) {1447 r.shadowRoot && o(r.shadowRoot)1448 for (const e of r.querySelectorAll('*'))1449 e.shadowRoot && o(e.shadowRoot)1450 }1451 })(e.scope),1452 n1453 )1454 }1455 )1456 }1457 _getEngine(e) {1458 const t = this._engines.get(e)1459 if (!t) throw new Error(`Unknown selector engine "${e}"`)1460 return t1461 }1462 }1463 const r = {1464 matches(e, t, n, o) {1465 if (0 === t.length)1466 throw new Error('"is" engine expects non-empty selector list')1467 return t.some((t) => o.matches(e, t, n))1468 },1469 query(e, t, n) {1470 if (0 === t.length)1471 throw new Error('"is" engine expects non-empty selector list')1472 let o = []1473 for (const r of t) o = o.concat(n.query(e, r))1474 return 1 === t.length1475 ? o1476 : (function (e) {1477 const t = new Map(),1478 n = [],1479 o = []1480 function r(e) {1481 let o = t.get(e)1482 if (o) return o1483 const i = x(e)1484 return (1485 i ? r(i).children.push(e) : n.push(e),1486 (o = { children: [], taken: !1 }),1487 t.set(e, o),1488 o1489 )1490 }1491 return (1492 e.forEach((e) => (r(e).taken = !0)),1493 n.forEach(function e(n) {1494 const r = t.get(n)1495 if ((r.taken && o.push(n), r.children.length > 1)) {1496 const e = new Set(r.children)1497 r.children = []1498 let t = n.firstElementChild1499 for (; t && r.children.length < e.size; )1500 e.has(t) && r.children.push(t),1501 (t = t.nextElementSibling)1502 for (1503 t = n.shadowRoot1504 ? n.shadowRoot.firstElementChild1505 : null;1506 t && r.children.length < e.size;1507 )1508 e.has(t) && r.children.push(t),1509 (t = t.nextElementSibling)1510 }1511 r.children.forEach(e)1512 }),1513 o1514 )1515 })(o)1516 }1517 },1518 i = {1519 matches(e, t, n, o) {1520 if (0 === t.length)1521 throw new Error('"has" engine expects non-empty selector list')1522 return o.query({ ...n, scope: e }, t).length > 01523 }1524 },1525 s = {1526 matches(e, t, n, o) {1527 if (0 !== t.length)1528 throw new Error('"scope" engine expects no arguments')1529 return 9 === n.scope.nodeType1530 ? e === n.scope.documentElement1531 : e === n.scope1532 },1533 query(e, t, n) {1534 if (0 !== t.length)1535 throw new Error('"scope" engine expects no arguments')1536 if (9 === e.scope.nodeType) {1537 const t = e.scope.documentElement1538 return t ? [t] : []1539 }1540 return 1 === e.scope.nodeType ? [e.scope] : []1541 }1542 },1543 c = {1544 matches(e, t, n, o) {1545 if (0 === t.length)1546 throw new Error('"not" engine expects non-empty selector list')1547 return !o.matches(e, t, n)1548 }1549 },1550 l = {1551 query: (e, t, n) => n.query({ ...e, pierceShadow: !1 }, t),1552 matches: (e, t, n, o) => o.matches(e, t, { ...n, pierceShadow: !1 })1553 },1554 a = {1555 matches(e, t, n, o) {1556 if (t.length)1557 throw new Error('"visible" engine expects no arguments')1558 return A(e)1559 }1560 },1561 h = {1562 matches(e, t, n, o) {1563 if (1 !== t.length || 'string' != typeof t[0])1564 throw new Error('"text" engine expects a single string')1565 return 'self' === v(o, e, d(t[0]))1566 }1567 },1568 u = {1569 matches(e, t, n, o) {1570 if (1 !== t.length || 'string' != typeof t[0])1571 throw new Error('"text-is" engine expects a single string')1572 return 'none' !== v(o, e, m(t[0]))1573 }1574 },1575 p = {1576 matches(e, t, n, o) {1577 if (1578 0 === t.length ||1579 'string' != typeof t[0] ||1580 t.length > 2 ||1581 (2 === t.length && 'string' != typeof t[1])1582 )1583 throw new Error(1584 '"text-matches" engine expects a regexp body and optional regexp flags'1585 )1586 return 'self' === v(o, e, g(t[0], 2 === t.length ? t[1] : void 0))1587 }1588 },1589 f = {1590 matches(e, t, n, o) {1591 if (1 !== t.length || 'string' != typeof t[0])1592 throw new Error('"has-text" engine expects a single string')1593 return !y(e) && d(t[0])(_(o, e))1594 }1595 }1596 function d(e) {1597 return (1598 (e = e.trim().replace(/\s+/g, ' ').toLowerCase()),1599 (t) => t.full.trim().replace(/\s+/g, ' ').toLowerCase().includes(e)1600 )1601 }1602 function m(e) {1603 return (1604 (e = e.trim().replace(/\s+/g, ' ')),1605 (t) =>1606 (!e && !t.immediate.length) ||1607 t.immediate.some((t) => t.trim().replace(/\s+/g, ' ') === e)1608 )1609 }1610 function g(e, t) {1611 const n = new RegExp(e, t)1612 return (e) => n.test(e.full)1613 }1614 function y(e) {1615 return (1616 'SCRIPT' === e.nodeName ||1617 'STYLE' === e.nodeName ||1618 (document.head && document.head.contains(e))1619 )1620 }1621 function _(e, t) {1622 let n = e._cacheText.get(t)1623 if (void 0 === n) {1624 if (((n = { full: '', immediate: [] }), !y(t))) {1625 let o = ''1626 if (1627 t instanceof HTMLInputElement &&1628 ('submit' === t.type || 'button' === t.type)1629 )1630 n = { full: t.value, immediate: [t.value] }1631 else {1632 for (let r = t.firstChild; r; r = r.nextSibling)1633 r.nodeType === Node.TEXT_NODE1634 ? ((n.full += r.nodeValue || ''), (o += r.nodeValue || ''))1635 : (o && n.immediate.push(o),1636 (o = ''),1637 r.nodeType === Node.ELEMENT_NODE &&1638 (n.full += _(e, r).full))1639 o && n.immediate.push(o),1640 t.shadowRoot && (n.full += _(e, t.shadowRoot).full)1641 }1642 }1643 e._cacheText.set(t, n)1644 }1645 return n1646 }1647 function v(e, t, n) {1648 if (y(t)) return 'none'1649 if (!n(_(e, t))) return 'none'1650 for (let o = t.firstChild; o; o = o.nextSibling)1651 if (o.nodeType === Node.ELEMENT_NODE && n(_(e, o)))1652 return 'selfAndChildren'1653 return t.shadowRoot && n(_(e, t.shadowRoot))1654 ? 'selfAndChildren'1655 : 'self'1656 }1657 function w(e, t, n) {1658 const o = e.left - t.right1659 if (!(o < 0 || (void 0 !== n && o > n)))1660 return (1661 o + Math.max(t.bottom - e.bottom, 0) + Math.max(e.top - t.top, 0)1662 )1663 }1664 function E(e, t, n) {1665 const o = t.left - e.right1666 if (!(o < 0 || (void 0 !== n && o > n)))1667 return (1668 o + Math.max(t.bottom - e.bottom, 0) + Math.max(e.top - t.top, 0)1669 )1670 }1671 function S(e, t, n) {1672 const o = t.top - e.bottom1673 if (!(o < 0 || (void 0 !== n && o > n)))1674 return (1675 o + Math.max(e.left - t.left, 0) + Math.max(t.right - e.right, 0)1676 )1677 }1678 function T(e, t, n) {1679 const o = e.top - t.bottom1680 if (!(o < 0 || (void 0 !== n && o > n)))1681 return (1682 o + Math.max(e.left - t.left, 0) + Math.max(t.right - e.right, 0)1683 )1684 }1685 function b(e, t, n) {1686 const o = void 0 === n ? 50 : n1687 let r = 01688 return (1689 e.left - t.right >= 0 && (r += e.left - t.right),1690 t.left - e.right >= 0 && (r += t.left - e.right),1691 t.top - e.bottom >= 0 && (r += t.top - e.bottom),1692 e.top - t.bottom >= 0 && (r += e.top - t.bottom),1693 r > o ? void 0 : r1694 )1695 }1696 function k(e, t) {1697 return {1698 matches(n, o, r, i) {1699 const s =1700 o.length && 'number' == typeof o[o.length - 1]1701 ? o[o.length - 1]1702 : void 0,1703 c = void 0 === s ? o : o.slice(0, o.length - 1)1704 if (o.length < 1 + (void 0 === s ? 0 : 1))1705 throw new Error(1706 `"${e}" engine expects a selector list and optional maximum distance in pixels`1707 )1708 const l = n.getBoundingClientRect()1709 let a1710 for (const e of i.query(r, c)) {1711 if (e === n) continue1712 const o = t(l, e.getBoundingClientRect(), s)1713 void 0 !== o && (void 0 === a || o < a) && (a = o)1714 }1715 return void 0 !== a && (i._markScore(n, a), !0)1716 }1717 }1718 }1719 const M = {1720 query(e, t, n) {1721 let o = t[t.length - 1]1722 if (t.length < 2)1723 throw new Error(1724 '"nth-match" engine expects non-empty selector list and an index argument'1725 )1726 if ('number' != typeof o || o < 1)1727 throw new Error(1728 '"nth-match" engine expects a one-based index as the last argument'1729 )1730 const i = r.query(e, t.slice(0, t.length - 1), n)1731 return o--, o < i.length ? [i[o]] : []1732 }1733 }1734 function x(e) {1735 return e.parentElement1736 ? e.parentElement1737 : e.parentNode &&1738 e.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE &&1739 e.parentNode.host1740 ? e.parentNode.host1741 : void 01742 }1743 function C(e, t) {1744 if (e !== t.scope)1745 return t.pierceShadow ? x(e) : e.parentElement || void 01746 }1747 function P(e, t) {1748 if (e !== t.scope) return e.previousElementSibling || void 01749 }1750 function A(e) {1751 if (!e.ownerDocument || !e.ownerDocument.defaultView) return !01752 const t = e.ownerDocument.defaultView.getComputedStyle(e)1753 if (!t || 'hidden' === t.visibility) return !11754 const n = e.getBoundingClientRect()1755 return n.width > 0 && n.height > 01756 }1757 },1758 854: (e, t, n) => {1759 Object.defineProperty(t, '__esModule', { value: !0 }),1760 (t.querySelector = function (e, t, n) {1761 try {1762 const o = e.parseSelector(t)1763 return { selector: t, elements: e.querySelectorAll(o, n) }1764 } catch (e) {1765 return { selector: t, elements: [] }1766 }1767 }),1768 (t.generateSelector = function (e, t) {1769 e._evaluator.begin()1770 try {1771 const n = (function (e, t) {1772 if (t.ownerDocument.documentElement === t)1773 return [{ engine: 'css', selector: 'html', score: 1 }]1774 const n = (a, u) => {1775 const d = u ? r : i1776 let m = d.get(a)1777 return (1778 void 0 === m &&1779 ((m = ((r, i) => {1780 const a = r === t1781 let u = i1782 ? (function (e, t, n) {1783 if ('SELECT' === t.nodeName) return []1784 const r = (0, o.elementText)(e._evaluator, t)1785 .full.trim()1786 .replace(/\s+/g, ' ')1787 .substring(0, 80)1788 if (!r) return []1789 const i = []1790 let s = r1791 if (1792 ((r.includes('"') ||1793 r.includes('>>') ||1794 '/' === r[0]) &&1795 (s = `/.*${(function (e) {1796 return e.replace(1797 /[.*+?^>${}()|[\]\\]/g,1798 '\\$&'1799 )1800 })(r)}.*/`),1801 i.push({1802 engine: 'text',1803 selector: s,1804 score: 101805 }),1806 n && s === r)1807 ) {1808 let e = t.nodeName.toLocaleLowerCase()1809 t.hasAttribute('role') &&1810 (e += `[role=${h(1811 t.getAttribute('role')1812 )}]`),1813 i.push({1814 engine: 'css',1815 selector: `${e}:has-text("${r}")`,1816 score: 301817 })1818 }1819 return i1820 })(e, r, r === t).map((e) => [e])1821 : []1822 r !== t && (u = s(u))1823 const d = (function (e, t) {1824 const n = []1825 for (const e of [1826 'data-testid',1827 'data-test-id',1828 'data-test'1829 ])1830 t.hasAttribute(e) &&1831 n.push({1832 engine: 'css',1833 selector: `[${e}=${h(t.getAttribute(e))}]`,1834 score: 11835 })1836 if ('INPUT' === t.nodeName) {1837 const e = t1838 e.placeholder &&1839 n.push({1840 engine: 'css',1841 selector: `[placeholder=${h(e.placeholder)}]`,1842 score: 101843 })1844 }1845 t.hasAttribute('aria-label') &&1846 n.push({1847 engine: 'css',1848 selector: `[aria-label=${h(1849 t.getAttribute('aria-label')1850 )}]`,1851 score: 101852 }),1853 t.getAttribute('alt') &&1854 ['APPLET', 'AREA', 'IMG', 'INPUT'].includes(1855 t.nodeName1856 ) &&1857 n.push({1858 engine: 'css',1859 selector: `${t.nodeName.toLowerCase()}[alt=${h(1860 t.getAttribute('alt')1861 )}]`,1862 score: 101863 }),1864 t.hasAttribute('role') &&1865 n.push({1866 engine: 'css',1867 selector: `${t.nodeName.toLocaleLowerCase()}[role=${h(1868 t.getAttribute('role')1869 )}]`,1870 score: 501871 }),1872 t.getAttribute('name') &&1873 [1874 'BUTTON',1875 'FORM',1876 'FIELDSET',1877 'IFRAME',1878 'INPUT',1879 'KEYGEN',1880 'OBJECT',1881 'OUTPUT',1882 'SELECT',1883 'TEXTAREA',1884 'MAP',1885 'META',1886 'PARAM'1887 ].includes(t.nodeName) &&1888 n.push({1889 engine: 'css',1890 selector: `${t.nodeName.toLowerCase()}[name=${h(1891 t.getAttribute('name')1892 )}]`,1893 score: 501894 }),1895 ['INPUT', 'TEXTAREA'].includes(t.nodeName) &&1896 'hidden' !== t.getAttribute('type') &&1897 t.getAttribute('type') &&1898 n.push({1899 engine: 'css',1900 selector: `${t.nodeName.toLowerCase()}[type=${h(1901 t.getAttribute('type')1902 )}]`,1903 score: 501904 }),1905 ['INPUT', 'TEXTAREA', 'SELECT'].includes(1906 t.nodeName1907 ) &&1908 n.push({1909 engine: 'css',1910 selector: t.nodeName.toLowerCase(),1911 score: 501912 })1913 const o = t.getAttribute('id')1914 return (1915 o &&1916 !(function (e) {1917 let t,1918 n = 01919 for (let o = 0; o < e.length; ++o) {1920 const r = e[o]1921 let i1922 '-' !== r &&1923 '_' !== r &&1924 ((i =1925 r >= 'a' && r <= 'z'1926 ? 'lower'1927 : r >= 'A' && r <= 'Z'1928 ? 'upper'1929 : r >= '0' && r <= '9'1930 ? 'digit'1931 : 'other'),1932 'lower' !== i || 'upper' !== t1933 ? (t && t !== i && ++n, (t = i))1934 : (t = i))1935 }1936 return n >= e.length / 41937 })(o) &&1938 n.push({1939 engine: 'css',1940 selector: l(o),1941 score: 1001942 }),1943 n.push({1944 engine: 'css',1945 selector: t.nodeName.toLocaleLowerCase(),1946 score: 2001947 }),1948 n1949 )1950 })(0, r).map((e) => [e])1951 let m = f(e, t.ownerDocument, r, [...u, ...d], a)1952 u = s(u)1953 const g = (t) => {1954 const o = i && !t.length,1955 s = [...t, ...d].filter((e) => !m || p(e) < p(m))1956 let l = s[0]1957 if (l)1958 for (let t = c(r); t; t = c(t)) {1959 const i = n(t, o)1960 if (!i) continue1961 if (m && p([...i, ...l]) >= p(m)) continue1962 if (((l = f(e, t, r, s, a)), !l)) return1963 const c = [...i, ...l]1964 ;(!m || p(c) < p(m)) && (m = c)1965 }1966 }1967 return g(u), r === t && u.length && g([]), m1968 })(a, u)),1969 d.set(a, m)),1970 m1971 )1972 }1973 return n(t, !0)1974 })(1975 e,1976 (t =1977 t.closest(1978 'button,select,input,[role=button],[role=checkbox],[role=radio]'1979 ) || t)1980 ),1981 d = u(n || [a(e, t)]),1982 m = e.parseSelector(d)1983 return {1984 selector: d,1985 elements: e.querySelectorAll(m, t.ownerDocument)1986 }1987 } finally {1988 r.clear(), i.clear(), e._evaluator.end()1989 }1990 })1991 var o = n(848)1992 const r = new Map(),1993 i = new Map()1994 function s(e) {1995 return e.filter((e) => '/' !== e[0].selector[0])1996 }1997 function c(e) {1998 return e.parentElement1999 ? e.parentElement2000 : e.parentNode &&2001 e.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE &&2002 e.parentNode.host2003 ? e.parentNode.host2004 : null2005 }2006 function l(e) {2007 return /^[a-zA-Z][a-zA-Z0-9\-\_]+$/.test(e) ? '#' + e : `[id="${e}"]`2008 }2009 function a(e, t) {2010 const n = 1e7,2011 o = t.ownerDocument,2012 r = []2013 function i(n) {2014 const o = r.slice()2015 n && o.unshift(n)2016 const i = o.join(' '),2017 s = e.parseSelector(i)2018 return e.querySelector(s, t.ownerDocument, !1) === t ? i : void 02019 }2020 for (let e = t; e && e !== o; e = c(e)) {2021 const t = e.nodeName.toLowerCase()2022 let o = ''2023 if (e.id) {2024 const t = l(e.id),2025 r = i(t)2026 if (r) return { engine: 'css', selector: r, score: n }2027 o = t2028 }2029 const s = e.parentNode,2030 c = [...e.classList]2031 for (let e = 0; e < c.length; ++e) {2032 const t = '.' + c.slice(0, e + 1).join('.'),2033 r = i(t)2034 if (r) return { engine: 'css', selector: r, score: n }2035 !o && s && 1 === s.querySelectorAll(t).length && (o = t)2036 }2037 if (s) {2038 const r = [...s.children],2039 c =2040 0 ===2041 r.filter((e) => e.nodeName.toLowerCase() === t).indexOf(e)2042 ? t2043 : `${t}:nth-child(${1 + r.indexOf(e)})`,2044 l = i(c)2045 if (l) return { engine: 'css', selector: l, score: n }2046 o || (o = c)2047 } else o || (o = t)2048 r.unshift(o)2049 }2050 return { engine: 'css', selector: i(), score: n }2051 }2052 function h(e) {2053 return `"${e.replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`2054 }2055 function u(e) {2056 const t = []2057 let n = ''2058 for (const { engine: o, selector: r } of e)2059 t.length &&2060 ('css' !== n || 'css' !== o || r.startsWith(':nth-match(')) &&2061 t.push('>>'),2062 (n = o),2063 'css' === o ? t.push(r) : t.push(`${o}=${r}`)2064 return t.join(' ')2065 }2066 function p(e) {2067 let t = 02068 for (let n = 0; n < e.length; n++) t += e[n].score * (e.length - n)2069 return t2070 }2071 function f(e, t, n, o, r) {2072 const i = o.map((e) => ({ tokens: e, score: p(e) }))2073 i.sort((e, t) => e.score - t.score)2074 let s = null2075 for (const { tokens: o } of i) {2076 const i = e.parseSelector(u(o)),2077 c = e.querySelectorAll(i, t),2078 l = c.indexOf(n)2079 if (0 === l) return o2080 if (!r || s || -1 === l || c.length > 5) continue2081 const a = o.map((e) =>2082 'text' !== e.engine2083 ? e2084 : e.selector.startsWith('/') && e.selector.endsWith('/')2085 ? {2086 engine: 'css',2087 selector: `:text-matches("${e.selector.substring(2088 1,2089 e.selector.length - 12090 )}")`,2091 score: e.score2092 }2093 : {2094 engine: 'css',2095 selector: `:text("${e.selector}")`,2096 score: e.score2097 }2098 )2099 s = [2100 {2101 engine: 'css',2102 selector: `:nth-match(${u(a)}, ${l + 1})`,2103 score: p(a) + 1e32104 }2105 ]2106 }2107 return s2108 }2109 }2110 },2111 t = {}2112 function n(o) {2113 var r = t[o]2114 if (void 0 !== r) return r.exports2115 var i = (t[o] = { exports: {} })2116 return e[o](i, i.exports, n), i.exports2117 }2118 var o = {}2119 ;(() => {2120 var e = o2121 e.default = void 02122 var t = n(854)2123 function r(e) {2124 return (2125 (e.altKey ? 1 : 0) |2126 (e.ctrlKey ? 2 : 0) |2127 (e.metaKey ? 4 : 0) |2128 (e.shiftKey ? 8 : 0)2129 )2130 }2131 function i(e) {2132 switch (e.which) {2133 case 1:2134 return 'left'2135 case 2:2136 return 'middle'2137 case 3:2138 return 'right'2139 }2140 return 'left'2141 }2142 function s(e) {2143 if ('CANVAS' === e.target.nodeName) return { x: e.offsetX, y: e.offsetY }2144 }2145 function c(e) {2146 e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation()2147 }2148 function l(e) {2149 if (!e || 'INPUT' !== e.nodeName) return null2150 const t = e2151 return 'checkbox' === t.type ? t : null2152 }2153 function a(e, t, n, o) {2154 return (2155 e.addEventListener(t, n, o),2156 () => {2157 e.removeEventListener(t, n, o)2158 }2159 )2160 }2161 var h = class {2162 constructor(e, t) {2163 ;(this._injectedScript = void 0),2164 (this._performingAction = !1),2165 (this._outerGlassPaneElement = void 0),2166 (this._glassPaneShadow = void 0),2167 (this._innerGlassPaneElement = void 0),2168 (this._highlightElements = []),2169 (this._tooltipElement = void 0),2170 (this._listeners = []),2171 (this._hoveredModel = null),2172 (this._hoveredElement = null),2173 (this._activeModel = null),2174 (this._expectProgrammaticKeyUp = !1),2175 (this._pollRecorderModeTimer = void 0),2176 (this._mode = 'none'),2177 (this._actionPointElement = void 0),2178 (this._actionPoint = void 0),2179 (this._actionSelector = void 0),2180 (this._params = void 0),2181 (this._params = t),2182 (this._injectedScript = e),2183 (this._outerGlassPaneElement = document.createElement('x-pw-glass')),2184 (this._outerGlassPaneElement.style.position = 'fixed'),2185 (this._outerGlassPaneElement.style.top = '0'),2186 (this._outerGlassPaneElement.style.right = '0'),2187 (this._outerGlassPaneElement.style.bottom = '0'),2188 (this._outerGlassPaneElement.style.left = '0'),2189 (this._outerGlassPaneElement.style.zIndex = '2147483647'),2190 (this._outerGlassPaneElement.style.pointerEvents = 'none'),2191 (this._outerGlassPaneElement.style.display = 'flex'),2192 (this._tooltipElement = document.createElement('x-pw-tooltip')),2193 (this._actionPointElement =2194 document.createElement('x-pw-action-point')),2195 this._actionPointElement.setAttribute('hidden', 'true'),2196 (this._innerGlassPaneElement =2197 document.createElement('x-pw-glass-inner')),2198 (this._innerGlassPaneElement.style.flex = 'auto'),2199 this._innerGlassPaneElement.appendChild(this._tooltipElement),2200 (this._glassPaneShadow = this._outerGlassPaneElement.attachShadow({2201 mode: this._params.isUnderTest ? 'open' : 'closed'2202 })),2203 this._glassPaneShadow.appendChild(this._innerGlassPaneElement),2204 this._glassPaneShadow.appendChild(this._actionPointElement)2205 const n = document.createElement('style')2206 ;(n.textContent =2207 "\n x-pw-tooltip {\n align-items: center;\n backdrop-filter: blur(5px);\n background-color: rgba(0, 0, 0, 0.7);\n border-radius: 2px;\n box-shadow: rgba(0, 0, 0, 0.1) 0px 3.6px 3.7px,\n rgba(0, 0, 0, 0.15) 0px 12.1px 12.3px,\n rgba(0, 0, 0, 0.1) 0px -2px 4px,\n rgba(0, 0, 0, 0.15) 0px -12.1px 24px,\n rgba(0, 0, 0, 0.25) 0px 54px 55px;\n color: rgb(204, 204, 204);\n display: none;\n font-family: 'Dank Mono', 'Operator Mono', Inconsolata, 'Fira Mono',\n 'SF Mono', Monaco, 'Droid Sans Mono', 'Source Code Pro', monospace;\n font-size: 12.8px;\n font-weight: normal;\n left: 0;\n line-height: 1.5;\n max-width: 600px;\n padding: 3.2px 5.12px 3.2px;\n position: absolute;\n top: 0;\n }\n x-pw-action-point {\n position: absolute;\n width: 20px;\n height: 20px;\n background: red;\n border-radius: 10px;\n pointer-events: none;\n margin: -10px 0 0 -10px;\n z-index: 2;\n }\n *[hidden] {\n display: none !important;\n }\n "),2208 this._glassPaneShadow.appendChild(n),2209 this._refreshListenersIfNeeded(),2210 e.onGlobalListenersRemoved.add(() =>2211 this._refreshListenersIfNeeded()2212 ),2213 (globalThis._playwrightRefreshOverlay = () => {2214 this._pollRecorderMode().catch((e) => console.log(e))2215 }),2216 globalThis._playwrightRefreshOverlay(),2217 t.isUnderTest && console.error('Recorder script ready for test')2218 }2219 _refreshListenersIfNeeded() {2220 ;(this._outerGlassPaneElement.parentElement !==2221 document.documentElement ||2222 this._outerGlassPaneElement.nextElementSibling) &&2223 ((function (e) {2224 for (const t of e) t()2225 e.splice(0, e.length)2226 })(this._listeners),2227 (this._listeners = [2228 a(document, 'click', (e) => this._onClick(e), !0),2229 a(document, 'auxclick', (e) => this._onClick(e), !0),2230 a(document, 'input', (e) => this._onInput(e), !0),2231 a(document, 'keydown', (e) => this._onKeyDown(e), !0),2232 a(document, 'keyup', (e) => this._onKeyUp(e), !0),2233 a(document, 'mousedown', (e) => this._onMouseDown(e), !0),2234 a(document, 'mouseup', (e) => this._onMouseUp(e), !0),2235 a(document, 'mousemove', (e) => this._onMouseMove(e), !0),2236 a(document, 'mouseleave', (e) => this._onMouseLeave(e), !0),2237 a(document, 'focus', () => this._onFocus(), !0),2238 a(2239 document,2240 'scroll',2241 () => {2242 ;(this._hoveredModel = null),2243 (this._actionPointElement.hidden = !0),2244 this._updateHighlight()2245 },2246 !02247 )2248 ]),2249 document.documentElement.appendChild(this._outerGlassPaneElement))2250 }2251 async _pollRecorderMode() {2252 var e2253 this._pollRecorderModeTimer && clearTimeout(this._pollRecorderModeTimer)2254 const n = await globalThis._playwrightRecorderState().catch((e) => null)2255 if (!n)2256 return void (this._pollRecorderModeTimer = setTimeout(2257 () => this._pollRecorderMode(),2258 1e32259 ))2260 const { mode: o, actionPoint: r, actionSelector: i } = n2261 o !== this._mode && ((this._mode = o), this._clearHighlight()),2262 (r &&2263 this._actionPoint &&2264 r.x === this._actionPoint.x &&2265 r.y === this._actionPoint.y) ||2266 ((r || this._actionPoint) &&2267 (r2268 ? ((this._actionPointElement.style.top = r.y + 'px'),2269 (this._actionPointElement.style.left = r.x + 'px'),2270 (this._actionPointElement.hidden = !1))2271 : (this._actionPointElement.hidden = !0),2272 (this._actionPoint = r))),2273 !this._actionSelector ||2274 (null !== (e = this._hoveredModel) &&2275 void 0 !== e &&2276 e.elements.length) ||2277 (this._actionSelector = void 0),2278 i !== this._actionSelector &&2279 ((this._hoveredModel = i2280 ? (0, t.querySelector)(this._injectedScript, i, document)2281 : null),2282 this._updateHighlight(),2283 (this._actionSelector = i)),2284 (this._pollRecorderModeTimer = setTimeout(2285 () => this._pollRecorderMode(),2286 1e32287 ))2288 }2289 _clearHighlight() {2290 ;(this._hoveredModel = null),2291 (this._activeModel = null),2292 this._updateHighlight()2293 }2294 _actionInProgress(e) {2295 return !!this._performingAction || (c(e), !1)2296 }2297 _consumedDueToNoModel(e, t) {2298 return !t && (c(e), !0)2299 }2300 _consumedDueWrongTarget(e) {2301 return !(2302 (this._activeModel &&2303 this._activeModel.elements[0] === this._deepEventTarget(e)) ||2304 (c(e), 0)2305 )2306 }2307 _onClick(e) {2308 if (2309 ('inspecting' === this._mode &&2310 globalThis._playwrightRecorderSetSelector(2311 this._hoveredModel ? this._hoveredModel.selector : ''2312 ),2313 this._shouldIgnoreMouseEvent(e))2314 )2315 return2316 if (this._actionInProgress(e)) return2317 if (this._consumedDueToNoModel(e, this._hoveredModel)) return2318 const t = l(this._deepEventTarget(e))2319 t2320 ? this._performAction({2321 name: t.checked ? 'check' : 'uncheck',2322 selector: this._hoveredModel.selector,2323 signals: []2324 })2325 : this._performAction({2326 name: 'click',2327 selector: this._hoveredModel.selector,2328 position: s(e),2329 signals: [],2330 button: i(e),2331 modifiers: r(e),2332 clickCount: e.detail2333 })2334 }2335 _shouldIgnoreMouseEvent(e) {2336 const t = this._deepEventTarget(e)2337 if ('none' === this._mode) return !02338 if ('inspecting' === this._mode) return c(e), !02339 const n = t.nodeName2340 return 'SELECT' === n || !('INPUT' !== n || !['date'].includes(t.type))2341 }2342 _onMouseDown(e) {2343 this._shouldIgnoreMouseEvent(e) ||2344 (this._performingAction || c(e),2345 (this._activeModel = this._hoveredModel))2346 }2347 _onMouseUp(e) {2348 this._shouldIgnoreMouseEvent(e) || this._performingAction || c(e)2349 }2350 _onMouseMove(e) {2351 if ('none' === this._mode) return2352 const t = this._deepEventTarget(e)2353 this._hoveredElement !== t &&2354 ((this._hoveredElement = t), this._updateModelForHoveredElement())2355 }2356 _onMouseLeave(e) {2357 this._deepEventTarget(e).nodeType === Node.DOCUMENT_NODE &&2358 ((this._hoveredElement = null), this._updateModelForHoveredElement())2359 }2360 _onFocus() {2361 const e = this._deepActiveElement(document),2362 n = e ? (0, t.generateSelector)(this._injectedScript, e) : null2363 ;(this._activeModel = n && n.selector ? n : null),2364 this._params.isUnderTest &&2365 console.error(2366 'Highlight updated for test: ' + (n ? n.selector : null)2367 )2368 }2369 _updateModelForHoveredElement() {2370 if (!this._hoveredElement)2371 return (this._hoveredModel = null), void this._updateHighlight()2372 const e = this._hoveredElement,2373 { selector: n, elements: o } = (0, t.generateSelector)(2374 this._injectedScript,2375 e2376 )2377 ;(this._hoveredModel && this._hoveredModel.selector === n) ||2378 this._hoveredElement !== e ||2379 ((this._hoveredModel = n ? { selector: n, elements: o } : null),2380 this._updateHighlight(),2381 this._params.isUnderTest &&2382 console.error('Highlight updated for test: ' + n))2383 }2384 _updateHighlight() {2385 const e = this._hoveredModel ? this._hoveredModel.elements : []2386 ;(this._tooltipElement.textContent = this._hoveredModel2387 ? this._hoveredModel.selector2388 : ''),2389 (this._tooltipElement.style.top = '0'),2390 (this._tooltipElement.style.left = '0'),2391 (this._tooltipElement.style.display = 'flex')2392 const t = e.map((e) => e.getBoundingClientRect()),2393 n = this._tooltipElement.offsetWidth,2394 o = this._tooltipElement.offsetHeight,2395 r = this._innerGlassPaneElement.offsetWidth,2396 i = this._innerGlassPaneElement.offsetHeight2397 if (t.length) {2398 const e = t[0]2399 let s = e.left2400 s + n > r - 5 && (s = r - n - 5)2401 let c = e.bottom + 52402 c + o > i - 5 && (c = e.top > o + 5 ? e.top - o - 5 : i - 5 - o),2403 (this._tooltipElement.style.top = c + 'px'),2404 (this._tooltipElement.style.left = s + 'px')2405 } else this._tooltipElement.style.display = 'none'2406 const s = this._highlightElements2407 this._highlightElements = []2408 for (const e of t) {2409 const t = s.length ? s.shift() : this._createHighlightElement(),2410 n = 'recording' === this._mode ? '#dc6f6f7f' : '#6fa8dc7f'2411 ;(t.style.backgroundColor = this._highlightElements.length2412 ? '#f6b26b7f'2413 : n),2414 (t.style.left = e.x + 'px'),2415 (t.style.top = e.y + 'px'),2416 (t.style.width = e.width + 'px'),2417 (t.style.height = e.height + 'px'),2418 (t.style.display = 'block'),2419 this._highlightElements.push(t)2420 }2421 for (const e of s)2422 (e.style.display = 'none'), this._highlightElements.push(e)2423 }2424 _createHighlightElement() {2425 const e = document.createElement('x-pw-highlight')2426 return (2427 (e.style.position = 'absolute'),2428 (e.style.top = '0'),2429 (e.style.left = '0'),2430 (e.style.width = '0'),2431 (e.style.height = '0'),2432 (e.style.boxSizing = 'border-box'),2433 this._glassPaneShadow.appendChild(e),2434 e2435 )2436 }2437 _onInput(e) {2438 if ('recording' !== this._mode) return !02439 const t = this._deepEventTarget(e)2440 if (['INPUT', 'TEXTAREA'].includes(t.nodeName)) {2441 const n = t,2442 o = (n.type || '').toLowerCase()2443 if ('checkbox' === o) return2444 if ('file' === o)2445 return void globalThis._playwrightRecorderRecordAction({2446 name: 'setInputFiles',2447 selector: this._activeModel.selector,2448 signals: [],2449 files: [...(n.files || [])].map((e) => e.name)2450 })2451 if (this._consumedDueWrongTarget(e)) return2452 globalThis._playwrightRecorderRecordAction({2453 name: 'fill',2454 selector: this._activeModel.selector,2455 signals: [],2456 text: n.value2457 })2458 }2459 if ('SELECT' === t.nodeName) {2460 const n = t2461 if (this._actionInProgress(e)) return2462 this._performAction({2463 name: 'select',2464 selector: this._hoveredModel.selector,2465 options: [...n.selectedOptions].map((e) => e.value),2466 signals: []2467 })2468 }2469 }2470 _shouldGenerateKeyPressFor(e) {2471 if (['Backspace', 'Delete', 'AltGraph'].includes(e.key)) return !12472 if ('@' === e.key && 'KeyL' === e.code) return !12473 if (navigator.platform.includes('Mac')) {2474 if ('v' === e.key && e.metaKey) return !12475 } else {2476 if ('v' === e.key && e.ctrlKey) return !12477 if ('Insert' === e.key && e.shiftKey) return !12478 }2479 if (['Shift', 'Control', 'Meta', 'Alt'].includes(e.key)) return !12480 const t = e.ctrlKey || e.altKey || e.metaKey2481 return !(1 === e.key.length && !t && !l(this._deepEventTarget(e)))2482 }2483 _onKeyDown(e) {2484 if ('inspecting' !== this._mode) {2485 if ('recording' !== this._mode) return !02486 if (this._shouldGenerateKeyPressFor(e))2487 if (this._actionInProgress(e)) this._expectProgrammaticKeyUp = !02488 else if (!this._consumedDueWrongTarget(e)) {2489 if (' ' === e.key) {2490 const t = l(this._deepEventTarget(e))2491 if (t)2492 return void this._performAction({2493 name: t.checked ? 'uncheck' : 'check',2494 selector: this._activeModel.selector,2495 signals: []2496 })2497 }2498 this._performAction({2499 name: 'press',2500 selector: this._activeModel.selector,2501 signals: [],2502 key: e.key,2503 modifiers: r(e)2504 })2505 }2506 } else c(e)2507 }2508 _onKeyUp(e) {2509 this._shouldGenerateKeyPressFor(e) &&2510 (this._expectProgrammaticKeyUp2511 ? (this._expectProgrammaticKeyUp = !1)2512 : c(e))2513 }2514 async _performAction(e) {2515 ;(this._performingAction = !0),2516 await globalThis._playwrightRecorderPerformAction(e).catch(() => {}),2517 (this._performingAction = !1),2518 this._updateModelForHoveredElement(),2519 this._onFocus(),2520 this._params.isUnderTest &&2521 console.error(2522 'Action performed for test: ' +2523 JSON.stringify({2524 hovered: this._hoveredModel2525 ? this._hoveredModel.selector2526 : null,2527 active: this._activeModel ? this._activeModel.selector : null2528 })2529 )2530 }2531 _deepEventTarget(e) {2532 return e.composedPath()[0]2533 }2534 _deepActiveElement(e) {2535 let t = e.activeElement2536 for (; t && t.shadowRoot && t.shadowRoot.activeElement; )2537 t = t.shadowRoot.activeElement2538 return t2539 }2540 }2541 e.default = h2542 })(),2543 (pwExport = o.default)...

Full Screen

Full Screen

consoleApiSource.js

Source:consoleApiSource.js Github

copy

Full Screen

1var pwExport2;(() => {3 'use strict'4 var e = {5 317: (e, t, r) => {6 Object.defineProperty(t, '__esModule', { value: !0 }),7 (t.parseCSS = function (e, t) {8 let r9 try {10 ;(r = n.tokenize(e)),11 r[r.length - 1] instanceof n.EOFToken ||12 r.push(new n.EOFToken())13 } catch (t) {14 const r = t.message + ` while parsing selector "${e}"`,15 n = (t.stack || '').indexOf(t.message)16 throw (17 (-1 !== n &&18 (t.stack =19 t.stack.substring(0, n) +20 r +21 t.stack.substring(n + t.message.length)),22 (t.message = r),23 t)24 )25 }26 const o = r.find(27 (e) =>28 e instanceof n.AtKeywordToken ||29 e instanceof n.BadStringToken ||30 e instanceof n.BadURLToken ||31 e instanceof n.ColumnToken ||32 e instanceof n.CDOToken ||33 e instanceof n.CDCToken ||34 e instanceof n.SemicolonToken ||35 e instanceof n.OpenCurlyToken ||36 e instanceof n.CloseCurlyToken ||37 e instanceof n.URLToken ||38 e instanceof n.PercentageToken39 )40 if (o)41 throw new Error(42 `Unsupported token "${o.toSource()}" while parsing selector "${e}"`43 )44 let i = 045 const s = new Set()46 function c() {47 return new Error(48 `Unexpected token "${r[49 i50 ].toSource()}" while parsing selector "${e}"`51 )52 }53 function a() {54 for (; r[i] instanceof n.WhitespaceToken; ) i++55 }56 function u(e = i) {57 return r[e] instanceof n.IdentToken58 }59 function p(e = i) {60 return r[e] instanceof n.CommaToken61 }62 function l(e = i) {63 return r[e] instanceof n.CloseParenToken64 }65 function h(e = i) {66 return r[e] instanceof n.DelimToken && '*' === r[e].value67 }68 function f(e = i) {69 return r[e] instanceof n.EOFToken70 }71 function y(e = i) {72 return (73 r[e] instanceof n.DelimToken &&74 ['>', '+', '~'].includes(r[e].value)75 )76 }77 function g(e = i) {78 return (79 p(e) ||80 l(e) ||81 f(e) ||82 y(e) ||83 r[e] instanceof n.WhitespaceToken84 )85 }86 function m() {87 const e = [d()]88 for (; a(), p(); ) i++, e.push(d())89 return e90 }91 function d() {92 return (93 a(),94 (function (e = i) {95 return r[e] instanceof n.NumberToken96 })() ||97 (function (e = i) {98 return r[e] instanceof n.StringToken99 })()100 ? r[i++].value101 : (function () {102 const e = { simples: [] }103 for (104 a(),105 y()106 ? e.simples.push({107 selector: {108 functions: [{ name: 'scope', args: [] }]109 },110 combinator: ''111 })112 : e.simples.push({ selector: w(), combinator: '' });113 ;114 ) {115 if ((a(), y()))116 (e.simples[e.simples.length - 1].combinator =117 r[i++].value),118 a()119 else if (g()) break120 e.simples.push({ combinator: '', selector: w() })121 }122 return e123 })()124 )125 }126 function w() {127 let e = ''128 const o = []129 for (; !g(); )130 if (u() || h()) e += r[i++].toSource()131 else if (r[i] instanceof n.HashToken) e += r[i++].toSource()132 else if (r[i] instanceof n.DelimToken && '.' === r[i].value) {133 if ((i++, !u())) throw c()134 e += '.' + r[i++].toSource()135 } else if (r[i] instanceof n.ColonToken)136 if ((i++, u()))137 if (t.has(r[i].value.toLowerCase())) {138 const e = r[i++].value.toLowerCase()139 o.push({ name: e, args: [] }), s.add(e)140 } else e += ':' + r[i++].toSource()141 else {142 if (!(r[i] instanceof n.FunctionToken)) throw c()143 {144 const n = r[i++].value.toLowerCase()145 if (146 (t.has(n)147 ? (o.push({ name: n, args: m() }), s.add(n))148 : (e += `:${n}(${S()})`),149 a(),150 !l())151 )152 throw c()153 i++154 }155 }156 else {157 if (!(r[i] instanceof n.OpenSquareToken)) throw c()158 for (159 e += '[', i++;160 !(r[i] instanceof n.CloseSquareToken || f());161 )162 e += r[i++].toSource()163 if (!(r[i] instanceof n.CloseSquareToken)) throw c()164 ;(e += ']'), i++165 }166 if (!e && !o.length) throw c()167 return { css: e || void 0, functions: o }168 }169 function S() {170 let e = ''171 for (; !l() && !f(); ) e += r[i++].toSource()172 return e173 }174 const v = m()175 if (!f()) throw new Error(`Error while parsing selector "${e}"`)176 if (v.some((e) => 'object' != typeof e || !('simples' in e)))177 throw new Error(`Error while parsing selector "${e}"`)178 return { selector: v, names: Array.from(s) }179 }),180 (t.serializeSelector = function e(t) {181 return t182 .map((t) =>183 'string' == typeof t184 ? `"${t}"`185 : 'number' == typeof t186 ? String(t)187 : t.simples188 .map(({ selector: t, combinator: r }) => {189 let n = t.css || ''190 return (191 (n += t.functions192 .map((t) => `:${t.name}(${e(t.args)})`)193 .join('')),194 r && (n += ' ' + r),195 n196 )197 })198 .join(' ')199 )200 .join(', ')201 })202 var n = (function (e, t) {203 if (e && e.__esModule) return e204 if (null === e || ('object' != typeof e && 'function' != typeof e))205 return { default: e }206 var r = o(t)207 if (r && r.has(e)) return r.get(e)208 var n = {},209 i = Object.defineProperty && Object.getOwnPropertyDescriptor210 for (var s in e)211 if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {212 var c = i ? Object.getOwnPropertyDescriptor(e, s) : null213 c && (c.get || c.set)214 ? Object.defineProperty(n, s, c)215 : (n[s] = e[s])216 }217 return (n.default = e), r && r.set(e, n), n218 })(r(503))219 function o(e) {220 if ('function' != typeof WeakMap) return null221 var t = new WeakMap(),222 r = new WeakMap()223 return (o = function (e) {224 return e ? r : t225 })(e)226 }227 },228 503: (e, t) => {229 var r, n230 ;(r = function (e) {231 var t = function (e, t, r) {232 return e >= t && e <= r233 }234 function r(e) {235 return t(e, 48, 57)236 }237 function n(e) {238 return r(e) || t(e, 65, 70) || t(e, 97, 102)239 }240 function o(e) {241 return (242 (function (e) {243 return t(e, 65, 90)244 })(e) ||245 (function (e) {246 return t(e, 97, 122)247 })(e)248 )249 }250 function i(e) {251 return (252 o(e) ||253 (function (e) {254 return e >= 128255 })(e) ||256 95 == e257 )258 }259 function s(e) {260 return i(e) || r(e) || 45 == e261 }262 function c(e) {263 return t(e, 0, 8) || 11 == e || t(e, 14, 31) || 127 == e264 }265 function a(e) {266 return 10 == e267 }268 function u(e) {269 return a(e) || 9 == e || 32 == e270 }271 var p = function (e) {272 this.message = e273 }274 function l(e) {275 if (e <= 65535) return String.fromCharCode(e)276 e -= Math.pow(2, 16)277 var t = Math.floor(e / Math.pow(2, 10)) + 55296,278 r = (e % Math.pow(2, 10)) + 56320279 return String.fromCharCode(t) + String.fromCharCode(r)280 }281 function h() {282 throw 'Abstract Base Class'283 }284 function f() {285 return this286 }287 function y() {288 return this289 }290 function g() {291 return this292 }293 function m() {294 return this295 }296 function d() {297 return this298 }299 function w() {300 return this301 }302 function S() {303 return this304 }305 function v() {306 return this307 }308 function _() {309 throw 'Abstract Base Class'310 }311 function T() {312 return (this.value = '{'), (this.mirror = '}'), this313 }314 function b() {315 return (this.value = '}'), (this.mirror = '{'), this316 }317 function E() {318 return (this.value = '['), (this.mirror = ']'), this319 }320 function k() {321 return (this.value = ']'), (this.mirror = '['), this322 }323 function C() {324 return (this.value = '('), (this.mirror = ')'), this325 }326 function O() {327 return (this.value = ')'), (this.mirror = '('), this328 }329 function M() {330 return this331 }332 function x() {333 return this334 }335 function N() {336 return this337 }338 function A() {339 return this340 }341 function j() {342 return this343 }344 function $() {345 return this346 }347 function q() {348 return this349 }350 function P(e) {351 return (this.value = l(e)), this352 }353 function L() {354 throw 'Abstract Base Class'355 }356 function R(e) {357 this.value = e358 }359 function D(e) {360 ;(this.value = e), (this.mirror = ')')361 }362 function I(e) {363 this.value = e364 }365 function U(e) {366 ;(this.value = e), (this.type = 'unrestricted')367 }368 function B(e) {369 this.value = e370 }371 function Q(e) {372 this.value = e373 }374 function F() {375 ;(this.value = null), (this.type = 'integer'), (this.repr = '')376 }377 function J() {378 ;(this.value = null), (this.repr = '')379 }380 function W() {381 ;(this.value = null),382 (this.type = 'integer'),383 (this.repr = ''),384 (this.unit = '')385 }386 function z(e) {387 for (388 var r = '', n = (e = '' + e).charCodeAt(0), o = 0;389 o < e.length;390 o++391 ) {392 var i = e.charCodeAt(o)393 if (0 == i)394 throw new p('Invalid character: the input contains U+0000.')395 t(i, 1, 31) ||396 127 == i ||397 (0 == o && t(i, 48, 57)) ||398 (1 == o && t(i, 48, 57) && 45 == n)399 ? (r += '\\' + i.toString(16) + ' ')400 : i >= 128 ||401 45 == i ||402 95 == i ||403 t(i, 48, 57) ||404 t(i, 65, 90) ||405 t(i, 97, 122)406 ? (r += e[o])407 : (r += '\\' + e[o])408 }409 return r410 }411 function G(e) {412 e = '' + e413 for (var r = '', n = 0; n < e.length; n++) {414 var o = e.charCodeAt(n)415 if (0 == o)416 throw new p('Invalid character: the input contains U+0000.')417 t(o, 1, 31) || 127 == o418 ? (r += '\\' + o.toString(16) + ' ')419 : (r += 34 == o || 92 == o ? '\\' + e[n] : e[n])420 }421 return r422 }423 ;((p.prototype = new Error()).name = 'InvalidCharacterError'),424 (h.prototype.toJSON = function () {425 return { token: this.tokenType }426 }),427 (h.prototype.toString = function () {428 return this.tokenType429 }),430 (h.prototype.toSource = function () {431 return '' + this432 }),433 (f.prototype = Object.create(h.prototype)),434 (f.prototype.tokenType = 'BADSTRING'),435 (y.prototype = Object.create(h.prototype)),436 (y.prototype.tokenType = 'BADURL'),437 (g.prototype = Object.create(h.prototype)),438 (g.prototype.tokenType = 'WHITESPACE'),439 (g.prototype.toString = function () {440 return 'WS'441 }),442 (g.prototype.toSource = function () {443 return ' '444 }),445 (m.prototype = Object.create(h.prototype)),446 (m.prototype.tokenType = 'CDO'),447 (m.prototype.toSource = function () {448 return '\x3c!--'449 }),450 (d.prototype = Object.create(h.prototype)),451 (d.prototype.tokenType = 'CDC'),452 (d.prototype.toSource = function () {453 return '--\x3e'454 }),455 (w.prototype = Object.create(h.prototype)),456 (w.prototype.tokenType = ':'),457 (S.prototype = Object.create(h.prototype)),458 (S.prototype.tokenType = ';'),459 (v.prototype = Object.create(h.prototype)),460 (v.prototype.tokenType = ','),461 (_.prototype = Object.create(h.prototype)),462 (T.prototype = Object.create(_.prototype)),463 (T.prototype.tokenType = '{'),464 (b.prototype = Object.create(_.prototype)),465 (b.prototype.tokenType = '}'),466 (E.prototype = Object.create(_.prototype)),467 (E.prototype.tokenType = '['),468 (k.prototype = Object.create(_.prototype)),469 (k.prototype.tokenType = ']'),470 (C.prototype = Object.create(_.prototype)),471 (C.prototype.tokenType = '('),472 (O.prototype = Object.create(_.prototype)),473 (O.prototype.tokenType = ')'),474 (M.prototype = Object.create(h.prototype)),475 (M.prototype.tokenType = '~='),476 (x.prototype = Object.create(h.prototype)),477 (x.prototype.tokenType = '|='),478 (N.prototype = Object.create(h.prototype)),479 (N.prototype.tokenType = '^='),480 (A.prototype = Object.create(h.prototype)),481 (A.prototype.tokenType = '$='),482 (j.prototype = Object.create(h.prototype)),483 (j.prototype.tokenType = '*='),484 ($.prototype = Object.create(h.prototype)),485 ($.prototype.tokenType = '||'),486 (q.prototype = Object.create(h.prototype)),487 (q.prototype.tokenType = 'EOF'),488 (q.prototype.toSource = function () {489 return ''490 }),491 (P.prototype = Object.create(h.prototype)),492 (P.prototype.tokenType = 'DELIM'),493 (P.prototype.toString = function () {494 return 'DELIM(' + this.value + ')'495 }),496 (P.prototype.toJSON = function () {497 var e =498 this.constructor.prototype.constructor.prototype.toJSON.call(499 this500 )501 return (e.value = this.value), e502 }),503 (P.prototype.toSource = function () {504 return '\\' == this.value ? '\\\n' : this.value505 }),506 (L.prototype = Object.create(h.prototype)),507 (L.prototype.ASCIIMatch = function (e) {508 return this.value.toLowerCase() == e.toLowerCase()509 }),510 (L.prototype.toJSON = function () {511 var e =512 this.constructor.prototype.constructor.prototype.toJSON.call(513 this514 )515 return (e.value = this.value), e516 }),517 (R.prototype = Object.create(L.prototype)),518 (R.prototype.tokenType = 'IDENT'),519 (R.prototype.toString = function () {520 return 'IDENT(' + this.value + ')'521 }),522 (R.prototype.toSource = function () {523 return z(this.value)524 }),525 (D.prototype = Object.create(L.prototype)),526 (D.prototype.tokenType = 'FUNCTION'),527 (D.prototype.toString = function () {528 return 'FUNCTION(' + this.value + ')'529 }),530 (D.prototype.toSource = function () {531 return z(this.value) + '('532 }),533 (I.prototype = Object.create(L.prototype)),534 (I.prototype.tokenType = 'AT-KEYWORD'),535 (I.prototype.toString = function () {536 return 'AT(' + this.value + ')'537 }),538 (I.prototype.toSource = function () {539 return '@' + z(this.value)540 }),541 (U.prototype = Object.create(L.prototype)),542 (U.prototype.tokenType = 'HASH'),543 (U.prototype.toString = function () {544 return 'HASH(' + this.value + ')'545 }),546 (U.prototype.toJSON = function () {547 var e =548 this.constructor.prototype.constructor.prototype.toJSON.call(549 this550 )551 return (e.value = this.value), (e.type = this.type), e552 }),553 (U.prototype.toSource = function () {554 return 'id' == this.type555 ? '#' + z(this.value)556 : '#' +557 (function (e) {558 for (559 var r = '', n = ((e = '' + e).charCodeAt(0), 0);560 n < e.length;561 n++562 ) {563 var o = e.charCodeAt(n)564 if (0 == o)565 throw new p(566 'Invalid character: the input contains U+0000.'567 )568 o >= 128 ||569 45 == o ||570 95 == o ||571 t(o, 48, 57) ||572 t(o, 65, 90) ||573 t(o, 97, 122)574 ? (r += e[n])575 : (r += '\\' + o.toString(16) + ' ')576 }577 return r578 })(this.value)579 }),580 (B.prototype = Object.create(L.prototype)),581 (B.prototype.tokenType = 'STRING'),582 (B.prototype.toString = function () {583 return '"' + G(this.value) + '"'584 }),585 (Q.prototype = Object.create(L.prototype)),586 (Q.prototype.tokenType = 'URL'),587 (Q.prototype.toString = function () {588 return 'URL(' + this.value + ')'589 }),590 (Q.prototype.toSource = function () {591 return 'url("' + G(this.value) + '")'592 }),593 (F.prototype = Object.create(h.prototype)),594 (F.prototype.tokenType = 'NUMBER'),595 (F.prototype.toString = function () {596 return 'integer' == this.type597 ? 'INT(' + this.value + ')'598 : 'NUMBER(' + this.value + ')'599 }),600 (F.prototype.toJSON = function () {601 var e =602 this.constructor.prototype.constructor.prototype.toJSON.call(603 this604 )605 return (606 (e.value = this.value),607 (e.type = this.type),608 (e.repr = this.repr),609 e610 )611 }),612 (F.prototype.toSource = function () {613 return this.repr614 }),615 (J.prototype = Object.create(h.prototype)),616 (J.prototype.tokenType = 'PERCENTAGE'),617 (J.prototype.toString = function () {618 return 'PERCENTAGE(' + this.value + ')'619 }),620 (J.prototype.toJSON = function () {621 var e =622 this.constructor.prototype.constructor.prototype.toJSON.call(623 this624 )625 return (e.value = this.value), (e.repr = this.repr), e626 }),627 (J.prototype.toSource = function () {628 return this.repr + '%'629 }),630 (W.prototype = Object.create(h.prototype)),631 (W.prototype.tokenType = 'DIMENSION'),632 (W.prototype.toString = function () {633 return 'DIM(' + this.value + ',' + this.unit + ')'634 }),635 (W.prototype.toJSON = function () {636 var e =637 this.constructor.prototype.constructor.prototype.toJSON.call(638 this639 )640 return (641 (e.value = this.value),642 (e.type = this.type),643 (e.repr = this.repr),644 (e.unit = this.unit),645 e646 )647 }),648 (W.prototype.toSource = function () {649 var e = this.repr,650 r = z(this.unit)651 return (652 'e' != r[0].toLowerCase() ||653 ('-' != r[1] && !t(r.charCodeAt(1), 48, 57)) ||654 (r = '\\65 ' + r.slice(1, r.length)),655 e + r656 )657 }),658 (e.tokenize = function (e) {659 e = (function (e) {660 for (var r = [], n = 0; n < e.length; n++) {661 var o = e.charCodeAt(n)662 if (663 (13 == o && 10 == e.charCodeAt(n + 1) && ((o = 10), n++),664 (13 != o && 12 != o) || (o = 10),665 0 == o && (o = 65533),666 t(o, 55296, 56319) && t(e.charCodeAt(n + 1), 56320, 57343))667 ) {668 var i = o - 55296,669 s = e.charCodeAt(n + 1) - 56320670 ;(o = Math.pow(2, 16) + i * Math.pow(2, 10) + s), n++671 }672 r.push(o)673 }674 return r675 })(e)676 for (677 var o,678 p = -1,679 h = [],680 _ = 0,681 L = 0,682 z = 0,683 G = { line: _, column: L },684 H = function (t) {685 return t >= e.length ? -1 : e[t]686 },687 V = function (e) {688 if ((void 0 === e && (e = 1), e > 3))689 throw 'Spec Error: no more than three codepoints of lookahead.'690 return H(p + e)691 },692 K = function (e) {693 return (694 void 0 === e && (e = 1),695 a((o = H((p += e))))696 ? ((_ += 1), (z = L), (L = 0))697 : (L += e),698 !0699 )700 },701 X = function () {702 return (703 (p -= 1),704 a(o) ? ((_ -= 1), (L = z)) : (L -= 1),705 (G.line = _),706 (G.column = L),707 !0708 )709 },710 Z = function (e) {711 return void 0 === e && (e = o), -1 == e712 },713 Y = function () {714 return (715 console.log(716 'Parse error at index ' +717 p +718 ', processing codepoint 0x' +719 o.toString(16) +720 '.'721 ),722 !0723 )724 },725 ee = function () {726 if ((te(), K(), u(o))) {727 for (; u(V()); ) K()728 return new g()729 }730 if (34 == o) return oe()731 if (35 == o) {732 if (s(V()) || ce(V(1), V(2))) {733 var e = new U()734 return (735 ue(V(1), V(2), V(3)) && (e.type = 'id'),736 (e.value = he()),737 e738 )739 }740 return new P(o)741 }742 return 36 == o743 ? 61 == V()744 ? (K(), new A())745 : new P(o)746 : 39 == o747 ? oe()748 : 40 == o749 ? new C()750 : 41 == o751 ? new O()752 : 42 == o753 ? 61 == V()754 ? (K(), new j())755 : new P(o)756 : 43 == o757 ? le()758 ? (X(), re())759 : new P(o)760 : 44 == o761 ? new v()762 : 45 == o763 ? le()764 ? (X(), re())765 : 45 == V(1) && 62 == V(2)766 ? (K(2), new d())767 : pe()768 ? (X(), ne())769 : new P(o)770 : 46 == o771 ? le()772 ? (X(), re())773 : new P(o)774 : 58 == o775 ? new w()776 : 59 == o777 ? new S()778 : 60 == o779 ? 33 == V(1) && 45 == V(2) && 45 == V(3)780 ? (K(3), new m())781 : new P(o)782 : 64 == o783 ? ue(V(1), V(2), V(3))784 ? new I(he())785 : new P(o)786 : 91 == o787 ? new E()788 : 92 == o789 ? ae()790 ? (X(), ne())791 : (Y(), new P(o))792 : 93 == o793 ? new k()794 : 94 == o795 ? 61 == V()796 ? (K(), new N())797 : new P(o)798 : 123 == o799 ? new T()800 : 124 == o801 ? 61 == V()802 ? (K(), new x())803 : 124 == V()804 ? (K(), new $())805 : new P(o)806 : 125 == o807 ? new b()808 : 126 == o809 ? 61 == V()810 ? (K(), new M())811 : new P(o)812 : r(o)813 ? (X(), re())814 : i(o)815 ? (X(), ne())816 : Z()817 ? new q()818 : new P(o)819 },820 te = function () {821 for (; 47 == V(1) && 42 == V(2); )822 for (K(2); ; ) {823 if ((K(), 42 == o && 47 == V())) {824 K()825 break826 }827 if (Z()) return void Y()828 }829 },830 re = function () {831 var e,832 t = fe()833 return ue(V(1), V(2), V(3))834 ? (((e = new W()).value = t.value),835 (e.repr = t.repr),836 (e.type = t.type),837 (e.unit = he()),838 e)839 : 37 == V()840 ? (K(),841 ((e = new J()).value = t.value),842 (e.repr = t.repr),843 e)844 : (((e = new F()).value = t.value),845 (e.repr = t.repr),846 (e.type = t.type),847 e)848 },849 ne = function () {850 var e = he()851 if ('url' == e.toLowerCase() && 40 == V()) {852 for (K(); u(V(1)) && u(V(2)); ) K()853 return 34 == V() || 39 == V()854 ? new D(e)855 : !u(V()) || (34 != V(2) && 39 != V(2))856 ? ie()857 : new D(e)858 }859 return 40 == V() ? (K(), new D(e)) : new R(e)860 },861 oe = function (e) {862 void 0 === e && (e = o)863 for (var t = ''; K(); ) {864 if (o == e || Z()) return new B(t)865 if (a(o)) return Y(), X(), new f()866 92 == o867 ? Z(V()) || (a(V()) ? K() : (t += l(se())))868 : (t += l(o))869 }870 },871 ie = function () {872 for (var e = new Q(''); u(V()); ) K()873 if (Z(V())) return e874 for (; K(); ) {875 if (41 == o || Z()) return e876 if (u(o)) {877 for (; u(V()); ) K()878 return 41 == V() || Z(V()) ? (K(), e) : (ge(), new y())879 }880 if (34 == o || 39 == o || 40 == o || c(o))881 return Y(), ge(), new y()882 if (92 == o) {883 if (!ae()) return Y(), ge(), new y()884 e.value += l(se())885 } else e.value += l(o)886 }887 },888 se = function () {889 if ((K(), n(o))) {890 for (var e = [o], t = 0; t < 5 && n(V()); t++)891 K(), e.push(o)892 u(V()) && K()893 var r = parseInt(894 e895 .map(function (e) {896 return String.fromCharCode(e)897 })898 .join(''),899 16900 )901 return r > 1114111 && (r = 65533), r902 }903 return Z() ? 65533 : o904 },905 ce = function (e, t) {906 return 92 == e && !a(t)907 },908 ae = function () {909 return ce(o, V())910 },911 ue = function (e, t, r) {912 return 45 == e913 ? i(t) || 45 == t || ce(t, r)914 : !!i(e) || (92 == e && ce(e, t))915 },916 pe = function () {917 return ue(o, V(1), V(2))918 },919 le = function () {920 return (921 (e = o),922 (t = V(1)),923 (n = V(2)),924 43 == e || 45 == e925 ? !!r(t) || !(46 != t || !r(n))926 : 46 == e927 ? !!r(t)928 : !!r(e)929 )930 var e, t, n931 },932 he = function () {933 for (var e = ''; K(); )934 if (s(o)) e += l(o)935 else {936 if (!ae()) return X(), e937 e += l(se())938 }939 },940 fe = function () {941 var e = [],942 t = 'integer'943 for (944 (43 != V() && 45 != V()) || (K(), (e += l(o)));945 r(V());946 )947 K(), (e += l(o))948 if (46 == V(1) && r(V(2)))949 for (950 K(), e += l(o), K(), e += l(o), t = 'number';951 r(V());952 )953 K(), (e += l(o))954 var n = V(1),955 i = V(2),956 s = V(3)957 if ((69 != n && 101 != n) || !r(i)) {958 if ((69 == n || 101 == n) && (43 == i || 45 == i) && r(s))959 for (960 K(),961 e += l(o),962 K(),963 e += l(o),964 K(),965 e += l(o),966 t = 'number';967 r(V());968 )969 K(), (e += l(o))970 } else971 for (972 K(), e += l(o), K(), e += l(o), t = 'number';973 r(V());974 )975 K(), (e += l(o))976 return { type: t, value: ye(e), repr: e }977 },978 ye = function (e) {979 return +e980 },981 ge = function () {982 for (; K(); ) {983 if (41 == o || Z()) return984 ae() && se()985 }986 },987 me = 0;988 !Z(V());989 )990 if ((h.push(ee()), ++me > 2 * e.length))991 return "I'm infinite-looping!"992 return h993 }),994 (e.IdentToken = R),995 (e.FunctionToken = D),996 (e.AtKeywordToken = I),997 (e.HashToken = U),998 (e.StringToken = B),999 (e.BadStringToken = f),1000 (e.URLToken = Q),1001 (e.BadURLToken = y),1002 (e.DelimToken = P),1003 (e.NumberToken = F),1004 (e.PercentageToken = J),1005 (e.DimensionToken = W),1006 (e.IncludeMatchToken = M),1007 (e.DashMatchToken = x),1008 (e.PrefixMatchToken = N),1009 (e.SuffixMatchToken = A),1010 (e.SubstringMatchToken = j),1011 (e.ColumnToken = $),1012 (e.WhitespaceToken = g),1013 (e.CDOToken = m),1014 (e.CDCToken = d),1015 (e.ColonToken = w),1016 (e.SemicolonToken = S),1017 (e.CommaToken = v),1018 (e.OpenParenToken = C),1019 (e.CloseParenToken = O),1020 (e.OpenSquareToken = E),1021 (e.CloseSquareToken = k),1022 (e.OpenCurlyToken = T),1023 (e.CloseCurlyToken = b),1024 (e.EOFToken = q),1025 (e.CSSParserToken = h),1026 (e.GroupingToken = _)1027 }),1028 void 0 === (n = r.apply(t, [t])) || (e.exports = n)1029 },1030 461: (e, t, r) => {1031 Object.defineProperty(t, '__esModule', { value: !0 }),1032 (t.parseSelector = function (e) {1033 const t = (function (e) {1034 let t,1035 r = 0,1036 n = 01037 const o = { parts: [] },1038 i = () => {1039 const t = e.substring(n, r).trim(),1040 i = t.indexOf('=')1041 let s, c1042 ;-1 !== i &&1043 t1044 .substring(0, i)1045 .trim()1046 .match(/^[a-zA-Z_0-9-+:*]+$/)1047 ? ((s = t.substring(0, i).trim()),1048 (c = t.substring(i + 1)))1049 : (t.length > 1 &&1050 '"' === t[0] &&1051 '"' === t[t.length - 1]) ||1052 (t.length > 1 &&1053 "'" === t[0] &&1054 "'" === t[t.length - 1])1055 ? ((s = 'text'), (c = t))1056 : /^\(*\/\//.test(t) || t.startsWith('..')1057 ? ((s = 'xpath'), (c = t))1058 : ((s = 'css'), (c = t))1059 let a = !11060 if (1061 ('*' === s[0] && ((a = !0), (s = s.substring(1))),1062 o.parts.push({ name: s, body: c }),1063 a)1064 ) {1065 if (void 0 !== o.capture)1066 throw new Error(1067 'Only one of the selectors can capture using * modifier'1068 )1069 o.capture = o.parts.length - 11070 }1071 }1072 if (!e.includes('>>')) return (r = e.length), i(), o1073 for (; r < e.length; ) {1074 const o = e[r]1075 '\\' === o && r + 1 < e.length1076 ? (r += 2)1077 : o === t1078 ? ((t = void 0), r++)1079 : t || ('"' !== o && "'" !== o && '`' !== o)1080 ? t || '>' !== o || '>' !== e[r + 1]1081 ? r++1082 : (i(), (r += 2), (n = r))1083 : ((t = o), r++)1084 }1085 return i(), o1086 })(e),1087 r = t.parts.map((e) =>1088 'css' === e.name || 'css:light' === e.name1089 ? ('css:light' === e.name &&1090 (e.body = ':light(' + e.body + ')'),1091 { name: 'css', body: (0, n.parseCSS)(e.body, o).selector })1092 : e1093 )1094 return { selector: e, capture: t.capture, parts: r }1095 }),1096 (t.customCSSNames = void 0)1097 var n = r(317)1098 const o = new Set([1099 'not',1100 'is',1101 'where',1102 'has',1103 'scope',1104 'light',1105 'visible',1106 'text',1107 'text-matches',1108 'text-is',1109 'has-text',1110 'above',1111 'below',1112 'right-of',1113 'left-of',1114 'near',1115 'nth-match'1116 ])1117 t.customCSSNames = o1118 },1119 848: (e, t, r) => {1120 Object.defineProperty(t, '__esModule', { value: !0 }),1121 (t.createLaxTextMatcher = y),1122 (t.createStrictTextMatcher = g),1123 (t.createRegexTextMatcher = m),1124 (t.elementText = w),1125 (t.elementMatchesText = S),1126 (t.parentElementOrShadowHost = O),1127 (t.isVisible = N),1128 (t.SelectorEvaluatorImpl = void 0)1129 var n = r(461)1130 t.SelectorEvaluatorImpl = class {1131 constructor(e) {1132 ;(this._engines = new Map()),1133 (this._cacheQueryCSS = new Map()),1134 (this._cacheMatches = new Map()),1135 (this._cacheQuery = new Map()),1136 (this._cacheMatchesSimple = new Map()),1137 (this._cacheMatchesParents = new Map()),1138 (this._cacheCallMatches = new Map()),1139 (this._cacheCallQuery = new Map()),1140 (this._cacheQuerySimple = new Map()),1141 (this._cacheText = new Map()),1142 (this._scoreMap = void 0),1143 (this._retainCacheCounter = 0)1144 for (const [t, r] of e) this._engines.set(t, r)1145 this._engines.set('not', c),1146 this._engines.set('is', o),1147 this._engines.set('where', o),1148 this._engines.set('has', i),1149 this._engines.set('scope', s),1150 this._engines.set('light', a),1151 this._engines.set('visible', u),1152 this._engines.set('text', p),1153 this._engines.set('text-is', l),1154 this._engines.set('text-matches', h),1155 this._engines.set('has-text', f),1156 this._engines.set('right-of', k('right-of', v)),1157 this._engines.set('left-of', k('left-of', _)),1158 this._engines.set('above', k('above', T)),1159 this._engines.set('below', k('below', b)),1160 this._engines.set('near', k('near', E)),1161 this._engines.set('nth-match', C)1162 const t = [...this._engines.keys()]1163 t.sort()1164 const r = [...n.customCSSNames]1165 if ((r.sort(), t.join('|') !== r.join('|')))1166 throw new Error(1167 `Please keep customCSSNames in sync with evaluator engines: ${t.join(1168 '|'1169 )} vs ${r.join('|')}`1170 )1171 }1172 begin() {1173 ++this._retainCacheCounter1174 }1175 end() {1176 --this._retainCacheCounter,1177 this._retainCacheCounter ||1178 (this._cacheQueryCSS.clear(),1179 this._cacheMatches.clear(),1180 this._cacheQuery.clear(),1181 this._cacheMatchesSimple.clear(),1182 this._cacheMatchesParents.clear(),1183 this._cacheCallMatches.clear(),1184 this._cacheCallQuery.clear(),1185 this._cacheQuerySimple.clear(),1186 this._cacheText.clear())1187 }1188 _cached(e, t, r, n) {1189 e.has(t) || e.set(t, [])1190 const o = e.get(t),1191 i = o.find((e) => r.every((t, r) => e.rest[r] === t))1192 if (i) return i.result1193 const s = n()1194 return o.push({ rest: r, result: s }), s1195 }1196 _checkSelector(e) {1197 if (1198 'object' != typeof e ||1199 !e ||1200 !(Array.isArray(e) || ('simples' in e && e.simples.length))1201 )1202 throw new Error(`Malformed selector "${e}"`)1203 return e1204 }1205 matches(e, t, r) {1206 const n = this._checkSelector(t)1207 this.begin()1208 try {1209 return this._cached(1210 this._cacheMatches,1211 e,1212 [n, r.scope, r.pierceShadow],1213 () =>1214 Array.isArray(n)1215 ? this._matchesEngine(o, e, n, r)1216 : !!this._matchesSimple(1217 e,1218 n.simples[n.simples.length - 1].selector,1219 r1220 ) && this._matchesParents(e, n, n.simples.length - 2, r)1221 )1222 } finally {1223 this.end()1224 }1225 }1226 query(e, t) {1227 const r = this._checkSelector(t)1228 this.begin()1229 try {1230 return this._cached(1231 this._cacheQuery,1232 r,1233 [e.scope, e.pierceShadow],1234 () => {1235 if (Array.isArray(r)) return this._queryEngine(o, e, r)1236 const t = this._scoreMap1237 this._scoreMap = new Map()1238 let n = this._querySimple(1239 e,1240 r.simples[r.simples.length - 1].selector1241 )1242 return (1243 (n = n.filter((t) =>1244 this._matchesParents(t, r, r.simples.length - 2, e)1245 )),1246 this._scoreMap.size &&1247 n.sort((e, t) => {1248 const r = this._scoreMap.get(e),1249 n = this._scoreMap.get(t)1250 return r === n1251 ? 01252 : void 0 === r1253 ? 11254 : void 0 === n1255 ? -11256 : r - n1257 }),1258 (this._scoreMap = t),1259 n1260 )1261 }1262 )1263 } finally {1264 this.end()1265 }1266 }1267 _markScore(e, t) {1268 this._scoreMap && this._scoreMap.set(e, t)1269 }1270 _matchesSimple(e, t, r) {1271 return this._cached(1272 this._cacheMatchesSimple,1273 e,1274 [t, r.scope, r.pierceShadow],1275 () => {1276 if (1277 !t.functions.some(1278 (e) => 'scope' === e.name || 'is' === e.name1279 ) &&1280 e === r.scope1281 )1282 return !11283 if (t.css && !this._matchesCSS(e, t.css)) return !11284 for (const n of t.functions)1285 if (1286 !this._matchesEngine(this._getEngine(n.name), e, n.args, r)1287 )1288 return !11289 return !01290 }1291 )1292 }1293 _querySimple(e, t) {1294 return t.functions.length1295 ? this._cached(1296 this._cacheQuerySimple,1297 t,1298 [e.scope, e.pierceShadow],1299 () => {1300 let r = t.css1301 const n = t.functions1302 let o1303 '*' === r && n.length && (r = void 0)1304 let i = -11305 void 0 !== r1306 ? (o = this._queryCSS(e, r))1307 : ((i = n.findIndex(1308 (e) => void 0 !== this._getEngine(e.name).query1309 )),1310 -1 === i && (i = 0),1311 (o = this._queryEngine(1312 this._getEngine(n[i].name),1313 e,1314 n[i].args1315 )))1316 for (let t = 0; t < n.length; t++) {1317 if (t === i) continue1318 const r = this._getEngine(n[t].name)1319 void 0 !== r.matches &&1320 (o = o.filter((o) =>1321 this._matchesEngine(r, o, n[t].args, e)1322 ))1323 }1324 for (let t = 0; t < n.length; t++) {1325 if (t === i) continue1326 const r = this._getEngine(n[t].name)1327 void 0 === r.matches &&1328 (o = o.filter((o) =>1329 this._matchesEngine(r, o, n[t].args, e)1330 ))1331 }1332 return o1333 }1334 )1335 : this._queryCSS(e, t.css || '*')1336 }1337 _matchesParents(e, t, r, n) {1338 return (1339 r < 0 ||1340 this._cached(1341 this._cacheMatchesParents,1342 e,1343 [t, r, n.scope, n.pierceShadow],1344 () => {1345 const { selector: o, combinator: i } = t.simples[r]1346 if ('>' === i) {1347 const i = M(e, n)1348 return (1349 !(!i || !this._matchesSimple(i, o, n)) &&1350 this._matchesParents(i, t, r - 1, n)1351 )1352 }1353 if ('+' === i) {1354 const i = x(e, n)1355 return (1356 !(!i || !this._matchesSimple(i, o, n)) &&1357 this._matchesParents(i, t, r - 1, n)1358 )1359 }1360 if ('' === i) {1361 let i = M(e, n)1362 for (; i; ) {1363 if (this._matchesSimple(i, o, n)) {1364 if (this._matchesParents(i, t, r - 1, n)) return !01365 if ('' === t.simples[r - 1].combinator) break1366 }1367 i = M(i, n)1368 }1369 return !11370 }1371 if ('~' === i) {1372 let i = x(e, n)1373 for (; i; ) {1374 if (this._matchesSimple(i, o, n)) {1375 if (this._matchesParents(i, t, r - 1, n)) return !01376 if ('~' === t.simples[r - 1].combinator) break1377 }1378 i = x(i, n)1379 }1380 return !11381 }1382 if ('>=' === i) {1383 let i = e1384 for (; i; ) {1385 if (this._matchesSimple(i, o, n)) {1386 if (this._matchesParents(i, t, r - 1, n)) return !01387 if ('' === t.simples[r - 1].combinator) break1388 }1389 i = M(i, n)1390 }1391 return !11392 }1393 throw new Error(`Unsupported combinator "${i}"`)1394 }1395 )1396 )1397 }1398 _matchesEngine(e, t, r, n) {1399 if (e.matches) return this._callMatches(e, t, r, n)1400 if (e.query) return this._callQuery(e, r, n).includes(t)1401 throw new Error(1402 'Selector engine should implement "matches" or "query"'1403 )1404 }1405 _queryEngine(e, t, r) {1406 if (e.query) return this._callQuery(e, r, t)1407 if (e.matches)1408 return this._queryCSS(t, '*').filter((n) =>1409 this._callMatches(e, n, r, t)1410 )1411 throw new Error(1412 'Selector engine should implement "matches" or "query"'1413 )1414 }1415 _callMatches(e, t, r, n) {1416 return this._cached(1417 this._cacheCallMatches,1418 t,1419 [e, n.scope, n.pierceShadow, ...r],1420 () => e.matches(t, r, n, this)1421 )1422 }1423 _callQuery(e, t, r) {1424 return this._cached(1425 this._cacheCallQuery,1426 e,1427 [r.scope, r.pierceShadow, ...t],1428 () => e.query(r, t, this)1429 )1430 }1431 _matchesCSS(e, t) {1432 return e.matches(t)1433 }1434 _queryCSS(e, t) {1435 return this._cached(1436 this._cacheQueryCSS,1437 t,1438 [e.scope, e.pierceShadow],1439 () => {1440 let r = []1441 return (1442 (function n(o) {1443 if (1444 ((r = r.concat([...o.querySelectorAll(t)])),1445 e.pierceShadow)1446 ) {1447 o.shadowRoot && n(o.shadowRoot)1448 for (const e of o.querySelectorAll('*'))1449 e.shadowRoot && n(e.shadowRoot)1450 }1451 })(e.scope),1452 r1453 )1454 }1455 )1456 }1457 _getEngine(e) {1458 const t = this._engines.get(e)1459 if (!t) throw new Error(`Unknown selector engine "${e}"`)1460 return t1461 }1462 }1463 const o = {1464 matches(e, t, r, n) {1465 if (0 === t.length)1466 throw new Error('"is" engine expects non-empty selector list')1467 return t.some((t) => n.matches(e, t, r))1468 },1469 query(e, t, r) {1470 if (0 === t.length)1471 throw new Error('"is" engine expects non-empty selector list')1472 let n = []1473 for (const o of t) n = n.concat(r.query(e, o))1474 return 1 === t.length1475 ? n1476 : (function (e) {1477 const t = new Map(),1478 r = [],1479 n = []1480 function o(e) {1481 let n = t.get(e)1482 if (n) return n1483 const i = O(e)1484 return (1485 i ? o(i).children.push(e) : r.push(e),1486 (n = { children: [], taken: !1 }),1487 t.set(e, n),1488 n1489 )1490 }1491 return (1492 e.forEach((e) => (o(e).taken = !0)),1493 r.forEach(function e(r) {1494 const o = t.get(r)1495 if ((o.taken && n.push(r), o.children.length > 1)) {1496 const e = new Set(o.children)1497 o.children = []1498 let t = r.firstElementChild1499 for (; t && o.children.length < e.size; )1500 e.has(t) && o.children.push(t),1501 (t = t.nextElementSibling)1502 for (1503 t = r.shadowRoot1504 ? r.shadowRoot.firstElementChild1505 : null;1506 t && o.children.length < e.size;1507 )1508 e.has(t) && o.children.push(t),1509 (t = t.nextElementSibling)1510 }1511 o.children.forEach(e)1512 }),1513 n1514 )1515 })(n)1516 }1517 },1518 i = {1519 matches(e, t, r, n) {1520 if (0 === t.length)1521 throw new Error('"has" engine expects non-empty selector list')1522 return n.query({ ...r, scope: e }, t).length > 01523 }1524 },1525 s = {1526 matches(e, t, r, n) {1527 if (0 !== t.length)1528 throw new Error('"scope" engine expects no arguments')1529 return 9 === r.scope.nodeType1530 ? e === r.scope.documentElement1531 : e === r.scope1532 },1533 query(e, t, r) {1534 if (0 !== t.length)1535 throw new Error('"scope" engine expects no arguments')1536 if (9 === e.scope.nodeType) {1537 const t = e.scope.documentElement1538 return t ? [t] : []1539 }1540 return 1 === e.scope.nodeType ? [e.scope] : []1541 }1542 },1543 c = {1544 matches(e, t, r, n) {1545 if (0 === t.length)1546 throw new Error('"not" engine expects non-empty selector list')1547 return !n.matches(e, t, r)1548 }1549 },1550 a = {1551 query: (e, t, r) => r.query({ ...e, pierceShadow: !1 }, t),1552 matches: (e, t, r, n) => n.matches(e, t, { ...r, pierceShadow: !1 })1553 },1554 u = {1555 matches(e, t, r, n) {1556 if (t.length)1557 throw new Error('"visible" engine expects no arguments')1558 return N(e)1559 }1560 },1561 p = {1562 matches(e, t, r, n) {1563 if (1 !== t.length || 'string' != typeof t[0])1564 throw new Error('"text" engine expects a single string')1565 return 'self' === S(n, e, y(t[0]))1566 }1567 },1568 l = {1569 matches(e, t, r, n) {1570 if (1 !== t.length || 'string' != typeof t[0])1571 throw new Error('"text-is" engine expects a single string')1572 return 'none' !== S(n, e, g(t[0]))1573 }1574 },1575 h = {1576 matches(e, t, r, n) {1577 if (1578 0 === t.length ||1579 'string' != typeof t[0] ||1580 t.length > 2 ||1581 (2 === t.length && 'string' != typeof t[1])1582 )1583 throw new Error(1584 '"text-matches" engine expects a regexp body and optional regexp flags'1585 )1586 return 'self' === S(n, e, m(t[0], 2 === t.length ? t[1] : void 0))1587 }1588 },1589 f = {1590 matches(e, t, r, n) {1591 if (1 !== t.length || 'string' != typeof t[0])1592 throw new Error('"has-text" engine expects a single string')1593 return !d(e) && y(t[0])(w(n, e))1594 }1595 }1596 function y(e) {1597 return (1598 (e = e.trim().replace(/\s+/g, ' ').toLowerCase()),1599 (t) => t.full.trim().replace(/\s+/g, ' ').toLowerCase().includes(e)1600 )1601 }1602 function g(e) {1603 return (1604 (e = e.trim().replace(/\s+/g, ' ')),1605 (t) =>1606 (!e && !t.immediate.length) ||1607 t.immediate.some((t) => t.trim().replace(/\s+/g, ' ') === e)1608 )1609 }1610 function m(e, t) {1611 const r = new RegExp(e, t)1612 return (e) => r.test(e.full)1613 }1614 function d(e) {1615 return (1616 'SCRIPT' === e.nodeName ||1617 'STYLE' === e.nodeName ||1618 (document.head && document.head.contains(e))1619 )1620 }1621 function w(e, t) {1622 let r = e._cacheText.get(t)1623 if (void 0 === r) {1624 if (((r = { full: '', immediate: [] }), !d(t))) {1625 let n = ''1626 if (1627 t instanceof HTMLInputElement &&1628 ('submit' === t.type || 'button' === t.type)1629 )1630 r = { full: t.value, immediate: [t.value] }1631 else {1632 for (let o = t.firstChild; o; o = o.nextSibling)1633 o.nodeType === Node.TEXT_NODE1634 ? ((r.full += o.nodeValue || ''), (n += o.nodeValue || ''))1635 : (n && r.immediate.push(n),1636 (n = ''),1637 o.nodeType === Node.ELEMENT_NODE &&1638 (r.full += w(e, o).full))1639 n && r.immediate.push(n),1640 t.shadowRoot && (r.full += w(e, t.shadowRoot).full)1641 }1642 }1643 e._cacheText.set(t, r)1644 }1645 return r1646 }1647 function S(e, t, r) {1648 if (d(t)) return 'none'1649 if (!r(w(e, t))) return 'none'1650 for (let n = t.firstChild; n; n = n.nextSibling)1651 if (n.nodeType === Node.ELEMENT_NODE && r(w(e, n)))1652 return 'selfAndChildren'1653 return t.shadowRoot && r(w(e, t.shadowRoot))1654 ? 'selfAndChildren'1655 : 'self'1656 }1657 function v(e, t, r) {1658 const n = e.left - t.right1659 if (!(n < 0 || (void 0 !== r && n > r)))1660 return (1661 n + Math.max(t.bottom - e.bottom, 0) + Math.max(e.top - t.top, 0)1662 )1663 }1664 function _(e, t, r) {1665 const n = t.left - e.right1666 if (!(n < 0 || (void 0 !== r && n > r)))1667 return (1668 n + Math.max(t.bottom - e.bottom, 0) + Math.max(e.top - t.top, 0)1669 )1670 }1671 function T(e, t, r) {1672 const n = t.top - e.bottom1673 if (!(n < 0 || (void 0 !== r && n > r)))1674 return (1675 n + Math.max(e.left - t.left, 0) + Math.max(t.right - e.right, 0)1676 )1677 }1678 function b(e, t, r) {1679 const n = e.top - t.bottom1680 if (!(n < 0 || (void 0 !== r && n > r)))1681 return (1682 n + Math.max(e.left - t.left, 0) + Math.max(t.right - e.right, 0)1683 )1684 }1685 function E(e, t, r) {1686 const n = void 0 === r ? 50 : r1687 let o = 01688 return (1689 e.left - t.right >= 0 && (o += e.left - t.right),1690 t.left - e.right >= 0 && (o += t.left - e.right),1691 t.top - e.bottom >= 0 && (o += t.top - e.bottom),1692 e.top - t.bottom >= 0 && (o += e.top - t.bottom),1693 o > n ? void 0 : o1694 )1695 }1696 function k(e, t) {1697 return {1698 matches(r, n, o, i) {1699 const s =1700 n.length && 'number' == typeof n[n.length - 1]1701 ? n[n.length - 1]1702 : void 0,1703 c = void 0 === s ? n : n.slice(0, n.length - 1)1704 if (n.length < 1 + (void 0 === s ? 0 : 1))1705 throw new Error(1706 `"${e}" engine expects a selector list and optional maximum distance in pixels`1707 )1708 const a = r.getBoundingClientRect()1709 let u1710 for (const e of i.query(o, c)) {1711 if (e === r) continue1712 const n = t(a, e.getBoundingClientRect(), s)1713 void 0 !== n && (void 0 === u || n < u) && (u = n)1714 }1715 return void 0 !== u && (i._markScore(r, u), !0)1716 }1717 }1718 }1719 const C = {1720 query(e, t, r) {1721 let n = t[t.length - 1]1722 if (t.length < 2)1723 throw new Error(1724 '"nth-match" engine expects non-empty selector list and an index argument'1725 )1726 if ('number' != typeof n || n < 1)1727 throw new Error(1728 '"nth-match" engine expects a one-based index as the last argument'1729 )1730 const i = o.query(e, t.slice(0, t.length - 1), r)1731 return n--, n < i.length ? [i[n]] : []1732 }1733 }1734 function O(e) {1735 return e.parentElement1736 ? e.parentElement1737 : e.parentNode &&1738 e.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE &&1739 e.parentNode.host1740 ? e.parentNode.host1741 : void 01742 }1743 function M(e, t) {1744 if (e !== t.scope)1745 return t.pierceShadow ? O(e) : e.parentElement || void 01746 }1747 function x(e, t) {1748 if (e !== t.scope) return e.previousElementSibling || void 01749 }1750 function N(e) {1751 if (!e.ownerDocument || !e.ownerDocument.defaultView) return !01752 const t = e.ownerDocument.defaultView.getComputedStyle(e)1753 if (!t || 'hidden' === t.visibility) return !11754 const r = e.getBoundingClientRect()1755 return r.width > 0 && r.height > 01756 }1757 },1758 854: (e, t, r) => {1759 Object.defineProperty(t, '__esModule', { value: !0 }),1760 (t.querySelector = function (e, t, r) {1761 try {1762 const n = e.parseSelector(t)1763 return { selector: t, elements: e.querySelectorAll(n, r) }1764 } catch (e) {1765 return { selector: t, elements: [] }1766 }1767 }),1768 (t.generateSelector = function (e, t) {1769 e._evaluator.begin()1770 try {1771 const r = (function (e, t) {1772 if (t.ownerDocument.documentElement === t)1773 return [{ engine: 'css', selector: 'html', score: 1 }]1774 const r = (u, l) => {1775 const y = l ? o : i1776 let g = y.get(u)1777 return (1778 void 0 === g &&1779 ((g = ((o, i) => {1780 const u = o === t1781 let l = i1782 ? (function (e, t, r) {1783 if ('SELECT' === t.nodeName) return []1784 const o = (0, n.elementText)(e._evaluator, t)1785 .full.trim()1786 .replace(/\s+/g, ' ')1787 .substring(0, 80)1788 if (!o) return []1789 const i = []1790 let s = o1791 if (1792 ((o.includes('"') ||1793 o.includes('>>') ||1794 '/' === o[0]) &&1795 (s = `/.*${(function (e) {1796 return e.replace(1797 /[.*+?^>${}()|[\]\\]/g,1798 '\\$&'1799 )1800 })(o)}.*/`),1801 i.push({1802 engine: 'text',1803 selector: s,1804 score: 101805 }),1806 r && s === o)1807 ) {1808 let e = t.nodeName.toLocaleLowerCase()1809 t.hasAttribute('role') &&1810 (e += `[role=${p(1811 t.getAttribute('role')1812 )}]`),1813 i.push({1814 engine: 'css',1815 selector: `${e}:has-text("${o}")`,1816 score: 301817 })1818 }1819 return i1820 })(e, o, o === t).map((e) => [e])1821 : []1822 o !== t && (l = s(l))1823 const y = (function (e, t) {1824 const r = []1825 for (const e of [1826 'data-testid',1827 'data-test-id',1828 'data-test'1829 ])1830 t.hasAttribute(e) &&1831 r.push({1832 engine: 'css',1833 selector: `[${e}=${p(t.getAttribute(e))}]`,1834 score: 11835 })1836 if ('INPUT' === t.nodeName) {1837 const e = t1838 e.placeholder &&1839 r.push({1840 engine: 'css',1841 selector: `[placeholder=${p(e.placeholder)}]`,1842 score: 101843 })1844 }1845 t.hasAttribute('aria-label') &&1846 r.push({1847 engine: 'css',1848 selector: `[aria-label=${p(1849 t.getAttribute('aria-label')1850 )}]`,1851 score: 101852 }),1853 t.getAttribute('alt') &&1854 ['APPLET', 'AREA', 'IMG', 'INPUT'].includes(1855 t.nodeName1856 ) &&1857 r.push({1858 engine: 'css',1859 selector: `${t.nodeName.toLowerCase()}[alt=${p(1860 t.getAttribute('alt')1861 )}]`,1862 score: 101863 }),1864 t.hasAttribute('role') &&1865 r.push({1866 engine: 'css',1867 selector: `${t.nodeName.toLocaleLowerCase()}[role=${p(1868 t.getAttribute('role')1869 )}]`,1870 score: 501871 }),1872 t.getAttribute('name') &&1873 [1874 'BUTTON',1875 'FORM',1876 'FIELDSET',1877 'IFRAME',1878 'INPUT',1879 'KEYGEN',1880 'OBJECT',1881 'OUTPUT',1882 'SELECT',1883 'TEXTAREA',1884 'MAP',1885 'META',1886 'PARAM'1887 ].includes(t.nodeName) &&1888 r.push({1889 engine: 'css',1890 selector: `${t.nodeName.toLowerCase()}[name=${p(1891 t.getAttribute('name')1892 )}]`,1893 score: 501894 }),1895 ['INPUT', 'TEXTAREA'].includes(t.nodeName) &&1896 'hidden' !== t.getAttribute('type') &&1897 t.getAttribute('type') &&1898 r.push({1899 engine: 'css',1900 selector: `${t.nodeName.toLowerCase()}[type=${p(1901 t.getAttribute('type')1902 )}]`,1903 score: 501904 }),1905 ['INPUT', 'TEXTAREA', 'SELECT'].includes(1906 t.nodeName1907 ) &&1908 r.push({1909 engine: 'css',1910 selector: t.nodeName.toLowerCase(),1911 score: 501912 })1913 const n = t.getAttribute('id')1914 return (1915 n &&1916 !(function (e) {1917 let t,1918 r = 01919 for (let n = 0; n < e.length; ++n) {1920 const o = e[n]1921 let i1922 '-' !== o &&1923 '_' !== o &&1924 ((i =1925 o >= 'a' && o <= 'z'1926 ? 'lower'1927 : o >= 'A' && o <= 'Z'1928 ? 'upper'1929 : o >= '0' && o <= '9'1930 ? 'digit'1931 : 'other'),1932 'lower' !== i || 'upper' !== t1933 ? (t && t !== i && ++r, (t = i))1934 : (t = i))1935 }1936 return r >= e.length / 41937 })(n) &&1938 r.push({1939 engine: 'css',1940 selector: a(n),1941 score: 1001942 }),1943 r.push({1944 engine: 'css',1945 selector: t.nodeName.toLocaleLowerCase(),1946 score: 2001947 }),1948 r1949 )1950 })(0, o).map((e) => [e])1951 let g = f(e, t.ownerDocument, o, [...l, ...y], u)1952 l = s(l)1953 const m = (t) => {1954 const n = i && !t.length,1955 s = [...t, ...y].filter((e) => !g || h(e) < h(g))1956 let a = s[0]1957 if (a)1958 for (let t = c(o); t; t = c(t)) {1959 const i = r(t, n)1960 if (!i) continue1961 if (g && h([...i, ...a]) >= h(g)) continue1962 if (((a = f(e, t, o, s, u)), !a)) return1963 const c = [...i, ...a]1964 ;(!g || h(c) < h(g)) && (g = c)1965 }1966 }1967 return m(l), o === t && l.length && m([]), g1968 })(u, l)),1969 y.set(u, g)),1970 g1971 )1972 }1973 return r(t, !0)1974 })(1975 e,1976 (t =1977 t.closest(1978 'button,select,input,[role=button],[role=checkbox],[role=radio]'1979 ) || t)1980 ),1981 y = l(r || [u(e, t)]),1982 g = e.parseSelector(y)1983 return {1984 selector: y,1985 elements: e.querySelectorAll(g, t.ownerDocument)1986 }1987 } finally {1988 o.clear(), i.clear(), e._evaluator.end()1989 }1990 })1991 var n = r(848)1992 const o = new Map(),1993 i = new Map()1994 function s(e) {1995 return e.filter((e) => '/' !== e[0].selector[0])1996 }1997 function c(e) {1998 return e.parentElement1999 ? e.parentElement2000 : e.parentNode &&2001 e.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE &&2002 e.parentNode.host2003 ? e.parentNode.host2004 : null2005 }2006 function a(e) {2007 return /^[a-zA-Z][a-zA-Z0-9\-\_]+$/.test(e) ? '#' + e : `[id="${e}"]`2008 }2009 function u(e, t) {2010 const r = 1e7,2011 n = t.ownerDocument,2012 o = []2013 function i(r) {2014 const n = o.slice()2015 r && n.unshift(r)2016 const i = n.join(' '),2017 s = e.parseSelector(i)2018 return e.querySelector(s, t.ownerDocument, !1) === t ? i : void 02019 }2020 for (let e = t; e && e !== n; e = c(e)) {2021 const t = e.nodeName.toLowerCase()2022 let n = ''2023 if (e.id) {2024 const t = a(e.id),2025 o = i(t)2026 if (o) return { engine: 'css', selector: o, score: r }2027 n = t2028 }2029 const s = e.parentNode,2030 c = [...e.classList]2031 for (let e = 0; e < c.length; ++e) {2032 const t = '.' + c.slice(0, e + 1).join('.'),2033 o = i(t)2034 if (o) return { engine: 'css', selector: o, score: r }2035 !n && s && 1 === s.querySelectorAll(t).length && (n = t)2036 }2037 if (s) {2038 const o = [...s.children],2039 c =2040 0 ===2041 o.filter((e) => e.nodeName.toLowerCase() === t).indexOf(e)2042 ? t2043 : `${t}:nth-child(${1 + o.indexOf(e)})`,2044 a = i(c)2045 if (a) return { engine: 'css', selector: a, score: r }2046 n || (n = c)2047 } else n || (n = t)2048 o.unshift(n)2049 }2050 return { engine: 'css', selector: i(), score: r }2051 }2052 function p(e) {2053 return `"${e.replace(/"/g, '\\"').replace(/\n/g, '\\n')}"`2054 }2055 function l(e) {2056 const t = []2057 let r = ''2058 for (const { engine: n, selector: o } of e)2059 t.length &&2060 ('css' !== r || 'css' !== n || o.startsWith(':nth-match(')) &&2061 t.push('>>'),2062 (r = n),2063 'css' === n ? t.push(o) : t.push(`${n}=${o}`)2064 return t.join(' ')2065 }2066 function h(e) {2067 let t = 02068 for (let r = 0; r < e.length; r++) t += e[r].score * (e.length - r)2069 return t2070 }2071 function f(e, t, r, n, o) {2072 const i = n.map((e) => ({ tokens: e, score: h(e) }))2073 i.sort((e, t) => e.score - t.score)2074 let s = null2075 for (const { tokens: n } of i) {2076 const i = e.parseSelector(l(n)),2077 c = e.querySelectorAll(i, t),2078 a = c.indexOf(r)2079 if (0 === a) return n2080 if (!o || s || -1 === a || c.length > 5) continue2081 const u = n.map((e) =>2082 'text' !== e.engine2083 ? e2084 : e.selector.startsWith('/') && e.selector.endsWith('/')2085 ? {2086 engine: 'css',2087 selector: `:text-matches("${e.selector.substring(2088 1,2089 e.selector.length - 12090 )}")`,2091 score: e.score2092 }2093 : {2094 engine: 'css',2095 selector: `:text("${e.selector}")`,2096 score: e.score2097 }2098 )2099 s = [2100 {2101 engine: 'css',2102 selector: `:nth-match(${l(u)}, ${a + 1})`,2103 score: h(u) + 1e32104 }2105 ]2106 }2107 return s2108 }2109 }2110 },2111 t = {}2112 function r(n) {2113 var o = t[n]2114 if (void 0 !== o) return o.exports2115 var i = (t[n] = { exports: {} })2116 return e[n](i, i.exports, r), i.exports2117 }2118 var n = {}2119 ;(() => {2120 var e = n2121 e.default = void 02122 var t = r(854)2123 var o = class {2124 constructor(e) {2125 ;(this._injectedScript = void 0),2126 (this._injectedScript = e),2127 window.playwright ||2128 (window.playwright = {2129 $: (e, t) => this._querySelector(e, !!t),2130 $$: (e) => this._querySelectorAll(e),2131 inspect: (e) => this._inspect(e),2132 selector: (e) => this._selector(e),2133 resume: () => this._resume()2134 })2135 }2136 _querySelector(e, t) {2137 if ('string' != typeof e)2138 throw new Error("Usage: playwright.query('Playwright >> selector').")2139 const r = this._injectedScript.parseSelector(e)2140 return this._injectedScript.querySelector(r, document, t)2141 }2142 _querySelectorAll(e) {2143 if ('string' != typeof e)2144 throw new Error("Usage: playwright.$$('Playwright >> selector').")2145 const t = this._injectedScript.parseSelector(e)2146 return this._injectedScript.querySelectorAll(t, document)2147 }2148 _inspect(e) {2149 if ('string' != typeof e)2150 throw new Error(2151 "Usage: playwright.inspect('Playwright >> selector')."2152 )2153 window.inspect(this._querySelector(e, !1))2154 }2155 _selector(e) {2156 if (!(e instanceof Element))2157 throw new Error('Usage: playwright.selector(element).')2158 return (0, t.generateSelector)(this._injectedScript, e).selector2159 }2160 _resume() {2161 window._playwrightResume().catch(() => {})2162 }2163 }2164 e.default = o2165 })(),2166 (pwExport = n.default)...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const { createStrictTextMatcher } = require('@playwright/test');2const { createStrictTextMatcher } = require('@playwright/test');3const { test, expect } = require('@playwright/test');4test('My test', async ({ page }) => {5 const text = await page.textContent('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');6 expect(text).toEqual('Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');7});8test('My test', async ({ page }) => {9 const text = await page.textContent('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');10 expect(text).toEqual('Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');11});12test('My test', async ({ page }) => {13 const text = await page.textContent('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');14 expect(text).toEqual('Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');15});16test('My test', async ({ page }) => {17 const text = await page.textContent('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');18 expect(text).toEqual('Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');19});20test('My test', async ({ page }) => {21 const text = await page.textContent('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');22 expect(text).toEqual('Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');23});24test('My test', async ({ page }) => {25 const text = await page.textContent('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');26 expect(text).toEqual

Full Screen

Using AI Code Generation

copy

Full Screen

1const { createStrictTextMatcher } = require('playwright/lib/utils/matchers');2const { test, expect } = require('@playwright/test');3test('test', async ({ page }) => {4 const strictTextMatcher = createStrictTextMatcher('Playwright');5 expect(await page.textContent('text=Playwright')).toBe(strictTextMatcher.matches());6});7const { createStrictTextMatcher } = require('playwright/lib/utils/matchers');8const { test, expect } = require('@playwright/test');9test('test', async ({ page }) => {10 const strictTextMatcher = createStrictTextMatcher('Playwright');11 expect(await page.textContent('text=Playwright')).not.toBe(strictTextMatcher.matches());12});13const { createStrictTextMatcher } = require('playwright/lib/utils/matchers');14const { test, expect } = require('@playwright/test');15test('test', async ({ page }) => {16 const strictTextMatcher = createStrictTextMatcher('Playwright');17 expect(await

Full Screen

Using AI Code Generation

copy

Full Screen

1const { createStrictTextMatcher } = require('playwright/lib/internal/strictTextMatcher');2const strictTextMatcher = createStrictTextMatcher();3const strictTextMatcher = createStrictTextMatcher();4const strictTextMatcher = createStrictTextMatcher();5const strictTextMatcher = createStrictTextMatcher();6const strictTextMatcher = createStrictTextMatcher();7const strictTextMatcher = createStrictTextMatcher();8const strictTextMatcher = createStrictTextMatcher();9const strictTextMatcher = createStrictTextMatcher();10const strictTextMatcher = createStrictTextMatcher();11const strictTextMatcher = createStrictTextMatcher();12const strictTextMatcher = createStrictTextMatcher();

Full Screen

Using AI Code Generation

copy

Full Screen

1const { createStrictTextMatcher } = require('playwright/lib/internal/matchers');2const { test } = require('@playwright/test');3test('strict text matcher', async ({ page }) => {4 const button = await page.waitForSelector(createStrictTextMatcher('Get Started'));5 await button.click();6});

Full Screen

Using AI Code Generation

copy

Full Screen

1const { createStrictTextMatcher } = require('@playwright/test/lib/utils/matchers');2const { test } = require('@playwright/test');3test('test', async ({ page }) => {4 await page.setContent('<div>Text</div>');5 expect(await page.textContent('div')).toEqual(createStrictTextMatcher('Text'));6});7import { createStrictTextMatcher } from '@playwright/test/lib/utils/matchers';8import { test } from '@playwright/test';9test('test', async ({ page }) => {10 await page.setContent('<div>Text</div>');11 expect(await page.textContent('div')).toEqual(createStrictTextMatcher('Text'));12});

Full Screen

Using AI Code Generation

copy

Full Screen

1const { createStrictTextMatcher } = require('@playwright/test');2const { expect } = require('@playwright/test');3const strictText = createStrictTextMatcher();4expect('some text').toEqual(strictText('some text'));5expect('some text').not.toEqual(strictText('some text'));6expect('some text').toEqual(strictText('some text'));7expect('some text').not.toEqual(strictText('some text'));8expect('some text').toEqual(strictText('some text'));9expect('some text').not.toEqual(strictText('some text'));10expect('some text').toEqual(strictText('some text'));11expect('some text').not.toEqual(strictText('some text'));12expect('some text').toEqual(strictText('some text'));13expect('some text').not.toEqual(strictText('some text'));14expect('some text').toEqual(strictText('some text'));15expect('some text').not.toEqual(strictText('some text'));16expect('some text').toEqual(strictText('some text'));17expect('some text').not.toEqual(strictText('some text'));18expect('some text').toEqual(strictText('some text'));19expect('some text').not.toEqual(strictText('some text'));20expect('some text').toEqual(strictText('some text'));21expect('some text').not.toEqual(strictText('some text'));22expect('some text').toEqual(strictText('some text'));23expect('some text').not.toEqual(strictText('some text'));24expect('some text').toEqual(strictText('some text'));25expect('some text').not.toEqual(strictText('some text'));26expect('some text').toEqual(strictText('some text'));27expect('some text').not.toEqual(strict

Full Screen

Using AI Code Generation

copy

Full Screen

1const { createStrictTextMatcher } = require('playwright/lib/server/dom.js');2const { expect } = require('chai');3const { createStrictTextMatcher } = require('playwright/lib/server/dom.js');4const { expect } = require('chai');5describe('Test', () => {6 it('should match text', () => {7 const matcher = createStrictTextMatcher('Hello World');8 expect(matcher('Hello World')).to.be.true;9 });10});11const { createStrictTextMatcher } = require('playwright/lib/server/dom.js');12const { expect } = require('chai');13describe('Test', () => {14 it('should match text', () => {15 const matcher = createStrictTextMatcher('Hello World');16 expect(matcher('Hello World')).to.be.true;17 });18});19const { createStrictTextMatcher } = require('playwright/lib/server/dom.js');20const { expect } = require('chai');21describe('Test', () => {22 it('should match text', () => {23 const matcher = createStrictTextMatcher('Hello World');24 expect(matcher('Hello World')).to.be.true;25 });26});27const { createStrictTextMatcher } = require('playwright/lib/server/dom.js');28const { expect } = require('chai');29describe('Test', () => {30 it('should match text', () => {31 const matcher = createStrictTextMatcher('Hello World');32 expect(matcher('Hello World')).to.be.true;33 });34});35const { createStrictTextMatcher } = require('playwright/lib/server/dom.js');36const { expect } = require('chai');37describe('Test', () => {38 it('should match text', () => {39 const matcher = createStrictTextMatcher('Hello World');40 expect(matcher('Hello World')).to.be.true;41 });42});

Full Screen

Using AI Code Generation

copy

Full Screen

1const {createStrictTextMatcher} = require('@playwright/test/lib/matchers/matchers');2test('test', async ({page}) => {3 const textMatcher = createStrictTextMatcher('text');4 await page.waitForSelector(textMatcher);5});6const { createStrictTextMatcher } = require('@playwright/test/lib/matchers/matchers');7const textMatcher = createStrictTextMatcher('text');8await page.waitForSelector(textMatcher);9await page.waitForSelector('text="text"');10const { createStrictTextMatcher } = require('@playwright/test/lib/matchers/matchers');11const textMatcher = createStrictTextMatcher('text');12await page.waitForSelector(textMatcher);13await page.waitForSelector('text="text"');14const { createStrictTextMatcher } = require('@playwright/test/lib/matchers/matchers');15const textMatcher = createStrictTextMatcher('text

Full Screen

Using AI Code Generation

copy

Full Screen

1const { createStrictTextMatcher } = require('playwright/lib/internal/strictTextMatcher');2const text = createStrictTextMatcher('hello world');3console.log(text);4const { createStrictTextMatcher } = require('playwright/lib/strictTextMatcher');5const text = createStrictTextMatcher('hello world');6console.log(text);7const { createStrictTextMatcher } = require('playwright');8const text = createStrictTextMatcher('hello world');9console.log(text);10const { createStrictTextMatcher } = require('playwright/lib/strictTextMatcher');11const text = createStrictTextMatcher('hello world');12console.log(text);13const { createStrictTextMatcher } = require('playwright/lib/strictTextMatcher');14const text = createStrictTextMatcher('hello world');15console.log(text);16const { createStrictTextMatcher } = require('playwright/lib/strictTextMatcher');17const text = createStrictTextMatcher('hello world');18console.log(text);19const { createStrictTextMatcher } = require('playwright/lib/strictTextMatcher');20const text = createStrictTextMatcher('hello world');21console.log(text);22const { createStrictTextMatcher } = require('playwright/lib/strictTextMatcher');23const text = createStrictTextMatcher('hello world');24console.log(text);25const { createStrictTextMatcher } = require('playwright/lib/strictTextMatcher');26const text = createStrictTextMatcher('hello world');27console.log(text);28const { createStrictTextMatcher } = require('playwright/lib/strictTextMatcher');29const text = createStrictTextMatcher('hello world');30console.log(text);31const { createStrictTextMatcher } = require('playwright/lib/strictTextMatcher');32const text = createStrictTextMatcher('hello world');33console.log(text);

Full Screen

Playwright tutorial

LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.

Chapters:

  1. What is Playwright : Playwright is comparatively new but has gained good popularity. Get to know some history of the Playwright with some interesting facts connected with it.
  2. How To Install Playwright : Learn in detail about what basic configuration and dependencies are required for installing Playwright and run a test. Get a step-by-step direction for installing the Playwright automation framework.
  3. Playwright Futuristic Features: Launched in 2020, Playwright gained huge popularity quickly because of some obliging features such as Playwright Test Generator and Inspector, Playwright Reporter, Playwright auto-waiting mechanism and etc. Read up on those features to master Playwright testing.
  4. What is Component Testing: Component testing in Playwright is a unique feature that allows a tester to test a single component of a web application without integrating them with other elements. Learn how to perform Component testing on the Playwright automation framework.
  5. Inputs And Buttons In Playwright: Every website has Input boxes and buttons; learn about testing inputs and buttons with different scenarios and examples.
  6. Functions and Selectors in Playwright: Learn how to launch the Chromium browser with Playwright. Also, gain a better understanding of some important functions like “BrowserContext,” which allows you to run multiple browser sessions, and “newPage” which interacts with a page.
  7. Handling Alerts and Dropdowns in Playwright : Playwright interact with different types of alerts and pop-ups, such as simple, confirmation, and prompt, and different types of dropdowns, such as single selector and multi-selector get your hands-on with handling alerts and dropdown in Playright testing.
  8. Playwright vs Puppeteer: Get to know about the difference between two testing frameworks and how they are different than one another, which browsers they support, and what features they provide.
  9. Run Playwright Tests on LambdaTest: Playwright testing with LambdaTest leverages test performance to the utmost. You can run multiple Playwright tests in Parallel with the LammbdaTest test cloud. Get a step-by-step guide to run your Playwright test on the LambdaTest platform.
  10. Playwright Python Tutorial: Playwright automation framework support all major languages such as Python, JavaScript, TypeScript, .NET and etc. However, there are various advantages to Python end-to-end testing with Playwright because of its versatile utility. Get the hang of Playwright python testing with this chapter.
  11. Playwright End To End Testing Tutorial: Get your hands on with Playwright end-to-end testing and learn to use some exciting features such as TraceViewer, Debugging, Networking, Component testing, Visual testing, and many more.
  12. Playwright Video Tutorial: Watch the video tutorials on Playwright testing from experts and get a consecutive in-depth explanation of Playwright automation testing.

Run Playwright Internal automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful