jumpy-lion 0.1.5 → 0.1.6-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/browser-controller.d.ts.map +1 -1
- package/dist/browser-controller.js +52 -2
- package/dist/browser-controller.js.map +1 -1
- package/dist/browser-plugin.d.ts +31 -0
- package/dist/browser-plugin.d.ts.map +1 -1
- package/dist/browser-plugin.js +76 -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 +134 -0
- package/dist/browser-process/anti-detect-browser.js.map +1 -0
- package/dist/browser-process/anti-detect-config.d.ts +84 -0
- package/dist/browser-process/anti-detect-config.d.ts.map +1 -0
- package/dist/browser-process/anti-detect-config.js +178 -0
- package/dist/browser-process/anti-detect-config.js.map +1 -0
- package/dist/browser-process/browser.d.ts +19 -0
- package/dist/browser-process/browser.d.ts.map +1 -1
- package/dist/browser-process/browser.js +83 -4
- 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 +2 -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 +39 -0
- package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-injector.js +141 -50
- 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 -1
- package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.js +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js +5 -8
- 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/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/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/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +11 -2
- package/scripts/postinstall.cjs +242 -0
package/dist/crawler.js
CHANGED
|
@@ -31,9 +31,12 @@ export default class Crawler extends BrowserCrawler {
|
|
|
31
31
|
launchContext.launchOptions ?? (launchContext.launchOptions = {});
|
|
32
32
|
launchContext.launchOptions.fingerprintGeneratorOptions = fingerprintGeneratorOptions;
|
|
33
33
|
}
|
|
34
|
-
//
|
|
34
|
+
// Pass only launchOptions (not the whole launchContext) so CDPBrowserPlugin stores
|
|
35
|
+
// executablePath, useNativeStealth, etc. at the right level.
|
|
36
|
+
// The other LaunchContext fields (proxyUrl, fingerprint, useIncognitoPages) are
|
|
37
|
+
// injected by Crawlee's BrowserPool at runtime and must NOT be pre-baked here.
|
|
35
38
|
browserPoolOptions.browserPlugins = [
|
|
36
|
-
new CDPBrowserPlugin(new CdpLauncher(), launchContext),
|
|
39
|
+
new CDPBrowserPlugin(new CdpLauncher(), launchContext.launchOptions),
|
|
37
40
|
];
|
|
38
41
|
// if (launchContext.launchOptions?.useExperimentalFingerprints) {
|
|
39
42
|
// browserPoolOptions.useFingerprints = false;
|
package/dist/crawler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crawler.js","sourceRoot":"","sources":["../src/crawler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGhE,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAqB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"crawler.js","sourceRoot":"","sources":["../src/crawler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGhE,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAqB,MAAM,oBAAoB,CAAC;AAqGpE,iDAAiD;AACjD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,cAIpC;IACG;IACI,6BAA6B;IACZ,iBAAoC,EAAE,EACrC,SAAS,aAAa,CAAC,eAAe,EAAE;QAE1D,MAAM,EACF,aAAa,GAAG,EAAsB,EACtC,QAAQ,GAAG,KAAK,EAChB,kBAAkB,EAAE,WAAW,GAAG,EAAE,EACpC,GAAG,qBAAqB,EAC3B,GAAG,cAAc,CAAC;QAEnB,MAAM,kBAAkB,GAAG;YACvB,GAAG,WAAW;YACd,wDAAwD;YACxD,sBAAsB,EAAE,WAAW,CAAC,sBAAsB,IAAI,CAAC;YAC/D,oBAAoB,EAAE,WAAW,CAAC,oBAAoB,IAAI,GAAG;SAChE,CAAC;QAEF,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;QAClI,CAAC;QAED,yDAAyD;QACzD,IAAI,kBAAkB,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC5G,CAAC;QAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACnB,aAAa,CAAC,aAAa,KAA3B,aAAa,CAAC,aAAa,GAAK,EAAE,EAAC;YACnC,aAAa,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAmB,CAAC;QAC/D,CAAC;QAED,4EAA4E;QAC5E,kGAAkG;QAClG,MAAM,2BAA2B,GAAI,WAAmB,EAAE,kBAAkB,EAAE,2BAA2B,CAAC;QAC1G,IAAI,2BAA2B,EAAE,CAAC;YAC9B,aAAa,CAAC,aAAa,KAA3B,aAAa,CAAC,aAAa,GAAK,EAAE,EAAC;YAClC,aAAa,CAAC,aAAqB,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QACnG,CAAC;QAED,mFAAmF;QACnF,6DAA6D;QAC7D,gFAAgF;QAChF,+EAA+E;QAC/E,kBAAkB,CAAC,cAAc,GAAG;YAChC,IAAI,gBAAgB,CAAC,IAAI,WAAW,EAAE,EAAE,aAAa,CAAC,aAAoB,CAAC;SAC9E,CAAC;QAEF,kEAAkE;QAClE,kDAAkD;QAClD,IAAI;QAEJ,8DAA8D;QAC9D,SAAS;QACT,KAAK,CAAC,EAAE,GAAG,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;QArD/E;;;;mBAAiB,cAAc;WAAwB;QACvD;;;;mBAAkB,MAAM;WAAkC;IAqD9D,CAAC;IAED,wEAAwE;IACrD,KAAK,CAAC,kBAAkB,CAAC,eAAmC,EAAE,WAAwB;QACrG,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;QAEjC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB;IACzF,CAAC;CACJ;AAMD,MAAM,UAAU,eAAe,CAE7B,MAA0C;IACxC,OAAO,MAAM,CAAC,MAAM,CAAU,MAAM,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -121,6 +121,39 @@ interface AttachOptions {
|
|
|
121
121
|
* Enable specific options to simulate human-like interactions.
|
|
122
122
|
*/
|
|
123
123
|
humanization?: HumanizationOptions;
|
|
124
|
+
/**
|
|
125
|
+
* When true, fingerprint was generated by the non-Apify real-device generator.
|
|
126
|
+
* Currently informational only — the injector behaves identically since the output
|
|
127
|
+
* matches the BrowserFingerprintWithHeaders shape.
|
|
128
|
+
*/
|
|
129
|
+
useNonApifyFingerprints?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Completely disable all JS fingerprint overrides when the C++ anti-detect browser
|
|
132
|
+
* is in use. Set this to true when launching with the custom Cromite-based anti-detect
|
|
133
|
+
* browser (useNativeStealth in LaunchBrowserOptions).
|
|
134
|
+
*
|
|
135
|
+
* When true, the ENTIRE JS override pipeline is skipped — no fingerprint scripts are
|
|
136
|
+
* injected via addScriptToEvaluateOnNewDocument. The C++ patches handle everything:
|
|
137
|
+
* - canvas noise (patch 0009 + cromite-override 0002)
|
|
138
|
+
* - audio fingerprinting (patch 0010)
|
|
139
|
+
* - getBoundingClientRect noise (patch 0011)
|
|
140
|
+
* - WebGL vendor/renderer (patch 0004)
|
|
141
|
+
* - WebGPU adapter info (patch 0012)
|
|
142
|
+
* - screen dimensions (patch 0006)
|
|
143
|
+
* - navigator.platform (patch 0002)
|
|
144
|
+
* - UA-CH structured data + HTTP headers (patch 0003)
|
|
145
|
+
* - navigator.webdriver = false (patch 0001)
|
|
146
|
+
* - CDP automation artifacts (patch 0005)
|
|
147
|
+
* - Runtime.enable console side effects (patch 0015)
|
|
148
|
+
* - automation sourceURL in Error stacks (patch 0015)
|
|
149
|
+
*
|
|
150
|
+
* Exception: humanization scripts (mouse/keyboard/scroll movement) are behavioral
|
|
151
|
+
* rather than fingerprinting — they are still injected if explicitly enabled via
|
|
152
|
+
* the `humanization` option.
|
|
153
|
+
*
|
|
154
|
+
* Default: false
|
|
155
|
+
*/
|
|
156
|
+
useNativeStealth?: boolean;
|
|
124
157
|
}
|
|
125
158
|
export declare class CdpFingerprintInjector {
|
|
126
159
|
private page;
|
|
@@ -161,6 +194,12 @@ export declare class CdpFingerprintInjector {
|
|
|
161
194
|
private extractFingerprintData;
|
|
162
195
|
private getActualChromeVersion;
|
|
163
196
|
private alignUserAgentWithBrowserVersion;
|
|
197
|
+
/**
|
|
198
|
+
* Align UA-CH brand versions with the actual running Chrome binary version.
|
|
199
|
+
* Updates "Chromium" and "Google Chrome" brand major/full versions while
|
|
200
|
+
* preserving the "Not_A Brand" GREASE token from the profile as-is.
|
|
201
|
+
*/
|
|
202
|
+
private alignUAClientHintsVersion;
|
|
164
203
|
attachToPage(browserFingerprintWithHeaders: BrowserFingerprintWithHeaders, options?: AttachOptions): Promise<void>;
|
|
165
204
|
}
|
|
166
205
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint-injector.d.ts","sourceRoot":"","sources":["../../src/fingerprinting/fingerprint-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAGH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAG3E,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"fingerprint-injector.d.ts","sourceRoot":"","sources":["../../src/fingerprinting/fingerprint-injector.ts"],"names":[],"mappings":"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"}
|
|
@@ -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, createCoalescedEventsSpoofingScript, createMediaCodecsSpoofingScript,
|
|
72
|
+
createCDPDetectionBypassScript, createStorageConsistencyScript, createTimingConsistencyScript, createKeyboardHumanizationScript, createScrollHumanizationScript, createDataDomeBypassScript, createCoalescedEventsSpoofingScript, createMediaCodecsSpoofingScript, } from './fingerprint-overrides/index.js';
|
|
73
73
|
export class CdpFingerprintInjector {
|
|
74
74
|
constructor(page) {
|
|
75
75
|
Object.defineProperty(this, "page", {
|
|
@@ -466,16 +466,41 @@ export class CdpFingerprintInjector {
|
|
|
466
466
|
if (!uaMatch) {
|
|
467
467
|
return userAgent;
|
|
468
468
|
}
|
|
469
|
-
|
|
469
|
+
// Chrome UA Reduction (shipped Chrome 107+) freezes minor/build/patch to 0.0.0 in the
|
|
470
|
+
// User-Agent string. The full build version lives only in UA-CH uaFullVersion.
|
|
471
|
+
// We must use major.0.0.0 here or risk producing a non-existent version string like
|
|
472
|
+
// "Chrome/147.0.7727.56" which is trivially detectable.
|
|
473
|
+
const majorVersion = browserVersion.split('.')[0];
|
|
474
|
+
const frozenVersion = `${majorVersion}.0.0.0`;
|
|
475
|
+
if (uaMatch[1] === frozenVersion) {
|
|
470
476
|
return userAgent;
|
|
471
477
|
}
|
|
472
|
-
const alignedUA = userAgent.replace(/Chrome\/\d+\.\d+\.\d+\.\d+/, `Chrome/${
|
|
478
|
+
const alignedUA = userAgent.replace(/Chrome\/\d+\.\d+\.\d+\.\d+/, `Chrome/${frozenVersion}`);
|
|
473
479
|
log.warning('User-Agent version mismatch detected. Aligning UA with running Chrome binary.', {
|
|
474
480
|
previousVersion: uaMatch[1],
|
|
475
|
-
browserVersion,
|
|
481
|
+
binaryVersion: browserVersion,
|
|
482
|
+
alignedTo: frozenVersion,
|
|
476
483
|
});
|
|
477
484
|
return alignedUA;
|
|
478
485
|
}
|
|
486
|
+
/**
|
|
487
|
+
* Align UA-CH brand versions with the actual running Chrome binary version.
|
|
488
|
+
* Updates "Chromium" and "Google Chrome" brand major/full versions while
|
|
489
|
+
* preserving the "Not_A Brand" GREASE token from the profile as-is.
|
|
490
|
+
*/
|
|
491
|
+
alignUAClientHintsVersion(uaClientHints, fullVersion) {
|
|
492
|
+
const majorVersion = fullVersion.split('.')[0];
|
|
493
|
+
const alignBrands = (brands) => brands.map(b => b.brand === 'Not_A Brand' ? b : { ...b, version: majorVersion });
|
|
494
|
+
const alignFullList = (list) => list.map(b => b.brand === 'Not_A Brand' ? b : { ...b, version: fullVersion });
|
|
495
|
+
return {
|
|
496
|
+
...uaClientHints,
|
|
497
|
+
brands: uaClientHints.brands ? alignBrands(uaClientHints.brands) : uaClientHints.brands,
|
|
498
|
+
fullVersionList: uaClientHints.fullVersionList
|
|
499
|
+
? alignFullList(uaClientHints.fullVersionList)
|
|
500
|
+
: uaClientHints.fullVersionList,
|
|
501
|
+
uaFullVersion: fullVersion,
|
|
502
|
+
};
|
|
503
|
+
}
|
|
479
504
|
async attachToPage(browserFingerprintWithHeaders, options) {
|
|
480
505
|
const { fingerprint, headers } = browserFingerprintWithHeaders;
|
|
481
506
|
const shouldFetchTimezone = options?.timezone || options?.detectTimezone;
|
|
@@ -517,11 +542,48 @@ export class CdpFingerprintInjector {
|
|
|
517
542
|
// Check if DataDome bypass is enabled (via either option name)
|
|
518
543
|
const isDataDomeBypassEnabled = options?.enableDataDomeBypass || options?.bypassDatadome;
|
|
519
544
|
const shouldMaskAutomation = options?.maskAutomationFlags !== false;
|
|
545
|
+
// When the C++ anti-detect browser is in use, skip JS modules already handled natively.
|
|
546
|
+
const nativeStealth = options?.useNativeStealth === true;
|
|
547
|
+
if (nativeStealth) {
|
|
548
|
+
// The C++ anti-detect browser patches handle ALL fingerprinting natively:
|
|
549
|
+
// canvas noise (0009), audio (0010), rects (0011), WebGL (0004), WebGPU (0012),
|
|
550
|
+
// screen/platform (0002/0006), UA-CH (0003), webdriver=false (0001),
|
|
551
|
+
// CDP artifacts (0005), Runtime.enable side effects (0015).
|
|
552
|
+
// No JS fingerprint overrides are needed — skip the entire injection pipeline.
|
|
553
|
+
//
|
|
554
|
+
// Exception: humanization scripts (mouse/keyboard/scroll) are behavioral,
|
|
555
|
+
// not fingerprinting — inject those if explicitly requested.
|
|
556
|
+
log.info('[AntiDetect] useNativeStealth=true: all JS fingerprint overrides skipped, C++ patches in effect');
|
|
557
|
+
const humanizationScripts = [];
|
|
558
|
+
if (options?.humanization?.mouse || options?.humanizeInteractions) {
|
|
559
|
+
humanizationScripts.push(createMouseMovementHumanizationScript());
|
|
560
|
+
}
|
|
561
|
+
if (options?.humanization?.keyboard) {
|
|
562
|
+
humanizationScripts.push(createKeyboardHumanizationScript());
|
|
563
|
+
}
|
|
564
|
+
if (options?.humanization?.scroll) {
|
|
565
|
+
humanizationScripts.push(createScrollHumanizationScript());
|
|
566
|
+
}
|
|
567
|
+
await Promise.all([
|
|
568
|
+
this.setViewport(options?.viewport, fingerprint),
|
|
569
|
+
this.setExtraHTTPHeaders(filteredHeaders),
|
|
570
|
+
userAgent ? this.setUserAgentWithMetadata(userAgent, options?.platform || 'Win32', undefined) : Promise.resolve(),
|
|
571
|
+
...(humanizationScripts.length > 0
|
|
572
|
+
? [(async () => {
|
|
573
|
+
await this.page.client.Page.addScriptToEvaluateOnNewDocument({
|
|
574
|
+
source: humanizationScripts.join('\n\n'),
|
|
575
|
+
});
|
|
576
|
+
})()]
|
|
577
|
+
: []),
|
|
578
|
+
]);
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
520
581
|
const scriptsToInject = [
|
|
521
582
|
createStealthUtilsScript(), // Must be first - provides guards and toString spoofing
|
|
522
583
|
createPrototypeIntegrityScript(), // Second - provides native-like property descriptor masking
|
|
523
584
|
];
|
|
524
|
-
if (shouldMaskAutomation) {
|
|
585
|
+
if (shouldMaskAutomation && !nativeStealth) {
|
|
586
|
+
// C++ patch 0005 strips CDP artifacts natively — skip JS bypass when native stealth active
|
|
525
587
|
scriptsToInject.push(createRuntimeEnableBypassScript()); // Protects against CDP detection via Error stack analysis
|
|
526
588
|
}
|
|
527
589
|
// CRITICAL: DataDome bypass must be injected early for stack trace sanitization
|
|
@@ -541,68 +603,83 @@ export class CdpFingerprintInjector {
|
|
|
541
603
|
// When useFingerprintDefaults is true (or undefined), use hardcoded defaults
|
|
542
604
|
// When useFingerprintDefaults is false, use the generated fingerprint data
|
|
543
605
|
const shouldUseFingerprintData = options?.useFingerprintDefaults === false;
|
|
544
|
-
const { webglConfig, platformConfig, uaClientHints } = shouldUseFingerprintData
|
|
606
|
+
const { webglConfig, platformConfig, uaClientHints: rawUaClientHints } = shouldUseFingerprintData
|
|
545
607
|
? this.extractFingerprintData(fingerprint)
|
|
546
608
|
: { webglConfig: undefined, platformConfig: undefined, uaClientHints: undefined };
|
|
609
|
+
// Align UA-CH brand/full-version fields with the actual running binary so the
|
|
610
|
+
// fingerprint profile version (132-135) doesn't contradict the real binary (147+).
|
|
611
|
+
const uaClientHints = rawUaClientHints && actualChromeVersion
|
|
612
|
+
? this.alignUAClientHintsVersion(rawUaClientHints, actualChromeVersion)
|
|
613
|
+
: rawUaClientHints;
|
|
547
614
|
// Add advanced features based on options
|
|
548
615
|
if (options?.enableAdvancedStealth !== false) {
|
|
549
|
-
// UA Client Hints spoofing
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
616
|
+
// UA Client Hints spoofing — skipped when C++ patch 0003 handles it natively
|
|
617
|
+
if (!nativeStealth) {
|
|
618
|
+
scriptsToInject.push(createUAClientHintsSpoofingScript(options?.platform, shouldUseFingerprintData ? uaClientHints : undefined));
|
|
619
|
+
}
|
|
620
|
+
// WebGL spoofing — skipped when C++ patch 0004 handles it natively
|
|
621
|
+
if (!nativeStealth && options?.spoofWebGL !== false) {
|
|
554
622
|
scriptsToInject.push(createWebGLSpoofingScript(shouldUseFingerprintData ? webglConfig : undefined));
|
|
555
623
|
}
|
|
556
|
-
// Audio fingerprint spoofing
|
|
557
|
-
if (options?.spoofAudioContext !== false) {
|
|
624
|
+
// Audio fingerprint spoofing — skipped when C++ patch 0010 handles it natively
|
|
625
|
+
if (!nativeStealth && options?.spoofAudioContext !== false) {
|
|
558
626
|
scriptsToInject.push(createAudioFingerprintSpoofingScript());
|
|
559
627
|
}
|
|
560
|
-
// Canvas protection
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
628
|
+
// Canvas protection — skipped when C++ patch 0009 handles it natively
|
|
629
|
+
if (!nativeStealth) {
|
|
630
|
+
scriptsToInject.push(createAdvancedCanvasProtectionScript());
|
|
631
|
+
}
|
|
632
|
+
// Client rect spoofing — skipped when C++ patch 0011 handles it natively
|
|
633
|
+
if (!nativeStealth && options?.spoofClientRects !== false) {
|
|
564
634
|
scriptsToInject.push(createClientRectSpoofingScript());
|
|
565
635
|
}
|
|
566
|
-
// Coalesced events spoofing (makes CDP mouse events look real)
|
|
636
|
+
// Coalesced events spoofing (makes CDP mouse events look real) — always keep
|
|
567
637
|
scriptsToInject.push(createCoalescedEventsSpoofingScript());
|
|
568
|
-
// Media codec spoofing
|
|
638
|
+
// Media codec spoofing — always keep (canPlayType behavioral)
|
|
569
639
|
scriptsToInject.push(createMediaCodecsSpoofingScript());
|
|
570
|
-
// WebRTC handling policy
|
|
640
|
+
// WebRTC handling policy — always keep (fake device IDs; C++ handles IP only)
|
|
571
641
|
if (options?.webRtcPolicy === 'disable') {
|
|
572
642
|
scriptsToInject.push(createWebRTCDisableScript());
|
|
573
643
|
}
|
|
574
644
|
else {
|
|
575
645
|
scriptsToInject.push(createWebRTCSpoofingScript());
|
|
576
646
|
}
|
|
577
|
-
// WebGPU spoofing
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
647
|
+
// WebGPU spoofing — skipped when C++ patch 0012 handles it natively
|
|
648
|
+
if (!nativeStealth) {
|
|
649
|
+
scriptsToInject.push(createWebGPUSpoofingScript(options?.useExperimentalFingerprints));
|
|
650
|
+
}
|
|
651
|
+
// Font spoofing — skipped when Cromite built-in allowlist handles it
|
|
652
|
+
if (!nativeStealth && options?.spoofFonts !== false) {
|
|
581
653
|
scriptsToInject.push(createFontSpoofingScript());
|
|
582
654
|
}
|
|
583
|
-
// Performance spoofing
|
|
584
|
-
if (options?.spoofPerformance !== false) {
|
|
655
|
+
// Performance spoofing — skipped when Cromite built-in perf.now clamping handles it
|
|
656
|
+
if (!nativeStealth && options?.spoofPerformance !== false) {
|
|
585
657
|
scriptsToInject.push(createPerformanceSpoofingScript());
|
|
586
658
|
}
|
|
587
|
-
// Locale spoofing (
|
|
659
|
+
// Locale spoofing — always keep (Intl.NumberFormat formatting part not in C++)
|
|
588
660
|
if (options?.spoofLocale !== false) {
|
|
589
661
|
scriptsToInject.push(createLocaleSpoofingScript());
|
|
590
662
|
}
|
|
591
|
-
//
|
|
592
|
-
|
|
593
|
-
if (options?.bypassCDPDetection !== false) {
|
|
663
|
+
// CDP Detection Bypass — skipped when C++ patches 0001+0005 handle it natively
|
|
664
|
+
if (!nativeStealth && options?.bypassCDPDetection !== false) {
|
|
594
665
|
scriptsToInject.push(createCDPDetectionBypassScript());
|
|
595
666
|
}
|
|
596
|
-
// Storage consistency
|
|
667
|
+
// Storage consistency — always keep (CDP-level quota spoofing)
|
|
597
668
|
if (options?.spoofStorage !== false) {
|
|
598
669
|
scriptsToInject.push(createStorageConsistencyScript());
|
|
599
670
|
}
|
|
600
|
-
// Timing consistency
|
|
671
|
+
// Timing consistency — always keep (Date.now alignment; C++ handles perf.now)
|
|
601
672
|
if (options?.spoofTiming !== false) {
|
|
602
673
|
scriptsToInject.push(createTimingConsistencyScript());
|
|
603
674
|
}
|
|
604
675
|
// DataDome-specific bypass - already injected early if enabled
|
|
605
676
|
// (see isDataDomeBypassEnabled check at the beginning of scriptsToInject)
|
|
677
|
+
// Mouse movement humanization (browser context) - disabled by default
|
|
678
|
+
// Bundled here so the bezier-curve utility counts as part of the single
|
|
679
|
+
// addScriptToEvaluateOnNewDocument call (multiple calls are detectable).
|
|
680
|
+
if (options?.humanization?.mouse || options?.humanizeInteractions) {
|
|
681
|
+
scriptsToInject.push(createMouseMovementHumanizationScript());
|
|
682
|
+
}
|
|
606
683
|
// Keyboard humanization (browser context) - disabled by default
|
|
607
684
|
if (options?.humanization?.keyboard) {
|
|
608
685
|
scriptsToInject.push(createKeyboardHumanizationScript());
|
|
@@ -612,9 +689,32 @@ export class CdpFingerprintInjector {
|
|
|
612
689
|
scriptsToInject.push(createScrollHumanizationScript());
|
|
613
690
|
}
|
|
614
691
|
}
|
|
615
|
-
// Apply platform consistency script
|
|
616
|
-
if (options?.platform) {
|
|
617
|
-
|
|
692
|
+
// Apply platform consistency script — skipped when C++ patches 0002+0006 handle it natively
|
|
693
|
+
if (!nativeStealth && options?.platform) {
|
|
694
|
+
// Build the config to pass: when using real fingerprint data, align its UA with
|
|
695
|
+
// the actual binary version; when using hardcoded defaults, inject a minimal
|
|
696
|
+
// version-aligned UA so we don't bake in the static Chrome/134.0.0.0 fallback.
|
|
697
|
+
let platformConfigForScript = shouldUseFingerprintData ? platformConfig : undefined;
|
|
698
|
+
if (platformConfigForScript?.userAgent && actualChromeVersion) {
|
|
699
|
+
// Align dynamic fingerprint UA with the actual running binary version.
|
|
700
|
+
platformConfigForScript = {
|
|
701
|
+
...platformConfigForScript,
|
|
702
|
+
userAgent: this.alignUserAgentWithBrowserVersion(platformConfigForScript.userAgent, actualChromeVersion),
|
|
703
|
+
appVersion: platformConfigForScript.appVersion
|
|
704
|
+
? this.alignUserAgentWithBrowserVersion(platformConfigForScript.appVersion, actualChromeVersion)
|
|
705
|
+
: platformConfigForScript.appVersion,
|
|
706
|
+
};
|
|
707
|
+
}
|
|
708
|
+
else if (!platformConfigForScript && actualChromeVersion && options.platform === 'Win32') {
|
|
709
|
+
// useFingerprintDefaults=true path: override only the UA/appVersion fields so the
|
|
710
|
+
// hardcoded Win32 defaults pick up the real Chrome version instead of Chrome/134.
|
|
711
|
+
const alignedUA = `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${actualChromeVersion} Safari/537.36`;
|
|
712
|
+
platformConfigForScript = {
|
|
713
|
+
userAgent: alignedUA,
|
|
714
|
+
appVersion: `5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${actualChromeVersion} Safari/537.36`,
|
|
715
|
+
};
|
|
716
|
+
}
|
|
717
|
+
scriptsToInject.push(createPlatformConsistencyScript(options.platform, platformConfigForScript));
|
|
618
718
|
}
|
|
619
719
|
// CRITICAL: Clean scripts to remove CDP detection patterns
|
|
620
720
|
const isDebug = options?.debug === true;
|
|
@@ -719,23 +819,14 @@ export class CdpFingerprintInjector {
|
|
|
719
819
|
log.error('✗ Failed to inject fingerprint scripts:', { error });
|
|
720
820
|
throw error; // Rethrow to make injection failures visible
|
|
721
821
|
}
|
|
722
|
-
//
|
|
723
|
-
//
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
await setupMouseMovementHumanization(this.page.client);
|
|
727
|
-
}
|
|
822
|
+
// NOTE: Mouse/keyboard/scroll humanization browser-context scripts are now
|
|
823
|
+
// bundled into the single addScriptToEvaluateOnNewDocument call above.
|
|
824
|
+
// Multiple addScriptToEvaluateOnNewDocument registrations are themselves
|
|
825
|
+
// a bot-detection signal — keep the count at 1.
|
|
728
826
|
// NOTE: setupRuntimeEnableBypass REMOVED - it uses Runtime.evaluate which is itself a detection vector!
|
|
729
827
|
// The bypass script is now included in the bundled stealth scripts injected via addScriptToEvaluateOnNewDocument
|
|
730
828
|
// 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
|
-
}
|
|
829
|
+
const enableMouseHumanization = options?.humanization?.mouse || options?.humanizeInteractions;
|
|
739
830
|
// Debug and viewport debug scripts are now bundled into the main injection above
|
|
740
831
|
log.info('Enhanced fingerprint attached with settings:', {
|
|
741
832
|
proxy: options?.proxyUrl,
|
|
@@ -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,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,mCAAmC,EACnC,+BAA+B,GAIlC,MAAM,kCAAkC,CAAC;AA2G1C,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,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,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,wFAAwF;QACxF,MAAM,aAAa,GAAG,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;QACzD,IAAI,aAAa,EAAE,CAAC;YAChB,0EAA0E;YAC1E,gFAAgF;YAChF,qEAAqE;YACrE,4DAA4D;YAC5D,+EAA+E;YAC/E,EAAE;YACF,0EAA0E;YAC1E,6DAA6D;YAC7D,GAAG,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;YAC5G,MAAM,mBAAmB,GAAa,EAAE,CAAC;YACzC,IAAI,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;gBAChE,mBAAmB,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;gBAClC,mBAAmB,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;gBAChC,mBAAmB,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAChD,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;gBACzC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;gBACjH,GAAG,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;oBAC9B,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;4BACX,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC;gCACzD,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;6BAC3C,CAAC,CAAC;wBACP,CAAC,CAAC,EAAE,CAAC;oBACL,CAAC,CAAC,EAAE,CAAC;aACZ,CAAC,CAAC;YACH,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,6EAA6E;YAC7E,eAAe,CAAC,IAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC;YAE5D,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,+EAA+E;YAC/E,IAAI,OAAO,EAAE,WAAW,KAAK,KAAK,EAAE,CAAC;gBACjC,eAAe,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;YACvD,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,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,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"}
|