@descent-vtt/spec-guard 0.26.0 → 0.28.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/CHANGELOG.md +164 -0
- package/README.md +76 -28
- package/dist/cites.d.ts.map +1 -1
- package/dist/cites.js +11 -1
- package/dist/cites.js.map +1 -1
- package/dist/cli.d.ts +15 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +34 -9
- package/dist/cli.js.map +1 -1
- package/dist/engine.d.ts +48 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +224 -13
- package/dist/engine.js.map +1 -1
- package/dist/glob.d.ts +9 -0
- package/dist/glob.d.ts.map +1 -1
- package/dist/glob.js +23 -0
- package/dist/glob.js.map +1 -1
- package/dist/impact.d.ts +13 -9
- package/dist/impact.d.ts.map +1 -1
- package/dist/impact.js +5 -3
- package/dist/impact.js.map +1 -1
- package/dist/imports.d.ts +1 -1
- package/dist/imports.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/polyglot.d.ts +18 -37
- package/dist/polyglot.d.ts.map +1 -1
- package/dist/polyglot.js +759 -187
- package/dist/polyglot.js.map +1 -1
- package/dist/prove.d.ts.map +1 -1
- package/dist/prove.js +42 -14
- package/dist/prove.js.map +1 -1
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +13 -0
- package/dist/reporter.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +17 -13
- package/dist/runner.js.map +1 -1
- package/dist/scope.d.ts +22 -2
- package/dist/scope.d.ts.map +1 -1
- package/dist/scope.js +10 -2
- package/dist/scope.js.map +1 -1
- package/dist/structure.d.ts +3 -1
- package/dist/structure.d.ts.map +1 -1
- package/dist/structure.js +15 -4
- package/dist/structure.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,170 @@ what to do when upgrading; the family's policy, including how a flag or field
|
|
|
10
10
|
is deprecated before it goes, is spec-core's
|
|
11
11
|
[ADR-0009](https://github.com/DescentVTT/spec-core/blob/main/docs/adr/0009-versions-before-1-0.md).
|
|
12
12
|
|
|
13
|
+
## 0.28.0
|
|
14
|
+
|
|
15
|
+
A regex rule's `^` and `$` read a line with either engine, where they
|
|
16
|
+
read the file's two ends and a rule passed that should have failed; and
|
|
17
|
+
another git work tree below the root is not read, by a run or by
|
|
18
|
+
`cites`. A Rust or C# declaration its compiler refuses is said, Go and
|
|
19
|
+
C# names are read whole, and on Windows a drive letter names its volume
|
|
20
|
+
in either case.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- **A Rust use declaration and a C# using directive that the compiler
|
|
25
|
+
refuses are said, as a note under each import rule over the file**, as a
|
|
26
|
+
Python statement Python refuses is: `use forbidden::thing c;` and `using
|
|
27
|
+
forbidden.;` name no module, and a rule over them passed under `--strict`
|
|
28
|
+
too. And what 0.27.0 read though the compiler refuses it is decided by
|
|
29
|
+
the compiler: a keyword of every edition for a segment (`use mod::d;`,
|
|
30
|
+
`use a::fn;`) or a C# keyword written plain (`using class.N;`), a doc
|
|
31
|
+
comment between two tokens, `self`, `super` or `crate` where rustc
|
|
32
|
+
refuses them, `use crate;` with no `as`, and a `$` name outside a macro
|
|
33
|
+
are each read as nothing and said. Of 159 Rust sources rustc 1.97.1
|
|
34
|
+
refuses in every edition 155 are said, of 63 C# ones the compiler of the
|
|
35
|
+
.NET SDK 10.0.401 refuses 52, and none of the 292 the two compile; over
|
|
36
|
+
31,176 Rust files of a cargo registry and 1,985 C# files no note is made
|
|
37
|
+
but 61 in Visual Studio's project templates
|
|
38
|
+
([ADR-0008](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0008-polyglot-imports.md)).
|
|
39
|
+
Upgrading: a `--strict` run over a Rust or C# file the compiler would
|
|
40
|
+
refuse may now fail; mend the declaration the note names. A rule that
|
|
41
|
+
failed only for such a declaration, `use forbidden::fn;`, now passes with
|
|
42
|
+
the note under it. A C# alias of a keyword type, `using T = int;`, names
|
|
43
|
+
nothing, where `int` was read, and a C# using whose types nest deeper
|
|
44
|
+
than 64 is reported as truncated.
|
|
45
|
+
- **`impact` names a file whose imports could not all be read on the line
|
|
46
|
+
of each note**, `src/a.rs:2 a declaration that ...`, where it named the
|
|
47
|
+
file alone, and counts a file with two notes once
|
|
48
|
+
([ADR-0018](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0018-impact.md)).
|
|
49
|
+
Upgrading: each entry of `gaps` in `impact --json` and in
|
|
50
|
+
`get_dependents` has `line` beside `file` and `detail`; `formatVersion`
|
|
51
|
+
stays 1, and the package exports `ImpactGap`.
|
|
52
|
+
- **A Go package name and the types of a C# alias are read whole.** `import
|
|
53
|
+
名 "fmt"`, `import café "fmt"` and `import _x "fmt"` were read as no
|
|
54
|
+
import, so a rule on the package passed over each; a package name is now
|
|
55
|
+
read as the Go specification has an identifier, a keyword is none, and a
|
|
56
|
+
name at the end of its line, which Go ends the import at, imports
|
|
57
|
+
nothing. `using T = G.L<N1.X>;` named `G.L` alone and `using T = (N1.X,
|
|
58
|
+
N2.Y);` nothing; each type an alias or a `using static` holds is now a
|
|
59
|
+
reference, its type arguments and the elements of a tuple among them.
|
|
60
|
+
Of 29 Go sources held to the specification, 0.27.0 read 13 otherwise
|
|
61
|
+
than it does, and of 23 C# ones compiled by the .NET SDK 10.0.401, 19
|
|
62
|
+
otherwise than the compiler
|
|
63
|
+
([ADR-0008](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0008-polyglot-imports.md)).
|
|
64
|
+
Upgrading: an import rule over Go or C# that passed may now fail for a
|
|
65
|
+
dependency written one of those ways; mend the import it names, or give
|
|
66
|
+
the rule a `baseline`. From the package, `Reader.identifier` reads a
|
|
67
|
+
name as Go has one.
|
|
68
|
+
- **`^` and `$` in a regex rule read a line, with either engine**, where
|
|
69
|
+
they read only a file's two ends: `symbol="^\s*-?\s*uses:"` passed over a
|
|
70
|
+
workflow with `uses:` on its fourth line, under `--engine js` and
|
|
71
|
+
`--engine rg` alike. A line ends at LF, at CRLF and at a lone CR, as
|
|
72
|
+
ripgrep reads one with `--crlf`, and ripgrep is asked with `--crlf` and
|
|
73
|
+
`--multiline`, so the files it names hold every one the scanner counts in:
|
|
74
|
+
`foo\s+bar` over two lines was counted by `--engine js` and passed by
|
|
75
|
+
`--engine rg`. A pattern with `\n` is read by ripgrep now, where its search
|
|
76
|
+
fell back to the scanner with a warning. `prove` shows a regular
|
|
77
|
+
expression's maximum its text below a line of its own too, and its
|
|
78
|
+
`--json` holds that second probe before the one for a minimum
|
|
79
|
+
([ADR-0007](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0007-search-scope.md),
|
|
80
|
+
[ADR-0016](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0016-rules-seen-to-fail.md)).
|
|
81
|
+
Upgrading: a regex rule with `^` or `$` whose match is not on a file's
|
|
82
|
+
first or last line may now fail; mend the line it names, or give the rule
|
|
83
|
+
a `baseline`. A rule that failed only on a match after a file's last line
|
|
84
|
+
end or in an empty file, as `\s+$` did over every file that ends with a
|
|
85
|
+
line end, now passes; `[ \t]+$` reads only the blanks a line ends with.
|
|
86
|
+
- **Another git work tree below the root is not read**, by a run or by
|
|
87
|
+
`cites`: a directory holding a `.git` file, as a linked worktree under
|
|
88
|
+
`.claude/worktrees` and a submodule do, or a `.git` directory with a
|
|
89
|
+
`HEAD`, as a clone does. 0.27.0 read a desktop-app session's worktree as
|
|
90
|
+
part of the checkout above it: a rule over `.` counted its code, `cites`
|
|
91
|
+
counted its citations twice, and a stale citation in it failed
|
|
92
|
+
`cites --strict` in the checkout. A run names each work tree it left
|
|
93
|
+
out, as `skipped` with `reason: "worktree"`, which `--strict` does not
|
|
94
|
+
fail on; `cites` names them as `workTrees`; `--no-default-skips` reads
|
|
95
|
+
them
|
|
96
|
+
([ADR-0007](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0007-search-scope.md)).
|
|
97
|
+
Upgrading: a rule over a directory that holds another work tree no longer
|
|
98
|
+
reads it, so a rule that failed only on a worktree's code passes, and one
|
|
99
|
+
that needed a file in another work tree, for a minimum or for a scope
|
|
100
|
+
that holds a file, may now fail; name the work tree as the rule's target
|
|
101
|
+
to read it. A spec pattern no longer reaches another work tree's specs,
|
|
102
|
+
nor `impact` its files. A script that took every `skipped` entry for a
|
|
103
|
+
gap reads its `reason`.
|
|
104
|
+
|
|
105
|
+
### Fixed
|
|
106
|
+
|
|
107
|
+
- **On Windows a drive letter names its volume in either case**, so
|
|
108
|
+
`--root C:\x` beside `--root c:\x` is one root, in either order and on
|
|
109
|
+
every command. It was refused, exit 2, as two values. The rest of a
|
|
110
|
+
path is compared as it resolves, as before, so `--root C:\x` beside
|
|
111
|
+
`--root C:\X` is still refused, and off Windows the two letters are
|
|
112
|
+
two names and refused as they were
|
|
113
|
+
([ADR-0014](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0014-configuration-and-watch.md)).
|
|
114
|
+
- **A file two targets that overlap both reach is counted once under
|
|
115
|
+
ripgrep**, as under the scanner. ripgrep given `.` and `src` named each
|
|
116
|
+
file in `src` under both, and each match there was counted twice, so
|
|
117
|
+
`target=".,src"` with a bound could fail under `--engine rg`, and under
|
|
118
|
+
`auto` past its budget, and pass under `--engine js`.
|
|
119
|
+
|
|
120
|
+
## 0.27.0
|
|
121
|
+
|
|
122
|
+
A Rust use declaration and a C# using directive are read as their
|
|
123
|
+
compilers read them: `use a :: b;` was read as a module named `a :: b`,
|
|
124
|
+
and `using System . Text;` as nothing. A Python statement that starts as
|
|
125
|
+
an import and that Python refuses is said, where it was passed over with
|
|
126
|
+
no word. And `--help` beside `--version` is refused, exit 2.
|
|
127
|
+
|
|
128
|
+
### Changed
|
|
129
|
+
|
|
130
|
+
- **`--help` beside `--version` is refused**, in either order, exit 2, with
|
|
131
|
+
one line that names both, on every command. Each order printed the help,
|
|
132
|
+
and the version went unread
|
|
133
|
+
([ADR-0014](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0014-configuration-and-watch.md)).
|
|
134
|
+
Upgrading: give one of the two.
|
|
135
|
+
- **A Python statement that starts as an import and that Python refuses is
|
|
136
|
+
said, as a note under each import rule over its file**, where it was
|
|
137
|
+
passed over with no word: `from a import b,` names no module, and a rule
|
|
138
|
+
over it passed under `--strict` too. The note is one of those a rule
|
|
139
|
+
could not read, so under `--strict` the rule fails for it, exit 1; over
|
|
140
|
+
the 4,341 files of Python 3.11.9's own library, which Python parses, no
|
|
141
|
+
such note is made
|
|
142
|
+
([ADR-0008](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0008-polyglot-imports.md)).
|
|
143
|
+
Upgrading: a `--strict` run over a Python file that Python would refuse
|
|
144
|
+
may now fail; mend the statement the note names. From the package,
|
|
145
|
+
`NoteKind` has `refused` beside the other three, and `impact` lists such
|
|
146
|
+
a file among those whose imports could not all be read.
|
|
147
|
+
- **A Rust use declaration and a C# using directive are read as their
|
|
148
|
+
compilers read them.** `use a :: b;`, which rustc compiles, was read as a
|
|
149
|
+
module named `a :: b`, blanks and all, and `use r#mod::d;` as
|
|
150
|
+
`r#mod::d`, so a rule on `a::b` or on `mod` passed over each; and
|
|
151
|
+
`use ::serde::{Deserialize};` was `::serde::Deserialize`, which no rule on
|
|
152
|
+
`serde` matched. `using System . Text;`, `using T = System . Text .
|
|
153
|
+
Json;`, `using @System.IO;`, a name written with an escape or with a
|
|
154
|
+
letter beyond ASCII, `using static unsafe` and `using static` of a
|
|
155
|
+
generic type were each read as nothing. A declaration is now read by its
|
|
156
|
+
language's grammar, token by token, with white space and comments between
|
|
157
|
+
its tokens and each name as the compiler compares two, and what the
|
|
158
|
+
compiler refuses is read as nothing, where `use a::b c;` and `using A.;`
|
|
159
|
+
were each read as an import; and so were `let r#use = 1;`, a `#region`
|
|
160
|
+
line and `static object @using = A.B;`, which hold none. Of 144 Rust
|
|
161
|
+
sources given to rustc 1.97.1 and 132 C# ones given to the compiler of the
|
|
162
|
+
.NET SDK 10.0.401, 0.26.0 read 29 of the 78 rustc compiles with an import,
|
|
163
|
+
and 52 of the 83 such C# ones, otherwise than the compiler does; over the
|
|
164
|
+
31,343 Rust files of a cargo registry it read 294 lines as imports that
|
|
165
|
+
hold none, and lost 4 that do
|
|
166
|
+
([ADR-0008](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0008-polyglot-imports.md)).
|
|
167
|
+
Upgrading: an `@assert-import-absence`, `@assert-import-count` or
|
|
168
|
+
`@assert-layers` rule over Rust or C# that passed may now fail for an
|
|
169
|
+
import written one of those ways; mend the import it names, or give the
|
|
170
|
+
rule a `baseline`. A rule that failed only for a declaration the compiler
|
|
171
|
+
refuses, or for text that is no import, now passes over it. A use group
|
|
172
|
+
nested more than 64 deep is reported as truncated, where 0.26.0 ran out of
|
|
173
|
+
stack. From the package, `expandUsePath` names nothing of text that is no
|
|
174
|
+
use tree, and `Reader`'s `eat`, `keyword`, `dotted` and
|
|
175
|
+
`skipGenerics`, which only the C# reader called, are gone.
|
|
176
|
+
|
|
13
177
|
## 0.26.0
|
|
14
178
|
|
|
15
179
|
An option that takes one value is refused given two, exit 2, and so is
|
package/README.md
CHANGED
|
@@ -232,9 +232,9 @@ These read the dependency rather than the text, in **five languages**:
|
|
|
232
232
|
| --- | --- | --- |
|
|
233
233
|
| JavaScript / TypeScript | `.js .mjs .cjs .jsx .ts .mts .cts .tsx` | `import`, `export ... from`, `require()`, `import()` |
|
|
234
234
|
| Python | `.py .pyi` | `import a.b` and `from .rel import x` in every spelling Python's grammar takes, 3.15's `lazy import` among them, and `importlib.import_module("x")` |
|
|
235
|
-
| Go | `.go` | `import "x"` and grouped `import ( ... )`, including
|
|
236
|
-
| Rust | `.rs` | `use a::{b, c}` with nested groups, `pub use
|
|
237
|
-
| C# | `.cs .csx` | `using`, `using static`, `global using`, `using X = A.B`, `global::` and extern-alias qualifiers, and a using relative to its namespace |
|
|
235
|
+
| Go | `.go` | `import "x"` and grouped `import ( ... )`, including `.`, `_` and a package name as Go writes one, beyond ASCII too |
|
|
236
|
+
| Rust | `.rs` | `use a::{b, c}` with nested groups, `pub use` and `extern crate`, in every spelling rustc's grammar takes: white space and comments between the tokens, a raw identifier, `self` at the end of a path |
|
|
237
|
+
| C# | `.cs .csx` | `using`, `using static`, `global using`, `using X = A.B`, `global::` and extern-alias qualifiers, and a using relative to its namespace, in every spelling the C# grammar takes: white space and comments between the tokens, a name written with `@` or an escape, `using static unsafe` and a generic type, and each type an alias or a `using static` holds, its type arguments and the elements of a tuple among them |
|
|
238
238
|
|
|
239
239
|
No parser and no new dependency. JavaScript gets a full tokenizer because a
|
|
240
240
|
module reference can appear anywhere in an expression; the other four are read
|
|
@@ -289,6 +289,14 @@ stops it being mistaken for a complete answer.
|
|
|
289
289
|
- **A passing rule prints it** without `--verbose` too, since a green run is
|
|
290
290
|
when it would otherwise go unread.
|
|
291
291
|
- **`--strict` turns those warnings into failures.**
|
|
292
|
+
- **A statement that starts as an import and that its compiler refuses is
|
|
293
|
+
one of them**: a Python statement Python refuses, `from a import b,`; a
|
|
294
|
+
Rust use declaration or extern crate that rustc refuses in every
|
|
295
|
+
edition, `use a::b c;` or `use a::fn;`; and a C# using directive the
|
|
296
|
+
compiler refuses, `using A.;`. Each names no module, and the rule says so
|
|
297
|
+
on its file and line. A `use` among a macro's tokens, or in a bound such
|
|
298
|
+
as `impl Trait + use<'a>`, a C# using statement or declaration, and a
|
|
299
|
+
directive in a section an `#if` may leave out start none.
|
|
292
300
|
- **Files in scope in a language whose imports spec-guard cannot read are
|
|
293
301
|
counted and reported**, so a rule pointed at the wrong tree says "analysed 2
|
|
294
302
|
of 3 files; 1 is in a language whose imports spec-guard cannot read (.razor)"
|
|
@@ -372,10 +380,13 @@ single pattern do both halves of a layer rule - hold the files under
|
|
|
372
380
|
- **`module=` is a namespace too**, as above: `module="Shop.Infrastructure"`
|
|
373
381
|
covers `using Shop.Infrastructure.Persistence;`.
|
|
374
382
|
- **What is read**: `using`, `global using`, `using static` and aliases, with
|
|
375
|
-
any `global::` or extern-alias qualifier left off the name
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
383
|
+
any `global::` or extern-alias qualifier left off the name, and each type
|
|
384
|
+
an alias or a `using static` holds: `using Pool =
|
|
385
|
+
Dictionary<Shop.Db.Key, int>;` names `Dictionary` and `Shop.Db.Key`, and
|
|
386
|
+
`using T = int;` names nothing. A using inside a namespace may be relative
|
|
387
|
+
to it, so `using Application.Orders;` inside `namespace Shop.Domain` also
|
|
388
|
+
counts as `Shop.Application.Orders`. Nothing in a comment, a verbatim
|
|
389
|
+
string or a raw string literal is read.
|
|
379
390
|
|
|
380
391
|
What it cannot see, and the text rule that covers each - a text rule reads a
|
|
381
392
|
name wherever it is written:
|
|
@@ -576,7 +587,7 @@ Passes when every listed path exists relative to `--root`. Directories count.
|
|
|
576
587
|
| `min` / `max` | count (`max` on all but present) | Inclusive bounds |
|
|
577
588
|
| `glob` | absence, count, structure | Include-only file filters, e.g. `*.ts,*.tsx` (ripgrep `-g` semantics) |
|
|
578
589
|
| `exclude` | all but present | Paths to leave out, gitignore-style: `src/config/**`, `tests`, `*.test.ts` |
|
|
579
|
-
| `regex` | absence, count | Treat `symbol` as a regular expression |
|
|
590
|
+
| `regex` | absence, count | Treat `symbol` as a regular expression, JavaScript's, where `^` and `$` match at each line's start and end |
|
|
580
591
|
| `word` | absence, count | Require word boundaries, so `Primary` does not match `PrimaryButton` |
|
|
581
592
|
| `ignore-case` | absence, count | Case-insensitive matching |
|
|
582
593
|
| `comments` | absence, count | `ignore` (default) or `include` for matches inside comments |
|
|
@@ -597,6 +608,15 @@ Unknown attributes are an error, not a shrug: `expct="1"` fails the run instead
|
|
|
597
608
|
of silently asserting nothing. A spec tool whose typos assert nothing is worse
|
|
598
609
|
than no spec tool.
|
|
599
610
|
|
|
611
|
+
A `regex` is read against each file's whole text, so a match may cross a
|
|
612
|
+
line end. `^` and `$` match at the start and the end of every line, a line
|
|
613
|
+
ending at LF, at CRLF or at a lone CR, as ripgrep reads one with `--crlf`;
|
|
614
|
+
U+2028 and U+2029 end none, and no line follows a file's last line end.
|
|
615
|
+
`symbol="^\s*-?\s*uses:"` meets `uses:` on any line, with either engine
|
|
616
|
+
([ADR-0007](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0007-search-scope.md)).
|
|
617
|
+
`\s` matches a line end too, so `\s+$` also meets a line followed by an
|
|
618
|
+
empty one; `[ \t]+$` reads only the blanks a line ends with.
|
|
619
|
+
|
|
600
620
|
### `exclude` - everywhere except
|
|
601
621
|
|
|
602
622
|
Most real rules are "nowhere except one place", not "not here":
|
|
@@ -802,7 +822,8 @@ for architecture rules.
|
|
|
802
822
|
An assertion is worth exactly as much as the set of files behind it, so
|
|
803
823
|
spec-guard is explicit about that set and never quietly narrows it.
|
|
804
824
|
|
|
805
|
-
**Four directory names are skipped**,
|
|
825
|
+
**Four directory names are skipped**, as is another git work tree below the
|
|
826
|
+
root (see below), and nothing else:
|
|
806
827
|
|
|
807
828
|
| Skipped | Why |
|
|
808
829
|
| --- | --- |
|
|
@@ -827,7 +848,26 @@ To narrow scope, say so in the assertion:
|
|
|
827
848
|
<!-- @assert-absence target="src" symbol="TODO" exclude="dist coverage" -->
|
|
828
849
|
```
|
|
829
850
|
|
|
830
|
-
|
|
851
|
+
**Another git work tree below the root is not read either**: a directory
|
|
852
|
+
holding a `.git` file, as a linked worktree and a submodule do (a
|
|
853
|
+
desktop-app session keeps its worktree under `.claude/worktrees`), or a
|
|
854
|
+
`.git` directory with a `HEAD`, as a clone does. Its files are another
|
|
855
|
+
checkout's: read, a stale citation in a session's worktree failed
|
|
856
|
+
`cites --strict` in the checkout above it. A run names each one it left
|
|
857
|
+
out, and `--json` has it in `skipped` with `reason: "worktree"`, which
|
|
858
|
+
`--strict` does not fail on:
|
|
859
|
+
|
|
860
|
+
```text
|
|
861
|
+
⚠ 1 other git work tree not read: .claude/worktrees/feature
|
|
862
|
+
```
|
|
863
|
+
|
|
864
|
+
Where a walk starts is read as asked, so a root that is itself a worktree is
|
|
865
|
+
read, and a rule can name a work tree as its `target`. `query` and the MCP
|
|
866
|
+
server read no file, so they cannot tell a work tree from a directory
|
|
867
|
+
([ADR-0007](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0007-search-scope.md)).
|
|
868
|
+
|
|
869
|
+
`--no-default-skips` removes even those four, and reads the other work trees
|
|
870
|
+
too, for a run that has to be certain.
|
|
831
871
|
|
|
832
872
|
### Spec files are left out of their own searches
|
|
833
873
|
|
|
@@ -1121,11 +1161,13 @@ spec-guard prove 3 specs · 12 rules
|
|
|
1121
1161
|
|
|
1122
1162
|
Each rule is **killed** (it failed on the violation), **survived** (it still
|
|
1123
1163
|
passed, and the violation is shown), or **unprovable** (no violation could be
|
|
1124
|
-
made, and the reason is given). Both bounds of a count are probed
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1164
|
+
made, and the reason is given). Both bounds of a count are probed, and a
|
|
1165
|
+
regular expression's maximum twice: with its text at a file's start, and
|
|
1166
|
+
below a line of prove's own, so a pattern whose `^` or `$` met only a file's
|
|
1167
|
+
ends survives. `prove` exits 1 when a rule survived, and under `--strict`
|
|
1168
|
+
when one is unprovable. It takes the run's `--root`, `--spec`, `--exclude`,
|
|
1169
|
+
`--ignore-status`, `--json` and `--format sarif|github|gitlab`, and the
|
|
1170
|
+
configuration's specs, exclusions and strictness.
|
|
1129
1171
|
|
|
1130
1172
|
A kill means the rule can fail, not that it catches the way the code is
|
|
1131
1173
|
written: `module="src/db.ts"` is killed by `import 'src/db.ts'` though every
|
|
@@ -1188,10 +1230,11 @@ in the file name:
|
|
|
1188
1230
|
named. `cites` takes no `--allow-empty`, since it refuses nothing.
|
|
1189
1231
|
- **Comment text only**, as the comment classifier reads it: an id in a string,
|
|
1190
1232
|
a raw string or a YAML value is not a citation. Markdown is spec-graph's and
|
|
1191
|
-
is not read, nor are the spec files, the project's `exclude`,
|
|
1192
|
-
skips
|
|
1193
|
-
|
|
1194
|
-
|
|
1233
|
+
is not read, nor are the spec files, the project's `exclude`, the default
|
|
1234
|
+
skips, and another git work tree below the root, which is named, and is
|
|
1235
|
+
`workTrees` in `--json`. Files in a language whose comments spec-guard does
|
|
1236
|
+
not know are counted by extension, and a file read in part - binary,
|
|
1237
|
+
unreadable, or a scan that lost its place - is named.
|
|
1195
1238
|
- **Another project's ids are not checked**: `spec-core's ADR-0005`,
|
|
1196
1239
|
`spec-graph ADR-0017` or `its ADR-12` name a document in another repository,
|
|
1197
1240
|
and are counted instead.
|
|
@@ -1308,7 +1351,7 @@ spec-guard impact <paths...> # the files that depend on each path, and
|
|
|
1308
1351
|
| `--allow-missing-targets` / `--no-allow-missing-targets` | Warn instead of failing when a `target` path does not exist |
|
|
1309
1352
|
| `--allow-empty-scope` / `--no-allow-empty-scope` | Warn instead of failing when an assertion inspects no files |
|
|
1310
1353
|
| `--print-baseline` | Print the `baseline="..."` that would exempt today's violations, and exit |
|
|
1311
|
-
| `--no-default-skips` / `--default-skips` | Search `.git`, `.hg`, `.svn` and `node_modules` too |
|
|
1354
|
+
| `--no-default-skips` / `--default-skips` | Search `.git`, `.hg`, `.svn` and `node_modules` too, and the other git work trees below the root |
|
|
1312
1355
|
| `--exclude <globs>` | Paths no assertion looks at, beside each directive's own `exclude`. Repeatable; replaces the configuration's list, and `--exclude=` clears it. Separators with nothing between them, `","`, are refused |
|
|
1313
1356
|
| `--ignore-status` / `--no-ignore-status` | Execute directives in documents not in force too: draft, proposed, rejected, deprecated, superseded or archived |
|
|
1314
1357
|
| `--include-specs` / `--no-include-specs` | Also count matches inside the spec files themselves |
|
|
@@ -1388,10 +1431,15 @@ spec-guard: Option --json is given beside --format "sarif", and one of the two w
|
|
|
1388
1431
|
|
|
1389
1432
|
The same value given twice is read as once, however it is spelled: `--root .`
|
|
1390
1433
|
beside `--root ./`, `--format JSON` beside `--format json`, and `--json`
|
|
1391
|
-
beside `--format json`.
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1434
|
+
beside `--format json`. On Windows a drive letter names its volume in either
|
|
1435
|
+
case, so `--root C:\x` beside `--root c:\x` is one root; the rest of a path
|
|
1436
|
+
is compared as it resolves, and `--root C:\x` beside `--root C:\X` is two,
|
|
1437
|
+
since whether they are one directory is the disk's to say. `--spec` and
|
|
1438
|
+
`--exclude` are lists, and each use adds to its list; `--exclude=` adds
|
|
1439
|
+
nothing to it, and the configuration's list is replaced either way. Such a
|
|
1440
|
+
line is refused with `--help` or `--version` on it too, as a line with a
|
|
1441
|
+
pair is. And `--help` beside `--version` is refused the same way, in either
|
|
1442
|
+
order: they ask for two answers, and a line gets one.
|
|
1395
1443
|
|
|
1396
1444
|
And so is a spec pattern that matches no file beside others that do. After
|
|
1397
1445
|
`old-docs` was renamed, `spec-guard docs old-docs` ran the specs under `docs`
|
|
@@ -1578,7 +1626,7 @@ jobs:
|
|
|
1578
1626
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
1579
1627
|
with:
|
|
1580
1628
|
persist-credentials: false
|
|
1581
|
-
- uses: actions/setup-node@
|
|
1629
|
+
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
|
|
1582
1630
|
with:
|
|
1583
1631
|
node-version: '22'
|
|
1584
1632
|
- run: npm ci
|
|
@@ -1652,7 +1700,7 @@ comment on the offending line:
|
|
|
1652
1700
|
steps:
|
|
1653
1701
|
# ...checkout, setup-node and npm ci as above
|
|
1654
1702
|
- run: npx --no-install @descent-vtt/spec-guard "docs/**/*.md" --format sarif > spec-guard.sarif || true
|
|
1655
|
-
- uses: github/codeql-action/upload-sarif@
|
|
1703
|
+
- uses: github/codeql-action/upload-sarif@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
|
|
1656
1704
|
with:
|
|
1657
1705
|
sarif_file: spec-guard.sarif
|
|
1658
1706
|
category: spec-guard
|
|
@@ -1978,8 +2026,8 @@ build fails if they stop being true. CI proves every one of those rules can
|
|
|
1978
2026
|
fail, and `spec-guard cites` holds every ADR a comment in the code cites to
|
|
1979
2027
|
existing and being in force.
|
|
1980
2028
|
|
|
1981
|
-
Line coverage is 100%, CI's full mutation sweep kills 99.
|
|
1982
|
-
(0.
|
|
2029
|
+
Line coverage is 100%, CI's full mutation sweep kills 99.23% of 14,224 mutants
|
|
2030
|
+
(0.28.0), and every survivor a release adds is replayed before it ships
|
|
1983
2031
|
([ADR-0003](https://github.com/DescentVTT/spec-guard/blob/main/docs/adr/0003-mutation-testing.md));
|
|
1984
2032
|
[CONTRIBUTING.md](https://github.com/DescentVTT/spec-guard/blob/main/CONTRIBUTING.md)
|
|
1985
2033
|
has how to build, test and release, and
|
package/dist/cites.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cites.d.ts","sourceRoot":"","sources":["../src/cites.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cites.d.ts","sourceRoot":"","sources":["../src/cites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,EAAU,KAAK,EAAE,EAAE,MAAM,SAAS,CAAC;AAK1C,OAAO,KAAK,EAAE,UAAU,EAA0C,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI9G,mEAAmE;AACnE,eAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAwBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc3D;AAED,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAG5D;AAED,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,+GAA+G;IAC/G,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB9D;AAcD,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAKlE;AAED,wFAAwF;AACxF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAaxF;AAID,uFAAuF;AACvF,MAAM,WAAW,QAAQ;IACvB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,UAAU,EAAE,GAAG,QAAQ,EAAE,CAiBxF;AAkBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAc9D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,QAAQ,EAAE,CASzH;AAaD,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAG3D;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,8EAA8E;AAC9E,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CACzC;AAiBD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAoB1I;AAOD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAoCtI;AAID,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACjC,+EAA+E;IAC/E,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,sDAAsD;IACtD,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,EAAE,CAAC;CACT;AAED,0GAA0G;AAC1G,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAqCxC;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAmM/E"}
|
package/dist/cites.js
CHANGED
|
@@ -448,6 +448,7 @@ export async function findCitations(options) {
|
|
|
448
448
|
const candidates = [];
|
|
449
449
|
const starts = options.paths?.map((entry) => (entry === '.' ? '' : entry)) ?? [''];
|
|
450
450
|
const seen = new Set();
|
|
451
|
+
const workTrees = [];
|
|
451
452
|
// With nothing to look for, no path is walked, and every count stays at zero.
|
|
452
453
|
if (families.length > 0) {
|
|
453
454
|
for (const start of starts) {
|
|
@@ -457,7 +458,15 @@ export async function findCitations(options) {
|
|
|
457
458
|
if (stats?.isFile())
|
|
458
459
|
entries.push({ relativePath: start, absolutePath: absoluteStart });
|
|
459
460
|
else {
|
|
460
|
-
|
|
461
|
+
// A worktree inside the checkout holds its own copy of every comment,
|
|
462
|
+
// and its citations were counted twice and its stale ones failed
|
|
463
|
+
// `cites --strict` in the checkout above it.
|
|
464
|
+
const onSkip = (relativePath, reason) => {
|
|
465
|
+
const top = start === '' ? relativePath : `${start}/${relativePath}`;
|
|
466
|
+
if (reason === 'worktree' && !excluded(`${top}/.git`) && !workTrees.includes(top))
|
|
467
|
+
workTrees.push(top);
|
|
468
|
+
};
|
|
469
|
+
for await (const entry of walkPaths(absoluteStart, { io, scope, onSkip })) {
|
|
461
470
|
entries.push({ relativePath: start === '' ? entry.relativePath : `${start}/${entry.relativePath}`, absolutePath: entry.absolutePath });
|
|
462
471
|
}
|
|
463
472
|
}
|
|
@@ -580,6 +589,7 @@ export async function findCitations(options) {
|
|
|
580
589
|
unclassified: [...unclassified]
|
|
581
590
|
.map(([extension, files]) => ({ extension, files }))
|
|
582
591
|
.sort((a, b) => b.files - a.files || comparePaths(a.extension, b.extension)),
|
|
592
|
+
workTrees,
|
|
583
593
|
notes,
|
|
584
594
|
exclude,
|
|
585
595
|
};
|
package/dist/cites.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cites.js","sourceRoot":"","sources":["../src/cites.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5H,OAAO,EAAE,MAAM,EAAW,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAG/C,gFAAgF;AAEhF,mEAAmE;AACnE,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC;AAQ5B,0EAA0E;AAC1E,wEAAwE;AACxE,MAAM,IAAI,GAAG,kBAAkB,CAAC;AAEhC,6EAA6E;AAC7E,8EAA8E;AAC9E,0EAA0E;AAC1E,6CAA6C;AAC7C,SAAS,OAAO,CAAC,IAAwB;IACvC,wDAAwD;IACxD,OAAQ,IAAe,IAAI,GAAG,IAAK,IAAe,IAAI,GAAG,CAAC;AAC5D,CAAC;AAED,SAAS,MAAM,CAAC,IAAwB;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;AACnC,CAAC;AAED,iDAAiD;AACjD,SAAS,OAAO,CAAC,QAAgB;IAC/B,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,KAAK,KAAK,CAAC;YAChB,CAAC,CAAC,IAAI,QAAQ,YAAY,MAAM,0DAA0D,MAAM,EAAE;YAClG,CAAC,CAAC,IAAI,QAAQ,SAAS,MAAM,6CAA6C,CAAC;IAC/E,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAAE,OAAO,IAAI,QAAQ,8BAA8B,MAAM,oCAAoC,CAAC;IAC9H,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,QAAQ,wBAAwB,MAAM,wDAAwD,CAAC;IACpI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,QAAQ,wBAAwB,MAAM,sCAAsC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;IACpE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,KAAK,KAAK,CAAC;YAChB,CAAC,CAAC,IAAI,QAAQ,YAAY,MAAM,+DAA+D,MAAM,OAAO;YAC5G,CAAC,CAAC,IAAI,QAAQ,SAAS,MAAM,mDAAmD,CAAC;IACrF,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,QAAQ,SAAS,MAAM,4DAA4D,CAAC;IAC3H,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;IAC/D,IAAI,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,QAAQ,4BAA4B,MAAM,2EAA2E,CAAC;IACrJ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,QAAQ,wBAAwB,MAAM,sCAAsC,CAAC;IAC1F,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,MAAM,KAAK,EAAE,CAAC;AAC3D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClF,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACpD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACrF,OAAO,CAAC,YAAY,EAAE,EAAE;QACtB,qEAAqE;QACrE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAE,GAAG,IAAI,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9C,OAAO,MAAM,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,CAAC,CAAC;AACJ,CAAC;AAiBD;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,SAAgC;IAC1E,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE;QAC/C,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YACjF,IAAI,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC1D,MAAM,WAAW,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;YACvC,IAAI,SAAS,GAAG,WAAW,CAAC;YAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAAE,SAAS,IAAI,CAAC,CAAC;YAChD,IAAI,SAAS,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;gBAAE,SAAS;YAC/E,MAAM,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;YACtC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAAE,SAAS;YACzD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9H,CAAC;IACH,CAAC,CAAC,CAAC;IACH,iEAAiE;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAE3J,+FAA+F;AAC/F,MAAM,IAAI,GAAG,uBAAuB,CAAC;AAErC,iFAAiF;AACjF,MAAM,MAAM,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAElE,kHAAkH;AAClH,SAAS,KAAK,CAAC,IAAY,EAAE,KAAa;IACxC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,KAAa;IACnD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpE,oEAAoE;IACpE,2DAA2D;IAC3D,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI;QAAE,GAAG,IAAI,CAAC,CAAC;IACjE,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAE,UAAU,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACjG,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,SAA8B,EAAE,QAAkD;IAC3G,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,OAAO,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAK,QAAQ,CAAC,KAAK,CAA+B,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK;YAAE,KAAK,IAAI,CAAC,CAAC;QAClH,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAEpE,MAAM,UAAU,OAAO,CAAC,MAA0B;IAChD,8EAA8E;IAC9E,OAAO,iBAAiB,CAAC,GAAG,CAAC,MAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;AACnF,CAAC;AAmBD,yDAAyD;AACzD,SAAS,IAAI,CAAC,MAAwC,EAAE,OAAe;IACrE,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AACxE,CAAC;AAED,oGAAoG;AACpG,KAAK,UAAU,OAAO,CAAC,EAAM,EAAE,KAAwB;IACrD,MAAM,IAAI,GAA0B,EAAE,CAAC;IACvC,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,KAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAkB,EAAE,IAAY,EAAE,EAAM,EAAE,YAAqB;IACjG,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,KAAK,GAA+D,EAAE,CAAC;IAC7E,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACxG,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAChF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;IACrD,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAmB,CAAC;QAChD,qEAAqE;QACrE,mCAAmC;QACnC,MAAM,IAAI,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7H,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAEhF,uFAAuF;AACvF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,SAA0D;IACvF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmE,CAAC;IAC1F,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,uCAAuC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACzE,OAAO,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAChH,CAAC,CAAC,CACH,CAAC;QACF,MAAM,KAAK,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,4DAA4D;QAC5D,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAkB,CAAC;QACzC,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CACR,GAAG,KAAK,4MAA4M,CACrN,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,GAAG,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAE,SAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzH,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAsBD,0GAA0G;AAC1G,MAAM,OAAO,UAAW,SAAQ,KAAK;CAAG;AAExC,8FAA8F;AAC9F,SAAS,OAAO,CAAC,MAAsB,EAAE,MAAc;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,sEAAsE;IACtE,8DAA8D;IAC9D,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpG,2DAA2D;IAC3D,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;IACvG,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAqB,CAAC,CAAC,CAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3H,CAAC;AAED,gGAAgG;AAChG,SAAS,WAAW,CAAC,QAAuB,EAAE,GAAuC,EAAE,QAAmC;IACxH,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,SAAS,CAAC;QACR,wEAAwE;QACxE,MAAM,KAAK,GAAI,OAAO,CAAC,MAAqB,CAAC,KAAK,CAAC;QACnD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzH,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAmB,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACzD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAqB;IACvD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;IAClD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1J,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAK,OAAsC,CAAC,QAAQ,CAAC;IACtF,MAAM,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,yEAAyE;IACzE,2EAA2E;IAC3E,sEAAsE;IACtE,+DAA+D;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,wDAAwD;IACxD,MAAM,YAAY,GAAG,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,cAAc,KAAK,SAAS,CAAC;IAEhF,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,UAAU,CAClB,uBAAuB,MAAM,CAAC,KAAK,0BAA0B,MAAM,CAAC,EAAE,qFAAqF,CAC5J,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,CAAC,4KAA4K;YAC9K,CAAC,CAAC,+CAA+C,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,UAAU,GAA8C,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,8EAA8E;IAC9E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3C,MAAM,OAAO,GAA0D,EAAE,CAAC;YAC1E,IAAI,KAAK,EAAE,MAAM,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;iBACnF,CAAC;gBACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBAClE,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;gBACzI,CAAC;YACH,CAAC;YACD,KAAK,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,OAAO,EAAE,CAAC;gBACrD,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;oBAAE,SAAS;gBACrC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;gBACjE,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC;oBAAE,SAAS;gBAC1H,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,IAAI,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;oBACrD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC1D,SAAS;gBACX,CAAC;gBACD,+DAA+D;gBAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACpE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAqB,EAAQ,EAAE;QACzD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,sBAAsB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,6CAA6C,EAAE,CAAC,CAAC;YAChG,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,CAAC;QACV,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAA8C,CAAC,CAAC;QAC5F,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,yEAAyE,EAAE,CAAC,CAAC;QAC9H,CAAC;QACD,IAAI,KAA2B,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClF,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,KAAK,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,GAAG,IAAI,SAAS,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtE,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,SAAS,IAAI,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,OAAO,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;IACF,yEAAyE;IACzE,4DAA4D;IAC5D,KAAK,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,GAAI,CAAC;QAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAmB,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,MAAM,CAAC;IACtF,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IACvC,MAAM,aAAa,GAAuB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAClG,EAAE;QACF,KAAK;QACL,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KACnF,CAAC,CAAC,CAAC;IAEJ,sEAAsE;IACtE,uEAAuE;IACvE,yEAAyE;IACzE,gBAAgB;IAChB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IACjF,MAAM,WAAW,GAAG,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,2EAA2E;IAC3E,wEAAwE;IACxE,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,OAAO;QACL,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,4DAA4D;QAC5D,EAAE,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;QAClH,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QACjE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;QACnB,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;QACzC,QAAQ,EAAE,aAAa;QACvB,GAAG,SAAS;QACZ,OAAO,EAAE;YACP,KAAK,EAAE,IAAI;YACX,SAAS;YACT,MAAM;YACN,KAAK;YACL,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;SACpF;QACD,QAAQ;QACR,IAAI;QACJ,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9E,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,KAAK,CACZ,QAAkB,EAClB,QAAmC,EACnC,KAAqD,EACrD,MAAe;IAEf,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAmB,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,OAAO;YACjB,GAAG,KAAK;YACR,KAAK,EAAE,QAAQ,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,OAAO,EAAE,GAAG,EAAE,UAAU,QAAQ,CAAC,OAAO,6BAA6B;YACrE,IAAI,EAAE,wBAAwB,MAAM,CAAC,KAAK,mBAAmB,QAAQ,CAAC,MAAM,iBAAiB,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;SACtJ,CAAC;IACJ,CAAC;IACD,gFAAgF;IAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAkB,CAAC;IAC5C,MAAM,MAAM,GAAI,KAAK,CAAC,MAAqB,CAAC,KAAK,CAAC;IAClD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,UAAW,KAAK,CAAC,MAAqB,CAAC,KAAK,GAAG,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACtC,GAAG,KAAK;QACR,KAAK,EAAE,QAAQ,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,EAAE;QACjB,QAAQ,EAAE,KAAK,CAAC,IAAI;QACpB,MAAM;QACN,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;QAC1D,OAAO,EAAE,GAAG,EAAE,UAAU,QAAQ,CAAC,OAAO,cAAc,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,SAAS,CAAC,EAAE,UAAU,EAAE;QAC5H,IAAI,EACF,SAAS,KAAK,IAAI;YAChB,CAAC,CAAC,GAAG,IAAI,iGAAiG;YAC1G,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,CAAC,GAAG,IAAI,6BAA6B,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,4BAA4B,SAAS,CAAC,EAAE,EAAE;gBAC7K,CAAC,CAAC,GAAG,IAAI,EAAE;KAClB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"cites.js","sourceRoot":"","sources":["../src/cites.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -101,7 +101,21 @@ export declare class UsageError extends Error {
|
|
|
101
101
|
* fallback nobody knows still works.
|
|
102
102
|
*/
|
|
103
103
|
export declare function version(manifest?: string): string;
|
|
104
|
-
export declare const HELP = "spec-guard - Executable architecture assertions for Markdown specs & ADRs\n\nUsage\n spec-guard [patterns...] [options] execute the directives in the specs\n spec-guard query <paths...> [options] list the rules in force for files or directories\n spec-guard mcp [options] serve the rules to an AI agent over MCP on stdio\n spec-guard prove [patterns...] [options]\n show each rule a violation of itself, in memory, and report any that pass\n spec-guard cites [paths...] [options] check that each spec a code comment cites exists and is in force\n spec-guard impact <paths...> [options] the files that depend on each path, and the rules in play there\n\nPatterns\n Globs or paths to the Markdown specs to execute. A directory expands to the\n Markdown files inside it. Defaults to \"docs/**/*.md\" when omitted. query,\n mcp, cites and impact take theirs from --spec.\n\nOptions\n -r, --root <path> Codebase root that assertions are resolved against, a directory (default: cwd)\n --spec <pattern> A spec glob or path; repeatable (default: \"docs/**/*.md\")\n -v, --verbose Print passing assertions too\n --watch Run again as the tree changes, until Ctrl+C (human output only)\n --fail-fast Stop at the first failing assertion\n --json Emit a machine-readable JSON report (same as --format json)\n --format <name> human | json | sarif | github | gitlab (sarif uploads to code scanning,\n github annotates a pull request from the log, gitlab is Code Quality)\n --engine <name> auto | rg | js (default: auto - scanner for small trees, ripgrep for big ones)\n ripgrep is rg on PATH, or the program SPEC_GUARD_RG names; where that\n is no ripgrep that runs, rg is exit 2 and auto leaves it to the scanner\n --strict Treat analysis that could not be completed, and a run that\n executed no assertion, as a failure\n --allow-missing-targets\n Tolerate target paths that do not exist (they fail by default)\n --allow-empty-scope Tolerate assertions whose scope holds no files (they fail by default)\n --print-baseline Print the baseline=\"...\" that would exempt today's violations, and exit\n --no-default-skips Search .git, .hg, .svn and node_modules too\n --exclude <globs> Paths no assertion looks at, beside each directive's exclude; repeatable\n --ignore-status Execute directives in documents not in force too (see Directives)\n --include-specs Also count matches inside the spec files themselves\n --max-snippets <n> Failure snippets per assertion (default: 5)\n --concurrency <n> Assertions executed in parallel, 1 or more (default: 8)\n --depth <n> impact: follow dependents at most n imports away (default: all)\n --allow-empty Let a run, prove or impact through when no spec file matched, or when\n one pattern matched none beside others that did (not an assertion)\n --color/--no-color Force colour on or off (NO_COLOR, FORCE_COLOR and TERM=dumb are honoured)\n --ascii/--no-ascii Write a report in ASCII, its marks as + x ! o, or with their Unicode\n forms, on any platform. Without either, SPEC_GUARD_ASCII asks for\n ASCII unless it is empty, 0 or false\n -h, --help Show this help\n --version Print the version\n\n An option that is set and names nothing is refused, exit 2, never read as if\n it were not there: an empty --root or spec pattern, --exclude \",\" (--exclude=\n with nothing clears the list), --concurrency 0, a root that is no directory,\n and a value given to an option that takes none, as in --strict=false.\n\n An option given beside its own opposite is refused the same way, in either\n order, since one of the two would go unread: --strict beside --no-strict,\n --color beside --no-color, and each other pair. The same option given twice\n is read as once.\n\n So is an option that takes one value and is given two, since the first of\n them would go unread: --root a --root b, --format json --format sarif, and\n --json beside a --format that names another format. The same value given\n twice is read as once, as --json beside --format json is
|
|
104
|
+
export declare const HELP = "spec-guard - Executable architecture assertions for Markdown specs & ADRs\n\nUsage\n spec-guard [patterns...] [options] execute the directives in the specs\n spec-guard query <paths...> [options] list the rules in force for files or directories\n spec-guard mcp [options] serve the rules to an AI agent over MCP on stdio\n spec-guard prove [patterns...] [options]\n show each rule a violation of itself, in memory, and report any that pass\n spec-guard cites [paths...] [options] check that each spec a code comment cites exists and is in force\n spec-guard impact <paths...> [options] the files that depend on each path, and the rules in play there\n\nPatterns\n Globs or paths to the Markdown specs to execute. A directory expands to the\n Markdown files inside it. Defaults to \"docs/**/*.md\" when omitted. query,\n mcp, cites and impact take theirs from --spec.\n\nOptions\n -r, --root <path> Codebase root that assertions are resolved against, a directory (default: cwd)\n --spec <pattern> A spec glob or path; repeatable (default: \"docs/**/*.md\")\n -v, --verbose Print passing assertions too\n --watch Run again as the tree changes, until Ctrl+C (human output only)\n --fail-fast Stop at the first failing assertion\n --json Emit a machine-readable JSON report (same as --format json)\n --format <name> human | json | sarif | github | gitlab (sarif uploads to code scanning,\n github annotates a pull request from the log, gitlab is Code Quality)\n --engine <name> auto | rg | js (default: auto - scanner for small trees, ripgrep for big ones)\n ripgrep is rg on PATH, or the program SPEC_GUARD_RG names; where that\n is no ripgrep that runs, rg is exit 2 and auto leaves it to the scanner\n --strict Treat analysis that could not be completed, and a run that\n executed no assertion, as a failure\n --allow-missing-targets\n Tolerate target paths that do not exist (they fail by default)\n --allow-empty-scope Tolerate assertions whose scope holds no files (they fail by default)\n --print-baseline Print the baseline=\"...\" that would exempt today's violations, and exit\n --no-default-skips Search .git, .hg, .svn and node_modules too, and the other git work trees\n below the root\n --exclude <globs> Paths no assertion looks at, beside each directive's exclude; repeatable\n --ignore-status Execute directives in documents not in force too (see Directives)\n --include-specs Also count matches inside the spec files themselves\n --max-snippets <n> Failure snippets per assertion (default: 5)\n --concurrency <n> Assertions executed in parallel, 1 or more (default: 8)\n --depth <n> impact: follow dependents at most n imports away (default: all)\n --allow-empty Let a run, prove or impact through when no spec file matched, or when\n one pattern matched none beside others that did (not an assertion)\n --color/--no-color Force colour on or off (NO_COLOR, FORCE_COLOR and TERM=dumb are honoured)\n --ascii/--no-ascii Write a report in ASCII, its marks as + x ! o, or with their Unicode\n forms, on any platform. Without either, SPEC_GUARD_ASCII asks for\n ASCII unless it is empty, 0 or false\n -h, --help Show this help\n --version Print the version\n\n An option that is set and names nothing is refused, exit 2, never read as if\n it were not there: an empty --root or spec pattern, --exclude \",\" (--exclude=\n with nothing clears the list), --concurrency 0, a root that is no directory,\n and a value given to an option that takes none, as in --strict=false.\n\n An option given beside its own opposite is refused the same way, in either\n order, since one of the two would go unread: --strict beside --no-strict,\n --color beside --no-color, and each other pair. The same option given twice\n is read as once.\n\n So is an option that takes one value and is given two, since the first of\n them would go unread: --root a --root b, --format json --format sarif, and\n --json beside a --format that names another format. The same value given\n twice is read as once, as --json beside --format json is, and on Windows\n a drive letter names its volume in either case, so --root C:\\x beside\n --root c:\\x is one root. --spec and --exclude are lists, and each use adds\n to its list. Such a line is refused with --help or --version on it too, as\n a line with a pair is. And --help beside --version is refused, in either\n order: a line gets one answer.\n\n A spec pattern that matches no file, beside others that do, is refused the\n same way and by name, since none of its rules was read: a run, prove, impact\n and query exit 2. --allow-empty lets the first three through and still names\n it; --watch and mcp carry on, and say which pattern it is; cites names it\n and goes on, and exits 1 for it under --strict (see cites, below).\n\nConfiguration\n package.json in the root can hold specs, exclude, engine, strict,\n allowMissingTargets, allowEmptyScope, ignoreStatus, includeSpecs, defaultSkips,\n maxSnippets and concurrency under \"specGuard\"; a root with no package.json can\n keep them in .spec-guard.json instead, but not in both. A flag wins over the\n file, every on/off option there also takes its opposite (--no-strict,\n --default-skips, ...), and --exclude= with nothing clears exclude.\n \"cites\": [{ \"id\": \"ADR-{n}\", \"files\": \"docs/adr/{n}-*.md\" }] names the\n documents code comments cite; without it, cites reads them off the titles of\n numbered specs.\n\nDirectives\n <!-- @assert-absence target=\"src/\" symbol=\"LegacyGateway\" exclude=\"src/legacy/**\" -->\n <!-- @assert-count target=\"src/\" symbol=\"SessionManager\" expected=\"1\" -->\n <!-- @assert-present file=\"SECURITY.md\" -->\n <!-- @assert-import-cycle target=\"src/\" types=\"ignore\" -->\n <!-- @assert-layers target=\"src/\" order=\"domain, application, infrastructure\" -->\n <!-- @assert-structure target=\"src/\" exclude=\"*.test.ts\" partner=\"[name].test.ts\" -->\n\n Matches inside comments do not count; add comments=\"include\" to count them.\n An assertion whose scope holds no files fails; add allow-empty=\"true\" to allow it.\n A document whose status is draft, proposed, rejected, deprecated, superseded\n or archived is reported and not executed; --ignore-status runs it anyway.\n The status is read in English, whatever language the document is written in:\n status: superseded.\n\nprove adds, changes or removes files in memory only - never on disk - to make\nthe violation each rule forbids, and runs the rule over that tree. A rule that\nstill passes survived, and exits 1; one no violation could be made for is\nunprovable, and exits 1 under --strict.\n\ncites reads comment text only - not strings, not Markdown - for ids such as\nADR-0007, ADR-7 and ADR-007, which are one document. A ghost citation names no\ndocument, and exits 1; a stale one names a document superseded, deprecated,\nrejected or archived, and exits 1 under --strict. A family whose files match no\ndocument exits 2. A spec pattern that matches no file beside others that do is\nnamed on stderr. Without \"cites\" in the configuration the families are read off\nthe specs, so one kept under that pattern was not read and no citation of it\nwas looked for: exit 1 under --strict. Families \"cites\" names lose nothing.\n\nimpact follows the import graph backwards: relative JavaScript, TypeScript and\nPython imports that name a file. Go, Rust, C# and absolute Python imports name\nmodules, and are counted rather than followed; an import that names no file is\nlisted, never guessed at.\n\nquery answers from the specs alone, without reading the codebase, so it works\nfor a file that does not exist yet. mcp offers the same answer, a check and\nimpact's, as the tools get_architectural_rules, check_architecture and\nget_dependents.\n\nExit codes\n 0 all assertions passed 1 an assertion failed, or none ran under --strict\n 2 spec-guard could not run 130 a --watch session was stopped";
|
|
105
|
+
/**
|
|
106
|
+
* A resolved root as two of them are compared. On Windows a drive letter
|
|
107
|
+
* names its volume in either case, so `--root C:\x` beside `--root c:\x` is
|
|
108
|
+
* one directory asked for twice (spec-core's ADR-0005, amended 2026-10-19).
|
|
109
|
+
* A resolved path starts with its drive letter there, and with a separator,
|
|
110
|
+
* which has no case, everywhere else and for a UNC path: so the first
|
|
111
|
+
* character is the one folded, on every host. The rest of the path is the
|
|
112
|
+
* disk's to tell apart, and is compared as resolved. Folded down instead of
|
|
113
|
+
* up, two letters compare alike, so that mutant is equivalent. So is the
|
|
114
|
+
* whole path folded with the rest of it added as resolved, `.charAt(0)`
|
|
115
|
+
* taken off: two keys made so are equal exactly where the first characters
|
|
116
|
+
* fold alike and the rest is the same, as two made by this line are.
|
|
117
|
+
*/
|
|
118
|
+
export declare function comparedRoot(resolved: string): string;
|
|
105
119
|
/** Minimal, dependency-free argv parser. Supports `--flag value` and `--flag=value`. */
|
|
106
120
|
export declare function parseArgs(argv: readonly string[], cwd: string): CliOptions;
|
|
107
121
|
/**
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|