@eyeauras/youtrack-cli 0.5.5 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +63 -56
  2. package/dist/src/agile-commands.d.ts.map +1 -1
  3. package/dist/src/agile-commands.js +8 -9
  4. package/dist/src/agile-commands.js.map +1 -1
  5. package/dist/src/agile.d.ts.map +1 -1
  6. package/dist/src/agile.js +9 -15
  7. package/dist/src/agile.js.map +1 -1
  8. package/dist/src/article-extras-commands.d.ts.map +1 -1
  9. package/dist/src/article-extras-commands.js +13 -12
  10. package/dist/src/article-extras-commands.js.map +1 -1
  11. package/dist/src/articles-commands.d.ts.map +1 -1
  12. package/dist/src/articles-commands.js +15 -12
  13. package/dist/src/articles-commands.js.map +1 -1
  14. package/dist/src/articles.d.ts.map +1 -1
  15. package/dist/src/articles.js +13 -14
  16. package/dist/src/articles.js.map +1 -1
  17. package/dist/src/attachment-download-commands.d.ts.map +1 -1
  18. package/dist/src/attachment-download-commands.js +7 -5
  19. package/dist/src/attachment-download-commands.js.map +1 -1
  20. package/dist/src/attachment-download.d.ts +1 -0
  21. package/dist/src/attachment-download.d.ts.map +1 -1
  22. package/dist/src/attachment-download.js +16 -26
  23. package/dist/src/attachment-download.js.map +1 -1
  24. package/dist/src/attachment-form.js +3 -3
  25. package/dist/src/attachment-form.js.map +1 -1
  26. package/dist/src/bundle-values-commands.d.ts.map +1 -1
  27. package/dist/src/bundle-values-commands.js +21 -18
  28. package/dist/src/bundle-values-commands.js.map +1 -1
  29. package/dist/src/cli-support.d.ts +5 -5
  30. package/dist/src/cli-support.d.ts.map +1 -1
  31. package/dist/src/cli-support.js +28 -26
  32. package/dist/src/cli-support.js.map +1 -1
  33. package/dist/src/cli.d.ts.map +1 -1
  34. package/dist/src/cli.js +52 -34
  35. package/dist/src/cli.js.map +1 -1
  36. package/dist/src/client.d.ts +5 -2
  37. package/dist/src/client.d.ts.map +1 -1
  38. package/dist/src/client.js +66 -49
  39. package/dist/src/client.js.map +1 -1
  40. package/dist/src/field-catalog-commands.d.ts.map +1 -1
  41. package/dist/src/field-catalog-commands.js +19 -16
  42. package/dist/src/field-catalog-commands.js.map +1 -1
  43. package/dist/src/group-directory-commands.d.ts.map +1 -1
  44. package/dist/src/group-directory-commands.js +17 -16
  45. package/dist/src/group-directory-commands.js.map +1 -1
  46. package/dist/src/issue-attachments-commands.d.ts.map +1 -1
  47. package/dist/src/issue-attachments-commands.js +9 -8
  48. package/dist/src/issue-attachments-commands.js.map +1 -1
  49. package/dist/src/issue-batch.d.ts +2 -0
  50. package/dist/src/issue-batch.d.ts.map +1 -1
  51. package/dist/src/issue-batch.js +14 -10
  52. package/dist/src/issue-batch.js.map +1 -1
  53. package/dist/src/issue-context-commands.d.ts.map +1 -1
  54. package/dist/src/issue-context-commands.js +13 -12
  55. package/dist/src/issue-context-commands.js.map +1 -1
  56. package/dist/src/issue-context.d.ts.map +1 -1
  57. package/dist/src/issue-context.js +9 -13
  58. package/dist/src/issue-context.js.map +1 -1
  59. package/dist/src/issue-fields-commands.d.ts.map +1 -1
  60. package/dist/src/issue-fields-commands.js +10 -9
  61. package/dist/src/issue-fields-commands.js.map +1 -1
  62. package/dist/src/issue-fields.d.ts +2 -4
  63. package/dist/src/issue-fields.d.ts.map +1 -1
  64. package/dist/src/issue-fields.js +39 -100
  65. package/dist/src/issue-fields.js.map +1 -1
  66. package/dist/src/issue-query-commands.d.ts.map +1 -1
  67. package/dist/src/issue-query-commands.js +15 -14
  68. package/dist/src/issue-query-commands.js.map +1 -1
  69. package/dist/src/issue-query.d.ts.map +1 -1
  70. package/dist/src/issue-query.js +7 -10
  71. package/dist/src/issue-query.js.map +1 -1
  72. package/dist/src/issue-relations-commands.d.ts.map +1 -1
  73. package/dist/src/issue-relations-commands.js +17 -16
  74. package/dist/src/issue-relations-commands.js.map +1 -1
  75. package/dist/src/issue-relations.js +2 -2
  76. package/dist/src/issue-relations.js.map +1 -1
  77. package/dist/src/issue-time-commands.d.ts.map +1 -1
  78. package/dist/src/issue-time-commands.js +12 -11
  79. package/dist/src/issue-time-commands.js.map +1 -1
  80. package/dist/src/issue-time.d.ts.map +1 -1
  81. package/dist/src/issue-time.js +16 -19
  82. package/dist/src/issue-time.js.map +1 -1
  83. package/dist/src/presentation.d.ts +59 -0
  84. package/dist/src/presentation.d.ts.map +1 -0
  85. package/dist/src/presentation.js +467 -0
  86. package/dist/src/presentation.js.map +1 -0
  87. package/dist/src/time-settings-commands.d.ts.map +1 -1
  88. package/dist/src/time-settings-commands.js +13 -11
  89. package/dist/src/time-settings-commands.js.map +1 -1
  90. package/dist/src/user-directory-commands.d.ts.map +1 -1
  91. package/dist/src/user-directory-commands.js +14 -12
  92. package/dist/src/user-directory-commands.js.map +1 -1
  93. package/package.json +2 -2
package/dist/src/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- import { command, createCli, downloadCommands, integerParser, Permission, tokenAuth, } from "@eyeauras/cli-factory";
1
+ import { command, createCli, downloadCommands, helpLayout, integerParser, Permission, tokenAuth, } from "@eyeauras/cli-factory";
2
2
  import { addComment, currentUser, getIssue, listComments, listIssues, listProjects, readUser, youTrackUrl, youTrackUrlHelp, } from "./client.js";
3
3
  import { bodyUpdate, fileOption, pagedRead, pageOptions, projectedRead, readCommand, readOptions, readTextFile, updateCommand, } from "./cli-support.js";
4
4
  import { downloadLimit, downloadName } from "./attachment-download.js";
@@ -17,13 +17,30 @@ import { groupDirectoryRootCommands, groupDirectoryProjectChildren } from "./gro
17
17
  import { articlesRootCommands, articlesProjectChildren } from "./articles-commands.js";
18
18
  import { agileRootCommands } from "./agile-commands.js";
19
19
  import { bundleValuesChildren } from "./bundle-values-commands.js";
20
- const manifestOption = fileOption("--file <path>", "Required .json or .csv manifest (UTF-8)", true);
20
+ import { batchApplied, batchValidated, commentAdded, commentTable, createdIssue, issueRecord, issueTable, projectTable, updatedIssue, userRecord, withView, } from "./presentation.js";
21
+ const manifestOption = fileOption("--file <path>", ".json or .csv manifest", true);
21
22
  const manifest = async (options) => manifestRows(await readTextFile(String(options.file)), String(options.file));
23
+ /** Root help: what people run daily first, then the reference data, then Core's configuration. */
24
+ const rootLayout = [
25
+ ["Everyday", ["issues", "project", "user", "article", "agile", "sprint"]],
26
+ ["Reference", [
27
+ "field", "bundle", "tags", "link-types", "work-item-type", "time-tracking", "saved-queries",
28
+ "search", "commands", "activities", "work-items", "group",
29
+ ]],
30
+ ];
31
+ const issueExamples = [
32
+ 'issues list --query "project: DEMO #Unresolved" --top 20',
33
+ "issues get DEMO-12",
34
+ `issues create --body '{"project":{"shortName":"DEMO"},"summary":"Login page crashes on Safari"}'`,
35
+ `issues update DEMO-12 --body '{"summary":"Login page crashes on Safari 18"}'`,
36
+ `issues comments add DEMO-12 --body '{"text":"Fixed in build 42"}'`,
37
+ ];
22
38
  export function createYouTrackCli(runtime) {
23
39
  return createCli({
24
40
  name: "youtrack-cli",
25
41
  description: "AI-friendly access to YouTrack",
26
- version: "0.5.5",
42
+ examples: [...issueExamples.slice(0, 3), "article get KB-A-7", "project list"],
43
+ version: "0.5.7",
27
44
  applicationId: "youtrack-cli",
28
45
  permissions: {},
29
46
  profile: {
@@ -44,7 +61,7 @@ export function createYouTrackCli(runtime) {
44
61
  },
45
62
  auth: tokenAuth({
46
63
  env: "YOUTRACK_TOKEN",
47
- tokenSource: "Create/copy a permanent token in your YouTrack profile with the YouTrack service scope.",
64
+ tokenSource: "Create a permanent token in your YouTrack profile with the YouTrack service scope.",
48
65
  validate: ({ profile, token, fetch, signal }) => currentUser({
49
66
  baseUrl: youTrackUrl(profile.values.url),
50
67
  token,
@@ -53,7 +70,7 @@ export function createYouTrackCli(runtime) {
53
70
  }),
54
71
  }),
55
72
  builtins: [downloadCommands],
56
- commands: [
73
+ commands: helpLayout(rootLayout, [
57
74
  ...contextRootCommands,
58
75
  ...timeRootCommands,
59
76
  ...relationsRootCommands,
@@ -63,81 +80,82 @@ export function createYouTrackCli(runtime) {
63
80
  ...groupDirectoryRootCommands,
64
81
  ...articlesRootCommands,
65
82
  ...agileRootCommands,
66
- command("bundle", "Inspect available custom-field value bundles", [
83
+ command("bundle", "Inspect custom-field value bundles", [
67
84
  ...fieldCatalogBundleChildren,
68
85
  ...userDirectoryBundleChildren,
69
86
  ...bundleValuesChildren,
70
87
  ]),
71
- command("user", "Inspect YouTrack users", [
88
+ command("user", "Inspect users", [
72
89
  ...fieldsUserChildren,
73
90
  ...userDirectoryUserChildren,
74
- projectedRead("me", "Show the authenticated user (default: ID and login)", readUser),
91
+ projectedRead("me", "Show the signed-in user", readUser, userRecord),
75
92
  ]),
76
- command("project", "Inspect YouTrack projects", [
93
+ command("project", "Inspect projects", [
77
94
  ...fieldsProjectChildren,
78
95
  ...timeSettingsProjectChildren,
79
96
  ...groupDirectoryProjectChildren,
80
97
  ...articlesProjectChildren,
81
- pagedRead("list", "List one page of projects", listProjects),
98
+ pagedRead("list", "List projects", listProjects, projectTable),
82
99
  ]),
83
- command("issues", "Read and update YouTrack issues", [
100
+ command("issues", "Read and update issues", [
84
101
  ...contextIssueChildren,
85
102
  ...timeIssueChildren,
86
103
  ...relationsIssueChildren,
87
104
  ...fieldsIssueChildren,
88
105
  ...attachmentsIssueChildren,
89
106
  ...queryIssueChildren,
90
- bodyUpdate("create", "Create an issue with project id/shortName, summary, optional description and typed customFields", createIssue, "description"),
91
- bodyUpdate("update <issueID>", "Update summary, description and/or typed customFields in one request; null or [] clears", updateIssue, "description"),
92
- readCommand("list", "Search issues using YouTrack query syntax; --all reads every page within --max-results", (client, { options }) => {
107
+ bodyUpdate("create", "Create an issue", createIssue, "description", createdIssue),
108
+ bodyUpdate("update <issueID>", "Update the summary, description or custom fields", updateIssue, "description", updatedIssue),
109
+ withView(issueTable, readCommand("list", "Search issues", (client, { options }, context) => {
93
110
  if ((options.all === true) !== (options.maxResults !== undefined)) {
94
- throw new Error("YouTrack --all and --max-results must be used together.");
111
+ throw new Error("--all and --max-results go together.");
95
112
  }
96
- return listIssues(client, readOptions(options));
113
+ return listIssues(client, { ...readOptions(options), progress: context.progress });
97
114
  }, [
98
115
  ...pageOptions,
99
116
  { flags: "--query <query>", description: "YouTrack search query" },
100
- { flags: "--all", description: "Read every page (--top is the page size); requires --max-results" },
117
+ { flags: "--all", description: "Read every page (needs --max-results)" },
101
118
  {
102
- flags: "--max-results <count>", description: "Fail instead of returning more issues than this",
119
+ flags: "--max-results <count>", description: "Fail above this many issues",
103
120
  parse: integerParser({
104
121
  min: 1, max: Number.MAX_SAFE_INTEGER, signed: false,
105
- errorMessage: "YouTrack max-results must be a positive safe decimal integer.",
122
+ errorMessage: "--max-results must be a positive integer.",
106
123
  }),
107
124
  },
108
125
  {
109
- flags: "--max-bytes <n>", description: "Fail when this command's decoded responses exceed n bytes",
126
+ flags: "--max-bytes <n>", description: "Fail above this many response bytes",
110
127
  parse: downloadLimit,
111
128
  },
112
- ]),
113
- projectedRead("get <issueID>", "Show an issue by database or readable ID", getIssue),
114
- command("batch", "Validate or apply JSON/CSV manifests of issue creates and updates", [
115
- command("validate", "Validate a manifest locally; sends no requests and never uses the token (needs a configured profile)", async ({ options }) => {
129
+ ])),
130
+ projectedRead("get <issueID>", "Show an issue", getIssue, issueRecord),
131
+ command("batch", "Create and update issues from a manifest", [
132
+ withView(batchValidated, command("validate", "Check a manifest without sending requests", async ({ options }) => {
116
133
  const rows = await manifest(options);
117
134
  const updates = rows.filter((row) => row.issue !== undefined).length;
118
135
  return { rows: rows.length, create: rows.length - updates, update: updates };
119
- }, { permission: Permission.ReadOnly, options: [manifestOption] }),
120
- updateCommand("apply", "Apply manifest rows in order; no retries, rollback or search expansion", async (connection, { options }, context) => applyIssueBatch(connection, await manifest(options), {
136
+ }, { permission: Permission.ReadOnly, options: [manifestOption] })),
137
+ withView(batchApplied, updateCommand("apply", "Apply manifest rows in order", async (connection, { options }, context) => applyIssueBatch(connection, await manifest(options), {
121
138
  appDataDirectory: context.appArguments.AppDataDirectory,
122
139
  continueOnError: options.continueOnError === true,
140
+ progress: context.progress,
123
141
  ...(typeof options.failedRows === "string" ? { failedRows: options.failedRows } : {}),
124
142
  }), [
125
143
  manifestOption,
126
- { flags: "--continue-on-error", description: "Continue after a failed or uncertain row (default: stop)" },
144
+ { flags: "--continue-on-error", description: "Keep going after a failed row" },
127
145
  {
128
146
  flags: "--failed-rows <name>",
129
- description: "Save failed and unattempted rows as a .json manifest under downloads",
147
+ description: "Save failed rows as a .json manifest",
130
148
  parse: downloadName,
131
149
  },
132
- ]),
150
+ ])),
133
151
  ]),
134
- command("comments", "Read and add issue comments", [
152
+ command("comments", "Read and add comments", [
135
153
  ...contextCommentChildren,
136
- bodyUpdate("add <issueID>", "Add a comment with a nonempty text field", addComment, "text"),
137
- pagedRead("list <issueID>", "List one page of comments for an issue", listComments),
154
+ bodyUpdate("add <issueID>", "Add a comment", addComment, "text", commentAdded("issueID")),
155
+ pagedRead("list <issueID>", "List comments", listComments, commentTable),
138
156
  ]),
139
- ]),
140
- ],
157
+ ], { examples: issueExamples }),
158
+ ]),
141
159
  ...(runtime === undefined ? {} : { runtime }),
142
160
  });
143
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export interface IssueSearchOptions extends PageOptions {
25
25
  query?: string;
26
26
  /** Read every page; fail instead of returning more issues. */
27
27
  maxResults?: number;
28
+ progress?: (message: string) => void;
28
29
  /** Fail when this command's decoded response bytes exceed the budget. */
29
30
  maxBytes?: number;
30
31
  }
@@ -32,6 +33,7 @@ export interface ByteBudget {
32
33
  remaining: number;
33
34
  }
34
35
  export declare function requiredText(value: string, label: string): string;
36
+ export declare function inputFilePath(value: string): string;
35
37
  export declare function fields(options: ProjectionOptions, defaults: string): string;
36
38
  export declare function page(options: PageOptions, defaults: string): Record<string, string>;
37
39
  export declare function encodedID(id: string, label?: string): string;
@@ -49,11 +51,12 @@ export declare function readCollection(connection: Connection, path: string, que
49
51
  * Read an offset collection in server order until a short page proves the selection complete.
50
52
  * Repeated string IDs are dropped; offset paging is not a snapshot of a changing dataset.
51
53
  */
52
- export declare function readPages(connection: Connection, path: string, query: Record<string, string>, { top, skip, maxResults, budget }: {
54
+ export declare function readPages(connection: Connection, path: string, query: Record<string, string>, { top, skip, maxResults, budget, progress }: {
53
55
  top: number;
54
56
  skip: number;
55
57
  maxResults?: number;
56
58
  budget?: ByteBudget | undefined;
59
+ progress?: ((message: string) => void) | undefined;
57
60
  }): Promise<YouTrackObject[]>;
58
61
  type ResourcePath = string | ((...arguments_: never[]) => string);
59
62
  type ResourcePathArguments<Path extends ResourcePath> = Path extends (...arguments_: infer Arguments extends string[]) => string ? Arguments : [];
@@ -67,7 +70,7 @@ export declare const listProjects: (connection: Connection, options?: PageOption
67
70
  export declare function listIssues(connection: Connection, options?: IssueSearchOptions): Promise<YouTrackObject[]>;
68
71
  export declare const getIssue: (connection: Connection, id: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
69
72
  export declare const listComments: (connection: Connection, issueID: string, options?: PageOptions | undefined) => Promise<YouTrackObject[]>;
70
- export declare function mutationBody(value: unknown, allowed: readonly string[]): Record<string, unknown>;
73
+ export declare function mutationBody(value: unknown): YouTrackObject;
71
74
  export declare function narrative(value: unknown, label: string): string;
72
75
  export declare function nullableText(value: unknown, label: string): string | null;
73
76
  export declare function mutate(connection: Connection, path: string, body: YouTrackObject, projection: string): Promise<YouTrackObject | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,gGAAgG,CAAC;AAE7H,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQlD;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,aAAa,EAAE,CAAC;AAChG,MAAM,WAAW,cAAc;IAC7B,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC;AACD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUnF;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,MAAM,CAU1D;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5C;AA6ID,wBAAsB,UAAU,CAC9B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAGhC;AAGD,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAc7E;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC,CAS3B;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,EAAE,GAAG,EAAE,IAAI,EAAE,UAAqB,EAAE,MAAM,EAAE,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACjF,GACA,OAAO,CAAC,cAAc,EAAE,CAAC,CAoB3B;AAED,KAAK,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,MAAM,CAAC,CAAC;AAClE,KAAK,qBAAqB,CAAC,IAAI,SAAS,YAAY,IAClD,IAAI,SAAS,CAAC,GAAG,UAAU,EAAE,MAAM,SAAS,SAAS,MAAM,EAAE,KAAK,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC;AA4B5F,kGAAkG;AAClG,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,IAAI,SAAS,YAAY,EAC9D,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,GACpB,CACD,UAAU,EAAE,UAAU,EACtB,GAAG,UAAU,EAAE,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,KACnE,OAAO,CAAC,cAAc,EAAE,CAAC,CAS7B;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,KAAK,CAAC,IAAI,SAAS,YAAY,EAC1D,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,GACpB,CACD,UAAU,EAAE,UAAU,EACtB,GAAG,UAAU,EAAE,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,KACzE,OAAO,CAAC,cAAc,CAAC,CAO3B;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAY/E;AAED,wBAAsB,QAAQ,CAC5B,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC,CAIxC;AAED,eAAO,MAAM,YAAY,eApDX,UAAU,wCAEnB,OAAO,CAAC,cAAc,EAAE,CAkD0D,CAAC;AASxF,wBAAsB,UAAU,CAC9B,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,cAAc,EAAE,CAAC,CAgB3B;AAED,eAAO,MAAM,QAAQ,eAhEP,UAAU,0DAEnB,OAAO,CAAC,cAAc,CA8D8D,CAAC;AAC1F,eAAO,MAAM,YAAY,eAnFX,UAAU,yDAEnB,OAAO,CAAC,cAAc,EAAE,CAoF5B,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAShG;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKzE;AAED,wBAAsB,MAAM,CAC1B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAKhC;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAGvG;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAWlC;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAKhC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,46 +1,49 @@
1
- import { CliError, diagnosticCause, fetchWithRedirects, readResponseBody, parseServerUrl, normalizeBearerToken } from "@eyeauras/cli-factory";
1
+ import { CliError, HttpError, diagnosticCause, fetchWithRedirects, readResponseBody, parseServerUrl, normalizeBearerToken } from "@eyeauras/cli-factory";
2
2
  export const youTrackUrlHelp = "YouTrack server URL, such as https://youtrack.example.test or https://example.test/youtrack";
3
3
  export function youTrackUrl(value) {
4
- const message = "YouTrack URL must be http(s)://host[:port][/context], without /api, a page path, credentials or a query.";
4
+ const message = "The URL must be http(s)://host[:port][/context], without credentials, a query or a fragment.";
5
5
  const url = parseServerUrl(value, message);
6
- const pathname = decodeURIComponent(url.pathname);
7
- if (/\/(?:api|issues|issue|articles|agiles|dashboard|dashboards|admin)(?:\/|$)/i.test(pathname)) {
8
- throw new Error(message);
9
- }
10
6
  return url.href;
11
7
  }
12
8
  const issueListFields = "id,idReadable,summary,project(id,name,shortName),updated,resolved";
13
9
  const commentFields = "id,text,author(id,login),created,updated";
14
10
  export function requiredText(value, label) {
15
- if (!value.trim() || /[\u0000-\u001f\u007f]/.test(value)) {
16
- throw new Error(`YouTrack ${label} must be nonempty text without control characters.`);
11
+ if (typeof value !== "string") {
12
+ throw new Error(`The ${label} must be text.`);
17
13
  }
18
14
  return value;
19
15
  }
16
+ export function inputFilePath(value) {
17
+ if (typeof value !== "string" || value.length === 0 || value.includes("\0"))
18
+ throw new Error("The file path must identify a file without NUL characters.");
19
+ return value;
20
+ }
20
21
  export function fields(options, defaults) {
21
- return requiredText(options.fields ?? defaults, "fields");
22
+ return requiredText(options.fields === undefined ? defaults : options.fields, "fields");
22
23
  }
23
24
  export function page(options, defaults) {
24
- const top = options.top ?? 50;
25
- const skip = options.skip ?? 0;
26
- if (!Number.isSafeInteger(top) || top < 1) {
27
- throw new Error("YouTrack top must be a positive safe integer.");
25
+ const top = options.top === undefined ? 50 : options.top;
26
+ const skip = options.skip === undefined ? 0 : options.skip;
27
+ if (!Number.isSafeInteger(top) || top < 0) {
28
+ throw new Error("--top must be a nonnegative safe integer.");
28
29
  }
29
30
  if (!Number.isSafeInteger(skip) || skip < 0) {
30
- throw new Error("YouTrack skip must be a nonnegative safe integer.");
31
+ throw new Error("--skip must be a nonnegative integer.");
31
32
  }
32
33
  return { fields: fields(options, defaults), $top: String(top), $skip: String(skip) };
33
34
  }
34
35
  export function encodedID(id, label = "ID") {
35
36
  requiredText(id, label);
37
+ if (id.length === 0)
38
+ throw new Error(`The ${label} must identify one path segment.`);
36
39
  if (id === "." || id === "..") {
37
- throw new Error(`YouTrack ${label} must not be a dot path segment.`);
40
+ throw new Error(`The ${label} must not be a dot path segment.`);
38
41
  }
39
42
  try {
40
43
  return encodeURIComponent(id);
41
44
  }
42
45
  catch {
43
- throw new Error(`YouTrack ${label} must contain valid Unicode text.`);
46
+ throw new Error(`The ${label} must contain valid Unicode text.`);
44
47
  }
45
48
  }
46
49
  export function issuePath(id) {
@@ -92,7 +95,7 @@ function scrub(value, token) {
92
95
  }
93
96
  function object(value) {
94
97
  if (value === null || typeof value !== "object" || Array.isArray(value)) {
95
- throw new Error("YouTrack returned an invalid object response.");
98
+ throw new Error("Invalid object response from YouTrack.");
96
99
  }
97
100
  return value;
98
101
  }
@@ -116,7 +119,7 @@ async function request(connection, path, query, responseName = "JSON", options =
116
119
  });
117
120
  }
118
121
  catch (cause) {
119
- throw new CliError("YouTrack request failed; check connectivity, TLS and the configured URL.", {
122
+ throw new CliError("Could not reach YouTrack; check the URL, connectivity and TLS.", {
120
123
  code: "request.failed", cause: diagnosticCause(cause, [token]),
121
124
  });
122
125
  }
@@ -136,9 +139,7 @@ async function request(connection, path, query, responseName = "JSON", options =
136
139
  }
137
140
  }
138
141
  // The status lets batch callers separate a definite rejection from an uncertain write.
139
- throw Object.assign(new Error(`YouTrack request failed (HTTP ${response.status}).${retry}`), {
140
- status: response.status,
141
- });
142
+ throw new HttpError(response.status, `YouTrack answered HTTP ${response.status}.${retry}`);
142
143
  }
143
144
  let text;
144
145
  try {
@@ -153,8 +154,8 @@ async function request(connection, path, query, responseName = "JSON", options =
153
154
  }
154
155
  catch (cause) {
155
156
  throw new Error(options.budget === undefined
156
- ? "YouTrack response stream failed or was cancelled."
157
- : "YouTrack response stream failed, exceeded --max-bytes, or was cancelled.", { cause: diagnosticCause(cause, [token]) });
157
+ ? "The response stream failed or was cancelled."
158
+ : "The response stream failed, exceeded --max-bytes, or was cancelled.", { cause: diagnosticCause(cause, [token]) });
158
159
  }
159
160
  let value;
160
161
  try {
@@ -164,12 +165,12 @@ async function request(connection, path, query, responseName = "JSON", options =
164
165
  value = JSON.parse(text);
165
166
  }
166
167
  catch (cause) {
167
- throw new Error(`YouTrack returned an invalid ${responseName} response.`, {
168
+ throw new Error(`Invalid ${responseName} response from YouTrack.`, {
168
169
  cause: diagnosticCause(cause, [token], "Invalid JSON syntax."),
169
170
  });
170
171
  }
171
172
  if (options.allowEmpty && value === null) {
172
- throw new Error("YouTrack returned an invalid mutation response.");
173
+ throw new Error("Invalid mutation response from YouTrack.");
173
174
  }
174
175
  return value;
175
176
  }
@@ -186,22 +187,22 @@ export async function getAttachmentDownloadMetadata(connection, attachmentPath)
186
187
  const value = object(await request(connection, attachmentPath, { fields: "id,name,mimeType,url" }));
187
188
  const token = connection.token.trim();
188
189
  const { id, name, mimeType, url } = value;
189
- if (typeof id !== "string" || !id.trim() ||
190
- typeof name !== "string" || !name.trim() ||
190
+ if (typeof id !== "string" ||
191
+ typeof name !== "string" ||
191
192
  typeof url !== "string" || !url.trim() ||
192
193
  (mimeType !== null && typeof mimeType !== "string") ||
193
194
  [id, name, mimeType, url].some((item) => typeof item === "string" && item.includes(token))) {
194
- throw new Error("YouTrack returned invalid attachment download metadata or no download URL.");
195
+ throw new Error("Invalid attachment download metadata from YouTrack, or no download URL.");
195
196
  }
196
197
  return { id, name, mimeType, url };
197
198
  }
198
199
  export async function readCollection(connection, path, query, budget) {
199
200
  const value = scrub(await request(connection, path, query, "JSON", { budget }), connection.token.trim());
200
201
  if (!Array.isArray(value)) {
201
- throw new Error("YouTrack returned an invalid collection response.");
202
+ throw new Error("Invalid collection response from YouTrack.");
202
203
  }
203
204
  if (value.length > Number(query.$top)) {
204
- throw new Error("YouTrack returned more items than the requested top limit.");
205
+ throw new Error("More items than the requested page size came back from YouTrack.");
205
206
  }
206
207
  return value.map(object);
207
208
  }
@@ -209,7 +210,7 @@ export async function readCollection(connection, path, query, budget) {
209
210
  * Read an offset collection in server order until a short page proves the selection complete.
210
211
  * Repeated string IDs are dropped; offset paging is not a snapshot of a changing dataset.
211
212
  */
212
- export async function readPages(connection, path, query, { top, skip, maxResults = Infinity, budget }) {
213
+ export async function readPages(connection, path, query, { top, skip, maxResults = Infinity, budget, progress }) {
213
214
  const items = [];
214
215
  const ids = new Set();
215
216
  for (let offset = skip;;) {
@@ -223,13 +224,14 @@ export async function readPages(connection, path, query, { top, skip, maxResults
223
224
  ids.add(item.id);
224
225
  }
225
226
  if (items.length > maxResults) {
226
- throw new Error("YouTrack selection exceeds --max-results; narrow the query or raise the budget.");
227
+ throw new Error("The selection exceeds --max-results; narrow the query or raise the limit.");
227
228
  }
228
229
  if (page.length < size)
229
230
  return items;
230
231
  if (items.length === before) {
231
- throw new Error("YouTrack repeated a full page; paging stopped without a complete selection.");
232
+ throw new Error("A full page repeated; paging stopped without a complete selection.");
232
233
  }
234
+ progress?.(`Read ${items.length} so far; reading the next page.`);
233
235
  offset += size;
234
236
  }
235
237
  }
@@ -242,7 +244,7 @@ function resourceArguments(values) {
242
244
  ? (items.pop() ?? {})
243
245
  : {};
244
246
  if (items.some((item) => typeof item !== "string")) {
245
- throw new Error("YouTrack resource arguments must be text.");
247
+ throw new Error("Resource arguments must be text.");
246
248
  }
247
249
  return { pathArguments: items, options };
248
250
  }
@@ -271,10 +273,10 @@ export async function currentUser(connection) {
271
273
  const value = await request(connection, "api/users/me", { fields: "id,login" }, "identity");
272
274
  const token = connection.token.trim();
273
275
  if (value === null || typeof value !== "object" ||
274
- !("id" in value) || typeof value.id !== "string" || !value.id.trim() ||
275
- !("login" in value) || typeof value.login !== "string" || !value.login.trim() ||
276
+ !("id" in value) || typeof value.id !== "string" ||
277
+ !("login" in value) || typeof value.login !== "string" ||
276
278
  scrubText(value.id, token) !== value.id || scrubText(value.login, token) !== value.login) {
277
- throw new Error("YouTrack returned an invalid identity response.");
279
+ throw new Error("Invalid identity response from YouTrack.");
278
280
  }
279
281
  return { id: value.id, login: value.login };
280
282
  }
@@ -286,7 +288,7 @@ export async function readUser(connection, options = {}) {
286
288
  export const listProjects = readCollectionAt("api/admin/projects", "id,name,shortName");
287
289
  function positiveBudget(value, label) {
288
290
  if (!Number.isSafeInteger(value) || value < 1) {
289
- throw new Error(`YouTrack ${label} must be a positive safe integer.`);
291
+ throw new Error(`--${label} must be a positive integer.`);
290
292
  }
291
293
  return value;
292
294
  }
@@ -305,29 +307,43 @@ export async function listIssues(connection, options = {}) {
305
307
  skip: Number(query.$skip),
306
308
  maxResults: positiveBudget(options.maxResults, "max-results"),
307
309
  budget,
310
+ progress: options.progress,
308
311
  });
309
312
  }
310
313
  export const getIssue = readObjectAt(issuePath, `${issueListFields},description,created`);
311
314
  export const listComments = readCollectionAt((issueID) => `${issuePath(issueID)}/comments`, commentFields);
312
- export function mutationBody(value, allowed) {
315
+ export function mutationBody(value) {
313
316
  if (value === null || typeof value !== "object" || Array.isArray(value) ||
314
317
  ![Object.prototype, null].includes(Object.getPrototypeOf(value))) {
315
- throw new Error("YouTrack body must be a JSON object.");
316
- }
317
- if (Object.keys(value).some((key) => !allowed.includes(key))) {
318
- throw new Error(`This YouTrack slice supports only these body fields: ${allowed.join(", ")}.`);
318
+ throw new Error("The body must be a JSON object.");
319
+ }
320
+ const ancestors = new Set();
321
+ function validate(item) {
322
+ if (item === null || typeof item === "string" || typeof item === "boolean")
323
+ return;
324
+ if (typeof item === "number" && Number.isFinite(item))
325
+ return;
326
+ if (typeof item !== "object" || ancestors.has(item) ||
327
+ (!Array.isArray(item) && ![Object.prototype, null].includes(Object.getPrototypeOf(item)))) {
328
+ throw new Error("The body must contain JSON values.");
329
+ }
330
+ ancestors.add(item);
331
+ for (const child of Array.isArray(item) ? item : Object.values(item))
332
+ validate(child);
333
+ ancestors.delete(item);
319
334
  }
335
+ validate(value);
320
336
  return value;
321
337
  }
322
338
  export function narrative(value, label) {
323
- if (typeof value !== "string" || !value.trim()) {
324
- throw new Error(`YouTrack ${label} must be nonempty text.`);
339
+ if (typeof value !== "string") {
340
+ throw new Error(`The ${label} must be text.`);
325
341
  }
326
342
  return value;
327
343
  }
328
344
  export function nullableText(value, label) {
329
345
  if (value !== null && typeof value !== "string") {
330
- throw new Error(`YouTrack ${label} must be text or null.`);
346
+ throw new Error(`The ${label} must be text or null.`);
331
347
  }
332
348
  return value;
333
349
  }
@@ -349,14 +365,15 @@ export async function uploadObjectCollection(connection, path, body, projection)
349
365
  return null;
350
366
  }
351
367
  if (!Array.isArray(value)) {
352
- throw new Error("YouTrack returned an invalid upload collection response.");
368
+ throw new Error("Invalid upload collection response from YouTrack.");
353
369
  }
354
370
  return value.map((item) => object(scrub(item, connection.token.trim())));
355
371
  }
356
372
  export async function addComment(connection, issueID, input) {
357
- const body = mutationBody(input, ["text"]);
373
+ const body = mutationBody(input);
358
374
  return mutate(connection, `${issuePath(issueID)}/comments`, {
359
- text: narrative(body.text, "text"),
375
+ ...body,
376
+ ...(Object.hasOwn(body, "text") ? { text: nullableText(body.text, "text") } : {}),
360
377
  }, commentFields);
361
378
  }
362
379
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAczJ,MAAM,CAAC,MAAM,eAAe,GAAG,6FAA6F,CAAC;AAE7H,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,OAAO,GAAG,8FAA8F,CAAC;IAC/G,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAyBD,MAAM,eAAe,GAAG,mEAAmE,CAAC;AAC5F,MAAM,aAAa,GAAG,0CAA0C,CAAC;AAEjE,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,KAAa;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,OAA0B,EAAE,QAAgB;IACjE,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,OAAoB,EAAE,QAAgB;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAU,EAAE,KAAK,GAAG,IAAI;IAChD,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,kCAAkC,CAAC,CAAC;IACrF,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,kCAAkC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,mCAAmC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,OAAO,cAAc,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;YACpD,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE;SACnD,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;YACzC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS;YAC7E,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW;YACvF,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,mBAAmB;YACzF,gBAAgB,EAAE,iBAAiB;SACpC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,UAAU,IAAI,eAAe,IAAI,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,YAAY,EAAE,CAAC;QACtF,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,wCAAwC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACzF,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,KAAK,CAAC,KAAoB,EAAE,KAAa;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACnE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;SAC1C,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,MAAM,CAAC,KAAoB;IAClC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD,KAAK,UAAU,OAAO,CACpB,UAAsB,EACtB,IAAY,EACZ,KAA6B,EAC7B,YAAY,GAAG,MAAM,EACrB,OAAO,GAAmB,EAAE;IAE5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,GAAG,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,YAAY,QAAQ,CAAC;IAC3C,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;YAC7E,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;aACnF;YACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,gEAAgE,EAAE;YACnF,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACzE,KAAK,GAAG,gBAAgB,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;YACxD,CAAC;iBAAM,IAAI,kEAAkE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/F,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBAClC,KAAK,GAAG,gBAAgB,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QACD,uFAAuF;QACvF,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,0BAA0B,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE;YAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;SAChF,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC;QAC7D,iFAAiF;QACjF,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1C,CAAC,CAAC,8CAA8C;YAChD,CAAC,CAAC,qEAAqE,EACzE,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,KAAoB,CAAC;IACzB,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,WAAW,YAAY,0BAA0B,EAAE;YACjE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAsB,EACtB,IAAY,EACZ,KAA6B,EAC7B,IAAqB;IAErB,MAAM,OAAO,GAAmB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACnF,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAsB,EACtB,IAAY,EACZ,KAA6B;IAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,UAAsB,EACtB,cAAsB;IAEtB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC1C,IACE,OAAO,EAAE,KAAK,QAAQ;QACtB,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QACtC,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC;QACnD,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAC1F,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAsB,EACtB,IAAY,EACZ,KAA6B,EAC7B,MAAmB;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACzG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAsB,EACtB,IAAY,EACZ,KAA6B,EAC7B,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAGnD;IAED,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,IAAI,MAAM,GAAG,IAAI,IAAK,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrH,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;gBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QACD,QAAQ,EAAE,CAAC,QAAQ,KAAK,CAAC,MAAM,iCAAiC,CAAC,CAAC;QAClE,MAAM,IAAI,IAAI,CAAC;IACjB,CAAC;AACH,CAAC;AAMD,SAAS,iBAAiB,CAAyB,MAAiB;IAIlE,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS;QACnC,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,UAAU,IAAI,KAAK,CAAC,MAAM;QACxC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAY;QAChC,CAAC,CAAC,EAAa,CAAC;IAClB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,KAAiB,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CACnB,IAAkB,EAClB,UAAoB;IAEpB,OAAO,OAAO,IAAI,KAAK,QAAQ;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAW,CAAC;AAC3D,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,gBAAgB,CAC9B,IAAU,EACV,aAAqB;IAKrB,OAAO,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAc,MAAM,CAAC,CAAC;QAC1E,OAAO,cAAc,CACnB,UAAU,EACV,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,EACjC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAC7B,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAC1B,IAAU,EACV,aAAqB;IAKrB,OAAO,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAoB,MAAM,CAAC,CAAC;QAChF,OAAO,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;YAC/D,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;SACvC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAsB;IACtD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACtC,IACE,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3C,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;QAChD,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QACtD,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,EACxF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAsB,EACtB,OAAO,GAAsB,EAAE;IAE/B,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS;QACjC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;QACzB,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;AAExF,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,8BAA8B,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAsB,EACtB,OAAO,GAAuB,EAAE;IAEhC,MAAM,KAAK,GAA2B;QACpC,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;QACjC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;KACxF,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS;QAC3C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;IACjE,OAAO,OAAO,CAAC,UAAU,KAAK,SAAS;QACrC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC;QACzD,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE;YAC3C,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YACzB,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC;YAC7D,MAAM;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,GAAG,eAAe,sBAAsB,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAC1C,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EACrD,aAAa,CACd,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACnE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,SAAS,QAAQ,CAAC,IAAa;QAC7B,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,SAAS;YAAE,OAAO;QACnF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAC/C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtF,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChB,OAAO,KAAuB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc,EAAE,KAAa;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,KAAa;IACxD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,wBAAwB,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,UAAsB,EACtB,IAAY,EACZ,IAAoB,EACpB,UAAkB;IAElB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE;QAC5E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;KACvC,CAAC,CAAC;IACH,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAsB,EAAE,IAAY;IACrE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAClG,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAsB,EACtB,IAAY,EACZ,IAAc,EACd,UAAkB;IAElB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE;QAC5E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;KACvC,CAAC,CAAC;IACH,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAsB,EACtB,OAAe,EACf,KAAc;IAEd,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;QAC1D,GAAG,IAAI;QACP,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF,EAAE,aAAa,CAAC,CAAC;AACpB,CAAC"}