@renfeng/ai-code-review 1.0.0 → 1.1.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/README.md +28 -10
- package/dist/servers/gitlab-server.d.ts.map +1 -1
- package/dist/servers/gitlab-server.js +14 -4
- package/dist/servers/gitlab-server.js.map +1 -1
- package/dist/tools/gitlab-tools.d.ts.map +1 -1
- package/dist/tools/gitlab-tools.js +8 -16
- package/dist/tools/gitlab-tools.js.map +1 -1
- package/dist/types.d.ts +0 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,9 +14,9 @@ Two MCP servers from the `ai-code-review` npm package:
|
|
|
14
14
|
|
|
15
15
|
| Skill | Description | Install URL |
|
|
16
16
|
|-------|-------------|-------------|
|
|
17
|
-
| `code-change-review` | Platform-agnostic diff analysis. Traces callers, types, imports, tests. Produces structured findings JSON. | `skills/code-change-review
|
|
18
|
-
| `gitlab-mr-review` | End-to-end GitLab MR review. Clones, analyzes, posts draft notes, publishes with verdict. Supports batch reviews. | `skills/gitlab-mr-review
|
|
19
|
-
| `gitlab-todo-triage` | GitLab todo list cleanup. Marks merged/closed/draft MRs as done, delegates open MRs for review. | `skills/gitlab-todo-triage
|
|
17
|
+
| `code-change-review` | Platform-agnostic diff analysis. Traces callers, types, imports, tests. Produces structured findings JSON. | [`.kiro/skills/code-change-review`](.kiro/skills/code-change-review) |
|
|
18
|
+
| `gitlab-mr-review` | End-to-end GitLab MR review. Clones, analyzes, posts draft notes, publishes with verdict. Supports batch reviews. | [`.kiro/skills/gitlab-mr-review`](.kiro/skills/gitlab-mr-review) |
|
|
19
|
+
| `gitlab-todo-triage` | GitLab todo list cleanup. Marks merged/closed/draft MRs as done, delegates open MRs for review. | [`.kiro/skills/gitlab-todo-triage`](.kiro/skills/gitlab-todo-triage) |
|
|
20
20
|
|
|
21
21
|
## Installation
|
|
22
22
|
|
|
@@ -32,16 +32,14 @@ Each skill can be imported independently:
|
|
|
32
32
|
|
|
33
33
|
In Kiro: Agent Steering & Skills → `+` → Import a skill → GitHub → paste the skill subdirectory URL:
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
https://github.com/<user>/<repo>/tree/main/skills/gitlab-todo-triage
|
|
39
|
-
```
|
|
35
|
+
- [code-change-review](.kiro/skills/code-change-review)
|
|
36
|
+
- [gitlab-mr-review](.kiro/skills/gitlab-mr-review)
|
|
37
|
+
- [gitlab-todo-triage](.kiro/skills/gitlab-todo-triage)
|
|
40
38
|
|
|
41
39
|
## Prerequisites
|
|
42
40
|
|
|
43
41
|
- Node.js 18+ (for `npx` to run the MCP servers)
|
|
44
|
-
- `GITLAB_TOKEN`
|
|
42
|
+
- GitLab authentication via one of: `GITLAB_TOKEN` + `GITLAB_URL` env vars in `mcp.json`, or `glab` CLI (`glab auth login`)
|
|
45
43
|
- SSH keys configured for git clone operations
|
|
46
44
|
|
|
47
45
|
## MCP Server Configuration
|
|
@@ -66,7 +64,27 @@ The power uses `npx @renfeng/ai-code-review@latest` to run the MCP servers. Afte
|
|
|
66
64
|
|
|
67
65
|
## Agent Setup
|
|
68
66
|
|
|
69
|
-
The `gitlab-mr-review` skill delegates code analysis to a `Code Change Reviewer` subagent. The
|
|
67
|
+
The `gitlab-mr-review` skill delegates code analysis to a `Code Change Reviewer` subagent. The skill automatically creates the agent on first use via `custom-agent-creator`, using the definition in [`.kiro/skills/gitlab-mr-review/references/code-change-reviewer-agent.md`](.kiro/skills/gitlab-mr-review/references/code-change-reviewer-agent.md).
|
|
68
|
+
|
|
69
|
+
## Troubleshooting
|
|
70
|
+
|
|
71
|
+
### 401 "Token is expired" when using glab OAuth
|
|
72
|
+
|
|
73
|
+
The `gitlab` MCP server reads the token from the `glab` config file but does not perform OAuth refresh. If the token has expired, API calls fail with `401 Unauthorized`.
|
|
74
|
+
|
|
75
|
+
Fix: run `glab auth status` — this silently refreshes the OAuth token and writes it to disk. The MCP server picks up the new token on the next call, no restart needed.
|
|
76
|
+
|
|
77
|
+
### Power update fails: "No name was provided for author"
|
|
78
|
+
|
|
79
|
+
When installed from GitHub, Kiro clones the power repo to `~/.kiro/powers/repos/ai-code-review/` and periodically pulls updates. The pull mechanism does not read the global `~/.gitconfig` — only the repo-level `.git/config`. If `user.name` is missing there, the pull fails.
|
|
80
|
+
|
|
81
|
+
Fix:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
git -C ~/.kiro/powers/repos/ai-code-review config user.name "your-name"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
This does not apply to local-path installations. See [kirodotdev/Kiro#6278](https://github.com/kirodotdev/Kiro/issues/6278).
|
|
70
88
|
|
|
71
89
|
## Contributing
|
|
72
90
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-server.d.ts","sourceRoot":"","sources":["../../src/servers/gitlab-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,MAAM,CAAS;;IAcvB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"gitlab-server.d.ts","sourceRoot":"","sources":["../../src/servers/gitlab-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,MAAM,CAAS;;IAcvB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,YAAY;YAkCN,cAAc;IAmCtB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAKhC"}
|
|
@@ -42,8 +42,18 @@ export class GitLabMCPServer {
|
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
resolveToken(
|
|
46
|
-
let token
|
|
45
|
+
resolveToken(gitlabUrl) {
|
|
46
|
+
let token;
|
|
47
|
+
// 1. GITLAB_TOKEN env var (explicit config, highest priority when URL matches)
|
|
48
|
+
if (process.env.GITLAB_TOKEN) {
|
|
49
|
+
const envUrl = (process.env.GITLAB_URL || '').replace(/\/+$/, '');
|
|
50
|
+
const requestUrl = gitlabUrl.replace(/\/+$/, '');
|
|
51
|
+
if (!envUrl || envUrl.toLowerCase() === requestUrl.toLowerCase()) {
|
|
52
|
+
token = process.env.GITLAB_TOKEN;
|
|
53
|
+
this.logger.debug('Token loaded from GITLAB_TOKEN env var', { envUrl: envUrl || '(not set)' });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// 2. glab CLI config (host-specific fallback, supports multiple GitLab instances)
|
|
47
57
|
if (!token) {
|
|
48
58
|
try {
|
|
49
59
|
const hostname = new URL(gitlabUrl).hostname;
|
|
@@ -56,7 +66,7 @@ export class GitLabMCPServer {
|
|
|
56
66
|
catch { /* Invalid URL or glab config unavailable */ }
|
|
57
67
|
}
|
|
58
68
|
if (!token) {
|
|
59
|
-
throw ErrorHandler.configurationError("GitLab token not found.
|
|
69
|
+
throw ErrorHandler.configurationError("GitLab token not found. Set GITLAB_TOKEN + GITLAB_URL in the MCP server env config, or authenticate with glab CLI (`glab auth login`). Host: " + gitlabUrl, { gitlabUrl });
|
|
60
70
|
}
|
|
61
71
|
return token;
|
|
62
72
|
}
|
|
@@ -66,7 +76,7 @@ export class GitLabMCPServer {
|
|
|
66
76
|
if (!gitlabUrl) {
|
|
67
77
|
throw ErrorHandler.validationError("gitlabUrl is required. Provide the GitLab instance URL (e.g. 'https://gitlab.example.com') so the correct token can be resolved from glab CLI config.", { tool: name });
|
|
68
78
|
}
|
|
69
|
-
const token = this.resolveToken(
|
|
79
|
+
const token = this.resolveToken(gitlabUrl);
|
|
70
80
|
switch (name) {
|
|
71
81
|
case "extract_mr_metadata":
|
|
72
82
|
return this.reviewToolsService.extractMrMetadata(params, gitlabUrl, token);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-server.js","sourceRoot":"","sources":["../../src/servers/gitlab-server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gitlab-server.js","sourceRoot":"","sources":["../../src/servers/gitlab-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-tools.d.ts","sourceRoot":"","sources":["../../src/tools/gitlab-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,eAAO,MAAM,YAAY,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"gitlab-tools.d.ts","sourceRoot":"","sources":["../../src/tools/gitlab-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,eAAO,MAAM,YAAY,EAAE,IAAI,EA4I9B,CAAC"}
|
|
@@ -12,8 +12,7 @@ export const REVIEW_TOOLS = [
|
|
|
12
12
|
properties: {
|
|
13
13
|
project: { type: ["string", "number"], description: "GitLab project ID or path" },
|
|
14
14
|
mergeRequestIid: { type: "number", description: "Merge request internal ID" },
|
|
15
|
-
|
|
16
|
-
gitlabUrl: { type: "string", description: "GitLab instance URL (optional)" },
|
|
15
|
+
gitlabUrl: { type: "string", description: "GitLab instance URL (e.g. 'https://gitlab.com')" },
|
|
17
16
|
},
|
|
18
17
|
required: ["project", "mergeRequestIid"],
|
|
19
18
|
},
|
|
@@ -26,8 +25,7 @@ export const REVIEW_TOOLS = [
|
|
|
26
25
|
properties: {
|
|
27
26
|
project: { type: ["string", "number"], description: "GitLab project ID or path" },
|
|
28
27
|
mergeRequestIid: { type: "number", description: "Merge request internal ID" },
|
|
29
|
-
|
|
30
|
-
gitlabUrl: { type: "string", description: "GitLab instance URL (optional)" },
|
|
28
|
+
gitlabUrl: { type: "string", description: "GitLab instance URL (e.g. 'https://gitlab.com')" },
|
|
31
29
|
},
|
|
32
30
|
required: ["project", "mergeRequestIid"],
|
|
33
31
|
},
|
|
@@ -40,8 +38,7 @@ export const REVIEW_TOOLS = [
|
|
|
40
38
|
properties: {
|
|
41
39
|
project: { type: ["string", "number"], description: "GitLab project ID or path" },
|
|
42
40
|
mergeRequestIid: { type: "number", description: "Merge request internal ID" },
|
|
43
|
-
|
|
44
|
-
gitlabUrl: { type: "string", description: "GitLab instance URL (optional)" },
|
|
41
|
+
gitlabUrl: { type: "string", description: "GitLab instance URL (e.g. 'https://gitlab.com')" },
|
|
45
42
|
},
|
|
46
43
|
required: ["project", "mergeRequestIid"],
|
|
47
44
|
},
|
|
@@ -82,8 +79,7 @@ export const REVIEW_TOOLS = [
|
|
|
82
79
|
},
|
|
83
80
|
required: ["comments", "summary", "verdict"],
|
|
84
81
|
},
|
|
85
|
-
|
|
86
|
-
gitlabUrl: { type: "string", description: "GitLab instance URL (optional)" },
|
|
82
|
+
gitlabUrl: { type: "string", description: "GitLab instance URL (e.g. 'https://gitlab.com')" },
|
|
87
83
|
},
|
|
88
84
|
required: ["project", "mergeRequestIid", "headSha", "baseSha", "startSha", "findings"],
|
|
89
85
|
},
|
|
@@ -96,8 +92,7 @@ export const REVIEW_TOOLS = [
|
|
|
96
92
|
properties: {
|
|
97
93
|
project: { type: ["string", "number"], description: "GitLab project ID or path" },
|
|
98
94
|
mergeRequestIid: { type: "number", description: "Merge request internal ID" },
|
|
99
|
-
|
|
100
|
-
gitlabUrl: { type: "string", description: "GitLab instance URL (optional)" },
|
|
95
|
+
gitlabUrl: { type: "string", description: "GitLab instance URL (e.g. 'https://gitlab.com')" },
|
|
101
96
|
},
|
|
102
97
|
required: ["project", "mergeRequestIid"],
|
|
103
98
|
},
|
|
@@ -120,8 +115,7 @@ export const REVIEW_TOOLS = [
|
|
|
120
115
|
},
|
|
121
116
|
required: ["comments", "verdict"],
|
|
122
117
|
},
|
|
123
|
-
|
|
124
|
-
gitlabUrl: { type: "string", description: "GitLab instance URL (optional)" },
|
|
118
|
+
gitlabUrl: { type: "string", description: "GitLab instance URL (e.g. 'https://gitlab.com')" },
|
|
125
119
|
},
|
|
126
120
|
required: ["project", "mergeRequestIid", "findings"],
|
|
127
121
|
},
|
|
@@ -132,8 +126,7 @@ export const REVIEW_TOOLS = [
|
|
|
132
126
|
inputSchema: {
|
|
133
127
|
type: "object",
|
|
134
128
|
properties: {
|
|
135
|
-
|
|
136
|
-
gitlabUrl: { type: "string", description: "GitLab instance URL (optional)" },
|
|
129
|
+
gitlabUrl: { type: "string", description: "GitLab instance URL (e.g. 'https://gitlab.com')" },
|
|
137
130
|
},
|
|
138
131
|
required: [],
|
|
139
132
|
},
|
|
@@ -145,8 +138,7 @@ export const REVIEW_TOOLS = [
|
|
|
145
138
|
type: "object",
|
|
146
139
|
properties: {
|
|
147
140
|
todoIds: { type: "array", items: { type: "number" }, description: "Array of todo IDs to mark as done" },
|
|
148
|
-
|
|
149
|
-
gitlabUrl: { type: "string", description: "GitLab instance URL (optional)" },
|
|
141
|
+
gitlabUrl: { type: "string", description: "GitLab instance URL (e.g. 'https://gitlab.com')" },
|
|
150
142
|
},
|
|
151
143
|
required: ["todoIds"],
|
|
152
144
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab-tools.js","sourceRoot":"","sources":["../../src/tools/gitlab-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAW;IAClC;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBACjF,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAC7E,
|
|
1
|
+
{"version":3,"file":"gitlab-tools.js","sourceRoot":"","sources":["../../src/tools/gitlab-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -23,21 +23,18 @@ export interface ReviewFindings {
|
|
|
23
23
|
export interface ExtractMrMetadataParams {
|
|
24
24
|
project: string | number;
|
|
25
25
|
mergeRequestIid: number;
|
|
26
|
-
gitlabToken?: string;
|
|
27
26
|
gitlabUrl?: string;
|
|
28
27
|
}
|
|
29
28
|
/** Parameters for extract_version_refs */
|
|
30
29
|
export interface ExtractVersionRefsParams {
|
|
31
30
|
project: string | number;
|
|
32
31
|
mergeRequestIid: number;
|
|
33
|
-
gitlabToken?: string;
|
|
34
32
|
gitlabUrl?: string;
|
|
35
33
|
}
|
|
36
34
|
/** Parameters for extract_prior_discussions */
|
|
37
35
|
export interface ExtractPriorDiscussionsParams {
|
|
38
36
|
project: string | number;
|
|
39
37
|
mergeRequestIid: number;
|
|
40
|
-
gitlabToken?: string;
|
|
41
38
|
gitlabUrl?: string;
|
|
42
39
|
}
|
|
43
40
|
/** Parameters for post_draft_notes */
|
|
@@ -48,14 +45,12 @@ export interface PostDraftNotesParams {
|
|
|
48
45
|
baseSha: string;
|
|
49
46
|
startSha: string;
|
|
50
47
|
findings: ReviewFindings;
|
|
51
|
-
gitlabToken?: string;
|
|
52
48
|
gitlabUrl?: string;
|
|
53
49
|
}
|
|
54
50
|
/** Parameters for delete_draft_notes */
|
|
55
51
|
export interface DeleteDraftNotesParams {
|
|
56
52
|
project: string | number;
|
|
57
53
|
mergeRequestIid: number;
|
|
58
|
-
gitlabToken?: string;
|
|
59
54
|
gitlabUrl?: string;
|
|
60
55
|
}
|
|
61
56
|
/** Parameters for publish_review */
|
|
@@ -63,18 +58,15 @@ export interface PublishReviewParams {
|
|
|
63
58
|
project: string | number;
|
|
64
59
|
mergeRequestIid: number;
|
|
65
60
|
findings: ReviewFindings;
|
|
66
|
-
gitlabToken?: string;
|
|
67
61
|
gitlabUrl?: string;
|
|
68
62
|
}
|
|
69
63
|
/** Parameters for fetch_and_categorize_todos */
|
|
70
64
|
export interface FetchAndCategorizeTodosParams {
|
|
71
|
-
gitlabToken?: string;
|
|
72
65
|
gitlabUrl?: string;
|
|
73
66
|
}
|
|
74
67
|
/** Parameters for mark_todos_done */
|
|
75
68
|
export interface MarkTodosDoneParams {
|
|
76
69
|
todoIds: number[];
|
|
77
|
-
gitlabToken?: string;
|
|
78
70
|
gitlabUrl?: string;
|
|
79
71
|
}
|
|
80
72
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,iCAAiC;AACjC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAG,cAAc,CAAC;CACzD;AAED,yCAAyC;AACzC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,iCAAiC;AACjC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAG,cAAc,CAAC;CACzD;AAED,yCAAyC;AACzC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0CAA0C;AAC1C,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+CAA+C;AAC/C,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wCAAwC;AACxC,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oCAAoC;AACpC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gDAAgD;AAChD,MAAM,WAAW,6BAA6B;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qCAAqC;AACrC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|