@memberjunction/integration-connectors 5.51.0 → 6.1.0-edge.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.
Files changed (155) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +109 -277
  3. package/dist/index.d.ts +0 -36
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +7 -38
  6. package/dist/index.js.map +1 -1
  7. package/package.json +14 -19
  8. package/dist/AptifyConnector.d.ts +0 -95
  9. package/dist/AptifyConnector.d.ts.map +0 -1
  10. package/dist/AptifyConnector.js +0 -760
  11. package/dist/AptifyConnector.js.map +0 -1
  12. package/dist/BlackbaudConnector.d.ts +0 -64
  13. package/dist/BlackbaudConnector.d.ts.map +0 -1
  14. package/dist/BlackbaudConnector.js +0 -916
  15. package/dist/BlackbaudConnector.js.map +0 -1
  16. package/dist/ConstantContactConnector.d.ts +0 -137
  17. package/dist/ConstantContactConnector.d.ts.map +0 -1
  18. package/dist/ConstantContactConnector.js +0 -663
  19. package/dist/ConstantContactConnector.js.map +0 -1
  20. package/dist/CventConnector.d.ts +0 -146
  21. package/dist/CventConnector.d.ts.map +0 -1
  22. package/dist/CventConnector.js +0 -540
  23. package/dist/CventConnector.js.map +0 -1
  24. package/dist/DynamicsDataverseConnector.d.ts +0 -296
  25. package/dist/DynamicsDataverseConnector.d.ts.map +0 -1
  26. package/dist/DynamicsDataverseConnector.js +0 -790
  27. package/dist/DynamicsDataverseConnector.js.map +0 -1
  28. package/dist/FileFeedConnector.d.ts +0 -64
  29. package/dist/FileFeedConnector.d.ts.map +0 -1
  30. package/dist/FileFeedConnector.js +0 -190
  31. package/dist/FileFeedConnector.js.map +0 -1
  32. package/dist/FontevaConnector.d.ts +0 -153
  33. package/dist/FontevaConnector.d.ts.map +0 -1
  34. package/dist/FontevaConnector.js +0 -421
  35. package/dist/FontevaConnector.js.map +0 -1
  36. package/dist/GrowthZoneConnector.d.ts +0 -183
  37. package/dist/GrowthZoneConnector.d.ts.map +0 -1
  38. package/dist/GrowthZoneConnector.js +0 -702
  39. package/dist/GrowthZoneConnector.js.map +0 -1
  40. package/dist/HivebriteConnector.d.ts +0 -151
  41. package/dist/HivebriteConnector.d.ts.map +0 -1
  42. package/dist/HivebriteConnector.js +0 -533
  43. package/dist/HivebriteConnector.js.map +0 -1
  44. package/dist/HubSpotConnector.d.ts +0 -523
  45. package/dist/HubSpotConnector.d.ts.map +0 -1
  46. package/dist/HubSpotConnector.js +0 -3110
  47. package/dist/HubSpotConnector.js.map +0 -1
  48. package/dist/IMISConnector.d.ts +0 -171
  49. package/dist/IMISConnector.d.ts.map +0 -1
  50. package/dist/IMISConnector.js +0 -695
  51. package/dist/IMISConnector.js.map +0 -1
  52. package/dist/MJToMJConnector.d.ts +0 -279
  53. package/dist/MJToMJConnector.d.ts.map +0 -1
  54. package/dist/MJToMJConnector.js +0 -893
  55. package/dist/MJToMJConnector.js.map +0 -1
  56. package/dist/MagnetMailConnector.d.ts +0 -163
  57. package/dist/MagnetMailConnector.d.ts.map +0 -1
  58. package/dist/MagnetMailConnector.js +0 -823
  59. package/dist/MagnetMailConnector.js.map +0 -1
  60. package/dist/MailchimpConnector.d.ts +0 -197
  61. package/dist/MailchimpConnector.d.ts.map +0 -1
  62. package/dist/MailchimpConnector.js +0 -791
  63. package/dist/MailchimpConnector.js.map +0 -1
  64. package/dist/MemberSuiteConnector.d.ts +0 -185
  65. package/dist/MemberSuiteConnector.d.ts.map +0 -1
  66. package/dist/MemberSuiteConnector.js +0 -762
  67. package/dist/MemberSuiteConnector.js.map +0 -1
  68. package/dist/NeonCRMConnector.d.ts +0 -273
  69. package/dist/NeonCRMConnector.d.ts.map +0 -1
  70. package/dist/NeonCRMConnector.js +0 -1039
  71. package/dist/NeonCRMConnector.js.map +0 -1
  72. package/dist/NetForumConnector.d.ts +0 -170
  73. package/dist/NetForumConnector.d.ts.map +0 -1
  74. package/dist/NetForumConnector.js +0 -778
  75. package/dist/NetForumConnector.js.map +0 -1
  76. package/dist/NetSuiteConnector.d.ts +0 -136
  77. package/dist/NetSuiteConnector.d.ts.map +0 -1
  78. package/dist/NetSuiteConnector.js +0 -703
  79. package/dist/NetSuiteConnector.js.map +0 -1
  80. package/dist/NimbleAMSConnector.d.ts +0 -142
  81. package/dist/NimbleAMSConnector.d.ts.map +0 -1
  82. package/dist/NimbleAMSConnector.js +0 -703
  83. package/dist/NimbleAMSConnector.js.map +0 -1
  84. package/dist/NoviConnector.d.ts +0 -178
  85. package/dist/NoviConnector.d.ts.map +0 -1
  86. package/dist/NoviConnector.js +0 -566
  87. package/dist/NoviConnector.js.map +0 -1
  88. package/dist/ORCIDConnector.d.ts +0 -207
  89. package/dist/ORCIDConnector.d.ts.map +0 -1
  90. package/dist/ORCIDConnector.js +0 -708
  91. package/dist/ORCIDConnector.js.map +0 -1
  92. package/dist/OpenWaterConnector.d.ts +0 -173
  93. package/dist/OpenWaterConnector.d.ts.map +0 -1
  94. package/dist/OpenWaterConnector.js +0 -893
  95. package/dist/OpenWaterConnector.js.map +0 -1
  96. package/dist/PathLMSConnector.d.ts +0 -395
  97. package/dist/PathLMSConnector.d.ts.map +0 -1
  98. package/dist/PathLMSConnector.js +0 -1281
  99. package/dist/PathLMSConnector.js.map +0 -1
  100. package/dist/PheedLoopConnector.d.ts +0 -119
  101. package/dist/PheedLoopConnector.d.ts.map +0 -1
  102. package/dist/PheedLoopConnector.js +0 -429
  103. package/dist/PheedLoopConnector.js.map +0 -1
  104. package/dist/PropFuelConnector.d.ts +0 -153
  105. package/dist/PropFuelConnector.d.ts.map +0 -1
  106. package/dist/PropFuelConnector.js +0 -450
  107. package/dist/PropFuelConnector.js.map +0 -1
  108. package/dist/QuickBooksConnector.d.ts +0 -92
  109. package/dist/QuickBooksConnector.d.ts.map +0 -1
  110. package/dist/QuickBooksConnector.js +0 -713
  111. package/dist/QuickBooksConnector.js.map +0 -1
  112. package/dist/RasaConnector.d.ts +0 -152
  113. package/dist/RasaConnector.d.ts.map +0 -1
  114. package/dist/RasaConnector.js +0 -929
  115. package/dist/RasaConnector.js.map +0 -1
  116. package/dist/Reach360Connector.d.ts +0 -175
  117. package/dist/Reach360Connector.d.ts.map +0 -1
  118. package/dist/Reach360Connector.js +0 -796
  119. package/dist/Reach360Connector.js.map +0 -1
  120. package/dist/RelationalDBConnector.d.ts +0 -108
  121. package/dist/RelationalDBConnector.d.ts.map +0 -1
  122. package/dist/RelationalDBConnector.js +0 -228
  123. package/dist/RelationalDBConnector.js.map +0 -1
  124. package/dist/RhythmConnector.d.ts +0 -188
  125. package/dist/RhythmConnector.d.ts.map +0 -1
  126. package/dist/RhythmConnector.js +0 -784
  127. package/dist/RhythmConnector.js.map +0 -1
  128. package/dist/SageIntacctConnector.d.ts +0 -337
  129. package/dist/SageIntacctConnector.d.ts.map +0 -1
  130. package/dist/SageIntacctConnector.js +0 -2081
  131. package/dist/SageIntacctConnector.js.map +0 -1
  132. package/dist/SalesforceConnector.d.ts +0 -461
  133. package/dist/SalesforceConnector.d.ts.map +0 -1
  134. package/dist/SalesforceConnector.js +0 -1862
  135. package/dist/SalesforceConnector.js.map +0 -1
  136. package/dist/SharePointConnector.d.ts +0 -188
  137. package/dist/SharePointConnector.d.ts.map +0 -1
  138. package/dist/SharePointConnector.js +0 -716
  139. package/dist/SharePointConnector.js.map +0 -1
  140. package/dist/WicketConnector.d.ts +0 -252
  141. package/dist/WicketConnector.d.ts.map +0 -1
  142. package/dist/WicketConnector.js +0 -938
  143. package/dist/WicketConnector.js.map +0 -1
  144. package/dist/WildApricotConnector.d.ts +0 -201
  145. package/dist/WildApricotConnector.d.ts.map +0 -1
  146. package/dist/WildApricotConnector.js +0 -1129
  147. package/dist/WildApricotConnector.js.map +0 -1
  148. package/dist/YourMembershipConnector.d.ts +0 -349
  149. package/dist/YourMembershipConnector.d.ts.map +0 -1
  150. package/dist/YourMembershipConnector.js +0 -4062
  151. package/dist/YourMembershipConnector.js.map +0 -1
  152. package/dist/generate-integration-actions.d.ts +0 -23
  153. package/dist/generate-integration-actions.d.ts.map +0 -1
  154. package/dist/generate-integration-actions.js +0 -201
  155. package/dist/generate-integration-actions.js.map +0 -1
@@ -1,207 +0,0 @@
1
- import { type UserInfo } from '@memberjunction/core';
2
- import type { MJCompanyIntegrationEntity, MJIntegrationObjectEntity, MJIntegrationObjectFieldEntity } from '@memberjunction/core-entities';
3
- import { BaseRESTIntegrationConnector, type RESTAuthContext, type RESTResponse, type PaginationState, type PaginationType, type ConnectionTestResult, type FetchContext, type FetchBatchResult, type RateLimitPolicy } from '@memberjunction/integration-engine';
4
- /**
5
- * Per-connection configuration for the ORCID connector.
6
- *
7
- * The ORCID Public API has NO list-all-records endpoint — the iD universe is
8
- * not enumerable. Instead the universe is SCOPED PER CONNECTION via
9
- * CompanyIntegration.Configuration. At least one of `searchQuery` / `orcidIds`
10
- * must be provided.
11
- */
12
- export interface ORCIDConnectionConfig {
13
- /** OAuth2 client_credentials grant — client identifier. From the credential store. */
14
- ClientID?: string;
15
- /** OAuth2 client_credentials grant — client secret. From the credential store. */
16
- ClientSecret?: string;
17
- /** OAuth2 token endpoint. Defaults to the production/sandbox host based on UseSandbox. */
18
- TokenURL?: string;
19
- /** OAuth2 scope. Defaults to '/read-public'. */
20
- Scope?: string;
21
- /** When true, use the ORCID sandbox hosts (sandbox.orcid.org / pub.sandbox.orcid.org). */
22
- UseSandbox?: boolean;
23
- /**
24
- * Lucene query string for GET /search or /expanded-search resolving the iD universe at runtime.
25
- * Examples: 'affiliation-org-name:"Harvard University"', 'given-names:Albert family-name:Einstein'.
26
- */
27
- SearchQuery?: string;
28
- /** Whether to use /expanded-search instead of /search. Default: false (plain /search). */
29
- UseExpandedSearch?: boolean;
30
- /** Explicit list of ORCID iDs to sync directly (in addition to / instead of searchQuery). */
31
- OrcidIds?: string[];
32
- /**
33
- * Upper bound on the number of iDs resolved from a search per sync ("Goldilocks" — do NOT drain
34
- * the ~10k ORCID cap). Default: 1000. Explicit OrcidIds are always synced and are not bounded.
35
- */
36
- MaxSearchResults?: number;
37
- /** HTTP request timeout in milliseconds. Default: 30000. */
38
- RequestTimeoutMs?: number;
39
- /** Maximum retries for rate-limited / transient failures. Default: 4. */
40
- MaxRetries?: number;
41
- /** Minimum interval between outbound requests (ms). Default: 100 (~10 req/s, well under the 40/s burst cap). */
42
- MinRequestIntervalMs?: number;
43
- /**
44
- * Non-secret API host override (e.g. a local mock for replay testing). When unset, the
45
- * production/sandbox host is selected by UseSandbox. Same pattern as Path LMS / GrowthZone —
46
- * required for mock-floor e2e testability.
47
- */
48
- ApiBaseUrl?: string;
49
- }
50
- /**
51
- * Connector for the ORCID Public API v3.0 (read-only).
52
- *
53
- * Authenticates via OAuth2 2-legged client_credentials (scope `/read-public`)
54
- * to obtain a bearer token. ORCID is NOT enumerable — there is no
55
- * "list all records" endpoint — so every sync is SCOPED per connection via
56
- * `CompanyIntegration.Configuration` (`searchQuery` Lucene query and/or an
57
- * explicit `orcidIds` array). FetchChanges resolves the in-scope iD set, then
58
- * fetches `GET /{iD}/record` (root IO) or `GET /{iD}/<section>` (child IOs)
59
- * per resolved iD.
60
- *
61
- * Pull-only: SupportsCreate/Update/Delete are false (the Public API is
62
- * read-only; writes require the Member API which is out of scope). Incremental
63
- * sync narrows client-side on each section's `last-modified-date`; the
64
- * search-scoped universe has no cursor so it re-resolves each run and dedup
65
- * rides content-hash idempotency in the base ToExternalRecord path.
66
- *
67
- * Rides BaseRESTIntegrationConnector (JSON over HTTP via Accept:
68
- * application/json). The standard FetchChanges template-var mechanism resolves
69
- * child sections off ALREADY-SYNCED parent iDs; we override FetchChanges so the
70
- * ROOT (record) iD set is sourced from the Configuration universe rather than a
71
- * parent table, then delegate child sections to the same per-iD fan-out.
72
- */
73
- export declare class ORCIDConnector extends BaseRESTIntegrationConnector {
74
- /** Cached auth context (token + resolved host). Invalidated on token expiry or 401. */
75
- private authState;
76
- /** Timestamp of the last outbound request, used for throttling. */
77
- private lastRequestTime;
78
- get SupportsCreate(): boolean;
79
- get SupportsUpdate(): boolean;
80
- get SupportsDelete(): boolean;
81
- get IntegrationName(): string;
82
- /**
83
- * ORCID documents a 40 req/s burst ceiling (HTTP 503 over it) and a daily quota
84
- * (HTTP 429 with X-Rate-Limit-* + Retry-After). Run conservatively under the burst cap.
85
- */
86
- get RateLimitPolicy(): RateLimitPolicy | null;
87
- /** Parse ORCID's Retry-After (delta-seconds or HTTP-date) into milliseconds. */
88
- ExtractRetryAfterMs(error: unknown): number | undefined;
89
- /**
90
- * The search-scoped iD universe has no stable, monotonic ordering key — it is
91
- * re-resolved from the Lucene query each run (insert/delete-volatile), so keyset
92
- * resume is N/A. Dedup rides content-hash idempotency. Returns null for every object.
93
- */
94
- StableOrderingKey(_objectName: string): string | null;
95
- /**
96
- * Verifies connectivity by obtaining a client_credentials token, then issuing a
97
- * lightweight authenticated probe against a well-known public iD's /record.
98
- */
99
- TestConnection(companyIntegration: MJCompanyIntegrationEntity, contextUser: UserInfo): Promise<ConnectionTestResult>;
100
- /**
101
- * Fetches records for the given object, sourcing the iD universe from
102
- * CompanyIntegration.Configuration (search query and/or explicit list).
103
- *
104
- * - ROOT IO ('record'): fetch GET /{iD}/record for each resolved iD.
105
- * - CHILD section IOs ('works', 'employments', ...): fetch GET /{iD}/<section>
106
- * for each resolved iD and expand the group envelope into individual items.
107
- *
108
- * Incremental: for sections that carry `last-modified-date`, narrow client-side
109
- * to records strictly newer than ctx.WatermarkValue, and return the max-seen
110
- * watermark as NewWatermarkValue (persisted by the engine on full-batch success
111
- * only). The iD universe itself has no cursor (search is re-resolved each run);
112
- * dedup rides content-hash idempotency in ToExternalRecord.
113
- */
114
- FetchChanges(ctx: FetchContext): Promise<FetchBatchResult>;
115
- /**
116
- * Fetches the raw item array for a single iD + object. For the root record IO this is
117
- * a single-element array (the record itself); for a section it is the expanded group items.
118
- */
119
- private FetchForId;
120
- /**
121
- * Expands an ORCID activity-section group envelope into individual item objects.
122
- *
123
- * ORCID groups items under section-specific wrappers (e.g. works →
124
- * `group[].work-summary[]`, employments → `affiliation-group[].summaries[]`).
125
- * We walk the generic shape: any array whose elements carry a `put-code` is a
126
- * leaf item; we flatten all such arrays found anywhere in the envelope. Each
127
- * item is tagged with the parent `orcid-id` (the FK to record).
128
- */
129
- private expandSection;
130
- /**
131
- * Resolves the in-scope ORCID iD universe from CompanyIntegration.Configuration:
132
- * the explicit `orcidIds` list (always included) plus the result of running the
133
- * Lucene `searchQuery` against /search (or /expanded-search), bounded by
134
- * MaxSearchResults to avoid draining the ~10k cap. Returns a de-duplicated set.
135
- */
136
- private ResolveOrcidIdUniverse;
137
- /**
138
- * Runs the Lucene query against ORCID /search (or /expanded-search) with offset
139
- * pagination (start/rows), accumulating iDs up to maxResults ("Goldilocks" bound).
140
- * Search is unordered and may return duplicates across pages — de-duplicated by the caller.
141
- */
142
- private RunSearch;
143
- /** Normalizes a raw iD string to the canonical 0000-0000-0000-0000 form, or null if unusable. */
144
- private normalizeOrcidId;
145
- /**
146
- * Builds the ExternalRecord, preserving the FULL raw source record in Fields
147
- * (full-record pass-through) while flattening the declared scalar fields out of
148
- * ORCID's nested JSON via TransformRecord/applyTransformPreservingKeys. PK identity
149
- * (orcid-id for record, put-code for sections) drives the ExternalID; partial keys
150
- * fall back to the base content-hash identity.
151
- */
152
- private toRecord;
153
- /**
154
- * Per-record reshaping: ORCID returns deeply-nested JSON; pull the declared scalar
155
- * convenience fields up to the top level so the generated columns are populated, while
156
- * the full raw record (every nested blob) is preserved by applyTransformPreservingKeys.
157
- */
158
- protected TransformRecord(raw: Record<string, unknown>, obj: MJIntegrationObjectEntity, _fields: MJIntegrationObjectFieldEntity[]): Record<string, unknown>;
159
- /** Flattens the record IO's person/history-derived convenience scalars. */
160
- private flattenRecordScalars;
161
- /** ORCID scalar wrapper: { value: <x> } → <x>; otherwise returns the value as-is. */
162
- private valueOf;
163
- /** ORCID date wrapper: { value: <millis> } → ISO string; passthrough on already-scalar/empty. */
164
- private coerceDate;
165
- /** Extracts the last-modified-date millis from a record (for watermark comparison). */
166
- private extractLastModifiedMs;
167
- /** Pulls a millisecond epoch out of an ORCID timestamp wrapper or a scalar number/ISO string. */
168
- private extractMs;
169
- private asObject;
170
- private parseWatermark;
171
- protected Authenticate(companyIntegration: MJCompanyIntegrationEntity, contextUser: UserInfo): Promise<RESTAuthContext>;
172
- protected BuildHeaders(auth: RESTAuthContext): Record<string, string>;
173
- /** Not used by the overridden FetchChanges; retained for any base-pipeline callers (GetRecord). */
174
- protected NormalizeResponse(rawBody: unknown, responseDataKey: string | null): Record<string, unknown>[];
175
- /** ORCID per-iD endpoints are not paginated — every object declares PaginationType=None. */
176
- protected ExtractPaginationInfo(_rawBody: unknown, _paginationType: PaginationType, currentPage: number, currentOffset: number, _pageSize: number): PaginationState;
177
- protected GetBaseURL(_companyIntegration: MJCompanyIntegrationEntity, auth: RESTAuthContext): string;
178
- private isTokenValid;
179
- /**
180
- * Exchanges the client_credentials grant for a bearer token at the ORCID token
181
- * endpoint. POST form: grant_type=client_credentials, client_id, client_secret,
182
- * scope=/read-public.
183
- */
184
- private obtainAccessToken;
185
- protected MakeHTTPRequest(auth: RESTAuthContext, url: string, method: string, headers: Record<string, string>, body?: unknown): Promise<RESTResponse>;
186
- /** Single fetch() with an AbortController-backed timeout. */
187
- private doFetch;
188
- private safeParseJSON;
189
- private isRetryableError;
190
- private backoffMs;
191
- private backoffFromResponse;
192
- private throttle;
193
- private sleep;
194
- /**
195
- * Resolves the connection config: OAuth2 secrets (ClientID/ClientSecret/TokenURL/Scope) from the
196
- * credential store; the iD-universe scope (searchQuery/orcidIds) + host selection (useSandbox)
197
- * from CompanyIntegration.Configuration. Secrets are NEVER baked into code.
198
- */
199
- private parseConfig;
200
- /** Parses the non-secret scope/host config from CompanyIntegration.Configuration JSON. */
201
- private parseConfigurationJson;
202
- /** Loads OAuth2 secrets from the MJ credential store (generic OAuth2 client-credentials schema). */
203
- private loadFromCredential;
204
- }
205
- /** Tree-shaking prevention function — import and call from the module entry point. */
206
- export declare function LoadORCIDConnector(): void;
207
- //# sourceMappingURL=ORCIDConnector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ORCIDConnector.d.ts","sourceRoot":"","sources":["../src/ORCIDConnector.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,KAAK,EAAE,0BAA0B,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/J,OAAO,EAEH,4BAA4B,EAC5B,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAGrB,KAAK,eAAe,EACvB,MAAM,oCAAoC,CAAC;AAI5C;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IAClC,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gHAAgH;IAChH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAsDD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBACa,cAAe,SAAQ,4BAA4B;IAE5D,uFAAuF;IACvF,OAAO,CAAC,SAAS,CAAiC;IAClD,mEAAmE;IACnE,OAAO,CAAC,eAAe,CAAK;IAI5B,IAAoB,cAAc,IAAI,OAAO,CAAkB;IAC/D,IAAoB,cAAc,IAAI,OAAO,CAAkB;IAC/D,IAAoB,cAAc,IAAI,OAAO,CAAkB;IAE/D,IAAoB,eAAe,IAAI,MAAM,CAAoB;IAIjE;;;OAGG;IACH,IAAoB,eAAe,IAAI,eAAe,GAAG,IAAI,CAE5D;IAED,gFAAgF;IAChE,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAevE;;;;OAIG;IACa,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIrE;;;OAGG;IACU,cAAc,CACvB,kBAAkB,EAAE,0BAA0B,EAC9C,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,oBAAoB,CAAC;IA2BhC;;;;;;;;;;;;;OAaG;IACmB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2ChF;;;OAGG;YACW,UAAU;IA+BxB;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAsBrB;;;;;OAKG;YACW,sBAAsB;IAqBpC;;;;OAIG;YACW,SAAS;IA8BvB,iGAAiG;IACjG,OAAO,CAAC,gBAAgB;IAWxB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAmBhB;;;;OAIG;cACgB,eAAe,CAC9B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,yBAAyB,EAC9B,OAAO,EAAE,8BAA8B,EAAE,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAa1B,2EAA2E;IAC3E,OAAO,CAAC,oBAAoB;IA+B5B,qFAAqF;IACrF,OAAO,CAAC,OAAO;IAMf,iGAAiG;IACjG,OAAO,CAAC,UAAU;IAMlB,uFAAuF;IACvF,OAAO,CAAC,qBAAqB;IAI7B,iGAAiG;IACjG,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,cAAc;cAQN,YAAY,CACxB,kBAAkB,EAAE,0BAA0B,EAC9C,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,eAAe,CAAC;IAgB3B,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQrE,mGAAmG;IACnG,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAcxG,4FAA4F;IAC5F,SAAS,CAAC,qBAAqB,CAC3B,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,cAAc,EAC/B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAClB,eAAe;IAIlB,SAAS,CAAC,UAAU,CAChB,mBAAmB,EAAE,0BAA0B,EAC/C,IAAI,EAAE,eAAe,GACtB,MAAM;IAMT,OAAO,CAAC,YAAY;IAIpB;;;;OAIG;YACW,iBAAiB;cAgCf,eAAe,CAC3B,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC;IA0CxB,6DAA6D;YAC/C,OAAO;IA0BrB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,mBAAmB;YAMb,QAAQ;IAKtB,OAAO,CAAC,KAAK;IAMb;;;;OAIG;YACW,WAAW;IA+BzB,0FAA0F;IAC1F,OAAO,CAAC,sBAAsB;IAgC9B,oGAAoG;YACtF,kBAAkB;CA6BnC;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,IAAI,IAAI,CAAgB"}