@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.33 → 5.0.0-beta.35

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.
@@ -182,6 +182,252 @@ export async function resolveFfmpegIdentity(path, source, probe = probeFfmpegVer
182
182
  }
183
183
  /** The `libx264` constant rate factor a live adaptation codes at when the negotiated bit rate is ignored. */
184
184
  const CONSTANT_QUALITY_CRF = 23;
185
+ /** `libx264`'s profile, level, speed and pixel format, shared by its rate-capped and constant-quality forms. */
186
+ function libx264Arguments(selection) {
187
+ return [
188
+ '-preset',
189
+ 'superfast',
190
+ '-tune',
191
+ 'zerolatency',
192
+ '-profile:v',
193
+ selection.profile,
194
+ '-level:v',
195
+ selection.level,
196
+ '-pix_fmt',
197
+ 'yuv420p',
198
+ ];
199
+ }
200
+ /** The software encoder every selection no qualified hardware encoder serves is coded by. */
201
+ const LIBX264 = {
202
+ name: 'libx264',
203
+ args: (selection, kbps) => [...libx264Arguments(selection), '-b:v', kbps, '-maxrate', kbps, '-bufsize', kbps],
204
+ };
205
+ /** `libx264` at {@link CONSTANT_QUALITY_CRF} with no rate control, which no hardware encoder replaces. */
206
+ const CONSTANT_QUALITY = {
207
+ name: 'libx264',
208
+ args: (selection) => [...libx264Arguments(selection), '-crf', String(CONSTANT_QUALITY_CRF)],
209
+ };
210
+ /** The H.264 `profile_idc` of each negotiable profile. */
211
+ const PROFILE_IDC = { baseline: 66, main: 77, high: 100 };
212
+ /**
213
+ * The hardware encoders a selection may be served by, in order of preference, each with the hosts whose
214
+ * binary may carry it.
215
+ *
216
+ * Each states profile, level and rate control in its own encoder's spelling, with B-frames off and its
217
+ * lowest-latency mode, as docs/reference/hardware-encoder-viability.md records them. None is used for a
218
+ * selection until {@link FfmpegLiveMedia.qualify} has proven it against that selection.
219
+ */
220
+ const HARDWARE_ENCODERS = [
221
+ {
222
+ name: 'h264_videotoolbox',
223
+ triedOn: (host) => host.platform === 'darwin',
224
+ args: (selection, kbps) => [
225
+ '-profile:v',
226
+ selection.profile,
227
+ '-level:v',
228
+ selection.level,
229
+ '-realtime',
230
+ '1',
231
+ '-prio_speed',
232
+ '1',
233
+ '-bf',
234
+ '0',
235
+ '-pix_fmt',
236
+ 'yuv420p',
237
+ '-b:v',
238
+ kbps,
239
+ '-maxrate',
240
+ kbps,
241
+ ],
242
+ },
243
+ {
244
+ name: 'h264_qsv',
245
+ triedOn: (host) => host.platform === 'win32' || host.configured,
246
+ args: (selection, kbps) => [
247
+ '-profile:v',
248
+ selection.profile,
249
+ '-level:v',
250
+ selection.level.replace('.', ''),
251
+ '-pix_fmt',
252
+ 'nv12',
253
+ '-bf',
254
+ '0',
255
+ '-look_ahead',
256
+ '0',
257
+ '-async_depth',
258
+ '1',
259
+ '-b:v',
260
+ kbps,
261
+ '-maxrate',
262
+ kbps,
263
+ ],
264
+ },
265
+ {
266
+ name: 'h264_nvenc',
267
+ triedOn: (host) => host.configured,
268
+ args: (selection, kbps) => [
269
+ '-profile:v',
270
+ selection.profile,
271
+ '-level:v',
272
+ selection.level,
273
+ '-preset',
274
+ 'p1',
275
+ '-tune',
276
+ 'ull',
277
+ '-zerolatency',
278
+ '1',
279
+ '-bf',
280
+ '0',
281
+ '-pix_fmt',
282
+ 'yuv420p',
283
+ '-rc',
284
+ 'cbr',
285
+ '-b:v',
286
+ kbps,
287
+ '-maxrate',
288
+ kbps,
289
+ '-bufsize',
290
+ kbps,
291
+ ],
292
+ },
293
+ {
294
+ name: 'h264_amf',
295
+ triedOn: (host) => host.platform === 'linux' && host.arch === 'x64',
296
+ args: (selection, kbps) => [
297
+ '-profile:v',
298
+ selection.profile === 'baseline' ? 'constrained_baseline' : selection.profile,
299
+ '-level:v',
300
+ selection.level,
301
+ '-usage',
302
+ 'ultralowlatency',
303
+ '-bf',
304
+ '0',
305
+ '-pix_fmt',
306
+ 'yuv420p',
307
+ '-b:v',
308
+ kbps,
309
+ '-maxrate',
310
+ kbps,
311
+ '-bufsize',
312
+ kbps,
313
+ ],
314
+ },
315
+ {
316
+ name: 'h264_vaapi',
317
+ triedOn: (host) => host.platform === 'linux' && host.configured,
318
+ upload: ',format=nv12,hwupload',
319
+ args: (selection, kbps) => [
320
+ '-vaapi_device',
321
+ '/dev/dri/renderD128',
322
+ '-profile:v',
323
+ selection.profile === 'baseline' ? 'constrained_baseline' : selection.profile,
324
+ '-level:v',
325
+ selection.level,
326
+ '-bf',
327
+ '0',
328
+ '-async_depth',
329
+ '1',
330
+ '-b:v',
331
+ kbps,
332
+ '-maxrate',
333
+ kbps,
334
+ ],
335
+ },
336
+ {
337
+ name: 'h264_v4l2m2m',
338
+ triedOn: (host) => host.platform === 'linux' && (host.arch === 'arm' || host.arch === 'arm64'),
339
+ args: (selection, kbps) => [
340
+ '-profile:v',
341
+ String(PROFILE_IDC[selection.profile]),
342
+ '-pix_fmt',
343
+ 'yuv420p',
344
+ '-b:v',
345
+ kbps,
346
+ ],
347
+ },
348
+ ];
349
+ /** How many seconds of synthetic picture one qualification run codes. */
350
+ const QUALIFICATION_SECONDS = 2;
351
+ /** The longest one qualification process may run before its selection counts as unqualified. */
352
+ const QUALIFICATION_RUN_TIMEOUT_MS = 10_000;
353
+ /** The longest qualification as a whole may take; a selection it has not finished by then stays unqualified. */
354
+ const QUALIFICATION_BUDGET_MS = 60_000;
355
+ /**
356
+ * The selections every hardware encoder is qualified against: each advertised profile and level, at the
357
+ * largest advertised geometry that level's frame-size limit admits, at the advertised frame-rate ceiling, and
358
+ * at 299 kbps, the lowest bit rate a controller has been measured selecting.
359
+ */
360
+ const QUALIFICATION_SELECTIONS = ['baseline', 'main', 'high'].flatMap((profile) => [
361
+ ['3.1', 1280, 720],
362
+ ['3.2', 1280, 720],
363
+ ['4.0', 1920, 1080],
364
+ ].map(([level, width, height]) => ({
365
+ profile,
366
+ level,
367
+ width,
368
+ height,
369
+ fps: 30,
370
+ maxBitRate: 299,
371
+ mtu: 1378,
372
+ payloadType: 99,
373
+ ssrc: 1,
374
+ rtcpInterval: 0.5,
375
+ })));
376
+ const runQualification = (executable, args, input, timeoutMs) => new Promise((resolve) => {
377
+ const child = execFile(executable, args, { encoding: 'buffer', timeout: timeoutMs, maxBuffer: 16 * 1024 * 1024, windowsHide: true }, (error, stdout, stderr) => resolve(error ? undefined : { stdout, stderr: stderr.toString() }));
378
+ child.stdin?.on('error', () => undefined);
379
+ child.stdin?.end(input);
380
+ });
381
+ /**
382
+ * Qualifies `encoder` for `selection` before `deadline`.
383
+ *
384
+ * The encoder codes {@link QUALIFICATION_SECONDS} of moving synthetic picture through the session's own
385
+ * argument list, which proves it is named by the binary, accepts those arguments, and opens on this host's
386
+ * devices. A second FFmpeg then traces the coded parameter sets, which proves what was coded: a profile at or
387
+ * below the negotiated one, the negotiated level and macroblock geometry, every frame, and no more bytes than
388
+ * the encoder budget plus the one second of it the session's rate control may borrow.
389
+ */
390
+ async function qualification(executable, encoder, selection, run, deadline) {
391
+ const within = (args, input) => {
392
+ const left = deadline - Date.now();
393
+ return left > 0 ? run(executable, args, input, Math.min(left, QUALIFICATION_RUN_TIMEOUT_MS)) : 'budget';
394
+ };
395
+ const coded = await within([
396
+ '-hide_banner',
397
+ '-loglevel',
398
+ 'error',
399
+ '-f',
400
+ 'lavfi',
401
+ '-i',
402
+ `testsrc2=size=${selection.width}x${selection.height}:rate=${selection.fps}:duration=${QUALIFICATION_SECONDS}`,
403
+ ...encodeArguments(encoder, selection),
404
+ '-f',
405
+ 'h264',
406
+ 'pipe:1',
407
+ ]);
408
+ if (!coded || coded === 'budget') {
409
+ return coded ?? 'encode';
410
+ }
411
+ const traced = await within(['-hide_banner', '-f', 'h264', '-i', 'pipe:0', '-c', 'copy', '-bsf:v', 'trace_headers', '-f', 'null', '-'], coded.stdout);
412
+ if (!traced || traced === 'budget') {
413
+ return traced ?? 'trace';
414
+ }
415
+ const field = (name) => Number(new RegExp(`\\b${name}\\s.*= (\\d+)$`, 'm').exec(traced.stderr)?.[1]);
416
+ const profile = field('profile_idc');
417
+ const wanted = PROFILE_IDC[selection.profile];
418
+ const checks = [
419
+ ['profile', profile === wanted || (profile === 66 && field('constraint_set1_flag') === 1) || (profile === 77 && wanted === 100)],
420
+ ['level', field('level_idc') === Number(selection.level.replace('.', ''))],
421
+ [
422
+ 'geometry',
423
+ field('pic_width_in_mbs_minus1') + 1 === Math.ceil(selection.width / 16) &&
424
+ field('pic_height_in_map_units_minus1') + 1 === Math.ceil(selection.height / 16),
425
+ ],
426
+ ['frames', (traced.stderr.match(/\bPacket: /g)?.length ?? 0) === selection.fps * QUALIFICATION_SECONDS],
427
+ ['bytes', coded.stdout.length * 8 <= videoBudgetInsideCeiling(selection) * 1_000 * (QUALIFICATION_SECONDS + 1)],
428
+ ];
429
+ return checks.find(([, passed]) => !passed)?.[0] ?? 'qualified';
430
+ }
185
431
  /** The live video packet size an administrator can choose for networks that drop the negotiated one. */
186
432
  export const SMALL_VIDEO_PACKET_SIZE = 1128;
187
433
  /** Adapts separate SDK elementary streams into independently failing HomeKit SRTP outputs. */
@@ -204,6 +450,40 @@ export class FfmpegLiveMedia {
204
450
  this.copyVideo = copyVideo;
205
451
  this.constantQuality = constantQuality;
206
452
  }
453
+ /**
454
+ * Each hardware encoder's qualified selections, as `profile@level`, for the rest of this run.
455
+ *
456
+ * A spawn reads it, so a selection is served by hardware from the moment it qualifies, and an encoder that
457
+ * exits before output in a session is removed from it and serves nothing again.
458
+ */
459
+ qualified = new Map();
460
+ /**
461
+ * Qualifies every hardware encoder `host`'s binary may carry against every selection it is qualified for,
462
+ * one run after another and within {@link QUALIFICATION_BUDGET_MS}, and returns each tried encoder's
463
+ * outcome per `profile@level`.
464
+ *
465
+ * Until a selection qualifies it is coded by `libx264`, and a selection no encoder qualifies for stays there.
466
+ */
467
+ async qualify(host, run = runQualification) {
468
+ const deadline = Date.now() + QUALIFICATION_BUDGET_MS;
469
+ const outcomes = {};
470
+ for (const encoder of HARDWARE_ENCODERS.filter((candidate) => candidate.triedOn(host))) {
471
+ const tried = (outcomes[encoder.name] = {});
472
+ for (const selection of QUALIFICATION_SELECTIONS) {
473
+ const key = `${selection.profile}@${selection.level}`;
474
+ tried[key] = await qualification(this.executable, encoder, selection, run, deadline);
475
+ if (tried[key] === 'qualified') {
476
+ this.qualified.set(encoder.name, (this.qualified.get(encoder.name) ?? new Set()).add(key));
477
+ }
478
+ }
479
+ }
480
+ return outcomes;
481
+ }
482
+ /** The first hardware encoder qualified for `selection`, or `libx264` where none is. */
483
+ encoderFor(selection) {
484
+ const key = `${selection.profile}@${selection.level}`;
485
+ return HARDWARE_ENCODERS.find((encoder) => this.qualified.get(encoder.name)?.has(key)) ?? LIBX264;
486
+ }
207
487
  /**
208
488
  * Reserves the negotiated output ports so `SetupEndpoints` can be answered with them, and returns a
209
489
  * session that holds nothing else: no SDK handle, adaptation process, or device session exists until
@@ -504,9 +784,21 @@ export class FfmpegLiveMedia {
504
784
  if (!videoProcess) {
505
785
  adaptationConfig = videoConfig;
506
786
  videoSequence = (videoSequence + OUTPUT_SEQUENCE_STEP) & 0xffff;
507
- const child = this.createProcess(this.executable, videoArguments(videoConfig, negotiated.video, targetAddress, transport.video, videoSequence, copyVideo, constantQuality));
787
+ const encoder = copyVideo && videoConfig.codec === 'h264'
788
+ ? 'copy'
789
+ : constantQuality
790
+ ? CONSTANT_QUALITY
791
+ : this.encoderFor(negotiated.video);
792
+ const child = this.createProcess(this.executable, videoArguments(videoConfig, negotiated.video, targetAddress, transport.video, videoSequence, encoder));
508
793
  videoProcess = child;
509
- adaptationDiagnostics?.report({ role: 'live-video', event: 'started', cause: videoCause });
794
+ const encoderName = encoder === 'copy' ? encoder : encoder.name;
795
+ adaptationDiagnostics?.report({
796
+ role: 'live-video',
797
+ event: 'started',
798
+ cause: videoCause,
799
+ encoder: encoderName,
800
+ source: videoConfig.codec,
801
+ });
510
802
  const stderr = new AdaptationStderr();
511
803
  let producedOutput = false;
512
804
  child.stderr.on('data', (chunk) => {
@@ -534,6 +826,9 @@ export class FfmpegLiveMedia {
534
826
  return;
535
827
  }
536
828
  reportAdaptation('live-video', producedOutput ? 'exited-while-streaming' : 'exited-before-output', stderr, code, signal);
829
+ if (!producedOutput && this.qualified.delete(encoderName)) {
830
+ adaptationDiagnostics?.report({ role: 'live-video', event: 'encoder-disqualified', encoder: encoderName });
831
+ }
537
832
  failVideo(producedOutput ? 'adaptation-exited-while-streaming' : 'adaptation-exited-before-output');
538
833
  });
539
834
  }
@@ -932,49 +1227,35 @@ function outputArguments(targetAddress, target, payloadType, ssrc, packetSize, s
932
1227
  * inside its ceiling still transmits over it whenever the transport is unreserved, which is what the measured
933
1228
  * overshoot was; the evidence is in docs/architecture.md.
934
1229
  *
935
- * `ultrafast` drops CABAC and the 8x8 transform, so the coded stream is Constrained Baseline under
936
- * any negotiated profile, which every negotiated decoder accepts as a subset. `-profile:v` and `-level:v` remain
937
- * the ceilings the encoder is held to.
1230
+ * `superfast` is the cheapest `libx264` preset that retains CABAC, and therefore the cheapest one whose
1231
+ * coded stream can carry a negotiated Main or High profile; `ultrafast` drops CABAC and codes Constrained
1232
+ * Baseline whatever `-profile:v` asks for. `-tune zerolatency` pins the same `sliced_threads`, `bframes`
1233
+ * and `rc_lookahead` at either preset, so this costs computation rather than frame delay.
938
1234
  *
939
1235
  * `copy` sends an H.264 source as the camera coded it, with no encoder in the process. Nothing above then holds:
940
1236
  * the geometry, frame rate, bit rate, profile and keyframe interval are the camera's own, not the negotiated
941
1237
  * selection. Only the RTP output is the negotiated one. An H.265 source is transcoded either way.
942
1238
  *
943
- * `constantQuality` codes at {@link CONSTANT_QUALITY_CRF} with no rate control, so the negotiated bit rate is not
1239
+ * {@link CONSTANT_QUALITY} codes at {@link CONSTANT_QUALITY_CRF} with no rate control, so the negotiated bit rate is not
944
1240
  * honoured: the output spends what the picture needs. A controller asks 299 kbps for 720p and does not raise it
945
1241
  * during a session, which the ceiling above codes as a blurred, then blocky, picture.
946
1242
  */
947
- function videoArguments(input, selection, targetAddress, target, sequence, copy = false, constantQuality = false) {
948
- if (copy && input.codec === 'h264') {
949
- return [
950
- ...commonArguments('h264'),
951
- '-an',
952
- '-c:v',
953
- 'copy',
954
- ...outputArguments(targetAddress, target, selection.payloadType, selection.ssrc, selection.mtu, sequence),
955
- ];
1243
+ function videoArguments(input, selection, targetAddress, target, sequence, encoder) {
1244
+ const output = outputArguments(targetAddress, target, selection.payloadType, selection.ssrc, selection.mtu, sequence);
1245
+ if (encoder === 'copy') {
1246
+ return [...commonArguments('h264'), '-an', '-c:v', 'copy', ...output];
956
1247
  }
957
- const budget = videoBudgetInsideCeiling(selection);
958
- const rate = constantQuality
959
- ? ['-crf', String(CONSTANT_QUALITY_CRF)]
960
- : ['-b:v', `${budget}k`, '-maxrate', `${budget}k`, '-bufsize', `${budget}k`];
1248
+ return [...commonArguments(input.codec === 'h265' ? 'hevc' : input.codec), ...encodeArguments(encoder, selection), ...output];
1249
+ }
1250
+ /** What one encoder is given to code `selection`, between its input and its output, in a session and in qualification alike. */
1251
+ function encodeArguments(encoder, selection) {
961
1252
  return [
962
- ...commonArguments(input.codec === 'h265' ? 'hevc' : input.codec),
963
1253
  '-an',
964
1254
  '-c:v',
965
- 'libx264',
966
- '-preset',
967
- 'ultrafast',
968
- '-tune',
969
- 'zerolatency',
970
- '-profile:v',
971
- selection.profile,
972
- '-level:v',
973
- selection.level,
974
- '-pix_fmt',
975
- 'yuv420p',
1255
+ encoder.name,
1256
+ ...encoder.args(selection, `${videoBudgetInsideCeiling(selection)}k`),
976
1257
  '-vf',
977
- `scale=${selection.width}:${selection.height}:force_original_aspect_ratio=decrease,pad=${selection.width}:${selection.height}:(ow-iw)/2:(oh-ih)/2`,
1258
+ `scale=${selection.width}:${selection.height}:force_original_aspect_ratio=decrease,pad=${selection.width}:${selection.height}:(ow-iw)/2:(oh-ih)/2${encoder.upload ?? ''}`,
978
1259
  '-fpsmax',
979
1260
  String(selection.fps),
980
1261
  '-g',
@@ -983,8 +1264,6 @@ function videoArguments(input, selection, targetAddress, target, sequence, copy
983
1264
  String(selection.fps * 2),
984
1265
  '-sc_threshold',
985
1266
  '0',
986
- ...rate,
987
- ...outputArguments(targetAddress, target, selection.payloadType, selection.ssrc, selection.mtu, sequence),
988
1267
  ];
989
1268
  }
990
1269
  /** FLV signature, version 1, the audio-only flag, header size 9, and the zero size of the tag before the first. */
@@ -1 +1 @@
1
- {"version":3,"file":"live-stream.js","sourceRoot":"","sources":["../../src/media/live-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-stream.js","sourceRoot":"","sources":["../../src/media/live-stream.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ffmpegPathSource, parseConfig } from './configuration.js';
2
- import { createDiagnosticLogger, DiagnosticConditions, recordFleet, recordHostEnvironment, reportAdaptationNotice, reportDiscardedV4Settings, reportHomeKitEvent, unconfirmedWriteCondition, reportInvalidSnapshotCache, reportStationClaim, } from './diagnostics.js';
2
+ import { createDiagnosticLogger, DiagnosticConditions, recordFleet, recordHostEnvironment, reportAdaptationNotice, reportLiveVideoEncoders, reportDiscardedV4Settings, reportHomeKitEvent, unconfirmedWriteCondition, reportInvalidSnapshotCache, reportStationClaim, } from './diagnostics.js';
3
3
  import { deviceSnapshotLabel } from './device/snapshot.js';
4
4
  import { HomeKitReconciler } from './homekit/reconciler.js';
5
5
  import { describeHomeKitRepresentation } from './homekit/representation.js';
@@ -104,11 +104,25 @@ export function createEufyPlatform(clientFactory, shutdownTimeoutMs = 10_000, si
104
104
  });
105
105
  api.on('didFinishLaunching', () => {
106
106
  const ffmpegPath = configuredConfig.ffmpegPath;
107
+ const qualification = ffmpegPath && liveMedia && configuredConfig.hardwareVideoEncoder
108
+ ? liveMedia.qualify({
109
+ platform: process.platform,
110
+ arch: process.arch,
111
+ configured: ffmpegPathSource(ffmpegPath) === 'configured',
112
+ })
113
+ : undefined;
114
+ void qualification?.then((encoders) => reportLiveVideoEncoders(diagnosticLog, encoders));
107
115
  if (storageRoot) {
108
116
  const homebridge = typeof api.serverVersion === 'string' ? { homebridge: api.serverVersion } : {};
109
117
  recordHostEnvironment(storageRoot, homebridge);
110
118
  if (ffmpegPath) {
111
- void resolveFfmpegIdentity(ffmpegPath, ffmpegPathSource(ffmpegPath)).then((ffmpeg) => recordHostEnvironment(storageRoot, { ...homebridge, ffmpeg }));
119
+ void resolveFfmpegIdentity(ffmpegPath, ffmpegPathSource(ffmpegPath)).then(async (ffmpeg) => {
120
+ recordHostEnvironment(storageRoot, { ...homebridge, ffmpeg });
121
+ const encoders = await qualification;
122
+ if (encoders) {
123
+ recordHostEnvironment(storageRoot, { ...homebridge, ffmpeg: { ...ffmpeg, encoders } });
124
+ }
125
+ });
112
126
  }
113
127
  }
114
128
  const accessoryStore = createAccessoryStore(api);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,kBAAkB,GAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAA8B,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAyB,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AA0BlD,MAAM,UAAU,kBAAkB,CAChC,aAA+B,EAC/B,iBAAiB,GAAG,MAAM,EAC1B,YAAmC;IAEnC,OAAO,MAAM,YAAY;QACN,OAAO,CAAe;QACtB,iBAAiB,GAAwB,EAAE,CAAC;QACrD,UAAU,CAAqB;QAC/B,iBAAiB,CAAc;QAC/B,KAAK,CAAc;QAE3B,YAAY,GAAmB,EAAE,MAAsB,EAAE,GAAgB;YACvE,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,aAAa,GAAG,sBAAsB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAC1C,aAAa,EACb,CAAC,MAAM,EAAE,EAAE,CACT,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACxC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAqE,CAAC;gBAChG,OAAO,OAAO,CAAC,cAAc,EAAE,OAAO,KAAK,CAAC,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,MAAM,CAAC;YAC3F,CAAC,CAAC,EAAE,WAAW,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAC3F,CAAC;YACF,MAAM,qBAAqB,GAA0B;gBACnD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,aAAa,EAAE,MAAM,CAAC;aAClE,CAAC;YACF,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU;gBAC3C,CAAC,CAAC,IAAI,eAAe,CACjB,gBAAgB,CAAC,UAAU,EAC3B,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,SAAS,EACT,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,EACxE,gBAAgB,CAAC,oBAAoB,EACrC,gBAAgB,CAAC,iBAAiB,CACnC;gBACH,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU;gBAChD,CAAC,CAAC,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,EAAE,qBAAqB,CAAC;gBAC9E,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,WAAW,GAAG,IAAI,0BAA0B,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;YAChG,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/G,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAC3C,WAAW;gBACT,CAAC,CAAC,IAAI,6BAA6B,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC;gBACjG,CAAC,CAAC,SAAS,EACb,WAAW,EACX,SAAS,EACT,SAAS,EACT,mBAAmB,CACpB,CAAC;YACF,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC;gBACjG,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE;gBAC9E,WAAW;gBACX,iBAAiB;gBACjB,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE;gBACvC,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;oBACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;oBACjC,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;oBAC/C,IAAI,CAAC,UAAU,IAAI,OAAO,MAAM,EAAE,IAAI,KAAK,UAAU;wBAAE,OAAO,SAAS,CAAC;oBACxE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;oBAClC,IAAI,CAAC,KAAK;wBAAE,OAAO,SAAS,CAAC;oBAC7B,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACrF,OAAO,gBAAgB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;wBAC5D,KAAK,CAAC,OAAO,EAAE,CAAC;wBAChB,cAAc,EAAE,CAAC;wBACjB,KAAK,EAAE,CAAC;oBACV,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9E,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CACrD,WAAW,CACT,WAAW,EACX,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACrC,MAAM,SAAS,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;oBAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;oBAC1D,OAAO;wBACL,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,qBAAqB;wBACrE,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;wBAClE,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,QAAQ,EAAE,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,EAAE;wBAC1D,QAAQ,EAAE,SAAS,CAAC,QAAQ;qBAC7B,CAAC;gBACJ,CAAC,CAAC,CACH,CACF,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,GAAS,EAAE;gBACtB,IAAI,mBAAmB,EAAE,CAAC;oBACxB,mBAAmB,GAAG,KAAK,CAAC;oBAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClE,CAAC,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,YAAY,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3E,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,SAAS,EAAE,CAAC;oBACd,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;gBAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;gBAC/C,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClG,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;oBAC/C,IAAI,UAAU,EAAE,CAAC;wBACf,KAAK,qBAAqB,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACnF,qBAAqB,CAAC,WAAW,EAAE,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,CAAC,CAC9D,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,UAAU,KAAK,IAAI,iBAAiB,CACvC,IAAI,CAAC,OAAO,EACZ,cAAc,EACd,CAAC,UAAU,EAAE,iBAAiB,GAAG,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAChG,IAAI,CAAC,iBAAiB,EACtB,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAC7F,gBAAgB,CAAC,iBAAiB,EAClC,SAAS,EACT,aAAa,EACb,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,gBAAgB,CAAC,WAAW,CAC7B,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBACD,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,kBAAkB,CAAC,SAA4B;YAC7C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAgB;IAC5C,IACE,CAAC,GAAG,CAAC,GAAG;QACR,CAAC,GAAG,CAAC,iBAAiB;QACtB,CAAC,GAAG,CAAC,2BAA2B;QAChC,CAAC,GAAG,CAAC,yBAAyB;QAC9B,CAAC,GAAG,CAAC,6BAA6B,EAClC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtD,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,iBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;QACvE,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,2BAA4B,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC;QACpG,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,yBAA0B,CAAC,WAAW,CAAC;QACpE,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,CAAC,6BAA8B,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC;KACzG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC,wBAAwB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}