create-principles-disciple 1.100.0 → 1.102.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/console/dist/server/index.js +9 -0
- package/console/dist/server/models/ActivationsConsoleModel.d.ts +37 -1
- package/console/dist/server/models/ActivationsConsoleModel.js +114 -13
- package/console/dist/server/routes/onboarding.d.ts +34 -0
- package/console/dist/server/routes/onboarding.js +324 -0
- package/console/dist/ui/App.js +74 -15
- package/console/dist/ui/api.d.ts +17 -1
- package/console/dist/ui/api.js +6 -1
- package/console/dist/ui/components/onboarding/CircuitDiagram.d.ts +8 -0
- package/console/dist/ui/components/onboarding/CircuitDiagram.js +18 -0
- package/console/dist/ui/components/onboarding/DemoResultView.d.ts +22 -0
- package/console/dist/ui/components/onboarding/DemoResultView.js +15 -0
- package/console/dist/ui/i18n/en.json +127 -0
- package/console/dist/ui/i18n/zh-CN.json +127 -0
- package/console/dist/ui/pages/activation/ActivationValidators.js +1 -1
- package/console/dist/ui/pages/control-center/AgentCard.js +10 -3
- package/console/dist/ui/pages/control-center/ControlCenterPage.js +1 -1
- package/console/dist/ui/pages/settings/SettingsPage.js +64 -5
- package/console/dist/ui/pages/signal-keywords/KeywordEditDialog.d.ts +12 -0
- package/console/dist/ui/pages/signal-keywords/KeywordEditDialog.js +41 -0
- package/console/dist/ui/pages/signal-keywords/KeywordListSection.d.ts +10 -0
- package/console/dist/ui/pages/signal-keywords/KeywordListSection.js +39 -0
- package/console/dist/ui/pages/signal-keywords/PendingTermsSection.d.ts +14 -0
- package/console/dist/ui/pages/signal-keywords/PendingTermsSection.js +35 -0
- package/console/dist/ui/pages/signal-keywords/SignalKeywordsPage.d.ts +1 -0
- package/console/dist/ui/pages/signal-keywords/SignalKeywordsPage.js +49 -0
- package/console/dist/ui/pages/welcome/WelcomePage.d.ts +5 -0
- package/console/dist/ui/pages/welcome/WelcomePage.js +185 -0
- package/console/dist/ui/utils/__tests__/onboarding-state.test.d.ts +1 -0
- package/console/dist/ui/utils/__tests__/onboarding-state.test.js +72 -0
- package/console/dist/ui/utils/agent-metadata.d.ts +13 -0
- package/console/dist/ui/utils/agent-metadata.js +26 -0
- package/console/dist/ui/utils/onboarding-state.d.ts +25 -0
- package/console/dist/ui/utils/onboarding-state.js +77 -0
- package/console/dist/ui/utils/signal-keywords-api.d.ts +68 -0
- package/console/dist/ui/utils/signal-keywords-api.js +121 -0
- package/console/dist/ui/utils/signal-keywords-types.d.ts +57 -0
- package/console/dist/ui/utils/signal-keywords-types.js +10 -0
- package/console/dist/ui/utils/signal-keywords-validators.d.ts +20 -0
- package/console/dist/ui/utils/signal-keywords-validators.js +114 -0
- package/console/dist/web/assets/app.css +401 -0
- package/console/dist/web/assets/app.js +6904 -1835
- package/core/dist/index.d.ts +2 -0
- package/core/dist/index.d.ts.map +1 -1
- package/core/dist/index.js +1 -0
- package/core/dist/index.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/admission-gate.test.js +63 -1
- package/core/dist/runtime-v2/__tests__/admission-gate.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +21 -5
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/chain-integrity-attack.test.js +17 -0
- package/core/dist/runtime-v2/__tests__/chain-integrity-attack.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js +12 -0
- package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +28 -0
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js +168 -1
- package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +8 -0
- package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +53 -0
- package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/helpers.d.ts +21 -0
- package/core/dist/runtime-v2/activation/__tests__/helpers.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/helpers.js +132 -0
- package/core/dist/runtime-v2/activation/__tests__/helpers.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +2 -117
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/activation-dispatcher.js +18 -2
- package/core/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
- package/core/dist/runtime-v2/activation/index.d.ts +1 -1
- package/core/dist/runtime-v2/activation/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/index.js +1 -1
- package/core/dist/runtime-v2/activation/index.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +253 -6
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts +12 -0
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js +96 -2
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
- package/core/dist/runtime-v2/admission-gate.d.ts +27 -0
- package/core/dist/runtime-v2/admission-gate.d.ts.map +1 -1
- package/core/dist/runtime-v2/admission-gate.js +55 -0
- package/core/dist/runtime-v2/admission-gate.js.map +1 -1
- package/core/dist/runtime-v2/cli/diagnose.d.ts +4 -0
- package/core/dist/runtime-v2/cli/diagnose.d.ts.map +1 -1
- package/core/dist/runtime-v2/cli/diagnose.js +25 -0
- package/core/dist/runtime-v2/cli/diagnose.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/internal-agent-names.test.d.ts +2 -0
- package/core/dist/runtime-v2/config/__tests__/internal-agent-names.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/internal-agent-names.test.js +15 -0
- package/core/dist/runtime-v2/config/__tests__/internal-agent-names.test.js.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +7 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +28 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
- package/core/dist/runtime-v2/config/index.d.ts +5 -3
- package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/index.js +8 -2
- package/core/dist/runtime-v2/config/index.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-defaults.d.ts +2 -1
- package/core/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-defaults.js +12 -0
- package/core/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.js +25 -1
- package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js +6 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-redaction.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-redaction.js +9 -0
- package/core/dist/runtime-v2/config/pd-config-redaction.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.d.ts +110 -1
- package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.js +7 -0
- package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.js +114 -1
- package/core/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-profile-constants.d.ts +27 -0
- package/core/dist/runtime-v2/config/pd-profile-constants.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/pd-profile-constants.js +145 -0
- package/core/dist/runtime-v2/config/pd-profile-constants.js.map +1 -0
- package/core/dist/runtime-v2/config/pd-validate-profile.d.ts +28 -0
- package/core/dist/runtime-v2/config/pd-validate-profile.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/pd-validate-profile.js +482 -0
- package/core/dist/runtime-v2/config/pd-validate-profile.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +26 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js +12 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +8 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js +8 -2
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +6 -4
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +5 -3
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +25 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js +139 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +20 -1
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +7 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js +21 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.js +23 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-output.d.ts +7 -0
- package/core/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-output.js +22 -1
- package/core/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +2 -0
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.js +13 -0
- package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.js +4 -1
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js +7 -1
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.js +4 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.js +7 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/index.d.ts +1 -1
- package/core/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/index.js +1 -1
- package/core/dist/runtime-v2/internalization/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-task-guards.d.ts +7 -0
- package/core/dist/runtime-v2/internalization/internalization-task-guards.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-task-guards.js +8 -0
- package/core/dist/runtime-v2/internalization/internalization-task-guards.js.map +1 -1
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js +57 -1
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js.map +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.js +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnose.test.js +91 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnose.test.js.map +1 -1
- package/core/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.d.ts +2 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.js +39 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/keyword-stage.test.js.map +1 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.d.ts +2 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.js +34 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/llm-stage.test.js.map +1 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.d.ts +2 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.js +222 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/signal-collector.test.js.map +1 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/types.test.d.ts +2 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/types.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/types.test.js +35 -0
- package/core/dist/runtime-v2/signal-collector/__tests__/types.test.js.map +1 -0
- package/core/dist/runtime-v2/signal-collector/index.d.ts +5 -0
- package/core/dist/runtime-v2/signal-collector/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/signal-collector/index.js +5 -0
- package/core/dist/runtime-v2/signal-collector/index.js.map +1 -0
- package/core/dist/runtime-v2/signal-collector/keyword-stage.d.ts +20 -0
- package/core/dist/runtime-v2/signal-collector/keyword-stage.d.ts.map +1 -0
- package/core/dist/runtime-v2/signal-collector/keyword-stage.js +61 -0
- package/core/dist/runtime-v2/signal-collector/keyword-stage.js.map +1 -0
- package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts +16 -0
- package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts.map +1 -0
- package/core/dist/runtime-v2/signal-collector/llm-stage.js +34 -0
- package/core/dist/runtime-v2/signal-collector/llm-stage.js.map +1 -0
- package/core/dist/runtime-v2/signal-collector/signal-collector.d.ts +16 -0
- package/core/dist/runtime-v2/signal-collector/signal-collector.d.ts.map +1 -0
- package/core/dist/runtime-v2/signal-collector/signal-collector.js +71 -0
- package/core/dist/runtime-v2/signal-collector/signal-collector.js.map +1 -0
- package/core/dist/runtime-v2/signal-collector/types.d.ts +61 -0
- package/core/dist/runtime-v2/signal-collector/types.d.ts.map +1 -0
- package/core/dist/runtime-v2/signal-collector/types.js +45 -0
- package/core/dist/runtime-v2/signal-collector/types.js.map +1 -0
- package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js +19 -0
- package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js.map +1 -1
- package/core/dist/runtime-v2/store/schema-conformance.test.js +73 -0
- package/core/dist/runtime-v2/store/schema-conformance.test.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +41 -7
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js +22 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/core/dist/runtime-v2/types/event-types.d.ts +40 -3
- package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-types.js +9 -0
- package/core/dist/runtime-v2/types/event-types.js.map +1 -1
- package/core/dist/runtime-v2/types/index.d.ts +2 -2
- package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/index.js +1 -1
- package/core/dist/runtime-v2/types/index.js.map +1 -1
- package/core/dist/workflow-funnel-loader.js +1 -1
- package/core/dist/workflow-funnel-loader.js.map +1 -1
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +6 -0
- package/dist/i18n.js.map +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/installer.d.ts +3 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +167 -1
- package/dist/installer.js.map +1 -1
- package/dist/mvp-config.d.ts +8 -0
- package/dist/mvp-config.d.ts.map +1 -1
- package/dist/mvp-config.js +12 -2
- package/dist/mvp-config.js.map +1 -1
- package/package.json +1 -1
- package/pd-cli/dist/commands/candidate.d.ts.map +1 -1
- package/pd-cli/dist/commands/candidate.js +89 -7
- package/pd-cli/dist/commands/candidate.js.map +1 -1
- package/pd-cli/dist/commands/pain-retry.d.ts +3 -0
- package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -1
- package/pd-cli/dist/commands/pain-retry.js +39 -14
- package/pd-cli/dist/commands/pain-retry.js.map +1 -1
- package/pd-cli/dist/commands/runtime-activation.d.ts +4 -0
- package/pd-cli/dist/commands/runtime-activation.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-activation.js +244 -10
- package/pd-cli/dist/commands/runtime-activation.js.map +1 -1
- package/pd-cli/dist/index.js +7 -84
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
- package/pd-cli/package.json +1 -1
- package/plugin/dist/commands/context.js +17 -11
- package/plugin/dist/commands/samples.js +25 -0
- package/plugin/dist/core/event-log.d.ts +11 -1
- package/plugin/dist/core/event-log.js +13 -0
- package/plugin/dist/core/init.js +3 -4
- package/plugin/dist/core/rule-host.d.ts +68 -0
- package/plugin/dist/core/rule-host.js +167 -28
- package/plugin/dist/core/signal-collector-host.d.ts +105 -0
- package/plugin/dist/core/signal-collector-host.js +337 -0
- package/plugin/dist/hooks/prompt.d.ts +3 -2
- package/plugin/dist/hooks/prompt.js +47 -571
- package/plugin/dist/types/event-types.d.ts +1 -1
- package/plugin/dist/types.d.ts +5 -25
- package/plugin/dist/types.js +4 -9
- package/plugin/dist/utils/hashing.js +1 -1
|
@@ -128,21 +128,29 @@ describe('RuleHostWriter', () => {
|
|
|
128
128
|
expect(result.ok).toBe(false);
|
|
129
129
|
expect(result.reason).toContain('gate_decision_not_accepted_shadow');
|
|
130
130
|
});
|
|
131
|
-
|
|
131
|
+
// PRI-489: Owner approval creates a SHADOW activation first. The only
|
|
132
|
+
// shadow -> live transition is `pd activation promote --activation-id ...
|
|
133
|
+
// --confirm` (SqliteActivationStateStore.promoteActivation). Live blocking
|
|
134
|
+
// must never happen immediately after approval — that was the seed-MVP
|
|
135
|
+
// release blocker this test now guards against.
|
|
136
|
+
it('returns shadow activation action after owner approval (shadow-first)', async () => {
|
|
132
137
|
const { RuleHostWriter } = await importWriter();
|
|
133
138
|
const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
|
|
134
139
|
const artifact = makeRuleArtifact();
|
|
135
140
|
const result = await writer.activate(makeWriterInput(), artifact);
|
|
136
|
-
expect(result.action).toBe('
|
|
141
|
+
expect(result.action).toBe('code_tool_hook_shadow_activate');
|
|
137
142
|
expect(result.targetRef).toContain('R_001');
|
|
138
143
|
});
|
|
139
|
-
it('never returns
|
|
144
|
+
it('never returns live activation action directly after owner approval', async () => {
|
|
140
145
|
const { RuleHostWriter } = await importWriter();
|
|
141
146
|
const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
|
|
142
147
|
const artifact = makeRuleArtifact();
|
|
143
148
|
const result = await writer.activate(makeWriterInput(), artifact);
|
|
144
|
-
|
|
145
|
-
|
|
149
|
+
// Shadow-first: live must only appear after an explicit promote, never
|
|
150
|
+
// straight from the writer. This assertion uniquely identifies the
|
|
151
|
+
// shadow-first contract (ERR-088: assert the specific action value).
|
|
152
|
+
expect(result.action).not.toContain('live');
|
|
153
|
+
expect(result.action).toContain('shadow');
|
|
146
154
|
});
|
|
147
155
|
it('returns correct activationId format', async () => {
|
|
148
156
|
const { RuleHostWriter } = await importWriter();
|
|
@@ -387,7 +395,11 @@ describe('RuleHostWriter.canActivate — PRI-484 rulecode_context_v2 gating', ()
|
|
|
387
395
|
const { RuleHostWriter } = await import('../rule-host-writer.js');
|
|
388
396
|
return { RuleHostWriter };
|
|
389
397
|
}
|
|
390
|
-
/** Build a v2-declaring artifact (requiresContextVersion: 2 in contentJson).
|
|
398
|
+
/** Build a v2-declaring artifact (requiresContextVersion: 2 in contentJson).
|
|
399
|
+
* PRI-490: v2 artifacts MUST carry evidenceRefs (preserved verbatim from
|
|
400
|
+
* BehaviorExamplePack) — the fixture includes a valid evidenceRefs array
|
|
401
|
+
* so the existing "accepts v2 when flag ON" test continues to pass once
|
|
402
|
+
* the v2 evidenceRefs requirement is enforced by validateV2SeedRuleContent. */
|
|
391
403
|
function makeV2Artifact() {
|
|
392
404
|
const goldenTrace = makeGoldenTrace();
|
|
393
405
|
return {
|
|
@@ -404,6 +416,7 @@ describe('RuleHostWriter.canActivate — PRI-484 rulecode_context_v2 gating', ()
|
|
|
404
416
|
ruleHostGateDecision: 'accepted_shadow',
|
|
405
417
|
affectedTools: ['read_file'],
|
|
406
418
|
requiresContextVersion: 2,
|
|
419
|
+
evidenceRefs: ['pain:1', 'tool_call:abc'],
|
|
407
420
|
}),
|
|
408
421
|
createdAt: '2026-06-27T00:00:00.000Z',
|
|
409
422
|
updatedAt: '2026-06-27T00:00:00.000Z',
|
|
@@ -484,6 +497,204 @@ describe('RuleHostWriter.canActivate — PRI-484 rulecode_context_v2 gating', ()
|
|
|
484
497
|
});
|
|
485
498
|
});
|
|
486
499
|
});
|
|
500
|
+
describe('RuleHostWriter.canActivate — PRI-490 v2 seed rule allow/block-only + evidenceRefs', () => {
|
|
501
|
+
async function importWriter() {
|
|
502
|
+
const { RuleHostWriter } = await import('../rule-host-writer.js');
|
|
503
|
+
return { RuleHostWriter };
|
|
504
|
+
}
|
|
505
|
+
/** Build a v2 artifact with full overrides applied to its contentJson. */
|
|
506
|
+
function makeV2ArtifactWithContent(contentOverrides = {}) {
|
|
507
|
+
const goldenTrace = makeGoldenTrace();
|
|
508
|
+
const baseContent = {
|
|
509
|
+
implementationCode: 'function evaluate(input, helpers) { return { decision: "allow", matched: false, reason: "v2 rule" }; }',
|
|
510
|
+
goldenTrace,
|
|
511
|
+
ruleHostGateDecision: 'accepted_shadow',
|
|
512
|
+
affectedTools: ['read_file'],
|
|
513
|
+
requiresContextVersion: 2,
|
|
514
|
+
evidenceRefs: ['pain:1', 'tool_call:abc'],
|
|
515
|
+
...contentOverrides,
|
|
516
|
+
};
|
|
517
|
+
return {
|
|
518
|
+
artifactId: 'art-rule-v2-pri490',
|
|
519
|
+
artifactKind: 'rule',
|
|
520
|
+
sourceTaskId: 'task-v2-pri490',
|
|
521
|
+
sourcePrincipleId: 'P_v2_490',
|
|
522
|
+
sourceRuleId: 'R_v2_490',
|
|
523
|
+
lineageArtifactIds: [],
|
|
524
|
+
validationStatus: 'validated',
|
|
525
|
+
contentJson: JSON.stringify(baseContent),
|
|
526
|
+
createdAt: '2026-06-30T00:00:00.000Z',
|
|
527
|
+
updatedAt: '2026-06-30T00:00:00.000Z',
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
it('rejects v2 artifact with propose_correction in goldenTraceCases (PRI-490)', async () => {
|
|
531
|
+
const { RuleHostWriter } = await importWriter();
|
|
532
|
+
const writer = new RuleHostWriter({
|
|
533
|
+
gateDeps: makeGateDeps(),
|
|
534
|
+
featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
|
|
535
|
+
});
|
|
536
|
+
// Build a v2 artifact whose negative case expects propose_correction.
|
|
537
|
+
// This is structurally valid (goldenTrace validator accepts it for v1)
|
|
538
|
+
// but forbidden for v2 seed rules per PRI-490.
|
|
539
|
+
const badTrace = {
|
|
540
|
+
...makeGoldenTrace(),
|
|
541
|
+
cases: [
|
|
542
|
+
{
|
|
543
|
+
caseId: 'case-propose',
|
|
544
|
+
kind: 'negative',
|
|
545
|
+
toolName: 'write_file',
|
|
546
|
+
params: { path: '/etc/passwd' },
|
|
547
|
+
expectedDecision: 'propose_correction',
|
|
548
|
+
expectedProposedParams: { path: '/safe/path' },
|
|
549
|
+
expectedApplicationMode: 'shadow',
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
caseId: 'case-allow',
|
|
553
|
+
kind: 'positive',
|
|
554
|
+
toolName: 'write_file',
|
|
555
|
+
params: { path: '/project/src/safe.ts' },
|
|
556
|
+
expectedDecision: 'allow',
|
|
557
|
+
},
|
|
558
|
+
],
|
|
559
|
+
};
|
|
560
|
+
const artifact = makeV2ArtifactWithContent({ goldenTrace: badTrace });
|
|
561
|
+
const result = await writer.canActivate(artifact);
|
|
562
|
+
expect(result.ok).toBe(false);
|
|
563
|
+
// PRI-490: rejection reason must surface the forbidden decision so the
|
|
564
|
+
// owner knows exactly what to fix (ERR-088: assert the specific reason,
|
|
565
|
+
// not just `result.ok === false`).
|
|
566
|
+
expect(result.reason).toContain('v2_seed_rule_forbidden_decision');
|
|
567
|
+
expect(result.reason).toContain('propose_correction');
|
|
568
|
+
});
|
|
569
|
+
it('rejects v2 artifact missing evidenceRefs (PRI-490)', async () => {
|
|
570
|
+
const { RuleHostWriter } = await importWriter();
|
|
571
|
+
const writer = new RuleHostWriter({
|
|
572
|
+
gateDeps: makeGateDeps(),
|
|
573
|
+
featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
|
|
574
|
+
});
|
|
575
|
+
// v2 artifact without evidenceRefs field — should be rejected.
|
|
576
|
+
const artifact = makeV2ArtifactWithContent({});
|
|
577
|
+
const parsed = JSON.parse(artifact.contentJson);
|
|
578
|
+
delete parsed.evidenceRefs;
|
|
579
|
+
artifact.contentJson = JSON.stringify(parsed);
|
|
580
|
+
const result = await writer.canActivate(artifact);
|
|
581
|
+
expect(result.ok).toBe(false);
|
|
582
|
+
expect(result.reason).toContain('v2_seed_rule_missing_evidence_refs');
|
|
583
|
+
});
|
|
584
|
+
it('rejects v2 artifact with empty evidenceRefs array (PRI-490)', async () => {
|
|
585
|
+
const { RuleHostWriter } = await importWriter();
|
|
586
|
+
const writer = new RuleHostWriter({
|
|
587
|
+
gateDeps: makeGateDeps(),
|
|
588
|
+
featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
|
|
589
|
+
});
|
|
590
|
+
const artifact = makeV2ArtifactWithContent({ evidenceRefs: [] });
|
|
591
|
+
const result = await writer.canActivate(artifact);
|
|
592
|
+
expect(result.ok).toBe(false);
|
|
593
|
+
expect(result.reason).toContain('v2_seed_rule_invalid_evidence_refs');
|
|
594
|
+
});
|
|
595
|
+
it('rejects v2 artifact with non-string evidenceRefs entries (PRI-490)', async () => {
|
|
596
|
+
const { RuleHostWriter } = await importWriter();
|
|
597
|
+
const writer = new RuleHostWriter({
|
|
598
|
+
gateDeps: makeGateDeps(),
|
|
599
|
+
featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
|
|
600
|
+
});
|
|
601
|
+
const artifact = makeV2ArtifactWithContent({ evidenceRefs: ['pain:1', 42, null] });
|
|
602
|
+
const result = await writer.canActivate(artifact);
|
|
603
|
+
expect(result.ok).toBe(false);
|
|
604
|
+
expect(result.reason).toContain('v2_seed_rule_invalid_evidence_refs');
|
|
605
|
+
});
|
|
606
|
+
it('rejects v2 artifact with whitespace-only evidenceRefs entries (PRI-490)', async () => {
|
|
607
|
+
const { RuleHostWriter } = await importWriter();
|
|
608
|
+
const writer = new RuleHostWriter({
|
|
609
|
+
gateDeps: makeGateDeps(),
|
|
610
|
+
featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
|
|
611
|
+
});
|
|
612
|
+
const artifact = makeV2ArtifactWithContent({ evidenceRefs: ['pain:1', ' '] });
|
|
613
|
+
const result = await writer.canActivate(artifact);
|
|
614
|
+
expect(result.ok).toBe(false);
|
|
615
|
+
expect(result.reason).toContain('v2_seed_rule_invalid_evidence_refs');
|
|
616
|
+
});
|
|
617
|
+
it('does NOT invoke sandbox when rejecting v2 artifact with propose_correction (defense before sandbox)', async () => {
|
|
618
|
+
const { RuleHostWriter } = await importWriter();
|
|
619
|
+
const gateDeps = makeGateDeps();
|
|
620
|
+
const writer = new RuleHostWriter({
|
|
621
|
+
gateDeps,
|
|
622
|
+
featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
|
|
623
|
+
});
|
|
624
|
+
const badTrace = {
|
|
625
|
+
...makeGoldenTrace(),
|
|
626
|
+
cases: [
|
|
627
|
+
{
|
|
628
|
+
caseId: 'case-propose',
|
|
629
|
+
kind: 'negative',
|
|
630
|
+
toolName: 'write_file',
|
|
631
|
+
params: { path: '/etc/passwd' },
|
|
632
|
+
expectedDecision: 'propose_correction',
|
|
633
|
+
expectedProposedParams: { path: '/safe/path' },
|
|
634
|
+
expectedApplicationMode: 'shadow',
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
caseId: 'case-allow',
|
|
638
|
+
kind: 'positive',
|
|
639
|
+
toolName: 'write_file',
|
|
640
|
+
params: { path: '/safe' },
|
|
641
|
+
expectedDecision: 'allow',
|
|
642
|
+
},
|
|
643
|
+
],
|
|
644
|
+
};
|
|
645
|
+
const artifact = makeV2ArtifactWithContent({ goldenTrace: badTrace });
|
|
646
|
+
await writer.canActivate(artifact);
|
|
647
|
+
expect(gateDeps.evaluateInSandbox).not.toHaveBeenCalled();
|
|
648
|
+
});
|
|
649
|
+
it('accepts valid v2 artifact with allow/block-only + evidenceRefs (PRI-490 happy path)', async () => {
|
|
650
|
+
const { RuleHostWriter } = await importWriter();
|
|
651
|
+
const writer = new RuleHostWriter({
|
|
652
|
+
gateDeps: makeGateDeps(),
|
|
653
|
+
featureFlagProbe: (flagId) => flagId === 'rulecode_context_v2',
|
|
654
|
+
});
|
|
655
|
+
// makeV2ArtifactWithContent() defaults to a valid v2 artifact.
|
|
656
|
+
const result = await writer.canActivate(makeV2ArtifactWithContent());
|
|
657
|
+
expect(result.ok).toBe(true);
|
|
658
|
+
});
|
|
659
|
+
it('does not run v2 content checks on v1 artifacts (v1 behavior unchanged)', async () => {
|
|
660
|
+
const { RuleHostWriter } = await importWriter();
|
|
661
|
+
// No featureFlagProbe — v1 path must still pass.
|
|
662
|
+
const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
|
|
663
|
+
// v1 artifact with propose_correction is allowed (v1 contract unchanged).
|
|
664
|
+
const v1TraceWithPropose = {
|
|
665
|
+
...makeGoldenTrace(),
|
|
666
|
+
cases: [
|
|
667
|
+
{
|
|
668
|
+
caseId: 'case-propose-v1',
|
|
669
|
+
kind: 'negative',
|
|
670
|
+
toolName: 'write_file',
|
|
671
|
+
params: { path: '/etc/passwd' },
|
|
672
|
+
expectedDecision: 'propose_correction',
|
|
673
|
+
expectedProposedParams: { path: '/safe' },
|
|
674
|
+
expectedApplicationMode: 'shadow',
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
caseId: 'case-allow-v1',
|
|
678
|
+
kind: 'positive',
|
|
679
|
+
toolName: 'write_file',
|
|
680
|
+
params: { path: '/safe' },
|
|
681
|
+
expectedDecision: 'allow',
|
|
682
|
+
},
|
|
683
|
+
],
|
|
684
|
+
};
|
|
685
|
+
const artifact = makeRuleArtifact({
|
|
686
|
+
contentJson: JSON.stringify({
|
|
687
|
+
implementationCode: 'function evaluate() {}',
|
|
688
|
+
goldenTrace: v1TraceWithPropose,
|
|
689
|
+
ruleHostGateDecision: 'accepted_shadow',
|
|
690
|
+
affectedTools: ['read_file'],
|
|
691
|
+
// Note: no requiresContextVersion, no evidenceRefs — v1 path.
|
|
692
|
+
}),
|
|
693
|
+
});
|
|
694
|
+
const result = await writer.canActivate(artifact);
|
|
695
|
+
expect(result.ok).toBe(true);
|
|
696
|
+
});
|
|
697
|
+
});
|
|
487
698
|
describe('RuleHostWriter.buildApprovalContext', () => {
|
|
488
699
|
async function importWriter() {
|
|
489
700
|
const { RuleHostWriter } = await import('../rule-host-writer.js');
|
|
@@ -518,6 +729,42 @@ describe('RuleHostWriter.buildApprovalContext', () => {
|
|
|
518
729
|
expect(ctx.effectDescription).toContain('edit_file');
|
|
519
730
|
expect(ctx.effectDescription).toContain('bash');
|
|
520
731
|
});
|
|
732
|
+
// PRI-490 — evidence refs must be surfaced in approval context so the owner
|
|
733
|
+
// has provenance context during approval review. Surfaced only when the
|
|
734
|
+
// artifact carries a valid evidenceRefs array.
|
|
735
|
+
it('surfaces evidenceRefs in effectDescription when present (PRI-490)', async () => {
|
|
736
|
+
const { RuleHostWriter } = await importWriter();
|
|
737
|
+
const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
|
|
738
|
+
const artifact = makeRuleArtifact({
|
|
739
|
+
contentJson: JSON.stringify({
|
|
740
|
+
implementationCode: 'function evaluate() {}',
|
|
741
|
+
goldenTrace: makeGoldenTrace(),
|
|
742
|
+
ruleHostGateDecision: 'accepted_shadow',
|
|
743
|
+
affectedTools: ['edit_file'],
|
|
744
|
+
evidenceRefs: ['pain:42', 'tool_call:def'],
|
|
745
|
+
}),
|
|
746
|
+
});
|
|
747
|
+
const ctx = writer.buildApprovalContext(makeWriterInput(), artifact);
|
|
748
|
+
expect(ctx.effectDescription).toContain('pain:42');
|
|
749
|
+
expect(ctx.effectDescription).toContain('tool_call:def');
|
|
750
|
+
});
|
|
751
|
+
it('does not surface evidenceRefs clause when absent (PRI-490)', async () => {
|
|
752
|
+
const { RuleHostWriter } = await importWriter();
|
|
753
|
+
const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
|
|
754
|
+
const artifact = makeRuleArtifact({
|
|
755
|
+
contentJson: JSON.stringify({
|
|
756
|
+
implementationCode: 'function evaluate() {}',
|
|
757
|
+
goldenTrace: makeGoldenTrace(),
|
|
758
|
+
ruleHostGateDecision: 'accepted_shadow',
|
|
759
|
+
affectedTools: ['edit_file'],
|
|
760
|
+
// No evidenceRefs field — effectDescription must not surface an
|
|
761
|
+
// evidence clause.
|
|
762
|
+
}),
|
|
763
|
+
});
|
|
764
|
+
const ctx = writer.buildApprovalContext(makeWriterInput(), artifact);
|
|
765
|
+
expect(ctx.effectDescription).not.toContain('Evidence backing');
|
|
766
|
+
expect(ctx.effectDescription).toContain('edit_file');
|
|
767
|
+
});
|
|
521
768
|
it('has stable fallback for effectDescription when affectedTools is missing', async () => {
|
|
522
769
|
const { RuleHostWriter } = await importWriter();
|
|
523
770
|
const writer = new RuleHostWriter({ gateDeps: makeGateDeps() });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-host-writer.test.js","sourceRoot":"","sources":["../../../../../src/runtime-v2/activation/writers/__tests__/rule-host-writer.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rule-host-writer.test.js","sourceRoot":"","sources":["../../../../../src/runtime-v2/activation/writers/__tests__/rule-host-writer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAMlD,MAAM,yBAAyB,GAAyB;IACtD,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;IACnB,0BAA0B,EAAE,EAAE;CAC/B,CAAC;AAEF,SAAS,eAAe;IACtB,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,YAAY,EAAE,UAAU;QACxB,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAC/B,gBAAgB,EAAE,OAAO;aAC1B;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;gBACxC,gBAAgB,EAAE,OAAO;aAC1B;SACF;QACD,SAAS,EAAE,0BAA0B;QACrC,OAAO,EAAE,CAAC;KACX,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,YAAyC,EAAE;IACnE,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,UAAU;QACxB,iBAAiB,EAAE,OAAO;QAC1B,YAAY,EAAE,OAAO;QACrB,kBAAkB,EAAE,EAAE;QACtB,gBAAgB,EAAE,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;YAC1B,kBAAkB,EAAE,oGAAoG;YACxH,WAAW;YACX,oBAAoB,EAAE,iBAAiB;YACvC,aAAa,EAAE,CAAC,WAAW,CAAC;SAC7B,CAAC;QACF,SAAS,EAAE,0BAA0B;QACrC,SAAS,EAAE,0BAA0B;QACrC,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,YAAkC,EAAE;IAC3D,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,8BAA8B;QAC9C,GAAG,EAAE,0BAA0B;QAC/B,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,cAAmD;IACvE,MAAM,aAAa,GAA8B;QAC/C,QAAQ,EAAE,iBAAiB;QAC3B,eAAe,EAAE,QAAQ;QACzB,aAAa,EAAE,yBAAyB;QACxC,OAAO,EAAE,EAAE;QACX,GAAG,cAAc;KAClB,CAAC;IACF,OAAO;QACL,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,KAAK,UAAU,YAAY;QACzB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAClE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC5B,CAAC;IAED,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACzF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;aAC7C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,4BAA4B;aACnD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,0EAA0E;IAC1E,2EAA2E;IAC3E,uEAAuE;IACvE,gDAAgD;IAChD,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClE,uEAAuE;QACvE,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,EAAE,GAAG,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,UAAU;aACxB,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC;aACnD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;aACrC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe;aAC7B,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,oFAAoF;IACpF,wFAAwF;IACxF,oFAAoF;IACpF,kEAAkE;IAClE,wEAAwE;IACxE,wEAAwE;IACxE,2DAA2D;IAC3D,EAAE,CAAC,oGAAoG,EAAE,KAAK,IAAI,EAAE;QAClH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,0EAA0E;QAC1E,yEAAyE;QACzE,qDAAqD;QACrD,MAAM,QAAQ,GAAG;YACf,GAAG,eAAe,EAAE;YACpB,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;oBAC/B,6EAA6E;oBAC7E,wDAAwD;oBACxD,gBAAgB,EAAE,iBAAiB;iBACpC;gBACD;oBACE,MAAM,EAAE,gBAAgB;oBACxB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;oBACxC,gBAAgB,EAAE,OAAO;iBAC1B;aACF;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,gGAAgG;gBACpH,WAAW,EAAE,QAAQ;gBACrB,oBAAoB,EAAE,iBAAiB;aACxC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,2EAA2E;QAC3E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACzE,iFAAiF;QACjF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC;QACnG,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,EAAE;gBACtB,WAAW,EAAE,eAAe,EAAE;aAC/B,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,EAAE;aAClB,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;aAC7E,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;aAChD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;aAC1C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,gBAAgB,EAAE,SAAS;SAC5B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iEAAiE,EAAE,GAAG,EAAE;IAC/E,KAAK,UAAU,YAAY;QACzB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAClE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC5B,CAAC;IAED;;;;oFAIgF;IAChF,SAAS,cAAc;QACrB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,OAAO;YACL,UAAU,EAAE,iBAAiB;YAC7B,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,aAAa;YAC3B,iBAAiB,EAAE,MAAM;YACzB,YAAY,EAAE,MAAM;YACpB,kBAAkB,EAAE,EAAE;YACtB,gBAAgB,EAAE,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wGAAwG;gBAC5H,WAAW;gBACX,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,WAAW,CAAC;gBAC5B,sBAAsB,EAAE,CAAC;gBACzB,YAAY,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;aAC1C,CAAC;YACF,SAAS,EAAE,0BAA0B;YACrC,SAAS,EAAE,0BAA0B;SACtC,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,2EAA2E;QAC3E,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,QAAQ,EAAE,YAAY,EAAE;YACxB,gBAAgB,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK;SAC7C,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,QAAQ,EAAE,YAAY,EAAE;YACxB,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,qBAAqB;SACvE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;YAClC,QAAQ,EAAE,YAAY,EAAE;YACxB,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI;SAC7B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;QAChC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE;QAChC,EAAE,KAAK,EAAE,oCAAoC,EAAE,KAAK,EAAE,GAAG,EAAE;QAC3D,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;QAC9B,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;KACvC,CAAC,CAAC,yDAAyD,EAAE,KAAK,EAAE,EAAE,KAAK,EAAqC,EAAE,EAAE;QACnH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,iGAAiG;gBACrH,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,WAAW,CAAC;gBAC5B,sBAAsB,EAAE,KAAK;aAC9B,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,6BAA6B;YACrC,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mFAAmF,EAAE,GAAG,EAAE;IACjG,KAAK,UAAU,YAAY;QACzB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAClE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC5B,CAAC;IAED,0EAA0E;IAC1E,SAAS,yBAAyB,CAAC,mBAA4C,EAAE;QAC/E,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,MAAM,WAAW,GAA4B;YAC3C,kBAAkB,EAAE,wGAAwG;YAC5H,WAAW;YACX,oBAAoB,EAAE,iBAAiB;YACvC,aAAa,EAAE,CAAC,WAAW,CAAC;YAC5B,sBAAsB,EAAE,CAAC;YACzB,YAAY,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC;YACzC,GAAG,gBAAgB;SACpB,CAAC;QACF,OAAO;YACL,UAAU,EAAE,oBAAoB;YAChC,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,gBAAgB;YAC9B,iBAAiB,EAAE,UAAU;YAC7B,YAAY,EAAE,UAAU;YACxB,kBAAkB,EAAE,EAAE;YACtB,gBAAgB,EAAE,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YACxC,SAAS,EAAE,0BAA0B;YACrC,SAAS,EAAE,0BAA0B;SACtC,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,QAAQ,EAAE,YAAY,EAAE;YACxB,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,qBAAqB;SACvE,CAAC,CAAC;QACH,sEAAsE;QACtE,uEAAuE;QACvE,+CAA+C;QAC/C,MAAM,QAAQ,GAAG;YACf,GAAG,eAAe,EAAE;YACpB,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,cAAc;oBACtB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;oBAC/B,gBAAgB,EAAE,oBAAoB;oBACtC,sBAAsB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;oBAC9C,uBAAuB,EAAE,QAAQ;iBAClC;gBACD;oBACE,MAAM,EAAE,YAAY;oBACpB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;oBACxC,gBAAgB,EAAE,OAAO;iBAC1B;aACF;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,uEAAuE;QACvE,wEAAwE;QACxE,mCAAmC;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,QAAQ,EAAE,YAAY,EAAE;YACxB,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,qBAAqB;SACvE,CAAC,CAAC;QACH,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAA4B,CAAC;QAC3E,OAAO,MAAM,CAAC,YAAY,CAAC;QAC3B,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,QAAQ,EAAE,YAAY,EAAE;YACxB,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,qBAAqB;SACvE,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,QAAQ,EAAE,YAAY,EAAE;YACxB,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,qBAAqB;SACvE,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,QAAQ,EAAE,YAAY,EAAE;YACxB,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,qBAAqB;SACvE,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qGAAqG,EAAE,KAAK,IAAI,EAAE;QACnH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,QAAQ;YACR,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,qBAAqB;SACvE,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG;YACf,GAAG,eAAe,EAAE;YACpB,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,cAAc;oBACtB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;oBAC/B,gBAAgB,EAAE,oBAAoB;oBACtC,sBAAsB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;oBAC9C,uBAAuB,EAAE,QAAQ;iBAClC;gBACD;oBACE,MAAM,EAAE,YAAY;oBACpB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;oBACzB,gBAAgB,EAAE,OAAO;iBAC1B;aACF;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,QAAQ,EAAE,YAAY,EAAE;YACxB,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,qBAAqB;SACvE,CAAC,CAAC;QACH,+DAA+D;QAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,iDAAiD;QACjD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,0EAA0E;QAC1E,MAAM,kBAAkB,GAAG;YACzB,GAAG,eAAe,EAAE;YACpB,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,iBAAiB;oBACzB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;oBAC/B,gBAAgB,EAAE,oBAAoB;oBACtC,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;oBACzC,uBAAuB,EAAE,QAAQ;iBAClC;gBACD;oBACE,MAAM,EAAE,eAAe;oBACvB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;oBACzB,gBAAgB,EAAE,OAAO;iBAC1B;aACF;SACF,CAAC;QACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,kBAAkB;gBAC/B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,WAAW,CAAC;gBAC5B,8DAA8D;aAC/D,CAAC;SACH,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,KAAK,UAAU,YAAY;QACzB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAClE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC5B,CAAC;IAED,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEzD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;aACrC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,wEAAwE;IACxE,+CAA+C;IAC/C,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,WAAW,CAAC;gBAC5B,YAAY,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;aAC3C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,WAAW,CAAC;gBAC5B,gEAAgE;gBAChE,mBAAmB;aACpB,CAAC;SACH,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;aACxC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;gBACvC,aAAa,EAAE,CAAC,WAAW,CAAC;gBAC5B,iBAAiB,EAAE,mDAAmD;aACvE,CAAC;SACH,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE/D,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAC9B,6EAA6E,CAC9E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,oBAAoB;SACjC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,YAAY,EAAE,SAAS;YACvB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,iBAAiB;aACxC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;QAErE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAE1E,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/E,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAE1E,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAClE,MAAM,EACJ,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAErD,MAAM,UAAU,GAAG,IAAI,oBAAoB,CACzC,aAAa,EACb,UAAU,EACV,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,kBAAkB,EAAE,aAAa,EAAE,CACjE,CAAC;QAEF,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;YACvC,UAAU,EAAE,cAAc;YAC1B,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE,kBAAkB;YACnC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACrD,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAClE,MAAM,EACJ,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAErD,MAAM,UAAU,GAAG,IAAI,oBAAoB,CACzC,aAAa,EACb,UAAU,EACV,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,kBAAkB,EAAE,aAAa,EAAE,CACjE,CAAC;QAEF,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;YACvC,UAAU,EAAE,cAAc;YAC1B,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE,eAAe;YAChC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACrD,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAClE,MAAM,EACJ,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAErD,MAAM,UAAU,GAAG,IAAI,oBAAoB,CACzC,aAAa,EACb,UAAU,EACV,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,kBAAkB,EAAE,aAAa,EAAE,CACjE,CAAC;QAEF,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,UAAU,CAAC,QAAQ,CAAC;YACxB,UAAU,EAAE,cAAc;YAC1B,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE,kBAAkB;YACnC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACrD,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAClE,MAAM,EACJ,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAErD,MAAM,UAAU,GAAG,IAAI,oBAAoB,CACzC,aAAa,EACb,UAAU,EACV,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,kBAAkB,EAAE,aAAa,EAAE,CACjE,CAAC;QAEF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;YACzC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,CAAC;SAChE,CAAC,CAAC;QACH,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;YACvC,UAAU,EAAE,cAAc;YAC1B,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE,kBAAkB;YACnC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACrD,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAClE,MAAM,EACJ,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAErD,MAAM,UAAU,GAAG,IAAI,oBAAoB,CACzC,aAAa,EACb,UAAU,EACV,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,kBAAkB,EAAE,aAAa,EAAE,CACjE,CAAC;QAEF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;YAC1C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,kBAAkB,EAAE,wBAAwB;gBAC5C,WAAW,EAAE,eAAe,EAAE;gBAC9B,oBAAoB,EAAE,4BAA4B;aACnD,CAAC;SACH,CAAC,CAAC;QACH,aAAa,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;YACvC,UAAU,EAAE,cAAc;YAC1B,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE,kBAAkB;YACnC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACrD,GAAG,EAAE,0BAA0B;YAC/B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -13,6 +13,18 @@ export interface RuleHostWriterConfig {
|
|
|
13
13
|
*/
|
|
14
14
|
featureFlagProbe?: (flagId: string) => boolean;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* PRI-490 — extract and validate the `evidenceRefs` field from parsed artifact
|
|
18
|
+
* contentJson. Returns the validated `string[]` when present and well-formed,
|
|
19
|
+
* or `null` when absent / malformed. Callers treat `null` as "no evidenceRefs".
|
|
20
|
+
*
|
|
21
|
+
* PRI-491 — exported for reuse by CLI/Console display paths that need to show
|
|
22
|
+
* evidenceRefs without reimplementing the validation logic (DRY).
|
|
23
|
+
*
|
|
24
|
+
* ERR-001/ERR-005 (rc-1/rc-2/rc-4): the parsed value is `unknown`; we never
|
|
25
|
+
* `as`-cast. Each element is type-narrowed via `typeof` before acceptance.
|
|
26
|
+
*/
|
|
27
|
+
export declare function extractEvidenceRefs(parsed: Record<string, unknown>): string[] | null;
|
|
16
28
|
export declare class RuleHostWriter implements ChannelWriter {
|
|
17
29
|
readonly channel: "code_tool_hook";
|
|
18
30
|
private readonly gateDeps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-host-writer.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/activation/writers/rule-host-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAuB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzK,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,gDAAgD,CAAC;AAOzH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAuFD,qBAAa,cAAe,YAAW,aAAa;IAClD,QAAQ,CAAC,OAAO,EAAG,gBAAgB,CAAU;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA8B;gBAEpD,MAAM,EAAE,oBAAoB;IAKlC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"rule-host-writer.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/activation/writers/rule-host-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAuB,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzK,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,gDAAgD,CAAC;AAOzH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAuFD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAUpF;AA0CD,qBAAa,cAAe,YAAW,aAAa;IAClD,QAAQ,CAAC,OAAO,EAAG,gBAAgB,CAAU;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAA8B;gBAEpD,MAAM,EAAE,oBAAoB;IAKlC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuFrE,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BvF,oBAAoB,CAClB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,eAAe,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;CA2C/H"}
|
|
@@ -76,6 +76,65 @@ function assessRiskLevel(parsed) {
|
|
|
76
76
|
});
|
|
77
77
|
return hasDestructive ? 'critical' : 'high';
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* PRI-490 — extract and validate the `evidenceRefs` field from parsed artifact
|
|
81
|
+
* contentJson. Returns the validated `string[]` when present and well-formed,
|
|
82
|
+
* or `null` when absent / malformed. Callers treat `null` as "no evidenceRefs".
|
|
83
|
+
*
|
|
84
|
+
* PRI-491 — exported for reuse by CLI/Console display paths that need to show
|
|
85
|
+
* evidenceRefs without reimplementing the validation logic (DRY).
|
|
86
|
+
*
|
|
87
|
+
* ERR-001/ERR-005 (rc-1/rc-2/rc-4): the parsed value is `unknown`; we never
|
|
88
|
+
* `as`-cast. Each element is type-narrowed via `typeof` before acceptance.
|
|
89
|
+
*/
|
|
90
|
+
export function extractEvidenceRefs(parsed) {
|
|
91
|
+
if (!Object.hasOwn(parsed, 'evidenceRefs'))
|
|
92
|
+
return null;
|
|
93
|
+
const refs = parsed.evidenceRefs;
|
|
94
|
+
if (!Array.isArray(refs) || refs.length === 0)
|
|
95
|
+
return null;
|
|
96
|
+
const valid = [];
|
|
97
|
+
for (const ref of refs) {
|
|
98
|
+
if (typeof ref !== 'string' || ref.trim() === '')
|
|
99
|
+
return null;
|
|
100
|
+
valid.push(ref);
|
|
101
|
+
}
|
|
102
|
+
return valid;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* PRI-490 — validate v2 seed-rule content constraints BEFORE the sandbox runs.
|
|
106
|
+
*
|
|
107
|
+
* v2 seed rules (Owner-labelled evidence path) may only emit `allow` / `block`
|
|
108
|
+
* decisions. `propose_correction` is forbidden because seed-user MVP does not
|
|
109
|
+
* support auto-correct. v2 also requires `evidenceRefs` to be preserved from
|
|
110
|
+
* the BehaviorExamplePack through the artifact chain.
|
|
111
|
+
*
|
|
112
|
+
* Returns `null` when the v2 content is valid, or a rejection reason string
|
|
113
|
+
* describing the first violation. v1 artifacts skip this check entirely.
|
|
114
|
+
*
|
|
115
|
+
* ERR-009 (rc-3): missing required v2 fields fail loud with an actionable
|
|
116
|
+
* reason rather than a silent skip.
|
|
117
|
+
* ERR-089: we check BOTH the propose_correction ban AND the evidenceRefs
|
|
118
|
+
* requirement; fixing one violation must not mask the other.
|
|
119
|
+
*/
|
|
120
|
+
function validateV2SeedRuleContent(parsed, goldenTrace) {
|
|
121
|
+
// 1. v2 seed rules forbid propose_correction in goldenTrace.cases.
|
|
122
|
+
// Only `allow` and `block` are permitted (seed-user MVP scope).
|
|
123
|
+
for (const c of goldenTrace.cases) {
|
|
124
|
+
if (c.expectedDecision === 'propose_correction') {
|
|
125
|
+
return 'v2_seed_rule_forbidden_decision:propose_correction';
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// 2. v2 artifacts MUST carry evidenceRefs (non-empty array of non-empty
|
|
129
|
+
// strings) preserved verbatim from BehaviorExamplePack.
|
|
130
|
+
const refs = extractEvidenceRefs(parsed);
|
|
131
|
+
if (refs === null) {
|
|
132
|
+
return Object.hasOwn(parsed, 'evidenceRefs')
|
|
133
|
+
? 'v2_seed_rule_invalid_evidence_refs'
|
|
134
|
+
: 'v2_seed_rule_missing_evidence_refs';
|
|
135
|
+
}
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
79
138
|
export class RuleHostWriter {
|
|
80
139
|
channel = 'code_tool_hook';
|
|
81
140
|
gateDeps;
|
|
@@ -133,6 +192,17 @@ export class RuleHostWriter {
|
|
|
133
192
|
if (gateDecision !== 'accepted_shadow') {
|
|
134
193
|
return { ok: false, reason: 'gate_decision_not_accepted_shadow', riskLevel: 'high' };
|
|
135
194
|
}
|
|
195
|
+
// PRI-490 — v2 seed-rule content constraints (allow/block-only +
|
|
196
|
+
// evidenceRefs required). v1 artifacts skip this check entirely, so
|
|
197
|
+
// v1 behavior is unchanged. This runs BEFORE the sandbox so the owner
|
|
198
|
+
// sees an actionable reason rather than an opaque sandbox failure
|
|
199
|
+
// (mirrors the existing extractGoldenTrace defense-in-depth pattern).
|
|
200
|
+
if (parsed.requiresContextVersion === 2) {
|
|
201
|
+
const v2Violation = validateV2SeedRuleContent(parsed, goldenTrace);
|
|
202
|
+
if (v2Violation) {
|
|
203
|
+
return { ok: false, reason: v2Violation, riskLevel: 'high' };
|
|
204
|
+
}
|
|
205
|
+
}
|
|
136
206
|
const gateResult = evaluateRefinerRuleHostGate({ code: implementationCode, goldenTrace }, this.gateDeps);
|
|
137
207
|
if (gateResult.decision !== 'accepted_shadow') {
|
|
138
208
|
return {
|
|
@@ -149,9 +219,23 @@ export class RuleHostWriter {
|
|
|
149
219
|
const ruleId = typeof artifact.sourceRuleId === 'string' && artifact.sourceRuleId.trim().length > 0
|
|
150
220
|
? artifact.sourceRuleId.trim()
|
|
151
221
|
: input.principleId;
|
|
222
|
+
// PRI-489 (seed-MVP readiness): Owner approval creates a SHADOW
|
|
223
|
+
// activation first. Shadow activations are observation-only — the
|
|
224
|
+
// runtime RuleHost (rule-host.ts) records would-block/would-allow into
|
|
225
|
+
// `shadowDecisions` but never blocks or modifies the tool call. The
|
|
226
|
+
// only shadow -> live transition is `pd activation promote
|
|
227
|
+
// --activation-id ... --confirm`, which atomically rewrites the action
|
|
228
|
+
// to `code_tool_hook_live_activate` inside a BEGIN IMMEDIATE
|
|
229
|
+
// transaction (SqliteActivationStateStore.promoteActivation).
|
|
230
|
+
//
|
|
231
|
+
// Returning `code_tool_hook_live_activate` here was the seed-MVP
|
|
232
|
+
// release blocker: a newly approved rule would immediately block
|
|
233
|
+
// production tool calls with no observation window. Shadow-first
|
|
234
|
+
// gives the owner a reversible observation phase before any live
|
|
235
|
+
// enforcement.
|
|
152
236
|
return {
|
|
153
237
|
activationId: `act_code_${ruleId}`,
|
|
154
|
-
action: '
|
|
238
|
+
action: 'code_tool_hook_shadow_activate',
|
|
155
239
|
targetRef: `impl://${ruleId}`,
|
|
156
240
|
};
|
|
157
241
|
}
|
|
@@ -168,6 +252,10 @@ export class RuleHostWriter {
|
|
|
168
252
|
const affectedTools = Array.isArray(parsed?.affectedTools)
|
|
169
253
|
? parsed.affectedTools.filter((t) => typeof t === 'string')
|
|
170
254
|
: [];
|
|
255
|
+
// PRI-490 — surface evidence refs in approval context so the owner can
|
|
256
|
+
// see the provenance of the rule when reviewing the approval. Only
|
|
257
|
+
// included when the artifact carries a valid evidenceRefs array.
|
|
258
|
+
const evidenceRefs = parsed ? extractEvidenceRefs(parsed) : null;
|
|
171
259
|
const summary = `Rule activation request for code_tool_hook: ${ruleId}`;
|
|
172
260
|
const triggerReason = painReasonSummary.length > 0
|
|
173
261
|
? painReasonSummary
|
|
@@ -176,9 +264,15 @@ export class RuleHostWriter {
|
|
|
176
264
|
const confidenceExplanation = validConfidence
|
|
177
265
|
? `Confidence: ${Math.round(confidence * 100)}%. Evaluated through shadow replay and sandbox gate.`
|
|
178
266
|
: 'Confidence score unavailable. Manual review recommended.';
|
|
179
|
-
const
|
|
267
|
+
const toolsClause = affectedTools.length > 0
|
|
180
268
|
? `This rule will intercept tool calls: ${affectedTools.join(', ')}. After approval, matching calls will be evaluated against the rule logic.`
|
|
181
269
|
: 'This candidate may affect code_tool_hook behavior after approval. Tool scope is not specified.';
|
|
270
|
+
// PRI-490 — append evidence refs to the effect description when present,
|
|
271
|
+
// so the owner has provenance context during approval review.
|
|
272
|
+
const evidenceClause = evidenceRefs && evidenceRefs.length > 0
|
|
273
|
+
? ` Evidence backing this rule: ${evidenceRefs.join(', ')}.`
|
|
274
|
+
: '';
|
|
275
|
+
const effectDescription = `${toolsClause}${evidenceClause}`;
|
|
182
276
|
const rejectionEffect = 'The rule will not be activated. Current tool calls will continue unchanged.';
|
|
183
277
|
return { summary, triggerReason, confidenceExplanation, effectDescription, rejectionEffect };
|
|
184
278
|
}
|