@yume-chan/scrcpy-decoder-webcodecs 0.0.19 → 0.0.20

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/CHANGELOG.json CHANGED
@@ -1,6 +1,18 @@
1
1
  {
2
2
  "name": "@yume-chan/scrcpy-decoder-webcodecs",
3
3
  "entries": [
4
+ {
5
+ "version": "0.0.20",
6
+ "tag": "@yume-chan/scrcpy-decoder-webcodecs_v0.0.20",
7
+ "date": "Mon, 05 Jun 2023 02:51:41 GMT",
8
+ "comments": {
9
+ "none": [
10
+ {
11
+ "comment": "Add support for decoding H.265 on supported browsers (Chrome works, Microsoft Edge with HEVC Video Extension from Microsoft Store doesn't decode H.265 correctly)."
12
+ }
13
+ ]
14
+ }
15
+ },
4
16
  {
5
17
  "version": "0.0.19",
6
18
  "tag": "@yume-chan/scrcpy-decoder-webcodecs_v0.0.19",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Change Log - @yume-chan/scrcpy-decoder-webcodecs
2
2
 
3
- This log was last generated on Sun, 09 Apr 2023 05:55:33 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 05 Jun 2023 02:51:41 GMT and should not be manually modified.
4
+
5
+ ## 0.0.20
6
+ Mon, 05 Jun 2023 02:51:41 GMT
7
+
8
+ ### Updates
9
+
10
+ - Add support for decoding H.265 on supported browsers (Chrome works, Microsoft Edge with HEVC Video Extension from Microsoft Store doesn't decode H.265 correctly).
4
11
 
5
12
  ## 0.0.19
6
13
  Sun, 09 Apr 2023 05:55:33 GMT
package/README.md CHANGED
@@ -4,7 +4,7 @@ Decode and render H.264 streams using the [WebCodecs API](https://developer.mozi
4
4
 
5
5
  It has no dependencies and high performance, but is only available on recent versions of Chrome.
6
6
 
7
- **WARNING:** The public API is UNSTABLE. If you have any questions, please open an issue.
7
+ **WARNING:** The public API is UNSTABLE. Open a GitHub discussion if you have any questions.
8
8
 
9
9
  - [Compatibility](#compatibility)
10
10
  - [Usage](#usage)
package/esm/index.d.ts CHANGED
@@ -1,10 +1,14 @@
1
- import type { ScrcpyVideoStreamPacket } from "@yume-chan/scrcpy";
1
+ import type { ScrcpyMediaStreamPacket } from "@yume-chan/scrcpy";
2
+ import { ScrcpyVideoCodecId } from "@yume-chan/scrcpy";
3
+ import type { ScrcpyVideoDecoder, ScrcpyVideoDecoderCapability } from "@yume-chan/scrcpy-decoder-tinyh264";
2
4
  import { WritableStream } from "@yume-chan/stream-extra";
3
- export declare class WebCodecsDecoder {
4
- readonly maxProfile: undefined;
5
- readonly maxLevel: undefined;
5
+ export declare class WebCodecsDecoder implements ScrcpyVideoDecoder {
6
+ static isSupported(): boolean;
7
+ static readonly capabilities: Record<string, ScrcpyVideoDecoderCapability>;
8
+ private _codec;
9
+ get codec(): ScrcpyVideoCodecId;
6
10
  private _writable;
7
- get writable(): WritableStream<ScrcpyVideoStreamPacket>;
11
+ get writable(): WritableStream<ScrcpyMediaStreamPacket>;
8
12
  private _renderer;
9
13
  get renderer(): HTMLCanvasElement;
10
14
  private _frameRendered;
@@ -13,11 +17,13 @@ export declare class WebCodecsDecoder {
13
17
  get frameSkipped(): number;
14
18
  private context;
15
19
  private decoder;
20
+ private _config;
16
21
  private currentFrameRendered;
17
22
  private animationFrameId;
18
- constructor();
23
+ constructor(codec: ScrcpyVideoCodecId);
19
24
  private onFramePresented;
20
25
  private configure;
26
+ private decode;
21
27
  dispose(): void;
22
28
  }
23
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,uBAAuB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAMzD,qBAAa,gBAAgB;IAGzB,SAAgB,UAAU,YAAa;IACvC,SAAgB,QAAQ,YAAa;IAErC,OAAO,CAAC,SAAS,CAA0C;IAC3D,IAAW,QAAQ,4CAElB;IAED,OAAO,CAAC,SAAS,CAAoB;IACrC,IAAW,QAAQ,sBAElB;IAED,OAAO,CAAC,cAAc,CAAK;IAC3B,IAAW,aAAa,WAEvB;IAED,OAAO,CAAC,aAAa,CAAK;IAC1B,IAAW,YAAY,WAEtB;IAED,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAe;IAE9B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,gBAAgB,CAAK;;IAqD7B,OAAO,CAAC,gBAAgB,CAGtB;IAEF,OAAO,CAAC,SAAS;IAiBV,OAAO;CAIjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAER,uBAAuB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACH,kBAAkB,EAGrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACR,kBAAkB,EAClB,4BAA4B,EAC/B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAezD,qBAAa,gBAAiB,YAAW,kBAAkB;WACzC,WAAW;IAIzB,gBAAuB,YAAY,EAAE,MAAM,CACvC,MAAM,EACN,4BAA4B,CAC/B,CAGC;IAEF,OAAO,CAAC,MAAM,CAAqB;IACnC,IAAW,KAAK,uBAEf;IAED,OAAO,CAAC,SAAS,CAA0C;IAC3D,IAAW,QAAQ,4CAElB;IAED,OAAO,CAAC,SAAS,CAAoB;IACrC,IAAW,QAAQ,sBAElB;IAED,OAAO,CAAC,cAAc,CAAK;IAC3B,IAAW,aAAa,WAEvB;IAED,OAAO,CAAC,aAAa,CAAK;IAC1B,IAAW,YAAY,WAEtB;IAED,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,OAAO,CAAyB;IAExC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,gBAAgB,CAAK;gBAEV,KAAK,EAAE,kBAAkB;IA6C5C,OAAO,CAAC,gBAAgB,CAGtB;IAEF,OAAO,CAAC,SAAS;IAgEjB,OAAO,CAAC,MAAM;IA6BP,OAAO;CAMjB"}
package/esm/index.js CHANGED
@@ -1,12 +1,26 @@
1
+ import { ScrcpyVideoCodecId, h264ParseConfiguration, h265ParseConfiguration, } from "@yume-chan/scrcpy";
1
2
  import { WritableStream } from "@yume-chan/stream-extra";
2
3
  function toHex(value) {
3
4
  return value.toString(16).padStart(2, "0").toUpperCase();
4
5
  }
5
- export class WebCodecsDecoder {
6
- // Usually, browsers can decode most configurations,
7
- // So let device choose best profile and level for itself.
8
- maxProfile = undefined;
9
- maxLevel = undefined;
6
+ function toUint32Le(data, offset) {
7
+ return (data[offset] |
8
+ (data[offset + 1] << 8) |
9
+ (data[offset + 2] << 16) |
10
+ (data[offset + 3] << 24));
11
+ }
12
+ class WebCodecsDecoder {
13
+ static isSupported() {
14
+ return typeof globalThis.VideoDecoder !== "undefined";
15
+ }
16
+ static capabilities = {
17
+ h264: {},
18
+ h265: {},
19
+ };
20
+ _codec;
21
+ get codec() {
22
+ return this._codec;
23
+ }
10
24
  _writable;
11
25
  get writable() {
12
26
  return this._writable;
@@ -25,9 +39,11 @@ export class WebCodecsDecoder {
25
39
  }
26
40
  context;
27
41
  decoder;
42
+ _config;
28
43
  currentFrameRendered = false;
29
44
  animationFrameId = 0;
30
- constructor() {
45
+ constructor(codec) {
46
+ this._codec = codec;
31
47
  this._renderer = document.createElement("canvas");
32
48
  this.context = this._renderer.getContext("2d");
33
49
  this.decoder = new VideoDecoder({
@@ -58,13 +74,8 @@ export class WebCodecsDecoder {
58
74
  case "configuration":
59
75
  this.configure(packet.data);
60
76
  break;
61
- case "frame":
62
- this.decoder.decode(new EncodedVideoChunk({
63
- // Treat `undefined` as `key`, otherwise won't decode.
64
- type: packet.keyframe === false ? "delta" : "key",
65
- timestamp: 0,
66
- data: packet.data,
67
- }));
77
+ case "data":
78
+ this.decode(packet);
68
79
  break;
69
80
  }
70
81
  },
@@ -75,23 +86,79 @@ export class WebCodecsDecoder {
75
86
  this.currentFrameRendered = false;
76
87
  this.animationFrameId = requestAnimationFrame(this.onFramePresented);
77
88
  };
78
- configure(config) {
79
- const { profileIndex, constraintSet, levelIndex } = config;
80
- this._renderer.width = config.croppedWidth;
81
- this._renderer.height = config.croppedHeight;
82
- // https://www.rfc-editor.org/rfc/rfc6381#section-3.3
83
- // ISO Base Media File Format Name Space
84
- const codec = `avc1.${[profileIndex, constraintSet, levelIndex]
85
- .map(toHex)
86
- .join("")}`;
87
- this.decoder.configure({
88
- codec: codec,
89
- optimizeForLatency: true,
90
- });
89
+ configure(data) {
90
+ switch (this._codec) {
91
+ case ScrcpyVideoCodecId.H264: {
92
+ const { profileIndex, constraintSet, levelIndex, croppedWidth, croppedHeight, } = h264ParseConfiguration(data);
93
+ this._renderer.width = croppedWidth;
94
+ this._renderer.height = croppedHeight;
95
+ // https://www.rfc-editor.org/rfc/rfc6381#section-3.3
96
+ // ISO Base Media File Format Name Space
97
+ const codec = `avc1.${[profileIndex, constraintSet, levelIndex]
98
+ .map(toHex)
99
+ .join("")}`;
100
+ this.decoder.configure({
101
+ codec: codec,
102
+ optimizeForLatency: true,
103
+ });
104
+ break;
105
+ }
106
+ case ScrcpyVideoCodecId.H265: {
107
+ const { generalProfileSpace, generalProfileIndex, generalProfileCompatibilitySet, generalTierFlag, generalLevelIndex, generalConstraintSet, croppedWidth, croppedHeight, } = h265ParseConfiguration(data);
108
+ this._renderer.width = croppedWidth;
109
+ this._renderer.height = croppedHeight;
110
+ const codec = [
111
+ "hev1",
112
+ ["", "A", "B", "C"][generalProfileSpace] +
113
+ generalProfileIndex.toString(),
114
+ toUint32Le(generalProfileCompatibilitySet, 0).toString(16),
115
+ (generalTierFlag ? "H" : "L") +
116
+ generalLevelIndex.toString(),
117
+ toUint32Le(generalConstraintSet, 0)
118
+ .toString(16)
119
+ .toUpperCase(),
120
+ toUint32Le(generalConstraintSet, 4)
121
+ .toString(16)
122
+ .toUpperCase(),
123
+ ].join(".");
124
+ this.decoder.configure({
125
+ codec,
126
+ optimizeForLatency: true,
127
+ });
128
+ break;
129
+ }
130
+ }
131
+ this._config = data;
132
+ }
133
+ decode(packet) {
134
+ if (this.decoder.state !== "configured") {
135
+ return;
136
+ }
137
+ // WebCodecs requires configuration data to be with the first frame.
138
+ // https://www.w3.org/TR/webcodecs-avc-codec-registration/#encodedvideochunk-type
139
+ let data;
140
+ if (this._config !== undefined) {
141
+ data = new Uint8Array(this._config.byteLength + packet.data.byteLength);
142
+ data.set(this._config, 0);
143
+ data.set(packet.data, this._config.byteLength);
144
+ this._config = undefined;
145
+ }
146
+ else {
147
+ data = packet.data;
148
+ }
149
+ this.decoder.decode(new EncodedVideoChunk({
150
+ // Treat `undefined` as `key`, otherwise won't decode.
151
+ type: packet.keyframe === false ? "delta" : "key",
152
+ timestamp: 0,
153
+ data,
154
+ }));
91
155
  }
92
156
  dispose() {
93
157
  cancelAnimationFrame(this.animationFrameId);
94
- this.decoder.close();
158
+ if (this.decoder.state !== "closed") {
159
+ this.decoder.close();
160
+ }
95
161
  }
96
162
  }
163
+ export { WebCodecsDecoder };
97
164
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yume-chan/scrcpy-decoder-webcodecs",
3
- "version": "0.0.19",
3
+ "version": "0.0.20",
4
4
  "description": "Raw H.264 stream decoder and renderer using WebCodecs API (requires modern browser).",
5
5
  "keywords": [
6
6
  "adb",
@@ -28,20 +28,21 @@
28
28
  "types": "esm/index.d.ts",
29
29
  "dependencies": {
30
30
  "@types/dom-webcodecs": "^0.1.6",
31
- "@yume-chan/scrcpy": "^0.0.19",
32
- "@yume-chan/stream-extra": "^0.0.19",
33
- "tslib": "^2.4.1"
31
+ "@yume-chan/scrcpy": "^0.0.20",
32
+ "@yume-chan/scrcpy-decoder-tinyh264": "^0.0.20",
33
+ "@yume-chan/stream-extra": "^0.0.20",
34
+ "tslib": "^2.5.2"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@jest/globals": "^29.5.0",
37
38
  "@yume-chan/eslint-config": "^1.0.0",
38
39
  "@yume-chan/tsconfig": "^1.0.0",
39
40
  "cross-env": "^7.0.3",
40
- "eslint": "^8.36.0",
41
+ "eslint": "^8.41.0",
41
42
  "jest": "^29.5.0",
42
- "prettier": "^2.8.4",
43
+ "prettier": "^2.8.8",
43
44
  "ts-jest": "^29.0.4",
44
- "typescript": "^4.9.4"
45
+ "typescript": "^5.0.3"
45
46
  },
46
47
  "scripts": {
47
48
  "build": "tsc -b tsconfig.build.json",
package/src/index.ts CHANGED
@@ -1,20 +1,50 @@
1
1
  import type {
2
- H264Configuration,
3
- ScrcpyVideoStreamPacket,
2
+ ScrcpyMediaStreamDataPacket,
3
+ ScrcpyMediaStreamPacket,
4
4
  } from "@yume-chan/scrcpy";
5
+ import {
6
+ ScrcpyVideoCodecId,
7
+ h264ParseConfiguration,
8
+ h265ParseConfiguration,
9
+ } from "@yume-chan/scrcpy";
10
+ import type {
11
+ ScrcpyVideoDecoder,
12
+ ScrcpyVideoDecoderCapability,
13
+ } from "@yume-chan/scrcpy-decoder-tinyh264";
5
14
  import { WritableStream } from "@yume-chan/stream-extra";
6
15
 
7
16
  function toHex(value: number) {
8
17
  return value.toString(16).padStart(2, "0").toUpperCase();
9
18
  }
10
19
 
11
- export class WebCodecsDecoder {
12
- // Usually, browsers can decode most configurations,
13
- // So let device choose best profile and level for itself.
14
- public readonly maxProfile = undefined;
15
- public readonly maxLevel = undefined;
20
+ function toUint32Le(data: Uint8Array, offset: number) {
21
+ return (
22
+ data[offset]! |
23
+ (data[offset + 1]! << 8) |
24
+ (data[offset + 2]! << 16) |
25
+ (data[offset + 3]! << 24)
26
+ );
27
+ }
28
+
29
+ export class WebCodecsDecoder implements ScrcpyVideoDecoder {
30
+ public static isSupported() {
31
+ return typeof globalThis.VideoDecoder !== "undefined";
32
+ }
33
+
34
+ public static readonly capabilities: Record<
35
+ string,
36
+ ScrcpyVideoDecoderCapability
37
+ > = {
38
+ h264: {},
39
+ h265: {},
40
+ };
16
41
 
17
- private _writable: WritableStream<ScrcpyVideoStreamPacket>;
42
+ private _codec: ScrcpyVideoCodecId;
43
+ public get codec() {
44
+ return this._codec;
45
+ }
46
+
47
+ private _writable: WritableStream<ScrcpyMediaStreamPacket>;
18
48
  public get writable() {
19
49
  return this._writable;
20
50
  }
@@ -36,11 +66,14 @@ export class WebCodecsDecoder {
36
66
 
37
67
  private context: CanvasRenderingContext2D;
38
68
  private decoder: VideoDecoder;
69
+ private _config: Uint8Array | undefined;
39
70
 
40
71
  private currentFrameRendered = false;
41
72
  private animationFrameId = 0;
42
73
 
43
- public constructor() {
74
+ public constructor(codec: ScrcpyVideoCodecId) {
75
+ this._codec = codec;
76
+
44
77
  this._renderer = document.createElement("canvas");
45
78
 
46
79
  this.context = this._renderer.getContext("2d")!;
@@ -67,22 +100,14 @@ export class WebCodecsDecoder {
67
100
  },
68
101
  });
69
102
 
70
- this._writable = new WritableStream<ScrcpyVideoStreamPacket>({
103
+ this._writable = new WritableStream<ScrcpyMediaStreamPacket>({
71
104
  write: (packet) => {
72
105
  switch (packet.type) {
73
106
  case "configuration":
74
107
  this.configure(packet.data);
75
108
  break;
76
- case "frame":
77
- this.decoder.decode(
78
- new EncodedVideoChunk({
79
- // Treat `undefined` as `key`, otherwise won't decode.
80
- type:
81
- packet.keyframe === false ? "delta" : "key",
82
- timestamp: 0,
83
- data: packet.data,
84
- })
85
- );
109
+ case "data":
110
+ this.decode(packet);
86
111
  break;
87
112
  }
88
113
  },
@@ -96,25 +121,103 @@ export class WebCodecsDecoder {
96
121
  this.animationFrameId = requestAnimationFrame(this.onFramePresented);
97
122
  };
98
123
 
99
- private configure(config: H264Configuration) {
100
- const { profileIndex, constraintSet, levelIndex } = config;
101
-
102
- this._renderer.width = config.croppedWidth;
103
- this._renderer.height = config.croppedHeight;
124
+ private configure(data: Uint8Array) {
125
+ switch (this._codec) {
126
+ case ScrcpyVideoCodecId.H264: {
127
+ const {
128
+ profileIndex,
129
+ constraintSet,
130
+ levelIndex,
131
+ croppedWidth,
132
+ croppedHeight,
133
+ } = h264ParseConfiguration(data);
134
+
135
+ this._renderer.width = croppedWidth;
136
+ this._renderer.height = croppedHeight;
137
+
138
+ // https://www.rfc-editor.org/rfc/rfc6381#section-3.3
139
+ // ISO Base Media File Format Name Space
140
+ const codec = `avc1.${[profileIndex, constraintSet, levelIndex]
141
+ .map(toHex)
142
+ .join("")}`;
143
+ this.decoder.configure({
144
+ codec: codec,
145
+ optimizeForLatency: true,
146
+ });
147
+ break;
148
+ }
149
+ case ScrcpyVideoCodecId.H265: {
150
+ const {
151
+ generalProfileSpace,
152
+ generalProfileIndex,
153
+ generalProfileCompatibilitySet,
154
+ generalTierFlag,
155
+ generalLevelIndex,
156
+ generalConstraintSet,
157
+ croppedWidth,
158
+ croppedHeight,
159
+ } = h265ParseConfiguration(data);
160
+
161
+ this._renderer.width = croppedWidth;
162
+ this._renderer.height = croppedHeight;
163
+
164
+ const codec = [
165
+ "hev1",
166
+ ["", "A", "B", "C"][generalProfileSpace]! +
167
+ generalProfileIndex.toString(),
168
+ toUint32Le(generalProfileCompatibilitySet, 0).toString(16),
169
+ (generalTierFlag ? "H" : "L") +
170
+ generalLevelIndex.toString(),
171
+ toUint32Le(generalConstraintSet, 0)
172
+ .toString(16)
173
+ .toUpperCase(),
174
+ toUint32Le(generalConstraintSet, 4)
175
+ .toString(16)
176
+ .toUpperCase(),
177
+ ].join(".");
178
+ this.decoder.configure({
179
+ codec,
180
+ optimizeForLatency: true,
181
+ });
182
+ break;
183
+ }
184
+ }
185
+ this._config = data;
186
+ }
104
187
 
105
- // https://www.rfc-editor.org/rfc/rfc6381#section-3.3
106
- // ISO Base Media File Format Name Space
107
- const codec = `avc1.${[profileIndex, constraintSet, levelIndex]
108
- .map(toHex)
109
- .join("")}`;
110
- this.decoder.configure({
111
- codec: codec,
112
- optimizeForLatency: true,
113
- });
188
+ private decode(packet: ScrcpyMediaStreamDataPacket) {
189
+ if (this.decoder.state !== "configured") {
190
+ return;
191
+ }
192
+
193
+ // WebCodecs requires configuration data to be with the first frame.
194
+ // https://www.w3.org/TR/webcodecs-avc-codec-registration/#encodedvideochunk-type
195
+ let data: Uint8Array;
196
+ if (this._config !== undefined) {
197
+ data = new Uint8Array(
198
+ this._config.byteLength + packet.data.byteLength
199
+ );
200
+ data.set(this._config, 0);
201
+ data.set(packet.data, this._config.byteLength);
202
+ this._config = undefined;
203
+ } else {
204
+ data = packet.data;
205
+ }
206
+
207
+ this.decoder.decode(
208
+ new EncodedVideoChunk({
209
+ // Treat `undefined` as `key`, otherwise won't decode.
210
+ type: packet.keyframe === false ? "delta" : "key",
211
+ timestamp: 0,
212
+ data,
213
+ })
214
+ );
114
215
  }
115
216
 
116
217
  public dispose() {
117
218
  cancelAnimationFrame(this.animationFrameId);
118
- this.decoder.close();
219
+ if (this.decoder.state !== "closed") {
220
+ this.decoder.close();
221
+ }
119
222
  }
120
223
  }
@@ -8,5 +8,16 @@
8
8
  "types": [
9
9
  "dom-webcodecs"
10
10
  ]
11
- }
11
+ },
12
+ "references": [
13
+ {
14
+ "path": "../scrcpy/tsconfig.build.json"
15
+ },
16
+ {
17
+ "path": "../scrcpy-decoder-tinyh264/tsconfig.build.json"
18
+ },
19
+ {
20
+ "path": "../stream-extra/tsconfig.build.json"
21
+ },
22
+ ]
12
23
  }
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2023.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.esnext.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../common/temp/node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.d.ts","../struct/esm/basic/options.d.ts","../struct/esm/basic/struct-value.d.ts","../struct/esm/basic/field-value.d.ts","../struct/esm/utils.d.ts","../struct/esm/basic/stream.d.ts","../struct/esm/basic/definition.d.ts","../struct/esm/basic/index.d.ts","../struct/esm/types/bigint.d.ts","../struct/esm/types/buffer/base.d.ts","../struct/esm/types/buffer/fixed-length.d.ts","../struct/esm/types/buffer/variable-length.d.ts","../struct/esm/types/buffer/index.d.ts","../struct/esm/types/number.d.ts","../struct/esm/types/index.d.ts","../struct/esm/struct.d.ts","../struct/esm/index.d.ts","../../common/temp/node_modules/.pnpm/web-streams-polyfill@4.0.0-beta.3/node_modules/web-streams-polyfill/types/ponyfill.d.ts","../stream-extra/esm/stream.d.ts","../stream-extra/esm/buffered.d.ts","../stream-extra/esm/buffered-transform.d.ts","../stream-extra/esm/consumable.d.ts","../stream-extra/esm/decode-utf8.d.ts","../stream-extra/esm/distribution.d.ts","../stream-extra/esm/wrap-readable.d.ts","../stream-extra/esm/duplex.d.ts","../stream-extra/esm/gather-string.d.ts","../stream-extra/esm/inspect.d.ts","../stream-extra/esm/pipe-from.d.ts","../stream-extra/esm/push-readable.d.ts","../stream-extra/esm/split-string.d.ts","../stream-extra/esm/struct-deserialize.d.ts","../stream-extra/esm/struct-serialize.d.ts","../stream-extra/esm/wrap-writable.d.ts","../stream-extra/esm/index.d.ts","../event/esm/disposable.d.ts","../event/esm/event.d.ts","../event/esm/event-emitter.d.ts","../event/esm/utils.d.ts","../event/esm/index.d.ts","../adb/esm/packet.d.ts","../adb/esm/auth.d.ts","../adb/esm/commands/base.d.ts","../adb/esm/commands/framebuffer.d.ts","../adb/esm/commands/power.d.ts","../adb/esm/socket/socket.d.ts","../adb/esm/socket/dispatcher.d.ts","../adb/esm/socket/index.d.ts","../adb/esm/commands/reverse.d.ts","../adb/esm/commands/subprocess/protocols/types.d.ts","../adb/esm/commands/subprocess/protocols/none.d.ts","../adb/esm/commands/subprocess/protocols/shell.d.ts","../adb/esm/commands/subprocess/protocols/index.d.ts","../adb/esm/commands/subprocess/command.d.ts","../adb/esm/commands/subprocess/utils.d.ts","../adb/esm/commands/subprocess/index.d.ts","../adb/esm/commands/sync/response.d.ts","../adb/esm/commands/sync/socket.d.ts","../adb/esm/commands/sync/stat.d.ts","../adb/esm/commands/sync/list.d.ts","../adb/esm/commands/sync/pull.d.ts","../adb/esm/commands/sync/request.d.ts","../adb/esm/commands/sync/push.d.ts","../adb/esm/commands/sync/sync.d.ts","../adb/esm/commands/sync/index.d.ts","../adb/esm/commands/tcpip.d.ts","../adb/esm/commands/index.d.ts","../adb/esm/features.d.ts","../adb/esm/adb.d.ts","../adb/esm/backend.d.ts","../adb/esm/crypto.d.ts","../adb/esm/utils/auto-reset-event.d.ts","../adb/esm/utils/base64.d.ts","../adb/esm/utils/conditional-variable.d.ts","../adb/esm/utils/index.d.ts","../adb/esm/index.d.ts","../scrcpy/esm/codec.d.ts","../scrcpy/esm/control/back-or-screen-on.d.ts","../scrcpy/esm/control/type.d.ts","../scrcpy/esm/control/inject-touch.d.ts","../scrcpy/esm/control/hover-helper.d.ts","../scrcpy/esm/control/inject-keycode.d.ts","../scrcpy/esm/control/inject-scroll.d.ts","../scrcpy/esm/control/inject-text.d.ts","../scrcpy/esm/control/rotate-device.d.ts","../scrcpy/esm/control/set-screen-power-mode.d.ts","../scrcpy/esm/control/serializer.d.ts","../scrcpy/esm/control/set-clipboard.d.ts","../scrcpy/esm/control/index.d.ts","../scrcpy/esm/options/1_16/scroll.d.ts","../scrcpy/esm/options/types.d.ts","../scrcpy/esm/options/1_16/codec-options.d.ts","../scrcpy/esm/options/1_16/h264-configuration.d.ts","../scrcpy/esm/options/1_16/options.d.ts","../scrcpy/esm/options/1_16/index.d.ts","../scrcpy/esm/options/1_18.d.ts","../scrcpy/esm/options/1_21.d.ts","../scrcpy/esm/options/1_22/options.d.ts","../scrcpy/esm/options/1_22/scroll.d.ts","../scrcpy/esm/options/1_22/index.d.ts","../scrcpy/esm/options/1_23.d.ts","../scrcpy/esm/options/1_24.d.ts","../scrcpy/esm/options/1_25/options.d.ts","../scrcpy/esm/options/1_25/scroll.d.ts","../scrcpy/esm/options/1_25/index.d.ts","../scrcpy/esm/options/index.d.ts","../scrcpy/esm/adb/connection.d.ts","../scrcpy/esm/adb/options/types.d.ts","../scrcpy/esm/adb/options/1_16.d.ts","../scrcpy/esm/adb/options/1_22.d.ts","../scrcpy/esm/adb/options/index.d.ts","../scrcpy/esm/device-message/type.d.ts","../scrcpy/esm/device-message/ack-clipboard.d.ts","../scrcpy/esm/device-message/clipboard.d.ts","../scrcpy/esm/device-message/stream.d.ts","../scrcpy/esm/device-message/index.d.ts","../scrcpy/esm/adb/client.d.ts","../scrcpy/esm/adb/index.d.ts","../scrcpy/esm/index.d.ts","./src/index.ts","../../common/temp/node_modules/.pnpm/@types+dom-webcodecs@0.1.6/node_modules/@types/dom-webcodecs/webcodecs.generated.d.ts","../../common/temp/node_modules/.pnpm/@types+dom-webcodecs@0.1.6/node_modules/@types/dom-webcodecs/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","impliedFormat":1},{"version":"27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","impliedFormat":1},{"version":"eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec","impliedFormat":1},{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true,"impliedFormat":1},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true,"impliedFormat":1},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true,"impliedFormat":1},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true,"impliedFormat":1},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1c9fe42b65437a61104e601eb298c5c859fb522b483f1bdb700eed67a16f980","impliedFormat":1},{"version":"7ceac7d7800ef7065908464aba0a009e9a03ff95f177a44f999687bdf10d039f","impliedFormat":99},{"version":"6043ab81faab77b975cb2a8457cc28c3b6f90a766cbbd27914da686bc41c83a0","impliedFormat":99},{"version":"613051be0c04c0fadf883f5ec01dcb0a4639ac92d9e2c12a222680c91b374595","impliedFormat":99},{"version":"a740a1e2d889fc4344fbb49a7f8b02ee664850be5cdcf029ace8ceb4316623db","impliedFormat":99},{"version":"12f034074aafde1bb145598fb874ae56b0b53a1c3ed0434a5d3ea8eb03c62b72","impliedFormat":99},{"version":"cc1d94a37d0dde4d5a85a35aa9133abdb9696987960116e29140c08ebdcdd869","impliedFormat":99},{"version":"5af3b8b1a9063e033fc1e32a3e95956f5f5e22548d5ccca628b1ab87e42087d1","impliedFormat":99},{"version":"152e4cab74b292a4de587e604c6133bab4525f0de7b32dfaf4a211de799ef262","impliedFormat":99},{"version":"1b1e7a0b9362425c6be672b9fcf1fb2763df4e959ce840c9fdce190eeb8905ba","impliedFormat":99},{"version":"4e74287ad61c1544e88339e78a4da19cb79c729be8799b8cd190353368532e30","impliedFormat":99},{"version":"21a136c72551be7c24d797d4fa1401d35ee62325bec7442a6869cea50a50ad7a","impliedFormat":99},{"version":"5ea1325a998e722fffc89ff8c2d00eaf35e491f3fada16fb56c6360f63d16d79","impliedFormat":99},{"version":"c4b01fc816c556f2479d264535644a9a4ba578e241027c21b2a2229b7647887e","impliedFormat":99},{"version":"e24d67437856c921a9a40f7fbac38ac576439e6616eb698fb769279ecbc7802a","impliedFormat":99},{"version":"c87cd07810cf18ff00240875c8e7b3249bb5e1dd15418193d27265586ba69179","impliedFormat":99},{"version":"b338c41818e59749b93f43406018eaa613a8ced869ad63873f2cea90643af5a1","affectsGlobalScope":true,"impliedFormat":99},{"version":"19c2d8da51e4944a19e0ca377df3fd9d249dd8f9cab9544632fb8d10a72808f7","impliedFormat":1},{"version":"a387648b45b3d02c838a213809bf7aa3a3c6e009b0cfedbbb98e7863219fd0b4","impliedFormat":99},{"version":"82d95f72c9325b602b1195a9f360b95adb7e923c1e0b9250ecc005089cbd2021","impliedFormat":99},{"version":"fd8347fd6cd4011b97ca0e578b64147040d25f1afd065bd75195d6050567382e","impliedFormat":99},{"version":"5402edb6222bbecbcda82571908c4b59a1f0782b022b3d40f3c8dd44008c6c76","impliedFormat":99},{"version":"316d7bdfb430fa119cbd460e01ffbf726321a5e54575c22b70e8ff56241d849a","impliedFormat":99},{"version":"4bc1ccb8c2c3b50d3502ffdbb66483eda7bef78b6e9daf396ec69e63efb2ff21","impliedFormat":99},{"version":"54c5a024ed2e63b62797f520e2e0623d4fdc7bb07abb474d460e6fe9f07ad7f3","impliedFormat":99},{"version":"61f0e8bdd3c52b89d45bf3681464040843ad8c8b70fff57df8960af47d5e0a5b","impliedFormat":99},{"version":"10e344cfaa2a9bded8a2e30756ed0852605887307b3039d13bfc445af8de8301","impliedFormat":99},{"version":"4ebc57d20caf062019a2b8c9ce1e54602a411022eb4f7fa325888b9bcf63693a","impliedFormat":99},{"version":"662cafdf363d512eff0d6c525c711684dba726ac5f4d09f473110a05c8ecd8e5","impliedFormat":99},{"version":"86c62ba4f3279d13647e2901b8819c9b32f4eb9645d50d02b4d60e5521f693db","impliedFormat":99},{"version":"98678d6ac29dfa3f80452de2a87f464dee4908476f817d6f5e0677802ad43f7b","impliedFormat":99},{"version":"057f28f1e4c53bfdc397099ee4bf873ef32f26a938a135881b19bf10f968a805","impliedFormat":99},{"version":"d00e790b0d3738482ddb18bb446210b41019520dd32438570d6bc533f7b95239","impliedFormat":99},{"version":"bd612398057a1da74a8be7f9691b175c5b9136f74b2196849b012bf3409aa9e0","impliedFormat":99},{"version":"9e33e135a12a5761c92a4ef0057e1d24310ada6f0758a13223036efc22b9e745","impliedFormat":99},{"version":"7565a3e1f88b68c438331d8ece71540f9fb5a11a8a0480b5c262c701142c5048","impliedFormat":99},{"version":"af6ac8a19dbd05c34feff97d0eae81194fd0be1358bd2366478e9a574492d332","impliedFormat":99},{"version":"a21c587d34edbe9808b8f4fac207d190f802687b477ef55ee0f494d79a427f31","impliedFormat":99},{"version":"f00b8fc0c970cfd54d4df6047aae216bce4d7a2ceb6610655541a678ac54c57a","impliedFormat":99},{"version":"11fd6a023d60896a902933f64a2c8363102e5276838dbe29aa02a24c2e69fbd1","impliedFormat":99},{"version":"1087c7588b6e88542b88e6aa8498c09c6ce8c0c3df40bde2d37e20f357210a05","impliedFormat":99},{"version":"7b2e738c6a41ddb1ccfd7084619c45b1132a21c5f05f23c65ae3daa90b9ed24f","impliedFormat":99},{"version":"d5664fad55c16b09f4fbda92412a3c0d99c5e143434a5a82dc0f86d0823014ae","impliedFormat":99},{"version":"ac5d1242b5e0af60effdcbdbd2ea3f1a1cfbc2877eb4ad8e6df0e596ff3ce047","impliedFormat":99},{"version":"5db340210b35bc3cbe55892dd69d953a5d98f2063a9bb4717733bc262f0ae47c","impliedFormat":99},{"version":"b04d6cec751769f0fb57bd0b8db0ed3f2ac60be345207bbcdf8fc9f6de354515","impliedFormat":99},{"version":"b3326593def9cffb6cbfeddea51593a8865053d37a27db7580556a1b710a688b","impliedFormat":99},{"version":"d5bf42b8ace334e2a274b0e2c5d4c2f0eb53034813a692df4741dd299458060b","impliedFormat":99},{"version":"0a5123149bb8b9d612a7187a92e163b71f78a3dd182717660bfcd812e962cf31","impliedFormat":99},{"version":"aa235f1a22fbfcdf04c852a6ff4acd0ad6ea50e3c6875dce97ec14114fd311ad","impliedFormat":99},{"version":"a14c3eb861d4aa86a7f471b0779cb25f124b457cd0fe779b77261dcce816b19f","impliedFormat":99},{"version":"2d7311fdb705d03b0020f2ae6253a46c66f0457de0e5126188f4f78ea1192337","impliedFormat":99},{"version":"721313e1405531faa6e144e78ad3561023150692fbbcc23a4db9c2bda7e2b292","impliedFormat":99},{"version":"0bfafbea0db16cf312eb181f9153d840640fc36e47c0e61b30ddc16e5d23d432","impliedFormat":99},{"version":"3651947da5192aa0655f8a24ca016b3fb0a65bf24950cf52176d8972c7c32785","impliedFormat":99},{"version":"98da7969aa8079a6625791fdb0806f2cb125ae398bccd84e8cb8a76c454aac93","impliedFormat":99},{"version":"f31ad9485ec184e2fa924a3069c5eaf6f27b19e20b449893c6a288d0aa6337ae","impliedFormat":99},{"version":"2a06ca67fa040851e26d37c21979babae1064a117c137d6bc30051a20486ce03","impliedFormat":99},{"version":"8fc0d6a1e97a1fcd37ebdb72241e4608652a69e1a963ca662d1429750cf04f73","impliedFormat":99},{"version":"8f70945f7ea3ad857863b6035d2ac1fdf1b6793c6a2ca74ce89508f82be4dc29","impliedFormat":99},{"version":"85e159ffc1676583a00e26cdae8f40fa3139e32c89aa7ecbc725e120a8db1418","impliedFormat":99},{"version":"ea4d0669fa41158a8ae4dfbcb9f690f3177edd29c83a4cf01b74a4db24c5dcc8","impliedFormat":99},{"version":"81c0e96521d9ec47ea0f3bf09cb6fb49164232ddb1c809ec9e3b305c9a4421c9","impliedFormat":99},{"version":"a02909c6e3790be21c868ecb6476e58aeb8fef5c06f22437b224b317ae1a43f8","impliedFormat":99},{"version":"eb90fe18be0b3b5b759ff8f055e9ccb19c6a4287c9061c7a4bb9805968e46498","impliedFormat":99},{"version":"a76a1399270bdc86cfeb714aa6df221e2d6192a2c03431471ffdca52e5e4a356","impliedFormat":99},{"version":"055d5c58abf9c069d88cd9f62a426008adc38258390ceba978fa527fffa54441","impliedFormat":99},{"version":"020962899646e5e2efc7100d1a0c443be16800cef6f2cada68c20fe8de585d43","impliedFormat":99},{"version":"8984b8945e5a6f5af1eea0a34d4aa5f27029016dad98042fc6b459a76d8bdef0","impliedFormat":99},{"version":"b9ba968a57a494905241b7d4262cb3bc3aeb03b686415864e047ab1460ccb216","impliedFormat":99},{"version":"964c7df55e12845987b9f00ad0712f7c4f4cf9de0cd4c0a85a357e4e9ea84d10","impliedFormat":99},{"version":"2f90209a833cbd50fc60babcd00c89f5c7d9550191eaa6675efa0c1c2afc5c44","impliedFormat":99},{"version":"c82303f9ddeb0df5c2853ba02e9f1603ad0f01200225e6ee4cb2da53757243c0","impliedFormat":99},{"version":"6f74bbe0cfee09e9a504d4e4960a79bb400bdb7d7f1d016a232b550041f8bb7c","impliedFormat":99},{"version":"0d0dd6f1533d68d703542b713df2961e6749dca1885e07487fd5fd383bac0392","impliedFormat":99},{"version":"d21a377e40fb4a26b08d2b10c3a9f1bad0bb449cc7b2c7daee2b4a5fdc547b98","impliedFormat":99},{"version":"4f27dd9d9943ab63bb3e7f95d4eed4c6667cb1d95b9ee2a4c3fdf1a7a776abac","impliedFormat":99},{"version":"a31391fa2f5bc2a2ab0d9ff01f9cd79a8a128d3a5a2094257ad82cb65638756e","impliedFormat":99},{"version":"164bb963f999fabf6740f6eca51e1f9c2da551d5bafcf0976645996ef5615383","impliedFormat":99},{"version":"96391ee05d953842574a34b7dac82f23600d5c429fea4144f86d873a76ca4aff","impliedFormat":99},{"version":"da8ac3f526357e29cc2b5396b63272fa88b33f533165394e0104a0da5271620f","impliedFormat":99},{"version":"f7589158f09d00d265976f9d0ccf948a63f20c5345ed5706baf6422f2aa8412b","impliedFormat":99},{"version":"75941176e22eb9eb3749de66634b65ab20420243da96054723fa823085c6c9ec","impliedFormat":99},{"version":"26af630fdf8a8e007a04177a854be1a94486128c335cb6f6253c2f2685893abc","impliedFormat":99},{"version":"37450fe88b98269139ed3f2d9789fd49d1941e5bcb45a923acb288f11d9ff64f","impliedFormat":99},{"version":"0a1c1500060d32bdb95c5a2096304037db2f153935c2f5b05bde1c8d83cb6a8b","impliedFormat":99},{"version":"fbdefcfb78ad3e52a12dadc70a22fa23b1fd1d7f175df1f75fe9fc09f5b70f1b","impliedFormat":99},{"version":"5785cabdf475ceb1493b6e215070ae2d3d212effd091c46bfeecbc9fb69363b3","impliedFormat":99},{"version":"9dd35c22f93fa5db1ee42f92c78a752c94331a0b735aac48f7eec35f55699922","impliedFormat":99},{"version":"7bec221143a40924bed4b5c1675309fd88fdbcfa00fa65d88bfbfa2ccf9abba4","impliedFormat":99},{"version":"ff4871d6a2d769653324b0999d62892f752a2ff5cb0a49a954f5a97baaf149cc","impliedFormat":99},{"version":"0d7c04a83b5bb6c9d93ae64d1245b5c04fbde44e488ab24f46c3591306c838f5","impliedFormat":99},{"version":"880b644f3e65f0b7682a62cddd6a413ae941e6c7e15a058ec276344e1553cab6","impliedFormat":99},{"version":"313a8bfb3dfd02efe76da95cf45f9fa08aca1ec06659f800c48095d8869232a4","impliedFormat":99},{"version":"639020f37188bf86c7ed13298e50a76d3d3fc01ccf60d9c8396fe35b504b10c6","impliedFormat":99},{"version":"765db8019a7032ec509a1d0c14f3448bfe09e289871360c40006bf5f273ca48c","impliedFormat":99},{"version":"90541678283d791936b05f02d5b54b8b9eb399bc48a2cd5939c44268158d0173","impliedFormat":99},{"version":"fddc9b0f351be019b55e8e39e79b41918f587338febc8acf34fc7e397687dd2b","impliedFormat":99},{"version":"5729572b2a4701b9a2c9bc686d4f9e9f2186f6e505d87587c3ab04da3585ffb4","impliedFormat":99},{"version":"ffe342c99bb841bdc1955f43c0b1f388f6522560612fe3dade4c45f9982198d4","impliedFormat":99},{"version":"a67e4a984a616739dbf2eb5837b73e8eb243d37513e065aabd9c043b9322d63f","impliedFormat":99},{"version":"c0594fa615f0474166edd8a1c31d391618c398a65b2f37c7ef616d71fdbde2ab","impliedFormat":99},{"version":"daa96b4a551543adcbc9cb027bb9d42ed2eaa4431c220c644544e28c12e5d0f8","impliedFormat":99},{"version":"5aad98287d23e42aac230bab0c29d881e91e2042488f0268556f22b397a3b038","impliedFormat":99},{"version":"ffe342c99bb841bdc1955f43c0b1f388f6522560612fe3dade4c45f9982198d4","impliedFormat":99},{"version":"af12006195ebf4ef0b8d45b3663dce31f69eb6e8ae0d249de44890580da02bd4","impliedFormat":99},{"version":"a10ba2b04f1dd978d1b6d5f28a90c1b429dc374bd7c73520e1ada27ab4c72180","impliedFormat":99},{"version":"3069bb66bfb85d8c712fcbbb8a03a0cf58cc27d2510b463e040bf78a2e07544e","impliedFormat":99},{"version":"3ca8fde66d465fb928f5bde89ac619d9962aa7d6968c5e0e03b2e0b9f7057d0c","impliedFormat":99},{"version":"c3345ba3abb22468d97a0f13d9252acc439e89c1b7d573a9b6aceac38ecf6420","impliedFormat":99},{"version":"d970e9b77b75a585525eca61639e7fabb3c35546a9a67b2afa5e40dbd5c24192","impliedFormat":99},{"version":"24d7294c4165c6f0b171b41b6844c7bc9a7ce8f438b323ff293d09bcf4dd2282","impliedFormat":99},{"version":"0f525826e09edc94309b391668644cfdadc704918bf1c0c6b760a0ab5511a08e","impliedFormat":99},{"version":"5be129fe7c0b1d5c36a2c4f1a36a576b6b05fecbad1a8398c72924298eeffadb","impliedFormat":99},{"version":"d432bf55b58ee8fac50d09bb54cf844b9374e705b6a094d48c5b54d18147b88c","impliedFormat":99},{"version":"2396fac6caf45f20c826e40cc5aa0dd6dd33947c9f2a0f4cb1faef982018f668","impliedFormat":99},{"version":"fac04d31a197ba03438da0cb0a504f22dbaaef41c963b80ab46dc443bc613d31","impliedFormat":99},{"version":"acaf8ad1cbbb83673e45d54bdc4b032ade7954e2b8cab09956747cc2b61287f8","impliedFormat":99},{"version":"fd12bb3985acc44f6fc095de282bc366528b20569ed532e1b0f47b784305a087","impliedFormat":99},{"version":"630c3986ce5c856b40f1a50fbf6260c1d647094e38e9edd335965e83eb822e78","signature":"fbed5ed1676325291323cf3ebfabaadfddb7c20412848157c5d41d06a37cd4f6","impliedFormat":99},{"version":"d3c76be3a6bc6fdb449d8f6e60e70f1beaafda51e438bc9d710142dcc78639cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"4851e85afe66f48f4086aed909ecb812fab71194a979aed80734d5e39cfc6634","affectsGlobalScope":true,"impliedFormat":1}],"root":[180],"options":{"composite":true,"declaration":true,"declarationDir":"./esm","declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"importHelpers":true,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"outDir":"./esm","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":9},"fileIdsList":[[181],[95,100,101,102,108,127,128],[77,100,101],[77,95,101],[100,129],[77,129],[103,104,105,109,116,125,126],[103],[100,108,129],[103,113],[113,114,115],[110,111,112],[95,108,110,129],[77,95,108,129],[117,118,119,120,121,122,123,124],[77,117,118,119],[77,95,117,118],[77,95,118,122],[77],[77,95,136],[77,117,118],[95,100,108,117,118,119,120,129],[101,102,108,127,128,129,130,131,135],[77,95],[77,95,100,101,106],[106,107],[95,100,107],[100],[77,132,133,134],[96,97],[96],[96,97,98,99],[97],[61,95,179],[95,136,149,166,171,176],[77,95,100,136],[167,171,177],[136,166,167,168],[136,166,167,169],[168,169,170],[95,136,149,166,167],[179],[140],[138,139,140,141,142,143,144,145,146,147,148],[77,139],[166],[95,139,140,142,143,146,166],[77,172],[172,173,174,175],[95,173,174],[137,149,166,176,178],[137,151],[150,152,153,154],[77,95,149,150,151,152],[77,149],[77,149,154],[77,149,156],[158,159],[155,157],[77,155,179],[95,151,158],[161],[163,164],[155,162],[77,149,155],[151,155,156,157,160,161,162,165],[95,149,150],[77,79,80],[79],[82],[77,79,85],[79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94],[78,79],[78],[77,81],[77,79],[62,63,64,66],[62,63,67],[62,63,64,66,67],[65],[64],[65,68,75,76],[65,68,75],[68],[70],[70,71,72],[65,68,70],[69,73,74],[95,179]],"referencedMap":[[182,1],[129,2],[102,3],[130,4],[103,5],[104,6],[127,7],[105,8],[109,9],[114,10],[116,11],[113,12],[111,13],[112,13],[110,14],[125,15],[120,16],[121,17],[123,18],[122,19],[117,19],[118,20],[119,21],[124,22],[126,8],[136,23],[101,24],[107,25],[108,26],[106,27],[132,28],[134,28],[135,29],[98,30],[97,31],[100,32],[99,33],[180,34],[177,35],[167,36],[178,37],[169,38],[170,39],[171,40],[168,41],[138,42],[141,43],[149,44],[142,45],[143,46],[144,45],[140,45],[145,45],[147,47],[148,46],[146,45],[173,48],[174,48],[176,49],[175,50],[179,51],[152,52],[155,53],[154,54],[150,55],[156,56],[157,57],[160,58],[158,59],[159,60],[161,61],[162,62],[165,63],[163,64],[164,65],[166,66],[151,67],[81,68],[80,69],[82,69],[83,69],[84,70],[86,71],[87,69],[95,72],[88,69],[89,73],[90,69],[91,69],[79,74],[92,75],[93,76],[85,76],[94,76],[67,77],[64,78],[68,79],[66,80],[63,81],[77,82],[76,83],[69,84],[70,84],[71,85],[73,86],[72,87],[75,88],[74,84]],"exportedModulesMap":[[182,1],[129,2],[102,3],[130,4],[103,5],[104,6],[127,7],[105,8],[109,9],[114,10],[116,11],[113,12],[111,13],[112,13],[110,14],[125,15],[120,16],[121,17],[123,18],[122,19],[117,19],[118,20],[119,21],[124,22],[126,8],[136,23],[101,24],[107,25],[108,26],[106,27],[132,28],[134,28],[135,29],[98,30],[97,31],[100,32],[99,33],[180,89],[177,35],[167,36],[178,37],[169,38],[170,39],[171,40],[168,41],[138,42],[141,43],[149,44],[142,45],[143,46],[144,45],[140,45],[145,45],[147,47],[148,46],[146,45],[173,48],[174,48],[176,49],[175,50],[179,51],[152,52],[155,53],[154,54],[150,55],[156,56],[157,57],[160,58],[158,59],[159,60],[161,61],[162,62],[165,63],[163,64],[164,65],[166,66],[151,67],[81,68],[80,69],[82,69],[83,69],[84,70],[86,71],[87,69],[95,72],[88,69],[89,73],[90,69],[91,69],[79,74],[92,75],[93,76],[85,76],[94,76],[67,77],[64,78],[68,79],[66,80],[63,81],[77,82],[76,83],[69,84],[70,84],[71,85],[73,86],[72,87],[75,88],[74,84]],"semanticDiagnosticsPerFile":[182,181,61,59,60,12,14,13,2,15,16,17,18,19,20,21,22,3,4,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,10,1,11,58,78,129,102,130,103,104,127,105,109,114,116,113,111,112,110,115,125,120,121,123,122,117,118,119,124,126,131,128,136,101,107,108,106,132,133,134,135,96,98,97,100,99,180,177,167,178,169,170,171,168,137,138,141,149,142,143,144,140,145,147,148,146,139,173,174,176,175,172,179,152,153,155,154,150,156,157,160,158,159,161,162,165,163,164,166,151,81,80,82,83,84,86,87,95,88,89,90,91,79,92,93,85,94,67,64,68,62,66,63,77,76,69,70,71,73,72,75,74,65],"latestChangedDtsFile":"./esm/index.d.ts"},"version":"5.0.3"}
1
+ {"program":{"fileNames":["../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es5.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2016.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2017.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2018.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2019.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2020.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2021.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2022.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2023.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.esnext.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.dom.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.core.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2017.object.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2017.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2019.array.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2019.object.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2019.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2020.date.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2020.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2020.number.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2021.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2022.array.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2022.error.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2022.object.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2022.string.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.es2023.array.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.decorators.d.ts","../../common/temp/node_modules/.pnpm/typescript@5.0.4/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../common/temp/node_modules/.pnpm/tslib@2.5.2/node_modules/tslib/tslib.d.ts","../../common/temp/node_modules/.pnpm/tslib@2.5.2/node_modules/tslib/modules/index.d.ts","../scrcpy/esm/codec/av1.d.ts","../scrcpy/esm/codec/h264.d.ts","../scrcpy/esm/codec/nalu.d.ts","../scrcpy/esm/codec/h265.d.ts","../scrcpy/esm/codec/index.d.ts","../struct/esm/basic/options.d.ts","../struct/esm/basic/struct-value.d.ts","../struct/esm/basic/field-value.d.ts","../struct/esm/utils.d.ts","../struct/esm/basic/stream.d.ts","../struct/esm/basic/definition.d.ts","../struct/esm/basic/index.d.ts","../struct/esm/types/bigint.d.ts","../struct/esm/types/buffer/base.d.ts","../struct/esm/types/buffer/fixed-length.d.ts","../struct/esm/types/buffer/variable-length.d.ts","../struct/esm/types/buffer/index.d.ts","../struct/esm/types/number.d.ts","../struct/esm/types/index.d.ts","../struct/esm/struct.d.ts","../struct/esm/sync-promise.d.ts","../struct/esm/index.d.ts","../../common/temp/node_modules/.pnpm/web-streams-polyfill@4.0.0-beta.3/node_modules/web-streams-polyfill/types/ponyfill.d.ts","../stream-extra/esm/stream.d.ts","../stream-extra/esm/buffered.d.ts","../stream-extra/esm/buffered-transform.d.ts","../stream-extra/esm/consumable.d.ts","../stream-extra/esm/decode-utf8.d.ts","../stream-extra/esm/distribution.d.ts","../stream-extra/esm/wrap-readable.d.ts","../stream-extra/esm/duplex.d.ts","../stream-extra/esm/gather-string.d.ts","../stream-extra/esm/inspect.d.ts","../stream-extra/esm/pipe-from.d.ts","../stream-extra/esm/push-readable.d.ts","../stream-extra/esm/split-string.d.ts","../stream-extra/esm/struct-deserialize.d.ts","../stream-extra/esm/struct-serialize.d.ts","../stream-extra/esm/wrap-writable.d.ts","../stream-extra/esm/index.d.ts","../scrcpy/esm/options/1_16/scroll.d.ts","../scrcpy/esm/options/codec.d.ts","../scrcpy/esm/options/types.d.ts","../scrcpy/esm/options/1_16/codec-options.d.ts","../scrcpy/esm/options/1_16/float-to-uint16.d.ts","../scrcpy/esm/options/1_16/init.d.ts","../scrcpy/esm/options/1_16/message.d.ts","../scrcpy/esm/options/1_16/options.d.ts","../scrcpy/esm/options/1_16/index.d.ts","../scrcpy/esm/options/1_17.d.ts","../scrcpy/esm/options/1_18.d.ts","../scrcpy/esm/options/1_21.d.ts","../scrcpy/esm/options/1_22/init.d.ts","../scrcpy/esm/options/1_22/options.d.ts","../scrcpy/esm/options/1_22/scroll.d.ts","../scrcpy/esm/options/1_22/index.d.ts","../scrcpy/esm/options/1_23.d.ts","../scrcpy/esm/options/1_24.d.ts","../scrcpy/esm/options/1_25/options.d.ts","../scrcpy/esm/options/1_25/scroll.d.ts","../scrcpy/esm/options/1_25/index.d.ts","../scrcpy/esm/options/2_0.d.ts","../scrcpy/esm/options/latest.d.ts","../scrcpy/esm/options/index.d.ts","../scrcpy/esm/control/back-or-screen-on.d.ts","../scrcpy/esm/control/basic.d.ts","../scrcpy/esm/control/inject-touch.d.ts","../scrcpy/esm/control/hover-helper.d.ts","../scrcpy/esm/control/inject-keycode.d.ts","../scrcpy/esm/control/inject-scroll.d.ts","../scrcpy/esm/control/inject-text.d.ts","../scrcpy/esm/control/rotate-device.d.ts","../scrcpy/esm/control/set-screen-power-mode.d.ts","../scrcpy/esm/control/serializer.d.ts","../scrcpy/esm/control/set-clipboard.d.ts","../scrcpy/esm/control/type.d.ts","../scrcpy/esm/control/writer.d.ts","../scrcpy/esm/control/index.d.ts","../scrcpy/esm/device-message/type.d.ts","../scrcpy/esm/device-message/ack-clipboard.d.ts","../scrcpy/esm/device-message/clipboard.d.ts","../scrcpy/esm/device-message/stream.d.ts","../scrcpy/esm/device-message/index.d.ts","../scrcpy/esm/index.d.ts","../event/esm/disposable.d.ts","../event/esm/event.d.ts","../event/esm/event-emitter.d.ts","../event/esm/utils.d.ts","../event/esm/index.d.ts","../scrcpy-decoder-tinyh264/esm/types.d.ts","../scrcpy-decoder-tinyh264/esm/decoder.d.ts","../scrcpy-decoder-tinyh264/esm/wrapper.d.ts","../scrcpy-decoder-tinyh264/esm/index.d.ts","./src/index.ts","../../common/temp/node_modules/.pnpm/@types+dom-webcodecs@0.1.7/node_modules/@types/dom-webcodecs/webcodecs.generated.d.ts","../../common/temp/node_modules/.pnpm/@types+dom-webcodecs@0.1.7/node_modules/@types/dom-webcodecs/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","impliedFormat":1},{"version":"27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","impliedFormat":1},{"version":"eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec","impliedFormat":1},{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true,"impliedFormat":1},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true,"impliedFormat":1},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true,"impliedFormat":1},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true,"impliedFormat":1},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1c9fe42b65437a61104e601eb298c5c859fb522b483f1bdb700eed67a16f980","impliedFormat":1},{"version":"0734467ebd328b91af92eff2af9c97f6079bc4736c4992f8a5e47123680cf21b","impliedFormat":99},{"version":"ad324e6170d0e050a2681b9f6e7bb93d5c84240df5b513db656331fab3f238a6","impliedFormat":99},{"version":"8ba25a7b32fa40a6aad84745006f198b725c9c8013574df36505dbb4d098d92f","impliedFormat":99},{"version":"aa9393a5738d35906a82ae978333482ad6b3836c38466cae1f17f1def8402125","impliedFormat":99},{"version":"d940b63c0583d613202088540f0347bfa45d3fdd2479abe106e14257650d1b97","impliedFormat":99},{"version":"8dcee60e0ce1d2b35cb1ada17420565cd6a5307ae280f62b3d92e10fd344aebc","impliedFormat":99},{"version":"7ceac7d7800ef7065908464aba0a009e9a03ff95f177a44f999687bdf10d039f","impliedFormat":99},{"version":"6043ab81faab77b975cb2a8457cc28c3b6f90a766cbbd27914da686bc41c83a0","impliedFormat":99},{"version":"613051be0c04c0fadf883f5ec01dcb0a4639ac92d9e2c12a222680c91b374595","impliedFormat":99},{"version":"a740a1e2d889fc4344fbb49a7f8b02ee664850be5cdcf029ace8ceb4316623db","impliedFormat":99},{"version":"ffe3c0472cf0ad60edbf5037319135c645bd92e7acbf403d72101df3598258e0","impliedFormat":99},{"version":"64ebe41006e87ea8b5e9b3acf048018b5226c4b08c6575526a76f6801143bf90","impliedFormat":99},{"version":"5af3b8b1a9063e033fc1e32a3e95956f5f5e22548d5ccca628b1ab87e42087d1","impliedFormat":99},{"version":"2414e378fb9e46fe36d8a0f4fb7af126441078299c03a46096713b03a5f6571d","impliedFormat":99},{"version":"1ed47fe653ec1bbcbd8ed241873938642755f2917f9e9a2e78daef11519f0745","impliedFormat":99},{"version":"4e74287ad61c1544e88339e78a4da19cb79c729be8799b8cd190353368532e30","impliedFormat":99},{"version":"21a136c72551be7c24d797d4fa1401d35ee62325bec7442a6869cea50a50ad7a","impliedFormat":99},{"version":"5ea1325a998e722fffc89ff8c2d00eaf35e491f3fada16fb56c6360f63d16d79","impliedFormat":99},{"version":"2f50c2700b3397c9961c1e14b903d0ff1120e064755603740cecdcdf3b05d20f","impliedFormat":99},{"version":"e24d67437856c921a9a40f7fbac38ac576439e6616eb698fb769279ecbc7802a","impliedFormat":99},{"version":"e53e9a2cdf53d0b49f7e9b75291880a21d67e99944ca463e38d05bb318f8f15c","impliedFormat":99},{"version":"15cc3dd9a039f8ba1628d1e27cdf4b45582fc387a4241ebb65eff1786b89f522","impliedFormat":99},{"version":"01056fd3092681e2f1c0cb0e1fec91ac081b5bb758551494fca1c1d27f06c2b4","affectsGlobalScope":true,"impliedFormat":99},{"version":"19c2d8da51e4944a19e0ca377df3fd9d249dd8f9cab9544632fb8d10a72808f7","impliedFormat":1},{"version":"a387648b45b3d02c838a213809bf7aa3a3c6e009b0cfedbbb98e7863219fd0b4","impliedFormat":99},{"version":"fd9a69c8fa10f578b0d5961441fb2778fb34cd41d20e5714aa49f983f1cdd52f","impliedFormat":99},{"version":"7e9aecc83330a5c15b10f8995dfce2e1004f9bbdd0c4a9df18e8483facd76703","impliedFormat":99},{"version":"280386331ba739ec12261d42474f90f2d98214f9ac87ecad4be0585507acd937","impliedFormat":99},{"version":"316d7bdfb430fa119cbd460e01ffbf726321a5e54575c22b70e8ff56241d849a","impliedFormat":99},{"version":"d5a938d49803873c6de2daa0e81fa87ab44eee5259df765345932a28ecfb64fc","impliedFormat":99},{"version":"6642b7e23799bfb100805fbde097790a6484bd375c2c75dc18da086639f8b7e5","impliedFormat":99},{"version":"f4be8f5f1fbf13b24da4b2141e124c000750454d5168544c27352631e4edccd9","impliedFormat":99},{"version":"15268f168504a8daad6197637bf91c0399fb26861e720805051dd0e8c2f2ebd1","impliedFormat":99},{"version":"4ebc57d20caf062019a2b8c9ce1e54602a411022eb4f7fa325888b9bcf63693a","impliedFormat":99},{"version":"662cafdf363d512eff0d6c525c711684dba726ac5f4d09f473110a05c8ecd8e5","impliedFormat":99},{"version":"86c62ba4f3279d13647e2901b8819c9b32f4eb9645d50d02b4d60e5521f693db","impliedFormat":99},{"version":"98678d6ac29dfa3f80452de2a87f464dee4908476f817d6f5e0677802ad43f7b","impliedFormat":99},{"version":"057f28f1e4c53bfdc397099ee4bf873ef32f26a938a135881b19bf10f968a805","impliedFormat":99},{"version":"d00e790b0d3738482ddb18bb446210b41019520dd32438570d6bc533f7b95239","impliedFormat":99},{"version":"c4e45ef293b9b228aad0d51acb0ef0397dad22a3454b3f6f751b6de1ac9e11e0","impliedFormat":99},{"version":"9e33e135a12a5761c92a4ef0057e1d24310ada6f0758a13223036efc22b9e745","impliedFormat":99},{"version":"9207d59557ed079f2bca97c9d8294ce73410f23db8e3d1d9ba41aff7836eb7b1","impliedFormat":99},{"version":"3802746f13335d428ea68f2a6b867e031cb8ffcbf5b6ee2f101b2bde38d9408b","impliedFormat":99},{"version":"a76a7dd6e8a1bf988e250fd8c87ccab8e5bf70799671d9bceffa4a1c8fe9d5b8","impliedFormat":99},{"version":"a9e4c9a6a2f089e9a1c1d02cc0b64edc434c7aaa220fd8ddbc8ec7da738b4df4","impliedFormat":99},{"version":"5e5bd661156168b6fd7a94d95deddea447a33a315cc5ceff165e3db6ebb17400","impliedFormat":99},{"version":"52ba05f2c14d30fc792c73f2c66ebbc85465dd630cb5553da997b282a24ce6f3","impliedFormat":99},{"version":"8f05922f3c5759f330d7fe66eb851f6b7ea832257c4abb48dad1cc8890ffe1a0","impliedFormat":99},{"version":"792184de8c4aa96dfea1f1f573d1797e5baa0a603c330b54e251007563791c8a","impliedFormat":99},{"version":"124e3dec3b595520139287b8b87ea1d9a17d1b6288a66cecf7318e868e8b445b","impliedFormat":99},{"version":"9ce62dd72334b05ad761b4bc5bacb0b3493207feb1ec34526b2850467d307b76","impliedFormat":99},{"version":"88611fc3b0f708c8a5a138fd457e9229bad092af6c2885d776dd5a41c0873370","impliedFormat":99},{"version":"127ee9705ba1030ebcbc14eee3d55aebd9331cab619e7d6eb8106f2a6907acc4","impliedFormat":99},{"version":"d82a659eab5a7bc4e555b8ed631db1e0b2277959c07097c3f1279c3dc74d843a","impliedFormat":99},{"version":"aad9eca2a759c57dd744701712ec42b68f840081a57878d60e69e4574502bc84","impliedFormat":99},{"version":"e332d35d49326925df3c905987be62a101b1ddd0278cea0d321c54fb32fc1d2a","impliedFormat":99},{"version":"72920918942e421145fa7d3405d1e20e36126336f11355b0fad4ddf66c96b395","impliedFormat":99},{"version":"fa94ca9166e9094fe832050a2083d737e334fc08110ec559378351c9ef0a014c","impliedFormat":99},{"version":"9f90a838a7e6b1aeebe5cde674c1e0c77a4b3b646f9935ec0babd1959a107203","impliedFormat":99},{"version":"f82f1de6aec147664152eba85e4360be97387efb19a664ae97b248b6ff1bfc15","impliedFormat":99},{"version":"5aad98287d23e42aac230bab0c29d881e91e2042488f0268556f22b397a3b038","impliedFormat":99},{"version":"ffe342c99bb841bdc1955f43c0b1f388f6522560612fe3dade4c45f9982198d4","impliedFormat":99},{"version":"6008894e5fcaf85bf93b283af7ad6ae2644286a45a64c71213f4ecb35f202bf0","impliedFormat":99},{"version":"e142a187ed3fbef0a932995f645d5ace1b40226dd3d0b3c808ea4847ee9decf2","impliedFormat":99},{"version":"e820f64ee375cf3c9546fcb6de397ab8791c0ef630052a2231a0ad107666516b","impliedFormat":99},{"version":"49d33b0cec814e71f33a3c680b46ef8112b7b4ac76c304e8d86bcf5e8aafc148","impliedFormat":99},{"version":"e7e5890c53c38e44024c21be92850fbc323decccc2814e6e1582592e840a734d","impliedFormat":99},{"version":"a499d988e788c73d1ce066166f8a696ea0c72e497c8513fafd7b5c78a3c1c67f","impliedFormat":99},{"version":"da8ac3f526357e29cc2b5396b63272fa88b33f533165394e0104a0da5271620f","impliedFormat":99},{"version":"db6fbc1c458c9ebb6ef1fc6a1e69bbcee223b1fcf258c07746ff031da2b12494","impliedFormat":99},{"version":"75941176e22eb9eb3749de66634b65ab20420243da96054723fa823085c6c9ec","impliedFormat":99},{"version":"75010ee3a47aca74876cbe76c08636b376a0e4c622aeaa49fb905b767153a551","impliedFormat":99},{"version":"3d7cd95d231e345e45db12793781582bfaa84964e0d05882eb05b3aec2329cf1","impliedFormat":99},{"version":"92dc737f6c44f1a60d1aa575cfbb7c1b31610c27a8e028d922ac2b322f0fe4af","impliedFormat":99},{"version":"d4e15ccd6d52792b60c13c10bcd6b488cc580ff25f3c032b07c10439ada18f10","impliedFormat":99},{"version":"5785cabdf475ceb1493b6e215070ae2d3d212effd091c46bfeecbc9fb69363b3","impliedFormat":99},{"version":"44ee7dc40691c671d89f05b167b7e674d8e0337ac330b19fae8e351f495fda6b","impliedFormat":99},{"version":"1431cca010e422ef0b371c6440d4c2a1200112c41b2bc93aa87ad1f52b99d2cb","impliedFormat":99},{"version":"fc01dcdadd606a25fdcd89fe718544ff33c17db1c571eaf9f4ac18377a0716f3","impliedFormat":99},{"version":"24d7294c4165c6f0b171b41b6844c7bc9a7ce8f438b323ff293d09bcf4dd2282","impliedFormat":99},{"version":"0f525826e09edc94309b391668644cfdadc704918bf1c0c6b760a0ab5511a08e","impliedFormat":99},{"version":"5be129fe7c0b1d5c36a2c4f1a36a576b6b05fecbad1a8398c72924298eeffadb","impliedFormat":99},{"version":"d432bf55b58ee8fac50d09bb54cf844b9374e705b6a094d48c5b54d18147b88c","impliedFormat":99},{"version":"2396fac6caf45f20c826e40cc5aa0dd6dd33947c9f2a0f4cb1faef982018f668","impliedFormat":99},{"version":"c0a17bcedf9c0ce6eb1c5471261c15f1ee0ac7c17bf4b543f22845959a977bf0","impliedFormat":99},{"version":"7565a3e1f88b68c438331d8ece71540f9fb5a11a8a0480b5c262c701142c5048","impliedFormat":99},{"version":"af6ac8a19dbd05c34feff97d0eae81194fd0be1358bd2366478e9a574492d332","impliedFormat":99},{"version":"a21c587d34edbe9808b8f4fac207d190f802687b477ef55ee0f494d79a427f31","impliedFormat":99},{"version":"f00b8fc0c970cfd54d4df6047aae216bce4d7a2ceb6610655541a678ac54c57a","impliedFormat":99},{"version":"11fd6a023d60896a902933f64a2c8363102e5276838dbe29aa02a24c2e69fbd1","impliedFormat":99},{"version":"d733ff04df93b131ff1d93300255400ccb5c7f807d130ace3447463c5b0107bf","impliedFormat":99},{"version":"4a8f2e415f134e39fd0e82949a25efb1ac1e1e3f5b93f9a8ec05a6f35919ff70","impliedFormat":99},{"version":"2b5146e9e32689ead32b7f205afc6af1e40f97c7509b5f6fc01813352e8bf6a9","impliedFormat":99},{"version":"92d7af328f554f85413a55f83e6718c3b8a827c3ae5abe5bef319ea25c32153a","impliedFormat":99},{"version":"c3a05ffde1390492473343c0f0adcd58a6fbcebe02e23426fca0713aaad85726","signature":"90ae293447006ac08685c2b01f1c9b6ce64e4f758a5bbe536333a8f71be48811","impliedFormat":99},{"version":"2e777044f79a49d34f0239c61ac660460cc3e9436debce648faca0270a5dd284","affectsGlobalScope":true,"impliedFormat":1},{"version":"4851e85afe66f48f4086aed909ecb812fab71194a979aed80734d5e39cfc6634","affectsGlobalScope":true,"impliedFormat":1}],"root":[156],"options":{"composite":true,"declaration":true,"declarationDir":"./esm","declarationMap":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"importHelpers":true,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"outDir":"./esm","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":99},"fileIdsList":[[157],[61],[147,148],[147],[147,148,149,150],[148],[102,146,152],[152,153,154],[102,146,151],[151],[62,102,146,155],[65],[63,64,65,66],[126],[84],[129],[127,128,129,130,131,132,133,134,135,136,137,138,139],[126,129,131,132,135],[102,126,129,131,132,135],[84,141],[141,142,143,144],[102,142,143],[67,126,140,145],[105],[103,106,107,108,109,110],[106],[84,140],[84,102,103,104,105,106,108,140],[105,106,108,111],[84,105,106,112,140],[84,105,113,126,140],[115,116,117],[114],[84,102,104,105,106,111,113,114,115],[84,111],[102,104,105,113,118,126],[105,113,119,126],[121,122],[105,111,120],[84,111,140],[84,102,104,105,111,113,120,123,140],[102,105],[104,105,111,112,113,114,118,119,120,123,124,125],[113,124],[84,102,103,104,140],[84,86,87],[84,86],[86],[89],[84,86,92],[86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101],[85,86],[85],[84,88],[68,69,70,72],[68,69,73],[68,69,70,72,73],[71],[70],[71,74,81,82,83],[71,74,81],[74],[76],[76,77,78],[71,74,76],[75,79,80],[102,146,155]],"referencedMap":[[158,1],[62,2],[149,3],[148,4],[151,5],[150,6],[153,7],[155,8],[152,9],[154,10],[156,11],[66,12],[67,13],[127,14],[128,15],[130,16],[140,17],[131,15],[132,14],[133,15],[129,14],[134,15],[136,18],[137,14],[135,15],[138,14],[139,19],[142,20],[143,20],[145,21],[144,22],[146,23],[106,24],[107,15],[111,25],[108,26],[109,27],[110,28],[103,27],[112,29],[113,30],[114,31],[118,32],[115,33],[116,34],[117,35],[119,36],[120,37],[123,38],[121,39],[122,40],[124,41],[104,42],[126,43],[125,44],[105,45],[88,46],[87,47],[89,48],[90,48],[91,49],[93,50],[94,48],[102,51],[95,48],[96,52],[97,48],[98,48],[86,53],[99,54],[100,47],[92,47],[101,47],[73,55],[70,56],[74,57],[72,58],[69,59],[84,60],[82,61],[75,62],[76,62],[77,63],[79,64],[78,65],[81,66],[80,62]],"exportedModulesMap":[[158,1],[62,2],[149,3],[148,4],[151,5],[150,6],[153,7],[155,8],[152,9],[154,10],[156,67],[66,12],[67,13],[127,14],[128,15],[130,16],[140,17],[131,15],[132,14],[133,15],[129,14],[134,15],[136,18],[137,14],[135,15],[138,14],[139,19],[142,20],[143,20],[145,21],[144,22],[146,23],[106,24],[107,15],[111,25],[108,26],[109,27],[110,28],[103,27],[112,29],[113,30],[114,31],[118,32],[115,33],[116,34],[117,35],[119,36],[120,37],[123,38],[121,39],[122,40],[124,41],[104,42],[126,43],[125,44],[105,45],[88,46],[87,47],[89,48],[90,48],[91,49],[93,50],[94,48],[102,51],[95,48],[96,52],[97,48],[98,48],[86,53],[99,54],[100,47],[92,47],[101,47],[73,55],[70,56],[74,57],[72,58],[69,59],[84,60],[82,61],[75,62],[76,62],[77,63],[79,64],[78,65],[81,66],[80,62]],"semanticDiagnosticsPerFile":[158,157,62,61,59,60,12,14,13,2,15,16,17,18,19,20,21,22,3,4,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,10,1,11,58,85,147,149,148,151,150,153,155,152,154,156,63,64,66,67,65,127,128,130,140,131,132,133,129,134,136,137,135,138,139,142,143,145,144,141,146,106,107,111,108,109,110,103,112,113,114,118,115,116,117,119,120,123,121,122,124,104,126,125,105,88,87,89,90,91,93,94,102,95,96,97,98,86,99,100,92,101,73,70,74,68,72,69,84,82,83,75,76,77,79,78,81,80,71],"latestChangedDtsFile":"./esm/index.d.ts"},"version":"5.0.4"}