code-auditor-mcp 3.4.14 → 3.4.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +83 -0
- package/dist/analyzers/applicability.d.ts +41 -0
- package/dist/analyzers/applicability.d.ts.map +1 -0
- package/dist/analyzers/applicability.js +96 -0
- package/dist/analyzers/applicability.js.map +1 -0
- package/dist/analyzers/ruleRegistry.js +1 -1
- package/dist/analyzers/ruleRegistry.js.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +2 -2
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +2 -2
- package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js +20 -9
- package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
- package/dist/analyzers/universal/schema/migrations.d.ts +11 -0
- package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -1
- package/dist/analyzers/universal/schema/migrations.js +127 -4
- package/dist/analyzers/universal/schema/migrations.js.map +1 -1
- package/dist/auditRunner.d.ts.map +1 -1
- package/dist/auditRunner.js +62 -23
- package/dist/auditRunner.js.map +1 -1
- package/dist/cli.js +406 -1
- package/dist/cli.js.map +1 -1
- package/dist/codeIndexDB.d.ts +40 -1
- package/dist/codeIndexDB.d.ts.map +1 -1
- package/dist/codeIndexDB.js +222 -50
- package/dist/codeIndexDB.js.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/pathProfiles.d.ts +7 -0
- package/dist/config/pathProfiles.d.ts.map +1 -1
- package/dist/config/pathProfiles.js +7 -1
- package/dist/config/pathProfiles.js.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +1 -1
- package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
- package/dist/ledger.d.ts +163 -2
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +528 -7
- package/dist/ledger.js.map +1 -1
- package/dist/mcp.js +3 -3
- package/dist/mcp.js.map +1 -1
- package/dist/mcpAuditJobs.d.ts +24 -2
- package/dist/mcpAuditJobs.d.ts.map +1 -1
- package/dist/mcpAuditJobs.js +364 -58
- package/dist/mcpAuditJobs.js.map +1 -1
- package/dist/pipeline.d.ts +9 -2
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +165 -18
- package/dist/pipeline.js.map +1 -1
- package/dist/pipelineAdapters.d.ts.map +1 -1
- package/dist/pipelineAdapters.js +45 -10
- package/dist/pipelineAdapters.js.map +1 -1
- package/dist/scripts/benchmarkWorkers.js +1 -1
- package/dist/scripts/benchmarkWorkers.js.map +1 -1
- package/dist/services/auditJobService.d.ts +22 -5
- package/dist/services/auditJobService.d.ts.map +1 -1
- package/dist/services/auditJobService.js +67 -26
- package/dist/services/auditJobService.js.map +1 -1
- package/dist/services/fileAccounting.d.ts +83 -0
- package/dist/services/fileAccounting.d.ts.map +1 -0
- package/dist/services/fileAccounting.js +215 -0
- package/dist/services/fileAccounting.js.map +1 -0
- package/dist/styles/styleExtractor.d.ts +2 -2
- package/dist/styles/styleExtractor.d.ts.map +1 -1
- package/dist/styles/styleExtractor.js +83 -11
- package/dist/styles/styleExtractor.js.map +1 -1
- package/dist/styles/styleIndexer.d.ts +8 -0
- package/dist/styles/styleIndexer.d.ts.map +1 -1
- package/dist/styles/styleIndexer.js +103 -15
- package/dist/styles/styleIndexer.js.map +1 -1
- package/dist/styles/tailwindUtilityExpander.d.ts +3 -0
- package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
- package/dist/styles/tailwindUtilityExpander.js +35 -1
- package/dist/styles/tailwindUtilityExpander.js.map +1 -1
- package/dist/styles/types.d.ts +11 -0
- package/dist/styles/types.d.ts.map +1 -1
- package/dist/types.d.ts +133 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/fileDiscovery.d.ts +98 -0
- package/dist/utils/fileDiscovery.d.ts.map +1 -1
- package/dist/utils/fileDiscovery.js +246 -29
- package/dist/utils/fileDiscovery.js.map +1 -1
- package/dist/workers/auditJobRunner.d.ts +2 -0
- package/dist/workers/auditJobRunner.d.ts.map +1 -0
- package/dist/workers/auditJobRunner.js +37 -0
- package/dist/workers/auditJobRunner.js.map +1 -0
- package/dist/workers/auditWorker.js +26 -0
- package/dist/workers/auditWorker.js.map +1 -1
- package/package.json +2 -2
- package/plugin/.claude-plugin/plugin.json +1 -1
package/dist/auditRunner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditRunner.js","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auditRunner.js","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EASL,iBAAiB,EACjB,iBAAiB,GAIlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAa,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,iBAAiB,EAA6B,MAAM,+BAA+B,CAAC;AAC3H,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE1E,6BAA6B;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,2EAA2E;AAC3E,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC7I,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAI/B,6CAA6C;AAC7C,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACtG,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;AAErD,gDAAgD;AAChD,mBAAmB,EAAE,CAAC;AAEtB,0EAA0E;AAC1E,qBAAqB,EAAE,CAAC;AAExB,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;AAG1F;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAO,GAAuB,EAAE;IAChE,MAAM,gBAAgB,GAAqC;QACzD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACxB,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACpB,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;QACtC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACxB,aAAa,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QACxC,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;QAClC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;QACpC,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;KACzC,CAAC;IAEF;;OAEG;IACH,KAAK,UAAU,iBAAiB,CAAC,UAAkB;QACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,UAAU,GAAG,CAAC,UAA+B;QAChD,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,MAAM,aAAa,GAAG,UAAU,EAAE,WAAW,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACtF,IAAI,UAAU,GAAgC,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5B,UAAU,GAAG,MAAM,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;QACD,MAAM,aAAa,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC;QAEnE,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,cAAc,GAAG,wBAAwB,CAC7C,aAAa,CAAC,eAAsD,EACnE,aAAoC,CAAC,UAAU,CACjD,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG;gBACd,2EAA2E;gBAC3E,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;SACjC,CAAC,CAAC,CAAC;QAEJ,4EAA4E;QAC5E,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,aAAa,CAAC,eAAe,GAAG,YAAY,CAC1C,SAAS,EACT,aAAa,CAAC,eAAe,CAC9B,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,2EAA2E;QAC3E,aAAa,CAAC,YAAY,GAAG,iBAAiB,CAC5C,aAAa,CAAC,YAAY,EACzB,aAAqB,CAAC,OAAO,CAC/B,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,oEAAoE;QACpE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,KAAK,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,KAAK,KAAK,CAAC;QACjC,MAAM,eAAe,GAAqB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAEvE,cAAc,CAAC,aAAa,EAAE;YAC5B,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,gCAAgC,eAAe,GAAG;SAC5D,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAI,KAAe,CAAC;QACpB,IAAI,gBAAgD,CAAC;QACrD,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,oBAAoB;QACpB,IAAI,iBAAoE,CAAC;QAEzE,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAE5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,kBAAkB;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,KAAK,GAAG,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACpD,UAAU,CAAC,WAAW,EAAE,oBAAoB,EAAE;gBAC5C,GAAG,EAAE,MAAM;gBACX,SAAS,EAAE,KAAK,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,uCAAuC;YACvC,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1F,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,KAAK,SAAS;gBAC7D,CAAC,CAAC,aAAa,CAAC,aAAa;gBAC7B,CAAC,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CACzD,CAAC;YACN,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvE,UAAU,CAAC,WAAW,EAAE,wBAAwB,EAAE;gBAChD,SAAS,EAAE,KAAK,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,yCAAyC;YACzC,KAAK,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACtD,UAAU,CAAC,WAAW,EAAE,sBAAsB,EAAE;gBAC9C,SAAS,EAAE,KAAK,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAC7E,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YACzB,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACnD,CAAC;QAED,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE1C,8CAA8C;QAC9C,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1F,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;gBACtB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBACzD,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;gBAC9C,UAAU,CAAC,WAAW,EAAE,4BAA4B,EAAE;oBACpD,oBAAoB,EAAE,gBAAgB,CAAC,MAAM;oBAC7C,YAAY,EAAE,SAAS,CAAC,gBAAgB,CAAC,MAAM;oBAC/C,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,CAAC,WAAW,EAAE,gDAAgD,EAAE;oBACxE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,0DAA0D;QAC1D,gEAAgE;QAChE,uDAAuD;QACvD,IAAI,WAA+D,CAAC;QACpE,IAAI,QAAQ,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1F,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;gBACvB,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;oBAClC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CACvB,2DAA2D,CAC5D,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAA+B,CAAC;oBAC1D,IAAI,GAAG;wBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;gBAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBACjD,IAAI,MAAM,CAAC,SAAS,GAAG,iBAAiB,EAAE,CAAC;wBACzC,UAAU,CAAC,cAAc,EACvB,WAAW,MAAM,CAAC,SAAS,cAAc,iBAAiB,gDAAgD,EAC1G,EAAE,CACH,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,WAAW,GAAG,MAAM,CAAC;wBACrB,UAAU,CAAC,cAAc,EAAE,UAAU,EAAE;4BACrC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;4BAC/C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;4BAC3C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;4BACzC,SAAS,EAAE,MAAM,CAAC,SAAS;yBAC5B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,uCAAuC;gBACvC,UAAU,CAAC,cAAc,EAAE,iCAAiC,EAAE;oBAC5D,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC;QAC/C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC/E,gBAAgB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACtE,UAAU,CAAC,WAAW,EAAE,yBAAyB,EAAE;YACjD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/B,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,KAAK,EAAE,eAAe;YACtB,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc;SAC/C,CAAC,CAAC;QAEH,+BAA+B;QAC/B,IAAI,kBAAkB,GAAuB,EAAE,CAAC;QAChD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC,CAAC,oCAAoC;QAEtG,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;YACjC,cAAc,CAAC,aAAa,EAAE;gBAC5B,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE,oCAAoC;aAC9C,CAAC,CAAC;YAEH,qDAAqD;YACrD,0EAA0E;YAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACnC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACvC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACvC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACxC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CACzC,CAAC;YAEF,UAAU,CAAC,mBAAmB,EAAE,wCAAwC,EAAE;gBACxE,eAAe,EAAE,WAAW,CAAC,MAAM;aACpC,CAAC,CAAC;YAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;wBACjB,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;oBAC5C,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;wBAC1B,UAAU,CAAC,mBAAmB,EAAE,UAAU,EAAE;4BAC1C,OAAO,EAAE,CAAC;4BACV,KAAK,EAAE,WAAW,CAAC,MAAM;yBAC1B,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;wBACnE,mBAAmB,EAAE,aAAa,CAAC,mBAAmB;qBACvD,CAAC,CAAC;oBACH,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;oBAC1C,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,iBAAiB;oBAExE,cAAc,CAAC,aAAa,EAAE;wBAC5B,KAAK,EAAE,mBAAmB;wBAC1B,OAAO,EAAE,CAAC,GAAG,CAAC;wBACd,KAAK,EAAE,WAAW,CAAC,MAAM;wBACzB,OAAO,EAAE,aAAa,aAAa,CAAC,MAAM,eAAe,WAAW,CAAC,CAAC,CAAC,EAAE;qBAC1E,CAAC,CAAC;oBACH,IAAI,iBAAiB,EAAE,EAAE,CAAC;wBACxB,WAAW,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE;4BAC/C,OAAO,EAAE,aAAa,CAAC,MAAM;yBAC9B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,mBAAmB,EAAE,6BAA6B,EAAE;wBAC7D,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;wBACpB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,sDAAsD;QACtD,IAAI,iBAAsD,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1F,iBAAiB,GAAG,MAAM,EAAE,CAAC,qBAAqB,EAAE,CAAC;gBACrD,UAAU,CAAC,UAAU,EAAE,2CAA2C,EAAE;oBAClE,aAAa,EAAE,iBAAiB,CAAC,MAAM;iBACxC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,4CAA4C;gBAC5C,UAAU,CAAC,UAAU,EAAE,gDAAgD,EAAE;oBACvE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,MAAM,eAAe,GAAmC,EAAE,CAAC;QAC3D,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAE9E,qEAAqE;QACrE,8DAA8D;QAC9D,mEAAmE;QACnE,mEAAmE;QACnE,0EAA0E;QAC1E,mEAAmE;QACnE,IAAI,kBAAkB,GAAa,EAAE,CAAC;QACtC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC3B,MAAM,eAAe,GAAG,MAAM,cAAc,CAC1C,OAAO,CAAC,KAAK,EACb,KAAK,EACL,IAAI,EACJ,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;gBACF,kBAAkB,GAAG,eAAe,CAAC,aAAa,CAAC;gBACnD,UAAU,CAAC,aAAa,EAAE,2BAA2B,EAAE;oBACrD,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,MAAM,EAAE,eAAe,CAAC,MAAM;oBAC9B,QAAQ,EAAE,eAAe,CAAC,aAAa,CAAC,MAAM;iBAC/C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,oEAAoE;gBACpE,UAAU,CAAC,aAAa,EAAE,sCAAsC,EAAE;oBAChE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,oEAAoE;QACpE,0EAA0E;QAC1E,MAAM,gBAAgB,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACxC,IAAI,gBAA4C,CAAC;QACjD,IAAI,oBAA0E,CAAC;QAC/E,IAAI,mBAAuD,CAAC;QAC5D,IAAI,oBAA4F,CAAC;QACjG,IAAI,qBAA8E,CAAC;QACnF,IAAI,qBAAgD,CAAC;QACrD,IAAI,kBAAyF,CAAC;QAC9F,IAAI,sBAAyD,CAAC;QAC9D,UAAU,CAAC,UAAU,EAAE,mBAAmB,EAAE;YAC1C,KAAK,EAAE,gBAAgB;YACvB,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,KAAK,EAAE,eAAe;SACvB,CAAC,CAAC;QACH,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,oBAAoB,GAAG,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACvE,MAAM,mBAAmB,GACvB,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,oBAAoB,GAAG,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC,CAAC;QACR,UAAU,CAAC,UAAU,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAExE,wEAAwE;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,UAAmC,CAAC;QACxC,IAAI,CAAC;YACH,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAC9B,UAAU,CAAC,UAAU,EAAE,sCAAsC,EAAE,EAAE,aAAa,EAAG,UAAkB,CAAC,aAAa,EAAE,MAAM,EAAG,UAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3J,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oEAAoE;YACpE,iEAAiE;YACjE,UAAU,CAAC,UAAU,EAAE,4DAA4D,EAAE;gBACnF,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,+DAA+D;QAC/D,mEAAmE;QACnE,sEAAsE;QACtE,oFAAoF;QACpF,6EAA6E;QAE7E,0CAA0C;QAC1C,IAAI,mBAA4C,CAAC;QACjD,IAAI,UAAU,EAAE,CAAC;YACf,mBAAmB,GAAG;gBACpB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,UAAW,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;gBACtD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,UAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;gBACxE,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAW,CAAC,YAAY,CAAC,KAAK,CAAC;gBACxD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,UAAW,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC3E,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1C,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAW,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC1C,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC;aACnE,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,MAAM,gBAAgB,GAAoB,EAAE,CAAC;QAC7C,MAAM,gBAAgB,GAAoB,EAAE,CAAC;QAC7C,MAAM,uBAAuB,GAAoB,EAAE,CAAC;QAEpD,IAAI,SAAuC,CAAC;QAC5C,IAAI,WAA2C,CAAC;QAEhD,iEAAiE;QACjE,qEAAqE;QACrE,+CAA+C;QAC/C,gBAAgB,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;QAEpD,qFAAqF;QACrF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAEzF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACpF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,SAAS,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YAChD,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,gBAAgB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAC/F,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,WAAW,GAAG,kBAAkB,EAAE,CAAC;YACnC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,gBAAgB,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;QACpG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QACtF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,gBAAgB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;QAChG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,gBAAgB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAC9F,IAAI,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,uBAAuB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;QACxG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;YAChD,gBAAgB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACjD,gBAAgB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;YACnD,gBAAgB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACjD,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,wEAAwE;QACxE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACjD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,mEAAmE;0BAC5E,oEAAoE;0BACpE,yEAAyE,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;eACnD,gBAAgB,CAAC,MAAM,GAAG,CAAC;eAC3B,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC;QAExC,IAAI,oBAAoB,EAAE,CAAC;YACzB,sEAAsE;YACtE,gFAAgF;YAChF,gEAAgE;YAChE,MAAM,sBAAsB,GAA4C,EAAE,CAAC;YAC3E,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;gBACpC,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACtF,CAAC;YACD,mFAAmF;YACnF,2FAA2F;YAC3F,IAAI,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAK,aAAqB,CAAC,KAAK,EAAE,CAAC;gBAC5E,sBAAsB,CAAC,YAAY,CAAC,GAAG;oBACrC,GAAG,CAAC,sBAAsB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;oBAC/C,KAAK,EAAG,aAAqB,CAAC,KAAK;iBACpC,CAAC;YACJ,CAAC;YACD,mEAAmE;YACnE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAK,aAAqB,CAAC,WAAW,EAAE,CAAC;gBACpF,sBAAsB,CAAC,cAAc,CAAC,GAAG;oBACvC,GAAG,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;oBACjD,GAAI,aAAqB,CAAC,WAAW;iBACtC,CAAC;YACJ,CAAC;YACD,uEAAuE;YACvE,qEAAqE;YACrE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,EAAE,MAAM,IAAI,EAAE,CAAC;gBAC7D,MAAM,YAAY,GAAG;oBACnB,GAAG,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC3C,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;oBAClD,eAAe,EAAE,QAAQ,CAAC,eAAe;oBACzC,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC;oBACrD,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,sEAAsE;oBACtE,yEAAyE;oBACzE,yEAAyE;oBACzE,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,8EAA8E;oBAC9E,cAAc,EAAE,QAAQ,CAAC,cAAc;oBACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,wEAAwE;oBACxE,iEAAiE;oBACjE,2CAA2C;oBAC3C,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;iBAClC,CAAC;gBACF,sBAAsB,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAC;gBAChD,sEAAsE;gBACtE,2EAA2E;gBAC3E,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC;oBAChF,sBAAsB,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;gBAC7C,CAAC;YACH,CAAC;YACD,+DAA+D;YAC/D,sBAAsB,CAAC,QAAQ,CAAC,GAAG;gBACjC,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;gBAClD,WAAW,EAAE,IAAI;gBACjB,iBAAiB,EAAE,gBAAgB;gBACnC,KAAK;aACN,CAAC;YAEF,MAAM,cAAc,GAAmB;gBACrC,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,gBAAgB;gBAC1B,eAAe,EAAE,uBAAuB;gBACxC,MAAM,EAAE,sBAAsB;gBAC9B,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE;oBAC7B,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;oBAC1C,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBAC1C,CAAC;gBACD,QAAQ;gBACR,cAAc;gBACd,iBAAiB,EAAE,kBAAkB;gBACrC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;oBAC9B,sEAAsE;oBACtE,oEAAoE;oBACpE,IAAI,UAAU,IAAI,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBAC3D,IAAI,CAAC;4BACH,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;wBAC3C,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,UAAU,CAAC,UAAU,EAAE,0CAA0C,EAAE;gCACjE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;6BACxD,CAAC,CAAC;wBACL,CAAC;wBACD,IAAI,CAAC;4BACH,4DAA4D;4BAC5D,8DAA8D;4BAC9D,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;wBACtC,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,UAAU,CAAC,UAAU,EAAE,sCAAsC,EAAE;gCAC7D,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;6BACxD,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC;YAEF,IAAI,CAAC;gBACH,UAAU,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,EAAE,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3M,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;gBAE9E,6DAA6D;gBAC7D,IAAI,mBAAmB,IAAI,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7F,mBAAmB,CAAC,mBAAmB,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;gBACtE,CAAC;gBAED,2BAA2B;gBAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;oBACxE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC3B,WAAW,CAAC,UAAU,EAAE,aAAa,IAAI,YAAY,EAAE;wBACrD,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;wBACtC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBAED,iEAAiE;gBACjE,sEAAsE;gBACtE,0EAA0E;gBAC1E,yEAAyE;gBACzE,iEAAiE;gBACjE,sEAAsE;gBAEtE,oEAAoE;gBACpE,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;wBAC7C,IAAI,WAAW,EAAE,CAAC;4BAChB,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;4BACzF,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;wBAClD,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,UAAU,CAAC,UAAU,EAAE,uCAAuC,EAAE;4BAC9D,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;yBACxD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,gEAAgE;gBAChE,8EAA8E;gBAC9E,qEAAqE;gBACrE,6EAA6E;gBAC7E,gBAAgB,GAAG,mBAAmB,CACpC,eAAe,EACf,cAAc,EACd,cAAc,CAAC,QAAQ,EAAE,aAAa,EACtC,IAAI,GAAG,CACL,CAAC,cAAc,CAAC,QAAQ,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC5D,CAAC,CAAC,MAAM;oBACR,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;iBAC/C,CAAC,CACH,CACF,CAAC;gBAEF,yEAAyE;gBACzE,oBAAoB,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAoE,CAAC;gBACrH,mBAAmB,GAAG,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC;gBAC3D,oBAAoB,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAC7D,qBAAqB,GAAG,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC;gBAC/D,qBAAqB,GAAG,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC;gBAC/D,kBAAkB,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;gBACzD,sBAAsB,GAAG,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC;YACnE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;oBAC7E,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,wEAAwE;gBACxE,kFAAkF;gBAClF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;oBACpC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpC,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAC5C,CAAC,CAAC;gBACH,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC/C,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;oBACzC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3B,eAAe,CAAC,IAAI,CAAC,GAAG;4BACtB,UAAU,EAAE,EAAE;4BACd,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;4BAC5B,aAAa,EAAE,CAAC;4BAChB,YAAY,EAAE,IAAI;4BAClB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC;yBAChE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,WAAW,CAAC,aAAa,EAAE,KAAc,EAAE,UAAU,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtG,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,2EAA2E;QAC3E,4EAA4E;QAC5E,MAAM,sBAAsB,GAAmC,EAAE,CAAC;QAClE,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE,CAAC;YAC5C,IAAI,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,sBAAsB,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;YACvE,CAAC;YACD,yEAAyE;YACzE,uDAAuD;YACvD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC9B,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;oBAC1C,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC7B,sBAAsB,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,6EAA6E;QAC7E,+DAA+D;QAC/D,qEAAqE;QACrE,IAAI,eAAe,GAAkB,IAAI,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,SAAS,EAAE,WAAW,EAKzB,CAAC;YACf,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC3B,eAAe,GAAG,UAAU,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;;;;;SAKxC,CAAC,CAAC;gBACH,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;oBACxC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;wBAC5B,UAAU,CAAC,GAAG,CACZ,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EACvD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EACvD,IAAI,CAAC,UAAU,EACf,eAAe,CAChB,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,EAAE,EAAE,CAAC;YACP,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QAED,uEAAuE;QACvE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,gBAOS,CAAC;QAEd,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CACjE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CACpB,CAAC;YACF,mDAAmD;YACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACjD,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEvE,4CAA4C;YAC5C,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;gBAC9B,CAAS,CAAC,GAAG,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAS,CAAC,GAAG,GAAG,KAAK,CAAC;YACzB,CAAC;YAED,gBAAgB,GAAG;gBACjB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAC5B,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM;gBAC/B,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;gBACnC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;gBACnC,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa;aACpD,CAAC;YAEF,UAAU,CAAC,UAAU,EAAE,kCAAkC,EAAE;gBACzD,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM;gBAC1B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;gBAC9B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,sEAAsE;QACtE,oEAAoE;QACpE,sEAAsE;QACtE,IAAI,mBAES,CAAC;QACd,CAAC;YACC,MAAM,UAAU,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CACjE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CACpB,CAAC;gBACF,MAAM,OAAO,GAAG,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBAC7D,mBAAmB,GAAG;oBACpB,KAAK,EAAE,UAAU,CAAC,MAAM;oBACxB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;oBACrC,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC;gBACF,UAAU,CAAC,cAAc,EAAE,6BAA6B,EAAE;oBACxD,KAAK,EAAE,UAAU,CAAC,MAAM;oBACxB,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;oBACrC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;oBACvC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;iBACtC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,yEAAyE;QACzE,2DAA2D;QAC3D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAE3B,wCAAwC;YACxC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK;iBAC9B,OAAO,CAAC,gDAAgD,CAAC;iBACzD,GAAG,EAA4D,CAAC;YAEnE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAClD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAChD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;oBAC9B,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACxB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBAED,oEAAoE;gBACpE,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBAC/D,MAAM,MAAM,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;oBACpD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;oBAErC,wBAAwB;oBACxB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;wBAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAkC,CAAC;wBACtD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAc,CAAC;wBAE9B,6DAA6D;wBAC7D,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACjE,CAAC,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;+BACjE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;+BACvB,CAAC,CAAC;oBACT,CAAC;oBAED,6DAA6D;oBAC7D,2CAA2C;oBAC3C,MAAM,aAAa,GAA2B;wBAC5C,QAAQ,EAAE,CAAC;wBACX,OAAO,EAAE,CAAC;wBACV,UAAU,EAAE,CAAC;wBACb,IAAI,EAAE,CAAC;qBACR,CAAC;oBAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACpB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAC/C,IAAI,IAAI,KAAK,IAAI;4BAAE,OAAO,IAAI,GAAG,IAAI,CAAC;wBACtC,6CAA6C;wBAC7C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;wBAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;wBAC7B,IAAI,GAAG,KAAK,GAAG;4BAAE,OAAO,GAAG,GAAG,GAAG,CAAC;wBAClC,6BAA6B;wBAC7B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,CAAC,CAAC,CAAC;oBAEH,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;QAED,qEAAqE;QACrE,oEAAoE;QACpE,oEAAoE;QACpE,iEAAiE;QACjE,EAAE;QACF,yEAAyE;QACzE,uEAAuE;QACvE,+DAA+D;QAC/D,IAAI,CAAC;YACH,MAAM,aAAa,GAId,aAAa,CAAC,eAAuB,EAAE,GAAG,EAAE,UAAU;mBACrD,aAAqB,CAAC,UAAU;mBACjC,EAAE,mBAAmB,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC;YAE9E,MAAM,SAAS,GAAG,aAAa,CAAC,mBAAmB,IAAI,IAAI,CAAC;YAC5D,MAAM,gBAAgB,GAAG,aAAa,CAAC,cAAc,IAAI,CAAC,CAAC;YAE3D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACzD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;gBAE3B,qCAAqC;gBACrC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK;qBAC/B,OAAO,CAAC,wDAAwD,CAAC;qBACjE,GAAG,EAAyC,CAAC;gBAEhD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;;;;;WAKrC,CAAC,CAAC;oBAEH,MAAM,mBAAmB,GAAgB,EAAE,CAAC;oBAE5C,KAAK,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,YAAY,EAAE,CAAC;wBACpD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAqD,CAAC;wBACjF,IAAI,IAAI,CAAC,MAAM,GAAG,gBAAgB,GAAG,CAAC;4BAAE,SAAS;wBAEjD,8DAA8D;wBAC9D,IAAI,mBAAmB,GAAG,CAAC,CAAC;wBAC5B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAClE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC;gCAC5D,mBAAmB,EAAE,CAAC;4BACxB,CAAC;wBACH,CAAC;wBAED,IAAI,mBAAmB,IAAI,gBAAgB,EAAE,CAAC;4BAC5C,uCAAuC;4BACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;;;;eAIrC,CAAC,CAAC,GAAG,CAAC,EAAE,CAA+E,CAAC;4BAEzF,IAAI,OAAO,EAAE,CAAC;gCACZ,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;gCACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;gCACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;gCAE9D,mBAAmB,CAAC,IAAI,CAAC;oCACvB,IAAI,EAAE,OAAO,CAAC,KAAK;oCACnB,IAAI,EAAE,OAAO,CAAC,KAAK;oCACnB,QAAQ,EAAE,YAAY;oCACtB,OAAO,EAAE,+CAA+C,IAAI,UAAU,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,gBAAgB,4BAA4B,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,QAAQ,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,sBAAsB;oCACnS,QAAQ,EAAE,KAAK;oCACf,IAAI,EAAE,qBAAqB;iCAC5B,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,kEAAkE;wBAClE,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;4BAClC,sBAAsB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;wBACxE,CAAC;6BAAM,CAAC;4BACN,sBAAsB,CAAC,KAAK,CAAC,GAAG;gCAC9B,UAAU,EAAE,mBAAmB;gCAC/B,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;gCAC5B,aAAa,EAAE,CAAC;gCAChB,YAAY,EAAE,KAAK;6BACpB,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;QAED,6EAA6E;QAC7E,+EAA+E;QAC/E,+EAA+E;QAC/E,+EAA+E;QAC/E,6CAA6C;QAC7C,EAAE;QACF,wEAAwE;QACxE,kEAAkE;QAClE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACvD,oBAAoB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAG,eAAe,CAAC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtE,gBAAgB;QAChB,MAAM,MAAM,GAAgB;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO;YACP,eAAe,EAAE,sBAAsB;YACvC,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE;gBACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACrC,aAAa,EAAE,KAAK,CAAC,MAAM;gBAC3B,YAAY,EAAE,gBAAgB;gBAC9B,GAAG,CAAC,QAAQ,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;gBACzC,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,eAAe;gBACtB,sBAAsB,EAAE,gBAAgB,CAAC,OAAO;gBAChD,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;gBACnC,GAAG,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;gBAC7E,GAAG,CAAC,gBAAgB,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;gBACvD,GAAG,CAAC,gBAAgB,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;gBACvD,GAAG,CAAC,oBAAoB,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;gBACnE,GAAG,CAAC,mBAAmB,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;gBAChE,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC;gBACxD,GAAG,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;gBACtG,GAAG,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC;gBAC1G,GAAG,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;gBAC/E,GAAG,CAAC,qBAAqB,IAAI,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC;gBACtE,GAAG,CAAC,kBAAkB,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;gBAC7D,GAAG,CAAC,sBAAsB,IAAI,EAAE,cAAc,EAAE,sBAAsB,EAAE,CAAC;gBACzE,GAAG,CAAC,mBAAmB,IAAI,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;gBACjE,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI;oBACnC,kBAAkB;oBAClB,kBAAkB,EAAE,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC;iBAC3D,CAAC;aACH;SACF,CAAC;QAEF,oBAAoB;QACpB,cAAc,CAAC,aAAa,EAAE;YAC5B,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;QAEH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,iBAAiB,CACzB,GAAG,gBAAgB,CAAC,MAAM,4CAA4C,EACtE,MAAM,EACN,gBAAgB,CACjB,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,+DAA+D;QAC/D,IAAI,aAAa,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YAC1C,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACzD,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;oBACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;oBACnF,OAAO,kBAAkB,CACvB,OAAO,CAAC,KAAK,EACb,cAAc,CACZ,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9B,OAAe,CAAC,OAAO,IAAI,KAAK,EACjC,QAAQ,EACR,IAAI,EACJ,YAAY,CACb,EACD,UAAU,EACV,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EACtB,CAAC,CACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,IAAI,EAAE,CAAC;oBACd,0DAA0D;oBAC1D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,UAAU,uBAAuB,CAAC,MAAmB,EAAE,MAAc;QACxE,OAAO,cAAc,CAAC,MAAM,EAAE,MAAa,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,GAAG;QACH,cAAc,EAAE,uBAAuB;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAAoB;IAC1C,IAAI,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO;IAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC;IACV,CAAC;IACD,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAA2B,EAC3B,cAA+B;IAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,0EAA0E;QAC1E,6DAA6D;QAC7D,OAAO;YACL,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC7E,iBAAiB,EAAE,EAAE;SACtB,CAAC;IACJ,CAAC;IACD,OAAO,qBAAqB,CAAC,OAAO,EAAE;QACpC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,cAAc,EAAE,2BAA2B;QAC/D,WAAW,EAAE,SAAS,EAAE,kEAAkE;QAC1F,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,OAA2B,EAAE,GAAW;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEnE,sBAAsB;IACtB,IAAI,CAAC;QACH,QAAQ,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,6CAA6C,OAAO,4BAA4B,CACjF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,wBAAwB,GAAG,EAAE,EAAE;YACzD,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sCAAsC,GAAG,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjG,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,QAAQ,CAAC,0CAA0C,EAAE;YAC3E,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;IAChD,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC9B,OAA2B,EAC3B,UAAoB;IAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnE,eAAe;YACf,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;gBAC3C,YAAY,EAAE,CAAC,IAAI,CAAC;gBACpB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,UAAU,EAAE,OAAO,CAAC,cAAc;gBAClC,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,iDAAiD;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5E,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAKD;;GAEG;AACH,SAAS,mBAAmB,CAC1B,OAA2B,EAC3B,QAA0C;IAE1C,+EAA+E;IAC/E,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC3C,0EAA0E;QAC1E,yEAAyE;QACzE,gDAAgD;QAChD,OAAO,OAAO,CAAC,gBAAgB,CAAC;IAClC,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE3C,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,eAA+C,EAAE,aAAqB;IAC7F,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,oBAAoB,GAA2B,EAAE,CAAC;IACxD,MAAM,UAAU,GAAwF,EAAE,CAAC;IAE3G,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACjE,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,eAAe,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC;YAErB,QAAQ,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC3B,KAAK,UAAU;oBACb,cAAc,EAAE,CAAC;oBACjB,MAAM;gBACR,KAAK,SAAS;oBACZ,QAAQ,EAAE,CAAC;oBACX,MAAM;gBACR,KAAK,YAAY;oBACf,WAAW,EAAE,CAAC;oBACd,MAAM;YACV,CAAC;YAED,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC;YAC5C,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,UAAU,CAAC,QAAQ,CAAC,GAAG;YACrB,UAAU,EAAE,kBAAkB;YAC9B,cAAc,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;YAChD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,+CAA+C;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;SACnD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SAC7B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE7C,OAAO;QACL,UAAU,EAAE,aAAa;QACzB,eAAe;QACf,cAAc;QACd,QAAQ;QACR,WAAW;QACX,oBAAoB;QACpB,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,oBAAoB,CAAC,UAAuB;IACnD,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC5C,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,uEAAuE;YACvE,sEAAsE;YACtE,4DAA4D;YAC5D,6DAA6D;YAC7D,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,OAA2B,EAAE,QAAgC;IACnF,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,OAAO,CAAC,gBAAgB,CAAC;YACvB,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,EAAE;YACZ,GAAG,QAAQ;SACK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,OAA2B,EAAE,KAAY,EAAE,OAAe;IAC7E,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAUD;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,gBAA0B,EAC1B,eAA+C,EAC/C,UAAmB;IAEnB,4EAA4E;IAC5E,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IAEzC,0CAA0C;IAC1C,KAAK,MAAM,YAAY,IAAI,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC;gBACZ,YAAY;gBACZ,IAAI,EAAE,WAAW;gBACjB,OAAO,EACL,OAAO,YAAY,6CAA6C;oBAChE,uEAAuE;aAC1E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,kFAAkF;IAClF,gFAAgF;IAChF,qBAAqB;IACrB,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACrE,IACE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EACxE,CAAC;YACD,MAAM,QAAQ,GAAI,MAAc,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC;gBACZ,YAAY;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EACL,OAAO,YAAY,gCAAgC,SAAS,IAAI;oBAChE,yEAAyE;oBACzE,+CAA+C;aAClD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAA4B;IACzD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC;AACtB,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -27,6 +27,53 @@ const __filename = fileURLToPath(import.meta.url);
|
|
|
27
27
|
const __dirname = dirname(__filename);
|
|
28
28
|
const packageJson = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
|
|
29
29
|
const program = new Command();
|
|
30
|
+
// Spec 44 R4 — file accounting summary line + `--explain-skipped` breakdown.
|
|
31
|
+
// The full per-reason file lists live in the JSON report (`metadata.fileAccounting`);
|
|
32
|
+
// the CLI preview is bounded to the first ~20 files per reason.
|
|
33
|
+
function printFileAccounting(result, explainSkipped) {
|
|
34
|
+
const fa = result?.metadata?.fileAccounting;
|
|
35
|
+
if (!fa)
|
|
36
|
+
return;
|
|
37
|
+
const reasons = fa.reasons ?? {};
|
|
38
|
+
const reasonNames = Object.keys(reasons);
|
|
39
|
+
const reasonCount = reasonNames.length;
|
|
40
|
+
const partialSeg = fa.partiallyAnalyzed > 0
|
|
41
|
+
? ` · ${fa.partiallyAnalyzed.toLocaleString()} partially analyzed`
|
|
42
|
+
: '';
|
|
43
|
+
console.log(chalk.gray(`${fa.analyzed.toLocaleString()} analyzed` +
|
|
44
|
+
`${partialSeg}` +
|
|
45
|
+
` · ${fa.dropped.toLocaleString()} dropped` +
|
|
46
|
+
` (${reasonCount} reason${reasonCount !== 1 ? 's' : ''})`));
|
|
47
|
+
if (!explainSkipped)
|
|
48
|
+
return;
|
|
49
|
+
if (reasonCount > 0) {
|
|
50
|
+
console.log(chalk.gray('\n── Skipped files (by reason) ────────────────'));
|
|
51
|
+
for (const name of reasonNames.sort((a, b) => reasons[b].count - reasons[a].count)) {
|
|
52
|
+
const { count, files } = reasons[name];
|
|
53
|
+
const partialCount = files.filter((f) => f.partial).length;
|
|
54
|
+
const label = partialCount > 0
|
|
55
|
+
? `${name}: ${count.toLocaleString()} (${partialCount.toLocaleString()} partially analyzed)`
|
|
56
|
+
: `${name}: ${count.toLocaleString()}`;
|
|
57
|
+
console.log(` ${label}`);
|
|
58
|
+
for (const f of files.slice(0, 20)) {
|
|
59
|
+
console.log(` ${f.filePath}${f.partial ? ' (partially analyzed)' : ''}`);
|
|
60
|
+
}
|
|
61
|
+
if (files.length > 20)
|
|
62
|
+
console.log(` … and ${files.length - 20} more`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Spec 45 R3 — infrastructure prunes are directory-basename match counts, not
|
|
66
|
+
// file counts. Say so explicitly so `node_modules 2` can't be misread as two
|
|
67
|
+
// files (it's two directories: ./node_modules and ./infra/node_modules).
|
|
68
|
+
const infraPruned = fa.infraPruned ?? [];
|
|
69
|
+
if (infraPruned.length > 0) {
|
|
70
|
+
console.log(chalk.gray('\n── Infrastructure directories pruned (count = directories, not files) ──'));
|
|
71
|
+
for (const { directory, rule, directories } of infraPruned) {
|
|
72
|
+
const noun = directories === 1 ? 'directory' : 'directories';
|
|
73
|
+
console.log(` ${directory} (${directories.toLocaleString()} ${noun})${rule ? ` [${rule}]` : ''}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
30
77
|
// Configure the main program
|
|
31
78
|
program
|
|
32
79
|
.name('code-auditor')
|
|
@@ -45,9 +92,20 @@ program
|
|
|
45
92
|
.option('--include-baseline', 'Evaluate baseline-known violations in --fail-on checks')
|
|
46
93
|
.option('--fail-on-regression', 'Exit code 2 when total advisory debt exceeds the baseline snapshot')
|
|
47
94
|
.option('--preset <id>', 'Apply a shareable preset (repeatable)', (v, prev) => prev.concat([v]), [])
|
|
95
|
+
.option('--detach', 'Run the audit in a detached background process and print the job ID')
|
|
96
|
+
.option('--partition-strategy <strategy>', 'Partition strategy for detached runs: none, auto, or top-level')
|
|
97
|
+
.option('--max-partitions <n>', 'Maximum number of partition shards (detached runs)')
|
|
98
|
+
.option('--shard-timeout-ms <ms>', 'Per-shard timeout in milliseconds (detached runs)')
|
|
99
|
+
.option('--explain-skipped', 'Print a per-reason breakdown of files dropped from analysis')
|
|
48
100
|
.action(async (options) => {
|
|
49
101
|
console.log(chalk.blue('🔍 Code Quality Audit Tool'));
|
|
50
102
|
console.log(chalk.gray('══════════════════════════════════════════════════'));
|
|
103
|
+
// Spec 41 — `--detach` hands off to a forked worker; the parent never parses
|
|
104
|
+
// or hashes, so it must route out before `initParsers()`.
|
|
105
|
+
if (options.detach) {
|
|
106
|
+
await runDetachedAudit(options);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
51
109
|
try {
|
|
52
110
|
await initParsers();
|
|
53
111
|
// Validate --fail-on severity
|
|
@@ -150,6 +208,8 @@ program
|
|
|
150
208
|
console.log(`Warnings: ${result.summary.warnings}`);
|
|
151
209
|
console.log(`Suggestions: ${result.summary.suggestions}`);
|
|
152
210
|
}
|
|
211
|
+
// Spec 44 R4 — file accounting: analyzed/dropped totals + optional breakdown.
|
|
212
|
+
printFileAccounting(result, !!options.explainSkipped);
|
|
153
213
|
// Spec 32 — unparsed files are never silent. A run where any file failed
|
|
154
214
|
// to parse (WASM abort, read error, …) must surface the count + reasons.
|
|
155
215
|
const unparsedFiles = result.metadata?.unparsedFiles ?? [];
|
|
@@ -162,6 +222,17 @@ program
|
|
|
162
222
|
console.error(` … and ${unparsedFiles.length - 20} more`);
|
|
163
223
|
}
|
|
164
224
|
}
|
|
225
|
+
// Spec 43 R5 follow-up — extensions present on disk that discovery skipped.
|
|
226
|
+
// Informational: surfaces "what isn't being analyzed here" so an unlisted
|
|
227
|
+
// extension (e.g. `.mdx`) never vanishes silently at discovery. Not an
|
|
228
|
+
// error — a skipped extension is not necessarily a defect (`.md`/`.svg`
|
|
229
|
+
// are legitimately not source), unlike `unparsedFiles` above.
|
|
230
|
+
const skippedExtensions = result.metadata?.skippedExtensions ?? [];
|
|
231
|
+
if (skippedExtensions.length > 0) {
|
|
232
|
+
console.log(chalk.gray(`\n── Not analyzed (skipped extensions) ────────`));
|
|
233
|
+
const parts = skippedExtensions.map(s => `${s.ext} (${s.count})`);
|
|
234
|
+
console.log(` ${parts.join(', ')}`);
|
|
235
|
+
}
|
|
165
236
|
// Spec 36 R7 — suppressions are reported: how many exist, where, and how
|
|
166
237
|
// many are unnecessary (or reasonless). Both are errors, surfaced here.
|
|
167
238
|
const suppressions = result.metadata?.suppressions;
|
|
@@ -321,6 +392,7 @@ program
|
|
|
321
392
|
.option('--quiet', 'Suppress output when zero violations')
|
|
322
393
|
.option('--fail-on-zero-files', 'Exit code 2 when any enabled analyzer matches zero source files', true)
|
|
323
394
|
.option('--stdin', 'Read file paths from stdin (one per line)')
|
|
395
|
+
.option('--explain-skipped', 'Print a per-reason breakdown of files dropped from analysis')
|
|
324
396
|
.option('-p, --path <projectPath>', 'Project root path', process.cwd())
|
|
325
397
|
.action(async (paths, options) => {
|
|
326
398
|
try {
|
|
@@ -404,7 +476,7 @@ program
|
|
|
404
476
|
// consumer routes around. Findings only, each with file:line.
|
|
405
477
|
console.log(chalk.blue('🔍 Diff-Scoped Code Audit'));
|
|
406
478
|
console.log(chalk.gray('══════════════════════════════════════════════════'));
|
|
407
|
-
|
|
479
|
+
printFileAccounting(result, !!options.explainSkipped);
|
|
408
480
|
if (violations.length > 0) {
|
|
409
481
|
console.log(chalk.gray('\n── Violations ────────────────────────────────────'));
|
|
410
482
|
for (const v of violations) {
|
|
@@ -1792,6 +1864,339 @@ ledgerCmd
|
|
|
1792
1864
|
process.exit(1);
|
|
1793
1865
|
}
|
|
1794
1866
|
});
|
|
1867
|
+
// ── Spec 41 — Detached runs & queryable findings (CLI) ──────────────────────
|
|
1868
|
+
// `audit --detach` forks workers/auditJobRunner; `status`/`result`/`jobs` read
|
|
1869
|
+
// the persisted ledger. One job model (the ledger run), one write path — these
|
|
1870
|
+
// are thin wrappers over ledger.ts + mcpAuditJobs.ts, not a second store.
|
|
1871
|
+
/** Full analyzer set — matches createAuditRunner's registry, so `--detach` produces
|
|
1872
|
+
* the same per-rule coverage as a synchronous `audit` (73 rows on recall). */
|
|
1873
|
+
const DETACHED_DEFAULT_ANALYZERS = [
|
|
1874
|
+
'solid',
|
|
1875
|
+
'dry',
|
|
1876
|
+
'data-access',
|
|
1877
|
+
'react',
|
|
1878
|
+
'documentation',
|
|
1879
|
+
'invariants',
|
|
1880
|
+
'schema',
|
|
1881
|
+
'styles',
|
|
1882
|
+
'conventions',
|
|
1883
|
+
'cross-domain',
|
|
1884
|
+
];
|
|
1885
|
+
/** Lease TTL used by read-path reclaim, mirroring mcpAuditJobs.jobLeaseTtlMs. */
|
|
1886
|
+
const CLI_JOB_LEASE_TTL_MS = Number(process.env.CODE_AUDITOR_JOB_LEASE_TTL_MS) || 30_000;
|
|
1887
|
+
function spec41StatusBadge(status) {
|
|
1888
|
+
switch (status) {
|
|
1889
|
+
case 'completed':
|
|
1890
|
+
return chalk.green('completed');
|
|
1891
|
+
case 'running':
|
|
1892
|
+
return chalk.cyan('running');
|
|
1893
|
+
case 'queued':
|
|
1894
|
+
return chalk.blue('queued');
|
|
1895
|
+
case 'failed':
|
|
1896
|
+
return chalk.red('failed');
|
|
1897
|
+
default:
|
|
1898
|
+
return status;
|
|
1899
|
+
}
|
|
1900
|
+
}
|
|
1901
|
+
function spec41SeverityColor(severity) {
|
|
1902
|
+
if (severity === 'critical')
|
|
1903
|
+
return chalk.red;
|
|
1904
|
+
if (severity === 'warning')
|
|
1905
|
+
return chalk.yellow;
|
|
1906
|
+
return chalk.gray;
|
|
1907
|
+
}
|
|
1908
|
+
/**
|
|
1909
|
+
* Render a run's staleness: the cheap marker (changed count) plus, when stale,
|
|
1910
|
+
* the per-file diff. The cheap stat-only pass in `computeStaleness` populates
|
|
1911
|
+
* `changedFiles` on divergence, so this list is the full `--stale` deliverable
|
|
1912
|
+
* regardless of whether the caller requested `full`. Bounded so a mass-change
|
|
1913
|
+
* doesn't flood the terminal; the JSON path always carries the complete list.
|
|
1914
|
+
*/
|
|
1915
|
+
function spec41RenderStaleness(staleness) {
|
|
1916
|
+
if (!staleness) {
|
|
1917
|
+
console.log(chalk.gray(' stale: n/a'));
|
|
1918
|
+
return;
|
|
1919
|
+
}
|
|
1920
|
+
if (!staleness.stale) {
|
|
1921
|
+
console.log(chalk.gray(' stale: no (working tree unchanged)'));
|
|
1922
|
+
return;
|
|
1923
|
+
}
|
|
1924
|
+
console.log(chalk.yellow(` stale: ${staleness.changedFiles.length} file(s) changed since run`));
|
|
1925
|
+
const maxFiles = 20;
|
|
1926
|
+
for (const f of staleness.changedFiles.slice(0, maxFiles)) {
|
|
1927
|
+
console.log(chalk.yellow(` + ${f}`));
|
|
1928
|
+
}
|
|
1929
|
+
if (staleness.changedFiles.length > maxFiles) {
|
|
1930
|
+
console.log(chalk.gray(` … and ${staleness.changedFiles.length - maxFiles} more`));
|
|
1931
|
+
}
|
|
1932
|
+
}
|
|
1933
|
+
/**
|
|
1934
|
+
* Spec 41 — `audit --detach`. Persists a `queued` run, opens a per-run log as
|
|
1935
|
+
* the child's stderr, and forks workers/auditJobRunner detached. Returns with
|
|
1936
|
+
* the job id; the parent never parses or hashes, so it stays sub-second even
|
|
1937
|
+
* on a minutes-long corpus.
|
|
1938
|
+
*/
|
|
1939
|
+
async function runDetachedAudit(options) {
|
|
1940
|
+
// `spawn` + no IPC channel: `fork()` establishes an IPC channel, and `unref()`
|
|
1941
|
+
// does NOT let the parent exit while that channel is open (Node: "unless there
|
|
1942
|
+
// is an established IPC channel"). The runner talks to the ledger through the
|
|
1943
|
+
// DB, never back to the parent, so there is no channel to keep — and without
|
|
1944
|
+
// one the parent exits immediately, keeping `--detach` sub-second.
|
|
1945
|
+
const { spawn } = await import('node:child_process');
|
|
1946
|
+
const { openSync } = await import('node:fs');
|
|
1947
|
+
const { createAuditJob } = await import('./services/auditJobService.js');
|
|
1948
|
+
const { patchLedgerRun } = await import('./ledger.js');
|
|
1949
|
+
const { resolveJobRunnerEntrypoint } = await import('./mcpAuditJobs.js');
|
|
1950
|
+
const { assertAuditPathExists } = await import('./mcpToolErrors.js');
|
|
1951
|
+
const { getPersistedStorageRoot } = await import('./dataPaths.js');
|
|
1952
|
+
const auditPath = resolve(options.path || process.cwd());
|
|
1953
|
+
const { isFile } = await assertAuditPathExists(auditPath);
|
|
1954
|
+
const projectRoot = isFile ? dirname(auditPath) : auditPath;
|
|
1955
|
+
const db = CodeIndexDB.getInstance(undefined, projectRoot);
|
|
1956
|
+
await db.initialize();
|
|
1957
|
+
const job = createAuditJob(db.rawDb, projectRoot, { surface: 'cli', command: 'audit --detach' });
|
|
1958
|
+
// The log is the diagnosable trace when the child dies before its first DB
|
|
1959
|
+
// patch (e.g. inside initParsers()). Lives next to the index db.
|
|
1960
|
+
const logsDir = join(getPersistedStorageRoot(projectRoot), 'logs');
|
|
1961
|
+
await fs.mkdir(logsDir, { recursive: true });
|
|
1962
|
+
const logPath = join(logsDir, `${job.jobId}.log`);
|
|
1963
|
+
const logFd = openSync(logPath, 'a');
|
|
1964
|
+
const argsJson = JSON.stringify({
|
|
1965
|
+
path: auditPath,
|
|
1966
|
+
...(options.partitionStrategy && { partitionStrategy: options.partitionStrategy }),
|
|
1967
|
+
...(options.maxPartitions && { maxPartitions: Number(options.maxPartitions) }),
|
|
1968
|
+
...(options.shardTimeoutMs && { shardTimeoutMs: Number(options.shardTimeoutMs) }),
|
|
1969
|
+
});
|
|
1970
|
+
const defaultsJson = JSON.stringify({
|
|
1971
|
+
defaultAnalyzers: DETACHED_DEFAULT_ANALYZERS,
|
|
1972
|
+
defaultMinSeverity: 'warning',
|
|
1973
|
+
defaultGenerateCodeMap: false,
|
|
1974
|
+
});
|
|
1975
|
+
patchLedgerRun(db.rawDb, job.jobId, { stderrLog: logPath });
|
|
1976
|
+
const child = spawn(process.execPath, [resolveJobRunnerEntrypoint(), job.jobId, argsJson, defaultsJson], {
|
|
1977
|
+
detached: true,
|
|
1978
|
+
stdio: ['ignore', 'ignore', logFd],
|
|
1979
|
+
env: process.env,
|
|
1980
|
+
});
|
|
1981
|
+
child.unref();
|
|
1982
|
+
console.log(chalk.green(`✓ Audit detached (job ${job.jobId})`));
|
|
1983
|
+
console.log(chalk.gray(` Monitor: code-auditor status ${job.jobId}`));
|
|
1984
|
+
console.log(chalk.gray(` Results: code-auditor result ${job.jobId}`));
|
|
1985
|
+
console.log(chalk.gray(` Log: ${logPath}`));
|
|
1986
|
+
}
|
|
1987
|
+
program
|
|
1988
|
+
.command('status <jobId>')
|
|
1989
|
+
.description('Show a detached audit job status, progress, and staleness')
|
|
1990
|
+
.option('-p, --path <path>', 'Project root containing the job (default: cwd)', process.cwd())
|
|
1991
|
+
.option('--json', 'Output as JSON')
|
|
1992
|
+
.action(async (jobId, options) => {
|
|
1993
|
+
try {
|
|
1994
|
+
const { getLedgerRun, reclaimStaleRunning, computeStaleness } = await import('./ledger.js');
|
|
1995
|
+
const projectRoot = resolve(options.path);
|
|
1996
|
+
const db = CodeIndexDB.getInstance(undefined, projectRoot);
|
|
1997
|
+
await db.initialize();
|
|
1998
|
+
reclaimStaleRunning(db.rawDb, projectRoot, CLI_JOB_LEASE_TTL_MS);
|
|
1999
|
+
const run = getLedgerRun(db.rawDb, jobId);
|
|
2000
|
+
if (!run) {
|
|
2001
|
+
console.error(chalk.red(`Job not found: ${jobId}`));
|
|
2002
|
+
process.exit(1);
|
|
2003
|
+
}
|
|
2004
|
+
const staleness = run.projectRoot ? computeStaleness(db.rawDb, jobId, run.projectRoot) : null;
|
|
2005
|
+
if (options.json) {
|
|
2006
|
+
process.stdout.write(JSON.stringify({ ...run, staleness }, null, 2) + '\n');
|
|
2007
|
+
return;
|
|
2008
|
+
}
|
|
2009
|
+
let progress = '';
|
|
2010
|
+
if (run.progressJson) {
|
|
2011
|
+
try {
|
|
2012
|
+
const p = JSON.parse(run.progressJson);
|
|
2013
|
+
progress = [p.phase, p.message].filter(Boolean).join(' — ');
|
|
2014
|
+
if (p.total != null)
|
|
2015
|
+
progress += ` (${p.current ?? 0}/${p.total})`;
|
|
2016
|
+
}
|
|
2017
|
+
catch {
|
|
2018
|
+
progress = '';
|
|
2019
|
+
}
|
|
2020
|
+
}
|
|
2021
|
+
console.log(chalk.blue(`Job ${jobId}`));
|
|
2022
|
+
console.log(` status: ${spec41StatusBadge(run.status)}`);
|
|
2023
|
+
console.log(` path: ${run.projectRoot ?? run.target}`);
|
|
2024
|
+
console.log(` created: ${run.timestamp}`);
|
|
2025
|
+
if (run.startedAt)
|
|
2026
|
+
console.log(` started: ${run.startedAt}`);
|
|
2027
|
+
if (run.finishedAt)
|
|
2028
|
+
console.log(` finished: ${run.finishedAt}`);
|
|
2029
|
+
if (run.durationMs)
|
|
2030
|
+
console.log(` duration: ${run.durationMs}ms`);
|
|
2031
|
+
if (progress)
|
|
2032
|
+
console.log(` progress: ${progress}`);
|
|
2033
|
+
if (run.error)
|
|
2034
|
+
console.log(chalk.red(` error: ${run.error}`));
|
|
2035
|
+
if (run.stderrLog)
|
|
2036
|
+
console.log(chalk.gray(` log: ${run.stderrLog}`));
|
|
2037
|
+
if (run.contentHash)
|
|
2038
|
+
console.log(chalk.gray(` content: ${run.contentHash.slice(0, 12)} (${run.filesCount} files)`));
|
|
2039
|
+
spec41RenderStaleness(staleness);
|
|
2040
|
+
}
|
|
2041
|
+
catch (error) {
|
|
2042
|
+
console.error(chalk.red('Error:'), error);
|
|
2043
|
+
process.exit(1);
|
|
2044
|
+
}
|
|
2045
|
+
});
|
|
2046
|
+
program
|
|
2047
|
+
.command('result <jobId>')
|
|
2048
|
+
.description('Query a detached audit run: findings or per-rule coverage')
|
|
2049
|
+
.option('-p, --path <path>', 'Project root containing the job (default: cwd)', process.cwd())
|
|
2050
|
+
.option('--rule <rule>', 'Filter by rule id')
|
|
2051
|
+
.option('--analyzer <analyzer>', 'Filter by analyzer')
|
|
2052
|
+
.option('--file <file>', 'Filter by file path (substring match)')
|
|
2053
|
+
.option('--severity <severity>', 'Filter by severity (critical|warning|suggestion)')
|
|
2054
|
+
.option('--state [state]', 'Query coverage by state (fired|clean|notApplicable|unassessed); omit value for all')
|
|
2055
|
+
.option('--count', 'Group findings by analyzer/rule with counts')
|
|
2056
|
+
.option('--limit <n>', 'Max findings to return (0 = unbounded)', '50')
|
|
2057
|
+
.option('--offset <n>', 'Findings offset', '0')
|
|
2058
|
+
.option('--stale', 'Force full content re-hash for staleness')
|
|
2059
|
+
.option('--json', 'Output as JSON')
|
|
2060
|
+
.action(async (jobId, options) => {
|
|
2061
|
+
try {
|
|
2062
|
+
const { getLedgerRun, queryLedgerFindings, queryLedgerCoverage, computeStaleness } = await import('./ledger.js');
|
|
2063
|
+
const projectRoot = resolve(options.path);
|
|
2064
|
+
const db = CodeIndexDB.getInstance(undefined, projectRoot);
|
|
2065
|
+
await db.initialize();
|
|
2066
|
+
const run = getLedgerRun(db.rawDb, jobId);
|
|
2067
|
+
if (!run) {
|
|
2068
|
+
console.error(chalk.red(`Job not found: ${jobId}`));
|
|
2069
|
+
process.exit(1);
|
|
2070
|
+
}
|
|
2071
|
+
const staleness = run.projectRoot
|
|
2072
|
+
? computeStaleness(db.rawDb, jobId, run.projectRoot, { full: !!options.stale })
|
|
2073
|
+
: null;
|
|
2074
|
+
// A finding read must never be silent about the tree it was computed
|
|
2075
|
+
// against (Spec 41 R3): carry the staleness marker in human output too.
|
|
2076
|
+
if (!options.json)
|
|
2077
|
+
spec41RenderStaleness(staleness);
|
|
2078
|
+
if (options.state !== undefined) {
|
|
2079
|
+
const stateFilter = typeof options.state === 'string' ? options.state : undefined;
|
|
2080
|
+
const rows = queryLedgerCoverage(db.rawDb, jobId, {
|
|
2081
|
+
...(stateFilter ? { state: stateFilter } : {}),
|
|
2082
|
+
...(options.rule ? { rule: options.rule } : {}),
|
|
2083
|
+
...(options.analyzer ? { analyzer: options.analyzer } : {}),
|
|
2084
|
+
});
|
|
2085
|
+
if (options.json) {
|
|
2086
|
+
process.stdout.write(JSON.stringify({ runId: jobId, staleness, coverage: rows }, null, 2) + '\n');
|
|
2087
|
+
}
|
|
2088
|
+
else {
|
|
2089
|
+
console.log(chalk.blue(stateFilter ? `Coverage — ${stateFilter}` : 'Coverage — all states'));
|
|
2090
|
+
for (const r of rows) {
|
|
2091
|
+
const reason = r.reason ? chalk.gray(` (${r.reason})`) : '';
|
|
2092
|
+
console.log(` ${r.analyzer}/${r.ruleId}: ${r.state} × ${r.count}${reason}`);
|
|
2093
|
+
}
|
|
2094
|
+
if (rows.length === 0)
|
|
2095
|
+
console.log(chalk.gray(' (no rows)'));
|
|
2096
|
+
}
|
|
2097
|
+
return;
|
|
2098
|
+
}
|
|
2099
|
+
const findingFilter = {
|
|
2100
|
+
...(options.rule ? { rule: options.rule } : {}),
|
|
2101
|
+
...(options.analyzer ? { analyzer: options.analyzer } : {}),
|
|
2102
|
+
...(options.file ? { file: options.file } : {}),
|
|
2103
|
+
...(options.severity ? { severity: options.severity } : {}),
|
|
2104
|
+
};
|
|
2105
|
+
if (options.count) {
|
|
2106
|
+
const groups = queryLedgerFindings(db.rawDb, jobId, { ...findingFilter, count: true });
|
|
2107
|
+
if (options.json) {
|
|
2108
|
+
process.stdout.write(JSON.stringify({ runId: jobId, staleness, groups }, null, 2) + '\n');
|
|
2109
|
+
}
|
|
2110
|
+
else {
|
|
2111
|
+
console.log(chalk.blue('Findings by analyzer/rule'));
|
|
2112
|
+
for (const g of groups)
|
|
2113
|
+
console.log(` ${g.count}\t${g.group}`);
|
|
2114
|
+
if (groups.length === 0)
|
|
2115
|
+
console.log(chalk.gray(' (no findings)'));
|
|
2116
|
+
}
|
|
2117
|
+
return;
|
|
2118
|
+
}
|
|
2119
|
+
const limit = options.limit === '0' ? 0 : parseInt(options.limit, 10) || 50;
|
|
2120
|
+
const offset = parseInt(options.offset, 10) || 0;
|
|
2121
|
+
const findings = queryLedgerFindings(db.rawDb, jobId, { ...findingFilter, limit, offset });
|
|
2122
|
+
if (options.json) {
|
|
2123
|
+
const nextOffset = limit > 0 && findings.length === limit ? offset + limit : null;
|
|
2124
|
+
process.stdout.write(JSON.stringify({ runId: jobId, staleness, count: findings.length, nextOffset, findings }, null, 2) + '\n');
|
|
2125
|
+
}
|
|
2126
|
+
else {
|
|
2127
|
+
console.log(chalk.blue(`Findings (${findings.length} shown)`));
|
|
2128
|
+
for (const f of findings) {
|
|
2129
|
+
const loc = f.line != null ? `${f.file}:${f.line}` : f.file;
|
|
2130
|
+
const paint = spec41SeverityColor(f.severity);
|
|
2131
|
+
console.log(` ${paint(f.severity)} ${chalk.gray(loc)} [${f.analyzer}/${f.rule}] ${f.message}`);
|
|
2132
|
+
}
|
|
2133
|
+
if (findings.length === 0)
|
|
2134
|
+
console.log(chalk.gray(' (no findings)'));
|
|
2135
|
+
if (limit > 0 && findings.length === limit) {
|
|
2136
|
+
console.log(chalk.gray(` next offset: ${offset + limit} (use --offset ${offset + limit})`));
|
|
2137
|
+
}
|
|
2138
|
+
}
|
|
2139
|
+
}
|
|
2140
|
+
catch (error) {
|
|
2141
|
+
console.error(chalk.red('Error:'), error);
|
|
2142
|
+
process.exit(1);
|
|
2143
|
+
}
|
|
2144
|
+
});
|
|
2145
|
+
program
|
|
2146
|
+
.command('jobs')
|
|
2147
|
+
.description('List detached audit jobs with staleness badges')
|
|
2148
|
+
.option('-p, --path <path>', 'Project root (default: cwd)', process.cwd())
|
|
2149
|
+
.option('--prune', 'Delete all but the newest runs for this project')
|
|
2150
|
+
.option('--keep <n>', 'Runs to keep when --prune is set', '10')
|
|
2151
|
+
.option('--limit <n>', 'Runs to display (staleness computed for these)', '20')
|
|
2152
|
+
.option('--json', 'Output as JSON')
|
|
2153
|
+
.action(async (options) => {
|
|
2154
|
+
try {
|
|
2155
|
+
const { listLedgerRuns, reclaimStaleRunning, pruneLedgerRuns, computeStaleness } = await import('./ledger.js');
|
|
2156
|
+
const projectRoot = resolve(options.path);
|
|
2157
|
+
const db = CodeIndexDB.getInstance(undefined, projectRoot);
|
|
2158
|
+
await db.initialize();
|
|
2159
|
+
reclaimStaleRunning(db.rawDb, projectRoot, CLI_JOB_LEASE_TTL_MS);
|
|
2160
|
+
if (options.prune) {
|
|
2161
|
+
const keep = parseInt(options.keep, 10) || 10;
|
|
2162
|
+
const n = pruneLedgerRuns(db.rawDb, projectRoot, keep);
|
|
2163
|
+
console.log(chalk.green(`✓ Pruned ${n} run(s) — keeping ${keep} newest`));
|
|
2164
|
+
}
|
|
2165
|
+
const limit = parseInt(options.limit, 10) || 20;
|
|
2166
|
+
const runs = listLedgerRuns(db.rawDb, projectRoot).slice(0, limit);
|
|
2167
|
+
const withStaleness = runs.map((run) => {
|
|
2168
|
+
let staleness = null;
|
|
2169
|
+
if (run.projectRoot && run.contentHash) {
|
|
2170
|
+
staleness = computeStaleness(db.rawDb, run.runId, run.projectRoot);
|
|
2171
|
+
}
|
|
2172
|
+
return { ...run, staleness };
|
|
2173
|
+
});
|
|
2174
|
+
if (options.json) {
|
|
2175
|
+
process.stdout.write(JSON.stringify(withStaleness, null, 2) + '\n');
|
|
2176
|
+
return;
|
|
2177
|
+
}
|
|
2178
|
+
if (withStaleness.length === 0) {
|
|
2179
|
+
console.log(chalk.gray('No jobs yet — run `code-auditor audit --detach` first.'));
|
|
2180
|
+
return;
|
|
2181
|
+
}
|
|
2182
|
+
console.log(chalk.blue(`Jobs (${withStaleness.length} newest)`));
|
|
2183
|
+
for (const run of withStaleness) {
|
|
2184
|
+
const badge = run.staleness?.stale
|
|
2185
|
+
? chalk.yellow('stale')
|
|
2186
|
+
: run.staleness
|
|
2187
|
+
? chalk.green('current')
|
|
2188
|
+
: chalk.gray('n/a');
|
|
2189
|
+
console.log(` ${spec41StatusBadge(run.status)} ${chalk.cyan(run.runId)} [${badge}]`);
|
|
2190
|
+
console.log(` ${run.projectRoot ?? run.target} ${run.timestamp}`);
|
|
2191
|
+
if (run.error)
|
|
2192
|
+
console.log(` ${chalk.red(run.error)}`);
|
|
2193
|
+
}
|
|
2194
|
+
}
|
|
2195
|
+
catch (error) {
|
|
2196
|
+
console.error(chalk.red('Error:'), error);
|
|
2197
|
+
process.exit(1);
|
|
2198
|
+
}
|
|
2199
|
+
});
|
|
1795
2200
|
// ── Conventions command — Spec 12 R3 ────────────────────────────────────────
|
|
1796
2201
|
const conventionsCmd = program
|
|
1797
2202
|
.command('conventions')
|