jumpy-lion 0.1.6-beta.0 → 0.1.6-beta.3
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/README.md +13 -0
- package/dist/browser-controller.d.ts.map +1 -1
- package/dist/browser-controller.js +57 -2
- package/dist/browser-controller.js.map +1 -1
- package/dist/browser-plugin.d.ts +49 -0
- package/dist/browser-plugin.d.ts.map +1 -1
- package/dist/browser-plugin.js +103 -1
- package/dist/browser-plugin.js.map +1 -1
- package/dist/browser-process/anti-detect-browser.d.ts +56 -0
- package/dist/browser-process/anti-detect-browser.d.ts.map +1 -0
- package/dist/browser-process/anti-detect-browser.js +142 -0
- package/dist/browser-process/anti-detect-browser.js.map +1 -0
- package/dist/browser-process/anti-detect-config.d.ts +102 -0
- package/dist/browser-process/anti-detect-config.d.ts.map +1 -0
- package/dist/browser-process/anti-detect-config.js +328 -0
- package/dist/browser-process/anti-detect-config.js.map +1 -0
- package/dist/browser-process/browser.d.ts +26 -0
- package/dist/browser-process/browser.d.ts.map +1 -1
- package/dist/browser-process/browser.js +115 -6
- package/dist/browser-process/browser.js.map +1 -1
- package/dist/browser-process/get-chrome-executable.d.ts +7 -0
- package/dist/browser-process/get-chrome-executable.d.ts.map +1 -1
- package/dist/browser-process/get-chrome-executable.js +42 -0
- package/dist/browser-process/get-chrome-executable.js.map +1 -1
- package/dist/browser-process/index.d.ts +4 -1
- package/dist/browser-process/index.d.ts.map +1 -1
- package/dist/browser-process/index.js +3 -1
- package/dist/browser-process/index.js.map +1 -1
- package/dist/crawler.d.ts +17 -0
- package/dist/crawler.d.ts.map +1 -1
- package/dist/crawler.js +5 -2
- package/dist/crawler.js.map +1 -1
- package/dist/fingerprinting/fingerprint-injector.d.ts +54 -0
- package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-injector.js +207 -58
- package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js +16 -0
- package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.js +3 -2
- package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js +18 -10
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.d.ts +1 -2
- package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.js +1 -2
- package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.d.ts +10 -2
- package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js +11 -2
- package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.d.ts +20 -2
- package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js +47 -250
- package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.d.ts +12 -1
- package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js +27 -22
- package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/platform-consistency.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js +86 -28
- package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.d.ts +9 -2
- package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js +10 -2
- package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/stealth-script.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/stealth-script.js +165 -33
- package/dist/fingerprinting/fingerprint-overrides/stealth-script.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/storage-consistency.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/storage-consistency.js +10 -8
- package/dist/fingerprinting/fingerprint-overrides/storage-consistency.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/timing-consistency.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/timing-consistency.js +9 -7
- package/dist/fingerprinting/fingerprint-overrides/timing-consistency.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/ua-ch.js +6 -6
- package/dist/fingerprinting/fingerprint-overrides/utils.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/utils.js +44 -1
- package/dist/fingerprinting/fingerprint-overrides/utils.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js +43 -1
- package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js +9 -1
- package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +14 -3
- package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js.map +1 -1
- package/dist/fingerprinting/locale-resolver.d.ts +41 -0
- package/dist/fingerprinting/locale-resolver.d.ts.map +1 -0
- package/dist/fingerprinting/locale-resolver.js +155 -0
- package/dist/fingerprinting/locale-resolver.js.map +1 -0
- package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts +32 -0
- package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts.map +1 -0
- package/dist/fingerprinting/non-apify-fingerprint-generator.js +480 -0
- package/dist/fingerprinting/non-apify-fingerprint-generator.js.map +1 -0
- package/dist/keyboard-layout.d.ts +45 -0
- package/dist/keyboard-layout.d.ts.map +1 -0
- package/dist/keyboard-layout.js +162 -0
- package/dist/keyboard-layout.js.map +1 -0
- package/dist/page.d.ts +18 -0
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +96 -6
- package/dist/page.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -1
- package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.d.ts +0 -10
- package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.d.ts.map +0 -1
- package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.js +0 -210
- package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.js.map +0 -1
|
@@ -63,13 +63,13 @@
|
|
|
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, createWebRTCDisableScript, createWebGPUSpoofingScript, createPlatformConsistencyScript,
|
|
66
|
+
import { createStealthScript, createWebGLSpoofingScript, createAudioFingerprintSpoofingScript, createAdvancedCanvasProtectionScript, createClientRectSpoofingScript, createWebRTCSpoofingScript, createWebRTCDisableScript, createWebGPUSpoofingScript, createPlatformConsistencyScript, createMouseMovementHumanizationScript, createRuntimeEnableBypassScript, createFontSpoofingScript, createPerformanceSpoofingScript, createLocaleSpoofingScript, createUAClientHintsSpoofingScript,
|
|
67
67
|
// Stealth utilities (must be injected first)
|
|
68
68
|
createStealthUtilsScript,
|
|
69
69
|
// Prototype integrity (must be injected early)
|
|
70
70
|
createPrototypeIntegrityScript,
|
|
71
71
|
// 2024-2025 New modules
|
|
72
|
-
createCDPDetectionBypassScript, createStorageConsistencyScript, createTimingConsistencyScript, createKeyboardHumanizationScript, createScrollHumanizationScript, createDataDomeBypassScript,
|
|
72
|
+
createCDPDetectionBypassScript, createStorageConsistencyScript, createTimingConsistencyScript, createKeyboardHumanizationScript, createScrollHumanizationScript, createDataDomeBypassScript, createMediaCodecsSpoofingScript, } from './fingerprint-overrides/index.js';
|
|
73
73
|
export class CdpFingerprintInjector {
|
|
74
74
|
constructor(page) {
|
|
75
75
|
Object.defineProperty(this, "page", {
|
|
@@ -242,9 +242,17 @@ export class CdpFingerprintInjector {
|
|
|
242
242
|
'Linux x86_64': '6.8.0',
|
|
243
243
|
};
|
|
244
244
|
try {
|
|
245
|
+
// NOTE: do NOT pass the top-level `platform` field. Chrome maps it
|
|
246
|
+
// to `Settings::NavigatorPlatformOverride`, which then overrides
|
|
247
|
+
// `navigator.platform` at `Navigator::platform()`
|
|
248
|
+
// (third_party/blink/renderer/core/frame/navigator.cc). The value
|
|
249
|
+
// sent here is UA-CH form ("macOS"/"Windows"/"Linux"), but the
|
|
250
|
+
// LEGACY `navigator.platform` must be "MacIntel"/"Win32"/
|
|
251
|
+
// "Linux x86_64" — passing the UA-CH string leaks a Chrome-
|
|
252
|
+
// invariant violation that CreepJS flags immediately.
|
|
253
|
+
// The UA-CH value belongs only in userAgentMetadata.platform.
|
|
245
254
|
await this.page.client.Network.setUserAgentOverride({
|
|
246
255
|
userAgent,
|
|
247
|
-
platform: platformName,
|
|
248
256
|
userAgentMetadata: {
|
|
249
257
|
brands: brands.map(b => ({ brand: b.brand, version: b.version })),
|
|
250
258
|
fullVersion,
|
|
@@ -282,6 +290,20 @@ export class CdpFingerprintInjector {
|
|
|
282
290
|
timezoneId: timezone,
|
|
283
291
|
});
|
|
284
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* Override ICU's default locale for the page via CDP. This makes Intl.DateTimeFormat,
|
|
295
|
+
* Intl.NumberFormat, and Date.toLocaleString default to the supplied locale regardless
|
|
296
|
+
* of the browser binary's --lang setting — our reliable knob for the stock-Chrome path
|
|
297
|
+
* where we don't control the startup args.
|
|
298
|
+
*/
|
|
299
|
+
async setLocaleOverride(locale) {
|
|
300
|
+
try {
|
|
301
|
+
await this.page.client.Emulation.setLocaleOverride({ locale });
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
log.debug('Emulation.setLocaleOverride failed (non-fatal):', { error });
|
|
305
|
+
}
|
|
306
|
+
}
|
|
285
307
|
// NOTE: injectStealthProtections() REMOVED - stealth script is now bundled
|
|
286
308
|
// into the single injection to avoid multiple addScriptToEvaluateOnNewDocument calls
|
|
287
309
|
// which is a detection vector.
|
|
@@ -466,25 +488,59 @@ export class CdpFingerprintInjector {
|
|
|
466
488
|
if (!uaMatch) {
|
|
467
489
|
return userAgent;
|
|
468
490
|
}
|
|
469
|
-
|
|
491
|
+
// Chrome UA Reduction (shipped Chrome 107+) freezes minor/build/patch to 0.0.0 in the
|
|
492
|
+
// User-Agent string. The full build version lives only in UA-CH uaFullVersion.
|
|
493
|
+
// We must use major.0.0.0 here or risk producing a non-existent version string like
|
|
494
|
+
// "Chrome/147.0.7727.56" which is trivially detectable.
|
|
495
|
+
const majorVersion = browserVersion.split('.')[0];
|
|
496
|
+
const frozenVersion = `${majorVersion}.0.0.0`;
|
|
497
|
+
if (uaMatch[1] === frozenVersion) {
|
|
470
498
|
return userAgent;
|
|
471
499
|
}
|
|
472
|
-
const alignedUA = userAgent.replace(/Chrome\/\d+\.\d+\.\d+\.\d+/, `Chrome/${
|
|
500
|
+
const alignedUA = userAgent.replace(/Chrome\/\d+\.\d+\.\d+\.\d+/, `Chrome/${frozenVersion}`);
|
|
473
501
|
log.warning('User-Agent version mismatch detected. Aligning UA with running Chrome binary.', {
|
|
474
502
|
previousVersion: uaMatch[1],
|
|
475
|
-
browserVersion,
|
|
503
|
+
binaryVersion: browserVersion,
|
|
504
|
+
alignedTo: frozenVersion,
|
|
476
505
|
});
|
|
477
506
|
return alignedUA;
|
|
478
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* Align UA-CH brand versions with the actual running Chrome binary version.
|
|
510
|
+
* Updates "Chromium" and "Google Chrome" brand major/full versions while
|
|
511
|
+
* preserving the "Not_A Brand" GREASE token from the profile as-is.
|
|
512
|
+
*/
|
|
513
|
+
alignUAClientHintsVersion(uaClientHints, fullVersion) {
|
|
514
|
+
const majorVersion = fullVersion.split('.')[0];
|
|
515
|
+
const alignBrands = (brands) => brands.map(b => b.brand === 'Not_A Brand' ? b : { ...b, version: majorVersion });
|
|
516
|
+
const alignFullList = (list) => list.map(b => b.brand === 'Not_A Brand' ? b : { ...b, version: fullVersion });
|
|
517
|
+
return {
|
|
518
|
+
...uaClientHints,
|
|
519
|
+
brands: uaClientHints.brands ? alignBrands(uaClientHints.brands) : uaClientHints.brands,
|
|
520
|
+
fullVersionList: uaClientHints.fullVersionList
|
|
521
|
+
? alignFullList(uaClientHints.fullVersionList)
|
|
522
|
+
: uaClientHints.fullVersionList,
|
|
523
|
+
uaFullVersion: fullVersion,
|
|
524
|
+
};
|
|
525
|
+
}
|
|
479
526
|
async attachToPage(browserFingerprintWithHeaders, options) {
|
|
480
527
|
const { fingerprint, headers } = browserFingerprintWithHeaders;
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
528
|
+
// Locale/timezone resolution priority:
|
|
529
|
+
// 1. Resolved triple from browser-plugin (user locale → proxy country → fingerprint)
|
|
530
|
+
// 2. Legacy options.timezone / options.detectTimezone → ipinfo.io lookup
|
|
531
|
+
// Resolved values always win so fingerprintOptions.locale: 'ko-KR' coherently
|
|
532
|
+
// propagates to every locale surface.
|
|
533
|
+
const resolvedTimezone = options?.resolvedLocale?.timezone;
|
|
534
|
+
const resolvedLocale = options?.resolvedLocale?.locale;
|
|
535
|
+
const shouldFetchTimezone = !resolvedTimezone && (options?.timezone || options?.detectTimezone);
|
|
536
|
+
const timezone = resolvedTimezone
|
|
537
|
+
?? (shouldFetchTimezone ? await this.getTimezoneFromIp(options?.proxyUrl) : undefined);
|
|
485
538
|
if (timezone) {
|
|
486
539
|
await this.setTimezoneOverride(timezone);
|
|
487
540
|
}
|
|
541
|
+
if (resolvedLocale) {
|
|
542
|
+
await this.setLocaleOverride(resolvedLocale);
|
|
543
|
+
}
|
|
488
544
|
// NOTE: Page.enable() is required for addScriptToEvaluateOnNewDocument to work
|
|
489
545
|
// We enable it lazily just before script injection to minimize detection surface
|
|
490
546
|
await this.page.ensurePageEnabled();
|
|
@@ -496,6 +552,12 @@ export class CdpFingerprintInjector {
|
|
|
496
552
|
filteredHeaders[key] = value;
|
|
497
553
|
}
|
|
498
554
|
}
|
|
555
|
+
// Resolved Accept-Language wins over whatever the fingerprint-generator headers had
|
|
556
|
+
// so that fingerprintOptions.locale: 'ko-KR' reaches the wire.
|
|
557
|
+
if (options?.resolvedLocale?.languages) {
|
|
558
|
+
filteredHeaders['accept-language'] = options.resolvedLocale.languages;
|
|
559
|
+
delete filteredHeaders['Accept-Language'];
|
|
560
|
+
}
|
|
499
561
|
const originalUserAgent = fingerprint?.navigator?.userAgent
|
|
500
562
|
|| filteredHeaders['user-agent']
|
|
501
563
|
|| filteredHeaders['User-Agent']
|
|
@@ -517,11 +579,50 @@ export class CdpFingerprintInjector {
|
|
|
517
579
|
// Check if DataDome bypass is enabled (via either option name)
|
|
518
580
|
const isDataDomeBypassEnabled = options?.enableDataDomeBypass || options?.bypassDatadome;
|
|
519
581
|
const shouldMaskAutomation = options?.maskAutomationFlags !== false;
|
|
582
|
+
// When the C++ anti-detect browser is in use, every fingerprint surface
|
|
583
|
+
// is handled by patches in /Users/petr/cromite-src/src/third_party/blink/:
|
|
584
|
+
// navigator (webdriver/platform/UA/UA-CH/plugins/deviceMemory/hwConc)
|
|
585
|
+
// screen / outerWidth / devicePixelRatio
|
|
586
|
+
// WebGL / WebGPU / canvas noise / audio noise / rect noise / measureText
|
|
587
|
+
// timezone / language / accept-language HTTP header / battery
|
|
588
|
+
// performance.now quantization / Runtime.enable bypass / CDP artifacts
|
|
589
|
+
// chrome.runtime stub / inspector sourceURL
|
|
590
|
+
//
|
|
591
|
+
// CDP-side overrides (Network.setUserAgentOverride, Emulation.setDeviceMetrics,
|
|
592
|
+
// Emulation.setTimezone, addScriptToEvaluateOnNewDocument) are strictly
|
|
593
|
+
// incompatible with native stealth: they either duplicate what the C++
|
|
594
|
+
// patches already do (double-override → inconsistency) or they introduce
|
|
595
|
+
// CDP artifacts the C++ patches are specifically trying to hide.
|
|
596
|
+
// → skip the ENTIRE injection pipeline. No JS overrides, no CDP overrides,
|
|
597
|
+
// no humanization — native C++ is the single source of truth.
|
|
598
|
+
const nativeStealth = options?.useNativeStealth === true;
|
|
599
|
+
if (nativeStealth) {
|
|
600
|
+
log.info('[AntiDetect] useNativeStealth=true: skipping ALL JS + CDP overrides '
|
|
601
|
+
+ '(viewport, UA, headers, timezone, mouse/keyboard/scroll humanization, '
|
|
602
|
+
+ 'event prototype patches). C++ patches are the single source of truth: '
|
|
603
|
+
+ '0040 (PointerEvent.pressure NaN→0.5), 0039 (getCoalescedEvents non-empty), '
|
|
604
|
+
+ 'and the upstream Chromium ConvertWidgetPointToScreenPoint / TimeClamper '
|
|
605
|
+
+ 'paths cover screenX/Y and event.timeStamp.');
|
|
606
|
+
// Exception: when the user has explicitly pinned a locale, force the
|
|
607
|
+
// Accept-Language header via CDP. Chrome's profile default is `en-US,en;q=0.9`
|
|
608
|
+
// even when `--lang=ko-KR` is set, and older native-stealth binaries that
|
|
609
|
+
// predate patch 0026-accept-language-http-header will leak that default.
|
|
610
|
+
// Setting a single HTTP header is not a fingerprintable CDP artifact — unlike
|
|
611
|
+
// Runtime.enable or inspector traces — so it's safe to enable narrowly.
|
|
612
|
+
if (options?.resolvedLocale?.languages) {
|
|
613
|
+
await this.page.ensureNetworkEnabled();
|
|
614
|
+
await this.page.client.Network.setExtraHTTPHeaders({
|
|
615
|
+
headers: { 'Accept-Language': options.resolvedLocale.languages },
|
|
616
|
+
});
|
|
617
|
+
}
|
|
618
|
+
return;
|
|
619
|
+
}
|
|
520
620
|
const scriptsToInject = [
|
|
521
621
|
createStealthUtilsScript(), // Must be first - provides guards and toString spoofing
|
|
522
622
|
createPrototypeIntegrityScript(), // Second - provides native-like property descriptor masking
|
|
523
623
|
];
|
|
524
|
-
if (shouldMaskAutomation) {
|
|
624
|
+
if (shouldMaskAutomation && !nativeStealth) {
|
|
625
|
+
// C++ patch 0005 strips CDP artifacts natively — skip JS bypass when native stealth active
|
|
525
626
|
scriptsToInject.push(createRuntimeEnableBypassScript()); // Protects against CDP detection via Error stack analysis
|
|
526
627
|
}
|
|
527
628
|
// CRITICAL: DataDome bypass must be injected early for stack trace sanitization
|
|
@@ -541,68 +642,90 @@ export class CdpFingerprintInjector {
|
|
|
541
642
|
// When useFingerprintDefaults is true (or undefined), use hardcoded defaults
|
|
542
643
|
// When useFingerprintDefaults is false, use the generated fingerprint data
|
|
543
644
|
const shouldUseFingerprintData = options?.useFingerprintDefaults === false;
|
|
544
|
-
const { webglConfig, platformConfig, uaClientHints } = shouldUseFingerprintData
|
|
645
|
+
const { webglConfig, platformConfig, uaClientHints: rawUaClientHints } = shouldUseFingerprintData
|
|
545
646
|
? this.extractFingerprintData(fingerprint)
|
|
546
647
|
: { webglConfig: undefined, platformConfig: undefined, uaClientHints: undefined };
|
|
648
|
+
// Align UA-CH brand/full-version fields with the actual running binary so the
|
|
649
|
+
// fingerprint profile version (132-135) doesn't contradict the real binary (147+).
|
|
650
|
+
const uaClientHints = rawUaClientHints && actualChromeVersion
|
|
651
|
+
? this.alignUAClientHintsVersion(rawUaClientHints, actualChromeVersion)
|
|
652
|
+
: rawUaClientHints;
|
|
547
653
|
// Add advanced features based on options
|
|
548
654
|
if (options?.enableAdvancedStealth !== false) {
|
|
549
|
-
// UA Client Hints spoofing
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
655
|
+
// UA Client Hints spoofing — skipped when C++ patch 0003 handles it natively
|
|
656
|
+
if (!nativeStealth) {
|
|
657
|
+
scriptsToInject.push(createUAClientHintsSpoofingScript(options?.platform, shouldUseFingerprintData ? uaClientHints : undefined));
|
|
658
|
+
}
|
|
659
|
+
// WebGL spoofing — skipped when C++ patch 0004 handles it natively
|
|
660
|
+
if (!nativeStealth && options?.spoofWebGL !== false) {
|
|
554
661
|
scriptsToInject.push(createWebGLSpoofingScript(shouldUseFingerprintData ? webglConfig : undefined));
|
|
555
662
|
}
|
|
556
|
-
// Audio fingerprint spoofing
|
|
557
|
-
if (options?.spoofAudioContext !== false) {
|
|
663
|
+
// Audio fingerprint spoofing — skipped when C++ patch 0010 handles it natively
|
|
664
|
+
if (!nativeStealth && options?.spoofAudioContext !== false) {
|
|
558
665
|
scriptsToInject.push(createAudioFingerprintSpoofingScript());
|
|
559
666
|
}
|
|
560
|
-
// Canvas protection
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
667
|
+
// Canvas protection — skipped when C++ patch 0009 handles it natively
|
|
668
|
+
if (!nativeStealth) {
|
|
669
|
+
scriptsToInject.push(createAdvancedCanvasProtectionScript());
|
|
670
|
+
}
|
|
671
|
+
// Client rect spoofing — skipped when C++ patch 0011 handles it natively
|
|
672
|
+
if (!nativeStealth && options?.spoofClientRects !== false) {
|
|
564
673
|
scriptsToInject.push(createClientRectSpoofingScript());
|
|
565
674
|
}
|
|
566
|
-
// Coalesced
|
|
567
|
-
|
|
568
|
-
//
|
|
675
|
+
// (Coalesced PointerEvents are now handled in C++ — see Cromite anti-detect
|
|
676
|
+
// edit in third_party/blink/renderer/core/events/pointer_event.cc::getCoalescedEvents.
|
|
677
|
+
// The previous JS spoof in coalesced-events-spoofing.ts has been removed because
|
|
678
|
+
// a prototype getter on PointerEvent.prototype is detectable; the C++ fix is invisible.)
|
|
679
|
+
// Media codec spoofing — always keep (canPlayType behavioral)
|
|
569
680
|
scriptsToInject.push(createMediaCodecsSpoofingScript());
|
|
570
|
-
// WebRTC handling policy
|
|
681
|
+
// WebRTC handling policy — always keep (fake device IDs; C++ handles IP only)
|
|
571
682
|
if (options?.webRtcPolicy === 'disable') {
|
|
572
683
|
scriptsToInject.push(createWebRTCDisableScript());
|
|
573
684
|
}
|
|
574
685
|
else {
|
|
575
686
|
scriptsToInject.push(createWebRTCSpoofingScript());
|
|
576
687
|
}
|
|
577
|
-
// WebGPU spoofing
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
688
|
+
// WebGPU spoofing — skipped when C++ patch 0012 handles it natively
|
|
689
|
+
if (!nativeStealth) {
|
|
690
|
+
scriptsToInject.push(createWebGPUSpoofingScript(options?.useExperimentalFingerprints));
|
|
691
|
+
}
|
|
692
|
+
// Font spoofing — skipped when Cromite built-in allowlist handles it
|
|
693
|
+
if (!nativeStealth && options?.spoofFonts !== false) {
|
|
581
694
|
scriptsToInject.push(createFontSpoofingScript());
|
|
582
695
|
}
|
|
583
|
-
// Performance spoofing
|
|
584
|
-
if (options?.spoofPerformance !== false) {
|
|
696
|
+
// Performance spoofing — skipped when Cromite built-in perf.now clamping handles it
|
|
697
|
+
if (!nativeStealth && options?.spoofPerformance !== false) {
|
|
585
698
|
scriptsToInject.push(createPerformanceSpoofingScript());
|
|
586
699
|
}
|
|
587
|
-
// Locale spoofing (
|
|
700
|
+
// Locale spoofing — always keep (Intl.NumberFormat formatting part not in C++).
|
|
701
|
+
// Bake the resolved locale/languages in as literals so the script reports values
|
|
702
|
+
// that match the navigator/header overrides instead of hardcoded en-US.
|
|
588
703
|
if (options?.spoofLocale !== false) {
|
|
589
|
-
scriptsToInject.push(createLocaleSpoofingScript(
|
|
704
|
+
scriptsToInject.push(createLocaleSpoofingScript({
|
|
705
|
+
locale: options?.resolvedLocale?.locale ?? 'en-US',
|
|
706
|
+
languages: options?.resolvedLocale?.languages ?? 'en-US,en;q=0.9',
|
|
707
|
+
}));
|
|
590
708
|
}
|
|
591
|
-
//
|
|
592
|
-
|
|
593
|
-
if (options?.bypassCDPDetection !== false) {
|
|
709
|
+
// CDP Detection Bypass — skipped when C++ patches 0001+0005 handle it natively
|
|
710
|
+
if (!nativeStealth && options?.bypassCDPDetection !== false) {
|
|
594
711
|
scriptsToInject.push(createCDPDetectionBypassScript());
|
|
595
712
|
}
|
|
596
|
-
// Storage consistency
|
|
713
|
+
// Storage consistency — always keep (CDP-level quota spoofing)
|
|
597
714
|
if (options?.spoofStorage !== false) {
|
|
598
715
|
scriptsToInject.push(createStorageConsistencyScript());
|
|
599
716
|
}
|
|
600
|
-
// Timing consistency
|
|
717
|
+
// Timing consistency — always keep (Date.now alignment; C++ handles perf.now)
|
|
601
718
|
if (options?.spoofTiming !== false) {
|
|
602
719
|
scriptsToInject.push(createTimingConsistencyScript());
|
|
603
720
|
}
|
|
604
721
|
// DataDome-specific bypass - already injected early if enabled
|
|
605
722
|
// (see isDataDomeBypassEnabled check at the beginning of scriptsToInject)
|
|
723
|
+
// Mouse movement humanization (browser context) - disabled by default
|
|
724
|
+
// Bundled here so the bezier-curve utility counts as part of the single
|
|
725
|
+
// addScriptToEvaluateOnNewDocument call (multiple calls are detectable).
|
|
726
|
+
if (options?.humanization?.mouse || options?.humanizeInteractions) {
|
|
727
|
+
scriptsToInject.push(createMouseMovementHumanizationScript());
|
|
728
|
+
}
|
|
606
729
|
// Keyboard humanization (browser context) - disabled by default
|
|
607
730
|
if (options?.humanization?.keyboard) {
|
|
608
731
|
scriptsToInject.push(createKeyboardHumanizationScript());
|
|
@@ -612,9 +735,32 @@ export class CdpFingerprintInjector {
|
|
|
612
735
|
scriptsToInject.push(createScrollHumanizationScript());
|
|
613
736
|
}
|
|
614
737
|
}
|
|
615
|
-
// Apply platform consistency script
|
|
616
|
-
if (options?.platform) {
|
|
617
|
-
|
|
738
|
+
// Apply platform consistency script — skipped when C++ patches 0002+0006 handle it natively
|
|
739
|
+
if (!nativeStealth && options?.platform) {
|
|
740
|
+
// Build the config to pass: when using real fingerprint data, align its UA with
|
|
741
|
+
// the actual binary version; when using hardcoded defaults, inject a minimal
|
|
742
|
+
// version-aligned UA so we don't bake in the static Chrome/134.0.0.0 fallback.
|
|
743
|
+
let platformConfigForScript = shouldUseFingerprintData ? platformConfig : undefined;
|
|
744
|
+
if (platformConfigForScript?.userAgent && actualChromeVersion) {
|
|
745
|
+
// Align dynamic fingerprint UA with the actual running binary version.
|
|
746
|
+
platformConfigForScript = {
|
|
747
|
+
...platformConfigForScript,
|
|
748
|
+
userAgent: this.alignUserAgentWithBrowserVersion(platformConfigForScript.userAgent, actualChromeVersion),
|
|
749
|
+
appVersion: platformConfigForScript.appVersion
|
|
750
|
+
? this.alignUserAgentWithBrowserVersion(platformConfigForScript.appVersion, actualChromeVersion)
|
|
751
|
+
: platformConfigForScript.appVersion,
|
|
752
|
+
};
|
|
753
|
+
}
|
|
754
|
+
else if (!platformConfigForScript && actualChromeVersion && options.platform === 'Win32') {
|
|
755
|
+
// useFingerprintDefaults=true path: override only the UA/appVersion fields so the
|
|
756
|
+
// hardcoded Win32 defaults pick up the real Chrome version instead of Chrome/134.
|
|
757
|
+
const alignedUA = `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${actualChromeVersion} Safari/537.36`;
|
|
758
|
+
platformConfigForScript = {
|
|
759
|
+
userAgent: alignedUA,
|
|
760
|
+
appVersion: `5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${actualChromeVersion} Safari/537.36`,
|
|
761
|
+
};
|
|
762
|
+
}
|
|
763
|
+
scriptsToInject.push(createPlatformConsistencyScript(options.platform, platformConfigForScript));
|
|
618
764
|
}
|
|
619
765
|
// CRITICAL: Clean scripts to remove CDP detection patterns
|
|
620
766
|
const isDebug = options?.debug === true;
|
|
@@ -663,9 +809,21 @@ export class CdpFingerprintInjector {
|
|
|
663
809
|
// Preamble: create shared stealth store accessible by all module IIFEs via closure.
|
|
664
810
|
// seedKey: proxy session ID or proxy URL - used by _stableHash for deterministic fingerprints.
|
|
665
811
|
const preamble = `var __stealth = { debug: ${isDebug}, seedKey: ${proxySeedKey ? JSON.stringify(proxySeedKey) : 'null'} };`;
|
|
812
|
+
// Neutralize the CDP-injection stack-frame tell. V8 renders scripts
|
|
813
|
+
// registered via Page.addScriptToEvaluateOnNewDocument that carry no
|
|
814
|
+
// sourceURL as "<anonymous>" in Error.stack — a well-known detection
|
|
815
|
+
// vector (DataDome, CreepJS, fpscanner all check for it). Appending
|
|
816
|
+
// `//# sourceURL=about:blank` makes V8 render stack frames as if the
|
|
817
|
+
// script loaded from about:blank, which is indistinguishable from
|
|
818
|
+
// a normal bootstrap script on a fresh page.
|
|
819
|
+
//
|
|
820
|
+
// Note: the cleanScript pass above strips *existing* sourceURL comments
|
|
821
|
+
// in the per-module scripts (to avoid the comment naming a file path
|
|
822
|
+
// that reveals our repo layout). We then stamp exactly one sourceURL
|
|
823
|
+
// on the outer bundle so the final script V8 sees has a clean name.
|
|
666
824
|
const bundledScript = `${preamble}\n\n${scriptsToInject
|
|
667
825
|
.map(script => cleanScript(script))
|
|
668
|
-
.join('\n\n')}`;
|
|
826
|
+
.join('\n\n')}\n//# sourceURL=about:blank\n`;
|
|
669
827
|
// Validate bundled script for syntax errors
|
|
670
828
|
try {
|
|
671
829
|
// eslint-disable-next-line no-new-func, no-new
|
|
@@ -719,23 +877,14 @@ export class CdpFingerprintInjector {
|
|
|
719
877
|
log.error('✗ Failed to inject fingerprint scripts:', { error });
|
|
720
878
|
throw error; // Rethrow to make injection failures visible
|
|
721
879
|
}
|
|
722
|
-
//
|
|
723
|
-
//
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
await setupMouseMovementHumanization(this.page.client);
|
|
727
|
-
}
|
|
880
|
+
// NOTE: Mouse/keyboard/scroll humanization browser-context scripts are now
|
|
881
|
+
// bundled into the single addScriptToEvaluateOnNewDocument call above.
|
|
882
|
+
// Multiple addScriptToEvaluateOnNewDocument registrations are themselves
|
|
883
|
+
// a bot-detection signal — keep the count at 1.
|
|
728
884
|
// NOTE: setupRuntimeEnableBypass REMOVED - it uses Runtime.evaluate which is itself a detection vector!
|
|
729
885
|
// The bypass script is now included in the bundled stealth scripts injected via addScriptToEvaluateOnNewDocument
|
|
730
886
|
// This runs BEFORE page JavaScript, avoiding Runtime domain activation
|
|
731
|
-
|
|
732
|
-
if (options?.humanization?.keyboard) {
|
|
733
|
-
await setupKeyboardHumanization(this.page.client);
|
|
734
|
-
}
|
|
735
|
-
// 2024-2025: CDP-level scroll humanization (disabled by default)
|
|
736
|
-
if (options?.humanization?.scroll) {
|
|
737
|
-
await setupScrollHumanization(this.page.client);
|
|
738
|
-
}
|
|
887
|
+
const enableMouseHumanization = options?.humanization?.mouse || options?.humanizeInteractions;
|
|
739
888
|
// Debug and viewport debug scripts are now bundled into the main injection above
|
|
740
889
|
log.info('Enhanced fingerprint attached with settings:', {
|
|
741
890
|
proxy: options?.proxyUrl,
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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,qCAAqC,EACrC,+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,+BAA+B,GAIlC,MAAM,kCAAkC,CAAC;AAmH1C,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,mEAAmE;YACnE,iEAAiE;YACjE,kDAAkD;YAClD,kEAAkE;YAClE,+DAA+D;YAC/D,0DAA0D;YAC1D,4DAA4D;YAC5D,sDAAsD;YACtD,8DAA8D;YAC9D,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBAChD,SAAS;gBACT,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;;;;;OAKG;IACK,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAC1C,IAAI,CAAC;YACD,MAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAiB,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;IACL,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,sFAAsF;QACtF,+EAA+E;QAC/E,oFAAoF;QACpF,wDAAwD;QACxD,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,GAAG,YAAY,QAAQ,CAAC;QAE9C,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,4BAA4B,EAAE,UAAU,aAAa,EAAE,CAAC,CAAC;QAC7F,GAAG,CAAC,OAAO,CAAC,+EAA+E,EAAE;YACzF,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3B,aAAa,EAAE,cAAc;YAC7B,SAAS,EAAE,aAAa;SAC3B,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,yBAAyB,CAC7B,aAAgC,EAChC,WAAmB;QAEnB,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,CAAC,MAAiD,EAAiB,EAAE,CACrF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAErF,MAAM,aAAa,GAAG,CAAC,IAA+C,EAAe,EAAE,CACnF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAElF,OAAO;YACH,GAAG,aAAa;YAChB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM;YACvF,eAAe,EAAE,aAAa,CAAC,eAAe;gBAC1C,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC;gBAC9C,CAAC,CAAC,aAAa,CAAC,eAAe;YACnC,aAAa,EAAE,WAAW;SAC7B,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,YAAY,CACrB,6BAA4D,EAC5D,OAAuB;QAEvB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,6BAA6B,CAAC;QAE/D,uCAAuC;QACvC,uFAAuF;QACvF,2EAA2E;QAC3E,8EAA8E;QAC9E,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC;QAC3D,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC;QACvD,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,cAAc,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAG,gBAAgB;eAC1B,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE3F,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACjD,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,oFAAoF;QACpF,+DAA+D;QAC/D,IAAI,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;YACrC,eAAe,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;YACtE,OAAO,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC9C,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,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,2CAA2C;QAC3C,2EAA2E;QAC3E,gEAAgE;QAChE,yEAAyE;QACzE,8CAA8C;QAC9C,EAAE;QACF,gFAAgF;QAChF,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,iEAAiE;QACjE,2EAA2E;QAC3E,8DAA8D;QAC9D,MAAM,aAAa,GAAG,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;QACzD,IAAI,aAAa,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CACJ,sEAAsE;kBACpE,wEAAwE;kBACxE,wEAAwE;kBACxE,6EAA6E;kBAC7E,0EAA0E;kBAC1E,4CAA4C,CACjD,CAAC;YACF,qEAAqE;YACrE,+EAA+E;YAC/E,0EAA0E;YAC1E,yEAAyE;YACzE,8EAA8E;YAC9E,wEAAwE;YACxE,IAAI,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACvC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;oBAC/C,OAAO,EAAE,EAAE,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE;iBACnE,CAAC,CAAC;YACP,CAAC;YACD,OAAO;QACX,CAAC;QAED,MAAM,eAAe,GAAG;YACpB,wBAAwB,EAAE,EAAE,wDAAwD;YACpF,8BAA8B,EAAE,EAAE,4DAA4D;SACjG,CAAC;QACF,IAAI,oBAAoB,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,2FAA2F;YAC3F,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,gBAAgB,EAAE,GAAG,wBAAwB;YAC7F,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;QACtF,8EAA8E;QAC9E,mFAAmF;QACnF,MAAM,aAAa,GAAG,gBAAgB,IAAI,mBAAmB;YACzD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;YACvE,CAAC,CAAC,gBAAgB,CAAC;QAEvB,yCAAyC;QACzC,IAAI,OAAO,EAAE,qBAAqB,KAAK,KAAK,EAAE,CAAC;YAC3C,6EAA6E;YAC7E,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,eAAe,CAAC,IAAI,CAAC,iCAAiC,CAClD,OAAO,EAAE,QAAQ,EACjB,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC,CAAC;YACP,CAAC;YAED,mEAAmE;YACnE,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;gBAClD,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAC1C,wBAAwB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CACrD,CAAC,CAAC;YACP,CAAC;YAED,+EAA+E;YAC/E,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,iBAAiB,KAAK,KAAK,EAAE,CAAC;gBACzD,eAAe,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,sEAAsE;YACtE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,eAAe,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,yEAAyE;YACzE,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBACxD,eAAe,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,4EAA4E;YAC5E,uFAAuF;YACvF,iFAAiF;YACjF,yFAAyF;YAEzF,8DAA8D;YAC9D,eAAe,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;YAExD,8EAA8E;YAC9E,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,oEAAoE;YACpE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC;YAC3F,CAAC;YAED,qEAAqE;YACrE,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;gBAClD,eAAe,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;YACrD,CAAC;YAED,oFAAoF;YACpF,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBACxD,eAAe,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,gFAAgF;YAChF,iFAAiF;YACjF,wEAAwE;YACxE,IAAI,OAAO,EAAE,WAAW,KAAK,KAAK,EAAE,CAAC;gBACjC,eAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC;oBAC5C,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,OAAO;oBAClD,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,IAAI,gBAAgB;iBACpE,CAAC,CAAC,CAAC;YACR,CAAC;YAED,+EAA+E;YAC/E,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,kBAAkB,KAAK,KAAK,EAAE,CAAC;gBAC1D,eAAe,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,+DAA+D;YAC/D,IAAI,OAAO,EAAE,YAAY,KAAK,KAAK,EAAE,CAAC;gBAClC,eAAe,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,8EAA8E;YAC9E,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,sEAAsE;YACtE,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;gBAChE,eAAe,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,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,4FAA4F;QAC5F,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtC,gFAAgF;YAChF,6EAA6E;YAC7E,+EAA+E;YAC/E,IAAI,uBAAuB,GAAG,wBAAwB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,IAAI,uBAAuB,EAAE,SAAS,IAAI,mBAAmB,EAAE,CAAC;gBAC5D,uEAAuE;gBACvE,uBAAuB,GAAG;oBACtB,GAAG,uBAAuB;oBAC1B,SAAS,EAAE,IAAI,CAAC,gCAAgC,CAC5C,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,CAAC;oBAC3D,UAAU,EAAE,uBAAuB,CAAC,UAAU;wBAC1C,CAAC,CAAC,IAAI,CAAC,gCAAgC,CACnC,uBAAuB,CAAC,UAAU,EAAE,mBAAmB,CAAC;wBAC5D,CAAC,CAAC,uBAAuB,CAAC,UAAU;iBAC3C,CAAC;YACN,CAAC;iBAAM,IAAI,CAAC,uBAAuB,IAAI,mBAAmB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzF,kFAAkF;gBAClF,kFAAkF;gBAClF,MAAM,SAAS,GAAG,2FAA2F,mBAAmB,gBAAgB,CAAC;gBACjJ,uBAAuB,GAAG;oBACtB,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,mFAAmF,mBAAmB,gBAAgB;iBACrI,CAAC;YACN,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,+BAA+B,CAChD,OAAO,CAAC,QAAQ,EAChB,uBAAuB,CAC1B,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,oEAAoE;QACpE,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,kEAAkE;QAClE,6CAA6C;QAC7C,EAAE;QACF,wEAAwE;QACxE,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,MAAM,aAAa,GAAG,GAAG,QAAQ,OAAO,eAAe;aAClD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aAClC,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC;QAEjD,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,2EAA2E;QAC3E,uEAAuE;QACvE,yEAAyE;QACzE,gDAAgD;QAEhD,wGAAwG;QACxG,iHAAiH;QACjH,uEAAuE;QAEvE,MAAM,uBAAuB,GAAG,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAE,oBAAoB,CAAC;QAE9F,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/audio-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,oCAAoC,QAAO,
|
|
1
|
+
{"version":3,"file":"audio-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/audio-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,oCAAoC,QAAO,MAgJvD,CAAC"}
|
|
@@ -59,6 +59,22 @@ export const createAudioFingerprintSpoofingScript = () => {
|
|
|
59
59
|
construct(target, args) {
|
|
60
60
|
const context = Reflect.construct(target, args);
|
|
61
61
|
|
|
62
|
+
// Patch AudioContext.state to return 'running'.
|
|
63
|
+
// In headless Chrome, a fresh AudioContext starts 'suspended' and
|
|
64
|
+
// .resume() never fully transitions because there is no real
|
|
65
|
+
// user-gesture event loop. Real headed Chrome shows 'running' after
|
|
66
|
+
// the first user interaction. Spoofing 'running' here matches what
|
|
67
|
+
// anti-bot scripts observe after they dispatch a synthetic click.
|
|
68
|
+
try {
|
|
69
|
+
Object.defineProperty(context, 'state', {
|
|
70
|
+
get: () => 'running',
|
|
71
|
+
configurable: true
|
|
72
|
+
});
|
|
73
|
+
// .resume() must return a resolved Promise so callers don't hang
|
|
74
|
+
const _origResume = context.resume.bind(context);
|
|
75
|
+
context.resume = function() { return Promise.resolve(); };
|
|
76
|
+
} catch (e) {}
|
|
77
|
+
|
|
62
78
|
// Override createAnalyser
|
|
63
79
|
const originalCreateAnalyser = context.createAnalyser;
|
|
64
80
|
context.createAnalyser = function() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/audio-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAW,EAAE;IAC7D,OAAO
|
|
1
|
+
{"version":3,"file":"audio-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/audio-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAW,EAAE;IAC7D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8IL,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-detection-bypass.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/cdp-detection-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,8BAA8B,QAAO,
|
|
1
|
+
{"version":3,"file":"cdp-detection-bypass.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/cdp-detection-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,8BAA8B,QAAO,MA8uBjD,CAAC"}
|
|
@@ -214,10 +214,11 @@ export const createCDPDetectionBypassScript = () => {
|
|
|
214
214
|
try { delete iframeWindow[prop]; } catch (e) {}
|
|
215
215
|
});
|
|
216
216
|
|
|
217
|
-
// Ensure navigator.webdriver is
|
|
217
|
+
// Ensure navigator.webdriver is false in iframe (matches parent frame)
|
|
218
|
+
// Real Chrome 89+: webdriver exists and is false, not undefined
|
|
218
219
|
try {
|
|
219
220
|
Object.defineProperty(iframeWindow.navigator, 'webdriver', {
|
|
220
|
-
get: () =>
|
|
221
|
+
get: () => false,
|
|
221
222
|
configurable: true
|
|
222
223
|
});
|
|
223
224
|
} catch (e) {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-detection-bypass.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/cdp-detection-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAW,EAAE;IACvD,OAAO
|
|
1
|
+
{"version":3,"file":"cdp-detection-bypass.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/cdp-detection-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAW,EAAE;IACvD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4uBL,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadome-bypass.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/datadome-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,eAAO,MAAM,0BAA0B,QAAO,
|
|
1
|
+
{"version":3,"file":"datadome-bypass.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/datadome-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,eAAO,MAAM,0BAA0B,QAAO,MAwpC7C,CAAC"}
|