appium-chromedriver 6.1.16 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [7.0.1](https://github.com/appium/appium-chromedriver/compare/v7.0.0...v7.0.1) (2025-01-29)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * ChromeDriver Bump to v132.0.6834.159 ([#457](https://github.com/appium/appium-chromedriver/issues/457)) ([86fa246](https://github.com/appium/appium-chromedriver/commit/86fa246e445e52d983cafc2c8edbf723bdaf570a))
6
+
7
+ ## [7.0.0](https://github.com/appium/appium-chromedriver/compare/v6.1.16...v7.0.0) (2025-01-24)
8
+
9
+ ### ⚠ BREAKING CHANGES
10
+
11
+ * The detectWebDriverProtocol method of the Chromedriver class has been removed
12
+ * The desiredProtocol property of the Chromedriver class has been renamed to _desiredProtocol
13
+ * The driverVersion property of the Chromedriver has been changed to a getter
14
+
15
+ ### Features
16
+
17
+ * Determine chromedriver version from the /status API output ([#456](https://github.com/appium/appium-chromedriver/issues/456)) ([797c8cc](https://github.com/appium/appium-chromedriver/commit/797c8cc3648712c0d8d17b15c5ef2be4af8a6c99))
18
+
1
19
  ## [6.1.16](https://github.com/appium/appium-chromedriver/compare/v6.1.15...v6.1.16) (2025-01-23)
2
20
 
3
21
  ### Miscellaneous Chores
@@ -30,10 +30,17 @@ export class Chromedriver extends events<[never]> {
30
30
  } | undefined;
31
31
  /** @type {any} */
32
32
  capabilities: any;
33
- /** @type {keyof PROTOCOLS} */
34
- desiredProtocol: "W3C" | "MJSONWP";
35
- driverVersion: string | null;
33
+ /** @type {keyof PROTOCOLS | null} */
34
+ _desiredProtocol: ("W3C" | "MJSONWP") | null;
35
+ /** @type {string|null} */
36
+ _driverVersion: string | null;
37
+ /** @type {Record<string, any> | null} */
38
+ _onlineStatus: Record<string, any> | null;
36
39
  get log(): import("@appium/types").AppiumLogger;
40
+ /**
41
+ * @returns {string | null}
42
+ */
43
+ get driverVersion(): string | null;
37
44
  getDriversMapping(): Promise<any>;
38
45
  /**
39
46
  * @param {ChromedriverVersionMapping} mapping
@@ -54,30 +61,23 @@ export class Chromedriver extends events<[never]> {
54
61
  getCompatibleChromedriver(): Promise<string>;
55
62
  initChromedriverPath(): Promise<string>;
56
63
  /**
57
- * Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
58
- * Does nothing if this.driverVersion is null.
59
- *
60
- * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS]}
61
- */
62
- syncProtocol(): (typeof PROTOCOLS)[keyof typeof PROTOCOLS];
63
- /**
64
- * Sync the protocol by reading the given output
64
+ * Determines the driver communication protocol
65
+ * based on various validation rules.
65
66
  *
66
- * @param {string} line The output of ChromeDriver process
67
- * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS] | null}
67
+ * @returns {keyof PROTOCOLS}
68
68
  */
69
- detectWebDriverProtocol(line: string): (typeof PROTOCOLS)[keyof typeof PROTOCOLS] | null;
69
+ syncProtocol(): "W3C" | "MJSONWP";
70
70
  /**
71
71
  *
72
72
  * @param {object} caps
73
73
  * @param {boolean} emitStartingState
74
74
  */
75
- start(caps: object, emitStartingState?: boolean): Promise<Record<string, any>>;
75
+ start(caps: object, emitStartingState?: boolean): Promise<Record<string, any> | NewSessionResponse>;
76
76
  sessionId(): string | null;
77
77
  restart(): Promise<void>;
78
78
  waitForOnline(): Promise<void>;
79
79
  getStatus(): Promise<unknown>;
80
- startSession(): Promise<Record<string, any>>;
80
+ startSession(): Promise<Record<string, any> | NewSessionResponse>;
81
81
  stop(emitStates?: boolean): Promise<void>;
82
82
  /**
83
83
  *
@@ -120,5 +120,4 @@ import { SubProcess } from 'teen_process';
120
120
  import { JWProxy } from '@appium/base-driver';
121
121
  import { ChromedriverStorageClient } from './storage-client/storage-client';
122
122
  import * as semver from 'semver';
123
- import { PROTOCOLS } from '@appium/base-driver';
124
123
  //# sourceMappingURL=chromedriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":"AAiCA;IACE;;;OAGG;IACH,mBAFW,OAAO,SAAS,EAAE,gBAAgB,EA+D5C;IA1CC,2CAAqD;IAErD,kBAAqB;IACrB,2BAAqB;IACrB,8CAAc;IACd,8BAAsB;IACtB,wBAAgB;IAChB,6BAA8C;IAC9C,iCAA8B;IAC9B,sBAAkC;IAClC,gCAA8B;IAC9B,6BAAwB;IACxB,4BAA+B;IAC/B,cAAuC;IACvC,iBAIE;IAIA,+BAAiC;IAMnC,6BAAsB;IACtB,4BAAsB;IACtB,2BAA4C;IAC5C,gDAEQ;IACR;;;;kBAAsB;IACtB,kBAAkB;IAClB,cADW,GAAG,CACQ;IACtB,8BAA8B;IAC9B,mCAAwC;IAGxC,6BAAoD;IAGtD,gDAEC;IAED,kCA8BC;IAED;;OAEG;IACH,0BAFW,0BAA0B,kBAgGpC;IAED,kDAmEC;IAED;;;;OAIG;IACH,iCAHW,0BAA0B,GACxB,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;OAIG;IACH,6BAFa,OAAO,CAAC,MAAM,CAAC,CAqJ3B;IAED,wCAwBC;IAED;;;;;OAKG;IACH,gBAFa,CAAA,OAAO,SAAS,EAAC,MAAM,OAAO,SAAS,CAAC,CA8BpD;IAED;;;;;OAKG;IACH,8BAHW,MAAM,GACJ,CAAA,OAAO,SAAS,EAAC,MAAM,OAAO,SAAS,CAAC,GAAG,IAAI,CA2B3D;IAED;;;;OAIG;IACH,YAHW,MAAM,sBACN,OAAO,gCAuIjB;IAED,2BAEC;IAED,yBAQC;IAED,+BAcC;IAED,8BAEC;IAED,6CAeC;IAED,0CA2BC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,UACN,MAAM,GAAC,KAAK,GAAC,QAAQ,QACrB,GAAG,oBAKb;IAED;;;;;OAKG;IACH,cAJW,GAAG,OACH,GAAG,iBAKb;IAED,yBAuCC;IAED,sCASC;CACF;;;;;;;;;;yCAWY,OAAO,SAAS,EAAE,0BAA0B;iCAI5C;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAC;mBAn4B7B,QAAQ;2BAKI,cAAc;wBAJZ,qBAAqB;0CAiBZ,iCAAiC;wBAJnD,QAAQ;0BAbC,qBAAqB"}
1
+ {"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":"AAgCA;IACE;;;OAGG;IACH,mBAFW,OAAO,SAAS,EAAE,gBAAgB,EAkE5C;IA7CC,2CAAqD;IAErD,kBAAqB;IACrB,2BAAqB;IACrB,8CAAc;IACd,8BAAsB;IACtB,wBAAgB;IAChB,6BAA8C;IAC9C,iCAA8B;IAC9B,sBAAkC;IAClC,gCAA8B;IAC9B,6BAAwB;IACxB,4BAA+B;IAC/B,cAAuC;IACvC,iBAIE;IAIA,+BAAiC;IAMnC,6BAAsB;IACtB,4BAAsB;IACtB,2BAA4C;IAC5C,gDAEQ;IACR;;;;kBAAsB;IACtB,kBAAkB;IAClB,cADW,GAAG,CACQ;IACtB,qCAAqC;IACrC,kBADW,sBAAkB,IAAI,CACL;IAG5B,0BAA0B;IAC1B,gBADW,MAAM,GAAC,IAAI,CACI;IAC1B,yCAAyC;IACzC,eADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CACZ;IAG3B,gDAEC;IAED;;OAEG;IACH,qBAFa,MAAM,GAAG,IAAI,CAIzB;IAED,kCA8BC;IAED;;OAEG;IACH,0BAFW,0BAA0B,kBAgGpC;IAED,kDAmEC;IAED;;;;OAIG;IACH,iCAHW,0BAA0B,GACxB,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;OAIG;IACH,6BAFa,OAAO,CAAC,MAAM,CAAC,CAqJ3B;IAED,wCAwBC;IAED;;;;;OAKG;IACH,kCAkCC;IAED;;;;OAIG;IACH,YAHW,MAAM,sBACN,OAAO,qDA8HjB;IAED,2BAEC;IAED,yBAQC;IAED,+BA0BC;IAED,8BAEC;IAED,kEAeC;IAED,0CA2BC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,UACN,MAAM,GAAC,KAAK,GAAC,QAAQ,QACrB,GAAG,oBAKb;IAED;;;;;OAKG;IACH,cAJW,GAAG,OACH,GAAG,iBAKb;IAED,yBAuCC;IAED,sCASC;CACF;;;;;;;;;;yCAWY,OAAO,SAAS,EAAE,0BAA0B;iCAI5C;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAC;mBAp3B7B,QAAQ;2BAKI,cAAc;wBAJZ,qBAAqB;0CAiBZ,iCAAiC;wBAJnD,QAAQ"}
@@ -59,7 +59,6 @@ const CHROME_BUNDLE_ID = 'com.android.chrome';
59
59
  const WEBVIEW_SHELL_BUNDLE_ID = 'org.chromium.webview_shell';
60
60
  const WEBVIEW_BUNDLE_IDS = ['com.google.android.webview', 'com.android.webview'];
61
61
  const VERSION_PATTERN = /([\d.]+)/;
62
- const WEBDRIVER_VERSION_PATTERN = /Starting (ChromeDriver|Microsoft Edge WebDriver) ([.\d]+)/;
63
62
  const CD_VERSION_TIMEOUT = 5000;
64
63
  class Chromedriver extends events_1.default.EventEmitter {
65
64
  /**
@@ -104,14 +103,23 @@ class Chromedriver extends events_1.default.EventEmitter {
104
103
  this.details = details;
105
104
  /** @type {any} */
106
105
  this.capabilities = {};
107
- /** @type {keyof PROTOCOLS} */
108
- this.desiredProtocol = base_driver_1.PROTOCOLS.MJSONWP;
106
+ /** @type {keyof PROTOCOLS | null} */
107
+ this._desiredProtocol = null;
109
108
  // Store the running driver version
110
- this.driverVersion = /** @type {string|null} */ null;
109
+ /** @type {string|null} */
110
+ this._driverVersion = null;
111
+ /** @type {Record<string, any> | null} */
112
+ this._onlineStatus = null;
111
113
  }
112
114
  get log() {
113
115
  return this._log;
114
116
  }
117
+ /**
118
+ * @returns {string | null}
119
+ */
120
+ get driverVersion() {
121
+ return this._driverVersion;
122
+ }
115
123
  async getDriversMapping() {
116
124
  let mapping = lodash_1.default.cloneDeep(utils_1.CHROMEDRIVER_CHROME_MAPPING);
117
125
  if (this.mappingPath) {
@@ -425,8 +433,8 @@ class Chromedriver extends events_1.default.EventEmitter {
425
433
  const binPath = matchingDrivers[0].executable;
426
434
  this.log.debug(`Found ${support_1.util.pluralize('executable', matchingDrivers.length, true)} ` +
427
435
  `capable of automating Chrome '${chromeVersion}'.\nChoosing the most recent, '${binPath}'.`);
428
- this.log.debug('If a specific version is required, specify it with the `chromedriverExecutable`' +
429
- 'desired capability.');
436
+ this.log.debug(`If a specific version is required, specify it with the 'chromedriverExecutable'` +
437
+ ` capability.`);
430
438
  return binPath;
431
439
  // eslint-disable-next-line no-constant-condition
432
440
  } while (true);
@@ -453,65 +461,41 @@ class Chromedriver extends events_1.default.EventEmitter {
453
461
  return /** @type {string} */ (this.chromedriver);
454
462
  }
455
463
  /**
456
- * Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
457
- * Does nothing if this.driverVersion is null.
464
+ * Determines the driver communication protocol
465
+ * based on various validation rules.
458
466
  *
459
- * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS]}
467
+ * @returns {keyof PROTOCOLS}
460
468
  */
461
469
  syncProtocol() {
462
- if (!this.driverVersion) {
463
- // Keep the default protocol if the driverVersion was unsure.
464
- return this.desiredProtocol;
465
- }
466
- this.desiredProtocol = base_driver_1.PROTOCOLS.MJSONWP;
467
- const coercedVersion = semver.coerce(this.driverVersion);
468
- if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
469
- this.log.info(`The ChromeDriver v. ${this.driverVersion} does not fully support ${base_driver_1.PROTOCOLS.W3C} protocol. ` +
470
- `Defaulting to ${base_driver_1.PROTOCOLS.MJSONWP}`);
471
- return this.desiredProtocol;
472
- }
473
- // Check only chromeOptions for now.
474
- const chromeOptions = (0, protocol_helpers_1.getCapValue)(this.capabilities, 'chromeOptions', {});
475
- if (chromeOptions.w3c === false) {
470
+ if (this.driverVersion) {
471
+ const coercedVersion = semver.coerce(this.driverVersion);
472
+ if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
473
+ this.log.info(`The ChromeDriver v. ${this.driverVersion} does not fully support ${base_driver_1.PROTOCOLS.W3C} protocol. ` +
474
+ `Defaulting to ${base_driver_1.PROTOCOLS.MJSONWP}`);
475
+ this._desiredProtocol = base_driver_1.PROTOCOLS.MJSONWP;
476
+ return this._desiredProtocol;
477
+ }
478
+ }
479
+ const isOperaDriver = lodash_1.default.includes(this._onlineStatus?.message, 'OperaDriver');
480
+ const chromeOptions = (0, protocol_helpers_1.getCapValue)(this.capabilities, 'chromeOptions');
481
+ if (lodash_1.default.isPlainObject(chromeOptions) && chromeOptions.w3c === false) {
476
482
  this.log.info(`The ChromeDriver v. ${this.driverVersion} supports ${base_driver_1.PROTOCOLS.W3C} protocol, ` +
477
483
  `but ${base_driver_1.PROTOCOLS.MJSONWP} one has been explicitly requested`);
478
- return this.desiredProtocol;
484
+ this._desiredProtocol = base_driver_1.PROTOCOLS.MJSONWP;
485
+ return this._desiredProtocol;
479
486
  }
480
- this.desiredProtocol = base_driver_1.PROTOCOLS.W3C;
481
- this.log.info(`Set ChromeDriver communication protocol to ${base_driver_1.PROTOCOLS.W3C}`);
482
- return this.desiredProtocol;
483
- }
484
- /**
485
- * Sync the protocol by reading the given output
486
- *
487
- * @param {string} line The output of ChromeDriver process
488
- * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS] | null}
489
- */
490
- detectWebDriverProtocol(line) {
491
- if (this.driverVersion) {
492
- return this.syncProtocol();
493
- }
494
- // also print chromedriver version to logs
495
- // will output something like
496
- // Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
497
- // Or MSEdge:
498
- // Starting Microsoft Edge WebDriver 111.0.1661.41 (57be51b50d1be232a9e8186a10017d9e06b1fd16) on port 9515
499
- const match = WEBDRIVER_VERSION_PATTERN.exec(line);
500
- if (match && match.length === 3) {
501
- this.log.debug(`${match[1]} version: '${match[2]}'`);
502
- this.driverVersion = match[2];
503
- try {
504
- return this.syncProtocol();
487
+ else if (isOperaDriver) {
488
+ // OperaDriver needs the W3C protocol to be requested explcitly,
489
+ // otherwise it defaults to JWP
490
+ if (lodash_1.default.isPlainObject(chromeOptions)) {
491
+ chromeOptions.w3c = true;
505
492
  }
506
- catch (e) {
507
- this.driverVersion = null;
508
- this.log.error(`Stopping the chromedriver process. Cannot determinate the protocol: ${e}`);
509
- this.stop();
493
+ else {
494
+ this.capabilities[(0, protocol_helpers_1.toW3cCapName)('chromeOptions')] = { w3c: true };
510
495
  }
511
- // Does not print else condition log since the log could be
512
- // very noisy when this.verbose option is true.
513
496
  }
514
- return null;
497
+ this._desiredProtocol = base_driver_1.PROTOCOLS.W3C;
498
+ return this._desiredProtocol;
515
499
  }
516
500
  /**
517
501
  *
@@ -548,7 +532,6 @@ class Chromedriver extends events_1.default.EventEmitter {
548
532
  let processIsAlive = false;
549
533
  /** @type {string|undefined} */
550
534
  let webviewVersion;
551
- let didDetectProtocol = false;
552
535
  try {
553
536
  const chromedriverPath = await this.initChromedriverPath();
554
537
  await this.killAll();
@@ -574,16 +557,6 @@ class Chromedriver extends events_1.default.EventEmitter {
574
557
  this.log.debug(`Webview version: '${webviewVersion}'`);
575
558
  }
576
559
  }
577
- if (!didDetectProtocol) {
578
- const proto = this.detectWebDriverProtocol(line);
579
- if (proto === base_driver_1.PROTOCOLS.W3C) {
580
- // given caps might not be properly prefixed
581
- // so we try to fix them in order to properly init
582
- // the new W3C session
583
- this.capabilities = (0, protocol_helpers_1.toW3cCapNames)(this.capabilities);
584
- }
585
- didDetectProtocol = true;
586
- }
587
560
  if (this.verbose) {
588
561
  // give the output if it is requested
589
562
  this.log.debug(`[${streamName.toUpperCase()}] ${line}`);
@@ -592,7 +565,9 @@ class Chromedriver extends events_1.default.EventEmitter {
592
565
  }
593
566
  // handle out-of-bound exit by simply emitting a stopped state
594
567
  this.proc.once('exit', (code, signal) => {
595
- this.driverVersion = null;
568
+ this._driverVersion = null;
569
+ this._desiredProtocol = null;
570
+ this._onlineStatus = null;
596
571
  processIsAlive = false;
597
572
  if (this.state !== Chromedriver.STATE_STOPPED &&
598
573
  this.state !== Chromedriver.STATE_STOPPING &&
@@ -604,10 +579,11 @@ class Chromedriver extends events_1.default.EventEmitter {
604
579
  this.proc?.removeAllListeners();
605
580
  this.proc = null;
606
581
  });
607
- this.log.info(`Spawning chromedriver with: ${this.chromedriver} ${args.join(' ')}`);
582
+ this.log.info(`Spawning Chromedriver with: ${this.chromedriver} ${args.join(' ')}`);
608
583
  // start subproc and wait for startDetector
609
584
  await this.proc.start(startDetector);
610
585
  await this.waitForOnline();
586
+ this.syncProtocol();
611
587
  return await this.startSession();
612
588
  }
613
589
  catch (e) {
@@ -660,7 +636,20 @@ class Chromedriver extends events_1.default.EventEmitter {
660
636
  chromedriverStopped = true;
661
637
  return;
662
638
  }
663
- await this.getStatus();
639
+ /** @type {any} */
640
+ const status = await this.getStatus();
641
+ if (!lodash_1.default.isPlainObject(status) || !status.ready) {
642
+ throw new Error(`The response to the /status API is not valid: ${JSON.stringify(status)}`);
643
+ }
644
+ this._onlineStatus = status;
645
+ const versionMatch = VERSION_PATTERN.exec(status.build?.version ?? '');
646
+ if (versionMatch) {
647
+ this._driverVersion = versionMatch[1];
648
+ this.log.info(`Chromedriver version: ${this._driverVersion}`);
649
+ }
650
+ else {
651
+ this.log.info('Chromedriver version cannot be determined from the /status API response');
652
+ }
664
653
  });
665
654
  if (chromedriverStopped) {
666
655
  throw new Error('ChromeDriver crashed during startup.');
@@ -670,15 +659,15 @@ class Chromedriver extends events_1.default.EventEmitter {
670
659
  return await this.jwproxy.command('/status', 'GET');
671
660
  }
672
661
  async startSession() {
673
- const sessionCaps = this.desiredProtocol === base_driver_1.PROTOCOLS.W3C
674
- ? { capabilities: { alwaysMatch: this.capabilities } }
662
+ const sessionCaps = this._desiredProtocol === base_driver_1.PROTOCOLS.W3C
663
+ ? { capabilities: { alwaysMatch: (0, protocol_helpers_1.toW3cCapNames)(this.capabilities) } }
675
664
  : { desiredCapabilities: this.capabilities };
676
- this.log.info(`Starting ${this.desiredProtocol} Chromedriver session with capabilities: ` +
665
+ this.log.info(`Starting ${this._desiredProtocol} Chromedriver session with capabilities: ` +
677
666
  JSON.stringify(sessionCaps, null, 2));
678
- const { capabilities } = /** @type {NewSessionResponse} */ (await this.jwproxy.command('/session', 'POST', sessionCaps));
667
+ const response = /** @type {NewSessionResponse} */ (await this.jwproxy.command('/session', 'POST', sessionCaps));
679
668
  this.log.prefix = (0, utils_1.generateLogPrefix)(this, this.jwproxy.sessionId);
680
669
  this.changeState(Chromedriver.STATE_ONLINE);
681
- return capabilities;
670
+ return lodash_1.default.has(response, 'capabilities') ? response.capabilities : response;
682
671
  }
683
672
  async stop(emitStates = true) {
684
673
  if (emitStates) {
@@ -1 +1 @@
1
- {"version":3,"file":"chromedriver.js","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chromedriver.js","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,qDAAuD;AACvD,kEAA+B;AAC/B,6CAAyD;AACzD,uCAAiD;AACjD,+CAA8C;AAC9C,wDAAyB;AACzB,mCAMiB;AACjB,+CAAiC;AACjC,oDAAuB;AACvB,gDAAwB;AACxB,uDAAiD;AACjD,oEAA4E;AAC5E,yDAA4E;AAE5E,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAC/C,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAC9C,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAC7D,MAAM,kBAAkB,GAAG,CAAC,4BAA4B,EAAE,qBAAqB,CAAC,CAAC;AACjF,MAAM,eAAe,GAAG,UAAU,CAAC;AAEnC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAa,YAAa,SAAQ,gBAAM,CAAC,YAAY;IACnD;;;OAGG;IACH,YAAY,IAAI,GAAG,EAAE;QACnB,KAAK,EAAE,CAAC;QAER,MAAM,EACJ,IAAI,GAAG,YAAY,EACnB,IAAI,GAAG,YAAY,EACnB,mBAAmB,GAAG,KAAK,EAC3B,UAAU,EACV,aAAa,EACb,QAAQ,EACR,WAAW,EACX,OAAO,EACP,GAAG,EACH,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,qBAAqB,GAAG,KAAK,GAC9B,GAAG,IAAI,CAAC;QACT,IAAI,CAAC,IAAI,GAAG,gBAAM,CAAC,SAAS,CAAC,IAAA,yBAAiB,EAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAO,CAAC;YACzB,MAAM,EAAE,IAAI,CAAC,SAAS;YACtB,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,GAAG,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,2DAA2D;YAC3D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAA,0BAAkB,GAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,qBAAqB;YACxC,CAAC,CAAC,IAAI,0CAAyB,CAAC,EAAC,eAAe,EAAE,IAAI,CAAC,aAAa,EAAC,CAAC;YACtE,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,kBAAkB;QAClB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,qCAAqC;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,mCAAmC;QACnC,0BAA0B;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,yCAAyC;QACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,OAAO,GAAG,gBAAC,CAAC,SAAS,CAAC,mCAA2B,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wDAAwD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YAC5F,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;gBACxD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,YAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;gBACpE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,WAAW,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAClE,CAAC;QAED,4EAA4E;QAC5E,KAAK,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACpD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,aAAa,8CAA8C,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAO;QAC5B,oCAAoC;QACpC,MAAM,WAAW,GAAG,MAAM,YAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACrC,GAAG,EAAE,IAAI,CAAC,aAAa;YACvB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,SAAS,cAAI,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG;YAChE,OAAO,IAAI,CAAC,aAAa,GAAG,CAC/B,CAAC;QACF,MAAM,GAAG,GAAG,CACV,MAAM,IAAA,mBAAQ,EAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC/C;;eAEG;YACH,MAAM,QAAQ,GAAG,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,EAAE;gBAC7C,IAAI,MAAM,GACR,wCAAwC,cAAI,CAAC,QAAQ,CACnD,UAAU,CACX,yBAAyB;oBAC1B,iGAAiG,OAAO,EAAE,CAAC;gBAC7G,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,aAAa,MAAM,EAAE,CAAC;gBAClC,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,aAAa,MAAM,EAAE,CAAC;gBAClC,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YAEF,IAAI,MAAM,CAAC;YACX,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBACH,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,IAAA,mBAAI,EAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;oBACxD,OAAO,EAAE,kBAAkB;iBAC5B,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,+CAA+C,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChE,IACE,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;oBAC1C,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EACrD,CAAC;oBACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;gBAED,+DAA+D;gBAC/D,oEAAoE;gBACpE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACtB,CAAC;YAED,MAAM,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kCAAkC;YACjG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,QAAQ,CAAC,EAAC,OAAO,EAAE,iCAAiC,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,cAAc,EAAE,CAAC;gBACnB,0DAA0D;gBAC1D,IAAI,cAAc,CAAC,KAAK,GAAG,mCAAmC,EAAE,CAAC;oBAC/D,OAAO,GAAG,mCAAmC,CAAC,CAC5C,GAAG,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,CAClD,CAAC;oBACF,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,CAAC,gBAAgB,IAAI,cAAc,CAAC,KAAK,IAAI,mCAAmC,EAAE,CAAC;oBACrF,wFAAwF;oBACxF,gBAAgB,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,OAAO;gBACL,UAAU;gBACV,OAAO;gBACP,gBAAgB;aACjB,CAAC;QACJ,CAAC,CAAC,CACH;aACE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAe,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,IAAI,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACxE,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACrE,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,QAAQ,EAAE,CAAC,UAAU,eAAe,EAAE,CAAC,OAAO,8BAC5C,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAC9C,IAAI,CACL,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,mEAAmE;QACnE,uEAAuE;QACvE,yDAAyD;QACzD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC;QAElB,+EAA+E;QAC/E,IAAI,IAAI,CAAC,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;oBAC1C,aAAa,GAAG,MAAM,IAAA,wBAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAC3D,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBACzB,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gFAAgF;QAChF,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAC9C,IACE,QAAQ,IAAI,EAAE;gBACd,QAAQ,IAAI,EAAE;gBACd,CAAC,uBAAuB,EAAE,GAAG,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAC9E,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;YACnC,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,uCAAuC;YACvC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;YAEjC,oEAAoE;YACpE,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,aAAa,GAAG,MAAM,IAAA,wBAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAC3D,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBACzB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,aAAa,GAAG,MAAM,IAAA,wBAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QAED,qDAAqD;QACrD,OAAO,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,UAAU;QACnC,IAAI,yBAAyB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAClF,yBAAyB,GAAG,KAAK,CAAC;YACpC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,wDAAwD,IAAI,CAAC,WAAW,KAAK;oBAC3E,0EAA0E,GAAG,CAAC,OAAO,EAAE,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,yBAAyB,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,mCAA2B,EAAE,UAAU,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7C,OAAO,MAAM,IAAA,iCAAyB,GAAE,CAAC;QAC3C,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,gBAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B;;;WAGG;QACH,MAAM,iBAAiB,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE;YAChD,cAAc,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,8CAA8C;gBAC5C,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CACvE,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;gBACtD,iBAAiB,EAAE,aAAa,CAAC,KAAK;aACvC,CAAC,CAAC;YACH,IAAI,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,0BAA0B,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC9D,MAAM,EAAC,OAAO,EAAE,iBAAiB,EAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzD,GAAG,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC;gBACjC,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,yCAAyC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,GAAG,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEjD,yCAAyC;YACzC,MAAM,eAAe,GAAG,EAAE,CAAC;YAC3B,KAAK,MAAM,EAAC,OAAO,EAAE,gBAAgB,EAAC,IAAI,GAAG,EAAE,CAAC;gBAC9C,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC1C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,GAAG,mCAAmC,EAAE,CAAC;oBAC1E,SAAS;gBACX,CAAC;gBAED,eAAe,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,SAAS,cAAI,CAAC,SAAS,CAAC,cAAc,EAAE,gBAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,IAAI;oBACxE,SACE,gBAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KACzC,0CAA0C;oBAC1C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAClC,CAAC;gBACF,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,0EAA0E;wBACxE,6DAA6D,CAChE,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAC,OAAO,EAAE,UAAU,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,wEAAwE,OAAO,SAAS,UAAU,IAAI,CACvG,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,6EAA6E,CAC9E,CAAC;gBACF,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,mCAAmC;gBACnC,IAAI,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,0EAA0E;wBACxE,iDAAiD,CACpD,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAC,OAAO,EAAE,UAAU,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,yDAAyD,OAAO,QAAQ,UAAU,GAAG,CACtF,CAAC;gBACF,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,QAAQ,cAAc,aAAa,GAAG,CAAC,CAAC;YAEpF,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAC,gBAAgB,EAAC,EAAE,EAAE;gBACxD,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC9E,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,OAAO,aAAa,CAAC,KAAK,GAAG,mCAAmC;oBAC9D,CAAC,CAAC,iBAAiB,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK;oBACjD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,IAAI,gBAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1C,IAAI,CAAC;wBACH,IAAI,MAAM,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;4BAC3C,SAAS;wBACX,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,mEAAmE,GAAG,CAAC,OAAO,EAAE,CACjF,CAAC;wBACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBACD,MAAM,sBAAsB,GAC1B,mEAAmE;oBACnE,wBAAwB,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,mDAAmD,aAAa,IAAI;oBAClE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAC3D,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,SAAS,cAAI,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG;gBACpE,iCAAiC,aAAa,kCAAkC,OAAO,IAAI,CAC9F,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,iFAAiF;gBAC/E,cAAc,CACjB,CAAC;YACF,OAAO,OAAO,CAAC;YACf,iDAAiD;QACnD,CAAC,QAAQ,IAAI,EAAE;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACjD,OAAO,qBAAqB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,6CAA6C;QAC7C,mEAAmE;QACnE,wCAAwC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB;gBACzD,CAAC,CAAC,MAAM,IAAA,iCAAyB,GAAE;gBACnC,CAAC,CAAC,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,kDAAkD;gBAChD,GAAG,IAAI,CAAC,YAAY,yBAAyB,CAChD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAClE,OAAO,qBAAqB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,KAAK,GAAG,+BAA+B,EAAE,CAAC;gBAC9E,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,uBAAuB,IAAI,CAAC,aAAa,2BAA2B,uBAAS,CAAC,GAAG,aAAa;oBAC5F,iBAAiB,uBAAS,CAAC,OAAO,EAAE,CACvC,CAAC;gBACF,IAAI,CAAC,gBAAgB,GAAG,uBAAS,CAAC,OAAO,CAAC;gBAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAC7E,MAAM,aAAa,GAAG,IAAA,8BAAW,EAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACtE,IAAI,gBAAC,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,uBAAuB,IAAI,CAAC,aAAa,aAAa,uBAAS,CAAC,GAAG,aAAa;gBAC9E,OAAO,uBAAS,CAAC,OAAO,oCAAoC,CAC/D,CAAC;YACF,IAAI,CAAC,gBAAgB,GAAG,uBAAS,CAAC,OAAO,CAAC;YAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,gEAAgE;YAChE,+BAA+B;YAC/B,IAAI,gBAAC,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,IAAA,+BAAY,EAAC,eAAe,CAAC,CAAC,GAAG,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,uBAAS,CAAC,GAAG,CAAC;QACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI;QACxC,IAAI,CAAC,YAAY,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,sDAAsD;QACtD,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAA,8BAAW,EAAC,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QACjD,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,qEAAqE;QACrE,+CAA+C;QAC/C,MAAM,aAAa,GAAG,6BAA6B,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE/F,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,+BAA+B;QAC/B,IAAI,cAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC3D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAErB,+BAA+B;YAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,yBAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YACnD,cAAc,GAAG,IAAI,CAAC;YAEtB,oBAAoB;YACpB,KAAK,MAAM,UAAU,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC1C,qEAAqE;oBACrE,2BAA2B;oBAC3B,yBAAyB;oBACzB,iDAAiD;oBACjD,yCAAyC;oBACzC,kCAAkC;oBAClC,4BAA4B;oBAC5B,kCAAkC;oBAClC,MAAM;oBACN,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,KAAK,EAAE,CAAC;4BACV,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,cAAc,GAAG,CAAC,CAAC;wBACzD,CAAC;oBACH,CAAC;oBAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,qCAAqC;wBACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,cAAc,GAAG,KAAK,CAAC;gBACvB,IACE,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,aAAa;oBACzC,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,cAAc;oBAC1C,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,gBAAgB,EAC5C,CAAC;oBACD,MAAM,GAAG,GAAG,8CAA8C,IAAI,YAAY,MAAM,EAAE,CAAC;oBACnF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpF,2CAA2C;YAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACzC,qEAAqE;YACrE,4CAA4C;YAC5C,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,kFAAkF;YAClF,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBACnD,OAAO;oBACL,kGAAkG,CAAC;gBACrG,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,IAAI,iCAAiC,cAAc,IAAI,CAAC;gBACjE,CAAC;gBACD,MAAM,yBAAyB,GAC7B,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7D,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,OAAO,IAAI,4CAA4C,yBAAyB,IAAI,CAAC;gBACvF,CAAC;gBACD,OAAO,IAAI,kDAAkD,CAAC;YAChE,CAAC;YAED,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;YACvB,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,8CAA8C;QAC9C,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,MAAM,IAAA,wBAAa,EAAC,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE;YACtC,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;gBAC9C,6DAA6D;gBAC7D,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,kBAAkB;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,gBAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YACvE,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,WAAW,GACf,IAAI,CAAC,gBAAgB,KAAK,uBAAS,CAAC,GAAG;YACrC,CAAC,CAAC,EAAC,YAAY,EAAE,EAAC,WAAW,EAAE,IAAA,gCAAa,EAAC,IAAI,CAAC,YAAY,CAAC,EAAC,EAAC;YACjE,CAAC,CAAC,EAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,EAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,YAAY,IAAI,CAAC,gBAAgB,2CAA2C;YAC1E,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CACvC,CAAC;QACF,MAAM,QAAQ,GAAG,iCAAiC,CAAC,CACjD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAC5D,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAA,yBAAiB,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC5C,OAAO,gBAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI;QAC1B,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;QACD;;;WAGG;QACH,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QACF,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAA,yBAAiB,EAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAK;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI;QACjC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG;QACrB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,GAAG,GAAG,gBAAM,CAAC,SAAS,EAAE;YAC1B,CAAC,CAAC,kEAAkE,IAAI,CAAC,SAAS,YAAY;YAC9F,CAAC,CAAC,iBAAiB,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,SAAS,GAAG,CAAC;QACpE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,kBAAC,CAAC,SAAS,CAAC,uBAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEpF,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iEAAiE,IAAI,EAAE,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,CAAC;gBACH,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;oBACjD,kHAAkH;oBAClH,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3E,SAAS;oBACX,CAAC;oBAED,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,uEAAuE;QACvE,kEAAkE;QAClE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAr0BD,oCAq0BC;AAED,YAAY,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAChD,YAAY,CAAC,aAAa,GAAG,cAAc,CAAC;AAC5C,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;AACvC,YAAY,CAAC,cAAc,GAAG,UAAU,CAAC;AACzC,YAAY,CAAC,YAAY,GAAG,QAAQ,CAAC;AACrC,YAAY,CAAC,cAAc,GAAG,UAAU,CAAC;AACzC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC;AAE7C;;GAEG;AAEH;;GAEG"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ *
3
+ * @param {string} capName
4
+ */
5
+ export function toW3cCapName(capName: string): string;
1
6
  /**
2
7
  *
3
8
  * @param {any} originalCaps
@@ -8,8 +13,8 @@ export function toW3cCapNames(originalCaps?: any): Record<string, any>;
8
13
  *
9
14
  * @param {Record<string,any>} allCaps
10
15
  * @param {string} rawCapName
11
- * @param {any} defaultValue
12
- * @returns
16
+ * @param {any} [defaultValue]
17
+ * @returns {any}
13
18
  */
14
- export function getCapValue(allCaps: Record<string, any> | undefined, rawCapName: string, defaultValue: any): any;
19
+ export function getCapValue(allCaps: Record<string, any> | undefined, rawCapName: string, defaultValue?: any): any;
15
20
  //# sourceMappingURL=protocol-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-helpers.d.ts","sourceRoot":"","sources":["../../lib/protocol-helpers.js"],"names":[],"mappings":"AA+BA;;;;GAIG;AACH,6CAHW,GAAG,GACD,MAAM,CAAC,MAAM,EAAC,GAAG,CAAC,CAO9B;AA1BD;;;;;;GAMG;AACH,qCALW,MAAM,CAAC,MAAM,EAAC,GAAG,CAAC,0BAClB,MAAM,gBACN,GAAG,OAUb"}
1
+ {"version":3,"file":"protocol-helpers.d.ts","sourceRoot":"","sources":["../../lib/protocol-helpers.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH,sCAFW,MAAM,UAMhB;AAkBD;;;;GAIG;AACH,6CAHW,GAAG,GACD,MAAM,CAAC,MAAM,EAAC,GAAG,CAAC,CAO9B;AA1BD;;;;;;GAMG;AACH,qCALW,MAAM,CAAC,MAAM,EAAC,GAAG,CAAC,0BAClB,MAAM,iBACN,GAAG,GACD,GAAG,CASf"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.toW3cCapName = toW3cCapName;
6
7
  exports.toW3cCapNames = toW3cCapNames;
7
8
  exports.getCapValue = getCapValue;
8
9
  const lodash_1 = __importDefault(require("lodash"));
@@ -21,8 +22,8 @@ function toW3cCapName(capName) {
21
22
  *
22
23
  * @param {Record<string,any>} allCaps
23
24
  * @param {string} rawCapName
24
- * @param {any} defaultValue
25
- * @returns
25
+ * @param {any} [defaultValue]
26
+ * @returns {any}
26
27
  */
27
28
  function getCapValue(allCaps = {}, rawCapName, defaultValue) {
28
29
  for (const [capName, capValue] of lodash_1.default.toPairs(allCaps)) {
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-helpers.js","sourceRoot":"","sources":["../../lib/protocol-helpers.js"],"names":[],"mappings":";;;;;AA2CS,sCAAa;AAAE,kCAAW;AA3CnC,oDAAuB;AACvB,qDAAoD;AAEpD,MAAM,UAAU,GAAG,OAAO,CAAC;AAE3B;;;GAGG;AACH,SAAS,YAAY,CAAE,OAAO;IAC5B,OAAO,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,CAAC;QAC/E,CAAC,CAAC,GAAG,UAAU,GAAG,OAAO,EAAE;QAC3B,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAE,OAAO,GAAG,EAAE,EAAE,UAAU,EAAE,YAAY;IAC1D,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAE,YAAY,GAAG,EAAE;IACvC,OAAO,gBAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAChD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,iCAAiC,CAAA,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"protocol-helpers.js","sourceRoot":"","sources":["../../lib/protocol-helpers.js"],"names":[],"mappings":";;;;;AASA,oCAIC;AA8BQ,sCAAa;AAAE,kCAAW;AA3CnC,oDAAuB;AACvB,qDAAoD;AAEpD,MAAM,UAAU,GAAG,OAAO,CAAC;AAE3B;;;GAGG;AACH,SAAgB,YAAY,CAAE,OAAO;IACnC,OAAO,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,CAAC;QAC/E,CAAC,CAAC,GAAG,UAAU,GAAG,OAAO,EAAE;QAC3B,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAE,OAAO,GAAG,EAAE,EAAE,UAAU,EAAE,YAAY;IAC1D,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAE,YAAY,GAAG,EAAE;IACvC,OAAO,gBAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAChD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,iCAAiC,CAAA,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  {
2
+ "132.0.6834.159": "132.0.6834.159",
2
3
  "132.0.6834.110": "132.0.6834.110",
3
4
  "132.0.6834.83": "132.0.6834.83",
4
5
  "131.0.6778.264": "131.0.6778.264",
@@ -17,7 +17,7 @@ import _ from 'lodash';
17
17
  import path from 'path';
18
18
  import {compareVersions} from 'compare-versions';
19
19
  import { ChromedriverStorageClient } from './storage-client/storage-client';
20
- import {toW3cCapNames, getCapValue} from './protocol-helpers';
20
+ import {toW3cCapNames, getCapValue, toW3cCapName} from './protocol-helpers';
21
21
 
22
22
  const NEW_CD_VERSION_FORMAT_MAJOR_VERSION = 73;
23
23
  const DEFAULT_HOST = '127.0.0.1';
@@ -27,7 +27,6 @@ const CHROME_BUNDLE_ID = 'com.android.chrome';
27
27
  const WEBVIEW_SHELL_BUNDLE_ID = 'org.chromium.webview_shell';
28
28
  const WEBVIEW_BUNDLE_IDS = ['com.google.android.webview', 'com.android.webview'];
29
29
  const VERSION_PATTERN = /([\d.]+)/;
30
- const WEBDRIVER_VERSION_PATTERN = /Starting (ChromeDriver|Microsoft Edge WebDriver) ([.\d]+)/;
31
30
 
32
31
  const CD_VERSION_TIMEOUT = 5000;
33
32
 
@@ -92,17 +91,27 @@ export class Chromedriver extends events.EventEmitter {
92
91
  this.details = details;
93
92
  /** @type {any} */
94
93
  this.capabilities = {};
95
- /** @type {keyof PROTOCOLS} */
96
- this.desiredProtocol = PROTOCOLS.MJSONWP;
94
+ /** @type {keyof PROTOCOLS | null} */
95
+ this._desiredProtocol = null;
97
96
 
98
97
  // Store the running driver version
99
- this.driverVersion = /** @type {string|null} */ null;
98
+ /** @type {string|null} */
99
+ this._driverVersion = null;
100
+ /** @type {Record<string, any> | null} */
101
+ this._onlineStatus = null;
100
102
  }
101
103
 
102
104
  get log() {
103
105
  return this._log;
104
106
  }
105
107
 
108
+ /**
109
+ * @returns {string | null}
110
+ */
111
+ get driverVersion() {
112
+ return this._driverVersion;
113
+ }
114
+
106
115
  async getDriversMapping() {
107
116
  let mapping = _.cloneDeep(CHROMEDRIVER_CHROME_MAPPING);
108
117
  if (this.mappingPath) {
@@ -477,8 +486,8 @@ export class Chromedriver extends events.EventEmitter {
477
486
  `capable of automating Chrome '${chromeVersion}'.\nChoosing the most recent, '${binPath}'.`,
478
487
  );
479
488
  this.log.debug(
480
- 'If a specific version is required, specify it with the `chromedriverExecutable`' +
481
- 'desired capability.',
489
+ `If a specific version is required, specify it with the 'chromedriverExecutable'` +
490
+ ` capability.`,
482
491
  );
483
492
  return binPath;
484
493
  // eslint-disable-next-line no-constant-condition
@@ -512,72 +521,45 @@ export class Chromedriver extends events.EventEmitter {
512
521
  }
513
522
 
514
523
  /**
515
- * Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
516
- * Does nothing if this.driverVersion is null.
524
+ * Determines the driver communication protocol
525
+ * based on various validation rules.
517
526
  *
518
- * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS]}
527
+ * @returns {keyof PROTOCOLS}
519
528
  */
520
529
  syncProtocol() {
521
- if (!this.driverVersion) {
522
- // Keep the default protocol if the driverVersion was unsure.
523
- return this.desiredProtocol;
530
+ if (this.driverVersion) {
531
+ const coercedVersion = semver.coerce(this.driverVersion);
532
+ if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
533
+ this.log.info(
534
+ `The ChromeDriver v. ${this.driverVersion} does not fully support ${PROTOCOLS.W3C} protocol. ` +
535
+ `Defaulting to ${PROTOCOLS.MJSONWP}`,
536
+ );
537
+ this._desiredProtocol = PROTOCOLS.MJSONWP;
538
+ return this._desiredProtocol;
539
+ }
524
540
  }
525
541
 
526
- this.desiredProtocol = PROTOCOLS.MJSONWP;
527
- const coercedVersion = semver.coerce(this.driverVersion);
528
- if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
529
- this.log.info(
530
- `The ChromeDriver v. ${this.driverVersion} does not fully support ${PROTOCOLS.W3C} protocol. ` +
531
- `Defaulting to ${PROTOCOLS.MJSONWP}`,
532
- );
533
- return this.desiredProtocol;
534
- }
535
- // Check only chromeOptions for now.
536
- const chromeOptions = getCapValue(this.capabilities, 'chromeOptions', {});
537
- if (chromeOptions.w3c === false) {
542
+ const isOperaDriver = _.includes(this._onlineStatus?.message, 'OperaDriver');
543
+ const chromeOptions = getCapValue(this.capabilities, 'chromeOptions');
544
+ if (_.isPlainObject(chromeOptions) && chromeOptions.w3c === false) {
538
545
  this.log.info(
539
546
  `The ChromeDriver v. ${this.driverVersion} supports ${PROTOCOLS.W3C} protocol, ` +
540
547
  `but ${PROTOCOLS.MJSONWP} one has been explicitly requested`,
541
548
  );
542
- return this.desiredProtocol;
543
- }
544
-
545
- this.desiredProtocol = PROTOCOLS.W3C;
546
- this.log.info(`Set ChromeDriver communication protocol to ${PROTOCOLS.W3C}`);
547
- return this.desiredProtocol;
548
- }
549
-
550
- /**
551
- * Sync the protocol by reading the given output
552
- *
553
- * @param {string} line The output of ChromeDriver process
554
- * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS] | null}
555
- */
556
- detectWebDriverProtocol(line) {
557
- if (this.driverVersion) {
558
- return this.syncProtocol();
559
- }
560
-
561
- // also print chromedriver version to logs
562
- // will output something like
563
- // Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
564
- // Or MSEdge:
565
- // Starting Microsoft Edge WebDriver 111.0.1661.41 (57be51b50d1be232a9e8186a10017d9e06b1fd16) on port 9515
566
- const match = WEBDRIVER_VERSION_PATTERN.exec(line);
567
- if (match && match.length === 3) {
568
- this.log.debug(`${match[1]} version: '${match[2]}'`);
569
- this.driverVersion = match[2];
570
- try {
571
- return this.syncProtocol();
572
- } catch (e) {
573
- this.driverVersion = null;
574
- this.log.error(`Stopping the chromedriver process. Cannot determinate the protocol: ${e}`);
575
- this.stop();
549
+ this._desiredProtocol = PROTOCOLS.MJSONWP;
550
+ return this._desiredProtocol;
551
+ } else if (isOperaDriver) {
552
+ // OperaDriver needs the W3C protocol to be requested explcitly,
553
+ // otherwise it defaults to JWP
554
+ if (_.isPlainObject(chromeOptions)) {
555
+ chromeOptions.w3c = true;
556
+ } else {
557
+ this.capabilities[toW3cCapName('chromeOptions')] = {w3c: true};
576
558
  }
577
- // Does not print else condition log since the log could be
578
- // very noisy when this.verbose option is true.
579
559
  }
580
- return null;
560
+
561
+ this._desiredProtocol = PROTOCOLS.W3C;
562
+ return this._desiredProtocol;
581
563
  }
582
564
 
583
565
  /**
@@ -619,7 +601,6 @@ export class Chromedriver extends events.EventEmitter {
619
601
  let processIsAlive = false;
620
602
  /** @type {string|undefined} */
621
603
  let webviewVersion;
622
- let didDetectProtocol = false;
623
604
  try {
624
605
  const chromedriverPath = await this.initChromedriverPath();
625
606
  await this.killAll();
@@ -648,17 +629,6 @@ export class Chromedriver extends events.EventEmitter {
648
629
  }
649
630
  }
650
631
 
651
- if (!didDetectProtocol) {
652
- const proto = this.detectWebDriverProtocol(line);
653
- if (proto === PROTOCOLS.W3C) {
654
- // given caps might not be properly prefixed
655
- // so we try to fix them in order to properly init
656
- // the new W3C session
657
- this.capabilities = toW3cCapNames(this.capabilities);
658
- }
659
- didDetectProtocol = true;
660
- }
661
-
662
632
  if (this.verbose) {
663
633
  // give the output if it is requested
664
634
  this.log.debug(`[${streamName.toUpperCase()}] ${line}`);
@@ -668,7 +638,9 @@ export class Chromedriver extends events.EventEmitter {
668
638
 
669
639
  // handle out-of-bound exit by simply emitting a stopped state
670
640
  this.proc.once('exit', (code, signal) => {
671
- this.driverVersion = null;
641
+ this._driverVersion = null;
642
+ this._desiredProtocol = null;
643
+ this._onlineStatus = null;
672
644
  processIsAlive = false;
673
645
  if (
674
646
  this.state !== Chromedriver.STATE_STOPPED &&
@@ -682,10 +654,11 @@ export class Chromedriver extends events.EventEmitter {
682
654
  this.proc?.removeAllListeners();
683
655
  this.proc = null;
684
656
  });
685
- this.log.info(`Spawning chromedriver with: ${this.chromedriver} ${args.join(' ')}`);
657
+ this.log.info(`Spawning Chromedriver with: ${this.chromedriver} ${args.join(' ')}`);
686
658
  // start subproc and wait for startDetector
687
659
  await this.proc.start(startDetector);
688
660
  await this.waitForOnline();
661
+ this.syncProtocol();
689
662
  return await this.startSession();
690
663
  } catch (e) {
691
664
  const err = /** @type {Error} */ (e);
@@ -743,7 +716,19 @@ export class Chromedriver extends events.EventEmitter {
743
716
  chromedriverStopped = true;
744
717
  return;
745
718
  }
746
- await this.getStatus();
719
+ /** @type {any} */
720
+ const status = await this.getStatus();
721
+ if (!_.isPlainObject(status) || !status.ready) {
722
+ throw new Error(`The response to the /status API is not valid: ${JSON.stringify(status)}`);
723
+ }
724
+ this._onlineStatus = status;
725
+ const versionMatch = VERSION_PATTERN.exec(status.build?.version ?? '');
726
+ if (versionMatch) {
727
+ this._driverVersion = versionMatch[1];
728
+ this.log.info(`Chromedriver version: ${this._driverVersion}`);
729
+ } else {
730
+ this.log.info('Chromedriver version cannot be determined from the /status API response');
731
+ }
747
732
  });
748
733
  if (chromedriverStopped) {
749
734
  throw new Error('ChromeDriver crashed during startup.');
@@ -756,19 +741,19 @@ export class Chromedriver extends events.EventEmitter {
756
741
 
757
742
  async startSession() {
758
743
  const sessionCaps =
759
- this.desiredProtocol === PROTOCOLS.W3C
760
- ? {capabilities: {alwaysMatch: this.capabilities}}
744
+ this._desiredProtocol === PROTOCOLS.W3C
745
+ ? {capabilities: {alwaysMatch: toW3cCapNames(this.capabilities)}}
761
746
  : {desiredCapabilities: this.capabilities};
762
747
  this.log.info(
763
- `Starting ${this.desiredProtocol} Chromedriver session with capabilities: ` +
748
+ `Starting ${this._desiredProtocol} Chromedriver session with capabilities: ` +
764
749
  JSON.stringify(sessionCaps, null, 2),
765
750
  );
766
- const {capabilities} = /** @type {NewSessionResponse} */ (
751
+ const response = /** @type {NewSessionResponse} */ (
767
752
  await this.jwproxy.command('/session', 'POST', sessionCaps)
768
753
  );
769
754
  this.log.prefix = generateLogPrefix(this, this.jwproxy.sessionId);
770
755
  this.changeState(Chromedriver.STATE_ONLINE);
771
- return capabilities;
756
+ return _.has(response, 'capabilities') ? response.capabilities : response;
772
757
  }
773
758
 
774
759
  async stop(emitStates = true) {
@@ -7,7 +7,7 @@ const W3C_PREFIX = 'goog:';
7
7
  *
8
8
  * @param {string} capName
9
9
  */
10
- function toW3cCapName (capName) {
10
+ export function toW3cCapName (capName) {
11
11
  return (_.isString(capName) && !capName.includes(':') && !isStandardCap(capName))
12
12
  ? `${W3C_PREFIX}${capName}`
13
13
  : capName;
@@ -17,8 +17,8 @@ function toW3cCapName (capName) {
17
17
  *
18
18
  * @param {Record<string,any>} allCaps
19
19
  * @param {string} rawCapName
20
- * @param {any} defaultValue
21
- * @returns
20
+ * @param {any} [defaultValue]
21
+ * @returns {any}
22
22
  */
23
23
  function getCapValue (allCaps = {}, rawCapName, defaultValue) {
24
24
  for (const [capName, capValue] of _.toPairs(allCaps)) {
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "chrome",
7
7
  "android"
8
8
  ],
9
- "version": "6.1.16",
9
+ "version": "7.0.1",
10
10
  "author": "Appium Contributors",
11
11
  "license": "Apache-2.0",
12
12
  "repository": {