@codluv/versionguard 0.3.0 → 0.5.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.
- package/dist/calver.d.ts +66 -22
- package/dist/calver.d.ts.map +1 -1
- package/dist/changelog.d.ts +52 -0
- package/dist/changelog.d.ts.map +1 -1
- package/dist/chunks/{index-BrZJDWya.js → index-CwOyEn5L.js} +904 -176
- package/dist/chunks/index-CwOyEn5L.js.map +1 -0
- package/dist/ckm/engine.d.ts +92 -0
- package/dist/ckm/engine.d.ts.map +1 -0
- package/dist/ckm/index.d.ts +32 -0
- package/dist/ckm/index.d.ts.map +1 -0
- package/dist/ckm/types.d.ts +168 -0
- package/dist/ckm/types.d.ts.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1333 -27
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/feedback/index.d.ts +1 -1
- package/dist/feedback/index.d.ts.map +1 -1
- package/dist/fix/index.d.ts +6 -1
- package/dist/fix/index.d.ts.map +1 -1
- package/dist/guard.d.ts +45 -1
- package/dist/guard.d.ts.map +1 -1
- package/dist/hooks.d.ts +14 -7
- package/dist/hooks.d.ts.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -32
- package/dist/init-wizard.d.ts +68 -0
- package/dist/init-wizard.d.ts.map +1 -0
- package/dist/project-root.d.ts +74 -0
- package/dist/project-root.d.ts.map +1 -0
- package/dist/project.d.ts +23 -2
- package/dist/project.d.ts.map +1 -1
- package/dist/sources/git-tag.d.ts +29 -0
- package/dist/sources/git-tag.d.ts.map +1 -1
- package/dist/sources/json.d.ts +31 -0
- package/dist/sources/json.d.ts.map +1 -1
- package/dist/sources/regex.d.ts +30 -0
- package/dist/sources/regex.d.ts.map +1 -1
- package/dist/sources/resolve.d.ts +27 -8
- package/dist/sources/resolve.d.ts.map +1 -1
- package/dist/sources/toml.d.ts +36 -1
- package/dist/sources/toml.d.ts.map +1 -1
- package/dist/sources/utils.d.ts +73 -0
- package/dist/sources/utils.d.ts.map +1 -0
- package/dist/sources/version-file.d.ts +28 -1
- package/dist/sources/version-file.d.ts.map +1 -1
- package/dist/sources/yaml.d.ts +29 -0
- package/dist/sources/yaml.d.ts.map +1 -1
- package/dist/tag/index.d.ts.map +1 -1
- package/dist/types.d.ts +89 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/chunks/index-BrZJDWya.js.map +0 -1
package/dist/calver.d.ts
CHANGED
|
@@ -1,9 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Calendar version parsing, formatting, and comparison helpers.
|
|
3
3
|
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* Supports the full calver.org specification with all standard tokens:
|
|
6
|
+
* Year (`YYYY`, `YY`, `0Y`), Month (`MM`, `M`, `0M`), Week (`WW`, `0W`),
|
|
7
|
+
* Day (`DD`, `D`, `0D`), and Counter (`MICRO`/`PATCH`).
|
|
8
|
+
*
|
|
9
|
+
* `MICRO` is the CalVer-standard name for the counter segment.
|
|
10
|
+
* `PATCH` is accepted as a SemVer-familiar alias and behaves identically.
|
|
11
|
+
*
|
|
4
12
|
* @packageDocumentation
|
|
5
13
|
*/
|
|
6
|
-
import type { CalVer, CalVerFormat, ValidationResult } from './types';
|
|
14
|
+
import type { CalVer, CalVerFormat, SchemeRules, ValidationResult } from './types';
|
|
15
|
+
/**
|
|
16
|
+
* Validates that a CalVer format string is composed of valid tokens
|
|
17
|
+
* and follows structural rules.
|
|
18
|
+
*
|
|
19
|
+
* @remarks
|
|
20
|
+
* Structural rules enforced:
|
|
21
|
+
* - Must have at least 2 segments
|
|
22
|
+
* - First segment must be a year token
|
|
23
|
+
* - Week tokens and Month/Day tokens are mutually exclusive
|
|
24
|
+
* - Counter (MICRO/PATCH) can only appear as the last segment
|
|
25
|
+
*
|
|
26
|
+
* @param formatStr - Format string to validate.
|
|
27
|
+
* @returns `true` when the format is valid.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { isValidCalVerFormat } from 'versionguard';
|
|
32
|
+
*
|
|
33
|
+
* isValidCalVerFormat('YYYY.MM.MICRO'); // true
|
|
34
|
+
* isValidCalVerFormat('INVALID'); // false
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @public
|
|
38
|
+
* @since 0.3.0
|
|
39
|
+
*/
|
|
40
|
+
export declare function isValidCalVerFormat(formatStr: string): formatStr is CalVerFormat;
|
|
7
41
|
/**
|
|
8
42
|
* Parsed token layout for a supported CalVer format string.
|
|
9
43
|
*
|
|
@@ -15,11 +49,19 @@ export interface ParsedCalVerFormat {
|
|
|
15
49
|
/**
|
|
16
50
|
* Year token captured from the format string.
|
|
17
51
|
*/
|
|
18
|
-
year: 'YYYY' | 'YY';
|
|
52
|
+
year: 'YYYY' | 'YY' | '0Y';
|
|
53
|
+
/**
|
|
54
|
+
* Month token captured from the format string when present.
|
|
55
|
+
*
|
|
56
|
+
* @defaultValue undefined
|
|
57
|
+
*/
|
|
58
|
+
month?: 'MM' | 'M' | '0M';
|
|
19
59
|
/**
|
|
20
|
-
*
|
|
60
|
+
* Week token captured from the format string when present.
|
|
61
|
+
*
|
|
62
|
+
* @defaultValue undefined
|
|
21
63
|
*/
|
|
22
|
-
|
|
64
|
+
week?: 'WW' | '0W';
|
|
23
65
|
/**
|
|
24
66
|
* Day token captured from the format string when present.
|
|
25
67
|
*
|
|
@@ -27,18 +69,19 @@ export interface ParsedCalVerFormat {
|
|
|
27
69
|
*/
|
|
28
70
|
day?: 'DD' | 'D' | '0D';
|
|
29
71
|
/**
|
|
30
|
-
*
|
|
72
|
+
* Counter token captured from the format string when present.
|
|
73
|
+
* Both `MICRO` and `PATCH` map to the same numeric counter.
|
|
31
74
|
*
|
|
32
75
|
* @defaultValue undefined
|
|
33
76
|
*/
|
|
34
|
-
|
|
77
|
+
counter?: 'MICRO' | 'PATCH';
|
|
35
78
|
}
|
|
36
79
|
/**
|
|
37
80
|
* Breaks a CalVer format string into its component tokens.
|
|
38
81
|
*
|
|
39
82
|
* @remarks
|
|
40
83
|
* This helper is used internally by parsing, formatting, and version generation helpers
|
|
41
|
-
* to decide which date parts or
|
|
84
|
+
* to decide which date parts or counters are present in a given CalVer layout.
|
|
42
85
|
*
|
|
43
86
|
* @param calverFormat - Format string to inspect.
|
|
44
87
|
* @returns The parsed token definition for the requested format.
|
|
@@ -47,8 +90,8 @@ export interface ParsedCalVerFormat {
|
|
|
47
90
|
* ```ts
|
|
48
91
|
* import { parseFormat } from 'versionguard';
|
|
49
92
|
*
|
|
50
|
-
* parseFormat('YYYY.MM.
|
|
51
|
-
* // => { year: 'YYYY', month: 'MM',
|
|
93
|
+
* parseFormat('YYYY.MM.MICRO');
|
|
94
|
+
* // => { year: 'YYYY', month: 'MM', counter: 'MICRO' }
|
|
52
95
|
* ```
|
|
53
96
|
*
|
|
54
97
|
* @public
|
|
@@ -92,7 +135,7 @@ export declare function getRegexForFormat(calverFormat: CalVerFormat): RegExp;
|
|
|
92
135
|
* ```ts
|
|
93
136
|
* import { parse } from 'versionguard';
|
|
94
137
|
*
|
|
95
|
-
* parse('2026.
|
|
138
|
+
* parse('2026.3.0', 'YYYY.M.MICRO')?.month;
|
|
96
139
|
* // => 3
|
|
97
140
|
* ```
|
|
98
141
|
*
|
|
@@ -111,20 +154,21 @@ export declare function parse(version: string, calverFormat: CalVerFormat): CalV
|
|
|
111
154
|
* @param version - Version string to validate.
|
|
112
155
|
* @param calverFormat - Format expected for the version string.
|
|
113
156
|
* @param preventFutureDates - Whether future dates should be reported as errors.
|
|
157
|
+
* @param schemeRules - Optional scheme rules for modifier validation and segment count warnings.
|
|
114
158
|
* @returns A validation result containing any discovered errors and the parsed version on success.
|
|
115
159
|
*
|
|
116
160
|
* @example
|
|
117
161
|
* ```ts
|
|
118
162
|
* import { validate } from 'versionguard';
|
|
119
163
|
*
|
|
120
|
-
* validate('2026.
|
|
164
|
+
* validate('2026.3.0', 'YYYY.M.MICRO', false).valid;
|
|
121
165
|
* // => true
|
|
122
166
|
* ```
|
|
123
167
|
*
|
|
124
168
|
* @public
|
|
125
169
|
* @since 0.1.0
|
|
126
170
|
*/
|
|
127
|
-
export declare function validate(version: string, calverFormat: CalVerFormat, preventFutureDates?: boolean): ValidationResult;
|
|
171
|
+
export declare function validate(version: string, calverFormat: CalVerFormat, preventFutureDates?: boolean, schemeRules?: SchemeRules): ValidationResult;
|
|
128
172
|
/**
|
|
129
173
|
* Formats a parsed CalVer object back into a version string.
|
|
130
174
|
*
|
|
@@ -153,8 +197,8 @@ export declare function format(version: CalVer): string;
|
|
|
153
197
|
* Creates the current CalVer string for a format.
|
|
154
198
|
*
|
|
155
199
|
* @remarks
|
|
156
|
-
* This helper derives its values from the provided date and initializes any
|
|
157
|
-
* It is useful for generating a same-day baseline before incrementing
|
|
200
|
+
* This helper derives its values from the provided date and initializes any counter to `0`.
|
|
201
|
+
* It is useful for generating a same-day baseline before incrementing counter-based formats.
|
|
158
202
|
*
|
|
159
203
|
* @param calverFormat - Format to generate.
|
|
160
204
|
* @param now - Date used as the source for year, month, and day values.
|
|
@@ -164,7 +208,7 @@ export declare function format(version: CalVer): string;
|
|
|
164
208
|
* ```ts
|
|
165
209
|
* import { getCurrentVersion } from 'versionguard';
|
|
166
210
|
*
|
|
167
|
-
* getCurrentVersion('YYYY.
|
|
211
|
+
* getCurrentVersion('YYYY.M.MICRO', new Date('2026-03-21T00:00:00Z'));
|
|
168
212
|
* // => '2026.3.0'
|
|
169
213
|
* ```
|
|
170
214
|
*
|
|
@@ -176,8 +220,8 @@ export declare function getCurrentVersion(calverFormat: CalVerFormat, now?: Date
|
|
|
176
220
|
* Compares two CalVer strings using a shared format.
|
|
177
221
|
*
|
|
178
222
|
* @remarks
|
|
179
|
-
* Comparison is performed component-by-component in year, month, day, then
|
|
180
|
-
* Missing day and
|
|
223
|
+
* Comparison is performed component-by-component in year, month, day, then counter order.
|
|
224
|
+
* Missing day and counter values are treated as `0` during comparison.
|
|
181
225
|
*
|
|
182
226
|
* @param a - Left-hand version string.
|
|
183
227
|
* @param b - Right-hand version string.
|
|
@@ -188,7 +232,7 @@ export declare function getCurrentVersion(calverFormat: CalVerFormat, now?: Date
|
|
|
188
232
|
* ```ts
|
|
189
233
|
* import { compare } from 'versionguard';
|
|
190
234
|
*
|
|
191
|
-
* compare('2026.
|
|
235
|
+
* compare('2026.3.2', '2026.3.1', 'YYYY.M.MICRO');
|
|
192
236
|
* // => 1
|
|
193
237
|
* ```
|
|
194
238
|
*
|
|
@@ -200,8 +244,8 @@ export declare function compare(a: string, b: string, calverFormat: CalVerFormat
|
|
|
200
244
|
* Increments a CalVer string.
|
|
201
245
|
*
|
|
202
246
|
* @remarks
|
|
203
|
-
*
|
|
204
|
-
* promoted to a
|
|
247
|
+
* Counter-based formats increment the existing counter. Formats without a counter are
|
|
248
|
+
* promoted to a counter-based output by appending `.MICRO` with an initial value of `0`.
|
|
205
249
|
*
|
|
206
250
|
* @param version - Current version string.
|
|
207
251
|
* @param calverFormat - Format used to parse the current version.
|
|
@@ -211,7 +255,7 @@ export declare function compare(a: string, b: string, calverFormat: CalVerFormat
|
|
|
211
255
|
* ```ts
|
|
212
256
|
* import { increment } from 'versionguard';
|
|
213
257
|
*
|
|
214
|
-
* increment('2026.
|
|
258
|
+
* increment('2026.3.1', 'YYYY.M.MICRO');
|
|
215
259
|
* // => '2026.3.2'
|
|
216
260
|
* ```
|
|
217
261
|
*
|
|
@@ -234,7 +278,7 @@ export declare function increment(version: string, calverFormat: CalVerFormat):
|
|
|
234
278
|
* ```ts
|
|
235
279
|
* import { getNextVersions } from 'versionguard';
|
|
236
280
|
*
|
|
237
|
-
* getNextVersions('2026.
|
|
281
|
+
* getNextVersions('2026.3.1', 'YYYY.M.MICRO').length;
|
|
238
282
|
* // => 2
|
|
239
283
|
* ```
|
|
240
284
|
*
|
package/dist/calver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calver.d.ts","sourceRoot":"","sources":["../src/calver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"calver.d.ts","sourceRoot":"","sources":["../src/calver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EAEZ,WAAW,EAEX,gBAAgB,EACjB,MAAM,SAAS,CAAC;AA8BjB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,YAAY,CAoBhF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAE3B;;;;OAIG;IACH,KAAK,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;IAE1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAEnB;;;;OAIG;IACH,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;IAExB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,kBAAkB,CAoB1E;AAyCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CAKpE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAqDhF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,kBAAkB,GAAE,OAAc,EAClC,WAAW,CAAC,EAAE,WAAW,GACxB,gBAAgB,CA6GlB;AAgBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAsB9C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAY5F;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,MAAM,CAiBhF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,MAAM,CAqB7E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,CAE5F"}
|
package/dist/changelog.d.ts
CHANGED
|
@@ -80,4 +80,56 @@ export declare function getLatestVersion(changelogPath: string): string | null;
|
|
|
80
80
|
* ```
|
|
81
81
|
*/
|
|
82
82
|
export declare function addVersionEntry(changelogPath: string, version: string, date?: string): void;
|
|
83
|
+
/**
|
|
84
|
+
* Detects whether a changelog has been mangled by Changesets.
|
|
85
|
+
*
|
|
86
|
+
* @remarks
|
|
87
|
+
* Changesets prepends version content above the Keep a Changelog preamble,
|
|
88
|
+
* producing `## 0.4.0` (no brackets, no date) before the "All notable changes"
|
|
89
|
+
* paragraph. This function detects that pattern.
|
|
90
|
+
*
|
|
91
|
+
* @param changelogPath - Path to the changelog file.
|
|
92
|
+
* @returns `true` when the changelog appears to be mangled by Changesets.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* import { isChangesetMangled } from 'versionguard';
|
|
97
|
+
*
|
|
98
|
+
* if (isChangesetMangled('CHANGELOG.md')) {
|
|
99
|
+
* fixChangesetMangling('CHANGELOG.md');
|
|
100
|
+
* }
|
|
101
|
+
* ```
|
|
102
|
+
*
|
|
103
|
+
* @public
|
|
104
|
+
* @since 0.4.0
|
|
105
|
+
*/
|
|
106
|
+
export declare function isChangesetMangled(changelogPath: string): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Fixes a Changesets-mangled changelog into proper Keep a Changelog format.
|
|
109
|
+
*
|
|
110
|
+
* @remarks
|
|
111
|
+
* This function:
|
|
112
|
+
* 1. Extracts the version number and content prepended by Changesets
|
|
113
|
+
* 2. Converts Changesets section names (Minor Changes, Patch Changes) to
|
|
114
|
+
* Keep a Changelog names (Added, Fixed)
|
|
115
|
+
* 3. Strips commit hashes from entry lines
|
|
116
|
+
* 4. Adds the date and brackets to the version header
|
|
117
|
+
* 5. Inserts the entry after `## [Unreleased]` in the correct position
|
|
118
|
+
* 6. Restores the preamble to its proper location
|
|
119
|
+
*
|
|
120
|
+
* @param changelogPath - Path to the changelog file to fix.
|
|
121
|
+
* @param date - Release date in `YYYY-MM-DD` format.
|
|
122
|
+
* @returns `true` when the file was modified, `false` when no fix was needed.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```ts
|
|
126
|
+
* import { fixChangesetMangling } from 'versionguard';
|
|
127
|
+
*
|
|
128
|
+
* const fixed = fixChangesetMangling('CHANGELOG.md');
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
131
|
+
* @public
|
|
132
|
+
* @since 0.4.0
|
|
133
|
+
*/
|
|
134
|
+
export declare function fixChangesetMangling(changelogPath: string, date?: string): boolean;
|
|
83
135
|
//# sourceMappingURL=changelog.d.ts.map
|
package/dist/changelog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../src/changelog.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,OAAc,EACtB,YAAY,GAAE,OAAc,GAC3B,yBAAyB,CAgD3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQrE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAA8C,GACnD,IAAI,CAmBN"}
|
|
1
|
+
{"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../src/changelog.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,OAAc,EACtB,YAAY,GAAE,OAAc,GAC3B,yBAAyB,CAgD3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQrE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAA8C,GACnD,IAAI,CAmBN;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAMjE;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE,MAA8C,GACnD,OAAO,CAoET"}
|