@contractspec/lib.analytics 1.62.0 → 2.1.0

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.
@@ -1,2 +1 @@
1
1
  export * from './predictor';
2
- //# sourceMappingURL=index.d.ts.map
@@ -15,4 +15,3 @@ export declare class ChurnPredictor {
15
15
  private computeScore;
16
16
  private drivers;
17
17
  }
18
- //# sourceMappingURL=predictor.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from './tracker';
2
- //# sourceMappingURL=index.d.ts.map
@@ -2,4 +2,3 @@ import type { AnalyticsEvent, CohortAnalysis, CohortDefinition } from '../types'
2
2
  export declare class CohortTracker {
3
3
  analyze(events: AnalyticsEvent[], definition: CohortDefinition): CohortAnalysis;
4
4
  }
5
- //# sourceMappingURL=tracker.d.ts.map
@@ -3,4 +3,3 @@ export declare class FunnelAnalyzer {
3
3
  analyze(events: AnalyticsEvent[], definition: FunnelDefinition): FunnelAnalysis;
4
4
  private evaluateUser;
5
5
  }
6
- //# sourceMappingURL=analyzer.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from './analyzer';
2
- //# sourceMappingURL=index.d.ts.map
@@ -11,4 +11,3 @@ export declare class GrowthHypothesisGenerator {
11
11
  private impact;
12
12
  private statement;
13
13
  }
14
- //# sourceMappingURL=hypothesis-generator.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from './hypothesis-generator';
2
- //# sourceMappingURL=index.d.ts.map
package/dist/index.d.ts CHANGED
@@ -5,4 +5,3 @@ export * from './churn';
5
5
  export * from './growth';
6
6
  export * from './lifecycle';
7
7
  export * from './posthog';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export * from './metric-collectors';
2
2
  export * from './posthog-bridge';
3
3
  export * from './posthog-metric-source';
4
- //# sourceMappingURL=index.d.ts.map
@@ -23,4 +23,3 @@ export interface LifecycleStageChangePayload {
23
23
  confidence: number;
24
24
  }
25
25
  export declare const createStageChangeEvent: (payload: LifecycleStageChangePayload) => AnalyticsEvent;
26
- //# sourceMappingURL=metric-collectors.d.ts.map
@@ -8,4 +8,3 @@ export interface PostHogLikeClient {
8
8
  }
9
9
  export declare const trackLifecycleAssessment: (client: PostHogLikeClient, tenantId: string, assessment: LifecycleAssessment) => Promise<void>;
10
10
  export declare const trackLifecycleStageChange: (client: PostHogLikeClient, tenantId: string, previousStage: number | undefined, nextStage: number) => Promise<void>;
11
- //# sourceMappingURL=posthog-bridge.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { AnalyticsReader } from '@contractspec/lib.contracts/integrations/providers/analytics';
1
+ import type { AnalyticsReader } from '@contractspec/lib.contracts-integrations';
2
2
  import type { LifecycleMetricSource } from './metric-collectors';
3
3
  export interface PosthogLifecycleMetricSourceOptions {
4
4
  activityEvents?: string[];
@@ -40,4 +40,3 @@ export declare class PosthogLifecycleMetricSource implements LifecycleMetricSour
40
40
  private latestMetric;
41
41
  private queryHogQL;
42
42
  }
43
- //# sourceMappingURL=posthog-metric-source.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { AnalyticsReader, DateRangeInput } from '@contractspec/lib.contracts/integrations/providers/analytics';
1
+ import type { AnalyticsReader, DateRangeInput } from '@contractspec/lib.contracts-integrations';
2
2
  import type { AnalyticsEvent, CohortDefinition, FunnelDefinition, GrowthMetric } from '../types';
3
3
  export interface PosthogAnalyticsEventSourceOptions {
4
4
  limitPerEvent?: number;
@@ -18,4 +18,3 @@ export declare class PosthogAnalyticsEventSource {
18
18
  private getEventsByNames;
19
19
  private countEvents;
20
20
  }
21
- //# sourceMappingURL=event-source.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from './event-source';
2
- //# sourceMappingURL=index.d.ts.map
package/dist/types.d.ts CHANGED
@@ -62,4 +62,3 @@ export interface GrowthHypothesis {
62
62
  confidence: 'low' | 'medium' | 'high';
63
63
  impact: 'low' | 'medium' | 'high';
64
64
  }
65
- //# sourceMappingURL=types.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/lib.analytics",
3
- "version": "1.62.0",
3
+ "version": "2.1.0",
4
4
  "description": "Product analytics and growth metrics",
5
5
  "keywords": [
6
6
  "contractspec",
@@ -27,19 +27,20 @@
27
27
  "lint": "bun lint:fix",
28
28
  "lint:fix": "eslint src --fix",
29
29
  "lint:check": "eslint src",
30
- "test": "bun test",
30
+ "test": "bun test --pass-with-no-tests",
31
31
  "prebuild": "contractspec-bun-build prebuild",
32
32
  "typecheck": "tsc --noEmit"
33
33
  },
34
34
  "dependencies": {
35
- "@contractspec/lib.contracts": "1.62.0",
36
- "@contractspec/lib.lifecycle": "1.62.0",
35
+ "@contractspec/lib.contracts-spec": "2.1.0",
36
+ "@contractspec/lib.contracts-integrations": "2.1.0",
37
+ "@contractspec/lib.lifecycle": "2.1.0",
37
38
  "dayjs": "^1.11.13"
38
39
  },
39
40
  "devDependencies": {
40
- "@contractspec/tool.typescript": "1.62.0",
41
+ "@contractspec/tool.typescript": "2.1.0",
41
42
  "typescript": "^5.9.3",
42
- "@contractspec/tool.bun": "1.61.0"
43
+ "@contractspec/tool.bun": "2.1.0"
43
44
  },
44
45
  "exports": {
45
46
  ".": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/churn/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"predictor.d.ts","sourceRoot":"","sources":["../../src/churn/predictor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,CAAC,EAAE,qBAAqB;IAO3C,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE;IAe9C,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,OAAO;CAgBhB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cohort/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/cohort/tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AAElB,qBAAa,aAAa;IACxB,OAAO,CACL,MAAM,EAAE,cAAc,EAAE,EACxB,UAAU,EAAE,gBAAgB,GAC3B,cAAc;CAuBlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../src/funnel/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAGjB,MAAM,UAAU,CAAC;AAElB,qBAAa,cAAc;IACzB,OAAO,CACL,MAAM,EAAE,cAAc,EAAE,EACxB,UAAU,EAAE,gBAAgB,GAC3B,cAAc;IAmCjB,OAAO,CAAC,YAAY;CAmCrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/funnel/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hypothesis-generator.d.ts","sourceRoot":"","sources":["../../src/growth/hypothesis-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,OAAO,CAAC,EAAE,0BAA0B;IAIhD,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,gBAAgB,EAAE;IAQrD,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,SAAS;CAWlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/growth/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lifecycle/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"metric-collectors.d.ts","sourceRoot":"","sources":["../../src/lifecycle/metric-collectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,cAAc,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,oBAAoB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrD,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,0BAA0B,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3D,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,WAAW,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,eAAe,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACjD;AAED,eAAO,MAAM,uBAAuB,GAClC,QAAQ,qBAAqB,KAC5B,OAAO,CAAC,uBAAuB,CA4BjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,uBAAuB,EAChC,WAAW,MAAM,KAChB,eAAe,EAaX,CAAC;AAER,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,sBAAsB,GACjC,SAAS,2BAA2B,KACnC,cAMD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"posthog-bridge.d.ts","sourceRoot":"","sources":["../../src/lifecycle/posthog-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,wBAAwB,GACnC,QAAQ,iBAAiB,EACzB,UAAU,MAAM,EAChB,YAAY,mBAAmB,kBAWhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,QAAQ,iBAAiB,EACzB,UAAU,MAAM,EAChB,eAAe,MAAM,GAAG,SAAS,EACjC,WAAW,MAAM,kBAUlB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"posthog-metric-source.d.ts","sourceRoot":"","sources":["../../src/lifecycle/posthog-metric-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,8DAA8D,CAAC;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,WAAW,mCAAmC;IAClD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,4BAA6B,YAAW,qBAAqB;IACxE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAS;gBAG7C,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,mCAAwC;IAe7C,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI7C,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAInD,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAkB/C,0BAA0B,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKzD,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAQ/C,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK1C,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAKtC,kBAAkB;YAKlB,yBAAyB;YAwBzB,mBAAmB;YA8BnB,SAAS;YAgBT,4BAA4B;YAiB5B,YAAY;YAkBZ,UAAU;CASzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-source.d.ts","sourceRoot":"","sources":["../../src/posthog/event-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACf,MAAM,8DAA8D,CAAC;AACtE,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,kCAAkC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAGxC,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,kCAAuC;IAQ5C,kBAAkB,CACtB,UAAU,EAAE,gBAAgB,EAC5B,SAAS,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,cAAc,EAAE,CAAC;IAKtB,kBAAkB,CACtB,UAAU,EAAE,gBAAgB,EAC5B,SAAS,CAAC,EAAE,cAAc,EAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,cAAc,EAAE,CAAC;IAQtB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,cAAc,EAC1B,KAAK,SAAO,GACX,OAAO,CAAC,cAAc,EAAE,CAAC;IActB,gBAAgB,CACpB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,YAAY,EAAE,CAAC;YAgBZ,gBAAgB;YA+BhB,WAAW;CAwB1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/posthog/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;CAC5C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACnC"}