@fideliosai/shared 2026.331.0-canary.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.
Files changed (230) hide show
  1. package/LICENSE +22 -0
  2. package/dist/agent-url-key.d.ts +4 -0
  3. package/dist/agent-url-key.d.ts.map +1 -0
  4. package/dist/agent-url-key.js +22 -0
  5. package/dist/agent-url-key.js.map +1 -0
  6. package/dist/api.d.ts +20 -0
  7. package/dist/api.d.ts.map +1 -0
  8. package/dist/api.js +20 -0
  9. package/dist/api.js.map +1 -0
  10. package/dist/config-schema.d.ts +905 -0
  11. package/dist/config-schema.d.ts.map +1 -0
  12. package/dist/config-schema.js +159 -0
  13. package/dist/config-schema.js.map +1 -0
  14. package/dist/constants.d.ts +224 -0
  15. package/dist/constants.d.ts.map +1 -0
  16. package/dist/constants.js +553 -0
  17. package/dist/constants.js.map +1 -0
  18. package/dist/index.d.ts +10 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +9 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/project-mentions.d.ts +17 -0
  23. package/dist/project-mentions.d.ts.map +1 -0
  24. package/dist/project-mentions.js +123 -0
  25. package/dist/project-mentions.js.map +1 -0
  26. package/dist/project-mentions.test.d.ts +2 -0
  27. package/dist/project-mentions.test.d.ts.map +1 -0
  28. package/dist/project-mentions.test.js +21 -0
  29. package/dist/project-mentions.test.js.map +1 -0
  30. package/dist/project-url-key.d.ts +3 -0
  31. package/dist/project-url-key.d.ts.map +1 -0
  32. package/dist/project-url-key.js +16 -0
  33. package/dist/project-url-key.js.map +1 -0
  34. package/dist/types/access.d.ts +67 -0
  35. package/dist/types/access.d.ts.map +1 -0
  36. package/dist/types/access.js +2 -0
  37. package/dist/types/access.js.map +1 -0
  38. package/dist/types/activity.d.ts +14 -0
  39. package/dist/types/activity.d.ts.map +1 -0
  40. package/dist/types/activity.js +2 -0
  41. package/dist/types/activity.js.map +1 -0
  42. package/dist/types/adapter-skills.d.ts +31 -0
  43. package/dist/types/adapter-skills.d.ts.map +1 -0
  44. package/dist/types/adapter-skills.js +2 -0
  45. package/dist/types/adapter-skills.js.map +1 -0
  46. package/dist/types/agent.d.ts +108 -0
  47. package/dist/types/agent.d.ts.map +1 -0
  48. package/dist/types/agent.js +2 -0
  49. package/dist/types/agent.js.map +1 -0
  50. package/dist/types/approval.d.ts +26 -0
  51. package/dist/types/approval.d.ts.map +1 -0
  52. package/dist/types/approval.js +2 -0
  53. package/dist/types/approval.js.map +1 -0
  54. package/dist/types/asset.d.ts +16 -0
  55. package/dist/types/asset.d.ts.map +1 -0
  56. package/dist/types/asset.js +2 -0
  57. package/dist/types/asset.js.map +1 -0
  58. package/dist/types/budget.d.ts +86 -0
  59. package/dist/types/budget.d.ts.map +1 -0
  60. package/dist/types/budget.js +2 -0
  61. package/dist/types/budget.js.map +1 -0
  62. package/dist/types/company-portability.d.ts +276 -0
  63. package/dist/types/company-portability.d.ts.map +1 -0
  64. package/dist/types/company-portability.js +2 -0
  65. package/dist/types/company-portability.js.map +1 -0
  66. package/dist/types/company-skill.d.ts +135 -0
  67. package/dist/types/company-skill.d.ts.map +1 -0
  68. package/dist/types/company-skill.js +2 -0
  69. package/dist/types/company-skill.js.map +1 -0
  70. package/dist/types/company.d.ts +20 -0
  71. package/dist/types/company.d.ts.map +1 -0
  72. package/dist/types/company.js +2 -0
  73. package/dist/types/company.js.map +1 -0
  74. package/dist/types/cost.d.ts +106 -0
  75. package/dist/types/cost.d.ts.map +1 -0
  76. package/dist/types/cost.js +2 -0
  77. package/dist/types/cost.js.map +1 -0
  78. package/dist/types/dashboard.d.ts +28 -0
  79. package/dist/types/dashboard.d.ts.map +1 -0
  80. package/dist/types/dashboard.js +2 -0
  81. package/dist/types/dashboard.js.map +1 -0
  82. package/dist/types/finance.d.ts +57 -0
  83. package/dist/types/finance.d.ts.map +1 -0
  84. package/dist/types/finance.js +2 -0
  85. package/dist/types/finance.js.map +1 -0
  86. package/dist/types/goal.d.ts +14 -0
  87. package/dist/types/goal.d.ts.map +1 -0
  88. package/dist/types/goal.js +2 -0
  89. package/dist/types/goal.js.map +1 -0
  90. package/dist/types/heartbeat.d.ts +118 -0
  91. package/dist/types/heartbeat.d.ts.map +1 -0
  92. package/dist/types/heartbeat.js +2 -0
  93. package/dist/types/heartbeat.js.map +1 -0
  94. package/dist/types/index.d.ts +28 -0
  95. package/dist/types/index.d.ts.map +1 -0
  96. package/dist/types/index.js +2 -0
  97. package/dist/types/index.js.map +1 -0
  98. package/dist/types/instance.d.ts +15 -0
  99. package/dist/types/instance.d.ts.map +1 -0
  100. package/dist/types/instance.js +2 -0
  101. package/dist/types/instance.js.map +1 -0
  102. package/dist/types/issue.d.ts +165 -0
  103. package/dist/types/issue.d.ts.map +1 -0
  104. package/dist/types/issue.js +2 -0
  105. package/dist/types/issue.js.map +1 -0
  106. package/dist/types/live.d.ts +9 -0
  107. package/dist/types/live.d.ts.map +1 -0
  108. package/dist/types/live.js +2 -0
  109. package/dist/types/live.js.map +1 -0
  110. package/dist/types/plugin.d.ts +419 -0
  111. package/dist/types/plugin.d.ts.map +1 -0
  112. package/dist/types/plugin.js +2 -0
  113. package/dist/types/plugin.js.map +1 -0
  114. package/dist/types/project.d.ts +67 -0
  115. package/dist/types/project.d.ts.map +1 -0
  116. package/dist/types/project.js +2 -0
  117. package/dist/types/project.js.map +1 -0
  118. package/dist/types/quota.d.ts +26 -0
  119. package/dist/types/quota.d.ts.map +1 -0
  120. package/dist/types/quota.js +2 -0
  121. package/dist/types/quota.js.map +1 -0
  122. package/dist/types/routine.d.ts +113 -0
  123. package/dist/types/routine.d.ts.map +1 -0
  124. package/dist/types/routine.js +2 -0
  125. package/dist/types/routine.js.map +1 -0
  126. package/dist/types/secrets.d.ts +32 -0
  127. package/dist/types/secrets.d.ts.map +1 -0
  128. package/dist/types/secrets.js +2 -0
  129. package/dist/types/secrets.js.map +1 -0
  130. package/dist/types/sidebar-badges.d.ts +7 -0
  131. package/dist/types/sidebar-badges.d.ts.map +1 -0
  132. package/dist/types/sidebar-badges.js +2 -0
  133. package/dist/types/sidebar-badges.js.map +1 -0
  134. package/dist/types/work-product.d.ts +27 -0
  135. package/dist/types/work-product.d.ts.map +1 -0
  136. package/dist/types/work-product.js +2 -0
  137. package/dist/types/work-product.js.map +1 -0
  138. package/dist/types/workspace-operation.d.ts +26 -0
  139. package/dist/types/workspace-operation.d.ts.map +1 -0
  140. package/dist/types/workspace-operation.js +2 -0
  141. package/dist/types/workspace-operation.js.map +1 -0
  142. package/dist/types/workspace-runtime.d.ts +86 -0
  143. package/dist/types/workspace-runtime.d.ts.map +1 -0
  144. package/dist/types/workspace-runtime.js +2 -0
  145. package/dist/types/workspace-runtime.js.map +1 -0
  146. package/dist/validators/access.d.ts +136 -0
  147. package/dist/validators/access.d.ts.map +1 -0
  148. package/dist/validators/access.js +53 -0
  149. package/dist/validators/access.js.map +1 -0
  150. package/dist/validators/adapter-skills.d.ts +156 -0
  151. package/dist/validators/adapter-skills.d.ts.map +1 -0
  152. package/dist/validators/adapter-skills.js +48 -0
  153. package/dist/validators/adapter-skills.js.map +1 -0
  154. package/dist/validators/agent.d.ts +279 -0
  155. package/dist/validators/agent.d.ts.map +1 -0
  156. package/dist/validators/agent.js +85 -0
  157. package/dist/validators/agent.js.map +1 -0
  158. package/dist/validators/approval.d.ts +57 -0
  159. package/dist/validators/approval.d.ts.map +1 -0
  160. package/dist/validators/approval.js +23 -0
  161. package/dist/validators/approval.js.map +1 -0
  162. package/dist/validators/asset.d.ts +10 -0
  163. package/dist/validators/asset.d.ts.map +1 -0
  164. package/dist/validators/asset.js +11 -0
  165. package/dist/validators/asset.js.map +1 -0
  166. package/dist/validators/budget.d.ts +56 -0
  167. package/dist/validators/budget.d.ts.map +1 -0
  168. package/dist/validators/budget.js +27 -0
  169. package/dist/validators/budget.js.map +1 -0
  170. package/dist/validators/company-portability.d.ts +1656 -0
  171. package/dist/validators/company-portability.d.ts.map +1 -0
  172. package/dist/validators/company-portability.js +211 -0
  173. package/dist/validators/company-portability.js.map +1 -0
  174. package/dist/validators/company-skill.d.ts +797 -0
  175. package/dist/validators/company-skill.d.ts.map +1 -0
  176. package/dist/validators/company-skill.js +116 -0
  177. package/dist/validators/company-skill.js.map +1 -0
  178. package/dist/validators/company.d.ts +73 -0
  179. package/dist/validators/company.d.ts.map +1 -0
  180. package/dist/validators/company.js +31 -0
  181. package/dist/validators/company.js.map +1 -0
  182. package/dist/validators/cost.d.ts +92 -0
  183. package/dist/validators/cost.d.ts.map +1 -0
  184. package/dist/validators/cost.js +26 -0
  185. package/dist/validators/cost.js.map +1 -0
  186. package/dist/validators/execution-workspace.d.ts +20 -0
  187. package/dist/validators/execution-workspace.d.ts.map +1 -0
  188. package/dist/validators/execution-workspace.js +15 -0
  189. package/dist/validators/execution-workspace.js.map +1 -0
  190. package/dist/validators/finance.d.ts +129 -0
  191. package/dist/validators/finance.d.ts.map +1 -0
  192. package/dist/validators/finance.js +32 -0
  193. package/dist/validators/finance.js.map +1 -0
  194. package/dist/validators/goal.d.ts +48 -0
  195. package/dist/validators/goal.d.ts.map +1 -0
  196. package/dist/validators/goal.js +12 -0
  197. package/dist/validators/goal.js.map +1 -0
  198. package/dist/validators/index.d.ts +21 -0
  199. package/dist/validators/index.d.ts.map +1 -0
  200. package/dist/validators/index.js +21 -0
  201. package/dist/validators/index.js.map +1 -0
  202. package/dist/validators/instance.d.ts +40 -0
  203. package/dist/validators/instance.d.ts.map +1 -0
  204. package/dist/validators/instance.js +11 -0
  205. package/dist/validators/instance.js.map +1 -0
  206. package/dist/validators/issue.d.ts +427 -0
  207. package/dist/validators/issue.d.ts.map +1 -0
  208. package/dist/validators/issue.js +91 -0
  209. package/dist/validators/issue.js.map +1 -0
  210. package/dist/validators/plugin.d.ts +1173 -0
  211. package/dist/validators/plugin.d.ts.map +1 -0
  212. package/dist/validators/plugin.js +547 -0
  213. package/dist/validators/plugin.js.map +1 -0
  214. package/dist/validators/project.d.ts +583 -0
  215. package/dist/validators/project.d.ts.map +1 -0
  216. package/dist/validators/project.js +93 -0
  217. package/dist/validators/project.js.map +1 -0
  218. package/dist/validators/routine.d.ts +167 -0
  219. package/dist/validators/routine.d.ts.map +1 -0
  220. package/dist/validators/routine.js +50 -0
  221. package/dist/validators/routine.js.map +1 -0
  222. package/dist/validators/secret.d.ts +114 -0
  223. package/dist/validators/secret.d.ts.map +1 -0
  224. package/dist/validators/secret.js +35 -0
  225. package/dist/validators/secret.js.map +1 -0
  226. package/dist/validators/work-product.d.ts +105 -0
  227. package/dist/validators/work-product.d.ts.map +1 -0
  228. package/dist/validators/work-product.js +46 -0
  229. package/dist/validators/work-product.js.map +1 -0
  230. package/package.json +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/validators/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,547 @@
1
+ import { z } from "zod";
2
+ import { PLUGIN_STATUSES, PLUGIN_CATEGORIES, PLUGIN_CAPABILITIES, PLUGIN_UI_SLOT_TYPES, PLUGIN_UI_SLOT_ENTITY_TYPES, PLUGIN_RESERVED_COMPANY_ROUTE_SEGMENTS, PLUGIN_LAUNCHER_PLACEMENT_ZONES, PLUGIN_LAUNCHER_ACTIONS, PLUGIN_LAUNCHER_BOUNDS, PLUGIN_LAUNCHER_RENDER_ENVIRONMENTS, PLUGIN_STATE_SCOPE_KINDS, } from "../constants.js";
3
+ // ---------------------------------------------------------------------------
4
+ // JSON Schema placeholder – a permissive validator for JSON Schema objects
5
+ // ---------------------------------------------------------------------------
6
+ /**
7
+ * Permissive validator for JSON Schema objects. Accepts any `Record<string, unknown>`
8
+ * that contains at least a `type`, `$ref`, or composition keyword (`oneOf`/`anyOf`/`allOf`).
9
+ * Empty objects are also accepted.
10
+ *
11
+ * Used to validate `instanceConfigSchema` and `parametersSchema` fields in the
12
+ * plugin manifest without fully parsing JSON Schema.
13
+ *
14
+ * @see PLUGIN_SPEC.md §10.1 — Manifest shape
15
+ */
16
+ export const jsonSchemaSchema = z.record(z.unknown()).refine((val) => {
17
+ // Must have a "type" field if non-empty, or be a valid JSON Schema object
18
+ if (Object.keys(val).length === 0)
19
+ return true;
20
+ return typeof val.type === "string" || val.$ref !== undefined || val.oneOf !== undefined || val.anyOf !== undefined || val.allOf !== undefined;
21
+ }, { message: "Must be a valid JSON Schema object (requires at least a 'type', '$ref', or composition keyword)" });
22
+ // ---------------------------------------------------------------------------
23
+ // Manifest sub-type schemas
24
+ // ---------------------------------------------------------------------------
25
+ /**
26
+ * Validates a {@link PluginJobDeclaration} — a scheduled job declared in the
27
+ * plugin manifest. Requires `jobKey` and `displayName`; `description` and
28
+ * `schedule` (cron expression) are optional.
29
+ *
30
+ * @see PLUGIN_SPEC.md §17 — Scheduled Jobs
31
+ */
32
+ /**
33
+ * Validates a cron expression has exactly 5 whitespace-separated fields,
34
+ * each containing only valid cron characters (digits, *, /, -, ,).
35
+ *
36
+ * Valid tokens per field: *, N, N-M, N/S, * /S, N-M/S, and comma-separated lists.
37
+ */
38
+ const CRON_FIELD_PATTERN = /^(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?)(?:,(\*(?:\/[0-9]+)?|[0-9]+(?:-[0-9]+)?(?:\/[0-9]+)?))*$/;
39
+ function isValidCronExpression(expression) {
40
+ const trimmed = expression.trim();
41
+ if (!trimmed)
42
+ return false;
43
+ const fields = trimmed.split(/\s+/);
44
+ if (fields.length !== 5)
45
+ return false;
46
+ return fields.every((f) => CRON_FIELD_PATTERN.test(f));
47
+ }
48
+ export const pluginJobDeclarationSchema = z.object({
49
+ jobKey: z.string().min(1),
50
+ displayName: z.string().min(1),
51
+ description: z.string().optional(),
52
+ schedule: z.string().refine((val) => isValidCronExpression(val), { message: "schedule must be a valid 5-field cron expression (e.g. '*/15 * * * *')" }).optional(),
53
+ });
54
+ /**
55
+ * Validates a {@link PluginWebhookDeclaration} — a webhook endpoint declared
56
+ * in the plugin manifest. Requires `endpointKey` and `displayName`.
57
+ *
58
+ * @see PLUGIN_SPEC.md §18 — Webhooks
59
+ */
60
+ export const pluginWebhookDeclarationSchema = z.object({
61
+ endpointKey: z.string().min(1),
62
+ displayName: z.string().min(1),
63
+ description: z.string().optional(),
64
+ });
65
+ /**
66
+ * Validates a {@link PluginToolDeclaration} — an agent tool contributed by the
67
+ * plugin. Requires `name`, `displayName`, `description`, and a valid
68
+ * `parametersSchema`. Requires the `agent.tools.register` capability.
69
+ *
70
+ * @see PLUGIN_SPEC.md §11 — Agent Tools
71
+ */
72
+ export const pluginToolDeclarationSchema = z.object({
73
+ name: z.string().min(1),
74
+ displayName: z.string().min(1),
75
+ description: z.string().min(1),
76
+ parametersSchema: jsonSchemaSchema,
77
+ });
78
+ /**
79
+ * Validates a {@link PluginUiSlotDeclaration} — a UI extension slot the plugin
80
+ * fills with a React component. Includes `superRefine` checks for slot-specific
81
+ * requirements such as `entityTypes` for context-sensitive slots.
82
+ *
83
+ * @see PLUGIN_SPEC.md §19 — UI Extension Model
84
+ */
85
+ export const pluginUiSlotDeclarationSchema = z.object({
86
+ type: z.enum(PLUGIN_UI_SLOT_TYPES),
87
+ id: z.string().min(1),
88
+ displayName: z.string().min(1),
89
+ exportName: z.string().min(1),
90
+ entityTypes: z.array(z.enum(PLUGIN_UI_SLOT_ENTITY_TYPES)).optional(),
91
+ routePath: z.string().regex(/^[a-z0-9][a-z0-9-]*$/, {
92
+ message: "routePath must be a lowercase single-segment slug (letters, numbers, hyphens)",
93
+ }).optional(),
94
+ order: z.number().int().optional(),
95
+ }).superRefine((value, ctx) => {
96
+ // context-sensitive slots require explicit entity targeting.
97
+ const entityScopedTypes = ["detailTab", "taskDetailView", "contextMenuItem", "commentAnnotation", "commentContextMenuItem", "projectSidebarItem"];
98
+ if (entityScopedTypes.includes(value.type)
99
+ && (!value.entityTypes || value.entityTypes.length === 0)) {
100
+ ctx.addIssue({
101
+ code: z.ZodIssueCode.custom,
102
+ message: `${value.type} slots require at least one entityType`,
103
+ path: ["entityTypes"],
104
+ });
105
+ }
106
+ // projectSidebarItem only makes sense for entityType "project".
107
+ if (value.type === "projectSidebarItem" && value.entityTypes && !value.entityTypes.includes("project")) {
108
+ ctx.addIssue({
109
+ code: z.ZodIssueCode.custom,
110
+ message: "projectSidebarItem slots require entityTypes to include \"project\"",
111
+ path: ["entityTypes"],
112
+ });
113
+ }
114
+ // commentAnnotation only makes sense for entityType "comment".
115
+ if (value.type === "commentAnnotation" && value.entityTypes && !value.entityTypes.includes("comment")) {
116
+ ctx.addIssue({
117
+ code: z.ZodIssueCode.custom,
118
+ message: "commentAnnotation slots require entityTypes to include \"comment\"",
119
+ path: ["entityTypes"],
120
+ });
121
+ }
122
+ // commentContextMenuItem only makes sense for entityType "comment".
123
+ if (value.type === "commentContextMenuItem" && value.entityTypes && !value.entityTypes.includes("comment")) {
124
+ ctx.addIssue({
125
+ code: z.ZodIssueCode.custom,
126
+ message: "commentContextMenuItem slots require entityTypes to include \"comment\"",
127
+ path: ["entityTypes"],
128
+ });
129
+ }
130
+ if (value.routePath && value.type !== "page") {
131
+ ctx.addIssue({
132
+ code: z.ZodIssueCode.custom,
133
+ message: "routePath is only supported for page slots",
134
+ path: ["routePath"],
135
+ });
136
+ }
137
+ if (value.routePath && PLUGIN_RESERVED_COMPANY_ROUTE_SEGMENTS.includes(value.routePath)) {
138
+ ctx.addIssue({
139
+ code: z.ZodIssueCode.custom,
140
+ message: `routePath "${value.routePath}" is reserved by the host`,
141
+ path: ["routePath"],
142
+ });
143
+ }
144
+ });
145
+ const entityScopedLauncherPlacementZones = [
146
+ "detailTab",
147
+ "taskDetailView",
148
+ "contextMenuItem",
149
+ "commentAnnotation",
150
+ "commentContextMenuItem",
151
+ "projectSidebarItem",
152
+ ];
153
+ const launcherBoundsByEnvironment = {
154
+ hostInline: ["inline", "compact", "default"],
155
+ hostOverlay: ["compact", "default", "wide", "full"],
156
+ hostRoute: ["default", "wide", "full"],
157
+ external: [],
158
+ iframe: ["compact", "default", "wide", "full"],
159
+ };
160
+ /**
161
+ * Validates the action payload for a declarative plugin launcher.
162
+ */
163
+ export const pluginLauncherActionDeclarationSchema = z.object({
164
+ type: z.enum(PLUGIN_LAUNCHER_ACTIONS),
165
+ target: z.string().min(1),
166
+ params: z.record(z.unknown()).optional(),
167
+ }).superRefine((value, ctx) => {
168
+ if (value.type === "performAction" && value.target.includes("/")) {
169
+ ctx.addIssue({
170
+ code: z.ZodIssueCode.custom,
171
+ message: "performAction launchers must target an action key, not a route or URL",
172
+ path: ["target"],
173
+ });
174
+ }
175
+ if (value.type === "navigate" && /^https?:\/\//.test(value.target)) {
176
+ ctx.addIssue({
177
+ code: z.ZodIssueCode.custom,
178
+ message: "navigate launchers must target a host route, not an absolute URL",
179
+ path: ["target"],
180
+ });
181
+ }
182
+ });
183
+ /**
184
+ * Validates optional render hints for a plugin launcher destination.
185
+ */
186
+ export const pluginLauncherRenderDeclarationSchema = z.object({
187
+ environment: z.enum(PLUGIN_LAUNCHER_RENDER_ENVIRONMENTS),
188
+ bounds: z.enum(PLUGIN_LAUNCHER_BOUNDS).optional(),
189
+ }).superRefine((value, ctx) => {
190
+ if (!value.bounds) {
191
+ return;
192
+ }
193
+ const supportedBounds = launcherBoundsByEnvironment[value.environment];
194
+ if (!supportedBounds.includes(value.bounds)) {
195
+ ctx.addIssue({
196
+ code: z.ZodIssueCode.custom,
197
+ message: `bounds "${value.bounds}" is not supported for render environment "${value.environment}"`,
198
+ path: ["bounds"],
199
+ });
200
+ }
201
+ });
202
+ /**
203
+ * Validates declarative launcher metadata in a plugin manifest.
204
+ */
205
+ export const pluginLauncherDeclarationSchema = z.object({
206
+ id: z.string().min(1),
207
+ displayName: z.string().min(1),
208
+ description: z.string().optional(),
209
+ placementZone: z.enum(PLUGIN_LAUNCHER_PLACEMENT_ZONES),
210
+ exportName: z.string().min(1).optional(),
211
+ entityTypes: z.array(z.enum(PLUGIN_UI_SLOT_ENTITY_TYPES)).optional(),
212
+ order: z.number().int().optional(),
213
+ action: pluginLauncherActionDeclarationSchema,
214
+ render: pluginLauncherRenderDeclarationSchema.optional(),
215
+ }).superRefine((value, ctx) => {
216
+ if (entityScopedLauncherPlacementZones.some((zone) => zone === value.placementZone)
217
+ && (!value.entityTypes || value.entityTypes.length === 0)) {
218
+ ctx.addIssue({
219
+ code: z.ZodIssueCode.custom,
220
+ message: `${value.placementZone} launchers require at least one entityType`,
221
+ path: ["entityTypes"],
222
+ });
223
+ }
224
+ if (value.placementZone === "projectSidebarItem"
225
+ && value.entityTypes
226
+ && !value.entityTypes.includes("project")) {
227
+ ctx.addIssue({
228
+ code: z.ZodIssueCode.custom,
229
+ message: "projectSidebarItem launchers require entityTypes to include \"project\"",
230
+ path: ["entityTypes"],
231
+ });
232
+ }
233
+ if (value.action.type === "performAction" && value.render) {
234
+ ctx.addIssue({
235
+ code: z.ZodIssueCode.custom,
236
+ message: "performAction launchers cannot declare render hints",
237
+ path: ["render"],
238
+ });
239
+ }
240
+ if (["openModal", "openDrawer", "openPopover"].includes(value.action.type)
241
+ && !value.render) {
242
+ ctx.addIssue({
243
+ code: z.ZodIssueCode.custom,
244
+ message: `${value.action.type} launchers require render metadata`,
245
+ path: ["render"],
246
+ });
247
+ }
248
+ if (value.action.type === "openModal" && value.render?.environment === "hostInline") {
249
+ ctx.addIssue({
250
+ code: z.ZodIssueCode.custom,
251
+ message: "openModal launchers cannot use the hostInline render environment",
252
+ path: ["render", "environment"],
253
+ });
254
+ }
255
+ if (value.action.type === "openDrawer"
256
+ && value.render
257
+ && !["hostOverlay", "iframe"].includes(value.render.environment)) {
258
+ ctx.addIssue({
259
+ code: z.ZodIssueCode.custom,
260
+ message: "openDrawer launchers must use hostOverlay or iframe render environments",
261
+ path: ["render", "environment"],
262
+ });
263
+ }
264
+ if (value.action.type === "openPopover" && value.render?.environment === "hostRoute") {
265
+ ctx.addIssue({
266
+ code: z.ZodIssueCode.custom,
267
+ message: "openPopover launchers cannot use the hostRoute render environment",
268
+ path: ["render", "environment"],
269
+ });
270
+ }
271
+ });
272
+ // ---------------------------------------------------------------------------
273
+ // Plugin Manifest V1 schema
274
+ // ---------------------------------------------------------------------------
275
+ /**
276
+ * Zod schema for {@link FideliOSPluginManifestV1} — the complete runtime
277
+ * validator for plugin manifests read at install time.
278
+ *
279
+ * Field-level constraints (see PLUGIN_SPEC.md §10.1 for the normative rules):
280
+ *
281
+ * | Field | Type | Constraints |
282
+ * |--------------------------|------------|----------------------------------------------|
283
+ * | `id` | string | `^[a-z0-9][a-z0-9._-]*$` |
284
+ * | `apiVersion` | literal 1 | must equal `PLUGIN_API_VERSION` |
285
+ * | `version` | string | semver (`\d+\.\d+\.\d+`) |
286
+ * | `displayName` | string | 1–100 chars |
287
+ * | `description` | string | 1–500 chars |
288
+ * | `author` | string | 1–200 chars |
289
+ * | `categories` | enum[] | at least one; values from PLUGIN_CATEGORIES |
290
+ * | `minimumHostVersion` | string? | semver lower bound if present, no leading `v`|
291
+ * | `minimumFideliOSVersion`| string? | legacy alias of `minimumHostVersion` |
292
+ * | `capabilities` | enum[] | at least one; values from PLUGIN_CAPABILITIES|
293
+ * | `entrypoints.worker` | string | min 1 char |
294
+ * | `entrypoints.ui` | string? | required when `ui.slots` is declared |
295
+ *
296
+ * Cross-field rules enforced via `superRefine`:
297
+ * - `entrypoints.ui` required when `ui.slots` declared
298
+ * - `agent.tools.register` capability required when `tools` declared
299
+ * - `jobs.schedule` capability required when `jobs` declared
300
+ * - `webhooks.receive` capability required when `webhooks` declared
301
+ * - duplicate `jobs[].jobKey` values are rejected
302
+ * - duplicate `webhooks[].endpointKey` values are rejected
303
+ * - duplicate `tools[].name` values are rejected
304
+ * - duplicate `ui.slots[].id` values are rejected
305
+ *
306
+ * @see PLUGIN_SPEC.md §10.1 — Manifest shape
307
+ * @see {@link FideliOSPluginManifestV1} — the inferred TypeScript type
308
+ */
309
+ export const pluginManifestV1Schema = z.object({
310
+ id: z.string().min(1).regex(/^[a-z0-9][a-z0-9._-]*$/, "Plugin id must start with a lowercase alphanumeric and contain only lowercase letters, digits, dots, hyphens, or underscores"),
311
+ apiVersion: z.literal(1),
312
+ version: z.string().min(1).regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "Version must follow semver (e.g. 1.0.0 or 1.0.0-beta.1)"),
313
+ displayName: z.string().min(1).max(100),
314
+ description: z.string().min(1).max(500),
315
+ author: z.string().min(1).max(200),
316
+ categories: z.array(z.enum(PLUGIN_CATEGORIES)).min(1),
317
+ minimumHostVersion: z.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "minimumHostVersion must follow semver (e.g. 1.0.0)").optional(),
318
+ minimumFideliOSVersion: z.string().regex(/^\d+\.\d+\.\d+(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$/, "minimumFideliOSVersion must follow semver (e.g. 1.0.0)").optional(),
319
+ capabilities: z.array(z.enum(PLUGIN_CAPABILITIES)).min(1),
320
+ entrypoints: z.object({
321
+ worker: z.string().min(1),
322
+ ui: z.string().min(1).optional(),
323
+ }),
324
+ instanceConfigSchema: jsonSchemaSchema.optional(),
325
+ jobs: z.array(pluginJobDeclarationSchema).optional(),
326
+ webhooks: z.array(pluginWebhookDeclarationSchema).optional(),
327
+ tools: z.array(pluginToolDeclarationSchema).optional(),
328
+ launchers: z.array(pluginLauncherDeclarationSchema).optional(),
329
+ ui: z.object({
330
+ slots: z.array(pluginUiSlotDeclarationSchema).min(1).optional(),
331
+ launchers: z.array(pluginLauncherDeclarationSchema).optional(),
332
+ }).optional(),
333
+ }).superRefine((manifest, ctx) => {
334
+ // ── Entrypoint ↔ UI slot consistency ──────────────────────────────────
335
+ // Plugins that declare UI slots must also declare a UI entrypoint so the
336
+ // host knows where to load the bundle from (PLUGIN_SPEC.md §10.1).
337
+ const hasUiSlots = (manifest.ui?.slots?.length ?? 0) > 0;
338
+ const hasUiLaunchers = (manifest.ui?.launchers?.length ?? 0) > 0;
339
+ if ((hasUiSlots || hasUiLaunchers) && !manifest.entrypoints.ui) {
340
+ ctx.addIssue({
341
+ code: z.ZodIssueCode.custom,
342
+ message: "entrypoints.ui is required when ui.slots or ui.launchers are declared",
343
+ path: ["entrypoints", "ui"],
344
+ });
345
+ }
346
+ if (manifest.minimumHostVersion
347
+ && manifest.minimumFideliOSVersion
348
+ && manifest.minimumHostVersion !== manifest.minimumFideliOSVersion) {
349
+ ctx.addIssue({
350
+ code: z.ZodIssueCode.custom,
351
+ message: "minimumHostVersion and minimumFideliOSVersion must match when both are declared",
352
+ path: ["minimumHostVersion"],
353
+ });
354
+ }
355
+ // ── Capability ↔ feature declaration consistency ───────────────────────
356
+ // The host enforces capabilities at install and runtime. A plugin must
357
+ // declare every capability it needs up-front; silently having more features
358
+ // than capabilities would cause runtime rejections.
359
+ // tools require agent.tools.register (PLUGIN_SPEC.md §11)
360
+ if (manifest.tools && manifest.tools.length > 0) {
361
+ if (!manifest.capabilities.includes("agent.tools.register")) {
362
+ ctx.addIssue({
363
+ code: z.ZodIssueCode.custom,
364
+ message: "Capability 'agent.tools.register' is required when tools are declared",
365
+ path: ["capabilities"],
366
+ });
367
+ }
368
+ }
369
+ // jobs require jobs.schedule (PLUGIN_SPEC.md §17)
370
+ if (manifest.jobs && manifest.jobs.length > 0) {
371
+ if (!manifest.capabilities.includes("jobs.schedule")) {
372
+ ctx.addIssue({
373
+ code: z.ZodIssueCode.custom,
374
+ message: "Capability 'jobs.schedule' is required when jobs are declared",
375
+ path: ["capabilities"],
376
+ });
377
+ }
378
+ }
379
+ // webhooks require webhooks.receive (PLUGIN_SPEC.md §18)
380
+ if (manifest.webhooks && manifest.webhooks.length > 0) {
381
+ if (!manifest.capabilities.includes("webhooks.receive")) {
382
+ ctx.addIssue({
383
+ code: z.ZodIssueCode.custom,
384
+ message: "Capability 'webhooks.receive' is required when webhooks are declared",
385
+ path: ["capabilities"],
386
+ });
387
+ }
388
+ }
389
+ // ── Uniqueness checks ──────────────────────────────────────────────────
390
+ // Duplicate keys within a plugin's own manifest are always a bug. The host
391
+ // would not know which declaration takes precedence, so we reject early.
392
+ // job keys must be unique within the plugin (used as identifiers in the DB)
393
+ if (manifest.jobs) {
394
+ const jobKeys = manifest.jobs.map((j) => j.jobKey);
395
+ const duplicates = jobKeys.filter((key, i) => jobKeys.indexOf(key) !== i);
396
+ if (duplicates.length > 0) {
397
+ ctx.addIssue({
398
+ code: z.ZodIssueCode.custom,
399
+ message: `Duplicate job keys: ${[...new Set(duplicates)].join(", ")}`,
400
+ path: ["jobs"],
401
+ });
402
+ }
403
+ }
404
+ // webhook endpoint keys must be unique within the plugin (used in routes)
405
+ if (manifest.webhooks) {
406
+ const endpointKeys = manifest.webhooks.map((w) => w.endpointKey);
407
+ const duplicates = endpointKeys.filter((key, i) => endpointKeys.indexOf(key) !== i);
408
+ if (duplicates.length > 0) {
409
+ ctx.addIssue({
410
+ code: z.ZodIssueCode.custom,
411
+ message: `Duplicate webhook endpoint keys: ${[...new Set(duplicates)].join(", ")}`,
412
+ path: ["webhooks"],
413
+ });
414
+ }
415
+ }
416
+ // tool names must be unique within the plugin (namespaced at runtime)
417
+ if (manifest.tools) {
418
+ const toolNames = manifest.tools.map((t) => t.name);
419
+ const duplicates = toolNames.filter((name, i) => toolNames.indexOf(name) !== i);
420
+ if (duplicates.length > 0) {
421
+ ctx.addIssue({
422
+ code: z.ZodIssueCode.custom,
423
+ message: `Duplicate tool names: ${[...new Set(duplicates)].join(", ")}`,
424
+ path: ["tools"],
425
+ });
426
+ }
427
+ }
428
+ // UI slot ids must be unique within the plugin (namespaced at runtime)
429
+ if (manifest.ui) {
430
+ if (manifest.ui.slots) {
431
+ const slotIds = manifest.ui.slots.map((s) => s.id);
432
+ const duplicates = slotIds.filter((id, i) => slotIds.indexOf(id) !== i);
433
+ if (duplicates.length > 0) {
434
+ ctx.addIssue({
435
+ code: z.ZodIssueCode.custom,
436
+ message: `Duplicate UI slot ids: ${[...new Set(duplicates)].join(", ")}`,
437
+ path: ["ui", "slots"],
438
+ });
439
+ }
440
+ }
441
+ }
442
+ // launcher ids must be unique within the plugin
443
+ const allLaunchers = [
444
+ ...(manifest.launchers ?? []),
445
+ ...(manifest.ui?.launchers ?? []),
446
+ ];
447
+ if (allLaunchers.length > 0) {
448
+ const launcherIds = allLaunchers.map((launcher) => launcher.id);
449
+ const duplicates = launcherIds.filter((id, i) => launcherIds.indexOf(id) !== i);
450
+ if (duplicates.length > 0) {
451
+ ctx.addIssue({
452
+ code: z.ZodIssueCode.custom,
453
+ message: `Duplicate launcher ids: ${[...new Set(duplicates)].join(", ")}`,
454
+ path: manifest.ui?.launchers ? ["ui", "launchers"] : ["launchers"],
455
+ });
456
+ }
457
+ }
458
+ });
459
+ // ---------------------------------------------------------------------------
460
+ // Plugin installation / registration request
461
+ // ---------------------------------------------------------------------------
462
+ /**
463
+ * Schema for installing (registering) a plugin.
464
+ * The server receives the packageName and resolves the manifest from the
465
+ * installed package.
466
+ */
467
+ export const installPluginSchema = z.object({
468
+ packageName: z.string().min(1),
469
+ version: z.string().min(1).optional(),
470
+ /** Set by loader for local-path installs so the worker can be resolved. */
471
+ packagePath: z.string().min(1).optional(),
472
+ });
473
+ // ---------------------------------------------------------------------------
474
+ // Plugin config (instance configuration) schemas
475
+ // ---------------------------------------------------------------------------
476
+ /**
477
+ * Schema for creating or updating a plugin's instance configuration.
478
+ * configJson is validated permissively here; runtime validation against
479
+ * the plugin's instanceConfigSchema is done at the service layer.
480
+ */
481
+ export const upsertPluginConfigSchema = z.object({
482
+ configJson: z.record(z.unknown()),
483
+ });
484
+ /**
485
+ * Schema for partially updating a plugin's instance configuration.
486
+ * Allows a partial merge of config values.
487
+ */
488
+ export const patchPluginConfigSchema = z.object({
489
+ configJson: z.record(z.unknown()),
490
+ });
491
+ // ---------------------------------------------------------------------------
492
+ // Plugin status update
493
+ // ---------------------------------------------------------------------------
494
+ /**
495
+ * Schema for updating a plugin's lifecycle status. Used by the lifecycle
496
+ * manager to persist state transitions.
497
+ *
498
+ * @see {@link PLUGIN_STATUSES} for the valid status values
499
+ */
500
+ export const updatePluginStatusSchema = z.object({
501
+ status: z.enum(PLUGIN_STATUSES),
502
+ lastError: z.string().nullable().optional(),
503
+ });
504
+ // ---------------------------------------------------------------------------
505
+ // Plugin uninstall
506
+ // ---------------------------------------------------------------------------
507
+ /** Schema for the uninstall request. `removeData` controls hard vs soft delete. */
508
+ export const uninstallPluginSchema = z.object({
509
+ removeData: z.boolean().optional().default(false),
510
+ });
511
+ // ---------------------------------------------------------------------------
512
+ // Plugin state (key-value storage) schemas
513
+ // ---------------------------------------------------------------------------
514
+ /**
515
+ * Schema for a plugin state scope key — identifies the exact location where
516
+ * state is stored. Used by the `ctx.state.get()`, `ctx.state.set()`, and
517
+ * `ctx.state.delete()` SDK methods.
518
+ *
519
+ * @see PLUGIN_SPEC.md §21.3 `plugin_state`
520
+ */
521
+ export const pluginStateScopeKeySchema = z.object({
522
+ scopeKind: z.enum(PLUGIN_STATE_SCOPE_KINDS),
523
+ scopeId: z.string().min(1).optional(),
524
+ namespace: z.string().min(1).optional(),
525
+ stateKey: z.string().min(1),
526
+ });
527
+ /**
528
+ * Schema for setting a plugin state value.
529
+ */
530
+ export const setPluginStateSchema = z.object({
531
+ scopeKind: z.enum(PLUGIN_STATE_SCOPE_KINDS),
532
+ scopeId: z.string().min(1).optional(),
533
+ namespace: z.string().min(1).optional(),
534
+ stateKey: z.string().min(1),
535
+ /** JSON-serializable value to store. */
536
+ value: z.unknown(),
537
+ });
538
+ /**
539
+ * Schema for querying plugin state entries. All fields are optional to allow
540
+ * flexible list queries (e.g. all state for a plugin within a scope).
541
+ */
542
+ export const listPluginStateSchema = z.object({
543
+ scopeKind: z.enum(PLUGIN_STATE_SCOPE_KINDS).optional(),
544
+ scopeId: z.string().min(1).optional(),
545
+ namespace: z.string().min(1).optional(),
546
+ });
547
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/validators/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,sCAAsC,EACtC,+BAA+B,EAC/B,uBAAuB,EACvB,sBAAsB,EACtB,mCAAmC,EACnC,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,EAAE;IACN,0EAA0E;IAC1E,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;AACjJ,CAAC,EACD,EAAE,OAAO,EAAE,iGAAiG,EAAE,CAC/G,CAAC;AAEF,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;;;;GAMG;AACH;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,4GAA4G,CAAC;AAExI,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CACzB,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,EACnC,EAAE,OAAO,EAAE,wEAAwE,EAAE,CACtF,CAAC,QAAQ,EAAE;CACb,CAAC,CAAC;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,gBAAgB,EAAE,gBAAgB;CACnC,CAAC,CAAC;AAIH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAClC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sBAAsB,EAAE;QAClD,OAAO,EAAE,+EAA+E;KACzF,CAAC,CAAC,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,6DAA6D;IAC7D,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,oBAAoB,CAAC,CAAC;IAClJ,IACE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;WACnC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,EACzD,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,wCAAwC;YAC9D,IAAI,EAAE,CAAC,aAAa,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IACD,gEAAgE;IAChE,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvG,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,qEAAqE;YAC9E,IAAI,EAAE,CAAC,aAAa,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IACD,+DAA+D;IAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACtG,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,oEAAoE;YAC7E,IAAI,EAAE,CAAC,aAAa,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IACD,oEAAoE;IACpE,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3G,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,yEAAyE;YAClF,IAAI,EAAE,CAAC,aAAa,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7C,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,4CAA4C;YACrD,IAAI,EAAE,CAAC,WAAW,CAAC;SACpB,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,sCAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAoE,CAAC,EAAE,CAAC;QACnJ,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,cAAc,KAAK,CAAC,SAAS,2BAA2B;YACjE,IAAI,EAAE,CAAC,WAAW,CAAC;SACpB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAIH,MAAM,kCAAkC,GAAG;IACzC,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,wBAAwB;IACxB,oBAAoB;CACZ,CAAC;AAEX,MAAM,2BAA2B,GAG7B;IACF,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;IAC5C,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;IACnD,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;IACtC,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,uEAAuE;YAChF,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,kEAAkE;YAC3E,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAKH;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC;IACxD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,2BAA2B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,WAAW,KAAK,CAAC,MAAM,8CAA8C,KAAK,CAAC,WAAW,GAAG;YAClG,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAKH;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC;IACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,qCAAqC;IAC7C,MAAM,EAAE,qCAAqC,CAAC,QAAQ,EAAE;CACzD,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,IACE,kCAAkC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,aAAa,CAAC;WAC5E,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,EACzD,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,GAAG,KAAK,CAAC,aAAa,4CAA4C;YAC3E,IAAI,EAAE,CAAC,aAAa,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IAED,IACE,KAAK,CAAC,aAAa,KAAK,oBAAoB;WACzC,KAAK,CAAC,WAAW;WACjB,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EACzC,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,yEAAyE;YAClF,IAAI,EAAE,CAAC,aAAa,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1D,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,qDAAqD;YAC9D,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAED,IACE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;WACnE,CAAC,KAAK,CAAC,MAAM,EAChB,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,oCAAoC;YACjE,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,EAAE,WAAW,KAAK,YAAY,EAAE,CAAC;QACpF,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,kEAAkE;YAC3E,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IACE,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;WAC/B,KAAK,CAAC,MAAM;WACZ,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAChE,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,yEAAyE;YAClF,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,MAAM,EAAE,WAAW,KAAK,WAAW,EAAE,CAAC;QACrF,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,mEAAmE;YAC5E,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAIH,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CACzB,wBAAwB,EACxB,8HAA8H,CAC/H;IACD,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAC9B,wFAAwF,EACxF,yDAAyD,CAC1D;IACD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAClC,wFAAwF,EACxF,oDAAoD,CACrD,CAAC,QAAQ,EAAE;IACZ,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CACtC,wFAAwF,EACxF,wDAAwD,CACzD,CAAC,QAAQ,EAAE;IACZ,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KACjC,CAAC;IACF,oBAAoB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACjD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;IACpD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,QAAQ,EAAE;IAC5D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE;IACtD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE;IAC9D,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;QACX,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC/D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE;KAC/D,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC/B,yEAAyE;IACzE,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QAC/D,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,uEAAuE;YAChF,IAAI,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,IACE,QAAQ,CAAC,kBAAkB;WACxB,QAAQ,CAAC,sBAAsB;WAC/B,QAAQ,CAAC,kBAAkB,KAAK,QAAQ,CAAC,sBAAsB,EAClE,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,iFAAiF;YAC1F,IAAI,EAAE,CAAC,oBAAoB,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,4EAA4E;IAC5E,oDAAoD;IAEpD,0DAA0D;IAC1D,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,uEAAuE;gBAChF,IAAI,EAAE,CAAC,cAAc,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,+DAA+D;gBACxE,IAAI,EAAE,CAAC,cAAc,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,sEAAsE;gBAC/E,IAAI,EAAE,CAAC,cAAc,CAAC;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IAEzE,4EAA4E;IAC5E,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,uBAAuB,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrE,IAAI,EAAE,CAAC,MAAM,CAAC;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,oCAAoC,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClF,IAAI,EAAE,CAAC,UAAU,CAAC;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,yBAAyB,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvE,IAAI,EAAE,CAAC,OAAO,CAAC;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,IAAI,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;oBAC3B,OAAO,EAAE,0BAA0B,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG;QACnB,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QAC7B,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC;KAClC,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,2BAA2B,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;aACnE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAIH,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,2EAA2E;IAC3E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAIH,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CAClC,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CAClC,CAAC,CAAC;AAIH,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAIH,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,mFAAmF;AACnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAClD,CAAC,CAAC;AAIH,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,wCAAwC;IACxC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;CACnB,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;IACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC"}