@prisma/orm-family-sql 8.0.0-rc.19-dev.8 → 8.0.0-rc.19-dev.10
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/{aggregate-descriptor-registry-Dd7Uj7DJ.mjs → aggregate-descriptor-registry-ZrKjxwQe.mjs} +3 -3
- package/dist/aggregate-descriptor-registry-ZrKjxwQe.mjs.map +1 -0
- package/dist/{ast-BJs2669T.mjs → ast-D0miQ1B6.mjs} +3 -3
- package/dist/ast-D0miQ1B6.mjs.map +1 -0
- package/dist/{ast-BySjcUKx.d.mts → ast-De1p3DM9.d.mts} +5 -5
- package/dist/ast-De1p3DM9.d.mts.map +1 -0
- package/dist/{attribute-specs-BsaemIyu.d.mts → attribute-specs-CTEOxEJS.d.mts} +5 -5
- package/dist/attribute-specs-CTEOxEJS.d.mts.map +1 -0
- package/dist/{authored-check-naming-CIX7Bbyh.mjs → authored-check-naming-BHGJhjqn.mjs} +5 -5
- package/dist/authored-check-naming-BHGJhjqn.mjs.map +1 -0
- package/dist/{authored-check-naming-CK6T_Dfh.d.mts → authored-check-naming-D-o196ry.d.mts} +3 -3
- package/dist/authored-check-naming-D-o196ry.d.mts.map +1 -0
- package/dist/{authoring-entity-types-CgKIgWq5-Dxf_T0Ih.d.mts → authoring-entity-types-CgKIgWq5-CjIkEw1m.d.mts} +3 -3
- package/dist/authoring-entity-types-CgKIgWq5-CjIkEw1m.d.mts.map +1 -0
- package/dist/builder.d.mts +3 -3
- package/dist/builder__runtime.d.mts +11 -11
- package/dist/builder__runtime.d.mts.map +1 -1
- package/dist/builder__runtime.mjs +8 -8
- package/dist/builder__runtime.mjs.map +1 -1
- package/dist/builder__types.d.mts +5 -5
- package/dist/{canonicalization-hooks-dmXkOR4a.mjs → canonicalization-hooks-Ce1v_TDl.mjs} +2 -2
- package/dist/canonicalization-hooks-Ce1v_TDl.mjs.map +1 -0
- package/dist/{canonicalization-hooks-CYnW_sGn.d.mts → canonicalization-hooks-DyapQ0my.d.mts} +2 -2
- package/dist/canonicalization-hooks-DyapQ0my.d.mts.map +1 -0
- package/dist/{check-constraint-B7qGu6rc-CBVYAMwG.d.mts → check-constraint-B7qGu6rc-Bk2ezWXu.d.mts} +4 -4
- package/dist/check-constraint-B7qGu6rc-Bk2ezWXu.d.mts.map +1 -0
- package/dist/{codec-descriptor-registry-MG2bFxW_.mjs → codec-descriptor-registry-CiiFzMtb.mjs} +4 -4
- package/dist/codec-descriptor-registry-CiiFzMtb.mjs.map +1 -0
- package/dist/collection-methods-Bc8v7iVP.d.mts +1 -0
- package/dist/{collection-methods-D2UnCS0S-CRYoAOtB.d.mts → collection-methods-D2UnCS0S-CjdGDJ5y.d.mts} +5 -5
- package/dist/collection-methods-D2UnCS0S-CjdGDJ5y.d.mts.map +1 -0
- package/dist/{config-types-D8quwydu.d.mts → config-types-DGD0sYRS.d.mts} +5 -5
- package/dist/config-types-DGD0sYRS.d.mts.map +1 -0
- package/dist/{config-types-BbBY5_GQ.mjs → config-types-DkEeq_qq.mjs} +3 -3
- package/dist/config-types-DkEeq_qq.mjs.map +1 -0
- package/dist/{contract-builder-xFftVmD8.d.mts → contract-builder-BrpdASoV.d.mts} +12 -12
- package/dist/contract-builder-BrpdASoV.d.mts.map +1 -0
- package/dist/{contract-builder-D7cTmhfs.mjs → contract-builder-Dp7AOnHB.mjs} +8 -8
- package/dist/contract-builder-Dp7AOnHB.mjs.map +1 -0
- package/dist/contract-emitter.d.mts +1 -1
- package/dist/contract-emitter.d.mts.map +1 -1
- package/dist/contract-emitter.mjs +1 -1
- package/dist/{contract-errors-BCN6RVI5-5IHBF_lg.mjs → contract-errors-BCN6RVI5-DoH6b_KZ.mjs} +2 -2
- package/dist/contract-errors-BCN6RVI5-DoH6b_KZ.mjs.map +1 -0
- package/dist/contract-prisma7__provider.d.mts +3 -3
- package/dist/contract-prisma7__provider.d.mts.map +1 -1
- package/dist/contract-prisma7__provider.mjs +10 -10
- package/dist/contract-prisma7__provider.mjs.map +1 -1
- package/dist/contract-psl.d.mts +4 -4
- package/dist/contract-psl.d.mts.map +1 -1
- package/dist/contract-psl.mjs +1 -1
- package/dist/contract-psl__attribute-specs.d.mts +1 -1
- package/dist/contract-psl__attribute-specs.mjs +1 -1
- package/dist/contract-psl__default-table-name.d.mts +1 -1
- package/dist/contract-psl__default-table-name.d.mts.map +1 -1
- package/dist/contract-psl__default-table-name.mjs +1 -1
- package/dist/contract-psl__diagnostics.d.mts +1 -1
- package/dist/contract-psl__diagnostics.d.mts.map +1 -1
- package/dist/contract-psl__diagnostics.mjs +1 -1
- package/dist/contract-psl__map-names.d.mts +1 -1
- package/dist/contract-psl__map-names.d.mts.map +1 -1
- package/dist/contract-psl__map-names.mjs +2 -2
- package/dist/contract-psl__map-names.mjs.map +1 -1
- package/dist/contract-psl__provider.d.mts +3 -3
- package/dist/contract-psl__provider.d.mts.map +1 -1
- package/dist/contract-psl__provider.mjs +3 -3
- package/dist/contract-psl__provider.mjs.map +1 -1
- package/dist/contract-ts.d.mts +4 -4
- package/dist/contract-ts.mjs +4 -4
- package/dist/contract-ts__config-types.d.mts +1 -1
- package/dist/contract-ts__config-types.mjs +1 -1
- package/dist/contract-ts__contract-builder.d.mts +3 -3
- package/dist/contract-ts__contract-builder.mjs +3 -3
- package/dist/{contract-view-BMR5IWk4.mjs → contract-view-DqpzeYeE.mjs} +2 -2
- package/dist/contract-view-DqpzeYeE.mjs.map +1 -0
- package/dist/{contract-view-BgpEwVz0.d.mts → contract-view-DuB35or0.d.mts} +3 -3
- package/dist/contract-view-DuB35or0.d.mts.map +1 -0
- package/dist/contract.d.mts +29 -29
- package/dist/contract.mjs +22 -22
- package/dist/contract__authored-check-naming.d.mts +1 -1
- package/dist/contract__authored-check-naming.mjs +1 -1
- package/dist/contract__canonicalization-hooks.d.mts +1 -1
- package/dist/contract__canonicalization-hooks.mjs +1 -1
- package/dist/contract__contract-view.d.mts +1 -1
- package/dist/contract__contract-view.mjs +1 -1
- package/dist/contract__data-type-support.d.mts +1 -1
- package/dist/contract__data-type-support.mjs +1 -1
- package/dist/contract__data-type.d.mts +1 -1
- package/dist/contract__data-type.mjs +2 -2
- package/dist/contract__entity-handle-lowering-hook.d.mts +1 -1
- package/dist/contract__entity-handle-lowering-hook.mjs +1 -1
- package/dist/contract__entity-kinds.d.mts +1 -1
- package/dist/contract__entity-kinds.mjs +1 -1
- package/dist/contract__factories.d.mts +1 -1
- package/dist/contract__factories.mjs +1 -1
- package/dist/contract__foreign-key-materialization.d.mts +1 -1
- package/dist/contract__foreign-key-materialization.mjs +2 -2
- package/dist/contract__index-naming.d.mts +1 -1
- package/dist/contract__index-naming.mjs +1 -1
- package/dist/contract__index-type-validation.d.mts +1 -1
- package/dist/contract__index-type-validation.mjs +1 -1
- package/dist/contract__index-types.d.mts +2 -2
- package/dist/contract__index-types.mjs +1 -1
- package/dist/contract__referential-action-sql.d.mts +1 -1
- package/dist/contract__referential-action-sql.mjs +1 -1
- package/dist/contract__resolve-storage-table.d.mts +1 -1
- package/dist/contract__resolve-storage-table.mjs +1 -1
- package/dist/contract__sql-expression.d.mts +1 -1
- package/dist/contract__sql-expression.mjs +1 -1
- package/dist/contract__types.d.mts +11 -11
- package/dist/contract__types.mjs +3 -3
- package/dist/contract__validators.d.mts +1 -1
- package/dist/contract__validators.mjs +2 -2
- package/dist/contract__value-set-derivation-hook.d.mts +1 -1
- package/dist/contract__value-set-derivation-hook.mjs +1 -1
- package/dist/{control-BW6gbqvb.d.mts → control-0cDzwyu1.d.mts} +19 -19
- package/dist/control-0cDzwyu1.d.mts.map +1 -0
- package/dist/{control-adapter-El4czoUh.d.mts → control-adapter-BLLXAM9_.d.mts} +5 -5
- package/dist/control-adapter-BLLXAM9_.d.mts.map +1 -0
- package/dist/{control-adapter-Bn0uhplA-D0fhkvnJ.d.mts → control-adapter-Bn0uhplA-DYCjJlfN.d.mts} +10 -10
- package/dist/control-adapter-Bn0uhplA-DYCjJlfN.d.mts.map +1 -0
- package/dist/{control-adapter-DRlEXxsv.mjs → control-adapter-SlQkTEwT.mjs} +3 -3
- package/dist/control-adapter-SlQkTEwT.mjs.map +1 -0
- package/dist/{control-DnFJf5_F.mjs → control-ba0_VwlQ.mjs} +18 -18
- package/dist/control-ba0_VwlQ.mjs.map +1 -0
- package/dist/{data-type-BMnEHaW3.mjs → data-type-BFSpaotu.mjs} +3 -3
- package/dist/data-type-BFSpaotu.mjs.map +1 -0
- package/dist/{data-type-iatMyRs6.d.mts → data-type-DJIvKQHf.d.mts} +4 -4
- package/dist/data-type-DJIvKQHf.d.mts.map +1 -0
- package/dist/{data-type-support-juGV2d9c.mjs → data-type-support-BhSoPUFj.mjs} +2 -2
- package/dist/data-type-support-BhSoPUFj.mjs.map +1 -0
- package/dist/{data-type-support-a9BR-PbH.d.mts → data-type-support-CXpA0ex-.d.mts} +2 -2
- package/dist/data-type-support-CXpA0ex-.d.mts.map +1 -0
- package/dist/{db-BmrN9nRS-MT5cfCJy.d.mts → db-BmrN9nRS-BKdvl6Lv.d.mts} +14 -14
- package/dist/db-BmrN9nRS-BKdvl6Lv.d.mts.map +1 -0
- package/dist/{ddl-types-By5mT2_S--j4lTxme.d.mts → ddl-types-By5mT2_S-CEkSuvfl.d.mts} +5 -5
- package/dist/ddl-types-By5mT2_S-CEkSuvfl.d.mts.map +1 -0
- package/dist/{default-mapping-CAOONlKQ-v7GTIkjE.d.mts → default-mapping-CAOONlKQ-4m07nb-O.d.mts} +2 -2
- package/dist/default-mapping-CAOONlKQ-4m07nb-O.d.mts.map +1 -0
- package/dist/{default-table-name-BfFY8qYR-lHNcVmY5.mjs → default-table-name-BfFY8qYR-CWZFDX6v.mjs} +2 -2
- package/dist/default-table-name-BfFY8qYR-CWZFDX6v.mjs.map +1 -0
- package/dist/{derived-checks-D5HVRvqN-B37oe30Z.mjs → derived-checks-D5HVRvqN-BJx1gwPA.mjs} +16 -16
- package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs.map +1 -0
- package/dist/{derived-checks-DpPkO6Dt-D6tfanWv.d.mts → derived-checks-DpPkO6Dt-BzFrQoFZ.d.mts} +4 -4
- package/dist/derived-checks-DpPkO6Dt-BzFrQoFZ.d.mts.map +1 -0
- package/dist/{diagnostics-IM48vCjC.mjs → diagnostics-RHJxoiIk.mjs} +4 -4
- package/dist/diagnostics-RHJxoiIk.mjs.map +1 -0
- package/dist/{diff-DZ82XaGR.mjs → diff-C1rFOhek.mjs} +2 -2
- package/dist/diff-C1rFOhek.mjs.map +1 -0
- package/dist/{diff-D2PJJkGv.d.mts → diff-DnJBqc_l.d.mts} +8 -8
- package/dist/diff-DnJBqc_l.d.mts.map +1 -0
- package/dist/{dist-D8RKUdwh.mjs → dist-C8Y-PPuE.mjs} +4 -4
- package/dist/dist-C8Y-PPuE.mjs.map +1 -0
- package/dist/{dist-C_q1_QR9.mjs → dist-CHz1hF8M.mjs} +2 -2
- package/dist/dist-CHz1hF8M.mjs.map +1 -0
- package/dist/{dist-x6jvtkKM.mjs → dist-CMDXybwm.mjs} +2 -2
- package/dist/dist-CMDXybwm.mjs.map +1 -0
- package/dist/{driver-types-DRsYeq3j-X_D6hNMZ.d.mts → driver-types-DRsYeq3j-BimeCnUk.d.mts} +2 -2
- package/dist/driver-types-DRsYeq3j-BimeCnUk.d.mts.map +1 -0
- package/dist/{entity-handle-lowering-hook-B3atrRKX.mjs → entity-handle-lowering-hook-BJZSlVVF.mjs} +2 -2
- package/dist/entity-handle-lowering-hook-BJZSlVVF.mjs.map +1 -0
- package/dist/{entity-handle-lowering-hook-93syhZ0p.d.mts → entity-handle-lowering-hook-BuvLtgFi.d.mts} +2 -2
- package/dist/entity-handle-lowering-hook-BuvLtgFi.d.mts.map +1 -0
- package/dist/{entity-kinds-OhCjfrIe.d.mts → entity-kinds-BPG2xCZV.d.mts} +7 -7
- package/dist/entity-kinds-BPG2xCZV.d.mts.map +1 -0
- package/dist/{entity-kinds-JR5SAm5h-ZkDejOUK.mjs → entity-kinds-JR5SAm5h-DOH6VUtL.mjs} +5 -5
- package/dist/entity-kinds-JR5SAm5h-DOH6VUtL.mjs.map +1 -0
- package/dist/{errors-B5g0xWro-mWH2C07F.mjs → errors-B5g0xWro-C8plbqga.mjs} +2 -2
- package/dist/errors-B5g0xWro-C8plbqga.mjs.map +1 -0
- package/dist/errors.d.mts +1 -1
- package/dist/errors.d.mts.map +1 -1
- package/dist/errors.mjs +1 -1
- package/dist/{exports-C3wGYtID-Bg6ThaBe.mjs → exports-C3wGYtID-D65DEUTC.mjs} +9 -9
- package/dist/exports-C3wGYtID-D65DEUTC.mjs.map +1 -0
- package/dist/{expression-6ld_ZQL6-CQghHqQ4.d.mts → expression-6ld_ZQL6-Brvfpjqy.d.mts} +9 -9
- package/dist/expression-6ld_ZQL6-Brvfpjqy.d.mts.map +1 -0
- package/dist/{expression-CieaNuRM-BpwVyjJL.d.mts → expression-CieaNuRM-CI_2zExe.d.mts} +4 -4
- package/dist/expression-CieaNuRM-CI_2zExe.d.mts.map +1 -0
- package/dist/{expression-impl-B-XNINxr-vYwKVFeP.mjs → expression-impl-B-XNINxr-BhN2sysZ.mjs} +4 -4
- package/dist/expression-impl-B-XNINxr-BhN2sysZ.mjs.map +1 -0
- package/dist/expression-kBtMHj-W.d.mts +2 -0
- package/dist/{factories-C4JbtO84.mjs → factories-Crobuxwn.mjs} +5 -5
- package/dist/factories-Crobuxwn.mjs.map +1 -0
- package/dist/{factories-CfHDga-q.d.mts → factories-DbNP9qfs.d.mts} +7 -7
- package/dist/factories-DbNP9qfs.d.mts.map +1 -0
- package/dist/family.d.mts +16 -16
- package/dist/family.mjs +16 -16
- package/dist/family__control-adapter.d.mts +2 -2
- package/dist/family__control-adapter.mjs +1 -1
- package/dist/family__control.d.mts +4 -4
- package/dist/family__control.mjs +3 -3
- package/dist/family__diff.d.mts +1 -1
- package/dist/family__diff.mjs +2 -2
- package/dist/family__ir.d.mts +1 -1
- package/dist/family__ir.mjs +2 -2
- package/dist/family__migration.d.mts +1 -1
- package/dist/family__migration.mjs +1 -1
- package/dist/family__pack.d.mts +1 -1
- package/dist/family__pack.mjs +2 -2
- package/dist/family__psl-build.d.mts +2 -2
- package/dist/family__psl-build.mjs +2 -2
- package/dist/family__psl-infer.d.mts +1 -1
- package/dist/family__psl-infer.mjs +1 -1
- package/dist/family__runtime.d.mts +2 -2
- package/dist/family__runtime.mjs +2 -2
- package/dist/family__verify.d.mts +1 -1
- package/dist/family__verify.mjs +1 -1
- package/dist/{foreign-key-materialization-CgW18KP-.d.mts → foreign-key-materialization-48P2V8on.d.mts} +8 -8
- package/dist/foreign-key-materialization-48P2V8on.d.mts.map +1 -0
- package/dist/{foreign-key-materialization-BPQqd0qF.mjs → foreign-key-materialization-BM59w_Xg.mjs} +7 -7
- package/dist/foreign-key-materialization-BM59w_Xg.mjs.map +1 -0
- package/dist/{foreign-key-qkDFfG8t-Fyrzd0VI.d.mts → foreign-key-qkDFfG8t-TaK_GYWR.d.mts} +3 -3
- package/dist/foreign-key-qkDFfG8t-TaK_GYWR.d.mts.map +1 -0
- package/dist/{functions-DTInIMZT.d.mts → functions-CRvEdiQM.d.mts} +7 -7
- package/dist/functions-CRvEdiQM.d.mts.map +1 -0
- package/dist/{functions-0YWByawj.mjs → functions-CsOoN7I3.mjs} +4 -4
- package/dist/functions-CsOoN7I3.mjs.map +1 -0
- package/dist/{generator-functions-D_qdqBV--BoeJwWsz.mjs → generator-functions-D_qdqBV--B2Q0WOf5.mjs} +4 -4
- package/dist/generator-functions-D_qdqBV--B2Q0WOf5.mjs.map +1 -0
- package/dist/{index-ffCr9ySU.d.mts → index-CUG8HKk_.d.mts} +4 -4
- package/dist/index-CUG8HKk_.d.mts.map +1 -0
- package/dist/{index-BAxGJxON.d.mts → index-ClfuhAEt.d.mts} +23 -23
- package/dist/index-ClfuhAEt.d.mts.map +1 -0
- package/dist/{index-equivalence-DswCiq5l-D5VK0qTy.mjs → index-equivalence-DswCiq5l-CGsyPP9B.mjs} +3 -3
- package/dist/index-equivalence-DswCiq5l-CGsyPP9B.mjs.map +1 -0
- package/dist/{index-naming-BOcJT1B3-18gQUduD.mjs → index-naming-BOcJT1B3-mG8Fd6KN.mjs} +5 -5
- package/dist/index-naming-BOcJT1B3-mG8Fd6KN.mjs.map +1 -0
- package/dist/{index-naming-C7pme5Pj.d.mts → index-naming-Cs6wwia3.d.mts} +4 -4
- package/dist/index-naming-Cs6wwia3.d.mts.map +1 -0
- package/dist/{index-reference-4wsdeB7v-DiTLLldN.d.mts → index-reference-4wsdeB7v-BTOzTNIT.d.mts} +5 -5
- package/dist/index-reference-4wsdeB7v-BTOzTNIT.d.mts.map +1 -0
- package/dist/{index-reference-DR62gjQS.mjs → index-reference-BQSrkRfT.mjs} +2 -2
- package/dist/index-reference-BQSrkRfT.mjs.map +1 -0
- package/dist/index-reference-DFUfnGcB.d.mts +1 -0
- package/dist/{index-type-validation-Bcme_Ust.mjs → index-type-validation-DJEMmmw0.mjs} +3 -3
- package/dist/index-type-validation-DJEMmmw0.mjs.map +1 -0
- package/dist/{index-type-validation-Ibtp3RKo.d.mts → index-type-validation-fGGwAHWc.d.mts} +5 -5
- package/dist/index-type-validation-fGGwAHWc.d.mts.map +1 -0
- package/dist/{index-types-H1O43iYT-ONvDbszL.d.mts → index-types-H1O43iYT-BD0VwPqV.d.mts} +2 -2
- package/dist/index-types-H1O43iYT-BD0VwPqV.d.mts.map +1 -0
- package/dist/{index-types-pC_5vADQ-TTUXAfmL.mjs → index-types-pC_5vADQ-BOOBi14R.mjs} +3 -3
- package/dist/index-types-pC_5vADQ-BOOBi14R.mjs.map +1 -0
- package/dist/index-types-snhtt_Fo.d.mts +1 -0
- package/dist/{interpreter-BDpym-rc-BZVFp5GU.mjs → interpreter-BDpym-rc-C3-vTcej.mjs} +12 -12
- package/dist/interpreter-BDpym-rc-C3-vTcej.mjs.map +1 -0
- package/dist/{ir-I-xciGUH.mjs → ir-DzsUDO8e.mjs} +2 -2
- package/dist/ir-DzsUDO8e.mjs.map +1 -0
- package/dist/{ir-BjC1VOuq.d.mts → ir-VGuTeCGp.d.mts} +4 -4
- package/dist/ir-VGuTeCGp.d.mts.map +1 -0
- package/dist/middleware-D5UhS_mW.d.mts +1 -0
- package/dist/{middleware-DHkW6pRr-CFiQojK4.d.mts → middleware-DHkW6pRr-B67Dujfd.d.mts} +3 -3
- package/dist/middleware-DHkW6pRr-B67Dujfd.d.mts.map +1 -0
- package/dist/{middleware-yBAfiVWn-CzNCthJT.mjs → middleware-yBAfiVWn-DZO0vCRQ.mjs} +3 -3
- package/dist/middleware-yBAfiVWn-DZO0vCRQ.mjs.map +1 -0
- package/dist/{migration-Dy_4Wmiy.mjs → migration-BJQjkqFz.mjs} +2 -2
- package/dist/migration-BJQjkqFz.mjs.map +1 -0
- package/dist/{migration-DWLbMM34.d.mts → migration-CXZQR3C_.d.mts} +5 -5
- package/dist/migration-CXZQR3C_.d.mts.map +1 -0
- package/dist/{naming-BcD36g9T-DFyaudUa.d.mts → naming-BcD36g9T-Mfe_xGGL.d.mts} +2 -2
- package/dist/naming-BcD36g9T-Mfe_xGGL.d.mts.map +1 -0
- package/dist/{naming-bM5qm5PY-DdginUhA.mjs → naming-bM5qm5PY-jOg3JFMb.mjs} +2 -2
- package/dist/naming-bM5qm5PY-jOg3JFMb.mjs.map +1 -0
- package/dist/{opaque-sql-Dset3kln-BzzXoO94.mjs → opaque-sql-Dset3kln-CtsPDTXn.mjs} +2 -2
- package/dist/opaque-sql-Dset3kln-CtsPDTXn.mjs.map +1 -0
- package/dist/operations.d.mts +1 -1
- package/dist/operations.mjs +1 -1
- package/dist/orm-client.d.mts +21 -21
- package/dist/orm-client.mjs +11 -11
- package/dist/{pack-CdaZMfI_.d.mts → pack-CGcsowo7.d.mts} +5 -5
- package/dist/pack-CGcsowo7.d.mts.map +1 -0
- package/dist/{pack-BifOs83a.mjs → pack-vaUY9-7E.mjs} +5 -5
- package/dist/pack-vaUY9-7E.mjs.map +1 -0
- package/dist/{plan-Cr4azjnG-lIrzIrmu.d.mts → plan-Cr4azjnG-B5MWRcqp.d.mts} +5 -5
- package/dist/plan-Cr4azjnG-B5MWRcqp.d.mts.map +1 -0
- package/dist/{plan-Dh0LbYIv-Crx5-ThG.mjs → plan-Dh0LbYIv-ubBSdUgl.mjs} +2 -2
- package/dist/plan-Dh0LbYIv-ubBSdUgl.mjs.map +1 -0
- package/dist/plan-cqtZBj5m.d.mts +2 -0
- package/dist/{psl-attribute-parsing-BCsFWsSp-LaNsbcrw.mjs → psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs} +2 -2
- package/dist/psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs.map +1 -0
- package/dist/{psl-build-fwoI6rBO.mjs → psl-build-DFBG6vhz.mjs} +6 -6
- package/dist/psl-build-DFBG6vhz.mjs.map +1 -0
- package/dist/{psl-build-BYXXz2XD.d.mts → psl-build-RelubU2E.d.mts} +6 -6
- package/dist/psl-build-RelubU2E.d.mts.map +1 -0
- package/dist/{psl-column-resolution-ChZqioOc-DcjGSXDp.d.mts → psl-column-resolution-ChZqioOc-DkKTu21I.d.mts} +3 -3
- package/dist/psl-column-resolution-ChZqioOc-DkKTu21I.d.mts.map +1 -0
- package/dist/{psl-field-resolution-C5KQ7kzP-DH8oSBIL.mjs → psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs} +7 -7
- package/dist/psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs.map +1 -0
- package/dist/{psl-infer-CaEnF_x3.mjs → psl-infer--g4i84Go.mjs} +5 -5
- package/dist/psl-infer--g4i84Go.mjs.map +1 -0
- package/dist/{psl-infer-CpTRaF5I.d.mts → psl-infer-DzoxPZGd.d.mts} +5 -5
- package/dist/psl-infer-DzoxPZGd.d.mts.map +1 -0
- package/dist/{psl-names-C3cwe0rg-CsuHOV7E.mjs → psl-names-C3cwe0rg-D1CTmC3a.mjs} +2 -2
- package/dist/psl-names-C3cwe0rg-D1CTmC3a.mjs.map +1 -0
- package/dist/{query-lane-context-BCEoKy0_-DQOOliDn.d.mts → query-lane-context-BCEoKy0_-CBzNngG3.d.mts} +8 -8
- package/dist/query-lane-context-BCEoKy0_-CBzNngG3.d.mts.map +1 -0
- package/dist/query-lane-context-DElm2VXX.d.mts +1 -0
- package/dist/{referential-action-sql-Cw1Q0YSd.d.mts → referential-action-sql-B2vKoUK6.d.mts} +3 -3
- package/dist/referential-action-sql-B2vKoUK6.d.mts.map +1 -0
- package/dist/{referential-action-sql-DSqkrySN.mjs → referential-action-sql-BLzCtTi8.mjs} +2 -2
- package/dist/referential-action-sql-BLzCtTi8.mjs.map +1 -0
- package/dist/relational-core.d.mts +13 -13
- package/dist/relational-core.mjs +7 -7
- package/dist/relational-core__aggregate-descriptor-registry.d.mts +2 -2
- package/dist/relational-core__aggregate-descriptor-registry.d.mts.map +1 -1
- package/dist/relational-core__aggregate-descriptor-registry.mjs +1 -1
- package/dist/relational-core__ast.d.mts +4 -4
- package/dist/relational-core__ast.mjs +4 -4
- package/dist/relational-core__codec-descriptor-registry.d.mts +5 -5
- package/dist/relational-core__codec-descriptor-registry.d.mts.map +1 -1
- package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
- package/dist/relational-core__collection-methods.d.mts +2 -2
- package/dist/relational-core__contract-free.d.mts +6 -6
- package/dist/relational-core__contract-free.d.mts.map +1 -1
- package/dist/relational-core__contract-free.mjs +4 -4
- package/dist/relational-core__contract-free.mjs.map +1 -1
- package/dist/relational-core__expression.d.mts +3 -3
- package/dist/relational-core__expression.mjs +1 -1
- package/dist/relational-core__functions.d.mts +1 -1
- package/dist/relational-core__functions.mjs +1 -1
- package/dist/relational-core__index-reference.d.mts +2 -2
- package/dist/relational-core__index-reference.mjs +1 -1
- package/dist/relational-core__middleware.d.mts +2 -2
- package/dist/relational-core__middleware.mjs +1 -1
- package/dist/relational-core__plan.d.mts +3 -3
- package/dist/relational-core__plan.mjs +1 -1
- package/dist/relational-core__query-lane-context.d.mts +2 -2
- package/dist/relational-core__types.d.mts +2 -2
- package/dist/{resolve-storage-table-DZsfnzeW.mjs → resolve-storage-table-BHLQsOza.mjs} +3 -3
- package/dist/resolve-storage-table-BHLQsOza.mjs.map +1 -0
- package/dist/{resolve-storage-table-CxmU_MPu.d.mts → resolve-storage-table-DCqtmnSU.d.mts} +4 -4
- package/dist/resolve-storage-table-DCqtmnSU.d.mts.map +1 -0
- package/dist/{runtime-Z3nD7ix1.mjs → runtime-6tH1yOxK.mjs} +2 -2
- package/dist/runtime-6tH1yOxK.mjs.map +1 -0
- package/dist/{runtime-Bmndf-fm.d.mts → runtime-CF6rAlE5.d.mts} +3 -3
- package/dist/runtime-CF6rAlE5.d.mts.map +1 -0
- package/dist/runtime.d.mts +4 -4
- package/dist/runtime.mjs +1 -1
- package/dist/runtime__internal__prepared-query.d.mts +1 -1
- package/dist/runtime__internal__prepared-query.mjs +1 -1
- package/dist/{schema-differ-DmP74bB8-0ZupRJKb.d.mts → schema-differ-DmP74bB8-Be7PDHNx.d.mts} +6 -6
- package/dist/schema-differ-DmP74bB8-Be7PDHNx.d.mts.map +1 -0
- package/dist/schema-ir.d.mts +1 -1
- package/dist/schema-ir.mjs +1 -1
- package/dist/schema-ir__naming.d.mts +1 -1
- package/dist/schema-ir__naming.mjs +1 -1
- package/dist/schema-ir__types.d.mts +2 -2
- package/dist/schema-ir__types.mjs +1 -1
- package/dist/{schema-verify-C3wbdviw-BifQBCpu.mjs → schema-verify-C3wbdviw-DMjIubOr.mjs} +5 -5
- package/dist/schema-verify-C3wbdviw-DMjIubOr.mjs.map +1 -0
- package/dist/{serialized-index-CrgG8ct1-DDfHKUEK.d.mts → serialized-index-CrgG8ct1-DKVJ7TDX.d.mts} +4 -4
- package/dist/serialized-index-CrgG8ct1-DKVJ7TDX.d.mts.map +1 -0
- package/dist/{serialized-index-DjCCnXB1-C_YccpTL.mjs → serialized-index-DjCCnXB1-DMA7BtO2.mjs} +4 -4
- package/dist/serialized-index-DjCCnXB1-DMA7BtO2.mjs.map +1 -0
- package/dist/{sql-contract-serializer-sMY3prTx-BkFoHhST.mjs → sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs} +7 -7
- package/dist/sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs.map +1 -0
- package/dist/{sql-data-type-D7M-YTTY-C9oWGZ3z.mjs → sql-data-type-D7M-YTTY-D2vRqDxn.mjs} +3 -3
- package/dist/sql-data-type-D7M-YTTY-D2vRqDxn.mjs.map +1 -0
- package/dist/{sql-execution-plan-3uxYjHyu-C0Z4_RSY.d.mts → sql-execution-plan-3uxYjHyu-Cl0eB5av.d.mts} +3 -3
- package/dist/sql-execution-plan-3uxYjHyu-Cl0eB5av.d.mts.map +1 -0
- package/dist/{sql-expression-BAtH-2UU.d.mts → sql-expression-B4BrhGPi.d.mts} +2 -2
- package/dist/sql-expression-B4BrhGPi.d.mts.map +1 -0
- package/dist/{sql-expression-BJCuy-WI.mjs → sql-expression-CKgKznXS.mjs} +3 -3
- package/dist/sql-expression-CKgKznXS.mjs.map +1 -0
- package/dist/{sql-index-ByAAE7K8-BpbPBWPD.d.mts → sql-index-ByAAE7K8-Dqtn_vUL.d.mts} +4 -4
- package/dist/sql-index-ByAAE7K8-Dqtn_vUL.d.mts.map +1 -0
- package/dist/{sql-node-kEz6YFZo-v2F7delx.d.mts → sql-node-kEz6YFZo-1ogT6Cxt.d.mts} +2 -2
- package/dist/sql-node-kEz6YFZo-1ogT6Cxt.d.mts.map +1 -0
- package/dist/{sql-storage-DeCAh5Hi-nJQUIgfL.d.mts → sql-storage-DeCAh5Hi-CEM-m8cs.d.mts} +5 -5
- package/dist/sql-storage-DeCAh5Hi-CEM-m8cs.d.mts.map +1 -0
- package/dist/{storage-table-Bf1ZjnxO-NvkG2pgq.d.mts → storage-table-Bf1ZjnxO-pUj6pyP0.d.mts} +7 -7
- package/dist/storage-table-Bf1ZjnxO-pUj6pyP0.d.mts.map +1 -0
- package/dist/{storage-table-DDvN83mw-CbCFr5wm.mjs → storage-table-DDvN83mw-DkbBFmK9.mjs} +4 -4
- package/dist/storage-table-DDvN83mw-DkbBFmK9.mjs.map +1 -0
- package/dist/{storage-value-set-BGlj5Uus-CvZD--GG.d.mts → storage-value-set-BGlj5Uus-ny2k-0PA.d.mts} +3 -3
- package/dist/storage-value-set-BGlj5Uus-ny2k-0PA.d.mts.map +1 -0
- package/dist/{transaction-state-BfXhs7D7-3k10jZ8I.mjs → transaction-state-BfXhs7D7-DhmbySW9.mjs} +2 -2
- package/dist/transaction-state-BfXhs7D7-DhmbySW9.mjs.map +1 -0
- package/dist/{transaction-state-DR3nKTmH-D6VdY7YX.d.mts → transaction-state-DR3nKTmH-Dcu5lbwd.d.mts} +11 -11
- package/dist/transaction-state-DR3nKTmH-Dcu5lbwd.d.mts.map +1 -0
- package/dist/{types-CRbj_WQf.d.mts → types-B0J6ZASy.d.mts} +12 -12
- package/dist/types-B0J6ZASy.d.mts.map +1 -0
- package/dist/{types-C7610W2l.mjs → types-CTdSkl0s.mjs} +3 -3
- package/dist/types-CTdSkl0s.mjs.map +1 -0
- package/dist/{types-Cq6ImLAB-BqOfLAYG.d.mts → types-Cq6ImLAB-BRpWMRJe.d.mts} +10 -10
- package/dist/types-Cq6ImLAB-BRpWMRJe.d.mts.map +1 -0
- package/dist/{types-CuCxAQat-BBGUHEku.d.mts → types-CuCxAQat-Dz8P4xyt.d.mts} +3 -3
- package/dist/types-CuCxAQat-Dz8P4xyt.d.mts.map +1 -0
- package/dist/types-CwP7Hgmt.d.mts +1 -0
- package/dist/{types-DfKvtJwS-tndgHh53.d.mts → types-DfKvtJwS-CrpWTGBJ.d.mts} +11 -11
- package/dist/types-DfKvtJwS-CrpWTGBJ.d.mts.map +1 -0
- package/dist/{types-DoyiTsjg-DDTmYyNY.mjs → types-DoyiTsjg-2YMhMJDA.mjs} +3 -3
- package/dist/types-DoyiTsjg-2YMhMJDA.mjs.map +1 -0
- package/dist/{types-DriMIMNQ-BBacSgaI.d.mts → types-DriMIMNQ-Cs5YW-O-.d.mts} +3 -3
- package/dist/types-DriMIMNQ-Cs5YW-O-.d.mts.map +1 -0
- package/dist/{types-NTQsD2MS-DAP2yVDn.mjs → types-NTQsD2MS-xcLtvKO9.mjs} +2 -2
- package/dist/types-NTQsD2MS-xcLtvKO9.mjs.map +1 -0
- package/dist/{types-TXO7x1BA-DuW4v0rw.d.mts → types-TXO7x1BA-B8fGzOYJ.d.mts} +12 -12
- package/dist/types-TXO7x1BA-B8fGzOYJ.d.mts.map +1 -0
- package/dist/types-ljUNyiWe.d.mts +1 -0
- package/dist/{unique-constraint-M5TlQnJQ-BiIHJ85k.d.mts → unique-constraint-M5TlQnJQ-qX-maNUV.d.mts} +3 -3
- package/dist/unique-constraint-M5TlQnJQ-qX-maNUV.d.mts.map +1 -0
- package/dist/{util-BBgcP3gI-XJBkxo1K.mjs → util-BBgcP3gI-CpL-0VuC.mjs} +2 -2
- package/dist/util-BBgcP3gI-CpL-0VuC.mjs.map +1 -0
- package/dist/{validators-xXKEHvnw.mjs → validators-BwA7ttZM.mjs} +7 -7
- package/dist/validators-BwA7ttZM.mjs.map +1 -0
- package/dist/{validators-BDuMio1F.d.mts → validators-FJs8HvFr.d.mts} +6 -6
- package/dist/validators-FJs8HvFr.d.mts.map +1 -0
- package/dist/{value-set-derivation-hook-BhgGVtw0.d.mts → value-set-derivation-hook-3E437jPU.d.mts} +3 -3
- package/dist/value-set-derivation-hook-3E437jPU.d.mts.map +1 -0
- package/dist/{value-set-derivation-hook-Di9JZ0X7.mjs → value-set-derivation-hook-HVaxhALD.mjs} +2 -2
- package/dist/value-set-derivation-hook-HVaxhALD.mjs.map +1 -0
- package/dist/{verify-BVk5bjdH-dq5M4iIh.mjs → verify-BVk5bjdH-DhKm6hB3.mjs} +3 -3
- package/dist/verify-BVk5bjdH-DhKm6hB3.mjs.map +1 -0
- package/dist/{verify-zDRnw0Rn.d.mts → verify-DHXbuZPB.d.mts} +2 -2
- package/dist/verify-DHXbuZPB.d.mts.map +1 -0
- package/package.json +18 -18
- package/dist/aggregate-descriptor-registry-Dd7Uj7DJ.mjs.map +0 -1
- package/dist/ast-BJs2669T.mjs.map +0 -1
- package/dist/ast-BySjcUKx.d.mts.map +0 -1
- package/dist/attribute-specs-BsaemIyu.d.mts.map +0 -1
- package/dist/authored-check-naming-CIX7Bbyh.mjs.map +0 -1
- package/dist/authored-check-naming-CK6T_Dfh.d.mts.map +0 -1
- package/dist/authoring-entity-types-CgKIgWq5-Dxf_T0Ih.d.mts.map +0 -1
- package/dist/canonicalization-hooks-CYnW_sGn.d.mts.map +0 -1
- package/dist/canonicalization-hooks-dmXkOR4a.mjs.map +0 -1
- package/dist/check-constraint-B7qGu6rc-CBVYAMwG.d.mts.map +0 -1
- package/dist/codec-descriptor-registry-MG2bFxW_.mjs.map +0 -1
- package/dist/collection-methods-BTknGdHI.d.mts +0 -1
- package/dist/collection-methods-D2UnCS0S-CRYoAOtB.d.mts.map +0 -1
- package/dist/config-types-BbBY5_GQ.mjs.map +0 -1
- package/dist/config-types-D8quwydu.d.mts.map +0 -1
- package/dist/contract-builder-D7cTmhfs.mjs.map +0 -1
- package/dist/contract-builder-xFftVmD8.d.mts.map +0 -1
- package/dist/contract-errors-BCN6RVI5-5IHBF_lg.mjs.map +0 -1
- package/dist/contract-view-BMR5IWk4.mjs.map +0 -1
- package/dist/contract-view-BgpEwVz0.d.mts.map +0 -1
- package/dist/control-BW6gbqvb.d.mts.map +0 -1
- package/dist/control-DnFJf5_F.mjs.map +0 -1
- package/dist/control-adapter-Bn0uhplA-D0fhkvnJ.d.mts.map +0 -1
- package/dist/control-adapter-DRlEXxsv.mjs.map +0 -1
- package/dist/control-adapter-El4czoUh.d.mts.map +0 -1
- package/dist/data-type-BMnEHaW3.mjs.map +0 -1
- package/dist/data-type-iatMyRs6.d.mts.map +0 -1
- package/dist/data-type-support-a9BR-PbH.d.mts.map +0 -1
- package/dist/data-type-support-juGV2d9c.mjs.map +0 -1
- package/dist/db-BmrN9nRS-MT5cfCJy.d.mts.map +0 -1
- package/dist/ddl-types-By5mT2_S--j4lTxme.d.mts.map +0 -1
- package/dist/default-mapping-CAOONlKQ-v7GTIkjE.d.mts.map +0 -1
- package/dist/default-table-name-BfFY8qYR-lHNcVmY5.mjs.map +0 -1
- package/dist/derived-checks-D5HVRvqN-B37oe30Z.mjs.map +0 -1
- package/dist/derived-checks-DpPkO6Dt-D6tfanWv.d.mts.map +0 -1
- package/dist/diagnostics-IM48vCjC.mjs.map +0 -1
- package/dist/diff-D2PJJkGv.d.mts.map +0 -1
- package/dist/diff-DZ82XaGR.mjs.map +0 -1
- package/dist/dist-C_q1_QR9.mjs.map +0 -1
- package/dist/dist-D8RKUdwh.mjs.map +0 -1
- package/dist/dist-x6jvtkKM.mjs.map +0 -1
- package/dist/driver-types-DRsYeq3j-X_D6hNMZ.d.mts.map +0 -1
- package/dist/entity-handle-lowering-hook-93syhZ0p.d.mts.map +0 -1
- package/dist/entity-handle-lowering-hook-B3atrRKX.mjs.map +0 -1
- package/dist/entity-kinds-JR5SAm5h-ZkDejOUK.mjs.map +0 -1
- package/dist/entity-kinds-OhCjfrIe.d.mts.map +0 -1
- package/dist/errors-B5g0xWro-mWH2C07F.mjs.map +0 -1
- package/dist/exports-C3wGYtID-Bg6ThaBe.mjs.map +0 -1
- package/dist/expression-6ld_ZQL6-CQghHqQ4.d.mts.map +0 -1
- package/dist/expression-BLiObOS8.d.mts +0 -2
- package/dist/expression-CieaNuRM-BpwVyjJL.d.mts.map +0 -1
- package/dist/expression-impl-B-XNINxr-vYwKVFeP.mjs.map +0 -1
- package/dist/factories-C4JbtO84.mjs.map +0 -1
- package/dist/factories-CfHDga-q.d.mts.map +0 -1
- package/dist/foreign-key-materialization-BPQqd0qF.mjs.map +0 -1
- package/dist/foreign-key-materialization-CgW18KP-.d.mts.map +0 -1
- package/dist/foreign-key-qkDFfG8t-Fyrzd0VI.d.mts.map +0 -1
- package/dist/functions-0YWByawj.mjs.map +0 -1
- package/dist/functions-DTInIMZT.d.mts.map +0 -1
- package/dist/generator-functions-D_qdqBV--BoeJwWsz.mjs.map +0 -1
- package/dist/index-BAxGJxON.d.mts.map +0 -1
- package/dist/index-equivalence-DswCiq5l-D5VK0qTy.mjs.map +0 -1
- package/dist/index-ffCr9ySU.d.mts.map +0 -1
- package/dist/index-naming-BOcJT1B3-18gQUduD.mjs.map +0 -1
- package/dist/index-naming-C7pme5Pj.d.mts.map +0 -1
- package/dist/index-reference-4wsdeB7v-DiTLLldN.d.mts.map +0 -1
- package/dist/index-reference-DR62gjQS.mjs.map +0 -1
- package/dist/index-reference-Da9mdOjD.d.mts +0 -1
- package/dist/index-type-validation-Bcme_Ust.mjs.map +0 -1
- package/dist/index-type-validation-Ibtp3RKo.d.mts.map +0 -1
- package/dist/index-types-ByX8MLso.d.mts +0 -1
- package/dist/index-types-H1O43iYT-ONvDbszL.d.mts.map +0 -1
- package/dist/index-types-pC_5vADQ-TTUXAfmL.mjs.map +0 -1
- package/dist/interpreter-BDpym-rc-BZVFp5GU.mjs.map +0 -1
- package/dist/ir-BjC1VOuq.d.mts.map +0 -1
- package/dist/ir-I-xciGUH.mjs.map +0 -1
- package/dist/middleware-DHkW6pRr-CFiQojK4.d.mts.map +0 -1
- package/dist/middleware-GO31SJSv.d.mts +0 -1
- package/dist/middleware-yBAfiVWn-CzNCthJT.mjs.map +0 -1
- package/dist/migration-DWLbMM34.d.mts.map +0 -1
- package/dist/migration-Dy_4Wmiy.mjs.map +0 -1
- package/dist/naming-BcD36g9T-DFyaudUa.d.mts.map +0 -1
- package/dist/naming-bM5qm5PY-DdginUhA.mjs.map +0 -1
- package/dist/opaque-sql-Dset3kln-BzzXoO94.mjs.map +0 -1
- package/dist/pack-BifOs83a.mjs.map +0 -1
- package/dist/pack-CdaZMfI_.d.mts.map +0 -1
- package/dist/plan-Cr4azjnG-lIrzIrmu.d.mts.map +0 -1
- package/dist/plan-Dh0LbYIv-Crx5-ThG.mjs.map +0 -1
- package/dist/plan-OXQ8s6Ee.d.mts +0 -2
- package/dist/psl-attribute-parsing-BCsFWsSp-LaNsbcrw.mjs.map +0 -1
- package/dist/psl-build-BYXXz2XD.d.mts.map +0 -1
- package/dist/psl-build-fwoI6rBO.mjs.map +0 -1
- package/dist/psl-column-resolution-ChZqioOc-DcjGSXDp.d.mts.map +0 -1
- package/dist/psl-field-resolution-C5KQ7kzP-DH8oSBIL.mjs.map +0 -1
- package/dist/psl-infer-CaEnF_x3.mjs.map +0 -1
- package/dist/psl-infer-CpTRaF5I.d.mts.map +0 -1
- package/dist/psl-names-C3cwe0rg-CsuHOV7E.mjs.map +0 -1
- package/dist/query-lane-context-BCEoKy0_-DQOOliDn.d.mts.map +0 -1
- package/dist/query-lane-context-BssPNZey.d.mts +0 -1
- package/dist/referential-action-sql-Cw1Q0YSd.d.mts.map +0 -1
- package/dist/referential-action-sql-DSqkrySN.mjs.map +0 -1
- package/dist/resolve-storage-table-CxmU_MPu.d.mts.map +0 -1
- package/dist/resolve-storage-table-DZsfnzeW.mjs.map +0 -1
- package/dist/runtime-Bmndf-fm.d.mts.map +0 -1
- package/dist/runtime-Z3nD7ix1.mjs.map +0 -1
- package/dist/schema-differ-DmP74bB8-0ZupRJKb.d.mts.map +0 -1
- package/dist/schema-verify-C3wbdviw-BifQBCpu.mjs.map +0 -1
- package/dist/serialized-index-CrgG8ct1-DDfHKUEK.d.mts.map +0 -1
- package/dist/serialized-index-DjCCnXB1-C_YccpTL.mjs.map +0 -1
- package/dist/sql-contract-serializer-sMY3prTx-BkFoHhST.mjs.map +0 -1
- package/dist/sql-data-type-D7M-YTTY-C9oWGZ3z.mjs.map +0 -1
- package/dist/sql-execution-plan-3uxYjHyu-C0Z4_RSY.d.mts.map +0 -1
- package/dist/sql-expression-BAtH-2UU.d.mts.map +0 -1
- package/dist/sql-expression-BJCuy-WI.mjs.map +0 -1
- package/dist/sql-index-ByAAE7K8-BpbPBWPD.d.mts.map +0 -1
- package/dist/sql-node-kEz6YFZo-v2F7delx.d.mts.map +0 -1
- package/dist/sql-storage-DeCAh5Hi-nJQUIgfL.d.mts.map +0 -1
- package/dist/storage-table-Bf1ZjnxO-NvkG2pgq.d.mts.map +0 -1
- package/dist/storage-table-DDvN83mw-CbCFr5wm.mjs.map +0 -1
- package/dist/storage-value-set-BGlj5Uus-CvZD--GG.d.mts.map +0 -1
- package/dist/transaction-state-BfXhs7D7-3k10jZ8I.mjs.map +0 -1
- package/dist/transaction-state-DR3nKTmH-D6VdY7YX.d.mts.map +0 -1
- package/dist/types-BUggiEEH.d.mts +0 -1
- package/dist/types-C7610W2l.mjs.map +0 -1
- package/dist/types-CRbj_WQf.d.mts.map +0 -1
- package/dist/types-Cq6ImLAB-BqOfLAYG.d.mts.map +0 -1
- package/dist/types-CuCxAQat-BBGUHEku.d.mts.map +0 -1
- package/dist/types-DDqbg3WC.d.mts +0 -1
- package/dist/types-DfKvtJwS-tndgHh53.d.mts.map +0 -1
- package/dist/types-DoyiTsjg-DDTmYyNY.mjs.map +0 -1
- package/dist/types-DriMIMNQ-BBacSgaI.d.mts.map +0 -1
- package/dist/types-NTQsD2MS-DAP2yVDn.mjs.map +0 -1
- package/dist/types-TXO7x1BA-DuW4v0rw.d.mts.map +0 -1
- package/dist/unique-constraint-M5TlQnJQ-BiIHJ85k.d.mts.map +0 -1
- package/dist/util-BBgcP3gI-XJBkxo1K.mjs.map +0 -1
- package/dist/validators-BDuMio1F.d.mts.map +0 -1
- package/dist/validators-xXKEHvnw.mjs.map +0 -1
- package/dist/value-set-derivation-hook-BhgGVtw0.d.mts.map +0 -1
- package/dist/value-set-derivation-hook-Di9JZ0X7.mjs.map +0 -1
- package/dist/verify-BVk5bjdH-dq5M4iIh.mjs.map +0 -1
- package/dist/verify-zDRnw0Rn.d.mts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BAxGJxON.d.mts","names":[],"sources":["../../../../2-sql/5-runtime/dist/activity-handle-Ax5eP79U.d.mts","../../../../2-sql/5-runtime/dist/index.d.mts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-equivalence-DswCiq5l-D5VK0qTy.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/index-equivalence-DswCiq5l.mjs"],"sourcesContent":["import { SqlIndexIR } from \"@internal/sql-schema-ir/types\";\n//#region src/index-equivalence.ts\n/** The schema node the planner builds for an index the contract states, which is what it compares. */\nfunction indexNodeOf(index) {\n\treturn new SqlIndexIR({\n\t\t...index,\n\t\tannotations: void 0,\n\t\tdependsOn: void 0,\n\t\tpartial: index.where !== void 0\n\t});\n}\n/** Whether the planner sees two indexes as the same index apart from their names. */\nfunction identicalIndexes(a, b) {\n\treturn a.contentEquals(b, {\n\t\tcolumnPresence: \"matching\",\n\t\tbodies: \"verbatim\"\n\t});\n}\n/** The index the contract build derives to back a foreign key on `columns`, as the planner sees it. */\nfunction derivedBackingIndexNode(columns) {\n\treturn new SqlIndexIR({\n\t\tnaming: {\n\t\t\tkind: \"exact\",\n\t\t\tname: \"derived backing index\"\n\t\t},\n\t\tcolumns,\n\t\twhere: void 0,\n\t\tunique: false,\n\t\ttype: void 0,\n\t\toptions: void 0,\n\t\tannotations: void 0,\n\t\tdependsOn: void 0,\n\t\tpartial: false\n\t});\n}\nfunction sameColumns(a, b) {\n\treturn a.length === b.length && startsWithColumns(a, b);\n}\n/** Whether `columns` begins with `leading`, in order: an index or key on such columns serves lookups on `leading`. */\nfunction startsWithColumns(columns, leading) {\n\treturn leading.length <= columns.length && leading.every((column, position) => column === columns[position]);\n}\n/**\n* The key that serves every lookup of `index`, when `index` is a plain non-unique index: one the planner sees as identical to an index derived on its columns. A unique index serves only when it has no predicate.\n*/\nfunction servingKey(index, table) {\n\tconst { columns } = index;\n\tif (columns === void 0 || !identicalIndexes(index, derivedBackingIndexNode(columns))) return;\n\tif (table.primaryKey !== void 0 && sameColumns(table.primaryKey.columns, columns)) return {\n\t\tkind: \"primaryKey\",\n\t\tprimaryKey: table.primaryKey\n\t};\n\tconst unique = table.uniques.find((constraint) => sameColumns(constraint.columns, columns));\n\tif (unique !== void 0) return {\n\t\tkind: \"uniqueConstraint\",\n\t\tunique\n\t};\n\tconst uniqueIndex = table.indexes.find((candidate) => {\n\t\tconst node = table.nodeOf(candidate);\n\t\treturn node.unique && node.where === void 0 && node.columns !== void 0 && sameColumns(node.columns, columns);\n\t});\n\treturn uniqueIndex === void 0 ? void 0 : {\n\t\tkind: \"index\",\n\t\tindex: uniqueIndex\n\t};\n}\n/**\n* Whether the contract build would drop the backing index it derives for a foreign key on `columns`, because the table already has an identical index or a key serving its lookups. `contract infer` asks this of a live table to decide whether a relation needs `index: false`.\n*/\nfunction derivedBackingIndexIsRedundant(columns, table) {\n\tconst derived = derivedBackingIndexNode(columns);\n\treturn table.indexes.some((index) => identicalIndexes(table.nodeOf(index), derived)) || servingKey(derived, table) !== void 0;\n}\n/** Whether the planner sees `index` as a plain index: its columns, uniqueness and nothing else. */\nfunction isPlainIndexNode(index) {\n\tif (index.columns === void 0) return false;\n\treturn identicalIndexes(index, new SqlIndexIR({\n\t\tnaming: {\n\t\t\tkind: \"exact\",\n\t\t\tname: \"plain index\"\n\t\t},\n\t\tcolumns: index.columns,\n\t\twhere: void 0,\n\t\tunique: index.unique,\n\t\ttype: void 0,\n\t\toptions: void 0,\n\t\tannotations: void 0,\n\t\tdependsOn: void 0,\n\t\tpartial: false\n\t}));\n}\n/**\n* The name of an object of the table that serves lookups on `columns` although the build would keep a derived backing index beside it: a named primary key or unique constraint, or a plain index, whose first columns are `columns`. A source that derives no backing index of its own names it on the relation instead of writing `index: false`.\n*/\nfunction leadingBackingObjectName(columns, table) {\n\tconst { primaryKey } = table;\n\tif (primaryKey?.name !== void 0 && startsWithColumns(primaryKey.columns, columns)) return primaryKey.name;\n\tconst unique = table.uniques.find((constraint) => constraint.name !== void 0 && startsWithColumns(constraint.columns, columns));\n\tif (unique?.name !== void 0) return unique.name;\n\tconst index = table.indexes.find((candidate) => {\n\t\tconst node = table.nodeOf(candidate);\n\t\treturn node.columns !== void 0 && startsWithColumns(node.columns, columns) && isPlainIndexNode(node);\n\t});\n\treturn index === void 0 ? void 0 : table.nameOf(index);\n}\n//#endregion\nexport { sameColumns as a, leadingBackingObjectName as i, identicalIndexes as n, servingKey as o, indexNodeOf as r, startsWithColumns as s, derivedBackingIndexIsRedundant as t };\n\n//# sourceMappingURL=index-equivalence-DswCiq5l.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-ffCr9ySU.d.mts","names":[],"sources":["../../../../2-sql/1-core/operations/dist/index.d.mts"],"mappings":";;;;;UAGU;WACC;WACA;;;;;;;;;KASN,oBAAoB;KACpB,yBAAyB,oBAAoB;KAC7C,0BAA0B,qBAAqB;KAC/C,uBAAuB,kBAAkB;iBAC7B,8BAA8B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-naming-BOcJT1B3-18gQUduD.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/index-naming-BOcJT1B3.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as rendersIndexBody } from \"./index-types-pC_5vADQ.mjs\";\nimport { flushAuthoringWarnings } from \"@internal/framework-components/authoring\";\nimport { assertWireNamePrefixLength, computeIndexContentHash, defaultIndexName } from \"@internal/sql-schema-ir/naming\";\n//#region src/index-naming.ts\n/**\n* Narrows the opaque payload a contributed model attribute returns under\n* `index` (see `AuthoringModelAttributeIndexOutput`). The framework hands the\n* value through untyped because an index's shape belongs to the family; this\n* is the SQL family's boundary check. It proves the structure only — the\n* name/map and expression rules stay where `@@index` enforces them, in\n* {@link lowerAuthoredIndex}.\n*/\nfunction isAuthoredIndexInput(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tconst candidate = { ...value };\n\tif (typeof candidate[\"expression\"] === \"string\" === (Array.isArray(candidate[\"columns\"]) && candidate[\"columns\"].every((element) => typeof element === \"string\"))) return false;\n\tif (!isOptionalString(candidate[\"where\"])) return false;\n\tif (!isOptionalString(candidate[\"map\"])) return false;\n\tif (!isOptionalString(candidate[\"name\"])) return false;\n\tif (candidate[\"unique\"] !== void 0 && typeof candidate[\"unique\"] !== \"boolean\") return false;\n\tif (candidate[\"type\"] === void 0) return candidate[\"options\"] === void 0;\n\tif (typeof candidate[\"type\"] !== \"string\") return false;\n\tconst options = candidate[\"options\"];\n\treturn options === void 0 || typeof options === \"object\" && options !== null && !Array.isArray(options);\n}\nfunction isOptionalString(value) {\n\treturn value === void 0 || typeof value === \"string\";\n}\nconst EXACT_NAME_BODY_PREAMBLE = \"Drift detection compares the authored SQL text byte-for-byte against Postgres's reprinted form, which is only reliable when the text was captured by contract infer.\";\n/**\n* Per-subject remediation: an index or check moves to wire naming via\n* `name:`; a policy has no such parameter — dropping `@@map` makes the\n* block's head the wire prefix.\n*/\nconst EXACT_NAME_BODY_REMEDIATION = {\n\tindex: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted object to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tpolicy: \"For hand-authored definitions, drop @@map and let the policy block's head name the policy; to migrate an adopted policy to wire naming, remove @@map (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tcheck: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted check to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\"\n};\n/** What the user actually wrote, per subject: index and check `map:`, policy `@@map`. */\nconst EXACT_NAME_FEATURE = {\n\tindex: \"map:\",\n\tpolicy: \"@@map\",\n\tcheck: \"map:\"\n};\nconst EXACT_NAME_BODY_WARNING_CODE = \"PN_EXACT_NAME_BODY_COMPARISON\";\n/**\n* Mints the exact-name body-comparison warning for a `map:`-named object\n* carrying a hand-authorable SQL body — fully formed, so the transport and\n* the flush stay generic. `subject` distinguishes the index, policy, and\n* check callers that mint this same warning; the feature name and the\n* remediation are subject-specific end to end, so a batched summary\n* (grouped on code + summary) is true of every object it covers.\n*/\nfunction exactNameBodyWarning(subject, exactName) {\n\tconst item = `${subject} \"${exactName}\"`;\n\tconst feature = EXACT_NAME_FEATURE[subject];\n\tconst tail = `with a SQL body. ${EXACT_NAME_BODY_PREAMBLE} ${EXACT_NAME_BODY_REMEDIATION[subject]}`;\n\treturn {\n\t\tcode: EXACT_NAME_BODY_WARNING_CODE,\n\t\tmessage: `${item} uses ${feature} ${tail}`,\n\t\titem,\n\t\tsummary: `objects use ${feature} ${tail}`\n\t};\n}\n/**\n* Lowers an authored index into the name-identified entity `contract.json`\n* persists: exact mode adopts `map` verbatim (no prefix, no hash); wire\n* mode appends the content-hash suffix to the authored or default prefix.\n* The cross-field guards are the shared enforcement backstop for both\n* authoring surfaces (PSL pre-empts them with span-anchored diagnostics).\n*/\nfunction lowerAuthoredIndex(tableName, authored, warnings, indexTypes) {\n\tif (authored.columns === void 0 === (authored.expression === void 0)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an index takes either fields (columns) or an expression — exactly one, not both.`);\n\tif (authored.map !== void 0 && authored.name !== void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index \"${authored.map}\" on table \"${tableName}\": map and name are mutually exclusive — map adopts an exact physical name, name is a wire prefix.`);\n\tif (authored.expression !== void 0 && authored.name === void 0 && authored.map === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an expression index requires an explicit name (name:) or exact physical name (map:) — a default name cannot be derived from an expression.`);\n\tif (authored.options !== void 0 && authored.type === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": options requires an explicit type — an index with options but no type cannot round-trip through contract infer (the emitted type: would change the wire name).`);\n\tconst unique = authored.unique ?? false;\n\tif (authored.map !== void 0) {\n\t\tconst typeEntry = authored.type === void 0 ? void 0 : indexTypes?.get(authored.type);\n\t\tif (authored.expression !== void 0 || authored.where !== void 0 || typeEntry !== void 0 && rendersIndexBody(typeEntry)) {\n\t\t\tconst warning = exactNameBodyWarning(\"index\", authored.map);\n\t\t\tif (warnings !== void 0) warnings.push(warning);\n\t\t\telse flushAuthoringWarnings([warning]);\n\t\t}\n\t\tconst carried = {\n\t\t\tnaming: {\n\t\t\t\tkind: \"exact\",\n\t\t\t\tname: authored.map\n\t\t\t},\n\t\t\twhere: authored.where,\n\t\t\tunique,\n\t\t\ttype: authored.type,\n\t\t\toptions: authored.options\n\t\t};\n\t\treturn authored.expression !== void 0 ? {\n\t\t\t...carried,\n\t\t\texpression: authored.expression\n\t\t} : {\n\t\t\t...carried,\n\t\t\tcolumns: authored.columns ?? []\n\t\t};\n\t}\n\tconst prefix = authored.name ?? defaultIndexName(tableName, authored.columns ?? []);\n\tassertWireNamePrefixLength(prefix, \"index prefix\");\n\tconst carried = {\n\t\tnaming: {\n\t\t\tkind: \"wire\",\n\t\t\tprefix,\n\t\t\thash: computeIndexContentHash({\n\t\t\t\t...authored.columns !== void 0 && { columns: authored.columns },\n\t\t\t\t...authored.expression !== void 0 && { expression: authored.expression },\n\t\t\t\t...authored.where !== void 0 && { where: authored.where },\n\t\t\t\tunique,\n\t\t\t\t...authored.type !== void 0 && { type: authored.type },\n\t\t\t\t...authored.options !== void 0 && { options: authored.options }\n\t\t\t})\n\t\t},\n\t\twhere: authored.where,\n\t\tunique,\n\t\ttype: authored.type,\n\t\toptions: authored.options\n\t};\n\treturn authored.expression !== void 0 ? {\n\t\t...carried,\n\t\texpression: authored.expression\n\t} : {\n\t\t...carried,\n\t\tcolumns: authored.columns ?? []\n\t};\n}\n//#endregion\nexport { isAuthoredIndexInput as n, lowerAuthoredIndex as r, exactNameBodyWarning as t };\n\n//# sourceMappingURL=index-naming-BOcJT1B3.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-naming-C7pme5Pj.d.mts","names":[],"sources":["../../../../2-sql/1-core/contract/dist/index-naming.d.mts"],"mappings":";;;;;;;;;KAQK;WACM;WACA;;WAEA;WACA;;;;;;;;;KASN;WACM;WACA;;WAEA;WACA,SAAS;;;;;;;;;KASf,qBAAqB,wBAAwB;WACvC;WACA;WACA;WACA;;;;;;;;;;iBAUM,qBAAqB,iBAAiB,SAAS;;;;;;;;;iBAS/C,qBAAqB,uCAAuC,oBAAoB;;;;;;;;iBAQhF,mBAAmB,mBAAmB,UAAU,oBAAoB,WAAW,sBAAsB,aAAa,KAAK,4BAA4B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-reference-4wsdeB7v-DiTLLldN.d.mts","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/index-reference-4wsdeB7v.d.mts"],"mappings":";;;;;;;;UAMU,eAAe,gBAAgB,SAAS,eAAe,WAAW,gBAAgB,SAAS,eAAe,WAAW,eAAe,sDAAsD,gBAAgB,SAAS,uCAAuC,SAAS;;WAElQ,SAAS;WACT,MAAM;WACN,SAAS;;;KAGf,kBAAkB,KAAK;WACjB,cAAc;IACrB,SAAS;WACF,YAAY;IACnB;KACC,uBAAuB,SAAS,KAAK;WAC/B,eAAe;gBACV,UAAU,uBAAuB,qBAAqB,UAAU,QAAQ;WAC7E;WACA;IACP,WAAW,wBAAwB,QAAQ,+BAA+B;KACzE,YAAY,KAAK;WACX,YAAY;IACnB;KACC,eAAe,KAAK;WACd,eAAe,gBAAgB;IACtC;;KAEC,aAAa,GAAG,OAAO,oBAAoB,kBAAkB,WAAW,MAAM;KAC9E,QAAQ,GAAG,QAAQ,KAAK,sBAAsB,gBAAgB;;KAE9D,uBAAuB,GAAG,0BAA0B,OAAO,kBAAkB,QAAQ;WAC/E,MAAM;mBACE,QAAQ,aAAa,GAAG,gBAAgB,OAAO,kBAAkB,QAAQ;WACjF,MAAM;;;;;KAKZ,qBAAqB,SAAS;WACxB,yBAAyB;WACzB,eAAe;gBACV,OAAO,kBAAkB,mBAAmB,QAAQ,aAAa,GAAG,gBAAgB,MAAM,eAAe,uBAAuB,SAAS,aAAa,GAAG,OAAO,YAAY,aAAa,GAAG,OAAO,eAAe,aAAa,GAAG;UACxO;WACC;WACA;WACA;aACE,SAAS,cAAc,KAAK;;;WAG9B,SAAS,uBAAuB,WAAW;;KAEjD,aAAa,KAAK;;iBAEN,uBAAuB,SAAS,cAAc,aAAa;;;;iBAI3D,sBAAsB,OAAO,uBAAuB,SAAS,eAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-reference-DR62gjQS.mjs","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/exports/index-reference.mjs"],"sourcesContent":["import { structuredError } from \"@internal/utils/structured-error\";\n//#region src/index-reference.ts\n/** The name the contract source gave an index: the prefix of a wire name, or an exact (`map:`) name. */\nfunction authoredIndexName(index) {\n\treturn index.prefix ?? index.name;\n}\n/** The authored names of the indexes of type `type`, leaving out a name another index shares. The run-time counterpart of `UniqueIndexNamesOfType`. */\nfunction uniqueIndexNamesOfType(indexes, type) {\n\tconst counts = /* @__PURE__ */ new Map();\n\tfor (const index of indexes) {\n\t\tconst name = authoredIndexName(index);\n\t\tcounts.set(name, (counts.get(name) ?? 0) + 1);\n\t}\n\treturn indexes.filter((index) => index.type === type && counts.get(authoredIndexName(index)) === 1).map(authoredIndexName);\n}\n/**\n* The index references of a table, keyed by authored name. A name more than one index shares throws `ORM.ARGUMENT_INVALID` when it is read.\n*/\nfunction createIndexReferences(input) {\n\tconst byName = /* @__PURE__ */ new Map();\n\tfor (const index of input.table.indexes) {\n\t\tconst authoredName = authoredIndexName(index);\n\t\tconst columns = Object.fromEntries((index.columns ?? []).map((column) => [column, input.column(column)]));\n\t\tconst reference = Object.freeze({\n\t\t\tcolumns: Object.freeze(columns),\n\t\t\ttype: index.type,\n\t\t\toptions: index.options\n\t\t});\n\t\tbyName.set(authoredName, [...byName.get(authoredName) ?? [], reference]);\n\t}\n\tconst references = {};\n\tfor (const [authoredName, [reference, ...others]] of byName) Object.defineProperty(references, authoredName, {\n\t\tenumerable: true,\n\t\tget: () => {\n\t\t\tif (others.length > 0) throw ambiguousIndexName(input, authoredName);\n\t\t\treturn reference;\n\t\t}\n\t});\n\treturn Object.freeze(references);\n}\nfunction ambiguousIndexName(input, authoredName) {\n\treturn structuredError(\"ORM.ARGUMENT_INVALID\", `Table \"${input.tableName}\" has more than one index named \"${authoredName}\".`, {\n\t\twhy: \"An index is read by the name its contract source gave it, and these indexes share that name.\",\n\t\tfix: `Give each of these indexes of table \"${input.tableName}\" its own name in the contract source.`,\n\t\tmeta: {\n\t\t\tnamespaceId: input.namespaceId,\n\t\t\ttableName: input.tableName,\n\t\t\tindex: authoredName\n\t\t}\n\t});\n}\n//#endregion\nexport { createIndexReferences, uniqueIndexNamesOfType };\n\n//# sourceMappingURL=index-reference.mjs.map"],"mappings":";;;AAGA,SAAS,kBAAkB,OAAO;CACjC,OAAO,MAAM,UAAU,MAAM;AAC9B;;AAEA,SAAS,uBAAuB,SAAS,MAAM;CAC9C,MAAM,yBAAyB,IAAI,IAAI;CACvC,KAAK,MAAM,SAAS,SAAS;EAC5B,MAAM,OAAO,kBAAkB,KAAK;EACpC,OAAO,IAAI,OAAO,OAAO,IAAI,IAAI,KAAK,KAAK,CAAC;CAC7C;CACA,OAAO,QAAQ,QAAQ,UAAU,MAAM,SAAS,QAAQ,OAAO,IAAI,kBAAkB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,iBAAiB;AAC1H;;;;AAIA,SAAS,sBAAsB,OAAO;CACrC,MAAM,yBAAyB,IAAI,IAAI;CACvC,KAAK,MAAM,SAAS,MAAM,MAAM,SAAS;EACxC,MAAM,eAAe,kBAAkB,KAAK;EAC5C,MAAM,UAAU,OAAO,aAAa,MAAM,WAAW,CAAC,EAAA,CAAG,KAAK,WAAW,CAAC,QAAQ,MAAM,OAAO,MAAM,CAAC,CAAC,CAAC;EACxG,MAAM,YAAY,OAAO,OAAO;GAC/B,SAAS,OAAO,OAAO,OAAO;GAC9B,MAAM,MAAM;GACZ,SAAS,MAAM;EAChB,CAAC;EACD,OAAO,IAAI,cAAc,CAAC,GAAG,OAAO,IAAI,YAAY,KAAK,CAAC,GAAG,SAAS,CAAC;CACxE;CACA,MAAM,aAAa,CAAC;CACpB,KAAK,MAAM,CAAC,cAAc,CAAC,WAAW,GAAG,YAAY,QAAQ,OAAO,eAAe,YAAY,cAAc;EAC5G,YAAY;EACZ,WAAW;GACV,IAAI,OAAO,SAAS,GAAG,MAAM,mBAAmB,OAAO,YAAY;GACnE,OAAO;EACR;CACD,CAAC;CACD,OAAO,OAAO,OAAO,UAAU;AAChC;AACA,SAAS,mBAAmB,OAAO,cAAc;CAChD,OAAO,gBAAgB,wBAAwB,UAAU,MAAM,UAAU,mCAAmC,aAAa,KAAK;EAC7H,KAAK;EACL,KAAK,wCAAwC,MAAM,UAAU;EAC7D,MAAM;GACL,aAAa,MAAM;GACnB,WAAW,MAAM;GACjB,OAAO;EACR;CACD,CAAC;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./index-reference-4wsdeB7v-DiTLLldN.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-type-validation-Bcme_Ust.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/index-type-validation.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { type } from \"arktype\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\n//#region src/index-type-validation.ts\nfunction validateIndexTypes(contract, indexTypeRegistry, codecTraits) {\n\tfor (const [namespaceId, ns] of Object.entries(contract.storage.namespaces)) for (const [tableName, table] of Object.entries(ns.entries.table ?? {})) for (const index of table.indexes) {\n\t\tif (index.type === void 0) continue;\n\t\tconst entry = indexTypeRegistry.get(index.type);\n\t\tif (entry === void 0) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" index \"${index.name}\" uses unregistered index type \"${index.type}\"`, \"storage\");\n\t\tconst optionsValue = index.options ?? {};\n\t\tconst result = entry.options(optionsValue);\n\t\tif (result instanceof type.errors) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" index \"${index.name}\" has invalid options for type \"${index.type}\": ${result.summary}`, \"storage\");\n\t\tassertColumnTraits(entry, index, table.columns, codecTraits);\n\t}\n}\nfunction assertColumnTraits(entry, index, columns, codecTraits) {\n\tconst required = entry.columnTraits ?? [];\n\tif (required.length === 0) return;\n\tfor (const column of index.columns ?? []) {\n\t\tconst codecId = columns[column]?.codecId;\n\t\tif (codecId === void 0) continue;\n\t\tconst traits = codecTraits(codecId);\n\t\tconst missing = required.filter((trait) => traits?.includes(trait) !== true);\n\t\tif (missing.length === 0) continue;\n\t\tconst missingList = missing.map((trait) => `\"${trait}\"`).join(\", \");\n\t\tthrow contractError(\"CONTRACT.INDEX_INVALID\", `Index \"${index.name}\" of type \"${entry.type}\" covers the column \"${column}\", stored as \\`${codecId}\\`, which lacks the trait ${missingList} the type requires.`, {\n\t\t\twhy: `An index of type \"${entry.type}\" can only cover columns whose codec carries ${required.map((trait) => `\"${trait}\"`).join(\", \")}.`,\n\t\t\tfix: \"Index a column of a type this index type supports, or use another index type.\",\n\t\t\tmeta: {\n\t\t\t\tindexType: entry.type,\n\t\t\t\tindex: index.name,\n\t\t\t\tcolumn,\n\t\t\t\tcodecId,\n\t\t\t\tmissingTraits: missing\n\t\t\t}\n\t\t});\n\t}\n}\n//#endregion\nexport { validateIndexTypes };\n\n//# sourceMappingURL=index-type-validation.mjs.map"],"mappings":";;;;AAIA,SAAS,mBAAmB,UAAU,mBAAmB,aAAa;CACrE,KAAK,MAAM,CAAC,aAAa,OAAO,OAAO,QAAQ,SAAS,QAAQ,UAAU,GAAG,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,GAAG,QAAQ,SAAS,CAAC,CAAC,GAAG,KAAK,MAAM,SAAS,MAAM,SAAS;EACxL,IAAI,MAAM,SAAS,KAAK,GAAG;EAC3B,MAAM,QAAQ,kBAAkB,IAAI,MAAM,IAAI;EAC9C,IAAI,UAAU,KAAK,GAAG,MAAM,IAAI,wBAAwB,cAAc,YAAY,WAAW,UAAU,WAAW,MAAM,KAAK,kCAAkC,MAAM,KAAK,IAAI,SAAS;EACvL,MAAM,eAAe,MAAM,WAAW,CAAC;EACvC,MAAM,SAAS,MAAM,QAAQ,YAAY;EACzC,IAAI,kBAAkB,KAAK,QAAQ,MAAM,IAAI,wBAAwB,cAAc,YAAY,WAAW,UAAU,WAAW,MAAM,KAAK,kCAAkC,MAAM,KAAK,KAAK,OAAO,WAAW,SAAS;EACvN,mBAAmB,OAAO,OAAO,MAAM,SAAS,WAAW;CAC5D;AACD;AACA,SAAS,mBAAmB,OAAO,OAAO,SAAS,aAAa;CAC/D,MAAM,WAAW,MAAM,gBAAgB,CAAC;CACxC,IAAI,SAAS,WAAW,GAAG;CAC3B,KAAK,MAAM,UAAU,MAAM,WAAW,CAAC,GAAG;EACzC,MAAM,UAAU,QAAQ,OAAO,EAAE;EACjC,IAAI,YAAY,KAAK,GAAG;EACxB,MAAM,SAAS,YAAY,OAAO;EAClC,MAAM,UAAU,SAAS,QAAQ,UAAU,QAAQ,SAAS,KAAK,MAAM,IAAI;EAC3E,IAAI,QAAQ,WAAW,GAAG;EAC1B,MAAM,cAAc,QAAQ,KAAK,UAAU,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI;EAClE,MAAM,cAAc,0BAA0B,UAAU,MAAM,KAAK,aAAa,MAAM,KAAK,uBAAuB,OAAO,iBAAiB,QAAQ,4BAA4B,YAAY,sBAAsB;GAC/M,KAAK,qBAAqB,MAAM,KAAK,+CAA+C,SAAS,KAAK,UAAU,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;GACrI,KAAK;GACL,MAAM;IACL,WAAW,MAAM;IACjB,OAAO,MAAM;IACb;IACA;IACA,eAAe;GAChB;EACD,CAAC;CACF;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-type-validation-Ibtp3RKo.d.mts","names":[],"sources":["../../../../2-sql/1-core/contract/dist/index-type-validation.d.mts"],"mappings":";;;;;;;;;;;KAUK,qBAAqB;iBACT,mBAAmB,UAAU,SAAS,aAAa,mBAAmB,mBAAmB,aAAa"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./index-types-H1O43iYT-ONvDbszL.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-types-H1O43iYT-ONvDbszL.d.mts","names":[],"sources":["../../../../2-sql/1-core/contract/dist/index-types-H1O43iYT.d.mts"],"mappings":";;;UAEU,eAAe;WACd;WACA,SAAS,KAAK;;;;;;;;WAQd;;;;;WAKA;;KAEN,qBAAqB;WACf,SAAS,KAAK;WACd;WACA;;KAEN,2BAA2B;WACrB;;UAED,sBAAsB,aAAa,eAAe;WACjD,YAAY;WACZ,SAAS,cAAc;;UAExB,iBAAiB,aAAa,eAAe,8BAA8B,sBAAsB;EACzG,IAAI,qBAAqB,OAAO,aAAa,MAAM,OAAO,qBAAqB,SAAS,iBAAiB,OAAO,OAAO;aAC5G,SAAS;;;;;;;;iBAQL,iBAAiB,OAAO;;iBAExB,eAAe,OAAO;iBACtB,oBAAoB,iBAAiB;UAC5C;EACR,SAAS,OAAO;EAChB,IAAI,sBAAsB;EAC1B,IAAI;;iBAEW,2BAA2B;;UAElC;WACC;WACA;;;;;;;iBAOM,oBAAoB,QAAQ,qBAAqB,sBAAsB,wBAAwB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-types-pC_5vADQ-TTUXAfmL.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/index-types-pC_5vADQ.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\n//#region src/index-types.ts\nvar IndexTypeBuilderImpl = class IndexTypeBuilderImpl {\n\tentries;\n\tIndexTypes;\n\tconstructor(entries) {\n\t\tthis.entries = entries;\n\t\tthis.IndexTypes = {};\n\t}\n\tadd(typeLiteral, entry) {\n\t\tif (this.entries.some((e) => e.type === typeLiteral)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Index type \"${typeLiteral}\" is already declared in this builder`, { meta: { indexType: typeLiteral } });\n\t\treturn new IndexTypeBuilderImpl([...this.entries, {\n\t\t\ttype: typeLiteral,\n\t\t\toptions: entry.options,\n\t\t\t...ifDefined(\"accessMethod\", entry.accessMethod),\n\t\t\t...ifDefined(\"columnTraits\", entry.columnTraits)\n\t\t}]);\n\t}\n};\n/**\n* Whether an index of this type is rendered from its options rather than written by its author: a\n* type whose access method is not its own literal. Its SQL body is the target's rendering, so an\n* exact-named index of the type is compared by that body.\n*/\nfunction rendersIndexBody(entry) {\n\treturn accessMethodOf(entry) !== entry.type;\n}\n/** The access method an index of this type is created with. */\nfunction accessMethodOf(entry) {\n\treturn entry.accessMethod ?? entry.type;\n}\nfunction defineIndexTypes() {\n\treturn new IndexTypeBuilderImpl([]);\n}\nvar IndexTypeRegistryImpl = class {\n\tentries = /* @__PURE__ */ new Map();\n\tregister(entry) {\n\t\tif (this.entries.has(entry.type)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Index type \"${entry.type}\" is already registered`, { meta: { indexType: entry.type } });\n\t\tthis.entries.set(entry.type, entry);\n\t}\n\tget(typeLiteral) {\n\t\treturn this.entries.get(typeLiteral);\n\t}\n\thas(typeLiteral) {\n\t\treturn this.entries.has(typeLiteral);\n\t}\n};\nfunction createIndexTypeRegistry() {\n\treturn new IndexTypeRegistryImpl();\n}\nfunction isIndexTypeRegistration(value) {\n\treturn typeof value === \"object\" && value !== null && \"entries\" in value && Array.isArray(value.entries);\n}\n/**\n* The registry of every index type the target and the extension packs a contract is built or\n* inferred with register. An extension pack's entry whose access method is not its type literal is\n* refused, because only the target converts such a type into an index of its access method.\n*/\nfunction indexTypeRegistryOf(target, extensions = []) {\n\tconst registry = createIndexTypeRegistry();\n\tfor (const entry of registeredEntriesOf(target)) registry.register(entry);\n\tfor (const extension of extensions) for (const entry of registeredEntriesOf(extension)) {\n\t\tif (rendersIndexBody(entry)) throw extensionIndexTypeNotAccessMethod(entry, extension.id);\n\t\tregistry.register(entry);\n\t}\n\treturn registry;\n}\nfunction registeredEntriesOf(registrant) {\n\tconst registration = registrant.indexTypes;\n\tif (registration === void 0) return [];\n\tif (!isIndexTypeRegistration(registration)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Pack \"${registrant.id ?? \"<unknown>\"}\" declares \"indexTypes\" but its value is not an IndexTypeRegistration (expected an object with an \"entries\" array; got ${typeof registration}).`, { meta: {\n\t\tpackId: registrant.id,\n\t\tcontribution: \"indexTypes\",\n\t\treason: \"invalid-shape\"\n\t} });\n\treturn registration.entries;\n}\nfunction extensionIndexTypeNotAccessMethod(entry, packId) {\n\tconst accessMethod = accessMethodOf(entry);\n\tconst pack = packId === void 0 ? \"an extension pack\" : `extension pack \"${packId}\"`;\n\treturn contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Index type \"${entry.type}\" registered by ${pack} declares the access method \"${accessMethod}\", but an extension pack's index type must be an access method itself.`, {\n\t\twhy: `An index type whose access method differs from its name is turned into an index of that access method by the target, which renders the index body from the options. Only the target provides that conversion, so the database would be asked for an access method named \"${entry.type}\".`,\n\t\tfix: `Register the access method under its own name, or leave \\`accessMethod\\` out of the \"${entry.type}\" registration so the type name is the access method.`,\n\t\tmeta: {\n\t\t\tindexType: entry.type,\n\t\t\taccessMethod,\n\t\t\t...ifDefined(\"packId\", packId)\n\t\t}\n\t});\n}\n//#endregion\nexport { rendersIndexBody as a, indexTypeRegistryOf as i, createIndexTypeRegistry as n, defineIndexTypes as r, accessMethodOf as t };\n\n//# sourceMappingURL=index-types-pC_5vADQ.mjs.map"],"mappings":";;;AAGA,IAAI,uBAAuB,MAAM,qBAAqB;CACrD;CACA;CACA,YAAY,SAAS;EACpB,KAAK,UAAU;EACf,KAAK,aAAa,CAAC;CACpB;CACA,IAAI,aAAa,OAAO;EACvB,IAAI,KAAK,QAAQ,MAAM,MAAM,EAAE,SAAS,WAAW,GAAG,MAAM,cAAc,sCAAsC,eAAe,YAAY,wCAAwC,EAAE,MAAM,EAAE,WAAW,YAAY,EAAE,CAAC;EACvN,OAAO,IAAI,qBAAqB,CAAC,GAAG,KAAK,SAAS;GACjD,MAAM;GACN,SAAS,MAAM;GACf,GAAG,UAAU,gBAAgB,MAAM,YAAY;GAC/C,GAAG,UAAU,gBAAgB,MAAM,YAAY;EAChD,CAAC,CAAC;CACH;AACD;;;;;;AAMA,SAAS,iBAAiB,OAAO;CAChC,OAAO,eAAe,KAAK,MAAM,MAAM;AACxC;;AAEA,SAAS,eAAe,OAAO;CAC9B,OAAO,MAAM,gBAAgB,MAAM;AACpC;AACA,SAAS,mBAAmB;CAC3B,OAAO,IAAI,qBAAqB,CAAC,CAAC;AACnC;AACA,IAAI,wBAAwB,MAAM;CACjC,0BAA0B,IAAI,IAAI;CAClC,SAAS,OAAO;EACf,IAAI,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,MAAM,cAAc,sCAAsC,eAAe,MAAM,KAAK,0BAA0B,EAAE,MAAM,EAAE,WAAW,MAAM,KAAK,EAAE,CAAC;EACnL,KAAK,QAAQ,IAAI,MAAM,MAAM,KAAK;CACnC;CACA,IAAI,aAAa;EAChB,OAAO,KAAK,QAAQ,IAAI,WAAW;CACpC;CACA,IAAI,aAAa;EAChB,OAAO,KAAK,QAAQ,IAAI,WAAW;CACpC;AACD;AACA,SAAS,0BAA0B;CAClC,OAAO,IAAI,sBAAsB;AAClC;AACA,SAAS,wBAAwB,OAAO;CACvC,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,aAAa,SAAS,MAAM,QAAQ,MAAM,OAAO;AACxG;;;;;;AAMA,SAAS,oBAAoB,QAAQ,aAAa,CAAC,GAAG;CACrD,MAAM,WAAW,wBAAwB;CACzC,KAAK,MAAM,SAAS,oBAAoB,MAAM,GAAG,SAAS,SAAS,KAAK;CACxE,KAAK,MAAM,aAAa,YAAY,KAAK,MAAM,SAAS,oBAAoB,SAAS,GAAG;EACvF,IAAI,iBAAiB,KAAK,GAAG,MAAM,kCAAkC,OAAO,UAAU,EAAE;EACxF,SAAS,SAAS,KAAK;CACxB;CACA,OAAO;AACR;AACA,SAAS,oBAAoB,YAAY;CACxC,MAAM,eAAe,WAAW;CAChC,IAAI,iBAAiB,KAAK,GAAG,OAAO,CAAC;CACrC,IAAI,CAAC,wBAAwB,YAAY,GAAG,MAAM,cAAc,sCAAsC,SAAS,WAAW,MAAM,YAAY,yHAAyH,OAAO,aAAa,KAAK,EAAE,MAAM;EACrS,QAAQ,WAAW;EACnB,cAAc;EACd,QAAQ;CACT,EAAE,CAAC;CACH,OAAO,aAAa;AACrB;AACA,SAAS,kCAAkC,OAAO,QAAQ;CACzD,MAAM,eAAe,eAAe,KAAK;CACzC,MAAM,OAAO,WAAW,KAAK,IAAI,sBAAsB,mBAAmB,OAAO;CACjF,OAAO,cAAc,sCAAsC,eAAe,MAAM,KAAK,kBAAkB,KAAK,+BAA+B,aAAa,yEAAyE;EAChO,KAAK,4QAA4Q,MAAM,KAAK;EAC5R,KAAK,wFAAwF,MAAM,KAAK;EACxG,MAAM;GACL,WAAW,MAAM;GACjB;GACA,GAAG,UAAU,UAAU,MAAM;EAC9B;CACD,CAAC;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter-BDpym-rc-BZVFp5GU.mjs","names":[],"sources":["../../../../2-sql/2-authoring/contract-psl/dist/interpreter-BDpym-rc.mjs"],"sourcesContent":["import { i as mapFieldNamesToColumns, n as getAttribute, o as storageName, r as getNamedArgument, t as formatDbAttributeMigrationMessage } from \"./psl-attribute-parsing-BCsFWsSp.mjs\";\nimport { _ as modelSpecContext, b as contractError, c as lowerTypeDefault, d as PSL_CHECK_ON_STI_VARIANT, g as modelAttributeSpecsFrom, h as interpretModelAttribute, i as getAuthoringEntity, l as lowerTypeGenerators, m as interpretFieldAttribute, o as instantiatePslTypeConstructor, p as fieldSpecContext, r as modelCoordinateKey, s as lowerEnumDefault, t as collectResolvedFields, u as resolveFieldTypeDescriptor, v as sqlAttributeSpecs } from \"./psl-field-resolution-C5KQ7kzP.mjs\";\nimport { t as defaultTableName } from \"./default-table-name-BfFY8qYR.mjs\";\nimport { contributedTypeAliasOf, createPslDiagnosticCollector, diagnosticSource, findBlockDescriptor, interpretExtensionBlocks, nodePslSpan, resolveTypeAliases, typeAliasAttributeNames, typeAliasSpecContext, typeReferenceNode } from \"@internal/psl-parser\";\nimport { buildSqlContractFromDefinition } from \"@internal/sql-contract-ts/contract-builder\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { assertDefined, invariant } from \"@internal/utils/assertions\";\nimport { applyDiscriminatorRule, describeDiscriminatorRefusal, encodeEnumMembers, instantiateAuthoringEntityType, instantiateAuthoringTypeAlias, instantiateAuthoringTypeConstructor, isAuthoringEntityTypeDescriptor, isAuthoringModelAttributeDescriptor, resolveTypeAliasGenerators } from \"@internal/framework-components/authoring\";\nimport { claimedBlockKeywords, enumMemberAttributeDiagnostics, fkRelationPairKey, requiredOneToOneBackrelationDiagnostic, unsupportedBlockDiagnostic } from \"@internal/psl-parser/interpret\";\nimport { sqlCodecColumnLength } from \"@internal/sql-contract/data-type\";\nimport { sqlTextFromStored } from \"@internal/sql-contract/sql-expression\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\nimport { NamespaceDeclarationAst } from \"@internal/psl-parser/syntax\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { crossRef } from \"@internal/contract/types\";\nimport { resolveToOneRelationNullable } from \"@internal/contract-authoring\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { providesPslEntityPlacement } from \"@internal/sql-contract/entity-handle-lowering-hook\";\nimport { FOREIGN_KEY_INDEX_UNRESOLVED } from \"@internal/sql-contract/foreign-key-materialization\";\nimport { isAuthoredIndexInput } from \"@internal/sql-contract/index-naming\";\nimport { deriveValueSetFromEntity } from \"@internal/sql-contract/value-set-derivation-hook\";\n//#region src/psl-named-type-resolution.ts\nfunction describeUnsupportedSqlAliasAttribute(attribute) {\n\treturn attribute.name.startsWith(\"db.\") ? formatDbAttributeMigrationMessage(attribute) : void 0;\n}\nfunction aliasDescriptor(alias, input) {\n\tconst { base, symbol } = alias;\n\tconst source = diagnosticSource(input.sources, symbol.node.syntax);\n\tif (base.kind === \"typeConstructor\") {\n\t\tif (base.call === void 0) return instantiateAuthoringTypeConstructor(base.descriptor, []);\n\t\treturn instantiatePslTypeConstructor({\n\t\t\tcall: base.call,\n\t\t\tdescriptor: base.descriptor,\n\t\t\tcodecLookup: input.codecLookup,\n\t\t\tdiagnostics: input.diagnostics,\n\t\t\tsource,\n\t\t\tentityLabel: `Type alias \"${symbol.name}\"`,\n\t\t\tdataTypes: input.dataTypes\n\t\t});\n\t}\n\tconst descriptor = input.enumTypeDescriptors.get(base.symbol);\n\tif (descriptor === void 0) input.diagnostics.push({\n\t\tcode: \"PSL_UNSUPPORTED_NAMED_TYPE_BASE\",\n\t\tmessage: `Type alias \"${symbol.name}\" references unsupported base type \"${alias.baseName}\"`,\n\t\t...source.at(symbol.span)\n\t});\n\treturn descriptor;\n}\n/**\n* Resolves each `types {}` alias once: its column type, with the params inline, and its `@default`, `@onCreate` and `@onUpdate`, lowered for that column. A diagnostic about the alias is reported here, once, not at each field typed by it.\n*/\nfunction resolveNamedTypeDeclarations(input) {\n\tconst declared = resolveDeclaredTypeAliases(input);\n\tconst contributed = /* @__PURE__ */ new Map();\n\tconst resolveContributed = (alias) => {\n\t\tconst existing = contributed.get(alias.descriptor);\n\t\tif (existing !== void 0) return existing;\n\t\tconst resolved = resolveContributedTypeAlias(alias, input);\n\t\tcontributed.set(alias.descriptor, resolved);\n\t\treturn resolved;\n\t};\n\treturn {\n\t\tget: (symbol) => declared.get(symbol),\n\t\tofResolution(resolution) {\n\t\t\tif (resolution?.kind === \"namedType\") return declared.get(resolution.symbol);\n\t\t\tconst alias = contributedTypeAliasOf(resolution);\n\t\t\treturn alias === void 0 ? void 0 : resolveContributed(alias);\n\t\t}\n\t};\n}\nfunction resolveContributedTypeAlias(alias, input) {\n\tconst { type: descriptor } = instantiateAuthoringTypeAlias(alias.descriptor);\n\tconst executionDefaults = resolveTypeAliasGenerators({\n\t\tpath: alias.name,\n\t\tdescriptor: alias.descriptor,\n\t\tgeneratorFunctions: input.generatorFunctions,\n\t\tlength: sqlCodecColumnLength(input.dataTypes, descriptor.codecId, descriptor.typeParams)\n\t});\n\treturn {\n\t\talias,\n\t\tname: alias.name,\n\t\tattributes: [],\n\t\tdescriptor,\n\t\tenumHandle: void 0,\n\t\tdefaultValue: void 0,\n\t\texecutionDefaults\n\t};\n}\nfunction resolveDeclaredTypeAliases(input) {\n\tconst aliases = resolveTypeAliases({\n\t\tdeclarations: input.declarations,\n\t\tbinder: input.binder,\n\t\tsources: input.sources,\n\t\tdiagnostics: input.diagnostics,\n\t\tauthoringTypes: input.authoringTypes,\n\t\tdescribeUnsupportedAttribute: describeUnsupportedSqlAliasAttribute\n\t});\n\tconst resolved = /* @__PURE__ */ new Map();\n\tfor (const alias of aliases.values()) {\n\t\tconst descriptor = aliasDescriptor(alias, input);\n\t\tif (descriptor === void 0) continue;\n\t\tconst owner = {\n\t\t\tattributes: alias.attributes,\n\t\t\toptional: false,\n\t\t\tlist: false,\n\t\t\telementOptional: false,\n\t\t\tspecContext: typeAliasSpecContext(alias, {\n\t\t\t\t...input,\n\t\t\t\tsymbols: input.symbolTable\n\t\t\t}),\n\t\t\tloweringNames: {\n\t\t\t\tmodelName: \"types\",\n\t\t\t\tfieldName: alias.symbol.name\n\t\t\t}\n\t\t};\n\t\tconst enumHandle = alias.base.kind === \"block\" ? input.enumHandles.get(alias.base.symbol) : void 0;\n\t\tconst lowering = {\n\t\t\t...input,\n\t\t\towner\n\t\t};\n\t\tconst { defaultValue } = enumHandle === void 0 ? lowerTypeDefault({\n\t\t\t...lowering,\n\t\t\tcolumnDescriptor: descriptor,\n\t\t\tcolumnTypeParams: descriptor.typeParams,\n\t\t\tisListColumn: false,\n\t\t\tvalueObjectDefault: void 0\n\t\t}) : lowerEnumDefault({\n\t\t\t...lowering,\n\t\t\tenumHandle\n\t\t});\n\t\tconst executionDefaults = lowerTypeGenerators({\n\t\t\t...lowering,\n\t\t\tcolumnDescriptor: descriptor,\n\t\t\tcolumnTypeParams: descriptor.typeParams\n\t\t});\n\t\tresolved.set(alias.symbol, {\n\t\t\talias,\n\t\t\tname: alias.symbol.name,\n\t\t\tattributes: alias.attributes,\n\t\t\tdescriptor,\n\t\t\tenumHandle,\n\t\t\tdefaultValue,\n\t\t\texecutionDefaults\n\t\t});\n\t}\n\treturn resolved;\n}\n//#endregion\n//#region src/psl-relation-resolution.ts\nconst REFERENTIAL_ACTION_MAP = {\n\tNoAction: \"noAction\",\n\tRestrict: \"restrict\",\n\tCascade: \"cascade\",\n\tSetNull: \"setNull\",\n\tSetDefault: \"setDefault\",\n\tnoAction: \"noAction\",\n\trestrict: \"restrict\",\n\tcascade: \"cascade\",\n\tsetNull: \"setNull\",\n\tsetDefault: \"setDefault\"\n};\nfunction modelName(key) {\n\treturn typeof key === \"string\" ? key : key.name;\n}\nfunction normalizeReferentialAction(actionToken) {\n\treturn REFERENTIAL_ACTION_MAP[actionToken];\n}\nfunction interpretRelationAttribute(input) {\n\tconst node = getAttribute(input.field.attributes, \"relation\")?.node;\n\tif (node === void 0) return void 0;\n\treturn interpretFieldAttribute({\n\t\tsymbols: input.symbols,\n\t\tnode,\n\t\tspec: sqlAttributeSpecs.field.relation(input.specContext),\n\t\tmodel: input.selfModel,\n\t\tfield: input.field,\n\t\tsources: input.sources,\n\t\tbinder: input.binder,\n\t\tdiagnostics: input.diagnostics\n\t});\n}\nfunction indexFkRelations(input) {\n\tconst modelRelations = /* @__PURE__ */ new Map();\n\tconst fkRelationsByPair = /* @__PURE__ */ new Map();\n\tconst fkRelationsByDeclaringModel = /* @__PURE__ */ new Map();\n\tfor (const relation of input.fkRelationMetadata) {\n\t\tconst declaringFkRelations = fkRelationsByDeclaringModel.get(relation.declaringModelName);\n\t\tif (declaringFkRelations) declaringFkRelations.push(relation);\n\t\telse fkRelationsByDeclaringModel.set(relation.declaringModelName, [relation]);\n\t\tconst existing = modelRelations.get(relation.declaringModelName);\n\t\tconst current = existing ?? [];\n\t\tif (!existing) modelRelations.set(relation.declaringModelName, current);\n\t\tcurrent.push({\n\t\t\tfieldName: relation.declaringFieldName,\n\t\t\ttoModel: modelName(relation.targetModelName),\n\t\t\ttoTable: relation.targetTableName,\n\t\t\t...ifDefined(\"toNamespaceId\", relation.targetNamespaceId),\n\t\t\tcardinality: \"N:1\",\n\t\t\tnullable: relation.nullable,\n\t\t\ton: {\n\t\t\t\tparentTable: relation.declaringTableName,\n\t\t\t\tparentColumns: relation.localColumns,\n\t\t\t\tchildTable: relation.targetTableName,\n\t\t\t\tchildColumns: relation.referencedColumns\n\t\t\t}\n\t\t});\n\t\tlet targets = fkRelationsByPair.get(relation.declaringModelName);\n\t\tif (!targets) {\n\t\t\ttargets = /* @__PURE__ */ new Map();\n\t\t\tfkRelationsByPair.set(relation.declaringModelName, targets);\n\t\t}\n\t\tconst pairRelations = targets.get(relation.targetModelName);\n\t\tif (pairRelations) pairRelations.push(relation);\n\t\telse targets.set(relation.targetModelName, [relation]);\n\t}\n\treturn {\n\t\tmodelRelations,\n\t\tfkRelationsByPair,\n\t\tfkRelationsByDeclaringModel\n\t};\n}\nfunction idColumnsAreExactlyFkPair(idColumns, parentColumns, childColumns) {\n\tif (idColumns.length !== parentColumns.length + childColumns.length) return false;\n\tconst fkColumns = /* @__PURE__ */ new Set([...parentColumns, ...childColumns]);\n\tif (fkColumns.size !== parentColumns.length + childColumns.length) return false;\n\treturn idColumns.every((column) => fkColumns.has(column));\n}\n/**\n* Reorders the child FK's junction columns into the target model's id-column\n* order. Returns undefined unless the FK references exactly the target's full\n* id, because downstream consumers pair `through.childColumns` positionally\n* against the target id columns — an FK referencing anything else (a non-id\n* unique, a partial id) would produce a silently wrong join.\n*/\nfunction childColumnsInTargetIdOrder(childFk, targetIdColumns) {\n\tif (childFk.referencedColumns.length !== targetIdColumns.length) return;\n\tconst localByReferenced = /* @__PURE__ */ new Map();\n\tfor (const [index, referencedColumn] of childFk.referencedColumns.entries()) {\n\t\tconst localColumn = childFk.localColumns[index];\n\t\tif (localColumn === void 0) return;\n\t\tlocalByReferenced.set(referencedColumn, localColumn);\n\t}\n\tif (localByReferenced.size !== targetIdColumns.length) return;\n\tconst ordered = [];\n\tfor (const idColumn of targetIdColumns) {\n\t\tconst localColumn = localByReferenced.get(idColumn);\n\t\tif (localColumn === void 0) return;\n\t\tordered.push(localColumn);\n\t}\n\treturn ordered;\n}\n/**\n* Finds explicit junction models that connect a bare backrelation list field\n* to its target model: a model whose composite id columns are exactly the FK\n* columns of one relation back to the candidate's model (the parent side) and\n* one relation to the candidate's target model (the child side). The child\n* FK must reference exactly the target model's id columns; its junction\n* columns are carried in target-id order on the pair. A relation name on the\n* list field pins the parent-side FK relation, which is how self-referential\n* many-to-many sides are disambiguated.\n*\n* Alongside the recognised pairs, returns junction-shaped near-misses (models\n* that link both sides but were declined) so the caller can emit a\n* junction-specific diagnostic instead of the generic orphaned-list message.\n*/\nfunction findJunctionFkPairs(input) {\n\tconst targetIdColumns = input.modelIdColumns.get(input.candidate.targetModelName);\n\tif (!targetIdColumns || targetIdColumns.length === 0) return {\n\t\tpairs: [],\n\t\tnearMisses: []\n\t};\n\tconst pairs = [];\n\tconst nearMisses = [];\n\tfor (const [junctionModelName, junctionFks] of input.fkRelationsByDeclaringModel) {\n\t\tconst idColumns = input.modelIdColumns.get(junctionModelName);\n\t\tfor (const parentFk of junctionFks) {\n\t\t\tif (parentFk.targetModelName !== input.candidate.modelName) continue;\n\t\t\tif (input.candidate.relationName !== void 0 && parentFk.relationName !== input.candidate.relationName) continue;\n\t\t\tfor (const childFk of junctionFks) {\n\t\t\t\tif (childFk === parentFk || childFk.targetModelName !== input.candidate.targetModelName) continue;\n\t\t\t\tif (!idColumns || !idColumnsAreExactlyFkPair(idColumns, parentFk.localColumns, childFk.localColumns)) {\n\t\t\t\t\tnearMisses.push({\n\t\t\t\t\t\tjunctionModelName: modelName(junctionModelName),\n\t\t\t\t\t\treason: \"id-not-fk-covering\"\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst orderedChildColumns = childColumnsInTargetIdOrder(childFk, targetIdColumns);\n\t\t\t\tif (!orderedChildColumns) {\n\t\t\t\t\tnearMisses.push({\n\t\t\t\t\t\tjunctionModelName: modelName(junctionModelName),\n\t\t\t\t\t\treason: \"target-fk-not-id\"\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tpairs.push({\n\t\t\t\t\tparentFk,\n\t\t\t\t\tchildFk,\n\t\t\t\t\tchildColumnsInTargetIdOrder: orderedChildColumns\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn {\n\t\tpairs,\n\t\tnearMisses\n\t};\n}\nfunction junctionNearMissDiagnostic(candidate, nearMiss, sources) {\n\tconst source = diagnosticSource(sources, candidate.field.node.syntax);\n\tconst listField = `${modelName(candidate.modelName)}.${candidate.field.name}`;\n\tconst targetModelName = modelName(candidate.targetModelName);\n\tconst data = {\n\t\tlistField,\n\t\tjunctionModel: nearMiss.junctionModelName,\n\t\ttargetModel: targetModelName\n\t};\n\tif (nearMiss.reason === \"target-fk-not-id\") return {\n\t\tcode: \"PSL_JUNCTION_TARGET_FK_NOT_ID\",\n\t\tmessage: `Backrelation list field \"${listField}\" found junction model \"${nearMiss.junctionModelName}\", but its foreign key to \"${targetModelName}\" does not reference \"${targetModelName}\"'s @id. The junction's target-side foreign key must reference \"${targetModelName}\"'s full @id columns for many-to-many recognition.`,\n\t\t...source.at(candidate.field.span),\n\t\tdata\n\t};\n\treturn {\n\t\tcode: \"PSL_JUNCTION_ID_NOT_FK_COVERING\",\n\t\tmessage: `Backrelation list field \"${listField}\" found junction-shaped model \"${nearMiss.junctionModelName}\" linking \"${modelName(candidate.modelName)}\" and \"${targetModelName}\", but its id does not cover exactly its foreign-key columns. Declare @@id([...]) on \"${nearMiss.junctionModelName}\" listing exactly the two foreign-key columns for many-to-many recognition.`,\n\t\t...source.at(candidate.field.span),\n\t\tdata\n\t};\n}\nfunction manyToManyRelationNode(candidate, pair) {\n\treturn {\n\t\tfieldName: candidate.field.name,\n\t\ttoModel: modelName(pair.childFk.targetModelName),\n\t\ttoTable: pair.childFk.targetTableName,\n\t\t...ifDefined(\"toNamespaceId\", pair.childFk.targetNamespaceId),\n\t\tcardinality: \"N:M\",\n\t\ton: {\n\t\t\tparentTable: candidate.tableName,\n\t\t\tparentColumns: pair.parentFk.referencedColumns,\n\t\t\tchildTable: pair.parentFk.declaringTableName,\n\t\t\tchildColumns: pair.parentFk.localColumns\n\t\t},\n\t\tthrough: {\n\t\t\ttable: pair.parentFk.declaringTableName,\n\t\t\t...ifDefined(\"namespaceId\", pair.parentFk.declaringNamespaceId),\n\t\t\tparentColumns: pair.parentFk.localColumns,\n\t\t\tchildColumns: pair.childColumnsInTargetIdOrder\n\t\t}\n\t};\n}\nfunction relationsForModel(modelRelations, modelName) {\n\tconst existing = modelRelations.get(modelName);\n\tif (existing) return existing;\n\tconst created = [];\n\tmodelRelations.set(modelName, created);\n\treturn created;\n}\n/**\n* A set of columns is unique when it exactly matches one of the model's unique\n* column sets — its primary key, any single- or multi-column `@unique` /\n* `@@unique` constraint, or a unique index over plain columns with no `where`\n* clause. Set equality (not subset) is required: a singular back-relation means\n* at most one child per parent, which a unique constraint covering exactly the\n* FK columns guarantees.\n*/\nfunction fkColumnsAreUnique(localColumns, uniqueColumnSets) {\n\tconst local = new Set(localColumns);\n\treturn uniqueColumnSets.some((columns) => columns.length === local.size && columns.every((column) => local.has(column)));\n}\nfunction applyBackrelationCandidates(input) {\n\tfor (const candidate of input.backrelationCandidates) {\n\t\tconst source = diagnosticSource(input.sources, candidate.field.node.syntax);\n\t\tconst pairMatches = input.fkRelationsByPair.get(candidate.targetModelName)?.get(candidate.modelName) ?? [];\n\t\tconst matches = candidate.relationName ? pairMatches.filter((relation) => relation.relationName === candidate.relationName) : [...pairMatches];\n\t\tif (matches.length === 0) {\n\t\t\tconst invalidIndex = input.invalidFkPairings.findIndex((pairing) => {\n\t\t\t\tif (pairing.relationName !== candidate.relationName) return false;\n\t\t\t\tif (\"pairKey\" in pairing) return typeof candidate.targetModelName === \"string\" && typeof candidate.modelName === \"string\" && pairing.pairKey === fkRelationPairKey(candidate.targetModelName, candidate.modelName);\n\t\t\t\treturn pairing.declaringModel === candidate.targetModelName && pairing.targetModel === candidate.modelName;\n\t\t\t});\n\t\t\tif (invalidIndex !== -1) {\n\t\t\t\tinput.invalidFkPairings.splice(invalidIndex, 1);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (candidate.isList) {\n\t\t\t\tconst { pairs: junctionPairs, nearMisses } = findJunctionFkPairs({\n\t\t\t\t\tcandidate,\n\t\t\t\t\tfkRelationsByDeclaringModel: input.fkRelationsByDeclaringModel,\n\t\t\t\t\tmodelIdColumns: input.modelIdColumns\n\t\t\t\t});\n\t\t\t\tconst junctionPair = junctionPairs[0];\n\t\t\t\tif (junctionPairs.length === 1 && junctionPair) {\n\t\t\t\t\trelationsForModel(input.modelRelations, candidate.modelName).push(manyToManyRelationNode(candidate, junctionPair));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (junctionPairs.length > 1) {\n\t\t\t\t\tinput.diagnostics.push({\n\t\t\t\t\t\tcode: \"PSL_AMBIGUOUS_BACKRELATION\",\n\t\t\t\t\t\tmessage: `Backrelation list field \"${modelName(candidate.modelName)}.${candidate.field.name}\" matches multiple junction FK pairs for a many-to-many relation. Add @relation(name: \"...\") (or @relation(\"...\")) to the list field and the junction FK-side relation pointing back at \"${modelName(candidate.modelName)}\" to disambiguate.`,\n\t\t\t\t\t\t...source.at(candidate.field.span)\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst nearMiss = nearMisses[0];\n\t\t\t\tif (nearMiss) {\n\t\t\t\t\tinput.diagnostics.push(junctionNearMissDiagnostic(candidate, nearMiss, input.sources));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: \"PSL_ORPHANED_BACKRELATION\",\n\t\t\t\tmessage: `Backrelation field \"${modelName(candidate.modelName)}.${candidate.field.name}\" has no matching FK-side relation on model \"${modelName(candidate.targetModelName)}\". Add @relation(fields: [...], references: [...]) on the FK-side relation${candidate.isList ? \" or use an explicit join model for many-to-many\" : \"\"}.`,\n\t\t\t\t...source.at(candidate.field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (matches.length > 1) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: \"PSL_AMBIGUOUS_BACKRELATION\",\n\t\t\t\tmessage: `Backrelation field \"${modelName(candidate.modelName)}.${candidate.field.name}\" matches multiple FK-side relations on model \"${modelName(candidate.targetModelName)}\". Add @relation(name: \"...\") (or @relation(\"...\")) to both sides to disambiguate.`,\n\t\t\t\t...source.at(candidate.field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tinvariant(matches.length === 1, \"Backrelation matching requires exactly one match\");\n\t\tconst matched = matches[0];\n\t\tassertDefined(matched, \"Backrelation matching requires a defined relation match\");\n\t\tif (!candidate.isList) {\n\t\t\tconst uniqueColumnSets = input.modelUniqueColumnSets.get(matched.declaringModelName) ?? [];\n\t\t\tif (!fkColumnsAreUnique(matched.localColumns, uniqueColumnSets)) {\n\t\t\t\tinput.diagnostics.push({\n\t\t\t\t\tcode: \"PSL_NON_UNIQUE_BACKRELATION\",\n\t\t\t\t\tmessage: `Backrelation field \"${modelName(candidate.modelName)}.${candidate.field.name}\" is singular, but the matching FK on \"${modelName(matched.declaringModelName)}\" (fields ${matched.localColumns.map((column) => `\"${column}\"`).join(\", \")}) is not unique. A singular back-relation implies at most one related row; add @unique (or @@unique([...])) to the FK fields, or make \"${candidate.field.name}\" a list.`,\n\t\t\t\t\t...source.at(candidate.field.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tif (!candidate.isList && !candidate.field.optional) input.diagnostics.push(requiredOneToOneBackrelationDiagnostic({\n\t\t\tmodelName: modelName(candidate.modelName),\n\t\t\tfield: candidate.field,\n\t\t\ttargetModelName: modelName(candidate.targetModelName),\n\t\t\tsources: input.sources,\n\t\t\trecordNoun: \"row\"\n\t\t}));\n\t\trelationsForModel(input.modelRelations, candidate.modelName).push({\n\t\t\tfieldName: candidate.field.name,\n\t\t\ttoModel: modelName(matched.declaringModelName),\n\t\t\ttoTable: matched.declaringTableName,\n\t\t\t...ifDefined(\"toNamespaceId\", matched.declaringNamespaceId),\n\t\t\t...candidate.isList ? { cardinality: \"1:N\" } : {\n\t\t\t\tcardinality: \"1:1\",\n\t\t\t\tnullable: true\n\t\t\t},\n\t\t\ton: {\n\t\t\t\tparentTable: candidate.tableName,\n\t\t\t\tparentColumns: matched.referencedColumns,\n\t\t\t\tchildTable: matched.declaringTableName,\n\t\t\t\tchildColumns: matched.localColumns\n\t\t\t}\n\t\t});\n\t}\n}\nfunction validateBackrelationFieldAttributes(input) {\n\tconst source = diagnosticSource(input.sources, input.field.node.syntax);\n\tlet valid = true;\n\tfor (const attribute of input.field.attributes) {\n\t\tif (attribute.name === \"relation\") continue;\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_ATTRIBUTE\",\n\t\t\tmessage: `Field \"${input.modelName}.${input.field.name}\" uses unsupported attribute \"@${attribute.name}\"`,\n\t\t\t...source.at(attribute.span)\n\t\t});\n\t\tvalid = false;\n\t}\n\treturn valid;\n}\n//#endregion\n//#region src/interpreter.ts\nfunction buildComposedExtensionPackRefs(target, extensionIds, extensionPackRefs = []) {\n\tif (extensionIds.length === 0) return;\n\tconst extensionPackRefById = new Map(extensionPackRefs.map((packRef) => [packRef.id, packRef]));\n\treturn Object.fromEntries(extensionIds.map((extensionId) => [extensionId, extensionPackRefById.get(extensionId) ?? {\n\t\tkind: \"extension\",\n\t\tid: extensionId,\n\t\tfamilyId: target.familyId,\n\t\ttargetId: target.targetId,\n\t\tversion: \"0.0.1\"\n\t}]));\n}\nfunction compareStrings(left, right) {\n\tif (left < right) return -1;\n\tif (left > right) return 1;\n\treturn 0;\n}\nfunction declarationsHoldingModels(namespace) {\n\tconst declarations = /* @__PURE__ */ new Set();\n\tfor (const model of Object.values(namespace.models)) {\n\t\tconst written = model.node.syntax.findAncestor(NamespaceDeclarationAst.cast);\n\t\tif (written !== void 0) declarations.add(written.syntax);\n\t}\n\treturn declarations;\n}\nfunction validateNamespaceBlocksForSqlTarget(input) {\n\tif (input.targetId === \"sqlite\") {\n\t\tfor (const namespace of input.namespaces) for (const { node, span } of namespace.declarations) input.diagnostics.push({\n\t\t\tcode: \"PSL_UNSUPPORTED_NAMESPACE_BLOCK\",\n\t\t\tmessage: `SQLite does not support \\`namespace ${node.name()?.name() ?? namespace.name} { … }\\` blocks (SQLite has no schema concept; declare models at the document top level instead).`,\n\t\t\t...diagnosticSource(input.sources, node.syntax).at(span)\n\t\t});\n\t\treturn;\n\t}\n\tif (input.targetId === \"postgres\") {\n\t\tconst unboundNamespace = input.namespaces.find((namespace) => namespace.id === UNBOUND_NAMESPACE_ID && Object.keys(namespace.models).length > 0);\n\t\tconst hasSibling = input.namespaces.some((namespace) => namespace.id !== UNBOUND_NAMESPACE_ID && namespace.declarations.length > 0);\n\t\tif (unboundNamespace !== void 0 && hasSibling) {\n\t\t\tconst holdingModels = declarationsHoldingModels(unboundNamespace);\n\t\t\tfor (const { node, span } of unboundNamespace.declarations) {\n\t\t\t\tif (!holdingModels.has(node.syntax)) continue;\n\t\t\t\tinput.diagnostics.push({\n\t\t\t\t\tcode: \"PSL_RESERVED_NAMESPACE_NAME\",\n\t\t\t\t\tmessage: \"Namespace \\\"unbound\\\" is reserved for the late-binding sentinel mapping; a `namespace unbound { … }` containing models cannot appear alongside other named namespace blocks. Use `namespace unbound { … }` alone (no sibling named namespaces) for late-binding multi-tenant contracts.\",\n\t\t\t\t\t...diagnosticSource(input.sources, node.syntax).at(span)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n/**\n* Walks the flat `entityTypes` namespace tree in `authoringContributions` and\n* returns a map from discriminator string to the matching descriptor. The\n* interpreter uses this to dispatch parsed extension blocks to their factory\n* without naming any specific discriminator value (generic, by-discriminator).\n*/\nfunction buildEntityTypesByDiscriminator(contributions) {\n\tconst result = /* @__PURE__ */ new Map();\n\tconst namespace = contributions?.entityTypes;\n\tif (namespace === void 0) return result;\n\tconst walk = (node) => {\n\t\tfor (const value of Object.values(node)) if (isAuthoringEntityTypeDescriptor(value)) result.set(value.discriminator, value);\n\t\telse if (typeof value === \"object\" && value !== null) walk(value);\n\t};\n\twalk(namespace);\n\treturn result;\n}\n/**\n* The `PSL_DUPLICATE_ATTRIBUTE` diagnostic for a model attribute declared\n* more than once on one model. Shared by the built-in `@@control` path and\n* the contributed-model-attribute path so the code and wording stay in one\n* place. `name` is the bare attribute name (`control`, `rls`, …).\n*/\nfunction duplicateModelAttributeDiagnostic(input) {\n\treturn {\n\t\tcode: \"PSL_DUPLICATE_ATTRIBUTE\",\n\t\tmessage: `\\`@@${input.name}\\` declared more than once on model \"${input.modelName}\".`,\n\t\t...input.source.at(input.span)\n\t};\n}\nfunction isResolvedModelReference(value) {\n\tif (typeof value !== \"object\" || value === null || !(\"declaration\" in value)) return false;\n\tconst declaration = value.declaration;\n\treturn typeof declaration === \"object\" && declaration !== null && \"kind\" in declaration && declaration.kind === \"model\";\n}\nfunction validateBlockModelAttributeRequirements(input) {\n\tfor (const [blockSymbol, envelope] of input.parsedBlocks) {\n\t\tconst requirement = findBlockDescriptor(input.pslBlockDescriptors, blockSymbol.keyword)?.requiresModelAttribute;\n\t\tif (requirement === void 0) continue;\n\t\tconst target = envelope.values[requirement.parameter];\n\t\tif (!isResolvedModelReference(target)) continue;\n\t\tconst model = target.declaration;\n\t\tif (model.attributes.some((attribute) => attribute.name === requirement.attribute)) continue;\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_EXTENSION_TARGET_MODEL_MISSING_ATTRIBUTE\",\n\t\t\tmessage: `\\`${blockSymbol.keyword}\\` block \"${envelope.name}\" targets model \"${model.name}\", which does not declare \\`@@${requirement.attribute}\\`. Add \\`@@${requirement.attribute}\\` to model \"${model.name}\".`,\n\t\t\t...diagnosticSource(input.sources, blockSymbol.node.syntax).at(envelope.parameterSpans[requirement.parameter] ?? envelope.span)\n\t\t});\n\t}\n}\n/**\n* Walks the flat `modelAttributes` namespace tree in `authoringContributions`\n* and returns a map from bare `@@` attribute name to the matching\n* descriptor. The model-attribute loop in `buildModelNodeFromPsl` uses this\n* to dispatch a contributed attribute without naming any specific attribute.\n*/\nfunction buildModelAttributesByName(contributions) {\n\tconst result = /* @__PURE__ */ new Map();\n\tconst namespace = contributions?.modelAttributes;\n\tif (namespace === void 0) return result;\n\tconst walk = (node) => {\n\t\tfor (const value of Object.values(node)) if (isAuthoringModelAttributeDescriptor(value)) result.set(value.attribute, value);\n\t\telse if (typeof value === \"object\" && value !== null) walk(value);\n\t};\n\twalk(namespace);\n\treturn result;\n}\n/**\n* This pass is intentionally generic: no discriminator value is named here.\n* The factory (registered by the target pack) owns all block-specific logic.\n*/\nfunction lowerExtensionBlocksForNamespace(blocks, ownerNamespaceId, entityTypesByDiscriminator, entityContext, parsedBlocks, modelCoordinateOf, sources) {\n\tconst rows = [];\n\tfor (const blockSymbol of Object.values(blocks)) {\n\t\tconst envelope = parsedBlocks.get(blockSymbol);\n\t\tif (envelope === void 0) continue;\n\t\tconst descriptor = entityTypesByDiscriminator.get(envelope.kind);\n\t\tif (descriptor === void 0) continue;\n\t\tlet resolvedModelRefs;\n\t\tfor (const [paramName, value] of Object.entries(envelope.values)) {\n\t\t\tif (!isResolvedModelReference(value)) continue;\n\t\t\tconst coordinate = modelCoordinateOf(value.declaration);\n\t\t\tinvariant(coordinate !== void 0, `model mappings cover every collected model; \\`${envelope.keyword}\\` block \"${envelope.name}\" selected model \"${value.declaration.name}\" in \\`${paramName}\\` without a storage coordinate`);\n\t\t\tresolvedModelRefs = {\n\t\t\t\t...resolvedModelRefs ?? {},\n\t\t\t\t[paramName]: coordinate\n\t\t\t};\n\t\t}\n\t\tconst annotatedBlock = {\n\t\t\t...envelope,\n\t\t\tnamespaceId: ownerNamespaceId,\n\t\t\t...resolvedModelRefs !== void 0 ? { resolvedModelRefs } : {}\n\t\t};\n\t\tconst entity = instantiateAuthoringEntityType(descriptor.discriminator, descriptor, [annotatedBlock], {\n\t\t\t...entityContext,\n\t\t\tsourceId: sources.sourceFileFor(blockSymbol.node.syntax).filename\n\t\t});\n\t\tif (entity === void 0) continue;\n\t\tconst namespaceId = providesPslEntityPlacement(descriptor.output) ? descriptor.output.pslPlacement(entity).namespaceId : ownerNamespaceId;\n\t\trows.push({\n\t\t\tnamespaceId,\n\t\t\tentityKind: descriptor.discriminator,\n\t\t\tkey: envelope.name,\n\t\t\tentity\n\t\t});\n\t\tconst derivedValueSet = deriveValueSetFromEntity(descriptor.output, entity);\n\t\tif (derivedValueSet !== void 0) rows.push({\n\t\t\tnamespaceId,\n\t\t\tentityKind: \"valueSet\",\n\t\t\tkey: envelope.name,\n\t\t\tentity: derivedValueSet\n\t\t});\n\t}\n\treturn rows;\n}\nfunction processEnumDeclarations(input) {\n\tconst enumHandles = /* @__PURE__ */ new Map();\n\tconst enumTypeDescriptors = /* @__PURE__ */ new Map();\n\tif (input.enumBlocks.length === 0) return {\n\t\tenumHandles,\n\t\tenumTypeDescriptors\n\t};\n\tconst enumDescriptor = getAuthoringEntity(input.authoringContributions, [\"enum\"]);\n\tif (!enumDescriptor) {\n\t\tfor (const symbol of input.enumBlocks) input.diagnostics.push({\n\t\t\tcode: \"PSL_ENUM_MISSING_FACTORY\",\n\t\t\tmessage: `enum \"${symbol.name}\" requires an \"enum\" entityType factory in the active authoring contributions`,\n\t\t\t...diagnosticSource(input.source.sources, symbol.node.syntax).at(symbol.span)\n\t\t});\n\t\treturn {\n\t\t\tenumHandles,\n\t\t\tenumTypeDescriptors\n\t\t};\n\t}\n\tfor (const symbol of input.enumBlocks) {\n\t\tconst envelope = input.parsedBlocks.get(symbol);\n\t\tinput.diagnostics.push(...enumMemberAttributeDiagnostics(symbol, input.source.sources));\n\t\tif (envelope === void 0) continue;\n\t\tconst handle = instantiateAuthoringEntityType(\"enum\", enumDescriptor, [envelope], {\n\t\t\t...input.entityContext,\n\t\t\tsourceId: input.source.sources.sourceFileFor(symbol.node.syntax).filename\n\t\t});\n\t\tif (handle === void 0 || handle === null) continue;\n\t\tenumHandles.set(symbol, handle);\n\t\tenumTypeDescriptors.set(symbol, { codecId: handle.codecId });\n\t}\n\treturn {\n\t\tenumHandles,\n\t\tenumTypeDescriptors\n\t};\n}\n/**\n* The owning side of a relation is the one that declares `fields`/`references` on its\n* `@relation` attribute — those name the FK columns. A singular model-typed field whose\n* `@relation` carries only a name (or nothing at all) is the back side: infer prints exactly\n* that shape for a 1:1 back-relation whenever the FK needs disambiguating (two FKs between the\n* same table pair, or a self-referencing unique FK). Checking for the attribute's mere presence\n* would misclassify that back side as the owning side.\n*/\nfunction relationAttributeDeclaresOwningSide(relationAttribute) {\n\treturn getNamedArgument(relationAttribute, \"fields\") !== void 0 || getNamedArgument(relationAttribute, \"references\") !== void 0;\n}\nfunction relationNullabilityMismatch(relationField, localColumns, resolvedFields) {\n\treturn resolveToOneRelationNullable({\n\t\tdeclaredNullable: relationField.optional,\n\t\tlocalFieldNullability: resolvedFields.filter((resolvedField) => localColumns.includes(resolvedField.columnName)).map((resolvedField) => resolvedField.nullable),\n\t\townsReference: true\n\t}).contradiction !== void 0;\n}\nfunction relationNullabilityMismatchDiagnostic(modelName, relationAttribute, source) {\n\tconst fieldLabel = `Relation field \"${modelName}.${relationAttribute.field.name}\"`;\n\treturn {\n\t\tcode: \"PSL_RELATION_NULLABILITY_MISMATCH\",\n\t\tmessage: relationAttribute.field.optional ? `${fieldLabel} is optional but every field in @relation(fields: [...]) is required. Make one of those fields optional with \"?\" or remove \"?\" from \"${relationAttribute.field.name}\".` : `${fieldLabel} is required but a field in @relation(fields: [...]) is optional. Add \"?\" to \"${relationAttribute.field.name}\" or make those fields required.`,\n\t\t...source.at(relationAttribute.field.span)\n\t};\n}\nfunction buildModelNodeFromPsl(input) {\n\tconst { model, diagnostics } = input;\n\tconst source = diagnosticSource(input.sources, model.node.syntax);\n\tconst tableName = storageName(model, input.physicalNames);\n\tconst specContext = modelSpecContext({\n\t\tsymbols: input.symbolTable,\n\t\tmodel,\n\t\tdefaultFunctionRegistry: input.defaultFunctionRegistry,\n\t\tgeneratorFunctions: input.generatorFunctions,\n\t\tdataTypes: input.dataTypes\n\t});\n\tconst modelNamespaceId = input.namespaceId;\n\tconst resolvedFields = collectResolvedFields({\n\t\tmodel,\n\t\tphysicalNames: input.physicalNames,\n\t\tsymbolTable: input.symbolTable,\n\t\tenumTypeDescriptors: input.enumTypeDescriptors,\n\t\ttypeAliases: input.typeAliases,\n\t\tvalueObjectTypes: input.valueObjectTypes,\n\t\tauthoringContributions: input.authoringContributions,\n\t\ttargetId: input.targetId,\n\t\tdefaultFunctionRegistry: input.defaultFunctionRegistry,\n\t\tgeneratorFunctions: input.generatorFunctions,\n\t\tdataTypes: input.dataTypes,\n\t\tdiagnostics,\n\t\tsources: input.sources,\n\t\tbinder: input.binder,\n\t\tscalarColumnDescriptors: input.scalarColumnDescriptors,\n\t\tenumHandles: input.enumHandles,\n\t\tcapabilities: input.capabilities,\n\t\tnamespaceId: modelNamespaceId,\n\t\t...ifDefined(\"namespaceExtensionEntities\", input.namespaceExtensionEntities),\n\t\tcodecLookup: input.codecLookup\n\t});\n\tconst inlineIdFields = resolvedFields.filter((field) => field.isId);\n\tif (inlineIdFields.length > 1) diagnostics.push({\n\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\tmessage: `Model \"${model.name}\" cannot declare inline @id on multiple fields; use model-level @@id([...]) for composite identity`,\n\t\t...source.at(model.span)\n\t});\n\tconst singleInlineIdField = inlineIdFields.length === 1 ? inlineIdFields[0] : void 0;\n\tlet primaryKey = singleInlineIdField ? {\n\t\tcolumns: [singleInlineIdField.columnName],\n\t\t...ifDefined(\"name\", singleInlineIdField.idName)\n\t} : void 0;\n\tconst hasInlinePrimaryKey = primaryKey !== void 0;\n\tlet blockPrimaryKeyDeclared = false;\n\tlet controlPolicyDeclared = false;\n\tlet controlPolicy;\n\tconst declaredContributedModelAttributes = /* @__PURE__ */ new Set();\n\tconst modelAttributeEntities = {};\n\tconst resultBackrelationCandidates = [];\n\tfor (const field of Object.values(model.fields)) {\n\t\tconst backrelationTarget = backrelationTargetSymbol(field, input.binder);\n\t\tif (backrelationTarget === void 0) continue;\n\t\tconst relationAttribute = getAttribute(field.attributes, \"relation\");\n\t\tif (!field.list && relationAttribute && relationAttributeDeclaresOwningSide(relationAttribute)) continue;\n\t\tconst attributesValid = validateBackrelationFieldAttributes({\n\t\t\tmodelName: model.name,\n\t\t\tfield,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tdiagnostics\n\t\t});\n\t\tlet relationName;\n\t\tif (relationAttribute) {\n\t\t\tconst parsedRelation = interpretRelationAttribute({\n\t\t\t\tselfModel: model,\n\t\t\t\tfield,\n\t\t\t\tspecContext: fieldSpecContext({\n\t\t\t\t\t...specContext,\n\t\t\t\t\tfield,\n\t\t\t\t\tbinder: input.binder\n\t\t\t\t}),\n\t\t\t\tsymbols: input.symbolTable,\n\t\t\t\tsources: input.sources,\n\t\t\t\tbinder: input.binder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (!parsedRelation) continue;\n\t\t\tif (parsedRelation.fields || parsedRelation.references) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_INVALID_RELATION_ATTRIBUTE\",\n\t\t\t\t\tmessage: `Backrelation list field \"${model.name}.${field.name}\" cannot declare fields/references; define them on the FK-side relation field`,\n\t\t\t\t\t...source.at(relationAttribute.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (parsedRelation.onDelete || parsedRelation.onUpdate || parsedRelation.index !== void 0) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_INVALID_RELATION_ATTRIBUTE\",\n\t\t\t\t\tmessage: `Backrelation list field \"${model.name}.${field.name}\" cannot declare onDelete/onUpdate/index; define them on the FK-side relation field`,\n\t\t\t\t\t...source.at(relationAttribute.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\trelationName = parsedRelation.name;\n\t\t}\n\t\tif (!attributesValid) continue;\n\t\tresultBackrelationCandidates.push({\n\t\t\tmodelName: model,\n\t\t\ttableName,\n\t\t\tfield,\n\t\t\ttargetModelName: backrelationTarget,\n\t\t\tisList: field.list,\n\t\t\t...ifDefined(\"relationName\", relationName)\n\t\t});\n\t}\n\tconst relationAttributes = Object.values(model.fields).map((field) => ({\n\t\tfield,\n\t\trelation: getAttribute(field.attributes, \"relation\")\n\t})).filter((entry) => Boolean(entry.relation));\n\tconst uniqueConstraints = resolvedFields.filter((field) => field.isUnique).map((field) => ({\n\t\tcolumns: [field.columnName],\n\t\t...ifDefined(\"name\", field.uniqueName)\n\t}));\n\tconst indexNodes = [];\n\tconst checkNodes = [];\n\tconst foreignKeyNodes = [];\n\tfor (const modelAttribute of model.attributes) {\n\t\tif (!Object.hasOwn(sqlAttributeSpecs.model, modelAttribute.name) && !input.modelAttributesByName.has(modelAttribute.name)) continue;\n\t\tif (modelAttribute.name === \"map\") continue;\n\t\tif (modelAttribute.name === \"discriminator\" || modelAttribute.name === \"base\") continue;\n\t\tif (modelAttribute.name === \"control\") {\n\t\t\tif (controlPolicyDeclared) {\n\t\t\t\tdiagnostics.push(duplicateModelAttributeDiagnostic({\n\t\t\t\t\tname: \"control\",\n\t\t\t\t\tmodelName: model.name,\n\t\t\t\t\tsource,\n\t\t\t\t\tspan: modelAttribute.span\n\t\t\t\t}));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcontrolPolicyDeclared = true;\n\t\t\tconst node = modelAttribute.node;\n\t\t\tconst parsed = interpretModelAttribute({\n\t\t\t\tnode,\n\t\t\t\tspec: sqlAttributeSpecs.model.control(specContext),\n\t\t\t\tmodel,\n\t\t\t\tsymbols: input.symbolTable,\n\t\t\t\tsources: input.sources,\n\t\t\t\tbinder: input.binder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (parsed !== void 0) controlPolicy = parsed.policy;\n\t\t\tcontinue;\n\t\t}\n\t\tconst attributeLabel = `Model \"${model.name}\" @@${modelAttribute.name}`;\n\t\tif (modelAttribute.name === \"id\") {\n\t\t\tif (blockPrimaryKeyDeclared) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\t\tmessage: `Model \"${model.name}\" declares @@id more than once`,\n\t\t\t\t\t...source.at(modelAttribute.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (hasInlinePrimaryKey) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\t\tmessage: `Model \"${model.name}\" cannot declare both field-level @id and model-level @@id`,\n\t\t\t\t\t...source.at(modelAttribute.span)\n\t\t\t\t});\n\t\t\t\tblockPrimaryKeyDeclared = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst node = modelAttribute.node;\n\t\t\tconst parsed = interpretModelAttribute({\n\t\t\t\tnode,\n\t\t\t\tspec: sqlAttributeSpecs.model.id(specContext),\n\t\t\t\tmodel,\n\t\t\t\tsymbols: input.symbolTable,\n\t\t\t\tsources: input.sources,\n\t\t\t\tbinder: input.binder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (parsed === void 0) continue;\n\t\t\tconst fieldNames = parsed.fields;\n\t\t\tconst nullableFieldName = fieldNames.find((name) => model.fields[name]?.optional === true);\n\t\t\tif (nullableFieldName !== void 0) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\t\tmessage: `${attributeLabel} cannot include optional field \"${nullableFieldName}\"; primary key columns must be NOT NULL`,\n\t\t\t\t\t...source.at(modelAttribute.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst columnNames = mapFieldNamesToColumns({\n\t\t\t\tmodel,\n\t\t\t\tphysicalNames: input.physicalNames,\n\t\t\t\tfieldNames,\n\t\t\t\tsource,\n\t\t\t\tdiagnostics,\n\t\t\t\tspan: modelAttribute.span,\n\t\t\t\tentityLabel: attributeLabel\n\t\t\t});\n\t\t\tif (!columnNames) continue;\n\t\t\tprimaryKey = {\n\t\t\t\tcolumns: columnNames,\n\t\t\t\t...ifDefined(\"name\", parsed.map)\n\t\t\t};\n\t\t\tblockPrimaryKeyDeclared = true;\n\t\t\tcontinue;\n\t\t}\n\t\tif (modelAttribute.name === \"unique\") {\n\t\t\tconst node = modelAttribute.node;\n\t\t\tconst parsed = interpretModelAttribute({\n\t\t\t\tnode,\n\t\t\t\tspec: sqlAttributeSpecs.model.unique(specContext),\n\t\t\t\tmodel,\n\t\t\t\tsymbols: input.symbolTable,\n\t\t\t\tsources: input.sources,\n\t\t\t\tbinder: input.binder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (parsed === void 0) continue;\n\t\t\tconst columnNames = mapFieldNamesToColumns({\n\t\t\t\tmodel,\n\t\t\t\tphysicalNames: input.physicalNames,\n\t\t\t\tfieldNames: parsed.fields,\n\t\t\t\tsource,\n\t\t\t\tdiagnostics,\n\t\t\t\tspan: modelAttribute.span,\n\t\t\t\tentityLabel: attributeLabel\n\t\t\t});\n\t\t\tif (!columnNames) continue;\n\t\t\tuniqueConstraints.push({\n\t\t\t\tcolumns: columnNames,\n\t\t\t\t...ifDefined(\"name\", parsed.map)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (modelAttribute.name === \"index\") {\n\t\t\tconst node = modelAttribute.node;\n\t\t\tconst parsed = interpretModelAttribute({\n\t\t\t\tnode,\n\t\t\t\tspec: sqlAttributeSpecs.model.index(specContext),\n\t\t\t\tmodel,\n\t\t\t\tsymbols: input.symbolTable,\n\t\t\t\tsources: input.sources,\n\t\t\t\tbinder: input.binder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (parsed === void 0) continue;\n\t\t\tlet columnNames;\n\t\t\tif (parsed.fields !== void 0) {\n\t\t\t\tconst mapped = mapFieldNamesToColumns({\n\t\t\t\t\tmodel,\n\t\t\t\t\tphysicalNames: input.physicalNames,\n\t\t\t\t\tfieldNames: parsed.fields,\n\t\t\t\t\tsource,\n\t\t\t\t\tdiagnostics,\n\t\t\t\t\tspan: modelAttribute.span,\n\t\t\t\t\tentityLabel: attributeLabel\n\t\t\t\t});\n\t\t\t\tif (!mapped) continue;\n\t\t\t\tcolumnNames = mapped;\n\t\t\t}\n\t\t\tindexNodes.push(blindCast({\n\t\t\t\t...ifDefined(\"columns\", columnNames),\n\t\t\t\t...ifDefined(\"expression\", parsed.expression === void 0 ? void 0 : sqlTextFromStored(parsed.expression.value.value)),\n\t\t\t\twhere: parsed.where === void 0 ? void 0 : sqlTextFromStored(parsed.where.value.value),\n\t\t\t\tunique: parsed.unique,\n\t\t\t\tname: parsed.name,\n\t\t\t\tmap: parsed.map,\n\t\t\t\ttype: parsed.type,\n\t\t\t\toptions: parsed.options\n\t\t\t}));\n\t\t\tcontinue;\n\t\t}\n\t\tif (modelAttribute.name === \"check\") {\n\t\t\tconst node = modelAttribute.node;\n\t\t\tif (input.capabilities[\"sql\"]?.[\"checkConstraint\"] !== true) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_CHECK_UNSUPPORTED_TARGET\",\n\t\t\t\t\tmessage: `Model \"${model.name}\" declares \"@@check\", but target \"${input.targetId}\" does not support check constraints (the adapter does not report the \"checkConstraint\" capability). Remove the check or author it against a target that supports check constraints.`,\n\t\t\t\t\t...source.at(modelAttribute.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst parsed = interpretModelAttribute({\n\t\t\t\tnode,\n\t\t\t\tspec: sqlAttributeSpecs.model.check(specContext),\n\t\t\t\tmodel,\n\t\t\t\tsymbols: input.symbolTable,\n\t\t\t\tsources: input.sources,\n\t\t\t\tbinder: input.binder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (parsed === void 0) continue;\n\t\t\tcheckNodes.push({\n\t\t\t\texpression: sqlTextFromStored(parsed.expression.value.value),\n\t\t\t\tname: parsed.name,\n\t\t\t\tmap: parsed.map\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst contributedModelAttribute = input.modelAttributesByName.get(modelAttribute.name);\n\t\tif (contributedModelAttribute !== void 0) {\n\t\t\tif (contributedModelAttribute.repeatable !== true && declaredContributedModelAttributes.has(modelAttribute.name)) {\n\t\t\t\tdiagnostics.push(duplicateModelAttributeDiagnostic({\n\t\t\t\t\tname: modelAttribute.name,\n\t\t\t\t\tmodelName: model.name,\n\t\t\t\t\tsource,\n\t\t\t\t\tspan: modelAttribute.span\n\t\t\t\t}));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdeclaredContributedModelAttributes.add(modelAttribute.name);\n\t\t\tconst node = modelAttribute.node;\n\t\t\tconst specFactory = input.contributedModelAttributeSpecs[contributedModelAttribute.attribute];\n\t\t\tif (specFactory === void 0) continue;\n\t\t\tconst parsed = interpretModelAttribute({\n\t\t\t\tnode,\n\t\t\t\tspec: specFactory(specContext),\n\t\t\t\tmodel,\n\t\t\t\tsymbols: input.symbolTable,\n\t\t\t\tsources: input.sources,\n\t\t\t\tbinder: input.binder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (parsed === void 0) continue;\n\t\t\tconst lowered = blindCast(contributedModelAttribute.lower)(parsed, {\n\t\t\t\tfamily: input.familyId,\n\t\t\t\ttarget: input.targetId,\n\t\t\t\tcodecLookup: input.codecLookup,\n\t\t\t\tdataTypes: input.dataTypes,\n\t\t\t\tmodelName: model.name,\n\t\t\t\tstorageName: tableName,\n\t\t\t\tfieldStorageName: (fieldName) => {\n\t\t\t\t\tconst field = model.fields[fieldName];\n\t\t\t\t\treturn field === void 0 ? void 0 : storageName(field, input.physicalNames);\n\t\t\t\t},\n\t\t\t\tfieldCodecId: (fieldName) => resolvedFields.find((resolved) => resolved.field.name === fieldName)?.descriptor.codecId,\n\t\t\t\tnamespaceId: modelNamespaceId,\n\t\t\t\tsourceId: source.sources.sourceFileFor(source.node).filename,\n\t\t\t\tdiagnostics: { push: (d) => {\n\t\t\t\t\tdiagnostics.pushExternal(blindCast(d));\n\t\t\t\t} }\n\t\t\t});\n\t\t\tif (lowered === void 0) continue;\n\t\t\tif (\"index\" in lowered) {\n\t\t\t\tif (!isAuthoredIndexInput(lowered.index)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `model attribute \"@@${modelAttribute.name}\" on model \"${model.name}\" lowered to a malformed index. A contributed attribute that returns { index } must return an authored-index input: exactly one of a columns list or an expression, plus explicit where/unique/name/map and a type-with-options pair.`, { meta: {\n\t\t\t\t\tattribute: modelAttribute.name,\n\t\t\t\t\tmodelName: model.name\n\t\t\t\t} });\n\t\t\t\tindexNodes.push(lowered.index);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst slot = modelAttributeEntities[contributedModelAttribute.attribute] ?? {};\n\t\t\tmodelAttributeEntities[contributedModelAttribute.attribute] = slot;\n\t\t\tslot[lowered.key] = lowered.entity;\n\t\t\tcontinue;\n\t\t}\n\t\tthrow new InternalError(`Model attribute \"@@${modelAttribute.name}\" is registered but has no interpreter branch`);\n\t}\n\tconst resultFkRelationMetadata = [];\n\tconst relationIndexLocations = [];\n\tconst resultInvalidFkPairings = [];\n\tconst resultCrossSpaceRelations = [];\n\tfor (const relationAttribute of relationAttributes) {\n\t\tconst { typeName: fieldTypeName, typeNamespaceId: fieldTypeNamespaceId, typeContractSpaceId: fieldTypeContractSpaceId } = relationAttribute.field;\n\t\tif (relationAttribute.field.list) {\n\t\t\tif (fieldTypeContractSpaceId !== void 0) diagnostics.push({\n\t\t\t\tcode: \"PSL_UNSUPPORTED_CROSS_SPACE_LIST\",\n\t\t\t\tmessage: `Relation field \"${model.name}.${relationAttribute.field.name}\" is a cross-space list relation (type \"${fieldTypeContractSpaceId}:${fieldTypeNamespaceId !== void 0 ? `${fieldTypeNamespaceId}.` : \"\"}${fieldTypeName}[]\"). Cross-space relations must be singular in v0.1 — list cross-space relations are not supported.`,\n\t\t\t\t...source.at(relationAttribute.field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (!relationAttributeDeclaresOwningSide(relationAttribute.relation)) continue;\n\t\tif (fieldTypeContractSpaceId !== void 0) {\n\t\t\tconst extContractForSpace = input.composedExtensionContracts.get(fieldTypeContractSpaceId);\n\t\t\tif (extContractForSpace === void 0) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_UNKNOWN_CONTRACT_SPACE\",\n\t\t\t\t\tmessage: `Relation field \"${model.name}.${relationAttribute.field.name}\" references contract space \"${fieldTypeContractSpaceId}\" which is not declared in extensions. Add \"${fieldTypeContractSpaceId}\" to extensions in prisma.config.ts.`,\n\t\t\t\t\t...source.at(relationAttribute.field.span),\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tspace: fieldTypeContractSpaceId,\n\t\t\t\t\t\tsuggestedPack: fieldTypeContractSpaceId\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst parsedRelation = interpretRelationAttribute({\n\t\t\t\tselfModel: model,\n\t\t\t\tfield: relationAttribute.field,\n\t\t\t\tspecContext: fieldSpecContext({\n\t\t\t\t\t...specContext,\n\t\t\t\t\tfield: relationAttribute.field,\n\t\t\t\t\tbinder: input.binder\n\t\t\t\t}),\n\t\t\t\tsymbols: input.symbolTable,\n\t\t\t\tsources: input.sources,\n\t\t\t\tbinder: input.binder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (!parsedRelation) continue;\n\t\t\tif (!parsedRelation.fields || !parsedRelation.references) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_INVALID_RELATION_ATTRIBUTE\",\n\t\t\t\t\tmessage: `Relation field \"${model.name}.${relationAttribute.field.name}\" requires fields and references arguments`,\n\t\t\t\t\t...source.at(relationAttribute.relation.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst localColumns = mapFieldNamesToColumns({\n\t\t\t\tmodel,\n\t\t\t\tphysicalNames: input.physicalNames,\n\t\t\t\tfieldNames: parsedRelation.fields,\n\t\t\t\tsource,\n\t\t\t\tdiagnostics,\n\t\t\t\tspan: relationAttribute.relation.span,\n\t\t\t\tentityLabel: `Relation field \"${model.name}.${relationAttribute.field.name}\"`\n\t\t\t});\n\t\t\tif (!localColumns) continue;\n\t\t\tif (relationNullabilityMismatch(relationAttribute.field, localColumns, resolvedFields)) {\n\t\t\t\tdiagnostics.push(relationNullabilityMismatchDiagnostic(model.name, relationAttribute, source));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst referencedColumns = parsedRelation.references;\n\t\t\tif (localColumns.length !== referencedColumns.length) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_INVALID_RELATION_ATTRIBUTE\",\n\t\t\t\t\tmessage: `Relation field \"${model.name}.${relationAttribute.field.name}\" must provide the same number of fields and references`,\n\t\t\t\t\t...source.at(relationAttribute.relation.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst onDelete = parsedRelation.onDelete ? normalizeReferentialAction(parsedRelation.onDelete) : void 0;\n\t\t\tconst onUpdate = parsedRelation.onUpdate ? normalizeReferentialAction(parsedRelation.onUpdate) : void 0;\n\t\t\tconst crossTargetNamespaceId = fieldTypeNamespaceId ?? UNBOUND_NAMESPACE_ID;\n\t\t\tconst extContract = extContractForSpace;\n\t\t\tconst resolvedTable = extContract.domain.namespaces[crossTargetNamespaceId]?.models[fieldTypeName]?.storage[\"table\"];\n\t\t\tif (typeof resolvedTable !== \"string\") {\n\t\t\t\tconst availableModels = Object.keys(extContract.domain.namespaces[crossTargetNamespaceId]?.models ?? {}).join(\", \") || \"(none)\";\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_UNKNOWN_CROSS_SPACE_TARGET\",\n\t\t\t\t\tmessage: `Relation field \"${model.name}.${relationAttribute.field.name}\" references model \"${fieldTypeName}\" in namespace \"${crossTargetNamespaceId}\" of space \"${fieldTypeContractSpaceId}\", but that model was not found in the extension contract. Available models: ${availableModels}`,\n\t\t\t\t\t...source.at(relationAttribute.field.span),\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tspace: fieldTypeContractSpaceId,\n\t\t\t\t\t\tnamespace: crossTargetNamespaceId,\n\t\t\t\t\t\tmodel: fieldTypeName\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst crossTargetTableName = resolvedTable;\n\t\t\tforeignKeyNodes.push({\n\t\t\t\tcolumns: localColumns,\n\t\t\t\treferences: {\n\t\t\t\t\tmodel: fieldTypeName,\n\t\t\t\t\ttable: crossTargetTableName,\n\t\t\t\t\tcolumns: referencedColumns,\n\t\t\t\t\tnamespaceId: crossTargetNamespaceId,\n\t\t\t\t\tspaceId: fieldTypeContractSpaceId\n\t\t\t\t},\n\t\t\t\t...ifDefined(\"name\", parsedRelation.map),\n\t\t\t\t...ifDefined(\"onDelete\", onDelete),\n\t\t\t\t...ifDefined(\"onUpdate\", onUpdate),\n\t\t\t\t...ifDefined(\"index\", parsedRelation.index)\n\t\t\t});\n\t\t\tif (typeof parsedRelation.index === \"string\") relationIndexLocations.push({\n\t\t\t\tnamespaceId: modelNamespaceId,\n\t\t\t\ttableName,\n\t\t\t\tcolumns: localColumns,\n\t\t\t\tindex: parsedRelation.index,\n\t\t\t\tlocation: source.at(relationAttribute.relation.span)\n\t\t\t});\n\t\t\tresultCrossSpaceRelations.push({\n\t\t\t\tfieldName: relationAttribute.field.name,\n\t\t\t\ttoModel: fieldTypeName,\n\t\t\t\ttoTable: crossTargetTableName,\n\t\t\t\tcardinality: \"N:1\",\n\t\t\t\tnullable: relationAttribute.field.optional,\n\t\t\t\tspaceId: fieldTypeContractSpaceId,\n\t\t\t\tnamespaceId: crossTargetNamespaceId,\n\t\t\t\ton: {\n\t\t\t\t\tparentTable: tableName,\n\t\t\t\t\tparentColumns: localColumns,\n\t\t\t\t\tchildTable: crossTargetTableName,\n\t\t\t\t\tchildColumns: referencedColumns\n\t\t\t\t}\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst qualifiedTypeName = fieldTypeNamespaceId ? `${fieldTypeNamespaceId}.${fieldTypeName}` : fieldTypeName;\n\t\tconst typeReference = typeReferenceNode(relationAttribute.field);\n\t\tconst targetResolution = typeReference === void 0 ? void 0 : input.binder.symbolForNode(typeReference);\n\t\tif (targetResolution?.kind === \"unresolved\") continue;\n\t\tif (targetResolution?.kind !== \"model\") {\n\t\t\tconst foundKind = targetResolution === void 0 ? void 0 : relationTargetKindLabel(targetResolution);\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_RELATION_TARGET\",\n\t\t\t\tmessage: foundKind === void 0 ? `Relation field \"${model.name}.${relationAttribute.field.name}\" references unknown model \"${qualifiedTypeName}\"` : `Relation field \"${model.name}.${relationAttribute.field.name}\" references ${foundKind} \"${qualifiedTypeName}\"; a relation target must be a model`,\n\t\t\t\t...source.at(relationAttribute.field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst targetModel = targetResolution.symbol;\n\t\tconst targetNamespaceId = targetResolution.namespace.id;\n\t\tconst parsedRelation = interpretRelationAttribute({\n\t\t\tselfModel: model,\n\t\t\tfield: relationAttribute.field,\n\t\t\tspecContext: fieldSpecContext({\n\t\t\t\t...specContext,\n\t\t\t\tfield: relationAttribute.field,\n\t\t\t\tbinder: input.binder\n\t\t\t}),\n\t\t\tsymbols: input.symbolTable,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tdiagnostics\n\t\t});\n\t\tif (!parsedRelation) continue;\n\t\tif (!parsedRelation.fields || !parsedRelation.references) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_RELATION_ATTRIBUTE\",\n\t\t\t\tmessage: `Relation field \"${model.name}.${relationAttribute.field.name}\" requires fields and references arguments`,\n\t\t\t\t...source.at(relationAttribute.relation.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst localColumns = mapFieldNamesToColumns({\n\t\t\tmodel,\n\t\t\tphysicalNames: input.physicalNames,\n\t\t\tfieldNames: parsedRelation.fields,\n\t\t\tsource,\n\t\t\tdiagnostics,\n\t\t\tspan: relationAttribute.relation.span,\n\t\t\tentityLabel: `Relation field \"${model.name}.${relationAttribute.field.name}\"`\n\t\t});\n\t\tif (!localColumns) continue;\n\t\tif (relationNullabilityMismatch(relationAttribute.field, localColumns, resolvedFields)) {\n\t\t\tdiagnostics.push(relationNullabilityMismatchDiagnostic(model.name, relationAttribute, source));\n\t\t\tresultInvalidFkPairings.push({\n\t\t\t\tdeclaringModel: model,\n\t\t\t\ttargetModel,\n\t\t\t\t...ifDefined(\"relationName\", parsedRelation.name)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst referencedColumns = mapFieldNamesToColumns({\n\t\t\tmodel: targetModel,\n\t\t\tphysicalNames: input.physicalNames,\n\t\t\tfieldNames: parsedRelation.references,\n\t\t\tsource,\n\t\t\tdiagnostics,\n\t\t\tspan: relationAttribute.relation.span,\n\t\t\tentityLabel: `Relation field \"${model.name}.${relationAttribute.field.name}\"`\n\t\t});\n\t\tif (!referencedColumns) continue;\n\t\tif (localColumns.length !== referencedColumns.length) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_RELATION_ATTRIBUTE\",\n\t\t\t\tmessage: `Relation field \"${model.name}.${relationAttribute.field.name}\" must provide the same number of fields and references`,\n\t\t\t\t...source.at(relationAttribute.relation.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst onDelete = parsedRelation.onDelete ? normalizeReferentialAction(parsedRelation.onDelete) : void 0;\n\t\tconst onUpdate = parsedRelation.onUpdate ? normalizeReferentialAction(parsedRelation.onUpdate) : void 0;\n\t\tconst targetTableName = storageName(targetModel, input.physicalNames);\n\t\tforeignKeyNodes.push({\n\t\t\tcolumns: localColumns,\n\t\t\treferences: {\n\t\t\t\tmodel: targetModel.name,\n\t\t\t\ttable: targetTableName,\n\t\t\t\tcolumns: referencedColumns,\n\t\t\t\tnamespaceId: targetNamespaceId\n\t\t\t},\n\t\t\t...ifDefined(\"name\", parsedRelation.map),\n\t\t\t...ifDefined(\"onDelete\", onDelete),\n\t\t\t...ifDefined(\"onUpdate\", onUpdate),\n\t\t\t...ifDefined(\"index\", parsedRelation.index)\n\t\t});\n\t\tif (typeof parsedRelation.index === \"string\") relationIndexLocations.push({\n\t\t\tnamespaceId: modelNamespaceId,\n\t\t\ttableName,\n\t\t\tcolumns: localColumns,\n\t\t\tindex: parsedRelation.index,\n\t\t\tlocation: source.at(relationAttribute.relation.span)\n\t\t});\n\t\tresultFkRelationMetadata.push({\n\t\t\tdeclaringModelName: model,\n\t\t\tdeclaringFieldName: relationAttribute.field.name,\n\t\t\tdeclaringTableName: tableName,\n\t\t\t...ifDefined(\"declaringNamespaceId\", modelNamespaceId),\n\t\t\ttargetModelName: targetModel,\n\t\t\ttargetTableName,\n\t\t\t...ifDefined(\"targetNamespaceId\", targetNamespaceId),\n\t\t\t...ifDefined(\"relationName\", parsedRelation.name),\n\t\t\tnullable: relationAttribute.field.optional,\n\t\t\tlocalColumns,\n\t\t\treferencedColumns\n\t\t});\n\t}\n\treturn {\n\t\tmodelNode: {\n\t\t\tmodelName: model.name,\n\t\t\ttableName,\n\t\t\tfields: resolvedFields.map((resolvedField) => {\n\t\t\t\tconst common = {\n\t\t\t\t\tfieldName: resolvedField.field.name,\n\t\t\t\t\tcolumnName: resolvedField.columnName,\n\t\t\t\t\tdescriptor: resolvedField.descriptor,\n\t\t\t\t\tnullable: resolvedField.nullable,\n\t\t\t\t\t...ifDefined(\"many\", resolvedField.many),\n\t\t\t\t\t...ifDefined(\"elementNullable\", resolvedField.many ? resolvedField.elementNullable === true : void 0),\n\t\t\t\t\t...ifDefined(\"default\", resolvedField.defaultValue),\n\t\t\t\t\t...ifDefined(\"executionDefaults\", resolvedField.executionDefaults)\n\t\t\t\t};\n\t\t\t\tif (resolvedField.valueObjectTypeName !== void 0) return {\n\t\t\t\t\t...common,\n\t\t\t\t\tvalueObjectName: resolvedField.valueObjectTypeName\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\t...common,\n\t\t\t\t\t...ifDefined(\"enumTypeHandle\", resolvedField.enumTypeHandle)\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...ifDefined(\"id\", primaryKey),\n\t\t\t...uniqueConstraints.length > 0 ? { uniques: uniqueConstraints } : {},\n\t\t\t...indexNodes.length > 0 ? { indexes: indexNodes } : {},\n\t\t\t...checkNodes.length > 0 ? { checks: checkNodes } : {},\n\t\t\t...foreignKeyNodes.length > 0 ? { foreignKeys: foreignKeyNodes } : {},\n\t\t\t...ifDefined(\"control\", controlPolicy)\n\t\t},\n\t\tfkRelationMetadata: resultFkRelationMetadata,\n\t\trelationIndexLocations,\n\t\tinvalidFkPairings: resultInvalidFkPairings,\n\t\tcrossSpaceRelations: resultCrossSpaceRelations,\n\t\tbackrelationCandidates: resultBackrelationCandidates,\n\t\tmodelAttributeEntities\n\t};\n}\nfunction buildValueObjectNodes(input) {\n\tconst { compositeTypes, enumHandles, diagnostics, sources, binder } = input;\n\treturn compositeTypes.map((compositeType) => {\n\t\tfor (const attribute of compositeType.attributes) diagnostics.push({\n\t\t\tcode: \"PSL_UNSUPPORTED_COMPOSITE_TYPE_ATTRIBUTE\",\n\t\t\tmessage: `Composite type \"${compositeType.name}\" uses attribute \"@@${attribute.name}\", which a composite type does not take`,\n\t\t\t...diagnosticSource(sources, compositeType.node.syntax).at(attribute.span)\n\t\t});\n\t\tconst fields = [];\n\t\tfor (const field of Object.values(compositeType.fields)) {\n\t\t\tfor (const attribute of field.attributes) diagnostics.push({\n\t\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_ATTRIBUTE\",\n\t\t\t\tmessage: `Member \"${field.name}\" of composite type \"${compositeType.name}\" uses attribute \"@${attribute.name}\", which a composite type member does not take`,\n\t\t\t\t...diagnosticSource(sources, field.node.syntax).at(attribute.span)\n\t\t\t});\n\t\t\tconst common = {\n\t\t\t\tfieldName: field.name,\n\t\t\t\tnullable: field.optional,\n\t\t\t\t...ifDefined(\"many\", field.list ? true : void 0),\n\t\t\t\t...ifDefined(\"elementNullable\", field.list ? field.elementOptional : void 0)\n\t\t\t};\n\t\t\tconst fieldTypeReference = typeReferenceNode(field);\n\t\t\tconst fieldTypeResolution = fieldTypeReference === void 0 ? void 0 : binder.symbolForNode(fieldTypeReference);\n\t\t\tif (fieldTypeResolution?.kind === \"compositeType\") {\n\t\t\t\tfields.push({\n\t\t\t\t\t...common,\n\t\t\t\t\tvalueObjectName: fieldTypeResolution.symbol.name\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst resolved = resolveFieldTypeDescriptor({\n\t\t\t\tfield,\n\t\t\t\tresolution: fieldTypeResolution,\n\t\t\t\tenumTypeDescriptors: input.enumTypeDescriptors,\n\t\t\t\ttypeAliases: input.typeAliases,\n\t\t\t\tdiagnostics,\n\t\t\t\tsources,\n\t\t\t\tentityLabel: `Field \"${compositeType.name}.${field.name}\"`,\n\t\t\t\tnamespaceId: input.defaultNamespaceId,\n\t\t\t\tnamespaceExtensionEntities: input.namespaceExtensionEntities,\n\t\t\t\tbinder,\n\t\t\t\tcodecLookup: input.codecLookup,\n\t\t\t\tdataTypes: input.dataTypes\n\t\t\t});\n\t\t\tif (!resolved.ok) continue;\n\t\t\tconst { descriptor } = resolved;\n\t\t\tif (descriptor.valueSet !== void 0) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_TYPE\",\n\t\t\t\t\tmessage: `Field \"${compositeType.name}.${field.name}\" is typed by the storage enum \"${descriptor.valueSet.entityName}\", which a composite type member cannot use: a member has no column to store it in. Use a PSL enum instead.`,\n\t\t\t\t\t...diagnosticSource(sources, field.node.syntax).at(field.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst typeAlias = input.typeAliases.ofResolution(fieldTypeResolution);\n\t\t\tfor (const attribute of typeAlias === void 0 ? [] : typeAliasAttributeNames(typeAlias.alias)) diagnostics.push({\n\t\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_ATTRIBUTE\",\n\t\t\t\tmessage: `Member \"${field.name}\" of composite type \"${compositeType.name}\" is typed by the type alias \"${field.typeName}\", which carries \"@${attribute}\", an attribute a composite type member does not take`,\n\t\t\t\t...diagnosticSource(sources, field.node.syntax).at(field.span)\n\t\t\t});\n\t\t\tfields.push({\n\t\t\t\t...common,\n\t\t\t\tdescriptor: {\n\t\t\t\t\tcodecId: descriptor.codecId,\n\t\t\t\t\t...ifDefined(\"typeParams\", descriptor.typeParams)\n\t\t\t\t},\n\t\t\t\t...ifDefined(\"enumTypeHandle\", fieldTypeResolution?.kind === \"block\" ? enumHandles.get(fieldTypeResolution.symbol) : typeAlias?.enumHandle)\n\t\t\t});\n\t\t}\n\t\treturn {\n\t\t\tname: compositeType.name,\n\t\t\tfields\n\t\t};\n\t});\n}\nfunction collectPolymorphismDeclarations(identities, symbols, sources, binder, specContextFor, discriminatorFieldOf, codecLookup, dataTypes, diagnostics) {\n\tconst pendingDiscriminators = /* @__PURE__ */ new Map();\n\tconst pendingBaseDeclarations = /* @__PURE__ */ new Map();\n\tconst reported = { discriminators: /* @__PURE__ */ new Set() };\n\tfor (const { model, namespaceId, key } of identities.values()) {\n\t\tconst source = diagnosticSource(sources, model.node.syntax);\n\t\tconst discriminatorNode = getAttribute(model.attributes, \"discriminator\")?.node;\n\t\tif (discriminatorNode !== void 0) {\n\t\t\tconst parsed = interpretModelAttribute({\n\t\t\t\tnode: discriminatorNode,\n\t\t\t\tsymbols,\n\t\t\t\tspec: sqlAttributeSpecs.model.discriminator(specContextFor(model)),\n\t\t\t\tmodel,\n\t\t\t\tsources,\n\t\t\t\tbinder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (parsed !== void 0) pendingDiscriminators.set(key, {\n\t\t\t\tdeclaration: {\n\t\t\t\t\tmodel,\n\t\t\t\t\tfieldName: parsed.field,\n\t\t\t\t\tspan: nodePslSpan(discriminatorNode.syntax, sources),\n\t\t\t\t\tsource\n\t\t\t\t},\n\t\t\t\tfield: discriminatorFieldOf(model, parsed.field)\n\t\t\t});\n\t\t\telse reported.discriminators.add(key);\n\t\t}\n\t\tconst baseNode = getAttribute(model.attributes, \"base\")?.node;\n\t\tif (baseNode !== void 0) {\n\t\t\tconst parsed = interpretModelAttribute({\n\t\t\t\tnode: baseNode,\n\t\t\t\tsymbols,\n\t\t\t\tspec: sqlAttributeSpecs.model.base(specContextFor(model)),\n\t\t\t\tmodel,\n\t\t\t\tsources,\n\t\t\t\tbinder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tif (parsed !== void 0) {\n\t\t\t\tconst base = identities.get(parsed.base.declaration);\n\t\t\t\tinvariant(base !== void 0, `Resolved base model \"${parsed.base.declaration.name}\" is missing from the collected model identities`);\n\t\t\t\tpendingBaseDeclarations.set(key, {\n\t\t\t\t\tmodel,\n\t\t\t\t\tnamespaceId,\n\t\t\t\t\tsource,\n\t\t\t\t\tbase,\n\t\t\t\t\twritten: parsed.value,\n\t\t\t\t\tspan: nodePslSpan(baseNode.syntax, sources)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst discriminatorDeclarations = /* @__PURE__ */ new Map();\n\tconst values = /* @__PURE__ */ new Map();\n\tfor (const [baseKey, { declaration, field }] of pendingDiscriminators) {\n\t\tconst accepted = acceptedDiscriminator(declaration, field, [...pendingBaseDeclarations].filter(([, base]) => base.base.key === baseKey), {\n\t\t\tcodecLookup,\n\t\t\tdataTypes,\n\t\t\tdiagnostics\n\t\t});\n\t\tif (accepted === void 0) {\n\t\t\treported.discriminators.add(baseKey);\n\t\t\tcontinue;\n\t\t}\n\t\tdiscriminatorDeclarations.set(baseKey, declaration);\n\t\tfor (const [variantKey, value] of accepted) values.set(variantKey, value);\n\t}\n\tconst baseDeclarations = /* @__PURE__ */ new Map();\n\tfor (const [key, { model, namespaceId, source, base, span }] of pendingBaseDeclarations) baseDeclarations.set(key, {\n\t\tmodel,\n\t\tnamespaceId,\n\t\tsource,\n\t\tbase,\n\t\tspan,\n\t\tvalue: values.get(key)\n\t});\n\treturn {\n\t\tdiscriminatorDeclarations,\n\t\tbaseDeclarations,\n\t\treported\n\t};\n}\n/**\n* The stored discriminator value of each variant, by the variant's key, when the discriminator rule accepts the field; `undefined` when it refuses the field. A refusal is reported at the `@@discriminator` attribute or at the `@@base` value it is about.\n*/\nfunction acceptedDiscriminator(declaration, discriminatorField, bases, input) {\n\tconst { model, fieldName } = declaration;\n\tconst baseByKey = new Map(bases);\n\tconst decision = applyDiscriminatorRule({\n\t\tfield: discriminatorField.field,\n\t\tvariants: bases.map(([key, base]) => ({\n\t\t\tkey,\n\t\t\twritten: writtenBaseValue(base)\n\t\t})),\n\t\tsubject: `Field \"${model.name}.${fieldName}\"`,\n\t\tcodecLookup: input.codecLookup,\n\t\tdataTypes: input.dataTypes\n\t});\n\tconst baseOf = (variantKey) => {\n\t\tconst base = baseByKey.get(variantKey);\n\t\tinvariant(base !== void 0, \"A refused @@base value belongs to a collected variant\");\n\t\treturn base;\n\t};\n\tconst subject = {\n\t\tmodelName: model.name,\n\t\tfieldName,\n\t\ttypeName: model.fields[fieldName]?.typeName ?? fieldName,\n\t\tenumName: discriminatorField.enumName,\n\t\tvariantName: (variantKey) => baseOf(variantKey).model.name\n\t};\n\tfor (const refusal of decision.fieldRefusals) input.diagnostics.push({\n\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\tmessage: describeDiscriminatorRefusal(refusal, subject),\n\t\t...declaration.source.at(declaration.span)\n\t});\n\tif (decision.fieldRefusals.length > 0) return void 0;\n\tfor (const refusal of decision.variantRefusals) {\n\t\tconst base = baseOf(refusal.key);\n\t\tinput.diagnostics.push({\n\t\t\t...refusal.kind === \"unreadable\" ? refusal.refusal : {\n\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\tmessage: describeDiscriminatorRefusal(refusal, subject)\n\t\t\t},\n\t\t\t...base.source.at(base.written.span)\n\t\t});\n\t}\n\treturn decision.values;\n}\n/** A `@@base` value as it is written; the grammar reads only a quoted string there. */\nfunction writtenBaseValue(base) {\n\tif (base.written.written === void 0) throw new InternalError(\"A @@base value is a quoted string, never a tagged literal.\");\n\treturn base.written.written;\n}\nfunction modelLabel(namespaceId, modelName, qualified) {\n\treturn qualified ? `${namespaceId}.${modelName}` : modelName;\n}\nfunction resolvePolymorphism(models, physicalNames, discriminatorDeclarations, baseDeclarations, reported, syntheticPkFieldsByVariant, stiBaseFieldsByBase, diagnostics) {\n\tlet patched = models;\n\tfor (const [baseKey, fieldNames] of stiBaseFieldsByBase) {\n\t\tconst baseModel = patched[baseKey];\n\t\tif (!baseModel || fieldNames.length === 0) continue;\n\t\tpatched = {\n\t\t\t...patched,\n\t\t\t[baseKey]: stripStorageOnlyDomainFields(baseModel, fieldNames)\n\t\t};\n\t}\n\tfor (const [modelKey, decl] of discriminatorDeclarations) {\n\t\tconst modelName = decl.model.name;\n\t\tif (baseDeclarations.has(modelKey)) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_DISCRIMINATOR_AND_BASE\",\n\t\t\t\tmessage: `Model \"${modelName}\" cannot have both @@discriminator and @@base`,\n\t\t\t\t...decl.source.at(decl.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst model = patched[modelKey];\n\t\tif (!model) continue;\n\t\tconst variants = {};\n\t\tfor (const baseDecl of baseDeclarations.values()) {\n\t\t\tif (baseDecl.base.key !== modelKey || baseDecl.value === void 0) continue;\n\t\t\tconst variantName = baseDecl.model.name;\n\t\t\tconst existingVariant = variants[baseDecl.value];\n\t\t\tif (existingVariant) {\n\t\t\t\tconst qualified = existingVariant.namespace !== baseDecl.base.namespaceId || baseDecl.namespaceId !== baseDecl.base.namespaceId;\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_DUPLICATE_DISCRIMINATOR_VALUE\",\n\t\t\t\t\tmessage: `Discriminator value \"${baseDecl.value}\" is used by both \"${modelLabel(existingVariant.namespace, existingVariant.model, qualified)}\" and \"${modelLabel(baseDecl.namespaceId, variantName, qualified)}\" on base model \"${modelLabel(baseDecl.base.namespaceId, modelName, qualified)}\"`,\n\t\t\t\t\t...baseDecl.source.at(baseDecl.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvariants[baseDecl.value] = crossRef(variantName, baseDecl.namespaceId);\n\t\t}\n\t\tif (Object.keys(variants).length === 0) {\n\t\t\tif ([...baseDeclarations.values()].some((baseDecl) => baseDecl.base.key === modelKey && baseDecl.value === void 0)) continue;\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_ORPHANED_DISCRIMINATOR\",\n\t\t\t\tmessage: `Model \"${modelName}\" has @@discriminator but no variant models declare @@base(${modelName}, ...)`,\n\t\t\t\t...decl.source.at(decl.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tpatched = {\n\t\t\t...patched,\n\t\t\t[modelKey]: {\n\t\t\t\t...model,\n\t\t\t\tdiscriminator: { field: decl.fieldName },\n\t\t\t\tvariants\n\t\t\t}\n\t\t};\n\t}\n\tfor (const [variantKey, baseDecl] of baseDeclarations) {\n\t\tconst baseName = baseDecl.base.model.name;\n\t\tif (!discriminatorDeclarations.has(baseDecl.base.key)) {\n\t\t\tif (reported.discriminators.has(baseDecl.base.key)) continue;\n\t\t\tconst qualified = baseDecl.namespaceId !== baseDecl.base.namespaceId;\n\t\t\tconst variantLabel = modelLabel(baseDecl.namespaceId, baseDecl.model.name, qualified);\n\t\t\tconst baseLabel = modelLabel(baseDecl.base.namespaceId, baseName, qualified);\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_ORPHANED_BASE\",\n\t\t\t\tmessage: `Model \"${variantLabel}\" declares @@base(${baseLabel}, ...) but \"${baseLabel}\" has no @@discriminator`,\n\t\t\t\t...baseDecl.source.at(baseDecl.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (discriminatorDeclarations.has(variantKey)) continue;\n\t\tconst variantModel = patched[variantKey];\n\t\tif (!variantModel) continue;\n\t\tconst resolvedTable = storageName(getAttribute(baseDecl.model.attributes, \"map\") !== void 0 ? baseDecl.model : baseDecl.base.model, physicalNames);\n\t\tconst patchedVariant = {\n\t\t\t...variantModel,\n\t\t\tbase: crossRef(baseName, baseDecl.base.namespaceId),\n\t\t\t...resolvedTable ? { storage: {\n\t\t\t\t...variantModel.storage,\n\t\t\t\ttable: resolvedTable\n\t\t\t} } : {}\n\t\t};\n\t\tpatched = {\n\t\t\t...patched,\n\t\t\t[variantKey]: stripStorageOnlyDomainFields(patchedVariant, syntheticPkFieldsByVariant.get(variantKey) ?? [])\n\t\t};\n\t}\n\treturn patched;\n}\n/**\n* Multi-table-inheritance variants (`@@base` + their own `@@map`) live in a\n* separate table from their base. The ORM joins that table to the base on the\n* shared primary key (`base.id = variant.id`), so the variant storage table\n* must carry the base PK column even though the variant domain model declares\n* only its own fields. This enriches each MTI variant's `ModelNode` with that\n* link column, a primary key on it, and a FK back to the base table.\n*\n* The link column is reported back per variant in `syntheticPkFieldsByVariant`\n* so the domain-model patch can drop it again — keeping the variant's domain\n* surface thin (its create/read inputs don't gain a redundant `id`) while the\n* storage table stays joinable. Single-table-inheritance variants (no own\n* table) are left untouched.\n*/\nfunction materializeMtiVariantStorageLinks(modelNodes, baseDeclarations, stiVariantKeys, defaultNamespaceId) {\n\tconst keyOf = (node) => modelCoordinateKey(node.namespaceId ?? defaultNamespaceId, node.modelName);\n\tconst nodeByModel = new Map(modelNodes.map((node) => [keyOf(node), node]));\n\tconst syntheticPkFieldsByVariant = /* @__PURE__ */ new Map();\n\treturn {\n\t\tmodelNodes: modelNodes.map((node) => {\n\t\t\tconst variantKey = keyOf(node);\n\t\t\tconst baseDecl = baseDeclarations.get(variantKey);\n\t\t\tif (!baseDecl) return node;\n\t\t\tconst baseNode = nodeByModel.get(baseDecl.base.key);\n\t\t\tif (!baseNode) return node;\n\t\t\tif (stiVariantKeys.has(variantKey)) return node;\n\t\t\tconst basePrimaryKey = baseNode.id;\n\t\t\tif (!basePrimaryKey || basePrimaryKey.columns.length === 0) return node;\n\t\t\tconst existingColumns = new Set(node.fields.map((field) => field.columnName));\n\t\t\tconst linkFields = [];\n\t\t\tfor (const pkColumn of basePrimaryKey.columns) {\n\t\t\t\tif (existingColumns.has(pkColumn)) continue;\n\t\t\t\tconst baseField = baseNode.fields.find((field) => field.columnName === pkColumn);\n\t\t\t\tif (!baseField) continue;\n\t\t\t\tlinkFields.push({\n\t\t\t\t\tfieldName: baseField.fieldName,\n\t\t\t\t\tcolumnName: pkColumn,\n\t\t\t\t\tdescriptor: baseField.descriptor,\n\t\t\t\t\tnullable: false,\n\t\t\t\t\tmany: false\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (linkFields.length === 0) return node;\n\t\t\tsyntheticPkFieldsByVariant.set(variantKey, linkFields.map((field) => field.fieldName));\n\t\t\tconst foreignKey = {\n\t\t\t\tcolumns: basePrimaryKey.columns,\n\t\t\t\treferences: {\n\t\t\t\t\tmodel: baseNode.modelName,\n\t\t\t\t\ttable: baseNode.tableName,\n\t\t\t\t\tcolumns: basePrimaryKey.columns,\n\t\t\t\t\t...ifDefined(\"namespaceId\", baseNode.namespaceId)\n\t\t\t\t},\n\t\t\t\tconstraint: true,\n\t\t\t\tonDelete: \"cascade\"\n\t\t\t};\n\t\t\treturn {\n\t\t\t\t...node,\n\t\t\t\tfields: [...linkFields, ...node.fields],\n\t\t\t\tid: { columns: basePrimaryKey.columns },\n\t\t\t\tforeignKeys: [...node.foreignKeys ?? [], foreignKey]\n\t\t\t};\n\t\t}),\n\t\tsyntheticPkFieldsByVariant\n\t};\n}\n/**\n* Single-table-inheritance variants (`@@base` with no own `@@map`) share the\n* base table: `resolvePolymorphism` points the variant's `storage.table` at the\n* base, and the ORM reads variant-declared fields straight off the base table.\n* For that to validate and round-trip, the base storage table must physically\n* carry every STI variant's declared columns. This enriches the base\n* `ModelNode` with those columns.\n*\n* The materialised columns are always nullable in storage: the base table hosts\n* every variant's rows, so a column a variant declares as required is still\n* NULL on sibling-variant rows. The variant's domain field keeps its declared\n* nullability — required-in-domain / nullable-in-storage is the intended STI\n* shape.\n*\n* Collisions (two variants declaring the same column, or a variant column name\n* clashing with a base column) are resolved skip-if-exists here, mirroring the\n* MTI link guard; surfacing them as diagnostics is tracked separately\n* (TML-2827).\n*/\nfunction materializeStiVariantStorageColumns(modelNodes, baseDeclarations, stiVariantKeys, defaultNamespaceId) {\n\tif (stiVariantKeys.size === 0) return {\n\t\tmodelNodes: [...modelNodes],\n\t\tstiBaseFieldsByBase: /* @__PURE__ */ new Map()\n\t};\n\tconst keyOf = (node) => modelCoordinateKey(node.namespaceId ?? defaultNamespaceId, node.modelName);\n\tconst nodeByModel = new Map(modelNodes.map((node) => [keyOf(node), node]));\n\tconst stiColumnsByBase = /* @__PURE__ */ new Map();\n\tfor (const variantKey of stiVariantKeys) {\n\t\tconst variantNode = nodeByModel.get(variantKey);\n\t\tconst baseDecl = baseDeclarations.get(variantKey);\n\t\tif (!variantNode || !baseDecl) continue;\n\t\tconst baseNode = nodeByModel.get(baseDecl.base.key);\n\t\tif (!baseNode) continue;\n\t\tconst baseColumns = new Set(baseNode.fields.map((field) => field.columnName));\n\t\tconst claimed = stiColumnsByBase.get(baseDecl.base.key) ?? [];\n\t\tconst claimedColumns = new Set(claimed.map((field) => field.columnName));\n\t\tfor (const field of variantNode.fields) {\n\t\t\tif (baseColumns.has(field.columnName) || claimedColumns.has(field.columnName)) continue;\n\t\t\tclaimedColumns.add(field.columnName);\n\t\t\tclaimed.push({\n\t\t\t\t...field,\n\t\t\t\tnullable: true\n\t\t\t});\n\t\t}\n\t\tstiColumnsByBase.set(baseDecl.base.key, claimed);\n\t}\n\tconst stiBaseFieldsByBase = /* @__PURE__ */ new Map();\n\tfor (const [baseName, columns] of stiColumnsByBase) stiBaseFieldsByBase.set(baseName, columns.map((field) => field.fieldName));\n\treturn {\n\t\tmodelNodes: modelNodes.map((node) => {\n\t\t\tif (stiVariantKeys.has(keyOf(node))) return {\n\t\t\t\t...node,\n\t\t\t\tsharesBaseTable: true\n\t\t\t};\n\t\t\tconst stiColumns = stiColumnsByBase.get(keyOf(node));\n\t\t\tif (!stiColumns || stiColumns.length === 0) return node;\n\t\t\treturn {\n\t\t\t\t...node,\n\t\t\t\tfields: [...node.fields, ...stiColumns]\n\t\t\t};\n\t\t}),\n\t\tstiBaseFieldsByBase\n\t};\n}\n/**\n* Drop the storage-only link fields (added by\n* {@link materializeMtiVariantStorageLinks}) from a variant's domain model, so\n* the domain surface stays thin while the storage table keeps the link column.\n*/\nfunction stripStorageOnlyDomainFields(model, fieldNames) {\n\tif (fieldNames.length === 0) return model;\n\tconst fields = { ...model.fields };\n\tfor (const name of fieldNames) delete fields[name];\n\tconst storage = blindCast(model.storage);\n\tconst storageFields = { ...storage.fields };\n\tfor (const name of fieldNames) delete storageFields[name];\n\treturn {\n\t\t...model,\n\t\tfields,\n\t\tstorage: {\n\t\t\t...storage,\n\t\t\tfields: storageFields\n\t\t}\n\t};\n}\nfunction backrelationTargetSymbol(field, binder) {\n\tconst typeReference = typeReferenceNode(field);\n\tif (typeReference === void 0) return void 0;\n\tconst resolution = binder.symbolForNode(typeReference);\n\treturn resolution?.kind === \"model\" ? resolution.symbol : void 0;\n}\nfunction relationTargetKindLabel(resolution) {\n\tswitch (resolution.kind) {\n\t\tcase \"compositeType\": return \"composite type\";\n\t\tcase \"namedType\": return \"type alias\";\n\t\tcase \"block\": return resolution.symbol.keyword;\n\t\tcase \"namespace\":\n\t\tcase \"contributedNamespace\": return \"namespace\";\n\t\tcase \"contributedType\": return \"type\";\n\t\tdefault: return;\n\t}\n}\n/**\n* The relation a refusal of `index: \"<name>\"` belongs to, and the message to report there; `undefined` for every other error.\n*/\nfunction relationIndexRefusal(error, locations) {\n\tif (!isStructuredError(error) || error.meta?.[\"reason\"] !== FOREIGN_KEY_INDEX_UNRESOLVED) return;\n\tconst { namespaceId, tableName, columns, index } = error.meta ?? {};\n\tconst at = locations.find((candidate) => candidate.namespaceId === namespaceId && candidate.tableName === tableName && candidate.index === index && Array.isArray(columns) && candidate.columns.length === columns.length && candidate.columns.every((column, position) => column === columns[position]));\n\tif (at === void 0) return void 0;\n\treturn {\n\t\tat,\n\t\tmessage: error.fix === void 0 ? error.message : `${error.message} ${error.fix}`\n\t};\n}\nfunction interpretPslDocumentToSqlContract(input) {\n\tif (!input.target) throw new InternalError(\"PSL interpretation requires an explicit target context from composition.\");\n\tif (!input.scalarColumnDescriptors) throw new InternalError(\"PSL interpretation requires composed scalar type descriptors.\");\n\tconst [anchorDocument] = input.documents;\n\tassertDefined(anchorDocument, \"interpretPslDocumentToSqlContract requires at least one document\");\n\tconst source = diagnosticSource(input.sources, anchorDocument.syntax);\n\tconst diagnostics = createPslDiagnosticCollector(input.sources);\n\tconst modelAttributesByName = buildModelAttributesByName(input.authoringContributions);\n\tconst contributedModelSpecs = modelAttributeSpecsFrom(modelAttributesByName);\n\tconst composedPslBlockDescriptors = input.authoringContributions?.pslBlockDescriptors ?? {};\n\tconst { binder, dataTypes } = input;\n\tconst defaultFunctionRegistry = input.controlMutationDefaults?.defaultFunctionRegistry ?? /* @__PURE__ */ new Map();\n\tconst { generatorFunctions } = input;\n\tconst specContextFor = (model) => modelSpecContext({\n\t\tsymbols: input.symbolTable,\n\t\tmodel,\n\t\tdefaultFunctionRegistry,\n\t\tgeneratorFunctions,\n\t\tdataTypes\n\t});\n\tconst namespaceSymbols = Object.values(input.symbolTable.namespaces);\n\tvalidateNamespaceBlocksForSqlTarget({\n\t\tnamespaces: namespaceSymbols,\n\t\ttargetId: input.target.targetId,\n\t\tsource,\n\t\tsources: input.sources,\n\t\tbinder,\n\t\tdiagnostics\n\t});\n\tconst { parsedBlocks, diagnostics: blockDiagnostics } = interpretExtensionBlocks({\n\t\tsymbolTable: input.symbolTable,\n\t\tsources: input.sources,\n\t\tpslBlockDescriptors: composedPslBlockDescriptors,\n\t\tbinder,\n\t\tdataTypes\n\t});\n\tdiagnostics.push(...blockDiagnostics);\n\tvalidateBlockModelAttributeRequirements({\n\t\tparsedBlocks,\n\t\tpslBlockDescriptors: composedPslBlockDescriptors,\n\t\tsources: input.sources,\n\t\tdiagnostics\n\t});\n\tconst models = [];\n\tconst modelEntries = [];\n\tconst compositeTypes = [];\n\tfor (const namespace of namespaceSymbols) {\n\t\tfor (const model of Object.values(namespace.models)) {\n\t\t\tmodels.push(model);\n\t\t\tmodelEntries.push({\n\t\t\t\tmodel,\n\t\t\t\tnamespaceId: namespace.id\n\t\t\t});\n\t\t}\n\t\tcompositeTypes.push(...Object.values(namespace.compositeTypes));\n\t}\n\tconst physicalNames = /* @__PURE__ */ new Map();\n\tfor (const model of models) {\n\t\tconst mapNode = getAttribute(model.attributes, \"map\")?.node;\n\t\tconst mapped = mapNode === void 0 ? void 0 : interpretModelAttribute({\n\t\t\tnode: mapNode,\n\t\t\tsymbols: input.symbolTable,\n\t\t\tspec: sqlAttributeSpecs.model.map(specContextFor(model)),\n\t\t\tmodel,\n\t\t\tsources: input.sources,\n\t\t\tbinder,\n\t\t\tdiagnostics\n\t\t});\n\t\tphysicalNames.set(model, mapped?.name ?? defaultTableName(model.name));\n\t\tfor (const field of Object.values(model.fields)) {\n\t\t\tconst mapNode = getAttribute(field.attributes, \"map\")?.node;\n\t\t\tconst mapped = mapNode === void 0 ? void 0 : interpretFieldAttribute({\n\t\t\t\tnode: mapNode,\n\t\t\t\tsymbols: input.symbolTable,\n\t\t\t\tspec: sqlAttributeSpecs.field.map(fieldSpecContext({\n\t\t\t\t\t...specContextFor(model),\n\t\t\t\t\tfield,\n\t\t\t\t\tbinder\n\t\t\t\t})),\n\t\t\t\tmodel,\n\t\t\t\tfield,\n\t\t\t\tsources: input.sources,\n\t\t\t\tbinder,\n\t\t\t\tdiagnostics\n\t\t\t});\n\t\t\tphysicalNames.set(field, mapped?.name ?? field.name);\n\t\t}\n\t}\n\tconst defaultNamespaceId = input.symbolTable.defaultNamespace.id;\n\tconst composedExtensions = new Set(input.composedExtensions ?? []);\n\tconst composedExtensionContracts = input.composedExtensionContracts;\n\tconst isEnumBlock = (block) => block.keyword === \"enum\";\n\tconst legitimateBlockKeywords = claimedBlockKeywords(input.authoringContributions?.pslBlockDescriptors);\n\tconst reportUnsupportedTopLevelBlock = (block) => {\n\t\tdiagnostics.push(unsupportedBlockDiagnostic(block, input.sources));\n\t};\n\tconst topLevelEnums = [];\n\tconst extensionBlocksByNamespace = /* @__PURE__ */ new Map();\n\tfor (const namespace of namespaceSymbols) {\n\t\tconst extensionBlocks = {};\n\t\textensionBlocksByNamespace.set(namespace, extensionBlocks);\n\t\tfor (const [blockName, block] of Object.entries(namespace.blocks)) {\n\t\t\tconst writtenNamespace = block.node.syntax.findAncestor(NamespaceDeclarationAst.cast);\n\t\t\tif (writtenNamespace === void 0) {\n\t\t\t\tif (!legitimateBlockKeywords.has(block.keyword)) reportUnsupportedTopLevelBlock(block);\n\t\t\t\telse if (isEnumBlock(block)) topLevelEnums.push(block);\n\t\t\t\telse extensionBlocks[blockName] = block;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\textensionBlocks[blockName] = block;\n\t\t\tif (isEnumBlock(block)) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_ENUM_NAMESPACE_NOT_SUPPORTED\",\n\t\t\t\t\tmessage: `enum \"${block.name}\" inside namespace \"${writtenNamespace.name()?.name() ?? namespace.name}\" is not supported; declare enum at the top level`,\n\t\t\t\t\t...diagnosticSource(input.sources, block.node.syntax).at(nodePslSpan(block.node.syntax, input.sources))\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!legitimateBlockKeywords.has(block.keyword)) reportUnsupportedTopLevelBlock(block);\n\t\t}\n\t}\n\tconst enumResult = processEnumDeclarations({\n\t\tenumBlocks: topLevelEnums,\n\t\tparsedBlocks,\n\t\tsource,\n\t\tauthoringContributions: input.authoringContributions,\n\t\tentityContext: {\n\t\t\tfamily: input.target.familyId,\n\t\t\ttarget: input.target.targetId,\n\t\t\tcodecLookup: input.codecLookup,\n\t\t\tdataTypes: input.dataTypes,\n\t\t\tsourceId: source.sources.sourceFileFor(source.node).filename,\n\t\t\tdiagnostics: { push: (d) => {\n\t\t\t\tdiagnostics.pushExternal(blindCast(d));\n\t\t\t} },\n\t\t\t...ifDefined(\"enumInferenceCodecs\", input.enumInferenceCodecs)\n\t\t},\n\t\tdiagnostics\n\t});\n\tconst allEnumTypeDescriptors = enumResult.enumTypeDescriptors;\n\tconst enumHandles = enumResult.enumHandles;\n\tconst validEnumHandles = Object.fromEntries(Array.from(enumHandles, ([symbol, handle]) => [symbol.name, handle]));\n\tconst entityTypesByDiscriminator = buildEntityTypesByDiscriminator(input.authoringContributions);\n\tconst authoringWarnings = [];\n\tconst extensionEntityContext = {\n\t\tfamily: input.target.familyId,\n\t\ttarget: input.target.targetId,\n\t\t...ifDefined(\"enumInferenceCodecs\", input.enumInferenceCodecs),\n\t\tcodecLookup: input.codecLookup,\n\t\tdataTypes: input.dataTypes,\n\t\tsourceId: source.sources.sourceFileFor(source.node).filename,\n\t\tdiagnostics: { push: (d) => {\n\t\t\tdiagnostics.pushExternal(blindCast(d));\n\t\t} },\n\t\twarnings: authoringWarnings\n\t};\n\tconst namespaceIdByModel = new Map(modelEntries.map(({ model, namespaceId }) => [model, namespaceId]));\n\tconst modelCoordinateOf = (model) => {\n\t\tconst namespaceId = namespaceIdByModel.get(model);\n\t\treturn namespaceId === void 0 ? void 0 : {\n\t\t\tnamespaceId,\n\t\t\ttableName: storageName(model, physicalNames)\n\t\t};\n\t};\n\tconst namespaceExtensionEntities = /* @__PURE__ */ new Map();\n\tconst fileExtensionEntityRows = (rows, blocks) => {\n\t\tfor (const row of rows) {\n\t\t\tlet entities = namespaceExtensionEntities.get(row.namespaceId);\n\t\t\tif (entities === void 0) {\n\t\t\t\tentities = {};\n\t\t\t\tnamespaceExtensionEntities.set(row.namespaceId, entities);\n\t\t\t}\n\t\t\tconst slot = entities[row.entityKind] ?? {};\n\t\t\tentities[row.entityKind] = slot;\n\t\t\tif (Object.hasOwn(slot, row.key)) {\n\t\t\t\tconst block = Object.values(blocks).find((candidate) => candidate.name === row.key);\n\t\t\t\tinvariant(block !== void 0, \"Lowered entity has an owning block\");\n\t\t\t\tdiagnostics.pushUnlocated({\n\t\t\t\t\tcode: \"PSL_DUPLICATE_EXTENSION_ENTITY\",\n\t\t\t\t\tmessage: `entries slot \"${row.entityKind}\" in namespace \"${row.namespaceId}\": entity \"${row.key}\" is declared more than once in the same namespace.`,\n\t\t\t\t\t...diagnosticSource(input.sources, block.node.syntax).at()\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tslot[row.key] = row.entity;\n\t\t}\n\t};\n\tfor (const [namespace, extensionBlocks] of extensionBlocksByNamespace) fileExtensionEntityRows(lowerExtensionBlocksForNamespace(extensionBlocks, namespace.id, entityTypesByDiscriminator, extensionEntityContext, parsedBlocks, modelCoordinateOf, input.sources), extensionBlocks);\n\tconst defaultNsExtensionValueSets = namespaceExtensionEntities.get(defaultNamespaceId)?.[\"valueSet\"];\n\tif (defaultNsExtensionValueSets !== void 0) {\n\t\tfor (const name of Object.keys(defaultNsExtensionValueSets)) if (Object.hasOwn(validEnumHandles, name)) {\n\t\t\tconst enumSymbol = input.symbolTable.defaultNamespace.blocks[name];\n\t\t\tinvariant(enumSymbol !== void 0, \"Domain enum has an owning block\");\n\t\t\tdiagnostics.pushUnlocated({\n\t\t\t\tcode: \"PSL_VALUE_SET_NAME_COLLISION\",\n\t\t\t\tmessage: `namespace \"${defaultNamespaceId}\": name \"${name}\" is declared both as a domain enum and as an extension entity that derives a value-set; rename one`,\n\t\t\t\t...diagnosticSource(input.sources, enumSymbol.node.syntax).at()\n\t\t\t});\n\t\t}\n\t}\n\tconst typeAliases = resolveNamedTypeDeclarations({\n\t\tdeclarations: Object.values(input.symbolTable.namedTypes),\n\t\tsources: input.sources,\n\t\tsymbolTable: input.symbolTable,\n\t\tbinder,\n\t\tenumTypeDescriptors: allEnumTypeDescriptors,\n\t\tenumHandles,\n\t\tcodecLookup: input.codecLookup,\n\t\tdefaultFunctionRegistry,\n\t\tgeneratorFunctions,\n\t\tdataTypes,\n\t\tdiagnostics,\n\t\tauthoringTypes: input.authoringContributions?.type\n\t});\n\tconst modelNodes = /* @__PURE__ */ new Map();\n\tconst fkRelationMetadata = [];\n\tconst relationIndexLocations = [];\n\tconst invalidFkPairings = [];\n\tconst backrelationCandidates = [];\n\tconst crossSpaceRelationsByModel = /* @__PURE__ */ new Map();\n\tconst modelAttributeEntitiesByNamespace = /* @__PURE__ */ new Map();\n\tconst valueObjects = buildValueObjectNodes({\n\t\tcompositeTypes,\n\t\tenumTypeDescriptors: allEnumTypeDescriptors,\n\t\tenumHandles,\n\t\ttypeAliases,\n\t\tdiagnostics,\n\t\tsources: input.sources,\n\t\tdefaultNamespaceId,\n\t\tnamespaceExtensionEntities,\n\t\tcodecLookup: input.codecLookup,\n\t\tdataTypes: input.dataTypes,\n\t\tbinder\n\t});\n\tconst valueObjectTypes = {\n\t\tnodes: new Map(valueObjects.map((valueObject) => [valueObject.name, valueObject])),\n\t\tdeclaredMembers: new Map(compositeTypes.map((compositeType) => [compositeType.name, new Set(Object.keys(compositeType.fields))]))\n\t};\n\tfor (const { model, namespaceId } of modelEntries) {\n\t\tconst result = buildModelNodeFromPsl({\n\t\t\tmodel,\n\t\t\tphysicalNames,\n\t\t\tnamespaceId,\n\t\t\tvalueObjectTypes,\n\t\t\tenumTypeDescriptors: allEnumTypeDescriptors,\n\t\t\ttypeAliases,\n\t\t\tcomposedExtensionContracts,\n\t\t\tfamilyId: input.target.familyId,\n\t\t\ttargetId: input.target.targetId,\n\t\t\tauthoringContributions: input.authoringContributions,\n\t\t\tdefaultFunctionRegistry,\n\t\t\tgeneratorFunctions,\n\t\t\tdataTypes,\n\t\t\tscalarColumnDescriptors: input.scalarColumnDescriptors,\n\t\t\tsources: input.sources,\n\t\t\tbinder,\n\t\t\tsymbolTable: input.symbolTable,\n\t\t\tdiagnostics,\n\t\t\tenumHandles,\n\t\t\tcapabilities: input.capabilities,\n\t\t\t...namespaceExtensionEntities.size > 0 ? { namespaceExtensionEntities } : {},\n\t\t\tcodecLookup: input.codecLookup,\n\t\t\tmodelAttributesByName,\n\t\t\tcontributedModelAttributeSpecs: contributedModelSpecs,\n\t\t\tparsedBlocks\n\t\t});\n\t\tmodelNodes.set(model, {\n\t\t\t...result.modelNode,\n\t\t\tnamespaceId\n\t\t});\n\t\tfkRelationMetadata.push(...result.fkRelationMetadata);\n\t\trelationIndexLocations.push(...result.relationIndexLocations);\n\t\tinvalidFkPairings.push(...result.invalidFkPairings);\n\t\tbackrelationCandidates.push(...result.backrelationCandidates);\n\t\tif (result.crossSpaceRelations.length > 0) {\n\t\t\tconst existing = crossSpaceRelationsByModel.get(model) ?? [];\n\t\t\tcrossSpaceRelationsByModel.set(model, [...existing, ...result.crossSpaceRelations]);\n\t\t}\n\t\tif (Object.keys(result.modelAttributeEntities).length > 0) {\n\t\t\tconst existingByAttribute = modelAttributeEntitiesByNamespace.get(namespaceId) ?? {};\n\t\t\tfor (const [attribute, keyed] of Object.entries(result.modelAttributeEntities)) existingByAttribute[attribute] = {\n\t\t\t\t...existingByAttribute[attribute] ?? {},\n\t\t\t\t...keyed\n\t\t\t};\n\t\t\tmodelAttributeEntitiesByNamespace.set(namespaceId, existingByAttribute);\n\t\t}\n\t}\n\tconst { modelRelations, fkRelationsByPair, fkRelationsByDeclaringModel } = indexFkRelations({ fkRelationMetadata });\n\tconst modelIdColumns = /* @__PURE__ */ new Map();\n\tconst modelUniqueColumnSets = /* @__PURE__ */ new Map();\n\tfor (const [model, modelNode] of modelNodes) {\n\t\tif (modelNode.id) modelIdColumns.set(model, modelNode.id.columns);\n\t\tconst uniqueColumnSets = [];\n\t\tif (modelNode.id) uniqueColumnSets.push(modelNode.id.columns);\n\t\tfor (const unique of modelNode.uniques ?? []) uniqueColumnSets.push(unique.columns);\n\t\tfor (const index of modelNode.indexes ?? []) if (index.unique === true && index.columns !== void 0 && index.where === void 0) uniqueColumnSets.push(index.columns);\n\t\tmodelUniqueColumnSets.set(model, uniqueColumnSets);\n\t}\n\tapplyBackrelationCandidates({\n\t\tbackrelationCandidates,\n\t\tfkRelationsByPair,\n\t\tinvalidFkPairings,\n\t\tfkRelationsByDeclaringModel,\n\t\tmodelIdColumns,\n\t\tmodelUniqueColumnSets,\n\t\tmodelRelations,\n\t\tdiagnostics,\n\t\tsources: input.sources\n\t});\n\tfor (const [modelName, relations] of crossSpaceRelationsByModel) {\n\t\tconst existing = modelRelations.get(modelName);\n\t\tif (existing) existing.push(...relations);\n\t\telse modelRelations.set(modelName, [...relations]);\n\t}\n\tconst modelIdentities = new Map(modelEntries.map(({ model, namespaceId }) => [model, {\n\t\tmodel,\n\t\tnamespaceId,\n\t\tkey: modelCoordinateKey(namespaceId, model.name)\n\t}]));\n\tconst discriminatorFieldOf = (model, fieldName) => {\n\t\tconst field = modelNodes.get(model)?.fields.find((node) => node.fieldName === fieldName);\n\t\tif (field === void 0 || !(\"columnName\" in field)) return {\n\t\t\tfield: {\n\t\t\t\tref: void 0,\n\t\t\t\tnullable: false,\n\t\t\t\tmany: false,\n\t\t\t\tenumMembers: void 0\n\t\t\t},\n\t\t\tenumName: void 0\n\t\t};\n\t\tconst handle = \"enumTypeHandle\" in field ? field.enumTypeHandle : void 0;\n\t\tconst encoded = handle === void 0 ? void 0 : encodeEnumMembers(handle, input.codecLookup);\n\t\treturn {\n\t\t\tfield: {\n\t\t\t\tref: {\n\t\t\t\t\tcodecId: field.descriptor.codecId,\n\t\t\t\t\t...ifDefined(\"typeParams\", field.descriptor.typeParams === void 0 ? void 0 : blindCast(field.descriptor.typeParams))\n\t\t\t\t},\n\t\t\t\tnullable: field.nullable,\n\t\t\t\tmany: field.many === true,\n\t\t\t\tenumMembers: encoded?.ok ? encoded.value.map(({ value }) => value) : void 0\n\t\t\t},\n\t\t\tenumName: handle?.enumName\n\t\t};\n\t};\n\tconst { discriminatorDeclarations, baseDeclarations, reported } = collectPolymorphismDeclarations(modelIdentities, input.symbolTable, input.sources, binder, specContextFor, discriminatorFieldOf, input.codecLookup, dataTypes, diagnostics);\n\tconst stiVariantKeys = /* @__PURE__ */ new Set();\n\tfor (const [variantKey, declaration] of baseDeclarations) if (!(getAttribute(declaration.model.attributes, \"map\") !== void 0)) stiVariantKeys.add(variantKey);\n\tfor (const variantKey of stiVariantKeys) {\n\t\tconst baseDecl = baseDeclarations.get(variantKey);\n\t\tinvariant(baseDecl !== void 0, `stiVariantKeys is derived from baseDeclarations.keys(), so \"${variantKey}\" must have a base declaration`);\n\t\tconst variantName = baseDecl.model.name;\n\t\tif (baseDecl.namespaceId !== baseDecl.base.namespaceId) {\n\t\t\tconst variantLabel = modelLabel(baseDecl.namespaceId, variantName, true);\n\t\t\tconst baseLabel = modelLabel(baseDecl.base.namespaceId, baseDecl.base.model.name, true);\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_BASE_IN_OTHER_NAMESPACE_WITHOUT_MAP\",\n\t\t\t\tmessage: `Model \"${variantLabel}\" declares @@base(${baseLabel}, ...) without @@map, so it would share the table of \"${baseLabel}\", which belongs to namespace \"${baseDecl.base.namespaceId}\". Add @@map to give \"${variantLabel}\" its own table.`,\n\t\t\t\t...baseDecl.source.at(baseDecl.span)\n\t\t\t});\n\t\t}\n\t\tfor (const attribute of baseDecl.model.attributes) {\n\t\t\tif (attribute.node.name()?.isSimpleName(\"check\") !== true) continue;\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: PSL_CHECK_ON_STI_VARIANT,\n\t\t\t\tmessage: `Model \"${variantName}\" declares \"@@check\", but it shares its base model \"${baseDecl.base.model.name}\"'s storage table (single-table inheritance via @@base) and has no table of its own to declare a check constraint on. Declare the check on \"${baseDecl.base.model.name}\" instead.`,\n\t\t\t\t...diagnosticSource(input.sources, attribute.node.syntax).at(nodePslSpan(attribute.node.syntax, input.sources))\n\t\t\t});\n\t\t}\n\t}\n\tconst { modelNodes: mtiLinkedModelNodes, syntheticPkFieldsByVariant } = materializeMtiVariantStorageLinks(Array.from(modelNodes, ([symbol, model]) => ({\n\t\t...model,\n\t\t...modelRelations.has(symbol) ? { relations: [...modelRelations.get(symbol) ?? []].sort((left, right) => compareStrings(left.fieldName, right.fieldName)) } : {}\n\t})), baseDeclarations, stiVariantKeys, defaultNamespaceId);\n\tconst { modelNodes: stiColumnModelNodes, stiBaseFieldsByBase } = materializeStiVariantStorageColumns(mtiLinkedModelNodes, baseDeclarations, stiVariantKeys, defaultNamespaceId);\n\tif (diagnostics.length > 0 || (input.seedDiagnostics?.length ?? 0) > 0) return notOk({\n\t\tsummary: \"PSL to SQL contract interpretation failed\",\n\t\tdiagnostics: [...input.seedDiagnostics ?? [], ...diagnostics.toExternal()]\n\t});\n\tconst { createNamespace } = input;\n\tconst createNamespaceWithExtensions = (nsInput) => {\n\t\tconst entities = namespaceExtensionEntities.get(nsInput.id);\n\t\tconst attributeEntities = modelAttributeEntitiesByNamespace.get(nsInput.id);\n\t\tif (entities === void 0 && attributeEntities === void 0) return createNamespace(nsInput);\n\t\tif (attributeEntities !== void 0) {\n\t\t\tfor (const slot of Object.keys(attributeEntities)) if (Object.hasOwn(nsInput.entries, slot) || entities !== void 0 && slot in entities) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `entries slot \"${slot}\" in namespace \"${nsInput.id}\" is contributed by both a model attribute and a block/base entry kind. A model-attribute entries key must be unique across the namespace's entry kinds.`, { meta: {\n\t\t\t\tslot,\n\t\t\t\tnamespaceId: nsInput.id\n\t\t\t} });\n\t\t}\n\t\tconst mergedValueSet = {\n\t\t\t...nsInput.entries[\"valueSet\"],\n\t\t\t...entities?.[\"valueSet\"]\n\t\t};\n\t\tconst extended = {\n\t\t\t...nsInput,\n\t\t\tentries: {\n\t\t\t\t...nsInput.entries,\n\t\t\t\t...entities,\n\t\t\t\t...attributeEntities,\n\t\t\t\t...Object.keys(mergedValueSet).length > 0 ? { valueSet: mergedValueSet } : {}\n\t\t\t}\n\t\t};\n\t\treturn createNamespace(extended);\n\t};\n\tlet contract;\n\ttry {\n\t\tcontract = buildSqlContractFromDefinition({\n\t\t\ttarget: input.target,\n\t\t\tcapabilities: input.capabilities,\n\t\t\twarnings: authoringWarnings.length > 0 ? authoringWarnings : void 0,\n\t\t\t...ifDefined(\"extensions\", buildComposedExtensionPackRefs(input.target, [...composedExtensions].sort(compareStrings), input.composedExtensionPackRefs)),\n\t\t\t...Object.keys(validEnumHandles).length > 0 ? { enums: validEnumHandles } : {},\n\t\t\t...namespaceExtensionEntities.size > 0 ? { namespaces: [...namespaceExtensionEntities.keys()] } : {},\n\t\t\tcreateNamespace: createNamespaceWithExtensions,\n\t\t\t...ifDefined(\"valueObjects\", valueObjects.length > 0 ? valueObjects : void 0),\n\t\t\tmodels: stiColumnModelNodes\n\t\t}, input.codecLookup, input.dataTypes.lookup);\n\t} catch (error) {\n\t\tconst refusal = relationIndexRefusal(error, relationIndexLocations);\n\t\tif (refusal === void 0) throw error;\n\t\tdiagnostics.push({\n\t\t\tcode: \"PSL_INVALID_RELATION_ATTRIBUTE\",\n\t\t\tmessage: refusal.message,\n\t\t\t...refusal.at.location\n\t\t});\n\t\treturn notOk({\n\t\t\tsummary: \"PSL to SQL contract interpretation failed\",\n\t\t\tdiagnostics: diagnostics.toExternal()\n\t\t});\n\t}\n\tconst modelsByCoordinate = {};\n\tfor (const [namespaceId, namespaceSlice] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespaceSlice.models)) {\n\t\tconst coordinate = modelCoordinateKey(namespaceId, modelName);\n\t\tinvariant(!Object.hasOwn(modelsByCoordinate, coordinate), `symbol table guarantees coordinate uniqueness; duplicate model \"${namespaceId}.${modelName}\" reached interpretation`);\n\t\tmodelsByCoordinate[coordinate] = model;\n\t}\n\tconst polyDiagnostics = createPslDiagnosticCollector(input.sources);\n\tconst polymorphicModels = resolvePolymorphism(modelsByCoordinate, physicalNames, discriminatorDeclarations, baseDeclarations, reported, syntheticPkFieldsByVariant, stiBaseFieldsByBase, polyDiagnostics);\n\tif (polyDiagnostics.length > 0) return notOk({\n\t\tsummary: \"PSL to SQL contract interpretation failed\",\n\t\tdiagnostics: polyDiagnostics.toExternal()\n\t});\n\tconst filteredRoots = Object.fromEntries(Object.entries(contract.roots).filter(([, crossReference]) => !baseDeclarations.has(modelCoordinateKey(crossReference.namespace, crossReference.model))));\n\treturn ok({\n\t\t...contract,\n\t\troots: filteredRoots,\n\t\tdomain: { namespaces: Object.fromEntries(Object.entries(contract.domain.namespaces).map(([namespaceId, namespaceSlice]) => [namespaceId, {\n\t\t\tmodels: Object.fromEntries(Object.entries(namespaceSlice.models).map(([modelName, model]) => [modelName, polymorphicModels[modelCoordinateKey(namespaceId, modelName)] ?? model])),\n\t\t\t...ifDefined(\"enum\", namespaceSlice.enum),\n\t\t\t...ifDefined(\"valueObjects\", namespaceSlice.valueObjects)\n\t\t}])) }\n\t});\n}\n//#endregion\nexport { normalizeReferentialAction as a, indexFkRelations as i, interpretPslDocumentToSqlContract as n, applyBackrelationCandidates as r, buildEntityTypesByDiscriminator as t };\n\n//# sourceMappingURL=interpreter-BDpym-rc.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAAS,qCAAqC,WAAW;CACxD,OAAO,UAAU,KAAK,WAAW,KAAK,IAAI,kCAAkC,SAAS,IAAI,KAAK;AAC/F;AACA,SAAS,gBAAgB,OAAO,OAAO;CACtC,MAAM,EAAE,MAAM,WAAW;CACzB,MAAM,SAAS,iBAAiB,MAAM,SAAS,OAAO,KAAK,MAAM;CACjE,IAAI,KAAK,SAAS,mBAAmB;EACpC,IAAI,KAAK,SAAS,KAAK,GAAG,OAAO,oCAAoC,KAAK,YAAY,CAAC,CAAC;EACxF,OAAO,8BAA8B;GACpC,MAAM,KAAK;GACX,YAAY,KAAK;GACjB,aAAa,MAAM;GACnB,aAAa,MAAM;GACnB;GACA,aAAa,eAAe,OAAO,KAAK;GACxC,WAAW,MAAM;EAClB,CAAC;CACF;CACA,MAAM,aAAa,MAAM,oBAAoB,IAAI,KAAK,MAAM;CAC5D,IAAI,eAAe,KAAK,GAAG,MAAM,YAAY,KAAK;EACjD,MAAM;EACN,SAAS,eAAe,OAAO,KAAK,sCAAsC,MAAM,SAAS;EACzF,GAAG,OAAO,GAAG,OAAO,IAAI;CACzB,CAAC;CACD,OAAO;AACR;;;;AAIA,SAAS,6BAA6B,OAAO;CAC5C,MAAM,WAAW,2BAA2B,KAAK;CACjD,MAAM,8BAA8B,IAAI,IAAI;CAC5C,MAAM,sBAAsB,UAAU;EACrC,MAAM,WAAW,YAAY,IAAI,MAAM,UAAU;EACjD,IAAI,aAAa,KAAK,GAAG,OAAO;EAChC,MAAM,WAAW,4BAA4B,OAAO,KAAK;EACzD,YAAY,IAAI,MAAM,YAAY,QAAQ;EAC1C,OAAO;CACR;CACA,OAAO;EACN,MAAM,WAAW,SAAS,IAAI,MAAM;EACpC,aAAa,YAAY;GACxB,IAAI,YAAY,SAAS,aAAa,OAAO,SAAS,IAAI,WAAW,MAAM;GAC3E,MAAM,QAAQ,uBAAuB,UAAU;GAC/C,OAAO,UAAU,KAAK,IAAI,KAAK,IAAI,mBAAmB,KAAK;EAC5D;CACD;AACD;AACA,SAAS,4BAA4B,OAAO,OAAO;CAClD,MAAM,EAAE,MAAM,eAAe,8BAA8B,MAAM,UAAU;CAC3E,MAAM,oBAAoB,2BAA2B;EACpD,MAAM,MAAM;EACZ,YAAY,MAAM;EAClB,oBAAoB,MAAM;EAC1B,QAAQ,qBAAqB,MAAM,WAAW,WAAW,SAAS,WAAW,UAAU;CACxF,CAAC;CACD,OAAO;EACN;EACA,MAAM,MAAM;EACZ,YAAY,CAAC;EACb;EACA,YAAY,KAAK;EACjB,cAAc,KAAK;EACnB;CACD;AACD;AACA,SAAS,2BAA2B,OAAO;CAC1C,MAAM,UAAU,mBAAmB;EAClC,cAAc,MAAM;EACpB,QAAQ,MAAM;EACd,SAAS,MAAM;EACf,aAAa,MAAM;EACnB,gBAAgB,MAAM;EACtB,8BAA8B;CAC/B,CAAC;CACD,MAAM,2BAA2B,IAAI,IAAI;CACzC,KAAK,MAAM,SAAS,QAAQ,OAAO,GAAG;EACrC,MAAM,aAAa,gBAAgB,OAAO,KAAK;EAC/C,IAAI,eAAe,KAAK,GAAG;EAC3B,MAAM,QAAQ;GACb,YAAY,MAAM;GAClB,UAAU;GACV,MAAM;GACN,iBAAiB;GACjB,aAAa,qBAAqB,OAAO;IACxC,GAAG;IACH,SAAS,MAAM;GAChB,CAAC;GACD,eAAe;IACd,WAAW;IACX,WAAW,MAAM,OAAO;GACzB;EACD;EACA,MAAM,aAAa,MAAM,KAAK,SAAS,UAAU,MAAM,YAAY,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK;EACjG,MAAM,WAAW;GAChB,GAAG;GACH;EACD;EACA,MAAM,EAAE,iBAAiB,eAAe,KAAK,IAAI,iBAAiB;GACjE,GAAG;GACH,kBAAkB;GAClB,kBAAkB,WAAW;GAC7B,cAAc;GACd,oBAAoB,KAAK;EAC1B,CAAC,IAAI,iBAAiB;GACrB,GAAG;GACH;EACD,CAAC;EACD,MAAM,oBAAoB,oBAAoB;GAC7C,GAAG;GACH,kBAAkB;GAClB,kBAAkB,WAAW;EAC9B,CAAC;EACD,SAAS,IAAI,MAAM,QAAQ;GAC1B;GACA,MAAM,MAAM,OAAO;GACnB,YAAY,MAAM;GAClB;GACA;GACA;GACA;EACD,CAAC;CACF;CACA,OAAO;AACR;AAGA,MAAM,yBAAyB;CAC9B,UAAU;CACV,UAAU;CACV,SAAS;CACT,SAAS;CACT,YAAY;CACZ,UAAU;CACV,UAAU;CACV,SAAS;CACT,SAAS;CACT,YAAY;AACb;AACA,SAAS,UAAU,KAAK;CACvB,OAAO,OAAO,QAAQ,WAAW,MAAM,IAAI;AAC5C;AACA,SAAS,2BAA2B,aAAa;CAChD,OAAO,uBAAuB;AAC/B;AACA,SAAS,2BAA2B,OAAO;CAC1C,MAAM,OAAO,aAAa,MAAM,MAAM,YAAY,UAAU,CAAC,EAAE;CAC/D,IAAI,SAAS,KAAK,GAAG,OAAO,KAAK;CACjC,OAAO,wBAAwB;EAC9B,SAAS,MAAM;EACf;EACA,MAAM,kBAAkB,MAAM,SAAS,MAAM,WAAW;EACxD,OAAO,MAAM;EACb,OAAO,MAAM;EACb,SAAS,MAAM;EACf,QAAQ,MAAM;EACd,aAAa,MAAM;CACpB,CAAC;AACF;AACA,SAAS,iBAAiB,OAAO;CAChC,MAAM,iCAAiC,IAAI,IAAI;CAC/C,MAAM,oCAAoC,IAAI,IAAI;CAClD,MAAM,8CAA8C,IAAI,IAAI;CAC5D,KAAK,MAAM,YAAY,MAAM,oBAAoB;EAChD,MAAM,uBAAuB,4BAA4B,IAAI,SAAS,kBAAkB;EACxF,IAAI,sBAAsB,qBAAqB,KAAK,QAAQ;OACvD,4BAA4B,IAAI,SAAS,oBAAoB,CAAC,QAAQ,CAAC;EAC5E,MAAM,WAAW,eAAe,IAAI,SAAS,kBAAkB;EAC/D,MAAM,UAAU,YAAY,CAAC;EAC7B,IAAI,CAAC,UAAU,eAAe,IAAI,SAAS,oBAAoB,OAAO;EACtE,QAAQ,KAAK;GACZ,WAAW,SAAS;GACpB,SAAS,UAAU,SAAS,eAAe;GAC3C,SAAS,SAAS;GAClB,GAAG,UAAU,iBAAiB,SAAS,iBAAiB;GACxD,aAAa;GACb,UAAU,SAAS;GACnB,IAAI;IACH,aAAa,SAAS;IACtB,eAAe,SAAS;IACxB,YAAY,SAAS;IACrB,cAAc,SAAS;GACxB;EACD,CAAC;EACD,IAAI,UAAU,kBAAkB,IAAI,SAAS,kBAAkB;EAC/D,IAAI,CAAC,SAAS;GACb,0BAA0B,IAAI,IAAI;GAClC,kBAAkB,IAAI,SAAS,oBAAoB,OAAO;EAC3D;EACA,MAAM,gBAAgB,QAAQ,IAAI,SAAS,eAAe;EAC1D,IAAI,eAAe,cAAc,KAAK,QAAQ;OACzC,QAAQ,IAAI,SAAS,iBAAiB,CAAC,QAAQ,CAAC;CACtD;CACA,OAAO;EACN;EACA;EACA;CACD;AACD;AACA,SAAS,0BAA0B,WAAW,eAAe,cAAc;CAC1E,IAAI,UAAU,WAAW,cAAc,SAAS,aAAa,QAAQ,OAAO;CAC5E,MAAM,4BAA4B,IAAI,IAAI,CAAC,GAAG,eAAe,GAAG,YAAY,CAAC;CAC7E,IAAI,UAAU,SAAS,cAAc,SAAS,aAAa,QAAQ,OAAO;CAC1E,OAAO,UAAU,OAAO,WAAW,UAAU,IAAI,MAAM,CAAC;AACzD;;;;;;;;AAQA,SAAS,4BAA4B,SAAS,iBAAiB;CAC9D,IAAI,QAAQ,kBAAkB,WAAW,gBAAgB,QAAQ;CACjE,MAAM,oCAAoC,IAAI,IAAI;CAClD,KAAK,MAAM,CAAC,OAAO,qBAAqB,QAAQ,kBAAkB,QAAQ,GAAG;EAC5E,MAAM,cAAc,QAAQ,aAAa;EACzC,IAAI,gBAAgB,KAAK,GAAG;EAC5B,kBAAkB,IAAI,kBAAkB,WAAW;CACpD;CACA,IAAI,kBAAkB,SAAS,gBAAgB,QAAQ;CACvD,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,YAAY,iBAAiB;EACvC,MAAM,cAAc,kBAAkB,IAAI,QAAQ;EAClD,IAAI,gBAAgB,KAAK,GAAG;EAC5B,QAAQ,KAAK,WAAW;CACzB;CACA,OAAO;AACR;;;;;;;;;;;;;;;AAeA,SAAS,oBAAoB,OAAO;CACnC,MAAM,kBAAkB,MAAM,eAAe,IAAI,MAAM,UAAU,eAAe;CAChF,IAAI,CAAC,mBAAmB,gBAAgB,WAAW,GAAG,OAAO;EAC5D,OAAO,CAAC;EACR,YAAY,CAAC;CACd;CACA,MAAM,QAAQ,CAAC;CACf,MAAM,aAAa,CAAC;CACpB,KAAK,MAAM,CAAC,mBAAmB,gBAAgB,MAAM,6BAA6B;EACjF,MAAM,YAAY,MAAM,eAAe,IAAI,iBAAiB;EAC5D,KAAK,MAAM,YAAY,aAAa;GACnC,IAAI,SAAS,oBAAoB,MAAM,UAAU,WAAW;GAC5D,IAAI,MAAM,UAAU,iBAAiB,KAAK,KAAK,SAAS,iBAAiB,MAAM,UAAU,cAAc;GACvG,KAAK,MAAM,WAAW,aAAa;IAClC,IAAI,YAAY,YAAY,QAAQ,oBAAoB,MAAM,UAAU,iBAAiB;IACzF,IAAI,CAAC,aAAa,CAAC,0BAA0B,WAAW,SAAS,cAAc,QAAQ,YAAY,GAAG;KACrG,WAAW,KAAK;MACf,mBAAmB,UAAU,iBAAiB;MAC9C,QAAQ;KACT,CAAC;KACD;IACD;IACA,MAAM,sBAAsB,4BAA4B,SAAS,eAAe;IAChF,IAAI,CAAC,qBAAqB;KACzB,WAAW,KAAK;MACf,mBAAmB,UAAU,iBAAiB;MAC9C,QAAQ;KACT,CAAC;KACD;IACD;IACA,MAAM,KAAK;KACV;KACA;KACA,6BAA6B;IAC9B,CAAC;GACF;EACD;CACD;CACA,OAAO;EACN;EACA;CACD;AACD;AACA,SAAS,2BAA2B,WAAW,UAAU,SAAS;CACjE,MAAM,SAAS,iBAAiB,SAAS,UAAU,MAAM,KAAK,MAAM;CACpE,MAAM,YAAY,GAAG,UAAU,UAAU,SAAS,EAAE,GAAG,UAAU,MAAM;CACvE,MAAM,kBAAkB,UAAU,UAAU,eAAe;CAC3D,MAAM,OAAO;EACZ;EACA,eAAe,SAAS;EACxB,aAAa;CACd;CACA,IAAI,SAAS,WAAW,oBAAoB,OAAO;EAClD,MAAM;EACN,SAAS,4BAA4B,UAAU,0BAA0B,SAAS,kBAAkB,6BAA6B,gBAAgB,wBAAwB,gBAAgB,kEAAkE,gBAAgB;EAC3Q,GAAG,OAAO,GAAG,UAAU,MAAM,IAAI;EACjC;CACD;CACA,OAAO;EACN,MAAM;EACN,SAAS,4BAA4B,UAAU,iCAAiC,SAAS,kBAAkB,aAAa,UAAU,UAAU,SAAS,EAAE,SAAS,gBAAgB,wFAAwF,SAAS,kBAAkB;EACnS,GAAG,OAAO,GAAG,UAAU,MAAM,IAAI;EACjC;CACD;AACD;AACA,SAAS,uBAAuB,WAAW,MAAM;CAChD,OAAO;EACN,WAAW,UAAU,MAAM;EAC3B,SAAS,UAAU,KAAK,QAAQ,eAAe;EAC/C,SAAS,KAAK,QAAQ;EACtB,GAAG,UAAU,iBAAiB,KAAK,QAAQ,iBAAiB;EAC5D,aAAa;EACb,IAAI;GACH,aAAa,UAAU;GACvB,eAAe,KAAK,SAAS;GAC7B,YAAY,KAAK,SAAS;GAC1B,cAAc,KAAK,SAAS;EAC7B;EACA,SAAS;GACR,OAAO,KAAK,SAAS;GACrB,GAAG,UAAU,eAAe,KAAK,SAAS,oBAAoB;GAC9D,eAAe,KAAK,SAAS;GAC7B,cAAc,KAAK;EACpB;CACD;AACD;AACA,SAAS,kBAAkB,gBAAgB,WAAW;CACrD,MAAM,WAAW,eAAe,IAAI,SAAS;CAC7C,IAAI,UAAU,OAAO;CACrB,MAAM,UAAU,CAAC;CACjB,eAAe,IAAI,WAAW,OAAO;CACrC,OAAO;AACR;;;;;;;;;AASA,SAAS,mBAAmB,cAAc,kBAAkB;CAC3D,MAAM,QAAQ,IAAI,IAAI,YAAY;CAClC,OAAO,iBAAiB,MAAM,YAAY,QAAQ,WAAW,MAAM,QAAQ,QAAQ,OAAO,WAAW,MAAM,IAAI,MAAM,CAAC,CAAC;AACxH;AACA,SAAS,4BAA4B,OAAO;CAC3C,KAAK,MAAM,aAAa,MAAM,wBAAwB;EACrD,MAAM,SAAS,iBAAiB,MAAM,SAAS,UAAU,MAAM,KAAK,MAAM;EAC1E,MAAM,cAAc,MAAM,kBAAkB,IAAI,UAAU,eAAe,CAAC,EAAE,IAAI,UAAU,SAAS,KAAK,CAAC;EACzG,MAAM,UAAU,UAAU,eAAe,YAAY,QAAQ,aAAa,SAAS,iBAAiB,UAAU,YAAY,IAAI,CAAC,GAAG,WAAW;EAC7I,IAAI,QAAQ,WAAW,GAAG;GACzB,MAAM,eAAe,MAAM,kBAAkB,WAAW,YAAY;IACnE,IAAI,QAAQ,iBAAiB,UAAU,cAAc,OAAO;IAC5D,IAAI,aAAa,SAAS,OAAO,OAAO,UAAU,oBAAoB,YAAY,OAAO,UAAU,cAAc,YAAY,QAAQ,YAAY,kBAAkB,UAAU,iBAAiB,UAAU,SAAS;IACjN,OAAO,QAAQ,mBAAmB,UAAU,mBAAmB,QAAQ,gBAAgB,UAAU;GAClG,CAAC;GACD,IAAI,iBAAiB,IAAI;IACxB,MAAM,kBAAkB,OAAO,cAAc,CAAC;IAC9C;GACD;GACA,IAAI,UAAU,QAAQ;IACrB,MAAM,EAAE,OAAO,eAAe,eAAe,oBAAoB;KAChE;KACA,6BAA6B,MAAM;KACnC,gBAAgB,MAAM;IACvB,CAAC;IACD,MAAM,eAAe,cAAc;IACnC,IAAI,cAAc,WAAW,KAAK,cAAc;KAC/C,kBAAkB,MAAM,gBAAgB,UAAU,SAAS,CAAC,CAAC,KAAK,uBAAuB,WAAW,YAAY,CAAC;KACjH;IACD;IACA,IAAI,cAAc,SAAS,GAAG;KAC7B,MAAM,YAAY,KAAK;MACtB,MAAM;MACN,SAAS,4BAA4B,UAAU,UAAU,SAAS,EAAE,GAAG,UAAU,MAAM,KAAK,2LAA2L,UAAU,UAAU,SAAS,EAAE;MACtT,GAAG,OAAO,GAAG,UAAU,MAAM,IAAI;KAClC,CAAC;KACD;IACD;IACA,MAAM,WAAW,WAAW;IAC5B,IAAI,UAAU;KACb,MAAM,YAAY,KAAK,2BAA2B,WAAW,UAAU,MAAM,OAAO,CAAC;KACrF;IACD;GACD;GACA,MAAM,YAAY,KAAK;IACtB,MAAM;IACN,SAAS,uBAAuB,UAAU,UAAU,SAAS,EAAE,GAAG,UAAU,MAAM,KAAK,+CAA+C,UAAU,UAAU,eAAe,EAAE,4EAA4E,UAAU,SAAS,oDAAoD,GAAG;IACjU,GAAG,OAAO,GAAG,UAAU,MAAM,IAAI;GAClC,CAAC;GACD;EACD;EACA,IAAI,QAAQ,SAAS,GAAG;GACvB,MAAM,YAAY,KAAK;IACtB,MAAM;IACN,SAAS,uBAAuB,UAAU,UAAU,SAAS,EAAE,GAAG,UAAU,MAAM,KAAK,iDAAiD,UAAU,UAAU,eAAe,EAAE;IAC7K,GAAG,OAAO,GAAG,UAAU,MAAM,IAAI;GAClC,CAAC;GACD;EACD;EACA,UAAU,QAAQ,WAAW,GAAG,kDAAkD;EAClF,MAAM,UAAU,QAAQ;EACxB,cAAc,SAAS,yDAAyD;EAChF,IAAI,CAAC,UAAU,QAAQ;GACtB,MAAM,mBAAmB,MAAM,sBAAsB,IAAI,QAAQ,kBAAkB,KAAK,CAAC;GACzF,IAAI,CAAC,mBAAmB,QAAQ,cAAc,gBAAgB,GAAG;IAChE,MAAM,YAAY,KAAK;KACtB,MAAM;KACN,SAAS,uBAAuB,UAAU,UAAU,SAAS,EAAE,GAAG,UAAU,MAAM,KAAK,yCAAyC,UAAU,QAAQ,kBAAkB,EAAE,YAAY,QAAQ,aAAa,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,yIAAyI,UAAU,MAAM,KAAK;KAC/Y,GAAG,OAAO,GAAG,UAAU,MAAM,IAAI;IAClC,CAAC;IACD;GACD;EACD;EACA,IAAI,CAAC,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,YAAY,KAAK,uCAAuC;GACjH,WAAW,UAAU,UAAU,SAAS;GACxC,OAAO,UAAU;GACjB,iBAAiB,UAAU,UAAU,eAAe;GACpD,SAAS,MAAM;GACf,YAAY;EACb,CAAC,CAAC;EACF,kBAAkB,MAAM,gBAAgB,UAAU,SAAS,CAAC,CAAC,KAAK;GACjE,WAAW,UAAU,MAAM;GAC3B,SAAS,UAAU,QAAQ,kBAAkB;GAC7C,SAAS,QAAQ;GACjB,GAAG,UAAU,iBAAiB,QAAQ,oBAAoB;GAC1D,GAAG,UAAU,SAAS,EAAE,aAAa,MAAM,IAAI;IAC9C,aAAa;IACb,UAAU;GACX;GACA,IAAI;IACH,aAAa,UAAU;IACvB,eAAe,QAAQ;IACvB,YAAY,QAAQ;IACpB,cAAc,QAAQ;GACvB;EACD,CAAC;CACF;AACD;AACA,SAAS,oCAAoC,OAAO;CACnD,MAAM,SAAS,iBAAiB,MAAM,SAAS,MAAM,MAAM,KAAK,MAAM;CACtE,IAAI,QAAQ;CACZ,KAAK,MAAM,aAAa,MAAM,MAAM,YAAY;EAC/C,IAAI,UAAU,SAAS,YAAY;EACnC,MAAM,YAAY,KAAK;GACtB,MAAM;GACN,SAAS,UAAU,MAAM,UAAU,GAAG,MAAM,MAAM,KAAK,iCAAiC,UAAU,KAAK;GACvG,GAAG,OAAO,GAAG,UAAU,IAAI;EAC5B,CAAC;EACD,QAAQ;CACT;CACA,OAAO;AACR;AAGA,SAAS,+BAA+B,QAAQ,cAAc,oBAAoB,CAAC,GAAG;CACrF,IAAI,aAAa,WAAW,GAAG;CAC/B,MAAM,uBAAuB,IAAI,IAAI,kBAAkB,KAAK,YAAY,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;CAC9F,OAAO,OAAO,YAAY,aAAa,KAAK,gBAAgB,CAAC,aAAa,qBAAqB,IAAI,WAAW,KAAK;EAClH,MAAM;EACN,IAAI;EACJ,UAAU,OAAO;EACjB,UAAU,OAAO;EACjB,SAAS;CACV,CAAC,CAAC,CAAC;AACJ;AACA,SAAS,eAAe,MAAM,OAAO;CACpC,IAAI,OAAO,OAAO,OAAO;CACzB,IAAI,OAAO,OAAO,OAAO;CACzB,OAAO;AACR;AACA,SAAS,0BAA0B,WAAW;CAC7C,MAAM,+BAA+B,IAAI,IAAI;CAC7C,KAAK,MAAM,SAAS,OAAO,OAAO,UAAU,MAAM,GAAG;EACpD,MAAM,UAAU,MAAM,KAAK,OAAO,aAAa,wBAAwB,IAAI;EAC3E,IAAI,YAAY,KAAK,GAAG,aAAa,IAAI,QAAQ,MAAM;CACxD;CACA,OAAO;AACR;AACA,SAAS,oCAAoC,OAAO;CACnD,IAAI,MAAM,aAAa,UAAU;EAChC,KAAK,MAAM,aAAa,MAAM,YAAY,KAAK,MAAM,EAAE,MAAM,UAAU,UAAU,cAAc,MAAM,YAAY,KAAK;GACrH,MAAM;GACN,SAAS,uCAAuC,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,UAAU,KAAK;GACtF,GAAG,iBAAiB,MAAM,SAAS,KAAK,MAAM,CAAC,CAAC,GAAG,IAAI;EACxD,CAAC;EACD;CACD;CACA,IAAI,MAAM,aAAa,YAAY;EAClC,MAAM,mBAAmB,MAAM,WAAW,MAAM,cAAc,UAAU,OAAO,wBAAwB,OAAO,KAAK,UAAU,MAAM,CAAC,CAAC,SAAS,CAAC;EAC/I,MAAM,aAAa,MAAM,WAAW,MAAM,cAAc,UAAU,OAAO,wBAAwB,UAAU,aAAa,SAAS,CAAC;EAClI,IAAI,qBAAqB,KAAK,KAAK,YAAY;GAC9C,MAAM,gBAAgB,0BAA0B,gBAAgB;GAChE,KAAK,MAAM,EAAE,MAAM,UAAU,iBAAiB,cAAc;IAC3D,IAAI,CAAC,cAAc,IAAI,KAAK,MAAM,GAAG;IACrC,MAAM,YAAY,KAAK;KACtB,MAAM;KACN,SAAS;KACT,GAAG,iBAAiB,MAAM,SAAS,KAAK,MAAM,CAAC,CAAC,GAAG,IAAI;IACxD,CAAC;GACF;EACD;CACD;AACD;;;;;;;AAOA,SAAS,gCAAgC,eAAe;CACvD,MAAM,yBAAyB,IAAI,IAAI;CACvC,MAAM,YAAY,eAAe;CACjC,IAAI,cAAc,KAAK,GAAG,OAAO;CACjC,MAAM,QAAQ,SAAS;EACtB,KAAK,MAAM,SAAS,OAAO,OAAO,IAAI,GAAG,IAAI,gCAAgC,KAAK,GAAG,OAAO,IAAI,MAAM,eAAe,KAAK;OACrH,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,KAAK,KAAK;CACjE;CACA,KAAK,SAAS;CACd,OAAO;AACR;;;;;;;AAOA,SAAS,kCAAkC,OAAO;CACjD,OAAO;EACN,MAAM;EACN,SAAS,OAAO,MAAM,KAAK,uCAAuC,MAAM,UAAU;EAClF,GAAG,MAAM,OAAO,GAAG,MAAM,IAAI;CAC9B;AACD;AACA,SAAS,yBAAyB,OAAO;CACxC,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,EAAE,iBAAiB,QAAQ,OAAO;CACrF,MAAM,cAAc,MAAM;CAC1B,OAAO,OAAO,gBAAgB,YAAY,gBAAgB,QAAQ,UAAU,eAAe,YAAY,SAAS;AACjH;AACA,SAAS,wCAAwC,OAAO;CACvD,KAAK,MAAM,CAAC,aAAa,aAAa,MAAM,cAAc;EACzD,MAAM,cAAc,oBAAoB,MAAM,qBAAqB,YAAY,OAAO,CAAC,EAAE;EACzF,IAAI,gBAAgB,KAAK,GAAG;EAC5B,MAAM,SAAS,SAAS,OAAO,YAAY;EAC3C,IAAI,CAAC,yBAAyB,MAAM,GAAG;EACvC,MAAM,QAAQ,OAAO;EACrB,IAAI,MAAM,WAAW,MAAM,cAAc,UAAU,SAAS,YAAY,SAAS,GAAG;EACpF,MAAM,YAAY,KAAK;GACtB,MAAM;GACN,SAAS,KAAK,YAAY,QAAQ,YAAY,SAAS,KAAK,mBAAmB,MAAM,KAAK,gCAAgC,YAAY,UAAU,cAAc,YAAY,UAAU,eAAe,MAAM,KAAK;GAC9M,GAAG,iBAAiB,MAAM,SAAS,YAAY,KAAK,MAAM,CAAC,CAAC,GAAG,SAAS,eAAe,YAAY,cAAc,SAAS,IAAI;EAC/H,CAAC;CACF;AACD;;;;;;;AAOA,SAAS,2BAA2B,eAAe;CAClD,MAAM,yBAAyB,IAAI,IAAI;CACvC,MAAM,YAAY,eAAe;CACjC,IAAI,cAAc,KAAK,GAAG,OAAO;CACjC,MAAM,QAAQ,SAAS;EACtB,KAAK,MAAM,SAAS,OAAO,OAAO,IAAI,GAAG,IAAI,oCAAoC,KAAK,GAAG,OAAO,IAAI,MAAM,WAAW,KAAK;OACrH,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,KAAK,KAAK;CACjE;CACA,KAAK,SAAS;CACd,OAAO;AACR;;;;;AAKA,SAAS,iCAAiC,QAAQ,kBAAkB,4BAA4B,eAAe,cAAc,mBAAmB,SAAS;CACxJ,MAAM,OAAO,CAAC;CACd,KAAK,MAAM,eAAe,OAAO,OAAO,MAAM,GAAG;EAChD,MAAM,WAAW,aAAa,IAAI,WAAW;EAC7C,IAAI,aAAa,KAAK,GAAG;EACzB,MAAM,aAAa,2BAA2B,IAAI,SAAS,IAAI;EAC/D,IAAI,eAAe,KAAK,GAAG;EAC3B,IAAI;EACJ,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,SAAS,MAAM,GAAG;GACjE,IAAI,CAAC,yBAAyB,KAAK,GAAG;GACtC,MAAM,aAAa,kBAAkB,MAAM,WAAW;GACtD,UAAU,eAAe,KAAK,GAAG,iDAAiD,SAAS,QAAQ,YAAY,SAAS,KAAK,oBAAoB,MAAM,YAAY,KAAK,SAAS,UAAU,gCAAgC;GAC3N,oBAAoB;IACnB,GAAG,qBAAqB,CAAC;KACxB,YAAY;GACd;EACD;EACA,MAAM,iBAAiB;GACtB,GAAG;GACH,aAAa;GACb,GAAG,sBAAsB,KAAK,IAAI,EAAE,kBAAkB,IAAI,CAAC;EAC5D;EACA,MAAM,SAAS,+BAA+B,WAAW,eAAe,YAAY,CAAC,cAAc,GAAG;GACrG,GAAG;GACH,UAAU,QAAQ,cAAc,YAAY,KAAK,MAAM,CAAC,CAAC;EAC1D,CAAC;EACD,IAAI,WAAW,KAAK,GAAG;EACvB,MAAM,cAAc,2BAA2B,WAAW,MAAM,IAAI,WAAW,OAAO,aAAa,MAAM,CAAC,CAAC,cAAc;EACzH,KAAK,KAAK;GACT;GACA,YAAY,WAAW;GACvB,KAAK,SAAS;GACd;EACD,CAAC;EACD,MAAM,kBAAkB,yBAAyB,WAAW,QAAQ,MAAM;EAC1E,IAAI,oBAAoB,KAAK,GAAG,KAAK,KAAK;GACzC;GACA,YAAY;GACZ,KAAK,SAAS;GACd,QAAQ;EACT,CAAC;CACF;CACA,OAAO;AACR;AACA,SAAS,wBAAwB,OAAO;CACvC,MAAM,8BAA8B,IAAI,IAAI;CAC5C,MAAM,sCAAsC,IAAI,IAAI;CACpD,IAAI,MAAM,WAAW,WAAW,GAAG,OAAO;EACzC;EACA;CACD;CACA,MAAM,iBAAiB,mBAAmB,MAAM,wBAAwB,CAAC,MAAM,CAAC;CAChF,IAAI,CAAC,gBAAgB;EACpB,KAAK,MAAM,UAAU,MAAM,YAAY,MAAM,YAAY,KAAK;GAC7D,MAAM;GACN,SAAS,SAAS,OAAO,KAAK;GAC9B,GAAG,iBAAiB,MAAM,OAAO,SAAS,OAAO,KAAK,MAAM,CAAC,CAAC,GAAG,OAAO,IAAI;EAC7E,CAAC;EACD,OAAO;GACN;GACA;EACD;CACD;CACA,KAAK,MAAM,UAAU,MAAM,YAAY;EACtC,MAAM,WAAW,MAAM,aAAa,IAAI,MAAM;EAC9C,MAAM,YAAY,KAAK,GAAG,+BAA+B,QAAQ,MAAM,OAAO,OAAO,CAAC;EACtF,IAAI,aAAa,KAAK,GAAG;EACzB,MAAM,SAAS,+BAA+B,QAAQ,gBAAgB,CAAC,QAAQ,GAAG;GACjF,GAAG,MAAM;GACT,UAAU,MAAM,OAAO,QAAQ,cAAc,OAAO,KAAK,MAAM,CAAC,CAAC;EAClE,CAAC;EACD,IAAI,WAAW,KAAK,KAAK,WAAW,MAAM;EAC1C,YAAY,IAAI,QAAQ,MAAM;EAC9B,oBAAoB,IAAI,QAAQ,EAAE,SAAS,OAAO,QAAQ,CAAC;CAC5D;CACA,OAAO;EACN;EACA;CACD;AACD;;;;;;;;;AASA,SAAS,oCAAoC,mBAAmB;CAC/D,OAAO,iBAAiB,mBAAmB,QAAQ,MAAM,KAAK,KAAK,iBAAiB,mBAAmB,YAAY,MAAM,KAAK;AAC/H;AACA,SAAS,4BAA4B,eAAe,cAAc,gBAAgB;CACjF,OAAO,6BAA6B;EACnC,kBAAkB,cAAc;EAChC,uBAAuB,eAAe,QAAQ,kBAAkB,aAAa,SAAS,cAAc,UAAU,CAAC,CAAC,CAAC,KAAK,kBAAkB,cAAc,QAAQ;EAC9J,eAAe;CAChB,CAAC,CAAC,CAAC,kBAAkB,KAAK;AAC3B;AACA,SAAS,sCAAsC,WAAW,mBAAmB,QAAQ;CACpF,MAAM,aAAa,mBAAmB,UAAU,GAAG,kBAAkB,MAAM,KAAK;CAChF,OAAO;EACN,MAAM;EACN,SAAS,kBAAkB,MAAM,WAAW,GAAG,WAAW,uIAAuI,kBAAkB,MAAM,KAAK,MAAM,GAAG,WAAW,gFAAgF,kBAAkB,MAAM,KAAK;EAC/V,GAAG,OAAO,GAAG,kBAAkB,MAAM,IAAI;CAC1C;AACD;AACA,SAAS,sBAAsB,OAAO;CACrC,MAAM,EAAE,OAAO,gBAAgB;CAC/B,MAAM,SAAS,iBAAiB,MAAM,SAAS,MAAM,KAAK,MAAM;CAChE,MAAM,YAAY,YAAY,OAAO,MAAM,aAAa;CACxD,MAAM,cAAc,iBAAiB;EACpC,SAAS,MAAM;EACf;EACA,yBAAyB,MAAM;EAC/B,oBAAoB,MAAM;EAC1B,WAAW,MAAM;CAClB,CAAC;CACD,MAAM,mBAAmB,MAAM;CAC/B,MAAM,iBAAiB,sBAAsB;EAC5C;EACA,eAAe,MAAM;EACrB,aAAa,MAAM;EACnB,qBAAqB,MAAM;EAC3B,aAAa,MAAM;EACnB,kBAAkB,MAAM;EACxB,wBAAwB,MAAM;EAC9B,UAAU,MAAM;EAChB,yBAAyB,MAAM;EAC/B,oBAAoB,MAAM;EAC1B,WAAW,MAAM;EACjB;EACA,SAAS,MAAM;EACf,QAAQ,MAAM;EACd,yBAAyB,MAAM;EAC/B,aAAa,MAAM;EACnB,cAAc,MAAM;EACpB,aAAa;EACb,GAAG,UAAU,8BAA8B,MAAM,0BAA0B;EAC3E,aAAa,MAAM;CACpB,CAAC;CACD,MAAM,iBAAiB,eAAe,QAAQ,UAAU,MAAM,IAAI;CAClE,IAAI,eAAe,SAAS,GAAG,YAAY,KAAK;EAC/C,MAAM;EACN,SAAS,UAAU,MAAM,KAAK;EAC9B,GAAG,OAAO,GAAG,MAAM,IAAI;CACxB,CAAC;CACD,MAAM,sBAAsB,eAAe,WAAW,IAAI,eAAe,KAAK,KAAK;CACnF,IAAI,aAAa,sBAAsB;EACtC,SAAS,CAAC,oBAAoB,UAAU;EACxC,GAAG,UAAU,QAAQ,oBAAoB,MAAM;CAChD,IAAI,KAAK;CACT,MAAM,sBAAsB,eAAe,KAAK;CAChD,IAAI,0BAA0B;CAC9B,IAAI,wBAAwB;CAC5B,IAAI;CACJ,MAAM,qDAAqD,IAAI,IAAI;CACnE,MAAM,yBAAyB,CAAC;CAChC,MAAM,+BAA+B,CAAC;CACtC,KAAK,MAAM,SAAS,OAAO,OAAO,MAAM,MAAM,GAAG;EAChD,MAAM,qBAAqB,yBAAyB,OAAO,MAAM,MAAM;EACvE,IAAI,uBAAuB,KAAK,GAAG;EACnC,MAAM,oBAAoB,aAAa,MAAM,YAAY,UAAU;EACnE,IAAI,CAAC,MAAM,QAAQ,qBAAqB,oCAAoC,iBAAiB,GAAG;EAChG,MAAM,kBAAkB,oCAAoC;GAC3D,WAAW,MAAM;GACjB;GACA,SAAS,MAAM;GACf,QAAQ,MAAM;GACd;EACD,CAAC;EACD,IAAI;EACJ,IAAI,mBAAmB;GACtB,MAAM,iBAAiB,2BAA2B;IACjD,WAAW;IACX;IACA,aAAa,iBAAiB;KAC7B,GAAG;KACH;KACA,QAAQ,MAAM;IACf,CAAC;IACD,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd;GACD,CAAC;GACD,IAAI,CAAC,gBAAgB;GACrB,IAAI,eAAe,UAAU,eAAe,YAAY;IACvD,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,4BAA4B,MAAM,KAAK,GAAG,MAAM,KAAK;KAC9D,GAAG,OAAO,GAAG,kBAAkB,IAAI;IACpC,CAAC;IACD;GACD;GACA,IAAI,eAAe,YAAY,eAAe,YAAY,eAAe,UAAU,KAAK,GAAG;IAC1F,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,4BAA4B,MAAM,KAAK,GAAG,MAAM,KAAK;KAC9D,GAAG,OAAO,GAAG,kBAAkB,IAAI;IACpC,CAAC;IACD;GACD;GACA,eAAe,eAAe;EAC/B;EACA,IAAI,CAAC,iBAAiB;EACtB,6BAA6B,KAAK;GACjC,WAAW;GACX;GACA;GACA,iBAAiB;GACjB,QAAQ,MAAM;GACd,GAAG,UAAU,gBAAgB,YAAY;EAC1C,CAAC;CACF;CACA,MAAM,qBAAqB,OAAO,OAAO,MAAM,MAAM,CAAC,CAAC,KAAK,WAAW;EACtE;EACA,UAAU,aAAa,MAAM,YAAY,UAAU;CACpD,EAAE,CAAC,CAAC,QAAQ,UAAU,QAAQ,MAAM,QAAQ,CAAC;CAC7C,MAAM,oBAAoB,eAAe,QAAQ,UAAU,MAAM,QAAQ,CAAC,CAAC,KAAK,WAAW;EAC1F,SAAS,CAAC,MAAM,UAAU;EAC1B,GAAG,UAAU,QAAQ,MAAM,UAAU;CACtC,EAAE;CACF,MAAM,aAAa,CAAC;CACpB,MAAM,aAAa,CAAC;CACpB,MAAM,kBAAkB,CAAC;CACzB,KAAK,MAAM,kBAAkB,MAAM,YAAY;EAC9C,IAAI,CAAC,OAAO,OAAO,kBAAkB,OAAO,eAAe,IAAI,KAAK,CAAC,MAAM,sBAAsB,IAAI,eAAe,IAAI,GAAG;EAC3H,IAAI,eAAe,SAAS,OAAO;EACnC,IAAI,eAAe,SAAS,mBAAmB,eAAe,SAAS,QAAQ;EAC/E,IAAI,eAAe,SAAS,WAAW;GACtC,IAAI,uBAAuB;IAC1B,YAAY,KAAK,kCAAkC;KAClD,MAAM;KACN,WAAW,MAAM;KACjB;KACA,MAAM,eAAe;IACtB,CAAC,CAAC;IACF;GACD;GACA,wBAAwB;GACxB,MAAM,OAAO,eAAe;GAC5B,MAAM,SAAS,wBAAwB;IACtC;IACA,MAAM,kBAAkB,MAAM,QAAQ,WAAW;IACjD;IACA,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd;GACD,CAAC;GACD,IAAI,WAAW,KAAK,GAAG,gBAAgB,OAAO;GAC9C;EACD;EACA,MAAM,iBAAiB,UAAU,MAAM,KAAK,MAAM,eAAe;EACjE,IAAI,eAAe,SAAS,MAAM;GACjC,IAAI,yBAAyB;IAC5B,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,UAAU,MAAM,KAAK;KAC9B,GAAG,OAAO,GAAG,eAAe,IAAI;IACjC,CAAC;IACD;GACD;GACA,IAAI,qBAAqB;IACxB,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,UAAU,MAAM,KAAK;KAC9B,GAAG,OAAO,GAAG,eAAe,IAAI;IACjC,CAAC;IACD,0BAA0B;IAC1B;GACD;GACA,MAAM,OAAO,eAAe;GAC5B,MAAM,SAAS,wBAAwB;IACtC;IACA,MAAM,kBAAkB,MAAM,GAAG,WAAW;IAC5C;IACA,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd;GACD,CAAC;GACD,IAAI,WAAW,KAAK,GAAG;GACvB,MAAM,aAAa,OAAO;GAC1B,MAAM,oBAAoB,WAAW,MAAM,SAAS,MAAM,OAAO,KAAK,EAAE,aAAa,IAAI;GACzF,IAAI,sBAAsB,KAAK,GAAG;IACjC,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,GAAG,eAAe,kCAAkC,kBAAkB;KAC/E,GAAG,OAAO,GAAG,eAAe,IAAI;IACjC,CAAC;IACD;GACD;GACA,MAAM,cAAc,uBAAuB;IAC1C;IACA,eAAe,MAAM;IACrB;IACA;IACA;IACA,MAAM,eAAe;IACrB,aAAa;GACd,CAAC;GACD,IAAI,CAAC,aAAa;GAClB,aAAa;IACZ,SAAS;IACT,GAAG,UAAU,QAAQ,OAAO,GAAG;GAChC;GACA,0BAA0B;GAC1B;EACD;EACA,IAAI,eAAe,SAAS,UAAU;GACrC,MAAM,OAAO,eAAe;GAC5B,MAAM,SAAS,wBAAwB;IACtC;IACA,MAAM,kBAAkB,MAAM,OAAO,WAAW;IAChD;IACA,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd;GACD,CAAC;GACD,IAAI,WAAW,KAAK,GAAG;GACvB,MAAM,cAAc,uBAAuB;IAC1C;IACA,eAAe,MAAM;IACrB,YAAY,OAAO;IACnB;IACA;IACA,MAAM,eAAe;IACrB,aAAa;GACd,CAAC;GACD,IAAI,CAAC,aAAa;GAClB,kBAAkB,KAAK;IACtB,SAAS;IACT,GAAG,UAAU,QAAQ,OAAO,GAAG;GAChC,CAAC;GACD;EACD;EACA,IAAI,eAAe,SAAS,SAAS;GACpC,MAAM,OAAO,eAAe;GAC5B,MAAM,SAAS,wBAAwB;IACtC;IACA,MAAM,kBAAkB,MAAM,MAAM,WAAW;IAC/C;IACA,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd;GACD,CAAC;GACD,IAAI,WAAW,KAAK,GAAG;GACvB,IAAI;GACJ,IAAI,OAAO,WAAW,KAAK,GAAG;IAC7B,MAAM,SAAS,uBAAuB;KACrC;KACA,eAAe,MAAM;KACrB,YAAY,OAAO;KACnB;KACA;KACA,MAAM,eAAe;KACrB,aAAa;IACd,CAAC;IACD,IAAI,CAAC,QAAQ;IACb,cAAc;GACf;GACA,WAAW,KAAK,UAAU;IACzB,GAAG,UAAU,WAAW,WAAW;IACnC,GAAG,UAAU,cAAc,OAAO,eAAe,KAAK,IAAI,KAAK,IAAI,kBAAkB,OAAO,WAAW,MAAM,KAAK,CAAC;IACnH,OAAO,OAAO,UAAU,KAAK,IAAI,KAAK,IAAI,kBAAkB,OAAO,MAAM,MAAM,KAAK;IACpF,QAAQ,OAAO;IACf,MAAM,OAAO;IACb,KAAK,OAAO;IACZ,MAAM,OAAO;IACb,SAAS,OAAO;GACjB,CAAC,CAAC;GACF;EACD;EACA,IAAI,eAAe,SAAS,SAAS;GACpC,MAAM,OAAO,eAAe;GAC5B,IAAI,MAAM,aAAa,MAAM,GAAG,uBAAuB,MAAM;IAC5D,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,UAAU,MAAM,KAAK,oCAAoC,MAAM,SAAS;KACjF,GAAG,OAAO,GAAG,eAAe,IAAI;IACjC,CAAC;IACD;GACD;GACA,MAAM,SAAS,wBAAwB;IACtC;IACA,MAAM,kBAAkB,MAAM,MAAM,WAAW;IAC/C;IACA,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd;GACD,CAAC;GACD,IAAI,WAAW,KAAK,GAAG;GACvB,WAAW,KAAK;IACf,YAAY,kBAAkB,OAAO,WAAW,MAAM,KAAK;IAC3D,MAAM,OAAO;IACb,KAAK,OAAO;GACb,CAAC;GACD;EACD;EACA,MAAM,4BAA4B,MAAM,sBAAsB,IAAI,eAAe,IAAI;EACrF,IAAI,8BAA8B,KAAK,GAAG;GACzC,IAAI,0BAA0B,eAAe,QAAQ,mCAAmC,IAAI,eAAe,IAAI,GAAG;IACjH,YAAY,KAAK,kCAAkC;KAClD,MAAM,eAAe;KACrB,WAAW,MAAM;KACjB;KACA,MAAM,eAAe;IACtB,CAAC,CAAC;IACF;GACD;GACA,mCAAmC,IAAI,eAAe,IAAI;GAC1D,MAAM,OAAO,eAAe;GAC5B,MAAM,cAAc,MAAM,+BAA+B,0BAA0B;GACnF,IAAI,gBAAgB,KAAK,GAAG;GAC5B,MAAM,SAAS,wBAAwB;IACtC;IACA,MAAM,YAAY,WAAW;IAC7B;IACA,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd;GACD,CAAC;GACD,IAAI,WAAW,KAAK,GAAG;GACvB,MAAM,UAAU,UAAU,0BAA0B,KAAK,CAAC,CAAC,QAAQ;IAClE,QAAQ,MAAM;IACd,QAAQ,MAAM;IACd,aAAa,MAAM;IACnB,WAAW,MAAM;IACjB,WAAW,MAAM;IACjB,aAAa;IACb,mBAAmB,cAAc;KAChC,MAAM,QAAQ,MAAM,OAAO;KAC3B,OAAO,UAAU,KAAK,IAAI,KAAK,IAAI,YAAY,OAAO,MAAM,aAAa;IAC1E;IACA,eAAe,cAAc,eAAe,MAAM,aAAa,SAAS,MAAM,SAAS,SAAS,CAAC,EAAE,WAAW;IAC9G,aAAa;IACb,UAAU,OAAO,QAAQ,cAAc,OAAO,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,OAAO,MAAM;KAC3B,YAAY,aAAa,UAAU,CAAC,CAAC;IACtC,EAAE;GACH,CAAC;GACD,IAAI,YAAY,KAAK,GAAG;GACxB,IAAI,WAAW,SAAS;IACvB,IAAI,CAAC,qBAAqB,QAAQ,KAAK,GAAG,MAAM,cAAc,sCAAsC,sBAAsB,eAAe,KAAK,cAAc,MAAM,KAAK,wOAAwO,EAAE,MAAM;KACtZ,WAAW,eAAe;KAC1B,WAAW,MAAM;IAClB,EAAE,CAAC;IACH,WAAW,KAAK,QAAQ,KAAK;IAC7B;GACD;GACA,MAAM,OAAO,uBAAuB,0BAA0B,cAAc,CAAC;GAC7E,uBAAuB,0BAA0B,aAAa;GAC9D,KAAK,QAAQ,OAAO,QAAQ;GAC5B;EACD;EACA,MAAM,IAAI,cAAc,sBAAsB,eAAe,KAAK,8CAA8C;CACjH;CACA,MAAM,2BAA2B,CAAC;CAClC,MAAM,yBAAyB,CAAC;CAChC,MAAM,0BAA0B,CAAC;CACjC,MAAM,4BAA4B,CAAC;CACnC,KAAK,MAAM,qBAAqB,oBAAoB;EACnD,MAAM,EAAE,UAAU,eAAe,iBAAiB,sBAAsB,qBAAqB,6BAA6B,kBAAkB;EAC5I,IAAI,kBAAkB,MAAM,MAAM;GACjC,IAAI,6BAA6B,KAAK,GAAG,YAAY,KAAK;IACzD,MAAM;IACN,SAAS,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK,0CAA0C,yBAAyB,GAAG,yBAAyB,KAAK,IAAI,GAAG,qBAAqB,KAAK,KAAK,cAAc;IAC/N,GAAG,OAAO,GAAG,kBAAkB,MAAM,IAAI;GAC1C,CAAC;GACD;EACD;EACA,IAAI,CAAC,oCAAoC,kBAAkB,QAAQ,GAAG;EACtE,IAAI,6BAA6B,KAAK,GAAG;GACxC,MAAM,sBAAsB,MAAM,2BAA2B,IAAI,wBAAwB;GACzF,IAAI,wBAAwB,KAAK,GAAG;IACnC,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK,+BAA+B,yBAAyB,8CAA8C,yBAAyB;KACtM,GAAG,OAAO,GAAG,kBAAkB,MAAM,IAAI;KACzC,MAAM;MACL,OAAO;MACP,eAAe;KAChB;IACD,CAAC;IACD;GACD;GACA,MAAM,iBAAiB,2BAA2B;IACjD,WAAW;IACX,OAAO,kBAAkB;IACzB,aAAa,iBAAiB;KAC7B,GAAG;KACH,OAAO,kBAAkB;KACzB,QAAQ,MAAM;IACf,CAAC;IACD,SAAS,MAAM;IACf,SAAS,MAAM;IACf,QAAQ,MAAM;IACd;GACD,CAAC;GACD,IAAI,CAAC,gBAAgB;GACrB,IAAI,CAAC,eAAe,UAAU,CAAC,eAAe,YAAY;IACzD,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK;KACvE,GAAG,OAAO,GAAG,kBAAkB,SAAS,IAAI;IAC7C,CAAC;IACD;GACD;GACA,MAAM,eAAe,uBAAuB;IAC3C;IACA,eAAe,MAAM;IACrB,YAAY,eAAe;IAC3B;IACA;IACA,MAAM,kBAAkB,SAAS;IACjC,aAAa,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK;GAC5E,CAAC;GACD,IAAI,CAAC,cAAc;GACnB,IAAI,4BAA4B,kBAAkB,OAAO,cAAc,cAAc,GAAG;IACvF,YAAY,KAAK,sCAAsC,MAAM,MAAM,mBAAmB,MAAM,CAAC;IAC7F;GACD;GACA,MAAM,oBAAoB,eAAe;GACzC,IAAI,aAAa,WAAW,kBAAkB,QAAQ;IACrD,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK;KACvE,GAAG,OAAO,GAAG,kBAAkB,SAAS,IAAI;IAC7C,CAAC;IACD;GACD;GACA,MAAM,WAAW,eAAe,WAAW,2BAA2B,eAAe,QAAQ,IAAI,KAAK;GACtG,MAAM,WAAW,eAAe,WAAW,2BAA2B,eAAe,QAAQ,IAAI,KAAK;GACtG,MAAM,yBAAyB,wBAAwB;GACvD,MAAM,cAAc;GACpB,MAAM,gBAAgB,YAAY,OAAO,WAAW,uBAAuB,EAAE,OAAO,cAAc,EAAE,QAAQ;GAC5G,IAAI,OAAO,kBAAkB,UAAU;IACtC,MAAM,kBAAkB,OAAO,KAAK,YAAY,OAAO,WAAW,uBAAuB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK;IACvH,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK,sBAAsB,cAAc,kBAAkB,uBAAuB,cAAc,yBAAyB,+EAA+E;KAC1Q,GAAG,OAAO,GAAG,kBAAkB,MAAM,IAAI;KACzC,MAAM;MACL,OAAO;MACP,WAAW;MACX,OAAO;KACR;IACD,CAAC;IACD;GACD;GACA,MAAM,uBAAuB;GAC7B,gBAAgB,KAAK;IACpB,SAAS;IACT,YAAY;KACX,OAAO;KACP,OAAO;KACP,SAAS;KACT,aAAa;KACb,SAAS;IACV;IACA,GAAG,UAAU,QAAQ,eAAe,GAAG;IACvC,GAAG,UAAU,YAAY,QAAQ;IACjC,GAAG,UAAU,YAAY,QAAQ;IACjC,GAAG,UAAU,SAAS,eAAe,KAAK;GAC3C,CAAC;GACD,IAAI,OAAO,eAAe,UAAU,UAAU,uBAAuB,KAAK;IACzE,aAAa;IACb;IACA,SAAS;IACT,OAAO,eAAe;IACtB,UAAU,OAAO,GAAG,kBAAkB,SAAS,IAAI;GACpD,CAAC;GACD,0BAA0B,KAAK;IAC9B,WAAW,kBAAkB,MAAM;IACnC,SAAS;IACT,SAAS;IACT,aAAa;IACb,UAAU,kBAAkB,MAAM;IAClC,SAAS;IACT,aAAa;IACb,IAAI;KACH,aAAa;KACb,eAAe;KACf,YAAY;KACZ,cAAc;IACf;GACD,CAAC;GACD;EACD;EACA,MAAM,oBAAoB,uBAAuB,GAAG,qBAAqB,GAAG,kBAAkB;EAC9F,MAAM,gBAAgB,kBAAkB,kBAAkB,KAAK;EAC/D,MAAM,mBAAmB,kBAAkB,KAAK,IAAI,KAAK,IAAI,MAAM,OAAO,cAAc,aAAa;EACrG,IAAI,kBAAkB,SAAS,cAAc;EAC7C,IAAI,kBAAkB,SAAS,SAAS;GACvC,MAAM,YAAY,qBAAqB,KAAK,IAAI,KAAK,IAAI,wBAAwB,gBAAgB;GACjG,YAAY,KAAK;IAChB,MAAM;IACN,SAAS,cAAc,KAAK,IAAI,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK,8BAA8B,kBAAkB,KAAK,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK,eAAe,UAAU,IAAI,kBAAkB;IAChQ,GAAG,OAAO,GAAG,kBAAkB,MAAM,IAAI;GAC1C,CAAC;GACD;EACD;EACA,MAAM,cAAc,iBAAiB;EACrC,MAAM,oBAAoB,iBAAiB,UAAU;EACrD,MAAM,iBAAiB,2BAA2B;GACjD,WAAW;GACX,OAAO,kBAAkB;GACzB,aAAa,iBAAiB;IAC7B,GAAG;IACH,OAAO,kBAAkB;IACzB,QAAQ,MAAM;GACf,CAAC;GACD,SAAS,MAAM;GACf,SAAS,MAAM;GACf,QAAQ,MAAM;GACd;EACD,CAAC;EACD,IAAI,CAAC,gBAAgB;EACrB,IAAI,CAAC,eAAe,UAAU,CAAC,eAAe,YAAY;GACzD,YAAY,KAAK;IAChB,MAAM;IACN,SAAS,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK;IACvE,GAAG,OAAO,GAAG,kBAAkB,SAAS,IAAI;GAC7C,CAAC;GACD;EACD;EACA,MAAM,eAAe,uBAAuB;GAC3C;GACA,eAAe,MAAM;GACrB,YAAY,eAAe;GAC3B;GACA;GACA,MAAM,kBAAkB,SAAS;GACjC,aAAa,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK;EAC5E,CAAC;EACD,IAAI,CAAC,cAAc;EACnB,IAAI,4BAA4B,kBAAkB,OAAO,cAAc,cAAc,GAAG;GACvF,YAAY,KAAK,sCAAsC,MAAM,MAAM,mBAAmB,MAAM,CAAC;GAC7F,wBAAwB,KAAK;IAC5B,gBAAgB;IAChB;IACA,GAAG,UAAU,gBAAgB,eAAe,IAAI;GACjD,CAAC;GACD;EACD;EACA,MAAM,oBAAoB,uBAAuB;GAChD,OAAO;GACP,eAAe,MAAM;GACrB,YAAY,eAAe;GAC3B;GACA;GACA,MAAM,kBAAkB,SAAS;GACjC,aAAa,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK;EAC5E,CAAC;EACD,IAAI,CAAC,mBAAmB;EACxB,IAAI,aAAa,WAAW,kBAAkB,QAAQ;GACrD,YAAY,KAAK;IAChB,MAAM;IACN,SAAS,mBAAmB,MAAM,KAAK,GAAG,kBAAkB,MAAM,KAAK;IACvE,GAAG,OAAO,GAAG,kBAAkB,SAAS,IAAI;GAC7C,CAAC;GACD;EACD;EACA,MAAM,WAAW,eAAe,WAAW,2BAA2B,eAAe,QAAQ,IAAI,KAAK;EACtG,MAAM,WAAW,eAAe,WAAW,2BAA2B,eAAe,QAAQ,IAAI,KAAK;EACtG,MAAM,kBAAkB,YAAY,aAAa,MAAM,aAAa;EACpE,gBAAgB,KAAK;GACpB,SAAS;GACT,YAAY;IACX,OAAO,YAAY;IACnB,OAAO;IACP,SAAS;IACT,aAAa;GACd;GACA,GAAG,UAAU,QAAQ,eAAe,GAAG;GACvC,GAAG,UAAU,YAAY,QAAQ;GACjC,GAAG,UAAU,YAAY,QAAQ;GACjC,GAAG,UAAU,SAAS,eAAe,KAAK;EAC3C,CAAC;EACD,IAAI,OAAO,eAAe,UAAU,UAAU,uBAAuB,KAAK;GACzE,aAAa;GACb;GACA,SAAS;GACT,OAAO,eAAe;GACtB,UAAU,OAAO,GAAG,kBAAkB,SAAS,IAAI;EACpD,CAAC;EACD,yBAAyB,KAAK;GAC7B,oBAAoB;GACpB,oBAAoB,kBAAkB,MAAM;GAC5C,oBAAoB;GACpB,GAAG,UAAU,wBAAwB,gBAAgB;GACrD,iBAAiB;GACjB;GACA,GAAG,UAAU,qBAAqB,iBAAiB;GACnD,GAAG,UAAU,gBAAgB,eAAe,IAAI;GAChD,UAAU,kBAAkB,MAAM;GAClC;GACA;EACD,CAAC;CACF;CACA,OAAO;EACN,WAAW;GACV,WAAW,MAAM;GACjB;GACA,QAAQ,eAAe,KAAK,kBAAkB;IAC7C,MAAM,SAAS;KACd,WAAW,cAAc,MAAM;KAC/B,YAAY,cAAc;KAC1B,YAAY,cAAc;KAC1B,UAAU,cAAc;KACxB,GAAG,UAAU,QAAQ,cAAc,IAAI;KACvC,GAAG,UAAU,mBAAmB,cAAc,OAAO,cAAc,oBAAoB,OAAO,KAAK,CAAC;KACpG,GAAG,UAAU,WAAW,cAAc,YAAY;KAClD,GAAG,UAAU,qBAAqB,cAAc,iBAAiB;IAClE;IACA,IAAI,cAAc,wBAAwB,KAAK,GAAG,OAAO;KACxD,GAAG;KACH,iBAAiB,cAAc;IAChC;IACA,OAAO;KACN,GAAG;KACH,GAAG,UAAU,kBAAkB,cAAc,cAAc;IAC5D;GACD,CAAC;GACD,GAAG,UAAU,MAAM,UAAU;GAC7B,GAAG,kBAAkB,SAAS,IAAI,EAAE,SAAS,kBAAkB,IAAI,CAAC;GACpE,GAAG,WAAW,SAAS,IAAI,EAAE,SAAS,WAAW,IAAI,CAAC;GACtD,GAAG,WAAW,SAAS,IAAI,EAAE,QAAQ,WAAW,IAAI,CAAC;GACrD,GAAG,gBAAgB,SAAS,IAAI,EAAE,aAAa,gBAAgB,IAAI,CAAC;GACpE,GAAG,UAAU,WAAW,aAAa;EACtC;EACA,oBAAoB;EACpB;EACA,mBAAmB;EACnB,qBAAqB;EACrB,wBAAwB;EACxB;CACD;AACD;AACA,SAAS,sBAAsB,OAAO;CACrC,MAAM,EAAE,gBAAgB,aAAa,aAAa,SAAS,WAAW;CACtE,OAAO,eAAe,KAAK,kBAAkB;EAC5C,KAAK,MAAM,aAAa,cAAc,YAAY,YAAY,KAAK;GAClE,MAAM;GACN,SAAS,mBAAmB,cAAc,KAAK,sBAAsB,UAAU,KAAK;GACpF,GAAG,iBAAiB,SAAS,cAAc,KAAK,MAAM,CAAC,CAAC,GAAG,UAAU,IAAI;EAC1E,CAAC;EACD,MAAM,SAAS,CAAC;EAChB,KAAK,MAAM,SAAS,OAAO,OAAO,cAAc,MAAM,GAAG;GACxD,KAAK,MAAM,aAAa,MAAM,YAAY,YAAY,KAAK;IAC1D,MAAM;IACN,SAAS,WAAW,MAAM,KAAK,uBAAuB,cAAc,KAAK,qBAAqB,UAAU,KAAK;IAC7G,GAAG,iBAAiB,SAAS,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,UAAU,IAAI;GAClE,CAAC;GACD,MAAM,SAAS;IACd,WAAW,MAAM;IACjB,UAAU,MAAM;IAChB,GAAG,UAAU,QAAQ,MAAM,OAAO,OAAO,KAAK,CAAC;IAC/C,GAAG,UAAU,mBAAmB,MAAM,OAAO,MAAM,kBAAkB,KAAK,CAAC;GAC5E;GACA,MAAM,qBAAqB,kBAAkB,KAAK;GAClD,MAAM,sBAAsB,uBAAuB,KAAK,IAAI,KAAK,IAAI,OAAO,cAAc,kBAAkB;GAC5G,IAAI,qBAAqB,SAAS,iBAAiB;IAClD,OAAO,KAAK;KACX,GAAG;KACH,iBAAiB,oBAAoB,OAAO;IAC7C,CAAC;IACD;GACD;GACA,MAAM,WAAW,2BAA2B;IAC3C;IACA,YAAY;IACZ,qBAAqB,MAAM;IAC3B,aAAa,MAAM;IACnB;IACA;IACA,aAAa,UAAU,cAAc,KAAK,GAAG,MAAM,KAAK;IACxD,aAAa,MAAM;IACnB,4BAA4B,MAAM;IAClC;IACA,aAAa,MAAM;IACnB,WAAW,MAAM;GAClB,CAAC;GACD,IAAI,CAAC,SAAS,IAAI;GAClB,MAAM,EAAE,eAAe;GACvB,IAAI,WAAW,aAAa,KAAK,GAAG;IACnC,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,UAAU,cAAc,KAAK,GAAG,MAAM,KAAK,kCAAkC,WAAW,SAAS,WAAW;KACrH,GAAG,iBAAiB,SAAS,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,MAAM,IAAI;IAC9D,CAAC;IACD;GACD;GACA,MAAM,YAAY,MAAM,YAAY,aAAa,mBAAmB;GACpE,KAAK,MAAM,aAAa,cAAc,KAAK,IAAI,CAAC,IAAI,wBAAwB,UAAU,KAAK,GAAG,YAAY,KAAK;IAC9G,MAAM;IACN,SAAS,WAAW,MAAM,KAAK,uBAAuB,cAAc,KAAK,gCAAgC,MAAM,SAAS,qBAAqB,UAAU;IACvJ,GAAG,iBAAiB,SAAS,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,MAAM,IAAI;GAC9D,CAAC;GACD,OAAO,KAAK;IACX,GAAG;IACH,YAAY;KACX,SAAS,WAAW;KACpB,GAAG,UAAU,cAAc,WAAW,UAAU;IACjD;IACA,GAAG,UAAU,kBAAkB,qBAAqB,SAAS,UAAU,YAAY,IAAI,oBAAoB,MAAM,IAAI,WAAW,UAAU;GAC3I,CAAC;EACF;EACA,OAAO;GACN,MAAM,cAAc;GACpB;EACD;CACD,CAAC;AACF;AACA,SAAS,gCAAgC,YAAY,SAAS,SAAS,QAAQ,gBAAgB,sBAAsB,aAAa,WAAW,aAAa;CACzJ,MAAM,wCAAwC,IAAI,IAAI;CACtD,MAAM,0CAA0C,IAAI,IAAI;CACxD,MAAM,WAAW,EAAE,gCAAgC,IAAI,IAAI,EAAE;CAC7D,KAAK,MAAM,EAAE,OAAO,aAAa,SAAS,WAAW,OAAO,GAAG;EAC9D,MAAM,SAAS,iBAAiB,SAAS,MAAM,KAAK,MAAM;EAC1D,MAAM,oBAAoB,aAAa,MAAM,YAAY,eAAe,CAAC,EAAE;EAC3E,IAAI,sBAAsB,KAAK,GAAG;GACjC,MAAM,SAAS,wBAAwB;IACtC,MAAM;IACN;IACA,MAAM,kBAAkB,MAAM,cAAc,eAAe,KAAK,CAAC;IACjE;IACA;IACA;IACA;GACD,CAAC;GACD,IAAI,WAAW,KAAK,GAAG,sBAAsB,IAAI,KAAK;IACrD,aAAa;KACZ;KACA,WAAW,OAAO;KAClB,MAAM,YAAY,kBAAkB,QAAQ,OAAO;KACnD;IACD;IACA,OAAO,qBAAqB,OAAO,OAAO,KAAK;GAChD,CAAC;QACI,SAAS,eAAe,IAAI,GAAG;EACrC;EACA,MAAM,WAAW,aAAa,MAAM,YAAY,MAAM,CAAC,EAAE;EACzD,IAAI,aAAa,KAAK,GAAG;GACxB,MAAM,SAAS,wBAAwB;IACtC,MAAM;IACN;IACA,MAAM,kBAAkB,MAAM,KAAK,eAAe,KAAK,CAAC;IACxD;IACA;IACA;IACA;GACD,CAAC;GACD,IAAI,WAAW,KAAK,GAAG;IACtB,MAAM,OAAO,WAAW,IAAI,OAAO,KAAK,WAAW;IACnD,UAAU,SAAS,KAAK,GAAG,wBAAwB,OAAO,KAAK,YAAY,KAAK,iDAAiD;IACjI,wBAAwB,IAAI,KAAK;KAChC;KACA;KACA;KACA;KACA,SAAS,OAAO;KAChB,MAAM,YAAY,SAAS,QAAQ,OAAO;IAC3C,CAAC;GACF;EACD;CACD;CACA,MAAM,4CAA4C,IAAI,IAAI;CAC1D,MAAM,yBAAyB,IAAI,IAAI;CACvC,KAAK,MAAM,CAAC,SAAS,EAAE,aAAa,YAAY,uBAAuB;EACtE,MAAM,WAAW,sBAAsB,aAAa,OAAO,CAAC,GAAG,uBAAuB,CAAC,CAAC,QAAQ,GAAG,UAAU,KAAK,KAAK,QAAQ,OAAO,GAAG;GACxI;GACA;GACA;EACD,CAAC;EACD,IAAI,aAAa,KAAK,GAAG;GACxB,SAAS,eAAe,IAAI,OAAO;GACnC;EACD;EACA,0BAA0B,IAAI,SAAS,WAAW;EAClD,KAAK,MAAM,CAAC,YAAY,UAAU,UAAU,OAAO,IAAI,YAAY,KAAK;CACzE;CACA,MAAM,mCAAmC,IAAI,IAAI;CACjD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,aAAa,QAAQ,MAAM,WAAW,yBAAyB,iBAAiB,IAAI,KAAK;EAClH;EACA;EACA;EACA;EACA;EACA,OAAO,OAAO,IAAI,GAAG;CACtB,CAAC;CACD,OAAO;EACN;EACA;EACA;CACD;AACD;;;;AAIA,SAAS,sBAAsB,aAAa,oBAAoB,OAAO,OAAO;CAC7E,MAAM,EAAE,OAAO,cAAc;CAC7B,MAAM,YAAY,IAAI,IAAI,KAAK;CAC/B,MAAM,WAAW,uBAAuB;EACvC,OAAO,mBAAmB;EAC1B,UAAU,MAAM,KAAK,CAAC,KAAK,WAAW;GACrC;GACA,SAAS,iBAAiB,IAAI;EAC/B,EAAE;EACF,SAAS,UAAU,MAAM,KAAK,GAAG,UAAU;EAC3C,aAAa,MAAM;EACnB,WAAW,MAAM;CAClB,CAAC;CACD,MAAM,UAAU,eAAe;EAC9B,MAAM,OAAO,UAAU,IAAI,UAAU;EACrC,UAAU,SAAS,KAAK,GAAG,uDAAuD;EAClF,OAAO;CACR;CACA,MAAM,UAAU;EACf,WAAW,MAAM;EACjB;EACA,UAAU,MAAM,OAAO,UAAU,EAAE,YAAY;EAC/C,UAAU,mBAAmB;EAC7B,cAAc,eAAe,OAAO,UAAU,CAAC,CAAC,MAAM;CACvD;CACA,KAAK,MAAM,WAAW,SAAS,eAAe,MAAM,YAAY,KAAK;EACpE,MAAM;EACN,SAAS,6BAA6B,SAAS,OAAO;EACtD,GAAG,YAAY,OAAO,GAAG,YAAY,IAAI;CAC1C,CAAC;CACD,IAAI,SAAS,cAAc,SAAS,GAAG,OAAO,KAAK;CACnD,KAAK,MAAM,WAAW,SAAS,iBAAiB;EAC/C,MAAM,OAAO,OAAO,QAAQ,GAAG;EAC/B,MAAM,YAAY,KAAK;GACtB,GAAG,QAAQ,SAAS,eAAe,QAAQ,UAAU;IACpD,MAAM;IACN,SAAS,6BAA6B,SAAS,OAAO;GACvD;GACA,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,IAAI;EACpC,CAAC;CACF;CACA,OAAO,SAAS;AACjB;;AAEA,SAAS,iBAAiB,MAAM;CAC/B,IAAI,KAAK,QAAQ,YAAY,KAAK,GAAG,MAAM,IAAI,cAAc,4DAA4D;CACzH,OAAO,KAAK,QAAQ;AACrB;AACA,SAAS,WAAW,aAAa,WAAW,WAAW;CACtD,OAAO,YAAY,GAAG,YAAY,GAAG,cAAc;AACpD;AACA,SAAS,oBAAoB,QAAQ,eAAe,2BAA2B,kBAAkB,UAAU,4BAA4B,qBAAqB,aAAa;CACxK,IAAI,UAAU;CACd,KAAK,MAAM,CAAC,SAAS,eAAe,qBAAqB;EACxD,MAAM,YAAY,QAAQ;EAC1B,IAAI,CAAC,aAAa,WAAW,WAAW,GAAG;EAC3C,UAAU;GACT,GAAG;IACF,UAAU,6BAA6B,WAAW,UAAU;EAC9D;CACD;CACA,KAAK,MAAM,CAAC,UAAU,SAAS,2BAA2B;EACzD,MAAM,YAAY,KAAK,MAAM;EAC7B,IAAI,iBAAiB,IAAI,QAAQ,GAAG;GACnC,YAAY,KAAK;IAChB,MAAM;IACN,SAAS,UAAU,UAAU;IAC7B,GAAG,KAAK,OAAO,GAAG,KAAK,IAAI;GAC5B,CAAC;GACD;EACD;EACA,MAAM,QAAQ,QAAQ;EACtB,IAAI,CAAC,OAAO;EACZ,MAAM,WAAW,CAAC;EAClB,KAAK,MAAM,YAAY,iBAAiB,OAAO,GAAG;GACjD,IAAI,SAAS,KAAK,QAAQ,YAAY,SAAS,UAAU,KAAK,GAAG;GACjE,MAAM,cAAc,SAAS,MAAM;GACnC,MAAM,kBAAkB,SAAS,SAAS;GAC1C,IAAI,iBAAiB;IACpB,MAAM,YAAY,gBAAgB,cAAc,SAAS,KAAK,eAAe,SAAS,gBAAgB,SAAS,KAAK;IACpH,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,wBAAwB,SAAS,MAAM,qBAAqB,WAAW,gBAAgB,WAAW,gBAAgB,OAAO,SAAS,EAAE,SAAS,WAAW,SAAS,aAAa,aAAa,SAAS,EAAE,mBAAmB,WAAW,SAAS,KAAK,aAAa,WAAW,SAAS,EAAE;KAC9R,GAAG,SAAS,OAAO,GAAG,SAAS,IAAI;IACpC,CAAC;IACD;GACD;GACA,SAAS,SAAS,SAAS,SAAS,aAAa,SAAS,WAAW;EACtE;EACA,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,WAAW,GAAG;GACvC,IAAI,CAAC,GAAG,iBAAiB,OAAO,CAAC,CAAC,CAAC,MAAM,aAAa,SAAS,KAAK,QAAQ,YAAY,SAAS,UAAU,KAAK,CAAC,GAAG;GACpH,YAAY,KAAK;IAChB,MAAM;IACN,SAAS,UAAU,UAAU,6DAA6D,UAAU;IACpG,GAAG,KAAK,OAAO,GAAG,KAAK,IAAI;GAC5B,CAAC;GACD;EACD;EACA,UAAU;GACT,GAAG;IACF,WAAW;IACX,GAAG;IACH,eAAe,EAAE,OAAO,KAAK,UAAU;IACvC;GACD;EACD;CACD;CACA,KAAK,MAAM,CAAC,YAAY,aAAa,kBAAkB;EACtD,MAAM,WAAW,SAAS,KAAK,MAAM;EACrC,IAAI,CAAC,0BAA0B,IAAI,SAAS,KAAK,GAAG,GAAG;GACtD,IAAI,SAAS,eAAe,IAAI,SAAS,KAAK,GAAG,GAAG;GACpD,MAAM,YAAY,SAAS,gBAAgB,SAAS,KAAK;GACzD,MAAM,eAAe,WAAW,SAAS,aAAa,SAAS,MAAM,MAAM,SAAS;GACpF,MAAM,YAAY,WAAW,SAAS,KAAK,aAAa,UAAU,SAAS;GAC3E,YAAY,KAAK;IAChB,MAAM;IACN,SAAS,UAAU,aAAa,oBAAoB,UAAU,cAAc,UAAU;IACtF,GAAG,SAAS,OAAO,GAAG,SAAS,IAAI;GACpC,CAAC;GACD;EACD;EACA,IAAI,0BAA0B,IAAI,UAAU,GAAG;EAC/C,MAAM,eAAe,QAAQ;EAC7B,IAAI,CAAC,cAAc;EACnB,MAAM,gBAAgB,YAAY,aAAa,SAAS,MAAM,YAAY,KAAK,MAAM,KAAK,IAAI,SAAS,QAAQ,SAAS,KAAK,OAAO,aAAa;EACjJ,MAAM,iBAAiB;GACtB,GAAG;GACH,MAAM,SAAS,UAAU,SAAS,KAAK,WAAW;GAClD,GAAG,gBAAgB,EAAE,SAAS;IAC7B,GAAG,aAAa;IAChB,OAAO;GACR,EAAE,IAAI,CAAC;EACR;EACA,UAAU;GACT,GAAG;IACF,aAAa,6BAA6B,gBAAgB,2BAA2B,IAAI,UAAU,KAAK,CAAC,CAAC;EAC5G;CACD;CACA,OAAO;AACR;;;;;;;;;;;;;;;AAeA,SAAS,kCAAkC,YAAY,kBAAkB,gBAAgB,oBAAoB;CAC5G,MAAM,SAAS,SAAS,mBAAmB,KAAK,eAAe,oBAAoB,KAAK,SAAS;CACjG,MAAM,cAAc,IAAI,IAAI,WAAW,KAAK,SAAS,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC;CACzE,MAAM,6CAA6C,IAAI,IAAI;CAC3D,OAAO;EACN,YAAY,WAAW,KAAK,SAAS;GACpC,MAAM,aAAa,MAAM,IAAI;GAC7B,MAAM,WAAW,iBAAiB,IAAI,UAAU;GAChD,IAAI,CAAC,UAAU,OAAO;GACtB,MAAM,WAAW,YAAY,IAAI,SAAS,KAAK,GAAG;GAClD,IAAI,CAAC,UAAU,OAAO;GACtB,IAAI,eAAe,IAAI,UAAU,GAAG,OAAO;GAC3C,MAAM,iBAAiB,SAAS;GAChC,IAAI,CAAC,kBAAkB,eAAe,QAAQ,WAAW,GAAG,OAAO;GACnE,MAAM,kBAAkB,IAAI,IAAI,KAAK,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;GAC5E,MAAM,aAAa,CAAC;GACpB,KAAK,MAAM,YAAY,eAAe,SAAS;IAC9C,IAAI,gBAAgB,IAAI,QAAQ,GAAG;IACnC,MAAM,YAAY,SAAS,OAAO,MAAM,UAAU,MAAM,eAAe,QAAQ;IAC/E,IAAI,CAAC,WAAW;IAChB,WAAW,KAAK;KACf,WAAW,UAAU;KACrB,YAAY;KACZ,YAAY,UAAU;KACtB,UAAU;KACV,MAAM;IACP,CAAC;GACF;GACA,IAAI,WAAW,WAAW,GAAG,OAAO;GACpC,2BAA2B,IAAI,YAAY,WAAW,KAAK,UAAU,MAAM,SAAS,CAAC;GACrF,MAAM,aAAa;IAClB,SAAS,eAAe;IACxB,YAAY;KACX,OAAO,SAAS;KAChB,OAAO,SAAS;KAChB,SAAS,eAAe;KACxB,GAAG,UAAU,eAAe,SAAS,WAAW;IACjD;IACA,YAAY;IACZ,UAAU;GACX;GACA,OAAO;IACN,GAAG;IACH,QAAQ,CAAC,GAAG,YAAY,GAAG,KAAK,MAAM;IACtC,IAAI,EAAE,SAAS,eAAe,QAAQ;IACtC,aAAa,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,UAAU;GACpD;EACD,CAAC;EACD;CACD;AACD;;;;;;;;;;;;;;;;;;;;AAoBA,SAAS,oCAAoC,YAAY,kBAAkB,gBAAgB,oBAAoB;CAC9G,IAAI,eAAe,SAAS,GAAG,OAAO;EACrC,YAAY,CAAC,GAAG,UAAU;EAC1B,qCAAqC,IAAI,IAAI;CAC9C;CACA,MAAM,SAAS,SAAS,mBAAmB,KAAK,eAAe,oBAAoB,KAAK,SAAS;CACjG,MAAM,cAAc,IAAI,IAAI,WAAW,KAAK,SAAS,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC;CACzE,MAAM,mCAAmC,IAAI,IAAI;CACjD,KAAK,MAAM,cAAc,gBAAgB;EACxC,MAAM,cAAc,YAAY,IAAI,UAAU;EAC9C,MAAM,WAAW,iBAAiB,IAAI,UAAU;EAChD,IAAI,CAAC,eAAe,CAAC,UAAU;EAC/B,MAAM,WAAW,YAAY,IAAI,SAAS,KAAK,GAAG;EAClD,IAAI,CAAC,UAAU;EACf,MAAM,cAAc,IAAI,IAAI,SAAS,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;EAC5E,MAAM,UAAU,iBAAiB,IAAI,SAAS,KAAK,GAAG,KAAK,CAAC;EAC5D,MAAM,iBAAiB,IAAI,IAAI,QAAQ,KAAK,UAAU,MAAM,UAAU,CAAC;EACvE,KAAK,MAAM,SAAS,YAAY,QAAQ;GACvC,IAAI,YAAY,IAAI,MAAM,UAAU,KAAK,eAAe,IAAI,MAAM,UAAU,GAAG;GAC/E,eAAe,IAAI,MAAM,UAAU;GACnC,QAAQ,KAAK;IACZ,GAAG;IACH,UAAU;GACX,CAAC;EACF;EACA,iBAAiB,IAAI,SAAS,KAAK,KAAK,OAAO;CAChD;CACA,MAAM,sCAAsC,IAAI,IAAI;CACpD,KAAK,MAAM,CAAC,UAAU,YAAY,kBAAkB,oBAAoB,IAAI,UAAU,QAAQ,KAAK,UAAU,MAAM,SAAS,CAAC;CAC7H,OAAO;EACN,YAAY,WAAW,KAAK,SAAS;GACpC,IAAI,eAAe,IAAI,MAAM,IAAI,CAAC,GAAG,OAAO;IAC3C,GAAG;IACH,iBAAiB;GAClB;GACA,MAAM,aAAa,iBAAiB,IAAI,MAAM,IAAI,CAAC;GACnD,IAAI,CAAC,cAAc,WAAW,WAAW,GAAG,OAAO;GACnD,OAAO;IACN,GAAG;IACH,QAAQ,CAAC,GAAG,KAAK,QAAQ,GAAG,UAAU;GACvC;EACD,CAAC;EACD;CACD;AACD;;;;;;AAMA,SAAS,6BAA6B,OAAO,YAAY;CACxD,IAAI,WAAW,WAAW,GAAG,OAAO;CACpC,MAAM,SAAS,EAAE,GAAG,MAAM,OAAO;CACjC,KAAK,MAAM,QAAQ,YAAY,OAAO,OAAO;CAC7C,MAAM,UAAU,UAAU,MAAM,OAAO;CACvC,MAAM,gBAAgB,EAAE,GAAG,QAAQ,OAAO;CAC1C,KAAK,MAAM,QAAQ,YAAY,OAAO,cAAc;CACpD,OAAO;EACN,GAAG;EACH;EACA,SAAS;GACR,GAAG;GACH,QAAQ;EACT;CACD;AACD;AACA,SAAS,yBAAyB,OAAO,QAAQ;CAChD,MAAM,gBAAgB,kBAAkB,KAAK;CAC7C,IAAI,kBAAkB,KAAK,GAAG,OAAO,KAAK;CAC1C,MAAM,aAAa,OAAO,cAAc,aAAa;CACrD,OAAO,YAAY,SAAS,UAAU,WAAW,SAAS,KAAK;AAChE;AACA,SAAS,wBAAwB,YAAY;CAC5C,QAAQ,WAAW,MAAnB;EACC,KAAK,iBAAiB,OAAO;EAC7B,KAAK,aAAa,OAAO;EACzB,KAAK,SAAS,OAAO,WAAW,OAAO;EACvC,KAAK;EACL,KAAK,wBAAwB,OAAO;EACpC,KAAK,mBAAmB,OAAO;EAC/B,SAAS;CACV;AACD;;;;AAIA,SAAS,qBAAqB,OAAO,WAAW;CAC/C,IAAI,CAAC,kBAAkB,KAAK,KAAK,MAAM,OAAO,cAAA,gCAA4C;CAC1F,MAAM,EAAE,aAAa,WAAW,SAAS,UAAU,MAAM,QAAQ,CAAC;CAClE,MAAM,KAAK,UAAU,MAAM,cAAc,UAAU,gBAAgB,eAAe,UAAU,cAAc,aAAa,UAAU,UAAU,SAAS,MAAM,QAAQ,OAAO,KAAK,UAAU,QAAQ,WAAW,QAAQ,UAAU,UAAU,QAAQ,OAAO,QAAQ,aAAa,WAAW,QAAQ,SAAS,CAAC;CACxS,IAAI,OAAO,KAAK,GAAG,OAAO,KAAK;CAC/B,OAAO;EACN;EACA,SAAS,MAAM,QAAQ,KAAK,IAAI,MAAM,UAAU,GAAG,MAAM,QAAQ,GAAG,MAAM;CAC3E;AACD;AACA,SAAS,kCAAkC,OAAO;CACjD,IAAI,CAAC,MAAM,QAAQ,MAAM,IAAI,cAAc,0EAA0E;CACrH,IAAI,CAAC,MAAM,yBAAyB,MAAM,IAAI,cAAc,+DAA+D;CAC3H,MAAM,CAAC,kBAAkB,MAAM;CAC/B,cAAc,gBAAgB,kEAAkE;CAChG,MAAM,SAAS,iBAAiB,MAAM,SAAS,eAAe,MAAM;CACpE,MAAM,cAAc,6BAA6B,MAAM,OAAO;CAC9D,MAAM,wBAAwB,2BAA2B,MAAM,sBAAsB;CACrF,MAAM,wBAAwB,wBAAwB,qBAAqB;CAC3E,MAAM,8BAA8B,MAAM,wBAAwB,uBAAuB,CAAC;CAC1F,MAAM,EAAE,QAAQ,cAAc;CAC9B,MAAM,0BAA0B,MAAM,yBAAyB,2CAA2C,IAAI,IAAI;CAClH,MAAM,EAAE,uBAAuB;CAC/B,MAAM,kBAAkB,UAAU,iBAAiB;EAClD,SAAS,MAAM;EACf;EACA;EACA;EACA;CACD,CAAC;CACD,MAAM,mBAAmB,OAAO,OAAO,MAAM,YAAY,UAAU;CACnE,oCAAoC;EACnC,YAAY;EACZ,UAAU,MAAM,OAAO;EACvB;EACA,SAAS,MAAM;EACf;EACA;CACD,CAAC;CACD,MAAM,EAAE,cAAc,aAAa,qBAAqB,yBAAyB;EAChF,aAAa,MAAM;EACnB,SAAS,MAAM;EACf,qBAAqB;EACrB;EACA;CACD,CAAC;CACD,YAAY,KAAK,GAAG,gBAAgB;CACpC,wCAAwC;EACvC;EACA,qBAAqB;EACrB,SAAS,MAAM;EACf;CACD,CAAC;CACD,MAAM,SAAS,CAAC;CAChB,MAAM,eAAe,CAAC;CACtB,MAAM,iBAAiB,CAAC;CACxB,KAAK,MAAM,aAAa,kBAAkB;EACzC,KAAK,MAAM,SAAS,OAAO,OAAO,UAAU,MAAM,GAAG;GACpD,OAAO,KAAK,KAAK;GACjB,aAAa,KAAK;IACjB;IACA,aAAa,UAAU;GACxB,CAAC;EACF;EACA,eAAe,KAAK,GAAG,OAAO,OAAO,UAAU,cAAc,CAAC;CAC/D;CACA,MAAM,gCAAgC,IAAI,IAAI;CAC9C,KAAK,MAAM,SAAS,QAAQ;EAC3B,MAAM,UAAU,aAAa,MAAM,YAAY,KAAK,CAAC,EAAE;EACvD,MAAM,SAAS,YAAY,KAAK,IAAI,KAAK,IAAI,wBAAwB;GACpE,MAAM;GACN,SAAS,MAAM;GACf,MAAM,kBAAkB,MAAM,IAAI,eAAe,KAAK,CAAC;GACvD;GACA,SAAS,MAAM;GACf;GACA;EACD,CAAC;EACD,cAAc,IAAI,OAAO,QAAQ,QAAQ,iBAAiB,MAAM,IAAI,CAAC;EACrE,KAAK,MAAM,SAAS,OAAO,OAAO,MAAM,MAAM,GAAG;GAChD,MAAM,UAAU,aAAa,MAAM,YAAY,KAAK,CAAC,EAAE;GACvD,MAAM,SAAS,YAAY,KAAK,IAAI,KAAK,IAAI,wBAAwB;IACpE,MAAM;IACN,SAAS,MAAM;IACf,MAAM,kBAAkB,MAAM,IAAI,iBAAiB;KAClD,GAAG,eAAe,KAAK;KACvB;KACA;IACD,CAAC,CAAC;IACF;IACA;IACA,SAAS,MAAM;IACf;IACA;GACD,CAAC;GACD,cAAc,IAAI,OAAO,QAAQ,QAAQ,MAAM,IAAI;EACpD;CACD;CACA,MAAM,qBAAqB,MAAM,YAAY,iBAAiB;CAC9D,MAAM,qBAAqB,IAAI,IAAI,MAAM,sBAAsB,CAAC,CAAC;CACjE,MAAM,6BAA6B,MAAM;CACzC,MAAM,eAAe,UAAU,MAAM,YAAY;CACjD,MAAM,0BAA0B,qBAAqB,MAAM,wBAAwB,mBAAmB;CACtG,MAAM,kCAAkC,UAAU;EACjD,YAAY,KAAK,2BAA2B,OAAO,MAAM,OAAO,CAAC;CAClE;CACA,MAAM,gBAAgB,CAAC;CACvB,MAAM,6CAA6C,IAAI,IAAI;CAC3D,KAAK,MAAM,aAAa,kBAAkB;EACzC,MAAM,kBAAkB,CAAC;EACzB,2BAA2B,IAAI,WAAW,eAAe;EACzD,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,UAAU,MAAM,GAAG;GAClE,MAAM,mBAAmB,MAAM,KAAK,OAAO,aAAa,wBAAwB,IAAI;GACpF,IAAI,qBAAqB,KAAK,GAAG;IAChC,IAAI,CAAC,wBAAwB,IAAI,MAAM,OAAO,GAAG,+BAA+B,KAAK;SAChF,IAAI,YAAY,KAAK,GAAG,cAAc,KAAK,KAAK;SAChD,gBAAgB,aAAa;IAClC;GACD;GACA,gBAAgB,aAAa;GAC7B,IAAI,YAAY,KAAK,GAAG;IACvB,YAAY,KAAK;KAChB,MAAM;KACN,SAAS,SAAS,MAAM,KAAK,sBAAsB,iBAAiB,KAAK,CAAC,EAAE,KAAK,KAAK,UAAU,KAAK;KACrG,GAAG,iBAAiB,MAAM,SAAS,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,YAAY,MAAM,KAAK,QAAQ,MAAM,OAAO,CAAC;IACvG,CAAC;IACD;GACD;GACA,IAAI,CAAC,wBAAwB,IAAI,MAAM,OAAO,GAAG,+BAA+B,KAAK;EACtF;CACD;CACA,MAAM,aAAa,wBAAwB;EAC1C,YAAY;EACZ;EACA;EACA,wBAAwB,MAAM;EAC9B,eAAe;GACd,QAAQ,MAAM,OAAO;GACrB,QAAQ,MAAM,OAAO;GACrB,aAAa,MAAM;GACnB,WAAW,MAAM;GACjB,UAAU,OAAO,QAAQ,cAAc,OAAO,IAAI,CAAC,CAAC;GACpD,aAAa,EAAE,OAAO,MAAM;IAC3B,YAAY,aAAa,UAAU,CAAC,CAAC;GACtC,EAAE;GACF,GAAG,UAAU,uBAAuB,MAAM,mBAAmB;EAC9D;EACA;CACD,CAAC;CACD,MAAM,yBAAyB,WAAW;CAC1C,MAAM,cAAc,WAAW;CAC/B,MAAM,mBAAmB,OAAO,YAAY,MAAM,KAAK,cAAc,CAAC,QAAQ,YAAY,CAAC,OAAO,MAAM,MAAM,CAAC,CAAC;CAChH,MAAM,6BAA6B,gCAAgC,MAAM,sBAAsB;CAC/F,MAAM,oBAAoB,CAAC;CAC3B,MAAM,yBAAyB;EAC9B,QAAQ,MAAM,OAAO;EACrB,QAAQ,MAAM,OAAO;EACrB,GAAG,UAAU,uBAAuB,MAAM,mBAAmB;EAC7D,aAAa,MAAM;EACnB,WAAW,MAAM;EACjB,UAAU,OAAO,QAAQ,cAAc,OAAO,IAAI,CAAC,CAAC;EACpD,aAAa,EAAE,OAAO,MAAM;GAC3B,YAAY,aAAa,UAAU,CAAC,CAAC;EACtC,EAAE;EACF,UAAU;CACX;CACA,MAAM,qBAAqB,IAAI,IAAI,aAAa,KAAK,EAAE,OAAO,kBAAkB,CAAC,OAAO,WAAW,CAAC,CAAC;CACrG,MAAM,qBAAqB,UAAU;EACpC,MAAM,cAAc,mBAAmB,IAAI,KAAK;EAChD,OAAO,gBAAgB,KAAK,IAAI,KAAK,IAAI;GACxC;GACA,WAAW,YAAY,OAAO,aAAa;EAC5C;CACD;CACA,MAAM,6CAA6C,IAAI,IAAI;CAC3D,MAAM,2BAA2B,MAAM,WAAW;EACjD,KAAK,MAAM,OAAO,MAAM;GACvB,IAAI,WAAW,2BAA2B,IAAI,IAAI,WAAW;GAC7D,IAAI,aAAa,KAAK,GAAG;IACxB,WAAW,CAAC;IACZ,2BAA2B,IAAI,IAAI,aAAa,QAAQ;GACzD;GACA,MAAM,OAAO,SAAS,IAAI,eAAe,CAAC;GAC1C,SAAS,IAAI,cAAc;GAC3B,IAAI,OAAO,OAAO,MAAM,IAAI,GAAG,GAAG;IACjC,MAAM,QAAQ,OAAO,OAAO,MAAM,CAAC,CAAC,MAAM,cAAc,UAAU,SAAS,IAAI,GAAG;IAClF,UAAU,UAAU,KAAK,GAAG,oCAAoC;IAChE,YAAY,cAAc;KACzB,MAAM;KACN,SAAS,iBAAiB,IAAI,WAAW,kBAAkB,IAAI,YAAY,aAAa,IAAI,IAAI;KAChG,GAAG,iBAAiB,MAAM,SAAS,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG;IAC1D,CAAC;IACD;GACD;GACA,KAAK,IAAI,OAAO,IAAI;EACrB;CACD;CACA,KAAK,MAAM,CAAC,WAAW,oBAAoB,4BAA4B,wBAAwB,iCAAiC,iBAAiB,UAAU,IAAI,4BAA4B,wBAAwB,cAAc,mBAAmB,MAAM,OAAO,GAAG,eAAe;CACnR,MAAM,8BAA8B,2BAA2B,IAAI,kBAAkB,CAAC,GAAG;CACzF,IAAI,gCAAgC,KAAK,GACnC;OAAA,MAAM,QAAQ,OAAO,KAAK,2BAA2B,GAAG,IAAI,OAAO,OAAO,kBAAkB,IAAI,GAAG;GACvG,MAAM,aAAa,MAAM,YAAY,iBAAiB,OAAO;GAC7D,UAAU,eAAe,KAAK,GAAG,iCAAiC;GAClE,YAAY,cAAc;IACzB,MAAM;IACN,SAAS,cAAc,mBAAmB,WAAW,KAAK;IAC1D,GAAG,iBAAiB,MAAM,SAAS,WAAW,KAAK,MAAM,CAAC,CAAC,GAAG;GAC/D,CAAC;EACF;;CAED,MAAM,cAAc,6BAA6B;EAChD,cAAc,OAAO,OAAO,MAAM,YAAY,UAAU;EACxD,SAAS,MAAM;EACf,aAAa,MAAM;EACnB;EACA,qBAAqB;EACrB;EACA,aAAa,MAAM;EACnB;EACA;EACA;EACA;EACA,gBAAgB,MAAM,wBAAwB;CAC/C,CAAC;CACD,MAAM,6BAA6B,IAAI,IAAI;CAC3C,MAAM,qBAAqB,CAAC;CAC5B,MAAM,yBAAyB,CAAC;CAChC,MAAM,oBAAoB,CAAC;CAC3B,MAAM,yBAAyB,CAAC;CAChC,MAAM,6CAA6C,IAAI,IAAI;CAC3D,MAAM,oDAAoD,IAAI,IAAI;CAClE,MAAM,eAAe,sBAAsB;EAC1C;EACA,qBAAqB;EACrB;EACA;EACA;EACA,SAAS,MAAM;EACf;EACA;EACA,aAAa,MAAM;EACnB,WAAW,MAAM;EACjB;CACD,CAAC;CACD,MAAM,mBAAmB;EACxB,OAAO,IAAI,IAAI,aAAa,KAAK,gBAAgB,CAAC,YAAY,MAAM,WAAW,CAAC,CAAC;EACjF,iBAAiB,IAAI,IAAI,eAAe,KAAK,kBAAkB,CAAC,cAAc,MAAM,IAAI,IAAI,OAAO,KAAK,cAAc,MAAM,CAAC,CAAC,CAAC,CAAC;CACjI;CACA,KAAK,MAAM,EAAE,OAAO,iBAAiB,cAAc;EAClD,MAAM,SAAS,sBAAsB;GACpC;GACA;GACA;GACA;GACA,qBAAqB;GACrB;GACA;GACA,UAAU,MAAM,OAAO;GACvB,UAAU,MAAM,OAAO;GACvB,wBAAwB,MAAM;GAC9B;GACA;GACA;GACA,yBAAyB,MAAM;GAC/B,SAAS,MAAM;GACf;GACA,aAAa,MAAM;GACnB;GACA;GACA,cAAc,MAAM;GACpB,GAAG,2BAA2B,OAAO,IAAI,EAAE,2BAA2B,IAAI,CAAC;GAC3E,aAAa,MAAM;GACnB;GACA,gCAAgC;GAChC;EACD,CAAC;EACD,WAAW,IAAI,OAAO;GACrB,GAAG,OAAO;GACV;EACD,CAAC;EACD,mBAAmB,KAAK,GAAG,OAAO,kBAAkB;EACpD,uBAAuB,KAAK,GAAG,OAAO,sBAAsB;EAC5D,kBAAkB,KAAK,GAAG,OAAO,iBAAiB;EAClD,uBAAuB,KAAK,GAAG,OAAO,sBAAsB;EAC5D,IAAI,OAAO,oBAAoB,SAAS,GAAG;GAC1C,MAAM,WAAW,2BAA2B,IAAI,KAAK,KAAK,CAAC;GAC3D,2BAA2B,IAAI,OAAO,CAAC,GAAG,UAAU,GAAG,OAAO,mBAAmB,CAAC;EACnF;EACA,IAAI,OAAO,KAAK,OAAO,sBAAsB,CAAC,CAAC,SAAS,GAAG;GAC1D,MAAM,sBAAsB,kCAAkC,IAAI,WAAW,KAAK,CAAC;GACnF,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,OAAO,sBAAsB,GAAG,oBAAoB,aAAa;IAChH,GAAG,oBAAoB,cAAc,CAAC;IACtC,GAAG;GACJ;GACA,kCAAkC,IAAI,aAAa,mBAAmB;EACvE;CACD;CACA,MAAM,EAAE,gBAAgB,mBAAmB,gCAAgC,iBAAiB,EAAE,mBAAmB,CAAC;CAClH,MAAM,iCAAiC,IAAI,IAAI;CAC/C,MAAM,wCAAwC,IAAI,IAAI;CACtD,KAAK,MAAM,CAAC,OAAO,cAAc,YAAY;EAC5C,IAAI,UAAU,IAAI,eAAe,IAAI,OAAO,UAAU,GAAG,OAAO;EAChE,MAAM,mBAAmB,CAAC;EAC1B,IAAI,UAAU,IAAI,iBAAiB,KAAK,UAAU,GAAG,OAAO;EAC5D,KAAK,MAAM,UAAU,UAAU,WAAW,CAAC,GAAG,iBAAiB,KAAK,OAAO,OAAO;EAClF,KAAK,MAAM,SAAS,UAAU,WAAW,CAAC,GAAG,IAAI,MAAM,WAAW,QAAQ,MAAM,YAAY,KAAK,KAAK,MAAM,UAAU,KAAK,GAAG,iBAAiB,KAAK,MAAM,OAAO;EACjK,sBAAsB,IAAI,OAAO,gBAAgB;CAClD;CACA,4BAA4B;EAC3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS,MAAM;CAChB,CAAC;CACD,KAAK,MAAM,CAAC,WAAW,cAAc,4BAA4B;EAChE,MAAM,WAAW,eAAe,IAAI,SAAS;EAC7C,IAAI,UAAU,SAAS,KAAK,GAAG,SAAS;OACnC,eAAe,IAAI,WAAW,CAAC,GAAG,SAAS,CAAC;CAClD;CACA,MAAM,kBAAkB,IAAI,IAAI,aAAa,KAAK,EAAE,OAAO,kBAAkB,CAAC,OAAO;EACpF;EACA;EACA,KAAK,mBAAmB,aAAa,MAAM,IAAI;CAChD,CAAC,CAAC,CAAC;CACH,MAAM,wBAAwB,OAAO,cAAc;EAClD,MAAM,QAAQ,WAAW,IAAI,KAAK,CAAC,EAAE,OAAO,MAAM,SAAS,KAAK,cAAc,SAAS;EACvF,IAAI,UAAU,KAAK,KAAK,EAAE,gBAAgB,QAAQ,OAAO;GACxD,OAAO;IACN,KAAK,KAAK;IACV,UAAU;IACV,MAAM;IACN,aAAa,KAAK;GACnB;GACA,UAAU,KAAK;EAChB;EACA,MAAM,SAAS,oBAAoB,QAAQ,MAAM,iBAAiB,KAAK;EACvE,MAAM,UAAU,WAAW,KAAK,IAAI,KAAK,IAAI,kBAAkB,QAAQ,MAAM,WAAW;EACxF,OAAO;GACN,OAAO;IACN,KAAK;KACJ,SAAS,MAAM,WAAW;KAC1B,GAAG,UAAU,cAAc,MAAM,WAAW,eAAe,KAAK,IAAI,KAAK,IAAI,UAAU,MAAM,WAAW,UAAU,CAAC;IACpH;IACA,UAAU,MAAM;IAChB,MAAM,MAAM,SAAS;IACrB,aAAa,SAAS,KAAK,QAAQ,MAAM,KAAK,EAAE,YAAY,KAAK,IAAI,KAAK;GAC3E;GACA,UAAU,QAAQ;EACnB;CACD;CACA,MAAM,EAAE,2BAA2B,kBAAkB,aAAa,gCAAgC,iBAAiB,MAAM,aAAa,MAAM,SAAS,QAAQ,gBAAgB,sBAAsB,MAAM,aAAa,WAAW,WAAW;CAC5O,MAAM,iCAAiC,IAAI,IAAI;CAC/C,KAAK,MAAM,CAAC,YAAY,gBAAgB,kBAAkB,IAAI,EAAE,aAAa,YAAY,MAAM,YAAY,KAAK,MAAM,KAAK,IAAI,eAAe,IAAI,UAAU;CAC5J,KAAK,MAAM,cAAc,gBAAgB;EACxC,MAAM,WAAW,iBAAiB,IAAI,UAAU;EAChD,UAAU,aAAa,KAAK,GAAG,+DAA+D,WAAW,+BAA+B;EACxI,MAAM,cAAc,SAAS,MAAM;EACnC,IAAI,SAAS,gBAAgB,SAAS,KAAK,aAAa;GACvD,MAAM,eAAe,WAAW,SAAS,aAAa,aAAa,IAAI;GACvE,MAAM,YAAY,WAAW,SAAS,KAAK,aAAa,SAAS,KAAK,MAAM,MAAM,IAAI;GACtF,YAAY,KAAK;IAChB,MAAM;IACN,SAAS,UAAU,aAAa,oBAAoB,UAAU,wDAAwD,UAAU,iCAAiC,SAAS,KAAK,YAAY,wBAAwB,aAAa;IAChO,GAAG,SAAS,OAAO,GAAG,SAAS,IAAI;GACpC,CAAC;EACF;EACA,KAAK,MAAM,aAAa,SAAS,MAAM,YAAY;GAClD,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE,aAAa,OAAO,MAAM,MAAM;GAC3D,YAAY,KAAK;IAChB,MAAM;IACN,SAAS,UAAU,YAAY,sDAAsD,SAAS,KAAK,MAAM,KAAK,8IAA8I,SAAS,KAAK,MAAM,KAAK;IACrR,GAAG,iBAAiB,MAAM,SAAS,UAAU,KAAK,MAAM,CAAC,CAAC,GAAG,YAAY,UAAU,KAAK,QAAQ,MAAM,OAAO,CAAC;GAC/G,CAAC;EACF;CACD;CACA,MAAM,EAAE,YAAY,qBAAqB,+BAA+B,kCAAkC,MAAM,KAAK,aAAa,CAAC,QAAQ,YAAY;EACtJ,GAAG;EACH,GAAG,eAAe,IAAI,MAAM,IAAI,EAAE,WAAW,CAAC,GAAG,eAAe,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,UAAU,eAAe,KAAK,WAAW,MAAM,SAAS,CAAC,EAAE,IAAI,CAAC;CAChK,EAAE,GAAG,kBAAkB,gBAAgB,kBAAkB;CACzD,MAAM,EAAE,YAAY,qBAAqB,wBAAwB,oCAAoC,qBAAqB,kBAAkB,gBAAgB,kBAAkB;CAC9K,IAAI,YAAY,SAAS,MAAM,MAAM,iBAAiB,UAAU,KAAK,GAAG,OAAO,MAAM;EACpF,SAAS;EACT,aAAa,CAAC,GAAG,MAAM,mBAAmB,CAAC,GAAG,GAAG,YAAY,WAAW,CAAC;CAC1E,CAAC;CACD,MAAM,EAAE,oBAAoB;CAC5B,MAAM,iCAAiC,YAAY;EAClD,MAAM,WAAW,2BAA2B,IAAI,QAAQ,EAAE;EAC1D,MAAM,oBAAoB,kCAAkC,IAAI,QAAQ,EAAE;EAC1E,IAAI,aAAa,KAAK,KAAK,sBAAsB,KAAK,GAAG,OAAO,gBAAgB,OAAO;EACvF,IAAI,sBAAsB,KAAK,GACzB;QAAA,MAAM,QAAQ,OAAO,KAAK,iBAAiB,GAAG,IAAI,OAAO,OAAO,QAAQ,SAAS,IAAI,KAAK,aAAa,KAAK,KAAK,QAAQ,UAAU,MAAM,cAAc,sCAAsC,iBAAiB,KAAK,kBAAkB,QAAQ,GAAG,2JAA2J,EAAE,MAAM;IACvZ;IACA,aAAa,QAAQ;GACtB,EAAE,CAAC;EAAA;EAEJ,MAAM,iBAAiB;GACtB,GAAG,QAAQ,QAAQ;GACnB,GAAG,WAAW;EACf;EACA,MAAM,WAAW;GAChB,GAAG;GACH,SAAS;IACR,GAAG,QAAQ;IACX,GAAG;IACH,GAAG;IACH,GAAG,OAAO,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,EAAE,UAAU,eAAe,IAAI,CAAC;GAC7E;EACD;EACA,OAAO,gBAAgB,QAAQ;CAChC;CACA,IAAI;CACJ,IAAI;EACH,WAAW,+BAA+B;GACzC,QAAQ,MAAM;GACd,cAAc,MAAM;GACpB,UAAU,kBAAkB,SAAS,IAAI,oBAAoB,KAAK;GAClE,GAAG,UAAU,cAAc,+BAA+B,MAAM,QAAQ,CAAC,GAAG,kBAAkB,CAAC,CAAC,KAAK,cAAc,GAAG,MAAM,yBAAyB,CAAC;GACtJ,GAAG,OAAO,KAAK,gBAAgB,CAAC,CAAC,SAAS,IAAI,EAAE,OAAO,iBAAiB,IAAI,CAAC;GAC7E,GAAG,2BAA2B,OAAO,IAAI,EAAE,YAAY,CAAC,GAAG,2BAA2B,KAAK,CAAC,EAAE,IAAI,CAAC;GACnG,iBAAiB;GACjB,GAAG,UAAU,gBAAgB,aAAa,SAAS,IAAI,eAAe,KAAK,CAAC;GAC5E,QAAQ;EACT,GAAG,MAAM,aAAa,MAAM,UAAU,MAAM;CAC7C,SAAS,OAAO;EACf,MAAM,UAAU,qBAAqB,OAAO,sBAAsB;EAClE,IAAI,YAAY,KAAK,GAAG,MAAM;EAC9B,YAAY,KAAK;GAChB,MAAM;GACN,SAAS,QAAQ;GACjB,GAAG,QAAQ,GAAG;EACf,CAAC;EACD,OAAO,MAAM;GACZ,SAAS;GACT,aAAa,YAAY,WAAW;EACrC,CAAC;CACF;CACA,MAAM,qBAAqB,CAAC;CAC5B,KAAK,MAAM,CAAC,aAAa,mBAAmB,OAAO,QAAQ,SAAS,OAAO,UAAU,GAAG,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,eAAe,MAAM,GAAG;EAC/J,MAAM,aAAa,mBAAmB,aAAa,SAAS;EAC5D,UAAU,CAAC,OAAO,OAAO,oBAAoB,UAAU,GAAG,mEAAmE,YAAY,GAAG,UAAU,yBAAyB;EAC/K,mBAAmB,cAAc;CAClC;CACA,MAAM,kBAAkB,6BAA6B,MAAM,OAAO;CAClE,MAAM,oBAAoB,oBAAoB,oBAAoB,eAAe,2BAA2B,kBAAkB,UAAU,4BAA4B,qBAAqB,eAAe;CACxM,IAAI,gBAAgB,SAAS,GAAG,OAAO,MAAM;EAC5C,SAAS;EACT,aAAa,gBAAgB,WAAW;CACzC,CAAC;CACD,MAAM,gBAAgB,OAAO,YAAY,OAAO,QAAQ,SAAS,KAAK,CAAC,CAAC,QAAQ,GAAG,oBAAoB,CAAC,iBAAiB,IAAI,mBAAmB,eAAe,WAAW,eAAe,KAAK,CAAC,CAAC,CAAC;CACjM,OAAO,GAAG;EACT,GAAG;EACH,OAAO;EACP,QAAQ,EAAE,YAAY,OAAO,YAAY,OAAO,QAAQ,SAAS,OAAO,UAAU,CAAC,CAAC,KAAK,CAAC,aAAa,oBAAoB,CAAC,aAAa;GACxI,QAAQ,OAAO,YAAY,OAAO,QAAQ,eAAe,MAAM,CAAC,CAAC,KAAK,CAAC,WAAW,WAAW,CAAC,WAAW,kBAAkB,mBAAmB,aAAa,SAAS,MAAM,KAAK,CAAC,CAAC;GACjL,GAAG,UAAU,QAAQ,eAAe,IAAI;GACxC,GAAG,UAAU,gBAAgB,eAAe,YAAY;EACzD,CAAC,CAAC,CAAC,EAAE;CACN,CAAC;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ir-BjC1VOuq.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/ir.d.mts"],"mappings":";;;;;;;;;KAOK,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;uBAyBX,0BAA0B,kBAAkB,SAAS,wBAAwB,mBAAmB;qBAClG,yBAAyB,oBAAoB;mBAC/C;mBACA;mBACA;EACjB,YAAY,0BAA0B,oBAAoB,4BAA4B,2BAA2B,2BAA2B,YAAY,KAAK;EAC7J,oBAAoB,UAAU,YAAY,WAAW,gBAAgB;EACrE,kBAAkB,UAAU,YAAY;EACxC,0DAA0D;EAC1D,kDAAkD;EAClD;aACW,0DAA0D;aAC1D,kDAAkD;;YAEnD,0BAA0B,gBAAgB,SAAS;YACnD,kBAAkB,WAAW,SAAS,cAAc,SAAS;YAC7D,uBAAuB,YAAY,SAAS,eAAe,4BAA4B,SAAS,eAAe;YAC/G,yBAAyB,cAAc,KAAK,0BAA0B,YAAY;YAClF,wBAAwB,OAAO,sBAAsB;YACrD,wBAAwB,UAAU,SAAS,cAAc;;;;;;;;;;;YAWzD,0BAA0B,SAAS,SAAS,eAAe,SAAS,6BAA6B,eAAe,eAAe;UACjI;YACE,oBAAoB,iBAAiB;UACvC;;;;;;;;;;;;;;;;;;cAkBI,8BAA8B,0BAA0B,SAAS;EAC7E;;;;;;;;;;;;;;;;;;;;;;;;uBAwBqB,sBAAsB,WAAW,oBAAoB,eAAe,WAAW;EACpG,aAAa,SAAS,oBAAoB,WAAW,WAAW;;;;;;;qBAO7C,sBAAsB,SAAS,oBAAoB,WAAW,oBAAoB;;;;;;qBAMlF,uBAAuB,SAAS,oBAAoB,WAAW,oBAAoB"}
|
package/dist/ir-I-xciGUH.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ir-I-xciGUH.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/ir.mjs"],"sourcesContent":["import { n as SqlContractSerializerBase, t as SqlContractSerializer } from \"./sql-contract-serializer-sMY3prTx.mjs\";\n//#region src/core/ir/sql-schema-verifier-base.ts\n/**\n* SQL family `SchemaVerifier` abstract base. Centralises the SQL-shared\n* walk (table-by-table + column-by-column matching keyed by\n* `(namespace.id, name)`, FK / unique / index comparisons via the\n* shared satisfaction helpers in `sql-schema-diff.ts`) and exposes a protected hook\n* for target extensions (Postgres functions, RLS policies, future\n* target-only kinds).\n*\n* The base accumulates issues in a single buffer and returns the\n* combined result; the per-SPI family abstract handles the result\n* envelope shape so concrete subclasses focus on target-specific\n* verification logic.\n*\n* The protected hooks (`verifyCommonSqlSchema`,\n* `verifyTargetExtensions`) carry the stable base API that target\n* subclasses (`PostgresSchemaVerifier`, `SqliteSchemaVerifier`)\n* compile against; the SQL-shared walk implementation will be lifted\n* into this base when the verifier behaviour migrates off the\n* legacy adapter shells.\n*/\nvar SqlSchemaVerifierBase = class {\n\tverifySchema(options) {\n\t\tconst issues = [];\n\t\tissues.push(...this.verifyCommonSqlSchema(options));\n\t\tissues.push(...this.verifyTargetExtensions(options));\n\t\treturn {\n\t\t\tok: issues.length === 0,\n\t\t\tissues\n\t\t};\n\t}\n};\n//#endregion\nexport { SqlContractSerializer, SqlContractSerializerBase, SqlSchemaVerifierBase };\n\n//# sourceMappingURL=ir.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsBA,IAAI,wBAAwB,MAAM;CACjC,aAAa,SAAS;EACrB,MAAM,SAAS,CAAC;EAChB,OAAO,KAAK,GAAG,KAAK,sBAAsB,OAAO,CAAC;EAClD,OAAO,KAAK,GAAG,KAAK,uBAAuB,OAAO,CAAC;EACnD,OAAO;GACN,IAAI,OAAO,WAAW;GACtB;EACD;CACD;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-DHkW6pRr-CFiQojK4.d.mts","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/middleware-DHkW6pRr.d.mts"],"mappings":";;;;;;;;;;;;;;cAac;;;;;;;;;;UAUJ,eAAe;YACb,sBAAsB;;;;;;;UAOxB,cAAc;WACb,KAAK,eAAe;WACpB;WACA,SAAS;;;;;;;;;;KAUf,mBAAmB,kBAAkB,8BAA8B,WAAW,qBAAqB,cAAc,YAAY,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;UAyB9I,mBAAmB,kBAAkB,0BAA0B,iCAAiC;;EAExG,WAAW,iBAAiB,mBAAmB;;;;;;;EAO/C,aAAa,uBAAuB,oBAAoB,KAAK,eAAe,WAAW,UAAU,UAAU;EAC3G,aAAa,KAAK,2BAA2B;;EAE7C,cAAc,SAAS;aACZ,KAAK,sBAAsB;aAC3B;;;;;;;;;;;;;UAaH,2BAA2B,kBAAkB,0BAA0B,iCAAiC,mBAAmB;EACnI;;;;;;;;;;;;;;;;;iBAiBe,yBAAyB,kBAAkB,0BAA0B,yBAAyB,MAAM,mBAAmB,2BAA2B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./middleware-DHkW6pRr-CFiQojK4.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-yBAfiVWn-CzNCthJT.mjs","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/middleware-yBAfiVWn.mjs"],"sourcesContent":["import { t as collectOrderedParamRefs } from \"./util-BBgcP3gI.mjs\";\n//#region src/middleware/param-ref-mutator.ts\n/**\n* Build a {@link SqlParamRefMutatorInternal} for the given lowered plan.\n*\n* The mutator captures `plan.params` by reference and walks\n* `plan.ast` (via `collectOrderedParamRefs`) on demand to build\n* entries. Mutations write to a lazily-allocated working copy so the\n* fast path (no mutation) preserves bit-for-bit reference identity to\n* the original `plan.params`.\n*\n* Threading: `plan.ast` carries the canonical `ParamRef` ordering used\n* by every consumer (renderer's `$N` index map, encode-side metadata\n* walk, etc.). The mutator's `entries()` yields the same order so\n* middleware that filters by codec id sees ParamRefs in the order the\n* runtime will encode them.\n*/\nfunction createSqlParamRefMutator(plan) {\n\tconst originalParams = plan.params;\n\tconst refs = plan.ast ? collectOrderedParamRefs(plan.ast) : [];\n\tlet workingParams;\n\tconst indexOfRef = (handle) => {\n\t\treturn refs.indexOf(handle);\n\t};\n\tconst ensureWorkingParams = () => {\n\t\tif (!workingParams) workingParams = [...originalParams];\n\t\treturn workingParams;\n\t};\n\tconst writeAt = (index, value) => {\n\t\tconst buffer = ensureWorkingParams();\n\t\tbuffer[index] = value;\n\t};\n\tfunction* entries() {\n\t\tconst view = workingParams ?? originalParams;\n\t\tfor (let i = 0; i < refs.length; i++) {\n\t\t\tconst ref = refs[i];\n\t\t\tif (!ref) continue;\n\t\t\tconst handle = ref;\n\t\t\tlet value;\n\t\t\tlet codecId;\n\t\t\tif (ref.kind === \"param-ref\") {\n\t\t\t\tvalue = i < view.length ? view[i] : ref.value;\n\t\t\t\tcodecId = ref.codec?.codecId;\n\t\t\t} else {\n\t\t\t\tvalue = i < view.length ? view[i] : void 0;\n\t\t\t\tcodecId = ref.codec.codecId;\n\t\t\t}\n\t\t\tyield {\n\t\t\t\tref: handle,\n\t\t\t\tvalue,\n\t\t\t\tcodecId\n\t\t\t};\n\t\t}\n\t}\n\tfunction replaceValue(handle, newValue) {\n\t\tconst index = indexOfRef(handle);\n\t\tif (index < 0) return;\n\t\twriteAt(index, newValue);\n\t}\n\tfunction replaceValues(updates) {\n\t\tfor (const { ref, newValue } of updates) {\n\t\t\tconst index = indexOfRef(ref);\n\t\t\tif (index < 0) continue;\n\t\t\twriteAt(index, newValue);\n\t\t}\n\t}\n\treturn {\n\t\tentries,\n\t\treplaceValue,\n\t\treplaceValues,\n\t\tcurrentParams() {\n\t\t\tif (!workingParams) return originalParams;\n\t\t\treturn Object.freeze([...workingParams]);\n\t\t}\n\t};\n}\n//#endregion\nexport { createSqlParamRefMutator as t };\n\n//# sourceMappingURL=middleware-yBAfiVWn.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,SAAS,yBAAyB,MAAM;CACvC,MAAM,iBAAiB,KAAK;CAC5B,MAAM,OAAO,KAAK,MAAM,wBAAwB,KAAK,GAAG,IAAI,CAAC;CAC7D,IAAI;CACJ,MAAM,cAAc,WAAW;EAC9B,OAAO,KAAK,QAAQ,MAAM;CAC3B;CACA,MAAM,4BAA4B;EACjC,IAAI,CAAC,eAAe,gBAAgB,CAAC,GAAG,cAAc;EACtD,OAAO;CACR;CACA,MAAM,WAAW,OAAO,UAAU;EACjC,MAAM,SAAS,oBAAoB;EACnC,OAAO,SAAS;CACjB;CACA,UAAU,UAAU;EACnB,MAAM,OAAO,iBAAiB;EAC9B,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;GACrC,MAAM,MAAM,KAAK;GACjB,IAAI,CAAC,KAAK;GACV,MAAM,SAAS;GACf,IAAI;GACJ,IAAI;GACJ,IAAI,IAAI,SAAS,aAAa;IAC7B,QAAQ,IAAI,KAAK,SAAS,KAAK,KAAK,IAAI;IACxC,UAAU,IAAI,OAAO;GACtB,OAAO;IACN,QAAQ,IAAI,KAAK,SAAS,KAAK,KAAK,KAAK;IACzC,UAAU,IAAI,MAAM;GACrB;GACA,MAAM;IACL,KAAK;IACL;IACA;GACD;EACD;CACD;CACA,SAAS,aAAa,QAAQ,UAAU;EACvC,MAAM,QAAQ,WAAW,MAAM;EAC/B,IAAI,QAAQ,GAAG;EACf,QAAQ,OAAO,QAAQ;CACxB;CACA,SAAS,cAAc,SAAS;EAC/B,KAAK,MAAM,EAAE,KAAK,cAAc,SAAS;GACxC,MAAM,QAAQ,WAAW,GAAG;GAC5B,IAAI,QAAQ,GAAG;GACf,QAAQ,OAAO,QAAQ;EACxB;CACD;CACA,OAAO;EACN;EACA;EACA;EACA,gBAAgB;GACf,IAAI,CAAC,eAAe,OAAO;GAC3B,OAAO,OAAO,OAAO,CAAC,GAAG,aAAa,CAAC;EACxC;CACD;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migration-DWLbMM34.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/migration.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA0BuB,aAAa,iBAAiB,sBAAsB,mCAAmC,cAAc,SAAS,cAAc,SAAS,aAAa,YAAY,SAAS,cAAc,SAAS,qBAAqB,UAAU,0BAA0B,kBAAkB,WAAW,OAAO;;;;;;;;;;;MAW5S"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migration-Dy_4Wmiy.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/migration.mjs"],"sourcesContent":["import { deriveProvidedInvariants } from \"@internal/migration-tools/invariants\";\nimport { Migration } from \"@internal/migration-tools/migration\";\nimport { isThenable } from \"@internal/utils/promise\";\n//#region src/core/sql-migration.ts\n/**\n* Family-owned base class for SQL migrations.\n*\n* Generic in `TDetails` (family plan target details, e.g. Postgres vs SQLite)\n* and in `TTargetId` (the literal target identifier, e.g. `'postgres'`).\n*\n* Adapters (Postgres, SQLite, …) extend this with a concrete `TDetails` and\n* a fixed `TTargetId` literal, so the public `Migration<TOp>` base sees the\n* fully concrete operation shape. Target-free code in SQL family / tooling\n* parameterises over `TDetails` (and usually `TTargetId = string`).\n*\n* The `Start` / `End` contract generics are forwarded to the framework\n* `Migration` base so the derived `describe()` and the per-target view getters\n* (`PostgresMigration` / `SqliteMigration`) carry each migration's precise\n* contract types. The view getters themselves live on the per-target bases\n* because the SQL ContractView shapes differ per target (SQLite unwraps its\n* sole namespace to the root; Postgres is schema-qualified).\n*\n* Keeps target-free contract/runtime features in the family layer while\n* letting adapters own target shape.\n*/\nvar SqlMigration = class extends Migration {\n\t/**\n\t* Sorted, deduplicated invariant ids declared by this migration's\n\t* data-transform ops. Derived from a fresh read of the operations (`Migration.readOperations`) so the field remains\n\t* consistent with the operation list — planner-built plans (`db init`,\n\t* `db update`) yield `[]` because they emit no data-transform ops.\n\t*\n\t* Required by `SqlMigrationPlan.providedInvariants` (tightened from\n\t* optional at the SQL-family layer); the framework-level\n\t* `MigrationPlan.providedInvariants?` stays optional.\n\t*/\n\tget providedInvariants() {\n\t\treturn deriveProvidedInvariants(Migration.readOperations(this).filter((op) => !isThenable(op)));\n\t}\n};\n//#endregion\nexport { SqlMigration as Migration };\n\n//# sourceMappingURL=migration.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,IAAI,eAAe,cAAc,UAAU;;;;;;;;;;;CAW1C,IAAI,qBAAqB;EACxB,OAAO,yBAAyB,UAAU,eAAe,IAAI,CAAC,CAAC,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC/F;AACD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"naming-BcD36g9T-DFyaudUa.d.mts","names":[],"sources":["../../../../2-sql/1-core/schema-ir/dist/naming-BcD36g9T.d.mts"],"mappings":";;iBACiB,iBAAiB,mBAAmB;UAC3C;;WAEC;;WAEA;;;;;;;;;;;KAWN;WACM;WACA;;WAEA;IACP;;iBAEa,OAAO,QAAQ;;;;;;;;iBAQf,SAAS,cAAc,6BAA6B;;;;;;iBAMpD,YAAY,cAAc,6BAA6B;;;;;;;;;;;;;;iBAcvD,iBAAiB,eAAe;;;;;;;iBAOhC,eAAe,gBAAgB;;;;;;;;iBAQ/B,cAAc,eAAe;;;;;;;;;;;;;;;;;;iBAkB7B,iBAAiB;;;;;;;;;;;;;;;iBAejB,wBAAwB;;;;;;KAMpC;;;;;;;;iBAQY,uBAAuB,mBAAmB,oBAAoB,MAAM;;;;;;;;;;;;;iBAapE,qBAAqB,mBAAmB,aAAa,mBAAmB;UAC/E;WACC;WACA;WACA;WACA;WACA;WACA,UAAU;;;;;;;;;;;;;;;;;;;;iBAoBJ,0BAA0B;iBAC1B,wBAAwB,OAAO;;;;;;;;;cASlC;;;;;iBAKG,2BAA2B,gBAAgB;;;;;;;iBAO3C,8BAA8B"}
|