phpstan-mcp-mx 0.22.0 → 0.23.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.
Files changed (75) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +43 -17
  3. package/dist/baseline.js +24 -12
  4. package/dist/baseline.js.map +1 -1
  5. package/dist/changed.js +52 -26
  6. package/dist/changed.js.map +1 -1
  7. package/dist/compare.js +12 -6
  8. package/dist/compare.js.map +1 -1
  9. package/dist/composer.js +43 -21
  10. package/dist/composer.js.map +1 -1
  11. package/dist/config.js +8 -4
  12. package/dist/config.js.map +1 -1
  13. package/dist/defaults.js +2 -1
  14. package/dist/defaults.js.map +1 -1
  15. package/dist/dumptype.js +16 -8
  16. package/dist/dumptype.js.map +1 -1
  17. package/dist/failure.js.map +1 -1
  18. package/dist/index.js +6 -3
  19. package/dist/index.js.map +1 -1
  20. package/dist/php.js +10 -5
  21. package/dist/php.js.map +1 -1
  22. package/dist/phpstan/error.js.map +1 -1
  23. package/dist/phpstan/output.js +12 -6
  24. package/dist/phpstan/output.js.map +1 -1
  25. package/dist/phpstan/parameters.js.map +1 -1
  26. package/dist/phpstan/process.js +23 -9
  27. package/dist/phpstan/process.js.map +1 -1
  28. package/dist/phpstan/queue.js +4 -2
  29. package/dist/phpstan/queue.js.map +1 -1
  30. package/dist/phpstan.js +24 -12
  31. package/dist/phpstan.js.map +1 -1
  32. package/dist/project.d.ts +6 -2
  33. package/dist/project.js +57 -18
  34. package/dist/project.js.map +1 -1
  35. package/dist/report.js +38 -19
  36. package/dist/report.js.map +1 -1
  37. package/dist/root-source.d.ts +43 -0
  38. package/dist/root-source.js +124 -0
  39. package/dist/root-source.js.map +1 -0
  40. package/dist/roots.d.ts +12 -0
  41. package/dist/roots.js +23 -6
  42. package/dist/roots.js.map +1 -1
  43. package/dist/runner.js +14 -7
  44. package/dist/runner.js.map +1 -1
  45. package/dist/runs.js +6 -3
  46. package/dist/runs.js.map +1 -1
  47. package/dist/schema-dialect.js +6 -3
  48. package/dist/schema-dialect.js.map +1 -1
  49. package/dist/server.d.ts +3 -2
  50. package/dist/server.js +9 -5
  51. package/dist/server.js.map +1 -1
  52. package/dist/tmpdir.js +6 -3
  53. package/dist/tmpdir.js.map +1 -1
  54. package/dist/tools/analysis.d.ts +4 -4
  55. package/dist/tools/analysis.js +4 -2
  56. package/dist/tools/analysis.js.map +1 -1
  57. package/dist/tools/inspect.d.ts +7 -7
  58. package/dist/tools/inspect.js +85 -34
  59. package/dist/tools/inspect.js.map +1 -1
  60. package/dist/tools/prompts.d.ts +3 -3
  61. package/dist/tools/prompts.js +3 -3
  62. package/dist/tools/prompts.js.map +1 -1
  63. package/dist/tools/shared.d.ts +2 -2
  64. package/dist/tools/shared.js +7 -5
  65. package/dist/tools/shared.js.map +1 -1
  66. package/dist/tools/writes.d.ts +3 -3
  67. package/dist/tools/writes.js +3 -3
  68. package/dist/tools/writes.js.map +1 -1
  69. package/dist/tools.d.ts +2 -2
  70. package/dist/tools.js +2 -1
  71. package/dist/tools.js.map +1 -1
  72. package/dist/unmatched.js +30 -15
  73. package/dist/unmatched.js.map +1 -1
  74. package/dist/version.js.map +1 -1
  75. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
package/dist/report.js CHANGED
@@ -79,8 +79,9 @@ export function buildReport(result, window = {}, notices = [], onChangedLine, co
79
79
  }
80
80
  /** Lege of alleen-witruimte-waarden vallen weg; blijft er niets over, dan is er geen filter. */
81
81
  function normaliseFilter(identifiers) {
82
- if (identifiers === undefined)
82
+ if (identifiers === undefined) {
83
83
  return null;
84
+ }
84
85
  const cleaned = [...new Set(identifiers.map((value) => value.trim()).filter((value) => value !== ''))];
85
86
  return cleaned.length === 0 ? null : cleaned;
86
87
  }
@@ -91,8 +92,9 @@ function normaliseFilter(identifiers) {
91
92
  * zijn. Blijft er niets over, dan is er geen filter, net als bij identifiers.
92
93
  */
93
94
  function normalisePlaces(project, places) {
94
- if (places === undefined)
95
+ if (places === undefined) {
95
96
  return null;
97
+ }
96
98
  const cleaned = [
97
99
  ...new Set(places
98
100
  .map((place) => place.trim())
@@ -117,8 +119,9 @@ function isIn(file, places) {
117
119
  * containment-check op paden.
118
120
  */
119
121
  function matches(finding, filter) {
120
- if (finding.identifier === null)
122
+ if (finding.identifier === null) {
121
123
  return false;
124
+ }
122
125
  const identifier = finding.identifier;
123
126
  return filter.some((value) => identifier === value || identifier.startsWith(`${value}.`));
124
127
  }
@@ -131,22 +134,26 @@ export function renderReport(report, runId) {
131
134
  // Bovenaan, vóór de fouten: dit bepaalt of je de uitslag hieronder mag vertrouwen.
132
135
  if (report.warnings.length > 0) {
133
136
  lines.push('WARNING PHPStan reported this alongside the result:');
134
- for (const warning of report.warnings)
137
+ for (const warning of report.warnings) {
135
138
  lines.push(`- ${warning}`);
136
- if (report.omitted.warnings > 0)
139
+ }
140
+ if (report.omitted.warnings > 0) {
137
141
  lines.push(`- (${report.omitted.warnings} more message(s) not shown)`);
142
+ }
138
143
  lines.push('');
139
144
  }
140
145
  if (report.notices.length > 0) {
141
146
  lines.push('Note:');
142
- for (const notice of report.notices)
147
+ for (const notice of report.notices) {
143
148
  lines.push(`- ${notice}`);
149
+ }
144
150
  lines.push('');
145
151
  }
146
152
  if (report.generalErrors.length > 0) {
147
153
  lines.push('Errors not tied to a file:');
148
- for (const error of report.generalErrors)
154
+ for (const error of report.generalErrors) {
149
155
  lines.push(`- ${error}`);
156
+ }
150
157
  if (report.omitted.generalErrors > 0) {
151
158
  lines.push(`- (${report.omitted.generalErrors} more error(s) not shown)`);
152
159
  }
@@ -154,16 +161,18 @@ export function renderReport(report, runId) {
154
161
  }
155
162
  // Vóór de vroege uitgang bij nul bevindingen: "alles opgelost" is juist het geval
156
163
  // waarin de vergelijking het meest zegt.
157
- if (report.comparison !== null)
164
+ if (report.comparison !== null) {
158
165
  lines.push(...describeComparison(report.comparison), '');
166
+ }
159
167
  const filters = describeFilters(report);
160
168
  const changes = report.changedLines === null ? null : describeChangedLines(report.changedLines, report.comparison?.basis === 'base');
161
169
  if (report.page.total === 0) {
162
170
  if (filters !== null && report.totals.fileErrors > 0) {
163
171
  lines.push(`No findings ${filters}, ` +
164
172
  `but there are ${report.totals.fileErrors} other finding(s).`);
165
- if (changes !== null)
173
+ if (changes !== null) {
166
174
  lines.push(changes);
175
+ }
167
176
  return lines.join('\n');
168
177
  }
169
178
  const zonderContext = report.generalErrors.length === 0 && report.warnings.length === 0 && report.notices.length === 0;
@@ -173,8 +182,9 @@ export function renderReport(report, runId) {
173
182
  lines.push(filters === null
174
183
  ? `${report.page.total} finding(s) in ${report.summary.filesWithFindings} file(s).`
175
184
  : `${report.page.total} finding(s) ${filters}, of ${report.totals.fileErrors} in total.`);
176
- if (changes !== null)
185
+ if (changes !== null) {
177
186
  lines.push(changes);
187
+ }
178
188
  lines.push('', filters === null
179
189
  ? 'Most common:'
180
190
  : 'Most common (across all findings, including filtered ones):', ...report.summary.byIdentifier.map((row) => ` ${pad(row.count)} ${row.identifier}`),
@@ -204,13 +214,15 @@ export function renderReport(report, runId) {
204
214
  const mark = marked ? (finding.onChangedLine === true ? '+ ' : ' ') : '';
205
215
  const where = finding.line === null ? ' ?' : String(finding.line).padStart(4);
206
216
  lines.push(`${mark}${where} ${finding.identifier ?? '-'} ${finding.message}`);
207
- if (finding.tip !== null)
217
+ if (finding.tip !== null) {
208
218
  lines.push(`${marked ? ' ' : ''} tip: ${finding.tip}`);
219
+ }
209
220
  }
210
221
  if (report.instructions.length > 0) {
211
222
  lines.push('', 'PHPStan adds:');
212
- for (const regel of report.instructions)
223
+ for (const regel of report.instructions) {
213
224
  lines.push(` ${regel}`);
225
+ }
214
226
  }
215
227
  if (report.page.hasMore) {
216
228
  lines.push('', runId === undefined
@@ -225,12 +237,15 @@ export function renderReport(report, runId) {
225
237
  /** Waarop de pagina beperkt is, als bijzin ("with identifier x on a changed line"), of null. */
226
238
  function describeFilters(report) {
227
239
  const parts = [];
228
- if (report.filter !== null)
240
+ if (report.filter !== null) {
229
241
  parts.push(`with identifier ${report.filter.join(', ')}`);
230
- if (report.onlyIn !== null)
242
+ }
243
+ if (report.onlyIn !== null) {
231
244
  parts.push(`in ${report.onlyIn.join(', ')}`);
232
- if (report.changedLines?.onlyChangedLines === true)
245
+ }
246
+ if (report.changedLines?.onlyChangedLines === true) {
233
247
  parts.push('on a changed line');
248
+ }
234
249
  return parts.length === 0 ? null : parts.join(' ');
235
250
  }
236
251
  /**
@@ -243,8 +258,9 @@ function describeChangedLines(changes, comparedWithBase = false) {
243
258
  const zin = `${changes.onChangedLine} on a line you changed (marked with +), ` +
244
259
  `${changes.elsewhere} elsewhere in the changed files, ${changes.otherFiles} in files you did not change.`;
245
260
  // Met het "vóór" is het voorbehoud niet meer nodig: de vergelijking erboven zegt het.
246
- if (comparedWithBase)
261
+ if (comparedWithBase) {
247
262
  return `${zin} The comparison above says which of them your change introduced.`;
263
+ }
248
264
  // Het voorbehoud is hier nog zwaarder: in een project zonder baseline staan alle oude
249
265
  // fouten onder "not changed". Welke door de wijziging komen, zegt één analyse niet.
250
266
  return changes.otherFiles === 0 && changes.elsewhere === 0
@@ -277,13 +293,15 @@ function describeComparison(comparison) {
277
293
  ];
278
294
  if (comparison.fixedFindings.length > 0) {
279
295
  lines.push(comparison.basis === 'base' ? 'Fixed (line numbers from before your change):' : 'Fixed (line numbers from that analysis):', ...comparison.fixedFindings.map(comparedLine));
280
- if (comparison.omitted.fixed > 0)
296
+ if (comparison.omitted.fixed > 0) {
281
297
  lines.push(` (and ${String(comparison.omitted.fixed)} more)`);
298
+ }
282
299
  }
283
300
  if (comparison.newFindings.length > 0) {
284
301
  lines.push('New:', ...comparison.newFindings.map(comparedLine));
285
- if (comparison.omitted.new > 0)
302
+ if (comparison.omitted.new > 0) {
286
303
  lines.push(` (and ${String(comparison.omitted.new)} more)`);
304
+ }
287
305
  }
288
306
  if (comparison.notCompared.findings > 0) {
289
307
  lines.push(`${String(comparison.notCompared.findings)} finding(s) are in files that only one of the two analyses ` +
@@ -388,8 +406,9 @@ function topRows(counts) {
388
406
  */
389
407
  export function displayPath(project, file) {
390
408
  const rel = relative(project, file);
391
- if (rel === '' || rel.startsWith('..') || isAbsolute(rel))
409
+ if (rel === '' || rel.startsWith('..') || isAbsolute(rel)) {
392
410
  return file;
411
+ }
393
412
  return rel;
394
413
  }
395
414
  function clamp(value, low, high) {
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIjD,qDAAqD;AACrD,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEhC,uEAAuE;AACvE,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B,8DAA8D;AAC9D,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,qGAAqG;AACrG,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,+FAA+F;AAC/F,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,6FAA6F;AAC7F,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAE/B,oFAAoF;AACpF,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAoI/B;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,MAAsB,EACtB,SAAiB,EAAE,EACnB,UAA6B,EAAE,EAC/B,aAAgC,EAChC,aAAgC,IAAI,EACpC,aAAyC;IAGzC,MAAM,GAAG,GAAqB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9D,GAAG,OAAO;QACV,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;QAC/C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpG,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;KACvF,CAAC,CAAC,CAAC;IAEJ,2EAA2E;IAC3E,iFAAiF;IACjF,0EAA0E;IAC1E,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC;IACpF,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CACzB,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CACnD,CAAC;IACF,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IACtF,MAAM,UAAU,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;IAExH,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAE1D,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,aAAa,CAAC,IAAI;QACjC,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QACtC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;QACrB,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;QAC7E,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;QACvB,QAAQ;QACR,IAAI,EAAE;YACJ,MAAM;YACN,KAAK;YACL,QAAQ,EAAE,QAAQ,CAAC,MAAM;YACzB,KAAK,EAAE,QAAQ,CAAC,MAAM;YACtB,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;SACpD;QACD,MAAM;QACN,MAAM;QACN,YAAY,EACV,aAAa,KAAK,SAAS;YACzB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,aAAa,EAAE,cAAc;gBAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,GAAG,cAAc,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;gBAC1D,UAAU;gBACV,gBAAgB,EAAE,WAAW;aAC9B;QACP,UAAU;KACX,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,SAAS,eAAe,CAAC,WAA0C;IAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACvG,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,OAAe,EAAE,MAAqC;IAE7E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG;QACd,GAAG,IAAI,GAAG,CACR,MAAM;aACH,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACzE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aACrF,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,CAAC,CACpD;KACF,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAS,IAAI,CAAC,IAAY,EAAE,MAAyB;IAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CAAC,OAAuB,EAAE,MAAyB;IAEjE,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,KAAK,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,KAAc;IAEzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,mFAAmF;IACnF,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAElE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,6BAA6B,CAAC,CAAC;QACzE,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEpB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,2BAA2B,CAAC,CAAC;QAC5E,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,kFAAkF;IAClF,yCAAyC;IACzC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,OAAO,GACX,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC;IAEvH,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,IAAI,CACR,eAAe,OAAO,IAAI;gBACxB,iBAAiB,MAAM,CAAC,MAAM,CAAC,UAAU,oBAAoB,CAChE,CAAC;YAEF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QACnG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,kBAAkB,MAAM,CAAC,OAAO,CAAC,iBAAiB,WAAW;QACnF,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,eAAe,OAAO,QAAQ,MAAM,CAAC,MAAM,CAAC,UAAU,YAAY,CAC3F,CAAC;IAEF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,EAAE,EACF,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,6DAA6D,EACjE,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;IACrF,oFAAoF;IACpF,+DAA+D;IAC/D,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;QAC9D,CAAC,CAAC,CAAC,kFAAkF,CAAC;QACtF,CAAC,CAAC,EAAE,CAAC,CACR,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,kGAAkG,EAClG,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,UAAU,IAAI,GAAG,KAAK,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAChH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,sBAAsB,EACtB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,IAAI,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAElE,iFAAiF;IACjF,uDAAuD;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;IAC5C,IAAI,OAAO,GAAkB,IAAI,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,OAAO,CAAC,UAAU,IAAI,GAAG,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhF,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,kDAAkD;gBACzE,UAAU,EAAE,gBAAgB;YAChC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,kDAAkD;gBACzE,UAAU,EAAE,eAAe,KAAK,qDAAqD;gBACrF,iBAAiB,CACxB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gGAAgG;AAChG,SAAS,eAAe,CAAC,MAAc;IAErC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,OAA4B,EAAE,gBAAgB,GAAG,KAAK;IAElF,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,GAAG,GACP,GAAG,OAAO,CAAC,aAAa,0CAA0C;YAClE,GAAG,OAAO,CAAC,SAAS,oCAAoC,OAAO,CAAC,UAAU,+BAA+B,CAAC;QAE5G,sFAAsF;QACtF,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,GAAG,GAAG,kEAAkE,CAAC;QAClF,CAAC;QAED,sFAAsF;QACtF,oFAAoF;QACpF,OAAO,OAAO,CAAC,UAAU,KAAK,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC;YACxD,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,GAAG,GAAG,4EAA4E;gBAChF,wFAAwF;gBACxF,8DAA8D,CAAC;IACvE,CAAC;IAED,MAAM,GAAG,GACP,GAAG,OAAO,CAAC,aAAa,0CAA0C;QAClE,GAAG,OAAO,CAAC,SAAS,4BAA4B,CAAC;IACnD,OAAO,OAAO,CAAC,SAAS,KAAK,CAAC;QAC5B,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,GAAG,gFAAgF;YACpF,8CAA8C,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,UAAsB;IAEhD,MAAM,GAAG,GACP,UAAU,CAAC,KAAK,KAAK,MAAM;QACzB,CAAC,CAAC,mCAAmC,UAAU,CAAC,UAAU,GAAG;QAC7D,CAAC,CAAC,mBAAmB,MAAM,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,UAAU,CAAC,UAAU,GAAG,CAAC;IACpG,MAAM,KAAK,GAAa;QACtB,UAAU,CAAC,KAAK,KAAK,CAAC,IAAI,UAAU,CAAC,GAAG,KAAK,CAAC;YAC5C,CAAC,CAAC,iBAAiB,GAAG,iCAAiC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc;YACjG,CAAC,CAAC,iBAAiB,GAAG,KAAK,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ;gBAC1F,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc;KAClD,CAAC;IAEF,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,UAAU,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,0CAA0C,EAC1H,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAC9C,CAAC;QAEF,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAEhE,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,6DAA6D;YACrG,sCAAsC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnF,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,KAAoB;IAExC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM;QAC9B,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC;QACrG,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,KAAK,KAAK,CAAC,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,UAAU,IAAI,GAAG,KAAK,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC;AAC3F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAA2B;IAEvD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnD,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAE/B,OAAO,OAAO,CAAC,MAAM,IAAI,iBAAiB;QACxC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC;AAC5D,CAAC;AAED,8DAA8D;AAC9D,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAExC;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,UAAkB;IAEjC,OAAO,yCAAyC,UAAU,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,SAAS,CAAC,QAAmC;IAEpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6F,CAAC;IAExH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC;QACvD,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAExE,sFAAsF;QACtF,sFAAsF;QACtF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAC9H,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,iBAAiB,EAAE,OAAO,CAAC,IAAI;QAC/B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACjE,UAAU;YACV,KAAK;YACL,IAAI,EAAE,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;SAChE,CAAC,CAAC;QACH,SAAS,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;aAChC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aACtG,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;aACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;YACtD,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;SAC5B,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,YAAY,CAAC,GAAoB;IAExC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC;IAC9G,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;IACrG,OAAO,GAAG,OAAO,MAAM,IAAI,GAAG,CAAC;AACjC,CAAC;AAED,yFAAyF;AACzF,SAAS,OAAO,CAAC,MAA2B;IAE1C,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,IAAY;IAEvD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEpC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,IAAY;IAErD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,GAAG,CAAC,KAAa;IAExB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,43 @@
1
+ import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import type { ResolvedProject } from './project.js';
3
+ import type { Root } from './roots.js';
4
+ /** De roots die voor één aanroep gelden. */
5
+ export interface ScopedRoots {
6
+ /** De whitelist: PHPSTAN_MCP_ROOTS als die gezet is, anders de roots van de client. */
7
+ readonly allowed: readonly Root[];
8
+ /** Waar `allowed` vandaan komt. */
9
+ readonly origin: 'config' | 'client';
10
+ /** De mappen die de client deelt; hiertegen wordt een relatief `project` geresolved. */
11
+ readonly client: readonly Root[];
12
+ /** Waarom de client geen mappen deelt, of null als hij dat wel doet. */
13
+ readonly clientProblem: string | null;
14
+ }
15
+ /**
16
+ * De roots per aanroep: de geconfigureerde, en die van de client via MCP `roots/list`.
17
+ *
18
+ * Waarom de client en niet `process.cwd()`: nagemeten start Claude Code de server wel in de
19
+ * map van de sessie, maar een client die dat niet doet (Claude Desktop) laat de server in een
20
+ * willekeurige map starten, en dan wijst `.` stil ergens anders heen. Met roots zegt de client
21
+ * zelf welke map hij bedoelt, en zonder roots is er geen gok maar een melding.
22
+ *
23
+ * Wat de client deelt, komt van de client en niet uit een tool-argument: dezelfde grens als bij
24
+ * de runners. Is PHPSTAN_MCP_ROOTS gezet, dan blijft die de whitelist en bepalen de roots van de
25
+ * client alleen waar `.` naar wijst; een map daarbuiten wordt dan gewoon geweigerd.
26
+ */
27
+ export declare class RootSource {
28
+ private readonly configured;
29
+ private readonly server;
30
+ private cached;
31
+ constructor(configured: readonly Root[], server: Server);
32
+ /** De whitelist en de mappen van de client, zoals ze nu gelden. */
33
+ current(): Promise<ScopedRoots>;
34
+ /** `resolveProject` met de roots van dit moment: de whitelist én de basis voor een relatief pad. */
35
+ resolveProject(argument: string): Promise<ResolvedProject>;
36
+ private clientRoots;
37
+ /**
38
+ * Ook een mislukte vraag blijft in de cache, tot de client meldt dat zijn roots veranderd
39
+ * zijn. Anders kost elke aanroep met een project opnieuw de volle wachttijd bij een client
40
+ * die de capability noemt maar niet antwoordt.
41
+ */
42
+ private fetch;
43
+ }
@@ -0,0 +1,124 @@
1
+ import { RootsListChangedNotificationSchema } from '@modelcontextprotocol/sdk/types.js';
2
+ import { fileURLToPath } from 'node:url';
3
+ import { resolveProject } from './project.js';
4
+ import { inspectRoot } from './roots.js';
5
+ /**
6
+ * Hoe lang de server op `roots/list` wacht. Het is een vraag aan het proces dat de server
7
+ * zelf gestart heeft; wie daar seconden over doet, antwoordt waarschijnlijk nooit, en elke
8
+ * aanroep die op een relatief pad wacht, wacht hierop mee.
9
+ */
10
+ const LIST_ROOTS_TIMEOUT_MS = 5_000;
11
+ /**
12
+ * De roots per aanroep: de geconfigureerde, en die van de client via MCP `roots/list`.
13
+ *
14
+ * Waarom de client en niet `process.cwd()`: nagemeten start Claude Code de server wel in de
15
+ * map van de sessie, maar een client die dat niet doet (Claude Desktop) laat de server in een
16
+ * willekeurige map starten, en dan wijst `.` stil ergens anders heen. Met roots zegt de client
17
+ * zelf welke map hij bedoelt, en zonder roots is er geen gok maar een melding.
18
+ *
19
+ * Wat de client deelt, komt van de client en niet uit een tool-argument: dezelfde grens als bij
20
+ * de runners. Is PHPSTAN_MCP_ROOTS gezet, dan blijft die de whitelist en bepalen de roots van de
21
+ * client alleen waar `.` naar wijst; een map daarbuiten wordt dan gewoon geweigerd.
22
+ */
23
+ export class RootSource {
24
+ configured;
25
+ server;
26
+ cached = null;
27
+ constructor(configured, server) {
28
+ this.configured = configured;
29
+ this.server = server;
30
+ // Een client die zijn roots verandert (Claude Code bij /add-dir) meldt dat; de volgende
31
+ // aanroep vraagt ze dan opnieuw op in plaats van met de oude lijst te werken.
32
+ server.setNotificationHandler(RootsListChangedNotificationSchema, () => {
33
+ this.cached = null;
34
+ });
35
+ }
36
+ /** De whitelist en de mappen van de client, zoals ze nu gelden. */
37
+ async current() {
38
+ const client = await this.clientRoots();
39
+ const fromConfig = this.configured.length > 0;
40
+ return {
41
+ allowed: fromConfig ? this.configured : client.roots,
42
+ origin: fromConfig ? 'config' : 'client',
43
+ client: client.roots,
44
+ clientProblem: client.problem,
45
+ };
46
+ }
47
+ /** `resolveProject` met de roots van dit moment: de whitelist én de basis voor een relatief pad. */
48
+ async resolveProject(argument) {
49
+ const scope = await this.current();
50
+ return resolveProject(argument, scope.allowed, scope.client, scope.clientProblem);
51
+ }
52
+ clientRoots() {
53
+ // Vóór de initialisatie zijn de capabilities van de client nog onbekend; dat antwoord
54
+ // hoort niet in de cache, anders blijft "deelt niets" de rest van de sessie staan.
55
+ if (this.server.getClientCapabilities() === undefined) {
56
+ return Promise.resolve({ roots: [], problem: 'the client has not shared its capabilities yet' });
57
+ }
58
+ this.cached ??= this.fetch(this.server);
59
+ return this.cached;
60
+ }
61
+ /**
62
+ * Ook een mislukte vraag blijft in de cache, tot de client meldt dat zijn roots veranderd
63
+ * zijn. Anders kost elke aanroep met een project opnieuw de volle wachttijd bij een client
64
+ * die de capability noemt maar niet antwoordt.
65
+ */
66
+ async fetch(server) {
67
+ if (server.getClientCapabilities()?.roots === undefined) {
68
+ return { roots: [], problem: 'the client does not share its working directory (no MCP roots capability)' };
69
+ }
70
+ try {
71
+ const { roots } = await server.listRoots(undefined, { timeout: LIST_ROOTS_TIMEOUT_MS });
72
+ return { roots: dedupe(roots.map((root) => fromUri(root.uri))), problem: null };
73
+ }
74
+ catch (error) {
75
+ return { roots: [], problem: `the client gave no usable answer to roots/list (${describeError(error)})` };
76
+ }
77
+ }
78
+ }
79
+ /**
80
+ * Eén regel uit een fout van `listRoots`. Het SDK valideert het antwoord zelf en keurt de hele
81
+ * lijst af als één URI niet met `file://` begint; zijn melding is dan een JSON-dump van de
82
+ * zod-fouten, en daarvan is alleen de `message` leesbaar.
83
+ */
84
+ function describeError(error) {
85
+ const text = error instanceof Error ? error.message : String(error);
86
+ try {
87
+ const issues = JSON.parse(text);
88
+ const first = issues[0]?.message;
89
+ if (typeof first === 'string') {
90
+ return first;
91
+ }
92
+ }
93
+ catch {
94
+ // Geen JSON: dan is de melding zelf al tekst.
95
+ }
96
+ return text.replace(/\s+/g, ' ').slice(0, 200);
97
+ }
98
+ /**
99
+ * Een root van de client als Root. Het SDK laat alleen `file://` door, maar ook dan kan de URI
100
+ * naar een andere machine wijzen (`file://server/share` op Linux); dat is geen map hier.
101
+ */
102
+ function fromUri(uri) {
103
+ let local;
104
+ try {
105
+ local = fileURLToPath(uri);
106
+ }
107
+ catch {
108
+ return { raw: uri, path: null, problem: 'not a local file:// URI' };
109
+ }
110
+ return inspectRoot(uri, local);
111
+ }
112
+ /** Twee URI's kunnen dezelfde map zijn (een symlink, een andere schrijfwijze op Windows). */
113
+ function dedupe(roots) {
114
+ const seen = new Set();
115
+ return roots.filter((root) => {
116
+ const key = root.path ?? `raw:${root.raw}`;
117
+ if (seen.has(key)) {
118
+ return false;
119
+ }
120
+ seen.add(key);
121
+ return true;
122
+ });
123
+ }
124
+ //# sourceMappingURL=root-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-source.js","sourceRoot":"","sources":["../src/root-source.ts"],"names":[],"mappings":"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"}
package/dist/roots.d.ts CHANGED
@@ -15,9 +15,21 @@ export interface Root {
15
15
  * kan uitleggen waarom een verwacht project ontbreekt.
16
16
  */
17
17
  export declare function loadRoots(env?: NodeJS.ProcessEnv): Root[];
18
+ /**
19
+ * Controleert één root: absoluut, bestaand en een map, en geeft het geresolvede pad. Ook
20
+ * voor de roots van de client, zodat die door dezelfde realpath-normalisatie gaan als de
21
+ * geconfigureerde. `raw` blijft wat er gegeven werd (bij de client een `file://`-URI),
22
+ * `local` is het pad dat daarbij hoort.
23
+ */
24
+ export declare function inspectRoot(raw: string, local?: string): Root;
18
25
  /** Een root waarvan het pad geresolvet is en die dus daadwerkelijk bruikbaar is. */
19
26
  export type UsableRoot = Root & {
20
27
  path: string;
21
28
  };
22
29
  /** Type-guard zodat `roots.filter(isUsable)` het null-pad wegneemt. */
23
30
  export declare function isUsable(root: Root): root is UsableRoot;
31
+ /**
32
+ * Het pad van de enige bruikbare root, of null bij geen of meerdere. Voor de mappen van de
33
+ * client: alleen bij precies één is duidelijk waar een relatief `project` naar wijst.
34
+ */
35
+ export declare function soleRoot(roots: readonly Root[]): string | null;
package/dist/roots.js CHANGED
@@ -12,36 +12,45 @@ export function loadRoots(env = process.env) {
12
12
  // De omgeving wint van het bestand: die staat in de configuratie van één client,
13
13
  // het bestand geldt voor de hele machine.
14
14
  const configured = env[ROOTS_ENV_VAR] ?? fromConfig('roots', env);
15
- if (configured === undefined || configured.trim() === '')
15
+ if (configured === undefined || configured.trim() === '') {
16
16
  return [];
17
+ }
17
18
  const roots = [];
18
19
  const seen = new Set();
19
20
  // path.delimiter in plaats van een harde ':' op Windows is dat ';', en een
20
21
  // Windows-pad bevat zelf een dubbele punt na de driveletter.
21
22
  for (const entry of configured.split(delimiter)) {
22
23
  const raw = entry.trim();
23
- if (raw === '')
24
+ if (raw === '') {
24
25
  continue;
26
+ }
25
27
  const root = inspectRoot(raw);
26
28
  // Dedupliceren op het geresolvede pad: twee verschillende regels kunnen via
27
29
  // een symlink dezelfde map zijn.
28
30
  const key = root.path ?? `raw:${raw}`;
29
- if (seen.has(key))
31
+ if (seen.has(key)) {
30
32
  continue;
33
+ }
31
34
  seen.add(key);
32
35
  roots.push(root);
33
36
  }
34
37
  return roots;
35
38
  }
36
- function inspectRoot(raw) {
37
- if (!isAbsolute(raw)) {
39
+ /**
40
+ * Controleert één root: absoluut, bestaand en een map, en geeft het geresolvede pad. Ook
41
+ * voor de roots van de client, zodat die door dezelfde realpath-normalisatie gaan als de
42
+ * geconfigureerde. `raw` blijft wat er gegeven werd (bij de client een `file://`-URI),
43
+ * `local` is het pad dat daarbij hoort.
44
+ */
45
+ export function inspectRoot(raw, local = raw) {
46
+ if (!isAbsolute(local)) {
38
47
  return { raw, path: null, problem: 'not an absolute path' };
39
48
  }
40
49
  try {
41
50
  // realpathSync.native en niet de JS-variant: alleen de native versie
42
51
  // corrigeert ook de hoofdlettervorm op een case-insensitive volume (macOS),
43
52
  // en die vorm moet kloppen omdat de containment-check erop vergelijkt.
44
- const path = realpathSync.native(raw);
53
+ const path = realpathSync.native(local);
45
54
  if (!statSync(path).isDirectory()) {
46
55
  return { raw, path: null, problem: 'is not a directory' };
47
56
  }
@@ -55,4 +64,12 @@ function inspectRoot(raw) {
55
64
  export function isUsable(root) {
56
65
  return root.path !== null;
57
66
  }
67
+ /**
68
+ * Het pad van de enige bruikbare root, of null bij geen of meerdere. Voor de mappen van de
69
+ * client: alleen bij precies één is duidelijk waar een relatief `project` naar wijst.
70
+ */
71
+ export function soleRoot(roots) {
72
+ const usable = roots.filter(isUsable);
73
+ return usable.length === 1 ? (usable[0]?.path ?? null) : null;
74
+ }
58
75
  //# sourceMappingURL=roots.js.map
package/dist/roots.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"roots.js","sourceRoot":"","sources":["../src/roots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAElD,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAYjD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC5D,iFAAiF;IACjF,0CAA0C;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAEpE,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,2EAA2E;IAC3E,6DAA6D;IAC7D,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,GAAG,KAAK,EAAE;YAAE,SAAS;QAEzB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,4EAA4E;QAC5E,iCAAiC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC;QACH,qEAAqE;QACrE,4EAA4E;QAC5E,uEAAuE;QACvE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAClC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACxD,CAAC;AACH,CAAC;AAKD,uEAAuE;AACvE,MAAM,UAAU,QAAQ,CAAC,IAAU;IACjC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"roots.js","sourceRoot":"","sources":["../src/roots.ts"],"names":[],"mappings":"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"}
package/dist/runner.js CHANGED
@@ -19,8 +19,9 @@ export const RUNNERS_ENV_VAR = 'PHPSTAN_MCP_RUNNERS';
19
19
  */
20
20
  export function loadRunners(env = process.env) {
21
21
  const ruw = (env[RUNNERS_ENV_VAR] ?? fromConfig('runners', env))?.trim();
22
- if (ruw === undefined || ruw === '')
22
+ if (ruw === undefined || ruw === '') {
23
23
  return new Map();
24
+ }
24
25
  let ontleed;
25
26
  try {
26
27
  ontleed = JSON.parse(ruw);
@@ -79,13 +80,16 @@ export function naarOmgeving(runner, project, pad, host = path) {
79
80
  // Alleen absolute paden: hier komen ook subcommando's als `analyse` langs, en
80
81
  // `relative` resolvet een relatief pad tegen de cwd van de server. Is die toevallig
81
82
  // het project, dan werd `analyse` anders `/var/www/html/analyse`.
82
- if (!host.isAbsolute(pad))
83
+ if (!host.isAbsolute(pad)) {
83
84
  return pad;
85
+ }
84
86
  const rel = host.relative(project, pad);
85
- if (rel === '')
87
+ if (rel === '') {
86
88
  return runner.workdir;
87
- if (buiten(rel, host))
89
+ }
90
+ if (buiten(rel, host)) {
88
91
  return pad;
92
+ }
89
93
  return path.posix.join(runner.workdir, ...rel.split(host.sep));
90
94
  }
91
95
  /**
@@ -95,13 +99,16 @@ export function naarOmgeving(runner, project, pad, host = path) {
95
99
  * dat bestand openen: dat pad bestaat alleen binnen de container.
96
100
  */
97
101
  export function naarHost(runner, project, pad, host = path) {
98
- if (!path.posix.isAbsolute(pad))
102
+ if (!path.posix.isAbsolute(pad)) {
99
103
  return pad;
104
+ }
100
105
  const rel = path.posix.relative(runner.workdir, pad);
101
- if (rel === '')
106
+ if (rel === '') {
102
107
  return project;
103
- if (buiten(rel, path.posix))
108
+ }
109
+ if (buiten(rel, path.posix)) {
104
110
  return pad;
111
+ }
105
112
  return host.join(project, ...rel.split('/'));
106
113
  }
107
114
  /** Het pad naar het PHPStan-binary binnen de omgeving van de runner altijd POSIX. */