jumpy-lion 0.1.4 → 0.1.6-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +594 -0
  2. package/dist/browser-controller.d.ts.map +1 -1
  3. package/dist/browser-controller.js +10 -7
  4. package/dist/browser-controller.js.map +1 -1
  5. package/dist/browser-plugin.d.ts +11 -0
  6. package/dist/browser-plugin.d.ts.map +1 -1
  7. package/dist/browser-plugin.js +6 -1
  8. package/dist/browser-plugin.js.map +1 -1
  9. package/dist/browser-process/browser.d.ts +24 -0
  10. package/dist/browser-process/browser.d.ts.map +1 -1
  11. package/dist/browser-process/browser.js +22 -6
  12. package/dist/browser-process/browser.js.map +1 -1
  13. package/dist/browser-process/get-chrome-executable.d.ts +1 -0
  14. package/dist/browser-process/get-chrome-executable.d.ts.map +1 -1
  15. package/dist/browser-process/get-chrome-executable.js +15 -0
  16. package/dist/browser-process/get-chrome-executable.js.map +1 -1
  17. package/dist/browser-process/process.d.ts +2 -1
  18. package/dist/browser-process/process.d.ts.map +1 -1
  19. package/dist/browser-process/process.js +12 -1
  20. package/dist/browser-process/process.js.map +1 -1
  21. package/dist/crawler.d.ts +6 -0
  22. package/dist/crawler.d.ts.map +1 -1
  23. package/dist/crawler.js.map +1 -1
  24. package/dist/fingerprinting/fingerprint-injector.d.ts +4 -0
  25. package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
  26. package/dist/fingerprinting/fingerprint-injector.js +68 -19
  27. package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
  28. package/dist/fingerprinting/fingerprint-overrides/index.d.ts +1 -1
  29. package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
  30. package/dist/fingerprinting/fingerprint-overrides/index.js +1 -1
  31. package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
  32. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts +1 -0
  33. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts.map +1 -1
  34. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +33 -0
  35. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js.map +1 -1
  36. package/dist/page.d.ts +8 -0
  37. package/dist/page.d.ts.map +1 -1
  38. package/dist/page.js +84 -7
  39. package/dist/page.js.map +1 -1
  40. package/dist/tsconfig.build.tsbuildinfo +1 -1
  41. package/package.json +6 -2
  42. package/scripts/postinstall.cjs +242 -0
@@ -63,7 +63,7 @@
63
63
  import { log } from 'crawlee';
64
64
  import { gotScraping } from 'got-scraping';
65
65
  import { createCustomFingerprintInjection } from './custom-fingerprint-injector.js';
66
- import { createStealthScript, createWebGLSpoofingScript, createAudioFingerprintSpoofingScript, createAdvancedCanvasProtectionScript, createClientRectSpoofingScript, createWebRTCSpoofingScript, createWebGPUSpoofingScript, createPlatformConsistencyScript, setupMouseMovementHumanization, createRuntimeEnableBypassScript, createFontSpoofingScript, createPerformanceSpoofingScript, createLocaleSpoofingScript, createUAClientHintsSpoofingScript,
66
+ import { createStealthScript, createWebGLSpoofingScript, createAudioFingerprintSpoofingScript, createAdvancedCanvasProtectionScript, createClientRectSpoofingScript, createWebRTCSpoofingScript, createWebRTCDisableScript, createWebGPUSpoofingScript, createPlatformConsistencyScript, setupMouseMovementHumanization, createRuntimeEnableBypassScript, createFontSpoofingScript, createPerformanceSpoofingScript, createLocaleSpoofingScript, createUAClientHintsSpoofingScript,
67
67
  // Stealth utilities (must be injected first)
68
68
  createStealthUtilsScript,
69
69
  // Prototype integrity (must be injected early)
@@ -110,9 +110,9 @@ export class CdpFingerprintInjector {
110
110
  enableDataDomeBypass: false, // Enable only when needed
111
111
  // Humanization disabled by default for performance
112
112
  humanization: {
113
- mouse: false,
114
- keyboard: false,
115
- scroll: false,
113
+ mouse: true,
114
+ keyboard: true,
115
+ scroll: true,
116
116
  },
117
117
  viewport: {
118
118
  width: 1920,
@@ -221,10 +221,11 @@ export class CdpFingerprintInjector {
221
221
  const platformName = platformMap[platform] || 'Windows';
222
222
  // Determine Chrome version from UA string
223
223
  const chromeVersionMatch = userAgent.match(/Chrome\/(\d+)\.(\d+)\.(\d+)\.(\d+)/);
224
- const majorVersion = chromeVersionMatch?.[1] || '134';
225
- const fullVersion = chromeVersionMatch
226
- ? `${chromeVersionMatch[1]}.${chromeVersionMatch[2]}.${chromeVersionMatch[3]}.${chromeVersionMatch[4]}`
227
- : '134.0.6998.88';
224
+ if (!chromeVersionMatch) {
225
+ throw new Error(`Cannot derive Chrome version from user agent: ${userAgent}`);
226
+ }
227
+ const majorVersion = chromeVersionMatch[1];
228
+ const fullVersion = `${chromeVersionMatch[1]}.${chromeVersionMatch[2]}.${chromeVersionMatch[3]}.${chromeVersionMatch[4]}`;
228
229
  const brands = uaClientHints?.brands || [
229
230
  { brand: 'Google Chrome', version: majorVersion },
230
231
  { brand: 'Chromium', version: majorVersion },
@@ -446,6 +447,35 @@ export class CdpFingerprintInjector {
446
447
  }
447
448
  return { webglConfig, platformConfig, uaClientHints };
448
449
  }
450
+ async getActualChromeVersion() {
451
+ try {
452
+ const versionInfo = await this.page.client.Browser.getVersion();
453
+ const product = versionInfo.product || '';
454
+ const match = product.match(/(?:Chrome|HeadlessChrome)\/(\d+\.\d+\.\d+\.\d+)/);
455
+ return match ? match[1] : null;
456
+ }
457
+ catch {
458
+ return null;
459
+ }
460
+ }
461
+ alignUserAgentWithBrowserVersion(userAgent, browserVersion) {
462
+ if (!browserVersion || !userAgent) {
463
+ return userAgent;
464
+ }
465
+ const uaMatch = userAgent.match(/Chrome\/(\d+\.\d+\.\d+\.\d+)/);
466
+ if (!uaMatch) {
467
+ return userAgent;
468
+ }
469
+ if (uaMatch[1] === browserVersion) {
470
+ return userAgent;
471
+ }
472
+ const alignedUA = userAgent.replace(/Chrome\/\d+\.\d+\.\d+\.\d+/, `Chrome/${browserVersion}`);
473
+ log.warning('User-Agent version mismatch detected. Aligning UA with running Chrome binary.', {
474
+ previousVersion: uaMatch[1],
475
+ browserVersion,
476
+ });
477
+ return alignedUA;
478
+ }
449
479
  async attachToPage(browserFingerprintWithHeaders, options) {
450
480
  const { fingerprint, headers } = browserFingerprintWithHeaders;
451
481
  const shouldFetchTimezone = options?.timezone || options?.detectTimezone;
@@ -466,6 +496,16 @@ export class CdpFingerprintInjector {
466
496
  filteredHeaders[key] = value;
467
497
  }
468
498
  }
499
+ const originalUserAgent = fingerprint?.navigator?.userAgent
500
+ || filteredHeaders['user-agent']
501
+ || filteredHeaders['User-Agent']
502
+ || '';
503
+ const actualChromeVersion = await this.getActualChromeVersion();
504
+ const userAgent = this.alignUserAgentWithBrowserVersion(originalUserAgent, actualChromeVersion);
505
+ if (userAgent) {
506
+ filteredHeaders['user-agent'] = userAgent;
507
+ delete filteredHeaders['User-Agent'];
508
+ }
469
509
  // Create custom fingerprint injection scripts
470
510
  log.info('Creating custom fingerprint injection scripts');
471
511
  const customFingerprintScripts = createCustomFingerprintInjection(fingerprint, {
@@ -476,11 +516,14 @@ export class CdpFingerprintInjector {
476
516
  // These scripts set up protections BEFORE page JavaScript runs
477
517
  // Check if DataDome bypass is enabled (via either option name)
478
518
  const isDataDomeBypassEnabled = options?.enableDataDomeBypass || options?.bypassDatadome;
519
+ const shouldMaskAutomation = options?.maskAutomationFlags !== false;
479
520
  const scriptsToInject = [
480
521
  createStealthUtilsScript(), // Must be first - provides guards and toString spoofing
481
522
  createPrototypeIntegrityScript(), // Second - provides native-like property descriptor masking
482
- createRuntimeEnableBypassScript(), // Third - protects against CDP detection via Error stack analysis
483
523
  ];
524
+ if (shouldMaskAutomation) {
525
+ scriptsToInject.push(createRuntimeEnableBypassScript()); // Protects against CDP detection via Error stack analysis
526
+ }
484
527
  // CRITICAL: DataDome bypass must be injected early for stack trace sanitization
485
528
  // and performance.memory spoofing to work before other scripts run
486
529
  if (isDataDomeBypassEnabled) {
@@ -491,7 +534,9 @@ export class CdpFingerprintInjector {
491
534
  scriptsToInject.push(...customFingerprintScripts);
492
535
  // Bundle stealth protections into the main script instead of separate injection
493
536
  // Having multiple addScriptToEvaluateOnNewDocument calls is a detection vector
494
- scriptsToInject.push(createStealthScript());
537
+ if (shouldMaskAutomation) {
538
+ scriptsToInject.push(createStealthScript());
539
+ }
495
540
  // Extract fingerprint data if we should use it
496
541
  // When useFingerprintDefaults is true (or undefined), use hardcoded defaults
497
542
  // When useFingerprintDefaults is false, use the generated fingerprint data
@@ -522,8 +567,13 @@ export class CdpFingerprintInjector {
522
567
  scriptsToInject.push(createCoalescedEventsSpoofingScript());
523
568
  // Media codec spoofing - ensures canPlayType()/isTypeSupported() match real Chrome
524
569
  scriptsToInject.push(createMediaCodecsSpoofingScript());
525
- // WebRTC spoofing
526
- scriptsToInject.push(createWebRTCSpoofingScript());
570
+ // WebRTC handling policy
571
+ if (options?.webRtcPolicy === 'disable') {
572
+ scriptsToInject.push(createWebRTCDisableScript());
573
+ }
574
+ else {
575
+ scriptsToInject.push(createWebRTCSpoofingScript());
576
+ }
527
577
  // WebGPU spoofing (more aggressive when experimental fingerprints enabled)
528
578
  scriptsToInject.push(createWebGPUSpoofingScript(options?.useExperimentalFingerprints));
529
579
  // Font spoofing (2025)
@@ -613,11 +663,12 @@ export class CdpFingerprintInjector {
613
663
  // Preamble: create shared stealth store accessible by all module IIFEs via closure.
614
664
  // seedKey: proxy session ID or proxy URL - used by _stableHash for deterministic fingerprints.
615
665
  const preamble = `var __stealth = { debug: ${isDebug}, seedKey: ${proxySeedKey ? JSON.stringify(proxySeedKey) : 'null'} };`;
616
- const bundledScript = preamble + '\n\n' + scriptsToInject
666
+ const bundledScript = `${preamble}\n\n${scriptsToInject
617
667
  .map(script => cleanScript(script))
618
- .join('\n\n');
668
+ .join('\n\n')}`;
619
669
  // Validate bundled script for syntax errors
620
670
  try {
671
+ // eslint-disable-next-line no-new-func, no-new
621
672
  new Function(bundledScript);
622
673
  log.info('✓ Bundled script passed syntax validation');
623
674
  }
@@ -626,6 +677,7 @@ export class CdpFingerprintInjector {
626
677
  // Fall back to individual script validation to find the culprit
627
678
  scriptsToInject.forEach((script, index) => {
628
679
  try {
680
+ // eslint-disable-next-line no-new-func, no-new
629
681
  new Function(script);
630
682
  }
631
683
  catch (e) {
@@ -638,11 +690,6 @@ export class CdpFingerprintInjector {
638
690
  // Inject SINGLE bundled script - reduces CDP detection surface
639
691
  try {
640
692
  log.info('Injecting single bundled fingerprint script (minimizes CDP detection)');
641
- // Extract UA string for HTTP-level client hints
642
- const userAgent = fingerprint?.navigator?.userAgent
643
- || filteredHeaders['user-agent']
644
- || filteredHeaders['User-Agent']
645
- || '';
646
693
  await Promise.all([
647
694
  this.setViewport(options?.viewport, fingerprint),
648
695
  this.setExtraHTTPHeaders(filteredHeaders),
@@ -698,9 +745,11 @@ export class CdpFingerprintInjector {
698
745
  platform: options?.platform,
699
746
  useFingerprintDefaults: options?.useFingerprintDefaults,
700
747
  bypassCDPDetection: options?.bypassCDPDetection !== false,
748
+ maskAutomationFlags: options?.maskAutomationFlags !== false,
701
749
  spoofStorage: options?.spoofStorage !== false,
702
750
  spoofTiming: options?.spoofTiming !== false,
703
751
  enableDataDomeBypass: options?.enableDataDomeBypass,
752
+ webRtcPolicy: options?.webRtcPolicy || 'spoof',
704
753
  humanization: {
705
754
  mouse: enableMouseHumanization || false,
706
755
  keyboard: options?.humanization?.keyboard || false,
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint-injector.js","sourceRoot":"","sources":["../../src/fingerprinting/fingerprint-injector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint-injector.js","sourceRoot":"","sources":["../../src/fingerprinting/fingerprint-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EACH,mBAAmB,EACnB,yBAAyB,EACzB,oCAAoC,EACpC,oCAAoC,EACpC,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,+BAA+B,EAC/B,0BAA0B,EAC1B,iCAAiC;AACjC,6CAA6C;AAC7C,wBAAwB;AACxB,+CAA+C;AAC/C,8BAA8B;AAC9B,wBAAwB;AACxB,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,EAC1B,mCAAmC,EACnC,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,GAI1B,MAAM,kCAAkC,CAAC;AA0E1C,MAAM,OAAO,sBAAsB;IAG/B,YAAY,IAAa;QAFjB;;;;;WAAc;QAGlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,2BAA2B;QAC9B,OAAO;YACH,KAAK,EAAE,KAAK,EAAE,6DAA6D;YAC3E,qBAAqB,EAAE,IAAI;YAC3B,mBAAmB,EAAE,IAAI;YACzB,QAAQ,EAAE,OAAO,EAAE,uDAAuD;YAC1E,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI,EAAE,kCAAkC;YACxD,yCAAyC;YACzC,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,IAAI;YACtB,WAAW,EAAE,IAAI;YACjB,sBAAsB,EAAE,IAAI,EAAE,2CAA2C;YACzE,oCAAoC;YACpC,kBAAkB,EAAE,IAAI;YACxB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,KAAK,EAAE,0BAA0B;YACvD,mDAAmD;YACnD,YAAY,EAAE;gBACV,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;aACf;YACD,QAAQ,EAAE;gBACN,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,iBAAiB,EAAE,CAAC;gBACpB,MAAM,EAAE,KAAK;aAChB;SACJ,CAAC;IACN,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,mBAAmB;QACtB,OAAO;YACH,GAAG,IAAI,CAAC,2BAA2B,EAAE;YACrC,KAAK,EAAE,KAAK,EAAE,6DAA6D;YAC3E,+DAA+D;YAC/D,oBAAoB,EAAE,IAAI;YAC1B,cAAc,EAAE,IAAI,EAAE,sCAAsC;YAC5D,kBAAkB,EAAE,IAAI;YACxB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,IAAI;YACjB,8CAA8C;YAC9C,YAAY,EAAE;gBACV,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;aACf;YACD,mDAAmD;YACnD,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,IAAI;YACvB,gBAAgB,EAAE,IAAI;YACtB,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,IAAI;YACtB,WAAW,EAAE,IAAI;SACpB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC1B,IAAa,EACb,WAA0C,EAC1C,OAAuB;QAEvB,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAmB,EAAE,WAAiB;QAC5D,4FAA4F;QAC5F,gEAAgE;QAChE,4EAA4E;QAE5E,kCAAkC;QAClC,oEAAoE;QACpE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,GAAG;YACnC,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG;YACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;QAElD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;YACtG,GAAG,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;YACpF,OAAO,CAAC,yCAAyC;QACrD,CAAC;QAED,gDAAgD;QAChD,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAEhE,IAAI,eAAe,GAAa;YAC5B,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,iBAAiB,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK;SAChB,CAAC;QAEF,wCAAwC;QACxC,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;YACtB,+EAA+E;YAC/E,gEAAgE;YAChE,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;YACvD,MAAM,cAAc,GAAG,YAAY,GAAG,GAAG,CAAC;YAE1C,eAAe,GAAG;gBACd,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI;gBACvC,MAAM,EAAE,cAAc;gBACtB,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC;gBAC3D,MAAM,EAAE,KAAK;aAChB,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBAC1C,YAAY;gBACZ,cAAc;gBACd,aAAa,EAAE,GAAG;gBAClB,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;aACvD,CAAC,CAAC;QACP,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,aAAa,CAAC,CAAC;QAEnE,2DAA2D;QAC3D,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,aAAoB,CAAC,CAAC;QAChF,GAAG,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAA+B;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,wBAAwB,CAClC,SAAiB,EACjB,QAAgB,EAChB,aAAiC;QAEjC,MAAM,WAAW,GAA2B;YACxC,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,OAAO;YACnB,cAAc,EAAE,OAAO;SAC1B,CAAC;QACF,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;QAExD,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACjF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,SAAS,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1H,MAAM,MAAM,GAAG,aAAa,EAAE,MAAM,IAAI;YACpC,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE;YACjD,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE;YAC5C,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE;SAC1C,CAAC;QACF,MAAM,OAAO,GAA2B;YACpC,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,KAAK;SACxB,CAAC;QAEF,MAAM,kBAAkB,GAA2B;YAC/C,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,OAAO;SAC1B,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAChD,SAAS;gBACT,QAAQ,EAAE,YAAY;gBACtB,iBAAiB,EAAE;oBACf,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACjE,WAAW;oBACX,QAAQ,EAAE,YAAY;oBACtB,eAAe,EAAE,aAAa,EAAE,eAAe,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,QAAQ;oBAC3F,YAAY,EAAE,aAAa,EAAE,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK;oBACvE,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE;oBACjC,MAAM,EAAE,KAAK;iBAChB;aACJ,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,mEAAmE;YACnE,GAAG,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC7E,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAiB;QAC7C,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;gBAC/B,GAAG,EAAE,wBAAwB;gBAC7B,QAAQ;gBACR,YAAY,EAAE,MAAM;aACvB,CAAC,CAAC;YACH,OAAQ,QAAQ,CAAC,IAAuB,CAAC,QAAQ,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC;YACjD,UAAU,EAAE,QAAQ;SACvB,CAAC,CAAC;IACP,CAAC;IAED,2EAA2E;IAC3E,qFAAqF;IACrF,+BAA+B;IAE/B;;OAEG;IACK,iBAAiB,CAAC,OAAsB;QAC5C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAyFmC,OAAO,CAAC,QAAQ,IAAI,MAAM;8DACd,OAAO,CAAC,qBAAqB,KAAK,KAAK;2DAC1C,OAAO,CAAC,kBAAkB,KAAK,KAAK;qDAC1C,OAAO,CAAC,YAAY,KAAK,KAAK;oDAC/B,OAAO,CAAC,WAAW,KAAK,KAAK;6DACpB,OAAO,CAAC,oBAAoB,IAAI,KAAK;2DACvC,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK;8DACjC,OAAO,CAAC,YAAY,EAAE,QAAQ,IAAI,KAAK;4DACzC,OAAO,CAAC,YAAY,EAAE,MAAM,IAAI,KAAK;;;;CAIhG,CAAC;IACE,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,WAAgB;QAK3C,MAAM,WAAW,GAAgB,EAAE,CAAC;QACpC,MAAM,cAAc,GAAmB,EAAE,CAAC;QAC1C,IAAI,aAA4C,CAAC;QAEjD,iDAAiD;QACjD,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YACxB,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC;YAClD,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;YACtD,WAAW,CAAC,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1D,WAAW,CAAC,gBAAgB,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;QAClE,CAAC;QAED,qCAAqC;QACrC,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YACxB,cAAc,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;YACzD,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC;YACrD,cAAc,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC;YAC3D,cAAc,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;YAC7D,cAAc,CAAC,mBAAmB,GAAG,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAC/E,cAAc,CAAC,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC;YACrE,cAAc,CAAC,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;YACzD,cAAc,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC;YAC3D,cAAc,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC;YACnD,cAAc,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC;YAC3D,cAAc,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;YAC7D,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;YACvD,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC;YAC/D,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;YAEvD,gDAAgD;YAChD,2EAA2E;YAC3E,IAAI,WAAW,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC;gBAChD,aAAa,GAAG;oBACZ,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,KAAK,EAAE,GAAG,CAAC,KAAK;iBACnB,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACrB,cAAc,CAAC,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACtE,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;YAC3D,cAAc,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9D,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAChC,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAC/E,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,gCAAgC,CAAC,SAAiB,EAAE,cAA6B;QACrF,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;YAChC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,4BAA4B,EAAE,UAAU,cAAc,EAAE,CAAC,CAAC;QAC9F,GAAG,CAAC,OAAO,CAAC,+EAA+E,EAAE;YACzF,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3B,cAAc;SACjB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,YAAY,CACrB,6BAA4D,EAC5D,OAAuB;QAEvB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,6BAA6B,CAAC;QAE/D,MAAM,mBAAmB,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,cAAc,CAAC;QACzE,MAAM,QAAQ,GAAG,mBAAmB;YAChC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,+EAA+E;QAC/E,iFAAiF;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEpC,oEAAoE;QACpE,MAAM,eAAe,GAA2B,EAAE,CAAC;QACnD,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,6BAA6B,CAAC,CAAC;QACvL,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC1E,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACjC,CAAC;QACL,CAAC;QAED,MAAM,iBAAiB,GAAI,WAAmB,EAAE,SAAS,EAAE,SAAS;eAC7D,eAAe,CAAC,YAAY,CAAC;eAC7B,eAAe,CAAC,YAAY,CAAC;eAC7B,EAAE,CAAC;QACV,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,gCAAgC,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QAChG,IAAI,SAAS,EAAE,CAAC;YACZ,eAAe,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;YAC1C,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QAED,8CAA8C;QAC9C,GAAG,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC1D,MAAM,wBAAwB,GAAG,gCAAgC,CAAC,WAAW,EAAE;YAC3E,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,KAAK;YAC/B,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;QAEH,iFAAiF;QACjF,+DAA+D;QAC/D,+DAA+D;QAC/D,MAAM,uBAAuB,GAAG,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAE,cAAc,CAAC;QAEzF,MAAM,oBAAoB,GAAG,OAAO,EAAE,mBAAmB,KAAK,KAAK,CAAC;QACpE,MAAM,eAAe,GAAG;YACpB,wBAAwB,EAAE,EAAE,wDAAwD;YACpF,8BAA8B,EAAE,EAAE,4DAA4D;SACjG,CAAC;QACF,IAAI,oBAAoB,EAAE,CAAC;YACvB,eAAe,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC,0DAA0D;QACvH,CAAC;QAED,gFAAgF;QAChF,mEAAmE;QACnE,IAAI,uBAAuB,EAAE,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACzE,CAAC;QAED,iCAAiC;QACjC,eAAe,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;QAElD,gFAAgF;QAChF,+EAA+E;QAC/E,IAAI,oBAAoB,EAAE,CAAC;YACvB,eAAe,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,+CAA+C;QAC/C,6EAA6E;QAC7E,2EAA2E;QAC3E,MAAM,wBAAwB,GAAG,OAAO,EAAE,sBAAsB,KAAK,KAAK,CAAC;QAC3E,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,wBAAwB;YAC3E,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC;YAC1C,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QAEtF,yCAAyC;QACzC,IAAI,OAAO,EAAE,qBAAqB,KAAK,KAAK,EAAE,CAAC;YAC3C,gEAAgE;YAChE,iEAAiE;YACjE,eAAe,CAAC,IAAI,CAAC,iCAAiC,CAClD,OAAO,EAAE,QAAQ,EACjB,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC,CAAC;YAEH,iBAAiB;YACjB,IAAI,OAAO,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;gBAChC,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAC1C,wBAAwB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC,CAAC;YACP,CAAC;YAED,6BAA6B;YAC7B,IAAI,OAAO,EAAE,iBAAiB,KAAK,KAAK,EAAE,CAAC;gBACvC,eAAe,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,oBAAoB;YACpB,eAAe,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC;YAE7D,uBAAuB;YACvB,IAAI,OAAO,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBACtC,eAAe,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,+DAA+D;YAC/D,eAAe,CAAC,IAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC;YAE5D,mFAAmF;YACnF,eAAe,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;YAExD,yBAAyB;YACzB,IAAI,OAAO,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;gBACtC,eAAe,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACJ,eAAe,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,2EAA2E;YAC3E,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC;YAEvF,uBAAuB;YACvB,IAAI,OAAO,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;gBAChC,eAAe,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,8BAA8B;YAC9B,IAAI,OAAO,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBACtC,eAAe,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,yBAAyB;YACzB,IAAI,OAAO,EAAE,WAAW,KAAK,KAAK,EAAE,CAAC;gBACjC,eAAe,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,4BAA4B;YAC5B,uBAAuB;YACvB,IAAI,OAAO,EAAE,kBAAkB,KAAK,KAAK,EAAE,CAAC;gBACxC,eAAe,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,sBAAsB;YACtB,IAAI,OAAO,EAAE,YAAY,KAAK,KAAK,EAAE,CAAC;gBAClC,eAAe,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,qBAAqB;YACrB,IAAI,OAAO,EAAE,WAAW,KAAK,KAAK,EAAE,CAAC;gBACjC,eAAe,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,+DAA+D;YAC/D,0EAA0E;YAE1E,gEAAgE;YAChE,IAAI,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;gBAClC,eAAe,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,8DAA8D;YAC9D,IAAI,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;gBAChC,eAAe,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACpB,eAAe,CAAC,IAAI,CAAC,+BAA+B,CAChD,OAAO,CAAC,QAAQ,EAChB,wBAAwB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CACxD,CAAC,CAAC;QACP,CAAC;QAED,2DAA2D;QAC3D,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC;QACxC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAU,EAAE;YAC3C,IAAI,OAAO,GAAG,MAAM;gBAChB,sDAAsD;iBACrD,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;iBACtC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;gBACvC,mCAAmC;iBAClC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC;gBAC9C,sCAAsC;iBACrC,OAAO,CAAC,kCAAkC,EAAE,WAAW,CAAC;iBACxD,OAAO,CAAC,mCAAmC,EAAE,WAAW,CAAC;gBAC1D,+BAA+B;iBAC9B,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;YAEnD,0EAA0E;YAC1E,oEAAoE;YACpE,6DAA6D;YAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,GAAG,OAAO;qBACZ,OAAO,CAAC,wDAAwD,EAAE,EAAE,CAAC;qBACrE,OAAO,CAAC,4DAA4D,EAAE,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC;QAEF,iEAAiE;QACjE,IAAI,OAAO,EAAE,CAAC;YACV,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,2DAA2D;QAC3D,GAAG,CAAC,IAAI,CAAC,YAAY,eAAe,CAAC,MAAM,4CAA4C,CAAC,CAAC;QAEzF,gEAAgE;QAChE,qEAAqE;QACrE,+FAA+F;QAC/F,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;gBACzD,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAC9D,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACL,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACpC,CAAC;QACL,CAAC;QAED,oFAAoF;QACpF,+FAA+F;QAC/F,MAAM,QAAQ,GAAG,4BAA4B,OAAO,cAAc,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;QAE5H,MAAM,aAAa,GAAG,GAAG,QAAQ,OAAO,eAAe;aAClD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aAClC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAEpB,4CAA4C;QAC5C,IAAI,CAAC;YACD,+CAA+C;YAC/C,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,gEAAgE;YAChE,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtC,IAAI,CAAC;oBACD,+CAA+C;oBAC/C,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC/C,GAAG,CAAC,KAAK,CAAC,qBAAqB,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC9E,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YAElF,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAChD,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;gBACzC,4EAA4E;gBAC5E,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CACrC,SAAS,EACT,OAAO,EAAE,QAAQ,IAAI,OAAO,EAC5B,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;gBACrB,0EAA0E;gBAC1E,CAAC,KAAK,IAAI,EAAE;oBACR,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC;4BACzD,MAAM,EAAE,aAAa;yBACxB,CAAC,CAAC;wBACH,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;oBACvD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrE,GAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE;4BAC5C,KAAK;4BACL,aAAa;yBAChB,CAAC,CAAC;wBACH,MAAM,KAAK,CAAC,CAAC,uCAAuC;oBACxD,CAAC;gBACL,CAAC,CAAC,EAAE;aACP,CAAC,CAAC;YAEH,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,MAAM,KAAK,CAAC,CAAC,6CAA6C;QAC9D,CAAC;QAED,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,uBAAuB,GAAG,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAE,oBAAoB,CAAC;QAC9F,IAAI,uBAAuB,EAAE,CAAC;YAC1B,MAAM,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QAED,wGAAwG;QACxG,iHAAiH;QACjH,uEAAuE;QAEvE,mEAAmE;QACnE,IAAI,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;YAClC,MAAM,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,iEAAiE;QACjE,IAAI,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;YAChC,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,iFAAiF;QAEjF,GAAG,CAAC,IAAI,CAAC,8CAA8C,EAAE;YACrD,KAAK,EAAE,OAAO,EAAE,QAAQ;YACxB,QAAQ;YACR,eAAe,EAAE,OAAO,EAAE,qBAAqB,KAAK,KAAK;YACzD,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;YACjD,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;YACvD,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,KAAK,KAAK;YACzD,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,KAAK,KAAK;YAC3D,YAAY,EAAE,OAAO,EAAE,YAAY,KAAK,KAAK;YAC7C,WAAW,EAAE,OAAO,EAAE,WAAW,KAAK,KAAK;YAC3C,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;YACnD,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,OAAO;YAC9C,YAAY,EAAE;gBACV,KAAK,EAAE,uBAAuB,IAAI,KAAK;gBACvC,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,IAAI,KAAK;gBAClD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,KAAK;aACjD;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -15,7 +15,7 @@ export { createWebGLSpoofingScript, type WebGLConfig } from './webgl-spoofing.js
15
15
  export { createAudioFingerprintSpoofingScript } from './audio-spoofing.js';
16
16
  export { createAdvancedCanvasProtectionScript } from './canvas-protection.js';
17
17
  export { createClientRectSpoofingScript } from './client-rect-spoofing.js';
18
- export { createWebRTCSpoofingScript } from './webrtc-spoofing.js';
18
+ export { createWebRTCSpoofingScript, createWebRTCDisableScript } from './webrtc-spoofing.js';
19
19
  export { createWebGPUSpoofingScript } from './webgpu-spoofing.js';
20
20
  export { createPlatformConsistencyScript, type PlatformConfig } from './platform-consistency.js';
21
21
  export { setupMouseMovementHumanization } from './mouse-humanization.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -16,7 +16,7 @@ export { createWebGLSpoofingScript } from './webgl-spoofing.js';
16
16
  export { createAudioFingerprintSpoofingScript } from './audio-spoofing.js';
17
17
  export { createAdvancedCanvasProtectionScript } from './canvas-protection.js';
18
18
  export { createClientRectSpoofingScript } from './client-rect-spoofing.js';
19
- export { createWebRTCSpoofingScript } from './webrtc-spoofing.js';
19
+ export { createWebRTCSpoofingScript, createWebRTCDisableScript } from './webrtc-spoofing.js';
20
20
  export { createWebGPUSpoofingScript } from './webgpu-spoofing.js';
21
21
  export { createPlatformConsistencyScript } from './platform-consistency.js';
22
22
  export { setupMouseMovementHumanization } from './mouse-humanization.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,sCAAsC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAoB,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAuB,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAA0B,MAAM,YAAY,CAAC;AAEvF,6CAA6C;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,iDAAiD;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE1E,wBAAwB;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,sCAAsC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAoB,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAuB,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAA0B,MAAM,YAAY,CAAC;AAEvF,6CAA6C;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,iDAAiD;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE1E,wBAAwB;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -3,4 +3,5 @@
3
3
  * Prevents IP leaks and provides fake device information
4
4
  */
5
5
  export declare const createWebRTCSpoofingScript: () => string;
6
+ export declare const createWebRTCDisableScript: () => string;
6
7
  //# sourceMappingURL=webrtc-spoofing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webrtc-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/webrtc-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,0BAA0B,QAAO,MAiM7C,CAAC"}
1
+ {"version":3,"file":"webrtc-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/webrtc-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,0BAA0B,QAAO,MAiM7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,MAgC5C,CAAC"}
@@ -196,4 +196,37 @@ export const createWebRTCSpoofingScript = () => {
196
196
  }
197
197
  })();`;
198
198
  };
199
+ export const createWebRTCDisableScript = () => {
200
+ return `
201
+ (() => {
202
+ 'use strict';
203
+
204
+ const deleteProp = (obj, prop) => {
205
+ try {
206
+ if (obj && prop in obj) {
207
+ delete obj[prop];
208
+ }
209
+ } catch {
210
+ // Ignore read-only descriptor failures.
211
+ }
212
+ };
213
+
214
+ deleteProp(window, 'RTCPeerConnection');
215
+ deleteProp(window, 'webkitRTCPeerConnection');
216
+ deleteProp(window, 'mozRTCPeerConnection');
217
+ deleteProp(window, 'RTCIceCandidate');
218
+ deleteProp(window, 'RTCSessionDescription');
219
+
220
+ if (navigator.mediaDevices) {
221
+ try {
222
+ Object.defineProperty(navigator, 'mediaDevices', {
223
+ configurable: true,
224
+ get: () => undefined,
225
+ });
226
+ } catch {
227
+ // Ignore if non-configurable in this browser build.
228
+ }
229
+ }
230
+ })();`;
231
+ };
199
232
  //# sourceMappingURL=webrtc-spoofing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webrtc-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/webrtc-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAW,EAAE;IACnD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+LL,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"webrtc-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/webrtc-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAW,EAAE;IACnD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+LL,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAW,EAAE;IAClD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8BL,CAAC;AACP,CAAC,CAAC"}
package/dist/page.d.ts CHANGED
@@ -63,6 +63,8 @@ export default class CdpPage extends EventEmitter {
63
63
  private enabledDomains;
64
64
  private connectionMonitor?;
65
65
  private isClosed;
66
+ private humanization;
67
+ private lastMousePosition;
66
68
  constructor(client: CDP.Client);
67
69
  private _attachConnectionMonitor;
68
70
  static create(client: CDP.Client): Promise<CdpPage>;
@@ -79,6 +81,11 @@ export default class CdpPage extends EventEmitter {
79
81
  * Once enabled, subsequent calls are no-ops.
80
82
  */
81
83
  ensureNetworkEnabled(): Promise<void>;
84
+ setHumanizationOptions(options?: {
85
+ mouse?: boolean;
86
+ keyboard?: boolean;
87
+ scroll?: boolean;
88
+ }): void;
82
89
  url(): Promise<string>;
83
90
  /**
84
91
  * Get current URL without activating the Runtime domain.
@@ -106,6 +113,7 @@ export default class CdpPage extends EventEmitter {
106
113
  * uses when constructing MouseEvent from CDP dispatch.
107
114
  */
108
115
  private _performClick;
116
+ private _moveMouseTo;
109
117
  /**
110
118
  * Gets detailed information about an element
111
119
  */
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
package/dist/page.js CHANGED
@@ -3,6 +3,7 @@ import { load as cheerioLoad } from 'cheerio';
3
3
  import CDP from 'chrome-remote-interface';
4
4
  import { log } from 'crawlee';
5
5
  import { PAGE_CLOSED, PAGE_CREATED } from './events.js';
6
+ import { humanScrollToElement } from './fingerprinting/fingerprint-overrides/index.js';
6
7
  // Constants for timing and delays
7
8
  const PRESS_RELEASE_DELAY_MS = 50; // ms between mouse press and release
8
9
  const SCROLL_ANIMATION_DELAY_MS = 200; // ms to wait for scroll animations
@@ -10,6 +11,10 @@ const OPTION_LOAD_DELAY_MS = 300; // ms to wait for new options to load in dropd
10
11
  const DROPDOWN_OPEN_DELAY_MS = 300; // ms to wait for dropdown to open
11
12
  const HUMAN_DELAY_MS = 200; // ms delay for human-like interactions
12
13
  const SCROLL_COMPLETE_DELAY_MS = 300; // ms to wait for scroll to complete
14
+ const HUMAN_KEYBOARD_DELAY_MIN_MS = 45;
15
+ const HUMAN_KEYBOARD_DELAY_MAX_MS = 160;
16
+ const HUMAN_MOUSE_MOVE_DELAY_MIN_MS = 6;
17
+ const HUMAN_MOUSE_MOVE_DELAY_MAX_MS = 18;
13
18
  // Constants for stability and positioning
14
19
  const DEFAULT_TIMEOUT_MS = 30000; // Default timeout for operations
15
20
  const POSITION_STABILITY_TIMEOUT_MS = 2000; // Timeout for position stabilization
@@ -146,6 +151,22 @@ export default class CdpPage extends EventEmitter {
146
151
  writable: true,
147
152
  value: false
148
153
  });
154
+ Object.defineProperty(this, "humanization", {
155
+ enumerable: true,
156
+ configurable: true,
157
+ writable: true,
158
+ value: {
159
+ mouse: false,
160
+ keyboard: false,
161
+ scroll: false,
162
+ }
163
+ });
164
+ Object.defineProperty(this, "lastMousePosition", {
165
+ enumerable: true,
166
+ configurable: true,
167
+ writable: true,
168
+ value: { x: 0, y: 0 }
169
+ });
149
170
  this._rawClient = client;
150
171
  this.client = client;
151
172
  this.emit(PAGE_CREATED);
@@ -231,6 +252,13 @@ export default class CdpPage extends EventEmitter {
231
252
  this.enabledDomains.add('Network');
232
253
  log.debug('Network domain enabled (lazy)');
233
254
  }
255
+ setHumanizationOptions(options) {
256
+ this.humanization = {
257
+ mouse: options?.mouse ?? false,
258
+ keyboard: options?.keyboard ?? false,
259
+ scroll: options?.scroll ?? false,
260
+ };
261
+ }
234
262
  async url() {
235
263
  if (!this.loadedUrl) {
236
264
  return await this._getCurrentUrlWithoutRuntime();
@@ -425,12 +453,14 @@ export default class CdpPage extends EventEmitter {
425
453
  * uses when constructing MouseEvent from CDP dispatch.
426
454
  */
427
455
  async _performClick(Input, x, y, button, clickCount, delay) {
428
- // Move mouse cursor to target coordinates (x, y)
429
- await Input.dispatchMouseEvent({ type: 'mouseMoved', x, y });
456
+ await this._moveMouseTo(Input, x, y);
430
457
  // Small delay to simulate human behavior
431
458
  if (delay > 0) {
432
459
  await new Promise(resolve => setTimeout(resolve, delay));
433
460
  }
461
+ else if (this.humanization.mouse) {
462
+ await new Promise(resolve => setTimeout(resolve, 40 + Math.floor(Math.random() * 120)));
463
+ }
434
464
  // Press mouse button
435
465
  await Input.dispatchMouseEvent({
436
466
  type: 'mousePressed',
@@ -449,6 +479,32 @@ export default class CdpPage extends EventEmitter {
449
479
  button,
450
480
  clickCount,
451
481
  });
482
+ this.lastMousePosition = { x, y };
483
+ }
484
+ async _moveMouseTo(Input, x, y) {
485
+ if (!this.humanization.mouse) {
486
+ await Input.dispatchMouseEvent({ type: 'mouseMoved', x, y });
487
+ this.lastMousePosition = { x, y };
488
+ return;
489
+ }
490
+ const fromX = this.lastMousePosition.x;
491
+ const fromY = this.lastMousePosition.y;
492
+ const path = await this.evaluate((startX, startY, endX, endY) => {
493
+ const fallback = [{ x: endX, y: endY }];
494
+ const globalStealth = window.__stealth;
495
+ if (!globalStealth || typeof globalStealth.humanizeMouse !== 'function') {
496
+ return fallback;
497
+ }
498
+ const points = globalStealth.humanizeMouse(startX, startY, endX, endY);
499
+ return Array.isArray(points) && points.length > 0 ? points : fallback;
500
+ }, fromX, fromY, x, y);
501
+ for (const point of path) {
502
+ await Input.dispatchMouseEvent({ type: 'mouseMoved', x: point.x, y: point.y });
503
+ const delay = HUMAN_MOUSE_MOVE_DELAY_MIN_MS
504
+ + Math.floor(Math.random() * (HUMAN_MOUSE_MOVE_DELAY_MAX_MS - HUMAN_MOUSE_MOVE_DELAY_MIN_MS + 1));
505
+ await new Promise(resolve => setTimeout(resolve, delay));
506
+ }
507
+ this.lastMousePosition = { x, y };
452
508
  }
453
509
  /**
454
510
  * Gets detailed information about an element
@@ -560,6 +616,24 @@ export default class CdpPage extends EventEmitter {
560
616
  * Enhanced scroll into view with better positioning
561
617
  */
562
618
  async _scrollElementIntoView(selector) {
619
+ if (this.humanization.scroll) {
620
+ try {
621
+ await Promise.all([
622
+ this._enableDomain('DOM'),
623
+ this._enableDomain('Input'),
624
+ ]);
625
+ await humanScrollToElement(this.client, selector);
626
+ await this.evaluate((sel) => {
627
+ const element = document.querySelector(sel);
628
+ element?.scrollIntoView({ behavior: 'auto', block: 'center', inline: 'center' });
629
+ }, selector);
630
+ return;
631
+ }
632
+ catch {
633
+ // Some hidden/offscreen nodes do not expose a box model.
634
+ // Fall back to native DOM scrolling for robustness.
635
+ }
636
+ }
563
637
  await this.evaluate((sel, tolerance) => {
564
638
  const element = document.querySelector(sel);
565
639
  if (!element)
@@ -687,8 +761,11 @@ export default class CdpPage extends EventEmitter {
687
761
  for (const char of text) {
688
762
  await Input.dispatchKeyEvent({ type: 'keyDown', text: char });
689
763
  await Input.dispatchKeyEvent({ type: 'keyUp', text: char });
690
- if (delay > 0) {
691
- await new Promise((resolve) => setTimeout(resolve, delay));
764
+ if (delay > 0 || this.humanization.keyboard) {
765
+ const effectiveDelay = delay > 0
766
+ ? delay
767
+ : HUMAN_KEYBOARD_DELAY_MIN_MS + Math.floor(Math.random() * (HUMAN_KEYBOARD_DELAY_MAX_MS - HUMAN_KEYBOARD_DELAY_MIN_MS + 1));
768
+ await new Promise((resolve) => setTimeout(resolve, effectiveDelay));
692
769
  }
693
770
  }
694
771
  }
@@ -1211,8 +1288,8 @@ export default class CdpPage extends EventEmitter {
1211
1288
  containerId.replace('menu', 'trigger').replace('dropdown', 'trigger'),
1212
1289
  containerId.replace('-menu', '-trigger'),
1213
1290
  containerId.replace('_menu', '_trigger'),
1214
- containerId + '-trigger',
1215
- 'trigger-' + containerId,
1291
+ `${containerId}-trigger`,
1292
+ `trigger-${containerId}`,
1216
1293
  ];
1217
1294
  for (const triggerId of triggerPatterns) {
1218
1295
  const trigger = document.getElementById(triggerId);
@@ -1262,7 +1339,7 @@ export default class CdpPage extends EventEmitter {
1262
1339
  if (!dropdown)
1263
1340
  return { found: false, needsScroll: false };
1264
1341
  // Try to find the target element directly first
1265
- let targetOption = dropdown.querySelector(targetSel);
1342
+ const targetOption = dropdown.querySelector(targetSel);
1266
1343
  if (!targetOption) {
1267
1344
  // Check if we need to scroll to find more options
1268
1345
  const isScrollable = dropdown.scrollHeight > dropdown.clientHeight;