@cleocode/core 2026.10.12 → 2026.10.13-rc.ci.682
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/dist/build-provenance.json +2 -2
- package/dist/cloud/nexus-auth.d.ts.map +1 -1
- package/dist/cloud/nexus-auth.js +11 -2
- package/dist/cloud/nexus-auth.js.map +1 -1
- package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-status.js +18 -5
- package/dist/cloud/nexus-cloud-status.js.map +1 -1
- package/dist/cloud/nexus-credentials.d.ts +3 -2
- package/dist/cloud/nexus-credentials.d.ts.map +1 -1
- package/dist/cloud/nexus-credentials.js +58 -14
- package/dist/cloud/nexus-credentials.js.map +1 -1
- package/dist/cloud/nexus-logout.d.ts.map +1 -1
- package/dist/cloud/nexus-logout.js +12 -2
- package/dist/cloud/nexus-logout.js.map +1 -1
- package/dist/cloud/nexus-vault-state.d.ts.map +1 -1
- package/dist/cloud/nexus-vault-state.js +6 -26
- package/dist/cloud/nexus-vault-state.js.map +1 -1
- package/dist/config/registry.d.ts +21 -0
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +41 -0
- package/dist/config/registry.js.map +1 -1
- package/dist/dispatch/mvi-projection.d.ts.map +1 -1
- package/dist/dispatch/mvi-projection.js +2 -0
- package/dist/dispatch/mvi-projection.js.map +1 -1
- package/dist/docs/docs-ops.d.ts +15 -14
- package/dist/docs/docs-ops.d.ts.map +1 -1
- package/dist/docs/docs-ops.js +32 -96
- package/dist/docs/docs-ops.js.map +1 -1
- package/dist/docs/docs-read-model.d.ts +19 -10
- package/dist/docs/docs-read-model.d.ts.map +1 -1
- package/dist/docs/docs-read-model.js +31 -47
- package/dist/docs/docs-read-model.js.map +1 -1
- package/dist/docs/docs-update.d.ts +51 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +235 -13
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/doctor.d.ts +26 -4
- package/dist/docs/doctor.d.ts.map +1 -1
- package/dist/docs/doctor.js +260 -102
- package/dist/docs/doctor.js.map +1 -1
- package/dist/docs/fetch-result.d.ts +30 -10
- package/dist/docs/fetch-result.d.ts.map +1 -1
- package/dist/docs/fetch-result.js +100 -15
- package/dist/docs/fetch-result.js.map +1 -1
- package/dist/docs/index.d.ts +1 -0
- package/dist/docs/index.d.ts.map +1 -1
- package/dist/docs/index.js +1 -0
- package/dist/docs/index.js.map +1 -1
- package/dist/docs/legacy-doc-migration.d.ts +182 -0
- package/dist/docs/legacy-doc-migration.d.ts.map +1 -0
- package/dist/docs/legacy-doc-migration.js +480 -0
- package/dist/docs/legacy-doc-migration.js.map +1 -0
- package/dist/docs/publications-store.d.ts +67 -0
- package/dist/docs/publications-store.d.ts.map +1 -0
- package/dist/docs/publications-store.js +193 -0
- package/dist/docs/publications-store.js.map +1 -0
- package/dist/docs/publish-pr.d.ts.map +1 -1
- package/dist/docs/publish-pr.js +31 -18
- package/dist/docs/publish-pr.js.map +1 -1
- package/dist/docs/section-leases.d.ts +233 -0
- package/dist/docs/section-leases.d.ts.map +1 -0
- package/dist/docs/section-leases.js +344 -0
- package/dist/docs/section-leases.js.map +1 -0
- package/dist/docs/section-merge.d.ts +159 -0
- package/dist/docs/section-merge.d.ts.map +1 -0
- package/dist/docs/section-merge.js +215 -0
- package/dist/docs/section-merge.js.map +1 -0
- package/dist/docs/section-write-path.d.ts +191 -0
- package/dist/docs/section-write-path.d.ts.map +1 -0
- package/dist/docs/section-write-path.js +423 -0
- package/dist/docs/section-write-path.js.map +1 -0
- package/dist/docs/stats.d.ts +56 -0
- package/dist/docs/stats.d.ts.map +1 -0
- package/dist/docs/stats.js +119 -0
- package/dist/docs/stats.js.map +1 -0
- package/dist/gc/cleanup.d.ts +1 -1
- package/dist/gc/cleanup.d.ts.map +1 -1
- package/dist/gc/cleanup.js +10 -1
- package/dist/gc/cleanup.js.map +1 -1
- package/dist/gc/janitor.js +1 -1
- package/dist/gc/janitor.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +34 -0
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +114 -0
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +5 -1
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +25 -13
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/assessment-store.d.ts +8 -4
- package/dist/nexus/assessment-store.d.ts.map +1 -1
- package/dist/nexus/assessment-store.js +18 -27
- package/dist/nexus/assessment-store.js.map +1 -1
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +6 -0
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lean-change.d.ts +104 -5
- package/dist/orchestration/lean-change.d.ts.map +1 -1
- package/dist/orchestration/lean-change.js +162 -6
- package/dist/orchestration/lean-change.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +6 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +3 -1
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +6 -0
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +6 -2
- package/dist/release/open.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +33 -2
- package/dist/release/plan.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +5 -0
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +1 -1
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/run-admission.d.ts.map +1 -1
- package/dist/resources/run-admission.js +4 -1
- package/dist/resources/run-admission.js.map +1 -1
- package/dist/resources/run-governed.d.ts +29 -4
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +113 -73
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/sentient/worktree-dispatch.d.ts +12 -1
- package/dist/sentient/worktree-dispatch.d.ts.map +1 -1
- package/dist/sentient/worktree-dispatch.js +19 -0
- package/dist/sentient/worktree-dispatch.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts +11 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +54 -4
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/sticky/archive.d.ts +1 -0
- package/dist/sticky/archive.d.ts.map +1 -1
- package/dist/sticky/archive.js +13 -0
- package/dist/sticky/archive.js.map +1 -1
- package/dist/sticky/engine-ops.d.ts.map +1 -1
- package/dist/sticky/engine-ops.js +7 -0
- package/dist/sticky/engine-ops.js.map +1 -1
- package/dist/store/attachment-repair.d.ts +10 -4
- package/dist/store/attachment-repair.d.ts.map +1 -1
- package/dist/store/attachment-repair.js +52 -25
- package/dist/store/attachment-repair.js.map +1 -1
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +27 -18
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/blob-keep.d.ts +83 -0
- package/dist/store/blob-keep.d.ts.map +1 -1
- package/dist/store/blob-keep.js +139 -0
- package/dist/store/blob-keep.js.map +1 -1
- package/dist/store/blob-ops.d.ts +24 -0
- package/dist/store/blob-ops.d.ts.map +1 -1
- package/dist/store/blob-ops.js +47 -0
- package/dist/store/blob-ops.js.map +1 -1
- package/dist/store/conduit-doc-history.d.ts +209 -0
- package/dist/store/conduit-doc-history.d.ts.map +1 -1
- package/dist/store/conduit-doc-history.js +315 -3
- package/dist/store/conduit-doc-history.js.map +1 -1
- package/dist/store/decision-adr-links.d.ts +11 -0
- package/dist/store/decision-adr-links.d.ts.map +1 -1
- package/dist/store/decision-adr-links.js +20 -1
- package/dist/store/decision-adr-links.js.map +1 -1
- package/dist/store/display-id-alias.d.ts +8 -2
- package/dist/store/display-id-alias.d.ts.map +1 -1
- package/dist/store/display-id-alias.js +8 -3
- package/dist/store/display-id-alias.js.map +1 -1
- package/dist/store/lock.d.ts +18 -0
- package/dist/store/lock.d.ts.map +1 -1
- package/dist/store/lock.js +41 -0
- package/dist/store/lock.js.map +1 -1
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +17 -0
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/schema/cleo-project/conduit.d.ts +16 -0
- package/dist/store/schema/cleo-project/conduit.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/conduit.js +8 -0
- package/dist/store/schema/cleo-project/conduit.js.map +1 -1
- package/dist/store/schema/cleo-project/docs.d.ts +294 -0
- package/dist/store/schema/cleo-project/docs.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/docs.js +82 -0
- package/dist/store/schema/cleo-project/docs.js.map +1 -1
- package/dist/store/sync/hlc.d.ts +9 -0
- package/dist/store/sync/hlc.d.ts.map +1 -1
- package/dist/store/sync/hlc.js +9 -0
- package/dist/store/sync/hlc.js.map +1 -1
- package/dist/store/sync/merge/engine.d.ts.map +1 -1
- package/dist/store/sync/merge/engine.js +4 -2
- package/dist/store/sync/merge/engine.js.map +1 -1
- package/dist/store/sync/merge/rules.d.ts +12 -1
- package/dist/store/sync/merge/rules.d.ts.map +1 -1
- package/dist/store/sync/merge/rules.js +76 -1
- package/dist/store/sync/merge/rules.js.map +1 -1
- package/dist/store/sync/replica-registry.d.ts +6 -2
- package/dist/store/sync/replica-registry.d.ts.map +1 -1
- package/dist/store/sync/replica-registry.js +21 -9
- package/dist/store/sync/replica-registry.js.map +1 -1
- package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
- package/dist/store/sync/timestamp-canon.js +6 -0
- package/dist/store/sync/timestamp-canon.js.map +1 -1
- package/dist/store/table-classification.d.ts +58 -0
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +72 -0
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +4 -1
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/vault-manifest.d.ts +10 -1
- package/dist/store/vault-manifest.d.ts.map +1 -1
- package/dist/store/vault-manifest.js +59 -1
- package/dist/store/vault-manifest.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +11 -0
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +30 -11
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/cancel-ops.d.ts.map +1 -1
- package/dist/tasks/cancel-ops.js +7 -2
- package/dist/tasks/cancel-ops.js.map +1 -1
- package/dist/tasks/change-set.d.ts +22 -0
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +119 -2
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +7 -0
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts +5 -0
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +54 -19
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts +4 -0
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +20 -4
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/evidence-paths.d.ts +11 -0
- package/dist/tasks/evidence-paths.d.ts.map +1 -1
- package/dist/tasks/evidence-paths.js +12 -0
- package/dist/tasks/evidence-paths.js.map +1 -1
- package/dist/tools/fs.d.ts +7 -3
- package/dist/tools/fs.d.ts.map +1 -1
- package/dist/tools/fs.js +23 -8
- package/dist/tools/fs.js.map +1 -1
- package/dist/worktree/list.d.ts.map +1 -1
- package/dist/worktree/list.js +9 -0
- package/dist/worktree/list.js.map +1 -1
- package/dist/worktree/prune.d.ts.map +1 -1
- package/dist/worktree/prune.js +52 -1
- package/dist/worktree/prune.js.map +1 -1
- package/migrations/drizzle-cleo-project/20261013000000_t13360-migrated-doc-import/migration.sql +61 -0
- package/migrations/drizzle-cleo-project/20261014000000_t13362-docs-publications-ledger/migration.sql +45 -0
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-store.js","sourceRoot":"","sources":["../../src/store/attachment-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachment-store.js","sourceRoot":"","sources":["../../src/store/attachment-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,OAAO,EACP,WAAW,EACX,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAkC,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAO/B;IACA;IACA;IARlB;;;;OAIG;IACH,YACkB,cAAsB,EACtB,YAAoB,EACpB,IAAY;QAE5B,KAAK,CACH,wCAAwC,IAAI,qBAAqB,cAAc,YAAY,YAAY,EAAE,CAC1G,CAAC;QANc,mBAAc,GAAd,cAAc,CAAQ;QACtB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,SAAI,GAAJ,IAAI,CAAQ;QAK5B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAUD;;;;;;;;GAQG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAEzB;IACA;IAFlB,YACkB,IAAY,EACZ,WAA8B;QAE9C,KAAK,CAAC,SAAS,IAAI,qCAAqC,CAAC,CAAC;QAH1C,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAmB;QAG9C,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC5B;IAA5B,YAA4B,IAAY;QACtC,KAAK,CACH,SAAS,IAAI,wEAAwE;YACnF,iFAAiF;YACjF,wDAAwD,CAC3D,CAAC;QALwB,SAAI,GAAJ,IAAI,CAAQ;QAMtC,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAgBD,kFAAkF;AAElF;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,GAAY;IAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,QAAQ,CAAC,MAAc,EAAE,IAAY,EAAE,GAAY;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,kFAAkF;AAElF;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,OAAwB;IACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,iFAAiF;AAEjF;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,UAAsB;IAChD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,YAAY,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,IAAI,CAAC;QACzB,KAAK,KAAK;YACR,OAAO,UAAU,CAAC,IAAI,IAAI,0BAA0B,CAAC;QACvD,KAAK,UAAU;YACb,OAAO,YAAY,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,0BAA0B,CAAC;QACpC;YACE,OAAO,0BAA0B,CAAC;IACtC,CAAC;AACH,CAAC;AAuMD,iFAAiF;AAEjF;;;;;GAKG;AACH,IAAI,SAAS,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAEjD;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAI,EAAoB;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC;IACvB,IAAI,OAAoB,CAAC;IACzB,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACxC,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,CAAC;IACX,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,kFAAkF;AAElF;;;;GAIG;AACH,SAAS,aAAa,CAAC,GAMtB;IACC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAe;QACxD,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACvB,CAAC;AACJ,CAAC;AASD;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,UAAU,qBAAqB,CAAC,EAAa,EAAE,IAAY;IAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;IAE3B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC7C,IAAI,SAAS,GAAG,MAAM,CAAC,GAAG,CAAW,CAAC;QACtC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,GAAG,EAAE,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzB,IAAI,EAAE,CAAC;gBACP,SAAS,GAAG,GAAG,SAAS,IAAI,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,EAAE;iBACtB,MAAM,EAAE;iBACR,IAAI,CAAC,WAAW,CAAC;iBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;iBACtC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM;YACR,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrB,IAAI,EAAE,CAAC;YACP,SAAS,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC;QACnE,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,GAAG,CAAC;YAAE,SAAS;QACrC,sEAAsE;QACtE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,UAAU,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,EAAa,EACb,IAAY;IAEZ,OAAO,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,SAAiB;IACxC,MAAM,OAAO,GAAiC;QAC5C,MAAM;QACN,aAAa;QACb,SAAS;QACT,UAAU;QACV,UAAU;QACV,SAAS;KACV,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAuC,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,SAAuC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM;YACtE,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAgB,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3C,iEAAiE;YACjE,kEAAkE;YAClE,qEAAqE;YACrE,+DAA+D;YAC/D,uEAAuE;YACvE,iDAAiD;YACjD,MAAM,kBAAkB,GACtB,UAAU,CAAC,IAAI,KAAK,MAAM;gBACxB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE;gBAC5D,CAAC,CAAC,IAAI,CAAC;YACX,oEAAoE;YACpE,wEAAwE;YACxE,qEAAqE;YACrE,uEAAuE;YACvE,uDAAuD;YACvD,MAAM,YAAY,GAChB,MAAM,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,MAAM,YAAY,GAChB,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY;gBAC5D,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE;gBACtC,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,aAAa,GACjB,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,kBAAkB,KAAK,IAAI;gBACvD,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE;gBAClD,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACvB,MAAM,cAAc,GAAe;gBACjC,GAAG,UAAU;gBACb,GAAG,aAAa;gBAChB,GAAG,YAAY;aACF,CAAC;YAChB,kEAAkE;YAClE,oEAAoE;YACpE,oEAAoE;YACpE,mEAAmE;YACnE,uDAAuD;YACvD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;YACtF,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;YAC1B,yEAAyE;YACzE,wEAAwE;YACxE,sDAAsD;YACtD,sEAAsE;YACtE,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAC3E,yBAAyB,CAC1B,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,CAAC;gBACtD,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;gBAC9D,CAAC,CAAC,SAAS,CAAC;YAEd,OAAO,aAAa,CAAC,KAAK,IAAI,EAAE;gBAC9B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC3D,mEAAmE;gBACnE,0BAA0B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAEpD,mEAAmE;gBACnE,iEAAiE;gBACjE,wDAAwD;gBACxD,0BAA0B;gBAC1B,EAAE;gBACF,mEAAmE;gBACnE,iEAAiE;gBACjE,gEAAgE;gBAChE,kEAAkE;gBAClE,iEAAiE;gBACjE,8DAA8D;gBAC9D,+DAA+D;gBAC/D,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC5E,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;oBAC1F,iEAAiE;oBACjE,oEAAoE;oBACpE,qEAAqE;oBACrE,0DAA0D;oBAC1D,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;wBAC/B,MAAM,IAAI,+BAA+B,CAAC,IAAI,CAAC,CAAC;oBAClD,CAAC;oBACD,4DAA4D;oBAC5D,yDAAyD;oBACzD,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjC,CAAC;gBAED,qEAAqE;gBACrE,oEAAoE;gBACpE,kEAAkE;gBAClE,qEAAqE;gBACrE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,QAAQ,GAAG,MAAM,EAAE;yBACtB,MAAM,EAAE;yBACR,IAAI,CAAC,WAAW,CAAC;yBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;yBACjC,GAAG,EAAE,CAAC;oBACT,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBACzC,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;wBAC1D,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAED,0FAA0F;gBAC1F,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC;oBACH,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;oBAE1C,8CAA8C;oBAC9C,MAAM,QAAQ,GAAG,MAAM,EAAE;yBACtB,MAAM,EAAE;yBACR,IAAI,CAAC,WAAW,CAAC;yBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;yBACnC,GAAG,EAAE,CAAC;oBAET,IAAI,YAAoB,CAAC;oBACzB,IAAI,SAAiB,CAAC;oBAEtB,IAAI,QAAQ,EAAE,CAAC;wBACb,YAAY,GAAG,QAAQ,CAAC,EAAE,CAAC;wBAC3B,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACN,iCAAiC;wBACjC,YAAY,GAAG,UAAU,EAAE,CAAC;wBAC5B,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACrC,MAAM,GAAG,IAAI,CAAC;wBAEd,MAAM,EAAE;6BACL,MAAM,CAAC,WAAW,CAAC;6BACnB,MAAM,CAAC;4BACN,EAAE,EAAE,YAAY;4BAChB,MAAM,EAAE,IAAI;4BACZ,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;4BAC9C,SAAS;4BACT,QAAQ,EAAE,CAAC;4BACX,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACvC,GAAG,CAAC,YAAY,KAAK,SAAS;gCAC5B,CAAC,CAAC;oCACE,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC;oCAC5C,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC;iCACzD;gCACH,CAAC,CAAC,EAAE,CAAC;yBACR,CAAC;6BACD,GAAG,EAAE,CAAC;oBACX,CAAC;oBAED,iEAAiE;oBACjE,8DAA8D;oBAC9D,mEAAmE;oBACnE,sEAAsE;oBACtE,4CAA4C;oBAC5C,IAAI,QAAQ,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;wBAC3D,MAAM,OAAO,GAAkC,EAAE,CAAC;wBAClD,IAAI,IAAI,KAAK,SAAS;4BAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;wBAC5C,IAAI,IAAI,KAAK,SAAS;4BAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;wBAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC1F,CAAC;oBACD,oEAAoE;oBACpE,qEAAqE;oBACrE,IAAI,QAAQ,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;wBAC3C,MAAM,EAAE;6BACL,MAAM,CAAC,WAAW,CAAC;6BACnB,GAAG,CAAC;4BACH,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC;4BAC5C,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC;yBACzD,CAAC;6BACD,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;6BACvC,GAAG,EAAE,CAAC;oBACX,CAAC;oBAED,qEAAqE;oBACrE,kEAAkE;oBAClE,iEAAiE;oBACjE,6DAA6D;oBAC7D,4DAA4D;oBAC5D,gEAAgE;oBAChE,8DAA8D;oBAC9D,EAAE;oBACF,+DAA+D;oBAC/D,8DAA8D;oBAC9D,iEAAiE;oBACjE,+DAA+D;oBAC/D,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;oBACpD,MAAM,WAAW,GAAG,MAAM,EAAE;yBACzB,MAAM,EAAE;yBACR,IAAI,CAAC,cAAc,CAAC;yBACpB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,EAC7C,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAC9C,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CACpC,CACF;yBACA,GAAG,EAAE,CAAC;oBAET,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,MAAM,EAAE;6BACL,MAAM,CAAC,cAAc,CAAC;6BACtB,MAAM,CAAC;4BACN,YAAY;4BACZ,SAAS,EAAE,gBAAgB;4BAC3B,OAAO;4BACP,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACpC,UAAU,EAAE,UAAU,IAAI,IAAI;yBAC/B,CAAC;6BACD,GAAG,EAAE,CAAC;wBAET,gEAAgE;wBAChE,MAAM,EAAE;6BACL,MAAM,CAAC,WAAW,CAAC;6BACnB,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAA,eAAe,EAAE,CAAC;6BACrC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;6BACvC,GAAG,EAAE,CAAC;oBACX,CAAC;oBAED,8EAA8E;oBAC9E,2EAA2E;oBAC3E,6EAA6E;oBAC7E,4EAA4E;oBAC5E,2EAA2E;oBAC3E,wBAAwB;oBACxB,EAAE;oBACF,qEAAqE;oBACrE,qEAAqE;oBACrE,oEAAoE;oBACpE,qEAAqE;oBACrE,oEAAoE;oBACpE,qEAAqE;oBACrE,4DAA4D;oBAC5D,6DAA6D;oBAC7D,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;wBAC3D,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBAExD,gEAAgE;wBAChE,gEAAgE;wBAChE,2DAA2D;wBAC3D,4DAA4D;wBAC5D,+DAA+D;wBAC/D,6DAA6D;wBAC7D,gEAAgE;wBAChE,2DAA2D;wBAC3D,iEAAiE;wBACjE,kDAAkD;wBAClD,6CAA6C;wBAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;wBACxE,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC;4BAC/C,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC/D,CAAC;oBACH,CAAC;oBAED,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;oBACjC,6EAA6E;oBAC7E,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAE7C,kEAAkE;oBAClE,qEAAqE;oBACrE,6DAA6D;oBAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;4BACtE,MAAM,oBAAoB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;wBACnD,CAAC;wBAAC,OAAO,UAAU,EAAE,CAAC;4BACpB,OAAO,CAAC,WAAW,CACjB,oDAAoD,IAAI,MAAM,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CACtI,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAED,MAAM,QAAQ,GAAG,MAAM,EAAE;yBACtB,MAAM,EAAE;yBACR,IAAI,CAAC,WAAW,CAAC;yBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;yBACvC,GAAG,EAAE,CAAC;oBAET,OAAO,aAAa,CAAC,QAAS,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;oBACrC,CAAC;oBAAC,MAAM,CAAC;wBACP,gEAAgE;oBAClE,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG;YACnB,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC5F,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YAEtB,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAE7C,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,iEAAiE;gBACjE,mCAAmC;gBACnC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACnD,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;YAED,wDAAwD;YACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,IAAI,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG;YACjC,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,EAAE;iBACZ,MAAM,EAAE;iBACR,IAAI,CAAC,WAAW,CAAC;iBACjB,KAAK,CACJ,EAAE,CACA,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,EAChC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC;gBAClC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;gBACpD,CAAC,CAAC,SAAS,CACd,CACF;iBACA,GAAG,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,iBAAiB,CAAC;oBAC1B,IAAI,EAAE,kCAAkC;oBACxC,OAAO,EAAE,wEAAwE;oBACjF,OAAO,EAAE;wBACP,SAAS,EAAE,YAAY;wBACvB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;qBAC3D;iBACF,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG;YACxB,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACxF,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO;gBACL,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC;gBAC5B,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;gBAC5B,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;aACvC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG;YAC/B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC9F,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;gBACtB,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;aACvC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM;YAChC,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,iEAAiE;YACjE,kEAAkE;YAClE,sEAAsE;YACtE,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC;gBACN,YAAY,EAAE,cAAc,CAAC,YAAY;gBACzC,SAAS,EAAE,cAAc,CAAC,SAAS;gBACnC,OAAO,EAAE,cAAc,CAAC,OAAO;aAChC,CAAC;iBACD,IAAI,CAAC,cAAc,CAAC;iBACpB,GAAG,EAAE,CAAC;YAET,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEjC,MAAM,GAAG,GASJ,EAAE,CAAC;YACR,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,MAAM,EAAE;qBACjB,MAAM,EAAE;qBACR,IAAI,CAAC,WAAW,CAAC;qBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;qBAC9C,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;oBAAE,SAAS;gBACrE,GAAG,CAAC,IAAI,CAAC;oBACP,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC;oBAC5B,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;oBACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;oBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;oBAC5B,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;iBACvC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG;YACvC,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,EAAE;iBACR,IAAI,CAAC,cAAc,CAAC;iBACpB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,EACxD,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CACpC,CACF;iBACA,GAAG,EAAE,CAAC;YAET,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEjC,MAAM,OAAO,GAAyB,EAAE,CAAC;YACzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,MAAM,EAAE;qBACjB,MAAM,EAAE;qBACR,IAAI,CAAC,WAAW,CAAC;qBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;qBAC3C,GAAG,EAAE,CAAC;gBACT,IAAI,GAAG;oBAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG;YAC9B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC;iBAChF,IAAI,CAAC,cAAc,CAAC;iBACpB,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;iBACpD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;iBACnE,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG;YACzD,OAAO,aAAa,CAAC,KAAK,IAAI,EAAE;gBAC9B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC3D,mEAAmE;gBACnE,0BAA0B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAEpD,IAAI,CAAC;oBACH,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;oBAE1C,4BAA4B;oBAC5B,MAAM,QAAQ,GAAG,MAAM,EAAE;yBACtB,MAAM,EAAE;yBACR,IAAI,CAAC,WAAW,CAAC;yBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;yBACvC,GAAG,EAAE,CAAC;oBACT,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;oBAC3D,CAAC;oBAED,MAAM,EAAE;yBACL,MAAM,CAAC,cAAc,CAAC;yBACtB,MAAM,CAAC;wBACN,YAAY;wBACZ,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC;wBACrC,OAAO;wBACP,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACpC,UAAU,EAAE,UAAU,IAAI,IAAI;qBAC/B,CAAC;yBACD,GAAG,EAAE,CAAC;oBAET,gEAAgE;oBAChE,MAAM,EAAE;yBACL,MAAM,CAAC,WAAW,CAAC;yBACnB,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAA,eAAe,EAAE,CAAC;yBACrC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;yBACvC,GAAG,EAAE,CAAC;oBAET,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;oBACjC,6EAA6E;oBAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAe,CAAC;oBACjE,OAAO,CACL,cAAc,CAAC,GAAG,CAAC,EACnB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAC3D,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;oBACrC,CAAC;oBAAC,MAAM,CAAC;wBACP,gEAAgE;oBAClE,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG;YAC/C,OAAO,aAAa,CAAC,KAAK,IAAI,EAAE;gBAC9B,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC3D,mEAAmE;gBACnE,0BAA0B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAEpD,oEAAoE;gBACpE,MAAM,QAAQ,GAAG,MAAM,EAAE;qBACtB,MAAM,EAAE;qBACR,IAAI,CAAC,WAAW,CAAC;qBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;qBACvC,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBAE9C,IAAI,CAAC;oBACH,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC;oBAE1C,sBAAsB;oBACtB,MAAM,EAAE;yBACL,MAAM,CAAC,cAAc,CAAC;yBACtB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,EAC7C,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,EACxD,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CACpC,CACF;yBACA,GAAG,EAAE,CAAC;oBAET,oEAAoE;oBACpE,+DAA+D;oBAC/D,MAAM,QAAQ,GACZ,CACE,MAAM,EAAE;yBACL,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAQ,UAAU,EAAE,CAAC;yBACpC,IAAI,CAAC,cAAc,CAAC;yBACpB,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;yBACpD,GAAG,EAAE,CACT,EAAE,CAAC,IAAI,CAAC,CAAC;oBAEZ,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;wBACnB,4CAA4C;wBAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAE3E,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;wBAEjC,+DAA+D;wBAC/D,mEAAmE;wBACnE,iEAAiE;wBACjE,oCAAoC;wBACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAe,CAAC;wBAC3E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;wBACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;wBAC1D,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAE1E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBAC/B,CAAC;oBAED,MAAM,EAAE;yBACL,MAAM,CAAC,WAAW,CAAC;yBACnB,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;yBAC3B,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;yBACvC,GAAG,EAAE,CAAC;oBAET,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;oBAEjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;gBACvD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;oBACrC,CAAC;oBAAC,MAAM,CAAC;wBACP,gEAAgE;oBAClE,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAqFD;;GAEG;AACH,KAAK,UAAU,mBAAmB;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACxC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,IAAI,WAAW,GAAqC,IAAI,CAAC;IACzD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4C,CAAC;IAE1E,KAAK,UAAU,YAAY;QACzB,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,mGAAmG;gBACjG,6EAA6E,CAChF,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO,WAAW,CAAC;QAE7C,IAAI,CAAC,CAAC,MAAM,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACnC,WAAW,GAAG,KAAK,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,wHAAwH;gBACtH,4CAA4C,CAC/C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,WAAW,GAAG,KAAK,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,GAAG,KAAK,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,wDAAwD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,UAAU,kBAAkB,CAC/B,KAAwB,EACxB,MAAc;QAEd,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC;gBACX,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,IAAI,EAAE,GAAG,CAAC,QAAQ;gBAClB,MAAM,EAAE,GAAG,CAAC,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI;YACpB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,0BAA0B,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC3E,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,OAAO;gBACL,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO,EAAE,QAAQ;aAClB,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,YAAY;YACpB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC7C,OAAO;wBACL,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC/B,IAAI,EAAE,IAAI,CAAC,QAAQ;wBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;qBAC9B,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,MAAM;YACf,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;YACpC,OAAO,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,YAAY;YACvB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1C,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -147,4 +147,87 @@ export declare function isTombstoned(cleoDir: string, sha256: string): boolean;
|
|
|
147
147
|
* @param sha256 - The content hash.
|
|
148
148
|
*/
|
|
149
149
|
export declare function unpinBlob(cleoDir: string, sha256: string): void;
|
|
150
|
+
/**
|
|
151
|
+
* True when `target` exists AND its bytes re-hash to `sha256` (T13657).
|
|
152
|
+
*
|
|
153
|
+
* Existence alone is never proof that a content-addressed file holds the
|
|
154
|
+
* bytes its name claims: a truncated leftover from an interrupted
|
|
155
|
+
* pre-atomic write must be replaced from verified bytes, not trusted. Any
|
|
156
|
+
* read failure (absent, unreadable) returns false.
|
|
157
|
+
*
|
|
158
|
+
* @param target - Absolute path of the content-addressed file.
|
|
159
|
+
* @param sha256 - Lowercase hex SHA-256 the bytes must match.
|
|
160
|
+
*/
|
|
161
|
+
export declare function fileBytesMatchSha256(target: string, sha256: string): boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Locate the on-disk source of a sha's legacy bytes for the blob-store
|
|
164
|
+
* backfill (T13653). Tries, in order:
|
|
165
|
+
*
|
|
166
|
+
* 1. the primary legacy path (`.cleo/attachments/sha256/<2>/<62><ext>`,
|
|
167
|
+
* extension from the row's mime);
|
|
168
|
+
* 2. ANY file in the sha's prefix directory whose stem equals the sha's
|
|
169
|
+
* remaining 62 chars (the recorded mime may disagree with the extension
|
|
170
|
+
* a historical writer used);
|
|
171
|
+
* 3. a live keep-link (`.cleo/attachments/keep/<2>/<62>` — not tombstoned).
|
|
172
|
+
*
|
|
173
|
+
* Returns the first existing candidate, or null when the bytes are gone.
|
|
174
|
+
* Read-only — verification happens in {@link backfillBlobStoreBytes}.
|
|
175
|
+
*
|
|
176
|
+
* @param cleoDir - Absolute `.cleo` directory.
|
|
177
|
+
* @param sha256 - Recorded content hash.
|
|
178
|
+
* @param mime - Recorded mime (picks the primary path's extension).
|
|
179
|
+
* @returns The first existing candidate path, or null.
|
|
180
|
+
* @internal
|
|
181
|
+
*/
|
|
182
|
+
export declare function resolveLegacyByteSource(cleoDir: string, sha256: string, mime: string): string | null;
|
|
183
|
+
/**
|
|
184
|
+
* Backfill outcome for one sha (T13653).
|
|
185
|
+
*
|
|
186
|
+
* - `written` — bytes verified and mirrored into the blob store (also
|
|
187
|
+
* returned when a corrupt/truncated existing target was
|
|
188
|
+
* replaced from the verified source, T13654).
|
|
189
|
+
* - `present` — blob-store file already existed AND re-hashes to the
|
|
190
|
+
* recorded sha (idempotent re-run; left untouched).
|
|
191
|
+
* - `unverified`— the source bytes' SHA-256 does not match the recorded hash;
|
|
192
|
+
* nothing was written (writing unverified bytes would poison
|
|
193
|
+
* the content-addressed store).
|
|
194
|
+
* - `unreadable`— the source could not be read; nothing was written.
|
|
195
|
+
*/
|
|
196
|
+
export type BlobBackfillOutcome = 'written' | 'present' | 'unverified' | 'unreadable';
|
|
197
|
+
/**
|
|
198
|
+
* Mirror one sha's legacy bytes into the blob store (`.cleo/blobs/blobs/<sha>`).
|
|
199
|
+
*
|
|
200
|
+
* Hash-verified: the source bytes are SHA-256-hashed before any write and
|
|
201
|
+
* must equal the recorded sha256. Crash-safe (T13654): bytes are written to
|
|
202
|
+
* a tmp file and renamed into place — an interrupted write never leaves a
|
|
203
|
+
* truncated file at the final content address (which later runs would count
|
|
204
|
+
* as present and `blobReadBySha` would then reject as corrupt with no heal
|
|
205
|
+
* path). An existing target is RE-HASHED rather than assumed good: when its
|
|
206
|
+
* bytes mismatch the recorded hash (truncation/corruption), it is replaced
|
|
207
|
+
* from the verified source; a matching target is left untouched.
|
|
208
|
+
*
|
|
209
|
+
* @internal
|
|
210
|
+
*/
|
|
211
|
+
export declare function backfillBlobStoreBytes(cleoDir: string, sha256: string, sourcePath: string): Promise<BlobBackfillOutcome>;
|
|
212
|
+
/**
|
|
213
|
+
* Self-heal one blob-store miss from hash-verified legacy bytes (T13705).
|
|
214
|
+
*
|
|
215
|
+
* Docs written before the blob store held every body keep their bytes only in
|
|
216
|
+
* the legacy attachment tree, which the read paths no longer consult (#2210).
|
|
217
|
+
* When those bytes exist and hash to the recorded sha, they are mirrored into
|
|
218
|
+
* the blob store exactly as `cleo docs doctor --repair` would ({@link
|
|
219
|
+
* backfillBlobStoreBytes}: atomic write, only ever adds an absent content-addressed
|
|
220
|
+
* file), so the first read heals the doc. Missing or mismatched bytes write
|
|
221
|
+
* nothing.
|
|
222
|
+
*
|
|
223
|
+
* The read never fails on the write (T13706): on a read-only `.cleo`, a
|
|
224
|
+
* sandbox or a full disk the verified bytes are still returned, a warning is
|
|
225
|
+
* emitted, and the blob-store file is left for `cleo docs doctor --repair`.
|
|
226
|
+
*
|
|
227
|
+
* @param cleoDir - Absolute `.cleo` directory the blob store lives under.
|
|
228
|
+
* @param sha256 - The content hash the doc row records.
|
|
229
|
+
* @returns The hash-verified bytes, or null when no legacy bytes verify.
|
|
230
|
+
* @task T13705
|
|
231
|
+
*/
|
|
232
|
+
export declare function healBlobFromLegacy(cleoDir: string, sha256: string): Promise<Uint8Array | null>;
|
|
150
233
|
//# sourceMappingURL=blob-keep.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-keep.d.ts","sourceRoot":"","sources":["../../src/store/blob-keep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;
|
|
1
|
+
{"version":3,"file":"blob-keep.d.ts","sourceRoot":"","sources":["../../src/store/blob-keep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAyCH;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlF;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAUf;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIxF;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAa9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAgBrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CASjG;AAED,2CAA2C;AAC3C,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,EACzC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,GACd,iBAAiB,CAuDnB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM5E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAiBf;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC;AAEtF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAmB5B"}
|
package/dist/store/blob-keep.js
CHANGED
|
@@ -27,7 +27,9 @@
|
|
|
27
27
|
* @module
|
|
28
28
|
* @task T12535
|
|
29
29
|
*/
|
|
30
|
+
import { createHash } from 'node:crypto';
|
|
30
31
|
import { copyFileSync, existsSync, linkSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync, } from 'node:fs';
|
|
32
|
+
import { readFile } from 'node:fs/promises';
|
|
31
33
|
import { dirname, join } from 'node:path';
|
|
32
34
|
/**
|
|
33
35
|
* Minimal MIME-to-extension map for common attachment types.
|
|
@@ -300,4 +302,141 @@ export function unpinBlob(cleoDir, sha256) {
|
|
|
300
302
|
rmSync(keepPath(cleoDir, sha256), { force: true });
|
|
301
303
|
rmSync(`${keepPath(cleoDir, sha256)}.tomb`, { force: true });
|
|
302
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* True when `target` exists AND its bytes re-hash to `sha256` (T13657).
|
|
307
|
+
*
|
|
308
|
+
* Existence alone is never proof that a content-addressed file holds the
|
|
309
|
+
* bytes its name claims: a truncated leftover from an interrupted
|
|
310
|
+
* pre-atomic write must be replaced from verified bytes, not trusted. Any
|
|
311
|
+
* read failure (absent, unreadable) returns false.
|
|
312
|
+
*
|
|
313
|
+
* @param target - Absolute path of the content-addressed file.
|
|
314
|
+
* @param sha256 - Lowercase hex SHA-256 the bytes must match.
|
|
315
|
+
*/
|
|
316
|
+
export function fileBytesMatchSha256(target, sha256) {
|
|
317
|
+
try {
|
|
318
|
+
return createHash('sha256').update(readFileSync(target)).digest('hex') === sha256;
|
|
319
|
+
}
|
|
320
|
+
catch {
|
|
321
|
+
return false;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Locate the on-disk source of a sha's legacy bytes for the blob-store
|
|
326
|
+
* backfill (T13653). Tries, in order:
|
|
327
|
+
*
|
|
328
|
+
* 1. the primary legacy path (`.cleo/attachments/sha256/<2>/<62><ext>`,
|
|
329
|
+
* extension from the row's mime);
|
|
330
|
+
* 2. ANY file in the sha's prefix directory whose stem equals the sha's
|
|
331
|
+
* remaining 62 chars (the recorded mime may disagree with the extension
|
|
332
|
+
* a historical writer used);
|
|
333
|
+
* 3. a live keep-link (`.cleo/attachments/keep/<2>/<62>` — not tombstoned).
|
|
334
|
+
*
|
|
335
|
+
* Returns the first existing candidate, or null when the bytes are gone.
|
|
336
|
+
* Read-only — verification happens in {@link backfillBlobStoreBytes}.
|
|
337
|
+
*
|
|
338
|
+
* @param cleoDir - Absolute `.cleo` directory.
|
|
339
|
+
* @param sha256 - Recorded content hash.
|
|
340
|
+
* @param mime - Recorded mime (picks the primary path's extension).
|
|
341
|
+
* @returns The first existing candidate path, or null.
|
|
342
|
+
* @internal
|
|
343
|
+
*/
|
|
344
|
+
export function resolveLegacyByteSource(cleoDir, sha256, mime) {
|
|
345
|
+
const primary = blobFilePath(cleoDir, sha256, mime);
|
|
346
|
+
if (existsSync(primary))
|
|
347
|
+
return primary;
|
|
348
|
+
try {
|
|
349
|
+
for (const name of readdirSync(join(cleoDir, 'attachments', 'sha256', sha256.slice(0, 2)))) {
|
|
350
|
+
const stem = name.includes('.') ? name.slice(0, name.lastIndexOf('.')) : name;
|
|
351
|
+
if (stem === sha256.slice(2))
|
|
352
|
+
return join(cleoDir, 'attachments', 'sha256', sha256.slice(0, 2), name);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
catch {
|
|
356
|
+
/* prefix dir unreadable — fall through to the keep-link */
|
|
357
|
+
}
|
|
358
|
+
const keep = join(cleoDir, 'attachments', 'keep', sha256.slice(0, 2), sha256.slice(2));
|
|
359
|
+
if (existsSync(keep) && !existsSync(`${keep}.tomb`))
|
|
360
|
+
return keep;
|
|
361
|
+
return null;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Mirror one sha's legacy bytes into the blob store (`.cleo/blobs/blobs/<sha>`).
|
|
365
|
+
*
|
|
366
|
+
* Hash-verified: the source bytes are SHA-256-hashed before any write and
|
|
367
|
+
* must equal the recorded sha256. Crash-safe (T13654): bytes are written to
|
|
368
|
+
* a tmp file and renamed into place — an interrupted write never leaves a
|
|
369
|
+
* truncated file at the final content address (which later runs would count
|
|
370
|
+
* as present and `blobReadBySha` would then reject as corrupt with no heal
|
|
371
|
+
* path). An existing target is RE-HASHED rather than assumed good: when its
|
|
372
|
+
* bytes mismatch the recorded hash (truncation/corruption), it is replaced
|
|
373
|
+
* from the verified source; a matching target is left untouched.
|
|
374
|
+
*
|
|
375
|
+
* @internal
|
|
376
|
+
*/
|
|
377
|
+
export async function backfillBlobStoreBytes(cleoDir, sha256, sourcePath) {
|
|
378
|
+
const target = join(cleoDir, 'blobs', 'blobs', sha256);
|
|
379
|
+
let bytes;
|
|
380
|
+
try {
|
|
381
|
+
bytes = await readFile(sourcePath);
|
|
382
|
+
}
|
|
383
|
+
catch {
|
|
384
|
+
return 'unreadable';
|
|
385
|
+
}
|
|
386
|
+
const actual = createHash('sha256').update(bytes).digest('hex');
|
|
387
|
+
if (actual !== sha256)
|
|
388
|
+
return 'unverified';
|
|
389
|
+
if (fileBytesMatchSha256(target, sha256))
|
|
390
|
+
return 'present';
|
|
391
|
+
// Crash-safe via the shared atomic writer (T13657): a unique tmp file
|
|
392
|
+
// renamed into place — an interrupted write never leaves a truncated blob
|
|
393
|
+
// at the final content address (which later runs would count as present
|
|
394
|
+
// and `blobReadBySha` would then reject as corrupt with no heal path).
|
|
395
|
+
// Lazy: blob-keep loads on CLI paths that never write a blob (gate 39).
|
|
396
|
+
const { writeFileAtomic } = await import('../tools/fs.js');
|
|
397
|
+
await writeFileAtomic({ path: target, content: bytes });
|
|
398
|
+
return 'written';
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Self-heal one blob-store miss from hash-verified legacy bytes (T13705).
|
|
402
|
+
*
|
|
403
|
+
* Docs written before the blob store held every body keep their bytes only in
|
|
404
|
+
* the legacy attachment tree, which the read paths no longer consult (#2210).
|
|
405
|
+
* When those bytes exist and hash to the recorded sha, they are mirrored into
|
|
406
|
+
* the blob store exactly as `cleo docs doctor --repair` would ({@link
|
|
407
|
+
* backfillBlobStoreBytes}: atomic write, only ever adds an absent content-addressed
|
|
408
|
+
* file), so the first read heals the doc. Missing or mismatched bytes write
|
|
409
|
+
* nothing.
|
|
410
|
+
*
|
|
411
|
+
* The read never fails on the write (T13706): on a read-only `.cleo`, a
|
|
412
|
+
* sandbox or a full disk the verified bytes are still returned, a warning is
|
|
413
|
+
* emitted, and the blob-store file is left for `cleo docs doctor --repair`.
|
|
414
|
+
*
|
|
415
|
+
* @param cleoDir - Absolute `.cleo` directory the blob store lives under.
|
|
416
|
+
* @param sha256 - The content hash the doc row records.
|
|
417
|
+
* @returns The hash-verified bytes, or null when no legacy bytes verify.
|
|
418
|
+
* @task T13705
|
|
419
|
+
*/
|
|
420
|
+
export async function healBlobFromLegacy(cleoDir, sha256) {
|
|
421
|
+
const source = resolveLegacyByteSource(cleoDir, sha256, 'application/octet-stream');
|
|
422
|
+
if (source === null)
|
|
423
|
+
return null;
|
|
424
|
+
let bytes;
|
|
425
|
+
try {
|
|
426
|
+
bytes = await readFile(source);
|
|
427
|
+
}
|
|
428
|
+
catch {
|
|
429
|
+
return null;
|
|
430
|
+
}
|
|
431
|
+
if (createHash('sha256').update(bytes).digest('hex') !== sha256)
|
|
432
|
+
return null;
|
|
433
|
+
try {
|
|
434
|
+
await backfillBlobStoreBytes(cleoDir, sha256, source);
|
|
435
|
+
}
|
|
436
|
+
catch (err) {
|
|
437
|
+
process.emitWarning(`blob store not healed for sha256 ${sha256.slice(0, 12)}… (${err instanceof Error ? err.message : String(err)}); ` +
|
|
438
|
+
'served the verified legacy bytes — run `cleo docs doctor --repair` once the store is writable');
|
|
439
|
+
}
|
|
440
|
+
return new Uint8Array(bytes);
|
|
441
|
+
}
|
|
303
442
|
//# sourceMappingURL=blob-keep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-keep.js","sourceRoot":"","sources":["../../src/store/blob-keep.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"blob-keep.js","sourceRoot":"","sources":["../../src/store/blob-keep.ts"],"names":[],"mappings":"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"}
|
package/dist/store/blob-ops.d.ts
CHANGED
|
@@ -71,6 +71,30 @@ export interface BlobListEntry {
|
|
|
71
71
|
* @epic T947
|
|
72
72
|
*/
|
|
73
73
|
export declare function blobRead(taskId: string, name: string, projectRoot?: string): Promise<Uint8Array | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Read raw bytes for a blob directly from its content-addressed store path,
|
|
76
|
+
* without resolving an (owner, name) manifest pair first.
|
|
77
|
+
*
|
|
78
|
+
* The llmtxt BlobFsAdapter stores bytes at
|
|
79
|
+
* `<projectRoot>/.cleo/blobs/blobs/<sha256-hex>`, so a sha256 alone is a
|
|
80
|
+
* complete address. Used by the docs read/publish paths after the legacy
|
|
81
|
+
* attachment byte tree was retired (T13362): the doc registry still resolves
|
|
82
|
+
* metadata (slug, owner refs), but content always comes from the blob store.
|
|
83
|
+
*
|
|
84
|
+
* Hash-verifies the bytes against the address (a mismatch means corruption
|
|
85
|
+
* or a wrong guess) and returns `null` when the file is absent — mirrors
|
|
86
|
+
* {@link blobRead}'s null-not-throws contract. An absent file is first healed
|
|
87
|
+
* from hash-verified legacy bytes when they exist (T13705), so docs written
|
|
88
|
+
* before the blob store held every body read without a manual repair.
|
|
89
|
+
*
|
|
90
|
+
* @param sha256 - Lowercase hex SHA-256 of the content.
|
|
91
|
+
* @param projectRoot - Absolute project root. Defaults to `getProjectRoot()`.
|
|
92
|
+
* @returns Raw bytes, or `null` when the blob is not in the store.
|
|
93
|
+
* @throws {Error} when on-disk bytes fail SHA-256 verification.
|
|
94
|
+
*
|
|
95
|
+
* @task T13362
|
|
96
|
+
*/
|
|
97
|
+
export declare function blobReadBySha(sha256: string, projectRoot?: string): Promise<Uint8Array | null>;
|
|
74
98
|
/**
|
|
75
99
|
* List active (non-detached) attachment manifests for a task.
|
|
76
100
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-ops.d.ts","sourceRoot":"","sources":["../../src/store/blob-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAW5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAkB7F"}
|
|
1
|
+
{"version":3,"file":"blob-ops.d.ts","sourceRoot":"","sources":["../../src/store/blob-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAW5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAuB5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAkB7F"}
|
package/dist/store/blob-ops.js
CHANGED
|
@@ -69,6 +69,53 @@ export async function blobRead(taskId, name, projectRoot) {
|
|
|
69
69
|
await store.close();
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Read raw bytes for a blob directly from its content-addressed store path,
|
|
74
|
+
* without resolving an (owner, name) manifest pair first.
|
|
75
|
+
*
|
|
76
|
+
* The llmtxt BlobFsAdapter stores bytes at
|
|
77
|
+
* `<projectRoot>/.cleo/blobs/blobs/<sha256-hex>`, so a sha256 alone is a
|
|
78
|
+
* complete address. Used by the docs read/publish paths after the legacy
|
|
79
|
+
* attachment byte tree was retired (T13362): the doc registry still resolves
|
|
80
|
+
* metadata (slug, owner refs), but content always comes from the blob store.
|
|
81
|
+
*
|
|
82
|
+
* Hash-verifies the bytes against the address (a mismatch means corruption
|
|
83
|
+
* or a wrong guess) and returns `null` when the file is absent — mirrors
|
|
84
|
+
* {@link blobRead}'s null-not-throws contract. An absent file is first healed
|
|
85
|
+
* from hash-verified legacy bytes when they exist (T13705), so docs written
|
|
86
|
+
* before the blob store held every body read without a manual repair.
|
|
87
|
+
*
|
|
88
|
+
* @param sha256 - Lowercase hex SHA-256 of the content.
|
|
89
|
+
* @param projectRoot - Absolute project root. Defaults to `getProjectRoot()`.
|
|
90
|
+
* @returns Raw bytes, or `null` when the blob is not in the store.
|
|
91
|
+
* @throws {Error} when on-disk bytes fail SHA-256 verification.
|
|
92
|
+
*
|
|
93
|
+
* @task T13362
|
|
94
|
+
*/
|
|
95
|
+
export async function blobReadBySha(sha256, projectRoot) {
|
|
96
|
+
const root = projectRoot ?? getProjectRoot();
|
|
97
|
+
const { createHash } = await import('node:crypto');
|
|
98
|
+
const { readFile } = await import('node:fs/promises');
|
|
99
|
+
const { join } = await import('node:path');
|
|
100
|
+
const file = join(root, '.cleo', 'blobs', 'blobs', sha256.toLowerCase());
|
|
101
|
+
let bytes;
|
|
102
|
+
try {
|
|
103
|
+
bytes = new Uint8Array(await readFile(file));
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
// T13705: a doc whose bytes predate the blob store heals on first read
|
|
107
|
+
// from hash-verified legacy bytes; otherwise the miss stands.
|
|
108
|
+
// The heal never throws on its write (T13706): verified bytes are served.
|
|
109
|
+
const { healBlobFromLegacy } = await import('./blob-keep.js');
|
|
110
|
+
return healBlobFromLegacy(join(root, '.cleo'), sha256.toLowerCase());
|
|
111
|
+
}
|
|
112
|
+
const actual = createHash('sha256').update(bytes).digest('hex');
|
|
113
|
+
if (actual !== sha256.toLowerCase()) {
|
|
114
|
+
// @sync-invariant none:local-only a corrupt local blob file is a read-side integrity refusal; no synced row is written or mutated
|
|
115
|
+
throw new Error(`blobReadBySha: corrupt blob at ${file}: expected sha256=${sha256}`);
|
|
116
|
+
}
|
|
117
|
+
return bytes;
|
|
118
|
+
}
|
|
72
119
|
/**
|
|
73
120
|
* List active (non-detached) attachment manifests for a task.
|
|
74
121
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-ops.js","sourceRoot":"","sources":["../../src/store/blob-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAuBzD,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAc,EACd,IAAY,EACZ,WAAoB;IAEpB,MAAM,IAAI,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC1D,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,WAAoB;IACjE,MAAM,IAAI,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,GAAG,EAAiB,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,SAAS,EAAE,GAAG,CAAC,IAAI;YACnB,QAAQ,EAAE,GAAG,CAAC,WAAW,KAAK,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW;YACtF,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"blob-ops.js","sourceRoot":"","sources":["../../src/store/blob-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAuBzD,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAc,EACd,IAAY,EACZ,WAAoB;IAEpB,MAAM,IAAI,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC1D,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,WAAoB;IAEpB,MAAM,IAAI,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;IAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACtD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,IAAI,KAAiB,CAAC;IACtB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,8DAA8D;QAC9D,0EAA0E;QAC1E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC9D,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QACpC,kIAAkI;QAClI,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,qBAAqB,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,WAAoB;IACjE,MAAM,IAAI,GAAG,WAAW,IAAI,cAAc,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,GAAG,EAAiB,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,SAAS,EAAE,GAAG,CAAC,IAAI;YACnB,QAAQ,EAAE,GAAG,CAAC,WAAW,KAAK,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW;YACtF,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;AACH,CAAC"}
|