@proxyshard/shardx 2.0.3 → 2.1.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 +3 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +6 -1
- package/dist/browser.js.map +1 -1
- package/dist/motion.d.ts +3 -3
- package/dist/motion.d.ts.map +1 -1
- package/dist/motion.js +3 -3
- package/dist/motion.js.map +1 -1
- package/dist/runtime.d.ts +76 -2
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +714 -26
- package/dist/runtime.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -161,7 +161,9 @@ page — and it does not appear in `/json/protocol`, so a page cannot discover i
|
|
|
161
161
|
import { ShardX, Motion } from "@proxyshard/shardx";
|
|
162
162
|
|
|
163
163
|
const { browser, session } = await sdk.session(profile);
|
|
164
|
-
const
|
|
164
|
+
const page = await browser.newPage();
|
|
165
|
+
// Motion acts on a page's widget, so it attaches to a page.
|
|
166
|
+
const motion = await Motion.attach(page);
|
|
165
167
|
|
|
166
168
|
// desktop profile
|
|
167
169
|
await motion.createPointer(20, 20);
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAUA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,OAAO,EAAmC,MAAM,cAAc,CAAC;AAExE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7F,MAAM,MAAM,UAAU,GAAK,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AACzD,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAK,cAAc,CAAC;AAqC1C,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IAIvB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC9B,QAAQ,CAAC,OAAO,EAAE,YAAY;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAV9B,OAAO,CAAC,QAAQ,CAAS;gBAGd,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,YAAY,EACrB,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,WAAW,GAAE,OAAe,EAC5B,UAAU,GAAE,UAAmB,EAC/B,GAAG,GAAE,OAAO,GAAG,IAAW;IAG/B,IAAI,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAa5C;AAED,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAEvC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAUA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,OAAO,EAAmC,MAAM,cAAc,CAAC;AAExE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAA6C,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7F,MAAM,MAAM,UAAU,GAAK,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AACzD,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAK,cAAc,CAAC;AAqC1C,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IAIvB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC9B,QAAQ,CAAC,OAAO,EAAE,YAAY;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU;IAC/B,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAV9B,OAAO,CAAC,QAAQ,CAAS;gBAGd,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,YAAY,EACrB,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,WAAW,GAAE,OAAe,EAC5B,UAAU,GAAE,UAAmB,EAC/B,GAAG,GAAE,OAAO,GAAG,IAAW;IAG/B,IAAI,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAa5C;AAED,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAEvC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;CAsGlF"}
|
package/dist/browser.js
CHANGED
|
@@ -172,7 +172,12 @@ export class Browser {
|
|
|
172
172
|
if (opts.cdp) {
|
|
173
173
|
if (existsSync(cdpMarker))
|
|
174
174
|
rmSync(cdpMarker, { force: true });
|
|
175
|
-
|
|
175
|
+
// Gates the Motion domain, which every synthesised click and keystroke
|
|
176
|
+
// goes through. Without it `Motion.createPointer` comes back as "wasn't
|
|
177
|
+
// found": the domain is absent from Schema.getDomains and
|
|
178
|
+
// /json/protocol rather than merely disabled, which is what keeps it
|
|
179
|
+
// free when nobody uses it. The launcher passes the same flag.
|
|
180
|
+
argv.push("--remote-debugging-port=0", "--remote-allow-origins=*", "--shardx-automation");
|
|
176
181
|
}
|
|
177
182
|
if (opts.headless)
|
|
178
183
|
argv.push("--headless=new");
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/motion.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Page } from "patchright";
|
|
2
2
|
export type MouseButton = "left" | "middle" | "right";
|
|
3
3
|
/** 0, 90, 180 or 270, clockwise from the orientation the profile was written in. */
|
|
4
4
|
export type ScreenAngle = 0 | 90 | 180 | 270;
|
|
@@ -12,8 +12,8 @@ export interface OrientationResult {
|
|
|
12
12
|
export declare class Motion {
|
|
13
13
|
private readonly session;
|
|
14
14
|
private constructor();
|
|
15
|
-
/** Open a
|
|
16
|
-
static attach(
|
|
15
|
+
/** Open a CDP session on `page` for the domain. */
|
|
16
|
+
static attach(page: Page): Promise<Motion>;
|
|
17
17
|
private call;
|
|
18
18
|
/** Where the cursor starts. Not a movement — call it before anything else,
|
|
19
19
|
* since a guessed origin produces the wrong duration and curve. */
|
package/dist/motion.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../src/motion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../src/motion.ts"],"names":[],"mappings":"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"}
|
package/dist/motion.js
CHANGED
|
@@ -3,9 +3,9 @@ export class Motion {
|
|
|
3
3
|
constructor(session) {
|
|
4
4
|
this.session = session;
|
|
5
5
|
}
|
|
6
|
-
/** Open a
|
|
7
|
-
static async attach(
|
|
8
|
-
return new Motion(await
|
|
6
|
+
/** Open a CDP session on `page` for the domain. */
|
|
7
|
+
static async attach(page) {
|
|
8
|
+
return new Motion(await page.context().newCDPSession(page));
|
|
9
9
|
}
|
|
10
10
|
async call(method, params = {}) {
|
|
11
11
|
return (await this.session.send(method, params));
|
package/dist/motion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion.js","sourceRoot":"","sources":["../src/motion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"motion.js","sourceRoot":"","sources":["../src/motion.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const PUB_BASE = "https://pub-e57a7c60f6934eb09a6600bf2fc59cdc.r2.dev";
|
|
2
|
-
export declare const CHROMIUM_VERSION = "
|
|
2
|
+
export declare const CHROMIUM_VERSION = "156.0.8078.48";
|
|
3
3
|
/** This SDK's own version, compared against the manifest's `min_sdk_version`. */
|
|
4
|
-
export declare const SDK_VERSION = "2.
|
|
4
|
+
export declare const SDK_VERSION = "2.1.1";
|
|
5
5
|
export declare const MANIFEST_URL = "https://raw.githubusercontent.com/ProxyShard/ShardBrowser/main/runtime.json";
|
|
6
6
|
export declare function defaultCacheDir(): string;
|
|
7
7
|
export interface Archive {
|
|
@@ -80,12 +80,86 @@ export declare class Runtime {
|
|
|
80
80
|
install(opts?: {
|
|
81
81
|
force?: boolean;
|
|
82
82
|
}): Promise<void>;
|
|
83
|
+
/** Another process may have swapped the engine since this one checked: the
|
|
84
|
+
* version profiles claim follows the engine on disk, from its record. */
|
|
85
|
+
private adoptInstalled;
|
|
86
|
+
private installLocked;
|
|
83
87
|
/** Fetch the version manifest (GitHub raw) — one request that yields every
|
|
84
88
|
* archive's current etag + the chromium version, replacing per-archive HEADs
|
|
85
89
|
* against R2/S3. Empty archives / undefined version when unreachable. */
|
|
86
90
|
private fetchManifest;
|
|
91
|
+
/** Downloads `arch` beside `dest` and returns where it landed, with its etag.
|
|
92
|
+
* `unpacks`: refused before a byte is written when the disk cannot also
|
|
93
|
+
* hold it unpacked beside what is installed. */
|
|
94
|
+
private download;
|
|
95
|
+
/** Unpacks an archive `download` left behind, and removes it. */
|
|
96
|
+
private extractArchive;
|
|
97
|
+
/** Brings the engine to the archive the manifest offers (`wanted`: its etag,
|
|
98
|
+
* when known). A checked tree an earlier run staged is used as it is; else
|
|
99
|
+
* the archive is downloaded and staged. Returns the etag that went in. */
|
|
100
|
+
private installEngine;
|
|
101
|
+
/** Unpacks the engine archive at `tmp` into the staging folder beside the
|
|
102
|
+
* live engine and checks every file the archive lists. Nothing installed is
|
|
103
|
+
* touched: the tree waits there, noted, until `swapStaged` moves it in. The
|
|
104
|
+
* archive is removed either way. */
|
|
105
|
+
stageEngine(tmp: string, etag: string): void;
|
|
106
|
+
/** Swaps the staged tree in. Refused while processes run from the engine;
|
|
107
|
+
* every refusal keeps the staged tree for the next run. */
|
|
108
|
+
swapStaged(lock?: InstallLock): void;
|
|
109
|
+
/** Downloads and unpacks in one step, for everything that has nothing to lose. */
|
|
87
110
|
private downloadAndExtract;
|
|
88
111
|
private placeWidevine;
|
|
89
112
|
private installFingerprints;
|
|
90
113
|
}
|
|
114
|
+
/** What the install asks the OS; tests swap in their own. */
|
|
115
|
+
export declare const engineHooks: {
|
|
116
|
+
freeBytes: typeof freeBytes;
|
|
117
|
+
processesUnder: typeof processesUnder;
|
|
118
|
+
};
|
|
119
|
+
/** The file operations an engine swap makes; tests hand in failing ones.
|
|
120
|
+
* `tries`: how often a rename Windows refuses for a moment is tried. */
|
|
121
|
+
export interface SwapFs {
|
|
122
|
+
rename(from: string, to: string): void;
|
|
123
|
+
rm(path: string): void;
|
|
124
|
+
tries?: number;
|
|
125
|
+
}
|
|
126
|
+
/** Files and links under `dir`, links not followed. */
|
|
127
|
+
export declare function countFiles(dir: string): number;
|
|
128
|
+
/** Puts `<root>/.<top>.previous` back when a run died between the two renames
|
|
129
|
+
* of an update (or could not undo the first) — only as its journal left it,
|
|
130
|
+
* and only whole. Any other copy is a leftover and goes: one a cleanup left
|
|
131
|
+
* half removed never stands in for a missing engine. True when put back. */
|
|
132
|
+
export declare function recoverEngine(root: string, top: string, fs?: SwapFs): boolean;
|
|
133
|
+
/** Swaps the complete tree at `staged` in for `<root>/<top>`: live → previous,
|
|
134
|
+
* staged → live, the first undone if the second fails. Any failure leaves the
|
|
135
|
+
* engine that was there (or `.previous` with its journal, put back by the
|
|
136
|
+
* next install()). */
|
|
137
|
+
export declare function swapEngineTree(root: string, top: string, staged: string, fs?: SwapFs): void;
|
|
138
|
+
/** Bytes the current user may still write on the disk holding `dir`. */
|
|
139
|
+
export declare function freeBytes(dir: string): number | undefined;
|
|
140
|
+
/** How many processes run from `dir`. On macOS and Linux a swap would pull
|
|
141
|
+
* the files from under them; Windows refuses the rename itself. */
|
|
142
|
+
export declare function processesUnder(dir: string): number;
|
|
143
|
+
/** One install at a time over a cache dir, across processes and the three
|
|
144
|
+
* SDKs (same file, same rules). A holder that died is taken over. */
|
|
145
|
+
export declare class InstallLock {
|
|
146
|
+
readonly path: string;
|
|
147
|
+
readonly token: string;
|
|
148
|
+
private constructor();
|
|
149
|
+
static acquire(root: string, opts?: {
|
|
150
|
+
pollMs?: number;
|
|
151
|
+
}): Promise<InstallLock>;
|
|
152
|
+
/** Still ours: nobody took it over as stale. */
|
|
153
|
+
held(): boolean;
|
|
154
|
+
release(): void;
|
|
155
|
+
}
|
|
156
|
+
export declare function pidAlive(pid: unknown): boolean;
|
|
157
|
+
interface ZipListing {
|
|
158
|
+
names: string[];
|
|
159
|
+
unpacked: number;
|
|
160
|
+
}
|
|
161
|
+
/** The archive's own table of contents, read from its end without loading the
|
|
162
|
+
* rest: entry names and the bytes they unpack to. Throws when there is none. */
|
|
163
|
+
export declare function zipListing(path: string): ZipListing;
|
|
164
|
+
export {};
|
|
91
165
|
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -2,17 +2,19 @@
|
|
|
2
2
|
// library from the ProxyShard CDN, extract into a per-user cache dir,
|
|
3
3
|
// place Widevine inside the engine bundle, remember etags so subsequent
|
|
4
4
|
// runs are zero-network. Mirrors src-tauri/src/runtime.rs in the launcher.
|
|
5
|
-
import { closeSync, createWriteStream, existsSync, mkdirSync, openSync, readdirSync, readFileSync, readSync, renameSync, rmSync, writeFileSync, chmodSync, copyFileSync, lstatSync } from "node:fs";
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
5
|
+
import { closeSync, createWriteStream, existsSync, fstatSync, fsyncSync, linkSync, mkdirSync, openSync, readdirSync, readFileSync, readlinkSync, readSync, realpathSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync, writeSync, chmodSync, copyFileSync, lstatSync } from "node:fs";
|
|
6
|
+
import * as nodeFs from "node:fs";
|
|
7
|
+
import { homedir, hostname, platform as osPlatform, arch as osArch } from "node:os";
|
|
8
|
+
import { join, dirname, resolve, sep } from "node:path";
|
|
8
9
|
import { pipeline } from "node:stream/promises";
|
|
9
10
|
import { Readable } from "node:stream";
|
|
10
11
|
import { spawnSync } from "node:child_process";
|
|
12
|
+
import { randomBytes } from "node:crypto";
|
|
11
13
|
import AdmZip from "adm-zip";
|
|
12
14
|
export const PUB_BASE = "https://pub-e57a7c60f6934eb09a6600bf2fc59cdc.r2.dev";
|
|
13
|
-
export const CHROMIUM_VERSION = "
|
|
15
|
+
export const CHROMIUM_VERSION = "156.0.8078.48";
|
|
14
16
|
/** This SDK's own version, compared against the manifest's `min_sdk_version`. */
|
|
15
|
-
export const SDK_VERSION = "2.
|
|
17
|
+
export const SDK_VERSION = "2.1.1";
|
|
16
18
|
// Version manifest (GitHub raw) — one tiny GET yields every archive's current
|
|
17
19
|
// etag, so we never poll R2/S3 (no per-archive HEAD). Changed archives are then
|
|
18
20
|
// pulled from PUB_BASE.
|
|
@@ -188,25 +190,80 @@ export class Runtime {
|
|
|
188
190
|
}
|
|
189
191
|
}
|
|
190
192
|
saveManifest(m) {
|
|
191
|
-
|
|
193
|
+
// Whole or not at all: other processes read it (adoptInstalled).
|
|
194
|
+
const tmp = `${this.manifestPath}.tmp`;
|
|
195
|
+
writeFileSync(tmp, JSON.stringify(m, null, 2));
|
|
196
|
+
renameSync(tmp, this.manifestPath);
|
|
192
197
|
}
|
|
193
198
|
// ---- install ----
|
|
194
199
|
async install(opts = {}) {
|
|
195
200
|
const force = !!opts.force;
|
|
196
|
-
if (this._checkedInProcess && !force)
|
|
201
|
+
if (this._checkedInProcess && !force) {
|
|
202
|
+
this.adoptInstalled();
|
|
197
203
|
return;
|
|
204
|
+
}
|
|
205
|
+
// One install at a time over this cache, across processes and the SDKs.
|
|
206
|
+
const lock = await InstallLock.acquire(this.root);
|
|
207
|
+
try {
|
|
208
|
+
// Another call of this process did it while this one waited.
|
|
209
|
+
if (this._checkedInProcess && !force) {
|
|
210
|
+
this.adoptInstalled();
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
await this.installLocked(force, lock);
|
|
214
|
+
}
|
|
215
|
+
finally {
|
|
216
|
+
lock.release();
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/** Another process may have swapped the engine since this one checked: the
|
|
220
|
+
* version profiles claim follows the engine on disk, from its record. */
|
|
221
|
+
adoptInstalled() {
|
|
222
|
+
const local = this.loadManifest();
|
|
223
|
+
const v = local.installed_chromium_version;
|
|
224
|
+
if (!v || v === this._chromiumVersion)
|
|
225
|
+
return;
|
|
226
|
+
this._chromiumVersion = v;
|
|
227
|
+
this._greaseBrand = local.installed_grease_brand;
|
|
228
|
+
this._greaseVersion = local.installed_grease_version;
|
|
229
|
+
this._tls = local.installed_tls;
|
|
230
|
+
}
|
|
231
|
+
async installLocked(force, lock) {
|
|
232
|
+
const top = this.spec.binarySubpath[0];
|
|
233
|
+
// A run that died between the two renames of an update left the engine
|
|
234
|
+
// as `.previous`: put back before anything asks whether it is installed.
|
|
235
|
+
recoverEngine(this.root, top);
|
|
236
|
+
sweepLeftovers(this.root, top, this.spec.browser.key, this.spec.binarySubpath);
|
|
198
237
|
const local = this.loadManifest();
|
|
199
238
|
const remote = await this.fetchManifest();
|
|
200
|
-
//
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
if (remote.minSdkVersion && Runtime.versionLt(SDK_VERSION, remote.minSdkVersion)) {
|
|
239
|
+
// An engine this SDK is too old to drive is not installed, but the one
|
|
240
|
+
// already on disk keeps running. Refusing outright stopped every run on an
|
|
241
|
+
// engine that worked yesterday, for an update nobody had asked for. With
|
|
242
|
+
// nothing installed, or a reinstall asked for, there is nothing to keep.
|
|
243
|
+
const tooOld = !!remote.minSdkVersion && Runtime.versionLt(SDK_VERSION, remote.minSdkVersion);
|
|
244
|
+
if (tooOld && (force || !this.installed)) {
|
|
207
245
|
throw new Error(`this engine build needs @proxyshard/shardx ${remote.minSdkVersion} or newer — `
|
|
208
246
|
+ `you are on ${SDK_VERSION}; upgrade the SDK first`);
|
|
209
247
|
}
|
|
248
|
+
// Remember the engine version + grease so launch can normalise profiles.
|
|
249
|
+
// Without the manifest, what is ALREADY installed — not the version this
|
|
250
|
+
// SDK was published with. Falling back to the constant made an offline
|
|
251
|
+
// run record 152 over an engine that is 156, and profiles then declared
|
|
252
|
+
// a version the engine does not have. Skipping an update, the manifest
|
|
253
|
+
// describes an engine that is not the one on disk, so it is not read.
|
|
254
|
+
const offered = tooOld ? undefined : remote;
|
|
255
|
+
this._chromiumVersion =
|
|
256
|
+
offered?.chromiumVersion ?? this.effectiveInstalledVersion(local) ?? CHROMIUM_VERSION;
|
|
257
|
+
this._greaseBrand = offered?.greaseBrand ?? local.installed_grease_brand;
|
|
258
|
+
this._greaseVersion = offered?.greaseVersion ?? local.installed_grease_version;
|
|
259
|
+
this._tls = offered?.tls ?? local.installed_tls;
|
|
260
|
+
if (tooOld) {
|
|
261
|
+
console.warn(`[shardx] engine ${remote.chromiumVersion ?? "update"} needs @proxyshard/shardx `
|
|
262
|
+
+ `${remote.minSdkVersion} or newer (this is ${SDK_VERSION}); staying on the installed `
|
|
263
|
+
+ `engine ${this._chromiumVersion}. Upgrade the SDK to get it.`);
|
|
264
|
+
this._checkedInProcess = true;
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
210
267
|
// Unknown is never a mismatch, so adopt a stamp once or the first bump
|
|
211
268
|
// never lands.
|
|
212
269
|
if (this.installed && remote.engineBuild && !this.installedEngineBuild(local)) {
|
|
@@ -214,18 +271,55 @@ export class Runtime {
|
|
|
214
271
|
}
|
|
215
272
|
// Manifest unreachable → don't force a re-download.
|
|
216
273
|
const needBrowser = force || !this.installed || this.engineOutdated(local, remote);
|
|
274
|
+
let swapped = false;
|
|
217
275
|
if (needBrowser) {
|
|
218
|
-
//
|
|
219
|
-
//
|
|
220
|
-
//
|
|
221
|
-
|
|
222
|
-
|
|
276
|
+
// Nothing installed is touched until a complete new tree is unpacked
|
|
277
|
+
// beside it (see installEngine). The old tree still has to go whole — a
|
|
278
|
+
// leftover `<old>.manifest` or a stale lib beside the new ones pinned the
|
|
279
|
+
// detected version and the SDK re-downloaded for ever — but a download or
|
|
280
|
+
// an archive that fails must never be what removes it: that left the
|
|
281
|
+
// machine with no engine and nothing to fall back to.
|
|
282
|
+
try {
|
|
283
|
+
local.browser_etag = await this.installEngine(remote.archives[this.spec.browser.key], force, lock);
|
|
284
|
+
swapped = true;
|
|
285
|
+
}
|
|
286
|
+
catch (e) {
|
|
287
|
+
// With nothing installed, or a reinstall asked for, there is nothing to stay on.
|
|
288
|
+
if (force || !this.installed)
|
|
289
|
+
throw e;
|
|
290
|
+
// The engine on disk works: stay on it, as for an update this SDK is too old for.
|
|
291
|
+
this._chromiumVersion = this.effectiveInstalledVersion(local) ?? CHROMIUM_VERSION;
|
|
292
|
+
this._greaseBrand = local.installed_grease_brand;
|
|
293
|
+
this._greaseVersion = local.installed_grease_version;
|
|
294
|
+
this._tls = local.installed_tls;
|
|
295
|
+
console.warn(`[shardx] the engine update was not installed: ${e.message}. Staying on the `
|
|
296
|
+
+ `installed engine ${this._chromiumVersion}; the update is tried again on the next run.`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
if (swapped) {
|
|
223
300
|
if (remote.engineBuild)
|
|
224
301
|
local.installed_engine_build = remote.engineBuild;
|
|
302
|
+
// Saved at once: the engine on disk is the new one, whatever fails next.
|
|
303
|
+
// The new tree has no CDM yet, so the old one's etag must not say it has.
|
|
304
|
+
local.installed_chromium_version = this._chromiumVersion;
|
|
305
|
+
if (remote.greaseBrand)
|
|
306
|
+
local.installed_grease_brand = remote.greaseBrand;
|
|
307
|
+
if (remote.greaseVersion)
|
|
308
|
+
local.installed_grease_version = remote.greaseVersion;
|
|
309
|
+
if (remote.tls)
|
|
310
|
+
local.installed_tls = remote.tls;
|
|
311
|
+
delete local.widevine_etag;
|
|
312
|
+
this.saveManifest(local);
|
|
225
313
|
}
|
|
226
|
-
if (this.spec.widevine && (
|
|
227
|
-
|
|
228
|
-
|
|
314
|
+
if (this.spec.widevine && (swapped || !local.widevine_etag)) {
|
|
315
|
+
// The CDM is no reason to fail a run whose engine is in: tried again next time.
|
|
316
|
+
try {
|
|
317
|
+
local.widevine_etag = await this.downloadAndExtract(this.spec.widevine, this.root);
|
|
318
|
+
this.placeWidevine();
|
|
319
|
+
}
|
|
320
|
+
catch (e) {
|
|
321
|
+
console.warn(`[shardx] Widevine CDM not installed (${e.message}); tried again on the next run.`);
|
|
322
|
+
}
|
|
229
323
|
}
|
|
230
324
|
const remoteFp = remote.archives[FINGERPRINTS_ARCHIVE.key];
|
|
231
325
|
const fpDirHasJson = readdirSync(this.fingerprintsDir).some((f) => f.endsWith(".json"));
|
|
@@ -234,9 +328,18 @@ export class Runtime {
|
|
|
234
328
|
if (remoteFp !== undefined)
|
|
235
329
|
local.fingerprints_etag = remoteFp;
|
|
236
330
|
}
|
|
237
|
-
// Authoritative:
|
|
238
|
-
//
|
|
331
|
+
// Authoritative: the tree was replaced whole with exactly this version.
|
|
332
|
+
// Recording the known value beats re-reading it off disk. What the
|
|
333
|
+
// manifest says describes the engine on disk only when that is current.
|
|
239
334
|
local.installed_chromium_version = this._chromiumVersion;
|
|
335
|
+
if (!needBrowser || swapped) {
|
|
336
|
+
if (remote.greaseBrand)
|
|
337
|
+
local.installed_grease_brand = remote.greaseBrand;
|
|
338
|
+
if (remote.greaseVersion)
|
|
339
|
+
local.installed_grease_version = remote.greaseVersion;
|
|
340
|
+
if (remote.tls)
|
|
341
|
+
local.installed_tls = remote.tls;
|
|
342
|
+
}
|
|
240
343
|
this.saveManifest(local);
|
|
241
344
|
// Linux/mac archives produced on Windows lose every Unix exec bit;
|
|
242
345
|
// restore +x on every ELF/Mach-O file under the engine tree (not
|
|
@@ -277,7 +380,10 @@ export class Runtime {
|
|
|
277
380
|
return { archives: {} };
|
|
278
381
|
}
|
|
279
382
|
}
|
|
280
|
-
|
|
383
|
+
/** Downloads `arch` beside `dest` and returns where it landed, with its etag.
|
|
384
|
+
* `unpacks`: refused before a byte is written when the disk cannot also
|
|
385
|
+
* hold it unpacked beside what is installed. */
|
|
386
|
+
async download(arch, dest, unpacks = false) {
|
|
281
387
|
const url = `${PUB_BASE}/${arch.key}`;
|
|
282
388
|
mkdirSync(dest, { recursive: true });
|
|
283
389
|
const tmp = join(dest, `.${arch.key}.tmp`);
|
|
@@ -286,6 +392,15 @@ export class Runtime {
|
|
|
286
392
|
throw new Error(`download ${arch.key}: HTTP ${r.status}`);
|
|
287
393
|
const etag = r.headers.get("etag")?.replace(/^"|"$/g, "") ?? "";
|
|
288
394
|
const total = Number(r.headers.get("content-length") ?? 0);
|
|
395
|
+
if (unpacks && total > 0) {
|
|
396
|
+
try {
|
|
397
|
+
assertRoom(dest, total * (1 + UNPACK_GUESS) + SPACE_MARGIN);
|
|
398
|
+
}
|
|
399
|
+
catch (e) {
|
|
400
|
+
await r.body.cancel().catch(() => { });
|
|
401
|
+
throw e;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
289
404
|
let received = 0;
|
|
290
405
|
const reader = r.body.getReader();
|
|
291
406
|
const out = createWriteStream(tmp);
|
|
@@ -306,6 +421,16 @@ export class Runtime {
|
|
|
306
421
|
stream.on("data", () => this.progress(arch.label, received, total));
|
|
307
422
|
}
|
|
308
423
|
await pipeline(stream, out);
|
|
424
|
+
// A connection cut mid-body still leaves us with a 200 and a short file;
|
|
425
|
+
// the length the server promised is the only thing that says so.
|
|
426
|
+
if (total > 0 && received < total) {
|
|
427
|
+
rmQuiet(tmp);
|
|
428
|
+
throw new Error(`download ${arch.key}: got ${received} of ${total} bytes`);
|
|
429
|
+
}
|
|
430
|
+
return { tmp, etag };
|
|
431
|
+
}
|
|
432
|
+
/** Unpacks an archive `download` left behind, and removes it. */
|
|
433
|
+
extractArchive(tmp, dest) {
|
|
309
434
|
// Extract. IMPORTANT: on macOS/Linux shell out to the system
|
|
310
435
|
// `unzip` instead of adm-zip — adm-zip writes symlinks as ordinary
|
|
311
436
|
// text files (every `Versions/Current/...` link in a `.app`
|
|
@@ -319,6 +444,106 @@ export class Runtime {
|
|
|
319
444
|
systemUnzip(tmp, dest);
|
|
320
445
|
}
|
|
321
446
|
rmSync(tmp, { force: true });
|
|
447
|
+
}
|
|
448
|
+
/** Brings the engine to the archive the manifest offers (`wanted`: its etag,
|
|
449
|
+
* when known). A checked tree an earlier run staged is used as it is; else
|
|
450
|
+
* the archive is downloaded and staged. Returns the etag that went in. */
|
|
451
|
+
async installEngine(wanted, force, lock) {
|
|
452
|
+
const top = this.spec.binarySubpath[0];
|
|
453
|
+
const { staging } = enginePaths(this.root, top);
|
|
454
|
+
const kept = readStaged(staging, top, this.spec.binarySubpath);
|
|
455
|
+
let etag;
|
|
456
|
+
if (kept && !force && (wanted === undefined || kept.etag === wanted)) {
|
|
457
|
+
etag = kept.etag;
|
|
458
|
+
}
|
|
459
|
+
else {
|
|
460
|
+
// An outdated tree goes before the download: its room counts.
|
|
461
|
+
rmSync(staging, { recursive: true, force: true });
|
|
462
|
+
const dl = await this.download(this.spec.browser, this.root, true);
|
|
463
|
+
this.stageEngine(dl.tmp, dl.etag);
|
|
464
|
+
etag = dl.etag;
|
|
465
|
+
}
|
|
466
|
+
this.swapStaged(lock);
|
|
467
|
+
return etag;
|
|
468
|
+
}
|
|
469
|
+
/** Unpacks the engine archive at `tmp` into the staging folder beside the
|
|
470
|
+
* live engine and checks every file the archive lists. Nothing installed is
|
|
471
|
+
* touched: the tree waits there, noted, until `swapStaged` moves it in. The
|
|
472
|
+
* archive is removed either way. */
|
|
473
|
+
stageEngine(tmp, etag) {
|
|
474
|
+
const top = this.spec.binarySubpath[0];
|
|
475
|
+
const { staging } = enginePaths(this.root, top);
|
|
476
|
+
const key = this.spec.browser.key;
|
|
477
|
+
const entry = this.spec.binarySubpath.join("/");
|
|
478
|
+
// Zips produced on Windows store backslashes; compare on one spelling.
|
|
479
|
+
const norm = (p) => p.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
480
|
+
try {
|
|
481
|
+
// The table of contents sits at the end of the file: exactly what a
|
|
482
|
+
// download cut short is missing.
|
|
483
|
+
let listing;
|
|
484
|
+
try {
|
|
485
|
+
listing = zipListing(tmp);
|
|
486
|
+
}
|
|
487
|
+
catch (e) {
|
|
488
|
+
throw new Error(`download ${key}: not a readable zip (${e.message}) — not touching the installed engine`);
|
|
489
|
+
}
|
|
490
|
+
const names = listing.names.map(norm);
|
|
491
|
+
if (!names.includes(entry)) {
|
|
492
|
+
throw new Error(`download ${key}: no ${entry} inside — not touching the installed engine`);
|
|
493
|
+
}
|
|
494
|
+
// A dirty staging dir would mix an old engine into the new one; one we
|
|
495
|
+
// cannot clear stops the install while the engine still works.
|
|
496
|
+
rmSync(staging, { recursive: true, force: true });
|
|
497
|
+
assertRoom(this.root, listing.unpacked + SPACE_MARGIN);
|
|
498
|
+
try {
|
|
499
|
+
this.extractArchive(tmp, staging);
|
|
500
|
+
const gone = names.find((n) => n.startsWith(`${top}/`) && !n.endsWith("/") && !lexists(join(staging, n)));
|
|
501
|
+
if (gone)
|
|
502
|
+
throw new Error(`download ${key}: unpacked without ${gone} — an antivirus may have removed it`);
|
|
503
|
+
if (osPlatform() !== "win32")
|
|
504
|
+
fixUnixExecBits(join(staging, top));
|
|
505
|
+
writeFileSync(join(staging, STAGED_NOTE), JSON.stringify({ etag, files: countFiles(join(staging, top)) }));
|
|
506
|
+
}
|
|
507
|
+
catch (e) {
|
|
508
|
+
rmQuiet(staging);
|
|
509
|
+
throw e;
|
|
510
|
+
}
|
|
511
|
+
// Whatever else the archive carries (`__MACOSX` and such) replaces its
|
|
512
|
+
// namesake in the cache root, as extracting over the root used to do.
|
|
513
|
+
for (const name of readdirSync(staging)) {
|
|
514
|
+
if (name === top || name === STAGED_NOTE)
|
|
515
|
+
continue;
|
|
516
|
+
rmSync(join(this.root, name), { recursive: true, force: true });
|
|
517
|
+
renameSync(join(staging, name), join(this.root, name));
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
finally {
|
|
521
|
+
rmQuiet(tmp);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
/** Swaps the staged tree in. Refused while processes run from the engine;
|
|
525
|
+
* every refusal keeps the staged tree for the next run. */
|
|
526
|
+
swapStaged(lock) {
|
|
527
|
+
const top = this.spec.binarySubpath[0];
|
|
528
|
+
const { staging, target } = enginePaths(this.root, top);
|
|
529
|
+
if (!readStaged(staging, top, this.spec.binarySubpath)) {
|
|
530
|
+
rmQuiet(staging);
|
|
531
|
+
throw new Error("the unpacked engine update is no longer complete (an antivirus may have removed a file); it is downloaded again on the next run");
|
|
532
|
+
}
|
|
533
|
+
if (lock && !lock.held())
|
|
534
|
+
throw new Error("another process took the engine install over");
|
|
535
|
+
const busy = engineHooks.processesUnder(target);
|
|
536
|
+
if (busy > 0) {
|
|
537
|
+
throw new Error(`${busy} process${busy === 1 ? " is" : "es are"} still running from ${target}; the update is kept `
|
|
538
|
+
+ "and goes in once the browsers started from it are closed");
|
|
539
|
+
}
|
|
540
|
+
swapEngineTree(this.root, top, join(staging, top));
|
|
541
|
+
rmQuiet(staging);
|
|
542
|
+
}
|
|
543
|
+
/** Downloads and unpacks in one step, for everything that has nothing to lose. */
|
|
544
|
+
async downloadAndExtract(arch, dest) {
|
|
545
|
+
const { tmp, etag } = await this.download(arch, dest);
|
|
546
|
+
this.extractArchive(tmp, dest);
|
|
322
547
|
return etag;
|
|
323
548
|
}
|
|
324
549
|
placeWidevine() {
|
|
@@ -328,7 +553,11 @@ export class Runtime {
|
|
|
328
553
|
const src = join(this.root, wrapper, "WidevineCdm");
|
|
329
554
|
if (!existsSync(src))
|
|
330
555
|
return;
|
|
331
|
-
|
|
556
|
+
// On macOS the CDM sits inside the framework's versioned folder. That is
|
|
557
|
+
// the version of the engine on disk, not the one this SDK was published
|
|
558
|
+
// with: the constant put it in a folder the engine never reads.
|
|
559
|
+
const onDisk = this.installedEngineVersion() ?? CHROMIUM_VERSION;
|
|
560
|
+
const dst = join(this.root, ...this.spec.widevineSubpath.map((seg) => (seg === CHROMIUM_VERSION ? onDisk : seg)));
|
|
332
561
|
if (existsSync(dst))
|
|
333
562
|
rmSync(dst, { recursive: true, force: true });
|
|
334
563
|
mkdirSync(dirname(dst), { recursive: true });
|
|
@@ -380,6 +609,465 @@ export class Runtime {
|
|
|
380
609
|
rmSync(staging, { recursive: true, force: true });
|
|
381
610
|
}
|
|
382
611
|
}
|
|
612
|
+
// ---- engine swap (#122) ----
|
|
613
|
+
// Shared with the Python and Rust SDKs, which use the same cache dir: in
|
|
614
|
+
// `<cache>`, `.install.lock`, `.<top>.staging/` (+ `staged.json`),
|
|
615
|
+
// `.<top>.previous` and the journal `.<top>.swapping` mean the same in all three.
|
|
616
|
+
/** Room kept free beyond what the unpacked engine takes. */
|
|
617
|
+
const SPACE_MARGIN = 256 * 1024 * 1024;
|
|
618
|
+
/** Unpacked bytes per archive byte, guessed before the archive is in. */
|
|
619
|
+
const UNPACK_GUESS = 3;
|
|
620
|
+
/** A lock this old is taken whoever holds it (a pid the OS gave to another). */
|
|
621
|
+
const LOCK_MAX_AGE_MS = 6 * 60 * 60 * 1000;
|
|
622
|
+
const STAGED_NOTE = "staged.json";
|
|
623
|
+
function enginePaths(root, top) {
|
|
624
|
+
return {
|
|
625
|
+
target: join(root, top),
|
|
626
|
+
previous: join(root, `.${top}.previous`),
|
|
627
|
+
journal: join(root, `.${top}.swapping`),
|
|
628
|
+
staging: join(root, `.${top}.staging`),
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
/** What the install asks the OS; tests swap in their own. */
|
|
632
|
+
export const engineHooks = { freeBytes, processesUnder };
|
|
633
|
+
const realFs = {
|
|
634
|
+
rename: (from, to) => renameSync(from, to),
|
|
635
|
+
rm: (path) => rmSync(path, { recursive: true, force: true }),
|
|
636
|
+
tries: 6,
|
|
637
|
+
};
|
|
638
|
+
/** `f` again while a file is held for now (an antivirus reading a new one);
|
|
639
|
+
* any other error at once. */
|
|
640
|
+
function retrySync(f, tries) {
|
|
641
|
+
let pause = 100;
|
|
642
|
+
for (let i = 1;; i++) {
|
|
643
|
+
try {
|
|
644
|
+
f();
|
|
645
|
+
return;
|
|
646
|
+
}
|
|
647
|
+
catch (e) {
|
|
648
|
+
const code = e.code;
|
|
649
|
+
const held = code === "EBUSY" || (osPlatform() === "win32" && (code === "EPERM" || code === "EACCES"));
|
|
650
|
+
if (i >= tries || !held)
|
|
651
|
+
throw e;
|
|
652
|
+
}
|
|
653
|
+
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, pause);
|
|
654
|
+
pause = Math.min(pause * 2, 2000);
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
/** Files and links under `dir`, links not followed. */
|
|
658
|
+
export function countFiles(dir) {
|
|
659
|
+
let entries;
|
|
660
|
+
try {
|
|
661
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
662
|
+
}
|
|
663
|
+
catch {
|
|
664
|
+
return 0;
|
|
665
|
+
}
|
|
666
|
+
let n = 0;
|
|
667
|
+
for (const e of entries)
|
|
668
|
+
n += e.isDirectory() ? countFiles(join(dir, e.name)) : 1;
|
|
669
|
+
return n;
|
|
670
|
+
}
|
|
671
|
+
/** On disk before the rename it announces, whole or not at all. */
|
|
672
|
+
function writeJournal(path, files) {
|
|
673
|
+
const tmp = `${path}.tmp`;
|
|
674
|
+
const fd = openSync(tmp, "w");
|
|
675
|
+
try {
|
|
676
|
+
writeSync(fd, JSON.stringify({ files }));
|
|
677
|
+
fsyncSync(fd);
|
|
678
|
+
}
|
|
679
|
+
finally {
|
|
680
|
+
closeSync(fd);
|
|
681
|
+
}
|
|
682
|
+
renameSync(tmp, path);
|
|
683
|
+
}
|
|
684
|
+
function readJournal(path) {
|
|
685
|
+
try {
|
|
686
|
+
const v = JSON.parse(readFileSync(path, "utf8"));
|
|
687
|
+
return typeof v?.files === "number" ? v.files : undefined;
|
|
688
|
+
}
|
|
689
|
+
catch {
|
|
690
|
+
return undefined;
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
/** Puts `<root>/.<top>.previous` back when a run died between the two renames
|
|
694
|
+
* of an update (or could not undo the first) — only as its journal left it,
|
|
695
|
+
* and only whole. Any other copy is a leftover and goes: one a cleanup left
|
|
696
|
+
* half removed never stands in for a missing engine. True when put back. */
|
|
697
|
+
export function recoverEngine(root, top, fs = realFs) {
|
|
698
|
+
const { target, previous, journal } = enginePaths(root, top);
|
|
699
|
+
if (existsSync(previous)) {
|
|
700
|
+
const moved = readJournal(journal);
|
|
701
|
+
if (!existsSync(target) && moved !== undefined && countFiles(previous) === moved) {
|
|
702
|
+
// Still held: kept, with its journal, for the next try.
|
|
703
|
+
try {
|
|
704
|
+
retrySync(() => fs.rename(previous, target), fs.tries ?? 1);
|
|
705
|
+
}
|
|
706
|
+
catch {
|
|
707
|
+
return false;
|
|
708
|
+
}
|
|
709
|
+
rmQuiet(journal);
|
|
710
|
+
return true;
|
|
711
|
+
}
|
|
712
|
+
try {
|
|
713
|
+
fs.rm(previous);
|
|
714
|
+
}
|
|
715
|
+
catch { /* the next install() tries again */ }
|
|
716
|
+
}
|
|
717
|
+
if (!existsSync(previous))
|
|
718
|
+
rmQuiet(journal);
|
|
719
|
+
return false;
|
|
720
|
+
}
|
|
721
|
+
/** Swaps the complete tree at `staged` in for `<root>/<top>`: live → previous,
|
|
722
|
+
* staged → live, the first undone if the second fails. Any failure leaves the
|
|
723
|
+
* engine that was there (or `.previous` with its journal, put back by the
|
|
724
|
+
* next install()). */
|
|
725
|
+
export function swapEngineTree(root, top, staged, fs = realFs) {
|
|
726
|
+
const { target, previous, journal } = enginePaths(root, top);
|
|
727
|
+
const again = (f) => retrySync(f, fs.tries ?? 1);
|
|
728
|
+
recoverEngine(root, top, fs);
|
|
729
|
+
if (existsSync(previous)) {
|
|
730
|
+
throw new Error(existsSync(target)
|
|
731
|
+
? `a copy of an earlier engine at ${previous} could not be removed; delete it and try again`
|
|
732
|
+
: `the previous engine at ${previous} could not be put back yet; close the browsers started from it and try again`);
|
|
733
|
+
}
|
|
734
|
+
const hadLive = existsSync(target);
|
|
735
|
+
if (hadLive) {
|
|
736
|
+
writeJournal(journal, countFiles(target));
|
|
737
|
+
try {
|
|
738
|
+
again(() => fs.rename(target, previous));
|
|
739
|
+
}
|
|
740
|
+
catch (e) {
|
|
741
|
+
rmQuiet(journal);
|
|
742
|
+
throw new Error(`the engine at ${target} is in use and was not replaced (${e.message}); `
|
|
743
|
+
+ "close the browsers started from it and try again");
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
try {
|
|
747
|
+
again(() => fs.rename(staged, target));
|
|
748
|
+
}
|
|
749
|
+
catch (e) {
|
|
750
|
+
if (hadLive) {
|
|
751
|
+
try {
|
|
752
|
+
again(() => fs.rename(previous, target));
|
|
753
|
+
}
|
|
754
|
+
catch {
|
|
755
|
+
// The journal stays: it is what puts the engine back.
|
|
756
|
+
throw new Error(`replacing the engine failed (${e.message}) and the previous one could not be `
|
|
757
|
+
+ `put back yet; it is kept at ${previous} and restored by the next install()`);
|
|
758
|
+
}
|
|
759
|
+
rmQuiet(journal);
|
|
760
|
+
}
|
|
761
|
+
throw e;
|
|
762
|
+
}
|
|
763
|
+
rmQuiet(journal);
|
|
764
|
+
// A tree Windows still holds is clutter: the next install() removes it.
|
|
765
|
+
try {
|
|
766
|
+
fs.rm(previous);
|
|
767
|
+
}
|
|
768
|
+
catch { /* clutter */ }
|
|
769
|
+
}
|
|
770
|
+
/** A tree an earlier run unpacked, checked and noted, still whole. */
|
|
771
|
+
function readStaged(staging, top, binarySubpath) {
|
|
772
|
+
try {
|
|
773
|
+
const v = JSON.parse(readFileSync(join(staging, STAGED_NOTE), "utf8"));
|
|
774
|
+
if (typeof v?.etag !== "string" || typeof v?.files !== "number")
|
|
775
|
+
return undefined;
|
|
776
|
+
const tree = join(staging, top);
|
|
777
|
+
if (!existsSync(join(staging, ...binarySubpath)) || countFiles(tree) !== v.files)
|
|
778
|
+
return undefined;
|
|
779
|
+
return { etag: v.etag, files: v.files };
|
|
780
|
+
}
|
|
781
|
+
catch {
|
|
782
|
+
return undefined;
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
/** What an install that died left: an unfinished staging folder, a partial
|
|
786
|
+
* download. A checked staged tree stays for the next swap. */
|
|
787
|
+
function sweepLeftovers(root, top, key, binarySubpath) {
|
|
788
|
+
const { staging } = enginePaths(root, top);
|
|
789
|
+
if (existsSync(staging) && !readStaged(staging, top, binarySubpath))
|
|
790
|
+
rmQuiet(staging);
|
|
791
|
+
rmQuiet(join(root, `.${key}.tmp`));
|
|
792
|
+
}
|
|
793
|
+
/** Bytes the current user may still write on the disk holding `dir`. */
|
|
794
|
+
export function freeBytes(dir) {
|
|
795
|
+
// Node 18.15 and later.
|
|
796
|
+
const statfs = nodeFs.statfsSync;
|
|
797
|
+
if (!statfs)
|
|
798
|
+
return undefined;
|
|
799
|
+
try {
|
|
800
|
+
const s = statfs(dir);
|
|
801
|
+
return s.bavail * s.bsize;
|
|
802
|
+
}
|
|
803
|
+
catch {
|
|
804
|
+
return undefined;
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
function assertRoom(dir, need) {
|
|
808
|
+
const free = engineHooks.freeBytes(dir);
|
|
809
|
+
if (free !== undefined && free < need) {
|
|
810
|
+
const mb = (n) => Math.ceil(n / (1 << 20));
|
|
811
|
+
throw new Error(`not enough free disk space for the engine update: it needs about ${mb(need)} MB and `
|
|
812
|
+
+ `${mb(free)} MB is free in ${dir}; the engine you have was not touched`);
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
/** How many processes run from `dir`. On macOS and Linux a swap would pull
|
|
816
|
+
* the files from under them; Windows refuses the rename itself. */
|
|
817
|
+
export function processesUnder(dir) {
|
|
818
|
+
// As given and as resolved: a process names the path it was started by.
|
|
819
|
+
let roots;
|
|
820
|
+
try {
|
|
821
|
+
roots = [...new Set([resolve(dir), realpathSync(dir)])].map((r) => r.replace(/[\\/]+$/, "") + sep);
|
|
822
|
+
}
|
|
823
|
+
catch {
|
|
824
|
+
return 0;
|
|
825
|
+
}
|
|
826
|
+
const under = (p) => roots.some((r) => p.startsWith(r));
|
|
827
|
+
if (osPlatform() === "linux") {
|
|
828
|
+
let pids;
|
|
829
|
+
try {
|
|
830
|
+
pids = readdirSync("/proc");
|
|
831
|
+
}
|
|
832
|
+
catch {
|
|
833
|
+
return 0;
|
|
834
|
+
}
|
|
835
|
+
let n = 0;
|
|
836
|
+
for (const pid of pids) {
|
|
837
|
+
if (!/^\d+$/.test(pid))
|
|
838
|
+
continue;
|
|
839
|
+
// A replaced binary reads "<path> (deleted)": still that folder.
|
|
840
|
+
try {
|
|
841
|
+
if (under(readlinkSync(`/proc/${pid}/exe`).replace(/ \(deleted\)$/, "")))
|
|
842
|
+
n++;
|
|
843
|
+
}
|
|
844
|
+
catch { /* gone, or not ours */ }
|
|
845
|
+
}
|
|
846
|
+
return n;
|
|
847
|
+
}
|
|
848
|
+
if (osPlatform() === "darwin") {
|
|
849
|
+
const r = spawnSync("ps", ["-axwwo", "comm="], { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
|
|
850
|
+
return (r.stdout ?? "").split("\n").filter((l) => under(l.trim())).length;
|
|
851
|
+
}
|
|
852
|
+
return 0;
|
|
853
|
+
}
|
|
854
|
+
/** One install at a time over a cache dir, across processes and the three
|
|
855
|
+
* SDKs (same file, same rules). A holder that died is taken over. */
|
|
856
|
+
export class InstallLock {
|
|
857
|
+
path;
|
|
858
|
+
token;
|
|
859
|
+
constructor(path, token) {
|
|
860
|
+
this.path = path;
|
|
861
|
+
this.token = token;
|
|
862
|
+
}
|
|
863
|
+
static async acquire(root, opts = {}) {
|
|
864
|
+
const path = join(root, ".install.lock");
|
|
865
|
+
const token = randomBytes(8).toString("hex");
|
|
866
|
+
let told = false;
|
|
867
|
+
for (;;) {
|
|
868
|
+
if (createLock(path, token))
|
|
869
|
+
return new InstallLock(path, token);
|
|
870
|
+
const seen = readLock(path);
|
|
871
|
+
if (seen === null)
|
|
872
|
+
continue; // released meanwhile
|
|
873
|
+
if (lockIsStale(path, seen)) {
|
|
874
|
+
stealLock(path, seen, token);
|
|
875
|
+
continue;
|
|
876
|
+
}
|
|
877
|
+
if (!told && seen.pid !== process.pid) {
|
|
878
|
+
console.warn(`[shardx] waiting for another process (pid ${seen.pid ?? "?"}) to finish installing the engine… `
|
|
879
|
+
+ `(if none is running, delete ${path})`);
|
|
880
|
+
told = true;
|
|
881
|
+
}
|
|
882
|
+
await new Promise((r) => setTimeout(r, (opts.pollMs ?? 500) + Math.random() * 100));
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
/** Still ours: nobody took it over as stale. */
|
|
886
|
+
held() { return readLock(this.path)?.token === this.token; }
|
|
887
|
+
release() {
|
|
888
|
+
if (this.held()) {
|
|
889
|
+
try {
|
|
890
|
+
unlinkSync(this.path);
|
|
891
|
+
}
|
|
892
|
+
catch { /* gone */ }
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
function createLock(path, token) {
|
|
897
|
+
let fd;
|
|
898
|
+
try {
|
|
899
|
+
fd = openSync(path, "wx");
|
|
900
|
+
}
|
|
901
|
+
catch (e) {
|
|
902
|
+
if (e.code === "EEXIST")
|
|
903
|
+
return false;
|
|
904
|
+
throw e;
|
|
905
|
+
}
|
|
906
|
+
try {
|
|
907
|
+
writeSync(fd, JSON.stringify({ pid: process.pid, host: hostname().toLowerCase(), token, at: Date.now() }));
|
|
908
|
+
fsyncSync(fd);
|
|
909
|
+
}
|
|
910
|
+
finally {
|
|
911
|
+
closeSync(fd);
|
|
912
|
+
}
|
|
913
|
+
return true;
|
|
914
|
+
}
|
|
915
|
+
/** null when there is no lock; {} when it cannot be read as one. */
|
|
916
|
+
function readLock(path) {
|
|
917
|
+
let text;
|
|
918
|
+
try {
|
|
919
|
+
text = readFileSync(path, "utf8");
|
|
920
|
+
}
|
|
921
|
+
catch {
|
|
922
|
+
return null;
|
|
923
|
+
}
|
|
924
|
+
try {
|
|
925
|
+
const v = JSON.parse(text);
|
|
926
|
+
return v && typeof v === "object" ? v : {};
|
|
927
|
+
}
|
|
928
|
+
catch {
|
|
929
|
+
return {};
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
function lockIsStale(path, l) {
|
|
933
|
+
let mtime;
|
|
934
|
+
try {
|
|
935
|
+
mtime = statSync(path).mtimeMs;
|
|
936
|
+
}
|
|
937
|
+
catch {
|
|
938
|
+
return false;
|
|
939
|
+
}
|
|
940
|
+
// Unreadable: being written this instant, or by a process that died doing so.
|
|
941
|
+
if (typeof l.token !== "string")
|
|
942
|
+
return Date.now() - mtime > 10_000;
|
|
943
|
+
if (Date.now() - (typeof l.at === "number" ? l.at : mtime) > LOCK_MAX_AGE_MS)
|
|
944
|
+
return true;
|
|
945
|
+
// Another computer's process cannot be asked about.
|
|
946
|
+
if (l.host !== hostname().toLowerCase())
|
|
947
|
+
return false;
|
|
948
|
+
return !pidAlive(l.pid);
|
|
949
|
+
}
|
|
950
|
+
export function pidAlive(pid) {
|
|
951
|
+
if (typeof pid !== "number" || pid <= 0)
|
|
952
|
+
return false;
|
|
953
|
+
try {
|
|
954
|
+
process.kill(pid, 0);
|
|
955
|
+
return true;
|
|
956
|
+
}
|
|
957
|
+
catch (e) {
|
|
958
|
+
return e.code === "EPERM";
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
/** Moves the stale lock aside and drops it, unless what moved was a fresh one
|
|
962
|
+
* another process took in the meantime: that one is put back. */
|
|
963
|
+
function stealLock(path, seen, token) {
|
|
964
|
+
const aside = `${path}.stale-${token}`;
|
|
965
|
+
try {
|
|
966
|
+
renameSync(path, aside);
|
|
967
|
+
}
|
|
968
|
+
catch {
|
|
969
|
+
return;
|
|
970
|
+
}
|
|
971
|
+
const got = readLock(aside);
|
|
972
|
+
if (got && got.token !== seen.token) {
|
|
973
|
+
try {
|
|
974
|
+
linkSync(aside, path);
|
|
975
|
+
}
|
|
976
|
+
catch { /* a third one has it */ }
|
|
977
|
+
}
|
|
978
|
+
try {
|
|
979
|
+
unlinkSync(aside);
|
|
980
|
+
}
|
|
981
|
+
catch { /* gone */ }
|
|
982
|
+
}
|
|
983
|
+
/** The archive's own table of contents, read from its end without loading the
|
|
984
|
+
* rest: entry names and the bytes they unpack to. Throws when there is none. */
|
|
985
|
+
export function zipListing(path) {
|
|
986
|
+
const fd = openSync(path, "r");
|
|
987
|
+
try {
|
|
988
|
+
const size = fstatSync(fd).size;
|
|
989
|
+
const tailLen = Math.min(size, 22 + 0xffff);
|
|
990
|
+
const tail = Buffer.alloc(tailLen);
|
|
991
|
+
readSync(fd, tail, 0, tailLen, size - tailLen);
|
|
992
|
+
let end = -1;
|
|
993
|
+
for (let i = tailLen - 22; i >= 0; i--) {
|
|
994
|
+
if (tail.readUInt32LE(i) === 0x06054b50) {
|
|
995
|
+
end = i;
|
|
996
|
+
break;
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
if (end < 0)
|
|
1000
|
+
throw new Error("no end of central directory");
|
|
1001
|
+
let count = tail.readUInt16LE(end + 10);
|
|
1002
|
+
let cdSize = tail.readUInt32LE(end + 12);
|
|
1003
|
+
let cdOff = tail.readUInt32LE(end + 16);
|
|
1004
|
+
if (count === 0xffff || cdSize === 0xffffffff || cdOff === 0xffffffff) {
|
|
1005
|
+
// ZIP64: its locator sits just before the end record.
|
|
1006
|
+
const loc = end - 20;
|
|
1007
|
+
if (loc < 0 || tail.readUInt32LE(loc) !== 0x07064b50)
|
|
1008
|
+
throw new Error("no zip64 locator");
|
|
1009
|
+
const rec = Buffer.alloc(56);
|
|
1010
|
+
readSync(fd, rec, 0, 56, Number(tail.readBigUInt64LE(loc + 8)));
|
|
1011
|
+
if (rec.readUInt32LE(0) !== 0x06064b50)
|
|
1012
|
+
throw new Error("no zip64 end record");
|
|
1013
|
+
count = Number(rec.readBigUInt64LE(32));
|
|
1014
|
+
cdSize = Number(rec.readBigUInt64LE(40));
|
|
1015
|
+
cdOff = Number(rec.readBigUInt64LE(48));
|
|
1016
|
+
}
|
|
1017
|
+
if (cdOff + cdSize > size)
|
|
1018
|
+
throw new Error("central directory past the end of the file");
|
|
1019
|
+
const cd = Buffer.alloc(cdSize);
|
|
1020
|
+
readSync(fd, cd, 0, cdSize, cdOff);
|
|
1021
|
+
const names = [];
|
|
1022
|
+
let unpacked = 0;
|
|
1023
|
+
let p = 0;
|
|
1024
|
+
for (let n = 0; n < count; n++) {
|
|
1025
|
+
if (p + 46 > cd.length || cd.readUInt32LE(p) !== 0x02014b50)
|
|
1026
|
+
throw new Error("damaged central directory");
|
|
1027
|
+
let usize = cd.readUInt32LE(p + 24);
|
|
1028
|
+
const nameLen = cd.readUInt16LE(p + 28);
|
|
1029
|
+
const extraLen = cd.readUInt16LE(p + 30);
|
|
1030
|
+
const commentLen = cd.readUInt16LE(p + 32);
|
|
1031
|
+
names.push(cd.toString("utf8", p + 46, p + 46 + nameLen));
|
|
1032
|
+
if (usize === 0xffffffff) {
|
|
1033
|
+
// The zip64 extra field leads with the real size.
|
|
1034
|
+
for (let e = p + 46 + nameLen; e + 4 <= p + 46 + nameLen + extraLen;) {
|
|
1035
|
+
const id = cd.readUInt16LE(e);
|
|
1036
|
+
const len = cd.readUInt16LE(e + 2);
|
|
1037
|
+
if (id === 0x0001 && len >= 8) {
|
|
1038
|
+
usize = Number(cd.readBigUInt64LE(e + 4));
|
|
1039
|
+
break;
|
|
1040
|
+
}
|
|
1041
|
+
e += 4 + len;
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
unpacked += usize;
|
|
1045
|
+
p += 46 + nameLen + extraLen + commentLen;
|
|
1046
|
+
}
|
|
1047
|
+
return { names, unpacked };
|
|
1048
|
+
}
|
|
1049
|
+
finally {
|
|
1050
|
+
closeSync(fd);
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
function lexists(p) {
|
|
1054
|
+
try {
|
|
1055
|
+
lstatSync(p);
|
|
1056
|
+
return true;
|
|
1057
|
+
}
|
|
1058
|
+
catch {
|
|
1059
|
+
return false;
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
/** Delete that is allowed to fail: a staging or backup dir we cannot remove
|
|
1063
|
+
* (Windows holds files of a running engine open) is clutter, not a reason to
|
|
1064
|
+
* report an install that already succeeded as failed. */
|
|
1065
|
+
function rmQuiet(p) {
|
|
1066
|
+
try {
|
|
1067
|
+
rmSync(p, { recursive: true, force: true });
|
|
1068
|
+
}
|
|
1069
|
+
catch { /* clutter */ }
|
|
1070
|
+
}
|
|
383
1071
|
/** Extract via /usr/bin/unzip — preserves symlinks and permission
|
|
384
1072
|
* bits that adm-zip silently drops. Required for any macOS .app
|
|
385
1073
|
* bundle (Versions/Current symlinks + Helper exec bits).
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sEAAsE;AACtE,wEAAwE;AACxE,2EAA2E;AAC3E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAY,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9M,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,MAAM,CAAC,MAAM,QAAQ,GAAG,qDAAqD,CAAC;AAC9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAChD,iFAAiF;AACjF,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,8EAA8E;AAC9E,gFAAgF;AAChF,wBAAwB;AACxB,MAAM,CAAC,MAAM,YAAY,GAAG,6EAA6E,CAAC;AAE1G,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,YAAY,CAAC,CAAC;IAC9F,IAAI,IAAI,KAAK,OAAO;QAAG,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IACxF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC;AACrF,CAAC;AAWD,MAAM,UAAU,QAAQ;IACtB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAG,EAAE,GAAG,EAAE,sBAAsB,EAAW,KAAK,EAAE,8BAA8B,EAAE;YACzF,QAAQ,EAAE,EAAE,GAAG,EAAE,+BAA+B,EAAE,KAAK,EAAE,cAAc,EAAE;YACzE,aAAa,EAAI,CAAC,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;YAClF,eAAe,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY;gBAC1D,4BAA4B,EAAE,UAAU,EAAE,gBAAgB;gBAC1D,WAAW,EAAE,aAAa,CAAC;SAC9C,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAG,EAAE,GAAG,EAAE,oBAAoB,EAAM,KAAK,EAAE,8BAA8B,EAAE;YAClF,QAAQ,EAAE,EAAE,GAAG,EAAE,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE;YACnE,aAAa,EAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC;YACjD,eAAe,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC;SACnD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAG,EAAE,GAAG,EAAE,kBAAkB,EAAU,KAAK,EAAE,4BAA4B,EAAE;YAClF,QAAQ,EAAE,EAAE,GAAG,EAAE,2BAA2B,EAAE,KAAK,EAAE,cAAc,EAAE;YACrE,aAAa,EAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;YAC3C,eAAe,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;SACjD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,IAAI,IAAI,+CAA+C,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAY;IAC3C,GAAG,EAAE,yBAAyB;IAC9B,KAAK,EAAE,qBAAqB;CAC7B,CAAC;AACF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAgBnD,MAAM,OAAO,OAAO;IACT,IAAI,CAAS;IACb,IAAI,CAAW;IACP,QAAQ,CAAc;IACtB,aAAa,CAAU;IACxC;;uCAEmC;IAC3B,iBAAiB,GAAG,KAAK,CAAC;IAClC;4EACwE;IAChE,gBAAgB,GAAW,gBAAgB,CAAC;IACpD;2EACuE;IAC/D,YAAY,CAAU;IACtB,cAAc,CAAU;IAChC;;;oEAGgE;IACxD,IAAI,CAA2B;IAEvC,YAAY,OAA2E,EAAE;QACvF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC;QAC/C,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,YAAY,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,UAAU,KAAgB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACnF,IAAI,eAAe;QACjB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1C,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IACD;;iEAE6D;IAC7D,IAAI,YAAY;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,SAAS,KAAiB,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACnE,mEAAmE;IACnE,IAAI,eAAe,KAAa,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/D,6EAA6E;IAC7E,IAAI,WAAW,KAAyB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,sEAAsE;IACtE,IAAI,aAAa,KAAyB,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACvE,yDAAyD;IACzD,IAAI,GAAG,KAA0C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE;2EACuE;IAC/D,sBAAsB;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;YAC1B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAC3E,YAAY,EAAE,4BAA4B,EAAE,UAAU,CAAC,CAAC;gBAC1D,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,qEAAqE;gBACrE,2DAA2D;gBAC3D,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;qBAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;qBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;qBACxC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,mCAAmC;QACvD,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IAC/B,CAAC;IAED;;;kFAG8E;IACtE,yBAAyB,CAAC,KAAe;QAC/C,OAAO,KAAK,CAAC,0BAA0B,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC3E,CAAC;IAED;kDAC8C;IACtC,oBAAoB,CAAC,KAAe;QAC1C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,CACpE,CAAC,IAAI,EAAE,CAAC;YACT,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,sBAAsB,IAAI,SAAS,CAAC;IACnD,CAAC;IAED,4DAA4D;IACpD,MAAM,CAAC,SAAS,CAAC,CAAS,EAAE,CAAS;QAC3C,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAC1B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;4EACwE;IAChE,cAAc,CACpB,KAAe,EACf,MAA4F;QAE5F,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;eACjC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,eAAe,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,IAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;QACpF,IAAI,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/E,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,qBAAqB;IAEb,YAAY;QAClB,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,CAAC;QACnE,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IACtB,CAAC;IACO,YAAY,CAAC,CAAW;QAC9B,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,oBAAoB;IAEpB,KAAK,CAAC,OAAO,CAAC,OAA4B,EAAE;QAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,KAAK;YAAE,OAAO;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,yEAAyE;QACzE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,IAAI,gBAAgB,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;QAEvB,kEAAkE;QAClE,IAAI,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CACb,8CAA8C,MAAM,CAAC,aAAa,cAAc;kBAC9E,cAAc,WAAW,yBAAyB,CACrD,CAAC;QACJ,CAAC;QACD,uEAAuE;QACvE,eAAe;QACf,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9E,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC;QACpD,CAAC;QACD,oDAAoD;QACpD,MAAM,WAAW,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnF,IAAI,WAAW,EAAE,CAAC;YAChB,wEAAwE;YACxE,0EAA0E;YAC1E,mEAAmE;YACnE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,KAAK,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACjF,IAAI,MAAM,CAAC,WAAW;gBAAE,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,KAAK,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnF,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACxF,IAAI,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,iBAAiB,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC/F,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,IAAI,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACjE,CAAC;QACD,wEAAwE;QACxE,kEAAkE;QAClE,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEzB,mEAAmE;QACnE,iEAAiE;QACjE,gEAAgE;QAChE,yDAAyD;QACzD,IAAI,UAAU,EAAE,KAAK,OAAO,EAAE,CAAC;YAC7B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,oBAAoB;IAEpB;;8EAE0E;IAClE,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAA+M,CAAC;YACzO,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACpE,OAAO;gBACL,QAAQ,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC5E,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAC5C,6DAA6D;gBAC7D,WAAW,EAAE,OAAO,IAAI,EAAE,YAAY,KAAK,QAAQ;oBACjD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC3B,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC;gBAC3B,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC;gBACzC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC;gBACpC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC;gBACxC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1E,CAAC,CAAC,IAAI,CAAC,GAA8B;oBACrC,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAa,EAAE,IAAY;QAC1D,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QAE3C,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;YAC1B,KAAK,CAAC,IAAI;gBACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACtC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA,+BAA+B,CAAA,CAAC;gBACjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QACH,gEAAgE;QAChE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE5B,8DAA8D;QAC9D,mEAAmE;QACnE,4DAA4D;QAC5D,iEAAiE;QACjE,+DAA+D;QAC/D,+DAA+D;QAC/D,IAAI,UAAU,EAAE,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,UAAU,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAExC,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;YAC1B,KAAK,CAAC,IAAI;gBACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACtC,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE5B,iEAAiE;QACjE,yCAAyC;QACzC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC7C,mEAAmE;YACnE,yEAAyE;YACzE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;;;;;+DAM+D;AAC/D,SAAS,WAAW,CAAC,OAAe,EAAE,IAAY;IAChD,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;QAC9D,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,IAAK,CAAC,CAAC,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,CAAC,KAAK,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,UAAU,CAAC,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;uEACuE;AACvE,MAAM,YAAY,GAA0B;IAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,MAAM;IAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,eAAe;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,eAAe;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,eAAe;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,eAAe;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,sBAAsB;IAC9E,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAmB,sBAAsB;CAC/E,CAAC;AAEF;;;4CAG4C;AAC5C,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAQ,EAAE;QACjC,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,GAAG,CAAC,cAAc,EAAE;gBAAE,SAAS;YACnC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;gBAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,SAAS,CAAC,EAAE,CAAC,CAAC;gBACd,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proxyshard/shardx",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "Self-contained Node SDK for the ShardX anti-detect browser — downloads the engine + Widevine + fingerprint library on first use, launches isolated profiles.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
],
|
|
19
19
|
"scripts": {
|
|
20
20
|
"build": "tsc",
|
|
21
|
+
"test": "tsc && node --test test/*.test.mjs",
|
|
21
22
|
"prepublishOnly": "npm run build"
|
|
22
23
|
},
|
|
23
24
|
"engines": {
|
|
@@ -47,7 +48,7 @@
|
|
|
47
48
|
"access": "public"
|
|
48
49
|
},
|
|
49
50
|
"dependencies": {
|
|
50
|
-
"adm-zip": "^0.
|
|
51
|
+
"adm-zip": "^0.6.1",
|
|
51
52
|
"patchright": "^1.49.0",
|
|
52
53
|
"socks-proxy-agent": "^8.0.4",
|
|
53
54
|
"undici": "^6.19.0"
|