@axe-core/watcher 3.16.1-next.c20cf4bb → 3.16.1-next.c66173b8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,23 +6,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.wrapPlaywrightPage = exports.wrapPlaywright = exports.PlaywrightController = void 0;
7
7
  exports.playwrightConfig = playwrightConfig;
8
8
  const Controller_1 = __importDefault(require("./Controller"));
9
- const headlessNotSupportedError_1 = require("./utils/headlessNotSupportedError");
10
9
  const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
11
10
  const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
12
11
  const checkUserArgs_1 = require("./utils/checkUserArgs");
12
+ const validateHeadlessPlaywright_1 = __importDefault(require("./utils/validateHeadlessPlaywright"));
13
13
  function playwrightConfig(opts) {
14
14
  const { axe, ...config } = opts;
15
15
  let { args = [] } = config;
16
16
  (0, checkUserArgs_1.checkUserArgs)(args);
17
17
  (0, writeVariables_1.default)(axe);
18
- if (config.headless) {
19
- throw new headlessNotSupportedError_1.HeadlessNotSupportedError('In Playwright, include "--headless=new" in the "args" property of your options instead of using "headless: true"');
20
- }
21
18
  const existingArgs = args;
22
19
  args = (0, mergeChromeArgs_1.default)(existingArgs, { disableOtherExtensions: true });
20
+ (0, validateHeadlessPlaywright_1.default)({
21
+ isPlaywrightTest: false,
22
+ playwrightConfig: opts
23
+ });
23
24
  return {
24
25
  ...config,
25
- headless: false,
26
26
  args
27
27
  };
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;AAgBA,4CAqBC;AApCD,8DAAqC;AACrC,iFAA6E;AAC7E,8EAAqD;AACrD,4EAA2E;AAC3E,yDAAqD;AAWrD,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAA;IACnB,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,qDAAyB,CACjC,kHAAkH,CACnH,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,IAAI,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,KAAK;QACf,IAAI;KACL,CAAA;AACH,CAAC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAGlD,YAAY,MAAY;QACtB,KAAK,CAAC;YACJ,eAAe,EAAE,sBAAsB;YACvC,eAAe,EAAE,YAAY;YAC7B,qBAAqB,EAAE,oBAAoB;SAC5C,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAI,EAAE,EAAE,GAAG,CAAC,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AArBD,oDAqBC;AAKM,MAAM,cAAc,GAAG,CAE5B,cAA8B,EAE9B,oBAA0C,EAC1B,EAAE;IAClB,MAAM,IAAI,KAAK,CAAC;;;;;;GAMf,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAED,2DAAqE;AAA5D,wHAAA,QAAQ,OAAsB"}
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":";;;;;;AAgBA,4CAmBC;AAlCD,8DAAqC;AACrC,8EAAqD;AACrD,4EAA2E;AAC3E,yDAAqD;AACrD,oGAA2E;AAW3E,SAAgB,gBAAgB,CAAC,IAAa;IAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAE1B,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAA;IACnB,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,YAAY,GAAG,IAAI,CAAA;IACzB,IAAI,GAAG,IAAA,yBAAe,EAAC,YAAY,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,IAAA,oCAA0B,EAAC;QACzB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,MAAM;QACT,IAAI;KACL,CAAA;AACH,CAAC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAGlD,YAAY,MAAY;QACtB,KAAK,CAAC;YACJ,eAAe,EAAE,sBAAsB;YACvC,eAAe,EAAE,YAAY;YAC7B,qBAAqB,EAAE,oBAAoB;SAC5C,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,EAA+B,EAC/B,GAAG,IAAe;QAElB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAI,EAAE,EAAE,GAAG,CAAC,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AArBD,oDAqBC;AAKM,MAAM,cAAc,GAAG,CAE5B,cAA8B,EAE9B,oBAA0C,EAC1B,EAAE;IAClB,MAAM,IAAI,KAAK,CAAC;;;;;;GAMf,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,cAAc,kBAa1B;AAED,2DAAqE;AAA5D,wHAAA,QAAQ,OAAsB"}
@@ -10,6 +10,7 @@ const mergeChromeArgs_1 = __importDefault(require("./utils/mergeChromeArgs"));
10
10
  const writeVariables_1 = __importDefault(require("./utils/writeVariables"));
11
11
  const checkUserArgs_1 = require("./utils/checkUserArgs");
12
12
  const constants_1 = require("./utils/constants");
13
+ const validateHeadlessPlaywright_1 = __importDefault(require("./utils/validateHeadlessPlaywright"));
13
14
  const playwrightTest = (options) => {
14
15
  let controller = null;
15
16
  const { axe, ...config } = options;
@@ -26,6 +27,10 @@ const playwrightTest = (options) => {
26
27
  const sessionId = (0, node_crypto_1.randomUUID)();
27
28
  node_fs_1.default.writeFileSync(constants_1.PATH_TO_SESSION_FILE, JSON.stringify({ id: sessionId }));
28
29
  }
30
+ (0, validateHeadlessPlaywright_1.default)({
31
+ isPlaywrightTest: true,
32
+ playwrightConfig: options
33
+ });
29
34
  (0, checkUserArgs_1.checkUserArgs)(config.args || []);
30
35
  (0, writeVariables_1.default)(axe);
31
36
  const test = base.extend({
@@ -1 +1 @@
1
- {"version":3,"file":"playwrightTest.js","sourceRoot":"","sources":["../src/playwrightTest.ts"],"names":[],"mappings":";;;;;AAWA,6CAIqB;AACrB,sDAAwB;AACxB,6CAAwC;AACxC,8EAAqD;AACrD,4EAAmD;AACnD,yDAAqD;AACrD,iDAAwD;AA4BxD,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAe,EAAE;IACvD,IAAI,UAAU,GAAgC,IAAI,CAAA;IAClD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;IAIlC,IAAI,IAAU,CAAA;IACd,IAAI,QAAsC,CAAA;IAC1C,IAAI,CAAC;QAEH,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAI,KAAe,CAAC,OAAO,CAC/D,CAAA;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,IAAA,wBAAU,GAAE,CAAA;QAC9B,iBAAE,CAAC,aAAa,CAAC,gCAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,IAAA,6BAAa,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAChC,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QAMjC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,EAAE,EAAE;gBACzD,GAAG,MAAM;gBACT,IAAI,EAAE,IAAA,yBAAe,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE;oBACvC,sBAAsB,EAAE,IAAI;iBAC7B,CAAC;aACH,CAAC,CAAA;YACF,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;YAClB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;YAC5B,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,IAAI,iCAAoB,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;gBAC5B,IAAI,GAAG,IAAA,+BAAkB,EAAC,IAAI,EAAE,UAAU,CAAuB,CAAA;YACnE,CAAC;YAED,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;YAEf,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"playwrightTest.js","sourceRoot":"","sources":["../src/playwrightTest.ts"],"names":[],"mappings":";;;;;AAWA,6CAIqB;AACrB,sDAAwB;AACxB,6CAAwC;AACxC,8EAAqD;AACrD,4EAAmD;AACnD,yDAAqD;AACrD,iDAAwD;AACxD,oGAA2E;AA4B3E,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAe,EAAE;IACvD,IAAI,UAAU,GAAgC,IAAI,CAAA;IAClD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,CAAA;IAIlC,IAAI,IAAU,CAAA;IACd,IAAI,QAAsC,CAAA;IAC1C,IAAI,CAAC;QAEH,CAAC;QAAA,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,mCAAmC,GAAI,KAAe,CAAC,OAAO,CAC/D,CAAA;IACH,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,IAAA,wBAAU,GAAE,CAAA;QAC9B,iBAAE,CAAC,aAAa,CAAC,gCAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,IAAA,oCAA0B,EAAC;QACzB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,OAAO;KAC1B,CAAC,CAAA;IACF,IAAA,6BAAa,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAChC,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAA;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QAMjC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,EAAE,EAAE;gBACzD,GAAG,MAAM;gBACT,IAAI,EAAE,IAAA,yBAAe,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE;oBACvC,sBAAsB,EAAE,IAAI;iBAC7B,CAAC;aACH,CAAC,CAAA;YACF,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA;YAClB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;YAC5B,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,IAAI,iCAAoB,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;gBAC5B,IAAI,GAAG,IAAA,+BAAkB,EAAC,IAAI,EAAE,UAAU,CAAuB,CAAA;YACnE,CAAC;YAED,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;YAEf,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;QAC1B,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAE1B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare function generatePlaywrightHeadlessMessage(prefixedMessage?: string): string;
2
+ export declare class HeadlessPlaywrightNotSupportedError extends Error {
3
+ name: string;
4
+ constructor(prefixedMessage?: string);
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HeadlessPlaywrightNotSupportedError = void 0;
4
+ exports.generatePlaywrightHeadlessMessage = generatePlaywrightHeadlessMessage;
5
+ function generatePlaywrightHeadlessMessage(prefixedMessage) {
6
+ return (prefixedMessage +
7
+ ' Opt-in the new headless mode, youʼll need to include the "channel" property ' +
8
+ 'in your options and set it to "chrome" or "chromium". ' +
9
+ 'Youʼll also need to include "headless: true" or "headless: false" if you havenʼt already. ' +
10
+ 'Please see https://github.com/microsoft/playwright/issues/33566 for more information.');
11
+ }
12
+ class HeadlessPlaywrightNotSupportedError extends Error {
13
+ constructor(prefixedMessage) {
14
+ super(generatePlaywrightHeadlessMessage(prefixedMessage));
15
+ this.name = 'NewHeadlessPlaywrightNotSupportedError';
16
+ }
17
+ }
18
+ exports.HeadlessPlaywrightNotSupportedError = HeadlessPlaywrightNotSupportedError;
19
+ //# sourceMappingURL=newHeadlessPlaywrightNotSupportedError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newHeadlessPlaywrightNotSupportedError.js","sourceRoot":"","sources":["../../src/utils/newHeadlessPlaywrightNotSupportedError.ts"],"names":[],"mappings":";;;AACA,8EAUC;AAVD,SAAgB,iCAAiC,CAC/C,eAAwB;IAExB,OAAO,CACL,eAAe;QACf,+EAA+E;QAC/E,wDAAwD;QACxD,4FAA4F;QAC5F,uFAAuF,CACxF,CAAA;AACH,CAAC;AAED,MAAa,mCAAoC,SAAQ,KAAK;IAG5D,YAAY,eAAwB;QAClC,KAAK,CAAC,iCAAiC,CAAC,eAAe,CAAC,CAAC,CAAA;QAHpD,SAAI,GAAG,wCAAwC,CAAA;IAItD,CAAC;CACF;AAND,kFAMC"}
@@ -0,0 +1,7 @@
1
+ import type { Options } from '../playwright';
2
+ interface ValidateHeadlessPlaywrightParams {
3
+ isPlaywrightTest: boolean;
4
+ playwrightConfig: Options;
5
+ }
6
+ declare function validateHeadlessPlaywright({ isPlaywrightTest, playwrightConfig }: ValidateHeadlessPlaywrightParams): void;
7
+ export default validateHeadlessPlaywright;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const headlessNotSupportedError_1 = require("./headlessNotSupportedError");
4
+ const newHeadlessPlaywrightNotSupportedError_1 = require("./newHeadlessPlaywrightNotSupportedError");
5
+ function validateHeadlessPlaywright({ isPlaywrightTest, playwrightConfig }) {
6
+ const preHeadlessChangeMessage = () => `'In ${isPlaywrightTest ? '@playwright-test' : 'Playwright'}, include "--headless=new" in the "args" property of your options instead of using "headless: true',`;
7
+ try {
8
+ const playwrightCoreVersion = require('playwright-core/package.json').version;
9
+ const [major, minor] = playwrightCoreVersion.split('.').map(Number);
10
+ if (major === 1 && minor <= 48) {
11
+ if (playwrightConfig.headless) {
12
+ throw new headlessNotSupportedError_1.HeadlessNotSupportedError(preHeadlessChangeMessage());
13
+ }
14
+ return;
15
+ }
16
+ if (playwrightConfig.headless === undefined) {
17
+ throw new newHeadlessPlaywrightNotSupportedError_1.HeadlessPlaywrightNotSupportedError('@axe-core/watcher is not supported in chromium-headless-shell mode.');
18
+ }
19
+ const isChromiumChannel = playwrightConfig.channel && playwrightConfig.channel === 'chromium';
20
+ const isChromeChannel = playwrightConfig.channel && playwrightConfig.channel === 'chrome';
21
+ if (playwrightConfig.headless && !(isChromiumChannel || isChromeChannel)) {
22
+ throw new newHeadlessPlaywrightNotSupportedError_1.HeadlessPlaywrightNotSupportedError('@axe-core/watcher requires either fully headed mode or new headless mode.');
23
+ }
24
+ }
25
+ catch (error) {
26
+ if (error instanceof headlessNotSupportedError_1.HeadlessNotSupportedError ||
27
+ error instanceof newHeadlessPlaywrightNotSupportedError_1.HeadlessPlaywrightNotSupportedError) {
28
+ throw error;
29
+ }
30
+ if (playwrightConfig.headless) {
31
+ throw new headlessNotSupportedError_1.HeadlessNotSupportedError(preHeadlessChangeMessage());
32
+ }
33
+ }
34
+ }
35
+ exports.default = validateHeadlessPlaywright;
36
+ //# sourceMappingURL=validateHeadlessPlaywright.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateHeadlessPlaywright.js","sourceRoot":"","sources":["../../src/utils/validateHeadlessPlaywright.ts"],"names":[],"mappings":";;AACA,2EAAuE;AACvE,qGAA8F;AAO9F,SAAS,0BAA0B,CAAC,EAClC,gBAAgB,EAChB,gBAAgB,EACiB;IACjC,MAAM,wBAAwB,GAAG,GAAW,EAAE,CAC5C,OAAO,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,sGAAsG,CAAA;IAMnK,IAAI,CAAC;QACH,MAAM,qBAAqB,GAEzB,OAAO,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAA;QACjD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAGjE,CAAA;QAGD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC/B,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,qDAAyB,CAAC,wBAAwB,EAAE,CAAC,CAAA;YACjE,CAAC;YAED,OAAM;QACR,CAAC;QAGD,IAAI,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,4EAAmC,CAC3C,qEAAqE,CACtE,CAAA;QACH,CAAC;QAED,MAAM,iBAAiB,GACrB,gBAAgB,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,KAAK,UAAU,CAAA;QACrE,MAAM,eAAe,GACnB,gBAAgB,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,KAAK,QAAQ,CAAA;QAEnE,IAAI,gBAAgB,CAAC,QAAQ,IAAI,CAAC,CAAC,iBAAiB,IAAI,eAAe,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,4EAAmC,CAC3C,2EAA2E,CAC5E,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,qDAAyB;YAC1C,KAAK,YAAY,4EAAmC,EACpD,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;QAID,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,qDAAyB,CAAC,wBAAwB,EAAE,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAED,kBAAe,0BAA0B,CAAA"}