@scalebun/react-native 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/scalebun.full.js +103 -17
- package/dist/scalebun.full.js.map +1 -1
- package/dist/scalebun.slim.js +103 -17
- package/dist/scalebun.slim.js.map +1 -1
- package/lib/commonjs/features/performance/PerformanceFeature.js +121 -23
- package/lib/commonjs/features/performance/PerformanceFeature.js.map +1 -1
- package/lib/module/features/performance/PerformanceFeature.js +122 -23
- package/lib/module/features/performance/PerformanceFeature.js.map +1 -1
- package/lib/typescript/features/performance/PerformanceFeature.d.ts +31 -0
- package/lib/typescript/features/performance/PerformanceFeature.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/performance/PerformanceFeature.ts +130 -20
|
@@ -27,6 +27,8 @@ var _SessionManager = require("../session/SessionManager");
|
|
|
27
27
|
* This is the single entry point registered with the FeatureRegistry.
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
|
+
/** Shape accepted by BackendSessionAdapter.queuePerformanceMetric. */
|
|
31
|
+
|
|
30
32
|
class PerformanceFeature {
|
|
31
33
|
name = 'performance';
|
|
32
34
|
active = false;
|
|
@@ -62,8 +64,31 @@ class PerformanceFeature {
|
|
|
62
64
|
/** Delay schedule for each attempt (ms) — escalating to let views settle */
|
|
63
65
|
static CAPTURE_DELAYS = [300, 600, 1200];
|
|
64
66
|
|
|
65
|
-
//
|
|
66
|
-
|
|
67
|
+
// ─── Early-metric buffering (backend) ───────────────────────────────
|
|
68
|
+
//
|
|
69
|
+
// Performance metrics reach the cloud via the SessionManager's backend
|
|
70
|
+
// transport. But the first metrics — most importantly app_launch — fire
|
|
71
|
+
// during PerformanceFeature.initialize() (appLaunchCollector.collect()),
|
|
72
|
+
// which runs from featureRegistry.initializeAll() BEFORE the bootstrap
|
|
73
|
+
// attaches the backend transport (SDKBootstrapper). In that window
|
|
74
|
+
// getBackendTransport() is null, so without buffering the metric is sent
|
|
75
|
+
// only to the desktop debugger and silently dropped from the cloud
|
|
76
|
+
// ("App start = 0" in Insights). We buffer such metrics locally and drain
|
|
77
|
+
// them the moment the transport appears (via subsequent events or a
|
|
78
|
+
// bounded retry). The backend adapter itself buffers again until the
|
|
79
|
+
// session row is ready, so ordering across the session boundary is safe.
|
|
80
|
+
/** Metrics captured before the backend transport was available. */
|
|
81
|
+
_pendingBackendMetrics = [];
|
|
82
|
+
/** Retry timer that drains the buffer once the transport attaches. */
|
|
83
|
+
_backendDrainTimer = null;
|
|
84
|
+
/** Number of drain attempts made for the current buffered batch. */
|
|
85
|
+
_backendDrainAttempts = 0;
|
|
86
|
+
/** Hard cap on buffered metrics — bounds memory if a transport never attaches (non-SaaS). */
|
|
87
|
+
static BACKEND_BUFFER_MAX = 64;
|
|
88
|
+
/** Max drain retries before giving up (non-SaaS mode never attaches a transport). */
|
|
89
|
+
static BACKEND_DRAIN_MAX_ATTEMPTS = 6;
|
|
90
|
+
/** Escalating retry delays (ms); last value repeats. Covers the startup attach race. */
|
|
91
|
+
static BACKEND_DRAIN_DELAYS = [250, 500, 1000, 2000, 4000];
|
|
67
92
|
constructor(config) {
|
|
68
93
|
this.config = (0, _config.mergePerformanceConfig)(config);
|
|
69
94
|
this.transport = new _PerformanceTransport.PerformanceTransport(this.config);
|
|
@@ -234,6 +259,11 @@ class PerformanceFeature {
|
|
|
234
259
|
clearTimeout(this._captureTimer);
|
|
235
260
|
this._captureTimer = null;
|
|
236
261
|
}
|
|
262
|
+
// Stop the backend-drain retry loop (buffered metrics are dropped —
|
|
263
|
+
// the desktop transport already received them via sendEvent/sendMetric).
|
|
264
|
+
this._clearBackendDrainTimer();
|
|
265
|
+
this._backendDrainAttempts = 0;
|
|
266
|
+
this._pendingBackendMetrics = [];
|
|
237
267
|
}
|
|
238
268
|
get isActive() {
|
|
239
269
|
return this.active;
|
|
@@ -495,30 +525,98 @@ class PerformanceFeature {
|
|
|
495
525
|
* and it costs a duplicate serialize + upload per sample on every session.
|
|
496
526
|
*/
|
|
497
527
|
|
|
498
|
-
// Queue to SaaS backend dedicated performance endpoint
|
|
528
|
+
// Queue to SaaS backend dedicated performance endpoint. When the backend
|
|
529
|
+
// transport isn't attached yet (startup race — app_launch fires before
|
|
530
|
+
// SDKBootstrapper wires it), buffer locally and drain once it appears so
|
|
531
|
+
// the cloud gets the metric instead of only the desktop debugger.
|
|
532
|
+
this._forwardMetricToBackend(this._toBackendMetric(event));
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
/** Map a raw perf event onto the backend metric envelope. */
|
|
536
|
+
_toBackendMetric(event) {
|
|
537
|
+
const e = event;
|
|
538
|
+
// Forward structured launch fields so the backend can group by launch
|
|
539
|
+
// type and reconstruct the startup waterfall. Without this, only the
|
|
540
|
+
// raw duration reaches the analytics table and cold/warm/hot + phase
|
|
541
|
+
// timings are lost. Additive + forward-only: pre-existing rows stay as
|
|
542
|
+
// { id } and historical launch-type windows remain empty.
|
|
543
|
+
const metadata = {
|
|
544
|
+
id: event.id
|
|
545
|
+
};
|
|
546
|
+
if (event.type === 'app_launch') {
|
|
547
|
+
if (e.launchType) metadata.launchType = e.launchType;
|
|
548
|
+
if (e.breakdown) metadata.breakdown = e.breakdown;
|
|
549
|
+
if (e.phaseLabels) metadata.phaseLabels = e.phaseLabels;
|
|
550
|
+
}
|
|
551
|
+
return {
|
|
552
|
+
type: event.type,
|
|
553
|
+
screenName: e.screenName ?? e.context?.screenKey,
|
|
554
|
+
duration: e.durationMs,
|
|
555
|
+
value: e.estimatedFps ?? e.value,
|
|
556
|
+
metadata
|
|
557
|
+
};
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
/**
|
|
561
|
+
* Hand a metric to the backend transport, or buffer it until one attaches.
|
|
562
|
+
* Every call first drains anything buffered, so a late-arriving transport
|
|
563
|
+
* flushes the backlog in the order the metrics were produced.
|
|
564
|
+
*/
|
|
565
|
+
_forwardMetricToBackend(metric) {
|
|
499
566
|
const backendTransport = _SessionManager.SessionManager.getExistingInstance()?.getBackendTransport();
|
|
500
567
|
if (backendTransport) {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
568
|
+
this._drainPendingBackendMetrics(backendTransport);
|
|
569
|
+
backendTransport.queuePerformanceMetric(metric);
|
|
570
|
+
return;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
// No transport yet — buffer (bounded, drop-oldest) and schedule a drain.
|
|
574
|
+
this._pendingBackendMetrics.push(metric);
|
|
575
|
+
if (this._pendingBackendMetrics.length > PerformanceFeature.BACKEND_BUFFER_MAX) {
|
|
576
|
+
this._pendingBackendMetrics.shift();
|
|
577
|
+
}
|
|
578
|
+
this._scheduleBackendDrain();
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
/** Flush all buffered metrics into the transport, preserving order. */
|
|
582
|
+
_drainPendingBackendMetrics(backendTransport) {
|
|
583
|
+
if (this._pendingBackendMetrics.length === 0) return;
|
|
584
|
+
const buffered = this._pendingBackendMetrics;
|
|
585
|
+
this._pendingBackendMetrics = [];
|
|
586
|
+
for (const metric of buffered) {
|
|
587
|
+
backendTransport.queuePerformanceMetric(metric);
|
|
588
|
+
}
|
|
589
|
+
this._clearBackendDrainTimer();
|
|
590
|
+
this._backendDrainAttempts = 0;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/**
|
|
594
|
+
* Poll for the backend transport a bounded number of times so the sole
|
|
595
|
+
* early metric (app_launch) still reaches the cloud even when no later
|
|
596
|
+
* event arrives to trigger a drain. Gives up after BACKEND_DRAIN_MAX_ATTEMPTS
|
|
597
|
+
* (non-SaaS mode never attaches a transport — the desktop path already has
|
|
598
|
+
* the data), leaving the bounded buffer to be GC'd on teardown.
|
|
599
|
+
*/
|
|
600
|
+
_scheduleBackendDrain() {
|
|
601
|
+
if (this._backendDrainTimer) return;
|
|
602
|
+
if (this._backendDrainAttempts >= PerformanceFeature.BACKEND_DRAIN_MAX_ATTEMPTS) return;
|
|
603
|
+
const delays = PerformanceFeature.BACKEND_DRAIN_DELAYS;
|
|
604
|
+
const delay = delays[Math.min(this._backendDrainAttempts, delays.length - 1)];
|
|
605
|
+
this._backendDrainAttempts++;
|
|
606
|
+
this._backendDrainTimer = setTimeout(() => {
|
|
607
|
+
this._backendDrainTimer = null;
|
|
608
|
+
const backendTransport = _SessionManager.SessionManager.getExistingInstance()?.getBackendTransport();
|
|
609
|
+
if (backendTransport) {
|
|
610
|
+
this._drainPendingBackendMetrics(backendTransport);
|
|
611
|
+
} else if (this._pendingBackendMetrics.length > 0) {
|
|
612
|
+
this._scheduleBackendDrain();
|
|
514
613
|
}
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
});
|
|
614
|
+
}, delay);
|
|
615
|
+
}
|
|
616
|
+
_clearBackendDrainTimer() {
|
|
617
|
+
if (this._backendDrainTimer) {
|
|
618
|
+
clearTimeout(this._backendDrainTimer);
|
|
619
|
+
this._backendDrainTimer = null;
|
|
522
620
|
}
|
|
523
621
|
}
|
|
524
622
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_config","_JsStallCollector","_AppLaunchCollector","_ScreenLoadCollector","_AutoScreenLoadCollector","_FrameMetricsCollector","_UiHangCollector","_NetworkPerfCollector","_CustomTraceCollector","_PerformanceTransport","_MetricsEngine","_SessionManager","PerformanceFeature","name","active","sessionId","currentScreen","deviceMeta","_captureGen","_lastCaptureTs","_recentCaptures","Map","_captureTimer","CAPTURE_THROTTLE_MS","CAPTURE_DEDUP_MS","CAPTURE_MAX_RETRIES","CAPTURE_DELAYS","constructor","config","mergePerformanceConfig","transport","PerformanceTransport","platform","Platform","OS","osVersion","Version","buildType","__DEV__","getContext","screenKey","undefined","device","jsStallCollector","JsStallCollector","event","_handleEvent","sendMetric","durationMs","severity","summary","sendStallSummary","appLaunchCollector","AppLaunchCollector","launchType","MetricKeys","APP_LAUNCH_COLD","APP_LAUNCH_WARM","screenLoadCollector","ScreenLoadCollector","SCREEN_LOAD","screen","screenName","autoScreenLoadCollector","AutoScreenLoadCollector","_triggerAutoCapture","id","frameMetricsCollector","FrameMetricsCollector","FPS_ESTIMATED","estimatedFps","FRAMES_DROPPED","droppedFrames","FRAMES_SLOW","slowFrames","FRAMES_FROZEN","frozenFrames","uiHangCollector","UiHangCollector","UI_HANG_COUNT","UI_HANG_MAX","networkPerfCollector","NetworkPerfCollector","failed","NETWORK_FAIL_COUNT","NETWORK_SLOW_COUNT","customTraceCollector","CustomTraceCollector","CUSTOM_TRACE","initialize","context","enabled","_initializeNative","install","collect","uiHangs","start","tier2Enabled","_shouldSampleTier2","startSampledCollection","NativeModules","ScaleBunPerformance","rate","tier2SampleRate","Math","random","h","i","length","charCodeAt","imul","startContinuousCollection","stopContinuousCollection","stop","teardown","reset","clearTimeout","isActive","setTransportSink","sink","setSink","setSessionId","setCurrentScreen","visitId","gen","now","Date","dedupKey","floor","lastSuccess","get","_scheduleCaptureAttempt","attempt","delay","setTimeout","_executeAutoCapture","getSink","bridgeAdapter","isAvailable","result","captureScreenshot","base64","set","pruneOlderThan","key","ts","delete","frameId","toString","substring","send","type","protocolVersion","deviceId","timestamp","sequence","nextSequence","payload","category","data","sequenceNumber","trigger","format","sizeBytes","width","height","imageData","source","onNavigationStateChange","state","onScreenChange","onScreenDetected","markScreenLoadStart","registerManualOverride","markStart","markScreenLoadEnd","markEnd","clearManualOverride","startTrace","stopTrace","traceId","addTraceSpan","addSpan","addTraceMeasurement","value","unit","addMeasurement","tags","processNetworkEvent","sendEvent","backendTransport","SessionManager","getExistingInstance","getBackendTransport","e","metadata","breakdown","phaseLabels","queuePerformanceMetric","duration","exports"],"sourceRoot":"../../../../src","sources":["features/performance/PerformanceFeature.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_config","_JsStallCollector","_AppLaunchCollector","_ScreenLoadCollector","_AutoScreenLoadCollector","_FrameMetricsCollector","_UiHangCollector","_NetworkPerfCollector","_CustomTraceCollector","_PerformanceTransport","_MetricsEngine","_SessionManager","PerformanceFeature","name","active","sessionId","currentScreen","deviceMeta","_captureGen","_lastCaptureTs","_recentCaptures","Map","_captureTimer","CAPTURE_THROTTLE_MS","CAPTURE_DEDUP_MS","CAPTURE_MAX_RETRIES","CAPTURE_DELAYS","_pendingBackendMetrics","_backendDrainTimer","_backendDrainAttempts","BACKEND_BUFFER_MAX","BACKEND_DRAIN_MAX_ATTEMPTS","BACKEND_DRAIN_DELAYS","constructor","config","mergePerformanceConfig","transport","PerformanceTransport","platform","Platform","OS","osVersion","Version","buildType","__DEV__","getContext","screenKey","undefined","device","jsStallCollector","JsStallCollector","event","_handleEvent","sendMetric","durationMs","severity","summary","sendStallSummary","appLaunchCollector","AppLaunchCollector","launchType","MetricKeys","APP_LAUNCH_COLD","APP_LAUNCH_WARM","screenLoadCollector","ScreenLoadCollector","SCREEN_LOAD","screen","screenName","autoScreenLoadCollector","AutoScreenLoadCollector","_triggerAutoCapture","id","frameMetricsCollector","FrameMetricsCollector","FPS_ESTIMATED","estimatedFps","FRAMES_DROPPED","droppedFrames","FRAMES_SLOW","slowFrames","FRAMES_FROZEN","frozenFrames","uiHangCollector","UiHangCollector","UI_HANG_COUNT","UI_HANG_MAX","networkPerfCollector","NetworkPerfCollector","failed","NETWORK_FAIL_COUNT","NETWORK_SLOW_COUNT","customTraceCollector","CustomTraceCollector","CUSTOM_TRACE","initialize","context","enabled","_initializeNative","install","collect","uiHangs","start","tier2Enabled","_shouldSampleTier2","startSampledCollection","NativeModules","ScaleBunPerformance","rate","tier2SampleRate","Math","random","h","i","length","charCodeAt","imul","startContinuousCollection","stopContinuousCollection","stop","teardown","reset","clearTimeout","_clearBackendDrainTimer","isActive","setTransportSink","sink","setSink","setSessionId","setCurrentScreen","visitId","gen","now","Date","dedupKey","floor","lastSuccess","get","_scheduleCaptureAttempt","attempt","delay","setTimeout","_executeAutoCapture","getSink","bridgeAdapter","isAvailable","result","captureScreenshot","base64","set","pruneOlderThan","key","ts","delete","frameId","toString","substring","send","type","protocolVersion","deviceId","timestamp","sequence","nextSequence","payload","category","data","sequenceNumber","trigger","format","sizeBytes","width","height","imageData","source","onNavigationStateChange","state","onScreenChange","onScreenDetected","markScreenLoadStart","registerManualOverride","markStart","markScreenLoadEnd","markEnd","clearManualOverride","startTrace","stopTrace","traceId","addTraceSpan","addSpan","addTraceMeasurement","value","unit","addMeasurement","tags","processNetworkEvent","sendEvent","_forwardMetricToBackend","_toBackendMetric","e","metadata","breakdown","phaseLabels","duration","metric","backendTransport","SessionManager","getExistingInstance","getBackendTransport","_drainPendingBackendMetrics","queuePerformanceMetric","push","shift","_scheduleBackendDrain","buffered","delays","min","exports"],"sourceRoot":"../../../../src","sources":["features/performance/PerformanceFeature.ts"],"mappings":";;;;;;AAUA,IAAAA,YAAA,GAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,sBAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AACA,IAAAU,qBAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AACA,IAAAY,eAAA,GAAAZ,OAAA;AAzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAmBA;;AASO,MAAMa,kBAAkB,CAAqB;EACvCC,IAAI,GAAG,aAAa;EACrBC,MAAM,GAAG,KAAK;;EAGtB;;EAUA;;EAGA;EACQC,SAAS,GAAW,EAAE;EACtBC,aAAa,GAAW,EAAE;;EAElC;EACQC,UAAU,GAAmB,CAAC,CAAC;;EAEvC;EACA;EACQC,WAAW,GAAG,CAAC;EACvB;EACQC,cAAc,GAAG,CAAC;EAC1B;EACQC,eAAe,GAAG,IAAIC,GAAG,CAAiB,CAAC;EACnD;EACQC,aAAa,GAAyC,IAAI;;EAElE;EACA;EACA,OAAwBC,mBAAmB,GAAG,GAAG;EACjD;EACA,OAAwBC,gBAAgB,GAAG,MAAM;EACjD;EACA,OAAwBC,mBAAmB,GAAG,CAAC;EAC/C;EACA,OAAwBC,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;;EAEzD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACQC,sBAAsB,GAAwB,EAAE;EACxD;EACQC,kBAAkB,GAAyC,IAAI;EACvE;EACQC,qBAAqB,GAAG,CAAC;EACjC;EACA,OAAwBC,kBAAkB,GAAG,EAAE;EAC/C;EACA,OAAwBC,0BAA0B,GAAG,CAAC;EACtD;EACA,OAAwBC,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;EAE3EC,WAAWA,CAACC,MAAmC,EAAE;IAC7C,IAAI,CAACA,MAAM,GAAG,IAAAC,8BAAsB,EAACD,MAAM,CAAC;IAC5C,IAAI,CAACE,SAAS,GAAG,IAAIC,0CAAoB,CAAC,IAAI,CAACH,MAAM,CAAC;;IAEtD;IACA,IAAI,CAACjB,UAAU,GAAG;MACdqB,QAAQ,EAAEC,qBAAQ,CAACC,EAAuB;MAC1CC,SAAS,EAAE,GAAGF,qBAAQ,CAACG,OAAO,EAAE;MAChCC,SAAS,EAAEC,OAAO,GAAG,OAAO,GAAG;IACnC,CAAC;IAED,MAAMC,UAAU,GAAGA,CAAA,MAAoB;MACnC9B,SAAS,EAAE,IAAI,CAACA,SAAS,IAAI,SAAS;MACtC+B,SAAS,EAAE,IAAI,CAAC9B,aAAa,IAAI+B,SAAS;MAC1CC,MAAM,EAAE,IAAI,CAAC/B;IACjB,CAAC,CAAC;;IAEF;IACA,IAAI,CAACgC,gBAAgB,GAAG,IAAIC,kCAAgB,CACxC,IAAI,CAAChB,MAAM,EACViB,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB;MACA;MACA,IAAI,CAACf,SAAS,CAACiB,UAAU,CAAC,eAAe,EAAEF,KAAK,CAACG,UAAU,EAAE,IAAI,EAAE;QAC/DC,QAAQ,EAAEJ,KAAK,CAACI;MACpB,CAAC,CAAC;IACN,CAAC,EACAC,OAAO,IAAK,IAAI,CAACpB,SAAS,CAACqB,gBAAgB,CAACD,OAAO,CAAC,EACrDX,UACJ,CAAC;IAED,IAAI,CAACa,kBAAkB,GAAG,IAAIC,sCAAkB,CAC5C,IAAI,CAACzB,MAAM,EACViB,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACf,SAAS,CAACiB,UAAU,CACrBF,KAAK,CAACS,UAAU,KAAK,MAAM,GAAGC,yBAAU,CAACC,eAAe,GAAGD,yBAAU,CAACE,eAAe,EACrFZ,KAAK,CAACG,UAAU,EAChB,IACJ,CAAC;IACL,CAAC,EACDT,UACJ,CAAC;IAED,IAAI,CAACmB,mBAAmB,GAAG,IAAIC,wCAAmB,CAC9C,IAAI,CAAC/B,MAAM,EACViB,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACf,SAAS,CAACiB,UAAU,CACrBQ,yBAAU,CAACK,WAAW,EACtBf,KAAK,CAACG,UAAU,EAChB,IAAI,EACJ;QAAEa,MAAM,EAAEhB,KAAK,CAACiB;MAAW,CAC/B,CAAC;IACL,CAAC,EACDvB,UACJ,CAAC;IAED,IAAI,CAACwB,uBAAuB,GAAG,IAAIC,gDAAuB,CACtD,IAAI,CAACpC,MAAM,EACViB,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACf,SAAS,CAACiB,UAAU,CACrBQ,yBAAU,CAACK,WAAW,EACtBf,KAAK,CAACG,UAAU,EAChB,IAAI,EACJ;QAAEa,MAAM,EAAEhB,KAAK,CAACiB;MAAW,CAC/B,CAAC;MACD;MACA,IAAI,CAACpD,aAAa,GAAGmC,KAAK,CAACiB,UAAU;;MAErC;MACA;MACA;MACA;MACA,IAAI,CAACG,mBAAmB,CAACpB,KAAK,CAACiB,UAAU,EAAEjB,KAAK,CAACqB,EAAE,CAAC;IACxD,CAAC,EACD3B,UACJ,CAAC;IAED,IAAI,CAAC4B,qBAAqB,GAAG,IAAIC,4CAAqB,CAClD,IAAI,CAACxC,MAAM,EACViB,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACf,SAAS,CAACiB,UAAU,CAACQ,yBAAU,CAACc,aAAa,EAAExB,KAAK,CAACyB,YAAY,EAAE,KAAK,CAAC;MAC9E,IAAI,CAACxC,SAAS,CAACiB,UAAU,CAACQ,yBAAU,CAACgB,cAAc,EAAE1B,KAAK,CAAC2B,aAAa,EAAE,OAAO,CAAC;MAClF,IAAI,CAAC1C,SAAS,CAACiB,UAAU,CAACQ,yBAAU,CAACkB,WAAW,EAAE5B,KAAK,CAAC6B,UAAU,EAAE,OAAO,CAAC;MAC5E,IAAI,CAAC5C,SAAS,CAACiB,UAAU,CAACQ,yBAAU,CAACoB,aAAa,EAAE9B,KAAK,CAAC+B,YAAY,EAAE,OAAO,CAAC;IACpF,CAAC,EACDrC,UACJ,CAAC;IAED,IAAI,CAACsC,eAAe,GAAG,IAAIC,gCAAe,CACtC,IAAI,CAAClD,MAAM,EACViB,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACf,SAAS,CAACiB,UAAU,CAACQ,yBAAU,CAACwB,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC;MAC/D,IAAI,CAACjD,SAAS,CAACiB,UAAU,CAACQ,yBAAU,CAACyB,WAAW,EAAEnC,KAAK,CAACG,UAAU,EAAE,IAAI,CAAC;IAC7E,CAAC,EACDT,UACJ,CAAC;IAED,IAAI,CAAC0C,oBAAoB,GAAG,IAAIC,0CAAoB,CAChD,IAAI,CAACtD,MAAM,EACViB,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAIA,KAAK,CAACsC,MAAM,EAAE;QACd,IAAI,CAACrD,SAAS,CAACiB,UAAU,CAACQ,yBAAU,CAAC6B,kBAAkB,EAAE,CAAC,EAAE,OAAO,CAAC;MACxE,CAAC,MAAM;QACH,IAAI,CAACtD,SAAS,CAACiB,UAAU,CAACQ,yBAAU,CAAC8B,kBAAkB,EAAE,CAAC,EAAE,OAAO,CAAC;MACxE;IACJ,CAAC,EACD9C,UACJ,CAAC;IAED,IAAI,CAAC+C,oBAAoB,GAAG,IAAIC,0CAAoB,CAChD,IAAI,CAAC3D,MAAM,EACViB,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACf,SAAS,CAACiB,UAAU,CACrB,GAAGQ,yBAAU,CAACiC,YAAY,IAAI3C,KAAK,CAACtC,IAAI,EAAE,EAC1CsC,KAAK,CAACG,UAAU,EAChB,IACJ,CAAC;IACL,CAAC,EACDT,UACJ,CAAC;EACL;;EAEA;;EAEA,MAAMkD,UAAUA,CAACC,OAAuB,EAAiB;IACrD,IAAI,IAAI,CAAClF,MAAM,IAAI,CAAC,IAAI,CAACoB,MAAM,CAAC+D,OAAO,EAAE;IAEzC,IAAI,CAACnF,MAAM,GAAG,IAAI;;IAElB;IACA;IACA;IACA;IACA,MAAM,IAAI,CAACoF,iBAAiB,CAAC,CAAC;;IAE9B;IACA,IAAI,CAAC7B,uBAAuB,CAAC8B,OAAO,CAAC,CAAC;;IAEtC;IACA,IAAI,CAACzC,kBAAkB,CAAC0C,OAAO,CAAC,CAAC;;IAEjC;IACA;IACA,IAAI,IAAI,CAAClE,MAAM,CAACmE,OAAO,EAAE;MACrB,IAAI,CAAClB,eAAe,CAACmB,KAAK,CAAC,CAAC;IAChC;;IAEA;IACA;IACA;IACA,IAAI,IAAI,CAACpE,MAAM,CAACqE,YAAY,IAAI,IAAI,CAACC,kBAAkB,CAAC,CAAC,EAAE;MACvD,IAAI,CAACC,sBAAsB,CAAC,CAAC;IACjC;EACJ;;EAEA;EACA,MAAcP,iBAAiBA,CAAA,EAAkB;IAC7C,IAAI;MACA,MAAM;QAAEQ;MAAc,CAAC,GAAG3G,OAAO,CAAC,cAAc,CAAC;MACjD,MAAM2G,aAAa,EAAEC,mBAAmB,EAAEZ,UAAU,GAAG,CAAC;IAC5D,CAAC,CAAC,MAAM,CAAE;EACd;;EAEA;AACJ;AACA;AACA;AACA;EACYS,kBAAkBA,CAAA,EAAY;IAClC,MAAMI,IAAI,GAAG,IAAI,CAAC1E,MAAM,CAAC2E,eAAe,IAAI,CAAC;IAC7C,IAAID,IAAI,IAAI,CAAC,EAAE,OAAO,KAAK;IAC3B,IAAIA,IAAI,IAAI,CAAC,EAAE,OAAO,IAAI;IAC1B,MAAMpC,EAAE,GAAG,IAAI,CAACzD,SAAS;IACzB,IAAI,CAACyD,EAAE,EAAE,OAAOsC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAGH,IAAI;IACpC;IACA,IAAII,CAAC,GAAG,UAAU;IAClB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGzC,EAAE,CAAC0C,MAAM,EAAED,CAAC,EAAE,EAAE;MAChCD,CAAC,IAAIxC,EAAE,CAAC2C,UAAU,CAACF,CAAC,CAAC;MACrBD,CAAC,GAAGF,IAAI,CAACM,IAAI,CAACJ,CAAC,EAAE,QAAQ,CAAC;IAC9B;IACA,OAAO,CAACA,CAAC,KAAK,CAAC,IAAI,UAAU,GAAGJ,IAAI;EACxC;;EAEA;EACAH,sBAAsBA,CAAA,EAAS;IAC3B,IAAI,CAAChC,qBAAqB,CAAC6B,KAAK,CAAC,CAAC;IAClC,IAAI,CAACrD,gBAAgB,CAACqD,KAAK,CAAC,CAAC;EACjC;;EAEA;EACAe,yBAAyBA,CAAA,EAAS;IAC9B,IAAI,CAACpE,gBAAgB,CAACqD,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC7B,qBAAqB,CAAC6B,KAAK,CAAC,CAAC;IAClC,IAAI,CAACnB,eAAe,CAACmB,KAAK,CAAC,CAAC;EAChC;;EAEA;EACAgB,wBAAwBA,CAAA,EAAS;IAC7B,IAAI,CAACrE,gBAAgB,CAACsE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC9C,qBAAqB,CAAC8C,IAAI,CAAC,CAAC;IACjC,IAAI,CAACpC,eAAe,CAACoC,IAAI,CAAC,CAAC;EAC/B;EAEAC,QAAQA,CAAA,EAAS;IACb,IAAI,CAACvE,gBAAgB,CAACsE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC9C,qBAAqB,CAAC8C,IAAI,CAAC,CAAC;IACjC,IAAI,CAACpC,eAAe,CAACoC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAClD,uBAAuB,CAACkD,IAAI,CAAC,CAAC;IACnC,IAAI,CAACvD,mBAAmB,CAACyD,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC7B,oBAAoB,CAAC6B,KAAK,CAAC,CAAC;IACjC,IAAI,CAACrF,SAAS,CAACqF,KAAK,CAAC,CAAC;IACtB,IAAI,CAAC3G,MAAM,GAAG,KAAK;IACnB;IACA,IAAI,IAAI,CAACQ,aAAa,EAAE;MACpBoG,YAAY,CAAC,IAAI,CAACpG,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAG,IAAI;IAC7B;IACA;IACA;IACA,IAAI,CAACqG,uBAAuB,CAAC,CAAC;IAC9B,IAAI,CAAC9F,qBAAqB,GAAG,CAAC;IAC9B,IAAI,CAACF,sBAAsB,GAAG,EAAE;EACpC;EAEA,IAAIiG,QAAQA,CAAA,EAAY;IACpB,OAAO,IAAI,CAAC9G,MAAM;EACtB;;EAEA;;EAEA;EACA+G,gBAAgBA,CAACC,IAA8B,EAAQ;IACnD,IAAI,CAAC1F,SAAS,CAAC2F,OAAO,CAACD,IAAI,CAAC;EAChC;;EAEA;;EAEAE,YAAYA,CAACjH,SAAiB,EAAQ;IAClC,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEAkH,gBAAgBA,CAAC7D,UAAkB,EAAQ;IACvC,IAAI,CAACpD,aAAa,GAAGoD,UAAU;EACnC;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEQG,mBAAmBA,CAACH,UAAkB,EAAE8D,OAAgB,EAAQ;IACpE;IACA,IAAI,IAAI,CAAC5G,aAAa,EAAE;MACpBoG,YAAY,CAAC,IAAI,CAACpG,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAG,IAAI;IAC7B;;IAEA;IACA,MAAM6G,GAAG,GAAG,EAAE,IAAI,CAACjH,WAAW;;IAE9B;IACA;IACA,MAAMkH,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;IACtB,MAAME,QAAQ,GAAGJ,OAAO,KAAKnF,SAAS,GAChC,GAAGqB,UAAU,OAAO8D,OAAO,EAAE,GAC7B,GAAG9D,UAAU,QAAQ0C,IAAI,CAACyB,KAAK,CAACH,GAAG,GAAG,IAAI,CAAC,EAAE;;IAEnD;IACA;IACA,MAAMI,WAAW,GAAG,IAAI,CAACpH,eAAe,CAACqH,GAAG,CAACH,QAAQ,CAAC;IACtD,IAAIE,WAAW,KAAKzF,SAAS,IAAIqF,GAAG,GAAGI,WAAW,GAAG5H,kBAAkB,CAACY,gBAAgB,EAAE;MACtF;IACJ;;IAEA;IACA,IAAI,CAACkH,uBAAuB,CAACtE,UAAU,EAAE+D,GAAG,EAAE,CAAC,EAAEG,QAAQ,CAAC;EAC9D;;EAEA;AACJ;AACA;AACA;EACYI,uBAAuBA,CAACtE,UAAkB,EAAE+D,GAAW,EAAEQ,OAAe,EAAEL,QAAgB,EAAQ;IACtG,IAAIK,OAAO,IAAI/H,kBAAkB,CAACa,mBAAmB,EAAE;IACvD,IAAI0G,GAAG,KAAK,IAAI,CAACjH,WAAW,EAAE;IAE9B,MAAM0H,KAAK,GAAGhI,kBAAkB,CAACc,cAAc,CAACiH,OAAO,CAAC,IAAI,IAAI;IAChE,IAAI,CAACrH,aAAa,GAAGuH,UAAU,CAAC,MAAM;MAClC,IAAI,CAACvH,aAAa,GAAG,IAAI;MACzB,IAAI,CAACwH,mBAAmB,CAAC1E,UAAU,EAAE+D,GAAG,EAAEQ,OAAO,EAAEL,QAAQ,CAAC;IAChE,CAAC,EAAEM,KAAK,CAAC;EACb;EAEA,MAAcE,mBAAmBA,CAAC1E,UAAkB,EAAE+D,GAAW,EAAEQ,OAAe,EAAEL,QAAgB,EAAiB;IACjH,IAAI;MACA;MACA,IAAIH,GAAG,KAAK,IAAI,CAACjH,WAAW,EAAE;;MAE9B;MACA,MAAMkH,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;MACtB,IAAI,IAAI,CAACjH,cAAc,GAAG,CAAC,IAAIiH,GAAG,GAAG,IAAI,CAACjH,cAAc,GAAGP,kBAAkB,CAACW,mBAAmB,EAAE;QAC/F;QACA,IAAI,CAACmH,uBAAuB,CAACtE,UAAU,EAAE+D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;;MAEA;MACA,MAAMR,IAAI,GAAG,IAAI,CAAC1F,SAAS,CAAC2G,OAAO,CAAC,CAAC;MACrC,IAAI,CAACjB,IAAI,EAAE;QACP;QACA,IAAI,CAACY,uBAAuB,CAACtE,UAAU,EAAE+D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;;MAEA;MACA,IAAIU,aAAkB;MACtB,IAAI;QACAA,aAAa,GAAGjJ,OAAO,CAAC,qDAAqD,CAAC,CAACiJ,aAAa;MAChG,CAAC,CAAC,MAAM;QACJ,IAAI,CAACN,uBAAuB,CAACtE,UAAU,EAAE+D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;MAEA,IAAI,CAACU,aAAa,EAAEC,WAAW,CAAC,CAAC,EAAE;QAC/B,IAAI,CAACP,uBAAuB,CAACtE,UAAU,EAAE+D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;;MAEA;MACA,IAAIH,GAAG,KAAK,IAAI,CAACjH,WAAW,EAAE;MAE9B,MAAMgI,MAAM,GAAG,MAAMF,aAAa,CAACG,iBAAiB,CAAC,WAAW,CAAC;;MAEjE;MACA,IAAIhB,GAAG,KAAK,IAAI,CAACjH,WAAW,EAAE;;MAE9B;MACA,IAAI,CAACgI,MAAM,EAAEE,MAAM,EAAE;QACjB;QACA,IAAI,CAACV,uBAAuB,CAACtE,UAAU,EAAE+D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;;MAEA;MACA,IAAI,CAACnH,cAAc,GAAGkH,IAAI,CAACD,GAAG,CAAC,CAAC;MAChC,IAAI,CAAChH,eAAe,CAACiI,GAAG,CAACf,QAAQ,EAAE,IAAI,CAACnH,cAAc,CAAC;;MAEvD;MACA,MAAMmI,cAAc,GAAG,IAAI,CAACnI,cAAc,GAAGP,kBAAkB,CAACY,gBAAgB;MAChF,KAAK,MAAM,CAAC+H,GAAG,EAAEC,EAAE,CAAC,IAAI,IAAI,CAACpI,eAAe,EAAE;QAC1C,IAAIoI,EAAE,GAAGF,cAAc,EAAE,IAAI,CAAClI,eAAe,CAACqI,MAAM,CAACF,GAAG,CAAC;MAC7D;;MAEA;MACA,MAAMG,OAAO,GAAG,aAAarB,IAAI,CAACD,GAAG,CAAC,CAAC,IAAItB,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC4C,QAAQ,CAAC,EAAE,CAAC,CAACC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;MACvF9B,IAAI,CAAC+B,IAAI,CAAC;QACNC,IAAI,EAAE,OAAO;QACbC,eAAe,EAAE,CAAC;QAClBC,QAAQ,EAAElC,IAAI,CAACkC,QAAQ;QACvBjJ,SAAS,EAAE+G,IAAI,CAAC/G,SAAS;QACzBkJ,SAAS,EAAEf,MAAM,CAACe,SAAS,IAAI5B,IAAI,CAACD,GAAG,CAAC,CAAC;QACzC8B,QAAQ,EAAEpC,IAAI,CAACqC,YAAY,CAAC,CAAC;QAC7BC,OAAO,EAAE;UACL5F,EAAE,EAAEkF,OAAO;UACXW,QAAQ,EAAE,SAAS;UACnBxJ,IAAI,EAAE,eAAe;UACrByJ,IAAI,EAAE;YACFZ,OAAO;YACP3I,SAAS,EAAE+G,IAAI,CAAC/G,SAAS;YACzBwJ,cAAc,EAAE,CAAC;YACjBnG,UAAU;YACVoG,OAAO,EAAE,WAAW;YACpBC,MAAM,EAAEvB,MAAM,CAACuB,MAAM,IAAI,MAAM;YAC/BC,SAAS,EAAExB,MAAM,CAACwB,SAAS,IAAI,CAAC;YAChCC,KAAK,EAAEzB,MAAM,CAACyB,KAAK,IAAI,CAAC;YACxBC,MAAM,EAAE1B,MAAM,CAAC0B,MAAM,IAAI,CAAC;YAC1BC,SAAS,EAAE3B,MAAM,CAACE,MAAM;YACxB0B,MAAM,EAAE;UACZ;QACJ;MACJ,CAAQ,CAAC;IACb,CAAC,CAAC,MAAM,CAAE;EACd;;EAEA;;EAEA;AACJ;AACA;AACA;EACIC,uBAAuBA,CAACC,KAAc,EAAQ;IAC1C,IAAI,CAAC3G,uBAAuB,CAAC0G,uBAAuB,CAACC,KAAK,CAAC;EAC/D;;EAEA;AACJ;AACA;AACA;AACA;EACIC,cAAcA,CAAC7G,UAAkB,EAAQ;IACrC,IAAI,CAACC,uBAAuB,CAAC6G,gBAAgB,CAAC9G,UAAU,CAAC;EAC7D;;EAEA;;EAEA+G,mBAAmBA,CAAC/G,UAAkB,EAAQ;IAC1C;IACA,IAAI,CAACC,uBAAuB,CAAC+G,sBAAsB,CAAChH,UAAU,CAAC;IAC/D,IAAI,CAACJ,mBAAmB,CAACqH,SAAS,CAACjH,UAAU,CAAC;EAClD;EAEAkH,iBAAiBA,CAAClH,UAAkB,EAAQ;IACxC,IAAI,CAACJ,mBAAmB,CAACuH,OAAO,CAACnH,UAAU,CAAC;IAC5C,IAAI,CAACC,uBAAuB,CAACmH,mBAAmB,CAACpH,UAAU,CAAC;EAChE;;EAEA;;EAEAqH,UAAUA,CAAC5K,IAAY,EAAiB;IACpC,OAAO,IAAI,CAAC+E,oBAAoB,CAAC6F,UAAU,CAAC5K,IAAI,CAAC;EACrD;EAEA6K,SAASA,CAACC,OAAe,EAAQ;IAC7B,IAAI,CAAC/F,oBAAoB,CAAC8F,SAAS,CAACC,OAAO,CAAC;EAChD;EAEAC,YAAYA,CAACD,OAAe,EAAE9K,IAAY,EAAEyC,UAAkB,EAAEgH,IAA8B,EAAQ;IAClG,IAAI,CAAC1E,oBAAoB,CAACiG,OAAO,CAACF,OAAO,EAAE9K,IAAI,EAAEyC,UAAU,EAAEgH,IAAI,CAAC;EACtE;EAEAwB,mBAAmBA,CAACH,OAAe,EAAE9K,IAAY,EAAEkL,KAAa,EAAEC,IAAY,EAAQ;IAClF,IAAI,CAACpG,oBAAoB,CAACqG,cAAc,CAACN,OAAO,EAAE9K,IAAI,EAAEkL,KAAK,EAAEC,IAAI,CAAC;EACxE;;EAEA;;EAEA;AACJ;AACA;AACA;AACA;EACI3I,UAAUA,CAACxC,IAAY,EAAEkL,KAAa,EAAEC,IAAa,EAAEE,IAA6B,EAAQ;IACxF,IAAI,CAAC9J,SAAS,CAACiB,UAAU,CAACxC,IAAI,EAAEkL,KAAK,EAAEC,IAAI,EAAEE,IAAI,CAAC;EACtD;;EAEA;;EAEA;EACAC,mBAAmBA,CAAC7B,IAA6B,EAAQ;IACrD,IAAI,CAAC/E,oBAAoB,CAAC4G,mBAAmB,CAAC7B,IAAI,CAAC;EACvD;;EAEA;;EAEQlH,YAAYA,CAACD,KAAmB,EAAQ;IAC5C;IACA,IAAI,CAACf,SAAS,CAACgK,SAAS,CAACjJ,KAAK,CAAC;;IAE/B;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEQ;IACA;IACA;IACA;IACA,IAAI,CAACkJ,uBAAuB,CAAC,IAAI,CAACC,gBAAgB,CAACnJ,KAAK,CAAC,CAAC;EAC9D;;EAEA;EACQmJ,gBAAgBA,CAACnJ,KAAmB,EAAqB;IAC7D,MAAMoJ,CAAC,GAAGpJ,KAAY;IACtB;IACA;IACA;IACA;IACA;IACA,MAAMqJ,QAAiC,GAAG;MAAEhI,EAAE,EAAErB,KAAK,CAACqB;IAAG,CAAC;IAC1D,IAAIrB,KAAK,CAAC2G,IAAI,KAAK,YAAY,EAAE;MAC7B,IAAIyC,CAAC,CAAC3I,UAAU,EAAE4I,QAAQ,CAAC5I,UAAU,GAAG2I,CAAC,CAAC3I,UAAU;MACpD,IAAI2I,CAAC,CAACE,SAAS,EAAED,QAAQ,CAACC,SAAS,GAAGF,CAAC,CAACE,SAAS;MACjD,IAAIF,CAAC,CAACG,WAAW,EAAEF,QAAQ,CAACE,WAAW,GAAGH,CAAC,CAACG,WAAW;IAC3D;IACA,OAAO;MACH5C,IAAI,EAAE3G,KAAK,CAAC2G,IAAI;MAChB1F,UAAU,EAAEmI,CAAC,CAACnI,UAAU,IAAImI,CAAC,CAACvG,OAAO,EAAElD,SAAS;MAChD6J,QAAQ,EAAEJ,CAAC,CAACjJ,UAAU;MACtByI,KAAK,EAAEQ,CAAC,CAAC3H,YAAY,IAAI2H,CAAC,CAACR,KAAK;MAChCS;IACJ,CAAC;EACL;;EAEA;AACJ;AACA;AACA;AACA;EACYH,uBAAuBA,CAACO,MAAyB,EAAQ;IAC7D,MAAMC,gBAAgB,GAAGC,8BAAc,CAACC,mBAAmB,CAAC,CAAC,EAAEC,mBAAmB,CAAC,CAAC;IACpF,IAAIH,gBAAgB,EAAE;MAClB,IAAI,CAACI,2BAA2B,CAACJ,gBAAgB,CAAC;MAClDA,gBAAgB,CAACK,sBAAsB,CAACN,MAAM,CAAC;MAC/C;IACJ;;IAEA;IACA,IAAI,CAACjL,sBAAsB,CAACwL,IAAI,CAACP,MAAM,CAAC;IACxC,IAAI,IAAI,CAACjL,sBAAsB,CAACuF,MAAM,GAAGtG,kBAAkB,CAACkB,kBAAkB,EAAE;MAC5E,IAAI,CAACH,sBAAsB,CAACyL,KAAK,CAAC,CAAC;IACvC;IACA,IAAI,CAACC,qBAAqB,CAAC,CAAC;EAChC;;EAEA;EACQJ,2BAA2BA,CAC/BJ,gBAAgF,EAC5E;IACJ,IAAI,IAAI,CAAClL,sBAAsB,CAACuF,MAAM,KAAK,CAAC,EAAE;IAC9C,MAAMoG,QAAQ,GAAG,IAAI,CAAC3L,sBAAsB;IAC5C,IAAI,CAACA,sBAAsB,GAAG,EAAE;IAChC,KAAK,MAAMiL,MAAM,IAAIU,QAAQ,EAAE;MAC3BT,gBAAgB,CAACK,sBAAsB,CAACN,MAAM,CAAC;IACnD;IACA,IAAI,CAACjF,uBAAuB,CAAC,CAAC;IAC9B,IAAI,CAAC9F,qBAAqB,GAAG,CAAC;EAClC;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACYwL,qBAAqBA,CAAA,EAAS;IAClC,IAAI,IAAI,CAACzL,kBAAkB,EAAE;IAC7B,IAAI,IAAI,CAACC,qBAAqB,IAAIjB,kBAAkB,CAACmB,0BAA0B,EAAE;IAEjF,MAAMwL,MAAM,GAAG3M,kBAAkB,CAACoB,oBAAoB;IACtD,MAAM4G,KAAK,GAAG2E,MAAM,CAACzG,IAAI,CAAC0G,GAAG,CAAC,IAAI,CAAC3L,qBAAqB,EAAE0L,MAAM,CAACrG,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,CAACrF,qBAAqB,EAAE;IAC5B,IAAI,CAACD,kBAAkB,GAAGiH,UAAU,CAAC,MAAM;MACvC,IAAI,CAACjH,kBAAkB,GAAG,IAAI;MAC9B,MAAMiL,gBAAgB,GAAGC,8BAAc,CAACC,mBAAmB,CAAC,CAAC,EAAEC,mBAAmB,CAAC,CAAC;MACpF,IAAIH,gBAAgB,EAAE;QAClB,IAAI,CAACI,2BAA2B,CAACJ,gBAAgB,CAAC;MACtD,CAAC,MAAM,IAAI,IAAI,CAAClL,sBAAsB,CAACuF,MAAM,GAAG,CAAC,EAAE;QAC/C,IAAI,CAACmG,qBAAqB,CAAC,CAAC;MAChC;IACJ,CAAC,EAAEzE,KAAK,CAAC;EACb;EAEQjB,uBAAuBA,CAAA,EAAS;IACpC,IAAI,IAAI,CAAC/F,kBAAkB,EAAE;MACzB8F,YAAY,CAAC,IAAI,CAAC9F,kBAAkB,CAAC;MACrC,IAAI,CAACA,kBAAkB,GAAG,IAAI;IAClC;EACJ;AACJ;AAAC6L,OAAA,CAAA7M,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -21,6 +21,9 @@ import { CustomTraceCollector } from './collectors/CustomTraceCollector';
|
|
|
21
21
|
import { PerformanceTransport } from './transport/PerformanceTransport';
|
|
22
22
|
import { MetricKeys } from './metrics/MetricsEngine';
|
|
23
23
|
import { SessionManager } from '../session/SessionManager';
|
|
24
|
+
|
|
25
|
+
/** Shape accepted by BackendSessionAdapter.queuePerformanceMetric. */
|
|
26
|
+
|
|
24
27
|
export class PerformanceFeature {
|
|
25
28
|
name = 'performance';
|
|
26
29
|
active = false;
|
|
@@ -56,8 +59,31 @@ export class PerformanceFeature {
|
|
|
56
59
|
/** Delay schedule for each attempt (ms) — escalating to let views settle */
|
|
57
60
|
static CAPTURE_DELAYS = [300, 600, 1200];
|
|
58
61
|
|
|
59
|
-
//
|
|
60
|
-
|
|
62
|
+
// ─── Early-metric buffering (backend) ───────────────────────────────
|
|
63
|
+
//
|
|
64
|
+
// Performance metrics reach the cloud via the SessionManager's backend
|
|
65
|
+
// transport. But the first metrics — most importantly app_launch — fire
|
|
66
|
+
// during PerformanceFeature.initialize() (appLaunchCollector.collect()),
|
|
67
|
+
// which runs from featureRegistry.initializeAll() BEFORE the bootstrap
|
|
68
|
+
// attaches the backend transport (SDKBootstrapper). In that window
|
|
69
|
+
// getBackendTransport() is null, so without buffering the metric is sent
|
|
70
|
+
// only to the desktop debugger and silently dropped from the cloud
|
|
71
|
+
// ("App start = 0" in Insights). We buffer such metrics locally and drain
|
|
72
|
+
// them the moment the transport appears (via subsequent events or a
|
|
73
|
+
// bounded retry). The backend adapter itself buffers again until the
|
|
74
|
+
// session row is ready, so ordering across the session boundary is safe.
|
|
75
|
+
/** Metrics captured before the backend transport was available. */
|
|
76
|
+
_pendingBackendMetrics = [];
|
|
77
|
+
/** Retry timer that drains the buffer once the transport attaches. */
|
|
78
|
+
_backendDrainTimer = null;
|
|
79
|
+
/** Number of drain attempts made for the current buffered batch. */
|
|
80
|
+
_backendDrainAttempts = 0;
|
|
81
|
+
/** Hard cap on buffered metrics — bounds memory if a transport never attaches (non-SaaS). */
|
|
82
|
+
static BACKEND_BUFFER_MAX = 64;
|
|
83
|
+
/** Max drain retries before giving up (non-SaaS mode never attaches a transport). */
|
|
84
|
+
static BACKEND_DRAIN_MAX_ATTEMPTS = 6;
|
|
85
|
+
/** Escalating retry delays (ms); last value repeats. Covers the startup attach race. */
|
|
86
|
+
static BACKEND_DRAIN_DELAYS = [250, 500, 1000, 2000, 4000];
|
|
61
87
|
constructor(config) {
|
|
62
88
|
this.config = mergePerformanceConfig(config);
|
|
63
89
|
this.transport = new PerformanceTransport(this.config);
|
|
@@ -228,6 +254,11 @@ export class PerformanceFeature {
|
|
|
228
254
|
clearTimeout(this._captureTimer);
|
|
229
255
|
this._captureTimer = null;
|
|
230
256
|
}
|
|
257
|
+
// Stop the backend-drain retry loop (buffered metrics are dropped —
|
|
258
|
+
// the desktop transport already received them via sendEvent/sendMetric).
|
|
259
|
+
this._clearBackendDrainTimer();
|
|
260
|
+
this._backendDrainAttempts = 0;
|
|
261
|
+
this._pendingBackendMetrics = [];
|
|
231
262
|
}
|
|
232
263
|
get isActive() {
|
|
233
264
|
return this.active;
|
|
@@ -489,30 +520,98 @@ export class PerformanceFeature {
|
|
|
489
520
|
* and it costs a duplicate serialize + upload per sample on every session.
|
|
490
521
|
*/
|
|
491
522
|
|
|
492
|
-
// Queue to SaaS backend dedicated performance endpoint
|
|
523
|
+
// Queue to SaaS backend dedicated performance endpoint. When the backend
|
|
524
|
+
// transport isn't attached yet (startup race — app_launch fires before
|
|
525
|
+
// SDKBootstrapper wires it), buffer locally and drain once it appears so
|
|
526
|
+
// the cloud gets the metric instead of only the desktop debugger.
|
|
527
|
+
this._forwardMetricToBackend(this._toBackendMetric(event));
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
/** Map a raw perf event onto the backend metric envelope. */
|
|
531
|
+
_toBackendMetric(event) {
|
|
532
|
+
const e = event;
|
|
533
|
+
// Forward structured launch fields so the backend can group by launch
|
|
534
|
+
// type and reconstruct the startup waterfall. Without this, only the
|
|
535
|
+
// raw duration reaches the analytics table and cold/warm/hot + phase
|
|
536
|
+
// timings are lost. Additive + forward-only: pre-existing rows stay as
|
|
537
|
+
// { id } and historical launch-type windows remain empty.
|
|
538
|
+
const metadata = {
|
|
539
|
+
id: event.id
|
|
540
|
+
};
|
|
541
|
+
if (event.type === 'app_launch') {
|
|
542
|
+
if (e.launchType) metadata.launchType = e.launchType;
|
|
543
|
+
if (e.breakdown) metadata.breakdown = e.breakdown;
|
|
544
|
+
if (e.phaseLabels) metadata.phaseLabels = e.phaseLabels;
|
|
545
|
+
}
|
|
546
|
+
return {
|
|
547
|
+
type: event.type,
|
|
548
|
+
screenName: e.screenName ?? e.context?.screenKey,
|
|
549
|
+
duration: e.durationMs,
|
|
550
|
+
value: e.estimatedFps ?? e.value,
|
|
551
|
+
metadata
|
|
552
|
+
};
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
/**
|
|
556
|
+
* Hand a metric to the backend transport, or buffer it until one attaches.
|
|
557
|
+
* Every call first drains anything buffered, so a late-arriving transport
|
|
558
|
+
* flushes the backlog in the order the metrics were produced.
|
|
559
|
+
*/
|
|
560
|
+
_forwardMetricToBackend(metric) {
|
|
493
561
|
const backendTransport = SessionManager.getExistingInstance()?.getBackendTransport();
|
|
494
562
|
if (backendTransport) {
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
563
|
+
this._drainPendingBackendMetrics(backendTransport);
|
|
564
|
+
backendTransport.queuePerformanceMetric(metric);
|
|
565
|
+
return;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
// No transport yet — buffer (bounded, drop-oldest) and schedule a drain.
|
|
569
|
+
this._pendingBackendMetrics.push(metric);
|
|
570
|
+
if (this._pendingBackendMetrics.length > PerformanceFeature.BACKEND_BUFFER_MAX) {
|
|
571
|
+
this._pendingBackendMetrics.shift();
|
|
572
|
+
}
|
|
573
|
+
this._scheduleBackendDrain();
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
/** Flush all buffered metrics into the transport, preserving order. */
|
|
577
|
+
_drainPendingBackendMetrics(backendTransport) {
|
|
578
|
+
if (this._pendingBackendMetrics.length === 0) return;
|
|
579
|
+
const buffered = this._pendingBackendMetrics;
|
|
580
|
+
this._pendingBackendMetrics = [];
|
|
581
|
+
for (const metric of buffered) {
|
|
582
|
+
backendTransport.queuePerformanceMetric(metric);
|
|
583
|
+
}
|
|
584
|
+
this._clearBackendDrainTimer();
|
|
585
|
+
this._backendDrainAttempts = 0;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Poll for the backend transport a bounded number of times so the sole
|
|
590
|
+
* early metric (app_launch) still reaches the cloud even when no later
|
|
591
|
+
* event arrives to trigger a drain. Gives up after BACKEND_DRAIN_MAX_ATTEMPTS
|
|
592
|
+
* (non-SaaS mode never attaches a transport — the desktop path already has
|
|
593
|
+
* the data), leaving the bounded buffer to be GC'd on teardown.
|
|
594
|
+
*/
|
|
595
|
+
_scheduleBackendDrain() {
|
|
596
|
+
if (this._backendDrainTimer) return;
|
|
597
|
+
if (this._backendDrainAttempts >= PerformanceFeature.BACKEND_DRAIN_MAX_ATTEMPTS) return;
|
|
598
|
+
const delays = PerformanceFeature.BACKEND_DRAIN_DELAYS;
|
|
599
|
+
const delay = delays[Math.min(this._backendDrainAttempts, delays.length - 1)];
|
|
600
|
+
this._backendDrainAttempts++;
|
|
601
|
+
this._backendDrainTimer = setTimeout(() => {
|
|
602
|
+
this._backendDrainTimer = null;
|
|
603
|
+
const backendTransport = SessionManager.getExistingInstance()?.getBackendTransport();
|
|
604
|
+
if (backendTransport) {
|
|
605
|
+
this._drainPendingBackendMetrics(backendTransport);
|
|
606
|
+
} else if (this._pendingBackendMetrics.length > 0) {
|
|
607
|
+
this._scheduleBackendDrain();
|
|
508
608
|
}
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
});
|
|
609
|
+
}, delay);
|
|
610
|
+
}
|
|
611
|
+
_clearBackendDrainTimer() {
|
|
612
|
+
if (this._backendDrainTimer) {
|
|
613
|
+
clearTimeout(this._backendDrainTimer);
|
|
614
|
+
this._backendDrainTimer = null;
|
|
516
615
|
}
|
|
517
616
|
}
|
|
518
617
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","mergePerformanceConfig","JsStallCollector","AppLaunchCollector","ScreenLoadCollector","AutoScreenLoadCollector","FrameMetricsCollector","UiHangCollector","NetworkPerfCollector","CustomTraceCollector","PerformanceTransport","MetricKeys","SessionManager","PerformanceFeature","name","active","sessionId","currentScreen","deviceMeta","_captureGen","_lastCaptureTs","_recentCaptures","Map","_captureTimer","CAPTURE_THROTTLE_MS","CAPTURE_DEDUP_MS","CAPTURE_MAX_RETRIES","CAPTURE_DELAYS","constructor","config","transport","platform","OS","osVersion","Version","buildType","__DEV__","getContext","screenKey","undefined","device","jsStallCollector","event","_handleEvent","sendMetric","durationMs","severity","summary","sendStallSummary","appLaunchCollector","launchType","APP_LAUNCH_COLD","APP_LAUNCH_WARM","screenLoadCollector","SCREEN_LOAD","screen","screenName","autoScreenLoadCollector","_triggerAutoCapture","id","frameMetricsCollector","FPS_ESTIMATED","estimatedFps","FRAMES_DROPPED","droppedFrames","FRAMES_SLOW","slowFrames","FRAMES_FROZEN","frozenFrames","uiHangCollector","UI_HANG_COUNT","UI_HANG_MAX","networkPerfCollector","failed","NETWORK_FAIL_COUNT","NETWORK_SLOW_COUNT","customTraceCollector","CUSTOM_TRACE","initialize","context","enabled","_initializeNative","install","collect","uiHangs","start","tier2Enabled","_shouldSampleTier2","startSampledCollection","NativeModules","require","ScaleBunPerformance","rate","tier2SampleRate","Math","random","h","i","length","charCodeAt","imul","startContinuousCollection","stopContinuousCollection","stop","teardown","reset","clearTimeout","isActive","setTransportSink","sink","setSink","setSessionId","setCurrentScreen","visitId","gen","now","Date","dedupKey","floor","lastSuccess","get","_scheduleCaptureAttempt","attempt","delay","setTimeout","_executeAutoCapture","getSink","bridgeAdapter","isAvailable","result","captureScreenshot","base64","set","pruneOlderThan","key","ts","delete","frameId","toString","substring","send","type","protocolVersion","deviceId","timestamp","sequence","nextSequence","payload","category","data","sequenceNumber","trigger","format","sizeBytes","width","height","imageData","source","onNavigationStateChange","state","onScreenChange","onScreenDetected","markScreenLoadStart","registerManualOverride","markStart","markScreenLoadEnd","markEnd","clearManualOverride","startTrace","stopTrace","traceId","addTraceSpan","addSpan","addTraceMeasurement","value","unit","addMeasurement","tags","processNetworkEvent","sendEvent","backendTransport","getExistingInstance","getBackendTransport","e","metadata","breakdown","phaseLabels","queuePerformanceMetric","duration"],"sourceRoot":"../../../../src","sources":["features/performance/PerformanceFeature.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Platform","mergePerformanceConfig","JsStallCollector","AppLaunchCollector","ScreenLoadCollector","AutoScreenLoadCollector","FrameMetricsCollector","UiHangCollector","NetworkPerfCollector","CustomTraceCollector","PerformanceTransport","MetricKeys","SessionManager","PerformanceFeature","name","active","sessionId","currentScreen","deviceMeta","_captureGen","_lastCaptureTs","_recentCaptures","Map","_captureTimer","CAPTURE_THROTTLE_MS","CAPTURE_DEDUP_MS","CAPTURE_MAX_RETRIES","CAPTURE_DELAYS","_pendingBackendMetrics","_backendDrainTimer","_backendDrainAttempts","BACKEND_BUFFER_MAX","BACKEND_DRAIN_MAX_ATTEMPTS","BACKEND_DRAIN_DELAYS","constructor","config","transport","platform","OS","osVersion","Version","buildType","__DEV__","getContext","screenKey","undefined","device","jsStallCollector","event","_handleEvent","sendMetric","durationMs","severity","summary","sendStallSummary","appLaunchCollector","launchType","APP_LAUNCH_COLD","APP_LAUNCH_WARM","screenLoadCollector","SCREEN_LOAD","screen","screenName","autoScreenLoadCollector","_triggerAutoCapture","id","frameMetricsCollector","FPS_ESTIMATED","estimatedFps","FRAMES_DROPPED","droppedFrames","FRAMES_SLOW","slowFrames","FRAMES_FROZEN","frozenFrames","uiHangCollector","UI_HANG_COUNT","UI_HANG_MAX","networkPerfCollector","failed","NETWORK_FAIL_COUNT","NETWORK_SLOW_COUNT","customTraceCollector","CUSTOM_TRACE","initialize","context","enabled","_initializeNative","install","collect","uiHangs","start","tier2Enabled","_shouldSampleTier2","startSampledCollection","NativeModules","require","ScaleBunPerformance","rate","tier2SampleRate","Math","random","h","i","length","charCodeAt","imul","startContinuousCollection","stopContinuousCollection","stop","teardown","reset","clearTimeout","_clearBackendDrainTimer","isActive","setTransportSink","sink","setSink","setSessionId","setCurrentScreen","visitId","gen","now","Date","dedupKey","floor","lastSuccess","get","_scheduleCaptureAttempt","attempt","delay","setTimeout","_executeAutoCapture","getSink","bridgeAdapter","isAvailable","result","captureScreenshot","base64","set","pruneOlderThan","key","ts","delete","frameId","toString","substring","send","type","protocolVersion","deviceId","timestamp","sequence","nextSequence","payload","category","data","sequenceNumber","trigger","format","sizeBytes","width","height","imageData","source","onNavigationStateChange","state","onScreenChange","onScreenDetected","markScreenLoadStart","registerManualOverride","markStart","markScreenLoadEnd","markEnd","clearManualOverride","startTrace","stopTrace","traceId","addTraceSpan","addSpan","addTraceMeasurement","value","unit","addMeasurement","tags","processNetworkEvent","sendEvent","_forwardMetricToBackend","_toBackendMetric","e","metadata","breakdown","phaseLabels","duration","metric","backendTransport","getExistingInstance","getBackendTransport","_drainPendingBackendMetrics","queuePerformanceMetric","push","shift","_scheduleBackendDrain","buffered","delays","min"],"sourceRoot":"../../../../src","sources":["features/performance/PerformanceFeature.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,cAAc;AAGvC,SAASC,sBAAsB,QAAQ,UAAU;AAEjD,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAASC,kBAAkB,QAAQ,iCAAiC;AACpE,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,uBAAuB,QAAQ,sCAAsC;AAC9E,SAASC,qBAAqB,QAAQ,oCAAoC;AAC1E,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,oBAAoB,QAAQ,mCAAmC;AACxE,SAASC,oBAAoB,QAAQ,mCAAmC;AACxE,SAASC,oBAAoB,QAAgC,kCAAkC;AAC/F,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,cAAc,QAAQ,2BAA2B;;AAE1D;;AASA,OAAO,MAAMC,kBAAkB,CAAqB;EACvCC,IAAI,GAAG,aAAa;EACrBC,MAAM,GAAG,KAAK;;EAGtB;;EAUA;;EAGA;EACQC,SAAS,GAAW,EAAE;EACtBC,aAAa,GAAW,EAAE;;EAElC;EACQC,UAAU,GAAmB,CAAC,CAAC;;EAEvC;EACA;EACQC,WAAW,GAAG,CAAC;EACvB;EACQC,cAAc,GAAG,CAAC;EAC1B;EACQC,eAAe,GAAG,IAAIC,GAAG,CAAiB,CAAC;EACnD;EACQC,aAAa,GAAyC,IAAI;;EAElE;EACA;EACA,OAAwBC,mBAAmB,GAAG,GAAG;EACjD;EACA,OAAwBC,gBAAgB,GAAG,MAAM;EACjD;EACA,OAAwBC,mBAAmB,GAAG,CAAC;EAC/C;EACA,OAAwBC,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;;EAEzD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACQC,sBAAsB,GAAwB,EAAE;EACxD;EACQC,kBAAkB,GAAyC,IAAI;EACvE;EACQC,qBAAqB,GAAG,CAAC;EACjC;EACA,OAAwBC,kBAAkB,GAAG,EAAE;EAC/C;EACA,OAAwBC,0BAA0B,GAAG,CAAC;EACtD;EACA,OAAwBC,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;EAE3EC,WAAWA,CAACC,MAAmC,EAAE;IAC7C,IAAI,CAACA,MAAM,GAAGlC,sBAAsB,CAACkC,MAAM,CAAC;IAC5C,IAAI,CAACC,SAAS,GAAG,IAAI1B,oBAAoB,CAAC,IAAI,CAACyB,MAAM,CAAC;;IAEtD;IACA,IAAI,CAACjB,UAAU,GAAG;MACdmB,QAAQ,EAAErC,QAAQ,CAACsC,EAAuB;MAC1CC,SAAS,EAAE,GAAGvC,QAAQ,CAACwC,OAAO,EAAE;MAChCC,SAAS,EAAEC,OAAO,GAAG,OAAO,GAAG;IACnC,CAAC;IAED,MAAMC,UAAU,GAAGA,CAAA,MAAoB;MACnC3B,SAAS,EAAE,IAAI,CAACA,SAAS,IAAI,SAAS;MACtC4B,SAAS,EAAE,IAAI,CAAC3B,aAAa,IAAI4B,SAAS;MAC1CC,MAAM,EAAE,IAAI,CAAC5B;IACjB,CAAC,CAAC;;IAEF;IACA,IAAI,CAAC6B,gBAAgB,GAAG,IAAI7C,gBAAgB,CACxC,IAAI,CAACiC,MAAM,EACVa,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB;MACA;MACA,IAAI,CAACZ,SAAS,CAACc,UAAU,CAAC,eAAe,EAAEF,KAAK,CAACG,UAAU,EAAE,IAAI,EAAE;QAC/DC,QAAQ,EAAEJ,KAAK,CAACI;MACpB,CAAC,CAAC;IACN,CAAC,EACAC,OAAO,IAAK,IAAI,CAACjB,SAAS,CAACkB,gBAAgB,CAACD,OAAO,CAAC,EACrDV,UACJ,CAAC;IAED,IAAI,CAACY,kBAAkB,GAAG,IAAIpD,kBAAkB,CAC5C,IAAI,CAACgC,MAAM,EACVa,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACZ,SAAS,CAACc,UAAU,CACrBF,KAAK,CAACQ,UAAU,KAAK,MAAM,GAAG7C,UAAU,CAAC8C,eAAe,GAAG9C,UAAU,CAAC+C,eAAe,EACrFV,KAAK,CAACG,UAAU,EAChB,IACJ,CAAC;IACL,CAAC,EACDR,UACJ,CAAC;IAED,IAAI,CAACgB,mBAAmB,GAAG,IAAIvD,mBAAmB,CAC9C,IAAI,CAAC+B,MAAM,EACVa,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACZ,SAAS,CAACc,UAAU,CACrBvC,UAAU,CAACiD,WAAW,EACtBZ,KAAK,CAACG,UAAU,EAChB,IAAI,EACJ;QAAEU,MAAM,EAAEb,KAAK,CAACc;MAAW,CAC/B,CAAC;IACL,CAAC,EACDnB,UACJ,CAAC;IAED,IAAI,CAACoB,uBAAuB,GAAG,IAAI1D,uBAAuB,CACtD,IAAI,CAAC8B,MAAM,EACVa,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACZ,SAAS,CAACc,UAAU,CACrBvC,UAAU,CAACiD,WAAW,EACtBZ,KAAK,CAACG,UAAU,EAChB,IAAI,EACJ;QAAEU,MAAM,EAAEb,KAAK,CAACc;MAAW,CAC/B,CAAC;MACD;MACA,IAAI,CAAC7C,aAAa,GAAG+B,KAAK,CAACc,UAAU;;MAErC;MACA;MACA;MACA;MACA,IAAI,CAACE,mBAAmB,CAAChB,KAAK,CAACc,UAAU,EAAEd,KAAK,CAACiB,EAAE,CAAC;IACxD,CAAC,EACDtB,UACJ,CAAC;IAED,IAAI,CAACuB,qBAAqB,GAAG,IAAI5D,qBAAqB,CAClD,IAAI,CAAC6B,MAAM,EACVa,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACZ,SAAS,CAACc,UAAU,CAACvC,UAAU,CAACwD,aAAa,EAAEnB,KAAK,CAACoB,YAAY,EAAE,KAAK,CAAC;MAC9E,IAAI,CAAChC,SAAS,CAACc,UAAU,CAACvC,UAAU,CAAC0D,cAAc,EAAErB,KAAK,CAACsB,aAAa,EAAE,OAAO,CAAC;MAClF,IAAI,CAAClC,SAAS,CAACc,UAAU,CAACvC,UAAU,CAAC4D,WAAW,EAAEvB,KAAK,CAACwB,UAAU,EAAE,OAAO,CAAC;MAC5E,IAAI,CAACpC,SAAS,CAACc,UAAU,CAACvC,UAAU,CAAC8D,aAAa,EAAEzB,KAAK,CAAC0B,YAAY,EAAE,OAAO,CAAC;IACpF,CAAC,EACD/B,UACJ,CAAC;IAED,IAAI,CAACgC,eAAe,GAAG,IAAIpE,eAAe,CACtC,IAAI,CAAC4B,MAAM,EACVa,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACZ,SAAS,CAACc,UAAU,CAACvC,UAAU,CAACiE,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC;MAC/D,IAAI,CAACxC,SAAS,CAACc,UAAU,CAACvC,UAAU,CAACkE,WAAW,EAAE7B,KAAK,CAACG,UAAU,EAAE,IAAI,CAAC;IAC7E,CAAC,EACDR,UACJ,CAAC;IAED,IAAI,CAACmC,oBAAoB,GAAG,IAAItE,oBAAoB,CAChD,IAAI,CAAC2B,MAAM,EACVa,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAIA,KAAK,CAAC+B,MAAM,EAAE;QACd,IAAI,CAAC3C,SAAS,CAACc,UAAU,CAACvC,UAAU,CAACqE,kBAAkB,EAAE,CAAC,EAAE,OAAO,CAAC;MACxE,CAAC,MAAM;QACH,IAAI,CAAC5C,SAAS,CAACc,UAAU,CAACvC,UAAU,CAACsE,kBAAkB,EAAE,CAAC,EAAE,OAAO,CAAC;MACxE;IACJ,CAAC,EACDtC,UACJ,CAAC;IAED,IAAI,CAACuC,oBAAoB,GAAG,IAAIzE,oBAAoB,CAChD,IAAI,CAAC0B,MAAM,EACVa,KAAK,IAAK;MACP,IAAI,CAACC,YAAY,CAACD,KAAK,CAAC;MACxB,IAAI,CAACZ,SAAS,CAACc,UAAU,CACrB,GAAGvC,UAAU,CAACwE,YAAY,IAAInC,KAAK,CAAClC,IAAI,EAAE,EAC1CkC,KAAK,CAACG,UAAU,EAChB,IACJ,CAAC;IACL,CAAC,EACDR,UACJ,CAAC;EACL;;EAEA;;EAEA,MAAMyC,UAAUA,CAACC,OAAuB,EAAiB;IACrD,IAAI,IAAI,CAACtE,MAAM,IAAI,CAAC,IAAI,CAACoB,MAAM,CAACmD,OAAO,EAAE;IAEzC,IAAI,CAACvE,MAAM,GAAG,IAAI;;IAElB;IACA;IACA;IACA;IACA,MAAM,IAAI,CAACwE,iBAAiB,CAAC,CAAC;;IAE9B;IACA,IAAI,CAACxB,uBAAuB,CAACyB,OAAO,CAAC,CAAC;;IAEtC;IACA,IAAI,CAACjC,kBAAkB,CAACkC,OAAO,CAAC,CAAC;;IAEjC;IACA;IACA,IAAI,IAAI,CAACtD,MAAM,CAACuD,OAAO,EAAE;MACrB,IAAI,CAACf,eAAe,CAACgB,KAAK,CAAC,CAAC;IAChC;;IAEA;IACA;IACA;IACA,IAAI,IAAI,CAACxD,MAAM,CAACyD,YAAY,IAAI,IAAI,CAACC,kBAAkB,CAAC,CAAC,EAAE;MACvD,IAAI,CAACC,sBAAsB,CAAC,CAAC;IACjC;EACJ;;EAEA;EACA,MAAcP,iBAAiBA,CAAA,EAAkB;IAC7C,IAAI;MACA,MAAM;QAAEQ;MAAc,CAAC,GAAGC,OAAO,CAAC,cAAc,CAAC;MACjD,MAAMD,aAAa,EAAEE,mBAAmB,EAAEb,UAAU,GAAG,CAAC;IAC5D,CAAC,CAAC,MAAM,CAAE;EACd;;EAEA;AACJ;AACA;AACA;AACA;EACYS,kBAAkBA,CAAA,EAAY;IAClC,MAAMK,IAAI,GAAG,IAAI,CAAC/D,MAAM,CAACgE,eAAe,IAAI,CAAC;IAC7C,IAAID,IAAI,IAAI,CAAC,EAAE,OAAO,KAAK;IAC3B,IAAIA,IAAI,IAAI,CAAC,EAAE,OAAO,IAAI;IAC1B,MAAMjC,EAAE,GAAG,IAAI,CAACjD,SAAS;IACzB,IAAI,CAACiD,EAAE,EAAE,OAAOmC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAGH,IAAI;IACpC;IACA,IAAII,CAAC,GAAG,UAAU;IAClB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGtC,EAAE,CAACuC,MAAM,EAAED,CAAC,EAAE,EAAE;MAChCD,CAAC,IAAIrC,EAAE,CAACwC,UAAU,CAACF,CAAC,CAAC;MACrBD,CAAC,GAAGF,IAAI,CAACM,IAAI,CAACJ,CAAC,EAAE,QAAQ,CAAC;IAC9B;IACA,OAAO,CAACA,CAAC,KAAK,CAAC,IAAI,UAAU,GAAGJ,IAAI;EACxC;;EAEA;EACAJ,sBAAsBA,CAAA,EAAS;IAC3B,IAAI,CAAC5B,qBAAqB,CAACyB,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC5C,gBAAgB,CAAC4C,KAAK,CAAC,CAAC;EACjC;;EAEA;EACAgB,yBAAyBA,CAAA,EAAS;IAC9B,IAAI,CAAC5D,gBAAgB,CAAC4C,KAAK,CAAC,CAAC;IAC7B,IAAI,CAACzB,qBAAqB,CAACyB,KAAK,CAAC,CAAC;IAClC,IAAI,CAAChB,eAAe,CAACgB,KAAK,CAAC,CAAC;EAChC;;EAEA;EACAiB,wBAAwBA,CAAA,EAAS;IAC7B,IAAI,CAAC7D,gBAAgB,CAAC8D,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC3C,qBAAqB,CAAC2C,IAAI,CAAC,CAAC;IACjC,IAAI,CAAClC,eAAe,CAACkC,IAAI,CAAC,CAAC;EAC/B;EAEAC,QAAQA,CAAA,EAAS;IACb,IAAI,CAAC/D,gBAAgB,CAAC8D,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC3C,qBAAqB,CAAC2C,IAAI,CAAC,CAAC;IACjC,IAAI,CAAClC,eAAe,CAACkC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC9C,uBAAuB,CAAC8C,IAAI,CAAC,CAAC;IACnC,IAAI,CAAClD,mBAAmB,CAACoD,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC7B,oBAAoB,CAAC6B,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC3E,SAAS,CAAC2E,KAAK,CAAC,CAAC;IACtB,IAAI,CAAChG,MAAM,GAAG,KAAK;IACnB;IACA,IAAI,IAAI,CAACQ,aAAa,EAAE;MACpByF,YAAY,CAAC,IAAI,CAACzF,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAG,IAAI;IAC7B;IACA;IACA;IACA,IAAI,CAAC0F,uBAAuB,CAAC,CAAC;IAC9B,IAAI,CAACnF,qBAAqB,GAAG,CAAC;IAC9B,IAAI,CAACF,sBAAsB,GAAG,EAAE;EACpC;EAEA,IAAIsF,QAAQA,CAAA,EAAY;IACpB,OAAO,IAAI,CAACnG,MAAM;EACtB;;EAEA;;EAEA;EACAoG,gBAAgBA,CAACC,IAA8B,EAAQ;IACnD,IAAI,CAAChF,SAAS,CAACiF,OAAO,CAACD,IAAI,CAAC;EAChC;;EAEA;;EAEAE,YAAYA,CAACtG,SAAiB,EAAQ;IAClC,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEAuG,gBAAgBA,CAACzD,UAAkB,EAAQ;IACvC,IAAI,CAAC7C,aAAa,GAAG6C,UAAU;EACnC;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEQE,mBAAmBA,CAACF,UAAkB,EAAE0D,OAAgB,EAAQ;IACpE;IACA,IAAI,IAAI,CAACjG,aAAa,EAAE;MACpByF,YAAY,CAAC,IAAI,CAACzF,aAAa,CAAC;MAChC,IAAI,CAACA,aAAa,GAAG,IAAI;IAC7B;;IAEA;IACA,MAAMkG,GAAG,GAAG,EAAE,IAAI,CAACtG,WAAW;;IAE9B;IACA;IACA,MAAMuG,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;IACtB,MAAME,QAAQ,GAAGJ,OAAO,KAAK3E,SAAS,GAChC,GAAGiB,UAAU,OAAO0D,OAAO,EAAE,GAC7B,GAAG1D,UAAU,QAAQsC,IAAI,CAACyB,KAAK,CAACH,GAAG,GAAG,IAAI,CAAC,EAAE;;IAEnD;IACA;IACA,MAAMI,WAAW,GAAG,IAAI,CAACzG,eAAe,CAAC0G,GAAG,CAACH,QAAQ,CAAC;IACtD,IAAIE,WAAW,KAAKjF,SAAS,IAAI6E,GAAG,GAAGI,WAAW,GAAGjH,kBAAkB,CAACY,gBAAgB,EAAE;MACtF;IACJ;;IAEA;IACA,IAAI,CAACuG,uBAAuB,CAAClE,UAAU,EAAE2D,GAAG,EAAE,CAAC,EAAEG,QAAQ,CAAC;EAC9D;;EAEA;AACJ;AACA;AACA;EACYI,uBAAuBA,CAAClE,UAAkB,EAAE2D,GAAW,EAAEQ,OAAe,EAAEL,QAAgB,EAAQ;IACtG,IAAIK,OAAO,IAAIpH,kBAAkB,CAACa,mBAAmB,EAAE;IACvD,IAAI+F,GAAG,KAAK,IAAI,CAACtG,WAAW,EAAE;IAE9B,MAAM+G,KAAK,GAAGrH,kBAAkB,CAACc,cAAc,CAACsG,OAAO,CAAC,IAAI,IAAI;IAChE,IAAI,CAAC1G,aAAa,GAAG4G,UAAU,CAAC,MAAM;MAClC,IAAI,CAAC5G,aAAa,GAAG,IAAI;MACzB,IAAI,CAAC6G,mBAAmB,CAACtE,UAAU,EAAE2D,GAAG,EAAEQ,OAAO,EAAEL,QAAQ,CAAC;IAChE,CAAC,EAAEM,KAAK,CAAC;EACb;EAEA,MAAcE,mBAAmBA,CAACtE,UAAkB,EAAE2D,GAAW,EAAEQ,OAAe,EAAEL,QAAgB,EAAiB;IACjH,IAAI;MACA;MACA,IAAIH,GAAG,KAAK,IAAI,CAACtG,WAAW,EAAE;;MAE9B;MACA,MAAMuG,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC;MACtB,IAAI,IAAI,CAACtG,cAAc,GAAG,CAAC,IAAIsG,GAAG,GAAG,IAAI,CAACtG,cAAc,GAAGP,kBAAkB,CAACW,mBAAmB,EAAE;QAC/F;QACA,IAAI,CAACwG,uBAAuB,CAAClE,UAAU,EAAE2D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;;MAEA;MACA,MAAMR,IAAI,GAAG,IAAI,CAAChF,SAAS,CAACiG,OAAO,CAAC,CAAC;MACrC,IAAI,CAACjB,IAAI,EAAE;QACP;QACA,IAAI,CAACY,uBAAuB,CAAClE,UAAU,EAAE2D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;;MAEA;MACA,IAAIU,aAAkB;MACtB,IAAI;QACAA,aAAa,GAAGtC,OAAO,CAAC,qDAAqD,CAAC,CAACsC,aAAa;MAChG,CAAC,CAAC,MAAM;QACJ,IAAI,CAACN,uBAAuB,CAAClE,UAAU,EAAE2D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;MAEA,IAAI,CAACU,aAAa,EAAEC,WAAW,CAAC,CAAC,EAAE;QAC/B,IAAI,CAACP,uBAAuB,CAAClE,UAAU,EAAE2D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;;MAEA;MACA,IAAIH,GAAG,KAAK,IAAI,CAACtG,WAAW,EAAE;MAE9B,MAAMqH,MAAM,GAAG,MAAMF,aAAa,CAACG,iBAAiB,CAAC,WAAW,CAAC;;MAEjE;MACA,IAAIhB,GAAG,KAAK,IAAI,CAACtG,WAAW,EAAE;;MAE9B;MACA,IAAI,CAACqH,MAAM,EAAEE,MAAM,EAAE;QACjB;QACA,IAAI,CAACV,uBAAuB,CAAClE,UAAU,EAAE2D,GAAG,EAAEQ,OAAO,GAAG,CAAC,EAAEL,QAAQ,CAAC;QACpE;MACJ;;MAEA;MACA,IAAI,CAACxG,cAAc,GAAGuG,IAAI,CAACD,GAAG,CAAC,CAAC;MAChC,IAAI,CAACrG,eAAe,CAACsH,GAAG,CAACf,QAAQ,EAAE,IAAI,CAACxG,cAAc,CAAC;;MAEvD;MACA,MAAMwH,cAAc,GAAG,IAAI,CAACxH,cAAc,GAAGP,kBAAkB,CAACY,gBAAgB;MAChF,KAAK,MAAM,CAACoH,GAAG,EAAEC,EAAE,CAAC,IAAI,IAAI,CAACzH,eAAe,EAAE;QAC1C,IAAIyH,EAAE,GAAGF,cAAc,EAAE,IAAI,CAACvH,eAAe,CAAC0H,MAAM,CAACF,GAAG,CAAC;MAC7D;;MAEA;MACA,MAAMG,OAAO,GAAG,aAAarB,IAAI,CAACD,GAAG,CAAC,CAAC,IAAItB,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC4C,QAAQ,CAAC,EAAE,CAAC,CAACC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;MACvF9B,IAAI,CAAC+B,IAAI,CAAC;QACNC,IAAI,EAAE,OAAO;QACbC,eAAe,EAAE,CAAC;QAClBC,QAAQ,EAAElC,IAAI,CAACkC,QAAQ;QACvBtI,SAAS,EAAEoG,IAAI,CAACpG,SAAS;QACzBuI,SAAS,EAAEf,MAAM,CAACe,SAAS,IAAI5B,IAAI,CAACD,GAAG,CAAC,CAAC;QACzC8B,QAAQ,EAAEpC,IAAI,CAACqC,YAAY,CAAC,CAAC;QAC7BC,OAAO,EAAE;UACLzF,EAAE,EAAE+E,OAAO;UACXW,QAAQ,EAAE,SAAS;UACnB7I,IAAI,EAAE,eAAe;UACrB8I,IAAI,EAAE;YACFZ,OAAO;YACPhI,SAAS,EAAEoG,IAAI,CAACpG,SAAS;YACzB6I,cAAc,EAAE,CAAC;YACjB/F,UAAU;YACVgG,OAAO,EAAE,WAAW;YACpBC,MAAM,EAAEvB,MAAM,CAACuB,MAAM,IAAI,MAAM;YAC/BC,SAAS,EAAExB,MAAM,CAACwB,SAAS,IAAI,CAAC;YAChCC,KAAK,EAAEzB,MAAM,CAACyB,KAAK,IAAI,CAAC;YACxBC,MAAM,EAAE1B,MAAM,CAAC0B,MAAM,IAAI,CAAC;YAC1BC,SAAS,EAAE3B,MAAM,CAACE,MAAM;YACxB0B,MAAM,EAAE;UACZ;QACJ;MACJ,CAAQ,CAAC;IACb,CAAC,CAAC,MAAM,CAAE;EACd;;EAEA;;EAEA;AACJ;AACA;AACA;EACIC,uBAAuBA,CAACC,KAAc,EAAQ;IAC1C,IAAI,CAACvG,uBAAuB,CAACsG,uBAAuB,CAACC,KAAK,CAAC;EAC/D;;EAEA;AACJ;AACA;AACA;AACA;EACIC,cAAcA,CAACzG,UAAkB,EAAQ;IACrC,IAAI,CAACC,uBAAuB,CAACyG,gBAAgB,CAAC1G,UAAU,CAAC;EAC7D;;EAEA;;EAEA2G,mBAAmBA,CAAC3G,UAAkB,EAAQ;IAC1C;IACA,IAAI,CAACC,uBAAuB,CAAC2G,sBAAsB,CAAC5G,UAAU,CAAC;IAC/D,IAAI,CAACH,mBAAmB,CAACgH,SAAS,CAAC7G,UAAU,CAAC;EAClD;EAEA8G,iBAAiBA,CAAC9G,UAAkB,EAAQ;IACxC,IAAI,CAACH,mBAAmB,CAACkH,OAAO,CAAC/G,UAAU,CAAC;IAC5C,IAAI,CAACC,uBAAuB,CAAC+G,mBAAmB,CAAChH,UAAU,CAAC;EAChE;;EAEA;;EAEAiH,UAAUA,CAACjK,IAAY,EAAiB;IACpC,OAAO,IAAI,CAACoE,oBAAoB,CAAC6F,UAAU,CAACjK,IAAI,CAAC;EACrD;EAEAkK,SAASA,CAACC,OAAe,EAAQ;IAC7B,IAAI,CAAC/F,oBAAoB,CAAC8F,SAAS,CAACC,OAAO,CAAC;EAChD;EAEAC,YAAYA,CAACD,OAAe,EAAEnK,IAAY,EAAEqC,UAAkB,EAAEyG,IAA8B,EAAQ;IAClG,IAAI,CAAC1E,oBAAoB,CAACiG,OAAO,CAACF,OAAO,EAAEnK,IAAI,EAAEqC,UAAU,EAAEyG,IAAI,CAAC;EACtE;EAEAwB,mBAAmBA,CAACH,OAAe,EAAEnK,IAAY,EAAEuK,KAAa,EAAEC,IAAY,EAAQ;IAClF,IAAI,CAACpG,oBAAoB,CAACqG,cAAc,CAACN,OAAO,EAAEnK,IAAI,EAAEuK,KAAK,EAAEC,IAAI,CAAC;EACxE;;EAEA;;EAEA;AACJ;AACA;AACA;AACA;EACIpI,UAAUA,CAACpC,IAAY,EAAEuK,KAAa,EAAEC,IAAa,EAAEE,IAA6B,EAAQ;IACxF,IAAI,CAACpJ,SAAS,CAACc,UAAU,CAACpC,IAAI,EAAEuK,KAAK,EAAEC,IAAI,EAAEE,IAAI,CAAC;EACtD;;EAEA;;EAEA;EACAC,mBAAmBA,CAAC7B,IAA6B,EAAQ;IACrD,IAAI,CAAC9E,oBAAoB,CAAC2G,mBAAmB,CAAC7B,IAAI,CAAC;EACvD;;EAEA;;EAEQ3G,YAAYA,CAACD,KAAmB,EAAQ;IAC5C;IACA,IAAI,CAACZ,SAAS,CAACsJ,SAAS,CAAC1I,KAAK,CAAC;;IAE/B;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEQ;IACA;IACA;IACA;IACA,IAAI,CAAC2I,uBAAuB,CAAC,IAAI,CAACC,gBAAgB,CAAC5I,KAAK,CAAC,CAAC;EAC9D;;EAEA;EACQ4I,gBAAgBA,CAAC5I,KAAmB,EAAqB;IAC7D,MAAM6I,CAAC,GAAG7I,KAAY;IACtB;IACA;IACA;IACA;IACA;IACA,MAAM8I,QAAiC,GAAG;MAAE7H,EAAE,EAAEjB,KAAK,CAACiB;IAAG,CAAC;IAC1D,IAAIjB,KAAK,CAACoG,IAAI,KAAK,YAAY,EAAE;MAC7B,IAAIyC,CAAC,CAACrI,UAAU,EAAEsI,QAAQ,CAACtI,UAAU,GAAGqI,CAAC,CAACrI,UAAU;MACpD,IAAIqI,CAAC,CAACE,SAAS,EAAED,QAAQ,CAACC,SAAS,GAAGF,CAAC,CAACE,SAAS;MACjD,IAAIF,CAAC,CAACG,WAAW,EAAEF,QAAQ,CAACE,WAAW,GAAGH,CAAC,CAACG,WAAW;IAC3D;IACA,OAAO;MACH5C,IAAI,EAAEpG,KAAK,CAACoG,IAAI;MAChBtF,UAAU,EAAE+H,CAAC,CAAC/H,UAAU,IAAI+H,CAAC,CAACxG,OAAO,EAAEzC,SAAS;MAChDqJ,QAAQ,EAAEJ,CAAC,CAAC1I,UAAU;MACtBkI,KAAK,EAAEQ,CAAC,CAACzH,YAAY,IAAIyH,CAAC,CAACR,KAAK;MAChCS;IACJ,CAAC;EACL;;EAEA;AACJ;AACA;AACA;AACA;EACYH,uBAAuBA,CAACO,MAAyB,EAAQ;IAC7D,MAAMC,gBAAgB,GAAGvL,cAAc,CAACwL,mBAAmB,CAAC,CAAC,EAAEC,mBAAmB,CAAC,CAAC;IACpF,IAAIF,gBAAgB,EAAE;MAClB,IAAI,CAACG,2BAA2B,CAACH,gBAAgB,CAAC;MAClDA,gBAAgB,CAACI,sBAAsB,CAACL,MAAM,CAAC;MAC/C;IACJ;;IAEA;IACA,IAAI,CAACtK,sBAAsB,CAAC4K,IAAI,CAACN,MAAM,CAAC;IACxC,IAAI,IAAI,CAACtK,sBAAsB,CAAC4E,MAAM,GAAG3F,kBAAkB,CAACkB,kBAAkB,EAAE;MAC5E,IAAI,CAACH,sBAAsB,CAAC6K,KAAK,CAAC,CAAC;IACvC;IACA,IAAI,CAACC,qBAAqB,CAAC,CAAC;EAChC;;EAEA;EACQJ,2BAA2BA,CAC/BH,gBAAgF,EAC5E;IACJ,IAAI,IAAI,CAACvK,sBAAsB,CAAC4E,MAAM,KAAK,CAAC,EAAE;IAC9C,MAAMmG,QAAQ,GAAG,IAAI,CAAC/K,sBAAsB;IAC5C,IAAI,CAACA,sBAAsB,GAAG,EAAE;IAChC,KAAK,MAAMsK,MAAM,IAAIS,QAAQ,EAAE;MAC3BR,gBAAgB,CAACI,sBAAsB,CAACL,MAAM,CAAC;IACnD;IACA,IAAI,CAACjF,uBAAuB,CAAC,CAAC;IAC9B,IAAI,CAACnF,qBAAqB,GAAG,CAAC;EAClC;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACY4K,qBAAqBA,CAAA,EAAS;IAClC,IAAI,IAAI,CAAC7K,kBAAkB,EAAE;IAC7B,IAAI,IAAI,CAACC,qBAAqB,IAAIjB,kBAAkB,CAACmB,0BAA0B,EAAE;IAEjF,MAAM4K,MAAM,GAAG/L,kBAAkB,CAACoB,oBAAoB;IACtD,MAAMiG,KAAK,GAAG0E,MAAM,CAACxG,IAAI,CAACyG,GAAG,CAAC,IAAI,CAAC/K,qBAAqB,EAAE8K,MAAM,CAACpG,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC1E,qBAAqB,EAAE;IAC5B,IAAI,CAACD,kBAAkB,GAAGsG,UAAU,CAAC,MAAM;MACvC,IAAI,CAACtG,kBAAkB,GAAG,IAAI;MAC9B,MAAMsK,gBAAgB,GAAGvL,cAAc,CAACwL,mBAAmB,CAAC,CAAC,EAAEC,mBAAmB,CAAC,CAAC;MACpF,IAAIF,gBAAgB,EAAE;QAClB,IAAI,CAACG,2BAA2B,CAACH,gBAAgB,CAAC;MACtD,CAAC,MAAM,IAAI,IAAI,CAACvK,sBAAsB,CAAC4E,MAAM,GAAG,CAAC,EAAE;QAC/C,IAAI,CAACkG,qBAAqB,CAAC,CAAC;MAChC;IACJ,CAAC,EAAExE,KAAK,CAAC;EACb;EAEQjB,uBAAuBA,CAAA,EAAS;IACpC,IAAI,IAAI,CAACpF,kBAAkB,EAAE;MACzBmF,YAAY,CAAC,IAAI,CAACnF,kBAAkB,CAAC;MACrC,IAAI,CAACA,kBAAkB,GAAG,IAAI;IAClC;EACJ;AACJ","ignoreList":[]}
|
|
@@ -42,6 +42,18 @@ export declare class PerformanceFeature implements IFeature {
|
|
|
42
42
|
private static readonly CAPTURE_MAX_RETRIES;
|
|
43
43
|
/** Delay schedule for each attempt (ms) — escalating to let views settle */
|
|
44
44
|
private static readonly CAPTURE_DELAYS;
|
|
45
|
+
/** Metrics captured before the backend transport was available. */
|
|
46
|
+
private _pendingBackendMetrics;
|
|
47
|
+
/** Retry timer that drains the buffer once the transport attaches. */
|
|
48
|
+
private _backendDrainTimer;
|
|
49
|
+
/** Number of drain attempts made for the current buffered batch. */
|
|
50
|
+
private _backendDrainAttempts;
|
|
51
|
+
/** Hard cap on buffered metrics — bounds memory if a transport never attaches (non-SaaS). */
|
|
52
|
+
private static readonly BACKEND_BUFFER_MAX;
|
|
53
|
+
/** Max drain retries before giving up (non-SaaS mode never attaches a transport). */
|
|
54
|
+
private static readonly BACKEND_DRAIN_MAX_ATTEMPTS;
|
|
55
|
+
/** Escalating retry delays (ms); last value repeats. Covers the startup attach race. */
|
|
56
|
+
private static readonly BACKEND_DRAIN_DELAYS;
|
|
45
57
|
constructor(config?: Partial<PerformanceConfig>);
|
|
46
58
|
initialize(context: FeatureContext): Promise<void>;
|
|
47
59
|
/** Activate native performance module once (no-throw if unavailable). */
|
|
@@ -97,5 +109,24 @@ export declare class PerformanceFeature implements IFeature {
|
|
|
97
109
|
/** Called by the SDK when a $network_request event occurs */
|
|
98
110
|
processNetworkEvent(data: Record<string, unknown>): void;
|
|
99
111
|
private _handleEvent;
|
|
112
|
+
/** Map a raw perf event onto the backend metric envelope. */
|
|
113
|
+
private _toBackendMetric;
|
|
114
|
+
/**
|
|
115
|
+
* Hand a metric to the backend transport, or buffer it until one attaches.
|
|
116
|
+
* Every call first drains anything buffered, so a late-arriving transport
|
|
117
|
+
* flushes the backlog in the order the metrics were produced.
|
|
118
|
+
*/
|
|
119
|
+
private _forwardMetricToBackend;
|
|
120
|
+
/** Flush all buffered metrics into the transport, preserving order. */
|
|
121
|
+
private _drainPendingBackendMetrics;
|
|
122
|
+
/**
|
|
123
|
+
* Poll for the backend transport a bounded number of times so the sole
|
|
124
|
+
* early metric (app_launch) still reaches the cloud even when no later
|
|
125
|
+
* event arrives to trigger a drain. Gives up after BACKEND_DRAIN_MAX_ATTEMPTS
|
|
126
|
+
* (non-SaaS mode never attaches a transport — the desktop path already has
|
|
127
|
+
* the data), leaving the bounded buffer to be GC'd on teardown.
|
|
128
|
+
*/
|
|
129
|
+
private _scheduleBackendDrain;
|
|
130
|
+
private _clearBackendDrainTimer;
|
|
100
131
|
}
|
|
101
132
|
//# sourceMappingURL=PerformanceFeature.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformanceFeature.d.ts","sourceRoot":"","sources":["../../../../src/features/performance/PerformanceFeature.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAWlD,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"PerformanceFeature.d.ts","sourceRoot":"","sources":["../../../../src/features/performance/PerformanceFeature.ts"],"names":[],"mappings":"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"}
|