openpond-sdk 0.5.7 → 0.5.8

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.
@@ -0,0 +1,201 @@
1
+ import type { ModelProject } from "./model-projects.js";
2
+ import { type HarnessRunManifest, type ResolvedTrainingBundleManifest } from "./training-bundle-contracts.js";
3
+ import { type TrainingEvaluationSource } from "./training-evaluation-source.js";
4
+ import { type TrainingJobSubmission } from "./training.js";
5
+ type PolicyJob = Extract<TrainingJobSubmission["job"], {
6
+ kind: "policy_optimize";
7
+ }>;
8
+ export type TrainingPreparationFile = TrainingEvaluationSource["assets"][number];
9
+ export interface ManagedTrainingPreparationInput {
10
+ project: ModelProject;
11
+ manifest: HarnessRunManifest;
12
+ recipe: PolicyJob["recipe"];
13
+ taskset: TrainingJobSubmission["source"]["taskset"];
14
+ bundleManifest: ResolvedTrainingBundleManifest;
15
+ files: TrainingPreparationFile[];
16
+ evaluationSource: TrainingEvaluationSource;
17
+ rewardSource: PolicyJob["rewardSource"];
18
+ resumeFrom: PolicyJob["resumeFrom"];
19
+ approval: Pick<TrainingJobSubmission["approval"], "approvalHash" | "maximumSpendUsd" | "retentionDays" | "region">;
20
+ modelImprovementQualification?: {
21
+ id: string;
22
+ contentHash: string;
23
+ } | null;
24
+ /** A durable hosted iteration supplies its dispatch identity here. */
25
+ idempotencyKey?: string;
26
+ }
27
+ /** Build the exact staged artifact and public Job without network or compute.
28
+ * Inputs are copied before hashing so an asynchronous caller cannot rewrite the
29
+ * selected bytes while preparation is in progress.
30
+ */
31
+ export declare function prepareManagedTrainingSubmission(raw: ManagedTrainingPreparationInput): Promise<{
32
+ artifact: {
33
+ schemaVersion: "openpond.trainingInputArtifactUpload.v2";
34
+ kind: "portable_training_bundle" | "reward_model_dataset";
35
+ idempotencyKey: string;
36
+ sourceManifest: {
37
+ id: string;
38
+ contentHash: string;
39
+ };
40
+ payload: unknown;
41
+ contentHash: string;
42
+ };
43
+ submission: {
44
+ schemaVersion: "openpond.trainingJobSubmission.v2";
45
+ idempotencyKey: string;
46
+ name: string;
47
+ source: {
48
+ modelProject: {
49
+ id: string;
50
+ portableProjectId: string;
51
+ revision: number;
52
+ contentHash: string;
53
+ };
54
+ harnessRunManifest: {
55
+ id: string;
56
+ contentHash: string;
57
+ };
58
+ harnessRelease: {
59
+ id: string;
60
+ contentHash: string;
61
+ };
62
+ taskset: {
63
+ id: string;
64
+ contentHash: string;
65
+ revision: number;
66
+ };
67
+ tasksetRelease: {
68
+ id: string;
69
+ contentHash: string;
70
+ };
71
+ dataset: {
72
+ id: string;
73
+ contentHash: string;
74
+ };
75
+ evidenceSets: {
76
+ id: string;
77
+ contentHash: string;
78
+ }[];
79
+ evaluation?: {
80
+ taskset: {
81
+ id: string;
82
+ contentHash: string;
83
+ revision: number;
84
+ };
85
+ dataset: {
86
+ id: string;
87
+ contentHash: string;
88
+ };
89
+ } | null | undefined;
90
+ };
91
+ job: {
92
+ kind: "reward_model_train";
93
+ baseModel: {
94
+ schemaVersion: "openpond.baseModelPreference.v1";
95
+ modelId: string;
96
+ revision: string | null;
97
+ tokenizerRevision: string | null;
98
+ chatTemplateHash: string | null;
99
+ modelAssetId: string | null;
100
+ source: "local" | "managed" | "builtin";
101
+ };
102
+ preferenceDatasetRelease: {
103
+ id: string;
104
+ contentHash: string;
105
+ };
106
+ processorRelease: {
107
+ id: string;
108
+ contentHash: string;
109
+ };
110
+ recipe: {
111
+ [x: string]: unknown;
112
+ schemaVersion: "openpond.rewardModelRecipe.v1";
113
+ method: "reward_model";
114
+ parameterization: "lora_with_scalar_head";
115
+ };
116
+ } | {
117
+ kind: "policy_optimize";
118
+ baseModel: {
119
+ schemaVersion: "openpond.baseModelPreference.v1";
120
+ modelId: string;
121
+ revision: string | null;
122
+ tokenizerRevision: string | null;
123
+ chatTemplateHash: string | null;
124
+ modelAssetId: string | null;
125
+ source: "local" | "managed" | "builtin";
126
+ };
127
+ recipe: {
128
+ [x: string]: unknown;
129
+ schemaVersion: string;
130
+ method: "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opd" | "opsd" | "sdpo";
131
+ parameterization: "lora" | "full";
132
+ };
133
+ rewardSource: {
134
+ kind: "deterministic";
135
+ grader: {
136
+ id: string;
137
+ contentHash: string;
138
+ };
139
+ composer: {
140
+ id: string;
141
+ contentHash: string;
142
+ } | null;
143
+ } | {
144
+ kind: "learned_reward";
145
+ rewardModelVersion: {
146
+ id: string;
147
+ contentHash: string;
148
+ };
149
+ qualificationReport: {
150
+ id: string;
151
+ contentHash: string;
152
+ } | null;
153
+ evaluationReferences: {
154
+ id: string;
155
+ contentHash: string;
156
+ }[];
157
+ scorerArtifact: {
158
+ artifactRef: string;
159
+ contentHash: string;
160
+ executionReceipt: {
161
+ id: string;
162
+ contentHash: string;
163
+ };
164
+ };
165
+ processorRelease: {
166
+ id: string;
167
+ contentHash: string;
168
+ };
169
+ rewardComposerRelease: {
170
+ id: string;
171
+ contentHash: string;
172
+ };
173
+ };
174
+ resumeFrom: {
175
+ id: string;
176
+ contentHash: string;
177
+ } | null;
178
+ };
179
+ requestedCapabilities: {
180
+ id: string;
181
+ version: string | null;
182
+ required: boolean;
183
+ }[];
184
+ placementObjective: "fast" | "balanced" | "economical";
185
+ budget: {
186
+ maximumSpendUsd: number;
187
+ maximumWallSeconds: number;
188
+ };
189
+ approval: {
190
+ approvalHash: string;
191
+ approvedAt: string;
192
+ exportApproved: boolean;
193
+ maximumSpendUsd: number;
194
+ retentionDays: number | null;
195
+ region: string | null;
196
+ };
197
+ contentHash: string;
198
+ };
199
+ }>;
200
+ export {};
201
+ //# sourceMappingURL=managed-training-preparation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-training-preparation.d.ts","sourceRoot":"","sources":["../../../../../src/managed-training-preparation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAkE,KAAK,kBAAkB,EAAE,KAAK,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAC9K,OAAO,EAAgG,KAAK,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC9K,OAAO,EAA8I,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEvM,KAAK,SAAS,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAAC;AACpF,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;IACpD,cAAc,EAAE,8BAA8B,CAAC;IAC/C,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACxC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACpC,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,cAAc,GAAG,iBAAiB,GAAG,eAAe,GAAG,QAAQ,CAAC,CAAC;IACnH,6BAA6B,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3E,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CAAC,GAAG,EAAE,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0E1F"}
@@ -174,12 +174,12 @@ export declare const HostedModelProjectTrainingSetupSchema: z.ZodObject<{
174
174
  contentHash: z.ZodString;
175
175
  revision: z.ZodNumber;
176
176
  }, z.core.$strict>>>;
177
- rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
177
+ evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
178
178
  id: z.ZodString;
179
179
  contentHash: z.ZodString;
180
180
  revision: z.ZodNumber;
181
181
  }, z.core.$strict>>>;
182
- evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
182
+ rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
183
183
  id: z.ZodString;
184
184
  contentHash: z.ZodString;
185
185
  revision: z.ZodNumber;
@@ -726,12 +726,12 @@ export declare const HostedModelProjectSyncSchema: z.ZodObject<{
726
726
  contentHash: z.ZodString;
727
727
  revision: z.ZodNumber;
728
728
  }, z.core.$strict>>>;
729
- rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
729
+ evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
730
730
  id: z.ZodString;
731
731
  contentHash: z.ZodString;
732
732
  revision: z.ZodNumber;
733
733
  }, z.core.$strict>>>;
734
- evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
734
+ rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
735
735
  id: z.ZodString;
736
736
  contentHash: z.ZodString;
737
737
  revision: z.ZodNumber;
@@ -833,12 +833,12 @@ export declare const HostedModelProjectSummarySchema: z.ZodObject<{
833
833
  contentHash: z.ZodString;
834
834
  revision: z.ZodNumber;
835
835
  }, z.core.$strict>>>;
836
- rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
836
+ evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
837
837
  id: z.ZodString;
838
838
  contentHash: z.ZodString;
839
839
  revision: z.ZodNumber;
840
840
  }, z.core.$strict>>>;
841
- evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
841
+ rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
842
842
  id: z.ZodString;
843
843
  contentHash: z.ZodString;
844
844
  revision: z.ZodNumber;
@@ -961,12 +961,12 @@ export declare const HostedModelProjectDetailSchema: z.ZodObject<{
961
961
  contentHash: z.ZodString;
962
962
  revision: z.ZodNumber;
963
963
  }, z.core.$strict>>>;
964
- rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
964
+ evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
965
965
  id: z.ZodString;
966
966
  contentHash: z.ZodString;
967
967
  revision: z.ZodNumber;
968
968
  }, z.core.$strict>>>;
969
- evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
969
+ rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
970
970
  id: z.ZodString;
971
971
  contentHash: z.ZodString;
972
972
  revision: z.ZodNumber;
@@ -1146,12 +1146,12 @@ export declare function createModelProjectsClient(input: {
1146
1146
  runPreset: "custom" | "small" | "standard" | "small_experiment" | null;
1147
1147
  preferredMaximumSpendUsd: number | null;
1148
1148
  preferredRetentionDays: number | null;
1149
- rewardBindingRef?: {
1149
+ evaluationTasksetRef?: {
1150
1150
  id: string;
1151
1151
  contentHash: string;
1152
1152
  revision: number;
1153
1153
  } | null | undefined;
1154
- evaluationTasksetRef?: {
1154
+ rewardBindingRef?: {
1155
1155
  id: string;
1156
1156
  contentHash: string;
1157
1157
  revision: number;
@@ -1216,12 +1216,12 @@ export declare function createModelProjectsClient(input: {
1216
1216
  runPreset: "custom" | "small" | "standard" | "small_experiment" | null;
1217
1217
  preferredMaximumSpendUsd: number | null;
1218
1218
  preferredRetentionDays: number | null;
1219
- rewardBindingRef?: {
1219
+ evaluationTasksetRef?: {
1220
1220
  id: string;
1221
1221
  contentHash: string;
1222
1222
  revision: number;
1223
1223
  } | null | undefined;
1224
- evaluationTasksetRef?: {
1224
+ rewardBindingRef?: {
1225
1225
  id: string;
1226
1226
  contentHash: string;
1227
1227
  revision: number;
@@ -1286,12 +1286,12 @@ export declare function createModelProjectsClient(input: {
1286
1286
  runPreset: "custom" | "small" | "standard" | "small_experiment" | null;
1287
1287
  preferredMaximumSpendUsd: number | null;
1288
1288
  preferredRetentionDays: number | null;
1289
- rewardBindingRef?: {
1289
+ evaluationTasksetRef?: {
1290
1290
  id: string;
1291
1291
  contentHash: string;
1292
1292
  revision: number;
1293
1293
  } | null | undefined;
1294
- evaluationTasksetRef?: {
1294
+ rewardBindingRef?: {
1295
1295
  id: string;
1296
1296
  contentHash: string;
1297
1297
  revision: number;
@@ -1357,12 +1357,12 @@ export declare function createModelProjectsClient(input: {
1357
1357
  runPreset: "custom" | "small" | "standard" | "small_experiment" | null;
1358
1358
  preferredMaximumSpendUsd: number | null;
1359
1359
  preferredRetentionDays: number | null;
1360
- rewardBindingRef?: {
1360
+ evaluationTasksetRef?: {
1361
1361
  id: string;
1362
1362
  contentHash: string;
1363
1363
  revision: number;
1364
1364
  } | null | undefined;
1365
- evaluationTasksetRef?: {
1365
+ rewardBindingRef?: {
1366
1366
  id: string;
1367
1367
  contentHash: string;
1368
1368
  revision: number;
@@ -2685,12 +2685,12 @@ export declare class OpenPondTasksetDraftClient {
2685
2685
  runPreset: "custom" | "small" | "standard" | "small_experiment" | null;
2686
2686
  preferredMaximumSpendUsd: number | null;
2687
2687
  preferredRetentionDays: number | null;
2688
- rewardBindingRef?: {
2688
+ evaluationTasksetRef?: {
2689
2689
  id: string;
2690
2690
  contentHash: string;
2691
2691
  revision: number;
2692
2692
  } | null | undefined;
2693
- evaluationTasksetRef?: {
2693
+ rewardBindingRef?: {
2694
2694
  id: string;
2695
2695
  contentHash: string;
2696
2696
  revision: number;
@@ -1569,12 +1569,12 @@ export declare const TasksetPackageReceiptSchema: z.ZodObject<{
1569
1569
  contentHash: z.ZodString;
1570
1570
  revision: z.ZodNumber;
1571
1571
  }, z.core.$strict>>>;
1572
- rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1572
+ evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1573
1573
  id: z.ZodString;
1574
1574
  contentHash: z.ZodString;
1575
1575
  revision: z.ZodNumber;
1576
1576
  }, z.core.$strict>>>;
1577
- evaluationTasksetRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1577
+ rewardBindingRef: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1578
1578
  id: z.ZodString;
1579
1579
  contentHash: z.ZodString;
1580
1580
  revision: z.ZodNumber;
@@ -6,7 +6,9 @@ import type { Taskset } from "./taskset-authored-contracts.js";
6
6
  import { type TasksetRewardExecution } from "./taskset-authored-portable-release.js";
7
7
  import { type TrainingEvaluationSource } from "./training-evaluation-source.js";
8
8
  export * from "./training-bundle-contracts.js";
9
- export { materializeLearningBatchTaskset } from "./training-learning-batch.js";
9
+ export { materializeLearningBatchTaskset, prepareReviewedLearningBatch } from "./training-learning-batch.js";
10
+ export { prepareManagedTrainingSubmission, type ManagedTrainingPreparationInput, type TrainingPreparationFile } from "./managed-training-preparation.js";
11
+ export { scanAndRedactEvidence, type EvidencePrivacyScan } from "./training-privacy.js";
10
12
  export type TasksetTrainingBundle = {
11
13
  manifest: HarnessRunManifest;
12
14
  resolvedBundleManifest: ResolvedTrainingBundleManifest;
@@ -1 +1 @@
1
- {"version":3,"file":"training-bundle.d.ts","sourceRoot":"","sources":["../../../../../src/training-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6H,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7O,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAwI,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,2BAA2B,EAAE,KAAK,oBAAoB,EAAE,KAAK,8BAA8B,EAAE,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACxW,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAyC,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAC5H,OAAO,EAAsG,KAAK,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEpL,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,sBAAsB,EAAE,8BAA8B,CAAC;IACvD,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,cAAc,EAAE,mBAAmB,CAAC;IACpC,cAAc,EAAE,mBAAmB,CAAC;IACpC,cAAc,EAAE,mBAAmB,CAAC;IACpC,kBAAkB,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,2BAA2B,CAAC;IACrC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,mBAAmB,CAAC;IACpC,cAAc,EAAE,mBAAmB,CAAC;IACpC,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;CAC7C,GAAG,qBAAqB,CA8NxB"}
1
+ {"version":3,"file":"training-bundle.d.ts","sourceRoot":"","sources":["../../../../../src/training-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6H,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7O,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAwI,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,2BAA2B,EAAE,KAAK,oBAAoB,EAAE,KAAK,8BAA8B,EAAE,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACxW,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAyC,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAC5H,OAAO,EAAsG,KAAK,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEpL,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC7G,OAAO,EAAE,gCAAgC,EAAE,KAAK,+BAA+B,EAAE,KAAK,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACzJ,OAAO,EAAE,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAExF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,sBAAsB,EAAE,8BAA8B,CAAC;IACvD,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,cAAc,EAAE,mBAAmB,CAAC;IACpC,cAAc,EAAE,mBAAmB,CAAC;IACpC,cAAc,EAAE,mBAAmB,CAAC;IACpC,cAAc,EAAE,mBAAmB,CAAC;IACpC,kBAAkB,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,2BAA2B,CAAC;IACrC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,QAAQ,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,eAAe,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,mBAAmB,CAAC;IACpC,cAAc,EAAE,mBAAmB,CAAC;IACpC,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpD,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;CAC7C,GAAG,qBAAqB,CA8NxB"}