@yume-chan/scrcpy 0.0.16 → 0.0.17

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.
Files changed (209) hide show
  1. package/CHANGELOG.json +15 -0
  2. package/CHANGELOG.md +9 -1
  3. package/README.md +275 -38
  4. package/esm/adb/client.d.ts +40 -0
  5. package/esm/adb/client.d.ts.map +1 -0
  6. package/esm/adb/client.js +218 -0
  7. package/esm/adb/client.js.map +1 -0
  8. package/esm/adb/connection.d.ts +38 -0
  9. package/esm/adb/connection.d.ts.map +1 -0
  10. package/esm/{connection.js → adb/connection.js} +20 -24
  11. package/esm/adb/connection.js.map +1 -0
  12. package/esm/adb/index.d.ts +4 -0
  13. package/esm/adb/index.d.ts.map +1 -0
  14. package/esm/adb/index.js +4 -0
  15. package/esm/adb/index.js.map +1 -0
  16. package/esm/adb/options/1_16.d.ts +8 -0
  17. package/esm/adb/options/1_16.d.ts.map +1 -0
  18. package/esm/adb/options/1_16.js +20 -0
  19. package/esm/adb/options/1_16.js.map +1 -0
  20. package/esm/adb/options/1_22.d.ts +8 -0
  21. package/esm/adb/options/1_22.d.ts.map +1 -0
  22. package/esm/adb/options/1_22.js +17 -0
  23. package/esm/adb/options/1_22.js.map +1 -0
  24. package/esm/adb/options/index.d.ts +4 -0
  25. package/esm/adb/options/index.d.ts.map +1 -0
  26. package/esm/adb/options/index.js +4 -0
  27. package/esm/adb/options/index.js.map +1 -0
  28. package/esm/adb/options/types.d.ts +23 -0
  29. package/esm/adb/options/types.d.ts.map +1 -0
  30. package/esm/adb/options/types.js +30 -0
  31. package/esm/adb/options/types.js.map +1 -0
  32. package/esm/codec.js +2 -2
  33. package/esm/codec.js.map +1 -1
  34. package/esm/control/index.d.ts +8 -0
  35. package/esm/control/index.d.ts.map +1 -0
  36. package/esm/control/index.js +8 -0
  37. package/esm/control/index.js.map +1 -0
  38. package/esm/control/inject-keycode.d.ts +53 -0
  39. package/esm/control/inject-keycode.d.ts.map +1 -0
  40. package/esm/control/inject-keycode.js +54 -0
  41. package/esm/control/inject-keycode.js.map +1 -0
  42. package/esm/control/inject-text.d.ts +9 -0
  43. package/esm/control/inject-text.d.ts.map +1 -0
  44. package/esm/control/inject-text.js +7 -0
  45. package/esm/control/inject-text.js.map +1 -0
  46. package/esm/control/inject-touch.d.ts +30 -0
  47. package/esm/control/inject-touch.d.ts.map +1 -0
  48. package/esm/control/inject-touch.js +30 -0
  49. package/esm/control/inject-touch.js.map +1 -0
  50. package/esm/control/rotate-device.d.ts +7 -0
  51. package/esm/control/rotate-device.d.ts.map +1 -0
  52. package/esm/control/rotate-device.js +5 -0
  53. package/esm/control/rotate-device.js.map +1 -0
  54. package/esm/control/serializer.d.ts +23 -0
  55. package/esm/control/serializer.d.ts.map +1 -0
  56. package/esm/control/serializer.js +73 -0
  57. package/esm/control/serializer.js.map +1 -0
  58. package/esm/control/set-screen-power-mode.d.ts +12 -0
  59. package/esm/control/set-screen-power-mode.d.ts.map +1 -0
  60. package/esm/control/set-screen-power-mode.js +12 -0
  61. package/esm/control/set-screen-power-mode.js.map +1 -0
  62. package/esm/control/type.d.ts +15 -0
  63. package/esm/control/type.d.ts.map +1 -0
  64. package/esm/control/type.js +19 -0
  65. package/esm/control/type.js.map +1 -0
  66. package/esm/decoder/index.d.ts +27 -3
  67. package/esm/decoder/index.d.ts.map +1 -1
  68. package/esm/decoder/index.js +1 -3
  69. package/esm/decoder/index.js.map +1 -1
  70. package/esm/decoder/tinyh264/index.d.ts +5 -5
  71. package/esm/decoder/tinyh264/index.d.ts.map +1 -1
  72. package/esm/decoder/tinyh264/index.js +4 -4
  73. package/esm/decoder/tinyh264/index.js.map +1 -1
  74. package/esm/decoder/tinyh264/worker.js.map +1 -1
  75. package/esm/decoder/tinyh264/wrapper.d.ts.map +1 -1
  76. package/esm/decoder/tinyh264/wrapper.js +14 -8
  77. package/esm/decoder/tinyh264/wrapper.js.map +1 -1
  78. package/esm/decoder/types.d.ts +1 -27
  79. package/esm/decoder/types.d.ts.map +1 -1
  80. package/esm/decoder/web-codecs/index.d.ts +4 -4
  81. package/esm/decoder/web-codecs/index.d.ts.map +1 -1
  82. package/esm/decoder/web-codecs/index.js +1 -1
  83. package/esm/decoder/web-codecs/index.js.map +1 -1
  84. package/esm/device-message/clipboard.d.ts +10 -0
  85. package/esm/device-message/clipboard.d.ts.map +1 -0
  86. package/esm/device-message/clipboard.js +7 -0
  87. package/esm/device-message/clipboard.js.map +1 -0
  88. package/esm/device-message/index.d.ts +4 -0
  89. package/esm/device-message/index.d.ts.map +1 -0
  90. package/esm/device-message/index.js +4 -0
  91. package/esm/device-message/index.js.map +1 -0
  92. package/esm/device-message/stream.d.ts +7 -0
  93. package/esm/device-message/stream.d.ts.map +1 -0
  94. package/esm/device-message/stream.js +16 -0
  95. package/esm/device-message/stream.js.map +1 -0
  96. package/esm/device-message/type.d.ts +5 -0
  97. package/esm/device-message/type.d.ts.map +1 -0
  98. package/esm/device-message/type.js +7 -0
  99. package/esm/device-message/type.js.map +1 -0
  100. package/esm/index.d.ts +3 -6
  101. package/esm/index.d.ts.map +1 -1
  102. package/esm/index.js +3 -6
  103. package/esm/index.js.map +1 -1
  104. package/esm/options/1_16/codec-options.d.ts +19 -0
  105. package/esm/options/1_16/codec-options.d.ts.map +1 -0
  106. package/esm/options/1_16/codec-options.js +27 -0
  107. package/esm/options/1_16/codec-options.js.map +1 -0
  108. package/esm/options/1_16/index.d.ts +3 -110
  109. package/esm/options/1_16/index.d.ts.map +1 -1
  110. package/esm/options/1_16/index.js +3 -226
  111. package/esm/options/1_16/index.js.map +1 -1
  112. package/esm/options/1_16/options.d.ts +97 -0
  113. package/esm/options/1_16/options.d.ts.map +1 -0
  114. package/esm/options/1_16/options.js +188 -0
  115. package/esm/options/1_16/options.js.map +1 -0
  116. package/esm/options/1_18.d.ts +8 -8
  117. package/esm/options/1_18.d.ts.map +1 -1
  118. package/esm/options/1_18.js +6 -6
  119. package/esm/options/1_18.js.map +1 -1
  120. package/esm/options/1_21.d.ts +1 -1
  121. package/esm/options/1_21.d.ts.map +1 -1
  122. package/esm/options/1_21.js +1 -1
  123. package/esm/options/1_21.js.map +1 -1
  124. package/esm/options/1_22.d.ts +5 -8
  125. package/esm/options/1_22.d.ts.map +1 -1
  126. package/esm/options/1_22.js +4 -17
  127. package/esm/options/1_22.js.map +1 -1
  128. package/esm/options/1_23.d.ts +4 -4
  129. package/esm/options/1_23.d.ts.map +1 -1
  130. package/esm/options/1_23.js +1 -1
  131. package/esm/options/1_23.js.map +1 -1
  132. package/esm/options/1_24.d.ts +1 -1
  133. package/esm/options/1_24.d.ts.map +1 -1
  134. package/esm/options/1_24.js.map +1 -1
  135. package/esm/options/index.d.ts +1 -1
  136. package/esm/options/index.d.ts.map +1 -1
  137. package/esm/options/index.js +1 -1
  138. package/esm/options/index.js.map +1 -1
  139. package/esm/options/types.d.ts +45 -0
  140. package/esm/options/types.d.ts.map +1 -0
  141. package/esm/options/{common.js → types.js} +1 -1
  142. package/esm/options/types.js.map +1 -0
  143. package/package.json +24 -24
  144. package/src/adb/client.ts +292 -0
  145. package/src/{connection.ts → adb/connection.ts} +35 -38
  146. package/src/adb/index.ts +3 -0
  147. package/src/adb/options/1_16.ts +23 -0
  148. package/src/adb/options/1_22.ts +20 -0
  149. package/src/adb/options/index.ts +3 -0
  150. package/src/adb/options/types.ts +55 -0
  151. package/src/control/index.ts +7 -0
  152. package/src/control/inject-keycode.ts +59 -0
  153. package/src/control/inject-text.ts +12 -0
  154. package/src/control/inject-touch.ts +34 -0
  155. package/src/control/rotate-device.ts +10 -0
  156. package/src/control/serializer.ts +86 -0
  157. package/src/control/set-screen-power-mode.ts +17 -0
  158. package/src/control/type.ts +17 -0
  159. package/src/device-message/clipboard.ts +11 -0
  160. package/src/device-message/index.ts +3 -0
  161. package/src/device-message/stream.ts +19 -0
  162. package/src/device-message/type.ts +5 -0
  163. package/src/index.ts +3 -6
  164. package/src/options/1_16/codec-options.ts +48 -0
  165. package/src/options/1_16/index.ts +3 -345
  166. package/src/options/1_16/options.ts +294 -0
  167. package/src/options/1_18.ts +12 -10
  168. package/src/options/1_21.ts +16 -6
  169. package/src/options/1_22.ts +10 -21
  170. package/src/options/1_23.ts +7 -5
  171. package/src/options/1_24.ts +3 -2
  172. package/src/options/index.ts +1 -1
  173. package/src/options/{common.ts → types.ts} +32 -13
  174. package/tsconfig.build.json +3 -0
  175. package/tsconfig.build.tsbuildinfo +1 -0
  176. package/tsconfig.test.tsbuildinfo +1 -0
  177. package/esm/client.d.ts +0 -48
  178. package/esm/client.d.ts.map +0 -1
  179. package/esm/client.js +0 -341
  180. package/esm/client.js.map +0 -1
  181. package/esm/connection.d.ts +0 -37
  182. package/esm/connection.d.ts.map +0 -1
  183. package/esm/connection.js.map +0 -1
  184. package/esm/message.d.ts +0 -98
  185. package/esm/message.d.ts.map +0 -1
  186. package/esm/message.js +0 -98
  187. package/esm/message.js.map +0 -1
  188. package/esm/options/common.d.ts +0 -34
  189. package/esm/options/common.d.ts.map +0 -1
  190. package/esm/options/common.js.map +0 -1
  191. package/esm/push-server.d.ts +0 -6
  192. package/esm/push-server.d.ts.map +0 -1
  193. package/esm/push-server.js +0 -16
  194. package/esm/push-server.js.map +0 -1
  195. package/esm/utils.d.ts +0 -2
  196. package/esm/utils.d.ts.map +0 -1
  197. package/esm/utils.js +0 -6
  198. package/esm/utils.js.map +0 -1
  199. package/src/client.ts +0 -435
  200. package/src/decoder/index.ts +0 -3
  201. package/src/decoder/tinyh264/index.ts +0 -112
  202. package/src/decoder/tinyh264/types.d.ts +0 -137
  203. package/src/decoder/tinyh264/worker.ts +0 -2
  204. package/src/decoder/tinyh264/wrapper.ts +0 -89
  205. package/src/decoder/types.ts +0 -35
  206. package/src/decoder/web-codecs/index.ts +0 -99
  207. package/src/message.ts +0 -113
  208. package/src/push-server.ts +0 -24
  209. package/src/utils.ts +0 -5
package/esm/client.js DELETED
@@ -1,341 +0,0 @@
1
- import { AbortController, AdbBufferedStream, AdbSubprocessNoneProtocol, DecodeUtf8Stream, InspectStream, ReadableStream, TransformStream, WritableStream } from '@yume-chan/adb';
2
- import { EventEmitter } from '@yume-chan/event';
3
- import Struct from '@yume-chan/struct';
4
- import { AndroidMotionEventAction, ScrcpyControlMessageType, ScrcpyInjectKeyCodeControlMessage, ScrcpyInjectTextControlMessage, ScrcpyInjectTouchControlMessage, ScrcpySimpleControlMessage } from './message.js';
5
- function* splitLines(text) {
6
- let start = 0;
7
- while (true) {
8
- const index = text.indexOf('\n', start);
9
- if (index === -1) {
10
- return;
11
- }
12
- const line = text.substring(start, index);
13
- yield line;
14
- start = index + 1;
15
- }
16
- }
17
- class SplitLinesStream extends TransformStream {
18
- constructor() {
19
- super({
20
- transform(chunk, controller) {
21
- for (const line of splitLines(chunk)) {
22
- if (line === '') {
23
- continue;
24
- }
25
- controller.enqueue(line);
26
- }
27
- },
28
- });
29
- }
30
- }
31
- class ArrayToStream extends ReadableStream {
32
- array;
33
- index = 0;
34
- constructor(array) {
35
- super({
36
- start: async () => {
37
- await Promise.resolve();
38
- this.array = array;
39
- },
40
- pull: (controller) => {
41
- if (this.index < this.array.length) {
42
- controller.enqueue(this.array[this.index]);
43
- this.index += 1;
44
- }
45
- else {
46
- controller.close();
47
- }
48
- },
49
- });
50
- }
51
- }
52
- class ConcatStream extends ReadableStream {
53
- streams;
54
- index = 0;
55
- reader;
56
- constructor(...streams) {
57
- super({
58
- start: async (controller) => {
59
- await Promise.resolve();
60
- this.streams = streams;
61
- this.advance(controller);
62
- },
63
- pull: async (controller) => {
64
- const result = await this.reader.read();
65
- if (!result.done) {
66
- controller.enqueue(result.value);
67
- return;
68
- }
69
- this.advance(controller);
70
- }
71
- });
72
- }
73
- advance(controller) {
74
- if (this.index < this.streams.length) {
75
- this.reader = this.streams[this.index].getReader();
76
- this.index += 1;
77
- }
78
- else {
79
- controller.close();
80
- }
81
- }
82
- }
83
- const ClipboardMessage = new Struct()
84
- .uint32('length')
85
- .string('content', { lengthField: 'length' });
86
- export class ScrcpyClient {
87
- /**
88
- * This method will modify the given `options`,
89
- * so don't reuse it elsewhere.
90
- */
91
- static async getEncoders(adb, path, version, options) {
92
- // Provide an invalid encoder name
93
- // So the server will return all available encoders
94
- options.value.encoderName = '_';
95
- // Disable control for faster connection in 1.22+
96
- options.value.control = false;
97
- options.value.sendDeviceMeta = false;
98
- options.value.sendDummyByte = false;
99
- // Scrcpy server will open connections, before initializing encoder
100
- // Thus although an invalid encoder name is given, the start process will success
101
- const client = await ScrcpyClient.start(adb, path, version, options);
102
- const encoderNameRegex = options.getOutputEncoderNameRegex();
103
- const encoders = [];
104
- await client.stdout.pipeTo(new WritableStream({
105
- write(line) {
106
- const match = line.match(encoderNameRegex);
107
- if (match) {
108
- encoders.push(match[1]);
109
- }
110
- },
111
- }));
112
- return encoders;
113
- }
114
- /**
115
- * This method will modify the given `options`,
116
- * so don't reuse it elsewhere.
117
- */
118
- static async getDisplays(adb, path, version, options) {
119
- // Similar to `getEncoders`, pass an invalid option and parse the output
120
- options.value.displayId = -1;
121
- options.value.control = false;
122
- options.value.sendDeviceMeta = false;
123
- options.value.sendDummyByte = false;
124
- try {
125
- // Server will exit before opening connections when an invalid display id was given.
126
- await ScrcpyClient.start(adb, path, version, options);
127
- }
128
- catch (e) {
129
- if (e instanceof Error) {
130
- const output = e.output;
131
- const displayIdRegex = /\s+scrcpy --display (\d+)/;
132
- const displays = [];
133
- for (const line of output) {
134
- const match = line.match(displayIdRegex);
135
- if (match) {
136
- displays.push(Number.parseInt(match[1], 10));
137
- }
138
- }
139
- return displays;
140
- }
141
- }
142
- throw new Error('failed to get displays');
143
- }
144
- static async start(adb, path, version, options) {
145
- const connection = options.createConnection(adb);
146
- let process;
147
- try {
148
- await connection.initialize();
149
- process = await adb.subprocess.spawn([
150
- // cspell: disable-next-line
151
- `CLASSPATH=${path}`,
152
- 'app_process',
153
- /* unused */ '/',
154
- 'com.genymobile.scrcpy.Server',
155
- version,
156
- ...options.formatServerArguments(),
157
- ], {
158
- // Scrcpy server doesn't split stdout and stderr,
159
- // so disable Shell Protocol to simplify processing
160
- protocols: [AdbSubprocessNoneProtocol],
161
- });
162
- const stdout = process.stdout
163
- .pipeThrough(new DecodeUtf8Stream())
164
- .pipeThrough(new SplitLinesStream());
165
- // Read stdout, otherwise `process.exit` won't resolve.
166
- const output = [];
167
- const abortController = new AbortController();
168
- const pipe = stdout
169
- .pipeTo(new WritableStream({
170
- write(chunk) {
171
- output.push(chunk);
172
- }
173
- }), {
174
- signal: abortController.signal,
175
- preventCancel: true,
176
- })
177
- .catch(() => { });
178
- const result = await Promise.race([
179
- process.exit,
180
- connection.getStreams(),
181
- ]);
182
- if (typeof result === 'number') {
183
- const error = new Error('scrcpy server exited prematurely');
184
- error.output = output;
185
- throw error;
186
- }
187
- abortController.abort();
188
- await pipe;
189
- const [videoStream, controlStream] = result;
190
- return new ScrcpyClient(adb, options, process, new ConcatStream(new ArrayToStream(output), stdout), videoStream, controlStream);
191
- }
192
- catch (e) {
193
- await process?.kill();
194
- throw e;
195
- }
196
- finally {
197
- connection.dispose();
198
- }
199
- }
200
- _adb;
201
- get adb() { return this._adb; }
202
- options;
203
- process;
204
- _stdout;
205
- get stdout() { return this._stdout; }
206
- get exit() { return this.process.exit; }
207
- _screenWidth;
208
- get screenWidth() { return this._screenWidth; }
209
- _screenHeight;
210
- get screenHeight() { return this._screenHeight; }
211
- _videoStream;
212
- get videoStream() { return this._videoStream; }
213
- _controlStreamWriter;
214
- clipboardChangeEvent = new EventEmitter();
215
- get onClipboardChange() { return this.clipboardChangeEvent.event; }
216
- lastTouchMessage = 0;
217
- constructor(adb, options, process, stdout, videoStream, controlStream) {
218
- this._adb = adb;
219
- this.options = options;
220
- this.process = process;
221
- this._stdout = stdout;
222
- this._videoStream = videoStream.readable
223
- .pipeThrough(options.createVideoStreamTransformer())
224
- .pipeThrough(new InspectStream(packet => {
225
- if (packet.type === 'configuration') {
226
- this._screenWidth = packet.data.croppedWidth;
227
- this._screenHeight = packet.data.croppedHeight;
228
- }
229
- }));
230
- if (controlStream) {
231
- const buffered = new AdbBufferedStream(controlStream);
232
- this._controlStreamWriter = controlStream.writable.getWriter();
233
- (async () => {
234
- try {
235
- while (true) {
236
- const type = await buffered.read(1);
237
- switch (type[0]) {
238
- case 0:
239
- const { content } = await ClipboardMessage.deserialize(buffered);
240
- this.clipboardChangeEvent.fire(content);
241
- break;
242
- default:
243
- throw new Error('unknown control message type');
244
- }
245
- }
246
- }
247
- catch {
248
- // TODO: Scrcpy: handle error
249
- }
250
- })();
251
- }
252
- }
253
- checkControlStream(caller) {
254
- if (!this._controlStreamWriter) {
255
- throw new Error(`${caller} called with control disabled`);
256
- }
257
- return this._controlStreamWriter;
258
- }
259
- getControlMessageTypeValue(type) {
260
- const list = this.options.getControlMessageTypes();
261
- const index = list.indexOf(type);
262
- if (index === -1) {
263
- throw new Error('Not supported');
264
- }
265
- return index;
266
- }
267
- async injectKeyCode(message) {
268
- const controlStream = this.checkControlStream('injectKeyCode');
269
- await controlStream.write(ScrcpyInjectKeyCodeControlMessage.serialize({
270
- ...message,
271
- type: this.getControlMessageTypeValue(ScrcpyControlMessageType.InjectKeycode),
272
- }));
273
- }
274
- async injectText(text) {
275
- const controlStream = this.checkControlStream('injectText');
276
- await controlStream.write(ScrcpyInjectTextControlMessage.serialize({
277
- type: this.getControlMessageTypeValue(ScrcpyControlMessageType.InjectText),
278
- text,
279
- }));
280
- }
281
- async injectTouch(message) {
282
- const controlStream = this.checkControlStream('injectTouch');
283
- if (!this.screenWidth || !this.screenHeight) {
284
- return;
285
- }
286
- // ADB streams are actually pretty low-bandwidth and laggy
287
- // Re-sample move events to avoid flooding the connection
288
- // TODO: Scrcpy: investigate how to throttle touch events
289
- // because 60FPS may still be too high
290
- const now = Date.now();
291
- if (now - this.lastTouchMessage < 16 &&
292
- [AndroidMotionEventAction.Move, AndroidMotionEventAction.HoverMove].includes(message.action)) {
293
- return;
294
- }
295
- this.lastTouchMessage = now;
296
- await controlStream.write(ScrcpyInjectTouchControlMessage.serialize({
297
- ...message,
298
- type: this.getControlMessageTypeValue(ScrcpyControlMessageType.InjectTouch),
299
- screenWidth: this.screenWidth,
300
- screenHeight: this.screenHeight,
301
- }));
302
- }
303
- async injectScroll(message) {
304
- const controlStream = this.checkControlStream('injectScroll');
305
- if (!this.screenWidth || !this.screenHeight) {
306
- return;
307
- }
308
- const buffer = this.options.serializeInjectScrollControlMessage({
309
- ...message,
310
- type: this.getControlMessageTypeValue(ScrcpyControlMessageType.InjectScroll),
311
- screenWidth: this.screenWidth,
312
- screenHeight: this.screenHeight,
313
- });
314
- await controlStream.write(buffer);
315
- }
316
- async pressBackOrTurnOnScreen(action) {
317
- const controlStream = this.checkControlStream('pressBackOrTurnOnScreen');
318
- const buffer = this.options.serializeBackOrScreenOnControlMessage({
319
- type: this.getControlMessageTypeValue(ScrcpyControlMessageType.BackOrScreenOn),
320
- action,
321
- });
322
- if (buffer) {
323
- await controlStream.write(buffer);
324
- }
325
- }
326
- async sendSimpleControlMessage(type, name) {
327
- const controlStream = this.checkControlStream(name);
328
- const buffer = ScrcpySimpleControlMessage.serialize({
329
- type: this.getControlMessageTypeValue(type),
330
- });
331
- await controlStream.write(buffer);
332
- }
333
- async rotateDevice() {
334
- await this.sendSimpleControlMessage(ScrcpyControlMessageType.RotateDevice, 'rotateDevice');
335
- }
336
- async close() {
337
- // No need to close streams. Kill the process will destroy them from the other side.
338
- await this.process?.kill();
339
- }
340
- }
341
- //# sourceMappingURL=client.js.map
package/esm/client.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import type { Adb, AdbSocket } from "@yume-chan/adb";
2
- import type { Disposable } from "@yume-chan/event";
3
- import type { ValueOrPromise } from "@yume-chan/struct";
4
- export interface ScrcpyClientConnectionOptions {
5
- control: boolean;
6
- /**
7
- * Write a byte on start to detect connection issues
8
- */
9
- sendDummyByte: boolean;
10
- /**
11
- * Send device name and size
12
- */
13
- sendDeviceMeta: boolean;
14
- }
15
- export declare abstract class ScrcpyClientConnection implements Disposable {
16
- protected device: Adb;
17
- protected options: ScrcpyClientConnectionOptions;
18
- constructor(device: Adb, options: ScrcpyClientConnectionOptions);
19
- initialize(): ValueOrPromise<void>;
20
- abstract getStreams(): ValueOrPromise<[videoSteam: AdbSocket, controlStream: AdbSocket | undefined]>;
21
- dispose(): void;
22
- }
23
- export declare class ScrcpyClientForwardConnection extends ScrcpyClientConnection {
24
- private connect;
25
- private connectAndRetry;
26
- private connectVideoStream;
27
- getStreams(): Promise<[videoSteam: AdbSocket, controlStream: AdbSocket | undefined]>;
28
- }
29
- export declare class ScrcpyClientReverseConnection extends ScrcpyClientConnection {
30
- private streams;
31
- private address;
32
- initialize(): Promise<void>;
33
- private accept;
34
- getStreams(): Promise<[videoSteam: AdbSocket, controlStream: AdbSocket | undefined]>;
35
- dispose(): void;
36
- }
37
- //# sourceMappingURL=connection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,cAAc,EAAE,OAAO,CAAC;CAC3B;AAED,8BAAsB,sBAAuB,YAAW,UAAU;IAC9D,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IAEtB,SAAS,CAAC,OAAO,EAAE,6BAA6B,CAAC;gBAE9B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,6BAA6B;IAK/D,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC;aAEzB,UAAU,IAAI,cAAc,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;IAEpG,OAAO,IAAI,IAAI;CACzB;AAED,qBAAa,6BAA8B,SAAQ,sBAAsB;YACvD,OAAO;YAIP,eAAe;YAWf,kBAAkB;IAcnB,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;CAqBpG;AAED,qBAAa,6BAA8B,SAAQ,sBAAsB;IACrE,OAAO,CAAC,OAAO,CAA0C;IAEzD,OAAO,CAAC,OAAO,CAAU;IAEH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBnC,MAAM;IAIP,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;IAsBjF,OAAO;CAM1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
package/esm/message.d.ts DELETED
@@ -1,98 +0,0 @@
1
- import Struct from '@yume-chan/struct';
2
- export declare enum ScrcpyControlMessageType {
3
- InjectKeycode = 0,
4
- InjectText = 1,
5
- InjectTouch = 2,
6
- InjectScroll = 3,
7
- BackOrScreenOn = 4,
8
- ExpandNotificationPanel = 5,
9
- ExpandSettingPanel = 6,
10
- CollapseNotificationPanel = 7,
11
- GetClipboard = 8,
12
- SetClipboard = 9,
13
- SetScreenPowerMode = 10,
14
- RotateDevice = 11
15
- }
16
- export declare enum AndroidMotionEventAction {
17
- Down = 0,
18
- Up = 1,
19
- Move = 2,
20
- Cancel = 3,
21
- Outside = 4,
22
- PointerDown = 5,
23
- PointerUp = 6,
24
- HoverMove = 7,
25
- Scroll = 8,
26
- HoverEnter = 9,
27
- HoverExit = 10,
28
- ButtonPress = 11,
29
- ButtonRelease = 12
30
- }
31
- export declare const ScrcpySimpleControlMessage: Struct<{
32
- type: number;
33
- }, never, {}, undefined>;
34
- export declare const ScrcpyInjectTouchControlMessage: Struct<{
35
- type: number;
36
- action: AndroidMotionEventAction;
37
- pointerId: bigint;
38
- pointerX: number;
39
- pointerY: number;
40
- screenWidth: number;
41
- screenHeight: number;
42
- pressure: number;
43
- buttons: number;
44
- }, never, {}, undefined>;
45
- export declare type ScrcpyInjectTouchControlMessage = typeof ScrcpyInjectTouchControlMessage['TInit'];
46
- export declare const ScrcpyInjectTextControlMessage: Struct<{
47
- type: number;
48
- length: number;
49
- text: string;
50
- }, "length", {}, undefined>;
51
- export declare type ScrcpyInjectTextControlMessage = typeof ScrcpyInjectTextControlMessage['TInit'];
52
- export declare enum AndroidKeyEventAction {
53
- Down = 0,
54
- Up = 1
55
- }
56
- export declare enum AndroidKeyCode {
57
- Home = 3,
58
- Back = 4,
59
- A = 29,
60
- B = 30,
61
- C = 31,
62
- D = 32,
63
- E = 33,
64
- F = 34,
65
- G = 35,
66
- H = 36,
67
- I = 37,
68
- J = 38,
69
- K = 39,
70
- L = 40,
71
- M = 41,
72
- N = 42,
73
- O = 43,
74
- P = 44,
75
- Q = 45,
76
- R = 46,
77
- S = 47,
78
- T = 48,
79
- U = 49,
80
- V = 50,
81
- W = 51,
82
- X = 52,
83
- Y = 53,
84
- Z = 54,
85
- Space = 62,
86
- Enter = 66,
87
- Delete = 67,
88
- AppSwitch = 187
89
- }
90
- export declare const ScrcpyInjectKeyCodeControlMessage: Struct<{
91
- type: number;
92
- action: AndroidKeyEventAction;
93
- keyCode: number;
94
- repeat: number;
95
- metaState: number;
96
- }, never, {}, undefined>;
97
- export declare type ScrcpyInjectKeyCodeControlMessage = typeof ScrcpyInjectKeyCodeControlMessage['TInit'];
98
- //# sourceMappingURL=message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,MAAuB,MAAM,mBAAmB,CAAC;AAIxD,oBAAY,wBAAwB;IAChC,aAAa,IAAA;IACb,UAAU,IAAA;IACV,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,cAAc,IAAA;IACd,uBAAuB,IAAA;IACvB,kBAAkB,IAAA;IAClB,yBAAyB,IAAA;IACzB,YAAY,IAAA;IACZ,YAAY,IAAA;IACZ,kBAAkB,KAAA;IAClB,YAAY,KAAA;CACf;AAGD,oBAAY,wBAAwB;IAChC,IAAI,IAAA;IACJ,EAAE,IAAA;IACF,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,OAAO,IAAA;IACP,WAAW,IAAA;IACX,SAAS,IAAA;IACT,SAAS,IAAA;IACT,MAAM,IAAA;IACN,UAAU,IAAA;IACV,SAAS,KAAA;IACT,WAAW,KAAA;IACX,aAAa,KAAA;CAChB;AAED,eAAO,MAAM,0BAA0B;;wBAEjB,CAAC;AAEvB,eAAO,MAAM,+BAA+B;;;;;;;;;;wBAUlB,CAAC;AAE3B,oBAAY,+BAA+B,GAAG,OAAO,+BAA+B,CAAC,OAAO,CAAC,CAAC;AAE9F,eAAO,MAAM,8BAA8B;;;;2BAIO,CAAC;AAEnD,oBAAY,8BAA8B,GACtC,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAAC;AAEnD,oBAAY,qBAAqB;IAC7B,IAAI,IAAI;IACR,EAAE,IAAI;CACT;AAED,oBAAY,cAAc;IACtB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,CAAC,KAAK;IACN,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,CAAC,KAAA;IACD,KAAK,KAAK;IACV,KAAK,KAAK;IACV,MAAM,KAAK;IACX,SAAS,MAAM;CAClB;AAED,eAAO,MAAM,iCAAiC;;;;;;wBAMlB,CAAC;AAE7B,oBAAY,iCAAiC,GACzC,OAAO,iCAAiC,CAAC,OAAO,CAAC,CAAC"}
package/esm/message.js DELETED
@@ -1,98 +0,0 @@
1
- import Struct, { placeholder } from '@yume-chan/struct';
2
- // https://github.com/Genymobile/scrcpy/blob/fa5b2a29e983a46b49531def9cf3d80c40c3de37/app/src/control_msg.h#L23
3
- // For their message bodies, see https://github.com/Genymobile/scrcpy/blob/5c62f3419d252d10cd8c9cbb7c918b358b81f2d0/app/src/control_msg.c#L92
4
- export var ScrcpyControlMessageType;
5
- (function (ScrcpyControlMessageType) {
6
- ScrcpyControlMessageType[ScrcpyControlMessageType["InjectKeycode"] = 0] = "InjectKeycode";
7
- ScrcpyControlMessageType[ScrcpyControlMessageType["InjectText"] = 1] = "InjectText";
8
- ScrcpyControlMessageType[ScrcpyControlMessageType["InjectTouch"] = 2] = "InjectTouch";
9
- ScrcpyControlMessageType[ScrcpyControlMessageType["InjectScroll"] = 3] = "InjectScroll";
10
- ScrcpyControlMessageType[ScrcpyControlMessageType["BackOrScreenOn"] = 4] = "BackOrScreenOn";
11
- ScrcpyControlMessageType[ScrcpyControlMessageType["ExpandNotificationPanel"] = 5] = "ExpandNotificationPanel";
12
- ScrcpyControlMessageType[ScrcpyControlMessageType["ExpandSettingPanel"] = 6] = "ExpandSettingPanel";
13
- ScrcpyControlMessageType[ScrcpyControlMessageType["CollapseNotificationPanel"] = 7] = "CollapseNotificationPanel";
14
- ScrcpyControlMessageType[ScrcpyControlMessageType["GetClipboard"] = 8] = "GetClipboard";
15
- ScrcpyControlMessageType[ScrcpyControlMessageType["SetClipboard"] = 9] = "SetClipboard";
16
- ScrcpyControlMessageType[ScrcpyControlMessageType["SetScreenPowerMode"] = 10] = "SetScreenPowerMode";
17
- ScrcpyControlMessageType[ScrcpyControlMessageType["RotateDevice"] = 11] = "RotateDevice";
18
- })(ScrcpyControlMessageType || (ScrcpyControlMessageType = {}));
19
- // https://developer.android.com/reference/android/view/MotionEvent#constants_1
20
- export var AndroidMotionEventAction;
21
- (function (AndroidMotionEventAction) {
22
- AndroidMotionEventAction[AndroidMotionEventAction["Down"] = 0] = "Down";
23
- AndroidMotionEventAction[AndroidMotionEventAction["Up"] = 1] = "Up";
24
- AndroidMotionEventAction[AndroidMotionEventAction["Move"] = 2] = "Move";
25
- AndroidMotionEventAction[AndroidMotionEventAction["Cancel"] = 3] = "Cancel";
26
- AndroidMotionEventAction[AndroidMotionEventAction["Outside"] = 4] = "Outside";
27
- AndroidMotionEventAction[AndroidMotionEventAction["PointerDown"] = 5] = "PointerDown";
28
- AndroidMotionEventAction[AndroidMotionEventAction["PointerUp"] = 6] = "PointerUp";
29
- AndroidMotionEventAction[AndroidMotionEventAction["HoverMove"] = 7] = "HoverMove";
30
- AndroidMotionEventAction[AndroidMotionEventAction["Scroll"] = 8] = "Scroll";
31
- AndroidMotionEventAction[AndroidMotionEventAction["HoverEnter"] = 9] = "HoverEnter";
32
- AndroidMotionEventAction[AndroidMotionEventAction["HoverExit"] = 10] = "HoverExit";
33
- AndroidMotionEventAction[AndroidMotionEventAction["ButtonPress"] = 11] = "ButtonPress";
34
- AndroidMotionEventAction[AndroidMotionEventAction["ButtonRelease"] = 12] = "ButtonRelease";
35
- })(AndroidMotionEventAction || (AndroidMotionEventAction = {}));
36
- export const ScrcpySimpleControlMessage = new Struct()
37
- .uint8('type');
38
- export const ScrcpyInjectTouchControlMessage = new Struct()
39
- .fields(ScrcpySimpleControlMessage)
40
- .uint8('action', placeholder())
41
- .uint64('pointerId')
42
- .uint32('pointerX')
43
- .uint32('pointerY')
44
- .uint16('screenWidth')
45
- .uint16('screenHeight')
46
- .uint16('pressure')
47
- .uint32('buttons');
48
- export const ScrcpyInjectTextControlMessage = new Struct()
49
- .fields(ScrcpySimpleControlMessage)
50
- .uint32('length')
51
- .string('text', { lengthField: 'length' });
52
- export var AndroidKeyEventAction;
53
- (function (AndroidKeyEventAction) {
54
- AndroidKeyEventAction[AndroidKeyEventAction["Down"] = 0] = "Down";
55
- AndroidKeyEventAction[AndroidKeyEventAction["Up"] = 1] = "Up";
56
- })(AndroidKeyEventAction || (AndroidKeyEventAction = {}));
57
- export var AndroidKeyCode;
58
- (function (AndroidKeyCode) {
59
- AndroidKeyCode[AndroidKeyCode["Home"] = 3] = "Home";
60
- AndroidKeyCode[AndroidKeyCode["Back"] = 4] = "Back";
61
- AndroidKeyCode[AndroidKeyCode["A"] = 29] = "A";
62
- AndroidKeyCode[AndroidKeyCode["B"] = 30] = "B";
63
- AndroidKeyCode[AndroidKeyCode["C"] = 31] = "C";
64
- AndroidKeyCode[AndroidKeyCode["D"] = 32] = "D";
65
- AndroidKeyCode[AndroidKeyCode["E"] = 33] = "E";
66
- AndroidKeyCode[AndroidKeyCode["F"] = 34] = "F";
67
- AndroidKeyCode[AndroidKeyCode["G"] = 35] = "G";
68
- AndroidKeyCode[AndroidKeyCode["H"] = 36] = "H";
69
- AndroidKeyCode[AndroidKeyCode["I"] = 37] = "I";
70
- AndroidKeyCode[AndroidKeyCode["J"] = 38] = "J";
71
- AndroidKeyCode[AndroidKeyCode["K"] = 39] = "K";
72
- AndroidKeyCode[AndroidKeyCode["L"] = 40] = "L";
73
- AndroidKeyCode[AndroidKeyCode["M"] = 41] = "M";
74
- AndroidKeyCode[AndroidKeyCode["N"] = 42] = "N";
75
- AndroidKeyCode[AndroidKeyCode["O"] = 43] = "O";
76
- AndroidKeyCode[AndroidKeyCode["P"] = 44] = "P";
77
- AndroidKeyCode[AndroidKeyCode["Q"] = 45] = "Q";
78
- AndroidKeyCode[AndroidKeyCode["R"] = 46] = "R";
79
- AndroidKeyCode[AndroidKeyCode["S"] = 47] = "S";
80
- AndroidKeyCode[AndroidKeyCode["T"] = 48] = "T";
81
- AndroidKeyCode[AndroidKeyCode["U"] = 49] = "U";
82
- AndroidKeyCode[AndroidKeyCode["V"] = 50] = "V";
83
- AndroidKeyCode[AndroidKeyCode["W"] = 51] = "W";
84
- AndroidKeyCode[AndroidKeyCode["X"] = 52] = "X";
85
- AndroidKeyCode[AndroidKeyCode["Y"] = 53] = "Y";
86
- AndroidKeyCode[AndroidKeyCode["Z"] = 54] = "Z";
87
- AndroidKeyCode[AndroidKeyCode["Space"] = 62] = "Space";
88
- AndroidKeyCode[AndroidKeyCode["Enter"] = 66] = "Enter";
89
- AndroidKeyCode[AndroidKeyCode["Delete"] = 67] = "Delete";
90
- AndroidKeyCode[AndroidKeyCode["AppSwitch"] = 187] = "AppSwitch";
91
- })(AndroidKeyCode || (AndroidKeyCode = {}));
92
- export const ScrcpyInjectKeyCodeControlMessage = new Struct()
93
- .fields(ScrcpySimpleControlMessage)
94
- .uint8('action', placeholder())
95
- .uint32('keyCode')
96
- .uint32('repeat')
97
- .uint32('metaState');
98
- //# sourceMappingURL=message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import type { Adb, TransformStream } from "@yume-chan/adb";
2
- import type { ScrcpyClientConnection } from "../connection.js";
3
- import type { H264Configuration } from "../decoder/index.js";
4
- import type { ScrcpyControlMessageType } from "../message.js";
5
- import type { ScrcpyBackOrScreenOnEvent1_18 } from "./1_18.js";
6
- import type { ScrcpyInjectScrollControlMessage1_22 } from "./1_22.js";
7
- export declare const DEFAULT_SERVER_PATH = "/data/local/tmp/scrcpy-server.jar";
8
- export interface ScrcpyOptionValue {
9
- toOptionValue(): string | undefined;
10
- }
11
- export declare function isScrcpyOptionValue(value: any): value is ScrcpyOptionValue;
12
- export declare function toScrcpyOptionValue<T>(value: any, empty: T): string | T;
13
- export interface VideoStreamConfigurationPacket {
14
- type: 'configuration';
15
- data: H264Configuration;
16
- }
17
- export interface VideoStreamFramePacket {
18
- type: 'frame';
19
- keyframe?: boolean | undefined;
20
- pts?: bigint | undefined;
21
- data: Uint8Array;
22
- }
23
- export declare type VideoStreamPacket = VideoStreamConfigurationPacket | VideoStreamFramePacket;
24
- export interface ScrcpyOptions<T> {
25
- value: Partial<T>;
26
- formatServerArguments(): string[];
27
- getOutputEncoderNameRegex(): RegExp;
28
- createConnection(adb: Adb): ScrcpyClientConnection;
29
- createVideoStreamTransformer(): TransformStream<Uint8Array, VideoStreamPacket>;
30
- getControlMessageTypes(): ScrcpyControlMessageType[];
31
- serializeBackOrScreenOnControlMessage(message: ScrcpyBackOrScreenOnEvent1_18): Uint8Array | undefined;
32
- serializeInjectScrollControlMessage(message: ScrcpyInjectScrollControlMessage1_22): Uint8Array;
33
- }
34
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/options/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,WAAW,CAAC;AAEtE,eAAO,MAAM,mBAAmB,sCAAsC,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAC9B,aAAa,IAAI,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,iBAAiB,CAI1E;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAUvE;AAED,MAAM,WAAW,8BAA8B;IAC3C,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,UAAU,CAAC;CACpB;AAED,oBAAY,iBAAiB,GAAG,8BAA8B,GAAG,sBAAsB,CAAC;AAExF,MAAM,WAAW,aAAa,CAAC,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAElB,qBAAqB,IAAI,MAAM,EAAE,CAAC;IAElC,yBAAyB,IAAI,MAAM,CAAC;IAEpC,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,sBAAsB,CAAC;IAEnD,4BAA4B,IAAI,eAAe,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAE/E,sBAAsB,IAAI,wBAAwB,EAAE,CAAC;IAErD,qCAAqC,CACjC,OAAO,EAAE,6BAA6B,GACvC,UAAU,GAAG,SAAS,CAAC;IAE1B,mCAAmC,CAC/B,OAAO,EAAE,oCAAoC,GAC9C,UAAU,CAAC;CACjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/options/common.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AAMvE,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC5B,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,CAAC,aAAa,KAAK,UAAU,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAI,KAAU,EAAE,KAAQ;IACvD,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;QAC5B,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;KACjC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,GAAG,KAAK,EAAE,CAAC;AACtB,CAAC"}