@pingops/otel 0.1.1 → 0.1.2

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 (53) hide show
  1. package/dist/index.cjs +1018 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +342 -0
  4. package/dist/index.d.cts.map +1 -0
  5. package/dist/index.d.mts +342 -0
  6. package/dist/index.d.mts.map +1 -0
  7. package/dist/index.mjs +981 -0
  8. package/dist/index.mjs.map +1 -0
  9. package/package.json +18 -6
  10. package/dist/config-store.d.ts +0 -26
  11. package/dist/config-store.d.ts.map +0 -1
  12. package/dist/config-store.js +0 -26
  13. package/dist/config-store.js.map +0 -1
  14. package/dist/config.d.ts +0 -83
  15. package/dist/config.d.ts.map +0 -1
  16. package/dist/config.js +0 -5
  17. package/dist/config.js.map +0 -1
  18. package/dist/index.d.ts +0 -11
  19. package/dist/index.d.ts.map +0 -1
  20. package/dist/index.js +0 -10
  21. package/dist/index.js.map +0 -1
  22. package/dist/instrumentations/http/http.d.ts +0 -13
  23. package/dist/instrumentations/http/http.d.ts.map +0 -1
  24. package/dist/instrumentations/http/http.js +0 -28
  25. package/dist/instrumentations/http/http.js.map +0 -1
  26. package/dist/instrumentations/http/pingops-http.d.ts +0 -52
  27. package/dist/instrumentations/http/pingops-http.d.ts.map +0 -1
  28. package/dist/instrumentations/http/pingops-http.js +0 -381
  29. package/dist/instrumentations/http/pingops-http.js.map +0 -1
  30. package/dist/instrumentations/index.d.ts +0 -17
  31. package/dist/instrumentations/index.d.ts.map +0 -1
  32. package/dist/instrumentations/index.js +0 -28
  33. package/dist/instrumentations/index.js.map +0 -1
  34. package/dist/instrumentations/undici/pingops-undici.d.ts +0 -25
  35. package/dist/instrumentations/undici/pingops-undici.d.ts.map +0 -1
  36. package/dist/instrumentations/undici/pingops-undici.js +0 -568
  37. package/dist/instrumentations/undici/pingops-undici.js.map +0 -1
  38. package/dist/instrumentations/undici/types.d.ts +0 -106
  39. package/dist/instrumentations/undici/types.d.ts.map +0 -1
  40. package/dist/instrumentations/undici/types.js +0 -2
  41. package/dist/instrumentations/undici/types.js.map +0 -1
  42. package/dist/instrumentations/undici/undici.d.ts +0 -12
  43. package/dist/instrumentations/undici/undici.d.ts.map +0 -1
  44. package/dist/instrumentations/undici/undici.js +0 -26
  45. package/dist/instrumentations/undici/undici.js.map +0 -1
  46. package/dist/span-processor.d.ts +0 -78
  47. package/dist/span-processor.d.ts.map +0 -1
  48. package/dist/span-processor.js +0 -282
  49. package/dist/span-processor.js.map +0 -1
  50. package/dist/tracer-provider.d.ts +0 -57
  51. package/dist/tracer-provider.d.ts.map +0 -1
  52. package/dist/tracer-provider.js +0 -184
  53. package/dist/tracer-provider.js.map +0 -1
@@ -1,381 +0,0 @@
1
- /**
2
- * Pingops HTTP instrumentation that extends HttpInstrumentation
3
- * with request/response body capture and network timing metrics
4
- */
5
- import { ClientRequest, IncomingMessage } from "http";
6
- import { context } from "@opentelemetry/api";
7
- import { HttpInstrumentation, } from "@opentelemetry/instrumentation-http";
8
- import { PINGOPS_CAPTURE_REQUEST_BODY, PINGOPS_CAPTURE_RESPONSE_BODY, } from "@pingops/core";
9
- import { getGlobalConfig } from "../../config-store";
10
- // Constants
11
- const DEFAULT_MAX_REQUEST_BODY_SIZE = 4 * 1024; // 4 KB
12
- const DEFAULT_MAX_RESPONSE_BODY_SIZE = 4 * 1024; // 4 KB
13
- const NETWORK_TIMINGS_PROP_NAME = "__networkTimings";
14
- // Semantic attributes
15
- export const PingopsSemanticAttributes = {
16
- HTTP_REQUEST_BODY: "http.request.body",
17
- HTTP_RESPONSE_BODY: "http.response.body",
18
- NETWORK_DNS_LOOKUP_DURATION: "net.dns.lookup.duration",
19
- NETWORK_TCP_CONNECT_DURATION: "net.tcp.connect.duration",
20
- NETWORK_TLS_HANDSHAKE_DURATION: "net.tls.handshake.duration",
21
- NETWORK_TTFB_DURATION: "net.ttfb.duration",
22
- NETWORK_CONTENT_TRANSFER_DURATION: "net.content.transfer.duration",
23
- };
24
- /**
25
- * Manually flattens a nested object into dot-notation keys
26
- */
27
- function flatten(obj, prefix = "") {
28
- const result = {};
29
- for (const key in obj) {
30
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
31
- const newKey = prefix ? `${prefix}.${key}` : key;
32
- const value = obj[key];
33
- if (value !== null &&
34
- typeof value === "object" &&
35
- !Array.isArray(value) &&
36
- !(value instanceof Buffer)) {
37
- // Recursively flatten nested objects
38
- Object.assign(result, flatten(value, newKey));
39
- }
40
- else {
41
- result[newKey] = value;
42
- }
43
- }
44
- }
45
- return result;
46
- }
47
- /**
48
- * Sets an attribute value on a span, handling various types appropriately
49
- */
50
- function setAttributeValue(span, attrName, attrValue) {
51
- if (typeof attrValue === "string" ||
52
- typeof attrValue === "number" ||
53
- typeof attrValue === "boolean") {
54
- span.setAttribute(attrName, attrValue);
55
- }
56
- else if (attrValue instanceof Buffer) {
57
- span.setAttribute(attrName, attrValue.toString("utf8"));
58
- }
59
- else if (typeof attrValue == "object") {
60
- span.setAttributes(flatten({
61
- [attrName]: attrValue,
62
- }));
63
- }
64
- else if (Array.isArray(attrValue)) {
65
- // Check whether there is any element
66
- if (attrValue.length) {
67
- // Try to resolve array type over first element.
68
- // Other elements might have different types but this is just best effort solution.
69
- const firstElement = attrValue[0];
70
- if (typeof firstElement === "string" ||
71
- typeof firstElement === "number" ||
72
- typeof firstElement === "boolean") {
73
- span.setAttribute(attrName, attrValue);
74
- }
75
- else {
76
- // TODO What should we do with other array types???
77
- }
78
- }
79
- else {
80
- span.setAttribute(attrName, attrValue);
81
- }
82
- }
83
- // TODO What should we do with other types???
84
- }
85
- /**
86
- * Processes network timings and sets them as span attributes (no spans created)
87
- */
88
- function processNetworkTimings(span, networkTimings) {
89
- // Calculate and set network timing attributes (no spans created)
90
- if (networkTimings.startAt && networkTimings.dnsLookupAt) {
91
- span.setAttribute(PingopsSemanticAttributes.NETWORK_DNS_LOOKUP_DURATION, networkTimings.dnsLookupAt - networkTimings.startAt);
92
- }
93
- if (networkTimings.dnsLookupAt && networkTimings.tcpConnectionAt) {
94
- span.setAttribute(PingopsSemanticAttributes.NETWORK_TCP_CONNECT_DURATION, networkTimings.tcpConnectionAt - networkTimings.dnsLookupAt);
95
- }
96
- if (networkTimings.tcpConnectionAt && networkTimings.tlsHandshakeAt) {
97
- span.setAttribute(PingopsSemanticAttributes.NETWORK_TLS_HANDSHAKE_DURATION, networkTimings.tlsHandshakeAt - networkTimings.tcpConnectionAt);
98
- }
99
- const startTTFB = networkTimings.tlsHandshakeAt || networkTimings.tcpConnectionAt;
100
- if (networkTimings.firstByteAt && startTTFB) {
101
- span.setAttribute(PingopsSemanticAttributes.NETWORK_TTFB_DURATION, networkTimings.firstByteAt - startTTFB);
102
- }
103
- if (networkTimings.firstByteAt && networkTimings.endAt) {
104
- span.setAttribute(PingopsSemanticAttributes.NETWORK_CONTENT_TRANSFER_DURATION, networkTimings.endAt - networkTimings.firstByteAt);
105
- }
106
- }
107
- /**
108
- * Initializes network timings on a span
109
- */
110
- function initializeNetworkTimings(span) {
111
- const networkTimings = {
112
- startAt: Date.now(),
113
- };
114
- Object.defineProperty(span, NETWORK_TIMINGS_PROP_NAME, {
115
- enumerable: false,
116
- configurable: true,
117
- writable: false,
118
- value: networkTimings,
119
- });
120
- return networkTimings;
121
- }
122
- /**
123
- * Extracts domain from URL
124
- */
125
- function extractDomainFromUrl(url) {
126
- try {
127
- const urlObj = new URL(url);
128
- return urlObj.hostname;
129
- }
130
- catch {
131
- const match = url.match(/^(?:https?:\/\/)?([^/]+)/);
132
- return match ? match[1] : "";
133
- }
134
- }
135
- /**
136
- * Gets domain rule configuration for a given URL
137
- */
138
- function getDomainRule(url, domainAllowList) {
139
- if (!domainAllowList) {
140
- return undefined;
141
- }
142
- const domain = extractDomainFromUrl(url);
143
- for (const rule of domainAllowList) {
144
- if (domain === rule.domain ||
145
- domain.endsWith(`.${rule.domain}`) ||
146
- domain === rule.domain.slice(1)) {
147
- return rule;
148
- }
149
- }
150
- return undefined;
151
- }
152
- /**
153
- * Determines if request body should be captured based on priority:
154
- * context > domain rule > global config > default (false)
155
- */
156
- function shouldCaptureRequestBody(url) {
157
- const activeContext = context.active();
158
- // Check context value first (from wrapHttp)
159
- const contextValue = activeContext.getValue(PINGOPS_CAPTURE_REQUEST_BODY);
160
- if (contextValue !== undefined) {
161
- return contextValue;
162
- }
163
- // Check domain-specific rule
164
- if (url) {
165
- const globalConfig = getGlobalConfig();
166
- const domainRule = getDomainRule(url, globalConfig?.domainAllowList);
167
- if (domainRule?.captureRequestBody !== undefined) {
168
- return domainRule.captureRequestBody;
169
- }
170
- }
171
- // Fall back to global config
172
- const globalConfig = getGlobalConfig();
173
- if (globalConfig?.captureRequestBody !== undefined) {
174
- return globalConfig.captureRequestBody;
175
- }
176
- // Default to false
177
- return false;
178
- }
179
- /**
180
- * Determines if response body should be captured based on priority:
181
- * context > domain rule > global config > default (false)
182
- */
183
- function shouldCaptureResponseBody(url) {
184
- const activeContext = context.active();
185
- // Check context value first (from wrapHttp)
186
- const contextValue = activeContext.getValue(PINGOPS_CAPTURE_RESPONSE_BODY);
187
- if (contextValue !== undefined) {
188
- return contextValue;
189
- }
190
- // Check domain-specific rule
191
- if (url) {
192
- const globalConfig = getGlobalConfig();
193
- const domainRule = getDomainRule(url, globalConfig?.domainAllowList);
194
- if (domainRule?.captureResponseBody !== undefined) {
195
- return domainRule.captureResponseBody;
196
- }
197
- }
198
- // Fall back to global config
199
- const globalConfig = getGlobalConfig();
200
- if (globalConfig?.captureResponseBody !== undefined) {
201
- return globalConfig.captureResponseBody;
202
- }
203
- // Default to false
204
- return false;
205
- }
206
- /**
207
- * Captures request body from string or Buffer data
208
- */
209
- function captureRequestBody(span, data, maxSize, semanticAttr, url) {
210
- // Check if body capture is enabled
211
- if (!shouldCaptureRequestBody(url)) {
212
- return;
213
- }
214
- if (data.length && data.length <= maxSize) {
215
- try {
216
- const requestBody = typeof data === "string" ? data : data.toString("utf-8");
217
- if (requestBody) {
218
- setAttributeValue(span, semanticAttr, requestBody);
219
- }
220
- }
221
- catch (e) {
222
- console.error("Error occurred while capturing request body:", e);
223
- }
224
- }
225
- }
226
- /**
227
- * Captures response body from chunks
228
- */
229
- function captureResponseBody(span, chunks, semanticAttr, url) {
230
- // Check if body capture is enabled
231
- if (!shouldCaptureResponseBody(url)) {
232
- return;
233
- }
234
- if (chunks && chunks.length) {
235
- try {
236
- const concatedChunks = Buffer.concat(chunks);
237
- const responseBody = concatedChunks.toString("utf8");
238
- if (responseBody) {
239
- setAttributeValue(span, semanticAttr, responseBody);
240
- }
241
- }
242
- catch (e) {
243
- console.error("Error occurred while capturing response body:", e);
244
- }
245
- }
246
- }
247
- /**
248
- * Captures HTTP request headers as span attributes
249
- */
250
- function captureRequestHeaders(span, headers) {
251
- for (const [key, value] of Object.entries(headers)) {
252
- if (value !== undefined) {
253
- span.setAttribute(`pingops.http.request.header.${key.toLowerCase()}`, Array.isArray(value) ? value.join(",") : String(value));
254
- }
255
- }
256
- }
257
- /**
258
- * Captures HTTP response headers as span attributes
259
- */
260
- function captureResponseHeaders(span, headers) {
261
- for (const [key, value] of Object.entries(headers)) {
262
- if (value !== undefined) {
263
- span.setAttribute(`pingops.http.response.header.${key.toLowerCase()}`, Array.isArray(value) ? value.join(",") : String(value));
264
- }
265
- }
266
- }
267
- // Re-export semantic attributes for backward compatibility
268
- export const PingopsHttpSemanticAttributes = PingopsSemanticAttributes;
269
- export class PingopsHttpInstrumentation extends HttpInstrumentation {
270
- constructor(config) {
271
- super(config);
272
- this._config = this._createConfig(config);
273
- }
274
- _createConfig(config) {
275
- return {
276
- ...config,
277
- requestHook: this._createRequestHook(config?.requestHook, config),
278
- responseHook: this._createResponseHook(config?.responseHook, config),
279
- };
280
- }
281
- _createRequestHook(originalRequestHook, config) {
282
- return (span, request) => {
283
- // Capture request headers
284
- const headers = request.headers;
285
- if (headers) {
286
- captureRequestHeaders(span, headers);
287
- }
288
- if (request instanceof ClientRequest) {
289
- const networkTimings = initializeNetworkTimings(span);
290
- const maxRequestBodySize = config?.maxRequestBodySize || DEFAULT_MAX_REQUEST_BODY_SIZE;
291
- // Extract URL from request
292
- const url = request.path && request.getHeader("host")
293
- ? `${request.protocol || "http:"}//${request.getHeader("host")}${request.path}`
294
- : undefined;
295
- const originalWrite = request.write.bind(request);
296
- const originalEnd = request.end.bind(request);
297
- // Capture request body
298
- request.write = (data) => {
299
- if (typeof data === "string" || data instanceof Buffer) {
300
- captureRequestBody(span, data, maxRequestBodySize, PingopsSemanticAttributes.HTTP_REQUEST_BODY, url);
301
- }
302
- return originalWrite(data);
303
- };
304
- request.end = (data) => {
305
- if (typeof data === "string" || data instanceof Buffer) {
306
- captureRequestBody(span, data, maxRequestBodySize, PingopsSemanticAttributes.HTTP_REQUEST_BODY, url);
307
- }
308
- return originalEnd(data);
309
- };
310
- // Track network timings
311
- request.on("socket", (socket) => {
312
- socket.on("lookup", () => {
313
- networkTimings.dnsLookupAt = Date.now();
314
- });
315
- socket.on("connect", () => {
316
- networkTimings.tcpConnectionAt = Date.now();
317
- });
318
- socket.on("secureConnect", () => {
319
- networkTimings.tlsHandshakeAt = Date.now();
320
- });
321
- });
322
- }
323
- if (originalRequestHook) {
324
- originalRequestHook(span, request);
325
- }
326
- };
327
- }
328
- _createResponseHook(originalResponseHook, config) {
329
- return (span, response) => {
330
- // Capture response headers
331
- const headers = response.headers;
332
- if (headers) {
333
- captureResponseHeaders(span, headers);
334
- }
335
- if (response instanceof IncomingMessage) {
336
- const networkTimings = span[NETWORK_TIMINGS_PROP_NAME];
337
- const maxResponseBodySize = config?.maxResponseBodySize || DEFAULT_MAX_RESPONSE_BODY_SIZE;
338
- // Extract URL from response (if available via request)
339
- // Note: We can't easily get URL from IncomingMessage, so we'll rely on
340
- // domain rules matching based on headers or skip domain-specific checks
341
- const url = response.url || undefined;
342
- let chunks = [];
343
- let totalSize = 0;
344
- // Only capture response body if enabled
345
- const shouldCapture = shouldCaptureResponseBody(url);
346
- // Capture response body
347
- response.prependListener("data", (chunk) => {
348
- if (!chunk || !shouldCapture) {
349
- return;
350
- }
351
- if (typeof chunk === "string" || chunk instanceof Buffer) {
352
- totalSize += chunk.length;
353
- if (chunks && totalSize <= maxResponseBodySize) {
354
- chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
355
- }
356
- else {
357
- // No need to capture partial response body
358
- chunks = null;
359
- }
360
- }
361
- });
362
- response.prependOnceListener("end", () => {
363
- if (networkTimings) {
364
- networkTimings.endAt = Date.now();
365
- processNetworkTimings(span, networkTimings);
366
- }
367
- captureResponseBody(span, chunks, PingopsSemanticAttributes.HTTP_RESPONSE_BODY, url);
368
- });
369
- if (networkTimings) {
370
- response.once("readable", () => {
371
- networkTimings.firstByteAt = Date.now();
372
- });
373
- }
374
- }
375
- if (originalResponseHook) {
376
- originalResponseHook(span, response);
377
- }
378
- };
379
- }
380
- }
381
- //# sourceMappingURL=pingops-http.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pingops-http.js","sourceRoot":"","sources":["../../../src/instrumentations/http/pingops-http.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Instrumentation setup for HTTP, fetch, undici, and GenAI
3
- */
4
- import type { Instrumentation } from "@opentelemetry/instrumentation";
5
- /**
6
- * Registers instrumentations for Node.js environment.
7
- * This function is idempotent and can be called multiple times safely.
8
- *
9
- * Instrumentation behavior:
10
- * - If global instrumentation is enabled: all HTTP requests are instrumented
11
- * - If global instrumentation is NOT enabled: only requests within wrapHttp blocks are instrumented
12
- *
13
- * @param isGlobalInstrumentationEnabled - Function that checks if global instrumentation is enabled
14
- * @returns Array of Instrumentation instances
15
- */
16
- export declare function getInstrumentations(isGlobalInstrumentationEnabled: () => boolean): Instrumentation[];
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instrumentations/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAMtE;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,8BAA8B,EAAE,MAAM,OAAO,GAC5C,eAAe,EAAE,CAUnB"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Instrumentation setup for HTTP, fetch, undici, and GenAI
3
- */
4
- import { createHttpInstrumentation } from "./http/http";
5
- import { createUndiciInstrumentation } from "./undici/undici";
6
- let installed = false;
7
- /**
8
- * Registers instrumentations for Node.js environment.
9
- * This function is idempotent and can be called multiple times safely.
10
- *
11
- * Instrumentation behavior:
12
- * - If global instrumentation is enabled: all HTTP requests are instrumented
13
- * - If global instrumentation is NOT enabled: only requests within wrapHttp blocks are instrumented
14
- *
15
- * @param isGlobalInstrumentationEnabled - Function that checks if global instrumentation is enabled
16
- * @returns Array of Instrumentation instances
17
- */
18
- export function getInstrumentations(isGlobalInstrumentationEnabled) {
19
- if (installed) {
20
- return [];
21
- }
22
- installed = true;
23
- return [
24
- createHttpInstrumentation(isGlobalInstrumentationEnabled),
25
- createUndiciInstrumentation(isGlobalInstrumentationEnabled),
26
- ];
27
- }
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instrumentations/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAE9D,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,8BAA6C;IAE7C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,SAAS,GAAG,IAAI,CAAC;IACjB,OAAO;QACL,yBAAyB,CAAC,8BAA8B,CAAC;QACzD,2BAA2B,CAAC,8BAA8B,CAAC;KAC5D,CAAC;AACJ,CAAC"}
@@ -1,25 +0,0 @@
1
- import { InstrumentationBase } from "@opentelemetry/instrumentation";
2
- import { UndiciInstrumentationConfig } from "./types";
3
- export declare class UndiciInstrumentation extends InstrumentationBase<UndiciInstrumentationConfig> {
4
- private _channelSubs;
5
- private _recordFromReq;
6
- private _httpClientDurationHistogram;
7
- constructor(config?: UndiciInstrumentationConfig);
8
- protected init(): undefined;
9
- disable(): void;
10
- enable(): void;
11
- protected _updateMetricInstruments(): void;
12
- private subscribeToChannel;
13
- private parseRequestHeaders;
14
- private onRequestCreated;
15
- private onRequestHeaders;
16
- private onResponseHeaders;
17
- private onDone;
18
- private onError;
19
- private onBodyChunkSent;
20
- private onBodySent;
21
- private onBodyChunkReceived;
22
- private recordRequestDuration;
23
- private getRequestMethod;
24
- }
25
- //# sourceMappingURL=pingops-undici.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pingops-undici.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/undici/pingops-undici.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EAEpB,MAAM,gCAAgC,CAAC;AAoCxC,OAAO,EASL,2BAA2B,EAE5B,MAAM,SAAS,CAAC;AAoIjB,qBAAa,qBAAsB,SAAQ,mBAAmB,CAAC,2BAA2B,CAAC;IACzF,QAAgB,YAAY,CAAwB;IACpD,OAAO,CAAC,cAAc,CAAuD;IAE7E,QAAgB,4BAA4B,CAAY;gBAE5C,MAAM,GAAE,2BAAgC;cAKjC,IAAI;IAId,OAAO,IAAI,IAAI;IAMf,MAAM,IAAI,IAAI;cAiDJ,wBAAwB;IAiB3C,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,mBAAmB;IA+C3B,OAAO,CAAC,gBAAgB;IA6IxB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,MAAM;IA2Cd,OAAO,CAAC,OAAO;IAiDf,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,gBAAgB;CAmBzB"}