From 488252d19d1a869de264e5844e24769d9b83bd5f Mon Sep 17 00:00:00 2001 From: Sam Valladares Date: Sat, 25 Jul 2026 21:58:03 +0800 Subject: [PATCH] =?UTF-8?q?release:=20v2.3.0=20=E2=80=94=20Cognitive=20Obs?= =?UTF-8?q?ervatory=20+=20Zero-Knowledge=20Sync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Version bumps across all 9 manifests (incl. the mcpb manifest stale at 2.2.0 since v2.2.1) + Cargo.lock + rebuilt embedded dashboard. Full changelog for the 42 audit fixes (#139/#140/#141), the consolidation opt-out (#142, thanks @Vrakoss), the WebGPU Cognitive Observatory, and the zero-knowledge cloud-sync client. Gates: cargo test 1580/0, clippy clean, svelte-check 937/0/0, build green. Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 163 +- Cargo.lock | 4 +- Cargo.toml | 2 +- .../_app/immutable/assets/0.BRosXaQv.css | 1 + .../_app/immutable/assets/0.BRosXaQv.css.br | Bin 0 -> 12277 bytes .../_app/immutable/assets/0.BRosXaQv.css.gz | Bin 0 -> 14736 bytes .../_app/immutable/assets/0.Cf27G70K.css | 1 - .../_app/immutable/assets/0.Cf27G70K.css.br | Bin 11978 -> 0 bytes .../_app/immutable/assets/0.Cf27G70K.css.gz | Bin 14393 -> 0 bytes .../{17.ChjqzJHo.css => 18.ChjqzJHo.css} | 0 ...{17.ChjqzJHo.css.br => 18.ChjqzJHo.css.br} | Bin ...{17.ChjqzJHo.css.gz => 18.ChjqzJHo.css.gz} | Bin .../{18.BnHgRQtR.css => 19.BnHgRQtR.css} | 0 ...{18.BnHgRQtR.css.br => 19.BnHgRQtR.css.br} | Bin ...{18.BnHgRQtR.css.gz => 19.BnHgRQtR.css.gz} | Bin .../{19.C2qtIyf6.css => 20.C2qtIyf6.css} | 0 ...{19.C2qtIyf6.css.br => 20.C2qtIyf6.css.br} | Bin ...{19.C2qtIyf6.css.gz => 20.C2qtIyf6.css.gz} | Bin .../{20.CO50G5tF.css => 21.CO50G5tF.css} | 0 ...{20.CO50G5tF.css.br => 21.CO50G5tF.css.br} | 0 ...{20.CO50G5tF.css.gz => 21.CO50G5tF.css.gz} | Bin .../{22.DKhUrxcR.css => 23.DKhUrxcR.css} | 0 ...{22.DKhUrxcR.css.br => 23.DKhUrxcR.css.br} | Bin ...{22.DKhUrxcR.css.gz => 23.DKhUrxcR.css.gz} | Bin .../assets/ObservatoryStage.CnF5Ezel.css | 1 + .../assets/ObservatoryStage.CnF5Ezel.css.br | Bin 0 -> 968 bytes .../assets/ObservatoryStage.CnF5Ezel.css.gz | Bin 0 -> 1164 bytes .../build/_app/immutable/chunks/60_R_Vbt.js | 2 - .../_app/immutable/chunks/60_R_Vbt.js.br | Bin 3082 -> 0 bytes .../_app/immutable/chunks/60_R_Vbt.js.gz | Bin 3390 -> 0 bytes .../build/_app/immutable/chunks/9-jplUL5.js | 1 + .../_app/immutable/chunks/9-jplUL5.js.br | Bin 0 -> 284 bytes .../_app/immutable/chunks/9-jplUL5.js.gz | Bin 0 -> 319 bytes .../build/_app/immutable/chunks/BFpewGai.js | 1 + .../_app/immutable/chunks/BFpewGai.js.br | Bin 0 -> 949 bytes .../_app/immutable/chunks/BFpewGai.js.gz | Bin 0 -> 1069 bytes .../chunks/{CqMQEF-F.js => BGTfzpXY.js} | 2 +- .../_app/immutable/chunks/BGTfzpXY.js.br | Bin 0 -> 1610 bytes .../_app/immutable/chunks/BGTfzpXY.js.gz | Bin 0 -> 1765 bytes .../_app/immutable/chunks/BHDZZvku.js.br | Bin 653 -> 0 bytes .../_app/immutable/chunks/BHDZZvku.js.gz | Bin 746 -> 0 bytes .../_app/immutable/chunks/BLadwbF7.js.br | Bin 324 -> 0 bytes .../_app/immutable/chunks/BLadwbF7.js.gz | Bin 344 -> 0 bytes .../chunks/{EqHb-9AZ.js => BNUnVJrY.js} | 2 +- .../_app/immutable/chunks/BNUnVJrY.js.br | Bin 0 -> 272 bytes .../_app/immutable/chunks/BNUnVJrY.js.gz | Bin 0 -> 321 bytes .../build/_app/immutable/chunks/BWk3o_TN.js | 1 - .../_app/immutable/chunks/BWk3o_TN.js.br | Bin 877 -> 0 bytes .../_app/immutable/chunks/BWk3o_TN.js.gz | Bin 994 -> 0 bytes .../_app/immutable/chunks/BZQzXWp7.js.br | Bin 3971 -> 0 bytes .../_app/immutable/chunks/BZQzXWp7.js.gz | Bin 5492 -> 0 bytes .../build/_app/immutable/chunks/BhIgFntf.js | 1 - .../_app/immutable/chunks/BhIgFntf.js.br | Bin 933 -> 0 bytes .../_app/immutable/chunks/BhIgFntf.js.gz | Bin 1052 -> 0 bytes .../build/_app/immutable/chunks/BjbQ7qSx.js | 1 + .../_app/immutable/chunks/BjbQ7qSx.js.br | Bin 0 -> 785 bytes .../_app/immutable/chunks/BjbQ7qSx.js.gz | Bin 0 -> 843 bytes .../_app/immutable/chunks/Bxs5UR9-.js.br | Bin 2611 -> 0 bytes .../_app/immutable/chunks/Bxs5UR9-.js.gz | Bin 2947 -> 0 bytes .../build/_app/immutable/chunks/ByYB047u.js | 1 - .../_app/immutable/chunks/ByYB047u.js.br | Bin 785 -> 0 bytes .../_app/immutable/chunks/ByYB047u.js.gz | Bin 844 -> 0 bytes .../build/_app/immutable/chunks/C-SOZ1Oi.js | 4118 ----------------- .../_app/immutable/chunks/C-SOZ1Oi.js.br | Bin 175072 -> 0 bytes .../_app/immutable/chunks/C-SOZ1Oi.js.gz | Bin 213100 -> 0 bytes .../build/_app/immutable/chunks/C-rZhKee.js | 1 + .../_app/immutable/chunks/C-rZhKee.js.br | Bin 0 -> 898 bytes .../_app/immutable/chunks/C-rZhKee.js.gz | Bin 0 -> 1027 bytes .../chunks/{DrafHjYM.js => C4Tpoo1i.js} | 2 +- .../_app/immutable/chunks/C4Tpoo1i.js.br | Bin 0 -> 518 bytes .../_app/immutable/chunks/C4Tpoo1i.js.gz | Bin 0 -> 581 bytes .../_app/immutable/chunks/C8kRUgax.js.br | Bin 4626 -> 0 bytes .../_app/immutable/chunks/C8kRUgax.js.gz | Bin 5104 -> 0 bytes .../build/_app/immutable/chunks/C98jjAli.js | 1 + .../_app/immutable/chunks/C98jjAli.js.br | Bin 0 -> 271 bytes .../_app/immutable/chunks/C98jjAli.js.gz | Bin 0 -> 282 bytes .../chunks/{BLadwbF7.js => C9BpaXFO.js} | 2 +- .../_app/immutable/chunks/C9BpaXFO.js.br | Bin 0 -> 318 bytes .../_app/immutable/chunks/C9BpaXFO.js.gz | Bin 0 -> 345 bytes .../chunks/{CnZzd20v.js => CFefTDKL.js} | 2 +- .../_app/immutable/chunks/CFefTDKL.js.br | Bin 0 -> 466 bytes .../_app/immutable/chunks/CFefTDKL.js.gz | Bin 0 -> 518 bytes .../_app/immutable/chunks/CLrXVRi2.js.br | Bin 1558 -> 0 bytes .../_app/immutable/chunks/CLrXVRi2.js.gz | Bin 1739 -> 0 bytes .../chunks/{CLrXVRi2.js => CRPZuD1T.js} | 2 +- .../_app/immutable/chunks/CRPZuD1T.js.br | Bin 0 -> 1559 bytes .../_app/immutable/chunks/CRPZuD1T.js.gz | Bin 0 -> 1738 bytes .../chunks/{wpu9U-D0.js => CW7md74C.js} | 2 +- .../_app/immutable/chunks/CW7md74C.js.br | Bin 0 -> 9260 bytes .../chunks/{wpu9U-D0.js.gz => CW7md74C.js.gz} | Bin 10302 -> 10306 bytes .../build/_app/immutable/chunks/CZfHMhLI.js | 1 - .../_app/immutable/chunks/CZfHMhLI.js.br | Bin 811 -> 0 bytes .../_app/immutable/chunks/CZfHMhLI.js.gz | Bin 945 -> 0 bytes .../chunks/{Bxs5UR9-.js => CaEJGM7b.js} | 2 +- .../_app/immutable/chunks/CaEJGM7b.js.br | Bin 0 -> 2621 bytes .../_app/immutable/chunks/CaEJGM7b.js.gz | Bin 0 -> 2949 bytes .../chunks/{DcKTNC6e.js => CaR6YsRq.js} | 2 +- .../_app/immutable/chunks/CaR6YsRq.js.br | Bin 0 -> 661 bytes .../_app/immutable/chunks/CaR6YsRq.js.gz | Bin 0 -> 731 bytes .../build/_app/immutable/chunks/Cc0l8Nd4.js | 2 + .../_app/immutable/chunks/Cc0l8Nd4.js.br | Bin 0 -> 3087 bytes .../_app/immutable/chunks/Cc0l8Nd4.js.gz | Bin 0 -> 3397 bytes .../_app/immutable/chunks/CfobEeQC.js.br | Bin 114755 -> 0 bytes .../_app/immutable/chunks/CfobEeQC.js.gz | Bin 139352 -> 0 bytes .../build/_app/immutable/chunks/ChcFQRZo.js | 1 + .../_app/immutable/chunks/ChcFQRZo.js.br | 2 + .../_app/immutable/chunks/ChcFQRZo.js.gz | Bin 0 -> 230 bytes .../chunks/{BZQzXWp7.js => CjKwt1b1.js} | 2 +- .../_app/immutable/chunks/CjKwt1b1.js.br | Bin 0 -> 3973 bytes .../_app/immutable/chunks/CjKwt1b1.js.gz | Bin 0 -> 5494 bytes .../_app/immutable/chunks/CmbJHhgy.js.br | Bin 1688 -> 0 bytes .../_app/immutable/chunks/CmbJHhgy.js.gz | Bin 1935 -> 0 bytes .../_app/immutable/chunks/CnZzd20v.js.br | Bin 462 -> 0 bytes .../_app/immutable/chunks/CnZzd20v.js.gz | Bin 517 -> 0 bytes .../_app/immutable/chunks/CqMQEF-F.js.br | Bin 1610 -> 0 bytes .../_app/immutable/chunks/CqMQEF-F.js.gz | Bin 1765 -> 0 bytes .../build/_app/immutable/chunks/CqwrgJOn.js | 1 + .../_app/immutable/chunks/CqwrgJOn.js.br | Bin 0 -> 1913 bytes .../_app/immutable/chunks/CqwrgJOn.js.gz | Bin 0 -> 2211 bytes .../build/_app/immutable/chunks/D7A-gG4Z.js | 1 - .../_app/immutable/chunks/D7A-gG4Z.js.br | Bin 1915 -> 0 bytes .../_app/immutable/chunks/D7A-gG4Z.js.gz | Bin 2210 -> 0 bytes .../chunks/{P1-U_Xsj.js => D8RjhgN0.js} | 2 +- .../_app/immutable/chunks/D8RjhgN0.js.br | Bin 0 -> 477 bytes .../_app/immutable/chunks/D8RjhgN0.js.gz | Bin 0 -> 533 bytes .../build/_app/immutable/chunks/D8mhvFt8.js | 2 - .../_app/immutable/chunks/D8mhvFt8.js.br | Bin 3589 -> 0 bytes .../_app/immutable/chunks/D8mhvFt8.js.gz | Bin 3997 -> 0 bytes .../build/_app/immutable/chunks/D90q9c2i.js | 2 + .../_app/immutable/chunks/D90q9c2i.js.br | Bin 0 -> 3602 bytes .../_app/immutable/chunks/D90q9c2i.js.gz | Bin 0 -> 4002 bytes .../chunks/{CfobEeQC.js => DD4_gMN2.js} | 2 +- .../_app/immutable/chunks/DD4_gMN2.js.br | Bin 0 -> 114868 bytes .../_app/immutable/chunks/DD4_gMN2.js.gz | Bin 0 -> 139351 bytes .../build/_app/immutable/chunks/DExHDOmW.js | 1 + .../_app/immutable/chunks/DExHDOmW.js.br | Bin 0 -> 886 bytes .../_app/immutable/chunks/DExHDOmW.js.gz | Bin 0 -> 993 bytes .../build/_app/immutable/chunks/DKve45Wd.js | 1 - .../_app/immutable/chunks/DKve45Wd.js.br | Bin 279 -> 0 bytes .../_app/immutable/chunks/DKve45Wd.js.gz | Bin 317 -> 0 bytes .../build/_app/immutable/chunks/DSmtfx7F.js | 1479 ++++++ .../_app/immutable/chunks/DSmtfx7F.js.br | Bin 0 -> 110169 bytes .../_app/immutable/chunks/DSmtfx7F.js.gz | Bin 0 -> 134051 bytes .../chunks/{BHDZZvku.js => DTO0IjuV.js} | 2 +- .../_app/immutable/chunks/DTO0IjuV.js.br | Bin 0 -> 648 bytes .../_app/immutable/chunks/DTO0IjuV.js.gz | Bin 0 -> 742 bytes .../chunks/{CmbJHhgy.js => DUAsElMg.js} | 2 +- .../_app/immutable/chunks/DUAsElMg.js.br | Bin 0 -> 1703 bytes .../_app/immutable/chunks/DUAsElMg.js.gz | Bin 0 -> 1934 bytes .../_app/immutable/chunks/DcKTNC6e.js.br | Bin 655 -> 0 bytes .../_app/immutable/chunks/DcKTNC6e.js.gz | Bin 731 -> 0 bytes .../chunks/{dCAmqaEc.js => Dm3aSj4w.js} | 2 +- .../_app/immutable/chunks/Dm3aSj4w.js.br | Bin 0 -> 7746 bytes .../_app/immutable/chunks/Dm3aSj4w.js.gz | Bin 0 -> 8474 bytes .../_app/immutable/chunks/DrafHjYM.js.br | Bin 507 -> 0 bytes .../_app/immutable/chunks/DrafHjYM.js.gz | Bin 578 -> 0 bytes .../chunks/{C8kRUgax.js => DsCOn7XD.js} | 2 +- .../_app/immutable/chunks/DsCOn7XD.js.br | Bin 0 -> 4613 bytes .../_app/immutable/chunks/DsCOn7XD.js.gz | Bin 0 -> 5103 bytes .../build/_app/immutable/chunks/DsOxZJ9g.js | 2 + .../_app/immutable/chunks/DsOxZJ9g.js.br | Bin 0 -> 1781 bytes .../_app/immutable/chunks/DsOxZJ9g.js.gz | Bin 0 -> 1949 bytes .../build/_app/immutable/chunks/DsfUoj8c.js | 1 + .../_app/immutable/chunks/DsfUoj8c.js.br | Bin 0 -> 195 bytes .../_app/immutable/chunks/DsfUoj8c.js.gz | Bin 0 -> 221 bytes .../build/_app/immutable/chunks/DzesjbbJ.js | 1 - .../_app/immutable/chunks/DzesjbbJ.js.br | Bin 260 -> 0 bytes .../_app/immutable/chunks/DzesjbbJ.js.gz | Bin 280 -> 0 bytes .../build/_app/immutable/chunks/EQUhm_ep.js | 1 + .../_app/immutable/chunks/EQUhm_ep.js.br | Bin 0 -> 177 bytes .../_app/immutable/chunks/EQUhm_ep.js.gz | Bin 0 -> 170 bytes .../_app/immutable/chunks/EqHb-9AZ.js.br | Bin 273 -> 0 bytes .../_app/immutable/chunks/EqHb-9AZ.js.gz | Bin 322 -> 0 bytes .../build/_app/immutable/chunks/JVtQszIZ.js | 1 + .../_app/immutable/chunks/JVtQszIZ.js.br | Bin 0 -> 366 bytes .../_app/immutable/chunks/JVtQszIZ.js.gz | Bin 0 -> 434 bytes .../build/_app/immutable/chunks/LDOJP_6N.js | 1 - .../_app/immutable/chunks/LDOJP_6N.js.br | Bin 178 -> 0 bytes .../_app/immutable/chunks/LDOJP_6N.js.gz | Bin 171 -> 0 bytes .../build/_app/immutable/chunks/Ma4NfFrG.js | 2 - .../_app/immutable/chunks/Ma4NfFrG.js.br | Bin 1872 -> 0 bytes .../_app/immutable/chunks/Ma4NfFrG.js.gz | Bin 2050 -> 0 bytes .../_app/immutable/chunks/P1-U_Xsj.js.br | Bin 482 -> 0 bytes .../_app/immutable/chunks/P1-U_Xsj.js.gz | Bin 531 -> 0 bytes .../build/_app/immutable/chunks/TZu9D97Z.js | 1 - .../_app/immutable/chunks/TZu9D97Z.js.br | Bin 367 -> 0 bytes .../_app/immutable/chunks/TZu9D97Z.js.gz | Bin 430 -> 0 bytes .../_app/immutable/chunks/dCAmqaEc.js.br | Bin 7742 -> 0 bytes .../_app/immutable/chunks/dCAmqaEc.js.gz | Bin 8475 -> 0 bytes .../build/_app/immutable/chunks/g5OnrUYZ.js | 1 - .../_app/immutable/chunks/g5OnrUYZ.js.br | 1 - .../_app/immutable/chunks/g5OnrUYZ.js.gz | Bin 229 -> 0 bytes .../_app/immutable/chunks/wpu9U-D0.js.br | Bin 9258 -> 0 bytes .../_app/immutable/entry/app.DHgAWrC3.js | 2 + .../_app/immutable/entry/app.DHgAWrC3.js.br | Bin 0 -> 3288 bytes .../_app/immutable/entry/app.DHgAWrC3.js.gz | Bin 0 -> 3749 bytes .../_app/immutable/entry/app.Dg6iMka9.js | 2 - .../_app/immutable/entry/app.Dg6iMka9.js.br | Bin 3191 -> 0 bytes .../_app/immutable/entry/app.Dg6iMka9.js.gz | Bin 3666 -> 0 bytes .../_app/immutable/entry/start.BvFEq078.js | 1 - .../_app/immutable/entry/start.BvFEq078.js.br | Bin 116 -> 0 bytes .../_app/immutable/entry/start.BvFEq078.js.gz | Bin 108 -> 0 bytes .../_app/immutable/entry/start.jEGGTFC6.js | 1 + .../_app/immutable/entry/start.jEGGTFC6.js.br | Bin 0 -> 117 bytes .../_app/immutable/entry/start.jEGGTFC6.js.gz | Bin 0 -> 108 bytes .../build/_app/immutable/nodes/0.BmfNagK9.js | 86 - .../_app/immutable/nodes/0.BmfNagK9.js.br | Bin 10223 -> 0 bytes .../_app/immutable/nodes/0.BmfNagK9.js.gz | Bin 11654 -> 0 bytes .../build/_app/immutable/nodes/0.CufTSTHe.js | 86 + .../_app/immutable/nodes/0.CufTSTHe.js.br | Bin 0 -> 10259 bytes .../_app/immutable/nodes/0.CufTSTHe.js.gz | Bin 0 -> 11712 bytes .../build/_app/immutable/nodes/1.B0GVM9rf.js | 1 + .../_app/immutable/nodes/1.B0GVM9rf.js.br | Bin 0 -> 332 bytes .../_app/immutable/nodes/1.B0GVM9rf.js.gz | Bin 0 -> 376 bytes .../build/_app/immutable/nodes/1.MT4EnKSP.js | 1 - .../_app/immutable/nodes/1.MT4EnKSP.js.br | Bin 331 -> 0 bytes .../_app/immutable/nodes/1.MT4EnKSP.js.gz | Bin 373 -> 0 bytes .../nodes/{10.DYHIt_do.js => 10.BGBsuJiH.js} | 2 +- .../_app/immutable/nodes/10.BGBsuJiH.js.br | Bin 0 -> 3531 bytes .../_app/immutable/nodes/10.BGBsuJiH.js.gz | Bin 0 -> 4004 bytes .../_app/immutable/nodes/10.DYHIt_do.js.br | Bin 3547 -> 0 bytes .../_app/immutable/nodes/10.DYHIt_do.js.gz | Bin 4002 -> 0 bytes .../build/_app/immutable/nodes/11.CvKWjpIX.js | 4076 ++++++++++++++++ .../_app/immutable/nodes/11.CvKWjpIX.js.br | Bin 0 -> 97002 bytes .../_app/immutable/nodes/11.CvKWjpIX.js.gz | Bin 0 -> 113788 bytes .../build/_app/immutable/nodes/11.Db7dgOeT.js | 1 - .../_app/immutable/nodes/11.Db7dgOeT.js.br | Bin 65 -> 0 bytes .../_app/immutable/nodes/11.Db7dgOeT.js.gz | Bin 81 -> 0 bytes .../build/_app/immutable/nodes/12.CO2CXIFj.js | 8 - .../_app/immutable/nodes/12.CO2CXIFj.js.br | Bin 5168 -> 0 bytes .../_app/immutable/nodes/12.CO2CXIFj.js.gz | Bin 5853 -> 0 bytes .../build/_app/immutable/nodes/12.CiFT6kL_.js | 8 + .../_app/immutable/nodes/12.CiFT6kL_.js.br | Bin 0 -> 5070 bytes .../_app/immutable/nodes/12.CiFT6kL_.js.gz | Bin 0 -> 5736 bytes .../_app/immutable/nodes/13.BQoci-vM.js.br | Bin 2833 -> 0 bytes .../_app/immutable/nodes/13.BQoci-vM.js.gz | Bin 3237 -> 0 bytes .../nodes/{13.BQoci-vM.js => 13.H3l2YCsd.js} | 2 +- .../_app/immutable/nodes/13.H3l2YCsd.js.br | Bin 0 -> 2824 bytes .../_app/immutable/nodes/13.H3l2YCsd.js.gz | Bin 0 -> 3231 bytes .../_app/immutable/nodes/14.CDp0vmq1.js.br | Bin 5675 -> 0 bytes .../_app/immutable/nodes/14.CDp0vmq1.js.gz | Bin 6507 -> 0 bytes .../nodes/{14.CDp0vmq1.js => 14.CGp2yeqr.js} | 2 +- .../_app/immutable/nodes/14.CGp2yeqr.js.br | Bin 0 -> 5687 bytes .../_app/immutable/nodes/14.CGp2yeqr.js.gz | Bin 0 -> 6506 bytes .../_app/immutable/nodes/15.C05K0kWE.js.br | Bin 3518 -> 0 bytes .../_app/immutable/nodes/15.C05K0kWE.js.gz | Bin 3984 -> 0 bytes .../nodes/{15.C05K0kWE.js => 15.zPehnIhj.js} | 2 +- .../_app/immutable/nodes/15.zPehnIhj.js.br | Bin 0 -> 3518 bytes .../_app/immutable/nodes/15.zPehnIhj.js.gz | Bin 0 -> 3984 bytes .../build/_app/immutable/nodes/16.CrQpRrFW.js | 3 - .../_app/immutable/nodes/16.CrQpRrFW.js.br | Bin 6570 -> 0 bytes .../_app/immutable/nodes/16.CrQpRrFW.js.gz | Bin 7543 -> 0 bytes .../build/_app/immutable/nodes/16.DIZEZ9J2.js | 1 + .../_app/immutable/nodes/16.DIZEZ9J2.js.br | Bin 0 -> 578 bytes .../_app/immutable/nodes/16.DIZEZ9J2.js.gz | Bin 0 -> 666 bytes .../_app/immutable/nodes/17.3ASmJvJ6.js.br | Bin 7860 -> 0 bytes .../_app/immutable/nodes/17.3ASmJvJ6.js.gz | Bin 8983 -> 0 bytes .../build/_app/immutable/nodes/17.cONpz_b8.js | 3 + .../_app/immutable/nodes/17.cONpz_b8.js.br | Bin 0 -> 5589 bytes .../_app/immutable/nodes/17.cONpz_b8.js.gz | Bin 0 -> 6357 bytes .../_app/immutable/nodes/18.43xZFMsD.js.br | Bin 5820 -> 0 bytes .../_app/immutable/nodes/18.43xZFMsD.js.gz | Bin 6643 -> 0 bytes .../nodes/{17.3ASmJvJ6.js => 18.rpGfIdJ2.js} | 4 +- .../_app/immutable/nodes/18.rpGfIdJ2.js.br | Bin 0 -> 7856 bytes .../_app/immutable/nodes/18.rpGfIdJ2.js.gz | Bin 0 -> 8981 bytes .../nodes/{18.43xZFMsD.js => 19.56tMTUyP.js} | 2 +- .../_app/immutable/nodes/19.56tMTUyP.js.br | Bin 0 -> 5816 bytes .../_app/immutable/nodes/19.56tMTUyP.js.gz | Bin 0 -> 6644 bytes .../_app/immutable/nodes/19.BYwd4oWS.js.br | Bin 3981 -> 0 bytes .../_app/immutable/nodes/19.BYwd4oWS.js.gz | Bin 4527 -> 0 bytes .../_app/immutable/nodes/2.DEnQkIHv.js.br | Bin 156 -> 0 bytes .../_app/immutable/nodes/2.DEnQkIHv.js.gz | Bin 175 -> 0 bytes .../nodes/{2.DEnQkIHv.js => 2.DUuVc9gS.js} | 2 +- .../_app/immutable/nodes/2.DUuVc9gS.js.br | Bin 0 -> 159 bytes .../_app/immutable/nodes/2.DUuVc9gS.js.gz | Bin 0 -> 174 bytes .../nodes/{19.BYwd4oWS.js => 20.C9dv6aje.js} | 2 +- .../_app/immutable/nodes/20.C9dv6aje.js.br | Bin 0 -> 3974 bytes .../_app/immutable/nodes/20.C9dv6aje.js.gz | Bin 0 -> 4522 bytes .../_app/immutable/nodes/20.Di2Q3Va0.js.br | Bin 2512 -> 0 bytes .../_app/immutable/nodes/20.Di2Q3Va0.js.gz | Bin 2833 -> 0 bytes .../_app/immutable/nodes/21.BAlasPHS.js.br | Bin 1965 -> 0 bytes .../_app/immutable/nodes/21.BAlasPHS.js.gz | Bin 2235 -> 0 bytes .../nodes/{20.Di2Q3Va0.js => 21.VHre2za-.js} | 2 +- .../_app/immutable/nodes/21.VHre2za-.js.br | Bin 0 -> 2507 bytes .../_app/immutable/nodes/21.VHre2za-.js.gz | Bin 0 -> 2828 bytes .../nodes/{21.BAlasPHS.js => 22.BiOaW6TI.js} | 2 +- .../_app/immutable/nodes/22.BiOaW6TI.js.br | Bin 0 -> 1960 bytes .../_app/immutable/nodes/22.BiOaW6TI.js.gz | Bin 0 -> 2231 bytes .../_app/immutable/nodes/22.C719k-1W.js.br | Bin 5529 -> 0 bytes .../_app/immutable/nodes/22.C719k-1W.js.gz | Bin 6427 -> 0 bytes .../nodes/{22.C719k-1W.js => 23.BCAC1xxA.js} | 2 +- .../_app/immutable/nodes/23.BCAC1xxA.js.br | Bin 0 -> 5512 bytes .../_app/immutable/nodes/23.BCAC1xxA.js.gz | Bin 0 -> 6427 bytes .../build/_app/immutable/nodes/3.C8tBBpzF.js | 1 - .../_app/immutable/nodes/3.C8tBBpzF.js.br | Bin 167 -> 0 bytes .../_app/immutable/nodes/3.C8tBBpzF.js.gz | Bin 201 -> 0 bytes .../build/_app/immutable/nodes/3.CA0lgdaC.js | 1 + .../_app/immutable/nodes/3.CA0lgdaC.js.br | Bin 0 -> 167 bytes .../_app/immutable/nodes/3.CA0lgdaC.js.gz | Bin 0 -> 205 bytes .../_app/immutable/nodes/4.BpOpkZuP.js.br | Bin 4826 -> 0 bytes .../_app/immutable/nodes/4.BpOpkZuP.js.gz | Bin 5439 -> 0 bytes .../nodes/{4.BpOpkZuP.js => 4.D2zZxlO6.js} | 2 +- .../_app/immutable/nodes/4.D2zZxlO6.js.br | Bin 0 -> 4823 bytes .../_app/immutable/nodes/4.D2zZxlO6.js.gz | Bin 0 -> 5437 bytes .../_app/immutable/nodes/5.CK5gRe3F.js.br | Bin 6022 -> 0 bytes .../_app/immutable/nodes/5.CK5gRe3F.js.gz | Bin 6856 -> 0 bytes .../nodes/{5.CK5gRe3F.js => 5.DpUpTdqe.js} | 2 +- .../_app/immutable/nodes/5.DpUpTdqe.js.br | Bin 0 -> 6064 bytes .../_app/immutable/nodes/5.DpUpTdqe.js.gz | Bin 0 -> 6851 bytes .../build/_app/immutable/nodes/6.Bh8aqm2m.js | 2 + .../_app/immutable/nodes/6.Bh8aqm2m.js.br | Bin 0 -> 6571 bytes .../_app/immutable/nodes/6.Bh8aqm2m.js.gz | Bin 0 -> 7475 bytes .../build/_app/immutable/nodes/6.DZyLUVX2.js | 2 - .../_app/immutable/nodes/6.DZyLUVX2.js.br | Bin 7544 -> 0 bytes .../_app/immutable/nodes/6.DZyLUVX2.js.gz | Bin 8774 -> 0 bytes .../nodes/{7.yWYTsQ1Q.js => 7.DomAssdT.js} | 6 +- .../_app/immutable/nodes/7.DomAssdT.js.br | Bin 0 -> 5938 bytes .../_app/immutable/nodes/7.DomAssdT.js.gz | Bin 0 -> 6763 bytes .../_app/immutable/nodes/7.yWYTsQ1Q.js.br | Bin 5962 -> 0 bytes .../_app/immutable/nodes/7.yWYTsQ1Q.js.gz | Bin 6764 -> 0 bytes .../build/_app/immutable/nodes/8.BAXaOae9.js | 3 + .../_app/immutable/nodes/8.BAXaOae9.js.br | Bin 0 -> 4233 bytes .../_app/immutable/nodes/8.BAXaOae9.js.gz | Bin 0 -> 4805 bytes .../build/_app/immutable/nodes/8.D5dP0-E2.js | 3 - .../_app/immutable/nodes/8.D5dP0-E2.js.br | Bin 5294 -> 0 bytes .../_app/immutable/nodes/8.D5dP0-E2.js.gz | Bin 6062 -> 0 bytes .../_app/immutable/nodes/9.Vz-x3Q_x.js.br | Bin 3679 -> 0 bytes .../_app/immutable/nodes/9.Vz-x3Q_x.js.gz | Bin 4267 -> 0 bytes .../nodes/{9.Vz-x3Q_x.js => 9.x8O4kluQ.js} | 2 +- .../_app/immutable/nodes/9.x8O4kluQ.js.br | Bin 0 -> 3676 bytes .../_app/immutable/nodes/9.x8O4kluQ.js.gz | Bin 0 -> 4263 bytes apps/dashboard/build/_app/version.json | 2 +- apps/dashboard/build/_app/version.json.br | 2 +- apps/dashboard/build/_app/version.json.gz | Bin 39 -> 39 bytes apps/dashboard/build/index.html | 28 +- apps/dashboard/build/index.html.br | Bin 590 -> 626 bytes apps/dashboard/build/index.html.gz | Bin 781 -> 783 bytes apps/dashboard/package.json | 2 +- crates/vestige-core/Cargo.toml | 2 +- crates/vestige-mcp/Cargo.toml | 4 +- package.json | 2 +- packages/vestige-init/package.json | 2 +- packages/vestige-mcp-npm/package.json | 2 +- packages/vestige-mcpb/manifest.json | 2 +- server.json | 4 +- 345 files changed, 5907 insertions(+), 4310 deletions(-) create mode 100644 apps/dashboard/build/_app/immutable/assets/0.BRosXaQv.css create mode 100644 apps/dashboard/build/_app/immutable/assets/0.BRosXaQv.css.br create mode 100644 apps/dashboard/build/_app/immutable/assets/0.BRosXaQv.css.gz delete mode 100644 apps/dashboard/build/_app/immutable/assets/0.Cf27G70K.css delete mode 100644 apps/dashboard/build/_app/immutable/assets/0.Cf27G70K.css.br delete mode 100644 apps/dashboard/build/_app/immutable/assets/0.Cf27G70K.css.gz rename apps/dashboard/build/_app/immutable/assets/{17.ChjqzJHo.css => 18.ChjqzJHo.css} (100%) rename apps/dashboard/build/_app/immutable/assets/{17.ChjqzJHo.css.br => 18.ChjqzJHo.css.br} (100%) rename apps/dashboard/build/_app/immutable/assets/{17.ChjqzJHo.css.gz => 18.ChjqzJHo.css.gz} (100%) rename apps/dashboard/build/_app/immutable/assets/{18.BnHgRQtR.css => 19.BnHgRQtR.css} (100%) rename apps/dashboard/build/_app/immutable/assets/{18.BnHgRQtR.css.br => 19.BnHgRQtR.css.br} (100%) rename apps/dashboard/build/_app/immutable/assets/{18.BnHgRQtR.css.gz => 19.BnHgRQtR.css.gz} (100%) rename apps/dashboard/build/_app/immutable/assets/{19.C2qtIyf6.css => 20.C2qtIyf6.css} (100%) rename apps/dashboard/build/_app/immutable/assets/{19.C2qtIyf6.css.br => 20.C2qtIyf6.css.br} (100%) rename apps/dashboard/build/_app/immutable/assets/{19.C2qtIyf6.css.gz => 20.C2qtIyf6.css.gz} (100%) rename apps/dashboard/build/_app/immutable/assets/{20.CO50G5tF.css => 21.CO50G5tF.css} (100%) rename apps/dashboard/build/_app/immutable/assets/{20.CO50G5tF.css.br => 21.CO50G5tF.css.br} (100%) rename apps/dashboard/build/_app/immutable/assets/{20.CO50G5tF.css.gz => 21.CO50G5tF.css.gz} (100%) rename apps/dashboard/build/_app/immutable/assets/{22.DKhUrxcR.css => 23.DKhUrxcR.css} (100%) rename apps/dashboard/build/_app/immutable/assets/{22.DKhUrxcR.css.br => 23.DKhUrxcR.css.br} (100%) rename apps/dashboard/build/_app/immutable/assets/{22.DKhUrxcR.css.gz => 23.DKhUrxcR.css.gz} (100%) create mode 100644 apps/dashboard/build/_app/immutable/assets/ObservatoryStage.CnF5Ezel.css create mode 100644 apps/dashboard/build/_app/immutable/assets/ObservatoryStage.CnF5Ezel.css.br create mode 100644 apps/dashboard/build/_app/immutable/assets/ObservatoryStage.CnF5Ezel.css.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/9-jplUL5.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/9-jplUL5.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/9-jplUL5.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/BFpewGai.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/BFpewGai.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/BFpewGai.js.gz rename apps/dashboard/build/_app/immutable/chunks/{CqMQEF-F.js => BGTfzpXY.js} (97%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/BGTfzpXY.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/BGTfzpXY.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BHDZZvku.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BHDZZvku.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BLadwbF7.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BLadwbF7.js.gz rename apps/dashboard/build/_app/immutable/chunks/{EqHb-9AZ.js => BNUnVJrY.js} (87%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/BNUnVJrY.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/BNUnVJrY.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BZQzXWp7.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BZQzXWp7.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BhIgFntf.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BhIgFntf.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/BhIgFntf.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/BjbQ7qSx.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/BjbQ7qSx.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/BjbQ7qSx.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/Bxs5UR9-.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/Bxs5UR9-.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/ByYB047u.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/ByYB047u.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/ByYB047u.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/C-SOZ1Oi.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/C-SOZ1Oi.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/C-SOZ1Oi.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/C-rZhKee.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/C-rZhKee.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/C-rZhKee.js.gz rename apps/dashboard/build/_app/immutable/chunks/{DrafHjYM.js => C4Tpoo1i.js} (87%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/C4Tpoo1i.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/C4Tpoo1i.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/C8kRUgax.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/C8kRUgax.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/C98jjAli.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/C98jjAli.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/C98jjAli.js.gz rename apps/dashboard/build/_app/immutable/chunks/{BLadwbF7.js => C9BpaXFO.js} (71%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/C9BpaXFO.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/C9BpaXFO.js.gz rename apps/dashboard/build/_app/immutable/chunks/{CnZzd20v.js => CFefTDKL.js} (70%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/CFefTDKL.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/CFefTDKL.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CLrXVRi2.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CLrXVRi2.js.gz rename apps/dashboard/build/_app/immutable/chunks/{CLrXVRi2.js => CRPZuD1T.js} (96%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/CRPZuD1T.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/CRPZuD1T.js.gz rename apps/dashboard/build/_app/immutable/chunks/{wpu9U-D0.js => CW7md74C.js} (95%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/CW7md74C.js.br rename apps/dashboard/build/_app/immutable/chunks/{wpu9U-D0.js.gz => CW7md74C.js.gz} (94%) delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js.gz rename apps/dashboard/build/_app/immutable/chunks/{Bxs5UR9-.js => CaEJGM7b.js} (66%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/CaEJGM7b.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/CaEJGM7b.js.gz rename apps/dashboard/build/_app/immutable/chunks/{DcKTNC6e.js => CaR6YsRq.js} (79%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/CaR6YsRq.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/CaR6YsRq.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/Cc0l8Nd4.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/Cc0l8Nd4.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/Cc0l8Nd4.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CfobEeQC.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CfobEeQC.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/ChcFQRZo.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/ChcFQRZo.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/ChcFQRZo.js.gz rename apps/dashboard/build/_app/immutable/chunks/{BZQzXWp7.js => CjKwt1b1.js} (99%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/CjKwt1b1.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/CjKwt1b1.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CmbJHhgy.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CmbJHhgy.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CnZzd20v.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CnZzd20v.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CqMQEF-F.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/CqMQEF-F.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/CqwrgJOn.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/CqwrgJOn.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/CqwrgJOn.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/D7A-gG4Z.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/D7A-gG4Z.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/D7A-gG4Z.js.gz rename apps/dashboard/build/_app/immutable/chunks/{P1-U_Xsj.js => D8RjhgN0.js} (83%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/D8RjhgN0.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/D8RjhgN0.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/D8mhvFt8.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/D8mhvFt8.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/D8mhvFt8.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/D90q9c2i.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/D90q9c2i.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/D90q9c2i.js.gz rename apps/dashboard/build/_app/immutable/chunks/{CfobEeQC.js => DD4_gMN2.js} (99%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/DD4_gMN2.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/DD4_gMN2.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/DExHDOmW.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/DExHDOmW.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/DExHDOmW.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DKve45Wd.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DKve45Wd.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DKve45Wd.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js.gz rename apps/dashboard/build/_app/immutable/chunks/{BHDZZvku.js => DTO0IjuV.js} (81%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/DTO0IjuV.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/DTO0IjuV.js.gz rename apps/dashboard/build/_app/immutable/chunks/{CmbJHhgy.js => DUAsElMg.js} (91%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/DUAsElMg.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/DUAsElMg.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DcKTNC6e.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DcKTNC6e.js.gz rename apps/dashboard/build/_app/immutable/chunks/{dCAmqaEc.js => Dm3aSj4w.js} (87%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/Dm3aSj4w.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/Dm3aSj4w.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DrafHjYM.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DrafHjYM.js.gz rename apps/dashboard/build/_app/immutable/chunks/{C8kRUgax.js => DsCOn7XD.js} (98%) create mode 100644 apps/dashboard/build/_app/immutable/chunks/DsCOn7XD.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/DsCOn7XD.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/DsOxZJ9g.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/DsOxZJ9g.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/DsOxZJ9g.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/DsfUoj8c.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/DsfUoj8c.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/DsfUoj8c.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DzesjbbJ.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DzesjbbJ.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/DzesjbbJ.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/EQUhm_ep.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/EQUhm_ep.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/EQUhm_ep.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/EqHb-9AZ.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/EqHb-9AZ.js.gz create mode 100644 apps/dashboard/build/_app/immutable/chunks/JVtQszIZ.js create mode 100644 apps/dashboard/build/_app/immutable/chunks/JVtQszIZ.js.br create mode 100644 apps/dashboard/build/_app/immutable/chunks/JVtQszIZ.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/LDOJP_6N.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/LDOJP_6N.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/LDOJP_6N.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/Ma4NfFrG.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/Ma4NfFrG.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/Ma4NfFrG.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/P1-U_Xsj.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/P1-U_Xsj.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/TZu9D97Z.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/TZu9D97Z.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/TZu9D97Z.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/dCAmqaEc.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/dCAmqaEc.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/g5OnrUYZ.js delete mode 100644 apps/dashboard/build/_app/immutable/chunks/g5OnrUYZ.js.br delete mode 100644 apps/dashboard/build/_app/immutable/chunks/g5OnrUYZ.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/chunks/wpu9U-D0.js.br create mode 100644 apps/dashboard/build/_app/immutable/entry/app.DHgAWrC3.js create mode 100644 apps/dashboard/build/_app/immutable/entry/app.DHgAWrC3.js.br create mode 100644 apps/dashboard/build/_app/immutable/entry/app.DHgAWrC3.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/entry/app.Dg6iMka9.js delete mode 100644 apps/dashboard/build/_app/immutable/entry/app.Dg6iMka9.js.br delete mode 100644 apps/dashboard/build/_app/immutable/entry/app.Dg6iMka9.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/entry/start.BvFEq078.js delete mode 100644 apps/dashboard/build/_app/immutable/entry/start.BvFEq078.js.br delete mode 100644 apps/dashboard/build/_app/immutable/entry/start.BvFEq078.js.gz create mode 100644 apps/dashboard/build/_app/immutable/entry/start.jEGGTFC6.js create mode 100644 apps/dashboard/build/_app/immutable/entry/start.jEGGTFC6.js.br create mode 100644 apps/dashboard/build/_app/immutable/entry/start.jEGGTFC6.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/0.BmfNagK9.js delete mode 100644 apps/dashboard/build/_app/immutable/nodes/0.BmfNagK9.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/0.BmfNagK9.js.gz create mode 100644 apps/dashboard/build/_app/immutable/nodes/0.CufTSTHe.js create mode 100644 apps/dashboard/build/_app/immutable/nodes/0.CufTSTHe.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/0.CufTSTHe.js.gz create mode 100644 apps/dashboard/build/_app/immutable/nodes/1.B0GVM9rf.js create mode 100644 apps/dashboard/build/_app/immutable/nodes/1.B0GVM9rf.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/1.B0GVM9rf.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/1.MT4EnKSP.js delete mode 100644 apps/dashboard/build/_app/immutable/nodes/1.MT4EnKSP.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/1.MT4EnKSP.js.gz rename apps/dashboard/build/_app/immutable/nodes/{10.DYHIt_do.js => 10.BGBsuJiH.js} (92%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/10.BGBsuJiH.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/10.BGBsuJiH.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/10.DYHIt_do.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/10.DYHIt_do.js.gz create mode 100644 apps/dashboard/build/_app/immutable/nodes/11.CvKWjpIX.js create mode 100644 apps/dashboard/build/_app/immutable/nodes/11.CvKWjpIX.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/11.CvKWjpIX.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/11.Db7dgOeT.js delete mode 100644 apps/dashboard/build/_app/immutable/nodes/11.Db7dgOeT.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/11.Db7dgOeT.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/12.CO2CXIFj.js delete mode 100644 apps/dashboard/build/_app/immutable/nodes/12.CO2CXIFj.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/12.CO2CXIFj.js.gz create mode 100644 apps/dashboard/build/_app/immutable/nodes/12.CiFT6kL_.js create mode 100644 apps/dashboard/build/_app/immutable/nodes/12.CiFT6kL_.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/12.CiFT6kL_.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/13.BQoci-vM.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/13.BQoci-vM.js.gz rename apps/dashboard/build/_app/immutable/nodes/{13.BQoci-vM.js => 13.H3l2YCsd.js} (61%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/13.H3l2YCsd.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/13.H3l2YCsd.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/14.CDp0vmq1.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/14.CDp0vmq1.js.gz rename apps/dashboard/build/_app/immutable/nodes/{14.CDp0vmq1.js => 14.CGp2yeqr.js} (95%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/14.CGp2yeqr.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/14.CGp2yeqr.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/15.C05K0kWE.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/15.C05K0kWE.js.gz rename apps/dashboard/build/_app/immutable/nodes/{15.C05K0kWE.js => 15.zPehnIhj.js} (93%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/15.zPehnIhj.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/15.zPehnIhj.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/16.CrQpRrFW.js delete mode 100644 apps/dashboard/build/_app/immutable/nodes/16.CrQpRrFW.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/16.CrQpRrFW.js.gz create mode 100644 apps/dashboard/build/_app/immutable/nodes/16.DIZEZ9J2.js create mode 100644 apps/dashboard/build/_app/immutable/nodes/16.DIZEZ9J2.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/16.DIZEZ9J2.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/17.3ASmJvJ6.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/17.3ASmJvJ6.js.gz create mode 100644 apps/dashboard/build/_app/immutable/nodes/17.cONpz_b8.js create mode 100644 apps/dashboard/build/_app/immutable/nodes/17.cONpz_b8.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/17.cONpz_b8.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/18.43xZFMsD.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/18.43xZFMsD.js.gz rename apps/dashboard/build/_app/immutable/nodes/{17.3ASmJvJ6.js => 18.rpGfIdJ2.js} (87%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/18.rpGfIdJ2.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/18.rpGfIdJ2.js.gz rename apps/dashboard/build/_app/immutable/nodes/{18.43xZFMsD.js => 19.56tMTUyP.js} (96%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/19.56tMTUyP.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/19.56tMTUyP.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/19.BYwd4oWS.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/19.BYwd4oWS.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/2.DEnQkIHv.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/2.DEnQkIHv.js.gz rename apps/dashboard/build/_app/immutable/nodes/{2.DEnQkIHv.js => 2.DUuVc9gS.js} (69%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/2.DUuVc9gS.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/2.DUuVc9gS.js.gz rename apps/dashboard/build/_app/immutable/nodes/{19.BYwd4oWS.js => 20.C9dv6aje.js} (94%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/20.C9dv6aje.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/20.C9dv6aje.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/20.Di2Q3Va0.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/20.Di2Q3Va0.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/21.BAlasPHS.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/21.BAlasPHS.js.gz rename apps/dashboard/build/_app/immutable/nodes/{20.Di2Q3Va0.js => 21.VHre2za-.js} (92%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/21.VHre2za-.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/21.VHre2za-.js.gz rename apps/dashboard/build/_app/immutable/nodes/{21.BAlasPHS.js => 22.BiOaW6TI.js} (85%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/22.BiOaW6TI.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/22.BiOaW6TI.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/22.C719k-1W.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/22.C719k-1W.js.gz rename apps/dashboard/build/_app/immutable/nodes/{22.C719k-1W.js => 23.BCAC1xxA.js} (95%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/23.BCAC1xxA.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/23.BCAC1xxA.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/3.C8tBBpzF.js delete mode 100644 apps/dashboard/build/_app/immutable/nodes/3.C8tBBpzF.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/3.C8tBBpzF.js.gz create mode 100644 apps/dashboard/build/_app/immutable/nodes/3.CA0lgdaC.js create mode 100644 apps/dashboard/build/_app/immutable/nodes/3.CA0lgdaC.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/3.CA0lgdaC.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/4.BpOpkZuP.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/4.BpOpkZuP.js.gz rename apps/dashboard/build/_app/immutable/nodes/{4.BpOpkZuP.js => 4.D2zZxlO6.js} (94%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/4.D2zZxlO6.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/4.D2zZxlO6.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/5.CK5gRe3F.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/5.CK5gRe3F.js.gz rename apps/dashboard/build/_app/immutable/nodes/{5.CK5gRe3F.js => 5.DpUpTdqe.js} (95%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/5.DpUpTdqe.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/5.DpUpTdqe.js.gz create mode 100644 apps/dashboard/build/_app/immutable/nodes/6.Bh8aqm2m.js create mode 100644 apps/dashboard/build/_app/immutable/nodes/6.Bh8aqm2m.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/6.Bh8aqm2m.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/6.DZyLUVX2.js delete mode 100644 apps/dashboard/build/_app/immutable/nodes/6.DZyLUVX2.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/6.DZyLUVX2.js.gz rename apps/dashboard/build/_app/immutable/nodes/{7.yWYTsQ1Q.js => 7.DomAssdT.js} (90%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/7.DomAssdT.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/7.DomAssdT.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/7.yWYTsQ1Q.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/7.yWYTsQ1Q.js.gz create mode 100644 apps/dashboard/build/_app/immutable/nodes/8.BAXaOae9.js create mode 100644 apps/dashboard/build/_app/immutable/nodes/8.BAXaOae9.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/8.BAXaOae9.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/8.D5dP0-E2.js delete mode 100644 apps/dashboard/build/_app/immutable/nodes/8.D5dP0-E2.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/8.D5dP0-E2.js.gz delete mode 100644 apps/dashboard/build/_app/immutable/nodes/9.Vz-x3Q_x.js.br delete mode 100644 apps/dashboard/build/_app/immutable/nodes/9.Vz-x3Q_x.js.gz rename apps/dashboard/build/_app/immutable/nodes/{9.Vz-x3Q_x.js => 9.x8O4kluQ.js} (95%) create mode 100644 apps/dashboard/build/_app/immutable/nodes/9.x8O4kluQ.js.br create mode 100644 apps/dashboard/build/_app/immutable/nodes/9.x8O4kluQ.js.gz diff --git a/CHANGELOG.md b/CHANGELOG.md index 908940f..150b6fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,129 @@ All notable changes to Vestige will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [2.3.0] - 2026-07-26 — "Cognitive Observatory + Zero-Knowledge Sync" -### Fixed — Auto-consolidation merge: opt-out lever + protected pins honored (#142) +Two audits (39 verified fixes), three dormant features brought to life, a +raw-WebGPU dashboard, and the first Vestige Pro surface — a cloud-sync client +that refuses to sync anything it hasn't encrypted first. + +### Added — Cognitive Observatory: a raw-WebGPU living memory field + +The dashboard gains a full-bleed, zero-library WebGPU surface that renders the +memory graph as a living cognitive field: GPU force simulation, HDR bloom, and +a recall wavefront sweeping the **real** memory graph. Five deterministic demo +moments are driven by a URL contract (`?demo=&seed=...&frame=N`): +recall-path, engram-birth, salience-rescue, forgetting-horizon, firewall — +capture mode (`?frame=N`) freezes the sim so the same URL produces identical +pixels. No Three.js, no chart library: bare-metal WebGPU engine, WGSL shaders, +DOM as instrument overlays only. The Observatory is also embedded in the main +graph page (an Observatory button beside Dream and Memory Cinema takes over +full-bleed; Esc exits), and the field is clickable — GPU picking opens the +same Memory Detail inspector Classic's picking drove. + +### Added — Vestige Pro: zero-knowledge cloud-sync client + upgrade surfaces + +The public client for the hosted Vestige Cloud managed-sync service lands +behind the optional `cloud-sync` cargo feature, and encryption is mandatory: +**the client refuses plaintext sync**. The portable archive is encrypted +on-device before upload (Argon2id KDF → XChaCha20-Poly1305 AEAD, a +self-describing `VSTGENC1` envelope) under a passphrase +(`VESTIGE_CLOUD_ENCRYPTION_KEY`) that is **never sent to the server** and is +independent of the bearer sync key — the hosted service only ever stores +ciphertext, so "we hold no keys" is literally true, and a lost passphrase means +the synced blob is unrecoverable by design (we cannot reset what we never +have). The refusal cuts both ways: the client will not upload an unencrypted +archive, and it rejects a plaintext blob on download instead of quietly +accepting it. The transport is the existing pull-merge-push portable-sync +engine over HTTP with ETag/`If-Match` optimistic concurrency, so two devices +converge without lost updates. The dashboard gains matching Pro upgrade +surfaces. **The hosted service is optional and paid; local-first stays free** — +the default build links no HTTP client and behaves exactly as before. + +### Changed — The living field is now the main graph renderer + +The main graph page defaults to the Observatory engine wherever WebGPU exists. +A new **Field | Classic** toggle in the control bar keeps the Three.js view one +click away and untouched (picking, colour modes, temporal scrubbing and legends +remain Classic features); no WebGPU forces Classic automatically, and the +choice persists in `localStorage`. Dream, Observatory takeover, Memory Cinema, +and Reload work in both modes. + +### Changed — `smart_ingest` batch mode honors an explicit `forceCreate: false` + +**Write-semantics change for existing clients.** Batch mode has defaulted to +`batchMergePolicy: "force_create"` since v2.1.23 — but under that default, an +explicit per-call `forceCreate: false` was silently inverted into a +force-create. An explicit `forceCreate` is now authoritative in both policies: +pass `forceCreate: false` and batch items go through Prediction Error Gating +(merge/update/create against existing memories) even under the default policy. +Callers that were sending `forceCreate: false` while relying on the old +always-create behavior will now see merges and updates instead of new nodes — +drop the parameter (or send `true`) to keep the old behavior. + +### Fixed — 29 bugs from the full-backend adversarial audit (#139) + +A backend-wide audit (18 feature areas, each finding adversarially re-verified) +surfaced 31 real bugs; this release fixes 29. Highlights: **migrations now run +in a transaction** (a mid-migration failure no longer bricks the DB), +`decide_memory_pr` rejects re-deciding a finalized PR, `suppress` reverse is a +true inverse (was leaving stability permanently halved), `update_node_content` +regenerates a stale embedding when the embedder wasn't ready, `plan_merge` +validates `survivor_id` (was an unchecked-unwrap panic), the contradiction +heuristic requires a real polarity flip (was demoting correct memories on +benign "do not" notes), and hybrid-search relevance is the min-max-normalized +RRF fused score. Full workspace stayed green (1556 tests, clippy `-D warnings` +clean). + +### Fixed — Three dormant features wired live (#117, #124, #137 via #140) + +Honesty first: each of these is now genuinely producing data, and none of the +three is 100% finished. The remaining edges are stated per item. + +- **Agent Black Box records traces for real (#117)**: the trace recorder had + zero production callers, so `agent_traces` never populated. + `handle_tools_call` now records the opening `mcp.call` event before dispatch + and the memory events after, under a shared `run_id` — including in pure + stdio mode (was gated on a dashboard socket). **Not yet wired**: the + receipts and memory-PR producers — those Black Box surfaces still have no + production writer and stay empty for now. +- **Recurring intentions re-arm (#124)**: `mark_triggered` advances a + recurring trigger's `next_occurrence` and returns it to Active (was firing + once and staying Triggered forever). **Not yet done**: the re-arm logic is + fixed, but recurring intentions are not yet hydrated into the live engine, + so a re-armed intention is not automatically picked up by the running + trigger loop. +- **Co-access prediction is live (#137)**: `search_unified` feeds retrieved + sets to the speculative retriever, so co-access patterns populate (were + permanently empty). **Partially wired**: #137's remaining speculative + channels are still only partially connected to production callers. + +### Fixed — 10 more bugs from the second full-codebase audit (#141) + +A second adversarial pass over areas the first under-covered. Majors: the FTS5 +sanitizer leaked bare operators on doubled input ("foo AND AND AND"), aborting +MATCH or silently flipping AND→OR; unbounded MCP `hours_back`/`hours_forward` +and an unclamped `limit` could panic the server (DoS); and the connector +idempotency key omitted `source_project`, so two repos with overlapping issue +ids clobbered each other's memories — **migration V19** adds the project to the +key and unique index. Minors: `list_memories` honors `node_type`/`tag` on the +search path, HTTP Accept handles `*/*` wildcards, Bearer matches +case-insensitively (RFC 7235), dream insights no longer fabricate a +TemporalTrend from sentinel dates, the dashboard WebSocket can't resurrect +itself after `disconnect()`, and Redmine thread truncation keeps the newest +journals. 1559 tests + clippy clean; dashboard check green. + +### Fixed — Dashboard mock data replaced with real APIs + +The `/duplicates`, `/contradictions`, and `/patterns` routes shipped hardcoded +mock data — and `/duplicates` rendered a "Live" badge over it. The three mocks +are replaced (`898bd33`) with real dashboard HTTP endpoints backed by existing +core capabilities: `GET /api/duplicates` (dedup cluster detection), +`GET /api/contradictions` (trust-weighted contradiction analysis), and +`GET /api/patterns/cross-project` (cross-project pattern transfer). The "Live" +badge is now truthful. + +### Fixed — Auto-consolidation merge: opt-out lever + protected pins honored (#142, via #143) The background consolidation cycle's auto-dedup pass silently concat-merges near-duplicate memories (cosine ≥ 0.85): it keeps the strongest node, folds the @@ -21,7 +141,44 @@ available for on-demand, previewable, reversible merges regardless. Second, unattended, contradicting the interactive contract that a protected node may only survive a merge, never be absorbed. A protected node is now never an anchor, never a cluster member, and thus never merged into or deleted, whether the lever is on -or off. +or off. To be plain about what did **not** change: when the pass is enabled, +its merges are still hard-deletes with no reversible trail — the lever and the +pin exclusion narrow the blast radius, they do not add a reflog. Thanks +@Vrakoss for the report and the fix. + +### Docs — README rewrite; CauseBench replaced by Silent Rotation + +The README is rewritten for clarity, with stale facts and a dead link fixed. +The advertised CauseBench benchmark is withdrawn: `benchmarks/causebench/` no +longer exists, so its link and repro command 404'd, and its published numbers +are retracted. It is replaced by **Silent Rotation**, which is real and +auditable — three coding agents, one failing end-to-end test, a signing key +that exists only in the memory layer, and 246 raw agent transcripts published +instead of a summary table. The headline metric is the converged-wrong column: +a no-memory fleet agrees on a planted decoy 21 times in 25; dense cosine 12 in +23. The repro is three verbatim commands verified from a fresh clone. The +ComposeBench roadmap note now points at the silent-rotation harness. + +### Upgrade notes + +- **Migration V19 runs automatically** and adds `source_project` to the + connector idempotency key and unique index. If you synced **two or more + projects of the same source system** (e.g. two GitHub repos) under 2.2.x, + their overlapping issue ids clobbered each other's memories. After + upgrading, re-run `source_sync` once **per project** so each project's + records are re-indexed under its own key. + +### Credits + +This release was again driven in part by the community: + +- **@Vrakoss** reported the silent auto-consolidation merge behavior (#142) + with a precise write-up of the missing opt-out and the ignored `dedup + protect` pins, and contributed the basis of the fix itself — the + `VESTIGE_AUTO_CONSOLIDATE_MERGE` lever and the protected-pin exclusion + shipped as they built them (PR #143, co-authored in `f7a782d`). + +Thank you. ## [2.2.1] - 2026-07-02 — "Windows embeddings + backfill safety" diff --git a/Cargo.lock b/Cargo.lock index 90d70a0..4a05b8e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4897,7 +4897,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vestige-core" -version = "2.2.1" +version = "2.3.0" dependencies = [ "argon2", "blake3", @@ -4938,7 +4938,7 @@ dependencies = [ [[package]] name = "vestige-mcp" -version = "2.2.1" +version = "2.3.0" dependencies = [ "anyhow", "axum", diff --git a/Cargo.toml b/Cargo.toml index 9dffd26..ebee9f1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ exclude = [ ] [workspace.package] -version = "2.2.1" +version = "2.3.0" edition = "2024" license = "AGPL-3.0-only" repository = "https://github.com/samvallad33/vestige" diff --git a/apps/dashboard/build/_app/immutable/assets/0.BRosXaQv.css b/apps/dashboard/build/_app/immutable/assets/0.BRosXaQv.css new file mode 100644 index 0000000..0c4987d --- /dev/null +++ b/apps/dashboard/build/_app/immutable/assets/0.BRosXaQv.css @@ -0,0 +1 @@ +/*! tailwindcss v4.2.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--angle:0deg;--shine:0%}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-amber-400:oklch(82.8% .189 84.429);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-void:#050510;--color-abyss:#0a0a1a;--color-deep:#10102a;--color-surface:#161638;--color-elevated:#1e1e4a;--color-subtle:#2a2a5e;--color-muted:#4a4a7a;--color-dim:#7a7aaa;--color-text:#e0e0ff;--color-bright:#fff;--color-synapse:#6366f1;--color-synapse-glow:#818cf8;--color-dream:#a855f7;--color-dream-glow:#c084fc;--color-memory:#3b82f6;--color-recall:#10b981;--color-decay:#ef4444;--color-warning:#f59e0b;--color-node-pattern:#ec4899}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.start\!{inset-inline-start:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.end\!{inset-inline-end:var(--spacing)!important}.top-0{top:calc(var(--spacing) * 0)}.top-0\.5{top:calc(var(--spacing) * .5)}.top-1{top:calc(var(--spacing) * 1)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-10{top:calc(var(--spacing) * 10)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-\[29px\]{left:-29px}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3\.5{left:calc(var(--spacing) * 3.5)}.left-4{left:calc(var(--spacing) * 4)}.left-6{left:calc(var(--spacing) * 6)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-\[-12px\]{margin-top:-12px}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-40{height:calc(var(--spacing) * 40)}.h-\[520px\]{height:520px}.h-\[560px\]{height:560px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[620px\]{max-height:620px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-\[240px\]{min-height:240px}.min-h-\[320px\]{min-height:320px}.min-h-\[520px\]{min-height:520px}.min-h-full{min-height:100%}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-96{width:calc(var(--spacing) * 96)}.w-\[3px\]{width:3px}.w-\[6ch\]{width:6ch}.w-\[90\%\]{width:90%}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-\[220px\]{max-width:220px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-12{min-width:calc(var(--spacing) * 12)}.min-w-16{min-width:calc(var(--spacing) * 16)}.min-w-64{min-width:calc(var(--spacing) * 64)}.min-w-\[2rem\]{min-width:2rem}.min-w-\[3\.5rem\]{min-width:3.5rem}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-separate{border-collapse:separate}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-150{--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-none{cursor:none}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[2px\]{gap:2px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-decay\/20{border-color:#ef444433!important}@supports (color:color-mix(in lab,red,red)){.\!border-decay\/20{border-color:color-mix(in oklab,var(--color-decay) 20%,transparent)!important}}.\!border-decay\/30{border-color:#ef44444d!important}@supports (color:color-mix(in lab,red,red)){.\!border-decay\/30{border-color:color-mix(in oklab,var(--color-decay) 30%,transparent)!important}}.\!border-decay\/40{border-color:#ef444466!important}@supports (color:color-mix(in lab,red,red)){.\!border-decay\/40{border-color:color-mix(in oklab,var(--color-decay) 40%,transparent)!important}}.\!border-dream\/20{border-color:#a855f733!important}@supports (color:color-mix(in lab,red,red)){.\!border-dream\/20{border-color:color-mix(in oklab,var(--color-dream) 20%,transparent)!important}}.\!border-synapse\/15{border-color:#6366f126!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/15{border-color:color-mix(in oklab,var(--color-synapse) 15%,transparent)!important}}.\!border-synapse\/20{border-color:#6366f133!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/20{border-color:color-mix(in oklab,var(--color-synapse) 20%,transparent)!important}}.\!border-synapse\/25{border-color:#6366f140!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/25{border-color:color-mix(in oklab,var(--color-synapse) 25%,transparent)!important}}.\!border-synapse\/30{border-color:#6366f14d!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/30{border-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)!important}}.\!border-synapse\/40{border-color:#6366f166!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/40{border-color:color-mix(in oklab,var(--color-synapse) 40%,transparent)!important}}.border-\[\#5dcaa5\]{border-color:#5dcaa5}.border-\[\#5dcaa5\]\/20{border-color:#5dcaa533}.border-\[\#5dcaa5\]\/25{border-color:#5dcaa540}.border-\[\#5dcaa5\]\/40{border-color:#5dcaa566}.border-\[\#A33FFF\]\/40{border-color:#a33fff66}.border-decay\/20{border-color:#ef444433}@supports (color:color-mix(in lab,red,red)){.border-decay\/20{border-color:color-mix(in oklab,var(--color-decay) 20%,transparent)}}.border-dream-glow\/40{border-color:#c084fc66}@supports (color:color-mix(in lab,red,red)){.border-dream-glow\/40{border-color:color-mix(in oklab,var(--color-dream-glow) 40%,transparent)}}.border-dream\/10{border-color:#a855f71a}@supports (color:color-mix(in lab,red,red)){.border-dream\/10{border-color:color-mix(in oklab,var(--color-dream) 10%,transparent)}}.border-dream\/20{border-color:#a855f733}@supports (color:color-mix(in lab,red,red)){.border-dream\/20{border-color:color-mix(in oklab,var(--color-dream) 20%,transparent)}}.border-dream\/30{border-color:#a855f74d}@supports (color:color-mix(in lab,red,red)){.border-dream\/30{border-color:color-mix(in oklab,var(--color-dream) 30%,transparent)}}.border-dream\/40{border-color:#a855f766}@supports (color:color-mix(in lab,red,red)){.border-dream\/40{border-color:color-mix(in oklab,var(--color-dream) 40%,transparent)}}.border-dream\/50{border-color:#a855f780}@supports (color:color-mix(in lab,red,red)){.border-dream\/50{border-color:color-mix(in oklab,var(--color-dream) 50%,transparent)}}.border-recall\/25{border-color:#10b98140}@supports (color:color-mix(in lab,red,red)){.border-recall\/25{border-color:color-mix(in oklab,var(--color-recall) 25%,transparent)}}.border-recall\/30{border-color:#10b9814d}@supports (color:color-mix(in lab,red,red)){.border-recall\/30{border-color:color-mix(in oklab,var(--color-recall) 30%,transparent)}}.border-recall\/40{border-color:#10b98166}@supports (color:color-mix(in lab,red,red)){.border-recall\/40{border-color:color-mix(in oklab,var(--color-recall) 40%,transparent)}}.border-red-900\/50{border-color:#82181a80}@supports (color:color-mix(in lab,red,red)){.border-red-900\/50{border-color:color-mix(in oklab,var(--color-red-900) 50%,transparent)}}.border-subtle\/15{border-color:#2a2a5e26}@supports (color:color-mix(in lab,red,red)){.border-subtle\/15{border-color:color-mix(in oklab,var(--color-subtle) 15%,transparent)}}.border-subtle\/20{border-color:#2a2a5e33}@supports (color:color-mix(in lab,red,red)){.border-subtle\/20{border-color:color-mix(in oklab,var(--color-subtle) 20%,transparent)}}.border-subtle\/30{border-color:#2a2a5e4d}@supports (color:color-mix(in lab,red,red)){.border-subtle\/30{border-color:color-mix(in oklab,var(--color-subtle) 30%,transparent)}}.border-synapse{border-color:var(--color-synapse)}.border-synapse\/5{border-color:#6366f10d}@supports (color:color-mix(in lab,red,red)){.border-synapse\/5{border-color:color-mix(in oklab,var(--color-synapse) 5%,transparent)}}.border-synapse\/10{border-color:#6366f11a}@supports (color:color-mix(in lab,red,red)){.border-synapse\/10{border-color:color-mix(in oklab,var(--color-synapse) 10%,transparent)}}.border-synapse\/15{border-color:#6366f126}@supports (color:color-mix(in lab,red,red)){.border-synapse\/15{border-color:color-mix(in oklab,var(--color-synapse) 15%,transparent)}}.border-synapse\/20{border-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.border-synapse\/20{border-color:color-mix(in oklab,var(--color-synapse) 20%,transparent)}}.border-synapse\/25{border-color:#6366f140}@supports (color:color-mix(in lab,red,red)){.border-synapse\/25{border-color:color-mix(in oklab,var(--color-synapse) 25%,transparent)}}.border-synapse\/30{border-color:#6366f14d}@supports (color:color-mix(in lab,red,red)){.border-synapse\/30{border-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)}}.border-synapse\/40{border-color:#6366f166}@supports (color:color-mix(in lab,red,red)){.border-synapse\/40{border-color:color-mix(in oklab,var(--color-synapse) 40%,transparent)}}.border-transparent{border-color:#0000}.border-warning\/30{border-color:#f59e0b4d}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.border-warning\/40{border-color:#f59e0b66}@supports (color:color-mix(in lab,red,red)){.border-warning\/40{border-color:color-mix(in oklab,var(--color-warning) 40%,transparent)}}.border-warning\/50{border-color:#f59e0b80}@supports (color:color-mix(in lab,red,red)){.border-warning\/50{border-color:color-mix(in oklab,var(--color-warning) 50%,transparent)}}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.border-t-dream{border-top-color:var(--color-dream)}.border-t-synapse{border-top-color:var(--color-synapse)}.border-t-warning{border-top-color:var(--color-warning)}.bg-\[\#5dcaa5\]{background-color:#5dcaa5}.bg-\[\#5dcaa5\]\/15{background-color:#5dcaa526}.bg-\[\#5dcaa5\]\/25{background-color:#5dcaa540}.bg-\[\#03040a\]{background-color:#03040a}.bg-\[\#05060a\]{background-color:#05060a}.bg-\[\#05060a\]\/70{background-color:#05060ab3}.bg-\[\#A33FFF\]{background-color:#a33fff}.bg-\[\#A33FFF\]\/10{background-color:#a33fff1a}.bg-amber-400{background-color:var(--color-amber-400)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-decay{background-color:var(--color-decay)}.bg-decay\/10{background-color:#ef44441a}@supports (color:color-mix(in lab,red,red)){.bg-decay\/10{background-color:color-mix(in oklab,var(--color-decay) 10%,transparent)}}.bg-decay\/20{background-color:#ef444433}@supports (color:color-mix(in lab,red,red)){.bg-decay\/20{background-color:color-mix(in oklab,var(--color-decay) 20%,transparent)}}.bg-decay\/\[0\.05\]{background-color:#ef44440d}@supports (color:color-mix(in lab,red,red)){.bg-decay\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-decay) 5%,transparent)}}.bg-deep{background-color:var(--color-deep)}.bg-deep\/40{background-color:#10102a66}@supports (color:color-mix(in lab,red,red)){.bg-deep\/40{background-color:color-mix(in oklab,var(--color-deep) 40%,transparent)}}.bg-deep\/60{background-color:#10102a99}@supports (color:color-mix(in lab,red,red)){.bg-deep\/60{background-color:color-mix(in oklab,var(--color-deep) 60%,transparent)}}.bg-dream{background-color:var(--color-dream)}.bg-dream\/5{background-color:#a855f70d}@supports (color:color-mix(in lab,red,red)){.bg-dream\/5{background-color:color-mix(in oklab,var(--color-dream) 5%,transparent)}}.bg-dream\/10{background-color:#a855f71a}@supports (color:color-mix(in lab,red,red)){.bg-dream\/10{background-color:color-mix(in oklab,var(--color-dream) 10%,transparent)}}.bg-dream\/15{background-color:#a855f726}@supports (color:color-mix(in lab,red,red)){.bg-dream\/15{background-color:color-mix(in oklab,var(--color-dream) 15%,transparent)}}.bg-dream\/20{background-color:#a855f733}@supports (color:color-mix(in lab,red,red)){.bg-dream\/20{background-color:color-mix(in oklab,var(--color-dream) 20%,transparent)}}.bg-muted{background-color:var(--color-muted)}.bg-node-pattern{background-color:var(--color-node-pattern)}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-recall{background-color:var(--color-recall)}.bg-recall\/10{background-color:#10b9811a}@supports (color:color-mix(in lab,red,red)){.bg-recall\/10{background-color:color-mix(in oklab,var(--color-recall) 10%,transparent)}}.bg-recall\/15{background-color:#10b98126}@supports (color:color-mix(in lab,red,red)){.bg-recall\/15{background-color:color-mix(in oklab,var(--color-recall) 15%,transparent)}}.bg-recall\/20{background-color:#10b98133}@supports (color:color-mix(in lab,red,red)){.bg-recall\/20{background-color:color-mix(in oklab,var(--color-recall) 20%,transparent)}}.bg-red-950\/30{background-color:#4608094d}@supports (color:color-mix(in lab,red,red)){.bg-red-950\/30{background-color:color-mix(in oklab,var(--color-red-950) 30%,transparent)}}.bg-synapse{background-color:var(--color-synapse)}.bg-synapse-glow{background-color:var(--color-synapse-glow)}.bg-synapse\/10{background-color:#6366f11a}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/10{background-color:color-mix(in oklab,var(--color-synapse) 10%,transparent)}}.bg-synapse\/15{background-color:#6366f126}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/15{background-color:color-mix(in oklab,var(--color-synapse) 15%,transparent)}}.bg-synapse\/20{background-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/20{background-color:color-mix(in oklab,var(--color-synapse) 20%,transparent)}}.bg-synapse\/25{background-color:#6366f140}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/25{background-color:color-mix(in oklab,var(--color-synapse) 25%,transparent)}}.bg-synapse\/70{background-color:#6366f1b3}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/70{background-color:color-mix(in oklab,var(--color-synapse) 70%,transparent)}}.bg-transparent{background-color:#0000}.bg-void{background-color:var(--color-void)}.bg-void\/60{background-color:#05051099}@supports (color:color-mix(in lab,red,red)){.bg-void\/60{background-color:color-mix(in oklab,var(--color-void) 60%,transparent)}}.bg-warning{background-color:var(--color-warning)}.bg-warning\/5{background-color:#f59e0b0d}@supports (color:color-mix(in lab,red,red)){.bg-warning\/5{background-color:color-mix(in oklab,var(--color-warning) 5%,transparent)}}.bg-warning\/20{background-color:#f59e0b33}@supports (color:color-mix(in lab,red,red)){.bg-warning\/20{background-color:color-mix(in oklab,var(--color-warning) 20%,transparent)}}.bg-white\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#05060a\]\/85{--tw-gradient-from:oklab(12.2919% .000261273 -.0107539/.85);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-dream{--tw-gradient-from:var(--color-dream);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-synapse{--tw-gradient-to:var(--color-synapse);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.\[padding-top\:max\(0\.75rem\,env\(safe-area-inset-top\)\)\]{padding-top:max(.75rem,env(safe-area-inset-top))}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-\[10vh\]{padding-top:10vh}.\[padding-right\:max\(0\.75rem\,env\(safe-area-inset-right\)\)\]{padding-right:max(.75rem,env(safe-area-inset-right))}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.\[padding-left\:max\(0\.75rem\,env\(safe-area-inset-left\)\)\]{padding-left:max(.75rem,env(safe-area-inset-left))}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-14{padding-left:calc(var(--spacing) * 14)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#5dcaa5\]{color:#5dcaa5}.text-\[\#5dcaa5\]\/60{color:#5dcaa599}.text-\[\#5dcaa5\]\/70{color:#5dcaa5b3}.text-\[\#7fe6c0\]{color:#7fe6c0}.text-\[\#05060a\]{color:#05060a}.text-\[\#E4C8FF\]{color:#e4c8ff}.text-\[\#a6dcff\]{color:#a6dcff}.text-\[\#ffffff\]\/\[0\.5\]{color:#ffffff80}.text-\[\#ffffff\]\/\[0\.55\]{color:#ffffff8c}.text-amber-400{color:var(--color-amber-400)}.text-bright{color:var(--color-bright)}.text-decay{color:var(--color-decay)}.text-decay\/60{color:#ef444499}@supports (color:color-mix(in lab,red,red)){.text-decay\/60{color:color-mix(in oklab,var(--color-decay) 60%,transparent)}}.text-decay\/80{color:#ef4444cc}@supports (color:color-mix(in lab,red,red)){.text-decay\/80{color:color-mix(in oklab,var(--color-decay) 80%,transparent)}}.text-dim{color:var(--color-dim)}.text-dim\/70{color:#7a7aaab3}@supports (color:color-mix(in lab,red,red)){.text-dim\/70{color:color-mix(in oklab,var(--color-dim) 70%,transparent)}}.text-dream{color:var(--color-dream)}.text-dream-glow{color:var(--color-dream-glow)}.text-dream\/50{color:#a855f780}@supports (color:color-mix(in lab,red,red)){.text-dream\/50{color:color-mix(in oklab,var(--color-dream) 50%,transparent)}}.text-dream\/80{color:#a855f7cc}@supports (color:color-mix(in lab,red,red)){.text-dream\/80{color:color-mix(in oklab,var(--color-dream) 80%,transparent)}}.text-memory{color:var(--color-memory)}.text-muted{color:var(--color-muted)}.text-muted\/50{color:#4a4a7a80}@supports (color:color-mix(in lab,red,red)){.text-muted\/50{color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.text-muted\/60{color:#4a4a7a99}@supports (color:color-mix(in lab,red,red)){.text-muted\/60{color:color-mix(in oklab,var(--color-muted) 60%,transparent)}}.text-node-pattern{color:var(--color-node-pattern)}.text-purple-400{color:var(--color-purple-400)}.text-recall{color:var(--color-recall)}.text-red-400{color:var(--color-red-400)}.text-subtle{color:var(--color-subtle)}.text-synapse{color:var(--color-synapse)}.text-synapse-glow{color:var(--color-synapse-glow)}.text-text{color:var(--color-text)}.text-text\/80{color:#e0e0ffcc}@supports (color:color-mix(in lab,red,red)){.text-text\/80{color:color-mix(in oklab,var(--color-text) 80%,transparent)}}.text-warning{color:var(--color-warning)}.text-warning\/60{color:#f59e0b99}@supports (color:color-mix(in lab,red,red)){.text-warning\/60{color:color-mix(in oklab,var(--color-warning) 60%,transparent)}}.text-warning\/70{color:#f59e0bb3}@supports (color:color-mix(in lab,red,red)){.text-warning\/70{color:color-mix(in oklab,var(--color-warning) 70%,transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.\[font-variant-numeric\:tabular-nums\]{font-variant-numeric:tabular-nums}.underline-offset-4{text-underline-offset:4px}.accent-synapse{accent-color:var(--color-synapse)}.accent-synapse-glow{accent-color:var(--color-synapse-glow)}.opacity-30{opacity:.3}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\!{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(239\,68\,68\,0\.7\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#ef4444b3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(99\,102\,241\,0\.15\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#6366f126);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(99\,102\,241\,0\.18\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#6366f12e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(163\,63\,255\,0\.15\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#a33fff26);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_-4px_var\(--color-synapse-glow\)\]{--tw-shadow:0 0 16px -4px var(--tw-shadow-color,var(--color-synapse-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_rgba\(99\,102\,241\,0\.3\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,#6366f14d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_rgba\(168\,85\,247\,0\.3\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,#a855f74d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-synapse\/10{--tw-shadow-color:#6366f11a}@supports (color:color-mix(in lab,red,red)){.shadow-synapse\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-synapse) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-synapse\/20{--tw-shadow-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.shadow-synapse\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-synapse) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-dream-glow{--tw-ring-color:var(--color-dream-glow)}.ring-dream\/60{--tw-ring-color:#a855f799}@supports (color:color-mix(in lab,red,red)){.ring-dream\/60{--tw-ring-color:color-mix(in oklab, var(--color-dream) 60%, transparent)}}.ring-recall\/30{--tw-ring-color:#10b9814d}@supports (color:color-mix(in lab,red,red)){.ring-recall\/30{--tw-ring-color:color-mix(in oklab, var(--color-recall) 30%, transparent)}}.ring-synapse\/60{--tw-ring-color:#6366f199}@supports (color:color-mix(in lab,red,red)){.ring-synapse\/60{--tw-ring-color:color-mix(in oklab, var(--color-synapse) 60%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.placeholder\:text-muted::placeholder{color:var(--color-muted)}@media(hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-\[1\.03\]:hover{scale:1.03}.hover\:rotate-180:hover{rotate:180deg}.hover\:\!border-synapse\/30:hover{border-color:#6366f14d!important}@supports (color:color-mix(in lab,red,red)){.hover\:\!border-synapse\/30:hover{border-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)!important}}.hover\:border-\[\#5dcaa5\]\/50:hover{border-color:#5dcaa580}.hover\:border-\[\#5dcaa5\]\/60:hover{border-color:#5dcaa599}.hover\:border-synapse\/20:hover{border-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.hover\:border-synapse\/20:hover{border-color:color-mix(in oklab,var(--color-synapse) 20%,transparent)}}.hover\:border-synapse\/30:hover{border-color:#6366f14d}@supports (color:color-mix(in lab,red,red)){.hover\:border-synapse\/30:hover{border-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)}}.hover\:border-synapse\/50:hover{border-color:#6366f180}@supports (color:color-mix(in lab,red,red)){.hover\:border-synapse\/50:hover{border-color:color-mix(in oklab,var(--color-synapse) 50%,transparent)}}.hover\:bg-\[\#5dcaa5\]\/25:hover{background-color:#5dcaa540}.hover\:bg-decay\/20:hover{background-color:#ef444433}@supports (color:color-mix(in lab,red,red)){.hover\:bg-decay\/20:hover{background-color:color-mix(in oklab,var(--color-decay) 20%,transparent)}}.hover\:bg-decay\/30:hover{background-color:#ef44444d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-decay\/30:hover{background-color:color-mix(in oklab,var(--color-decay) 30%,transparent)}}.hover\:bg-decay\/\[0\.06\]:hover{background-color:#ef44440f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-decay\/\[0\.06\]:hover{background-color:color-mix(in oklab,var(--color-decay) 6%,transparent)}}.hover\:bg-dream\/20:hover{background-color:#a855f733}@supports (color:color-mix(in lab,red,red)){.hover\:bg-dream\/20:hover{background-color:color-mix(in oklab,var(--color-dream) 20%,transparent)}}.hover\:bg-dream\/30:hover{background-color:#a855f74d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-dream\/30:hover{background-color:color-mix(in oklab,var(--color-dream) 30%,transparent)}}.hover\:bg-purple-500\/30:hover{background-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-500\/30:hover{background-color:color-mix(in oklab,var(--color-purple-500) 30%,transparent)}}.hover\:bg-recall\/30:hover{background-color:#10b9814d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-recall\/30:hover{background-color:color-mix(in oklab,var(--color-recall) 30%,transparent)}}.hover\:bg-synapse\/30:hover{background-color:#6366f14d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-synapse\/30:hover{background-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)}}.hover\:bg-warning\/30:hover{background-color:#f59e0b4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-warning\/30:hover{background-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.02\]:hover{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.03\]:hover{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.04\]:hover{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.08\]:hover{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.hover\:text-\[\#5dcaa5\]:hover{color:#5dcaa5}.hover\:text-bright:hover{color:var(--color-bright)}.hover\:text-dim:hover{color:var(--color-dim)}.hover\:text-synapse-glow:hover{color:var(--color-synapse-glow)}.hover\:text-text:hover{color:var(--color-text)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:\!border-synapse\/40:focus{border-color:#6366f166!important}@supports (color:color-mix(in lab,red,red)){.focus\:\!border-synapse\/40:focus{border-color:color-mix(in oklab,var(--color-synapse) 40%,transparent)!important}}.focus\:border-dream\/40:focus{border-color:#a855f766}@supports (color:color-mix(in lab,red,red)){.focus\:border-dream\/40:focus{border-color:color-mix(in oklab,var(--color-dream) 40%,transparent)}}.focus\:border-synapse\/40:focus{border-color:#6366f166}@supports (color:color-mix(in lab,red,red)){.focus\:border-synapse\/40:focus{border-color:color-mix(in oklab,var(--color-synapse) 40%,transparent)}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-synapse-glow:focus{--tw-ring-color:var(--color-synapse-glow)}.focus\:ring-synapse\/15:focus{--tw-ring-color:#6366f126}@supports (color:color-mix(in lab,red,red)){.focus\:ring-synapse\/15:focus{--tw-ring-color:color-mix(in oklab, var(--color-synapse) 15%, transparent)}}.focus\:ring-synapse\/20:focus{--tw-ring-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.focus\:ring-synapse\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-synapse) 20%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-dream-glow\/60:focus-visible{--tw-ring-color:#c084fc99}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-dream-glow\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-dream-glow) 60%, transparent)}}.focus-visible\:ring-recall\/60:focus-visible{--tw-ring-color:#10b98199}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-recall\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-recall) 60%, transparent)}}.focus-visible\:ring-synapse\/60:focus-visible{--tw-ring-color:#6366f199}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-synapse\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-synapse) 60%, transparent)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:top-4{top:calc(var(--spacing) * 4)}.sm\:right-4{right:calc(var(--spacing) * 4)}.sm\:left-4{left:calc(var(--spacing) * 4)}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:w-auto{width:auto}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:p-0{padding:calc(var(--spacing) * 0)}.sm\:\[padding-top\:0\]{padding-top:0}.sm\:\[padding-right\:0\]{padding-right:0}.sm\:\[padding-left\:0\]{padding-left:0}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:inline-flex{display:inline-flex}.md\:min-w-\[340px\]{min-width:340px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}.md\:flex-row{flex-direction:row}.md\:pt-\[15vh\]{padding-top:15vh}.md\:pb-0{padding-bottom:calc(var(--spacing) * 0)}}@media(min-width:64rem){.lg\:block{display:block}.lg\:inline{display:inline}.lg\:inline-flex{display:inline-flex}.lg\:w-56{width:calc(var(--spacing) * 56)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.lg\:grid-cols-\[1fr_340px\]{grid-template-columns:1fr 340px}.lg\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.lg\:grid-cols-\[minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:calc(var(--spacing) * 3)}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:calc(var(--spacing) * 3)}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-slider-thumb\]\:bg-synapse-glow::-webkit-slider-thumb{background-color:var(--color-synapse-glow)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-\[0_0_8px_rgba\(129\,140\,248\,0\.4\)\]::-webkit-slider-thumb{--tw-shadow:0 0 8px var(--tw-shadow-color,#818cf866);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}html{background:var(--color-void);color:var(--color-text);font-family:var(--font-mono)}@supports (color:oklch(0 0 0)){:root{--color-synapse:oklch(58.5% .222 277);--color-synapse-glow:oklch(68.5% .169 277);--color-dream:oklch(62.7% .265 304);--color-dream-glow:oklch(71.4% .203 305);--color-memory:oklch(62.3% .214 259);--color-recall:oklch(69.6% .17 162);--color-decay:oklch(63.7% .237 25);--color-warning:oklch(76.9% .188 70);--color-node-fact:oklch(62.3% .214 259);--color-node-concept:oklch(60.6% .25 292);--color-node-event:oklch(76.9% .188 70);--color-node-person:oklch(69.6% .17 162);--color-node-place:oklch(71.5% .143 215);--color-node-note:oklch(55.1% .027 264);--color-node-pattern:oklch(65.6% .241 354);--color-node-decision:oklch(63.7% .237 25)}}body{min-height:100vh;margin:0;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-subtle);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}.glass{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#16163873;border:1px solid #6366f114;box-shadow:inset 0 1px #ffffff08,0 4px 24px #0000004d}.glass-subtle{-webkit-backdrop-filter:blur(12px)saturate(150%);background:#10102a66;border:1px solid #6366f10f;box-shadow:inset 0 1px #ffffff05,0 2px 12px #0003}.glass-sidebar{-webkit-backdrop-filter:blur(24px)saturate(180%);background:#0a0a1a99;border-right:1px solid #6366f11a;box-shadow:inset -1px 0 #ffffff05,4px 0 24px #0000004d}.glass-panel{-webkit-backdrop-filter:blur(24px)saturate(180%);background:#0a0a1acc;border:1px solid #6366f11a;box-shadow:inset 0 1px #ffffff08,0 8px 32px #0006}.glow-synapse{box-shadow:0 0 20px #6366f14d,0 0 60px #6366f11a}.glow-dream{box-shadow:0 0 20px #a855f74d,0 0 60px #a855f71a}.glow-memory{box-shadow:0 0 20px #3b82f64d,0 0 60px #3b82f61a}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}@keyframes orb-float-1{0%,to{transform:translate(0)scale(1)}25%{transform:translate(60px,-40px)scale(1.1)}50%{transform:translate(-30px,-80px)scale(.95)}75%{transform:translate(-60px,-20px)scale(1.05)}}@keyframes orb-float-2{0%,to{transform:translate(0)scale(1)}25%{transform:translate(-50px,30px)scale(1.08)}50%{transform:translate(40px,60px)scale(.92)}75%{transform:translate(20px,-40px)scale(1.03)}}@keyframes orb-float-3{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,50px)scale(1.05)}50%{transform:translate(-60px,20px)scale(.98)}75%{transform:translate(40px,-30px)scale(1.1)}}.ambient-orb{filter:blur(80px);pointer-events:none;z-index:0;opacity:.35;border-radius:50%;position:fixed}.ambient-orb-1{background:radial-gradient(circle,#a855f766,#0000 70%);width:400px;height:400px;animation:20s ease-in-out infinite orb-float-1;top:-10%;right:-5%}.ambient-orb-2{background:radial-gradient(circle,#6366f159,#0000 70%);width:350px;height:350px;animation:25s ease-in-out infinite orb-float-2;bottom:-15%;left:-5%}.ambient-orb-3{background:radial-gradient(circle,#f59e0b33,#0000 70%);width:300px;height:300px;animation:22s ease-in-out infinite orb-float-3;top:40%;left:40%}.nav-active-border{position:relative}.nav-active-border:before{content:"";background:linear-gradient(180deg,var(--color-synapse),var(--color-dream),var(--color-synapse));background-size:100% 200%;border-radius:1px;width:2px;animation:3s ease-in-out infinite gradient-shift;position:absolute;top:4px;bottom:4px;left:0}@keyframes gradient-shift{0%,to{background-position:0 0}50%{background-position:0 100%}}@keyframes float{0%,to{transform:translateY(0)translate(0)}25%{transform:translateY(-10px)translate(5px)}50%{transform:translateY(-5px)translate(-5px)}75%{transform:translateY(-15px)translate(3px)}}.retention-critical{color:var(--color-decay)}.retention-low{color:var(--color-warning)}.retention-good{color:var(--color-recall)}.retention-strong{color:var(--color-synapse)}@media not all and (prefers-reduced-motion:reduce){::view-transition-old(root){animation-duration:.18s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease}::view-transition-old(root){animation-name:vt-fade-out}::view-transition-new(root){animation-name:vt-fade-in}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}}@property --angle{syntax:"";inherits:false;initial-value:0deg}@property --shine{syntax:"";inherits:false;initial-value:0%}.reveal{opacity:0;transform:translateY(var(--reveal-y,16px));transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);will-change:opacity,transform}.reveal-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}@media not all and (prefers-reduced-motion:reduce){.enter{transition:opacity .4s,transform .4s cubic-bezier(.22,1,.36,1)}@starting-style{.enter{opacity:0;transform:translateY(10px)}}}.live-border{isolation:isolate;position:relative}.live-border:before{content:"";border-radius:inherit;background:conic-gradient(from var(--angle),transparent 0%,var(--color-synapse) 18%,var(--color-dream) 33%,transparent 50%,transparent 100%);pointer-events:none;opacity:.6;z-index:-1;padding:1px;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media not all and (prefers-reduced-motion:reduce){.live-border:before{animation:6s linear infinite border-rotate}@keyframes border-rotate{to{--angle:360deg}}}.spotlight-surface{position:relative;overflow:hidden}.spotlight-surface:after{content:"";pointer-events:none;background:radial-gradient(340px circle at var(--spot-x,50%) var(--spot-y,50%),#818cf81f,transparent 60%);opacity:var(--spot-o,0);z-index:0;transition:opacity .3s;position:absolute;top:0;right:0;bottom:0;left:0}.tilt-glare{position:relative;overflow:hidden}.tilt-glare:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,50%),#ffffff24,transparent 45%);opacity:var(--glare-o,0);transition:opacity .3s;position:absolute;top:0;right:0;bottom:0;left:0}.breathe{animation:3.2s ease-in-out infinite breathe}@keyframes breathe{0%,to{filter:drop-shadow(0 0 2px);opacity:.85;transform:scale(1)}50%{filter:drop-shadow(0 0 7px);opacity:1;transform:scale(1.18)}}@media(prefers-reduced-motion:reduce){.breathe{animation:none}}.ping-host{position:relative}.ping-host:before{content:"";opacity:.6;z-index:-1;background:currentColor;border-radius:50%;position:absolute;top:0;right:0;bottom:0;left:0}@media not all and (prefers-reduced-motion:reduce){.ping-host:before{animation:2.4s cubic-bezier(0,0,.2,1) infinite ping}@keyframes ping{0%{opacity:.5;transform:scale(1)}80%,to{opacity:0;transform:scale(2.6)}}}.shimmer{background:#ffffff08;position:relative;overflow:hidden}.shimmer:after{content:"";background:linear-gradient(90deg,#0000,#818cf81f,#0000);position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%)}@media not all and (prefers-reduced-motion:reduce){.shimmer:after{animation:1.6s ease-in-out infinite shimmer}@keyframes shimmer{to{transform:translate(100%)}}}.text-aurora{background:linear-gradient(100deg,var(--color-synapse-glow),var(--color-dream-glow),var(--color-recall),var(--color-synapse-glow));color:#0000;background-size:250% 100%;-webkit-background-clip:text;background-clip:text}@media not all and (prefers-reduced-motion:reduce){.text-aurora{animation:8s ease-in-out infinite aurora-drift}@keyframes aurora-drift{0%,to{background-position:0%}50%{background-position:100%}}}.lift{transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s,border-color .28s}.lift:hover{transform:translateY(-3px);box-shadow:0 12px 32px #00000059,0 0 0 1px #6366f12e}@media(prefers-reduced-motion:reduce){.lift:hover{transform:none}}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}:where(button,a,input,select,[role=button],[tabindex]):focus-visible{outline:2px solid var(--color-synapse-glow);outline-offset:2px;border-radius:.4rem}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.toast-layer.svelte-pry2ep{position:fixed;z-index:60;pointer-events:none;display:flex;flex-direction:column;gap:.5rem;right:1.25rem;bottom:1.25rem;max-width:22rem;width:calc(100vw - 2.5rem)}@media(max-width:768px){.toast-layer.svelte-pry2ep{right:.75rem;left:.75rem;bottom:auto;top:5.25rem;max-width:none;width:auto;align-items:stretch}}.toast-item.svelte-pry2ep{pointer-events:auto;position:relative;display:flex;gap:.75rem;align-items:stretch;text-align:left;font:inherit;color:inherit;background:#0c0e16b8;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid rgba(255,255,255,.06);border-radius:.75rem;padding:.75rem .9rem .75rem .5rem;overflow:hidden;box-shadow:0 10px 40px -12px #000c,0 0 22px -6px var(--toast-color);cursor:pointer;animation:svelte-pry2ep-toast-in .32s cubic-bezier(.16,1,.3,1);transform-origin:right center;transition:transform .15s ease,box-shadow .15s ease}.toast-item.svelte-pry2ep:hover{transform:translateY(-1px) scale(1.015);box-shadow:0 14px 48px -12px #000000d9,0 0 32px -4px var(--toast-color)}.toast-item.svelte-pry2ep:focus-visible{outline:1px solid var(--toast-color);outline-offset:2px}.toast-accent.svelte-pry2ep{width:3px;border-radius:2px;background:var(--toast-color);box-shadow:0 0 10px var(--toast-color);flex-shrink:0}.toast-body.svelte-pry2ep{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.toast-head.svelte-pry2ep{display:flex;align-items:center;gap:.5rem}.toast-icon.svelte-pry2ep{color:var(--toast-color);font-size:.95rem;text-shadow:0 0 8px var(--toast-color);line-height:1;width:1rem;display:inline-flex;justify-content:center}.toast-title.svelte-pry2ep{color:#f5f5fa;font-size:.82rem;font-weight:600;letter-spacing:.01em}.toast-sub.svelte-pry2ep{color:#b0b6c4;font-size:.74rem;line-height:1.35;padding-left:1.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-progress.svelte-pry2ep{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#ffffff0a}.toast-progress-fill.svelte-pry2ep{height:100%;background:var(--toast-color);opacity:.55;transform-origin:left center;animation:svelte-pry2ep-toast-progress var(--toast-dwell) linear forwards}.toast-item.svelte-pry2ep:hover .toast-progress-fill:where(.svelte-pry2ep),.toast-item.svelte-pry2ep:focus-visible .toast-progress-fill:where(.svelte-pry2ep){animation-play-state:paused}@keyframes svelte-pry2ep-toast-in{0%{opacity:0;transform:translate(24px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@media(max-width:768px){.toast-item.svelte-pry2ep{transform-origin:top center;animation:svelte-pry2ep-toast-in-mobile .3s cubic-bezier(.16,1,.3,1)}}@keyframes svelte-pry2ep-toast-in-mobile{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes svelte-pry2ep-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.toast-item.svelte-pry2ep{animation:none}.toast-progress-fill.svelte-pry2ep{animation:none;transform:scaleX(.5)}}.strip-item.svelte-1kk3799{display:inline-flex;align-items:center;gap:.4rem;padding:0 .75rem;white-space:nowrap;flex-shrink:0}.strip-divider.svelte-1kk3799{width:1px;height:14px;background:#6366f11f;flex-shrink:0}.ambient-strip.ambient-flash.svelte-1kk3799{background:linear-gradient(90deg,#ef444414,#ef444400 70%),#0006;border-bottom-color:#ef444459;transition:background .3s ease,border-color .3s ease}@keyframes svelte-1kk3799-ping-slow{0%{transform:scale(1);opacity:.8}80%,to{transform:scale(2);opacity:0}}.animate-ping-slow{animation:svelte-1kk3799-ping-slow 2.2s cubic-bezier(0,0,.2,1) infinite}@media(prefers-reduced-motion:reduce){.ambient-strip.svelte-1kk3799 .animate-ping,.ambient-strip.svelte-1kk3799 .animate-ping-slow,.ambient-strip.svelte-1kk3799 .animate-pulse{animation:none!important}}.verdict-bar.svelte-1j425e6{border-bottom:1px solid rgba(255,255,255,.06);background:#080912b8;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 6px 24px #0000002e}.verdict-summary.svelte-1j425e6{width:100%;min-height:2.75rem;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.55rem 1rem;color:var(--color-text);text-align:left;font:inherit}.sr-only.svelte-1j425e6{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.label.svelte-1j425e6,.field-label.svelte-1j425e6,.appeal-row.svelte-1j425e6>span:where(.svelte-1j425e6){color:var(--color-dim);font-size:.68rem;text-transform:uppercase;letter-spacing:0}.levels.svelte-1j425e6{display:flex;align-items:center;gap:.25rem}.levels.svelte-1j425e6 span:where(.svelte-1j425e6){border:1px solid rgba(255,255,255,.08);border-radius:.35rem;padding:.18rem .38rem;color:var(--color-muted);font-size:.64rem;line-height:1}.levels.svelte-1j425e6 span.active:where(.svelte-1j425e6){color:var(--color-bright);border-color:var(--verdict-color);background:color-mix(in srgb,var(--verdict-color) 18%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--verdict-color) 28%,transparent)}.summary-text.svelte-1j425e6{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:var(--color-dim)}.when.svelte-1j425e6{color:var(--color-muted);font-size:.68rem}.receipt.svelte-1j425e6{margin:0 1rem .75rem;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;background:#0a0a1ac7;padding:.85rem}.receipt-grid.svelte-1j425e6{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(10rem,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:.85rem}.receipt.svelte-1j425e6 p:where(.svelte-1j425e6),.receipt.svelte-1j425e6 li:where(.svelte-1j425e6){margin:.25rem 0 0;color:var(--color-text);font-size:.76rem;line-height:1.45;overflow-wrap:anywhere}.receipt.svelte-1j425e6 ul:where(.svelte-1j425e6){margin:.25rem 0 0;padding-left:1rem}.appeal-row.svelte-1j425e6{display:flex;align-items:center;gap:.4rem;margin-top:.85rem;flex-wrap:wrap}.appeal-row.svelte-1j425e6 button:where(.svelte-1j425e6),.appeal-row.svelte-1j425e6 p:where(.svelte-1j425e6){border:1px solid rgba(255,255,255,.1);border-radius:.4rem;padding:.35rem .6rem;color:var(--color-text);background:#ffffff0a;font-size:.72rem;margin:0}.appeal-row.svelte-1j425e6 button:where(.svelte-1j425e6):hover:not(:disabled),.verdict-summary.svelte-1j425e6:hover{background:#ffffff0d}.appeal-row.svelte-1j425e6 button:where(.svelte-1j425e6):disabled{opacity:.55;cursor:wait}.tone-pass.svelte-1j425e6,.tone-note.svelte-1j425e6{--verdict-color: #10b981}.tone-caution.svelte-1j425e6{--verdict-color: #f59e0b}.tone-veto.svelte-1j425e6{--verdict-color: #ef4444}.tone-appealed.svelte-1j425e6{--verdict-color: #818cf8}@media(max-width:900px){.verdict-summary.svelte-1j425e6{grid-template-columns:auto minmax(0,1fr) auto}.levels.svelte-1j425e6{grid-column:1 / -1;order:4;overflow-x:auto;padding-bottom:.1rem}.receipt-grid.svelte-1j425e6{grid-template-columns:1fr}}.theme-toggle.svelte-1cmi4dh{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:8px;background:#6366f10f;border:1px solid rgba(99,102,241,.14);color:var(--color-text);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.theme-toggle.svelte-1cmi4dh:hover{background:#6366f124;border-color:#6366f14d;color:var(--color-bright)}.theme-toggle.svelte-1cmi4dh:active{transform:scale(.94)}.theme-toggle.svelte-1cmi4dh:focus-visible{outline:1px solid var(--color-synapse);outline-offset:2px}.icon-wrap.svelte-1cmi4dh{position:relative;width:18px;height:18px;display:inline-block}.icon.svelte-1cmi4dh{position:absolute;top:0;right:0;bottom:0;left:0;width:18px;height:18px;opacity:0;transform:scale(.7) rotate(-30deg);transition:opacity .2s ease,transform .2s cubic-bezier(.16,1,.3,1);pointer-events:none}.icon.active.svelte-1cmi4dh{opacity:1;transform:scale(1) rotate(0)}.theme-toggle[data-mode=dark].svelte-1cmi4dh{color:var(--color-synapse-glow, #818cf8)}.theme-toggle[data-mode=light].svelte-1cmi4dh{color:var(--color-warning, #f59e0b)}.theme-toggle[data-mode=auto].svelte-1cmi4dh{color:var(--color-dream-glow, #c084fc)}@media(prefers-reduced-motion:reduce){.theme-toggle.svelte-1cmi4dh,.icon.svelte-1cmi4dh{transition:none}}.safe-bottom.svelte-12qhfyh{padding-bottom:env(safe-area-inset-bottom,0px)}.logo-mark.svelte-12qhfyh{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.logo-link.svelte-12qhfyh:hover .logo-mark:where(.svelte-12qhfyh){transform:rotate(-6deg) scale(1.08);box-shadow:0 0 0 1px #818cf866,0 0 22px #6366f180}.nav-link.text-synapse-glow.svelte-12qhfyh .nav-icon:where(.svelte-12qhfyh) svg,.nav-active-border.svelte-12qhfyh .nav-icon:where(.svelte-12qhfyh) svg{filter:drop-shadow(0 0 6px rgba(129,140,248,.55))} diff --git a/apps/dashboard/build/_app/immutable/assets/0.BRosXaQv.css.br b/apps/dashboard/build/_app/immutable/assets/0.BRosXaQv.css.br new file mode 100644 index 0000000000000000000000000000000000000000..efc434f4171d97e92930f9d64c8159c0a7d9986a GIT binary patch literal 12277 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:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.\!border-decay\/20{border-color:#ef444433!important}@supports (color:color-mix(in lab,red,red)){.\!border-decay\/20{border-color:color-mix(in oklab,var(--color-decay) 20%,transparent)!important}}.\!border-decay\/30{border-color:#ef44444d!important}@supports (color:color-mix(in lab,red,red)){.\!border-decay\/30{border-color:color-mix(in oklab,var(--color-decay) 30%,transparent)!important}}.\!border-decay\/40{border-color:#ef444466!important}@supports (color:color-mix(in lab,red,red)){.\!border-decay\/40{border-color:color-mix(in oklab,var(--color-decay) 40%,transparent)!important}}.\!border-dream\/20{border-color:#a855f733!important}@supports (color:color-mix(in lab,red,red)){.\!border-dream\/20{border-color:color-mix(in oklab,var(--color-dream) 20%,transparent)!important}}.\!border-synapse\/15{border-color:#6366f126!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/15{border-color:color-mix(in oklab,var(--color-synapse) 15%,transparent)!important}}.\!border-synapse\/20{border-color:#6366f133!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/20{border-color:color-mix(in oklab,var(--color-synapse) 20%,transparent)!important}}.\!border-synapse\/25{border-color:#6366f140!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/25{border-color:color-mix(in oklab,var(--color-synapse) 25%,transparent)!important}}.\!border-synapse\/30{border-color:#6366f14d!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/30{border-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)!important}}.\!border-synapse\/40{border-color:#6366f166!important}@supports (color:color-mix(in lab,red,red)){.\!border-synapse\/40{border-color:color-mix(in oklab,var(--color-synapse) 40%,transparent)!important}}.border-\[\#A33FFF\]\/40{border-color:#a33fff66}.border-decay\/20{border-color:#ef444433}@supports (color:color-mix(in lab,red,red)){.border-decay\/20{border-color:color-mix(in oklab,var(--color-decay) 20%,transparent)}}.border-dream-glow\/40{border-color:#c084fc66}@supports (color:color-mix(in lab,red,red)){.border-dream-glow\/40{border-color:color-mix(in oklab,var(--color-dream-glow) 40%,transparent)}}.border-dream\/10{border-color:#a855f71a}@supports (color:color-mix(in lab,red,red)){.border-dream\/10{border-color:color-mix(in oklab,var(--color-dream) 10%,transparent)}}.border-dream\/20{border-color:#a855f733}@supports (color:color-mix(in lab,red,red)){.border-dream\/20{border-color:color-mix(in oklab,var(--color-dream) 20%,transparent)}}.border-dream\/30{border-color:#a855f74d}@supports (color:color-mix(in lab,red,red)){.border-dream\/30{border-color:color-mix(in oklab,var(--color-dream) 30%,transparent)}}.border-dream\/40{border-color:#a855f766}@supports (color:color-mix(in lab,red,red)){.border-dream\/40{border-color:color-mix(in oklab,var(--color-dream) 40%,transparent)}}.border-dream\/50{border-color:#a855f780}@supports (color:color-mix(in lab,red,red)){.border-dream\/50{border-color:color-mix(in oklab,var(--color-dream) 50%,transparent)}}.border-recall\/25{border-color:#10b98140}@supports (color:color-mix(in lab,red,red)){.border-recall\/25{border-color:color-mix(in oklab,var(--color-recall) 25%,transparent)}}.border-recall\/30{border-color:#10b9814d}@supports (color:color-mix(in lab,red,red)){.border-recall\/30{border-color:color-mix(in oklab,var(--color-recall) 30%,transparent)}}.border-recall\/40{border-color:#10b98166}@supports (color:color-mix(in lab,red,red)){.border-recall\/40{border-color:color-mix(in oklab,var(--color-recall) 40%,transparent)}}.border-subtle\/15{border-color:#2a2a5e26}@supports (color:color-mix(in lab,red,red)){.border-subtle\/15{border-color:color-mix(in oklab,var(--color-subtle) 15%,transparent)}}.border-subtle\/20{border-color:#2a2a5e33}@supports (color:color-mix(in lab,red,red)){.border-subtle\/20{border-color:color-mix(in oklab,var(--color-subtle) 20%,transparent)}}.border-subtle\/30{border-color:#2a2a5e4d}@supports (color:color-mix(in lab,red,red)){.border-subtle\/30{border-color:color-mix(in oklab,var(--color-subtle) 30%,transparent)}}.border-synapse{border-color:var(--color-synapse)}.border-synapse\/5{border-color:#6366f10d}@supports (color:color-mix(in lab,red,red)){.border-synapse\/5{border-color:color-mix(in oklab,var(--color-synapse) 5%,transparent)}}.border-synapse\/10{border-color:#6366f11a}@supports (color:color-mix(in lab,red,red)){.border-synapse\/10{border-color:color-mix(in oklab,var(--color-synapse) 10%,transparent)}}.border-synapse\/15{border-color:#6366f126}@supports (color:color-mix(in lab,red,red)){.border-synapse\/15{border-color:color-mix(in oklab,var(--color-synapse) 15%,transparent)}}.border-synapse\/20{border-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.border-synapse\/20{border-color:color-mix(in oklab,var(--color-synapse) 20%,transparent)}}.border-synapse\/25{border-color:#6366f140}@supports (color:color-mix(in lab,red,red)){.border-synapse\/25{border-color:color-mix(in oklab,var(--color-synapse) 25%,transparent)}}.border-synapse\/30{border-color:#6366f14d}@supports (color:color-mix(in lab,red,red)){.border-synapse\/30{border-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)}}.border-synapse\/40{border-color:#6366f166}@supports (color:color-mix(in lab,red,red)){.border-synapse\/40{border-color:color-mix(in oklab,var(--color-synapse) 40%,transparent)}}.border-transparent{border-color:#0000}.border-warning\/30{border-color:#f59e0b4d}@supports (color:color-mix(in lab,red,red)){.border-warning\/30{border-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.border-warning\/40{border-color:#f59e0b66}@supports (color:color-mix(in lab,red,red)){.border-warning\/40{border-color:color-mix(in oklab,var(--color-warning) 40%,transparent)}}.border-warning\/50{border-color:#f59e0b80}@supports (color:color-mix(in lab,red,red)){.border-warning\/50{border-color:color-mix(in oklab,var(--color-warning) 50%,transparent)}}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.border-t-dream{border-top-color:var(--color-dream)}.border-t-synapse{border-top-color:var(--color-synapse)}.border-t-warning{border-top-color:var(--color-warning)}.bg-\[\#A33FFF\]{background-color:#a33fff}.bg-\[\#A33FFF\]\/10{background-color:#a33fff1a}.bg-amber-400{background-color:var(--color-amber-400)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-decay{background-color:var(--color-decay)}.bg-decay\/10{background-color:#ef44441a}@supports (color:color-mix(in lab,red,red)){.bg-decay\/10{background-color:color-mix(in oklab,var(--color-decay) 10%,transparent)}}.bg-decay\/20{background-color:#ef444433}@supports (color:color-mix(in lab,red,red)){.bg-decay\/20{background-color:color-mix(in oklab,var(--color-decay) 20%,transparent)}}.bg-decay\/\[0\.05\]{background-color:#ef44440d}@supports (color:color-mix(in lab,red,red)){.bg-decay\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-decay) 5%,transparent)}}.bg-deep{background-color:var(--color-deep)}.bg-deep\/40{background-color:#10102a66}@supports (color:color-mix(in lab,red,red)){.bg-deep\/40{background-color:color-mix(in oklab,var(--color-deep) 40%,transparent)}}.bg-deep\/60{background-color:#10102a99}@supports (color:color-mix(in lab,red,red)){.bg-deep\/60{background-color:color-mix(in oklab,var(--color-deep) 60%,transparent)}}.bg-dream{background-color:var(--color-dream)}.bg-dream\/5{background-color:#a855f70d}@supports (color:color-mix(in lab,red,red)){.bg-dream\/5{background-color:color-mix(in oklab,var(--color-dream) 5%,transparent)}}.bg-dream\/10{background-color:#a855f71a}@supports (color:color-mix(in lab,red,red)){.bg-dream\/10{background-color:color-mix(in oklab,var(--color-dream) 10%,transparent)}}.bg-dream\/15{background-color:#a855f726}@supports (color:color-mix(in lab,red,red)){.bg-dream\/15{background-color:color-mix(in oklab,var(--color-dream) 15%,transparent)}}.bg-dream\/20{background-color:#a855f733}@supports (color:color-mix(in lab,red,red)){.bg-dream\/20{background-color:color-mix(in oklab,var(--color-dream) 20%,transparent)}}.bg-muted{background-color:var(--color-muted)}.bg-node-pattern{background-color:var(--color-node-pattern)}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500) 20%,transparent)}}.bg-recall{background-color:var(--color-recall)}.bg-recall\/10{background-color:#10b9811a}@supports (color:color-mix(in lab,red,red)){.bg-recall\/10{background-color:color-mix(in oklab,var(--color-recall) 10%,transparent)}}.bg-recall\/15{background-color:#10b98126}@supports (color:color-mix(in lab,red,red)){.bg-recall\/15{background-color:color-mix(in oklab,var(--color-recall) 15%,transparent)}}.bg-recall\/20{background-color:#10b98133}@supports (color:color-mix(in lab,red,red)){.bg-recall\/20{background-color:color-mix(in oklab,var(--color-recall) 20%,transparent)}}.bg-synapse{background-color:var(--color-synapse)}.bg-synapse-glow{background-color:var(--color-synapse-glow)}.bg-synapse\/10{background-color:#6366f11a}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/10{background-color:color-mix(in oklab,var(--color-synapse) 10%,transparent)}}.bg-synapse\/15{background-color:#6366f126}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/15{background-color:color-mix(in oklab,var(--color-synapse) 15%,transparent)}}.bg-synapse\/20{background-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/20{background-color:color-mix(in oklab,var(--color-synapse) 20%,transparent)}}.bg-synapse\/25{background-color:#6366f140}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/25{background-color:color-mix(in oklab,var(--color-synapse) 25%,transparent)}}.bg-synapse\/70{background-color:#6366f1b3}@supports (color:color-mix(in lab,red,red)){.bg-synapse\/70{background-color:color-mix(in oklab,var(--color-synapse) 70%,transparent)}}.bg-transparent{background-color:#0000}.bg-void{background-color:var(--color-void)}.bg-void\/60{background-color:#05051099}@supports (color:color-mix(in lab,red,red)){.bg-void\/60{background-color:color-mix(in oklab,var(--color-void) 60%,transparent)}}.bg-warning{background-color:var(--color-warning)}.bg-warning\/5{background-color:#f59e0b0d}@supports (color:color-mix(in lab,red,red)){.bg-warning\/5{background-color:color-mix(in oklab,var(--color-warning) 5%,transparent)}}.bg-warning\/20{background-color:#f59e0b33}@supports (color:color-mix(in lab,red,red)){.bg-warning\/20{background-color:color-mix(in oklab,var(--color-warning) 20%,transparent)}}.bg-white\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-dream{--tw-gradient-from:var(--color-dream);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-synapse{--tw-gradient-to:var(--color-synapse);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.\[padding-top\:max\(0\.75rem\,env\(safe-area-inset-top\)\)\]{padding-top:max(.75rem,env(safe-area-inset-top))}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-\[10vh\]{padding-top:10vh}.\[padding-right\:max\(0\.75rem\,env\(safe-area-inset-right\)\)\]{padding-right:max(.75rem,env(safe-area-inset-right))}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.\[padding-left\:max\(0\.75rem\,env\(safe-area-inset-left\)\)\]{padding-left:max(.75rem,env(safe-area-inset-left))}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-14{padding-left:calc(var(--spacing) * 14)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-bottom{vertical-align:bottom}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#E4C8FF\]{color:#e4c8ff}.text-amber-400{color:var(--color-amber-400)}.text-bright{color:var(--color-bright)}.text-decay{color:var(--color-decay)}.text-decay\/60{color:#ef444499}@supports (color:color-mix(in lab,red,red)){.text-decay\/60{color:color-mix(in oklab,var(--color-decay) 60%,transparent)}}.text-decay\/80{color:#ef4444cc}@supports (color:color-mix(in lab,red,red)){.text-decay\/80{color:color-mix(in oklab,var(--color-decay) 80%,transparent)}}.text-dim{color:var(--color-dim)}.text-dim\/70{color:#7a7aaab3}@supports (color:color-mix(in lab,red,red)){.text-dim\/70{color:color-mix(in oklab,var(--color-dim) 70%,transparent)}}.text-dream{color:var(--color-dream)}.text-dream-glow{color:var(--color-dream-glow)}.text-dream\/40{color:#a855f766}@supports (color:color-mix(in lab,red,red)){.text-dream\/40{color:color-mix(in oklab,var(--color-dream) 40%,transparent)}}.text-dream\/50{color:#a855f780}@supports (color:color-mix(in lab,red,red)){.text-dream\/50{color:color-mix(in oklab,var(--color-dream) 50%,transparent)}}.text-dream\/80{color:#a855f7cc}@supports (color:color-mix(in lab,red,red)){.text-dream\/80{color:color-mix(in oklab,var(--color-dream) 80%,transparent)}}.text-memory{color:var(--color-memory)}.text-muted{color:var(--color-muted)}.text-muted\/50{color:#4a4a7a80}@supports (color:color-mix(in lab,red,red)){.text-muted\/50{color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.text-muted\/60{color:#4a4a7a99}@supports (color:color-mix(in lab,red,red)){.text-muted\/60{color:color-mix(in oklab,var(--color-muted) 60%,transparent)}}.text-node-pattern{color:var(--color-node-pattern)}.text-purple-400{color:var(--color-purple-400)}.text-recall{color:var(--color-recall)}.text-subtle{color:var(--color-subtle)}.text-synapse{color:var(--color-synapse)}.text-synapse-glow{color:var(--color-synapse-glow)}.text-text{color:var(--color-text)}.text-text\/80{color:#e0e0ffcc}@supports (color:color-mix(in lab,red,red)){.text-text\/80{color:color-mix(in oklab,var(--color-text) 80%,transparent)}}.text-warning{color:var(--color-warning)}.text-warning\/60{color:#f59e0b99}@supports (color:color-mix(in lab,red,red)){.text-warning\/60{color:color-mix(in oklab,var(--color-warning) 60%,transparent)}}.text-warning\/70{color:#f59e0bb3}@supports (color:color-mix(in lab,red,red)){.text-warning\/70{color:color-mix(in oklab,var(--color-warning) 70%,transparent)}}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.accent-synapse{accent-color:var(--color-synapse)}.accent-synapse-glow{accent-color:var(--color-synapse-glow)}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\!{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(239\,68\,68\,0\.7\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#ef4444b3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(99\,102\,241\,0\.15\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#6366f126);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(99\,102\,241\,0\.18\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#6366f12e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(163\,63\,255\,0\.15\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#a33fff26);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_-4px_var\(--color-synapse-glow\)\]{--tw-shadow:0 0 16px -4px var(--tw-shadow-color,var(--color-synapse-glow));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_rgba\(99\,102\,241\,0\.3\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,#6366f14d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_16px_rgba\(168\,85\,247\,0\.3\)\]{--tw-shadow:0 0 16px var(--tw-shadow-color,#a855f74d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-synapse\/10{--tw-shadow-color:#6366f11a}@supports (color:color-mix(in lab,red,red)){.shadow-synapse\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-synapse) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-synapse\/20{--tw-shadow-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.shadow-synapse\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-synapse) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-dream-glow{--tw-ring-color:var(--color-dream-glow)}.ring-dream\/60{--tw-ring-color:#a855f799}@supports (color:color-mix(in lab,red,red)){.ring-dream\/60{--tw-ring-color:color-mix(in oklab, var(--color-dream) 60%, transparent)}}.ring-recall\/30{--tw-ring-color:#10b9814d}@supports (color:color-mix(in lab,red,red)){.ring-recall\/30{--tw-ring-color:color-mix(in oklab, var(--color-recall) 30%, transparent)}}.ring-synapse\/60{--tw-ring-color:#6366f199}@supports (color:color-mix(in lab,red,red)){.ring-synapse\/60{--tw-ring-color:color-mix(in oklab, var(--color-synapse) 60%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}}.placeholder\:text-muted::placeholder{color:var(--color-muted)}@media(hover:hover){.hover\:z-10:hover{z-index:10}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:scale-\[1\.03\]:hover{scale:1.03}.hover\:rotate-180:hover{rotate:180deg}.hover\:\!border-synapse\/30:hover{border-color:#6366f14d!important}@supports (color:color-mix(in lab,red,red)){.hover\:\!border-synapse\/30:hover{border-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)!important}}.hover\:border-synapse\/20:hover{border-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.hover\:border-synapse\/20:hover{border-color:color-mix(in oklab,var(--color-synapse) 20%,transparent)}}.hover\:border-synapse\/30:hover{border-color:#6366f14d}@supports (color:color-mix(in lab,red,red)){.hover\:border-synapse\/30:hover{border-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)}}.hover\:border-synapse\/50:hover{border-color:#6366f180}@supports (color:color-mix(in lab,red,red)){.hover\:border-synapse\/50:hover{border-color:color-mix(in oklab,var(--color-synapse) 50%,transparent)}}.hover\:bg-decay\/20:hover{background-color:#ef444433}@supports (color:color-mix(in lab,red,red)){.hover\:bg-decay\/20:hover{background-color:color-mix(in oklab,var(--color-decay) 20%,transparent)}}.hover\:bg-decay\/30:hover{background-color:#ef44444d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-decay\/30:hover{background-color:color-mix(in oklab,var(--color-decay) 30%,transparent)}}.hover\:bg-decay\/\[0\.06\]:hover{background-color:#ef44440f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-decay\/\[0\.06\]:hover{background-color:color-mix(in oklab,var(--color-decay) 6%,transparent)}}.hover\:bg-dream\/20:hover{background-color:#a855f733}@supports (color:color-mix(in lab,red,red)){.hover\:bg-dream\/20:hover{background-color:color-mix(in oklab,var(--color-dream) 20%,transparent)}}.hover\:bg-dream\/30:hover{background-color:#a855f74d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-dream\/30:hover{background-color:color-mix(in oklab,var(--color-dream) 30%,transparent)}}.hover\:bg-purple-500\/30:hover{background-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-500\/30:hover{background-color:color-mix(in oklab,var(--color-purple-500) 30%,transparent)}}.hover\:bg-recall\/30:hover{background-color:#10b9814d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-recall\/30:hover{background-color:color-mix(in oklab,var(--color-recall) 30%,transparent)}}.hover\:bg-synapse\/30:hover{background-color:#6366f14d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-synapse\/30:hover{background-color:color-mix(in oklab,var(--color-synapse) 30%,transparent)}}.hover\:bg-warning\/30:hover{background-color:#f59e0b4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-warning\/30:hover{background-color:color-mix(in oklab,var(--color-warning) 30%,transparent)}}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.02\]:hover{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.03\]:hover{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.04\]:hover{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.08\]:hover{background-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.hover\:text-bright:hover{color:var(--color-bright)}.hover\:text-dim:hover{color:var(--color-dim)}.hover\:text-synapse-glow:hover{color:var(--color-synapse-glow)}.hover\:text-text:hover{color:var(--color-text)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:\!border-synapse\/40:focus{border-color:#6366f166!important}@supports (color:color-mix(in lab,red,red)){.focus\:\!border-synapse\/40:focus{border-color:color-mix(in oklab,var(--color-synapse) 40%,transparent)!important}}.focus\:border-dream\/40:focus{border-color:#a855f766}@supports (color:color-mix(in lab,red,red)){.focus\:border-dream\/40:focus{border-color:color-mix(in oklab,var(--color-dream) 40%,transparent)}}.focus\:border-synapse\/40:focus{border-color:#6366f166}@supports (color:color-mix(in lab,red,red)){.focus\:border-synapse\/40:focus{border-color:color-mix(in oklab,var(--color-synapse) 40%,transparent)}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-synapse-glow:focus{--tw-ring-color:var(--color-synapse-glow)}.focus\:ring-synapse\/15:focus{--tw-ring-color:#6366f126}@supports (color:color-mix(in lab,red,red)){.focus\:ring-synapse\/15:focus{--tw-ring-color:color-mix(in oklab, var(--color-synapse) 15%, transparent)}}.focus\:ring-synapse\/20:focus{--tw-ring-color:#6366f133}@supports (color:color-mix(in lab,red,red)){.focus\:ring-synapse\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-synapse) 20%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-dream-glow\/60:focus-visible{--tw-ring-color:#c084fc99}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-dream-glow\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-dream-glow) 60%, transparent)}}.focus-visible\:ring-recall\/60:focus-visible{--tw-ring-color:#10b98199}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-recall\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-recall) 60%, transparent)}}.focus-visible\:ring-synapse\/60:focus-visible{--tw-ring-color:#6366f199}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-synapse\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-synapse) 60%, transparent)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:top-4{top:calc(var(--spacing) * 4)}.sm\:right-4{right:calc(var(--spacing) * 4)}.sm\:left-4{left:calc(var(--spacing) * 4)}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:w-auto{width:auto}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:p-0{padding:calc(var(--spacing) * 0)}.sm\:\[padding-top\:0\]{padding-top:0}.sm\:\[padding-right\:0\]{padding-right:0}.sm\:\[padding-left\:0\]{padding-left:0}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:min-w-\[340px\]{min-width:340px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:grid-cols-\[280px_1fr\]{grid-template-columns:280px 1fr}.md\:flex-row{flex-direction:row}.md\:pt-\[15vh\]{padding-top:15vh}.md\:pb-0{padding-bottom:calc(var(--spacing) * 0)}}@media(min-width:64rem){.lg\:block{display:block}.lg\:inline-flex{display:inline-flex}.lg\:w-56{width:calc(var(--spacing) * 56)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.lg\:grid-cols-\[1fr_340px\]{grid-template-columns:1fr 340px}.lg\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.lg\:grid-cols-\[minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:calc(var(--spacing) * 3)}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:calc(var(--spacing) * 3)}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:3.40282e38px}.\[\&\:\:-webkit-slider-thumb\]\:bg-synapse-glow::-webkit-slider-thumb{background-color:var(--color-synapse-glow)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-\[0_0_8px_rgba\(129\,140\,248\,0\.4\)\]::-webkit-slider-thumb{--tw-shadow:0 0 8px var(--tw-shadow-color,#818cf866);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}html{background:var(--color-void);color:var(--color-text);font-family:var(--font-mono)}@supports (color:oklch(0 0 0)){:root{--color-synapse:oklch(58.5% .222 277);--color-synapse-glow:oklch(68.5% .169 277);--color-dream:oklch(62.7% .265 304);--color-dream-glow:oklch(71.4% .203 305);--color-memory:oklch(62.3% .214 259);--color-recall:oklch(69.6% .17 162);--color-decay:oklch(63.7% .237 25);--color-warning:oklch(76.9% .188 70);--color-node-fact:oklch(62.3% .214 259);--color-node-concept:oklch(60.6% .25 292);--color-node-event:oklch(76.9% .188 70);--color-node-person:oklch(69.6% .17 162);--color-node-place:oklch(71.5% .143 215);--color-node-note:oklch(55.1% .027 264);--color-node-pattern:oklch(65.6% .241 354);--color-node-decision:oklch(63.7% .237 25)}}body{min-height:100vh;margin:0;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-subtle);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}.glass{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#16163873;border:1px solid #6366f114;box-shadow:inset 0 1px #ffffff08,0 4px 24px #0000004d}.glass-subtle{-webkit-backdrop-filter:blur(12px)saturate(150%);background:#10102a66;border:1px solid #6366f10f;box-shadow:inset 0 1px #ffffff05,0 2px 12px #0003}.glass-sidebar{-webkit-backdrop-filter:blur(24px)saturate(180%);background:#0a0a1a99;border-right:1px solid #6366f11a;box-shadow:inset -1px 0 #ffffff05,4px 0 24px #0000004d}.glass-panel{-webkit-backdrop-filter:blur(24px)saturate(180%);background:#0a0a1acc;border:1px solid #6366f11a;box-shadow:inset 0 1px #ffffff08,0 8px 32px #0006}.glow-synapse{box-shadow:0 0 20px #6366f14d,0 0 60px #6366f11a}.glow-dream{box-shadow:0 0 20px #a855f74d,0 0 60px #a855f71a}.glow-memory{box-shadow:0 0 20px #3b82f64d,0 0 60px #3b82f61a}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}@keyframes orb-float-1{0%,to{transform:translate(0)scale(1)}25%{transform:translate(60px,-40px)scale(1.1)}50%{transform:translate(-30px,-80px)scale(.95)}75%{transform:translate(-60px,-20px)scale(1.05)}}@keyframes orb-float-2{0%,to{transform:translate(0)scale(1)}25%{transform:translate(-50px,30px)scale(1.08)}50%{transform:translate(40px,60px)scale(.92)}75%{transform:translate(20px,-40px)scale(1.03)}}@keyframes orb-float-3{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,50px)scale(1.05)}50%{transform:translate(-60px,20px)scale(.98)}75%{transform:translate(40px,-30px)scale(1.1)}}.ambient-orb{filter:blur(80px);pointer-events:none;z-index:0;opacity:.35;border-radius:50%;position:fixed}.ambient-orb-1{background:radial-gradient(circle,#a855f766,#0000 70%);width:400px;height:400px;animation:20s ease-in-out infinite orb-float-1;top:-10%;right:-5%}.ambient-orb-2{background:radial-gradient(circle,#6366f159,#0000 70%);width:350px;height:350px;animation:25s ease-in-out infinite orb-float-2;bottom:-15%;left:-5%}.ambient-orb-3{background:radial-gradient(circle,#f59e0b33,#0000 70%);width:300px;height:300px;animation:22s ease-in-out infinite orb-float-3;top:40%;left:40%}.nav-active-border{position:relative}.nav-active-border:before{content:"";background:linear-gradient(180deg,var(--color-synapse),var(--color-dream),var(--color-synapse));background-size:100% 200%;border-radius:1px;width:2px;animation:3s ease-in-out infinite gradient-shift;position:absolute;top:4px;bottom:4px;left:0}@keyframes gradient-shift{0%,to{background-position:0 0}50%{background-position:0 100%}}@keyframes float{0%,to{transform:translateY(0)translate(0)}25%{transform:translateY(-10px)translate(5px)}50%{transform:translateY(-5px)translate(-5px)}75%{transform:translateY(-15px)translate(3px)}}.retention-critical{color:var(--color-decay)}.retention-low{color:var(--color-warning)}.retention-good{color:var(--color-recall)}.retention-strong{color:var(--color-synapse)}@media not all and (prefers-reduced-motion:reduce){::view-transition-old(root){animation-duration:.18s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease}::view-transition-old(root){animation-name:vt-fade-out}::view-transition-new(root){animation-name:vt-fade-in}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}}@property --angle{syntax:"";inherits:false;initial-value:0deg}@property --shine{syntax:"";inherits:false;initial-value:0%}.reveal{opacity:0;transform:translateY(var(--reveal-y,16px));transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);will-change:opacity,transform}.reveal-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}@media not all and (prefers-reduced-motion:reduce){.enter{transition:opacity .4s,transform .4s cubic-bezier(.22,1,.36,1)}@starting-style{.enter{opacity:0;transform:translateY(10px)}}}.live-border{isolation:isolate;position:relative}.live-border:before{content:"";border-radius:inherit;background:conic-gradient(from var(--angle),transparent 0%,var(--color-synapse) 18%,var(--color-dream) 33%,transparent 50%,transparent 100%);pointer-events:none;opacity:.6;z-index:-1;padding:1px;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media not all and (prefers-reduced-motion:reduce){.live-border:before{animation:6s linear infinite border-rotate}@keyframes border-rotate{to{--angle:360deg}}}.spotlight-surface{position:relative;overflow:hidden}.spotlight-surface:after{content:"";pointer-events:none;background:radial-gradient(340px circle at var(--spot-x,50%) var(--spot-y,50%),#818cf81f,transparent 60%);opacity:var(--spot-o,0);z-index:0;transition:opacity .3s;position:absolute;top:0;right:0;bottom:0;left:0}.tilt-glare{position:relative;overflow:hidden}.tilt-glare:after{content:"";pointer-events:none;background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,50%),#ffffff24,transparent 45%);opacity:var(--glare-o,0);transition:opacity .3s;position:absolute;top:0;right:0;bottom:0;left:0}.breathe{animation:3.2s ease-in-out infinite breathe}@keyframes breathe{0%,to{filter:drop-shadow(0 0 2px);opacity:.85;transform:scale(1)}50%{filter:drop-shadow(0 0 7px);opacity:1;transform:scale(1.18)}}@media(prefers-reduced-motion:reduce){.breathe{animation:none}}.ping-host{position:relative}.ping-host:before{content:"";opacity:.6;z-index:-1;background:currentColor;border-radius:50%;position:absolute;top:0;right:0;bottom:0;left:0}@media not all and (prefers-reduced-motion:reduce){.ping-host:before{animation:2.4s cubic-bezier(0,0,.2,1) infinite ping}@keyframes ping{0%{opacity:.5;transform:scale(1)}80%,to{opacity:0;transform:scale(2.6)}}}.shimmer{background:#ffffff08;position:relative;overflow:hidden}.shimmer:after{content:"";background:linear-gradient(90deg,#0000,#818cf81f,#0000);position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%)}@media not all and (prefers-reduced-motion:reduce){.shimmer:after{animation:1.6s ease-in-out infinite shimmer}@keyframes shimmer{to{transform:translate(100%)}}}.text-aurora{background:linear-gradient(100deg,var(--color-synapse-glow),var(--color-dream-glow),var(--color-recall),var(--color-synapse-glow));color:#0000;background-size:250% 100%;-webkit-background-clip:text;background-clip:text}@media not all and (prefers-reduced-motion:reduce){.text-aurora{animation:8s ease-in-out infinite aurora-drift}@keyframes aurora-drift{0%,to{background-position:0%}50%{background-position:100%}}}.lift{transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s,border-color .28s}.lift:hover{transform:translateY(-3px);box-shadow:0 12px 32px #00000059,0 0 0 1px #6366f12e}@media(prefers-reduced-motion:reduce){.lift:hover{transform:none}}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}:where(button,a,input,select,[role=button],[tabindex]):focus-visible{outline:2px solid var(--color-synapse-glow);outline-offset:2px;border-radius:.4rem}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}.toast-layer.svelte-pry2ep{position:fixed;z-index:60;pointer-events:none;display:flex;flex-direction:column;gap:.5rem;right:1.25rem;bottom:1.25rem;max-width:22rem;width:calc(100vw - 2.5rem)}@media(max-width:768px){.toast-layer.svelte-pry2ep{right:.75rem;left:.75rem;bottom:auto;top:5.25rem;max-width:none;width:auto;align-items:stretch}}.toast-item.svelte-pry2ep{pointer-events:auto;position:relative;display:flex;gap:.75rem;align-items:stretch;text-align:left;font:inherit;color:inherit;background:#0c0e16b8;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid rgba(255,255,255,.06);border-radius:.75rem;padding:.75rem .9rem .75rem .5rem;overflow:hidden;box-shadow:0 10px 40px -12px #000c,0 0 22px -6px var(--toast-color);cursor:pointer;animation:svelte-pry2ep-toast-in .32s cubic-bezier(.16,1,.3,1);transform-origin:right center;transition:transform .15s ease,box-shadow .15s ease}.toast-item.svelte-pry2ep:hover{transform:translateY(-1px) scale(1.015);box-shadow:0 14px 48px -12px #000000d9,0 0 32px -4px var(--toast-color)}.toast-item.svelte-pry2ep:focus-visible{outline:1px solid var(--toast-color);outline-offset:2px}.toast-accent.svelte-pry2ep{width:3px;border-radius:2px;background:var(--toast-color);box-shadow:0 0 10px var(--toast-color);flex-shrink:0}.toast-body.svelte-pry2ep{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.toast-head.svelte-pry2ep{display:flex;align-items:center;gap:.5rem}.toast-icon.svelte-pry2ep{color:var(--toast-color);font-size:.95rem;text-shadow:0 0 8px var(--toast-color);line-height:1;width:1rem;display:inline-flex;justify-content:center}.toast-title.svelte-pry2ep{color:#f5f5fa;font-size:.82rem;font-weight:600;letter-spacing:.01em}.toast-sub.svelte-pry2ep{color:#b0b6c4;font-size:.74rem;line-height:1.35;padding-left:1.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-progress.svelte-pry2ep{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#ffffff0a}.toast-progress-fill.svelte-pry2ep{height:100%;background:var(--toast-color);opacity:.55;transform-origin:left center;animation:svelte-pry2ep-toast-progress var(--toast-dwell) linear forwards}.toast-item.svelte-pry2ep:hover .toast-progress-fill:where(.svelte-pry2ep),.toast-item.svelte-pry2ep:focus-visible .toast-progress-fill:where(.svelte-pry2ep){animation-play-state:paused}@keyframes svelte-pry2ep-toast-in{0%{opacity:0;transform:translate(24px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@media(max-width:768px){.toast-item.svelte-pry2ep{transform-origin:top center;animation:svelte-pry2ep-toast-in-mobile .3s cubic-bezier(.16,1,.3,1)}}@keyframes svelte-pry2ep-toast-in-mobile{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes svelte-pry2ep-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.toast-item.svelte-pry2ep{animation:none}.toast-progress-fill.svelte-pry2ep{animation:none;transform:scaleX(.5)}}.strip-item.svelte-1kk3799{display:inline-flex;align-items:center;gap:.4rem;padding:0 .75rem;white-space:nowrap;flex-shrink:0}.strip-divider.svelte-1kk3799{width:1px;height:14px;background:#6366f11f;flex-shrink:0}.ambient-strip.ambient-flash.svelte-1kk3799{background:linear-gradient(90deg,#ef444414,#ef444400 70%),#0006;border-bottom-color:#ef444459;transition:background .3s ease,border-color .3s ease}@keyframes svelte-1kk3799-ping-slow{0%{transform:scale(1);opacity:.8}80%,to{transform:scale(2);opacity:0}}.animate-ping-slow{animation:svelte-1kk3799-ping-slow 2.2s cubic-bezier(0,0,.2,1) infinite}@media(prefers-reduced-motion:reduce){.ambient-strip.svelte-1kk3799 .animate-ping,.ambient-strip.svelte-1kk3799 .animate-ping-slow,.ambient-strip.svelte-1kk3799 .animate-pulse{animation:none!important}}.verdict-bar.svelte-1j425e6{border-bottom:1px solid rgba(255,255,255,.06);background:#080912b8;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 6px 24px #0000002e}.verdict-summary.svelte-1j425e6{width:100%;min-height:2.75rem;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.55rem 1rem;color:var(--color-text);text-align:left;font:inherit}.sr-only.svelte-1j425e6{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.label.svelte-1j425e6,.field-label.svelte-1j425e6,.appeal-row.svelte-1j425e6>span:where(.svelte-1j425e6){color:var(--color-dim);font-size:.68rem;text-transform:uppercase;letter-spacing:0}.levels.svelte-1j425e6{display:flex;align-items:center;gap:.25rem}.levels.svelte-1j425e6 span:where(.svelte-1j425e6){border:1px solid rgba(255,255,255,.08);border-radius:.35rem;padding:.18rem .38rem;color:var(--color-muted);font-size:.64rem;line-height:1}.levels.svelte-1j425e6 span.active:where(.svelte-1j425e6){color:var(--color-bright);border-color:var(--verdict-color);background:color-mix(in srgb,var(--verdict-color) 18%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--verdict-color) 28%,transparent)}.summary-text.svelte-1j425e6{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:var(--color-dim)}.when.svelte-1j425e6{color:var(--color-muted);font-size:.68rem}.receipt.svelte-1j425e6{margin:0 1rem .75rem;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;background:#0a0a1ac7;padding:.85rem}.receipt-grid.svelte-1j425e6{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(10rem,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:.85rem}.receipt.svelte-1j425e6 p:where(.svelte-1j425e6),.receipt.svelte-1j425e6 li:where(.svelte-1j425e6){margin:.25rem 0 0;color:var(--color-text);font-size:.76rem;line-height:1.45;overflow-wrap:anywhere}.receipt.svelte-1j425e6 ul:where(.svelte-1j425e6){margin:.25rem 0 0;padding-left:1rem}.appeal-row.svelte-1j425e6{display:flex;align-items:center;gap:.4rem;margin-top:.85rem;flex-wrap:wrap}.appeal-row.svelte-1j425e6 button:where(.svelte-1j425e6),.appeal-row.svelte-1j425e6 p:where(.svelte-1j425e6){border:1px solid rgba(255,255,255,.1);border-radius:.4rem;padding:.35rem .6rem;color:var(--color-text);background:#ffffff0a;font-size:.72rem;margin:0}.appeal-row.svelte-1j425e6 button:where(.svelte-1j425e6):hover:not(:disabled),.verdict-summary.svelte-1j425e6:hover{background:#ffffff0d}.appeal-row.svelte-1j425e6 button:where(.svelte-1j425e6):disabled{opacity:.55;cursor:wait}.tone-pass.svelte-1j425e6,.tone-note.svelte-1j425e6{--verdict-color: #10b981}.tone-caution.svelte-1j425e6{--verdict-color: #f59e0b}.tone-veto.svelte-1j425e6{--verdict-color: #ef4444}.tone-appealed.svelte-1j425e6{--verdict-color: #818cf8}@media(max-width:900px){.verdict-summary.svelte-1j425e6{grid-template-columns:auto minmax(0,1fr) auto}.levels.svelte-1j425e6{grid-column:1 / -1;order:4;overflow-x:auto;padding-bottom:.1rem}.receipt-grid.svelte-1j425e6{grid-template-columns:1fr}}.theme-toggle.svelte-1cmi4dh{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:8px;background:#6366f10f;border:1px solid rgba(99,102,241,.14);color:var(--color-text);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.theme-toggle.svelte-1cmi4dh:hover{background:#6366f124;border-color:#6366f14d;color:var(--color-bright)}.theme-toggle.svelte-1cmi4dh:active{transform:scale(.94)}.theme-toggle.svelte-1cmi4dh:focus-visible{outline:1px solid var(--color-synapse);outline-offset:2px}.icon-wrap.svelte-1cmi4dh{position:relative;width:18px;height:18px;display:inline-block}.icon.svelte-1cmi4dh{position:absolute;top:0;right:0;bottom:0;left:0;width:18px;height:18px;opacity:0;transform:scale(.7) rotate(-30deg);transition:opacity .2s ease,transform .2s cubic-bezier(.16,1,.3,1);pointer-events:none}.icon.active.svelte-1cmi4dh{opacity:1;transform:scale(1) rotate(0)}.theme-toggle[data-mode=dark].svelte-1cmi4dh{color:var(--color-synapse-glow, #818cf8)}.theme-toggle[data-mode=light].svelte-1cmi4dh{color:var(--color-warning, #f59e0b)}.theme-toggle[data-mode=auto].svelte-1cmi4dh{color:var(--color-dream-glow, #c084fc)}@media(prefers-reduced-motion:reduce){.theme-toggle.svelte-1cmi4dh,.icon.svelte-1cmi4dh{transition:none}}.safe-bottom.svelte-12qhfyh{padding-bottom:env(safe-area-inset-bottom,0px)}.logo-mark.svelte-12qhfyh{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.logo-link.svelte-12qhfyh:hover .logo-mark:where(.svelte-12qhfyh){transform:rotate(-6deg) scale(1.08);box-shadow:0 0 0 1px #818cf866,0 0 22px #6366f180}.nav-link.text-synapse-glow.svelte-12qhfyh .nav-icon:where(.svelte-12qhfyh) svg,.nav-active-border.svelte-12qhfyh .nav-icon:where(.svelte-12qhfyh) svg{filter:drop-shadow(0 0 6px rgba(129,140,248,.55))} diff --git a/apps/dashboard/build/_app/immutable/assets/0.Cf27G70K.css.br b/apps/dashboard/build/_app/immutable/assets/0.Cf27G70K.css.br deleted file mode 100644 index bc588d0dab75fc23c198235da98d6cba4b3768f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11978 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 literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/assets/ObservatoryStage.CnF5Ezel.css.gz b/apps/dashboard/build/_app/immutable/assets/ObservatoryStage.CnF5Ezel.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..e8ce312f7ee48ecf02d8877c0f512d1ee207fa12 GIT binary patch literal 1164 zcmV;71atcziwFP!000026Qx#NucI~)eebV8x{8#j1{o3vfv2|8s(sj}Re!($=|b9`pzcmmUKiGgWRSoBkwat>b`Ww_-^W>6R|xz7TcVx5;tD4o5O40nv> zJtlL2N}V(6Q7_swou~H&EZ3BTDJ4-HlVBaM^7DaP?0sP-)mcN6s}?mA>YN>TRiPZ5 z-Ha#%Zwxorz-lOu&$6OXfTJuwV4set>GA@~<6f(itg;u@|H3FQl&(wgUZZ$~5l&-V>PJqRwAJYYKf2)U}kJu7q6qCWn z5LG#@?Zpcs;|VSi^oa7H>;uw5b#vy!sOh}XW5LE%F4!4#^|A5UT%3XBfmYLX+K}_;TY}8>3vDh${(reJ7u6TLdkTKQva=Jrfyu)f} zY6olr_yLf&-8k<&ADTv>Z!X4SO@0+z9zR3*rGNaSq$OW)uh9GR5Ar*T7A-G<{GvGs zVn7<-pyn)ZpsHNsl>+K!8KzA~*6o>WoP2nLF>=PFJ(JWKAIputt~X}};qToQrCkmk zh8|dN*aCT>G2K$Eis`OMy@W2NCrY2F*71ScyOfOB*G)&lAZ^dYZDTd5$c|MMH*bU{ zOt2mZz9-?-G^k53cn#VQqOBuGO0a3qWE;6?{Riiv$P!8?-E^4_!pJEdm*`Jb7|?jm z+R%n~)^@bQJ$czOOiD_|jw3ISR3&4p+&^P+o$?h>~CvuU6NEzJDK;;WWm;rR_`e9B$Q727e7$C584JNtL}98mRo_3 zq>O2ds}dldk5Ie#y%8!(rwz=9COXyCZcQQ@kuZr#uvyJwYXqa@li;I@&Vr}!j&B>R z^Krn)f;67FKX7TEINz2j?6$9l!+vKqbpALJZS)%nO}_2igNLpd?YFj=kCzpeN<&{Z eCt0C(k%l+7M_(~!(7NgD`qRI)Q!abP3jhGdL_skC literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js b/apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js deleted file mode 100644 index df354f9..0000000 --- a/apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js +++ /dev/null @@ -1,2 +0,0 @@ -import{D as z,q as dr,aD as sr,G as A,L as U,N as gr,T as pr,g as m,U as hr,W as _r,X as x,K,M as G,I as Er,aE as Ar,aF as y,w as Sr,aG as b,$ as q,aH as Tr,a1 as Nr,ao as br,z as Ir,aI as V,aJ as Mr,aK as Or,ac as Cr,aL as rr,aM as Rr,Y as ur,_ as or,aN as P,R as lr,aO as Lr,aP as wr,aQ as Hr,Z as kr,J as Dr,aR as Fr,aS as Gr,aT as zr,aU as Ur,aV as tr,aW as Kr}from"./wpu9U-D0.js";function jr(r,e){return e}function Pr(r,e,f){for(var a=[],n=e.length,s,u=e.length,v=0;v{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var t=r.outrogroups;B(V(s.done)),t.delete(s),t.size===0&&(r.outrogroups=null)}}else u-=1},!1)}if(u===0){var o=a.length===0&&f!==null;if(o){var d=f,l=d.parentNode;Hr(l),l.append(d),r.items.clear()}B(e,!o)}else s={pending:new Set(e),done:new Set},(r.outrogroups??(r.outrogroups=new Set)).add(s)}function B(r,e=!0){for(var f=0;f{var c=f();return Ir(c)?c:c==null?[]:V(c)}),t,p=!0;function S(){i.fallback=l,Yr(i,t,u,e,a),l!==null&&(t.length===0?(l.f&b)===0?ur(l):(l.f^=b,k(l,null,u)):or(l,()=>{l=null}))}var T=dr(()=>{t=m(g);var c=t.length;let C=!1;if(A){var R=hr(u)===_r;R!==(c===0)&&(u=x(),U(u),K(!1),C=!0)}for(var _=new Set,M=Sr,L=Nr(),h=0;hs(u)):(l=q(()=>s(er??(er=z()))),l.f|=b)),c>_.size&&Tr(),A&&c>0&&U(x()),!p)if(L){for(const[D,F]of v)_.has(D)||M.skip_effect(F.e);M.oncommit(S),M.ondiscard(()=>{})}else S();C&&K(!0),m(g)}),i={effect:T,items:v,outrogroups:null,fallback:l};p=!1,A&&(u=G)}function H(r){for(;r!==null&&(r.f&Lr)===0;)r=r.next;return r}function Yr(r,e,f,a,n){var E,D,F,X,J,W,$,Q,Z;var s=(a&wr)!==0,u=e.length,v=r.items,o=H(r.effect.first),d,l=null,g,t=[],p=[],S,T,i,c;if(s)for(c=0;c0){var w=(a&sr)!==0&&u===0?f:null;if(s){for(c=0;c{var N,j;if(g!==void 0)for(i of g)(j=(N=i.nodes)==null?void 0:N.a)==null||j.apply()})}function qr(r,e,f,a,n,s,u,v){var o=(u&Mr)!==0?(u&Or)===0?Cr(f,!1,!1):rr(f):null,d=(u&Rr)!==0?rr(n):null;return{v:o,i:d,e:q(()=>(s(e,o??f,d??n,v),()=>{r.delete(a)}))}}function k(r,e,f){if(r.nodes)for(var a=r.nodes.start,n=r.nodes.end,s=e&&(e.f&b)===0?e.nodes.start:f;a!==null;){var u=Dr(a);if(s.before(a),a===n)return;a=u}}function I(r,e,f){e===null?r.effect.first=f:e.next=f,f===null?r.effect.last=e:f.prev=e}function cr(r){var e,f,a="";if(typeof r=="string"||typeof r=="number")a+=r;else if(typeof r=="object")if(Array.isArray(r)){var n=r.length;for(e=0;e=0;){var v=u+s;(u===0||fr.includes(a[u-1]))&&(v===a.length||fr.includes(a[v]))?a=(u===0?"":a.substring(0,u))+a.substring(v+1):u=v}}return a===""?null:a}function ar(r,e=!1){var f=e?" !important;":";",a="";for(var n of Object.keys(r)){var s=r[n];s!=null&&s!==""&&(a+=" "+n+": "+s+f)}return a}function Y(r){return r[0]!=="-"||r[1]!=="-"?r.toLowerCase():r}function yr(r,e){if(e){var f="",a,n;if(Array.isArray(e)?(a=e[0],n=e[1]):a=e,r){r=String(r).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,u=0,v=!1,o=[];a&&o.push(...Object.keys(a).map(Y)),n&&o.push(...Object.keys(n).map(Y));var d=0,l=-1;const T=r.length;for(var g=0;g{if(!e){if(e=!0,r.hasAttribute("value")){var a=r.value;ir(r,"value",null),r.value=a}if(r.hasAttribute("checked")){var n=r.checked;ir(r,"checked",null),r.checked=n}}};r.__on_r=f,lr(f),Kr()}}function fe(r,e){var f=vr(r);f.value===(f.value=e??void 0)||r.value===e&&(e!==0||r.nodeName!==$r)||(r.value=e??"")}function ir(r,e,f,a){var n=vr(r);A&&(n[e]=r.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&r.nodeName===Wr)||n[e]!==(n[e]=f)&&(e==="loading"&&(r[Fr]=f),f==null?r.removeAttribute(e):typeof f!="string"&&Qr(r).includes(e)?r[e]=f:r.setAttribute(e,f))}function vr(r){return r.__attributes??(r.__attributes={[Xr]:r.nodeName.includes("-"),[Jr]:r.namespaceURI===Gr})}var nr=new Map;function Qr(r){var e=r.getAttribute("is")||r.nodeName,f=nr.get(e);if(f)return f;nr.set(e,f=[]);for(var a,n=r,s=Element.prototype;s!==n;){a=Ur(n);for(var u in a)a[u].set&&f.push(u);n=zr(n)}return f}export{ir as a,fe as b,xr as c,mr as e,jr as i,ee as r,re as s,yr as t}; diff --git a/apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js.br b/apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js.br deleted file mode 100644 index 8810358673f68cc270cce19a4eb18634db1a1de3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3082 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 Y@-@~0uUm<5XfXNfNzX^@95dbD0}g)x2><{9 diff --git a/apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js.gz b/apps/dashboard/build/_app/immutable/chunks/60_R_Vbt.js.gz deleted file mode 100644 index 2795bf5d22846a113e4ece56e17c772f6ab4c53b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3390 zcmV-E4Z-psiwFP!000026OCEfa@#u6zMgpsiIw63qBbL44w(+i$FZ|{No;33ipB#| zpv0IWl_n|MvGgwUEc0Yj4UiO-W&Z!d#=-{B%hwB_WUh0k60@Bv6NDHv)CUoqM?D z=7K<(W3J&5H{U?L*h&u-a$}mj? z%CK=x@R{3+;ELOvKpA=7!Z|l7fjZ;PF@bu^om&F+jyo?2{^ItAz#R9SK$$g11nR=b zNT7^Tz7r^;j`sxW19wUSWfb#rS??4{=UnrKqQHJb?_gm+EX*&Y^&6J6Pc`SUt^x)nFhWQeF0DsK={G zkdv5!kofE&iA5pJe{ZR?X_C#nsZMpN#Y{rsP4i59YC5%}hN4KmYeXE%2j-we^75*r zd`5Y-EP_A92VqxA31zcg!Tn~T>x!KxPtXaoI`+$6E6w&&!iYPswd zaUadPAc;k8Nv0S>ic@c?NN43~KGnfX5~+mLQ%mMvOeK()lzLHkQK}UQx%pFQ=;zWN zUf@G5rJw2B-i0oOmcYU^;|=Wc9)>^4V(FwbiYw&SdVjLfUSk%@B1sT*zGjdl*urddqs3qhmv|EtuBMx_zLqUc6;d?P7F_qGv z)=D{;C+Spt7gBEaU3W=B227ut17L>NBn(z~GQwEMpa$kE5|IoeKeC1h#}og9h~!2> z2}|q`x13)H`H*HH3sSt6W%pot#zV-;q@fnum`2=oJi8Gi>IK*YhV)`p@rb}@vgTqi9 zdMnqx=LXIs9D0czCA{F+bx*u1D{hkIm5yT_mEzFTQu^W$zmZtMGOT<}VJI{q;{eX! z7UqzdPy@^Ln(4iGjn@)ZUcraLp_FiCAbx8+HL_k=xNe{AxC~SLW|UtDwvpHlyC+HZ zO|!9t=-HKt5UzX4s@r$n=-JS9--|nDslSv-ERL=3M0r+}ZKiUU_p>i05*> zKJmIz9(h^@CtjXK`C^fj;z9zCrb!Vgnp$XVYR|tAGB|MEH=;k3z-ZY>Nbte#!HpMbvXc?OwU>c^z#C{$yU2BL`6{Ueg zXN-xrB)yVgTh|q~V>V!Y>bsIZa%(2Jg`SuL;kdShRrZPP9K*SU9M2)eV~F-}v{kkZHPa5b z*eE$0#hA(NnsjzeAjMk8yRPe}J7*`xtXl)JEbXyD-i96SC4m&vFci}toGh2H^p;gI z=N`i%uVKMOM9qb4PuTJF(yp^yn6;luya4?8s@SC*$uWhq|o)}1ZxUN_o3 zl`_~N`M>H<7PH@Mvqhst+nn{dgHjVo66Sp>YiF^W&l_bJM77Efq{ur|JWXv))UNtL z^|k<*H+W29arUg{=#~S1UFW&3sg%RmZ%X2#*02efXEtDpM<_nxd>l=F>AfF2-uq}9 zk%OQ2`3uFn-|zFTv(I0ii2)mPbD6`f+-wThO*;|&qH@n{77h(eclH_esKc#0Ktd%LS=yrNW8 zLe`FTHiZJU>k7TCk#(2Yj|0^ruf8TcC!vfx7v8mwb7F3Qi_c72X##~+hqqS^Z~E6k z2xDK{oD@U+6N$-W+K+8w>Re+Z;)2LrZ`eBMILuRdztkKE5S^l=B%3+wb!RTC7T1~_ zsRl?Uul9D=_6K>zKSGi_&VU3!%o<-pHDJh1k9@{7AH#NEs@$JFt|>E2?XYQZeMi2Hly}U?lwt zSDQ^^5kzzxdu!`hN0EII7+E%B)S=VsC*~neWo6*_PT*Mo_^sj^bQehDY!VdxI?;2Y zb(|I=gKXgVJ!eo1V!8PlC!aeoq499Si}#%Mn#QBLACgz*$N8~CvVg;6bd!hXc_A9Xd-=u8u)m;u<9e}kzS@M()(#Do_r}De|hrdvG+Lq z!kyyrlNmUU^h!z=^;<>3_pS(f?*YwZ2c#W>(Y3(H=6M1v11U&nWhK} zMC3BQFyk)uprH;|*dLlte>i`v*M{Z~CoHhE^uh_N!NB&Vy%f*uwN;-~`TQGsW3pWOTmSY`us>^Z*qnF=M=XltF(eCBzul zo0(kH_*>j8Z-SJWZK1YBG3jo((7vpBS65N0isDo)w1M+_UG)*;^_rF1EfH7vfh!0F zg$zW0f4yFr5^tu<{j#Lwx+=AB%wA3taq5IgdXca6&s4q+$!kx?l~4To@)I4bB)@BR z7{z$g7`1TStdF=YDsoO8(> zb<+4mcyYhD&QsweMK7v~GGFv`syTBx5?=3oo|lW%k?@hQq|ix|?8fn(<5#C|9C&2s zmRy+YqHuiY?fKb@^TUga&hxm|9IUo)b{s$<#^yb{Uk4(7MI*jOcGR^}X{8<6rY+A* z1PRBl`lGqJvo_5TmA%01ZWGOQbfc$Er?9A}>a7}rcC&f{v(07`u%+_siukpf%S?E~ z@6cNy#@dEc8%S52qJy~R2T?R#9oChwT(7D9Y)ZnuNp!YWWH|H@ACX+I1#QA@` zE57b=Sfue0@hA4;-}r}?eqGGO{kB?k-FM9MHUeoGk~!r^x8cgABmAmcB(ZT+Lup_4 zyA${@{zMahE7$foXU~x^er><1g)WvV((lh-A>s?#*eB_XnrHegp5JY&;h&;KQaG|} zNQf~rG(wwz8`pJvFAg#zB+G{5iEJ~I;!6V*cxb)RTT));th~Tn#RK`E@I7B@+7%VY z2PM_Gn(&UU8`~UN$soh;Oxn1AywP{&N5h2pcP$06wm;w9nQ;UQ(`xu?+61)uPC%wD U;NHxao8a&N1%5GFLVg?o0QMxdbN~PV diff --git a/apps/dashboard/build/_app/immutable/chunks/9-jplUL5.js b/apps/dashboard/build/_app/immutable/chunks/9-jplUL5.js new file mode 100644 index 0000000..9056957 --- /dev/null +++ b/apps/dashboard/build/_app/immutable/chunks/9-jplUL5.js @@ -0,0 +1 @@ +import{q as T,v as o,w as h,E as b,V as p,W as v,X as A,Y as E,N as R,M as l}from"./CW7md74C.js";import{B as g}from"./DExHDOmW.js";function S(t,u,_=!1){o&&h();var n=new g(t),c=_?b:0;function i(a,r){if(o){const e=p(t);var s;if(e===v?s=0:e===A?s=!1:s=parseInt(e.substring(1)),a!==s){var f=E();R(f),n.anchor=f,l(!1),n.ensure(a,r),l(!0);return}}n.ensure(a,r)}T(()=>{var a=!1;u((r,s=0)=>{a=!0,i(s,r)}),a||i(!1,null)},c)}export{S as i}; diff --git a/apps/dashboard/build/_app/immutable/chunks/9-jplUL5.js.br b/apps/dashboard/build/_app/immutable/chunks/9-jplUL5.js.br new file mode 100644 index 0000000000000000000000000000000000000000..8f8443eeaadb911ff618c2f7a6df73fb51c7208c GIT binary patch literal 284 zcmV+%0ptD~t^ojy!?>~Av`w^jiI=n*Gi6)O&ZGz_umcnZ0RC@lTc@;d#O*p_(KNl` z;`5#3JHStRPO-4W_KxS%p(btY)4635K@P(3Ms+Gpod2C3e)nYj1Ur8W^dMN^V2O_v zEY|QCAffLpF88M|8gu5k<06-CMt65#DG9ZW-ivYDpI)nfoa;5dr+Dxs)x2nb=TK+> z>3-O>E#ICVk5P&mq6lHnBRDVn+pe(N-!1DcPpbn@w0)PrgI1be)w`fLBK3k`@zw%t z+upCyjNB{TiE-V@gOw7jj9ZjGb#+`o(5P@;79rGx;~;zI@TQvprplzpTm(xm)EjRB iz>P6*#O-@vq@?N^MWFrW@U& zyXo#mg_!?dMk%GIZ+P?G%rJUiTNm2zNcw1j2ZqHXV~Yi2jc<$^my83xGsgJADDZ_b z!)L~>tDN2UlH190u>Ty~O_DF)%k_1^13Naqj%jgvoWAat7f02YGH7d}IRtEQMR6ut z+wX5d#Tvwoo=rHn>4!IhS zJjL12Q!SlWPbPp$e6#k!X|sV$2$V6A7cJ*2DnR5js05lsnsRF$Rk(vVV?i0;ICVLI zwN&Izg~pk#``7Ch0D|r>10}^--T*lCl(Hx(PEmtrpFnv&Ylt&6&2A?;EJdeIm+#H_ Rd%DYSegLpf$WgBW007ARlxhF~ literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/BFpewGai.js b/apps/dashboard/build/_app/immutable/chunks/BFpewGai.js new file mode 100644 index 0000000..39cc35a --- /dev/null +++ b/apps/dashboard/build/_app/immutable/chunks/BFpewGai.js @@ -0,0 +1 @@ +import{b as s,w as g}from"./D90q9c2i.js";const v=200;function $(){const{subscribe:e,set:n,update:t}=g({connected:!1,reconnecting:!1,events:[],lastHeartbeat:null,error:null});let o=null,a=null,d=0;function m(l){const i=l||(window.location.port==="5173"?`ws://${window.location.hostname}:3927/ws`:`ws://${window.location.host}/ws`);if((o==null?void 0:o.readyState)!==WebSocket.OPEN)try{o=new WebSocket(i),o.onopen=()=>{d=0,t(r=>({...r,connected:!0,reconnecting:!1,error:null}))},o.onmessage=r=>{try{const u=JSON.parse(r.data);t(f=>{if(u.type==="Heartbeat")return{...f,lastHeartbeat:u};const h=[u,...f.events].slice(0,v);return{...f,events:h}})}catch(u){console.warn("[vestige] Failed to parse WebSocket message:",u)}},o.onclose=()=>{t(r=>({...r,connected:!1})),p(i)},o.onerror=()=>{t(r=>({...r,error:"WebSocket connection failed"}))}}catch(r){t(u=>({...u,error:String(r)}))}}function p(l){a&&clearTimeout(a),t(r=>({...r,reconnecting:!0}));const i=Math.min(1e3*2**d,3e4);d++,a=setTimeout(()=>m(l),i)}function b(){a&&(clearTimeout(a),a=null),o&&(o.onclose=null,o.onerror=null,o.onmessage=null,o.close()),o=null,n({connected:!1,reconnecting:!1,events:[],lastHeartbeat:null,error:null})}function w(){t(l=>({...l,events:[]}))}function y(l){t(i=>{const r=[l,...i.events].slice(0,v);return{...i,events:r}})}return{subscribe:e,connect:m,disconnect:b,clearEvents:w,injectEvent:y}}const c=$(),S=s(c,e=>e.connected),H=s(c,e=>e.reconnecting),T=s(c,e=>e.events);s(c,e=>e.lastHeartbeat);const M=s(c,e=>{var n,t;return((t=(n=e.lastHeartbeat)==null?void 0:n.data)==null?void 0:t.memory_count)??0}),k=s(c,e=>{var n,t;return((t=(n=e.lastHeartbeat)==null?void 0:n.data)==null?void 0:t.avg_retention)??0}),_=s(c,e=>{var n,t;return((t=(n=e.lastHeartbeat)==null?void 0:n.data)==null?void 0:t.suppressed_count)??0}),W=s(c,e=>{var n,t;return((t=(n=e.lastHeartbeat)==null?void 0:n.data)==null?void 0:t.uptime_secs)??0}),N=s(c,e=>e.events.filter(n=>n.type==="TraceEvent")),P=s(c,e=>{var t;const n=e.events.find(o=>o.type==="TraceEvent");return((t=n==null?void 0:n.data)==null?void 0:t.run_id)??null}),R=s(c,e=>e.events.find(n=>n.type==="TraceEvent")??null),C=s(c,e=>e.events.filter(n=>n.type==="MemoryPrOpened"||n.type==="MemoryPrDecided"));function F(e){if(!Number.isFinite(e)||e<0)return"—";const n=Math.floor(e/86400),t=Math.floor(e%86400/3600),o=Math.floor(e%3600/60),a=Math.floor(e%60);return n>0?t>0?`${n}d ${t}h`:`${n}d`:t>0?o>0?`${t}h ${o}m`:`${t}h`:o>0?a>0?`${o}m ${a}s`:`${o}m`:`${a}s`}export{k as a,M as b,H as c,P as d,T as e,F as f,S as i,R as l,C as m,_ as s,N as t,W as u,c as w}; diff --git a/apps/dashboard/build/_app/immutable/chunks/BFpewGai.js.br b/apps/dashboard/build/_app/immutable/chunks/BFpewGai.js.br new file mode 100644 index 0000000000000000000000000000000000000000..b39d4fa4561fdc42a80a909f8239f3da2ab10bdb GIT binary patch literal 949 zcmV;m14{fG2?_v=)L9LSquo!{-?L1L((asl7$+V5vwo>f1>3klKA<$2VOxFyQr`bs zt9NMSrX))A*mn#S{eKbjNaJ0In1)EogmyJ#Gn(?k;okz{#JG-W(V)4|&lz8)A0J2T~TbHf{s<#N58-sY+AOQCVtfw2FzR&~yI|wK*cM zb%fHSGY#s;FB&+%@ru+ZQ^^<)gYQmGSS)qS9MiI@o7-FNQuPX!%iuD@%k>(@nIXn| zFEi)IqtnB@{Ci~#cHQoC5_bsM*hw9pADj;N{a0nrNV!<8D#3BjGD?4SO)4i8{T@=P!^q4tSP{S@x zRJ*&T^#oMNXgA*W$b?vkw*AGML%uQ=M*47YFc`FSsE@E{_xGt{ou^TeP8=hH?HAUt zSQVzCP~}LDo{A)=n>eK=DfB5vF3<&t9wJK%mzU=}U7*P4?4WRHR}9x7^!^ literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/BFpewGai.js.gz b/apps/dashboard/build/_app/immutable/chunks/BFpewGai.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6bce2326a4ae27d4604591806842cd0408f634a2 GIT binary patch literal 1069 zcmV+|1k(E-iwFP!000026SY>`ZreBzec!K81aCm5gsddpbR#eAhqghmKrW~QV7zlzn-Q?GWu-8UaFPFV8M^#xHlG zoPy*noa>4_|*%JeeIbt=3= z?L+b-SLZ!wPfiHYyhb%xXqg3Zq9X$$dmN%bpnII(!g#3DFM!e2^~Xz!=CRUT!7^AI zh@?zMTIo3`PAKnJ8IKtf!~3L)qR6lR?&v=l~>@NNMXD9 z&9#Mwx$m%c=qP1#B3piH%3cOEOop3WE26auCN-eYQ{19Av_ew0!DSmfL?hLd7+O27 zhji|TRP67kIS6wj3(zGJL3f(G+t=7p+FOnFg}_-)Tzny+|6O4Oz-cL4U6>w+ij9Ja%$0l^i zr1}gg*30D4xduVXJA|?!w}q3nF4-KL1Ln~k9XMtf_;4rQyUxL5^L3tZeefQjKIr2ZQG9u}|N?tg`PTZUQNL|5LSI)YElsuI8X13!k1|nm#}( zGsr?pHxK+70qP&9z00x~gNdX)lS(2GpifWmN8CPA;lF?X6RsJnZ_G)qwIR^`{p4*N zQ-(X*Uu$jm_{5v^uE{IAC$YaHcl0OmisL}_;{o>L!9%A~E(pgp_3JL%K3o#7{ literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/CqMQEF-F.js b/apps/dashboard/build/_app/immutable/chunks/BGTfzpXY.js similarity index 97% rename from apps/dashboard/build/_app/immutable/chunks/CqMQEF-F.js rename to apps/dashboard/build/_app/immutable/chunks/BGTfzpXY.js index 7367f60..baa2bda 100644 --- a/apps/dashboard/build/_app/immutable/chunks/CqMQEF-F.js +++ b/apps/dashboard/build/_app/immutable/chunks/BGTfzpXY.js @@ -1 +1 @@ -import{w as N,g as T}from"./D8mhvFt8.js";import{e as E}from"./BhIgFntf.js";import{E as p}from"./CcUbQ_Wl.js";const y=4,R=5500,F=1500;function x(){const{subscribe:b,update:u}=N([]);let m=1,f=0;const c=new Map,a=new Map,l=new Map;function w(e,s){l.set(e,Date.now());const t=setTimeout(()=>{c.delete(e),l.delete(e),h(e)},s);c.set(e,t)}function g(e){const s=m++,t=Date.now(),o={id:s,createdAt:t,...e};u(n=>{const r=[o,...n];if(r.length>y){for(const i of r.slice(y)){const d=c.get(i.id);d&&clearTimeout(d),c.delete(i.id),a.delete(i.id),l.delete(i.id)}return r.slice(0,y)}return r}),w(s,e.dwellMs)}function h(e){const s=c.get(e);s&&(clearTimeout(s),c.delete(e)),a.delete(e),l.delete(e),u(t=>t.filter(o=>o.id!==e))}function D(e,s){const t=c.get(e);if(!t)return;clearTimeout(t),c.delete(e);const o=l.get(e)??Date.now(),n=Date.now()-o,r=Math.max(200,s-n);a.set(e,{remaining:r})}function C(e){const s=a.get(e);s&&(a.delete(e),w(e,s.remaining))}function S(){for(const e of c.values())clearTimeout(e);c.clear(),a.clear(),l.clear(),u(()=>[])}function _(e){const s=p[e.type]??"#818CF8",t=e.data;switch(e.type){case"DreamCompleted":{const o=Number(t.memories_replayed??0),n=Number(t.connections_found??0),r=Number(t.insights_generated??0),i=Number(t.duration_ms??0),d=[];return d.push(`Replayed ${o} ${o===1?"memory":"memories"}`),n>0&&d.push(`${n} new connection${n===1?"":"s"}`),r>0&&d.push(`${r} insight${r===1?"":"s"}`),{type:e.type,title:"Dream consolidated",body:`${d.join(" · ")} in ${(i/1e3).toFixed(1)}s`,color:s,dwellMs:7e3}}case"ConsolidationCompleted":{const o=Number(t.nodes_processed??0),n=Number(t.decay_applied??0),r=Number(t.embeddings_generated??0),i=Number(t.duration_ms??0),d=[];return n>0&&d.push(`${n} decayed`),r>0&&d.push(`${r} embedded`),{type:e.type,title:"Consolidation swept",body:`${o} node${o===1?"":"s"}${d.length?" · "+d.join(" · "):""} in ${(i/1e3).toFixed(1)}s`,color:s,dwellMs:6e3}}case"ConnectionDiscovered":{const o=Date.now();if(o-f0?`suppression #${o} · Rac1 cascade ~${n} neighbors`:`suppression #${o}`,color:s,dwellMs:5500}}case"MemoryUnsuppressed":{const o=Number(t.remaining_count??0);return{type:e.type,title:"Recovered",body:o>0?`${o} suppression${o===1?"":"s"} remain`:"fully unsuppressed",color:s,dwellMs:5e3}}case"Rac1CascadeSwept":{const o=Number(t.seeds??0),n=Number(t.neighbors_affected??0);return{type:e.type,title:"Rac1 cascade",body:`${o} seed${o===1?"":"s"} · ${n} dendritic spine${n===1?"":"s"} pruned`,color:s,dwellMs:6e3}}case"MemoryDeleted":return{type:e.type,title:"Memory deleted",body:String(t.id??"").slice(0,8),color:s,dwellMs:4e3};case"HookVerdictRecorded":{const o=String(t.verdict??"NOTE"),n=String(t.reason??"Sanhedrin receipt updated");return{type:e.type,title:`Sanhedrin ${o}`,body:n,color:s,dwellMs:o==="VETO"?8e3:R}}case"Heartbeat":case"SearchPerformed":case"RetentionDecayed":case"ActivationSpread":case"ImportanceScored":case"MemoryCreated":case"MemoryUpdated":case"DreamStarted":case"DreamProgress":case"ConsolidationStarted":case"Connected":return null;default:return null}}let M=null;return E.subscribe(e=>{if(e.length===0)return;const s=[];for(const t of e){if(t===M)break;s.push(t)}if(s.length!==0){M=e[0];for(let t=s.length-1;t>=0;t--){const o=_(s[t]);o&&g(o)}}}),{subscribe:b,dismiss:h,clear:S,pauseDwell:D,resumeDwell:C,push:g}}const $=x();function I(){[{type:"DreamCompleted",title:"Dream consolidated",body:"Replayed 127 memories · 43 new connections · 5 insights in 2.4s",color:p.DreamCompleted,dwellMs:7e3},{type:"ConnectionDiscovered",title:"Bridge discovered",body:"semantic · weight 0.87",color:p.ConnectionDiscovered,dwellMs:4500},{type:"MemorySuppressed",title:"Forgetting",body:"suppression #2 · Rac1 cascade ~8 neighbors",color:p.MemorySuppressed,dwellMs:5500},{type:"ConsolidationCompleted",title:"Consolidation swept",body:"892 nodes · 156 decayed · 48 embedded in 1.1s",color:p.ConsolidationCompleted,dwellMs:6e3}].forEach((u,m)=>{setTimeout(()=>{$.push(u)},m*800)}),T($)}export{I as f,$ as t}; +import{w as N,g as T}from"./D90q9c2i.js";import{e as E}from"./BFpewGai.js";import{E as p}from"./CcUbQ_Wl.js";const y=4,R=5500,F=1500;function x(){const{subscribe:b,update:u}=N([]);let m=1,f=0;const c=new Map,a=new Map,l=new Map;function w(e,s){l.set(e,Date.now());const t=setTimeout(()=>{c.delete(e),l.delete(e),h(e)},s);c.set(e,t)}function g(e){const s=m++,t=Date.now(),o={id:s,createdAt:t,...e};u(n=>{const r=[o,...n];if(r.length>y){for(const i of r.slice(y)){const d=c.get(i.id);d&&clearTimeout(d),c.delete(i.id),a.delete(i.id),l.delete(i.id)}return r.slice(0,y)}return r}),w(s,e.dwellMs)}function h(e){const s=c.get(e);s&&(clearTimeout(s),c.delete(e)),a.delete(e),l.delete(e),u(t=>t.filter(o=>o.id!==e))}function D(e,s){const t=c.get(e);if(!t)return;clearTimeout(t),c.delete(e);const o=l.get(e)??Date.now(),n=Date.now()-o,r=Math.max(200,s-n);a.set(e,{remaining:r})}function C(e){const s=a.get(e);s&&(a.delete(e),w(e,s.remaining))}function S(){for(const e of c.values())clearTimeout(e);c.clear(),a.clear(),l.clear(),u(()=>[])}function _(e){const s=p[e.type]??"#818CF8",t=e.data;switch(e.type){case"DreamCompleted":{const o=Number(t.memories_replayed??0),n=Number(t.connections_found??0),r=Number(t.insights_generated??0),i=Number(t.duration_ms??0),d=[];return d.push(`Replayed ${o} ${o===1?"memory":"memories"}`),n>0&&d.push(`${n} new connection${n===1?"":"s"}`),r>0&&d.push(`${r} insight${r===1?"":"s"}`),{type:e.type,title:"Dream consolidated",body:`${d.join(" · ")} in ${(i/1e3).toFixed(1)}s`,color:s,dwellMs:7e3}}case"ConsolidationCompleted":{const o=Number(t.nodes_processed??0),n=Number(t.decay_applied??0),r=Number(t.embeddings_generated??0),i=Number(t.duration_ms??0),d=[];return n>0&&d.push(`${n} decayed`),r>0&&d.push(`${r} embedded`),{type:e.type,title:"Consolidation swept",body:`${o} node${o===1?"":"s"}${d.length?" · "+d.join(" · "):""} in ${(i/1e3).toFixed(1)}s`,color:s,dwellMs:6e3}}case"ConnectionDiscovered":{const o=Date.now();if(o-f0?`suppression #${o} · Rac1 cascade ~${n} neighbors`:`suppression #${o}`,color:s,dwellMs:5500}}case"MemoryUnsuppressed":{const o=Number(t.remaining_count??0);return{type:e.type,title:"Recovered",body:o>0?`${o} suppression${o===1?"":"s"} remain`:"fully unsuppressed",color:s,dwellMs:5e3}}case"Rac1CascadeSwept":{const o=Number(t.seeds??0),n=Number(t.neighbors_affected??0);return{type:e.type,title:"Rac1 cascade",body:`${o} seed${o===1?"":"s"} · ${n} dendritic spine${n===1?"":"s"} pruned`,color:s,dwellMs:6e3}}case"MemoryDeleted":return{type:e.type,title:"Memory deleted",body:String(t.id??"").slice(0,8),color:s,dwellMs:4e3};case"HookVerdictRecorded":{const o=String(t.verdict??"NOTE"),n=String(t.reason??"Sanhedrin receipt updated");return{type:e.type,title:`Sanhedrin ${o}`,body:n,color:s,dwellMs:o==="VETO"?8e3:R}}case"Heartbeat":case"SearchPerformed":case"RetentionDecayed":case"ActivationSpread":case"ImportanceScored":case"MemoryCreated":case"MemoryUpdated":case"DreamStarted":case"DreamProgress":case"ConsolidationStarted":case"Connected":return null;default:return null}}let M=null;return E.subscribe(e=>{if(e.length===0)return;const s=[];for(const t of e){if(t===M)break;s.push(t)}if(s.length!==0){M=e[0];for(let t=s.length-1;t>=0;t--){const o=_(s[t]);o&&g(o)}}}),{subscribe:b,dismiss:h,clear:S,pauseDwell:D,resumeDwell:C,push:g}}const $=x();function I(){[{type:"DreamCompleted",title:"Dream consolidated",body:"Replayed 127 memories · 43 new connections · 5 insights in 2.4s",color:p.DreamCompleted,dwellMs:7e3},{type:"ConnectionDiscovered",title:"Bridge discovered",body:"semantic · weight 0.87",color:p.ConnectionDiscovered,dwellMs:4500},{type:"MemorySuppressed",title:"Forgetting",body:"suppression #2 · Rac1 cascade ~8 neighbors",color:p.MemorySuppressed,dwellMs:5500},{type:"ConsolidationCompleted",title:"Consolidation swept",body:"892 nodes · 156 decayed · 48 embedded in 1.1s",color:p.ConsolidationCompleted,dwellMs:6e3}].forEach((u,m)=>{setTimeout(()=>{$.push(u)},m*800)}),T($)}export{I as f,$ as t}; diff --git a/apps/dashboard/build/_app/immutable/chunks/BGTfzpXY.js.br b/apps/dashboard/build/_app/immutable/chunks/BGTfzpXY.js.br new file mode 100644 index 0000000000000000000000000000000000000000..175c57f1e235231b3d4f699c2e3ee61fb3414485 GIT binary patch literal 1610 zcmV-Q2DSMc9TEVH)KLxF-L9op|NXpJCczG7k)uYswl;+9a>=Y{+nNA6fgDQ3{T~;% z_wAPg{jg9`D#HAWij1zRt&j_IbFjG$A?)nlFA%A#17b(2%JpNMnVHYil zxVqmH?a2qRIoE!RZhVuq@2*6`vt_6&vR{jKyE7>Z{)ptNq!ICtyl092dLIL!M>GCq|d7q{Od z+vh?ah39#7>k3k&zx zLc7fCHER{sy7`g!Yu7TkIW=)>(oSuV#v}Ll-waf8gMrnuHas`y=ec-@87?9wppGN- zPocLeW*zkEEG3S=zb10AXI`K*3H0dqo(}#kgeih2&+p6jeqV?D;HLS!js=*91z6*c z9n77q&3ypm{;Fp@mUmy^@}?nhT||Qr8XzTfIJm_=x+r+Jw`Jsw11DPOkMcL}^nneP z5`JKLt`mgr#~$eDHU@H^r-TX7B<>=qYUvD#}?h(dyMjZML|!}Bz^iKr6K@Iql3;xi(+65u}^!X4UXc}(`d|k zno613$%5>G;yC)UMS;~?6pFeCWD3`KDfcpc?eyCEdb15D)CS_}tLsds5&LX;=O2Rx z7E7h4jMQ&feF?%SIqhBiFb@Edg39$yn$fVnhsG5bcCOCPu^)EY+ej?#$({WyonXik ztDM$rA?WP84LsJLUCPJ4TlSpi8rMZ9TSWwg@6K3%9Bk-$9838J3vVqc|=n_<^QG@eOFwnSMT3vwl-r!s8^9?=L^ zfhhfZ*0gn~E8?5lq7J*eq-i^gMuuUA0o4&SGgP=m6kAJcQxueP>+<+1_cw1`kiYMh zb2mS*HFXtQzA#CP?y4PFYf;b%D}6K7(>}W6)+3g=Nbn+$ITZsQRQRpv=T?L`gy6lKfs9W6`bd zJ;1or5II|KmAYL`YSw+;;ZH$T)O$D0!X;5{!(*XQ0WXbC+2S>+wf zzdx^k54cdy@ZdBC0Quk`$-^8}9tH!RsQzoo{30xQ?#|CQ%<&i_7bR1e9a!~SQPpMD zSJCLs&{!`Nt%&H`emq5mYqJ6jJBF8Wwu2M3c`R;U@ zDnbl|{hpk<+Lx-G0}S<)PERHstbR}pMM&Yap#$2Ry)?ZV?j)N!lgZSq6c-ctEIx|D0zPW{PV)``0+7}hEp>NJOV-IvAPgH$OVx%kFTdBj8YoBY?)*5Z_C Ie{YTXJuieT?*IS* literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/BGTfzpXY.js.gz b/apps/dashboard/build/_app/immutable/chunks/BGTfzpXY.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8bb9ed644ddce2f0d3d82063f1f5898dba9ec271 GIT binary patch literal 1765 zcmVtu@tH8 zes})H`~6LH#N6MM9k7}Z48=uD@#AF%n}3rL#f72BT8gvi8K~&&%)~y1B(c0@_N$sS}4@ z!!imvY^*DiIi!0^+NYlV27#k+k+=#p0_U7)aJkqZj2k{WRG>ew6hy8O!r^HVxfBx6 zfB-wm;CYPzmyW_g)G*Vy?BuKvGM>;&!Zp;!55{d9sxQxCCL%;)>=e2)ZUv^Sij9zG5D;yh{-3PhMR zC+G8l-}u0Zhr*HJ713)qB@gJx^Bi@^aX^}2C?uqWamH7^EC&jn4M8D8P=xYY_Wu(nT0_mo!=eseouzZ~k9-GHmN8Qjk2_BXTX z?Cf%8J30iH5={cNVLDo)ngkaSQDC1-AnBP%Gh+$0{i4P5U7p^9MA}Uu6_SBkO2`tj z1v;O52HB1v5}ZS&j9SJb=QV-s2^d#wwbp960uIt7P({Id3Ytq|7%Wp&ZPD=NHfSQ2 zx>>H)=dRWMSIOUoOo$0uen&0LUslp;d0;JS0|p= z7<^SF)_W;Z@n?Yso23K|+*t68hBY@UYuPpWb;pfI#J5w=>pkM(@}GY}!*lpM6{PTY z>$k|WOjeorn2M^|H8Bv0oa^0m1*KVP(r_6O6%h*0*l{W33bbZ?)!4vKz4_fhjP*^G zJYT<9*Cd)+4Oi>GO_gM;^}Uel&fh0i zU2DF6v6?cy4{`xqD=1E3&PhxCF7Qa2w0}A z`i?>EC$PTjPt^fjXT+Y$26Ow@iw{5B^BElb*9~Sr0g?J1h_?OeeE~#9>-QjIAyZ>Z z9XV}{IImk>v;0G(+2^WtEiwtDU4C0#xd@M75eeB**QlS>_lwcm$Hq**pVt9}DSdfmj{ z45T-=K|lLyGy4KIXLJ~bSNL86`4p&nB+$5IF;We)7lv7J6~c{IvoNaYu-!hK2KqGg z0)2RhyMS6Eb)#=_APx>zNZ_(8u`{}rQl?U-l)rYWf!bd<8Oar#n<((l9SJH=o3}H^ zDCMupvgSSs9}w=ZrEd`~Zt8&B9ig9{2<>i?ogTfm+OgGS`m5ueF|}GfX(v%-CYK}k zm1^r)=8k2L#>Qr(dVFwsZg8*_q=cJt(+>}xJA2(revIw73APICwZT7aRraXm9PRh0 zS>K>~O?LT@yVC%M$L8nfXH9$d=BOGqD`!kkzHdj`%44%`h&9fcx>GfR=n;{l+I;KA zLSB$)jZp5S=Ih1o*NjP>9XT$Y^xK)|;SxI^&;*z8P<^|3YrfsY&cyubGWf?I#&ff} H9ufcm;QD6> literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/BHDZZvku.js.br b/apps/dashboard/build/_app/immutable/chunks/BHDZZvku.js.br deleted file mode 100644 index 3474420c9f190c2b3eb3dfbb3f82106deb96c02f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 653 zcmV;80&@Kug9QNOTB^O1&x?@U-7>Sdb(|};Aq!QIQR$=kKb!9V9o!pG;DJP%W{Yw_8yV|-`D#Jsjs-CeU*&n%sh^n;|S|^n?K1PTFNKwe|3<(M@`0o+A*Ldu5rOGfBdeg~y~KFA6>D0ShH3 zgKh+pz-HLuRe2)MZsCkS!&11{D8-|3<_ zC)+;>7j(dN?|YU?Eedg@B{PwNB#@BV4;jM%fQh4p1l1@no!CN(F+4+o85{QhphFl- z0*ZI<7Epi7Y{;R}8(~1}FbbLXUF|$VgJBLC(HaEtHzKlY9nbVHAjB#D z&wj>>P*35u-ZvUNH)3k5`E*JG0?Gp=c%uWD>+%ATb$ou)SHNy>DILbs+2AQeT;aFQ n!uc}uUEJ5_`ae>yHpS3_k7{Jc=HaC%QKRK>y#1R<$-Tb>(VR=l diff --git a/apps/dashboard/build/_app/immutable/chunks/BHDZZvku.js.gz b/apps/dashboard/build/_app/immutable/chunks/BHDZZvku.js.gz deleted file mode 100644 index 13f4a03f939cb923738a5b3e93d83c6b8cb91260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmV1W4IdbLr~HMU0?Jwss2&bi?+= zrKDqt4n?UXCHVsV_kmL6xOIko(Gkh#yzk*v)RzH7Xx8p+*>4*ABfBG;`8Fq$Q}}J zSo+KPKOIqXjlP9Te0E);SaM@R&%)X=lcO#sB1gGpWB;OWml~|yAX9_1z$TZ0skgZ| zL)W8nc1Gw;CzXhL5L-%EBVi#oECyvkqm-8{Kqk{dJ+d)!0BbZa(W)|5EH?~Pa-@HK zI=dbvqIMqh&Lab!fPTToSg!3}ECSmAsLu5q^{Eijd=+ z&?w|skm((c=q?3|6wd*Zod#QJg}@hap;~Ih7TyH`O*C)bosL^VjmvVP>oCTG281Rd z$7@2**Eq(`=4j1wA=>CUy9(1x?_Plw+yp(^B9KP6~FGmJ?%E3u;Bn<}!x zN+5(5*iuc}=>l)5%YPnx{o3M&w4^o8-r&49-GnjD_ok}@)0@GROdqkL&JO%I6Ee}D zoPs{I+dSC~fU{fmc57hgz29E?Xxc`tW31b9>X~wl!?t zV_+6SC)ycAKYuR$dw`=EPbsP_XP{RO({hMx1fguii`{oFtOVUnlMD^?+^&C{X+;Ysv!g6)KD zk!rg1RQMZwF(hs0B*w78myrf6l8Hdg&2o8Ja9t+Lwr5+GFV&)gvxoWCDz_)&ms7ja zz;oo2$m})5t5sHPS{83J-%v^E*|lC5bEuHToilus(tSZyZ5?;`VTeE)^EDh&C@yMh zcA28E>SN;ueN`ByL?%wPe0RTZ;MblD~>WywuGT@)(63~MMJD=)$6L1nSsuP zzO%YEL6jtco)40hhtv%)q}b8|Jq=M$SA5V;rgLMjrfm6}cf`u;(sgpGov5tnpj)~3 zjL5Itd!EY#N)gtSEkI9pQRlgx&(TKE(-5uvfN0cO)y8haF3&fUvzLq|U?q)OLj)|Q zcrsdQ#?q)pHQdTI{0YWG=h3`yrLYjbTjNUMiDrN6n&r8d5F?;be3BRc)E7TAb!LJW0ssKO*Qas- diff --git a/apps/dashboard/build/_app/immutable/chunks/EqHb-9AZ.js b/apps/dashboard/build/_app/immutable/chunks/BNUnVJrY.js similarity index 87% rename from apps/dashboard/build/_app/immutable/chunks/EqHb-9AZ.js rename to apps/dashboard/build/_app/immutable/chunks/BNUnVJrY.js index 459bed2..44f1794 100644 --- a/apps/dashboard/build/_app/immutable/chunks/EqHb-9AZ.js +++ b/apps/dashboard/build/_app/immutable/chunks/BNUnVJrY.js @@ -1 +1 @@ -import{t as b}from"./60_R_Vbt.js";import{G as c}from"./wpu9U-D0.js";function A(i,u={},r,f){for(var a in r){var o=r[a];u[a]!==o&&(r[a]==null?i.style.removeProperty(a):i.style.setProperty(a,o,f))}}function P(i,u,r,f){var a=i.__style;if(c||a!==u){var o=b(u,f);(!c||o!==i.getAttribute("style"))&&(o==null?i.removeAttribute("style"):i.style.cssText=o),i.__style=u}else f&&(Array.isArray(f)?(A(i,r==null?void 0:r[0],f[0]),A(i,r==null?void 0:r[1],f[1],"important")):A(i,r,f));return f}export{P as s}; +import{t as b}from"./Cc0l8Nd4.js";import{v as c}from"./CW7md74C.js";function A(i,u={},r,f){for(var a in r){var o=r[a];u[a]!==o&&(r[a]==null?i.style.removeProperty(a):i.style.setProperty(a,o,f))}}function P(i,u,r,f){var a=i.__style;if(c||a!==u){var o=b(u,f);(!c||o!==i.getAttribute("style"))&&(o==null?i.removeAttribute("style"):i.style.cssText=o),i.__style=u}else f&&(Array.isArray(f)?(A(i,r==null?void 0:r[0],f[0]),A(i,r==null?void 0:r[1],f[1],"important")):A(i,r,f));return f}export{P as s}; diff --git a/apps/dashboard/build/_app/immutable/chunks/BNUnVJrY.js.br b/apps/dashboard/build/_app/immutable/chunks/BNUnVJrY.js.br new file mode 100644 index 0000000000000000000000000000000000000000..84860b4465fd478c8b88edb46a45f8488d635d33 GIT binary patch literal 272 zcmV+r0q_1B?EwH}OShe6`aYIaJ?PGL!@R|H;GDcR7=Tr@J(JFjbo#Q&cH zm{3C69%-$P$CJNC>lEg{-&7#FlksP8NBa>7gTV1-olp&t*JX}aD#4K?MehodWf{z` z*Lzki9Z_Zw(ET4q%CuC1{PLOWt3E)ARdAeqF+#+-H9fra^`V?9_fbXw22oVL^Cd?N W;i;VBv9#0w!yEB8VZVtF{!tE_PLTxw literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/BNUnVJrY.js.gz b/apps/dashboard/build/_app/immutable/chunks/BNUnVJrY.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..3c03ebadeff1f7ec6abb9e01728dfbfa71b3bbe4 GIT binary patch literal 321 zcmV-H0lxkpiwFP!000026K#>rYQr!PgztR{*#{$mP#p-Q#E1}bFF6!?FeWID6jW?0 ztR$0Q``wG=#yzwr{md-iu%p|X0XH}#EILmLOq;UTL!CEo@0T_EvT31bM;{#Z;`rRO zm(BVR9m;pL)22gvtf}Y2M1d+YCf;cMkN~JBiacm=cm@*en6(Xn$Qx!rIyod3W3py3o0wWMd^#S%&uj z;=#0yCst&K!_wdf&>MY0`4-B&qN>a*LjP4)L0wfeox2g8O9|OVYgkDE(s}5Rn&drp TcMRRxsd)JYtJ5@5?g0P*z_^;M literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js b/apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js deleted file mode 100644 index cd19933..0000000 --- a/apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js +++ /dev/null @@ -1 +0,0 @@ -var B=Object.defineProperty;var g=i=>{throw TypeError(i)};var F=(i,e,s)=>e in i?B(i,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[e]=s;var w=(i,e,s)=>F(i,typeof e!="symbol"?e+"":e,s),M=(i,e,s)=>e.has(i)||g("Cannot "+s);var t=(i,e,s)=>(M(i,e,"read from private field"),s?s.call(i):e.get(i)),l=(i,e,s)=>e.has(i)?g("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,s),y=(i,e,s,a)=>(M(i,e,"write to private field"),a?a.call(i,s):e.set(i,s),s);import{w as D,Y as C,Z as k,_ as G,D as x,$ as A,G as S,M as Y,a0 as Z,a1 as $}from"./wpu9U-D0.js";var r,n,h,u,p,_,v;class z{constructor(e,s=!0){w(this,"anchor");l(this,r,new Map);l(this,n,new Map);l(this,h,new Map);l(this,u,new Set);l(this,p,!0);l(this,_,()=>{var e=D;if(t(this,r).has(e)){var s=t(this,r).get(e),a=t(this,n).get(s);if(a)C(a),t(this,u).delete(s);else{var c=t(this,h).get(s);c&&(t(this,n).set(s,c.effect),t(this,h).delete(s),c.fragment.lastChild.remove(),this.anchor.before(c.fragment),a=c.effect)}for(const[f,o]of t(this,r)){if(t(this,r).delete(f),f===e)break;const d=t(this,h).get(o);d&&(k(d.effect),t(this,h).delete(o))}for(const[f,o]of t(this,n)){if(f===s||t(this,u).has(f))continue;const d=()=>{if(Array.from(t(this,r).values()).includes(f)){var b=document.createDocumentFragment();Z(o,b),b.append(x()),t(this,h).set(f,{effect:o,fragment:b})}else k(o);t(this,u).delete(f),t(this,n).delete(f)};t(this,p)||!a?(t(this,u).add(f),G(o,d,!1)):d()}}});l(this,v,e=>{t(this,r).delete(e);const s=Array.from(t(this,r).values());for(const[a,c]of t(this,h))s.includes(a)||(k(c.effect),t(this,h).delete(a))});this.anchor=e,y(this,p,s)}ensure(e,s){var a=D,c=$();if(s&&!t(this,n).has(e)&&!t(this,h).has(e))if(c){var f=document.createDocumentFragment(),o=x();f.append(o),t(this,h).set(e,{effect:A(()=>s(o)),fragment:f})}else t(this,n).set(e,A(()=>s(this.anchor)));if(t(this,r).set(a,e),c){for(const[d,m]of t(this,n))d===e?a.unskip_effect(m):a.skip_effect(m);for(const[d,m]of t(this,h))d===e?a.unskip_effect(m.effect):a.skip_effect(m.effect);a.oncommit(t(this,_)),a.ondiscard(t(this,v))}else S&&(this.anchor=Y),t(this,_).call(this)}}r=new WeakMap,n=new WeakMap,h=new WeakMap,u=new WeakMap,p=new WeakMap,_=new WeakMap,v=new WeakMap;export{z as B}; diff --git a/apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js.br b/apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js.br deleted file mode 100644 index e3163e0639392b9f3c39a6001c8538a0e23fca46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 877 zcmV-z1Csn3z6bz}!nWn}<1m-1Qs%=cm4HQS1@_9o2ss)`MDs1D5T`>o7fNo{5wkN*~_ZNf-t zDDJr}i)C@HwS`?piAa6c?cPik?@b{<12WL=w_mtMlHs?;O~0G~?t@!&KPf=3chjCQ z%JP)#$b!@B4jymF3M;*E_0$h6_x%ETyTZh5PnanyIWIl$VKd zbg*?V{5WZP=BH`LKhry3OcPH`k9;>ZtjiySYDzxUb@;@vdoL@><7$8TnZH!UcAH`S zPDf#4&&)p#p~XuqvHt40>;!3ARfuCrj?%p`w=BY*IJ=|tM_0G=)V|nHn!c~;mqun) z5eEM8!s}g(Y+Jxr>Scn-$)z%UpO?^9)7yhvS%|1o4*vxJ2|NT`2Jm#kyQ=&DBjF6bZQ_@7Is<; z0o5K%AzBnX;s^{RE!yJuxPX*oCt37X01P1?))hIIz^uXg1)U3|VL@O3gPw@rH|*x7 z0S+&SbIAJC#dsjW#2U$wGpIU=4>Va;X9f&EN`|_&6$SjMC$6a%p)ohXM*&nODE$f$ z!GH*}W8{H|yH~Q>_wAxzbf&z2QM!j5;GrO{Dj4ct68;kQ7UYqT(8Wuph{%`!0B)d< zn{Ri$X>0%*N1B_PlsEJP)MhOX5ZW-?Xf+Hi+Rb;!6bhZ_p3d|iHDm&w+A;M~ezI@` DTehk( diff --git a/apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js.gz b/apps/dashboard/build/_app/immutable/chunks/BWk3o_TN.js.gz deleted file mode 100644 index 1de713be6cd42038475c1f9e86cfb412d248c50d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 994 zcmV<810DPyiwFP!000026NObxZ{s!)z4uqhLJ)AUQ#E_61;t3>W=}y2q(zY|76wfX zBd#SYKgD$2Y*RhB0Gq%L@NLo`xwN-2GDUyoHJO*?#mk3^#Ou>|r7xGL2VEI1P zY|O;-Jn{uaj#o4Utf*R&jVfa)@&(tC(Sl-_2D+T*T7<^_CBAwjKcj@_`5~nXDMNeP zV@~8Jg$DvD^5$LLe8!J;qdN=ZAXQautlw=S?xHz91#^eb!K`o*%om&o^NJV2+~AjB z9`PZVC*)VbJ|q7e>_r=Ri<93rb@Tf_zs|3c?=J3mwy3ed25Vg4Iu#{%F8Z+(MmujC z;f-a4E}LAzZo_<`9L8LW!q^zn@&H)Ww22;gJs|oWQoKW&4tXR$AT>^|24{f`vg=)_ zkg|EIB=g5?&`C)E-A|W|c+i~yc@OCW6u6X(!yV&*$6pO3IhEuo{H4-S7fkd!i(#j@ zykujzppQe5kd!3+5Un_gh9Z%czf`1sQgY|-3RUKbrOK>{0fzO-fx%=+(pX~ShEV$u zyp_hXPKU1&%{L>Xp;OqM@o~&80cDnD1WQYNm3CXB{7p*+(){w0tyunX69zs`t`EsW zBDdd7JF!Yv>Hzc7P2PCf%na|UhO4#T`g3b*oG!3d5tx$Nikq@x-f#fcgPfE&5v zu-~&4`^k86fELn|8O#W`{poYil6H-yaN-Xt@NAAEyI|c3a+jBrk(k3F9HC-3mr62m z*e?HHL^RnegH-k!nzstlpx_M)!{owvj#|oI%kx7@*snfm768sKlCY8^0SefS6z5o- z4}2a@)r=>Nb}Lmc4&|^4raUTc3I@TdkMIQD Qw&^eb0eHM5>%Ry90CC;mxBvhE diff --git a/apps/dashboard/build/_app/immutable/chunks/BZQzXWp7.js.br b/apps/dashboard/build/_app/immutable/chunks/BZQzXWp7.js.br deleted file mode 100644 index 84b208817cc72f2517f5819a1fd2b8be8f90a091..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3971 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 diff --git a/apps/dashboard/build/_app/immutable/chunks/BZQzXWp7.js.gz b/apps/dashboard/build/_app/immutable/chunks/BZQzXWp7.js.gz deleted file mode 100644 index f4670dd7d2b72661db9fbbbf2e1e6bcbe0022a22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5492 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 q;6iv-~J!0Bh-}5N&o{d=0,t(r=>({...r,connected:!0,reconnecting:!1,error:null}))},o.onmessage=r=>{try{const u=JSON.parse(r.data);t(f=>{if(u.type==="Heartbeat")return{...f,lastHeartbeat:u};const w=[u,...f.events].slice(0,v);return{...f,events:w}})}catch(u){console.warn("[vestige] Failed to parse WebSocket message:",u)}},o.onclose=()=>{t(r=>({...r,connected:!1})),p(l)},o.onerror=()=>{t(r=>({...r,error:"WebSocket connection failed"}))}}catch(r){t(u=>({...u,error:String(r)}))}}function p(i){s&&clearTimeout(s),t(r=>({...r,reconnecting:!0}));const l=Math.min(1e3*2**d,3e4);d++,s=setTimeout(()=>m(i),l)}function b(){s&&clearTimeout(s),o==null||o.close(),o=null,n({connected:!1,reconnecting:!1,events:[],lastHeartbeat:null,error:null})}function y(){t(i=>({...i,events:[]}))}function h(i){t(l=>{const r=[i,...l.events].slice(0,v);return{...l,events:r}})}return{subscribe:e,connect:m,disconnect:b,clearEvents:y,injectEvent:h}}const a=$(),S=c(a,e=>e.connected),H=c(a,e=>e.reconnecting),T=c(a,e=>e.events);c(a,e=>e.lastHeartbeat);const M=c(a,e=>{var n,t;return((t=(n=e.lastHeartbeat)==null?void 0:n.data)==null?void 0:t.memory_count)??0}),k=c(a,e=>{var n,t;return((t=(n=e.lastHeartbeat)==null?void 0:n.data)==null?void 0:t.avg_retention)??0}),_=c(a,e=>{var n,t;return((t=(n=e.lastHeartbeat)==null?void 0:n.data)==null?void 0:t.suppressed_count)??0}),W=c(a,e=>{var n,t;return((t=(n=e.lastHeartbeat)==null?void 0:n.data)==null?void 0:t.uptime_secs)??0}),N=c(a,e=>e.events.filter(n=>n.type==="TraceEvent")),P=c(a,e=>{var t;const n=e.events.find(o=>o.type==="TraceEvent");return((t=n==null?void 0:n.data)==null?void 0:t.run_id)??null}),R=c(a,e=>e.events.find(n=>n.type==="TraceEvent")??null),C=c(a,e=>e.events.filter(n=>n.type==="MemoryPrOpened"||n.type==="MemoryPrDecided"));function F(e){if(!Number.isFinite(e)||e<0)return"—";const n=Math.floor(e/86400),t=Math.floor(e%86400/3600),o=Math.floor(e%3600/60),s=Math.floor(e%60);return n>0?t>0?`${n}d ${t}h`:`${n}d`:t>0?o>0?`${t}h ${o}m`:`${t}h`:o>0?s>0?`${o}m ${s}s`:`${o}m`:`${s}s`}export{k as a,M as b,H as c,P as d,T as e,F as f,S as i,R as l,C as m,_ as s,N as t,W as u,a as w}; diff --git a/apps/dashboard/build/_app/immutable/chunks/BhIgFntf.js.br b/apps/dashboard/build/_app/immutable/chunks/BhIgFntf.js.br deleted file mode 100644 index 56deb7377defe87e6016452b7e6ea19df2d422a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 933 zcmV;W16uqW)d>KM)L9LSqg|%6e?BkAX}e@c7)X_G@s-+K1c)MKBpEJa>+$b*Jl{{W5@+wF}H4T*^@*Fzu-y!!$XRmAjJv^S$41Q8DkPR^>Hg&QhMQEe0XGrp*W=6KzW>VPsWBC+RT)@rS!&_0u4U2+MSlnPnZKy& zgRNI8h>v0X5(anMSvG2y5J$lp$qH-Olw=0vY1eQ@0US@E6GAvbGiWvwusn>VDYtXj z&8bp>D7R%D;~xPe*9n1W!92ih*s5pH3WXrBVhqVoQH7`>tIc>-&_)Sq-SLl>5~Yjp zm%u-S$gPaFn3o}&4!MgFon%FeosIZW>`G@K{jpU(=(+m!asb@qX@KbyS^CM8T8v$0 z(H8XPgWQBsM5G&7W5m1JGbx%`X?@dzX!-bZ1he)a$6*1^*4b)2ljksTOi*n%C;aiT zX*~fR89f_sJF|$Gi}uVnZ%+C~8yKm{U_2N!G*M@mH>aoMS?8%&q!Y(zjrH$c!9+#3 ztnckF15$vbX=X6$JG~vbw*Z(^FVn?rkC?J_0eWg#tJKyy{-Nb7g0*XHbF!UjptKLA zazid%FUYG1mh?y2TW(34C5bPpmx~x%@pH+Cfb@ZDC`s{D33LpK-_sc|8GH9fZF>>s z7tVw&%H_;gnNmAXRADG|Fj0WOU^wS2Mkn29^DKn?Al#LB_kRtGB8y0?sz#UF`5&i( zGF;TP+5QZsMHVx=WwtK^V@qDLmwYsq#c;w;OM0>yq*I-FdP zgIFTu3@?^JyfKM|axG?>72)`kzlWWPO>)?UxcDnC$^9#-={AKo#0A*6k(4w__am>3 z8}QNVNG>aj>R;4lTR};$N-KK0ftubzLmxrWW0=tg(DWYG^Z+*W2RyxoKwlbKDwA(& HQ5y3-AFIuJ diff --git a/apps/dashboard/build/_app/immutable/chunks/BhIgFntf.js.gz b/apps/dashboard/build/_app/immutable/chunks/BhIgFntf.js.gz deleted file mode 100644 index 11023820c45b7cc3f94ff2d345cee5b9561f2a83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1052 zcmV+%1mpW3iwFP!000026SY>`ZreBzec!K81aCp6gsddpG%GLdhqghmKrW~Qo zPC;agC&;;6F3CcwOfRBbr@}i#zE;k8_}jt9qj2!But~Sush)dHwM8WgaLLi{habBO z`;h#|)p-xvlVd_OuTc%=T4q6<=*WP`o`xt8=pN@cFdFLg5iq*E`f@?hJXM-2SOjYW z$tly3R(b}C6UzHl#$$%W@II-cC^Bq|$@nFcTVzpJ?^J-bVglUoe&rK3^pyP1;pIg% z6UG8DQ6^B(9+ENdS8`0s2%l!)iCQ-!qz14w%7Yj`>r?64=~(dFl6i-yY3W^LbD08( z*_`&ad(@@ndKY?n(N)%+2!s*jiYzmDz(!xQmj$+lLx*}~Jb_L_Q@kmS7I zPORa#($7}@ zVpKq(&C`9VONDeWh#h5*Z;(dJC-(*rl<#1h=l%`y*m5>AU@c@jCEdJ1s&a<1fO`w6 zZL?fFZ)h}@If5aI_tpB|yfz|*dVWGm+0_m*Y&-2Ct+!Aa(Y&u;-C(N@^;4)#sqSS) z2ZQG9v9GUSR@wIvH-VIW`l(va>*=~Omore1h0Enj(`QI!23bhy=CM8{K>cI0cTpB2 zFp;#UQb_~?bh(5-;`YG_|NZ-)aLrhK`;Bw04T0{-@rO9340p7@*4pmTu{Y^mlUH_+ zW6JEV{y1K79H@Rgzol3i+w$@(WVjHV=MbN3N zv$b{Q<<}1Ws{gni{jZi_=U$B1S@ZvOy#RLV#h4AfknF1$Is4>A!S21V?7|CV WH(r!Xc(HK3U;YCk5~9@B2><{U^b=eF diff --git a/apps/dashboard/build/_app/immutable/chunks/BjbQ7qSx.js b/apps/dashboard/build/_app/immutable/chunks/BjbQ7qSx.js new file mode 100644 index 0000000..fdff1ed --- /dev/null +++ b/apps/dashboard/build/_app/immutable/chunks/BjbQ7qSx.js @@ -0,0 +1 @@ +import{ac as R,ad as U,g as o,B,ae as N,i as A,af as y,ag as M,ah as Y,d as $,ai as h,aj as q,ak as w,al as x,R as j,am as p,an as z,ao as C,a8 as G,ap as Z,aq as F,U as H,ar as J}from"./CW7md74C.js";import{c as K,g as Q}from"./D90q9c2i.js";let v=!1,g=Symbol();function k(e,r,i){const n=i[r]??(i[r]={store:null,source:U(void 0),unsubscribe:R});if(n.store!==e&&!(g in i))if(n.unsubscribe(),n.store=e??null,e==null)n.source.v=void 0,n.unsubscribe=R;else{var u=!0;n.unsubscribe=K(e,t=>{u?n.source.v=t:A(n.source,t)}),u=!1}return e&&g in i?Q(e):o(n.source)}function ee(){const e={};function r(){B(()=>{for(var i in e)e[i].unsubscribe();N(e,g,{enumerable:!1,value:!0})})}return[e,r]}function V(e){var r=v;try{return v=!1,[e(),v]}finally{v=r}}function re(e,r,i,n){var E;var u=!p||(i&z)!==0,t=(i&x)!==0,T=(i&F)!==0,f=n,b=!0,P=()=>(b&&(b=!1,f=T?j(n):n),f),d;if(t){var m=H in e||J in e;d=((E=y(e,r))==null?void 0:E.set)??(m&&r in e?a=>e[r]=a:void 0)}var _,I=!1;t?[_,I]=V(()=>e[r]):_=e[r],_===void 0&&n!==void 0&&(_=P(),d&&(u&&M(),d(_)));var s;if(u?s=()=>{var a=e[r];return a===void 0?P():(b=!0,a)}:s=()=>{var a=e[r];return a!==void 0&&(f=void 0),a===void 0?f:a},u&&(i&Y)===0)return s;if(d){var D=e.$$legacy;return(function(a,c){return arguments.length>0?((!u||!c||D||I)&&d(c?s():a),a):s()})}var S=!1,l=((i&C)!==0?G:Z)(()=>(S=!1,s()));t&&o(l);var L=q;return(function(a,c){if(arguments.length>0){const O=c?o(l):u&&t?$(a):a;return A(l,O),S=!0,f!==void 0&&(f=O),a}return h&&S||(L.f&w)!==0?l.v:o(l)})}export{ee as a,re as p,k as s}; diff --git a/apps/dashboard/build/_app/immutable/chunks/BjbQ7qSx.js.br b/apps/dashboard/build/_app/immutable/chunks/BjbQ7qSx.js.br new file mode 100644 index 0000000000000000000000000000000000000000..5766e010df1760ed11bf12e9a6f9aa2db81d4beb GIT binary patch literal 785 zcmV+s1Md7A?gc=M!g24zvJkCVBK~Y{x?+d>+F=)l*i&qokXzWW&%JFpfDDK5z>)sR*$Q_YbJGD&J^PGeS#-VTJ4li|;qPL``CHul2byo?EjeOx8bde1~uuS*%1A{MA7 z$QpE(O-vCVC%M=ngcf9AzhRSx0b$j5lbDR_FzV&}_0$Mu#N@an(y_LBrq$c5R!;t3 zgO@X8KeDnnczhQ8LpIg!-s`e(>>l zNP11gw9;Qa=Ckbd6wxEr8eLjP67>0@uXmLAJqk5!*3VQmtVBYoxfe?QR=jZ~(PC4% z=_(idc_GuM{5_f`{g#bn?oS)f#7Z9SRWi;))vU;!O8>u@l{Z?1Sd_*Qp12^i)_E55 zYKFy$*%&9+g7CH2vz{&dE-^F)J<#>NP?lkctb+jcF6dEt)isQp_R>TNcv%~OKLk|VQSac0*HyGq~FNpH3iF=N`HXL9FquOuW*UqNw;%fV+d z5zsx_RYAjpQ_d#(b-vKtpj_C;&|d)gvBwGtWSigGKE^Ojwr)!Grt;} zN&@90e6n)FiehO`y@NxBp~ApMWv zYtlD@-$>sIzM>0(H>925+dgyU@>%%j!N1R!^XGpbgxA%xI3MQlW4s&Wf7&JiM1S%q9gsGeY?8#Y z8)iYY;m{{s@z95!RPtGDipsPr?M4j;vsMRP66PG6uH(7;gIq^BiFN5&(Ix%}NKNDi<p zcKt)CGsAMp4h%=}#V2 z4HhGdlp)P!^YzeS$#4ApUH8^wJZFF-UW*RIVaLg^*yt#%OpQqbOQoF8PBiZsxpz9+ zT(VwBr*zE0Zd@mmDIH((7jL-aVKikynlf*$i&8dth+)d7fHYSM8l^r+2vbD#K2)N+ zNh&{`SFb%=yfIkclP0Ht5qK{&_R;@WJZ_!w_D6X{ltsFyMk&bES7hcfZc4qF`C#H9 zn{a2RFbkcoH`K7*DQHS@dj+&xG)rUaDlCj$)K`1s1R!X-E=arXu)?HusUL&ZB3wm6+GB6-{4;3$tF6hI V;i2`%SloWFPRaL?ma%V*4?FQ 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 diff --git a/apps/dashboard/build/_app/immutable/chunks/Bxs5UR9-.js.gz b/apps/dashboard/build/_app/immutable/chunks/Bxs5UR9-.js.gz deleted file mode 100644 index 6acb96358357b582908ec2dda3902d7076895f8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2947 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.source.v=t:A(n.source,t)}),u=!1}return e&&g in i?Q(e):o(n.source)}function ee(){const e={};function r(){N(()=>{for(var i in e)e[i].unsubscribe();U(e,g,{enumerable:!1,value:!0})})}return[e,r]}function V(e){var r=v;try{return v=!1,[e(),v]}finally{v=r}}function re(e,r,i,n){var E;var u=!p||(i&z)!==0,t=(i&x)!==0,T=(i&F)!==0,f=n,b=!0,P=()=>(b&&(b=!1,f=T?j(n):n),f),d;if(t){var m=H in e||J in e;d=((E=B(e,r))==null?void 0:E.set)??(m&&r in e?a=>e[r]=a:void 0)}var _,I=!1;t?[_,I]=V(()=>e[r]):_=e[r],_===void 0&&n!==void 0&&(_=P(),d&&(u&&M(),d(_)));var s;if(u?s=()=>{var a=e[r];return a===void 0?P():(b=!0,a)}:s=()=>{var a=e[r];return a!==void 0&&(f=void 0),a===void 0?f:a},u&&(i&Y)===0)return s;if(d){var D=e.$$legacy;return(function(a,c){return arguments.length>0?((!u||!c||D||I)&&d(c?s():a),a):s()})}var S=!1,l=((i&C)!==0?G:Z)(()=>(S=!1,s()));t&&o(l);var L=q;return(function(a,c){if(arguments.length>0){const O=c?o(l):u&&t?$(a):a;return A(l,O),S=!0,f!==void 0&&(f=O),a}return h&&S||(L.f&w)!==0?l.v:o(l)})}export{ee as a,re as p,k as s}; diff --git a/apps/dashboard/build/_app/immutable/chunks/ByYB047u.js.br b/apps/dashboard/build/_app/immutable/chunks/ByYB047u.js.br deleted file mode 100644 index 372bba17c0cbd2f31bf77a699a337ab483e93d0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 785 zcmV+s1Md7A^92Bm!nU3BLn)lKlp#r}D(dxaLj;)dHI+f=Iy$DaSF34G+kcrPg@a9R zM^kEfqF7oITKeCQ&HC;gA#s#Irx&r0ibY6twbINt4{0e(BfHKOJj}9tazWhnq2C7G z88gzK)%0S}o34BfWb_1osY^zr+F>KLa~#4DN9rvpNvXpz2|Jv?9jEZXnd!+%3o*{g zt;GeraS3&Nf;O&Thig-d^AkoKV(y4hQ?qq z)-5?Wl(xO01uO>oo5tyJh3eCZF>*%ub5~0tja<<7_odYPVQ88ca;&+=7=~U9_%NE4fXY)i^5p zi?~?isT4TTud)cG(@02;P7)`Ssn2Cg0D|<%%W`Jd7E#X#h z=_0C|frT%3nC@jf$np70@ zQQ1O-aM`&ANjxAk8e-j2DR z7JV9NRjbMu3l diff --git a/apps/dashboard/build/_app/immutable/chunks/ByYB047u.js.gz b/apps/dashboard/build/_app/immutable/chunks/ByYB047u.js.gz deleted file mode 100644 index cbf9823ef7640be8894bfbe6c43f696ee10fe8b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 844 zcmV-S1GD@eiwFP!000026Lpl^ZrexDs@ zmPfWyS#m~_6Iar^FF3MuK)YAp2*V+N{v1uZS{Jrz^lYHZ!4>IPxTS@lpsnCD>ACQl zQo%84BYaId5q=`=qQ8@iIv~9iE=jxaThceeJJLUe_jD<^A)N`=q*uaUq;ugL(*FwI zk}iZlNUw!wG!ncceJgz5CAL_-@c+46*RQVsJ{kHq<%=-wn{hpS=zI9G4?KCfT5is& zmo6|f)nLQkAuV{cUCoLNFih$^uF@hO`~*XmQf%TPFRMY$>DW%92n5`eRbfq#*I7no zQQO!ATi6uod@w|+^Rk|mu}xRid=TX zEX3UJ>-Zb)>(H~4d=;9kG|fiaLCxMUe7^eu3{`y8)X|eXRd5XZPpYs(s@Xg2tf^|7 z4~$a1%;*ak42p+P>>fNa2KN3KZn{VFEMW5)0Qsm%3Jantm1G9ZIGsFiIlKl#3u;VW zuZ-2R%mm&cZFE+fz#Deh;ZD-nkexgh{{{wKzm_*)Ww*^vxSQx$yxdH>B+Ye}ZJQ0- z?(wKK{ctJoGn|Gy-_~slsrrQ;^N=crRNeRMud+Vt*9qq|V{b^8EFHp3DVRyogug~N zkYkV|B}j9beAQQ2@jKUl+rD=U=L~SluSEx9KjWw$Y;fwArot$Kl~UG4N1Bg}+&dlY zE?Fl@r*zKVVOT}uDVn^Q3)7m zB#l7{a?hm5NG6#vK&sxjc}H)9ALy(Fw^xD~RVh_K)*JSbZ~rVOP2hJa`#i.map(i=>d[i]); -var ff=Object.defineProperty;var pf=(r,e,t)=>e in r?ff(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var ke=(r,e,t)=>pf(r,typeof e!="symbol"?e+"":e,t);import"./Bzak7iHL.js";import{o as od,a as Ac}from"./TZu9D97Z.js";import{s as Qe,d as Al,i as le,g as L,p as sr,o as Ga,a as ot,b as rr,j as ut,e as xe,h as Ee,n as Or,r as fe,t as Pt,u as ei,c as mf,f as no,m as gf,l as _f}from"./wpu9U-D0.js";import{s as ct,d as Cc,a as Ut}from"./D8mhvFt8.js";import{i as It}from"./DKve45Wd.js";import{e as Pr,i as Wa,a as Rt,r as Br,s as Ns,c as vf}from"./60_R_Vbt.js";import{s as zr}from"./EqHb-9AZ.js";import{b as Cl,a as ph}from"./CnZzd20v.js";import{p as Dr,a as xf,s as yf}from"./ByYB047u.js";import{b as mh}from"./Bxs5UR9-.js";import{b as Rl}from"./g5OnrUYZ.js";import{N as Il}from"./CcUbQ_Wl.js";import{b as Mf}from"./DrafHjYM.js";import{i as bf}from"./BLadwbF7.js";import{_ as Sf}from"./Dp1pzeXC.js";import{I as ps}from"./D7A-gG4Z.js";import{D as wf}from"./CmbJHhgy.js";import{a as ms}from"./CZfHMhLI.js";import{e as Ef}from"./BhIgFntf.js";/** - * @license - * Copyright 2010-2024 Three.js Authors - * SPDX-License-Identifier: MIT - */const Rc="172",Xs={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},Os={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},Tf=0,gh=1,Af=2,sS=3,rS=0,ld=1,Cf=2,Qn=3,Ci=0,fn=1,Bn=2,ii=0,qs=1,Wt=2,_h=3,vh=4,Rf=5,Qi=100,If=101,Pf=102,Df=103,Lf=104,Uf=200,Nf=201,Ff=202,Of=203,Pl=204,Dl=205,Bf=206,zf=207,kf=208,Vf=209,Hf=210,Gf=211,Wf=212,Xf=213,qf=214,Ll=0,Ul=1,Nl=2,Ks=3,Fl=4,Ol=5,Bl=6,zl=7,bo=0,Yf=1,Zf=2,Ti=0,Jf=1,Kf=2,$f=3,cd=4,jf=5,Qf=6,ep=7,xh="attached",tp="detached",Ic=300,Ri=301,os=302,io=303,so=304,qr=306,ro=1e3,Nn=1001,ao=1002,Qt=1003,hd=1004,aS=1004,Cr=1005,oS=1005,Vt=1006,Xa=1007,lS=1007,ni=1008,cS=1008,li=1009,ud=1010,dd=1011,kr=1012,Pc=1013,Ii=1014,Mn=1015,si=1016,Dc=1017,Lc=1018,$s=1020,fd=35902,pd=1021,md=1022,dn=1023,gd=1024,_d=1025,Ys=1026,js=1027,Uc=1028,So=1029,vd=1030,Nc=1031,hS=1032,Fc=1033,qa=33776,Ya=33777,Za=33778,Ja=33779,kl=35840,Vl=35841,Hl=35842,Gl=35843,Wl=36196,Xl=37492,ql=37496,Yl=37808,Zl=37809,Jl=37810,Kl=37811,$l=37812,jl=37813,Ql=37814,ec=37815,tc=37816,nc=37817,ic=37818,sc=37819,rc=37820,ac=37821,Ka=36492,oc=36494,lc=36495,xd=36283,cc=36284,hc=36285,uc=36286,np=2200,ip=2201,sp=2202,oo=2300,dc=2301,Fo=2302,Bs=2400,zs=2401,lo=2402,Oc=2500,yd=2501,uS=0,dS=1,fS=2,rp=3200,ap=3201,pS=3202,mS=3203,cs=0,op=1,wi="",xn="srgb",Qs="srgb-linear",co="linear",vt="srgb",gS=0,gs=7680,_S=7681,vS=7682,xS=7683,yS=34055,MS=34056,bS=5386,SS=512,wS=513,ES=514,TS=515,AS=516,CS=517,RS=518,yh=519,lp=512,cp=513,hp=514,Md=515,up=516,dp=517,fp=518,pp=519,ho=35044,IS=35048,PS=35040,DS=35045,LS=35049,US=35041,NS=35046,FS=35050,OS=35042,BS="100",Mh="300 es",zn=2e3,uo=2001;class ci{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const i=this._listeners[e];if(i!==void 0){const s=i.indexOf(t);s!==-1&&i.splice(s,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const n=this._listeners[e.type];if(n!==void 0){e.target=this;const i=n.slice(0);for(let s=0,a=i.length;s>8&255]+Jt[r>>16&255]+Jt[r>>24&255]+"-"+Jt[e&255]+Jt[e>>8&255]+"-"+Jt[e>>16&15|64]+Jt[e>>24&255]+"-"+Jt[t&63|128]+Jt[t>>8&255]+"-"+Jt[t>>16&255]+Jt[t>>24&255]+Jt[n&255]+Jt[n>>8&255]+Jt[n>>16&255]+Jt[n>>24&255]).toLowerCase()}function et(r,e,t){return Math.max(e,Math.min(t,r))}function Bc(r,e){return(r%e+e)%e}function mp(r,e,t,n,i){return n+(r-e)*(i-n)/(t-e)}function gp(r,e,t){return r!==e?(t-r)/(e-r):0}function Lr(r,e,t){return(1-t)*r+t*e}function _p(r,e,t,n){return Lr(r,e,1-Math.exp(-t*n))}function vp(r,e=1){return e-Math.abs(Bc(r,e*2)-e)}function xp(r,e,t){return r<=e?0:r>=t?1:(r=(r-e)/(t-e),r*r*(3-2*r))}function yp(r,e,t){return r<=e?0:r>=t?1:(r=(r-e)/(t-e),r*r*r*(r*(r*6-15)+10))}function Mp(r,e){return r+Math.floor(Math.random()*(e-r+1))}function bp(r,e){return r+Math.random()*(e-r)}function Sp(r){return r*(.5-Math.random())}function wp(r){r!==void 0&&(bh=r);let e=bh+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function Ep(r){return r*ss}function Tp(r){return r*er}function Ap(r){return(r&r-1)===0&&r!==0}function Cp(r){return Math.pow(2,Math.ceil(Math.log(r)/Math.LN2))}function Rp(r){return Math.pow(2,Math.floor(Math.log(r)/Math.LN2))}function Ip(r,e,t,n,i){const s=Math.cos,a=Math.sin,o=s(t/2),l=a(t/2),c=s((e+n)/2),h=a((e+n)/2),u=s((e-n)/2),f=a((e-n)/2),d=s((n-e)/2),p=a((n-e)/2);switch(i){case"XYX":r.set(o*h,l*u,l*f,o*c);break;case"YZY":r.set(l*f,o*h,l*u,o*c);break;case"ZXZ":r.set(l*u,l*f,o*h,o*c);break;case"XZX":r.set(o*h,l*p,l*d,o*c);break;case"YXY":r.set(l*d,o*h,l*p,o*c);break;case"ZYZ":r.set(l*p,l*d,o*h,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function sn(r,e){switch(e.constructor){case Float32Array:return r;case Uint32Array:return r/4294967295;case Uint16Array:return r/65535;case Uint8Array:return r/255;case Int32Array:return Math.max(r/2147483647,-1);case Int16Array:return Math.max(r/32767,-1);case Int8Array:return Math.max(r/127,-1);default:throw new Error("Invalid component type.")}}function nt(r,e){switch(e.constructor){case Float32Array:return r;case Uint32Array:return Math.round(r*4294967295);case Uint16Array:return Math.round(r*65535);case Uint8Array:return Math.round(r*255);case Int32Array:return Math.round(r*2147483647);case Int16Array:return Math.round(r*32767);case Int8Array:return Math.round(r*127);default:throw new Error("Invalid component type.")}}const bd={DEG2RAD:ss,RAD2DEG:er,generateUUID:bn,clamp:et,euclideanModulo:Bc,mapLinear:mp,inverseLerp:gp,lerp:Lr,damp:_p,pingpong:vp,smoothstep:xp,smootherstep:yp,randInt:Mp,randFloat:bp,randFloatSpread:Sp,seededRandom:wp,degToRad:Ep,radToDeg:Tp,isPowerOfTwo:Ap,ceilPowerOfTwo:Cp,floorPowerOfTwo:Rp,setQuaternionFromProperEuler:Ip,normalize:nt,denormalize:sn};class j{constructor(e=0,t=0){j.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6],this.y=i[1]*t+i[4]*n+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=et(this.x,e.x,t.x),this.y=et(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=et(this.x,e,t),this.y=et(this.y,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(et(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(et(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),i=Math.sin(t),s=this.x-e.x,a=this.y-e.y;return this.x=s*n-a*i+e.x,this.y=s*i+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class tt{constructor(e,t,n,i,s,a,o,l,c){tt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,n,i,s,a,o,l,c)}set(e,t,n,i,s,a,o,l,c){const h=this.elements;return h[0]=e,h[1]=i,h[2]=o,h[3]=t,h[4]=s,h[5]=l,h[6]=n,h[7]=a,h[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,s=this.elements,a=n[0],o=n[3],l=n[6],c=n[1],h=n[4],u=n[7],f=n[2],d=n[5],p=n[8],_=i[0],g=i[3],m=i[6],y=i[1],v=i[4],x=i[7],w=i[2],T=i[5],C=i[8];return s[0]=a*_+o*y+l*w,s[3]=a*g+o*v+l*T,s[6]=a*m+o*x+l*C,s[1]=c*_+h*y+u*w,s[4]=c*g+h*v+u*T,s[7]=c*m+h*x+u*C,s[2]=f*_+d*y+p*w,s[5]=f*g+d*v+p*T,s[8]=f*m+d*x+p*C,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],h=e[8];return t*a*h-t*o*c-n*s*h+n*o*l+i*s*c-i*a*l}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],h=e[8],u=h*a-o*c,f=o*l-h*s,d=c*s-a*l,p=t*u+n*f+i*d;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);const _=1/p;return e[0]=u*_,e[1]=(i*c-h*n)*_,e[2]=(o*n-i*a)*_,e[3]=f*_,e[4]=(h*t-i*l)*_,e[5]=(i*s-o*t)*_,e[6]=d*_,e[7]=(n*l-c*t)*_,e[8]=(a*t-n*s)*_,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,n,i,s,a,o){const l=Math.cos(s),c=Math.sin(s);return this.set(n*l,n*c,-n*(l*a+c*o)+a+e,-i*c,i*l,-i*(-c*a+l*o)+o+t,0,0,1),this}scale(e,t){return this.premultiply(Oo.makeScale(e,t)),this}rotate(e){return this.premultiply(Oo.makeRotation(-e)),this}translate(e,t){return this.premultiply(Oo.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<9;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const Oo=new tt;function Sd(r){for(let e=r.length-1;e>=0;--e)if(r[e]>=65535)return!0;return!1}const Pp={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function ks(r,e){return new Pp[r](e)}function Vr(r){return document.createElementNS("http://www.w3.org/1999/xhtml",r)}function Dp(){const r=Vr("canvas");return r.style.display="block",r}const Sh={};function Fs(r){r in Sh||(Sh[r]=!0,console.warn(r))}function Lp(r,e,t){return new Promise(function(n,i){function s(){switch(r.clientWaitSync(e,r.SYNC_FLUSH_COMMANDS_BIT,0)){case r.WAIT_FAILED:i();break;case r.TIMEOUT_EXPIRED:setTimeout(s,t);break;default:n()}}setTimeout(s,t)})}function Up(r){const e=r.elements;e[2]=.5*e[2]+.5*e[3],e[6]=.5*e[6]+.5*e[7],e[10]=.5*e[10]+.5*e[11],e[14]=.5*e[14]+.5*e[15]}function Np(r){const e=r.elements;e[11]===-1?(e[10]=-e[10]-1,e[14]=-e[14]):(e[10]=-e[10],e[14]=-e[14]+1)}const wh=new tt().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),Eh=new tt().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function Fp(){const r={enabled:!0,workingColorSpace:Qs,spaces:{},convert:function(i,s,a){return this.enabled===!1||s===a||!s||!a||(this.spaces[s].transfer===vt&&(i.r=ri(i.r),i.g=ri(i.g),i.b=ri(i.b)),this.spaces[s].primaries!==this.spaces[a].primaries&&(i.applyMatrix3(this.spaces[s].toXYZ),i.applyMatrix3(this.spaces[a].fromXYZ)),this.spaces[a].transfer===vt&&(i.r=Zs(i.r),i.g=Zs(i.g),i.b=Zs(i.b))),i},fromWorkingColorSpace:function(i,s){return this.convert(i,this.workingColorSpace,s)},toWorkingColorSpace:function(i,s){return this.convert(i,s,this.workingColorSpace)},getPrimaries:function(i){return this.spaces[i].primaries},getTransfer:function(i){return i===wi?co:this.spaces[i].transfer},getLuminanceCoefficients:function(i,s=this.workingColorSpace){return i.fromArray(this.spaces[s].luminanceCoefficients)},define:function(i){Object.assign(this.spaces,i)},_getMatrix:function(i,s,a){return i.copy(this.spaces[s].toXYZ).multiply(this.spaces[a].fromXYZ)},_getDrawingBufferColorSpace:function(i){return this.spaces[i].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(i=this.workingColorSpace){return this.spaces[i].workingColorSpaceConfig.unpackColorSpace}},e=[.64,.33,.3,.6,.15,.06],t=[.2126,.7152,.0722],n=[.3127,.329];return r.define({[Qs]:{primaries:e,whitePoint:n,transfer:co,toXYZ:wh,fromXYZ:Eh,luminanceCoefficients:t,workingColorSpaceConfig:{unpackColorSpace:xn},outputColorSpaceConfig:{drawingBufferColorSpace:xn}},[xn]:{primaries:e,whitePoint:n,transfer:vt,toXYZ:wh,fromXYZ:Eh,luminanceCoefficients:t,outputColorSpaceConfig:{drawingBufferColorSpace:xn}}}),r}const ht=Fp();function ri(r){return r<.04045?r*.0773993808:Math.pow(r*.9478672986+.0521327014,2.4)}function Zs(r){return r<.0031308?r*12.92:1.055*Math.pow(r,.41666)-.055}let _s;class Op{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{_s===void 0&&(_s=Vr("canvas")),_s.width=e.width,_s.height=e.height;const n=_s.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=_s}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=Vr("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const i=n.getImageData(0,0,e.width,e.height),s=i.data;for(let a=0;a0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Ic)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case ro:e.x=e.x-Math.floor(e.x);break;case Nn:e.x=e.x<0?0:1;break;case ao:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case ro:e.y=e.y-Math.floor(e.y);break;case Nn:e.y=e.y<0?0:1;break;case ao:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}Et.DEFAULT_IMAGE=null;Et.DEFAULT_MAPPING=Ic;Et.DEFAULT_ANISOTROPY=1;class pt{constructor(e=0,t=0,n=0,i=1){pt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,s=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*i+a[12]*s,this.y=a[1]*t+a[5]*n+a[9]*i+a[13]*s,this.z=a[2]*t+a[6]*n+a[10]*i+a[14]*s,this.w=a[3]*t+a[7]*n+a[11]*i+a[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,i,s;const l=e.elements,c=l[0],h=l[4],u=l[8],f=l[1],d=l[5],p=l[9],_=l[2],g=l[6],m=l[10];if(Math.abs(h-f)<.01&&Math.abs(u-_)<.01&&Math.abs(p-g)<.01){if(Math.abs(h+f)<.1&&Math.abs(u+_)<.1&&Math.abs(p+g)<.1&&Math.abs(c+d+m-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const v=(c+1)/2,x=(d+1)/2,w=(m+1)/2,T=(h+f)/4,C=(u+_)/4,P=(p+g)/4;return v>x&&v>w?v<.01?(n=0,i=.707106781,s=.707106781):(n=Math.sqrt(v),i=T/n,s=C/n):x>w?x<.01?(n=.707106781,i=0,s=.707106781):(i=Math.sqrt(x),n=T/i,s=P/i):w<.01?(n=.707106781,i=.707106781,s=0):(s=Math.sqrt(w),n=C/s,i=P/s),this.set(n,i,s,t),this}let y=Math.sqrt((g-p)*(g-p)+(u-_)*(u-_)+(f-h)*(f-h));return Math.abs(y)<.001&&(y=1),this.x=(g-p)/y,this.y=(u-_)/y,this.z=(f-h)/y,this.w=Math.acos((c+d+m-1)/2),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=et(this.x,e.x,t.x),this.y=et(this.y,e.y,t.y),this.z=et(this.z,e.z,t.z),this.w=et(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=et(this.x,e,t),this.y=et(this.y,e,t),this.z=et(this.z,e,t),this.w=et(this.w,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(et(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this.w=e.w+(t.w-e.w)*n,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class zc extends ci{constructor(e=1,t=1,n={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new pt(0,0,e,t),this.scissorTest=!1,this.viewport=new pt(0,0,e,t);const i={width:e,height:t,depth:1};n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Vt,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},n);const s=new Et(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace);s.flipY=!1,s.generateMipmaps=n.generateMipmaps,s.internalFormat=n.internalFormat,this.textures=[];const a=n.count;for(let o=0;o=0?1:-1,v=1-m*m;if(v>Number.EPSILON){const w=Math.sqrt(v),T=Math.atan2(w,m*y);g=Math.sin(g*T)/w,o=Math.sin(o*T)/w}const x=o*y;if(l=l*g+f*x,c=c*g+d*x,h=h*g+p*x,u=u*g+_*x,g===1-o){const w=1/Math.sqrt(l*l+c*c+h*h+u*u);l*=w,c*=w,h*=w,u*=w}}e[t]=l,e[t+1]=c,e[t+2]=h,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,i,s,a){const o=n[i],l=n[i+1],c=n[i+2],h=n[i+3],u=s[a],f=s[a+1],d=s[a+2],p=s[a+3];return e[t]=o*p+h*u+l*d-c*f,e[t+1]=l*p+h*f+c*u-o*d,e[t+2]=c*p+h*d+o*f-l*u,e[t+3]=h*p-o*u-l*f-c*d,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,i){return this._x=e,this._y=t,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const n=e._x,i=e._y,s=e._z,a=e._order,o=Math.cos,l=Math.sin,c=o(n/2),h=o(i/2),u=o(s/2),f=l(n/2),d=l(i/2),p=l(s/2);switch(a){case"XYZ":this._x=f*h*u+c*d*p,this._y=c*d*u-f*h*p,this._z=c*h*p+f*d*u,this._w=c*h*u-f*d*p;break;case"YXZ":this._x=f*h*u+c*d*p,this._y=c*d*u-f*h*p,this._z=c*h*p-f*d*u,this._w=c*h*u+f*d*p;break;case"ZXY":this._x=f*h*u-c*d*p,this._y=c*d*u+f*h*p,this._z=c*h*p+f*d*u,this._w=c*h*u-f*d*p;break;case"ZYX":this._x=f*h*u-c*d*p,this._y=c*d*u+f*h*p,this._z=c*h*p-f*d*u,this._w=c*h*u+f*d*p;break;case"YZX":this._x=f*h*u+c*d*p,this._y=c*d*u+f*h*p,this._z=c*h*p-f*d*u,this._w=c*h*u-f*d*p;break;case"XZY":this._x=f*h*u-c*d*p,this._y=c*d*u-f*h*p,this._z=c*h*p+f*d*u,this._w=c*h*u+f*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,i=Math.sin(n);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],i=t[4],s=t[8],a=t[1],o=t[5],l=t[9],c=t[2],h=t[6],u=t[10],f=n+o+u;if(f>0){const d=.5/Math.sqrt(f+1);this._w=.25/d,this._x=(h-l)*d,this._y=(s-c)*d,this._z=(a-i)*d}else if(n>o&&n>u){const d=2*Math.sqrt(1+n-o-u);this._w=(h-l)/d,this._x=.25*d,this._y=(i+a)/d,this._z=(s+c)/d}else if(o>u){const d=2*Math.sqrt(1+o-n-u);this._w=(s-c)/d,this._x=(i+a)/d,this._y=.25*d,this._z=(l+h)/d}else{const d=2*Math.sqrt(1+u-n-o);this._w=(a-i)/d,this._x=(s+c)/d,this._y=(l+h)/d,this._z=.25*d}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return nMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=n),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(et(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(n===0)return this;const i=Math.min(1,t/n);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,i=e._y,s=e._z,a=e._w,o=t._x,l=t._y,c=t._z,h=t._w;return this._x=n*h+a*o+i*c-s*l,this._y=i*h+a*l+s*o-n*c,this._z=s*h+a*c+n*l-i*o,this._w=a*h-n*o-i*l-s*c,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const n=this._x,i=this._y,s=this._z,a=this._w;let o=a*e._w+n*e._x+i*e._y+s*e._z;if(o<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,o=-o):this.copy(e),o>=1)return this._w=a,this._x=n,this._y=i,this._z=s,this;const l=1-o*o;if(l<=Number.EPSILON){const d=1-t;return this._w=d*a+t*this._w,this._x=d*n+t*this._x,this._y=d*i+t*this._y,this._z=d*s+t*this._z,this.normalize(),this}const c=Math.sqrt(l),h=Math.atan2(c,o),u=Math.sin((1-t)*h)/c,f=Math.sin(t*h)/c;return this._w=a*u+this._w*f,this._x=n*u+this._x*f,this._y=i*u+this._y*f,this._z=s*u+this._z*f,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),i=Math.sqrt(1-n),s=Math.sqrt(n);return this.set(i*Math.sin(e),i*Math.cos(e),s*Math.sin(t),s*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class A{constructor(e=0,t=0,n=0){A.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(Th.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Th.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,i=this.z,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6]*i,this.y=s[1]*t+s[4]*n+s[7]*i,this.z=s[2]*t+s[5]*n+s[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,s=e.elements,a=1/(s[3]*t+s[7]*n+s[11]*i+s[15]);return this.x=(s[0]*t+s[4]*n+s[8]*i+s[12])*a,this.y=(s[1]*t+s[5]*n+s[9]*i+s[13])*a,this.z=(s[2]*t+s[6]*n+s[10]*i+s[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,i=this.z,s=e.x,a=e.y,o=e.z,l=e.w,c=2*(a*i-o*n),h=2*(o*t-s*i),u=2*(s*n-a*t);return this.x=t+l*c+a*u-o*h,this.y=n+l*h+o*c-s*u,this.z=i+l*u+s*h-a*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,i=this.z,s=e.elements;return this.x=s[0]*t+s[4]*n+s[8]*i,this.y=s[1]*t+s[5]*n+s[9]*i,this.z=s[2]*t+s[6]*n+s[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=et(this.x,e.x,t.x),this.y=et(this.y,e.y,t.y),this.z=et(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=et(this.x,e,t),this.y=et(this.y,e,t),this.z=et(this.z,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(et(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this.z=e.z+(t.z-e.z)*n,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,i=e.y,s=e.z,a=t.x,o=t.y,l=t.z;return this.x=i*l-s*o,this.y=s*a-n*l,this.z=n*o-i*a,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return zo.copy(this).projectOnVector(e),this.sub(zo)}reflect(e){return this.sub(zo.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(et(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,i=this.z-e.z;return t*t+n*n+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const i=Math.sin(t)*e;return this.x=i*Math.sin(n),this.y=Math.cos(t)*e,this.z=i*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=i,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const zo=new A,Th=new rn;class pn{constructor(e=new A(1/0,1/0,1/0),t=new A(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,n=e.length;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,Dn),Dn.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(mr),$r.subVectors(this.max,mr),vs.subVectors(e.a,mr),xs.subVectors(e.b,mr),ys.subVectors(e.c,mr),mi.subVectors(xs,vs),gi.subVectors(ys,xs),Fi.subVectors(vs,ys);let t=[0,-mi.z,mi.y,0,-gi.z,gi.y,0,-Fi.z,Fi.y,mi.z,0,-mi.x,gi.z,0,-gi.x,Fi.z,0,-Fi.x,-mi.y,mi.x,0,-gi.y,gi.x,0,-Fi.y,Fi.x,0];return!ko(t,vs,xs,ys,$r)||(t=[1,0,0,0,1,0,0,0,1],!ko(t,vs,xs,ys,$r))?!1:(jr.crossVectors(mi,gi),t=[jr.x,jr.y,jr.z],ko(t,vs,xs,ys,$r))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Dn).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Dn).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(qn[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),qn[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),qn[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),qn[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),qn[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),qn[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),qn[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),qn[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(qn),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const qn=[new A,new A,new A,new A,new A,new A,new A,new A],Dn=new A,Kr=new pn,vs=new A,xs=new A,ys=new A,mi=new A,gi=new A,Fi=new A,mr=new A,$r=new A,jr=new A,Oi=new A;function ko(r,e,t,n,i){for(let s=0,a=r.length-3;s<=a;s+=3){Oi.fromArray(r,s);const o=i.x*Math.abs(Oi.x)+i.y*Math.abs(Oi.y)+i.z*Math.abs(Oi.z),l=e.dot(Oi),c=t.dot(Oi),h=n.dot(Oi);if(Math.max(-Math.max(l,c,h),Math.min(l,c,h))>o)return!1}return!0}const kp=new pn,gr=new A,Vo=new A;class an{constructor(e=new A,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;t!==void 0?n.copy(t):kp.setFromPoints(e).getCenter(n);let i=0;for(let s=0,a=e.length;sthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;gr.subVectors(e,this.center);const t=gr.lengthSq();if(t>this.radius*this.radius){const n=Math.sqrt(t),i=(n-this.radius)*.5;this.center.addScaledVector(gr,i/n),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(Vo.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(gr.copy(e.center).add(Vo)),this.expandByPoint(gr.copy(e.center).sub(Vo))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Yn=new A,Ho=new A,Qr=new A,_i=new A,Go=new A,ea=new A,Wo=new A;class ar{constructor(e=new A,t=new A(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Yn)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=Yn.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Yn.copy(this.origin).addScaledVector(this.direction,t),Yn.distanceToSquared(e))}distanceSqToSegment(e,t,n,i){Ho.copy(e).add(t).multiplyScalar(.5),Qr.copy(t).sub(e).normalize(),_i.copy(this.origin).sub(Ho);const s=e.distanceTo(t)*.5,a=-this.direction.dot(Qr),o=_i.dot(this.direction),l=-_i.dot(Qr),c=_i.lengthSq(),h=Math.abs(1-a*a);let u,f,d,p;if(h>0)if(u=a*l-o,f=a*o-l,p=s*h,u>=0)if(f>=-p)if(f<=p){const _=1/h;u*=_,f*=_,d=u*(u+a*f+2*o)+f*(a*u+f+2*l)+c}else f=s,u=Math.max(0,-(a*f+o)),d=-u*u+f*(f+2*l)+c;else f=-s,u=Math.max(0,-(a*f+o)),d=-u*u+f*(f+2*l)+c;else f<=-p?(u=Math.max(0,-(-a*s+o)),f=u>0?-s:Math.min(Math.max(-s,-l),s),d=-u*u+f*(f+2*l)+c):f<=p?(u=0,f=Math.min(Math.max(-s,-l),s),d=f*(f+2*l)+c):(u=Math.max(0,-(a*s+o)),f=u>0?s:Math.min(Math.max(-s,-l),s),d=-u*u+f*(f+2*l)+c);else f=a>0?-s:s,u=Math.max(0,-(a*f+o)),d=-u*u+f*(f+2*l)+c;return n&&n.copy(this.origin).addScaledVector(this.direction,u),i&&i.copy(Ho).addScaledVector(Qr,f),d}intersectSphere(e,t){Yn.subVectors(e.center,this.origin);const n=Yn.dot(this.direction),i=Yn.dot(Yn)-n*n,s=e.radius*e.radius;if(i>s)return null;const a=Math.sqrt(s-i),o=n-a,l=n+a;return l<0?null:o<0?this.at(l,t):this.at(o,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return n===null?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,i,s,a,o,l;const c=1/this.direction.x,h=1/this.direction.y,u=1/this.direction.z,f=this.origin;return c>=0?(n=(e.min.x-f.x)*c,i=(e.max.x-f.x)*c):(n=(e.max.x-f.x)*c,i=(e.min.x-f.x)*c),h>=0?(s=(e.min.y-f.y)*h,a=(e.max.y-f.y)*h):(s=(e.max.y-f.y)*h,a=(e.min.y-f.y)*h),n>a||s>i||((s>n||isNaN(n))&&(n=s),(a=0?(o=(e.min.z-f.z)*u,l=(e.max.z-f.z)*u):(o=(e.max.z-f.z)*u,l=(e.min.z-f.z)*u),n>l||o>i)||((o>n||n!==n)&&(n=o),(l=0?n:i,t)}intersectsBox(e){return this.intersectBox(e,Yn)!==null}intersectTriangle(e,t,n,i,s){Go.subVectors(t,e),ea.subVectors(n,e),Wo.crossVectors(Go,ea);let a=this.direction.dot(Wo),o;if(a>0){if(i)return null;o=1}else if(a<0)o=-1,a=-a;else return null;_i.subVectors(this.origin,e);const l=o*this.direction.dot(ea.crossVectors(_i,ea));if(l<0)return null;const c=o*this.direction.dot(Go.cross(_i));if(c<0||l+c>a)return null;const h=-o*_i.dot(Wo);return h<0?null:this.at(h/a,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Ze{constructor(e,t,n,i,s,a,o,l,c,h,u,f,d,p,_,g){Ze.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,n,i,s,a,o,l,c,h,u,f,d,p,_,g)}set(e,t,n,i,s,a,o,l,c,h,u,f,d,p,_,g){const m=this.elements;return m[0]=e,m[4]=t,m[8]=n,m[12]=i,m[1]=s,m[5]=a,m[9]=o,m[13]=l,m[2]=c,m[6]=h,m[10]=u,m[14]=f,m[3]=d,m[7]=p,m[11]=_,m[15]=g,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Ze().fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,n=e.elements,i=1/Ms.setFromMatrixColumn(e,0).length(),s=1/Ms.setFromMatrixColumn(e,1).length(),a=1/Ms.setFromMatrixColumn(e,2).length();return t[0]=n[0]*i,t[1]=n[1]*i,t[2]=n[2]*i,t[3]=0,t[4]=n[4]*s,t[5]=n[5]*s,t[6]=n[6]*s,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,i=e.y,s=e.z,a=Math.cos(n),o=Math.sin(n),l=Math.cos(i),c=Math.sin(i),h=Math.cos(s),u=Math.sin(s);if(e.order==="XYZ"){const f=a*h,d=a*u,p=o*h,_=o*u;t[0]=l*h,t[4]=-l*u,t[8]=c,t[1]=d+p*c,t[5]=f-_*c,t[9]=-o*l,t[2]=_-f*c,t[6]=p+d*c,t[10]=a*l}else if(e.order==="YXZ"){const f=l*h,d=l*u,p=c*h,_=c*u;t[0]=f+_*o,t[4]=p*o-d,t[8]=a*c,t[1]=a*u,t[5]=a*h,t[9]=-o,t[2]=d*o-p,t[6]=_+f*o,t[10]=a*l}else if(e.order==="ZXY"){const f=l*h,d=l*u,p=c*h,_=c*u;t[0]=f-_*o,t[4]=-a*u,t[8]=p+d*o,t[1]=d+p*o,t[5]=a*h,t[9]=_-f*o,t[2]=-a*c,t[6]=o,t[10]=a*l}else if(e.order==="ZYX"){const f=a*h,d=a*u,p=o*h,_=o*u;t[0]=l*h,t[4]=p*c-d,t[8]=f*c+_,t[1]=l*u,t[5]=_*c+f,t[9]=d*c-p,t[2]=-c,t[6]=o*l,t[10]=a*l}else if(e.order==="YZX"){const f=a*l,d=a*c,p=o*l,_=o*c;t[0]=l*h,t[4]=_-f*u,t[8]=p*u+d,t[1]=u,t[5]=a*h,t[9]=-o*h,t[2]=-c*h,t[6]=d*u+p,t[10]=f-_*u}else if(e.order==="XZY"){const f=a*l,d=a*c,p=o*l,_=o*c;t[0]=l*h,t[4]=-u,t[8]=c*h,t[1]=f*u+_,t[5]=a*h,t[9]=d*u-p,t[2]=p*u-d,t[6]=o*h,t[10]=_*u+f}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Vp,e,Hp)}lookAt(e,t,n){const i=this.elements;return _n.subVectors(e,t),_n.lengthSq()===0&&(_n.z=1),_n.normalize(),vi.crossVectors(n,_n),vi.lengthSq()===0&&(Math.abs(n.z)===1?_n.x+=1e-4:_n.z+=1e-4,_n.normalize(),vi.crossVectors(n,_n)),vi.normalize(),ta.crossVectors(_n,vi),i[0]=vi.x,i[4]=ta.x,i[8]=_n.x,i[1]=vi.y,i[5]=ta.y,i[9]=_n.y,i[2]=vi.z,i[6]=ta.z,i[10]=_n.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,s=this.elements,a=n[0],o=n[4],l=n[8],c=n[12],h=n[1],u=n[5],f=n[9],d=n[13],p=n[2],_=n[6],g=n[10],m=n[14],y=n[3],v=n[7],x=n[11],w=n[15],T=i[0],C=i[4],P=i[8],S=i[12],M=i[1],D=i[5],G=i[9],F=i[13],V=i[2],J=i[6],q=i[10],se=i[14],Z=i[3],_e=i[7],be=i[11],Re=i[15];return s[0]=a*T+o*M+l*V+c*Z,s[4]=a*C+o*D+l*J+c*_e,s[8]=a*P+o*G+l*q+c*be,s[12]=a*S+o*F+l*se+c*Re,s[1]=h*T+u*M+f*V+d*Z,s[5]=h*C+u*D+f*J+d*_e,s[9]=h*P+u*G+f*q+d*be,s[13]=h*S+u*F+f*se+d*Re,s[2]=p*T+_*M+g*V+m*Z,s[6]=p*C+_*D+g*J+m*_e,s[10]=p*P+_*G+g*q+m*be,s[14]=p*S+_*F+g*se+m*Re,s[3]=y*T+v*M+x*V+w*Z,s[7]=y*C+v*D+x*J+w*_e,s[11]=y*P+v*G+x*q+w*be,s[15]=y*S+v*F+x*se+w*Re,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],n=e[4],i=e[8],s=e[12],a=e[1],o=e[5],l=e[9],c=e[13],h=e[2],u=e[6],f=e[10],d=e[14],p=e[3],_=e[7],g=e[11],m=e[15];return p*(+s*l*u-i*c*u-s*o*f+n*c*f+i*o*d-n*l*d)+_*(+t*l*d-t*c*f+s*a*f-i*a*d+i*c*h-s*l*h)+g*(+t*c*u-t*o*d-s*a*u+n*a*d+s*o*h-n*c*h)+m*(-i*o*h-t*l*u+t*o*f+i*a*u-n*a*f+n*l*h)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,n){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=t,i[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],c=e[7],h=e[8],u=e[9],f=e[10],d=e[11],p=e[12],_=e[13],g=e[14],m=e[15],y=u*g*c-_*f*c+_*l*d-o*g*d-u*l*m+o*f*m,v=p*f*c-h*g*c-p*l*d+a*g*d+h*l*m-a*f*m,x=h*_*c-p*u*c+p*o*d-a*_*d-h*o*m+a*u*m,w=p*u*l-h*_*l-p*o*f+a*_*f+h*o*g-a*u*g,T=t*y+n*v+i*x+s*w;if(T===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const C=1/T;return e[0]=y*C,e[1]=(_*f*s-u*g*s-_*i*d+n*g*d+u*i*m-n*f*m)*C,e[2]=(o*g*s-_*l*s+_*i*c-n*g*c-o*i*m+n*l*m)*C,e[3]=(u*l*s-o*f*s-u*i*c+n*f*c+o*i*d-n*l*d)*C,e[4]=v*C,e[5]=(h*g*s-p*f*s+p*i*d-t*g*d-h*i*m+t*f*m)*C,e[6]=(p*l*s-a*g*s-p*i*c+t*g*c+a*i*m-t*l*m)*C,e[7]=(a*f*s-h*l*s+h*i*c-t*f*c-a*i*d+t*l*d)*C,e[8]=x*C,e[9]=(p*u*s-h*_*s-p*n*d+t*_*d+h*n*m-t*u*m)*C,e[10]=(a*_*s-p*o*s+p*n*c-t*_*c-a*n*m+t*o*m)*C,e[11]=(h*o*s-a*u*s-h*n*c+t*u*c+a*n*d-t*o*d)*C,e[12]=w*C,e[13]=(h*_*i-p*u*i+p*n*f-t*_*f-h*n*g+t*u*g)*C,e[14]=(p*o*i-a*_*i-p*n*l+t*_*l+a*n*g-t*o*g)*C,e[15]=(a*u*i-h*o*i+h*n*l-t*u*l-a*n*f+t*o*f)*C,this}scale(e){const t=this.elements,n=e.x,i=e.y,s=e.z;return t[0]*=n,t[4]*=i,t[8]*=s,t[1]*=n,t[5]*=i,t[9]*=s,t[2]*=n,t[6]*=i,t[10]*=s,t[3]*=n,t[7]*=i,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,i))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),i=Math.sin(t),s=1-n,a=e.x,o=e.y,l=e.z,c=s*a,h=s*o;return this.set(c*a+n,c*o-i*l,c*l+i*o,0,c*o+i*l,h*o+n,h*l-i*a,0,c*l-i*o,h*l+i*a,s*l*l+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,i,s,a){return this.set(1,n,s,0,e,1,a,0,t,i,1,0,0,0,0,1),this}compose(e,t,n){const i=this.elements,s=t._x,a=t._y,o=t._z,l=t._w,c=s+s,h=a+a,u=o+o,f=s*c,d=s*h,p=s*u,_=a*h,g=a*u,m=o*u,y=l*c,v=l*h,x=l*u,w=n.x,T=n.y,C=n.z;return i[0]=(1-(_+m))*w,i[1]=(d+x)*w,i[2]=(p-v)*w,i[3]=0,i[4]=(d-x)*T,i[5]=(1-(f+m))*T,i[6]=(g+y)*T,i[7]=0,i[8]=(p+v)*C,i[9]=(g-y)*C,i[10]=(1-(f+_))*C,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,t,n){const i=this.elements;let s=Ms.set(i[0],i[1],i[2]).length();const a=Ms.set(i[4],i[5],i[6]).length(),o=Ms.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),e.x=i[12],e.y=i[13],e.z=i[14],Ln.copy(this);const c=1/s,h=1/a,u=1/o;return Ln.elements[0]*=c,Ln.elements[1]*=c,Ln.elements[2]*=c,Ln.elements[4]*=h,Ln.elements[5]*=h,Ln.elements[6]*=h,Ln.elements[8]*=u,Ln.elements[9]*=u,Ln.elements[10]*=u,t.setFromRotationMatrix(Ln),n.x=s,n.y=a,n.z=o,this}makePerspective(e,t,n,i,s,a,o=zn){const l=this.elements,c=2*s/(t-e),h=2*s/(n-i),u=(t+e)/(t-e),f=(n+i)/(n-i);let d,p;if(o===zn)d=-(a+s)/(a-s),p=-2*a*s/(a-s);else if(o===uo)d=-a/(a-s),p=-a*s/(a-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+o);return l[0]=c,l[4]=0,l[8]=u,l[12]=0,l[1]=0,l[5]=h,l[9]=f,l[13]=0,l[2]=0,l[6]=0,l[10]=d,l[14]=p,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,n,i,s,a,o=zn){const l=this.elements,c=1/(t-e),h=1/(n-i),u=1/(a-s),f=(t+e)*c,d=(n+i)*h;let p,_;if(o===zn)p=(a+s)*u,_=-2*u;else if(o===uo)p=s*u,_=-1*u;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+o);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-f,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-d,l[2]=0,l[6]=0,l[10]=_,l[14]=-p,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<16;i++)if(t[i]!==n[i])return!1;return!0}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}const Ms=new A,Ln=new Ze,Vp=new A(0,0,0),Hp=new A(1,1,1),vi=new A,ta=new A,_n=new A,Ah=new Ze,Ch=new rn;class In{constructor(e=0,t=0,n=0,i=In.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n,i=this._order){return this._x=e,this._y=t,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){const i=e.elements,s=i[0],a=i[4],o=i[8],l=i[1],c=i[5],h=i[9],u=i[2],f=i[6],d=i[10];switch(t){case"XYZ":this._y=Math.asin(et(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-h,d),this._z=Math.atan2(-a,s)):(this._x=Math.atan2(f,c),this._z=0);break;case"YXZ":this._x=Math.asin(-et(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(o,d),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-u,s),this._z=0);break;case"ZXY":this._x=Math.asin(et(f,-1,1)),Math.abs(f)<.9999999?(this._y=Math.atan2(-u,d),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-et(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(f,d),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-a,c));break;case"YZX":this._z=Math.asin(et(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,c),this._y=Math.atan2(-u,s)):(this._x=0,this._y=Math.atan2(o,d));break;case"XZY":this._z=Math.asin(-et(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(f,c),this._y=Math.atan2(o,s)):(this._x=Math.atan2(-h,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return Ah.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Ah,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return Ch.setFromEuler(this),this.setFromQuaternion(Ch,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}In.DEFAULT_ORDER="XYZ";class Vc{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let n=0;n0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(o=>({boxInitialized:o.boxInitialized,boxMin:o.box.min.toArray(),boxMax:o.box.max.toArray(),sphereInitialized:o.sphereInitialized,sphereRadius:o.sphere.radius,sphereCenter:o.sphere.center.toArray()})),i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(e),this._colorsTexture!==null&&(i.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()}));function s(o,l){return o[l.uuid]===void 0&&(o[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=s(e.geometries,this.geometry);const o=this.geometry.parameters;if(o!==void 0&&o.shapes!==void 0){const l=o.shapes;if(Array.isArray(l))for(let c=0,h=l.length;c0){i.children=[];for(let o=0;o0){i.animations=[];for(let o=0;o0&&(n.geometries=o),l.length>0&&(n.materials=l),c.length>0&&(n.textures=c),h.length>0&&(n.images=h),u.length>0&&(n.shapes=u),f.length>0&&(n.skeletons=f),d.length>0&&(n.animations=d),p.length>0&&(n.nodes=p)}return n.object=i,n;function a(o){const l=[];for(const c in o){const h=o[c];delete h.metadata,l.push(h)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(e,t,n,i,s){Un.subVectors(i,t),Jn.subVectors(n,t),qo.subVectors(e,t);const a=Un.dot(Un),o=Un.dot(Jn),l=Un.dot(qo),c=Jn.dot(Jn),h=Jn.dot(qo),u=a*c-o*o;if(u===0)return s.set(0,0,0),null;const f=1/u,d=(c*l-o*h)*f,p=(a*h-o*l)*f;return s.set(1-d-p,p,d)}static containsPoint(e,t,n,i){return this.getBarycoord(e,t,n,i,Kn)===null?!1:Kn.x>=0&&Kn.y>=0&&Kn.x+Kn.y<=1}static getInterpolation(e,t,n,i,s,a,o,l){return this.getBarycoord(e,t,n,i,Kn)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,Kn.x),l.addScaledVector(a,Kn.y),l.addScaledVector(o,Kn.z),l)}static getInterpolatedAttribute(e,t,n,i,s,a){return Ko.setScalar(0),$o.setScalar(0),jo.setScalar(0),Ko.fromBufferAttribute(e,t),$o.fromBufferAttribute(e,n),jo.fromBufferAttribute(e,i),a.setScalar(0),a.addScaledVector(Ko,s.x),a.addScaledVector($o,s.y),a.addScaledVector(jo,s.z),a}static isFrontFacing(e,t,n,i){return Un.subVectors(n,t),Jn.subVectors(e,t),Un.cross(Jn).dot(i)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,i){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,t,n,i){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Un.subVectors(this.c,this.b),Jn.subVectors(this.a,this.b),Un.cross(Jn).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return yn.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return yn.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,n,i,s){return yn.getInterpolation(e,this.a,this.b,this.c,t,n,i,s)}containsPoint(e){return yn.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return yn.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,i=this.b,s=this.c;let a,o;ws.subVectors(i,n),Es.subVectors(s,n),Yo.subVectors(e,n);const l=ws.dot(Yo),c=Es.dot(Yo);if(l<=0&&c<=0)return t.copy(n);Zo.subVectors(e,i);const h=ws.dot(Zo),u=Es.dot(Zo);if(h>=0&&u<=h)return t.copy(i);const f=l*u-h*c;if(f<=0&&l>=0&&h<=0)return a=l/(l-h),t.copy(n).addScaledVector(ws,a);Jo.subVectors(e,s);const d=ws.dot(Jo),p=Es.dot(Jo);if(p>=0&&d<=p)return t.copy(s);const _=d*c-l*p;if(_<=0&&c>=0&&p<=0)return o=c/(c-p),t.copy(n).addScaledVector(Es,o);const g=h*p-d*u;if(g<=0&&u-h>=0&&d-p>=0)return Uh.subVectors(s,i),o=(u-h)/(u-h+(d-p)),t.copy(i).addScaledVector(Uh,o);const m=1/(g+_+f);return a=_*m,o=f*m,t.copy(n).addScaledVector(ws,a).addScaledVector(Es,o)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const wd={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},xi={h:0,s:0,l:0},ia={h:0,s:0,l:0};function Qo(r,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?r+(e-r)*6*t:t<1/2?e:t<2/3?r+(e-r)*6*(2/3-t):r}class ne{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=xn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,ht.toWorkingColorSpace(this,t),this}setRGB(e,t,n,i=ht.workingColorSpace){return this.r=e,this.g=t,this.b=n,ht.toWorkingColorSpace(this,i),this}setHSL(e,t,n,i=ht.workingColorSpace){if(e=Bc(e,1),t=et(t,0,1),n=et(n,0,1),t===0)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+t):n+t-n*t,a=2*n-s;this.r=Qo(a,s,e+1/3),this.g=Qo(a,s,e),this.b=Qo(a,s,e-1/3)}return ht.toWorkingColorSpace(this,i),this}setStyle(e,t=xn){function n(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const a=i[1],o=i[2];switch(a){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(o))return n(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=i[1],a=s.length;if(a===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(a===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=xn){const n=wd[e.toLowerCase()];return n!==void 0?this.setHex(n,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=ri(e.r),this.g=ri(e.g),this.b=ri(e.b),this}copyLinearToSRGB(e){return this.r=Zs(e.r),this.g=Zs(e.g),this.b=Zs(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=xn){return ht.fromWorkingColorSpace(Kt.copy(this),e),Math.round(et(Kt.r*255,0,255))*65536+Math.round(et(Kt.g*255,0,255))*256+Math.round(et(Kt.b*255,0,255))}getHexString(e=xn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=ht.workingColorSpace){ht.fromWorkingColorSpace(Kt.copy(this),t);const n=Kt.r,i=Kt.g,s=Kt.b,a=Math.max(n,i,s),o=Math.min(n,i,s);let l,c;const h=(o+a)/2;if(o===a)l=0,c=0;else{const u=a-o;switch(c=h<=.5?u/(a+o):u/(2-a-o),a){case n:l=(i-s)/u+(i0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const n=e[t];if(n===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const i=this[t];if(i===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const n={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(e).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==qs&&(n.blending=this.blending),this.side!==Ci&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==Pl&&(n.blendSrc=this.blendSrc),this.blendDst!==Dl&&(n.blendDst=this.blendDst),this.blendEquation!==Qi&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==Ks&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==yh&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==gs&&(n.stencilFail=this.stencilFail),this.stencilZFail!==gs&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==gs&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function i(s){const a=[];for(const o in s){const l=s[o];delete l.metadata,a.push(l)}return a}if(t){const s=i(e.textures),a=i(e.images);s.length>0&&(n.textures=s),a.length>0&&(n.images=a)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(t!==null){const i=t.length;n=new Array(i);for(let s=0;s!==i;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}onBuild(){console.warn("Material: onBuild() has been removed.")}}class kn extends on{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new ne(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new In,this.combine=bo,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const ti=Zp();function Zp(){const r=new ArrayBuffer(4),e=new Float32Array(r),t=new Uint32Array(r),n=new Uint32Array(512),i=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(n[l]=0,n[l|256]=32768,i[l]=24,i[l|256]=24):c<-14?(n[l]=1024>>-c-14,n[l|256]=1024>>-c-14|32768,i[l]=-c-1,i[l|256]=-c-1):c<=15?(n[l]=c+15<<10,n[l|256]=c+15<<10|32768,i[l]=13,i[l|256]=13):c<128?(n[l]=31744,n[l|256]=64512,i[l]=24,i[l|256]=24):(n[l]=31744,n[l|256]=64512,i[l]=13,i[l|256]=13)}const s=new Uint32Array(2048),a=new Uint32Array(64),o=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,h=0;for(;(c&8388608)===0;)c<<=1,h-=8388608;c&=-8388609,h+=947912704,s[l]=c|h}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)a[l]=l<<23;a[31]=1199570944,a[32]=2147483648;for(let l=33;l<63;++l)a[l]=2147483648+(l-32<<23);a[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(o[l]=1024);return{floatView:e,uint32View:t,baseTable:n,shiftTable:i,mantissaTable:s,exponentTable:a,offsetTable:o}}function un(r){Math.abs(r)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),r=et(r,-65504,65504),ti.floatView[0]=r;const e=ti.uint32View[0],t=e>>23&511;return ti.baseTable[t]+((e&8388607)>>ti.shiftTable[t])}function Rr(r){const e=r>>10;return ti.uint32View[0]=ti.mantissaTable[ti.offsetTable[e]+(r&1023)]+ti.exponentTable[e],ti.floatView[0]}const VS={toHalfFloat:un,fromHalfFloat:Rr},Lt=new A,sa=new j;class rt{constructor(e,t,n=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=n,this.usage=ho,this.updateRanges=[],this.gpuType=Mn,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let i=0,s=this.itemSize;it.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pn);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new A(-1/0,-1/0,-1/0),new A(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,i=t.length;n0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const l in n){const c=n[l];e.data.attributes[l]=c.toJSON(e.data)}const i={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],h=[];for(let u=0,f=c.length;u0&&(i[l]=h,s=!0)}s&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const o=this.boundingSphere;return o!==null&&(e.data.boundingSphere={center:o.center.toArray(),radius:o.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;n!==null&&this.setIndex(n.clone(t));const i=e.attributes;for(const c in i){const h=i[c];this.setAttribute(c,h.clone(t))}const s=e.morphAttributes;for(const c in s){const h=[],u=s[c];for(let f=0,d=u.length;f0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=i.length;s(e.far-e.near)**2))&&(Nh.copy(s).invert(),Bi.copy(e.ray).applyMatrix4(Nh),!(n.boundingBox!==null&&Bi.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,Bi)))}_computeIntersections(e,t,n){let i;const s=this.geometry,a=this.material,o=s.index,l=s.attributes.position,c=s.attributes.uv,h=s.attributes.uv1,u=s.attributes.normal,f=s.groups,d=s.drawRange;if(o!==null)if(Array.isArray(a))for(let p=0,_=f.length;p<_;p++){const g=f[p],m=a[g.materialIndex],y=Math.max(g.start,d.start),v=Math.min(o.count,Math.min(g.start+g.count,d.start+d.count));for(let x=y,w=v;xt.far?null:{distance:c,point:ha.clone(),object:r}}function ua(r,e,t,n,i,s,a,o,l,c){r.getVertexPosition(o,aa),r.getVertexPosition(l,oa),r.getVertexPosition(c,la);const h=Kp(r,e,t,n,aa,oa,la,Oh);if(h){const u=new A;yn.getBarycoord(Oh,aa,oa,la,u),i&&(h.uv=yn.getInterpolatedAttribute(i,o,l,c,u,new j)),s&&(h.uv1=yn.getInterpolatedAttribute(s,o,l,c,u,new j)),a&&(h.normal=yn.getInterpolatedAttribute(a,o,l,c,u,new A),h.normal.dot(n.direction)>0&&h.normal.multiplyScalar(-1));const f={a:o,b:l,c,normal:new A,materialIndex:0};yn.getNormal(aa,oa,la,f.normal),h.face=f,h.barycoord=u}return h}class or extends qe{constructor(e=1,t=1,n=1,i=1,s=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:i,heightSegments:s,depthSegments:a};const o=this;i=Math.floor(i),s=Math.floor(s),a=Math.floor(a);const l=[],c=[],h=[],u=[];let f=0,d=0;p("z","y","x",-1,-1,n,t,e,a,s,0),p("z","y","x",1,-1,n,t,-e,a,s,1),p("x","z","y",1,1,e,n,t,i,a,2),p("x","z","y",1,-1,e,n,-t,i,a,3),p("x","y","z",1,-1,e,t,n,i,s,4),p("x","y","z",-1,-1,e,t,-n,i,s,5),this.setIndex(l),this.setAttribute("position",new Fe(c,3)),this.setAttribute("normal",new Fe(h,3)),this.setAttribute("uv",new Fe(u,2));function p(_,g,m,y,v,x,w,T,C,P,S){const M=x/C,D=w/P,G=x/2,F=w/2,V=T/2,J=C+1,q=P+1;let se=0,Z=0;const _e=new A;for(let be=0;be0?1:-1,h.push(_e.x,_e.y,_e.z),u.push(Ge/C),u.push(1-be/P),se+=1}}for(let be=0;be0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const i in this.extensions)this.extensions[i]===!0&&(n[i]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class Hc extends mt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Ze,this.projectionMatrix=new Ze,this.projectionMatrixInverse=new Ze,this.coordinateSystem=zn}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const yi=new A,Bh=new j,zh=new j;class kt extends Hc{constructor(e=50,t=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=er*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(ss*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return er*2*Math.atan(Math.tan(ss*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){yi.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(yi.x,yi.y).multiplyScalar(-e/yi.z),yi.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(yi.x,yi.y).multiplyScalar(-e/yi.z)}getViewSize(e,t){return this.getViewBounds(e,Bh,zh),t.subVectors(zh,Bh)}setViewOffset(e,t,n,i,s,a){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(ss*.5*this.fov)/this.zoom,n=2*t,i=this.aspect*n,s=-.5*i;const a=this.view;if(this.view!==null&&this.view.enabled){const l=a.fullWidth,c=a.fullHeight;s+=a.offsetX*i/l,t-=a.offsetY*n/c,i*=a.width/l,n*=a.height/c}const o=this.filmOffset;o!==0&&(s+=e*o/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+i,t,t-n,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const As=-90,Cs=1;class em extends mt{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new kt(As,Cs,e,t);i.layers=this.layers,this.add(i);const s=new kt(As,Cs,e,t);s.layers=this.layers,this.add(s);const a=new kt(As,Cs,e,t);a.layers=this.layers,this.add(a);const o=new kt(As,Cs,e,t);o.layers=this.layers,this.add(o);const l=new kt(As,Cs,e,t);l.layers=this.layers,this.add(l);const c=new kt(As,Cs,e,t);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,i,s,a,o,l]=t;for(const c of t)this.remove(c);if(e===zn)n.up.set(0,1,0),n.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),a.up.set(0,0,1),a.lookAt(0,-1,0),o.up.set(0,1,0),o.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===uo)n.up.set(0,-1,0),n.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),a.up.set(0,0,-1),a.lookAt(0,-1,0),o.up.set(0,-1,0),o.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of t)this.add(c),c.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,a,o,l,c,h]=this.children,u=e.getRenderTarget(),f=e.getActiveCubeFace(),d=e.getActiveMipmapLevel(),p=e.xr.enabled;e.xr.enabled=!1;const _=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,i),e.render(t,s),e.setRenderTarget(n,1,i),e.render(t,a),e.setRenderTarget(n,2,i),e.render(t,o),e.setRenderTarget(n,3,i),e.render(t,l),e.setRenderTarget(n,4,i),e.render(t,c),n.texture.generateMipmaps=_,e.setRenderTarget(n,5,i),e.render(t,h),e.setRenderTarget(u,f,d),e.xr.enabled=p,n.texture.needsPMREMUpdate=!0}}class Eo extends Et{constructor(e,t,n,i,s,a,o,l,c,h){e=e!==void 0?e:[],t=t!==void 0?t:Ri,super(e,t,n,i,s,a,o,l,c,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class tm extends Sn{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},i=[n,n,n,n,n,n];this.texture=new Eo(i,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:Vt}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:` - - varying vec3 vWorldDirection; - - vec3 transformDirection( in vec3 dir, in mat4 matrix ) { - - return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); - - } - - void main() { - - vWorldDirection = transformDirection( position, modelMatrix ); - - #include - #include - - } - `,fragmentShader:` - - uniform sampler2D tEquirect; - - varying vec3 vWorldDirection; - - #include - - void main() { - - vec3 direction = normalize( vWorldDirection ); - - vec2 sampleUV = equirectUv( direction ); - - gl_FragColor = texture2D( tEquirect, sampleUV ); - - } - `},i=new or(5,5,5),s=new Xt({name:"CubemapFromEquirect",uniforms:tr(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:fn,blending:ii});s.uniforms.tEquirect.value=t;const a=new yt(i,s),o=t.minFilter;return t.minFilter===ni&&(t.minFilter=Vt),new em(1,10,this).update(e,a),t.minFilter=o,a.geometry.dispose(),a.material.dispose(),this}clear(e,t,n,i){const s=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,n,i);e.setRenderTarget(s)}}class Yr{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new ne(e),this.density=t}clone(){return new Yr(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Gc{constructor(e,t=1,n=1e3){this.isFog=!0,this.name="",this.color=new ne(e),this.near=t,this.far=n}clone(){return new Gc(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Cd extends mt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new In,this.environmentIntensity=1,this.environmentRotation=new In,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class Wc{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=ho,this.updateRanges=[],this.version=0,this.uuid=bn()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let i=0,s=this.stride;ie.far||t.push({distance:l,point:xr.clone(),uv:yn.getInterpolation(xr,da,Mr,fa,kh,nl,Vh,new j),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function pa(r,e,t,n,i,s){Ds.subVectors(r,t).addScalar(.5).multiply(n),i!==void 0?(yr.x=s*Ds.x-i*Ds.y,yr.y=i*Ds.x+s*Ds.y):yr.copy(Ds),r.copy(e),r.x+=yr.x,r.y+=yr.y,r.applyMatrix4(Rd)}const ma=new A,Hh=new A;class nm extends mt{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let n=0,i=t.length;n0){let n,i;for(n=1,i=t.length;n0){ma.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(ma);this.getObjectForDistance(i).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){ma.setFromMatrixPosition(e.matrixWorld),Hh.setFromMatrixPosition(this.matrixWorld);const n=ma.distanceTo(Hh)/e.zoom;t[0].object.visible=!0;let i,s;for(i=1,s=t.length;i=a)t[i-1].object.visible=!1,t[i].object.visible=!0;else break}for(this._currentLevel=i-1;i1?null:t.copy(e.start).addScaledVector(n,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||lm.getNormalMatrix(e),i=this.coplanarPoint(rl).applyMatrix4(e),s=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const zi=new an,va=new A;class To{constructor(e=new Si,t=new Si,n=new Si,i=new Si,s=new Si,a=new Si){this.planes=[e,t,n,i,s,a]}set(e,t,n,i,s,a){const o=this.planes;return o[0].copy(e),o[1].copy(t),o[2].copy(n),o[3].copy(i),o[4].copy(s),o[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=zn){const n=this.planes,i=e.elements,s=i[0],a=i[1],o=i[2],l=i[3],c=i[4],h=i[5],u=i[6],f=i[7],d=i[8],p=i[9],_=i[10],g=i[11],m=i[12],y=i[13],v=i[14],x=i[15];if(n[0].setComponents(l-s,f-c,g-d,x-m).normalize(),n[1].setComponents(l+s,f+c,g+d,x+m).normalize(),n[2].setComponents(l+a,f+h,g+p,x+y).normalize(),n[3].setComponents(l-a,f-h,g-p,x-y).normalize(),n[4].setComponents(l-o,f-u,g-_,x-v).normalize(),t===zn)n[5].setComponents(l+o,f+u,g+_,x+v).normalize();else if(t===uo)n[5].setComponents(o,u,_,v).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),zi.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),zi.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(zi)}intersectsSprite(e){return zi.center.set(0,0,0),zi.radius=.7071067811865476,zi.applyMatrix4(e.matrixWorld),this.intersectsSphere(zi)}intersectsSphere(e){const t=this.planes,n=e.center,i=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(n)0?e.max.x:e.min.x,va.y=i.normal.y>0?e.max.y:e.min.y,va.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(va)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function al(r,e){return r-e}function cm(r,e){return r.z-e.z}function hm(r,e){return e.z-r.z}class um{constructor(){this.index=0,this.pool=[],this.list=[]}push(e,t,n,i){const s=this.pool,a=this.list;this.index>=s.length&&s.push({start:-1,count:-1,z:-1,index:-1});const o=s[this.index];a.push(o),this.index++,o.start=e,o.count=t,o.z=n,o.index=i}reset(){this.list.length=0,this.index=0}}const cn=new Ze,dm=new ne(1,1,1),ol=new To,xa=new pn,ki=new an,wr=new A,$h=new A,fm=new A,ll=new um,$t=new yt,ya=[];function pm(r,e,t=0){const n=e.itemSize;if(r.isInterleavedBufferAttribute||r.array.constructor!==e.array.constructor){const i=r.count;for(let s=0;s65535?new Uint32Array(i):new Uint16Array(i);t.setIndex(new rt(s,1))}this._geometryInitialized=!0}}_validateGeometry(e){const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const n in t.attributes){if(!e.hasAttribute(n))throw new Error(`THREE.BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);const i=e.getAttribute(n),s=t.getAttribute(n);if(i.itemSize!==s.itemSize||i.normalized!==s.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(e){const t=this._instanceInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${e}. Instance is either out of range or has been deleted.`)}validateGeometryId(e){const t=this._geometryInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${e}. Geometry is either out of range or has been deleted.`)}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pn);const e=this.boundingBox,t=this._instanceInfo;e.makeEmpty();for(let n=0,i=t.length;n=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const n={visible:!0,active:!0,geometryIndex:e};let i=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(al),i=this._availableInstanceIds.shift(),this._instanceInfo[i]=n):(i=this._instanceInfo.length,this._instanceInfo.push(n));const s=this._matricesTexture;cn.identity().toArray(s.image.data,i*16),s.needsUpdate=!0;const a=this._colorsTexture;return a&&(dm.toArray(a.image.data,i*4),a.needsUpdate=!0),this._visibilityChanged=!0,i}addGeometry(e,t=-1,n=-1){this._initializeGeometry(e),this._validateGeometry(e);const i={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},s=this._geometryInfo;i.vertexStart=this._nextVertexStart,i.reservedVertexCount=t===-1?e.getAttribute("position").count:t;const a=e.getIndex();if(a!==null&&(i.indexStart=this._nextIndexStart,i.reservedIndexCount=n===-1?a.count:n),i.indexStart!==-1&&i.indexStart+i.reservedIndexCount>this._maxIndexCount||i.vertexStart+i.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let l;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(al),l=this._availableGeometryIds.shift(),s[l]=i):(l=this._geometryCount,this._geometryCount++,s.push(i)),this.setGeometryAt(l,e),this._nextIndexStart=i.indexStart+i.reservedIndexCount,this._nextVertexStart=i.vertexStart+i.reservedVertexCount,l}setGeometryAt(e,t){if(e>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const n=this.geometry,i=n.getIndex()!==null,s=n.getIndex(),a=t.getIndex(),o=this._geometryInfo[e];if(i&&a.count>o.reservedIndexCount||t.attributes.position.count>o.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const l=o.vertexStart,c=o.reservedVertexCount;o.vertexCount=t.getAttribute("position").count;for(const h in n.attributes){const u=t.getAttribute(h),f=n.getAttribute(h);pm(u,f,l);const d=u.itemSize;for(let p=u.count,_=c;p<_;p++){const g=l+p;for(let m=0;m=t.length||t[e].active===!1)return this;const n=this._instanceInfo;for(let i=0,s=n.length;io).sort((a,o)=>n[a].vertexStart-n[o].vertexStart),s=this.geometry;for(let a=0,o=n.length;a=this._geometryCount)return null;const n=this.geometry,i=this._geometryInfo[e];if(i.boundingBox===null){const s=new pn,a=n.index,o=n.attributes.position;for(let l=i.start,c=i.start+i.count;l=this._geometryCount)return null;const n=this.geometry,i=this._geometryInfo[e];if(i.boundingSphere===null){const s=new an;this.getBoundingBoxAt(e,xa),xa.getCenter(s.center);const a=n.index,o=n.attributes.position;let l=0;for(let c=i.start,h=i.start+i.count;co.active);if(Math.max(...n.map(o=>o.vertexStart+o.reservedVertexCount))>e)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${t}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...n.map(l=>l.indexStart+l.reservedIndexCount))>t)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${t}. Cannot shrink further.`);const s=this.geometry;s.dispose(),this._maxVertexCount=e,this._maxIndexCount=t,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new qe,this._initializeGeometry(s));const a=this.geometry;s.index&&Vi(s.index.array,a.index.array);for(const o in s.attributes)Vi(s.attributes[o].array,a.attributes[o].array)}raycast(e,t){const n=this._instanceInfo,i=this._geometryInfo,s=this.matrixWorld,a=this.geometry;$t.material=this.material,$t.geometry.index=a.index,$t.geometry.attributes=a.attributes,$t.geometry.boundingBox===null&&($t.geometry.boundingBox=new pn),$t.geometry.boundingSphere===null&&($t.geometry.boundingSphere=new an);for(let o=0,l=n.length;o({...t,boundingBox:t.boundingBox!==null?t.boundingBox.clone():null,boundingSphere:t.boundingSphere!==null?t.boundingSphere.clone():null})),this._instanceInfo=e._instanceInfo.map(t=>({...t})),this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._geometryCount=e._geometryCount,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null),this}onBeforeRender(e,t,n,i,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const a=i.getIndex(),o=a===null?1:a.array.BYTES_PER_ELEMENT,l=this._instanceInfo,c=this._multiDrawStarts,h=this._multiDrawCounts,u=this._geometryInfo,f=this.perObjectFrustumCulled,d=this._indirectTexture,p=d.image.data;f&&(cn.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),ol.setFromProjectionMatrix(cn,e.coordinateSystem));let _=0;if(this.sortObjects){cn.copy(this.matrixWorld).invert(),wr.setFromMatrixPosition(n.matrixWorld).applyMatrix4(cn),$h.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection(cn);for(let y=0,v=l.length;y0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=i.length;sn)return;cl.applyMatrix4(r.matrixWorld);const l=e.ray.origin.distanceTo(cl);if(!(le.far))return{distance:l,point:Qh.clone().applyMatrix4(r.matrixWorld),index:i,face:null,faceIndex:null,barycoord:null,object:r}}const eu=new A,tu=new A;class hi extends Vn{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[];for(let i=0,s=t.count;i0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,a=i.length;si.far)return;s.push({distance:c,distanceToRay:Math.sqrt(o),point:l,index:e,face:null,faceIndex:null,barycoord:null,object:a})}}class ns extends mt{constructor(){super(),this.isGroup=!0,this.type="Group"}}class ZS extends Et{constructor(e,t,n,i,s,a,o,l,c){super(e,t,n,i,s,a,o,l,c),this.isVideoTexture=!0,this.minFilter=a!==void 0?a:Vt,this.magFilter=s!==void 0?s:Vt,this.generateMipmaps=!1;const h=this;function u(){h.needsUpdate=!0,e.requestVideoFrameCallback(u)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(u)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class JS extends Et{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=Qt,this.minFilter=Qt,this.generateMipmaps=!1,this.needsUpdate=!0}}class qc extends Et{constructor(e,t,n,i,s,a,o,l,c,h,u,f){super(null,a,o,l,c,h,i,s,u,f),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class KS extends qc{constructor(e,t,n,i,s,a){super(e,t,n,s,a),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=Nn,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class $S extends qc{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,Ri),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class Dd extends Et{constructor(e,t,n,i,s,a,o,l,c){super(e,t,n,i,s,a,o,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Ld extends Et{constructor(e,t,n,i,s,a,o,l,c,h=Ys){if(h!==Ys&&h!==js)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");n===void 0&&h===Ys&&(n=Ii),n===void 0&&h===js&&(n=$s),super(null,i,s,a,o,l,h,n,c),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=o!==void 0?o:Qt,this.minFilter=l!==void 0?l:Qt,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class Hn{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let n,i=this.getPoint(0),s=0;t.push(0);for(let a=1;a<=e;a++)n=this.getPoint(a/e),s+=n.distanceTo(i),t.push(s),i=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let i=0;const s=n.length;let a;t?a=t:a=e*n[s-1];let o=0,l=s-1,c;for(;o<=l;)if(i=Math.floor(o+(l-o)/2),c=n[i]-a,c<0)o=i+1;else if(c>0)l=i-1;else{l=i;break}if(i=l,n[i]===a)return i/(s-1);const h=n[i],f=n[i+1]-h,d=(a-h)/f;return(i+d)/(s-1)}getTangent(e,t){let i=e-1e-4,s=e+1e-4;i<0&&(i=0),s>1&&(s=1);const a=this.getPoint(i),o=this.getPoint(s),l=t||(a.isVector2?new j:new A);return l.copy(o).sub(a).normalize(),l}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new A,i=[],s=[],a=[],o=new A,l=new Ze;for(let d=0;d<=e;d++){const p=d/e;i[d]=this.getTangentAt(p,new A)}s[0]=new A,a[0]=new A;let c=Number.MAX_VALUE;const h=Math.abs(i[0].x),u=Math.abs(i[0].y),f=Math.abs(i[0].z);h<=c&&(c=h,n.set(1,0,0)),u<=c&&(c=u,n.set(0,1,0)),f<=c&&n.set(0,0,1),o.crossVectors(i[0],n).normalize(),s[0].crossVectors(i[0],o),a[0].crossVectors(i[0],s[0]);for(let d=1;d<=e;d++){if(s[d]=s[d-1].clone(),a[d]=a[d-1].clone(),o.crossVectors(i[d-1],i[d]),o.length()>Number.EPSILON){o.normalize();const p=Math.acos(et(i[d-1].dot(i[d]),-1,1));s[d].applyMatrix4(l.makeRotationAxis(o,p))}a[d].crossVectors(i[d],s[d])}if(t===!0){let d=Math.acos(et(s[0].dot(s[e]),-1,1));d/=e,i[0].dot(o.crossVectors(s[0],s[e]))>0&&(d=-d);for(let p=1;p<=e;p++)s[p].applyMatrix4(l.makeRotationAxis(i[p],d*p)),a[p].crossVectors(i[p],s[p])}return{tangents:i,normals:s,binormals:a}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Yc extends Hn{constructor(e=0,t=0,n=1,i=1,s=0,a=Math.PI*2,o=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=i,this.aStartAngle=s,this.aEndAngle=a,this.aClockwise=o,this.aRotation=l}getPoint(e,t=new j){const n=t,i=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const a=Math.abs(s)i;)s-=i;s0?0:(Math.floor(Math.abs(o)/s)+1)*s:l===0&&o===s-1&&(o=s-2,l=1);let c,h;this.closed||o>0?c=i[(o-1)%s]:(Ea.subVectors(i[0],i[1]).add(i[0]),c=Ea);const u=i[o%s],f=i[(o+1)%s];if(this.closed||o+2i.length-2?i.length-1:a+1],u=i[a>i.length-3?i.length-1:a+2];return n.set(su(o,l.x,c.x,h.x,u.x),su(o,l.y,c.y,h.y,u.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t=n){const a=i[s]-n,o=this.curves[s],l=o.getLength(),c=l===0?0:1-a/l;return o.getPointAt(c,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,i=this.curves.length;n1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t0){const u=c.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(c);const h=c.getPoint(1);return this.currentPoint.copy(h),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class Ao extends qe{constructor(e=[new j(0,-.5),new j(.5,0),new j(0,.5)],t=12,n=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:i},t=Math.floor(t),i=et(i,0,Math.PI*2);const s=[],a=[],o=[],l=[],c=[],h=1/t,u=new A,f=new j,d=new A,p=new A,_=new A;let g=0,m=0;for(let y=0;y<=e.length-1;y++)switch(y){case 0:g=e[y+1].x-e[y].x,m=e[y+1].y-e[y].y,d.x=m*1,d.y=-g,d.z=m*0,_.copy(d),d.normalize(),l.push(d.x,d.y,d.z);break;case e.length-1:l.push(_.x,_.y,_.z);break;default:g=e[y+1].x-e[y].x,m=e[y+1].y-e[y].y,d.x=m*1,d.y=-g,d.z=m*0,p.copy(d),d.x+=_.x,d.y+=_.y,d.z+=_.z,d.normalize(),l.push(d.x,d.y,d.z),_.copy(p)}for(let y=0;y<=t;y++){const v=n+y*h*i,x=Math.sin(v),w=Math.cos(v);for(let T=0;T<=e.length-1;T++){u.x=e[T].x*x,u.y=e[T].y,u.z=e[T].x*w,a.push(u.x,u.y,u.z),f.x=y/t,f.y=T/(e.length-1),o.push(f.x,f.y);const C=l[3*T+0]*x,P=l[3*T+1],S=l[3*T+0]*w;c.push(C,P,S)}}for(let y=0;y0&&v(!0),t>0&&v(!1)),this.setIndex(h),this.setAttribute("position",new Fe(u,3)),this.setAttribute("normal",new Fe(f,3)),this.setAttribute("uv",new Fe(d,2));function y(){const x=new A,w=new A;let T=0;const C=(t-e)/n;for(let P=0;P<=s;P++){const S=[],M=P/s,D=M*(t-e)+e;for(let G=0;G<=i;G++){const F=G/i,V=F*l+o,J=Math.sin(V),q=Math.cos(V);w.x=D*J,w.y=-M*n+g,w.z=D*q,u.push(w.x,w.y,w.z),x.set(J,C,q).normalize(),f.push(x.x,x.y,x.z),d.push(F,1-M),S.push(p++)}_.push(S)}for(let P=0;P0||S!==0)&&(h.push(M,D,F),T+=3),(t>0||S!==s-1)&&(h.push(D,G,F),T+=3)}c.addGroup(m,T,0),m+=T}function v(x){const w=p,T=new j,C=new A;let P=0;const S=x===!0?e:t,M=x===!0?1:-1;for(let G=1;G<=i;G++)u.push(0,g*M,0),f.push(0,M,0),d.push(.5,.5),p++;const D=p;for(let G=0;G<=i;G++){const V=G/i*l+o,J=Math.cos(V),q=Math.sin(V);C.x=S*q,C.y=g*M,C.z=S*J,u.push(C.x,C.y,C.z),f.push(0,M,0),T.x=J*.5+.5,T.y=q*.5*M+.5,d.push(T.x,T.y),p++}for(let G=0;G.9&&C<.1&&(v<.2&&(a[y+0]+=1),x<.2&&(a[y+2]+=1),w<.2&&(a[y+4]+=1))}}function f(y){s.push(y.x,y.y,y.z)}function d(y,v){const x=y*3;v.x=e[x+0],v.y=e[x+1],v.z=e[x+2]}function p(){const y=new A,v=new A,x=new A,w=new A,T=new j,C=new j,P=new j;for(let S=0,M=0;S80*t){o=c=r[0],l=h=r[1];for(let p=t;pc&&(c=u),f>h&&(h=f);d=Math.max(c-o,h-l),d=d!==0?32767/d:0}return Gr(s,a,t,o,l,d,0),a}};function zd(r,e,t,n,i){let s,a;if(i===qm(r,e,t,n)>0)for(s=e;s=e;s-=n)a=ru(s,r[s],r[s+1],a);return a&&Co(a,a.next)&&(Xr(a),a=a.next),a}function ls(r,e){if(!r)return r;e||(e=r);let t=r,n;do if(n=!1,!t.steiner&&(Co(t,t.next)||wt(t.prev,t,t.next)===0)){if(Xr(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function Gr(r,e,t,n,i,s,a){if(!r)return;!a&&s&&km(r,n,i,s);let o=r,l,c;for(;r.prev!==r.next;){if(l=r.prev,c=r.next,s?Dm(r,n,i,s):Pm(r)){e.push(l.i/t|0),e.push(r.i/t|0),e.push(c.i/t|0),Xr(r),r=c.next,o=c.next;continue}if(r=c,r===o){a?a===1?(r=Lm(ls(r),e,t),Gr(r,e,t,n,i,s,2)):a===2&&Um(r,e,t,n,i,s):Gr(ls(r),e,t,n,i,s,1);break}}}function Pm(r){const e=r.prev,t=r,n=r.next;if(wt(e,t,n)>=0)return!1;const i=e.x,s=t.x,a=n.x,o=e.y,l=t.y,c=n.y,h=is?i>a?i:a:s>a?s:a,d=o>l?o>c?o:c:l>c?l:c;let p=n.next;for(;p!==e;){if(p.x>=h&&p.x<=f&&p.y>=u&&p.y<=d&&Hs(i,o,s,l,a,c,p.x,p.y)&&wt(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function Dm(r,e,t,n){const i=r.prev,s=r,a=r.next;if(wt(i,s,a)>=0)return!1;const o=i.x,l=s.x,c=a.x,h=i.y,u=s.y,f=a.y,d=ol?o>c?o:c:l>c?l:c,g=h>u?h>f?h:f:u>f?u:f,m=pc(d,p,e,t,n),y=pc(_,g,e,t,n);let v=r.prevZ,x=r.nextZ;for(;v&&v.z>=m&&x&&x.z<=y;){if(v.x>=d&&v.x<=_&&v.y>=p&&v.y<=g&&v!==i&&v!==a&&Hs(o,h,l,u,c,f,v.x,v.y)&&wt(v.prev,v,v.next)>=0||(v=v.prevZ,x.x>=d&&x.x<=_&&x.y>=p&&x.y<=g&&x!==i&&x!==a&&Hs(o,h,l,u,c,f,x.x,x.y)&&wt(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;v&&v.z>=m;){if(v.x>=d&&v.x<=_&&v.y>=p&&v.y<=g&&v!==i&&v!==a&&Hs(o,h,l,u,c,f,v.x,v.y)&&wt(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;x&&x.z<=y;){if(x.x>=d&&x.x<=_&&x.y>=p&&x.y<=g&&x!==i&&x!==a&&Hs(o,h,l,u,c,f,x.x,x.y)&&wt(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function Lm(r,e,t){let n=r;do{const i=n.prev,s=n.next.next;!Co(i,s)&&kd(i,n,n.next,s)&&Wr(i,s)&&Wr(s,i)&&(e.push(i.i/t|0),e.push(n.i/t|0),e.push(s.i/t|0),Xr(n),Xr(n.next),n=r=s),n=n.next}while(n!==r);return ls(n)}function Um(r,e,t,n,i,s){let a=r;do{let o=a.next.next;for(;o!==a.prev;){if(a.i!==o.i&&Gm(a,o)){let l=Vd(a,o);a=ls(a,a.next),l=ls(l,l.next),Gr(a,e,t,n,i,s,0),Gr(l,e,t,n,i,s,0);return}o=o.next}a=a.next}while(a!==r)}function Nm(r,e,t,n){const i=[];let s,a,o,l,c;for(s=0,a=e.length;s=t.next.y&&t.next.y!==t.y){const f=t.x+(a-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(f<=s&&f>n&&(n=f,i=t.x=t.x&&t.x>=l&&s!==t.x&&Hs(ai.x||t.x===i.x&&zm(i,t)))&&(i=t,h=u)),t=t.next;while(t!==o);return i}function zm(r,e){return wt(r.prev,r,e.prev)<0&&wt(e.next,r,r.next)<0}function km(r,e,t,n){let i=r;do i.z===0&&(i.z=pc(i.x,i.y,e,t,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==r);i.prevZ.nextZ=null,i.prevZ=null,Vm(i)}function Vm(r){let e,t,n,i,s,a,o,l,c=1;do{for(t=r,r=null,s=null,a=0;t;){for(a++,n=t,o=0,e=0;e0||l>0&&n;)o!==0&&(l===0||!n||t.z<=n.z)?(i=t,t=t.nextZ,o--):(i=n,n=n.nextZ,l--),s?s.nextZ=i:r=i,i.prevZ=s,s=i;t=n}s.nextZ=null,c*=2}while(a>1);return r}function pc(r,e,t,n,i){return r=(r-t)*i|0,e=(e-n)*i|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,r|e<<1}function Hm(r){let e=r,t=r;do(e.x=(r-a)*(s-o)&&(r-a)*(n-o)>=(t-a)*(e-o)&&(t-a)*(s-o)>=(i-a)*(n-o)}function Gm(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!Wm(r,e)&&(Wr(r,e)&&Wr(e,r)&&Xm(r,e)&&(wt(r.prev,r,e.prev)||wt(r,e.prev,e))||Co(r,e)&&wt(r.prev,r,r.next)>0&&wt(e.prev,e,e.next)>0)}function wt(r,e,t){return(e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y)}function Co(r,e){return r.x===e.x&&r.y===e.y}function kd(r,e,t,n){const i=Ia(wt(r,e,t)),s=Ia(wt(r,e,n)),a=Ia(wt(t,n,r)),o=Ia(wt(t,n,e));return!!(i!==s&&a!==o||i===0&&Ra(r,t,e)||s===0&&Ra(r,n,e)||a===0&&Ra(t,r,n)||o===0&&Ra(t,e,n))}function Ra(r,e,t){return e.x<=Math.max(r.x,t.x)&&e.x>=Math.min(r.x,t.x)&&e.y<=Math.max(r.y,t.y)&&e.y>=Math.min(r.y,t.y)}function Ia(r){return r>0?1:r<0?-1:0}function Wm(r,e){let t=r;do{if(t.i!==r.i&&t.next.i!==r.i&&t.i!==e.i&&t.next.i!==e.i&&kd(t,t.next,r,e))return!0;t=t.next}while(t!==r);return!1}function Wr(r,e){return wt(r.prev,r,r.next)<0?wt(r,e,r.next)>=0&&wt(r,r.prev,e)>=0:wt(r,e,r.prev)<0||wt(r,r.next,e)<0}function Xm(r,e){let t=r,n=!1;const i=(r.x+e.x)/2,s=(r.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&i<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==r);return n}function Vd(r,e){const t=new mc(r.i,r.x,r.y),n=new mc(e.i,e.x,e.y),i=r.next,s=e.prev;return r.next=e,e.prev=r,t.next=i,i.prev=t,n.next=t,t.prev=n,s.next=n,n.prev=s,n}function ru(r,e,t,n){const i=new mc(r,e,t);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Xr(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function mc(r,e,t){this.i=r,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function qm(r,e,t,n){let i=0;for(let s=e,a=t-n;s2&&r[e-1].equals(r[0])&&r.pop()}function ou(r,e){for(let t=0;tNumber.EPSILON){const k=Math.sqrt(b),X=Math.sqrt(Se*Se+R*R),W=de.x-Ve/k,ce=de.y+me/k,oe=I.x-R/X,ge=I.y+Se/X,Be=((oe-W)*R-(ge-ce)*Se)/(me*R-Ve*Se);De=W+me*Be-te.x,re=ce+Ve*Be-te.y;const $=De*De+re*re;if($<=2)return new j(De,re);Ae=Math.sqrt($/2)}else{let k=!1;me>Number.EPSILON?Se>Number.EPSILON&&(k=!0):me<-Number.EPSILON?Se<-Number.EPSILON&&(k=!0):Math.sign(Ve)===Math.sign(R)&&(k=!0),k?(De=-Ve,re=me,Ae=Math.sqrt(b)):(De=me,re=Ve,Ae=Math.sqrt(b/2))}return new j(De/Ae,re/Ae)}const _e=[];for(let te=0,de=V.length,I=de-1,De=te+1;te=0;te--){const de=te/g,I=d*Math.cos(de*Math.PI/2),De=p*Math.sin(de*Math.PI/2)+_;for(let re=0,Ae=V.length;re=0;){const De=I;let re=I-1;re<0&&(re=te.length-1);for(let Ae=0,me=h+g*2;Ae0)&&d.push(v,x,T),(m!==n-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class eg extends on{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new ne(16777215),this.specular=new ne(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ne(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=cs,this.normalScale=new j(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new In,this.combine=bo,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class tg extends on{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new ne(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ne(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=cs,this.normalScale=new j(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class ng extends on{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=cs,this.normalScale=new j(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class ig extends on{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new ne(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new ne(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=cs,this.normalScale=new j(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new In,this.combine=bo,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Hd extends on{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=rp,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class Gd extends on{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}class sg extends on{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new ne(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=cs,this.normalScale=new j(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class rg extends qt{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function is(r,e,t){return!r||!t&&r.constructor===e?r:typeof e.BYTES_PER_ELEMENT=="number"?new e(r):Array.prototype.slice.call(r)}function Wd(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}function Xd(r){function e(i,s){return r[i]-r[s]}const t=r.length,n=new Array(t);for(let i=0;i!==t;++i)n[i]=i;return n.sort(e),n}function gc(r,e,t){const n=r.length,i=new r.constructor(n);for(let s=0,a=0;a!==n;++s){const o=t[s]*e;for(let l=0;l!==e;++l)i[a++]=r[o+l]}return i}function oh(r,e,t,n){let i=1,s=r[0];for(;s!==void 0&&s[n]===void 0;)s=r[i++];if(s===void 0)return;let a=s[n];if(a!==void 0)if(Array.isArray(a))do a=s[n],a!==void 0&&(e.push(s.time),t.push.apply(t,a)),s=r[i++];while(s!==void 0);else if(a.toArray!==void 0)do a=s[n],a!==void 0&&(e.push(s.time),a.toArray(t,t.length)),s=r[i++];while(s!==void 0);else do a=s[n],a!==void 0&&(e.push(s.time),t.push(a)),s=r[i++];while(s!==void 0)}function ag(r,e,t,n,i=30){const s=r.clone();s.name=e;const a=[];for(let l=0;l=n)){u.push(c.times[d]);for(let _=0;_s.tracks[l].times[0]&&(o=s.tracks[l].times[0]);for(let l=0;l=o.times[p]){const m=p*u+h,y=m+u-h;_=o.values.slice(m,y)}else{const m=o.createInterpolant(),y=h,v=u-h;m.evaluate(s),_=m.resultBuffer.slice(y,v)}l==="quaternion"&&new rn().fromArray(_).normalize().conjugate().toArray(_);const g=c.times.length;for(let m=0;m=s)){const o=t[1];e=s)break t}a=n,n=0;break n}break e}for(;n>>1;et;)--a;if(++a,s!==0||a!==i){s>=a&&(a=Math.max(a,1),s=a-1);const o=this.getValueSize();this.times=n.slice(s,a),this.values=this.values.slice(s*o,a*o)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,i=this.values,s=n.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let o=0;o!==s;o++){const l=n[o];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,o,l),e=!1;break}if(a!==null&&a>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,o,l,a),e=!1;break}a=l}if(i!==void 0&&Wd(i))for(let o=0,l=i.length;o!==l;++o){const c=i[o];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,o,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),i=this.getInterpolation()===Fo,s=e.length-1;let a=1;for(let o=1;o0){e[a]=e[s];for(let o=s*n,l=a*n,c=0;c!==n;++c)t[l+c]=t[o+c];++a}return a!==e.length?(this.times=e.slice(0,a),this.values=t.slice(0,a*n)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),n=this.constructor,i=new n(this.name,e,t);return i.createInterpolant=this.createInterpolant,i}}Gn.prototype.TimeBufferType=Float32Array;Gn.prototype.ValueBufferType=Float32Array;Gn.prototype.DefaultInterpolation=dc;class hr extends Gn{constructor(e,t,n){super(e,t,n)}}hr.prototype.ValueTypeName="bool";hr.prototype.ValueBufferType=Array;hr.prototype.DefaultInterpolation=oo;hr.prototype.InterpolantFactoryMethodLinear=void 0;hr.prototype.InterpolantFactoryMethodSmooth=void 0;class Yd extends Gn{}Yd.prototype.ValueTypeName="color";class vo extends Gn{}vo.prototype.ValueTypeName="number";class hg extends Po{constructor(e,t,n,i){super(e,t,n,i)}interpolate_(e,t,n,i){const s=this.resultBuffer,a=this.sampleValues,o=this.valueSize,l=(n-t)/(i-t);let c=e*o;for(let h=c+o;c!==h;c+=4)rn.slerpFlat(s,0,a,c-o,a,c,l);return s}}class Do extends Gn{InterpolantFactoryMethodLinear(e){return new hg(this.times,this.values,this.getValueSize(),e)}}Do.prototype.ValueTypeName="quaternion";Do.prototype.InterpolantFactoryMethodSmooth=void 0;class ur extends Gn{constructor(e,t,n){super(e,t,n)}}ur.prototype.ValueTypeName="string";ur.prototype.ValueBufferType=Array;ur.prototype.DefaultInterpolation=oo;ur.prototype.InterpolantFactoryMethodLinear=void 0;ur.prototype.InterpolantFactoryMethodSmooth=void 0;class xo extends Gn{}xo.prototype.ValueTypeName="vector";class yo{constructor(e="",t=-1,n=[],i=Oc){this.name=e,this.tracks=n,this.duration=t,this.blendMode=i,this.uuid=bn(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,i=1/(e.fps||1);for(let a=0,o=n.length;a!==o;++a)t.push(dg(n[a]).scale(i));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const t=[],n=e.tracks,i={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,a=n.length;s!==a;++s)t.push(Gn.toJSON(n[s]));return i}static CreateFromMorphTargetSequence(e,t,n,i){const s=t.length,a=[];for(let o=0;o1){const u=h[1];let f=i[u];f||(i[u]=f=[]),f.push(c)}}const a=[];for(const o in i)a.push(this.CreateFromMorphTargetSequence(o,i[o],t,n));return a}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(u,f,d,p,_){if(d.length!==0){const g=[],m=[];oh(d,g,m,p),g.length!==0&&_.push(new u(f,g,m))}},i=[],s=e.name||"default",a=e.fps||30,o=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let u=0;u{t&&t(s),this.manager.itemEnd(e)},0),s;if($n[e]!==void 0){$n[e].push({onLoad:t,onProgress:n,onError:i});return}$n[e]=[],$n[e].push({onLoad:t,onProgress:n,onError:i});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),o=this.mimeType,l=this.responseType;fetch(a).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const h=$n[e],u=c.body.getReader(),f=c.headers.get("X-File-Size")||c.headers.get("Content-Length"),d=f?parseInt(f):0,p=d!==0;let _=0;const g=new ReadableStream({start(m){y();function y(){u.read().then(({done:v,value:x})=>{if(v)m.close();else{_+=x.byteLength;const w=new ProgressEvent("progress",{lengthComputable:p,loaded:_,total:d});for(let T=0,C=h.length;T{m.error(v)})}}});return new Response(g)}else throw new pg(`fetch for "${c.url}" responded with ${c.status}: ${c.statusText}`,c)}).then(c=>{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(h=>new DOMParser().parseFromString(h,o));case"json":return c.json();default:if(o===void 0)return c.text();{const u=/charset="?([^;"\s]*)"?/i.exec(o),f=u&&u[1]?u[1].toLowerCase():void 0,d=new TextDecoder(f);return c.arrayBuffer().then(p=>d.decode(p))}}}).then(c=>{Ei.add(e,c);const h=$n[e];delete $n[e];for(let u=0,f=h.length;u{const h=$n[e];if(h===void 0)throw this.manager.itemError(e),c;delete $n[e];for(let u=0,f=h.length;u{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class QS extends wn{constructor(e){super(e)}load(e,t,n,i){const s=this,a=new Pi(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(o){try{t(s.parse(JSON.parse(o)))}catch(l){i?i(l):console.error(l),s.manager.itemError(e)}},n,i)}parse(e){const t=[];for(let n=0;n0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const a=e.uniforms[s];switch(i.uniforms[s]={},a.type){case"t":i.uniforms[s].value=n(a.value);break;case"c":i.uniforms[s].value=new ne().setHex(a.value);break;case"v2":i.uniforms[s].value=new j().fromArray(a.value);break;case"v3":i.uniforms[s].value=new A().fromArray(a.value);break;case"v4":i.uniforms[s].value=new pt().fromArray(a.value);break;case"m3":i.uniforms[s].value=new tt().fromArray(a.value);break;case"m4":i.uniforms[s].value=new Ze().fromArray(a.value);break;default:i.uniforms[s].value=a.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)i.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=n(e.map)),e.matcap!==void 0&&(i.matcap=n(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),i.normalScale=new j().fromArray(s)}return e.displacementMap!==void 0&&(i.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=n(e.envMap)),e.envMapRotation!==void 0&&i.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new j().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=n(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=n(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=n(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}createMaterialFromType(e){return ch.createMaterialFromType(e)}static createMaterialFromType(e){const t={ShadowMaterial:$m,SpriteMaterial:rs,RawShaderMaterial:jm,ShaderMaterial:Xt,PointsMaterial:Ai,MeshPhysicalMaterial:Qm,MeshStandardMaterial:ah,MeshPhongMaterial:eg,MeshToonMaterial:tg,MeshNormalMaterial:ng,MeshLambertMaterial:ig,MeshDepthMaterial:Hd,MeshDistanceMaterial:Gd,MeshBasicMaterial:kn,MeshMatcapMaterial:sg,LineDashedMaterial:rg,LineBasicMaterial:qt,Material:on};return new t[e]}}class fu{static decodeText(e){if(console.warn("THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead."),typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let n=0,i=e.length;n0){const l=new Zd(t);s=new Mo(l),s.setCrossOrigin(this.crossOrigin);for(let c=0,h=e.length;c0){i=new Mo(this.manager),i.setCrossOrigin(this.crossOrigin);for(let a=0,o=e.length;a{const g=new pn;g.min.fromArray(_.boxMin),g.max.fromArray(_.boxMax);const m=new an;return m.radius=_.sphereRadius,m.center.fromArray(_.sphereCenter),{boxInitialized:_.boxInitialized,box:g,sphereInitialized:_.sphereInitialized,sphere:m}}),a._maxInstanceCount=e.maxInstanceCount,a._maxVertexCount=e.maxVertexCount,a._maxIndexCount=e.maxIndexCount,a._geometryInitialized=e.geometryInitialized,a._geometryCount=e.geometryCount,a._matricesTexture=c(e.matricesTexture.uuid),e.colorsTexture!==void 0&&(a._colorsTexture=c(e.colorsTexture.uuid));break;case"LOD":a=new nm;break;case"Line":a=new Vn(o(e.geometry),l(e.material));break;case"LineLoop":a=new gm(o(e.geometry),l(e.material));break;case"LineSegments":a=new hi(o(e.geometry),l(e.material));break;case"PointCloud":case"Points":a=new as(o(e.geometry),l(e.material));break;case"Sprite":a=new ts(l(e.material));break;case"Group":a=new ns;break;case"Bone":a=new Id;break;default:a=new mt}if(a.uuid=e.uuid,e.name!==void 0&&(a.name=e.name),e.matrix!==void 0?(a.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(a.matrixAutoUpdate=e.matrixAutoUpdate),a.matrixAutoUpdate&&a.matrix.decompose(a.position,a.quaternion,a.scale)):(e.position!==void 0&&a.position.fromArray(e.position),e.rotation!==void 0&&a.rotation.fromArray(e.rotation),e.quaternion!==void 0&&a.quaternion.fromArray(e.quaternion),e.scale!==void 0&&a.scale.fromArray(e.scale)),e.up!==void 0&&a.up.fromArray(e.up),e.castShadow!==void 0&&(a.castShadow=e.castShadow),e.receiveShadow!==void 0&&(a.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(a.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(a.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(a.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(a.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&a.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(a.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(a.visible=e.visible),e.frustumCulled!==void 0&&(a.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(a.renderOrder=e.renderOrder),e.userData!==void 0&&(a.userData=e.userData),e.layers!==void 0&&(a.layers.mask=e.layers),e.children!==void 0){const f=e.children;for(let d=0;d"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,n,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,a=Ei.get(e);if(a!==void 0){if(s.manager.itemStart(e),a.then){a.then(c=>{t&&t(c),s.manager.itemEnd(e)}).catch(c=>{i&&i(c)});return}return setTimeout(function(){t&&t(a),s.manager.itemEnd(e)},0),a}const o={};o.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",o.headers=this.requestHeader;const l=fetch(e,o).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return Ei.add(e,c),t&&t(c),s.manager.itemEnd(e),c}).catch(function(c){i&&i(c),Ei.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});Ei.add(e,l),s.manager.itemStart(e)}}let Pa;class Kd{static getContext(){return Pa===void 0&&(Pa=new(window.AudioContext||window.webkitAudioContext)),Pa}static setContext(e){Pa=e}}class aw extends wn{constructor(e){super(e)}load(e,t,n,i){const s=this,a=new Pi(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(l){try{const c=l.slice(0);Kd.getContext().decodeAudioData(c,function(u){t(u)}).catch(o)}catch(c){o(c)}},n,i);function o(l){i?i(l):console.error(l),s.manager.itemError(e)}}}const gu=new Ze,_u=new Ze,Hi=new Ze;class ow{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new kt,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new kt,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,Hi.copy(e.projectionMatrix);const i=t.eyeSep/2,s=i*t.near/t.focus,a=t.near*Math.tan(ss*t.fov*.5)/t.zoom;let o,l;_u.elements[12]=-i,gu.elements[12]=i,o=-a*t.aspect+s,l=a*t.aspect+s,Hi.elements[0]=2*t.near/(l-o),Hi.elements[8]=(l+o)/(l-o),this.cameraL.projectionMatrix.copy(Hi),o=-a*t.aspect-s,l=a*t.aspect-s,Hi.elements[0]=2*t.near/(l-o),Hi.elements[8]=(l+o)/(l-o),this.cameraR.projectionMatrix.copy(Hi)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(_u),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(gu)}}class Ag extends kt{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class $d{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=vu(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=vu();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function vu(){return performance.now()}const Gi=new A,xu=new rn,Cg=new A,Wi=new A;class lw extends mt{constructor(){super(),this.type="AudioListener",this.context=Kd.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new $d}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Gi,xu,Cg),Wi.set(0,0,-1).applyQuaternion(xu),t.positionX){const i=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Gi.x,i),t.positionY.linearRampToValueAtTime(Gi.y,i),t.positionZ.linearRampToValueAtTime(Gi.z,i),t.forwardX.linearRampToValueAtTime(Wi.x,i),t.forwardY.linearRampToValueAtTime(Wi.y,i),t.forwardZ.linearRampToValueAtTime(Wi.z,i),t.upX.linearRampToValueAtTime(n.x,i),t.upY.linearRampToValueAtTime(n.y,i),t.upZ.linearRampToValueAtTime(n.z,i)}else t.setPosition(Gi.x,Gi.y,Gi.z),t.setOrientation(Wi.x,Wi.y,Wi.z,n.x,n.y,n.z)}}class Rg extends mt{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(n,i,this._addIndex*t,1,t);for(let l=t,c=t+t;l!==c;++l)if(n[l]!==n[l+t]){o.setValue(n,i);break}}saveOriginalState(){const e=this.binding,t=this.buffer,n=this.valueSize,i=n*this._origIndex;e.getValue(t,i);for(let s=n,a=i;s!==a;++s)t[s]=t[i+s%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let n=e;n=.5)for(let a=0;a!==s;++a)e[t+a]=e[n+a]}_slerp(e,t,n,i){rn.slerpFlat(e,t,e,t,e,n,i)}_slerpAdditive(e,t,n,i,s){const a=this._workIndex*s;rn.multiplyQuaternionsFlat(e,a,e,t,e,n),rn.slerpFlat(e,t,e,t,e,a,i)}_lerp(e,t,n,i,s){const a=1-i;for(let o=0;o!==s;++o){const l=t+o;e[l]=e[l]*a+e[n+o]*i}}_lerpAdditive(e,t,n,i,s){for(let a=0;a!==s;++a){const o=t+a;e[o]=e[o]+e[n+a]*i}}}const hh="\\[\\]\\.:\\/",Dg=new RegExp("["+hh+"]","g"),uh="[^"+hh+"]",Lg="[^"+hh.replace("\\.","")+"]",Ug=/((?:WC+[\/:])*)/.source.replace("WC",uh),Ng=/(WCOD+)?/.source.replace("WCOD",Lg),Fg=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",uh),Og=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",uh),Bg=new RegExp("^"+Ug+Ng+Fg+Og+"$"),zg=["material","materials","bones","map"];class kg{constructor(e,t,n){const i=n||ft.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,i)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];i!==void 0&&i.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,s=n.length;i!==s;++i)n[i].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class ft{constructor(e,t,n){this.path=t,this.parsedPath=n||ft.parseTrackName(t),this.node=ft.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new ft.Composite(e,t,n):new ft(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(Dg,"")}static parseTrackName(e){const t=Bg.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const s=n.nodeName.substring(i+1);zg.indexOf(s)!==-1&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=s)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){const n=function(s){for(let a=0;a=s){const u=s++,f=e[u];t[f.uuid]=h,e[h]=f,t[c]=u,e[u]=l;for(let d=0,p=i;d!==p;++d){const _=n[d],g=_[u],m=_[h];_[h]=g,_[u]=m}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,i=n.length;let s=this.nCachedObjects_,a=e.length;for(let o=0,l=arguments.length;o!==l;++o){const c=arguments[o],h=c.uuid,u=t[h];if(u!==void 0)if(delete t[h],u0&&(t[d.uuid]=u),e[u]=d,e.pop();for(let p=0,_=i;p!==_;++p){const g=n[p];g[u]=g[f],g.pop()}}}this.nCachedObjects_=s}subscribe_(e,t){const n=this._bindingsIndicesByPath;let i=n[e];const s=this._bindings;if(i!==void 0)return s[i];const a=this._paths,o=this._parsedPaths,l=this._objects,c=l.length,h=this.nCachedObjects_,u=new Array(c);i=s.length,n[e]=i,a.push(e),o.push(t),s.push(u);for(let f=h,d=l.length;f!==d;++f){const p=l[f];u[f]=new ft(p,e,t)}return u}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){const i=this._paths,s=this._parsedPaths,a=this._bindings,o=a.length-1,l=a[o],c=e[o];t[c]=n,a[n]=l,a.pop(),s[n]=s[o],s.pop(),i[n]=i[o],i.pop()}}}class Vg{constructor(e,t,n=null,i=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=i;const s=t.tracks,a=s.length,o=new Array(a),l={endingStart:Bs,endingEnd:Bs};for(let c=0;c!==a;++c){const h=s[c].createInterpolant(null);o[c]=h,h.settings=l}this._interpolantSettings=l,this._interpolants=o,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=ip,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){const i=this._clip.duration,s=e._clip.duration,a=s/i,o=i/s;e.warp(1,a,t),this.warp(o,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const i=this._mixer,s=i.time,a=this.timeScale;let o=this._timeScaleInterpolant;o===null&&(o=i._lendControlInterpolant(),this._timeScaleInterpolant=o);const l=o.parameterPositions,c=o.sampleValues;return l[0]=s,l[1]=s+n,c[0]=e/a,c[1]=t/a,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,i){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const l=(e-s)*n;l<0||n===0?t=0:(this._startTime=null,t=n*l)}t*=this._updateTimeScale(e);const a=this._updateTime(t),o=this._updateWeight(e);if(o>0){const l=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case yd:for(let h=0,u=l.length;h!==u;++h)l[h].evaluate(a),c[h].accumulateAdditive(o);break;case Oc:default:for(let h=0,u=l.length;h!==u;++h)l[h].evaluate(a),c[h].accumulate(i,o)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,n=this.loop;let i=this.time+e,s=this._loopCount;const a=n===sp;if(e===0)return s===-1?i:a&&(s&1)===1?t-i:i;if(n===np){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=t)i=t;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,a)):this._setEndings(this.repetitions===0,!0,a)),i>=t||i<0){const o=Math.floor(i/t);i-=t*o,s+=Math.abs(o);const l=this.repetitions-s;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?t:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const c=e<0;this._setEndings(c,!c,a)}else this._setEndings(!1,!1,a);this._loopCount=s,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:o})}}else this.time=i;if(a&&(s&1)===1)return t-i}return i}_setEndings(e,t,n){const i=this._interpolantSettings;n?(i.endingStart=zs,i.endingEnd=zs):(e?i.endingStart=this.zeroSlopeAtStart?zs:Bs:i.endingStart=lo,t?i.endingEnd=this.zeroSlopeAtEnd?zs:Bs:i.endingEnd=lo)}_scheduleFading(e,t,n){const i=this._mixer,s=i.time;let a=this._weightInterpolant;a===null&&(a=i._lendControlInterpolant(),this._weightInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=s,l[0]=t,o[1]=s+e,l[1]=n,this}}const Hg=new Float32Array(1);class dw extends ci{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,i=e._clip.tracks,s=i.length,a=e._propertyBindings,o=e._interpolants,l=n.uuid,c=this._bindingsByRootAndName;let h=c[l];h===void 0&&(h={},c[l]=h);for(let u=0;u!==s;++u){const f=i[u],d=f.name;let p=h[d];if(p!==void 0)++p.referenceCount,a[u]=p;else{if(p=a[u],p!==void 0){p._cacheIndex===null&&(++p.referenceCount,this._addInactiveBinding(p,l,d));continue}const _=t&&t._propertyBindings[u].binding.parsedPath;p=new Pg(ft.create(n,d,_),f.ValueTypeName,f.getValueSize()),++p.referenceCount,this._addInactiveBinding(p,l,d),a[u]=p}o[u].resultBuffer=p.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const n=(e._localRoot||this._root).uuid,i=e._clip.uuid,s=this._actionsByClip[i];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,i,n)}const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const s=t[n];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const s=t[n];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,i=this.time+=e,s=Math.sign(e),a=this._accuIndex^=1;for(let c=0;c!==n;++c)t[c]._update(i,e,s,a);const o=this._bindings,l=this._nActiveBindings;for(let c=0;c!==l;++c)o[c].apply(a);return this}setTime(e){this.time=0;for(let t=0;t=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Su).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const wu=new A,Da=new A;class yw{constructor(e=new A,t=new A){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){wu.subVectors(e,this.start),Da.subVectors(this.end,this.start);const n=Da.dot(Da);let s=Da.dot(wu)/n;return t&&(s=et(s,0,1)),s}closestPointToPoint(e,t,n){const i=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const Eu=new A;class Mw extends mt{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const n=new qe,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let a=0,o=1,l=32;a1)for(let u=0;u.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Iu.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Iu,t)}}setLength(e,t=e*.2,n=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Lw extends hi{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new qe;i.setAttribute("position",new Fe(t,3)),i.setAttribute("color",new Fe(n,3));const s=new qt({vertexColors:!0,toneMapped:!1});super(i,s),this.type="AxesHelper"}setColors(e,t,n){const i=new ne,s=this.geometry.attributes.color.array;return i.set(e),i.toArray(s,0),i.toArray(s,3),i.set(t),i.toArray(s,6),i.toArray(s,9),i.set(n),i.toArray(s,12),i.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class Uw{constructor(){this.type="ShapePath",this.color=new ne,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new _o,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,i){return this.currentPath.quadraticCurveTo(e,t,n,i),this}bezierCurveTo(e,t,n,i,s,a){return this.currentPath.bezierCurveTo(e,t,n,i,s,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(m){const y=[];for(let v=0,x=m.length;vNumber.EPSILON){if(M<0&&(C=y[T],S=-S,P=y[w],M=-M),m.yP.y)continue;if(m.y===C.y){if(m.x===C.x)return!0}else{const D=M*(m.x-C.x)-S*(m.y-C.y);if(D===0)return!0;if(D<0)continue;x=!x}}else{if(m.y!==C.y)continue;if(P.x<=m.x&&m.x<=C.x||C.x<=m.x&&m.x<=P.x)return!0}}return x}const i=oi.isClockWise,s=this.subPaths;if(s.length===0)return[];let a,o,l;const c=[];if(s.length===1)return o=s[0],l=new Js,l.curves=o.curves,c.push(l),c;let h=!i(s[0].getPoints());h=e?!h:h;const u=[],f=[];let d=[],p=0,_;f[p]=void 0,d[p]=[];for(let m=0,y=s.length;m1){let m=!1,y=0;for(let v=0,x=f.length;v0&&m===!1&&(d=u)}let g;for(let m=0,y=f.length;me?(r.repeat.x=1,r.repeat.y=t/e,r.offset.x=0,r.offset.y=(1-r.repeat.y)/2):(r.repeat.x=e/t,r.repeat.y=1,r.offset.x=(1-r.repeat.x)/2,r.offset.y=0),r}function Zg(r,e){const t=r.image&&r.image.width?r.image.width/r.image.height:1;return t>e?(r.repeat.x=e/t,r.repeat.y=1,r.offset.x=(1-r.repeat.x)/2,r.offset.y=0):(r.repeat.x=1,r.repeat.y=t/e,r.offset.x=0,r.offset.y=(1-r.repeat.y)/2),r}function Jg(r){return r.repeat.x=1,r.repeat.y=1,r.offset.x=0,r.offset.y=0,r}function yc(r,e,t,n){const i=Kg(n);switch(t){case pd:return r*e;case gd:return r*e;case _d:return r*e*2;case Uc:return r*e/i.components*i.byteLength;case So:return r*e/i.components*i.byteLength;case vd:return r*e*2/i.components*i.byteLength;case Nc:return r*e*2/i.components*i.byteLength;case md:return r*e*3/i.components*i.byteLength;case dn:return r*e*4/i.components*i.byteLength;case Fc:return r*e*4/i.components*i.byteLength;case qa:case Ya:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*8;case Za:case Ja:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*16;case Vl:case Gl:return Math.max(r,16)*Math.max(e,8)/4;case kl:case Hl:return Math.max(r,8)*Math.max(e,8)/2;case Wl:case Xl:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*8;case ql:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*16;case Yl:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*16;case Zl:return Math.floor((r+4)/5)*Math.floor((e+3)/4)*16;case Jl:return Math.floor((r+4)/5)*Math.floor((e+4)/5)*16;case Kl:return Math.floor((r+5)/6)*Math.floor((e+4)/5)*16;case $l:return Math.floor((r+5)/6)*Math.floor((e+5)/6)*16;case jl:return Math.floor((r+7)/8)*Math.floor((e+4)/5)*16;case Ql:return Math.floor((r+7)/8)*Math.floor((e+5)/6)*16;case ec:return Math.floor((r+7)/8)*Math.floor((e+7)/8)*16;case tc:return Math.floor((r+9)/10)*Math.floor((e+4)/5)*16;case nc:return Math.floor((r+9)/10)*Math.floor((e+5)/6)*16;case ic:return Math.floor((r+9)/10)*Math.floor((e+7)/8)*16;case sc:return Math.floor((r+9)/10)*Math.floor((e+9)/10)*16;case rc:return Math.floor((r+11)/12)*Math.floor((e+9)/10)*16;case ac:return Math.floor((r+11)/12)*Math.floor((e+11)/12)*16;case Ka:case oc:case lc:return Math.ceil(r/4)*Math.ceil(e/4)*16;case xd:case cc:return Math.ceil(r/4)*Math.ceil(e/4)*8;case hc:case uc:return Math.ceil(r/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${t} format.`)}function Kg(r){switch(r){case li:case ud:return{byteLength:1,components:1};case kr:case dd:case si:return{byteLength:2,components:1};case Dc:case Lc:return{byteLength:2,components:4};case Ii:case Pc:case Mn:return{byteLength:4,components:1};case fd:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${r}.`)}const Nw={contain:Yg,cover:Zg,fill:Jg,getByteLength:yc};typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Rc}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Rc);/** - * @license - * Copyright 2010-2024 Three.js Authors - * SPDX-License-Identifier: MIT - */function tf(){let r=null,e=!1,t=null,n=null;function i(s,a){t(s,a),n=r.requestAnimationFrame(i)}return{start:function(){e!==!0&&t!==null&&(n=r.requestAnimationFrame(i),e=!0)},stop:function(){r.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){r=s}}}function $g(r){const e=new WeakMap;function t(o,l){const c=o.array,h=o.usage,u=c.byteLength,f=r.createBuffer();r.bindBuffer(l,f),r.bufferData(l,c,h),o.onUploadCallback();let d;if(c instanceof Float32Array)d=r.FLOAT;else if(c instanceof Uint16Array)o.isFloat16BufferAttribute?d=r.HALF_FLOAT:d=r.UNSIGNED_SHORT;else if(c instanceof Int16Array)d=r.SHORT;else if(c instanceof Uint32Array)d=r.UNSIGNED_INT;else if(c instanceof Int32Array)d=r.INT;else if(c instanceof Int8Array)d=r.BYTE;else if(c instanceof Uint8Array)d=r.UNSIGNED_BYTE;else if(c instanceof Uint8ClampedArray)d=r.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+c);return{buffer:f,type:d,bytesPerElement:c.BYTES_PER_ELEMENT,version:o.version,size:u}}function n(o,l,c){const h=l.array,u=l.updateRanges;if(r.bindBuffer(c,o),u.length===0)r.bufferSubData(c,0,h);else{u.sort((d,p)=>d.start-p.start);let f=0;for(let d=1;d 0 - vec4 plane; - #ifdef ALPHA_TO_COVERAGE - float distanceToPlane, distanceGradient; - float clipOpacity = 1.0; - #pragma unroll_loop_start - for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - if ( clipOpacity == 0.0 ) discard; - } - #pragma unroll_loop_end - #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES - float unionClipOpacity = 1.0; - #pragma unroll_loop_start - for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; - distanceGradient = fwidth( distanceToPlane ) / 2.0; - unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); - } - #pragma unroll_loop_end - clipOpacity *= 1.0 - unionClipOpacity; - #endif - diffuseColor.a *= clipOpacity; - if ( diffuseColor.a == 0.0 ) discard; - #else - #pragma unroll_loop_start - for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; - } - #pragma unroll_loop_end - #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES - bool clipped = true; - #pragma unroll_loop_start - for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { - plane = clippingPlanes[ i ]; - clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; - } - #pragma unroll_loop_end - if ( clipped ) discard; - #endif - #endif -#endif`,p0=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; - uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,m0=`#if NUM_CLIPPING_PLANES > 0 - varying vec3 vClipPosition; -#endif`,g0=`#if NUM_CLIPPING_PLANES > 0 - vClipPosition = - mvPosition.xyz; -#endif`,_0=`#if defined( USE_COLOR_ALPHA ) - diffuseColor *= vColor; -#elif defined( USE_COLOR ) - diffuseColor.rgb *= vColor; -#endif`,v0=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) - varying vec3 vColor; -#endif`,x0=`#if defined( USE_COLOR_ALPHA ) - varying vec4 vColor; -#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) - varying vec3 vColor; -#endif`,y0=`#if defined( USE_COLOR_ALPHA ) - vColor = vec4( 1.0 ); -#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) - vColor = vec3( 1.0 ); -#endif -#ifdef USE_COLOR - vColor *= color; -#endif -#ifdef USE_INSTANCING_COLOR - vColor.xyz *= instanceColor.xyz; -#endif -#ifdef USE_BATCHING_COLOR - vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) ); - vColor.xyz *= batchingColor.xyz; -#endif`,M0=`#define PI 3.141592653589793 -#define PI2 6.283185307179586 -#define PI_HALF 1.5707963267948966 -#define RECIPROCAL_PI 0.3183098861837907 -#define RECIPROCAL_PI2 0.15915494309189535 -#define EPSILON 1e-6 -#ifndef saturate -#define saturate( a ) clamp( a, 0.0, 1.0 ) -#endif -#define whiteComplement( a ) ( 1.0 - saturate( a ) ) -float pow2( const in float x ) { return x*x; } -vec3 pow2( const in vec3 x ) { return x*x; } -float pow3( const in float x ) { return x*x*x; } -float pow4( const in float x ) { float x2 = x*x; return x2*x2; } -float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } -float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } -highp float rand( const in vec2 uv ) { - const highp float a = 12.9898, b = 78.233, c = 43758.5453; - highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); - return fract( sin( sn ) * c ); -} -#ifdef HIGH_PRECISION - float precisionSafeLength( vec3 v ) { return length( v ); } -#else - float precisionSafeLength( vec3 v ) { - float maxComponent = max3( abs( v ) ); - return length( v / maxComponent ) * maxComponent; - } -#endif -struct IncidentLight { - vec3 color; - vec3 direction; - bool visible; -}; -struct ReflectedLight { - vec3 directDiffuse; - vec3 directSpecular; - vec3 indirectDiffuse; - vec3 indirectSpecular; -}; -#ifdef USE_ALPHAHASH - varying vec3 vPosition; -#endif -vec3 transformDirection( in vec3 dir, in mat4 matrix ) { - return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); -} -vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { - return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); -} -mat3 transposeMat3( const in mat3 m ) { - mat3 tmp; - tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); - tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); - tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); - return tmp; -} -bool isPerspectiveMatrix( mat4 m ) { - return m[ 2 ][ 3 ] == - 1.0; -} -vec2 equirectUv( in vec3 dir ) { - float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; - float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; - return vec2( u, v ); -} -vec3 BRDF_Lambert( const in vec3 diffuseColor ) { - return RECIPROCAL_PI * diffuseColor; -} -vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { - float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); - return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} -float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { - float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); - return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} // validated`,b0=`#ifdef ENVMAP_TYPE_CUBE_UV - #define cubeUV_minMipLevel 4.0 - #define cubeUV_minTileSize 16.0 - float getFace( vec3 direction ) { - vec3 absDirection = abs( direction ); - float face = - 1.0; - if ( absDirection.x > absDirection.z ) { - if ( absDirection.x > absDirection.y ) - face = direction.x > 0.0 ? 0.0 : 3.0; - else - face = direction.y > 0.0 ? 1.0 : 4.0; - } else { - if ( absDirection.z > absDirection.y ) - face = direction.z > 0.0 ? 2.0 : 5.0; - else - face = direction.y > 0.0 ? 1.0 : 4.0; - } - return face; - } - vec2 getUV( vec3 direction, float face ) { - vec2 uv; - if ( face == 0.0 ) { - uv = vec2( direction.z, direction.y ) / abs( direction.x ); - } else if ( face == 1.0 ) { - uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); - } else if ( face == 2.0 ) { - uv = vec2( - direction.x, direction.y ) / abs( direction.z ); - } else if ( face == 3.0 ) { - uv = vec2( - direction.z, direction.y ) / abs( direction.x ); - } else if ( face == 4.0 ) { - uv = vec2( - direction.x, direction.z ) / abs( direction.y ); - } else { - uv = vec2( direction.x, direction.y ) / abs( direction.z ); - } - return 0.5 * ( uv + 1.0 ); - } - vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { - float face = getFace( direction ); - float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); - mipInt = max( mipInt, cubeUV_minMipLevel ); - float faceSize = exp2( mipInt ); - highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; - if ( face > 2.0 ) { - uv.y += faceSize; - face -= 3.0; - } - uv.x += face * faceSize; - uv.x += filterInt * 3.0 * cubeUV_minTileSize; - uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); - uv.x *= CUBEUV_TEXEL_WIDTH; - uv.y *= CUBEUV_TEXEL_HEIGHT; - #ifdef texture2DGradEXT - return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; - #else - return texture2D( envMap, uv ).rgb; - #endif - } - #define cubeUV_r0 1.0 - #define cubeUV_m0 - 2.0 - #define cubeUV_r1 0.8 - #define cubeUV_m1 - 1.0 - #define cubeUV_r4 0.4 - #define cubeUV_m4 2.0 - #define cubeUV_r5 0.305 - #define cubeUV_m5 3.0 - #define cubeUV_r6 0.21 - #define cubeUV_m6 4.0 - float roughnessToMip( float roughness ) { - float mip = 0.0; - if ( roughness >= cubeUV_r1 ) { - mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; - } else if ( roughness >= cubeUV_r4 ) { - mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; - } else if ( roughness >= cubeUV_r5 ) { - mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; - } else if ( roughness >= cubeUV_r6 ) { - mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; - } else { - mip = - 2.0 * log2( 1.16 * roughness ); } - return mip; - } - vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { - float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); - float mipF = fract( mip ); - float mipInt = floor( mip ); - vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); - if ( mipF == 0.0 ) { - return vec4( color0, 1.0 ); - } else { - vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); - return vec4( mix( color0, color1, mipF ), 1.0 ); - } - } -#endif`,S0=`vec3 transformedNormal = objectNormal; -#ifdef USE_TANGENT - vec3 transformedTangent = objectTangent; -#endif -#ifdef USE_BATCHING - mat3 bm = mat3( batchingMatrix ); - transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); - transformedNormal = bm * transformedNormal; - #ifdef USE_TANGENT - transformedTangent = bm * transformedTangent; - #endif -#endif -#ifdef USE_INSTANCING - mat3 im = mat3( instanceMatrix ); - transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); - transformedNormal = im * transformedNormal; - #ifdef USE_TANGENT - transformedTangent = im * transformedTangent; - #endif -#endif -transformedNormal = normalMatrix * transformedNormal; -#ifdef FLIP_SIDED - transformedNormal = - transformedNormal; -#endif -#ifdef USE_TANGENT - transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; - #ifdef FLIP_SIDED - transformedTangent = - transformedTangent; - #endif -#endif`,w0=`#ifdef USE_DISPLACEMENTMAP - uniform sampler2D displacementMap; - uniform float displacementScale; - uniform float displacementBias; -#endif`,E0=`#ifdef USE_DISPLACEMENTMAP - transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,T0=`#ifdef USE_EMISSIVEMAP - vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); - #ifdef DECODE_VIDEO_TEXTURE_EMISSIVE - emissiveColor = sRGBTransferEOTF( emissiveColor ); - #endif - totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,A0=`#ifdef USE_EMISSIVEMAP - uniform sampler2D emissiveMap; -#endif`,C0="gl_FragColor = linearToOutputTexel( gl_FragColor );",R0=`vec4 LinearTransferOETF( in vec4 value ) { - return value; -} -vec4 sRGBTransferEOTF( in vec4 value ) { - return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a ); -} -vec4 sRGBTransferOETF( in vec4 value ) { - return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a ); -}`,I0=`#ifdef USE_ENVMAP - #ifdef ENV_WORLDPOS - vec3 cameraToFrag; - if ( isOrthographic ) { - cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); - } else { - cameraToFrag = normalize( vWorldPosition - cameraPosition ); - } - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - #ifdef ENVMAP_MODE_REFLECTION - vec3 reflectVec = reflect( cameraToFrag, worldNormal ); - #else - vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); - #endif - #else - vec3 reflectVec = vReflect; - #endif - #ifdef ENVMAP_TYPE_CUBE - vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); - #else - vec4 envColor = vec4( 0.0 ); - #endif - #ifdef ENVMAP_BLENDING_MULTIPLY - outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); - #elif defined( ENVMAP_BLENDING_MIX ) - outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); - #elif defined( ENVMAP_BLENDING_ADD ) - outgoingLight += envColor.xyz * specularStrength * reflectivity; - #endif -#endif`,P0=`#ifdef USE_ENVMAP - uniform float envMapIntensity; - uniform float flipEnvMap; - uniform mat3 envMapRotation; - #ifdef ENVMAP_TYPE_CUBE - uniform samplerCube envMap; - #else - uniform sampler2D envMap; - #endif - -#endif`,D0=`#ifdef USE_ENVMAP - uniform float reflectivity; - #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) - #define ENV_WORLDPOS - #endif - #ifdef ENV_WORLDPOS - varying vec3 vWorldPosition; - uniform float refractionRatio; - #else - varying vec3 vReflect; - #endif -#endif`,L0=`#ifdef USE_ENVMAP - #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) - #define ENV_WORLDPOS - #endif - #ifdef ENV_WORLDPOS - - varying vec3 vWorldPosition; - #else - varying vec3 vReflect; - uniform float refractionRatio; - #endif -#endif`,U0=`#ifdef USE_ENVMAP - #ifdef ENV_WORLDPOS - vWorldPosition = worldPosition.xyz; - #else - vec3 cameraToVertex; - if ( isOrthographic ) { - cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); - } else { - cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); - } - vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); - #ifdef ENVMAP_MODE_REFLECTION - vReflect = reflect( cameraToVertex, worldNormal ); - #else - vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); - #endif - #endif -#endif`,N0=`#ifdef USE_FOG - vFogDepth = - mvPosition.z; -#endif`,F0=`#ifdef USE_FOG - varying float vFogDepth; -#endif`,O0=`#ifdef USE_FOG - #ifdef FOG_EXP2 - float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); - #else - float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); - #endif - gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,B0=`#ifdef USE_FOG - uniform vec3 fogColor; - varying float vFogDepth; - #ifdef FOG_EXP2 - uniform float fogDensity; - #else - uniform float fogNear; - uniform float fogFar; - #endif -#endif`,z0=`#ifdef USE_GRADIENTMAP - uniform sampler2D gradientMap; -#endif -vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { - float dotNL = dot( normal, lightDirection ); - vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); - #ifdef USE_GRADIENTMAP - return vec3( texture2D( gradientMap, coord ).r ); - #else - vec2 fw = fwidth( coord ) * 0.5; - return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); - #endif -}`,k0=`#ifdef USE_LIGHTMAP - uniform sampler2D lightMap; - uniform float lightMapIntensity; -#endif`,V0=`LambertMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,H0=`varying vec3 vViewPosition; -struct LambertMaterial { - vec3 diffuseColor; - float specularStrength; -}; -void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -#define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,G0=`uniform bool receiveShadow; -uniform vec3 ambientLightColor; -#if defined( USE_LIGHT_PROBES ) - uniform vec3 lightProbe[ 9 ]; -#endif -vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { - float x = normal.x, y = normal.y, z = normal.z; - vec3 result = shCoefficients[ 0 ] * 0.886227; - result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; - result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; - result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; - result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; - result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; - result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); - result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; - result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); - return result; -} -vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); - return irradiance; -} -vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { - vec3 irradiance = ambientLightColor; - return irradiance; -} -float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { - float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); - if ( cutoffDistance > 0.0 ) { - distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); - } - return distanceFalloff; -} -float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { - return smoothstep( coneCosine, penumbraCosine, angleCosine ); -} -#if NUM_DIR_LIGHTS > 0 - struct DirectionalLight { - vec3 direction; - vec3 color; - }; - uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; - void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { - light.color = directionalLight.color; - light.direction = directionalLight.direction; - light.visible = true; - } -#endif -#if NUM_POINT_LIGHTS > 0 - struct PointLight { - vec3 position; - vec3 color; - float distance; - float decay; - }; - uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; - void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { - vec3 lVector = pointLight.position - geometryPosition; - light.direction = normalize( lVector ); - float lightDistance = length( lVector ); - light.color = pointLight.color; - light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); - light.visible = ( light.color != vec3( 0.0 ) ); - } -#endif -#if NUM_SPOT_LIGHTS > 0 - struct SpotLight { - vec3 position; - vec3 direction; - vec3 color; - float distance; - float decay; - float coneCos; - float penumbraCos; - }; - uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; - void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { - vec3 lVector = spotLight.position - geometryPosition; - light.direction = normalize( lVector ); - float angleCos = dot( light.direction, spotLight.direction ); - float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); - if ( spotAttenuation > 0.0 ) { - float lightDistance = length( lVector ); - light.color = spotLight.color * spotAttenuation; - light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); - light.visible = ( light.color != vec3( 0.0 ) ); - } else { - light.color = vec3( 0.0 ); - light.visible = false; - } - } -#endif -#if NUM_RECT_AREA_LIGHTS > 0 - struct RectAreaLight { - vec3 color; - vec3 position; - vec3 halfWidth; - vec3 halfHeight; - }; - uniform sampler2D ltc_1; uniform sampler2D ltc_2; - uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; -#endif -#if NUM_HEMI_LIGHTS > 0 - struct HemisphereLight { - vec3 direction; - vec3 skyColor; - vec3 groundColor; - }; - uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; - vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { - float dotNL = dot( normal, hemiLight.direction ); - float hemiDiffuseWeight = 0.5 * dotNL + 0.5; - vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); - return irradiance; - } -#endif`,W0=`#ifdef USE_ENVMAP - vec3 getIBLIrradiance( const in vec3 normal ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); - vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 ); - return PI * envMapColor.rgb * envMapIntensity; - #else - return vec3( 0.0 ); - #endif - } - vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 reflectVec = reflect( - viewDir, normal ); - reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); - reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); - vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness ); - return envMapColor.rgb * envMapIntensity; - #else - return vec3( 0.0 ); - #endif - } - #ifdef USE_ANISOTROPY - vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { - #ifdef ENVMAP_TYPE_CUBE_UV - vec3 bentNormal = cross( bitangent, viewDir ); - bentNormal = normalize( cross( bentNormal, bitangent ) ); - bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); - return getIBLRadiance( viewDir, bentNormal, roughness ); - #else - return vec3( 0.0 ); - #endif - } - #endif -#endif`,X0=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,q0=`varying vec3 vViewPosition; -struct ToonMaterial { - vec3 diffuseColor; -}; -void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { - vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -#define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,Y0=`BlinnPhongMaterial material; -material.diffuseColor = diffuseColor.rgb; -material.specularColor = specular; -material.specularShininess = shininess; -material.specularStrength = specularStrength;`,Z0=`varying vec3 vViewPosition; -struct BlinnPhongMaterial { - vec3 diffuseColor; - vec3 specularColor; - float specularShininess; - float specularStrength; -}; -void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); - reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; -} -void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -#define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,J0=`PhysicalMaterial material; -material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); -vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); -float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); -material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; -material.roughness = min( material.roughness, 1.0 ); -#ifdef IOR - material.ior = ior; - #ifdef USE_SPECULAR - float specularIntensityFactor = specularIntensity; - vec3 specularColorFactor = specularColor; - #ifdef USE_SPECULAR_COLORMAP - specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; - #endif - material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); - #else - float specularIntensityFactor = 1.0; - vec3 specularColorFactor = vec3( 1.0 ); - material.specularF90 = 1.0; - #endif - material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); -#else - material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); - material.specularF90 = 1.0; -#endif -#ifdef USE_CLEARCOAT - material.clearcoat = clearcoat; - material.clearcoatRoughness = clearcoatRoughness; - material.clearcoatF0 = vec3( 0.04 ); - material.clearcoatF90 = 1.0; - #ifdef USE_CLEARCOATMAP - material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; - #endif - #ifdef USE_CLEARCOAT_ROUGHNESSMAP - material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; - #endif - material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); - material.clearcoatRoughness += geometryRoughness; - material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); -#endif -#ifdef USE_DISPERSION - material.dispersion = dispersion; -#endif -#ifdef USE_IRIDESCENCE - material.iridescence = iridescence; - material.iridescenceIOR = iridescenceIOR; - #ifdef USE_IRIDESCENCEMAP - material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; - #endif - #ifdef USE_IRIDESCENCE_THICKNESSMAP - material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; - #else - material.iridescenceThickness = iridescenceThicknessMaximum; - #endif -#endif -#ifdef USE_SHEEN - material.sheenColor = sheenColor; - #ifdef USE_SHEEN_COLORMAP - material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; - #endif - material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); - #ifdef USE_SHEEN_ROUGHNESSMAP - material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; - #endif -#endif -#ifdef USE_ANISOTROPY - #ifdef USE_ANISOTROPYMAP - mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); - vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; - vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; - #else - vec2 anisotropyV = anisotropyVector; - #endif - material.anisotropy = length( anisotropyV ); - if( material.anisotropy == 0.0 ) { - anisotropyV = vec2( 1.0, 0.0 ); - } else { - anisotropyV /= material.anisotropy; - material.anisotropy = saturate( material.anisotropy ); - } - material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); - material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; - material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,K0=`struct PhysicalMaterial { - vec3 diffuseColor; - float roughness; - vec3 specularColor; - float specularF90; - float dispersion; - #ifdef USE_CLEARCOAT - float clearcoat; - float clearcoatRoughness; - vec3 clearcoatF0; - float clearcoatF90; - #endif - #ifdef USE_IRIDESCENCE - float iridescence; - float iridescenceIOR; - float iridescenceThickness; - vec3 iridescenceFresnel; - vec3 iridescenceF0; - #endif - #ifdef USE_SHEEN - vec3 sheenColor; - float sheenRoughness; - #endif - #ifdef IOR - float ior; - #endif - #ifdef USE_TRANSMISSION - float transmission; - float transmissionAlpha; - float thickness; - float attenuationDistance; - vec3 attenuationColor; - #endif - #ifdef USE_ANISOTROPY - float anisotropy; - float alphaT; - vec3 anisotropyT; - vec3 anisotropyB; - #endif -}; -vec3 clearcoatSpecularDirect = vec3( 0.0 ); -vec3 clearcoatSpecularIndirect = vec3( 0.0 ); -vec3 sheenSpecularDirect = vec3( 0.0 ); -vec3 sheenSpecularIndirect = vec3(0.0 ); -vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { - float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); - float x2 = x * x; - float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); - return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); -} -float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { - float a2 = pow2( alpha ); - float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); - float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); - return 0.5 / max( gv + gl, EPSILON ); -} -float D_GGX( const in float alpha, const in float dotNH ) { - float a2 = pow2( alpha ); - float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; - return RECIPROCAL_PI * a2 / pow2( denom ); -} -#ifdef USE_ANISOTROPY - float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { - float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); - float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); - float v = 0.5 / ( gv + gl ); - return saturate(v); - } - float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { - float a2 = alphaT * alphaB; - highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); - highp float v2 = dot( v, v ); - float w2 = a2 / v2; - return RECIPROCAL_PI * a2 * pow2 ( w2 ); - } -#endif -#ifdef USE_CLEARCOAT - vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { - vec3 f0 = material.clearcoatF0; - float f90 = material.clearcoatF90; - float roughness = material.clearcoatRoughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - return F * ( V * D ); - } -#endif -vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { - vec3 f0 = material.specularColor; - float f90 = material.specularF90; - float roughness = material.roughness; - float alpha = pow2( roughness ); - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float dotVH = saturate( dot( viewDir, halfDir ) ); - vec3 F = F_Schlick( f0, f90, dotVH ); - #ifdef USE_IRIDESCENCE - F = mix( F, material.iridescenceFresnel, material.iridescence ); - #endif - #ifdef USE_ANISOTROPY - float dotTL = dot( material.anisotropyT, lightDir ); - float dotTV = dot( material.anisotropyT, viewDir ); - float dotTH = dot( material.anisotropyT, halfDir ); - float dotBL = dot( material.anisotropyB, lightDir ); - float dotBV = dot( material.anisotropyB, viewDir ); - float dotBH = dot( material.anisotropyB, halfDir ); - float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); - float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); - #else - float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); - float D = D_GGX( alpha, dotNH ); - #endif - return F * ( V * D ); -} -vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { - const float LUT_SIZE = 64.0; - const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; - const float LUT_BIAS = 0.5 / LUT_SIZE; - float dotNV = saturate( dot( N, V ) ); - vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); - uv = uv * LUT_SCALE + LUT_BIAS; - return uv; -} -float LTC_ClippedSphereFormFactor( const in vec3 f ) { - float l = length( f ); - return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); -} -vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { - float x = dot( v1, v2 ); - float y = abs( x ); - float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; - float b = 3.4175940 + ( 4.1616724 + y ) * y; - float v = a / b; - float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; - return cross( v1, v2 ) * theta_sintheta; -} -vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { - vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; - vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; - vec3 lightNormal = cross( v1, v2 ); - if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); - vec3 T1, T2; - T1 = normalize( V - N * dot( V, N ) ); - T2 = - cross( N, T1 ); - mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); - vec3 coords[ 4 ]; - coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); - coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); - coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); - coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); - coords[ 0 ] = normalize( coords[ 0 ] ); - coords[ 1 ] = normalize( coords[ 1 ] ); - coords[ 2 ] = normalize( coords[ 2 ] ); - coords[ 3 ] = normalize( coords[ 3 ] ); - vec3 vectorFormFactor = vec3( 0.0 ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); - vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); - float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); - return vec3( result ); -} -#if defined( USE_SHEEN ) -float D_Charlie( float roughness, float dotNH ) { - float alpha = pow2( roughness ); - float invAlpha = 1.0 / alpha; - float cos2h = dotNH * dotNH; - float sin2h = max( 1.0 - cos2h, 0.0078125 ); - return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); -} -float V_Neubelt( float dotNV, float dotNL ) { - return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); -} -vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { - vec3 halfDir = normalize( lightDir + viewDir ); - float dotNL = saturate( dot( normal, lightDir ) ); - float dotNV = saturate( dot( normal, viewDir ) ); - float dotNH = saturate( dot( normal, halfDir ) ); - float D = D_Charlie( sheenRoughness, dotNH ); - float V = V_Neubelt( dotNV, dotNL ); - return sheenColor * ( D * V ); -} -#endif -float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - float r2 = roughness * roughness; - float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; - float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; - float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); - return saturate( DG * RECIPROCAL_PI ); -} -vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { - float dotNV = saturate( dot( normal, viewDir ) ); - const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); - const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); - vec4 r = roughness * c0 + c1; - float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; - vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; - return fab; -} -vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { - vec2 fab = DFGApprox( normal, viewDir, roughness ); - return specularColor * fab.x + specularF90 * fab.y; -} -#ifdef USE_IRIDESCENCE -void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#else -void computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { -#endif - vec2 fab = DFGApprox( normal, viewDir, roughness ); - #ifdef USE_IRIDESCENCE - vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); - #else - vec3 Fr = specularColor; - #endif - vec3 FssEss = Fr * fab.x + specularF90 * fab.y; - float Ess = fab.x + fab.y; - float Ems = 1.0 - Ess; - vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); - singleScatter += FssEss; - multiScatter += Fms * Ems; -} -#if NUM_RECT_AREA_LIGHTS > 0 - void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - vec3 normal = geometryNormal; - vec3 viewDir = geometryViewDir; - vec3 position = geometryPosition; - vec3 lightPos = rectAreaLight.position; - vec3 halfWidth = rectAreaLight.halfWidth; - vec3 halfHeight = rectAreaLight.halfHeight; - vec3 lightColor = rectAreaLight.color; - float roughness = material.roughness; - vec3 rectCoords[ 4 ]; - rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; - rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; - rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; - vec2 uv = LTC_Uv( normal, viewDir, roughness ); - vec4 t1 = texture2D( ltc_1, uv ); - vec4 t2 = texture2D( ltc_2, uv ); - mat3 mInv = mat3( - vec3( t1.x, 0, t1.y ), - vec3( 0, 1, 0 ), - vec3( t1.z, 0, t1.w ) - ); - vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); - reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); - reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); - } -#endif -void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); - vec3 irradiance = dotNL * directLight.color; - #ifdef USE_CLEARCOAT - float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); - vec3 ccIrradiance = dotNLcc * directLight.color; - clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); - #endif - #ifdef USE_SHEEN - sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); - #endif - reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); - reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { - reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); -} -void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { - #ifdef USE_CLEARCOAT - clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); - #endif - #ifdef USE_SHEEN - sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); - #endif - vec3 singleScattering = vec3( 0.0 ); - vec3 multiScattering = vec3( 0.0 ); - vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; - #ifdef USE_IRIDESCENCE - computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); - #else - computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); - #endif - vec3 totalScattering = singleScattering + multiScattering; - vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); - reflectedLight.indirectSpecular += radiance * singleScattering; - reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; - reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; -} -#define RE_Direct RE_Direct_Physical -#define RE_Direct_RectArea RE_Direct_RectArea_Physical -#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical -#define RE_IndirectSpecular RE_IndirectSpecular_Physical -float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { - return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,$0=` -vec3 geometryPosition = - vViewPosition; -vec3 geometryNormal = normal; -vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); -vec3 geometryClearcoatNormal = vec3( 0.0 ); -#ifdef USE_CLEARCOAT - geometryClearcoatNormal = clearcoatNormal; -#endif -#ifdef USE_IRIDESCENCE - float dotNVi = saturate( dot( normal, geometryViewDir ) ); - if ( material.iridescenceThickness == 0.0 ) { - material.iridescence = 0.0; - } else { - material.iridescence = saturate( material.iridescence ); - } - if ( material.iridescence > 0.0 ) { - material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); - material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); - } -#endif -IncidentLight directLight; -#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) - PointLight pointLight; - #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 - PointLightShadow pointLightShadow; - #endif - #pragma unroll_loop_start - for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { - pointLight = pointLights[ i ]; - getPointLightInfo( pointLight, geometryPosition, directLight ); - #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) - pointLightShadow = pointLightShadows[ i ]; - directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; - #endif - RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) - SpotLight spotLight; - vec4 spotColor; - vec3 spotLightCoord; - bool inSpotLightMap; - #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 - SpotLightShadow spotLightShadow; - #endif - #pragma unroll_loop_start - for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { - spotLight = spotLights[ i ]; - getSpotLightInfo( spotLight, geometryPosition, directLight ); - #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) - #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX - #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) - #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS - #else - #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) - #endif - #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) - spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; - inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); - spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); - directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; - #endif - #undef SPOT_LIGHT_MAP_INDEX - #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) - spotLightShadow = spotLightShadows[ i ]; - directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; - #endif - RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) - DirectionalLight directionalLight; - #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 - DirectionalLightShadow directionalLightShadow; - #endif - #pragma unroll_loop_start - for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { - directionalLight = directionalLights[ i ]; - getDirectionalLightInfo( directionalLight, directLight ); - #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) - directionalLightShadow = directionalLightShadows[ i ]; - directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; - #endif - RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) - RectAreaLight rectAreaLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { - rectAreaLight = rectAreaLights[ i ]; - RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); - } - #pragma unroll_loop_end -#endif -#if defined( RE_IndirectDiffuse ) - vec3 iblIrradiance = vec3( 0.0 ); - vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); - #if defined( USE_LIGHT_PROBES ) - irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); - #endif - #if ( NUM_HEMI_LIGHTS > 0 ) - #pragma unroll_loop_start - for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { - irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); - } - #pragma unroll_loop_end - #endif -#endif -#if defined( RE_IndirectSpecular ) - vec3 radiance = vec3( 0.0 ); - vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,j0=`#if defined( RE_IndirectDiffuse ) - #ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); - vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; - irradiance += lightMapIrradiance; - #endif - #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) - iblIrradiance += getIBLIrradiance( geometryNormal ); - #endif -#endif -#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) - #ifdef USE_ANISOTROPY - radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); - #else - radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); - #endif - #ifdef USE_CLEARCOAT - clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); - #endif -#endif`,Q0=`#if defined( RE_IndirectDiffuse ) - RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif -#if defined( RE_IndirectSpecular ) - RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif`,e_=`#if defined( USE_LOGDEPTHBUF ) - gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,t_=`#if defined( USE_LOGDEPTHBUF ) - uniform float logDepthBufFC; - varying float vFragDepth; - varying float vIsPerspective; -#endif`,n_=`#ifdef USE_LOGDEPTHBUF - varying float vFragDepth; - varying float vIsPerspective; -#endif`,i_=`#ifdef USE_LOGDEPTHBUF - vFragDepth = 1.0 + gl_Position.w; - vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); -#endif`,s_=`#ifdef USE_MAP - vec4 sampledDiffuseColor = texture2D( map, vMapUv ); - #ifdef DECODE_VIDEO_TEXTURE - sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor ); - #endif - diffuseColor *= sampledDiffuseColor; -#endif`,r_=`#ifdef USE_MAP - uniform sampler2D map; -#endif`,a_=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) - #if defined( USE_POINTS_UV ) - vec2 uv = vUv; - #else - vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; - #endif -#endif -#ifdef USE_MAP - diffuseColor *= texture2D( map, uv ); -#endif -#ifdef USE_ALPHAMAP - diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,o_=`#if defined( USE_POINTS_UV ) - varying vec2 vUv; -#else - #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) - uniform mat3 uvTransform; - #endif -#endif -#ifdef USE_MAP - uniform sampler2D map; -#endif -#ifdef USE_ALPHAMAP - uniform sampler2D alphaMap; -#endif`,l_=`float metalnessFactor = metalness; -#ifdef USE_METALNESSMAP - vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); - metalnessFactor *= texelMetalness.b; -#endif`,c_=`#ifdef USE_METALNESSMAP - uniform sampler2D metalnessMap; -#endif`,h_=`#ifdef USE_INSTANCING_MORPH - float morphTargetInfluences[ MORPHTARGETS_COUNT ]; - float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r; - } -#endif`,u_=`#if defined( USE_MORPHCOLORS ) - vColor *= morphTargetBaseInfluence; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - #if defined( USE_COLOR_ALPHA ) - if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; - #elif defined( USE_COLOR ) - if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; - #endif - } -#endif`,d_=`#ifdef USE_MORPHNORMALS - objectNormal *= morphTargetBaseInfluence; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; - } -#endif`,f_=`#ifdef USE_MORPHTARGETS - #ifndef USE_INSTANCING_MORPH - uniform float morphTargetBaseInfluence; - uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; - #endif - uniform sampler2DArray morphTargetsTexture; - uniform ivec2 morphTargetsTextureSize; - vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { - int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; - int y = texelIndex / morphTargetsTextureSize.x; - int x = texelIndex - y * morphTargetsTextureSize.x; - ivec3 morphUV = ivec3( x, y, morphTargetIndex ); - return texelFetch( morphTargetsTexture, morphUV, 0 ); - } -#endif`,p_=`#ifdef USE_MORPHTARGETS - transformed *= morphTargetBaseInfluence; - for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { - if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; - } -#endif`,m_=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; -#ifdef FLAT_SHADED - vec3 fdx = dFdx( vViewPosition ); - vec3 fdy = dFdy( vViewPosition ); - vec3 normal = normalize( cross( fdx, fdy ) ); -#else - vec3 normal = normalize( vNormal ); - #ifdef DOUBLE_SIDED - normal *= faceDirection; - #endif -#endif -#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) - #ifdef USE_TANGENT - mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); - #else - mat3 tbn = getTangentFrame( - vViewPosition, normal, - #if defined( USE_NORMALMAP ) - vNormalMapUv - #elif defined( USE_CLEARCOAT_NORMALMAP ) - vClearcoatNormalMapUv - #else - vUv - #endif - ); - #endif - #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) - tbn[0] *= faceDirection; - tbn[1] *= faceDirection; - #endif -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - #ifdef USE_TANGENT - mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); - #else - mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); - #endif - #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) - tbn2[0] *= faceDirection; - tbn2[1] *= faceDirection; - #endif -#endif -vec3 nonPerturbedNormal = normal;`,g_=`#ifdef USE_NORMALMAP_OBJECTSPACE - normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; - #ifdef FLIP_SIDED - normal = - normal; - #endif - #ifdef DOUBLE_SIDED - normal = normal * faceDirection; - #endif - normal = normalize( normalMatrix * normal ); -#elif defined( USE_NORMALMAP_TANGENTSPACE ) - vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; - mapN.xy *= normalScale; - normal = normalize( tbn * mapN ); -#elif defined( USE_BUMPMAP ) - normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,__=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,v_=`#ifndef FLAT_SHADED - varying vec3 vNormal; - #ifdef USE_TANGENT - varying vec3 vTangent; - varying vec3 vBitangent; - #endif -#endif`,x_=`#ifndef FLAT_SHADED - vNormal = normalize( transformedNormal ); - #ifdef USE_TANGENT - vTangent = normalize( transformedTangent ); - vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); - #endif -#endif`,y_=`#ifdef USE_NORMALMAP - uniform sampler2D normalMap; - uniform vec2 normalScale; -#endif -#ifdef USE_NORMALMAP_OBJECTSPACE - uniform mat3 normalMatrix; -#endif -#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) - mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { - vec3 q0 = dFdx( eye_pos.xyz ); - vec3 q1 = dFdy( eye_pos.xyz ); - vec2 st0 = dFdx( uv.st ); - vec2 st1 = dFdy( uv.st ); - vec3 N = surf_norm; - vec3 q1perp = cross( q1, N ); - vec3 q0perp = cross( N, q0 ); - vec3 T = q1perp * st0.x + q0perp * st1.x; - vec3 B = q1perp * st0.y + q0perp * st1.y; - float det = max( dot( T, T ), dot( B, B ) ); - float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); - return mat3( T * scale, B * scale, N ); - } -#endif`,M_=`#ifdef USE_CLEARCOAT - vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,b_=`#ifdef USE_CLEARCOAT_NORMALMAP - vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; - clearcoatMapN.xy *= clearcoatNormalScale; - clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,S_=`#ifdef USE_CLEARCOATMAP - uniform sampler2D clearcoatMap; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - uniform sampler2D clearcoatNormalMap; - uniform vec2 clearcoatNormalScale; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - uniform sampler2D clearcoatRoughnessMap; -#endif`,w_=`#ifdef USE_IRIDESCENCEMAP - uniform sampler2D iridescenceMap; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - uniform sampler2D iridescenceThicknessMap; -#endif`,E_=`#ifdef OPAQUE -diffuseColor.a = 1.0; -#endif -#ifdef USE_TRANSMISSION -diffuseColor.a *= material.transmissionAlpha; -#endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,T_=`vec3 packNormalToRGB( const in vec3 normal ) { - return normalize( normal ) * 0.5 + 0.5; -} -vec3 unpackRGBToNormal( const in vec3 rgb ) { - return 2.0 * rgb.xyz - 1.0; -} -const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.; -const float Inv255 = 1. / 255.; -const vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 ); -const vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g ); -const vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b ); -const vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a ); -vec4 packDepthToRGBA( const in float v ) { - if( v <= 0.0 ) - return vec4( 0., 0., 0., 0. ); - if( v >= 1.0 ) - return vec4( 1., 1., 1., 1. ); - float vuf; - float af = modf( v * PackFactors.a, vuf ); - float bf = modf( vuf * ShiftRight8, vuf ); - float gf = modf( vuf * ShiftRight8, vuf ); - return vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af ); -} -vec3 packDepthToRGB( const in float v ) { - if( v <= 0.0 ) - return vec3( 0., 0., 0. ); - if( v >= 1.0 ) - return vec3( 1., 1., 1. ); - float vuf; - float bf = modf( v * PackFactors.b, vuf ); - float gf = modf( vuf * ShiftRight8, vuf ); - return vec3( vuf * Inv255, gf * PackUpscale, bf ); -} -vec2 packDepthToRG( const in float v ) { - if( v <= 0.0 ) - return vec2( 0., 0. ); - if( v >= 1.0 ) - return vec2( 1., 1. ); - float vuf; - float gf = modf( v * 256., vuf ); - return vec2( vuf * Inv255, gf ); -} -float unpackRGBAToDepth( const in vec4 v ) { - return dot( v, UnpackFactors4 ); -} -float unpackRGBToDepth( const in vec3 v ) { - return dot( v, UnpackFactors3 ); -} -float unpackRGToDepth( const in vec2 v ) { - return v.r * UnpackFactors2.r + v.g * UnpackFactors2.g; -} -vec4 pack2HalfToRGBA( const in vec2 v ) { - vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); - return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); -} -vec2 unpackRGBATo2Half( const in vec4 v ) { - return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); -} -float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { - return ( viewZ + near ) / ( near - far ); -} -float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { - return depth * ( near - far ) - near; -} -float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { - return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); -} -float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { - return ( near * far ) / ( ( far - near ) * depth - far ); -}`,A_=`#ifdef PREMULTIPLIED_ALPHA - gl_FragColor.rgb *= gl_FragColor.a; -#endif`,C_=`vec4 mvPosition = vec4( transformed, 1.0 ); -#ifdef USE_BATCHING - mvPosition = batchingMatrix * mvPosition; -#endif -#ifdef USE_INSTANCING - mvPosition = instanceMatrix * mvPosition; -#endif -mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,R_=`#ifdef DITHERING - gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,I_=`#ifdef DITHERING - vec3 dithering( vec3 color ) { - float grid_position = rand( gl_FragCoord.xy ); - vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); - dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); - return color + dither_shift_RGB; - } -#endif`,P_=`float roughnessFactor = roughness; -#ifdef USE_ROUGHNESSMAP - vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); - roughnessFactor *= texelRoughness.g; -#endif`,D_=`#ifdef USE_ROUGHNESSMAP - uniform sampler2D roughnessMap; -#endif`,L_=`#if NUM_SPOT_LIGHT_COORDS > 0 - varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; -#endif -#if NUM_SPOT_LIGHT_MAPS > 0 - uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; -#endif -#ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; - varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; - struct DirectionalLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; - struct SpotLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; - varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; - struct PointLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - float shadowCameraNear; - float shadowCameraFar; - }; - uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; - #endif - float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { - return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); - } - vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { - return unpackRGBATo2Half( texture2D( shadow, uv ) ); - } - float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ - float occlusion = 1.0; - vec2 distribution = texture2DDistribution( shadow, uv ); - float hard_shadow = step( compare , distribution.x ); - if (hard_shadow != 1.0 ) { - float distance = compare - distribution.x ; - float variance = max( 0.00000, distribution.y * distribution.y ); - float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); - } - return occlusion; - } - float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { - float shadow = 1.0; - shadowCoord.xyz /= shadowCoord.w; - shadowCoord.z += shadowBias; - bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; - bool frustumTest = inFrustum && shadowCoord.z <= 1.0; - if ( frustumTest ) { - #if defined( SHADOWMAP_TYPE_PCF ) - vec2 texelSize = vec2( 1.0 ) / shadowMapSize; - float dx0 = - texelSize.x * shadowRadius; - float dy0 = - texelSize.y * shadowRadius; - float dx1 = + texelSize.x * shadowRadius; - float dy1 = + texelSize.y * shadowRadius; - float dx2 = dx0 / 2.0; - float dy2 = dy0 / 2.0; - float dx3 = dx1 / 2.0; - float dy3 = dy1 / 2.0; - shadow = ( - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + - texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) - ) * ( 1.0 / 17.0 ); - #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) - vec2 texelSize = vec2( 1.0 ) / shadowMapSize; - float dx = texelSize.x; - float dy = texelSize.y; - vec2 uv = shadowCoord.xy; - vec2 f = fract( uv * shadowMapSize + 0.5 ); - uv -= f * texelSize; - shadow = ( - texture2DCompare( shadowMap, uv, shadowCoord.z ) + - texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + - texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + - texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + - mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), - f.x ) + - mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), - f.x ) + - mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), - f.y ) + - mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), - f.y ) + - mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), - f.x ), - mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), - texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), - f.x ), - f.y ) - ) * ( 1.0 / 9.0 ); - #elif defined( SHADOWMAP_TYPE_VSM ) - shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); - #else - shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); - #endif - } - return mix( 1.0, shadow, shadowIntensity ); - } - vec2 cubeToUV( vec3 v, float texelSizeY ) { - vec3 absV = abs( v ); - float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); - absV *= scaleToCube; - v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); - vec2 planar = v.xy; - float almostATexel = 1.5 * texelSizeY; - float almostOne = 1.0 - almostATexel; - if ( absV.z >= almostOne ) { - if ( v.z > 0.0 ) - planar.x = 4.0 - v.x; - } else if ( absV.x >= almostOne ) { - float signX = sign( v.x ); - planar.x = v.z * signX + 2.0 * signX; - } else if ( absV.y >= almostOne ) { - float signY = sign( v.y ); - planar.x = v.x + 2.0 * signY + 2.0; - planar.y = v.z * signY - 2.0; - } - return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); - } - float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { - float shadow = 1.0; - vec3 lightToPosition = shadowCoord.xyz; - - float lightToPositionLength = length( lightToPosition ); - if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { - float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; - vec3 bd3D = normalize( lightToPosition ); - vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); - #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) - vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; - shadow = ( - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + - texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) - ) * ( 1.0 / 9.0 ); - #else - shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); - #endif - } - return mix( 1.0, shadow, shadowIntensity ); - } -#endif`,U_=`#if NUM_SPOT_LIGHT_COORDS > 0 - uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; - varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; -#endif -#ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; - varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; - struct DirectionalLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - struct SpotLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - }; - uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; - varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; - struct PointLightShadow { - float shadowIntensity; - float shadowBias; - float shadowNormalBias; - float shadowRadius; - vec2 shadowMapSize; - float shadowCameraNear; - float shadowCameraFar; - }; - uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; - #endif -#endif`,N_=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) - vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); - vec4 shadowWorldPosition; -#endif -#if defined( USE_SHADOWMAP ) - #if NUM_DIR_LIGHT_SHADOWS > 0 - #pragma unroll_loop_start - for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { - shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); - vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; - } - #pragma unroll_loop_end - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - #pragma unroll_loop_start - for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { - shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); - vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; - } - #pragma unroll_loop_end - #endif -#endif -#if NUM_SPOT_LIGHT_COORDS > 0 - #pragma unroll_loop_start - for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { - shadowWorldPosition = worldPosition; - #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) - shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; - #endif - vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; - } - #pragma unroll_loop_end -#endif`,F_=`float getShadowMask() { - float shadow = 1.0; - #ifdef USE_SHADOWMAP - #if NUM_DIR_LIGHT_SHADOWS > 0 - DirectionalLightShadow directionalLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { - directionalLight = directionalLightShadows[ i ]; - shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; - } - #pragma unroll_loop_end - #endif - #if NUM_SPOT_LIGHT_SHADOWS > 0 - SpotLightShadow spotLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { - spotLight = spotLightShadows[ i ]; - shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; - } - #pragma unroll_loop_end - #endif - #if NUM_POINT_LIGHT_SHADOWS > 0 - PointLightShadow pointLight; - #pragma unroll_loop_start - for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { - pointLight = pointLightShadows[ i ]; - shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; - } - #pragma unroll_loop_end - #endif - #endif - return shadow; -}`,O_=`#ifdef USE_SKINNING - mat4 boneMatX = getBoneMatrix( skinIndex.x ); - mat4 boneMatY = getBoneMatrix( skinIndex.y ); - mat4 boneMatZ = getBoneMatrix( skinIndex.z ); - mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,B_=`#ifdef USE_SKINNING - uniform mat4 bindMatrix; - uniform mat4 bindMatrixInverse; - uniform highp sampler2D boneTexture; - mat4 getBoneMatrix( const in float i ) { - int size = textureSize( boneTexture, 0 ).x; - int j = int( i ) * 4; - int x = j % size; - int y = j / size; - vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); - vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); - vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); - vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); - return mat4( v1, v2, v3, v4 ); - } -#endif`,z_=`#ifdef USE_SKINNING - vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); - vec4 skinned = vec4( 0.0 ); - skinned += boneMatX * skinVertex * skinWeight.x; - skinned += boneMatY * skinVertex * skinWeight.y; - skinned += boneMatZ * skinVertex * skinWeight.z; - skinned += boneMatW * skinVertex * skinWeight.w; - transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,k_=`#ifdef USE_SKINNING - mat4 skinMatrix = mat4( 0.0 ); - skinMatrix += skinWeight.x * boneMatX; - skinMatrix += skinWeight.y * boneMatY; - skinMatrix += skinWeight.z * boneMatZ; - skinMatrix += skinWeight.w * boneMatW; - skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; - objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; - #ifdef USE_TANGENT - objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; - #endif -#endif`,V_=`float specularStrength; -#ifdef USE_SPECULARMAP - vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); - specularStrength = texelSpecular.r; -#else - specularStrength = 1.0; -#endif`,H_=`#ifdef USE_SPECULARMAP - uniform sampler2D specularMap; -#endif`,G_=`#if defined( TONE_MAPPING ) - gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,W_=`#ifndef saturate -#define saturate( a ) clamp( a, 0.0, 1.0 ) -#endif -uniform float toneMappingExposure; -vec3 LinearToneMapping( vec3 color ) { - return saturate( toneMappingExposure * color ); -} -vec3 ReinhardToneMapping( vec3 color ) { - color *= toneMappingExposure; - return saturate( color / ( vec3( 1.0 ) + color ) ); -} -vec3 CineonToneMapping( vec3 color ) { - color *= toneMappingExposure; - color = max( vec3( 0.0 ), color - 0.004 ); - return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); -} -vec3 RRTAndODTFit( vec3 v ) { - vec3 a = v * ( v + 0.0245786 ) - 0.000090537; - vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; - return a / b; -} -vec3 ACESFilmicToneMapping( vec3 color ) { - const mat3 ACESInputMat = mat3( - vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), - vec3( 0.04823, 0.01566, 0.83777 ) - ); - const mat3 ACESOutputMat = mat3( - vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), - vec3( -0.07367, -0.00605, 1.07602 ) - ); - color *= toneMappingExposure / 0.6; - color = ACESInputMat * color; - color = RRTAndODTFit( color ); - color = ACESOutputMat * color; - return saturate( color ); -} -const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( - vec3( 1.6605, - 0.1246, - 0.0182 ), - vec3( - 0.5876, 1.1329, - 0.1006 ), - vec3( - 0.0728, - 0.0083, 1.1187 ) -); -const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( - vec3( 0.6274, 0.0691, 0.0164 ), - vec3( 0.3293, 0.9195, 0.0880 ), - vec3( 0.0433, 0.0113, 0.8956 ) -); -vec3 agxDefaultContrastApprox( vec3 x ) { - vec3 x2 = x * x; - vec3 x4 = x2 * x2; - return + 15.5 * x4 * x2 - - 40.14 * x4 * x - + 31.96 * x4 - - 6.868 * x2 * x - + 0.4298 * x2 - + 0.1191 * x - - 0.00232; -} -vec3 AgXToneMapping( vec3 color ) { - const mat3 AgXInsetMatrix = mat3( - vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), - vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), - vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) - ); - const mat3 AgXOutsetMatrix = mat3( - vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), - vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), - vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) - ); - const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; - color *= toneMappingExposure; - color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; - color = AgXInsetMatrix * color; - color = max( color, 1e-10 ); color = log2( color ); - color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); - color = clamp( color, 0.0, 1.0 ); - color = agxDefaultContrastApprox( color ); - color = AgXOutsetMatrix * color; - color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); - color = LINEAR_REC2020_TO_LINEAR_SRGB * color; - color = clamp( color, 0.0, 1.0 ); - return color; -} -vec3 NeutralToneMapping( vec3 color ) { - const float StartCompression = 0.8 - 0.04; - const float Desaturation = 0.15; - color *= toneMappingExposure; - float x = min( color.r, min( color.g, color.b ) ); - float offset = x < 0.08 ? x - 6.25 * x * x : 0.04; - color -= offset; - float peak = max( color.r, max( color.g, color.b ) ); - if ( peak < StartCompression ) return color; - float d = 1. - StartCompression; - float newPeak = 1. - d * d / ( peak + d - StartCompression ); - color *= newPeak / peak; - float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. ); - return mix( color, vec3( newPeak ), g ); -} -vec3 CustomToneMapping( vec3 color ) { return color; }`,X_=`#ifdef USE_TRANSMISSION - material.transmission = transmission; - material.transmissionAlpha = 1.0; - material.thickness = thickness; - material.attenuationDistance = attenuationDistance; - material.attenuationColor = attenuationColor; - #ifdef USE_TRANSMISSIONMAP - material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; - #endif - #ifdef USE_THICKNESSMAP - material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; - #endif - vec3 pos = vWorldPosition; - vec3 v = normalize( cameraPosition - pos ); - vec3 n = inverseTransformDirection( normal, viewMatrix ); - vec4 transmitted = getIBLVolumeRefraction( - n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, - pos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness, - material.attenuationColor, material.attenuationDistance ); - material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); - totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,q_=`#ifdef USE_TRANSMISSION - uniform float transmission; - uniform float thickness; - uniform float attenuationDistance; - uniform vec3 attenuationColor; - #ifdef USE_TRANSMISSIONMAP - uniform sampler2D transmissionMap; - #endif - #ifdef USE_THICKNESSMAP - uniform sampler2D thicknessMap; - #endif - uniform vec2 transmissionSamplerSize; - uniform sampler2D transmissionSamplerMap; - uniform mat4 modelMatrix; - uniform mat4 projectionMatrix; - varying vec3 vWorldPosition; - float w0( float a ) { - return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); - } - float w1( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); - } - float w2( float a ){ - return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); - } - float w3( float a ) { - return ( 1.0 / 6.0 ) * ( a * a * a ); - } - float g0( float a ) { - return w0( a ) + w1( a ); - } - float g1( float a ) { - return w2( a ) + w3( a ); - } - float h0( float a ) { - return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); - } - float h1( float a ) { - return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); - } - vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { - uv = uv * texelSize.zw + 0.5; - vec2 iuv = floor( uv ); - vec2 fuv = fract( uv ); - float g0x = g0( fuv.x ); - float g1x = g1( fuv.x ); - float h0x = h0( fuv.x ); - float h1x = h1( fuv.x ); - float h0y = h0( fuv.y ); - float h1y = h1( fuv.y ); - vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; - vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; - return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + - g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); - } - vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { - vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); - vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); - vec2 fLodSizeInv = 1.0 / fLodSize; - vec2 cLodSizeInv = 1.0 / cLodSize; - vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); - vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); - return mix( fSample, cSample, fract( lod ) ); - } - vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { - vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); - vec3 modelScale; - modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); - modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); - modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); - return normalize( refractionVector ) * thickness * modelScale; - } - float applyIorToRoughness( const in float roughness, const in float ior ) { - return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); - } - vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { - float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); - return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); - } - vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { - if ( isinf( attenuationDistance ) ) { - return vec3( 1.0 ); - } else { - vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; - vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; - } - } - vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, - const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, - const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness, - const in vec3 attenuationColor, const in float attenuationDistance ) { - vec4 transmittedLight; - vec3 transmittance; - #ifdef USE_DISPERSION - float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; - vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); - for ( int i = 0; i < 3; i ++ ) { - vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); - vec3 refractedRayExit = position + transmissionRay; - vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); - vec2 refractionCoords = ndcPos.xy / ndcPos.w; - refractionCoords += 1.0; - refractionCoords /= 2.0; - vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); - transmittedLight[ i ] = transmissionSample[ i ]; - transmittedLight.a += transmissionSample.a; - transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; - } - transmittedLight.a /= 3.0; - #else - vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); - vec3 refractedRayExit = position + transmissionRay; - vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); - vec2 refractionCoords = ndcPos.xy / ndcPos.w; - refractionCoords += 1.0; - refractionCoords /= 2.0; - transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); - transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); - #endif - vec3 attenuatedColor = transmittance * transmittedLight.rgb; - vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); - float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; - return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); - } -#endif`,Y_=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) - varying vec2 vUv; -#endif -#ifdef USE_MAP - varying vec2 vMapUv; -#endif -#ifdef USE_ALPHAMAP - varying vec2 vAlphaMapUv; -#endif -#ifdef USE_LIGHTMAP - varying vec2 vLightMapUv; -#endif -#ifdef USE_AOMAP - varying vec2 vAoMapUv; -#endif -#ifdef USE_BUMPMAP - varying vec2 vBumpMapUv; -#endif -#ifdef USE_NORMALMAP - varying vec2 vNormalMapUv; -#endif -#ifdef USE_EMISSIVEMAP - varying vec2 vEmissiveMapUv; -#endif -#ifdef USE_METALNESSMAP - varying vec2 vMetalnessMapUv; -#endif -#ifdef USE_ROUGHNESSMAP - varying vec2 vRoughnessMapUv; -#endif -#ifdef USE_ANISOTROPYMAP - varying vec2 vAnisotropyMapUv; -#endif -#ifdef USE_CLEARCOATMAP - varying vec2 vClearcoatMapUv; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - varying vec2 vClearcoatNormalMapUv; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - varying vec2 vClearcoatRoughnessMapUv; -#endif -#ifdef USE_IRIDESCENCEMAP - varying vec2 vIridescenceMapUv; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - varying vec2 vIridescenceThicknessMapUv; -#endif -#ifdef USE_SHEEN_COLORMAP - varying vec2 vSheenColorMapUv; -#endif -#ifdef USE_SHEEN_ROUGHNESSMAP - varying vec2 vSheenRoughnessMapUv; -#endif -#ifdef USE_SPECULARMAP - varying vec2 vSpecularMapUv; -#endif -#ifdef USE_SPECULAR_COLORMAP - varying vec2 vSpecularColorMapUv; -#endif -#ifdef USE_SPECULAR_INTENSITYMAP - varying vec2 vSpecularIntensityMapUv; -#endif -#ifdef USE_TRANSMISSIONMAP - uniform mat3 transmissionMapTransform; - varying vec2 vTransmissionMapUv; -#endif -#ifdef USE_THICKNESSMAP - uniform mat3 thicknessMapTransform; - varying vec2 vThicknessMapUv; -#endif`,Z_=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) - varying vec2 vUv; -#endif -#ifdef USE_MAP - uniform mat3 mapTransform; - varying vec2 vMapUv; -#endif -#ifdef USE_ALPHAMAP - uniform mat3 alphaMapTransform; - varying vec2 vAlphaMapUv; -#endif -#ifdef USE_LIGHTMAP - uniform mat3 lightMapTransform; - varying vec2 vLightMapUv; -#endif -#ifdef USE_AOMAP - uniform mat3 aoMapTransform; - varying vec2 vAoMapUv; -#endif -#ifdef USE_BUMPMAP - uniform mat3 bumpMapTransform; - varying vec2 vBumpMapUv; -#endif -#ifdef USE_NORMALMAP - uniform mat3 normalMapTransform; - varying vec2 vNormalMapUv; -#endif -#ifdef USE_DISPLACEMENTMAP - uniform mat3 displacementMapTransform; - varying vec2 vDisplacementMapUv; -#endif -#ifdef USE_EMISSIVEMAP - uniform mat3 emissiveMapTransform; - varying vec2 vEmissiveMapUv; -#endif -#ifdef USE_METALNESSMAP - uniform mat3 metalnessMapTransform; - varying vec2 vMetalnessMapUv; -#endif -#ifdef USE_ROUGHNESSMAP - uniform mat3 roughnessMapTransform; - varying vec2 vRoughnessMapUv; -#endif -#ifdef USE_ANISOTROPYMAP - uniform mat3 anisotropyMapTransform; - varying vec2 vAnisotropyMapUv; -#endif -#ifdef USE_CLEARCOATMAP - uniform mat3 clearcoatMapTransform; - varying vec2 vClearcoatMapUv; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - uniform mat3 clearcoatNormalMapTransform; - varying vec2 vClearcoatNormalMapUv; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - uniform mat3 clearcoatRoughnessMapTransform; - varying vec2 vClearcoatRoughnessMapUv; -#endif -#ifdef USE_SHEEN_COLORMAP - uniform mat3 sheenColorMapTransform; - varying vec2 vSheenColorMapUv; -#endif -#ifdef USE_SHEEN_ROUGHNESSMAP - uniform mat3 sheenRoughnessMapTransform; - varying vec2 vSheenRoughnessMapUv; -#endif -#ifdef USE_IRIDESCENCEMAP - uniform mat3 iridescenceMapTransform; - varying vec2 vIridescenceMapUv; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - uniform mat3 iridescenceThicknessMapTransform; - varying vec2 vIridescenceThicknessMapUv; -#endif -#ifdef USE_SPECULARMAP - uniform mat3 specularMapTransform; - varying vec2 vSpecularMapUv; -#endif -#ifdef USE_SPECULAR_COLORMAP - uniform mat3 specularColorMapTransform; - varying vec2 vSpecularColorMapUv; -#endif -#ifdef USE_SPECULAR_INTENSITYMAP - uniform mat3 specularIntensityMapTransform; - varying vec2 vSpecularIntensityMapUv; -#endif -#ifdef USE_TRANSMISSIONMAP - uniform mat3 transmissionMapTransform; - varying vec2 vTransmissionMapUv; -#endif -#ifdef USE_THICKNESSMAP - uniform mat3 thicknessMapTransform; - varying vec2 vThicknessMapUv; -#endif`,J_=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) - vUv = vec3( uv, 1 ).xy; -#endif -#ifdef USE_MAP - vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; -#endif -#ifdef USE_ALPHAMAP - vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_LIGHTMAP - vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_AOMAP - vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_BUMPMAP - vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_NORMALMAP - vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_DISPLACEMENTMAP - vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_EMISSIVEMAP - vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_METALNESSMAP - vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_ROUGHNESSMAP - vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_ANISOTROPYMAP - vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_CLEARCOATMAP - vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_CLEARCOAT_NORMALMAP - vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_CLEARCOAT_ROUGHNESSMAP - vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_IRIDESCENCEMAP - vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_IRIDESCENCE_THICKNESSMAP - vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SHEEN_COLORMAP - vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SHEEN_ROUGHNESSMAP - vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SPECULARMAP - vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SPECULAR_COLORMAP - vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_SPECULAR_INTENSITYMAP - vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_TRANSMISSIONMAP - vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; -#endif -#ifdef USE_THICKNESSMAP - vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,K_=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 - vec4 worldPosition = vec4( transformed, 1.0 ); - #ifdef USE_BATCHING - worldPosition = batchingMatrix * worldPosition; - #endif - #ifdef USE_INSTANCING - worldPosition = instanceMatrix * worldPosition; - #endif - worldPosition = modelMatrix * worldPosition; -#endif`;const $_=`varying vec2 vUv; -uniform mat3 uvTransform; -void main() { - vUv = ( uvTransform * vec3( uv, 1 ) ).xy; - gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,j_=`uniform sampler2D t2D; -uniform float backgroundIntensity; -varying vec2 vUv; -void main() { - vec4 texColor = texture2D( t2D, vUv ); - #ifdef DECODE_VIDEO_TEXTURE - texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); - #endif - texColor.rgb *= backgroundIntensity; - gl_FragColor = texColor; - #include - #include -}`,Q_=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,ev=`#ifdef ENVMAP_TYPE_CUBE - uniform samplerCube envMap; -#elif defined( ENVMAP_TYPE_CUBE_UV ) - uniform sampler2D envMap; -#endif -uniform float flipEnvMap; -uniform float backgroundBlurriness; -uniform float backgroundIntensity; -uniform mat3 backgroundRotation; -varying vec3 vWorldDirection; -#include -void main() { - #ifdef ENVMAP_TYPE_CUBE - vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); - #elif defined( ENVMAP_TYPE_CUBE_UV ) - vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness ); - #else - vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); - #endif - texColor.rgb *= backgroundIntensity; - gl_FragColor = texColor; - #include - #include -}`,tv=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include - gl_Position.z = gl_Position.w; -}`,nv=`uniform samplerCube tCube; -uniform float tFlip; -uniform float opacity; -varying vec3 vWorldDirection; -void main() { - vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); - gl_FragColor = texColor; - gl_FragColor.a *= opacity; - #include - #include -}`,iv=`#include -#include -#include -#include -#include -#include -#include -#include -varying vec2 vHighPrecisionZW; -void main() { - #include - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vHighPrecisionZW = gl_Position.zw; -}`,sv=`#if DEPTH_PACKING == 3200 - uniform float opacity; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -varying vec2 vHighPrecisionZW; -void main() { - vec4 diffuseColor = vec4( 1.0 ); - #include - #if DEPTH_PACKING == 3200 - diffuseColor.a = opacity; - #endif - #include - #include - #include - #include - #include - float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; - #if DEPTH_PACKING == 3200 - gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); - #elif DEPTH_PACKING == 3201 - gl_FragColor = packDepthToRGBA( fragCoordZ ); - #elif DEPTH_PACKING == 3202 - gl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 ); - #elif DEPTH_PACKING == 3203 - gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 ); - #endif -}`,rv=`#define DISTANCE -varying vec3 vWorldPosition; -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #ifdef USE_DISPLACEMENTMAP - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - vWorldPosition = worldPosition.xyz; -}`,av=`#define DISTANCE -uniform vec3 referencePosition; -uniform float nearDistance; -uniform float farDistance; -varying vec3 vWorldPosition; -#include -#include -#include -#include -#include -#include -#include -#include -void main () { - vec4 diffuseColor = vec4( 1.0 ); - #include - #include - #include - #include - #include - float dist = length( vWorldPosition - referencePosition ); - dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); - dist = saturate( dist ); - gl_FragColor = packDepthToRGBA( dist ); -}`,ov=`varying vec3 vWorldDirection; -#include -void main() { - vWorldDirection = transformDirection( position, modelMatrix ); - #include - #include -}`,lv=`uniform sampler2D tEquirect; -varying vec3 vWorldDirection; -#include -void main() { - vec3 direction = normalize( vWorldDirection ); - vec2 sampleUV = equirectUv( direction ); - gl_FragColor = texture2D( tEquirect, sampleUV ); - #include - #include -}`,cv=`uniform float scale; -attribute float lineDistance; -varying float vLineDistance; -#include -#include -#include -#include -#include -#include -#include -void main() { - vLineDistance = scale * lineDistance; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,hv=`uniform vec3 diffuse; -uniform float opacity; -uniform float dashSize; -uniform float totalSize; -varying float vLineDistance; -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - if ( mod( vLineDistance, totalSize ) > dashSize ) { - discard; - } - vec3 outgoingLight = vec3( 0.0 ); - #include - #include - #include - outgoingLight = diffuseColor.rgb; - #include - #include - #include - #include - #include -}`,uv=`#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) - #include - #include - #include - #include - #include - #endif - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,dv=`uniform vec3 diffuse; -uniform float opacity; -#ifndef FLAT_SHADED - varying vec3 vNormal; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - #include - #include - #include - #include - #include - #include - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - #ifdef USE_LIGHTMAP - vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); - reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; - #else - reflectedLight.indirectDiffuse += vec3( 1.0 ); - #endif - #include - reflectedLight.indirectDiffuse *= diffuseColor.rgb; - vec3 outgoingLight = reflectedLight.indirectDiffuse; - #include - #include - #include - #include - #include - #include - #include -}`,fv=`#define LAMBERT -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,pv=`#define LAMBERT -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; - #include - #include - #include - #include - #include - #include - #include -}`,mv=`#define MATCAP -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; -}`,gv=`#define MATCAP -uniform vec3 diffuse; -uniform float opacity; -uniform sampler2D matcap; -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 viewDir = normalize( vViewPosition ); - vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); - vec3 y = cross( viewDir, x ); - vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; - #ifdef USE_MATCAP - vec4 matcapColor = texture2D( matcap, uv ); - #else - vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); - #endif - vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; - #include - #include - #include - #include - #include - #include -}`,_v=`#define NORMAL -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - varying vec3 vViewPosition; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - vViewPosition = - mvPosition.xyz; -#endif -}`,vv=`#define NORMAL -uniform float opacity; -#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) - varying vec3 vViewPosition; -#endif -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); - #include - #include - #include - #include - gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a ); - #ifdef OPAQUE - gl_FragColor.a = 1.0; - #endif -}`,xv=`#define PHONG -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include - #include -}`,yv=`#define PHONG -uniform vec3 diffuse; -uniform vec3 emissive; -uniform vec3 specular; -uniform float shininess; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; - #include - #include - #include - #include - #include - #include - #include -}`,Mv=`#define STANDARD -varying vec3 vViewPosition; -#ifdef USE_TRANSMISSION - varying vec3 vWorldPosition; -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include -#ifdef USE_TRANSMISSION - vWorldPosition = worldPosition.xyz; -#endif -}`,bv=`#define STANDARD -#ifdef PHYSICAL - #define IOR - #define USE_SPECULAR -#endif -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float roughness; -uniform float metalness; -uniform float opacity; -#ifdef IOR - uniform float ior; -#endif -#ifdef USE_SPECULAR - uniform float specularIntensity; - uniform vec3 specularColor; - #ifdef USE_SPECULAR_COLORMAP - uniform sampler2D specularColorMap; - #endif - #ifdef USE_SPECULAR_INTENSITYMAP - uniform sampler2D specularIntensityMap; - #endif -#endif -#ifdef USE_CLEARCOAT - uniform float clearcoat; - uniform float clearcoatRoughness; -#endif -#ifdef USE_DISPERSION - uniform float dispersion; -#endif -#ifdef USE_IRIDESCENCE - uniform float iridescence; - uniform float iridescenceIOR; - uniform float iridescenceThicknessMinimum; - uniform float iridescenceThicknessMaximum; -#endif -#ifdef USE_SHEEN - uniform vec3 sheenColor; - uniform float sheenRoughness; - #ifdef USE_SHEEN_COLORMAP - uniform sampler2D sheenColorMap; - #endif - #ifdef USE_SHEEN_ROUGHNESSMAP - uniform sampler2D sheenRoughnessMap; - #endif -#endif -#ifdef USE_ANISOTROPY - uniform vec2 anisotropyVector; - #ifdef USE_ANISOTROPYMAP - uniform sampler2D anisotropyMap; - #endif -#endif -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; - vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; - #include - vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; - #ifdef USE_SHEEN - float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); - outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; - #endif - #ifdef USE_CLEARCOAT - float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); - vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); - outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; - #endif - #include - #include - #include - #include - #include - #include -}`,Sv=`#define TOON -varying vec3 vViewPosition; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vViewPosition = - mvPosition.xyz; - #include - #include - #include -}`,wv=`#define TOON -uniform vec3 diffuse; -uniform vec3 emissive; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); - vec3 totalEmissiveRadiance = emissive; - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; - #include - #include - #include - #include - #include - #include -}`,Ev=`uniform float size; -uniform float scale; -#include -#include -#include -#include -#include -#include -#ifdef USE_POINTS_UV - varying vec2 vUv; - uniform mat3 uvTransform; -#endif -void main() { - #ifdef USE_POINTS_UV - vUv = ( uvTransform * vec3( uv, 1 ) ).xy; - #endif - #include - #include - #include - #include - #include - #include - gl_PointSize = size; - #ifdef USE_SIZEATTENUATION - bool isPerspective = isPerspectiveMatrix( projectionMatrix ); - if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); - #endif - #include - #include - #include - #include -}`,Tv=`uniform vec3 diffuse; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - vec3 outgoingLight = vec3( 0.0 ); - #include - #include - #include - #include - #include - outgoingLight = diffuseColor.rgb; - #include - #include - #include - #include - #include -}`,Av=`#include -#include -#include -#include -#include -#include -#include -void main() { - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -}`,Cv=`uniform vec3 color; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - #include - gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); - #include - #include - #include -}`,Rv=`uniform float rotation; -uniform vec2 center; -#include -#include -#include -#include -#include -void main() { - #include - vec4 mvPosition = modelViewMatrix[ 3 ]; - vec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) ); - #ifndef USE_SIZEATTENUATION - bool isPerspective = isPerspectiveMatrix( projectionMatrix ); - if ( isPerspective ) scale *= - mvPosition.z; - #endif - vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; - vec2 rotatedPosition; - rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; - rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; - mvPosition.xy += rotatedPosition; - gl_Position = projectionMatrix * mvPosition; - #include - #include - #include -}`,Iv=`uniform vec3 diffuse; -uniform float opacity; -#include -#include -#include -#include -#include -#include -#include -#include -#include -void main() { - vec4 diffuseColor = vec4( diffuse, opacity ); - #include - vec3 outgoingLight = vec3( 0.0 ); - #include - #include - #include - #include - #include - outgoingLight = diffuseColor.rgb; - #include - #include - #include - #include -}`,st={alphahash_fragment:jg,alphahash_pars_fragment:Qg,alphamap_fragment:e0,alphamap_pars_fragment:t0,alphatest_fragment:n0,alphatest_pars_fragment:i0,aomap_fragment:s0,aomap_pars_fragment:r0,batching_pars_vertex:a0,batching_vertex:o0,begin_vertex:l0,beginnormal_vertex:c0,bsdfs:h0,iridescence_fragment:u0,bumpmap_pars_fragment:d0,clipping_planes_fragment:f0,clipping_planes_pars_fragment:p0,clipping_planes_pars_vertex:m0,clipping_planes_vertex:g0,color_fragment:_0,color_pars_fragment:v0,color_pars_vertex:x0,color_vertex:y0,common:M0,cube_uv_reflection_fragment:b0,defaultnormal_vertex:S0,displacementmap_pars_vertex:w0,displacementmap_vertex:E0,emissivemap_fragment:T0,emissivemap_pars_fragment:A0,colorspace_fragment:C0,colorspace_pars_fragment:R0,envmap_fragment:I0,envmap_common_pars_fragment:P0,envmap_pars_fragment:D0,envmap_pars_vertex:L0,envmap_physical_pars_fragment:W0,envmap_vertex:U0,fog_vertex:N0,fog_pars_vertex:F0,fog_fragment:O0,fog_pars_fragment:B0,gradientmap_pars_fragment:z0,lightmap_pars_fragment:k0,lights_lambert_fragment:V0,lights_lambert_pars_fragment:H0,lights_pars_begin:G0,lights_toon_fragment:X0,lights_toon_pars_fragment:q0,lights_phong_fragment:Y0,lights_phong_pars_fragment:Z0,lights_physical_fragment:J0,lights_physical_pars_fragment:K0,lights_fragment_begin:$0,lights_fragment_maps:j0,lights_fragment_end:Q0,logdepthbuf_fragment:e_,logdepthbuf_pars_fragment:t_,logdepthbuf_pars_vertex:n_,logdepthbuf_vertex:i_,map_fragment:s_,map_pars_fragment:r_,map_particle_fragment:a_,map_particle_pars_fragment:o_,metalnessmap_fragment:l_,metalnessmap_pars_fragment:c_,morphinstance_vertex:h_,morphcolor_vertex:u_,morphnormal_vertex:d_,morphtarget_pars_vertex:f_,morphtarget_vertex:p_,normal_fragment_begin:m_,normal_fragment_maps:g_,normal_pars_fragment:__,normal_pars_vertex:v_,normal_vertex:x_,normalmap_pars_fragment:y_,clearcoat_normal_fragment_begin:M_,clearcoat_normal_fragment_maps:b_,clearcoat_pars_fragment:S_,iridescence_pars_fragment:w_,opaque_fragment:E_,packing:T_,premultiplied_alpha_fragment:A_,project_vertex:C_,dithering_fragment:R_,dithering_pars_fragment:I_,roughnessmap_fragment:P_,roughnessmap_pars_fragment:D_,shadowmap_pars_fragment:L_,shadowmap_pars_vertex:U_,shadowmap_vertex:N_,shadowmask_pars_fragment:F_,skinbase_vertex:O_,skinning_pars_vertex:B_,skinning_vertex:z_,skinnormal_vertex:k_,specularmap_fragment:V_,specularmap_pars_fragment:H_,tonemapping_fragment:G_,tonemapping_pars_fragment:W_,transmission_fragment:X_,transmission_pars_fragment:q_,uv_pars_fragment:Y_,uv_pars_vertex:Z_,uv_vertex:J_,worldpos_vertex:K_,background_vert:$_,background_frag:j_,backgroundCube_vert:Q_,backgroundCube_frag:ev,cube_vert:tv,cube_frag:nv,depth_vert:iv,depth_frag:sv,distanceRGBA_vert:rv,distanceRGBA_frag:av,equirect_vert:ov,equirect_frag:lv,linedashed_vert:cv,linedashed_frag:hv,meshbasic_vert:uv,meshbasic_frag:dv,meshlambert_vert:fv,meshlambert_frag:pv,meshmatcap_vert:mv,meshmatcap_frag:gv,meshnormal_vert:_v,meshnormal_frag:vv,meshphong_vert:xv,meshphong_frag:yv,meshphysical_vert:Mv,meshphysical_frag:bv,meshtoon_vert:Sv,meshtoon_frag:wv,points_vert:Ev,points_frag:Tv,shadow_vert:Av,shadow_frag:Cv,sprite_vert:Rv,sprite_frag:Iv},Te={common:{diffuse:{value:new ne(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new tt},alphaMap:{value:null},alphaMapTransform:{value:new tt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new tt}},envmap:{envMap:{value:null},envMapRotation:{value:new tt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new tt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new tt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new tt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new tt},normalScale:{value:new j(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new tt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new tt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new tt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new tt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new ne(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new ne(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new tt},alphaTest:{value:0},uvTransform:{value:new tt}},sprite:{diffuse:{value:new ne(16777215)},opacity:{value:1},center:{value:new j(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new tt},alphaMap:{value:null},alphaMapTransform:{value:new tt},alphaTest:{value:0}}},On={basic:{uniforms:nn([Te.common,Te.specularmap,Te.envmap,Te.aomap,Te.lightmap,Te.fog]),vertexShader:st.meshbasic_vert,fragmentShader:st.meshbasic_frag},lambert:{uniforms:nn([Te.common,Te.specularmap,Te.envmap,Te.aomap,Te.lightmap,Te.emissivemap,Te.bumpmap,Te.normalmap,Te.displacementmap,Te.fog,Te.lights,{emissive:{value:new ne(0)}}]),vertexShader:st.meshlambert_vert,fragmentShader:st.meshlambert_frag},phong:{uniforms:nn([Te.common,Te.specularmap,Te.envmap,Te.aomap,Te.lightmap,Te.emissivemap,Te.bumpmap,Te.normalmap,Te.displacementmap,Te.fog,Te.lights,{emissive:{value:new ne(0)},specular:{value:new ne(1118481)},shininess:{value:30}}]),vertexShader:st.meshphong_vert,fragmentShader:st.meshphong_frag},standard:{uniforms:nn([Te.common,Te.envmap,Te.aomap,Te.lightmap,Te.emissivemap,Te.bumpmap,Te.normalmap,Te.displacementmap,Te.roughnessmap,Te.metalnessmap,Te.fog,Te.lights,{emissive:{value:new ne(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:st.meshphysical_vert,fragmentShader:st.meshphysical_frag},toon:{uniforms:nn([Te.common,Te.aomap,Te.lightmap,Te.emissivemap,Te.bumpmap,Te.normalmap,Te.displacementmap,Te.gradientmap,Te.fog,Te.lights,{emissive:{value:new ne(0)}}]),vertexShader:st.meshtoon_vert,fragmentShader:st.meshtoon_frag},matcap:{uniforms:nn([Te.common,Te.bumpmap,Te.normalmap,Te.displacementmap,Te.fog,{matcap:{value:null}}]),vertexShader:st.meshmatcap_vert,fragmentShader:st.meshmatcap_frag},points:{uniforms:nn([Te.points,Te.fog]),vertexShader:st.points_vert,fragmentShader:st.points_frag},dashed:{uniforms:nn([Te.common,Te.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:st.linedashed_vert,fragmentShader:st.linedashed_frag},depth:{uniforms:nn([Te.common,Te.displacementmap]),vertexShader:st.depth_vert,fragmentShader:st.depth_frag},normal:{uniforms:nn([Te.common,Te.bumpmap,Te.normalmap,Te.displacementmap,{opacity:{value:1}}]),vertexShader:st.meshnormal_vert,fragmentShader:st.meshnormal_frag},sprite:{uniforms:nn([Te.sprite,Te.fog]),vertexShader:st.sprite_vert,fragmentShader:st.sprite_frag},background:{uniforms:{uvTransform:{value:new tt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:st.background_vert,fragmentShader:st.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new tt}},vertexShader:st.backgroundCube_vert,fragmentShader:st.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:st.cube_vert,fragmentShader:st.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:st.equirect_vert,fragmentShader:st.equirect_frag},distanceRGBA:{uniforms:nn([Te.common,Te.displacementmap,{referencePosition:{value:new A},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:st.distanceRGBA_vert,fragmentShader:st.distanceRGBA_frag},shadow:{uniforms:nn([Te.lights,Te.fog,{color:{value:new ne(0)},opacity:{value:1}}]),vertexShader:st.shadow_vert,fragmentShader:st.shadow_frag}};On.physical={uniforms:nn([On.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new tt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new tt},clearcoatNormalScale:{value:new j(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new tt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new tt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new tt},sheen:{value:0},sheenColor:{value:new ne(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new tt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new tt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new tt},transmissionSamplerSize:{value:new j},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new tt},attenuationDistance:{value:0},attenuationColor:{value:new ne(0)},specularColor:{value:new ne(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new tt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new tt},anisotropyVector:{value:new j},anisotropyMap:{value:null},anisotropyMapTransform:{value:new tt}}]),vertexShader:st.meshphysical_vert,fragmentShader:st.meshphysical_frag};const Ba={r:0,b:0,g:0},Yi=new In,Pv=new Ze;function Dv(r,e,t,n,i,s,a){const o=new ne(0);let l=s===!0?0:1,c,h,u=null,f=0,d=null;function p(v){let x=v.isScene===!0?v.background:null;return x&&x.isTexture&&(x=(v.backgroundBlurriness>0?t:e).get(x)),x}function _(v){let x=!1;const w=p(v);w===null?m(o,l):w&&w.isColor&&(m(w,1),x=!0);const T=r.xr.getEnvironmentBlendMode();T==="additive"?n.buffers.color.setClear(0,0,0,1,a):T==="alpha-blend"&&n.buffers.color.setClear(0,0,0,0,a),(r.autoClear||x)&&(n.buffers.depth.setTest(!0),n.buffers.depth.setMask(!0),n.buffers.color.setMask(!0),r.clear(r.autoClearColor,r.autoClearDepth,r.autoClearStencil))}function g(v,x){const w=p(x);w&&(w.isCubeTexture||w.mapping===qr)?(h===void 0&&(h=new yt(new or(1,1,1),new Xt({name:"BackgroundCubeMaterial",uniforms:tr(On.backgroundCube.uniforms),vertexShader:On.backgroundCube.vertexShader,fragmentShader:On.backgroundCube.fragmentShader,side:fn,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(T,C,P){this.matrixWorld.copyPosition(P.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(h)),Yi.copy(x.backgroundRotation),Yi.x*=-1,Yi.y*=-1,Yi.z*=-1,w.isCubeTexture&&w.isRenderTargetTexture===!1&&(Yi.y*=-1,Yi.z*=-1),h.material.uniforms.envMap.value=w,h.material.uniforms.flipEnvMap.value=w.isCubeTexture&&w.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=x.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=x.backgroundIntensity,h.material.uniforms.backgroundRotation.value.setFromMatrix4(Pv.makeRotationFromEuler(Yi)),h.material.toneMapped=ht.getTransfer(w.colorSpace)!==vt,(u!==w||f!==w.version||d!==r.toneMapping)&&(h.material.needsUpdate=!0,u=w,f=w.version,d=r.toneMapping),h.layers.enableAll(),v.unshift(h,h.geometry,h.material,0,0,null)):w&&w.isTexture&&(c===void 0&&(c=new yt(new lr(2,2),new Xt({name:"BackgroundMaterial",uniforms:tr(On.background.uniforms),vertexShader:On.background.vertexShader,fragmentShader:On.background.fragmentShader,side:Ci,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(c)),c.material.uniforms.t2D.value=w,c.material.uniforms.backgroundIntensity.value=x.backgroundIntensity,c.material.toneMapped=ht.getTransfer(w.colorSpace)!==vt,w.matrixAutoUpdate===!0&&w.updateMatrix(),c.material.uniforms.uvTransform.value.copy(w.matrix),(u!==w||f!==w.version||d!==r.toneMapping)&&(c.material.needsUpdate=!0,u=w,f=w.version,d=r.toneMapping),c.layers.enableAll(),v.unshift(c,c.geometry,c.material,0,0,null))}function m(v,x){v.getRGB(Ba,Ad(r)),n.buffers.color.setClear(Ba.r,Ba.g,Ba.b,x,a)}function y(){h!==void 0&&(h.geometry.dispose(),h.material.dispose()),c!==void 0&&(c.geometry.dispose(),c.material.dispose())}return{getClearColor:function(){return o},setClearColor:function(v,x=1){o.set(v),l=x,m(o,l)},getClearAlpha:function(){return l},setClearAlpha:function(v){l=v,m(o,l)},render:_,addToRenderList:g,dispose:y}}function Lv(r,e){const t=r.getParameter(r.MAX_VERTEX_ATTRIBS),n={},i=f(null);let s=i,a=!1;function o(M,D,G,F,V){let J=!1;const q=u(F,G,D);s!==q&&(s=q,c(s.object)),J=d(M,F,G,V),J&&p(M,F,G,V),V!==null&&e.update(V,r.ELEMENT_ARRAY_BUFFER),(J||a)&&(a=!1,x(M,D,G,F),V!==null&&r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e.get(V).buffer))}function l(){return r.createVertexArray()}function c(M){return r.bindVertexArray(M)}function h(M){return r.deleteVertexArray(M)}function u(M,D,G){const F=G.wireframe===!0;let V=n[M.id];V===void 0&&(V={},n[M.id]=V);let J=V[D.id];J===void 0&&(J={},V[D.id]=J);let q=J[F];return q===void 0&&(q=f(l()),J[F]=q),q}function f(M){const D=[],G=[],F=[];for(let V=0;V=0){const be=V[Z];let Re=J[Z];if(Re===void 0&&(Z==="instanceMatrix"&&M.instanceMatrix&&(Re=M.instanceMatrix),Z==="instanceColor"&&M.instanceColor&&(Re=M.instanceColor)),be===void 0||be.attribute!==Re||Re&&be.data!==Re.data)return!0;q++}return s.attributesNum!==q||s.index!==F}function p(M,D,G,F){const V={},J=D.attributes;let q=0;const se=G.getAttributes();for(const Z in se)if(se[Z].location>=0){let be=J[Z];be===void 0&&(Z==="instanceMatrix"&&M.instanceMatrix&&(be=M.instanceMatrix),Z==="instanceColor"&&M.instanceColor&&(be=M.instanceColor));const Re={};Re.attribute=be,be&&be.data&&(Re.data=be.data),V[Z]=Re,q++}s.attributes=V,s.attributesNum=q,s.index=F}function _(){const M=s.newAttributes;for(let D=0,G=M.length;D=0){let _e=V[se];if(_e===void 0&&(se==="instanceMatrix"&&M.instanceMatrix&&(_e=M.instanceMatrix),se==="instanceColor"&&M.instanceColor&&(_e=M.instanceColor)),_e!==void 0){const be=_e.normalized,Re=_e.itemSize,Ge=e.get(_e);if(Ge===void 0)continue;const it=Ge.buffer,Q=Ge.type,ue=Ge.bytesPerElement,Ie=Q===r.INT||Q===r.UNSIGNED_INT||_e.gpuType===Pc;if(_e.isInterleavedBufferAttribute){const pe=_e.data,Oe=pe.stride,We=_e.offset;if(pe.isInstancedInterleavedBuffer){for(let ze=0;ze0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision>0)return"highp";C="mediump"}return C==="mediump"&&r.getShaderPrecisionFormat(r.VERTEX_SHADER,r.MEDIUM_FLOAT).precision>0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let c=t.precision!==void 0?t.precision:"highp";const h=l(c);h!==c&&(console.warn("THREE.WebGLRenderer:",c,"not supported, using",h,"instead."),c=h);const u=t.logarithmicDepthBuffer===!0,f=t.reverseDepthBuffer===!0&&e.has("EXT_clip_control"),d=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),p=r.getParameter(r.MAX_VERTEX_TEXTURE_IMAGE_UNITS),_=r.getParameter(r.MAX_TEXTURE_SIZE),g=r.getParameter(r.MAX_CUBE_MAP_TEXTURE_SIZE),m=r.getParameter(r.MAX_VERTEX_ATTRIBS),y=r.getParameter(r.MAX_VERTEX_UNIFORM_VECTORS),v=r.getParameter(r.MAX_VARYING_VECTORS),x=r.getParameter(r.MAX_FRAGMENT_UNIFORM_VECTORS),w=p>0,T=r.getParameter(r.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:a,textureTypeReadable:o,precision:c,logarithmicDepthBuffer:u,reverseDepthBuffer:f,maxTextures:d,maxVertexTextures:p,maxTextureSize:_,maxCubemapSize:g,maxAttributes:m,maxVertexUniforms:y,maxVaryings:v,maxFragmentUniforms:x,vertexTextures:w,maxSamples:T}}function Fv(r){const e=this;let t=null,n=0,i=!1,s=!1;const a=new Si,o=new tt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(u,f){const d=u.length!==0||f||n!==0||i;return i=f,n=u.length,d},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(u,f){t=h(u,f,0)},this.setState=function(u,f,d){const p=u.clippingPlanes,_=u.clipIntersection,g=u.clipShadows,m=r.get(u);if(!i||p===null||p.length===0||s&&!g)s?h(null):c();else{const y=s?0:n,v=y*4;let x=m.clippingState||null;l.value=x,x=h(p,f,v,d);for(let w=0;w!==v;++w)x[w]=t[w];m.clippingState=x,this.numIntersection=_?this.numPlanes:0,this.numPlanes+=y}};function c(){l.value!==t&&(l.value=t,l.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function h(u,f,d,p){const _=u!==null?u.length:0;let g=null;if(_!==0){if(g=l.value,p!==!0||g===null){const m=d+_*4,y=f.matrixWorldInverse;o.getNormalMatrix(y),(g===null||g.length0){const c=new tm(l.height);return c.fromEquirectangularTexture(r,a),e.set(a,c),a.addEventListener("dispose",i),t(c.texture,a.mapping)}else return null}}return a}function i(a){const o=a.target;o.removeEventListener("dispose",i);const l=e.get(o);l!==void 0&&(e.delete(o),l.dispose())}function s(){e=new WeakMap}return{get:n,dispose:s}}const Gs=4,Pu=[.125,.215,.35,.446,.526,.582],es=20,vl=new Lo,Du=new ne;let xl=null,yl=0,Ml=0,bl=!1;const $i=(1+Math.sqrt(5))/2,Us=1/$i,Lu=[new A(-$i,Us,0),new A($i,Us,0),new A(-Us,0,$i),new A(Us,0,$i),new A(0,$i,-Us),new A(0,$i,Us),new A(-1,1,-1),new A(1,1,-1),new A(-1,1,1),new A(1,1,1)];class Uu{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,i=100){xl=this._renderer.getRenderTarget(),yl=this._renderer.getActiveCubeFace(),Ml=this._renderer.getActiveMipmapLevel(),bl=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,n,i,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=Ou(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=Fu(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?v:0,v,v),h.setRenderTarget(i),_&&h.render(p,o),h.render(e,o)}p.geometry.dispose(),p.material.dispose(),h.toneMapping=f,h.autoClear=u,e.background=g}_textureToCubeUV(e,t){const n=this._renderer,i=e.mapping===Ri||e.mapping===os;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=Ou()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=Fu());const s=i?this._cubemapMaterial:this._equirectMaterial,a=new yt(this._lodPlanes[0],s),o=s.uniforms;o.envMap.value=e;const l=this._cubeSize;za(t,0,0,3*l,2*l),n.setRenderTarget(t),n.render(a,vl)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;const i=this._lodPlanes.length;for(let s=1;ses&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${g} samples when the maximum is set to ${es}`);const m=[];let y=0;for(let C=0;Cv-Gs?i-v+Gs:0),T=4*(this._cubeSize-x);za(t,w,T,3*x,2*x),l.setRenderTarget(t),l.render(u,vl)}}function Bv(r){const e=[],t=[],n=[];let i=r;const s=r-Gs+1+Pu.length;for(let a=0;ar-Gs?l=Pu[a-r+Gs-1]:a===0&&(l=0),n.push(l);const c=1/(o-2),h=-c,u=1+c,f=[h,h,u,h,u,u,h,h,u,u,h,u],d=6,p=6,_=3,g=2,m=1,y=new Float32Array(_*p*d),v=new Float32Array(g*p*d),x=new Float32Array(m*p*d);for(let T=0;T2?0:-1,S=[C,P,0,C+2/3,P,0,C+2/3,P+1,0,C,P,0,C+2/3,P+1,0,C,P+1,0];y.set(S,_*p*T),v.set(f,g*p*T);const M=[T,T,T,T,T,T];x.set(M,m*p*T)}const w=new qe;w.setAttribute("position",new rt(y,_)),w.setAttribute("uv",new rt(v,g)),w.setAttribute("faceIndex",new rt(x,m)),e.push(w),i>Gs&&i--}return{lodPlanes:e,sizeLods:t,sigmas:n}}function Nu(r,e,t){const n=new Sn(r,e,t);return n.texture.mapping=qr,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function za(r,e,t,n,i){r.viewport.set(e,t,n,i),r.scissor.set(e,t,n,i)}function zv(r,e,t){const n=new Float32Array(es),i=new A(0,1,0);return new Xt({name:"SphericalGaussianBlur",defines:{n:es,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${r}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:dh(),fragmentShader:` - - precision mediump float; - precision mediump int; - - varying vec3 vOutputDirection; - - uniform sampler2D envMap; - uniform int samples; - uniform float weights[ n ]; - uniform bool latitudinal; - uniform float dTheta; - uniform float mipInt; - uniform vec3 poleAxis; - - #define ENVMAP_TYPE_CUBE_UV - #include - - vec3 getSample( float theta, vec3 axis ) { - - float cosTheta = cos( theta ); - // Rodrigues' axis-angle rotation - vec3 sampleDirection = vOutputDirection * cosTheta - + cross( axis, vOutputDirection ) * sin( theta ) - + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); - - return bilinearCubeUV( envMap, sampleDirection, mipInt ); - - } - - void main() { - - vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); - - if ( all( equal( axis, vec3( 0.0 ) ) ) ) { - - axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); - - } - - axis = normalize( axis ); - - gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); - gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); - - for ( int i = 1; i < n; i++ ) { - - if ( i >= samples ) { - - break; - - } - - float theta = dTheta * float( i ); - gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); - gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); - - } - - } - `,blending:ii,depthTest:!1,depthWrite:!1})}function Fu(){return new Xt({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:dh(),fragmentShader:` - - precision mediump float; - precision mediump int; - - varying vec3 vOutputDirection; - - uniform sampler2D envMap; - - #include - - void main() { - - vec3 outputDirection = normalize( vOutputDirection ); - vec2 uv = equirectUv( outputDirection ); - - gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); - - } - `,blending:ii,depthTest:!1,depthWrite:!1})}function Ou(){return new Xt({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:dh(),fragmentShader:` - - precision mediump float; - precision mediump int; - - uniform float flipEnvMap; - - varying vec3 vOutputDirection; - - uniform samplerCube envMap; - - void main() { - - gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); - - } - `,blending:ii,depthTest:!1,depthWrite:!1})}function dh(){return` - - precision mediump float; - precision mediump int; - - attribute float faceIndex; - - varying vec3 vOutputDirection; - - // RH coordinate system; PMREM face-indexing convention - vec3 getDirection( vec2 uv, float face ) { - - uv = 2.0 * uv - 1.0; - - vec3 direction = vec3( uv, 1.0 ); - - if ( face == 0.0 ) { - - direction = direction.zyx; // ( 1, v, u ) pos x - - } else if ( face == 1.0 ) { - - direction = direction.xzy; - direction.xz *= -1.0; // ( -u, 1, -v ) pos y - - } else if ( face == 2.0 ) { - - direction.x *= -1.0; // ( -u, v, 1 ) pos z - - } else if ( face == 3.0 ) { - - direction = direction.zyx; - direction.xz *= -1.0; // ( -1, v, -u ) neg x - - } else if ( face == 4.0 ) { - - direction = direction.xzy; - direction.xy *= -1.0; // ( -u, -1, v ) neg y - - } else if ( face == 5.0 ) { - - direction.z *= -1.0; // ( u, v, -1 ) neg z - - } - - return direction; - - } - - void main() { - - vOutputDirection = getDirection( uv, faceIndex ); - gl_Position = vec4( position, 1.0 ); - - } - `}function kv(r){let e=new WeakMap,t=null;function n(o){if(o&&o.isTexture){const l=o.mapping,c=l===io||l===so,h=l===Ri||l===os;if(c||h){let u=e.get(o);const f=u!==void 0?u.texture.pmremVersion:0;if(o.isRenderTargetTexture&&o.pmremVersion!==f)return t===null&&(t=new Uu(r)),u=c?t.fromEquirectangular(o,u):t.fromCubemap(o,u),u.texture.pmremVersion=o.pmremVersion,e.set(o,u),u.texture;if(u!==void 0)return u.texture;{const d=o.image;return c&&d&&d.height>0||h&&d&&i(d)?(t===null&&(t=new Uu(r)),u=c?t.fromEquirectangular(o):t.fromCubemap(o),u.texture.pmremVersion=o.pmremVersion,e.set(o,u),o.addEventListener("dispose",s),u.texture):null}}}return o}function i(o){let l=0;const c=6;for(let h=0;he.maxTextureSize&&(w=Math.ceil(x/e.maxTextureSize),x=e.maxTextureSize);const T=new Float32Array(x*w*4*u),C=new wo(T,x,w,u);C.type=Mn,C.needsUpdate=!0;const P=v*4;for(let M=0;M0)return r;const i=e*t;let s=zu[i];if(s===void 0&&(s=new Float32Array(i),zu[i]=s),e!==0){n.toArray(s,0);for(let a=1,o=0;a!==e;++a)o+=t,r[a].toArray(s,o)}return s}function Ot(r,e){if(r.length!==e.length)return!1;for(let t=0,n=r.length;t":" "} ${o}: ${t[a]}`)}return n.join(` -`)}const qu=new tt;function kx(r){ht._getMatrix(qu,ht.workingColorSpace,r);const e=`mat3( ${qu.elements.map(t=>t.toFixed(4))} )`;switch(ht.getTransfer(r)){case co:return[e,"LinearTransferOETF"];case vt:return[e,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space: ",r),[e,"LinearTransferOETF"]}}function Yu(r,e,t){const n=r.getShaderParameter(e,r.COMPILE_STATUS),i=r.getShaderInfoLog(e).trim();if(n&&i==="")return"";const s=/ERROR: 0:(\d+)/.exec(i);if(s){const a=parseInt(s[1]);return t.toUpperCase()+` - -`+i+` - -`+zx(r.getShaderSource(e),a)}else return i}function Vx(r,e){const t=kx(e);return[`vec4 ${r}( vec4 value ) {`,` return ${t[1]}( vec4( value.rgb * ${t[0]}, value.a ) );`,"}"].join(` -`)}function Hx(r,e){let t;switch(e){case Jf:t="Linear";break;case Kf:t="Reinhard";break;case $f:t="Cineon";break;case cd:t="ACESFilmic";break;case Qf:t="AgX";break;case ep:t="Neutral";break;case jf:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+r+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}const ka=new A;function Gx(){ht.getLuminanceCoefficients(ka);const r=ka.x.toFixed(4),e=ka.y.toFixed(4),t=ka.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",` const vec3 weights = vec3( ${r}, ${e}, ${t} );`," return dot( weights, rgb );","}"].join(` -`)}function Wx(r){return[r.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",r.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Ir).join(` -`)}function Xx(r){const e=[];for(const t in r){const n=r[t];n!==!1&&e.push("#define "+t+" "+n)}return e.join(` -`)}function qx(r,e){const t={},n=r.getProgramParameter(e,r.ACTIVE_ATTRIBUTES);for(let i=0;i/gm;function Mc(r){return r.replace(Yx,Jx)}const Zx=new Map;function Jx(r,e){let t=st[e];if(t===void 0){const n=Zx.get(e);if(n!==void 0)t=st[n],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,n);else throw new Error("Can not resolve #include <"+e+">")}return Mc(t)}const Kx=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function Ku(r){return r.replace(Kx,$x)}function $x(r,e,t,n){let i="";for(let s=parseInt(e);s0&&(g+=` -`),m=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,p].filter(Ir).join(` -`),m.length>0&&(m+=` -`)):(g=[$u(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,p,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.batchingColor?"#define USE_BATCHING_COLOR":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.instancingMorph?"#define USE_INSTANCING_MORPH":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+h:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH"," uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` -`].filter(Ir).join(` -`),m=[$u(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,p,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+c:"",t.envMap?"#define "+h:"",t.envMap?"#define "+u:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.dispersion?"#define USE_DISPERSION":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor||t.batchingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Ti?"#define TONE_MAPPING":"",t.toneMapping!==Ti?st.tonemapping_pars_fragment:"",t.toneMapping!==Ti?Hx("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",st.colorspace_pars_fragment,Vx("linearToOutputTexel",t.outputColorSpace),Gx(),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` -`].filter(Ir).join(` -`)),a=Mc(a),a=Zu(a,t),a=Ju(a,t),o=Mc(o),o=Zu(o,t),o=Ju(o,t),a=Ku(a),o=Ku(o),t.isRawShaderMaterial!==!0&&(y=`#version 300 es -`,g=[d,"#define attribute in","#define varying out","#define texture2D texture"].join(` -`)+` -`+g,m=["#define varying in",t.glslVersion===Mh?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===Mh?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` -`)+` -`+m);const v=y+g+a,x=y+m+o,w=Xu(i,i.VERTEX_SHADER,v),T=Xu(i,i.FRAGMENT_SHADER,x);i.attachShader(_,w),i.attachShader(_,T),t.index0AttributeName!==void 0?i.bindAttribLocation(_,0,t.index0AttributeName):t.morphTargets===!0&&i.bindAttribLocation(_,0,"position"),i.linkProgram(_);function C(D){if(r.debug.checkShaderErrors){const G=i.getProgramInfoLog(_).trim(),F=i.getShaderInfoLog(w).trim(),V=i.getShaderInfoLog(T).trim();let J=!0,q=!0;if(i.getProgramParameter(_,i.LINK_STATUS)===!1)if(J=!1,typeof r.debug.onShaderError=="function")r.debug.onShaderError(i,_,w,T);else{const se=Yu(i,w,"vertex"),Z=Yu(i,T,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(_,i.VALIDATE_STATUS)+` - -Material Name: `+D.name+` -Material Type: `+D.type+` - -Program Info Log: `+G+` -`+se+` -`+Z)}else G!==""?console.warn("THREE.WebGLProgram: Program Info Log:",G):(F===""||V==="")&&(q=!1);q&&(D.diagnostics={runnable:J,programLog:G,vertexShader:{log:F,prefix:g},fragmentShader:{log:V,prefix:m}})}i.deleteShader(w),i.deleteShader(T),P=new $a(i,_),S=qx(i,_)}let P;this.getUniforms=function(){return P===void 0&&C(this),P};let S;this.getAttributes=function(){return S===void 0&&C(this),S};let M=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return M===!1&&(M=i.getProgramParameter(_,Ox)),M},this.destroy=function(){n.releaseStatesOfProgram(this),i.deleteProgram(_),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=Bx++,this.cacheKey=e,this.usedTimes=1,this.program=_,this.vertexShader=w,this.fragmentShader=T,this}let sy=0;class ry{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,i=this._getShaderStage(t),s=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return a.has(i)===!1&&(a.add(i),i.usedTimes++),a.has(s)===!1&&(a.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){const t=this.shaderCache;let n=t.get(e);return n===void 0&&(n=new ay(e),t.set(e,n)),n}}class ay{constructor(e){this.id=sy++,this.code=e,this.usedTimes=0}}function oy(r,e,t,n,i,s,a){const o=new Vc,l=new ry,c=new Set,h=[],u=i.logarithmicDepthBuffer,f=i.vertexTextures;let d=i.precision;const p={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function _(S){return c.add(S),S===0?"uv":`uv${S}`}function g(S,M,D,G,F){const V=G.fog,J=F.geometry,q=S.isMeshStandardMaterial?G.environment:null,se=(S.isMeshStandardMaterial?t:e).get(S.envMap||q),Z=se&&se.mapping===qr?se.image.height:null,_e=p[S.type];S.precision!==null&&(d=i.getMaxPrecision(S.precision),d!==S.precision&&console.warn("THREE.WebGLProgram.getParameters:",S.precision,"not supported, using",d,"instead."));const be=J.morphAttributes.position||J.morphAttributes.normal||J.morphAttributes.color,Re=be!==void 0?be.length:0;let Ge=0;J.morphAttributes.position!==void 0&&(Ge=1),J.morphAttributes.normal!==void 0&&(Ge=2),J.morphAttributes.color!==void 0&&(Ge=3);let it,Q,ue,Ie;if(_e){const at=On[_e];it=at.vertexShader,Q=at.fragmentShader}else it=S.vertexShader,Q=S.fragmentShader,l.update(S),ue=l.getVertexShaderID(S),Ie=l.getFragmentShaderID(S);const pe=r.getRenderTarget(),Oe=r.state.buffers.depth.getReversed(),We=F.isInstancedMesh===!0,ze=F.isBatchedMesh===!0,Je=!!S.map,te=!!S.matcap,de=!!se,I=!!S.aoMap,De=!!S.lightMap,re=!!S.bumpMap,Ae=!!S.normalMap,me=!!S.displacementMap,Ve=!!S.emissiveMap,Se=!!S.metalnessMap,R=!!S.roughnessMap,b=S.anisotropy>0,H=S.clearcoat>0,k=S.dispersion>0,X=S.iridescence>0,W=S.sheen>0,ce=S.transmission>0,oe=b&&!!S.anisotropyMap,ge=H&&!!S.clearcoatMap,Be=H&&!!S.clearcoatNormalMap,$=H&&!!S.clearcoatRoughnessMap,ve=X&&!!S.iridescenceMap,Y=X&&!!S.iridescenceThicknessMap,ie=W&&!!S.sheenColorMap,ae=W&&!!S.sheenRoughnessMap,Ne=!!S.specularMap,Pe=!!S.specularColorMap,Ke=!!S.specularIntensityMap,U=ce&&!!S.transmissionMap,ye=ce&&!!S.thicknessMap,K=!!S.gradientMap,ee=!!S.alphaMap,we=S.alphaTest>0,Me=!!S.alphaHash,Ye=!!S.extensions;let Mt=Ti;S.toneMapped&&(pe===null||pe.isXRRenderTarget===!0)&&(Mt=r.toneMapping);const St={shaderID:_e,shaderType:S.type,shaderName:S.name,vertexShader:it,fragmentShader:Q,defines:S.defines,customVertexShaderID:ue,customFragmentShaderID:Ie,isRawShaderMaterial:S.isRawShaderMaterial===!0,glslVersion:S.glslVersion,precision:d,batching:ze,batchingColor:ze&&F._colorsTexture!==null,instancing:We,instancingColor:We&&F.instanceColor!==null,instancingMorph:We&&F.morphTexture!==null,supportsVertexTextures:f,outputColorSpace:pe===null?r.outputColorSpace:pe.isXRRenderTarget===!0?pe.texture.colorSpace:Qs,alphaToCoverage:!!S.alphaToCoverage,map:Je,matcap:te,envMap:de,envMapMode:de&&se.mapping,envMapCubeUVHeight:Z,aoMap:I,lightMap:De,bumpMap:re,normalMap:Ae,displacementMap:f&&me,emissiveMap:Ve,normalMapObjectSpace:Ae&&S.normalMapType===op,normalMapTangentSpace:Ae&&S.normalMapType===cs,metalnessMap:Se,roughnessMap:R,anisotropy:b,anisotropyMap:oe,clearcoat:H,clearcoatMap:ge,clearcoatNormalMap:Be,clearcoatRoughnessMap:$,dispersion:k,iridescence:X,iridescenceMap:ve,iridescenceThicknessMap:Y,sheen:W,sheenColorMap:ie,sheenRoughnessMap:ae,specularMap:Ne,specularColorMap:Pe,specularIntensityMap:Ke,transmission:ce,transmissionMap:U,thicknessMap:ye,gradientMap:K,opaque:S.transparent===!1&&S.blending===qs&&S.alphaToCoverage===!1,alphaMap:ee,alphaTest:we,alphaHash:Me,combine:S.combine,mapUv:Je&&_(S.map.channel),aoMapUv:I&&_(S.aoMap.channel),lightMapUv:De&&_(S.lightMap.channel),bumpMapUv:re&&_(S.bumpMap.channel),normalMapUv:Ae&&_(S.normalMap.channel),displacementMapUv:me&&_(S.displacementMap.channel),emissiveMapUv:Ve&&_(S.emissiveMap.channel),metalnessMapUv:Se&&_(S.metalnessMap.channel),roughnessMapUv:R&&_(S.roughnessMap.channel),anisotropyMapUv:oe&&_(S.anisotropyMap.channel),clearcoatMapUv:ge&&_(S.clearcoatMap.channel),clearcoatNormalMapUv:Be&&_(S.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:$&&_(S.clearcoatRoughnessMap.channel),iridescenceMapUv:ve&&_(S.iridescenceMap.channel),iridescenceThicknessMapUv:Y&&_(S.iridescenceThicknessMap.channel),sheenColorMapUv:ie&&_(S.sheenColorMap.channel),sheenRoughnessMapUv:ae&&_(S.sheenRoughnessMap.channel),specularMapUv:Ne&&_(S.specularMap.channel),specularColorMapUv:Pe&&_(S.specularColorMap.channel),specularIntensityMapUv:Ke&&_(S.specularIntensityMap.channel),transmissionMapUv:U&&_(S.transmissionMap.channel),thicknessMapUv:ye&&_(S.thicknessMap.channel),alphaMapUv:ee&&_(S.alphaMap.channel),vertexTangents:!!J.attributes.tangent&&(Ae||b),vertexColors:S.vertexColors,vertexAlphas:S.vertexColors===!0&&!!J.attributes.color&&J.attributes.color.itemSize===4,pointsUvs:F.isPoints===!0&&!!J.attributes.uv&&(Je||ee),fog:!!V,useFog:S.fog===!0,fogExp2:!!V&&V.isFogExp2,flatShading:S.flatShading===!0,sizeAttenuation:S.sizeAttenuation===!0,logarithmicDepthBuffer:u,reverseDepthBuffer:Oe,skinning:F.isSkinnedMesh===!0,morphTargets:J.morphAttributes.position!==void 0,morphNormals:J.morphAttributes.normal!==void 0,morphColors:J.morphAttributes.color!==void 0,morphTargetsCount:Re,morphTextureStride:Ge,numDirLights:M.directional.length,numPointLights:M.point.length,numSpotLights:M.spot.length,numSpotLightMaps:M.spotLightMap.length,numRectAreaLights:M.rectArea.length,numHemiLights:M.hemi.length,numDirLightShadows:M.directionalShadowMap.length,numPointLightShadows:M.pointShadowMap.length,numSpotLightShadows:M.spotShadowMap.length,numSpotLightShadowsWithMaps:M.numSpotLightShadowsWithMaps,numLightProbes:M.numLightProbes,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:S.dithering,shadowMapEnabled:r.shadowMap.enabled&&D.length>0,shadowMapType:r.shadowMap.type,toneMapping:Mt,decodeVideoTexture:Je&&S.map.isVideoTexture===!0&&ht.getTransfer(S.map.colorSpace)===vt,decodeVideoTextureEmissive:Ve&&S.emissiveMap.isVideoTexture===!0&&ht.getTransfer(S.emissiveMap.colorSpace)===vt,premultipliedAlpha:S.premultipliedAlpha,doubleSided:S.side===Bn,flipSided:S.side===fn,useDepthPacking:S.depthPacking>=0,depthPacking:S.depthPacking||0,index0AttributeName:S.index0AttributeName,extensionClipCullDistance:Ye&&S.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(Ye&&S.extensions.multiDraw===!0||ze)&&n.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:S.customProgramCacheKey()};return St.vertexUv1s=c.has(1),St.vertexUv2s=c.has(2),St.vertexUv3s=c.has(3),c.clear(),St}function m(S){const M=[];if(S.shaderID?M.push(S.shaderID):(M.push(S.customVertexShaderID),M.push(S.customFragmentShaderID)),S.defines!==void 0)for(const D in S.defines)M.push(D),M.push(S.defines[D]);return S.isRawShaderMaterial===!1&&(y(M,S),v(M,S),M.push(r.outputColorSpace)),M.push(S.customProgramCacheKey),M.join()}function y(S,M){S.push(M.precision),S.push(M.outputColorSpace),S.push(M.envMapMode),S.push(M.envMapCubeUVHeight),S.push(M.mapUv),S.push(M.alphaMapUv),S.push(M.lightMapUv),S.push(M.aoMapUv),S.push(M.bumpMapUv),S.push(M.normalMapUv),S.push(M.displacementMapUv),S.push(M.emissiveMapUv),S.push(M.metalnessMapUv),S.push(M.roughnessMapUv),S.push(M.anisotropyMapUv),S.push(M.clearcoatMapUv),S.push(M.clearcoatNormalMapUv),S.push(M.clearcoatRoughnessMapUv),S.push(M.iridescenceMapUv),S.push(M.iridescenceThicknessMapUv),S.push(M.sheenColorMapUv),S.push(M.sheenRoughnessMapUv),S.push(M.specularMapUv),S.push(M.specularColorMapUv),S.push(M.specularIntensityMapUv),S.push(M.transmissionMapUv),S.push(M.thicknessMapUv),S.push(M.combine),S.push(M.fogExp2),S.push(M.sizeAttenuation),S.push(M.morphTargetsCount),S.push(M.morphAttributeCount),S.push(M.numDirLights),S.push(M.numPointLights),S.push(M.numSpotLights),S.push(M.numSpotLightMaps),S.push(M.numHemiLights),S.push(M.numRectAreaLights),S.push(M.numDirLightShadows),S.push(M.numPointLightShadows),S.push(M.numSpotLightShadows),S.push(M.numSpotLightShadowsWithMaps),S.push(M.numLightProbes),S.push(M.shadowMapType),S.push(M.toneMapping),S.push(M.numClippingPlanes),S.push(M.numClipIntersection),S.push(M.depthPacking)}function v(S,M){o.disableAll(),M.supportsVertexTextures&&o.enable(0),M.instancing&&o.enable(1),M.instancingColor&&o.enable(2),M.instancingMorph&&o.enable(3),M.matcap&&o.enable(4),M.envMap&&o.enable(5),M.normalMapObjectSpace&&o.enable(6),M.normalMapTangentSpace&&o.enable(7),M.clearcoat&&o.enable(8),M.iridescence&&o.enable(9),M.alphaTest&&o.enable(10),M.vertexColors&&o.enable(11),M.vertexAlphas&&o.enable(12),M.vertexUv1s&&o.enable(13),M.vertexUv2s&&o.enable(14),M.vertexUv3s&&o.enable(15),M.vertexTangents&&o.enable(16),M.anisotropy&&o.enable(17),M.alphaHash&&o.enable(18),M.batching&&o.enable(19),M.dispersion&&o.enable(20),M.batchingColor&&o.enable(21),S.push(o.mask),o.disableAll(),M.fog&&o.enable(0),M.useFog&&o.enable(1),M.flatShading&&o.enable(2),M.logarithmicDepthBuffer&&o.enable(3),M.reverseDepthBuffer&&o.enable(4),M.skinning&&o.enable(5),M.morphTargets&&o.enable(6),M.morphNormals&&o.enable(7),M.morphColors&&o.enable(8),M.premultipliedAlpha&&o.enable(9),M.shadowMapEnabled&&o.enable(10),M.doubleSided&&o.enable(11),M.flipSided&&o.enable(12),M.useDepthPacking&&o.enable(13),M.dithering&&o.enable(14),M.transmission&&o.enable(15),M.sheen&&o.enable(16),M.opaque&&o.enable(17),M.pointsUvs&&o.enable(18),M.decodeVideoTexture&&o.enable(19),M.decodeVideoTextureEmissive&&o.enable(20),M.alphaToCoverage&&o.enable(21),S.push(o.mask)}function x(S){const M=p[S.type];let D;if(M){const G=On[M];D=fo.clone(G.uniforms)}else D=S.uniforms;return D}function w(S,M){let D;for(let G=0,F=h.length;G0?n.push(m):d.transparent===!0?i.push(m):t.push(m)}function l(u,f,d,p,_,g){const m=a(u,f,d,p,_,g);d.transmission>0?n.unshift(m):d.transparent===!0?i.unshift(m):t.unshift(m)}function c(u,f){t.length>1&&t.sort(u||cy),n.length>1&&n.sort(f||ju),i.length>1&&i.sort(f||ju)}function h(){for(let u=e,f=r.length;u=s.length?(a=new Qu,s.push(a)):a=s[i],a}function t(){r=new WeakMap}return{get:e,dispose:t}}function uy(){const r={};return{get:function(e){if(r[e.id]!==void 0)return r[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new A,color:new ne};break;case"SpotLight":t={position:new A,direction:new A,color:new ne,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new A,color:new ne,distance:0,decay:0};break;case"HemisphereLight":t={direction:new A,skyColor:new ne,groundColor:new ne};break;case"RectAreaLight":t={color:new ne,position:new A,halfWidth:new A,halfHeight:new A};break}return r[e.id]=t,t}}}function dy(){const r={};return{get:function(e){if(r[e.id]!==void 0)return r[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new j};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new j};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new j,shadowCameraNear:1,shadowCameraFar:1e3};break}return r[e.id]=t,t}}}let fy=0;function py(r,e){return(e.castShadow?2:0)-(r.castShadow?2:0)+(e.map?1:0)-(r.map?1:0)}function my(r){const e=new uy,t=dy(),n={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let c=0;c<9;c++)n.probe.push(new A);const i=new A,s=new Ze,a=new Ze;function o(c){let h=0,u=0,f=0;for(let S=0;S<9;S++)n.probe[S].set(0,0,0);let d=0,p=0,_=0,g=0,m=0,y=0,v=0,x=0,w=0,T=0,C=0;c.sort(py);for(let S=0,M=c.length;S0&&(r.has("OES_texture_float_linear")===!0?(n.rectAreaLTC1=Te.LTC_FLOAT_1,n.rectAreaLTC2=Te.LTC_FLOAT_2):(n.rectAreaLTC1=Te.LTC_HALF_1,n.rectAreaLTC2=Te.LTC_HALF_2)),n.ambient[0]=h,n.ambient[1]=u,n.ambient[2]=f;const P=n.hash;(P.directionalLength!==d||P.pointLength!==p||P.spotLength!==_||P.rectAreaLength!==g||P.hemiLength!==m||P.numDirectionalShadows!==y||P.numPointShadows!==v||P.numSpotShadows!==x||P.numSpotMaps!==w||P.numLightProbes!==C)&&(n.directional.length=d,n.spot.length=_,n.rectArea.length=g,n.point.length=p,n.hemi.length=m,n.directionalShadow.length=y,n.directionalShadowMap.length=y,n.pointShadow.length=v,n.pointShadowMap.length=v,n.spotShadow.length=x,n.spotShadowMap.length=x,n.directionalShadowMatrix.length=y,n.pointShadowMatrix.length=v,n.spotLightMatrix.length=x+w-T,n.spotLightMap.length=w,n.numSpotLightShadowsWithMaps=T,n.numLightProbes=C,P.directionalLength=d,P.pointLength=p,P.spotLength=_,P.rectAreaLength=g,P.hemiLength=m,P.numDirectionalShadows=y,P.numPointShadows=v,P.numSpotShadows=x,P.numSpotMaps=w,P.numLightProbes=C,n.version=fy++)}function l(c,h){let u=0,f=0,d=0,p=0,_=0;const g=h.matrixWorldInverse;for(let m=0,y=c.length;m=a.length?(o=new ed(r),a.push(o)):o=a[s],o}function n(){e=new WeakMap}return{get:t,dispose:n}}const _y=`void main() { - gl_Position = vec4( position, 1.0 ); -}`,vy=`uniform sampler2D shadow_pass; -uniform vec2 resolution; -uniform float radius; -#include -void main() { - const float samples = float( VSM_SAMPLES ); - float mean = 0.0; - float squared_mean = 0.0; - float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); - float uvStart = samples <= 1.0 ? 0.0 : - 1.0; - for ( float i = 0.0; i < samples; i ++ ) { - float uvOffset = uvStart + i * uvStride; - #ifdef HORIZONTAL_PASS - vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); - mean += distribution.x; - squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; - #else - float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); - mean += depth; - squared_mean += depth * depth; - #endif - } - mean = mean / samples; - squared_mean = squared_mean / samples; - float std_dev = sqrt( squared_mean - mean * mean ); - gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function xy(r,e,t){let n=new To;const i=new j,s=new j,a=new pt,o=new Hd({depthPacking:ap}),l=new Gd,c={},h=t.maxTextureSize,u={[Ci]:fn,[fn]:Ci,[Bn]:Bn},f=new Xt({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new j},radius:{value:4}},vertexShader:_y,fragmentShader:vy}),d=f.clone();d.defines.HORIZONTAL_PASS=1;const p=new qe;p.setAttribute("position",new rt(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const _=new yt(p,f),g=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=ld;let m=this.type;this.render=function(T,C,P){if(g.enabled===!1||g.autoUpdate===!1&&g.needsUpdate===!1||T.length===0)return;const S=r.getRenderTarget(),M=r.getActiveCubeFace(),D=r.getActiveMipmapLevel(),G=r.state;G.setBlending(ii),G.buffers.color.setClear(1,1,1,1),G.buffers.depth.setTest(!0),G.setScissorTest(!1);const F=m!==Qn&&this.type===Qn,V=m===Qn&&this.type!==Qn;for(let J=0,q=T.length;Jh||i.y>h)&&(i.x>h&&(s.x=Math.floor(h/_e.x),i.x=s.x*_e.x,Z.mapSize.x=s.x),i.y>h&&(s.y=Math.floor(h/_e.y),i.y=s.y*_e.y,Z.mapSize.y=s.y)),Z.map===null||F===!0||V===!0){const Re=this.type!==Qn?{minFilter:Qt,magFilter:Qt}:{};Z.map!==null&&Z.map.dispose(),Z.map=new Sn(i.x,i.y,Re),Z.map.texture.name=se.name+".shadowMap",Z.camera.updateProjectionMatrix()}r.setRenderTarget(Z.map),r.clear();const be=Z.getViewportCount();for(let Re=0;Re0||C.map&&C.alphaTest>0){const G=M.uuid,F=C.uuid;let V=c[G];V===void 0&&(V={},c[G]=V);let J=V[F];J===void 0&&(J=M.clone(),V[F]=J,C.addEventListener("dispose",w)),M=J}if(M.visible=C.visible,M.wireframe=C.wireframe,S===Qn?M.side=C.shadowSide!==null?C.shadowSide:C.side:M.side=C.shadowSide!==null?C.shadowSide:u[C.side],M.alphaMap=C.alphaMap,M.alphaTest=C.alphaTest,M.map=C.map,M.clipShadows=C.clipShadows,M.clippingPlanes=C.clippingPlanes,M.clipIntersection=C.clipIntersection,M.displacementMap=C.displacementMap,M.displacementScale=C.displacementScale,M.displacementBias=C.displacementBias,M.wireframeLinewidth=C.wireframeLinewidth,M.linewidth=C.linewidth,P.isPointLight===!0&&M.isMeshDistanceMaterial===!0){const G=r.properties.get(M);G.light=P}return M}function x(T,C,P,S,M){if(T.visible===!1)return;if(T.layers.test(C.layers)&&(T.isMesh||T.isLine||T.isPoints)&&(T.castShadow||T.receiveShadow&&M===Qn)&&(!T.frustumCulled||n.intersectsObject(T))){T.modelViewMatrix.multiplyMatrices(P.matrixWorldInverse,T.matrixWorld);const F=e.update(T),V=T.material;if(Array.isArray(V)){const J=F.groups;for(let q=0,se=J.length;q=1):Z.indexOf("OpenGL ES")!==-1&&(se=parseFloat(/^OpenGL ES (\d)/.exec(Z)[1]),q=se>=2);let _e=null,be={};const Re=r.getParameter(r.SCISSOR_BOX),Ge=r.getParameter(r.VIEWPORT),it=new pt().fromArray(Re),Q=new pt().fromArray(Ge);function ue(U,ye,K,ee){const we=new Uint8Array(4),Me=r.createTexture();r.bindTexture(U,Me),r.texParameteri(U,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(U,r.TEXTURE_MAG_FILTER,r.NEAREST);for(let Ye=0;Ye"u"?!1:/OculusBrowser/g.test(navigator.userAgent),c=new j,h=new WeakMap;let u;const f=new WeakMap;let d=!1;try{d=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function p(R,b){return d?new OffscreenCanvas(R,b):Vr("canvas")}function _(R,b,H){let k=1;const X=Se(R);if((X.width>H||X.height>H)&&(k=H/Math.max(X.width,X.height)),k<1)if(typeof HTMLImageElement<"u"&&R instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&R instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&R instanceof ImageBitmap||typeof VideoFrame<"u"&&R instanceof VideoFrame){const W=Math.floor(k*X.width),ce=Math.floor(k*X.height);u===void 0&&(u=p(W,ce));const oe=b?p(W,ce):u;return oe.width=W,oe.height=ce,oe.getContext("2d").drawImage(R,0,0,W,ce),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+X.width+"x"+X.height+") to ("+W+"x"+ce+")."),oe}else return"data"in R&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+X.width+"x"+X.height+")."),R;return R}function g(R){return R.generateMipmaps}function m(R){r.generateMipmap(R)}function y(R){return R.isWebGLCubeRenderTarget?r.TEXTURE_CUBE_MAP:R.isWebGL3DRenderTarget?r.TEXTURE_3D:R.isWebGLArrayRenderTarget||R.isCompressedArrayTexture?r.TEXTURE_2D_ARRAY:r.TEXTURE_2D}function v(R,b,H,k,X=!1){if(R!==null){if(r[R]!==void 0)return r[R];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+R+"'")}let W=b;if(b===r.RED&&(H===r.FLOAT&&(W=r.R32F),H===r.HALF_FLOAT&&(W=r.R16F),H===r.UNSIGNED_BYTE&&(W=r.R8)),b===r.RED_INTEGER&&(H===r.UNSIGNED_BYTE&&(W=r.R8UI),H===r.UNSIGNED_SHORT&&(W=r.R16UI),H===r.UNSIGNED_INT&&(W=r.R32UI),H===r.BYTE&&(W=r.R8I),H===r.SHORT&&(W=r.R16I),H===r.INT&&(W=r.R32I)),b===r.RG&&(H===r.FLOAT&&(W=r.RG32F),H===r.HALF_FLOAT&&(W=r.RG16F),H===r.UNSIGNED_BYTE&&(W=r.RG8)),b===r.RG_INTEGER&&(H===r.UNSIGNED_BYTE&&(W=r.RG8UI),H===r.UNSIGNED_SHORT&&(W=r.RG16UI),H===r.UNSIGNED_INT&&(W=r.RG32UI),H===r.BYTE&&(W=r.RG8I),H===r.SHORT&&(W=r.RG16I),H===r.INT&&(W=r.RG32I)),b===r.RGB_INTEGER&&(H===r.UNSIGNED_BYTE&&(W=r.RGB8UI),H===r.UNSIGNED_SHORT&&(W=r.RGB16UI),H===r.UNSIGNED_INT&&(W=r.RGB32UI),H===r.BYTE&&(W=r.RGB8I),H===r.SHORT&&(W=r.RGB16I),H===r.INT&&(W=r.RGB32I)),b===r.RGBA_INTEGER&&(H===r.UNSIGNED_BYTE&&(W=r.RGBA8UI),H===r.UNSIGNED_SHORT&&(W=r.RGBA16UI),H===r.UNSIGNED_INT&&(W=r.RGBA32UI),H===r.BYTE&&(W=r.RGBA8I),H===r.SHORT&&(W=r.RGBA16I),H===r.INT&&(W=r.RGBA32I)),b===r.RGB&&H===r.UNSIGNED_INT_5_9_9_9_REV&&(W=r.RGB9_E5),b===r.RGBA){const ce=X?co:ht.getTransfer(k);H===r.FLOAT&&(W=r.RGBA32F),H===r.HALF_FLOAT&&(W=r.RGBA16F),H===r.UNSIGNED_BYTE&&(W=ce===vt?r.SRGB8_ALPHA8:r.RGBA8),H===r.UNSIGNED_SHORT_4_4_4_4&&(W=r.RGBA4),H===r.UNSIGNED_SHORT_5_5_5_1&&(W=r.RGB5_A1)}return(W===r.R16F||W===r.R32F||W===r.RG16F||W===r.RG32F||W===r.RGBA16F||W===r.RGBA32F)&&e.get("EXT_color_buffer_float"),W}function x(R,b){let H;return R?b===null||b===Ii||b===$s?H=r.DEPTH24_STENCIL8:b===Mn?H=r.DEPTH32F_STENCIL8:b===kr&&(H=r.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):b===null||b===Ii||b===$s?H=r.DEPTH_COMPONENT24:b===Mn?H=r.DEPTH_COMPONENT32F:b===kr&&(H=r.DEPTH_COMPONENT16),H}function w(R,b){return g(R)===!0||R.isFramebufferTexture&&R.minFilter!==Qt&&R.minFilter!==Vt?Math.log2(Math.max(b.width,b.height))+1:R.mipmaps!==void 0&&R.mipmaps.length>0?R.mipmaps.length:R.isCompressedTexture&&Array.isArray(R.image)?b.mipmaps.length:1}function T(R){const b=R.target;b.removeEventListener("dispose",T),P(b),b.isVideoTexture&&h.delete(b)}function C(R){const b=R.target;b.removeEventListener("dispose",C),M(b)}function P(R){const b=n.get(R);if(b.__webglInit===void 0)return;const H=R.source,k=f.get(H);if(k){const X=k[b.__cacheKey];X.usedTimes--,X.usedTimes===0&&S(R),Object.keys(k).length===0&&f.delete(H)}n.remove(R)}function S(R){const b=n.get(R);r.deleteTexture(b.__webglTexture);const H=R.source,k=f.get(H);delete k[b.__cacheKey],a.memory.textures--}function M(R){const b=n.get(R);if(R.depthTexture&&(R.depthTexture.dispose(),n.remove(R.depthTexture)),R.isWebGLCubeRenderTarget)for(let k=0;k<6;k++){if(Array.isArray(b.__webglFramebuffer[k]))for(let X=0;X=i.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+R+" texture units while this GPU supports only "+i.maxTextures),D+=1,R}function V(R){const b=[];return b.push(R.wrapS),b.push(R.wrapT),b.push(R.wrapR||0),b.push(R.magFilter),b.push(R.minFilter),b.push(R.anisotropy),b.push(R.internalFormat),b.push(R.format),b.push(R.type),b.push(R.generateMipmaps),b.push(R.premultiplyAlpha),b.push(R.flipY),b.push(R.unpackAlignment),b.push(R.colorSpace),b.join()}function J(R,b){const H=n.get(R);if(R.isVideoTexture&&me(R),R.isRenderTargetTexture===!1&&R.version>0&&H.__version!==R.version){const k=R.image;if(k===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(k.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{Q(H,R,b);return}}t.bindTexture(r.TEXTURE_2D,H.__webglTexture,r.TEXTURE0+b)}function q(R,b){const H=n.get(R);if(R.version>0&&H.__version!==R.version){Q(H,R,b);return}t.bindTexture(r.TEXTURE_2D_ARRAY,H.__webglTexture,r.TEXTURE0+b)}function se(R,b){const H=n.get(R);if(R.version>0&&H.__version!==R.version){Q(H,R,b);return}t.bindTexture(r.TEXTURE_3D,H.__webglTexture,r.TEXTURE0+b)}function Z(R,b){const H=n.get(R);if(R.version>0&&H.__version!==R.version){ue(H,R,b);return}t.bindTexture(r.TEXTURE_CUBE_MAP,H.__webglTexture,r.TEXTURE0+b)}const _e={[ro]:r.REPEAT,[Nn]:r.CLAMP_TO_EDGE,[ao]:r.MIRRORED_REPEAT},be={[Qt]:r.NEAREST,[hd]:r.NEAREST_MIPMAP_NEAREST,[Cr]:r.NEAREST_MIPMAP_LINEAR,[Vt]:r.LINEAR,[Xa]:r.LINEAR_MIPMAP_NEAREST,[ni]:r.LINEAR_MIPMAP_LINEAR},Re={[lp]:r.NEVER,[pp]:r.ALWAYS,[cp]:r.LESS,[Md]:r.LEQUAL,[hp]:r.EQUAL,[fp]:r.GEQUAL,[up]:r.GREATER,[dp]:r.NOTEQUAL};function Ge(R,b){if(b.type===Mn&&e.has("OES_texture_float_linear")===!1&&(b.magFilter===Vt||b.magFilter===Xa||b.magFilter===Cr||b.magFilter===ni||b.minFilter===Vt||b.minFilter===Xa||b.minFilter===Cr||b.minFilter===ni)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),r.texParameteri(R,r.TEXTURE_WRAP_S,_e[b.wrapS]),r.texParameteri(R,r.TEXTURE_WRAP_T,_e[b.wrapT]),(R===r.TEXTURE_3D||R===r.TEXTURE_2D_ARRAY)&&r.texParameteri(R,r.TEXTURE_WRAP_R,_e[b.wrapR]),r.texParameteri(R,r.TEXTURE_MAG_FILTER,be[b.magFilter]),r.texParameteri(R,r.TEXTURE_MIN_FILTER,be[b.minFilter]),b.compareFunction&&(r.texParameteri(R,r.TEXTURE_COMPARE_MODE,r.COMPARE_REF_TO_TEXTURE),r.texParameteri(R,r.TEXTURE_COMPARE_FUNC,Re[b.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(b.magFilter===Qt||b.minFilter!==Cr&&b.minFilter!==ni||b.type===Mn&&e.has("OES_texture_float_linear")===!1)return;if(b.anisotropy>1||n.get(b).__currentAnisotropy){const H=e.get("EXT_texture_filter_anisotropic");r.texParameterf(R,H.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(b.anisotropy,i.getMaxAnisotropy())),n.get(b).__currentAnisotropy=b.anisotropy}}}function it(R,b){let H=!1;R.__webglInit===void 0&&(R.__webglInit=!0,b.addEventListener("dispose",T));const k=b.source;let X=f.get(k);X===void 0&&(X={},f.set(k,X));const W=V(b);if(W!==R.__cacheKey){X[W]===void 0&&(X[W]={texture:r.createTexture(),usedTimes:0},a.memory.textures++,H=!0),X[W].usedTimes++;const ce=X[R.__cacheKey];ce!==void 0&&(X[R.__cacheKey].usedTimes--,ce.usedTimes===0&&S(b)),R.__cacheKey=W,R.__webglTexture=X[W].texture}return H}function Q(R,b,H){let k=r.TEXTURE_2D;(b.isDataArrayTexture||b.isCompressedArrayTexture)&&(k=r.TEXTURE_2D_ARRAY),b.isData3DTexture&&(k=r.TEXTURE_3D);const X=it(R,b),W=b.source;t.bindTexture(k,R.__webglTexture,r.TEXTURE0+H);const ce=n.get(W);if(W.version!==ce.__version||X===!0){t.activeTexture(r.TEXTURE0+H);const oe=ht.getPrimaries(ht.workingColorSpace),ge=b.colorSpace===wi?null:ht.getPrimaries(b.colorSpace),Be=b.colorSpace===wi||oe===ge?r.NONE:r.BROWSER_DEFAULT_WEBGL;r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,b.flipY),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b.premultiplyAlpha),r.pixelStorei(r.UNPACK_ALIGNMENT,b.unpackAlignment),r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,Be);let $=_(b.image,!1,i.maxTextureSize);$=Ve(b,$);const ve=s.convert(b.format,b.colorSpace),Y=s.convert(b.type);let ie=v(b.internalFormat,ve,Y,b.colorSpace,b.isVideoTexture);Ge(k,b);let ae;const Ne=b.mipmaps,Pe=b.isVideoTexture!==!0,Ke=ce.__version===void 0||X===!0,U=W.dataReady,ye=w(b,$);if(b.isDepthTexture)ie=x(b.format===js,b.type),Ke&&(Pe?t.texStorage2D(r.TEXTURE_2D,1,ie,$.width,$.height):t.texImage2D(r.TEXTURE_2D,0,ie,$.width,$.height,0,ve,Y,null));else if(b.isDataTexture)if(Ne.length>0){Pe&&Ke&&t.texStorage2D(r.TEXTURE_2D,ye,ie,Ne[0].width,Ne[0].height);for(let K=0,ee=Ne.length;K0){const we=yc(ae.width,ae.height,b.format,b.type);for(const Me of b.layerUpdates){const Ye=ae.data.subarray(Me*we/ae.data.BYTES_PER_ELEMENT,(Me+1)*we/ae.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(r.TEXTURE_2D_ARRAY,K,0,0,Me,ae.width,ae.height,1,ve,Ye)}b.clearLayerUpdates()}else t.compressedTexSubImage3D(r.TEXTURE_2D_ARRAY,K,0,0,0,ae.width,ae.height,$.depth,ve,ae.data)}else t.compressedTexImage3D(r.TEXTURE_2D_ARRAY,K,ie,ae.width,ae.height,$.depth,0,ae.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else Pe?U&&t.texSubImage3D(r.TEXTURE_2D_ARRAY,K,0,0,0,ae.width,ae.height,$.depth,ve,Y,ae.data):t.texImage3D(r.TEXTURE_2D_ARRAY,K,ie,ae.width,ae.height,$.depth,0,ve,Y,ae.data)}else{Pe&&Ke&&t.texStorage2D(r.TEXTURE_2D,ye,ie,Ne[0].width,Ne[0].height);for(let K=0,ee=Ne.length;K0){const K=yc($.width,$.height,b.format,b.type);for(const ee of b.layerUpdates){const we=$.data.subarray(ee*K/$.data.BYTES_PER_ELEMENT,(ee+1)*K/$.data.BYTES_PER_ELEMENT);t.texSubImage3D(r.TEXTURE_2D_ARRAY,0,0,0,ee,$.width,$.height,1,ve,Y,we)}b.clearLayerUpdates()}else t.texSubImage3D(r.TEXTURE_2D_ARRAY,0,0,0,0,$.width,$.height,$.depth,ve,Y,$.data)}else t.texImage3D(r.TEXTURE_2D_ARRAY,0,ie,$.width,$.height,$.depth,0,ve,Y,$.data);else if(b.isData3DTexture)Pe?(Ke&&t.texStorage3D(r.TEXTURE_3D,ye,ie,$.width,$.height,$.depth),U&&t.texSubImage3D(r.TEXTURE_3D,0,0,0,0,$.width,$.height,$.depth,ve,Y,$.data)):t.texImage3D(r.TEXTURE_3D,0,ie,$.width,$.height,$.depth,0,ve,Y,$.data);else if(b.isFramebufferTexture){if(Ke)if(Pe)t.texStorage2D(r.TEXTURE_2D,ye,ie,$.width,$.height);else{let K=$.width,ee=$.height;for(let we=0;we>=1,ee>>=1}}else if(Ne.length>0){if(Pe&&Ke){const K=Se(Ne[0]);t.texStorage2D(r.TEXTURE_2D,ye,ie,K.width,K.height)}for(let K=0,ee=Ne.length;K0&&ye++;const ee=Se(ve[0]);t.texStorage2D(r.TEXTURE_CUBE_MAP,ye,Ne,ee.width,ee.height)}for(let ee=0;ee<6;ee++)if($){Pe?U&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+ee,0,0,0,ve[ee].width,ve[ee].height,ie,ae,ve[ee].data):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+ee,0,Ne,ve[ee].width,ve[ee].height,0,ie,ae,ve[ee].data);for(let we=0;we>W),Y=Math.max(1,b.height>>W);X===r.TEXTURE_3D||X===r.TEXTURE_2D_ARRAY?t.texImage3D(X,W,ge,ve,Y,b.depth,0,ce,oe,null):t.texImage2D(X,W,ge,ve,Y,0,ce,oe,null)}t.bindFramebuffer(r.FRAMEBUFFER,R),Ae(b)?o.framebufferTexture2DMultisampleEXT(r.FRAMEBUFFER,k,X,$.__webglTexture,0,re(b)):(X===r.TEXTURE_2D||X>=r.TEXTURE_CUBE_MAP_POSITIVE_X&&X<=r.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&r.framebufferTexture2D(r.FRAMEBUFFER,k,X,$.__webglTexture,W),t.bindFramebuffer(r.FRAMEBUFFER,null)}function pe(R,b,H){if(r.bindRenderbuffer(r.RENDERBUFFER,R),b.depthBuffer){const k=b.depthTexture,X=k&&k.isDepthTexture?k.type:null,W=x(b.stencilBuffer,X),ce=b.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,oe=re(b);Ae(b)?o.renderbufferStorageMultisampleEXT(r.RENDERBUFFER,oe,W,b.width,b.height):H?r.renderbufferStorageMultisample(r.RENDERBUFFER,oe,W,b.width,b.height):r.renderbufferStorage(r.RENDERBUFFER,W,b.width,b.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,ce,r.RENDERBUFFER,R)}else{const k=b.textures;for(let X=0;X{delete b.__boundDepthTexture,delete b.__depthDisposeCallback,k.removeEventListener("dispose",X)};k.addEventListener("dispose",X),b.__depthDisposeCallback=X}b.__boundDepthTexture=k}if(R.depthTexture&&!b.__autoAllocateDepthBuffer){if(H)throw new Error("target.depthTexture not supported in Cube render targets");Oe(b.__webglFramebuffer,R)}else if(H){b.__webglDepthbuffer=[];for(let k=0;k<6;k++)if(t.bindFramebuffer(r.FRAMEBUFFER,b.__webglFramebuffer[k]),b.__webglDepthbuffer[k]===void 0)b.__webglDepthbuffer[k]=r.createRenderbuffer(),pe(b.__webglDepthbuffer[k],R,!1);else{const X=R.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,W=b.__webglDepthbuffer[k];r.bindRenderbuffer(r.RENDERBUFFER,W),r.framebufferRenderbuffer(r.FRAMEBUFFER,X,r.RENDERBUFFER,W)}}else if(t.bindFramebuffer(r.FRAMEBUFFER,b.__webglFramebuffer),b.__webglDepthbuffer===void 0)b.__webglDepthbuffer=r.createRenderbuffer(),pe(b.__webglDepthbuffer,R,!1);else{const k=R.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,X=b.__webglDepthbuffer;r.bindRenderbuffer(r.RENDERBUFFER,X),r.framebufferRenderbuffer(r.FRAMEBUFFER,k,r.RENDERBUFFER,X)}t.bindFramebuffer(r.FRAMEBUFFER,null)}function ze(R,b,H){const k=n.get(R);b!==void 0&&Ie(k.__webglFramebuffer,R,R.texture,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,0),H!==void 0&&We(R)}function Je(R){const b=R.texture,H=n.get(R),k=n.get(b);R.addEventListener("dispose",C);const X=R.textures,W=R.isWebGLCubeRenderTarget===!0,ce=X.length>1;if(ce||(k.__webglTexture===void 0&&(k.__webglTexture=r.createTexture()),k.__version=b.version,a.memory.textures++),W){H.__webglFramebuffer=[];for(let oe=0;oe<6;oe++)if(b.mipmaps&&b.mipmaps.length>0){H.__webglFramebuffer[oe]=[];for(let ge=0;ge0){H.__webglFramebuffer=[];for(let oe=0;oe0&&Ae(R)===!1){H.__webglMultisampledFramebuffer=r.createFramebuffer(),H.__webglColorRenderbuffer=[],t.bindFramebuffer(r.FRAMEBUFFER,H.__webglMultisampledFramebuffer);for(let oe=0;oe0)for(let ge=0;ge0)for(let ge=0;ge0){if(Ae(R)===!1){const b=R.textures,H=R.width,k=R.height;let X=r.COLOR_BUFFER_BIT;const W=R.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,ce=n.get(R),oe=b.length>1;if(oe)for(let ge=0;ge0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&b.__useRenderToTexture!==!1}function me(R){const b=a.render.frame;h.get(R)!==b&&(h.set(R,b),R.update())}function Ve(R,b){const H=R.colorSpace,k=R.format,X=R.type;return R.isCompressedTexture===!0||R.isVideoTexture===!0||H!==Qs&&H!==wi&&(ht.getTransfer(H)===vt?(k!==dn||X!==li)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",H)),b}function Se(R){return typeof HTMLImageElement<"u"&&R instanceof HTMLImageElement?(c.width=R.naturalWidth||R.width,c.height=R.naturalHeight||R.height):typeof VideoFrame<"u"&&R instanceof VideoFrame?(c.width=R.displayWidth,c.height=R.displayHeight):(c.width=R.width,c.height=R.height),c}this.allocateTextureUnit=F,this.resetTextureUnits=G,this.setTexture2D=J,this.setTexture2DArray=q,this.setTexture3D=se,this.setTextureCube=Z,this.rebindTextures=ze,this.setupRenderTarget=Je,this.updateRenderTargetMipmap=te,this.updateMultisampleRenderTarget=De,this.setupDepthRenderbuffer=We,this.setupFrameBufferTexture=Ie,this.useMultisampledRTT=Ae}function Sy(r,e){function t(n,i=wi){let s;const a=ht.getTransfer(i);if(n===li)return r.UNSIGNED_BYTE;if(n===Dc)return r.UNSIGNED_SHORT_4_4_4_4;if(n===Lc)return r.UNSIGNED_SHORT_5_5_5_1;if(n===fd)return r.UNSIGNED_INT_5_9_9_9_REV;if(n===ud)return r.BYTE;if(n===dd)return r.SHORT;if(n===kr)return r.UNSIGNED_SHORT;if(n===Pc)return r.INT;if(n===Ii)return r.UNSIGNED_INT;if(n===Mn)return r.FLOAT;if(n===si)return r.HALF_FLOAT;if(n===pd)return r.ALPHA;if(n===md)return r.RGB;if(n===dn)return r.RGBA;if(n===gd)return r.LUMINANCE;if(n===_d)return r.LUMINANCE_ALPHA;if(n===Ys)return r.DEPTH_COMPONENT;if(n===js)return r.DEPTH_STENCIL;if(n===Uc)return r.RED;if(n===So)return r.RED_INTEGER;if(n===vd)return r.RG;if(n===Nc)return r.RG_INTEGER;if(n===Fc)return r.RGBA_INTEGER;if(n===qa||n===Ya||n===Za||n===Ja)if(a===vt)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(n===qa)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===Ya)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===Za)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===Ja)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(n===qa)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===Ya)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===Za)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===Ja)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===kl||n===Vl||n===Hl||n===Gl)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(n===kl)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===Vl)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===Hl)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===Gl)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===Wl||n===Xl||n===ql)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(n===Wl||n===Xl)return a===vt?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(n===ql)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(n===Yl||n===Zl||n===Jl||n===Kl||n===$l||n===jl||n===Ql||n===ec||n===tc||n===nc||n===ic||n===sc||n===rc||n===ac)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(n===Yl)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===Zl)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===Jl)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===Kl)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===$l)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===jl)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===Ql)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===ec)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===tc)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===nc)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===ic)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===sc)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===rc)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===ac)return a===vt?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===Ka||n===oc||n===lc)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(n===Ka)return a===vt?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===oc)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===lc)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===xd||n===cc||n===hc||n===uc)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(n===Ka)return s.COMPRESSED_RED_RGTC1_EXT;if(n===cc)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===hc)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===uc)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===$s?r.UNSIGNED_INT_24_8:r[n]!==void 0?r[n]:null}return{convert:t}}const wy={type:"move"};class wl{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new ns,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new ns,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new A,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new A),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new ns,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new A,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new A),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let i=null,s=null,a=null;const o=this._targetRay,l=this._grip,c=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(c&&e.hand){a=!0;for(const _ of e.hand.values()){const g=t.getJointPose(_,n),m=this._getHandJoint(c,_);g!==null&&(m.matrix.fromArray(g.transform.matrix),m.matrix.decompose(m.position,m.rotation,m.scale),m.matrixWorldNeedsUpdate=!0,m.jointRadius=g.radius),m.visible=g!==null}const h=c.joints["index-finger-tip"],u=c.joints["thumb-tip"],f=h.position.distanceTo(u.position),d=.02,p=.005;c.inputState.pinching&&f>d+p?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&f<=d-p&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,n),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));o!==null&&(i=t.getPose(e.targetRaySpace,n),i===null&&s!==null&&(i=s),i!==null&&(o.matrix.fromArray(i.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,i.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(i.linearVelocity)):o.hasLinearVelocity=!1,i.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(i.angularVelocity)):o.hasAngularVelocity=!1,this.dispatchEvent(wy)))}return o!==null&&(o.visible=i!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=a!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new ns;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}const Ey=` -void main() { - - gl_Position = vec4( position, 1.0 ); - -}`,Ty=` -uniform sampler2DArray depthColor; -uniform float depthWidth; -uniform float depthHeight; - -void main() { - - vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); - - if ( coord.x >= 1.0 ) { - - gl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; - - } else { - - gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; - - } - -}`;class Ay{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,n){if(this.texture===null){const i=new Et,s=e.properties.get(i);s.__webglTexture=t.texture,(t.depthNear!==n.depthNear||t.depthFar!==n.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=i}}getMesh(e){if(this.texture!==null&&this.mesh===null){const t=e.cameras[0].viewport,n=new Xt({vertexShader:Ey,fragmentShader:Ty,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new yt(new lr(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class Cy extends ci{constructor(e,t){super();const n=this;let i=null,s=1,a=null,o="local-floor",l=1,c=null,h=null,u=null,f=null,d=null,p=null;const _=new Ay,g=t.getContextAttributes();let m=null,y=null;const v=[],x=[],w=new j;let T=null;const C=new kt;C.viewport=new pt;const P=new kt;P.viewport=new pt;const S=[C,P],M=new Ag;let D=null,G=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(Q){let ue=v[Q];return ue===void 0&&(ue=new wl,v[Q]=ue),ue.getTargetRaySpace()},this.getControllerGrip=function(Q){let ue=v[Q];return ue===void 0&&(ue=new wl,v[Q]=ue),ue.getGripSpace()},this.getHand=function(Q){let ue=v[Q];return ue===void 0&&(ue=new wl,v[Q]=ue),ue.getHandSpace()};function F(Q){const ue=x.indexOf(Q.inputSource);if(ue===-1)return;const Ie=v[ue];Ie!==void 0&&(Ie.update(Q.inputSource,Q.frame,c||a),Ie.dispatchEvent({type:Q.type,data:Q.inputSource}))}function V(){i.removeEventListener("select",F),i.removeEventListener("selectstart",F),i.removeEventListener("selectend",F),i.removeEventListener("squeeze",F),i.removeEventListener("squeezestart",F),i.removeEventListener("squeezeend",F),i.removeEventListener("end",V),i.removeEventListener("inputsourceschange",J);for(let Q=0;Q=0&&(x[pe]=null,v[pe].disconnect(Ie))}for(let ue=0;ue=x.length){x.push(Ie),pe=We;break}else if(x[We]===null){x[We]=Ie,pe=We;break}if(pe===-1)break}const Oe=v[pe];Oe&&Oe.connect(Ie)}}const q=new A,se=new A;function Z(Q,ue,Ie){q.setFromMatrixPosition(ue.matrixWorld),se.setFromMatrixPosition(Ie.matrixWorld);const pe=q.distanceTo(se),Oe=ue.projectionMatrix.elements,We=Ie.projectionMatrix.elements,ze=Oe[14]/(Oe[10]-1),Je=Oe[14]/(Oe[10]+1),te=(Oe[9]+1)/Oe[5],de=(Oe[9]-1)/Oe[5],I=(Oe[8]-1)/Oe[0],De=(We[8]+1)/We[0],re=ze*I,Ae=ze*De,me=pe/(-I+De),Ve=me*-I;if(ue.matrixWorld.decompose(Q.position,Q.quaternion,Q.scale),Q.translateX(Ve),Q.translateZ(me),Q.matrixWorld.compose(Q.position,Q.quaternion,Q.scale),Q.matrixWorldInverse.copy(Q.matrixWorld).invert(),Oe[10]===-1)Q.projectionMatrix.copy(ue.projectionMatrix),Q.projectionMatrixInverse.copy(ue.projectionMatrixInverse);else{const Se=ze+me,R=Je+me,b=re-Ve,H=Ae+(pe-Ve),k=te*Je/R*Se,X=de*Je/R*Se;Q.projectionMatrix.makePerspective(b,H,k,X,Se,R),Q.projectionMatrixInverse.copy(Q.projectionMatrix).invert()}}function _e(Q,ue){ue===null?Q.matrixWorld.copy(Q.matrix):Q.matrixWorld.multiplyMatrices(ue.matrixWorld,Q.matrix),Q.matrixWorldInverse.copy(Q.matrixWorld).invert()}this.updateCamera=function(Q){if(i===null)return;let ue=Q.near,Ie=Q.far;_.texture!==null&&(_.depthNear>0&&(ue=_.depthNear),_.depthFar>0&&(Ie=_.depthFar)),M.near=P.near=C.near=ue,M.far=P.far=C.far=Ie,(D!==M.near||G!==M.far)&&(i.updateRenderState({depthNear:M.near,depthFar:M.far}),D=M.near,G=M.far),C.layers.mask=Q.layers.mask|2,P.layers.mask=Q.layers.mask|4,M.layers.mask=C.layers.mask|P.layers.mask;const pe=Q.parent,Oe=M.cameras;_e(M,pe);for(let We=0;We0&&(g.alphaTest.value=m.alphaTest);const y=e.get(m),v=y.envMap,x=y.envMapRotation;v&&(g.envMap.value=v,Zi.copy(x),Zi.x*=-1,Zi.y*=-1,Zi.z*=-1,v.isCubeTexture&&v.isRenderTargetTexture===!1&&(Zi.y*=-1,Zi.z*=-1),g.envMapRotation.value.setFromMatrix4(Ry.makeRotationFromEuler(Zi)),g.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,g.reflectivity.value=m.reflectivity,g.ior.value=m.ior,g.refractionRatio.value=m.refractionRatio),m.lightMap&&(g.lightMap.value=m.lightMap,g.lightMapIntensity.value=m.lightMapIntensity,t(m.lightMap,g.lightMapTransform)),m.aoMap&&(g.aoMap.value=m.aoMap,g.aoMapIntensity.value=m.aoMapIntensity,t(m.aoMap,g.aoMapTransform))}function a(g,m){g.diffuse.value.copy(m.color),g.opacity.value=m.opacity,m.map&&(g.map.value=m.map,t(m.map,g.mapTransform))}function o(g,m){g.dashSize.value=m.dashSize,g.totalSize.value=m.dashSize+m.gapSize,g.scale.value=m.scale}function l(g,m,y,v){g.diffuse.value.copy(m.color),g.opacity.value=m.opacity,g.size.value=m.size*y,g.scale.value=v*.5,m.map&&(g.map.value=m.map,t(m.map,g.uvTransform)),m.alphaMap&&(g.alphaMap.value=m.alphaMap,t(m.alphaMap,g.alphaMapTransform)),m.alphaTest>0&&(g.alphaTest.value=m.alphaTest)}function c(g,m){g.diffuse.value.copy(m.color),g.opacity.value=m.opacity,g.rotation.value=m.rotation,m.map&&(g.map.value=m.map,t(m.map,g.mapTransform)),m.alphaMap&&(g.alphaMap.value=m.alphaMap,t(m.alphaMap,g.alphaMapTransform)),m.alphaTest>0&&(g.alphaTest.value=m.alphaTest)}function h(g,m){g.specular.value.copy(m.specular),g.shininess.value=Math.max(m.shininess,1e-4)}function u(g,m){m.gradientMap&&(g.gradientMap.value=m.gradientMap)}function f(g,m){g.metalness.value=m.metalness,m.metalnessMap&&(g.metalnessMap.value=m.metalnessMap,t(m.metalnessMap,g.metalnessMapTransform)),g.roughness.value=m.roughness,m.roughnessMap&&(g.roughnessMap.value=m.roughnessMap,t(m.roughnessMap,g.roughnessMapTransform)),m.envMap&&(g.envMapIntensity.value=m.envMapIntensity)}function d(g,m,y){g.ior.value=m.ior,m.sheen>0&&(g.sheenColor.value.copy(m.sheenColor).multiplyScalar(m.sheen),g.sheenRoughness.value=m.sheenRoughness,m.sheenColorMap&&(g.sheenColorMap.value=m.sheenColorMap,t(m.sheenColorMap,g.sheenColorMapTransform)),m.sheenRoughnessMap&&(g.sheenRoughnessMap.value=m.sheenRoughnessMap,t(m.sheenRoughnessMap,g.sheenRoughnessMapTransform))),m.clearcoat>0&&(g.clearcoat.value=m.clearcoat,g.clearcoatRoughness.value=m.clearcoatRoughness,m.clearcoatMap&&(g.clearcoatMap.value=m.clearcoatMap,t(m.clearcoatMap,g.clearcoatMapTransform)),m.clearcoatRoughnessMap&&(g.clearcoatRoughnessMap.value=m.clearcoatRoughnessMap,t(m.clearcoatRoughnessMap,g.clearcoatRoughnessMapTransform)),m.clearcoatNormalMap&&(g.clearcoatNormalMap.value=m.clearcoatNormalMap,t(m.clearcoatNormalMap,g.clearcoatNormalMapTransform),g.clearcoatNormalScale.value.copy(m.clearcoatNormalScale),m.side===fn&&g.clearcoatNormalScale.value.negate())),m.dispersion>0&&(g.dispersion.value=m.dispersion),m.iridescence>0&&(g.iridescence.value=m.iridescence,g.iridescenceIOR.value=m.iridescenceIOR,g.iridescenceThicknessMinimum.value=m.iridescenceThicknessRange[0],g.iridescenceThicknessMaximum.value=m.iridescenceThicknessRange[1],m.iridescenceMap&&(g.iridescenceMap.value=m.iridescenceMap,t(m.iridescenceMap,g.iridescenceMapTransform)),m.iridescenceThicknessMap&&(g.iridescenceThicknessMap.value=m.iridescenceThicknessMap,t(m.iridescenceThicknessMap,g.iridescenceThicknessMapTransform))),m.transmission>0&&(g.transmission.value=m.transmission,g.transmissionSamplerMap.value=y.texture,g.transmissionSamplerSize.value.set(y.width,y.height),m.transmissionMap&&(g.transmissionMap.value=m.transmissionMap,t(m.transmissionMap,g.transmissionMapTransform)),g.thickness.value=m.thickness,m.thicknessMap&&(g.thicknessMap.value=m.thicknessMap,t(m.thicknessMap,g.thicknessMapTransform)),g.attenuationDistance.value=m.attenuationDistance,g.attenuationColor.value.copy(m.attenuationColor)),m.anisotropy>0&&(g.anisotropyVector.value.set(m.anisotropy*Math.cos(m.anisotropyRotation),m.anisotropy*Math.sin(m.anisotropyRotation)),m.anisotropyMap&&(g.anisotropyMap.value=m.anisotropyMap,t(m.anisotropyMap,g.anisotropyMapTransform))),g.specularIntensity.value=m.specularIntensity,g.specularColor.value.copy(m.specularColor),m.specularColorMap&&(g.specularColorMap.value=m.specularColorMap,t(m.specularColorMap,g.specularColorMapTransform)),m.specularIntensityMap&&(g.specularIntensityMap.value=m.specularIntensityMap,t(m.specularIntensityMap,g.specularIntensityMapTransform))}function p(g,m){m.matcap&&(g.matcap.value=m.matcap)}function _(g,m){const y=e.get(m).light;g.referencePosition.value.setFromMatrixPosition(y.matrixWorld),g.nearDistance.value=y.shadow.camera.near,g.farDistance.value=y.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:i}}function Py(r,e,t,n){let i={},s={},a=[];const o=r.getParameter(r.MAX_UNIFORM_BUFFER_BINDINGS);function l(y,v){const x=v.program;n.uniformBlockBinding(y,x)}function c(y,v){let x=i[y.id];x===void 0&&(p(y),x=h(y),i[y.id]=x,y.addEventListener("dispose",g));const w=v.program;n.updateUBOMapping(y,w);const T=e.render.frame;s[y.id]!==T&&(f(y),s[y.id]=T)}function h(y){const v=u();y.__bindingPointIndex=v;const x=r.createBuffer(),w=y.__size,T=y.usage;return r.bindBuffer(r.UNIFORM_BUFFER,x),r.bufferData(r.UNIFORM_BUFFER,w,T),r.bindBuffer(r.UNIFORM_BUFFER,null),r.bindBufferBase(r.UNIFORM_BUFFER,v,x),x}function u(){for(let y=0;y0&&(x+=w-T),y.__size=x,y.__cache={},this}function _(y){const v={boundary:0,storage:0};return typeof y=="number"||typeof y=="boolean"?(v.boundary=4,v.storage=4):y.isVector2?(v.boundary=8,v.storage=8):y.isVector3||y.isColor?(v.boundary=16,v.storage=12):y.isVector4?(v.boundary=16,v.storage=16):y.isMatrix3?(v.boundary=48,v.storage=48):y.isMatrix4?(v.boundary=64,v.storage=64):y.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",y),v}function g(y){const v=y.target;v.removeEventListener("dispose",g);const x=a.indexOf(v.__bindingPointIndex);a.splice(x,1),r.deleteBuffer(i[v.id]),delete i[v.id],delete s[v.id]}function m(){for(const y in i)r.deleteBuffer(i[y]);a=[],i={},s={}}return{bind:l,update:c,dispose:m}}class Dy{constructor(e={}){const{canvas:t=Dp(),context:n=null,depth:i=!0,stencil:s=!1,alpha:a=!1,antialias:o=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:u=!1,reverseDepthBuffer:f=!1}=e;this.isWebGLRenderer=!0;let d;if(n!==null){if(typeof WebGLRenderingContext<"u"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");d=n.getContextAttributes().alpha}else d=a;const p=new Uint32Array(4),_=new Int32Array(4);let g=null,m=null;const y=[],v=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=xn,this.toneMapping=Ti,this.toneMappingExposure=1;const x=this;let w=!1,T=0,C=0,P=null,S=-1,M=null;const D=new pt,G=new pt;let F=null;const V=new ne(0);let J=0,q=t.width,se=t.height,Z=1,_e=null,be=null;const Re=new pt(0,0,q,se),Ge=new pt(0,0,q,se);let it=!1;const Q=new To;let ue=!1,Ie=!1;this.transmissionResolutionScale=1;const pe=new Ze,Oe=new Ze,We=new A,ze=new pt,Je={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let te=!1;function de(){return P===null?Z:1}let I=n;function De(E,B){return t.getContext(E,B)}try{const E={alpha:!0,depth:i,stencil:s,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:h,failIfMajorPerformanceCaveat:u};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${Rc}`),t.addEventListener("webglcontextlost",ee,!1),t.addEventListener("webglcontextrestored",we,!1),t.addEventListener("webglcontextcreationerror",Me,!1),I===null){const B="webgl2";if(I=De(B,E),I===null)throw De(B)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(E){throw console.error("THREE.WebGLRenderer: "+E.message),E}let re,Ae,me,Ve,Se,R,b,H,k,X,W,ce,oe,ge,Be,$,ve,Y,ie,ae,Ne,Pe,Ke,U;function ye(){re=new Vv(I),re.init(),Pe=new Sy(I,re),Ae=new Nv(I,re,e,Pe),me=new My(I,re),Ae.reverseDepthBuffer&&f&&me.buffers.depth.setReversed(!0),Ve=new Wv(I),Se=new ly,R=new by(I,re,me,Se,Ae,Pe,Ve),b=new Ov(x),H=new kv(x),k=new $g(I),Ke=new Lv(I,k),X=new Hv(I,k,Ve,Ke),W=new qv(I,X,k,Ve),ie=new Xv(I,Ae,R),$=new Fv(Se),ce=new oy(x,b,H,re,Ae,Ke,$),oe=new Iy(x,Se),ge=new hy,Be=new gy(re),Y=new Dv(x,b,H,me,W,d,l),ve=new xy(x,W,Ae),U=new Py(I,Ve,Ae,me),ae=new Uv(I,re,Ve),Ne=new Gv(I,re,Ve),Ve.programs=ce.programs,x.capabilities=Ae,x.extensions=re,x.properties=Se,x.renderLists=ge,x.shadowMap=ve,x.state=me,x.info=Ve}ye();const K=new Cy(x,I);this.xr=K,this.getContext=function(){return I},this.getContextAttributes=function(){return I.getContextAttributes()},this.forceContextLoss=function(){const E=re.get("WEBGL_lose_context");E&&E.loseContext()},this.forceContextRestore=function(){const E=re.get("WEBGL_lose_context");E&&E.restoreContext()},this.getPixelRatio=function(){return Z},this.setPixelRatio=function(E){E!==void 0&&(Z=E,this.setSize(q,se,!1))},this.getSize=function(E){return E.set(q,se)},this.setSize=function(E,B,N=!0){if(K.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}q=E,se=B,t.width=Math.floor(E*Z),t.height=Math.floor(B*Z),N===!0&&(t.style.width=E+"px",t.style.height=B+"px"),this.setViewport(0,0,E,B)},this.getDrawingBufferSize=function(E){return E.set(q*Z,se*Z).floor()},this.setDrawingBufferSize=function(E,B,N){q=E,se=B,Z=N,t.width=Math.floor(E*N),t.height=Math.floor(B*N),this.setViewport(0,0,E,B)},this.getCurrentViewport=function(E){return E.copy(D)},this.getViewport=function(E){return E.copy(Re)},this.setViewport=function(E,B,N,z){E.isVector4?Re.set(E.x,E.y,E.z,E.w):Re.set(E,B,N,z),me.viewport(D.copy(Re).multiplyScalar(Z).round())},this.getScissor=function(E){return E.copy(Ge)},this.setScissor=function(E,B,N,z){E.isVector4?Ge.set(E.x,E.y,E.z,E.w):Ge.set(E,B,N,z),me.scissor(G.copy(Ge).multiplyScalar(Z).round())},this.getScissorTest=function(){return it},this.setScissorTest=function(E){me.setScissorTest(it=E)},this.setOpaqueSort=function(E){_e=E},this.setTransparentSort=function(E){be=E},this.getClearColor=function(E){return E.copy(Y.getClearColor())},this.setClearColor=function(){Y.setClearColor.apply(Y,arguments)},this.getClearAlpha=function(){return Y.getClearAlpha()},this.setClearAlpha=function(){Y.setClearAlpha.apply(Y,arguments)},this.clear=function(E=!0,B=!0,N=!0){let z=0;if(E){let O=!1;if(P!==null){const he=P.texture.format;O=he===Fc||he===Nc||he===So}if(O){const he=P.texture.type,Ce=he===li||he===Ii||he===kr||he===$s||he===Dc||he===Lc,Le=Y.getClearColor(),Ue=Y.getClearAlpha(),$e=Le.r,je=Le.g,He=Le.b;Ce?(p[0]=$e,p[1]=je,p[2]=He,p[3]=Ue,I.clearBufferuiv(I.COLOR,0,p)):(_[0]=$e,_[1]=je,_[2]=He,_[3]=Ue,I.clearBufferiv(I.COLOR,0,_))}else z|=I.COLOR_BUFFER_BIT}B&&(z|=I.DEPTH_BUFFER_BIT),N&&(z|=I.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),I.clear(z)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",ee,!1),t.removeEventListener("webglcontextrestored",we,!1),t.removeEventListener("webglcontextcreationerror",Me,!1),Y.dispose(),ge.dispose(),Be.dispose(),Se.dispose(),b.dispose(),H.dispose(),W.dispose(),Ke.dispose(),U.dispose(),ce.dispose(),K.dispose(),K.removeEventListener("sessionstart",Di),K.removeEventListener("sessionend",ui),En.stop()};function ee(E){E.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),w=!0}function we(){console.log("THREE.WebGLRenderer: Context Restored."),w=!1;const E=Ve.autoReset,B=ve.enabled,N=ve.autoUpdate,z=ve.needsUpdate,O=ve.type;ye(),Ve.autoReset=E,ve.enabled=B,ve.autoUpdate=N,ve.needsUpdate=z,ve.type=O}function Me(E){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",E.statusMessage)}function Ye(E){const B=E.target;B.removeEventListener("dispose",Ye),Mt(B)}function Mt(E){St(E),Se.remove(E)}function St(E){const B=Se.get(E).programs;B!==void 0&&(B.forEach(function(N){ce.releaseProgram(N)}),E.isShaderMaterial&&ce.releaseShaderCache(E))}this.renderBufferDirect=function(E,B,N,z,O,he){B===null&&(B=Je);const Ce=O.isMesh&&O.matrixWorld.determinant()<0,Le=Nt(E,B,N,z,O);me.setMaterial(z,Ce);let Ue=N.index,$e=1;if(z.wireframe===!0){if(Ue=X.getWireframeAttribute(N),Ue===void 0)return;$e=2}const je=N.drawRange,He=N.attributes.position;let lt=je.start*$e,gt=(je.start+je.count)*$e;he!==null&&(lt=Math.max(lt,he.start*$e),gt=Math.min(gt,(he.start+he.count)*$e)),Ue!==null?(lt=Math.max(lt,0),gt=Math.min(gt,Ue.count)):He!=null&&(lt=Math.max(lt,0),gt=Math.min(gt,He.count));const Dt=gt-lt;if(Dt<0||Dt===1/0)return;Ke.setup(O,z,Le,N,Ue);let Tt,dt=ae;if(Ue!==null&&(Tt=k.get(Ue),dt=Ne,dt.setIndex(Tt)),O.isMesh)z.wireframe===!0?(me.setLineWidth(z.wireframeLinewidth*de()),dt.setMode(I.LINES)):dt.setMode(I.TRIANGLES);else if(O.isLine){let Xe=z.linewidth;Xe===void 0&&(Xe=1),me.setLineWidth(Xe*de()),O.isLineSegments?dt.setMode(I.LINES):O.isLineLoop?dt.setMode(I.LINE_LOOP):dt.setMode(I.LINE_STRIP)}else O.isPoints?dt.setMode(I.POINTS):O.isSprite&&dt.setMode(I.TRIANGLES);if(O.isBatchedMesh)if(O._multiDrawInstances!==null)dt.renderMultiDrawInstances(O._multiDrawStarts,O._multiDrawCounts,O._multiDrawCount,O._multiDrawInstances);else if(re.get("WEBGL_multi_draw"))dt.renderMultiDraw(O._multiDrawStarts,O._multiDrawCounts,O._multiDrawCount);else{const Xe=O._multiDrawStarts,Gt=O._multiDrawCounts,_t=O._multiDrawCount,Pn=Ue?k.get(Ue).bytesPerElement:1,fs=Se.get(z).currentProgram.getUniforms();for(let gn=0;gn<_t;gn++)fs.setValue(I,"_gl_DrawID",gn),dt.render(Xe[gn]/Pn,Gt[gn])}else if(O.isInstancedMesh)dt.renderInstances(lt,Dt,O.count);else if(N.isInstancedBufferGeometry){const Xe=N._maxInstanceCount!==void 0?N._maxInstanceCount:1/0,Gt=Math.min(N.instanceCount,Xe);dt.renderInstances(lt,Dt,Gt)}else dt.render(lt,Dt)};function at(E,B,N){E.transparent===!0&&E.side===Bn&&E.forceSinglePass===!1?(E.side=fn,E.needsUpdate=!0,Fn(E,B,N),E.side=Ci,E.needsUpdate=!0,Fn(E,B,N),E.side=Bn):Fn(E,B,N)}this.compile=function(E,B,N=null){N===null&&(N=E),m=Be.get(N),m.init(B),v.push(m),N.traverseVisible(function(O){O.isLight&&O.layers.test(B.layers)&&(m.pushLight(O),O.castShadow&&m.pushShadow(O))}),E!==N&&E.traverseVisible(function(O){O.isLight&&O.layers.test(B.layers)&&(m.pushLight(O),O.castShadow&&m.pushShadow(O))}),m.setupLights();const z=new Set;return E.traverse(function(O){if(!(O.isMesh||O.isPoints||O.isLine||O.isSprite))return;const he=O.material;if(he)if(Array.isArray(he))for(let Ce=0;Ce{function he(){if(z.forEach(function(Ce){Se.get(Ce).currentProgram.isReady()&&z.delete(Ce)}),z.size===0){O(E);return}setTimeout(he,10)}re.get("KHR_parallel_shader_compile")!==null?he():setTimeout(he,10)})};let Yt=null;function Ht(E){Yt&&Yt(E)}function Di(){En.stop()}function ui(){En.start()}const En=new tf;En.setAnimationLoop(Ht),typeof self<"u"&&En.setContext(self),this.setAnimationLoop=function(E){Yt=E,K.setAnimationLoop(E),E===null?En.stop():En.start()},K.addEventListener("sessionstart",Di),K.addEventListener("sessionend",ui),this.render=function(E,B){if(B!==void 0&&B.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(w===!0)return;if(E.matrixWorldAutoUpdate===!0&&E.updateMatrixWorld(),B.parent===null&&B.matrixWorldAutoUpdate===!0&&B.updateMatrixWorld(),K.enabled===!0&&K.isPresenting===!0&&(K.cameraAutoUpdate===!0&&K.updateCamera(B),B=K.getCamera()),E.isScene===!0&&E.onBeforeRender(x,E,B,P),m=Be.get(E,v.length),m.init(B),v.push(m),Oe.multiplyMatrices(B.projectionMatrix,B.matrixWorldInverse),Q.setFromProjectionMatrix(Oe),Ie=this.localClippingEnabled,ue=$.init(this.clippingPlanes,Ie),g=ge.get(E,y.length),g.init(),y.push(g),K.enabled===!0&&K.isPresenting===!0){const he=x.xr.getDepthSensingMesh();he!==null&&di(he,B,-1/0,x.sortObjects)}di(E,B,0,x.sortObjects),g.finish(),x.sortObjects===!0&&g.sort(_e,be),te=K.enabled===!1||K.isPresenting===!1||K.hasDepthSensing()===!1,te&&Y.addToRenderList(g,E),this.info.render.frame++,ue===!0&&$.beginShadows();const N=m.state.shadowsArray;ve.render(N,E,B),ue===!0&&$.endShadows(),this.info.autoReset===!0&&this.info.reset();const z=g.opaque,O=g.transmissive;if(m.setupLights(),B.isArrayCamera){const he=B.cameras;if(O.length>0)for(let Ce=0,Le=he.length;Ce0&&Wn(z,O,E,B),te&&Y.render(E),Li(g,E,B);P!==null&&C===0&&(R.updateMultisampleRenderTarget(P),R.updateRenderTargetMipmap(P)),E.isScene===!0&&E.onAfterRender(x,E,B),Ke.resetDefaultState(),S=-1,M=null,v.pop(),v.length>0?(m=v[v.length-1],ue===!0&&$.setGlobalState(x.clippingPlanes,m.state.camera)):m=null,y.pop(),y.length>0?g=y[y.length-1]:g=null};function di(E,B,N,z){if(E.visible===!1)return;if(E.layers.test(B.layers)){if(E.isGroup)N=E.renderOrder;else if(E.isLOD)E.autoUpdate===!0&&E.update(B);else if(E.isLight)m.pushLight(E),E.castShadow&&m.pushShadow(E);else if(E.isSprite){if(!E.frustumCulled||Q.intersectsSprite(E)){z&&ze.setFromMatrixPosition(E.matrixWorld).applyMatrix4(Oe);const Ce=W.update(E),Le=E.material;Le.visible&&g.push(E,Ce,Le,N,ze.z,null)}}else if((E.isMesh||E.isLine||E.isPoints)&&(!E.frustumCulled||Q.intersectsObject(E))){const Ce=W.update(E),Le=E.material;if(z&&(E.boundingSphere!==void 0?(E.boundingSphere===null&&E.computeBoundingSphere(),ze.copy(E.boundingSphere.center)):(Ce.boundingSphere===null&&Ce.computeBoundingSphere(),ze.copy(Ce.boundingSphere.center)),ze.applyMatrix4(E.matrixWorld).applyMatrix4(Oe)),Array.isArray(Le)){const Ue=Ce.groups;for(let $e=0,je=Ue.length;$e0&&Xn(O,B,N),he.length>0&&Xn(he,B,N),Ce.length>0&&Xn(Ce,B,N),me.buffers.depth.setTest(!0),me.buffers.depth.setMask(!0),me.buffers.color.setMask(!0),me.setPolygonOffset(!1)}function Wn(E,B,N,z){if((N.isScene===!0?N.overrideMaterial:null)!==null)return;m.state.transmissionRenderTarget[z.id]===void 0&&(m.state.transmissionRenderTarget[z.id]=new Sn(1,1,{generateMipmaps:!0,type:re.has("EXT_color_buffer_half_float")||re.has("EXT_color_buffer_float")?si:li,minFilter:ni,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:ht.workingColorSpace}));const he=m.state.transmissionRenderTarget[z.id],Ce=z.viewport||D;he.setSize(Ce.z*x.transmissionResolutionScale,Ce.w*x.transmissionResolutionScale);const Le=x.getRenderTarget();x.setRenderTarget(he),x.getClearColor(V),J=x.getClearAlpha(),J<1&&x.setClearColor(16777215,.5),x.clear(),te&&Y.render(N);const Ue=x.toneMapping;x.toneMapping=Ti;const $e=z.viewport;if(z.viewport!==void 0&&(z.viewport=void 0),m.setupLightsView(z),ue===!0&&$.setGlobalState(x.clippingPlanes,z),Xn(E,N,z),R.updateMultisampleRenderTarget(he),R.updateRenderTargetMipmap(he),re.has("WEBGL_multisampled_render_to_texture")===!1){let je=!1;for(let He=0,lt=B.length;He0),He=!!N.morphAttributes.position,lt=!!N.morphAttributes.normal,gt=!!N.morphAttributes.color;let Dt=Ti;z.toneMapped&&(P===null||P.isXRRenderTarget===!0)&&(Dt=x.toneMapping);const Tt=N.morphAttributes.position||N.morphAttributes.normal||N.morphAttributes.color,dt=Tt!==void 0?Tt.length:0,Xe=Se.get(z),Gt=m.state.lights;if(ue===!0&&(Ie===!0||E!==M)){const en=E===M&&z.id===S;$.setState(z,E,en)}let _t=!1;z.version===Xe.__version?(Xe.needsLights&&Xe.lightsStateVersion!==Gt.state.version||Xe.outputColorSpace!==Le||O.isBatchedMesh&&Xe.batching===!1||!O.isBatchedMesh&&Xe.batching===!0||O.isBatchedMesh&&Xe.batchingColor===!0&&O.colorTexture===null||O.isBatchedMesh&&Xe.batchingColor===!1&&O.colorTexture!==null||O.isInstancedMesh&&Xe.instancing===!1||!O.isInstancedMesh&&Xe.instancing===!0||O.isSkinnedMesh&&Xe.skinning===!1||!O.isSkinnedMesh&&Xe.skinning===!0||O.isInstancedMesh&&Xe.instancingColor===!0&&O.instanceColor===null||O.isInstancedMesh&&Xe.instancingColor===!1&&O.instanceColor!==null||O.isInstancedMesh&&Xe.instancingMorph===!0&&O.morphTexture===null||O.isInstancedMesh&&Xe.instancingMorph===!1&&O.morphTexture!==null||Xe.envMap!==Ue||z.fog===!0&&Xe.fog!==he||Xe.numClippingPlanes!==void 0&&(Xe.numClippingPlanes!==$.numPlanes||Xe.numIntersection!==$.numIntersection)||Xe.vertexAlphas!==$e||Xe.vertexTangents!==je||Xe.morphTargets!==He||Xe.morphNormals!==lt||Xe.morphColors!==gt||Xe.toneMapping!==Dt||Xe.morphTargetsCount!==dt)&&(_t=!0):(_t=!0,Xe.__version=z.version);let Pn=Xe.currentProgram;_t===!0&&(Pn=Fn(z,B,O));let fs=!1,gn=!1,pr=!1;const bt=Pn.getUniforms(),An=Xe.uniforms;if(me.useProgram(Pn.program)&&(fs=!0,gn=!0,pr=!0),z.id!==S&&(S=z.id,gn=!0),fs||M!==E){me.buffers.depth.getReversed()?(pe.copy(E.projectionMatrix),Up(pe),Np(pe),bt.setValue(I,"projectionMatrix",pe)):bt.setValue(I,"projectionMatrix",E.projectionMatrix),bt.setValue(I,"viewMatrix",E.matrixWorldInverse);const ln=bt.map.cameraPosition;ln!==void 0&&ln.setValue(I,We.setFromMatrixPosition(E.matrixWorld)),Ae.logarithmicDepthBuffer&&bt.setValue(I,"logDepthBufFC",2/(Math.log(E.far+1)/Math.LN2)),(z.isMeshPhongMaterial||z.isMeshToonMaterial||z.isMeshLambertMaterial||z.isMeshBasicMaterial||z.isMeshStandardMaterial||z.isShaderMaterial)&&bt.setValue(I,"isOrthographic",E.isOrthographicCamera===!0),M!==E&&(M=E,gn=!0,pr=!0)}if(O.isSkinnedMesh){bt.setOptional(I,O,"bindMatrix"),bt.setOptional(I,O,"bindMatrixInverse");const en=O.skeleton;en&&(en.boneTexture===null&&en.computeBoneTexture(),bt.setValue(I,"boneTexture",en.boneTexture,R))}O.isBatchedMesh&&(bt.setOptional(I,O,"batchingTexture"),bt.setValue(I,"batchingTexture",O._matricesTexture,R),bt.setOptional(I,O,"batchingIdTexture"),bt.setValue(I,"batchingIdTexture",O._indirectTexture,R),bt.setOptional(I,O,"batchingColorTexture"),O._colorsTexture!==null&&bt.setValue(I,"batchingColorTexture",O._colorsTexture,R));const Cn=N.morphAttributes;if((Cn.position!==void 0||Cn.normal!==void 0||Cn.color!==void 0)&&ie.update(O,N,Pn),(gn||Xe.receiveShadow!==O.receiveShadow)&&(Xe.receiveShadow=O.receiveShadow,bt.setValue(I,"receiveShadow",O.receiveShadow)),z.isMeshGouraudMaterial&&z.envMap!==null&&(An.envMap.value=Ue,An.flipEnvMap.value=Ue.isCubeTexture&&Ue.isRenderTargetTexture===!1?-1:1),z.isMeshStandardMaterial&&z.envMap===null&&B.environment!==null&&(An.envMapIntensity.value=B.environmentIntensity),gn&&(bt.setValue(I,"toneMappingExposure",x.toneMappingExposure),Xe.needsLights&&mn(An,pr),he&&z.fog===!0&&oe.refreshFogUniforms(An,he),oe.refreshMaterialUniforms(An,z,Z,se,m.state.transmissionRenderTarget[E.id]),$a.upload(I,Ui(Xe),An,R)),z.isShaderMaterial&&z.uniformsNeedUpdate===!0&&($a.upload(I,Ui(Xe),An,R),z.uniformsNeedUpdate=!1),z.isSpriteMaterial&&bt.setValue(I,"center",O.center),bt.setValue(I,"modelViewMatrix",O.modelViewMatrix),bt.setValue(I,"normalMatrix",O.normalMatrix),bt.setValue(I,"modelMatrix",O.matrixWorld),z.isShaderMaterial||z.isRawShaderMaterial){const en=z.uniformsGroups;for(let ln=0,No=en.length;ln0&&R.useMultisampledRTT(E)===!1?O=Se.get(E).__webglMultisampledFramebuffer:Array.isArray(je)?O=je[N]:O=je,D.copy(E.viewport),G.copy(E.scissor),F=E.scissorTest}else D.copy(Re).multiplyScalar(Z).floor(),G.copy(Ge).multiplyScalar(Z).floor(),F=it;if(N!==0&&(O=pi),me.bindFramebuffer(I.FRAMEBUFFER,O)&&z&&me.drawBuffers(E,O),me.viewport(D),me.scissor(G),me.setScissorTest(F),he){const Ue=Se.get(E.texture);I.framebufferTexture2D(I.FRAMEBUFFER,I.COLOR_ATTACHMENT0,I.TEXTURE_CUBE_MAP_POSITIVE_X+B,Ue.__webglTexture,N)}else if(Ce){const Ue=Se.get(E.texture),$e=B;I.framebufferTextureLayer(I.FRAMEBUFFER,I.COLOR_ATTACHMENT0,Ue.__webglTexture,N,$e)}else if(E!==null&&N!==0){const Ue=Se.get(E.texture);I.framebufferTexture2D(I.FRAMEBUFFER,I.COLOR_ATTACHMENT0,I.TEXTURE_2D,Ue.__webglTexture,N)}S=-1},this.readRenderTargetPixels=function(E,B,N,z,O,he,Ce){if(!(E&&E.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Le=Se.get(E).__webglFramebuffer;if(E.isWebGLCubeRenderTarget&&Ce!==void 0&&(Le=Le[Ce]),Le){me.bindFramebuffer(I.FRAMEBUFFER,Le);try{const Ue=E.texture,$e=Ue.format,je=Ue.type;if(!Ae.textureFormatReadable($e)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!Ae.textureTypeReadable(je)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}B>=0&&B<=E.width-z&&N>=0&&N<=E.height-O&&I.readPixels(B,N,z,O,Pe.convert($e),Pe.convert(je),he)}finally{const Ue=P!==null?Se.get(P).__webglFramebuffer:null;me.bindFramebuffer(I.FRAMEBUFFER,Ue)}}},this.readRenderTargetPixelsAsync=async function(E,B,N,z,O,he,Ce){if(!(E&&E.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let Le=Se.get(E).__webglFramebuffer;if(E.isWebGLCubeRenderTarget&&Ce!==void 0&&(Le=Le[Ce]),Le){const Ue=E.texture,$e=Ue.format,je=Ue.type;if(!Ae.textureFormatReadable($e))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!Ae.textureTypeReadable(je))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");if(B>=0&&B<=E.width-z&&N>=0&&N<=E.height-O){me.bindFramebuffer(I.FRAMEBUFFER,Le);const He=I.createBuffer();I.bindBuffer(I.PIXEL_PACK_BUFFER,He),I.bufferData(I.PIXEL_PACK_BUFFER,he.byteLength,I.STREAM_READ),I.readPixels(B,N,z,O,Pe.convert($e),Pe.convert(je),0);const lt=P!==null?Se.get(P).__webglFramebuffer:null;me.bindFramebuffer(I.FRAMEBUFFER,lt);const gt=I.fenceSync(I.SYNC_GPU_COMMANDS_COMPLETE,0);return I.flush(),await Lp(I,gt,4),I.bindBuffer(I.PIXEL_PACK_BUFFER,He),I.getBufferSubData(I.PIXEL_PACK_BUFFER,0,he),I.deleteBuffer(He),I.deleteSync(gt),he}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")}},this.copyFramebufferToTexture=function(E,B=null,N=0){E.isTexture!==!0&&(Fs("WebGLRenderer: copyFramebufferToTexture function signature has changed."),B=arguments[0]||null,E=arguments[1]);const z=Math.pow(2,-N),O=Math.floor(E.image.width*z),he=Math.floor(E.image.height*z),Ce=B!==null?B.x:0,Le=B!==null?B.y:0;R.setTexture2D(E,0),I.copyTexSubImage2D(I.TEXTURE_2D,N,0,0,Ce,Le,O,he),me.unbindTexture()};const fr=I.createFramebuffer(),ds=I.createFramebuffer();this.copyTextureToTexture=function(E,B,N=null,z=null,O=0,he=null){E.isTexture!==!0&&(Fs("WebGLRenderer: copyTextureToTexture function signature has changed."),z=arguments[0]||null,E=arguments[1],B=arguments[2],he=arguments[3]||0,N=null),he===null&&(O!==0?(Fs("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),he=O,O=0):he=0);let Ce,Le,Ue,$e,je,He,lt,gt,Dt;const Tt=E.isCompressedTexture?E.mipmaps[he]:E.image;if(N!==null)Ce=N.max.x-N.min.x,Le=N.max.y-N.min.y,Ue=N.isBox3?N.max.z-N.min.z:1,$e=N.min.x,je=N.min.y,He=N.isBox3?N.min.z:0;else{const Cn=Math.pow(2,-O);Ce=Math.floor(Tt.width*Cn),Le=Math.floor(Tt.height*Cn),E.isDataArrayTexture?Ue=Tt.depth:E.isData3DTexture?Ue=Math.floor(Tt.depth*Cn):Ue=1,$e=0,je=0,He=0}z!==null?(lt=z.x,gt=z.y,Dt=z.z):(lt=0,gt=0,Dt=0);const dt=Pe.convert(B.format),Xe=Pe.convert(B.type);let Gt;B.isData3DTexture?(R.setTexture3D(B,0),Gt=I.TEXTURE_3D):B.isDataArrayTexture||B.isCompressedArrayTexture?(R.setTexture2DArray(B,0),Gt=I.TEXTURE_2D_ARRAY):(R.setTexture2D(B,0),Gt=I.TEXTURE_2D),I.pixelStorei(I.UNPACK_FLIP_Y_WEBGL,B.flipY),I.pixelStorei(I.UNPACK_PREMULTIPLY_ALPHA_WEBGL,B.premultiplyAlpha),I.pixelStorei(I.UNPACK_ALIGNMENT,B.unpackAlignment);const _t=I.getParameter(I.UNPACK_ROW_LENGTH),Pn=I.getParameter(I.UNPACK_IMAGE_HEIGHT),fs=I.getParameter(I.UNPACK_SKIP_PIXELS),gn=I.getParameter(I.UNPACK_SKIP_ROWS),pr=I.getParameter(I.UNPACK_SKIP_IMAGES);I.pixelStorei(I.UNPACK_ROW_LENGTH,Tt.width),I.pixelStorei(I.UNPACK_IMAGE_HEIGHT,Tt.height),I.pixelStorei(I.UNPACK_SKIP_PIXELS,$e),I.pixelStorei(I.UNPACK_SKIP_ROWS,je),I.pixelStorei(I.UNPACK_SKIP_IMAGES,He);const bt=E.isDataArrayTexture||E.isData3DTexture,An=B.isDataArrayTexture||B.isData3DTexture;if(E.isDepthTexture){const Cn=Se.get(E),en=Se.get(B),ln=Se.get(Cn.__renderTarget),No=Se.get(en.__renderTarget);me.bindFramebuffer(I.READ_FRAMEBUFFER,ln.__webglFramebuffer),me.bindFramebuffer(I.DRAW_FRAMEBUFFER,No.__webglFramebuffer);for(let Ni=0;NiMath.PI&&(n-=hn),i<-Math.PI?i+=hn:i>Math.PI&&(i-=hn),n<=i?this._spherical.theta=Math.max(n,Math.min(i,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+i)/2?Math.max(n,this._spherical.theta):Math.min(i,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let s=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{const a=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),s=a!=this._spherical.radius}if(Ft.setFromSpherical(this._spherical),Ft.applyQuaternion(this._quatInverse),t.copy(this.target).add(Ft),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let a=null;if(this.object.isPerspectiveCamera){const o=Ft.length();a=this._clampDistance(o*this._scale);const l=o-a;this.object.position.addScaledVector(this._dollyDirection,l),this.object.updateMatrixWorld(),s=!!l}else if(this.object.isOrthographicCamera){const o=new A(this._mouse.x,this._mouse.y,0);o.unproject(this.object);const l=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),s=l!==this.object.zoom;const c=new A(this._mouse.x,this._mouse.y,0);c.unproject(this.object),this.object.position.sub(c).add(o),this.object.updateMatrixWorld(),a=Ft.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),this.zoomToCursor=!1;a!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(a).add(this.object.position):(Va.origin.copy(this.object.position),Va.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(Va.direction))El||8*(1-this._lastQuaternion.dot(this.object.quaternion))>El||this._lastTargetPosition.distanceToSquared(this.target)>El?(this.dispatchEvent(td),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e!==null?hn/60*this.autoRotateSpeed*e:hn/60/60*this.autoRotateSpeed}_getZoomScale(e){const t=Math.abs(e*.01);return Math.pow(.95,this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){Ft.setFromMatrixColumn(t,0),Ft.multiplyScalar(-e),this._panOffset.add(Ft)}_panUp(e,t){this.screenSpacePanning===!0?Ft.setFromMatrixColumn(t,1):(Ft.setFromMatrixColumn(t,0),Ft.crossVectors(this.object.up,Ft)),Ft.multiplyScalar(e),this._panOffset.add(Ft)}_pan(e,t){const n=this.domElement;if(this.object.isPerspectiveCamera){const i=this.object.position;Ft.copy(i).sub(this.target);let s=Ft.length();s*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*s/n.clientHeight,this.object.matrix),this._panUp(2*t*s/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;const n=this.domElement.getBoundingClientRect(),i=e-n.left,s=t-n.top,a=n.width,o=n.height;this._mouse.x=i/a*2-1,this._mouse.y=-(s/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(hn*this._rotateDelta.x/t.clientHeight),this._rotateUp(hn*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(hn*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-hn*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(hn*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-hn*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),i=.5*(e.pageY+t.y);this._rotateStart.set(n,i)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),i=.5*(e.pageY+t.y);this._panStart.set(n,i)}}_handleTouchStartDolly(e){const t=this._getSecondPointerPosition(e),n=e.pageX-t.x,i=e.pageY-t.y,s=Math.sqrt(n*n+i*i);this._dollyStart.set(0,s)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{const n=this._getSecondPointerPosition(e),i=.5*(e.pageX+n.x),s=.5*(e.pageY+n.y);this._rotateEnd.set(i,s)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);const t=this.domElement;this._rotateLeft(hn*this._rotateDelta.x/t.clientHeight),this._rotateUp(hn*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{const t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),i=.5*(e.pageY+t.y);this._panEnd.set(n,i)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){const t=this._getSecondPointerPosition(e),n=e.pageX-t.x,i=e.pageY-t.y,s=Math.sqrt(n*n+i*i);this._dollyEnd.set(0,s),this._dollyDelta.set(0,Math.pow(this._dollyEnd.y/this._dollyStart.y,this.zoomSpeed)),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);const a=(e.pageX+t.x)*.5,o=(e.pageY+t.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t - varying vec2 vUv; - uniform sampler2D colorTexture; - uniform vec2 invSize; - uniform vec2 direction; - uniform float gaussianCoefficients[KERNEL_RADIUS]; - - void main() { - float weightSum = gaussianCoefficients[0]; - vec3 diffuseSum = texture2D( colorTexture, vUv ).rgb * weightSum; - for( int i = 1; i < KERNEL_RADIUS; i ++ ) { - float x = float(i); - float w = gaussianCoefficients[i]; - vec2 uvOffset = direction * invSize * x; - vec3 sample1 = texture2D( colorTexture, vUv + uvOffset ).rgb; - vec3 sample2 = texture2D( colorTexture, vUv - uvOffset ).rgb; - diffuseSum += (sample1 + sample2) * w; - weightSum += 2.0 * w; - } - gl_FragColor = vec4(diffuseSum/weightSum, 1.0); - }`})}getCompositeMaterial(e){return new Xt({defines:{NUM_MIPS:e},uniforms:{blurTexture1:{value:null},blurTexture2:{value:null},blurTexture3:{value:null},blurTexture4:{value:null},blurTexture5:{value:null},bloomStrength:{value:1},bloomFactors:{value:null},bloomTintColors:{value:null},bloomRadius:{value:0}},vertexShader:`varying vec2 vUv; - void main() { - vUv = uv; - gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); - }`,fragmentShader:`varying vec2 vUv; - uniform sampler2D blurTexture1; - uniform sampler2D blurTexture2; - uniform sampler2D blurTexture3; - uniform sampler2D blurTexture4; - uniform sampler2D blurTexture5; - uniform float bloomStrength; - uniform float bloomRadius; - uniform float bloomFactors[NUM_MIPS]; - uniform vec3 bloomTintColors[NUM_MIPS]; - - float lerpBloomFactor(const in float factor) { - float mirrorFactor = 1.2 - factor; - return mix(factor, mirrorFactor, bloomRadius); - } - - void main() { - gl_FragColor = bloomStrength * ( lerpBloomFactor(bloomFactors[0]) * vec4(bloomTintColors[0], 1.0) * texture2D(blurTexture1, vUv) + - lerpBloomFactor(bloomFactors[1]) * vec4(bloomTintColors[1], 1.0) * texture2D(blurTexture2, vUv) + - lerpBloomFactor(bloomFactors[2]) * vec4(bloomTintColors[2], 1.0) * texture2D(blurTexture3, vUv) + - lerpBloomFactor(bloomFactors[3]) * vec4(bloomTintColors[3], 1.0) * texture2D(blurTexture4, vUv) + - lerpBloomFactor(bloomFactors[4]) * vec4(bloomTintColors[4], 1.0) * texture2D(blurTexture5, vUv) ); - }`})}}ir.BlurDirectionX=new j(1,0);ir.BlurDirectionY=new j(0,1);function eM(){const e=new Float32Array(6e3),t=new Float32Array(2e3*3);for(let s=0;s<2e3;s++){const a=Math.random()*Math.PI*2,o=Math.acos(2*Math.random()-1),l=600+Math.random()*400;e[s*3]=l*Math.sin(o)*Math.cos(a),e[s*3+1]=l*Math.sin(o)*Math.sin(a),e[s*3+2]=l*Math.cos(o);const c=Math.random();t[s*3]=.55+c*.25,t[s*3+1]=.55+c*.15,t[s*3+2]=.75+c*.25}const n=new qe;n.setAttribute("position",new rt(e,3)),n.setAttribute("color",new rt(t,3));const i=new Ai({size:1.6,sizeAttenuation:!0,vertexColors:!0,transparent:!0,opacity:.6,depthWrite:!1,blending:Wt});return new as(n,i)}function tM(r){const e=new Cd;e.background=new ne(328975),e.fog=new Yr(657946,.0035);const t=new kt(60,r.clientWidth/r.clientHeight,.1,2e3);t.position.set(0,30,80);const n=new Dy({antialias:!0,alpha:!0,powerPreference:"high-performance"});n.setSize(r.clientWidth,r.clientHeight),n.setPixelRatio(Math.min(window.devicePixelRatio,2)),n.toneMapping=cd,n.toneMappingExposure=1.25,r.appendChild(n.domElement);const i=new Uy(t,n.domElement);i.enableDamping=!0,i.dampingFactor=.05,i.rotateSpeed=.5,i.zoomSpeed=.8,i.minDistance=12,i.maxDistance=180,i.autoRotate=!0,i.autoRotateSpeed=.3;const s=new $y(n);s.addPass(new jy(e,t));const a=new ir(new j(r.clientWidth,r.clientHeight),.55,.6,.2);s.addPass(a);const o=new Jd(2763354,.7);e.add(o);const l=new _c(6514417,1.8,240);l.position.set(50,50,50),e.add(l);const c=new _c(11032055,1.2,240);c.position.set(-50,-30,-50),e.add(c);const h=eM();e.add(h);const u=new Wg;u.params.Points={threshold:2};const f=new j;return{scene:e,camera:t,renderer:n,controls:i,composer:s,bloomPass:a,raycaster:u,mouse:f,lights:{ambient:o,point1:l,point2:c},starfield:h}}function nM(r,e){const t=e.clientWidth,n=e.clientHeight;r.camera.aspect=t/n,r.camera.updateProjectionMatrix(),r.renderer.setSize(t,n),r.composer.setSize(t,n)}function iM(r){r.scene.traverse(e=>{var t;(e instanceof yt||e instanceof Pd)&&((t=e.geometry)==null||t.dispose(),Array.isArray(e.material)?e.material.forEach(n=>n.dispose()):e.material&&e.material.dispose())}),r.renderer.dispose(),r.composer.dispose()}class sM{constructor(e){ke(this,"positions");ke(this,"velocities");ke(this,"running",!0);ke(this,"step",0);ke(this,"repulsionStrength",500);ke(this,"attractionStrength",.01);ke(this,"dampening",.9);ke(this,"baseMaxSteps",300);ke(this,"maxSteps",300);ke(this,"cooldownExtension",0);this.positions=e,this.velocities=new Map;for(const t of e.keys())this.velocities.set(t,new A)}addNode(e,t){this.positions.set(e,t.clone()),this.velocities.set(e,new A),this.cooldownExtension=100,this.maxSteps=Math.max(this.maxSteps,this.step+this.cooldownExtension),this.running=!0}removeNode(e){this.positions.delete(e),this.velocities.delete(e)}tick(e){if(!this.running)return;if(this.step>this.maxSteps){this.cooldownExtension>0&&(this.cooldownExtension=0,this.maxSteps=this.baseMaxSteps);return}this.step++;const t=Math.max(.001,1-this.step/this.maxSteps),n=Array.from(this.positions.keys());for(let i=0;i=.7?"active":r>=.4?"dormant":r>=.1?"silent":"unavailable"}const bc={active:"#10b981",dormant:"#f59e0b",silent:"#8b5cf6",unavailable:"#6b7280"},aM={active:"Easily retrievable (retention ≥ 70%)",dormant:"Retrievable with effort (40–70%)",silent:"Difficult, needs cues (10–40%)",unavailable:"Needs reinforcement (< 10%)"},Qa={aha:"#FFD700",confusion:"#EF4444",failure:"#9CA3AF"},oM={aha:"Aha moments and breakthroughs",confusion:"Confusions and weak spots",failure:"Failures and guardrails"};function sd(r,e){return e==="state"?bc[rM(r.retention)]:e==="ahagraph"?lM(r)??Il[r.type]??"#8B95A5":Il[r.type]||"#8B95A5"}function lM(r){const e=new Set((r.tags??[]).map(t=>t.toLowerCase()));return e.has("aha")?Qa.aha:e.has("confusion")||e.has("weak-spot")?Qa.confusion:e.has("failure")||e.has("guardrail")?Qa.failure:null}let Ar=null;function Sc(){if(Ar)return Ar;const r=128,e=document.createElement("canvas");e.width=r,e.height=r;const t=e.getContext("2d");if(!t)return Ar=new Et,Ar;const n=t.createRadialGradient(r/2,r/2,0,r/2,r/2,r/2);n.addColorStop(0,"rgba(255, 255, 255, 1.0)"),n.addColorStop(.25,"rgba(255, 255, 255, 0.7)"),n.addColorStop(.55,"rgba(255, 255, 255, 0.2)"),n.addColorStop(1,"rgba(255, 255, 255, 0.0)"),t.fillStyle=n,t.fillRect(0,0,r,r);const i=new Dd(e);return i.needsUpdate=!0,Ar=i,i}function rd(r){if(r===0||r===1)return r;const e=.3;return Math.pow(2,-10*r)*Math.sin((r-e/4)*(2*Math.PI)/e)+1}function cM(r){return r*r*((1.70158+1)*r-1.70158)}class hM{constructor(){ke(this,"group");ke(this,"meshMap",new Map);ke(this,"glowMap",new Map);ke(this,"positions",new Map);ke(this,"labelSprites",new Map);ke(this,"hoveredNode",null);ke(this,"selectedNode",null);ke(this,"colorMode","type");ke(this,"materializingNodes",[]);ke(this,"dissolvingNodes",[]);ke(this,"growingNodes",[]);this.group=new ns}setColorMode(e){if(this.colorMode!==e){this.colorMode=e;for(const[t,n]of this.meshMap){const i=n.userData.retention??0,s=n.userData.type??"fact",a=Array.isArray(n.userData.tags)?n.userData.tags:[],l=sd({type:s,retention:i,tags:a},e),c=new ne(l),h=n.material;h.color.copy(c),h.emissive.copy(c);const u=this.glowMap.get(t);u&&u.material.color.copy(c)}}}createNodes(e){const t=(1+Math.sqrt(5))/2,n=e.length;for(let i=0;i0,o=new cr(i,16,16),l=new ah({color:new ne(s),emissive:new ne(s),emissiveIntensity:a?0:.3+e.retention*.5,roughness:.3,metalness:.1,transparent:!0,opacity:a?.2:.3+e.retention*.7}),c=new yt(o,l);c.position.copy(t),c.scale.setScalar(n),c.userData={nodeId:e.id,type:e.type,retention:e.retention,tags:e.tags},this.meshMap.set(e.id,c),this.group.add(c);const h=new rs({map:Sc(),color:new ne(s),transparent:!0,opacity:n>0?a?.1:.3+e.retention*.35:0,blending:Wt,depthWrite:!1}),u=new ts(h);u.scale.set(i*6*n,i*6*n,1),u.position.copy(t),u.userData={isGlow:!0,nodeId:e.id},this.glowMap.set(e.id,u),this.group.add(u);const f=e.label||e.type,d=this.createTextSprite(f,"#94a3b8");return d.position.copy(t),d.position.y+=i*2+1.5,d.userData={isLabel:!0,nodeId:e.id,offset:i*2+1.5},this.group.add(d),this.labelSprites.set(e.id,d),{mesh:c,glow:u,label:d,size:i}}addNode(e,t,n={}){const i=(t==null?void 0:t.clone())??new A((Math.random()-.5)*40,(Math.random()-.5)*40,(Math.random()-.5)*40);this.positions.set(e.id,i);const{mesh:s,glow:a,label:o}=this.createNodeMeshes(e,i,0);return s.scale.setScalar(.001),a.scale.set(.001,.001,1),a.material.opacity=0,o.material.opacity=0,n.isBirthRitual?(s.visible=!1,a.visible=!1,o.visible=!1,s.userData.birthRitualPending={totalFrames:30,targetScale:.5+e.retention*2}):this.materializingNodes.push({id:e.id,frame:0,totalFrames:30,mesh:s,glow:a,label:o,targetScale:.5+e.retention*2}),i}igniteNode(e){const t=this.meshMap.get(e),n=this.glowMap.get(e),i=this.labelSprites.get(e);if(!t||!n||!i)return;const s=t.userData.birthRitualPending;s&&(t.visible=!0,n.visible=!0,i.visible=!0,delete t.userData.birthRitualPending,this.materializingNodes.push({id:e,frame:0,totalFrames:s.totalFrames,mesh:t,glow:n,label:i,targetScale:s.targetScale}))}removeNode(e){const t=this.meshMap.get(e),n=this.glowMap.get(e),i=this.labelSprites.get(e);!t||!n||!i||(this.materializingNodes=this.materializingNodes.filter(s=>s.id!==e),this.dissolvingNodes.push({id:e,frame:0,totalFrames:60,mesh:t,glow:n,label:i,originalScale:t.scale.x}))}growNode(e,t){const n=this.meshMap.get(e);if(!n)return;const i=n.scale.x,s=.5+t*2;n.userData.retention=t,this.growingNodes.push({id:e,frame:0,totalFrames:30,startScale:i,targetScale:s})}createTextSprite(e,t){const n=document.createElement("canvas"),i=n.getContext("2d");if(!i){const m=new Et;return new ts(new rs({map:m,transparent:!0,opacity:0}))}n.width=512,n.height=64;const s=e.length>40?e.slice(0,37)+"...":e;i.clearRect(0,0,n.width,n.height),i.font='600 22px -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif';const o=i.measureText(s).width,c=Math.min(o+14*2,n.width-4),h=40,u=(n.width-c)/2,f=(n.height-h)/2,d=h/2;i.fillStyle="rgba(10, 16, 28, 0.82)",i.beginPath(),i.moveTo(u+d,f),i.lineTo(u+c-d,f),i.quadraticCurveTo(u+c,f,u+c,f+d),i.lineTo(u+c,f+h-d),i.quadraticCurveTo(u+c,f+h,u+c-d,f+h),i.lineTo(u+d,f+h),i.quadraticCurveTo(u,f+h,u,f+h-d),i.lineTo(u,f+d),i.quadraticCurveTo(u,f,u+d,f),i.closePath(),i.fill(),i.strokeStyle="rgba(148, 163, 184, 0.18)",i.lineWidth=1,i.stroke(),i.textAlign="center",i.textBaseline="middle",i.fillStyle=t,i.fillText(s,n.width/2,n.height/2+1);const p=new Dd(n);p.needsUpdate=!0;const _=new rs({map:p,transparent:!0,opacity:0,depthTest:!1,sizeAttenuation:!0}),g=new ts(_);return g.scale.set(9,1.2,1),g}updatePositions(){this.group.children.forEach(e=>{if(e.userData.nodeId){const t=this.positions.get(e.userData.nodeId);if(!t)return;e.userData.isGlow?e.position.copy(t):e.userData.isLabel?(e.position.copy(t),e.position.y+=e.userData.offset):e instanceof yt&&e.position.copy(t)}})}animate(e,t,n,i=1){var a,o;for(let l=this.materializingNodes.length-1;l>=0;l--){const c=this.materializingNodes[l];c.frame++;const h=Math.min(c.frame/c.totalFrames,1),u=rd(h);if(c.mesh.scale.setScalar(Math.max(.001,u)),c.frame>=5){const f=Math.min((c.frame-5)/5,1),d=c.glow.material;d.opacity=f*.4;const p=c.targetScale*6*u;c.glow.scale.set(p,p,1)}if(c.frame>=40){const f=Math.min((c.frame-40)/20,1);c.label.material.opacity=f*.9}c.frame>=60&&this.materializingNodes.splice(l,1)}for(let l=this.dissolvingNodes.length-1;l>=0;l--){const c=this.dissolvingNodes[l];c.frame++;const h=Math.min(c.frame/c.totalFrames,1),u=1-cM(h),f=Math.max(.001,c.originalScale*u);c.mesh.scale.setScalar(f);const d=f*6;c.glow.scale.set(d,d,1);const p=c.mesh.material;p.opacity*=.97,c.glow.material.opacity*=.95,c.label.material.opacity*=.93,c.frame>=c.totalFrames&&(this.group.remove(c.mesh),this.group.remove(c.glow),this.group.remove(c.label),c.mesh.geometry.dispose(),c.mesh.material.dispose(),(a=c.glow.material.map)==null||a.dispose(),c.glow.material.dispose(),(o=c.label.material.map)==null||o.dispose(),c.label.material.dispose(),this.meshMap.delete(c.id),this.glowMap.delete(c.id),this.labelSprites.delete(c.id),this.positions.delete(c.id),this.dissolvingNodes.splice(l,1))}for(let l=this.growingNodes.length-1;l>=0;l--){const c=this.growingNodes[l];c.frame++;const h=Math.min(c.frame/c.totalFrames,1),u=c.startScale+(c.targetScale-c.startScale)*rd(h),f=this.meshMap.get(c.id);f&&f.scale.setScalar(u);const d=this.glowMap.get(c.id);if(d){const p=u*6;d.scale.set(p,p,1)}c.frame>=c.totalFrames&&this.growingNodes.splice(l,1)}const s=new Set([...this.materializingNodes.map(l=>l.id),...this.dissolvingNodes.map(l=>l.id),...this.growingNodes.map(l=>l.id)]);this.meshMap.forEach((l,c)=>{if(s.has(c))return;const h=t.find(y=>y.id===c);if(!h)return;const u=1+Math.sin(e*1.5+t.indexOf(h)*.5)*.15*h.retention;l.scale.setScalar(u);const f=this.positions.get(c),d=f?n.position.distanceTo(f):0,p=1+Math.min(1.4,Math.max(0,(d-60)/100)),_=l.material;if(c===this.hoveredNode)_.emissiveIntensity=1*i;else if(c===this.selectedNode)_.emissiveIntensity=.8*i;else{const v=.3+h.retention*.5+Math.sin(e*(.8+h.retention*.7))*.1*h.retention;_.emissiveIntensity=v*i*p}const g=.3+h.retention*.7;_.opacity=Math.min(1,g*i*p);const m=this.glowMap.get(c);if(m){const y=m.material,v=.3+h.retention*.35;y.opacity=Math.min(.95,v*i*p)}}),this.labelSprites.forEach((l,c)=>{if(s.has(c))return;const h=this.positions.get(c);if(!h)return;const u=n.position.distanceTo(h),f=l.material,d=c===this.hoveredNode||c===this.selectedNode?1:u<40?.9:u<80?.9*(1-(u-40)/40):0;f.opacity+=(d-f.opacity)*.1})}getMeshes(){return Array.from(this.meshMap.values())}dispose(){this.group.traverse(e=>{var t,n,i,s,a;e instanceof yt?((t=e.geometry)==null||t.dispose(),(n=e.material)==null||n.dispose()):e instanceof ts&&((s=(i=e.material)==null?void 0:i.map)==null||s.dispose(),(a=e.material)==null||a.dispose())}),this.materializingNodes=[],this.dissolvingNodes=[],this.growingNodes=[]}}function uM(r){return 1-Math.pow(1-r,3)}class dM{constructor(){ke(this,"group");ke(this,"growingEdges",[]);ke(this,"dissolvingEdges",[]);this.group=new ns}createEdges(e,t){for(const n of e){const i=t.get(n.source),s=t.get(n.target);if(!i||!s)continue;const a=[i,s],o=new qe().setFromPoints(a),l=new qt({color:9133302,transparent:!0,opacity:Math.min(.25+n.weight*.5,.8),blending:Wt,depthWrite:!1}),c=new Vn(o,l);c.userData={source:n.source,target:n.target},this.group.add(c)}}addEdge(e,t){const n=t.get(e.source),i=t.get(e.target);if(!n||!i)return;const s=[n.clone(),n.clone()],a=new qe().setFromPoints(s),o=new qt({color:9133302,transparent:!0,opacity:0,blending:Wt,depthWrite:!1}),l=new Vn(a,o);l.userData={source:e.source,target:e.target},this.group.add(l),this.growingEdges.push({line:l,source:e.source,target:e.target,frame:0,totalFrames:45})}removeEdgesForNode(e){const t=[];this.group.children.forEach(n=>{const i=n;(i.userData.source===e||i.userData.target===e)&&t.push(i)});for(const n of t)this.growingEdges=this.growingEdges.filter(i=>i.line!==n),this.dissolvingEdges.push({line:n,frame:0,totalFrames:40})}animateEdges(e){for(let t=this.growingEdges.length-1;t>=0;t--){const n=this.growingEdges[t];n.frame++;const i=uM(Math.min(n.frame/n.totalFrames,1)),s=e.get(n.source),a=e.get(n.target);if(!s||!a)continue;const o=s.clone().lerp(a,i),l=n.line.geometry.attributes.position;l.setXYZ(0,s.x,s.y,s.z),l.setXYZ(1,o.x,o.y,o.z),l.needsUpdate=!0;const c=n.line.material;c.opacity=i*.65,n.frame>=n.totalFrames&&(c.opacity=.65,this.growingEdges.splice(t,1))}for(let t=this.dissolvingEdges.length-1;t>=0;t--){const n=this.dissolvingEdges[t];n.frame++;const i=n.frame/n.totalFrames,s=n.line.material;s.opacity=Math.max(0,.65*(1-i)),n.frame>=n.totalFrames&&(this.group.remove(n.line),n.line.geometry.dispose(),n.line.material.dispose(),this.dissolvingEdges.splice(t,1))}}updatePositions(e){this.group.children.forEach(t=>{const n=t;if(this.growingEdges.some(a=>a.line===n)||this.dissolvingEdges.some(a=>a.line===n))return;const i=e.get(n.userData.source),s=e.get(n.userData.target);if(i&&s){const a=n.geometry.attributes.position;a.setXYZ(0,i.x,i.y,i.z),a.setXYZ(1,s.x,s.y,s.z),a.needsUpdate=!0}})}dispose(){this.group.children.forEach(e=>{var n,i;const t=e;(n=t.geometry)==null||n.dispose(),(i=t.material)==null||i.dispose()}),this.growingEdges=[],this.dissolvingEdges=[]}}class fM{constructor(e){ke(this,"starField");ke(this,"neuralParticles");this.starField=this.createStarField(),this.neuralParticles=this.createNeuralParticles(),e.add(this.starField),e.add(this.neuralParticles)}createStarField(){const t=new qe,n=new Float32Array(3e3*3),i=new Float32Array(3e3);for(let a=0;a<3e3;a++)n[a*3]=(Math.random()-.5)*1e3,n[a*3+1]=(Math.random()-.5)*1e3,n[a*3+2]=(Math.random()-.5)*1e3,i[a]=Math.random()*1.5;t.setAttribute("position",new rt(n,3)),t.setAttribute("size",new rt(i,1));const s=new Ai({color:6514417,size:.5,transparent:!0,opacity:.4,sizeAttenuation:!0,blending:Wt});return new as(t,s)}createNeuralParticles(){const t=new qe,n=new Float32Array(500*3),i=new Float32Array(500*3);for(let a=0;a<500;a++)n[a*3]=(Math.random()-.5)*100,n[a*3+1]=(Math.random()-.5)*100,n[a*3+2]=(Math.random()-.5)*100,i[a*3]=.4+Math.random()*.3,i[a*3+1]=.3+Math.random()*.2,i[a*3+2]=.8+Math.random()*.2;t.setAttribute("position",new rt(n,3)),t.setAttribute("color",new rt(i,3));const s=new Ai({size:.3,vertexColors:!0,transparent:!0,opacity:.4,blending:Wt,sizeAttenuation:!0});return new as(t,s)}animate(e){this.starField.rotation.y+=1e-4,this.starField.rotation.x+=5e-5;const t=this.neuralParticles.geometry.attributes.position;for(let n=0;n=0;i--){const s=this.pulseEffects[i];if(s.intensity-=s.decay,s.intensity<=0){this.pulseEffects.splice(i,1);continue}const a=e.get(s.nodeId);if(a){const o=a.material;o.emissive.lerp(s.color,s.intensity*.3),o.emissiveIntensity=Math.max(o.emissiveIntensity,s.intensity)}}for(let i=this.spawnBursts.length-1;i>=0;i--){const s=this.spawnBursts[i];if(s.age++,s.age>120){this.scene.remove(s.particles),s.particles.geometry.dispose(),s.particles.material.dispose(),this.spawnBursts.splice(i,1);continue}const a=s.particles.geometry.attributes.position,o=s.particles.geometry.attributes.velocity;for(let c=0;c=0;i--){const s=this.rainbowBursts[i];if(s.age++,s.age>s.maxAge){this.scene.remove(s.particles),s.particles.geometry.dispose(),s.particles.material.dispose(),this.rainbowBursts.splice(i,1);continue}const a=s.particles.geometry.attributes.position,o=s.particles.geometry.attributes.velocity;for(let f=0;f=0;i--){const s=this.rippleWaves[i];if(s.age++,s.radius+=s.speed,s.age>s.maxAge){this.rippleWaves.splice(i,1);continue}const a=s.radius,o=3;n.forEach((l,c)=>{if(s.pulsedNodes.has(c))return;const h=l.distanceTo(s.origin);h>=a-o&&h<=a+o&&(s.pulsedNodes.add(c),this.addPulse(c,.8,new ne(65489),.03))})}for(let i=this.implosions.length-1;i>=0;i--){const s=this.implosions[i];if(s.age++,s.age>s.maxAge+20){this.scene.remove(s.particles),s.particles.geometry.dispose(),s.particles.material.dispose(),s.flash&&(this.scene.remove(s.flash),s.flash.geometry.dispose(),s.flash.material.dispose()),this.implosions.splice(i,1);continue}if(s.age<=s.maxAge){const a=s.particles.geometry.attributes.position,o=s.particles.geometry.attributes.velocity,l=1+s.age*.02;for(let h=0;hs.maxAge){const a=(s.age-s.maxAge)/20;s.flash.material.opacity=Math.max(0,1-a),s.flash.scale.setScalar(1+a*3)}}for(let i=this.shockwaves.length-1;i>=0;i--){const s=this.shockwaves[i];if(s.age++,s.age>s.maxAge){this.scene.remove(s.mesh),s.mesh.geometry.dispose(),s.mesh.material.dispose(),this.shockwaves.splice(i,1);continue}const a=s.age/s.maxAge;s.mesh.scale.setScalar(1+a*20),s.mesh.material.opacity=.8*(1-a),s.mesh.lookAt(t.position)}for(let i=this.connectionFlashes.length-1;i>=0;i--){const s=this.connectionFlashes[i];if(s.intensity-=.015,s.intensity<=0){this.scene.remove(s.line),s.line.geometry.dispose(),s.line.material.dispose(),this.connectionFlashes.splice(i,1);continue}s.line.material.opacity=s.intensity}for(let i=this.birthOrbs.length-1;i>=0;i--){const s=this.birthOrbs[i];s.age++;const a=s.gestationFrames+s.flightFrames,o=s.sprite.material,l=s.core.material,c=s.getTargetPos();if(c)s.lastTargetPos.copy(c);else if(s.age>s.gestationFrames&&!s.aborted){s.aborted=!0;const h=s.sprite.position;o.color.setRGB(1,.15,.2),l.color.setRGB(1,.6,.6),this.createImplosion(h,new ne(16721203)),s.arriveFired=!0,s.age=a+1}if(s.age<=s.gestationFrames){const h=s.age/s.gestationFrames,u=1-Math.pow(1-h,3),f=.85+Math.sin(s.age*.35)*.15,d=.5+u*4.5*f,p=.2+u*1.8*f;s.sprite.scale.set(d,d,1),s.core.scale.set(p,p,1),o.opacity=u*.95,l.opacity=u,o.color.copy(s.color).multiplyScalar(.7+u*.3),s.sprite.position.copy(s.startPos),s.core.position.copy(s.startPos)}else if(s.age<=a){const h=(s.age-s.gestationFrames)/s.flightFrames,u=h<.5?2*h*h:1-Math.pow(-2*h+2,2)/2,f=s.startPos,d=s.lastTargetPos,p=d.x-f.x,_=d.y-f.y,g=d.z-f.z,m=Math.sqrt(p*p+_*_+g*g),y=(f.x+d.x)*.5,v=(f.y+d.y)*.5+30+m*.15,x=(f.z+d.z)*.5,w=1-u,T=w*w,C=2*w*u,P=u*u,S=T*f.x+C*y+P*d.x,M=T*f.y+C*v+P*d.y,D=T*f.z+C*x+P*d.z;s.sprite.position.set(S,M,D),s.core.position.set(S,M,D);const G=1-u*.35;s.sprite.scale.setScalar(5*G),s.core.scale.setScalar(2*G),o.opacity=.95,l.opacity=1,o.color.copy(s.color)}else if(s.arriveFired){const h=s.age-a,u=Math.max(0,1-h/8);o.opacity=.95*u,l.opacity=1*u,s.sprite.scale.setScalar(5*(1+(1-u)*2)),u<=0&&(this.scene.remove(s.sprite),this.scene.remove(s.core),o.dispose(),l.dispose(),this.birthOrbs.splice(i,1))}else{s.arriveFired=!0;try{s.onArrive()}catch(h){console.warn("[birth-orb] onArrive threw",h)}}}}dispose(){for(const e of this.spawnBursts)this.scene.remove(e.particles),e.particles.geometry.dispose(),e.particles.material.dispose();for(const e of this.rainbowBursts)this.scene.remove(e.particles),e.particles.geometry.dispose(),e.particles.material.dispose();for(const e of this.implosions)this.scene.remove(e.particles),e.particles.geometry.dispose(),e.particles.material.dispose(),e.flash&&(this.scene.remove(e.flash),e.flash.geometry.dispose(),e.flash.material.dispose());for(const e of this.shockwaves)this.scene.remove(e.mesh),e.mesh.geometry.dispose(),e.mesh.material.dispose();for(const e of this.connectionFlashes)this.scene.remove(e.line),e.line.geometry.dispose(),e.line.material.dispose();for(const e of this.birthOrbs)this.scene.remove(e.sprite),this.scene.remove(e.core),e.sprite.material.dispose(),e.core.material.dispose();this.pulseEffects=[],this.spawnBursts=[],this.rainbowBursts=[],this.rippleWaves=[],this.implosions=[],this.shockwaves=[],this.connectionFlashes=[],this.birthOrbs=[]}}const jn={bloomStrength:.8,rotateSpeed:.3,fogColor:328976,fogDensity:.008,nebulaIntensity:0,chromaticIntensity:.002,vignetteRadius:.9,breatheAmplitude:1},bi={bloomStrength:1.8,rotateSpeed:.08,fogColor:656672,fogDensity:.006,nebulaIntensity:1,chromaticIntensity:.005,vignetteRadius:.7,breatheAmplitude:2};class mM{constructor(){ke(this,"active",!1);ke(this,"transition",0);ke(this,"transitionSpeed",.008);ke(this,"current");ke(this,"auroraHue",0);this.current={...jn}}setActive(e){this.active=e}update(e,t,n,i,s){const a=this.active?1:0;this.transition+=(a-this.transition)*this.transitionSpeed*60*(1/60),this.transition=Math.max(0,Math.min(1,this.transition));const o=this.transition;this.current.bloomStrength=this.lerp(jn.bloomStrength,bi.bloomStrength,o),this.current.rotateSpeed=this.lerp(jn.rotateSpeed,bi.rotateSpeed,o),this.current.fogDensity=this.lerp(jn.fogDensity,bi.fogDensity,o),this.current.nebulaIntensity=this.lerp(jn.nebulaIntensity,bi.nebulaIntensity,o),this.current.chromaticIntensity=this.lerp(jn.chromaticIntensity,bi.chromaticIntensity,o),this.current.vignetteRadius=this.lerp(jn.vignetteRadius,bi.vignetteRadius,o),this.current.breatheAmplitude=this.lerp(jn.breatheAmplitude,bi.breatheAmplitude,o),t.strength=this.current.bloomStrength,n.autoRotateSpeed=this.current.rotateSpeed;const l=new ne(jn.fogColor),c=new ne(bi.fogColor),h=l.clone().lerp(c,o);if(e.fog=new Yr(h,this.current.fogDensity),o>.01){this.auroraHue=s*.1%1;const u=new ne().setHSL(.75+this.auroraHue*.15,.8,.5),f=new ne().setHSL(.55+this.auroraHue*.2,.7,.4);i.point1.color.lerp(u,o*.3),i.point2.color.lerp(f,o*.3)}else i.point1.color.set(6514417),i.point2.color.set(11032055)}lerp(e,t,n){return e+(t-e)*n}}const gM=50,Fr=[];function _M(r,e,t){const n=r.tags??[],i=r.type??"";let s=null,a=0;for(const o of e){let l=0;o.type===i&&(l+=2);for(const c of o.tags)n.includes(c)&&(l+=1);l>a&&(a=l,s=o.id)}if(s&&a>0){const o=t.get(s);if(o)return new A(o.x+(Math.random()-.5)*10,o.y+(Math.random()-.5)*10,o.z+(Math.random()-.5)*10)}return new A((Math.random()-.5)*40,(Math.random()-.5)*40,(Math.random()-.5)*40)}function vM(r,e){if(Fr.length<=gM)return;const t=Fr.shift();r.edgeManager.removeEdgesForNode(t),r.nodeManager.removeNode(t),r.forceSim.removeNode(t),r.onMutation({type:"edgesRemoved",nodeId:t}),r.onMutation({type:"nodeRemoved",nodeId:t});const n=e.findIndex(i=>i.id===t);n!==-1&&e.splice(n,1)}function xM(r,e,t){var u,f;const{effects:n,nodeManager:i,edgeManager:s,forceSim:a,camera:o,onMutation:l}=e,c=i.positions,h=i.meshMap;switch(r.type){case"MemoryCreated":{const d=r.data;if(!d.id)break;const p={id:d.id,label:(d.content??"").slice(0,60),type:d.node_type??"fact",retention:Math.max(0,Math.min(1,d.retention??.9)),tags:d.tags??[],createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),isCenter:!1},_=_M(p,t,c),g=i.addNode(p,_,{isBirthRitual:!0});a.addNode(d.id,g),Fr.push(d.id),vM(e,t);const m=new ne(Il[p.type]||"#00ffd1"),y=m.clone();y.offsetHSL(.15,0,0),n.createBirthOrb(o,m,()=>i.positions.get(p.id),()=>{i.igniteNode(p.id);const v=i.positions.get(p.id)??_,x=i.meshMap.get(p.id);x&&x.scale.multiplyScalar(1.8),n.createRainbowBurst(v,m),n.createShockwave(v,m,o),n.createShockwave(v,y,o),n.createRippleWave(v)}),l({type:"nodeAdded",node:p});break}case"ConnectionDiscovered":{const d=r.data;if(!d.source_id||!d.target_id)break;const p=c.get(d.source_id),_=c.get(d.target_id),g={source:d.source_id,target:d.target_id,weight:d.weight??.5,type:d.connection_type??"semantic"};s.addEdge(g,c),p&&_&&n.createConnectionFlash(p,_,new ne(54527)),d.source_id&&h.has(d.source_id)&&n.addPulse(d.source_id,1,new ne(54527),.02),d.target_id&&h.has(d.target_id)&&n.addPulse(d.target_id,1,new ne(54527),.02),l({type:"edgeAdded",edge:g});break}case"MemoryDeleted":{const d=r.data;if(!d.id)break;const p=c.get(d.id);if(p){const g=new ne(16729943);n.createImplosion(p,g)}s.removeEdgesForNode(d.id),i.removeNode(d.id),a.removeNode(d.id);const _=Fr.indexOf(d.id);_!==-1&&Fr.splice(_,1),l({type:"edgesRemoved",nodeId:d.id}),l({type:"nodeRemoved",nodeId:d.id});break}case"MemoryPromoted":{const d=r.data,p=d==null?void 0:d.id;if(!p)break;const _=d.new_retention??.95;if(h.has(p)){i.growNode(p,_),n.addPulse(p,1.2,new ne(65416),.01);const g=c.get(p);g&&(n.createShockwave(g,new ne(65416),o),n.createSpawnBurst(g,new ne(65416))),l({type:"nodeUpdated",nodeId:p,retention:_})}break}case"MemoryDemoted":{const d=r.data,p=d==null?void 0:d.id;if(!p)break;const _=d.new_retention??.3;h.has(p)&&(i.growNode(p,_),n.addPulse(p,.8,new ne(16729943),.03),l({type:"nodeUpdated",nodeId:p,retention:_}));break}case"MemoryUpdated":{const d=r.data,p=d==null?void 0:d.id;if(!p||!h.has(p))break;n.addPulse(p,.6,new ne(8490232),.02),d.retention!==void 0&&(i.growNode(p,d.retention),l({type:"nodeUpdated",nodeId:p,retention:d.retention}));break}case"SearchPerformed":{h.forEach((d,p)=>{n.addPulse(p,.6+Math.random()*.4,new ne(8490232),.02)});break}case"DreamStarted":{h.forEach((d,p)=>{n.addPulse(p,1,new ne(11032055),.005)});break}case"DreamProgress":{const d=(u=r.data)==null?void 0:u.memory_id;d&&h.has(d)&&n.addPulse(d,1.5,new ne(12616956),.01);break}case"DreamCompleted":{n.createSpawnBurst(new A(0,0,0),new ne(11032055)),n.createShockwave(new A(0,0,0),new ne(11032055),o);break}case"RetentionDecayed":{const d=(f=r.data)==null?void 0:f.id;d&&h.has(d)&&n.addPulse(d,.8,new ne(16729943),.03);break}case"ConsolidationCompleted":{h.forEach((d,p)=>{n.addPulse(p,.4+Math.random()*.3,new ne(16758784),.015)});break}case"ActivationSpread":{const d=r.data;if(d.source_id&&d.target_ids){const p=c.get(d.source_id);if(p)for(const _ of d.target_ids){const g=c.get(_);g&&n.createConnectionFlash(p,g,new ne(1370310))}}break}case"MemorySuppressed":{const d=r.data;if(!d.id)break;const p=c.get(d.id);if(p){n.createImplosion(p,new ne(11032055));const _=Math.max(1,d.suppression_count??1),g=Math.min(.4+_*.15,1);n.addPulse(d.id,g,new ne(11032055),.04)}break}case"MemoryUnsuppressed":{const d=r.data;if(!d.id)break;const p=c.get(d.id);p&&h.has(d.id)&&(n.createRainbowBurst(p,new ne(65416)),n.addPulse(d.id,1,new ne(65416),.02));break}case"Rac1CascadeSwept":{const p=r.data.neighbors_affected??0;if(p===0)break;const _=Array.from(h.keys()),g=Math.min(p,_.length,12);for(let m=0;m"u")return eo;const r=localStorage.getItem(hf);if(r===null)return eo;const e=Number(r);return Number.isFinite(e)?Math.min(Ec,Math.max(wc,e)):eo}const ji=IM();function IM(){let r=Qe(!1),e=Qe(Al(new Date)),t=Qe(!1),n=Qe(1),i=Qe(!1),s=Qe(Al(RM()));return{get temporalEnabled(){return L(r)},set temporalEnabled(a){le(r,a,!0)},get temporalDate(){return L(e)},set temporalDate(a){le(e,a,!0)},get temporalPlaying(){return L(t)},set temporalPlaying(a){le(t,a,!0)},get temporalSpeed(){return L(n)},set temporalSpeed(a){le(n,a,!0)},get dreamMode(){return L(i)},set dreamMode(a){le(i,a,!0)},get brightness(){return L(s)},set brightness(a){const o=Math.min(Ec,Math.max(wc,a));if(le(s,o,!0),typeof localStorage<"u")try{localStorage.setItem(hf,String(o))}catch{}},brightnessMin:wc,brightnessMax:Ec,brightnessDefault:eo}}var PM=ut('
');function DM(r,e){var G;sr(e,!0);let t=Dr(e,"events",19,()=>[]),n=Dr(e,"isDreaming",3,!1),i=Dr(e,"colorMode",3,"type");Ga(()=>{u==null||u.setColorMode(i())});let s,a,o,l=typeof window<"u"&&((G=window.matchMedia)==null?void 0:G.call(window,"(prefers-reduced-motion: reduce)").matches),c=null;function h(F){l=F.matches,a!=null&&a.controls&&(a.controls.autoRotate=!l)}let u,f,d,p,_,g,m,y,v=null,x=[];od(()=>{var J;a=tM(s),l&&(a.controls.autoRotate=!1),typeof window<"u"&&window.matchMedia&&(c=window.matchMedia("(prefers-reduced-motion: reduce)"),(J=c.addEventListener)==null||J.call(c,"change",h)),m=bM(a.scene).material,y=AM(a.composer),d=new fM(a.scene),u=new hM,u.colorMode=i(),f=new dM,p=new pM(a.scene),g=new mM;const V=u.createNodes(e.nodes);f.createEdges(e.edges,V),_=new sM(V),x=[...e.nodes],a.scene.add(f.group),a.scene.add(u.group),T(),window.addEventListener("resize",P),s.addEventListener("pointermove",S),s.addEventListener("click",M)}),Ac(()=>{var F;cancelAnimationFrame(o),window.removeEventListener("resize",P),(F=c==null?void 0:c.removeEventListener)==null||F.call(c,"change",h),s==null||s.removeEventListener("pointermove",S),s==null||s.removeEventListener("click",M),p==null||p.dispose(),d==null||d.dispose(),u==null||u.dispose(),f==null||f.dispose(),a&&iM(a)});let w=0;function T(){o=requestAnimationFrame(T);const F=performance.now();w===0&&(w=F);const V=F-w;if(V<16)return;w=F-V%16;const J=F*.001;_.tick(e.edges),u.updatePositions(),f.updatePositions(u.positions),f.animateEdges(u.positions),d.animate(J),u.animate(J,x,a.camera,ji.brightness),g.setActive(n()),g.update(a.scene,a.bloomPass,a.controls,a.lights,J),SM(m,J,g.current.nebulaIntensity,s.clientWidth,s.clientHeight),CM(y,J,g.current.nebulaIntensity),C(),p.update(u.meshMap,a.camera,u.positions),a.controls.update(),a.composer.render()}function C(){if(!t()||t().length===0)return;const F=[];for(const J of t()){if(J===v)break;F.push(J)}if(F.length===0)return;if(F.length===t().length&&t().length>=200){console.warn("[vestige] Event horizon overflow: dropping visuals for",F.length,"events"),v=t()[0];return}v=t()[0];const V={effects:p,nodeManager:u,edgeManager:f,forceSim:_,camera:a.camera,onMutation:J=>{var q;J.type==="nodeAdded"?x=[...x,J.node]:J.type==="nodeRemoved"&&(x=x.filter(se=>se.id!==J.nodeId)),(q=e.onGraphMutation)==null||q.call(e,J)}};for(let J=F.length-1;J>=0;J--)xM(F[J],V,x)}function P(){!s||!a||nM(a,s)}function S(F){const V=s.getBoundingClientRect();a.mouse.x=(F.clientX-V.left)/V.width*2-1,a.mouse.y=-((F.clientY-V.top)/V.height)*2+1,a.raycaster.setFromCamera(a.mouse,a.camera);const J=a.raycaster.intersectObjects(u.getMeshes());J.length>0?(u.hoveredNode=J[0].object.userData.nodeId,s.style.cursor="pointer"):(u.hoveredNode=null,s.style.cursor="grab")}function M(){var F;if(u.hoveredNode){u.selectedNode=u.hoveredNode,(F=e.onSelect)==null||F.call(e,u.hoveredNode);const V=u.positions.get(u.hoveredNode);V&&a.controls.target.lerp(V.clone(),.5)}}var D=PM();Rl(D,F=>s=F,()=>s),ot(r,D),rr()}var LM=ut('
'),UM=ut('
');function NM(r,e){sr(e,!0);let t=Dr(e,"width",3,240),n=Dr(e,"height",3,80);function i(g){return e.stability<=0?0:Math.exp(-g/e.stability)}let s=ei(()=>{const g=[],m=Math.max(e.stability*3,30),y=4,v=t()-y*2,x=n()-y*2;for(let w=0;w<=50;w++){const T=w/50*m,C=i(T),P=y+w/50*v,S=y+(1-C)*x;g.push(`${w===0?"M":"L"}${P.toFixed(1)},${S.toFixed(1)}`)}return g.join(" ")}),a=ei(()=>[{label:"Now",days:0,value:e.retention},{label:"1d",days:1,value:i(1)},{label:"7d",days:7,value:i(7)},{label:"30d",days:30,value:i(30)}]);function o(g){return g>.7?"#10b981":g>.4?"#f59e0b":"#ef4444"}var l=UM(),c=xe(l),h=xe(c),u=Ee(h),f=Ee(u),d=Ee(f),p=Ee(d);Or(),fe(c);var _=Ee(c,2);Pr(_,21,()=>L(a),Wa,(g,m)=>{var y=LM(),v=xe(y),x=xe(v);fe(v);var w=Ee(v,2),T=xe(w);fe(w),fe(y),Pt((C,P)=>{ct(x,`${L(m).label??""}:`),zr(w,`color: ${C??""}`),ct(T,`${P??""}%`)},[()=>o(L(m).value),()=>(L(m).value*100).toFixed(0)]),ot(g,y)}),fe(_),fe(l),Pt(g=>{Rt(c,"width",t()),Rt(c,"height",n()),Rt(c,"viewBox",`0 0 ${t()??""} ${n()??""}`),Rt(h,"y1",4+(n()-8)*.5),Rt(h,"x2",t()-4),Rt(h,"y2",4+(n()-8)*.5),Rt(u,"y1",4+(n()-8)*.8),Rt(u,"x2",t()-4),Rt(u,"y2",4+(n()-8)*.8),Rt(f,"d",L(s)),Rt(d,"d",`${L(s)??""} L${t()-4},${n()-4} L4,${n()-4} Z`),Rt(p,"cy",4+(1-e.retention)*(n()-8)),Rt(p,"fill",g)},[()=>o(e.retention)]),ot(r,l),rr()}function ad(r,e,t){const n=t.getTime(),i=new Set,s=new Map,a=r.filter(l=>{const c=new Date(l.createdAt).getTime();if(c<=n){i.add(l.id);const h=n-c,u=1440*60*1e3,f=hi.has(l.source)&&i.has(l.target));return{visibleNodes:a,visibleEdges:o,nodeOpacities:s}}function FM(r){if(r.length===0){const n=new Date;return{oldest:n,newest:n}}let e=1/0,t=-1/0;for(const n of r){const i=new Date(n.createdAt).getTime();it&&(t=i)}return{oldest:new Date(e),newest:new Date(t)}}var OM=ut(`
`),BM=ut('');function zM(r,e){sr(e,!0);let t=Qe(!1),n=Qe(!1),i=Qe(1),s=Qe(100),a,o=0,l=ei(()=>FM(e.nodes)),c=ei(()=>{const v=L(l).oldest.getTime(),w=L(l).newest.getTime()-v||1;return new Date(v+L(s)/100*w)});function h(v){return v.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}function u(){le(t,!L(t)),e.onToggle(L(t)),L(t)&&(le(s,100),e.onDateChange(L(c)))}function f(){le(n,!L(n)),L(n)?(le(s,0),o=performance.now(),d()):cancelAnimationFrame(a)}function d(){L(n)&&(a=requestAnimationFrame(v=>{const x=(v-o)/1e3;o=v;const w=L(l).oldest.getTime(),C=(L(l).newest.getTime()-w)/(1440*60*1e3)||1,P=L(i)/C*100;if(le(s,Math.min(100,L(s)+P*x),!0),e.onDateChange(L(c)),L(s)>=100){le(n,!1);return}d()}))}function p(){e.onDateChange(L(c))}Ac(()=>{le(n,!1),cancelAnimationFrame(a)});var _=mf(),g=no(_);{var m=v=>{var x=OM(),w=xe(x),T=xe(w),C=xe(T),P=xe(C),S=xe(P,!0);fe(P);var M=Ee(P,2),D=xe(M);D.value=D.__value=1;var G=Ee(D);G.value=G.__value=7;var F=Ee(G);F.value=F.__value=30,fe(M),fe(C);var V=Ee(C,2),J=xe(V,!0);fe(V);var q=Ee(V,2);fe(T);var se=Ee(T,2);Br(se);var Z=Ee(se,2),_e=xe(Z),be=xe(_e,!0);fe(_e);var Re=Ee(_e,2),Ge=xe(Re,!0);fe(Re),fe(Z),fe(w),fe(x),Pt((it,Q,ue)=>{ct(S,L(n)?"⏸":"▶"),ct(J,it),ct(be,Q),ct(Ge,ue)},[()=>h(L(c)),()=>h(L(l).oldest),()=>h(L(l).newest)]),Ut("click",P,f),Mf(M,()=>L(i),it=>le(i,it)),Ut("click",q,u),Ut("input",se,p),Cl(se,()=>L(s),it=>le(s,it)),ot(v,x)},y=v=>{var x=BM();Ut("click",x,u),ot(v,x)};It(g,v=>{L(t)?v(m):v(y,!1)})}ot(r,_),rr()}Cc(["click","input"]);var kM=ut('
'),VM=ut('
FSRS accessibility
');function HM(r,e){sr(e,!1);const t=["active","dormant","silent","unavailable"];bf();var n=VM(),i=Ee(xe(n),2);Pr(i,1,()=>t,s=>s,(s,a)=>{var o=kM(),l=xe(o),c=Ee(l,2),h=xe(c,!0);fe(c);var u=Ee(c,2),f=xe(u,!0);fe(u),fe(o),Pt(d=>{zr(l,`background: ${bc[L(a)]??""}; box-shadow: 0 0 6px ${bc[L(a)]??""}55;`),ct(h,L(a)),ct(f,d)},[()=>{var d;return((d=aM[L(a)].match(/\(([^)]+)\)/))==null?void 0:d[1])??""}]),ot(s,o)}),fe(n),ot(r,n),rr()}function uf(r){var t,n;const e={};for(const i of r)(e[t=i.source]??(e[t]=[])).push({edge:i,otherId:i.target}),(e[n=i.target]??(e[n]=[])).push({edge:i,otherId:i.source});for(const i of Object.keys(e))e[i].sort((s,a)=>(a.edge.weight??0)-(s.edge.weight??0));return e}function to(r){const e=(r.type??"").toLowerCase();return e.includes("contradict")||e.includes("conflict")||e.includes("supersede")}function Ws(r){const e=Date.parse(r.updatedAt||r.createdAt||"");return Number.isFinite(e)?e:0}function GM(r,e,t,n=7){var g;const i=new Map(r.map(m=>[m.id,m])),s={beats:[],centerId:t,pivoted:!1,flowEdges:[]};if(r.length===0)return s;const a=uf(e),o=i.has(t);let l=o?t:"";l||(l=((g=r.find(m=>m.isCenter))==null?void 0:g.id)??""),l||(l=r.map(m=>{var y;return{id:m.id,deg:((y=a[m.id])==null?void 0:y.length)??0}}).sort((m,y)=>y.deg-m.deg)[0].id);const c=i.get(l);if(!c)return s;const h=!o,u=new Set([l]),f=[{nodeId:l,node:c,viaEdge:null,kind:"origin",intensity:1}],d=[];let p=l,_=!1;for(;f.length!u.has(x.otherId)&&to(x.edge)),y&&(_=!0)),y||(y=m.find(x=>!u.has(x.otherId))),!y){const x=r.filter(T=>!u.has(T.id)).sort((T,C)=>Ws(C)-Ws(T));if(x.length===0)break;const w=x[0];u.add(w.id),f.push({nodeId:w.id,node:w,viaEdge:null,kind:"bridge",intensity:.6}),p=w.id;continue}const v=i.get(y.otherId);if(!v){u.add(y.otherId);continue}u.add(v.id),d.push(y.edge),f.push({nodeId:v.id,node:v,viaEdge:y.edge,kind:to(y.edge)?"contradiction":"connection",intensity:to(y.edge)?1:Math.min(1,.55+(y.edge.weight??0)*.45)}),p=v.id}if(f.lengthv.id!==m).sort((v,x)=>Ws(x)-Ws(v))[0];y&&!f.some(v=>v.nodeId===y.id)&&f.push({nodeId:y.id,node:y,viaEdge:null,kind:"recent",intensity:.8})}return{beats:f,centerId:l,pivoted:h,flowEdges:d}}const jt=new A,WM=new A(0,1,0),XM=new A(0,0,0);class qM{constructor(e,t,n,i,s={},a={}){ke(this,"camera");ke(this,"target");ke(this,"positions");ke(this,"path");ke(this,"cb");ke(this,"opts");ke(this,"phase","idle");ke(this,"beatIndex",0);ke(this,"phaseElapsed",0);ke(this,"fromPos",new A);ke(this,"toPos",new A);ke(this,"fromTarget",new A);ke(this,"toTarget",new A);this.camera=e,this.target=t,this.positions=n,this.path=i,this.cb=s,this.opts={flightSeconds:a.flightSeconds??2.4,dwellSeconds:a.dwellSeconds??3.2,standoff:a.standoff??26,reducedMotion:a.reducedMotion??!1,shots:a.shots??[],centerOnOrigin:a.centerOnOrigin??!1}}shotAt(e){return this.opts.shots[e]??null}flightSecondsAt(e){var t;return((t=this.shotAt(e))==null?void 0:t.flightSeconds)??this.opts.flightSeconds}dwellSecondsAt(e){var t;return((t=this.shotAt(e))==null?void 0:t.dwellSeconds)??this.opts.dwellSeconds}get totalBeats(){return this.path.beats.length}get isRunning(){return this.phase!=="idle"&&this.phase!=="done"}start(){var e,t;if(this.path.beats.length===0){this.phase="done",(t=(e=this.cb).onComplete)==null||t.call(e);return}this.beatIndex=0,this.beginFlightTo(0)}stop(){this.phase="done"}focalPoint(e){return this.opts.centerOnOrigin?XM:this.positions.get(e.nodeId)??null}framePosition(e,t,n){const i=this.focalPoint(e);if(!i)return n.copy(this.camera.position);const s=this.shotAt(t);jt.copy(this.camera.position).sub(i),jt.lengthSq()<1e-4&&jt.set(0,.4,1),jt.normalize();let a=.35;s&&(s.angle==="low"?a=-.45:s.angle==="high"&&(a=.7)),jt.addScaledVector(WM,a).normalize();let o=(s==null?void 0:s.standoff)??this.opts.standoff;return s&&(s.move==="push_in"?o*=.7:s.move==="pull_back"?o*=1.5:s.move==="crane"&&(o*=1.8)),this.opts.centerOnOrigin&&(o=Math.max(31,Math.min(43,o))),n.copy(i).addScaledVector(jt,o)}beginFlightTo(e){var a,o;const t=this.path.beats[e],n=this.focalPoint(t),i=this.shotAt(e);this.fromPos.copy(this.camera.position),this.fromTarget.copy(this.target),this.framePosition(t,e,this.toPos),this.toTarget.copy(n??this.target),this.phaseElapsed=0,this.opts.reducedMotion||(i==null?void 0:i.cut)==="hard_cut"||(i==null?void 0:i.cut)==="match_cut"?(this.camera.position.copy(this.toPos),this.target.copy(this.toTarget),this.phase="dwelling",(o=(a=this.cb).onBeat)==null||o.call(a,t,e,i)):this.phase="flying"}update(e){var o,l,c,h,u,f,d,p,_;if(this.phase==="idle"||this.phase==="done")return;const t=Math.max(0,Math.min(e,.05));this.phaseElapsed+=t;const n=this.flightSecondsAt(this.beatIndex),i=this.dwellSecondsAt(this.beatIndex);if(this.phase==="flying"){const g=Math.min(1,this.phaseElapsed/n),m=YM(g);this.camera.position.lerpVectors(this.fromPos,this.toPos,m),this.target.lerpVectors(this.fromTarget,this.toTarget,m),this.applyDutch(this.beatIndex,m),g>=1&&(this.phase="dwelling",this.phaseElapsed=0,(l=(o=this.cb).onBeat)==null||l.call(o,this.path.beats[this.beatIndex],this.beatIndex,this.shotAt(this.beatIndex)))}else if(this.phase==="dwelling"){if(!this.opts.reducedMotion){const g=this.focalPoint(this.path.beats[this.beatIndex]);g&&(this.target.lerp(g,.02),((c=this.shotAt(this.beatIndex))==null?void 0:c.move)==="orbit"&&this.orbitAround(g,t*.35))}if(this.phaseElapsed>=i){const g=this.beatIndex+1;if(g>=this.path.beats.length){this.phase="done",(u=(h=this.cb).onProgress)==null||u.call(h,1),(d=(f=this.cb).onComplete)==null||d.call(f);return}this.beatIndex=g,this.beginFlightTo(g)}}const s=this.path.beats.length>0?1/this.path.beats.length:0,a=this.phase==="flying"?Math.min(1,this.phaseElapsed/n)*.5:.5+Math.min(1,this.phaseElapsed/i)*.5;(_=(p=this.cb).onProgress)==null||_.call(p,Math.min(1,this.beatIndex*s+a*s))}orbitAround(e,t){jt.copy(this.camera.position).sub(e);const n=Math.cos(t),i=Math.sin(t),s=jt.x*n-jt.z*i,a=jt.x*i+jt.z*n;jt.x=s,jt.z=a,this.camera.position.copy(e).add(jt)}applyDutch(e,t){var s;const i=(((s=this.shotAt(e))==null?void 0:s.dutch)??0)*t;jt.set(0,0,-1).applyQuaternion(this.camera.quaternion),this.camera.up.set(0,1,0).applyAxisAngle(jt,i)}}function YM(r){return r<.5?4*r*r*r:1-Math.pow(-2*r+2,3)/2}const Tc={origin:"Origin",connection:"Connection",contradiction:"Tension",recent:"Now",bridge:"Jump",surprise:"Surprise"};function ZM(r,e=90){const t=(r??"").replace(/\s+/g," ").trim();return t.length<=e?t:t.slice(0,e-1).trimEnd()+"…"}function Tl(r){const e=(r??"memory").toLowerCase();return e.charAt(0).toUpperCase()+e.slice(1)}function df(r){return{source:"local-captions",beats:r.beats.map((t,n)=>{var o,l;const i=t.node,s=ZM(i.label||`(${Tl(i.type)} memory)`);let a;switch(t.kind){case"origin":a=`We begin at a ${Tl(i.type).toLowerCase()} the graph is centered on — "${s}".`;break;case"contradiction":{a=`This is held in tension with the last memory through ${(o=t.viaEdge)!=null&&o.type?t.viaEdge.type.replace(/_/g," "):"a conflict"}: "${s}".`;break}case"recent":a=`And where the mind is now — a recent memory: "${s}".`;break;case"bridge":a=`Crossing to a separate cluster — "${s}".`;break;default:{const c=((l=t.viaEdge)==null?void 0:l.weight)??0;a=`${c>.66?"strongly":c>.33?"closely":"loosely"} connected from there: a ${Tl(i.type).toLowerCase()} — "${s}".`}}return i.tags&&i.tags.length>0&&n>0&&(a+=` [${i.tags.slice(0,3).join(", ")}]`),{nodeId:t.nodeId,text:a,chip:Tc[t.kind]}})}}async function JM(r,e){const t=df(r);if(!e)return t;let n;try{const i=await Promise.race([e(),new Promise(l=>{n=setTimeout(()=>l(null),6e3)})]),s=Array.isArray(i)?i.filter(l=>!!l&&typeof l.nodeId=="string"&&typeof l.text=="string"&&l.text.trim().length>0):[];if(s.length===0)return t;const a=new Map(s.map(l=>[l.nodeId,l]));return{source:"backend-llm",beats:r.beats.map((l,c)=>{const h=a.get(l.nodeId);if(h){const u=typeof h.chip=="string"&&h.chip.trim()?h.chip:Tc[l.kind];return{nodeId:l.nodeId,text:h.text,chip:u}}return t.beats[c]??{nodeId:l.nodeId,text:l.node.label||"(unlabeled memory)",chip:Tc[l.kind]}})}}catch{return t}finally{n&&clearTimeout(n)}}function KM(r){const e=(r.type??"").toLowerCase();return e.includes("merge")||e.includes("supersede")||e.includes("duplicate")}function $M(r,e){const t=new Map;for(const n of r)t.set(n,0);for(const n of r){const i=[],s=new Map,a=new Map,o=new Map;for(const u of r)s.set(u,[]),a.set(u,0),o.set(u,-1);a.set(n,1),o.set(n,0);const l=[n];let c=0;for(;c0;){const u=i.pop();for(const f of s.get(u)??[]){const d=(a.get(f)??0)/(a.get(u)||1)*(1+(h.get(u)??0));h.set(f,(h.get(f)??0)+d)}u!==n&&t.set(u,(t.get(u)??0)+(h.get(u)??0))}}return t}function jM(r,e){const t=new Map;for(const l of r)t.set(l,l);const n=l=>{let c=l;for(;t.get(c)!==c;)c=t.get(c);let h=l;for(;t.get(h)!==c;){const u=t.get(h);t.set(h,c),h=u}return c},i=(l,c)=>{const h=n(l),u=n(c);h!==u&&t.set(h,u)};for(const l of e)t.has(l.source)&&t.has(l.target)&&i(l.source,l.target);const s=new Map,a=new Map;let o=0;for(const l of r){const c=n(l);s.has(c)||s.set(c,o++),a.set(l,s.get(c))}return{clusterOf:a,count:o}}function QM(r,e){var y;const t=r.map(v=>v.id),n=uf(e),i=[...r].sort((v,x)=>Ws(v)-Ws(x)),s=new Map;i.forEach((v,x)=>s.set(v.id,r.length>1?x/(r.length-1):1));const a=600;let o=t;t.length>a&&(o=[...t].sort((v,x)=>{var w,T;return(((w=n[x])==null?void 0:w.length)??0)-(((T=n[v])==null?void 0:T.length)??0)}).slice(0,a));const l=$M(o,n);let c=0;for(const v of l.values())c=Math.max(c,v);const{clusterOf:h,count:u}=jM(t,e),f=Math.max(1,...r.map(v=>v.suppression_count??0)),d=new Map;let p=t[0]??"",_=-1;for(const v of r){const x=c>0?(l.get(v.id)??0)/c:0;x>_&&(_=x,p=v.id),d.set(v.id,{nodeId:v.id,degree:((y=n[v.id])==null?void 0:y.length)??0,betweenness:x,clusterId:h.get(v.id)??0,recencyRank:s.get(v.id)??0,retention:Ha(v.retention??0),suppression:Ha((v.suppression_count??0)/f)})}const g=new Map;for(const v of t)g.set(v,new Set((n[v]??[]).map(x=>x.otherId)));const m=e.map(v=>{const x=g.get(v.source),w=g.get(v.target);let T=0;if(x&&w){const[M,D]=x.size{const h=t>1?c/(t-1):0,u=cb(h),f=e.nodes.get(l.nodeId),d=l.nodeId===e.peakBetweennessId,p=c===t-1,_=c===0;let g={nodeId:l.nodeId,move:"push_in",angle:"eye",cut:"fly",stormMode:"connection",tone:"curious",scoreCue:"motif",act:u,intensity:.6,tension:.3,why:"a connected memory"};return _&&(g={...g,move:"push_in",tone:"curious",tension:.25,stormMode:"anchor",why:"opening on the focal memory"}),(d||f&&f.betweenness>.6)&&(g={...g,move:"orbit",angle:"low",stormMode:"anchor",intensity:.75,tension:.45,tone:"awe",why:"low-angle orbit — the most load-bearing memory in the graph"}),l.kind==="contradiction"&&(g={...g,move:"push_in",angle:"eye",dutch:.28,cut:"hard_cut",stormMode:"contradiction",intensity:1,tension:.95,tone:"tense",scoreCue:"minor_drop",viaEdgeKey:l.viaEdge?`${l.viaEdge.source}->${l.viaEdge.target}`:void 0,why:"two memories in tension — a Dutch two-shot collision"}),l.kind==="surprise"&&(g={...g,move:"orbit",stormMode:"surprise",intensity:.85,tension:.6,tone:"awe",scoreCue:"motif",why:"a surprising, distant-but-plausible connection"}),f&&(f.retention<.35||f.suppression>.5)&&(g={...g,angle:"high",move:"pull_back",tone:"neutral",intensity:.4,why:"a fading memory — high-angle drift"}),l.kind==="recent"&&(g={...g,move:"push_in",tone:"resolved",tension:.4,why:"where the memory is now"}),p&&(g={...g,move:"crane",cut:"fly",stormMode:"anchor",tone:"awe",tension:.5,scoreCue:"major_resolve",why:"crane pull-back over the whole cluster — resolution"}),g}),i=r.beats.some(l=>l.kind==="contradiction")?"man_in_hole":"rags_to_riches";return{source:"deterministic",logline:`A short film about ${((o=r.beats[0])==null?void 0:o.node.label)??"a memory"} — ${t} shots through the graph${i==="man_in_hole"?", through a contradiction and out the other side":""}.`,arc:i,shots:n}}var ub=ut(''),db=ut(' '),fb=ut(' '),pb=ut('WebGPU'),mb=ut(' '),gb=ut(`
Director's plan

`),_b=ut('
'),vb=ut('

'),xb=ut('∞ dreaming'),yb=ut(''),Mb=ut('

',1),bb=ut(''),Sb=ut(' ',1);function wb(r,e){sr(e,!0);let t=Qe(!1),n=Qe("idle"),i=Qe(""),s=Qe(""),a=Qe(0),o=Qe(0),l=Qe(0),c=Qe(null),h=Qe(!1),u=Qe(!1),f=Qe(!1),d=Qe(!0),p=Qe(""),_=Qe(""),g=Qe("I"),m=Qe(0),y=Qe(""),v=Qe(null),x=Qe(void 0),w=null,T=null,C=null,P=null,S=0,M=0,D=null,G=0,F=Qe(null);const V=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,J=(k,X,W,ce)=>k+(X-k)*(1-Math.exp(-W*ce)),q={x:0,y:0},se={yaw:0,pitch:0};let Z=0,_e=0,be=0;const Re=2500,Ge=.35,it=.22,Q=()=>{be=performance.now()},ue=14;function Ie(k){const X=new Map,W=k.beats.length;for(let ce=0;ce1?ce/(W-1):.5)*2,Be=Math.sqrt(Math.max(0,1-ge*ge)),$=ce*2.399963;X.set(k.beats[ce].nodeId,new A(Math.cos($)*Be*ue,ge*ue*.5,Math.sin($)*Be*ue))}return X}function pe(k){if(!(!L(u)||typeof speechSynthesis>"u"))try{speechSynthesis.cancel();const X=new SpeechSynthesisUtterance(k);X.rate=.98,X.pitch=1,speechSynthesis.speak(X)}catch{}}function Oe(k){if(D&&clearInterval(D),le(i,""),V){le(i,k,!0);return}let X=0;D=setInterval(()=>{le(i,k.slice(0,++X),!0),X>=k.length&&D&&(clearInterval(D),D=null)},18)}function We(k){return k==="surprise"?"connection":k}function ze(k,X,W){var oe,ge;le(o,X+1);const ce=((oe=P==null?void 0:P.beats[X])==null?void 0:oe.text)??k.node.label??"";if(le(s,((ge=P==null?void 0:P.beats[X])==null?void 0:ge.chip)??"",!0),Oe(ce),pe(ce),W&&(le(_,W.why,!0),le(g,W.act,!0),le(m,W.tension,!0)),w&&L(h)){const Be=Je==null?void 0:Je.get(k.nodeId);if(Be){const ve=(W==null?void 0:W.stormMode)??"connection";w.transitionTo(We(ve),Be,(W==null?void 0:W.act)??"I",X)}const $=(W==null?void 0:W.tension)??0;w.setFlythrough(V?0:$*.8)}}let Je=null;async function te(){var ge,Be;if(cancelAnimationFrame(S),De(),D&&clearInterval(D),T==null||T.stop(),w==null||w.dispose(),w=null,T=null,P=null,G=0,le(_,""),le(y,""),le(v,null),le(g,"I"),le(m,0),le(t,!0),le(n,"planning"),le(p,"Planning a path through your memory…"),le(i,""),le(s,""),le(a,0),le(o,0),C=GM(e.nodes,e.edges,e.centerId,7),le(l,C.beats.length,!0),L(l)===0){le(p,"Not enough memory to compose a tour yet."),le(n,"done");return}Je=Ie(C);const k=QM(e.nodes,e.edges);le(v,hb(C,k),!0),le(y,L(v).logline,!0);const X=lb(L(v),C);if(le(g,((ge=X[0])==null?void 0:ge.act)??"I",!0),le(m,((Be=X[0])==null?void 0:Be.tension)??0,!0),P=await JM(C,L(f)?Ve():e.fetchBackendNarration),le(c,P.source,!0),le(h,!1),L(x))try{const{CinemaSandbox:$,isWebGPUSupported:ve}=await Sf(async()=>{const{CinemaSandbox:Y,isWebGPUSupported:ie}=await import("./Ma4NfFrG.js");return{CinemaSandbox:Y,isWebGPUSupported:ie}},__vite__mapDeps([0,1]),import.meta.url);ve()&&(w=new $(L(x)),await w.boot(),le(h,!0))}catch($){console.warn("[cinema] WebGPU sandbox unavailable, camera-only mode:",$),w=null,le(h,!1)}const W=L(x)&&L(x).clientHeight>0?L(x).clientWidth/L(x).clientHeight:16/9,ce=(w==null?void 0:w.cameraRef)??new kt(60,W,.1,2e3),oe=(w==null?void 0:w.target)??new A;T=new qM(ce,oe,Je,C,{onBeat:ze,onProgress:$=>le(a,$,!0),onComplete:()=>{le(n,"done"),le(p,V||!L(h)?"End of tour.":"∞ Dreaming — endless generative figures",!0),I()}},{reducedMotion:V,shots:X,centerOnOrigin:L(h)}),le(n,"playing"),le(p,L(h)?"Rendering 150k-particle semantic storm on WebGPU…":"Cinematic flythrough (captions mode).",!0),M=performance.now(),T.start(),de()}async function de(){const k=performance.now(),X=Math.max(0,Math.min(.05,(k-M)/1e3));M=k;try{T==null||T.update(X)}catch(ce){console.warn("[cinema] director error:",ce)}if(!V&&w&&L(h)){const ce=w.cameraRef,oe=performance.now()-be>Re,ge=oe?0:q.x*Ge,Be=oe?0:q.y*it,$=oe?1.5:9;se.yaw=J(se.yaw,ge,$,X),se.pitch=J(se.pitch,Be,$,X),oe&&(Z=J(Z,0,1.2,X)),_e=J(_e,Z,8,X);const ve=ce.position.clone(),Y=new xc().setFromVector3(ve);Y.theta+=se.yaw,Y.phi=bd.clamp(Y.phi+se.pitch,.2,Math.PI-.2),Y.radius*=1-_e*.35,ve.setFromSpherical(Y),ce.position.copy(ve)}const W=w;if(W&&L(h))try{await W.render(X),G=0}catch(ce){++G>=3&&w===W&&(console.warn("[cinema] WebGPU render failing, dropping to camera-only:",ce),le(h,!1),W.dispose(),w=null)}S=requestAnimationFrame(de)}function I(){V||!w||!L(h)||(De(),V||w==null||w.setFlythrough(.6),w==null||w.dreamBeat(),le(i,""),le(s,"Dreaming"),le(F,setInterval(()=>{if(!w||!L(h)){De();return}w.dreamBeat()},5500),!0))}function De(){L(F)&&(clearInterval(L(F)),le(F,null))}function re(){var k;cancelAnimationFrame(S),De(),D&&clearInterval(D),typeof speechSynthesis<"u"&&speechSynthesis.cancel(),w&&((k=w.setFlythrough)==null||k.call(w,0)),se.yaw=se.pitch=0,Z=_e=0,T==null||T.stop(),w==null||w.dispose(),w=null,T=null,le(t,!1),le(n,"idle"),le(h,!1)}let Ae=Qe(void 0);function me(k){k.key==="Escape"?(k.preventDefault(),re()):(k.key==="h"||k.key==="H")&&(k.preventDefault(),le(d,!L(d)))}Ga(()=>{L(t)&&L(Ae)&&L(Ae).focus()}),Ga(()=>{if(!(typeof document>"u"))return document.body.classList.toggle("cinema-open",L(t)),()=>document.body.classList.remove("cinema-open")}),Ga(()=>{if(!L(t)||V||!L(x))return;const k=L(x),X=($,ve,Y)=>Math.min(Y,Math.max(ve,$));k.style.touchAction="none";const W=$=>{q.x=$.clientX/window.innerWidth*2-1,q.y=-($.clientY/window.innerHeight)*2+1,Q()},ce=$=>{$.preventDefault(),Z=X(Z+$.deltaY*8e-4,-1,1),Q()};let oe=null;const ge=$=>{if($.touches.length===2){const ve=$.touches[0].clientX-$.touches[1].clientX,Y=$.touches[0].clientY-$.touches[1].clientY,ie=Math.hypot(ve,Y);oe!==null&&(Z=X(Z+(ie-oe)*.002,-1,1)),oe=ie,Q()}},Be=()=>{oe=null};return k.addEventListener("pointermove",W,{passive:!0}),k.addEventListener("wheel",ce,{passive:!1}),k.addEventListener("touchmove",ge,{passive:!0}),k.addEventListener("touchend",Be),()=>{k.removeEventListener("pointermove",W),k.removeEventListener("wheel",ce),k.removeEventListener("touchmove",ge),k.removeEventListener("touchend",Be)}});function Ve(){return async()=>{var k,X;if(!C)return null;try{le(p,"Loading on-device model (first run downloads weights)…");const ce=await import("@huggingface/transformers").catch(()=>null);if(!(ce!=null&&ce.pipeline))return null;const oe=await ce.pipeline("text-generation","onnx-community/Qwen2.5-0.5B-Instruct",{device:"webgpu",dtype:"q4"}),ge=df(C);le(p,"Narrating with the on-device model…");const Be=[];for(const $ of ge.beats){const ve=`You are narrating a cinematic tour of an AI's memory graph. In one vivid sentence, narrate this beat: "${$.text}"`,Y=await oe(ve,{max_new_tokens:48,temperature:.7,do_sample:!0}),ie=(X=(k=Y==null?void 0:Y[0])==null?void 0:k.generated_text)==null?void 0:X.replace(ve,"").trim();Be.push({nodeId:$.nodeId,chip:$.chip,text:ie&&ie.length>4?ie:$.text})}return Be}catch(W){return console.warn("[cinema] on-device narration failed, using local captions:",W),null}}}Ac(re);var Se=Sb(),R=no(Se),b=Ee(R,2);{var H=k=>{var X=bb(),W=xe(X);Rl(W,$=>le(x,$),()=>L(x));var ce=Ee(W,2);{var oe=$=>{var ve=ub();Ut("click",ve,()=>le(d,!0)),ot($,ve)};It(ce,$=>{L(d)||$(oe)})}var ge=Ee(ce,2);{var Be=$=>{var ve=Mb(),Y=no(ve),ie=xe(Y),ae=xe(ie);let Ne;var Pe=Ee(ae,2),Ke=xe(Pe,!0);fe(Pe);var U=Ee(Pe,2);{var ye=N=>{var z=db(),O=xe(z,!0);fe(z),Pt(()=>ct(O,L(v).source==="deterministic"?"Auteur (local)":"Auteur (AI)")),ot(N,z)};It(U,N=>{L(v)&&N(ye)})}var K=Ee(U,2);{var ee=N=>{var z=fb(),O=xe(z,!0);fe(z),Pt(()=>ct(O,L(c)==="backend-llm"?"AI narration":"Live captions")),ot(N,z)};It(K,N=>{L(c)&&N(ee)})}var we=Ee(K,2);{var Me=N=>{var z=pb();ot(N,z)};It(we,N=>{L(h)&&N(Me)})}var Ye=Ee(we,2);{var Mt=N=>{var z=mb(),O=xe(z);fe(z),Pt(()=>ct(O,`Act ${L(g)??""}`)),ot(N,z)};It(Ye,N=>{L(n)==="playing"&&N(Mt)})}fe(ie);var St=Ee(ie,2),at=xe(St),Yt=xe(at);Br(Yt),Or(),fe(at);var Ht=Ee(at,2),Di=xe(Ht);Br(Di),Or(),fe(Ht);var ui=Ee(Ht,2);Rl(ui,N=>le(Ae,N),()=>L(Ae)),fe(St),fe(Y);var En=Ee(Y,2);{var di=N=>{var z=gb(),O=Ee(xe(z),2),he=xe(O,!0);fe(O),fe(z),Pt(()=>ct(he,L(y))),ot(N,z)};It(En,N=>{L(n)==="planning"&&L(y)&&N(di)})}var Li=Ee(En,2),Wn=xe(Li);{var Xn=N=>{var z=_b(),O=xe(z,!0);fe(z),Pt(()=>ct(O,L(s))),ot(N,z)};It(Wn,N=>{L(s)&&N(Xn)})}var fi=Ee(Wn,2),Fn=xe(fi,!0);fe(fi);var Ui=Ee(fi,2);{var Zt=N=>{var z=vb(),O=xe(z);fe(z),Pt(()=>ct(O,`▸ ${L(_)??""}`)),ot(N,z)};It(Ui,N=>{L(_)&&L(n)==="playing"&&N(Zt)})}var Nt=Ee(Ui,2),mn=xe(Nt);fe(Nt);var Tn=Ee(Nt,2),pi=xe(Tn);{var fr=N=>{var z=xb();ot(N,z)},ds=N=>{var z=gf();Pt(()=>ct(z,`Beat ${L(o)??""} / ${L(l)??""}`)),ot(N,z)};It(pi,N=>{L(n)==="done"&&L(F)?N(fr):L(l)>0&&N(ds,1)})}var E=Ee(pi,2);{var B=N=>{var z=yb();Ut("click",z,te),ot(N,z)};It(E,N=>{L(n)==="done"&&N(B)})}fe(Tn),fe(Li),Pt(()=>{Ne=Ns(ae,1,"cinema-dot svelte-1uwqs3k",null,Ne,{active:L(n)==="playing"}),ct(Ke,L(p)),ct(Fn,L(i)),zr(mn,`width:${L(a)*100}%; --tension:${L(m)??""}`)}),ph(Yt,()=>L(u),N=>le(u,N)),ph(Di,()=>L(f),N=>le(f,N)),Ut("click",ui,re),ot($,ve)};It(ge,$=>{L(d)&&$(Be)})}fe(X),Ut("keydown",X,me),ot(k,X)};It(b,k=>{L(t)&&k(H)})}Ut("click",R,te),ot(r,Se),rr()}Cc(["click","keydown"]);var Eb=ut('

Weaving your memory graph…

'),Tb=ut(`
`),Ab=ut('

Your Mind Awaits

No memories yet — the moment Vestige starts remembering, your constellation will bloom here.

'),Cb=ut('

Your Mind Awaits

'),Rb=ut(' · · ',1),Ib=ut('
'),Pb=ut('
'),Db=ut('
AhaGraph
'),Lb=ut(' '),Ub=ut('
'),Nb=ut("
"),Fb=ut(`

Memory Detail

Retention Forecast
Explore Connections
`),Ob=ut(`
`);function Fw(r,e){sr(e,!0);const t=()=>yf(Ef,"$eventFeed",n),[n,i]=xf();let s=Qe(null),a=Qe(null),o=Qe(!0),l=Qe(""),c=Qe(!1),h=Qe(""),u=Qe(150);const f=[{value:"50",label:"50 nodes"},{value:"100",label:"100 nodes"},{value:"150",label:"150 nodes"},{value:"200",label:"200 nodes"}];let d=Qe("150");function p(Y){le(u,parseInt(Y,10),!0),S()}let _=Qe(!1),g=Qe(Al(new Date)),m=Qe("type");const y=Object.entries(Qa);let v=Qe(0),x=Qe(0),w=ei(()=>L(s)?L(_)?ad(L(s).nodes,L(s).edges,L(g)).visibleNodes:L(s).nodes:[]),T=ei(()=>L(s)?L(_)?ad(L(s).nodes,L(s).edges,L(g)).visibleEdges:L(s).edges:[]);function C(Y){if(L(s))switch(Y.type){case"nodeAdded":L(s).nodes=[...L(s).nodes,Y.node],L(s).nodeCount=L(s).nodes.length,le(v,L(s).nodeCount,!0);break;case"nodeRemoved":L(s).nodes=L(s).nodes.filter(ie=>ie.id!==Y.nodeId),L(s).nodeCount=L(s).nodes.length,le(v,L(s).nodeCount,!0);break;case"edgeAdded":L(s).edges=[...L(s).edges,Y.edge],L(s).edgeCount=L(s).edges.length,le(x,L(s).edgeCount,!0);break;case"edgesRemoved":L(s).edges=L(s).edges.filter(ie=>ie.source!==Y.nodeId&&ie.target!==Y.nodeId),L(s).edgeCount=L(s).edges.length,le(x,L(s).edgeCount,!0);break;case"nodeUpdated":{const ie=L(s).nodes.find(ae=>ae.id===Y.nodeId);ie&&(ie.retention=Y.retention);break}}}od(()=>{const Y=new URLSearchParams(window.location.search),ie=Y.get("colorMode");P(ie)&&le(m,ie,!0);const ae=Y.get("center");S(void 0,ae||void 0)});function P(Y){return Y==="type"||Y==="state"||Y==="ahagraph"}async function S(Y,ie){var ae;le(o,!0),le(l,"");try{const Ne=!Y&&!ie;if(le(s,await ms.graph({max_nodes:L(u),depth:3,query:Y||void 0,center_id:ie||void 0,sort:Ne?"recent":void 0}),!0),Ne&&L(s)&&L(s).nodeCount<=1&&L(s).edgeCount===0){const Pe=await ms.graph({max_nodes:L(u),depth:3,sort:"connected"});Pe&&Pe.nodeCount>L(s).nodeCount&&le(s,Pe,!0)}L(s)&&(le(v,L(s).nodeCount,!0),le(x,L(s).edgeCount,!0))}catch(Ne){const Pe=Ne instanceof Error?Ne.message:String(Ne),Ke=Pe.replace(/\/[\w./-]+\.(sqlite|rs|db|toml|lock)\b/g,"[path]").slice(0,200),U=Ne instanceof TypeError||/failed to fetch|NetworkError|load failed/i.test(Pe)||/^API 500:?\s*(Internal Server Error)?\s*$/i.test(Pe.trim()),ye=(((ae=L(s))==null?void 0:ae.nodeCount)??0)===0&&/not found|404|empty|no memor/i.test(Pe);U?le(l,"OFFLINE"):ye?le(l,"EMPTY"):le(l,`Failed to load graph: ${Ke}`)}finally{le(o,!1)}}async function M(){le(c,!0);try{await ms.dream(),await S()}catch{}finally{le(c,!1)}}async function D(Y){try{le(a,await ms.memories.get(Y),!0)}catch{le(a,null)}}function G(){L(h).trim()&&S(L(h))}var F=Ob(),V=xe(F);{var J=Y=>{var ie=Eb();ot(Y,ie)},q=Y=>{var ie=Tb(),ae=xe(ie),Ne=xe(ae),Pe=xe(Ne);ps(Pe,{name:"activation",size:52,strokeWidth:1.2}),fe(Ne);var Ke=Ee(Ne,8),U=xe(Ke),ye=Ee(U,2);fe(Ke),fe(ae),fe(ie),Pt(()=>Rt(ye,"href",`${mh??""}/settings`)),Ut("click",U,()=>S()),ot(Y,ie)},se=Y=>{var ie=Ab(),ae=xe(ie),Ne=xe(ae),Pe=xe(Ne);ps(Pe,{name:"graph",size:52,strokeWidth:1.2}),fe(Ne),Or(4),fe(ae),fe(ie),ot(Y,ie)},Z=Y=>{var ie=Cb(),ae=xe(ie),Ne=xe(ae),Pe=xe(Ne);ps(Pe,{name:"graph",size:52,strokeWidth:1.2}),fe(Ne);var Ke=Ee(Ne,4),U=xe(Ke,!0);fe(Ke),fe(ae),fe(ie),Pt(()=>ct(U,L(l))),ot(Y,ie)},_e=Y=>{DM(Y,{get nodes(){return L(w)},get edges(){return L(T)},get centerId(){return L(s).center_id},get events(){return t()},get isDreaming(){return L(c)},get colorMode(){return L(m)},onSelect:D,onGraphMutation:C})};It(V,Y=>{L(o)?Y(J):L(l)==="OFFLINE"?Y(q,1):L(l)==="EMPTY"?Y(se,2):L(l)?Y(Z,3):L(s)&&Y(_e,4)})}var be=Ee(V,2),Re=xe(be),Ge=xe(Re);Br(Ge);var it=Ee(Ge,2);fe(Re);var Q=Ee(Re,2),ue=xe(Q),Ie=xe(ue),pe=Ee(Ie,2),Oe=Ee(pe,2);fe(ue);var We=Ee(ue,2);wf(We,{get options(){return f},icon:"graph",class:"shrink-0",onChange:p,get value(){return L(d)},set value(Y){le(d,Y,!0)}});var ze=Ee(We,2),Je=Ee(xe(ze),2);Br(Je);var te=Ee(Je,2),de=xe(te);fe(te),fe(ze);var I=Ee(ze,2),De=xe(I),re=xe(De);ps(re,{name:"dreams",size:16}),fe(De);var Ae=Ee(De);fe(I);var me=Ee(I,2);{var Ve=Y=>{{let ie=ei(()=>{var ae;return((ae=L(s))==null?void 0:ae.center_id)??""});wb(Y,{get nodes(){return L(w)},get edges(){return L(T)},get centerId(){return L(ie)}})}};It(me,Y=>{L(w).length>0&&Y(Ve)})}var Se=Ee(me,2),R=xe(Se);ps(R,{name:"pulse",size:16}),fe(Se),fe(Q),fe(be);var b=Ee(be,2),H=xe(b);{var k=Y=>{var ie=Rb(),ae=no(ie),Ne=xe(ae);fe(ae);var Pe=Ee(ae,4),Ke=xe(Pe);fe(Pe);var U=Ee(Pe,4),ye=xe(U);fe(U),Pt(()=>{ct(Ne,`${L(v)??""} nodes`),ct(Ke,`${L(x)??""} edges`),ct(ye,`depth ${L(s).depth??""}`)}),ot(Y,ie)};It(H,Y=>{L(s)&&Y(k)})}fe(b);var X=Ee(b,2);{var W=Y=>{var ie=Ib(),ae=xe(ie);HM(ae,{}),fe(ie),ot(Y,ie)};It(X,Y=>{L(m)==="state"&&Y(W)})}var ce=Ee(X,2);{var oe=Y=>{var ie=Db(),ae=Ee(xe(ie),2);Pr(ae,21,()=>y,Wa,(Ne,Pe)=>{var Ke=ei(()=>_f(L(Pe),2));let U=()=>L(Ke)[0],ye=()=>L(Ke)[1];var K=Pb(),ee=xe(K),we=Ee(ee,2),Me=xe(we,!0);fe(we),fe(K),Pt(()=>{zr(ee,`background: ${ye()??""}`),ct(Me,oM[U()])}),ot(Ne,K)}),fe(ae),fe(ie),ot(Y,ie)};It(ce,Y=>{L(m)==="ahagraph"&&Y(oe)})}var ge=Ee(ce,2);{var Be=Y=>{zM(Y,{get nodes(){return L(s).nodes},onDateChange:ie=>{le(g,ie,!0)},onToggle:ie=>{le(_,ie,!0)}})};It(ge,Y=>{L(s)&&Y(Be)})}var $=Ee(ge,2);{var ve=Y=>{var ie=Fb(),ae=xe(ie),Ne=Ee(xe(ae),2);fe(ae);var Pe=Ee(ae,2),Ke=xe(Pe),U=xe(Ke),ye=xe(U,!0);fe(U);var K=Ee(U,2);Pr(K,17,()=>L(a).tags,Wa,(Zt,Nt)=>{var mn=Lb(),Tn=xe(mn,!0);fe(mn),Pt(()=>ct(Tn,L(Nt))),ot(Zt,mn)}),fe(Ke);var ee=Ee(Ke,2),we=xe(ee,!0);fe(ee);var Me=Ee(ee,2);Pr(Me,21,()=>[{label:"Retention",value:L(a).retentionStrength},{label:"Storage",value:L(a).storageStrength},{label:"Retrieval",value:L(a).retrievalStrength}],Wa,(Zt,Nt)=>{var mn=Ub(),Tn=xe(mn),pi=xe(Tn),fr=xe(pi,!0);fe(pi);var ds=Ee(pi,2),E=xe(ds);fe(ds),fe(Tn);var B=Ee(Tn,2),N=xe(B);fe(B),fe(mn),Pt(z=>{ct(fr,L(Nt).label),ct(E,`${z??""}%`),zr(N,`width: ${L(Nt).value*100}%; background: ${L(Nt).value>.7?"#10b981":L(Nt).value>.4?"#f59e0b":"#ef4444"}`)},[()=>(L(Nt).value*100).toFixed(1)]),ot(Zt,mn)}),fe(Me);var Ye=Ee(Me,2),Mt=Ee(xe(Ye),2);{let Zt=ei(()=>L(a).storageStrength*30);NM(Mt,{get retention(){return L(a).retentionStrength},get stability(){return L(Zt)}})}fe(Ye);var St=Ee(Ye,2),at=xe(St),Yt=xe(at);fe(at);var Ht=Ee(at,2),Di=xe(Ht);fe(Ht);var ui=Ee(Ht,2);{var En=Zt=>{var Nt=Nb(),mn=xe(Nt);fe(Nt),Pt(Tn=>ct(mn,`Accessed: ${Tn??""}`),[()=>new Date(L(a).lastAccessedAt).toLocaleString()]),ot(Zt,Nt)};It(ui,Zt=>{L(a).lastAccessedAt&&Zt(En)})}var di=Ee(ui,2),Li=xe(di);fe(di),fe(St);var Wn=Ee(St,2),Xn=xe(Wn),fi=Ee(Xn,2);fe(Wn);var Fn=Ee(Wn,2),Ui=xe(Fn);ps(Ui,{name:"explore",size:14}),Or(),fe(Fn),fe(Pe),fe(ie),Pt((Zt,Nt)=>{ct(ye,L(a).nodeType),ct(we,L(a).content),ct(Yt,`Created: ${Zt??""}`),ct(Di,`Updated: ${Nt??""}`),ct(Li,`Reviews: ${L(a).reviewCount??0??""}`),Rt(Fn,"href",`${mh??""}/explore`)},[()=>new Date(L(a).createdAt).toLocaleString(),()=>new Date(L(a).updatedAt).toLocaleString()]),Ut("click",Ne,()=>le(a,null)),Ut("click",Xn,()=>{L(a)&&ms.memories.promote(L(a).id)}),Ut("click",fi,()=>{L(a)&&ms.memories.demote(L(a).id)}),ot(Y,ie)};It($,Y=>{L(a)&&Y(ve)})}fe(F),Pt((Y,ie)=>{Rt(Ie,"aria-checked",L(m)==="type"),Ns(Ie,1,`min-h-9 px-3 py-1.5 rounded-lg transition ${L(m)==="type"?"bg-synapse/25 text-synapse-glow":"text-dim hover:text-text"}`),Rt(pe,"aria-checked",L(m)==="state"),Ns(pe,1,`min-h-9 px-3 py-1.5 rounded-lg transition ${L(m)==="state"?"bg-synapse/25 text-synapse-glow":"text-dim hover:text-text"}`),Rt(Oe,"aria-checked",L(m)==="ahagraph"),Ns(Oe,1,`min-h-9 px-3 py-1.5 rounded-lg transition ${L(m)==="ahagraph"?"bg-synapse/25 text-synapse-glow":"text-dim hover:text-text"}`),Rt(ze,"title",`Adjust graph brightness (${Y??""}x). Combines with auto distance compensation.`),Rt(Je,"min",ji.brightnessMin),Rt(Je,"max",ji.brightnessMax),ct(de,`${ie??""}x`),I.disabled=L(c),Ns(I,1,`shrink-0 inline-flex items-center gap-2 min-h-10 px-4 py-2 rounded-xl bg-dream/20 border border-dream/40 text-dream-glow text-sm - hover:bg-dream/30 transition-all backdrop-blur-sm disabled:opacity-50 - ${L(c)?"glow-dream animate-pulse-glow":""}`),Ns(De,1,vf(L(c)?"breathe":"")),ct(Ae,` ${L(c)?"Dreaming…":"Dream"}`)},[()=>ji.brightness.toFixed(1),()=>ji.brightness.toFixed(1)]),Ut("keydown",Ge,Y=>Y.key==="Enter"&&G()),Cl(Ge,()=>L(h),Y=>le(h,Y)),Ut("click",it,G),Ut("click",Ie,()=>le(m,"type")),Ut("click",pe,()=>le(m,"state")),Ut("click",Oe,()=>le(m,"ahagraph")),Cl(Je,()=>ji.brightness,Y=>ji.brightness=Y),Ut("click",I,M),Ut("click",Se,()=>S()),ot(r,F),rr(),i()}Cc(["click","keydown"]);export{cs as $,Wt as A,fn as B,ne as C,IS as D,ci as E,pt as F,ns as G,si as H,Pd as I,Pc as J,YS as K,rg as L,bd as M,ii as N,Rc as O,lr as P,wn as Q,zc as R,ho as S,Pi as T,Ii as U,A as V,uo as W,on as X,qs as Y,ch as Z,sw as _,tt as a,Nn as a$,op as a0,yt as a1,Lo as a2,kt as a3,or as a4,Et as a5,Ld as a6,Ti as a7,Qs as a8,Ze as a9,ld as aA,To as aB,Ci as aC,Bn as aD,Fs as aE,_c as aF,yg as aG,Mg as aH,Jd as aI,mg as aJ,Sg as aK,Jf as aL,Kf as aM,$f as aN,cd as aO,Qf as aP,ep as aQ,rS as aR,io as aS,so as aT,cr as aU,js as aV,Ys as aW,$s as aX,li as aY,Dp as aZ,ao as a_,wi as aa,Ic as ab,In as ac,cp as ad,Qn as ae,vd as af,$m as ag,rs as ah,rt as ai,JS as aj,Zf as ak,Yf as al,bo as am,wo as an,Mn as ao,tm as ap,Cd as aq,em as ar,qr as as,qe as at,dn as au,Fe as av,mt as aw,cS as ax,Si as ay,xn as az,j as b,Yl as b$,ro as b0,hd as b1,Qt as b2,dp as b3,up as b4,fp as b5,hp as b6,Md as b7,pp as b8,lp as b9,Ul as bA,Ll as bB,Dc as bC,Lc as bD,fd as bE,ud as bF,dd as bG,kr as bH,pd as bI,md as bJ,gd as bK,_d as bL,Uc as bM,So as bN,Nc as bO,Fc as bP,qa as bQ,Ya as bR,Za as bS,Ja as bT,kl as bU,Vl as bV,Hl as bW,Gl as bX,Wl as bY,Xl as bZ,ql as b_,Pf as ba,If as bb,Qi as bc,zf as bd,Vf as be,Dl as bf,Of as bg,Bf as bh,kf as bi,Hf as bj,Pl as bk,Ff as bl,Nf as bm,Uf as bn,Tf as bo,gh as bp,Af as bq,Rf as br,vh as bs,_h as bt,zl as bu,Bl as bv,Ol as bw,Fl as bx,Ks as by,Nl as bz,Wc as c,pn as c$,Zl as c0,Jl as c1,Kl as c2,$l as c3,jl as c4,Ql as c5,ec as c6,tc as c7,nc as c8,ic as c9,gs as cA,Lf as cB,Df as cC,Eo as cD,hS as cE,yd as cF,Vg as cG,yo as cH,QS as cI,dw as cJ,uw as cK,jS as cL,_m as cM,Ag as cN,Dw as cO,xh as cP,Rg as cQ,hw as cR,Kd as cS,lw as cT,aw as cU,Lw as cV,rp as cW,mm as cX,Id as cY,hr as cZ,xw as c_,sc as ca,rc as cb,ac as cc,Ka as cd,xd as ce,cc as cf,hc as cg,uc as ch,ai as ci,Td as cj,Ed as ck,CS as cl,AS as cm,RS as cn,ES as co,TS as cp,wS as cq,yh as cr,SS as cs,MS as ct,yS as cu,xS as cv,vS as cw,bS as cx,_S as cy,gS as cz,nr as d,Gn as d$,Iw as d0,Rw as d1,Eg as d2,Ei as d3,Hc as d4,Cw as d5,Dd as d6,Jc as d7,vm as d8,Kc as d9,Aw as dA,cg as dB,jc as dC,FS as dD,LS as dE,Rm as dF,Yc as dG,Qc as dH,Gc as dI,Yr as dJ,_w as dK,BS as dL,Mh as dM,Ew as dN,ww as dO,eh as dP,rw as dQ,Mo as dR,Op as dS,wg as dT,XS as dU,qS as dV,HS as dW,Po as dX,oo as dY,dc as dZ,Fo as d_,$d as da,Yd as db,KS as dc,$S as dd,qc as de,ew as df,$c as dg,Xf as dh,Gf as di,qg as dj,tw as dk,Ud as dl,Tm as dm,lg as dn,sS as dp,Hn as dq,Cm as dr,jf as ds,Zr as dt,vw as du,kc as dv,nw as dw,VS as dx,fg as dy,tp as dz,ht as e,Vs as e$,nm as e0,Ao as e1,Vc as e2,us as e3,Vn as e4,yw as e5,Nd as e6,Am as e7,gm as e8,hi as e9,cw as eA,ft as eB,Pg as eC,Fd as eD,Od as eE,rn as eF,Do as eG,hg as eH,ap as eI,pS as eJ,oc as eK,lc as eL,mS as eM,jm as eN,ar as eO,Wg as eP,fw as eQ,pw as eR,Io as eS,Xt as eT,Js as eU,th as eV,Uw as eW,oi as eX,Xc as eY,bw as eZ,sm as e_,qd as ea,lS as eb,co as ec,fu as ed,Zd as ee,np as ef,sp as eg,ip as eh,Xs as ei,Qd as ej,Hd as ek,Gd as el,oS as em,aS as en,Oc as eo,vo as ep,Ro as eq,qf as er,Wf as es,Cf as et,_o as eu,Pw as ev,Sw as ew,as as ex,Tw as ey,hs as ez,vt as f,an as f0,xc as f1,bg as f2,Bd as f3,Mw as f4,ts as f5,NS as f6,DS as f7,ow as f8,OS as f9,zs as fA,Fw as fB,PS as fa,US as fb,ur as fc,Os as fd,nh as fe,iw as ff,Nw as fg,ih as fh,sh as fi,yn as fj,fS as fk,dS as fl,uS as fm,rh as fn,GS as fo,WS as fp,jd as fq,mw as fr,xo as fs,ZS as ft,kS as fu,zS as fv,Sn as fw,Km as fx,lo as fy,Bs as fz,Ri as g,os as h,zn as i,_g as j,gw as k,Hr as l,Ai as m,qt as n,kn as o,ig as p,sg as q,ng as r,eg as s,Qm as t,ah as u,tg as v,Vt as w,Xa as x,Cr as y,ni as z}; diff --git a/apps/dashboard/build/_app/immutable/chunks/C-SOZ1Oi.js.br b/apps/dashboard/build/_app/immutable/chunks/C-SOZ1Oi.js.br deleted file mode 100644 index 85b0c51be5f6dda49631a49935e21e971abc1bef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175072 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Öu3j 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

w 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 XV77u^HV6(oNO2#~%711ouK)iE>KzO8 diff --git a/apps/dashboard/build/_app/immutable/chunks/C-SOZ1Oi.js.gz b/apps/dashboard/build/_app/immutable/chunks/C-SOZ1Oi.js.gz deleted file mode 100644 index fcd5c957979d5211dd8efde4408a8a3ebd308ab0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213100 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

OVe4HH_1mTb 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

}2Ggdgd3rb);k;&wF<8()nRt;SPslSu& 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

$H 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%0D8D7L%;MnI4_feX@Djrs52};;Xb|+#m0@0R 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

te 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%0AxJE!Diz=b9Wz|Y8 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 Y?`-JF=R_)>_V4lR9}CJ&G=y6W0GhLWMF0Q* diff --git a/apps/dashboard/build/_app/immutable/chunks/C-rZhKee.js b/apps/dashboard/build/_app/immutable/chunks/C-rZhKee.js new file mode 100644 index 0000000..815a381 --- /dev/null +++ b/apps/dashboard/build/_app/immutable/chunks/C-rZhKee.js @@ -0,0 +1 @@ +const i="/api";async function t(e,o){const r=await fetch(`${i}${e}`,{headers:{"Content-Type":"application/json"},...o});if(!r.ok)throw new Error(`API ${r.status}: ${r.statusText}`);return r.json()}const n={memories:{list:e=>{const o=e?"?"+new URLSearchParams(e).toString():"";return t(`/memories${o}`)},get:e=>t(`/memories/${e}`),delete:e=>t(`/memories/${e}`,{method:"DELETE"}),promote:e=>t(`/memories/${e}/promote`,{method:"POST"}),demote:e=>t(`/memories/${e}/demote`,{method:"POST"}),suppress:(e,o)=>t(`/memories/${e}/suppress`,{method:"POST",body:o?JSON.stringify({reason:o}):void 0}),unsuppress:e=>t(`/memories/${e}/unsuppress`,{method:"POST"})},search:(e,o=20)=>t(`/search?q=${encodeURIComponent(e)}&limit=${o}`),stats:()=>t("/stats"),health:()=>t("/health"),timeline:(e=7,o=200)=>t(`/timeline?days=${e}&limit=${o}`),graph:e=>{const o=e?"?"+new URLSearchParams(Object.entries(e).filter(([,r])=>r!==void 0).map(([r,s])=>[r,String(s)])).toString():"";return t(`/graph${o}`)},dream:()=>t("/dream",{method:"POST"}),explore:(e,o="associations",r,s=10)=>t("/explore",{method:"POST",body:JSON.stringify({from_id:e,action:o,to_id:r,limit:s})}),predict:()=>t("/predict",{method:"POST"}),importance:e=>t("/importance",{method:"POST",body:JSON.stringify({content:e})}),consolidate:()=>t("/consolidate",{method:"POST"}),retentionDistribution:()=>t("/retention-distribution"),duplicates:(e=.8,o=20)=>t(`/duplicates?threshold=${e}&limit=${o}`),contradictions:e=>{const o=e?"?"+new URLSearchParams(Object.entries(e).filter(([,r])=>r!==void 0).map(([r,s])=>[r,String(s)])).toString():"";return t(`/contradictions${o}`)},crossProjectPatterns:()=>t("/patterns/cross-project"),memoryAudit:(e,o=100)=>t(`/memories/${encodeURIComponent(e)}/audit?limit=${o}`),intentions:(e="active")=>t(`/intentions?status=${e}`),deepReference:(e,o=20)=>t("/deep_reference",{method:"POST",body:JSON.stringify({query:e,depth:o})}),sanhedrin:{latest:()=>t("/sanhedrin/latest"),telemetry:(e=7)=>t(`/sanhedrin/telemetry?days=${e}`),appeal:(e,o,r,s)=>t("/sanhedrin/appeal",{method:"POST",body:JSON.stringify({reason:e,note:o,claimId:r,receiptId:s})})},traces:{list:(e=50)=>t(`/traces?limit=${e}`),get:e=>t(`/traces/${encodeURIComponent(e)}`),exportUrl:e=>`${i}/traces/${encodeURIComponent(e)}/export`},receipts:{list:(e=50)=>t(`/receipts?limit=${e}`),listForRun:(e,o=50)=>t(`/receipts?run=${encodeURIComponent(e)}&limit=${o}`),get:e=>t(`/receipts/${encodeURIComponent(e)}`)},memoryPrs:{list:(e,o=100)=>{const r=new URLSearchParams;return e&&r.set("status",e),r.set("limit",String(o)),t(`/memory-prs?${r.toString()}`)},get:e=>t(`/memory-prs/${encodeURIComponent(e)}`),act:(e,o)=>t(`/memory-prs/${encodeURIComponent(e)}/${o}`,{method:"POST"}),getMode:()=>t("/memory-prs/mode"),setMode:e=>t("/memory-prs/mode",{method:"POST",body:JSON.stringify({mode:e})})}};export{n as a}; diff --git a/apps/dashboard/build/_app/immutable/chunks/C-rZhKee.js.br b/apps/dashboard/build/_app/immutable/chunks/C-rZhKee.js.br new file mode 100644 index 0000000000000000000000000000000000000000..15925392eae864abe44a3edd985c92959154db71 GIT binary patch literal 898 zcmV-|1AY7(5eonu2RWIm`J%ewMc7$iwES;1z4vlTehs2RMf{{N*_ZgT{SYg&P|U5h z!NbA&tpYVWlz-#s{JQ zY@={0l-q#X*lzKCk|d*Lx(WPpVueGWk0uTk`BF04(cez z7B-Yfph0CyKLx#EmO8^36#%tkP6@P~v)LMMbfia^zb`M-n}Cymn9^STvGB0Sr*Pv} z@mb(++5O8Nv>e;nJu{OWdb!}X@LEIjy-t1ysU(uQk@e;dCdws*3T=UDbFbtU4iH>$ z2h~J$;L8ac-W?jBb-$xa0UI-`EZ!0uTqwhh%B9la?^sYxldg`@whG~ydJ;BM0BU8x|xO7R1S%yd4Jx#wh$?-YF-D0#IqTq5Php>C44zL~msv|#SID0Mu4W-v3 zu18h#Paw`Cn}Hs=Y289Fzi{hRvL?pmkhYj?`zbim`IC7x@^E~vYNKTJucnE5{;1rz z*+E60kQYp8>jX%Sd`f;`zPpe#>(~k@@sV$Td3z$bqfw7)fU%{DE&5hC6Auvuvnn`v zE+FP6W4)qtW-KsEN~pu!xxE7-*E1+n!|mR44Dqs#jl zJ&Y266Y297@oaitcT%9uN>og)qgJpF`lM!TT zan@ogk;;&Yvk>&}1*yx*UfJEpK9XlVpszy+X58uCFa3(B6}>?$A$;Z;@0jJsIzSECha zSrkROrAxUD-(aNwp*BbT7$|rQ&Ji_+oA>LBV9{V?EVs33lgZ)+e%N+Hmk72-6=39I zhP3VYskAAf)F{CuO(BgZ(F8Ch_&0a~&+6JF|N&c8Om7d42hJWPFn3b{94X+-Q~PmL}h| z6v0_bS*^x%X6fzmLy9dkz9ybw`pa2QvfEsJOBW5OObfWZy7-{WN-Iz{1lpbyvXnOM z>cgB&OcHu$68jaQEC*iLeBADqgfc5jD5QcUg!DIm>Tv9UtOVZ~clNV$9*|f0k@C8{ z{|cFnKv|awr?#yuEMOSkG5k!^clahvyByM}ZK1tW_BdmuV-k=veIa|%6i3Y-MuU+*&}j@5HL#h`rTm)tM2>{D9cKuZ6Uo6yJ_LIGr7{tsisewtA8?srq{O zv=gVo??C#9dvMjgC+Rr4p}K-CAUL5-ClHAp_5}yl0e1;70hP_&jC3QIs~iMM zl{AGb{a*be5_f=`Oi(}x7I%I$4YP2x8{z$Y+EB);3V7k^yB0o(-r>jHpdatRlzVJ6 z%L*>b3)ja88OX|Bh_07gW|3#(iyK1v>o`O`FxJO&oV=eM{9<)Cenx4uw^%qA|KIp8 zr?_+3v;)mKUIX-$nKS!C<5jIX0UVlRt&V(#Cbt~CU%6-7cflI>Y{yO*|6ViAJ~Snq zoM2?YhNP1{_(e,e.__value)});r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),c(()=>{r.disconnect()})}function p(e,r,f=r){var a=new WeakSet,t=!0;s(e,"change",u=>{var l=u?"[selected]":":checked",n;if(e.multiple)n=[].map.call(e.querySelectorAll(l),i);else{var d=e.querySelector(l)??e.querySelector("option:not([disabled])");n=d&&i(d)}f(n),v!==null&&a.add(v)}),o(()=>{var u=r();if(e===document.activeElement){var l=y??v;if(a.has(l))return}if(_(e,u,t),t&&u===void 0){var n=e.querySelector(":checked");n!==null&&(u=i(n),f(u))}e.__value=u,t=!1}),q(e)}function i(e){return"__value"in e?e.__value:e.value}export{p as b}; +import{y as s,z as v,A as o,B as c,C as b,D as m,F as h,G as y}from"./CW7md74C.js";function _(e,r,f=!1){if(e.multiple){if(r==null)return;if(!b(r))return m();for(var a of e.options)a.selected=r.includes(i(a));return}for(a of e.options){var t=i(a);if(h(t,r)){a.selected=!0;return}}(!f||r!==void 0)&&(e.selectedIndex=-1)}function q(e){var r=new MutationObserver(()=>{_(e,e.__value)});r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),c(()=>{r.disconnect()})}function p(e,r,f=r){var a=new WeakSet,t=!0;s(e,"change",u=>{var l=u?"[selected]":":checked",n;if(e.multiple)n=[].map.call(e.querySelectorAll(l),i);else{var d=e.querySelector(l)??e.querySelector("option:not([disabled])");n=d&&i(d)}f(n),v!==null&&a.add(v)}),o(()=>{var u=r();if(e===document.activeElement){var l=y??v;if(a.has(l))return}if(_(e,u,t),t&&u===void 0){var n=e.querySelector(":checked");n!==null&&(u=i(n),f(u))}e.__value=u,t=!1}),q(e)}function i(e){return"__value"in e?e.__value:e.value}export{p as b}; diff --git a/apps/dashboard/build/_app/immutable/chunks/C4Tpoo1i.js.br b/apps/dashboard/build/_app/immutable/chunks/C4Tpoo1i.js.br new file mode 100644 index 0000000000000000000000000000000000000000..922e450b2ac46c98c73185531e9b20371b8c0cd0 GIT binary patch literal 518 zcmV+h0{Q(L;saoe#5hLspB9!j)wTaJB_4dzon8-97o|==G4>RPZb+rNXs)i-R$oHf zl)hIHM^w^5Vu&9pjZi&_`EKnGAtZDa+1&5VE~OFY!S&C}3vw@~cZG_EaHA1KG=`8S zaHSa>Xzsk6sF#ZW#v9kTVa%sobp$@&f}xBO@$2|GCScf6?2%+5P}6aKU;t4IA;Z%5 zu7DkH%m&^q@eCW4$AIk)B>Qt3jUxp3I)>s{x3F<>b_$_mq?Ha(P}%*A7Wg&(6At|3 z`^|ij+s^SCY7K_bI*{KwI$N=nlMrO`ZL698vcNOHiq?1rfYSRoq-uD(P3WG(PR40g z0Ye`gG0%F9xBVLBWtgT+8v*cU$HyFe7@%tE_lRhjvSh$K zGuK|2f(i$8b1}%sr`PZrlL64wzmS7dt3a63OiO}t&b3+OTZ#kKCB*V9dHoG zP@zM*0iZ3NQZhiD3nDTTaGAnS^Ew(`e)anm>3qP4AcqSwW!J|<@=i$wQlWJzC}BDG zTZ<5P6|iF!EJGv6 Id7HS-4_KM_IsgCw literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/C4Tpoo1i.js.gz b/apps/dashboard/build/_app/immutable/chunks/C4Tpoo1i.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..092add3ee1a895d29c87c8229ff621f50b6b4e12 GIT binary patch literal 581 zcmV-L0=oSliwFP!000026J=9PYa1~Tz4uqF_pr=>swPkfcu`E6Hl@(gLk>9@6Xexw ztwyVL^s$ZW=)VW;I!>CNo<_VkA9^F*ZF?8?yF&WHv%eVzc9EfHpE5M;GQ*mE&d{-| z3>)?}!!EV1?@IpR^5(2lXCE*5Z(r7Jv`x^xEpCCBW38B-;$F8vyo)C2t)Ve=LfB{w zIttO*TDLG;gTq5ybbxi+I~b%ZWYM<;@qU}rdX(Igp(c_aJ_IJ4h1=6V{IR69I_rn~gT=yY^u|J7GSqgCojE8G_U6 z7|8zxi^9QZKM5gJ-^7k=;IavNpf84Ugol}Ti^Y(cl5eC3^Sqczw~&pDEFcS26~%E$ zMxp(0pqJOe+8+CZD0J?)g@~ArYawDb;xr-4EA?WX&I>kmP#&nIwgoMY$~o~76FrPy TdOLpGRKI%ytI0O3;{yNy7^)vl literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/C8kRUgax.js.br b/apps/dashboard/build/_app/immutable/chunks/C8kRUgax.js.br deleted file mode 100644 index cb81051453ef864aa0fa6b7d9a75f41bf6562a3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4626 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 I%8a_|1KB*^;{X5v diff --git a/apps/dashboard/build/_app/immutable/chunks/C8kRUgax.js.gz b/apps/dashboard/build/_app/immutable/chunks/C8kRUgax.js.gz deleted file mode 100644 index cc5255bbd7a97fded68792edd8ece5474caf2cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5104 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%0Aah4pW+g_LrEzm`JaQFf(1cq<&KvtmCV z-Nr2&V!k@yg7*pRkF9>;Rg^?9E;+r zhqQzjqXjDZ0sh6&d6YD0SEa$Go6#h7wXVk1ZAr(a),_|o)}finally{E&&(l(!0),d(s))}}export{C as h}; diff --git a/apps/dashboard/build/_app/immutable/chunks/C98jjAli.js.br b/apps/dashboard/build/_app/immutable/chunks/C98jjAli.js.br new file mode 100644 index 0000000000000000000000000000000000000000..1b9234a4e7cf6f1bdd36fc595354179f46ad5314 GIT binary patch literal 271 zcmV+q0r37Cb^%}{^UkIKBKvij^9+SxNi94JCO&rCz+Rj|NgPlRJY}KmX>nLHrvH~OK)7Dh^T6o zlThC8GvrHy`3_VlN}e$eh4>o=COuVT)Z&HO?*mPRDxghJS4x_;B?%oeB<=%AJrFP1 zV+5@Qm!guy+bEijJ31hL0mn8ts8l5-7<}E4*~1SIkyXV{)Bwn%00YOGOi@keLhOSO VL2J%zC=r!<{vwGj{MSF8H2~NEfu8^X literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/C98jjAli.js.gz b/apps/dashboard/build/_app/immutable/chunks/C98jjAli.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..da9afa6d20db553b38a05e3fee19e412c72adcc5 GIT binary patch literal 282 zcmV+#0plnJNyso}>o!#A4@_X2-di2NC247U*Ma0EXDhBOG=fqwoHJMl#)z*-38Fa7e z5P@r?C$Ql-cI1<6$XHag(dWIg1d={j`kZ^Noz|74HOX)v6_Rd&kTXeNHqgQ578SXH z77nj36C@*bVIn|bp~jrkx`NUF&Pvnwv(a.s);if(t){let n=0,s={};const _=h(()=>{let l=!1;const r=a.s;for(const o in r)r[o]!==s[o]&&(s[o]=r[o],l=!0);return l&&n++,n});f=()=>p(_)}e.b.length&&d(()=>{u(a,f),i(e.b)}),c(()=>{const n=m(()=>e.m.map(b));return()=>{for(const s of n)typeof s=="function"&&s()}}),e.a.length&&c(()=>{u(a,f),i(e.a)})}function u(t,a){if(t.l.s)for(const e of t.l.s)p(e);a()}k();export{x as i}; +import{a3 as g,a4 as d,x as c,R as m,a5 as i,a6 as b,g as p,a7 as v,a8 as h,a9 as k}from"./CW7md74C.js";function y(t=!1){const a=g,e=a.l.u;if(!e)return;let f=()=>v(a.s);if(t){let n=0,s={};const _=h(()=>{let l=!1;const r=a.s;for(const o in r)r[o]!==s[o]&&(s[o]=r[o],l=!0);return l&&n++,n});f=()=>p(_)}e.b.length&&d(()=>{u(a,f),i(e.b)}),c(()=>{const n=m(()=>e.m.map(b));return()=>{for(const s of n)typeof s=="function"&&s()}}),e.a.length&&c(()=>{u(a,f),i(e.a)})}function u(t,a){if(t.l.s)for(const e of t.l.s)p(e);a()}k();export{y as i}; diff --git a/apps/dashboard/build/_app/immutable/chunks/C9BpaXFO.js.br b/apps/dashboard/build/_app/immutable/chunks/C9BpaXFO.js.br new file mode 100644 index 0000000000000000000000000000000000000000..7e76a9b93dfb74f5fa6a4c8869be42224d7573e6 GIT binary patch literal 318 zcmV-E0m1$o76Jf_!g22sw`fiI7=%pKHLYo%e5y+i6!~!(0V(p}IUm_fpSXzr`E%*t z102nGN>OD=(<;LW=iSk%UWIylh;G)5oS);8c;-mSkcUxB%01z{kubiR6d0&T22f2X zE1(QDX%?s>4GqVsgui|i_y5|7*UJ6KK71==b*PJ%!aa$8ZisAH$Sm^Fu&2Ub;fo>p zc5b8)r1d5eHCQAaj+#eFxQSD{Oon7jwk%(I@lwvN;#*sJsf1t2n6s(457NjJc?|J< zo)npu+1pGuRPyxf90VK{R>4CB7td$oGj2@x3S8lXyga zOgtbzC4R+fa9yr$wy&FRzgch9r_XgY+A=iGin9!q-NIBl>w{pb(GaUvjk>91W?(R3 z9IS3l5EV(F=c8ohA$0>xDYmpiPgB&(6(4kv>D=6FDZBm22V&)QY22NAGb z;>BpGn@giQ)p0L(@GF=PT}Jc5Rl-6z_r_Ji6Xn0_%8SBFh!M~z{*#yg{var l=r?e.defaultValue:e.value;if(l=o(e)?u(l):l,v(l),f!==null&&c.add(f),await m(),l!==(l=a())){var h=e.selectionStart,d=e.selectionEnd,n=e.value.length;if(e.value=l??"",d!==null){var s=e.value.length;h===d&&d===n&&s>n?(e.selectionStart=s,e.selectionEnd=s):(e.selectionStart=h,e.selectionEnd=Math.min(d,s))}}}),(b&&e.defaultValue!==e.value||t(a)==null&&e.value)&&(v(o(e)?u(e.value):e.value),f!==null&&c.add(f)),_(()=>{var r=a();if(e===document.activeElement){var l=i??f;if(c.has(l))return}o(e)&&r===u(e.value)||e.type==="date"&&!r&&!e.value||r!==e.value&&(e.value=r??"")})}function S(e,a,v=a){k(e,"change",c=>{var r=c?e.defaultChecked:e.checked;v(r)}),(b&&e.defaultChecked!==e.checked||t(a)==null)&&v(e.checked),_(()=>{var c=a();e.checked=!!c})}function o(e){var a=e.type;return a==="number"||a==="range"}function u(e){return e===""?null:+e}export{S as a,E as b}; +import{y as k,z as f,Q as m,R as t,S as _,v as b,G as y}from"./CW7md74C.js";function S(e,a,v=a){var c=new WeakSet;k(e,"input",async r=>{var l=r?e.defaultValue:e.value;if(l=o(e)?u(l):l,v(l),f!==null&&c.add(f),await m(),l!==(l=a())){var h=e.selectionStart,d=e.selectionEnd,n=e.value.length;if(e.value=l??"",d!==null){var s=e.value.length;h===d&&d===n&&s>n?(e.selectionStart=s,e.selectionEnd=s):(e.selectionStart=h,e.selectionEnd=Math.min(d,s))}}}),(b&&e.defaultValue!==e.value||t(a)==null&&e.value)&&(v(o(e)?u(e.value):e.value),f!==null&&c.add(f)),_(()=>{var r=a();if(e===document.activeElement){var l=y??f;if(c.has(l))return}o(e)&&r===u(e.value)||e.type==="date"&&!r&&!e.value||r!==e.value&&(e.value=r??"")})}function E(e,a,v=a){k(e,"change",c=>{var r=c?e.defaultChecked:e.checked;v(r)}),(b&&e.defaultChecked!==e.checked||t(a)==null)&&v(e.checked),_(()=>{var c=a();e.checked=!!c})}function o(e){var a=e.type;return a==="number"||a==="range"}function u(e){return e===""?null:+e}export{E as a,S as b}; diff --git a/apps/dashboard/build/_app/immutable/chunks/CFefTDKL.js.br b/apps/dashboard/build/_app/immutable/chunks/CFefTDKL.js.br new file mode 100644 index 0000000000000000000000000000000000000000..5f0f8092aa4cab9db1baedf07f545ca887614dd2 GIT binary patch literal 466 zcmV;@0WJO;<^uqX)LE@JmszUno@KH)JpPdfGrFFc^f`SrSR^+}ZarxJ=W==j>?7Sf zz%$#swTA`R%c5RDfdw97=GLB)uqe{m=6Tz%A`Zmq%cKV~;yr^YQ~~Lopbm(Rm}QZa z_0GbQ0uV|Z)%ZNA%W7s%&Q;p;(N6q^vq%IgH}fxu)&P9SU9Y9hxKY56xMGNk^;w+E z*?MLnqBX(RCArCsdxSTZX&mEIM&lgLBFXso($PhWS5NzUUJJ0iCM&#bNK1(J+`9=F z9!0rBQAB@{1&5dCfq;;g6%Pd$sxfoDwy;^?%#6o&{1B{kjQeq;+I@K|k1>tC#k_vU IZS>Z^1FRPAa{vGU literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/CFefTDKL.js.gz b/apps/dashboard/build/_app/immutable/chunks/CFefTDKL.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..cf50c77f234767686bb9b923e6a2f6f18e2abed0 GIT binary patch literal 518 zcmV+h0{Q(PiwFP!000026K#`CZ`&{ohVT0owhw}c3EE{qfds4%L9o*fTY&XgC=y+J zk(EN0-DS1^`yktKKDrYn>Xk@7q^kP$=)?OdQB86Xf1@eHk7#P~GnycF(L9STn!WfI z&1oq7vCia|&C^3|9=>km?&kH>8h~LKK=3_dx5QFBXVmwB zD>wt1oxm9H_zd#wJ5&B2P!P|Y!`vVrX^u!@l}FvyR2^+C#U0F@Jmq;2m0Fgn z;TFJCXuTU^XvRDuUgGyX$#8m&k7h;%${0&MW9d?ezf{H8(hnc|0Rs%n+-)y&H%^%@ zm3yH~=p}!B8L&-B`aotyQctUO$35IbomFE3v+f!!FxK(qgc21oxVGMt&-#Ac`LT@4-8SBxb%7 literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/CLrXVRi2.js.br b/apps/dashboard/build/_app/immutable/chunks/CLrXVRi2.js.br deleted file mode 100644 index cba39ff9b33f4326cad93a152fdbd483412782b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1558 zcmV+x2I=`55ETH7!^RE0SWVN7BuSD+NYZ&s)%IT|n+a0%LXy*QO0CFXLxMm#4yVJ{ zzdu*?R6EJ#{gVPQ3hV4E>a@{%RMgt1M=@<_-81m3m4VP$LG}c@6TGn-_ zqcKqj7DX$Ad(y)U%2!GGzupV=raoQIUe~1hi84luHN5tOB`~f>1k@z(TMuC3whP0q zYqn;)*R0{TjrGzGIxTr6PD4O5{pUmPG{evHlpV(1LG`b)@rXC^xTe7&Bc{N2S54a8 z^(O6Y?ymb3JL^1jiTqL9%9}`)vG#QOeRJK;`e#&4N9;VBKB#|YeR5Ux%!|UO=MQ)M z*oq;-zoygLcRxA@+}?9O*`6JoT5fgKE-u4nF&Mm| z+ervby3~`zjt>N&0GeZ+6E*siR80w=nu&l6E;wj85MU@IxmSz==_bLavMFxU?GO$? zN4a#b>5)>U`PwS$ty$hVmp==!H=w-@y`^1L+&>bDKIAr>p3L9bHj17FwIj$ z9B5KLR6DQwB04h`b$gQiNyR}!1Wu=hkUmv&($<9VBuETG#@Zl3J#Y#ZB&CdjDLVP- z(UO#O8%J~?AxDYQhzJk_(N`MQStOMhy8-0a`{;wp zZ}H-WMREd1ARNRY1*m|Opb}D*s-j`+8F77yEwz!%q;igQ5Z*Vp*(j6mea~ONix+{E zn7LQS`>wxr7ZmZKa*q@f(u*b80f;qTHKdwQyXfZV^xpfD9<$8DJC9l3kwv8=V+${-HFUuk zMG~%|fPI#)g2si>hjGuz=3q0d8Y*6e?tmOs&q~^r=E9)sRRmGG=U(Do<>@<>>)@qO ziQAe=K^T-M+yyfOt#W?;51Xeg5Z8s4)wC{skd~-OWy=sGvo$W=vza?_2Oh_UQ2luE6vu?CNxdJ)hUM7c0R*73gHmWcu@r@AO$Om8b}E#Sy|LW zDo9mTNsE%8Vw`@asWemJ9kFVe^(<}2()Odf*`Q*RMB@oG*-k}62~zBnP}>NyCmN-Q~WiTpu-?D!x{eTkFLO z8oe54A$;T}R#|u9-m!%5++Ig<`c#T0E{YnCsTbVL7-u#S%Uw+Ff~lP*AIb9Zf&`Oo zb{fU;8WAztUY|&q>dFieFqu62%$w;s0Al6-V|q92#mQIb*sZD$O?D}7ejN@ywfFK` IL!18UKiskhXaE2J diff --git a/apps/dashboard/build/_app/immutable/chunks/CLrXVRi2.js.gz b/apps/dashboard/build/_app/immutable/chunks/CLrXVRi2.js.gz deleted file mode 100644 index 16ed5a191b2f31894a8d5335667ee034b52c133c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1739 zcmV;+1~mB}iwFP!000026P;LXbK58o{(is0)hB57h~*^LYg9Uuq|Nm@P1C%#cNtFy zTiBu}feujKT>bYOknBi}ZRPq2u`CbEviq<|WVzCIcFwc>ql$TtncgwDuZuipmY?6{ zUiJn~xs18y`ofCTIME@T6f8dCCULzFe$o-MTnm;u$)ucUl?7z;V4_BE`N;wKW`amm z>q!;!>lPP5r zV|niS|3W5i-N!q)=HqSmmCYB~)0*8m$q`Ia#k>V0D6U=m7CtED5l%ozKXd^sj@`$X z`G)rYKDqz$Ie*dI(5ch-2=82T10&bm!li4zF8uK8+40}uvGCKzN*deCspL1k5Ac_7 zZ{d%sMIrPt{8@MU5aKB1ws#+mQ)W!>eUIN-E@RU>o*B!m826^!_Uv8G5uRyo3oV2F zRH@9JNl^N=bTPI{BMp{@AZQ;9?cD$A7-c0o5(7HL`o zBx0Jl6%R#fxn8DWc+NB%rF=gv77FGeylNX=3e@p5MqTHPm&{EI-CsI&v9GKCumd3M z00_GP1|0x{E`Y5LfUPco?GAwLRRG6@%?nFE``POw_OT-ie|_!qiPHWOqi@LJ>E6-X za?0)bgMkaa>@8WkG~Awvd+taR&s^#XdcpS7HL1;XT|4aB zlIrN59umzBxAT(X%reW7h5I?<2x`fc+c%os2sy3T#&6-T+P#Y{ksEitfFKEXKE~kP zeA;lu%GAY>lWa~8>$n4QQq4xTx`z#2h1qeej}}~c4xQ&TR;ki;AXkS)%{&DC zhceX1z#zuuoa$EGxa$VLe|IItWbKtrCYnt%E~{G9B230gx|l%Pk;7TSG>;Ez5ytDW zs-nb~BMX(FV+!Z7sa`?!S%1MyS6i?HFW@DF;c$`ejP@heN_Vzk@#TSAl{A%x+s!g1 zq(NMI<|G!%uXE7?ca6D+cNCA(mn~LLnJo zVu}%BjUZqULyAl665#{8Q-wt{=i=QUJGhaV1_}v0+GCfMEw<*Z~;2v}*zm zIsgY9fCCIk3vjCgaH|7w3xjL{Zg&7~cK~iLB87QENwII@s!6IwHUQ=?Ovfp$a_n)X zze3(7lt;sDE-9YKC68g6G~z~s)tW8#SXS7Uu`szZt^}Rah^GBWzgqt`OTDKe-B~4S zcQe*2M4c-vo?7ei7uR45ePzkJP$}1uoSk1~f?hpvs-*o$zOs?r*ubKqOS1Ly_m|tx zebLEpbM!0Oc`l#JO=O>2j5qBAQI1i?jKUGy6!{-1jydX2M0SAeU<{1DMK0qdeQk(g zS)OtvUBE&uBv0 z0LDtj!qqOj!K9rgynftNVm zt|igA8{acVOeOk)_TZqJeT^~5#?S~276T=Q44so$Tsx{const a=this.inputNode,l=j(a.rgb),d=q(this.threshold,this.threshold.add(this.smoothWidth),l);return H(m(0),a,d)});this._highPassFilterMaterial=this._highPassFilterMaterial||new f,this._highPassFilterMaterial.fragmentNode=t().context(r.getSharedContext()),this._highPassFilterMaterial.name="Bloom_highPass",this._highPassFilterMaterial.needsUpdate=!0;const i=[3,5,7,9,11];for(let a=0;a{const d=b(1.2).sub(a);return H(a,d,l)}).setLayout({name:"lerpBloomFactor",type:"float",inputs:[{name:"factor",type:"float"},{name:"radius",type:"float"}]}),u=B(()=>{const a=o(s.element(0),this.radius).mul(m(e.element(0),1)).mul(this._textureNodeBlur0),l=o(s.element(1),this.radius).mul(m(e.element(1),1)).mul(this._textureNodeBlur1),d=o(s.element(2),this.radius).mul(m(e.element(2),1)).mul(this._textureNodeBlur2),h=o(s.element(3),this.radius).mul(m(e.element(3),1)).mul(this._textureNodeBlur3),n=o(s.element(4),this.radius).mul(m(e.element(4),1)).mul(this._textureNodeBlur4);return a.add(l).add(d).add(h).add(n).mul(this.strength)});return this._compositeMaterial=this._compositeMaterial||new f,this._compositeMaterial.fragmentNode=u().context(r.getSharedContext()),this._compositeMaterial.name="Bloom_comp",this._compositeMaterial.needsUpdate=!0,this._textureOutput}dispose(){for(let r=0;rs.sample(n),d=B(()=>{const n=e.element(0).toVar(),T=l(a).rgb.mul(n).toVar();return Q({start:U(1),end:U(t),type:"int",condition:"<"},({i:V})=>{const R=b(V),v=e.element(V),y=u.mul(o).mul(R),A=l(a.add(y)).rgb,C=l(a.sub(y)).rgb;T.addAssign(X(A,C).mul(v)),n.addAssign(b(2).mul(v))}),m(T.div(n),1)}),h=new f;return h.fragmentNode=d().context(r.getSharedContext()),h.name="Bloom_separable",h.needsUpdate=!0,h.colorTexture=s,h.direction=u,h.invSize=o,h}}const k=(S,r,t,i)=>P(new J(P(S),r,t,i));export{k as bloom,J as default}; +import{TempNode as O,NodeUpdateType as D,RendererUtils as F,QuadMesh as L,NodeMaterial as f}from"./DD4_gMN2.js";import{nodeObject as P,uniform as g,texture as c,passTexture as W,Fn as B,luminance as j,smoothstep as q,mix as H,vec4 as m,uniformArray as M,float as b,uv as E,Loop as Q,int as U,add as X}from"./CjKwt1b1.js";import{R as N,H as w,b as x,V as _}from"./DSmtfx7F.js";const p=new L,Y=new x,G=new x(1,0),I=new x(0,1);let z;class J extends O{static get type(){return"BloomNode"}constructor(r,t=1,i=0,s=0){super("vec4"),this.inputNode=r,this.strength=g(t),this.radius=g(i),this.threshold=g(s),this.smoothWidth=g(.01),this._renderTargetsHorizontal=[],this._renderTargetsVertical=[],this._nMips=5,this._renderTargetBright=new N(1,1,{depthBuffer:!1,type:w}),this._renderTargetBright.texture.name="UnrealBloomPass.bright",this._renderTargetBright.texture.generateMipmaps=!1;for(let e=0;e{const a=this.inputNode,l=j(a.rgb),d=q(this.threshold,this.threshold.add(this.smoothWidth),l);return H(m(0),a,d)});this._highPassFilterMaterial=this._highPassFilterMaterial||new f,this._highPassFilterMaterial.fragmentNode=t().context(r.getSharedContext()),this._highPassFilterMaterial.name="Bloom_highPass",this._highPassFilterMaterial.needsUpdate=!0;const i=[3,5,7,9,11];for(let a=0;a{const d=b(1.2).sub(a);return H(a,d,l)}).setLayout({name:"lerpBloomFactor",type:"float",inputs:[{name:"factor",type:"float"},{name:"radius",type:"float"}]}),u=B(()=>{const a=o(s.element(0),this.radius).mul(m(e.element(0),1)).mul(this._textureNodeBlur0),l=o(s.element(1),this.radius).mul(m(e.element(1),1)).mul(this._textureNodeBlur1),d=o(s.element(2),this.radius).mul(m(e.element(2),1)).mul(this._textureNodeBlur2),h=o(s.element(3),this.radius).mul(m(e.element(3),1)).mul(this._textureNodeBlur3),n=o(s.element(4),this.radius).mul(m(e.element(4),1)).mul(this._textureNodeBlur4);return a.add(l).add(d).add(h).add(n).mul(this.strength)});return this._compositeMaterial=this._compositeMaterial||new f,this._compositeMaterial.fragmentNode=u().context(r.getSharedContext()),this._compositeMaterial.name="Bloom_comp",this._compositeMaterial.needsUpdate=!0,this._textureOutput}dispose(){for(let r=0;rs.sample(n),d=B(()=>{const n=e.element(0).toVar(),T=l(a).rgb.mul(n).toVar();return Q({start:U(1),end:U(t),type:"int",condition:"<"},({i:V})=>{const R=b(V),v=e.element(V),y=u.mul(o).mul(R),A=l(a.add(y)).rgb,C=l(a.sub(y)).rgb;T.addAssign(X(A,C).mul(v)),n.addAssign(b(2).mul(v))}),m(T.div(n),1)}),h=new f;return h.fragmentNode=d().context(r.getSharedContext()),h.name="Bloom_separable",h.needsUpdate=!0,h.colorTexture=s,h.direction=u,h.invSize=o,h}}const k=(S,r,t,i)=>P(new J(P(S),r,t,i));export{k as bloom,J as default}; diff --git a/apps/dashboard/build/_app/immutable/chunks/CRPZuD1T.js.br b/apps/dashboard/build/_app/immutable/chunks/CRPZuD1T.js.br new file mode 100644 index 0000000000000000000000000000000000000000..7e3ee74600c18fc12d9473a2dc16730d72b0cd4b GIT binary patch literal 1559 zcmV+y2I%=45ETH7!=}u=_~NwI8yS)$jgX}CXX*U=znqj4bmWI5c4Nn!L{P8Z$bYH|x0)gvc$q40$16%KCE--=+gU*0Z}AMNf*!zPu)P%`oYRAcX;b09L@7 zK>9BME23-;?f0;_5KlDCOo@s9PycM#?lUAOty69^pdg%%@nDM~4^7o@jn+kDy+f~M zUB@~a6Ln-!v@*CS-Or$Wm6ZQmXVvTA{G`Z+6XJfNjL~8ZuRUW4jOzgbH3|IIJ(#%d z%CPH}o&N4M8@O3xz4X0KONPY%5YSBj`OpW=_vd-a9^=}p{#7;}@g^SEG&p9&6!`9{ zN%OnjroGMGb)RGVorkWG?`m6l7pXEfe-0XjFTZyW4? z&hLmJ!oQ|93STF!Bku1xpX|;yPA>KhUYEn=u43!k%a4kKw%*`$qdPVYDlWrjF&Mm| zlfMv}bg3ta9Ulll0Su0foT$-8QZ*%fY9<0QxZt4WK!Bl;G{;_;bC^dYz5^kn|rj-u#TP#dz%d6#iw z-0%Zf-uxa+(XiC!%;?XhO;YwNG65{l07PH+;e_)Om*$_U2@gn|5LnrCY)2@xM6|j0 z2SAhZp*nKc`_Y-PtlMd}k&1(c2%L_GkUmwj(`rI^5+nv8V{MS29ykRHl2XRN6rKF^ zXh}-CjUzgckfTItL<9(e=qnBDERsr$T>+7@eZ!^0wkTp=I58V|GId%#OY=RLee^-) zw|H^GA~}I05Dwyy0#rasPzk9@Rnai^jJUnTmfA>WQaMLD2=ANQY?aCPz9&B`UIkKO z=3XuDyZ$B>7qZ_FfZAkVZKHo^zJyU80bL=Yse}7-aS<-wjwK2Z5=5A3%e|PnCxSkH zHo$w9?T=NaETHv*ly?^1*$gP&I&nv`zLo;8)&79~@R}ve0RN7iqMZu0f-j)JHsl+1 zX4}9rs5l@-LL45AihCBzXsMz(1v7ThPxLUbI4;={FZ=c}Mnx;yx4;jVmRtxZmc^$O z!`&oFYkL|$Es~`bSN%wsy#%WhF&iXvKx%>B!p%qCHf z(}-c?P@Q2cx8yBOL1u@8=aQRX0DV?jrIQ(Kbqiy|D2uMq31nz;KV`4HXYUcR-G+S0(LAb79c+Ac82}^C)o-^7Nf5YU8C) ziL;tYK^T-M+yyfOt#W?;51Xeg5m#ZvYFd{*NJ~_tvSkR8*&3G~E$r2&t4#=~o)NZv z;6sWe^sT|-dU3Kducf?-m1gE>W11%5>J&q3JD=ekg>VRGyr_Z{kb)IO4WxvWtSssw z6{M=Fq(w6TpwuB)20cSZ--4SNSYt|?NPjyl>%f;JWNaJ5 zg^%uJMPs>v7Yb(1^`TFnDmb{2Kp9uzOsaV0;#}ps3PEl@x1ag%^RJOYpZOPJJt)7KF9piXY?|i9S*@3^ zX!LrVh47I(TW8aSd&d&Kb9-&Y=~F2hyDI8?OugV{#zbZlvE0SvE|}VB@{uebFGw)i zW~WgcuMrWW?e&R-sjkcr0h7tI&%6h{1VF5!dzIb|2X^)qI(EzTvdJ#x-LJ!;XAWLo JYiQG-{{zR434Z_p literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/CRPZuD1T.js.gz b/apps/dashboard/build/_app/immutable/chunks/CRPZuD1T.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..9af9ba619509eb3bc4b6472d1495c7d1a0750881 GIT binary patch literal 1738 zcmV;*1~vH~iwFP!000026P;Mwa@#f#eeYK&d;;PvEy{A+h(TuTIBuFox%ifLJemw7 zLL?j#U;)rKmH*xWNXcX@iEf@iEEWfg#qPm^JjB6c`c!CwD()g|QQfss!37CSsG27@1l} z(TEqC#E91dlPIPWnMNc=x|UTZ@`Xoks^1T4`B&va>5QtF8U0o&elLZgDY=}iQ@CKt z@L6+MjCrof{u<>&#pA>{zkNUf1h9x$Zj!@dK4)t5ECB1H(M^dr&h_iy^99Wq@y>-} zG2OJ z$BA9>n5TxRbsC!GRMBb54%1?#pdZ4kw$Y|Q9ZxgVb>4W*+_X^rwNqF7y6jIn0D=yH zpbKEo0WjzS*y{k;>jD^d01P()d@M{}81lu<-X5`!9a*^R>yXW*a+er6@{dmr#&61) znX?B2SA5x9vvjGMIpz1vk|ti*)a7JMP2wwAhzP0O0S4WanB4&mH-^d*jf2J=WUzg+ zY|_HomN^@A*QbD0=Hl8a``0urn4OA(T@Jyn#?ab4f3$hMJHTbr?MT(6worBLFft`k z;XOI_71PWtONvuN4MPU*myE-S@ndF=6usdhuGq$H;qThLt1bCA_Id&CC(Qa7gLCsq z!xbA-7enr6OM2MG9gzFgY-Fl?Sd&ed9mo1;!Hwt8c}_E#N>vAPby!3%Q=oHl#1)$v zE=4`__b0in9fG*&mLD;#Y7{O{_h-#9B7E3^7u% z$2nqIsmNE!)idM}AxvJ?T}s+j9Hit5QD4PV3=#PUwac~dsyClT5&FJ(!;s>zX34iG zLwyVsB3v%1Zo`ecZSdcJZAmfTdS&}_MdOT#sunc}`!gwQOdw^+;WVL&MXzfS#@n%~ zqQsRWD;2L}3S*J3UP0tpf5l9fd$13`!V3t3$tv9`>4&tH?sUcC>jSqcX(|o7n{`S^ z0l%aZyre}<#^^Et|2Ob|0e=YoV1j{Jq4nlhSD*zLexNhKAZ-|3Qb;Ecu@sRh3j6`~ zbumS>5d;(>NO6g6BD|+}vM^|2T|DwqrgG=zV`|?UUR5D_?xE#@i%LDZtd-|$bV{fP zt2f4XgOd_N@qNHcqXGMxK#G2y)uEgsrHVkPCFz5gbIsgNkc1^%R z2jHLsaDX9c0q%7G?sWj}VGu3AVF%!_18}&C6zT{i#jc5}CaD_H09d{-EvK}~vB#DE z26>xM9u2p-q9U13{BT<22T5_Cx;iu6PEa{JpXb)E`UXO*bz z%~-DxcCN5`YHi0~U4t$3jV13&rQAkxW_guya{0iig7ic2(u87X2lI+9{k<2zy%;`s zMJKz>(a-+=bMaj4BJOxtpMwUVR8QK3c%8bq}O)wFS&RwzO7>x_# z!Ay#X+uCL1z4S^z3qHCi9~M3#Q*?phy0QKRhC5QY1!a{&Cm0T_B`&S*urml=JBj7( zS`wbw@dK@SEYM%*0A5$KuQ3ME7@DHNYM{iBp))_?*VZY4?I-SMz z99rFto*ihXOwuYEiH78%(jx^V%clyFkd)OwuHH9-PC)S}?yTRTPv{iaLL9PN g_q*Nf04{Z4ng9R* literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/wpu9U-D0.js b/apps/dashboard/build/_app/immutable/chunks/CW7md74C.js similarity index 95% rename from apps/dashboard/build/_app/immutable/chunks/wpu9U-D0.js rename to apps/dashboard/build/_app/immutable/chunks/CW7md74C.js index b5a27f7..18268b8 100644 --- a/apps/dashboard/build/_app/immutable/chunks/wpu9U-D0.js +++ b/apps/dashboard/build/_app/immutable/chunks/CW7md74C.js @@ -1 +1 @@ -var wn=Object.defineProperty;var mt=e=>{throw TypeError(e)};var yn=(e,t,n)=>t in e?wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ye=(e,t,n)=>yn(e,typeof t!="symbol"?t+"":t,n),We=(e,t,n)=>t.has(e)||mt("Cannot "+n);var p=(e,t,n)=>(We(e,t,"read from private field"),n?n.call(e):t.get(e)),F=(e,t,n)=>t.has(e)?mt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),W=(e,t,n,r)=>(We(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),X=(e,t,n)=>(We(e,t,"access private method"),n);var mn=Array.isArray,En=Array.prototype.indexOf,Ae=Array.prototype.includes,yr=Array.from,mr=Object.defineProperty,xe=Object.getOwnPropertyDescriptor,gn=Object.getOwnPropertyDescriptors,Tn=Object.prototype,bn=Array.prototype,Ct=Object.getPrototypeOf,Et=Object.isExtensible;const An=()=>{};function Er(e){return e()}function Sn(e){for(var t=0;t{e=r,t=s});return{promise:n,resolve:e,reject:t}}function gr(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}const A=2,Pe=4,Me=8,Pt=1<<24,K=16,U=32,we=64,Rn=128,P=512,g=1024,R=2048,V=4096,Y=8192,Q=16384,ne=32768,Ve=65536,gt=1<<17,Mt=1<<18,Fe=1<<19,Ft=1<<20,Tr=1<<25,_e=65536,Je=1<<21,it=1<<22,ee=1<<23,ue=Symbol("$state"),br=Symbol("legacy props"),Ar=Symbol(""),fe=new class extends Error{constructor(){super(...arguments);ye(this,"name","StaleReactionError");ye(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var kt;const Rr=!!((kt=globalThis.document)!=null&&kt.contentType)&&globalThis.document.contentType.includes("xml"),Le=3,Lt=8;function Nn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Nr(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function On(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function xn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function kn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Dn(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Or(){throw new Error("https://svelte.dev/e/hydration_failed")}function xr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Cn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function In(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Pn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function kr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Dr=1,Cr=2,Ir=4,Pr=8,Mr=16,Fr=1,Lr=2,jr=4,Hr=8,Yr=16,jt=1,Mn=2,Fn="[",Ln="[!",qr="[?",jn="]",lt={},T=Symbol(),Hn="http://www.w3.org/1999/xhtml",Vr="http://www.w3.org/2000/svg",Ur="http://www.w3.org/1998/Math/MathML";function ot(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Br(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Gr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let D=!1;function $r(e){D=e}let y;function ve(e){if(e===null)throw ot(),lt;return y=e}function Yn(){return ve(se(y))}function zr(e){if(D){if(se(y)!==null)throw ot(),lt;y=e}}function Kr(e=1){if(D){for(var t=e,n=y;t--;)n=se(n);y=n}}function Wr(e=!0){for(var t=0,n=y;;){if(n.nodeType===Lt){var r=n.data;if(r===jn){if(t===0)return n;t-=1}else(r===Fn||r===Ln||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=se(n);e&&n.remove(),n=s}}function Xr(e){if(!e||e.nodeType!==Lt)throw ot(),lt;return e.data}function Ht(e){return e===this.v}function qn(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Yt(e){return!qn(e,this.v)}let Ge=!1;function Zr(){Ge=!0}let S=null;function Ue(e){S=e}function Jr(e,t=!1,n){S={p:S,i:!1,c:null,e:null,s:e,x:null,l:Ge&&!t?{s:null,u:null,$:[]}:null}}function Qr(e){var t=S,n=t.e;if(n!==null){t.e=null;for(var r of n)rn(r)}return t.i=!0,S=t.p,{}}function je(){return!Ge||S!==null&&S.l===null}let ae=[];function qt(){var e=ae;ae=[],Sn(e)}function Tt(e){if(ae.length===0&&!ke){var t=ae;queueMicrotask(()=>{t===ae&&qt()})}ae.push(e)}function Vn(){for(;ae.length>0;)qt()}function Un(e){var t=h;if(t===null)return _.f|=ee,e;if((t.f&ne)===0&&(t.f&Pe)===0)throw e;Be(e,t)}function Be(e,t){for(;t!==null;){if((t.f&Rn)!==0){if((t.f&ne)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Bn=-7169;function E(e,t){e.f=e.f&Bn|t}function ut(e){(e.f&P)!==0||e.deps===null?E(e,g):E(e,V)}function Vt(e){if(e!==null)for(const t of e)(t.f&A)===0||(t.f&_e)===0||(t.f^=_e,Vt(t.deps))}function Gn(e,t,n){(e.f&R)!==0?t.add(e):(e.f&V)!==0&&n.add(e),Vt(e.deps),E(e,g)}const Ye=new Set;let d=null,bt=null,b=null,O=[],$e=null,Qe=!1,ke=!1;var Ee,ge,le,Te,Ce,Ie,oe,$,be,C,et,tt,nt,Ut;const ht=class ht{constructor(){F(this,C);ye(this,"current",new Map);ye(this,"previous",new Map);F(this,Ee,new Set);F(this,ge,new Set);F(this,le,0);F(this,Te,0);F(this,Ce,null);F(this,Ie,new Set);F(this,oe,new Set);F(this,$,new Map);ye(this,"is_fork",!1);F(this,be,!1)}skip_effect(t){p(this,$).has(t)||p(this,$).set(t,{d:[],m:[]})}unskip_effect(t){var n=p(this,$).get(t);if(n){p(this,$).delete(t);for(var r of n.d)E(r,R),z(r);for(r of n.m)E(r,V),z(r)}}process(t){var s;O=[],this.apply();var n=[],r=[];for(const f of t)X(this,C,tt).call(this,f,n,r);if(X(this,C,et).call(this)){X(this,C,nt).call(this,r),X(this,C,nt).call(this,n);for(const[f,i]of p(this,$))zt(f,i)}else{for(const f of p(this,Ee))f();p(this,Ee).clear(),p(this,le)===0&&X(this,C,Ut).call(this),bt=this,d=null,At(r),At(n),bt=null,(s=p(this,Ce))==null||s.resolve()}b=null}capture(t,n){n!==T&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&ee)===0&&(this.current.set(t,t.v),b==null||b.set(t,t.v))}activate(){d=this,this.apply()}deactivate(){d===this&&(d=null,b=null)}flush(){if(this.activate(),O.length>0){if(Bt(),d!==null&&d!==this)return}else p(this,le)===0&&this.process([]);this.deactivate()}discard(){for(const t of p(this,ge))t(this);p(this,ge).clear()}increment(t){W(this,le,p(this,le)+1),t&&W(this,Te,p(this,Te)+1)}decrement(t){W(this,le,p(this,le)-1),t&&W(this,Te,p(this,Te)-1),!p(this,be)&&(W(this,be,!0),Tt(()=>{W(this,be,!1),X(this,C,et).call(this)?O.length>0&&this.flush():this.revive()}))}revive(){for(const t of p(this,Ie))p(this,oe).delete(t),E(t,R),z(t);for(const t of p(this,oe))E(t,V),z(t);this.flush()}oncommit(t){p(this,Ee).add(t)}ondiscard(t){p(this,ge).add(t)}settled(){return(p(this,Ce)??W(this,Ce,It())).promise}static ensure(){if(d===null){const t=d=new ht;Ye.add(d),ke||Tt(()=>{d===t&&t.flush()})}return d}apply(){}};Ee=new WeakMap,ge=new WeakMap,le=new WeakMap,Te=new WeakMap,Ce=new WeakMap,Ie=new WeakMap,oe=new WeakMap,$=new WeakMap,be=new WeakMap,C=new WeakSet,et=function(){return this.is_fork||p(this,Te)>0},tt=function(t,n,r){t.f^=g;for(var s=t.first;s!==null;){var f=s.f,i=(f&(U|we))!==0,o=i&&(f&g)!==0,a=o||(f&Y)!==0||p(this,$).has(s);if(!a&&s.fn!==null){i?s.f^=g:(f&Pe)!==0?n.push(s):He(s)&&((f&K)!==0&&p(this,oe).add(s),Ne(s));var l=s.first;if(l!==null){s=l;continue}}for(;s!==null;){var c=s.next;if(c!==null){s=c;break}s=s.parent}}},nt=function(t){for(var n=0;n1){this.previous.clear();var t=b,n=!0;for(const f of Ye){if(f===this){n=!1;continue}const i=[];for(const[a,l]of this.current){if(f.current.has(a))if(n&&l!==f.current.get(a))f.current.set(a,l);else continue;i.push(a)}if(i.length===0)continue;const o=[...f.current.keys()].filter(a=>!this.current.has(a));if(o.length>0){var r=O;O=[];const a=new Set,l=new Map;for(const c of i)Gt(c,o,a,l);if(O.length>0){d=f,f.apply();for(const c of O)X(s=f,C,tt).call(s,c,[],[]);f.deactivate()}O=r}}d=null,b=t}Ye.delete(this)};let Se=ht;function $n(e){var t=ke;ke=!0;try{for(var n;;){if(Vn(),O.length===0&&(d==null||d.flush(),O.length===0))return $e=null,n;Bt()}}finally{ke=t}}function Bt(){Qe=!0;var e=null;try{for(var t=0;O.length>0;){var n=Se.ensure();if(t++>1e3){var r,s;zn()}n.process(O),te.clear()}}finally{O=[],Qe=!1,$e=null}}function zn(){try{Dn()}catch(e){Be(e,$e)}}let L=null;function At(e){var t=e.length;if(t!==0){for(var n=0;n0)){te.clear();for(const s of L){if((s.f&(Q|Y))!==0)continue;const f=[s];let i=s.parent;for(;i!==null;)L.has(i)&&(L.delete(i),f.push(i)),i=i.parent;for(let o=f.length-1;o>=0;o--){const a=f[o];(a.f&(Q|Y))===0&&Ne(a)}}L.clear()}}L=null}}function Gt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const f=s.f;(f&A)!==0?Gt(s,t,n,r):(f&(it|K))!==0&&(f&R)===0&&$t(s,t,r)&&(E(s,R),z(s))}}function $t(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Ae.call(t,s))return!0;if((s.f&A)!==0&&$t(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function z(e){var t=$e=e,n=t.b;if(n!=null&&n.is_pending&&(e.f&(Pe|Me|Pt))!==0&&(e.f&ne)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if(Qe&&t===h&&(r&K)!==0&&(r&Mt)===0&&(r&ne)!==0)return;if((r&(we|U))!==0){if((r&g)===0)return;t.f^=g}}O.push(t)}function zt(e,t){if(!((e.f&U)!==0&&(e.f&g)!==0)){(e.f&R)!==0?t.d.push(e):(e.f&V)!==0&&t.m.push(e),E(e,g);for(var n=e.first;n!==null;)zt(n,t),n=n.next}}function Kn(e,t,n,r){const s=je()?ct:Jn;var f=e.filter(u=>!u.settled);if(n.length===0&&f.length===0){r(t.map(s));return}var i=h,o=Wn(),a=f.length===1?f[0].promise:f.length>1?Promise.all(f.map(u=>u.promise)):null;function l(u){o();try{r(u)}catch(v){(i.f&Q)===0&&Be(v,i)}rt()}if(n.length===0){a.then(()=>l(t.map(s)));return}function c(){o(),Promise.all(n.map(u=>Zn(u))).then(u=>l([...t.map(s),...u])).catch(u=>Be(u,i))}a?a.then(c):c()}function Wn(){var e=h,t=_,n=S,r=d;return function(f=!0){Re(e),re(t),Ue(n),f&&(r==null||r.activate())}}function rt(e=!0){Re(null),re(null),Ue(null),e&&(d==null||d.deactivate())}function Xn(){var e=h.b,t=d,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function ct(e){var t=A|R,n=_!==null&&(_.f&A)!==0?_:null;return h!==null&&(h.f|=Fe),{ctx:S,deps:null,effects:null,equals:Ht,f:t,fn:e,reactions:null,rv:0,v:T,wv:0,parent:n??h,ac:null}}function Zn(e,t,n){h===null&&Nn();var s=void 0,f=vt(T),i=!_,o=new Map;return or(()=>{var v;var a=It();s=a.promise;try{Promise.resolve(e()).then(a.resolve,a.reject).finally(rt)}catch(m){a.reject(m),rt()}var l=d;if(i){var c=Xn();(v=o.get(l))==null||v.reject(fe),o.delete(l),o.set(l,a)}const u=(m,w=void 0)=>{if(l.activate(),w)w!==fe&&(f.f|=ee,ft(f,w));else{(f.f&ee)!==0&&(f.f^=ee),ft(f,m);for(const[G,N]of o){if(o.delete(G),G===l)break;N.reject(fe)}}c&&c()};a.promise.then(u,m=>u(null,m||"unknown"))}),lr(()=>{for(const a of o.values())a.reject(fe)}),new Promise(a=>{function l(c){function u(){c===s?a(f):l(s)}c.then(u,u)}l(s)})}function es(e){const t=ct(e);return on(t),t}function Jn(e){const t=ct(e);return t.equals=Yt,t}function Qn(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n0&&!Xt&&nr()}return t}function nr(){Xt=!1;for(const e of st)(e.f&g)!==0&&E(e,V),He(e)&&Ne(e);st.clear()}function ns(e,t=1){var n=me(e),r=t===1?n++:n--;return J(e,n),r}function Xe(e){J(e,e.v+1)}function Zt(e,t){var n=e.reactions;if(n!==null)for(var r=je(),s=n.length,f=0;f{if(ce===f)return o();var a=_,l=ce;re(null),xt(f);var c=o();return re(a),xt(l),c};return r&&n.set("length",Z(e.length)),new Proxy(e,{defineProperty(o,a,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&Cn();var c=n.get(a);return c===void 0?i(()=>{var u=Z(l.value);return n.set(a,u),u}):J(c,l.value,!0),!0},deleteProperty(o,a){var l=n.get(a);if(l===void 0){if(a in o){const c=i(()=>Z(T));n.set(a,c),Xe(s)}}else J(l,T),Xe(s);return!0},get(o,a,l){var m;if(a===ue)return e;var c=n.get(a),u=a in o;if(c===void 0&&(!u||(m=xe(o,a))!=null&&m.writable)&&(c=i(()=>{var w=Oe(u?o[a]:T),G=Z(w);return G}),n.set(a,c)),c!==void 0){var v=me(c);return v===T?void 0:v}return Reflect.get(o,a,l)},getOwnPropertyDescriptor(o,a){var l=Reflect.getOwnPropertyDescriptor(o,a);if(l&&"value"in l){var c=n.get(a);c&&(l.value=me(c))}else if(l===void 0){var u=n.get(a),v=u==null?void 0:u.v;if(u!==void 0&&v!==T)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return l},has(o,a){var v;if(a===ue)return!0;var l=n.get(a),c=l!==void 0&&l.v!==T||Reflect.has(o,a);if(l!==void 0||h!==null&&(!c||(v=xe(o,a))!=null&&v.writable)){l===void 0&&(l=i(()=>{var m=c?Oe(o[a]):T,w=Z(m);return w}),n.set(a,l));var u=me(l);if(u===T)return!1}return c},set(o,a,l,c){var yt;var u=n.get(a),v=a in o;if(r&&a==="length")for(var m=l;mZ(T)),n.set(m+"",w))}if(u===void 0)(!v||(yt=xe(o,a))!=null&&yt.writable)&&(u=i(()=>Z(void 0)),J(u,Oe(l)),n.set(a,u));else{v=u.v!==T;var G=i(()=>Oe(l));J(u,G)}var N=Reflect.getOwnPropertyDescriptor(o,a);if(N!=null&&N.set&&N.set.call(c,l),!v){if(r&&typeof a=="string"){var wt=n.get("length"),Ke=Number(a);Number.isInteger(Ke)&&Ke>=wt.v&&J(wt,Ke+1)}Xe(s)}return!0},ownKeys(o){me(s);var a=Reflect.ownKeys(o).filter(u=>{var v=n.get(u);return v===void 0||v.v!==T});for(var[l,c]of n)c.v!==T&&!(l in o)&&a.push(l);return a},setPrototypeOf(){In()}})}function St(e){try{if(e!==null&&typeof e=="object"&&ue in e)return e[ue]}catch{}return e}function rs(e,t){return Object.is(St(e),St(t))}var Rt,rr,Jt,Qt,en;function ss(){if(Rt===void 0){Rt=window,rr=document,Jt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Qt=xe(t,"firstChild").get,en=xe(t,"nextSibling").get,Et(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Et(n)&&(n.__t=void 0)}}function de(e=""){return document.createTextNode(e)}function j(e){return Qt.call(e)}function se(e){return en.call(e)}function fs(e,t){if(!D)return j(e);var n=j(y);if(n===null)n=y.appendChild(de());else if(t&&n.nodeType!==Le){var r=de();return n==null||n.before(r),ve(r),r}return t&&ze(n),ve(n),n}function as(e,t=!1){if(!D){var n=j(e);return n instanceof Comment&&n.data===""?se(n):n}if(t){if((y==null?void 0:y.nodeType)!==Le){var r=de();return y==null||y.before(r),ve(r),r}ze(y)}return y}function is(e,t=1,n=!1){let r=D?y:e;for(var s;t--;)s=r,r=se(r);if(!D)return r;if(n){if((r==null?void 0:r.nodeType)!==Le){var f=de();return r===null?s==null||s.after(f):r.before(f),ve(f),f}ze(r)}return ve(r),r}function sr(e){e.textContent=""}function ls(){return!1}function fr(e,t,n){return document.createElementNS(t??Hn,e,void 0)}function ze(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===Le;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function os(e){D&&j(e)!==null&&sr(e)}let Nt=!1;function ar(){Nt||(Nt=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function dt(e){var t=_,n=h;re(null),Re(null);try{return e()}finally{re(t),Re(n)}}function us(e,t,n,r=n){e.addEventListener(t,()=>dt(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),ar()}function tn(e){h===null&&(_===null&&kn(),xn()),he&&On()}function ir(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function B(e,t,n){var r=h;r!==null&&(r.f&Y)!==0&&(e|=Y);var s={ctx:S,deps:null,nodes:null,f:e|R|P,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{Ne(s)}catch(o){throw pe(s),o}else t!==null&&z(s);var f=s;if(n&&f.deps===null&&f.teardown===null&&f.nodes===null&&f.first===f.last&&(f.f&Fe)===0&&(f=f.first,(e&K)!==0&&(e&Ve)!==0&&f!==null&&(f.f|=Ve)),f!==null&&(f.parent=r,r!==null&&ir(f,r),_!==null&&(_.f&A)!==0&&(e&we)===0)){var i=_;(i.effects??(i.effects=[])).push(f)}return s}function nn(){return _!==null&&!H}function lr(e){const t=B(Me,null,!1);return E(t,g),t.teardown=e,t}function cs(e){tn();var t=h.f,n=!_&&(t&U)!==0&&(t&ne)===0;if(n){var r=S;(r.e??(r.e=[])).push(e)}else return rn(e)}function rn(e){return B(Pe|Ft,e,!1)}function _s(e){return tn(),B(Me|Ft,e,!0)}function vs(e){Se.ensure();const t=B(we|Fe,e,!0);return(n={})=>new Promise(r=>{n.outro?_r(t,()=>{pe(t),r(void 0)}):(pe(t),r(void 0))})}function ds(e){return B(Pe,e,!1)}function or(e){return B(it|Fe,e,!0)}function ps(e,t=0){return B(Me|t,e,!0)}function hs(e,t=[],n=[],r=[]){Kn(r,t,n,s=>{B(Me,()=>e(...s.map(me)),!0)})}function ws(e,t=0){var n=B(K|t,e,!0);return n}function ys(e){return B(U|Fe,e,!0)}function sn(e){var t=e.teardown;if(t!==null){const n=he,r=_;Ot(!0),re(null);try{t.call(null)}finally{Ot(n),re(r)}}}function pt(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&dt(()=>{s.abort(fe)});var r=n.next;(n.f&we)!==0?n.parent=null:pe(n,t),n=r}}function ur(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&U)===0&&pe(t),t=n}}function pe(e,t=!0){var n=!1;(t||(e.f&Mt)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(cr(e.nodes.start,e.nodes.end),n=!0),pt(e,t&&!n),De(e,0),E(e,Q);var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)f.stop();sn(e);var s=e.parent;s!==null&&s.first!==null&&fn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function cr(e,t){for(;e!==null;){var n=e===t?null:se(e);e.remove(),e=n}}function fn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function _r(e,t,n=!0){var r=[];an(e,r,!0);var s=()=>{n&&pe(e),t&&t()},f=r.length;if(f>0){var i=()=>--f||s();for(var o of r)o.out(i)}else s()}function an(e,t,n){if((e.f&Y)===0){e.f^=Y;var r=e.nodes&&e.nodes.t;if(r!==null)for(const o of r)(o.is_global||n)&&t.push(o);for(var s=e.first;s!==null;){var f=s.next,i=(s.f&Ve)!==0||(s.f&U)!==0&&(e.f&K)!==0;an(s,t,i?n:!1),s=f}}}function ms(e){ln(e,!0)}function ln(e,t){if((e.f&Y)!==0){e.f^=Y,(e.f&g)===0&&(E(e,R),z(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Ve)!==0||(n.f&U)!==0;ln(n,s?t:!1),n=r}var f=e.nodes&&e.nodes.t;if(f!==null)for(const i of f)(i.is_global||t)&&i.in()}}function Es(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:se(n);t.append(n),n=s}}let qe=!1,he=!1;function Ot(e){he=e}let _=null,H=!1;function re(e){_=e}let h=null;function Re(e){h=e}let M=null;function on(e){_!==null&&(M===null?M=[e]:M.push(e))}let x=null,k=0,I=null;function vr(e){I=e}let un=1,ie=0,ce=ie;function xt(e){ce=e}function cn(){return++un}function He(e){var t=e.f;if((t&R)!==0)return!0;if(t&A&&(e.f&=~_e),(t&V)!==0){for(var n=e.deps,r=n.length,s=0;se.wv)return!0}(t&P)!==0&&b===null&&E(e,g)}return!1}function _n(e,t,n=!0){var r=e.reactions;if(r!==null&&!(M!==null&&Ae.call(M,e)))for(var s=0;s{e.ac.abort(fe)}),e.ac=null);try{e.f|=Je;var c=e.fn,u=c();e.f|=ne;var v=e.deps,m=d==null?void 0:d.is_fork;if(x!==null){var w;if(m||De(e,k),v!==null&&k>0)for(v.length=k+x.length,w=0;we});function pr(e){return(Ze==null?void 0:Ze.createHTML(e))??e}function hn(e){var t=fr("template");return t.innerHTML=pr(e.replaceAll("","")),t.content}function q(e,t){var n=h;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function Ss(e,t){var n=(t&jt)!==0,r=(t&Mn)!==0,s,f=!e.startsWith("");return()=>{if(D)return q(y,null),y;s===void 0&&(s=hn(f?e:""+e),n||(s=j(s)));var i=r||Jt?document.importNode(s,!0):s.cloneNode(!0);if(n){var o=j(i),a=i.lastChild;q(o,a)}else q(i,i);return i}}function hr(e,t,n="svg"){var r=!e.startsWith(""),s=(t&jt)!==0,f=`<${n}>${r?e:""+e}`,i;return()=>{if(D)return q(y,null),y;if(!i){var o=hn(f),a=j(o);if(s)for(i=document.createDocumentFragment();j(a);)i.appendChild(j(a));else i=j(a)}var l=i.cloneNode(!0);if(s){var c=j(l),u=l.lastChild;q(c,u)}else q(l,l);return l}}function Rs(e,t){return hr(e,t,"svg")}function Ns(e=""){if(!D){var t=de(e+"");return q(t,t),t}var n=y;return n.nodeType!==Le?(n.before(n=de()),ve(n)):ze(n),q(n,n),n}function Os(){if(D)return q(y,null),y;var e=document.createDocumentFragment(),t=document.createComment(""),n=de();return e.append(t,n),q(t,n),e}function xs(e,t){if(D){var n=h;((n.f&ne)===0||n.nodes.end===null)&&(n.nodes.end=y),Yn();return}e!==null&&e.before(t)}export{ys as $,Br as A,rs as B,bt as C,de as D,Ve as E,Fe as F,D as G,Mt as H,Lt as I,se as J,$r as K,ve as L,y as M,j as N,gs as O,bs as P,ps as Q,Tt as R,ue as S,Yn as T,Xr as U,Fn as V,Ln as W,Wr as X,ms as Y,pe as Z,_r as _,xs as a,Se as a$,Es as a0,ls as a1,S as a2,_s as a3,Sn as a4,Er as a5,As as a6,ct as a7,Zr as a8,ns as a9,Vr as aA,Ur as aB,je as aC,Ir as aD,jn as aE,ft as aF,Tr as aG,Nr as aH,yr as aI,Dr as aJ,Mr as aK,vt as aL,Cr as aM,Y as aN,U as aO,Pr as aP,sr as aQ,Ar as aR,Hn as aS,Ct as aT,gn as aU,Rr as aV,ar as aW,nn as aX,Xe as aY,Rn as aZ,qr as a_,qn as aa,An as ab,ts as ac,mr as ad,xe as ae,xr as af,jr as ag,he as ah,h as ai,Q as aj,Hr as ak,Ge as al,Lr as am,Fr as an,Jn as ao,Yr as ap,br as aq,rr as ar,$n as as,Ts as at,Rs as au,cr as av,ot as aw,lt as ax,q as ay,fr as az,Qr as b,E as b0,R as b1,z as b2,V as b3,Gn as b4,Re as b5,re as b6,Ue as b7,Un as b8,_ as b9,Be as ba,kr as bb,Gr as bc,dt as bd,ss as be,Or as bf,vs as bg,Os as c,Oe as d,fs as e,as as f,me as g,is as h,J as i,Ss as j,os as k,gr as l,Ns as m,Kr as n,cs as o,Jr as p,ws as q,zr as r,Z as s,hs as t,es as u,us as v,d as w,ds as x,lr as y,mn as z}; +var wn=Object.defineProperty;var mt=e=>{throw TypeError(e)};var yn=(e,t,n)=>t in e?wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ye=(e,t,n)=>yn(e,typeof t!="symbol"?t+"":t,n),We=(e,t,n)=>t.has(e)||mt("Cannot "+n);var p=(e,t,n)=>(We(e,t,"read from private field"),n?n.call(e):t.get(e)),F=(e,t,n)=>t.has(e)?mt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),W=(e,t,n,r)=>(We(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),X=(e,t,n)=>(We(e,t,"access private method"),n);var mn=Array.isArray,En=Array.prototype.indexOf,Ae=Array.prototype.includes,yr=Array.from,mr=Object.defineProperty,xe=Object.getOwnPropertyDescriptor,gn=Object.getOwnPropertyDescriptors,Tn=Object.prototype,bn=Array.prototype,Ct=Object.getPrototypeOf,Et=Object.isExtensible;const An=()=>{};function Er(e){return e()}function Sn(e){for(var t=0;t{e=r,t=s});return{promise:n,resolve:e,reject:t}}function gr(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}const A=2,Pe=4,Me=8,Pt=1<<24,K=16,U=32,we=64,Rn=128,P=512,g=1024,R=2048,V=4096,Y=8192,Q=16384,ne=32768,Ve=65536,gt=1<<17,Mt=1<<18,Fe=1<<19,Ft=1<<20,Tr=1<<25,_e=65536,Je=1<<21,it=1<<22,ee=1<<23,ue=Symbol("$state"),br=Symbol("legacy props"),Ar=Symbol(""),fe=new class extends Error{constructor(){super(...arguments);ye(this,"name","StaleReactionError");ye(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var kt;const Rr=!!((kt=globalThis.document)!=null&&kt.contentType)&&globalThis.document.contentType.includes("xml"),Le=3,Lt=8;function Nn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Nr(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function On(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function xn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function kn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Dn(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Or(){throw new Error("https://svelte.dev/e/hydration_failed")}function xr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Cn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function In(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Pn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function kr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Dr=1,Cr=2,Ir=4,Pr=8,Mr=16,Fr=1,Lr=2,jr=4,Hr=8,Yr=16,jt=1,Mn=2,Fn="[",Ln="[!",qr="[?",jn="]",lt={},T=Symbol(),Hn="http://www.w3.org/1999/xhtml",Vr="http://www.w3.org/2000/svg",Ur="http://www.w3.org/1998/Math/MathML";function ot(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Br(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Gr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let D=!1;function $r(e){D=e}let y;function ve(e){if(e===null)throw ot(),lt;return y=e}function Yn(){return ve(se(y))}function zr(e){if(D){if(se(y)!==null)throw ot(),lt;y=e}}function Kr(e=1){if(D){for(var t=e,n=y;t--;)n=se(n);y=n}}function Wr(e=!0){for(var t=0,n=y;;){if(n.nodeType===Lt){var r=n.data;if(r===jn){if(t===0)return n;t-=1}else(r===Fn||r===Ln||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=se(n);e&&n.remove(),n=s}}function Xr(e){if(!e||e.nodeType!==Lt)throw ot(),lt;return e.data}function Ht(e){return e===this.v}function qn(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Yt(e){return!qn(e,this.v)}let Ge=!1;function Zr(){Ge=!0}let S=null;function Ue(e){S=e}function Jr(e,t=!1,n){S={p:S,i:!1,c:null,e:null,s:e,x:null,l:Ge&&!t?{s:null,u:null,$:[]}:null}}function Qr(e){var t=S,n=t.e;if(n!==null){t.e=null;for(var r of n)rn(r)}return t.i=!0,S=t.p,{}}function je(){return!Ge||S!==null&&S.l===null}let ae=[];function qt(){var e=ae;ae=[],Sn(e)}function Tt(e){if(ae.length===0&&!ke){var t=ae;queueMicrotask(()=>{t===ae&&qt()})}ae.push(e)}function Vn(){for(;ae.length>0;)qt()}function Un(e){var t=h;if(t===null)return _.f|=ee,e;if((t.f&ne)===0&&(t.f&Pe)===0)throw e;Be(e,t)}function Be(e,t){for(;t!==null;){if((t.f&Rn)!==0){if((t.f&ne)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Bn=-7169;function E(e,t){e.f=e.f&Bn|t}function ut(e){(e.f&P)!==0||e.deps===null?E(e,g):E(e,V)}function Vt(e){if(e!==null)for(const t of e)(t.f&A)===0||(t.f&_e)===0||(t.f^=_e,Vt(t.deps))}function Gn(e,t,n){(e.f&R)!==0?t.add(e):(e.f&V)!==0&&n.add(e),Vt(e.deps),E(e,g)}const Ye=new Set;let d=null,bt=null,b=null,O=[],$e=null,Qe=!1,ke=!1;var Ee,ge,le,Te,Ce,Ie,oe,$,be,C,et,tt,nt,Ut;const ht=class ht{constructor(){F(this,C);ye(this,"current",new Map);ye(this,"previous",new Map);F(this,Ee,new Set);F(this,ge,new Set);F(this,le,0);F(this,Te,0);F(this,Ce,null);F(this,Ie,new Set);F(this,oe,new Set);F(this,$,new Map);ye(this,"is_fork",!1);F(this,be,!1)}skip_effect(t){p(this,$).has(t)||p(this,$).set(t,{d:[],m:[]})}unskip_effect(t){var n=p(this,$).get(t);if(n){p(this,$).delete(t);for(var r of n.d)E(r,R),z(r);for(r of n.m)E(r,V),z(r)}}process(t){var s;O=[],this.apply();var n=[],r=[];for(const f of t)X(this,C,tt).call(this,f,n,r);if(X(this,C,et).call(this)){X(this,C,nt).call(this,r),X(this,C,nt).call(this,n);for(const[f,i]of p(this,$))zt(f,i)}else{for(const f of p(this,Ee))f();p(this,Ee).clear(),p(this,le)===0&&X(this,C,Ut).call(this),bt=this,d=null,At(r),At(n),bt=null,(s=p(this,Ce))==null||s.resolve()}b=null}capture(t,n){n!==T&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&ee)===0&&(this.current.set(t,t.v),b==null||b.set(t,t.v))}activate(){d=this,this.apply()}deactivate(){d===this&&(d=null,b=null)}flush(){if(this.activate(),O.length>0){if(Bt(),d!==null&&d!==this)return}else p(this,le)===0&&this.process([]);this.deactivate()}discard(){for(const t of p(this,ge))t(this);p(this,ge).clear()}increment(t){W(this,le,p(this,le)+1),t&&W(this,Te,p(this,Te)+1)}decrement(t){W(this,le,p(this,le)-1),t&&W(this,Te,p(this,Te)-1),!p(this,be)&&(W(this,be,!0),Tt(()=>{W(this,be,!1),X(this,C,et).call(this)?O.length>0&&this.flush():this.revive()}))}revive(){for(const t of p(this,Ie))p(this,oe).delete(t),E(t,R),z(t);for(const t of p(this,oe))E(t,V),z(t);this.flush()}oncommit(t){p(this,Ee).add(t)}ondiscard(t){p(this,ge).add(t)}settled(){return(p(this,Ce)??W(this,Ce,It())).promise}static ensure(){if(d===null){const t=d=new ht;Ye.add(d),ke||Tt(()=>{d===t&&t.flush()})}return d}apply(){}};Ee=new WeakMap,ge=new WeakMap,le=new WeakMap,Te=new WeakMap,Ce=new WeakMap,Ie=new WeakMap,oe=new WeakMap,$=new WeakMap,be=new WeakMap,C=new WeakSet,et=function(){return this.is_fork||p(this,Te)>0},tt=function(t,n,r){t.f^=g;for(var s=t.first;s!==null;){var f=s.f,i=(f&(U|we))!==0,o=i&&(f&g)!==0,a=o||(f&Y)!==0||p(this,$).has(s);if(!a&&s.fn!==null){i?s.f^=g:(f&Pe)!==0?n.push(s):He(s)&&((f&K)!==0&&p(this,oe).add(s),Ne(s));var l=s.first;if(l!==null){s=l;continue}}for(;s!==null;){var c=s.next;if(c!==null){s=c;break}s=s.parent}}},nt=function(t){for(var n=0;n1){this.previous.clear();var t=b,n=!0;for(const f of Ye){if(f===this){n=!1;continue}const i=[];for(const[a,l]of this.current){if(f.current.has(a))if(n&&l!==f.current.get(a))f.current.set(a,l);else continue;i.push(a)}if(i.length===0)continue;const o=[...f.current.keys()].filter(a=>!this.current.has(a));if(o.length>0){var r=O;O=[];const a=new Set,l=new Map;for(const c of i)Gt(c,o,a,l);if(O.length>0){d=f,f.apply();for(const c of O)X(s=f,C,tt).call(s,c,[],[]);f.deactivate()}O=r}}d=null,b=t}Ye.delete(this)};let Se=ht;function $n(e){var t=ke;ke=!0;try{for(var n;;){if(Vn(),O.length===0&&(d==null||d.flush(),O.length===0))return $e=null,n;Bt()}}finally{ke=t}}function Bt(){Qe=!0;var e=null;try{for(var t=0;O.length>0;){var n=Se.ensure();if(t++>1e3){var r,s;zn()}n.process(O),te.clear()}}finally{O=[],Qe=!1,$e=null}}function zn(){try{Dn()}catch(e){Be(e,$e)}}let L=null;function At(e){var t=e.length;if(t!==0){for(var n=0;n0)){te.clear();for(const s of L){if((s.f&(Q|Y))!==0)continue;const f=[s];let i=s.parent;for(;i!==null;)L.has(i)&&(L.delete(i),f.push(i)),i=i.parent;for(let o=f.length-1;o>=0;o--){const a=f[o];(a.f&(Q|Y))===0&&Ne(a)}}L.clear()}}L=null}}function Gt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const f=s.f;(f&A)!==0?Gt(s,t,n,r):(f&(it|K))!==0&&(f&R)===0&&$t(s,t,r)&&(E(s,R),z(s))}}function $t(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Ae.call(t,s))return!0;if((s.f&A)!==0&&$t(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function z(e){var t=$e=e,n=t.b;if(n!=null&&n.is_pending&&(e.f&(Pe|Me|Pt))!==0&&(e.f&ne)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if(Qe&&t===h&&(r&K)!==0&&(r&Mt)===0&&(r&ne)!==0)return;if((r&(we|U))!==0){if((r&g)===0)return;t.f^=g}}O.push(t)}function zt(e,t){if(!((e.f&U)!==0&&(e.f&g)!==0)){(e.f&R)!==0?t.d.push(e):(e.f&V)!==0&&t.m.push(e),E(e,g);for(var n=e.first;n!==null;)zt(n,t),n=n.next}}function Kn(e,t,n,r){const s=je()?ct:Jn;var f=e.filter(u=>!u.settled);if(n.length===0&&f.length===0){r(t.map(s));return}var i=h,o=Wn(),a=f.length===1?f[0].promise:f.length>1?Promise.all(f.map(u=>u.promise)):null;function l(u){o();try{r(u)}catch(v){(i.f&Q)===0&&Be(v,i)}rt()}if(n.length===0){a.then(()=>l(t.map(s)));return}function c(){o(),Promise.all(n.map(u=>Zn(u))).then(u=>l([...t.map(s),...u])).catch(u=>Be(u,i))}a?a.then(c):c()}function Wn(){var e=h,t=_,n=S,r=d;return function(f=!0){Re(e),re(t),Ue(n),f&&(r==null||r.activate())}}function rt(e=!0){Re(null),re(null),Ue(null),e&&(d==null||d.deactivate())}function Xn(){var e=h.b,t=d,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function ct(e){var t=A|R,n=_!==null&&(_.f&A)!==0?_:null;return h!==null&&(h.f|=Fe),{ctx:S,deps:null,effects:null,equals:Ht,f:t,fn:e,reactions:null,rv:0,v:T,wv:0,parent:n??h,ac:null}}function Zn(e,t,n){h===null&&Nn();var s=void 0,f=vt(T),i=!_,o=new Map;return or(()=>{var v;var a=It();s=a.promise;try{Promise.resolve(e()).then(a.resolve,a.reject).finally(rt)}catch(m){a.reject(m),rt()}var l=d;if(i){var c=Xn();(v=o.get(l))==null||v.reject(fe),o.delete(l),o.set(l,a)}const u=(m,w=void 0)=>{if(l.activate(),w)w!==fe&&(f.f|=ee,ft(f,w));else{(f.f&ee)!==0&&(f.f^=ee),ft(f,m);for(const[G,N]of o){if(o.delete(G),G===l)break;N.reject(fe)}}c&&c()};a.promise.then(u,m=>u(null,m||"unknown"))}),lr(()=>{for(const a of o.values())a.reject(fe)}),new Promise(a=>{function l(c){function u(){c===s?a(f):l(s)}c.then(u,u)}l(s)})}function es(e){const t=ct(e);return on(t),t}function Jn(e){const t=ct(e);return t.equals=Yt,t}function Qn(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n0&&!Xt&&nr()}return t}function nr(){Xt=!1;for(const e of st)(e.f&g)!==0&&E(e,V),He(e)&&Ne(e);st.clear()}function ns(e,t=1){var n=me(e),r=t===1?n++:n--;return J(e,n),r}function Xe(e){J(e,e.v+1)}function Zt(e,t){var n=e.reactions;if(n!==null)for(var r=je(),s=n.length,f=0;f{if(ce===f)return o();var a=_,l=ce;re(null),xt(f);var c=o();return re(a),xt(l),c};return r&&n.set("length",Z(e.length)),new Proxy(e,{defineProperty(o,a,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&Cn();var c=n.get(a);return c===void 0?i(()=>{var u=Z(l.value);return n.set(a,u),u}):J(c,l.value,!0),!0},deleteProperty(o,a){var l=n.get(a);if(l===void 0){if(a in o){const c=i(()=>Z(T));n.set(a,c),Xe(s)}}else J(l,T),Xe(s);return!0},get(o,a,l){var m;if(a===ue)return e;var c=n.get(a),u=a in o;if(c===void 0&&(!u||(m=xe(o,a))!=null&&m.writable)&&(c=i(()=>{var w=Oe(u?o[a]:T),G=Z(w);return G}),n.set(a,c)),c!==void 0){var v=me(c);return v===T?void 0:v}return Reflect.get(o,a,l)},getOwnPropertyDescriptor(o,a){var l=Reflect.getOwnPropertyDescriptor(o,a);if(l&&"value"in l){var c=n.get(a);c&&(l.value=me(c))}else if(l===void 0){var u=n.get(a),v=u==null?void 0:u.v;if(u!==void 0&&v!==T)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return l},has(o,a){var v;if(a===ue)return!0;var l=n.get(a),c=l!==void 0&&l.v!==T||Reflect.has(o,a);if(l!==void 0||h!==null&&(!c||(v=xe(o,a))!=null&&v.writable)){l===void 0&&(l=i(()=>{var m=c?Oe(o[a]):T,w=Z(m);return w}),n.set(a,l));var u=me(l);if(u===T)return!1}return c},set(o,a,l,c){var yt;var u=n.get(a),v=a in o;if(r&&a==="length")for(var m=l;mZ(T)),n.set(m+"",w))}if(u===void 0)(!v||(yt=xe(o,a))!=null&&yt.writable)&&(u=i(()=>Z(void 0)),J(u,Oe(l)),n.set(a,u));else{v=u.v!==T;var G=i(()=>Oe(l));J(u,G)}var N=Reflect.getOwnPropertyDescriptor(o,a);if(N!=null&&N.set&&N.set.call(c,l),!v){if(r&&typeof a=="string"){var wt=n.get("length"),Ke=Number(a);Number.isInteger(Ke)&&Ke>=wt.v&&J(wt,Ke+1)}Xe(s)}return!0},ownKeys(o){me(s);var a=Reflect.ownKeys(o).filter(u=>{var v=n.get(u);return v===void 0||v.v!==T});for(var[l,c]of n)c.v!==T&&!(l in o)&&a.push(l);return a},setPrototypeOf(){In()}})}function St(e){try{if(e!==null&&typeof e=="object"&&ue in e)return e[ue]}catch{}return e}function rs(e,t){return Object.is(St(e),St(t))}var Rt,rr,Jt,Qt,en;function ss(){if(Rt===void 0){Rt=window,rr=document,Jt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Qt=xe(t,"firstChild").get,en=xe(t,"nextSibling").get,Et(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Et(n)&&(n.__t=void 0)}}function de(e=""){return document.createTextNode(e)}function j(e){return Qt.call(e)}function se(e){return en.call(e)}function fs(e,t){if(!D)return j(e);var n=j(y);if(n===null)n=y.appendChild(de());else if(t&&n.nodeType!==Le){var r=de();return n==null||n.before(r),ve(r),r}return t&&ze(n),ve(n),n}function as(e,t=!1){if(!D){var n=j(e);return n instanceof Comment&&n.data===""?se(n):n}if(t){if((y==null?void 0:y.nodeType)!==Le){var r=de();return y==null||y.before(r),ve(r),r}ze(y)}return y}function is(e,t=1,n=!1){let r=D?y:e;for(var s;t--;)s=r,r=se(r);if(!D)return r;if(n){if((r==null?void 0:r.nodeType)!==Le){var f=de();return r===null?s==null||s.after(f):r.before(f),ve(f),f}ze(r)}return ve(r),r}function sr(e){e.textContent=""}function ls(){return!1}function fr(e,t,n){return document.createElementNS(t??Hn,e,void 0)}function ze(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===Le;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function os(e){D&&j(e)!==null&&sr(e)}let Nt=!1;function ar(){Nt||(Nt=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function dt(e){var t=_,n=h;re(null),Re(null);try{return e()}finally{re(t),Re(n)}}function us(e,t,n,r=n){e.addEventListener(t,()=>dt(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),ar()}function tn(e){h===null&&(_===null&&kn(),xn()),he&&On()}function ir(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function B(e,t,n){var r=h;r!==null&&(r.f&Y)!==0&&(e|=Y);var s={ctx:S,deps:null,nodes:null,f:e|R|P,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{Ne(s)}catch(o){throw pe(s),o}else t!==null&&z(s);var f=s;if(n&&f.deps===null&&f.teardown===null&&f.nodes===null&&f.first===f.last&&(f.f&Fe)===0&&(f=f.first,(e&K)!==0&&(e&Ve)!==0&&f!==null&&(f.f|=Ve)),f!==null&&(f.parent=r,r!==null&&ir(f,r),_!==null&&(_.f&A)!==0&&(e&we)===0)){var i=_;(i.effects??(i.effects=[])).push(f)}return s}function nn(){return _!==null&&!H}function lr(e){const t=B(Me,null,!1);return E(t,g),t.teardown=e,t}function cs(e){tn();var t=h.f,n=!_&&(t&U)!==0&&(t&ne)===0;if(n){var r=S;(r.e??(r.e=[])).push(e)}else return rn(e)}function rn(e){return B(Pe|Ft,e,!1)}function _s(e){return tn(),B(Me|Ft,e,!0)}function vs(e){Se.ensure();const t=B(we|Fe,e,!0);return(n={})=>new Promise(r=>{n.outro?_r(t,()=>{pe(t),r(void 0)}):(pe(t),r(void 0))})}function ds(e){return B(Pe,e,!1)}function or(e){return B(it|Fe,e,!0)}function ps(e,t=0){return B(Me|t,e,!0)}function hs(e,t=[],n=[],r=[]){Kn(r,t,n,s=>{B(Me,()=>e(...s.map(me)),!0)})}function ws(e,t=0){var n=B(K|t,e,!0);return n}function ys(e){return B(U|Fe,e,!0)}function sn(e){var t=e.teardown;if(t!==null){const n=he,r=_;Ot(!0),re(null);try{t.call(null)}finally{Ot(n),re(r)}}}function pt(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&dt(()=>{s.abort(fe)});var r=n.next;(n.f&we)!==0?n.parent=null:pe(n,t),n=r}}function ur(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&U)===0&&pe(t),t=n}}function pe(e,t=!0){var n=!1;(t||(e.f&Mt)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(cr(e.nodes.start,e.nodes.end),n=!0),pt(e,t&&!n),De(e,0),E(e,Q);var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)f.stop();sn(e);var s=e.parent;s!==null&&s.first!==null&&fn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function cr(e,t){for(;e!==null;){var n=e===t?null:se(e);e.remove(),e=n}}function fn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function _r(e,t,n=!0){var r=[];an(e,r,!0);var s=()=>{n&&pe(e),t&&t()},f=r.length;if(f>0){var i=()=>--f||s();for(var o of r)o.out(i)}else s()}function an(e,t,n){if((e.f&Y)===0){e.f^=Y;var r=e.nodes&&e.nodes.t;if(r!==null)for(const o of r)(o.is_global||n)&&t.push(o);for(var s=e.first;s!==null;){var f=s.next,i=(s.f&Ve)!==0||(s.f&U)!==0&&(e.f&K)!==0;an(s,t,i?n:!1),s=f}}}function ms(e){ln(e,!0)}function ln(e,t){if((e.f&Y)!==0){e.f^=Y,(e.f&g)===0&&(E(e,R),z(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Ve)!==0||(n.f&U)!==0;ln(n,s?t:!1),n=r}var f=e.nodes&&e.nodes.t;if(f!==null)for(const i of f)(i.is_global||t)&&i.in()}}function Es(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:se(n);t.append(n),n=s}}let qe=!1,he=!1;function Ot(e){he=e}let _=null,H=!1;function re(e){_=e}let h=null;function Re(e){h=e}let M=null;function on(e){_!==null&&(M===null?M=[e]:M.push(e))}let x=null,k=0,I=null;function vr(e){I=e}let un=1,ie=0,ce=ie;function xt(e){ce=e}function cn(){return++un}function He(e){var t=e.f;if((t&R)!==0)return!0;if(t&A&&(e.f&=~_e),(t&V)!==0){for(var n=e.deps,r=n.length,s=0;se.wv)return!0}(t&P)!==0&&b===null&&E(e,g)}return!1}function _n(e,t,n=!0){var r=e.reactions;if(r!==null&&!(M!==null&&Ae.call(M,e)))for(var s=0;s{e.ac.abort(fe)}),e.ac=null);try{e.f|=Je;var c=e.fn,u=c();e.f|=ne;var v=e.deps,m=d==null?void 0:d.is_fork;if(x!==null){var w;if(m||De(e,k),v!==null&&k>0)for(v.length=k+x.length,w=0;we});function pr(e){return(Ze==null?void 0:Ze.createHTML(e))??e}function hn(e){var t=fr("template");return t.innerHTML=pr(e.replaceAll("","")),t.content}function q(e,t){var n=h;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function Ss(e,t){var n=(t&jt)!==0,r=(t&Mn)!==0,s,f=!e.startsWith("");return()=>{if(D)return q(y,null),y;s===void 0&&(s=hn(f?e:""+e),n||(s=j(s)));var i=r||Jt?document.importNode(s,!0):s.cloneNode(!0);if(n){var o=j(i),a=i.lastChild;q(o,a)}else q(i,i);return i}}function hr(e,t,n="svg"){var r=!e.startsWith(""),s=(t&jt)!==0,f=`<${n}>${r?e:""+e}`,i;return()=>{if(D)return q(y,null),y;if(!i){var o=hn(f),a=j(o);if(s)for(i=document.createDocumentFragment();j(a);)i.appendChild(j(a));else i=j(a)}var l=i.cloneNode(!0);if(s){var c=j(l),u=l.lastChild;q(c,u)}else q(l,l);return l}}function Rs(e,t){return hr(e,t,"svg")}function Ns(e=""){if(!D){var t=de(e+"");return q(t,t),t}var n=y;return n.nodeType!==Le?(n.before(n=de()),ve(n)):ze(n),q(n,n),n}function Os(){if(D)return q(y,null),y;var e=document.createDocumentFragment(),t=document.createComment(""),n=de();return e.append(t,n),q(t,n),e}function xs(e,t){if(D){var n=h;((n.f&ne)===0||n.nodes.end===null)&&(n.nodes.end=y),Yn();return}e!==null&&e.before(t)}export{_r as $,ds as A,lr as B,mn as C,Br as D,Ve as E,rs as F,bt as G,de as H,Mt as I,Fe as J,Lt as K,se as L,$r as M,ve as N,y as O,j as P,gs as Q,bs as R,ps as S,Tt as T,ue as U,Xr as V,Fn as W,Ln as X,Wr as Y,ms as Z,pe as _,xs as a,Se as a$,ys as a0,Es as a1,ls as a2,S as a3,_s as a4,Sn as a5,Er as a6,As as a7,ct as a8,Zr as a9,fr as aA,Vr as aB,Ur as aC,Ir as aD,jn as aE,ft as aF,Tr as aG,Nr as aH,yr as aI,Dr as aJ,Mr as aK,vt as aL,Cr as aM,Y as aN,U as aO,Pr as aP,sr as aQ,Hn as aR,Ct as aS,gn as aT,Rr as aU,ar as aV,Ar as aW,nn as aX,Xe as aY,Rn as aZ,qr as a_,ns as aa,qn as ab,An as ac,ts as ad,mr as ae,xe as af,xr as ag,jr as ah,he as ai,h as aj,Q as ak,Hr as al,Ge as am,Lr as an,Fr as ao,Jn as ap,Yr as aq,br as ar,rr as as,$n as at,Ts as au,Rs as av,cr as aw,ot as ax,lt as ay,q as az,Qr as b,E as b0,R as b1,z as b2,V as b3,Gn as b4,Re as b5,re as b6,Ue as b7,Un as b8,_ as b9,Be as ba,kr as bb,Gr as bc,dt as bd,ss as be,Or as bf,vs as bg,Rt as bh,Os as c,Oe as d,fs as e,as as f,me as g,is as h,J as i,Ss as j,os as k,gr as l,Ns as m,Kr as n,je as o,Jr as p,ws as q,zr as r,Z as s,hs as t,es as u,D as v,Yn as w,cs as x,us as y,d as z}; diff --git a/apps/dashboard/build/_app/immutable/chunks/CW7md74C.js.br b/apps/dashboard/build/_app/immutable/chunks/CW7md74C.js.br new file mode 100644 index 0000000000000000000000000000000000000000..aadc86524b8378baf8bd0637a64aa4744214e432 GIT binary patch literal 9260 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 delta 591 zcmV-V0Js`wO@-`1=w@5`SO8XZn2&Z|L_8yuzP- zIHG0;a7e#zp`_|}@Q8+c4|94ygeCqQ!4Ld7hHIMS1g_}!15D}nBb?JHr!b>lXYdX4 zms;oWl}7snZ|MCq9MbO>_(J7hVM6`C!Ib)ahXIuj;Fii0IHP~^2C@haEVh z-={FJ1%JR9jh*}nuW69vU$AGZ{(>Qam;4*P+p1@vY}McJ*_Q0VC;RXMe%Lu*!dqMN z3Vzs;Uqfogc?0LRY9Eg6!vQSq!&`V|AKt-{eRvOZ+v^Zs+L9yqM!(1KiGEMugRS@g zrG5Aad-mZJ4(xy2XYkUFat_zFFR1)uE0zu}W@^9%;``!~F>H3{6< zS*~E;J`7<*5M7O+B&e?>oY<-q=CCp63mQhJv_>u#kmq4I0U=zR?D@F#;a zdi?z d0!H+D3pw>#!i13UYt#Gx{x8Lod(4Vv004@=JZJy_ diff --git a/apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js b/apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js deleted file mode 100644 index bf586da..0000000 --- a/apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js +++ /dev/null @@ -1 +0,0 @@ -const i="/api";async function t(e,o){const r=await fetch(`${i}${e}`,{headers:{"Content-Type":"application/json"},...o});if(!r.ok)throw new Error(`API ${r.status}: ${r.statusText}`);return r.json()}const n={memories:{list:e=>{const o=e?"?"+new URLSearchParams(e).toString():"";return t(`/memories${o}`)},get:e=>t(`/memories/${e}`),delete:e=>t(`/memories/${e}`,{method:"DELETE"}),promote:e=>t(`/memories/${e}/promote`,{method:"POST"}),demote:e=>t(`/memories/${e}/demote`,{method:"POST"}),suppress:(e,o)=>t(`/memories/${e}/suppress`,{method:"POST",body:o?JSON.stringify({reason:o}):void 0}),unsuppress:e=>t(`/memories/${e}/unsuppress`,{method:"POST"})},search:(e,o=20)=>t(`/search?q=${encodeURIComponent(e)}&limit=${o}`),stats:()=>t("/stats"),health:()=>t("/health"),timeline:(e=7,o=200)=>t(`/timeline?days=${e}&limit=${o}`),graph:e=>{const o=e?"?"+new URLSearchParams(Object.entries(e).filter(([,r])=>r!==void 0).map(([r,s])=>[r,String(s)])).toString():"";return t(`/graph${o}`)},dream:()=>t("/dream",{method:"POST"}),explore:(e,o="associations",r,s=10)=>t("/explore",{method:"POST",body:JSON.stringify({from_id:e,action:o,to_id:r,limit:s})}),predict:()=>t("/predict",{method:"POST"}),importance:e=>t("/importance",{method:"POST",body:JSON.stringify({content:e})}),consolidate:()=>t("/consolidate",{method:"POST"}),retentionDistribution:()=>t("/retention-distribution"),intentions:(e="active")=>t(`/intentions?status=${e}`),deepReference:(e,o=20)=>t("/deep_reference",{method:"POST",body:JSON.stringify({query:e,depth:o})}),sanhedrin:{latest:()=>t("/sanhedrin/latest"),telemetry:(e=7)=>t(`/sanhedrin/telemetry?days=${e}`),appeal:(e,o,r,s)=>t("/sanhedrin/appeal",{method:"POST",body:JSON.stringify({reason:e,note:o,claimId:r,receiptId:s})})},traces:{list:(e=50)=>t(`/traces?limit=${e}`),get:e=>t(`/traces/${encodeURIComponent(e)}`),exportUrl:e=>`${i}/traces/${encodeURIComponent(e)}/export`},receipts:{list:(e=50)=>t(`/receipts?limit=${e}`),listForRun:(e,o=50)=>t(`/receipts?run=${encodeURIComponent(e)}&limit=${o}`),get:e=>t(`/receipts/${encodeURIComponent(e)}`)},memoryPrs:{list:(e,o=100)=>{const r=new URLSearchParams;return e&&r.set("status",e),r.set("limit",String(o)),t(`/memory-prs?${r.toString()}`)},get:e=>t(`/memory-prs/${encodeURIComponent(e)}`),act:(e,o)=>t(`/memory-prs/${encodeURIComponent(e)}/${o}`,{method:"POST"}),getMode:()=>t("/memory-prs/mode"),setMode:e=>t("/memory-prs/mode",{method:"POST",body:JSON.stringify({mode:e})})}};export{n as a}; diff --git a/apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js.br b/apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js.br deleted file mode 100644 index c18a573f0af0663541a8e7ff676b0395f07aa3bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 811 zcmV+`1JwK*nh5}8Gnf7Qd2Lm)rrNlG+R*{P3zONXWjiPP(4(a_t*v&mw#nV41StTy z5gh&q_0)`*L^mDMY%Wlty%6>~RsWg%m)WI29HvWH5GCc>U4v4_mat_q@a9)%T9+50 zUvHN_-l+G~2L7~g1A{YjuX)B$D`5BpICWi@9fbd_T9>b}UReG!OZw;jivI}x{ddo2 z>&-d~pE?WRH<;?)cYE4i77s?Zv6rOXKifzPw|<+l${qU`S@bTPrnl?reE#qX3F4C~ zS5tiXJ7&lLRm^JWW1+vSx9mMSoomU4IukpBkpSY6f~gHWX80KCb{z@k?o7G3(KCYs z!{Uvj&fYTWOuH|>3=dOhc9qJyPZMxjobS41wsWJ+<=MZ`;J@PR$iex*jwAg_b-7K{ z(m2dyCrIP0D|!HS>4jX%Q|vTrDNY*nNmm)PA7ldfe{=84M^ znjbCr4Uvi_sROb%H5etg04gK{=P3)lkRZBlL9L(*MOvVHiKK;X#o9`-A7BDIuC@ZPi2?V8#{27$5ODFF z;-f!wbJMz_H2}1?K#C+q+wwqa^NdJA;`4v=$;#dJW-RB7xR}^~VDYfD`(ZF+Cia%y p^`ZLy>pT*LQ5^i=*Dg{?b-T_YKsZbVJ9XR_uvxS;8_HSB7c1EXqQC$E diff --git a/apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js.gz b/apps/dashboard/build/_app/immutable/chunks/CZfHMhLI.js.gz deleted file mode 100644 index cc6616259744aba11247e5fb92533ca47483fd8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 945 zcmV;i15W%OiwFP!000026OC4FZ`(Ey{=Q$K5=J1RjFb)-2FOs2q0N8{-4f*GQ&7~5 zbdK3cJoQL7H3a_mfz*rLSjqg6eD019kIy|)f!f$ex`Ut^L_ALx4_Iz9T>N!&`A=d(lhkS(w*=Cl&d~AfJE}4| zb6jlnc+Mof9ezmB2@~EVFwB2F>q&N-i*Na?1zlhXch?smux?O;wlQ#bQmIvspj_(D1=J|ViljmIzc~Z+Jj_*kr58RXJWoh_l{)$Qiok5}{fvm^N zh7~(h1pH_!Bt71i1e^F%yLIwlLP+0UEBtri( z<9Luhl&Y{J$$mXSQ`HTUmAdE^&(ht_ag>VAkunG;`{%++mD0j^`rh6I0|K9}P=8du z>cb}7YsekZ({c}HTqxZGe&%xK+wmP(FRvZA=!`8NJp`I-SOI~*@%|{V)MH<00FS%; zw++xX15rX_*M3;N7f8K^l9bNcN?I_xXBd&R1N?|U1vOaOh8Y=#a*P|{-JmSFkWB-! z3iQ2}4yt$faX09F288ymhoY#YsxQ2t2ntY*y(l|TIblf_qxHv-|29r@02adp2abD2 z-ofch4zmoyf@JTg@+slN_kT%gm$GyN%_&|3^fNOb_9xQyMt1@@45y7g(hv7;Ib^?b zPbY$3Z?9;_R$%@v*y8vTFyV277s1I1B?fHFI$1LTT=YAE7aI%>ITzyxVtd+nz#9pZyOJH1>J_4o#j#76W3IzGOc_*1x TN76*n&42k17mcKBn+X5_{?f;O diff --git a/apps/dashboard/build/_app/immutable/chunks/Bxs5UR9-.js b/apps/dashboard/build/_app/immutable/chunks/CaEJGM7b.js similarity index 66% rename from apps/dashboard/build/_app/immutable/chunks/Bxs5UR9-.js rename to apps/dashboard/build/_app/immutable/chunks/CaEJGM7b.js index 4ee383e..3e74887 100644 --- a/apps/dashboard/build/_app/immutable/chunks/Bxs5UR9-.js +++ b/apps/dashboard/build/_app/immutable/chunks/CaEJGM7b.js @@ -1 +1 @@ -var x=t=>{throw TypeError(t)};var B=(t,e,n)=>e.has(t)||x("Cannot "+n);var a=(t,e,n)=>(B(t,e,"read from private field"),n?n.call(t):e.get(t)),c=(t,e,n)=>e.has(t)?x("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{o as I}from"./TZu9D97Z.js";import{s as u,g as f,i as d}from"./wpu9U-D0.js";import{w as G}from"./D8mhvFt8.js";new URL("sveltekit-internal://");function ae(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function oe(t){return t.split("%25").map(decodeURI).join("%25")}function ie(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function le({href:t}){return t.split("#")[0]}function W(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let s=r.length;for(;s;)e=e*33^r[--s]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function X(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&w.delete(U(t)),z(t,e));const w=new Map;function ce(t,e){const n=U(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:s,...l}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&w.set(n,{body:s,init:l,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(s=X(s)),Promise.resolve(new Response(s,l))}return window.fetch(t,e)}function ue(t,e,n){if(w.size>0){const r=U(t,n),s=w.get(r);if(s){if(performance.now()o)}function s(o){n=!1,e.set(o)}function l(o){let i;return e.subscribe(h=>{(i===void 0||n&&h!==i)&&o(i=h)})}return{notify:r,set:s,subscribe:l}}const D={v:()=>{}};function Ae(){const{set:t,subscribe:e}=G(!1);let n;async function r(){clearTimeout(n);try{const s=await fetch(`${M}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!s.ok)return!1;const o=(await s.json()).version!==F;return o&&(t(!0),D.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:e,check:r}}function Q(t,e,n){return t.origin!==Y||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Re(t){}const H=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...H];const Z=new Set([...H]);[...Z];let E,O,T;const ee=I.toString().includes("$$")||/function \w+\(\) \{\}/.test(I.toString());var b,_,m,p,v,y,k,A,P,R,V,S,j;ee?(E={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},O={current:null},T={current:!1}):(E=new(P=class{constructor(){c(this,b,u({}));c(this,_,u(null));c(this,m,u(null));c(this,p,u({}));c(this,v,u({id:null}));c(this,y,u({}));c(this,k,u(-1));c(this,A,u(new URL("https://example.com")))}get data(){return f(a(this,b))}set data(e){d(a(this,b),e)}get form(){return f(a(this,_))}set form(e){d(a(this,_),e)}get error(){return f(a(this,m))}set error(e){d(a(this,m),e)}get params(){return f(a(this,p))}set params(e){d(a(this,p),e)}get route(){return f(a(this,v))}set route(e){d(a(this,v),e)}get state(){return f(a(this,y))}set state(e){d(a(this,y),e)}get status(){return f(a(this,k))}set status(e){d(a(this,k),e)}get url(){return f(a(this,A))}set url(e){d(a(this,A),e)}},b=new WeakMap,_=new WeakMap,m=new WeakMap,p=new WeakMap,v=new WeakMap,y=new WeakMap,k=new WeakMap,A=new WeakMap,P),O=new(V=class{constructor(){c(this,R,u(null))}get current(){return f(a(this,R))}set current(e){d(a(this,R),e)}},R=new WeakMap,V),T=new(j=class{constructor(){c(this,S,u(!1))}get current(){return f(a(this,S))}set current(e){d(a(this,S),e)}},S=new WeakMap,j),D.v=()=>T.current=!0);function Ue(t){Object.assign(E,t)}export{we as H,be as N,ge as P,he as S,ye as a,J as b,Ae as c,le as d,ie as e,pe as f,ve as g,ae as h,Q as i,N as j,oe as k,fe as l,ue as m,O as n,Y as o,E as p,ce as q,_e as r,me as s,de as t,ke as u,Ue as v,Re as w}; +var x=t=>{throw TypeError(t)};var K=(t,e,n)=>e.has(t)||x("Cannot "+n);var a=(t,e,n)=>(K(t,e,"read from private field"),n?n.call(t):e.get(t)),c=(t,e,n)=>e.has(t)?x("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{o as I}from"./JVtQszIZ.js";import{s as u,g as f,i as d}from"./CW7md74C.js";import{w as G}from"./D90q9c2i.js";new URL("sveltekit-internal://");function ae(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function oe(t){return t.split("%25").map(decodeURI).join("%25")}function ie(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function le({href:t}){return t.split("#")[0]}function B(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let s=r.length;for(;s;)e=e*33^r[--s]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function W(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&b.delete(U(t)),X(t,e));const b=new Map;function ce(t,e){const n=U(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:s,...l}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&b.set(n,{body:s,init:l,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(s=W(s)),Promise.resolve(new Response(s,l))}return window.fetch(t,e)}function ue(t,e,n){if(b.size>0){const r=U(t,n),s=b.get(r);if(s){if(performance.now()o)}function s(o){n=!1,e.set(o)}function l(o){let i;return e.subscribe(h=>{(i===void 0||n&&h!==i)&&o(i=h)})}return{notify:r,set:s,subscribe:l}}const z={v:()=>{}};function Ae(){const{set:t,subscribe:e}=G(!1);let n;async function r(){clearTimeout(n);try{const s=await fetch(`${M}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!s.ok)return!1;const o=(await s.json()).version!==F;return o&&(t(!0),z.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:e,check:r}}function Q(t,e,n){return t.origin!==Y||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Re(t){}const D=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...D];const Z=new Set([...D]);[...Z];let E,O,T;const ee=I.toString().includes("$$")||/function \w+\(\) \{\}/.test(I.toString());var _,w,m,p,v,y,k,A,P,R,V,S,j;ee?(E={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},O={current:null},T={current:!1}):(E=new(P=class{constructor(){c(this,_,u({}));c(this,w,u(null));c(this,m,u(null));c(this,p,u({}));c(this,v,u({id:null}));c(this,y,u({}));c(this,k,u(-1));c(this,A,u(new URL("https://example.com")))}get data(){return f(a(this,_))}set data(e){d(a(this,_),e)}get form(){return f(a(this,w))}set form(e){d(a(this,w),e)}get error(){return f(a(this,m))}set error(e){d(a(this,m),e)}get params(){return f(a(this,p))}set params(e){d(a(this,p),e)}get route(){return f(a(this,v))}set route(e){d(a(this,v),e)}get state(){return f(a(this,y))}set state(e){d(a(this,y),e)}get status(){return f(a(this,k))}set status(e){d(a(this,k),e)}get url(){return f(a(this,A))}set url(e){d(a(this,A),e)}},_=new WeakMap,w=new WeakMap,m=new WeakMap,p=new WeakMap,v=new WeakMap,y=new WeakMap,k=new WeakMap,A=new WeakMap,P),O=new(V=class{constructor(){c(this,R,u(null))}get current(){return f(a(this,R))}set current(e){d(a(this,R),e)}},R=new WeakMap,V),T=new(j=class{constructor(){c(this,S,u(!1))}get current(){return f(a(this,S))}set current(e){d(a(this,S),e)}},S=new WeakMap,j),z.v=()=>T.current=!0);function Ue(t){Object.assign(E,t)}export{be as H,_e as N,ge as P,he as S,ye as a,J as b,Ae as c,le as d,ie as e,pe as f,ve as g,ae as h,Q as i,N as j,oe as k,fe as l,ue as m,O as n,Y as o,E as p,ce as q,we as r,me as s,de as t,ke as u,Ue as v,Re as w}; diff --git a/apps/dashboard/build/_app/immutable/chunks/CaEJGM7b.js.br b/apps/dashboard/build/_app/immutable/chunks/CaEJGM7b.js.br new file mode 100644 index 0000000000000000000000000000000000000000..6e3b4514b80ff7531461b8deb8bc81c4d4b530a3 GIT binary patch literal 2621 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 ");function U(v,t){var x;B(t,!0);let A=a(t,"decimals",3,0),_=a(t,"scale",3,1),g=a(t,"prefix",3,""),w=a(t,"suffix",3,""),F=a(t,"duration",3,900),M=a(t,"class",3,""),b=a(t,"group",3,!0),r=C(0),i=0,c=0,o=0,l=!1;const q=typeof window<"u"&&((x=window.matchMedia)==null?void 0:x.call(window,"(prefers-reduced-motion: reduce)").matches);function y(e){return e===1?1:1-Math.pow(2,-10*e)}function p(e){if(q){m(r,e,!0);return}cancelAnimationFrame(i),c=d(r),o=0;function s(f){o||(o=f);const n=Math.min(1,(f-o)/F());m(r,c+(e-c)*y(n)),n<1?i=requestAnimationFrame(s):m(r,e,!0)}i=requestAnimationFrame(s)}E(()=>{const e=t.value;return l||(l=!0),p(e),()=>cancelAnimationFrame(i)});let j=H(()=>(()=>{const s=(d(r)*_()).toFixed(A());if(!b())return s;const[f,n]=s.split("."),h=f.replace(/\B(?=(\d{3})+(?!\d))/g,",");return n!==void 0?`${h}.${n}`:h})());var u=K(),k=D(u);G(u),N(()=>{J(u,1,`tabular-nums ${M()??""}`),I(k,`${g()??""}${d(j)??""}${w()??""}`)}),O(v,u),T()}export{U as A}; +import"./Bzak7iHL.js";import{p as B,x as E,t as N,a as O,b as T,i as m,g as d,j as z,s as C,e as D,r as G,u as H}from"./CW7md74C.js";import{s as I}from"./D90q9c2i.js";import{s as J}from"./Cc0l8Nd4.js";import{p as a}from"./BjbQ7qSx.js";var K=z(" ");function U(v,t){var x;B(t,!0);let A=a(t,"decimals",3,0),_=a(t,"scale",3,1),g=a(t,"prefix",3,""),w=a(t,"suffix",3,""),F=a(t,"duration",3,900),M=a(t,"class",3,""),b=a(t,"group",3,!0),r=C(0),i=0,c=0,o=0,l=!1;const q=typeof window<"u"&&((x=window.matchMedia)==null?void 0:x.call(window,"(prefers-reduced-motion: reduce)").matches);function y(e){return e===1?1:1-Math.pow(2,-10*e)}function p(e){if(q){m(r,e,!0);return}cancelAnimationFrame(i),c=d(r),o=0;function s(f){o||(o=f);const n=Math.min(1,(f-o)/F());m(r,c+(e-c)*y(n)),n<1?i=requestAnimationFrame(s):m(r,e,!0)}i=requestAnimationFrame(s)}E(()=>{const e=t.value;return l||(l=!0),p(e),()=>cancelAnimationFrame(i)});let j=H(()=>(()=>{const s=(d(r)*_()).toFixed(A());if(!b())return s;const[f,n]=s.split("."),h=f.replace(/\B(?=(\d{3})+(?!\d))/g,",");return n!==void 0?`${h}.${n}`:h})());var u=K(),k=D(u);G(u),N(()=>{J(u,1,`tabular-nums ${M()??""}`),I(k,`${g()??""}${d(j)??""}${w()??""}`)}),O(v,u),T()}export{U as A}; diff --git a/apps/dashboard/build/_app/immutable/chunks/CaR6YsRq.js.br b/apps/dashboard/build/_app/immutable/chunks/CaR6YsRq.js.br new file mode 100644 index 0000000000000000000000000000000000000000..f92220528793961904fdb563dfa561eaeb5b9c12 GIT binary patch literal 661 zcmV;G0&4vm#RNc%(!}y4kF_qzz)FmeWOh-ff1hjdNFK%|H5v%Z7w& zee+qwg4p}x-s#`mJ<>=bE!uO6W&y5g-Sj+Ka z#s`4E_D}&f1@C~_u}Xbjz8zuh^w9s!96~}5kqt<1$_1X41+I<5ml7wAV7C2a8PXjX z6O8|4R4S2eG9<;M!}s+c&*J_T%d;C-E=}Djj(aQC*fjeC?J%_lC{| zFiQL9KjArQhW&bqx*LW(rDcQi3zq7Ytg%t|Adna9fgT>~P$|Ljxk@;?P@%X3s5l}b z_ZCzeDk0?X_Vq2|y?l#Qzs=VP!*St>qXA$_YJ!8*IYy3a{i8lOB)r;p_lbOG7T*&k vhqu)T@OA}7zs2mC#Osgbxa@wKm{eZz7q{5KiMe#ZC18J=cXw>%uX&0Ad+SGS literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/CaR6YsRq.js.gz b/apps/dashboard/build/_app/immutable/chunks/CaR6YsRq.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..cfb1a3f7f11a806ce3a2366e93029ab2bead7e83 GIT binary patch literal 731 zcmV<10wnz(iwFP!000026LnKvZ`(K!e7|2I6GpL{u4Sn$kc%DGh?A!2M^YTx;vO!C znwBV=j=oHawi8AF{Xogi1ugnCcx%VA5RAKFuyYUn%>IFDXW#yf50Tr=WMk*7jVf2~;q#qq?B9Tf*g-DBz zDz!}1&T)((ZTC8xJR>jnC9M|D+tDXMfOOsQQ7Vi%Xy+Zb(1k4>*9(v|KZgKG@qi*8 zP{9LAc`qDCMQ$o@&8z!T7Kyi2d0cEynPo3t0PJ|T_cKvN%WD}cft=?yO(&Z|#a=Ml z`H@Id=w!seC6U?;w2W;e<3U!qZbx3XM}}P~X`YSo9wgRUR#xYpg{Z3Ra~l_ zjN!~hQVI0tfVg)v-30zgDF2rm-;}AUfcXq*$rE48G8K`8;q4SA9B$+Kb%QTq(z}fj zhYMoF4tLFw0077EXiWeB literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/Cc0l8Nd4.js b/apps/dashboard/build/_app/immutable/chunks/Cc0l8Nd4.js new file mode 100644 index 0000000..085092b --- /dev/null +++ b/apps/dashboard/build/_app/immutable/chunks/Cc0l8Nd4.js @@ -0,0 +1,2 @@ +import{H as G,q as dr,aD as sr,v as A,N as P,P as gr,w as pr,g as m,V as hr,X as _r,Y as x,M as K,O as z,K as Er,aE as Ar,aF as y,z as Sr,aG as b,a0 as Y,aH as Tr,a2 as Nr,ap as br,C as Ir,aI as B,aJ as Or,aK as Cr,ad as Mr,aL as rr,aM as Lr,Z as ur,$ as or,aN as U,T as lr,aO as Rr,aP as wr,aQ as Hr,_ as kr,L as Dr,aR as Fr,aS as zr,aT as Gr,aU as tr,aV as Pr,aW as Kr}from"./CW7md74C.js";function jr(r,e){return e}function Ur(r,e,f){for(var a=[],n=e.length,s,u=e.length,c=0;c{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var t=r.outrogroups;q(B(s.done)),t.delete(s),t.size===0&&(r.outrogroups=null)}}else u-=1},!1)}if(u===0){var o=a.length===0&&f!==null;if(o){var d=f,l=d.parentNode;Hr(l),l.append(d),r.items.clear()}q(e,!o)}else s={pending:new Set(e),done:new Set},(r.outrogroups??(r.outrogroups=new Set)).add(s)}function q(r,e=!0){for(var f=0;f{var v=f();return Ir(v)?v:v==null?[]:B(v)}),t,p=!0;function S(){i.fallback=l,Vr(i,t,u,e,a),l!==null&&(t.length===0?(l.f&b)===0?ur(l):(l.f^=b,k(l,null,u)):or(l,()=>{l=null}))}var T=dr(()=>{t=m(g);var v=t.length;let M=!1;if(A){var L=hr(u)===_r;L!==(v===0)&&(u=x(),P(u),K(!1),M=!0)}for(var _=new Set,O=Sr,R=Nr(),h=0;hs(u)):(l=Y(()=>s(er??(er=G()))),l.f|=b)),v>_.size&&Tr(),A&&v>0&&P(x()),!p)if(R){for(const[D,F]of c)_.has(D)||O.skip_effect(F.e);O.oncommit(S),O.ondiscard(()=>{})}else S();M&&K(!0),m(g)}),i={effect:T,items:c,outrogroups:null,fallback:l};p=!1,A&&(u=z)}function H(r){for(;r!==null&&(r.f&Rr)===0;)r=r.next;return r}function Vr(r,e,f,a,n){var E,D,F,X,$,J,Q,W,Z;var s=(a&wr)!==0,u=e.length,c=r.items,o=H(r.effect.first),d,l=null,g,t=[],p=[],S,T,i,v;if(s)for(v=0;v0){var w=(a&sr)!==0&&u===0?f:null;if(s){for(v=0;v{var N,j;if(g!==void 0)for(i of g)(j=(N=i.nodes)==null?void 0:N.a)==null||j.apply()})}function Yr(r,e,f,a,n,s,u,c){var o=(u&Or)!==0?(u&Cr)===0?Mr(f,!1,!1):rr(f):null,d=(u&Lr)!==0?rr(n):null;return{v:o,i:d,e:Y(()=>(s(e,o??f,d??n,c),()=>{r.delete(a)}))}}function k(r,e,f){if(r.nodes)for(var a=r.nodes.start,n=r.nodes.end,s=e&&(e.f&b)===0?e.nodes.start:f;a!==null;){var u=Dr(a);if(s.before(a),a===n)return;a=u}}function I(r,e,f){e===null?r.effect.first=f:e.next=f,f===null?r.effect.last=e:f.prev=e}function vr(r){var e,f,a="";if(typeof r=="string"||typeof r=="number")a+=r;else if(typeof r=="object")if(Array.isArray(r)){var n=r.length;for(e=0;e=0;){var c=u+s;(u===0||fr.includes(a[u-1]))&&(c===a.length||fr.includes(a[c]))?a=(u===0?"":a.substring(0,u))+a.substring(c+1):u=c}}return a===""?null:a}function ar(r,e=!1){var f=e?" !important;":";",a="";for(var n of Object.keys(r)){var s=r[n];s!=null&&s!==""&&(a+=" "+n+": "+s+f)}return a}function V(r){return r[0]!=="-"||r[1]!=="-"?r.toLowerCase():r}function yr(r,e){if(e){var f="",a,n;if(Array.isArray(e)?(a=e[0],n=e[1]):a=e,r){r=String(r).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,u=0,c=!1,o=[];a&&o.push(...Object.keys(a).map(V)),n&&o.push(...Object.keys(n).map(V));var d=0,l=-1;const T=r.length;for(var g=0;g{if(!e){if(e=!0,r.hasAttribute("value")){var a=r.value;ir(r,"value",null),r.value=a}if(r.hasAttribute("checked")){var n=r.checked;ir(r,"checked",null),r.checked=n}}};r.__on_r=f,lr(f),Pr()}}function fe(r,e){var f=cr(r);f.value===(f.value=e??void 0)||r.value===e&&(e!==0||r.nodeName!==Qr)||(r.value=e??"")}function ir(r,e,f,a){var n=cr(r);A&&(n[e]=r.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&r.nodeName===Jr)||n[e]!==(n[e]=f)&&(e==="loading"&&(r[Kr]=f),f==null?r.removeAttribute(e):typeof f!="string"&&Wr(r).includes(e)?r[e]=f:r.setAttribute(e,f))}function cr(r){return r.__attributes??(r.__attributes={[Xr]:r.nodeName.includes("-"),[$r]:r.namespaceURI===Fr})}var nr=new Map;function Wr(r){var e=r.getAttribute("is")||r.nodeName,f=nr.get(e);if(f)return f;nr.set(e,f=[]);for(var a,n=r,s=Element.prototype;s!==n;){a=Gr(n);for(var u in a)a[u].set&&f.push(u);n=zr(n)}return f}export{ir as a,fe as b,xr as c,mr as e,jr as i,ee as r,re as s,yr as t}; diff --git a/apps/dashboard/build/_app/immutable/chunks/Cc0l8Nd4.js.br b/apps/dashboard/build/_app/immutable/chunks/Cc0l8Nd4.js.br new file mode 100644 index 0000000000000000000000000000000000000000..285cfebac3ce586c4068b1a26b0aa03704f47a7f GIT binary patch literal 3087 zcmV+q4Djyg|Ra&IrKR+r6fwH->6_%Mo2PyF0Fd+etz~Qv+?eoJESCwgDPA- z3@~8mAYIXb`u$3Gx(d%XPC9eeFP7TK29j7GAEcE0g@=dlYoK*aoMk z3+9|JsO0U498va_+hew($Ua*JIoLZVM?2!|e8H2WZYRk9^c3hsISWldLd)g7RisQ8{{YaBtPRG`32YHS3D=b*->^0ec)JLS^w>w z*Zn(M<$4-JPB*!xdqOa)Kz~kbT11@nWChp#g+@Mz-GPCz;Fl6IA$BIj)M=gd;cBDg zXR(A$S1g#8&vf*FuZqQ~8r;S;x(Wv8}q5>l>h{h5>a|SaTNaiKPOyMs~L% z`so_f;i~5n^jp`!_LRpc>n|Lbl^~!V^xspbZlY{(b*LS{4vDf8bkcup>1E)^wQM#XTA)rIWAax`08YYs{ka5uWUR0uJ{69}_J6bVV zP7Huy(0@)5wc5USl`erQ{lKgBoS}bU_L=VIjc#NKm4@m1LKo~x3hwf*Hb_rsv&z6b z?fz1m>3jygbDK`A842W|7Uvy}xR&!!b6wDe_+Gyhrmm$! zH!$RjYm(TBK(#WcG|*k_;9q?$Nq)H2hbu%cL^C?9Vqv087?o@U#;Vd|tHaMJ#)H5~ z3qPI_NBubC+#@*hOu&ga)7>eB|Ft>OD!J4&ow1UMYL}v#AUHS7{z_=2p`j~aGYhFF z?g?1UhRh#scmb+W>+R=i;Z4q4tiX<3>*~j;qNu}_-w>VVosx`xzr2hsFh?btDg~Ej z$0a@u+PRz2CxgoXs9#fubV1kZ3fU|}YTFsu;*AxJ!gWEnHqS3paK#W5B{aN*9e|~p zo13+g6fnz1N|rs>-gPSgd-B*^q-gBP2dI(vz;t=jOME+{i*&|@+3fOFvlG8N1G7&& zIQr6l#Q)OxpXN5Z%d_J~;Aa2+?UT2$Hpiu>xSI{SVxRtdkOg0XC3gSd6sbWy^8Z`^ z%decp#BAR)18PjDgQS0K)w-tRIJXL#yQx|zH2YPm?%||_4OvEwAN7Iu*dJcogTA1h zB`)1yskHeX!o2qL2=?DvJ}BzP=&;Q$_x#u$a={&su_P44+`dhJLLlH?FHEZ)_oY{+ zME({iY3nZQaH8E8Lo2RHOc5cNl7CB?NV^zmg5W2?oEENSe8mKklrg+UIj|tJ1y8@U zXshUm^uBb0tDpn9!Ed!wcxioYHg5AEFNv{G&9ZW(cS%4H!(!L&6EyCeIrj_Dq1nxJ zgK@YM;@eP&C^?mdlr_Aocu=5ndUjy_np36Y2IYW?OB*N@37M?|dUJ zb2Z%h0MY=I;#BehuBzF{sy)I&;j~LT_l@w^ zui)n27M6=z2OVdoU}vhAsAVbYR=2V!5H8E*(%FqtkACeVujlfSV!J6+L(be{q!>;39POBSst4=I!#nvyl-VFJ+tXQ=z&0HSl!LAaBHw zCm(RA(5e_*`@~S8w~@}FA#lS)S;;{zAYzv8T&|kF^x!bS5iKfIxWBUk5llw2s;_t- zlSl2RbWawOkd+>v`HZyh1--4N@wF+3Ef?+K_JkB$53;ETn_Q}(upPMR(dp}&d$bob z8f<-?XXzjlurmQuri5f|ww=?6xnET~+#)U8gWKMlJq;J~Xxy_eNVVK*#V8YcmtHGL^mMdU3ZprMI?N}$%9u+X0F&nN5jZw($WmA;Oc1U0JYT`GM6dK|e$ zC1f}&Yf^H35Xv|GH~RgWM{Xm##XPCuC@h=J5@87TI9K$jCY>oxx|R=4J>-jrb6LB8Vf8~vU@&GrV&@&@+4#p*q6sd=H`<14pBt4?^}L^@ zFzrvpQJ&m>?puHcE^VNRQ7J>Mo`jhkWbI5S6jHYfwOfapIx}P5tda&RTBQN=uV^FM zZe=OK7n%v~poW%NRUr|^YNRLCV9es)!gy_M;I8TXmQ~fs`n{;0I-dcfQN8VTv%)9~ zP?8}qAu%vq)q4}_2_9=~XJYx4k+02IT?|^u)dMW_?14^K?v=eEsb#@JODrobXNd#O z^?tO;EN|Wh?#_nug()1lc*lmQ2bM2QN>anLZsKUVle`akV+seOwy8P2yFJbi@7sBBH# z=r7AJ^cS|WPfM3gPSrDZffc1BLW<^=eS_48HG3*hzO%UaHlt1?T3F>AG(xRpA!%3 d@Yde*3c=T`0ICy~{kyJlRwOq(o(znIASlpaJyq^#UlJFAAz2UiDPjdkNpUi3!vT z?vw;eZujAon|JVzn<>F9w+n(Pw{!T&&5YnPw^syTxV?iDZr;KfH$UJlH-`l3&}>Pd zj<|CVKe)LdP%pW24Qj~k7f^<$O9J)p+&Lvs3qwJ0!0l@S^_n}+LA~Mjj6j)F4hU4t zof86e%pD?7hMi-Azqzdm9&uX`C?nhlxa1}yP=?`i0%gR#B~b6V^NQe#+ZzJ2=L-UL z&YdFybzy`gP-d5x1nL8KDgtG+^Nv7$GWwu(LdD$io*aDo=RE%Be;jz;p)>)~0^&XDa&>zWlnuvOP zPJybC%WjeM(X0#7L==`J#so5qy@ev3SEog+gI6Rn37MxB%)N*uke60^UV2fc6$!ci zE;RHDX%8>)p^?(h^=GYTU^W=>w|(E8l@SzYb1!w!6#|~1q$t!B>RZN9pz9^<9_%~ zOi9F2`f;O_gISuz;-!#sz3;jU5;9==%p3qyye46=!h=gpgbW&Bz9zAh;nH7PLxkgr z|6DBPT0#X2><_n`UkLe-dWp)iYZcvK1|LbJP(ckEl!UA?rR$2SW8+X{UgBO$)34c( zK9Bq-Uc-&Zz_3?K=@%q23unvoT3X#*V%)G^;ap6uSW9e=2-qV|us>oY?OP=s}*=oUkd^ttqcs!^0U~5S-&F2?;YC2D7KjU^c*! zeAsv0A6{O>`tp9kj&Mjk5UWZd;y#%}ewcmj5ticvtj4nm+@cZ(Fq3eIi;%_iBX6oJ zaVvwvP#k(o*S+Tk4kR3Usr^cM!MW?6d39diq>C$^Bs!|Zp{J$v#UXwn5y2v?eNAB~ zG$G>v4&WAMkeg5gi`9zhy<~;g5+bkUL*Yz^0FGgfTKx~^dfoX z%~UB~$kpo1>q>d#X&Ib(MIIINd0L4J3H%kOWuz#!&{#K~e<5UW;<|4|e<*>`vX+qI zgWbu$1QRs;2s*Cr8w9qf_Oo@c!2XCCXFGNr|CJ!icR*XDlb5*XWWXIrLh^EbSGBH1 z+r=L{UT;Bq2ru9WKEoq;1MlGz{B2-TqEPOwb^F~U&_p~a@RcCXO5`Oem6e1TT0e)1 zQ^|t=UBD%zunbIgFaXD4uzXqvONQ|U>hW>{mzawSShAKZ5HF>tL8Kd(bzLD|pg6?T zV7`=1m{=BR+#C9bo@z!`s~6r}tFk67B#3Dkis?^bG?g;=g%QqM|0^>)fw|GV+~B8o z+AEUY4vjqhISr-~PHh_846s@nFk8X38?Zk0UB#2!nn~^$ip|Q`f*^y`c2YQzz3PPU_@j<6RVc4*?3;l=oBA_G?FnK=;78%tPapV`hi97`zh7&1JEk|EOzr*s|`(>wIh8m*wCLwC~%qlJvwR>Q*aCkx@f&Pf^9zKysq)qTK zlOH$aL?XB2O{#ua`URwZ4BEE^jwpqOA`BCV!!U6Xiz_DW|w#R|H; z-8Ca#St+U@-+b#lh7z^w3can7b(h#r0<}S2b4_?bLK$~1y=$Em#M}TEpSiTs1Pbd8 zZ?9Y4^zVZZCcd^gDS_k{5|hcapV-9IxyCMu3nFv9Ve6pdFi+L}LUSNMbjpg-eCn)L zow2;0Uu$xt8X%dx+S^@ITz}J1<#0OQCsOxbTAEgnv}dvM+KW~}LgO&dPxC+z29m~l z;<_S1=4`Adk_&#te*<)Sjs!Kpq$w16ZPH8g9!b8a{f@A$;#BAEM`C;JGfKswksNYV zG_B`4ugVR3Pjhn@6ttZiClh8$8y0`ZpZ?vkcSh6A_^-+ezw^9LVdyw(8;ldevFCaJ z>iye4zS7s^zyIs&@@su`cy#oy$@V_?eDe;`ptLc)Y3d1)T&yR$^(d@p>) zg|%TY!g^2!_Az0#O2|v|D63;#3N^0xM%LUB;^u|nXQF5#WvI~Zz)~u&tgkIf#gGph zbVs7WNcuHK>vd}pM06Z`YwK7?k$n*uSvC{Yq0{T9<~dH~Rp9te;8_3oqvBe0mq_D$ z5|sTW(Q~48oDD<<`M~je&Y&D5a{Vh#K6YS2Va#jYmyCB(Exti(5?xs?&DBDDloIkk z(c~MNz&@P}A;Y~18nGm$v3rY&2a{I% z#nx*UQa)6Dv!Uxw2Lq$Y3*22k-Iy`4FufQ!fwNx6I30|P&e!X$7jcLlpyDKEjMseS z&>u<(2`0^ECKt8-mbA;;AZ123P}`!IbhljCysUXwS5cI>Wf%9rr_YsrTij~?e z5hHxg6@-FP2BN>eT1BSBo9b%6swlm#D=i$em(xa^CSj7E7fbysm9IncHm76c6TiOv zLI;uLcg+r?n5I<(YvX<@nW1nyWi&(|n?`7nt2`qM43vbnJ8ri)N_VswLQL)(l|2UateTRFPj1 zzgBaZ3GetFdJDuv+i+?FX~ZcyNE&_+McdV3Qwht}iZ;`xB{6kB>DQ1%Xrdo8}Pt5Z+0%;kNIpt@!;mV~WeAF$H z*f^@Cw6FW!0el#Lris6mYkQot=SUbova@Qg%Y};chx6BnctmUaB%M?HOuxnRr)@R- zOSDK!M|KSf3Fd}IXcKUgrf%;gL2iU(*>F6Oo6My6(f}nMT5t3gR8$2kFECf}Kt3pZ z$(NeVikjntl4@K}ct_VwY>upDkmC;~ZQVav>pSz)VM_eFmV!jv-|z0scLa0OYWQZ_ b6ttNqAk&s`Z^o;2@Q?oi^2$kEgd6|>Y2~8E literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/CfobEeQC.js.br b/apps/dashboard/build/_app/immutable/chunks/CfobEeQC.js.br deleted file mode 100644 index 3973c96c2f0214b8f579bfd7643eb63da1e905c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114755 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 f,s;return T(()=>{f=s,s=[],h(()=>{r!==a(...s)&&(i(r,...s),f&&t(a(...f),r)&&i(null,...f))})}),()=>{k(()=>{s&&t(a(...s),r)&&i(null,...s)})}}),r}export{x as b}; diff --git a/apps/dashboard/build/_app/immutable/chunks/ChcFQRZo.js.br b/apps/dashboard/build/_app/immutable/chunks/ChcFQRZo.js.br new file mode 100644 index 0000000..d5879e0 --- /dev/null +++ b/apps/dashboard/build/_app/immutable/chunks/ChcFQRZo.js.br @@ -0,0 +1,2 @@ +< Ĵ1'7v@ypEc-O. ;1zTsMa&˽uµNL'jNw?']HNQ-E3,vaA7 ѭy8kV(Fئ~yFPHO;<#֧IkdeR +junջ_m \ No newline at end of file diff --git a/apps/dashboard/build/_app/immutable/chunks/ChcFQRZo.js.gz b/apps/dashboard/build/_app/immutable/chunks/ChcFQRZo.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..2ab45f13e8052b12aa065ac6c0807cc84a8106cc GIT binary patch literal 230 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 literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/CjKwt1b1.js.gz b/apps/dashboard/build/_app/immutable/chunks/CjKwt1b1.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..19a9a077f8be3aff2351b04b4d9053e0624b1c0b GIT binary patch literal 5494 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 diff --git a/apps/dashboard/build/_app/immutable/chunks/CmbJHhgy.js.gz b/apps/dashboard/build/_app/immutable/chunks/CmbJHhgy.js.gz deleted file mode 100644 index b2dc5371103961d68802de2ef1e100e830c04b11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1935 zcmV;A2XOcwiwFP!000026P;M=R@+Dt{=ZKlbXceQq-^Y5CNnqm&%|6&Z$)4_(g^0bGIr9VB?yjn@>Z^-dj*?Vm+HY;WxDk_Q(W~Ru zMecVayE{)kk$WRTW!4Gd$gBdj-9}-SAr8zkCd|#ckC9mdyfDiE$t(qq&CLtKU8{Etnoq-5P^fPKs*Qy0$3MN1I@ysa>3ayp&^eiRryDz?%shGI0QXMI$=GnhBT>LzB zUa9(g%UL$KhYmN4rZrOu$-*0%ugz4*Rg0xZag^(Uy7oOS29XTun)}U;Au)`m#`Z~N z+c~{9IFUu7ITm@U(jvXHxl@JcJ}o0y?vxu@nxScc>0gY80Qs(1h^iL_KK>zpO|M3}0ax#`Bd+IY(d>=MC z4EOjxOjQ(mZHD98=ZNn^v%~O=`#zrIHNPeR#&`0T%VyphMluBAJJho7aLy;dSS^Il zKx}TBRio@qpp;_>n&&Mg_s2qxh;c59IKI8rtw6*vv1LhXF)*BJ{YGh-+x${Wy+H4Xg>qYG!mwx7W(G$aMZW(qlMdtgCl;yU{Q-Y10RbyQ+F& zifR?Yh1WG2VB&vB4>kLz{?iVU7OXwgM%!h-41BrA0O(%~+$c0T8=DmV)tm!6RS`2kC_>C=!yoCBpE) z6xDH*Ym$_KAH-2G@saE(GX7Sw86|2;KM`Lrdsn*TC#G6n@&Ybd*9Mdkr;>cl56r3L z1=uuqr=S^*EH%d!R93~dCOdq7MMpjwB32SU})XDbLDO6iV-uOsLGQY-iNnK zPu^Ki-tz)(N>9SNCzk}Q>tZGXjo$|%n2a)2$Z&geF5sHA0u`%lch~n9-|unp9xF5E zF<@k?#A~Nz{0b|-BI12`Z+O0O`8ni$xLG>-!EQ~77jS4;nG((oCEI>5rfH_6Uvlxp za&c(>B@6{YVjKxz56RVutyOC+Fo=mkuznWx$PZ2AdnV>bkMZ6E9_^g4k3$5BF@9Y3 z>x`cnE#vMN3-FZ}Fe|MOiD#u;$Zt%BuXq8WiREfth6TiIO_D>yafYGg_$wNdm1Lul z!LZ`<8}Gx{D!4%%e*a!t!qbZ_!L zoKy}ab%%~CK1!AFuGOy4qS=f3Jy$mGT(O56oV(d*d`c>xQj_J)3U^k=J^e8cuB7r* zWRsYdCG}{P`IPR!Yd0fik!$k$Z=+?-8`#| zWs?qupQ`!kPCtXOVUrH?C| zVY*I*3|-z7WB88u;HETd8D4Mnoikd03EAE-lhCFjBK+=c&cST#+F5Gp*fwmGorfQI z4-QM9a?q`Z`rx2SnR{_8>IqCRC;NRuv(VgjF~OJ&`I_*O;h2Cet_Xf#DpZ2z)^=@w VgLvzHVp(+m@jsU>YQh;3002Vb!Vmxe diff --git a/apps/dashboard/build/_app/immutable/chunks/CnZzd20v.js.br b/apps/dashboard/build/_app/immutable/chunks/CnZzd20v.js.br deleted file mode 100644 index 9ca395fc29c9e35edfef800b3b0403f9c8417ba2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 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 IANN+*U&3}LmjD0& diff --git a/apps/dashboard/build/_app/immutable/chunks/CqMQEF-F.js.gz b/apps/dashboard/build/_app/immutable/chunks/CqMQEF-F.js.gz deleted file mode 100644 index 1fcfe84745e71d5a60c01904d909b9cc9ad4f470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1765 zcmVbHhT@{7_<8+db;)%+q_{8?Sxa#ieSY}Y^502C5ecrewI%PI zYjSepdCn!7o_Jmm=RDF(aO(--q9Q6({-7es9>9Na@{EQW{JbO|(d``$63|vkrcO+} zhGj%JY^Xf3MU-DCZpFQn2y${Cc#A%DzMKbgz1?`Gh+$0{i4P5W1c>MMA}Uu6_SBkO30FM z3v@pB46+?TBshmk8MTZ>&T9hM6ELpWYOU3B1stSFpo)U^6f~EiVX#b9wMEJ8UC=}< zb+cTp(fxHJ-kKDmG(Uup>D;c=+uFX}>S>qv*x{$%!9ja+Qt;9;m8I8oQtsI*0-;gjSXXK zQXuxj6ppd0#U*F#hKyZZXM|B#4P;G zo^M~R>oA&H4Oi>_Qt+o%QcL{Sr}6)?FYK; zQ~;|Maqru4o+MiU>j9R)?l^RXtG&+U)D-dxxQ-EL1ps7&tKi;%B@O2#b-5wJ{K z^&NxSFJOJ&pQ;16&WJsg4d(W57dOA!^BElb*9~UBKq&PCgxdD2_XUJ9T7Lo=3z-^Q z>d0wp#ChH7n&qD&%^s`Pwa6rd?ed4}$`$em7Lkx0b&dL2eZLs3eQwP3`+04lL%Fl` zNs5&T@@8$+I>+QqBkO~pZcr5BFi-Swtt`#8?TS?U&H9DgUGor-(}KkanvP2d@w$n< z8AxyMf`0bZX7&Ya&S*l&6@HKqehE}P5@=kq7^#NY8^f%)B5>=~EQ~6ewA+W%K%WvX z(1(Y(3#cVhxB3nT;^1I~1TM=GJEL1EWh!M#`D>>dsQrbLg}H)r69xXcBSGb9^LFMK zrTkS{*4!uL3E}=)`T^nMwhp-65&G4M(C#ML>Ct)dJb`n))ayfF} zskV+~?pXF{Y-~oV=LeV91_xU~8gf%^`r*NIXYYH-&#@gh!B&C2Hu#6F${w|xqx~K= z>l;+B$u9qKcN)O(-2D9dtZC2waa4_(l{2O%Kei)n<*`{e#2V*J-KiQu^o+<+ZN773 zAuqycjZp5S=Ih1o*NjP>9XT$Y^!u6T;SxJHXo5?4s=nQPFyC%sXJYz diff --git a/apps/dashboard/build/_app/immutable/chunks/CqwrgJOn.js b/apps/dashboard/build/_app/immutable/chunks/CqwrgJOn.js new file mode 100644 index 0000000..81134c5 --- /dev/null +++ b/apps/dashboard/build/_app/immutable/chunks/CqwrgJOn.js @@ -0,0 +1 @@ +import"./Bzak7iHL.js";import{t as k,v as f,w as v,aj as C,aw as g,O as x,K as w,L as _,ax as A,ay as z,az as u,N as L,aA as H,aB as V,aC as E,P as d,a as N,av as b,e as O,r as T}from"./CW7md74C.js";import{a as M,s as Z}from"./Cc0l8Nd4.js";import{p as n}from"./BjbQ7qSx.js";function I(h,c,t=!1,l=!1,p=!1){var a=h,r="";k(()=>{var o=C;if(r===(r=c()??"")){f&&v();return}if(o.nodes!==null&&(g(o.nodes.start,o.nodes.end),o.nodes=null),r!==""){if(f){x.data;for(var e=v(),y=e;e!==null&&(e.nodeType!==w||e.data!=="");)y=e,e=_(e);if(e===null)throw A(),z;u(x,y),a=L(e);return}var m=t?V:l?E:void 0,s=H(t?"svg":l?"math":"template",m);s.innerHTML=r;var i=t||l?s:s.content;if(u(d(i),i.lastChild),t||l)for(;d(i);)a.before(d(i));else a.before(i)}})}const P={blackbox:'',memorypr:'',graph:'',reasoning:'',memories:'',timeline:'',feed:'',explore:'',activation:'',dreams:'',schedule:'',importance:'',duplicates:'',contradictions:'',patterns:'',intentions:'',stats:'',settings:'',command:'',search:'',filter:'',sparkle:'',chevron:'',close:'',pulse:'',logo:''};var R=b('');function W(h,c){let t=n(c,"size",3,20),l=n(c,"strokeWidth",3,1.6),p=n(c,"class",3,""),a=n(c,"draw",3,!1);var r=R(),o=O(r);I(o,()=>P[c.name],!0),T(r),k(()=>{M(r,"width",t()),M(r,"height",t()),M(r,"stroke-width",l()),Z(r,0,`vestige-icon ${a()?"vestige-icon-draw":""} ${p()??""}`,"svelte-1eqehiz")}),N(h,r)}export{W as I}; diff --git a/apps/dashboard/build/_app/immutable/chunks/CqwrgJOn.js.br b/apps/dashboard/build/_app/immutable/chunks/CqwrgJOn.js.br new file mode 100644 index 0000000000000000000000000000000000000000..2295a63231539617ee586f0b904bd078c3e8d88d GIT binary patch literal 1913 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 lD$DP&{b-ZVRz|e_s8;5F^Bdf6etI1J{var o=C;if(r===(r=c()??"")){f&&v();return}if(o.nodes!==null&&(g(o.nodes.start,o.nodes.end),o.nodes=null),r!==""){if(f){x.data;for(var e=v(),y=e;e!==null&&(e.nodeType!==_||e.data!=="");)y=e,e=w(e);if(e===null)throw A(),z;u(x,y),a=L(e);return}var m=t?V:l?E:void 0,s=H(t?"svg":l?"math":"template",m);s.innerHTML=r;var i=t||l?s:s.content;if(u(d(i),i.lastChild),t||l)for(;d(i);)a.before(d(i));else a.before(i)}})}const R={blackbox:'',memorypr:'',graph:'',reasoning:'',memories:'',timeline:'',feed:'',explore:'',activation:'',dreams:'',schedule:'',importance:'',duplicates:'',contradictions:'',patterns:'',intentions:'',stats:'',settings:'',command:'',search:'',filter:'',sparkle:'',chevron:'',close:'',pulse:'',logo:''};var S=T('');function W(h,c){let t=n(c,"size",3,20),l=n(c,"strokeWidth",3,1.6),p=n(c,"class",3,""),a=n(c,"draw",3,!1);var r=S(),o=b(r);Z(o,()=>R[c.name],!0),I(r),k(()=>{M(r,"width",t()),M(r,"height",t()),M(r,"stroke-width",l()),O(r,0,`vestige-icon ${a()?"vestige-icon-draw":""} ${p()??""}`,"svelte-1eqehiz")}),N(h,r)}export{W as I}; diff --git a/apps/dashboard/build/_app/immutable/chunks/D7A-gG4Z.js.br b/apps/dashboard/build/_app/immutable/chunks/D7A-gG4Z.js.br deleted file mode 100644 index 009a8a450d6b301f1def078cec6817aec7350d19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1915 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 diff --git a/apps/dashboard/build/_app/immutable/chunks/P1-U_Xsj.js b/apps/dashboard/build/_app/immutable/chunks/D8RjhgN0.js similarity index 83% rename from apps/dashboard/build/_app/immutable/chunks/P1-U_Xsj.js rename to apps/dashboard/build/_app/immutable/chunks/D8RjhgN0.js index 192a855..6bfc137 100644 --- a/apps/dashboard/build/_app/immutable/chunks/P1-U_Xsj.js +++ b/apps/dashboard/build/_app/immutable/chunks/D8RjhgN0.js @@ -1 +1 @@ -import{x as f,P as d,Q as l,a6 as u,aa as p}from"./wpu9U-D0.js";function m(e,n,t){f(()=>{var r=d(()=>n(e,t==null?void 0:t())||{});if(t&&(r!=null&&r.update)){var a=!1,i={};l(()=>{var s=t();u(s),a&&p(i,s)&&(i=s,r.update(s))}),a=!0}if(r!=null&&r.destroy)return()=>r.destroy()})}const y=()=>{var e;return typeof window<"u"&&((e=window.matchMedia)==null?void 0:e.call(window,"(prefers-reduced-motion: reduce)").matches)};function x(e,n={}){const{y:t=16,delay:r=0,once:a=!0,threshold:i=.12}=n;if(y())return e.classList.add("reveal-in"),{};e.classList.add("reveal"),e.style.setProperty("--reveal-y",`${t}px`),r&&e.style.setProperty("--reveal-delay",`${r}ms`);const s=new IntersectionObserver(o=>{for(const c of o)c.isIntersecting?(e.classList.add("reveal-in"),a&&s.unobserve(e)):a||e.classList.remove("reveal-in")},{threshold:i,rootMargin:"0px 0px -8% 0px"});return s.observe(e),{destroy(){s.disconnect()}}}export{m as a,x as r}; +import{A as f,R as d,S as l,a7 as u,ab as p}from"./CW7md74C.js";function m(e,n,t){f(()=>{var r=d(()=>n(e,t==null?void 0:t())||{});if(t&&(r!=null&&r.update)){var a=!1,i={};l(()=>{var s=t();u(s),a&&p(i,s)&&(i=s,r.update(s))}),a=!0}if(r!=null&&r.destroy)return()=>r.destroy()})}const y=()=>{var e;return typeof window<"u"&&((e=window.matchMedia)==null?void 0:e.call(window,"(prefers-reduced-motion: reduce)").matches)};function w(e,n={}){const{y:t=16,delay:r=0,once:a=!0,threshold:i=.12}=n;if(y())return e.classList.add("reveal-in"),{};e.classList.add("reveal"),e.style.setProperty("--reveal-y",`${t}px`),r&&e.style.setProperty("--reveal-delay",`${r}ms`);const s=new IntersectionObserver(o=>{for(const c of o)c.isIntersecting?(e.classList.add("reveal-in"),a&&s.unobserve(e)):a||e.classList.remove("reveal-in")},{threshold:i,rootMargin:"0px 0px -8% 0px"});return s.observe(e),{destroy(){s.disconnect()}}}export{m as a,w as r}; diff --git a/apps/dashboard/build/_app/immutable/chunks/D8RjhgN0.js.br b/apps/dashboard/build/_app/immutable/chunks/D8RjhgN0.js.br new file mode 100644 index 0000000000000000000000000000000000000000..f4cb2be2bcde4afe618aea10a9bc56562ace7955 GIT binary patch literal 477 zcmV<30V4hzngal2Qt%We4 zNm(0Q8zEATo0?5C7Y9StX^OhqS4hEH z4zl?q7aDXfQfd5E!VAC4Zb5qlosR5CfF(btei?w+O`9$IY>BNK3&*mH;R|$;#7tV; zW)b2JfJZFq|9>{hK}O4@QZlSSfrLs2)=-#>)jm51@`tl)uhFP5CQgx;63W_=xNa=* Tp&3wB{oW739I0uS2wI*1O(WwG literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/D8RjhgN0.js.gz b/apps/dashboard/build/_app/immutable/chunks/D8RjhgN0.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..263bf3ddbf02022f2ba803928211caf9e76cecc2 GIT binary patch literal 533 zcmV+w0_y!AiwFP!000026Ma*`ZrmUgy!R^zY7tLj>87fh$}WkjoGLYH)gF2cG0zE= z4Hn?tSSQWpErtQp$~8cd_%RQsk@_bREa}9@(4mRHgGE^b-}=Z*wZc{WXZd*z4@&=!+thK3+q;79W+v zJ^AJmhKNh{A2$)h4g>e{throw TypeError(t)};var xe=(t,e,s)=>e in t?qe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var J=(t,e,s)=>xe(t,typeof e!="symbol"?e+"":e,s),ie=(t,e,s)=>e.has(t)||pe("Cannot "+s);var r=(t,e,s)=>(ie(t,e,"read from private field"),s?s.call(t):e.get(t)),_=(t,e,s)=>e.has(t)?pe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s),f=(t,e,s,i)=>(ie(t,e,"write to private field"),i?i.call(t,s):e.set(t,s),s),b=(t,e,s)=>(ie(t,e,"access private method"),s);import{aX as Be,g as me,Q as Ce,P as Re,aY as ge,R as z,aL as Se,M as Y,G as k,ai as H,aZ as be,q as He,T as Pe,W as Ve,a_ as ye,$ as M,D as Ae,a$ as ne,_ as ae,a0 as We,b0 as ve,b1 as $e,b2 as Ee,b3 as ze,b4 as je,b5 as U,b6 as ee,b7 as we,b8 as Je,b9 as De,a2 as Ne,aF as Qe,Z as fe,L as te,n as Xe,X as Ze,ba as Q,E as Ge,F as Ke,bb as Ue,bc as et,y as tt,bd as st,ad as rt,be as oe,N as it,I as Fe,V as nt,J as at,ax as ue,K as X,bf as ft,aQ as ot,bg as ut,aI as ct,p as ht,ay as lt,aE as dt,aw as _t,b as pt,ab as P,aa as gt,a4 as bt}from"./wpu9U-D0.js";function yt(t){let e=0,s=Se(0),i;return()=>{Be()&&(me(s),Ce(()=>(e===0&&(i=Re(()=>t(()=>ge(s)))),e+=1,()=>{z(()=>{e-=1,e===0&&(i==null||i(),i=void 0,ge(s))})})))}}var vt=Ge|Ke;function Et(t,e,s,i){new wt(t,e,s,i)}var E,j,S,x,y,A,w,m,F,B,I,V,W,$,O,se,l,Oe,Ie,Le,ce,G,K,he;class wt{constructor(e,s,i,o){_(this,l);J(this,"parent");J(this,"is_pending",!1);J(this,"transform_error");_(this,E);_(this,j,k?Y:null);_(this,S);_(this,x);_(this,y);_(this,A,null);_(this,w,null);_(this,m,null);_(this,F,null);_(this,B,0);_(this,I,0);_(this,V,!1);_(this,W,new Set);_(this,$,new Set);_(this,O,null);_(this,se,yt(()=>(f(this,O,Se(r(this,B))),()=>{f(this,O,null)})));var n;f(this,E,e),f(this,S,s),f(this,x,u=>{var h=H;h.b=this,h.f|=be,i(u)}),this.parent=H.b,this.transform_error=o??((n=this.parent)==null?void 0:n.transform_error)??(u=>u),f(this,y,He(()=>{if(k){const u=r(this,j);Pe();const h=u.data===Ve;if(u.data.startsWith(ye)){const a=JSON.parse(u.data.slice(ye.length));b(this,l,Ie).call(this,a)}else h?b(this,l,Le).call(this):b(this,l,Oe).call(this)}else b(this,l,ce).call(this)},vt)),k&&f(this,E,Y)}defer_effect(e){je(e,r(this,W),r(this,$))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!r(this,S).pending}update_pending_count(e){b(this,l,he).call(this,e),f(this,B,r(this,B)+e),!(!r(this,O)||r(this,V))&&(f(this,V,!0),z(()=>{f(this,V,!1),r(this,O)&&Qe(r(this,O),r(this,B))}))}get_effect_pending(){return r(this,se).call(this),me(r(this,O))}error(e){var s=r(this,S).onerror;let i=r(this,S).failed;if(!s&&!i)throw e;r(this,A)&&(fe(r(this,A)),f(this,A,null)),r(this,w)&&(fe(r(this,w)),f(this,w,null)),r(this,m)&&(fe(r(this,m)),f(this,m,null)),k&&(te(r(this,j)),Xe(),te(Ze()));var o=!1,n=!1;const u=()=>{if(o){et();return}o=!0,n&&Ue(),r(this,m)!==null&&ae(r(this,m),()=>{f(this,m,null)}),b(this,l,K).call(this,()=>{ne.ensure(),b(this,l,ce).call(this)})},h=c=>{try{n=!0,s==null||s(c,u),n=!1}catch(a){Q(a,r(this,y)&&r(this,y).parent)}i&&f(this,m,b(this,l,K).call(this,()=>{ne.ensure();try{return M(()=>{var a=H;a.b=this,a.f|=be,i(r(this,E),()=>c,()=>u)})}catch(a){return Q(a,r(this,y).parent),null}}))};z(()=>{var c;try{c=this.transform_error(e)}catch(a){Q(a,r(this,y)&&r(this,y).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(h,a=>Q(a,r(this,y)&&r(this,y).parent)):h(c)})}}E=new WeakMap,j=new WeakMap,S=new WeakMap,x=new WeakMap,y=new WeakMap,A=new WeakMap,w=new WeakMap,m=new WeakMap,F=new WeakMap,B=new WeakMap,I=new WeakMap,V=new WeakMap,W=new WeakMap,$=new WeakMap,O=new WeakMap,se=new WeakMap,l=new WeakSet,Oe=function(){try{f(this,A,M(()=>r(this,x).call(this,r(this,E))))}catch(e){this.error(e)}},Ie=function(e){const s=r(this,S).failed;s&&f(this,m,M(()=>{s(r(this,E),()=>e,()=>()=>{})}))},Le=function(){const e=r(this,S).pending;e&&(this.is_pending=!0,f(this,w,M(()=>e(r(this,E)))),z(()=>{var s=f(this,F,document.createDocumentFragment()),i=Ae();s.append(i),f(this,A,b(this,l,K).call(this,()=>(ne.ensure(),M(()=>r(this,x).call(this,i))))),r(this,I)===0&&(r(this,E).before(s),f(this,F,null),ae(r(this,w),()=>{f(this,w,null)}),b(this,l,G).call(this))}))},ce=function(){try{if(this.is_pending=this.has_pending_snippet(),f(this,I,0),f(this,B,0),f(this,A,M(()=>{r(this,x).call(this,r(this,E))})),r(this,I)>0){var e=f(this,F,document.createDocumentFragment());We(r(this,A),e);const s=r(this,S).pending;f(this,w,M(()=>s(r(this,E))))}else b(this,l,G).call(this)}catch(s){this.error(s)}},G=function(){this.is_pending=!1;for(const e of r(this,W))ve(e,$e),Ee(e);for(const e of r(this,$))ve(e,ze),Ee(e);r(this,W).clear(),r(this,$).clear()},K=function(e){var s=H,i=De,o=Ne;U(r(this,y)),ee(r(this,y)),we(r(this,y).ctx);try{return e()}catch(n){return Je(n),null}finally{U(s),ee(i),we(o)}},he=function(e){var s;if(!this.has_pending_snippet()){this.parent&&b(s=this.parent,l,he).call(s,e);return}f(this,I,r(this,I)+e),r(this,I)===0&&(b(this,l,G).call(this),r(this,w)&&ae(r(this,w),()=>{f(this,w,null)}),r(this,F)&&(r(this,E).before(r(this,F)),f(this,F,null)))};const Tt=["touchstart","touchmove"];function mt(t){return Tt.includes(t)}const q=Symbol("events"),Me=new Set,le=new Set;function Rt(t,e,s,i={}){function o(n){if(i.capture||de.call(e,n),!n.cancelBubble)return st(()=>s==null?void 0:s.call(this,n))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?z(()=>{e.addEventListener(t,o,i)}):e.addEventListener(t,o,i),o}function Ot(t,e,s,i,o){var n={capture:i,passive:o},u=Rt(t,e,s,n);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&tt(()=>{e.removeEventListener(t,u,n)})}function It(t,e,s){(e[q]??(e[q]={}))[t]=s}function Lt(t){for(var e=0;e{throw L});throw T}}finally{t[q]=e,delete t.currentTarget,ee(R),U(D)}}}function Mt(t,e){var s=e==null?"":typeof e=="object"?e+"":e;s!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=s,t.nodeValue=s+"")}function St(t,e){return Ye(t,e)}function Yt(t,e){oe(),e.intro=e.intro??!1;const s=e.target,i=k,o=Y;try{for(var n=it(s);n&&(n.nodeType!==Fe||n.data!==nt);)n=at(n);if(!n)throw ue;X(!0),te(n);const u=Ye(t,{...e,anchor:n});return X(!1),u}catch(u){if(u instanceof Error&&u.message.split(` -`).some(h=>h.startsWith("https://svelte.dev/e/")))throw u;return u!==ue&&console.warn("Failed to hydrate: ",u),e.recover===!1&&ft(),oe(),ot(s),X(!1),St(t,e)}finally{X(i),te(o)}}const Z=new Map;function Ye(t,{target:e,anchor:s,props:i={},events:o,context:n,intro:u=!0,transformError:h}){oe();var c=void 0,a=ut(()=>{var R=s??e.appendChild(Ae());Et(R,{pending:()=>{}},g=>{ht({});var d=Ne;if(n&&(d.c=n),o&&(i.$$events=o),k&<(g,null),c=t(g,i)||{},k&&(H.nodes.end=Y,Y===null||Y.nodeType!==Fe||Y.data!==dt))throw _t(),ue;pt()},h);var D=new Set,T=g=>{for(var d=0;d{var N;for(var g of D)for(const v of[e,document]){var d=Z.get(v),p=d.get(g);--p==0?(v.removeEventListener(g,de),d.delete(g),d.size===0&&Z.delete(v)):d.set(g,p)}le.delete(T),R!==s&&((N=R.parentNode)==null||N.removeChild(R))}});return _e.set(c,a),c}let _e=new WeakMap;function kt(t,e){const s=_e.get(t);return s?(_e.delete(t),s(e)):Promise.resolve()}function ke(t,e,s){if(t==null)return e(void 0),s&&s(void 0),P;const i=Re(()=>t.subscribe(e,s));return i.unsubscribe?()=>i.unsubscribe():i}const C=[];function At(t,e){return{subscribe:Dt(t,e).subscribe}}function Dt(t,e=P){let s=null;const i=new Set;function o(h){if(gt(t,h)&&(t=h,s)){const c=!C.length;for(const a of i)a[1](),C.push(a,t);if(c){for(let a=0;a{i.delete(a),i.size===0&&s&&(s(),s=null)}}return{set:o,update:n,subscribe:u}}function qt(t,e,s){const i=!Array.isArray(t),o=i?[t]:t;if(!o.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const n=e.length<2;return At(s,(u,h)=>{let c=!1;const a=[];let R=0,D=P;const T=()=>{if(R)return;D();const d=e(i?a[0]:a,u,h);n?u(d):D=typeof d=="function"?d:P},g=o.map((d,p)=>ke(d,N=>{a[p]=N,R&=~(1<{R|=1<e=s)(),e}export{It as a,qt as b,ke as c,Lt as d,Ot as e,xt as g,Yt as h,St as m,Mt as s,kt as u,Dt as w}; diff --git a/apps/dashboard/build/_app/immutable/chunks/D8mhvFt8.js.br b/apps/dashboard/build/_app/immutable/chunks/D8mhvFt8.js.br deleted file mode 100644 index 8b6310a83ded58b13ae5ff0451a663e892a9e63c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3589 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 TypeError(t)};var qe=(t,e,s)=>e in t?Be(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var J=(t,e,s)=>qe(t,typeof e!="symbol"?e+"":e,s),ie=(t,e,s)=>e.has(t)||pe("Cannot "+s);var r=(t,e,s)=>(ie(t,e,"read from private field"),s?s.call(t):e.get(t)),_=(t,e,s)=>e.has(t)?pe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,s),f=(t,e,s,i)=>(ie(t,e,"write to private field"),i?i.call(t,s):e.set(t,s),s),b=(t,e,s)=>(ie(t,e,"access private method"),s);import{aX as xe,g as me,S as He,R as Se,aY as ge,T as $,aL as Re,O as M,v as k,aj as C,aZ as be,q as Ce,w as Pe,X as We,a_ as ve,a0 as L,H as Ae,a$ as ne,$ as ae,a1 as ze,b0 as ye,b1 as Ve,b2 as Ee,b3 as $e,b4 as je,b5 as G,b6 as ee,b7 as we,b8 as Je,b9 as Ne,a3 as De,aF as Xe,_ as fe,N as te,n as Ke,Y as Qe,ba as X,E as Ue,J as Ze,bb as Ge,bc as et,B as tt,bd as st,ae as rt,be as oe,P as it,K as Oe,W as nt,L as at,ay as ue,M as K,bf as ft,aQ as ot,bg as ut,aI as ct,p as ht,az as lt,aE as dt,ax as _t,b as pt,ac as P,ab as gt,a5 as bt}from"./CW7md74C.js";function vt(t){let e=0,s=Re(0),i;return()=>{xe()&&(me(s),He(()=>(e===0&&(i=Se(()=>t(()=>ge(s)))),e+=1,()=>{$(()=>{e-=1,e===0&&(i==null||i(),i=void 0,ge(s))})})))}}var yt=Ue|Ze;function Et(t,e,s,i){new wt(t,e,s,i)}var E,j,R,q,v,A,w,m,O,x,Y,W,z,V,F,se,l,Fe,Ye,Ie,ce,U,Z,he;class wt{constructor(e,s,i,o){_(this,l);J(this,"parent");J(this,"is_pending",!1);J(this,"transform_error");_(this,E);_(this,j,k?M:null);_(this,R);_(this,q);_(this,v);_(this,A,null);_(this,w,null);_(this,m,null);_(this,O,null);_(this,x,0);_(this,Y,0);_(this,W,!1);_(this,z,new Set);_(this,V,new Set);_(this,F,null);_(this,se,vt(()=>(f(this,F,Re(r(this,x))),()=>{f(this,F,null)})));var n;f(this,E,e),f(this,R,s),f(this,q,u=>{var h=C;h.b=this,h.f|=be,i(u)}),this.parent=C.b,this.transform_error=o??((n=this.parent)==null?void 0:n.transform_error)??(u=>u),f(this,v,Ce(()=>{if(k){const u=r(this,j);Pe();const h=u.data===We;if(u.data.startsWith(ve)){const a=JSON.parse(u.data.slice(ve.length));b(this,l,Ye).call(this,a)}else h?b(this,l,Ie).call(this):b(this,l,Fe).call(this)}else b(this,l,ce).call(this)},yt)),k&&f(this,E,M)}defer_effect(e){je(e,r(this,z),r(this,V))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!r(this,R).pending}update_pending_count(e){b(this,l,he).call(this,e),f(this,x,r(this,x)+e),!(!r(this,F)||r(this,W))&&(f(this,W,!0),$(()=>{f(this,W,!1),r(this,F)&&Xe(r(this,F),r(this,x))}))}get_effect_pending(){return r(this,se).call(this),me(r(this,F))}error(e){var s=r(this,R).onerror;let i=r(this,R).failed;if(!s&&!i)throw e;r(this,A)&&(fe(r(this,A)),f(this,A,null)),r(this,w)&&(fe(r(this,w)),f(this,w,null)),r(this,m)&&(fe(r(this,m)),f(this,m,null)),k&&(te(r(this,j)),Ke(),te(Qe()));var o=!1,n=!1;const u=()=>{if(o){et();return}o=!0,n&&Ge(),r(this,m)!==null&&ae(r(this,m),()=>{f(this,m,null)}),b(this,l,Z).call(this,()=>{ne.ensure(),b(this,l,ce).call(this)})},h=c=>{try{n=!0,s==null||s(c,u),n=!1}catch(a){X(a,r(this,v)&&r(this,v).parent)}i&&f(this,m,b(this,l,Z).call(this,()=>{ne.ensure();try{return L(()=>{var a=C;a.b=this,a.f|=be,i(r(this,E),()=>c,()=>u)})}catch(a){return X(a,r(this,v).parent),null}}))};$(()=>{var c;try{c=this.transform_error(e)}catch(a){X(a,r(this,v)&&r(this,v).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(h,a=>X(a,r(this,v)&&r(this,v).parent)):h(c)})}}E=new WeakMap,j=new WeakMap,R=new WeakMap,q=new WeakMap,v=new WeakMap,A=new WeakMap,w=new WeakMap,m=new WeakMap,O=new WeakMap,x=new WeakMap,Y=new WeakMap,W=new WeakMap,z=new WeakMap,V=new WeakMap,F=new WeakMap,se=new WeakMap,l=new WeakSet,Fe=function(){try{f(this,A,L(()=>r(this,q).call(this,r(this,E))))}catch(e){this.error(e)}},Ye=function(e){const s=r(this,R).failed;s&&f(this,m,L(()=>{s(r(this,E),()=>e,()=>()=>{})}))},Ie=function(){const e=r(this,R).pending;e&&(this.is_pending=!0,f(this,w,L(()=>e(r(this,E)))),$(()=>{var s=f(this,O,document.createDocumentFragment()),i=Ae();s.append(i),f(this,A,b(this,l,Z).call(this,()=>(ne.ensure(),L(()=>r(this,q).call(this,i))))),r(this,Y)===0&&(r(this,E).before(s),f(this,O,null),ae(r(this,w),()=>{f(this,w,null)}),b(this,l,U).call(this))}))},ce=function(){try{if(this.is_pending=this.has_pending_snippet(),f(this,Y,0),f(this,x,0),f(this,A,L(()=>{r(this,q).call(this,r(this,E))})),r(this,Y)>0){var e=f(this,O,document.createDocumentFragment());ze(r(this,A),e);const s=r(this,R).pending;f(this,w,L(()=>s(r(this,E))))}else b(this,l,U).call(this)}catch(s){this.error(s)}},U=function(){this.is_pending=!1;for(const e of r(this,z))ye(e,Ve),Ee(e);for(const e of r(this,V))ye(e,$e),Ee(e);r(this,z).clear(),r(this,V).clear()},Z=function(e){var s=C,i=Ne,o=De;G(r(this,v)),ee(r(this,v)),we(r(this,v).ctx);try{return e()}catch(n){return Je(n),null}finally{G(s),ee(i),we(o)}},he=function(e){var s;if(!this.has_pending_snippet()){this.parent&&b(s=this.parent,l,he).call(s,e);return}f(this,Y,r(this,Y)+e),r(this,Y)===0&&(b(this,l,U).call(this),r(this,w)&&ae(r(this,w),()=>{f(this,w,null)}),r(this,O)&&(r(this,E).before(r(this,O)),f(this,O,null)))};const Tt=["touchstart","touchmove"];function mt(t){return Tt.includes(t)}const B=Symbol("events"),Le=new Set,le=new Set;function St(t,e,s,i={}){function o(n){if(i.capture||de.call(e,n),!n.cancelBubble)return st(()=>s==null?void 0:s.call(this,n))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?$(()=>{e.addEventListener(t,o,i)}):e.addEventListener(t,o,i),o}function Ft(t,e,s,i,o){var n={capture:i,passive:o},u=St(t,e,s,n);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&tt(()=>{e.removeEventListener(t,u,n)})}function Yt(t,e,s){(e[B]??(e[B]={}))[t]=s}function It(t){for(var e=0;e{throw I});throw T}}finally{t[B]=e,delete t.currentTarget,ee(S),G(N)}}}function Lt(t,e){var s=e==null?"":typeof e=="object"?e+"":e;s!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=s,t.nodeValue=s+"")}function Rt(t,e){return Me(t,e)}function Mt(t,e){oe(),e.intro=e.intro??!1;const s=e.target,i=k,o=M;try{for(var n=it(s);n&&(n.nodeType!==Oe||n.data!==nt);)n=at(n);if(!n)throw ue;K(!0),te(n);const u=Me(t,{...e,anchor:n});return K(!1),u}catch(u){if(u instanceof Error&&u.message.split(` +`).some(h=>h.startsWith("https://svelte.dev/e/")))throw u;return u!==ue&&console.warn("Failed to hydrate: ",u),e.recover===!1&&ft(),oe(),ot(s),K(!1),Rt(t,e)}finally{K(i),te(o)}}const Q=new Map;function Me(t,{target:e,anchor:s,props:i={},events:o,context:n,intro:u=!0,transformError:h}){oe();var c=void 0,a=ut(()=>{var S=s??e.appendChild(Ae());Et(S,{pending:()=>{}},g=>{ht({});var d=De;if(n&&(d.c=n),o&&(i.$$events=o),k&<(g,null),c=t(g,i)||{},k&&(C.nodes.end=M,M===null||M.nodeType!==Oe||M.data!==dt))throw _t(),ue;pt()},h);var N=new Set,T=g=>{for(var d=0;d{var D;for(var g of N)for(const y of[e,document]){var d=Q.get(y),p=d.get(g);--p==0?(y.removeEventListener(g,de),d.delete(g),d.size===0&&Q.delete(y)):d.set(g,p)}le.delete(T),S!==s&&((D=S.parentNode)==null||D.removeChild(S))}});return _e.set(c,a),c}let _e=new WeakMap;function kt(t,e){const s=_e.get(t);return s?(_e.delete(t),s(e)):Promise.resolve()}function ke(t,e,s){if(t==null)return e(void 0),s&&s(void 0),P;const i=Se(()=>t.subscribe(e,s));return i.unsubscribe?()=>i.unsubscribe():i}const H=[];function At(t,e){return{subscribe:Nt(t,e).subscribe}}function Nt(t,e=P){let s=null;const i=new Set;function o(h){if(gt(t,h)&&(t=h,s)){const c=!H.length;for(const a of i)a[1](),H.push(a,t);if(c){for(let a=0;a{i.delete(a),i.size===0&&s&&(s(),s=null)}}return{set:o,update:n,subscribe:u}}function Bt(t,e,s){const i=!Array.isArray(t),o=i?[t]:t;if(!o.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const n=e.length<2;return At(s,(u,h)=>{let c=!1;const a=[];let S=0,N=P;const T=()=>{if(S)return;N();const d=e(i?a[0]:a,u,h);n?u(d):N=typeof d=="function"?d:P},g=o.map((d,p)=>ke(d,D=>{a[p]=D,S&=~(1<{S|=1<e=s)(),e}export{Yt as a,Bt as b,ke as c,It as d,Ft as e,qt as g,Mt as h,Rt as m,Lt as s,kt as u,Nt as w}; diff --git a/apps/dashboard/build/_app/immutable/chunks/D90q9c2i.js.br b/apps/dashboard/build/_app/immutable/chunks/D90q9c2i.js.br new file mode 100644 index 0000000000000000000000000000000000000000..4527e82da6fb69d312fde54ad95183d4fbb1a4b3 GIT binary patch literal 3602 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 +Ix^jJUHQQKUlK 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±({3fxWj6yrqoWPoQJA<1zEWn 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 literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/DD4_gMN2.js.gz b/apps/dashboard/build/_app/immutable/chunks/DD4_gMN2.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..5a74ed2994aae0fcc04fb5a5c87ae14ae3e1db87 GIT binary patch literal 139351 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

vg{Jvh7HgRq^U6=~QWu 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 TypeError(i)};var F=(i,e,s)=>e in i?D(i,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[e]=s;var w=(i,e,s)=>F(i,typeof e!="symbol"?e+"":e,s),y=(i,e,s)=>e.has(i)||g("Cannot "+s);var t=(i,e,s)=>(y(i,e,"read from private field"),s?s.call(i):e.get(i)),l=(i,e,s)=>e.has(i)?g("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,s),M=(i,e,s,a)=>(y(i,e,"write to private field"),a?a.call(i,s):e.set(i,s),s);import{z as x,Z as z,_ as k,$ as C,H as A,a0 as B,v as H,O,a1 as S,a2 as Z}from"./CW7md74C.js";var r,n,h,u,p,_,v;class q{constructor(e,s=!0){w(this,"anchor");l(this,r,new Map);l(this,n,new Map);l(this,h,new Map);l(this,u,new Set);l(this,p,!0);l(this,_,()=>{var e=x;if(t(this,r).has(e)){var s=t(this,r).get(e),a=t(this,n).get(s);if(a)z(a),t(this,u).delete(s);else{var c=t(this,h).get(s);c&&(t(this,n).set(s,c.effect),t(this,h).delete(s),c.fragment.lastChild.remove(),this.anchor.before(c.fragment),a=c.effect)}for(const[f,o]of t(this,r)){if(t(this,r).delete(f),f===e)break;const d=t(this,h).get(o);d&&(k(d.effect),t(this,h).delete(o))}for(const[f,o]of t(this,n)){if(f===s||t(this,u).has(f))continue;const d=()=>{if(Array.from(t(this,r).values()).includes(f)){var b=document.createDocumentFragment();S(o,b),b.append(A()),t(this,h).set(f,{effect:o,fragment:b})}else k(o);t(this,u).delete(f),t(this,n).delete(f)};t(this,p)||!a?(t(this,u).add(f),C(o,d,!1)):d()}}});l(this,v,e=>{t(this,r).delete(e);const s=Array.from(t(this,r).values());for(const[a,c]of t(this,h))s.includes(a)||(k(c.effect),t(this,h).delete(a))});this.anchor=e,M(this,p,s)}ensure(e,s){var a=x,c=Z();if(s&&!t(this,n).has(e)&&!t(this,h).has(e))if(c){var f=document.createDocumentFragment(),o=A();f.append(o),t(this,h).set(e,{effect:B(()=>s(o)),fragment:f})}else t(this,n).set(e,B(()=>s(this.anchor)));if(t(this,r).set(a,e),c){for(const[d,m]of t(this,n))d===e?a.unskip_effect(m):a.skip_effect(m);for(const[d,m]of t(this,h))d===e?a.unskip_effect(m.effect):a.skip_effect(m.effect);a.oncommit(t(this,_)),a.ondiscard(t(this,v))}else H&&(this.anchor=O),t(this,_).call(this)}}r=new WeakMap,n=new WeakMap,h=new WeakMap,u=new WeakMap,p=new WeakMap,_=new WeakMap,v=new WeakMap;export{q as B}; diff --git a/apps/dashboard/build/_app/immutable/chunks/DExHDOmW.js.br b/apps/dashboard/build/_app/immutable/chunks/DExHDOmW.js.br new file mode 100644 index 0000000000000000000000000000000000000000..fb57202b5d4f1ff975960ea61206e8177efcf376 GIT binary patch literal 886 zcmV-+1Bv__x(EOqhq0Tb6CGkAj^2`$x$O1TIy7DB5J@%b0Fo9-p*vfPbNU+xXe6PU zJEv*#WYF#dOgJ~Xzn@c^u

=q_^{R`u(4m0+Slyzp4SC+Z>=?<$zSA>y36yrxU=t z;jP->p7j#8Pvms`H-FmHVpcRp{a@oLGFRbJig^CdUPVdFp~b4vp3!ud811R&?ckiN zb~w+W&EtV|M1gzas%|!qu=+x88qC(zm3?V4zbaEf6I6#MX>~eDtg6jy-SOYqh7Y31 z^SX?7e7*jc8BGV6t0_X#{&kKzhc+wY|j)#6o{Z{5irE|FW zGCk`I1k>>Tv!~;yC*q`M!^7f=e*TzT^Jg1B@`5NV*n^$07`#W^-b-fZb{^Kcm9^!a z*;Yt!ekY@&uw=>)E0^2F{#n}9wLcPKu7!DIbu12ZG*WJ9xOl%XqpSX!n|HMCtczF< z2GwgRhx3HtA1;EO=r1w|>p|b_+60(EgbWvZ_{*M7f;y?Tqyn=Xra|NUTS8>EQs$fn~Xn=ZF%y zaE$4#=>m`>Xd*Ld5CS6Wc$!FNWr_JI;$hjY%2Z8Y&gI$1%Px;Of%IuWQ@FVzD}j$d zU}xByry%NS#T zPE@2rXQ4$1Q0*aCh!#1C*aDH0MFGFZ1?0Iz5=3tWAi{;is#bZ6f$1EvOwbZyjtd9F zi25ve*Ye590ysuQWXOuN(X0s?u|^i;JbK*{I6f@vPbvl15}>XH@qj!PHgqZub+8^j z3Lr5ds$T&Th{#~JwM;nYti-Hl>Sw=u1u6H3lkOo2EX)#DpCj8s75$Z>Mg=QX_mb<^Ai2u;K|(qtHNvzuog9YrttQlIKSy2|5* MA{EO1`BO5w0fKk9V*mgE literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/DExHDOmW.js.gz b/apps/dashboard/build/_app/immutable/chunks/DExHDOmW.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1345063f7d97ee4d9103d92ee32f1a943c582521 GIT binary patch literal 993 zcmV<710MVziwFP!000026NOb>YvVW+ecxZIF0C*9JQG7DW8=r9CD zzN$5`C66ShO%wn3MNVudEuDRm?vZpq&bg8{+(y^gm(>pvKFLWcP5)R^ll9wl!)^4K zsqAv+3u~UDf44RLZLP6PLEEj~WK1EUgY1$br6V=J?tmTXrXtH%CCw%mD2$fsu^H?q zt9(D-@Uo$qYhk9o(f7=CexF9aH%y`5)?{QvlPq@IYGulJP9NfU7IxtFB!{Hnjw#sh zA6dNMS{on59~^W({kV^9yJ>8R=aICgifXGi+*2eKm3a*4<}MMuESZ8CC6DBp0>JWZ zsQDO)=XvA{iX5+Ka9B~bA{$l4QsfJ+BclbyFbi}!&$S4JeI>rWCqJiz=lLO|3n4>! zcgL8>PZAFVQsm8>y!o6T^G0{(#zCs8+E~APiMWfN@gWQ^xD3M@e-Fa~Z^Lkf{348> zaTA7H{DS;rnB61)GmH;y;4Du5SbY6d<)8jqBtKl-acogzfeqHU#7!zn?p*Y9CyaL9 zHo_ar2wgV0fZY@Gg>o2kEec~}NXr9YQPWd&$Lj&nZ;;{*(sal@`2neMaxoZ7WRP9% zLWYz*r%Ez^j0T;I1kf$IY{Y}+1ju_xAE3aaWE@@?2Rtq{kmOX7r?5(;qt2P=PZq;T zF`cr}UC_p%NJvT&e(+YDctep$%O5M!J}J5Li$axoVyQA4Vt`?Pa$qo7ku;Xrcp&6H zIB%t~tkdC}MDyLqXs8r+XM7xEOF)@r8NtdDU#H#CD1TLwfi#~^*_!3=7h&N2;QA0e z1akZR$Y#()0tlnM(hUvKI~A2=SJv`v5}NQN@$MmU3?NZjlub^Zk4}nJmK)J@EDB59 z)AiB3Ida7yy=MkjfUAVpHR+sPF*vOzh$V4%D0618XL+`2p$(cx>p;hwj*x>BeS)?9 z#v1nf37@m^TzCN_;DQ;*=ed0?13}~*L;5P5! z4IG)c4NumI#9szVmvH!Lf&p!7v+x9mpX`p;sL!n8%xcc8`pjCMS({TUrRVPd`q}+W PZTj1PQ<^&sy9fXPW!mhT literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/DKve45Wd.js b/apps/dashboard/build/_app/immutable/chunks/DKve45Wd.js deleted file mode 100644 index 66e7aff..0000000 --- a/apps/dashboard/build/_app/immutable/chunks/DKve45Wd.js +++ /dev/null @@ -1 +0,0 @@ -import{q as T,G as o,T as h,E as b,U as p,V as A,W as E,X as R,L as g,K as l}from"./wpu9U-D0.js";import{B as v}from"./BWk3o_TN.js";function S(t,u,_=!1){o&&h();var n=new v(t),c=_?b:0;function i(a,r){if(o){const e=p(t);var s;if(e===A?s=0:e===E?s=!1:s=parseInt(e.substring(1)),a!==s){var f=R();g(f),n.anchor=f,l(!1),n.ensure(a,r),l(!0);return}}n.ensure(a,r)}T(()=>{var a=!1;u((r,s=0)=>{a=!0,i(s,r)}),a||i(!1,null)},c)}export{S as i}; diff --git a/apps/dashboard/build/_app/immutable/chunks/DKve45Wd.js.br b/apps/dashboard/build/_app/immutable/chunks/DKve45Wd.js.br deleted file mode 100644 index 324107334d0e06fbe04d06b5cca4b52a32c3d37c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmV+y0qFi4t^pv7lr9g{nP#)9-3{8(99IG70k8|h0k=Zfm>Zw(9Nz(c(sPQ1CAN1w zpAI!?W1nvG4uYPhri^t~q;NRTk80?vZ`?KP@r?y;Fv1TG_{9bOaD#t*;u&*1Ih!)| zXT`MQL)iK;u5EMWS2{W9r4czXmw#(--~WEqOML&L03rIK9nSZS#)35W!%lY7SVa^t zlK$DKZAU#XX^0c&%NgxCzhu3orgESl*!DZNgQT=!5Mw-jlQ-|pOh)e;>q7SxNgoyX$go&2b~s~faLH)!jWNL$V}|dHIleHq z_{^yL%Gv!Oxj8oN-SYY&O+Ne}*OvuTb{u{k)79s#T^FxsN7b4#XltSc1Z;6laV9!D z9PU8m2k9b1MjfLA1c4>3$D2|57ttWmiB4BwMORwmL!_vIa7p@HSD=V!GWL{?xSEYU z#o5SHBb`@ICV)zOyYazkvxQ6ulrfPP9p@{WgUGi~2{ef`<<2^)u!cBeK^fmVbv}T# zROC*D)|tNl*Xs)aLHFl@lHx3H0UUZtS(Fr~sKK*Opgf&4#2K2lu0@Zf=+*c6dkg-a P?(?f3zTmAPuK@r6A*Pw3 diff --git a/apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js b/apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js new file mode 100644 index 0000000..2dde94d --- /dev/null +++ b/apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js @@ -0,0 +1,1479 @@ +var dl=Object.defineProperty;var fl=(l,t,e)=>t in l?dl(l,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[t]=e;var T=(l,t,e)=>fl(l,typeof t!="symbol"?t+"":t,e);import"./Bzak7iHL.js";import{o as mh,a as pl}from"./JVtQszIZ.js";import{p as Ms,e as rt,r as st,h as ct,t as oe,a as xt,b as Ss,j as At,c as gh,f as qr,g as D,u as Xr,s as Pt,d as yh,i as mt,n as ml,x as gl,bh as yl}from"./CW7md74C.js";import{d as xh,s as Xt,a as wn,e as xl}from"./D90q9c2i.js";import{i as zt}from"./9-jplUL5.js";import{e as bh,s as us,a as Yr}from"./Cc0l8Nd4.js";import{b as vh}from"./ChcFQRZo.js";import{p as lt}from"./BjbQ7qSx.js";import{a as bl}from"./C-rZhKee.js";import{b as wh}from"./CaEJGM7b.js";import{s as kr}from"./BNUnVJrY.js";import{N as ka}from"./CcUbQ_Wl.js";/** + * @license + * Copyright 2010-2024 Three.js Authors + * SPDX-License-Identifier: MIT + */const _h="172",Rm={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},Lm={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},Om=0,Nm=1,Dm=2,Um=3,Vm=0,Gm=1,Wm=2,Hm=3,Er=0,Mh=1,qm=2,vl=0,Ea=1,wl=2,Xm=3,Ym=4,Jm=5,Ra=100,Zm=101,Km=102,jm=103,Qm=104,$m=200,t0=201,e0=202,i0=203,La=204,Oa=205,s0=206,n0=207,r0=208,a0=209,o0=210,h0=211,l0=212,c0=213,u0=214,d0=0,f0=1,p0=2,Na=3,m0=4,g0=5,y0=6,x0=7,Jr=0,b0=1,v0=2,w0=0,_0=1,M0=2,S0=3,A0=4,T0=5,I0=6,C0=7,Da="attached",_l="detached",Zr=300,Kr=301,Ml=302,Sl=303,Al=304,Tl=306,Rr=1e3,ue=1001,Lr=1002,he=1003,Il=1004,z0=1004,Cl=1005,B0=1005,ee=1006,zl=1007,F0=1007,Ln=1008,P0=1008,Sh=1009,Bl=1010,Fl=1011,Pl=1012,kl=1013,jr=1014,Li=1015,El=1016,Rl=1017,Ll=1018,Ol=1020,Nl=35902,Dl=1021,Ul=1022,ys=1023,Vl=1024,Gl=1025,qn=1026,Ua=1027,Ah=1028,Th=1029,Wl=1030,Hl=1031,k0=1032,ql=1033,Xl=33776,Yl=33777,Jl=33778,Zl=33779,Kl=35840,jl=35841,Ql=35842,$l=35843,tc=36196,ec=37492,ic=37496,sc=37808,nc=37809,rc=37810,ac=37811,oc=37812,hc=37813,lc=37814,cc=37815,uc=37816,dc=37817,fc=37818,pc=37819,mc=37820,gc=37821,yc=36492,xc=36494,bc=36495,vc=36283,wc=36284,_c=36285,Mc=36286,Sc=2200,Ac=2201,Tc=2202,Mn=2300,Or=2301,Xn=2302,zi=2400,Bi=2401,Sn=2402,Qr=2500,Ih=2501,E0=0,R0=1,L0=2,Ic=3200,O0=3201,N0=3202,D0=3203,Ni=0,U0=1,Ch="",$t="srgb",Va="srgb-linear",Ga="linear",Yn="srgb",V0=0,li=7680,G0=7681,W0=7682,H0=7683,q0=34055,X0=34056,Y0=5386,J0=512,Z0=513,K0=514,j0=515,Q0=516,$0=517,tg=518,Wa=519,eg=512,ig=513,sg=514,ng=515,rg=516,ag=517,og=518,hg=519,An=35044,lg=35048,cg=35040,ug=35045,dg=35049,fg=35041,pg=35046,mg=35050,gg=35042,yg="100",xg="300 es",Te=2e3,Tn=2001;class We{addEventListener(t,e){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[t]===void 0&&(i[t]=[]),i[t].indexOf(e)===-1&&i[t].push(e)}hasEventListener(t,e){if(this._listeners===void 0)return!1;const i=this._listeners;return i[t]!==void 0&&i[t].indexOf(e)!==-1}removeEventListener(t,e){if(this._listeners===void 0)return;const s=this._listeners[t];if(s!==void 0){const n=s.indexOf(e);n!==-1&&s.splice(n,1)}}dispatchEvent(t){if(this._listeners===void 0)return;const i=this._listeners[t.type];if(i!==void 0){t.target=this;const s=i.slice(0);for(let n=0,r=s.length;n>8&255]+Tt[l>>16&255]+Tt[l>>24&255]+"-"+Tt[t&255]+Tt[t>>8&255]+"-"+Tt[t>>16&15|64]+Tt[t>>24&255]+"-"+Tt[e&63|128]+Tt[e>>8&255]+"-"+Tt[e>>16&255]+Tt[e>>24&255]+Tt[i&255]+Tt[i>>8&255]+Tt[i>>16&255]+Tt[i>>24&255]).toLowerCase()}function H(l,t,e){return Math.max(t,Math.min(e,l))}function $r(l,t){return(l%t+t)%t}function Cc(l,t,e,i,s){return i+(l-t)*(s-i)/(e-t)}function zc(l,t,e){return l!==t?(e-l)/(t-l):0}function ds(l,t,e){return(1-e)*l+e*t}function Bc(l,t,e,i){return ds(l,t,1-Math.exp(-e*i))}function Fc(l,t=1){return t-Math.abs($r(l,t*2)-t)}function Pc(l,t,e){return l<=t?0:l>=e?1:(l=(l-t)/(e-t),l*l*(3-2*l))}function kc(l,t,e){return l<=t?0:l>=e?1:(l=(l-t)/(e-t),l*l*l*(l*(l*6-15)+10))}function Ec(l,t){return l+Math.floor(Math.random()*(t-l+1))}function Rc(l,t){return l+Math.random()*(t-l)}function Lc(l){return l*(.5-Math.random())}function Oc(l){l!==void 0&&(Ha=l);let t=Ha+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}function Nc(l){return l*ii}function Dc(l){return l*xs}function Uc(l){return(l&l-1)===0&&l!==0}function Vc(l){return Math.pow(2,Math.ceil(Math.log(l)/Math.LN2))}function Gc(l){return Math.pow(2,Math.floor(Math.log(l)/Math.LN2))}function Wc(l,t,e,i,s){const n=Math.cos,r=Math.sin,a=n(e/2),o=r(e/2),h=n((t+i)/2),c=r((t+i)/2),u=n((t-i)/2),d=r((t-i)/2),f=n((i-t)/2),p=r((i-t)/2);switch(s){case"XYX":l.set(a*c,o*u,o*d,a*h);break;case"YZY":l.set(o*d,a*c,o*u,a*h);break;case"ZXZ":l.set(o*u,o*d,a*c,a*h);break;case"XZX":l.set(a*c,o*p,o*f,a*h);break;case"YXY":l.set(o*f,a*c,o*p,a*h);break;case"ZYZ":l.set(o*p,o*f,a*c,a*h);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+s)}}function kt(l,t){switch(t.constructor){case Float32Array:return l;case Uint32Array:return l/4294967295;case Uint16Array:return l/65535;case Uint8Array:return l/255;case Int32Array:return Math.max(l/2147483647,-1);case Int16Array:return Math.max(l/32767,-1);case Int8Array:return Math.max(l/127,-1);default:throw new Error("Invalid component type.")}}function X(l,t){switch(t.constructor){case Float32Array:return l;case Uint32Array:return Math.round(l*4294967295);case Uint16Array:return Math.round(l*65535);case Uint8Array:return Math.round(l*255);case Int32Array:return Math.round(l*2147483647);case Int16Array:return Math.round(l*32767);case Int8Array:return Math.round(l*127);default:throw new Error("Invalid component type.")}}const bg={DEG2RAD:ii,RAD2DEG:xs,generateUUID:Jt,clamp:H,euclideanModulo:$r,mapLinear:Cc,inverseLerp:zc,lerp:ds,damp:Bc,pingpong:Fc,smoothstep:Pc,smootherstep:kc,randInt:Ec,randFloat:Rc,randFloatSpread:Lc,seededRandom:Oc,degToRad:Nc,radToDeg:Dc,isPowerOfTwo:Uc,ceilPowerOfTwo:Vc,floorPowerOfTwo:Gc,setQuaternionFromProperEuler:Wc,normalize:X,denormalize:kt};class B{constructor(t=0,e=0){B.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,i=this.y,s=t.elements;return this.x=s[0]*e+s[3]*i+s[6],this.y=s[1]*e+s[4]*i+s[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=H(this.x,t.x,e.x),this.y=H(this.y,t.y,e.y),this}clampScalar(t,e){return this.x=H(this.x,t,e),this.y=H(this.y,t,e),this}clampLength(t,e){const i=this.length();return this.divideScalar(i||1).multiplyScalar(H(i,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;const i=this.dot(t)/e;return Math.acos(H(i,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,i=this.y-t.y;return e*e+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const i=Math.cos(e),s=Math.sin(e),n=this.x-t.x,r=this.y-t.y;return this.x=n*i-r*s+t.x,this.y=n*s+r*i+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class pe{constructor(t,e,i,s,n,r,a,o,h){pe.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],t!==void 0&&this.set(t,e,i,s,n,r,a,o,h)}set(t,e,i,s,n,r,a,o,h){const c=this.elements;return c[0]=t,c[1]=s,c[2]=a,c[3]=e,c[4]=n,c[5]=o,c[6]=i,c[7]=r,c[8]=h,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this}extractBasis(t,e,i){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const i=t.elements,s=e.elements,n=this.elements,r=i[0],a=i[3],o=i[6],h=i[1],c=i[4],u=i[7],d=i[2],f=i[5],p=i[8],m=s[0],g=s[3],x=s[6],y=s[1],b=s[4],v=s[7],_=s[2],M=s[5],A=s[8];return n[0]=r*m+a*y+o*_,n[3]=r*g+a*b+o*M,n[6]=r*x+a*v+o*A,n[1]=h*m+c*y+u*_,n[4]=h*g+c*b+u*M,n[7]=h*x+c*v+u*A,n[2]=d*m+f*y+p*_,n[5]=d*g+f*b+p*M,n[8]=d*x+f*v+p*A,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],i=t[1],s=t[2],n=t[3],r=t[4],a=t[5],o=t[6],h=t[7],c=t[8];return e*r*c-e*a*h-i*n*c+i*a*o+s*n*h-s*r*o}invert(){const t=this.elements,e=t[0],i=t[1],s=t[2],n=t[3],r=t[4],a=t[5],o=t[6],h=t[7],c=t[8],u=c*r-a*h,d=a*o-c*n,f=h*n-r*o,p=e*u+i*d+s*f;if(p===0)return this.set(0,0,0,0,0,0,0,0,0);const m=1/p;return t[0]=u*m,t[1]=(s*h-c*i)*m,t[2]=(a*i-s*r)*m,t[3]=d*m,t[4]=(c*e-s*o)*m,t[5]=(s*n-a*e)*m,t[6]=f*m,t[7]=(i*o-h*e)*m,t[8]=(r*e-i*n)*m,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,i,s,n,r,a){const o=Math.cos(n),h=Math.sin(n);return this.set(i*o,i*h,-i*(o*r+h*a)+r+t,-s*h,s*o,-s*(-h*r+o*a)+a+e,0,0,1),this}scale(t,e){return this.premultiply(Jn.makeScale(t,e)),this}rotate(t){return this.premultiply(Jn.makeRotation(-t)),this}translate(t,e){return this.premultiply(Jn.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){const e=Math.cos(t),i=Math.sin(t);return this.set(e,-i,0,i,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){const e=this.elements,i=t.elements;for(let s=0;s<9;s++)if(e[s]!==i[s])return!1;return!0}fromArray(t,e=0){for(let i=0;i<9;i++)this.elements[i]=t[i+e];return this}toArray(t=[],e=0){const i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t}clone(){return new this.constructor().fromArray(this.elements)}}const Jn=new pe;function Hc(l){for(let t=l.length-1;t>=0;--t)if(l[t]>=65535)return!0;return!1}const qc={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Fi(l,t){return new qc[l](t)}function In(l){return document.createElementNS("http://www.w3.org/1999/xhtml",l)}function vg(){const l=In("canvas");return l.style.display="block",l}const qa={};function wg(l){l in qa||(qa[l]=!0,console.warn(l))}function _g(l,t,e){return new Promise(function(i,s){function n(){switch(l.clientWaitSync(t,l.SYNC_FLUSH_COMMANDS_BIT,0)){case l.WAIT_FAILED:s();break;case l.TIMEOUT_EXPIRED:setTimeout(n,e);break;default:i()}}setTimeout(n,e)})}function Mg(l){const t=l.elements;t[2]=.5*t[2]+.5*t[3],t[6]=.5*t[6]+.5*t[7],t[10]=.5*t[10]+.5*t[11],t[14]=.5*t[14]+.5*t[15]}function Sg(l){const t=l.elements;t[11]===-1?(t[10]=-t[10]-1,t[14]=-t[14]):(t[10]=-t[10],t[14]=-t[14]+1)}const Xa=new pe().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),Ya=new pe().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function Xc(){const l={enabled:!0,workingColorSpace:Va,spaces:{},convert:function(s,n,r){return this.enabled===!1||n===r||!n||!r||(this.spaces[n].transfer===Yn&&(s.r=Ie(s.r),s.g=Ie(s.g),s.b=Ie(s.b)),this.spaces[n].primaries!==this.spaces[r].primaries&&(s.applyMatrix3(this.spaces[n].toXYZ),s.applyMatrix3(this.spaces[r].fromXYZ)),this.spaces[r].transfer===Yn&&(s.r=Ei(s.r),s.g=Ei(s.g),s.b=Ei(s.b))),s},fromWorkingColorSpace:function(s,n){return this.convert(s,this.workingColorSpace,n)},toWorkingColorSpace:function(s,n){return this.convert(s,n,this.workingColorSpace)},getPrimaries:function(s){return this.spaces[s].primaries},getTransfer:function(s){return s===Ch?Ga:this.spaces[s].transfer},getLuminanceCoefficients:function(s,n=this.workingColorSpace){return s.fromArray(this.spaces[n].luminanceCoefficients)},define:function(s){Object.assign(this.spaces,s)},_getMatrix:function(s,n,r){return s.copy(this.spaces[n].toXYZ).multiply(this.spaces[r].fromXYZ)},_getDrawingBufferColorSpace:function(s){return this.spaces[s].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(s=this.workingColorSpace){return this.spaces[s].workingColorSpaceConfig.unpackColorSpace}},t=[.64,.33,.3,.6,.15,.06],e=[.2126,.7152,.0722],i=[.3127,.329];return l.define({[Va]:{primaries:t,whitePoint:i,transfer:Ga,toXYZ:Xa,fromXYZ:Ya,luminanceCoefficients:e,workingColorSpaceConfig:{unpackColorSpace:$t},outputColorSpaceConfig:{drawingBufferColorSpace:$t}},[$t]:{primaries:t,whitePoint:i,transfer:Yn,toXYZ:Xa,fromXYZ:Ya,luminanceCoefficients:e,outputColorSpaceConfig:{drawingBufferColorSpace:$t}}}),l}const qt=Xc();function Ie(l){return l<.04045?l*.0773993808:Math.pow(l*.9478672986+.0521327014,2.4)}function Ei(l){return l<.0031308?l*12.92:1.055*Math.pow(l,.41666)-.055}let ci;class Yc{static getDataURL(t){if(/^data:/i.test(t.src)||typeof HTMLCanvasElement>"u")return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{ci===void 0&&(ci=In("canvas")),ci.width=t.width,ci.height=t.height;const i=ci.getContext("2d");t instanceof ImageData?i.putImageData(t,0,0):i.drawImage(t,0,0,t.width,t.height),e=ci}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}static sRGBToLinear(t){if(typeof HTMLImageElement<"u"&&t instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap){const e=In("canvas");e.width=t.width,e.height=t.height;const i=e.getContext("2d");i.drawImage(t,0,0,t.width,t.height);const s=i.getImageData(0,0,t.width,t.height),n=s.data;for(let r=0;r0&&(i.userData=this.userData),e||(t.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(this.mapping!==Zr)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case Rr:t.x=t.x-Math.floor(t.x);break;case ue:t.x=t.x<0?0:1;break;case Lr:Math.abs(Math.floor(t.x)%2)===1?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x);break}if(t.y<0||t.y>1)switch(this.wrapT){case Rr:t.y=t.y-Math.floor(t.y);break;case ue:t.y=t.y<0?0:1;break;case Lr:Math.abs(Math.floor(t.y)%2)===1?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y);break}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){t===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(t){t===!0&&this.pmremVersion++}}gt.DEFAULT_IMAGE=null;gt.DEFAULT_MAPPING=Zr;gt.DEFAULT_ANISOTROPY=1;class St{constructor(t=0,e=0,i=0,s=1){St.prototype.isVector4=!0,this.x=t,this.y=e,this.z=i,this.w=s}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,i,s){return this.x=t,this.y=e,this.z=i,this.w=s,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w!==void 0?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,i=this.y,s=this.z,n=this.w,r=t.elements;return this.x=r[0]*e+r[4]*i+r[8]*s+r[12]*n,this.y=r[1]*e+r[5]*i+r[9]*s+r[13]*n,this.z=r[2]*e+r[6]*i+r[10]*s+r[14]*n,this.w=r[3]*e+r[7]*i+r[11]*s+r[15]*n,this}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,i,s,n;const o=t.elements,h=o[0],c=o[4],u=o[8],d=o[1],f=o[5],p=o[9],m=o[2],g=o[6],x=o[10];if(Math.abs(c-d)<.01&&Math.abs(u-m)<.01&&Math.abs(p-g)<.01){if(Math.abs(c+d)<.1&&Math.abs(u+m)<.1&&Math.abs(p+g)<.1&&Math.abs(h+f+x-3)<.1)return this.set(1,0,0,0),this;e=Math.PI;const b=(h+1)/2,v=(f+1)/2,_=(x+1)/2,M=(c+d)/4,A=(u+m)/4,S=(p+g)/4;return b>v&&b>_?b<.01?(i=0,s=.707106781,n=.707106781):(i=Math.sqrt(b),s=M/i,n=A/i):v>_?v<.01?(i=.707106781,s=0,n=.707106781):(s=Math.sqrt(v),i=M/s,n=S/s):_<.01?(i=.707106781,s=.707106781,n=0):(n=Math.sqrt(_),i=A/n,s=S/n),this.set(i,s,n,e),this}let y=Math.sqrt((g-p)*(g-p)+(u-m)*(u-m)+(d-c)*(d-c));return Math.abs(y)<.001&&(y=1),this.x=(g-p)/y,this.y=(u-m)/y,this.z=(d-c)/y,this.w=Math.acos((h+f+x-1)/2),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this.w=e[15],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this}clamp(t,e){return this.x=H(this.x,t.x,e.x),this.y=H(this.y,t.y,e.y),this.z=H(this.z,t.z,e.z),this.w=H(this.w,t.w,e.w),this}clampScalar(t,e){return this.x=H(this.x,t,e),this.y=H(this.y,t,e),this.z=H(this.z,t,e),this.w=H(this.w,t,e),this}clampLength(t,e){const i=this.length();return this.divideScalar(i||1).multiplyScalar(H(i,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this}lerpVectors(t,e,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,this.z=t.z+(e.z-t.z)*i,this.w=t.w+(e.w-t.w)*i,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class ta extends We{constructor(t=1,e=1,i={}){super(),this.isRenderTarget=!0,this.width=t,this.height=e,this.depth=1,this.scissor=new St(0,0,t,e),this.scissorTest=!1,this.viewport=new St(0,0,t,e);const s={width:t,height:e,depth:1};i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:ee,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},i);const n=new gt(s,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace);n.flipY=!1,n.generateMipmaps=i.generateMipmaps,n.internalFormat=i.internalFormat,this.textures=[];const r=i.count;for(let a=0;a=0?1:-1,b=1-x*x;if(b>Number.EPSILON){const _=Math.sqrt(b),M=Math.atan2(_,x*y);g=Math.sin(g*M)/_,a=Math.sin(a*M)/_}const v=a*y;if(o=o*g+d*v,h=h*g+f*v,c=c*g+p*v,u=u*g+m*v,g===1-a){const _=1/Math.sqrt(o*o+h*h+c*c+u*u);o*=_,h*=_,c*=_,u*=_}}t[e]=o,t[e+1]=h,t[e+2]=c,t[e+3]=u}static multiplyQuaternionsFlat(t,e,i,s,n,r){const a=i[s],o=i[s+1],h=i[s+2],c=i[s+3],u=n[r],d=n[r+1],f=n[r+2],p=n[r+3];return t[e]=a*p+c*u+o*f-h*d,t[e+1]=o*p+c*d+h*u-a*f,t[e+2]=h*p+c*f+a*d-o*u,t[e+3]=c*p-a*u-o*d-h*f,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,i,s){return this._x=t,this._y=e,this._z=i,this._w=s,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){const i=t._x,s=t._y,n=t._z,r=t._order,a=Math.cos,o=Math.sin,h=a(i/2),c=a(s/2),u=a(n/2),d=o(i/2),f=o(s/2),p=o(n/2);switch(r){case"XYZ":this._x=d*c*u+h*f*p,this._y=h*f*u-d*c*p,this._z=h*c*p+d*f*u,this._w=h*c*u-d*f*p;break;case"YXZ":this._x=d*c*u+h*f*p,this._y=h*f*u-d*c*p,this._z=h*c*p-d*f*u,this._w=h*c*u+d*f*p;break;case"ZXY":this._x=d*c*u-h*f*p,this._y=h*f*u+d*c*p,this._z=h*c*p+d*f*u,this._w=h*c*u-d*f*p;break;case"ZYX":this._x=d*c*u-h*f*p,this._y=h*f*u+d*c*p,this._z=h*c*p-d*f*u,this._w=h*c*u+d*f*p;break;case"YZX":this._x=d*c*u+h*f*p,this._y=h*f*u+d*c*p,this._z=h*c*p-d*f*u,this._w=h*c*u-d*f*p;break;case"XZY":this._x=d*c*u-h*f*p,this._y=h*f*u-d*c*p,this._z=h*c*p+d*f*u,this._w=h*c*u+d*f*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+r)}return e===!0&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const i=e/2,s=Math.sin(i);return this._x=t.x*s,this._y=t.y*s,this._z=t.z*s,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,i=e[0],s=e[4],n=e[8],r=e[1],a=e[5],o=e[9],h=e[2],c=e[6],u=e[10],d=i+a+u;if(d>0){const f=.5/Math.sqrt(d+1);this._w=.25/f,this._x=(c-o)*f,this._y=(n-h)*f,this._z=(r-s)*f}else if(i>a&&i>u){const f=2*Math.sqrt(1+i-a-u);this._w=(c-o)/f,this._x=.25*f,this._y=(s+r)/f,this._z=(n+h)/f}else if(a>u){const f=2*Math.sqrt(1+a-i-u);this._w=(n-h)/f,this._x=(s+r)/f,this._y=.25*f,this._z=(o+c)/f}else{const f=2*Math.sqrt(1+u-i-a);this._w=(r-s)/f,this._x=(n+h)/f,this._y=(o+c)/f,this._z=.25*f}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let i=t.dot(e)+1;return iMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=i):(this._x=0,this._y=-t.z,this._z=t.y,this._w=i)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=i),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(H(this.dot(t),-1,1)))}rotateTowards(t,e){const i=this.angleTo(t);if(i===0)return this;const s=Math.min(1,e/i);return this.slerp(t,s),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return t===0?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const i=t._x,s=t._y,n=t._z,r=t._w,a=e._x,o=e._y,h=e._z,c=e._w;return this._x=i*c+r*a+s*h-n*o,this._y=s*c+r*o+n*a-i*h,this._z=n*c+r*h+i*o-s*a,this._w=r*c-i*a-s*o-n*h,this._onChangeCallback(),this}slerp(t,e){if(e===0)return this;if(e===1)return this.copy(t);const i=this._x,s=this._y,n=this._z,r=this._w;let a=r*t._w+i*t._x+s*t._y+n*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=r,this._x=i,this._y=s,this._z=n,this;const o=1-a*a;if(o<=Number.EPSILON){const f=1-e;return this._w=f*r+e*this._w,this._x=f*i+e*this._x,this._y=f*s+e*this._y,this._z=f*n+e*this._z,this.normalize(),this}const h=Math.sqrt(o),c=Math.atan2(h,a),u=Math.sin((1-e)*c)/h,d=Math.sin(e*c)/h;return this._w=r*u+this._w*d,this._x=i*u+this._x*d,this._y=s*u+this._y*d,this._z=n*u+this._z*d,this._onChangeCallback(),this}slerpQuaternions(t,e,i){return this.copy(t).slerp(e,i)}random(){const t=2*Math.PI*Math.random(),e=2*Math.PI*Math.random(),i=Math.random(),s=Math.sqrt(1-i),n=Math.sqrt(i);return this.set(s*Math.sin(t),s*Math.cos(t),n*Math.sin(e),n*Math.cos(e))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class w{constructor(t=0,e=0,i=0){w.prototype.isVector3=!0,this.x=t,this.y=e,this.z=i}set(t,e,i){return i===void 0&&(i=this.z),this.x=t,this.y=e,this.z=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(Ja.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(Ja.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,i=this.y,s=this.z,n=t.elements;return this.x=n[0]*e+n[3]*i+n[6]*s,this.y=n[1]*e+n[4]*i+n[7]*s,this.z=n[2]*e+n[5]*i+n[8]*s,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,i=this.y,s=this.z,n=t.elements,r=1/(n[3]*e+n[7]*i+n[11]*s+n[15]);return this.x=(n[0]*e+n[4]*i+n[8]*s+n[12])*r,this.y=(n[1]*e+n[5]*i+n[9]*s+n[13])*r,this.z=(n[2]*e+n[6]*i+n[10]*s+n[14])*r,this}applyQuaternion(t){const e=this.x,i=this.y,s=this.z,n=t.x,r=t.y,a=t.z,o=t.w,h=2*(r*s-a*i),c=2*(a*e-n*s),u=2*(n*i-r*e);return this.x=e+o*h+r*u-a*c,this.y=i+o*c+a*h-n*u,this.z=s+o*u+n*c-r*h,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,i=this.y,s=this.z,n=t.elements;return this.x=n[0]*e+n[4]*i+n[8]*s,this.y=n[1]*e+n[5]*i+n[9]*s,this.z=n[2]*e+n[6]*i+n[10]*s,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=H(this.x,t.x,e.x),this.y=H(this.y,t.y,e.y),this.z=H(this.z,t.z,e.z),this}clampScalar(t,e){return this.x=H(this.x,t,e),this.y=H(this.y,t,e),this.z=H(this.z,t,e),this}clampLength(t,e){const i=this.length();return this.divideScalar(i||1).multiplyScalar(H(i,t,e))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,i){return this.x=t.x+(e.x-t.x)*i,this.y=t.y+(e.y-t.y)*i,this.z=t.z+(e.z-t.z)*i,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const i=t.x,s=t.y,n=t.z,r=e.x,a=e.y,o=e.z;return this.x=s*o-n*a,this.y=n*r-i*o,this.z=i*a-s*r,this}projectOnVector(t){const e=t.lengthSq();if(e===0)return this.set(0,0,0);const i=t.dot(this)/e;return this.copy(t).multiplyScalar(i)}projectOnPlane(t){return Kn.copy(this).projectOnVector(t),this.sub(Kn)}reflect(t){return this.sub(Kn.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(e===0)return Math.PI/2;const i=this.dot(t)/e;return Math.acos(H(i,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,i=this.y-t.y,s=this.z-t.z;return e*e+i*i+s*s}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,i){const s=Math.sin(e)*t;return this.x=s*Math.sin(i),this.y=Math.cos(e)*t,this.z=s*Math.cos(i),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,i){return this.x=t*Math.sin(e),this.y=i,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),i=this.setFromMatrixColumn(t,1).length(),s=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=i,this.z=s,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,e*4)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,e*3)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=Math.random()*Math.PI*2,e=Math.random()*2-1,i=Math.sqrt(1-e*e);return this.x=i*Math.cos(t),this.y=e,this.z=i*Math.sin(t),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Kn=new w,Ja=new Zt;class Ut{constructor(t=new w(1/0,1/0,1/0),e=new w(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,i=t.length;e=this.min.x&&t.x<=this.max.x&&t.y>=this.min.y&&t.y<=this.max.y&&t.z>=this.min.z&&t.z<=this.max.z}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return t.max.x>=this.min.x&&t.min.x<=this.max.x&&t.max.y>=this.min.y&&t.min.y<=this.max.y&&t.max.z>=this.min.z&&t.min.z<=this.max.z}intersectsSphere(t){return this.clampPoint(t.center,ne),ne.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,i;return t.normal.x>0?(e=t.normal.x*this.min.x,i=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,i=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,i+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,i+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,i+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,i+=t.normal.z*this.min.z),e<=-t.constant&&i>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(Hi),Fs.subVectors(this.max,Hi),ui.subVectors(t.a,Hi),di.subVectors(t.b,Hi),fi.subVectors(t.c,Hi),Ee.subVectors(di,ui),Re.subVectors(fi,di),He.subVectors(ui,fi);let e=[0,-Ee.z,Ee.y,0,-Re.z,Re.y,0,-He.z,He.y,Ee.z,0,-Ee.x,Re.z,0,-Re.x,He.z,0,-He.x,-Ee.y,Ee.x,0,-Re.y,Re.x,0,-He.y,He.x,0];return!jn(e,ui,di,fi,Fs)||(e=[1,0,0,0,1,0,0,0,1],!jn(e,ui,di,fi,Fs))?!1:(Ps.crossVectors(Ee,Re),e=[Ps.x,Ps.y,Ps.z],jn(e,ui,di,fi,Fs))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,ne).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=this.getSize(ne).length()*.5),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()?this:(be[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),be[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),be[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),be[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),be[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),be[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),be[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),be[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(be),this)}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const be=[new w,new w,new w,new w,new w,new w,new w,new w],ne=new w,Bs=new Ut,ui=new w,di=new w,fi=new w,Ee=new w,Re=new w,He=new w,Hi=new w,Fs=new w,Ps=new w,qe=new w;function jn(l,t,e,i,s){for(let n=0,r=l.length-3;n<=r;n+=3){qe.fromArray(l,n);const a=s.x*Math.abs(qe.x)+s.y*Math.abs(qe.y)+s.z*Math.abs(qe.z),o=t.dot(qe),h=e.dot(qe),c=i.dot(qe);if(Math.max(-Math.max(o,h,c),Math.min(o,h,c))>a)return!1}return!0}const Kc=new Ut,qi=new w,Qn=new w;class Et{constructor(t=new w,e=-1){this.isSphere=!0,this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const i=this.center;e!==void 0?i.copy(e):Kc.setFromPoints(t).getCenter(i);let s=0;for(let n=0,r=t.length;nthis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;qi.subVectors(t,this.center);const e=qi.lengthSq();if(e>this.radius*this.radius){const i=Math.sqrt(e),s=(i-this.radius)*.5;this.center.addScaledVector(qi,s/i),this.radius+=s}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(this.center.equals(t.center)===!0?this.radius=Math.max(this.radius,t.radius):(Qn.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint(qi.copy(t.center).add(Qn)),this.expandByPoint(qi.copy(t.center).sub(Qn))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return new this.constructor().copy(this)}}const ve=new w,$n=new w,ks=new w,Le=new w,tr=new w,Es=new w,er=new w;class As{constructor(t=new w,e=new w(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,ve)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const i=e.dot(this.direction);return i<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=ve.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(ve.copy(this.origin).addScaledVector(this.direction,e),ve.distanceToSquared(t))}distanceSqToSegment(t,e,i,s){$n.copy(t).add(e).multiplyScalar(.5),ks.copy(e).sub(t).normalize(),Le.copy(this.origin).sub($n);const n=t.distanceTo(e)*.5,r=-this.direction.dot(ks),a=Le.dot(this.direction),o=-Le.dot(ks),h=Le.lengthSq(),c=Math.abs(1-r*r);let u,d,f,p;if(c>0)if(u=r*o-a,d=r*a-o,p=n*c,u>=0)if(d>=-p)if(d<=p){const m=1/c;u*=m,d*=m,f=u*(u+r*d+2*a)+d*(r*u+d+2*o)+h}else d=n,u=Math.max(0,-(r*d+a)),f=-u*u+d*(d+2*o)+h;else d=-n,u=Math.max(0,-(r*d+a)),f=-u*u+d*(d+2*o)+h;else d<=-p?(u=Math.max(0,-(-r*n+a)),d=u>0?-n:Math.min(Math.max(-n,-o),n),f=-u*u+d*(d+2*o)+h):d<=p?(u=0,d=Math.min(Math.max(-n,-o),n),f=d*(d+2*o)+h):(u=Math.max(0,-(r*n+a)),d=u>0?n:Math.min(Math.max(-n,-o),n),f=-u*u+d*(d+2*o)+h);else d=r>0?-n:n,u=Math.max(0,-(r*d+a)),f=-u*u+d*(d+2*o)+h;return i&&i.copy(this.origin).addScaledVector(this.direction,u),s&&s.copy($n).addScaledVector(ks,d),f}intersectSphere(t,e){ve.subVectors(t.center,this.origin);const i=ve.dot(this.direction),s=ve.dot(ve)-i*i,n=t.radius*t.radius;if(s>n)return null;const r=Math.sqrt(n-s),a=i-r,o=i+r;return o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(e===0)return t.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(t.normal)+t.constant)/e;return i>=0?i:null}intersectPlane(t,e){const i=this.distanceToPlane(t);return i===null?null:this.at(i,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);return e===0||t.normal.dot(this.direction)*e<0}intersectBox(t,e){let i,s,n,r,a,o;const h=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,d=this.origin;return h>=0?(i=(t.min.x-d.x)*h,s=(t.max.x-d.x)*h):(i=(t.max.x-d.x)*h,s=(t.min.x-d.x)*h),c>=0?(n=(t.min.y-d.y)*c,r=(t.max.y-d.y)*c):(n=(t.max.y-d.y)*c,r=(t.min.y-d.y)*c),i>r||n>s||((n>i||isNaN(i))&&(i=n),(r=0?(a=(t.min.z-d.z)*u,o=(t.max.z-d.z)*u):(a=(t.max.z-d.z)*u,o=(t.min.z-d.z)*u),i>o||a>s)||((a>i||i!==i)&&(i=a),(o=0?i:s,e)}intersectsBox(t){return this.intersectBox(t,ve)!==null}intersectTriangle(t,e,i,s,n){tr.subVectors(e,t),Es.subVectors(i,t),er.crossVectors(tr,Es);let r=this.direction.dot(er),a;if(r>0){if(s)return null;a=1}else if(r<0)a=-1,r=-r;else return null;Le.subVectors(this.origin,t);const o=a*this.direction.dot(Es.crossVectors(Le,Es));if(o<0)return null;const h=a*this.direction.dot(tr.cross(Le));if(h<0||o+h>r)return null;const c=-a*Le.dot(er);return c<0?null:this.at(c/r,n)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Y{constructor(t,e,i,s,n,r,a,o,h,c,u,d,f,p,m,g){Y.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],t!==void 0&&this.set(t,e,i,s,n,r,a,o,h,c,u,d,f,p,m,g)}set(t,e,i,s,n,r,a,o,h,c,u,d,f,p,m,g){const x=this.elements;return x[0]=t,x[4]=e,x[8]=i,x[12]=s,x[1]=n,x[5]=r,x[9]=a,x[13]=o,x[2]=h,x[6]=c,x[10]=u,x[14]=d,x[3]=f,x[7]=p,x[11]=m,x[15]=g,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Y().fromArray(this.elements)}copy(t){const e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this}copyPosition(t){const e=this.elements,i=t.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,i){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(t,e,i){return this.set(t.x,e.x,i.x,0,t.y,e.y,i.y,0,t.z,e.z,i.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,i=t.elements,s=1/pi.setFromMatrixColumn(t,0).length(),n=1/pi.setFromMatrixColumn(t,1).length(),r=1/pi.setFromMatrixColumn(t,2).length();return e[0]=i[0]*s,e[1]=i[1]*s,e[2]=i[2]*s,e[3]=0,e[4]=i[4]*n,e[5]=i[5]*n,e[6]=i[6]*n,e[7]=0,e[8]=i[8]*r,e[9]=i[9]*r,e[10]=i[10]*r,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){const e=this.elements,i=t.x,s=t.y,n=t.z,r=Math.cos(i),a=Math.sin(i),o=Math.cos(s),h=Math.sin(s),c=Math.cos(n),u=Math.sin(n);if(t.order==="XYZ"){const d=r*c,f=r*u,p=a*c,m=a*u;e[0]=o*c,e[4]=-o*u,e[8]=h,e[1]=f+p*h,e[5]=d-m*h,e[9]=-a*o,e[2]=m-d*h,e[6]=p+f*h,e[10]=r*o}else if(t.order==="YXZ"){const d=o*c,f=o*u,p=h*c,m=h*u;e[0]=d+m*a,e[4]=p*a-f,e[8]=r*h,e[1]=r*u,e[5]=r*c,e[9]=-a,e[2]=f*a-p,e[6]=m+d*a,e[10]=r*o}else if(t.order==="ZXY"){const d=o*c,f=o*u,p=h*c,m=h*u;e[0]=d-m*a,e[4]=-r*u,e[8]=p+f*a,e[1]=f+p*a,e[5]=r*c,e[9]=m-d*a,e[2]=-r*h,e[6]=a,e[10]=r*o}else if(t.order==="ZYX"){const d=r*c,f=r*u,p=a*c,m=a*u;e[0]=o*c,e[4]=p*h-f,e[8]=d*h+m,e[1]=o*u,e[5]=m*h+d,e[9]=f*h-p,e[2]=-h,e[6]=a*o,e[10]=r*o}else if(t.order==="YZX"){const d=r*o,f=r*h,p=a*o,m=a*h;e[0]=o*c,e[4]=m-d*u,e[8]=p*u+f,e[1]=u,e[5]=r*c,e[9]=-a*c,e[2]=-h*c,e[6]=f*u+p,e[10]=d-m*u}else if(t.order==="XZY"){const d=r*o,f=r*h,p=a*o,m=a*h;e[0]=o*c,e[4]=-u,e[8]=h*c,e[1]=d*u+m,e[5]=r*c,e[9]=f*u-p,e[2]=p*u-f,e[6]=a*c,e[10]=m*u+d}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(jc,t,Qc)}lookAt(t,e,i){const s=this.elements;return Wt.subVectors(t,e),Wt.lengthSq()===0&&(Wt.z=1),Wt.normalize(),Oe.crossVectors(i,Wt),Oe.lengthSq()===0&&(Math.abs(i.z)===1?Wt.x+=1e-4:Wt.z+=1e-4,Wt.normalize(),Oe.crossVectors(i,Wt)),Oe.normalize(),Rs.crossVectors(Wt,Oe),s[0]=Oe.x,s[4]=Rs.x,s[8]=Wt.x,s[1]=Oe.y,s[5]=Rs.y,s[9]=Wt.y,s[2]=Oe.z,s[6]=Rs.z,s[10]=Wt.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const i=t.elements,s=e.elements,n=this.elements,r=i[0],a=i[4],o=i[8],h=i[12],c=i[1],u=i[5],d=i[9],f=i[13],p=i[2],m=i[6],g=i[10],x=i[14],y=i[3],b=i[7],v=i[11],_=i[15],M=s[0],A=s[4],S=s[8],C=s[12],z=s[1],k=s[5],U=s[9],W=s[13],R=s[2],I=s[6],N=s[10],wt=s[14],Bt=s[3],nt=s[7],ht=s[11],et=s[15];return n[0]=r*M+a*z+o*R+h*Bt,n[4]=r*A+a*k+o*I+h*nt,n[8]=r*S+a*U+o*N+h*ht,n[12]=r*C+a*W+o*wt+h*et,n[1]=c*M+u*z+d*R+f*Bt,n[5]=c*A+u*k+d*I+f*nt,n[9]=c*S+u*U+d*N+f*ht,n[13]=c*C+u*W+d*wt+f*et,n[2]=p*M+m*z+g*R+x*Bt,n[6]=p*A+m*k+g*I+x*nt,n[10]=p*S+m*U+g*N+x*ht,n[14]=p*C+m*W+g*wt+x*et,n[3]=y*M+b*z+v*R+_*Bt,n[7]=y*A+b*k+v*I+_*nt,n[11]=y*S+b*U+v*N+_*ht,n[15]=y*C+b*W+v*wt+_*et,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],i=t[4],s=t[8],n=t[12],r=t[1],a=t[5],o=t[9],h=t[13],c=t[2],u=t[6],d=t[10],f=t[14],p=t[3],m=t[7],g=t[11],x=t[15];return p*(+n*o*u-s*h*u-n*a*d+i*h*d+s*a*f-i*o*f)+m*(+e*o*f-e*h*d+n*r*d-s*r*f+s*h*c-n*o*c)+g*(+e*h*u-e*a*f-n*r*u+i*r*f+n*a*c-i*h*c)+x*(-s*a*c-e*o*u+e*a*d+s*r*u-i*r*d+i*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,i){const s=this.elements;return t.isVector3?(s[12]=t.x,s[13]=t.y,s[14]=t.z):(s[12]=t,s[13]=e,s[14]=i),this}invert(){const t=this.elements,e=t[0],i=t[1],s=t[2],n=t[3],r=t[4],a=t[5],o=t[6],h=t[7],c=t[8],u=t[9],d=t[10],f=t[11],p=t[12],m=t[13],g=t[14],x=t[15],y=u*g*h-m*d*h+m*o*f-a*g*f-u*o*x+a*d*x,b=p*d*h-c*g*h-p*o*f+r*g*f+c*o*x-r*d*x,v=c*m*h-p*u*h+p*a*f-r*m*f-c*a*x+r*u*x,_=p*u*o-c*m*o-p*a*d+r*m*d+c*a*g-r*u*g,M=e*y+i*b+s*v+n*_;if(M===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const A=1/M;return t[0]=y*A,t[1]=(m*d*n-u*g*n-m*s*f+i*g*f+u*s*x-i*d*x)*A,t[2]=(a*g*n-m*o*n+m*s*h-i*g*h-a*s*x+i*o*x)*A,t[3]=(u*o*n-a*d*n-u*s*h+i*d*h+a*s*f-i*o*f)*A,t[4]=b*A,t[5]=(c*g*n-p*d*n+p*s*f-e*g*f-c*s*x+e*d*x)*A,t[6]=(p*o*n-r*g*n-p*s*h+e*g*h+r*s*x-e*o*x)*A,t[7]=(r*d*n-c*o*n+c*s*h-e*d*h-r*s*f+e*o*f)*A,t[8]=v*A,t[9]=(p*u*n-c*m*n-p*i*f+e*m*f+c*i*x-e*u*x)*A,t[10]=(r*m*n-p*a*n+p*i*h-e*m*h-r*i*x+e*a*x)*A,t[11]=(c*a*n-r*u*n-c*i*h+e*u*h+r*i*f-e*a*f)*A,t[12]=_*A,t[13]=(c*m*s-p*u*s+p*i*d-e*m*d-c*i*g+e*u*g)*A,t[14]=(p*a*s-r*m*s-p*i*o+e*m*o+r*i*g-e*a*g)*A,t[15]=(r*u*s-c*a*s+c*i*o-e*u*o-r*i*d+e*a*d)*A,this}scale(t){const e=this.elements,i=t.x,s=t.y,n=t.z;return e[0]*=i,e[4]*=s,e[8]*=n,e[1]*=i,e[5]*=s,e[9]*=n,e[2]*=i,e[6]*=s,e[10]*=n,e[3]*=i,e[7]*=s,e[11]*=n,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],i=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],s=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,i,s))}makeTranslation(t,e,i){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,i,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),i=Math.sin(t);return this.set(1,0,0,0,0,e,-i,0,0,i,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),i=Math.sin(t);return this.set(e,0,i,0,0,1,0,0,-i,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),i=Math.sin(t);return this.set(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const i=Math.cos(e),s=Math.sin(e),n=1-i,r=t.x,a=t.y,o=t.z,h=n*r,c=n*a;return this.set(h*r+i,h*a-s*o,h*o+s*a,0,h*a+s*o,c*a+i,c*o-s*r,0,h*o-s*a,c*o+s*r,n*o*o+i,0,0,0,0,1),this}makeScale(t,e,i){return this.set(t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1),this}makeShear(t,e,i,s,n,r){return this.set(1,i,n,0,t,1,r,0,e,s,1,0,0,0,0,1),this}compose(t,e,i){const s=this.elements,n=e._x,r=e._y,a=e._z,o=e._w,h=n+n,c=r+r,u=a+a,d=n*h,f=n*c,p=n*u,m=r*c,g=r*u,x=a*u,y=o*h,b=o*c,v=o*u,_=i.x,M=i.y,A=i.z;return s[0]=(1-(m+x))*_,s[1]=(f+v)*_,s[2]=(p-b)*_,s[3]=0,s[4]=(f-v)*M,s[5]=(1-(d+x))*M,s[6]=(g+y)*M,s[7]=0,s[8]=(p+b)*A,s[9]=(g-y)*A,s[10]=(1-(d+m))*A,s[11]=0,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=1,this}decompose(t,e,i){const s=this.elements;let n=pi.set(s[0],s[1],s[2]).length();const r=pi.set(s[4],s[5],s[6]).length(),a=pi.set(s[8],s[9],s[10]).length();this.determinant()<0&&(n=-n),t.x=s[12],t.y=s[13],t.z=s[14],re.copy(this);const h=1/n,c=1/r,u=1/a;return re.elements[0]*=h,re.elements[1]*=h,re.elements[2]*=h,re.elements[4]*=c,re.elements[5]*=c,re.elements[6]*=c,re.elements[8]*=u,re.elements[9]*=u,re.elements[10]*=u,e.setFromRotationMatrix(re),i.x=n,i.y=r,i.z=a,this}makePerspective(t,e,i,s,n,r,a=Te){const o=this.elements,h=2*n/(e-t),c=2*n/(i-s),u=(e+t)/(e-t),d=(i+s)/(i-s);let f,p;if(a===Te)f=-(r+n)/(r-n),p=-2*r*n/(r-n);else if(a===Tn)f=-r/(r-n),p=-r*n/(r-n);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return o[0]=h,o[4]=0,o[8]=u,o[12]=0,o[1]=0,o[5]=c,o[9]=d,o[13]=0,o[2]=0,o[6]=0,o[10]=f,o[14]=p,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this}makeOrthographic(t,e,i,s,n,r,a=Te){const o=this.elements,h=1/(e-t),c=1/(i-s),u=1/(r-n),d=(e+t)*h,f=(i+s)*c;let p,m;if(a===Te)p=(r+n)*u,m=-2*u;else if(a===Tn)p=n*u,m=-1*u;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return o[0]=2*h,o[4]=0,o[8]=0,o[12]=-d,o[1]=0,o[5]=2*c,o[9]=0,o[13]=-f,o[2]=0,o[6]=0,o[10]=m,o[14]=-p,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this}equals(t){const e=this.elements,i=t.elements;for(let s=0;s<16;s++)if(e[s]!==i[s])return!1;return!0}fromArray(t,e=0){for(let i=0;i<16;i++)this.elements[i]=t[i+e];return this}toArray(t=[],e=0){const i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t[e+9]=i[9],t[e+10]=i[10],t[e+11]=i[11],t[e+12]=i[12],t[e+13]=i[13],t[e+14]=i[14],t[e+15]=i[15],t}}const pi=new w,re=new Y,jc=new w(0,0,0),Qc=new w(1,1,1),Oe=new w,Rs=new w,Wt=new w,Za=new Y,Ka=new Zt;class fe{constructor(t=0,e=0,i=0,s=fe.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=i,this._order=s}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,i,s=this._order){return this._x=t,this._y=e,this._z=i,this._order=s,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,i=!0){const s=t.elements,n=s[0],r=s[4],a=s[8],o=s[1],h=s[5],c=s[9],u=s[2],d=s[6],f=s[10];switch(e){case"XYZ":this._y=Math.asin(H(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,f),this._z=Math.atan2(-r,n)):(this._x=Math.atan2(d,h),this._z=0);break;case"YXZ":this._x=Math.asin(-H(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(a,f),this._z=Math.atan2(o,h)):(this._y=Math.atan2(-u,n),this._z=0);break;case"ZXY":this._x=Math.asin(H(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,f),this._z=Math.atan2(-r,h)):(this._y=0,this._z=Math.atan2(o,n));break;case"ZYX":this._y=Math.asin(-H(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,f),this._z=Math.atan2(o,n)):(this._x=0,this._z=Math.atan2(-r,h));break;case"YZX":this._z=Math.asin(H(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,h),this._y=Math.atan2(-u,n)):(this._x=0,this._y=Math.atan2(a,f));break;case"XZY":this._z=Math.asin(-H(r,-1,1)),Math.abs(r)<.9999999?(this._x=Math.atan2(d,h),this._y=Math.atan2(a,n)):(this._x=Math.atan2(-c,f),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,i===!0&&this._onChangeCallback(),this}setFromQuaternion(t,e,i){return Za.makeRotationFromQuaternion(t),this.setFromRotationMatrix(Za,e,i)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return Ka.setFromEuler(this),this.setFromQuaternion(Ka,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],t[3]!==void 0&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}fe.DEFAULT_ORDER="XYZ";class Fh{constructor(){this.mask=1}set(t){this.mask=(1<>>0}enable(t){this.mask|=1<1){for(let e=0;e1){for(let i=0;i0&&(s.userData=this.userData),s.layers=this.layers.mask,s.matrix=this.matrix.toArray(),s.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(s.matrixAutoUpdate=!1),this.isInstancedMesh&&(s.type="InstancedMesh",s.count=this.count,s.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(s.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(s.type="BatchedMesh",s.perObjectFrustumCulled=this.perObjectFrustumCulled,s.sortObjects=this.sortObjects,s.drawRanges=this._drawRanges,s.reservedRanges=this._reservedRanges,s.visibility=this._visibility,s.active=this._active,s.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),s.maxInstanceCount=this._maxInstanceCount,s.maxVertexCount=this._maxVertexCount,s.maxIndexCount=this._maxIndexCount,s.geometryInitialized=this._geometryInitialized,s.geometryCount=this._geometryCount,s.matricesTexture=this._matricesTexture.toJSON(t),this._colorsTexture!==null&&(s.colorsTexture=this._colorsTexture.toJSON(t)),this.boundingSphere!==null&&(s.boundingSphere={center:s.boundingSphere.center.toArray(),radius:s.boundingSphere.radius}),this.boundingBox!==null&&(s.boundingBox={min:s.boundingBox.min.toArray(),max:s.boundingBox.max.toArray()}));function n(a,o){return a[o.uuid]===void 0&&(a[o.uuid]=o.toJSON(t)),o.uuid}if(this.isScene)this.background&&(this.background.isColor?s.background=this.background.toJSON():this.background.isTexture&&(s.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(s.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){s.geometry=n(t.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const o=a.shapes;if(Array.isArray(o))for(let h=0,c=o.length;h0){s.children=[];for(let a=0;a0){s.animations=[];for(let a=0;a0&&(i.geometries=a),o.length>0&&(i.materials=o),h.length>0&&(i.textures=h),c.length>0&&(i.images=c),u.length>0&&(i.shapes=u),d.length>0&&(i.skeletons=d),f.length>0&&(i.animations=f),p.length>0&&(i.nodes=p)}return i.object=s,i;function r(a){const o=[];for(const h in a){const c=a[h];delete c.metadata,o.push(c)}return o}}clone(t){return new this.constructor().copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(let i=0;i0?s.multiplyScalar(1/Math.sqrt(n)):s.set(0,0,0)}static getBarycoord(t,e,i,s,n){ae.subVectors(s,e),_e.subVectors(i,e),sr.subVectors(t,e);const r=ae.dot(ae),a=ae.dot(_e),o=ae.dot(sr),h=_e.dot(_e),c=_e.dot(sr),u=r*h-a*a;if(u===0)return n.set(0,0,0),null;const d=1/u,f=(h*o-a*c)*d,p=(r*c-a*o)*d;return n.set(1-f-p,p,f)}static containsPoint(t,e,i,s){return this.getBarycoord(t,e,i,s,Me)===null?!1:Me.x>=0&&Me.y>=0&&Me.x+Me.y<=1}static getInterpolation(t,e,i,s,n,r,a,o){return this.getBarycoord(t,e,i,s,Me)===null?(o.x=0,o.y=0,"z"in o&&(o.z=0),"w"in o&&(o.w=0),null):(o.setScalar(0),o.addScaledVector(n,Me.x),o.addScaledVector(r,Me.y),o.addScaledVector(a,Me.z),o)}static getInterpolatedAttribute(t,e,i,s,n,r){return or.setScalar(0),hr.setScalar(0),lr.setScalar(0),or.fromBufferAttribute(t,e),hr.fromBufferAttribute(t,i),lr.fromBufferAttribute(t,s),r.setScalar(0),r.addScaledVector(or,n.x),r.addScaledVector(hr,n.y),r.addScaledVector(lr,n.z),r}static isFrontFacing(t,e,i,s){return ae.subVectors(i,e),_e.subVectors(t,e),ae.cross(_e).dot(s)<0}set(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this}setFromPointsAndIndices(t,e,i,s){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[s]),this}setFromAttributeAndIndices(t,e,i,s){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,i),this.c.fromBufferAttribute(t,s),this}clone(){return new this.constructor().copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return ae.subVectors(this.c,this.b),_e.subVectors(this.a,this.b),ae.cross(_e).length()*.5}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return Yt.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return Yt.getBarycoord(t,this.a,this.b,this.c,e)}getInterpolation(t,e,i,s,n){return Yt.getInterpolation(t,this.a,this.b,this.c,e,i,s,n)}containsPoint(t){return Yt.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return Yt.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const i=this.a,s=this.b,n=this.c;let r,a;yi.subVectors(s,i),xi.subVectors(n,i),nr.subVectors(t,i);const o=yi.dot(nr),h=xi.dot(nr);if(o<=0&&h<=0)return e.copy(i);rr.subVectors(t,s);const c=yi.dot(rr),u=xi.dot(rr);if(c>=0&&u<=c)return e.copy(s);const d=o*u-c*h;if(d<=0&&o>=0&&c<=0)return r=o/(o-c),e.copy(i).addScaledVector(yi,r);ar.subVectors(t,n);const f=yi.dot(ar),p=xi.dot(ar);if(p>=0&&f<=p)return e.copy(n);const m=f*h-o*p;if(m<=0&&h>=0&&p<=0)return a=h/(h-p),e.copy(i).addScaledVector(xi,a);const g=c*p-f*u;if(g<=0&&u-c>=0&&f-p>=0)return io.subVectors(n,s),a=(u-c)/(u-c+(f-p)),e.copy(s).addScaledVector(io,a);const x=1/(g+m+d);return r=m*x,a=d*x,e.copy(i).addScaledVector(yi,r).addScaledVector(xi,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const Ph={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Ne={h:0,s:0,l:0},Os={h:0,s:0,l:0};function cr(l,t,e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?l+(t-l)*6*e:e<1/2?t:e<2/3?l+(t-l)*6*(2/3-e):l}class V{constructor(t,e,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,i)}set(t,e,i){if(e===void 0&&i===void 0){const s=t;s&&s.isColor?this.copy(s):typeof s=="number"?this.setHex(s):typeof s=="string"&&this.setStyle(s)}else this.setRGB(t,e,i);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=$t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,qt.toWorkingColorSpace(this,e),this}setRGB(t,e,i,s=qt.workingColorSpace){return this.r=t,this.g=e,this.b=i,qt.toWorkingColorSpace(this,s),this}setHSL(t,e,i,s=qt.workingColorSpace){if(t=$r(t,1),e=H(e,0,1),i=H(i,0,1),e===0)this.r=this.g=this.b=i;else{const n=i<=.5?i*(1+e):i+e-i*e,r=2*i-n;this.r=cr(r,n,t+1/3),this.g=cr(r,n,t),this.b=cr(r,n,t-1/3)}return qt.toWorkingColorSpace(this,s),this}setStyle(t,e=$t){function i(n){n!==void 0&&parseFloat(n)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let s;if(s=/^(\w+)\(([^\)]*)\)/.exec(t)){let n;const r=s[1],a=s[2];switch(r){case"rgb":case"rgba":if(n=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(n[4]),this.setRGB(Math.min(255,parseInt(n[1],10))/255,Math.min(255,parseInt(n[2],10))/255,Math.min(255,parseInt(n[3],10))/255,e);if(n=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(n[4]),this.setRGB(Math.min(100,parseInt(n[1],10))/100,Math.min(100,parseInt(n[2],10))/100,Math.min(100,parseInt(n[3],10))/100,e);break;case"hsl":case"hsla":if(n=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(n[4]),this.setHSL(parseFloat(n[1])/360,parseFloat(n[2])/100,parseFloat(n[3])/100,e);break;default:console.warn("THREE.Color: Unknown color model "+t)}}else if(s=/^\#([A-Fa-f\d]+)$/.exec(t)){const n=s[1],r=n.length;if(r===3)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,e);if(r===6)return this.setHex(parseInt(n,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=$t){const i=Ph[t.toLowerCase()];return i!==void 0?this.setHex(i,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=Ie(t.r),this.g=Ie(t.g),this.b=Ie(t.b),this}copyLinearToSRGB(t){return this.r=Ei(t.r),this.g=Ei(t.g),this.b=Ei(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=$t){return qt.fromWorkingColorSpace(It.copy(this),t),Math.round(H(It.r*255,0,255))*65536+Math.round(H(It.g*255,0,255))*256+Math.round(H(It.b*255,0,255))}getHexString(t=$t){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=qt.workingColorSpace){qt.fromWorkingColorSpace(It.copy(this),e);const i=It.r,s=It.g,n=It.b,r=Math.max(i,s,n),a=Math.min(i,s,n);let o,h;const c=(a+r)/2;if(a===r)o=0,h=0;else{const u=r-a;switch(h=c<=.5?u/(r+a):u/(2-r-a),r){case i:o=(s-n)/u+(s0!=t>0&&this.version++,this._alphaTest=t}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(t!==void 0)for(const e in t){const i=t[e];if(i===void 0){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const s=this[e];if(s===void 0){console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`);continue}s&&s.isColor?s.set(i):s&&s.isVector3&&i&&i.isVector3?s.copy(i):this[e]=i}}toJSON(t){const e=t===void 0||typeof t=="string";e&&(t={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(i.dispersion=this.dispersion),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(t).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(t).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(t).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(t).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(t).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(t).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapRotation!==void 0&&(i.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(t).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(t).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(t).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==Ea&&(i.blending=this.blending),this.side!==Er&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==La&&(i.blendSrc=this.blendSrc),this.blendDst!==Oa&&(i.blendDst=this.blendDst),this.blendEquation!==Ra&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==Na&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==Wa&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==li&&(i.stencilFail=this.stencilFail),this.stencilZFail!==li&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==li&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function s(n){const r=[];for(const a in n){const o=n[a];delete o.metadata,r.push(o)}return r}if(e){const n=s(t.textures),r=s(t.images);n.length>0&&(i.textures=n),r.length>0&&(i.images=r)}return i}clone(){return new this.constructor().copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.blendColor.copy(t.blendColor),this.blendAlpha=t.blendAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let i=null;if(e!==null){const s=e.length;i=new Array(s);for(let n=0;n!==s;++n)i[n]=e[n].clone()}return this.clippingPlanes=i,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaHash=t.alphaHash,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){t===!0&&this.version++}onBuild(){console.warn("Material: onBuild() has been removed.")}}class Di extends Rt{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new V(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new fe,this.combine=Jr,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const Ae=nu();function nu(){const l=new ArrayBuffer(4),t=new Float32Array(l),e=new Uint32Array(l),i=new Uint32Array(512),s=new Uint32Array(512);for(let o=0;o<256;++o){const h=o-127;h<-27?(i[o]=0,i[o|256]=32768,s[o]=24,s[o|256]=24):h<-14?(i[o]=1024>>-h-14,i[o|256]=1024>>-h-14|32768,s[o]=-h-1,s[o|256]=-h-1):h<=15?(i[o]=h+15<<10,i[o|256]=h+15<<10|32768,s[o]=13,s[o|256]=13):h<128?(i[o]=31744,i[o|256]=64512,s[o]=24,s[o|256]=24):(i[o]=31744,i[o|256]=64512,s[o]=13,s[o|256]=13)}const n=new Uint32Array(2048),r=new Uint32Array(64),a=new Uint32Array(64);for(let o=1;o<1024;++o){let h=o<<13,c=0;for(;(h&8388608)===0;)h<<=1,c-=8388608;h&=-8388609,c+=947912704,n[o]=h|c}for(let o=1024;o<2048;++o)n[o]=939524096+(o-1024<<13);for(let o=1;o<31;++o)r[o]=o<<23;r[31]=1199570944,r[32]=2147483648;for(let o=33;o<63;++o)r[o]=2147483648+(o-32<<23);r[63]=3347054592;for(let o=1;o<64;++o)o!==32&&(a[o]=1024);return{floatView:t,uint32View:e,baseTable:i,shiftTable:s,mantissaTable:n,exponentTable:r,offsetTable:a}}function Dt(l){Math.abs(l)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),l=H(l,-65504,65504),Ae.floatView[0]=l;const t=Ae.uint32View[0],e=t>>23&511;return Ae.baseTable[e]+((t&8388607)>>Ae.shiftTable[e])}function ls(l){const t=l>>10;return Ae.uint32View[0]=Ae.mantissaTable[Ae.offsetTable[t]+(l&1023)]+Ae.exponentTable[t],Ae.floatView[0]}const Ig={toHalfFloat:Dt,fromHalfFloat:ls},yt=new w,Ns=new B;class dt{constructor(t,e,i=!1){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=t,this.itemSize=e,this.count=t!==void 0?t.length/e:0,this.normalized=i,this.usage=An,this.updateRanges=[],this.gpuType=Li,this.version=0}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this.gpuType=t.gpuType,this}copyAt(t,e,i){t*=this.itemSize,i*=e.itemSize;for(let s=0,n=this.itemSize;se.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),e.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Ut);const t=this.attributes.position,e=this.morphAttributes.position;if(t&&t.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new w(-1/0,-1/0,-1/0),new w(1/0,1/0,1/0));return}if(t!==void 0){if(this.boundingBox.setFromBufferAttribute(t),e)for(let i=0,s=e.length;i0&&(t.userData=this.userData),this.parameters!==void 0){const o=this.parameters;for(const h in o)o[h]!==void 0&&(t[h]=o[h]);return t}t.data={attributes:{}};const e=this.index;e!==null&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const i=this.attributes;for(const o in i){const h=i[o];t.data.attributes[o]=h.toJSON(t.data)}const s={};let n=!1;for(const o in this.morphAttributes){const h=this.morphAttributes[o],c=[];for(let u=0,d=h.length;u0&&(s[o]=c,n=!0)}n&&(t.data.morphAttributes=s,t.data.morphTargetsRelative=this.morphTargetsRelative);const r=this.groups;r.length>0&&(t.data.groups=JSON.parse(JSON.stringify(r)));const a=this.boundingSphere;return a!==null&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return new this.constructor().copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const i=t.index;i!==null&&this.setIndex(i.clone(e));const s=t.attributes;for(const h in s){const c=s[h];this.setAttribute(h,c.clone(e))}const n=t.morphAttributes;for(const h in n){const c=[],u=n[h];for(let d=0,f=u.length;d0){const s=e[i[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let n=0,r=s.length;n(t.far-t.near)**2))&&(so.copy(n).invert(),Xe.copy(t.ray).applyMatrix4(so),!(i.boundingBox!==null&&Xe.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(t,e,Xe)))}_computeIntersections(t,e,i){let s;const n=this.geometry,r=this.material,a=n.index,o=n.attributes.position,h=n.attributes.uv,c=n.attributes.uv1,u=n.attributes.normal,d=n.groups,f=n.drawRange;if(a!==null)if(Array.isArray(r))for(let p=0,m=d.length;pe.far?null:{distance:h,point:Hs.clone(),object:l}}function qs(l,t,e,i,s,n,r,a,o,h){l.getVertexPosition(a,Us),l.getVertexPosition(o,Vs),l.getVertexPosition(h,Gs);const c=hu(l,t,e,i,Us,Vs,Gs,ro);if(c){const u=new w;Yt.getBarycoord(ro,Us,Vs,Gs,u),s&&(c.uv=Yt.getInterpolatedAttribute(s,a,o,h,u,new B)),n&&(c.uv1=Yt.getInterpolatedAttribute(n,a,o,h,u,new B)),r&&(c.normal=Yt.getInterpolatedAttribute(r,a,o,h,u,new w),c.normal.dot(i.direction)>0&&c.normal.multiplyScalar(-1));const d={a,b:o,c:h,normal:new w,materialIndex:0};Yt.getNormal(Us,Vs,Gs,d.normal),c.face=d,c.barycoord=u}return c}class On extends Z{constructor(t=1,e=1,i=1,s=1,n=1,r=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:i,widthSegments:s,heightSegments:n,depthSegments:r};const a=this;s=Math.floor(s),n=Math.floor(n),r=Math.floor(r);const o=[],h=[],c=[],u=[];let d=0,f=0;p("z","y","x",-1,-1,i,e,t,r,n,0),p("z","y","x",1,-1,i,e,-t,r,n,1),p("x","z","y",1,1,t,i,e,s,r,2),p("x","z","y",1,-1,t,i,-e,s,r,3),p("x","y","z",1,-1,t,e,i,s,n,4),p("x","y","z",-1,-1,t,e,-i,s,n,5),this.setIndex(o),this.setAttribute("position",new O(h,3)),this.setAttribute("normal",new O(c,3)),this.setAttribute("uv",new O(u,2));function p(m,g,x,y,b,v,_,M,A,S,C){const z=v/A,k=_/S,U=v/2,W=_/2,R=M/2,I=A+1,N=S+1;let wt=0,Bt=0;const nt=new w;for(let ht=0;ht0?1:-1,c.push(nt.x,nt.y,nt.z),u.push(Lt/A),u.push(1-ht/S),wt+=1}}for(let ht=0;ht0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.lights=this.lights,e.clipping=this.clipping;const i={};for(const s in this.extensions)this.extensions[s]===!0&&(i[s]=!0);return Object.keys(i).length>0&&(e.extensions=i),e}}class sa extends tt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Y,this.projectionMatrix=new Y,this.projectionMatrixInverse=new Y,this.coordinateSystem=Te}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.coordinateSystem=t.coordinateSystem,this}getWorldDirection(t){return super.getWorldDirection(t).negate()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const De=new w,ao=new B,oo=new B;class te extends sa{constructor(t=50,e=1,i=.1,s=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=i,this.far=s,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=t.view===null?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=xs*2*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(ii*.5*this.fov);return .5*this.getFilmHeight()/t}getEffectiveFOV(){return xs*2*Math.atan(Math.tan(ii*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(t,e,i){De.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),e.set(De.x,De.y).multiplyScalar(-t/De.z),De.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),i.set(De.x,De.y).multiplyScalar(-t/De.z)}getViewSize(t,e){return this.getViewBounds(t,ao,oo),e.subVectors(oo,ao)}setViewOffset(t,e,i,s,n,r){this.aspect=t/e,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=i,this.view.offsetY=s,this.view.width=n,this.view.height=r,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(ii*.5*this.fov)/this.zoom,i=2*e,s=this.aspect*i,n=-.5*s;const r=this.view;if(this.view!==null&&this.view.enabled){const o=r.fullWidth,h=r.fullHeight;n+=r.offsetX*s/o,e-=r.offsetY*i/h,s*=r.width/o,i*=r.height/h}const a=this.filmOffset;a!==0&&(n+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(n,n+s,e,e-i,t,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,this.view!==null&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}const vi=-90,wi=1;class fu extends tt{constructor(t,e,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const s=new te(vi,wi,t,e);s.layers=this.layers,this.add(s);const n=new te(vi,wi,t,e);n.layers=this.layers,this.add(n);const r=new te(vi,wi,t,e);r.layers=this.layers,this.add(r);const a=new te(vi,wi,t,e);a.layers=this.layers,this.add(a);const o=new te(vi,wi,t,e);o.layers=this.layers,this.add(o);const h=new te(vi,wi,t,e);h.layers=this.layers,this.add(h)}updateCoordinateSystem(){const t=this.coordinateSystem,e=this.children.concat(),[i,s,n,r,a,o]=e;for(const h of e)this.remove(h);if(t===Te)i.up.set(0,1,0),i.lookAt(1,0,0),s.up.set(0,1,0),s.lookAt(-1,0,0),n.up.set(0,0,-1),n.lookAt(0,1,0),r.up.set(0,0,1),r.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),o.up.set(0,1,0),o.lookAt(0,0,-1);else if(t===Tn)i.up.set(0,-1,0),i.lookAt(-1,0,0),s.up.set(0,-1,0),s.lookAt(1,0,0),n.up.set(0,0,1),n.lookAt(0,1,0),r.up.set(0,0,-1),r.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),o.up.set(0,-1,0),o.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+t);for(const h of e)this.add(h),h.updateMatrixWorld()}update(t,e){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:s}=this;this.coordinateSystem!==t.coordinateSystem&&(this.coordinateSystem=t.coordinateSystem,this.updateCoordinateSystem());const[n,r,a,o,h,c]=this.children,u=t.getRenderTarget(),d=t.getActiveCubeFace(),f=t.getActiveMipmapLevel(),p=t.xr.enabled;t.xr.enabled=!1;const m=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,t.setRenderTarget(i,0,s),t.render(e,n),t.setRenderTarget(i,1,s),t.render(e,r),t.setRenderTarget(i,2,s),t.render(e,a),t.setRenderTarget(i,3,s),t.render(e,o),t.setRenderTarget(i,4,s),t.render(e,h),i.texture.generateMipmaps=m,t.setRenderTarget(i,5,s),t.render(e,c),t.setRenderTarget(u,d,f),t.xr.enabled=p,i.texture.needsPMREMUpdate=!0}}class na extends gt{constructor(t,e,i,s,n,r,a,o,h,c){t=t!==void 0?t:[],e=e!==void 0?e:Kr,super(t,e,i,s,n,r,a,o,h,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class Lg extends ea{constructor(t=1,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const i={width:t,height:t,depth:1},s=[i,i,i,i,i,i];this.texture=new na(s,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=e.generateMipmaps!==void 0?e.generateMipmaps:!1,this.texture.minFilter=e.minFilter!==void 0?e.minFilter:ee}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.colorSpace=e.colorSpace,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` + + varying vec3 vWorldDirection; + + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { + + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); + + } + + void main() { + + vWorldDirection = transformDirection( position, modelMatrix ); + + #include + #include + + } + `,fragmentShader:` + + uniform sampler2D tEquirect; + + varying vec3 vWorldDirection; + + #include + + void main() { + + vec3 direction = normalize( vWorldDirection ); + + vec2 sampleUV = equirectUv( direction ); + + gl_FragColor = texture2D( tEquirect, sampleUV ); + + } + `},s=new On(5,5,5),n=new ia({name:"CubemapFromEquirect",uniforms:Nn(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Mh,blending:vl});n.uniforms.tEquirect.value=e;const r=new Vt(s,n),a=e.minFilter;return e.minFilter===Ln&&(e.minFilter=ee),new fu(1,10,this).update(t,r),e.minFilter=a,r.geometry.dispose(),r.material.dispose(),this}clear(t,e,i,s){const n=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,i,s);t.setRenderTarget(n)}}class ra{constructor(t,e=25e-5){this.isFogExp2=!0,this.name="",this.color=new V(t),this.density=e}clone(){return new ra(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class aa{constructor(t,e=1,i=1e3){this.isFog=!0,this.name="",this.color=new V(t),this.near=e,this.far=i}clone(){return new aa(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class pu extends tt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new fe,this.environmentIntensity=1,this.environmentRotation=new fe,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),t.background!==null&&(this.background=t.background.clone()),t.environment!==null&&(this.environment=t.environment.clone()),t.fog!==null&&(this.fog=t.fog.clone()),this.backgroundBlurriness=t.backgroundBlurriness,this.backgroundIntensity=t.backgroundIntensity,this.backgroundRotation.copy(t.backgroundRotation),this.environmentIntensity=t.environmentIntensity,this.environmentRotation.copy(t.environmentRotation),t.overrideMaterial!==null&&(this.overrideMaterial=t.overrideMaterial.clone()),this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return this.fog!==null&&(e.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(e.object.backgroundIntensity=this.backgroundIntensity),e.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(e.object.environmentIntensity=this.environmentIntensity),e.object.environmentRotation=this.environmentRotation.toArray(),e}}class oa{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=t!==void 0?t.length/e:0,this.usage=An,this.updateRanges=[],this.version=0,this.uuid=Jt()}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,i){t*=this.stride,i*=e.stride;for(let s=0,n=this.stride;st.far||e.push({distance:o,point:Ji.clone(),uv:Yt.getInterpolation(Ji,Xs,Ki,Ys,ho,fr,lo,new B),face:null,object:this})}copy(t,e){return super.copy(t,e),t.center!==void 0&&this.center.copy(t.center),this.material=t.material,this}}function Js(l,t,e,i,s,n){Ai.subVectors(l,e).addScalar(.5).multiply(i),s!==void 0?(Zi.x=n*Ai.x-s*Ai.y,Zi.y=s*Ai.x+n*Ai.y):Zi.copy(Ai),l.copy(t),l.x+=Zi.x,l.y+=Zi.y,l.applyMatrix4(kh)}const Zs=new w,co=new w;class mu extends tt{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);const e=t.levels;for(let i=0,s=e.length;i0){let i,s;for(i=1,s=e.length;i0){Zs.setFromMatrixPosition(this.matrixWorld);const s=t.ray.origin.distanceTo(Zs);this.getObjectForDistance(s).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){Zs.setFromMatrixPosition(t.matrixWorld),co.setFromMatrixPosition(this.matrixWorld);const i=Zs.distanceTo(co)/t.zoom;e[0].object.visible=!0;let s,n;for(s=1,n=e.length;s=r)e[s-1].object.visible=!1,e[s].object.visible=!0;else break}for(this._currentLevel=s-1;s1?null:e.copy(t.start).addScaledVector(i,n)}intersectsLine(t){const e=this.distanceToPoint(t.start),i=this.distanceToPoint(t.end);return e<0&&i>0||i<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const i=e||_u.getNormalMatrix(t),s=this.coplanarPoint(gr).applyMatrix4(t),n=this.normal.applyMatrix3(i).normalize();return this.constant=-s.dot(n),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Ye=new Et,Qs=new w;class Rh{constructor(t=new Ii,e=new Ii,i=new Ii,s=new Ii,n=new Ii,r=new Ii){this.planes=[t,e,i,s,n,r]}set(t,e,i,s,n,r){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(i),a[3].copy(s),a[4].copy(n),a[5].copy(r),this}copy(t){const e=this.planes;for(let i=0;i<6;i++)e[i].copy(t.planes[i]);return this}setFromProjectionMatrix(t,e=Te){const i=this.planes,s=t.elements,n=s[0],r=s[1],a=s[2],o=s[3],h=s[4],c=s[5],u=s[6],d=s[7],f=s[8],p=s[9],m=s[10],g=s[11],x=s[12],y=s[13],b=s[14],v=s[15];if(i[0].setComponents(o-n,d-h,g-f,v-x).normalize(),i[1].setComponents(o+n,d+h,g+f,v+x).normalize(),i[2].setComponents(o+r,d+c,g+p,v+y).normalize(),i[3].setComponents(o-r,d-c,g-p,v-y).normalize(),i[4].setComponents(o-a,d-u,g-m,v-b).normalize(),e===Te)i[5].setComponents(o+a,d+u,g+m,v+b).normalize();else if(e===Tn)i[5].setComponents(a,u,m,b).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+e);return this}intersectsObject(t){if(t.boundingSphere!==void 0)t.boundingSphere===null&&t.computeBoundingSphere(),Ye.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{const e=t.geometry;e.boundingSphere===null&&e.computeBoundingSphere(),Ye.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(Ye)}intersectsSprite(t){return Ye.center.set(0,0,0),Ye.radius=.7071067811865476,Ye.applyMatrix4(t.matrixWorld),this.intersectsSphere(Ye)}intersectsSphere(t){const e=this.planes,i=t.center,s=-t.radius;for(let n=0;n<6;n++)if(e[n].distanceToPoint(i)0?t.max.x:t.min.x,Qs.y=s.normal.y>0?t.max.y:t.min.y,Qs.z=s.normal.z>0?t.max.z:t.min.z,s.distanceToPoint(Qs)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let i=0;i<6;i++)if(e[i].distanceToPoint(t)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function yr(l,t){return l-t}function Mu(l,t){return l.z-t.z}function Su(l,t){return t.z-l.z}class Au{constructor(){this.index=0,this.pool=[],this.list=[]}push(t,e,i,s){const n=this.pool,r=this.list;this.index>=n.length&&n.push({start:-1,count:-1,z:-1,index:-1});const a=n[this.index];r.push(a),this.index++,a.start=t,a.count=e,a.z=i,a.index=s}reset(){this.list.length=0,this.index=0}}const Nt=new Y,Tu=new V(1,1,1),xr=new Rh,$s=new Ut,Je=new Et,$i=new w,vo=new w,Iu=new w,br=new Au,Ct=new Vt,tn=[];function Cu(l,t,e=0){const i=t.itemSize;if(l.isInterleavedBufferAttribute||l.array.constructor!==t.array.constructor){const s=l.count;for(let n=0;n65535?new Uint32Array(s):new Uint16Array(s);e.setIndex(new dt(n,1))}this._geometryInitialized=!0}}_validateGeometry(t){const e=this.geometry;if(!!t.getIndex()!=!!e.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const i in e.attributes){if(!t.hasAttribute(i))throw new Error(`THREE.BatchedMesh: Added geometry missing "${i}". All geometries must have consistent attributes.`);const s=t.getAttribute(i),n=e.getAttribute(i);if(s.itemSize!==n.itemSize||s.normalized!==n.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(t){const e=this._instanceInfo;if(t<0||t>=e.length||e[t].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${t}. Instance is either out of range or has been deleted.`)}validateGeometryId(t){const e=this._geometryInfo;if(t<0||t>=e.length||e[t].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${t}. Geometry is either out of range or has been deleted.`)}setCustomSort(t){return this.customSort=t,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Ut);const t=this.boundingBox,e=this._instanceInfo;t.makeEmpty();for(let i=0,s=e.length;i=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const i={visible:!0,active:!0,geometryIndex:t};let s=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(yr),s=this._availableInstanceIds.shift(),this._instanceInfo[s]=i):(s=this._instanceInfo.length,this._instanceInfo.push(i));const n=this._matricesTexture;Nt.identity().toArray(n.image.data,s*16),n.needsUpdate=!0;const r=this._colorsTexture;return r&&(Tu.toArray(r.image.data,s*4),r.needsUpdate=!0),this._visibilityChanged=!0,s}addGeometry(t,e=-1,i=-1){this._initializeGeometry(t),this._validateGeometry(t);const s={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},n=this._geometryInfo;s.vertexStart=this._nextVertexStart,s.reservedVertexCount=e===-1?t.getAttribute("position").count:e;const r=t.getIndex();if(r!==null&&(s.indexStart=this._nextIndexStart,s.reservedIndexCount=i===-1?r.count:i),s.indexStart!==-1&&s.indexStart+s.reservedIndexCount>this._maxIndexCount||s.vertexStart+s.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let o;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(yr),o=this._availableGeometryIds.shift(),n[o]=s):(o=this._geometryCount,this._geometryCount++,n.push(s)),this.setGeometryAt(o,t),this._nextIndexStart=s.indexStart+s.reservedIndexCount,this._nextVertexStart=s.vertexStart+s.reservedVertexCount,o}setGeometryAt(t,e){if(t>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(e);const i=this.geometry,s=i.getIndex()!==null,n=i.getIndex(),r=e.getIndex(),a=this._geometryInfo[t];if(s&&r.count>a.reservedIndexCount||e.attributes.position.count>a.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const o=a.vertexStart,h=a.reservedVertexCount;a.vertexCount=e.getAttribute("position").count;for(const c in i.attributes){const u=e.getAttribute(c),d=i.getAttribute(c);Cu(u,d,o);const f=u.itemSize;for(let p=u.count,m=h;p=e.length||e[t].active===!1)return this;const i=this._instanceInfo;for(let s=0,n=i.length;sa).sort((r,a)=>i[r].vertexStart-i[a].vertexStart),n=this.geometry;for(let r=0,a=i.length;r=this._geometryCount)return null;const i=this.geometry,s=this._geometryInfo[t];if(s.boundingBox===null){const n=new Ut,r=i.index,a=i.attributes.position;for(let o=s.start,h=s.start+s.count;o=this._geometryCount)return null;const i=this.geometry,s=this._geometryInfo[t];if(s.boundingSphere===null){const n=new Et;this.getBoundingBoxAt(t,$s),$s.getCenter(n.center);const r=i.index,a=i.attributes.position;let o=0;for(let h=s.start,c=s.start+s.count;ha.active);if(Math.max(...i.map(a=>a.vertexStart+a.reservedVertexCount))>t)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${e}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...i.map(o=>o.indexStart+o.reservedIndexCount))>e)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${e}. Cannot shrink further.`);const n=this.geometry;n.dispose(),this._maxVertexCount=t,this._maxIndexCount=e,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new Z,this._initializeGeometry(n));const r=this.geometry;n.index&&Ze(n.index.array,r.index.array);for(const a in n.attributes)Ze(n.attributes[a].array,r.attributes[a].array)}raycast(t,e){const i=this._instanceInfo,s=this._geometryInfo,n=this.matrixWorld,r=this.geometry;Ct.material=this.material,Ct.geometry.index=r.index,Ct.geometry.attributes=r.attributes,Ct.geometry.boundingBox===null&&(Ct.geometry.boundingBox=new Ut),Ct.geometry.boundingSphere===null&&(Ct.geometry.boundingSphere=new Et);for(let a=0,o=i.length;a({...e,boundingBox:e.boundingBox!==null?e.boundingBox.clone():null,boundingSphere:e.boundingSphere!==null?e.boundingSphere.clone():null})),this._instanceInfo=t._instanceInfo.map(e=>({...e})),this._maxInstanceCount=t._maxInstanceCount,this._maxVertexCount=t._maxVertexCount,this._maxIndexCount=t._maxIndexCount,this._geometryInitialized=t._geometryInitialized,this._geometryCount=t._geometryCount,this._multiDrawCounts=t._multiDrawCounts.slice(),this._multiDrawStarts=t._multiDrawStarts.slice(),this._matricesTexture=t._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=t._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null),this}onBeforeRender(t,e,i,s,n){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const r=s.getIndex(),a=r===null?1:r.array.BYTES_PER_ELEMENT,o=this._instanceInfo,h=this._multiDrawStarts,c=this._multiDrawCounts,u=this._geometryInfo,d=this.perObjectFrustumCulled,f=this._indirectTexture,p=f.image.data;d&&(Nt.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),xr.setFromProjectionMatrix(Nt,t.coordinateSystem));let m=0;if(this.sortObjects){Nt.copy(this.matrixWorld).invert(),$i.setFromMatrixPosition(i.matrixWorld).applyMatrix4(Nt),vo.set(0,0,-1).transformDirection(i.matrixWorld).transformDirection(Nt);for(let y=0,b=o.length;y0){const s=e[i[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let n=0,r=s.length;ni)return;vr.applyMatrix4(l.matrixWorld);const o=t.ray.origin.distanceTo(vr);if(!(ot.far))return{distance:o,point:_o.clone().applyMatrix4(l.matrixWorld),index:s,face:null,faceIndex:null,barycoord:null,object:l}}const Mo=new w,So=new w;class Fe extends ni{constructor(t,e){super(t,e),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const t=this.geometry;if(t.index===null){const e=t.attributes.position,i=[];for(let s=0,n=e.count;s0){const s=e[i[0]];if(s!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let n=0,r=s.length;ns.far)return;n.push({distance:h,distanceToRay:Math.sqrt(a),point:o,index:t,face:null,faceIndex:null,barycoord:null,object:r})}}class Oh extends tt{constructor(){super(),this.isGroup=!0,this.type="Group"}}class Og extends gt{constructor(t,e,i,s,n,r,a,o,h){super(t,e,i,s,n,r,a,o,h),this.isVideoTexture=!0,this.minFilter=r!==void 0?r:ee,this.magFilter=n!==void 0?n:ee,this.generateMipmaps=!1;const c=this;function u(){c.needsUpdate=!0,t.requestVideoFrameCallback(u)}"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback(u)}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;"requestVideoFrameCallback"in t===!1&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Ng extends gt{constructor(t,e){super({width:t,height:e}),this.isFramebufferTexture=!0,this.magFilter=he,this.minFilter=he,this.generateMipmaps=!1,this.needsUpdate=!0}}class la extends gt{constructor(t,e,i,s,n,r,a,o,h,c,u,d){super(null,r,a,o,h,c,s,n,u,d),this.isCompressedTexture=!0,this.image={width:e,height:i},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}class Dg extends la{constructor(t,e,i,s,n,r){super(t,e,i,n,r),this.isCompressedArrayTexture=!0,this.image.depth=s,this.wrapR=ue,this.layerUpdates=new Set}addLayerUpdate(t){this.layerUpdates.add(t)}clearLayerUpdates(){this.layerUpdates.clear()}}class Ug extends la{constructor(t,e,i){super(void 0,t[0].width,t[0].height,e,i,Kr),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=t}}class Nh extends gt{constructor(t,e,i,s,n,r,a,o,h){super(t,e,i,s,n,r,a,o,h),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Vg extends gt{constructor(t,e,i,s,n,r,a,o,h,c=qn){if(c!==qn&&c!==Ua)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");i===void 0&&c===qn&&(i=jr),i===void 0&&c===Ua&&(i=Ol),super(null,s,n,r,a,o,c,i,h),this.isDepthTexture=!0,this.image={width:t,height:e},this.magFilter=a!==void 0?a:he,this.minFilter=o!==void 0?o:he,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(t){return super.copy(t),this.compareFunction=t.compareFunction,this}toJSON(t){const e=super.toJSON(t);return this.compareFunction!==null&&(e.compareFunction=this.compareFunction),e}}class me{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const i=this.getUtoTmapping(t);return this.getPoint(i,e)}getPoints(t=5){const e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return e}getSpacedPoints(t=5){const e=[];for(let i=0;i<=t;i++)e.push(this.getPointAt(i/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let i,s=this.getPoint(0),n=0;e.push(0);for(let r=1;r<=t;r++)i=this.getPoint(r/t),n+=i.distanceTo(s),e.push(n),s=i;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const i=this.getLengths();let s=0;const n=i.length;let r;e?r=e:r=t*i[n-1];let a=0,o=n-1,h;for(;a<=o;)if(s=Math.floor(a+(o-a)/2),h=i[s]-r,h<0)a=s+1;else if(h>0)o=s-1;else{o=s;break}if(s=o,i[s]===r)return s/(n-1);const c=i[s],d=i[s+1]-c,f=(r-c)/d;return(s+f)/(n-1)}getTangent(t,e){let s=t-1e-4,n=t+1e-4;s<0&&(s=0),n>1&&(n=1);const r=this.getPoint(s),a=this.getPoint(n),o=e||(r.isVector2?new B:new w);return o.copy(a).sub(r).normalize(),o}getTangentAt(t,e){const i=this.getUtoTmapping(t);return this.getTangent(i,e)}computeFrenetFrames(t,e){const i=new w,s=[],n=[],r=[],a=new w,o=new Y;for(let f=0;f<=t;f++){const p=f/t;s[f]=this.getTangentAt(p,new w)}n[0]=new w,r[0]=new w;let h=Number.MAX_VALUE;const c=Math.abs(s[0].x),u=Math.abs(s[0].y),d=Math.abs(s[0].z);c<=h&&(h=c,i.set(1,0,0)),u<=h&&(h=u,i.set(0,1,0)),d<=h&&i.set(0,0,1),a.crossVectors(s[0],i).normalize(),n[0].crossVectors(s[0],a),r[0].crossVectors(s[0],n[0]);for(let f=1;f<=t;f++){if(n[f]=n[f-1].clone(),r[f]=r[f-1].clone(),a.crossVectors(s[f-1],s[f]),a.length()>Number.EPSILON){a.normalize();const p=Math.acos(H(s[f-1].dot(s[f]),-1,1));n[f].applyMatrix4(o.makeRotationAxis(a,p))}r[f].crossVectors(s[f],n[f])}if(e===!0){let f=Math.acos(H(n[0].dot(n[t]),-1,1));f/=t,s[0].dot(a.crossVectors(n[0],n[t]))>0&&(f=-f);for(let p=1;p<=t;p++)n[p].applyMatrix4(o.makeRotationAxis(s[p],f*p)),r[p].crossVectors(s[p],n[p])}return{tangents:s,normals:n,binormals:r}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class ca extends me{constructor(t=0,e=0,i=1,s=1,n=0,r=Math.PI*2,a=!1,o=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=i,this.yRadius=s,this.aStartAngle=n,this.aEndAngle=r,this.aClockwise=a,this.aRotation=o}getPoint(t,e=new B){const i=e,s=Math.PI*2;let n=this.aEndAngle-this.aStartAngle;const r=Math.abs(n)s;)n-=s;n0?0:(Math.floor(Math.abs(a)/n)+1)*n:o===0&&a===n-1&&(a=n-2,o=1);let h,c;this.closed||a>0?h=s[(a-1)%n]:(an.subVectors(s[0],s[1]).add(s[0]),h=an);const u=s[a%n],d=s[(a+1)%n];if(this.closed||a+2s.length-2?s.length-1:r+1],u=s[r>s.length-3?s.length-1:r+2];return i.set(Io(a,o.x,h.x,c.x,u.x),Io(a,o.y,h.y,c.y,u.y)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e=i){const r=s[n]-i,a=this.curves[n],o=a.getLength(),h=o===0?0:1-r/o;return a.getPointAt(h,e)}n++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let i=0,s=this.curves.length;i1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,i=t.curves.length;e0){const u=h.getPoint(0);u.equals(this.currentPoint)||this.lineTo(u.x,u.y)}this.curves.push(h);const c=h.getPoint(1);return this.currentPoint.copy(c),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class Dn extends Z{constructor(t=[new B(0,-.5),new B(.5,0),new B(0,.5)],e=12,i=0,s=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:t,segments:e,phiStart:i,phiLength:s},e=Math.floor(e),s=H(s,0,Math.PI*2);const n=[],r=[],a=[],o=[],h=[],c=1/e,u=new w,d=new B,f=new w,p=new w,m=new w;let g=0,x=0;for(let y=0;y<=t.length-1;y++)switch(y){case 0:g=t[y+1].x-t[y].x,x=t[y+1].y-t[y].y,f.x=x*1,f.y=-g,f.z=x*0,m.copy(f),f.normalize(),o.push(f.x,f.y,f.z);break;case t.length-1:o.push(m.x,m.y,m.z);break;default:g=t[y+1].x-t[y].x,x=t[y+1].y-t[y].y,f.x=x*1,f.y=-g,f.z=x*0,p.copy(f),f.x+=m.x,f.y+=m.y,f.z+=m.z,f.normalize(),o.push(f.x,f.y,f.z),m.copy(p)}for(let y=0;y<=e;y++){const b=i+y*c*s,v=Math.sin(b),_=Math.cos(b);for(let M=0;M<=t.length-1;M++){u.x=t[M].x*v,u.y=t[M].y,u.z=t[M].x*_,r.push(u.x,u.y,u.z),d.x=y/e,d.y=M/(t.length-1),a.push(d.x,d.y);const A=o[3*M+0]*v,S=o[3*M+1],C=o[3*M+0]*_;h.push(A,S,C)}}for(let y=0;y0&&b(!0),e>0&&b(!1)),this.setIndex(c),this.setAttribute("position",new O(u,3)),this.setAttribute("normal",new O(d,3)),this.setAttribute("uv",new O(f,2));function y(){const v=new w,_=new w;let M=0;const A=(e-t)/i;for(let S=0;S<=n;S++){const C=[],z=S/n,k=z*(e-t)+t;for(let U=0;U<=s;U++){const W=U/s,R=W*o+a,I=Math.sin(R),N=Math.cos(R);_.x=k*I,_.y=-z*i+g,_.z=k*N,u.push(_.x,_.y,_.z),v.set(I,A,N).normalize(),d.push(v.x,v.y,v.z),f.push(W,1-z),C.push(p++)}m.push(C)}for(let S=0;S0||C!==0)&&(c.push(z,k,W),M+=3),(e>0||C!==n-1)&&(c.push(k,U,W),M+=3)}h.addGroup(x,M,0),x+=M}function b(v){const _=p,M=new B,A=new w;let S=0;const C=v===!0?t:e,z=v===!0?1:-1;for(let U=1;U<=s;U++)u.push(0,g*z,0),d.push(0,z,0),f.push(.5,.5),p++;const k=p;for(let U=0;U<=s;U++){const R=U/s*o+a,I=Math.cos(R),N=Math.sin(R);A.x=C*N,A.y=g*z,A.z=C*I,u.push(A.x,A.y,A.z),d.push(0,z,0),M.x=I*.5+.5,M.y=N*.5*z+.5,f.push(M.x,M.y),p++}for(let U=0;U.9&&A<.1&&(b<.2&&(r[y+0]+=1),v<.2&&(r[y+2]+=1),_<.2&&(r[y+4]+=1))}}function d(y){n.push(y.x,y.y,y.z)}function f(y,b){const v=y*3;b.x=t[v+0],b.y=t[v+1],b.z=t[v+2]}function p(){const y=new w,b=new w,v=new w,_=new w,M=new B,A=new B,S=new B;for(let C=0,z=0;C80*e){a=h=l[0],o=c=l[1];for(let p=e;ph&&(h=u),d>c&&(c=d);f=Math.max(h-a,c-o),f=f!==0?32767/f:0}return vs(n,r,e,a,o,f,0),r}};function Hh(l,t,e,i,s){let n,r;if(s===od(l,t,e,i)>0)for(n=t;n=t;n-=i)r=Co(n,l[n],l[n+1],r);return r&&Un(r,r.next)&&(_s(r),r=r.next),r}function ri(l,t){if(!l)return l;t||(t=l);let e=l,i;do if(i=!1,!e.steiner&&(Un(e,e.next)||ut(e.prev,e,e.next)===0)){if(_s(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function vs(l,t,e,i,s,n,r){if(!l)return;!r&&n&&ed(l,i,s,n);let a=l,o,h;for(;l.prev!==l.next;){if(o=l.prev,h=l.next,n?Yu(l,i,s,n):Xu(l)){t.push(o.i/e|0),t.push(l.i/e|0),t.push(h.i/e|0),_s(l),l=h.next,a=h.next;continue}if(l=h,l===a){r?r===1?(l=Ju(ri(l),t,e),vs(l,t,e,i,s,n,2)):r===2&&Zu(l,t,e,i,s,n):vs(ri(l),t,e,i,s,n,1);break}}}function Xu(l){const t=l.prev,e=l,i=l.next;if(ut(t,e,i)>=0)return!1;const s=t.x,n=e.x,r=i.x,a=t.y,o=e.y,h=i.y,c=sn?s>r?s:r:n>r?n:r,f=a>o?a>h?a:h:o>h?o:h;let p=i.next;for(;p!==t;){if(p.x>=c&&p.x<=d&&p.y>=u&&p.y<=f&&ki(s,a,n,o,r,h,p.x,p.y)&&ut(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function Yu(l,t,e,i){const s=l.prev,n=l,r=l.next;if(ut(s,n,r)>=0)return!1;const a=s.x,o=n.x,h=r.x,c=s.y,u=n.y,d=r.y,f=ao?a>h?a:h:o>h?o:h,g=c>u?c>d?c:d:u>d?u:d,x=Dr(f,p,t,e,i),y=Dr(m,g,t,e,i);let b=l.prevZ,v=l.nextZ;for(;b&&b.z>=x&&v&&v.z<=y;){if(b.x>=f&&b.x<=m&&b.y>=p&&b.y<=g&&b!==s&&b!==r&&ki(a,c,o,u,h,d,b.x,b.y)&&ut(b.prev,b,b.next)>=0||(b=b.prevZ,v.x>=f&&v.x<=m&&v.y>=p&&v.y<=g&&v!==s&&v!==r&&ki(a,c,o,u,h,d,v.x,v.y)&&ut(v.prev,v,v.next)>=0))return!1;v=v.nextZ}for(;b&&b.z>=x;){if(b.x>=f&&b.x<=m&&b.y>=p&&b.y<=g&&b!==s&&b!==r&&ki(a,c,o,u,h,d,b.x,b.y)&&ut(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;v&&v.z<=y;){if(v.x>=f&&v.x<=m&&v.y>=p&&v.y<=g&&v!==s&&v!==r&&ki(a,c,o,u,h,d,v.x,v.y)&&ut(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function Ju(l,t,e){let i=l;do{const s=i.prev,n=i.next.next;!Un(s,n)&&qh(s,i,i.next,n)&&ws(s,n)&&ws(n,s)&&(t.push(s.i/e|0),t.push(i.i/e|0),t.push(n.i/e|0),_s(i),_s(i.next),i=l=n),i=i.next}while(i!==l);return ri(i)}function Zu(l,t,e,i,s,n){let r=l;do{let a=r.next.next;for(;a!==r.prev;){if(r.i!==a.i&&nd(r,a)){let o=Xh(r,a);r=ri(r,r.next),o=ri(o,o.next),vs(r,t,e,i,s,n,0),vs(o,t,e,i,s,n,0);return}a=a.next}r=r.next}while(r!==l)}function Ku(l,t,e,i){const s=[];let n,r,a,o,h;for(n=0,r=t.length;n=e.next.y&&e.next.y!==e.y){const d=e.x+(r-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(d<=n&&d>i&&(i=d,s=e.x=e.x&&e.x>=o&&n!==e.x&&ki(rs.x||e.x===s.x&&td(s,e)))&&(s=e,c=u)),e=e.next;while(e!==a);return s}function td(l,t){return ut(l.prev,l,t.prev)<0&&ut(t.next,l,l.next)<0}function ed(l,t,e,i){let s=l;do s.z===0&&(s.z=Dr(s.x,s.y,t,e,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==l);s.prevZ.nextZ=null,s.prevZ=null,id(s)}function id(l){let t,e,i,s,n,r,a,o,h=1;do{for(e=l,l=null,n=null,r=0;e;){for(r++,i=e,a=0,t=0;t0||o>0&&i;)a!==0&&(o===0||!i||e.z<=i.z)?(s=e,e=e.nextZ,a--):(s=i,i=i.nextZ,o--),n?n.nextZ=s:l=s,s.prevZ=n,n=s;e=i}n.nextZ=null,h*=2}while(r>1);return l}function Dr(l,t,e,i,s){return l=(l-e)*s|0,t=(t-i)*s|0,l=(l|l<<8)&16711935,l=(l|l<<4)&252645135,l=(l|l<<2)&858993459,l=(l|l<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,l|t<<1}function sd(l){let t=l,e=l;do(t.x=(l-r)*(n-a)&&(l-r)*(i-a)>=(e-r)*(t-a)&&(e-r)*(n-a)>=(s-r)*(i-a)}function nd(l,t){return l.next.i!==t.i&&l.prev.i!==t.i&&!rd(l,t)&&(ws(l,t)&&ws(t,l)&&ad(l,t)&&(ut(l.prev,l,t.prev)||ut(l,t.prev,t))||Un(l,t)&&ut(l.prev,l,l.next)>0&&ut(t.prev,t,t.next)>0)}function ut(l,t,e){return(t.y-l.y)*(e.x-t.x)-(t.x-l.x)*(e.y-t.y)}function Un(l,t){return l.x===t.x&&l.y===t.y}function qh(l,t,e,i){const s=un(ut(l,t,e)),n=un(ut(l,t,i)),r=un(ut(e,i,l)),a=un(ut(e,i,t));return!!(s!==n&&r!==a||s===0&&cn(l,e,t)||n===0&&cn(l,i,t)||r===0&&cn(e,l,i)||a===0&&cn(e,t,i))}function cn(l,t,e){return t.x<=Math.max(l.x,e.x)&&t.x>=Math.min(l.x,e.x)&&t.y<=Math.max(l.y,e.y)&&t.y>=Math.min(l.y,e.y)}function un(l){return l>0?1:l<0?-1:0}function rd(l,t){let e=l;do{if(e.i!==l.i&&e.next.i!==l.i&&e.i!==t.i&&e.next.i!==t.i&&qh(e,e.next,l,t))return!0;e=e.next}while(e!==l);return!1}function ws(l,t){return ut(l.prev,l,l.next)<0?ut(l,t,l.next)>=0&&ut(l,l.prev,t)>=0:ut(l,t,l.prev)<0||ut(l,l.next,t)<0}function ad(l,t){let e=l,i=!1;const s=(l.x+t.x)/2,n=(l.y+t.y)/2;do e.y>n!=e.next.y>n&&e.next.y!==e.y&&s<(e.next.x-e.x)*(n-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next;while(e!==l);return i}function Xh(l,t){const e=new Ur(l.i,l.x,l.y),i=new Ur(t.i,t.x,t.y),s=l.next,n=t.prev;return l.next=t,t.prev=l,e.next=s,s.prev=e,i.next=e,e.prev=i,n.next=i,i.prev=n,i}function Co(l,t,e,i){const s=new Ur(l,t,e);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function _s(l){l.next.prev=l.prev,l.prev.next=l.next,l.prevZ&&(l.prevZ.nextZ=l.nextZ),l.nextZ&&(l.nextZ.prevZ=l.prevZ)}function Ur(l,t,e){this.i=l,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function od(l,t,e,i){let s=0;for(let n=t,r=e-i;n2&&l[t-1].equals(l[0])&&l.pop()}function Bo(l,t){for(let e=0;eNumber.EPSILON){const ie=Math.sqrt(ke),Cs=Math.sqrt(_t*_t+bt*bt),J=P.x-ot/ie,at=P.y+Q/ie,le=E.x-bt/Cs,se=E.y+_t/Cs,xe=((le-J)*bt-(se-at)*_t)/(Q*bt-ot*_t);G=J+Q*xe-F.x,L=at+ot*xe-F.y;const zs=G*G+L*L;if(zs<=2)return new B(G,L);j=Math.sqrt(zs/2)}else{let ie=!1;Q>Number.EPSILON?_t>Number.EPSILON&&(ie=!0):Q<-Number.EPSILON?_t<-Number.EPSILON&&(ie=!0):Math.sign(ot)===Math.sign(bt)&&(ie=!0),ie?(G=-ot,L=Q,j=Math.sqrt(ke)):(G=Q,L=ot,j=Math.sqrt(ke/2))}return new B(G/j,L/j)}const nt=[];for(let F=0,P=R.length,E=P-1,G=F+1;F=0;F--){const P=F/g,E=f*Math.cos(P*Math.PI/2),G=p*Math.sin(P*Math.PI/2)+m;for(let L=0,j=R.length;L=0;){const G=E;let L=E-1;L<0&&(L=F.length-1);for(let j=0,Q=c+g*2;j0)&&f.push(b,v,M),(x!==i-1||o0!=t>0&&this.version++,this._anisotropy=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!=t>0&&this.version++,this._iridescence=t}get dispersion(){return this._dispersion}set dispersion(t){this._dispersion>0!=t>0&&this.version++,this._dispersion=t}get sheen(){return this._sheen}set sheen(t){this._sheen>0!=t>0&&this.version++,this._sheen=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=t.anisotropy,this.anisotropyRotation=t.anisotropyRotation,this.anisotropyMap=t.anisotropyMap,this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.dispersion=t.dispersion,this.ior=t.ior,this.iridescence=t.iridescence,this.iridescenceMap=t.iridescenceMap,this.iridescenceIOR=t.iridescenceIOR,this.iridescenceThicknessRange=[...t.iridescenceThicknessRange],this.iridescenceThicknessMap=t.iridescenceThicknessMap,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}class md extends Rt{constructor(t){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new V(16777215),this.specular=new V(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new V(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ni,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new fe,this.combine=Jr,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class gd extends Rt{constructor(t){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new V(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new V(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ni,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}class yd extends Rt{constructor(t){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ni,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}}class xd extends Rt{constructor(t){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new V(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new V(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ni,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new fe,this.combine=Jr,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapRotation.copy(t.envMapRotation),this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class bd extends Rt{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=Ic,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}class vd extends Rt{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}class wd extends Rt{constructor(t){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new V(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Ni,this.normalScale=new B(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.flatShading=t.flatShading,this.fog=t.fog,this}}class _d extends Gt{constructor(t){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}function ei(l,t,e){return!l||!e&&l.constructor===t?l:typeof t.BYTES_PER_ELEMENT=="number"?new t(l):Array.prototype.slice.call(l)}function Yh(l){return ArrayBuffer.isView(l)&&!(l instanceof DataView)}function Jh(l){function t(s,n){return l[s]-l[n]}const e=l.length,i=new Array(e);for(let s=0;s!==e;++s)i[s]=s;return i.sort(t),i}function Vr(l,t,e){const i=l.length,s=new l.constructor(i);for(let n=0,r=0;r!==i;++n){const a=e[n]*t;for(let o=0;o!==t;++o)s[r++]=l[a+o]}return s}function Ta(l,t,e,i){let s=1,n=l[0];for(;n!==void 0&&n[i]===void 0;)n=l[s++];if(n===void 0)return;let r=n[i];if(r!==void 0)if(Array.isArray(r))do r=n[i],r!==void 0&&(t.push(n.time),e.push.apply(e,r)),n=l[s++];while(n!==void 0);else if(r.toArray!==void 0)do r=n[i],r!==void 0&&(t.push(n.time),r.toArray(e,e.length)),n=l[s++];while(n!==void 0);else do r=n[i],r!==void 0&&(t.push(n.time),e.push(r)),n=l[s++];while(n!==void 0)}function Md(l,t,e,i,s=30){const n=l.clone();n.name=t;const r=[];for(let o=0;o=i)){u.push(h.times[f]);for(let m=0;mn.tracks[o].times[0]&&(a=n.tracks[o].times[0]);for(let o=0;o=a.times[p]){const x=p*u+c,y=x+u-c;m=a.values.slice(x,y)}else{const x=a.createInterpolant(),y=c,b=u-c;x.evaluate(n),m=x.resultBuffer.slice(y,b)}o==="quaternion"&&new Zt().fromArray(m).normalize().conjugate().toArray(m);const g=h.times.length;for(let x=0;x=n)){const a=e[1];t=n)break e}r=i,i=0;break i}break t}for(;i>>1;te;)--r;if(++r,n!==0||r!==s){n>=r&&(r=Math.max(r,1),n=r-1);const a=this.getValueSize();this.times=i.slice(n,r),this.values=this.values.slice(n*a,r*a)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const i=this.times,s=this.values,n=i.length;n===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let r=null;for(let a=0;a!==n;a++){const o=i[a];if(typeof o=="number"&&isNaN(o)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,o),t=!1;break}if(r!==null&&r>o){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,o,r),t=!1;break}r=o}if(s!==void 0&&Yh(s))for(let a=0,o=s.length;a!==o;++a){const h=s[a];if(isNaN(h)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,h),t=!1;break}}return t}optimize(){const t=this.times.slice(),e=this.values.slice(),i=this.getValueSize(),s=this.getInterpolation()===Xn,n=t.length-1;let r=1;for(let a=1;a0){t[r]=t[n];for(let a=n*i,o=r*i,h=0;h!==i;++h)e[o+h]=e[a+h];++r}return r!==t.length?(this.times=t.slice(0,r),this.values=e.slice(0,r*i)):(this.times=t,this.values=e),this}clone(){const t=this.times.slice(),e=this.values.slice(),i=this.constructor,s=new i(this.name,t,e);return s.createInterpolant=this.createInterpolant,s}}ge.prototype.TimeBufferType=Float32Array;ge.prototype.ValueBufferType=Float32Array;ge.prototype.DefaultInterpolation=Or;class Ui extends ge{constructor(t,e,i){super(t,e,i)}}Ui.prototype.ValueTypeName="bool";Ui.prototype.ValueBufferType=Array;Ui.prototype.DefaultInterpolation=Mn;Ui.prototype.InterpolantFactoryMethodLinear=void 0;Ui.prototype.InterpolantFactoryMethodSmooth=void 0;class Kh extends ge{}Kh.prototype.ValueTypeName="color";class Pn extends ge{}Pn.prototype.ValueTypeName="number";class Id extends Gn{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t,e,i,s){const n=this.resultBuffer,r=this.sampleValues,a=this.valueSize,o=(i-e)/(s-e);let h=t*a;for(let c=h+a;h!==c;h+=4)Zt.slerpFlat(n,0,r,h-a,r,h,o);return n}}class Wn extends ge{InterpolantFactoryMethodLinear(t){return new Id(this.times,this.values,this.getValueSize(),t)}}Wn.prototype.ValueTypeName="quaternion";Wn.prototype.InterpolantFactoryMethodSmooth=void 0;class Vi extends ge{constructor(t,e,i){super(t,e,i)}}Vi.prototype.ValueTypeName="string";Vi.prototype.ValueBufferType=Array;Vi.prototype.DefaultInterpolation=Mn;Vi.prototype.InterpolantFactoryMethodLinear=void 0;Vi.prototype.InterpolantFactoryMethodSmooth=void 0;class kn extends ge{}kn.prototype.ValueTypeName="vector";class En{constructor(t="",e=-1,i=[],s=Qr){this.name=t,this.tracks=i,this.duration=e,this.blendMode=s,this.uuid=Jt(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],i=t.tracks,s=1/(t.fps||1);for(let r=0,a=i.length;r!==a;++r)e.push(zd(i[r]).scale(s));const n=new this(t.name,t.duration,e,t.blendMode);return n.uuid=t.uuid,n}static toJSON(t){const e=[],i=t.tracks,s={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let n=0,r=i.length;n!==r;++n)e.push(ge.toJSON(i[n]));return s}static CreateFromMorphTargetSequence(t,e,i,s){const n=e.length,r=[];for(let a=0;a1){const u=c[1];let d=s[u];d||(s[u]=d=[]),d.push(h)}}const r=[];for(const a in s)r.push(this.CreateFromMorphTargetSequence(a,s[a],e,i));return r}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(u,d,f,p,m){if(f.length!==0){const g=[],x=[];Ta(f,g,x,p),g.length!==0&&m.push(new u(d,g,x))}},s=[],n=t.name||"default",r=t.fps||30,a=t.blendMode;let o=t.length||-1;const h=t.hierarchy||[];for(let u=0;u{e&&e(n),this.manager.itemEnd(t)},0),n;if(Se[t]!==void 0){Se[t].push({onLoad:e,onProgress:i,onError:s});return}Se[t]=[],Se[t].push({onLoad:e,onProgress:i,onError:s});const r=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,o=this.responseType;fetch(r).then(h=>{if(h.status===200||h.status===0){if(h.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||h.body===void 0||h.body.getReader===void 0)return h;const c=Se[t],u=h.body.getReader(),d=h.headers.get("X-File-Size")||h.headers.get("Content-Length"),f=d?parseInt(d):0,p=f!==0;let m=0;const g=new ReadableStream({start(x){y();function y(){u.read().then(({done:b,value:v})=>{if(b)x.close();else{m+=v.byteLength;const _=new ProgressEvent("progress",{lengthComputable:p,loaded:m,total:f});for(let M=0,A=c.length;M{x.error(b)})}}});return new Response(g)}else throw new Fd(`fetch for "${h.url}" responded with ${h.status}: ${h.statusText}`,h)}).then(h=>{switch(o){case"arraybuffer":return h.arrayBuffer();case"blob":return h.blob();case"document":return h.text().then(c=>new DOMParser().parseFromString(c,a));case"json":return h.json();default:if(a===void 0)return h.text();{const u=/charset="?([^;"\s]*)"?/i.exec(a),d=u&&u[1]?u[1].toLowerCase():void 0,f=new TextDecoder(d);return h.arrayBuffer().then(p=>f.decode(p))}}}).then(h=>{Ve.add(t,h);const c=Se[t];delete Se[t];for(let u=0,d=c.length;u{const c=Se[t];if(c===void 0)throw this.manager.itemError(t),h;delete Se[t];for(let u=0,d=c.length;u{this.manager.itemEnd(t)}),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class Wg extends Kt{constructor(t){super(t)}load(t,e,i,s){const n=this,r=new Ge(this.manager);r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(t,function(a){try{e(n.parse(JSON.parse(a)))}catch(o){s?s(o):console.error(o),n.manager.itemError(t)}},i,s)}parse(t){const e=[];for(let i=0;i0:s.vertexColors=t.vertexColors),t.uniforms!==void 0)for(const n in t.uniforms){const r=t.uniforms[n];switch(s.uniforms[n]={},r.type){case"t":s.uniforms[n].value=i(r.value);break;case"c":s.uniforms[n].value=new V().setHex(r.value);break;case"v2":s.uniforms[n].value=new B().fromArray(r.value);break;case"v3":s.uniforms[n].value=new w().fromArray(r.value);break;case"v4":s.uniforms[n].value=new St().fromArray(r.value);break;case"m3":s.uniforms[n].value=new pe().fromArray(r.value);break;case"m4":s.uniforms[n].value=new Y().fromArray(r.value);break;default:s.uniforms[n].value=r.value}}if(t.defines!==void 0&&(s.defines=t.defines),t.vertexShader!==void 0&&(s.vertexShader=t.vertexShader),t.fragmentShader!==void 0&&(s.fragmentShader=t.fragmentShader),t.glslVersion!==void 0&&(s.glslVersion=t.glslVersion),t.extensions!==void 0)for(const n in t.extensions)s.extensions[n]=t.extensions[n];if(t.lights!==void 0&&(s.lights=t.lights),t.clipping!==void 0&&(s.clipping=t.clipping),t.size!==void 0&&(s.size=t.size),t.sizeAttenuation!==void 0&&(s.sizeAttenuation=t.sizeAttenuation),t.map!==void 0&&(s.map=i(t.map)),t.matcap!==void 0&&(s.matcap=i(t.matcap)),t.alphaMap!==void 0&&(s.alphaMap=i(t.alphaMap)),t.bumpMap!==void 0&&(s.bumpMap=i(t.bumpMap)),t.bumpScale!==void 0&&(s.bumpScale=t.bumpScale),t.normalMap!==void 0&&(s.normalMap=i(t.normalMap)),t.normalMapType!==void 0&&(s.normalMapType=t.normalMapType),t.normalScale!==void 0){let n=t.normalScale;Array.isArray(n)===!1&&(n=[n,n]),s.normalScale=new B().fromArray(n)}return t.displacementMap!==void 0&&(s.displacementMap=i(t.displacementMap)),t.displacementScale!==void 0&&(s.displacementScale=t.displacementScale),t.displacementBias!==void 0&&(s.displacementBias=t.displacementBias),t.roughnessMap!==void 0&&(s.roughnessMap=i(t.roughnessMap)),t.metalnessMap!==void 0&&(s.metalnessMap=i(t.metalnessMap)),t.emissiveMap!==void 0&&(s.emissiveMap=i(t.emissiveMap)),t.emissiveIntensity!==void 0&&(s.emissiveIntensity=t.emissiveIntensity),t.specularMap!==void 0&&(s.specularMap=i(t.specularMap)),t.specularIntensityMap!==void 0&&(s.specularIntensityMap=i(t.specularIntensityMap)),t.specularColorMap!==void 0&&(s.specularColorMap=i(t.specularColorMap)),t.envMap!==void 0&&(s.envMap=i(t.envMap)),t.envMapRotation!==void 0&&s.envMapRotation.fromArray(t.envMapRotation),t.envMapIntensity!==void 0&&(s.envMapIntensity=t.envMapIntensity),t.reflectivity!==void 0&&(s.reflectivity=t.reflectivity),t.refractionRatio!==void 0&&(s.refractionRatio=t.refractionRatio),t.lightMap!==void 0&&(s.lightMap=i(t.lightMap)),t.lightMapIntensity!==void 0&&(s.lightMapIntensity=t.lightMapIntensity),t.aoMap!==void 0&&(s.aoMap=i(t.aoMap)),t.aoMapIntensity!==void 0&&(s.aoMapIntensity=t.aoMapIntensity),t.gradientMap!==void 0&&(s.gradientMap=i(t.gradientMap)),t.clearcoatMap!==void 0&&(s.clearcoatMap=i(t.clearcoatMap)),t.clearcoatRoughnessMap!==void 0&&(s.clearcoatRoughnessMap=i(t.clearcoatRoughnessMap)),t.clearcoatNormalMap!==void 0&&(s.clearcoatNormalMap=i(t.clearcoatNormalMap)),t.clearcoatNormalScale!==void 0&&(s.clearcoatNormalScale=new B().fromArray(t.clearcoatNormalScale)),t.iridescenceMap!==void 0&&(s.iridescenceMap=i(t.iridescenceMap)),t.iridescenceThicknessMap!==void 0&&(s.iridescenceThicknessMap=i(t.iridescenceThicknessMap)),t.transmissionMap!==void 0&&(s.transmissionMap=i(t.transmissionMap)),t.thicknessMap!==void 0&&(s.thicknessMap=i(t.thicknessMap)),t.anisotropyMap!==void 0&&(s.anisotropyMap=i(t.anisotropyMap)),t.sheenColorMap!==void 0&&(s.sheenColorMap=i(t.sheenColorMap)),t.sheenRoughnessMap!==void 0&&(s.sheenRoughnessMap=i(t.sheenRoughnessMap)),s}setTextures(t){return this.textures=t,this}createMaterialFromType(t){return Ca.createMaterialFromType(t)}static createMaterialFromType(t){const e={ShadowMaterial:dd,SpriteMaterial:fs,RawShaderMaterial:fd,ShaderMaterial:ia,PointsMaterial:Lh,MeshPhysicalMaterial:pd,MeshStandardMaterial:Aa,MeshPhongMaterial:md,MeshToonMaterial:gd,MeshNormalMaterial:yd,MeshLambertMaterial:xd,MeshDepthMaterial:bd,MeshDistanceMaterial:vd,MeshBasicMaterial:Di,MeshMatcapMaterial:wd,LineDashedMaterial:_d,LineBasicMaterial:Gt,Material:Rt};return new e[t]}}class Lo{static decodeText(t){if(console.warn("THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead."),typeof TextDecoder<"u")return new TextDecoder().decode(t);let e="";for(let i=0,s=t.length;i0){const o=new jh(e);n=new Rn(o),n.setCrossOrigin(this.crossOrigin);for(let h=0,c=t.length;h0){s=new Rn(this.manager),s.setCrossOrigin(this.crossOrigin);for(let r=0,a=t.length;r{const g=new Ut;g.min.fromArray(m.boxMin),g.max.fromArray(m.boxMax);const x=new Et;return x.radius=m.sphereRadius,x.center.fromArray(m.sphereCenter),{boxInitialized:m.boxInitialized,box:g,sphereInitialized:m.sphereInitialized,sphere:x}}),r._maxInstanceCount=t.maxInstanceCount,r._maxVertexCount=t.maxVertexCount,r._maxIndexCount=t.maxIndexCount,r._geometryInitialized=t.geometryInitialized,r._geometryCount=t.geometryCount,r._matricesTexture=h(t.matricesTexture.uuid),t.colorsTexture!==void 0&&(r._colorsTexture=h(t.colorsTexture.uuid));break;case"LOD":r=new mu;break;case"Line":r=new ni(a(t.geometry),o(t.material));break;case"LineLoop":r=new Bu(a(t.geometry),o(t.material));break;case"LineSegments":r=new Fe(a(t.geometry),o(t.material));break;case"PointCloud":case"Points":r=new Fu(a(t.geometry),o(t.material));break;case"Sprite":r=new cs(o(t.material));break;case"Group":r=new Oh;break;case"Bone":r=new Eh;break;default:r=new tt}if(r.uuid=t.uuid,t.name!==void 0&&(r.name=t.name),t.matrix!==void 0?(r.matrix.fromArray(t.matrix),t.matrixAutoUpdate!==void 0&&(r.matrixAutoUpdate=t.matrixAutoUpdate),r.matrixAutoUpdate&&r.matrix.decompose(r.position,r.quaternion,r.scale)):(t.position!==void 0&&r.position.fromArray(t.position),t.rotation!==void 0&&r.rotation.fromArray(t.rotation),t.quaternion!==void 0&&r.quaternion.fromArray(t.quaternion),t.scale!==void 0&&r.scale.fromArray(t.scale)),t.up!==void 0&&r.up.fromArray(t.up),t.castShadow!==void 0&&(r.castShadow=t.castShadow),t.receiveShadow!==void 0&&(r.receiveShadow=t.receiveShadow),t.shadow&&(t.shadow.intensity!==void 0&&(r.shadow.intensity=t.shadow.intensity),t.shadow.bias!==void 0&&(r.shadow.bias=t.shadow.bias),t.shadow.normalBias!==void 0&&(r.shadow.normalBias=t.shadow.normalBias),t.shadow.radius!==void 0&&(r.shadow.radius=t.shadow.radius),t.shadow.mapSize!==void 0&&r.shadow.mapSize.fromArray(t.shadow.mapSize),t.shadow.camera!==void 0&&(r.shadow.camera=this.parseObject(t.shadow.camera))),t.visible!==void 0&&(r.visible=t.visible),t.frustumCulled!==void 0&&(r.frustumCulled=t.frustumCulled),t.renderOrder!==void 0&&(r.renderOrder=t.renderOrder),t.userData!==void 0&&(r.userData=t.userData),t.layers!==void 0&&(r.layers.mask=t.layers),t.children!==void 0){const d=t.children;for(let f=0;f"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(t){return this.options=t,this}load(t,e,i,s){t===void 0&&(t=""),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);const n=this,r=Ve.get(t);if(r!==void 0){if(n.manager.itemStart(t),r.then){r.then(h=>{e&&e(h),n.manager.itemEnd(t)}).catch(h=>{s&&s(h)});return}return setTimeout(function(){e&&e(r),n.manager.itemEnd(t)},0),r}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const o=fetch(t,a).then(function(h){return h.blob()}).then(function(h){return createImageBitmap(h,Object.assign(n.options,{colorSpaceConversion:"none"}))}).then(function(h){return Ve.add(t,h),e&&e(h),n.manager.itemEnd(t),h}).catch(function(h){s&&s(h),Ve.remove(t),n.manager.itemError(t),n.manager.itemEnd(t)});Ve.add(t,o),n.manager.itemStart(t)}}let dn;class $h{static getContext(){return dn===void 0&&(dn=new(window.AudioContext||window.webkitAudioContext)),dn}static setContext(t){dn=t}}class Kg extends Kt{constructor(t){super(t)}load(t,e,i,s){const n=this,r=new Ge(this.manager);r.setResponseType("arraybuffer"),r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(t,function(o){try{const h=o.slice(0);$h.getContext().decodeAudioData(h,function(u){e(u)}).catch(a)}catch(h){a(h)}},i,s);function a(o){s?s(o):console.error(o),n.manager.itemError(t)}}}const Do=new Y,Uo=new Y,Ke=new Y;class jg{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new te,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new te,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(t){const e=this._cache;if(e.focus!==t.focus||e.fov!==t.fov||e.aspect!==t.aspect*this.aspect||e.near!==t.near||e.far!==t.far||e.zoom!==t.zoom||e.eyeSep!==this.eyeSep){e.focus=t.focus,e.fov=t.fov,e.aspect=t.aspect*this.aspect,e.near=t.near,e.far=t.far,e.zoom=t.zoom,e.eyeSep=this.eyeSep,Ke.copy(t.projectionMatrix);const s=e.eyeSep/2,n=s*e.near/e.focus,r=e.near*Math.tan(ii*e.fov*.5)/e.zoom;let a,o;Uo.elements[12]=-s,Do.elements[12]=s,a=-r*e.aspect+n,o=r*e.aspect+n,Ke.elements[0]=2*e.near/(o-a),Ke.elements[8]=(o+a)/(o-a),this.cameraL.projectionMatrix.copy(Ke),a=-r*e.aspect-n,o=r*e.aspect-n,Ke.elements[0]=2*e.near/(o-a),Ke.elements[8]=(o+a)/(o-a),this.cameraR.projectionMatrix.copy(Ke)}this.cameraL.matrixWorld.copy(t.matrixWorld).multiply(Uo),this.cameraR.matrixWorld.copy(t.matrixWorld).multiply(Do)}}class Qg extends te{constructor(t=[]){super(),this.isArrayCamera=!0,this.cameras=t}}class Xd{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Vo(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=Vo();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}function Vo(){return performance.now()}const je=new w,Go=new Zt,Yd=new w,Qe=new w;class $g extends tt{constructor(){super(),this.type="AudioListener",this.context=$h.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Xd}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(t){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}updateMatrixWorld(t){super.updateMatrixWorld(t);const e=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(je,Go,Yd),Qe.set(0,0,-1).applyQuaternion(Go),e.positionX){const s=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(je.x,s),e.positionY.linearRampToValueAtTime(je.y,s),e.positionZ.linearRampToValueAtTime(je.z,s),e.forwardX.linearRampToValueAtTime(Qe.x,s),e.forwardY.linearRampToValueAtTime(Qe.y,s),e.forwardZ.linearRampToValueAtTime(Qe.z,s),e.upX.linearRampToValueAtTime(i.x,s),e.upY.linearRampToValueAtTime(i.y,s),e.upZ.linearRampToValueAtTime(i.z,s)}else e.setPosition(je.x,je.y,je.z),e.setOrientation(Qe.x,Qe.y,Qe.z,i.x,i.y,i.z)}}class Jd extends tt{constructor(t){super(),this.type="Audio",this.listener=t,this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this}setMediaElementSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this}setMediaStreamSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(t),this.connect(),this}setBuffer(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this}play(t=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+t;const e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.loopStart=this.loopStart,e.loopEnd=this.loopEnd,e.onended=this.onEnded.bind(this),e.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(t=0){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+t),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t0&&this._mixBufferRegionAdditive(i,s,this._addIndex*e,1,e);for(let o=e,h=e+e;o!==h;++o)if(i[o]!==i[o+e]){a.setValue(i,s);break}}saveOriginalState(){const t=this.binding,e=this.buffer,i=this.valueSize,s=i*this._origIndex;t.getValue(e,s);for(let n=i,r=s;n!==r;++n)e[n]=e[s+n%i];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=this.valueSize*3;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let i=t;i=.5)for(let r=0;r!==n;++r)t[e+r]=t[i+r]}_slerp(t,e,i,s){Zt.slerpFlat(t,e,t,e,t,i,s)}_slerpAdditive(t,e,i,s,n){const r=this._workIndex*n;Zt.multiplyQuaternionsFlat(t,r,t,e,t,i),Zt.slerpFlat(t,e,t,e,t,r,s)}_lerp(t,e,i,s,n){const r=1-s;for(let a=0;a!==n;++a){const o=e+a;t[o]=t[o]*r+t[i+a]*s}}_lerpAdditive(t,e,i,s,n){for(let r=0;r!==n;++r){const a=e+r;t[a]=t[a]+t[i+r]*s}}}const za="\\[\\]\\.:\\/",jd=new RegExp("["+za+"]","g"),Ba="[^"+za+"]",Qd="[^"+za.replace("\\.","")+"]",$d=/((?:WC+[\/:])*)/.source.replace("WC",Ba),tf=/(WCOD+)?/.source.replace("WCOD",Qd),ef=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Ba),sf=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Ba),nf=new RegExp("^"+$d+tf+ef+sf+"$"),rf=["material","materials","bones","map"];class af{constructor(t,e,i){const s=i||$.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,s)}getValue(t,e){this.bind();const i=this._targetGroup.nCachedObjects_,s=this._bindings[i];s!==void 0&&s.getValue(t,e)}setValue(t,e){const i=this._bindings;for(let s=this._targetGroup.nCachedObjects_,n=i.length;s!==n;++s)i[s].setValue(t,e)}bind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].bind()}unbind(){const t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].unbind()}}class ${constructor(t,e,i){this.path=e,this.parsedPath=i||$.parseTrackName(e),this.node=$.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,i){return t&&t.isAnimationObjectGroup?new $.Composite(t,e,i):new $(t,e,i)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(jd,"")}static parseTrackName(t){const e=nf.exec(t);if(e===null)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const i={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},s=i.nodeName&&i.nodeName.lastIndexOf(".");if(s!==void 0&&s!==-1){const n=i.nodeName.substring(s+1);rf.indexOf(n)!==-1&&(i.nodeName=i.nodeName.substring(0,s),i.objectName=n)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return i}static findNode(t,e){if(e===void 0||e===""||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){const i=t.skeleton.getBoneByName(e);if(i!==void 0)return i}if(t.children){const i=function(n){for(let r=0;r=n){const u=n++,d=t[u];e[d.uuid]=c,t[c]=d,e[h]=u,t[u]=o;for(let f=0,p=s;f!==p;++f){const m=i[f],g=m[u],x=m[c];m[c]=g,m[u]=x}}}this.nCachedObjects_=n}uncache(){const t=this._objects,e=this._indicesByUUID,i=this._bindings,s=i.length;let n=this.nCachedObjects_,r=t.length;for(let a=0,o=arguments.length;a!==o;++a){const h=arguments[a],c=h.uuid,u=e[c];if(u!==void 0)if(delete e[c],u0&&(e[f.uuid]=u),t[u]=f,t.pop();for(let p=0,m=s;p!==m;++p){const g=i[p];g[u]=g[d],g.pop()}}}this.nCachedObjects_=n}subscribe_(t,e){const i=this._bindingsIndicesByPath;let s=i[t];const n=this._bindings;if(s!==void 0)return n[s];const r=this._paths,a=this._parsedPaths,o=this._objects,h=o.length,c=this.nCachedObjects_,u=new Array(h);s=n.length,i[t]=s,r.push(t),a.push(e),n.push(u);for(let d=c,f=o.length;d!==f;++d){const p=o[d];u[d]=new $(p,t,e)}return u}unsubscribe_(t){const e=this._bindingsIndicesByPath,i=e[t];if(i!==void 0){const s=this._paths,n=this._parsedPaths,r=this._bindings,a=r.length-1,o=r[a],h=t[a];e[h]=i,r[i]=o,r.pop(),n[i]=n[a],n.pop(),s[i]=s[a],s.pop()}}}class of{constructor(t,e,i=null,s=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=i,this.blendMode=s;const n=e.tracks,r=n.length,a=new Array(r),o={endingStart:zi,endingEnd:zi};for(let h=0;h!==r;++h){const c=n[h].createInterpolant(null);a[h]=c,c.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(r),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ac,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,i){if(t.fadeOut(e),this.fadeIn(e),i){const s=this._clip.duration,n=t._clip.duration,r=n/s,a=s/n;t.warp(1,r,e),this.warp(a,1,e)}return this}crossFadeTo(t,e,i){return t.crossFadeFrom(this,e,i)}stopFading(){const t=this._weightInterpolant;return t!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,i){const s=this._mixer,n=s.time,r=this.timeScale;let a=this._timeScaleInterpolant;a===null&&(a=s._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,h=a.sampleValues;return o[0]=n,o[1]=n+i,h[0]=t/r,h[1]=e/r,this}stopWarping(){const t=this._timeScaleInterpolant;return t!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,i,s){if(!this.enabled){this._updateWeight(t);return}const n=this._startTime;if(n!==null){const o=(t-n)*i;o<0||i===0?e=0:(this._startTime=null,e=i*o)}e*=this._updateTimeScale(t);const r=this._updateTime(e),a=this._updateWeight(t);if(a>0){const o=this._interpolants,h=this._propertyBindings;switch(this.blendMode){case Ih:for(let c=0,u=o.length;c!==u;++c)o[c].evaluate(r),h[c].accumulateAdditive(a);break;case Qr:default:for(let c=0,u=o.length;c!==u;++c)o[c].evaluate(r),h[c].accumulate(s,a)}}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const i=this._weightInterpolant;if(i!==null){const s=i.evaluate(t)[0];e*=s,t>i.parameterPositions[1]&&(this.stopFading(),s===0&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const i=this._timeScaleInterpolant;if(i!==null){const s=i.evaluate(t)[0];e*=s,t>i.parameterPositions[1]&&(this.stopWarping(),e===0?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,i=this.loop;let s=this.time+t,n=this._loopCount;const r=i===Tc;if(t===0)return n===-1?s:r&&(n&1)===1?e-s:s;if(i===Sc){n===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(s>=e)s=e;else if(s<0)s=0;else{this.time=s;break t}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=s,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(n===-1&&(t>=0?(n=0,this._setEndings(!0,this.repetitions===0,r)):this._setEndings(this.repetitions===0,!0,r)),s>=e||s<0){const a=Math.floor(s/e);s-=e*a,n+=Math.abs(a);const o=this.repetitions-n;if(o<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,s=t>0?e:0,this.time=s,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(o===1){const h=t<0;this._setEndings(h,!h,r)}else this._setEndings(!1,!1,r);this._loopCount=n,this.time=s,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=s;if(r&&(n&1)===1)return e-s}return s}_setEndings(t,e,i){const s=this._interpolantSettings;i?(s.endingStart=Bi,s.endingEnd=Bi):(t?s.endingStart=this.zeroSlopeAtStart?Bi:zi:s.endingStart=Sn,e?s.endingEnd=this.zeroSlopeAtEnd?Bi:zi:s.endingEnd=Sn)}_scheduleFading(t,e,i){const s=this._mixer,n=s.time;let r=this._weightInterpolant;r===null&&(r=s._lendControlInterpolant(),this._weightInterpolant=r);const a=r.parameterPositions,o=r.sampleValues;return a[0]=n,o[0]=e,a[1]=n+t,o[1]=i,this}}const hf=new Float32Array(1);class sy extends We{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const i=t._localRoot||this._root,s=t._clip.tracks,n=s.length,r=t._propertyBindings,a=t._interpolants,o=i.uuid,h=this._bindingsByRootAndName;let c=h[o];c===void 0&&(c={},h[o]=c);for(let u=0;u!==n;++u){const d=s[u],f=d.name;let p=c[f];if(p!==void 0)++p.referenceCount,r[u]=p;else{if(p=r[u],p!==void 0){p._cacheIndex===null&&(++p.referenceCount,this._addInactiveBinding(p,o,f));continue}const m=e&&e._propertyBindings[u].binding.parsedPath;p=new Kd($.create(i,f,m),d.ValueTypeName,d.getValueSize()),++p.referenceCount,this._addInactiveBinding(p,o,f),r[u]=p}a[u].resultBuffer=p.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(t._cacheIndex===null){const i=(t._localRoot||this._root).uuid,s=t._clip.uuid,n=this._actionsByClip[s];this._bindAction(t,n&&n.knownActions[0]),this._addInactiveAction(t,s,i)}const e=t._propertyBindings;for(let i=0,s=e.length;i!==s;++i){const n=e[i];n.useCount++===0&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let i=0,s=e.length;i!==s;++i){const n=e[i];--n.useCount===0&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return e!==null&&e=0;--i)t[i].stop();return this}update(t){t*=this.timeScale;const e=this._actions,i=this._nActiveActions,s=this.time+=t,n=Math.sign(t),r=this._accuIndex^=1;for(let h=0;h!==i;++h)e[h]._update(s,t,n,r);const a=this._bindings,o=this._nActiveBindings;for(let h=0;h!==o;++h)a[h].apply(r);return this}setTime(t){this.time=0;for(let e=0;e=this.min.x&&t.x<=this.max.x&&t.y>=this.min.y&&t.y<=this.max.y}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return t.max.x>=this.min.x&&t.min.x<=this.max.x&&t.max.y>=this.min.y&&t.min.y<=this.max.y}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Xo).distanceTo(t)}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const Yo=new w,fn=new w;class fy{constructor(t=new w,e=new w){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Yo.subVectors(t,this.start),fn.subVectors(this.end,this.start);const i=fn.dot(fn);let n=fn.dot(Yo)/i;return e&&(n=H(n,0,1)),n}closestPointToPoint(t,e,i){const s=this.closestPointToPointParameter(t,e);return this.delta(i).multiplyScalar(s).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const Jo=new w;class py extends tt{constructor(t,e){super(),this.light=t,this.matrixAutoUpdate=!1,this.color=e,this.type="SpotLightHelper";const i=new Z,s=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let r=0,a=1,o=32;r1)for(let u=0;u.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{$o.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle($o,e)}}setLength(t,e=t*.2,i=e*.2){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Ty extends Fe{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],i=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],s=new Z;s.setAttribute("position",new O(e,3)),s.setAttribute("color",new O(i,3));const n=new Gt({vertexColors:!0,toneMapped:!1});super(s,n),this.type="AxesHelper"}setColors(t,e,i){const s=new V,n=this.geometry.attributes.color.array;return s.set(t),s.toArray(n,0),s.toArray(n,3),s.set(e),s.toArray(n,6),s.toArray(n,9),s.set(i),s.toArray(n,12),s.toArray(n,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class Iy{constructor(){this.type="ShapePath",this.color=new V,this.subPaths=[],this.currentPath=null}moveTo(t,e){return this.currentPath=new Fn,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e),this}lineTo(t,e){return this.currentPath.lineTo(t,e),this}quadraticCurveTo(t,e,i,s){return this.currentPath.quadraticCurveTo(t,e,i,s),this}bezierCurveTo(t,e,i,s,n,r){return this.currentPath.bezierCurveTo(t,e,i,s,n,r),this}splineThru(t){return this.currentPath.splineThru(t),this}toShapes(t){function e(x){const y=[];for(let b=0,v=x.length;bNumber.EPSILON){if(z<0&&(A=y[M],C=-C,S=y[_],z=-z),x.yS.y)continue;if(x.y===A.y){if(x.x===A.x)return!0}else{const k=z*(x.x-A.x)-C*(x.y-A.y);if(k===0)return!0;if(k<0)continue;v=!v}}else{if(x.y!==A.y)continue;if(S.x<=x.x&&x.x<=A.x||A.x<=x.x&&x.x<=S.x)return!0}}return v}const s=ze.isClockWise,n=this.subPaths;if(n.length===0)return[];let r,a,o;const h=[];if(n.length===1)return a=n[0],o=new Ri,o.curves=a.curves,h.push(o),h;let c=!s(n[0].getPoints());c=t?!c:c;const u=[],d=[];let f=[],p=0,m;d[p]=void 0,f[p]=[];for(let x=0,y=n.length;x1){let x=!1,y=0;for(let b=0,v=d.length;b0&&x===!1&&(f=u)}let g;for(let x=0,y=d.length;xt?(l.repeat.x=1,l.repeat.y=e/t,l.offset.x=0,l.offset.y=(1-l.repeat.y)/2):(l.repeat.x=t/e,l.repeat.y=1,l.offset.x=(1-l.repeat.x)/2,l.offset.y=0),l}function df(l,t){const e=l.image&&l.image.width?l.image.width/l.image.height:1;return e>t?(l.repeat.x=t/e,l.repeat.y=1,l.offset.x=(1-l.repeat.x)/2,l.offset.y=0):(l.repeat.x=1,l.repeat.y=e/t,l.offset.x=0,l.offset.y=(1-l.repeat.y)/2),l}function ff(l){return l.repeat.x=1,l.repeat.y=1,l.offset.x=0,l.offset.y=0,l}function pf(l,t,e,i){const s=mf(i);switch(e){case Dl:return l*t;case Vl:return l*t;case Gl:return l*t*2;case Ah:return l*t/s.components*s.byteLength;case Th:return l*t/s.components*s.byteLength;case Wl:return l*t*2/s.components*s.byteLength;case Hl:return l*t*2/s.components*s.byteLength;case Ul:return l*t*3/s.components*s.byteLength;case ys:return l*t*4/s.components*s.byteLength;case ql:return l*t*4/s.components*s.byteLength;case Xl:case Yl:return Math.floor((l+3)/4)*Math.floor((t+3)/4)*8;case Jl:case Zl:return Math.floor((l+3)/4)*Math.floor((t+3)/4)*16;case jl:case $l:return Math.max(l,16)*Math.max(t,8)/4;case Kl:case Ql:return Math.max(l,8)*Math.max(t,8)/2;case tc:case ec:return Math.floor((l+3)/4)*Math.floor((t+3)/4)*8;case ic:return Math.floor((l+3)/4)*Math.floor((t+3)/4)*16;case sc:return Math.floor((l+3)/4)*Math.floor((t+3)/4)*16;case nc:return Math.floor((l+4)/5)*Math.floor((t+3)/4)*16;case rc:return Math.floor((l+4)/5)*Math.floor((t+4)/5)*16;case ac:return Math.floor((l+5)/6)*Math.floor((t+4)/5)*16;case oc:return Math.floor((l+5)/6)*Math.floor((t+5)/6)*16;case hc:return Math.floor((l+7)/8)*Math.floor((t+4)/5)*16;case lc:return Math.floor((l+7)/8)*Math.floor((t+5)/6)*16;case cc:return Math.floor((l+7)/8)*Math.floor((t+7)/8)*16;case uc:return Math.floor((l+9)/10)*Math.floor((t+4)/5)*16;case dc:return Math.floor((l+9)/10)*Math.floor((t+5)/6)*16;case fc:return Math.floor((l+9)/10)*Math.floor((t+7)/8)*16;case pc:return Math.floor((l+9)/10)*Math.floor((t+9)/10)*16;case mc:return Math.floor((l+11)/12)*Math.floor((t+9)/10)*16;case gc:return Math.floor((l+11)/12)*Math.floor((t+11)/12)*16;case yc:case xc:case bc:return Math.ceil(l/4)*Math.ceil(t/4)*16;case vc:case wc:return Math.ceil(l/4)*Math.ceil(t/4)*8;case _c:case Mc:return Math.ceil(l/4)*Math.ceil(t/4)*16}throw new Error(`Unable to determine texture byte length for ${e} format.`)}function mf(l){switch(l){case Sh:case Bl:return{byteLength:1,components:1};case Pl:case Fl:case El:return{byteLength:2,components:1};case Rl:case Ll:return{byteLength:2,components:4};case jr:case kl:case Li:return{byteLength:4,components:1};case Nl:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${l}.`)}const zy={contain:uf,cover:df,fill:ff,getByteLength:pf};typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:_h}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=_h);function sl(l){return l>=.7?"active":l>=.4?"dormant":l>=.1?"silent":"unavailable"}const nl={active:"#10b981",dormant:"#f59e0b",silent:"#8b5cf6",unavailable:"#6b7280"},By={active:"Easily retrievable (retention ≥ 70%)",dormant:"Retrievable with effort (40–70%)",silent:"Difficult, needs cues (10–40%)",unavailable:"Needs reinforcement (< 10%)"},zr={aha:"#FFD700",confusion:"#EF4444",failure:"#9CA3AF"},Fy={aha:"Aha moments and breakthroughs",confusion:"Confusions and weak spots",failure:"Failures and guardrails"};function th(l,t){return t==="state"?nl[sl(l.retention)]:t==="ahagraph"?rl(l)??ka[l.type]??"#8B95A5":ka[l.type]||"#8B95A5"}function rl(l){const t=new Set((l.tags??[]).map(e=>e.toLowerCase()));return t.has("aha")?zr.aha:t.has("confusion")||t.has("weak-spot")?zr.confusion:t.has("failure")||t.has("guardrail")?zr.failure:null}let is=null;function gf(){if(is)return is;const l=128,t=document.createElement("canvas");t.width=l,t.height=l;const e=t.getContext("2d");if(!e)return is=new gt,is;const i=e.createRadialGradient(l/2,l/2,0,l/2,l/2,l/2);i.addColorStop(0,"rgba(255, 255, 255, 1.0)"),i.addColorStop(.25,"rgba(255, 255, 255, 0.7)"),i.addColorStop(.55,"rgba(255, 255, 255, 0.2)"),i.addColorStop(1,"rgba(255, 255, 255, 0.0)"),e.fillStyle=i,e.fillRect(0,0,l,l);const s=new Nh(t);return s.needsUpdate=!0,is=s,s}function eh(l){if(l===0||l===1)return l;const t=.3;return Math.pow(2,-10*l)*Math.sin((l-t/4)*(2*Math.PI)/t)+1}function yf(l){return l*l*((1.70158+1)*l-1.70158)}class Py{constructor(){T(this,"group");T(this,"meshMap",new Map);T(this,"glowMap",new Map);T(this,"positions",new Map);T(this,"labelSprites",new Map);T(this,"hoveredNode",null);T(this,"selectedNode",null);T(this,"colorMode","type");T(this,"materializingNodes",[]);T(this,"dissolvingNodes",[]);T(this,"growingNodes",[]);this.group=new Oh}setColorMode(t){if(this.colorMode!==t){this.colorMode=t;for(const[e,i]of this.meshMap){const s=i.userData.retention??0,n=i.userData.type??"fact",r=Array.isArray(i.userData.tags)?i.userData.tags:[],o=th({type:n,retention:s,tags:r},t),h=new V(o),c=i.material;c.color.copy(h),c.emissive.copy(h);const u=this.glowMap.get(e);u&&u.material.color.copy(h)}}}createNodes(t){const e=(1+Math.sqrt(5))/2,i=t.length;for(let s=0;s0,a=new Is(s,16,16),o=new Aa({color:new V(n),emissive:new V(n),emissiveIntensity:r?0:.3+t.retention*.5,roughness:.3,metalness:.1,transparent:!0,opacity:r?.2:.3+t.retention*.7}),h=new Vt(a,o);h.position.copy(e),h.scale.setScalar(i),h.userData={nodeId:t.id,type:t.type,retention:t.retention,tags:t.tags},this.meshMap.set(t.id,h),this.group.add(h);const c=new fs({map:gf(),color:new V(n),transparent:!0,opacity:i>0?r?.1:.3+t.retention*.35:0,blending:wl,depthWrite:!1}),u=new cs(c);u.scale.set(s*6*i,s*6*i,1),u.position.copy(e),u.userData={isGlow:!0,nodeId:t.id},this.glowMap.set(t.id,u),this.group.add(u);const d=t.label||t.type,f=this.createTextSprite(d,"#94a3b8");return f.position.copy(e),f.position.y+=s*2+1.5,f.userData={isLabel:!0,nodeId:t.id,offset:s*2+1.5},this.group.add(f),this.labelSprites.set(t.id,f),{mesh:h,glow:u,label:f,size:s}}addNode(t,e,i={}){const s=(e==null?void 0:e.clone())??new w((Math.random()-.5)*40,(Math.random()-.5)*40,(Math.random()-.5)*40);this.positions.set(t.id,s);const{mesh:n,glow:r,label:a}=this.createNodeMeshes(t,s,0);return n.scale.setScalar(.001),r.scale.set(.001,.001,1),r.material.opacity=0,a.material.opacity=0,i.isBirthRitual?(n.visible=!1,r.visible=!1,a.visible=!1,n.userData.birthRitualPending={totalFrames:30,targetScale:.5+t.retention*2}):this.materializingNodes.push({id:t.id,frame:0,totalFrames:30,mesh:n,glow:r,label:a,targetScale:.5+t.retention*2}),s}igniteNode(t){const e=this.meshMap.get(t),i=this.glowMap.get(t),s=this.labelSprites.get(t);if(!e||!i||!s)return;const n=e.userData.birthRitualPending;n&&(e.visible=!0,i.visible=!0,s.visible=!0,delete e.userData.birthRitualPending,this.materializingNodes.push({id:t,frame:0,totalFrames:n.totalFrames,mesh:e,glow:i,label:s,targetScale:n.targetScale}))}removeNode(t){const e=this.meshMap.get(t),i=this.glowMap.get(t),s=this.labelSprites.get(t);!e||!i||!s||(this.materializingNodes=this.materializingNodes.filter(n=>n.id!==t),this.dissolvingNodes.push({id:t,frame:0,totalFrames:60,mesh:e,glow:i,label:s,originalScale:e.scale.x}))}growNode(t,e){const i=this.meshMap.get(t);if(!i)return;const s=i.scale.x,n=.5+e*2;i.userData.retention=e,this.growingNodes.push({id:t,frame:0,totalFrames:30,startScale:s,targetScale:n})}createTextSprite(t,e){const i=document.createElement("canvas"),s=i.getContext("2d");if(!s){const x=new gt;return new cs(new fs({map:x,transparent:!0,opacity:0}))}i.width=512,i.height=64;const n=t.length>40?t.slice(0,37)+"...":t;s.clearRect(0,0,i.width,i.height),s.font='600 22px -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif';const a=s.measureText(n).width,h=Math.min(a+14*2,i.width-4),c=40,u=(i.width-h)/2,d=(i.height-c)/2,f=c/2;s.fillStyle="rgba(10, 16, 28, 0.82)",s.beginPath(),s.moveTo(u+f,d),s.lineTo(u+h-f,d),s.quadraticCurveTo(u+h,d,u+h,d+f),s.lineTo(u+h,d+c-f),s.quadraticCurveTo(u+h,d+c,u+h-f,d+c),s.lineTo(u+f,d+c),s.quadraticCurveTo(u,d+c,u,d+c-f),s.lineTo(u,d+f),s.quadraticCurveTo(u,d,u+f,d),s.closePath(),s.fill(),s.strokeStyle="rgba(148, 163, 184, 0.18)",s.lineWidth=1,s.stroke(),s.textAlign="center",s.textBaseline="middle",s.fillStyle=e,s.fillText(n,i.width/2,i.height/2+1);const p=new Nh(i);p.needsUpdate=!0;const m=new fs({map:p,transparent:!0,opacity:0,depthTest:!1,sizeAttenuation:!0}),g=new cs(m);return g.scale.set(9,1.2,1),g}updatePositions(){this.group.children.forEach(t=>{if(t.userData.nodeId){const e=this.positions.get(t.userData.nodeId);if(!e)return;t.userData.isGlow?t.position.copy(e):t.userData.isLabel?(t.position.copy(e),t.position.y+=t.userData.offset):t instanceof Vt&&t.position.copy(e)}})}animate(t,e,i,s=1){var r,a;for(let o=this.materializingNodes.length-1;o>=0;o--){const h=this.materializingNodes[o];h.frame++;const c=Math.min(h.frame/h.totalFrames,1),u=eh(c);if(h.mesh.scale.setScalar(Math.max(.001,u)),h.frame>=5){const d=Math.min((h.frame-5)/5,1),f=h.glow.material;f.opacity=d*.4;const p=h.targetScale*6*u;h.glow.scale.set(p,p,1)}if(h.frame>=40){const d=Math.min((h.frame-40)/20,1);h.label.material.opacity=d*.9}h.frame>=60&&this.materializingNodes.splice(o,1)}for(let o=this.dissolvingNodes.length-1;o>=0;o--){const h=this.dissolvingNodes[o];h.frame++;const c=Math.min(h.frame/h.totalFrames,1),u=1-yf(c),d=Math.max(.001,h.originalScale*u);h.mesh.scale.setScalar(d);const f=d*6;h.glow.scale.set(f,f,1);const p=h.mesh.material;p.opacity*=.97,h.glow.material.opacity*=.95,h.label.material.opacity*=.93,h.frame>=h.totalFrames&&(this.group.remove(h.mesh),this.group.remove(h.glow),this.group.remove(h.label),h.mesh.geometry.dispose(),h.mesh.material.dispose(),(r=h.glow.material.map)==null||r.dispose(),h.glow.material.dispose(),(a=h.label.material.map)==null||a.dispose(),h.label.material.dispose(),this.meshMap.delete(h.id),this.glowMap.delete(h.id),this.labelSprites.delete(h.id),this.positions.delete(h.id),this.dissolvingNodes.splice(o,1))}for(let o=this.growingNodes.length-1;o>=0;o--){const h=this.growingNodes[o];h.frame++;const c=Math.min(h.frame/h.totalFrames,1),u=h.startScale+(h.targetScale-h.startScale)*eh(c),d=this.meshMap.get(h.id);d&&d.scale.setScalar(u);const f=this.glowMap.get(h.id);if(f){const p=u*6;f.scale.set(p,p,1)}h.frame>=h.totalFrames&&this.growingNodes.splice(o,1)}const n=new Set([...this.materializingNodes.map(o=>o.id),...this.dissolvingNodes.map(o=>o.id),...this.growingNodes.map(o=>o.id)]);this.meshMap.forEach((o,h)=>{if(n.has(h))return;const c=e.find(y=>y.id===h);if(!c)return;const u=1+Math.sin(t*1.5+e.indexOf(c)*.5)*.15*c.retention;o.scale.setScalar(u);const d=this.positions.get(h),f=d?i.position.distanceTo(d):0,p=1+Math.min(1.4,Math.max(0,(f-60)/100)),m=o.material;if(h===this.hoveredNode)m.emissiveIntensity=1*s;else if(h===this.selectedNode)m.emissiveIntensity=.8*s;else{const b=.3+c.retention*.5+Math.sin(t*(.8+c.retention*.7))*.1*c.retention;m.emissiveIntensity=b*s*p}const g=.3+c.retention*.7;m.opacity=Math.min(1,g*s*p);const x=this.glowMap.get(h);if(x){const y=x.material,b=.3+c.retention*.35;y.opacity=Math.min(.95,b*s*p)}}),this.labelSprites.forEach((o,h)=>{if(n.has(h))return;const c=this.positions.get(h);if(!c)return;const u=i.position.distanceTo(c),d=o.material,f=h===this.hoveredNode||h===this.selectedNode?1:u<40?.9:u<80?.9*(1-(u-40)/40):0;d.opacity+=(f-d.opacity)*.1})}getMeshes(){return Array.from(this.meshMap.values())}dispose(){this.group.traverse(t=>{var e,i,s,n,r;t instanceof Vt?((e=t.geometry)==null||e.dispose(),(i=t.material)==null||i.dispose()):t instanceof cs&&((n=(s=t.material)==null?void 0:s.map)==null||n.dispose(),(r=t.material)==null||r.dispose())}),this.materializingNodes=[],this.dissolvingNodes=[],this.growingNodes=[]}}function xf(l){var e,i;const t={};for(const s of l)(t[e=s.source]??(t[e]=[])).push({edge:s,otherId:s.target}),(t[i=s.target]??(t[i]=[])).push({edge:s,otherId:s.source});for(const s of Object.keys(t))t[s].sort((n,r)=>(r.edge.weight??0)-(n.edge.weight??0));return t}function Br(l){const t=(l.type??"").toLowerCase();return t.includes("contradict")||t.includes("conflict")||t.includes("supersede")}function bn(l){const t=Date.parse(l.updatedAt||l.createdAt||"");return Number.isFinite(t)?t:0}function bf(l,t,e,i=7){var g;const s=new Map(l.map(x=>[x.id,x])),n={beats:[],centerId:e,pivoted:!1,flowEdges:[]};if(l.length===0)return n;const r=xf(t),a=s.has(e);let o=a?e:"";o||(o=((g=l.find(x=>x.isCenter))==null?void 0:g.id)??""),o||(o=l.map(x=>{var y;return{id:x.id,deg:((y=r[x.id])==null?void 0:y.length)??0}}).sort((x,y)=>y.deg-x.deg)[0].id);const h=s.get(o);if(!h)return n;const c=!a,u=new Set([o]),d=[{nodeId:o,node:h,viaEdge:null,kind:"origin",intensity:1}],f=[];let p=o,m=!1;for(;d.length!u.has(v.otherId)&&Br(v.edge)),y&&(m=!0)),y||(y=x.find(v=>!u.has(v.otherId))),!y){const v=l.filter(M=>!u.has(M.id)).sort((M,A)=>bn(A)-bn(M));if(v.length===0)break;const _=v[0];u.add(_.id),d.push({nodeId:_.id,node:_,viaEdge:null,kind:"bridge",intensity:.6}),p=_.id;continue}const b=s.get(y.otherId);if(!b){u.add(y.otherId);continue}u.add(b.id),f.push(y.edge),d.push({nodeId:b.id,node:b,viaEdge:y.edge,kind:Br(y.edge)?"contradiction":"connection",intensity:Br(y.edge)?1:Math.min(1,.55+(y.edge.weight??0)*.45)}),p=b.id}if(d.lengthb.id!==x).sort((b,v)=>bn(v)-bn(b))[0];y&&!d.some(b=>b.nodeId===y.id)&&d.push({nodeId:y.id,node:y,viaEdge:null,kind:"recent",intensity:.8})}return{beats:d,centerId:o,pivoted:c,flowEdges:f}}var vf=At(''),wf=At('CAPTURE'),_f=At(' '),Mf=At('

');function Sf(l,t){Ms(t,!0);let e=lt(t,"demoMode",3,"recall-path"),i=lt(t,"seed",3,"vestige-observatory-v1"),s=lt(t,"nodeCount",3,0),n=lt(t,"edgeCount",3,0),r=lt(t,"centerId",3,""),a=lt(t,"frameCount",3,0),o=lt(t,"fpsEstimate",3,0),h=lt(t,"freezeFrame",3,null);lt(t,"loading",3,!1),lt(t,"error",3,"");function c(){const R=new URLSearchParams({demo:e(),seed:i()});h()!==null&&R.set("frame",String(h()));const I=`${window.location.origin}${wh}/observatory?${R.toString()}`;navigator.clipboard.writeText(I).catch(()=>{})}var u=Mf(),d=rt(u),f=rt(d),p=rt(f),m=rt(p,!0);st(p);var g=ct(p,2),x=rt(g);st(g),st(f);var y=ct(f,2),b=rt(y),v=rt(b);st(b);var _=ct(b,2);{var M=R=>{var I=vf(),N=rt(I);st(I),oe(wt=>Xt(N,`center=${wt??""}`),[()=>r().slice(0,8)]),xt(R,I)};zt(_,R=>{r()&&R(M)})}st(y);var A=ct(y,2),S=rt(A),C=rt(S);st(S);var z=ct(S,2);{var k=R=>{var I=wf();xt(R,I)},U=R=>{var I=_f(),N=rt(I);st(I),oe(()=>Xt(N,`${o()??""}fps`)),xt(R,I)};zt(z,R=>{h()!==null?R(k):o()>0&&R(U,1)})}var W=ct(z,2);st(A),st(d),st(u),oe((R,I)=>{Xt(m,e()),Xt(x,`seed=${R??""}${i().length>12?"…":""}`),Xt(v,`${s()??""} nodes · ${n()??""} edges`),Xt(C,`frame: ${I??""}`)},[()=>i().slice(0,12),()=>String(a()).padStart(3," ")]),wn("click",W,c),xt(l,u),Ss()}xh(["click"]);var Af=At('
'),Tf=At("
"),If=At('
');function Cf(l,t){Ms(t,!0);let e=lt(t,"steps",19,()=>[]),i=lt(t,"frame",3,0),s=lt(t,"loopFrames",3,720);const n=u=>u/s()*100;function r(u,d){const f=d-u;return f<-14||f>90?0:f<0?1+f/14:1-f/90}let a=Xr(()=>{let u="",d=.15;for(const f of e()){const p=r(f.beatFrame,i());p>d&&(d=p,u=f.label)}return u});var o=gh(),h=qr(o);{var c=u=>{var d=If(),f=rt(d);{var p=y=>{var b=Af(),v=rt(b,!0);st(b),oe(()=>Xt(v,D(a))),xt(y,b)};zt(f,y=>{D(a)&&y(p)})}var m=ct(f,2),g=rt(m);bh(g,17,e,y=>y.beatFrame,(y,b)=>{var v=Tf();let _;oe((M,A,S)=>{_=us(v,1,"tick svelte-8n8iia",null,_,M),kr(v,`left: ${A??""}%; opacity: ${S??""}`),Yr(v,"title",D(b).label)},[()=>({hot:r(D(b).beatFrame,i())>0,backward:D(b).kind===1}),()=>n(D(b).beatFrame),()=>.45+.55*r(D(b).beatFrame,i())]),xt(y,v)});var x=ct(g,2);st(m),st(d),oe(y=>kr(x,`left: ${y??""}%`),[()=>n(i())]),xt(u,d)};zt(h,u=>{e().length>0&&u(c)})}xt(l,o),Ss()}var zf=At('
');function ih(l,t){Ms(t,!0);let e=lt(t,"frame",3,0),i=lt(t,"fadeWindow",19,()=>[600,620,705,719]),s=lt(t,"tone",3,"triumph");const n=(c,u,d)=>{const f=Math.min(1,Math.max(0,(d-c)/(u-c)));return f*f*(3-2*f)};let r=Xr(()=>n(i()[0],i()[1],e())*(1-n(i()[2],i()[3],e())));var a=gh(),o=qr(a);{var h=c=>{var u=zf();let d;var f=rt(u),p=rt(f,!0);st(f);var m=ct(f,2),g=rt(m,!0);st(m);var x=ct(m,2),y=rt(x,!0);st(x),st(u),oe(()=>{d=us(u,1,"verdict svelte-ssd7yu",null,d,{quarantine:s()==="quarantine"}),kr(u,`opacity: ${D(r)??""}`),Xt(p,t.verdict.headline),Xt(g,t.verdict.causeLabel),Xt(y,t.verdict.receipt)}),xt(c,u)};zt(o,c=>{D(r)>.001&&c(h)})}xt(l,a),Ss()}function sh(l){let t=1779033703^l.length;for(let e=0;e>>19;return function(){let e=t+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}}function nh(l){return function(){let t=l+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}}class Hn{constructor(t){T(this,"fps");T(this,"loopFrames");T(this,"seedStr");T(this,"_frame");T(this,"_totalFrames");T(this,"_rng");this.fps=t.fps??60,this.loopFrames=t.loopFrames??720,this.seedStr=t.seed,this._frame=0,this._totalFrames=0;const e=sh(this.seedStr)();this._rng=nh(Math.floor(e*2**32))}tick(){return this._frame=(this._frame+1)%this.loopFrames,this._totalFrames++,this.state}get state(){return{frame:this._frame,phase:this._frame/this.loopFrames,rng:this._rng,totalFrames:this._totalFrames}}reset(){this._frame=0,this._totalFrames=0;const t=sh(this.seedStr)();this._rng=nh(Math.floor(t*2**32))}get loopDuration(){return this.loopFrames/this.fps}get framesPerLoop(){return this.loopFrames}}function al(l,t,e,i){const s=Math.PI*(3-Math.sqrt(5)),n=1-l/(t-1||1)*2,r=Math.sqrt(1-n*n),a=s*l,o=Math.cos(a)*r,h=Math.sin(a)*r,c=(i()-.5)*.1*e,u=(i()-.5)*.1*e,d=(i()-.5)*.1*e;return[o*e+c,n*e+u,h*e+d]}const Fa=["recall-path","engram-birth","salience-rescue","forgetting-horizon","firewall"];function ky(l){return Fa.includes(l)}const vt=16,ce={posRadius:0,velRetention:4,colorFlags:8},ss={isCenter:1,suppressed:2,isAha:4,isFailure:8,isConfusion:16},Fr=2,ns=4,Be={recall:0,backwardCause:1,probe:2},Bf=12;function Ff(l){const t=Fa.indexOf(l);return t<0?0:t}function Pf(l,t){return{id:l.id,index:t,label:l.label,type:l.type,retention:typeof l.retention=="number"?l.retention:0,tags:Array.isArray(l.tags)?l.tags:[],isCenter:!!l.isCenter,suppressed:(l.suppression_count??0)>0}}function kf(l,t){const e=Math.max(1,l>>1),i=Math.max(1,t>>1),s=Math.min(6,Math.max(1,1+Math.floor(Math.log2(Math.min(e,i)/8)))),n=Array.from({length:s},(r,a)=>[Math.max(1,e>>a),Math.max(1,i>>a)]);return{baseW:e,baseH:i,mipCount:s,sizes:n}}const _n=.18,Ef=0,Rf=2/255,Lf=.85,Of=.62,Nf=` +// Tuning constants — interpolated from post.wgsl.ts (TS single source of truth). +const BLOOM_STRENGTH: f32 = ${_n}; +const BLOOM_CHROMATIC_TEXELS: f32 = ${Ef}; +const GRAIN_AMP: f32 = ${Rf}; +const VIGNETTE_LIFT: f32 = ${Lf}; +const VIGNETTE_TAN: f32 = ${Of}; + +// Params layout — VERBATIM from render-nodes.wgsl.ts (types.PARAMS_FLOATS). +struct Params { + frame: f32, + loop_phase: f32, + node_count: f32, + edge_count: f32, + path_count: f32, + pulse: f32, + viewport_w: f32, + viewport_h: f32, + brightness: f32, + demo_id: f32, + time: f32, + _pad: f32, +}; + +// Globally unique bindings — each entry point statically uses a subset; the +// explicit bind group layouts in post-chain.ts carry exactly what each +// pipeline needs (blur: 1+2, composite: 0+2+3+4). +@group(0) @binding(0) var params: Params; // composite only +@group(0) @binding(1) var src: texture_2d; // blur chain input +@group(0) @binding(2) var samp: sampler; // shared +@group(0) @binding(3) var scene_tex: texture_2d; // composite only +@group(0) @binding(4) var bloom_tex: texture_2d; // composite only (FULL-mip view) + +struct FSOut { + @builtin(position) pos: vec4f, + @location(0) uv: vec2f, +}; + +// Fullscreen triangle from bit math — no vertex buffer, no arrays. +// vi 0/1/2 → clip (-1,-1) (3,-1) (-1,3); uv y flipped so uv(0,0) = top-left. +@vertex +fn vs_fullscreen(@builtin(vertex_index) vi: u32) -> FSOut { + let xy = vec2f(f32((vi << 1u) & 2u), f32(vi & 2u)) * 2.0 - 1.0; + var out: FSOut; + out.pos = vec4f(xy, 0.0, 1.0); + out.uv = vec2f(xy.x, -xy.y) * 0.5 + 0.5; + return out; +} + +fn luma(c: vec3f) -> f32 { + return dot(c, vec3f(0.2126, 0.7152, 0.0722)); +} + +// --------------------------------------------------------------------------- +// Bloom downsample — 13-tap Jimenez (SIGGRAPH 2014 "Next Generation Post +// Processing in Call of Duty: Advanced Warfare"), taps fully unrolled. +// +// a b c outer ring at ±2 texels +// j k inner ring at ±1 texels +// d e f e = center +// l m +// g h i +// +// Grouped as 5 overlapping 4-tap boxes: center box (the four inner taps) +// weight 0.5, four corner boxes weight 0.125 each. A flat field reproduces +// itself EXACTLY (0.5 + 4·0.125 = 1) — that exactness is what the void +// preimage in tone-reference.ts depends on. +// --------------------------------------------------------------------------- + +@fragment +fn fs_downsample_karis(in: FSOut) -> @location(0) vec4f { + let ts = 1.0 / vec2f(textureDimensions(src)); + let a = textureSampleLevel(src, samp, in.uv + vec2f(-2.0, -2.0) * ts, 0.0).rgb; + let b = textureSampleLevel(src, samp, in.uv + vec2f( 0.0, -2.0) * ts, 0.0).rgb; + let c = textureSampleLevel(src, samp, in.uv + vec2f( 2.0, -2.0) * ts, 0.0).rgb; + let d = textureSampleLevel(src, samp, in.uv + vec2f(-2.0, 0.0) * ts, 0.0).rgb; + let e = textureSampleLevel(src, samp, in.uv, 0.0).rgb; + let f = textureSampleLevel(src, samp, in.uv + vec2f( 2.0, 0.0) * ts, 0.0).rgb; + let g = textureSampleLevel(src, samp, in.uv + vec2f(-2.0, 2.0) * ts, 0.0).rgb; + let h = textureSampleLevel(src, samp, in.uv + vec2f( 0.0, 2.0) * ts, 0.0).rgb; + let i = textureSampleLevel(src, samp, in.uv + vec2f( 2.0, 2.0) * ts, 0.0).rgb; + let j = textureSampleLevel(src, samp, in.uv + vec2f(-1.0, -1.0) * ts, 0.0).rgb; + let k = textureSampleLevel(src, samp, in.uv + vec2f( 1.0, -1.0) * ts, 0.0).rgb; + let l = textureSampleLevel(src, samp, in.uv + vec2f(-1.0, 1.0) * ts, 0.0).rgb; + let m = textureSampleLevel(src, samp, in.uv + vec2f( 1.0, 1.0) * ts, 0.0).rgb; + + let box_c = (j + k + l + m) * 0.25; + let box_tl = (a + b + d + e) * 0.25; + let box_tr = (b + c + e + f) * 0.25; + let box_bl = (d + e + g + h) * 0.25; + let box_br = (e + f + h + i) * 0.25; + + // Karis average (fireflies killer) — used ONLY on the full→mip0 hop. + // Each box is additionally weighted 1/(1 + luma) and the sum RENORMALIZED: + // on a flat field every Karis factor is equal, so the result is exact. + let w_c = 0.5 / (1.0 + luma(box_c)); + let w_tl = 0.125 / (1.0 + luma(box_tl)); + let w_tr = 0.125 / (1.0 + luma(box_tr)); + let w_bl = 0.125 / (1.0 + luma(box_bl)); + let w_br = 0.125 / (1.0 + luma(box_br)); + let sum = w_c * box_c + w_tl * box_tl + w_tr * box_tr + w_bl * box_bl + w_br * box_br; + return vec4f(sum / (w_c + w_tl + w_tr + w_bl + w_br), 1.0); +} + +@fragment +fn fs_downsample(in: FSOut) -> @location(0) vec4f { + let ts = 1.0 / vec2f(textureDimensions(src)); + let a = textureSampleLevel(src, samp, in.uv + vec2f(-2.0, -2.0) * ts, 0.0).rgb; + let b = textureSampleLevel(src, samp, in.uv + vec2f( 0.0, -2.0) * ts, 0.0).rgb; + let c = textureSampleLevel(src, samp, in.uv + vec2f( 2.0, -2.0) * ts, 0.0).rgb; + let d = textureSampleLevel(src, samp, in.uv + vec2f(-2.0, 0.0) * ts, 0.0).rgb; + let e = textureSampleLevel(src, samp, in.uv, 0.0).rgb; + let f = textureSampleLevel(src, samp, in.uv + vec2f( 2.0, 0.0) * ts, 0.0).rgb; + let g = textureSampleLevel(src, samp, in.uv + vec2f(-2.0, 2.0) * ts, 0.0).rgb; + let h = textureSampleLevel(src, samp, in.uv + vec2f( 0.0, 2.0) * ts, 0.0).rgb; + let i = textureSampleLevel(src, samp, in.uv + vec2f( 2.0, 2.0) * ts, 0.0).rgb; + let j = textureSampleLevel(src, samp, in.uv + vec2f(-1.0, -1.0) * ts, 0.0).rgb; + let k = textureSampleLevel(src, samp, in.uv + vec2f( 1.0, -1.0) * ts, 0.0).rgb; + let l = textureSampleLevel(src, samp, in.uv + vec2f(-1.0, 1.0) * ts, 0.0).rgb; + let m = textureSampleLevel(src, samp, in.uv + vec2f( 1.0, 1.0) * ts, 0.0).rgb; + + let box_c = (j + k + l + m) * 0.25; + let box_tl = (a + b + d + e) * 0.25; + let box_tr = (b + c + e + f) * 0.25; + let box_bl = (d + e + g + h) * 0.25; + let box_br = (e + f + h + i) * 0.25; + return vec4f(box_c * 0.5 + (box_tl + box_tr + box_bl + box_br) * 0.125, 1.0); +} + +// --------------------------------------------------------------------------- +// Bloom upsample — 9-tap 3×3 tent, 1/16·[1 2 1; 2 4 2; 1 2 1], radius = one +// SOURCE-mip texel. Rendered with additive one/one blending onto the stored +// downsample of the destination mip (accumulate-up-the-chain). The resulting +// DC gain of exactly mipCount is normalized in fs_composite. +// --------------------------------------------------------------------------- + +@fragment +fn fs_upsample_tent(in: FSOut) -> @location(0) vec4f { + let ts = 1.0 / vec2f(textureDimensions(src)); + let a = textureSampleLevel(src, samp, in.uv + vec2f(-1.0, -1.0) * ts, 0.0).rgb; + let b = textureSampleLevel(src, samp, in.uv + vec2f( 0.0, -1.0) * ts, 0.0).rgb; + let c = textureSampleLevel(src, samp, in.uv + vec2f( 1.0, -1.0) * ts, 0.0).rgb; + let d = textureSampleLevel(src, samp, in.uv + vec2f(-1.0, 0.0) * ts, 0.0).rgb; + let e = textureSampleLevel(src, samp, in.uv, 0.0).rgb; + let f = textureSampleLevel(src, samp, in.uv + vec2f( 1.0, 0.0) * ts, 0.0).rgb; + let g = textureSampleLevel(src, samp, in.uv + vec2f(-1.0, 1.0) * ts, 0.0).rgb; + let h = textureSampleLevel(src, samp, in.uv + vec2f( 0.0, 1.0) * ts, 0.0).rgb; + let i = textureSampleLevel(src, samp, in.uv + vec2f( 1.0, 1.0) * ts, 0.0).rgb; + let sum = (a + c + g + i) + (b + d + f + h) * 2.0 + e * 4.0; + return vec4f(sum * (1.0 / 16.0), 1.0); +} + +// --------------------------------------------------------------------------- +// Composite — bloom-add → PBR Neutral → grain → vignette (order is mandated). +// --------------------------------------------------------------------------- + +// Khronos PBR Neutral — EXACT port of the Khronos reference implementation. +// Hue-preserving; the FSRS palette keeps its channel ordering. Pinned to the +// CPU mirror in post/tone-reference.ts (pbrNeutralReference) — keep in +// lockstep, the void-preimage tests run against the mirror. +fn pbr_neutral(color_in: vec3f) -> vec3f { + let start_compression = 0.8 - 0.04; + let desaturation = 0.15; + var color = color_in; + let x = min(color.r, min(color.g, color.b)); + // WGSL select(false_value, true_value, condition) — argument order trap. + let offset = select(0.04, x - 6.25 * x * x, x < 0.08); + color = color - vec3f(offset); + let peak = max(color.r, max(color.g, color.b)); + if (peak < start_compression) { + return color; + } + let d = 1.0 - start_compression; + let new_peak = 1.0 - d * d / (peak + d - start_compression); + color = color * (new_peak / peak); + let g = 1.0 / (desaturation * (peak - new_peak) + 1.0); + // mix weight = 1 - g per the Khronos spec. + return mix(color, vec3f(new_peak), 1.0 - g); +} + +// PCG hash — integers only, 24-bit-exact output in [0, 1). Deterministic. +fn pcg(v: u32) -> u32 { + var s = v * 747796405u + 2891336453u; + let t = ((s >> ((s >> 28u) + 4u)) ^ s) * 277803737u; + return (t >> 22u) ^ t; +} + +fn hashf(p: vec2u, f: u32) -> f32 { + return f32(pcg(p.x ^ pcg(p.y ^ pcg(f))) >> 8u) / 16777216.0; +} + +@fragment +fn fs_composite(in: FSOut) -> @location(0) vec4f { + let pix = vec2u(in.pos.xy); + // Exact 1:1 fetch (alpha discarded — see module header). + let scene = textureLoad(scene_tex, pix, 0).rgb; + + // Bloom, normalized by the mip count: the additive up-chain has DC gain + // exactly mipCount, so /mips makes flat-field gain exactly 1 — the void + // preimage holds and brightness is viewport-stable. Chromatic dispersion + // rides the bloom term ONLY (BLOOM_CHROMATIC_TEXELS = 0.0 kills it). + let mips = f32(textureNumLevels(bloom_tex)); + let dims = vec2f(textureDimensions(bloom_tex)); + let dvec = in.uv - vec2f(0.5); + let off = dvec * (BLOOM_CHROMATIC_TEXELS * dot(dvec, dvec) * 4.0) / dims; + let bloom = vec3f( + textureSampleLevel(bloom_tex, samp, in.uv - off, 0.0).r, + textureSampleLevel(bloom_tex, samp, in.uv, 0.0).g, + textureSampleLevel(bloom_tex, samp, in.uv + off, 0.0).b + ) / mips; + + var c = pbr_neutral(scene + BLOOM_STRENGTH * bloom); + + // Seeded TPDF film grain (post-tonemap dither): keyed to the WRAPPED loop + // frame → 720-periodic and capture-pinned. Full strength in the shadows + // (kills #05060a banding), fades out of highlights. + let f = u32(params.frame + 0.5); + let n = hashf(pix, f) + hashf(pix ^ vec2u(0x9E3779B9u, 0x85EBCA6Bu), f) - 1.0; + let w = 1.0 - smoothstep(0.0, 0.8, luma(c)); + c += GRAIN_AMP * n * w; + + // cos⁴ vignette: cos⁴θ = (1 + r²·tan²)⁻², aspect-normalized so rn = 1.0 + // exactly at the corners regardless of viewport shape. Lifted floor keeps + // it an observatory, not a tunnel. + let ar = vec2f(params.viewport_w / max(params.viewport_h, 1.0), 1.0); + let rn = length((in.uv * 2.0 - 1.0) * ar) / length(ar); + let k = rn * rn * VIGNETTE_TAN * VIGNETTE_TAN; + c *= mix(VIGNETTE_LIFT, 1.0, 1.0 / ((1.0 + k) * (1.0 + k))); + + // NO gamma encode — display-referred pass-through, matching the pre-post + // look where shader outputs went straight to the swapchain. + return vec4f(c, 1.0); +} +`,Ci="rgba16float",Df={color:{srcFactor:"one",dstFactor:"one",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one",operation:"add"}};class Uf{constructor(t,e,i){T(this,"device");T(this,"paramsBuffer");T(this,"samp");T(this,"blurLayout");T(this,"compositeLayout");T(this,"pipeDownFirst");T(this,"pipeDown");T(this,"pipeUp");T(this,"pipeComposite");T(this,"width",0);T(this,"height",0);T(this,"plan",null);T(this,"sceneTex",null);T(this,"_sceneView",null);T(this,"bloomTex",null);T(this,"mipViews",[]);T(this,"bloomFullView",null);T(this,"downBind",[]);T(this,"upBind",[]);T(this,"compositeBind",null);this.device=t,this.paramsBuffer=e,this.samp=t.createSampler({label:"observatory-post-sampler",minFilter:"linear",magFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"});const s=t.createShaderModule({label:"observatory-post",code:Nf});this.blurLayout=t.createBindGroupLayout({label:"observatory-post-blur-layout",entries:[{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),this.compositeLayout=t.createBindGroupLayout({label:"observatory-post-composite-layout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d"}}]});const n=t.createPipelineLayout({label:"observatory-post-blur-pipe-layout",bindGroupLayouts:[this.blurLayout]}),r=t.createPipelineLayout({label:"observatory-post-composite-pipe-layout",bindGroupLayouts:[this.compositeLayout]}),a=(o,h,c,u,d)=>t.createRenderPipeline({label:o,layout:h,vertex:{module:s,entryPoint:"vs_fullscreen"},fragment:{module:s,entryPoint:c,targets:[{format:u,blend:d}]},primitive:{topology:"triangle-list"}});this.pipeDownFirst=a("observatory-post-down-karis",n,"fs_downsample_karis",Ci),this.pipeDown=a("observatory-post-down",n,"fs_downsample",Ci),this.pipeUp=a("observatory-post-up",n,"fs_upsample_tent",Ci,Df),this.pipeComposite=a("observatory-post-composite",r,"fs_composite",i)}get sceneView(){if(!this._sceneView)throw new Error("PostChain.ensure() must run before sceneView is used");return this._sceneView}ensure(t,e){var o,h;const i=Math.max(1,Math.floor(t)),s=Math.max(1,Math.floor(e));if(i===this.width&&s===this.height&&this.sceneTex!==null)return;this.width=i,this.height=s,(o=this.sceneTex)==null||o.destroy(),(h=this.bloomTex)==null||h.destroy(),this.sceneTex=this.device.createTexture({label:"observatory-scene-hdr",size:[i,s],format:Ci,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING}),this._sceneView=this.sceneTex.createView({label:"observatory-scene-hdr-view"});const n=kf(i,s);this.plan=n,this.bloomTex=this.device.createTexture({label:"observatory-bloom-mips",size:[n.baseW,n.baseH],format:Ci,mipLevelCount:n.mipCount,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING});const r=this.bloomTex;this.mipViews=Array.from({length:n.mipCount},(c,u)=>r.createView({label:`observatory-bloom-mip-${u}`,baseMipLevel:u,mipLevelCount:1})),this.bloomFullView=r.createView({label:"observatory-bloom-full"});const a=this._sceneView;this.downBind=this.mipViews.map((c,u)=>this.device.createBindGroup({label:`observatory-bloom-down-bind-${u}`,layout:this.blurLayout,entries:[{binding:1,resource:u===0?a:this.mipViews[u-1]},{binding:2,resource:this.samp}]})),this.upBind=[];for(let c=0;c+1=0;r--){const a=t.beginRenderPass({label:`observatory-bloom-up-${r}`,colorAttachments:[{view:this.mipViews[r],loadOp:"load",storeOp:"store"}]});a.setPipeline(this.pipeUp),a.setBindGroup(0,this.upBind[r]),a.draw(3),a.end()}const n=t.beginRenderPass({label:"observatory-post-composite",colorAttachments:[{view:e,loadOp:"clear",storeOp:"store"}]});n.setPipeline(this.pipeComposite),n.setBindGroup(0,this.compositeBind),n.draw(3),n.end()}dispose(){var t,e;(t=this.sceneTex)==null||t.destroy(),(e=this.bloomTex)==null||e.destroy(),this.sceneTex=null,this.bloomTex=null,this._sceneView=null,this.bloomFullView=null,this.mipViews=[],this.downBind=[],this.upBind=[],this.compositeBind=null,this.plan=null,this.width=0,this.height=0}}const ol=Math.sqrt(5/255/6.25),rh=ol-5/255,Vf={r:ol/(1+_n),g:(6/255+rh)/(1+_n),b:(10/255+rh)/(1+_n),a:1},gs=class gs{constructor(t){T(this,"canvas");T(this,"device",null);T(this,"context",null);T(this,"format","bgra8unorm");T(this,"clock");T(this,"demo");T(this,"freezeFrame");T(this,"rafId",0);T(this,"running",!1);T(this,"disposed",!1);T(this,"maxDpr");T(this,"onFrame");T(this,"params",new Float32Array(Bf));T(this,"paramsBuffer",null);T(this,"passes",[]);T(this,"post",null);T(this,"_status",{state:"booting"});T(this,"statusListeners",new Set);T(this,"lastRafTs",0);T(this,"fpsEstimate",0);T(this,"accumulatorMs",0);T(this,"frame",t=>{var u,d,f;if(!this.running||!this.device||!this.context||!this.paramsBuffer||!this.post)return;let e=0;for(this.lastRafTs>0&&(e=t-this.lastRafTs,e>0&&(this.fpsEstimate=Math.round(1e3/e))),this.lastRafTs=t,this.accumulatorMs+=Math.min(e,250);this.accumulatorMs>=gs.FIXED_DT_MS;)this.clock.tick(),this.accumulatorMs-=gs.FIXED_DT_MS;const i=this.clock.state,s=this.freezeFrame??i.frame,n=s/this.clock.framesPerLoop,r=this.params;r[0]=s,r[1]=n,r[5]=.5+.5*Math.sin(2*Math.PI*4*n),r[6]=this.canvas.width,r[7]=this.canvas.height,r[9]=Ff(this.demo),r[10]=s/60,r[11]=this.freezeFrame!==null?1:0,this.device.queue.writeBuffer(this.paramsBuffer,0,r);let a;try{a=this.context.getCurrentTexture()}catch{this.rafId=requestAnimationFrame(this.frame);return}this.post.ensure(a.width,a.height);const o=a.createView(),h=this.device.createCommandEncoder({label:"observatory-frame"});for(const p of this.passes)(u=p.compute)==null||u.call(p,h,s);const c=h.beginRenderPass({label:"observatory-main",colorAttachments:[{view:this.post.sceneView,clearValue:Vf,loadOp:"clear",storeOp:"store"}]});for(const p of this.passes)(d=p.render)==null||d.call(p,c,s);c.end(),this.post.encode(h,o),this.device.queue.submit([h.finish()]),(f=this.onFrame)==null||f.call(this,s,this.fpsEstimate),this.rafId=requestAnimationFrame(this.frame)});this.canvas=t.canvas,this.demo=t.demo,this.maxDpr=t.maxDpr??2,this.onFrame=t.onFrame,this.clock=new Hn({seed:t.seed}),this.freezeFrame=typeof t.freezeFrame=="number"&&Number.isFinite(t.freezeFrame)?(Math.floor(t.freezeFrame)%this.clock.framesPerLoop+this.clock.framesPerLoop)%this.clock.framesPerLoop:null,this.params[8]=1}get status(){return this._status}get gpuDevice(){return this.device}get presentationFormat(){return this.format}get sceneFormat(){return Ci}get demoClock(){return this.clock}onStatus(t){return this.statusListeners.add(t),t(this._status),()=>this.statusListeners.delete(t)}setStatus(t){this._status=t;for(const e of this.statusListeners)e(t)}addPass(t){this.passes.push(t)}async start(){var s;if(this.disposed)return!1;const t=navigator.gpu;if(!t)return this.setStatus({state:"unsupported",reason:"WebGPU is not available in this browser."}),!1;let e=null;try{e=await t.requestAdapter()}catch(n){return this.setStatus({state:"error",reason:n instanceof Error?n.message:"requestAdapter failed"}),!1}if(!e)return this.setStatus({state:"unsupported",reason:"No suitable GPU adapter found."}),!1;try{this.device=await e.requestDevice()}catch(n){return this.setStatus({state:"error",reason:n instanceof Error?n.message:"requestDevice failed"}),!1}if(this.disposed)return(s=this.device)==null||s.destroy(),this.device=null,!1;this.device.lost.then(n=>{this.disposed||n.reason==="destroyed"||(this.setStatus({state:"error",reason:`GPU device lost: ${n.message}`}),this.stopLoop())}),this.device.onuncapturederror=n=>{console.error("[observatory] WebGPU error:",n.error.message)};const i=this.canvas.getContext("webgpu");return i?(this.context=i,this.format=t.getPreferredCanvasFormat(),this.configureContext(),this.paramsBuffer=this.device.createBuffer({label:"observatory-params",size:this.params.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.post=new Uf(this.device,this.paramsBuffer,this.format),this.setStatus({state:"running"}),this.running=!0,this.rafId=requestAnimationFrame(this.frame),!0):(this.setStatus({state:"error",reason:"Could not get webgpu canvas context."}),!1)}resize(){var s;if(!this.device||!this.context)return;const t=Math.min(window.devicePixelRatio||1,this.maxDpr),e=Math.max(1,Math.floor(this.canvas.clientWidth*t)),i=Math.max(1,Math.floor(this.canvas.clientHeight*t));(this.canvas.width!==e||this.canvas.height!==i)&&(this.canvas.width=e,this.canvas.height=i,this.configureContext(),(s=this.post)==null||s.ensure(e,i))}configureContext(){!this.device||!this.context||this.context.configure({device:this.device,format:this.format,alphaMode:"opaque"})}stopLoop(){this.running=!1,this.rafId!==0&&(cancelAnimationFrame(this.rafId),this.rafId=0)}dispose(){var t,e,i;this.disposed||(this.disposed=!0,this.stopLoop(),(t=this.paramsBuffer)==null||t.destroy(),this.paramsBuffer=null,(e=this.post)==null||e.dispose(),this.post=null,(i=this.device)==null||i.destroy(),this.device=null,this.context=null,this.passes=[],this.setStatus({state:"disposed"}),this.statusListeners.clear())}};T(gs,"FIXED_DT_MS",1e3/60);let Wr=gs;var Gf=At(``),Wf=At(' ',1);function Hf(l,t){Ms(t,!0);let e=lt(t,"freezeFrame",3,null),i,s=null,n=Pt(yh({state:"booting"})),r=null,a=null;mh(()=>{s=new Wr({canvas:i,demo:t.demo,seed:t.seed,freezeFrame:e(),maxDpr:2,onFrame:(d,f)=>{var p;return(p=t.onframe)==null?void 0:p.call(t,d,f)}}),r=s.onStatus(d=>{var f;mt(n,d,!0),(f=t.onstatus)==null||f.call(t,d)}),a=new ResizeObserver(()=>s==null?void 0:s.resize()),a.observe(i),s.start().then(d=>{var f;d&&s&&(s.resize(),(f=t.onready)==null||f.call(t,s))})}),pl(()=>{r==null||r(),a==null||a.disconnect(),s==null||s.dispose(),s=null});var o=Wf(),h=qr(o);vh(h,d=>i=d,()=>i);var c=ct(h,2);{var u=d=>{var f=Gf(),p=ct(rt(f),2),m=rt(p,!0);st(p);var g=ct(p,2),x=ct(rt(g));ml(),st(g),st(f),oe(()=>{Xt(m,D(n).reason),Yr(x,"href",`${wh??""}/graph`)}),xt(d,f)};zt(c,d=>{(D(n).state==="unsupported"||D(n).state==="error")&&d(u)})}xt(l,o),Ss()}function qf(l,t,e,i){const s=1/Math.tan(l/2),n=1/(e-i),r=new Float32Array(16);return r[0]=s/t,r[5]=s,r[10]=i*n,r[11]=-1,r[14]=i*e*n,r}function Xf(l,t,e){const[i,s,n]=l;let r=i-t[0],a=s-t[1],o=n-t[2],h=Math.hypot(r,a,o)||1;r/=h,a/=h,o/=h;let c=e[1]*o-e[2]*a,u=e[2]*r-e[0]*o,d=e[0]*a-e[1]*r;h=Math.hypot(c,u,d)||1,c/=h,u/=h,d/=h;const f=a*d-o*u,p=o*c-r*d,m=r*u-a*c,g=new Float32Array(16);return g[0]=c,g[1]=f,g[2]=r,g[4]=u,g[5]=p,g[6]=a,g[8]=d,g[9]=m,g[10]=o,g[12]=-(c*i+u*s+d*n),g[13]=-(f*i+p*s+m*n),g[14]=-(r*i+a*s+o*n),g[15]=1,g}function Yf(l,t){const e=new Float32Array(16);for(let i=0;i<4;i++)for(let s=0;s<4;s++)e[i*4+s]=l[s]*t[i*4]+l[4+s]*t[i*4+1]+l[8+s]*t[i*4+2]+l[12+s]*t[i*4+3];return e}function ah(l,t,e,i=.35){const s=l*Math.PI*2,n=[Math.sin(s)*e,e*i,Math.cos(s)*e],r=qf(50*Math.PI/180,t,.1,4e3),a=Xf(n,[0,0,0],[0,1,0]);let o=-n[0],h=-n[1],c=-n[2],u=Math.hypot(o,h,c)||1;o/=u,h/=u,c/=u;let d=h*0-c*1,f=c*0-o*0,p=o*1-h*0;u=Math.hypot(d,f,p)||1,d/=u,f/=u,p/=u;const m=f*c-p*h,g=p*o-d*c,x=d*h-f*o;return{viewProj:Yf(r,a),right:[d,f,p],up:[m,g,x],eye:n}}function oh(l){const t=/^#?([0-9a-fA-F]{6})$/.exec(l.trim());if(!t)return[107/255,114/255,128/255];const e=parseInt(t[1],16);return[(e>>16&255)/255,(e>>8&255)/255,(e&255)/255]}function Jf(l){const t=rl({tags:l.tags});return oh(t||nl[sl(l.retention)])}function Zf(l){const e=[...l.nodes].sort((r,a)=>r.isCenter!==a.isCenter?r.isCenter?-1:1:r.ida.id?1:0).map((r,a)=>Pf(r,a)),i=new Map;for(const r of e)i.set(r.id,r.index);const s=[];for(const r of l.edges){const a=i.get(r.source),o=i.get(r.target);a===void 0||o===void 0||a===o||s.push({sourceIndex:a,targetIndex:o,weight:r.weight,type:r.type})}const n=e.findIndex(r=>r.isCenter);return{nodes:e,edges:s,indexById:i,centerIndex:n<0?0:n}}function hl(l,t,e=120){const i=l.nodes.length,s=new Float32Array(i*vt);for(let n=0;nx.toLowerCase()));g.has("aha")&&(m|=ss.isAha),(g.has("failure")||g.has("guardrail"))&&(m|=ss.isFailure),(g.has("confusion")||g.has("weak-spot"))&&(m|=ss.isConfusion),s[a+ce.colorFlags+0]=d,s[a+ce.colorFlags+1]=f,s[a+ce.colorFlags+2]=p,s[a+ce.colorFlags+3]=m}return{data:s,nodeCount:i}}function Kf(l){const t=new Uint32Array(Math.max(1,l.edges.length)*Fr);return l.edges.forEach((e,i)=>{t[i*Fr]=e.sourceIndex,t[i*Fr+1]=e.targetIndex}),t}const jf=` +struct Params { + frame: f32, + loop_phase: f32, + node_count: f32, + edge_count: f32, + path_count: f32, + pulse: f32, + viewport_w: f32, + viewport_h: f32, + brightness: f32, + demo_id: f32, + time: f32, + _pad: f32, +}; + +struct Camera { + view_proj: mat4x4, + right: vec4, + up: vec4, +}; + +struct Node { + pos_radius: vec4, + vel_retention: vec4, + color_flags: vec4, + demo: vec4, +}; + +@group(0) @binding(0) var params: Params; +@group(0) @binding(1) var camera: Camera; +@group(0) @binding(2) var nodes: array; + +// Iridescent thin-film band — ported EXACTLY from causal-brain-demo.html +// spectral(w) (visual DNA §7.1): indigo → cyan-teal → mint → magenta rim, +// wrapping. Activation glow rides this band; base color stays FSRS state. +fn spectral(w_in: f32) -> vec3 { + let w = fract(w_in); + // var, not let: WGSL only allows dynamic indexing through a reference. + var stops = array, 4>( + vec3(0.20, 0.28, 0.95), // indigo + vec3(0.20, 0.85, 0.90), // cyan-teal + vec3(0.45, 1.00, 0.72), // mint + vec3(0.85, 0.45, 1.00) // magenta rim + ); + let f = w * 4.0; + let i = u32(floor(f)) % 4u; + let frac = f - floor(f); + let a = stops[i]; + let b = stops[(i + 1u) % 4u]; + return mix(a, b, frac); +} + +struct VSOut { + @builtin(position) clip: vec4, + @location(0) uv: vec2, + // Per-instance constants: flat interpolation guarantees the flag bit + // field survives the raster stage bit-exact (no barycentric rounding). + @location(1) @interpolate(flat) color: vec3, + // x retention, y flags (bit field as f32), z recall intensity, w radius + @location(2) @interpolate(flat) misc: vec4, + // Per-demo choreography lanes (demo.y, demo.z, demo.w), gated by demo_id: + // rescue (2) searchlight/wave/shock, forgetting-horizon (3) fade-and-fall, + // firewall (4) flare-membrane/shock. Each demo's choreography pass is the + // ONLY writer of its lanes, and every gated term below is an exact no-op + // when its lane is 0.0 — other demos stay pixel-identical. + @location(3) @interpolate(flat) demo_yzw: vec3, +}; + +// Quad corners for two triangles (vertex_index 0..5). +const CORNERS = array, 6>( + vec2(-1.0, -1.0), + vec2( 1.0, -1.0), + vec2( 1.0, 1.0), + vec2(-1.0, -1.0), + vec2( 1.0, 1.0), + vec2(-1.0, 1.0) +); + +@vertex +fn vs_main( + @builtin(vertex_index) vi: u32, + @builtin(instance_index) ii: u32 +) -> VSOut { + var out: VSOut; + if (ii >= u32(params.node_count)) { + // degenerate — clipped away + out.clip = vec4(0.0, 0.0, 2.0, 1.0); + return out; + } + + let node = nodes[ii]; + let corner = CORNERS[vi]; + + // Breath: halo geometry swells ~6% on the global pulse (§7.2), and the + // center memory breathes a touch deeper — a heartbeat, not a strobe. + let flags = u32(node.color_flags.w); + let is_center = (flags & 1u) != 0u; + var breath = 1.0 + 0.06 * params.pulse; + if (is_center) { + breath = 1.0 + 0.12 * params.pulse; + } + + // Sprite spans ~3.2× the core radius so the halo has room to feather out. + // Recall activation swells the sprite — the wavefront physically blooms. + // Per-demo choreography lanes swell it too, gated by demo_id so each + // demo's grammar can never leak into another (lanes are 0.0 elsewhere, + // and the gate makes the no-op structural, not just numerical). + let recall = node.demo.x; + let dy = node.demo.y; + let dz = node.demo.z; + let dw = node.demo.w; + var lane_swell = 0.0; + if (params.demo_id == 2.0) { + // salience-rescue: searchlight pop, wave shiver, shock bloom. + lane_swell = 0.5 * dy + 0.25 * dz + 0.9 * dw; + } else if (params.demo_id == 4.0) { + // firewall: intrusion flare pop (band (0..1]), membrane presence + // (band [2.6..2.9] via the range gate), crimson shock bloom. + lane_swell = 0.35 * min(dy, 1.0) + 0.3 * smoothstep(1.5, 2.2, dy) + 0.55 * dw; + } + // forgetting-horizon (demo 3): VISUAL displacement toward the horizon — + // down and away from the field axis, ~40.5 units at dz = 1 — plus a + // shrink. pos_radius is NEVER written (the force sim owns positions); + // drift is pure of demo.z, so ?frame=N capture stays exact. CPU mirror: + // forgetting-plan.ts horizonDrift(). + var horizon_scale = 1.0; + var drift = vec3(0.0); + if (params.demo_id == 3.0) { + let dzc = clamp(dz, 0.0, 1.0); + horizon_scale = 1.0 - 0.35 * dzc; + if (dz > 0.0) { + let p = node.pos_radius.xyz; + let r_xz = max(length(p.xz), 0.001); + let away = vec3(p.x / r_xz, 0.0, p.z / r_xz); + drift = dzc * (vec3(0.0, -34.0, 0.0) + away * 22.0); + } + } + let half_size = node.pos_radius.w * 3.2 * breath * (1.0 + 0.9 * recall) + * (1.0 + lane_swell) * horizon_scale; + let world = node.pos_radius.xyz + drift + + camera.right.xyz * corner.x * half_size + + camera.up.xyz * corner.y * half_size; + + out.clip = camera.view_proj * vec4(world, 1.0); + out.uv = corner; + out.color = node.color_flags.rgb; + out.misc = vec4(node.vel_retention.w, node.color_flags.w, node.demo.x, node.pos_radius.w); + out.demo_yzw = vec3(dy, dz, dw); + return out; +} + +@fragment +fn fs_main(in: VSOut) -> @location(0) vec4 { + let d = length(in.uv); + if (d > 1.0) { + discard; + } + + let retention = in.misc.x; + let flags = u32(in.misc.y); + let suppressed = (flags & 2u) != 0u; + let is_center = (flags & 1u) != 0u; + + // Soft sprite: hot core + feathered halo. The halo rides the breath pulse. + let core = smoothstep(0.22, 0.0, d); + let halo = pow(max(1.0 - d, 0.0), 2.4); + var intensity = core * 1.35 + halo * (0.42 + 0.18 * params.pulse); + + // Meaning layer: low-retention memories glow dimmer (drifting toward the + // horizon), the center anchor reads brightest. + intensity = intensity * (0.45 + 0.55 * retention); + if (is_center) { + intensity = intensity * 1.6; + } + if (suppressed) { + intensity = intensity * 0.28; + } + + var color = in.color * intensity; + + // Forgetting-horizon (demo 3): multiplicative dim toward near-black as + // demo.z rises. Floor 0.06 — never fully gone, always retrievable. Sits + // BEFORE the recall block so a rescued memory's ignition burns through + // the fade. demo_yzw.y carries demo.z (vec3 = y/z/w lanes). + if (params.demo_id == 3.0) { + color = color * mix(1.0, 0.06, clamp(in.demo_yzw.y, 0.0, 1.0)); + } + + // Recall activation (§7.1): the thin-film band takes over as the wave + // lands. Hue drifts exactly ONE full spectral cycle per 720-frame loop + // (loop_phase wraps 0→1 and spectral() fract-wraps) — oil-slick shimmer + // with a mathematically invisible loop seam. + let recall = in.misc.z; + if (recall > 0.001) { + let band = spectral(0.1 + params.loop_phase + d * 0.35); + let activation = band * recall * (core * 1.7 + halo * 0.9); + // white-hot pinpoint at full ignition + let flash = vec3(1.0, 1.0, 1.0) * core * recall * 0.55; + color = color + activation + flash; + } + + // Per-demo choreography lanes — gated by demo_id AND on nonzero values so + // every other demo is pixel-unchanged (each demo's pass is the only + // writer of its lanes, and lanes are exactly 0.0 everywhere else). + if (params.demo_id == 2.0) { + if (in.demo_yzw.x > 0.001) { + // Searchlight: cold clinical white — unmistakably NOT the spectral grammar. + color = color + vec3(0.82, 0.90, 1.00) * in.demo_yzw.x * (core * 1.8 + halo * 0.7); + } + if (in.demo_yzw.y > 0.001) { + // Interrogation shimmer: icy spectral strobe as the wave scrubs the past. + color = color + spectral(0.55 + params.loop_phase) * in.demo_yzw.y * (core * 0.9 + halo * 0.5) + + vec3(1.0) * core * in.demo_yzw.y * 0.2; + } + if (in.demo_yzw.z > 0.001) { + // Detonation: crimson blaze + warm-white pinpoint. + color = color + vec3(1.00, 0.16, 0.10) * in.demo_yzw.z * (core * 1.9 + halo * 1.1) + + vec3(1.0, 0.85, 0.8) * core * in.demo_yzw.z * 0.4; + } + } else if (params.demo_id == 4.0) { + // firewall: demo.y carries TWO value bands — intrusion flare (0..1] + // and membrane [2.6..2.9] — separated by range, one lane. demo.w is + // the crimson shock rim / sever blink. (demo_yzw = y/z/w lanes.) + let fy = in.demo_yzw.x; + let fw = in.demo_yzw.z; + // Intrusion flare: sickly green-white — a hue deliberately OUTSIDE + // both the FSRS palette and the thin-film band. Continuous across the + // band boundary (fades out as fy climbs toward the membrane band). + let flare = min(fy, 1.0) * (1.0 - smoothstep(1.0, 1.8, fy)); + if (flare > 0.001) { + color = color + vec3(0.62, 1.00, 0.55) * flare * (core * 1.7 + halo * 0.9) + + vec3(0.90, 1.00, 0.85) * core * flare * 0.5; + } + // Membrane: quarantine ring at d ≈ 0.75 with fresnel-ish falloff — + // green body, crimson edge. exp(-q·q) squares by multiplication and + // the pow base is clamped ≥ 0 (no pow(neg) anywhere). + let mw = smoothstep(1.5, 2.2, fy); + if (mw > 0.001) { + let q = (d - 0.75) * 9.0; + let ring = exp(-q * q); + let fresnel = pow(clamp(d / 0.75, 0.0, 1.0), 3.0); + let ring_col = mix(vec3(0.55, 1.00, 0.60), vec3(1.00, 0.20, 0.16), + smoothstep(0.72, 0.92, d)); + color = color + ring_col * ring * fresnel * mw * 1.4; + } + // Shockwave: crimson RIM as the front passes (a rim, not a blaze). + if (fw > 0.001) { + let rim = smoothstep(0.45, 0.8, d) * (1.0 - smoothstep(0.85, 1.0, d)); + color = color + vec3(1.00, 0.14, 0.10) * rim * fw * 1.5 + + vec3(1.00, 0.60, 0.50) * core * fw * 0.15; + } + } + + // Additive target (src=one, dst=one): alpha is ignored, light accumulates. + return vec4(color * params.brightness, 1.0); +} +`,Qf=` +struct Params { + frame: f32, + loop_phase: f32, + node_count: f32, + edge_count: f32, + path_count: f32, + pulse: f32, + viewport_w: f32, + viewport_h: f32, + brightness: f32, + demo_id: f32, + time: f32, + _pad: f32, +}; + +struct Node { + pos_radius: vec4, + vel_retention: vec4, + color_flags: vec4, + demo: vec4, +}; + +@group(0) @binding(0) var params: Params; +@group(0) @binding(1) var nodes: array; +// x source index, y target index, z beat frame, w kind (0 recall, 1 backward) +@group(0) @binding(2) var path: array>; +// x source index, y target node index (Increment 7: force simulation edges) +@group(0) @binding(3) var edges: array>; + +// --- Force-simulation helpers (Increment 7) --- + +fn safe_normalize(v: vec3) -> vec3 { + let l = length(v); + if (l < 0.0001) { return vec3(0.0); } + return v / l; +} + +fn clamp_len(v: vec3, hi: f32) -> vec3 { + let l = length(v); + if (l > hi && l > 0.0001) { return v * (hi / l); } + return v; +} + +@compute @workgroup_size(64) +fn recall_sim(@builtin(global_invocation_id) id: vec3) { + let i = id.x; + if (i >= u32(params.node_count)) { + return; + } + + let frame = params.frame; + var intensity = 0.0; + + let steps = u32(params.path_count); + for (var s = 0u; s < steps; s = s + 1u) { + let step = path[s]; + let bf = f32(step.z); + + if (step.y == i) { + // Arrival: sharp attack as the wavefront lands, slow afterglow. + let attack = smoothstep(bf - 14.0, bf + 4.0, frame); + let decay = 1.0 - smoothstep(bf + 40.0, bf + 200.0, frame); + intensity = max(intensity, attack * decay); + } + if (step.x == i && step.x != step.y) { + // Departure: the source shimmers as the wave leaves it. + let rise = smoothstep(bf - 55.0, bf - 30.0, frame); + let fall = 1.0 - smoothstep(bf + 10.0, bf + 70.0, frame); + intensity = max(intensity, rise * fall * 0.45); + } + } + + var node = nodes[i]; + let flags = u32(node.color_flags.w); + let is_center = (flags & 1u) != 0u; + + // Write recall intensity (existing behavior preserved). + node.demo.x = intensity; + + // --- Increment 7: force simulation --- + + // Capture mode (params._pad == 1.0): skip physics integration entirely. + // The storage-buffer state stays frozen at initial upload values, + // making same URL + frame → identical pixels (spec §4 Inc 9). + if (params._pad == 0.0) { + // 7B: center anchor — center node never moves. + // (WGSL forbids swizzle stores — reconstruct the vec4, preserving .w.) + if (is_center) { + node.pos_radius = vec4(0.0, 0.0, 0.0, node.pos_radius.w); + node.vel_retention = vec4(0.0, 0.0, 0.0, node.vel_retention.w); + nodes[i] = node; + return; + } + + let pos = node.pos_radius.xyz; + var force = vec3(0.0); + + // 7C: edge springs — scan existing edgeBuffer, no atomics. + for (var e = 0u; e < u32(params.edge_count); e = e + 1u) { + let edge = edges[e]; + var other_idx = 0xffffffffu; + if (edge.x == i) { other_idx = edge.y; } + if (edge.y == i) { other_idx = edge.x; } + if (other_idx != 0xffffffffu && other_idx < u32(params.node_count)) { + let other = nodes[other_idx].pos_radius.xyz; + let delta = other - pos; + let dist = max(length(delta), 0.001); + let dir = delta / dist; + let stretch = dist - 34.0; + force = force + dir * stretch * 0.00055; + } + } + + // 7D: soft repulsion (only ≤ 500 nodes for performance). + if (u32(params.node_count) <= 500u) { + for (var j = 0u; j < u32(params.node_count); j = j + 1u) { + if (j == i) { continue; } + let other = nodes[j].pos_radius.xyz; + let delta = pos - other; + let d2 = max(dot(delta, delta), 9.0); + force = force + safe_normalize(delta) * (7.5 / d2); + } + } + + // Gentle centering: keeps the field in frame without crushing it. + force = force + (-pos) * 0.0008; + + // 7B: velocity damping + cap, then position integration. + var vel = node.vel_retention.xyz; + vel = (vel + force) * 0.88; + vel = clamp_len(vel, 0.42); + node.vel_retention = vec4(vel, node.vel_retention.w); + node.pos_radius = vec4(pos + vel, node.pos_radius.w); + } + // When capture_mode (params._pad == 1.0), node is NOT written back — + // the storage buffer retains its initial upload values, guaranteeing + // deterministic pixels for the same frame index. + nodes[i] = node; +} +`,ll=` +struct Params { + frame: f32, + loop_phase: f32, + node_count: f32, + edge_count: f32, + path_count: f32, + pulse: f32, + viewport_w: f32, + viewport_h: f32, + brightness: f32, + demo_id: f32, + time: f32, + _pad: f32, +}; + +struct Camera { + view_proj: mat4x4, + right: vec4, + up: vec4, +}; + +struct Node { + pos_radius: vec4, + vel_retention: vec4, + color_flags: vec4, + demo: vec4, +}; + +@group(0) @binding(0) var params: Params; +@group(0) @binding(1) var camera: Camera; +@group(0) @binding(2) var nodes: array; +// x source index, y target index, z beat frame, w kind (0 recall, 1 backward) +@group(0) @binding(3) var path: array>; + +// Same thin-film band as the node shader (§7.1). +fn spectral(w_in: f32) -> vec3 { + let w = fract(w_in); + // var, not let: WGSL only allows dynamic indexing through a reference. + var stops = array, 4>( + vec3(0.20, 0.28, 0.95), + vec3(0.20, 0.85, 0.90), + vec3(0.45, 1.00, 0.72), + vec3(0.85, 0.45, 1.00) + ); + let f = w * 4.0; + let i = u32(floor(f)) % 4u; + let frac = f - floor(f); + let a = stops[i]; + let b = stops[(i + 1u) % 4u]; + return mix(a, b, frac); +} + +struct VSOut { + @builtin(position) clip: vec4, + // x: t along segment (0 source → 1 target), y: side (-1..1) + @location(0) uv: vec2, + // x: beat frame, y: kind, z: segment visible (0 skips degenerate steps) + // Per-instance constant — flat keeps it bit-exact through the raster. + @location(1) @interpolate(flat) beat: vec3, +}; + +// (t, side) corners for two triangles of the ribbon. +const RIBBON = array, 6>( + vec2(0.0, -1.0), + vec2(1.0, -1.0), + vec2(1.0, 1.0), + vec2(0.0, -1.0), + vec2(1.0, 1.0), + vec2(0.0, 1.0) +); + +@vertex +fn vs_main( + @builtin(vertex_index) vi: u32, + @builtin(instance_index) ii: u32 +) -> VSOut { + var out: VSOut; + if (ii >= u32(params.path_count)) { + out.clip = vec4(0.0, 0.0, 2.0, 1.0); + out.beat = vec3(0.0); + return out; + } + + let step = path[ii]; + let src = nodes[step.x]; + let dst = nodes[step.y]; + let corner = RIBBON[vi]; + + // Degenerate (origin beat: source == target) — emit nothing visible. + if (step.x == step.y) { + out.clip = vec4(0.0, 0.0, 2.0, 1.0); + out.beat = vec3(0.0); + return out; + } + + let a = camera.view_proj * vec4(src.pos_radius.xyz, 1.0); + let b = camera.view_proj * vec4(dst.pos_radius.xyz, 1.0); + + // NDC-space perpendicular for constant screen width. + let ndc_a = a.xy / max(a.w, 0.0001); + let ndc_b = b.xy / max(b.w, 0.0001); + var dir = ndc_b - ndc_a; + let dlen = max(length(dir), 0.0001); + dir = dir / dlen; + let perp = vec2(-dir.y, dir.x); + + // Ribbon half-width in NDC (aspect-corrected), ~2.5 px on a 900px-tall view. + let px = 2.5 / max(params.viewport_h, 1.0) * 2.0; + let width = vec2(px * (params.viewport_h / max(params.viewport_w, 1.0)), px); + + let base = mix(a, b, corner.x); + let offset = perp * width * corner.y * base.w; + out.clip = vec4(base.xy + offset, base.zw); + out.uv = vec2(corner.x, corner.y); + out.beat = vec3(f32(step.z), f32(step.w), 1.0); + return out; +} + +@fragment +fn fs_main(in: VSOut) -> @location(0) vec4 { + if (in.beat.z < 0.5) { + discard; + } + + let frame = params.frame; + let bf = in.beat.x; + let t = in.uv.x; + + // Wave departs 45 frames before the beat and lands exactly on it. + let progress = clamp((frame - (bf - 45.0)) / 45.0, 0.0, 1.0); + // Nothing before departure; trail lingers ~90 frames after arrival. + let live = smoothstep(bf - 46.0, bf - 44.0, frame) + * (1.0 - smoothstep(bf + 40.0, bf + 90.0, frame)); + if (live <= 0.001) { + discard; + } + + // The light packet: gaussian around the wavefront position. + let dwave = (t - progress) * 14.0; + let packet = exp(-dwave * dwave); + + // Fading trail behind the packet — provenance stays visible a beat. + var trail = 0.0; + if (t < progress) { + trail = (1.0 - (progress - t)) * 0.22; + } + + // Feather across the ribbon width. + let across = 1.0 - abs(in.uv.y); + let profile = across * across; + + // Backward/contradiction hops burn hotter into the magenta rim (§7.4). + // Hue drifts one full spectral cycle per loop (seamless at the wrap). + // Kind 2 (salience-rescue probe): a gray failing beam — vector search + // visibly probing lookalikes and coming back empty. Kinds 0/1 unchanged. + var band = spectral(0.15 + t * 0.35 + params.loop_phase); + var packet_white = 0.35; + if (in.beat.y > 1.5) { + band = vec3(0.62, 0.66, 0.72); + packet_white = 0.18; + } else if (in.beat.y > 0.5) { + band = mix(band, vec3(1.0, 0.25, 0.45), 0.55); + } + + let energy = (packet * 1.6 + trail) * profile * live; + let color = band * energy + vec3(1.0) * packet * profile * live * packet_white; + return vec4(color * params.brightness, 1.0); +} +`;function $f(l){return 60+l*60}function tp(l,t,e=8){const i=[...l.nodes].sort((o,h)=>o.idh.id?1:0),s=[...l.edges].sort((o,h)=>{const c=`${o.source}\0${o.target}\0${o.type}`,u=`${h.source}\0${h.target}\0${h.type}`;return cu?1:0}),n=bf(i,s,l.center_id,e),r=[];for(let o=0;o0?n.beats[o-1].nodeId:h.nodeId,d=t.indexById.get(u)??c;r.push({sourceIndex:d,targetIndex:c,beatFrame:$f(o),kind:h.kind==="contradiction"?Be.backwardCause:Be.recall,beatKind:h.kind,nodeId:h.nodeId,label:h.node.label})}const a=new Uint32Array(Math.max(1,r.length)*ns);return r.forEach((o,h)=>{a[h*ns]=o.sourceIndex,a[h*ns+1]=o.targetIndex,a[h*ns+2]=o.beatFrame,a[h*ns+3]=o.kind}),{data:a,steps:r,path:n}}const ep=24,hh=300;class ip{constructor(t){T(this,"engine");T(this,"pipeline",null);T(this,"bindGroup",null);T(this,"cameraBuffer",null);T(this,"nodeBuffer",null);T(this,"edgeBuffer",null);T(this,"cameraData",new Float32Array(ep));T(this,"nodeCount",0);T(this,"simPipeline",null);T(this,"simBindGroup",null);T(this,"pathBuffer",null);T(this,"pathPipeline",null);T(this,"pathBindGroup",null);T(this,"pathStepCount",0);T(this,"graph",null);T(this,"pathSteps",[]);this.engine=t,t.addPass(this)}upload(t,e,i){var d,f,p;const s=this.engine.gpuDevice;if(!s)return;const n=(i==null?void 0:i.recallPath)??!0,r=Zf(t);this.graph=r;const a=new Hn({seed:e}),{data:o,nodeCount:h}=hl(r,a.state.rng);this.nodeCount=h,(d=this.nodeBuffer)==null||d.destroy(),this.nodeBuffer=s.createBuffer({label:"observatory-node-state",size:Math.max(o.byteLength,64),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST|GPUBufferUsage.COPY_SRC|GPUBufferUsage.VERTEX}),s.queue.writeBuffer(this.nodeBuffer,0,o.buffer);const c=Kf(r);(f=this.edgeBuffer)==null||f.destroy(),this.edgeBuffer=s.createBuffer({label:"observatory-edge-index",size:c.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),s.queue.writeBuffer(this.edgeBuffer,0,c.buffer);const u=n?tp(t,r):{steps:[],data:new Uint32Array(4)};this.pathSteps=u.steps,(p=this.pathBuffer)==null||p.destroy(),this.pathBuffer=s.createBuffer({label:"observatory-path-steps",size:u.data.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),s.queue.writeBuffer(this.pathBuffer,0,u.data.buffer),this.pathStepCount=this.pathSteps.length,this.engine.params[2]=h,this.engine.params[3]=r.edges.length,this.engine.params[4]=this.pathSteps.length,this.cameraBuffer||(this.cameraBuffer=s.createBuffer({label:"observatory-camera",size:this.cameraData.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})),this.createPipeline(s)}setPathSteps(t,e){var s;const i=this.engine.gpuDevice;i&&(this.pathSteps=e,this.pathStepCount=e.length,(s=this.pathBuffer)==null||s.destroy(),this.pathBuffer=i.createBuffer({label:"observatory-path-steps",size:Math.max(t.byteLength,16),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),i.queue.writeBuffer(this.pathBuffer,0,t.buffer),this.engine.params[4]=e.length,this.createPipeline(i))}createPipeline(t){if(!this.engine.paramsBuffer||!this.cameraBuffer||!this.nodeBuffer)return;if(this.pathBuffer){const i=t.createShaderModule({label:"observatory-simulate",code:Qf});this.simPipeline=t.createComputePipeline({label:"observatory-recall-sim",layout:"auto",compute:{module:i,entryPoint:"recall_sim"}});const s=[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:this.nodeBuffer}},{binding:2,resource:{buffer:this.pathBuffer}}];this.edgeBuffer&&s.push({binding:3,resource:{buffer:this.edgeBuffer}}),this.simBindGroup=t.createBindGroup({label:"observatory-recall-sim-bind",layout:this.simPipeline.getBindGroupLayout(0),entries:s})}const e=t.createShaderModule({label:"observatory-render-nodes",code:jf});if(this.pipeline=t.createRenderPipeline({label:"observatory-nodes",layout:"auto",vertex:{module:e,entryPoint:"vs_main"},fragment:{module:e,entryPoint:"fs_main",targets:[{format:this.engine.sceneFormat,blend:{color:{srcFactor:"one",dstFactor:"one",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one",operation:"add"}}}]},primitive:{topology:"triangle-list"}}),this.bindGroup=t.createBindGroup({label:"observatory-nodes-bind",layout:this.pipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:this.cameraBuffer}},{binding:2,resource:{buffer:this.nodeBuffer}}]}),this.pathBuffer){const i=t.createShaderModule({label:"observatory-render-path",code:ll});this.pathPipeline=t.createRenderPipeline({label:"observatory-path",layout:"auto",vertex:{module:i,entryPoint:"vs_main"},fragment:{module:i,entryPoint:"fs_main",targets:[{format:this.engine.sceneFormat,blend:{color:{srcFactor:"one",dstFactor:"one",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one",operation:"add"}}}]},primitive:{topology:"triangle-list"}}),this.pathBindGroup=t.createBindGroup({label:"observatory-path-bind",layout:this.pathPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:this.cameraBuffer}},{binding:2,resource:{buffer:this.nodeBuffer}},{binding:3,resource:{buffer:this.pathBuffer}}]})}}compute(t){const e=this.engine.gpuDevice;if(!e||!this.cameraBuffer)return;const i=this.engine.params[6]||1,s=this.engine.params[7]||1,n=this.engine.params[1],r=ah(n,i/s,hh);if(this.cameraData.set(r.viewProj,0),this.cameraData[16]=r.right[0],this.cameraData[17]=r.right[1],this.cameraData[18]=r.right[2],this.cameraData[19]=0,this.cameraData[20]=r.up[0],this.cameraData[21]=r.up[1],this.cameraData[22]=r.up[2],this.cameraData[23]=0,e.queue.writeBuffer(this.cameraBuffer,0,this.cameraData),this.simPipeline&&this.simBindGroup&&this.nodeCount>0){const a=t.beginComputePass({label:"observatory-recall-sim"});a.setPipeline(this.simPipeline),a.setBindGroup(0,this.simBindGroup),a.dispatchWorkgroups(Math.ceil(this.nodeCount/64)),a.end()}}render(t){!this.pipeline||!this.bindGroup||this.nodeCount===0||(t.setPipeline(this.pipeline),t.setBindGroup(0,this.bindGroup),t.draw(6,this.nodeCount),this.pathPipeline&&this.pathBindGroup&&this.pathStepCount>0&&(t.setPipeline(this.pathPipeline),t.setBindGroup(0,this.pathBindGroup),t.draw(6,this.pathStepCount)))}get nodeStateBuffer(){return this.nodeBuffer}get cameraUniformBuffer(){return this.cameraBuffer}get nodeCountValue(){return this.nodeCount}get pathStepMeta(){return this.pathSteps}async pickAt(t,e){const i=this.engine.gpuDevice;if(!i||!this.nodeBuffer||!this.graph||this.nodeCount===0)return null;const s=this.nodeCount*vt*4,n=i.createBuffer({label:"observatory-pick-staging",size:s,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ}),r=i.createCommandEncoder({label:"observatory-pick-copy"});r.copyBufferToBuffer(this.nodeBuffer,0,n,0,s),i.queue.submit([r.finish()]);let a;try{await n.mapAsync(GPUMapMode.READ),a=new Float32Array(n.getMappedRange().slice(0))}catch{return n.destroy(),null}n.unmap(),n.destroy();const o=this.engine.params[6]||1,h=this.engine.params[7]||1,c=this.engine.params[1],u=ah(c,o/h,hh).viewProj,d=1/Math.tan(50*Math.PI/360);let f=-1,p=1/0;for(let m=0;m0){const t=l.centerIndex,e=l.edges.filter(i=>i.sourceIndex===t||i.targetIndex===t);if(e.length>0){let i=-1,s=-1;for(const n of e){const r=n.sourceIndex===t?n.targetIndex:n.sourceIndex,a=l.nodes[r];a&&a.retention>s&&(s=a.retention,i=r)}if(i>=0)return i}}for(let t=0;tx.sourceIndex===i||x.targetIndex===i);for(let x=0;xn.sourceIndex===t||n.targetIndex===t),i=e.length;if(i===0)return new Uint32Array(0);const s=new Uint32Array(i*rs);for(let n=0;n, + target_size: vec4, + color_phase: vec4, + state: vec4, +}; + +@group(0) @binding(0) var params: Params; +@group(0) @binding(1) var particles: array; + +@compute @workgroup_size(64) +fn birth_compute(@builtin(global_invocation_id) id: vec3) { + let i = id.x; + if (i >= arrayLength(&particles)) { + return; + } + + // Capture mode (params._pad == 1.0): skip physics integration. + // The storage-buffer state stays frozen at initial upload values. + if (params._pad == 1.0) { + return; + } + + var particle = particles[i]; + let frame = params.frame; + let phase = params.loop_phase; + + // --- Convergence choreography (integer cycles per 720-frame loop) --- + + // Phase offset (stagger) from start_life.w: 0..1 → delays convergence. + let stagger = particle.start_life.w; + + // Effective frame: staggered loop frame (wraps at 720). + let effFrame = fract(phase + stagger * 0.15) * 720.0; + + // --- Phase 1: latent trace condensing (frames 0–239) --- + // Slow drift toward target. + var t: f32; + if (effFrame < 240.0) { + // Smooth ease-in: 0 → 1 over 240 frames. + t = effFrame / 240.0; + t = t * t * (3.0 - 2.0 * t); // smoothstep + } + // --- Phase 2: engram coalescence (frames 240–329) --- + // Accelerated convergence to target. + else if (effFrame < 330.0) { + let localFrame = effFrame - 240.0; + // 0 → 1 over 90 frames, with slight overshoot then settle. + t = localFrame / 90.0; + t = t * t * (3.0 - 2.0 * t); + // Add a small overshoot (1.05) then settle back to 1.0. + t = 1.0 - 0.05 * (1.0 - t); + } + // --- Phase 3: memory ignition (frames 330–359) --- + // Hold at target (flash handled in render). + else if (effFrame < 360.0) { + t = 1.0; + } + // --- Phase 4: associations engrave (frames 360–509) --- + // Hold at target. + else if (effFrame < 510.0) { + t = 1.0; + } + // --- Phase 5: stabilization (frames 510–719) --- + // Hold at target, then fade alpha for reset. + else { + let localFrame = effFrame - 510.0; + // Fade alpha to 0 for seamless reset at frame 0. + t = 1.0; + particle.state.w = 1.0 - smoothstep(0.0, 150.0, localFrame); + } + + // Interpolate from start to target. + let startPos = particle.start_life.xyz; + let targetPos = particle.target_size.xyz; + // (WGSL forbids swizzle stores - reconstruct, preserving alpha in .w) + particle.state = vec4(mix(startPos, targetPos, t), particle.state.w); + + // Alpha: particles fade in during convergence, fade out during reset. + let fadeIn = smoothstep(0.0, 60.0, effFrame); + particle.state.w = max(particle.state.w, fadeIn * 0.8); + + particles[i] = particle; +} +`,fp=16,pp=6,mp=330,gp=359,yp=360;class xp{constructor(t){T(this,"engine");T(this,"nodeRenderer");T(this,"active");T(this,"computePipeline",null);T(this,"computeBindGroup",null);T(this,"particleBuffer",null);T(this,"particleCount",0);T(this,"renderPipeline",null);T(this,"renderBindGroup",null);T(this,"haloPipeline",null);T(this,"haloBindGroup",null);T(this,"haloIndexBuffer",null);T(this,"engravePipeline",null);T(this,"engraveBindGroup",null);T(this,"engraveBuffer",null);T(this,"engraveStepCount",0);T(this,"timeline",[]);T(this,"birthPlan",null);this.engine=t.engine,this.nodeRenderer=t.nodeRenderer,this.active=!1,this.engine.addPass(this)}get engraveSteps(){var t;return((t=this.birthPlan)==null?void 0:t.edgeSteps)??new Uint32Array(0)}upload(t){var n,r;const e=this.engine.gpuDevice;if(!e||!this.nodeRenderer.nodeStateBuffer)return;const i=this.nodeRenderer.graph;if(!i)return;this.birthPlan=lp(i,t),this.timeline=this.birthPlan.timeline;const s=this.birthPlan.particles.length/fp;this.particleCount=s,(n=this.particleBuffer)==null||n.destroy(),this.particleBuffer=e.createBuffer({label:"observatory-birth-particles",size:this.birthPlan.particles.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),e.queue.writeBuffer(this.particleBuffer,0,this.birthPlan.particles.buffer),(r=this.engraveBuffer)==null||r.destroy(),this.engraveStepCount=this.birthPlan.edgeSteps.length/4,this.engraveStepCount>0&&(this.engraveBuffer=e.createBuffer({label:"observatory-birth-engrave",size:this.birthPlan.edgeSteps.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),e.queue.writeBuffer(this.engraveBuffer,0,this.birthPlan.edgeSteps.buffer)),this.createComputePipeline(e),this.createRenderPipeline(e),this.createHaloPipeline(e),this.createEngravePipeline(e)}createComputePipeline(t){const e=t.createShaderModule({label:"observatory-birth-compute",code:dp});this.computePipeline=t.createComputePipeline({label:"observatory-birth-compute-pipeline",layout:"auto",compute:{module:e,entryPoint:"birth_compute"}});const i=[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:this.particleBuffer}}];this.computeBindGroup=t.createBindGroup({label:"observatory-birth-compute-bind",layout:this.computePipeline.getBindGroupLayout(0),entries:i})}createRenderPipeline(t){const i=t.createShaderModule({label:"observatory-birth-render",code:` +struct Params { + frame: f32, + loop_phase: f32, + node_count: f32, + edge_count: f32, + path_count: f32, + pulse: f32, + viewport_w: f32, + viewport_h: f32, + brightness: f32, + demo_id: f32, + time: f32, + _pad: f32, +}; + +struct Camera { + view_proj: mat4x4, + right: vec4, + up: vec4, +}; + +struct BirthParticle { + start_life: vec4, + target_size: vec4, + color_phase: vec4, + state: vec4, +}; + +@group(0) @binding(0) var params: Params; +@group(0) @binding(1) var camera: Camera; +@group(0) @binding(2) var particles: array; + +struct VSOut { + @builtin(position) clip: vec4, + @location(0) uv: vec2, + @location(1) @interpolate(flat) color: vec3, + @location(2) @interpolate(flat) misc: vec4, +}; + +const CORNERS = array, 6>( + vec2(-1.0, -1.0), + vec2( 1.0, -1.0), + vec2( 1.0, 1.0), + vec2(-1.0, -1.0), + vec2( 1.0, 1.0), + vec2(-1.0, 1.0) +); + +@vertex +fn vs_main( + @builtin(vertex_index) vi: u32, + @builtin(instance_index) ii: u32 +) -> VSOut { + var out: VSOut; + if (ii >= arrayLength(&particles)) { + out.clip = vec4(0.0, 0.0, 2.0, 1.0); + return out; + } + + let particle = particles[ii]; + let corner = CORNERS[vi]; + + // Current position from state.xyz. + let pos = particle.state.xyz; + + // Base size from target_size.w. + let baseSize = particle.target_size.w; + + // Flash boost during ignition (frames 330–359). + let frame = params.frame; + var flashBoost = 1.0; + if (frame >= 330.0 && frame <= 359.0) { + let flashT = (frame - 330.0) / 29.0; // 0..1 over flash frames + // Sharp flash: peaks at frame 345, fades by 359. + flashBoost = 1.0 + 3.0 * (1.0 - smoothstep(330.0, 345.0, frame)) + + 2.0 * smoothstep(345.0, 359.0, frame); + } + + // Size: base + flash boost + pulse breathing. + let breath = 1.0 + 0.06 * params.pulse; + let halfSize = baseSize * 4.0 * breath * flashBoost; + + let world = pos + + camera.right.xyz * corner.x * halfSize + + camera.up.xyz * corner.y * halfSize; + + out.clip = camera.view_proj * vec4(world, 1.0); + out.uv = corner; + + // Color: violet dust (0.55, 0.32, 1.00) with spectral rim. + let phase = particle.color_phase.w; + let spectralW = fract(params.loop_phase + phase); + var spectralColor: vec3; + var stops = array, 4>( + vec3(0.55, 0.32, 1.00), // violet base + vec3(0.40, 0.60, 1.00), // blue-violet + vec3(0.70, 0.45, 1.00), // magenta-violet + vec3(0.55, 0.32, 1.00) // wrap + ); + let f = spectralW * 4.0; + let i = u32(floor(f)) % 4u; + let frac = f - floor(f); + spectralColor = mix(stops[i], stops[(i + 1u) % 4u], frac); + + // Alpha from state.w (convergence progress + fade). + let alpha = particle.state.w; + + out.color = spectralColor; + out.misc = vec4(baseSize, 0.0, 0.0, alpha); + return out; +} + +@fragment +fn fs_main(in: VSOut) -> @location(0) vec4 { + let d = length(in.uv); + if (d > 1.0) { + discard; + } + + let alpha = in.misc.w; + let core = smoothstep(0.25, 0.0, d); + let halo = pow(max(1.0 - d, 0.0), 2.0); + + // Additive glow: core + halo. + let intensity = core * 1.5 + halo * 0.6; + + // Flash boost during ignition. + let frame = params.frame; + var flash = 0.0; + if (frame >= 330.0 && frame <= 359.0) { + flash = smoothstep(330.0, 345.0, frame) * 2.0; + } + + let color = in.color * (intensity + flash); + + return vec4(color * params.brightness, 1.0); +} +`});this.renderPipeline=t.createRenderPipeline({label:"observatory-birth-render",layout:"auto",vertex:{module:i,entryPoint:"vs_main"},fragment:{module:i,entryPoint:"fs_main",targets:[{format:this.engine.sceneFormat,blend:{color:{srcFactor:"one",dstFactor:"one",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one",operation:"add"}}}]},primitive:{topology:"triangle-list"}});const s=this.nodeRenderer.cameraUniformBuffer;this.renderBindGroup=t.createBindGroup({label:"observatory-birth-render-bind",layout:this.renderPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:s}},{binding:2,resource:{buffer:this.particleBuffer}}]})}createHaloPipeline(t){const i=t.createShaderModule({label:"observatory-birth-halo",code:` +struct Params { + frame: f32, + loop_phase: f32, + node_count: f32, + edge_count: f32, + path_count: f32, + pulse: f32, + viewport_w: f32, + viewport_h: f32, + brightness: f32, + demo_id: f32, + time: f32, + _pad: f32, +}; + +struct Camera { + view_proj: mat4x4, + right: vec4, + up: vec4, +}; + +struct Node { + pos_radius: vec4, + vel_retention: vec4, + color_flags: vec4, + demo: vec4, +}; + +@group(0) @binding(0) var params: Params; +@group(0) @binding(1) var camera: Camera; +@group(0) @binding(2) var nodes: array; + +struct VSOut { + @builtin(position) clip: vec4, + @location(0) uv: vec2, +}; + +@vertex +fn vs_main( + @builtin(vertex_index) vi: u32, + @builtin(instance_index) ii: u32 +) -> VSOut { + var out: VSOut; + if (ii >= u32(params.node_count)) { + out.clip = vec4(0.0, 0.0, 2.0, 1.0); + return out; + } + + let node = nodes[ii]; + let flags = u32(node.color_flags.w); + let is_target = (flags & 4u) != 0u; // flag 2: is birth target + + if (!is_target) { + out.clip = vec4(0.0, 0.0, 2.0, 1.0); + return out; + } + + // Flash halo: only visible during ignition (frames 330–359). + let frame = params.frame; + if (frame < 330.0 || frame > 359.0) { + out.clip = vec4(0.0, 0.0, 2.0, 1.0); + return out; + } + + // Halo ring: expands during flash, fades by frame 359. + let flashT = (frame - 330.0) / 29.0; // 0..1 + let ringRadius = 0.3 + flashT * 0.5; // expands 0.3 → 0.8 + + // Quad centered on target position. + let pos = node.pos_radius.xyz; + let cornerX = (f32(vi) / 3.0 - 1.0); // -1, 0, 1 (3 unique x) + let cornerY = (f32(vi % 3) / 1.5 - 1.0); // -1, 0, 1 + + // We use 4 vertices for a simple quad (vi 0..3). + let cx = cornerX * ringRadius; + let cy = cornerY * ringRadius; + + let world = pos + + camera.right.xyz * cx + + camera.up.xyz * cy; + + out.clip = camera.view_proj * vec4(world, 1.0); + + // UV for radial fade. + out.uv = vec2(cx / ringRadius, cy / ringRadius); + + return out; +} + +@fragment +fn fs_main(in: VSOut) -> @location(0) vec4 { + let d = length(in.uv); + if (d > 0.7) { + discard; + } + + // Flash: white-hot core, violet rim. + let flashIntensity = 1.0 - smoothstep(0.0, 0.7, d); + let color = vec3(0.7, 0.4, 1.0) * flashIntensity * 2.0; + + // Fade out as flash ends. + let frame = params.frame; + let fadeOut = 1.0 - smoothstep(345.0, 359.0, frame); + + return vec4(color * params.brightness * fadeOut, 1.0); +} +`});this.haloPipeline=t.createRenderPipeline({label:"observatory-birth-halo",layout:"auto",vertex:{module:i,entryPoint:"vs_main"},fragment:{module:i,entryPoint:"fs_main",targets:[{format:this.engine.sceneFormat,blend:{color:{srcFactor:"one",dstFactor:"one",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one",operation:"add"}}}]},primitive:{topology:"triangle-list"}});const s=this.nodeRenderer.cameraUniformBuffer;this.haloBindGroup=t.createBindGroup({label:"observatory-birth-halo-bind",layout:this.haloPipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:s}},{binding:2,resource:{buffer:this.nodeRenderer.nodeStateBuffer}}]})}createEngravePipeline(t){if(this.engraveStepCount===0||!this.engraveBuffer)return;const e=t.createShaderModule({label:"observatory-birth-engrave",code:ll});this.engravePipeline=t.createRenderPipeline({label:"observatory-birth-engrave-pipeline",layout:"auto",vertex:{module:e,entryPoint:"vs_main"},fragment:{module:e,entryPoint:"fs_main",targets:[{format:this.engine.sceneFormat,blend:{color:{srcFactor:"one",dstFactor:"one",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one",operation:"add"}}}]},primitive:{topology:"triangle-list"}}),this.engraveBindGroup=t.createBindGroup({label:"observatory-birth-engrave-bind",layout:this.engravePipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:this.nodeRenderer.cameraUniformBuffer}},{binding:2,resource:{buffer:this.nodeRenderer.nodeStateBuffer}},{binding:3,resource:{buffer:this.engraveBuffer}}]})}compute(t,e){const i=this.engine.params[9];if(this.active=i===1,!this.active||!this.computePipeline||!this.computeBindGroup)return;const s=t.beginComputePass({label:"observatory-birth-compute"});s.setPipeline(this.computePipeline),s.setBindGroup(0,this.computeBindGroup),s.dispatchWorkgroups(Math.ceil(this.particleCount/64)),s.end()}render(t,e){this.active&&(this.renderPipeline&&this.renderBindGroup&&this.particleCount>0&&(t.setPipeline(this.renderPipeline),t.setBindGroup(0,this.renderBindGroup),t.draw(pp,this.particleCount)),this.haloPipeline&&this.haloBindGroup&&e>=mp&&e<=gp&&(t.setPipeline(this.haloPipeline),t.setBindGroup(0,this.haloBindGroup),t.draw(4,this.nodeRenderer.nodeCountValue)),this.engravePipeline&&this.engraveBindGroup&&this.engraveStepCount>0&&e>=yp&&(t.setPipeline(this.engravePipeline),t.setBindGroup(0,this.engraveBindGroup),t.draw(6,this.engraveStepCount)))}dispose(){var t,e,i,s,n,r,a,o,h,c,u;(t=this.particleBuffer)==null||t.destroy(),this.particleBuffer=null,(i=(e=this.computePipeline)==null?void 0:e.destroy)==null||i.call(e),this.computePipeline=null,this.computeBindGroup=null,(n=(s=this.renderPipeline)==null?void 0:s.destroy)==null||n.call(s),this.renderPipeline=null,this.renderBindGroup=null,(a=(r=this.haloPipeline)==null?void 0:r.destroy)==null||a.call(r),this.haloPipeline=null,this.haloBindGroup=null,(o=this.haloIndexBuffer)==null||o.destroy(),this.haloIndexBuffer=null,(c=(h=this.engravePipeline)==null?void 0:h.destroy)==null||c.call(h),this.engravePipeline=null,this.engraveBindGroup=null,(u=this.engraveBuffer)==null||u.destroy(),this.engraveBuffer=null}}function bp(l){const t=l.hopSlot.toFixed(1),e=l.causeDepth.toFixed(1);return` +struct Params { + frame: f32, + loop_phase: f32, + node_count: f32, + edge_count: f32, + path_count: f32, + pulse: f32, + viewport_w: f32, + viewport_h: f32, + brightness: f32, + demo_id: f32, + time: f32, + _pad: f32, +}; + +struct Node { + pos_radius: vec4, + vel_retention: vec4, + color_flags: vec4, + demo: vec4, +}; + +@group(0) @binding(0) var params: Params; +@group(0) @binding(1) var nodes: array; +// 1 u32/node: bits 0-15 hopDepth (0xffff unreached), 16 failure, 17 cause, +// 18 lookalike, 19-21 lookalike k (rescue-plan.ts packing). +@group(0) @binding(2) var wave: array; + +const HOP_SLOT: f32 = ${t}; +const CAUSE_DEPTH: f32 = ${e}; +const TAU: f32 = 6.28318530717958647; + +fn env(f: f32, a0: f32, a1: f32, r0: f32, r1: f32) -> f32 { + return smoothstep(a0, a1, f) * (1.0 - smoothstep(r0, r1, f)); +} + +fn arrival(d: f32) -> f32 { + return min(260.0 + HOP_SLOT * d, 514.0); +} + +@compute @workgroup_size(64) +fn rescue_choreo(@builtin(global_invocation_id) id: vec3) { + let i = id.x; + if (i >= u32(params.node_count)) { + return; + } + if (i >= arrayLength(&wave)) { + return; + } + // Belt-and-braces atop the TS gate: salience-rescue is demo index 2. + if (params.demo_id != 2.0) { + return; + } + + let packed = wave[i]; + let depth_u = packed & 0xffffu; + let d = f32(depth_u); + let is_failure = (packed & 0x10000u) != 0u; + let is_cause = (packed & 0x20000u) != 0u; + let is_look = (packed & 0x40000u) != 0u; + let look_k = f32((packed >> 19u) & 0x7u); + + let f = params.frame; + + var dx = 0.0; + var dy = 0.0; + var dz = 0.0; + var dw = 0.0; + + if (is_failure) { + // Detonation spike, wound simmer, recognition flare as the arc lands. + dw = dw + env(f, 90.0, 96.0, 120.0, 168.0); + dw = dw + 0.35 * env(f, 100.0, 130.0, 600.0, 656.0); + dw = dw + 0.35 * env(f, 552.0, 562.0, 580.0, 640.0); + // Symptom backlight while the cause burns. + dx = dx + 0.4 * env(f, 556.0, 566.0, 620.0, 668.0); + } + if (!is_failure && depth_u >= 1u && depth_u <= 12u) { + // Shockwave blink: crimson concussion, 3 frames/hop of REAL graph distance. + dw = dw + 0.75 * exp(-0.3 * d) + * env(f, 92.0 + 3.0 * d, 96.0 + 3.0 * d, 96.0 + 3.0 * d, 122.0 + 3.0 * d); + } + if (is_look) { + let fk = 138.0 + 28.0 * look_k; + // Searchlight flare — cold pop, sequential, on camera. + dy = dy + env(f, fk - 6.0, fk, fk + 10.0, fk + 26.0); + // Ash residue — the struck-through lookalike stays in frame until the verdict. + dy = dy + 0.15 * smoothstep(fk + 10.0, fk + 26.0, f) * (1.0 - smoothstep(600.0, 656.0, f)); + } + if (!is_failure && depth_u >= 1u && d <= CAUSE_DEPTH) { + let wd = arrival(d); + // Interrogation flicker: 24 integer sine cycles per loop, per-depth phase. + let flicker = 0.75 + 0.25 * sin(TAU * 24.0 * params.loop_phase + 1.7 * d); + dz = dz + env(f, wd - 10.0, wd, wd + 28.0, wd + 64.0) * flicker; + // Scanned ember. + dz = dz + 0.08 * smoothstep(wd + 28.0, wd + 64.0, f) * (1.0 - smoothstep(580.0, 640.0, f)); + } + if (is_cause) { + // Cause ignition rides the EXISTING recall response (render-nodes.wgsl): + // spectral() thin-film band + white-hot core + sprite swell at full intensity. + dx = dx + env(f, 520.0, 546.0, 640.0, 700.0); + } + + // WGSL forbids swizzle stores — reconstruct the FULL vec4; pos/vel/color + // lanes pass through untouched (the force sim owns them). + var node = nodes[i]; + node.demo = vec4(dx, dy, dz, dw); + nodes[i] = node; +} +`}const vp=2;class wp{constructor(t){T(this,"engine");T(this,"nodeRenderer");T(this,"plan");T(this,"pipeline",null);T(this,"bindGroup",null);T(this,"waveBuffer",null);this.engine=t.engine,this.nodeRenderer=t.nodeRenderer,this.plan=t.plan,this.engine.addPass(this)}upload(){var i;const t=this.engine.gpuDevice;if(!t||!this.engine.paramsBuffer||!this.plan.viable||!this.nodeRenderer.nodeStateBuffer||this.nodeRenderer.nodeCountValue===0)return;(i=this.waveBuffer)==null||i.destroy(),this.waveBuffer=t.createBuffer({label:"observatory-rescue-wave",size:Math.max(4,this.plan.waveData.byteLength),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),t.queue.writeBuffer(this.waveBuffer,0,this.plan.waveData.buffer);const e=t.createShaderModule({label:"observatory-rescue-choreo",code:bp(this.plan.consts)});this.pipeline=t.createComputePipeline({label:"observatory-rescue-choreo",layout:"auto",compute:{module:e,entryPoint:"rescue_choreo"}}),this.bindGroup=t.createBindGroup({label:"observatory-rescue-bind",layout:this.pipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:this.nodeRenderer.nodeStateBuffer}},{binding:2,resource:{buffer:this.waveBuffer}}]})}compute(t){if(this.engine.params[9]!==vp||!this.pipeline||!this.bindGroup)return;const e=this.nodeRenderer.nodeCountValue;if(e===0)return;const i=t.beginComputePass({label:"observatory-rescue-choreo"});i.setPipeline(this.pipeline),i.setBindGroup(0,this.bindGroup),i.dispatchWorkgroups(Math.ceil(e/64)),i.end()}dispose(){var t;(t=this.waveBuffer)==null||t.destroy(),this.waveBuffer=null,this.pipeline=null,this.bindGroup=null}}const _p=4,Mp=90,Sp=138,Ap=28,Tp=260,Ip=514,uh=560,Cp=600,si=65535,zp=48,Bp={causal:0,temporal:1,shared_concepts:2,complementary:3,semantic:4};function cl(l,t){const e=new Hn({seed:t});return hl(l,e.state.rng).data}function Fp(l){const t=new Uint32Array(l.nodes.length);for(const e of l.edges)t[e.sourceIndex]++,t[e.targetIndex]++;return t}function Pp(l,t){const e=l.nodes.length;if(e===0)return-1;const i=Fp(l),s=r=>{const a=l.nodes[r],o=new Set(a.tags.map(f=>f.toLowerCase()));let h=0;(o.has("failure")||o.has("guardrail"))&&(h+=3),(o.has("confusion")||o.has("weak-spot"))&&(h+=2),h+=Math.min(i[r],8)/8;const c=t[r*vt+0],u=t[r*vt+1],d=t[r*vt+2];return Math.sqrt(c*c+u*u+d*d)>=54&&(h+=.5),h},n=[r=>r!==l.centerIndex&&!l.nodes[r].suppressed&&i[r]>=2,r=>r!==l.centerIndex&&!l.nodes[r].suppressed,r=>r!==l.centerIndex,()=>!0];for(const r of n){let a=-1,o=-1/0;for(let h=0;ho&&(o=c,a=h)}if(a>=0)return a}return-1}function kp(l,t){const e=l.nodes.length,i=new Uint16Array(e).fill(si),s=new Int32Array(e).fill(-1);if(t<0||t>=e)return{depths:i,parents:s};const n=Array.from({length:e},()=>[]);for(const a of l.edges){const o=Bp[a.type]??5;n[a.sourceIndex].push({nbr:a.targetIndex,rank:o}),n[a.targetIndex].push({nbr:a.sourceIndex,rank:o})}for(const a of n)a.sort((o,h)=>o.rank-h.rank||o.nbr-h.nbr);i[t]=0;const r=[t];for(let a=0;at.nodes[f].retention<=.45);a.length===0&&(a=r);const o=new Map;let h=1/0,c=-1/0;for(const f of a){const p=s.get(t.nodes[f].id),m=p?Date.parse(p):NaN;Number.isFinite(m)&&(o.set(f,m),mc&&(c=m))}const u=f=>{const p=o.get(f);return p===void 0?0:c===h?1:(c-p)/(c-h)},d=f=>2*(1-t.nodes[f].retention)+.5*Math.min(e[f],6)/6+.5*u(f);return a.sort((f,p)=>{const m=d(f),g=d(p);return g!==m?g-m:e[p]!==e[f]?e[p]-e[f]:f-p}),{index:a[0],depth:e[a[0]]}}return{index:-1,depth:0}}function Rp(l,t,e,i,s){const n=l[e*vt+0],r=l[e*vt+1],a=l[e*vt+2],o=[];for(let h=0;hh.d2-c.d2||h.i-c.i),o.slice(0,_p).map(h=>h.i)}function Hr(l){const t=Math.max(1,l);return Math.min(84,Math.max(14,Math.floor(252/t)))}function Lp(l,t){return Math.min(Tp+t*l,Ip)}function dh(l){return Sp+Ap*l}function de(l){return l.length>64?l.slice(0,64)+"…":l}const as=4;function Pr(l){const t=new Uint32Array(l);return t.fill(si),{viable:!1,failureIndex:-1,causeIndex:-1,lookalikeIndices:[],hopDepths:new Uint16Array(l).fill(si),causeDepth:0,hopSlot:Hr(3),waveData:t,pathData:new Uint32Array(4),pathMetas:[],spineBeats:[],verdict:{headline:"root cause found",causeLabel:"",failureLabel:"",causeDate:"",hops:0,k:0,receipt:""},consts:{hopSlot:Hr(3),causeDepth:3}}}function Op(l,t,e){var R;const i=t.nodes.length;if(i===0)return Pr(0);const s=cl(t,e),n=Pp(t,s);if(n<0)return Pr(i);const{depths:r,parents:a}=kp(t,n),o=Ep(l,t,r,n);if(o.index<0){const I=Pr(i);return I.failureIndex=n,I.hopDepths=r,I}const h=o.index,c=Math.max(1,o.depth),u=Hr(c),d=I=>Lp(I,u),f=Rp(s,i,n,h,t.centerIndex),p=f.length,m=new Uint32Array(i);for(let I=0;I{m[I]|=1<<18|N<<19});const g=[];f.forEach((I,N)=>{g.push({src:n,dst:I,bf:dh(N),kind:Be.probe,beatKind:"probe"})});const x=[];{let I=h;for(;I!==n&&I>=0&&a[I]>=0;)x.push(I),I=a[I]}const y=new Set(x),b=[];for(let I=0;Ic||a[I]<0||b.push(I)}b.sort((I,N)=>r[I]-r[N]||I-N);const v=[...x.slice().reverse(),...b].slice(0,zp);v.sort((I,N)=>r[I]-r[N]||I-N);for(const I of v)g.push({src:a[I],dst:I,bf:d(r[I]),kind:Be.backwardCause,beatKind:"wave"});g.push({src:h,dst:n,bf:uh,kind:Be.backwardCause,beatKind:"arc"});const _=new Uint32Array(Math.max(1,g.length)*as),M=[];g.forEach((I,N)=>{_[N*as+0]=I.src,_[N*as+1]=I.dst,_[N*as+2]=I.bf,_[N*as+3]=I.kind,M.push({sourceIndex:I.src,targetIndex:I.dst,beatFrame:I.bf,kind:I.kind,beatKind:I.beatKind,nodeId:t.nodes[I.dst].id,label:de(t.nodes[I.dst].label)})});const A=de(t.nodes[n].label),S=de(t.nodes[h].label),C=[],z=(I,N,wt,Bt)=>{C.push({sourceIndex:n,targetIndex:n,beatFrame:I,kind:N,beatKind:"rescue",nodeId:Bt,label:wt})};z(Mp,1,`failure: ${A}`,t.nodes[n].id),f.forEach((I,N)=>{z(dh(N),0,`lookalike ✗ · ${de(t.nodes[I].label)}`,t.nodes[I].id)}),z(d(1),1,"reaching backward through time","rescue-wave-start"),c>=2&&d(c)!==d(1)&&z(d(c),1,`scrubbing past · ${c} hops`,"rescue-wave-deep"),z(uh,1,`causal arc · ${S}`,t.nodes[h].id),z(Cp,1,"root cause found","rescue-verdict");const k=((R=l.nodes.find(I=>I.id===t.nodes[h].id))==null?void 0:R.createdAt)??"",U=k?k.slice(0,10):"",W={headline:"root cause found",causeLabel:S,failureLabel:A,causeDate:U,hops:c,k:p,receipt:`${c} hops back · ${U} · vector search: 0 for ${p}`};return{viable:!0,failureIndex:n,causeIndex:h,lookalikeIndices:f,hopDepths:r,causeDepth:c,hopSlot:u,waveData:m,pathData:_,pathMetas:M,spineBeats:C,verdict:W,consts:{hopSlot:u,causeDepth:c}}}const Np=` +struct Params { + frame: f32, + loop_phase: f32, + node_count: f32, + edge_count: f32, + path_count: f32, + pulse: f32, + viewport_w: f32, + viewport_h: f32, + brightness: f32, + demo_id: f32, + time: f32, + _pad: f32, +}; + +struct Node { + pos_radius: vec4, + vel_retention: vec4, + color_flags: vec4, + demo: vec4, +}; + +@group(0) @binding(0) var params: Params; +@group(0) @binding(1) var nodes: array; +// 1 u32/node: bits 0-7 rank, 8 isDrifting, 9 isRescued, 10-11 rescue slot k +// (forgetting-plan.ts packing). Non-drifting nodes are exactly 0. +@group(0) @binding(2) var horizon: array; + +fn env(f: f32, a0: f32, a1: f32, r0: f32, r1: f32) -> f32 { + return smoothstep(a0, a1, f) * (1.0 - smoothstep(r0, r1, f)); +} + +@compute @workgroup_size(64) +fn forgetting_choreo(@builtin(global_invocation_id) id: vec3) { + let i = id.x; + if (i >= u32(params.node_count)) { + return; + } + if (i >= arrayLength(&horizon)) { + return; + } + // Belt-and-braces atop the TS gate: forgetting-horizon is demo index 3. + if (params.demo_id != 3.0) { + return; + } + + let packed = horizon[i]; + let is_drifting = (packed & 0x100u) != 0u; + let is_rescued = (packed & 0x200u) != 0u; + let rank01 = f32(packed & 0xffu) / 255.0; + let k = f32((packed >> 10u) & 0x3u); + + let f = params.frame; + // Master release: every lane is exactly 0.0 by frame 712 — the seam wall. + let master = 1.0 - smoothstep(660.0, 712.0, f); + + var dx = 0.0; + var dz = 0.0; + + if (is_drifting) { + let onset = 90.0 + 42.0 * rank01; + // Phase 1 — the drift: dim + fall to the 0.55 plateau, retention-staggered. + let phase1 = 0.55 * smoothstep(onset, onset + 210.0, f); + if (is_rescued) { + let rk = 318.0 + 60.0 * k; + // Snap-back begins 22 frames before the recall ribbon lands at rk. + dz = master * phase1 * (1.0 - smoothstep(rk - 22.0, rk + 6.0, f)); + // Ignition rides the EXISTING recall response (render-nodes.wgsl): + // spectral() thin-film band + white-hot core + sprite swell for free. + dx = master * env(f, rk - 26.0, rk, rk + 60.0, rk + 130.0); + } else { + // Phase 2 — the sink: to exactly 1.0 over 640..660 (the ~6% floor era). + let phase2 = 0.45 * smoothstep(480.0 + 24.0 * rank01, 640.0, f); + dz = master * (phase1 + phase2); + } + } + + // WGSL forbids swizzle stores — reconstruct the FULL vec4; pos/vel/color + // lanes pass through untouched (the force sim owns them). demo.y and + // demo.w are hard 0.0: the rescue/firewall grammars can never fire here. + var node = nodes[i]; + node.demo = vec4(dx, 0.0, dz, 0.0); + nodes[i] = node; +} +`,Dp=3;class Up{constructor(t){T(this,"engine");T(this,"nodeRenderer");T(this,"plan");T(this,"pipeline",null);T(this,"bindGroup",null);T(this,"horizonBuffer",null);this.engine=t.engine,this.nodeRenderer=t.nodeRenderer,this.plan=t.plan,this.engine.addPass(this)}upload(){var i;const t=this.engine.gpuDevice;if(!t||!this.engine.paramsBuffer||!this.plan.viable||!this.nodeRenderer.nodeStateBuffer||this.nodeRenderer.nodeCountValue===0)return;(i=this.horizonBuffer)==null||i.destroy(),this.horizonBuffer=t.createBuffer({label:"observatory-forgetting-horizon",size:Math.max(4,this.plan.horizonData.byteLength),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),t.queue.writeBuffer(this.horizonBuffer,0,this.plan.horizonData.buffer);const e=t.createShaderModule({label:"observatory-forgetting-choreo",code:Np});this.pipeline=t.createComputePipeline({label:"observatory-forgetting-choreo",layout:"auto",compute:{module:e,entryPoint:"forgetting_choreo"}}),this.bindGroup=t.createBindGroup({label:"observatory-forgetting-bind",layout:this.pipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:this.nodeRenderer.nodeStateBuffer}},{binding:2,resource:{buffer:this.horizonBuffer}}]})}compute(t){if(this.engine.params[9]!==Dp||!this.pipeline||!this.bindGroup)return;const e=this.nodeRenderer.nodeCountValue;if(e===0)return;const i=t.beginComputePass({label:"observatory-forgetting-choreo"});i.setPipeline(this.pipeline),i.setBindGroup(0,this.bindGroup),i.dispatchWorkgroups(Math.ceil(e/64)),i.end()}dispose(){var t;(t=this.horizonBuffer)==null||t.destroy(),this.horizonBuffer=null,this.pipeline=null,this.bindGroup=null}}const Vp=318,Gp=60,ul=3,Wp=132,Hp=60,qp=540,Xp=660;function Yp(l){const t=[];for(let s=0;sl.nodes[s].retention-l.nodes[n].retention||s-n);const e=t.length;if(e===0)return[];const i=Math.min(e,Math.max(Math.min(ul,e),Math.round(.25*e)));return t.slice(0,i)}function Jp(l,t){const e=new Uint32Array(l.nodes.length);for(const n of l.edges)e[n.sourceIndex]++,e[n.targetIndex]++;const i=n=>2*l.nodes[n].retention+Math.min(e[n],8)/8;return t.slice().sort((n,r)=>i(r)-i(n)||n-r).slice(0,Math.min(ul,t.length))}function fh(l){return Vp+Gp*l}const os=4;function Zp(l){return{viable:!1,driftingIndices:[],rescuedIndices:[],horizonData:new Uint32Array(l),pathData:new Uint32Array(4),pathMetas:[],spineBeats:[]}}function Kp(l){const t=l.nodes.length,e=Yp(l);if(t<2||e.length<1)return Zp(t);const i=Jp(l,e),s=e.length,n=new Uint32Array(t);e.forEach((d,f)=>{const p=Math.round(255*f/Math.max(1,s-1));n[d]=p&255|256}),i.forEach((d,f)=>{n[d]|=512|f<<10});const r=new Uint32Array(Math.max(1,i.length)*os),a=[];i.forEach((d,f)=>{const p=fh(f);r[f*os+0]=l.centerIndex,r[f*os+1]=d,r[f*os+2]=p,r[f*os+3]=Be.recall,a.push({sourceIndex:l.centerIndex,targetIndex:d,beatFrame:p,kind:Be.recall,beatKind:"recall",nodeId:l.nodes[d].id,label:de(l.nodes[d].label)})});const o=[],h=(d,f,p,m)=>{o.push({sourceIndex:l.centerIndex,targetIndex:l.centerIndex,beatFrame:d,kind:f,beatKind:"horizon",nodeId:m,label:p})},c=new Set(i),u=e.filter(d=>!c.has(d)).slice(0,3);return u.forEach((d,f)=>{const p=Math.round(l.nodes[d].retention*100);h(Wp+Hp*f,1,`fading: ${de(l.nodes[d].label)} · retention ${p}%`,l.nodes[d].id)}),i.forEach((d,f)=>{h(fh(f),0,`recalled: ${de(l.nodes[d].label)}`,l.nodes[d].id)}),u.length>0&&h(qp,1,"the unrecalled sink · nothing is deleted","horizon-sink"),h(Xp,0,"every memory still retrievable","horizon-retrievable"),{viable:!0,driftingIndices:e,rescuedIndices:i,horizonData:n,pathData:r,pathMetas:a,spineBeats:o}}const jp=` +struct Params { + frame: f32, + loop_phase: f32, + node_count: f32, + edge_count: f32, + path_count: f32, + pulse: f32, + viewport_w: f32, + viewport_h: f32, + brightness: f32, + demo_id: f32, + time: f32, + _pad: f32, +}; + +struct Node { + pos_radius: vec4, + vel_retention: vec4, + color_flags: vec4, + demo: vec4, +}; + +@group(0) @binding(0) var params: Params; +@group(0) @binding(1) var nodes: array; +// 1 u32/node: bits 0-7 shockDelay, 8 isIntruder, 9 isSeverNeighbor, +// 10-13 sever slot k (firewall-plan.ts packing). Every node carries a delay. +@group(0) @binding(2) var fire: array; + +const TAU: f32 = 6.28318530717958647; + +fn env(f: f32, a0: f32, a1: f32, r0: f32, r1: f32) -> f32 { + return smoothstep(a0, a1, f) * (1.0 - smoothstep(r0, r1, f)); +} + +@compute @workgroup_size(64) +fn firewall_choreo(@builtin(global_invocation_id) id: vec3) { + let i = id.x; + if (i >= u32(params.node_count)) { + return; + } + if (i >= arrayLength(&fire)) { + return; + } + // Belt-and-braces atop the TS gate: firewall is demo index 4. + if (params.demo_id != 4.0) { + return; + } + + let packed = fire[i]; + let delay = f32(packed & 0xffu); + let is_intruder = (packed & 0x100u) != 0u; + let is_sever = (packed & 0x200u) != 0u; + let k = f32((packed >> 10u) & 0xfu); + + let f = params.frame; + + var fy = 0.0; + var fw = 0.0; + + if (is_intruder) { + // Intrusion flare: sickly strobe, band (0..1], 36 integer cycles/loop. + // C¹ handoff into the membrane over 330-332 (the rise sweeps the flare + // band exactly once — the condensation read is intentional). + fy = env(f, 90.0, 96.0, 310.0, 332.0) + * (0.55 + 0.45 * sin(TAU * 36.0 * params.loop_phase)); + // Membrane: sustained ring band [2.60..2.90], 12 integer cycles/loop. + fy = fy + env(f, 330.0, 352.0, 620.0, 680.0) + * (2.75 + 0.15 * sin(TAU * 12.0 * params.loop_phase)); + // Source detonation as the front leaves. + fw = env(f, 148.0, 153.0, 162.0, 196.0); + } else { + // Crimson rim as the radial front passes: arrival A = 150 + delay, + // amplitude fades with distance; A ∈ [150, 294] ⇒ all rims dead by 320. + let a = 150.0 + delay; + let amp = 0.9 - 0.45 * (delay / 144.0); + fw = amp * env(f, a - 2.0, a + 3.0, a + 8.0, a + 26.0); + if (is_sever) { + // Node-side receipt of the severed edge; last release 474. + let sk = 345.0 + 21.0 * k; + fw = fw + 0.6 * env(f, sk - 4.0, sk, sk + 6.0, sk + 24.0); + } + } + + // WGSL forbids swizzle stores — reconstruct the FULL vec4; pos/vel/color + // lanes pass through untouched (the force sim owns them). demo.x and + // demo.z are hard 0.0: the recall and horizon grammars can never fire here. + var node = nodes[i]; + node.demo = vec4(0.0, fy, 0.0, fw); + nodes[i] = node; +} +`,Qp=4;class $p{constructor(t){T(this,"engine");T(this,"nodeRenderer");T(this,"plan");T(this,"pipeline",null);T(this,"bindGroup",null);T(this,"fireBuffer",null);this.engine=t.engine,this.nodeRenderer=t.nodeRenderer,this.plan=t.plan,this.engine.addPass(this)}upload(){var i;const t=this.engine.gpuDevice;if(!t||!this.engine.paramsBuffer||!this.plan.viable||!this.nodeRenderer.nodeStateBuffer||this.nodeRenderer.nodeCountValue===0)return;(i=this.fireBuffer)==null||i.destroy(),this.fireBuffer=t.createBuffer({label:"observatory-firewall-fire",size:Math.max(4,this.plan.fireData.byteLength),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),t.queue.writeBuffer(this.fireBuffer,0,this.plan.fireData.buffer);const e=t.createShaderModule({label:"observatory-firewall-choreo",code:jp});this.pipeline=t.createComputePipeline({label:"observatory-firewall-choreo",layout:"auto",compute:{module:e,entryPoint:"firewall_choreo"}}),this.bindGroup=t.createBindGroup({label:"observatory-firewall-bind",layout:this.pipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this.engine.paramsBuffer}},{binding:1,resource:{buffer:this.nodeRenderer.nodeStateBuffer}},{binding:2,resource:{buffer:this.fireBuffer}}]})}compute(t){if(this.engine.params[9]!==Qp||!this.pipeline||!this.bindGroup)return;const e=this.nodeRenderer.nodeCountValue;if(e===0)return;const i=t.beginComputePass({label:"observatory-firewall-choreo"});i.setPipeline(this.pipeline),i.setBindGroup(0,this.bindGroup),i.dispatchWorkgroups(Math.ceil(e/64)),i.end()}dispose(){var t;(t=this.fireBuffer)==null||t.destroy(),this.fireBuffer=null,this.pipeline=null,this.bindGroup=null}}const tm=90,em=150,im=144,sm=330,nm=345,rm=21,am=6,om=480,hm=["failure","guardrail","confusion"];function lm(l){const t=l.nodes.length;if(t===0)return-1;const e=new Uint32Array(t);for(const n of l.edges)e[n.sourceIndex]++,e[n.targetIndex]++;const i=n=>l.nodes[n].tags.some(r=>hm.includes(r.toLowerCase())),s=[n=>n!==l.centerIndex&&!l.nodes[n].suppressed&&i(n),n=>n!==l.centerIndex&&!l.nodes[n].suppressed&&e[n]<=1,n=>n!==l.centerIndex&&!l.nodes[n].suppressed,n=>n!==l.centerIndex];for(const n of s){let r=-1;for(let a=0;a=0)return r}return-1}function cm(l,t,e){const i=l[e*vt+0],s=l[e*vt+1],n=l[e*vt+2],r=new Array(t);let a=0;for(let h=0;ha&&(a=f)}a<1e-6&&(a=1);const o=new Array(t);for(let h=0;hi-s).slice(0,am)}function ph(l){return nm+rm*l}const hs=4;function dm(l){return{viable:!1,intruderIndex:-1,severedNeighborIndices:[],shockDelays:[],fireData:new Uint32Array(l),pathData:new Uint32Array(4),pathMetas:[],spineBeats:[],verdict:{headline:"threat quarantined",intruderLabel:"",receipt:"memory held in review · Memory PR opened"}}}function fm(l,t){const e=l.nodes.length,i=lm(l);if(e===0||i<0)return dm(e);const s=cl(l,t),n=cm(s,e,i),r=um(l,i),a=new Uint32Array(e);for(let p=0;p{a[p]|=512|m<<10});const o=new Uint32Array(Math.max(1,r.length)*hs),h=[];r.forEach((p,m)=>{const g=ph(m);o[m*hs+0]=i,o[m*hs+1]=p,o[m*hs+2]=g,o[m*hs+3]=Be.probe,h.push({sourceIndex:i,targetIndex:p,beatFrame:g,kind:Be.probe,beatKind:"sever",nodeId:l.nodes[p].id,label:de(l.nodes[p].label)})});const c=de(l.nodes[i].label),u=[],d=(p,m,g)=>{u.push({sourceIndex:i,targetIndex:i,beatFrame:p,kind:1,beatKind:"firewall",nodeId:g,label:m})};return d(tm,`intrusion · ${c}`,l.nodes[i].id),d(em,"immune response · shockwave","firewall-shock"),d(sm,"membrane forming","firewall-membrane"),r.forEach((p,m)=>{d(ph(m),`edge severed ✗ · ${de(l.nodes[p].label)}`,l.nodes[p].id)}),d(om,"threat quarantined","firewall-verdict"),{viable:!0,intruderIndex:i,severedNeighborIndices:r,shockDelays:n,fireData:a,pathData:o,pathMetas:h,spineBeats:u,verdict:{headline:"threat quarantined",intruderLabel:c,receipt:"memory held in review · Memory PR opened"}}}var pm=At(``),mm=At(""),gm=At('
'),ym=At('
LOADING MEMORY FIELD...
'),xm=At('
'),bm=At('
NO MEMORIES IN FIELD
'),vm=At('
'),wm=At("
");function Ey(l,t){Ms(t,!0);let e=lt(t,"seed",3,"vestige-observatory-v1"),i=lt(t,"freezeFrame",3,null),s=lt(t,"capture",3,!1),n=lt(t,"showSwitcher",3,!0),r=lt(t,"embedded",3,!1),a=lt(t,"chrome",3,"full"),o=Pt(null);async function h(K){if(!t.onpick||!M||!D(o))return;const it=D(o).getBoundingClientRect();if(it.width===0||it.height===0)return;const jt=(K.clientX-it.left)/it.width*2-1,Pe=-((K.clientY-it.top)/it.height*2-1),q=await M.pickAt(jt,Pe);q&&t.onpick(q.id)}const c={"recall-path":"RECALL","engram-birth":"BIRTH","salience-rescue":"RESCUE","forgetting-horizon":"HORIZON",firewall:"FIREWALL"};let u=Pt(!s());function d(K){(K.key==="h"||K.key==="H")&&mt(u,!D(u)),K.key==="Escape"&&t.onexit&&t.onexit()}let f=Pt(null),p=Pt(!0),m=Pt(""),g=Pt(0),x=Pt(0),y=Pt(0),b=Pt(0),v=Pt(""),_=Pt(null),M=null,A=null,S=null,C=Pt(null),z=null,k=null,U=Pt(null),W=!1,R=Pt(yh([]));async function I(){mt(p,!0),mt(m,"");try{const K=await bl.graph({max_nodes:200,depth:3,sort:"connected"});mt(f,K,!0),mt(y,K.nodeCount,!0),mt(b,K.edgeCount,!0),mt(v,K.center_id,!0)}catch(K){mt(m,K instanceof Error?K.message:"Failed to load graph data",!0)}finally{mt(p,!1)}}function N(K,it){mt(g,K,!0),mt(x,it,!0)}function wt(K){W=!1,mt(_,K,!0),M=new ip(K)}function Bt(K){var it;(K.state==="unsupported"||K.state==="error")&&((it=t.onfallback)==null||it.call(t,K.reason))}gl(()=>{if(D(_)&&M&&D(f)&&!W){W=!0;const K=t.demo==="engram-birth",it=t.demo==="salience-rescue",jt=t.demo==="forgetting-horizon",Pe=t.demo==="firewall";if(M.upload(D(f),e(),{recallPath:!K&&!it&&!jt&&!Pe}),K){A=new xp({engine:D(_),nodeRenderer:M,seed:e()}),A.upload(e());const q=A.engraveSteps,Ot=[];for(let F=0;F({sourceIndex:0,targetIndex:0,beatFrame:F.startFrame,kind:0,beatKind:"birth",nodeId:`birth-${P}`,label:F.label})),!0)}else if(it){const q=Op(D(f),M.graph,e());mt(C,q,!0),q.viable&&(S=new wp({engine:D(_),nodeRenderer:M,plan:q}),S.upload(),M.setPathSteps(q.pathData,q.pathMetas)),mt(R,q.spineBeats,!0)}else if(jt){const q=Kp(M.graph);q.viable&&(z=new Up({engine:D(_),nodeRenderer:M,plan:q}),z.upload(),M.setPathSteps(q.pathData,q.pathMetas)),mt(R,q.spineBeats,!0)}else if(Pe){const q=fm(M.graph,e());mt(U,q,!0),q.viable&&(k=new $p({engine:D(_),nodeRenderer:M,plan:q}),k.upload(),M.setPathSteps(q.pathData,q.pathMetas)),mt(R,q.spineBeats,!0)}else mt(R,M.pathSteps,!0);D(_).demoClock.reset()}}),mh(()=>{I()});var nt=wm();xl("keydown",yl,d);let ht;var et=rt(nt);let Lt;var ye=rt(et);Hf(ye,{get demo(){return t.demo},get seed(){return e()},get freezeFrame(){return i()},onframe:N,onready:wt,onstatus:Bt}),st(et),vh(et,K=>mt(o,K),()=>D(o));var Gi=ct(et,2);{var hi=K=>{var it=vm(),jt=rt(it);{var Pe=J=>{Sf(J,{get demoMode(){return t.demo},get seed(){return e()},get nodeCount(){return D(y)},get edgeCount(){return D(b)},get centerId(){return D(v)},get frameCount(){return D(g)},get fpsEstimate(){return D(x)},get freezeFrame(){return i()},get loading(){return D(p)},get error(){return D(m)}})};zt(jt,J=>{a()==="full"&&J(Pe)})}var q=ct(jt,2);{var Ot=J=>{var at=pm();wn("click",at,function(...le){var se;(se=t.onexit)==null||se.apply(this,le)}),xt(J,at)};zt(q,J=>{a()==="full"&&t.onexit&&J(Ot)})}var F=ct(q,2);{var P=J=>{var at=gm();bh(at,20,()=>Fa,le=>le,(le,se)=>{var xe=mm(),zs=rt(xe,!0);st(xe),oe(()=>{us(xe,1,`font-mono text-[11px] tracking-widest text-left rounded px-3 py-1.5 border transition-colors + ${se===t.demo?"text-[#05060a] bg-[#5dcaa5] border-[#5dcaa5]":"text-[#5dcaa5]/60 hover:text-[#5dcaa5] bg-[#05060a]/70 border-[#5dcaa5]/20 hover:border-[#5dcaa5]/50"}`),Yr(xe,"title",`Play the ${c[se]??""} moment`),Xt(zs,c[se])}),wn("click",xe,()=>{var Pa;return(Pa=t.ondemochange)==null?void 0:Pa.call(t,se)}),xt(le,xe)}),st(at),xt(J,at)};zt(F,J=>{a()==="full"&&n()&&J(P)})}var E=ct(F,2);{var G=J=>{var at=ym();xt(J,at)};zt(E,J=>{D(p)&&J(G)})}var L=ct(E,2);{var j=J=>{var at=xm(),le=rt(at),se=rt(le,!0);st(le),st(at),oe(()=>Xt(se,D(m))),xt(J,at)};zt(L,J=>{D(m)&&!D(p)&&J(j)})}var Q=ct(L,2);{var ot=J=>{Cf(J,{get steps(){return D(R)},get frame(){return D(g)}})};zt(Q,J=>{a()==="full"&&J(ot)})}var _t=ct(Q,2);{var bt=J=>{ih(J,{get frame(){return D(g)},get verdict(){return D(C).verdict}})};zt(_t,J=>{var at;a()==="full"&&t.demo==="salience-rescue"&&((at=D(C))!=null&&at.viable)&&J(bt)})}var ke=ct(_t,2);{var Wi=J=>{{let at=Xr(()=>({headline:D(U).verdict.headline,causeLabel:D(U).verdict.intruderLabel,receipt:D(U).verdict.receipt}));ih(J,{get frame(){return D(g)},tone:"quarantine",fadeWindow:[480,495,605,620],get verdict(){return D(at)}})}};zt(ke,J=>{var at;a()==="full"&&t.demo==="firewall"&&((at=D(U))!=null&&at.viable)&&J(Wi)})}var ie=ct(ke,2);{var Cs=J=>{var at=bm();xt(J,at)};zt(ie,J=>{!D(p)&&D(f)&&D(f).nodeCount===0&&J(Cs)})}st(it),xt(K,it)};zt(Gi,K=>{D(u)&&K(hi)})}st(nt),oe(()=>{ht=us(nt,1,`${r()?"absolute":"fixed"} inset-0 overflow-hidden bg-[#05060a]`,null,ht,{"cursor-none":s()}),Lt=us(et,1,"absolute inset-0 z-0",null,Lt,{"cursor-crosshair":!!t.onpick&&!s()})}),wn("click",et,h),xt(l,nt),Ss()}xh(["click"]);export{Ni as $,wl as A,Mh as B,V as C,lg as D,We as E,St as F,Oh as G,El as H,vu as I,kl as J,kg as K,_d as L,bg as M,vl as N,_h as O,xa as P,Kt as Q,ta as R,An as S,Ge as T,jr as U,w as V,Tn as W,Rt as X,Ea as Y,Ca as Z,Jg as _,pe as a,ue as a$,U0 as a0,Vt as a1,Qh as a2,te as a3,On as a4,gt as a5,Vg as a6,w0 as a7,Va as a8,Y as a9,Gm as aA,Rh as aB,Er as aC,qm as aD,wg as aE,Ld as aF,Nd as aG,Ud as aH,Dd as aI,Pd as aJ,Gd as aK,_0 as aL,M0 as aM,S0 as aN,A0 as aO,I0 as aP,C0 as aQ,Vm as aR,Sl as aS,Al as aT,Is as aU,Ua as aV,qn as aW,Ol as aX,Sh as aY,vg as aZ,Lr as a_,Ch as aa,Zr as ab,fe as ac,ig as ad,Hm as ae,Wl as af,dd as ag,fs as ah,dt as ai,Ng as aj,v0 as ak,b0 as al,Jr as am,zh as an,Li as ao,Lg as ap,pu as aq,fu as ar,Tl as as,Z as at,ys as au,O as av,tt as aw,P0 as ax,Ii as ay,$t as az,B as b,sc as b$,Rr as b0,Il as b1,he as b2,ag as b3,rg as b4,og as b5,sg as b6,ng as b7,hg as b8,eg as b9,f0 as bA,d0 as bB,Rl as bC,Ll as bD,Nl as bE,Bl as bF,Fl as bG,Pl as bH,Dl as bI,Ul as bJ,Vl as bK,Gl as bL,Ah as bM,Th as bN,Hl as bO,ql as bP,Xl as bQ,Yl as bR,Jl as bS,Zl as bT,Kl as bU,jl as bV,Ql as bW,$l as bX,tc as bY,ec as bZ,ic as b_,Km as ba,Zm as bb,Ra as bc,n0 as bd,a0 as be,Oa as bf,i0 as bg,s0 as bh,r0 as bi,o0 as bj,La as bk,e0 as bl,t0 as bm,$m as bn,Om as bo,Nm as bp,Dm as bq,Jm as br,Ym as bs,Xm as bt,x0 as bu,y0 as bv,g0 as bw,m0 as bx,Na as by,p0 as bz,oa as c,Ut as c$,nc as c0,rc as c1,ac as c2,oc as c3,hc as c4,lc as c5,cc as c6,uc as c7,dc as c8,fc as c9,li as cA,Qm as cB,jm as cC,na as cD,k0 as cE,Ih as cF,of as cG,En as cH,Wg as cI,sy as cJ,iy as cK,Gg as cL,Pu as cM,Qg as cN,Ay as cO,Da as cP,Jd as cQ,ey as cR,$h as cS,$g as cT,Kg as cU,Ty as cV,Ic as cW,zu as cX,Eh as cY,Ui as cZ,dy as c_,pc as ca,mc as cb,gc as cc,yc as cd,vc as ce,wc as cf,_c as cg,Mc as ch,Ce as ci,au as cj,ru as ck,$0 as cl,Q0 as cm,tg as cn,K0 as co,j0 as cp,Z0 as cq,Wa as cr,J0 as cs,X0 as ct,q0 as cu,H0 as cv,W0 as cw,Y0 as cx,G0 as cy,V0 as cz,Oi as d,ge as d$,My as d0,_y as d1,Hd as d2,Ve as d3,sa as d4,wy as d5,Nh as d6,da as d7,ku as d8,fa as d9,vy as dA,Td as dB,ma as dC,mg as dD,dg as dE,Hu as dF,ca as dG,ga as dH,aa as dI,ra as dJ,hy as dK,yg as dL,xg as dM,xy as dN,yy as dO,ya as dP,Zg as dQ,Rn as dR,Yc as dS,Wd as dT,Fg as dU,Pg as dV,Cg as dW,Gn as dX,Mn as dY,Or as dZ,Xn as d_,Xd as da,Kh as db,Dg as dc,Ug as dd,la as de,Hg as df,pa as dg,c0 as dh,h0 as di,Cy as dj,qg as dk,Dh as dl,Vu as dm,Ad as dn,Um as dp,me as dq,Wu as dr,T0 as ds,Ts as dt,uy as du,Bh as dv,Xg as dw,Ig as dx,Bd as dy,_l as dz,qt as e,Pi as e$,mu as e0,Dn as e1,Fh as e2,oi as e3,ni as e4,fy as e5,Uh as e6,Gu as e7,Bu as e8,Fe as e9,ty as eA,$ as eB,Kd as eC,Vh as eD,Gh as eE,Zt as eF,Wn as eG,Id as eH,O0 as eI,N0 as eJ,xc as eK,bc as eL,D0 as eM,fd as eN,As as eO,ly as eP,ny as eQ,ry as eR,ba as eS,ia as eT,Ri as eU,va as eV,Iy as eW,ze as eX,ha as eY,my as eZ,yu as e_,Zh as ea,F0 as eb,Ga as ec,Lo as ed,jh as ee,Sc as ef,Tc as eg,Ac as eh,Rm as ei,el as ej,bd as ek,vd as el,B0 as em,z0 as en,Qr as eo,Pn as ep,Vn as eq,u0 as er,l0 as es,Wm as et,Fn as eu,Sy as ev,gy as ew,Fu as ex,by as ey,ai as ez,Yn as f,Et as f0,cy as f1,Vd as f2,Wh as f3,py as f4,cs as f5,pg as f6,ug as f7,jg as f8,gg as f9,Bi as fA,ky as fB,Ey as fC,Mg as fD,Sg as fE,_g as fF,xs as fG,Rg as fH,Eg as fI,Nn as fJ,pf as fK,Hc as fL,lu as fM,In as fN,gf as fO,Py as fP,By as fQ,nl as fR,xf as fS,bn as fT,Br as fU,bf as fV,Fy as fW,zr as fX,cg as fa,fg as fb,Vi as fc,Lm as fd,wa as fe,Yg as ff,zy as fg,_a as fh,Ma as fi,Yt as fj,L0 as fk,R0 as fl,E0 as fm,Sa as fn,zg as fo,Bg as fp,tl as fq,ay as fr,kn as fs,Og as ft,Tg as fu,Ag as fv,ea as fw,ud as fx,Sn as fy,zi as fz,Kr as g,Ml as h,Te as i,Ed as j,oy as k,bs as l,Lh as m,Gt as n,Di as o,xd as p,wd as q,yd as r,md as s,pd as t,Aa as u,gd as v,ee as w,zl as x,Cl as y,Ln as z}; diff --git a/apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js.br b/apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js.br new file mode 100644 index 0000000000000000000000000000000000000000..eed0fc44ae9dfc9d320884cd52088d87181779f0 GIT binary patch literal 110169 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

HtGBvXEJ58*{?JwO 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 literal 0 HcmV?d00001 diff --git a/apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js.gz b/apps/dashboard/build/_app/immutable/chunks/DSmtfx7F.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..06661e9238bfb73f84dde39c17d9d4ff1a757c7f GIT binary patch literal 134051 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 z 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 Z|+0vHjPpfG3 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%0AyDGqU9v<{Edi3H=NH&37SXAQ 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 diff --git a/apps/dashboard/build/_app/immutable/chunks/CfobEeQC.js.gz b/apps/dashboard/build/_app/immutable/chunks/CfobEeQC.js.gz deleted file mode 100644 index 11150f180c66003c9fce76160095a8cd9dbaa756..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139352 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�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