@efffrida/frida-tools 0.0.26 → 0.0.28
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/dist/FridaDevice.d.ts +9 -8
- package/dist/FridaDevice.d.ts.map +1 -1
- package/dist/FridaDevice.js.map +1 -1
- package/dist/FridaDeviceAcquisitionError.d.ts +3 -18
- package/dist/FridaDeviceAcquisitionError.d.ts.map +1 -1
- package/dist/FridaDeviceAcquisitionError.js +2 -13
- package/dist/FridaDeviceAcquisitionError.js.map +1 -1
- package/dist/FridaScript.d.ts +12 -13
- package/dist/FridaScript.d.ts.map +1 -1
- package/dist/FridaScript.js +10 -9
- package/dist/FridaScript.js.map +1 -1
- package/dist/FridaSession.d.ts +21 -7
- package/dist/FridaSession.d.ts.map +1 -1
- package/dist/FridaSession.js.map +1 -1
- package/dist/FridaSessionError.d.ts +1 -16
- package/dist/FridaSessionError.d.ts.map +1 -1
- package/dist/FridaSessionError.js +2 -13
- package/dist/FridaSessionError.js.map +1 -1
- package/dist/internal/compiler.d.ts +2 -0
- package/dist/internal/compiler.d.ts.map +1 -0
- package/dist/internal/compiler.js +82 -0
- package/dist/internal/compiler.js.map +1 -0
- package/dist/internal/device.js +33 -32
- package/dist/internal/device.js.map +1 -1
- package/dist/internal/script.js +56 -105
- package/dist/internal/script.js.map +1 -1
- package/dist/internal/session.js +90 -48
- package/dist/internal/session.js.map +1 -1
- package/package.json +11 -17
- package/src/FridaDevice.ts +11 -10
- package/src/FridaDeviceAcquisitionError.ts +4 -29
- package/src/FridaScript.ts +22 -23
- package/src/FridaSession.ts +25 -7
- package/src/FridaSessionError.ts +2 -24
- package/src/internal/compiler.ts +122 -0
- package/src/internal/device.ts +85 -67
- package/src/internal/script.ts +209 -292
- package/src/internal/session.ts +116 -52
package/dist/FridaDevice.d.ts
CHANGED
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
|
-
import type * as
|
|
7
|
-
import type * as ConfigError from "effect/ConfigError";
|
|
6
|
+
import type * as Config from "effect/Config";
|
|
8
7
|
import type * as Context from "effect/Context";
|
|
9
8
|
import type * as Effect from "effect/Effect";
|
|
10
9
|
import type * as Layer from "effect/Layer";
|
|
10
|
+
import type * as Path from "effect/Path";
|
|
11
11
|
import type * as Scope from "effect/Scope";
|
|
12
|
-
import type * as
|
|
12
|
+
import type * as ChildProcessSpawner from "effect/unstable/process/ChildProcessSpawner";
|
|
13
13
|
import type * as FridaDeviceAcquisitionError from "./FridaDeviceAcquisitionError.ts";
|
|
14
|
+
import type * as Frida from "frida";
|
|
14
15
|
/**
|
|
15
16
|
* @since 1.0.0
|
|
16
17
|
* @category Type ids
|
|
@@ -34,7 +35,7 @@ export interface FridaDevice {
|
|
|
34
35
|
* @since 1.0.0
|
|
35
36
|
* @category Tags
|
|
36
37
|
*/
|
|
37
|
-
export declare const FridaDevice: Context.
|
|
38
|
+
export declare const FridaDevice: Context.Service<FridaDevice, FridaDevice>;
|
|
38
39
|
/**
|
|
39
40
|
* @since 1.0.0
|
|
40
41
|
* @category Predicates
|
|
@@ -65,7 +66,7 @@ export declare const acquireAndroidEmulatorDevice: (name: string, options?: {
|
|
|
65
66
|
fridaExecutable?: string | undefined;
|
|
66
67
|
emulatorExecutable?: string | undefined;
|
|
67
68
|
extraEmulatorArgs?: Array<string> | undefined;
|
|
68
|
-
} | undefined) => Effect.Effect<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError,
|
|
69
|
+
} | undefined) => Effect.Effect<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, ChildProcessSpawner.ChildProcessSpawner | Scope.Scope>;
|
|
69
70
|
/**
|
|
70
71
|
* @since 1.0.0
|
|
71
72
|
* @category Device acquisition
|
|
@@ -74,7 +75,7 @@ export declare const acquireAndroidEmulatorDeviceConfig: (name: string, options?
|
|
|
74
75
|
hidden?: boolean | undefined;
|
|
75
76
|
fridaExecutable?: string | undefined;
|
|
76
77
|
extraEmulatorArgs?: Array<string> | undefined;
|
|
77
|
-
} | undefined) => Effect.Effect<FridaDevice,
|
|
78
|
+
} | undefined) => Effect.Effect<FridaDevice, Config.ConfigError | FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, ChildProcessSpawner.ChildProcessSpawner | Path.Path | Scope.Scope>;
|
|
78
79
|
/**
|
|
79
80
|
* @since 1.0.0
|
|
80
81
|
* @category Layers
|
|
@@ -100,7 +101,7 @@ export declare const layerAndroidEmulatorDevice: (name: string, options?: {
|
|
|
100
101
|
fridaExecutable?: string | undefined;
|
|
101
102
|
emulatorExecutable?: string | undefined;
|
|
102
103
|
extraEmulatorArgs?: Array<string> | undefined;
|
|
103
|
-
} | undefined) => Layer.Layer<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError,
|
|
104
|
+
} | undefined) => Layer.Layer<FridaDevice, FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, ChildProcessSpawner.ChildProcessSpawner>;
|
|
104
105
|
/**
|
|
105
106
|
* @since 1.0.0
|
|
106
107
|
* @category Layers
|
|
@@ -109,5 +110,5 @@ export declare const layerAndroidEmulatorDeviceConfig: (name: string, options?:
|
|
|
109
110
|
hidden?: boolean | undefined;
|
|
110
111
|
fridaExecutable?: string | undefined;
|
|
111
112
|
extraEmulatorArgs?: Array<string> | undefined;
|
|
112
|
-
} | undefined) => Layer.Layer<FridaDevice,
|
|
113
|
+
} | undefined) => Layer.Layer<FridaDevice, Config.ConfigError | FridaDeviceAcquisitionError.FridaDeviceAcquisitionError, ChildProcessSpawner.ChildProcessSpawner | Path.Path>;
|
|
113
114
|
//# sourceMappingURL=FridaDevice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaDevice.d.ts","sourceRoot":"","sources":["../src/FridaDevice.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"FridaDevice.d.ts","sourceRoot":"","sources":["../src/FridaDevice.ts"],"names":[],"mappings":"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"}
|
package/dist/FridaDevice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaDevice.js","names":["internal","FridaDeviceTypeId","FridaDevice","Tag","isFridaDevice","acquireLocalDevice","acquireUsbDevice","acquireRemoteDevice","acquireAndroidEmulatorDevice","acquireAndroidEmulatorDeviceConfig","layerLocalDevice","layerRemoteDevice","layerUsbDevice","layerAndroidEmulatorDevice","layerAndroidEmulatorDeviceConfig"],"sources":["../src/FridaDevice.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;
|
|
1
|
+
{"version":3,"file":"FridaDevice.js","names":["internal","FridaDeviceTypeId","FridaDevice","Tag","isFridaDevice","acquireLocalDevice","acquireUsbDevice","acquireRemoteDevice","acquireAndroidEmulatorDevice","acquireAndroidEmulatorDeviceConfig","layerLocalDevice","layerRemoteDevice","layerUsbDevice","layerAndroidEmulatorDevice","layerAndroidEmulatorDeviceConfig"],"sources":["../src/FridaDevice.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAiBA,OAAO,KAAKA,QAAQ,MAAM,sBAAsB;AAEhD;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAkBD,QAAQ,CAACC,iBAAiB;AAkB1E;;;;AAIA,OAAO,MAAMC,WAAW,GAA8CF,QAAQ,CAACG,GAAG;AAElF;;;;AAIA,OAAO,MAAMC,aAAa,GAAqCJ,QAAQ,CAACI,aAAa;AAErF;;;;AAIA,OAAO,MAAMC,kBAAkB,GAI3BL,QAAQ,CAACK,kBAAkB;AAE/B;;;;AAIA,OAAO,MAAMC,gBAAgB,GAGzBN,QAAQ,CAACM,gBAAgB;AAE7B;;;;AAIA,OAAO,MAAMC,mBAAmB,GAI5BP,QAAQ,CAACO,mBAAmB;AAEhC;;;;AAIA,OAAO,MAAMC,4BAA4B,GAerCR,QAAQ,CAACQ,4BAA4B;AAEzC;;;;AAIA,OAAO,MAAMC,kCAAkC,GAa3CT,QAAQ,CAACS,kCAAkC;AAE/C;;;;AAIA,OAAO,MAAMC,gBAAgB,GAIzBV,QAAQ,CAACU,gBAAgB;AAE7B;;;;AAIA,OAAO,MAAMC,iBAAiB,GAI1BX,QAAQ,CAACW,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,cAAc,GAEqEZ,QAAQ,CAACY,cAAc;AAEvH;;;;AAIA,OAAO,MAAMC,0BAA0B,GAenCb,QAAQ,CAACa,0BAA0B;AAEvC;;;;AAIA,OAAO,MAAMC,gCAAgC,GAazCd,QAAQ,CAACc,gCAAgC","ignoreList":[]}
|
|
@@ -3,22 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
* @since 1.0.0
|
|
8
|
-
* @category Errors
|
|
9
|
-
*/
|
|
10
|
-
export declare const FridaDeviceAcquisitionErrorTypeId: unique symbol;
|
|
11
|
-
/**
|
|
12
|
-
* @since 1.0.0
|
|
13
|
-
* @category Errors
|
|
14
|
-
*/
|
|
15
|
-
export type FridaDeviceAcquisitionErrorTypeId = typeof FridaDeviceAcquisitionErrorTypeId;
|
|
16
|
-
/**
|
|
17
|
-
* @since 1.0.0
|
|
18
|
-
* @category Errors
|
|
19
|
-
*/
|
|
20
|
-
export declare const isFridaDeviceAcquisitionError: (u: unknown) => u is FridaDeviceAcquisitionError;
|
|
21
|
-
declare const FridaDeviceAcquisitionError_base: new <A extends Record<string, any>>(args: import("effect/Types").Simplify<A>) => import("effect/Cause").YieldableError & Record<typeof FridaDeviceAcquisitionErrorTypeId, typeof FridaDeviceAcquisitionErrorTypeId> & {
|
|
6
|
+
declare const FridaDeviceAcquisitionError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
22
7
|
readonly _tag: "FridaDeviceAcquisitionError";
|
|
23
8
|
} & Readonly<A>;
|
|
24
9
|
/**
|
|
@@ -26,9 +11,9 @@ declare const FridaDeviceAcquisitionError_base: new <A extends Record<string, an
|
|
|
26
11
|
* @category Errors
|
|
27
12
|
*/
|
|
28
13
|
export declare class FridaDeviceAcquisitionError extends FridaDeviceAcquisitionError_base<{
|
|
29
|
-
cause: unknown;
|
|
30
|
-
attempts: number;
|
|
31
14
|
acquisitionMethod: "usb" | "remote" | "local" | "android-emulator";
|
|
15
|
+
attempts: number;
|
|
16
|
+
cause: unknown;
|
|
32
17
|
}> {
|
|
33
18
|
get message(): string;
|
|
34
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaDeviceAcquisitionError.d.ts","sourceRoot":"","sources":["../src/FridaDeviceAcquisitionError.ts"],"names":[],"mappings":"AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"FridaDeviceAcquisitionError.d.ts","sourceRoot":"","sources":["../src/FridaDeviceAcquisitionError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;;AAIH;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,iCAAgD;IAC7F,iBAAiB,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,kBAAkB,CAAC;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAClB,CAAC;IACE,IAAoB,OAAO,IAAI,MAAM,CAEpC;CACJ"}
|
|
@@ -3,23 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
|
-
import * as
|
|
7
|
-
import * as Predicate from "effect/Predicate";
|
|
6
|
+
import * as Data from "effect/Data";
|
|
8
7
|
/**
|
|
9
8
|
* @since 1.0.0
|
|
10
9
|
* @category Errors
|
|
11
10
|
*/
|
|
12
|
-
export
|
|
13
|
-
/**
|
|
14
|
-
* @since 1.0.0
|
|
15
|
-
* @category Errors
|
|
16
|
-
*/
|
|
17
|
-
export const isFridaDeviceAcquisitionError = u => Predicate.hasProperty(u, FridaDeviceAcquisitionErrorTypeId);
|
|
18
|
-
/**
|
|
19
|
-
* @since 1.0.0
|
|
20
|
-
* @category Errors
|
|
21
|
-
*/
|
|
22
|
-
export class FridaDeviceAcquisitionError extends /*#__PURE__*/PlatformError.TypeIdError(FridaDeviceAcquisitionErrorTypeId, "FridaDeviceAcquisitionError") {
|
|
11
|
+
export class FridaDeviceAcquisitionError extends /*#__PURE__*/Data.TaggedError("FridaDeviceAcquisitionError") {
|
|
23
12
|
get message() {
|
|
24
13
|
return `Failed to acquire ${this.acquisitionMethod} Frida device after ${this.attempts} attempt(s)`;
|
|
25
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaDeviceAcquisitionError.js","names":["
|
|
1
|
+
{"version":3,"file":"FridaDeviceAcquisitionError.js","names":["Data","FridaDeviceAcquisitionError","TaggedError","message","acquisitionMethod","attempts"],"sources":["../src/FridaDeviceAcquisitionError.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAMA,OAAO,KAAKA,IAAI,MAAM,aAAa;AAEnC;;;;AAIA,OAAM,MAAOC,2BAA4B,sBAAQD,IAAI,CAACE,WAAW,CAAC,6BAA6B,CAI7F;EACE,IAAoBC,OAAOA,CAAA;IACvB,OAAO,qBAAqB,IAAI,CAACC,iBAAiB,uBAAuB,IAAI,CAACC,QAAQ,aAAa;EACvG","ignoreList":[]}
|
package/dist/FridaScript.d.ts
CHANGED
|
@@ -3,23 +3,22 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
|
-
import type * as FileSystem from "@effect/platform/FileSystem";
|
|
7
|
-
import type * as Path from "@effect/platform/Path";
|
|
8
6
|
import type * as Context from "effect/Context";
|
|
9
7
|
import type * as Deferred from "effect/Deferred";
|
|
10
8
|
import type * as Duration from "effect/Duration";
|
|
11
9
|
import type * as Effect from "effect/Effect";
|
|
12
10
|
import type * as Exit from "effect/Exit";
|
|
11
|
+
import type * as FileSystem from "effect/FileSystem";
|
|
13
12
|
import type * as Layer from "effect/Layer";
|
|
14
13
|
import type * as Option from "effect/Option";
|
|
15
|
-
import type * as
|
|
14
|
+
import type * as Path from "effect/Path";
|
|
16
15
|
import type * as Schema from "effect/Schema";
|
|
17
16
|
import type * as Scope from "effect/Scope";
|
|
18
17
|
import type * as Sink from "effect/Sink";
|
|
19
18
|
import type * as Stream from "effect/Stream";
|
|
20
|
-
import type * as Frida from "frida";
|
|
21
19
|
import type * as FridaSession from "./FridaSession.ts";
|
|
22
20
|
import type * as FridaSessionError from "./FridaSessionError.ts";
|
|
21
|
+
import type * as Frida from "frida";
|
|
23
22
|
/**
|
|
24
23
|
* @since 1.0.0
|
|
25
24
|
* @category Type ids
|
|
@@ -47,13 +46,13 @@ export interface FridaScript {
|
|
|
47
46
|
message: unknown;
|
|
48
47
|
data: Option.Option<Buffer>;
|
|
49
48
|
}, never, FridaSessionError.FridaSessionError, never>;
|
|
50
|
-
readonly callExport: <A
|
|
49
|
+
readonly callExport: <A = unknown, R = never>(exportName: string, schema?: Schema.Decoder<A, R> | undefined) => (...args: Array<any>) => Effect.Effect<A, FridaSessionError.FridaSessionError | Schema.SchemaError, R>;
|
|
51
50
|
}
|
|
52
51
|
/**
|
|
53
52
|
* @since 1.0.0
|
|
54
53
|
* @category Tags
|
|
55
54
|
*/
|
|
56
|
-
export declare const FridaScript: Context.
|
|
55
|
+
export declare const FridaScript: Context.Service<FridaScript, FridaScript>;
|
|
57
56
|
/**
|
|
58
57
|
* @since 1.0.0
|
|
59
58
|
* @category Predicates
|
|
@@ -64,19 +63,19 @@ export declare const isFridaScript: (u: unknown) => u is FridaScript;
|
|
|
64
63
|
* @category Options
|
|
65
64
|
*/
|
|
66
65
|
export interface LoadOptions extends Frida.ScriptOptions, Frida.CompilerOptions {
|
|
67
|
-
readonly messageMailboxCapacity?:
|
|
68
|
-
readonly capacity?: number;
|
|
69
|
-
readonly strategy?: "suspend" | "dropping" | "sliding";
|
|
66
|
+
readonly messageMailboxCapacity?: {
|
|
67
|
+
readonly capacity?: number | undefined;
|
|
68
|
+
readonly strategy?: "suspend" | "dropping" | "sliding" | undefined;
|
|
70
69
|
} | undefined;
|
|
71
70
|
readonly streamShareOptions?: {
|
|
72
71
|
readonly capacity: "unbounded";
|
|
73
72
|
readonly replay?: number | undefined;
|
|
74
|
-
readonly idleTimeToLive?: Duration.
|
|
73
|
+
readonly idleTimeToLive?: Duration.Input | undefined;
|
|
75
74
|
} | {
|
|
76
75
|
readonly capacity: number;
|
|
77
76
|
readonly strategy?: "sliding" | "dropping" | "suspend" | undefined;
|
|
78
77
|
readonly replay?: number | undefined;
|
|
79
|
-
readonly idleTimeToLive?: Duration.
|
|
78
|
+
readonly idleTimeToLive?: Duration.Input | undefined;
|
|
80
79
|
} | undefined;
|
|
81
80
|
}
|
|
82
81
|
/**
|
|
@@ -84,8 +83,8 @@ export interface LoadOptions extends Frida.ScriptOptions, Frida.CompilerOptions
|
|
|
84
83
|
* @category Frida
|
|
85
84
|
*/
|
|
86
85
|
export declare const compile: {
|
|
87
|
-
(entrypoint: string, options?: Frida.CompilerOptions | undefined): Effect.Effect<string, FridaSessionError.FridaSessionError
|
|
88
|
-
(options?: Frida.CompilerOptions | undefined): (entrypoint: string) => Effect.Effect<string, FridaSessionError.FridaSessionError
|
|
86
|
+
(entrypoint: string, options?: Frida.CompilerOptions | undefined): Effect.Effect<string, FridaSessionError.FridaSessionError>;
|
|
87
|
+
(options?: Frida.CompilerOptions | undefined): (entrypoint: string) => Effect.Effect<string, FridaSessionError.FridaSessionError>;
|
|
89
88
|
};
|
|
90
89
|
/**
|
|
91
90
|
* @since 1.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaScript.d.ts","sourceRoot":"","sources":["../src/FridaScript.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"FridaScript.d.ts","sourceRoot":"","sources":["../src/FridaScript.ts"],"names":[],"mappings":"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"}
|
package/dist/FridaScript.js
CHANGED
|
@@ -3,42 +3,43 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
|
-
import * as
|
|
6
|
+
import * as internalCompiler from "./internal/compiler.js";
|
|
7
|
+
import * as internalScript from "./internal/script.js";
|
|
7
8
|
/**
|
|
8
9
|
* @since 1.0.0
|
|
9
10
|
* @category Type ids
|
|
10
11
|
*/
|
|
11
|
-
export const FridaScriptTypeId =
|
|
12
|
+
export const FridaScriptTypeId = internalScript.FridaScriptTypeId;
|
|
12
13
|
/**
|
|
13
14
|
* @since 1.0.0
|
|
14
15
|
* @category Tags
|
|
15
16
|
*/
|
|
16
|
-
export const FridaScript =
|
|
17
|
+
export const FridaScript = internalScript.Tag;
|
|
17
18
|
/**
|
|
18
19
|
* @since 1.0.0
|
|
19
20
|
* @category Predicates
|
|
20
21
|
*/
|
|
21
|
-
export const isFridaScript =
|
|
22
|
+
export const isFridaScript = internalScript.isFridaScript;
|
|
22
23
|
/**
|
|
23
24
|
* @since 1.0.0
|
|
24
25
|
* @category Frida
|
|
25
26
|
*/
|
|
26
|
-
export const compile =
|
|
27
|
+
export const compile = internalCompiler.compile;
|
|
27
28
|
/**
|
|
28
29
|
* @since 1.0.0
|
|
29
30
|
* @category Frida
|
|
30
31
|
*/
|
|
31
|
-
export const load =
|
|
32
|
+
export const load = internalScript.load;
|
|
32
33
|
/**
|
|
33
34
|
* @since 1.0.0
|
|
34
35
|
* @category Layers
|
|
35
36
|
*/
|
|
36
|
-
export const layer =
|
|
37
|
+
export const layer = internalScript.layer;
|
|
37
38
|
/**
|
|
38
39
|
* @since 1.0.0
|
|
39
40
|
* @category Frida
|
|
40
41
|
*/
|
|
41
|
-
export const watch =
|
|
42
|
+
export const watch = internalScript.watch;
|
|
42
43
|
/**
|
|
43
44
|
* Successes will be logged with info, failures with warning, defects with
|
|
44
45
|
* error, and interruptions with debug.
|
|
@@ -46,5 +47,5 @@ export const watch = internal.watch;
|
|
|
46
47
|
* @since 1.0.0
|
|
47
48
|
* @category Frida
|
|
48
49
|
*/
|
|
49
|
-
export const logWatchErrors =
|
|
50
|
+
export const logWatchErrors = internalScript.logWatchErrors;
|
|
50
51
|
//# sourceMappingURL=FridaScript.js.map
|
package/dist/FridaScript.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaScript.js","names":["
|
|
1
|
+
{"version":3,"file":"FridaScript.js","names":["internalCompiler","internalScript","FridaScriptTypeId","FridaScript","Tag","isFridaScript","compile","load","layer","watch","logWatchErrors"],"sources":["../src/FridaScript.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAwBA,OAAO,KAAKA,gBAAgB,MAAM,wBAAwB;AAC1D,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AAEtD;;;;AAIA,OAAO,MAAMC,iBAAiB,GAAkBD,cAAc,CAACC,iBAAiB;AAmChF;;;;AAIA,OAAO,MAAMC,WAAW,GAA8CF,cAAc,CAACG,GAAG;AAExF;;;;AAIA,OAAO,MAAMC,aAAa,GAAqCJ,cAAc,CAACI,aAAa;AA4B3F;;;;AAIA,OAAO,MAAMC,OAAO,GAQhBN,gBAAgB,CAACM,OAAO;AAE5B;;;;AAIA,OAAO,MAAMC,IAAI,GAkBbN,cAAc,CAACM,IAAI;AAEvB;;;;AAIA,OAAO,MAAMC,KAAK,GAQdP,cAAc,CAACO,KAAK;AAExB;;;;AAIA,OAAO,MAAMC,KAAK,GAoBdR,cAAc,CAACQ,KAAK;AAExB;;;;;;;AAOA,OAAO,MAAMC,cAAc,GAEmBT,cAAc,CAACS,cAAc","ignoreList":[]}
|
package/dist/FridaSession.d.ts
CHANGED
|
@@ -5,12 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type * as Cause from "effect/Cause";
|
|
7
7
|
import type * as Context from "effect/Context";
|
|
8
|
+
import type * as Deferred from "effect/Deferred";
|
|
8
9
|
import type * as Effect from "effect/Effect";
|
|
9
10
|
import type * as Layer from "effect/Layer";
|
|
11
|
+
import type * as Option from "effect/Option";
|
|
10
12
|
import type * as Scope from "effect/Scope";
|
|
11
|
-
import type * as Frida from "frida";
|
|
12
13
|
import type * as FridaDevice from "./FridaDevice.ts";
|
|
13
14
|
import type * as FridaSessionError from "./FridaSessionError.ts";
|
|
15
|
+
import type * as Frida from "frida";
|
|
14
16
|
/**
|
|
15
17
|
* @since 1.0.0
|
|
16
18
|
* @category Type ids
|
|
@@ -26,19 +28,31 @@ export type FridaSessionTypeId = typeof FridaSessionTypeId;
|
|
|
26
28
|
* @category Models
|
|
27
29
|
*/
|
|
28
30
|
export interface FridaSession {
|
|
31
|
+
readonly pid: number;
|
|
29
32
|
readonly session: Frida.Session;
|
|
30
33
|
readonly [FridaSessionTypeId]: typeof FridaSessionTypeId;
|
|
31
|
-
readonly
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
readonly detached: Deferred.Deferred<{
|
|
35
|
+
reason: Frida.SessionDetachReason;
|
|
36
|
+
crash: Option.Option<{
|
|
37
|
+
pid: number;
|
|
38
|
+
processName: string;
|
|
39
|
+
summary: string;
|
|
40
|
+
report: string;
|
|
41
|
+
parameters: unknown;
|
|
42
|
+
}>;
|
|
43
|
+
}, FridaSessionError.FridaSessionError>;
|
|
44
|
+
readonly resume: Effect.Effect<void, FridaSessionError.FridaSessionError, never>;
|
|
45
|
+
readonly detach: Effect.Effect<void, FridaSessionError.FridaSessionError, never>;
|
|
46
|
+
readonly enableChildGating: Effect.Effect<void, Cause.UnknownError, never>;
|
|
47
|
+
readonly disableChildGating: Effect.Effect<void, Cause.UnknownError, never>;
|
|
48
|
+
setupPeerConnection(options?: Frida.PeerOptions | undefined): Effect.Effect<void, Cause.UnknownError, never>;
|
|
49
|
+
joinPortal(address: string, options?: Frida.PortalOptions | undefined): Effect.Effect<Frida.PortalMembership, Cause.UnknownError, never>;
|
|
36
50
|
}
|
|
37
51
|
/**
|
|
38
52
|
* @since 1.0.0
|
|
39
53
|
* @category Tags
|
|
40
54
|
*/
|
|
41
|
-
export declare const FridaSession: Context.
|
|
55
|
+
export declare const FridaSession: Context.Service<FridaSession, FridaSession>;
|
|
42
56
|
/**
|
|
43
57
|
* @since 1.0.0
|
|
44
58
|
* @category Predicates
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaSession.d.ts","sourceRoot":"","sources":["../src/FridaSession.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"FridaSession.d.ts","sourceRoot":"","sources":["../src/FridaSession.ts"],"names":[],"mappings":"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"}
|
package/dist/FridaSession.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaSession.js","names":["internal","FridaSessionTypeId","FridaSession","Tag","isFridaSession","frontmost","spawn","attach","layer","layerFrontmost"],"sources":["../src/FridaSession.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;
|
|
1
|
+
{"version":3,"file":"FridaSession.js","names":["internal","FridaSessionTypeId","FridaSession","Tag","isFridaSession","frontmost","spawn","attach","layer","layerFrontmost"],"sources":["../src/FridaSession.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAkBA,OAAO,KAAKA,QAAQ,MAAM,uBAAuB;AAEjD;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAkBD,QAAQ,CAACC,kBAAkB;AAyC5E;;;;AAIA,OAAO,MAAMC,YAAY,GAAgDF,QAAQ,CAACG,GAAG;AAErF;;;;AAIA,OAAO,MAAMC,cAAc,GAAsCJ,QAAQ,CAACI,cAAc;AAExF;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBL,QAAQ,CAACK,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,KAAK,GAGuFN,QAAQ,CAACM,KAAK;AAEvH;;;;AAIA,OAAO,MAAMC,MAAM,GAIfP,QAAQ,CAACO,MAAM;AAEnB;;;;AAIA,OAAO,MAAMC,KAAK,GAG6ER,QAAQ,CAACQ,KAAK;AAE7G;;;;AAIA,OAAO,MAAMC,cAAc,GAEoET,QAAQ,CAACS,cAAc","ignoreList":[]}
|
|
@@ -3,22 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
* @since 1.0.0
|
|
8
|
-
* @category Errors
|
|
9
|
-
*/
|
|
10
|
-
export declare const FridaSessionErrorTypeId: unique symbol;
|
|
11
|
-
/**
|
|
12
|
-
* @since 1.0.0
|
|
13
|
-
* @category Errors
|
|
14
|
-
*/
|
|
15
|
-
export type FridaSessionErrorTypeId = typeof FridaSessionErrorTypeId;
|
|
16
|
-
/**
|
|
17
|
-
* @since 1.0.0
|
|
18
|
-
* @category Errors
|
|
19
|
-
*/
|
|
20
|
-
export declare const isFridaSessionError: (u: unknown) => u is FridaSessionError;
|
|
21
|
-
declare const FridaSessionError_base: new <A extends Record<string, any>>(args: import("effect/Types").Simplify<A>) => import("effect/Cause").YieldableError & Record<typeof FridaSessionErrorTypeId, typeof FridaSessionErrorTypeId> & {
|
|
6
|
+
declare const FridaSessionError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
22
7
|
readonly _tag: "FridaSessionError";
|
|
23
8
|
} & Readonly<A>;
|
|
24
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaSessionError.d.ts","sourceRoot":"","sources":["../src/FridaSessionError.ts"],"names":[],"mappings":"AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"FridaSessionError.d.ts","sourceRoot":"","sources":["../src/FridaSessionError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;;AAIH;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,uBAAsC;IACzE,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EACE,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;CACnB,CAAC;IACE,IAAa,OAAO,WAEnB;CACJ"}
|
|
@@ -3,23 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
|
-
import * as
|
|
7
|
-
import * as Predicate from "effect/Predicate";
|
|
6
|
+
import * as Data from "effect/Data";
|
|
8
7
|
/**
|
|
9
8
|
* @since 1.0.0
|
|
10
9
|
* @category Errors
|
|
11
10
|
*/
|
|
12
|
-
export
|
|
13
|
-
/**
|
|
14
|
-
* @since 1.0.0
|
|
15
|
-
* @category Errors
|
|
16
|
-
*/
|
|
17
|
-
export const isFridaSessionError = u => Predicate.hasProperty(u, FridaSessionErrorTypeId);
|
|
18
|
-
/**
|
|
19
|
-
* @since 1.0.0
|
|
20
|
-
* @category Errors
|
|
21
|
-
*/
|
|
22
|
-
export class FridaSessionError extends /*#__PURE__*/PlatformError.TypeIdError(FridaSessionErrorTypeId, "FridaSessionError") {
|
|
11
|
+
export class FridaSessionError extends /*#__PURE__*/Data.TaggedError("FridaSessionError") {
|
|
23
12
|
get message() {
|
|
24
13
|
return `A Frida session error occurred on ${this.when}`;
|
|
25
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FridaSessionError.js","names":["
|
|
1
|
+
{"version":3,"file":"FridaSessionError.js","names":["Data","FridaSessionError","TaggedError","message","when"],"sources":["../src/FridaSessionError.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAMA,OAAO,KAAKA,IAAI,MAAM,aAAa;AAEnC;;;;AAIA,OAAM,MAAOC,iBAAkB,sBAAQD,IAAI,CAACE,WAAW,CAAC,mBAAmB,CAczE;EACE,IAAaC,OAAOA,CAAA;IAChB,OAAO,qCAAqC,IAAI,CAACC,IAAI,EAAE;EAC3D","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/internal/compiler.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as Cause from "effect/Cause";
|
|
2
|
+
import * as Context from "effect/Context";
|
|
3
|
+
import * as Effect from "effect/Effect";
|
|
4
|
+
import * as Function from "effect/Function";
|
|
5
|
+
import * as Predicate from "effect/Predicate";
|
|
6
|
+
import * as Frida from "frida";
|
|
7
|
+
import * as FridaSessionError from "../FridaSessionError.js";
|
|
8
|
+
/** @internal */
|
|
9
|
+
export const Compiler = /*#__PURE__*/Context.Reference("@efffrida/frida-tools/compiler/default", {
|
|
10
|
+
defaultValue: () => new Frida.Compiler()
|
|
11
|
+
});
|
|
12
|
+
/** @internal */
|
|
13
|
+
export const compile = /*#__PURE__*/Function.dual(arguments_ => Predicate.isString(arguments_[0]), (path, options) => Effect.gen(function* () {
|
|
14
|
+
const compiler = yield* Compiler;
|
|
15
|
+
const formatDiagnostic = diagnostic => {
|
|
16
|
+
const location = diagnostic.file ? `${diagnostic.file.path}:${diagnostic.file.line}:${diagnostic.file.character}` : undefined;
|
|
17
|
+
const message = `TS${diagnostic.code}: ${diagnostic.text}`;
|
|
18
|
+
const cause = location ? `${location} - ${message}` : message;
|
|
19
|
+
return new FridaSessionError.FridaSessionError({
|
|
20
|
+
cause,
|
|
21
|
+
when: "compile"
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
const compileErrors = [];
|
|
25
|
+
const cancellable = new Frida.Cancellable();
|
|
26
|
+
const compilerBuildOptions = {
|
|
27
|
+
externals: options?.externals,
|
|
28
|
+
projectRoot: options?.projectRoot,
|
|
29
|
+
platform: options?.platform ?? Frida.JsPlatform.Gum,
|
|
30
|
+
typeCheck: options?.typeCheck ?? Frida.TypeCheckMode.Full,
|
|
31
|
+
sourceMaps: options?.sourceMaps ?? Frida.SourceMaps.Included,
|
|
32
|
+
compression: options?.compression ?? Frida.JsCompression.None,
|
|
33
|
+
bundleFormat: options?.bundleFormat ?? Frida.BundleFormat.Esm,
|
|
34
|
+
outputFormat: options?.outputFormat ?? Frida.OutputFormat.Unescaped
|
|
35
|
+
};
|
|
36
|
+
return yield* Effect.callback(resume => {
|
|
37
|
+
const onOutput = bundle => {
|
|
38
|
+
disconnectAll();
|
|
39
|
+
resume(Effect.succeed(bundle));
|
|
40
|
+
};
|
|
41
|
+
const onDiagnostic = diagnostic => {
|
|
42
|
+
for (const diag of diagnostic) {
|
|
43
|
+
if (diag.category === "error") {
|
|
44
|
+
compileErrors.push(diag);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const onFinished = () => {
|
|
49
|
+
disconnectAll();
|
|
50
|
+
if (compileErrors.length > 0) {
|
|
51
|
+
resume(Effect.failCauseSync(() => {
|
|
52
|
+
const [first, ...rest] = compileErrors;
|
|
53
|
+
let cause = Cause.fail(formatDiagnostic(first));
|
|
54
|
+
for (const diag of rest) {
|
|
55
|
+
cause = Cause.combine(cause, Cause.fail(formatDiagnostic(diag)));
|
|
56
|
+
}
|
|
57
|
+
return cause;
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
compiler.output.connect(onOutput);
|
|
62
|
+
compiler.diagnostics.connect(onDiagnostic);
|
|
63
|
+
compiler.finished.connect(onFinished);
|
|
64
|
+
const disconnectAll = () => {
|
|
65
|
+
compiler.output.disconnect(onOutput);
|
|
66
|
+
compiler.diagnostics.disconnect(onDiagnostic);
|
|
67
|
+
compiler.finished.disconnect(onFinished);
|
|
68
|
+
};
|
|
69
|
+
compiler.build(path, compilerBuildOptions, cancellable).catch(cause => {
|
|
70
|
+
disconnectAll();
|
|
71
|
+
resume(new FridaSessionError.FridaSessionError({
|
|
72
|
+
when: "compile",
|
|
73
|
+
cause
|
|
74
|
+
}));
|
|
75
|
+
});
|
|
76
|
+
return Effect.sync(() => {
|
|
77
|
+
disconnectAll();
|
|
78
|
+
cancellable.cancel();
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}));
|
|
82
|
+
//# sourceMappingURL=compiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiler.js","names":["Cause","Context","Effect","Function","Predicate","Frida","FridaSessionError","Compiler","Reference","defaultValue","compile","dual","arguments_","isString","path","options","gen","compiler","formatDiagnostic","diagnostic","location","file","line","character","undefined","message","code","text","cause","when","compileErrors","cancellable","Cancellable","compilerBuildOptions","externals","projectRoot","platform","JsPlatform","Gum","typeCheck","TypeCheckMode","Full","sourceMaps","SourceMaps","Included","compression","JsCompression","None","bundleFormat","BundleFormat","Esm","outputFormat","OutputFormat","Unescaped","callback","resume","onOutput","bundle","disconnectAll","succeed","onDiagnostic","diag","category","push","onFinished","length","failCauseSync","first","rest","fail","combine","output","connect","diagnostics","finished","disconnect","build","catch","sync","cancel"],"sources":["../../src/internal/compiler.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAE7C,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,OAAO,KAAKC,iBAAiB,MAAM,yBAAyB;AAE5D;AACA,OAAO,MAAMC,QAAQ,gBAAsCN,OAAO,CAACO,SAAS,CACxE,wCAAwC,EACxC;EAAEC,YAAY,EAAEA,CAAA,KAAM,IAAIJ,KAAK,CAACE,QAAQ;AAAE,CAAE,CAC/C;AAED;AACA,OAAO,MAAMG,OAAO,gBAAGP,QAAQ,CAACQ,IAAI,CAS/BC,UAAU,IAAKR,SAAS,CAACS,QAAQ,CAACD,UAAU,CAAC,CAAC,CAAC,CAAC,EACjD,CAACE,IAAY,EAAEC,OAA2C,KACtDb,MAAM,CAACc,GAAG,CAAC,aAAS;EAChB,MAAMC,QAAQ,GAAG,OAAOV,QAAQ;EAchC,MAAMW,gBAAgB,GAAIC,UAAsB,IAAyC;IACrF,MAAMC,QAAQ,GAAGD,UAAU,CAACE,IAAI,GAC1B,GAAGF,UAAU,CAACE,IAAI,CAACP,IAAI,IAAIK,UAAU,CAACE,IAAI,CAACC,IAAI,IAAIH,UAAU,CAACE,IAAI,CAACE,SAAS,EAAE,GAC9EC,SAAS;IACf,MAAMC,OAAO,GAAG,KAAKN,UAAU,CAACO,IAAI,KAAKP,UAAU,CAACQ,IAAI,EAAE;IAC1D,MAAMC,KAAK,GAAGR,QAAQ,GAAG,GAAGA,QAAQ,MAAMK,OAAO,EAAE,GAAGA,OAAO;IAC7D,OAAO,IAAInB,iBAAiB,CAACA,iBAAiB,CAAC;MAAEsB,KAAK;MAAEC,IAAI,EAAE;IAAS,CAAE,CAAC;EAC9E,CAAC;EAED,MAAMC,aAAa,GAAsB,EAAE;EAC3C,MAAMC,WAAW,GAAG,IAAI1B,KAAK,CAAC2B,WAAW,EAAE;EAE3C,MAAMC,oBAAoB,GAAG;IACzBC,SAAS,EAAEnB,OAAO,EAAEmB,SAAS;IAC7BC,WAAW,EAAEpB,OAAO,EAAEoB,WAAW;IACjCC,QAAQ,EAAErB,OAAO,EAAEqB,QAAQ,IAAI/B,KAAK,CAACgC,UAAU,CAACC,GAAG;IACnDC,SAAS,EAAExB,OAAO,EAAEwB,SAAS,IAAIlC,KAAK,CAACmC,aAAa,CAACC,IAAI;IACzDC,UAAU,EAAE3B,OAAO,EAAE2B,UAAU,IAAIrC,KAAK,CAACsC,UAAU,CAACC,QAAQ;IAC5DC,WAAW,EAAE9B,OAAO,EAAE8B,WAAW,IAAIxC,KAAK,CAACyC,aAAa,CAACC,IAAI;IAC7DC,YAAY,EAAEjC,OAAO,EAAEiC,YAAY,IAAI3C,KAAK,CAAC4C,YAAY,CAACC,GAAG;IAC7DC,YAAY,EAAEpC,OAAO,EAAEoC,YAAY,IAAI9C,KAAK,CAAC+C,YAAY,CAACC;GAC7D;EAED,OAAO,OAAOnD,MAAM,CAACoD,QAAQ,CAAsDC,MAAM,IAAI;IACzF,MAAMC,QAAQ,GAAIC,MAAc,IAAI;MAChCC,aAAa,EAAE;MACfH,MAAM,CAACrD,MAAM,CAACyD,OAAO,CAACF,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAMG,YAAY,GAAIzC,UAA6B,IAAI;MACnD,KAAK,MAAM0C,IAAI,IAAI1C,UAAU,EAAE;QAC3B,IAAI0C,IAAI,CAACC,QAAQ,KAAK,OAAO,EAAE;UAC3BhC,aAAa,CAACiC,IAAI,CAACF,IAAI,CAAC;QAC5B;MACJ;IACJ,CAAC;IAED,MAAMG,UAAU,GAAGA,CAAA,KAAK;MACpBN,aAAa,EAAE;MACf,IAAI5B,aAAa,CAACmC,MAAM,GAAG,CAAC,EAAE;QAC1BV,MAAM,CACFrD,MAAM,CAACgE,aAAa,CAAC,MAAK;UACtB,MAAM,CAACC,KAAK,EAAE,GAAGC,IAAI,CAAC,GAAGtC,aAAa;UACtC,IAAIF,KAAK,GAAG5B,KAAK,CAACqE,IAAI,CAACnD,gBAAgB,CAACiD,KAAK,CAAC,CAAC;UAC/C,KAAK,MAAMN,IAAI,IAAIO,IAAI,EAAE;YACrBxC,KAAK,GAAG5B,KAAK,CAACsE,OAAO,CAAC1C,KAAK,EAAE5B,KAAK,CAACqE,IAAI,CAACnD,gBAAgB,CAAC2C,IAAI,CAAC,CAAC,CAAC;UACpE;UACA,OAAOjC,KAAK;QAChB,CAAC,CAAC,CACL;MACL;IACJ,CAAC;IAEDX,QAAQ,CAACsD,MAAM,CAACC,OAAO,CAAChB,QAAQ,CAAC;IACjCvC,QAAQ,CAACwD,WAAW,CAACD,OAAO,CAACZ,YAAY,CAAC;IAC1C3C,QAAQ,CAACyD,QAAQ,CAACF,OAAO,CAACR,UAAU,CAAC;IACrC,MAAMN,aAAa,GAAGA,CAAA,KAAK;MACvBzC,QAAQ,CAACsD,MAAM,CAACI,UAAU,CAACnB,QAAQ,CAAC;MACpCvC,QAAQ,CAACwD,WAAW,CAACE,UAAU,CAACf,YAAY,CAAC;MAC7C3C,QAAQ,CAACyD,QAAQ,CAACC,UAAU,CAACX,UAAU,CAAC;IAC5C,CAAC;IAED/C,QAAQ,CAAC2D,KAAK,CAAC9D,IAAI,EAAEmB,oBAAoB,EAAEF,WAAW,CAAC,CAAC8C,KAAK,CAAEjD,KAAK,IAAI;MACpE8B,aAAa,EAAE;MACfH,MAAM,CACF,IAAIjD,iBAAiB,CAACA,iBAAiB,CAAC;QACpCuB,IAAI,EAAE,SAAS;QACfD;OACH,CAAC,CACL;IACL,CAAC,CAAC;IAEF,OAAO1B,MAAM,CAAC4E,IAAI,CAAC,MAAK;MACpBpB,aAAa,EAAE;MACf3B,WAAW,CAACgD,MAAM,EAAE;IACxB,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC,CACT","ignoreList":[]}
|