framefields 2.6.2 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-BHuVoNc-.mjs → audio-j3ttoRDX.mjs} +4 -4
- package/dist/{audio-BHuVoNc-.mjs.map → audio-j3ttoRDX.mjs.map} +1 -1
- package/dist/{audio-WcPMxtcz.d.mts → audio-tL8CcPra.d.mts} +3 -3
- package/dist/{audio-WcPMxtcz.d.mts.map → audio-tL8CcPra.d.mts.map} +1 -1
- package/dist/components/index.d.mts +10 -10
- package/dist/components/index.mjs +44 -44
- package/dist/{dist-Wsjx_Rza.mjs → dist-BHTd-EC1.mjs} +92 -19
- package/dist/{dist-Wsjx_Rza.mjs.map → dist-BHTd-EC1.mjs.map} +1 -1
- package/dist/{dist-CSU_2yUb.mjs → dist-BM0ilHvQ.mjs} +115 -21
- package/dist/dist-BM0ilHvQ.mjs.map +1 -0
- package/dist/{dist-CL5JOMSp.mjs → dist-BRXsfWKQ.mjs} +424 -8
- package/dist/dist-BRXsfWKQ.mjs.map +1 -0
- package/dist/{dist-PlaSQJ43.mjs → dist-CPtFZxtu.mjs} +2 -2
- package/dist/{dist-PlaSQJ43.mjs.map → dist-CPtFZxtu.mjs.map} +1 -1
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-BvloJaPQ.mjs → effects-Dy661XS_.mjs} +3 -3
- package/dist/{effects-BvloJaPQ.mjs.map → effects-Dy661XS_.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-DpnBDAqM.mjs → fonts-BcFhAqqO.mjs} +2 -2
- package/dist/{fonts-DpnBDAqM.mjs.map → fonts-BcFhAqqO.mjs.map} +1 -1
- package/dist/{gpu-BvYDrqOC.mjs → gpu-zIhSz_0X.mjs} +2 -2
- package/dist/{gpu-BvYDrqOC.mjs.map → gpu-zIhSz_0X.mjs.map} +1 -1
- package/dist/{index-kj5uSzaI.d.mts → index-B1ENegOQ.d.mts} +204 -2
- package/dist/index-B1ENegOQ.d.mts.map +1 -0
- package/dist/{index-DsGBouQM.d.mts → index-CJRTBLZ4.d.mts} +4 -4
- package/dist/{index-DsGBouQM.d.mts.map → index-CJRTBLZ4.d.mts.map} +1 -1
- package/dist/{index-DcIR_DgU.d.mts → index-Cg30slle.d.mts} +2 -2
- package/dist/{index-DcIR_DgU.d.mts.map → index-Cg30slle.d.mts.map} +1 -1
- package/dist/{index-wUhS1_4W.d.mts → index-DeeMmoEA.d.mts} +2 -2
- package/dist/{index-wUhS1_4W.d.mts.map → index-DeeMmoEA.d.mts.map} +1 -1
- package/dist/{index-C541Ol1N.d.mts → index-ePGQ_C7f.d.mts} +39 -16
- package/dist/index-ePGQ_C7f.d.mts.map +1 -0
- package/dist/{index-C6ihzCpZ.d.mts → index-l1yRugLc.d.mts} +3 -3
- package/dist/{index-C6ihzCpZ.d.mts.map → index-l1yRugLc.d.mts.map} +1 -1
- package/dist/{index-BCzXnNpb.d.mts → index-uDZ9Yuv-.d.mts} +5 -8
- package/dist/index-uDZ9Yuv-.d.mts.map +1 -0
- package/dist/index.d.mts +11 -11
- package/dist/index.mjs +53 -53
- package/dist/preview/index.d.mts +3 -3
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview-UMG4Colu.mjs → preview-IpdVFuxv.mjs} +3 -2
- package/dist/{preview-UMG4Colu.mjs.map → preview-IpdVFuxv.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-RF62TV3G.mjs → chunk-25WRUINA.mjs} +1 -1
- package/dist/preview-engine/{chunk-MMVFX42U.mjs → chunk-2AEWPT6Y.mjs} +1 -1
- package/dist/preview-engine/{chunk-IIOHF7MH.mjs → chunk-2MDTUA3W.mjs} +1 -1
- package/dist/preview-engine/{chunk-KWTTANYN.mjs → chunk-2TLABBER.mjs} +1 -1
- package/dist/preview-engine/{chunk-MUOJMF7M.mjs → chunk-3QOJVABU.mjs} +1 -1
- package/dist/preview-engine/{chunk-RDEQ4LQU.mjs → chunk-4Q3ZUTQC.mjs} +1 -1
- package/dist/preview-engine/{chunk-OXXRKNHW.mjs → chunk-5BXCJ2QX.mjs} +1 -1
- package/dist/preview-engine/{chunk-JTT3YX7W.mjs → chunk-5R4UF7YK.mjs} +1 -1
- package/dist/preview-engine/{chunk-SVE3XWO7.mjs → chunk-6VDYWMP5.mjs} +1 -1
- package/dist/preview-engine/{chunk-ULPLHKM2.mjs → chunk-7B7QQDPZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-ULVX4VYT.mjs → chunk-7ZA36EZE.mjs} +1 -1
- package/dist/preview-engine/{chunk-LYSU6S4O.mjs → chunk-AJ6BVUDB.mjs} +1 -1
- package/dist/preview-engine/{chunk-J24VHZS6.mjs → chunk-BDXGUSSF.mjs} +1 -1
- package/dist/preview-engine/{chunk-B7J72YSP.mjs → chunk-CC5V7UBF.mjs} +1 -1
- package/dist/preview-engine/{chunk-JD4TBC6Z.mjs → chunk-CP42LYD7.mjs} +1 -1
- package/dist/preview-engine/{chunk-LN3YAWUD.mjs → chunk-DJWDD3OE.mjs} +1 -1
- package/dist/preview-engine/{chunk-V3FODTPI.mjs → chunk-DZEWY4PR.mjs} +22 -22
- package/dist/preview-engine/{chunk-RKNV5N7D.mjs → chunk-ENGQ55LR.mjs} +1 -1
- package/dist/preview-engine/{chunk-NIILFJKE.mjs → chunk-FBXKVLTB.mjs} +14 -14
- package/dist/preview-engine/{chunk-MJCK5FLZ.mjs → chunk-FMEXTHL7.mjs} +1 -1
- package/dist/preview-engine/{chunk-UEQIO6AH.mjs → chunk-FQ7UCMWR.mjs} +1 -1
- package/dist/preview-engine/{chunk-TPFDAOW7.mjs → chunk-FRIBHQTM.mjs} +1 -1
- package/dist/preview-engine/chunk-FT7HJ6IE.mjs +3 -0
- package/dist/preview-engine/{chunk-YEPYVASB.mjs → chunk-G3UOUGIE.mjs} +1 -1
- package/dist/preview-engine/{chunk-4JX5LBE2.mjs → chunk-H4GDIVX4.mjs} +1 -1
- package/dist/preview-engine/{chunk-DDFWN7DI.mjs → chunk-I7QIQURU.mjs} +1 -1
- package/dist/preview-engine/{chunk-3KHD67Q3.mjs → chunk-ID344UBN.mjs} +1 -1
- package/dist/preview-engine/{chunk-5NT7WWJR.mjs → chunk-IGCXUGHT.mjs} +1 -1
- package/dist/preview-engine/{chunk-QPBTLJ5W.mjs → chunk-IK3YA6MC.mjs} +1 -1
- package/dist/preview-engine/chunk-J5SKQFJ6.mjs +1 -0
- package/dist/preview-engine/{chunk-Q7JN4EHX.mjs → chunk-JOPZNSZJ.mjs} +1 -1
- package/dist/preview-engine/{chunk-SQ52PBF3.mjs → chunk-JOSNIMFT.mjs} +1 -1
- package/dist/preview-engine/{chunk-SXNCNG4L.mjs → chunk-JR443L5E.mjs} +1 -1
- package/dist/preview-engine/{chunk-FZLKPBKS.mjs → chunk-KCAFMWDM.mjs} +1 -1
- package/dist/preview-engine/{chunk-QRYCB6E3.mjs → chunk-LAEPNVOE.mjs} +1 -1
- package/dist/preview-engine/chunk-MAALUQK3.mjs +1974 -0
- package/dist/preview-engine/chunk-MHCXSWK7.mjs +1 -0
- package/dist/preview-engine/{chunk-4INGTMZ5.mjs → chunk-MWBARRK2.mjs} +1 -1
- package/dist/preview-engine/{chunk-GQIRV466.mjs → chunk-MXPN2GB7.mjs} +1 -1
- package/dist/preview-engine/{chunk-W2EZFV4Q.mjs → chunk-NHYB5YC3.mjs} +1 -1
- package/dist/preview-engine/{chunk-22BLMBWX.mjs → chunk-PXSKIGAP.mjs} +6 -6
- package/dist/preview-engine/{chunk-SP22JWN2.mjs → chunk-PYM2FBFA.mjs} +1 -1
- package/dist/preview-engine/chunk-QDTJ4MOJ.mjs +1 -0
- package/dist/preview-engine/{chunk-6PMATELR.mjs → chunk-RQU2GFGH.mjs} +1 -1
- package/dist/preview-engine/{chunk-UQD2UE6I.mjs → chunk-RWDPBES3.mjs} +1 -1
- package/dist/preview-engine/{chunk-QVW5METG.mjs → chunk-S5ONWSZF.mjs} +1 -1
- package/dist/preview-engine/{chunk-2YGR5YCN.mjs → chunk-SIU6JU2R.mjs} +1 -1
- package/dist/preview-engine/{chunk-NQZRPPUU.mjs → chunk-SJ3Q4AQP.mjs} +1 -1
- package/dist/preview-engine/chunk-TEBZRQPG.mjs +1 -0
- package/dist/preview-engine/{chunk-WDWHOXSA.mjs → chunk-UUDML2SN.mjs} +1 -1
- package/dist/preview-engine/{chunk-RHXZXWJ4.mjs → chunk-VAS4IJZR.mjs} +1 -1
- package/dist/preview-engine/{chunk-DOCFOSA6.mjs → chunk-WTDK6H46.mjs} +1 -1
- package/dist/preview-engine/chunk-XNMEVVQB.mjs +1 -0
- package/dist/preview-engine/{chunk-AKT4YQWL.mjs → chunk-YVGT4NK6.mjs} +2 -2
- package/dist/preview-engine/chunk-ZYTXBBIX.mjs +1 -0
- package/dist/preview-engine/components.mjs +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1
- package/dist/preview-engine/player.mjs +2 -2
- package/dist/preview-engine/{renderers-FC7G7KU7.mjs → renderers-2AKYMAIK.mjs} +1 -1
- package/dist/preview-engine/renderers-363CKEIG.mjs +1 -0
- package/dist/preview-engine/{renderers-EJGF3PYQ.mjs → renderers-36L24ZVS.mjs} +1 -1
- package/dist/preview-engine/renderers-3FMMVDMA.mjs +1 -0
- package/dist/preview-engine/{renderers-56TGEFDK.mjs → renderers-44AANAXR.mjs} +1 -1
- package/dist/preview-engine/renderers-4UUU62VV.mjs +1 -0
- package/dist/preview-engine/renderers-4ZTZFSAR.mjs +1 -0
- package/dist/preview-engine/{renderers-PYDOSDEY.mjs → renderers-5ZSB75GY.mjs} +1 -1
- package/dist/preview-engine/renderers-6KDD75BM.mjs +1 -0
- package/dist/preview-engine/renderers-7BJRD4G2.mjs +1 -0
- package/dist/preview-engine/{renderers-HBIBRZD7.mjs → renderers-AIIHGDJM.mjs} +1 -1
- package/dist/preview-engine/{renderers-P2FTCDZ7.mjs → renderers-AU746ORP.mjs} +1 -1
- package/dist/preview-engine/renderers-BIF2BETK.mjs +1 -0
- package/dist/preview-engine/{renderers-FD3ZT73R.mjs → renderers-BTQCHVHV.mjs} +1 -1
- package/dist/preview-engine/{renderers-HMNCIEU3.mjs → renderers-CFHBOAZG.mjs} +1 -1
- package/dist/preview-engine/renderers-CU5RW5UA.mjs +1 -0
- package/dist/preview-engine/renderers-DK5OBTKE.mjs +1 -0
- package/dist/preview-engine/renderers-EAKCDGTY.mjs +1 -0
- package/dist/preview-engine/{renderers-FYI6QNUH.mjs → renderers-EGBGC7MU.mjs} +1 -1
- package/dist/preview-engine/renderers-EVXCU7G7.mjs +1 -0
- package/dist/preview-engine/renderers-EXEYEH3F.mjs +1 -0
- package/dist/preview-engine/{renderers-RDHHVXRE.mjs → renderers-EXJDPS3T.mjs} +1 -1
- package/dist/preview-engine/renderers-F3WALPWI.mjs +1 -0
- package/dist/preview-engine/{renderers-4RVSLTCX.mjs → renderers-FS3EOB4J.mjs} +1 -1
- package/dist/preview-engine/{renderers-C3YXNKNM.mjs → renderers-GUL2MXDD.mjs} +1 -1
- package/dist/preview-engine/{renderers-EQDINUMT.mjs → renderers-H4HC44B5.mjs} +1 -1
- package/dist/preview-engine/renderers-H6565HO4.mjs +1 -0
- package/dist/preview-engine/renderers-HT5V6OZ2.mjs +1 -0
- package/dist/preview-engine/renderers-HXMOARWO.mjs +1 -0
- package/dist/preview-engine/renderers-HZ2Q7BGK.mjs +1 -0
- package/dist/preview-engine/renderers-I4N2K2KW.mjs +1 -0
- package/dist/preview-engine/renderers-I5J7U6CB.mjs +1 -0
- package/dist/preview-engine/renderers-IZV6QXR5.mjs +1 -0
- package/dist/preview-engine/renderers-JWGAPHWX.mjs +1 -0
- package/dist/preview-engine/renderers-KNDSVQTY.mjs +1 -0
- package/dist/preview-engine/renderers-KNDUOO6M.mjs +1 -0
- package/dist/preview-engine/renderers-KQAO3QEI.mjs +1 -0
- package/dist/preview-engine/{renderers-7SW2AHM2.mjs → renderers-LCSQLXRD.mjs} +1 -1
- package/dist/preview-engine/renderers-M34LOEHC.mjs +1 -0
- package/dist/preview-engine/renderers-ML6GNCWB.mjs +1 -0
- package/dist/preview-engine/renderers-NARG274F.mjs +1 -0
- package/dist/preview-engine/renderers-NCFPOSWR.mjs +1 -0
- package/dist/preview-engine/{renderers-ZAMSS7QN.mjs → renderers-PCOTECQB.mjs} +1 -1
- package/dist/preview-engine/renderers-PG5JHI2S.mjs +1 -0
- package/dist/preview-engine/{renderers-LTV5RFDJ.mjs → renderers-Q7MNLQJF.mjs} +1 -1
- package/dist/preview-engine/{renderers-GHP7SL5M.mjs → renderers-QXVSJYZL.mjs} +1 -1
- package/dist/preview-engine/{renderers-H2UI7YEO.mjs → renderers-R3ERZ3ZY.mjs} +1 -1
- package/dist/preview-engine/renderers-RXQKV65L.mjs +1 -0
- package/dist/preview-engine/renderers-SA73GD2B.mjs +1 -0
- package/dist/preview-engine/renderers-SLIXUHNX.mjs +1 -0
- package/dist/preview-engine/renderers-T462JZNA.mjs +1 -0
- package/dist/preview-engine/{renderers-LV6LLULR.mjs → renderers-TH2XZAYW.mjs} +1 -1
- package/dist/preview-engine/{renderers-ART3EGSZ.mjs → renderers-UHZIERVH.mjs} +1 -1
- package/dist/preview-engine/renderers-V7CFVGYK.mjs +1 -0
- package/dist/preview-engine/renderers-VY5E7BPK.mjs +1 -0
- package/dist/preview-engine/{renderers-ZDMDDWLN.mjs → renderers-WKXGELRG.mjs} +1 -1
- package/dist/preview-engine/{renderers-GY4R467B.mjs → renderers-WLDIIFR5.mjs} +1 -1
- package/dist/preview-engine/{renderers-NTKSN32T.mjs → renderers-WM6WBRH6.mjs} +1 -1
- package/dist/preview-engine/renderers-WT5FQZM7.mjs +228 -0
- package/dist/preview-engine/{renderers-YK74777T.mjs → renderers-WTKRLNNR.mjs} +1 -1
- package/dist/preview-engine/{renderers-BWRNCXR6.mjs → renderers-X6GKEVP7.mjs} +1 -1
- package/dist/preview-engine/renderers-Y47N5EYR.mjs +1 -0
- package/dist/preview-engine/renderers-Y4CUVZYI.mjs +1 -0
- package/dist/preview-engine/renderers-Y6YC7ZAK.mjs +1 -0
- package/dist/preview-engine/renderers-Y6ZYUAQG.mjs +1 -0
- package/dist/preview-engine/{renderers-YBTWN76S.mjs → renderers-YRWXYT5A.mjs} +1 -1
- package/dist/preview-engine/{renderers-SY435YU3.mjs → renderers-YWC4MXPG.mjs} +1 -1
- package/dist/preview-engine/{renderers-7GMW52G3.mjs → renderers-ZWNPYZN6.mjs} +1 -1
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-B6YvXPhj.mjs → program-KPBfq9tw.mjs} +84 -15
- package/dist/program-KPBfq9tw.mjs.map +1 -0
- package/dist/registry/index.json +1 -1
- package/dist/registry/lower-third.json +1 -1
- package/dist/registry/text-reveal.json +2 -2
- package/dist/registry/title-card.json +1 -1
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/{renderer-DFGSy_ay.mjs → renderer-1-FLx8kd.mjs} +3 -3
- package/dist/{renderer-DFGSy_ay.mjs.map → renderer-1-FLx8kd.mjs.map} +1 -1
- package/dist/{renderer-Ck74BZ_L.mjs → renderer-47d3etrX.mjs} +4 -4
- package/dist/{renderer-Ck74BZ_L.mjs.map → renderer-47d3etrX.mjs.map} +1 -1
- package/dist/{renderer-Cs8Od5S8.mjs → renderer-6GCG6JxD.mjs} +3 -3
- package/dist/{renderer-Cs8Od5S8.mjs.map → renderer-6GCG6JxD.mjs.map} +1 -1
- package/dist/{renderer-BLn9MrDC.mjs → renderer-8BIDdgjt.mjs} +3 -3
- package/dist/{renderer-BLn9MrDC.mjs.map → renderer-8BIDdgjt.mjs.map} +1 -1
- package/dist/renderer-B-5TlncB.mjs +5 -0
- package/dist/{renderer-CkbIz6M-.mjs → renderer-B1yzSbvC.mjs} +4 -4
- package/dist/{renderer-CkbIz6M-.mjs.map → renderer-B1yzSbvC.mjs.map} +1 -1
- package/dist/{renderer-BYNbtv_d.mjs → renderer-B2YiXpp-.mjs} +2 -2
- package/dist/{renderer-BYNbtv_d.mjs.map → renderer-B2YiXpp-.mjs.map} +1 -1
- package/dist/{renderer-DXfYdQ2o.mjs → renderer-B55ljMI_.mjs} +2 -2
- package/dist/{renderer-DXfYdQ2o.mjs.map → renderer-B55ljMI_.mjs.map} +1 -1
- package/dist/{renderer-CopRZnwp.mjs → renderer-B6Tg4UgH.mjs} +4 -4
- package/dist/{renderer-CopRZnwp.mjs.map → renderer-B6Tg4UgH.mjs.map} +1 -1
- package/dist/{renderer-CuQceSLi.mjs → renderer-BFnf-8Yt.mjs} +3 -3
- package/dist/{renderer-CuQceSLi.mjs.map → renderer-BFnf-8Yt.mjs.map} +1 -1
- package/dist/{renderer-BmarvBo8.mjs → renderer-BGHHoPiD.mjs} +2 -2
- package/dist/{renderer-CLvXiFPk.mjs → renderer-BHUjPi24.mjs} +2 -2
- package/dist/{renderer-CLvXiFPk.mjs.map → renderer-BHUjPi24.mjs.map} +1 -1
- package/dist/renderer-BHXtDg5_.mjs +3 -0
- package/dist/{renderer-CTQTbvWR.mjs → renderer-BIk67-jU.mjs} +2 -2
- package/dist/{renderer-CTQTbvWR.mjs.map → renderer-BIk67-jU.mjs.map} +1 -1
- package/dist/{renderer-BHjw4EdY.d.mts → renderer-BLEmr0Lt.d.mts} +2 -2
- package/dist/{renderer-BHjw4EdY.d.mts.map → renderer-BLEmr0Lt.d.mts.map} +1 -1
- package/dist/{renderer-BcH6-FsA.mjs → renderer-BLs5sDdk.mjs} +3 -3
- package/dist/{renderer-BcH6-FsA.mjs.map → renderer-BLs5sDdk.mjs.map} +1 -1
- package/dist/renderer-BPd3gvEt.mjs +5 -0
- package/dist/{renderer-Hs9t2qY-.mjs → renderer-BXul0Wy6.mjs} +3 -3
- package/dist/{renderer-Hs9t2qY-.mjs.map → renderer-BXul0Wy6.mjs.map} +1 -1
- package/dist/{renderer-BX2tt7zA.mjs → renderer-B_1SLBPa.mjs} +3 -3
- package/dist/{renderer-BX2tt7zA.mjs.map → renderer-B_1SLBPa.mjs.map} +1 -1
- package/dist/renderer-B_ep98BH.mjs +5 -0
- package/dist/renderer-Ba_KUbKW.mjs +5 -0
- package/dist/{renderer-v779MqRx.mjs → renderer-BbyNUjE_.mjs} +3 -3
- package/dist/{renderer-v779MqRx.mjs.map → renderer-BbyNUjE_.mjs.map} +1 -1
- package/dist/{renderer-rLhze-dj.mjs → renderer-BcVr_cIk.mjs} +2 -2
- package/dist/{renderer-rLhze-dj.mjs.map → renderer-BcVr_cIk.mjs.map} +1 -1
- package/dist/renderer-BeL2hstU.mjs +5 -0
- package/dist/renderer-Bj81osPQ.mjs +5 -0
- package/dist/{renderer-Cy_rrWEC.mjs → renderer-BjL7sKGU.mjs} +3 -3
- package/dist/{renderer-Cy_rrWEC.mjs.map → renderer-BjL7sKGU.mjs.map} +1 -1
- package/dist/{renderer-BZ9zGp0Z.mjs → renderer-BjNcuJ4H.mjs} +3 -3
- package/dist/{renderer-BZ9zGp0Z.mjs.map → renderer-BjNcuJ4H.mjs.map} +1 -1
- package/dist/{renderer-Da5Xcwx5.mjs → renderer-Br8aDmf0.mjs} +2 -2
- package/dist/renderer-BvZQngSm.mjs +5 -0
- package/dist/renderer-BxgN8oXx.mjs +5 -0
- package/dist/{renderer-CptS_UFe.mjs → renderer-ByOvGGzp.mjs} +3 -3
- package/dist/{renderer-CptS_UFe.mjs.map → renderer-ByOvGGzp.mjs.map} +1 -1
- package/dist/{renderer-C3gJco03.mjs → renderer-C11qLlrz.mjs} +3 -3
- package/dist/{renderer-C3gJco03.mjs.map → renderer-C11qLlrz.mjs.map} +1 -1
- package/dist/{renderer-D4KKtfTl.mjs → renderer-C5dyPQjG.mjs} +3 -3
- package/dist/{renderer-D4KKtfTl.mjs.map → renderer-C5dyPQjG.mjs.map} +1 -1
- package/dist/renderer-C5jDrTBc.mjs +5 -0
- package/dist/{renderer-Dk88a53K.mjs → renderer-C6TbU8U5.mjs} +3 -3
- package/dist/{renderer-Dk88a53K.mjs.map → renderer-C6TbU8U5.mjs.map} +1 -1
- package/dist/{renderer-DKkXBsVx.mjs → renderer-C9bcEaBE.mjs} +3 -3
- package/dist/{renderer-DKkXBsVx.mjs.map → renderer-C9bcEaBE.mjs.map} +1 -1
- package/dist/{renderer-COAYUhv2.mjs → renderer-CAH00Lub.mjs} +2 -2
- package/dist/{renderer-GNgSEbBu.mjs → renderer-CAhsBEpU.mjs} +2 -2
- package/dist/{renderer-GNgSEbBu.mjs.map → renderer-CAhsBEpU.mjs.map} +1 -1
- package/dist/renderer-CBK4M82Y.mjs +5 -0
- package/dist/{renderer-876_ArdD.mjs → renderer-CCH0gSF7.mjs} +3 -3
- package/dist/{renderer-876_ArdD.mjs.map → renderer-CCH0gSF7.mjs.map} +1 -1
- package/dist/{renderer-DNNxsVQh.mjs → renderer-CCbOp0BM.mjs} +3 -3
- package/dist/{renderer-DNNxsVQh.mjs.map → renderer-CCbOp0BM.mjs.map} +1 -1
- package/dist/{renderer-UPRkHFPp.mjs → renderer-CEb5GjcU.mjs} +3 -3
- package/dist/{renderer-UPRkHFPp.mjs.map → renderer-CEb5GjcU.mjs.map} +1 -1
- package/dist/{renderer-Cwhm9oQe.mjs → renderer-CIL9zh-a.mjs} +3 -3
- package/dist/{renderer-Cwhm9oQe.mjs.map → renderer-CIL9zh-a.mjs.map} +1 -1
- package/dist/{renderer-URxsYx_I.mjs → renderer-CIbXIFOb.mjs} +4 -4
- package/dist/{renderer-URxsYx_I.mjs.map → renderer-CIbXIFOb.mjs.map} +1 -1
- package/dist/renderer-CLHtCctc.mjs +5 -0
- package/dist/{renderer-Q6A9dB56.mjs → renderer-CLX33fIK.mjs} +3 -3
- package/dist/{renderer-Q6A9dB56.mjs.map → renderer-CLX33fIK.mjs.map} +1 -1
- package/dist/{renderer-DJJXvO27.mjs → renderer-CLXpWDqx.mjs} +2 -2
- package/dist/{renderer-DJJXvO27.mjs.map → renderer-CLXpWDqx.mjs.map} +1 -1
- package/dist/renderer-CLin7MNN.mjs +5 -0
- package/dist/{renderer-BBnurLTw.mjs → renderer-CLypsmiH.mjs} +3 -3
- package/dist/{renderer-BBnurLTw.mjs.map → renderer-CLypsmiH.mjs.map} +1 -1
- package/dist/renderer-CN7TypOB.mjs +5 -0
- package/dist/renderer-CV5Jfwq7.mjs +5 -0
- package/dist/renderer-Ca5E46WK.mjs +5 -0
- package/dist/renderer-CdbOtoOU.mjs +5 -0
- package/dist/renderer-CeD_bqWj.mjs +5 -0
- package/dist/{renderer-nIKvk_ij.mjs → renderer-CfEuoZ7b.mjs} +3 -3
- package/dist/{renderer-nIKvk_ij.mjs.map → renderer-CfEuoZ7b.mjs.map} +1 -1
- package/dist/renderer-CfzNNUOd.mjs +5 -0
- package/dist/{renderer-I-KtRtuL.mjs → renderer-Cg3h0Mz9.mjs} +3 -3
- package/dist/{renderer-I-KtRtuL.mjs.map → renderer-Cg3h0Mz9.mjs.map} +1 -1
- package/dist/renderer-Cl8TmdU8.mjs +5 -0
- package/dist/{renderer-CW05KUXE.mjs → renderer-ClHqvIps.mjs} +10 -10
- package/dist/renderer-ClHqvIps.mjs.map +1 -0
- package/dist/renderer-CosBP_IM.mjs +5 -0
- package/dist/renderer-CpwVs5Fh.mjs +5 -0
- package/dist/renderer-Cq7baxNb.mjs +5 -0
- package/dist/{renderer-PTV0M2HP.mjs → renderer-CqMz_iXy.mjs} +2 -2
- package/dist/{renderer-PTV0M2HP.mjs.map → renderer-CqMz_iXy.mjs.map} +1 -1
- package/dist/{renderer-DGUL7JlO.mjs → renderer-CqSmfrE1.mjs} +3 -3
- package/dist/{renderer-DGUL7JlO.mjs.map → renderer-CqSmfrE1.mjs.map} +1 -1
- package/dist/{renderer-D1fjdDVu.d.mts → renderer-CrhJJKFY.d.mts} +5 -3
- package/dist/renderer-CrhJJKFY.d.mts.map +1 -0
- package/dist/{renderer-sQjiRkiF.mjs → renderer-CxxwhUwy.mjs} +3 -3
- package/dist/{renderer-sQjiRkiF.mjs.map → renderer-CxxwhUwy.mjs.map} +1 -1
- package/dist/{renderer-BsSZdDHQ.mjs → renderer-D24aiXmB.mjs} +3 -3
- package/dist/{renderer-BsSZdDHQ.mjs.map → renderer-D24aiXmB.mjs.map} +1 -1
- package/dist/renderer-D6GkxwAx.mjs +5 -0
- package/dist/renderer-D7SfGdzX.mjs +5 -0
- package/dist/renderer-D7wt09_l.mjs +5 -0
- package/dist/{renderer-BHJzeFp9.mjs → renderer-DBslE7fc.mjs} +2 -2
- package/dist/{renderer-BHJzeFp9.mjs.map → renderer-DBslE7fc.mjs.map} +1 -1
- package/dist/{renderer-DfQWeysg.mjs → renderer-DE3Ki96C.mjs} +3 -3
- package/dist/{renderer-DfQWeysg.mjs.map → renderer-DE3Ki96C.mjs.map} +1 -1
- package/dist/{renderer-C6YcfNbV.mjs → renderer-DJCqc98W.mjs} +3 -3
- package/dist/{renderer-C6YcfNbV.mjs.map → renderer-DJCqc98W.mjs.map} +1 -1
- package/dist/{renderer-CdxHmvvf.mjs → renderer-DODOyrty.mjs} +3 -3
- package/dist/{renderer-CdxHmvvf.mjs.map → renderer-DODOyrty.mjs.map} +1 -1
- package/dist/{renderer-B51lS0Zb.mjs → renderer-DRYxcfgi.mjs} +2 -2
- package/dist/renderer-DSuDMYqY.mjs +5 -0
- package/dist/{renderer-BfYAlY63.mjs → renderer-DYreml_A.mjs} +3 -3
- package/dist/{renderer-BfYAlY63.mjs.map → renderer-DYreml_A.mjs.map} +1 -1
- package/dist/{renderer-Byp6c5Y4.mjs → renderer-DZJnNISO.mjs} +2 -2
- package/dist/{renderer-Byp6c5Y4.mjs.map → renderer-DZJnNISO.mjs.map} +1 -1
- package/dist/renderer-DaIstCIs.mjs +5 -0
- package/dist/renderer-DbOD3Nc0.mjs +5 -0
- package/dist/{renderer-Bpm12fcQ.mjs → renderer-DbenSRjl.mjs} +3 -3
- package/dist/{renderer-Bpm12fcQ.mjs.map → renderer-DbenSRjl.mjs.map} +1 -1
- package/dist/{renderer-56T9Wf1N.mjs → renderer-DcXxkxds.mjs} +75 -72
- package/dist/renderer-DcXxkxds.mjs.map +1 -0
- package/dist/renderer-DdRCA1bn.mjs +6 -0
- package/dist/{renderer-15a6H6Yg.mjs → renderer-DdUtL-qF.mjs} +3 -3
- package/dist/{renderer-15a6H6Yg.mjs.map → renderer-DdUtL-qF.mjs.map} +1 -1
- package/dist/renderer-DfO37haf.mjs +5 -0
- package/dist/renderer-DjZwzxZ7.mjs +5 -0
- package/dist/renderer-DnAvySNy.mjs +5 -0
- package/dist/{renderer-IP6Iy2RQ.mjs → renderer-DnbY04Qk.mjs} +3 -3
- package/dist/{renderer-IP6Iy2RQ.mjs.map → renderer-DnbY04Qk.mjs.map} +1 -1
- package/dist/renderer-DnvEPm5E.mjs +5 -0
- package/dist/{renderer-HW-6FmmO.mjs → renderer-Do9mW_-B.mjs} +3 -3
- package/dist/{renderer-HW-6FmmO.mjs.map → renderer-Do9mW_-B.mjs.map} +1 -1
- package/dist/{renderer-DlboTFM8.mjs → renderer-Dqg8qxjq.mjs} +3 -3
- package/dist/{renderer-DlboTFM8.mjs.map → renderer-Dqg8qxjq.mjs.map} +1 -1
- package/dist/{renderer-BfuMCx2c.mjs → renderer-DvkRbmb2.mjs} +3 -3
- package/dist/{renderer-BfuMCx2c.mjs.map → renderer-DvkRbmb2.mjs.map} +1 -1
- package/dist/renderer-DwNpKnWf.mjs +5 -0
- package/dist/{renderer-Djpx4utT.mjs → renderer-Dw_xy3zx.mjs} +3 -3
- package/dist/{renderer-Djpx4utT.mjs.map → renderer-Dw_xy3zx.mjs.map} +1 -1
- package/dist/renderer-Dx3Dghus.mjs +5 -0
- package/dist/{renderer-SPq9BbnG.mjs → renderer-DyrNti45.mjs} +3 -3
- package/dist/{renderer-SPq9BbnG.mjs.map → renderer-DyrNti45.mjs.map} +1 -1
- package/dist/renderer-KvaoEwIk.mjs +5 -0
- package/dist/{renderer-BxtbwOSp.mjs → renderer-SwUFJ4aA.mjs} +3 -3
- package/dist/{renderer-BxtbwOSp.mjs.map → renderer-SwUFJ4aA.mjs.map} +1 -1
- package/dist/{renderer-DF_TswHB.mjs → renderer-XEoQnDs5.mjs} +3 -3
- package/dist/{renderer-DF_TswHB.mjs.map → renderer-XEoQnDs5.mjs.map} +1 -1
- package/dist/{renderer-QYjSQL80.mjs → renderer-Xw9Zn3pD.mjs} +2 -2
- package/dist/{renderer-QYjSQL80.mjs.map → renderer-Xw9Zn3pD.mjs.map} +1 -1
- package/dist/{renderer-XU08U1If.mjs → renderer-ZWIDTOLV.mjs} +2 -2
- package/dist/{renderer-XU08U1If.mjs.map → renderer-ZWIDTOLV.mjs.map} +1 -1
- package/dist/{renderer-8ZxKRprN.mjs → renderer-bGhRdKB7.mjs} +2 -2
- package/dist/{renderer-8ZxKRprN.mjs.map → renderer-bGhRdKB7.mjs.map} +1 -1
- package/dist/{renderer-DUx7rcc5.mjs → renderer-d4weUlVq.mjs} +2 -2
- package/dist/{renderer-DUx7rcc5.mjs.map → renderer-d4weUlVq.mjs.map} +1 -1
- package/dist/{renderer-Bf0Bhqot.mjs → renderer-g7CMgD1v.mjs} +3 -3
- package/dist/{renderer-Bf0Bhqot.mjs.map → renderer-g7CMgD1v.mjs.map} +1 -1
- package/dist/{renderer-BUj6OsWX.mjs → renderer-gjLFqdv-.mjs} +4 -4
- package/dist/{renderer-BUj6OsWX.mjs.map → renderer-gjLFqdv-.mjs.map} +1 -1
- package/dist/{renderer-DLpjygMO.mjs → renderer-gv0u9XmU.mjs} +3 -3
- package/dist/{renderer-DLpjygMO.mjs.map → renderer-gv0u9XmU.mjs.map} +1 -1
- package/dist/{renderer-KS_JYan2.mjs → renderer-jJWwrha1.mjs} +3 -3
- package/dist/{renderer-KS_JYan2.mjs.map → renderer-jJWwrha1.mjs.map} +1 -1
- package/dist/{renderer-C7BxBoHC.mjs → renderer-kl_pAczD.mjs} +3 -3
- package/dist/{renderer-C7BxBoHC.mjs.map → renderer-kl_pAczD.mjs.map} +1 -1
- package/dist/{renderer-Bxs9zUIN.mjs → renderer-lrKwPhZi.mjs} +2 -2
- package/dist/{renderer-Bxs9zUIN.mjs.map → renderer-lrKwPhZi.mjs.map} +1 -1
- package/dist/{renderer-DJy8V_nb.mjs → renderer-pnYj1REL.mjs} +3 -3
- package/dist/{renderer-DJy8V_nb.mjs.map → renderer-pnYj1REL.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-CPfe6IN0.mjs → renderers-CP8CFWDs-CDikhBRO.mjs} +3 -3
- package/dist/{renderers-CP8CFWDs-CPfe6IN0.mjs.map → renderers-CP8CFWDs-CDikhBRO.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +6 -6
- package/dist/{signals-BRgYyspQ.mjs → signals-BeAWA_1Y.mjs} +3 -3
- package/dist/{signals-BRgYyspQ.mjs.map → signals-BeAWA_1Y.mjs.map} +1 -1
- package/dist/{src-Be7rjknf.mjs → src-LYcH_X8o.mjs} +233 -27
- package/dist/src-LYcH_X8o.mjs.map +1 -0
- package/package.json +58 -58
- package/dist/dist-CL5JOMSp.mjs.map +0 -1
- package/dist/dist-CSU_2yUb.mjs.map +0 -1
- package/dist/index-BCzXnNpb.d.mts.map +0 -1
- package/dist/index-C541Ol1N.d.mts.map +0 -1
- package/dist/index-kj5uSzaI.d.mts.map +0 -1
- package/dist/preview-engine/chunk-3SR6BI4B.mjs +0 -1
- package/dist/preview-engine/chunk-ALSOO22Q.mjs +0 -1
- package/dist/preview-engine/chunk-NKGXINCU.mjs +0 -1
- package/dist/preview-engine/chunk-PJMX2GFY.mjs +0 -1
- package/dist/preview-engine/chunk-SIXIF5QZ.mjs +0 -3
- package/dist/preview-engine/chunk-TXX2POD2.mjs +0 -1974
- package/dist/preview-engine/renderers-3HFRWF2G.mjs +0 -1
- package/dist/preview-engine/renderers-4CRXZJ5G.mjs +0 -1
- package/dist/preview-engine/renderers-5QF4OLFQ.mjs +0 -1
- package/dist/preview-engine/renderers-5SOW6OVE.mjs +0 -1
- package/dist/preview-engine/renderers-6M2HPY2J.mjs +0 -1
- package/dist/preview-engine/renderers-7HT5NW7W.mjs +0 -1
- package/dist/preview-engine/renderers-ATTGUTYY.mjs +0 -1
- package/dist/preview-engine/renderers-AYWCRBQC.mjs +0 -1
- package/dist/preview-engine/renderers-BA6ZCPI5.mjs +0 -1
- package/dist/preview-engine/renderers-BAS7RXTC.mjs +0 -1
- package/dist/preview-engine/renderers-CZTCW4FC.mjs +0 -1
- package/dist/preview-engine/renderers-D2XEQ2YY.mjs +0 -1
- package/dist/preview-engine/renderers-DFIJYBW2.mjs +0 -1
- package/dist/preview-engine/renderers-EJN6M6DO.mjs +0 -1
- package/dist/preview-engine/renderers-EK3HQUUF.mjs +0 -1
- package/dist/preview-engine/renderers-G34C5J27.mjs +0 -1
- package/dist/preview-engine/renderers-GKVTNDVH.mjs +0 -1
- package/dist/preview-engine/renderers-HZBYQKIQ.mjs +0 -1
- package/dist/preview-engine/renderers-IK7ZJJKJ.mjs +0 -1
- package/dist/preview-engine/renderers-ISASPH6T.mjs +0 -1
- package/dist/preview-engine/renderers-IW5MWDBI.mjs +0 -1
- package/dist/preview-engine/renderers-JBRPKCKF.mjs +0 -228
- package/dist/preview-engine/renderers-K2PI4WJS.mjs +0 -1
- package/dist/preview-engine/renderers-KESHVFL2.mjs +0 -1
- package/dist/preview-engine/renderers-KTZZVAB2.mjs +0 -1
- package/dist/preview-engine/renderers-KY5CJEOV.mjs +0 -1
- package/dist/preview-engine/renderers-M5W6SUQD.mjs +0 -1
- package/dist/preview-engine/renderers-MEM3REMI.mjs +0 -1
- package/dist/preview-engine/renderers-O5XMWFPY.mjs +0 -1
- package/dist/preview-engine/renderers-QJA35PKC.mjs +0 -1
- package/dist/preview-engine/renderers-TJIFTQHV.mjs +0 -1
- package/dist/preview-engine/renderers-TN4XN436.mjs +0 -1
- package/dist/preview-engine/renderers-UDYLCYCB.mjs +0 -1
- package/dist/preview-engine/renderers-WZ7SFIBZ.mjs +0 -1
- package/dist/preview-engine/renderers-X6QNDC6R.mjs +0 -1
- package/dist/preview-engine/renderers-X6RNTJOV.mjs +0 -1
- package/dist/preview-engine/renderers-Y3N7236P.mjs +0 -1
- package/dist/preview-engine/renderers-YP3ASXIJ.mjs +0 -1
- package/dist/preview-engine/renderers-YVJAG3PD.mjs +0 -1
- package/dist/preview-engine/renderers-ZPPZNMKJ.mjs +0 -1
- package/dist/program-B6YvXPhj.mjs.map +0 -1
- package/dist/renderer-1qAST5qk.mjs +0 -5
- package/dist/renderer-2dntY9lQ.mjs +0 -5
- package/dist/renderer-56T9Wf1N.mjs.map +0 -1
- package/dist/renderer-83Knj3DI.mjs +0 -5
- package/dist/renderer-B2GWXOwP.mjs +0 -5
- package/dist/renderer-B3LlOjNo.mjs +0 -5
- package/dist/renderer-B5cPLblQ.mjs +0 -5
- package/dist/renderer-B7uorwdR.mjs +0 -5
- package/dist/renderer-BJ6LDZlX.mjs +0 -5
- package/dist/renderer-BaQC4ylR.mjs +0 -5
- package/dist/renderer-BfQzj_uW.mjs +0 -5
- package/dist/renderer-Bl9uy1ra.mjs +0 -6
- package/dist/renderer-Bu4FyXDo.mjs +0 -5
- package/dist/renderer-BxbJwS3T.mjs +0 -5
- package/dist/renderer-C51hhQ7B.mjs +0 -5
- package/dist/renderer-C8ZShnSH.mjs +0 -5
- package/dist/renderer-CQh1RgN8.mjs +0 -5
- package/dist/renderer-CRYaMhGd.mjs +0 -5
- package/dist/renderer-CULThR_r.mjs +0 -5
- package/dist/renderer-CW05KUXE.mjs.map +0 -1
- package/dist/renderer-C_KDGeMJ.mjs +0 -5
- package/dist/renderer-Ce4Gam_S.mjs +0 -5
- package/dist/renderer-CkZ6xcN6.mjs +0 -5
- package/dist/renderer-Co4C29rw.mjs +0 -5
- package/dist/renderer-CyReVcsb.mjs +0 -3
- package/dist/renderer-CzgPat6y.mjs +0 -5
- package/dist/renderer-D-pFBDki.mjs +0 -5
- package/dist/renderer-D1fjdDVu.d.mts.map +0 -1
- package/dist/renderer-DELCePyB.mjs +0 -5
- package/dist/renderer-DWijRKGh.mjs +0 -5
- package/dist/renderer-Di-PH-vG.mjs +0 -5
- package/dist/renderer-Dn9CR9KL.mjs +0 -5
- package/dist/renderer-ICmKc1Bq.mjs +0 -5
- package/dist/renderer-IR3rE4TW.mjs +0 -5
- package/dist/renderer-Qyc4xLZY.mjs +0 -5
- package/dist/renderer-Riuen1UO.mjs +0 -5
- package/dist/renderer-YKJt5oPu.mjs +0 -5
- package/dist/renderer-asS1sOXb.mjs +0 -5
- package/dist/renderer-mAQErqBN.mjs +0 -5
- package/dist/renderer-pZazoCK-.mjs +0 -5
- package/dist/src-Be7rjknf.mjs.map +0 -1
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import{a as eo,b as to,c as ro,e as no,f as io}from"./chunk-HU73APZL.mjs";import{F as Kn,H as po,J as go,M as yo,N as Pn,V as Sn,b as Li,c as Fi,d as z,e as kn,k as Qa,o as qa,p as Ka,v as so,w as lo,x as uo}from"./chunk-FBXKVLTB.mjs";import{o as oo}from"./chunk-6THE6J3A.mjs";import{a as Za}from"./chunk-OLLY3Q7M.mjs";import{a as _o}from"./chunk-2JKXYG6J.mjs";import"./chunk-7I7PKKDL.mjs";import{a as co,b as fo,d as Ii,g as ho}from"./chunk-ENKKLU7B.mjs";import{a as mo}from"./chunk-ZYTXBBIX.mjs";import{k as Na}from"./chunk-MHCXSWK7.mjs";import"./chunk-DZEWY4PR.mjs";import"./chunk-37EFVZWT.mjs";import{a as Ja}from"./chunk-2SJ4BBMT.mjs";import{b as Tn,l as vn}from"./chunk-24P6DAB3.mjs";import"./chunk-KJGNTREI.mjs";import"./chunk-LXHECDOB.mjs";import"./chunk-6YJP57MZ.mjs";import{A as ja,D as $a,E as Ha,c as Ai,e as Ua,u as Wa,v as ot}from"./chunk-TEBZRQPG.mjs";import{j as Mn,y as ao}from"./chunk-T36SKUWK.mjs";import"./chunk-MTJHQATU.mjs";import"./chunk-MXK2PP6K.mjs";import{a as qn}from"./chunk-IQC2I5A5.mjs";import"./chunk-IQKIHFNZ.mjs";import"./chunk-YAQFFQPG.mjs";import{e as _e}from"./chunk-BVF64D6H.mjs";_e();_e();_e();_e();var bo=`
|
|
2
|
+
struct RelightMaterialUniforms {
|
|
3
|
+
// vec4 0
|
|
4
|
+
roughness : f32,
|
|
5
|
+
specularStrength : f32,
|
|
6
|
+
metallic : f32,
|
|
7
|
+
ambientIntensity : f32,
|
|
8
|
+
|
|
9
|
+
// vec4 1
|
|
10
|
+
depthScale : f32,
|
|
11
|
+
depthInvert : f32,
|
|
12
|
+
hasNormalMap : f32,
|
|
13
|
+
volumetricDensity: f32,
|
|
14
|
+
|
|
15
|
+
// vec4 2
|
|
16
|
+
viewportWidth : f32,
|
|
17
|
+
viewportHeight : f32,
|
|
18
|
+
shininess : f32,
|
|
19
|
+
opacity : f32,
|
|
20
|
+
|
|
21
|
+
// vec4 3
|
|
22
|
+
layerX : f32,
|
|
23
|
+
layerY : f32,
|
|
24
|
+
_pad0 : f32,
|
|
25
|
+
_pad1 : f32,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
struct GPULight {
|
|
29
|
+
posType : vec4<f32>, // xyz = position, w = type (0=ambient, 1=directional, 2=point, 3=spot)
|
|
30
|
+
dirRadius : vec4<f32>, // xyz = normalized direction, w = radius
|
|
31
|
+
colorIntensity : vec4<f32>, // rgb = linear color, w = intensity
|
|
32
|
+
spotParams : vec4<f32>, // x = cos(outer), y = cos(inner), z = decay, w = 0
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
struct LightsUniforms {
|
|
36
|
+
ambientColor : vec4<f32>,
|
|
37
|
+
params : vec4<f32>, // x = lightCount, y = hasLights (1=lit, 0=unlit)
|
|
38
|
+
lights : array<GPULight, 8>,
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
@group(0) @binding(0) var<uniform> mat : RelightMaterialUniforms;
|
|
42
|
+
@group(1) @binding(0) var<uniform> lights : LightsUniforms;
|
|
43
|
+
|
|
44
|
+
@group(2) @binding(0) var albedoTex : texture_2d<f32>;
|
|
45
|
+
@group(2) @binding(1) var albedoSamp : sampler;
|
|
46
|
+
@group(2) @binding(2) var normalTex : texture_2d<f32>;
|
|
47
|
+
@group(2) @binding(3) var normalSamp : sampler;
|
|
48
|
+
|
|
49
|
+
struct VSOut {
|
|
50
|
+
@builtin(position) pos : vec4<f32>,
|
|
51
|
+
@location(0) uv : vec2<f32>,
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
@vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
|
|
55
|
+
var pos = array<vec2<f32>, 4>(
|
|
56
|
+
vec2<f32>(-1.0, 1.0),
|
|
57
|
+
vec2<f32>( 1.0, 1.0),
|
|
58
|
+
vec2<f32>(-1.0, -1.0),
|
|
59
|
+
vec2<f32>( 1.0, -1.0)
|
|
60
|
+
);
|
|
61
|
+
var uv = array<vec2<f32>, 4>(
|
|
62
|
+
vec2<f32>(0.0, 0.0),
|
|
63
|
+
vec2<f32>(1.0, 0.0),
|
|
64
|
+
vec2<f32>(0.0, 1.0),
|
|
65
|
+
vec2<f32>(1.0, 1.0)
|
|
66
|
+
);
|
|
67
|
+
return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@fragment fn fs(in: VSOut) -> @location(0) vec4<f32> {
|
|
71
|
+
let albedo = textureSampleLevel(albedoTex, albedoSamp, in.uv, 0.0);
|
|
72
|
+
if (albedo.a <= 0.001) {
|
|
73
|
+
return vec4<f32>(0.0);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Normal unpacking: [0, 1] -> [-1, 1]
|
|
77
|
+
var N = vec3<f32>(0.0, 0.0, 1.0);
|
|
78
|
+
if (mat.hasNormalMap > 0.5) {
|
|
79
|
+
let rawNormal = textureSampleLevel(normalTex, normalSamp, in.uv, 0.0).xyz;
|
|
80
|
+
let unpacked = rawNormal * 2.0 - 1.0;
|
|
81
|
+
N = normalize(vec3<f32>(unpacked.x, unpacked.y, max(unpacked.z, 0.05)));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
let V = vec3<f32>(0.0, 0.0, 1.0);
|
|
85
|
+
let pSurface = vec3<f32>(
|
|
86
|
+
mat.layerX + in.uv.x * mat.viewportWidth,
|
|
87
|
+
mat.layerY + in.uv.y * mat.viewportHeight,
|
|
88
|
+
0.0
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
// If scene lights are not declared, output base albedo unmodified
|
|
92
|
+
if (lights.params.y < 0.5) {
|
|
93
|
+
return vec4<f32>(albedo.rgb * mat.opacity, albedo.a * mat.opacity);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
let numLights = u32(min(lights.params.x, 8.0));
|
|
97
|
+
var ambientAccum = lights.ambientColor.rgb * mat.ambientIntensity;
|
|
98
|
+
var directDiffuseAccum = vec3<f32>(0.0);
|
|
99
|
+
var directSpecularAccum = vec3<f32>(0.0);
|
|
100
|
+
|
|
101
|
+
let roughness = clamp(mat.roughness, 0.02, 1.0);
|
|
102
|
+
let specPower = max(2.0, 2.0 / (roughness * roughness) - 2.0);
|
|
103
|
+
|
|
104
|
+
for (var i = 0u; i < 8u; i = i + 1u) {
|
|
105
|
+
if (i >= numLights) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
let light = lights.lights[i];
|
|
110
|
+
let lightType = light.posType.w;
|
|
111
|
+
let lightColor = light.colorIntensity.rgb;
|
|
112
|
+
let intensity = light.colorIntensity.w;
|
|
113
|
+
|
|
114
|
+
var L = vec3<f32>(0.0, 0.0, 1.0);
|
|
115
|
+
var attenuation: f32 = 1.0;
|
|
116
|
+
|
|
117
|
+
if (lightType > 0.5 && lightType < 1.5) {
|
|
118
|
+
// Directional Light
|
|
119
|
+
L = normalize(-light.dirRadius.xyz);
|
|
120
|
+
} else if (lightType >= 1.5) {
|
|
121
|
+
// Point or Spot Light
|
|
122
|
+
let lightPosCanvas = light.posType.xyz;
|
|
123
|
+
let toLight = lightPosCanvas - pSurface;
|
|
124
|
+
let dist = length(toLight);
|
|
125
|
+
let radius = max(10.0, light.dirRadius.w);
|
|
126
|
+
|
|
127
|
+
if (dist > radius * 2.0) {
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
L = normalize(toLight);
|
|
132
|
+
let dNorm = clamp(dist / radius, 0.0, 1.0);
|
|
133
|
+
let decay = max(0.5, light.spotParams.z);
|
|
134
|
+
attenuation = pow(clamp(1.0 - dNorm, 0.0, 1.0), decay) / (1.0 + dNorm * dNorm);
|
|
135
|
+
|
|
136
|
+
if (lightType > 2.5) {
|
|
137
|
+
// Spot Light
|
|
138
|
+
let spotDir = normalize(light.dirRadius.xyz);
|
|
139
|
+
let cosAngle = dot(-L, spotDir);
|
|
140
|
+
let cosOuter = light.spotParams.x;
|
|
141
|
+
let cosInner = light.spotParams.y;
|
|
142
|
+
|
|
143
|
+
if (cosAngle < cosOuter) {
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
let spotFalloff = smoothstep(cosOuter, cosInner, cosAngle);
|
|
147
|
+
attenuation *= spotFalloff;
|
|
148
|
+
}
|
|
149
|
+
} else {
|
|
150
|
+
// Ambient light in array
|
|
151
|
+
ambientAccum += lightColor * (intensity * mat.ambientIntensity);
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
let NdotL = max(dot(N, L), 0.0);
|
|
156
|
+
let diffuse = lightColor * (NdotL * intensity * attenuation);
|
|
157
|
+
directDiffuseAccum += diffuse;
|
|
158
|
+
|
|
159
|
+
let H = normalize(L + V);
|
|
160
|
+
let NdotH = max(dot(N, H), 0.0);
|
|
161
|
+
let specularFactor = pow(NdotH, specPower) * mat.specularStrength * intensity * attenuation;
|
|
162
|
+
let specColor = mix(lightColor, lightColor * albedo.rgb, mat.metallic);
|
|
163
|
+
directSpecularAccum += specColor * specularFactor;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
let finalColor = albedo.rgb * (ambientAccum + directDiffuseAccum) + directSpecularAccum;
|
|
167
|
+
let outOpacity = albedo.a * mat.opacity;
|
|
168
|
+
|
|
169
|
+
// Premultiplied alpha return
|
|
170
|
+
return vec4<f32>(finalColor * outOpacity, outOpacity);
|
|
171
|
+
}
|
|
172
|
+
`;var Jn=class{device;format;materialLayout;lightsLayout;texturesLayout;pipeline;materialPool;linearSampler;defaultFlatNormalTex;constructor(e,t="rgba8unorm"){this.device=e,this.format=t,this.materialPool=new ao(64,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.linearSampler=e.createSampler({label:"relight_linear_sampler",magFilter:"linear",minFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}),this.materialLayout=e.createBindGroupLayout({label:"relight_material_layout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),this.lightsLayout=e.createBindGroupLayout({label:"relight_lights_layout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),this.texturesLayout=e.createBindGroupLayout({label:"relight_textures_layout",entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});let r=e.createShaderModule({label:"screen_space_relight.wgsl",code:bo}),n=e.createPipelineLayout({label:"screen_space_relight_pipeline_layout",bindGroupLayouts:[this.materialLayout,this.lightsLayout,this.texturesLayout]});this.pipeline=e.createRenderPipeline({label:"ScreenSpaceRelightPipeline",layout:n,vertex:{module:r,entryPoint:"vs"},fragment:{module:r,entryPoint:"fs",targets:[{format:t,blend:oo}]},primitive:{topology:"triangle-strip"}})}getOrCreateDefaultFlatNormalTexture(){if(!this.defaultFlatNormalTex){this.defaultFlatNormalTex=this.device.createTexture({label:"default_flat_normal",size:[2,2],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});let e=new Uint8Array([128,128,255,255,128,128,255,255,128,128,255,255,128,128,255,255]);this.device.queue.writeTexture({texture:this.defaultFlatNormalTex},e,{bytesPerRow:8,rowsPerImage:2},[2,2])}return this.defaultFlatNormalTex}resetPools(){this.materialPool.reset()}execute(e,t,r,n,i,s,a="clear"){let l=new Float32Array(16);l[0]=s.roughness??.35,l[1]=s.specularStrength??.7,l[2]=s.metallic??0,l[3]=s.ambientIntensity??.5,l[4]=s.depthScale??1,l[5]=0,l[6]=n?1:0,l[7]=0,l[8]=s.viewportWidth,l[9]=s.viewportHeight,l[10]=32,l[11]=s.opacity??1,l[12]=s.layerX??0,l[13]=s.layerY??0,l[14]=0,l[15]=0;let c=this.materialPool.getBuffer(this.device,l),f=this.device.createBindGroup({layout:this.materialLayout,entries:[{binding:0,resource:{buffer:c}}]}),d=this.device.createBindGroup({layout:this.lightsLayout,entries:[{binding:0,resource:{buffer:i}}]}),g=n??this.getOrCreateDefaultFlatNormalTexture(),y=this.device.createBindGroup({layout:this.texturesLayout,entries:[{binding:0,resource:r.createView()},{binding:1,resource:this.linearSampler},{binding:2,resource:g.createView()},{binding:3,resource:this.linearSampler}]}),_=e.beginRenderPass({label:"screen_space_relight_render_pass",colorAttachments:[{view:t,loadOp:a,storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});_.setPipeline(this.pipeline),_.setBindGroup(0,f),_.setBindGroup(1,d),_.setBindGroup(2,y),_.draw(4,1,0,0),_.end()}destroy(){this.materialPool.destroy(),this.defaultFlatNormalTex?.destroy()}};_e();var fl=o=>o==="Image"||o==="SVG"||o==="Text",xo=(o,e,t=3e3,r)=>{if(r==="Caption")return e&&e>0?e:o||t;let n=fl(r);return o&&e&&!n?Math.min(o,e):o||e||t};_e();_e();_e();function xr(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function Ro(o,e){o.prototype=Object.create(e.prototype),o.prototype.constructor=o,o.__proto__=e}var St={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},Ln={duration:.5,overwrite:!1,delay:0},Ji,st,Oe,jt=1e8,ke=1/jt,Ui=Math.PI*2,dl=Ui/4,hl=0,Co=Math.sqrt,ml=Math.cos,pl=Math.sin,et=function(e){return typeof e=="string"},Ve=function(e){return typeof e=="function"},Tr=function(e){return typeof e=="number"},ui=function(e){return typeof e>"u"},or=function(e){return typeof e=="object"},Pt=function(e){return e!==!1},ea=function(){return typeof window<"u"},ei=function(e){return Ve(e)||et(e)},Oo=typeof ArrayBuffer=="function"&&ArrayBuffer.isView||function(){},dt=Array.isArray,gl=/random\([^)]+\)/g,yl=/,\s*/g,wo=/(?:-?\.?\d|\.)+/gi,ta=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,Qr=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,zi=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,ra=/[+-]=-?[.\d]+/,_l=/[^,'"\[\]\s]+/gi,bl=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,Ie,ir,Ni,na,Gt={},ii={},Ao,Lo=function(e){return(ii=sn(e,Gt))&&ht},ci=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},Fn=function(e,t){return!t&&console.warn(e)},Fo=function(e,t){return e&&(Gt[e]=t)&&ii&&(ii[e]=t)||Gt},In=function(){return 0},xl={suppressEvents:!0,isStart:!0,kill:!1},ti={suppressEvents:!0,kill:!1},wl={suppressEvents:!0},ia={},Or=[],Zi={},Io,kt={},Ei={},To=30,ri=[],aa="",oa=function(e){var t=e[0],r,n;if(or(t)||Ve(t)||(e=[e]),!(r=(t._gsap||{}).harness)){for(n=ri.length;n--&&!ri[n].targetTest(t););r=ri[n]}for(n=e.length;n--;)e[n]&&(e[n]._gsap||(e[n]._gsap=new ca(e[n],r)))||e.splice(n,1);return e},Ar=function(e){return e._gsap||oa($t(e))[0]._gsap},sa=function(e,t,r){return(r=e[t])&&Ve(r)?e[t]():ui(r)&&e.getAttribute&&e.getAttribute(t)||r},_t=function(e,t){return(e=e.split(",")).forEach(t)||e},Be=function(e){return Math.round(e*1e5)/1e5||0},Fe=function(e){return Math.round(e*1e7)/1e7||0},qr=function(e,t){var r=t.charAt(0),n=parseFloat(t.substr(2));return e=parseFloat(e),r==="+"?e+n:r==="-"?e-n:r==="*"?e*n:e/n},Tl=function(e,t){for(var r=t.length,n=0;e.indexOf(t[n])<0&&++n<r;);return n<r},ai=function(){var e=Or.length,t=Or.slice(0),r,n;for(Zi={},Or.length=0,r=0;r<e;r++)n=t[r],n&&n._lazy&&(n.render(n._lazy[0],n._lazy[1],!0)._lazy=0)},la=function(e){return!!(e._initted||e._startAt||e.add)},zo=function(e,t,r,n){Or.length&&!st&&ai(),e.render(t,r,n||!!(st&&t<0&&la(e))),Or.length&&!st&&ai()},Eo=function(e){var t=parseFloat(e);return(t||t===0)&&(e+"").match(_l).length<2?t:et(e)?e.trim():e},Vo=function(e){return e},Xt=function(e,t){for(var r in t)r in e||(e[r]=t[r]);return e},vl=function(e){return function(t,r){for(var n in r)n in t||n==="duration"&&e||n==="ease"||(t[n]=r[n])}},sn=function(e,t){for(var r in t)e[r]=t[r];return e},vo=function o(e,t){for(var r in t)r!=="__proto__"&&r!=="constructor"&&r!=="prototype"&&(e[r]=or(t[r])?o(e[r]||(e[r]={}),t[r]):t[r]);return e},oi=function(e,t){var r={},n;for(n in e)n in t||(r[n]=e[n]);return r},Cn=function(e){var t=e.parent||Ie,r=e.keyframes?vl(dt(e.keyframes)):Xt;if(Pt(e.inherit))for(;t;)r(e,t.vars.defaults),t=t.parent||t._dp;return e},kl=function(e,t){for(var r=e.length,n=r===t.length;n&&r--&&e[r]===t[r];);return r<0},Bo=function(e,t,r,n,i){r===void 0&&(r="_first"),n===void 0&&(n="_last");var s=e[n],a;if(i)for(a=t[i];s&&s[i]>a;)s=s._prev;return s?(t._next=s._next,s._next=t):(t._next=e[r],e[r]=t),t._next?t._next._prev=t:e[n]=t,t._prev=s,t.parent=t._dp=e,t},fi=function(e,t,r,n){r===void 0&&(r="_first"),n===void 0&&(n="_last");var i=t._prev,s=t._next;i?i._next=s:e[r]===t&&(e[r]=s),s?s._prev=i:e[n]===t&&(e[n]=i),t._next=t._prev=t.parent=null},Lr=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},jr=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var r=e;r;)r._dirty=1,r=r.parent;return e},Ml=function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e},Wi=function(e,t,r,n){return e._startAt&&(st?e._startAt.revert(ti):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,n))},Pl=function o(e){return!e||e._ts&&o(e.parent)},ko=function(e){return e._repeat?ln(e._tTime,e=e.duration()+e._rDelay)*e:0},ln=function(e,t){var r=Math.floor(e=Fe(e/t));return e&&r===e?r-1:r},si=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},di=function(e){return e._end=Fe(e._start+(e._tDur/Math.abs(e._ts||e._rts||ke)||0))},hi=function(e,t){var r=e._dp;return r&&r.smoothChildTiming&&e._ts&&(e._start=Fe(r._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),di(e),r._dirty||jr(r,e)),e},Yo=function(e,t){var r;if((t._time||!t._dur&&t._initted||t._start<e._time&&(t._dur||!t.add))&&(r=si(e.rawTime(),t),(!t._dur||Vn(0,t.totalDuration(),r)-t._tTime>ke)&&t.render(r,!0)),jr(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur<e.duration())for(r=e;r._dp;)r.rawTime()>=0&&r.totalTime(r._tTime),r=r._dp;e._zTime=-ke}},ar=function(e,t,r,n){return t.parent&&Lr(t),t._start=Fe((Tr(r)?r:r||e!==Ie?Wt(e,r,t):e._time)+t._delay),t._end=Fe(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),Bo(e,t,"_first","_last",e._sort?"_start":0),ji(t)||(e._recent=t),n||Yo(e,t),e._ts<0&&hi(e,e._tTime),e},Go=function(e,t){return(Gt.ScrollTrigger||ci("scrollTrigger",t))&&Gt.ScrollTrigger.create(t,e)},Xo=function(e,t,r,n,i){if(ha(e,t,i),!e._initted)return 1;if(!r&&e._pt&&!st&&(e._dur&&e.vars.lazy!==!1||!e._dur&&e.vars.lazy)&&Io!==Mt.frame)return Or.push(e),e._lazy=[i,n],1},Sl=function o(e){var t=e.parent;return t&&t._ts&&t._initted&&!t._lock&&(t.rawTime()<0||o(t))},ji=function(e){var t=e.data;return t==="isFromStart"||t==="isStart"},Dl=function(e,t,r,n){var i=e.ratio,s=t<0||!t&&(!e._start&&Sl(e)&&!(!e._initted&&ji(e))||(e._ts<0||e._dp._ts<0)&&!ji(e))?0:1,a=e._rDelay,l=0,c,f,d;if(a&&e._repeat&&(l=Vn(0,e._tDur,t),f=ln(l,a),e._yoyo&&f&1&&(s=1-s),f!==ln(e._tTime,a)&&(i=1-s,e.vars.repeatRefresh&&e._initted&&e.invalidate())),s!==i||st||n||e._zTime===ke||!t&&e._zTime){if(!e._initted&&Xo(e,t,n,r,l))return;for(d=e._zTime,e._zTime=t||(r?ke:0),r||(r=t&&!d),e.ratio=s,e._from&&(s=1-s),e._time=0,e._tTime=l,c=e._pt;c;)c.r(s,c.d),c=c._next;t<0&&Wi(e,t,r,!0),e._onUpdate&&!r&&Yt(e,"onUpdate"),l&&e._repeat&&!r&&e.parent&&Yt(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===s&&(s&&Lr(e,1),!r&&!st&&(Yt(e,s?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)},Rl=function(e,t,r){var n;if(r>t)for(n=e._first;n&&n._start<=r;){if(n.data==="isPause"&&n._start>t)return n;n=n._next}else for(n=e._last;n&&n._start>=r;){if(n.data==="isPause"&&n._start<t)return n;n=n._prev}},un=function(e,t,r,n){var i=e._repeat,s=Fe(t)||0,a=e._tTime/e._tDur;return a&&!n&&(e._time*=s/e._dur),e._dur=s,e._tDur=i?i<0?1e10:Fe(s*(i+1)+e._rDelay*i):s,a>0&&!n&&hi(e,e._tTime=e._tDur*a),e.parent&&di(e),r||jr(e.parent,e),e},Mo=function(e){return e instanceof ft?jr(e):un(e,e._dur)},Cl={_start:0,endTime:In,totalDuration:In},Wt=function o(e,t,r){var n=e.labels,i=e._recent||Cl,s=e.duration()>=jt?i.endTime(!1):e._dur,a,l,c;return et(t)&&(isNaN(t)||t in n)?(l=t.charAt(0),c=t.substr(-1)==="%",a=t.indexOf("="),l==="<"||l===">"?(a>=0&&(t=t.replace(/=/,"")),(l==="<"?i._start:i.endTime(i._repeat>=0))+(parseFloat(t.substr(1))||0)*(c?(a<0?i:r).totalDuration()/100:1)):a<0?(t in n||(n[t]=s),n[t]):(l=parseFloat(t.charAt(a-1)+t.substr(a+1)),c&&r&&(l=l/100*(dt(r)?r[0]:r).totalDuration()),a>1?o(e,t.substr(0,a-1),r)+l:s+l)):t==null?s:+t},On=function(e,t,r){var n=Tr(t[1]),i=(n?2:1)+(e<2?0:1),s=t[i],a,l;if(n&&(s.duration=t[1]),s.parent=r,e){for(a=s,l=r;l&&!("immediateRender"in a);)a=l.vars.defaults||{},l=Pt(l.vars.inherit)&&l.parent;s.immediateRender=Pt(a.immediateRender),e<2?s.runBackwards=1:s.startAt=t[i-1]}return new Ze(t[0],s,t[i+1])},Fr=function(e,t){return e||e===0?t(e):t},Vn=function(e,t,r){return r<e?e:r>t?t:r},lt=function(e,t){return!et(e)||!(t=bl.exec(e))?"":t[1]},Ol=function(e,t,r){return Fr(r,function(n){return Vn(e,t,n)})},$i=[].slice,Uo=function(e,t){return e&&or(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&or(e[0]))&&!e.nodeType&&e!==ir},Al=function(e,t,r){return r===void 0&&(r=[]),e.forEach(function(n){var i;return et(n)&&!t||Uo(n,1)?(i=r).push.apply(i,$t(n)):r.push(n)})||r},$t=function(e,t,r){return Oe&&!t&&Oe.selector?Oe.selector(e):et(e)&&!r&&(Ni||!cn())?$i.call((t||na).querySelectorAll(e),0):dt(e)?Al(e,r):Uo(e)?$i.call(e,0):e?[e]:[]},Hi=function(e){return e=$t(e)[0]||Fn("Invalid scope")||{},function(t){var r=e.current||e.nativeElement||e;return $t(t,r.querySelectorAll?r:r===e?Fn("Invalid scope")||na.createElement("div"):e)}},No=function(e){return e.sort(function(){return .5-Math.random()})},Zo=function(e){if(Ve(e))return e;var t=or(e)?e:{each:e},r=$r(t.ease),n=t.from||0,i=parseFloat(t.base)||0,s={},a=n>0&&n<1,l=isNaN(n)||a,c=t.axis,f=n,d=n;return et(n)?f=d={center:.5,edges:.5,end:1}[n]||0:!a&&l&&(f=n[0],d=n[1]),function(g,y,_){var h=(_||t).length,x=s[h],w,v,b,M,T,m,k,S,P;if(!x){if(P=t.grid==="auto"?0:(t.grid||[1,jt])[1],!P){for(k=-jt;k<(k=_[P++].getBoundingClientRect().left)&&P<h;);P<h&&P--}for(x=s[h]=[],w=l?Math.min(P,h)*f-.5:n%P,v=P===jt?0:l?h*d/P-.5:n/P|0,k=0,S=jt,m=0;m<h;m++)b=m%P-w,M=v-(m/P|0),x[m]=T=c?Math.abs(c==="y"?M:b):Co(b*b+M*M),T>k&&(k=T),T<S&&(S=T);n==="random"&&No(x),x.max=k-S,x.min=S,x.v=h=(parseFloat(t.amount)||parseFloat(t.each)*(P>h?h-1:c?c==="y"?h/P:P:Math.max(P,h/P))||0)*(n==="edges"?-1:1),x.b=h<0?i-h:i,x.u=lt(t.amount||t.each)||0,r=r&&h<0?Zl(r):r}return h=(x[g]-x.min)/x.max||0,Fe(x.b+(r?r(h):h)*x.v)+x.u}},Qi=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(r){var n=Fe(Math.round(parseFloat(r)/e)*e*t);return(n-n%1)/t+(Tr(r)?0:lt(r))}},Wo=function(e,t){var r=dt(e),n,i;return!r&&or(e)&&(n=r=e.radius||jt,e.values?(e=$t(e.values),(i=!Tr(e[0]))&&(n*=n)):e=Qi(e.increment)),Fr(t,r?Ve(e)?function(s){return i=e(s),Math.abs(i-s)<=n?i:s}:function(s){for(var a=parseFloat(i?s.x:s),l=parseFloat(i?s.y:0),c=jt,f=0,d=e.length,g,y;d--;)i?(g=e[d].x-a,y=e[d].y-l,g=g*g+y*y):g=Math.abs(e[d]-a),g<c&&(c=g,f=d);return f=!n||c<=n?e[f]:s,i||f===s||Tr(s)?f:f+lt(s)}:Qi(e))},jo=function(e,t,r,n){return Fr(dt(e)?!t:r===!0?!!(r=0):!n,function(){return dt(e)?e[~~(Math.random()*e.length)]:(r=r||1e-5)&&(n=r<1?Math.pow(10,(r+"").length-2):1)&&Math.floor(Math.round((e-r/2+Math.random()*(t-e+r*.99))/r)*r*n)/n})},Ll=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(n){return t.reduce(function(i,s){return s(i)},n)}},Fl=function(e,t){return function(r){return e(parseFloat(r))+(t||lt(r))}},Il=function(e,t,r){return Ho(e,t,0,1,r)},$o=function(e,t,r){return Fr(r,function(n){return e[~~t(n)]})},zl=function o(e,t,r){var n=t-e;return dt(e)?$o(e,o(0,e.length),t):Fr(r,function(i){return(n+(i-e)%n)%n+e})},El=function o(e,t,r){var n=t-e,i=n*2;return dt(e)?$o(e,o(0,e.length-1),t):Fr(r,function(s){return s=(i+(s-e)%i)%i||0,e+(s>n?i-s:s)})},fn=function(e){return e.replace(gl,function(t){var r=t.indexOf("[")+1,n=t.substring(r||7,r?t.indexOf("]"):t.length-1).split(yl);return jo(r?n:+n[0],r?0:+n[1],+n[2]||1e-5)})},Ho=function(e,t,r,n,i){var s=t-e,a=n-r;return Fr(i,function(l){return r+((l-e)/s*a||0)})},Vl=function o(e,t,r,n){var i=isNaN(e+t)?0:function(y){return(1-y)*e+y*t};if(!i){var s=et(e),a={},l,c,f,d,g;if(r===!0&&(n=1)&&(r=null),s)e={p:e},t={p:t};else if(dt(e)&&!dt(t)){for(f=[],d=e.length,g=d-2,c=1;c<d;c++)f.push(o(e[c-1],e[c]));d--,i=function(_){_*=d;var h=Math.min(g,~~_);return f[h](_-h)},r=t}else n||(e=sn(dt(e)?[]:{},e));if(!f){for(l in t)fa.call(a,e,l,"get",t[l]);i=function(_){return ga(_,a)||(s?e.p:e)}}}return Fr(r,i)},Po=function(e,t,r){var n=e.labels,i=jt,s,a,l;for(s in n)a=n[s]-t,a<0==!!r&&a&&i>(a=Math.abs(a))&&(l=s,i=a);return l},Yt=function(e,t,r){var n=e.vars,i=n[t],s=Oe,a=e._ctx,l,c,f;if(i)return l=n[t+"Params"],c=n.callbackScope||e,r&&Or.length&&ai(),a&&(Oe=a),f=l?i.apply(c,l):i.call(c),Oe=s,f},Dn=function(e){return Lr(e),e.scrollTrigger&&e.scrollTrigger.kill(!!st),e.progress()<1&&Yt(e,"onInterrupt"),e},on,Qo=[],qo=function(e){if(e)if(e=!e.name&&e.default||e,ea()||e.headless){var t=e.name,r=Ve(e),n=t&&!r&&e.init?function(){this._props=[]}:e,i={init:In,render:ga,add:fa,kill:tu,modifier:eu,rawVars:0},s={targetTest:0,get:0,getSetter:mi,aliases:{},register:0};if(cn(),e!==n){if(kt[t])return;Xt(n,Xt(oi(e,i),s)),sn(n.prototype,sn(i,oi(e,s))),kt[n.prop=t]=n,e.targetTest&&(ri.push(n),ia[t]=1),t=(t==="css"?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}Fo(t,n),e.register&&e.register(ht,n,bt)}else Qo.push(e)},ve=255,Rn={aqua:[0,ve,ve],lime:[0,ve,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,ve],navy:[0,0,128],white:[ve,ve,ve],olive:[128,128,0],yellow:[ve,ve,0],orange:[ve,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[ve,0,0],pink:[ve,192,203],cyan:[0,ve,ve],transparent:[ve,ve,ve,0]},Vi=function(e,t,r){return e+=e<0?1:e>1?-1:0,(e*6<1?t+(r-t)*e*6:e<.5?r:e*3<2?t+(r-t)*(2/3-e)*6:t)*ve+.5|0},Ko=function(e,t,r){var n=e?Tr(e)?[e>>16,e>>8&ve,e&ve]:0:Rn.black,i,s,a,l,c,f,d,g,y,_;if(!n){if(e.substr(-1)===","&&(e=e.substr(0,e.length-1)),Rn[e])n=Rn[e];else if(e.charAt(0)==="#"){if(e.length<6&&(i=e.charAt(1),s=e.charAt(2),a=e.charAt(3),e="#"+i+i+s+s+a+a+(e.length===5?e.charAt(4)+e.charAt(4):"")),e.length===9)return n=parseInt(e.substr(1,6),16),[n>>16,n>>8&ve,n&ve,parseInt(e.substr(7),16)/255];e=parseInt(e.substr(1),16),n=[e>>16,e>>8&ve,e&ve]}else if(e.substr(0,3)==="hsl"){if(n=_=e.match(wo),!t)l=+n[0]%360/360,c=+n[1]/100,f=+n[2]/100,s=f<=.5?f*(c+1):f+c-f*c,i=f*2-s,n.length>3&&(n[3]*=1),n[0]=Vi(l+1/3,i,s),n[1]=Vi(l,i,s),n[2]=Vi(l-1/3,i,s);else if(~e.indexOf("="))return n=e.match(ta),r&&n.length<4&&(n[3]=1),n}else n=e.match(wo)||Rn.transparent;n=n.map(Number)}return t&&!_&&(i=n[0]/ve,s=n[1]/ve,a=n[2]/ve,d=Math.max(i,s,a),g=Math.min(i,s,a),f=(d+g)/2,d===g?l=c=0:(y=d-g,c=f>.5?y/(2-d-g):y/(d+g),l=d===i?(s-a)/y+(s<a?6:0):d===s?(a-i)/y+2:(i-s)/y+4,l*=60),n[0]=~~(l+.5),n[1]=~~(c*100+.5),n[2]=~~(f*100+.5)),r&&n.length<4&&(n[3]=1),n},Jo=function(e){var t=[],r=[],n=-1;return e.split(wr).forEach(function(i){var s=i.match(Qr)||[];t.push.apply(t,s),r.push(n+=s.length+1)}),t.c=r,t},So=function(e,t,r){var n="",i=(e+n).match(wr),s=t?"hsla(":"rgba(",a=0,l,c,f,d;if(!i)return e;if(i=i.map(function(g){return(g=Ko(g,t,1))&&s+(t?g[0]+","+g[1]+"%,"+g[2]+"%,"+g[3]:g.join(","))+")"}),r&&(f=Jo(e),l=r.c,l.join(n)!==f.c.join(n)))for(c=e.replace(wr,"1").split(Qr),d=c.length-1;a<d;a++)n+=c[a]+(~l.indexOf(a)?i.shift()||s+"0,0,0,0)":(f.length?f:i.length?i:r).shift());if(!c)for(c=e.split(wr),d=c.length-1;a<d;a++)n+=c[a]+i[a];return n+c[d]},wr=(function(){var o="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b",e;for(e in Rn)o+="|"+e+"\\b";return new RegExp(o+")","gi")})(),Bl=/hsl[a]?\(/,ua=function(e){var t=e.join(" "),r;if(wr.lastIndex=0,wr.test(t))return r=Bl.test(t),e[1]=So(e[1],r),e[0]=So(e[0],r,Jo(e[1])),!0},zn,Mt=(function(){var o=Date.now,e=500,t=33,r=o(),n=r,i=1e3/240,s=i,a=[],l,c,f,d,g,y,_=function h(x){var w=o()-n,v=x===!0,b,M,T,m;if((w>e||w<0)&&(r+=w-t),n+=w,T=n-r,b=T-s,(b>0||v)&&(m=++d.frame,g=T-d.time*1e3,d.time=T=T/1e3,s+=b+(b>=i?4:i-b),M=1),v||(l=c(h)),M)for(y=0;y<a.length;y++)a[y](T,g,m,x)};return d={time:0,frame:0,tick:function(){_(!0)},deltaRatio:function(x){return g/(1e3/(x||60))},wake:function(){Ao&&(!Ni&&ea()&&(ir=Ni=window,na=ir.document||{},Gt.gsap=ht,(ir.gsapVersions||(ir.gsapVersions=[])).push(ht.version),Lo(ii||ir.GreenSockGlobals||!ir.gsap&&ir||{}),Qo.forEach(qo)),f=typeof requestAnimationFrame<"u"&&requestAnimationFrame,l&&d.sleep(),c=f||function(x){return setTimeout(x,s-d.time*1e3+1|0)},zn=1,_(2))},sleep:function(){(f?cancelAnimationFrame:clearTimeout)(l),zn=0,c=In},lagSmoothing:function(x,w){e=x||1/0,t=Math.min(w||33,e)},fps:function(x){i=1e3/(x||240),s=d.time*1e3+i},add:function(x,w,v){var b=w?function(M,T,m,k){x(M,T,m,k),d.remove(b)}:x;return d.remove(x),a[v?"unshift":"push"](b),cn(),b},remove:function(x,w){~(w=a.indexOf(x))&&a.splice(w,1)&&y>=w&&y--},_listeners:a},d})(),cn=function(){return!zn&&Mt.wake()},ne={},Yl=/^[\d.\-M][\d.\-,\s]/,Gl=/["']/g,Xl=function(e){for(var t={},r=e.substr(1,e.length-3).split(":"),n=r[0],i=1,s=r.length,a,l,c;i<s;i++)l=r[i],a=i!==s-1?l.lastIndexOf(","):l.length,c=l.substr(0,a),t[n]=isNaN(c)?c.replace(Gl,"").trim():+c,n=l.substr(a+1).trim();return t},Ul=function(e){var t=e.indexOf("(")+1,r=e.indexOf(")"),n=e.indexOf("(",t);return e.substring(t,~n&&n<r?e.indexOf(")",r+1):r)},Nl=function(e){var t=(e+"").split("("),r=ne[t[0]];return r&&t.length>1&&r.config?r.config.apply(null,~e.indexOf("{")?[Xl(t[1])]:Ul(e).split(",").map(Eo)):ne._CE&&Yl.test(e)?ne._CE("",e):r},Zl=function(e){return function(t){return 1-e(1-t)}},$r=function(e,t){return e&&(Ve(e)?e:ne[e]||Nl(e))||t},Kr=function(e,t,r,n){r===void 0&&(r=function(l){return 1-t(1-l)}),n===void 0&&(n=function(l){return l<.5?t(l*2)/2:1-t((1-l)*2)/2});var i={easeIn:t,easeOut:r,easeInOut:n},s;return _t(e,function(a){ne[a]=Gt[a]=i,ne[s=a.toLowerCase()]=r;for(var l in i)ne[s+(l==="easeIn"?".in":l==="easeOut"?".out":".inOut")]=ne[a+"."+l]=i[l]}),i},es=function(e){return function(t){return t<.5?(1-e(1-t*2))/2:.5+e((t-.5)*2)/2}},Bi=function o(e,t,r){var n=t>=1?t:1,i=(r||(e?.3:.45))/(t<1?t:1),s=i/Ui*(Math.asin(1/n)||0),a=function(f){return f===1?1:n*Math.pow(2,-10*f)*pl((f-s)*i)+1},l=e==="out"?a:e==="in"?function(c){return 1-a(1-c)}:es(a);return i=Ui/i,l.config=function(c,f){return o(e,c,f)},l},Yi=function o(e,t){t===void 0&&(t=1.70158);var r=function(s){return s?--s*s*((t+1)*s+t)+1:0},n=e==="out"?r:e==="in"?function(i){return 1-r(1-i)}:es(r);return n.config=function(i){return o(e,i)},n};_t("Linear,Quad,Cubic,Quart,Quint,Strong",function(o,e){var t=e<5?e+1:e;Kr(o+",Power"+(t-1),e?function(r){return Math.pow(r,t)}:function(r){return r},function(r){return 1-Math.pow(1-r,t)},function(r){return r<.5?Math.pow(r*2,t)/2:1-Math.pow((1-r)*2,t)/2})});ne.Linear.easeNone=ne.none=ne.Linear.easeIn;Kr("Elastic",Bi("in"),Bi("out"),Bi());(function(o,e){var t=1/e,r=2*t,n=2.5*t,i=function(a){return a<t?o*a*a:a<r?o*Math.pow(a-1.5/e,2)+.75:a<n?o*(a-=2.25/e)*a+.9375:o*Math.pow(a-2.625/e,2)+.984375};Kr("Bounce",function(s){return 1-i(1-s)},i)})(7.5625,2.75);Kr("Expo",function(o){return Math.pow(2,10*(o-1))*o+o*o*o*o*o*o*(1-o)});Kr("Circ",function(o){return-(Co(1-o*o)-1)});Kr("Sine",function(o){return o===1?1:-ml(o*dl)+1});Kr("Back",Yi("in"),Yi("out"),Yi());ne.SteppedEase=ne.steps=Gt.SteppedEase={config:function(e,t){e===void 0&&(e=1);var r=1/e,n=e+(t?0:1),i=t?1:0,s=1-ke;return function(a){return((n*Vn(0,s,a)|0)+i)*r}}};Ln.ease=ne["quad.out"];_t("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(o){return aa+=o+","+o+"Params,"});var ca=function(e,t){this.id=hl++,e._gsap=this,this.target=e,this.harness=t,this.get=t?t.get:sa,this.set=t?t.getSetter:mi},En=(function(){function o(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,un(this,+t.duration,1,1),this.data=t.data,Oe&&(this._ctx=Oe,Oe.data.push(this)),zn||Mt.wake()}var e=o.prototype;return e.delay=function(r){return r||r===0?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+r-this._delay),this._delay=r,this):this._delay},e.duration=function(r){return arguments.length?this.totalDuration(this._repeat>0?r+(r+this._rDelay)*this._repeat:r):this.totalDuration()&&this._dur},e.totalDuration=function(r){return arguments.length?(this._dirty=0,un(this,this._repeat<0?r:(r-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},e.totalTime=function(r,n){if(cn(),!arguments.length)return this._tTime;var i=this._dp;if(i&&i.smoothChildTiming&&this._ts){for(hi(this,r),!i._dp||i.parent||Yo(i,this);i&&i.parent;)i.parent._time!==i._start+(i._ts>=0?i._tTime/i._ts:(i.totalDuration()-i._tTime)/-i._ts)&&i.totalTime(i._tTime,!0),i=i.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&r<this._tDur||this._ts<0&&r>0||!this._tDur&&!r)&&ar(this._dp,this,this._start-this._delay)}return(this._tTime!==r||!this._dur&&!n||this._initted&&Math.abs(this._zTime)===ke||!this._initted&&this._dur&&r||!r&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=r),zo(this,r,n)),this},e.time=function(r,n){return arguments.length?this.totalTime(Math.min(this.totalDuration(),r+ko(this))%(this._dur+this._rDelay)||(r?this._dur:0),n):this._time},e.totalProgress=function(r,n){return arguments.length?this.totalTime(this.totalDuration()*r,n):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},e.progress=function(r,n){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&!(this.iteration()&1)?1-r:r)+ko(this),n):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},e.iteration=function(r,n){var i=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(r-1)*i,n):this._repeat?ln(this._tTime,i)+1:1},e.timeScale=function(r,n){if(!arguments.length)return this._rts===-ke?0:this._rts;if(this._rts===r)return this;var i=this.parent&&this._ts?si(this.parent._time,this):this._tTime;return this._rts=+r||0,this._ts=this._ps||r===-ke?0:this._rts,this.totalTime(Vn(-Math.abs(this._delay),this.totalDuration(),i),n!==!1),di(this),Ml(this)},e.paused=function(r){return arguments.length?(this._ps!==r&&(this._ps=r,r?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(cn(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,this.progress()===1&&Math.abs(this._zTime)!==ke&&(this._tTime-=ke)))),this):this._ps},e.startTime=function(r){if(arguments.length){this._start=Fe(r);var n=this.parent||this._dp;return n&&(n._sort||!this.parent)&&ar(n,this,this._start-this._delay),this}return this._start},e.endTime=function(r){return this._start+(Pt(r)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},e.rawTime=function(r){var n=this.parent||this._dp;return n?r&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?si(n.rawTime(r),this):this._tTime:this._tTime},e.revert=function(r){r===void 0&&(r=wl);var n=st;return st=r,la(this)&&(this.timeline&&this.timeline.revert(r),this.totalTime(-.01,r.suppressEvents)),this.data!=="nested"&&r.kill!==!1&&this.kill(),st=n,this},e.globalTime=function(r){for(var n=this,i=arguments.length?r:n.rawTime();n;)i=n._start+i/(Math.abs(n._ts)||1),n=n._dp;return!this.parent&&this._sat?this._sat.globalTime(r):i},e.repeat=function(r){return arguments.length?(this._repeat=r===1/0?-2:r,Mo(this)):this._repeat===-2?1/0:this._repeat},e.repeatDelay=function(r){if(arguments.length){var n=this._time;return this._rDelay=r,Mo(this),n?this.time(n):this}return this._rDelay},e.yoyo=function(r){return arguments.length?(this._yoyo=r,this):this._yoyo},e.seek=function(r,n){return this.totalTime(Wt(this,r),Pt(n))},e.restart=function(r,n){return this.play().totalTime(r?-this._delay:0,Pt(n)),this._dur||(this._zTime=-ke),this},e.play=function(r,n){return r!=null&&this.seek(r,n),this.reversed(!1).paused(!1)},e.reverse=function(r,n){return r!=null&&this.seek(r||this.totalDuration(),n),this.reversed(!0).paused(!1)},e.pause=function(r,n){return r!=null&&this.seek(r,n),this.paused(!0)},e.resume=function(){return this.paused(!1)},e.reversed=function(r){return arguments.length?(!!r!==this.reversed()&&this.timeScale(-this._rts||(r?-ke:0)),this):this._rts<0},e.invalidate=function(){return this._initted=this._act=0,this._zTime=-ke,this},e.isActive=function(){var r=this.parent||this._dp,n=this._start,i;return!!(!r||this._ts&&this._initted&&r.isActive()&&(i=r.rawTime(!0))>=n&&i<this.endTime(!0)-ke)},e.eventCallback=function(r,n,i){var s=this.vars;return arguments.length>1?(n?(s[r]=n,i&&(s[r+"Params"]=i),r==="onUpdate"&&(this._onUpdate=n)):delete s[r],this):s[r]},e.then=function(r){var n=this,i=n._prom;return new Promise(function(s){var a=Ve(r)?r:Vo,l=function(){var f=n.then;n.then=null,i&&i(),Ve(a)&&(a=a(n))&&(a.then||a===n)&&(n.then=f),s(a),n.then=f};n._initted&&n.totalProgress()===1&&n._ts>=0||!n._tTime&&n._ts<0?l():n._prom=l})},e.kill=function(){Dn(this)},o})();Xt(En.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-ke,_prom:0,_ps:!1,_rts:1});var ft=(function(o){Ro(e,o);function e(r,n){var i;return r===void 0&&(r={}),i=o.call(this,r)||this,i.labels={},i.smoothChildTiming=!!r.smoothChildTiming,i.autoRemoveChildren=!!r.autoRemoveChildren,i._sort=Pt(r.sortChildren),Ie&&ar(r.parent||Ie,xr(i),n),r.reversed&&i.reverse(),r.paused&&i.paused(!0),r.scrollTrigger&&Go(xr(i),r.scrollTrigger),i}var t=e.prototype;return t.to=function(n,i,s){return On(0,arguments,this),this},t.from=function(n,i,s){return On(1,arguments,this),this},t.fromTo=function(n,i,s,a){return On(2,arguments,this),this},t.set=function(n,i,s){return i.duration=0,i.parent=this,Cn(i).repeatDelay||(i.repeat=0),i.immediateRender=!!i.immediateRender,new Ze(n,i,Wt(this,s),1),this},t.call=function(n,i,s){return ar(this,Ze.delayedCall(0,n,i),s)},t.staggerTo=function(n,i,s,a,l,c,f){return s.duration=i,s.stagger=s.stagger||a,s.onComplete=c,s.onCompleteParams=f,s.parent=this,new Ze(n,s,Wt(this,l)),this},t.staggerFrom=function(n,i,s,a,l,c,f){return s.runBackwards=1,Cn(s).immediateRender=Pt(s.immediateRender),this.staggerTo(n,i,s,a,l,c,f)},t.staggerFromTo=function(n,i,s,a,l,c,f,d){return a.startAt=s,Cn(a).immediateRender=Pt(a.immediateRender),this.staggerTo(n,i,a,l,c,f,d)},t.render=function(n,i,s){var a=this._time,l=this._dirty?this.totalDuration():this._tDur,c=this._dur,f=n<=0?0:Fe(n),d=this._zTime<0!=n<0&&(this._initted||!c),g,y,_,h,x,w,v,b,M,T,m,k;if(this!==Ie&&f>l&&n>=0&&(f=l),f!==this._tTime||s||d){if(a!==this._time&&c&&(f+=this._time-a,n+=this._time-a),g=f,M=this._start,b=this._ts,w=!b,d&&(c||(a=this._zTime),(n||!i)&&(this._zTime=n)),this._repeat){if(m=this._yoyo,x=c+this._rDelay,this._repeat<-1&&n<0)return this.totalTime(x*100+n,i,s);if(g=Fe(f%x),f===l?(h=this._repeat,g=c):(T=Fe(f/x),h=~~T,h&&h===T&&(g=c,h--),g>c&&(g=c)),T=ln(this._tTime,x),!a&&this._tTime&&T!==h&&this._tTime-T*x-this._dur<=0&&(T=h),m&&h&1&&(g=c-g,k=1),h!==T&&!this._lock){var S=m&&T&1,P=S===(m&&h&1);if(h<T&&(S=!S),a=S?0:f%c?c:f,this._lock=1,this.render(a||(k?0:Fe(h*x)),i,!c)._lock=0,this._tTime=f,!i&&this.parent&&Yt(this,"onRepeat"),this.vars.repeatRefresh&&!k&&(this.invalidate()._lock=1,T=h),a&&a!==this._time||w!==!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(c=this._dur,l=this._tDur,P&&(this._lock=2,a=S?c:-1e-4,this.render(a,!0),this.vars.repeatRefresh&&!k&&this.invalidate()),this._lock=0,!this._ts&&!w)return this}}if(this._hasPause&&!this._forcing&&this._lock<2&&(v=Rl(this,Fe(a),Fe(g)),v&&(f-=g-(g=v._start))),this._tTime=f,this._time=g,this._act=!!b,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=n,a=0),!a&&f&&c&&!i&&!T&&(Yt(this,"onStart"),this._tTime!==f))return this;if(g>=a&&n>=0)for(y=this._first;y;){if(_=y._next,(y._act||g>=y._start)&&y._ts&&v!==y){if(y.parent!==this)return this.render(n,i,s);if(y.render(y._ts>0?(g-y._start)*y._ts:(y._dirty?y.totalDuration():y._tDur)+(g-y._start)*y._ts,i,s),g!==this._time||!this._ts&&!w){v=0,_&&(f+=this._zTime=-ke);break}}y=_}else{y=this._last;for(var L=n<0?n:g;y;){if(_=y._prev,(y._act||L<=y._end)&&y._ts&&v!==y){if(y.parent!==this)return this.render(n,i,s);if(y.render(y._ts>0?(L-y._start)*y._ts:(y._dirty?y.totalDuration():y._tDur)+(L-y._start)*y._ts,i,s||st&&la(y)),g!==this._time||!this._ts&&!w){v=0,_&&(f+=this._zTime=L?-ke:ke);break}}y=_}}if(v&&!i&&(this.pause(),v.render(g>=a?0:-ke)._zTime=g>=a?1:-1,this._ts))return this._start=M,di(this),this.render(n,i,s);this._onUpdate&&!i&&Yt(this,"onUpdate",!0),(f===l&&this._tTime>=this.totalDuration()||!f&&a)&&(M===this._start||Math.abs(b)!==Math.abs(this._ts))&&(this._lock||((n||!c)&&(f===l&&this._ts>0||!f&&this._ts<0)&&Lr(this,1),!i&&!(n<0&&!a)&&(f||a||!l)&&(Yt(this,f===l&&n>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(f<l&&this.timeScale()>0)&&this._prom())))}return this},t.add=function(n,i){var s=this;if(Tr(i)||(i=Wt(this,i,n)),!(n instanceof En)){if(dt(n))return n.forEach(function(a){return s.add(a,i)}),this;if(et(n))return this.addLabel(n,i);if(Ve(n))n=Ze.delayedCall(0,n);else return this}return this!==n?ar(this,n,i):this},t.getChildren=function(n,i,s,a){n===void 0&&(n=!0),i===void 0&&(i=!0),s===void 0&&(s=!0),a===void 0&&(a=-jt);for(var l=[],c=this._first;c;)c._start>=a&&(c instanceof Ze?i&&l.push(c):(s&&l.push(c),n&&l.push.apply(l,c.getChildren(!0,i,s)))),c=c._next;return l},t.getById=function(n){for(var i=this.getChildren(1,1,1),s=i.length;s--;)if(i[s].vars.id===n)return i[s]},t.remove=function(n){return et(n)?this.removeLabel(n):Ve(n)?this.killTweensOf(n):(n.parent===this&&fi(this,n),n===this._recent&&(this._recent=this._last),jr(this))},t.totalTime=function(n,i){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=Fe(Mt.time-(this._ts>0?n/this._ts:(this.totalDuration()-n)/-this._ts))),o.prototype.totalTime.call(this,n,i),this._forcing=0,this):this._tTime},t.addLabel=function(n,i){return this.labels[n]=Wt(this,i),this},t.removeLabel=function(n){return delete this.labels[n],this},t.addPause=function(n,i,s){var a=Ze.delayedCall(0,i||In,s);return a.data="isPause",this._hasPause=1,ar(this,a,Wt(this,n))},t.removePause=function(n){var i=this._first;for(n=Wt(this,n);i;)i._start===n&&i.data==="isPause"&&Lr(i),i=i._next},t.killTweensOf=function(n,i,s){for(var a=this.getTweensOf(n,s),l=a.length;l--;)Cr!==a[l]&&a[l].kill(n,i);return this},t.getTweensOf=function(n,i){for(var s=[],a=$t(n),l=this._first,c=Tr(i),f;l;)l instanceof Ze?Tl(l._targets,a)&&(c?(!Cr||l._initted&&l._ts)&&l.globalTime(0)<=i&&l.globalTime(l.totalDuration())>i:!i||l.isActive())&&s.push(l):(f=l.getTweensOf(a,i)).length&&s.push.apply(s,f),l=l._next;return s},t.tweenTo=function(n,i){i=i||{};var s=this,a=Wt(s,n),l=i,c=l.startAt,f=l.onStart,d=l.onStartParams,g=l.immediateRender,y,_=Ze.to(s,Xt({ease:i.ease||"none",lazy:!1,immediateRender:!1,time:a,overwrite:"auto",duration:i.duration||Math.abs((a-(c&&"time"in c?c.time:s._time))/s.timeScale())||ke,onStart:function(){if(s.pause(),!y){var x=i.duration||Math.abs((a-(c&&"time"in c?c.time:s._time))/s.timeScale());_._dur!==x&&un(_,x,0,1).render(_._time,!0,!0),y=1}f&&f.apply(_,d||[])}},i));return g?_.render(0):_},t.tweenFromTo=function(n,i,s){return this.tweenTo(i,Xt({startAt:{time:Wt(this,n)}},s))},t.recent=function(){return this._recent},t.nextLabel=function(n){return n===void 0&&(n=this._time),Po(this,Wt(this,n))},t.previousLabel=function(n){return n===void 0&&(n=this._time),Po(this,Wt(this,n),1)},t.currentLabel=function(n){return arguments.length?this.seek(n,!0):this.previousLabel(this._time+ke)},t.shiftChildren=function(n,i,s){s===void 0&&(s=0);var a=this._first,l=this.labels,c;for(n=Fe(n);a;)a._start>=s&&(a._start+=n,a._end+=n),a=a._next;if(i)for(c in l)l[c]>=s&&(l[c]+=n);return jr(this)},t.invalidate=function(n){var i=this._first;for(this._lock=0;i;)i.invalidate(n),i=i._next;return o.prototype.invalidate.call(this,n)},t.clear=function(n){n===void 0&&(n=!0);for(var i=this._first,s;i;)s=i._next,this.remove(i),i=s;return this._dp&&(this._time=this._tTime=this._pTime=0),n&&(this.labels={}),jr(this)},t.totalDuration=function(n){var i=0,s=this,a=s._last,l=jt,c,f,d;if(arguments.length)return s.timeScale((s._repeat<0?s.duration():s.totalDuration())/(s.reversed()?-n:n));if(s._dirty){for(d=s.parent;a;)c=a._prev,a._dirty&&a.totalDuration(),f=a._start,f>l&&s._sort&&a._ts&&!s._lock?(s._lock=1,ar(s,a,f-a._delay,1)._lock=0):l=f,f<0&&a._ts&&(i-=f,(!d&&!s._dp||d&&d.smoothChildTiming)&&(s._start+=Fe(f/s._ts),s._time-=f,s._tTime-=f),s.shiftChildren(-f,!1,-1/0),l=0),a._end>i&&a._ts&&(i=a._end),a=c;un(s,s===Ie&&s._time>i?s._time:i,1,1),s._dirty=0}return s._tDur},e.updateRoot=function(n){if(Ie._ts&&(zo(Ie,si(n,Ie)),Io=Mt.frame),Mt.frame>=To){To+=St.autoSleep||120;var i=Ie._first;if((!i||!i._ts)&&St.autoSleep&&Mt._listeners.length<2){for(;i&&!i._ts;)i=i._next;i||Mt.sleep()}}},e})(En);Xt(ft.prototype,{_lock:0,_hasPause:0,_forcing:0});var Wl=function(e,t,r,n,i,s,a){var l=new bt(this._pt,e,t,0,1,pa,null,i),c=0,f=0,d,g,y,_,h,x,w,v;for(l.b=r,l.e=n,r+="",n+="",(w=~n.indexOf("random("))&&(n=fn(n)),s&&(v=[r,n],s(v,e,t),r=v[0],n=v[1]),g=r.match(zi)||[];d=zi.exec(n);)_=d[0],h=n.substring(c,d.index),y?y=(y+1)%5:h.substr(-5)==="rgba("&&(y=1),_!==g[f++]&&(x=parseFloat(g[f-1])||0,l._pt={_next:l._pt,p:h||f===1?h:",",s:x,c:_.charAt(1)==="="?qr(x,_)-x:parseFloat(_)-x,m:y&&y<4?Math.round:0},c=zi.lastIndex);return l.c=c<n.length?n.substring(c,n.length):"",l.fp=a,(ra.test(n)||w)&&(l.e=0),this._pt=l,l},fa=function(e,t,r,n,i,s,a,l,c,f){Ve(n)&&(n=n(i||0,e,s));var d=e[t],g=r!=="get"?r:Ve(d)?c?e[t.indexOf("set")||!Ve(e["get"+t.substr(3)])?t:"get"+t.substr(3)](c):e[t]():d,y=Ve(d)?c?ql:ns:ma,_;if(et(n)&&(~n.indexOf("random(")&&(n=fn(n)),n.charAt(1)==="="&&(_=qr(g,n)+(lt(g)||0),(_||_===0)&&(n=_))),!f||g!==n||qi)return!isNaN(g*n)&&n!==""?(_=new bt(this._pt,e,t,+g||0,n-(g||0),typeof d=="boolean"?Jl:is,0,y),c&&(_.fp=c),a&&_.modifier(a,this,e),this._pt=_):(!d&&!(t in e)&&ci(t,n),Wl.call(this,e,t,g,n,y,l||St.stringFilter,c))},jl=function(e,t,r,n,i){if(Ve(e)&&(e=An(e,i,t,r,n)),!or(e)||e.style&&e.nodeType||dt(e)||Oo(e))return et(e)?An(e,i,t,r,n):e;var s={},a;for(a in e)s[a]=An(e[a],i,t,r,n);return s},da=function(e,t,r,n,i,s){var a,l,c,f;if(kt[e]&&(a=new kt[e]).init(i,a.rawVars?t[e]:jl(t[e],n,i,s,r),r,n,s)!==!1&&(r._pt=l=new bt(r._pt,i,e,0,1,a.render,a,0,a.priority),r!==on))for(c=r._ptLookup[r._targets.indexOf(i)],f=a._props.length;f--;)c[a._props[f]]=l;return a},Cr,qi,ha=function o(e,t,r){var n=e.vars,i=n.ease,s=n.startAt,a=n.immediateRender,l=n.lazy,c=n.onUpdate,f=n.runBackwards,d=n.yoyoEase,g=n.keyframes,y=n.autoRevert,_=e._dur,h=e._startAt,x=e._targets,w=e.parent,v=w&&w.data==="nested"?w.vars.targets:x,b=e._overwrite==="auto"&&!Ji,M=e.timeline,T=n.easeReverse||d,m,k,S,P,L,Y,re,J,K,Ye,Ae,xe,Rt;if(M&&(!g||!i)&&(i="none"),e._ease=$r(i,Ln.ease),e._rEase=T&&($r(T)||e._ease),e._from=!M&&!!n.runBackwards,e._from&&(e.ratio=1),!M||g&&!n.stagger){if(J=x[0]?Ar(x[0]).harness:0,xe=J&&n[J.prop],m=oi(n,ia),h&&(h._zTime<0&&h.progress(1),t<0&&f&&a&&!y?h.render(-1,!0):h.revert(f&&_?ti:xl),h._lazy=0),s){if(Lr(e._startAt=Ze.set(x,Xt({data:"isStart",overwrite:!1,parent:w,immediateRender:!0,lazy:!h&&Pt(l),startAt:null,delay:0,onUpdate:c&&function(){return Yt(e,"onUpdate")},stagger:0},s))),e._startAt._dp=0,e._startAt._sat=e,t<0&&(st||!a&&!y)&&e._startAt.revert(ti),a&&_&&t<=0&&r<=0){t&&(e._zTime=t);return}}else if(f&&_&&!h){if(t&&(a=!1),S=Xt({overwrite:!1,data:"isFromStart",lazy:a&&!h&&Pt(l),immediateRender:a,stagger:0,parent:w},m),xe&&(S[J.prop]=xe),Lr(e._startAt=Ze.set(x,S)),e._startAt._dp=0,e._startAt._sat=e,t<0&&(st?e._startAt.revert(ti):e._startAt.render(-1,!0)),e._zTime=t,!a)o(e._startAt,ke,ke);else if(!t)return}for(e._pt=e._ptCache=0,l=_&&Pt(l)||l&&!_,k=0;k<x.length;k++){if(L=x[k],re=L._gsap||oa(x)[k]._gsap,e._ptLookup[k]=Ye={},Zi[re.id]&&Or.length&&ai(),Ae=v===x?k:v.indexOf(L),J&&(K=new J).init(L,xe||m,e,Ae,v)!==!1&&(e._pt=P=new bt(e._pt,L,K.name,0,1,K.render,K,0,K.priority),K._props.forEach(function(lr){Ye[lr]=P}),K.priority&&(Y=1)),!J||xe)for(S in m)kt[S]&&(K=da(S,m,e,Ae,L,v))?K.priority&&(Y=1):Ye[S]=P=fa.call(e,L,S,"get",m[S],Ae,v,0,n.stringFilter);e._op&&e._op[k]&&e.kill(L,e._op[k]),b&&e._pt&&(Cr=e,Ie.killTweensOf(L,Ye,e.globalTime(t)),Rt=!e.parent,Cr=0),e._pt&&l&&(Zi[re.id]=1)}Y&&ya(e),e._onInit&&e._onInit(e)}e._onUpdate=c,e._initted=(!e._op||e._pt)&&!Rt,g&&t<=0&&M.render(jt,!0,!0)},$l=function(e,t,r,n,i,s,a,l){var c=(e._pt&&e._ptCache||(e._ptCache={}))[t],f,d,g,y;if(!c)for(c=e._ptCache[t]=[],g=e._ptLookup,y=e._targets.length;y--;){if(f=g[y][t],f&&f.d&&f.d._pt)for(f=f.d._pt;f&&f.p!==t&&f.fp!==t;)f=f._next;if(!f)return qi=1,e.vars[t]="+=0",ha(e,a),qi=0,l?Fn(t+" not eligible for reset. Try splitting into individual properties"):1;c.push(f)}for(y=c.length;y--;)d=c[y],f=d._pt||d,f.s=(n||n===0)&&!i?n:f.s+(n||0)+s*f.c,f.c=r-f.s,d.e&&(d.e=Be(r)+lt(d.e)),d.b&&(d.b=f.s+lt(d.b))},Hl=function(e,t){var r=e[0]?Ar(e[0]).harness:0,n=r&&r.aliases,i,s,a,l;if(!n)return t;i=sn({},t);for(s in n)if(s in i)for(l=n[s].split(","),a=l.length;a--;)i[l[a]]=i[s];return i},Ql=function(e,t,r,n){var i=t.ease||n||"power1.inOut",s,a;if(dt(t))a=r[e]||(r[e]=[]),t.forEach(function(l,c){return a.push({t:c/(t.length-1)*100,v:l,e:i})});else for(s in t)a=r[s]||(r[s]=[]),s==="ease"||a.push({t:parseFloat(e),v:t[s],e:i})},An=function(e,t,r,n,i){return Ve(e)?e.call(t,r,n,i):et(e)&&~e.indexOf("random(")?fn(e):e},ts=aa+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,easeReverse,autoRevert",rs={};_t(ts+",id,stagger,delay,duration,paused,scrollTrigger",function(o){return rs[o]=1});var Ze=(function(o){Ro(e,o);function e(r,n,i,s){var a;typeof n=="number"&&(i.duration=n,n=i,i=null),a=o.call(this,s?n:Cn(n))||this;var l=a.vars,c=l.duration,f=l.delay,d=l.immediateRender,g=l.stagger,y=l.overwrite,_=l.keyframes,h=l.defaults,x=l.scrollTrigger,w=n.parent||Ie,v=(dt(r)||Oo(r)?Tr(r[0]):"length"in n)?[r]:$t(r),b,M,T,m,k,S,P,L;if(a._targets=v.length?oa(v):Fn("GSAP target "+r+" not found. https://gsap.com",!St.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=y,_||g||ei(c)||ei(f)){n=a.vars;var Y=n.easeReverse||n.yoyoEase;if(b=a.timeline=new ft({data:"nested",defaults:h||{},targets:w&&w.data==="nested"?w.vars.targets:v}),b.kill(),b.parent=b._dp=xr(a),b._start=0,g||ei(c)||ei(f)){if(m=v.length,P=g&&Zo(g),or(g))for(k in g)~ts.indexOf(k)&&(L||(L={}),L[k]=g[k]);for(M=0;M<m;M++)T=oi(n,rs),T.stagger=0,Y&&(T.easeReverse=Y),L&&sn(T,L),S=v[M],T.duration=+An(c,xr(a),M,S,v),T.delay=(+An(f,xr(a),M,S,v)||0)-a._delay,!g&&m===1&&T.delay&&(a._delay=f=T.delay,a._start+=f,T.delay=0),b.to(S,T,P?P(M,S,v):0),b._ease=ne.none;b.duration()?c=f=0:a.timeline=0}else if(_){Cn(Xt(b.vars.defaults,{ease:"none"})),b._ease=$r(_.ease||n.ease||"none");var re=0,J,K,Ye;if(dt(_))_.forEach(function(Ae){return b.to(v,Ae,">")}),b.duration();else{T={};for(k in _)k==="ease"||k==="easeEach"||Ql(k,_[k],T,_.easeEach);for(k in T)for(J=T[k].sort(function(Ae,xe){return Ae.t-xe.t}),re=0,M=0;M<J.length;M++)K=J[M],Ye={ease:K.e,duration:(K.t-(M?J[M-1].t:0))/100*c},Ye[k]=K.v,b.to(v,Ye,re),re+=Ye.duration;b.duration()<c&&b.to({},{duration:c-b.duration()})}}c||a.duration(c=b.duration())}else a.timeline=0;return y===!0&&!Ji&&(Cr=xr(a),Ie.killTweensOf(v),Cr=0),ar(w,xr(a),i),n.reversed&&a.reverse(),n.paused&&a.paused(!0),(d||!c&&!_&&a._start===Fe(w._time)&&Pt(d)&&Pl(xr(a))&&w.data!=="nested")&&(a._tTime=-ke,a.render(Math.max(0,-f)||0)),x&&Go(xr(a),x),a}var t=e.prototype;return t.render=function(n,i,s){var a=this._time,l=this._tDur,c=this._dur,f=n<0,d=n>l-ke&&!f?l:n<ke?0:n,g,y,_,h,x,w,v,b;if(!c)Dl(this,n,i,s);else if(d!==this._tTime||!n||s||!this._initted&&this._tTime||this._startAt&&this._zTime<0!==f||this._lazy){if(g=d,b=this.timeline,this._repeat){if(h=c+this._rDelay,this._repeat<-1&&f)return this.totalTime(h*100+n,i,s);if(g=Fe(d%h),d===l?(_=this._repeat,g=c):(x=Fe(d/h),_=~~x,_&&_===x?(g=c,_--):g>c&&(g=c)),w=this._yoyo&&_&1,w&&(g=c-g),x=ln(this._tTime,h),g===a&&!s&&this._initted&&_===x)return this._tTime=d,this;_!==x&&this.vars.repeatRefresh&&!w&&!this._lock&&g!==h&&this._initted&&(this._lock=s=1,this.render(Fe(h*_),!0).invalidate()._lock=0)}if(!this._initted){if(Xo(this,f?n:g,s,i,d))return this._tTime=0,this;if(a!==this._time&&!(s&&this.vars.repeatRefresh&&_!==x))return this;if(c!==this._dur)return this.render(n,i,s)}if(this._rEase){var M=g<a;if(M!==this._inv){var T=M?a:c-a;this._inv=M,this._from&&(this.ratio=1-this.ratio),this._invRatio=this.ratio,this._invTime=a,this._invRecip=T?(M?-1:1)/T:0,this._invScale=M?-this.ratio:1-this.ratio,this._invEase=M?this._rEase:this._ease}this.ratio=v=this._invRatio+this._invScale*this._invEase((g-this._invTime)*this._invRecip)}else this.ratio=v=this._ease(g/c);if(this._from&&(this.ratio=v=1-v),this._tTime=d,this._time=g,!this._act&&this._ts&&(this._act=1,this._lazy=0),!a&&d&&!i&&!x&&(Yt(this,"onStart"),this._tTime!==d))return this;for(y=this._pt;y;)y.r(v,y.d),y=y._next;b&&b.render(n<0?n:b._dur*b._ease(g/this._dur),i,s)||this._startAt&&(this._zTime=n),this._onUpdate&&!i&&(f&&Wi(this,n,i,s),Yt(this,"onUpdate")),this._repeat&&_!==x&&this.vars.onRepeat&&!i&&this.parent&&Yt(this,"onRepeat"),(d===this._tDur||!d)&&this._tTime===d&&(f&&!this._onUpdate&&Wi(this,n,!0,!0),(n||!c)&&(d===this._tDur&&this._ts>0||!d&&this._ts<0)&&Lr(this,1),!i&&!(f&&!a)&&(d||a||w)&&(Yt(this,d===l?"onComplete":"onReverseComplete",!0),this._prom&&!(d<l&&this.timeScale()>0)&&this._prom()))}return this},t.targets=function(){return this._targets},t.invalidate=function(n){return(!n||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(n),o.prototype.invalidate.call(this,n)},t.resetTo=function(n,i,s,a,l){zn||Mt.wake(),this._ts||this.play();var c=Math.min(this._dur,(this._dp._time-this._start)*this._ts),f;return this._initted||ha(this,c),f=this._ease(c/this._dur),$l(this,n,i,s,a,f,c,l)?this.resetTo(n,i,s,a,1):(hi(this,0),this.parent||Bo(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},t.kill=function(n,i){if(i===void 0&&(i="all"),!n&&(!i||i==="all"))return this._lazy=this._pt=0,this.parent?Dn(this):this.scrollTrigger&&this.scrollTrigger.kill(!!st),this;if(this.timeline){var s=this.timeline.totalDuration();return this.timeline.killTweensOf(n,i,Cr&&Cr.vars.overwrite!==!0)._first||Dn(this),this.parent&&s!==this.timeline.totalDuration()&&un(this,this._dur*this.timeline._tDur/s,0,1),this}var a=this._targets,l=n?$t(n):a,c=this._ptLookup,f=this._pt,d,g,y,_,h,x,w;if((!i||i==="all")&&kl(a,l))return i==="all"&&(this._pt=0),Dn(this);for(d=this._op=this._op||[],i!=="all"&&(et(i)&&(h={},_t(i,function(v){return h[v]=1}),i=h),i=Hl(a,i)),w=a.length;w--;)if(~l.indexOf(a[w])){g=c[w],i==="all"?(d[w]=i,_=g,y={}):(y=d[w]=d[w]||{},_=i);for(h in _)x=g&&g[h],x&&((!("kill"in x.d)||x.d.kill(h)===!0)&&fi(this,x,"_pt"),delete g[h]),y!=="all"&&(y[h]=1)}return this._initted&&!this._pt&&f&&Dn(this),this},e.to=function(n,i){return new e(n,i,arguments[2])},e.from=function(n,i){return On(1,arguments)},e.delayedCall=function(n,i,s,a){return new e(i,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:n,onComplete:i,onReverseComplete:i,onCompleteParams:s,onReverseCompleteParams:s,callbackScope:a})},e.fromTo=function(n,i,s){return On(2,arguments)},e.set=function(n,i){return i.duration=0,i.repeatDelay||(i.repeat=0),new e(n,i)},e.killTweensOf=function(n,i,s){return Ie.killTweensOf(n,i,s)},e})(En);Xt(Ze.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0});_t("staggerTo,staggerFrom,staggerFromTo",function(o){Ze[o]=function(){var e=new ft,t=$i.call(arguments,0);return t.splice(o==="staggerFromTo"?5:4,0,0),e[o].apply(e,t)}});var ma=function(e,t,r){return e[t]=r},ns=function(e,t,r){return e[t](r)},ql=function(e,t,r,n){return e[t](n.fp,r)},Kl=function(e,t,r){return e.setAttribute(t,r)},mi=function(e,t){return Ve(e[t])?ns:ui(e[t])&&e.setAttribute?Kl:ma},is=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e6)/1e6,t)},Jl=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},pa=function(e,t){var r=t._pt,n="";if(!e&&t.b)n=t.b;else if(e===1&&t.e)n=t.e;else{for(;r;)n=r.p+(r.m?r.m(r.s+r.c*e):Math.round((r.s+r.c*e)*1e4)/1e4)+n,r=r._next;n+=t.c}t.set(t.t,t.p,n,t)},ga=function(e,t){for(var r=t._pt;r;)r.r(e,r.d),r=r._next},eu=function(e,t,r,n){for(var i=this._pt,s;i;)s=i._next,i.p===n&&i.modifier(e,t,r),i=s},tu=function(e){for(var t=this._pt,r,n;t;)n=t._next,t.p===e&&!t.op||t.op===e?fi(this,t,"_pt"):t.dep||(r=1),t=n;return!r},ru=function(e,t,r,n){n.mSet(e,t,n.m.call(n.tween,r,n.mt),n)},ya=function(e){for(var t=e._pt,r,n,i,s;t;){for(r=t._next,n=i;n&&n.pr>t.pr;)n=n._next;(t._prev=n?n._prev:s)?t._prev._next=t:i=t,(t._next=n)?n._prev=t:s=t,t=r}e._pt=i},bt=(function(){function o(t,r,n,i,s,a,l,c,f){this.t=r,this.s=i,this.c=s,this.p=n,this.r=a||is,this.d=l||this,this.set=c||ma,this.pr=f||0,this._next=t,t&&(t._prev=this)}var e=o.prototype;return e.modifier=function(r,n,i){this.mSet=this.mSet||this.set,this.set=ru,this.m=r,this.mt=i,this.tween=n},o})();_t(aa+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger,easeReverse",function(o){return ia[o]=1});Gt.TweenMax=Gt.TweenLite=Ze;Gt.TimelineLite=Gt.TimelineMax=ft;Ie=new ft({sortChildren:!1,defaults:Ln,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0});St.stringFilter=ua;var Hr=[],ni={},nu=[],Do=0,iu=0,Gi=function(e){return(ni[e]||nu).map(function(t){return t()})},Ki=function(){var e=Date.now(),t=[];e-Do>2&&(Gi("matchMediaInit"),Hr.forEach(function(r){var n=r.queries,i=r.conditions,s,a,l,c;for(a in n)s=ir.matchMedia(n[a]).matches,s&&(l=1),s!==i[a]&&(i[a]=s,c=1);c&&(r.revert(),l&&t.push(r))}),Gi("matchMediaRevert"),t.forEach(function(r){return r.onMatch(r,function(n){return r.add(null,n)})}),Do=e,Gi("matchMedia"))},as=(function(){function o(t,r){this.selector=r&&Hi(r),this.data=[],this._r=[],this.isReverted=!1,this.id=iu++,t&&this.add(t)}var e=o.prototype;return e.add=function(r,n,i){Ve(r)&&(i=n,n=r,r=Ve);var s=this,a=function(){var c=Oe,f=s.selector,d;return c&&c!==s&&c.data.push(s),i&&(s.selector=Hi(i)),Oe=s,d=n.apply(s,arguments),Ve(d)&&s._r.push(d),Oe=c,s.selector=f,s.isReverted=!1,d};return s.last=a,r===Ve?a(s,function(l){return s.add(null,l)}):r?s[r]=a:a},e.ignore=function(r){var n=Oe;Oe=null,r(this),Oe=n},e.getTweens=function(){var r=[];return this.data.forEach(function(n){return n instanceof o?r.push.apply(r,n.getTweens()):n instanceof Ze&&!(n.parent&&n.parent.data==="nested")&&r.push(n)}),r},e.clear=function(){this._r.length=this.data.length=0},e.kill=function(r,n){var i=this;if(r?(function(){for(var a=i.getTweens(),l=i.data.length,c;l--;)c=i.data[l],c.data==="isFlip"&&(c.revert(),c.getChildren(!0,!0,!1).forEach(function(f){return a.splice(a.indexOf(f),1)}));for(a.map(function(f){return{g:f._dur||f._delay||f._sat&&!f._sat.vars.immediateRender?f.globalTime(0):-1/0,t:f}}).sort(function(f,d){return d.g-f.g||-1/0}).forEach(function(f){return f.t.revert(r)}),l=i.data.length;l--;)c=i.data[l],c instanceof ft?c.data!=="nested"&&(c.scrollTrigger&&c.scrollTrigger.revert(),c.kill()):!(c instanceof Ze)&&c.revert&&c.revert(r);i._r.forEach(function(f){return f(r,i)}),i.isReverted=!0})():this.data.forEach(function(a){return a.kill&&a.kill()}),this.clear(),n)for(var s=Hr.length;s--;)Hr[s].id===this.id&&Hr.splice(s,1)},e.revert=function(r){this.kill(r||{})},o})(),au=(function(){function o(t){this.contexts=[],this.scope=t,Oe&&Oe.data.push(this)}var e=o.prototype;return e.add=function(r,n,i){or(r)||(r={matches:r});var s=new as(0,i||this.scope),a=s.conditions={},l,c,f;Oe&&!s.selector&&(s.selector=Oe.selector),this.contexts.push(s),n=s.add("onMatch",n),s.queries=r;for(c in r)c==="all"?f=1:(l=ir.matchMedia(r[c]),l&&(Hr.indexOf(s)<0&&Hr.push(s),(a[c]=l.matches)&&(f=1),l.addListener?l.addListener(Ki):l.addEventListener("change",Ki)));return f&&n(s,function(d){return s.add(null,d)}),this},e.revert=function(r){this.kill(r||{})},e.kill=function(r){this.contexts.forEach(function(n){return n.kill(r,!0)})},o})(),li={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.forEach(function(n){return qo(n)})},timeline:function(e){return new ft(e)},getTweensOf:function(e,t){return Ie.getTweensOf(e,t)},getProperty:function(e,t,r,n){et(e)&&(e=$t(e)[0]);var i=Ar(e||{}).get,s=r?Vo:Eo;return r==="native"&&(r=""),e&&(t?s((kt[t]&&kt[t].get||i)(e,t,r,n)):function(a,l,c){return s((kt[a]&&kt[a].get||i)(e,a,l,c))})},quickSetter:function(e,t,r){if(e=$t(e),e.length>1){var n=e.map(function(f){return ht.quickSetter(f,t,r)}),i=n.length;return function(f){for(var d=i;d--;)n[d](f)}}e=e[0]||{};var s=kt[t],a=Ar(e),l=a.harness&&(a.harness.aliases||{})[t]||t,c=s?function(f){var d=new s;on._pt=0,d.init(e,r?f+r:f,on,0,[e]),d.render(1,d),on._pt&&ga(1,on)}:a.set(e,l);return s?c:function(f){return c(e,l,r?f+r:f,a,1)}},quickTo:function(e,t,r){var n,i=ht.to(e,Xt((n={},n[t]="+=0.1",n.paused=!0,n.stagger=0,n),r||{})),s=function(l,c,f){return i.resetTo(t,l,c,f)};return s.tween=i,s},isTweening:function(e){return Ie.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=$r(e.ease,Ln.ease)),vo(Ln,e||{})},config:function(e){return vo(St,e||{})},registerEffect:function(e){var t=e.name,r=e.effect,n=e.plugins,i=e.defaults,s=e.extendTimeline;(n||"").split(",").forEach(function(a){return a&&!kt[a]&&!Gt[a]&&Fn(t+" effect requires "+a+" plugin.")}),Ei[t]=function(a,l,c){return r($t(a),Xt(l||{},i),c)},s&&(ft.prototype[t]=function(a,l,c){return this.add(Ei[t](a,or(l)?l:(c=l)&&{},this),c)})},registerEase:function(e,t){ne[e]=$r(t)},parseEase:function(e,t){return arguments.length?$r(e,t):ne},getById:function(e){return Ie.getById(e)},exportRoot:function(e,t){e===void 0&&(e={});var r=new ft(e),n,i;for(r.smoothChildTiming=Pt(e.smoothChildTiming),Ie.remove(r),r._dp=0,r._time=r._tTime=Ie._time,n=Ie._first;n;)i=n._next,(t||!(!n._dur&&n instanceof Ze&&n.vars.onComplete===n._targets[0]))&&ar(r,n,n._start-n._delay),n=i;return ar(Ie,r,0),r},context:function(e,t){return e?new as(e,t):Oe},matchMedia:function(e){return new au(e)},matchMediaRefresh:function(){return Hr.forEach(function(e){var t=e.conditions,r,n;for(n in t)t[n]&&(t[n]=!1,r=1);r&&e.revert()})||Ki()},addEventListener:function(e,t){var r=ni[e]||(ni[e]=[]);~r.indexOf(t)||r.push(t)},removeEventListener:function(e,t){var r=ni[e],n=r&&r.indexOf(t);n>=0&&r.splice(n,1)},utils:{wrap:zl,wrapYoyo:El,distribute:Zo,random:jo,snap:Wo,normalize:Il,getUnit:lt,clamp:Ol,splitColor:Ko,toArray:$t,selector:Hi,mapRange:Ho,pipe:Ll,unitize:Fl,interpolate:Vl,shuffle:No},install:Lo,effects:Ei,ticker:Mt,updateRoot:ft.updateRoot,plugins:kt,globalTimeline:Ie,core:{PropTween:bt,globals:Fo,Tween:Ze,Timeline:ft,Animation:En,getCache:Ar,_removeLinkedListItem:fi,reverting:function(){return st},context:function(e){return e&&Oe&&(Oe.data.push(e),e._ctx=Oe),Oe},suppressOverwrites:function(e){return Ji=e}}};_t("to,from,fromTo,delayedCall,set,killTweensOf",function(o){return li[o]=Ze[o]});Mt.add(ft.updateRoot);on=li.to({},{duration:0});var ou=function(e,t){for(var r=e._pt;r&&r.p!==t&&r.op!==t&&r.fp!==t;)r=r._next;return r},su=function(e,t){var r=e._targets,n,i,s;for(n in t)for(i=r.length;i--;)s=e._ptLookup[i][n],s&&(s=s.d)&&(s._pt&&(s=ou(s,n)),s&&s.modifier&&s.modifier(t[n],e,r[i],n))},Xi=function(e,t){return{name:e,headless:1,rawVars:1,init:function(n,i,s){s._onInit=function(a){var l,c;if(et(i)&&(l={},_t(i,function(f){return l[f]=1}),i=l),t){l={};for(c in i)l[c]=t(i[c]);i=l}su(a,i)}}}},ht=li.registerPlugin({name:"attr",init:function(e,t,r,n,i){var s,a,l;this.tween=r;for(s in t)l=e.getAttribute(s)||"",a=this.add(e,"setAttribute",(l||0)+"",t[s],n,i,0,0,s),a.op=s,a.b=l,this._props.push(s)},render:function(e,t){for(var r=t._pt;r;)st?r.set(r.t,r.p,r.b,r):r.r(e,r.d),r=r._next}},{name:"endArray",headless:1,init:function(e,t){for(var r=t.length;r--;)this.add(e,r,e[r]||0,t[r],0,0,0,0,0,1)}},Xi("roundProps",Qi),Xi("modifiers"),Xi("snap",Wo))||li;Ze.version=ft.version=ht.version="3.15.0";Ao=1;ea()&&cn();var lu=ne.Power0,uu=ne.Power1,cu=ne.Power2,fu=ne.Power3,du=ne.Power4,hu=ne.Linear,mu=ne.Quad,pu=ne.Cubic,gu=ne.Quart,yu=ne.Quint,_u=ne.Strong,bu=ne.Elastic,xu=ne.Back,wu=ne.SteppedEase,Tu=ne.Bounce,vu=ne.Sine,ku=ne.Expo,Mu=ne.Circ;_e();var os,Ir,hn,va,rn,Pu,ss,ka,Su=function(){return typeof window<"u"},kr={},tn=180/Math.PI,mn=Math.PI/180,dn=Math.atan2,ls=1e8,Ma=/([A-Z])/g,Du=/(left|right|width|margin|padding|x)/i,Ru=/[\s,\(]\S/,sr={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},ba=function(e,t){return t.set(t.t,t.p,Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Cu=function(e,t){return t.set(t.t,t.p,e===1?t.e:Math.round((t.s+t.c*e)*1e4)/1e4+t.u,t)},Ou=function(e,t){return t.set(t.t,t.p,e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Au=function(e,t){return t.set(t.t,t.p,e===1?t.e:e?Math.round((t.s+t.c*e)*1e4)/1e4+t.u:t.b,t)},Lu=function(e,t){var r=t.s+t.c*e;t.set(t.t,t.p,~~(r+(r<0?-.5:.5))+t.u,t)},gs=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},ys=function(e,t){return t.set(t.t,t.p,e!==1?t.b:t.e,t)},Fu=function(e,t,r){return e.style[t]=r},Iu=function(e,t,r){return e.style.setProperty(t,r)},zu=function(e,t,r){return e._gsap[t]=r},Eu=function(e,t,r){return e._gsap.scaleX=e._gsap.scaleY=r},Vu=function(e,t,r,n,i){var s=e._gsap;s.scaleX=s.scaleY=r,s.renderTransform(i,s)},Bu=function(e,t,r,n,i){var s=e._gsap;s[t]=r,s.renderTransform(i,s)},ze="transform",Dt=ze+"Origin",Yu=function o(e,t){var r=this,n=this.target,i=n.style,s=n._gsap;if(e in kr&&i){if(this.tfm=this.tfm||{},e!=="transform")e=sr[e]||e,~e.indexOf(",")?e.split(",").forEach(function(a){return r.tfm[a]=vr(n,a)}):this.tfm[e]=s.x?s[e]:vr(n,e),e===Dt&&(this.tfm.zOrigin=s.zOrigin);else return sr.transform.split(",").forEach(function(a){return o.call(r,a,t)});if(this.props.indexOf(ze)>=0)return;s.svg&&(this.svgo=n.getAttribute("data-svg-origin"),this.props.push(Dt,t,"")),e=ze}(i||t)&&this.props.push(e,t,i[e])},_s=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},Gu=function(){var e=this.props,t=this.target,r=t.style,n=t._gsap,i,s;for(i=0;i<e.length;i+=3)e[i+1]?e[i+1]===2?t[e[i]](e[i+2]):t[e[i]]=e[i+2]:e[i+2]?r[e[i]]=e[i+2]:r.removeProperty(e[i].substr(0,2)==="--"?e[i]:e[i].replace(Ma,"-$1").toLowerCase());if(this.tfm){for(s in this.tfm)n[s]=this.tfm[s];n.svg&&(n.renderTransform(),t.setAttribute("data-svg-origin",this.svgo||"")),i=ka(),(!i||!i.isStart)&&!r[ze]&&(_s(r),n.zOrigin&&r[Dt]&&(r[Dt]+=" "+n.zOrigin+"px",n.zOrigin=0,n.renderTransform()),n.uncache=1)}},bs=function(e,t){var r={target:e,props:[],revert:Gu,save:Yu};return e._gsap||ht.core.getCache(e),t&&e.style&&e.nodeType&&t.split(",").forEach(function(n){return r.save(n)}),r},xs,xa=function(e,t){var r=Ir.createElementNS?Ir.createElementNS((t||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):Ir.createElement(e);return r&&r.style?r:Ir.createElement(e)},Ut=function o(e,t,r){var n=getComputedStyle(e);return n[t]||n.getPropertyValue(t.replace(Ma,"-$1").toLowerCase())||n.getPropertyValue(t)||!r&&o(e,pn(t)||t,1)||""},us="O,Moz,ms,Ms,Webkit".split(","),pn=function(e,t,r){var n=t||rn,i=n.style,s=5;if(e in i&&!r)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);s--&&!(us[s]+e in i););return s<0?null:(s===3?"ms":s>=0?us[s]:"")+e},wa=function(){Su()&&window.document&&(os=window,Ir=os.document,hn=Ir.documentElement,rn=xa("div")||{style:{}},Pu=xa("div"),ze=pn(ze),Dt=ze+"Origin",rn.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",xs=!!pn("perspective"),ka=ht.core.reverting,va=1)},cs=function(e){var t=e.ownerSVGElement,r=xa("svg",t&&t.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),n=e.cloneNode(!0),i;n.style.display="block",r.appendChild(n),hn.appendChild(r);try{i=n.getBBox()}catch{}return r.removeChild(n),hn.removeChild(r),i},fs=function(e,t){for(var r=t.length;r--;)if(e.hasAttribute(t[r]))return e.getAttribute(t[r])},ws=function(e){var t,r;try{t=e.getBBox()}catch{t=cs(e),r=1}return t&&(t.width||t.height)||r||(t=cs(e)),t&&!t.width&&!t.x&&!t.y?{x:+fs(e,["x","cx","x1"])||0,y:+fs(e,["y","cy","y1"])||0,width:0,height:0}:t},Ts=function(e){return!!(e.getCTM&&(!e.parentNode||e.ownerSVGElement)&&ws(e))},Er=function(e,t){if(t){var r=e.style,n;t in kr&&t!==Dt&&(t=ze),r.removeProperty?(n=t.substr(0,2),(n==="ms"||t.substr(0,6)==="webkit")&&(t="-"+t),r.removeProperty(n==="--"?t:t.replace(Ma,"-$1").toLowerCase())):r.removeAttribute(t)}},zr=function(e,t,r,n,i,s){var a=new bt(e._pt,t,r,0,1,s?ys:gs);return e._pt=a,a.b=n,a.e=i,e._props.push(r),a},ds={deg:1,rad:1,turn:1},Xu={grid:1,flex:1},Vr=function o(e,t,r,n){var i=parseFloat(r)||0,s=(r+"").trim().substr((i+"").length)||"px",a=rn.style,l=Du.test(t),c=e.tagName.toLowerCase()==="svg",f=(c?"client":"offset")+(l?"Width":"Height"),d=100,g=n==="px",y=n==="%",_,h,x,w;if(n===s||!i||ds[n]||ds[s])return i;if(s!=="px"&&!g&&(i=o(e,t,r,"px")),w=e.getCTM&&Ts(e),(y||s==="%")&&(kr[t]||~t.indexOf("adius")))return _=w?e.getBBox()[l?"width":"height"]:e[f],Be(y?i/_*d:i/100*_);if(a[l?"width":"height"]=d+(g?s:n),h=n!=="rem"&&~t.indexOf("adius")||n==="em"&&e.appendChild&&!c?e:e.parentNode,w&&(h=(e.ownerSVGElement||{}).parentNode),(!h||h===Ir||!h.appendChild)&&(h=Ir.body),x=h._gsap,x&&y&&x.width&&l&&x.time===Mt.time&&!x.uncache)return Be(i/x.width*d);if(y&&(t==="height"||t==="width")){var v=e.style[t];e.style[t]=d+n,_=e[f],v?e.style[t]=v:Er(e,t)}else(y||s==="%")&&!Xu[Ut(h,"display")]&&(a.position=Ut(e,"position")),h===e&&(a.position="static"),h.appendChild(rn),_=rn[f],h.removeChild(rn),a.position="absolute";return l&&y&&(x=Ar(h),x.time=Mt.time,x.width=h[f]),Be(g?_*i/d:_&&i?d/_*i:0)},vr=function(e,t,r,n){var i;return va||wa(),t in sr&&t!=="transform"&&(t=sr[t],~t.indexOf(",")&&(t=t.split(",")[0])),kr[t]&&t!=="transform"?(i=Gn(e,n),i=t!=="transformOrigin"?i[t]:i.svg?i.origin:gi(Ut(e,Dt))+" "+i.zOrigin+"px"):(i=e.style[t],(!i||i==="auto"||n||~(i+"").indexOf("calc("))&&(i=pi[t]&&pi[t](e,t,r)||Ut(e,t)||sa(e,t)||(t==="opacity"?1:0))),r&&!~(i+"").trim().indexOf(" ")?Vr(e,t,i,r)+r:i},Uu=function(e,t,r,n){if(!r||r==="none"){var i=pn(t,e,1),s=i&&Ut(e,i,1);s&&s!==r?(t=i,r=s):t==="borderColor"&&(r=Ut(e,"borderTopColor"))}var a=new bt(this._pt,e.style,t,0,1,pa),l=0,c=0,f,d,g,y,_,h,x,w,v,b,M,T;if(a.b=r,a.e=n,r+="",n+="",n.substring(0,6)==="var(--"&&(n=Ut(e,n.substring(4,n.indexOf(")")))),n==="auto"&&(h=e.style[t],e.style[t]=n,n=Ut(e,t)||n,h?e.style[t]=h:Er(e,t)),f=[r,n],ua(f),r=f[0],n=f[1],g=r.match(Qr)||[],T=n.match(Qr)||[],T.length){for(;d=Qr.exec(n);)x=d[0],v=n.substring(l,d.index),_?_=(_+1)%5:(v.substr(-5)==="rgba("||v.substr(-5)==="hsla(")&&(_=1),x!==(h=g[c++]||"")&&(y=parseFloat(h)||0,M=h.substr((y+"").length),x.charAt(1)==="="&&(x=qr(y,x)+M),w=parseFloat(x),b=x.substr((w+"").length),l=Qr.lastIndex-b.length,b||(b=b||St.units[t]||M,l===n.length&&(n+=b,a.e+=b)),M!==b&&(y=Vr(e,t,h,b)||0),a._pt={_next:a._pt,p:v||c===1?v:",",s:y,c:w-y,m:_&&_<4||t==="zIndex"?Math.round:0});a.c=l<n.length?n.substring(l,n.length):""}else a.r=t==="display"&&n==="none"?ys:gs;return ra.test(n)&&(a.e=0),this._pt=a,a},hs={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},Nu=function(e){var t=e.split(" "),r=t[0],n=t[1]||"50%";return(r==="top"||r==="bottom"||n==="left"||n==="right")&&(e=r,r=n,n=e),t[0]=hs[r]||r,t[1]=hs[n]||n,t.join(" ")},Zu=function(e,t){if(t.tween&&t.tween._time===t.tween._dur){var r=t.t,n=r.style,i=t.u,s=r._gsap,a,l,c;if(i==="all"||i===!0)n.cssText="",l=1;else for(i=i.split(","),c=i.length;--c>-1;)a=i[c],kr[a]&&(l=1,a=a==="transformOrigin"?Dt:ze),Er(r,a);l&&(Er(r,ze),s&&(s.svg&&r.removeAttribute("transform"),n.scale=n.rotate=n.translate="none",Gn(r,1),s.uncache=1,_s(n)))}},pi={clearProps:function(e,t,r,n,i){if(i.data!=="isFromStart"){var s=e._pt=new bt(e._pt,t,r,0,0,Zu);return s.u=n,s.pr=-10,s.tween=i,e._props.push(r),1}}},Yn=[1,0,0,1,0,0],vs={},ks=function(e){return e==="matrix(1, 0, 0, 1, 0, 0)"||e==="none"||!e},ms=function(e){var t=Ut(e,ze);return ks(t)?Yn:t.substr(7).match(ta).map(Be)},Pa=function(e,t){var r=e._gsap||Ar(e),n=e.style,i=ms(e),s,a,l,c;return r.svg&&e.getAttribute("transform")?(l=e.transform.baseVal.consolidate().matrix,i=[l.a,l.b,l.c,l.d,l.e,l.f],i.join(",")==="1,0,0,1,0,0"?Yn:i):(i===Yn&&!e.offsetParent&&e!==hn&&!r.svg&&(l=n.display,n.display="block",s=e.parentNode,(!s||!e.offsetParent&&!e.getBoundingClientRect().width)&&(c=1,a=e.nextElementSibling,hn.appendChild(e)),i=ms(e),l?n.display=l:Er(e,"display"),c&&(a?s.insertBefore(e,a):s?s.appendChild(e):hn.removeChild(e))),t&&i.length>6?[i[0],i[1],i[4],i[5],i[12],i[13]]:i)},Ta=function(e,t,r,n,i,s){var a=e._gsap,l=i||Pa(e,!0),c=a.xOrigin||0,f=a.yOrigin||0,d=a.xOffset||0,g=a.yOffset||0,y=l[0],_=l[1],h=l[2],x=l[3],w=l[4],v=l[5],b=t.split(" "),M=parseFloat(b[0])||0,T=parseFloat(b[1])||0,m,k,S,P;r?l!==Yn&&(k=y*x-_*h)&&(S=M*(x/k)+T*(-h/k)+(h*v-x*w)/k,P=M*(-_/k)+T*(y/k)-(y*v-_*w)/k,M=S,T=P):(m=ws(e),M=m.x+(~b[0].indexOf("%")?M/100*m.width:M),T=m.y+(~(b[1]||b[0]).indexOf("%")?T/100*m.height:T)),n||n!==!1&&a.smooth?(w=M-c,v=T-f,a.xOffset=d+(w*y+v*h)-w,a.yOffset=g+(w*_+v*x)-v):a.xOffset=a.yOffset=0,a.xOrigin=M,a.yOrigin=T,a.smooth=!!n,a.origin=t,a.originIsAbsolute=!!r,e.style[Dt]="0px 0px",s&&(zr(s,a,"xOrigin",c,M),zr(s,a,"yOrigin",f,T),zr(s,a,"xOffset",d,a.xOffset),zr(s,a,"yOffset",g,a.yOffset)),e.setAttribute("data-svg-origin",M+" "+T)},Gn=function(e,t){var r=e._gsap||new ca(e);if("x"in r&&!t&&!r.uncache)return r;var n=e.style,i=r.scaleX<0,s="px",a="deg",l=getComputedStyle(e),c=Ut(e,Dt)||"0",f,d,g,y,_,h,x,w,v,b,M,T,m,k,S,P,L,Y,re,J,K,Ye,Ae,xe,Rt,lr,rr,Mr,ur,Yr,Ct,Ht;return f=d=g=h=x=w=v=b=M=0,y=_=1,r.svg=!!(e.getCTM&&Ts(e)),l.translate&&((l.translate!=="none"||l.scale!=="none"||l.rotate!=="none")&&(n[ze]=(l.translate!=="none"?"translate3d("+(l.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(l.rotate!=="none"?"rotate("+l.rotate+") ":"")+(l.scale!=="none"?"scale("+l.scale.split(" ").join(",")+") ":"")+(l[ze]!=="none"?l[ze]:"")),n.scale=n.rotate=n.translate="none"),k=Pa(e,r.svg),r.svg&&(r.uncache?(Rt=e.getBBox(),c=r.xOrigin-Rt.x+"px "+(r.yOrigin-Rt.y)+"px",xe=""):xe=!t&&e.getAttribute("data-svg-origin"),Ta(e,xe||c,!!xe||r.originIsAbsolute,r.smooth!==!1,k)),T=r.xOrigin||0,m=r.yOrigin||0,k!==Yn&&(Y=k[0],re=k[1],J=k[2],K=k[3],f=Ye=k[4],d=Ae=k[5],k.length===6?(y=Math.sqrt(Y*Y+re*re),_=Math.sqrt(K*K+J*J),h=Y||re?dn(re,Y)*tn:0,v=J||K?dn(J,K)*tn+h:0,v&&(_*=Math.abs(Math.cos(v*mn))),r.svg&&(f-=T-(T*Y+m*J),d-=m-(T*re+m*K))):(Ht=k[6],Yr=k[7],rr=k[8],Mr=k[9],ur=k[10],Ct=k[11],f=k[12],d=k[13],g=k[14],S=dn(Ht,ur),x=S*tn,S&&(P=Math.cos(-S),L=Math.sin(-S),xe=Ye*P+rr*L,Rt=Ae*P+Mr*L,lr=Ht*P+ur*L,rr=Ye*-L+rr*P,Mr=Ae*-L+Mr*P,ur=Ht*-L+ur*P,Ct=Yr*-L+Ct*P,Ye=xe,Ae=Rt,Ht=lr),S=dn(-J,ur),w=S*tn,S&&(P=Math.cos(-S),L=Math.sin(-S),xe=Y*P-rr*L,Rt=re*P-Mr*L,lr=J*P-ur*L,Ct=K*L+Ct*P,Y=xe,re=Rt,J=lr),S=dn(re,Y),h=S*tn,S&&(P=Math.cos(S),L=Math.sin(S),xe=Y*P+re*L,Rt=Ye*P+Ae*L,re=re*P-Y*L,Ae=Ae*P-Ye*L,Y=xe,Ye=Rt),x&&Math.abs(x)+Math.abs(h)>359.9&&(x=h=0,w=180-w),y=Be(Math.sqrt(Y*Y+re*re+J*J)),_=Be(Math.sqrt(Ae*Ae+Ht*Ht)),S=dn(Ye,Ae),v=Math.abs(S)>2e-4?S*tn:0,M=Ct?1/(Ct<0?-Ct:Ct):0),r.svg&&(xe=e.getAttribute("transform"),r.forceCSS=e.setAttribute("transform","")||!ks(Ut(e,ze)),xe&&e.setAttribute("transform",xe))),Math.abs(v)>90&&Math.abs(v)<270&&(i?(y*=-1,v+=h<=0?180:-180,h+=h<=0?180:-180):(_*=-1,v+=v<=0?180:-180)),t=t||r.uncache,r.x=f-((r.xPercent=f&&(!t&&r.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-f)?-50:0)))?e.offsetWidth*r.xPercent/100:0)+s,r.y=d-((r.yPercent=d&&(!t&&r.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-d)?-50:0)))?e.offsetHeight*r.yPercent/100:0)+s,r.z=g+s,r.scaleX=Be(y),r.scaleY=Be(_),r.rotation=Be(h)+a,r.rotationX=Be(x)+a,r.rotationY=Be(w)+a,r.skewX=v+a,r.skewY=b+a,r.transformPerspective=M+s,(r.zOrigin=parseFloat(c.split(" ")[2])||!t&&r.zOrigin||0)&&(n[Dt]=gi(c)),r.xOffset=r.yOffset=0,r.force3D=St.force3D,r.renderTransform=r.svg?ju:xs?Ms:Wu,r.uncache=0,r},gi=function(e){return(e=e.split(" "))[0]+" "+e[1]},_a=function(e,t,r){var n=lt(t);return Be(parseFloat(t)+parseFloat(Vr(e,"x",r+"px",n)))+n},Wu=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,Ms(e,t)},Jr="0deg",Bn="0px",en=") ",Ms=function(e,t){var r=t||this,n=r.xPercent,i=r.yPercent,s=r.x,a=r.y,l=r.z,c=r.rotation,f=r.rotationY,d=r.rotationX,g=r.skewX,y=r.skewY,_=r.scaleX,h=r.scaleY,x=r.transformPerspective,w=r.force3D,v=r.target,b=r.zOrigin,M="",T=w==="auto"&&e&&e!==1||w===!0;if(b&&(d!==Jr||f!==Jr)){var m=parseFloat(f)*mn,k=Math.sin(m),S=Math.cos(m),P;m=parseFloat(d)*mn,P=Math.cos(m),s=_a(v,s,k*P*-b),a=_a(v,a,-Math.sin(m)*-b),l=_a(v,l,S*P*-b+b)}x!==Bn&&(M+="perspective("+x+en),(n||i)&&(M+="translate("+n+"%, "+i+"%) "),(T||s!==Bn||a!==Bn||l!==Bn)&&(M+=l!==Bn||T?"translate3d("+s+", "+a+", "+l+") ":"translate("+s+", "+a+en),c!==Jr&&(M+="rotate("+c+en),f!==Jr&&(M+="rotateY("+f+en),d!==Jr&&(M+="rotateX("+d+en),(g!==Jr||y!==Jr)&&(M+="skew("+g+", "+y+en),(_!==1||h!==1)&&(M+="scale("+_+", "+h+en),v.style[ze]=M||"translate(0, 0)"},ju=function(e,t){var r=t||this,n=r.xPercent,i=r.yPercent,s=r.x,a=r.y,l=r.rotation,c=r.skewX,f=r.skewY,d=r.scaleX,g=r.scaleY,y=r.target,_=r.xOrigin,h=r.yOrigin,x=r.xOffset,w=r.yOffset,v=r.forceCSS,b=parseFloat(s),M=parseFloat(a),T,m,k,S,P;l=parseFloat(l),c=parseFloat(c),f=parseFloat(f),f&&(f=parseFloat(f),c+=f,l+=f),l||c?(l*=mn,c*=mn,T=Math.cos(l)*d,m=Math.sin(l)*d,k=Math.sin(l-c)*-g,S=Math.cos(l-c)*g,c&&(f*=mn,P=Math.tan(c-f),P=Math.sqrt(1+P*P),k*=P,S*=P,f&&(P=Math.tan(f),P=Math.sqrt(1+P*P),T*=P,m*=P)),T=Be(T),m=Be(m),k=Be(k),S=Be(S)):(T=d,S=g,m=k=0),(b&&!~(s+"").indexOf("px")||M&&!~(a+"").indexOf("px"))&&(b=Vr(y,"x",s,"px"),M=Vr(y,"y",a,"px")),(_||h||x||w)&&(b=Be(b+_-(_*T+h*k)+x),M=Be(M+h-(_*m+h*S)+w)),(n||i)&&(P=y.getBBox(),b=Be(b+n/100*P.width),M=Be(M+i/100*P.height)),P="matrix("+T+","+m+","+k+","+S+","+b+","+M+")",y.setAttribute("transform",P),v&&(y.style[ze]=P)},$u=function(e,t,r,n,i){var s=360,a=et(i),l=parseFloat(i)*(a&&~i.indexOf("rad")?tn:1),c=l-n,f=n+c+"deg",d,g;return a&&(d=i.split("_")[1],d==="short"&&(c%=s,c!==c%(s/2)&&(c+=c<0?s:-s)),d==="cw"&&c<0?c=(c+s*ls)%s-~~(c/s)*s:d==="ccw"&&c>0&&(c=(c-s*ls)%s-~~(c/s)*s)),e._pt=g=new bt(e._pt,t,r,n,c,Cu),g.e=f,g.u="deg",e._props.push(r),g},ps=function(e,t){for(var r in t)e[r]=t[r];return e},Hu=function(e,t,r){var n=ps({},r._gsap),i="perspective,force3D,transformOrigin,svgOrigin",s=r.style,a,l,c,f,d,g,y,_;n.svg?(c=r.getAttribute("transform"),r.setAttribute("transform",""),s[ze]=t,a=Gn(r,1),Er(r,ze),r.setAttribute("transform",c)):(c=getComputedStyle(r)[ze],s[ze]=t,a=Gn(r,1),s[ze]=c);for(l in kr)c=n[l],f=a[l],c!==f&&i.indexOf(l)<0&&(y=lt(c),_=lt(f),d=y!==_?Vr(r,l,c,_):parseFloat(c),g=parseFloat(f),e._pt=new bt(e._pt,a,l,d,g-d,ba),e._pt.u=_||0,e._props.push(l));ps(a,n)};_t("padding,margin,Width,Radius",function(o,e){var t="Top",r="Right",n="Bottom",i="Left",s=(e<3?[t,r,n,i]:[t+i,t+r,n+r,n+i]).map(function(a){return e<2?o+a:"border"+a+o});pi[e>1?"border"+o:o]=function(a,l,c,f,d){var g,y;if(arguments.length<4)return g=s.map(function(_){return vr(a,_,c)}),y=g.join(" "),y.split(g[0]).length===5?g[0]:y;g=(f+"").split(" "),y={},s.forEach(function(_,h){return y[_]=g[h]=g[h]||g[(h-1)/2|0]}),a.init(l,y,d)}});var Sa={name:"css",register:wa,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,r,n,i){var s=this._props,a=e.style,l=r.vars.startAt,c,f,d,g,y,_,h,x,w,v,b,M,T,m,k,S,P;va||wa(),this.styles=this.styles||bs(e),S=this.styles.props,this.tween=r;for(h in t)if(h!=="autoRound"&&(f=t[h],!(kt[h]&&da(h,t,r,n,e,i)))){if(y=typeof f,_=pi[h],y==="function"&&(f=f.call(r,n,e,i),y=typeof f),y==="string"&&~f.indexOf("random(")&&(f=fn(f)),_)_(this,e,h,f,r)&&(k=1);else if(h.substr(0,2)==="--")c=(getComputedStyle(e).getPropertyValue(h)+"").trim(),f+="",wr.lastIndex=0,wr.test(c)||(x=lt(c),w=lt(f),w?x!==w&&(c=Vr(e,h,c,w)+w):x&&(f+=x)),this.add(a,"setProperty",c,f,n,i,0,0,h),s.push(h),S.push(h,0,a[h]);else if(y!=="undefined"){if(l&&h in l?(c=typeof l[h]=="function"?l[h].call(r,n,e,i):l[h],et(c)&&~c.indexOf("random(")&&(c=fn(c)),lt(c+"")||c==="auto"||(c+=St.units[h]||lt(vr(e,h))||""),(c+"").charAt(1)==="="&&(c=vr(e,h))):c=vr(e,h),g=parseFloat(c),v=y==="string"&&f.charAt(1)==="="&&f.substr(0,2),v&&(f=f.substr(2)),d=parseFloat(f),h in sr&&(h==="autoAlpha"&&(g===1&&vr(e,"visibility")==="hidden"&&d&&(g=0),S.push("visibility",0,a.visibility),zr(this,a,"visibility",g?"inherit":"hidden",d?"inherit":"hidden",!d)),h!=="scale"&&h!=="transform"&&(h=sr[h],~h.indexOf(",")&&(h=h.split(",")[0]))),b=h in kr,b){if(this.styles.save(h),P=f,y==="string"&&f.substring(0,6)==="var(--"){if(f=Ut(e,f.substring(4,f.indexOf(")"))),f.substring(0,5)==="calc("){var L=e.style.perspective;e.style.perspective=f,f=Ut(e,"perspective"),L?e.style.perspective=L:Er(e,"perspective")}d=parseFloat(f)}if(M||(T=e._gsap,T.renderTransform&&!t.parseTransform||Gn(e,t.parseTransform),m=t.smoothOrigin!==!1&&T.smooth,M=this._pt=new bt(this._pt,a,ze,0,1,T.renderTransform,T,0,-1),M.dep=1),h==="scale")this._pt=new bt(this._pt,T,"scaleY",T.scaleY,(v?qr(T.scaleY,v+d):d)-T.scaleY||0,ba),this._pt.u=0,s.push("scaleY",h),h+="X";else if(h==="transformOrigin"){S.push(Dt,0,a[Dt]),f=Nu(f),T.svg?Ta(e,f,0,m,0,this):(w=parseFloat(f.split(" ")[2])||0,w!==T.zOrigin&&zr(this,T,"zOrigin",T.zOrigin,w),zr(this,a,h,gi(c),gi(f)));continue}else if(h==="svgOrigin"){Ta(e,f,1,m,0,this);continue}else if(h in vs){$u(this,T,h,g,v?qr(g,v+f):f);continue}else if(h==="smoothOrigin"){zr(this,T,"smooth",T.smooth,f);continue}else if(h==="force3D"){T[h]=f;continue}else if(h==="transform"){Hu(this,f,e);continue}}else h in a||(h=pn(h)||h);if(b||(d||d===0)&&(g||g===0)&&!Ru.test(f)&&h in a)x=(c+"").substr((g+"").length),d||(d=0),w=lt(f)||(h in St.units?St.units[h]:x),x!==w&&(g=Vr(e,h,c,w)),this._pt=new bt(this._pt,b?T:a,h,g,(v?qr(g,v+d):d)-g,!b&&(w==="px"||h==="zIndex")&&t.autoRound!==!1?Lu:ba),this._pt.u=w||0,b&&P!==f?(this._pt.b=c,this._pt.e=P,this._pt.r=Au):x!==w&&w!=="%"&&(this._pt.b=c,this._pt.r=Ou);else if(h in a)Uu.call(this,e,h,c,v?v+f:f);else if(h in e)this.add(e,h,c||e[h],v?v+f:f,n,i);else if(h!=="parseTransform"){ci(h,f);continue}b||(h in a?S.push(h,0,a[h]):typeof e[h]=="function"?S.push(h,2,e[h]()):S.push(h,1,c||e[h])),s.push(h)}}k&&ya(this)},render:function(e,t){if(t.tween._time||!ka())for(var r=t._pt;r;)r.r(e,r.d),r=r._next;else t.styles.revert()},get:vr,aliases:sr,getSetter:function(e,t,r){var n=sr[t];return n&&n.indexOf(",")<0&&(t=n),t in kr&&t!==Dt&&(e._gsap.x||vr(e,"x"))?r&&ss===r?t==="scale"?Eu:zu:(ss=r||{})&&(t==="scale"?Vu:Bu):e.style&&!ui(e.style[t])?Fu:~t.indexOf("-")?Iu:mi(e,t)},core:{_removeProperty:Er,_getMatrix:Pa}};ht.utils.checkPrefix=pn;ht.core.getStyleSaver=bs;(function(o,e,t,r){var n=_t(o+","+e+","+t,function(i){kr[i]=1});_t(e,function(i){St.units[i]="deg",vs[i]=1}),sr[n[13]]=o+","+e,_t(r,function(i){var s=i.split(":");sr[s[1]]=n[s[0]]})})("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");_t("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(o){St.units[o]="px"});ht.registerPlugin(Sa);var gn=ht.registerPlugin(Sa)||ht,Bc=gn.core.Tween;_e();function Ps(o,e,t,r,n){if(n<=0)return 0;if(n>=1)return 1;if(o===e&&t===r)return n;let i=n;for(let c=0;c<8;c++){let f=1-i,d=f*f,g=i*i,_=3*d*i*o+3*f*g*t+g*i-n;if(Math.abs(_)<1e-6)break;let h=3*d*o+6*f*i*(t-o)+3*g*(1-t);if(Math.abs(h)<1e-6)break;i-=_/h,i=Math.max(0,Math.min(1,i))}let s=1-i,a=3*s*s*i*o+3*s*i*i*t+i*i*i;if(Math.abs(a-n)>.001){let c=0,f=1;i=n;for(let d=0;d<16;d++){let g=(c+f)*.5,y=1-g,_=3*y*y*g*o+3*y*g*g*t+g*g*g;if(Math.abs(_-n)<1e-5){i=g;break}_<n?c=g:f=g,i=g}}let l=1-i;return 3*l*l*i*e+3*l*i*i*r+i*i*i}var Ra=gn.timeline?gn:gn.default||gn;function Qu(o){return(e,t,r)=>{let n=Da(e,t,o),i=typeof n=="function"?n:Ra.parseEase(n);return i?i(r):r}}function Rs(o,e,t,r){return(o.track.source??{type:"keyframe"}).type==="keyframe"?yo(o.track,e-o.startFrame,Qu(t)):Pn(o.track,e,t,{startFrame:o.startFrame,baseValues:o.stub,signals:r})}function Br(o,e,t){o.tl.seek(e/t);for(let r of o.live){let n=Math.max(r.startFrame,Math.min(r.endFrame,e));r.step&&r.step>1&&(n=r.startFrame+Math.floor((n-r.startFrame)/r.step)*r.step),r.stub[r.track.prop]=Rs(r,n,t,o.signals)}}var yn=new Map,Ss=new WeakMap,Ca=1e4,qu=50,Ku=50;function Oa(o){let e=2166136261;for(let t=0;t<o.length;t++)e^=o.charCodeAt(t),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24);return(e>>>0).toString(16)}var Ds=new WeakMap,Ju=0;function ec(o){return!o||typeof o!="object"?_n(o):Object.keys(o).sort().map(e=>{let t=o[e];if(t&&typeof t=="object"&&typeof t.get=="function"){let r=Ds.get(t);return r===void 0&&(r=Ju++,Ds.set(t,r)),`${JSON.stringify(e)}:#${r}`}return`${JSON.stringify(e)}:${_n(t)}`}).join(",")}function bi(o){o.tl.kill()}function Cs(o,e){let t=Date.now();for(let[r,n]of o.entries())t-n.cacheTime>Ca&&(o.delete(r),bi(n.value));if(o.size>=e){let r=o.keys().next().value;if(r!==void 0){let n=o.get(r);o.delete(r),n&&bi(n.value)}}}function _n(o){return o===null?"null":o===void 0?"undefined":typeof o!="object"?JSON.stringify(o):ArrayBuffer.isView(o)?`[TypedArray:${o.byteLength}]`:Array.isArray(o)?"["+o.map(_n).join(",")+"]":"{"+Object.keys(o).sort().map(r=>`${JSON.stringify(r)}:${_n(o[r])}`).join(",")+"}"}function tc(o){let e=yn.get(o);if(e){if(Date.now()-e.cacheTime>Ca){yn.delete(o),bi(e.value);return}return e.cacheTime=Date.now(),yn.delete(o),yn.set(o,e),e.value}}function rc(o,e){Cs(yn,qu),yn.set(o,{cacheTime:Date.now(),value:e})}function Da(o,e,t=24){if(!o)return"none";let{name:r,dir:n,params:i}=o;if(r==="none")return"none";if(r==="spring"){let l=Math.max(.001,i?.[0]??10),c=Math.max(.001,i?.[1]??100),f=Math.max(.001,i?.[2]??1);return d=>{let g=t>0?t:24,y=e&&e>0?e/g:1,_=d*y,h=f,x=c,w=l,v=Math.sqrt(x/h),b=w/(2*Math.sqrt(x*h)),M=0;if(b<1){let T=v*Math.sqrt(1-b*b),m=-1,k=-b*v/T;M=Math.exp(-b*v*_)*(m*Math.cos(T*_)+k*Math.sin(T*_))}else if(b===1){let m=-v;M=Math.exp(-v*_)*(-1+m*_)}else{let T=-v*(b-Math.sqrt(b*b-1)),m=-v*(b+Math.sqrt(b*b-1)),k=-1/(1-T/m),S=-1-k;M=k*Math.exp(T*_)+S*Math.exp(m*_)}return 1+M}}if(r==="cubic"){let l=i?.[0]??.25,c=i?.[1]??.1,f=i?.[2]??.25,d=i?.[3]??1;return g=>Ps(l,c,f,d,g)}if(r==="hold")return l=>l>=1-1e-4?1:0;let s=r,a="";return i&&i.length>0?a=`(${i.join(", ")})`:r==="back"?a="(1.7)":r==="elastic"&&(a="(1, 0.3)"),`${s}.${n}${a}`}function Os(o,e,t,r,n,i,s,a,l){let c=t.prop,f=t.source??{type:"keyframe"},d=l!==void 0&&l>1;if((f.type==="signal"||d||c==="d")&&a&&!t.repeat){let w=Number.isFinite(i)?i:Math.round(n*5),v={stub:e,track:t,startFrame:r,endFrame:r+w,...d&&{step:l}};return e[c]=Rs(v,r,n,s),a.push(v),{dropped:0,maxAuthoredFrame:0}}if(f.type!=="keyframe"){let w=Number.isFinite(i)?i:Math.round(n*5),v=1/n,b=[],M=Pn(t,r,n,{startFrame:r,baseValues:e,signals:s});e[c]=M,b.push({[c]:M,duration:0});for(let T=1;T<=w;T++){let m=Pn(t,r+T,n,{startFrame:r,baseValues:e,signals:s});b.push({[c]:m,duration:v,ease:"none"})}return o.to(e,{keyframes:b,repeat:t.repeat??0,yoyo:!!t.yoyo,lazy:!1,overwrite:!1,immediateRender:!1},r/n),{dropped:0,maxAuthoredFrame:0}}let g=[...t.keyframes].sort((w,v)=>w.frame-v.frame),y=g.filter(w=>w.frame>=0&&w.frame<=i),_=g.length-y.length,h=_>0?g[g.length-1].frame:0;if(y.length===0)return{dropped:_,maxAuthoredFrame:h};if(c==="hidden"||c==="muted")for(let w of y){let v=(r+w.frame)/n;o.set(e,{[c]:w.value,immediateRender:!1},v)}else{let w=t.repeat??0,v=!!t.yoyo;if(y.length===1){let b=y[0],M=(r+b.frame)/n;o.set(e,{[c]:b.value,immediateRender:!1},M)}else if(y.length===2){let b=y[0],M=y[1],T=b.value,m=M.value,k=(r+b.frame)/n,S=(M.frame-b.frame)/n,P=t.durationFrames??M.frame-b.frame,L=M.ease??b.ease,Y=Da(L,P,n);T===e[c]?o.to(e,{[c]:m,duration:S,ease:Y,repeat:w,yoyo:v,lazy:!1,overwrite:!1,immediateRender:!1},k):o.fromTo(e,{[c]:T},{[c]:m,duration:S,ease:Y,repeat:w,yoyo:v,lazy:!1,overwrite:!1,immediateRender:!1},k)}else{let b=y[0],M=(r+b.frame)/n,T=[];T.push({[c]:b.value,duration:0});for(let m=1;m<y.length;m++){let k=y[m-1],S=y[m],P=S.frame-k.frame,L=P/n,Y=Da(S.ease,P,n);T.push({[c]:S.value,duration:L,ease:Y})}o.to(e,{keyframes:T,repeat:w,yoyo:v,lazy:!1,overwrite:!1,immediateRender:!1},M)}}return{dropped:_,maxAuthoredFrame:h}}var yi=new Set,nc=100;function ic(o,e){if(yi.has(o))return;yi.size>=nc&&yi.clear(),yi.add(o);let t=e.map(r=>`'${r.prop}' (track '${r.trackId}') on '${r.layerId}': ${r.dropped} keyframe(s) past the clip window (last authored frame ${r.maxAuthoredFrame})`).join("; ");console.warn(`[compositor] ${e.length} track(s) truncated \u2014 animation tails will not play: ${t}. Extend durationFrames or move those keyframes.`)}function ac(o,e,t,r,n){let i=_n({nodes:o.map(s=>{let a=s?.operation||{};return{id:a.id,animation:a.animation,startFrame:a.startFrame,durationFrames:a.durationFrames,x:a.x,y:a.y,scale:a.scale,rotation:a.rotation,opacity:a.opacity,volume:a.volume,width:a.width,height:a.height,hidden:a.hidden,muted:a.muted,backgroundColor:a.backgroundColor,fill:a.fill,borderColor:a.borderColor,textBackgroundColor:a.textBackgroundColor,rotateX:a.rotateX,rotateY:a.rotateY,rotateZ:a.rotateZ,perspective:a.perspective,perspectiveOriginX:a.perspectiveOriginX,perspectiveOriginY:a.perspectiveOriginY,translateZ:a.translateZ,backfaceVisibility:a.backfaceVisibility,transformStyle:a.transformStyle,is3D:a.is3D,z:a.z,scaleZ:a.scaleZ,twoSided:a.twoSided,cameraX:a.cameraX,cameraY:a.cameraY,cameraZ:a.cameraZ,targetX:a.targetX,targetY:a.targetY,targetZ:a.targetZ,cameraPitch:a.cameraPitch,cameraYaw:a.cameraYaw,cameraRoll:a.cameraRoll,cameraFov:a.cameraFov,cameraZoom:a.cameraZoom,focalLength:a.focalLength,focusDistance:a.focusDistance,fStop:a.fStop,maxBlurRadius:a.maxBlurRadius,shakeTranslation:a.shakeTranslation,shakeRotation:a.shakeRotation,orbitRadius:a.orbitRadius,orbitAzimuth:a.orbitAzimuth,orbitElevation:a.orbitElevation,material:a.material,shininess:a.shininess,roughness:a.roughness,specularIntensity:a.specularIntensity,ambientIntensity:a.ambientIntensity,metallic:a.metallic,lightType:a.lightType,intensity:a.intensity,radius:a.radius,angle:a.angle,penumbra:a.penumbra,animationProgress:a.animationProgress,animationTime:a.animationTime,animationSpeed:a.animationSpeed,wireframe:a.wireframe,scaleX:a.scaleX,scaleY:a.scaleY,fontSize:a.fontSize,text:a.text}}),width:e,height:t,fps:r,durationSec:n});return Oa(i)}function As(o,e,t){let r=t.fps,n=t.durationSec,i=e?.metadata?.width??1920,s=e?.metadata?.height??1080,a=Sn(e?.children??[]),l=e?.children,c=l?Ss.get(l):void 0,f;c&&c.width===i&&c.height===s&&c.fps===r&&c.durationSec===n?f=c.hash:(f=ac(a,i,s,r,n),l&&Ss.set(l,{width:i,height:s,fps:r,durationSec:n,hash:f}));let d=Oa(`${f}|${ec(e?.operation?.signals??e?.signals)}`),g=`${o}_${d}`,y=tc(g);if(y)return y;let _=Ra.timeline({paused:!0,smoothChildTiming:!1}),h={},x=e?.operation?.signals??e?.signals??{};a.forEach((M,T)=>{let m=M?.operation||{},k=m.id||m.inputHandleId||`layer_${T}`,S={id:k,inputHandleId:m.inputHandleId||`layer_${T}`,trackId:k,x:m.kind==="camera"||m.kind==="light"?m.x??m.cameraX:m.x??0,y:m.kind==="camera"||m.kind==="light"?m.y??m.cameraY:m.y??0,scale:m.scale??1,rotation:m.rotation??0,opacity:m.opacity??1,volume:m.volume??1,width:m.width,height:m.height,hidden:!!m.hidden,muted:!!m.muted,rotateX:m.rotateX??0,rotateY:m.rotateY??0,rotateZ:m.rotateZ??0,perspective:m.perspective??0,perspectiveOriginX:m.perspectiveOriginX??.5,perspectiveOriginY:m.perspectiveOriginY??.5,translateZ:m.translateZ??0,backfaceVisibility:m.backfaceVisibility??"visible",transformStyle:m.transformStyle??"flat",fontSize:m.fontSize,text:1,fill:m.fill,fillColor:m.fillColor??m.fill,strokeColor:m.strokeColor??m.stroke,strokeWidth:m.strokeWidth,letterSpacing:m.letterSpacing,firstMargin:m.firstMargin??m.pathOptions?.firstMargin,lastMargin:m.lastMargin??m.pathOptions?.lastMargin,baselineShift:m.baselineShift??m.pathOptions?.baselineShift,offset:m.offset,rangeStart:m.rangeStart,rangeEnd:m.rangeEnd,animators:m.animators,pathOptions:m.pathOptions,typewriter:m.typewriter,marquee:m.marquee,is3D:m.is3D??(m.kind==="camera"||m.kind==="light"||m.kind==="model3d"),z:m.z??(m.kind==="camera"?m.z??-1500:0),scaleZ:m.scaleZ??1,twoSided:m.twoSided??!0,material:m.material,shininess:m.shininess,roughness:m.roughness,specularIntensity:m.specularIntensity,ambientIntensity:m.ambientIntensity,metallic:m.metallic,animationProgress:m.animationProgress??0,animationTime:m.animationTime??0,animationSpeed:m.animationSpeed??1,wireframe:m.wireframe??!1,scaleX:m.scaleX??1,scaleY:m.scaleY??1,cameraX:m.cameraX??(m.kind==="camera"?m.x:void 0),cameraY:m.cameraY??(m.kind==="camera"?m.y:void 0),cameraZ:m.cameraZ??(m.kind==="camera"?m.z:void 0),targetX:m.targetX,targetY:m.targetY,targetZ:m.targetZ,cameraPitch:m.cameraPitch??m.pitch??0,cameraYaw:m.cameraYaw??m.yaw??0,cameraRoll:m.cameraRoll??m.roll??0,cameraFov:m.cameraFov??m.lens?.fov??50,cameraZoom:m.cameraZoom??m.lens?.zoom??1,focalLength:m.focalLength??m.lens?.focalLength??50,focusDistance:m.focusDistance??m.dof?.focusDistance,fStop:m.fStop??m.dof?.fStop??2.8,maxBlurRadius:m.maxBlurRadius??m.dof?.maxBlurRadius??24,shakeTranslation:m.shakeTranslation??(m.shake?.enabled?m.shake?.translationAmplitude??0:0),shakeRotation:m.shakeRotation??(m.shake?.enabled?m.shake?.rotationAmplitude??0:0),orbitRadius:m.orbitRadius,orbitAzimuth:m.orbitAzimuth,orbitElevation:m.orbitElevation,lightType:m.lightType,intensity:m.intensity??(m.kind==="light"?1:void 0),radius:m.radius,angle:m.angle,penumbra:m.penumbra,decay:m.decay};for(let P of m.animation?.tracks??[])if((P.source??{type:"keyframe"}).type!=="keyframe")S[P.prop]=Pn(P,m.startFrame??0,r,{startFrame:m.startFrame??0,baseValues:S,signals:x});else if(P.keyframes&&P.keyframes.length>0){let Y=P.keyframes[0],re=S;Y.frame===0?re[P.prop]=Y.value:re[P.prop]===void 0&&(re[P.prop]=m[P.prop]??Y.value)}h[k]=S});let w=[],v=[];if(a.forEach(M=>{let T=M?.operation||{},m=T.id||T.inputHandleId,k=m?h[m]:void 0;if(!k)return;let S=T.startFrame??0,P=T.durationFrames;if(P===void 0){let L=M.children?.[0],Y=L?vn(L):null,re=e?.metadata?.durationMs??3e3,J=T.type??(T.kind==="text"?"Text":T.kind==="media"&&L?L.operation?.dataType:void 0),K=xo(void 0,Y?.durationMs??void 0,re,J);P=Math.max(1,Math.round(K/1e3*r))}for(let L of T.animation?.tracks??[]){let{dropped:Y,maxAuthoredFrame:re}=Os(_,k,L,S,r,P,x,v,T.animation?.frameStep);Y>0&&w.push({layerId:m,trackId:L.id,prop:L.prop,dropped:Y,maxAuthoredFrame:re})}}),w.length>0){ic(o.startsWith("img-")?`frame_${d}`:g,w);for(let M of w)Za(o,{severity:"warning",code:"animation_truncated",layerId:M.layerId,message:`'${M.prop}' on '${M.layerId}': ${M.dropped} keyframe(s) past the clip window (last authored frame ${M.maxAuthoredFrame}) never play`})}_.seek(1e-6),_.seek(0);let b={tl:_,targetsById:h,nodes:a,live:v,signals:x};return rc(g,b),b}var _i=new Map;function Ls(o,e,t,r,n){let i=_n({animation:e,baseVolume:t,baseMuted:r,fps:n}),s=Oa(i),a=`layer_${o}_${s}`,l=_i.get(a);if(l){if(Date.now()-l.cacheTime<=Ca)return l.cacheTime=Date.now(),l.value;_i.delete(a),bi(l.value)}let c=Ra.timeline({paused:!0,smoothChildTiming:!1}),f={volume:t,muted:r},d=e?.tracks??[];for(let y of d){let _=y.prop;_!=="volume"&&_!=="muted"||Os(c,f,y,0,n,1/0)}c.seek(1e-6),c.seek(0);let g={tl:c,stub:f};return Cs(_i,Ku),_i.set(a,{cacheTime:Date.now(),value:g}),g}_e();function nn(o,e){return e?o==="flex"||o==="block"||o==="box":!1}_e();function Aa(o,e){return{a:1,b:0,c:0,d:1,e:o,f:e}}function oc(o){let e=o*Math.PI/180,t=Math.cos(e),r=Math.sin(e);return{a:t,b:r,c:-r,d:t,e:0,f:0}}function sc(o,e=o){return{a:o,b:0,c:0,d:e,e:0,f:0}}function xi(o,e){return{a:o.a*e.a+o.c*e.b,b:o.b*e.a+o.d*e.b,c:o.a*e.c+o.c*e.d,d:o.b*e.c+o.d*e.d,e:o.a*e.e+o.c*e.f+o.e,f:o.b*e.e+o.d*e.f+o.f}}function lc(o,e,t){return{x:o.a*e+o.c*t+o.e,y:o.b*e+o.d*t+o.f}}function Fs(o){return new DOMMatrix([o.a,o.b,o.c,o.d,o.e,o.f])}function Is(o){let e=o.anchorX??.5,t=o.anchorY??.5,r=e*o.width,n=t*o.height,i=o.scale??1,s=(o.scaleX??1)*i,a=(o.scaleY??1)*i;return xi(Aa(o.x,o.y),xi(Aa(r,n),xi(oc(o.rotation),xi(sc(s,a),Aa(-r,-n)))))}function zs(o){let e=o.baseX??0,t=o.baseY??0,r=o.sampledX??e,n=o.sampledY??t,i=0,s=0;o.rect&&o.parentRect?(i=o.rect.x-o.parentRect.x+(r-e),s=o.rect.y-o.parentRect.y+(n-t)):o.rect?(i=o.rect.x+(r-e),s=o.rect.y+(n-t)):(i=r,s=n);let a=o.parentMatrix;return a?"isIdentity"in a&&a.isIdentity?{x:i,y:s}:lc(a,i,s):{x:i,y:s}}_e();var be={identity(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},multiply(o,e){let t=new Array(16);for(let r=0;r<4;r++)for(let n=0;n<4;n++)t[n*4+r]=o[0+r]*e[n*4+0]+o[4+r]*e[n*4+1]+o[8+r]*e[n*4+2]+o[12+r]*e[n*4+3];return t},translate(o,e,t=0){return[1,0,0,0,0,1,0,0,0,0,1,0,o,e,t,1]},scale(o,e,t=1){return[o,0,0,0,0,e,0,0,0,0,t,0,0,0,0,1]},rotateX(o){let e=Math.cos(o),t=Math.sin(o);return[1,0,0,0,0,e,t,0,0,-t,e,0,0,0,0,1]},rotateY(o){let e=Math.cos(o),t=Math.sin(o);return[e,0,-t,0,0,1,0,0,t,0,e,0,0,0,0,1]},rotateZ(o){let e=Math.cos(o),t=Math.sin(o);return[e,t,0,0,-t,e,0,0,0,0,1,0,0,0,0,1]},perspective(o){if(o<=0)return be.identity();let e=be.identity();return e[11]=-1/o,e},buildLayer3DMatrix(o){let{x:e,y:t,width:r,height:n,rotateXDeg:i=0,rotateYDeg:s=0,rotateZDeg:a=0,scaleX:l=1,scaleY:c=1,perspectivePx:f=0,originXRatio:d=.5,originYRatio:g=.5,translateZPx:y=0}=o,_=e+r*d,h=t+n*g,x=i*Math.PI/180,w=s*Math.PI/180,v=a*Math.PI/180,b=be.identity();return b=be.multiply(b,be.translate(_,h,0)),f>0&&(b=be.multiply(b,be.perspective(f))),y!==0&&(b=be.multiply(b,be.translate(0,0,y))),v!==0&&(b=be.multiply(b,be.rotateZ(v))),w!==0&&(b=be.multiply(b,be.rotateY(w))),x!==0&&(b=be.multiply(b,be.rotateX(x))),b=be.multiply(b,be.translate(-r*d,-n*g,0)),(l!==1||c!==1)&&(b=be.multiply(b,be.scale(l,c,1))),b},projectPoint(o,e){let t=e.x,r=e.y,n=e.z,i=o[0]*t+o[4]*r+o[8]*n+o[12],s=o[1]*t+o[5]*r+o[9]*n+o[13],a=o[3]*t+o[7]*r+o[11]*n+o[15],l=Math.abs(a)>1e-6?1/a:1;return{x:i*l,y:s*l}},projectRectangleCorners(o,e,t){return{topLeft:be.projectPoint(o,{x:0,y:0,z:0}),topRight:be.projectPoint(o,{x:e,y:0,z:0}),bottomLeft:be.projectPoint(o,{x:0,y:t,z:0}),bottomRight:be.projectPoint(o,{x:e,y:t,z:0})}},computeSignedArea(o){let{topLeft:e,topRight:t,bottomRight:r,bottomLeft:n}=o;return .5*(e.x*t.y-t.x*e.y+(t.x*r.y-r.x*t.y)+(r.x*n.y-n.x*r.y)+(n.x*e.y-e.x*n.y))}};function Es(o,e){let t=o?.rotateX??e?.rotateX??0,r=o?.rotateY??e?.rotateY??0,n=o?.rotateZ??e?.rotateZ??0,i=o?.translateZ??e?.translateZ??0,s=o?.perspective??e?.perspective??0;if(t!==0||r!==0||i!==0||s>0&&(t!==0||r!==0||i!==0||n!==0)||o?.rotateZ!==void 0&&o.rotateZ!==0||e?.rotateZ!==void 0&&e.rotateZ!==0)return!0;let a=e?.animation?.tracks;if(a&&a.length>0){for(let l of a)if(l.prop==="rotateX"||l.prop==="rotateY"||l.prop==="rotateZ"||l.prop==="translateZ"||l.prop==="perspective")return!0}return!1}var uc=["width","height","gap","padding","fontSize","letterSpacing"],Vs=new WeakMap;function cc(o,e,t,r){let n=[o,e];for(let i in t){let s=t[i];for(let a of uc)s[a]!==void 0&&n.push(i,a,s[a])}for(let[i,s]of r)n.push(i,s.width,s.height);return JSON.stringify(n)}var fc=`
|
|
173
|
+
struct HomographyUniforms {
|
|
174
|
+
matrix_row0 : vec4<f32>,
|
|
175
|
+
matrix_row1 : vec4<f32>,
|
|
176
|
+
matrix_row2 : vec4<f32>,
|
|
177
|
+
params : vec4<f32>, // params.x = opacity
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
@group(0) @binding(0) var<uniform> u : HomographyUniforms;
|
|
181
|
+
@group(1) @binding(0) var tex : texture_2d<f32>;
|
|
182
|
+
@group(1) @binding(1) var samp : sampler;
|
|
183
|
+
${co}
|
|
184
|
+
|
|
185
|
+
@fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
|
|
186
|
+
let x = in.uv.x;
|
|
187
|
+
let y = in.uv.y;
|
|
188
|
+
|
|
189
|
+
let d = u.matrix_row2.x * x + u.matrix_row2.y * y + u.matrix_row2.z;
|
|
190
|
+
if (d <= 1e-6) {
|
|
191
|
+
return vec4<f32>(0.0);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
let src_u = (u.matrix_row0.x * x + u.matrix_row0.y * y + u.matrix_row0.z) / d;
|
|
195
|
+
let src_v = (u.matrix_row1.x * x + u.matrix_row1.y * y + u.matrix_row1.z) / d;
|
|
196
|
+
|
|
197
|
+
if (src_u < 0.0 || src_u > 1.0 || src_v < 0.0 || src_v > 1.0) {
|
|
198
|
+
return vec4<f32>(0.0);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
let color = textureSampleLevel(tex, samp, vec2<f32>(src_u, src_v), 0.0);
|
|
202
|
+
return color * u.params.x;
|
|
203
|
+
}
|
|
204
|
+
`,Bs=new WeakMap;function dc(o,e){let t=Bs.get(o);if(!t){let r=Ii(o,["uniform"]),n=Ii(o,["texture","sampler"]),i=o.createShaderModule({label:"compositor_homography.wgsl",code:fc});t={pipeline:ho(o,{label:"CompositorHomographyPipeline",module:i,layouts:[r,n],format:e,blend:fo}),uniformLayout:r,textureLayout:n},Bs.set(o,t)}return t}var wi=new Map,Ys=new WeakMap;function Xn(o,e,t){let r=Ys.get(o);r||(r=new Map,Ys.set(o,r));let n=`${e}|${t}`,i=r.get(n);return i||(i=new uo(o,e,t),r.set(n,i)),i}var Gs=new WeakMap;function La(o,e){let t=Gs.get(o);return(!t||t.format!==e)&&(t=new Jn(o,e),Gs.set(o,t)),t}var Xs=new WeakMap;function Us(o,e){let t=Xs.get(o);t||(t=new Map,Xs.set(o,t));let r=t.get(e);return r||(r=new _o(o),t.set(e,r)),r}function Ns(o,e,t,r,n){if(e.length>0||o.lightType===void 0&&o.intensity===void 0&&o.lightPosX===void 0)return e;let i=String(o.lightType??"point").toLowerCase(),s=i==="directional"?"directional":i==="spot"?"spot":"point",a=o.intensity??1,l=ot(a,1,r,n),c=ot(o.lightPosX,.5,r,n),f=ot(o.lightPosY,.5,r,n),d=ot(o.lightPosZ,.25,r,n),g=ot(o.lightRadius,.75,r,n),y=t.x+c*t.width,_=t.y+f*t.height,h=d*Math.max(t.width,t.height),x=g*Math.max(t.width,t.height),w={lightType:s,color:o.lightColor??"#ffffff",intensity:l,x:y,y:_,z:h,radius:x,decay:1},v=ot(o.ambientIntensity,.15,r,n);return[{lightType:"ambient",color:o.ambientColor??"#ffffff",intensity:v},w]}function Ti(o,e,t,r,n,i,s,a){if(Math.abs(be.computeSignedArea(n))<1e-4)return;let c=Math.max(0,Math.min(i,Math.floor(Math.min(n.topLeft.x,n.topRight.x,n.bottomLeft.x,n.bottomRight.x)))),f=Math.max(0,Math.min(s,Math.floor(Math.min(n.topLeft.y,n.topRight.y,n.bottomLeft.y,n.bottomRight.y)))),d=Math.max(0,Math.min(i,Math.ceil(Math.max(n.topLeft.x,n.topRight.x,n.bottomLeft.x,n.bottomRight.x)))),g=Math.max(0,Math.min(s,Math.ceil(Math.max(n.topLeft.y,n.topRight.y,n.bottomLeft.y,n.bottomRight.y)))),y=d-c,_=g-f;if(y<=0||_<=0)return;let h=[{x:n.topLeft.x/i,y:n.topLeft.y/s},{x:n.topRight.x/i,y:n.topRight.y/s},{x:n.bottomLeft.x/i,y:n.bottomLeft.y/s},{x:n.bottomRight.x/i,y:n.bottomRight.y/s}],x=Wa(h);for(let L of x)if(!Number.isFinite(L))return;let w=new Float32Array(16);w[0]=x[0],w[1]=x[1],w[2]=x[2],w[3]=0,w[4]=x[3],w[5]=x[4],w[6]=x[5],w[7]=0,w[8]=x[6],w[9]=x[7],w[10]=x[8],w[11]=0,w[12]=a,w[13]=0,w[14]=0,w[15]=0;let{pipeline:v,uniformLayout:b,textureLayout:M}=dc(o.device,o.renderer.format),T=o.renderer.samplerCache.getSampler(o.device),m=o.renderer.getTemporaryBuffer(w),k=o.device.createBindGroup({layout:b,entries:[{binding:0,resource:{buffer:m}}]}),S=o.renderer.bindGroupCache.getBindGroup(o.device,M,r,T),P=e.beginRenderPass({colorAttachments:[{view:t,loadOp:"load",storeOp:"store"}]});P.setPipeline(v),P.setScissorRect(c,f,y,_),P.setBindGroup(0,k),P.setBindGroup(1,S),P.draw(4),P.end()}function Fa(o,e,t){let r=s=>s<=.0031308?12.92*s:1.055*s**.4166666666666667-.055,n=o?.emissive??e.emissive??(t?.emissive?[r(t.emissive[0]),r(t.emissive[1]),r(t.emissive[2])]:void 0),i={};return n!==void 0&&(i.emissive=n,i.emissiveIntensity=o?.emissiveIntensity??e.emissiveIntensity??t?.emissiveStrength??1),e.castShadow!==void 0&&(i.castShadow=e.castShadow),i}function Zs(o,e,t){let r=[o.transformPoint(new DOMPoint(0,0)),o.transformPoint(new DOMPoint(e,0)),o.transformPoint(new DOMPoint(0,t)),o.transformPoint(new DOMPoint(e,t))],n=r.map(f=>f.x),i=r.map(f=>f.y),s=Math.min(...n),a=Math.min(...i),l=Math.max(...n),c=Math.max(...i);return{x:Math.round(s),y:Math.round(a),width:Math.max(0,Math.round(l-s)),height:Math.max(0,Math.round(c-a))}}function hc(o){let e=0;for(let t of o){let r=t&&typeof t.toOperation=="function"?t.toOperation():t,n=r?$a(r):null;if(n===null)return null;e+=n}return e}function mc(o,e){return{x:o.x-e,y:o.y-e,width:o.width+e*2,height:o.height+e*2}}function pc(o,e,t){let r=Math.max(0,Math.floor(o.x)),n=Math.max(0,Math.floor(o.y)),i=Math.min(e,Math.ceil(o.x+o.width)),s=Math.min(t,Math.ceil(o.y+o.height));return i>r&&s>n?{x:r,y:n,width:i-r,height:s-n}:null}async function gc(o,e,t,r,n,i,s,a,l,c,f,d,g,y,_){let h=(M,T,m,k)=>Ws(e,M,T,m,i,s,a,l,k,f,d,g,y,_);if(!o||o.width*o.height>r*n*.6)return h(t,r,n,c);let x=(M,T,m,k,S)=>{let P=i.renderer.beginFrame(s,M.createView(),{r:0,g:0,b:0,a:0},T,m,"clear");i.renderer.pushScissor({x:0,y:0,width:T,height:m}),i.renderer.pushIdentity(),i.renderer.drawTexture(P,k,S,{opacity:1}),i.renderer.popTransform(),i.renderer.popScissor(),P.end()},w=i.renderer.getTemporaryTexture(o.width,o.height,[t,...c]);x(w,o.width,o.height,t,{x:-o.x,y:-o.y,width:r,height:n});let v=await h(w,o.width,o.height,[t,w,...c]),b=i.renderer.getTemporaryTexture(r,n,[v.texture,t,w,...c]);return x(b,r,n,v.texture,o),{texture:b,view:b.createView()}}async function Ws(o,e,t,r,n,i,s,a,l,c,f,d,g,y){let _=o.filter(b=>{if(!b||typeof b!="object")return!1;let M=b?.op,T=b?.constructor?.name;return!(M==="TemporalDeflicker"||M==="Deflicker"||M==="Relight3D"||T==="TemporalDeflicker"||T==="Relight3D")});if(_.length===0)return{texture:e,view:e.createView()};let h={metadata:{width:t,height:r},operation:{op:"TextureSource",sourceTexture:e,dataType:"Image"},children:[]};for(let b=0;b<_.length;b++){let M=_[b],T=M&&typeof M.toOperation=="function"?M.toOperation():M,m=String(T.op??"effect");h={metadata:{width:t,height:r},operation:{op:m,id:`${y}-${m}_${b}`,effect:M,...T,dataType:"Image"},children:[h]}}let x=n.renderer.getTemporaryTexture(t,r,[e,...l]),w=x.createView();n.renderer.beginFrame(i,w,{r:0,g:0,b:0,a:0},t,r,"clear").end(),n.renderer.pushScissor({x:0,y:0,width:t,height:r}),n.renderer.pushIdentity();try{await a(h,{...s,containerWidth:t,containerHeight:r,renderId:`${s.renderId}-${y}-fx`,frame:c,compositionFrame:f,fps:d,isVideoMode:g,signals:s.signals,excludeTextures:[e,x,...l]},w,x,t,r)}finally{n.renderer.popTransform(),n.renderer.popScissor()}return{texture:x,view:w}}var js=async o=>{let{ctx:e,pass:t,targetView:r,targetTexture:n,targetWidth:i,targetHeight:s,encoder:a,props:l,drawChild:c}=o,{virtualMedia:f,fps:d,frame:g}=l,y=f.operation;if(y){if(t.end(),y.op==="CompositorLayer"){console.warn("CompositorWebGPURenderer called directly with legacy CompositorLayer operation. This is a bug."),o.pass=e.renderer.beginFrame(a,r,{r:0,g:0,b:0,a:0},i,s,"load");return}if(y.op==="Compositor"){let _=y,h=_.antialias3d===!1?1:4,x=l.containerWidth??e.surface.width,w=l.containerHeight??e.surface.height,v=_.width??x,b=_.height??w,M=typeof _.opacity=="number"?_.opacity:1,T=l.isVideoMode??(_.mode==="Video"||_.dataType==="Video"||f?.metadata?.durationMs!=null),m=l.inheritedSeekOffset??0,k=Math.max(0,g!=null&&d!=null?g+Math.round(m*d):g??0),S=l.compositionFrame??k,P=e.renderer.getTemporaryTexture(v,b,[...l.excludeTextures||[],n]),L=P.createView(),Y=f?.metadata?.durationMs??3e3,re=Y/1e3,J=As(l.renderId,f,{fps:d??24,durationSec:re}),{targetsById:K}=J;Br(J,k,d??24),Xn(e.device,e.renderer.format??"rgba8unorm",h).resetPools(),La(e.device,e.renderer.format??"rgba8unorm").resetPools();let xe=qn(_.backgroundColor);e.renderer.beginFrame(a,L,xe,v,b,"clear").end();let lr=P;e.renderer.pushScissor({x:0,y:0,width:v,height:b}),e.renderer.pushIdentity(),await po();let rr=new Map;for(let D of Sn(f.children)){let C=D.operation;if(C.kind==="media"){let oe=vn(D.children?.[0]);if(oe?.width&&oe?.height)rr.set(C.id,{width:oe.width,height:oe.height});else if(C.dataType==="Caption"||D.children?.[0]?.operation?.dataType==="Caption"||D.children?.[0]?.operation?.srtText!==void 0){let j=K[C.id]?.width??C.width,Re=typeof j=="number"?j:Math.round(v*.8),q=K[C.id]?.height??C.height,pe=typeof q=="number"?q:160,le=D.children?.[0],E=Ja(le)??le?.operation?.url??le?.operation?.src??le?.operation?.srtText??C.src??C.url;if(typeof q!="number"&&E)try{let N=await io.load(E);N&&N.length>0&&(pe=no(N,C,Re))}catch{}rr.set(C.id,{width:Re,height:pe})}}}let Mr=D=>{let C=D?.operation??{},oe=K[C.id],j=q=>oe&&oe[q]!==void 0?oe[q]:C[q],Re={...C,width:j("width"),height:j("height"),gap:j("gap"),padding:j("padding"),fontSize:j("fontSize"),letterSpacing:j("letterSpacing")};return Re.children=(D?.children??[]).map(Mr),Re.children.length||(Re.children=void 0),Re},ur=()=>(f.children??[]).map(Mr).filter(D=>D?.kind!=="camera"&&D?.kind!=="light"),Yr=f.children,Ct=cc(v,b,K,rr),Ht=Yr?Vs.get(Yr):void 0,{rects:vi}=Ht?.key===Ct?Ht:await go({layout:ur(),viewport:{width:v,height:b},measure:(D,C)=>{if(D.kind==="text"){let oe={fontSize:D.fontSize??48,fontWeight:D.fontWeight,fontFamily:D.fontFamily,letterSpacing:D.letterSpacing,lineHeight:D.lineHeight,padding:D.padding,direction:D.direction};if(C!==void 0){let q=typeof D.width!="number",pe=Kn(D.text??"",{...oe,width:q?void 0:C,keepNaturalWidth:!0});return{width:q?Math.ceil(pe.width):Math.min(C,Math.ceil(pe.width)),height:Math.ceil(pe.height)}}let j=Kn(D.text??"",oe);if(typeof D.width!="number")return{width:Math.ceil(j.width),height:Math.ceil(j.height)};let Re=Kn(D.text??"",{...oe,width:D.width});return{width:Math.ceil(Re.width),height:Math.ceil(Re.height)}}return D.kind==="media"?rr.get(D.id)??null:null}});Yr&&Ht?.key!==Ct&&Vs.set(Yr,{key:Ct,rects:vi});let ki=Sn(f.children??[]),Ia=ki.filter(D=>D.operation?.kind==="camera"),za=T?Ia.filter(D=>{let C=D.operation,oe=C.startFrame??0,j=C.durationFrames;return k>=oe&&(j===void 0||k<oe+j)}).sort((D,C)=>(C.operation.startFrame??0)-(D.operation.startFrame??0))[0]:Ia[0],Ea=ki.filter(D=>D.operation?.kind==="light"),$s=ki.some(D=>{let C=D.operation,oe=C.id?K[C.id]:void 0;return C.kind!=="camera"&&C.kind!=="light"&&(!!(oe?.is3D??C.is3D)||(oe?.z??C.z??0)!==0)}),Hs=!!(za||$s||Ea.length>0),Me=null,Gr=!1,an=[],Va=null,Un=null,Ba;if(Hs){let D=za?.operation,C=D?.id?K[D.id]:void 0,oe=C?.cameraFov??D?.lens?.fov??50;Me=kn.createDefaultCamera(v,b,oe),Me.near=D?.lens?.near??1,Me.far=D?.lens?.far??5e4,Me.zoom=C?.cameraZoom??D?.lens?.zoom??1;let j=Me.eye,Re=Me.target,q=C?.cameraX??C?.x??D?.x??j[0],pe=C?.cameraY??C?.y??D?.y??j[1],le=C?.cameraZ??C?.z??D?.z??j[2];Me.eye=[q,pe,le],C?.targetX!==void 0||C?.targetY!==void 0||C?.targetZ!==void 0||D?.targetX!==void 0||D?.targetY!==void 0||D?.targetZ!==void 0?Me.target=[C?.targetX??D?.targetX??Re[0],C?.targetY??D?.targetY??Re[1],C?.targetZ??D?.targetZ??Re[2]]:Me.target=[q,pe,0];let N=C?.cameraPitch??D?.pitch??0,we=C?.cameraYaw??D?.yaw??0,ut=C?.cameraRoll??D?.roll??0;(N!==0||we!==0||ut!==0)&&(Me=kn.applyOrientation(Me,N,we,ut));let I=C?.orbitAzimuth,u=C?.orbitElevation,Q=C?.orbitRadius;if(I!==void 0||u!==void 0||Q!==void 0){let ue=Q??Fi.distance(Me.eye,Me.target);Me.eye=kn.orbit(Me.target,ue,I??0,u??0)}let p=C?.shakeTranslation??(D?.shake?.enabled?D?.shake?.translationAmplitude:0)??0,W=C?.shakeRotation??(D?.shake?.enabled?D?.shake?.rotationAmplitude:0)??0;if(p>0||W>0){let ue=k/(d??24);Me=kn.applyCameraShake(Me,ue,{translationAmplitude:p,rotationAmplitude:W,frequency:D?.shake?.frequency??1.5,octaves:D?.shake?.octaves??3,seed:D?.shake?.seed??42})}Gr=!!(D?.dof?.enabled||C?.focusDistance!==void 0),Gr&&(Me.focusDistance=C?.focusDistance??D?.dof?.focusDistance??Fi.distance(Me.eye,Me.target),Me.fStop=C?.fStop??D?.dof?.fStop??2.8,Me.maxBlurRadius=C?.maxBlurRadius??D?.dof?.maxBlurRadius??24);for(let ue of Ea){let A=ue.operation,B=A.id||A.inputHandleId,ie=B?K[B]:void 0;if(ie?.hidden||A.hidden)continue;if(T){let xt=A.startFrame??0,G=A.durationFrames;if(k<xt||G!==void 0&&k>=xt+G)continue}let tt=ie?.lightType??A.lightType??"point";if(tt==="environment"){let xt=ie?.intensity??A.intensity;Va={preset:A.preset,top:A.top,horizon:A.horizon,bottom:A.bottom,softboxes:ie?.softboxes??A.softboxes,rotation:ie?.rotation??A.rotation,exposure:ie?.exposure??A.exposure,toneMapping:A.toneMapping,fog:A.fog,...xt!==void 0&&{intensity:xt}},Un=A.bloom===!0?{}:A.bloom&&typeof A.bloom=="object"?{...A.bloom}:null;continue}let me=ie?.color??A.color??"#ffffff",Se=qn(me),mt=ie?.intensity??A.intensity??1,$e=ie?.x??A.x??0,Qt=ie?.y??A.y??0,Nt=ie?.z??A.z??0,qt=ie?.targetX??A.targetX??0,De=ie?.targetY??A.targetY??0,He=ie?.targetZ??A.targetZ??0,ct=ie?.radius??A.radius??1e3,Ot=ie?.angle??A.angle??45,At=ie?.penumbra??A.penumbra??.2,Kt=ie?.decay??A.decay??1;an.push({type:tt,color:Se,intensity:mt,position:[$e,Qt,Nt],target:[qt,De,He],radius:ct,angle:Ot,penumbra:At,decay:Kt,castShadow:!!A.castShadow,shadowSoftness:ie?.shadowSoftness??A.shadowSoftness,shadowDarkness:ie?.shadowDarkness??A.shadowDarkness}),A.castShadow&&A.shadowMapSize&&(Ba=A.shadowMapSize)}}let it=[],xn=()=>it.flatMap(D=>[D.texture,D.opts.matte]).filter(D=>!!D),Mi=(D,C,oe)=>{if(it.length===0||!Me)return{finalTex:D,finalView:C};let j=Xn(e.device,e.renderer.format??"rgba8unorm",h);for(let B of it)B.kind==="mesh"&&B.opts.audioDeform&&(B.meshBuffers=j.deformMesh(a,B.mesh,B.opts.audioDeform));let Re=xn(),q=e.renderer.getTemporaryTexture(v,b,[D,n,...oe,...Re]),pe=q.createView(),le,E;Gr&&(le=j.getOrCreateLinearDepthTexture(v,b),E=le.createView());let N=null,we=Qa.shadowCasterIndex(an);if(we>=0){let B=[],ie=[];for(let me of it)if(me.kind==="mesh"){let Se={kind:"mesh",mesh:me.mesh,buffers:me.meshBuffers,opts:me.opts};ie.push(j.worldBounds(Se)),me.opts.castShadow!==!1&&me.opts.material!=="unlit"&&B.push(Se)}else if(me.kind==="quad"){let Se={kind:"quad",texture:me.texture,opts:me.opts};ie.push(j.worldBounds(Se)),me.opts.castShadow===!0&&B.push(Se)}let tt=an.filter(me=>(me.lightType??me.type)!=="ambient")[we];tt&&B.length>0&&(N=j.renderShadowMap(a,tt,we,B,ie,{mapSize:Ba}))}let{pass:ut,cameraBindGroup:I,cameraBuffer:u,lightsBindGroup:Q}=j.beginPass(a,pe,v,b,Me,"clear",{r:0,g:0,b:0,a:0},E,an,{environment:Va,shadow:N},!!Un),p=B=>B.kind==="mesh"&&(B.opts.material==="glass"||B.opts.material==="acrylic"||B.opts.material==="frosted"),W=[...it.filter(B=>!p(B)),...it.filter(p)];for(let B of W)B.kind==="quad"?j.drawTextureQuad(ut,I,Q,B.texture,B.opts,Gr):B.kind==="slug"?j.drawSlugText(ut,I,Q,B.batches,B.opts,B.stackBase,Gr):B.kind==="mesh"&&j.drawMesh3D(ut,I,Q,B.meshBuffers??B.mesh,B.texture,p(B)?{...B.opts,backdrop:D}:B.opts,Gr);ut.end();let ue=q;if(Gr&&le){let B=e.renderer.getTemporaryTexture(v,b,[D,n,q,...oe]);j.applyDepthOfField(a,q,le,B.createView(),u),ue=B}if(Un){let B=e.renderer.getTemporaryTexture(v,b,[D,n,ue,q,...oe]);j.applyBloom(a,ue,B,Un,j.hdrSource()),ue=B}let A=e.renderer.composite(a,D,ue,"normal",[n,...oe]);return it.length=0,{finalTex:A,finalView:A.createView()}},cr=0,Qs=(D,C,oe)=>{let j=oe*(1-Math.SQRT1_2);for(let Re of D){let q=Re.operation;if(!q)return!1;let pe=K[q.id||q.inputHandleId];if(pe?.hidden||q.hidden)continue;let le=vi[q.id];if(!le)return!1;let E=(ut,I)=>pe?.[ut]??q[ut]??I;if(E("scale",1)!==1||E("scaleX",1)!==1||E("scaleY",1)!==1||E("rotation",0)!==0||E("rotateX",0)!==0||E("rotateY",0)!==0||Array.isArray(q.effects)&&q.effects.length>0||(pe?.animators??q.animators)?.length)return!1;let N=le.x-C.x+(E("x",0)-(q.x??0)),we=le.y-C.y+(E("y",0)-(q.y??0));if(N<j||we<j||N+le.width>C.width-j||we+le.height>C.height-j)return!1}return!0},Pr=async(D,C,oe,j,Re=1,q=new DOMMatrix,pe=null,le=v,E=b,N=null,we=!1)=>{let ut=[...D].sort((W,ue)=>{let A=W.operation?.zIndex??0,B=ue.operation?.zIndex??0;return A-B}),I=C,u=oe,Q=j,p=new Map;for(let W of D){let ue=W.operation?.matteOf;ue&&p.set(ue,W)}for(let W of ut){let ue=W.operation;if(ue.kind==="camera"||ue.kind==="light"||ue.matteOf)continue;let A=ue.id||ue.inputHandleId,B=A?K[A]:void 0,ie=!!(B?.is3D??ue.is3D)||!!(Me&&((B?.z??ue.z??0)!==0||ue.is3D))||!!N;if(we&&!ie&&it.length>0){let Se=Mi(I,u,Q);Se.finalTex!==I&&(Q=[...Q,Se.finalTex]),I=Se.finalTex,u=Se.finalView}if(ue.op!=="CompositorLayer"){await c(W,{containerWidth:le,containerHeight:E,renderId:`${l.renderId}-c${cr}-${ue.op}`,fps:d,isVideoMode:T,frame:k,compositionFrame:S,excludeTextures:[n,...Q]},u,I,le,E);continue}cr+=1;let tt=ue.matteId?p.get(ue.id):void 0;if(tt){let Se=async(He,ct)=>{let Ot=it.splice(0),At=[n,I,...Q,...Ot.flatMap(fr=>[fr.texture,fr.opts.matte])].filter(fr=>!!fr),Kt=e.renderer.getTemporaryTexture(le,E,At),xt=Kt.createView();e.renderer.beginFrame(a,xt,{r:0,g:0,b:0,a:0},le,E,"clear").end();let Z=(await Pi(He,ct,Kt,xt,At.filter(fr=>fr!==n),Re,q,pe,le,E,N,!1))?.finalTex??Kt,Nn=Mi(Z,Z.createView(),At).finalTex;return it.push(...Ot),Nn},mt=tt.operation.matteMode??"alpha",$e=mt==="luma"?"luma-in":mt==="luma-inverted"?"luma-out":mt==="alpha-inverted"?"destination-out":"destination-in";if(ie){let He=await Se(tt,cr);if(Q=[...Q,He],cr+=1,mt!=="alpha"){let At=e.renderer.getTemporaryTexture(le,E,[n,I,...Q,...xn()]);e.renderer.beginFrame(a,At.createView(),{r:1,g:1,b:1,a:1},le,E,"clear").end(),He=e.renderer.composite(a,At,He,$e,[n,I,...Q,...xn(),At]),Q=[...Q,He]}let ct=it.length,Ot=await Pi(W,cr,I,u,Q,Re,q,pe,le,E,N,we);for(let At of it.slice(ct))At.opts.matte=He;Ot&&(Ot.finalTex!==I&&(Q=[...Q,Ot.finalTex]),I=Ot.finalTex,u=Ot.finalView);continue}let Qt=await Se(W,cr);Q=[...Q,Qt],cr+=1;let Nt=await Se(tt,cr),qt=e.renderer.composite(a,Qt,Nt,$e,[n,I,...Q,Nt]),De=e.renderer.composite(a,I,qt,"normal",[n,...Q,Nt]);Q=[...Q,De],I=De,u=De.createView();continue}let me=await Pi(W,cr,I,u,Q,Re,q,pe,le,E,N,we);me&&(me.finalTex!==I&&(Q=[...Q,me.finalTex]),I=me.finalTex,u=me.finalView)}if(we&&it.length>0){let W=Mi(I,u,Q);W.finalTex!==I&&(Q=[...Q,W.finalTex]),I=W.finalTex,u=W.finalView}return{finalTex:I,finalView:u}},Pi=async(D,C,oe,j,Re,q,pe,le,E=v,N=b,we=null,ut=!1)=>{let I=[...Re,...xn()],u=D.operation;if(u.kind==="camera"||u.kind==="light")return;let Q=u.id||u.inputHandleId,p=Q?K[Q]:void 0;if(p?.hidden||u.hidden)return;let W=u.kind,ue=W==="flex"||W==="block"||W==="box";if(T){let F=u.startFrame??0,R=u.durationFrames;if(k<F||R!==void 0&&k>=F+R)return}if(W==="model3d"){let F=Xn(e.device,e.renderer.format??"rgba8unorm",h),R=u.modelData??u.src;if(!R&&u.text3dOptions){let te=u.text3dOptions,ee=(te.fontFamily?Mn.getParsed(te.fontFamily):null)??Mn.getParsed("Inter")??Mn.getParsed("Unbounded")??Mn.getFirstParsed();ee&&(R=so({...te,font:ee}).modelData,u.modelData=R)}if(!R&&u.primitive3d&&(R=lo(u.primitive3d),u.modelData=R),!R)return;let X;try{X=typeof R=="object"&&R!==null&&"meshes"in R?R:F.loadModel(R,u.modelFormat??"auto",{center:u.center,normalizeSize:u.normalizeSize})}catch(te){console.error("Failed to load 3D model:",te);return}if(!X||X.meshes.length===0)return;let $=u.x??0,V=u.y??0,Le=p?.x??$,at=p?.y??V,pt=p?.z??u.z??0,ae=Le,he=at;if(!we){let te=zs({rect:null,parentRect:null,baseX:$,baseY:V,sampledX:Le,sampledY:at,parentMatrix:pe});ae=te.x,he=te.y}let qe=p?.rotateX??u.rotateX??0,Ge=p?.rotateY??u.rotateY??0,Xe=(p?.rotateZ??u.rotateZ??0)!==0?p?.rotateZ??u.rotateZ??0:p?.rotation??u.rotation??0,We=p?.scale??u.scale??1,Ce=(p?.scaleX??u.scaleX??1)*We,Ke=(p?.scaleY??u.scaleY??1)*We,It=(p?.scaleZ??u.scaleZ??1)*We,ce=z.identity();ce=z.multiply(ce,z.translate(ae,he,pt));let mr=qe*Math.PI/180,nr=Ge*Math.PI/180,O=Xe*Math.PI/180;O!==0&&(ce=z.multiply(ce,z.rotateZ(O))),nr!==0&&(ce=z.multiply(ce,z.rotateY(nr))),mr!==0&&(ce=z.multiply(ce,z.rotateX(mr))),ce=z.multiply(ce,z.scale(Ce,Ke,It));let se=we?z.multiply(we,ce):ce,H=p?.colorTint||p?.color||u.colorTint||u.color?qn(p?.colorTint??p?.color??u.colorTint??u.color):void 0,fe=H?[H.r,H.g,H.b,H.a]:[1,1,1,1],je=(p?.opacity??u.opacity??1)*q,gt,zt=p?.animationProgress??u.animationProgress??0,Je=p?.animationTime??u.animationTime??0,er=p?.animationSpeed??u.animationSpeed??1,Te=(u.animationName?X.animations.find(te=>te.name===u.animationName):void 0)??X.animations[0],wt=0;Te&&Te.duration>0&&(wt=zt>0?zt*Te.duration:Je+(k??0)/(d||30)*er,(u.loop??!0)&&(wt%=Te.duration));let Ue=z.multiply(se,X.rootTransform??z.identity()),de=X.nodes?qa(X,Te,wt):void 0,pr=new Map,Zr=te=>{if(!de)return{matrix:Ue};if(te.skin!==void 0){let ee=pr.get(te.skin);return ee||(ee=Ka(X,te.skin,de),pr.set(te.skin,ee)),{matrix:Ue,joints:ee}}return te.node!==void 0?{matrix:z.multiply(Ue,de[te.node])}:{matrix:Ue}};if(!de&&Te&&Te.duration>0){let te=wt;if(X.skeleton&&X.skeleton.bones.length>0){let ee=Math.min(128,X.skeleton.bones.length);gt=new Float32Array(2048);for(let Ee=0;Ee<128;Ee++)gt[Ee*16]=1,gt[Ee*16+5]=1,gt[Ee*16+10]=1,gt[Ee*16+15]=1;for(let Ee of Te.tracks){let gr=X.skeleton.boneIndicesByName[Ee.nodeName];if(gr!==void 0&&gr<ee){let Et=Ee.times,Ne=0;for(let tr=0;tr<Et.length-1;tr++)if(te>=Et[tr]&&te<=Et[tr+1]){Ne=tr;break}let yr=Et[Ne]??0,Rr=Et[Ne+1]??yr,_r=Rr>yr?(te-yr)/(Rr-yr):0;if(Ee.translations){let tr=Ee.translations[Ne*3]??0,Zt=Ee.translations[Ne*3+1]??0,ye=Ee.translations[Ne*3+2]??0,Tt=Ee.translations[(Ne+1)*3]??tr,br=Ee.translations[(Ne+1)*3+1]??Zt,vt=Ee.translations[(Ne+1)*3+2]??ye,yt=tr+(Tt-tr)*_r,Vt=Zt+(br-Zt)*_r,Oi=ye+(vt-ye)*_r,Hn=z.translate(yt,Vt,Oi),Qn=X.skeleton.bones[gr],cl=Qn?z.multiply(Hn,Qn.inverseBindMatrix):Hn;gt.set(cl,gr*16)}}}}}let Wr=te=>te.materialName?X.materials[te.materialName]?.alphaMode==="blend":!1,$n=[...X.meshes].sort((te,ee)=>Number(Wr(te))-Number(Wr(ee)));for(let te of $n){let ee=te.materialName?X.materials[te.materialName]:void 0,Ee=Zr(te),gr=Ee.joints??gt,Et;H?ee?.diffuseColor?Et=[ee.diffuseColor[0]*fe[0],ee.diffuseColor[1]*fe[1],ee.diffuseColor[2]*fe[2],(ee.diffuseColor[3]??1)*fe[3]]:Et=fe:ee?.diffuseColor?Et=ee.diffuseColor:Et=[.8,.8,.85,1];let Ne=p?.audioDeform??u.audioDeform,yr;if(Ne){let _r=(k??0)/(d||30),tr=_r*1e3,Zt=Ne.latentBuffer;if(!Zt&&Ne.audioBuffer&&(Zt=Ne.audioBuffer),!Zt){let ye=Ne.audioData;if(ye){let Tt=(u.id??"audio-mesh")+"-direct-audio",br=wi.get(Tt);if(!br){let vt=Array.isArray(ye)?ye:ye.channels,yt=Array.isArray(ye)?48e3:ye.sampleRate,Vt=Math.max(10,Math.ceil((vt[0]?.length??0)/yt*(d||30))+10);br=new Li(vt,yt,d||30,Vt),wi.set(Tt,br)}Zt=br.getGpuBuffer(e.device,k??0)}}if(!Zt&&Ne.audioTrackId){let ye=Ne.audioTrackId,Tt,br=vt=>{for(let yt of vt){let Vt=yt.operation;if(Vt){if(Vt.id===ye||Vt.inputHandleId===ye){Tt=Vt.inputHandleId||Vt.src||Vt.url;return}yt.children&&br(yt.children)}}};if(f.children&&br(f.children),!Tt&&(ye.endsWith(".mp3")||ye.endsWith(".wav")||ye.endsWith(".ogg"))&&(Tt=ye),Tt)try{let vt=wi.get(Tt);if(!vt){let yt=await mo(Tt);if(yt&&yt.channels.length>0){let Vt=yt.sampleRate||48e3,Oi=yt.channels[0]?.length??0,Hn=yt.durationSec??Oi/Vt,Qn=Math.max(10,Math.ceil(Hn*(d||30))+10);vt=new Li(yt.channels,Vt,d||30,Qn),wi.set(Tt,vt)}}vt&&(Zt=vt.getGpuBuffer(e.device,k??0))}catch(vt){console.warn("[webgpu-renderer] Failed to decode audio for deformWithAudio:",vt)}}if(Zt){let ye=Ne.amplitudeMultiplier??1;if(typeof ye!="number"&&typeof ye?.get=="function"){let Tt={frame:k??0,fps:d||30,time:_r,duration:0,durationMs:0,progress:0,deltaTime:1/(d||30)};ye=Number(ye.get(Tt))}else typeof ye!="number"&&typeof ye?.value=="number"&&(ye=ye.value);yr={config:{...Ne,amplitudeMultiplier:Number.isFinite(ye)?ye:1},latentBuffer:Zt,timeMs:tr,sampleRate:48e3}}}let Rr={modelMatrix:Ee.matrix,opacity:je*(ee?.opacity??1),colorTint:Et,twoSided:p?.twoSided??u.twoSided??ee?.twoSided??!0,wireframe:!!(p?.wireframe??u.wireframe),isSkinned:!!(gr||te.jointIndices&&te.jointWeights),skinningMatrices:gr,material:p?.material??u.material??ee?.shading??"lit",shadeColor:ee?.shadeColor,alphaCutoff:ee?.alphaCutoff,textureWrap:ee?.textureWrap,textureFilter:ee?.textureFilter,shininess:p?.shininess??u.shininess??ee?.shininess??32,roughness:p?.roughness??u.roughness??ee?.roughness,specularIntensity:p?.specularIntensity??u.specularIntensity??.5,ambientIntensity:p?.ambientIntensity??u.ambientIntensity??1,metallic:p?.metallic??u.metallic??ee?.metallic,...Fa(p,u,ee),ior:p?.ior??u.ior,dispersion:p?.dispersion??u.dispersion,thickness:p?.thickness??u.thickness,audioDeform:yr};ee&&(Rr.maps=await F.materialMaps(ee)),it.push({kind:"mesh",mesh:te,texture:ee?await F.materialTexture(ee):void 0,opts:Rr})}return{finalTex:oe,finalView:j}}let A=vi[u.id];if(!A)return ue?await Pr(D.children??[],oe,j,I,q,pe,le,E,N,we,ut):void 0;let B=u.x??0,ie=u.y??0,tt=p?.x??B,me=p?.y??ie,Se=0,mt=0;if(le){let F=A.x-le.x,R=A.y-le.y;Se=F+(tt-B),mt=R+(me-ie)}else Se=A.x+(tt-B),mt=A.y+(me-ie);let $e=p?.scale??u.scale??1,Qt=p?.scaleX??u.scaleX??1,Nt=p?.scaleY??u.scaleY??1,qt=p?.rotation??u.rotation??0,De=(p?.opacity??u.opacity??1)*q,He=p?.animators??u.animators,ct=W==="text"&&!!(u.pathOptions||p?.pathOptions),Ot=W==="text"&&Array.isArray(He)&&He.length>0,At=W==="text"&&Array.isArray(He)&&He.some(F=>{let R=F;return R?.props?.formation!==void 0||R?.formation!==void 0}),Kt=0,xt=0;if(At){let F=0,R=0;for(let X of He){let $=X,V=$?.props?.formation??$?.formation;V&&(typeof V.radius=="number"&&(F=Math.max(F,V.radius)),typeof V.pitch=="number"&&(R=Math.max(R,V.pitch)))}Kt=Math.max(160,Math.ceil(F+100)),xt=Math.max(100,Math.ceil(F+R*15+100))}else!ct&&Ot&&(Kt=Math.max(80,Math.ceil(A.width*.2)),xt=Math.max(50,Math.ceil(A.height*.5)));let G=ct?E:A.width+Kt*2,Z=ct?N:A.height+xt*2;!ct&&Ot&&(Se-=Kt,mt-=xt);let Nn=u.anchorX??.5,fr=u.anchorY??.5,Ks=Fs(Is({x:Se,y:mt,width:G,height:Z,rotation:qt,scale:$e,scaleX:Qt,scaleY:Nt,anchorX:ct?Nn*A.width/G:Nn,anchorY:ct?fr*A.height/Z:fr})),Lt=pe.multiply(Ks),Ft=u.blendMode||"normal",U=oe,Pe=j,Zn=Es(p,u),Js=p?.rotateX??u.rotateX??0,el=p?.rotateY??u.rotateY??0,Ga=p?.rotateZ??u.rotateZ??0,tl=p?.translateZ??u.translateZ??0,rl=p?.perspective??u.perspective??0,nl=p?.perspectiveOriginX??u.perspectiveOriginX??u.anchorX??.5,il=p?.perspectiveOriginY??u.perspectiveOriginY??u.anchorY??.5,al=p?.backfaceVisibility??u.backfaceVisibility??"visible",Sr=null;if(Zn){let F=be.buildLayer3DMatrix({x:Se,y:mt,width:G,height:Z,rotateXDeg:Js,rotateYDeg:el,rotateZDeg:Ga!==0?Ga:qt,scaleX:Qt*$e,scaleY:Nt*$e,perspectivePx:rl,originXRatio:nl,originYRatio:il,translateZPx:tl}),R=be.projectRectangleCorners(F,G,Z);if(pe.isIdentity||(R={topLeft:pe.transformPoint(new DOMPoint(R.topLeft.x,R.topLeft.y)),topRight:pe.transformPoint(new DOMPoint(R.topRight.x,R.topRight.y)),bottomLeft:pe.transformPoint(new DOMPoint(R.bottomLeft.x,R.bottomLeft.y)),bottomRight:pe.transformPoint(new DOMPoint(R.bottomRight.x,R.bottomRight.y))}),al==="hidden"&&be.computeSignedArea(R)<0)return;Sr=R}let Dr=!!(p?.is3D??u.is3D)||!!(Me&&((p?.z??u.z??0)!==0||u.is3D));if(ue){if(u.transformStyle==="preserve-3d"&&Dr){let O=z.identity(),se=we!==null?p?.x??u.x??0:p?.x??u.x??Se+G*.5,H=we!==null?p?.y??u.y??0:p?.y??u.y??mt+Z*.5,fe=p?.z??u.z??0;O=z.multiply(O,z.translate(se,H,fe));let je=(p?.rotateX??u.rotateX??0)*Math.PI/180,gt=(p?.rotateY??u.rotateY??0)*Math.PI/180,zt=((p?.rotateZ??u.rotateZ??0)!==0?p?.rotateZ??u.rotateZ??0:qt)*(Math.PI/180);zt!==0&&(O=z.multiply(O,z.rotateZ(zt))),gt!==0&&(O=z.multiply(O,z.rotateY(gt))),je!==0&&(O=z.multiply(O,z.rotateX(je)));let Je=(p?.scaleX??u.scaleX??1)*$e,er=(p?.scaleY??u.scaleY??1)*$e,Te=(p?.scaleZ??u.scaleZ??1)*$e;if((Je!==1||er!==1||Te!==1)&&(O=z.multiply(O,z.scale(Je,er,Te))),we&&(O=z.multiply(we,O)),D.children&&D.children.length>0){let wt=await Pr(D.children,U,Pe,I,De,new DOMMatrix,null,G,Z,O,!1);U=wt.finalTex,Pe=wt.finalView}return{finalTex:U,finalView:Pe}}if(Dr){let O=Math.max(1,Math.ceil(G)),se=Math.max(1,Math.ceil(Z)),H=[U,n,...I,...xn()],fe=e.renderer.getTemporaryTexture(O,se,H),je=fe.createView();e.renderer.beginFrame(a,je,{r:0,g:0,b:0,a:0},O,se,"clear").end();let zt=Math.min(u.borderRadius??u.strokeRadius??0,G/2,Z/2);if(nn(W,u.background)){let de=e.renderer.beginFrame(a,je,{r:0,g:0,b:0,a:0},O,se,"load");e.renderer.drawRect(de,{x:0,y:0,width:G,height:Z},u.background,0,{opacity:1}),de.end()}let Je=fe,er=je;if(D.children&&D.children.length>0){let de=await Pr(D.children,fe,je,[fe,...H],1,new DOMMatrix,A,O,se,null,!1);Je=de.finalTex,er=de.finalView}let Te=!Dr&&u.borderWidth!==void 0&&u.borderColor?bn(e,a,G,Z,zt,u.borderWidth,u.borderColor,u.strokeAlign??"inside",[Je,...H]):null;if(Te){let de=e.renderer.beginFrame(a,er,{r:0,g:0,b:0,a:0},O,se,"load");e.renderer.drawTexture(de,Te.borderTex,{x:Te.ox,y:Te.oy,width:Te.ow,height:Te.oh},{opacity:1}),de.end()}let wt;if(we){let de=z.identity(),pr=p?.x??u.x??0,Zr=p?.y??u.y??0,Wr=p?.z??u.z??0;de=z.multiply(de,z.translate(pr,Zr,Wr));let $n=(p?.rotateX??u.rotateX??0)*Math.PI/180,te=(p?.rotateY??u.rotateY??0)*Math.PI/180,ee=((p?.rotateZ??u.rotateZ??0)!==0?p?.rotateZ??u.rotateZ??0:qt)*(Math.PI/180);ee!==0&&(de=z.multiply(de,z.rotateZ(ee))),te!==0&&(de=z.multiply(de,z.rotateY(te))),$n!==0&&(de=z.multiply(de,z.rotateX($n)));let Ee=G*$e*Qt,gr=Z*$e*Nt,Et=p?.scaleZ??u.scaleZ??1;de=z.multiply(de,z.scale(Ee,gr,Et));let Ne=u.anchorX??.5,yr=u.anchorY??.5,Rr=.5-Ne,_r=.5-yr;(Rr!==0||_r!==0)&&(de=z.multiply(de,z.translate(Rr,_r,0))),wt=z.multiply(we,de)}let Ue={position:[Se+G*.5,mt+Z*.5,p?.z??u.z??0],width:G,height:Z,textureExtent:[G/Je.width,Z/Je.height],rotation:[p?.rotateX??u.rotateX??0,p?.rotateY??u.rotateY??0,(p?.rotateZ??u.rotateZ??0)!==0?p?.rotateZ??u.rotateZ??0:qt],scale:[$e*Qt,$e*Nt,p?.scaleZ??u.scaleZ??1],anchor:[u.anchorX??.5,u.anchorY??.5],borderRadius:zt,borderWidth:u.borderWidth,borderColor:u.borderColor,opacity:De,twoSided:p?.twoSided??u.twoSided??!0,material:p?.material??u.material,shininess:p?.shininess??u.shininess,roughness:p?.roughness??u.roughness,specularIntensity:p?.specularIntensity??u.specularIntensity,ambientIntensity:p?.ambientIntensity??u.ambientIntensity,metallic:p?.metallic??u.metallic,...Fa(p,u),...wt&&{modelMatrix:wt}};return it.push({kind:"quad",texture:Je,opts:Ue}),{finalTex:U,finalView:Pe}}if(Zn&&Sr){let O=Math.max(1,Math.ceil(G)),se=Math.max(1,Math.ceil(Z)),H=[U,n,...I],fe=e.renderer.getTemporaryTexture(O,se,H),je=fe.createView();e.renderer.beginFrame(a,je,{r:0,g:0,b:0,a:0},O,se,"clear").end();let zt=Math.min(u.borderRadius??u.strokeRadius??0,G/2,Z/2);if(nn(W,u.background)){let Ue=e.renderer.beginFrame(a,je,{r:0,g:0,b:0,a:0},O,se,"load");e.renderer.drawRect(Ue,{x:0,y:0,width:G,height:Z},u.background,zt,{opacity:1}),Ue.end()}let Je=fe,er=je;if(D.children&&D.children.length>0){let Ue=await Pr(D.children,fe,je,[fe,...H],1,new DOMMatrix,A,O,se,null,!1);Je=Ue.finalTex,er=Ue.finalView}let Te=u.borderWidth!==void 0&&u.borderColor?bn(e,a,G,Z,zt,u.borderWidth,u.borderColor,u.strokeAlign??"inside",[Je,...H]):null;if(Te){let Ue=e.renderer.beginFrame(a,er,{r:0,g:0,b:0,a:0},O,se,"load");e.renderer.drawTexture(Ue,Te.borderTex,{x:Te.ox,y:Te.oy,width:Te.ow,height:Te.oh},{opacity:1}),Ue.end()}let wt=p?.motionBlurShutter??u.motionBlurShutter??0;if(wt>0&&d&&k!==void 0){Br(J,k-1,d);let Ue=Q?K[Q]:void 0,de=Ue?.x??B,pr=Ue?.y??ie;Br(J,k,d);let Zr=tt-de,Wr=me-pr;Math.hypot(Zr,Wr)>.5&&(Je=e.renderer.applyMotionBlur(a,Je,Zr,Wr,wt,16,[U,n,...I]),er=Je.createView())}if(Ft==="normal"||Ft==="source-over")Ti(e,a,Pe,Je,Sr,E,N,De);else{let Ue=[U,n,Je,...I];Te&&Ue.push(Te.borderTex);let de=e.renderer.getTemporaryTexture(E,N,Ue),pr=de.createView();e.renderer.beginFrame(a,pr,{r:0,g:0,b:0,a:0},E,N,"clear").end(),Ti(e,a,pr,Je,Sr,E,N,De),U=e.renderer.composite(a,U,de,Ft,[n,...I]),Pe=U.createView()}return{finalTex:U,finalView:Pe}}let F=u.overflow!=="visible",R=F?Zs(Lt,G,Z):null,X=F?Math.min(p?.borderRadius??u.borderRadius??0,G/2,Z/2):0;if((W==="flex"||W==="block")&&(!Array.isArray(u.effects)||u.effects.length===0)&&X<=0&&!nn(W,u.background)&&De===1&&Ft==="normal"&&!u.borderWidth&&!u.borderColor&&(typeof u.relighting!="object"||!u.relighting)&&(typeof u.relight!="object"||!u.relight)&&(typeof p?.relighting!="object"||!p?.relighting)&&(typeof p?.relight!="object"||!p?.relight)&&(typeof u.deflicker!="object"||!u.deflicker)&&(typeof p?.deflicker!="object"||!p?.deflicker)){R&&e.renderer.pushScissorIntersect(R);let O=await Pr(D.children??[],U,Pe,I,q,Lt,A,E,N,null,ut);return R&&e.renderer.popScissor(),O}if((!D.children||D.children.length===0)&&(!Array.isArray(u.effects)||u.effects.length===0)&&Ft==="normal"&&!(p?.motionBlurShutter??u.motionBlurShutter)&&(typeof u.relighting!="object"||!u.relighting)&&(typeof u.relight!="object"||!u.relight)&&(typeof p?.relighting!="object"||!p?.relighting)&&(typeof p?.relight!="object"||!p?.relight)&&(typeof u.deflicker!="object"||!u.deflicker)&&(typeof p?.deflicker!="object"||!p?.deflicker)){if(De<=0)return{finalTex:U,finalView:Pe};let O=Math.min(p?.borderRadius??u.borderRadius??u.strokeRadius??0,G/2,Z/2),se=nn(W,u.background),H=u.borderWidth!==void 0&&u.borderColor?bn(e,a,G,Z,O,u.borderWidth,u.borderColor,u.strokeAlign??"inside",[U,n,...I]):null;if(se||H){let fe=e.renderer.beginFrame(a,Pe,{r:0,g:0,b:0,a:0},E,N,"load");e.renderer.pushTransform(Lt),se&&e.renderer.drawRect(fe,{x:0,y:0,width:G,height:Z},u.background,O,{opacity:De}),H&&e.renderer.drawTexture(fe,H.borderTex,{x:H.ox,y:H.oy,width:H.ow,height:H.oh},{opacity:De}),e.renderer.popTransform(),fe.end()}return{finalTex:U,finalView:Pe}}if(D.children&&D.children.length>0&&(!Array.isArray(u.effects)||u.effects.length===0)&&De===1&&Ft==="normal"&&!(p?.motionBlurShutter??u.motionBlurShutter)&&(typeof u.relighting!="object"||!u.relighting)&&(typeof u.relight!="object"||!u.relight)&&(typeof p?.relighting!="object"||!p?.relighting)&&(typeof p?.relight!="object"||!p?.relight)&&(typeof u.deflicker!="object"||!u.deflicker)&&(typeof p?.deflicker!="object"||!p?.deflicker)&&(X<=0||Qs(D.children,A,X))){let O=Math.min(p?.borderRadius??u.borderRadius??u.strokeRadius??0,G/2,Z/2);if(nn(W,u.background)){let fe=e.renderer.beginFrame(a,Pe,{r:0,g:0,b:0,a:0},E,N,"load");e.renderer.pushTransform(Lt),e.renderer.drawRect(fe,{x:0,y:0,width:G,height:Z},u.background,O,{opacity:1}),e.renderer.popTransform(),fe.end()}R&&e.renderer.pushScissorIntersect(R);let se=await Pr(D.children,U,Pe,I,q,Lt,A,E,N,null,ut);R&&e.renderer.popScissor(),U=se.finalTex,Pe=se.finalView;let H=u.borderWidth!==void 0&&u.borderColor?bn(e,a,G,Z,O,u.borderWidth,u.borderColor,u.strokeAlign??"inside",[U,n,...I]):null;if(H){let fe=e.renderer.beginFrame(a,Pe,{r:0,g:0,b:0,a:0},E,N,"load");e.renderer.pushTransform(Lt),e.renderer.drawTexture(fe,H.borderTex,{x:H.ox,y:H.oy,width:H.ow,height:H.oh},{opacity:1}),e.renderer.popTransform(),fe.end()}return{finalTex:U,finalView:Pe}}let $=[U,n,...I],V=e.renderer.getTemporaryTexture(E,N,$),Le=V.createView();e.renderer.beginFrame(a,Le,{r:0,g:0,b:0,a:0},E,N,"clear").end();let pt=Math.min(p?.borderRadius??u.borderRadius??u.strokeRadius??0,G/2,Z/2);if(nn(W,u.background)){let O=e.renderer.beginFrame(a,Le,{r:0,g:0,b:0,a:0},E,N,"load");e.renderer.pushTransform(Lt),e.renderer.drawRect(O,{x:0,y:0,width:G,height:Z},u.background,pt,{opacity:De}),e.renderer.popTransform(),O.end()}let ae=V,he=Le;if(D.children&&D.children.length>0){R&&e.renderer.pushScissorIntersect(R);let O=await Pr(D.children,V,Le,[V,...$],De,Lt,A,E,N,null,!1);R&&e.renderer.popScissor(),ae=O.finalTex,he=O.finalView}if(X>0){let O=e.renderer.getTemporaryTexture(E,N,[ae,...$]),se=e.renderer.beginFrame(a,O.createView(),{r:0,g:0,b:0,a:0},E,N,"clear");e.renderer.pushTransform(Lt),e.renderer.drawRect(se,{x:0,y:0,width:G,height:Z},"#ffffff",X),e.renderer.popTransform(),se.end(),ae=e.renderer.composite(a,ae,O,"mask-in",[ae,O,...$]),he=ae.createView()}let qe=u.borderWidth!==void 0&&u.borderColor?bn(e,a,G,Z,pt,u.borderWidth,u.borderColor,u.strokeAlign??"inside",[ae,...$]):null;if(qe){let O=e.renderer.beginFrame(a,he,{r:0,g:0,b:0,a:0},E,N,"load");e.renderer.pushTransform(Lt),e.renderer.drawTexture(O,qe.borderTex,{x:qe.ox,y:qe.oy,width:qe.ow,height:qe.oh},{opacity:De}),e.renderer.popTransform(),O.end()}let Ge=p?.motionBlurShutter??u.motionBlurShutter??0;if(Ge>0&&d&&k!==void 0){Br(J,k-1,d);let O=Q?K[Q]:void 0,se=O?.x??B,H=O?.y??ie;Br(J,k,d);let fe=tt-se,je=me-H;Math.hypot(fe,je)>.5&&(ae=e.renderer.applyMotionBlur(a,ae,fe,je,Ge,16,[U,n,...I]),he=ae.createView())}let Xe=Array.isArray(u.effects)?u.effects.find(O=>O?.op==="TemporalDeflicker"||O?.op==="Deflicker"||O?.constructor?.name==="TemporalDeflicker"):void 0,We=p?.deflicker??u.deflicker??Xe,Ce=typeof We=="object"&&We!==null?We:void 0;if(Ce){let O=Us(e.device,u.id||`layer_${C}`);k===0&&O.reset(),ae=O.execute(ae,Ce,a),he=ae.createView()}let Ke=Array.isArray(u.effects)?u.effects.find(O=>O?.op==="Relight3D"||O?.constructor?.name==="Relight3D"):void 0,It=p?.relighting??u.relighting??(typeof u.relight=="object"?u.relight:void 0)??Ke,ce=typeof It=="object"&&It!==null?It:void 0;if(ce){let O=La(e.device,e.renderer.format??"rgba8unorm"),se=Xn(e.device,e.renderer.format??"rgba8unorm",h),H=Ns(ce,an,A,S,d??24),fe=se.getOrCreateLightsBuffer(H),je=e.renderer.getTemporaryTexture(E,N,[ae,U,n,...I]),gt=je.createView(),zt=ce.normalTexture??ce.normalMap;O.execute(a,gt,ae,zt,fe,{viewportWidth:E,viewportHeight:N,layerX:0,layerY:0,roughness:ot(p?.roughness??p?.relightRoughness??ce.specularRoughness??ce.roughness,.35,S,d??24),specularStrength:ot(p?.specularStrength??p?.relightSpecularStrength??ce.specularStrength,.7,S,d??24),metallic:ot(p?.metallic??p?.relightMetallic??ce.metallic,0,S,d??24),ambientIntensity:ot(p?.ambientIntensity??p?.relightAmbientIntensity??ce.ambientIntensity,.15,S,d??24),depthScale:ot(p?.depthScale??p?.relightDepthScale??ce.depthScale,1,S,d??24),opacity:1},"clear"),ae=je,he=gt}if(Array.isArray(u.effects)&&u.effects.length>0){let O=F?hc(u.effects):null,se=O===null?null:pc(mc(Zs(Lt,G,Z),O),E,N),H=await gc(se,u.effects,ae,E,N,e,a,l,c,[U,n,...I],k,S,d??24,T,u.id??`container_${C}`);ae=H.texture,he=H.view}let mr=[U,n,...I];return qe&&mr.push(qe.borderTex),U=e.renderer.composite(a,U,ae,Ft,mr),Pe=U.createView(),{finalTex:U,finalView:Pe}}if(!(G>0&&Z>0))return{finalTex:U,finalView:Pe};let Wn=Math.min(u.borderRadius??u.strokeRadius??0,G/2,Z/2),rt=Math.ceil(G),nt=Math.ceil(Z),Xa=e.renderer.suspendScissors?.()??[],Xr=e.renderer.getTemporaryTexture(rt,nt,[U,n,...I]),jn=Xr.createView();e.renderer.beginFrame(a,jn,{r:0,g:0,b:0,a:0},rt,nt,"clear").end();let dr,Si=!1;if(W==="media")dr=D.children?.[0],Si=dr?.operation?.dataType==="Caption"||u.dataType==="Caption"||dr?.operation?.srtText!==void 0;else if(W==="text"){let F=p?.spans??u.spans,R=d??24,X=F?.length?eo(F,{frame:S,fps:R,time:S/R,duration:Y/1e3,durationMs:Y,progress:Y>0?Math.min(1,S/R*1e3/Y):0,deltaTime:1/R}):void 0,$=X?to(X):u.text??"",V=$,Le=He;Array.isArray(He)&&He.length>0&&(Le=He.map((he,qe)=>{let Ge={...he,transform:{...he.transform??{}}};if(qe===0){let Xe=typeof p?.offset=="number"?p.offset:typeof p?.animatorOffset=="number"?p.animatorOffset:void 0,We=typeof p?.rangeStart=="number"?p.rangeStart:typeof p?.animatorRangeStart=="number"?p.animatorRangeStart:void 0,Ce=typeof p?.rangeEnd=="number"?p.rangeEnd:typeof p?.animatorRangeEnd=="number"?p.animatorRangeEnd:void 0;Xe!==void 0&&(Ge.offset=Xe),We!==void 0&&(Ge.rangeStart=We),Ce!==void 0&&(Ge.rangeEnd=Ce),Array.isArray(Ge.selectors)&&(Ge.selectors=Ge.selectors.map(Ke=>Ke.type==="range"?{...Ke,...Xe!==void 0?{offset:Xe}:{},...We!==void 0?{start:We}:{},...Ce!==void 0?{end:Ce}:{}}:Ke))}return Ge}));let at=!!(u.typewriter||p?.typewriter),pt=u.animation?.tracks?.find(he=>he.prop==="text");if(!at&&(pt!==void 0||typeof p?.text=="number")&&$.length>0){let he=typeof p?.text=="number"?Math.max(0,Math.min(1,p.text)):1,qe=typeof p?.text=="number"&&p.text>1.0001;if(he>=1&&!qe)V=$;else if(he<=0)V="";else{let Ge=pt?.keyframes?.find(Ce=>Ce.presetType)?.presetType??"typewriter",Xe=typeof p?.text=="number"?p.text:null,We=Xe!==null&&Xe>1.0001;if(Ge==="word-reveal"||Ge==="karaoke"){let Ce=$.split(/(\s+)/),Ke=[];Ce.forEach((ce,mr)=>{ce.trim().length>0&&Ke.push(mr)});let It=We&&Xe!==null?Math.min(Ke.length,Math.round(Xe)):Math.round(Ke.length*he);if(It===0)V="";else{let ce=Ke[Math.min(Ke.length-1,It-1)];V=Ce.slice(0,ce+1).join("")}}else if(Ge==="line-reveal"){let Ce=$.split(`
|
|
205
|
+
`),Ke=We&&Xe!==null?Math.min(Ce.length,Math.round(Xe)):Math.round(Ce.length*he);V=Ce.slice(0,Math.max(0,Ke)).join(`
|
|
206
|
+
`)}else{let Ce=We&&Xe!==null?Math.min($.length,Math.round(Xe)):Math.round($.length*he);V=$.slice(0,Ce)}}}dr={metadata:{},operation:{op:"text",text:V,spans:X&&V!==$?ro(X,V):X,animators:Le,pathOptions:p?.pathOptions??u.pathOptions,typewriter:p?.typewriter??u.typewriter,marquee:p?.marquee??u.marquee,textProgress:typeof p?.text=="number"?p.text:void 0,firstMargin:p?.firstMargin??u.firstMargin,lastMargin:p?.lastMargin??u.lastMargin,baselineShift:p?.baselineShift??u.baselineShift,signals:f?.operation?.signals??f?.signals,fontSize:p?.fontSize??u.fontSize,fontFamily:u.fontFamily,fontStyle:u.fontStyle,fontWeight:u.fontWeight,fill:p?.fill??p?.color??u.fill,align:u.align,direction:u.direction,verticalAlign:u.verticalAlign,letterSpacing:p?.letterSpacing??u.letterSpacing,lineHeight:u.lineHeight,padding:u.padding,textBackgroundColor:p?.textBackgroundColor??p?.background??u.background,borderRadius:u.borderRadius,stroke:p?.stroke??p?.strokeColor??u.stroke,strokeWidth:p?.strokeWidth??u.strokeWidth,strokeAlign:u.strokeAlign,textShadow:u.textShadow,shadows:u.shadows,x:ct?0:Kt,y:ct?0:xt,width:ct?E:u.width!==void 0?A.width:void 0,height:ct?N:u.height!==void 0?A.height:void 0},children:[]}}let hr=null,Di=!0;if(dr){let R=vn(dr)?.durationMs??Y,$=Math.max(1,Math.round(R/1e3*(d??24)))/(d??24)*1e3,V=dr.operation?.op==="Compositor"&&dr.operation?.dataType==="Image",Le=Dr&&W==="text",at=e.renderer.rasterDrawCount;Le&&e.renderer.slugPipeline.beginCapture();try{await c(dr,{containerWidth:G,containerHeight:Z,renderId:`${l.renderId}-l${C}`,durationMs:$,opacity:1,fps:d,...typeof u.dpr=="number"&&{dpr:u.dpr},excludeTextures:[U,n,...I],isVideoMode:T&&!V,...T&&u.timeRemap&&W==="media"&&u.dataType==="Video"&&{sourceTimeSec:Na(u.timeRemap,Math.max(0,k-(u.startFrame??0)),d??24)},...T&&{frame:u.timeRemap&&W==="media"&&u.dataType==="Video"?Math.max(0,k-(u.startFrame??0)):Math.max(0,k-(u.startFrame??0))+(u.mediaStartFrame??u.trimStartFrames??(u.trimStartSec!=null?Math.round(u.trimStartSec*(d??24)):0))},compositionFrame:S,...Si&&{fontFamily:u.fontFamily,fontSize:p?.fontSize??u.fontSize,fontWeight:u.fontWeight,fontStyle:u.fontStyle,fill:u.fill,color:u.fill,align:u.align??"center",direction:u.direction,verticalAlign:u.verticalAlign??u.textAlignVertical,lineHeight:u.lineHeight,letterSpacing:u.letterSpacing,textBackgroundColor:u.background??u.textBackgroundColor,borderRadius:u.borderRadius??u.strokeRadius,strokeRadius:u.strokeRadius??u.borderRadius,stroke:u.stroke,strokeWidth:u.strokeWidth,shadows:u.shadows,padding:u.padding,maxWidth:u.maxWidth??G}},jn,Xr,rt,nt)}finally{Le&&(hr=e.renderer.slugPipeline.endCapture())}Di=e.renderer.rasterDrawCount!==at}else if(W==="shape"){let F=e.renderer.beginFrame(a,jn,{r:0,g:0,b:0,a:0},rt,nt,"load"),X={shapeType:u.shapeType??u.shape??"rect",width:G,height:Z,path:p?.d??u.d??u.path,cornerRadius:p?.cornerRadius??u.cornerRadius??u.borderRadius??u.radius??0,starPoints:u.starPoints??5,starInnerRadiusRatio:p?.starInnerRadiusRatio??u.starInnerRadiusRatio??.5,polygonSides:u.polygonSides??5},$=u.fillType??"solid",V=p?.fillColor??p?.fill??u.fillColor??u.fill??"#38bdf8",Le=p?.gradientEndColor??u.gradientEndColor??u.fillColor2??"#9333ea",at=u.fillStartX,pt=u.fillStartY,ae=u.fillEndX,he=u.fillEndY;if($==="linear"&&at===void 0&&u.gradientAngle!==void 0){let nr=u.gradientAngle*Math.PI/180,O=G/2,se=Z/2,H=(Math.abs(G*Math.cos(nr))+Math.abs(Z*Math.sin(nr)))/2;at=O-Math.cos(nr)*H,pt=se-Math.sin(nr)*H,ae=O+Math.cos(nr)*H,he=se+Math.sin(nr)*H}let qe={type:$,color:V,color2:Le,startX:at,startY:pt,endX:ae,endY:he,cx:u.fillCx,cy:u.fillCy,radius:u.fillRadius},Ge=p?.strokeWidth??u.strokeWidth??0,Xe=p?.strokeColor??u.strokeColor??u.stroke??"#ffffff",We=u.strokeLineCap??"round",Ce=u.strokeDashArray,Ke=p?.strokeDashOffset??u.strokeDashOffset??0,It=p?.trimStart??u.trimStart??0,ce=p?.trimEnd??u.trimEnd??1,mr=p?.trimOffset??u.trimOffset??0;e.renderer.drawShape(F,X,qe,Ge>0?{color:Xe,width:Ge,cap:We,trimStart:It,trimEnd:ce,trimOffset:mr,dashArray:Ce,dashOffset:Ke}:void 0),F.end()}let ol=Array.isArray(u.effects)?u.effects.find(F=>F?.op==="TemporalDeflicker"||F?.constructor?.name==="TemporalDeflicker"):void 0,Ri=p?.deflicker??u.deflicker??ol,sl=Array.isArray(u.effects)?u.effects.find(F=>F?.op==="Relight3D"||F?.constructor?.name==="Relight3D"):void 0,Ci=p?.relighting??u.relighting??(typeof u.relight=="object"?u.relight:void 0)??sl,Jt=typeof Ci=="object"&&Ci!==null?Ci:void 0,wn=p?.motionBlurShutter??u.motionBlurShutter??0,ll=W!=="media"&&Array.isArray(u.effects)&&u.effects.length>0;if(hr&&hr.length>0&&(Ri||Jt||wn>0||ll)){let F=e.renderer.beginFrame(a,jn,{r:0,g:0,b:0,a:0},rt,nt,"load");e.renderer.slugPipeline.drawBatches(F,hr,rt,nt),F.end(),hr=null,Di=!0}let Qe=Xr;if(!Dr&&Wn>0&&!Si&&W!=="shape"){let F=e.renderer.getTemporaryTexture(rt,nt,[Xr,U,n,...I]),R=F.createView();e.renderer.beginFrame(a,R,{r:0,g:0,b:0,a:0},rt,nt,"clear").end();let $=e.renderer.beginFrame(a,R,{r:0,g:0,b:0,a:0},rt,nt,"load");e.renderer.drawRect($,{x:0,y:0,width:G,height:Z},{r:1,g:1,b:1,a:1},Wn),$.end(),Qe=e.renderer.composite(a,Xr,F,"mask-in",[U,n,...I])}if(Ri){let F=Us(e.device,u.id||`layer_${C}`);k===0&&F.reset(),Qe=F.execute(Qe,Ri,a)}if(Jt){let F=La(e.device,e.renderer.format??"rgba8unorm"),R=Xn(e.device,e.renderer.format??"rgba8unorm",h),X=Ns(Jt,an,{x:tt,y:me,width:rt,height:nt},S,d??24),$=R.getOrCreateLightsBuffer(X),V=e.renderer.getTemporaryTexture(rt,nt,[Qe,U,n,...I]),Le=V.createView(),at=Jt.normalTexture??Jt.normalMap;F.execute(a,Le,Qe,at,$,{viewportWidth:rt,viewportHeight:nt,layerX:tt,layerY:me,roughness:ot(p?.roughness??p?.relightRoughness??Jt.specularRoughness??Jt.roughness,.35,S,d??24),specularStrength:ot(p?.specularStrength??p?.relightSpecularStrength??Jt.specularStrength,.7,S,d??24),metallic:ot(p?.metallic??p?.relightMetallic??Jt.metallic,0,S,d??24),ambientIntensity:ot(p?.ambientIntensity??p?.relightAmbientIntensity??Jt.ambientIntensity,.15,S,d??24),depthScale:ot(p?.depthScale??p?.relightDepthScale??Jt.depthScale,1,S,d??24),opacity:1},"clear"),Qe=V}let Ur=0,Nr=0;if(wn>0&&d&&k!==void 0){Br(J,k-1,d);let F=Q?K[Q]:void 0,R=F?.x??B,X=F?.y??ie;Br(J,k,d);let $=tt-R,V=me-X;if(Math.hypot($,V)>.5){if(!Dr&&!(Zn&&Sr)){let pt=wn/360;Ur=Math.ceil(Math.abs($)*pt),Nr=Math.ceil(Math.abs(V)*pt);let ae=e.renderer.getTemporaryTexture(rt+Ur*2,nt+Nr*2,[Qe,U,n,...I]),he=e.renderer.beginFrame(a,ae.createView(),{r:0,g:0,b:0,a:0},ae.width,ae.height,"clear");e.renderer.drawTexture(he,Qe,{x:Ur,y:Nr,width:rt,height:nt},{opacity:1}),he.end(),Qe=ae}let Le=Math.hypot($,V)*(wn/360)*2,at=Math.min(128,Math.max(16,Math.ceil(Le/2)));Qe=e.renderer.applyMotionBlur(a,Qe,$,V,wn,at,[U,n,...I])}}W!=="media"&&Array.isArray(u.effects)&&u.effects.length>0&&(Qe=(await Ws(u.effects,Qe,rt,nt,e,a,l,c,[Xr,U,n,...I],k,S,d??24,T,u.id??`leaf_${C}`)).texture);let ul=[Xr,Qe,U,n,...I],ge=!Dr&&u.borderWidth!==void 0&&u.borderColor?bn(e,a,G,Z,Wn,u.borderWidth,u.borderColor,u.strokeAlign??"inside",ul):null;if(Xa.length>0&&e.renderer.resumeScissors?.(Xa),Dr){let F=Qe;if(ge){let V=e.renderer.beginFrame(a,F.createView(),{r:0,g:0,b:0,a:0},rt,nt,"load");e.renderer.drawTexture(V,ge.borderTex,{x:ge.ox,y:ge.oy,width:ge.ow,height:ge.oh},{opacity:1}),V.end()}let R;if(we){let V=z.identity(),Le=p?.x??u.x??0,at=p?.y??u.y??0,pt=p?.z??u.z??0;V=z.multiply(V,z.translate(Le,at,pt));let ae=(p?.rotateX??u.rotateX??0)*Math.PI/180,he=(p?.rotateY??u.rotateY??0)*Math.PI/180,qe=((p?.rotateZ??u.rotateZ??0)!==0?p?.rotateZ??u.rotateZ??0:qt)*(Math.PI/180);qe!==0&&(V=z.multiply(V,z.rotateZ(qe))),he!==0&&(V=z.multiply(V,z.rotateY(he))),ae!==0&&(V=z.multiply(V,z.rotateX(ae)));let Ge=G*$e*Qt,Xe=Z*$e*Nt,We=p?.scaleZ??u.scaleZ??1;V=z.multiply(V,z.scale(Ge,Xe,We));let Ce=u.anchorX??.5,Ke=u.anchorY??.5,It=.5-Ce,ce=.5-Ke;(It!==0||ce!==0)&&(V=z.multiply(V,z.translate(It,ce,0))),R=z.multiply(we,V)}let X={position:[Se+G*.5,mt+Z*.5,p?.z??u.z??0],width:G,height:Z,textureExtent:[G/rt,Z/nt],rotation:[p?.rotateX??u.rotateX??0,p?.rotateY??u.rotateY??0,(p?.rotateZ??u.rotateZ??0)!==0?p?.rotateZ??u.rotateZ??0:qt],scale:[$e*Qt,$e*Nt,p?.scaleZ??u.scaleZ??1],anchor:[u.anchorX??.5,u.anchorY??.5],borderRadius:Wn,borderWidth:u.borderWidth,borderColor:u.borderColor,opacity:De,twoSided:p?.twoSided??u.twoSided??!0,material:p?.material??u.material,shininess:p?.shininess??u.shininess,roughness:p?.roughness??u.roughness,specularIntensity:p?.specularIntensity??u.specularIntensity,ambientIntensity:p?.ambientIntensity??u.ambientIntensity,metallic:p?.metallic??u.metallic,...Fa(p,u),...R&&{modelMatrix:R}},$=Di||!!(X.borderWidth&&X.borderWidth>0&&X.borderColor);return(!hr||$)&&it.push({kind:"quad",texture:F,opts:X}),hr&&hr.length>0&&it.push({kind:"slug",batches:hr,opts:X,stackBase:$?1:0}),{finalTex:U,finalView:Pe}}if(Zn&&Sr){let F=Qe;if(ge){let R=e.renderer.beginFrame(a,F.createView(),{r:0,g:0,b:0,a:0},rt,nt,"load");e.renderer.drawTexture(R,ge.borderTex,{x:ge.ox,y:ge.oy,width:ge.ow,height:ge.oh},{opacity:1}),R.end()}if(Ft==="normal"||Ft==="source-over")Ti(e,a,Pe,F,Sr,E,N,De);else{let R=[U,n,F,...I];ge&&R.push(ge.borderTex);let X=e.renderer.getTemporaryTexture(E,N,R),$=X.createView();e.renderer.beginFrame(a,$,{r:0,g:0,b:0,a:0},E,N,"clear").end(),Ti(e,a,$,F,Sr,E,N,De),U=e.renderer.composite(a,U,X,Ft,[n,...I]),Pe=U.createView()}return{finalTex:U,finalView:Pe}}if(Ft==="normal"||Ft==="source-over"){let F=e.renderer.beginFrame(a,Pe,{r:0,g:0,b:0,a:0},E,N,"load");e.renderer.pushTransform(Lt),e.renderer.drawTexture(F,Qe,{x:-Ur,y:-Nr,width:G+Ur*2,height:Z+Nr*2},{opacity:De}),ge&&e.renderer.drawTexture(F,ge.borderTex,{x:ge.ox,y:ge.oy,width:ge.ow,height:ge.oh},{opacity:De}),e.renderer.popTransform(),F.end()}else{let F=[Qe,U,n,...I];ge&&F.push(ge.borderTex);let R=e.renderer.getTemporaryTexture(E,N,F),X=R.createView();e.renderer.beginFrame(a,X,{r:0,g:0,b:0,a:0},E,N,"clear").end();let V=e.renderer.beginFrame(a,X,{r:0,g:0,b:0,a:0},E,N,"load");e.renderer.pushTransform(Lt),e.renderer.drawTexture(V,Qe,{x:-Ur,y:-Nr,width:G+Ur*2,height:Z+Nr*2},{opacity:De}),ge&&e.renderer.drawTexture(V,ge.borderTex,{x:ge.ox,y:ge.oy,width:ge.ow,height:ge.oh},{opacity:De}),e.renderer.popTransform(),V.end(),U=e.renderer.composite(a,U,R,Ft,[n,...I]),Pe=U.createView()}return{finalTex:U,finalView:Pe}},qs=[P,n,...l.excludeTextures||[]];lr=(await Pr(f.children??[],P,L,qs,1,new DOMMatrix,null,v,b,null,!0)).finalTex,e.renderer.popTransform(),e.renderer.popScissor();let Ya=e.renderer.beginFrame(a,r,{r:0,g:0,b:0,a:0},i,s,"load");e.renderer.drawTexture(Ya,lr,{x:0,y:0,width:l.containerWidth??i,height:l.containerHeight??s},{opacity:M}),o.pass=Ya}}},yc=2;function bn(o,e,t,r,n,i,s,a,l){if(t<=0||r<=0||!s||!i||i<=0)return null;let c=0,f=0,d=t,g=r,y=n,_=n;if(a==="inside"?(c=0,f=0,d=t,g=r,y=n,_=Math.max(0,n-i)):a==="outside"?(c=-i,f=-i,d=t+2*i,g=r+2*i,y=n+i,_=n):(c=-i/2,f=-i/2,d=t+i,g=r+i,y=n+i/2,_=Math.max(0,n-i/2)),n<=0&&(y=0,_=0),d<=0||g<=0)return null;let h=yc,x=Math.ceil(d+2*h),w=Math.ceil(g+2*h),v=o.renderer.getTemporaryTexture(x,w,l),b=v.createView();o.renderer.beginFrame(e,b,{r:0,g:0,b:0,a:0},x,w,"clear").end();let T=o.renderer.beginFrame(e,b,{r:0,g:0,b:0,a:0},x,w,"load");o.renderer.drawRect(T,{x:h,y:h,width:d,height:g},s,y),T.end();let m=d-2*i,k=g-2*i;if(m>0&&k>0){let S=o.renderer.getTemporaryTexture(x,w,[v,...l]),P=S.createView();o.renderer.beginFrame(e,P,{r:0,g:0,b:0,a:0},x,w,"clear").end();let Y=o.renderer.beginFrame(e,P,{r:0,g:0,b:0,a:0},x,w,"load");return o.renderer.drawRect(Y,{x:h+i,y:h+i,width:m,height:k},{r:1,g:1,b:1,a:1},_),Y.end(),{borderTex:o.renderer.composite(e,v,S,"mask-out",l),ox:c-h,oy:f-h,ow:x,oh:w}}return{borderTex:v,ox:c-h,oy:f-h,ow:x,oh:w}}_e();var _c=async(o,e,t,r)=>{let n=t.operation;if(!n)return;let i=o.length;if(i===0)return;let s=o[0].length;if(s===0)return;if(n.op==="Compositor"){let m=Ai(n.volume,1);if(m===1)return;for(let k=0;k<i;k++){let S=o[k];for(let P=0;P<S.length;P++)S[P]*=m}return}let a=Ai(n.volume,1),l=Ua(n.muted,!1),c=n.animation,f=r?.fps??24,d=c?.tracks||[],g=d.some(m=>m.prop==="volume"&&m.keyframes&&m.keyframes.length>0),y=d.some(m=>m.prop==="muted"&&m.keyframes&&m.keyframes.length>0);if(!g&&!y)return;let{tl:_,stub:h}=Ls(n.id||n.inputHandleId||"layer",c,a,l,f),w=(r?.elapsedMs??0)/1e3,v=128;_.seek(w);let b=h.volume,M=h.muted,T=l?0:a;for(let m=0;m<s;m+=v){let k=Math.min(s,m+v),S=w+k/e;_.seek(S);let P=h.volume,L=h.muted;for(let Y=m;Y<k;Y++){let re=(Y-m)/(k-m),J=Math.min(1,Math.max(0,b+(P-b)*re)),Ye=(Y-m<(k-m)/2?M:L)?0:J,Ae=T===0?0:Ye/T;if(Ae!==1)for(let xe=0;xe<i;xe++)o[xe][Y]*=Ae}b=P,M=L}};Ha.register("CompositorLayer",_c);var Pf=ja({WebGPURenderer:js});export{be as Transform3DMath,Pf as default,Es as has3DTransform};
|
|
207
|
+
/*! Bundled license information:
|
|
208
|
+
|
|
209
|
+
gsap/gsap-core.js:
|
|
210
|
+
(*!
|
|
211
|
+
* GSAP 3.15.0
|
|
212
|
+
* https://gsap.com
|
|
213
|
+
*
|
|
214
|
+
* @license Copyright 2008-2026, GreenSock. All rights reserved.
|
|
215
|
+
* Subject to the terms at https://gsap.com/standard-license
|
|
216
|
+
* @author: Jack Doyle, jack@greensock.com
|
|
217
|
+
*)
|
|
218
|
+
|
|
219
|
+
gsap/CSSPlugin.js:
|
|
220
|
+
(*!
|
|
221
|
+
* CSSPlugin 3.15.0
|
|
222
|
+
* https://gsap.com
|
|
223
|
+
*
|
|
224
|
+
* Copyright 2008-2026, GreenSock. All rights reserved.
|
|
225
|
+
* Subject to the terms at https://gsap.com/standard-license
|
|
226
|
+
* @author: Jack Doyle, jack@greensock.com
|
|
227
|
+
*)
|
|
228
|
+
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as P,d as R,f as U,h as G,j as S,m as T}from"./chunk-ENKKLU7B.mjs";import"./chunk-6YJP57MZ.mjs";import{A as h}from"./chunk-
|
|
1
|
+
import{a as P,d as R,f as U,h as G,j as S,m as T}from"./chunk-ENKKLU7B.mjs";import"./chunk-6YJP57MZ.mjs";import{A as h}from"./chunk-TEBZRQPG.mjs";import{e as s}from"./chunk-BVF64D6H.mjs";s();s();var f="RGBSplit",D=8,N=[`struct U { v : array<vec4<f32>, 2> };
|
|
2
2
|
@group(0) @binding(0) var<uniform> u : U;
|
|
3
3
|
@group(0) @binding(1) var src : texture_2d<f32>;
|
|
4
4
|
@group(0) @binding(2) var prev : texture_2d<f32>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as P,d as T,f as U,h as R,j as k,m as G}from"./chunk-ENKKLU7B.mjs";import"./chunk-6YJP57MZ.mjs";import{A as S}from"./chunk-
|
|
1
|
+
import{a as P,d as T,f as U,h as R,j as k,m as G}from"./chunk-ENKKLU7B.mjs";import"./chunk-6YJP57MZ.mjs";import{A as S}from"./chunk-TEBZRQPG.mjs";import{e as s}from"./chunk-BVF64D6H.mjs";s();s();var p="Toon",D=12,$=[`struct U { v : array<vec4<f32>, 3> };
|
|
2
2
|
@group(0) @binding(0) var<uniform> u : U;
|
|
3
3
|
@group(0) @binding(1) var src : texture_2d<f32>;
|
|
4
4
|
@group(0) @binding(2) var prev : texture_2d<f32>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-4Q3ZUTQC.mjs";import"./chunk-JOPZNSZJ.mjs";import"./chunk-37EFVZWT.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-TEBZRQPG.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-6VDYWMP5.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-TEBZRQPG.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-VAS4IJZR.mjs";import"./chunk-S5ONWSZF.mjs";import"./chunk-QDTJ4MOJ.mjs";import"./chunk-XNMEVVQB.mjs";import"./chunk-ENKKLU7B.mjs";import"./chunk-DZEWY4PR.mjs";import"./chunk-6YJP57MZ.mjs";import"./chunk-TEBZRQPG.mjs";import"./chunk-BVF64D6H.mjs";export{a as default};
|