From 1130a932bbce350e496ff0a06a350fb0925299ca Mon Sep 17 00:00:00 2001 From: Satyam Mishra Date: Mon, 15 Jan 2024 09:04:39 +0530 Subject: [PATCH] Updates --- assets/2-20979492.webp | Bin 0 -> 91758 bytes ...{index-b466cce2.css => index-32b1b3b9.css} | 2 +- .../{index-63fada77.js => index-e1b102b4.js} | 354 +++++++++--------- assets/nettv4u-35143e02.webp | Bin 0 -> 32702 bytes assets/techyv-adede69e.webp | Bin 6748 -> 0 bytes index.html | 4 +- 6 files changed, 180 insertions(+), 180 deletions(-) create mode 100644 assets/2-20979492.webp rename assets/{index-b466cce2.css => index-32b1b3b9.css} (51%) rename assets/{index-63fada77.js => index-e1b102b4.js} (86%) create mode 100644 assets/nettv4u-35143e02.webp delete mode 100644 assets/techyv-adede69e.webp diff --git a/assets/2-20979492.webp b/assets/2-20979492.webp new file mode 100644 index 0000000000000000000000000000000000000000..ad8e682ae45ce0fb932d43d6a636e4d391793487 GIT binary patch literal 91758 zcma&NW0+)Jnl+rZZB$y7wr$&1Rob>~+pI*TZL88YDs3aatf!xz?w*-z-YQl~_CB56KzVI#|{%7Bv4nh-v&`-_q<6fZSbfEWN!m*K1HBjTm+ zVRx&q4IuR+b)9h7$Nm-bQU7LZ%eTdM4Iuw`|4i{nxbL-dZ~o$Y$A1Vo`FQb4eM>zf zTm`fO5&`t@YY%}}v3LA?fRT?uK+t>6W9Y%wZSF3>rn~oJ>pkFu{>}Fl^MU_{@CeZK zvF!coee@oC?|af=-dyuQcn_HI1bNxG?Y<#g_Z{&a0zkgDK1g1Fj;P-^2N3+h4`?3s zEd{s$BtMuRncwIEfF8nq{VBls=PhOc#p^Tx@Ji_7+X!&|D7^e!ypHJ&{#D;CfbkXR zTg}Vx3*d_InE%Z;6##fdeO3{*b z6S9<)Bc$vl<*29z$vBGs&s*$n+UtW*d864cZUs2-;-ICJIzSB54sX*X=6W@0FqrZR z)al)d9@FbCd7FVJ!;Wd`2}i=Z=>P3i68o#}bKQn4x44~LaM}`vDnwCrv}=PGh*`U> z-fm?$p%ah7F>nL8%O!R)@uDL?jK?FcurhejBV@}$_~8gI>1+PyScQuny?@Re*gMqL zhERU3Eu3&ZEwD=yf(u%TE2y@ea?*-NWWhTqGK^7gLwXh=NCW!{+I4F6-zSTR)Nm<) zy%_6!M=QBq1Wh;RvK@?^J{3hmO1327bsT#r7L#rSO{A9ctofqZgXVu1@|udwSH}p- zS9Cq?ja6DQRe3%4sML^AhanY<*`sM)FqXnbgj)Y^ONu2c;7)k`5g-A3tqwdlH6L;sGlDEQTgE`%`IZ%MKI zv%H7hc~0-Lr{WPX4n7Mhtq7gEDHf}qpW{&$Ew1A2DL{nIJ)e8Y zDgE8GGoM7bHmOLVroOHYDEqI?R{}M=LJtiH)fB|==)3q{7m3UuL?gSKqK@C-BYb)~ zAT)1|BkXuxNXMf^<9IAJI=UKJI?r&fqy>#6#lRAa>e%N4G%n5UGJx2)jBI+N_x!!5 zW|w@kd!~W^pvG~9$&-A|(Iwg=Cz~UG@1}~0Oc2dj18BY%rW(u7Njm(S9b17Y1Tw7o zgBU@~=1#~z#}zl;X)297)eWM6?FA?rF|fOR!RDrd5O7|ULoJR$O4^9QF5KNiFr87q zITxO1DTJl60#>3#8F*x#(8XZXPw;Kd8wblLX1*?>+pyixc~oy?0JDK%0YPG%?wW@+ zaN=?G82*vVz8w9V7$-MIP0G&Xb?L(ZDT@9Vf+kp&<NKp*@heQ@ExRw3h;H21J4;RPkP2TTC7&DG2uh51E6Lvi zUJfI8qa?%5F~4JLZIqBO3H_*-cRz*w84z8WZ#2$1@0Roy?yF(Q8;Fv5j9f3iA)O1B z8qLhzBnr0WyPh$%#g@N}9G9mnO5mia)CF~-0`=V=k4zSg^(jdT>2_`rgVvY*gnQQ@ zDh;DNCu9J`p~zjz_vL)a6zWEhGt|6IC)>L|S$r@6`Go%{U}?0{136I-d`Uk$-2)D_6F?d>u zHgq6DLcoMwHv1C3pA+FeZur4cJK;f<nZM)V> z5hEm__5M8(5;ybde#gDAeNp8vTVKnyg;5brx<3yUO(r*6EF3p@X)EzKi%@$3g%Ua@ zUHs`z4nnYpHdm}kJb`h-SRq&2XW%dHvuhwpGWlTDDVa1sIB1sV$-_5jj(Zr=dhO)Y z+*+nc$g5N}MjxE}wKzKT@LjfdYlyM(x(E6^J=j4M^uc5_3U&tqbdQ zW>{V4Rcw0|T8qYLHyvj1(u6TWTYgrkEpx6xQyK*cEN;|Htp=1NG$FepGGiuF5MtQm z1!IQ0MsJD3S!>WBG>aw278;hOgGv!YrFLfV?OaDGN!L`(IFN+I&L?rWelHrp8%=AJ zqtjCt6Y|Ra%U?}>)BEce5p^yWsnOLMCLLE(^*OSr-7&3DINEsIMG~P}L=#Xh7ZN|Ue;$Bujwt8t?%&*6QnTeKug_-L=|p2xWe77t*;7?6p+vPNMK zQi(wu%8prMx;)hSOl;^z-hJ6P;09KTB@dYBS)o)>>g~#>=5jQ1J}t3Zb!dXKgjzEU z+t7`zz6YyuR>^_UL`+&HL5!K5(z#fim1^)VQPn(DTP`9BQ{t4gOGu$)q`(16XgiD& zgql^$aH}$n>9L$=0$i4>@k^Is#MU#?>b@>Fo$e4KGKpyF8DMCUZRJy`BT>; z|BCT4MToG&DAMgl`htel>PS~_un1SB*-Lmj*EoMc+f&4!AB8-he|Q#6WZ_r>QFL#1 z?8*e~jyXYnb`2B(3N?b=+TaA+vQ~lKn6$LD5Z|SYD$d-@Z&1o1`&W{duf3Ku_NRHc zF|oZ!D?YPC*@z!`i$NyiOKniA?IvxvzK7ms56@#ds`3U~f7t|XdM{{Ia|ku;?PJ_L zK|)E04hFSpDPxzPi+<--Fg%H8T_&ND%a+DPoP5a)3T|&yx{N&rHfYs@4~-EkRch1yf=t=%kS$Ca_#8MT&=1T%g_ z7BuH7_&2n;;mBS+qIpIcE{~R0Y<@mqJJ`J?xS|;d^lawX7;*OdE?xqAMCmTUdAj4( zfG%85A!r4xstBGqZ({G{I}|JviL~yAnJnF5yJC&oOw!YzAgqfY9}J^r2ujM-`|S@3 z&K`Lo*JU}~m;6{dFicFSH7F+ZvmCNUTV%THt4YjB#?WDr%nlbC-sbGz|9f=Yw zKZEF#EM>^>o|{GWPh!wgeg@N8?pOQ3;eK9k`C%@hd7+9-zh^ed_lYRflk=bxp=JCs<@8i9uS4`0RWaMv>iwOaVif^I3a!y11({ zcL;mUo}%vy=9UWgp+By53TVrXJ%F-PR{lU{xb{U==4C&*;d?HFsN=eFW8y>{3tf03 zSW`9m*PF`R*wTn0ZJOs2@&8sscF=isHlcMT<LZYYQ5o(*a@GmKt*80D83|5#TVJV?aKOR8qL77M@ zK0C3hhQAhG9Gh!UcJxV6I)%kWf?oL_09~p%tiJdU4=CAU6!n6l1$~>f{74FWcl-&4 zV-DMGWz4&>?UB@+M;}HlKw-)ev@kO!;{sKRzbM#q`(!BfcjHntj;IyX3TFgEg5a)f z*%a#Hf4{p=!2Bargv6*5e-qW0|{f;NfA1lK%dnU0=y8&S(V+wcJ1FjF|6} z3NI;I@8zC3De$ksu0hct$axf~K4Ijp3D=RvE|_)sH zBs?Wp<}uD!OAy?SMt^g9_#BU{sen8xgABvm0*i{z6Fkk6_ksymGu7D2pF?< z^9FEi4L#}aoJo9G_YivUN=+u4q2Otij#l>NVn*zC6y@;Pm`b}ZHeY8&*UGvk#RMet zB=KjfD>$w=h2~K5R+7fgHJyL$V{_#`Dq-(HWmtb=hq~JL`stlvZhF?F-EStZgXm}E zFQ1!<$KD^>N_V2qqojEG8DRg$loBVV1wI2iR7Ydf9hA+P=nd^-uJ1=VdsksBXCZY3 z^*;|qDp=!(orEt+0i-NL5JSnHd%t(ZmsOyC}PEu|SCpyGmc}quR?@rCrS6Pv|5;Ttq16 z+aiy>xDqU%w%7kf53s+Sz5TL-2O6{s3n=;qY^6!KdQi<#ETReYqbJ`xp1FaJfcjtb z%j(-%y6do(IiC%tJAET_WK%p=IAe&)#wb37*wgxqr=9{l+0An8!P%SwvQ@KJTU}ax zS${F*w0amJ6>D;%#4w#}F!h(e_#8*OL!)^FMpwK$GF7GPA5Wsgujlx=P_LsG;QlwQ z`UAx!01kw}S7mLKHDYIsFyMlDb}g;99w?*D@I>CqrV-`rJrC2uh2>qZ$Jy~H%8WGs zbbAT1Bzcz}vYP&LB%+?d6>h2lq%HWUt#1P@A^*W8$(sH_-7o9MD-lWKdB6X&136-5 zWp>xCy(r=wIxI_}&wbT-Io)GnmK?w;NJjo7R{xue{)YsR1U-6Ure7O%-NbRH#zq7O zdBl)xk#YDM`G=PMKU;rl3j8}&!Carb*NQOn=|IFTjwJM7ZubAs9I);#8~(uClo%-r zHv|}Z<>CJ$TK%VLv9l~W7a_%q=f)KxMf9_hbR=mv^5EQ&Ny4RUyX};wgEA!HwNd`^ z@{?QDo+)uC16;`^b`u>?rAe3%9 z)k=T5f4+fR_TFd{Q6x80*ZbrG`((cpGu zsU8mwo#N#SSCJr(II9GI?L>Z-xzKue>5xg4s8;61{7rog8HLu6tQk6nQ%lFx*dMRs z3I`X2pPa@9eE$-M9FK1#+*mv-(}$v^tTTmbvF~ zXo3Hh*aC4uMKxky{+U16benwFPtg+6?m3DIzyDZmvcBtL4lutgYWlixyIKPMAeYIg z;x9C@JK*?1MYG`eje44c#94G4?!3EKc`8&GIlVxMT6tYW`Rak;>@wUcQk)F8QwshnNmr%BUVkfvdhtnTZ*YI==ru=!)>s|t9D;IU0 z?agYE3N^o4jrUS&GC4hG;F9iJ{f6foau_9#8`uHO9zpgFT1~>{i1&+)Nl=nt^NRY> z=?nt372=n>38+vZ%RR1_Z6b_30}6UALzIW~a2pJjzS{fFI82qV31{}8j5jR&FuAQl zMVYj)iiz?9)LTx75_I`*jU+_=?tq4_<-RO;p7!VljeRh<=m=jNMF9?xpE~nvC^Q1~ znjl7Gc2&u8au&CCytlbp+jt{njN9YQkI}&?Kc|@$ zcn@CQ%pXnOjwbgv9N{_zBDA_WQOLtdf^u}NL|o-A80ufBjJu#4c-;g`7+s|#Ft(b7 zH|E^#MSb!qJ47+Aq6`v%75wlubyyE-r^5t3157K^gA<_`XG>;#4c(!tj0VXl#~8*; zk?rwh0WYEyvEAt0r%V(@ESJquRGUQ4%TeTXWqyO1H{r<1bdH{?I@U?2Awwt|NMamk zl9+&5OBP5XFojkDt#+8jV3|*{YBnAiw4hKT@ z6hiATfp=#zg98dk=30jfbD$*3J0pECPx~5*16V(ZZf))oEk`6LM29FNQQa;}9uq&nDazEm9548N@9%Hq7zpytSdqPVJ$E zD?n9I^10EyC-E0jr2#Wi$Jo@N@iquVQ0Zp%XFqh;{vD^^*Qlr{;bwAHN<0knsU)Mj z6A%3nkJl&%|H_g$`gg^i&}@Wx88f1tF?DxQi@rr>Ki^4MbC0pB01}htFJj;MXPGrW z;xnc{AKKk3gZ4*Ac~$Lv#%~8Sbe#xsewvd?&JW_gtO$+$?$aVG8V!|Ewq>R~MeH7W za0y?Y6YDru#N?o6oZ%*h2wV-8eIF5D&M4IV&V5<(Lkm!f(_vQ)38gKA5s9DSB<5lV zC&D`W1vw#WI1Jc^NUzdDWC%rJP_3=ze76Po;P=L?3TiAGKYipg{2 zj|wD_Z#3ph5y=B}Y-pWd^|NRa5)Puc+i7%E+{6!rS7V>Q=pHJj+*X`8JfLceIw%=@ zHK%({r1569&m!8H=g|jVYALBP!xd;Y36SNU_~!pWXG!sWD2LKkHjz$$T@(yWIoaEs zkYizdQ|l5rg78mz4MN&eQtT&n+`l}d)^L3)nNX%w+BfQv^^L=W{1u>X<}fSoW2J%~ zgCBU{URL9%d{O@;<<=+6HDy{9#zoc(?dggtt^yM&RjNlHzA}12jcj z9NLyQoKX;cpN#|ULh(pJd+$6?O6 z^iM_ufo4G0OaG>#Gz&=PRfh`XKiMivInW0ptH1j0+Tj{!*y>v6fz501Y-4v?sG(jK z4;v_FrI&uQC&fQfLg2~W8e zS!A;%`n%E=^tV|5Hz=-saYe*%^NAHVckAIqXveTk(H1vXXLj!3#IO{*VVBpmJO`KV}Hj*cxt9LoOx|(=QLRifZWR zp!%2A57g&N$iU!$w+`smYjx5l(O{(YoBuE`D(M;JQaLJGPT6wwC;U%t`p?=F+xJ_e zw6~TKOx#?Q_lmye*Kg2JTo$N#6BB^R;3Zi*U!}AA5CUIY04Ndh3Jf8gv@p8?!rK#j zBbb_9p2DMf1V7d&Mu2omW@_Uk2{RBEbDtS*ZPnxNbm)7tT9@BfoZ^Od$gK`d7!n-D zkKOfOhOx!K67-20`)H zRu%uInkz+1A!ya8_s(tqZu-9qE6R+C|K(ACXiI2o-zOQ9|KhH&vqF>f7a{pacmGk8 z?O$IWP_UIpS*XDlSNS)|=I^xYwp%#-jOpexTO0pRdiozPVY7%nwIO_B?k!!C5I*~e zIn{lw*&P@bv5DNRX|2Ge6;>e<1W%W_%yow*;Qlk7zv!KOvSRp>sCRPofK4>5Alo7J zRpiGX!t~$9Cv3oZ_u6%~hs|JUnEU=s1rrnV!%YD(;A5Z~dF!Y>0z2{*dY2%jC*@Ri z_YWcdhlBA+_&o%#>a%|;?h#)n3C;m>Y-qawn-nE>5vB<*f^jBzV6Fjd!T-jsX@RmlgraiGOp5I6ib{7ASeERA1cvS5>Vyuh`A*$XF^2`p7i~E1< z5BkQ4_E#jO)$gZ2g01fP0jc>_5yb8V8-I*qXGP@++z0kbfFpzA?!QdQB~EW|CNe>! z#0Iy-(~|d%G|)R(CxGHt7}gO*N&l@Qo5lh-qP<^COX?3G;q*$$9924t7t50jQPnJtbfXwz+mFeZIV}{ixLs`H<&pu z#KJ2NbydE?`|kQ?9}ld?!{ukdla2nBgau8T zf^Y&|v$C{Jf%hl%bYY9;p%C)&;?fqZbkUP2(1cBfft~;*;12ty@7D`kexLTvq9L}l zL9pd2J=BJXjo5D58Z)X)Ex)&R==S%T8Jmo_d+kGMv)8Ca&k*61>@qGRGpWjfugh+4 zV5rnXmxf|c{1RseLq{tuJ}w3*@XN9bk2EdGd-lQ?IEr6M*zekADO*CKNx4iyd*8_P z$w`3J70fzWI3qsQ<-^bF*;golJ#phFS_<$wNxATMVJltifNwx9DofS*O`c)=P%Xzb zZC!qy6V_FrJEtaEm-!~srFuk00vX2``PRjA>n$U7vH2j+$f*1lCaw$-##cq92qu!x z8N0nNN1i@72G{8y6C` ziwGfU57Pr(dw?{bv8T+M$5SJ|^9%voKO`law#kg#K?>CV%t2*B%r>F=w~HU3c(orZWB-maSbNYLxxR^Mdi=SMlp6-ZUkvtYRZWhWlpTq57n%a%~ zvc4sLG4w(@Wo-lpDa7Tz8nmg!TXAqdI%r+;Zz~X&y5XPO-SYK_Qce5PSZ^)rsgxKkG3y%ucJu6{#t)`P=$>9Y2t&IrOsp zYN)G3bQ9}tXfQlEJp5y|@hO3C>`-VZEUkpJ$o>($=!ZZx%xvO?!Hn)7=hkprD2H)u zm5QUiqY-lMeXe+8OD>V%rVu&48*B0^!!|jmzF2j84P7+m6EE6X!o-?We}72q11qBX zO|{iPvaUusN=m&N+%=z5cXrVv;XPF2KlU=hatWjG6eOAJe7l1Lp48qd9KVK z?k0Od1oZ|ZP~Ukg9F??F#+ee|OPqK$yJYK)O<7JH1wj%eu_5zI9y&Qd>oQ{DdubtJ zyrstVYB$bEF)+~f4!J`GKA0_0{^2%R{6RjWNeaMEg>krCkoel1Of&9=vyFe)VTn=bPTwB@}+Mreg=9 z*<0Cl2Rhrt!Np3P&F%&EXxm$=$9R12F2~~h70^bC){Rb8HUz=t- zqMju!_ippOl`U&!H5XXxejb<*+^g>ylP;yayFWhe$QxQR96x+txhfZb{)Yr=7^-q~ zhc>gp%}<F*N-A?zj#^*89MM#M4UOXP_QA421m9%2*JXJbf{TWS1)`C9>W9VP zr7m24Q%!LmjO0R{8 z9{7}XWeNGSq!hZFJ5Gi0Vgt;A-OV7?5V6%JDA*tH2_oxpBaYmeXMBM>dcu8B`eBso zCeR6=Wp;+}iA3Z$thp<(I{BBET=mGrA^$h%CG=*%8e$Pzasp;+8tUXo^a~&T*5Uc5 z_9spuG#N!(%2gZ3d`)(Z3sk=XQ zv_b9AEW081&JOn|0-u!N(vi)gus~wSj-pY2+5erl@PAwhTZvo`(9g|kR3vOXgBF*% zyyhd<(YSp%0O!i2Rh7c?I)QVV{PW_q&44rmpzF zXSn`by!E)x`=jiBa`Hbp;q&2NvHTwoLx%i6D~?%rVtL-YWD(`UY2vxQ(N!;h$-Dmo zw*My!i-h{?yyY?w(8tHT8_?$mOa)pQ(qugF$V2osI1%&VIyh#_Pg`fB zw+(jUAgp^!K0*r#^ZR~Z1CyyC;z1H~SqNmvabJim89Gv`A@S`D;p*WoR(TjZv;Ik1 z`~|*fngmFOh8A?Af9}(_+ep*8W0c8NZj$+m3saSv#Ps+vnlbK8drf{DzRSAh{wAP)(;sOhe*qIb%j$;qy>tz2zZ7U3@9aU=coO(Sgl^+ zYOqFc+G^(znV8?^G11J&>d7Myajg0Ii=N!Po-x=#w8FEOcs=%6zXWoOLkx{ zsplhkBEkbk7TBM*$D=?83@zAPF}5P2vWy}a5| znBSL*+7oW?E1%oc;#@Z03hc+m9Ec4&-UDV1YfkD|RgnNpVt!MqFetH)TX!o9l?w3} z<3RA)jK;yD!4X=X53!^;DhJWUzo!B708e`@uKCg}4VZrnPg+=AC=qR-xq)lLW^l7BU8iRg}-* zqgG4u#!x8g=E)%C<3@*QsX0{PX*K&N#f1nFb$xDY=Y1x0=v->`q=w=(gV+zE96;k~ z`iX!jz+hLHap6PozFXk5vZpYYns8Fzr4>$SEC}2qq$@9^MLWAKK(v;NVjC*8uZBQN8o; z_h8sRuc;atY`k4FRpj|oVj^T;O?l|SB3RHho`zaNcwrOsP-H-SL$DU>dE%Sa?({E! z0QPAX2EK~L$ana)LiK{2$O~1lfrj`|$0n}1cnCa)yky0aP2qw2GONXB*^))7t}cKc zZ%P6i6%n2wZr`46k14j9*>X~-ckYn#KwQ0?wK#T7f1-=4@a1D3pAyb_)hMk~Jhds+ zXfakDMcWH?$RY`pY2G3HWfuce(v30avl^(Yd(y7kB)~)F1I2*qh?gKm#?h&GD{4Nc zeO!r1)j8>#A8y}1{5Z)Kz4T&@wWW9iKY6RxFQEhmV<1E ziERC^Sb13{3)44nC;lWDS|%b?#D>ND45>Ah{SRJKQ%7|HmbcoAN>KQ^N}^cT!VMB~ z4Q9Z!qxtT9hP!qR=S@}WNV%M44~)XS=iN7y&NzLY(ahAYR8|K8Pv2Tg5H>AiHj|1Q zrmJAcW;#0xr5-p9Ic7q2oT}~C4J!MC-KC~YSjC`bRi&Hy04}aqup1Tfqg>5*H)mJr zQ|EWH{+hcnNlGYpEkB^Ry0!BLR<{A;oD39iPzSKCM@XaOQTuaM8U}-3+SHo65}M0^ zl&^Dsgb+BF`4RkamHRFDE`EpGPZjg&z#r+p%cLqK+j@c$;S5HPgs$039&y6cb6v^ zHfCCNw@j-2!t*P8DdhNf{^2;xCGdT(1^)@qqx^TY1jm?#LgkYCYr5ukVA8m4z>Rn| zMZ~OPQyf{VQ^`Af4Z=xJD+x`25)I5vDug7+#SHWw+5V=1u#C#FS8Ygev;$_*s1APj zr-sGG9Rnrnu7JP-1$;G?Nk6};%hsQ$pQIx=PhBByi;{2C@I}C+NmOq45lz*p1L49$ z=PSuF(^D^wJqU47v$f}?_sR}7Ijv1t^mW>+nFhHfFL)u+f#BMWeNQ%M|15bddr|8L zl$NrUxTko}oZoguDYDYu#*5GjUKYtW19)4%o9_UYFnN?Pjs+slk@%;sQ%Ngi;qMeE zmmo?U@`S-UAN|(f^tXpd@E2Qjh4FGO+bVC`k&O^>PLqc}z zmDy$I0x8fS5RyA^NN(eqChIN>x(_2=i%V)_YJjKI)o{x8Rb~luP;U4O(C|SGb>nFB#*oaLiPsQqr})Vp(yFS)k4vA}o=j!uLj0 zaK1ve3w;pB7)*_uNyfyj12X`u&NQ_AMi5d#lXPEkYM~;%Cu5{lWywb7$2*gq>bGYf z%M+wU97sw|bGH3}puNgvxLE|pWO(dJ=Fi-JFC(5+!)@ZlZ7-gvM6!U0!bLfCErTR}$!C>z#|t{gQJj)0PjrL8sJ~-Jbn$EK z4&q{uV@iMN0V@4G*!SJVfz#f%w!t7SyG(YEJW$mz$h7A7C>sgc<#oetROnN3T9N_( z1so>waZa_(+GRPIR}H!hqQm^S1!m@mm8hnt6~IQ}xWWH|Wtm2l3; z7V~aCVqL+g% zR9zKpa7EFf89=Y*ryQe676MjUYZ-Kg0pxEh?67AL!xCD%x8#H}myDz6Phdc(8-Dt` zVgh%+EbD?_WV&<{Tfh#gQpwkVfxtm+$K|>8o3TxbzlrS$fFVqDGbj)d!*K-HZ3??T zYG^<7H$f_)=u?ArbT_-QcS||WY(nx4IRg?qw68MK<7hzjI~;^yr@*WR_FME^em*i* zmWu=(5kRc|Jf`R@Omav`8J1p3iV1!epCI zhV)qx-oCI8P!|A7zf!VyS~tiCE>D5^`cqp9R7K9Xv38z@um9sRYTvTqhscOWr5{|| z;uTUGZ6-sRhZ@kNjyr2s=a5;TX!>La%s3GT&D(w2lW|Ynup3c!cQWa^GkObwEwUtQ z*d=<^?spMRLwZRH3raU4)ZdP_)!d2lxT9*#u8!alHA&3Un%wEG1FpQQw{5UqI?s0y zdoCs*jiKfCqWA}5?uPxk_5mV{S9Ib>suP!4P`ATAvZ_rzj0{jQI}DyE3FXKgWi;hQ z!qGVMzH|PnNRsM(>;``NDX5qmt8URH6jw>L7A5oBh#Bql?Nd~&*I-i$G?4mBn{d$X z6AW#}<$;v%^UtAABaWAlef%!Lw2NwYj3ZDtMPX>6@GXpWCEEh%oi$Vn)GT1Eti}c9 z{0ggrwnzz?F^)la_2ipk*r(ybFjs8S!1u09Z&ef*t1H8C59V~9L zJtC-_vV7gN5osm{_>z`LI^96a66n|5U3dzLjjO?-kid9yrD}KsT_Q>gUyQ}&$dzdy z47cKgd;Ebt5O60{q7lP`2vU2&wTo}cf4nwV`wx})3+>w*;p2gaR*WFT^ah4GcbV)O ziogUqUA>K6FOL!1p$u{is#xW~WOaMuH6sH{guH`*SazUC!e_K^pu$1DkX$g zTtggqN6Pw025!$|7&{o&G-5Pi<8m@OgOEN&s!C(j4uT*h+sL{t6xONyHH876bkRvI zBKIMSb!9z4U-OSEJ``#-Fws^$AeWrq=Mrn)_&RSM_SOYftWAR=2fdsUel3vS5B2cX zrQoAq8bYoze2RAy{D+^4?7y`U*s0JWR$y93(<3)fOk9F}3u+CF4q0J5_wGfN&&<^u zeejHu9BnAeIh^|ujO4|inLh?^<@8LN)PeTJ;RI8Nx5{nIGj%QU@<^T;F)q{j5ePD) zWd1Y)XWv~1ff0ux*>)EC-G=}dFl!JInC1Ph$^8^CX0gUxui&KMh&`*#H^mS1l@MmE zT7Zbu1UZ#aR3_bLk8AZ4OS-TQgH1T~Zz%hh#yhkXoJsHwG_z78e z6nX)>3b&P?RM@<8Z};ud3d!uNCT*N{p+D;dnbcJu+-Pov5AXjnlt`pY3W8niKLL`> z0nmdt);3{e@uKebf%Hbt7)1`}Rq9$gK=u})SonY(o;vnK;eU;^ZPeLU&G*d%lT6kt z$v*(0MP2esR$^PvQ|&M*8%0F^g2ORl_A88zA~Gdc+8EfNG{rVvUT}OY6l3s*8u7Bo zIDLDgq`vY?jnGSLDa&DIo6n#FBsovokbIXt=2@7r-HV?|%Lg--``aKR->*H=*KVqx zbexo#nKLw*ix)|2%T^Z)!rh7k&VvwRfIb;+x`e@x`uo?7*9G;PFmD2$YvB=+XF!N7 z0iy`)5g#v!OkT9VO-+j-;@M49k&T$>cG9_$X;kL}^3G#xZW0G!{Sba}|I1YH=G`D7 zgkCWuRy!7}RniRDla|k!1G`SI!E7M^7p0c66}f}4_{n21%2;qdDCe4-gb<@mj*%e% z2M~24l{C)Y*Kb&=g#~Z}+t|(!*K=T%qgJw0{k|i*^u(XYsp1m84+N0ZkM!0}*hd|cz$X1iV>IVe0o_S@&B&?v#QP$Mv8wh~@`l@)@i@>Tqx^)fo zauFnoCqo46rk+HMl3lsiE#Oyzk7eoQI1xbei>TnYm6%q zYRf{qisvqoALciqV72WhH6D&W39V>1+!34?W%PoHxks?{`Xmg<8X-cVJN0|RQ)Fc$ z9$@?;2#;76t3yxlJN_US!#Zy{@f&+Tfq;^#^o3kKJJGOV}oN6fQ$y zF|v?0w1?+-ppoCI{Xtd3EwJ_~m-3H&z4q#}Adt?CdkRiNe%p2*xjVJ&dlDZM9L=)w zBJ5@NRzsUFRSSOr&1Nhm!}{CEz84A$e>VpztYvQ^qtoFyFDQaFt+*${o<#UQZ*li1GKBN&8h2Y~i(HlJhda26LB>8@)VNuBWG(cF& zoAdU^n}mQckDNBj(26w_JcIZ9xh`cql`K^CTTLagyoT@CITdE(GsiHK_$Emf|%Qw%75@@0e+Q9cPrF~`@u?yxl7u_?1J zzSwXkRkKo19$2g!WYtl#1F5Y52Yj$2)N*KZ=~>Rw_pIi)=j2_dMpRQ57-##mJ8X}Ig;pc==Rs1)S^F*saI$==Y0h%enACz7JVjEUKv=y*!5X9GKmG$g+8D@cn?~Fjlx3d~HM|zF!HC+i<%bi7^YE za2E|APNepn+AX_*bYnFJ87d$!!ew1iZJP@j~yo}cPyf7;ErmZF=>;#7YTC;|dkr!hciwd9M?0nSeH z16U97O3Q#SJ|QCK#)p&A990wVDlV0^=%KKDZ-!oF#K`Z}VQ9o(Cty%+i2Rb~y<|6K z?%S!V=RSgsa-+}|9>&w`QAOFVDy$uTY0KKP#{q7iaj7vBkf6Trxm#o>pb1JXAR; za}_QO?RhpjOeRKB9u3ueRy>Q;0~+s0V-xC?92U)RHItsY^ridlE*ohfDJxksVg=6; zcXI*)B{_d05KSC}URx7#M4B0r;p4C5e)gNwkr5Jd`y^|$ac4mcJ8uj(k_-^{8Nnp6 z&%f_@*kZ}=84og*nYXCUm7AZL!vpdz!iQuJp!Q;?4-bYBy?sQWUZF$?24V;l^&QG|PYP=Dp8isl&b zFAwQr@SUC|fU18d$@k6^!D?}OO2n!b~HljRD3K^c##6(Hs-lrsA=}N$+m2*NFIExV~ z1>;HHb5zCOZR0o$=Y?_TSu0x#-e~oLCw9SY7B3H)G|$F@c`Pz&{CR*I{x>D z#q`s{-vg_xlAxTqT3Po7zw=2WCNVu>)H2Rk(u3e>&Vp~dH8KQHPV{nklAk{?4^Y6F zf525TKR=Rzc3(w;F8u5aXk+}E6y~~pmYVAiT%GkoWz#=)*B$u16R@K00nVUpq ze|k3`uh!63LtrIzZRJ}B69I_%f;=-DY-rpXFcKEtM5Ss!IU+Wo|2F&LhV(6O!+pNL zO(U|*RJ#bp*H8cW3Q>OI`cjek3<6bjAByV;7+=r_Z1*Uh1zGHWGjkGSoH-NW63FJ$K+;&zhLGg z`8cUXc4Dg;0AI{Y&AMIX=Nm(eIO(ItMkEDboU0W0X^!d!;=8O7YzNZU3-eNRW$K(I z5SQq2(~JAwXChJR1oIySgxPZ7HU^!?h7^(fNihRdau1PBcJZZZY9@cGLa<*T6zg?o zCuU`H*yUONjm3Hs6fJW>({AsV_dI^qKzqA0c2z*%pvlnA$#Br?6%?_IkQ#`_j1)#Q z#fdmZpTkdJ01vY)8%70eCc3OM{4S-dsICBi2CNSrX6u9?doRe`3QCb*{W1Q3F5$nw z132xys4p?;dl2jf6BHAx#zJj$WbnZkiMh0h5fm)CXQRGlyh)C=lR?Bd1aTu9lw#|t1ApVIf|BWEA`1@KrO ziS6h1ln|P1gJ4!jWr5leWzDxR8}=Y?U3V;W2)APC4%)S3D+*H!phD0cqNX>l+QurxJZ+-#qiZ1QhE7Pq8hI5| zibttpW*OImE*!)fo($PWQJ%O zKwx1EL2YU~z}2W90(+580K=z}Zap@JQ=Ntv{JmTx7eY@~=EEisN0vpN_RGDJcl+Y0 z%7Y~eun?VD)n;;T0TWdy(=czS)az4;E7mYu3z9-R*3B?bl;*so&Xg(*wr+m57w7UL zB%B560Enkyc@z=WBHbg-+2&c$#oegKYoq|HK-I2>u|UH@Z&j9o1JT0R6AZo{X1xD( z7`xT{RP?>T8D|R8(R^x6z6!QwH>E8?FZfCwCbh4_rajIo) zzivBt#e7u0G&hQa7jQ^wbZuJ^W1I`otk1noi-nD*EP0p&QP^xVBh6sl=oPu;EkZ`v z=He1@DweMjrmJS)cc&RvukXDcddtlaEsE{Z`zXl4%KNtsx8EL(>6f;%%8p+pr8!KJ znPh5DRG1qjEArez|(-0_!inCu_*Q7*tJLp2kX2bi?5TwSvhOvyh8 zG7Stg;gZqa$!u!Be#HBJw$gYl98#z zz{(}i0@fWChUcH49uk(OIi9k{mBV)~Y{|7bN+7t3Vv$kkmB;10$c_dsUV=7(wv|EQ zoK8YBY#ajz`6X^=@PGK&@lFO5Q5lu@edUb@HQ3+vV4mW^fJ| z&d*UNMkWDzD@-DvN^)FSEt z^{}QJz0iy7b7&ta7cm&uM`ym{d`2g9PQ$l2si+d*R+7tZ7&xIe=_0(yjf}v9Jq8S5iAj& zl6bSE0@6CGAhRo7(JnAd^Mc9Y>pwbWm8c@Say_HFGbvoPy zapATczBp#u>pbrf7rq*mVS3oepphqWY>dbwukT3nqHo?LWm(c2gO=Brs_6k=Vw z^dC#KH(ODtm=793Hx>r9Q|yBtW}8vG4|^jE_0U6EhbRLHC0S_3Q<%aGGw(|-VpLu7 zK0fg}FN2`emuCBi>$yh1Dv2GaNJEH5-3K2UBgwVwLL1RUz}q~-nXOwo8#`VBC(Ng7 zuenbC#qIFb6%g;2Y1?Bpa0}#JKegVE+udkAm-Y>4J=f1k&;C@mDkpF0Pqf~gzyt`i z9+P2(&ClRP)54KcWj*`P1C+eK8ziU~iBP0lY+Cae?3_$Wg1HBox?eYonQy5-y?Mz= zxWm5E!rRlz;`BD3|0kaX*Y@c#JXA^i|&%3Px3$c>)-ra(IQt z)l58As>9r2+=-(Nk0-DSCh=BLOy>_cBb3C00y+r8vMA?l;E9AY91##VmY2$=yqCtu z`=aN`UF;O~X}H5)b|lm1V48^YctP`9-omr38+o55J&pKY` zRcLL#&joP;Y2wRhx6iMP9#Ux11u}^FvFE3#4QsAkg5Smc4B$%0i}twQrC^iw=m0r( zeds^LOuhmf(G@T>AUa&Hz5#M_{(I&A|21oS`;L{|k#O~h&hx~xq4cv0jpJ#vWzT1S zFAbJR4IMnSRd*w$3;?c(vJqn_H2e5qNNZoPZv5}z!M%)h%2z}S0I8T>0c;D;X$=zm z%JK~gdPJ;wAWMF~cmmr$hHlIBs?~);yx{Iv$e|%?17@)MgNwb4fO-e#UKv~*LANl5gYkz7d< z{*a7Wp#cw-vp3_KzBDo=Fg{KUjUCv z*gg77-}A8fc&ikQ52-|WQ9KwV9xZ|=qUg{@*h(J)u&l$?{0yu5VCA!7k@E+C-VjLK z?=tkin!q523Ah_%NsxCu>q4@ti`Bx?zqG_bV_4Tr!dVO$#4L?H$SNOR2_kcWqkESL z$fqw+x3VXsyTj@sfB$OqLq*pDZ&?O=PYCis$aCTMrjsV4kUmk~&A4^>Keh}%`pDWgW&(M(f!Y?eYI+>iCe)wKjB+3yu3IA_hi-z0JyhhG4$_NGAnu| zjyE*cC>2@_rSTEi6$ssPX@qQ+iWkxkTJ#=(NSbMx>#Hh>Po%SCt#Au)4TwB#mae*_aw1mGK9(d! zJLLoLKv!@rTbdhph(DA@f^Kp_TDWo#LYI7@3&KL}<-LWozHaPo&kkOg=e$AB#~9d$whb zxv5(JoRr{)x@|`BQbD*1T@{axyaeMwTPR2rciFnzW|qPgK8e&JTXZMF@7Vp#vHLks z54mA-vWuKUSr;^tQcTHJ>#A6rd^4hFo__x!um$X+^xUC=0ATzJoPOo@2r&&l z-uPl0pR?`e!1BE*c?NsVPS zpdFd@?sSjKUJb?1jf)Nto_pMcxh<_Mkny~Rk#5z3r@eIrq;0uVSIW)X$Xe@Om0S8# zgXPi0x^Gp8PnBa<*>o-1ye|~f|wB{&FsfMW0bg%Er3^M34 zMCTN@Xx7hY?L9c?eOm%IRXKBTgJB6A@8E$%%EK;Phtl7fDc+v-xJ)-qN{W2a@>Q19 zzhnNd*32Ak0Ql2})p)mZ>ImO(&g-4{9cN(}w*ec`0s-=~x9ff5KnUnypV=oi?$8fb zvQA0sbvZt?lSaj5dm=_*wJd^xMiAC}=>3NIA7z_(-hVF?SS0U^xz<&?xdA%uGX9V94QpCV`JSg_~7!TryCrg=Xp73cM@b~GL0+Ugbu3Yt|kez)PB?)T# zy80!RvTSaG(?ux)4AM}a!vHOJ2>l-}L3WXYO6{~BSD$TQ8&@e2)ZqBp*A8@}vuDT@ zK{^X>lFLD)K>We4M4PYF+CJ!~An%VF0t69hMj2xvhR<@k25=aE=j^Q2kEs-!x%OB& zwH*u~!3U2QeJXxSh|7i>y{(gHm2+exT}s8gDs@1O=|6fVd+v*L1?_`^K`x& zu1-X0X$tj~*`MIqH}Wg=2VZJoK2v1<0TH$XDAaSEjffezo7cgVI_+nMp;~uSj~fs z<#Djg@X9e!#H?al8sMUlPTQaLlPW=ctTG&WQ~x?f0@k+Ox@K|$=%EjD2_Bch5Fz8w zlz??qbFRq0hDD$$Ej{Z}6hMsYN1wjCZ4Hy{H+r1kjaVo0MVvHMN;^xPqfUYGKXElM zy4Ur=B>wcEJV%)qDsT?we&TBp^iC`uEC%=G4oXq{(WXN757%h+Q&~673`+e^b4g6!<@*m<{tw9KTm7pK?r3 zA9Ckx!;X;Xb6xPT!u6+VTvq)Hw0I|#r5dvj{k2-8L<>Qo{qXiLbDEWKUB_Y@xZ6re z@c@K0Dis)b<^6R|Ne?w|oUfbRZZ%?w`%(nsY(@LlkFUnA2qXOy4w^XrQ>E{k$W&)O zW@j1MDDM?B;lklg9x$fl&1x&?dKItyB}SqV@98ma&WBqN+mcFK!%jcZK!RdKQ6@lNPx*a z8B*Lbyd@?ty#H98ztakRh{KJ>R+$=+{V9<-Sh68aQ@4uOImQl8co8|` zQePnbp=qSzV+Ehlv15_x3vYaigS$O)250-rI(0lyOA|{xKi06|XSaR$We)mzZ6cep z@yOq^cq8Z!5I+*4it)M)@N7l|kBLDIBcm5kX%$h*U>cpP>8Cn89pvCdh5n=PBo%fkX)_I);3B4dt>3+jKFj{2)eS^-{ZkKCKOuWCcjGl*qsSWjo=*&??KKyv_%biVQpBTj>c) zBB9M)KvE2;s6UWdN+~fD;3W!|57qmu?lmKHublW1eylASgupeGh@KXvQ+!}{Y;IUn zSx=6N<+u$Jo3Wy)Ko?c5-KaX&99{NTRuW7(HX{y;uRPd|^2hA_+0|$_+6iNLJ5X-) z1!>|-bC;Ep$b|x5pv0paz@Ra0E)Om9UCN|*ZJK3vt+F@tn)Ysu#?Q`}<8fKL(&S{5 zhYsu?m-Xud9QK@apLfAFT3SNmJ&N5Lb~~ng^pOHcq^)DEKSIAIMiuj)tpF;c`}znc zE^Wi-3_eFIWkH!hil=8ekgo^ds%|4hdu(gy`ybsX_wMs-=rKcJ%V!^%GpsDyek{+l zQ}yexmS92WFy_nrZ+E6mBv``YEw_xU8?ePpw5GSgIjG@lN^yZK`YM)`e2X7t2r2dD z;me{_O9I4osIEJb5&hB+!BGc3?G}$(pItl5mOGfI9R>%mtDWESlPzip$u3${<(8N@ zO5*U3ox7K6;GlOkSBf}HXf#;Z^R=@-k0@+neeI24ORHYnP+S>Oxe(bRud!*`qM}N%Z7w?( z?t80_PbV@>zkZ$UmxNn^$T`q^21-=8?t1}23#LpTowHWVd9`YZnUN{NzF4*wBpQB3 z4I}*-?<-i@N|J3R@@Hy%yjUSvqMr*t$%8=PX1B23h2*y<=;#pUq8#B8fr}V`wki30 z(`l3&j4wb@3`IzJPke>-X|B=GNGow()X}vrMRtdfcPJ3qPtQ}2?!OYAK*kOUb={Ubh%||Lt^24)T(%ki`&mb#jO=k`Y zf`O$2!n=w!b)JZ(VW>Uf+4+BX8zp}UKrpyc4`EM@AG|Sn9d=MTsh~T9-z=hvJ1uoj zTs6@zoDHGO%d$D*ax)O20tK}4C{#tEh3i_+!P)tOi0I20=MB2YDb(94B9hg|Y&vKX zzz@24joP?t!pe3od!R7XvT2Hw>Vt5$vVQO-Q%Di@a)wb8b7Va3GsyI|-(Z3I!^{IX zCC|OHjO1)Yral=dZcUke#9-JL`Y>%58lepw9Z(C{#C%qDyGAmWpNzxSvrG0geGgzP z$9}B!$QF*2Wt?cJNH30Oxqig)nRy}&Pc;yn`n@hX&>q7Q@|6jsL9hE&WObX_n+QHA zDWD{2f85VON*dLo?w3VMPAoLS7x>{V`gj&;-jb1tX?(a?G#K%0jQ}cX&avGcB$&KA z{O*ZzNJCXlNX9Gzfw+?_dO$QD?U(j^THk*IdTcZb(UV#A*RaI7sn%IYAz>CG~az!AFZvYxy zW@}xHPA*D)LWVDD+yb=?^KDxUk$ZN^qf*I8x5vUBe>&kOtZ@Cy>p$jaJ`BHvGmToQYo6?SU$;?a1mKtC{8g(;cu}GF@{l=-JzX@K{N< zAC;lxWrIJ&&7lpi7vhl}3>L3(h3-oN2cYL(qTCtB*$(@RWK&IAr(Hz<0jkR-@@N=p zeT!$ONt{2QO^SrO#oZnmpiq97<{=y>;mM!6D)aX# z+`z*~4a~Y?jPS<~+a>28ZB%(GKG>natxqqDCzsNKQQn`U7fnf&C+*{j4R~1B(;@bB z2q>()4XNbusu)(30QpH6drRP|-4j4VN8z_Oco~ct-mxAi`|*#inn3G<$1G4i2R&_@ zCSZ?%aQAQg`q?&>y)efc-$n?JpqYo?6 zkC}T0(TYA74;#9F&omLims3q!KZ!2xqvh`Ywx4+-3>wPT_eQhGv>2rPb^2L(d7_rJ zvkx8Z^G_XejKwTwhECabI4)XsEu?zxXTt1|ON{F+O2MMZ!2K%e%})<|QQZL8PYxHl2H+ zh+CU@re6td^a-im_{T2cNw@jL3dG4Q(jYuTp(2!YDOHlfAH=~aCQ=^TEMcYGu1ljN=CglFErUqF`Hlzn*i!N(1Jpq(@lNSLO|zZ9t}DI zYzELwi*Z*M_Oqd9YZN;@FCL3w8mCRtq|PP?w)~|-J8Us#4?va-AaHpwhTjMPX7-`0qT#caP*PQ3C?7IJoXxiGtaoTk zU&{~^Y)+ln4aK@yhwKe;lMQv&NqfZSX;kl`F!aa!DLMqEGFM%6Zbb7vbFAilQUE{` zHZxd4BXKo@N$9AAAdx_#U!yF1dojUo#gqJa$E)T44Yu}~x!g%rK-{|TaVIa{&ma+$vg`m=S$<^KJUJd7@yg zkxvVV4%u%d+>#M6nP=1|4$vdPd;V%A>uS1Xl&DN~_)>7%=*E7>Tr9&)XX}i#yX~4- zb^`;LD^l|`m-;o_jhee%0-tN&h+T?_7I$CjjHXI^d?f!!?+L;8(8}7Q+c^Lxak>G8 za8m#g<5d)Tk^cV9I_P@i+F)s10MghXl@_Muy}jGe-{E@5uPjWOiVYof=EVYUOgnt( z+OfsZ5H6xDkl#jbJR4A>wO;yyO0xaFnay-)^4+W3KEAv+Y?2{e;)b|E6@YM6)f9hH zrNe$4&Etr5B+2}tB3e-NjRX@|o_rDtb-&+P?fs=^N7AZ%l}h<`tMtY_ee=(kwr*h4 zaK+uqsB`$y97m=f)wy_Z-89ziTO?6^TbYu(a%7kdp62nw_+0J#Ab3FjS%? z>AL<>81%i3{Li^ad0uvQ<}|9%xQDg2e6+o$wTWxuYo*vWvB;l6W6H*D@vEkhZSO^m zJHOwz4O5TZ3MfMBysCb}Kn;uq&R%P9Lnqu)rV;3jIBfv1?TlEfj@`%xZv}Z7N|3Vzh{QQB zvQiEM)FT1+2q+lq#YD{y+5@^Om`t$}`Jc76jYs|Mb1@ol^IqJXw?t-)FaZVQ@z`E>I zhvQ9<1S5-r5wpUt=yyN!GMX8(7a}(c+}W}f%@}0Vbg>Yf#omkhY1ZXf7x3aHDBX65DzE0+bY>i$7}TXdVr>m9 zc+&ScH7>ppl&l6S$`NmmK-l0geE?g_m|#DNTk$`&HWa8en1r?5-mKb%M2@(Q6@+5+ zPiB}9uZ1Ds7|i?I#l$wyCs$e(j4L|9!QJm=`*VmiSlF}sD3Afv%dI|Jyd=gWYA`nT zw*I3zKp+WgjbOL*@!kXs$!mBY2mXB0l=J0~dD&!4KbGARJRNss+>Xa?IzZ2hR9KDx zedFsox9q!vU#Pyt=_U?0WTQy5p;d&hQumFmoCHjhK$DiNk1R%wOHpJBYADA>;#8AX zT_%A8*xec+Otkk-igdJ|C?9sh(FSO66(q2f>#r!?2K^3V);&8RT*^8Ci78Qy_|R(< zUq4+b(xNxehIO?gj5G_3*-jzIs~c>Vy3`oJR`}GTY@f_$~sGFqpvFdm|Y4 zwdX7ctZ_Gr7FnadGh@NjE*n}5`Wpuj_n>J~kv>{)_Uf}mg=Yx=N98X?YU>g5FK6&gx`>FbN#W0#75f|5a};l+tj(T4-)D`deO%@MO1 zv7&hi(A+Ha1{*q|&O{W)FI?`sp-HM@kR(Y zaj%OWZ0KlE=q=-0amCbV4jHB-snz$};*=(#j?l@vo8MC3z^v=8`@K5*^FG{y4;8rj ztN@zE%VINg(<%FLYpWfE<5g!sDuLxubkTd3JiU3fT7o&M4|?-pa^+^ba);-o2h5|; z!-U=?8f@9y-t%SrLEy7Q?|S1($+!WmJ!?pcCdt$U7!-|58G@Y2aZYfPrCUaz-UN0I zD}oiD7k1W0ywj)CkXe+)D#NW335RzUr=6_BLU4&!KSYgGqQR^!^fC#Lp^bK+Y>nS_ z!p33i9F!SGGIR?29F z0>tzBZ)9uA5_wItKfEw*HJ+_OxBn1cSq7~MaPJ-rZ=y%V56QFJd@TR4rj1aXpI6>Q z)@NkyC9SLa0g~Rb1(_#sUX^IaT2x0rgCSEq1MLzOwa>G5k!ELBUrMl2LZTW%;EiPH zvZK{j8|!QM${E!&DsoBvXuJCEhm?Wl&c-|M6k42N3gkTx9NTz3t7nUyY9xk?@abDy zJ&{pFO~n)o4jjf;uU~~1WfB8tsa*RjvLT~bd6#i!uvMJc3&c||uB13j)4uK$?feh( zJ*WnxG&v4~Wfi@@M1EAvi&y_M0w5VUS021_r5X?2w4hs`<|eqvY8ea_fN(D|v6ivg z=@UT^8}?=T!W^eS4hl0jpha%I|CSR9 z1;i{t=`ABPnST=cJmUGfA6KemG*FhUp{4pg0BGzddlJQ|?sOjA`Eep;>TCN4GmVnMzog)`fc}^`XkLR!tVUeYjz%svK zChd<5j~&)L)Ulvm!T2GAJI|HAFmw2h;=^M?^w7fJx4W4O6%*#lJUs%pfE>`myUo&qFLsnur{)wd zTuv{_xttXplgam|V$xS>&3VFKEY&ZL6phs>(($!h0vx5HXvkI}o$ysUp$yi1icDIg z@bD{3D{vRJbgz@K&;m>5f*Bj$a!Ke{p#=a79y^xjFcafy&aG3lgMSkB@R_XWn9o9q8L?5C ziLeTSy%gER z1+NEox?^eAWvznD0TmObGoH7@1N^AF-bkP(PpDBp8N}Q9jp!bjrTIIs0^knTzuJ>K zvdO;ol|%Xv3bIVjUAj0RH4*Z-iCDbY#m@N`uf-WfQ-$PhivDvQ!q@nn{Kc-B!r~$N zfj}WPR7}?T!nJ>$=w^)=JLIlhTnd;<WKkn3Ueg!D<7CH)<%76e@yeW4G}9)^2q_va&~uOn46iGGrbv?JU6tlY+N461 znPZ%IFqE@znw|b_qDkubBJ35ANbxPwL+Nn`Y$b~N02JV_(upnC00DKU*$YCLD#ZGW zbW~KX+WEz1Xn$4l@1#^;X9C+HHqsly=puxGBkr78l4f!%C!aRBmhy8;vRDxNv+#Cg zDKn(^A2cm4qz1f(66CnZbNAqWPSK2%?sHW+L*Q3)GrEWQF~HXJn{cWc8nlgsH`9XSr_Gu*yKo&JY*kD<4JzQavQoDvq3t+^77iN%>hcF3(9`6CDDBQaK;bzGa288DORYtcS^Hx3OT*f z#iuh;I)(6QTe%2JaVzkdj4zhk z`F4BWwO4BZgyda8vX7tf%Yla}df`0#Mom-Ik0mF{7^IJQ4;TtywJ=Spj41!sb0XT6 z!@lBWwYYA2ym*DXflZ)cn|=`1nefCwiHhW$@&+wwE1`F{OCsbe?%G?VhuPH4>&t&2 zz~OIXLP(q-@Wc1Y5z*A)`8TzFU+sGt$tYtGKxEmN7$ydQ>FYyFRl2Tn5uU8KswMQ? z+NvntmMwrEdGeHKSF*H&^2W}=R4^gf`aiZyVgLOgX8U0Wb6uahMleywoZse}Wd<13 z=Z-aO;XK(4{{&Y6u?Xg%SYU?(199RwVU};@^a|Isx2c9tr5f{uNW@SbjQTEH!hbiC z*={vwGp9sslI@?$H)u(x=UNf3&RU^VBCOHJH9aB957WShEK4xP?6o^OCM>*!ekN>M zECFktwo$5Jr!&3N5#M|%?rhey@WCLVuBp5=rucRDB?SgEknOr`xl(rKy(P9UfJ%rLkG5d zLswj+Vr4Af27%&gze0MK%-1Epu$;A(<0uk)fpfyErW*1uMNht<5({?I^@TBPV3b^c zMdML8l~2jG#1~P9V((f07FWLEx7rB`%oRGw0q*}*H_VyWLl9#kp5-}{EawyGr3p`7 zBQi#kl8~$4%L4g_wM2)C0vhNuE;BT$%cbo_6g+;2zyx$x4Q(j+uZfWI(|ESg`_Oc= zg6059O-uMxW=Y@*Ycnj62_q;XqX+tc;0A=SQ3#HZ!%^1_u0V1*7hSgl*HNca`k#u4np3fsfj}AjC6gZF$X?kg49w zV91#WQ{;07(9Id5JuMM>Ro-}PsUx8Ao%s!`Z#`#paXKZ>#lMdLibKNJJry|%N&S8` zvh_o`LFn^!j}O~&1bga)Avob9L(yi~29VHtJbP9g46MAw{C@Z+-Z!_auu}hVK7Vm7 z1I=EIr{_I8yXSaJYXVPm$&EF-DDX+FpwkO1LoDsG4y0IQ+j>aPyp~?=LiMY|6h|p~ z?e1U{GzOD!uz&yn5(Nwd0+92ZKO7u!0DW^9MdsMze1z-5AS~)Kg9yL|g-Ckx9405^ zV6cTHUFza5>Y0wZXtZ}6;-=Vf>S~K)49I@U{-x)Jjmd`0R(@tDI$`*Z#*~45iB33@ zIjTassN|#TQGiJ5MQsz9(2=w_eK?zRORs!@LnqSz?e6mJz$UOY%nJ?UMB=}uO-=vw zVTcVrn8^qe=ZWYly?VmW(`G@r6!u5k?+&yLHywi2mqgzn<~K?{SRNfw5!ue_#hH`W z-;T#Xi_NA05Lrjl4PTB-Z;L#0Q$<(i#|BhZ)PQ&^8%yl~HIZ%I%({9fov)DyC|V&O%0$f3h%&RL5DAK$PLg|T2wJEv!k_@tFkz9JIcsP4 zoV#WZ4$Xryq|SWKDmashp!^nkwID>@JaX5fiXRskOR{RO@0PF_J7kk!_@R?gMlA6f z-1j{?suD5pD1MV@S~$a}q0mbnn-FWBn?8(4$3~vYqoglxz#!vJ6{rI~m63K=l?1I@ z4$kAfx{g#Y*CvA_w0ZIU$I>wZm-9T&l4a6CWLw>+GkI*D?qWqEtW8KT^CJT?C*{kr zra-aeZ82rV^Bl>YdPzBf69HRt`cCvB8&P(WVF}H771bzW4!xTGB5}!C0Mkjip&4N8 z8t!~^3%bUa6iSkCybu5Y02K@XsfE%^+r;A)7Qe8fYqW|Fg-wovrFK0DVx3ji?co6n zUkpRRy#~~MV7?r;%CuZf5^}w{Z!dmoAf?$GEEEB4-8w85oTyBP{jiAMZv*T9M# z=GmKNBFw5!LGIv42GB)-L_uukFIrJqcEFUGFcU{CkITE&ANLWf&_-3uSZmmdkcS-dFryzz7mvWOs^U-PsAk zXs2IS5M4gr;%k(E2e@PTWY&eY5f5Wi$i6yy``XUx+rmPIy78U}0*?06cSb$}EcbjA zt*`?jdW!<1OnvWt8#hkU5HCVFgw`)RG8?6@I*A0 z5E>(?H#S7ugdlv9c*!0Yj_YGYdnm(RF5pDo;7mpZyQqg~_G-q+HM-H4oV{2}D>c|4v^CzKH6pG)9DV6`vt z?GjIZ@_9UyoA;Cu0u)81UjhpSseg}Xl73oD5`;8R*B^6QO+JWB>5*cS65t4cD12vO zcKXZ7fdR@WI)HBt-QKMXr28FX$BS8#4nywPY~q|(qiG;>*p!jq7!n=F^?kuK8Y0pb z#5*Y>hMWUTb|^GQHM9_CQE?V1d01!x$iervl(nZ8m*bvE?8vUwqKz9YgXp)b+xe_y7R< zMrMoRi+I|kQS|})!&cORd>(YPz3UlznosnlF5IYQNke`{4h+d?>9Pkh_@Y-7C`1jy z#WGrNpuv)}7%8tV7ohS=i6#g3kQ#cw2}QG*xNu1gz`3ksOYCvgCo3Q*HxAYDo|=h7 zW={_7=bzZZ$r->-AS?;T_K7?l~Wf=g& z-o9;_E4<6&ztHvjVL=IOrBnqr0~Socs7Ub#q0sLTZ!o&t*@H4PmgNj4 zLH`PVoU>6h4S#0YDr6(l!?)yZnvC$@qaAF}H~1z$`e#VrXs-J<`P{zFB?h$#);EpK zQq$>EhaTkqWKCi!=9x9W%nHxy(@D+O!@9fM-{>bNw0Q~Wq=823sE`vc6k2S~qc^pI z-lW!wH``L!`U6f`|4Kjyhr_XbV;LaA>+i^uz|8M)DTy4Md3(mkD(2I@Tq9N`^d#B- zS6ZY~6tdAxj>{dnEwZ~pf9q#s$dR8l&=;N@e|PDZkAfQ+!R%a9)} z^i*j7&{kbE;9xo)8~gb8U_uq^pq0-kfp`&_>q0~#4pKJY6J%tw6Y;k@W2Qpj_6;BeFRwhTd+VNy}V8QB4rPX%6}3_?Ab;r;75x98NJn zMi@Vu^UNFeYdW}24U+%GA?-}Em(R#As^dmSDUQqG8s`oq!6uJ%Bk<1GAljQ3z4_2&Bsfwn4BJkTaKdeDCK4{Cez za9m)eNM)C>93k&uwsBMc2xw>61ZWOrS)C-^u>vuz1vUhYjZfaHo`jYVldl8>A?9f$ zEMeVuzA7U#aMV5buB#fGwBWKM$O|AaGs>>&dz1xt^w>lkg>2unEa!YcY!G0u8EcT` zjaYEa@QE)Mkj-3yA2HB#44ee0{|xNVFnC$D(cXFZg7|fa zHZhvnffA^~_dQbVgZ_QR=_=|Oqm?;bCv?_8ws)?cvV?c0b4?C;sxQA7yWVj%x95)2 z$wWfAx(H*MZiG?OVUl>}Fz~{f)?moadaB#rcXwtky&VMz7Ze(U<@(9fx*KRL4Zb3AM zmFi-DHP}i^F!^*pEVn9y=`x2LhVLj8Su8Uv5ixA2;zt%LzVBGn9vIL^>wDuxJ^#MO z5b{DbRY}6X?aNxXAIqXq%(oWXmiF{+AyQ<7@RCnex`jyUSe`iK8+D->i{*b1!O2*m zpJE%vl&|1xI|j5VEA#>U%dEkLH5EU)%GU!>8vwRWufxy{OP30p$xaFa=Vp&Yhw%ij z#k^qUuDj^K_S~f%VWY@W!NH)>3+=Z|&sf17j~S0vA@`IB*YrVk9bMZ6{?{L(!kP$j zLWBMDM#<~(SW~#stm`X($npGPj&F6lLS;=E2`u%XCJ3Snin?dLZkj9sEZ6`Ty&!ss=ic?3o0stSaPW$wma zW_UCcZV2sIDLDU6eXZqYEGNC_2}r1uZ;ARRPY-jB%b$dhtf>>{bLD}pB4s1&)Wx+x zbA0r*%*0!_fIB4?erX~*5!@n&Rp&D}HE0%yw&|>8qI7m8_!}FU)|v!P+b(pbJUb~h zG!q@g&RUo9^&%%IpxvyVB_8<&K~&H@Ir4V=beV<3{}h=3Q9!Q0ofcn9X*IZ+?sac> z2D>|!-XIMK3J;NTUQ1H2{XHNaxO^EWyBi!L@iEl>EO^y(@$5Fz26%}4mFd8({+~-1Q4>72P3jbuv02> z@NL%m+P2_^B}4?#ot}1s1OOm>jbu{Sdo8~o*AlUfPv)j)zM79eQ^EUbL;^Oszb^Vk z$o6y8;C5XejU|o~X~Tt_YUeX74}i=}yc0(W_e^~wa5G_zmr%p3l~-kSJeCVso`?gP zjpXv}zT@K^GK+MF z#c4Vpyw24Z*hj28+N}dQYWZq38qa{hx@k0@l%6+wX(M9YQ^@uQHnQ;NyWAAZ2gzRW zFF|>O8Quox@JjEl3YMnx! zg%bj9`vtV7y3&W3%y(xebLdqt#_z=H=N$1-1nd10)JP{M*}aAVnael)AXOkAHO{o( zo#0Jxmwjt-lYVibK{Iw-%#piHbxA3n@@^h;m6AD<04G&6676}ukplzLPG`NMX>pYF8UkFsFBibXU?hA<5!S~J2ix9hUvZYDT0S2BzqvRL ziQ0VI;pGE^YMw`pjsZ>+Dwj@q-Yd-l&k|{|K#k0aj7daX&Ljd-fDIN6PA_Z94mnD0k3QHYZ0%eJgGuTZG61Mf24Ox`G4j1d zC)q83q24noz3n?M<8|3Q@HpxhAorE$(gw%jC`smE4)nZ`}i~=lWP>(#@Rh=d&Zdpo<|tFZ-R ztFT1;LkDAz#;xF@CY9J)c2$O8|D+DeYNo^14^294#9J$wf9s9USy?+ z5b~mOO9pc|;~rCH%%EA)qHND)lU7?n7g=wM!)h zV&4wLCu0K8cl`T))O5W0jTXXP$;cd>coHIFu>C0%4Is>EE-3(Bx+~- z0OkUj9QH0clCZW&BtnQc5mz-A`rr=`_E(2Qh4wmHq>E)P3H=Yu<~6hXgmTYMM&;Z6 zNykOjhoMv?mo=;1d0Vj-NIKuH&v~ATUB053)z!k-B_8D>^6fV#Q#!QPaAW&BmR2Ss z-pWQpEW@{6nW{VmK2nkM9<3okY{;B~G_H|9z|>P|-+eFuEJ~^@b>0=hQm!`Lz10Z@ zyrP9*X$pxTTE;bqSSBk?YbaC_=MMj*d9rH&0y+QXXP3_8l_(9hGpY3+D!U~lsfqaU zGTvcuYdjy;Uu87-S~YS7oOwJMC(bX_x|$rahWM1%?W;1vE-}$EWX%r*Pf?Q8g9it__8$PGVeTU%a+>&FeN-(wnJGqTG`z|tFgq= z*7A|iJgQ2a+#1_R1N-psPV1blJ4!Ay`$2lGZlzwAB*maQN+K*hJ?gUl#Yb3~fW~GU z8I$Y?^J<>TvpTG2e|CLj%>z?O|3y47Bx$@~#aw}-0~{V)39tsYS_4bqyZI6E!3N@S z7VV0;k6)4ztL>uuIaZ)e-@r}@JW*t8owU@)+xp2IMMfx$)q=PDv-%5_Rp zn}qWV_iA?s7jcmWotVHCMY?Z9VgfNgeSt820YIgYNM!pz&xZny8c5dehAa5X(C=*R z4Hn*Hj`0@<>Jc&B#hL4IQLA1)FZ`iR|G>lD@ZUwY^CvhRPkf?g4#_d94#L-{%7U?7 zRk|=YLWM6ojf`IKL3E}=lCLI(;)rJfHKbS53gj}>sCf_AFK3Nh;!{fne;^E;=2kGe zy3Ne@1Y_h}6jQ&cXQDzp)ugkzt^hC0LP4Php1|`Z$NLI~Ul^0;i{L3WI$WUe=FD+f ze2sP-0TacN2mwA`{3&;YAVBk#+`YdT=bdN*+EVL09B*fv389L3SnJUCqDU~^I?(Y6 zCawoh8fRo`{s^QEesztDBa`v>S*nH${eiWOe->Q2Nr#i{n-twWm@wADQpbMhU&oi^ z8QO^nwAa^kw!B-n?`zdAe-7rb+^5M_va=}A&8otXWQK=hjj3iYl3X5H21JTz0GvFoRZi|3&2^w8tzKE;)5jf|axq-9fr#HSI^Q(ZP1yw4r6P0B%D7oz_GGn&%FyA6!IkV(hw+B0k;D@ngW*$hj3)f$M! zTG>JXi%@m-2KaZUP^m7|DdHF6|1Sg5bH6B8>CC=CvA*n7<=nzCXirSts+d_u=(WwW zbuE~?sxNCQz%y3h4;Lm(xG2(-kQ)=0=3N&iaA}}qUo)AxW`?NLs`Ah+gd`-b>#{#* zc*FJKIDW}StV2MqNDy@7;9IZUaf~*Xw5tE%7MYt6X7!vE3 z;+xasl8Tbi-&tA^Rt{JpEZTem{11v_atdI93g)6A zccu2Ur?!+^R@>!ICxCS5hC<%Zifo57RHuY6IPD{OiAj7W;_q1uRvWw8vdd|6iH}f8 z8*;zMo;tLSo@%U;Eq~+3-7N4R7uk^Ifa%6ZrwxXL-9&#&`|5JJ?xp2M8GK)g#FWz)Qq4>luIgryS)AUfSPdIr z^>6uxBACq9+}@E9F7dDwTBxYgGtqHNqtSfOCY%mhP)1&@jsT__h{anWrIcIJ+g!)G z{COaM6qKT)4e3_LCIABJ8afKVN&DeVuQp^eu0}XTxWMjZDq?xII8;)!hU^Bv}#1{Xsfm{<~C#V|ks00001Zt8VKbC=_ibU}DU z{cReE#aktvmb}Jwr9g7yCd(Bq>0000DUyxhNEw^>()J7`W87BnD2#u0pMd~1sTY`(HzqTSe za&yC}EC)@h@>?-GfVe9#nY>}uAZL~D0Ga@*B#x3dU*6zJ_H@xS&aZtMvZtJI{6FDc zwTQeOSO5S3A)Xe1qyv2#{ThhH_k5H;B*ao`_3UcAv>h7h2fYh3_ zuu{*ELdk$ff%h~%^R<%V9CLqGa^#rF4(5;nX)BSQ-cH!#J_d-IW9Z-y+@l3hpdP;x zfGg}+4!vwoRRNoAM+LYBA0CHmuxN9Pz14uIPpp?s>tXW&+2qKhe~`i4*iccIGZ3|d7si*}9w0DM z`jZ6^!tCq2x@P6~uJPRvPk;xgHkI7|5Tot6R24sO3^}~ZnOcEyc#oI zcCSH10mD0FuE8z6NJpnPz#|S0?BH0@NY`v@uWwYd$HvrNed@6N3De=dJHCLFo5yQ| zSePWxSl7$LnkUR@_Au|sXBsvc!JVRKM;5bCX|%luQAgfb?q(n`_!@}B@_t{TNdOX_ zKhCRjf^PfPqw}-eIYBq2Q_~p-Mij>NmCskw-PlbtIaIgwRES6U4%1goctuB@jzo)4 zy=#~i;;x`Uy`>wPSKfG}TtP(&o0al}(sFB{@K<*bK!6AkS98Ij>q}dg@zWze_&@OJ ziBcfI$>XpBC+kHxv^IkQeD@2BmR{yWE2pnObrpGRj;yC*1!ma5y+?d@9B{K;(;UUm z_^*87ku|uLMMA;(-L;`pEz$N&GLR)1bP|f7Q?Y$f_V@hU9tl)^67JMu&AVLr3TVIJqtEq7wXP=@3xP|F486UNVIpSV1{!cjp{LlE4)qoUk+(^JI<$kWJu!hp}7gIO?7 zC<@S0p%Dkp23Q~S(0)nrSyQLGRHYI+`^TIle(wk(@D z?%hXZ@s-=D=pNmyU}-xIWA&2UKI^Y(*e5*+kv0A-QuTEdB8~wQ<1Tj0`-p3uLoORV z{1P`2HoHAd>?SP`1yRyL%(cT>b`4H8>syqef;I)h{79asEmWQz5!iyWH=kw))oL=q z+KfAo`1CiV$d}OyxzJmqWzh?FR3C-=ECAkAzoA7gq~aPwyQz2@6P)6VcJok>8ZJOJzgBPS zZJY9Pu77NUj_-(ioG>mPL7Nmb=C)<oaD)EHw}ZTUPM^&?7`=)dzT3S&v*p+%SnL!Ml>IZ!T%*-_%zwA=`JZ39H<-h6e;2 zIy&E;3=XHCe4HsQmsRSe0j8b1o7b(h9fQt&yT@;BUnM4_YHY}!rsTQH41`d@L;>I% zhL#h+;p=}uIGa0Pc?UyMP%b-@h)B4*l0dv?VJsFi7~gxh&xrt}UZ=;@nhjNKiSo?z zSsD_|Ac<8%aXz^&Sty245dOi(nJY%JwDM<=SN08_i*0lDi4*jY!Uk;^6!k0Je0_pz zVb^7u-ox@ca#%2jYPrDmR2_buZ=wu6T-c#B>qP%ARCQ3LgVfpeKerI?`OJ5=wX zA z#|63liQ_~_bk*0^_*nH%rpDw0&Yy@Jb{$y&jPpwEC0NIDR+p|H#U;;wjTDALHa?uT zcIV7Aunq<5{LSKBe=>G_plh?=Elfa)>WjFyi~&I3C^-a0w$Me<#r=RqzBhLeRa$G? zKvqgfl{za*b1Bk4bo+cj<%pg~>Hq+6X-TMT95$(|#OI>+*j@&6e2oRUfY&bf1qeM7 z>;iT1(*@3LoP>r1O3H4LagKDCjK9kTsc zZ7r{~Zo-judo!RJ;a7Z(-nE4=XYgC!8?!(kUH4bn2G@C0b`1`4`+x9>r@xxTz#m{x zUKfcQXX!X@D?+6dK5Vw^&1URJt=ye1DFjkE;unYP$oIQhlLsaOzj_f{y9{(owo-V{ zh<0Mf;erR-_oh$2v$$g5|j&guBc-hB35X*@Nh`!zIWJf(@$t87`9+jbP zN(Vm6GUcB*VQ<@h&arp>9#1*O5*3=v#q`lAGc=#xdhn|kjzV&EC!?1dNPxr_mX=<8 zm6+*QgeV96R8^S3{yUmg6rFUFdIZ!?QL@QGV-J162c*Sz0!7w_n*zzDb}`IAEvw?-6=8El(BMuLW9^cRTHw&dU)9l)2<}K^6>)#gi@ZMAYmfqX_(VY2KNLdUR6(Y|N-_XjIVAM= z7-L>j?CY;A(l^&xh^U_sBudNneY1QrQQw*qYEp2olR_&LpmO^q03GGc6ZACG+*&xV zt$E#^A%s=@Xi@SeslyS6cR@0r|NHN@fy0bpti!%?_6f`4+G*NWz~QE zV;L(f3OxhfwvFHgAHKv%s5^h^!ed&mNVc|5a7mO`?l=Sm%AtCJTVw;lMM2!lQ=hCP z7L|aMYoyQqT+BIZ7)JWAceNpl({|Oj>1S+N*q5O;RAGJxYE^hVy zm-+vJs`RB7@se3ho3-Fxfd%{$jkS&d`YClq4;gR#@%5TXw<{}9ucI}-Klw(v(RzUn z-!DagCs>F;$Qa2b+jSw5T_AaH=-{>4Q^F0Dkk>+UG#I~0M1g9t@>2T>HwO)BkV-nG zk01=u-h~{;M8-o~>-^2xe z0l2_`LDm9g{XD-JAdcMFgkLk_RPw*i)ix8e&|=qA4J!;|4F&``0O2cTP>R&Bxu?mrR; z7C?x=4}ycwxq#z5rc8bPumnG1!Nd)#K(|c9O(duUQGsrL4FN8pS;9g+*ePv(Q!;DZ ze;<&`6w{$|t2SXGNa<)m87gD@b-*$ER3LD1)_c${>5#sK8{0zq91ed)7nL0T!rBbV zL;K_wVi~c1sqfnC9Fs0I_-zMAs|4%=&44$r(9SU;Xn+mag?1MAy8qI#)2y;Yq_xvH zpqdeXW=(~`;`7b%@i1h5IwS0gT9)m z>sS=%xfP8*NI`>IIqO72Td%&^WQRv8fFVx_(v@K9OHu})q9SghS$c0^%8yoT^S*tw zyYz5yI`qv(j`09G_Dqtw=N~v`#y7d+x-551kGwBdL5&Aod@;cRPasrV=)8k!zn1|sgOKi(zK)j6o)_00D%_;R%k)tIcQ1RARm$-mxc_|AQA$5 zK%CG7Kv}sN*LV`uI3%CxsF2to-jkwv_@{d)4;s$L=`Lg|{n6G_Syvy8LeIq%gSHEn zp&??8GRFK?dav{Fc}*Nk z-dF-=RhVOCwl`x-o~gQ=$I+!$(E`g_^yt4CXJd;D19AavJaQ81Gu&Rz>>hz$&q?Br zqARLcUd{-x{pXBi$3$0+z+uqF|DECeCQ9Cvmxz4GM8mB~a0b2|4g>FKojhKd$HY?5 zG`z`mbRHvPD(AHMz5PZl{q$UOc>;q)xL{6Q?Z-a<5+^i7)#^5tbw|F@7^Y^XIsXE?Xlm9SlT=0Cw=nM`82m^3B~5 z+(L_rG-k(sF)0~Q>J0_PW6>HX+4m4(jg&g>PLy*w=P7Hvh#cuuhwmM zFo`a%i-LGvNn%u&vTs)93Phjv$ceK$4Pfnky64zR2TlvqxwjtZyDr;<>G`KNC1vwS z{_@ZS%si$BGvvoLpNXNT`M2wS>0f{X)xt`TM5P6enkZEWml&HLiS+>z7mCqk*)thnhM; zUy||CkA$cmu=C`J<|r@?^lq%Zg0uHfau(4_%;j|xo;Oiq3z z<35b-XNfAcV=w*lJ$G&~yPi3HKl=hH!=BJ>Os_`G$8z=ozb9En&t?RWO3wLnus@3q zA&lVD5V+_33+}rB0ILrPiBA?7gz3MYQsR#Km#qme^eQK&E^qk=i%9tyq!KSKOp$O_ z`KqQOERjj*awtFQDY^>;TVKb|;YZvd(XwC{Ihezs>Y$DMJg?Hjt|~dH4hFOoj-Y7V zfDA$NA#ajSww4ZuO%WlQhk9B=!1&l$TR`WvBI!5V5p2?6G{V}i7+_hk4Hz03y}F%Z zJ{;UXfZ+)PQj<)rG;MnD*gn?gT7&Qpv307}avkKDR?l#E2i4n=pD^RB)oACA z)-JUr>uGn|^?wi=J`wtb(LWH3x0Tc301fB{Q)+!s<>U%V3Mpt|W6m#3iIF33V6Zj_ zZjSf2zq7oqKjI6X79g@xws^Eg?aMRpr5_VLR>6Wy$*}TWsjG`3?nhw(^Uxo`$~FrnEDJ37a? ziVX3x2T}YXbDPcgP`7BRS>Et+T{1FL5G^9TO~XDFvR#AjUkR7Wm^eVURvcQXQN+l@ zgE)vk2lXUR9p@I86);8nOv~mm8d9MU0a%+_MA$XQnmF|`_kXx(A?M?+_oS3%l`($g zk;!q(4X7yvX#>%U%&88zUI}+cqI*M&X@mmn_lu169WHXv?Ny2q)9|^*R&wl)zI&Ww z+RfxDi$vc1YIdVAf=%Wx)KpIh%a+O*dVPei>SeBBXI~0w001u`jse#T|7Mr@>;tpB zw-ou{Rm(A)c*62W2h(=tY0d05dMSp%?flPL01TjK7>maSjK7~Pgz0HyhB7WiVe0x*W5h@9~7 zs&HKMT1!*_MdD+Z)BukL;pdfsaLyW}$x_?RhQ_IRI*D4PM#lph3iw z8$}deBv)tRwL8wvz)8s~sYTLf_(5^T4FfZls_aI7!FV%Sh>F(gP;PLiH|hSSKsYvR zl`&v2b|wfGM69^B6R|{F*7#u&fSHP#`4)>03i2HV(t$*SFAtj;S z$~eil#l4L5nw5BWPF}FcC{)VNeZ~ES`Hhur4+!;-^j2;G+x-U&t3)ODY3WqmN!u`&PK8RUHmn=Mk^N z?*`GQq1Hx8`lKAwd|z%}ZW}(rp0p%>Vaxm3otBx61M&6}z%-vBr!53ZBJ&Y7pv@o; z+99qkKXoV((q&Z`;nzd>4z=_R9yjQDJPFo%8}tDV1jcpZq7cwj?PjU46!2XzMf*Qr ze4Op-%X*Vve9cM}Cc#E@ap7Jz-`y}E*O$IM|DY7#{}3`*W92e_be5g{=hxEk7Z_TA zw%)JkJE#BjFC(%`lHkXEXy-Id`Je&DP+dl+P+kIqdu#lCRfzz;xom?O= z%vOEuu2b{_MYX1^MNm@gdr+%x9+muBh(46h@6yU2!Y9w}$U!YuSm~kzBe=|q?TovH zq%&`Bv3-9an1QoGev?A6EP9IWk6$l@E0PG4*~|i&(kcdO5Aae{F6V0>Ku$X)G5K;( z@$Ae27I)Nf@zzb3ts54VZPA(0M`3|-u1T6WP`-hB^@#;U=mCj)4l9Zuh|#}kl~wxZ zx)GI3KT&W9a_=eRUsSZcI_`X;v?o9hcq}rlM8;IpFcfkEz|jf8${q=qay$0m=h?3s zrXokscU=xzUCZjbts1f#5y`WMF6Dq4!kUbf(mm!edjLkMGrz#KI+TreoS8!jXAdVX zKMdq8_>BuYEr}=OZYc7cp-n2De066}g}v-6?vrCZvPtqLX? z=Kf10g?e1*8dG*GZ6t)3%HChp$ZCCN&K8 z6jNw!Nl8s}rOAqs7t{W}LqV|GBg`joQlt`v=M*wcwWd&xTtAJX1B#sypQAjtuHV+F z@!6l%Ak&7Xagdh5@*fel;yyM_*N_%vo4~7TvdgWjzQ8QoII-o`kx#=pi|_t|nG z3Z*%cV92Jmz=SDGB9XOwiMc%e!O{Pvxaz})DcC|(78xC`9y#IQ%-b=05Z+ncq}Dl| z4n^Wman5fO49em2O~$hTO@4-TRz;s$6%>1jp_=8c&wbkWy2PP1*{^I+=jl6irHkUk zf|h#c!pUwk-zl#fAM3c|RkEmk?IIrJc?Ix}g&+U*ZQ@M!y6WZhvKm zLtF9(xH&=F8qXgQ{ydy~P6Gp4i2u5fLjlq-&`rpK{Ev0yaCZ%#eLAt+Pn|XU! zyI<5iYV9zPD)di(R=DM=C02iZUY$j^vH%$^gaf^xxDxNRMHsZIxOp#5XF}$HD^(q} ztEYLJqPRt4-m;iyG$=^baw)B3bWxAKLHb#lHiGx={s``G^CB%HxRBy6_u^8<)Gxb8BGo)HLjQO2S$|TJolHvm z2oin%)?uwxr^vQ7Cv+F3dGa+lA+7ZeIWN_?^OP9f+2#7vVyA_na?@N?4; z2v>QJrJ2Wis#p!wPw~E$v|#R{yXA$Cz^>Fn9@>k!ZiF1C=&dWn4l-oLACOWAfVcO8 zGprKadT^W?c!^k?v40UY(L*DhkbUh)hv#AnQXx#~zUcpL5awnSE(_^_vjtox>pBdpjKH zw++syu7@aEnUBvPC>@>Z2rqWt%~?EGUl=-cw|$bx!(Ge-l45dqrb6w3fJh|`f5|%M z%e5+FM8e5^?-oZ&M1Oe^tjOj=E;YF8UN0RFBon8=m7 zW=)^6{b!?+%xHOp*+4nTXD=ldQ|`@ZI>g4c-ExmCKk zS66{qgt_rJ6Al8=H(%>qCn3?T4<_1cat#bp?K`oh1=z16RWAzr_B0|dNpL8J4dTnd zHT>3_hiVDePk3#rm#ob7V+l$W92l1<;?Wr^;nOFptk_!#@I$UbF8S92pNG;+!||EW z*!{e5cgpvLb_UpL-!7%6+X4f7UeVFUYF9wHb=N0pNwTT9+MulhV-@rj_#em9H{)%e zXRz27F#2hPU)1E-B%v8m#@q|qO^Ii{|HE&hks}(2r^~nk3Z)8V6Q-R{0-HFK!KbY0 zqOg1fC9(w~4FfUVH|Fs^j_R5%oXoiZ(4|w$X8h+S#NH>p-9t6!E3)_8W zV3O-+8aOnX_fz*5SQjCwE&~!@+})(Ebb)Tnj{^FC$6>+M#eHISq*uOXWttzp$cHt? zC%!tc(L-cTB@RTkfGtPJ#>}{LYDnCk@=jF`?nEU&;qxp*)^WE;mmPOX^QW>@IJVKy z1@`e<`s)S7Yypz`D2wGa*8k&jujWhzy_v0CvBRzr6tJo4rb3lakr)vlEGkny+3PPziQAjA8ipjdy>HW@7cta=}e zB2wm5&H28~zfX-U>G8bYehE_`+cc$ItR@!1f-q<>6v9Kyx?l zib-*XFZ|x?+H0goK!6DTgJOg!!Hg#y=}orz+@~W{vx={!gNwJ~XFdh;)XJCE1b5Rh zTIYIDBLGhD^RwB%6-NxAX{y(lq9M5&6Us)YioMc~#{pQY)w(l)AU~%`TnKL96Q(lk zij_2zCLaj^a9pqBGU;zqYLNC~=xT5FVT_Uylag2{Z9545Hud@ler4< z+z?jUvbKju&~TwM4%iR;Roezhm=DmMCG7I~;0#~;=Ixfso+0s^e!LGR62Z>ZBv%Jp zxre<;jxcfK%Q`Yj~C@2yWL~C=7H#Jm88fa!wIf;h=5n3CI$6BMz>|qas z5IOgU;DyDeW5fAFgt08EcG9=579NfKO$EriVcu|c59+w>k+CsIRLa#$$}p$DzC^_h z5s4YxAGyY*}c1r%4g*is4H~4@RT>nGXI@ zrpX?4Jn@k3I5uQ!n=nz^P$VTD7;ZSoDPKdhn18~`)a8!jX({*U!$dBveG?BUytCTF zs49G-!T;(f-Mnc?`V%Y%*fAbe(l>JUg+8D+NtNQVU!xP2suJD4&meKqcXZ29uuD{@ zr+r+jY}XYLUYw8MC#>JYB4hvDH#-#cG6XShh`%TF0TR)bDp$XK#+vNZz$LD6pJxpK z6N87=zBS!iI`0sy;lyt~ShaoaCBNqeI!f&)vljAGI`G6?pekyhJ0rQRlzc2%3VDsX zVjQ$oa${sP^wy675XPR_v{*#%2Ob!NDjq-GmV1^J$pHhm9Dm(h+=w(=ZGc6&l-DiJ zL3c3yelS_@CX)0B>TV?H*KbAv#J;`mkD9u5T^^XkF0t3^|NK zpIEoJluGbK)MQ?vqik=T{oTw!EbY<~P^6L)s2=f_79p1vXl7YPhyr4@A4C!ERFCE- z{Sz$!-f(p^^2pgI1T)V}5#9f%MHod&g#}P)e?mHsB_}_Pyn;e$f%OP)#Qe`AUb(uDtLnKI+S9Wm0fVYHKOiyi{y8>uBa!m z+4j|pm`p>$NIVfzi<~j@jLr_BEv4Kf^n))AZ0ABTkD%pd0cFRSXOy?{E2FG}O>=!g zb{^U0b#`Yc8s4LU_TA@ua#T3ce{9b=DJW3-#{v8@71sSW*TV*s7OcYAYc z>CD17(tprLBn2wjx-_@3yp@2r@hZ70W>w1AZ7y(1g&_4(`?B!f*u2tgfGX+eW+Gf_ z&|l00Kos74j)?>=0cjx6H953SX689T+UZr)p2^kr@zTP9HT4DybqgHGzdVCab;!23 zRWG$&byMr=_bp6Q^2MlD%1}Hm(;vVZ!t@<;0nMK$Mrlhf@ir;D-J_7*bUq0Vr7Vv)>dUb6?%S+`D0+8vj zXD4twpdm8ZPzr}@wVMROFr7VD75eEMhKm}JeQ8%k0DH{1^+(*Chvq@G`3W=6MCEM~ zMK>yecqWkO#JSKrNawSdUURE7u|=}sM0+EWX>r0ji7;R}3W8s};1Yf;pYF45teDmz zk;l4vnf)EiD~-$5ni6VF1;I6yvgA@AA{x3IO^lAq?z6exSoSOCETjd42jYZ0aD&m} zg`eRq=0sB7VVy`=pIHn3FN}-tJYsON+5tH8M&)g@0F81o@`9ui_+P!7nB1a_G7#r| z(9zqEBga*J*7otwCn1&pIgx|kl8RI_{NwCtSD!q#J@)etflZPCZnmsCwsCzK!p1Kc zKK;}?4Y^<;J5%v^)#H8Yfs6q=Ehe8?`kZ#a2CAZR51HAz5zF|7ugHig{j6vVV1MXi zciOin;Kl`f-wBonc=4%#i*Cp!G6A0y8JcqN2uXUDcui&Iym`tMe_|lwPB+C?u9MSZ zua~3bUO-XLt)}z#0W4Uy9%;2ex%o*z(8&|~Lp4m=P3!aKq_F%*cmz!M28YwnV>#Pc z!&(X#Iaw`4CF?Ni`(Q|W-j_YEE?t>gF9Rw<;<5ZK(~pqx#F#j1o!B(SfuV#@w;ih-m%}90B$0eReY4E z_mC&)4%?2-70NC*$Et@jt?8>)o{5*xA_=?zFaH3yWqi_6fZD-+bH4V2zFEb+1@Osn ziZ!&OMLn)@YUx;H$)-YpCODM*iOQ!I;Prg*(a_mxoPiTrR;bbl8+#Z?V!1FoJ8s08 zJZd&}4ks-ufG`071+CHE*p|8CRBt{sZIHiH6 z^WgrkZO#k(*(){3&g5}Dk1l^%v*1b^v52dE;uy!#5C!l1+GH>o=#9nIVr9|2GiUNm zLd3n$pn-!SOW|hf%d~v-HF&(7WWH-(20rKlUDdh}u`wtn@#cBO0R!yRh(&6bHR;~r zlGr}DU`12S`ZAOV7a+4AP!s>DZ8=;307YT|77|}Yj-rnQj{|HBKW~zA@UqG-+q)(A za>WFdIC6`O8@GsEM#E&A+WDS8cOj5`jf}peRfC7-?+VvmeuCvzjR~g&Wd~NUJgn#3HI6DuG?6{4lDmQ95oi^0U4Z;S9(r;|2J^)eG=M8ib5qtnbE3a~w_UvYYP zVkS!xyXi(f{#azwMt3X@S zDnVu$+)f4KVHGZ2KxB8pINtfta(O!efRcV6}4POk!2(KW#k2b;E6#>^ko<-QmXb6{64-eHOnBRIa0q>B> zK`^v$BaGJSgl3L!F{t`62<6Wfd@Kxr^hqWY%rur)Dmc_EU$#R{Qw)P1*7R0=l1kPt zC0ELaR^Ns-))600XpX%l$tuA{5^I`MR89iS&}zIjj;w2`dd8WR-QAZ&%Gfs4mK9Fl z07)#VSDmB&Gh4JnFRo}>ZU4kDyr1CJKb`vt8PU{#lp+P?vJ z+12SKn|?STP0#@4cEtg-CWcbX=g!4-Ce;|-nP`>SW0UbS=U<6$ubpoeN@#DH^z|Th zh$m>(7B#aHW;;WwyBjRFpk_sazM+$)zNR5H-)MOOh4e-$GKp^HLZ8totD|#hK?KEh zhl3QqSc$R#w#cH>SGX;Dm)}njr)4HHjFl)D;atz@mJxug;|cH{0^`O}Bv>2};F&PJ zu-`$FH@njz0zgAK`@4sGUq;?>TOEr4Jz^^|xTmRVBA8gI|DANXLYZ~9c#a>kW8TwFq2(Y6~ z+D8XcH7K|8O&ZIp=qNuN+F!VJo#8;OGnDWA2%th)UFTslJj);p&opMZ&ea+YSk z)0Hx~Z$*KFCKVW0+o9Uvyoz^E{DC^yXe~UrS#1F^ld&y}#j%QydB)k6nRzESeM-cj zh&UMOTI|O=uQ?aQS6#&>dFDz_36KTjs$4R#I&_m>e*rpsz;_3&8qNj2keRN3`W|N% zVuNx#v_d&s)GEB-vj`NMmNF%8MgT`ZxWBqQt0l?_5~4sFMohD$bMH|0NLf%OwhTi` zQoegCg5WzRCETP4j5l;kMFs#Mv5#gzX1r)d_5Vzj7Zx`rQNWw8)`n^1Qszhp_A|(- zpb>;AP@WG&I)9ukKsD+f_op#^Wg9&Ke$)kO-82p;knZ zLzn~d-d)&aOi8n_dKvN0uR&vK-)ui)02hGBm;vio7WEEg#2CYR2i;Qe&G&XRL7Hid zr+jNIyNA8v{+5nrD}4j>!7!&kB`(LF*JL+X=YgH5mT(xfz5U8a`>QQ-gPIh8sYOMM z%$If0TNnfDOW;UFDqz{6^sSD-a$?-L=U35&5}cTm0B>-osu9=2!@ZU7vkm7P6?Ja` z%defW(s1!37{lTDL4hInv1`PR{C<`Dw4q`MS)?{%HwvEJHvt0XgV2oM*LQuE7x1@p ze<}<*9?e>~xUpy%32os^JuvfpEG)Y4ROt(xY~?u(>Lq}0t@M}l(1|uLSyseG1`{cX z98Fkxz2IvI+O>00WHcBkd_R*2NVW;%14OoBy7ygsRR0`iu#fiL*(m=Q!myw8^V z0fb2DZUI^vv5 zXM+8G$t)5|J-SR^dGjXOag>HkHh5*aNx2;Zu55AUYb$%o?qh^zA!6Lv~?6A zX+)vi+AynaIP1ElcxJt?KSbE`^aG_@x|J5L!U&&*uw?&L0S+4`_?Nc+rW)ko=`^Qm z;0lO3iqyz|)d6wza_bU_L16@A^n_8WaTB&g`7{#%J z=89^7+pWud!-p zfyUrfdu+Y+@uL6k@7j^Pskxd}cQ~(RM%tHz=8_O94Rxp!Afmo-eD}8=>f!x`GY^?v z_yM6}oBx@2o~$JV|DjOnQQO0k*aN+R0ZX8NG!(~>0gxOt_6pP=T?XkC%(UAIrGLH~ z=VkaYrU*x`Ma0X&?W1gf0bymci{L*q%rRbTgtPjElH;&NZET#_fE5e^wTH0AJJt|d zfUU|)xeU#%?V7b!iFu4N0prfV;9@(JFux~5Hp$aXB%-^|%}UV6s450-q@gkA7_rz9 zh8h6T$#EZlq?MHVF4>%MX4Z0NK$gwGt|u;$5cmu1DQP8V22+O(H*`w}n3fsw4IG_h zPU1BNl3sI5AZ)KSpFnbphe6unSk@xH7>?aJ*3EcPx3S6O;p$Pk2ffJu#CvoHrRZt| zT9ii%a05Z!a6u79`cLX~@j*>tqO7;wb<`NzRM7pnV_%4La{p^#5#3 zZW`nN0?VdikJLB18ZV*rWQBpTs*I^xV1Zu>IkvBArDGJAz^#w%4=L6yE4S(~f7b-! z|LxE)0OUjpvwxboH=f09FeOyp|B{G}KXKS&*lYujzBv4UVDI&O-y+Ry#eB?i8>Ajq zqXJeL4Ik7sJ@<$4V9%d-Mi>d}_#U`uGAQuwOz{aoq==R@qym|8I2dqh2#6=#@%0|m zT#$bg510KOCN|7$!UTK4j*-z2RFy9M29q^liQ1|!ontw91j5)6Jd|4ojJ8ScNJg%{ z5e0$Ep;WfRmxRt$g38WPEC{)5^=!=KPQ`F8C+G`7h8hXZrIc6akqx4JnRBoGTa0n9 zlH`;yvmHFyTz_LooF7MHsez0H%;czb5keR}%t$G*;PyACHiZ%Z0Rh;Xg@WB!kI$hJ zfUL5ABnn8PBYcqn0R~7<@{y1Gi0+%@0007;+wzJ@hjYqIVsenx5`=h%kOLpL1Hw}`8dE@8{QQkA9UEkK*6K}P?Slm0n?oXo2Aa@@=5XU zG2|3>74$@b5652)?0qese4Y3t0748Mqx73$S;MB!rdk5maAA@VMXelkLEQJ{y@|4Rmzq)DF+q?29n&UKk6W&K**Q2Nnj)q zP4~6*DoT>vy-tjdr?z;Vrwm|3k#M6vK^$^b2G3oN9{hFAiw?vH0(LExVA*(*G_wzp4^%F{PqE9eBhUrhRjNU1wN+Gum=11B0OZXlrB*=zZP1FKWJ>SU01U! zVq|Ifk!m5RRi(CDD00(XqV{V$H8>LMnlP`V7>o&N-7}kKpzEk` zA=R$t0=$C9`0n{_fHDMbp!)xyvDE1(VOvVQ)EJW68YbDaatsExKrQe;Ky=odDfD z_>ip`v%x@rh`>ScBLkXLdG3B@ut5xl#3XlgPfayn%GO$31LO-0She zT9Xxl8_*`h;F%c_u*N!u0_h)+!H@zFD9{MUob(aR0J=m{FY-X-3})of3ZWv8eTPrX znb@!vqPFC7n>6Ys~Fiz>~UNB#wATh3sgZXF+342}2{YwI*oif6%qS|ATo za&+0#VTT~&=Y1U=?tEYk*CBc$0Ei0w1X~T%c6J@?J&IkOAdXv}&%|2x7aY-lahnqI zVqXG$tRIfzU)9hUEJVdF1Qz0B?y`U%%r&bAO3iPLF98L(unvmo%b+@vrcj!K)J(^IbZu)|2BQ$0iIa z=WoJ2VqQOJc*)EIXvvo0eeENj-fx(X%>H(~Sob@*x@wa<5cJgxZcv%oMA{#oiqFf! zC?0=UuT@hK9dLq1kS!_P);p1Pz}}HPX|Lf&kOwfgUl#8i(e%~L$(fcpf(!)t0Gr+~ zj_F6Nlh(g5k=)r{)*qJ<2%TkWJaBKMMubR$+ZF?K_0tL4az%`h7-fqPc^FV4H~$8S z7NnZ1@g%BghJ>=e@D?cc>m9R1D( z5jqdb+$fNS0*GdD`8R%S^Pzb{V37i0k>`8Fi8uLe*$6+LROwphPwC-9-l_c#c^4zA zcs8~bPLKvqlQU;~d-RXUD|m28e0g4l0z3-iEeb>mAblsYrLg!2EY1O@6Ek;m3R0PN z!}lC@#%}}uKpVH0Wn);oXs}Q8u<=5s%z`AxY#Tq*g5h2}vdHcOaTaaCse;PrcE`+g zJ|Fm{G!nDgJ{+Z09fPtOtlu24vz5XfJcKQO|0uw`u?SnAK6p112(~)EkY@ZlDZ2<` zs2{U9iH;wMn<|RMWjKW~8y)eo@KcR6N(~rnzZMB;!|5!gVZ-;XEbY{bD1KCTyJwle zw`!Fp6+e2rLET=U5SoF7{?N9Px$XBjKRPhY%co(*4i3R*$0E#6o?I+?F60>qL=LxP zjHPp;M9gSSH4$SCrvay{+613U!pwb|p~nPRmkpFz?QgCnAU{5$H4%7L6ya(1YQ=>g zH~wz^YcLC^LvQ<_=OOR(VFv`7h<)4amC0$t6ADJ6If*b9vFx~(KzF%*6n{*whd{rr zn(nu|7+XV0CcgE|``%K19Co9=NK-shcb%-3e{3G^ z&yO~Mrb)^9^-6?nM_8u*FEYDI?A}pn=DK4HtvlIXXlnNVN1??2q zep^?UQpYUGrLOligAFFc);`6Kx`g@lnzu1B#>F$z+jeslu?9S7Du}EM8*MUIf1;93 zAI+N_jX)%fb#GXg?<7Fl=O*jX+2!w+AdGRd^?^t4#=vx#8BJ7&($H9+9~SB#EEyXj+*r@;2n@l z&Se87}kAIcqqk#Dh&S7F_{0>SL;!c%jA$Pv31_U4@5uLibwLO zw~=r_Jo9>I(9ua9TFM9>b+R5OThjng<)Zuu$liFg6ufxC^ayP`$>@;8PXo3T*H4}h zz1p8uX2j9kYhAp72m__8Z|071XO1YPMIeO_fowZi?sQT<-T-iOvS z{MAlkiSLu5{(k!a-TS9czF4!_cy=8aGueqoyF0&%O-SYpKw$`ejfG;JMN`6*UL&yp z5I`f2Qum3VO8vZ*GI~`5DSTTtz2RxZcJi$duUoJUC}};yk4FK7Au3_rywn2JO0%-J z2Jyx1yW7s5YGoMWE=d?*JS>?Ht_i&a;Em|*L6|~Rn{X;^+x&W|`oC7gWdu4+sAPDG z(k{(Em0rq8K-6%%58!xqIkExOHALqBi)jhbN^cwxM9n-KEe#Q3XshCEqJu`3UcFGJ z0QdkE{NDw{fHF3g*y>F1$&hjty3$n|X$h~@%H53U+=*yy?Lq_(HR9+QhG5W&v*%3i zn8HnUAurY{2jx-<;Q}eT>R7SBx(*U-;3Dc;W8@QstiI@kEiGMCcN#8}_G>=67R{28 zR`(;Vf~1Z5$k8lqe%hgoVx^{Z9aRQG*ET&C{*62} z5-Z85n}^B42WiBt+`^N8lNY+^YIxodbtgtr1Dm1%)`QiitM9=tU%eah z&;@PjlgFd|uI)jsSwRjV0-%IsIE%^g!_j?*&fIGBY7ciHd?g|KLv}Bm#jx#7h@!9s z;go;Eb$47pGgFW!9oJ;*pkq3&8Tm-Gx&cS&>Mx+{L8O=k%68FFUeCjQnmp?$$S=a=LAnhGI(F z{%`!I#RIn{4%$E(`jn{`KKc|8=%n9)@ds)k36e0B>#%(Q6lODYGea~&vG@2-ZDC*B zO6~yo?2_IcOfnJl{Z#-cY-Iwwai#99PlHvpblwqVc2W9>;+-{PL&nrCiu=M*&EAq-+shS zRBY$ABP5iZminQWD-`N z?lQk@6d6QH?sXbXs)Gm%DjAb{##QUigexowlfv#$<^;r9NCLe;|FTS4>zY_GLsSR{&0xK;-*~nf&DEd!rM@77bfV|7h^iR2MZE*}828bZY?4SDEE4Mn(x6 z9}G8%`FRZj6VP4qo}_Xg%Phd}FxrxO&KC=fDi^Vpg3J{Il^izAAbD1HD*cb6 z(-W3z7t`l^B3TuERe;SG$9tl+pX4}g*=*M^OVb-fQ&}1(Cm{7P6dtLyD(AhVNQ`z~ zGixQ1hf*0@W&NA4NA`)*F5H&E*|TAatVKDuvmpHbOA<~7J@wZ9C9Po)%wx zk649R0Uz}fx+wo6Z5k!L*h2`aFODq65x6Dx(Sh#$51auJ*x&8C2=4!)N1HO1Sh&!0 zruWMyUKP%N>Mzrmxt^1TUu=72_a4dyUkM88Oonrwpl_P8zql;NGR;-=7<+z_k@RLG zXl(hRYz)8(F$xf52<&QPyDzR8y+6o0M?^3Bpiz(4*T#d}qP3QU|Hi;4v4*2#kff+h zFiu`Px-;o~>C*`tV!*O65}i9d$Co1yJ*ZP`ZTi6M zJpW1I8n9+g!n_&BcZDEmOj=mCYgm3UE4HnTG$I6YVfX0avw=_RQ0P0%XJ-h~wbh$$ z@Y^dgrH276yeYX9{|HmI!9T{Wm2lF(i!PtHA;Swg3uXL}D&l^ZJWim!dsGzph2Q=-5;bR%e0Y6Jt z%rk9aP!dn+vhK3aO%9UHAyegJ_3l~c#!oOEdMUEtDn1xGIImWNlARq<1h)1HtE8R4 z2Jywx&=v~jTzMR2L*(P{0iXE%hye*f#*1`Ci*Xo}<%dE5-rnz|F;VJ^zvq}K*0`Bc1li58 zm}S4lyj;J+t3LT9Ai`D{&;0!a6~&RsLnD`Ddz97TT%NmF*%1oM9tm$W!IY4$6nS~%cgxaut;E=s5CJ2lfug;cQZ}XTtD@iOE!M)0$Gihz?Ii} z&yg3(;z=~&n*;}*q-(c-q)ahH>N>!$tF6<1b4sKJ=E9MNwE?wFc)GQSYWhtIAbAoa->nUT|;0C9|m3OELR}wWZk_aN47^FsS*+B2C+H= z%?Vbe$7!p`G?<|<1c5@osp~m$bZSNR&|x(GW?8+|4OYu8Ahs+Zl85Ua6ou22Vg7e1 zK1z^~Z=#~USrr5t3x)nP3rX#TsDjhLfyThHp1lXZdb~HfHoddJ6oSi0E%;~SYXekb z?9u|XHo^#S4a6ccdQl44&|oqKjqOLPZHyQFjpbhM#PvQ589W#@I?`x@v@WtW(ilxJ zTm@yN*%?HX!h%#{%E!0*3avTAeZI)|+61SZH!K%gc*3 z%mws~kmk;M$VR~_+)WBc^{}$2KKPK*SOia26_MRl7(-mSZ_cDPJb;p6F9@3k0i}t} z!?D&+{{E)QZq~j`IRl5g6<`#5f-|<=hAFVOt|0A75WYNv_Iu=~y|Y@8)YSf@ypY@v zm|uz~M~0*mZ+@2JM4CM=rrE@iFjl%~86IQ@#V;^Af|Z+LHLBPco{w37buFyu%lS~h zTS9cEiMa6Nz&rBxo09NuAG^a~M&g$a>PVF*DWFLV*_4WZ%|(pbKF~GiX~L)NV`077v~|Y^Sp!^Z?{@I4|;se$i7dA zyz5?Mu%BS&pJQ|RjjLwKBgL)wkX)DF;*h}tQ5$c;JM7sTMlYJ9o>`v8eM9lh#&+HTzSO} zbyd0?fGO5mFwfPlVzKXi^~pP>h#I8N^bktHIZaVAm}4e@_Et6`<~DH=)mMI6i@kXy zqnD9?gF}>VO4~qQqleR{r@7^i(BjyP69aPtTPtQdQm6Qs#m0qzvbMvhp?`Uk%KVUTT21ukQE0jKgd(^-^tpt$^nrR&@JZ#EMkn=v72oX|x8^K0H ziyjGIt3I&PUI@+fXk*4J`7uw9%Km74*kFYj4vmQU9H-HBMTxH0op z`8mh4bV6_0CKM9r0;c7pmbr4^MGN%W9(NX;&)xuZSx22@-}lans2 z8GNHM$ho0jM{C5O+FYaK_Q=9C<^#Q-g(4y;&zRGw-ZXedSo;4N+AIVd>=yep>ao&L zfpfH}4q9o?{q)%_*_CbRT$2+606y$~kt4YYCWmDKs>7}tw`UtG3^XQ@k|5)6jG)UR zSRSKbbPB!$<~jiV>0u;9wmkLqj@4L=9_7rq^v}z?%0Oo1mMQz5a6q;p1`|eLzH#iw z3LXxCooJ}fm0nZRzbYZ^4>h^!&HiyW?`wXQCb_^p9@dC3I62hvUEDYH*6(I$skT1-Dusc)JSU`0xUIkU`l_H zk}^94I*kZR1X--Cj<-J4HLOHe^3uyRg3WvxvUMRE^FfoG>vx1p z5Ze+xHB-;f3>KiWQxQIR#?(Z1f!K_ZIt_j}2s0m*Pn z>(t#Wkp>yxPBDI4L-VnFllAyYG^$O)fK9c#)5YX7Mm!eI{Umt+bF9t zsfbO1h-PMAi^;mvMZg;wI`$aNK*Pr}1a}4}T4}%ESr&pIZ<^6}(L3*3H6nE{{iBau zvD_&z-^NuuLW*`b_>&NUXqW+S7zN}sQONp6=kT?z!a5F89AfIv zMED1vGq{eF5Lqts7Zf7aN}-#yzf(q@kqYTX<(OhT&+xGh=6CI8Q{0W5wrUdkPd$m{NAedwuH0#7%8xR+x&l$E&s96dL}) z3Jtj@8b`gW;KiYVg$CrIt*t_2)LelRzs~lC7MP1X5VE^jL2|(ONmU+3qyF{UN~>;_ zhF_)7*4C$Dm_Lr z(Hdo;{u#CEG9t@$KQZUBPi#Y;>eS#o2U+KdhN_=}7)&}l2h_Vm4l#6$LK7#xF;)L+ z9-0-%AzfetWH}Pr441TLR7_;yWXx09xjc>dy@`@!=tw}2lhA#!+y*E@A%57Tx|Iw;mX-farrds zxnc;c&XQ=}m$?^wPUzvLPROk(^dOs{t?)er@Pkk<3U`JQc^AW{^DSXClF1n1`sEkU zgE|9xAE!PqmuOl{py%N>o2s_v(E9UP6v>eaYj=V=X`1@jPBnY1jd$z*@O?@sSD>F~ zoH|fWhH^F~W(WXg_Qn>xG)=!pc%%Xp5#uVFRpv!wn<-?aE>&xvvh^Pe@Z5wlM-^e- zb&NnE9`^$SsbIx&sN*=rY0%D^_&fp?FfeQ+TfsJt)|rFkMSZ*MMqYVpZMu(7Ow~c= z^Wx}ct7_>Dbrskn8<84!~DKhQgr_^akT*3%Y3t1JK8t&Oo zt~|*oi*Ynt)jCuRbaQXfp~}~I7fbMzjM}cnG)3$GDUYsjM;V78PZ?A}0|uHOOam{I z(a5{hBIbtDbC$9y+5l``Hc83vsyjR3aget(SlG6>Bvo|lG7Ys8q4__b3}5BhH*{)U zB73=-zVT+%35|gKjHOWEsrH>CW}{Vw#o;tVETh{)&7o^nxuiUmX|K{41iK<354~BY zi_5gy3mp7=tksd*{!_LdZF#`)G#?x1Bs8&W{gXhI%HgHJ$rZ#~3a`BeQL7!JGJz4Q zy6Y%S0U-3p-r?CE>r#>*kXK5~-w;F1ii@B=n(Z7;7l{S2 z7nmT3zL=0q3=z38pwaaTFEWm7(>7P05SzMbmw9LL zN?Uj!ZRo72X2;h@rxRSn_l=-3x}UJiCpE_1d4YD6eCHJ(P=mx7NX*EED006spJc)V zE@qHGLqziM;kY^X25NZnaEfV!!Te1=XB= zJQLXZc1F2ump?4lZ7DAeQgW@LTPE3}!AB?kSTJ71yu`+>#dGK^E-dIwRubfhf}a%m*RaVmy-!dUov)mH;d1dd*N^I8n! zNJ+y$J6XxSVA#D!Z>)-F1^_$B4GNNCVE> zmJD|x>2j6#{olF{eltsX5)7V@K@mcX-V~ceP~wem0@}c&fl&AV>7);!j6qc|36*w) z=B1*2>^b3^Av;TqE%rC(om|}m+w^^FADgj->fQr_# z;ccWK;fg{2-0c0)2Oo(mig1oOki)>p6l5olkx`q9se_LcZC`^{36Te*cQoX-@;bgh z5z|o|uILT4tbt~{8av7=sK@%>uXscCi8V;tj2X=|6jjve2K!~i!_0hcT*I)lHF12_ z&bgdYs1wS+*E+B^6glv|*y3+6ynXtCma~c-XFCadtvE)s28Er|>}Y#D%R&M^G`9){ zX<`71ROsJyg2MkRAt7R99`dM7jD6s&;DANYAt_1Qx(=X!g}#e(XF7pFzYy-I#^|Zw z^R}!Ag+&{@?G1^O`k7vc7mj!l^La~0-_>P{IZ|FF@CWquHa)WS3p85wn~~V(12sn0 z*plnE$F6@SOAgwjFByfi+gDC6XpApgP1tP_*ujm3L4_d_|{I8~q)7UC4h%5G=-tlUF=usMHq zrqrvzCn|1j3j6xJowH#=KR905TZMRF000bp0gDsVEslv@`vi`ncAwq1P8}E$3AJGt zl-HeI*3tJxo*GfIV^4@fU0Mavm8n9W6<{2@W>c#yGX+&R7r=69*sf|*t^(vk?*fgD zQ}WxYC_)ax%2ZYF%ncjH`D804=&y-rF zJ`OT?op96yseUy4O)bGP3eaO`k9KAmWdtD2G?&$tm;Lwml;0Q>7sFb$2Qd_RRiv8e zDCl{M`OAn-ETk{?Xsjp8iz1b-oiq%DEbp!3yYJs{LD&nC)m1tipA%X7%&uTLcU(9TqqcAU2 z$g}bYvIc$zUQ-DRf~CokqF5R8S|YvDh>)a0*K{=sqATgWxv;hqu$F4<-5J|cK{ZW5(EB_owk z)}>Oaa!S`D^ml9gPHUc|%oJWA2KBwgA0)kd&#rRBiWe)aPYT6?7T2QV^j^iVvB$(N zz#Um{`g2-UR<(h<%M#x8Tcg815%pA8c^p16M@R2fUF07w0jdaFdn$`)R1@Na*n5XA zD0K`l`DW}OG_QIwq|U(?fxMNYXPjm{)2pl}=Vc{7QHRqgtn&5ft;Z`tGea7JgdF7) zogi07w_ZD*(*P$l?TWWDAt@^TvEN?Y(eo!j_q9=P{frB$(?`eH1!VMdZl<1J{oaL= zac`{6S{piQ)v(FF^I#o=gL^0vI!WOHeNlSRbRe+`04LZ1CHd-8`GPokbO0@-6{me+ z8!FWFYX^(dR9=+os-}`?#NdU!lruj*#NbJqj|zb5If@ll}0jKKf*UvHBz5w)6YUB{-q@E)Qy2}GEQ!?o& zi>qED8rf{K(*tM&#lpSh>r7@iC-cG*nSqFN?K+AB1W8VESqb+_5Cb|s4Bz=`N30$q zee^WOw5{qA=ZhmQyiH#w%6tTF$&T1>f5M3|sF8DIU3JVC6|?tTJZ99Ax2+;j-xtYM z+tLGoh!h;pW9Sj~@ELe8lIR~tPFvFSV~jM+!*`3>cl^y)k`5w6_yggWEqUh(T8l#9 z44gx(;*MAiKQNrM(2Xj=+?g`AuQ(-tPsVbhtnlp?N$twr*^IK=^U9`})lxtIi4H~g zELFwMOT#=-@;R0)Gy*)*{FZ|>=}3OiKwH^DB^cB!Avl_4YD?LoVHv^up}#{|B&{9~6dQ*2j`U|!$|3vz~!B)_Zij6A5 zdz3mOwDaiyiu7WI`o^t$;UGfOh2YMi;rE>vvH-$OaMjo58?K5xpKKpu5@9v{!58QK zD0&dYFN2}ydP^k^X!>a4C1|B}KL3OH)FP8UF9H5Is3V+KoAUdmG{vsJigZuaCBT`?QV0w>*(yOE8i`+=L%TiO;;o|jPU zr0&Othii@y08me&9c%F?R#-^4rpoU8Xwvqu?W@&#R!7`hG%kVYl4Pg}RYw{%sgnP^ zplwX%3L$~;%in>$yf@u<21VHS8gm*gxdxNU#G&3SrprPXuEmq3GHJiNiZoZrWkvNd z--Rh@F5sAwvcrf9Y46|LZ)xL$FnUR1vUDyctwOw?F)bpxbSf% zh2tlnmbN{Qlkve2weABA2AI8fLy{ZTTxq+SQqp&ER2k)-6Q01p9#yQ6c}XM5^3!Sa z+kY7=Sq3cIdpl>lhJH0*W{|xQ%C9t8*S?|QN8~pM@v(#68UQG1S4WNovO$aebY3>}*R z4^)&5^?vj>&^oMxE6v-;l)YHMA8p|%9%W?-q#lAWs}(maSHp;u0^}al4bI8+a8YHb zvm+8G#-#P1ip~c%^m}7Lon%CR|HIel`ty-DU`3!nxgZPYJ6wWX_ajmFhLiqF62Q#% z-SJJ*HB`{IZw7U|G*6JniLmMx-ZrELtGYd_n8Z7esisjs`5h4MJlZUq_$>$@$?< z>JceC!&iIX?Pw#Y!Dnnv%k=@D>*(?*t5@1BQ%DTsAj%Ikn08dZ@B2fWB^Vav!Uu=r zHhfWra6XjP$``lV@f%uK8^F@?5+7>WR-?oP-S}am&j?l8J)3$;7B?5BkVvy6-^E!; z?}uNne0-W*8)Xr)5OjkfAz(eF#vJ|3Icu7(VKu>(Al+$BX1RB0nmdQ&@{g7$^EPHC z-KZ3hGr@6Q(_X&>$pvGu9FjRX6EbjueZW}(%Q<~gQ{zrVYU+u$VC5Zr4jO*MMdXQ% zddV2o;bbGZb%(*Q$1)G>&+5~v!Vi>tgg?_zF$KWxj;X7jz;%4y|NXx4jib_)3*Fil z_%9qupT+fN?cw%cw%+&XXb{&MQ~;^)*Mr{NOi;P(uzlF8iBVaOk9ql%A;T|o^%`d8 z?4e%M5^%N1RoxVk5~w7JyB5t{hU@F7jHp5@`q*K#b8M$Lsxku^ocL5@@$crfk2aiT zMuP)FeWgyNB0-Gy;)HA!2@s@jUM}Y1(KQ!h*e*6{ycU_j+$X&_)m9P1lllkPR=`|W zHf1q1RW7*I|MRQofdjW~bsJ!{121V0JnV)hMhw z{eo5tHwCzW1rh+OJm|t3P>rqN@qyrQiT*D~(Otw|N`6u;jk_L3Qkp7_V%J*3sZ#Ni zs%We(a%Eq*zP`L@6^#Gr^L|pU-YnWW2=+Svf#)E1B|CccJ?S9+kj3B8OhA!~q0000w zPPeXTfC7apnfQ2oM!b2WQ7$y2Av|7P)O!m<-4@lcb&f#3G*nb~6F2c-8m8rPhxI)* z_Xz?Pi@II^Ja^G{taTEHlZU82vx^CBqy&7NaZ~_1jDZ23s!8wL1)hM+#^_yS4+jWM zT0^ccD$aOa&sv}*Kzzr3s!v)rz~gn?f@Xxb&`rKTX8QG9l$Av3h&>EPLK(w^%$}Oa zs+C=>%)AP*t(fn|r{x|8`1MR|SB0xMSwQ<2)?&!NS)m!#O74V3^X6zQWQjtTX1jS) zJ#|M@**;lp=*|KRif&nFr(w9<2^H^qsPS^O4Qs3N#`Ioc*nO$d9Cu>UWccYvFfumF zKB*3_@q7ilb6eN%wHkVR96PSAL@P6GkbzbsY<+FOW@DdE*;g%&$|rPb^l?!_cVEz0 z-w^T}-4atqA{Vco=E8ZxUpV7JJGB%%Q20P$w+8eyd1usl1>8SPhBR)+=!x^Flx;3NYK zu*ihe4*atG-QBudiijb6sn@lYT;hZ9kQTZ6j^l21(fjFN>V-i1%&bjX`n|{w)Ds^4+d;nd!nFv0`bj> ztQ%H4Yyk8vvCoRdYW6b~My&nHMoB+Mr>bT~HpyX_P&`=0CpG)&)g%yFzr`)5GjLw4 zWX{%cx%lZfy^!R^$`Fx1AOK20j3FeEW*Hx&bFsL4rJn3)gn-7v&d23}@ee>a>}(bW zCAnz9GFzO87Hw}7WkrFV#Vn`OuI#ZNY*b0mVVUN+En3v9*q|ES{6%NA{eN!gNRL*^-1MMb*aWqFNU5n>=EOM-rIw!&YgTv08Hmf|( zJ+-EMnDD|7H{SiQdY=?WE!Q@p)&st9jqp&)ByR2iJ{n~*0PLS1CWGbNLiLVO9|Iy2 zezc9m;Hm7mzF>h-M9v0eKbBC-j{&8ZD1NjkzdBSHfPup5i#^4>jC10-HI8duH_CG1 zX#(WlOc3x*&5K8uv9$_1*=39wm8MA-e$5rtzIVIsCC0Yop1XHEB6NV>pGSpL-kqte+SP0&*WrS6PC;~x z>2O+5BJWU9!|l2lAzTVDtAji)?%H)a&DDw^+7vc8Vl`#0{vxQZ>#U%Va_g(yq=p5J zheCzfH|`Fa4gnto$63V-0m@Qe6t9mb;*${0Ym>;(2J5y_ZOWq0qnKzdz+Mz*9K$aR516k&Y=0&|-s7E8!i#>^Xh> zs2LXvhNxgYKpVc1TIGDpO%AfQ{I;mq~0;D7i0W$3AvTMib)FkWaCgM`@!;4i`N0-29z z3{#Fk;h=5<2IOZP;Bu3P={?BC9zZcD-)Oh`LMIPRdtO0JmC&rgJ*g#i$bYg49!8?D z>;wP+E_ahM5ma2&9dPuDb>XaLPTJQyDV`bNvb9dZ zZzOQ48?8nRUW~IxL!F;sjulGME7#9SNl|`y40)mPSQqfn-C6)CV9qQ=r%tl9aTUUM zTkCWAyxus(PgeXwCsa&@WwYS~e;h^}w%+iU!FS}DV}Md)#AqCsJDOOHg8T7XKpc8& z_xFAwD*!5uFfRsWE1&F$BIZ3GQPOIxs?-UEfR1JSkZ7g?O)n+O?HVV> zh1Ik^_>5^B=BU-7+LG080A><;{hA4Ava&_+D(;fWSl|KzxzexRkN zeKq$zv&1`U>g0qWB8vV65Y!K6q%#LTQFzi3GTyivg9Zqda@jxL)fF=k+-6@0T3F^3 z0OP@yr!dqe67_)6hz_S-UdH)@w0K?=W@8C3UCiOe0&WFrR$fXXtTD>!fq`-(x&TT* zwZ9v#Soxryle_10Fmw+(o@smCJQ+Wj{7~Kz@uu|K|E^J<8l_cfrz?Mc6Iz9Dro-OJ{>SJ`d@Iqp%GKAmqfN)Pjky z9BAK;*X9GcCX(F9a`=b}vyB8iOW_wzB|LCVCbu-Rmtimal+|5+sJIFkst@V)kkrpN z+-geZZ|6u_(?#umFp*DC96w_3k$GzVKf|@hRg8SeH(>%|~ zSj}r-D)7ds-A!X4V_yr81nN)-uZ-!e!g|4P(*p_S&i^1AdioPPeUFufzFv;2WJBDW zA>BL;hV`G+44_T%NKz$k#*#*(%FTcRtdMFK{S-{zCEFGucqY895!k%N;xr}977B%b zfz2sl=t}{oyS2yXLD~!T{25QI_<(y__EB@E5lZcyF=(bW+5|xLsj&$heWe0^N1;){ z!k(HVEl*W-2UCV)bVXogKBRsD#P-2oi!g-^tDr&-+6$(I9VW~+3#RZazc`MTBjlDd z=SZNShs>u94-bD!Y=#+9r(N2Yq9A$IYtLI0e7zazVsebxgFK4>8voog8S?L-R^HiY&`h2t?nuYCuJy&s9y5e{o75x4OtYUT8=nAW z>YiK_WFlMhH{wAC_-3|KqTAgZj5#D-J_N@ma%SCVKA1b_)~+>Rk7!*+1Flj`l#BO`FT%r;h_I;E)ek zc(qT*MrlbCA3UZW zeqj_DfRBNRwPdmPnOa)V6aYh+!_DK=5Yiz%j!O2<&{SMyHVq-oUqc8+tGq-lbyP_o ztDuipYkewp*l=gfK0OQ1SAfW*=D&NRQl&|%dFI%flJsFk?Iub{P-)Xa*mDRUw|OI3 zg%8nTu=;s;cE1orbn$8ZGd-d{mhnpgD`~Jjqra%nF=*f{2kP#w1DXyj^h&b-zv50^ zyJgN4AhTO&|8>#>!A*+Ez_jv+{!keNKU{Rv)$dSA+KU7O$+%w7OTx>}8g}46bXx6k z6W+~9!(2j!Cq`374u9~0zBj{k?FfEwGi}W3_`FL1TLixKn5%T?{&&pS4uJrl7mILh zrmVO%{lC9m2j5WjmqAg9oup;Kb%F&!lqc%d^Z_%Hm*_%0l0X0zOJgB-_IT!B!ZZK? z0000VZBy0Y0003-1lf-k+H>~(E6uF*f%01;Hn7})rW=%5=-Sxx7-@#tH!RG=y*1N- zl$7wMu*io@C#H!PARVLT%rIl{p$V;hY9kpQpOej(esYw_hENiZ0lE5O(|=v!E%`V* z-wpm=I@lfbOsi?l%bJ=*jiL9Ep=2jPp3RWjTb9R_vrIygumI&}SuTwJ29=LRS|YW9 zr~m=50#fhSHy;yn7*pd-7+;Yeuu7H3#;)?`6|KhR)*Du)72ft>PeQmGuW4cu(4j})_Tkq%-iP@xI2|B5KHqfAvw4ea`e zDqb>30;CYz%h~q~z~D}Ea<~bMf>hqU zes)_u(>aK2a^br#%K8&WQWb}221gtS1;59q$E@cnFz*Xw@N<7*9pYzb^i-0_IB2{c zLKGJ0@a<*-*`Shca%E+#zRKKvMPJ1<(9n5@G1SrX*3%-9u2#u1R?l<=@dP0lcx_h+ z8Hqc(N-+;qytB;I52E(X{Ct^)a*h7KdmwUB)1l};Bh<(AFI3dlS*tb9iri}FoPO`* z$p3+$g<&xZuh<$H7M|Is@LnA@E@i_FR3hmG_vj-1eYIz0M$boMk)I$_Lg$1{!J^LO zErKoj*%^scgt%+cK9;zD!7JuO{#yT(NG2mYYvC@531l<%0aaQIp@)#<8yMIL@Tdn^ z+N1*d2}3`7-U4613@&y>wNRygdhT)>&De@kZ}lfho(-qC{qM!eah#0UcEPk`4t$V{ z3M`-Ic-8;lSb5(f`-2hXfGELt@sj|Lxkn{mCZ}L&7DLpo>Y4AZtzsz?cyA+KuqebW z=itI`)m4f@OqYXB5Dxk$jK}URv`NBq<~O3bFLGB=xMJ6wokeNhwR8dRgbRF7`>~QF ztfG)(9~s5Hm<0rXx9Ov+Il0}FFa2pVU(5R>mPqK1T3+Pw^Mge-?=B0j2tvE$8HFzI z>Plr*8ac~Bby)c+d$q%+hPaLq4M@1-#DrHnISD*H?2bPge%uOH+}(8fj&_$ZDA-0P zNDS?lQrK(foHB=Y=N83U2&l-skIw0CbUCTWaCwb6-5Ylf#M-o8YzR1SS>wt;dy znf~3e(ob4ku-?459oVFgB+w&E!tm_`wxwgek48$FW6ZJ?PTt90vP=sSM3MxOieLbC zn0enXnb+t&^8u?%cN)4!SqkiPuv$6)sKJm{!$(D_wKf0%J)&MpZ3Z(1zcU+Q>}q#h zmTPoyzoii;5kAQExs8?NwA%O!Cbn&vh*a1=UKUwDu}*AiE$+j@xG?OUw|!gNJ4}1p zd-FSKzExmo$C7I{+3dKPUev7)D&78mKU8LQ zfW=(MzF1=tGV{Vw718eFOauT(X<@JHwm*{pUsln7b+U@vdNYE8CVXq^ zZ-`#c(*hyhSkBS_d`jmkLNmkT{w)eg+Mm1V@8B1gTkE*)zp0zr!@-rG8mm20`c_AU zwnMLZToycnp=Qy6kMyM95NBc;=;MSpENnx*5NL^Neag3&SIgpkSwMi zW+Zg$nk>x+tgG4R`RLsX*0`?CCIYwQmS8d>4!9n{bGr=>a8C}J@C{>*vY3gq{>qYc z>My=Eu%jkJb_@2I{zxI1I{rR^!ji_eG5wB^OU#YB=W2D2-vrwJfYF@sew+th5ChCH z&O!~%6gTYh8pASFuWYskt2$-|Hq&Fq&hx6A37d=FEVdVnflHb%-!M3|Ufc^`gXKY= zcNstgWE@$kP1o7}vKVs*!+7Ddt3;&;L`$r2YRYax?mm@@T=K~idYt!@I2~R=8$s6D z2akxtEuLt|1$$f}I>gsGV>+g6d%&A8+ZqT?vrN5V>1oY9hp`mQZ~?%bF@rbi@F^^U zZKd0aEv@_-Ll;3H4drN(r!j`W7ab(yEyn;2oPoEkjEIF3cfFTejDX&W@PCu%QokwF zEAt?9V`k-dJh1@FM{v>dZ4oqwaGpC*lX(i~!w#l#$pm1K@$TX(w3KF}6hJ38p6DnL z*dc=Gf=MzGvP3d0AywFG>!%Go>t>n{(8^35&i0){J+Z>fb0aq{mt?-b)%6)LXgF5K z4j@Vpg>{GhnX;_pob6aW)dpppFF5KdA2|95E#~h*=*+_R(3TrBQRHW{9Isu5W{8h< zIdf=UK08)>m-NjdF%@AjHe^)e)E#r`Wqo-_SaaYXH(PLch2WMp=<8RGIWciwIipfci3N_9fRM%*+|9%pri!<;edlUs%v5L4edo(I)h9 zxMdWdoYNR+8M|MJ|1n7T@Ue5aD#6IXwzhf6GbD^mMl@KGyzW$o&}y!|xMd;gd~+$d z6egZI0~L^QSDjvR;H-S=C{=tLAbLj=RTbrx3v?c(p^wYw{L`hI4gP>1NFQ9EF0D6y z8mx+-fxvk-#I59ci~DarAXV#6ua#tMpJa#C_a7$BepvctcA!8zZn0%~@v27Ngcmw$ zB0^O!e#<{R-G^iTz0)Y811h`2#MUH%x2z)HC#`hI-)4 zsH@VZ7=EddTfv=cWBPW6x`ACd1NM#=12YxUcr`Xj6-pW_WMW*DM!Oi2yh{NX0R_hd z)Aa5oea(b@_^6U>)7aB@@FpPZfmtSs0HlES2_E7{M{Vw>X*nSWdFiPzgDdM%(z1g9 zNnN}(Gm2EkN&&>X-l09#s=^&LgOJ2pC@L&uMzFAWHvEsL^h2giB8xIQ=ZJn(u->z( zAAOVE8!CS1p0$?vPbLQE!{i`Hkq+j^i7`S4<;t)x`OoN zHvO*dv_2$8H|N-(%W<~MO~iI$8%yya9EKxLb(dJPQpG1LSo6{AZ6(6j&X``|1NZ(p6SOggJ7k?5SrMcbpMsfnIh*h~Xzhbu_D{7Prc(7#t zyNGN+Rm;;XKjIaL_Sx#x8BLI8SyDIPWU~&7mcf!XF%S-MN=F0Ier4M7 zej*jN*X&eL17^{6gLESYfmMA}r)EynQUojGU;pu8GH{jq!tMn{AhgZ>xWM`Y_<)lv zQ+2$$-QQXy4aFiGZ9|LgY}q66f8wRr8cWoEIyF>b+*{0ki1;fC0|_8z@0)Vn zd}AL*jzNX#2$OGr%ibRxSqls!UWam2I%7~}DL&@z(Ds|wjRlY!ue`#>=J>FgZ;siA zKqD#QF2AlI9`br&izSiCLD@B?sm`Pg9GY&jpop`m#mPAXH=tWQI$SpY$PC*WxlR62+;)(!%P{Vf z%yFf(OR*_w(Y_RHY{32IJ(mB2jBXaQRDCutz)0SruX?$!$X!vJ93uG_ zBrmq;mo{dJ_fEvFZ}9MzYDK}#ja@BX+9SIV`3!pBin_xz-4xeK^(LawBP0r8%|-=J0mup*U7 z?y#mMPe8R?+IoE)7=>wc<2g{sQr2d z;LO%}s_B&-p>->_A@3I5VDMZp9w*((haE+Mh=NOq2{sw_k?2fd2V9nQlNs=cC6->g z#}ow#Hq=el`Q>1t1?V^285OP7?rbX^ z3$Xa<6<)PT^Jim=8a^Mc$;EC&b7U`R5Sws#jl?5^Ao)40ZDS*5NnS>!$w)sw{4*K8 zaDiQWr(+4tUS`<_9**zAVVjV}upDj9Y}iQs&}z%)&9n^7Fm)8x456M;;>exes>WW| zVqn5J?8XSf@1*r4O z;lZpEZ-x2po1eiZfh9}z^b{6nV_Uy zV6DXXd)11ei5e(^j-fQnp1D6b7bWGz01X_CJY3 z$?eHNDO{HqV|5aa-g|4M+jR2QqxgcH&~%e`T-}VFIi_lHwtrhN_;sKV63}T(3KC+? zwG-zCXF8$ZvaJN5@T6Wpl@1Q%sXh@)#KPuP+kic8*=^}}T6H)A>4a@%n&Og?Xo2jA zdyavtyJqgmfWWASk9=Be!qTauX`8<|m|Sh=kf92CH;hI`(iWzNwzuIg8f{Owq}#27 zrzkJ4i}SHe7H1*HY zMyczDW9h*(=>VnI3jLOKm!wtE08(Re=3uRdXUB%(9(B^XpQ~}r!eF%oqkM`@ONe83 z%p=Xk;u!h|B>{<(EWJMs2|_Z*drz=`0qJ5)(B(R;Er7O*(Db&Oh#X^0(SCfN$Zi2K9~zMyu6qnvs*r7Op?M;{3BE0F(%Jc54tAEVL|my>m3*}K z-JWziy}eO+`axFDH`mdvVeX{~TLXe9O&9L#3108SZcddb{@3$o3Q+{S7_h7%n4-)~ zkF<3u=Wu#D8~3;Ag9bKD1G-Bwx07&R5eOPpbHs1|1bkOA3EU3+c6GKRWjiZ}sXrsT zShi_Fj5df{r1Lm$!4E+Nd}7K;rJTY&`;dL@wKvua7E^5P-3kqPGEU^l@w~Bah1u&) z43I%d_e5<5@H%A4ynm*vX8j%-+KME@1pH95npEVi)znRP=$MLSd3{rfpdw4%Q}6hV z*C-2`olX7Z$bAA})zSY=I|^-4O%aE=FF;G8dF|>ykK6~wFfK?z#Vg#VGZIk~jyofN z7s>{b#?!OakL`{ERO8doTg%!ZqR0PqajLZ}&Cb1e6%?tecTReQrn_p)DkIjMNk` zIJh_szJJX#rQBQ6l%d{XoV(pF60ix<#ggvSv{Vtk^0Ptvf#MpSEvM<{dTC=}l!@E| zDjL4o$h6|}@1hc$7CetwdLr`cJ(6mpm*+(b&cPSx_z2#xKA->=m9r0z3ebs_Fqxf~Y5-=~-?PP2V^B=rHGDfLZsJx;Av1r0Rmo7JN97cSiRMuzEs3fvBQ`Z^YH%d=ZV&9(Ar1hX9r+wHL7 zQ+?U9Gdcr+J6FQVW+VU!bm}~6B-zWS`UX&W3CYuAbiAC#Ieg`GlH#9*$HToWnLMM# zfwxEP`^usdT-`>nVBCP5S=!7=if9jF3YheEe|;G`eh_!;s&_*}SXGc4$PzGX`Z8!- zxy>m@QXS*{ML=a`!r571RfN_%s~T>e++}W~EFE;v3aO;r*X}!hRsA*Ujo6NMe%Lo@ zkhVz!cx<2~mPkVEVP>LiHMympT?6-im`h zyW=S{w1`9`D{Gy|q|g<5emN^ zzzZeFXtyUVqvqPeBM;L}p3VQn)w`b-Lw$fHcu#153g16kU%tZj#b_-H(FimlNWI9+ zm?mdHDd;MG7S;LI8*k*B9t|@&TTd0b#G;}01~#ZX8$`C}Q^yT8=J+$Est+j{Yow@8 za2O9J<)JIh2m%mV#j1sV0$R`HjlTPL)9#EYbfJ#AdD2t`#mw&gmpLlKNq05?;dfOW zs;7yE&uwm(bhEdyoTu?r`}>@P7iv8fAsIXaI(kv!ATlm*FH7OY1P;KMRawp%pv#p+ zJ`fLL+5*HCYzN-pccQeSm+3y8$FChaUb8$S4hQGY*Xg2yF~>!&23V%5zJliK`WKE; zxYn@GEHAuM_2)Qc0fwFq;}~?U2r0+PLGumSXn<|aiX8vY!G8jydFX(zL3fvJSoGc0 z%tvhCq#-qLT}IT9a+!pM#RZNg+cq-w3M5pW(gOkhGQVXT{PkK!dPg$zI(%(?hSGvq zhUch!JpETtAwJLhCm-uH#x&L2G!$vRpp&a(C#BvS!YR|P4YFGuEizd3G+=seaC4__ ztn%}x)BI+yL@{f|Se`LcfRoiRDHpn=EGn>9Blrk!#2MGpAV@j9S0*o)&giMj z@>R8xXEkl10-AmxAI)_#|4)*z=>J`ehqiHgct6jPB>&fpi0qKqF;Fbo zV4m=(<>HLx640Uc+|F|5ZMAyvI3LtN_Fho)5$?q)^I(*oS8p1-pVvWyj!^4+Z#VXM z?UV^7`}L(8X7jT&aS(!P6XH%n<_G(tHkc{&4c<-1Y4*TUtNMB6ViS0K?G=y&aU4C- z{ok17(nzXX_&4#4zXxNGeX_Y8+*7lRfXU_+!GL2byidyd0OCfGTQuP{NMV)k)z9Nb zD~>&T!)v8CFx3vXpo4UPCFQs;%x3Gam?{`FH5e zA|3{Q2^ka8D1IVLuuYhY5XcEmr8|(3FrdmCFAQt91Mj-Yh5uW1+H%S?6UG70W&zeQ z3Gv>zdcZJnwuqdA(0xj;&1%<}bQR(PM!89#!gYO2MUG{dquOAv?Y19J6>t&{v!qWb zyRVyUP)I2VOiPIYlR?_c@;8jh;R8)jJ=QmS4*=c>?Rmn6JPmMAvC>_`C$$85TXV_e-jWOFif17?4 z0NxgE5}KXWMzpJZ{J&v!gA5~{{Uz@1-{R)F{qHMJ!+_czD2$8S48Lp?&c{oagGJ4- z@u0;rbS4c6F_Z2&Bp3jSY>GKDDUnpa#7}6|R_F;;RKm;dh!VjA0B@lo3HGu^CUhk; zkhMC0V`D)sB*Fn0vb$}DK-!F?^|1bb(_`&P!@;d%Co%h`WJIFZ2_CCrSNmy-jZp=vH7qr~la76g&qA z1BF-fR`wcQIx`Cs84W`0ZG93L6b-&vIkea}^-CKmtc#hf8)d@mYYQbG5+ctx=@TEQ zZ%Fgs65=JE`RHn~x#G#)4Y>{vtdZOmMUKMOLFH$^LMAJn6T&fVHk!3+OT^R*FDGtO zgxs{Wi;6_iF%6mT>chQ@vK5It!Ys-wcIZCLLvKyCzO7Mdw*%QiXv=B+g7ME0nOI3= za^5q+IuyqP(|ILsx{x`9HBSZ{sGHsaO(TLPrxq3^AIK!k$zZZ;G$aOP5sO{^ZzrJ< zg(O@7vo|>%Ryw~-f;f)O0uU4PlgK!j^5rz_=MxSKw?9RMO)B9ndtf%5#ZgL2$>k|X zj;Ot^6T;Qe)-Cn8`q<2Khv1va>=}o+0cRkUlo@~Nh!RZt+}iPw2li9vaZLfxpuqY1 zIHX0W)ka)e77NHJ?2$!hlJq8S{q5%{4IYN^WBsrmB+BU@DCv|@eLWT}4voxu-87zh zU#ghkX83hBGP�B;*efk~FlH%KTYx#6Hz4NYB8h+^hlQC0@r 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
9W+hFGB-X}M`uT%C&-X05j* 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 X!-MagTKsdXA*!SN0000000000B%cYh literal 0 HcmV?d00001 diff --git a/assets/index-b466cce2.css b/assets/index-32b1b3b9.css similarity index 51% rename from assets/index-b466cce2.css rename to assets/index-32b1b3b9.css index 0850fea..22d7866 100644 --- a/assets/index-b466cce2.css +++ b/assets/index-32b1b3b9.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap";.vertical-timeline *{-webkit-box-sizing:border-box;box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;position:relative;padding:2em 0}.vertical-timeline:after{content:"";display:table;clear:both}.vertical-timeline:before{content:"";position:absolute;top:0;left:18px;height:100%;width:4px;background:var(--line-color)}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{position:relative;margin:2em 0}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";display:table;clear:both}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;-webkit-box-shadow:0 0 0 4px #fff,inset 0 2px 0 rgba(0,0,0,.08),0 3px 0 4px rgba(0,0,0,.05);box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 3px 0 4px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{display:block;width:24px;height:24px;position:relative;left:50%;top:50%;margin-left:-12px;margin-top:-12px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.vertical-timeline-element-icon{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;-webkit-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{position:relative;margin-left:60px;background:#fff;border-radius:.25em;padding:1em;-webkit-box-shadow:0 3px 0 #ddd;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;-webkit-box-shadow:none;box-shadow:none}.vertical-timeline-element-content:after{content:"";display:table;clear:both}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;padding:.8em 0;opacity:.7}.vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:100%;height:0;width:0;border:7px solid transparent;border-right:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:unset;left:100%;height:0;width:0;border:7px solid transparent;border-left:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{left:100%;border-left:7px solid #fff;border-right:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{position:absolute;width:100%;left:124%;top:6px;font-size:16px;font-size:1rem}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);transform:translate(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);transform:translate(20px)}to{-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);transform:translate(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);transform:translate(-20px)}to{-webkit-transform:translateX(0);transform:translate(0)}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-top-10{top:-2.5rem}.-top-12{top:-3rem}.bottom-32{bottom:8rem}.right-0{right:0}.right-40{right:10rem}.top-0{top:0}.top-20{top:5rem}.top-60{top:15rem}.top-\[120px\]{top:120px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-m-5{margin:-1.25rem}.m-3{margin:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-20{margin-top:5rem;margin-bottom:5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-1\/2{height:50%}.h-10{height:2.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-\[117px\]{height:117px}.h-\[230px\]{height:230px}.h-\[28px\]{height:28px}.h-\[350px\]{height:350px}.h-\[400px\]{height:400px}.h-\[64px\]{height:64px}.h-\[75\%\]{height:75%}.h-full{height:100%}.h-screen{height:100vh}.min-h-\[280px\]{min-height:280px}.w-1{width:.25rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-16{width:4rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-\[150px\]{width:150px}.w-\[28px\]{width:28px}.w-\[35px\]{width:35px}.w-\[70\%\]{width:70%}.w-\[75\%\]{width:75%}.w-\[90\%\]{width:90%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[140px\]{min-width:140px}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.flex-1{flex:1 1 0%}.flex-\[0\.75\]{flex:.75}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-evenly{justify-content:space-evenly}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border-4{border-width:4px}.border-none{border-style:none}.border-\[\#373737\]{--tw-border-opacity: 1;border-color:rgb(55 55 55 / var(--tw-border-opacity))}.bg-\[\#373737\]{--tw-bg-opacity: 1;background-color:rgb(55 55 55 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(55 55 55 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-opacity-60{--tw-bg-opacity: .6}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#f6f6f6\]{--tw-gradient-from: #f6f6f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(246 246 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-primary{--tw-gradient-to: #f6f6f6 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-12{padding-left:3rem;padding-right:3rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-10{padding-bottom:2.5rem}.pl-1{padding-left:.25rem}.text-center{text-align:center}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[24px\]{font-size:24px}.text-\[30px\]{font-size:30px}.text-\[40px\]{font-size:40px}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[30px\]{line-height:30px}.tracking-wider{letter-spacing:.05em}.text-\[\#373737\]{--tw-text-opacity: 1;color:rgb(55 55 55 / var(--tw-text-opacity))}.text-\[\#dfd9ff\]{--tw-text-opacity: 1;color:rgb(223 217 255 / var(--tw-text-opacity))}.text-\[\#fcd4d4\]{--tw-text-opacity: 1;color:rgb(252 212 212 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-black-100{--tw-text-opacity: 1;color:rgb(16 13 37 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-secondary{--tw-text-opacity: 1;color:rgb(55 55 55 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white-100{--tw-text-opacity: 1;color:rgb(243 243 243 / var(--tw-text-opacity))}.underline-offset-8{text-underline-offset:8px}.opacity-0{opacity:0}.shadow-card{--tw-shadow: 0px 35px 120px -15px #211e35;--tw-shadow-colored: 0px 35px 120px -15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[\#fcd4d4\]{--tw-shadow-color: #fcd4d4;--tw-shadow: var(--tw-shadow-colored)}.shadow-primary{--tw-shadow-color: #f6f6f6;--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif;scroll-behavior:smooth}body{background:linear-gradient(180deg,#e6eaf5 0%,#f6f6f6 80%)}.hash-span{margin-top:-100px;padding-bottom:100px;display:block}.black-gradient{background:#000000;background:linear-gradient(to right,#434343,#000000)}.white-gradient{background:#ffffff;background:linear-gradient(to right,#e6eaf5,#f6f6f6)}.violet-gradient{background:#373737;background:linear-gradient(-90deg,#373737 0%,rgba(60,51,80,0) 100%);background:-webkit-linear-gradient(-90deg,#373737 0%,black 100%)}.green-pink-gradient{background:"#00cea8";background:linear-gradient(90.13deg,#00cea8 1.9%,#bf61ff 97.5%);background:-webkit-linear-gradient(-90.13deg,#00cea8 1.9%,#bf61ff 97.5%)}.orange-text-gradient{background:#f12711;background:linear-gradient(to top,#f12711,#f5af19);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.green-text-gradient{background:#11998e;background:linear-gradient(to top,#11998e,#38ef7d);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.blue-text-gradient{background:#56ccf2;background:linear-gradient(to top,#2f80ed,#56ccf2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pink-text-gradient{background:#ec008c;background:linear-gradient(to top,#ec008c,#fc6767);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.canvas-loader{font-size:10px;width:1em;height:1em;border-radius:50%;position:relative;text-indent:-9999em;animation:mulShdSpin 1.1s infinite ease;transform:translateZ(0)}@keyframes mulShdSpin{0%,to{box-shadow:0 -2.6em #fff,1.8em -1.8em #fff3,2.5em 0 #fff3,1.75em 1.75em #fff3,0 2.5em #fff3,-1.8em 1.8em #fff3,-2.6em 0 #ffffff80,-1.8em -1.8em #ffffffb3}12.5%{box-shadow:0 -2.6em #ffffffb3,1.8em -1.8em #fff,2.5em 0 #fff3,1.75em 1.75em #fff3,0 2.5em #fff3,-1.8em 1.8em #fff3,-2.6em 0 #fff3,-1.8em -1.8em #ffffff80}25%{box-shadow:0 -2.6em #ffffff80,1.8em -1.8em #ffffffb3,2.5em 0 #fff,1.75em 1.75em #fff3,0 2.5em #fff3,-1.8em 1.8em #fff3,-2.6em 0 #fff3,-1.8em -1.8em #fff3}37.5%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #ffffff80,2.5em 0 #ffffffb3,1.75em 1.75em #fff,0 2.5em #fff3,-1.8em 1.8em #fff3,-2.6em 0 #fff3,-1.8em -1.8em #fff3}50%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #fff3,2.5em 0 #ffffff80,1.75em 1.75em #ffffffb3,0 2.5em #fff,-1.8em 1.8em #fff3,-2.6em 0 #fff3,-1.8em -1.8em #fff3}62.5%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #fff3,2.5em 0 #fff3,1.75em 1.75em #ffffff80,0 2.5em #ffffffb3,-1.8em 1.8em #fff,-2.6em 0 #fff3,-1.8em -1.8em #fff3}75%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #fff3,2.5em 0 #fff3,1.75em 1.75em #fff3,0 2.5em #ffffff80,-1.8em 1.8em #ffffffb3,-2.6em 0 #fff,-1.8em -1.8em #fff3}87.5%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #fff3,2.5em 0 #fff3,1.75em 1.75em #fff3,0 2.5em #fff3,-1.8em 1.8em #ffffff80,-2.6em 0 #ffffffb3,-1.8em -1.8em #fff}}.funky-text-outline{text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,2px 2px 0 #fff,-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff}.funky-text-outline-2{text-shadow:-3px -3px 0 #C0C0C0,3px -3px 0 #C0C0C0,-3px 3px 0 #C0C0C0,3px 3px 0 #C0C0C0}.placeholder\:text-white-100::-moz-placeholder{--tw-text-opacity: 1;color:rgb(243 243 243 / var(--tw-text-opacity))}.placeholder\:text-white-100::placeholder{--tw-text-opacity: 1;color:rgb(243 243 243 / var(--tw-text-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity: 1;background-color:rgb(22 101 52 / var(--tw-bg-opacity))}.hover\:bg-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(55 55 55 / var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.hover\:text-gray-200:hover{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.hover\:text-white-100:hover{--tw-text-opacity: 1;color:rgb(243 243 243 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover,.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width: 450px){.xs\:w-\[250px\]{width:250px}.xs\:text-\[20px\]{font-size:20px}.xs\:text-\[40px\]{font-size:40px}.xs\:text-\[50px\]{font-size:50px}}@media (min-width: 640px){.sm\:right-5{right:1.25rem}.sm\:top-20{top:5rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-80{height:20rem}.sm\:w-\[360px\]{width:360px}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:text-\[18px\]{font-size:18px}.sm\:text-\[26px\]{font-size:26px}.sm\:text-\[50px\]{font-size:50px}.sm\:text-\[60px\]{font-size:60px}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:-right-10{right:-2.5rem}.md\:-right-20{right:-5rem}.md\:bottom-0{bottom:0}.md\:top-10{top:2.5rem}.md\:top-2{top:.5rem}.md\:-m-10{margin:-2.5rem}.md\:mb-0{margin-bottom:0}.md\:block{display:block}.md\:flex{display:flex}.md\:h-\[550px\]{height:550px}.md\:w-\[80\%\]{width:80%}.md\:max-w-3xl{max-width:48rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-col{flex-direction:column}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:gap-4{gap:1rem}.md\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.md\:text-\[60px\]{font-size:60px}}@media (min-width: 1024px){.lg\:top-\[100px\]{top:100px}.lg\:flex{display:flex}.lg\:h-\[400px\]{height:400px}.lg\:w-\[400px\]{width:400px}.lg\:w-\[70\%\]{width:70%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-\[30px\]{font-size:30px}.lg\:text-\[80px\]{font-size:80px}.lg\:leading-\[40px\]{line-height:40px}.lg\:leading-\[98px\]{line-height:98px}}@media (min-width: 1280px){.xl\:mt-6{margin-top:1.5rem}.xl\:h-auto{height:auto}.xl\:flex-1{flex:1 1 0%}.xl\:flex-row{flex-direction:row}} +@import"https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap";.vertical-timeline *{-webkit-box-sizing:border-box;box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;position:relative;padding:2em 0}.vertical-timeline:after{content:"";display:table;clear:both}.vertical-timeline:before{content:"";position:absolute;top:0;left:18px;height:100%;width:4px;background:var(--line-color)}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{position:relative;margin:2em 0}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";display:table;clear:both}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;-webkit-box-shadow:0 0 0 4px #fff,inset 0 2px 0 rgba(0,0,0,.08),0 3px 0 4px rgba(0,0,0,.05);box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 3px 0 4px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{display:block;width:24px;height:24px;position:relative;left:50%;top:50%;margin-left:-12px;margin-top:-12px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.vertical-timeline-element-icon{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;-webkit-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{position:relative;margin-left:60px;background:#fff;border-radius:.25em;padding:1em;-webkit-box-shadow:0 3px 0 #ddd;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;-webkit-box-shadow:none;box-shadow:none}.vertical-timeline-element-content:after{content:"";display:table;clear:both}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;padding:.8em 0;opacity:.7}.vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:100%;height:0;width:0;border:7px solid transparent;border-right:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:unset;left:100%;height:0;width:0;border:7px solid transparent;border-left:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{left:100%;border-left:7px solid #fff;border-right:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{position:absolute;width:100%;left:124%;top:6px;font-size:16px;font-size:1rem}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);transform:translate(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);transform:translate(20px)}to{-webkit-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);transform:translate(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);transform:translate(-20px)}to{-webkit-transform:translateX(0);transform:translate(0)}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-top-10{top:-2.5rem}.-top-12{top:-3rem}.bottom-32{bottom:8rem}.right-0{right:0}.right-40{right:10rem}.top-0{top:0}.top-20{top:5rem}.top-60{top:15rem}.top-\[120px\]{top:120px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.-m-5{margin:-1.25rem}.m-3{margin:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-20{margin-top:5rem;margin-bottom:5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-1\/2{height:50%}.h-10{height:2.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-\[117px\]{height:117px}.h-\[230px\]{height:230px}.h-\[28px\]{height:28px}.h-\[400px\]{height:400px}.h-\[64px\]{height:64px}.h-\[75\%\]{height:75%}.h-full{height:100%}.h-screen{height:100vh}.min-h-\[280px\]{min-height:280px}.w-1{width:.25rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-16{width:4rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-\[150px\]{width:150px}.w-\[28px\]{width:28px}.w-\[35px\]{width:35px}.w-\[70\%\]{width:70%}.w-\[75\%\]{width:75%}.w-\[90\%\]{width:90%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[140px\]{min-width:140px}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.flex-1{flex:1 1 0%}.flex-\[0\.75\]{flex:.75}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-evenly{justify-content:space-evenly}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.space-x-5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.25rem * var(--tw-space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border-4{border-width:4px}.border-none{border-style:none}.border-\[\#373737\]{--tw-border-opacity: 1;border-color:rgb(55 55 55 / var(--tw-border-opacity))}.bg-\[\#373737\]{--tw-bg-opacity: 1;background-color:rgb(55 55 55 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(55 55 55 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-opacity-60{--tw-bg-opacity: .6}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#f6f6f6\]{--tw-gradient-from: #f6f6f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(246 246 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-primary{--tw-gradient-to: #f6f6f6 var(--tw-gradient-to-position)}.to-white{--tw-gradient-to: #fff var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-2{padding:.5rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-12{padding-left:3rem;padding-right:3rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-10{padding-bottom:2.5rem}.pl-1{padding-left:.25rem}.text-center{text-align:center}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[24px\]{font-size:24px}.text-\[30px\]{font-size:30px}.text-\[40px\]{font-size:40px}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[30px\]{line-height:30px}.tracking-wider{letter-spacing:.05em}.text-\[\#373737\]{--tw-text-opacity: 1;color:rgb(55 55 55 / var(--tw-text-opacity))}.text-\[\#dfd9ff\]{--tw-text-opacity: 1;color:rgb(223 217 255 / var(--tw-text-opacity))}.text-\[\#fcd4d4\]{--tw-text-opacity: 1;color:rgb(252 212 212 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-black-100{--tw-text-opacity: 1;color:rgb(16 13 37 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-secondary{--tw-text-opacity: 1;color:rgb(55 55 55 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white-100{--tw-text-opacity: 1;color:rgb(243 243 243 / var(--tw-text-opacity))}.underline-offset-8{text-underline-offset:8px}.opacity-0{opacity:0}.shadow-card{--tw-shadow: 0px 35px 120px -15px #211e35;--tw-shadow-colored: 0px 35px 120px -15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[\#fcd4d4\]{--tw-shadow-color: #fcd4d4;--tw-shadow: var(--tw-shadow-colored)}.shadow-primary{--tw-shadow-color: #f6f6f6;--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif;scroll-behavior:smooth}body{background:linear-gradient(180deg,#e6eaf5 0%,#f6f6f6 80%)}.hash-span{margin-top:-100px;padding-bottom:100px;display:block}.black-gradient{background:#000000;background:linear-gradient(to right,#434343,#000000)}.white-gradient{background:#ffffff;background:linear-gradient(to right,#e6eaf5,#f6f6f6)}.violet-gradient{background:linear-gradient(-90deg,#373737 0%,rgba(60,51,80,0) 100%);background:-webkit-linear-gradient(-90deg,#373737 0%,black 100%)}.green-pink-gradient{background:#00cea8;background:linear-gradient(90.13deg,#00cea8 1.9%,#bf61ff 97.5%);background:-webkit-linear-gradient(-90.13deg,#00cea8 1.9%,#bf61ff 97.5%)}.orange-text-gradient{background:#f12711;background:linear-gradient(to top,#f12711,#f5af19);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.green-text-gradient{background:#11998e;background:linear-gradient(to top,#11998e,#38ef7d);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.blue-text-gradient{background:#56ccf2;background:linear-gradient(to top,#2f80ed,#56ccf2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.pink-text-gradient{background:#ec008c;background:linear-gradient(to top,#ec008c,#fc6767);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.canvas-loader{font-size:10px;width:1em;height:1em;border-radius:50%;position:relative;text-indent:-9999em;animation:mulShdSpin 1.1s infinite ease;transform:translateZ(0)}@keyframes mulShdSpin{0%,to{box-shadow:0 -2.6em #fff,1.8em -1.8em #fff3,2.5em 0 #fff3,1.75em 1.75em #fff3,0 2.5em #fff3,-1.8em 1.8em #fff3,-2.6em 0 #ffffff80,-1.8em -1.8em #ffffffb3}12.5%{box-shadow:0 -2.6em #ffffffb3,1.8em -1.8em #fff,2.5em 0 #fff3,1.75em 1.75em #fff3,0 2.5em #fff3,-1.8em 1.8em #fff3,-2.6em 0 #fff3,-1.8em -1.8em #ffffff80}25%{box-shadow:0 -2.6em #ffffff80,1.8em -1.8em #ffffffb3,2.5em 0 #fff,1.75em 1.75em #fff3,0 2.5em #fff3,-1.8em 1.8em #fff3,-2.6em 0 #fff3,-1.8em -1.8em #fff3}37.5%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #ffffff80,2.5em 0 #ffffffb3,1.75em 1.75em #fff,0 2.5em #fff3,-1.8em 1.8em #fff3,-2.6em 0 #fff3,-1.8em -1.8em #fff3}50%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #fff3,2.5em 0 #ffffff80,1.75em 1.75em #ffffffb3,0 2.5em #fff,-1.8em 1.8em #fff3,-2.6em 0 #fff3,-1.8em -1.8em #fff3}62.5%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #fff3,2.5em 0 #fff3,1.75em 1.75em #ffffff80,0 2.5em #ffffffb3,-1.8em 1.8em #fff,-2.6em 0 #fff3,-1.8em -1.8em #fff3}75%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #fff3,2.5em 0 #fff3,1.75em 1.75em #fff3,0 2.5em #ffffff80,-1.8em 1.8em #ffffffb3,-2.6em 0 #fff,-1.8em -1.8em #fff3}87.5%{box-shadow:0 -2.6em #fff3,1.8em -1.8em #fff3,2.5em 0 #fff3,1.75em 1.75em #fff3,0 2.5em #fff3,-1.8em 1.8em #ffffff80,-2.6em 0 #ffffffb3,-1.8em -1.8em #fff}}.funky-text-outline{text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,2px 2px 0 #fff,-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff}.funky-text-outline-2{text-shadow:-3px -3px 0 #C0C0C0,3px -3px 0 #C0C0C0,-3px 3px 0 #C0C0C0,3px 3px 0 #C0C0C0}.placeholder\:text-white-100::-moz-placeholder{--tw-text-opacity: 1;color:rgb(243 243 243 / var(--tw-text-opacity))}.placeholder\:text-white-100::placeholder{--tw-text-opacity: 1;color:rgb(243 243 243 / var(--tw-text-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity: 1;background-color:rgb(22 101 52 / var(--tw-bg-opacity))}.hover\:bg-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(55 55 55 / var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.hover\:text-gray-200:hover{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.hover\:text-white-100:hover{--tw-text-opacity: 1;color:rgb(243 243 243 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover,.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width: 450px){.xs\:w-\[250px\]{width:250px}.xs\:text-\[20px\]{font-size:20px}.xs\:text-\[40px\]{font-size:40px}.xs\:text-\[50px\]{font-size:50px}}@media (min-width: 640px){.sm\:right-5{right:1.25rem}.sm\:top-20{top:5rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-80{height:20rem}.sm\:w-\[360px\]{width:360px}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:text-\[18px\]{font-size:18px}.sm\:text-\[26px\]{font-size:26px}.sm\:text-\[50px\]{font-size:50px}.sm\:text-\[60px\]{font-size:60px}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:-right-10{right:-2.5rem}.md\:-right-20{right:-5rem}.md\:bottom-0{bottom:0}.md\:top-10{top:2.5rem}.md\:top-2{top:.5rem}.md\:-m-10{margin:-2.5rem}.md\:mb-0{margin-bottom:0}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[80\%\]{width:80%}.md\:max-w-3xl{max-width:48rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-col{flex-direction:column}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:gap-4{gap:1rem}.md\:space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.md\:text-\[60px\]{font-size:60px}}@media (min-width: 1024px){.lg\:top-\[100px\]{top:100px}.lg\:flex{display:flex}.lg\:h-\[400px\]{height:400px}.lg\:w-\[400px\]{width:400px}.lg\:w-\[70\%\]{width:70%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-\[30px\]{font-size:30px}.lg\:text-\[80px\]{font-size:80px}.lg\:leading-\[40px\]{line-height:40px}.lg\:leading-\[98px\]{line-height:98px}}@media (min-width: 1280px){.xl\:mt-6{margin-top:1.5rem}.xl\:flex-row{flex-direction:row}} diff --git a/assets/index-63fada77.js b/assets/index-e1b102b4.js similarity index 86% rename from assets/index-63fada77.js rename to assets/index-e1b102b4.js index 4fcc721..ca2e212 100644 --- a/assets/index-63fada77.js +++ b/assets/index-e1b102b4.js @@ -6,7 +6,7 @@ function YD(n,e){for(var t=0;t>>1,ie=k[J];if(0>>1;J<$;){var fe=2*(J+1)-1,ve=k[fe],be=fe+1,Pe=k[be];if(0>r(ve,Y))ber(Pe,ve)?(k[J]=Pe,k[be]=Y,J=be):(k[J]=ve,k[fe]=Y,J=fe);else if(ber(Pe,Y))k[J]=Pe,k[be]=Y,J=be;else break e}}return j}function r(k,j){var Y=k.sortIndex-j.sortIndex;return Y!==0?Y:k.id-j.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;n.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,d=null,p=3,m=!1,y=!1,A=!1,x=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(k){for(var j=t(f);j!==null;){if(j.callback===null)i(f);else if(j.startTime<=k)i(f),j.sortIndex=j.expirationTime,e(l,j);else break;j=t(f)}}function E(k){if(A=!1,S(k),!y)if(t(l)!==null)y=!0,ee(P);else{var j=t(f);j!==null&&oe(E,j.startTime-k)}}function P(k,j){y=!1,A&&(A=!1,g(D),D=-1),m=!0;var Y=p;try{for(S(j),d=t(l);d!==null&&(!(d.expirationTime>j)||k&&!F());){var J=d.callback;if(typeof J=="function"){d.callback=null,p=d.priorityLevel;var ie=J(d.expirationTime<=j);j=n.unstable_now(),typeof ie=="function"?d.callback=ie:d===t(l)&&i(l),S(j)}else i(l);d=t(l)}if(d!==null)var $=!0;else{var fe=t(f);fe!==null&&oe(E,fe.startTime-j),$=!1}return $}finally{d=null,p=Y,m=!1}}var b=!1,L=null,D=-1,C=5,R=-1;function F(){return!(n.unstable_now()-Rk||125J?(k.sortIndex=Y,e(f,k),t(l)===null&&k===t(f)&&(A?(g(D),D=-1):A=!0,oe(E,Y-J))):(k.sortIndex=ie,e(l,k),y||m||(y=!0,ee(P))),k},n.unstable_shouldYield=F,n.unstable_wrapCallback=function(k){var j=p;return function(){var Y=p;p=j;try{return k.apply(this,arguments)}finally{p=Y}}}})(RC);PC.exports=RC;var vN=PC.exports;/** + */(function(n){function e(k,j){var Y=k.length;k.push(j);e:for(;0>>1,ie=k[J];if(0>>1;J<$;){var fe=2*(J+1)-1,ve=k[fe],be=fe+1,Pe=k[be];if(0>r(ve,Y))ber(Pe,ve)?(k[J]=Pe,k[be]=Y,J=be):(k[J]=ve,k[fe]=Y,J=fe);else if(ber(Pe,Y))k[J]=Pe,k[be]=Y,J=be;else break e}}return j}function r(k,j){var Y=k.sortIndex-j.sortIndex;return Y!==0?Y:k.id-j.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;n.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,d=null,p=3,m=!1,y=!1,A=!1,x=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(k){for(var j=t(f);j!==null;){if(j.callback===null)i(f);else if(j.startTime<=k)i(f),j.sortIndex=j.expirationTime,e(l,j);else break;j=t(f)}}function E(k){if(A=!1,S(k),!y)if(t(l)!==null)y=!0,ee(P);else{var j=t(f);j!==null&&oe(E,j.startTime-k)}}function P(k,j){y=!1,A&&(A=!1,g(D),D=-1),m=!0;var Y=p;try{for(S(j),d=t(l);d!==null&&(!(d.expirationTime>j)||k&&!F());){var J=d.callback;if(typeof J=="function"){d.callback=null,p=d.priorityLevel;var ie=J(d.expirationTime<=j);j=n.unstable_now(),typeof ie=="function"?d.callback=ie:d===t(l)&&i(l),S(j)}else i(l);d=t(l)}if(d!==null)var $=!0;else{var fe=t(f);fe!==null&&oe(E,fe.startTime-j),$=!1}return $}finally{d=null,p=Y,m=!1}}var b=!1,L=null,D=-1,C=5,R=-1;function F(){return!(n.unstable_now()-Rk||125J?(k.sortIndex=Y,e(f,k),t(l)===null&&k===t(f)&&(A?(g(D),D=-1):A=!0,oe(E,Y-J))):(k.sortIndex=ie,e(l,k),y||m||(y=!0,ee(P))),k},n.unstable_shouldYield=F,n.unstable_wrapCallback=function(k){var j=p;return function(){var Y=p;p=j;try{return k.apply(this,arguments)}finally{p=Y}}}})(RC);PC.exports=RC;var vN=PC.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ function YD(n,e){for(var t=0;t"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Zy=Object.prototype.hasOwnProperty,yN=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,QM={},$M={};function xN(n){return Zy.call($M,n)?!0:Zy.call(QM,n)?!1:yN.test(n)?$M[n]=!0:(QM[n]=!0,!1)}function _N(n,e,t,i){if(t!==null&&t.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return i?!1:t!==null?!t.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function SN(n,e,t,i){if(e===null||typeof e>"u"||_N(n,e,t,i))return!0;if(i)return!1;if(t!==null)switch(t.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Ti(n,e,t,i,r,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=t,this.propertyName=n,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var Qn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){Qn[n]=new Ti(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];Qn[e]=new Ti(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){Qn[n]=new Ti(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){Qn[n]=new Ti(n,2,!1,n,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){Qn[n]=new Ti(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){Qn[n]=new Ti(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){Qn[n]=new Ti(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){Qn[n]=new Ti(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){Qn[n]=new Ti(n,5,!1,n.toLowerCase(),null,!1,!1)});var oS=/[\-:]([a-z])/g;function aS(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var e=n.replace(oS,aS);Qn[e]=new Ti(e,1,!1,n,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var e=n.replace(oS,aS);Qn[e]=new Ti(e,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(n){var e=n.replace(oS,aS);Qn[e]=new Ti(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){Qn[n]=new Ti(n,1,!1,n.toLowerCase(),null,!1,!1)});Qn.xlinkHref=new Ti("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){Qn[n]=new Ti(n,1,!1,n.toLowerCase(),null,!0,!0)});function lS(n,e,t,i){var r=Qn.hasOwnProperty(e)?Qn[e]:null;(r!==null?r.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Zy=Object.prototype.hasOwnProperty,yN=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,QM={},$M={};function xN(n){return Zy.call($M,n)?!0:Zy.call(QM,n)?!1:yN.test(n)?$M[n]=!0:(QM[n]=!0,!1)}function _N(n,e,t,i){if(t!==null&&t.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return i?!1:t!==null?!t.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function SN(n,e,t,i){if(e===null||typeof e>"u"||_N(n,e,t,i))return!0;if(i)return!1;if(t!==null)switch(t.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Ti(n,e,t,i,r,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=t,this.propertyName=n,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var Qn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){Qn[n]=new Ti(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var e=n[0];Qn[e]=new Ti(e,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){Qn[n]=new Ti(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){Qn[n]=new Ti(n,2,!1,n,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){Qn[n]=new Ti(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){Qn[n]=new Ti(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){Qn[n]=new Ti(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){Qn[n]=new Ti(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){Qn[n]=new Ti(n,5,!1,n.toLowerCase(),null,!1,!1)});var oS=/[\-:]([a-z])/g;function aS(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var e=n.replace(oS,aS);Qn[e]=new Ti(e,1,!1,n,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var e=n.replace(oS,aS);Qn[e]=new Ti(e,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(n){var e=n.replace(oS,aS);Qn[e]=new Ti(e,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){Qn[n]=new Ti(n,1,!1,n.toLowerCase(),null,!1,!1)});Qn.xlinkHref=new Ti("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){Qn[n]=new Ti(n,1,!1,n.toLowerCase(),null,!0,!0)});function lS(n,e,t,i){var r=Qn.hasOwnProperty(e)?Qn[e]:null;(r!==null?r.type!==0:i||!(2a||r[o]!==s[a]){var l=` -`+r[o].replace(" at new "," at ");return n.displayName&&l.includes("")&&(l=l.replace("",n.displayName)),l}while(1<=o&&0<=a);break}}}finally{vv=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?Zu(n):""}function AN(n){switch(n.tag){case 5:return Zu(n.type);case 16:return Zu("Lazy");case 13:return Zu("Suspense");case 19:return Zu("SuspenseList");case 0:case 2:case 15:return n=yv(n.type,!1),n;case 11:return n=yv(n.type.render,!1),n;case 1:return n=yv(n.type,!0),n;default:return""}}function $y(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case rc:return"Fragment";case ic:return"Portal";case Ky:return"Profiler";case cS:return"StrictMode";case Jy:return"Suspense";case Qy:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case NC:return(n.displayName||"Context")+".Consumer";case DC:return(n._context.displayName||"Context")+".Provider";case uS:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case fS:return e=n.displayName||null,e!==null?e:$y(n.type)||"Memo";case xo:e=n._payload,n=n._init;try{return $y(n(e))}catch{}}return null}function MN(n){var e=n.type;switch(n.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=e.render,n=n.displayName||n.name||"",e.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return $y(e);case 8:return e===cS?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Ho(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function OC(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function wN(n){var e=OC(n)?"checked":"value",t=Object.getOwnPropertyDescriptor(n.constructor.prototype,e),i=""+n[e];if(!n.hasOwnProperty(e)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var r=t.get,s=t.set;return Object.defineProperty(n,e,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(n,e,{enumerable:t.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){n._valueTracker=null,delete n[e]}}}}function Dd(n){n._valueTracker||(n._valueTracker=wN(n))}function FC(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=OC(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function gm(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function ex(n,e){var t=e.checked;return fn({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function tw(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=Ho(e.value!=null?e.value:t),n._wrapperState={initialChecked:i,initialValue:t,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function kC(n,e){e=e.checked,e!=null&&lS(n,"checked",e,!1)}function tx(n,e){kC(n,e);var t=Ho(e.value),i=e.type;if(t!=null)i==="number"?(t===0&&n.value===""||n.value!=t)&&(n.value=""+t):n.value!==""+t&&(n.value=""+t);else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}e.hasOwnProperty("value")?nx(n,e.type,t):e.hasOwnProperty("defaultValue")&&nx(n,e.type,Ho(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function nw(n,e,t){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var i=e.type;if(!(i!=="submit"&&i!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+n._wrapperState.initialValue,t||e===n.value||(n.value=e),n.defaultValue=e}t=n.name,t!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,t!==""&&(n.name=t)}function nx(n,e,t){(e!=="number"||gm(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var Ku=Array.isArray;function Tc(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=Nd.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function Af(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var tf={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},EN=["Webkit","ms","Moz","O"];Object.keys(tf).forEach(function(n){EN.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),tf[e]=tf[n]})});function HC(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||tf.hasOwnProperty(n)&&tf[n]?(""+e).trim():e+"px"}function WC(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=HC(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var TN=fn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function sx(n,e){if(e){if(TN[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Ee(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Ee(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Ee(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Ee(62))}}function ox(n,e){if(n.indexOf("-")===-1)return typeof e.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ax=null;function hS(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var lx=null,bc=null,Cc=null;function sw(n){if(n=mh(n)){if(typeof lx!="function")throw Error(Ee(280));var e=n.stateNode;e&&(e=ug(e),lx(n.stateNode,n.type,e))}}function GC(n){bc?Cc?Cc.push(n):Cc=[n]:bc=n}function jC(){if(bc){var n=bc,e=Cc;if(Cc=bc=null,sw(n),e)for(n=0;n>>=0,n===0?32:31-(FN(n)/kN|0)|0}var Ud=64,Od=4194304;function Ju(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function _m(n,e){var t=n.pendingLanes;if(t===0)return 0;var i=0,r=n.suspendedLanes,s=n.pingedLanes,o=t&268435455;if(o!==0){var a=o&~r;a!==0?i=Ju(a):(s&=o,s!==0&&(i=Ju(s)))}else o=t&~r,o!==0?i=Ju(o):s!==0&&(i=Ju(s));if(i===0)return 0;if(e!==0&&e!==i&&!(e&r)&&(r=i&-i,s=e&-e,r>=s||r===16&&(s&4194240)!==0))return e;if(i&4&&(i|=t&16),e=n.entangledLanes,e!==0)for(n=n.entanglements,e&=i;0t;t++)e.push(n);return e}function dh(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-kr(e),n[e]=t}function HN(n,e){var t=n.pendingLanes&~e;n.pendingLanes=e,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=e,n.mutableReadLanes&=e,n.entangledLanes&=e,e=n.entanglements;var i=n.eventTimes;for(n=n.expirationTimes;0=rf),pw=String.fromCharCode(32),mw=!1;function fP(n,e){switch(n){case"keyup":return gU.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function hP(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var sc=!1;function yU(n,e){switch(n){case"compositionend":return hP(e);case"keypress":return e.which!==32?null:(mw=!0,pw);case"textInput":return n=e.data,n===pw&&mw?null:n;default:return null}}function xU(n,e){if(sc)return n==="compositionend"||!_S&&fP(n,e)?(n=cP(),Qp=vS=Eo=null,sc=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:t,offset:e-n};n=i}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=xw(t)}}function gP(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?gP(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function vP(){for(var n=window,e=gm();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=gm(n.document)}return e}function SS(n){var e=n&&n.nodeName&&n.nodeName.toLowerCase();return e&&(e==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||e==="textarea"||n.contentEditable==="true")}function CU(n){var e=vP(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&gP(t.ownerDocument.documentElement,t)){if(i!==null&&SS(t)){if(e=i.start,n=i.end,n===void 0&&(n=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if(n=(e=t.ownerDocument||document)&&e.defaultView||window,n.getSelection){n=n.getSelection();var r=t.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!n.extend&&s>i&&(r=i,i=s,s=r),r=_w(t,s);var o=_w(t,i);r&&o&&(n.rangeCount!==1||n.anchorNode!==r.node||n.anchorOffset!==r.offset||n.focusNode!==o.node||n.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),n.removeAllRanges(),s>i?(n.addRange(e),n.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),n.addRange(e)))}}for(e=[],n=t;n=n.parentNode;)n.nodeType===1&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,oc=null,px=null,of=null,mx=!1;function Sw(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;mx||oc==null||oc!==gm(i)||(i=oc,"selectionStart"in i&&SS(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),of&&Cf(of,i)||(of=i,i=Mm(px,"onSelect"),0cc||(n.current=Sx[cc],Sx[cc]=null,cc--)}function jt(n,e){cc++,Sx[cc]=n.current,n.current=e}var Wo={},pi=Ko(Wo),Oi=Ko(!1),Za=Wo;function Nc(n,e){var t=n.type.contextTypes;if(!t)return Wo;var i=n.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===e)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in t)r[s]=e[s];return i&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=e,n.__reactInternalMemoizedMaskedChildContext=r),r}function Fi(n){return n=n.childContextTypes,n!=null}function Em(){Kt(Oi),Kt(pi)}function Cw(n,e,t){if(pi.current!==Wo)throw Error(Ee(168));jt(pi,e),jt(Oi,t)}function TP(n,e,t){var i=n.stateNode;if(e=e.childContextTypes,typeof i.getChildContext!="function")return t;i=i.getChildContext();for(var r in i)if(!(r in e))throw Error(Ee(108,MN(n)||"Unknown",r));return fn({},t,i)}function Tm(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Wo,Za=pi.current,jt(pi,n),jt(Oi,Oi.current),!0}function Pw(n,e,t){var i=n.stateNode;if(!i)throw Error(Ee(169));t?(n=TP(n,e,Za),i.__reactInternalMemoizedMergedChildContext=n,Kt(Oi),Kt(pi),jt(pi,n)):Kt(Oi),jt(Oi,t)}var Ps=null,fg=!1,Iv=!1;function bP(n){Ps===null?Ps=[n]:Ps.push(n)}function zU(n){fg=!0,bP(n)}function Jo(){if(!Iv&&Ps!==null){Iv=!0;var n=0,e=zt;try{var t=Ps;for(zt=1;n>=o,r-=o,Is=1<<32-kr(e)+r|t<D?(C=L,L=null):C=L.sibling;var R=p(g,L,S[D],E);if(R===null){L===null&&(L=C);break}n&&L&&R.alternate===null&&e(g,L),_=s(R,_,D),b===null?P=R:b.sibling=R,b=R,L=C}if(D===S.length)return t(g,L),tn&&wa(g,D),P;if(L===null){for(;DD?(C=L,L=null):C=L.sibling;var F=p(g,L,R.value,E);if(F===null){L===null&&(L=C);break}n&&L&&F.alternate===null&&e(g,L),_=s(F,_,D),b===null?P=F:b.sibling=F,b=F,L=C}if(R.done)return t(g,L),tn&&wa(g,D),P;if(L===null){for(;!R.done;D++,R=S.next())R=d(g,R.value,E),R!==null&&(_=s(R,_,D),b===null?P=R:b.sibling=R,b=R);return tn&&wa(g,D),P}for(L=i(g,L);!R.done;D++,R=S.next())R=m(L,g,D,R.value,E),R!==null&&(n&&R.alternate!==null&&L.delete(R.key===null?D:R.key),_=s(R,_,D),b===null?P=R:b.sibling=R,b=R);return n&&L.forEach(function(K){return e(g,K)}),tn&&wa(g,D),P}function x(g,_,S,E){if(typeof S=="object"&&S!==null&&S.type===rc&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case Id:e:{for(var P=S.key,b=_;b!==null;){if(b.key===P){if(P=S.type,P===rc){if(b.tag===7){t(g,b.sibling),_=r(b,S.props.children),_.return=g,g=_;break e}}else if(b.elementType===P||typeof P=="object"&&P!==null&&P.$$typeof===xo&&Ow(P)===b.type){t(g,b.sibling),_=r(b,S.props),_.ref=Cu(g,b,S),_.return=g,g=_;break e}t(g,b);break}else e(g,b);b=b.sibling}S.type===rc?(_=Wa(S.props.children,g.mode,E,S.key),_.return=g,g=_):(E=om(S.type,S.key,S.props,null,g.mode,E),E.ref=Cu(g,_,S),E.return=g,g=E)}return o(g);case ic:e:{for(b=S.key;_!==null;){if(_.key===b)if(_.tag===4&&_.stateNode.containerInfo===S.containerInfo&&_.stateNode.implementation===S.implementation){t(g,_.sibling),_=r(_,S.children||[]),_.return=g,g=_;break e}else{t(g,_);break}else e(g,_);_=_.sibling}_=zv(S,g.mode,E),_.return=g,g=_}return o(g);case xo:return b=S._init,x(g,_,b(S._payload),E)}if(Ku(S))return y(g,_,S,E);if(Mu(S))return A(g,_,S,E);Wd(g,S)}return typeof S=="string"&&S!==""||typeof S=="number"?(S=""+S,_!==null&&_.tag===6?(t(g,_.sibling),_=r(_,S),_.return=g,g=_):(t(g,_),_=Bv(S,g.mode,E),_.return=g,g=_),o(g)):t(g,_)}return x}var Oc=UP(!0),OP=UP(!1),gh={},os=Ko(gh),If=Ko(gh),Df=Ko(gh);function Ua(n){if(n===gh)throw Error(Ee(174));return n}function RS(n,e){switch(jt(Df,e),jt(If,n),jt(os,gh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:rx(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=rx(e,n)}Kt(os),jt(os,e)}function Fc(){Kt(os),Kt(If),Kt(Df)}function FP(n){Ua(Df.current);var e=Ua(os.current),t=rx(e,n.type);e!==t&&(jt(If,n),jt(os,t))}function LS(n){If.current===n&&(Kt(os),Kt(If))}var on=Ko(0);function Im(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Dv=[];function IS(){for(var n=0;nt?t:4,n(!0);var i=Nv.transition;Nv.transition={};try{n(!1),e()}finally{zt=t,Nv.transition=i}}function $P(){return Ar().memoizedState}function GU(n,e,t){var i=No(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},eR(n))tR(e,t);else if(t=LP(n,e,t,i),t!==null){var r=Ai();Br(t,n,i,r),nR(t,e,i)}}function jU(n,e,t){var i=No(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(eR(n))tR(e,r);else{var s=n.alternate;if(n.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,t);if(r.hasEagerState=!0,r.eagerState=a,zr(a,o)){var l=e.interleaved;l===null?(r.next=r,CS(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=LP(n,e,r,i),t!==null&&(r=Ai(),Br(t,n,i,r),nR(t,e,i))}}function eR(n){var e=n.alternate;return n===cn||e!==null&&e===cn}function tR(n,e){af=Dm=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function nR(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,pS(n,t)}}var Nm={readContext:Sr,useCallback:ri,useContext:ri,useEffect:ri,useImperativeHandle:ri,useInsertionEffect:ri,useLayoutEffect:ri,useMemo:ri,useReducer:ri,useRef:ri,useState:ri,useDebugValue:ri,useDeferredValue:ri,useTransition:ri,useMutableSource:ri,useSyncExternalStore:ri,useId:ri,unstable_isNewReconciler:!1},XU={readContext:Sr,useCallback:function(n,e){return ts().memoizedState=[n,e===void 0?null:e],n},useContext:Sr,useEffect:kw,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,nm(4194308,4,qP.bind(null,e,n),t)},useLayoutEffect:function(n,e){return nm(4194308,4,n,e)},useInsertionEffect:function(n,e){return nm(4,2,n,e)},useMemo:function(n,e){var t=ts();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=ts();return e=t!==void 0?t(e):e,i.memoizedState=i.baseState=e,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:e},i.queue=n,n=n.dispatch=GU.bind(null,cn,n),[i.memoizedState,n]},useRef:function(n){var e=ts();return n={current:n},e.memoizedState=n},useState:Fw,useDebugValue:FS,useDeferredValue:function(n){return ts().memoizedState=n},useTransition:function(){var n=Fw(!1),e=n[0];return n=WU.bind(null,n[1]),ts().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=cn,r=ts();if(tn){if(t===void 0)throw Error(Ee(407));t=t()}else{if(t=e(),jn===null)throw Error(Ee(349));Ja&30||zP(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,kw(HP.bind(null,i,s,n),[n]),i.flags|=2048,Of(9,VP.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=ts(),e=jn.identifierPrefix;if(tn){var t=Ds,i=Is;t=(i&~(1<<32-kr(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=Nf++,0")&&(l=l.replace("",n.displayName)),l}while(1<=o&&0<=a);break}}}finally{vv=!1,Error.prepareStackTrace=t}return(n=n?n.displayName||n.name:"")?Zu(n):""}function AN(n){switch(n.tag){case 5:return Zu(n.type);case 16:return Zu("Lazy");case 13:return Zu("Suspense");case 19:return Zu("SuspenseList");case 0:case 2:case 15:return n=yv(n.type,!1),n;case 11:return n=yv(n.type.render,!1),n;case 1:return n=yv(n.type,!0),n;default:return""}}function $y(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case rc:return"Fragment";case ic:return"Portal";case Ky:return"Profiler";case cS:return"StrictMode";case Jy:return"Suspense";case Qy:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case NC:return(n.displayName||"Context")+".Consumer";case DC:return(n._context.displayName||"Context")+".Provider";case uS:var e=n.render;return n=n.displayName,n||(n=e.displayName||e.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case fS:return e=n.displayName||null,e!==null?e:$y(n.type)||"Memo";case xo:e=n._payload,n=n._init;try{return $y(n(e))}catch{}}return null}function MN(n){var e=n.type;switch(n.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=e.render,n=n.displayName||n.name||"",e.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return $y(e);case 8:return e===cS?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Ho(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function OC(n){var e=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function wN(n){var e=OC(n)?"checked":"value",t=Object.getOwnPropertyDescriptor(n.constructor.prototype,e),i=""+n[e];if(!n.hasOwnProperty(e)&&typeof t<"u"&&typeof t.get=="function"&&typeof t.set=="function"){var r=t.get,s=t.set;return Object.defineProperty(n,e,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(n,e,{enumerable:t.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){n._valueTracker=null,delete n[e]}}}}function Dd(n){n._valueTracker||(n._valueTracker=wN(n))}function FC(n){if(!n)return!1;var e=n._valueTracker;if(!e)return!0;var t=e.getValue(),i="";return n&&(i=OC(n)?n.checked?"true":"false":n.value),n=i,n!==t?(e.setValue(n),!0):!1}function gm(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function ex(n,e){var t=e.checked;return un({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??n._wrapperState.initialChecked})}function tw(n,e){var t=e.defaultValue==null?"":e.defaultValue,i=e.checked!=null?e.checked:e.defaultChecked;t=Ho(e.value!=null?e.value:t),n._wrapperState={initialChecked:i,initialValue:t,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function kC(n,e){e=e.checked,e!=null&&lS(n,"checked",e,!1)}function tx(n,e){kC(n,e);var t=Ho(e.value),i=e.type;if(t!=null)i==="number"?(t===0&&n.value===""||n.value!=t)&&(n.value=""+t):n.value!==""+t&&(n.value=""+t);else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}e.hasOwnProperty("value")?nx(n,e.type,t):e.hasOwnProperty("defaultValue")&&nx(n,e.type,Ho(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(n.defaultChecked=!!e.defaultChecked)}function nw(n,e,t){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var i=e.type;if(!(i!=="submit"&&i!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+n._wrapperState.initialValue,t||e===n.value||(n.value=e),n.defaultValue=e}t=n.name,t!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,t!==""&&(n.name=t)}function nx(n,e,t){(e!=="number"||gm(n.ownerDocument)!==n)&&(t==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+t&&(n.defaultValue=""+t))}var Ku=Array.isArray;function Tc(n,e,t,i){if(n=n.options,e){e={};for(var r=0;r"+e.valueOf().toString()+"",e=Nd.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;e.firstChild;)n.appendChild(e.firstChild)}});function Af(n,e){if(e){var t=n.firstChild;if(t&&t===n.lastChild&&t.nodeType===3){t.nodeValue=e;return}}n.textContent=e}var tf={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},EN=["Webkit","ms","Moz","O"];Object.keys(tf).forEach(function(n){EN.forEach(function(e){e=e+n.charAt(0).toUpperCase()+n.substring(1),tf[e]=tf[n]})});function HC(n,e,t){return e==null||typeof e=="boolean"||e===""?"":t||typeof e!="number"||e===0||tf.hasOwnProperty(n)&&tf[n]?(""+e).trim():e+"px"}function GC(n,e){n=n.style;for(var t in e)if(e.hasOwnProperty(t)){var i=t.indexOf("--")===0,r=HC(t,e[t],i);t==="float"&&(t="cssFloat"),i?n.setProperty(t,r):n[t]=r}}var TN=un({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function sx(n,e){if(e){if(TN[n]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(Ee(137,n));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(Ee(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(Ee(61))}if(e.style!=null&&typeof e.style!="object")throw Error(Ee(62))}}function ox(n,e){if(n.indexOf("-")===-1)return typeof e.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ax=null;function hS(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var lx=null,bc=null,Cc=null;function sw(n){if(n=mh(n)){if(typeof lx!="function")throw Error(Ee(280));var e=n.stateNode;e&&(e=ug(e),lx(n.stateNode,n.type,e))}}function WC(n){bc?Cc?Cc.push(n):Cc=[n]:bc=n}function jC(){if(bc){var n=bc,e=Cc;if(Cc=bc=null,sw(n),e)for(n=0;n>>=0,n===0?32:31-(FN(n)/kN|0)|0}var Ud=64,Od=4194304;function Ju(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function _m(n,e){var t=n.pendingLanes;if(t===0)return 0;var i=0,r=n.suspendedLanes,s=n.pingedLanes,o=t&268435455;if(o!==0){var a=o&~r;a!==0?i=Ju(a):(s&=o,s!==0&&(i=Ju(s)))}else o=t&~r,o!==0?i=Ju(o):s!==0&&(i=Ju(s));if(i===0)return 0;if(e!==0&&e!==i&&!(e&r)&&(r=i&-i,s=e&-e,r>=s||r===16&&(s&4194240)!==0))return e;if(i&4&&(i|=t&16),e=n.entangledLanes,e!==0)for(n=n.entanglements,e&=i;0t;t++)e.push(n);return e}function dh(n,e,t){n.pendingLanes|=e,e!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,e=31-kr(e),n[e]=t}function HN(n,e){var t=n.pendingLanes&~e;n.pendingLanes=e,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=e,n.mutableReadLanes&=e,n.entangledLanes&=e,e=n.entanglements;var i=n.eventTimes;for(n=n.expirationTimes;0=rf),pw=String.fromCharCode(32),mw=!1;function fP(n,e){switch(n){case"keyup":return gU.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function hP(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var sc=!1;function yU(n,e){switch(n){case"compositionend":return hP(e);case"keypress":return e.which!==32?null:(mw=!0,pw);case"textInput":return n=e.data,n===pw&&mw?null:n;default:return null}}function xU(n,e){if(sc)return n==="compositionend"||!_S&&fP(n,e)?(n=cP(),Qp=vS=Eo=null,sc=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:t,offset:e-n};n=i}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=xw(t)}}function gP(n,e){return n&&e?n===e?!0:n&&n.nodeType===3?!1:e&&e.nodeType===3?gP(n,e.parentNode):"contains"in n?n.contains(e):n.compareDocumentPosition?!!(n.compareDocumentPosition(e)&16):!1:!1}function vP(){for(var n=window,e=gm();e instanceof n.HTMLIFrameElement;){try{var t=typeof e.contentWindow.location.href=="string"}catch{t=!1}if(t)n=e.contentWindow;else break;e=gm(n.document)}return e}function SS(n){var e=n&&n.nodeName&&n.nodeName.toLowerCase();return e&&(e==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||e==="textarea"||n.contentEditable==="true")}function CU(n){var e=vP(),t=n.focusedElem,i=n.selectionRange;if(e!==t&&t&&t.ownerDocument&&gP(t.ownerDocument.documentElement,t)){if(i!==null&&SS(t)){if(e=i.start,n=i.end,n===void 0&&(n=e),"selectionStart"in t)t.selectionStart=e,t.selectionEnd=Math.min(n,t.value.length);else if(n=(e=t.ownerDocument||document)&&e.defaultView||window,n.getSelection){n=n.getSelection();var r=t.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!n.extend&&s>i&&(r=i,i=s,s=r),r=_w(t,s);var o=_w(t,i);r&&o&&(n.rangeCount!==1||n.anchorNode!==r.node||n.anchorOffset!==r.offset||n.focusNode!==o.node||n.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(r.node,r.offset),n.removeAllRanges(),s>i?(n.addRange(e),n.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),n.addRange(e)))}}for(e=[],n=t;n=n.parentNode;)n.nodeType===1&&e.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof t.focus=="function"&&t.focus(),t=0;t=document.documentMode,oc=null,px=null,of=null,mx=!1;function Sw(n,e,t){var i=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;mx||oc==null||oc!==gm(i)||(i=oc,"selectionStart"in i&&SS(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),of&&Cf(of,i)||(of=i,i=Mm(px,"onSelect"),0cc||(n.current=Sx[cc],Sx[cc]=null,cc--)}function jt(n,e){cc++,Sx[cc]=n.current,n.current=e}var Go={},pi=Ko(Go),Oi=Ko(!1),Za=Go;function Nc(n,e){var t=n.type.contextTypes;if(!t)return Go;var i=n.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===e)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in t)r[s]=e[s];return i&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=e,n.__reactInternalMemoizedMaskedChildContext=r),r}function Fi(n){return n=n.childContextTypes,n!=null}function Em(){Kt(Oi),Kt(pi)}function Cw(n,e,t){if(pi.current!==Go)throw Error(Ee(168));jt(pi,e),jt(Oi,t)}function TP(n,e,t){var i=n.stateNode;if(e=e.childContextTypes,typeof i.getChildContext!="function")return t;i=i.getChildContext();for(var r in i)if(!(r in e))throw Error(Ee(108,MN(n)||"Unknown",r));return un({},t,i)}function Tm(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Go,Za=pi.current,jt(pi,n),jt(Oi,Oi.current),!0}function Pw(n,e,t){var i=n.stateNode;if(!i)throw Error(Ee(169));t?(n=TP(n,e,Za),i.__reactInternalMemoizedMergedChildContext=n,Kt(Oi),Kt(pi),jt(pi,n)):Kt(Oi),jt(Oi,t)}var Ps=null,fg=!1,Iv=!1;function bP(n){Ps===null?Ps=[n]:Ps.push(n)}function zU(n){fg=!0,bP(n)}function Jo(){if(!Iv&&Ps!==null){Iv=!0;var n=0,e=zt;try{var t=Ps;for(zt=1;n>=o,r-=o,Is=1<<32-kr(e)+r|t<D?(C=L,L=null):C=L.sibling;var R=p(g,L,S[D],E);if(R===null){L===null&&(L=C);break}n&&L&&R.alternate===null&&e(g,L),_=s(R,_,D),b===null?P=R:b.sibling=R,b=R,L=C}if(D===S.length)return t(g,L),tn&&wa(g,D),P;if(L===null){for(;DD?(C=L,L=null):C=L.sibling;var F=p(g,L,R.value,E);if(F===null){L===null&&(L=C);break}n&&L&&F.alternate===null&&e(g,L),_=s(F,_,D),b===null?P=F:b.sibling=F,b=F,L=C}if(R.done)return t(g,L),tn&&wa(g,D),P;if(L===null){for(;!R.done;D++,R=S.next())R=d(g,R.value,E),R!==null&&(_=s(R,_,D),b===null?P=R:b.sibling=R,b=R);return tn&&wa(g,D),P}for(L=i(g,L);!R.done;D++,R=S.next())R=m(L,g,D,R.value,E),R!==null&&(n&&R.alternate!==null&&L.delete(R.key===null?D:R.key),_=s(R,_,D),b===null?P=R:b.sibling=R,b=R);return n&&L.forEach(function(K){return e(g,K)}),tn&&wa(g,D),P}function x(g,_,S,E){if(typeof S=="object"&&S!==null&&S.type===rc&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case Id:e:{for(var P=S.key,b=_;b!==null;){if(b.key===P){if(P=S.type,P===rc){if(b.tag===7){t(g,b.sibling),_=r(b,S.props.children),_.return=g,g=_;break e}}else if(b.elementType===P||typeof P=="object"&&P!==null&&P.$$typeof===xo&&Ow(P)===b.type){t(g,b.sibling),_=r(b,S.props),_.ref=Cu(g,b,S),_.return=g,g=_;break e}t(g,b);break}else e(g,b);b=b.sibling}S.type===rc?(_=Ga(S.props.children,g.mode,E,S.key),_.return=g,g=_):(E=om(S.type,S.key,S.props,null,g.mode,E),E.ref=Cu(g,_,S),E.return=g,g=E)}return o(g);case ic:e:{for(b=S.key;_!==null;){if(_.key===b)if(_.tag===4&&_.stateNode.containerInfo===S.containerInfo&&_.stateNode.implementation===S.implementation){t(g,_.sibling),_=r(_,S.children||[]),_.return=g,g=_;break e}else{t(g,_);break}else e(g,_);_=_.sibling}_=zv(S,g.mode,E),_.return=g,g=_}return o(g);case xo:return b=S._init,x(g,_,b(S._payload),E)}if(Ku(S))return y(g,_,S,E);if(Mu(S))return A(g,_,S,E);Gd(g,S)}return typeof S=="string"&&S!==""||typeof S=="number"?(S=""+S,_!==null&&_.tag===6?(t(g,_.sibling),_=r(_,S),_.return=g,g=_):(t(g,_),_=Bv(S,g.mode,E),_.return=g,g=_),o(g)):t(g,_)}return x}var Oc=UP(!0),OP=UP(!1),gh={},os=Ko(gh),If=Ko(gh),Df=Ko(gh);function Ua(n){if(n===gh)throw Error(Ee(174));return n}function RS(n,e){switch(jt(Df,e),jt(If,n),jt(os,gh),n=e.nodeType,n){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:rx(null,"");break;default:n=n===8?e.parentNode:e,e=n.namespaceURI||null,n=n.tagName,e=rx(e,n)}Kt(os),jt(os,e)}function Fc(){Kt(os),Kt(If),Kt(Df)}function FP(n){Ua(Df.current);var e=Ua(os.current),t=rx(e,n.type);e!==t&&(jt(If,n),jt(os,t))}function LS(n){If.current===n&&(Kt(os),Kt(If))}var on=Ko(0);function Im(n){for(var e=n;e!==null;){if(e.tag===13){var t=e.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data==="$?"||t.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break;for(;e.sibling===null;){if(e.return===null||e.return===n)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var Dv=[];function IS(){for(var n=0;nt?t:4,n(!0);var i=Nv.transition;Nv.transition={};try{n(!1),e()}finally{zt=t,Nv.transition=i}}function $P(){return Ar().memoizedState}function WU(n,e,t){var i=No(n);if(t={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null},eR(n))tR(e,t);else if(t=LP(n,e,t,i),t!==null){var r=Ai();Br(t,n,i,r),nR(t,e,i)}}function jU(n,e,t){var i=No(n),r={lane:i,action:t,hasEagerState:!1,eagerState:null,next:null};if(eR(n))tR(e,r);else{var s=n.alternate;if(n.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,t);if(r.hasEagerState=!0,r.eagerState=a,zr(a,o)){var l=e.interleaved;l===null?(r.next=r,CS(e)):(r.next=l.next,l.next=r),e.interleaved=r;return}}catch{}finally{}t=LP(n,e,r,i),t!==null&&(r=Ai(),Br(t,n,i,r),nR(t,e,i))}}function eR(n){var e=n.alternate;return n===cn||e!==null&&e===cn}function tR(n,e){af=Dm=!0;var t=n.pending;t===null?e.next=e:(e.next=t.next,t.next=e),n.pending=e}function nR(n,e,t){if(t&4194240){var i=e.lanes;i&=n.pendingLanes,t|=i,e.lanes=t,pS(n,t)}}var Nm={readContext:Sr,useCallback:ri,useContext:ri,useEffect:ri,useImperativeHandle:ri,useInsertionEffect:ri,useLayoutEffect:ri,useMemo:ri,useReducer:ri,useRef:ri,useState:ri,useDebugValue:ri,useDeferredValue:ri,useTransition:ri,useMutableSource:ri,useSyncExternalStore:ri,useId:ri,unstable_isNewReconciler:!1},XU={readContext:Sr,useCallback:function(n,e){return ts().memoizedState=[n,e===void 0?null:e],n},useContext:Sr,useEffect:kw,useImperativeHandle:function(n,e,t){return t=t!=null?t.concat([n]):null,nm(4194308,4,qP.bind(null,e,n),t)},useLayoutEffect:function(n,e){return nm(4194308,4,n,e)},useInsertionEffect:function(n,e){return nm(4,2,n,e)},useMemo:function(n,e){var t=ts();return e=e===void 0?null:e,n=n(),t.memoizedState=[n,e],n},useReducer:function(n,e,t){var i=ts();return e=t!==void 0?t(e):e,i.memoizedState=i.baseState=e,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:e},i.queue=n,n=n.dispatch=WU.bind(null,cn,n),[i.memoizedState,n]},useRef:function(n){var e=ts();return n={current:n},e.memoizedState=n},useState:Fw,useDebugValue:FS,useDeferredValue:function(n){return ts().memoizedState=n},useTransition:function(){var n=Fw(!1),e=n[0];return n=GU.bind(null,n[1]),ts().memoizedState=n,[e,n]},useMutableSource:function(){},useSyncExternalStore:function(n,e,t){var i=cn,r=ts();if(tn){if(t===void 0)throw Error(Ee(407));t=t()}else{if(t=e(),jn===null)throw Error(Ee(349));Ja&30||zP(i,e,t)}r.memoizedState=t;var s={value:t,getSnapshot:e};return r.queue=s,kw(HP.bind(null,i,s,n),[n]),i.flags|=2048,Of(9,VP.bind(null,i,s,t,e),void 0,null),t},useId:function(){var n=ts(),e=jn.identifierPrefix;if(tn){var t=Ds,i=Is;t=(i&~(1<<32-kr(i)-1)).toString(32)+t,e=":"+e+"R"+t,t=Nf++,0<\/script>",n=n.removeChild(n.firstChild)):typeof i.is=="string"?n=o.createElement(t,{is:i.is}):(n=o.createElement(t),t==="select"&&(o=n,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):n=o.createElementNS(n,t),n[rs]=e,n[Lf]=i,fR(n,e,!1,!1),e.stateNode=n;e:{switch(o=ox(t,i),t){case"dialog":qt("cancel",n),qt("close",n),r=i;break;case"iframe":case"object":case"embed":qt("load",n),r=i;break;case"video":case"audio":for(r=0;rBc&&(e.flags|=128,i=!0,Pu(s,!1),e.lanes=4194304)}else{if(!i)if(n=Im(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),Pu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!tn)return si(e),null}else 2*Mn()-s.renderingStartTime>Bc&&t!==1073741824&&(e.flags|=128,i=!0,Pu(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(t=s.last,t!==null?t.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Mn(),e.sibling=null,t=on.current,jt(on,i?t&1|2:t&1),e):(si(e),null);case 22:case 23:return WS(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?qi&1073741824&&(si(e),e.subtreeFlags&6&&(e.flags|=8192)):si(e),null;case 24:return null;case 25:return null}throw Error(Ee(156,e.tag))}function eO(n,e){switch(MS(e),e.tag){case 1:return Fi(e.type)&&Em(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return Fc(),Kt(Oi),Kt(pi),IS(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return LS(e),null;case 13:if(Kt(on),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Ee(340));Uc()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return Kt(on),null;case 4:return Fc(),null;case 10:return bS(e.type._context),null;case 22:case 23:return WS(),null;case 24:return null;default:return null}}var jd=!1,ui=!1,tO=typeof WeakSet=="function"?WeakSet:Set,je=null;function dc(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){mn(n,e,i)}else t.current=null}function Dx(n,e,t){try{t()}catch(i){mn(n,e,i)}}var Yw=!1;function nO(n,e){if(gx=Sm,n=vP(),SS(n)){if("selectionStart"in n)var t={start:n.selectionStart,end:n.selectionEnd};else e:{t=(t=n.ownerDocument)&&t.defaultView||window;var i=t.getSelection&&t.getSelection();if(i&&i.rangeCount!==0){t=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{t.nodeType,s.nodeType}catch{t=null;break e}var o=0,a=-1,l=-1,f=0,h=0,d=n,p=null;t:for(;;){for(var m;d!==t||r!==0&&d.nodeType!==3||(a=o+r),d!==s||i!==0&&d.nodeType!==3||(l=o+i),d.nodeType===3&&(o+=d.nodeValue.length),(m=d.firstChild)!==null;)p=d,d=m;for(;;){if(d===n)break t;if(p===t&&++f===r&&(a=o),p===s&&++h===i&&(l=o),(m=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=m}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(vx={focusedElem:n,selectionRange:t},Sm=!1,je=e;je!==null;)if(e=je,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,je=n;else for(;je!==null;){e=je;try{var y=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var A=y.memoizedProps,x=y.memoizedState,g=e.stateNode,_=g.getSnapshotBeforeUpdate(e.elementType===e.type?A:Pr(e.type,A),x);g.__reactInternalSnapshotBeforeUpdate=_}break;case 3:var S=e.stateNode.containerInfo;S.nodeType===1?S.textContent="":S.nodeType===9&&S.documentElement&&S.removeChild(S.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Ee(163))}}catch(E){mn(e,e.return,E)}if(n=e.sibling,n!==null){n.return=e.return,je=n;break}je=e.return}return y=Yw,Yw=!1,y}function lf(n,e,t){var i=e.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&n)===n){var s=r.destroy;r.destroy=void 0,s!==void 0&&Dx(e,t,s)}r=r.next}while(r!==i)}}function pg(n,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var t=e=e.next;do{if((t.tag&n)===n){var i=t.create;t.destroy=i()}t=t.next}while(t!==e)}}function Nx(n){var e=n.ref;if(e!==null){var t=n.stateNode;switch(n.tag){case 5:n=t;break;default:n=t}typeof e=="function"?e(n):e.current=n}}function pR(n){var e=n.alternate;e!==null&&(n.alternate=null,pR(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[rs],delete e[Lf],delete e[_x],delete e[kU],delete e[BU])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function mR(n){return n.tag===5||n.tag===3||n.tag===4}function qw(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||mR(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Ux(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.nodeType===8?t.parentNode.insertBefore(n,e):t.insertBefore(n,e):(t.nodeType===8?(e=t.parentNode,e.insertBefore(n,t)):(e=t,e.appendChild(n)),t=t._reactRootContainer,t!=null||e.onclick!==null||(e.onclick=wm));else if(i!==4&&(n=n.child,n!==null))for(Ux(n,e,t),n=n.sibling;n!==null;)Ux(n,e,t),n=n.sibling}function Ox(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.insertBefore(n,e):t.appendChild(n);else if(i!==4&&(n=n.child,n!==null))for(Ox(n,e,t),n=n.sibling;n!==null;)Ox(n,e,t),n=n.sibling}var Kn=null,Lr=!1;function ao(n,e,t){for(t=t.child;t!==null;)gR(n,e,t),t=t.sibling}function gR(n,e,t){if(ss&&typeof ss.onCommitFiberUnmount=="function")try{ss.onCommitFiberUnmount(og,t)}catch{}switch(t.tag){case 5:ui||dc(t,e);case 6:var i=Kn,r=Lr;Kn=null,ao(n,e,t),Kn=i,Lr=r,Kn!==null&&(Lr?(n=Kn,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):Kn.removeChild(t.stateNode));break;case 18:Kn!==null&&(Lr?(n=Kn,t=t.stateNode,n.nodeType===8?Lv(n.parentNode,t):n.nodeType===1&&Lv(n,t),Tf(n)):Lv(Kn,t.stateNode));break;case 4:i=Kn,r=Lr,Kn=t.stateNode.containerInfo,Lr=!0,ao(n,e,t),Kn=i,Lr=r;break;case 0:case 11:case 14:case 15:if(!ui&&(i=t.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Dx(t,e,o),r=r.next}while(r!==i)}ao(n,e,t);break;case 1:if(!ui&&(dc(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){mn(t,e,a)}ao(n,e,t);break;case 21:ao(n,e,t);break;case 22:t.mode&1?(ui=(i=ui)||t.memoizedState!==null,ao(n,e,t),ui=i):ao(n,e,t);break;default:ao(n,e,t)}}function Zw(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new tO),e.forEach(function(i){var r=fO.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Er(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=Mn()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*rO(i/1960))-i,10n?16:n,To===null)var i=!1;else{if(n=To,To=null,Fm=0,Dt&6)throw Error(Ee(331));var r=Dt;for(Dt|=4,je=n.current;je!==null;){var s=je,o=s.child;if(je.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lMn()-VS?Ha(n,0):zS|=t),ki(n,e)}function wR(n,e){e===0&&(n.mode&1?(e=Od,Od<<=1,!(Od&130023424)&&(Od=4194304)):e=1);var t=Ai();n=Ws(n,e),n!==null&&(dh(n,e,t),ki(n,t))}function uO(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),wR(n,t)}function fO(n,e){var t=0;switch(n.tag){case 13:var i=n.stateNode,r=n.memoizedState;r!==null&&(t=r.retryLane);break;case 19:i=n.stateNode;break;default:throw Error(Ee(314))}i!==null&&i.delete(e),wR(n,t)}var ER;ER=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Oi.current)Ui=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return Ui=!1,QU(n,e,t);Ui=!!(n.flags&131072)}else Ui=!1,tn&&e.flags&1048576&&CP(e,Cm,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;im(n,e),n=e.pendingProps;var r=Nc(e,pi.current);Rc(e,t),r=NS(null,e,i,n,r,t);var s=US();return e.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Fi(i)?(s=!0,Tm(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,PS(e),r.updater=hg,e.stateNode=r,r._reactInternals=e,Tx(e,i,n,t),e=Px(null,e,i,!0,s,t)):(e.tag=0,tn&&s&&AS(e),_i(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(im(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=dO(i),n=Pr(i,n),r){case 0:e=Cx(null,e,i,n,t);break e;case 1:e=Gw(null,e,i,n,t);break e;case 11:e=Hw(null,e,i,n,t);break e;case 14:e=Ww(null,e,i,Pr(i.type,n),t);break e}throw Error(Ee(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Pr(i,r),Cx(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Pr(i,r),Gw(n,e,i,r,t);case 3:e:{if(lR(e),n===null)throw Error(Ee(387));i=e.pendingProps,s=e.memoizedState,r=s.element,IP(n,e),Lm(e,i,null,t);var o=e.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){r=kc(Error(Ee(423)),e),e=jw(n,e,i,t,r);break e}else if(i!==r){r=kc(Error(Ee(424)),e),e=jw(n,e,i,t,r);break e}else for(Ji=Lo(e.stateNode.containerInfo.firstChild),Qi=e,tn=!0,Ir=null,t=OP(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Uc(),i===r){e=Gs(n,e,t);break e}_i(n,e,i,t)}e=e.child}return e;case 5:return FP(e),n===null&&Mx(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,yx(i,r)?o=null:s!==null&&yx(i,s)&&(e.flags|=32),aR(n,e),_i(n,e,o,t),e.child;case 6:return n===null&&Mx(e),null;case 13:return cR(n,e,t);case 4:return RS(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=Oc(e,null,i,t):_i(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Pr(i,r),Hw(n,e,i,r,t);case 7:return _i(n,e,e.pendingProps,t),e.child;case 8:return _i(n,e,e.pendingProps.children,t),e.child;case 12:return _i(n,e,e.pendingProps.children,t),e.child;case 10:e:{if(i=e.type._context,r=e.pendingProps,s=e.memoizedProps,o=r.value,jt(Pm,i._currentValue),i._currentValue=o,s!==null)if(zr(s.value,o)){if(s.children===r.children&&!Oi.current){e=Gs(n,e,t);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===i){if(s.tag===1){l=Fs(-1,t&-t),l.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?l.next=l:(l.next=h.next,h.next=l),f.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),wx(s.return,t,e),a.lanes|=t;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(Ee(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),wx(o,t,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}_i(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,Rc(e,t),r=Sr(r),i=i(r),e.flags|=1,_i(n,e,i,t),e.child;case 14:return i=e.type,r=Pr(i,e.pendingProps),r=Pr(i.type,r),Ww(n,e,i,r,t);case 15:return sR(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Pr(i,r),im(n,e),e.tag=1,Fi(i)?(n=!0,Tm(e)):n=!1,Rc(e,t),NP(e,i,r),Tx(e,i,r,t),Px(null,e,i,!0,n,t);case 19:return uR(n,e,t);case 22:return oR(n,e,t)}throw Error(Ee(156,e.tag))};function TR(n,e){return QC(n,e)}function hO(n,e,t,i){this.tag=n,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function xr(n,e,t,i){return new hO(n,e,t,i)}function jS(n){return n=n.prototype,!(!n||!n.isReactComponent)}function dO(n){if(typeof n=="function")return jS(n)?1:0;if(n!=null){if(n=n.$$typeof,n===uS)return 11;if(n===fS)return 14}return 2}function Uo(n,e){var t=n.alternate;return t===null?(t=xr(n.tag,e,n.key,n.mode),t.elementType=n.elementType,t.type=n.type,t.stateNode=n.stateNode,t.alternate=n,n.alternate=t):(t.pendingProps=e,t.type=n.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=n.flags&14680064,t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,e=n.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},t.sibling=n.sibling,t.index=n.index,t.ref=n.ref,t}function om(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")jS(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case rc:return Wa(t.children,r,s,e);case cS:o=8,r|=8;break;case Ky:return n=xr(12,t,e,r|2),n.elementType=Ky,n.lanes=s,n;case Jy:return n=xr(13,t,e,r),n.elementType=Jy,n.lanes=s,n;case Qy:return n=xr(19,t,e,r),n.elementType=Qy,n.lanes=s,n;case UC:return gg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case DC:o=10;break e;case NC:o=9;break e;case uS:o=11;break e;case fS:o=14;break e;case xo:o=16,i=null;break e}throw Error(Ee(130,n==null?n:typeof n,""))}return e=xr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function Wa(n,e,t,i){return n=xr(7,n,i,e),n.lanes=t,n}function gg(n,e,t,i){return n=xr(22,n,i,e),n.elementType=UC,n.lanes=t,n.stateNode={isHidden:!1},n}function Bv(n,e,t){return n=xr(6,n,null,e),n.lanes=t,n}function zv(n,e,t){return e=xr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function pO(n,e,t,i,r){this.tag=e,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_v(0),this.expirationTimes=_v(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_v(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function XS(n,e,t,i,r,s,o,a,l){return n=new pO(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=xr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},PS(s),n}function mO(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(RR)}catch(n){console.error(n)}}RR(),CC.exports=nr;var _O=CC.exports,LR,iE=_O;LR=qy.createRoot=iE.createRoot,qy.hydrateRoot=iE.hydrateRoot;/** +`+s.stack}return{value:n,source:e,stack:r,digest:null}}function Fv(n,e,t){return{value:n,source:null,stack:t??null,digest:e??null}}function bx(n,e){try{console.error(e.value)}catch(t){setTimeout(function(){throw t})}}var ZU=typeof WeakMap=="function"?WeakMap:Map;function iR(n,e,t){t=Fs(-1,t),t.tag=3,t.payload={element:null};var i=e.value;return t.callback=function(){Om||(Om=!0,Fx=i),bx(n,e)},t}function rR(n,e,t){t=Fs(-1,t),t.tag=3;var i=n.type.getDerivedStateFromError;if(typeof i=="function"){var r=e.value;t.payload=function(){return i(r)},t.callback=function(){bx(n,e)}}var s=n.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(t.callback=function(){bx(n,e),typeof i!="function"&&(Do===null?Do=new Set([this]):Do.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),t}function Bw(n,e,t){var i=n.pingCache;if(i===null){i=n.pingCache=new ZU;var r=new Set;i.set(e,r)}else r=i.get(e),r===void 0&&(r=new Set,i.set(e,r));r.has(t)||(r.add(t),n=cO.bind(null,n,e,t),e.then(n,n))}function zw(n){do{var e;if((e=n.tag===13)&&(e=n.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return n;n=n.return}while(n!==null);return null}function Vw(n,e,t,i,r){return n.mode&1?(n.flags|=65536,n.lanes=r,n):(n===e?n.flags|=65536:(n.flags|=128,t.flags|=131072,t.flags&=-52805,t.tag===1&&(t.alternate===null?t.tag=17:(e=Fs(-1,1),e.tag=2,Io(t,e,1))),t.lanes|=1),n)}var KU=Zs.ReactCurrentOwner,Ui=!1;function _i(n,e,t,i){e.child=n===null?OP(e,null,t,i):Oc(e,n.child,t,i)}function Hw(n,e,t,i,r){t=t.render;var s=e.ref;return Rc(e,r),i=NS(n,e,t,i,s,r),t=US(),n!==null&&!Ui?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,Ws(n,e,r)):(tn&&t&&AS(e),e.flags|=1,_i(n,e,i,r),e.child)}function Gw(n,e,t,i,r){if(n===null){var s=t.type;return typeof s=="function"&&!jS(s)&&s.defaultProps===void 0&&t.compare===null&&t.defaultProps===void 0?(e.tag=15,e.type=s,sR(n,e,s,i,r)):(n=om(t.type,null,i,e,e.mode,r),n.ref=e.ref,n.return=e,e.child=n)}if(s=n.child,!(n.lanes&r)){var o=s.memoizedProps;if(t=t.compare,t=t!==null?t:Cf,t(o,i)&&n.ref===e.ref)return Ws(n,e,r)}return e.flags|=1,n=Uo(s,i),n.ref=e.ref,n.return=e,e.child=n}function sR(n,e,t,i,r){if(n!==null){var s=n.memoizedProps;if(Cf(s,i)&&n.ref===e.ref)if(Ui=!1,e.pendingProps=i=s,(n.lanes&r)!==0)n.flags&131072&&(Ui=!0);else return e.lanes=n.lanes,Ws(n,e,r)}return Cx(n,e,t,i,r)}function oR(n,e,t){var i=e.pendingProps,r=i.children,s=n!==null?n.memoizedState:null;if(i.mode==="hidden")if(!(e.mode&1))e.memoizedState={baseLanes:0,cachePool:null,transitions:null},jt(pc,qi),qi|=t;else{if(!(t&1073741824))return n=s!==null?s.baseLanes|t:t,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:n,cachePool:null,transitions:null},e.updateQueue=null,jt(pc,qi),qi|=n,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:t,jt(pc,qi),qi|=i}else s!==null?(i=s.baseLanes|t,e.memoizedState=null):i=t,jt(pc,qi),qi|=i;return _i(n,e,r,t),e.child}function aR(n,e){var t=e.ref;(n===null&&t!==null||n!==null&&n.ref!==t)&&(e.flags|=512,e.flags|=2097152)}function Cx(n,e,t,i,r){var s=Fi(t)?Za:pi.current;return s=Nc(e,s),Rc(e,r),t=NS(n,e,t,i,s,r),i=US(),n!==null&&!Ui?(e.updateQueue=n.updateQueue,e.flags&=-2053,n.lanes&=~r,Ws(n,e,r)):(tn&&i&&AS(e),e.flags|=1,_i(n,e,t,r),e.child)}function Ww(n,e,t,i,r){if(Fi(t)){var s=!0;Tm(e)}else s=!1;if(Rc(e,r),e.stateNode===null)im(n,e),NP(e,t,i),Tx(e,t,i,r),i=!0;else if(n===null){var o=e.stateNode,a=e.memoizedProps;o.props=a;var l=o.context,f=t.contextType;typeof f=="object"&&f!==null?f=Sr(f):(f=Fi(t)?Za:pi.current,f=Nc(e,f));var h=t.getDerivedStateFromProps,d=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==i||l!==f)&&Uw(e,o,i,f),_o=!1;var p=e.memoizedState;o.state=p,Lm(e,i,o,r),l=e.memoizedState,a!==i||p!==l||Oi.current||_o?(typeof h=="function"&&(Ex(e,t,h,i),l=e.memoizedState),(a=_o||Nw(e,t,a,i,p,l,f))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=i,e.memoizedState=l),o.props=i,o.state=l,o.context=f,i=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),i=!1)}else{o=e.stateNode,IP(n,e),a=e.memoizedProps,f=e.type===e.elementType?a:Pr(e.type,a),o.props=f,d=e.pendingProps,p=o.context,l=t.contextType,typeof l=="object"&&l!==null?l=Sr(l):(l=Fi(t)?Za:pi.current,l=Nc(e,l));var m=t.getDerivedStateFromProps;(h=typeof m=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==d||p!==l)&&Uw(e,o,i,l),_o=!1,p=e.memoizedState,o.state=p,Lm(e,i,o,r);var y=e.memoizedState;a!==d||p!==y||Oi.current||_o?(typeof m=="function"&&(Ex(e,t,m,i),y=e.memoizedState),(f=_o||Nw(e,t,f,i,p,y,l)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,y,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,y,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&p===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&p===n.memoizedState||(e.flags|=1024),e.memoizedProps=i,e.memoizedState=y),o.props=i,o.state=y,o.context=l,i=f):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&p===n.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&p===n.memoizedState||(e.flags|=1024),i=!1)}return Px(n,e,t,i,s,r)}function Px(n,e,t,i,r,s){aR(n,e);var o=(e.flags&128)!==0;if(!i&&!o)return r&&Pw(e,t,!1),Ws(n,e,s);i=e.stateNode,KU.current=e;var a=o&&typeof t.getDerivedStateFromError!="function"?null:i.render();return e.flags|=1,n!==null&&o?(e.child=Oc(e,n.child,null,s),e.child=Oc(e,null,a,s)):_i(n,e,a,s),e.memoizedState=i.state,r&&Pw(e,t,!0),e.child}function lR(n){var e=n.stateNode;e.pendingContext?Cw(n,e.pendingContext,e.pendingContext!==e.context):e.context&&Cw(n,e.context,!1),RS(n,e.containerInfo)}function jw(n,e,t,i,r){return Uc(),wS(r),e.flags|=256,_i(n,e,t,i),e.child}var Rx={dehydrated:null,treeContext:null,retryLane:0};function Lx(n){return{baseLanes:n,cachePool:null,transitions:null}}function cR(n,e,t){var i=e.pendingProps,r=on.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=n!==null&&n.memoizedState===null?!1:(r&2)!==0),a?(s=!0,e.flags&=-129):(n===null||n.memoizedState!==null)&&(r|=1),jt(on,r&1),n===null)return Mx(e),n=e.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?(e.mode&1?n.data==="$!"?e.lanes=8:e.lanes=1073741824:e.lanes=1,null):(o=i.children,n=i.fallback,s?(i=e.mode,s=e.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=gg(o,i,0,null),n=Ga(n,i,t,null),s.return=e,n.return=e,s.sibling=n,e.child=s,e.child.memoizedState=Lx(t),e.memoizedState=Rx,n):kS(e,o));if(r=n.memoizedState,r!==null&&(a=r.dehydrated,a!==null))return JU(n,e,o,i,a,r,t);if(s){s=i.fallback,o=e.mode,r=n.child,a=r.sibling;var l={mode:"hidden",children:i.children};return!(o&1)&&e.child!==r?(i=e.child,i.childLanes=0,i.pendingProps=l,e.deletions=null):(i=Uo(r,l),i.subtreeFlags=r.subtreeFlags&14680064),a!==null?s=Uo(a,s):(s=Ga(s,o,t,null),s.flags|=2),s.return=e,i.return=e,i.sibling=s,e.child=i,i=s,s=e.child,o=n.child.memoizedState,o=o===null?Lx(t):{baseLanes:o.baseLanes|t,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=n.childLanes&~t,e.memoizedState=Rx,i}return s=n.child,n=s.sibling,i=Uo(s,{mode:"visible",children:i.children}),!(e.mode&1)&&(i.lanes=t),i.return=e,i.sibling=null,n!==null&&(t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)),e.child=i,e.memoizedState=null,i}function kS(n,e){return e=gg({mode:"visible",children:e},n.mode,0,null),e.return=n,n.child=e}function Wd(n,e,t,i){return i!==null&&wS(i),Oc(e,n.child,null,t),n=kS(e,e.pendingProps.children),n.flags|=2,e.memoizedState=null,n}function JU(n,e,t,i,r,s,o){if(t)return e.flags&256?(e.flags&=-257,i=Fv(Error(Ee(422))),Wd(n,e,o,i)):e.memoizedState!==null?(e.child=n.child,e.flags|=128,null):(s=i.fallback,r=e.mode,i=gg({mode:"visible",children:i.children},r,0,null),s=Ga(s,r,o,null),s.flags|=2,i.return=e,s.return=e,i.sibling=s,e.child=i,e.mode&1&&Oc(e,n.child,null,o),e.child.memoizedState=Lx(o),e.memoizedState=Rx,s);if(!(e.mode&1))return Wd(n,e,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var a=i.dgst;return i=a,s=Error(Ee(419)),i=Fv(s,i,void 0),Wd(n,e,o,i)}if(a=(o&n.childLanes)!==0,Ui||a){if(i=jn,i!==null){switch(o&-o){case 4:r=2;break;case 16:r=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,Gs(n,r),Br(i,n,r,-1))}return WS(),i=Fv(Error(Ee(421))),Wd(n,e,o,i)}return r.data==="$?"?(e.flags|=128,e.child=n.child,e=uO.bind(null,n),r._reactRetry=e,null):(n=s.treeContext,Ji=Lo(r.nextSibling),Qi=e,tn=!0,Ir=null,n!==null&&(vr[yr++]=Is,vr[yr++]=Ds,vr[yr++]=Ka,Is=n.id,Ds=n.overflow,Ka=e),e=kS(e,i.children),e.flags|=4096,e)}function Xw(n,e,t){n.lanes|=e;var i=n.alternate;i!==null&&(i.lanes|=e),wx(n.return,e,t)}function kv(n,e,t,i,r){var s=n.memoizedState;s===null?n.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:i,tail:t,tailMode:r}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=t,s.tailMode=r)}function uR(n,e,t){var i=e.pendingProps,r=i.revealOrder,s=i.tail;if(_i(n,e,i.children,t),i=on.current,i&2)i=i&1|2,e.flags|=128;else{if(n!==null&&n.flags&128)e:for(n=e.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&Xw(n,t,e);else if(n.tag===19)Xw(n,t,e);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}i&=1}if(jt(on,i),!(e.mode&1))e.memoizedState=null;else switch(r){case"forwards":for(t=e.child,r=null;t!==null;)n=t.alternate,n!==null&&Im(n)===null&&(r=t),t=t.sibling;t=r,t===null?(r=e.child,e.child=null):(r=t.sibling,t.sibling=null),kv(e,!1,r,t,s);break;case"backwards":for(t=null,r=e.child,e.child=null;r!==null;){if(n=r.alternate,n!==null&&Im(n)===null){e.child=r;break}n=r.sibling,r.sibling=t,t=r,r=n}kv(e,!0,t,null,s);break;case"together":kv(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function im(n,e){!(e.mode&1)&&n!==null&&(n.alternate=null,e.alternate=null,e.flags|=2)}function Ws(n,e,t){if(n!==null&&(e.dependencies=n.dependencies),Qa|=e.lanes,!(t&e.childLanes))return null;if(n!==null&&e.child!==n.child)throw Error(Ee(153));if(e.child!==null){for(n=e.child,t=Uo(n,n.pendingProps),e.child=t,t.return=e;n.sibling!==null;)n=n.sibling,t=t.sibling=Uo(n,n.pendingProps),t.return=e;t.sibling=null}return e.child}function QU(n,e,t){switch(e.tag){case 3:lR(e),Uc();break;case 5:FP(e);break;case 1:Fi(e.type)&&Tm(e);break;case 4:RS(e,e.stateNode.containerInfo);break;case 10:var i=e.type._context,r=e.memoizedProps.value;jt(Pm,i._currentValue),i._currentValue=r;break;case 13:if(i=e.memoizedState,i!==null)return i.dehydrated!==null?(jt(on,on.current&1),e.flags|=128,null):t&e.child.childLanes?cR(n,e,t):(jt(on,on.current&1),n=Ws(n,e,t),n!==null?n.sibling:null);jt(on,on.current&1);break;case 19:if(i=(t&e.childLanes)!==0,n.flags&128){if(i)return uR(n,e,t);e.flags|=128}if(r=e.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),jt(on,on.current),i)break;return null;case 22:case 23:return e.lanes=0,oR(n,e,t)}return Ws(n,e,t)}var fR,Ix,hR,dR;fR=function(n,e){for(var t=e.child;t!==null;){if(t.tag===5||t.tag===6)n.appendChild(t.stateNode);else if(t.tag!==4&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}};Ix=function(){};hR=function(n,e,t,i){var r=n.memoizedProps;if(r!==i){n=e.stateNode,Ua(os.current);var s=null;switch(t){case"input":r=ex(n,r),i=ex(n,i),s=[];break;case"select":r=un({},r,{value:void 0}),i=un({},i,{value:void 0}),s=[];break;case"textarea":r=ix(n,r),i=ix(n,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(n.onclick=wm)}sx(t,i);var o;t=null;for(f in r)if(!i.hasOwnProperty(f)&&r.hasOwnProperty(f)&&r[f]!=null)if(f==="style"){var a=r[f];for(o in a)a.hasOwnProperty(o)&&(t||(t={}),t[o]="")}else f!=="dangerouslySetInnerHTML"&&f!=="children"&&f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(Sf.hasOwnProperty(f)?s||(s=[]):(s=s||[]).push(f,null));for(f in i){var l=i[f];if(a=r!=null?r[f]:void 0,i.hasOwnProperty(f)&&l!==a&&(l!=null||a!=null))if(f==="style")if(a){for(o in a)!a.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(t||(t={}),t[o]="");for(o in l)l.hasOwnProperty(o)&&a[o]!==l[o]&&(t||(t={}),t[o]=l[o])}else t||(s||(s=[]),s.push(f,t)),t=l;else f==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,a=a?a.__html:void 0,l!=null&&a!==l&&(s=s||[]).push(f,l)):f==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(f,""+l):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&(Sf.hasOwnProperty(f)?(l!=null&&f==="onScroll"&&qt("scroll",n),s||a===l||(s=[])):(s=s||[]).push(f,l))}t&&(s=s||[]).push("style",t);var f=s;(e.updateQueue=f)&&(e.flags|=4)}};dR=function(n,e,t,i){t!==i&&(e.flags|=4)};function Pu(n,e){if(!tn)switch(n.tailMode){case"hidden":e=n.tail;for(var t=null;e!==null;)e.alternate!==null&&(t=e),e=e.sibling;t===null?n.tail=null:t.sibling=null;break;case"collapsed":t=n.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e||n.tail===null?n.tail=null:n.tail.sibling=null:i.sibling=null}}function si(n){var e=n.alternate!==null&&n.alternate.child===n.child,t=0,i=0;if(e)for(var r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=n,r=r.sibling;else for(r=n.child;r!==null;)t|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=n,r=r.sibling;return n.subtreeFlags|=i,n.childLanes=t,e}function $U(n,e,t){var i=e.pendingProps;switch(MS(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return si(e),null;case 1:return Fi(e.type)&&Em(),si(e),null;case 3:return i=e.stateNode,Fc(),Kt(Oi),Kt(pi),IS(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(n===null||n.child===null)&&(Hd(e)?e.flags|=4:n===null||n.memoizedState.isDehydrated&&!(e.flags&256)||(e.flags|=1024,Ir!==null&&(zx(Ir),Ir=null))),Ix(n,e),si(e),null;case 5:LS(e);var r=Ua(Df.current);if(t=e.type,n!==null&&e.stateNode!=null)hR(n,e,t,i,r),n.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!i){if(e.stateNode===null)throw Error(Ee(166));return si(e),null}if(n=Ua(os.current),Hd(e)){i=e.stateNode,t=e.type;var s=e.memoizedProps;switch(i[rs]=e,i[Lf]=s,n=(e.mode&1)!==0,t){case"dialog":qt("cancel",i),qt("close",i);break;case"iframe":case"object":case"embed":qt("load",i);break;case"video":case"audio":for(r=0;r<\/script>",n=n.removeChild(n.firstChild)):typeof i.is=="string"?n=o.createElement(t,{is:i.is}):(n=o.createElement(t),t==="select"&&(o=n,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):n=o.createElementNS(n,t),n[rs]=e,n[Lf]=i,fR(n,e,!1,!1),e.stateNode=n;e:{switch(o=ox(t,i),t){case"dialog":qt("cancel",n),qt("close",n),r=i;break;case"iframe":case"object":case"embed":qt("load",n),r=i;break;case"video":case"audio":for(r=0;rBc&&(e.flags|=128,i=!0,Pu(s,!1),e.lanes=4194304)}else{if(!i)if(n=Im(o),n!==null){if(e.flags|=128,i=!0,t=n.updateQueue,t!==null&&(e.updateQueue=t,e.flags|=4),Pu(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!tn)return si(e),null}else 2*Mn()-s.renderingStartTime>Bc&&t!==1073741824&&(e.flags|=128,i=!0,Pu(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(t=s.last,t!==null?t.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Mn(),e.sibling=null,t=on.current,jt(on,i?t&1|2:t&1),e):(si(e),null);case 22:case 23:return GS(),i=e.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(e.flags|=8192),i&&e.mode&1?qi&1073741824&&(si(e),e.subtreeFlags&6&&(e.flags|=8192)):si(e),null;case 24:return null;case 25:return null}throw Error(Ee(156,e.tag))}function eO(n,e){switch(MS(e),e.tag){case 1:return Fi(e.type)&&Em(),n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 3:return Fc(),Kt(Oi),Kt(pi),IS(),n=e.flags,n&65536&&!(n&128)?(e.flags=n&-65537|128,e):null;case 5:return LS(e),null;case 13:if(Kt(on),n=e.memoizedState,n!==null&&n.dehydrated!==null){if(e.alternate===null)throw Error(Ee(340));Uc()}return n=e.flags,n&65536?(e.flags=n&-65537|128,e):null;case 19:return Kt(on),null;case 4:return Fc(),null;case 10:return bS(e.type._context),null;case 22:case 23:return GS(),null;case 24:return null;default:return null}}var jd=!1,ui=!1,tO=typeof WeakSet=="function"?WeakSet:Set,je=null;function dc(n,e){var t=n.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){pn(n,e,i)}else t.current=null}function Dx(n,e,t){try{t()}catch(i){pn(n,e,i)}}var Yw=!1;function nO(n,e){if(gx=Sm,n=vP(),SS(n)){if("selectionStart"in n)var t={start:n.selectionStart,end:n.selectionEnd};else e:{t=(t=n.ownerDocument)&&t.defaultView||window;var i=t.getSelection&&t.getSelection();if(i&&i.rangeCount!==0){t=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{t.nodeType,s.nodeType}catch{t=null;break e}var o=0,a=-1,l=-1,f=0,h=0,d=n,p=null;t:for(;;){for(var m;d!==t||r!==0&&d.nodeType!==3||(a=o+r),d!==s||i!==0&&d.nodeType!==3||(l=o+i),d.nodeType===3&&(o+=d.nodeValue.length),(m=d.firstChild)!==null;)p=d,d=m;for(;;){if(d===n)break t;if(p===t&&++f===r&&(a=o),p===s&&++h===i&&(l=o),(m=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=m}t=a===-1||l===-1?null:{start:a,end:l}}else t=null}t=t||{start:0,end:0}}else t=null;for(vx={focusedElem:n,selectionRange:t},Sm=!1,je=e;je!==null;)if(e=je,n=e.child,(e.subtreeFlags&1028)!==0&&n!==null)n.return=e,je=n;else for(;je!==null;){e=je;try{var y=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var A=y.memoizedProps,x=y.memoizedState,g=e.stateNode,_=g.getSnapshotBeforeUpdate(e.elementType===e.type?A:Pr(e.type,A),x);g.__reactInternalSnapshotBeforeUpdate=_}break;case 3:var S=e.stateNode.containerInfo;S.nodeType===1?S.textContent="":S.nodeType===9&&S.documentElement&&S.removeChild(S.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Ee(163))}}catch(E){pn(e,e.return,E)}if(n=e.sibling,n!==null){n.return=e.return,je=n;break}je=e.return}return y=Yw,Yw=!1,y}function lf(n,e,t){var i=e.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&n)===n){var s=r.destroy;r.destroy=void 0,s!==void 0&&Dx(e,t,s)}r=r.next}while(r!==i)}}function pg(n,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var t=e=e.next;do{if((t.tag&n)===n){var i=t.create;t.destroy=i()}t=t.next}while(t!==e)}}function Nx(n){var e=n.ref;if(e!==null){var t=n.stateNode;switch(n.tag){case 5:n=t;break;default:n=t}typeof e=="function"?e(n):e.current=n}}function pR(n){var e=n.alternate;e!==null&&(n.alternate=null,pR(e)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(e=n.stateNode,e!==null&&(delete e[rs],delete e[Lf],delete e[_x],delete e[kU],delete e[BU])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function mR(n){return n.tag===5||n.tag===3||n.tag===4}function qw(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||mR(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Ux(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.nodeType===8?t.parentNode.insertBefore(n,e):t.insertBefore(n,e):(t.nodeType===8?(e=t.parentNode,e.insertBefore(n,t)):(e=t,e.appendChild(n)),t=t._reactRootContainer,t!=null||e.onclick!==null||(e.onclick=wm));else if(i!==4&&(n=n.child,n!==null))for(Ux(n,e,t),n=n.sibling;n!==null;)Ux(n,e,t),n=n.sibling}function Ox(n,e,t){var i=n.tag;if(i===5||i===6)n=n.stateNode,e?t.insertBefore(n,e):t.appendChild(n);else if(i!==4&&(n=n.child,n!==null))for(Ox(n,e,t),n=n.sibling;n!==null;)Ox(n,e,t),n=n.sibling}var Kn=null,Lr=!1;function ao(n,e,t){for(t=t.child;t!==null;)gR(n,e,t),t=t.sibling}function gR(n,e,t){if(ss&&typeof ss.onCommitFiberUnmount=="function")try{ss.onCommitFiberUnmount(og,t)}catch{}switch(t.tag){case 5:ui||dc(t,e);case 6:var i=Kn,r=Lr;Kn=null,ao(n,e,t),Kn=i,Lr=r,Kn!==null&&(Lr?(n=Kn,t=t.stateNode,n.nodeType===8?n.parentNode.removeChild(t):n.removeChild(t)):Kn.removeChild(t.stateNode));break;case 18:Kn!==null&&(Lr?(n=Kn,t=t.stateNode,n.nodeType===8?Lv(n.parentNode,t):n.nodeType===1&&Lv(n,t),Tf(n)):Lv(Kn,t.stateNode));break;case 4:i=Kn,r=Lr,Kn=t.stateNode.containerInfo,Lr=!0,ao(n,e,t),Kn=i,Lr=r;break;case 0:case 11:case 14:case 15:if(!ui&&(i=t.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&Dx(t,e,o),r=r.next}while(r!==i)}ao(n,e,t);break;case 1:if(!ui&&(dc(t,e),i=t.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=t.memoizedProps,i.state=t.memoizedState,i.componentWillUnmount()}catch(a){pn(t,e,a)}ao(n,e,t);break;case 21:ao(n,e,t);break;case 22:t.mode&1?(ui=(i=ui)||t.memoizedState!==null,ao(n,e,t),ui=i):ao(n,e,t);break;default:ao(n,e,t)}}function Zw(n){var e=n.updateQueue;if(e!==null){n.updateQueue=null;var t=n.stateNode;t===null&&(t=n.stateNode=new tO),e.forEach(function(i){var r=fO.bind(null,n,i);t.has(i)||(t.add(i),i.then(r,r))})}}function Er(n,e){var t=e.deletions;if(t!==null)for(var i=0;ir&&(r=o),i&=~s}if(i=r,i=Mn()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*rO(i/1960))-i,10n?16:n,To===null)var i=!1;else{if(n=To,To=null,Fm=0,Dt&6)throw Error(Ee(331));var r=Dt;for(Dt|=4,je=n.current;je!==null;){var s=je,o=s.child;if(je.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lMn()-VS?Ha(n,0):zS|=t),ki(n,e)}function wR(n,e){e===0&&(n.mode&1?(e=Od,Od<<=1,!(Od&130023424)&&(Od=4194304)):e=1);var t=Ai();n=Gs(n,e),n!==null&&(dh(n,e,t),ki(n,t))}function uO(n){var e=n.memoizedState,t=0;e!==null&&(t=e.retryLane),wR(n,t)}function fO(n,e){var t=0;switch(n.tag){case 13:var i=n.stateNode,r=n.memoizedState;r!==null&&(t=r.retryLane);break;case 19:i=n.stateNode;break;default:throw Error(Ee(314))}i!==null&&i.delete(e),wR(n,t)}var ER;ER=function(n,e,t){if(n!==null)if(n.memoizedProps!==e.pendingProps||Oi.current)Ui=!0;else{if(!(n.lanes&t)&&!(e.flags&128))return Ui=!1,QU(n,e,t);Ui=!!(n.flags&131072)}else Ui=!1,tn&&e.flags&1048576&&CP(e,Cm,e.index);switch(e.lanes=0,e.tag){case 2:var i=e.type;im(n,e),n=e.pendingProps;var r=Nc(e,pi.current);Rc(e,t),r=NS(null,e,i,n,r,t);var s=US();return e.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,Fi(i)?(s=!0,Tm(e)):s=!1,e.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,PS(e),r.updater=hg,e.stateNode=r,r._reactInternals=e,Tx(e,i,n,t),e=Px(null,e,i,!0,s,t)):(e.tag=0,tn&&s&&AS(e),_i(null,e,r,t),e=e.child),e;case 16:i=e.elementType;e:{switch(im(n,e),n=e.pendingProps,r=i._init,i=r(i._payload),e.type=i,r=e.tag=dO(i),n=Pr(i,n),r){case 0:e=Cx(null,e,i,n,t);break e;case 1:e=Ww(null,e,i,n,t);break e;case 11:e=Hw(null,e,i,n,t);break e;case 14:e=Gw(null,e,i,Pr(i.type,n),t);break e}throw Error(Ee(306,i,""))}return e;case 0:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Pr(i,r),Cx(n,e,i,r,t);case 1:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Pr(i,r),Ww(n,e,i,r,t);case 3:e:{if(lR(e),n===null)throw Error(Ee(387));i=e.pendingProps,s=e.memoizedState,r=s.element,IP(n,e),Lm(e,i,null,t);var o=e.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){r=kc(Error(Ee(423)),e),e=jw(n,e,i,t,r);break e}else if(i!==r){r=kc(Error(Ee(424)),e),e=jw(n,e,i,t,r);break e}else for(Ji=Lo(e.stateNode.containerInfo.firstChild),Qi=e,tn=!0,Ir=null,t=OP(e,null,i,t),e.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Uc(),i===r){e=Ws(n,e,t);break e}_i(n,e,i,t)}e=e.child}return e;case 5:return FP(e),n===null&&Mx(e),i=e.type,r=e.pendingProps,s=n!==null?n.memoizedProps:null,o=r.children,yx(i,r)?o=null:s!==null&&yx(i,s)&&(e.flags|=32),aR(n,e),_i(n,e,o,t),e.child;case 6:return n===null&&Mx(e),null;case 13:return cR(n,e,t);case 4:return RS(e,e.stateNode.containerInfo),i=e.pendingProps,n===null?e.child=Oc(e,null,i,t):_i(n,e,i,t),e.child;case 11:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Pr(i,r),Hw(n,e,i,r,t);case 7:return _i(n,e,e.pendingProps,t),e.child;case 8:return _i(n,e,e.pendingProps.children,t),e.child;case 12:return _i(n,e,e.pendingProps.children,t),e.child;case 10:e:{if(i=e.type._context,r=e.pendingProps,s=e.memoizedProps,o=r.value,jt(Pm,i._currentValue),i._currentValue=o,s!==null)if(zr(s.value,o)){if(s.children===r.children&&!Oi.current){e=Ws(n,e,t);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var a=s.dependencies;if(a!==null){o=s.child;for(var l=a.firstContext;l!==null;){if(l.context===i){if(s.tag===1){l=Fs(-1,t&-t),l.tag=2;var f=s.updateQueue;if(f!==null){f=f.shared;var h=f.pending;h===null?l.next=l:(l.next=h.next,h.next=l),f.pending=l}}s.lanes|=t,l=s.alternate,l!==null&&(l.lanes|=t),wx(s.return,t,e),a.lanes|=t;break}l=l.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(Ee(341));o.lanes|=t,a=o.alternate,a!==null&&(a.lanes|=t),wx(o,t,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}_i(n,e,r.children,t),e=e.child}return e;case 9:return r=e.type,i=e.pendingProps.children,Rc(e,t),r=Sr(r),i=i(r),e.flags|=1,_i(n,e,i,t),e.child;case 14:return i=e.type,r=Pr(i,e.pendingProps),r=Pr(i.type,r),Gw(n,e,i,r,t);case 15:return sR(n,e,e.type,e.pendingProps,t);case 17:return i=e.type,r=e.pendingProps,r=e.elementType===i?r:Pr(i,r),im(n,e),e.tag=1,Fi(i)?(n=!0,Tm(e)):n=!1,Rc(e,t),NP(e,i,r),Tx(e,i,r,t),Px(null,e,i,!0,n,t);case 19:return uR(n,e,t);case 22:return oR(n,e,t)}throw Error(Ee(156,e.tag))};function TR(n,e){return QC(n,e)}function hO(n,e,t,i){this.tag=n,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function xr(n,e,t,i){return new hO(n,e,t,i)}function jS(n){return n=n.prototype,!(!n||!n.isReactComponent)}function dO(n){if(typeof n=="function")return jS(n)?1:0;if(n!=null){if(n=n.$$typeof,n===uS)return 11;if(n===fS)return 14}return 2}function Uo(n,e){var t=n.alternate;return t===null?(t=xr(n.tag,e,n.key,n.mode),t.elementType=n.elementType,t.type=n.type,t.stateNode=n.stateNode,t.alternate=n,n.alternate=t):(t.pendingProps=e,t.type=n.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=n.flags&14680064,t.childLanes=n.childLanes,t.lanes=n.lanes,t.child=n.child,t.memoizedProps=n.memoizedProps,t.memoizedState=n.memoizedState,t.updateQueue=n.updateQueue,e=n.dependencies,t.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},t.sibling=n.sibling,t.index=n.index,t.ref=n.ref,t}function om(n,e,t,i,r,s){var o=2;if(i=n,typeof n=="function")jS(n)&&(o=1);else if(typeof n=="string")o=5;else e:switch(n){case rc:return Ga(t.children,r,s,e);case cS:o=8,r|=8;break;case Ky:return n=xr(12,t,e,r|2),n.elementType=Ky,n.lanes=s,n;case Jy:return n=xr(13,t,e,r),n.elementType=Jy,n.lanes=s,n;case Qy:return n=xr(19,t,e,r),n.elementType=Qy,n.lanes=s,n;case UC:return gg(t,r,s,e);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case DC:o=10;break e;case NC:o=9;break e;case uS:o=11;break e;case fS:o=14;break e;case xo:o=16,i=null;break e}throw Error(Ee(130,n==null?n:typeof n,""))}return e=xr(o,t,e,r),e.elementType=n,e.type=i,e.lanes=s,e}function Ga(n,e,t,i){return n=xr(7,n,i,e),n.lanes=t,n}function gg(n,e,t,i){return n=xr(22,n,i,e),n.elementType=UC,n.lanes=t,n.stateNode={isHidden:!1},n}function Bv(n,e,t){return n=xr(6,n,null,e),n.lanes=t,n}function zv(n,e,t){return e=xr(4,n.children!==null?n.children:[],n.key,e),e.lanes=t,e.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},e}function pO(n,e,t,i,r){this.tag=e,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_v(0),this.expirationTimes=_v(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_v(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function XS(n,e,t,i,r,s,o,a,l){return n=new pO(n,e,t,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=xr(3,null,null,e),n.current=s,s.stateNode=n,s.memoizedState={element:i,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},PS(s),n}function mO(n,e,t){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(RR)}catch(n){console.error(n)}}RR(),CC.exports=nr;var _O=CC.exports,LR,iE=_O;LR=qy.createRoot=iE.createRoot,qy.hydrateRoot=iE.hydrateRoot;/** * @remix-run/router v1.14.1 * * Copyright (c) Remix Software Inc. @@ -46,7 +46,7 @@ Error generating stack: `+s.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function kf(){return kf=Object.assign?Object.assign.bind():function(n){for(var e=1;e"u")throw new Error(e)}function KS(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function AO(){return Math.random().toString(36).substr(2,8)}function sE(n,e){return{usr:n.state,key:n.key,idx:e}}function Vx(n,e,t,i){return t===void 0&&(t=null),kf({pathname:typeof n=="string"?n:n.pathname,search:"",hash:""},typeof e=="string"?Jc(e):e,{state:t,key:e&&e.key||i||AO()})}function zm(n){let{pathname:e="/",search:t="",hash:i=""}=n;return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),i&&i!=="#"&&(e+=i.charAt(0)==="#"?i:"#"+i),e}function Jc(n){let e={};if(n){let t=n.indexOf("#");t>=0&&(e.hash=n.substr(t),n=n.substr(0,t));let i=n.indexOf("?");i>=0&&(e.search=n.substr(i),n=n.substr(0,i)),n&&(e.pathname=n)}return e}function MO(n,e,t,i){i===void 0&&(i={});let{window:r=document.defaultView,v5Compat:s=!1}=i,o=r.history,a=bo.Pop,l=null,f=h();f==null&&(f=0,o.replaceState(kf({},o.state,{idx:f}),""));function h(){return(o.state||{idx:null}).idx}function d(){a=bo.Pop;let x=h(),g=x==null?null:x-f;f=x,l&&l({action:a,location:A.location,delta:g})}function p(x,g){a=bo.Push;let _=Vx(A.location,x,g);t&&t(_,x),f=h()+1;let S=sE(_,f),E=A.createHref(_);try{o.pushState(S,"",E)}catch(P){if(P instanceof DOMException&&P.name==="DataCloneError")throw P;r.location.assign(E)}s&&l&&l({action:a,location:A.location,delta:1})}function m(x,g){a=bo.Replace;let _=Vx(A.location,x,g);t&&t(_,x),f=h();let S=sE(_,f),E=A.createHref(_);o.replaceState(S,"",E),s&&l&&l({action:a,location:A.location,delta:0})}function y(x){let g=r.location.origin!=="null"?r.location.origin:r.location.href,_=typeof x=="string"?x:zm(x);return Ln(g,"No window.location.(origin|href) available to create URL for href: "+_),new URL(_,g)}let A={get action(){return a},get location(){return n(r,o)},listen(x){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(rE,d),l=x,()=>{r.removeEventListener(rE,d),l=null}},createHref(x){return e(r,x)},createURL:y,encodeLocation(x){let g=y(x);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:p,replace:m,go(x){return o.go(x)}};return A}var oE;(function(n){n.data="data",n.deferred="deferred",n.redirect="redirect",n.error="error"})(oE||(oE={}));function wO(n,e,t){t===void 0&&(t="/");let i=typeof e=="string"?Jc(e):e,r=JS(i.pathname||"/",t);if(r==null)return null;let s=IR(n);EO(s);let o=null;for(let a=0;o==null&&a{let l={relativePath:a===void 0?s.path||"":a,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};l.relativePath.startsWith("/")&&(Ln(l.relativePath.startsWith(i),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+i+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(i.length));let f=Oo([i,l.relativePath]),h=t.concat(l);s.children&&s.children.length>0&&(Ln(s.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+f+'".')),IR(s.children,e,h,f)),!(s.path==null&&!s.index)&&e.push({path:f,score:IO(f,s.index),routesMeta:h})};return n.forEach((s,o)=>{var a;if(s.path===""||!((a=s.path)!=null&&a.includes("?")))r(s,o);else for(let l of DR(s.path))r(s,o,l)}),e}function DR(n){let e=n.split("/");if(e.length===0)return[];let[t,...i]=e,r=t.endsWith("?"),s=t.replace(/\?$/,"");if(i.length===0)return r?[s,""]:[s];let o=DR(i.join("/")),a=[];return a.push(...o.map(l=>l===""?s:[s,l].join("/"))),r&&a.push(...o),a.map(l=>n.startsWith("/")&&l===""?"/":l)}function EO(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:DO(e.routesMeta.map(i=>i.childrenIndex),t.routesMeta.map(i=>i.childrenIndex)))}const TO=/^:\w+$/,bO=3,CO=2,PO=1,RO=10,LO=-2,aE=n=>n==="*";function IO(n,e){let t=n.split("/"),i=t.length;return t.some(aE)&&(i+=LO),e&&(i+=CO),t.filter(r=>!aE(r)).reduce((r,s)=>r+(TO.test(s)?bO:s===""?PO:RO),i)}function DO(n,e){return n.length===e.length&&n.slice(0,-1).every((i,r)=>i===e[r])?n[n.length-1]-e[e.length-1]:0}function NO(n,e){let{routesMeta:t}=n,i={},r="/",s=[];for(let o=0;o{let{paramName:p,isOptional:m}=h;if(p==="*"){let A=a[d]||"";o=s.slice(0,s.length-A.length).replace(/(.)\/+$/,"$1")}const y=a[d];return m&&!y?f[p]=void 0:f[p]=kO(y||"",p),f},{}),pathname:s,pathnameBase:o,pattern:n}}function OO(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!0),KS(n==="*"||!n.endsWith("*")||n.endsWith("/*"),'Route path "'+n+'" will be treated as if it were '+('"'+n.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+n.replace(/\*$/,"/*")+'".'));let i=[],r="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,(o,a,l)=>(i.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return n.endsWith("*")?(i.push({paramName:"*"}),r+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?r+="\\/*$":n!==""&&n!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),i]}function FO(n){try{return decodeURI(n)}catch(e){return KS(!1,'The URL path "'+n+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),n}}function kO(n,e){try{return decodeURIComponent(n)}catch(t){return KS(!1,'The value for the URL param "'+e+'" will not be decoded because'+(' the string "'+n+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+t+").")),n}}function JS(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,i=n.charAt(t);return i&&i!=="/"?null:n.slice(t)||"/"}function BO(n,e){e===void 0&&(e="/");let{pathname:t,search:i="",hash:r=""}=typeof n=="string"?Jc(n):n;return{pathname:t?t.startsWith("/")?t:zO(t,e):e,search:WO(i),hash:GO(r)}}function zO(n,e){let t=e.replace(/\/+$/,"").split("/");return n.split("/").forEach(r=>{r===".."?t.length>1&&t.pop():r!=="."&&t.push(r)}),t.length>1?t.join("/"):"/"}function Vv(n,e,t,i){return"Cannot include a '"+n+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(i)+"]. Please separate it out to the ")+("`to."+t+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function VO(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function NR(n,e){let t=VO(n);return e?t.map((i,r)=>r===n.length-1?i.pathname:i.pathnameBase):t.map(i=>i.pathnameBase)}function UR(n,e,t,i){i===void 0&&(i=!1);let r;typeof n=="string"?r=Jc(n):(r=kf({},n),Ln(!r.pathname||!r.pathname.includes("?"),Vv("?","pathname","search",r)),Ln(!r.pathname||!r.pathname.includes("#"),Vv("#","pathname","hash",r)),Ln(!r.search||!r.search.includes("#"),Vv("#","search","hash",r)));let s=n===""||r.pathname==="",o=s?"/":r.pathname,a;if(o==null)a=t;else{let d=e.length-1;if(!i&&o.startsWith("..")){let p=o.split("/");for(;p[0]==="..";)p.shift(),d-=1;r.pathname=p.join("/")}a=d>=0?e[d]:"/"}let l=BO(r,a),f=o&&o!=="/"&&o.endsWith("/"),h=(s||o===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(f||h)&&(l.pathname+="/"),l}const Oo=n=>n.join("/").replace(/\/\/+/g,"/"),HO=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),WO=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,GO=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n;function jO(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}const OR=["post","put","patch","delete"];new Set(OR);const XO=["get",...OR];new Set(XO);/** + */function kf(){return kf=Object.assign?Object.assign.bind():function(n){for(var e=1;e"u")throw new Error(e)}function KS(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function AO(){return Math.random().toString(36).substr(2,8)}function sE(n,e){return{usr:n.state,key:n.key,idx:e}}function Vx(n,e,t,i){return t===void 0&&(t=null),kf({pathname:typeof n=="string"?n:n.pathname,search:"",hash:""},typeof e=="string"?Jc(e):e,{state:t,key:e&&e.key||i||AO()})}function zm(n){let{pathname:e="/",search:t="",hash:i=""}=n;return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),i&&i!=="#"&&(e+=i.charAt(0)==="#"?i:"#"+i),e}function Jc(n){let e={};if(n){let t=n.indexOf("#");t>=0&&(e.hash=n.substr(t),n=n.substr(0,t));let i=n.indexOf("?");i>=0&&(e.search=n.substr(i),n=n.substr(0,i)),n&&(e.pathname=n)}return e}function MO(n,e,t,i){i===void 0&&(i={});let{window:r=document.defaultView,v5Compat:s=!1}=i,o=r.history,a=bo.Pop,l=null,f=h();f==null&&(f=0,o.replaceState(kf({},o.state,{idx:f}),""));function h(){return(o.state||{idx:null}).idx}function d(){a=bo.Pop;let x=h(),g=x==null?null:x-f;f=x,l&&l({action:a,location:A.location,delta:g})}function p(x,g){a=bo.Push;let _=Vx(A.location,x,g);t&&t(_,x),f=h()+1;let S=sE(_,f),E=A.createHref(_);try{o.pushState(S,"",E)}catch(P){if(P instanceof DOMException&&P.name==="DataCloneError")throw P;r.location.assign(E)}s&&l&&l({action:a,location:A.location,delta:1})}function m(x,g){a=bo.Replace;let _=Vx(A.location,x,g);t&&t(_,x),f=h();let S=sE(_,f),E=A.createHref(_);o.replaceState(S,"",E),s&&l&&l({action:a,location:A.location,delta:0})}function y(x){let g=r.location.origin!=="null"?r.location.origin:r.location.href,_=typeof x=="string"?x:zm(x);return Ln(g,"No window.location.(origin|href) available to create URL for href: "+_),new URL(_,g)}let A={get action(){return a},get location(){return n(r,o)},listen(x){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(rE,d),l=x,()=>{r.removeEventListener(rE,d),l=null}},createHref(x){return e(r,x)},createURL:y,encodeLocation(x){let g=y(x);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:p,replace:m,go(x){return o.go(x)}};return A}var oE;(function(n){n.data="data",n.deferred="deferred",n.redirect="redirect",n.error="error"})(oE||(oE={}));function wO(n,e,t){t===void 0&&(t="/");let i=typeof e=="string"?Jc(e):e,r=JS(i.pathname||"/",t);if(r==null)return null;let s=IR(n);EO(s);let o=null;for(let a=0;o==null&&a{let l={relativePath:a===void 0?s.path||"":a,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};l.relativePath.startsWith("/")&&(Ln(l.relativePath.startsWith(i),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+i+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(i.length));let f=Oo([i,l.relativePath]),h=t.concat(l);s.children&&s.children.length>0&&(Ln(s.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+f+'".')),IR(s.children,e,h,f)),!(s.path==null&&!s.index)&&e.push({path:f,score:IO(f,s.index),routesMeta:h})};return n.forEach((s,o)=>{var a;if(s.path===""||!((a=s.path)!=null&&a.includes("?")))r(s,o);else for(let l of DR(s.path))r(s,o,l)}),e}function DR(n){let e=n.split("/");if(e.length===0)return[];let[t,...i]=e,r=t.endsWith("?"),s=t.replace(/\?$/,"");if(i.length===0)return r?[s,""]:[s];let o=DR(i.join("/")),a=[];return a.push(...o.map(l=>l===""?s:[s,l].join("/"))),r&&a.push(...o),a.map(l=>n.startsWith("/")&&l===""?"/":l)}function EO(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:DO(e.routesMeta.map(i=>i.childrenIndex),t.routesMeta.map(i=>i.childrenIndex)))}const TO=/^:\w+$/,bO=3,CO=2,PO=1,RO=10,LO=-2,aE=n=>n==="*";function IO(n,e){let t=n.split("/"),i=t.length;return t.some(aE)&&(i+=LO),e&&(i+=CO),t.filter(r=>!aE(r)).reduce((r,s)=>r+(TO.test(s)?bO:s===""?PO:RO),i)}function DO(n,e){return n.length===e.length&&n.slice(0,-1).every((i,r)=>i===e[r])?n[n.length-1]-e[e.length-1]:0}function NO(n,e){let{routesMeta:t}=n,i={},r="/",s=[];for(let o=0;o{let{paramName:p,isOptional:m}=h;if(p==="*"){let A=a[d]||"";o=s.slice(0,s.length-A.length).replace(/(.)\/+$/,"$1")}const y=a[d];return m&&!y?f[p]=void 0:f[p]=kO(y||"",p),f},{}),pathname:s,pathnameBase:o,pattern:n}}function OO(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!0),KS(n==="*"||!n.endsWith("*")||n.endsWith("/*"),'Route path "'+n+'" will be treated as if it were '+('"'+n.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+n.replace(/\*$/,"/*")+'".'));let i=[],r="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,(o,a,l)=>(i.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return n.endsWith("*")?(i.push({paramName:"*"}),r+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?r+="\\/*$":n!==""&&n!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,e?void 0:"i"),i]}function FO(n){try{return decodeURI(n)}catch(e){return KS(!1,'The URL path "'+n+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),n}}function kO(n,e){try{return decodeURIComponent(n)}catch(t){return KS(!1,'The value for the URL param "'+e+'" will not be decoded because'+(' the string "'+n+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+t+").")),n}}function JS(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,i=n.charAt(t);return i&&i!=="/"?null:n.slice(t)||"/"}function BO(n,e){e===void 0&&(e="/");let{pathname:t,search:i="",hash:r=""}=typeof n=="string"?Jc(n):n;return{pathname:t?t.startsWith("/")?t:zO(t,e):e,search:GO(i),hash:WO(r)}}function zO(n,e){let t=e.replace(/\/+$/,"").split("/");return n.split("/").forEach(r=>{r===".."?t.length>1&&t.pop():r!=="."&&t.push(r)}),t.length>1?t.join("/"):"/"}function Vv(n,e,t,i){return"Cannot include a '"+n+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(i)+"]. Please separate it out to the ")+("`to."+t+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function VO(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function NR(n,e){let t=VO(n);return e?t.map((i,r)=>r===n.length-1?i.pathname:i.pathnameBase):t.map(i=>i.pathnameBase)}function UR(n,e,t,i){i===void 0&&(i=!1);let r;typeof n=="string"?r=Jc(n):(r=kf({},n),Ln(!r.pathname||!r.pathname.includes("?"),Vv("?","pathname","search",r)),Ln(!r.pathname||!r.pathname.includes("#"),Vv("#","pathname","hash",r)),Ln(!r.search||!r.search.includes("#"),Vv("#","search","hash",r)));let s=n===""||r.pathname==="",o=s?"/":r.pathname,a;if(o==null)a=t;else{let d=e.length-1;if(!i&&o.startsWith("..")){let p=o.split("/");for(;p[0]==="..";)p.shift(),d-=1;r.pathname=p.join("/")}a=d>=0?e[d]:"/"}let l=BO(r,a),f=o&&o!=="/"&&o.endsWith("/"),h=(s||o===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(f||h)&&(l.pathname+="/"),l}const Oo=n=>n.join("/").replace(/\/\/+/g,"/"),HO=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),GO=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,WO=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n;function jO(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}const OR=["post","put","patch","delete"];new Set(OR);const XO=["get",...OR];new Set(XO);/** * React Router v6.21.1 * * Copyright (c) Remix Software Inc. @@ -55,7 +55,7 @@ Error generating stack: `+s.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function Bf(){return Bf=Object.assign?Object.assign.bind():function(n){for(var e=1;e{a.current=!0}),V.useCallback(function(f,h){if(h===void 0&&(h={}),!a.current)return;if(typeof f=="number"){i.go(f);return}let d=UR(f,JSON.parse(o),s,h.relative==="path");n==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Oo([e,d.pathname])),(h.replace?i.replace:i.push)(d,h.state,h)},[e,i,o,s,n])}function BR(n,e){let{relative:t}=e===void 0?{}:e,{future:i}=V.useContext(ol),{matches:r}=V.useContext(al),{pathname:s}=Ag(),o=JSON.stringify(NR(r,i.v7_relativeSplatPath));return V.useMemo(()=>UR(n,JSON.parse(o),s,t==="path"),[n,o,s,t])}function JO(n,e){return QO(n,e)}function QO(n,e,t,i){vh()||Ln(!1);let{navigator:r}=V.useContext(ol),{matches:s}=V.useContext(al),o=s[s.length-1],a=o?o.params:{};o&&o.pathname;let l=o?o.pathnameBase:"/";o&&o.route;let f=Ag(),h;if(e){var d;let x=typeof e=="string"?Jc(e):e;l==="/"||(d=x.pathname)!=null&&d.startsWith(l)||Ln(!1),h=x}else h=f;let p=h.pathname||"/",m=l==="/"?p:p.slice(l.length)||"/",y=wO(n,{pathname:m}),A=iF(y&&y.map(x=>Object.assign({},x,{params:Object.assign({},a,x.params),pathname:Oo([l,r.encodeLocation?r.encodeLocation(x.pathname).pathname:x.pathname]),pathnameBase:x.pathnameBase==="/"?l:Oo([l,r.encodeLocation?r.encodeLocation(x.pathnameBase).pathname:x.pathnameBase])})),s,t,i);return e&&A?V.createElement(Sg.Provider,{value:{location:Bf({pathname:"/",search:"",hash:"",state:null,key:"default"},h),navigationType:bo.Pop}},A):A}function $O(){let n=aF(),e=jO(n)?n.status+" "+n.statusText:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},s=null;return V.createElement(V.Fragment,null,V.createElement("h2",null,"Unexpected Application Error!"),V.createElement("h3",{style:{fontStyle:"italic"}},e),t?V.createElement("pre",{style:r},t):null,s)}const eF=V.createElement($O,null);class tF extends V.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return this.state.error!==void 0?V.createElement(al.Provider,{value:this.props.routeContext},V.createElement(FR.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function nF(n){let{routeContext:e,match:t,children:i}=n,r=V.useContext(QS);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),V.createElement(al.Provider,{value:e},i)}function iF(n,e,t,i){var r;if(e===void 0&&(e=[]),t===void 0&&(t=null),i===void 0&&(i=null),n==null){var s;if((s=t)!=null&&s.errors)n=t.matches;else return null}let o=n,a=(r=t)==null?void 0:r.errors;if(a!=null){let h=o.findIndex(d=>d.route.id&&(a==null?void 0:a[d.route.id]));h>=0||Ln(!1),o=o.slice(0,Math.min(o.length,h+1))}let l=!1,f=-1;if(t&&i&&i.v7_partialHydration)for(let h=0;h=0?o=o.slice(0,f+1):o=[o[0]];break}}}return o.reduceRight((h,d,p)=>{let m,y=!1,A=null,x=null;t&&(m=a&&d.route.id?a[d.route.id]:void 0,A=d.route.errorElement||eF,l&&(f<0&&p===0?(cF("route-fallback",!1),y=!0,x=null):f===p&&(y=!0,x=d.route.hydrateFallbackElement||null)));let g=e.concat(o.slice(0,p+1)),_=()=>{let S;return m?S=A:y?S=x:d.route.Component?S=V.createElement(d.route.Component,null):d.route.element?S=d.route.element:S=h,V.createElement(nF,{match:d,routeContext:{outlet:h,matches:g,isDataRoute:t!=null},children:S})};return t&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?V.createElement(tF,{location:t.location,revalidation:t.revalidation,component:A,error:m,children:_(),routeContext:{outlet:null,matches:g,isDataRoute:!0}}):_()},null)}var zR=function(n){return n.UseBlocker="useBlocker",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n}(zR||{}),Vm=function(n){return n.UseBlocker="useBlocker",n.UseLoaderData="useLoaderData",n.UseActionData="useActionData",n.UseRouteError="useRouteError",n.UseNavigation="useNavigation",n.UseRouteLoaderData="useRouteLoaderData",n.UseMatches="useMatches",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n.UseRouteId="useRouteId",n}(Vm||{});function rF(n){let e=V.useContext(QS);return e||Ln(!1),e}function sF(n){let e=V.useContext(YO);return e||Ln(!1),e}function oF(n){let e=V.useContext(al);return e||Ln(!1),e}function VR(n){let e=oF(),t=e.matches[e.matches.length-1];return t.route.id||Ln(!1),t.route.id}function aF(){var n;let e=V.useContext(FR),t=sF(Vm.UseRouteError),i=VR(Vm.UseRouteError);return e!==void 0?e:(n=t.errors)==null?void 0:n[i]}function lF(){let{router:n}=rF(zR.UseNavigateStable),e=VR(Vm.UseNavigateStable),t=V.useRef(!1);return kR(()=>{t.current=!0}),V.useCallback(function(r,s){s===void 0&&(s={}),t.current&&(typeof r=="number"?n.navigate(r):n.navigate(r,Bf({fromRouteId:e},s)))},[n,e])}const lE={};function cF(n,e,t){!e&&!lE[n]&&(lE[n]=!0)}function es(n){Ln(!1)}function uF(n){let{basename:e="/",children:t=null,location:i,navigationType:r=bo.Pop,navigator:s,static:o=!1,future:a}=n;vh()&&Ln(!1);let l=e.replace(/^\/*/,"/"),f=V.useMemo(()=>({basename:l,navigator:s,static:o,future:Bf({v7_relativeSplatPath:!1},a)}),[l,a,s,o]);typeof i=="string"&&(i=Jc(i));let{pathname:h="/",search:d="",hash:p="",state:m=null,key:y="default"}=i,A=V.useMemo(()=>{let x=JS(h,l);return x==null?null:{location:{pathname:x,search:d,hash:p,state:m,key:y},navigationType:r}},[l,h,d,p,m,y,r]);return A==null?null:V.createElement(ol.Provider,{value:f},V.createElement(Sg.Provider,{children:t,value:A}))}function fF(n){let{children:e,location:t}=n;return JO(Hx(e),t)}new Promise(()=>{});function Hx(n,e){e===void 0&&(e=[]);let t=[];return V.Children.forEach(n,(i,r)=>{if(!V.isValidElement(i))return;let s=[...e,r];if(i.type===V.Fragment){t.push.apply(t,Hx(i.props.children,s));return}i.type!==es&&Ln(!1),!i.props.index||!i.props.children||Ln(!1);let o={id:i.props.id||s.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,loader:i.props.loader,action:i.props.action,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(o.children=Hx(i.props.children,s)),t.push(o)}),t}/** + */function Bf(){return Bf=Object.assign?Object.assign.bind():function(n){for(var e=1;e{a.current=!0}),z.useCallback(function(f,h){if(h===void 0&&(h={}),!a.current)return;if(typeof f=="number"){i.go(f);return}let d=UR(f,JSON.parse(o),s,h.relative==="path");n==null&&e!=="/"&&(d.pathname=d.pathname==="/"?e:Oo([e,d.pathname])),(h.replace?i.replace:i.push)(d,h.state,h)},[e,i,o,s,n])}function BR(n,e){let{relative:t}=e===void 0?{}:e,{future:i}=z.useContext(ol),{matches:r}=z.useContext(al),{pathname:s}=Ag(),o=JSON.stringify(NR(r,i.v7_relativeSplatPath));return z.useMemo(()=>UR(n,JSON.parse(o),s,t==="path"),[n,o,s,t])}function JO(n,e){return QO(n,e)}function QO(n,e,t,i){vh()||Ln(!1);let{navigator:r}=z.useContext(ol),{matches:s}=z.useContext(al),o=s[s.length-1],a=o?o.params:{};o&&o.pathname;let l=o?o.pathnameBase:"/";o&&o.route;let f=Ag(),h;if(e){var d;let x=typeof e=="string"?Jc(e):e;l==="/"||(d=x.pathname)!=null&&d.startsWith(l)||Ln(!1),h=x}else h=f;let p=h.pathname||"/",m=l==="/"?p:p.slice(l.length)||"/",y=wO(n,{pathname:m}),A=iF(y&&y.map(x=>Object.assign({},x,{params:Object.assign({},a,x.params),pathname:Oo([l,r.encodeLocation?r.encodeLocation(x.pathname).pathname:x.pathname]),pathnameBase:x.pathnameBase==="/"?l:Oo([l,r.encodeLocation?r.encodeLocation(x.pathnameBase).pathname:x.pathnameBase])})),s,t,i);return e&&A?z.createElement(Sg.Provider,{value:{location:Bf({pathname:"/",search:"",hash:"",state:null,key:"default"},h),navigationType:bo.Pop}},A):A}function $O(){let n=aF(),e=jO(n)?n.status+" "+n.statusText:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},s=null;return z.createElement(z.Fragment,null,z.createElement("h2",null,"Unexpected Application Error!"),z.createElement("h3",{style:{fontStyle:"italic"}},e),t?z.createElement("pre",{style:r},t):null,s)}const eF=z.createElement($O,null);class tF extends z.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return this.state.error!==void 0?z.createElement(al.Provider,{value:this.props.routeContext},z.createElement(FR.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function nF(n){let{routeContext:e,match:t,children:i}=n,r=z.useContext(QS);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),z.createElement(al.Provider,{value:e},i)}function iF(n,e,t,i){var r;if(e===void 0&&(e=[]),t===void 0&&(t=null),i===void 0&&(i=null),n==null){var s;if((s=t)!=null&&s.errors)n=t.matches;else return null}let o=n,a=(r=t)==null?void 0:r.errors;if(a!=null){let h=o.findIndex(d=>d.route.id&&(a==null?void 0:a[d.route.id]));h>=0||Ln(!1),o=o.slice(0,Math.min(o.length,h+1))}let l=!1,f=-1;if(t&&i&&i.v7_partialHydration)for(let h=0;h=0?o=o.slice(0,f+1):o=[o[0]];break}}}return o.reduceRight((h,d,p)=>{let m,y=!1,A=null,x=null;t&&(m=a&&d.route.id?a[d.route.id]:void 0,A=d.route.errorElement||eF,l&&(f<0&&p===0?(cF("route-fallback",!1),y=!0,x=null):f===p&&(y=!0,x=d.route.hydrateFallbackElement||null)));let g=e.concat(o.slice(0,p+1)),_=()=>{let S;return m?S=A:y?S=x:d.route.Component?S=z.createElement(d.route.Component,null):d.route.element?S=d.route.element:S=h,z.createElement(nF,{match:d,routeContext:{outlet:h,matches:g,isDataRoute:t!=null},children:S})};return t&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?z.createElement(tF,{location:t.location,revalidation:t.revalidation,component:A,error:m,children:_(),routeContext:{outlet:null,matches:g,isDataRoute:!0}}):_()},null)}var zR=function(n){return n.UseBlocker="useBlocker",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n}(zR||{}),Vm=function(n){return n.UseBlocker="useBlocker",n.UseLoaderData="useLoaderData",n.UseActionData="useActionData",n.UseRouteError="useRouteError",n.UseNavigation="useNavigation",n.UseRouteLoaderData="useRouteLoaderData",n.UseMatches="useMatches",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n.UseRouteId="useRouteId",n}(Vm||{});function rF(n){let e=z.useContext(QS);return e||Ln(!1),e}function sF(n){let e=z.useContext(YO);return e||Ln(!1),e}function oF(n){let e=z.useContext(al);return e||Ln(!1),e}function VR(n){let e=oF(),t=e.matches[e.matches.length-1];return t.route.id||Ln(!1),t.route.id}function aF(){var n;let e=z.useContext(FR),t=sF(Vm.UseRouteError),i=VR(Vm.UseRouteError);return e!==void 0?e:(n=t.errors)==null?void 0:n[i]}function lF(){let{router:n}=rF(zR.UseNavigateStable),e=VR(Vm.UseNavigateStable),t=z.useRef(!1);return kR(()=>{t.current=!0}),z.useCallback(function(r,s){s===void 0&&(s={}),t.current&&(typeof r=="number"?n.navigate(r):n.navigate(r,Bf({fromRouteId:e},s)))},[n,e])}const lE={};function cF(n,e,t){!e&&!lE[n]&&(lE[n]=!0)}function es(n){Ln(!1)}function uF(n){let{basename:e="/",children:t=null,location:i,navigationType:r=bo.Pop,navigator:s,static:o=!1,future:a}=n;vh()&&Ln(!1);let l=e.replace(/^\/*/,"/"),f=z.useMemo(()=>({basename:l,navigator:s,static:o,future:Bf({v7_relativeSplatPath:!1},a)}),[l,a,s,o]);typeof i=="string"&&(i=Jc(i));let{pathname:h="/",search:d="",hash:p="",state:m=null,key:y="default"}=i,A=z.useMemo(()=>{let x=JS(h,l);return x==null?null:{location:{pathname:x,search:d,hash:p,state:m,key:y},navigationType:r}},[l,h,d,p,m,y,r]);return A==null?null:z.createElement(ol.Provider,{value:f},z.createElement(Sg.Provider,{children:t,value:A}))}function fF(n){let{children:e,location:t}=n;return JO(Hx(e),t)}new Promise(()=>{});function Hx(n,e){e===void 0&&(e=[]);let t=[];return z.Children.forEach(n,(i,r)=>{if(!z.isValidElement(i))return;let s=[...e,r];if(i.type===z.Fragment){t.push.apply(t,Hx(i.props.children,s));return}i.type!==es&&Ln(!1),!i.props.index||!i.props.children||Ln(!1);let o={id:i.props.id||s.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,loader:i.props.loader,action:i.props.action,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(o.children=Hx(i.props.children,s)),t.push(o)}),t}/** * React Router DOM v6.21.1 * * Copyright (c) Remix Software Inc. @@ -64,22 +64,22 @@ Error generating stack: `+s.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function Wx(){return Wx=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0)&&(t[r]=n[r]);return t}function dF(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function pF(n,e){return n.button===0&&(!e||e==="_self")&&!dF(n)}const mF=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],gF="startTransition",cE=uN[gF];function vF(n){let{basename:e,children:t,future:i,window:r}=n,s=V.useRef();s.current==null&&(s.current=SO({window:r,v5Compat:!0}));let o=s.current,[a,l]=V.useState({action:o.action,location:o.location}),{v7_startTransition:f}=i||{},h=V.useCallback(d=>{f&&cE?cE(()=>l(d)):l(d)},[l,f]);return V.useLayoutEffect(()=>o.listen(h),[o,h]),V.createElement(uF,{basename:e,children:t,location:a.location,navigationType:a.action,navigator:o,future:i})}const yF=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",xF=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Hv=V.forwardRef(function(e,t){let{onClick:i,relative:r,reloadDocument:s,replace:o,state:a,target:l,to:f,preventScrollReset:h,unstable_viewTransition:d}=e,p=hF(e,mF),{basename:m}=V.useContext(ol),y,A=!1;if(typeof f=="string"&&xF.test(f)&&(y=f,yF))try{let S=new URL(window.location.href),E=f.startsWith("//")?new URL(S.protocol+f):new URL(f),P=JS(E.pathname,m);E.origin===S.origin&&P!=null?f=P+E.search+E.hash:A=!0}catch{}let x=qO(f,{relative:r}),g=_F(f,{replace:o,state:a,target:l,preventScrollReset:h,relative:r,unstable_viewTransition:d});function _(S){i&&i(S),S.defaultPrevented||g(S)}return V.createElement("a",Wx({},p,{href:y||x,onClick:A||s?i:_,ref:t,target:l}))});var uE;(function(n){n.UseScrollRestoration="useScrollRestoration",n.UseSubmit="useSubmit",n.UseSubmitFetcher="useSubmitFetcher",n.UseFetcher="useFetcher",n.useViewTransitionState="useViewTransitionState"})(uE||(uE={}));var fE;(function(n){n.UseFetcher="useFetcher",n.UseFetchers="useFetchers",n.UseScrollRestoration="useScrollRestoration"})(fE||(fE={}));function _F(n,e){let{target:t,replace:i,state:r,preventScrollReset:s,relative:o,unstable_viewTransition:a}=e===void 0?{}:e,l=ZO(),f=Ag(),h=BR(n,{relative:o});return V.useCallback(d=>{if(pF(d,t)){d.preventDefault();let p=i!==void 0?i:zm(f)===zm(h);l(n,{replace:p,state:r,preventScrollReset:s,relative:o,unstable_viewTransition:a})}},[f,l,h,i,r,t,n,s,o,a])}const yh="/portfolio-react-threejs/assets/anim-bg-41fcb528.gif",HR=V.createContext({transformPagePoint:n=>n,isStatic:!1,reducedMotion:"never"}),Mg=V.createContext({}),$S=V.createContext(null),wg=typeof document<"u",SF=wg?V.useLayoutEffect:V.useEffect,WR=V.createContext({strict:!1}),e1=n=>n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),AF="framerAppearId",GR="data-"+e1(AF);function MF(n,e,t,i){const{visualElement:r}=V.useContext(Mg),s=V.useContext(WR),o=V.useContext($S),a=V.useContext(HR).reducedMotion,l=V.useRef();i=i||s.renderer,!l.current&&i&&(l.current=i(n,{visualState:e,parent:r,props:t,presenceContext:o,blockInitialAnimation:o?o.initial===!1:!1,reducedMotionConfig:a}));const f=l.current;V.useInsertionEffect(()=>{f&&f.update(t,o)});const h=V.useRef(!!(t[GR]&&!window.HandoffComplete));return SF(()=>{f&&(f.render(),h.current&&f.animationState&&f.animationState.animateChanges())}),V.useEffect(()=>{f&&(f.updateFeatures(),!h.current&&f.animationState&&f.animationState.animateChanges(),h.current&&(h.current=!1,window.HandoffComplete=!0))}),f}function mc(n){return typeof n=="object"&&Object.prototype.hasOwnProperty.call(n,"current")}function wF(n,e,t){return V.useCallback(i=>{i&&n.mount&&n.mount(i),e&&(i?e.mount(i):e.unmount()),t&&(typeof t=="function"?t(i):mc(t)&&(t.current=i))},[e])}function zf(n){return typeof n=="string"||Array.isArray(n)}function Eg(n){return typeof n=="object"&&typeof n.start=="function"}const t1=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],n1=["initial",...t1];function Tg(n){return Eg(n.animate)||n1.some(e=>zf(n[e]))}function jR(n){return!!(Tg(n)||n.variants)}function EF(n,e){if(Tg(n)){const{initial:t,animate:i}=n;return{initial:t===!1||zf(t)?t:void 0,animate:zf(i)?i:void 0}}return n.inherit!==!1?e:{}}function TF(n){const{initial:e,animate:t}=EF(n,V.useContext(Mg));return V.useMemo(()=>({initial:e,animate:t}),[hE(e),hE(t)])}function hE(n){return Array.isArray(n)?n.join(" "):n}const dE={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Vf={};for(const n in dE)Vf[n]={isEnabled:e=>dE[n].some(t=>!!e[t])};function bF(n){for(const e in n)Vf[e]={...Vf[e],...n[e]}}const XR=V.createContext({}),YR=V.createContext({}),CF=Symbol.for("motionComponentSymbol");function PF({preloadedFeatures:n,createVisualElement:e,useRender:t,useVisualState:i,Component:r}){n&&bF(n);function s(a,l){let f;const h={...V.useContext(HR),...a,layoutId:RF(a)},{isStatic:d}=h,p=TF(a),m=i(a,d);if(!d&&wg){p.visualElement=MF(r,m,h,e);const y=V.useContext(YR),A=V.useContext(WR).strict;p.visualElement&&(f=p.visualElement.loadFeatures(h,A,n,y))}return V.createElement(Mg.Provider,{value:p},f&&p.visualElement?V.createElement(f,{visualElement:p.visualElement,...h}):null,t(r,a,wF(m,p.visualElement,l),m,d,p.visualElement))}const o=V.forwardRef(s);return o[CF]=r,o}function RF({layoutId:n}){const e=V.useContext(XR).id;return e&&n!==void 0?e+"-"+n:n}function LF(n){function e(i,r={}){return PF(n(i,r))}if(typeof Proxy>"u")return e;const t=new Map;return new Proxy(e,{get:(i,r)=>(t.has(r)||t.set(r,e(r)),t.get(r))})}const IF=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function i1(n){return typeof n!="string"||n.includes("-")?!1:!!(IF.indexOf(n)>-1||/[A-Z]/.test(n))}const Hm={};function DF(n){Object.assign(Hm,n)}const xh=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],ll=new Set(xh);function qR(n,{layout:e,layoutId:t}){return ll.has(n)||n.startsWith("origin")||(e||t!==void 0)&&(!!Hm[n]||n==="opacity")}const Bi=n=>!!(n&&n.getVelocity),NF={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},UF=xh.length;function OF(n,{enableHardwareAcceleration:e=!0,allowTransformNone:t=!0},i,r){let s="";for(let o=0;oe=>typeof e=="string"&&e.startsWith(n),KR=ZR("--"),Gx=ZR("var(--"),FF=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,kF=(n,e)=>e&&typeof n=="number"?e.transform(n):n,Go=(n,e,t)=>Math.min(Math.max(t,n),e),cl={test:n=>typeof n=="number",parse:parseFloat,transform:n=>n},ff={...cl,transform:n=>Go(0,1,n)},qd={...cl,default:1},hf=n=>Math.round(n*1e5)/1e5,bg=/(-)?([\d]*\.?[\d])+/g,JR=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,BF=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function _h(n){return typeof n=="string"}const Sh=n=>({test:e=>_h(e)&&e.endsWith(n)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${n}`}),yo=Sh("deg"),as=Sh("%"),ct=Sh("px"),zF=Sh("vh"),VF=Sh("vw"),pE={...as,parse:n=>as.parse(n)/100,transform:n=>as.transform(n*100)},mE={...cl,transform:Math.round},QR={borderWidth:ct,borderTopWidth:ct,borderRightWidth:ct,borderBottomWidth:ct,borderLeftWidth:ct,borderRadius:ct,radius:ct,borderTopLeftRadius:ct,borderTopRightRadius:ct,borderBottomRightRadius:ct,borderBottomLeftRadius:ct,width:ct,maxWidth:ct,height:ct,maxHeight:ct,size:ct,top:ct,right:ct,bottom:ct,left:ct,padding:ct,paddingTop:ct,paddingRight:ct,paddingBottom:ct,paddingLeft:ct,margin:ct,marginTop:ct,marginRight:ct,marginBottom:ct,marginLeft:ct,rotate:yo,rotateX:yo,rotateY:yo,rotateZ:yo,scale:qd,scaleX:qd,scaleY:qd,scaleZ:qd,skew:yo,skewX:yo,skewY:yo,distance:ct,translateX:ct,translateY:ct,translateZ:ct,x:ct,y:ct,z:ct,perspective:ct,transformPerspective:ct,opacity:ff,originX:pE,originY:pE,originZ:ct,zIndex:mE,fillOpacity:ff,strokeOpacity:ff,numOctaves:mE};function r1(n,e,t,i){const{style:r,vars:s,transform:o,transformOrigin:a}=n;let l=!1,f=!1,h=!0;for(const d in e){const p=e[d];if(KR(d)){s[d]=p;continue}const m=QR[d],y=kF(p,m);if(ll.has(d)){if(l=!0,o[d]=y,!h)continue;p!==(m.default||0)&&(h=!1)}else d.startsWith("origin")?(f=!0,a[d]=y):r[d]=y}if(e.transform||(l||i?r.transform=OF(n.transform,t,h,i):r.transform&&(r.transform="none")),f){const{originX:d="50%",originY:p="50%",originZ:m=0}=a;r.transformOrigin=`${d} ${p} ${m}`}}const s1=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function $R(n,e,t){for(const i in e)!Bi(e[i])&&!qR(i,t)&&(n[i]=e[i])}function HF({transformTemplate:n},e,t){return V.useMemo(()=>{const i=s1();return r1(i,e,{enableHardwareAcceleration:!t},n),Object.assign({},i.vars,i.style)},[e])}function WF(n,e,t){const i=n.style||{},r={};return $R(r,i,n),Object.assign(r,HF(n,e,t)),n.transformValues?n.transformValues(r):r}function GF(n,e,t){const i={},r=WF(n,e,t);return n.drag&&n.dragListener!==!1&&(i.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=n.drag===!0?"none":`pan-${n.drag==="x"?"y":"x"}`),n.tabIndex===void 0&&(n.onTap||n.onTapStart||n.whileTap)&&(i.tabIndex=0),i.style=r,i}const jF=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function Wm(n){return n.startsWith("while")||n.startsWith("drag")&&n!=="draggable"||n.startsWith("layout")||n.startsWith("onTap")||n.startsWith("onPan")||jF.has(n)}let e2=n=>!Wm(n);function XF(n){n&&(e2=e=>e.startsWith("on")?!Wm(e):n(e))}try{XF(require("@emotion/is-prop-valid").default)}catch{}function YF(n,e,t){const i={};for(const r in n)r==="values"&&typeof n.values=="object"||(e2(r)||t===!0&&Wm(r)||!e&&!Wm(r)||n.draggable&&r.startsWith("onDrag"))&&(i[r]=n[r]);return i}function gE(n,e,t){return typeof n=="string"?n:ct.transform(e+t*n)}function qF(n,e,t){const i=gE(e,n.x,n.width),r=gE(t,n.y,n.height);return`${i} ${r}`}const ZF={offset:"stroke-dashoffset",array:"stroke-dasharray"},KF={offset:"strokeDashoffset",array:"strokeDasharray"};function JF(n,e,t=1,i=0,r=!0){n.pathLength=1;const s=r?ZF:KF;n[s.offset]=ct.transform(-i);const o=ct.transform(e),a=ct.transform(t);n[s.array]=`${o} ${a}`}function o1(n,{attrX:e,attrY:t,attrScale:i,originX:r,originY:s,pathLength:o,pathSpacing:a=1,pathOffset:l=0,...f},h,d,p){if(r1(n,f,h,p),d){n.style.viewBox&&(n.attrs.viewBox=n.style.viewBox);return}n.attrs=n.style,n.style={};const{attrs:m,style:y,dimensions:A}=n;m.transform&&(A&&(y.transform=m.transform),delete m.transform),A&&(r!==void 0||s!==void 0||y.transform)&&(y.transformOrigin=qF(A,r!==void 0?r:.5,s!==void 0?s:.5)),e!==void 0&&(m.x=e),t!==void 0&&(m.y=t),i!==void 0&&(m.scale=i),o!==void 0&&JF(m,o,a,l,!1)}const t2=()=>({...s1(),attrs:{}}),a1=n=>typeof n=="string"&&n.toLowerCase()==="svg";function QF(n,e,t,i){const r=V.useMemo(()=>{const s=t2();return o1(s,e,{enableHardwareAcceleration:!1},a1(i),n.transformTemplate),{...s.attrs,style:{...s.style}}},[e]);if(n.style){const s={};$R(s,n.style,n),r.style={...s,...r.style}}return r}function $F(n=!1){return(t,i,r,{latestValues:s},o)=>{const l=(i1(t)?QF:GF)(i,s,o,t),h={...YF(i,typeof t=="string",n),...l,ref:r},{children:d}=i,p=V.useMemo(()=>Bi(d)?d.get():d,[d]);return V.createElement(t,{...h,children:p})}}function n2(n,{style:e,vars:t},i,r){Object.assign(n.style,e,r&&r.getProjectionStyles(i));for(const s in t)n.style.setProperty(s,t[s])}const i2=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function r2(n,e,t,i){n2(n,e,void 0,i);for(const r in e.attrs)n.setAttribute(i2.has(r)?r:e1(r),e.attrs[r])}function l1(n,e){const{style:t}=n,i={};for(const r in t)(Bi(t[r])||e.style&&Bi(e.style[r])||qR(r,n))&&(i[r]=t[r]);return i}function s2(n,e){const t=l1(n,e);for(const i in n)if(Bi(n[i])||Bi(e[i])){const r=xh.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;t[r]=n[i]}return t}function c1(n,e,t,i={},r={}){return typeof e=="function"&&(e=e(t!==void 0?t:n.custom,i,r)),typeof e=="string"&&(e=n.variants&&n.variants[e]),typeof e=="function"&&(e=e(t!==void 0?t:n.custom,i,r)),e}function ek(n){const e=V.useRef(null);return e.current===null&&(e.current=n()),e.current}const Gm=n=>Array.isArray(n),tk=n=>!!(n&&typeof n=="object"&&n.mix&&n.toValue),nk=n=>Gm(n)?n[n.length-1]||0:n;function am(n){const e=Bi(n)?n.get():n;return tk(e)?e.toValue():e}function ik({scrapeMotionValuesFromProps:n,createRenderState:e,onMount:t},i,r,s){const o={latestValues:rk(i,r,s,n),renderState:e()};return t&&(o.mount=a=>t(i,a,o)),o}const o2=n=>(e,t)=>{const i=V.useContext(Mg),r=V.useContext($S),s=()=>ik(n,e,i,r);return t?s():ek(s)};function rk(n,e,t,i){const r={},s=i(n,{});for(const p in s)r[p]=am(s[p]);let{initial:o,animate:a}=n;const l=Tg(n),f=jR(n);e&&f&&!l&&n.inherit!==!1&&(o===void 0&&(o=e.initial),a===void 0&&(a=e.animate));let h=t?t.initial===!1:!1;h=h||o===!1;const d=h?a:o;return d&&typeof d!="boolean"&&!Eg(d)&&(Array.isArray(d)?d:[d]).forEach(m=>{const y=c1(n,m);if(!y)return;const{transitionEnd:A,transition:x,...g}=y;for(const _ in g){let S=g[_];if(Array.isArray(S)){const E=h?S.length-1:0;S=S[E]}S!==null&&(r[_]=S)}for(const _ in A)r[_]=A[_]}),r}const vn=n=>n;class vE{constructor(){this.order=[],this.scheduled=new Set}add(e){if(!this.scheduled.has(e))return this.scheduled.add(e),this.order.push(e),!0}remove(e){const t=this.order.indexOf(e);t!==-1&&(this.order.splice(t,1),this.scheduled.delete(e))}clear(){this.order.length=0,this.scheduled.clear()}}function sk(n){let e=new vE,t=new vE,i=0,r=!1,s=!1;const o=new WeakSet,a={schedule:(l,f=!1,h=!1)=>{const d=h&&r,p=d?e:t;return f&&o.add(l),p.add(l)&&d&&r&&(i=e.order.length),l},cancel:l=>{t.remove(l),o.delete(l)},process:l=>{if(r){s=!0;return}if(r=!0,[e,t]=[t,e],t.clear(),i=e.order.length,i)for(let f=0;f(d[p]=sk(()=>t=!0),d),{}),o=d=>s[d].process(r),a=()=>{const d=performance.now();t=!1,r.delta=i?1e3/60:Math.max(Math.min(d-r.timestamp,ok),1),r.timestamp=d,r.isProcessing=!0,Zd.forEach(o),r.isProcessing=!1,t&&e&&(i=!1,n(a))},l=()=>{t=!0,i=!0,r.isProcessing||n(a)};return{schedule:Zd.reduce((d,p)=>{const m=s[p];return d[p]=(y,A=!1,x=!1)=>(t||l(),m.schedule(y,A,x)),d},{}),cancel:d=>Zd.forEach(p=>s[p].cancel(d)),state:r,steps:s}}const{schedule:Jt,cancel:js,state:ci,steps:Wv}=ak(typeof requestAnimationFrame<"u"?requestAnimationFrame:vn,!0),lk={useVisualState:o2({scrapeMotionValuesFromProps:s2,createRenderState:t2,onMount:(n,e,{renderState:t,latestValues:i})=>{Jt.read(()=>{try{t.dimensions=typeof e.getBBox=="function"?e.getBBox():e.getBoundingClientRect()}catch{t.dimensions={x:0,y:0,width:0,height:0}}}),Jt.render(()=>{o1(t,i,{enableHardwareAcceleration:!1},a1(e.tagName),n.transformTemplate),r2(e,t)})}})},ck={useVisualState:o2({scrapeMotionValuesFromProps:l1,createRenderState:s1})};function uk(n,{forwardMotionProps:e=!1},t,i){return{...i1(n)?lk:ck,preloadedFeatures:t,useRender:$F(e),createVisualElement:i,Component:n}}function Ns(n,e,t,i={passive:!0}){return n.addEventListener(e,t,i),()=>n.removeEventListener(e,t)}const a2=n=>n.pointerType==="mouse"?typeof n.button!="number"||n.button<=0:n.isPrimary!==!1;function Cg(n,e="page"){return{point:{x:n[e+"X"],y:n[e+"Y"]}}}const fk=n=>e=>a2(e)&&n(e,Cg(e));function ks(n,e,t,i){return Ns(n,e,fk(t),i)}const hk=(n,e)=>t=>e(n(t)),Fo=(...n)=>n.reduce(hk);function l2(n){let e=null;return()=>{const t=()=>{e=null};return e===null?(e=n,t):!1}}const yE=l2("dragHorizontal"),xE=l2("dragVertical");function c2(n){let e=!1;if(n==="y")e=xE();else if(n==="x")e=yE();else{const t=yE(),i=xE();t&&i?e=()=>{t(),i()}:(t&&t(),i&&i())}return e}function u2(){const n=c2(!0);return n?(n(),!1):!0}class Qo{constructor(e){this.isMounted=!1,this.node=e}update(){}}function _E(n,e){const t="pointer"+(e?"enter":"leave"),i="onHover"+(e?"Start":"End"),r=(s,o)=>{if(s.type==="touch"||u2())return;const a=n.getProps();n.animationState&&a.whileHover&&n.animationState.setActive("whileHover",e),a[i]&&Jt.update(()=>a[i](s,o))};return ks(n.current,t,r,{passive:!n.getProps()[i]})}class dk extends Qo{mount(){this.unmount=Fo(_E(this.node,!0),_E(this.node,!1))}unmount(){}}class pk extends Qo{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Fo(Ns(this.node.current,"focus",()=>this.onFocus()),Ns(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const f2=(n,e)=>e?n===e?!0:f2(n,e.parentElement):!1;function Gv(n,e){if(!e)return;const t=new PointerEvent("pointer"+n);e(t,Cg(t))}class mk extends Qo{constructor(){super(...arguments),this.removeStartListeners=vn,this.removeEndListeners=vn,this.removeAccessibleListeners=vn,this.startPointerPress=(e,t)=>{if(this.removeEndListeners(),this.isPressing)return;const i=this.node.getProps(),s=ks(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:f,onTapCancel:h}=this.node.getProps();Jt.update(()=>{f2(this.node.current,a.target)?f&&f(a,l):h&&h(a,l)})},{passive:!(i.onTap||i.onPointerUp)}),o=ks(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(i.onTapCancel||i.onPointerCancel)});this.removeEndListeners=Fo(s,o),this.startPress(e,t)},this.startAccessiblePress=()=>{const e=s=>{if(s.key!=="Enter"||this.isPressing)return;const o=a=>{a.key!=="Enter"||!this.checkPressEnd()||Gv("up",(l,f)=>{const{onTap:h}=this.node.getProps();h&&Jt.update(()=>h(l,f))})};this.removeEndListeners(),this.removeEndListeners=Ns(this.node.current,"keyup",o),Gv("down",(a,l)=>{this.startPress(a,l)})},t=Ns(this.node.current,"keydown",e),i=()=>{this.isPressing&&Gv("cancel",(s,o)=>this.cancelPress(s,o))},r=Ns(this.node.current,"blur",i);this.removeAccessibleListeners=Fo(t,r)}}startPress(e,t){this.isPressing=!0;const{onTapStart:i,whileTap:r}=this.node.getProps();r&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),i&&Jt.update(()=>i(e,t))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!u2()}cancelPress(e,t){if(!this.checkPressEnd())return;const{onTapCancel:i}=this.node.getProps();i&&Jt.update(()=>i(e,t))}mount(){const e=this.node.getProps(),t=ks(this.node.current,"pointerdown",this.startPointerPress,{passive:!(e.onTapStart||e.onPointerStart)}),i=Ns(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Fo(t,i)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const jx=new WeakMap,jv=new WeakMap,gk=n=>{const e=jx.get(n.target);e&&e(n)},vk=n=>{n.forEach(gk)};function yk({root:n,...e}){const t=n||document;jv.has(t)||jv.set(t,{});const i=jv.get(t),r=JSON.stringify(e);return i[r]||(i[r]=new IntersectionObserver(vk,{root:n,...e})),i[r]}function xk(n,e,t){const i=yk(e);return jx.set(n,t),i.observe(n),()=>{jx.delete(n),i.unobserve(n)}}const _k={some:0,all:1};class Sk extends Qo{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:t,margin:i,amount:r="some",once:s}=e,o={root:t?t.current:void 0,rootMargin:i,threshold:typeof r=="number"?r:_k[r]},a=l=>{const{isIntersecting:f}=l;if(this.isInView===f||(this.isInView=f,s&&!f&&this.hasEnteredView))return;f&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",f);const{onViewportEnter:h,onViewportLeave:d}=this.node.getProps(),p=f?h:d;p&&p(l)};return xk(this.node.current,o,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:e,prevProps:t}=this.node;["amount","margin","root"].some(Ak(e,t))&&this.startObserver()}unmount(){}}function Ak({viewport:n={}},{viewport:e={}}={}){return t=>n[t]!==e[t]}const Mk={inView:{Feature:Sk},tap:{Feature:mk},focus:{Feature:pk},hover:{Feature:dk}};function h2(n,e){if(!Array.isArray(e))return!1;const t=e.length;if(t!==n.length)return!1;for(let i=0;ie[i]=t.get()),e}function Ek(n){const e={};return n.values.forEach((t,i)=>e[i]=t.getVelocity()),e}function Pg(n,e,t){const i=n.getProps();return c1(i,e,t!==void 0?t:i.custom,wk(n),Ek(n))}let Tk=vn,u1=vn;const ko=n=>n*1e3,Bs=n=>n/1e3,bk={current:!1},d2=n=>Array.isArray(n)&&typeof n[0]=="number";function p2(n){return!!(!n||typeof n=="string"&&m2[n]||d2(n)||Array.isArray(n)&&n.every(p2))}const $u=([n,e,t,i])=>`cubic-bezier(${n}, ${e}, ${t}, ${i})`,m2={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:$u([0,.65,.55,1]),circOut:$u([.55,0,1,.45]),backIn:$u([.31,.01,.66,-.59]),backOut:$u([.33,1.53,.69,.99])};function g2(n){if(n)return d2(n)?$u(n):Array.isArray(n)?n.map(g2):m2[n]}function Ck(n,e,t,{delay:i=0,duration:r,repeat:s=0,repeatType:o="loop",ease:a,times:l}={}){const f={[e]:t};l&&(f.offset=l);const h=g2(a);return Array.isArray(h)&&(f.easing=h),n.animate(f,{delay:i,duration:r,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:s+1,direction:o==="reverse"?"alternate":"normal"})}function Pk(n,{repeat:e,repeatType:t="loop"}){const i=e&&t!=="loop"&&e%2===1?0:n.length-1;return n[i]}const v2=(n,e,t)=>(((1-3*t+3*e)*n+(3*t-6*e))*n+3*e)*n,Rk=1e-7,Lk=12;function Ik(n,e,t,i,r){let s,o,a=0;do o=e+(t-e)/2,s=v2(o,i,r)-n,s>0?t=o:e=o;while(Math.abs(s)>Rk&&++aIk(s,0,1,n,t);return s=>s===0||s===1?s:v2(r(s),e,i)}const Dk=Ah(.42,0,1,1),Nk=Ah(0,0,.58,1),y2=Ah(.42,0,.58,1),Uk=n=>Array.isArray(n)&&typeof n[0]!="number",x2=n=>e=>e<=.5?n(2*e)/2:(2-n(2*(1-e)))/2,_2=n=>e=>1-n(1-e),f1=n=>1-Math.sin(Math.acos(n)),S2=_2(f1),Ok=x2(f1),A2=Ah(.33,1.53,.69,.99),h1=_2(A2),Fk=x2(h1),kk=n=>(n*=2)<1?.5*h1(n):.5*(2-Math.pow(2,-10*(n-1))),Bk={linear:vn,easeIn:Dk,easeInOut:y2,easeOut:Nk,circIn:f1,circInOut:Ok,circOut:S2,backIn:h1,backInOut:Fk,backOut:A2,anticipate:kk},SE=n=>{if(Array.isArray(n)){u1(n.length===4);const[e,t,i,r]=n;return Ah(e,t,i,r)}else if(typeof n=="string")return Bk[n];return n},d1=(n,e)=>t=>!!(_h(t)&&BF.test(t)&&t.startsWith(n)||e&&Object.prototype.hasOwnProperty.call(t,e)),M2=(n,e,t)=>i=>{if(!_h(i))return i;const[r,s,o,a]=i.match(bg);return{[n]:parseFloat(r),[e]:parseFloat(s),[t]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}},zk=n=>Go(0,255,n),Xv={...cl,transform:n=>Math.round(zk(n))},Oa={test:d1("rgb","red"),parse:M2("red","green","blue"),transform:({red:n,green:e,blue:t,alpha:i=1})=>"rgba("+Xv.transform(n)+", "+Xv.transform(e)+", "+Xv.transform(t)+", "+hf(ff.transform(i))+")"};function Vk(n){let e="",t="",i="",r="";return n.length>5?(e=n.substring(1,3),t=n.substring(3,5),i=n.substring(5,7),r=n.substring(7,9)):(e=n.substring(1,2),t=n.substring(2,3),i=n.substring(3,4),r=n.substring(4,5),e+=e,t+=t,i+=i,r+=r),{red:parseInt(e,16),green:parseInt(t,16),blue:parseInt(i,16),alpha:r?parseInt(r,16)/255:1}}const Xx={test:d1("#"),parse:Vk,transform:Oa.transform},gc={test:d1("hsl","hue"),parse:M2("hue","saturation","lightness"),transform:({hue:n,saturation:e,lightness:t,alpha:i=1})=>"hsla("+Math.round(n)+", "+as.transform(hf(e))+", "+as.transform(hf(t))+", "+hf(ff.transform(i))+")"},xi={test:n=>Oa.test(n)||Xx.test(n)||gc.test(n),parse:n=>Oa.test(n)?Oa.parse(n):gc.test(n)?gc.parse(n):Xx.parse(n),transform:n=>_h(n)?n:n.hasOwnProperty("red")?Oa.transform(n):gc.transform(n)},an=(n,e,t)=>-t*n+t*e+n;function Yv(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*(2/3-t)*6:n}function Hk({hue:n,saturation:e,lightness:t,alpha:i}){n/=360,e/=100,t/=100;let r=0,s=0,o=0;if(!e)r=s=o=t;else{const a=t<.5?t*(1+e):t+e-t*e,l=2*t-a;r=Yv(l,a,n+1/3),s=Yv(l,a,n),o=Yv(l,a,n-1/3)}return{red:Math.round(r*255),green:Math.round(s*255),blue:Math.round(o*255),alpha:i}}const qv=(n,e,t)=>{const i=n*n;return Math.sqrt(Math.max(0,t*(e*e-i)+i))},Wk=[Xx,Oa,gc],Gk=n=>Wk.find(e=>e.test(n));function AE(n){const e=Gk(n);let t=e.parse(n);return e===gc&&(t=Hk(t)),t}const w2=(n,e)=>{const t=AE(n),i=AE(e),r={...t};return s=>(r.red=qv(t.red,i.red,s),r.green=qv(t.green,i.green,s),r.blue=qv(t.blue,i.blue,s),r.alpha=an(t.alpha,i.alpha,s),Oa.transform(r))};function jk(n){var e,t;return isNaN(n)&&_h(n)&&(((e=n.match(bg))===null||e===void 0?void 0:e.length)||0)+(((t=n.match(JR))===null||t===void 0?void 0:t.length)||0)>0}const E2={regex:FF,countKey:"Vars",token:"${v}",parse:vn},T2={regex:JR,countKey:"Colors",token:"${c}",parse:xi.parse},b2={regex:bg,countKey:"Numbers",token:"${n}",parse:cl.parse};function Zv(n,{regex:e,countKey:t,token:i,parse:r}){const s=n.tokenised.match(e);s&&(n["num"+t]=s.length,n.tokenised=n.tokenised.replace(e,i),n.values.push(...s.map(r)))}function jm(n){const e=n.toString(),t={value:e,tokenised:e,values:[],numVars:0,numColors:0,numNumbers:0};return t.value.includes("var(--")&&Zv(t,E2),Zv(t,T2),Zv(t,b2),t}function C2(n){return jm(n).values}function P2(n){const{values:e,numColors:t,numVars:i,tokenised:r}=jm(n),s=e.length;return o=>{let a=r;for(let l=0;ltypeof n=="number"?0:n;function Yk(n){const e=C2(n);return P2(n)(e.map(Xk))}const jo={test:jk,parse:C2,createTransformer:P2,getAnimatableNone:Yk},R2=(n,e)=>t=>`${t>0?e:n}`;function L2(n,e){return typeof n=="number"?t=>an(n,e,t):xi.test(n)?w2(n,e):n.startsWith("var(")?R2(n,e):D2(n,e)}const I2=(n,e)=>{const t=[...n],i=t.length,r=n.map((s,o)=>L2(s,e[o]));return s=>{for(let o=0;o{const t={...n,...e},i={};for(const r in t)n[r]!==void 0&&e[r]!==void 0&&(i[r]=L2(n[r],e[r]));return r=>{for(const s in i)t[s]=i[s](r);return t}},D2=(n,e)=>{const t=jo.createTransformer(e),i=jm(n),r=jm(e);return i.numVars===r.numVars&&i.numColors===r.numColors&&i.numNumbers>=r.numNumbers?Fo(I2(i.values,r.values),t):R2(n,e)},Hf=(n,e,t)=>{const i=e-n;return i===0?1:(t-n)/i},ME=(n,e)=>t=>an(n,e,t);function Zk(n){return typeof n=="number"?ME:typeof n=="string"?xi.test(n)?w2:D2:Array.isArray(n)?I2:typeof n=="object"?qk:ME}function Kk(n,e,t){const i=[],r=t||Zk(n[0]),s=n.length-1;for(let o=0;oe[0];n[0]>n[s-1]&&(n=[...n].reverse(),e=[...e].reverse());const o=Kk(e,i,r),a=o.length,l=f=>{let h=0;if(a>1)for(;hl(Go(n[0],n[s-1],f)):l}function Jk(n,e){const t=n[n.length-1];for(let i=1;i<=e;i++){const r=Hf(0,e,i);n.push(an(t,1,r))}}function Qk(n){const e=[0];return Jk(e,n.length-1),e}function $k(n,e){return n.map(t=>t*e)}function eB(n,e){return n.map(()=>e||y2).splice(0,n.length-1)}function Xm({duration:n=300,keyframes:e,times:t,ease:i="easeInOut"}){const r=Uk(i)?i.map(SE):SE(i),s={done:!1,value:e[0]},o=$k(t&&t.length===e.length?t:Qk(e),n),a=N2(o,e,{ease:Array.isArray(r)?r:eB(e,r)});return{calculatedDuration:n,next:l=>(s.value=a(l),s.done=l>=n,s)}}function U2(n,e){return e?n*(1e3/e):0}const tB=5;function O2(n,e,t){const i=Math.max(e-tB,0);return U2(t-n(i),e-i)}const Kv=.001,nB=.01,wE=10,iB=.05,rB=1;function sB({duration:n=800,bounce:e=.25,velocity:t=0,mass:i=1}){let r,s;Tk(n<=ko(wE));let o=1-e;o=Go(iB,rB,o),n=Go(nB,wE,Bs(n)),o<1?(r=f=>{const h=f*o,d=h*n,p=h-t,m=Yx(f,o),y=Math.exp(-d);return Kv-p/m*y},s=f=>{const d=f*o*n,p=d*t+t,m=Math.pow(o,2)*Math.pow(f,2)*n,y=Math.exp(-d),A=Yx(Math.pow(f,2),o);return(-r(f)+Kv>0?-1:1)*((p-m)*y)/A}):(r=f=>{const h=Math.exp(-f*n),d=(f-t)*n+1;return-Kv+h*d},s=f=>{const h=Math.exp(-f*n),d=(t-f)*(n*n);return h*d});const a=5/n,l=aB(r,s,a);if(n=ko(n),isNaN(l))return{stiffness:100,damping:10,duration:n};{const f=Math.pow(l,2)*i;return{stiffness:f,damping:o*2*Math.sqrt(i*f),duration:n}}}const oB=12;function aB(n,e,t){let i=t;for(let r=1;rn[t]!==void 0)}function uB(n){let e={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...n};if(!EE(n,cB)&&EE(n,lB)){const t=sB(n);e={...e,...t,velocity:0,mass:1},e.isResolvedFromDuration=!0}return e}function F2({keyframes:n,restDelta:e,restSpeed:t,...i}){const r=n[0],s=n[n.length-1],o={done:!1,value:r},{stiffness:a,damping:l,mass:f,velocity:h,duration:d,isResolvedFromDuration:p}=uB(i),m=h?-Bs(h):0,y=l/(2*Math.sqrt(a*f)),A=s-r,x=Bs(Math.sqrt(a/f)),g=Math.abs(A)<5;t||(t=g?.01:2),e||(e=g?.005:.5);let _;if(y<1){const S=Yx(x,y);_=E=>{const P=Math.exp(-y*x*E);return s-P*((m+y*x*A)/S*Math.sin(S*E)+A*Math.cos(S*E))}}else if(y===1)_=S=>s-Math.exp(-x*S)*(A+(m+x*A)*S);else{const S=x*Math.sqrt(y*y-1);_=E=>{const P=Math.exp(-y*x*E),b=Math.min(S*E,300);return s-P*((m+y*x*A)*Math.sinh(b)+S*A*Math.cosh(b))/S}}return{calculatedDuration:p&&d||null,next:S=>{const E=_(S);if(p)o.done=S>=d;else{let P=m;S!==0&&(y<1?P=O2(_,S,E):P=0);const b=Math.abs(P)<=t,L=Math.abs(s-E)<=e;o.done=b&&L}return o.value=o.done?s:E,o}}}function TE({keyframes:n,velocity:e=0,power:t=.8,timeConstant:i=325,bounceDamping:r=10,bounceStiffness:s=500,modifyTarget:o,min:a,max:l,restDelta:f=.5,restSpeed:h}){const d=n[0],p={done:!1,value:d},m=D=>a!==void 0&&Dl,y=D=>a===void 0?l:l===void 0||Math.abs(a-D)-A*Math.exp(-D/i),S=D=>g+_(D),E=D=>{const C=_(D),R=S(D);p.done=Math.abs(C)<=f,p.value=p.done?g:R};let P,b;const L=D=>{m(p.value)&&(P=D,b=F2({keyframes:[p.value,y(p.value)],velocity:O2(S,D,p.value),damping:r,stiffness:s,restDelta:f,restSpeed:h}))};return L(0),{calculatedDuration:null,next:D=>{let C=!1;return!b&&P===void 0&&(C=!0,E(D),L(D)),P!==void 0&&D>P?b.next(D-P):(!C&&E(D),p)}}}const fB=n=>{const e=({timestamp:t})=>n(t);return{start:()=>Jt.update(e,!0),stop:()=>js(e),now:()=>ci.isProcessing?ci.timestamp:performance.now()}},bE=2e4;function CE(n){let e=0;const t=50;let i=n.next(e);for(;!i.done&&e=bE?1/0:e}const hB={decay:TE,inertia:TE,tween:Xm,keyframes:Xm,spring:F2};function Ym({autoplay:n=!0,delay:e=0,driver:t=fB,keyframes:i,type:r="keyframes",repeat:s=0,repeatDelay:o=0,repeatType:a="loop",onPlay:l,onStop:f,onComplete:h,onUpdate:d,...p}){let m=1,y=!1,A,x;const g=()=>{x=new Promise(J=>{A=J})};g();let _;const S=hB[r]||Xm;let E;S!==Xm&&typeof i[0]!="number"&&(E=N2([0,100],i,{clamp:!1}),i=[0,100]);const P=S({...p,keyframes:i});let b;a==="mirror"&&(b=S({...p,keyframes:[...i].reverse(),velocity:-(p.velocity||0)}));let L="idle",D=null,C=null,R=null;P.calculatedDuration===null&&s&&(P.calculatedDuration=CE(P));const{calculatedDuration:F}=P;let K=1/0,le=1/0;F!==null&&(K=F+o,le=K*(s+1)-o);let H=0;const q=J=>{if(C===null)return;m>0&&(C=Math.min(C,J)),m<0&&(C=Math.min(J-le/m,C)),D!==null?H=D:H=Math.round(J-C)*m;const ie=H-e*(m>=0?1:-1),$=m>=0?ie<0:ie>le;H=Math.max(ie,0),L==="finished"&&D===null&&(H=le);let fe=H,ve=P;if(s){const nt=H/K;let Le=Math.floor(nt),Te=nt%1;!Te&&nt>=1&&(Te=1),Te===1&&Le--,Le=Math.min(Le,s+1);const W=!!(Le%2);W&&(a==="reverse"?(Te=1-Te,o&&(Te-=o/K)):a==="mirror"&&(ve=b));let ye=Go(0,1,Te);H>le&&(ye=a==="reverse"&&W?1:0),fe=ye*K}const be=$?{done:!1,value:i[0]}:ve.next(fe);E&&(be.value=E(be.value));let{done:Pe}=be;!$&&F!==null&&(Pe=m>=0?H>=le:H<=0);const Je=D===null&&(L==="finished"||L==="running"&&Pe);return d&&d(be.value),Je&&k(),be},ee=()=>{_&&_.stop(),_=void 0},oe=()=>{L="idle",ee(),A(),g(),C=R=null},k=()=>{L="finished",h&&h(),ee(),A()},j=()=>{if(y)return;_||(_=t(q));const J=_.now();l&&l(),D!==null?C=J-D:(!C||L==="finished")&&(C=J),L==="finished"&&g(),R=C,D=null,L="running",_.start()};n&&j();const Y={then(J,ie){return x.then(J,ie)},get time(){return Bs(H)},set time(J){J=ko(J),H=J,D!==null||!_||m===0?D=J:C=_.now()-J/m},get duration(){const J=P.calculatedDuration===null?CE(P):P.calculatedDuration;return Bs(J)},get speed(){return m},set speed(J){J===m||!_||(m=J,Y.time=Bs(H))},get state(){return L},play:j,pause:()=>{L="paused",D=H},stop:()=>{y=!0,L!=="idle"&&(L="idle",f&&f(),oe())},cancel:()=>{R!==null&&q(R),oe()},complete:()=>{L="finished"},sample:J=>(C=0,q(J))};return Y}function dB(n){let e;return()=>(e===void 0&&(e=n()),e)}const pB=dB(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),mB=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Kd=10,gB=2e4,vB=(n,e)=>e.type==="spring"||n==="backgroundColor"||!p2(e.ease);function yB(n,e,{onUpdate:t,onComplete:i,...r}){if(!(pB()&&mB.has(e)&&!r.repeatDelay&&r.repeatType!=="mirror"&&r.damping!==0&&r.type!=="inertia"))return!1;let o=!1,a,l;const f=()=>{l=new Promise(_=>{a=_})};f();let{keyframes:h,duration:d=300,ease:p,times:m}=r;if(vB(e,r)){const _=Ym({...r,repeat:0,delay:0});let S={done:!1,value:h[0]};const E=[];let P=0;for(;!S.done&&Py.cancel(),x=()=>{Jt.update(A),a(),f()};return y.onfinish=()=>{n.set(Pk(h,r)),i&&i(),x()},{then(_,S){return l.then(_,S)},attachTimeline(_){return y.timeline=_,y.onfinish=null,vn},get time(){return Bs(y.currentTime||0)},set time(_){y.currentTime=ko(_)},get speed(){return y.playbackRate},set speed(_){y.playbackRate=_},get duration(){return Bs(d)},play:()=>{o||(y.play(),js(A))},pause:()=>y.pause(),stop:()=>{if(o=!0,y.playState==="idle")return;const{currentTime:_}=y;if(_){const S=Ym({...r,autoplay:!1});n.setWithVelocity(S.sample(_-Kd).value,S.sample(_).value,Kd)}x()},complete:()=>y.finish(),cancel:x}}function xB({keyframes:n,delay:e,onUpdate:t,onComplete:i}){const r=()=>(t&&t(n[n.length-1]),i&&i(),{time:0,speed:1,duration:0,play:vn,pause:vn,stop:vn,then:s=>(s(),Promise.resolve()),cancel:vn,complete:vn});return e?Ym({keyframes:[0,1],duration:0,delay:e,onComplete:r}):r()}const _B={type:"spring",stiffness:500,damping:25,restSpeed:10},SB=n=>({type:"spring",stiffness:550,damping:n===0?2*Math.sqrt(550):30,restSpeed:10}),AB={type:"keyframes",duration:.8},MB={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},wB=(n,{keyframes:e})=>e.length>2?AB:ll.has(n)?n.startsWith("scale")?SB(e[1]):_B:MB,qx=(n,e)=>n==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(jo.test(e)||e==="0")&&!e.startsWith("url(")),EB=new Set(["brightness","contrast","saturate","opacity"]);function TB(n){const[e,t]=n.slice(0,-1).split("(");if(e==="drop-shadow")return n;const[i]=t.match(bg)||[];if(!i)return n;const r=t.replace(i,"");let s=EB.has(e)?1:0;return i!==t&&(s*=100),e+"("+s+r+")"}const bB=/([a-z-]*)\(.*?\)/g,Zx={...jo,getAnimatableNone:n=>{const e=n.match(bB);return e?e.map(TB).join(" "):n}},CB={...QR,color:xi,backgroundColor:xi,outlineColor:xi,fill:xi,stroke:xi,borderColor:xi,borderTopColor:xi,borderRightColor:xi,borderBottomColor:xi,borderLeftColor:xi,filter:Zx,WebkitFilter:Zx},p1=n=>CB[n];function k2(n,e){let t=p1(n);return t!==Zx&&(t=jo),t.getAnimatableNone?t.getAnimatableNone(e):void 0}const B2=n=>/^0[^.\s]+$/.test(n);function PB(n){if(typeof n=="number")return n===0;if(n!==null)return n==="none"||n==="0"||B2(n)}function RB(n,e,t,i){const r=qx(e,t);let s;Array.isArray(t)?s=[...t]:s=[null,t];const o=i.from!==void 0?i.from:n.get();let a;const l=[];for(let f=0;fr=>{const s=m1(i,n)||{},o=s.delay||i.delay||0;let{elapsed:a=0}=i;a=a-ko(o);const l=RB(e,n,t,s),f=l[0],h=l[l.length-1],d=qx(n,f),p=qx(n,h);let m={keyframes:l,velocity:e.getVelocity(),ease:"easeOut",...s,delay:-a,onUpdate:y=>{e.set(y),s.onUpdate&&s.onUpdate(y)},onComplete:()=>{r(),s.onComplete&&s.onComplete()}};if(LB(s)||(m={...m,...wB(n,m)}),m.duration&&(m.duration=ko(m.duration)),m.repeatDelay&&(m.repeatDelay=ko(m.repeatDelay)),!d||!p||bk.current||s.type===!1)return xB(m);if(!i.isHandoff&&e.owner&&e.owner.current instanceof HTMLElement&&!e.owner.getProps().onUpdate){const y=yB(e,n,m);if(y)return y}return Ym(m)};function qm(n){return!!(Bi(n)&&n.add)}const z2=n=>/^\-?\d*\.?\d+$/.test(n);function v1(n,e){n.indexOf(e)===-1&&n.push(e)}function y1(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}class x1{constructor(){this.subscriptions=[]}add(e){return v1(this.subscriptions,e),()=>y1(this.subscriptions,e)}notify(e,t,i){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,i);else for(let s=0;s!isNaN(parseFloat(n));class DB{constructor(e,t={}){this.version="10.16.16",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(i,r=!0)=>{this.prev=this.current,this.current=i;const{delta:s,timestamp:o}=ci;this.lastUpdated!==o&&(this.timeDelta=s,this.lastUpdated=o,Jt.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),r&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>Jt.postRender(this.velocityCheck),this.velocityCheck=({timestamp:i})=>{i!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=e,this.canTrackVelocity=IB(this.current),this.owner=t.owner}onChange(e){return this.on("change",e)}on(e,t){this.events[e]||(this.events[e]=new x1);const i=this.events[e].add(t);return e==="change"?()=>{i(),Jt.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e,t=!0){!t||!this.passiveEffect?this.updateAndNotify(e,t):this.passiveEffect(e,this.updateAndNotify)}setWithVelocity(e,t,i){this.set(t),this.prev=e,this.timeDelta=i}jump(e){this.updateAndNotify(e),this.prev=e,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?U2(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function zc(n,e){return new DB(n,e)}const V2=n=>e=>e.test(n),NB={test:n=>n==="auto",parse:n=>n},H2=[cl,ct,as,yo,VF,zF,NB],Lu=n=>H2.find(V2(n)),UB=[...H2,xi,jo],OB=n=>UB.find(V2(n));function FB(n,e,t){n.hasValue(e)?n.getValue(e).set(t):n.addValue(e,zc(t))}function kB(n,e){const t=Pg(n,e);let{transitionEnd:i={},transition:r={},...s}=t?n.makeTargetAnimatable(t,!1):{};s={...s,...i};for(const o in s){const a=nk(s[o]);FB(n,o,a)}}function BB(n,e,t){var i,r;const s=Object.keys(e).filter(a=>!n.hasValue(a)),o=s.length;if(o)for(let a=0;al.remove(d))),f.push(x)}return o&&Promise.all(f).then(()=>{o&&kB(n,o)}),f}function Kx(n,e,t={}){const i=Pg(n,e,t.custom);let{transition:r=n.getDefaultTransition()||{}}=i||{};t.transitionOverride&&(r=t.transitionOverride);const s=i?()=>Promise.all(W2(n,i,t)):()=>Promise.resolve(),o=n.variantChildren&&n.variantChildren.size?(l=0)=>{const{delayChildren:f=0,staggerChildren:h,staggerDirection:d}=r;return GB(n,e,f+l,h,d,t)}:()=>Promise.resolve(),{when:a}=r;if(a){const[l,f]=a==="beforeChildren"?[s,o]:[o,s];return l().then(()=>f())}else return Promise.all([s(),o(t.delay)])}function GB(n,e,t=0,i=0,r=1,s){const o=[],a=(n.variantChildren.size-1)*i,l=r===1?(f=0)=>f*i:(f=0)=>a-f*i;return Array.from(n.variantChildren).sort(jB).forEach((f,h)=>{f.notify("AnimationStart",e),o.push(Kx(f,e,{...s,delay:t+l(h)}).then(()=>f.notify("AnimationComplete",e)))}),Promise.all(o)}function jB(n,e){return n.sortNodePosition(e)}function XB(n,e,t={}){n.notify("AnimationStart",e);let i;if(Array.isArray(e)){const r=e.map(s=>Kx(n,s,t));i=Promise.all(r)}else if(typeof e=="string")i=Kx(n,e,t);else{const r=typeof e=="function"?Pg(n,e,t.custom):e;i=Promise.all(W2(n,r,t))}return i.then(()=>n.notify("AnimationComplete",e))}const YB=[...t1].reverse(),qB=t1.length;function ZB(n){return e=>Promise.all(e.map(({animation:t,options:i})=>XB(n,t,i)))}function KB(n){let e=ZB(n);const t=QB();let i=!0;const r=(l,f)=>{const h=Pg(n,f);if(h){const{transition:d,transitionEnd:p,...m}=h;l={...l,...m,...p}}return l};function s(l){e=l(n)}function o(l,f){const h=n.getProps(),d=n.getVariantContext(!0)||{},p=[],m=new Set;let y={},A=1/0;for(let g=0;gA&&P;const R=Array.isArray(E)?E:[E];let F=R.reduce(r,{});b===!1&&(F={});const{prevResolvedValues:K={}}=S,le={...K,...F},H=q=>{C=!0,m.delete(q),S.needsAnimating[q]=!0};for(const q in le){const ee=F[q],oe=K[q];y.hasOwnProperty(q)||(ee!==oe?Gm(ee)&&Gm(oe)?!h2(ee,oe)||D?H(q):S.protectedKeys[q]=!0:ee!==void 0?H(q):m.add(q):ee!==void 0&&m.has(q)?H(q):S.protectedKeys[q]=!0)}S.prevProp=E,S.prevResolvedValues=F,S.isActive&&(y={...y,...F}),i&&n.blockInitialAnimation&&(C=!1),C&&!L&&p.push(...R.map(q=>({animation:q,options:{type:_,...l}})))}if(m.size){const g={};m.forEach(_=>{const S=n.getBaseTarget(_);S!==void 0&&(g[_]=S)}),p.push({animation:g})}let x=!!p.length;return i&&(h.initial===!1||h.initial===h.animate)&&!n.manuallyAnimateOnMount&&(x=!1),i=!1,x?e(p):Promise.resolve()}function a(l,f,h){var d;if(t[l].isActive===f)return Promise.resolve();(d=n.variantChildren)===null||d===void 0||d.forEach(m=>{var y;return(y=m.animationState)===null||y===void 0?void 0:y.setActive(l,f)}),t[l].isActive=f;const p=o(h,l);for(const m in t)t[m].protectedKeys={};return p}return{animateChanges:o,setActive:a,setAnimateFunction:s,getState:()=>t}}function JB(n,e){return typeof e=="string"?e!==n:Array.isArray(e)?!h2(e,n):!1}function da(n=!1){return{isActive:n,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function QB(){return{animate:da(!0),whileInView:da(),whileHover:da(),whileTap:da(),whileDrag:da(),whileFocus:da(),exit:da()}}class $B extends Qo{constructor(e){super(e),e.animationState||(e.animationState=KB(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();this.unmount(),Eg(e)&&(this.unmount=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){}}let ez=0;class tz extends Qo{constructor(){super(...arguments),this.id=ez++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:t,custom:i}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===r)return;const s=this.node.animationState.setActive("exit",!e,{custom:i??this.node.getProps().custom});t&&!e&&s.then(()=>t(this.id))}mount(){const{register:e}=this.node.presenceContext||{};e&&(this.unmount=e(this.id))}unmount(){}}const nz={animation:{Feature:$B},exit:{Feature:tz}},PE=(n,e)=>Math.abs(n-e);function iz(n,e){const t=PE(n.x,e.x),i=PE(n.y,e.y);return Math.sqrt(t**2+i**2)}class G2{constructor(e,t,{transformPagePoint:i,contextWindow:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const h=Qv(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,p=iz(h.offset,{x:0,y:0})>=3;if(!d&&!p)return;const{point:m}=h,{timestamp:y}=ci;this.history.push({...m,timestamp:y});const{onStart:A,onMove:x}=this.handlers;d||(A&&A(this.lastMoveEvent,h),this.startEvent=this.lastMoveEvent),x&&x(this.lastMoveEvent,h)},this.handlePointerMove=(h,d)=>{this.lastMoveEvent=h,this.lastMoveEventInfo=Jv(d,this.transformPagePoint),Jt.update(this.updatePoint,!0)},this.handlePointerUp=(h,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:p,onSessionEnd:m}=this.handlers,y=Qv(h.type==="pointercancel"?this.lastMoveEventInfo:Jv(d,this.transformPagePoint),this.history);this.startEvent&&p&&p(h,y),m&&m(h,y)},!a2(e))return;this.handlers=t,this.transformPagePoint=i,this.contextWindow=r||window;const s=Cg(e),o=Jv(s,this.transformPagePoint),{point:a}=o,{timestamp:l}=ci;this.history=[{...a,timestamp:l}];const{onSessionStart:f}=t;f&&f(e,Qv(o,this.history)),this.removeListeners=Fo(ks(this.contextWindow,"pointermove",this.handlePointerMove),ks(this.contextWindow,"pointerup",this.handlePointerUp),ks(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),js(this.updatePoint)}}function Jv(n,e){return e?{point:e(n.point)}:n}function RE(n,e){return{x:n.x-e.x,y:n.y-e.y}}function Qv({point:n},e){return{point:n,delta:RE(n,j2(e)),offset:RE(n,rz(e)),velocity:sz(e,.1)}}function rz(n){return n[0]}function j2(n){return n[n.length-1]}function sz(n,e){if(n.length<2)return{x:0,y:0};let t=n.length-1,i=null;const r=j2(n);for(;t>=0&&(i=n[t],!(r.timestamp-i.timestamp>ko(e)));)t--;if(!i)return{x:0,y:0};const s=Bs(r.timestamp-i.timestamp);if(s===0)return{x:0,y:0};const o={x:(r.x-i.x)/s,y:(r.y-i.y)/s};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function tr(n){return n.max-n.min}function Jx(n,e=0,t=.01){return Math.abs(n-e)<=t}function LE(n,e,t,i=.5){n.origin=i,n.originPoint=an(e.min,e.max,n.origin),n.scale=tr(t)/tr(e),(Jx(n.scale,1,1e-4)||isNaN(n.scale))&&(n.scale=1),n.translate=an(t.min,t.max,n.origin)-n.originPoint,(Jx(n.translate)||isNaN(n.translate))&&(n.translate=0)}function df(n,e,t,i){LE(n.x,e.x,t.x,i?i.originX:void 0),LE(n.y,e.y,t.y,i?i.originY:void 0)}function IE(n,e,t){n.min=t.min+e.min,n.max=n.min+tr(e)}function oz(n,e,t){IE(n.x,e.x,t.x),IE(n.y,e.y,t.y)}function DE(n,e,t){n.min=e.min-t.min,n.max=n.min+tr(e)}function pf(n,e,t){DE(n.x,e.x,t.x),DE(n.y,e.y,t.y)}function az(n,{min:e,max:t},i){return e!==void 0&&nt&&(n=i?an(t,n,i.max):Math.min(n,t)),n}function NE(n,e,t){return{min:e!==void 0?n.min+e:void 0,max:t!==void 0?n.max+t-(n.max-n.min):void 0}}function lz(n,{top:e,left:t,bottom:i,right:r}){return{x:NE(n.x,t,r),y:NE(n.y,e,i)}}function UE(n,e){let t=e.min-n.min,i=e.max-n.max;return e.max-e.mini?t=Hf(e.min,e.max-i,n.min):i>r&&(t=Hf(n.min,n.max-r,e.min)),Go(0,1,t)}function fz(n,e){const t={};return e.min!==void 0&&(t.min=e.min-n.min),e.max!==void 0&&(t.max=e.max-n.min),t}const Qx=.35;function hz(n=Qx){return n===!1?n=0:n===!0&&(n=Qx),{x:OE(n,"left","right"),y:OE(n,"top","bottom")}}function OE(n,e,t){return{min:FE(n,e),max:FE(n,t)}}function FE(n,e){return typeof n=="number"?n:n[e]||0}const kE=()=>({translate:0,scale:1,origin:0,originPoint:0}),vc=()=>({x:kE(),y:kE()}),BE=()=>({min:0,max:0}),Cn=()=>({x:BE(),y:BE()});function ns(n){return[n("x"),n("y")]}function X2({top:n,left:e,right:t,bottom:i}){return{x:{min:e,max:t},y:{min:n,max:i}}}function dz({x:n,y:e}){return{top:e.min,right:n.max,bottom:e.max,left:n.min}}function pz(n,e){if(!e)return n;const t=e({x:n.left,y:n.top}),i=e({x:n.right,y:n.bottom});return{top:t.y,left:t.x,bottom:i.y,right:i.x}}function $v(n){return n===void 0||n===1}function $x({scale:n,scaleX:e,scaleY:t}){return!$v(n)||!$v(e)||!$v(t)}function Ta(n){return $x(n)||Y2(n)||n.z||n.rotate||n.rotateX||n.rotateY}function Y2(n){return zE(n.x)||zE(n.y)}function zE(n){return n&&n!=="0%"}function Zm(n,e,t){const i=n-t,r=e*i;return t+r}function VE(n,e,t,i,r){return r!==void 0&&(n=Zm(n,r,i)),Zm(n,t,i)+e}function e_(n,e=0,t=1,i,r){n.min=VE(n.min,e,t,i,r),n.max=VE(n.max,e,t,i,r)}function q2(n,{x:e,y:t}){e_(n.x,e.translate,e.scale,e.originPoint),e_(n.y,t.translate,t.scale,t.originPoint)}function mz(n,e,t,i=!1){const r=t.length;if(!r)return;e.x=e.y=1;let s,o;for(let a=0;a1.0000000000001||n<.999999999999?n:1}function So(n,e){n.min=n.min+e,n.max=n.max+e}function WE(n,e,[t,i,r]){const s=e[r]!==void 0?e[r]:.5,o=an(n.min,n.max,s);e_(n,e[t],e[i],o,e.scale)}const gz=["x","scaleX","originX"],vz=["y","scaleY","originY"];function yc(n,e){WE(n.x,e,gz),WE(n.y,e,vz)}function Z2(n,e){return X2(pz(n.getBoundingClientRect(),e))}function yz(n,e,t){const i=Z2(n,t),{scroll:r}=e;return r&&(So(i.x,r.offset.x),So(i.y,r.offset.y)),i}const K2=({current:n})=>n?n.ownerDocument.defaultView:null,xz=new WeakMap;class _z{constructor(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Cn(),this.visualElement=e}start(e,{snapToCursor:t=!1}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=l=>{this.stopAnimation(),t&&this.snapToCursor(Cg(l,"page").point)},s=(l,f)=>{const{drag:h,dragPropagation:d,onDragStart:p}=this.getProps();if(h&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=c2(h),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ns(y=>{let A=this.getAxisMotionValue(y).get()||0;if(as.test(A)){const{projection:x}=this.visualElement;if(x&&x.layout){const g=x.layout.layoutBox[y];g&&(A=tr(g)*(parseFloat(A)/100))}}this.originPoint[y]=A}),p&&Jt.update(()=>p(l,f),!1,!0);const{animationState:m}=this.visualElement;m&&m.setActive("whileDrag",!0)},o=(l,f)=>{const{dragPropagation:h,dragDirectionLock:d,onDirectionLock:p,onDrag:m}=this.getProps();if(!h&&!this.openGlobalLock)return;const{offset:y}=f;if(d&&this.currentDirection===null){this.currentDirection=Sz(y),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",f.point,y),this.updateAxis("y",f.point,y),this.visualElement.render(),m&&m(l,f)},a=(l,f)=>this.stop(l,f);this.panSession=new G2(e,{onSessionStart:r,onStart:s,onMove:o,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint(),contextWindow:K2(this.visualElement)})}stop(e,t){const i=this.isDragging;if(this.cancel(),!i)return;const{velocity:r}=t;this.startAnimation(r);const{onDragEnd:s}=this.getProps();s&&Jt.update(()=>s(e,t))}cancel(){this.isDragging=!1;const{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:i}=this.getProps();!i&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),t&&t.setActive("whileDrag",!1)}updateAxis(e,t,i){const{drag:r}=this.getProps();if(!i||!Jd(e,r,this.currentDirection))return;const s=this.getAxisMotionValue(e);let o=this.originPoint[e]+i[e];this.constraints&&this.constraints[e]&&(o=az(o,this.constraints[e],this.elastic[e])),s.set(o)}resolveConstraints(){var e;const{dragConstraints:t,dragElastic:i}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(e=this.visualElement.projection)===null||e===void 0?void 0:e.layout,s=this.constraints;t&&mc(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=lz(r.layoutBox,t):this.constraints=!1,this.elastic=hz(i),s!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ns(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=fz(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!mc(e))return!1;const i=e.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const s=yz(i,r.root,this.visualElement.getTransformPagePoint());let o=cz(r.layout.layoutBox,s);if(t){const a=t(dz(o));this.hasMutatedConstraints=!!a,a&&(o=X2(a))}return o}startAnimation(e){const{drag:t,dragMomentum:i,dragElastic:r,dragTransition:s,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},f=ns(h=>{if(!Jd(h,t,this.currentDirection))return;let d=l&&l[h]||{};o&&(d={min:0,max:0});const p=r?200:1e6,m=r?40:1e7,y={type:"inertia",velocity:i?e[h]:0,bounceStiffness:p,bounceDamping:m,timeConstant:750,restDelta:1,restSpeed:10,...s,...d};return this.startAxisValueAnimation(h,y)});return Promise.all(f).then(a)}startAxisValueAnimation(e,t){const i=this.getAxisMotionValue(e);return i.start(g1(e,i,0,t))}stopAnimation(){ns(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){const t="_drag"+e.toUpperCase(),i=this.visualElement.getProps(),r=i[t];return r||this.visualElement.getValue(e,(i.initial?i.initial[e]:void 0)||0)}snapToCursor(e){ns(t=>{const{drag:i}=this.getProps();if(!Jd(t,i,this.currentDirection))return;const{projection:r}=this.visualElement,s=this.getAxisMotionValue(t);if(r&&r.layout){const{min:o,max:a}=r.layout.layoutBox[t];s.set(e[t]-an(o,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:t}=this.getProps(),{projection:i}=this.visualElement;if(!mc(t)||!i||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};ns(o=>{const a=this.getAxisMotionValue(o);if(a){const l=a.get();r[o]=uz({min:l,max:l},this.constraints[o])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.resolveConstraints(),ns(o=>{if(!Jd(o,e,null))return;const a=this.getAxisMotionValue(o),{min:l,max:f}=this.constraints[o];a.set(an(l,f,r[o]))})}addListeners(){if(!this.visualElement.current)return;xz.set(this.visualElement,this);const e=this.visualElement.current,t=ks(e,"pointerdown",l=>{const{drag:f,dragListener:h=!0}=this.getProps();f&&h&&this.start(l)}),i=()=>{const{dragConstraints:l}=this.getProps();mc(l)&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,s=r.addEventListener("measure",i);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),i();const o=Ns(window,"resize",()=>this.scalePositionWithinConstraints()),a=r.addEventListener("didUpdate",({delta:l,hasLayoutChanged:f})=>{this.isDragging&&f&&(ns(h=>{const d=this.getAxisMotionValue(h);d&&(this.originPoint[h]+=l[h].translate,d.set(d.get()+l[h].translate))}),this.visualElement.render())});return()=>{o(),t(),s(),a&&a()}}getProps(){const e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:i=!1,dragPropagation:r=!1,dragConstraints:s=!1,dragElastic:o=Qx,dragMomentum:a=!0}=e;return{...e,drag:t,dragDirectionLock:i,dragPropagation:r,dragConstraints:s,dragElastic:o,dragMomentum:a}}}function Jd(n,e,t){return(e===!0||e===n)&&(t===null||t===n)}function Sz(n,e=10){let t=null;return Math.abs(n.y)>e?t="y":Math.abs(n.x)>e&&(t="x"),t}class Az extends Qo{constructor(e){super(e),this.removeGroupControls=vn,this.removeListeners=vn,this.controls=new _z(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||vn}unmount(){this.removeGroupControls(),this.removeListeners()}}const GE=n=>(e,t)=>{n&&Jt.update(()=>n(e,t))};class Mz extends Qo{constructor(){super(...arguments),this.removePointerDownListener=vn}onPointerDown(e){this.session=new G2(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:K2(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:t,onPan:i,onPanEnd:r}=this.node.getProps();return{onSessionStart:GE(e),onStart:GE(t),onMove:i,onEnd:(s,o)=>{delete this.session,r&&Jt.update(()=>r(s,o))}}}mount(){this.removePointerDownListener=ks(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function wz(){const n=V.useContext($S);if(n===null)return[!0,null];const{isPresent:e,onExitComplete:t,register:i}=n,r=V.useId();return V.useEffect(()=>i(r),[]),!e&&t?[!1,()=>t&&t(r)]:[!0]}const lm={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function jE(n,e){return e.max===e.min?0:n/(e.max-e.min)*100}const Iu={correct:(n,e)=>{if(!e.target)return n;if(typeof n=="string")if(ct.test(n))n=parseFloat(n);else return n;const t=jE(n,e.target.x),i=jE(n,e.target.y);return`${t}% ${i}%`}},Ez={correct:(n,{treeScale:e,projectionDelta:t})=>{const i=n,r=jo.parse(n);if(r.length>5)return i;const s=jo.createTransformer(n),o=typeof r[0]!="number"?1:0,a=t.x.scale*e.x,l=t.y.scale*e.y;r[0+o]/=a,r[1+o]/=l;const f=an(a,l,.5);return typeof r[2+o]=="number"&&(r[2+o]/=f),typeof r[3+o]=="number"&&(r[3+o]/=f),s(r)}};class Tz extends hh.Component{componentDidMount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:i,layoutId:r}=this.props,{projection:s}=e;DF(bz),s&&(t.group&&t.group.add(s),i&&i.register&&r&&i.register(s),s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),lm.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:t,visualElement:i,drag:r,isPresent:s}=this.props,o=i.projection;return o&&(o.isPresent=s,r||e.layoutDependency!==t||t===void 0?o.willUpdate():this.safeToRemove(),e.isPresent!==s&&(s?o.promote():o.relegate()||Jt.postRender(()=>{const a=o.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),queueMicrotask(()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:i}=this.props,{projection:r}=e;r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),i&&i.deregister&&i.deregister(r))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function J2(n){const[e,t]=wz(),i=V.useContext(XR);return hh.createElement(Tz,{...n,layoutGroup:i,switchLayoutGroup:V.useContext(YR),isPresent:e,safeToRemove:t})}const bz={borderRadius:{...Iu,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Iu,borderTopRightRadius:Iu,borderBottomLeftRadius:Iu,borderBottomRightRadius:Iu,boxShadow:Ez},Q2=["TopLeft","TopRight","BottomLeft","BottomRight"],Cz=Q2.length,XE=n=>typeof n=="string"?parseFloat(n):n,YE=n=>typeof n=="number"||ct.test(n);function Pz(n,e,t,i,r,s){r?(n.opacity=an(0,t.opacity!==void 0?t.opacity:1,Rz(i)),n.opacityExit=an(e.opacity!==void 0?e.opacity:1,0,Lz(i))):s&&(n.opacity=an(e.opacity!==void 0?e.opacity:1,t.opacity!==void 0?t.opacity:1,i));for(let o=0;oie?1:t(Hf(n,e,i))}function ZE(n,e){n.min=e.min,n.max=e.max}function mr(n,e){ZE(n.x,e.x),ZE(n.y,e.y)}function KE(n,e,t,i,r){return n-=e,n=Zm(n,1/t,i),r!==void 0&&(n=Zm(n,1/r,i)),n}function Iz(n,e=0,t=1,i=.5,r,s=n,o=n){if(as.test(e)&&(e=parseFloat(e),e=an(o.min,o.max,e/100)-o.min),typeof e!="number")return;let a=an(s.min,s.max,i);n===s&&(a-=e),n.min=KE(n.min,e,t,a,r),n.max=KE(n.max,e,t,a,r)}function JE(n,e,[t,i,r],s,o){Iz(n,e[t],e[i],e[r],e.scale,s,o)}const Dz=["x","scaleX","originX"],Nz=["y","scaleY","originY"];function QE(n,e,t,i){JE(n.x,e,Dz,t?t.x:void 0,i?i.x:void 0),JE(n.y,e,Nz,t?t.y:void 0,i?i.y:void 0)}function $E(n){return n.translate===0&&n.scale===1}function eL(n){return $E(n.x)&&$E(n.y)}function Uz(n,e){return n.x.min===e.x.min&&n.x.max===e.x.max&&n.y.min===e.y.min&&n.y.max===e.y.max}function tL(n,e){return Math.round(n.x.min)===Math.round(e.x.min)&&Math.round(n.x.max)===Math.round(e.x.max)&&Math.round(n.y.min)===Math.round(e.y.min)&&Math.round(n.y.max)===Math.round(e.y.max)}function eT(n){return tr(n.x)/tr(n.y)}class Oz{constructor(){this.members=[]}add(e){v1(this.members,e),e.scheduleRender()}remove(e){if(y1(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const t=this.members[this.members.length-1];t&&this.promote(t)}}relegate(e){const t=this.members.findIndex(r=>e===r);if(t===0)return!1;let i;for(let r=t;r>=0;r--){const s=this.members[r];if(s.isPresent!==!1){i=s;break}}return i?(this.promote(i),!0):!1}promote(e,t){const i=this.lead;if(e!==i&&(this.prevLead=i,this.lead=e,e.show(),i)){i.instance&&i.scheduleRender(),e.scheduleRender(),e.resumeFrom=i,t&&(e.resumeFrom.preserveOpacity=!0),i.snapshot&&(e.snapshot=i.snapshot,e.snapshot.latestValues=i.animationValues||i.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:r}=e.options;r===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(e=>{const{options:t,resumingFrom:i}=e;t.onExitComplete&&t.onExitComplete(),i&&i.options.onExitComplete&&i.options.onExitComplete()})}scheduleRender(){this.members.forEach(e=>{e.instance&&e.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function tT(n,e,t){let i="";const r=n.x.translate/e.x,s=n.y.translate/e.y;if((r||s)&&(i=`translate3d(${r}px, ${s}px, 0) `),(e.x!==1||e.y!==1)&&(i+=`scale(${1/e.x}, ${1/e.y}) `),t){const{rotate:l,rotateX:f,rotateY:h}=t;l&&(i+=`rotate(${l}deg) `),f&&(i+=`rotateX(${f}deg) `),h&&(i+=`rotateY(${h}deg) `)}const o=n.x.scale*e.x,a=n.y.scale*e.y;return(o!==1||a!==1)&&(i+=`scale(${o}, ${a})`),i||"none"}const Fz=(n,e)=>n.depth-e.depth;class kz{constructor(){this.children=[],this.isDirty=!1}add(e){v1(this.children,e),this.isDirty=!0}remove(e){y1(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Fz),this.isDirty=!1,this.children.forEach(e)}}function Bz(n,e){const t=performance.now(),i=({timestamp:r})=>{const s=r-t;s>=e&&(js(i),n(s-e))};return Jt.read(i,!0),()=>js(i)}function zz(n){window.MotionDebug&&window.MotionDebug.record(n)}function Vz(n){return n instanceof SVGElement&&n.tagName!=="svg"}function Hz(n,e,t){const i=Bi(n)?n:zc(n);return i.start(g1("",i,e,t)),i.animation}const nT=["","X","Y","Z"],Wz={visibility:"hidden"},iT=1e3;let Gz=0;const ba={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function nL({attachResizeListener:n,defaultParent:e,measureScroll:t,checkIsScrollRoot:i,resetTransform:r}){return class{constructor(o={},a=e==null?void 0:e()){this.id=Gz++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,ba.totalNodes=ba.resolvedTargetDeltas=ba.recalculatedProjection=0,this.nodes.forEach(Yz),this.nodes.forEach(Qz),this.nodes.forEach($z),this.nodes.forEach(qz),zz(ba)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;n(o,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=Bz(p,250),lm.hasAnimatedSinceResize&&(lm.hasAnimatedSinceResize=!1,this.nodes.forEach(sT))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&h&&(l||f)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:p,hasRelativeTargetChanged:m,layout:y})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const A=this.options.transition||h.getDefaultTransition()||r4,{onLayoutAnimationStart:x,onLayoutAnimationComplete:g}=h.getProps(),_=!this.targetLayout||!tL(this.targetLayout,y)||m,S=!p&&m;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||S||p&&(_||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,S);const E={...m1(A,"layout"),onPlay:x,onComplete:g};(h.shouldReduceMotion||this.options.layoutRoot)&&(E.delay=0,E.type=!1),this.startAnimation(E)}else p||sT(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=y})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,js(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(e4),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let h=0;hthis.update()))}clearAllSnapshots(){this.nodes.forEach(Zz),this.sharedNodes.forEach(t4)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Jt.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Jt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const P=E/1e3;oT(d.x,o.x,P),oT(d.y,o.y,P),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(pf(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),n4(this.relativeTarget,this.relativeTargetOrigin,p,P),S&&Uz(this.relativeTarget,S)&&(this.isProjectionDirty=!1),S||(S=Cn()),mr(S,this.relativeTarget)),A&&(this.animationValues=h,Pz(h,f,this.latestValues,P,_,g)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=P},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(js(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Jt.update(()=>{lm.hasAnimatedSinceResize=!0,this.currentAnimation=Hz(0,iT,{...o,onUpdate:a=>{this.mixTargetDelta(a),o.onUpdate&&o.onUpdate(a)},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(iT),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:a,target:l,layout:f,latestValues:h}=o;if(!(!a||!l||!f)){if(this!==o&&this.layout&&f&&iL(this.options.animationType,this.layout.layoutBox,f.layoutBox)){l=this.target||Cn();const d=tr(this.layout.layoutBox.x);l.x.min=o.target.x.min,l.x.max=l.x.min+d;const p=tr(this.layout.layoutBox.y);l.y.min=o.target.y.min,l.y.max=l.y.min+p}mr(a,l),yc(a,h),df(this.projectionDeltaWithTransform,this.layoutCorrected,a,h)}}registerSharedNode(o,a){this.sharedNodes.has(o)||this.sharedNodes.set(o,new Oz),this.sharedNodes.get(o).add(a);const f=a.options.initialPromotionConfig;a.promote({transition:f?f.transition:void 0,preserveFollowOpacity:f&&f.shouldPreserveFollowOpacity?f.shouldPreserveFollowOpacity(a):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var o;const{layoutId:a}=this.options;return a?((o=this.getStack())===null||o===void 0?void 0:o.lead)||this:this}getPrevLead(){var o;const{layoutId:a}=this.options;return a?(o=this.getStack())===null||o===void 0?void 0:o.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:a,preserveFollowOpacity:l}={}){const f=this.getStack();f&&f.promote(this,l),o&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetRotation(){const{visualElement:o}=this.options;if(!o)return;let a=!1;const{latestValues:l}=o;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const f={};for(let h=0;h{var a;return(a=o.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(rT),this.root.sharedNodes.clear()}}}function jz(n){n.updateLayout()}function Xz(n){var e;const t=((e=n.resumeFrom)===null||e===void 0?void 0:e.snapshot)||n.snapshot;if(n.isLead()&&n.layout&&t&&n.hasListeners("didUpdate")){const{layoutBox:i,measuredBox:r}=n.layout,{animationType:s}=n.options,o=t.source!==n.layout.source;s==="size"?ns(d=>{const p=o?t.measuredBox[d]:t.layoutBox[d],m=tr(p);p.min=i[d].min,p.max=p.min+m}):iL(s,t.layoutBox,i)&&ns(d=>{const p=o?t.measuredBox[d]:t.layoutBox[d],m=tr(i[d]);p.max=p.min+m,n.relativeTarget&&!n.currentAnimation&&(n.isProjectionDirty=!0,n.relativeTarget[d].max=n.relativeTarget[d].min+m)});const a=vc();df(a,i,t.layoutBox);const l=vc();o?df(l,n.applyTransform(r,!0),t.measuredBox):df(l,i,t.layoutBox);const f=!eL(a);let h=!1;if(!n.resumeFrom){const d=n.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:p,layout:m}=d;if(p&&m){const y=Cn();pf(y,t.layoutBox,p.layoutBox);const A=Cn();pf(A,i,m.layoutBox),tL(y,A)||(h=!0),d.options.layoutRoot&&(n.relativeTarget=A,n.relativeTargetOrigin=y,n.relativeParent=d)}}}n.notifyListeners("didUpdate",{layout:i,snapshot:t,delta:l,layoutDelta:a,hasLayoutChanged:f,hasRelativeTargetChanged:h})}else if(n.isLead()){const{onExitComplete:i}=n.options;i&&i()}n.options.transition=void 0}function Yz(n){ba.totalNodes++,n.parent&&(n.isProjecting()||(n.isProjectionDirty=n.parent.isProjectionDirty),n.isSharedProjectionDirty||(n.isSharedProjectionDirty=!!(n.isProjectionDirty||n.parent.isProjectionDirty||n.parent.isSharedProjectionDirty)),n.isTransformDirty||(n.isTransformDirty=n.parent.isTransformDirty))}function qz(n){n.isProjectionDirty=n.isSharedProjectionDirty=n.isTransformDirty=!1}function Zz(n){n.clearSnapshot()}function rT(n){n.clearMeasurements()}function Kz(n){n.isLayoutDirty=!1}function Jz(n){const{visualElement:e}=n.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),n.resetTransform()}function sT(n){n.finishAnimation(),n.targetDelta=n.relativeTarget=n.target=void 0,n.isProjectionDirty=!0}function Qz(n){n.resolveTargetDelta()}function $z(n){n.calcProjection()}function e4(n){n.resetRotation()}function t4(n){n.removeLeadSnapshot()}function oT(n,e,t){n.translate=an(e.translate,0,t),n.scale=an(e.scale,1,t),n.origin=e.origin,n.originPoint=e.originPoint}function aT(n,e,t,i){n.min=an(e.min,t.min,i),n.max=an(e.max,t.max,i)}function n4(n,e,t,i){aT(n.x,e.x,t.x,i),aT(n.y,e.y,t.y,i)}function i4(n){return n.animationValues&&n.animationValues.opacityExit!==void 0}const r4={duration:.45,ease:[.4,0,.1,1]},lT=n=>typeof navigator<"u"&&navigator.userAgent.toLowerCase().includes(n),cT=lT("applewebkit/")&&!lT("chrome/")?Math.round:vn;function uT(n){n.min=cT(n.min),n.max=cT(n.max)}function s4(n){uT(n.x),uT(n.y)}function iL(n,e,t){return n==="position"||n==="preserve-aspect"&&!Jx(eT(e),eT(t),.2)}const o4=nL({attachResizeListener:(n,e)=>Ns(n,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),ey={current:void 0},rL=nL({measureScroll:n=>({x:n.scrollLeft,y:n.scrollTop}),defaultParent:()=>{if(!ey.current){const n=new o4({});n.mount(window),n.setOptions({layoutScroll:!0}),ey.current=n}return ey.current},resetTransform:(n,e)=>{n.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:n=>window.getComputedStyle(n).position==="fixed"}),a4={pan:{Feature:Mz},drag:{Feature:Az,ProjectionNode:rL,MeasureLayout:J2}},l4=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function c4(n){const e=l4.exec(n);if(!e)return[,];const[,t,i]=e;return[t,i]}function t_(n,e,t=1){const[i,r]=c4(n);if(!i)return;const s=window.getComputedStyle(e).getPropertyValue(i);if(s){const o=s.trim();return z2(o)?parseFloat(o):o}else return Gx(r)?t_(r,e,t+1):r}function u4(n,{...e},t){const i=n.current;if(!(i instanceof Element))return{target:e,transitionEnd:t};t&&(t={...t}),n.values.forEach(r=>{const s=r.get();if(!Gx(s))return;const o=t_(s,i);o&&r.set(o)});for(const r in e){const s=e[r];if(!Gx(s))continue;const o=t_(s,i);o&&(e[r]=o,t||(t={}),t[r]===void 0&&(t[r]=s))}return{target:e,transitionEnd:t}}const f4=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),sL=n=>f4.has(n),h4=n=>Object.keys(n).some(sL),fT=n=>n===cl||n===ct,hT=(n,e)=>parseFloat(n.split(", ")[e]),dT=(n,e)=>(t,{transform:i})=>{if(i==="none"||!i)return 0;const r=i.match(/^matrix3d\((.+)\)$/);if(r)return hT(r[1],e);{const s=i.match(/^matrix\((.+)\)$/);return s?hT(s[1],n):0}},d4=new Set(["x","y","z"]),p4=xh.filter(n=>!d4.has(n));function m4(n){const e=[];return p4.forEach(t=>{const i=n.getValue(t);i!==void 0&&(e.push([t,i.get()]),i.set(t.startsWith("scale")?1:0))}),e.length&&n.render(),e}const Vc={width:({x:n},{paddingLeft:e="0",paddingRight:t="0"})=>n.max-n.min-parseFloat(e)-parseFloat(t),height:({y:n},{paddingTop:e="0",paddingBottom:t="0"})=>n.max-n.min-parseFloat(e)-parseFloat(t),top:(n,{top:e})=>parseFloat(e),left:(n,{left:e})=>parseFloat(e),bottom:({y:n},{top:e})=>parseFloat(e)+(n.max-n.min),right:({x:n},{left:e})=>parseFloat(e)+(n.max-n.min),x:dT(4,13),y:dT(5,14)};Vc.translateX=Vc.x;Vc.translateY=Vc.y;const g4=(n,e,t)=>{const i=e.measureViewportBox(),r=e.current,s=getComputedStyle(r),{display:o}=s,a={};o==="none"&&e.setStaticValue("display",n.display||"block"),t.forEach(f=>{a[f]=Vc[f](i,s)}),e.render();const l=e.measureViewportBox();return t.forEach(f=>{const h=e.getValue(f);h&&h.jump(a[f]),n[f]=Vc[f](l,s)}),n},v4=(n,e,t={},i={})=>{e={...e},i={...i};const r=Object.keys(e).filter(sL);let s=[],o=!1;const a=[];if(r.forEach(l=>{const f=n.getValue(l);if(!n.hasValue(l))return;let h=t[l],d=Lu(h);const p=e[l];let m;if(Gm(p)){const y=p.length,A=p[0]===null?1:0;h=p[A],d=Lu(h);for(let x=A;x=0?window.pageYOffset:null,f=g4(e,n,a);return s.length&&s.forEach(([h,d])=>{n.getValue(h).set(d)}),n.render(),wg&&l!==null&&window.scrollTo({top:l}),{target:f,transitionEnd:i}}else return{target:e,transitionEnd:i}};function y4(n,e,t,i){return h4(e)?v4(n,e,t,i):{target:e,transitionEnd:i}}const x4=(n,e,t,i)=>{const r=u4(n,e,i);return e=r.target,i=r.transitionEnd,y4(n,e,t,i)},n_={current:null},oL={current:!1};function _4(){if(oL.current=!0,!!wg)if(window.matchMedia){const n=window.matchMedia("(prefers-reduced-motion)"),e=()=>n_.current=n.matches;n.addListener(e),e()}else n_.current=!1}function S4(n,e,t){const{willChange:i}=e;for(const r in e){const s=e[r],o=t[r];if(Bi(s))n.addValue(r,s),qm(i)&&i.add(r);else if(Bi(o))n.addValue(r,zc(s,{owner:n})),qm(i)&&i.remove(r);else if(o!==s)if(n.hasValue(r)){const a=n.getValue(r);!a.hasAnimated&&a.set(s)}else{const a=n.getStaticValue(r);n.addValue(r,zc(a!==void 0?a:s,{owner:n}))}}for(const r in t)e[r]===void 0&&n.removeValue(r);return e}const pT=new WeakMap,aL=Object.keys(Vf),A4=aL.length,mT=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],M4=n1.length;class w4{constructor({parent:e,props:t,presenceContext:i,reducedMotionConfig:r,visualState:s},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>Jt.render(this.render,!1,!0);const{latestValues:a,renderState:l}=s;this.latestValues=a,this.baseTarget={...a},this.initialValues=t.initial?{...a}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=i,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.options=o,this.isControllingVariants=Tg(t),this.isVariantNode=jR(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:f,...h}=this.scrapeMotionValuesFromProps(t,{});for(const d in h){const p=h[d];a[d]!==void 0&&Bi(p)&&(p.set(a[d],!1),qm(f)&&f.add(d))}}scrapeMotionValuesFromProps(e,t){return{}}mount(e){this.current=e,pT.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((t,i)=>this.bindToMotionValue(i,t)),oL.current||_4(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:n_.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){pT.delete(this.current),this.projection&&this.projection.unmount(),js(this.notifyUpdate),js(this.render),this.valueSubscriptions.forEach(e=>e()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const e in this.events)this.events[e].clear();for(const e in this.features)this.features[e].unmount();this.current=null}bindToMotionValue(e,t){const i=ll.has(e),r=t.on("change",o=>{this.latestValues[e]=o,this.props.onUpdate&&Jt.update(this.notifyUpdate,!1,!0),i&&this.projection&&(this.projection.isTransformDirty=!0)}),s=t.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(e,()=>{r(),s()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}loadFeatures({children:e,...t},i,r,s){let o,a;for(let l=0;lthis.scheduleRender(),animationType:typeof f=="string"?f:"both",initialPromotionConfig:s,layoutScroll:p,layoutRoot:m})}return a}updateFeatures(){for(const e in this.features){const t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Cn()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}makeTargetAnimatable(e,t=!0){return this.makeTargetAnimatableFromInstance(e,this.props,t)}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let i=0;it.variantChildren.delete(e)}addValue(e,t){t!==this.values.get(e)&&(this.removeValue(e),this.bindToMotionValue(e,t)),this.values.set(e,t),this.latestValues[e]=t.get()}removeValue(e){this.values.delete(e);const t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let i=this.values.get(e);return i===void 0&&t!==void 0&&(i=zc(t,{owner:this}),this.addValue(e,i)),i}readValue(e){var t;return this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:(t=this.getBaseTargetFromProps(this.props,e))!==null&&t!==void 0?t:this.readValueFromInstance(this.current,e,this.options)}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){var t;const{initial:i}=this.props,r=typeof i=="string"||typeof i=="object"?(t=c1(this.props,i))===null||t===void 0?void 0:t[e]:void 0;if(i&&r!==void 0)return r;const s=this.getBaseTargetFromProps(this.props,e);return s!==void 0&&!Bi(s)?s:this.initialValues[e]!==void 0&&r===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new x1),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}}class lL extends w4{sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){return e.style?e.style[t]:void 0}removeValueFromRenderState(e,{vars:t,style:i}){delete t[e],delete i[e]}makeTargetAnimatableFromInstance({transition:e,transitionEnd:t,...i},{transformValues:r},s){let o=VB(i,e||{},this);if(r&&(t&&(t=r(t)),i&&(i=r(i)),o&&(o=r(o))),s){BB(this,i,o);const a=x4(this,i,o,t);t=a.transitionEnd,i=a.target}return{transition:e,transitionEnd:t,...i}}}function E4(n){return window.getComputedStyle(n)}class T4 extends lL{readValueFromInstance(e,t){if(ll.has(t)){const i=p1(t);return i&&i.default||0}else{const i=E4(e),r=(KR(t)?i.getPropertyValue(t):i[t])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return Z2(e,t)}build(e,t,i,r){r1(e,t,i,r.transformTemplate)}scrapeMotionValuesFromProps(e,t){return l1(e,t)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;Bi(e)&&(this.childSubscription=e.on("change",t=>{this.current&&(this.current.textContent=`${t}`)}))}renderInstance(e,t,i,r){n2(e,t,i,r)}}class b4 extends lL{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(ll.has(t)){const i=p1(t);return i&&i.default||0}return t=i2.has(t)?t:e1(t),e.getAttribute(t)}measureInstanceViewportBox(){return Cn()}scrapeMotionValuesFromProps(e,t){return s2(e,t)}build(e,t,i,r){o1(e,t,i,this.isSVGTag,r.transformTemplate)}renderInstance(e,t,i,r){r2(e,t,i,r)}mount(e){this.isSVGTag=a1(e.tagName),super.mount(e)}}const C4=(n,e)=>i1(n)?new b4(e,{enableHardwareAcceleration:!1}):new T4(e,{enableHardwareAcceleration:!0}),P4={layout:{ProjectionNode:rL,MeasureLayout:J2}},R4={...nz,...Mk,...a4,...P4},un=LF((n,e)=>uk(n,e,R4,C4)),Xt={paddingX:"sm:px-16 px-6",paddingY:"sm:py-16 py-6",padding:"sm:px-16 px-6 sm:py-16 py-10",heroHeadText:"font-black text-[#373737] lg:text-[80px] sm:text-[60px] xs:text-[50px] text-[40px] lg:leading-[98px] mt-2",heroSubText:"text-[#dfd9ff] font-medium lg:text-[30px] sm:text-[26px] xs:text-[20px] text-[16px] lg:leading-[40px]",sectionHeadText:"text-black font-black md:text-[60px] sm:text-[50px] xs:text-[40px] text-[30px]",sectionSubText:"sm:text-[18px] text-[14px] text-secondary uppercase tracking-wider"},L4="/portfolio-react-threejs/assets/web-0c6824d5.webp",I4="/portfolio-react-threejs/assets/mobile-84df6906.webp",D4="/portfolio-react-threejs/assets/creator-ab86683b.webp",N4="/portfolio-react-threejs/assets/csi-1f769921.webp",U4="/portfolio-react-threejs/assets/msc-abe50c5d.webp",O4="/portfolio-react-threejs/assets/techyv-adede69e.webp",F4="/portfolio-react-threejs/assets/shapeout-d15c331a.webp",k4="/portfolio-react-threejs/assets/facedetection-65dc0246.webp",B4="/portfolio-react-threejs/assets/Hi-783be2bb.webp",z4="/portfolio-react-threejs/assets/langgo-41707292.webp",V4="/portfolio-react-threejs/assets/lifeoverseas-fd137d40.webp",H4="/portfolio-react-threejs/assets/velox-429d856c.webp",W4="/portfolio-react-threejs/assets/yolo-9ff20b51.webp",G4="/portfolio-react-threejs/assets/anon_exchange-3f3d612c.webp",j4="/portfolio-react-threejs/assets/banana_class-8925bee5.webp",X4="/portfolio-react-threejs/assets/convogen-ba953cbd.webp",Y4="/portfolio-react-threejs/assets/1-710ab004.webp",q4="/portfolio-react-threejs/assets/2-bd31252c.webp",Z4="/portfolio-react-threejs/assets/3-da0bbfbc.webp",K4="/portfolio-react-threejs/assets/4-8d092131.webp",J4="/portfolio-react-threejs/assets/5-b3191ff5.webp",Q4="/portfolio-react-threejs/assets/6-b412236c.webp",$4="/portfolio-react-threejs/assets/7-21761f9b.webp",eV="/portfolio-react-threejs/assets/8-b4888019.webp",tV="/portfolio-react-threejs/assets/9-22d557f1.webp",nV="/portfolio-react-threejs/assets/1-bc4e4556.webp",iV="/portfolio-react-threejs/assets/2-466546d5.webp",rV="/portfolio-react-threejs/assets/1-c8ded170.webp",gT=[{id:"",title:"Home",type:"route"},{id:"projects",title:"Projects",type:"route"},{id:"skills",title:"Skills",type:"route"},{id:"certificate",title:"Certificates",type:"route"},{id:"resume",title:"Resume",type:"route"},{id:"blogs",title:"Blogs",type:"route"},{id:"contact",title:"Contact",type:"route"},{id:"freetools",title:"Free Tools",type:"tools"}],sV=[{id:"downloadtube",title:"DownloadTube (Youtube Downloader)",type:"video",url:"https://downloadtube-iota.vercel.app/"}],oV=[{title:"Full Stack Web Development",icon:L4},{title:"Designing",icon:D4},{title:"ML and DL Learner",icon:I4}],aV=[{title:"Content Writer",company_name:"Techyv",icon:O4,iconBg:"white",date:"October 2023 - Ongoing",points:["Writing Professional articles related to IT.","Ensuring use of no AI content in articles.","Creating articles on real facts and data."]},{title:"Technical member",company_name:"Microsoft Student Chapter",icon:U4,iconBg:"black",date:"October 2022 - March 2023",points:["Maintaining the website and ensuring that it is up-to-date and functioning properly.","Collaborating with other members of the chapter to identify areas for improvement on the website.","Implementing changes and updates to the website using programming languages such as React.js, tailwind and JavaScript.","Debugging any issues or errors that arise on the website and working to resolve them."]},{title:"V open source member",company_name:"CSI Chapter",icon:N4,iconBg:"white",date:"Augest 2021 - June 2022",points:["Conducting regular meetings to discuss open source projects and new initiatives.","Conducting workshops and training sessions to help members learn more about open source technologies.","Coordinating with other teams within the CSI chapter to ensure smooth execution of events."]}],lV=[{name:"ConvoGen AI",description:"'ConvoGen' is the virtual embodiment of me, a chatbot that offers lifelike insights and information about my experiences, interests, and personality. Engage in conversations that feel as real as speaking with me in person, as 'ConvoGen' shares a wealth of personal details and knowledge, creating a truly immersive and authentic chatbot experience.",tags:[{name:"T5 model",color:"blue-text-gradient"},{name:"Transformer",color:"green-text-gradient"},{name:"Colab",color:"pink-text-gradient"}],image:X4,source_code_link:"https://colab.research.google.com/drive/1a6LATySYKaS8qqfk_4maSaV4guvTRA-8?usp=sharing",date:"October 2023",link_type:"colab"},{name:"Anon Exchange - Anonymous chatting app",description:"An innovative anonymous chatting app that redefines digital interactions. This project empowers strangers to connect seamlessly, engaging in candid conversations without the constraints of identity. What sets us apart is our commitment to privacy, allowing users to create exclusive private chat rooms for confidential discussions.",tags:[{name:"vitejs",color:"blue-text-gradient"},{name:"supabase",color:"green-text-gradient"},{name:"tailwind CSS",color:"pink-text-gradient"}],image:G4,source_code_link:"https://github.com/bedead/Anon-Exchange-chatting",date:"August 2023",link_type:"github"},{name:"Banana disease classification",description:"Banana disease classification is a project that uses a YOLOv8 deep learning model to detect and identify various diseases affecting banana plants. The project is based on a custom dataset of images of banana leaves with different types of infections. The project aims to provide a fast and accurate diagnosis of banana diseases, which can help farmers and researchers to prevent crop losses and improve banana production.",tags:[{name:"YOLOv8",color:"green-text-gradient"},{name:"Colab",color:"pink-text-gradient"}],image:j4,source_code_link:"https://colab.research.google.com/drive/1TLumA28dCY-9_lzouIJtt2CsCjONGdNy?usp=sharing",date:"August 2023",link_type:"colab"},{name:"PATENT - CLASSIFICATION OF LUNG CANCER USING DEEP LEARNING TECHNIQUES.",description:"Application No - 202341039647 The model is based on a YOLOv8 (Deep learning Neural network architecture) and is trained on the publicly available dataset, which consists of lung CT scans of patients with and without lung cancer.",tags:[{name:"Gradio",color:"blue-text-gradient"},{name:"YOLO",color:"green-text-gradient"},{name:"Roboflow",color:"pink-text-gradient"}],image:W4,source_code_link:"https://github.com/bedead/lung-cancer-classification-yoloV8---gradio.git",date:"June 2023",link_type:"huggingface"},{name:"Face Detection",description:"'FACE-DETECTOR' is a GitHub repository showcasing an OpenCV project for detecting human faces using a cascade classifier. The project utilizes the OpenCV library, which is a popular computer vision library in Python, to detect human faces in images or video streams.",tags:[{name:"Cascade classifier",color:"blue-text-gradient"},{name:"Python",color:"green-text-gradient"},{name:"OpenCV",color:"pink-text-gradient"}],image:k4,source_code_link:"https://github.com/bedead/FACE-DETECTOR.git",date:"Feb 2023",link_type:"github"},{name:"Life Overseas",description:"Life Overseas is a concept website that aims to provide students with valuable resources and information to successfully clear entrance exams for foreign colleges.",tags:[{name:"Flask",color:"blue-text-gradient"},{name:"Python",color:"green-text-gradient"}],image:V4,source_code_link:"https://github.com/bedead/Life-Overseas-webiste.git",date:"Jan 2023",link_type:"github"},{name:"Velox Todo",description:"Velox Todo is a Windows application built using JavaFX and JSON files. It is a task management tool designed to help users organize and prioritize their daily tasks efficiently.",tags:[{name:"Java",color:"blue-text-gradient"},{name:"JavaFX",color:"green-text-gradient"},{name:"JSON",color:"pink-text-gradient"}],image:H4,source_code_link:"https://github.com/bedead/Velox-Todo-Application.git",date:"Sep 2022",link_type:"github"},{name:"HI",description:"'HI' is a console-based conversational app written in Python. It utilizes various libraries such as pyinstaller, pyjokes, PyDictionary, platform, psutil, requests, getpass, pywhatkit, pyttsx3, speechrecognition, Wikipedia, Pyaudio, speedtest-cli, pyautogui, and py-cpuinfo to provide a wide range of functionalities.",tags:[{name:"Python",color:"blue-text-gradient"},{name:"JSON",color:"green-text-gradient"}],image:B4,source_code_link:"https://github.com/bedead/HI_2021.12.22.4.git",date:"Mar 2022",link_type:"github"},{name:"Lang go",description:"'Lang Go' is a language translation app that is built using the Kivy and KivyMD frameworks in Python. The app utilizes the TextBlob library for translation capabilities. With 'Lang Go', users can input text in one language and translate it to another language seamlessly.",tags:[{name:"Kivy",color:"blue-text-gradient"},{name:"Kivymd",color:"green-text-gradient"},{name:"textBlob",color:"pink-text-gradient"}],image:z4,source_code_link:"https://github.com/bedead/kivymd-language-translation-app.git",date:"Mar 2022",link_type:"github"},{name:"Shape out",description:"'Shape Out' is a 2D platformer game available on Amazon, created using the Godot game engine. The game features intuitive controls, colorful graphics, and engaging gameplay that requires players to jump, run, and solve puzzles to progress through the levels.",tags:[{name:"Godot engine",color:"blue-text-gradient"},{name:"GD-script",color:"green-text-gradient"}],image:F4,source_code_link:"https://www.amazon.com/Bedead-Shape-Out-2d-platformer/dp/B0999LHBYN",date:"Aug 2021",link_type:"appstore"}],cV=[{name:"Basics of Machien Learing",image:Y4},{name:"C++ Course",image:q4},{name:"Making a Webiste",image:Z4},{name:"Java (Basics)",image:K4},{name:"Matlab Onramp",image:J4},{name:"MongoDB Tutorial",image:Q4},{name:"Python (Basics)",image:$4},{name:"Responsive Web Design Course",image:eV},{name:"TensorFlow Python",image:tV}],uV=[{name:"Technical Member | CSI ",image:nV},{name:"Technical Member | MSC",image:iV}],fV=[{name:" Google Cloud Digital Leader",image:rV}],hV="/portfolio-react-threejs/assets/logo-white-f51edd31.webp",dV="data:image/webp;base64,UklGRmQCAABXRUJQVlA4WAoAAAAwAAAAOwAAOwAASUNDUMgBAAAAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADZBTFBIPwAAAAFHoJBtBOime96H8WhEROhZb4CaSFYrLDAowA0OUIAD/DffJB2TJqL/AoIiF6yAJSV4nAc6xy/oOftIb+woAABWUDggLgAAAJADAJ0BKjwAPAA+bTaYSSQjIqEiCACADYlpAAAQN1NQBXiFuQAA/vucwAAAAAA=",pV="data:image/webp;base64,UklGRvwCAABXRUJQVlA4WAoAAAAwAAAALwAALwAASUNDUMgBAAAAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADZBTFBI2wAAAAF3oKCNFDb4bDxgYMkjIgJHTaxUSfkkcBTJtqu8T84gJEpAwheABSQkIVEIq7R9a7KCV9fDr3duIK4j+s/IbSRFteDDwEL9wv2lo6Ml4bmW5Yx2LFuayjlSHbMnX5SSBupihiFD9llir3CgZ1kYDzTJ3kFCU0RWRlZBUkNShavDNYBaiBpKPpEPNHbOBNMwbBnHf5bVaQj8s1jnu6bgL451auP4i+PPNol1WsQ6TerwAhGDOrxvjqoF7FtC0cKefFFKGqiLWcS+ZarsDc4wLgwv+Rt0tC4S948OBwBWUDggKgAAADADAJ0BKjAAMAA+bTaYSKQjIqEjiACADYlpAAAbgb0+DgAA/vucwAAAAA==",ls=n=>({hidden:{y:-50,opacity:0},show:{y:0,opacity:1,transition:{type:"spring",duration:1.25,delay:n}}}),$o=(n,e,t,i)=>({hidden:{x:n==="left"?100:n==="right"?-100:0,y:n==="up"?100:n==="down"?-100:0,opacity:0},show:{x:0,y:0,opacity:1,transition:{type:e,delay:t,duration:i,ease:"easeOut"}}}),mV=(n,e,t,i)=>({hidden:{x:n==="left"?"-100%":n==="right"?"100%":0,y:n==="up"||n==="down"?"100%":0},show:{x:0,y:0,transition:{type:e,delay:t,duration:i,ease:"easeOut"}}}),gV=(n,e)=>({hidden:{},show:{transition:{staggerChildren:n,delayChildren:e||0}}}),Ks=()=>{const[n,e]=V.useState(""),[t,i]=V.useState(!1),[r,s]=V.useState(!1);return z.jsx("nav",{className:`${Xt.paddingX} w-full flex items-center py-5 fixed top-0 z-20 bg-gradient-to-b from-white to-primary`,children:z.jsxs("div",{className:"w-full flex justify-between items-center max-w-7xl mx-auto",children:[z.jsxs(Hv,{to:"/",className:"flex items-center gap-2",onClick:()=>{e(""),window.scrollTo(0,0)},children:[z.jsx("img",{src:hV,className:"w-10 h-10 object-contain",alt:"logo"}),z.jsxs("div",{className:" md:block lg:flex ",children:[z.jsx("p",{className:"text-black text-[18px] flex",children:"Satyam Mishra  "}),z.jsx("span",{className:"text-[18px] sm:block hidden",children:"| Bedead"})]})]}),z.jsxs("ul",{className:"list-none hidden sm:flex flex-row md:gap-4 items-center",children:[gT.map(o=>z.jsx("li",{className:o.type=="tools"?"bg-black text-white hover:text-white-100 hover:bg-secondary py-2 px-3 rounded-xl text-[18px] font-medium cursor-pointer":`${n==o.title?"text-black":"text-secondary"} - hover:text-black hover:underline underline-offset-8 text-[18px] font-medium cursor-pointer`,onClick:()=>{e(o.title),o.type=="tools"&&s(!r)},children:o.type=="tools"?o.title:z.jsxs(Hv,{to:`/${o.id}`,children:[o.title," "]})},o.id))," "]}),z.jsx("div",{className:`${r?"flex":"hidden"} p-6 bg-gradient-to-r from-[#f6f6f6] to-white absolute - top-60 right-40 sm:top-20 sm:right-5 mx-4 my-2 min-w-[140px] z-10 rounded-xl outline`,children:z.jsxs("ul",{className:"list-none flex justify-end items-start flex-col gap-2",children:[sV.map(o=>z.jsx(un.li,{variants:$o("right","spring",.1,.75),className:`${n==o.title?"text-black":"text-secondary"} font-poppins hover:underline underline-offset-8 font-medium cursor-pointer text-[16px] hover:text-black`,onClick:()=>{s(!r),e(o.title),window.open(o.url,"_blank")},children:o.title},o.id))," "]})}),z.jsxs("div",{className:"sm:hidden flex flex-1 justify-end items-center",children:[z.jsx("img",{src:t?pV:dV,alt:"menu",className:"w-[28px] h-[28px] object-contain cursor-pointer",onClick:()=>i(!t)}),z.jsx("div",{className:`${t?"flex":"hidden"} p-6 bg-gradient-to-r from-[#f6f6f6] to-white absolute - top-20 right-0 mx-4 my-2 min-w-[140px] z-10 rounded-xl outline`,children:z.jsxs("ul",{className:"list-none flex justify-end items-start flex-col gap-2",children:[gT.map(o=>z.jsx("li",{className:`${n==o.title?"text-black":"text-secondary"} font-poppins hover:underline underline-offset-8 font-medium cursor-pointer text-[16px] hover:text-black`,onClick:()=>{o.type!="tools"&&i(!t),e(o.title),o.type=="tools"&&s(!r)},children:o.type=="tools"?o.title:z.jsxs(Hv,{to:`/${o.id}`,children:[o.title," "]})},o.id))," "]})})]})]})})},Js=(n,e)=>function(){return z.jsxs(un.section,{variants:gV(),initial:"hidden",whileInView:"show",viewport:{once:!0,amount:0},exit:"hidden",className:`${Xt.padding} max-w-7xl mx-auto relative z-0`,children:[z.jsx("span",{className:"hash-span",id:e,children:" "}),z.jsx(n,{})]})},vV=()=>{const n="Hi, I'm Satyam";return z.jsxs("section",{className:"relative w-full h-screen mx-auto overflow-hidden",children:[z.jsxs("div",{className:`${Xt.paddingX} flex absolute z-10 inset-0 top-[120px] items-start gap-5`,children:[z.jsxs("div",{className:"flex flex-col justify-center items-center mt-5",children:[z.jsx("div",{className:"w-5 h-5 rounded-full bg-[#373737] "}),z.jsx("div",{className:"w-1 sm:h-80 h-40 violet-gradient"})]}),z.jsxs("div",{children:[z.jsx(un.h1,{variants:ls(0),className:`${Xt.heroHeadText} funky-text-outline-2 `,children:n}),z.jsxs(un.div,{variants:$o("","",.1,1),children:[z.jsx("p",{className:`${Xt.heroSubText} funky-text-outline mt-2 text-black-100`,children:"I'm a computer science student with simple and dumb mind."}),z.jsx("p",{className:`${Xt.sectionSubText} mt-2 text-gray-600`,children:"This is just a website showcasing some of my works and experiments. Have a look untill you get bored 🥱"})]})]})]}),z.jsx("div",{className:"absolute z-10 xs:bottom-15 bottom-32 w-full flex justify-center items-center",children:z.jsx("a",{href:"#about",children:z.jsx("div",{className:"w-[35px] h-[64px] rounded-3xl border-4 border-[#373737] flex justify-center items-start p-2 ",children:z.jsx(un.div,{animate:{y:[0,24,0]},transition:{duration:1.5,repeat:1/0,repeatType:"loop"},className:"w-3 h-3 rounded-full bg-secondary mb-2"})})})})]})},yV=Js(vV,"Hero");var xV=Object.defineProperty,_V=Object.defineProperties,SV=Object.getOwnPropertyDescriptors,vT=Object.getOwnPropertySymbols,AV=Object.prototype.hasOwnProperty,MV=Object.prototype.propertyIsEnumerable,yT=(n,e,t)=>e in n?xV(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Du=(n,e)=>{for(var t in e||(e={}))AV.call(e,t)&&yT(n,t,e[t]);if(vT)for(var t of vT(e))MV.call(e,t)&&yT(n,t,e[t]);return n},Nu=(n,e)=>_V(n,SV(e)),Rg=class extends V.Component{constructor(n){super(n),this.ref=hh.createRef(),this.state={style:{}};const e={reverse:!1,max:35,perspective:1e3,easing:"cubic-bezier(.03,.98,.52,.99)",scale:"1.1",speed:"1000",transition:!0,axis:null,reset:!0};this.width=null,this.height=null,this.left=null,this.top=null,this.transitionTimeout=null,this.updateCall=null,this.element=null,this.settings=Object.assign({},e,this.props.options),this.reverse=this.settings.reverse?-1:1,this.onMouseEnter=this.onMouseEnter.bind(this,this.props.onMouseEnter),this.onMouseMove=this.onMouseMove.bind(this,this.props.onMouseMove),this.onMouseLeave=this.onMouseLeave.bind(this,this.props.onMouseLeave)}componentDidMount(){this.element=this.ref.current,setTimeout(()=>{this.element.parentElement.querySelector(":hover")===this.element&&this.onMouseEnter()},0)}componentWillUnmount(){clearTimeout(this.transitionTimeout),cancelAnimationFrame(this.updateCall)}onMouseEnter(n=()=>{},e){return this.updateElementPosition(),this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{willChange:"transform"})})),this.setTransition(),n(e)}reset(){window.requestAnimationFrame(()=>{this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{transform:`perspective(${this.settings.perspective}px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`})}))})}onMouseMove(n=()=>{},e){return e.persist(),this.updateCall!==null&&window.cancelAnimationFrame(this.updateCall),this.event=e,this.updateCall=requestAnimationFrame(this.update.bind(this,e)),n(e)}setTransition(){clearTimeout(this.transitionTimeout),this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{transition:`${this.settings.speed}ms ${this.settings.easing}`})})),this.transitionTimeout=setTimeout(()=>{this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{transition:""})}))},this.settings.speed)}onMouseLeave(n=()=>{},e){return this.setTransition(),this.settings.reset&&this.reset(),n(e)}getValues(n){const e=(n.nativeEvent.clientX-this.left)/this.width,t=(n.nativeEvent.clientY-this.top)/this.height,i=Math.min(Math.max(e,0),1),r=Math.min(Math.max(t,0),1),s=(this.reverse*(this.settings.max/2-i*this.settings.max)).toFixed(2),o=(this.reverse*(r*this.settings.max-this.settings.max/2)).toFixed(2),a=i*100,l=r*100;return{tiltX:s,tiltY:o,percentageX:a,percentageY:l}}updateElementPosition(){const n=this.element.getBoundingClientRect();this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.left=n.left,this.top=n.top}update(n){const e=this.getValues(n);this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{transform:`perspective(${this.settings.perspective}px) rotateX(${this.settings.axis==="x"?0:e.tiltY}deg) rotateY(${this.settings.axis==="y"?0:e.tiltX}deg) scale3d(${this.settings.scale}, ${this.settings.scale}, ${this.settings.scale})`})})),this.updateCall=null}render(){const n=Object.assign({},this.props.style,this.state.style);return z.jsx("div",{style:n,ref:this.ref,className:this.props.className,onMouseEnter:this.onMouseEnter,onMouseMove:this.onMouseMove,onMouseLeave:this.onMouseLeave,children:this.props.children})}};const wV=({index:n,title:e,icon:t})=>z.jsx(Rg,{className:"xs:w-[250px] w-full ",children:z.jsx(un.div,{variants:$o("right","spring",.5*n,.75),className:" w-full green-pink-gradient p-[1px] rounded-[20px] shadow-[#fcd4d4] shadow-card ",children:z.jsxs("div",{options:{max:45,scale:1,speed:450},className:"bg-primary rounded-[20px] py-5 px-12 min-h-[280px] flex justify-evenly items-center flex-col ",children:[z.jsx("img",{src:t,alt:e,className:"w-16 h-16 object-contain"}),z.jsxs("h3",{className:"text-black text-[20px] font-bold text-center ",children:[e," "]})]})})}),EV=()=>z.jsxs(z.Fragment,{children:[z.jsxs(un.div,{variants:ls(0),children:[z.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Overview."}),z.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"Introduction?"})]}),z.jsx(un.p,{variants:$o("","",.1,1),className:"mt-4 text-secondary text-center text-[17px] max-w-full leading-[30px] ",children:"I am a full stack web developer, graphic designer, and machine learning enthusiast. I have experience in creating dynamic and responsive websites using HTML, CSS, JavaScript, and other frameworks. I also have a passion for designing graphics that are eye-catching and appealing. I am always eager to learn new skills and technologies in the field of machine learning and deep learning. I have completed several projects and courses on various topics such as computer vision, and natural language processing."}),z.jsxs("div",{className:"mt-20 flex flex-wrap justify-center gap-10",children:[oV.map((n,e)=>z.jsx(wV,{index:e,...n},n.title))," "]})]}),TV=Js(EV,"about");var Lg={},cL={exports:{}},bV="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",CV=bV,PV=CV;function uL(){}function fL(){}fL.resetWarningCache=uL;var RV=function(){function n(i,r,s,o,a,l){if(l!==PV){var f=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw f.name="Invariant Violation",f}}n.isRequired=n;function e(){return n}var t={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:e,element:n,elementType:n,instanceOf:e,node:n,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:fL,resetWarningCache:uL};return t.PropTypes=t,t};cL.exports=RV();var hL=cL.exports,dL={exports:{}};/*! + */function Gx(){return Gx=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0)&&(t[r]=n[r]);return t}function dF(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function pF(n,e){return n.button===0&&(!e||e==="_self")&&!dF(n)}const mF=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],gF="startTransition",cE=uN[gF];function vF(n){let{basename:e,children:t,future:i,window:r}=n,s=z.useRef();s.current==null&&(s.current=SO({window:r,v5Compat:!0}));let o=s.current,[a,l]=z.useState({action:o.action,location:o.location}),{v7_startTransition:f}=i||{},h=z.useCallback(d=>{f&&cE?cE(()=>l(d)):l(d)},[l,f]);return z.useLayoutEffect(()=>o.listen(h),[o,h]),z.createElement(uF,{basename:e,children:t,location:a.location,navigationType:a.action,navigator:o,future:i})}const yF=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",xF=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Hv=z.forwardRef(function(e,t){let{onClick:i,relative:r,reloadDocument:s,replace:o,state:a,target:l,to:f,preventScrollReset:h,unstable_viewTransition:d}=e,p=hF(e,mF),{basename:m}=z.useContext(ol),y,A=!1;if(typeof f=="string"&&xF.test(f)&&(y=f,yF))try{let S=new URL(window.location.href),E=f.startsWith("//")?new URL(S.protocol+f):new URL(f),P=JS(E.pathname,m);E.origin===S.origin&&P!=null?f=P+E.search+E.hash:A=!0}catch{}let x=qO(f,{relative:r}),g=_F(f,{replace:o,state:a,target:l,preventScrollReset:h,relative:r,unstable_viewTransition:d});function _(S){i&&i(S),S.defaultPrevented||g(S)}return z.createElement("a",Gx({},p,{href:y||x,onClick:A||s?i:_,ref:t,target:l}))});var uE;(function(n){n.UseScrollRestoration="useScrollRestoration",n.UseSubmit="useSubmit",n.UseSubmitFetcher="useSubmitFetcher",n.UseFetcher="useFetcher",n.useViewTransitionState="useViewTransitionState"})(uE||(uE={}));var fE;(function(n){n.UseFetcher="useFetcher",n.UseFetchers="useFetchers",n.UseScrollRestoration="useScrollRestoration"})(fE||(fE={}));function _F(n,e){let{target:t,replace:i,state:r,preventScrollReset:s,relative:o,unstable_viewTransition:a}=e===void 0?{}:e,l=ZO(),f=Ag(),h=BR(n,{relative:o});return z.useCallback(d=>{if(pF(d,t)){d.preventDefault();let p=i!==void 0?i:zm(f)===zm(h);l(n,{replace:p,state:r,preventScrollReset:s,relative:o,unstable_viewTransition:a})}},[f,l,h,i,r,t,n,s,o,a])}const yh="/portfolio-react-threejs/assets/anim-bg-41fcb528.gif",HR=z.createContext({transformPagePoint:n=>n,isStatic:!1,reducedMotion:"never"}),Mg=z.createContext({}),$S=z.createContext(null),wg=typeof document<"u",SF=wg?z.useLayoutEffect:z.useEffect,GR=z.createContext({strict:!1}),e1=n=>n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),AF="framerAppearId",WR="data-"+e1(AF);function MF(n,e,t,i){const{visualElement:r}=z.useContext(Mg),s=z.useContext(GR),o=z.useContext($S),a=z.useContext(HR).reducedMotion,l=z.useRef();i=i||s.renderer,!l.current&&i&&(l.current=i(n,{visualState:e,parent:r,props:t,presenceContext:o,blockInitialAnimation:o?o.initial===!1:!1,reducedMotionConfig:a}));const f=l.current;z.useInsertionEffect(()=>{f&&f.update(t,o)});const h=z.useRef(!!(t[WR]&&!window.HandoffComplete));return SF(()=>{f&&(f.render(),h.current&&f.animationState&&f.animationState.animateChanges())}),z.useEffect(()=>{f&&(f.updateFeatures(),!h.current&&f.animationState&&f.animationState.animateChanges(),h.current&&(h.current=!1,window.HandoffComplete=!0))}),f}function mc(n){return typeof n=="object"&&Object.prototype.hasOwnProperty.call(n,"current")}function wF(n,e,t){return z.useCallback(i=>{i&&n.mount&&n.mount(i),e&&(i?e.mount(i):e.unmount()),t&&(typeof t=="function"?t(i):mc(t)&&(t.current=i))},[e])}function zf(n){return typeof n=="string"||Array.isArray(n)}function Eg(n){return typeof n=="object"&&typeof n.start=="function"}const t1=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],n1=["initial",...t1];function Tg(n){return Eg(n.animate)||n1.some(e=>zf(n[e]))}function jR(n){return!!(Tg(n)||n.variants)}function EF(n,e){if(Tg(n)){const{initial:t,animate:i}=n;return{initial:t===!1||zf(t)?t:void 0,animate:zf(i)?i:void 0}}return n.inherit!==!1?e:{}}function TF(n){const{initial:e,animate:t}=EF(n,z.useContext(Mg));return z.useMemo(()=>({initial:e,animate:t}),[hE(e),hE(t)])}function hE(n){return Array.isArray(n)?n.join(" "):n}const dE={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Vf={};for(const n in dE)Vf[n]={isEnabled:e=>dE[n].some(t=>!!e[t])};function bF(n){for(const e in n)Vf[e]={...Vf[e],...n[e]}}const XR=z.createContext({}),YR=z.createContext({}),CF=Symbol.for("motionComponentSymbol");function PF({preloadedFeatures:n,createVisualElement:e,useRender:t,useVisualState:i,Component:r}){n&&bF(n);function s(a,l){let f;const h={...z.useContext(HR),...a,layoutId:RF(a)},{isStatic:d}=h,p=TF(a),m=i(a,d);if(!d&&wg){p.visualElement=MF(r,m,h,e);const y=z.useContext(YR),A=z.useContext(GR).strict;p.visualElement&&(f=p.visualElement.loadFeatures(h,A,n,y))}return z.createElement(Mg.Provider,{value:p},f&&p.visualElement?z.createElement(f,{visualElement:p.visualElement,...h}):null,t(r,a,wF(m,p.visualElement,l),m,d,p.visualElement))}const o=z.forwardRef(s);return o[CF]=r,o}function RF({layoutId:n}){const e=z.useContext(XR).id;return e&&n!==void 0?e+"-"+n:n}function LF(n){function e(i,r={}){return PF(n(i,r))}if(typeof Proxy>"u")return e;const t=new Map;return new Proxy(e,{get:(i,r)=>(t.has(r)||t.set(r,e(r)),t.get(r))})}const IF=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function i1(n){return typeof n!="string"||n.includes("-")?!1:!!(IF.indexOf(n)>-1||/[A-Z]/.test(n))}const Hm={};function DF(n){Object.assign(Hm,n)}const xh=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],ll=new Set(xh);function qR(n,{layout:e,layoutId:t}){return ll.has(n)||n.startsWith("origin")||(e||t!==void 0)&&(!!Hm[n]||n==="opacity")}const Bi=n=>!!(n&&n.getVelocity),NF={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},UF=xh.length;function OF(n,{enableHardwareAcceleration:e=!0,allowTransformNone:t=!0},i,r){let s="";for(let o=0;oe=>typeof e=="string"&&e.startsWith(n),KR=ZR("--"),Wx=ZR("var(--"),FF=/var\s*\(\s*--[\w-]+(\s*,\s*(?:(?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)+)?\s*\)/g,kF=(n,e)=>e&&typeof n=="number"?e.transform(n):n,Wo=(n,e,t)=>Math.min(Math.max(t,n),e),cl={test:n=>typeof n=="number",parse:parseFloat,transform:n=>n},ff={...cl,transform:n=>Wo(0,1,n)},qd={...cl,default:1},hf=n=>Math.round(n*1e5)/1e5,bg=/(-)?([\d]*\.?[\d])+/g,JR=/(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,BF=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function _h(n){return typeof n=="string"}const Sh=n=>({test:e=>_h(e)&&e.endsWith(n)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${n}`}),yo=Sh("deg"),as=Sh("%"),ct=Sh("px"),zF=Sh("vh"),VF=Sh("vw"),pE={...as,parse:n=>as.parse(n)/100,transform:n=>as.transform(n*100)},mE={...cl,transform:Math.round},QR={borderWidth:ct,borderTopWidth:ct,borderRightWidth:ct,borderBottomWidth:ct,borderLeftWidth:ct,borderRadius:ct,radius:ct,borderTopLeftRadius:ct,borderTopRightRadius:ct,borderBottomRightRadius:ct,borderBottomLeftRadius:ct,width:ct,maxWidth:ct,height:ct,maxHeight:ct,size:ct,top:ct,right:ct,bottom:ct,left:ct,padding:ct,paddingTop:ct,paddingRight:ct,paddingBottom:ct,paddingLeft:ct,margin:ct,marginTop:ct,marginRight:ct,marginBottom:ct,marginLeft:ct,rotate:yo,rotateX:yo,rotateY:yo,rotateZ:yo,scale:qd,scaleX:qd,scaleY:qd,scaleZ:qd,skew:yo,skewX:yo,skewY:yo,distance:ct,translateX:ct,translateY:ct,translateZ:ct,x:ct,y:ct,z:ct,perspective:ct,transformPerspective:ct,opacity:ff,originX:pE,originY:pE,originZ:ct,zIndex:mE,fillOpacity:ff,strokeOpacity:ff,numOctaves:mE};function r1(n,e,t,i){const{style:r,vars:s,transform:o,transformOrigin:a}=n;let l=!1,f=!1,h=!0;for(const d in e){const p=e[d];if(KR(d)){s[d]=p;continue}const m=QR[d],y=kF(p,m);if(ll.has(d)){if(l=!0,o[d]=y,!h)continue;p!==(m.default||0)&&(h=!1)}else d.startsWith("origin")?(f=!0,a[d]=y):r[d]=y}if(e.transform||(l||i?r.transform=OF(n.transform,t,h,i):r.transform&&(r.transform="none")),f){const{originX:d="50%",originY:p="50%",originZ:m=0}=a;r.transformOrigin=`${d} ${p} ${m}`}}const s1=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function $R(n,e,t){for(const i in e)!Bi(e[i])&&!qR(i,t)&&(n[i]=e[i])}function HF({transformTemplate:n},e,t){return z.useMemo(()=>{const i=s1();return r1(i,e,{enableHardwareAcceleration:!t},n),Object.assign({},i.vars,i.style)},[e])}function GF(n,e,t){const i=n.style||{},r={};return $R(r,i,n),Object.assign(r,HF(n,e,t)),n.transformValues?n.transformValues(r):r}function WF(n,e,t){const i={},r=GF(n,e,t);return n.drag&&n.dragListener!==!1&&(i.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=n.drag===!0?"none":`pan-${n.drag==="x"?"y":"x"}`),n.tabIndex===void 0&&(n.onTap||n.onTapStart||n.whileTap)&&(i.tabIndex=0),i.style=r,i}const jF=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","ignoreStrict","viewport"]);function Gm(n){return n.startsWith("while")||n.startsWith("drag")&&n!=="draggable"||n.startsWith("layout")||n.startsWith("onTap")||n.startsWith("onPan")||jF.has(n)}let e2=n=>!Gm(n);function XF(n){n&&(e2=e=>e.startsWith("on")?!Gm(e):n(e))}try{XF(require("@emotion/is-prop-valid").default)}catch{}function YF(n,e,t){const i={};for(const r in n)r==="values"&&typeof n.values=="object"||(e2(r)||t===!0&&Gm(r)||!e&&!Gm(r)||n.draggable&&r.startsWith("onDrag"))&&(i[r]=n[r]);return i}function gE(n,e,t){return typeof n=="string"?n:ct.transform(e+t*n)}function qF(n,e,t){const i=gE(e,n.x,n.width),r=gE(t,n.y,n.height);return`${i} ${r}`}const ZF={offset:"stroke-dashoffset",array:"stroke-dasharray"},KF={offset:"strokeDashoffset",array:"strokeDasharray"};function JF(n,e,t=1,i=0,r=!0){n.pathLength=1;const s=r?ZF:KF;n[s.offset]=ct.transform(-i);const o=ct.transform(e),a=ct.transform(t);n[s.array]=`${o} ${a}`}function o1(n,{attrX:e,attrY:t,attrScale:i,originX:r,originY:s,pathLength:o,pathSpacing:a=1,pathOffset:l=0,...f},h,d,p){if(r1(n,f,h,p),d){n.style.viewBox&&(n.attrs.viewBox=n.style.viewBox);return}n.attrs=n.style,n.style={};const{attrs:m,style:y,dimensions:A}=n;m.transform&&(A&&(y.transform=m.transform),delete m.transform),A&&(r!==void 0||s!==void 0||y.transform)&&(y.transformOrigin=qF(A,r!==void 0?r:.5,s!==void 0?s:.5)),e!==void 0&&(m.x=e),t!==void 0&&(m.y=t),i!==void 0&&(m.scale=i),o!==void 0&&JF(m,o,a,l,!1)}const t2=()=>({...s1(),attrs:{}}),a1=n=>typeof n=="string"&&n.toLowerCase()==="svg";function QF(n,e,t,i){const r=z.useMemo(()=>{const s=t2();return o1(s,e,{enableHardwareAcceleration:!1},a1(i),n.transformTemplate),{...s.attrs,style:{...s.style}}},[e]);if(n.style){const s={};$R(s,n.style,n),r.style={...s,...r.style}}return r}function $F(n=!1){return(t,i,r,{latestValues:s},o)=>{const l=(i1(t)?QF:WF)(i,s,o,t),h={...YF(i,typeof t=="string",n),...l,ref:r},{children:d}=i,p=z.useMemo(()=>Bi(d)?d.get():d,[d]);return z.createElement(t,{...h,children:p})}}function n2(n,{style:e,vars:t},i,r){Object.assign(n.style,e,r&&r.getProjectionStyles(i));for(const s in t)n.style.setProperty(s,t[s])}const i2=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function r2(n,e,t,i){n2(n,e,void 0,i);for(const r in e.attrs)n.setAttribute(i2.has(r)?r:e1(r),e.attrs[r])}function l1(n,e){const{style:t}=n,i={};for(const r in t)(Bi(t[r])||e.style&&Bi(e.style[r])||qR(r,n))&&(i[r]=t[r]);return i}function s2(n,e){const t=l1(n,e);for(const i in n)if(Bi(n[i])||Bi(e[i])){const r=xh.indexOf(i)!==-1?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i;t[r]=n[i]}return t}function c1(n,e,t,i={},r={}){return typeof e=="function"&&(e=e(t!==void 0?t:n.custom,i,r)),typeof e=="string"&&(e=n.variants&&n.variants[e]),typeof e=="function"&&(e=e(t!==void 0?t:n.custom,i,r)),e}function ek(n){const e=z.useRef(null);return e.current===null&&(e.current=n()),e.current}const Wm=n=>Array.isArray(n),tk=n=>!!(n&&typeof n=="object"&&n.mix&&n.toValue),nk=n=>Wm(n)?n[n.length-1]||0:n;function am(n){const e=Bi(n)?n.get():n;return tk(e)?e.toValue():e}function ik({scrapeMotionValuesFromProps:n,createRenderState:e,onMount:t},i,r,s){const o={latestValues:rk(i,r,s,n),renderState:e()};return t&&(o.mount=a=>t(i,a,o)),o}const o2=n=>(e,t)=>{const i=z.useContext(Mg),r=z.useContext($S),s=()=>ik(n,e,i,r);return t?s():ek(s)};function rk(n,e,t,i){const r={},s=i(n,{});for(const p in s)r[p]=am(s[p]);let{initial:o,animate:a}=n;const l=Tg(n),f=jR(n);e&&f&&!l&&n.inherit!==!1&&(o===void 0&&(o=e.initial),a===void 0&&(a=e.animate));let h=t?t.initial===!1:!1;h=h||o===!1;const d=h?a:o;return d&&typeof d!="boolean"&&!Eg(d)&&(Array.isArray(d)?d:[d]).forEach(m=>{const y=c1(n,m);if(!y)return;const{transitionEnd:A,transition:x,...g}=y;for(const _ in g){let S=g[_];if(Array.isArray(S)){const E=h?S.length-1:0;S=S[E]}S!==null&&(r[_]=S)}for(const _ in A)r[_]=A[_]}),r}const gn=n=>n;class vE{constructor(){this.order=[],this.scheduled=new Set}add(e){if(!this.scheduled.has(e))return this.scheduled.add(e),this.order.push(e),!0}remove(e){const t=this.order.indexOf(e);t!==-1&&(this.order.splice(t,1),this.scheduled.delete(e))}clear(){this.order.length=0,this.scheduled.clear()}}function sk(n){let e=new vE,t=new vE,i=0,r=!1,s=!1;const o=new WeakSet,a={schedule:(l,f=!1,h=!1)=>{const d=h&&r,p=d?e:t;return f&&o.add(l),p.add(l)&&d&&r&&(i=e.order.length),l},cancel:l=>{t.remove(l),o.delete(l)},process:l=>{if(r){s=!0;return}if(r=!0,[e,t]=[t,e],t.clear(),i=e.order.length,i)for(let f=0;f(d[p]=sk(()=>t=!0),d),{}),o=d=>s[d].process(r),a=()=>{const d=performance.now();t=!1,r.delta=i?1e3/60:Math.max(Math.min(d-r.timestamp,ok),1),r.timestamp=d,r.isProcessing=!0,Zd.forEach(o),r.isProcessing=!1,t&&e&&(i=!1,n(a))},l=()=>{t=!0,i=!0,r.isProcessing||n(a)};return{schedule:Zd.reduce((d,p)=>{const m=s[p];return d[p]=(y,A=!1,x=!1)=>(t||l(),m.schedule(y,A,x)),d},{}),cancel:d=>Zd.forEach(p=>s[p].cancel(d)),state:r,steps:s}}const{schedule:Jt,cancel:js,state:ci,steps:Gv}=ak(typeof requestAnimationFrame<"u"?requestAnimationFrame:gn,!0),lk={useVisualState:o2({scrapeMotionValuesFromProps:s2,createRenderState:t2,onMount:(n,e,{renderState:t,latestValues:i})=>{Jt.read(()=>{try{t.dimensions=typeof e.getBBox=="function"?e.getBBox():e.getBoundingClientRect()}catch{t.dimensions={x:0,y:0,width:0,height:0}}}),Jt.render(()=>{o1(t,i,{enableHardwareAcceleration:!1},a1(e.tagName),n.transformTemplate),r2(e,t)})}})},ck={useVisualState:o2({scrapeMotionValuesFromProps:l1,createRenderState:s1})};function uk(n,{forwardMotionProps:e=!1},t,i){return{...i1(n)?lk:ck,preloadedFeatures:t,useRender:$F(e),createVisualElement:i,Component:n}}function Ns(n,e,t,i={passive:!0}){return n.addEventListener(e,t,i),()=>n.removeEventListener(e,t)}const a2=n=>n.pointerType==="mouse"?typeof n.button!="number"||n.button<=0:n.isPrimary!==!1;function Cg(n,e="page"){return{point:{x:n[e+"X"],y:n[e+"Y"]}}}const fk=n=>e=>a2(e)&&n(e,Cg(e));function ks(n,e,t,i){return Ns(n,e,fk(t),i)}const hk=(n,e)=>t=>e(n(t)),Fo=(...n)=>n.reduce(hk);function l2(n){let e=null;return()=>{const t=()=>{e=null};return e===null?(e=n,t):!1}}const yE=l2("dragHorizontal"),xE=l2("dragVertical");function c2(n){let e=!1;if(n==="y")e=xE();else if(n==="x")e=yE();else{const t=yE(),i=xE();t&&i?e=()=>{t(),i()}:(t&&t(),i&&i())}return e}function u2(){const n=c2(!0);return n?(n(),!1):!0}class Qo{constructor(e){this.isMounted=!1,this.node=e}update(){}}function _E(n,e){const t="pointer"+(e?"enter":"leave"),i="onHover"+(e?"Start":"End"),r=(s,o)=>{if(s.type==="touch"||u2())return;const a=n.getProps();n.animationState&&a.whileHover&&n.animationState.setActive("whileHover",e),a[i]&&Jt.update(()=>a[i](s,o))};return ks(n.current,t,r,{passive:!n.getProps()[i]})}class dk extends Qo{mount(){this.unmount=Fo(_E(this.node,!0),_E(this.node,!1))}unmount(){}}class pk extends Qo{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(":focus-visible")}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=Fo(Ns(this.node.current,"focus",()=>this.onFocus()),Ns(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}const f2=(n,e)=>e?n===e?!0:f2(n,e.parentElement):!1;function Wv(n,e){if(!e)return;const t=new PointerEvent("pointer"+n);e(t,Cg(t))}class mk extends Qo{constructor(){super(...arguments),this.removeStartListeners=gn,this.removeEndListeners=gn,this.removeAccessibleListeners=gn,this.startPointerPress=(e,t)=>{if(this.removeEndListeners(),this.isPressing)return;const i=this.node.getProps(),s=ks(window,"pointerup",(a,l)=>{if(!this.checkPressEnd())return;const{onTap:f,onTapCancel:h}=this.node.getProps();Jt.update(()=>{f2(this.node.current,a.target)?f&&f(a,l):h&&h(a,l)})},{passive:!(i.onTap||i.onPointerUp)}),o=ks(window,"pointercancel",(a,l)=>this.cancelPress(a,l),{passive:!(i.onTapCancel||i.onPointerCancel)});this.removeEndListeners=Fo(s,o),this.startPress(e,t)},this.startAccessiblePress=()=>{const e=s=>{if(s.key!=="Enter"||this.isPressing)return;const o=a=>{a.key!=="Enter"||!this.checkPressEnd()||Wv("up",(l,f)=>{const{onTap:h}=this.node.getProps();h&&Jt.update(()=>h(l,f))})};this.removeEndListeners(),this.removeEndListeners=Ns(this.node.current,"keyup",o),Wv("down",(a,l)=>{this.startPress(a,l)})},t=Ns(this.node.current,"keydown",e),i=()=>{this.isPressing&&Wv("cancel",(s,o)=>this.cancelPress(s,o))},r=Ns(this.node.current,"blur",i);this.removeAccessibleListeners=Fo(t,r)}}startPress(e,t){this.isPressing=!0;const{onTapStart:i,whileTap:r}=this.node.getProps();r&&this.node.animationState&&this.node.animationState.setActive("whileTap",!0),i&&Jt.update(()=>i(e,t))}checkPressEnd(){return this.removeEndListeners(),this.isPressing=!1,this.node.getProps().whileTap&&this.node.animationState&&this.node.animationState.setActive("whileTap",!1),!u2()}cancelPress(e,t){if(!this.checkPressEnd())return;const{onTapCancel:i}=this.node.getProps();i&&Jt.update(()=>i(e,t))}mount(){const e=this.node.getProps(),t=ks(this.node.current,"pointerdown",this.startPointerPress,{passive:!(e.onTapStart||e.onPointerStart)}),i=Ns(this.node.current,"focus",this.startAccessiblePress);this.removeStartListeners=Fo(t,i)}unmount(){this.removeStartListeners(),this.removeEndListeners(),this.removeAccessibleListeners()}}const jx=new WeakMap,jv=new WeakMap,gk=n=>{const e=jx.get(n.target);e&&e(n)},vk=n=>{n.forEach(gk)};function yk({root:n,...e}){const t=n||document;jv.has(t)||jv.set(t,{});const i=jv.get(t),r=JSON.stringify(e);return i[r]||(i[r]=new IntersectionObserver(vk,{root:n,...e})),i[r]}function xk(n,e,t){const i=yk(e);return jx.set(n,t),i.observe(n),()=>{jx.delete(n),i.unobserve(n)}}const _k={some:0,all:1};class Sk extends Qo{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:e={}}=this.node.getProps(),{root:t,margin:i,amount:r="some",once:s}=e,o={root:t?t.current:void 0,rootMargin:i,threshold:typeof r=="number"?r:_k[r]},a=l=>{const{isIntersecting:f}=l;if(this.isInView===f||(this.isInView=f,s&&!f&&this.hasEnteredView))return;f&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",f);const{onViewportEnter:h,onViewportLeave:d}=this.node.getProps(),p=f?h:d;p&&p(l)};return xk(this.node.current,o,a)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:e,prevProps:t}=this.node;["amount","margin","root"].some(Ak(e,t))&&this.startObserver()}unmount(){}}function Ak({viewport:n={}},{viewport:e={}}={}){return t=>n[t]!==e[t]}const Mk={inView:{Feature:Sk},tap:{Feature:mk},focus:{Feature:pk},hover:{Feature:dk}};function h2(n,e){if(!Array.isArray(e))return!1;const t=e.length;if(t!==n.length)return!1;for(let i=0;ie[i]=t.get()),e}function Ek(n){const e={};return n.values.forEach((t,i)=>e[i]=t.getVelocity()),e}function Pg(n,e,t){const i=n.getProps();return c1(i,e,t!==void 0?t:i.custom,wk(n),Ek(n))}let Tk=gn,u1=gn;const ko=n=>n*1e3,Bs=n=>n/1e3,bk={current:!1},d2=n=>Array.isArray(n)&&typeof n[0]=="number";function p2(n){return!!(!n||typeof n=="string"&&m2[n]||d2(n)||Array.isArray(n)&&n.every(p2))}const $u=([n,e,t,i])=>`cubic-bezier(${n}, ${e}, ${t}, ${i})`,m2={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:$u([0,.65,.55,1]),circOut:$u([.55,0,1,.45]),backIn:$u([.31,.01,.66,-.59]),backOut:$u([.33,1.53,.69,.99])};function g2(n){if(n)return d2(n)?$u(n):Array.isArray(n)?n.map(g2):m2[n]}function Ck(n,e,t,{delay:i=0,duration:r,repeat:s=0,repeatType:o="loop",ease:a,times:l}={}){const f={[e]:t};l&&(f.offset=l);const h=g2(a);return Array.isArray(h)&&(f.easing=h),n.animate(f,{delay:i,duration:r,easing:Array.isArray(h)?"linear":h,fill:"both",iterations:s+1,direction:o==="reverse"?"alternate":"normal"})}function Pk(n,{repeat:e,repeatType:t="loop"}){const i=e&&t!=="loop"&&e%2===1?0:n.length-1;return n[i]}const v2=(n,e,t)=>(((1-3*t+3*e)*n+(3*t-6*e))*n+3*e)*n,Rk=1e-7,Lk=12;function Ik(n,e,t,i,r){let s,o,a=0;do o=e+(t-e)/2,s=v2(o,i,r)-n,s>0?t=o:e=o;while(Math.abs(s)>Rk&&++aIk(s,0,1,n,t);return s=>s===0||s===1?s:v2(r(s),e,i)}const Dk=Ah(.42,0,1,1),Nk=Ah(0,0,.58,1),y2=Ah(.42,0,.58,1),Uk=n=>Array.isArray(n)&&typeof n[0]!="number",x2=n=>e=>e<=.5?n(2*e)/2:(2-n(2*(1-e)))/2,_2=n=>e=>1-n(1-e),f1=n=>1-Math.sin(Math.acos(n)),S2=_2(f1),Ok=x2(f1),A2=Ah(.33,1.53,.69,.99),h1=_2(A2),Fk=x2(h1),kk=n=>(n*=2)<1?.5*h1(n):.5*(2-Math.pow(2,-10*(n-1))),Bk={linear:gn,easeIn:Dk,easeInOut:y2,easeOut:Nk,circIn:f1,circInOut:Ok,circOut:S2,backIn:h1,backInOut:Fk,backOut:A2,anticipate:kk},SE=n=>{if(Array.isArray(n)){u1(n.length===4);const[e,t,i,r]=n;return Ah(e,t,i,r)}else if(typeof n=="string")return Bk[n];return n},d1=(n,e)=>t=>!!(_h(t)&&BF.test(t)&&t.startsWith(n)||e&&Object.prototype.hasOwnProperty.call(t,e)),M2=(n,e,t)=>i=>{if(!_h(i))return i;const[r,s,o,a]=i.match(bg);return{[n]:parseFloat(r),[e]:parseFloat(s),[t]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}},zk=n=>Wo(0,255,n),Xv={...cl,transform:n=>Math.round(zk(n))},Oa={test:d1("rgb","red"),parse:M2("red","green","blue"),transform:({red:n,green:e,blue:t,alpha:i=1})=>"rgba("+Xv.transform(n)+", "+Xv.transform(e)+", "+Xv.transform(t)+", "+hf(ff.transform(i))+")"};function Vk(n){let e="",t="",i="",r="";return n.length>5?(e=n.substring(1,3),t=n.substring(3,5),i=n.substring(5,7),r=n.substring(7,9)):(e=n.substring(1,2),t=n.substring(2,3),i=n.substring(3,4),r=n.substring(4,5),e+=e,t+=t,i+=i,r+=r),{red:parseInt(e,16),green:parseInt(t,16),blue:parseInt(i,16),alpha:r?parseInt(r,16)/255:1}}const Xx={test:d1("#"),parse:Vk,transform:Oa.transform},gc={test:d1("hsl","hue"),parse:M2("hue","saturation","lightness"),transform:({hue:n,saturation:e,lightness:t,alpha:i=1})=>"hsla("+Math.round(n)+", "+as.transform(hf(e))+", "+as.transform(hf(t))+", "+hf(ff.transform(i))+")"},xi={test:n=>Oa.test(n)||Xx.test(n)||gc.test(n),parse:n=>Oa.test(n)?Oa.parse(n):gc.test(n)?gc.parse(n):Xx.parse(n),transform:n=>_h(n)?n:n.hasOwnProperty("red")?Oa.transform(n):gc.transform(n)},an=(n,e,t)=>-t*n+t*e+n;function Yv(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*(2/3-t)*6:n}function Hk({hue:n,saturation:e,lightness:t,alpha:i}){n/=360,e/=100,t/=100;let r=0,s=0,o=0;if(!e)r=s=o=t;else{const a=t<.5?t*(1+e):t+e-t*e,l=2*t-a;r=Yv(l,a,n+1/3),s=Yv(l,a,n),o=Yv(l,a,n-1/3)}return{red:Math.round(r*255),green:Math.round(s*255),blue:Math.round(o*255),alpha:i}}const qv=(n,e,t)=>{const i=n*n;return Math.sqrt(Math.max(0,t*(e*e-i)+i))},Gk=[Xx,Oa,gc],Wk=n=>Gk.find(e=>e.test(n));function AE(n){const e=Wk(n);let t=e.parse(n);return e===gc&&(t=Hk(t)),t}const w2=(n,e)=>{const t=AE(n),i=AE(e),r={...t};return s=>(r.red=qv(t.red,i.red,s),r.green=qv(t.green,i.green,s),r.blue=qv(t.blue,i.blue,s),r.alpha=an(t.alpha,i.alpha,s),Oa.transform(r))};function jk(n){var e,t;return isNaN(n)&&_h(n)&&(((e=n.match(bg))===null||e===void 0?void 0:e.length)||0)+(((t=n.match(JR))===null||t===void 0?void 0:t.length)||0)>0}const E2={regex:FF,countKey:"Vars",token:"${v}",parse:gn},T2={regex:JR,countKey:"Colors",token:"${c}",parse:xi.parse},b2={regex:bg,countKey:"Numbers",token:"${n}",parse:cl.parse};function Zv(n,{regex:e,countKey:t,token:i,parse:r}){const s=n.tokenised.match(e);s&&(n["num"+t]=s.length,n.tokenised=n.tokenised.replace(e,i),n.values.push(...s.map(r)))}function jm(n){const e=n.toString(),t={value:e,tokenised:e,values:[],numVars:0,numColors:0,numNumbers:0};return t.value.includes("var(--")&&Zv(t,E2),Zv(t,T2),Zv(t,b2),t}function C2(n){return jm(n).values}function P2(n){const{values:e,numColors:t,numVars:i,tokenised:r}=jm(n),s=e.length;return o=>{let a=r;for(let l=0;ltypeof n=="number"?0:n;function Yk(n){const e=C2(n);return P2(n)(e.map(Xk))}const jo={test:jk,parse:C2,createTransformer:P2,getAnimatableNone:Yk},R2=(n,e)=>t=>`${t>0?e:n}`;function L2(n,e){return typeof n=="number"?t=>an(n,e,t):xi.test(n)?w2(n,e):n.startsWith("var(")?R2(n,e):D2(n,e)}const I2=(n,e)=>{const t=[...n],i=t.length,r=n.map((s,o)=>L2(s,e[o]));return s=>{for(let o=0;o{const t={...n,...e},i={};for(const r in t)n[r]!==void 0&&e[r]!==void 0&&(i[r]=L2(n[r],e[r]));return r=>{for(const s in i)t[s]=i[s](r);return t}},D2=(n,e)=>{const t=jo.createTransformer(e),i=jm(n),r=jm(e);return i.numVars===r.numVars&&i.numColors===r.numColors&&i.numNumbers>=r.numNumbers?Fo(I2(i.values,r.values),t):R2(n,e)},Hf=(n,e,t)=>{const i=e-n;return i===0?1:(t-n)/i},ME=(n,e)=>t=>an(n,e,t);function Zk(n){return typeof n=="number"?ME:typeof n=="string"?xi.test(n)?w2:D2:Array.isArray(n)?I2:typeof n=="object"?qk:ME}function Kk(n,e,t){const i=[],r=t||Zk(n[0]),s=n.length-1;for(let o=0;oe[0];n[0]>n[s-1]&&(n=[...n].reverse(),e=[...e].reverse());const o=Kk(e,i,r),a=o.length,l=f=>{let h=0;if(a>1)for(;hl(Wo(n[0],n[s-1],f)):l}function Jk(n,e){const t=n[n.length-1];for(let i=1;i<=e;i++){const r=Hf(0,e,i);n.push(an(t,1,r))}}function Qk(n){const e=[0];return Jk(e,n.length-1),e}function $k(n,e){return n.map(t=>t*e)}function eB(n,e){return n.map(()=>e||y2).splice(0,n.length-1)}function Xm({duration:n=300,keyframes:e,times:t,ease:i="easeInOut"}){const r=Uk(i)?i.map(SE):SE(i),s={done:!1,value:e[0]},o=$k(t&&t.length===e.length?t:Qk(e),n),a=N2(o,e,{ease:Array.isArray(r)?r:eB(e,r)});return{calculatedDuration:n,next:l=>(s.value=a(l),s.done=l>=n,s)}}function U2(n,e){return e?n*(1e3/e):0}const tB=5;function O2(n,e,t){const i=Math.max(e-tB,0);return U2(t-n(i),e-i)}const Kv=.001,nB=.01,wE=10,iB=.05,rB=1;function sB({duration:n=800,bounce:e=.25,velocity:t=0,mass:i=1}){let r,s;Tk(n<=ko(wE));let o=1-e;o=Wo(iB,rB,o),n=Wo(nB,wE,Bs(n)),o<1?(r=f=>{const h=f*o,d=h*n,p=h-t,m=Yx(f,o),y=Math.exp(-d);return Kv-p/m*y},s=f=>{const d=f*o*n,p=d*t+t,m=Math.pow(o,2)*Math.pow(f,2)*n,y=Math.exp(-d),A=Yx(Math.pow(f,2),o);return(-r(f)+Kv>0?-1:1)*((p-m)*y)/A}):(r=f=>{const h=Math.exp(-f*n),d=(f-t)*n+1;return-Kv+h*d},s=f=>{const h=Math.exp(-f*n),d=(t-f)*(n*n);return h*d});const a=5/n,l=aB(r,s,a);if(n=ko(n),isNaN(l))return{stiffness:100,damping:10,duration:n};{const f=Math.pow(l,2)*i;return{stiffness:f,damping:o*2*Math.sqrt(i*f),duration:n}}}const oB=12;function aB(n,e,t){let i=t;for(let r=1;rn[t]!==void 0)}function uB(n){let e={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...n};if(!EE(n,cB)&&EE(n,lB)){const t=sB(n);e={...e,...t,velocity:0,mass:1},e.isResolvedFromDuration=!0}return e}function F2({keyframes:n,restDelta:e,restSpeed:t,...i}){const r=n[0],s=n[n.length-1],o={done:!1,value:r},{stiffness:a,damping:l,mass:f,velocity:h,duration:d,isResolvedFromDuration:p}=uB(i),m=h?-Bs(h):0,y=l/(2*Math.sqrt(a*f)),A=s-r,x=Bs(Math.sqrt(a/f)),g=Math.abs(A)<5;t||(t=g?.01:2),e||(e=g?.005:.5);let _;if(y<1){const S=Yx(x,y);_=E=>{const P=Math.exp(-y*x*E);return s-P*((m+y*x*A)/S*Math.sin(S*E)+A*Math.cos(S*E))}}else if(y===1)_=S=>s-Math.exp(-x*S)*(A+(m+x*A)*S);else{const S=x*Math.sqrt(y*y-1);_=E=>{const P=Math.exp(-y*x*E),b=Math.min(S*E,300);return s-P*((m+y*x*A)*Math.sinh(b)+S*A*Math.cosh(b))/S}}return{calculatedDuration:p&&d||null,next:S=>{const E=_(S);if(p)o.done=S>=d;else{let P=m;S!==0&&(y<1?P=O2(_,S,E):P=0);const b=Math.abs(P)<=t,L=Math.abs(s-E)<=e;o.done=b&&L}return o.value=o.done?s:E,o}}}function TE({keyframes:n,velocity:e=0,power:t=.8,timeConstant:i=325,bounceDamping:r=10,bounceStiffness:s=500,modifyTarget:o,min:a,max:l,restDelta:f=.5,restSpeed:h}){const d=n[0],p={done:!1,value:d},m=D=>a!==void 0&&Dl,y=D=>a===void 0?l:l===void 0||Math.abs(a-D)-A*Math.exp(-D/i),S=D=>g+_(D),E=D=>{const C=_(D),R=S(D);p.done=Math.abs(C)<=f,p.value=p.done?g:R};let P,b;const L=D=>{m(p.value)&&(P=D,b=F2({keyframes:[p.value,y(p.value)],velocity:O2(S,D,p.value),damping:r,stiffness:s,restDelta:f,restSpeed:h}))};return L(0),{calculatedDuration:null,next:D=>{let C=!1;return!b&&P===void 0&&(C=!0,E(D),L(D)),P!==void 0&&D>P?b.next(D-P):(!C&&E(D),p)}}}const fB=n=>{const e=({timestamp:t})=>n(t);return{start:()=>Jt.update(e,!0),stop:()=>js(e),now:()=>ci.isProcessing?ci.timestamp:performance.now()}},bE=2e4;function CE(n){let e=0;const t=50;let i=n.next(e);for(;!i.done&&e=bE?1/0:e}const hB={decay:TE,inertia:TE,tween:Xm,keyframes:Xm,spring:F2};function Ym({autoplay:n=!0,delay:e=0,driver:t=fB,keyframes:i,type:r="keyframes",repeat:s=0,repeatDelay:o=0,repeatType:a="loop",onPlay:l,onStop:f,onComplete:h,onUpdate:d,...p}){let m=1,y=!1,A,x;const g=()=>{x=new Promise(J=>{A=J})};g();let _;const S=hB[r]||Xm;let E;S!==Xm&&typeof i[0]!="number"&&(E=N2([0,100],i,{clamp:!1}),i=[0,100]);const P=S({...p,keyframes:i});let b;a==="mirror"&&(b=S({...p,keyframes:[...i].reverse(),velocity:-(p.velocity||0)}));let L="idle",D=null,C=null,R=null;P.calculatedDuration===null&&s&&(P.calculatedDuration=CE(P));const{calculatedDuration:F}=P;let K=1/0,le=1/0;F!==null&&(K=F+o,le=K*(s+1)-o);let V=0;const q=J=>{if(C===null)return;m>0&&(C=Math.min(C,J)),m<0&&(C=Math.min(J-le/m,C)),D!==null?V=D:V=Math.round(J-C)*m;const ie=V-e*(m>=0?1:-1),$=m>=0?ie<0:ie>le;V=Math.max(ie,0),L==="finished"&&D===null&&(V=le);let fe=V,ve=P;if(s){const nt=V/K;let Le=Math.floor(nt),Te=nt%1;!Te&&nt>=1&&(Te=1),Te===1&&Le--,Le=Math.min(Le,s+1);const H=!!(Le%2);H&&(a==="reverse"?(Te=1-Te,o&&(Te-=o/K)):a==="mirror"&&(ve=b));let ye=Wo(0,1,Te);V>le&&(ye=a==="reverse"&&H?1:0),fe=ye*K}const be=$?{done:!1,value:i[0]}:ve.next(fe);E&&(be.value=E(be.value));let{done:Pe}=be;!$&&F!==null&&(Pe=m>=0?V>=le:V<=0);const Je=D===null&&(L==="finished"||L==="running"&&Pe);return d&&d(be.value),Je&&k(),be},ee=()=>{_&&_.stop(),_=void 0},oe=()=>{L="idle",ee(),A(),g(),C=R=null},k=()=>{L="finished",h&&h(),ee(),A()},j=()=>{if(y)return;_||(_=t(q));const J=_.now();l&&l(),D!==null?C=J-D:(!C||L==="finished")&&(C=J),L==="finished"&&g(),R=C,D=null,L="running",_.start()};n&&j();const Y={then(J,ie){return x.then(J,ie)},get time(){return Bs(V)},set time(J){J=ko(J),V=J,D!==null||!_||m===0?D=J:C=_.now()-J/m},get duration(){const J=P.calculatedDuration===null?CE(P):P.calculatedDuration;return Bs(J)},get speed(){return m},set speed(J){J===m||!_||(m=J,Y.time=Bs(V))},get state(){return L},play:j,pause:()=>{L="paused",D=V},stop:()=>{y=!0,L!=="idle"&&(L="idle",f&&f(),oe())},cancel:()=>{R!==null&&q(R),oe()},complete:()=>{L="finished"},sample:J=>(C=0,q(J))};return Y}function dB(n){let e;return()=>(e===void 0&&(e=n()),e)}const pB=dB(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),mB=new Set(["opacity","clipPath","filter","transform","backgroundColor"]),Kd=10,gB=2e4,vB=(n,e)=>e.type==="spring"||n==="backgroundColor"||!p2(e.ease);function yB(n,e,{onUpdate:t,onComplete:i,...r}){if(!(pB()&&mB.has(e)&&!r.repeatDelay&&r.repeatType!=="mirror"&&r.damping!==0&&r.type!=="inertia"))return!1;let o=!1,a,l;const f=()=>{l=new Promise(_=>{a=_})};f();let{keyframes:h,duration:d=300,ease:p,times:m}=r;if(vB(e,r)){const _=Ym({...r,repeat:0,delay:0});let S={done:!1,value:h[0]};const E=[];let P=0;for(;!S.done&&Py.cancel(),x=()=>{Jt.update(A),a(),f()};return y.onfinish=()=>{n.set(Pk(h,r)),i&&i(),x()},{then(_,S){return l.then(_,S)},attachTimeline(_){return y.timeline=_,y.onfinish=null,gn},get time(){return Bs(y.currentTime||0)},set time(_){y.currentTime=ko(_)},get speed(){return y.playbackRate},set speed(_){y.playbackRate=_},get duration(){return Bs(d)},play:()=>{o||(y.play(),js(A))},pause:()=>y.pause(),stop:()=>{if(o=!0,y.playState==="idle")return;const{currentTime:_}=y;if(_){const S=Ym({...r,autoplay:!1});n.setWithVelocity(S.sample(_-Kd).value,S.sample(_).value,Kd)}x()},complete:()=>y.finish(),cancel:x}}function xB({keyframes:n,delay:e,onUpdate:t,onComplete:i}){const r=()=>(t&&t(n[n.length-1]),i&&i(),{time:0,speed:1,duration:0,play:gn,pause:gn,stop:gn,then:s=>(s(),Promise.resolve()),cancel:gn,complete:gn});return e?Ym({keyframes:[0,1],duration:0,delay:e,onComplete:r}):r()}const _B={type:"spring",stiffness:500,damping:25,restSpeed:10},SB=n=>({type:"spring",stiffness:550,damping:n===0?2*Math.sqrt(550):30,restSpeed:10}),AB={type:"keyframes",duration:.8},MB={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},wB=(n,{keyframes:e})=>e.length>2?AB:ll.has(n)?n.startsWith("scale")?SB(e[1]):_B:MB,qx=(n,e)=>n==="zIndex"?!1:!!(typeof e=="number"||Array.isArray(e)||typeof e=="string"&&(jo.test(e)||e==="0")&&!e.startsWith("url(")),EB=new Set(["brightness","contrast","saturate","opacity"]);function TB(n){const[e,t]=n.slice(0,-1).split("(");if(e==="drop-shadow")return n;const[i]=t.match(bg)||[];if(!i)return n;const r=t.replace(i,"");let s=EB.has(e)?1:0;return i!==t&&(s*=100),e+"("+s+r+")"}const bB=/([a-z-]*)\(.*?\)/g,Zx={...jo,getAnimatableNone:n=>{const e=n.match(bB);return e?e.map(TB).join(" "):n}},CB={...QR,color:xi,backgroundColor:xi,outlineColor:xi,fill:xi,stroke:xi,borderColor:xi,borderTopColor:xi,borderRightColor:xi,borderBottomColor:xi,borderLeftColor:xi,filter:Zx,WebkitFilter:Zx},p1=n=>CB[n];function k2(n,e){let t=p1(n);return t!==Zx&&(t=jo),t.getAnimatableNone?t.getAnimatableNone(e):void 0}const B2=n=>/^0[^.\s]+$/.test(n);function PB(n){if(typeof n=="number")return n===0;if(n!==null)return n==="none"||n==="0"||B2(n)}function RB(n,e,t,i){const r=qx(e,t);let s;Array.isArray(t)?s=[...t]:s=[null,t];const o=i.from!==void 0?i.from:n.get();let a;const l=[];for(let f=0;fr=>{const s=m1(i,n)||{},o=s.delay||i.delay||0;let{elapsed:a=0}=i;a=a-ko(o);const l=RB(e,n,t,s),f=l[0],h=l[l.length-1],d=qx(n,f),p=qx(n,h);let m={keyframes:l,velocity:e.getVelocity(),ease:"easeOut",...s,delay:-a,onUpdate:y=>{e.set(y),s.onUpdate&&s.onUpdate(y)},onComplete:()=>{r(),s.onComplete&&s.onComplete()}};if(LB(s)||(m={...m,...wB(n,m)}),m.duration&&(m.duration=ko(m.duration)),m.repeatDelay&&(m.repeatDelay=ko(m.repeatDelay)),!d||!p||bk.current||s.type===!1)return xB(m);if(!i.isHandoff&&e.owner&&e.owner.current instanceof HTMLElement&&!e.owner.getProps().onUpdate){const y=yB(e,n,m);if(y)return y}return Ym(m)};function qm(n){return!!(Bi(n)&&n.add)}const z2=n=>/^\-?\d*\.?\d+$/.test(n);function v1(n,e){n.indexOf(e)===-1&&n.push(e)}function y1(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}class x1{constructor(){this.subscriptions=[]}add(e){return v1(this.subscriptions,e),()=>y1(this.subscriptions,e)}notify(e,t,i){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,i);else for(let s=0;s!isNaN(parseFloat(n));class DB{constructor(e,t={}){this.version="10.16.16",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=(i,r=!0)=>{this.prev=this.current,this.current=i;const{delta:s,timestamp:o}=ci;this.lastUpdated!==o&&(this.timeDelta=s,this.lastUpdated=o,Jt.postRender(this.scheduleVelocityCheck)),this.prev!==this.current&&this.events.change&&this.events.change.notify(this.current),this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()),r&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.scheduleVelocityCheck=()=>Jt.postRender(this.velocityCheck),this.velocityCheck=({timestamp:i})=>{i!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=e,this.canTrackVelocity=IB(this.current),this.owner=t.owner}onChange(e){return this.on("change",e)}on(e,t){this.events[e]||(this.events[e]=new x1);const i=this.events[e].add(t);return e==="change"?()=>{i(),Jt.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e,t=!0){!t||!this.passiveEffect?this.updateAndNotify(e,t):this.passiveEffect(e,this.updateAndNotify)}setWithVelocity(e,t,i){this.set(t),this.prev=e,this.timeDelta=i}jump(e){this.updateAndNotify(e),this.prev=e,this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?U2(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function zc(n,e){return new DB(n,e)}const V2=n=>e=>e.test(n),NB={test:n=>n==="auto",parse:n=>n},H2=[cl,ct,as,yo,VF,zF,NB],Lu=n=>H2.find(V2(n)),UB=[...H2,xi,jo],OB=n=>UB.find(V2(n));function FB(n,e,t){n.hasValue(e)?n.getValue(e).set(t):n.addValue(e,zc(t))}function kB(n,e){const t=Pg(n,e);let{transitionEnd:i={},transition:r={},...s}=t?n.makeTargetAnimatable(t,!1):{};s={...s,...i};for(const o in s){const a=nk(s[o]);FB(n,o,a)}}function BB(n,e,t){var i,r;const s=Object.keys(e).filter(a=>!n.hasValue(a)),o=s.length;if(o)for(let a=0;al.remove(d))),f.push(x)}return o&&Promise.all(f).then(()=>{o&&kB(n,o)}),f}function Kx(n,e,t={}){const i=Pg(n,e,t.custom);let{transition:r=n.getDefaultTransition()||{}}=i||{};t.transitionOverride&&(r=t.transitionOverride);const s=i?()=>Promise.all(G2(n,i,t)):()=>Promise.resolve(),o=n.variantChildren&&n.variantChildren.size?(l=0)=>{const{delayChildren:f=0,staggerChildren:h,staggerDirection:d}=r;return WB(n,e,f+l,h,d,t)}:()=>Promise.resolve(),{when:a}=r;if(a){const[l,f]=a==="beforeChildren"?[s,o]:[o,s];return l().then(()=>f())}else return Promise.all([s(),o(t.delay)])}function WB(n,e,t=0,i=0,r=1,s){const o=[],a=(n.variantChildren.size-1)*i,l=r===1?(f=0)=>f*i:(f=0)=>a-f*i;return Array.from(n.variantChildren).sort(jB).forEach((f,h)=>{f.notify("AnimationStart",e),o.push(Kx(f,e,{...s,delay:t+l(h)}).then(()=>f.notify("AnimationComplete",e)))}),Promise.all(o)}function jB(n,e){return n.sortNodePosition(e)}function XB(n,e,t={}){n.notify("AnimationStart",e);let i;if(Array.isArray(e)){const r=e.map(s=>Kx(n,s,t));i=Promise.all(r)}else if(typeof e=="string")i=Kx(n,e,t);else{const r=typeof e=="function"?Pg(n,e,t.custom):e;i=Promise.all(G2(n,r,t))}return i.then(()=>n.notify("AnimationComplete",e))}const YB=[...t1].reverse(),qB=t1.length;function ZB(n){return e=>Promise.all(e.map(({animation:t,options:i})=>XB(n,t,i)))}function KB(n){let e=ZB(n);const t=QB();let i=!0;const r=(l,f)=>{const h=Pg(n,f);if(h){const{transition:d,transitionEnd:p,...m}=h;l={...l,...m,...p}}return l};function s(l){e=l(n)}function o(l,f){const h=n.getProps(),d=n.getVariantContext(!0)||{},p=[],m=new Set;let y={},A=1/0;for(let g=0;gA&&P;const R=Array.isArray(E)?E:[E];let F=R.reduce(r,{});b===!1&&(F={});const{prevResolvedValues:K={}}=S,le={...K,...F},V=q=>{C=!0,m.delete(q),S.needsAnimating[q]=!0};for(const q in le){const ee=F[q],oe=K[q];y.hasOwnProperty(q)||(ee!==oe?Wm(ee)&&Wm(oe)?!h2(ee,oe)||D?V(q):S.protectedKeys[q]=!0:ee!==void 0?V(q):m.add(q):ee!==void 0&&m.has(q)?V(q):S.protectedKeys[q]=!0)}S.prevProp=E,S.prevResolvedValues=F,S.isActive&&(y={...y,...F}),i&&n.blockInitialAnimation&&(C=!1),C&&!L&&p.push(...R.map(q=>({animation:q,options:{type:_,...l}})))}if(m.size){const g={};m.forEach(_=>{const S=n.getBaseTarget(_);S!==void 0&&(g[_]=S)}),p.push({animation:g})}let x=!!p.length;return i&&(h.initial===!1||h.initial===h.animate)&&!n.manuallyAnimateOnMount&&(x=!1),i=!1,x?e(p):Promise.resolve()}function a(l,f,h){var d;if(t[l].isActive===f)return Promise.resolve();(d=n.variantChildren)===null||d===void 0||d.forEach(m=>{var y;return(y=m.animationState)===null||y===void 0?void 0:y.setActive(l,f)}),t[l].isActive=f;const p=o(h,l);for(const m in t)t[m].protectedKeys={};return p}return{animateChanges:o,setActive:a,setAnimateFunction:s,getState:()=>t}}function JB(n,e){return typeof e=="string"?e!==n:Array.isArray(e)?!h2(e,n):!1}function da(n=!1){return{isActive:n,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function QB(){return{animate:da(!0),whileInView:da(),whileHover:da(),whileTap:da(),whileDrag:da(),whileFocus:da(),exit:da()}}class $B extends Qo{constructor(e){super(e),e.animationState||(e.animationState=KB(e))}updateAnimationControlsSubscription(){const{animate:e}=this.node.getProps();this.unmount(),Eg(e)&&(this.unmount=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){}}let ez=0;class tz extends Qo{constructor(){super(...arguments),this.id=ez++}update(){if(!this.node.presenceContext)return;const{isPresent:e,onExitComplete:t,custom:i}=this.node.presenceContext,{isPresent:r}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===r)return;const s=this.node.animationState.setActive("exit",!e,{custom:i??this.node.getProps().custom});t&&!e&&s.then(()=>t(this.id))}mount(){const{register:e}=this.node.presenceContext||{};e&&(this.unmount=e(this.id))}unmount(){}}const nz={animation:{Feature:$B},exit:{Feature:tz}},PE=(n,e)=>Math.abs(n-e);function iz(n,e){const t=PE(n.x,e.x),i=PE(n.y,e.y);return Math.sqrt(t**2+i**2)}class W2{constructor(e,t,{transformPagePoint:i,contextWindow:r}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const h=Qv(this.lastMoveEventInfo,this.history),d=this.startEvent!==null,p=iz(h.offset,{x:0,y:0})>=3;if(!d&&!p)return;const{point:m}=h,{timestamp:y}=ci;this.history.push({...m,timestamp:y});const{onStart:A,onMove:x}=this.handlers;d||(A&&A(this.lastMoveEvent,h),this.startEvent=this.lastMoveEvent),x&&x(this.lastMoveEvent,h)},this.handlePointerMove=(h,d)=>{this.lastMoveEvent=h,this.lastMoveEventInfo=Jv(d,this.transformPagePoint),Jt.update(this.updatePoint,!0)},this.handlePointerUp=(h,d)=>{if(this.end(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const{onEnd:p,onSessionEnd:m}=this.handlers,y=Qv(h.type==="pointercancel"?this.lastMoveEventInfo:Jv(d,this.transformPagePoint),this.history);this.startEvent&&p&&p(h,y),m&&m(h,y)},!a2(e))return;this.handlers=t,this.transformPagePoint=i,this.contextWindow=r||window;const s=Cg(e),o=Jv(s,this.transformPagePoint),{point:a}=o,{timestamp:l}=ci;this.history=[{...a,timestamp:l}];const{onSessionStart:f}=t;f&&f(e,Qv(o,this.history)),this.removeListeners=Fo(ks(this.contextWindow,"pointermove",this.handlePointerMove),ks(this.contextWindow,"pointerup",this.handlePointerUp),ks(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),js(this.updatePoint)}}function Jv(n,e){return e?{point:e(n.point)}:n}function RE(n,e){return{x:n.x-e.x,y:n.y-e.y}}function Qv({point:n},e){return{point:n,delta:RE(n,j2(e)),offset:RE(n,rz(e)),velocity:sz(e,.1)}}function rz(n){return n[0]}function j2(n){return n[n.length-1]}function sz(n,e){if(n.length<2)return{x:0,y:0};let t=n.length-1,i=null;const r=j2(n);for(;t>=0&&(i=n[t],!(r.timestamp-i.timestamp>ko(e)));)t--;if(!i)return{x:0,y:0};const s=Bs(r.timestamp-i.timestamp);if(s===0)return{x:0,y:0};const o={x:(r.x-i.x)/s,y:(r.y-i.y)/s};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function tr(n){return n.max-n.min}function Jx(n,e=0,t=.01){return Math.abs(n-e)<=t}function LE(n,e,t,i=.5){n.origin=i,n.originPoint=an(e.min,e.max,n.origin),n.scale=tr(t)/tr(e),(Jx(n.scale,1,1e-4)||isNaN(n.scale))&&(n.scale=1),n.translate=an(t.min,t.max,n.origin)-n.originPoint,(Jx(n.translate)||isNaN(n.translate))&&(n.translate=0)}function df(n,e,t,i){LE(n.x,e.x,t.x,i?i.originX:void 0),LE(n.y,e.y,t.y,i?i.originY:void 0)}function IE(n,e,t){n.min=t.min+e.min,n.max=n.min+tr(e)}function oz(n,e,t){IE(n.x,e.x,t.x),IE(n.y,e.y,t.y)}function DE(n,e,t){n.min=e.min-t.min,n.max=n.min+tr(e)}function pf(n,e,t){DE(n.x,e.x,t.x),DE(n.y,e.y,t.y)}function az(n,{min:e,max:t},i){return e!==void 0&&nt&&(n=i?an(t,n,i.max):Math.min(n,t)),n}function NE(n,e,t){return{min:e!==void 0?n.min+e:void 0,max:t!==void 0?n.max+t-(n.max-n.min):void 0}}function lz(n,{top:e,left:t,bottom:i,right:r}){return{x:NE(n.x,t,r),y:NE(n.y,e,i)}}function UE(n,e){let t=e.min-n.min,i=e.max-n.max;return e.max-e.mini?t=Hf(e.min,e.max-i,n.min):i>r&&(t=Hf(n.min,n.max-r,e.min)),Wo(0,1,t)}function fz(n,e){const t={};return e.min!==void 0&&(t.min=e.min-n.min),e.max!==void 0&&(t.max=e.max-n.min),t}const Qx=.35;function hz(n=Qx){return n===!1?n=0:n===!0&&(n=Qx),{x:OE(n,"left","right"),y:OE(n,"top","bottom")}}function OE(n,e,t){return{min:FE(n,e),max:FE(n,t)}}function FE(n,e){return typeof n=="number"?n:n[e]||0}const kE=()=>({translate:0,scale:1,origin:0,originPoint:0}),vc=()=>({x:kE(),y:kE()}),BE=()=>({min:0,max:0}),Cn=()=>({x:BE(),y:BE()});function ns(n){return[n("x"),n("y")]}function X2({top:n,left:e,right:t,bottom:i}){return{x:{min:e,max:t},y:{min:n,max:i}}}function dz({x:n,y:e}){return{top:e.min,right:n.max,bottom:e.max,left:n.min}}function pz(n,e){if(!e)return n;const t=e({x:n.left,y:n.top}),i=e({x:n.right,y:n.bottom});return{top:t.y,left:t.x,bottom:i.y,right:i.x}}function $v(n){return n===void 0||n===1}function $x({scale:n,scaleX:e,scaleY:t}){return!$v(n)||!$v(e)||!$v(t)}function Ta(n){return $x(n)||Y2(n)||n.z||n.rotate||n.rotateX||n.rotateY}function Y2(n){return zE(n.x)||zE(n.y)}function zE(n){return n&&n!=="0%"}function Zm(n,e,t){const i=n-t,r=e*i;return t+r}function VE(n,e,t,i,r){return r!==void 0&&(n=Zm(n,r,i)),Zm(n,t,i)+e}function e_(n,e=0,t=1,i,r){n.min=VE(n.min,e,t,i,r),n.max=VE(n.max,e,t,i,r)}function q2(n,{x:e,y:t}){e_(n.x,e.translate,e.scale,e.originPoint),e_(n.y,t.translate,t.scale,t.originPoint)}function mz(n,e,t,i=!1){const r=t.length;if(!r)return;e.x=e.y=1;let s,o;for(let a=0;a1.0000000000001||n<.999999999999?n:1}function So(n,e){n.min=n.min+e,n.max=n.max+e}function GE(n,e,[t,i,r]){const s=e[r]!==void 0?e[r]:.5,o=an(n.min,n.max,s);e_(n,e[t],e[i],o,e.scale)}const gz=["x","scaleX","originX"],vz=["y","scaleY","originY"];function yc(n,e){GE(n.x,e,gz),GE(n.y,e,vz)}function Z2(n,e){return X2(pz(n.getBoundingClientRect(),e))}function yz(n,e,t){const i=Z2(n,t),{scroll:r}=e;return r&&(So(i.x,r.offset.x),So(i.y,r.offset.y)),i}const K2=({current:n})=>n?n.ownerDocument.defaultView:null,xz=new WeakMap;class _z{constructor(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=Cn(),this.visualElement=e}start(e,{snapToCursor:t=!1}={}){const{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;const r=l=>{this.stopAnimation(),t&&this.snapToCursor(Cg(l,"page").point)},s=(l,f)=>{const{drag:h,dragPropagation:d,onDragStart:p}=this.getProps();if(h&&!d&&(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=c2(h),!this.openGlobalLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),ns(y=>{let A=this.getAxisMotionValue(y).get()||0;if(as.test(A)){const{projection:x}=this.visualElement;if(x&&x.layout){const g=x.layout.layoutBox[y];g&&(A=tr(g)*(parseFloat(A)/100))}}this.originPoint[y]=A}),p&&Jt.update(()=>p(l,f),!1,!0);const{animationState:m}=this.visualElement;m&&m.setActive("whileDrag",!0)},o=(l,f)=>{const{dragPropagation:h,dragDirectionLock:d,onDirectionLock:p,onDrag:m}=this.getProps();if(!h&&!this.openGlobalLock)return;const{offset:y}=f;if(d&&this.currentDirection===null){this.currentDirection=Sz(y),this.currentDirection!==null&&p&&p(this.currentDirection);return}this.updateAxis("x",f.point,y),this.updateAxis("y",f.point,y),this.visualElement.render(),m&&m(l,f)},a=(l,f)=>this.stop(l,f);this.panSession=new W2(e,{onSessionStart:r,onStart:s,onMove:o,onSessionEnd:a},{transformPagePoint:this.visualElement.getTransformPagePoint(),contextWindow:K2(this.visualElement)})}stop(e,t){const i=this.isDragging;if(this.cancel(),!i)return;const{velocity:r}=t;this.startAnimation(r);const{onDragEnd:s}=this.getProps();s&&Jt.update(()=>s(e,t))}cancel(){this.isDragging=!1;const{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:i}=this.getProps();!i&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),t&&t.setActive("whileDrag",!1)}updateAxis(e,t,i){const{drag:r}=this.getProps();if(!i||!Jd(e,r,this.currentDirection))return;const s=this.getAxisMotionValue(e);let o=this.originPoint[e]+i[e];this.constraints&&this.constraints[e]&&(o=az(o,this.constraints[e],this.elastic[e])),s.set(o)}resolveConstraints(){var e;const{dragConstraints:t,dragElastic:i}=this.getProps(),r=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(e=this.visualElement.projection)===null||e===void 0?void 0:e.layout,s=this.constraints;t&&mc(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&r?this.constraints=lz(r.layoutBox,t):this.constraints=!1,this.elastic=hz(i),s!==this.constraints&&r&&this.constraints&&!this.hasMutatedConstraints&&ns(o=>{this.getAxisMotionValue(o)&&(this.constraints[o]=fz(r.layoutBox[o],this.constraints[o]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!mc(e))return!1;const i=e.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const s=yz(i,r.root,this.visualElement.getTransformPagePoint());let o=cz(r.layout.layoutBox,s);if(t){const a=t(dz(o));this.hasMutatedConstraints=!!a,a&&(o=X2(a))}return o}startAnimation(e){const{drag:t,dragMomentum:i,dragElastic:r,dragTransition:s,dragSnapToOrigin:o,onDragTransitionEnd:a}=this.getProps(),l=this.constraints||{},f=ns(h=>{if(!Jd(h,t,this.currentDirection))return;let d=l&&l[h]||{};o&&(d={min:0,max:0});const p=r?200:1e6,m=r?40:1e7,y={type:"inertia",velocity:i?e[h]:0,bounceStiffness:p,bounceDamping:m,timeConstant:750,restDelta:1,restSpeed:10,...s,...d};return this.startAxisValueAnimation(h,y)});return Promise.all(f).then(a)}startAxisValueAnimation(e,t){const i=this.getAxisMotionValue(e);return i.start(g1(e,i,0,t))}stopAnimation(){ns(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){const t="_drag"+e.toUpperCase(),i=this.visualElement.getProps(),r=i[t];return r||this.visualElement.getValue(e,(i.initial?i.initial[e]:void 0)||0)}snapToCursor(e){ns(t=>{const{drag:i}=this.getProps();if(!Jd(t,i,this.currentDirection))return;const{projection:r}=this.visualElement,s=this.getAxisMotionValue(t);if(r&&r.layout){const{min:o,max:a}=r.layout.layoutBox[t];s.set(e[t]-an(o,a,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:e,dragConstraints:t}=this.getProps(),{projection:i}=this.visualElement;if(!mc(t)||!i||!this.constraints)return;this.stopAnimation();const r={x:0,y:0};ns(o=>{const a=this.getAxisMotionValue(o);if(a){const l=a.get();r[o]=uz({min:l,max:l},this.constraints[o])}});const{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.resolveConstraints(),ns(o=>{if(!Jd(o,e,null))return;const a=this.getAxisMotionValue(o),{min:l,max:f}=this.constraints[o];a.set(an(l,f,r[o]))})}addListeners(){if(!this.visualElement.current)return;xz.set(this.visualElement,this);const e=this.visualElement.current,t=ks(e,"pointerdown",l=>{const{drag:f,dragListener:h=!0}=this.getProps();f&&h&&this.start(l)}),i=()=>{const{dragConstraints:l}=this.getProps();mc(l)&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,s=r.addEventListener("measure",i);r&&!r.layout&&(r.root&&r.root.updateScroll(),r.updateLayout()),i();const o=Ns(window,"resize",()=>this.scalePositionWithinConstraints()),a=r.addEventListener("didUpdate",({delta:l,hasLayoutChanged:f})=>{this.isDragging&&f&&(ns(h=>{const d=this.getAxisMotionValue(h);d&&(this.originPoint[h]+=l[h].translate,d.set(d.get()+l[h].translate))}),this.visualElement.render())});return()=>{o(),t(),s(),a&&a()}}getProps(){const e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:i=!1,dragPropagation:r=!1,dragConstraints:s=!1,dragElastic:o=Qx,dragMomentum:a=!0}=e;return{...e,drag:t,dragDirectionLock:i,dragPropagation:r,dragConstraints:s,dragElastic:o,dragMomentum:a}}}function Jd(n,e,t){return(e===!0||e===n)&&(t===null||t===n)}function Sz(n,e=10){let t=null;return Math.abs(n.y)>e?t="y":Math.abs(n.x)>e&&(t="x"),t}class Az extends Qo{constructor(e){super(e),this.removeGroupControls=gn,this.removeListeners=gn,this.controls=new _z(e)}mount(){const{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||gn}unmount(){this.removeGroupControls(),this.removeListeners()}}const WE=n=>(e,t)=>{n&&Jt.update(()=>n(e,t))};class Mz extends Qo{constructor(){super(...arguments),this.removePointerDownListener=gn}onPointerDown(e){this.session=new W2(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:K2(this.node)})}createPanHandlers(){const{onPanSessionStart:e,onPanStart:t,onPan:i,onPanEnd:r}=this.node.getProps();return{onSessionStart:WE(e),onStart:WE(t),onMove:i,onEnd:(s,o)=>{delete this.session,r&&Jt.update(()=>r(s,o))}}}mount(){this.removePointerDownListener=ks(this.node.current,"pointerdown",e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}function wz(){const n=z.useContext($S);if(n===null)return[!0,null];const{isPresent:e,onExitComplete:t,register:i}=n,r=z.useId();return z.useEffect(()=>i(r),[]),!e&&t?[!1,()=>t&&t(r)]:[!0]}const lm={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function jE(n,e){return e.max===e.min?0:n/(e.max-e.min)*100}const Iu={correct:(n,e)=>{if(!e.target)return n;if(typeof n=="string")if(ct.test(n))n=parseFloat(n);else return n;const t=jE(n,e.target.x),i=jE(n,e.target.y);return`${t}% ${i}%`}},Ez={correct:(n,{treeScale:e,projectionDelta:t})=>{const i=n,r=jo.parse(n);if(r.length>5)return i;const s=jo.createTransformer(n),o=typeof r[0]!="number"?1:0,a=t.x.scale*e.x,l=t.y.scale*e.y;r[0+o]/=a,r[1+o]/=l;const f=an(a,l,.5);return typeof r[2+o]=="number"&&(r[2+o]/=f),typeof r[3+o]=="number"&&(r[3+o]/=f),s(r)}};class Tz extends hh.Component{componentDidMount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:i,layoutId:r}=this.props,{projection:s}=e;DF(bz),s&&(t.group&&t.group.add(s),i&&i.register&&r&&i.register(s),s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,onExitComplete:()=>this.safeToRemove()})),lm.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:t,visualElement:i,drag:r,isPresent:s}=this.props,o=i.projection;return o&&(o.isPresent=s,r||e.layoutDependency!==t||t===void 0?o.willUpdate():this.safeToRemove(),e.isPresent!==s&&(s?o.promote():o.relegate()||Jt.postRender(()=>{const a=o.getStack();(!a||!a.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),queueMicrotask(()=>{!e.currentAnimation&&e.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:i}=this.props,{projection:r}=e;r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),i&&i.deregister&&i.deregister(r))}safeToRemove(){const{safeToRemove:e}=this.props;e&&e()}render(){return null}}function J2(n){const[e,t]=wz(),i=z.useContext(XR);return hh.createElement(Tz,{...n,layoutGroup:i,switchLayoutGroup:z.useContext(YR),isPresent:e,safeToRemove:t})}const bz={borderRadius:{...Iu,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Iu,borderTopRightRadius:Iu,borderBottomLeftRadius:Iu,borderBottomRightRadius:Iu,boxShadow:Ez},Q2=["TopLeft","TopRight","BottomLeft","BottomRight"],Cz=Q2.length,XE=n=>typeof n=="string"?parseFloat(n):n,YE=n=>typeof n=="number"||ct.test(n);function Pz(n,e,t,i,r,s){r?(n.opacity=an(0,t.opacity!==void 0?t.opacity:1,Rz(i)),n.opacityExit=an(e.opacity!==void 0?e.opacity:1,0,Lz(i))):s&&(n.opacity=an(e.opacity!==void 0?e.opacity:1,t.opacity!==void 0?t.opacity:1,i));for(let o=0;oie?1:t(Hf(n,e,i))}function ZE(n,e){n.min=e.min,n.max=e.max}function mr(n,e){ZE(n.x,e.x),ZE(n.y,e.y)}function KE(n,e,t,i,r){return n-=e,n=Zm(n,1/t,i),r!==void 0&&(n=Zm(n,1/r,i)),n}function Iz(n,e=0,t=1,i=.5,r,s=n,o=n){if(as.test(e)&&(e=parseFloat(e),e=an(o.min,o.max,e/100)-o.min),typeof e!="number")return;let a=an(s.min,s.max,i);n===s&&(a-=e),n.min=KE(n.min,e,t,a,r),n.max=KE(n.max,e,t,a,r)}function JE(n,e,[t,i,r],s,o){Iz(n,e[t],e[i],e[r],e.scale,s,o)}const Dz=["x","scaleX","originX"],Nz=["y","scaleY","originY"];function QE(n,e,t,i){JE(n.x,e,Dz,t?t.x:void 0,i?i.x:void 0),JE(n.y,e,Nz,t?t.y:void 0,i?i.y:void 0)}function $E(n){return n.translate===0&&n.scale===1}function eL(n){return $E(n.x)&&$E(n.y)}function Uz(n,e){return n.x.min===e.x.min&&n.x.max===e.x.max&&n.y.min===e.y.min&&n.y.max===e.y.max}function tL(n,e){return Math.round(n.x.min)===Math.round(e.x.min)&&Math.round(n.x.max)===Math.round(e.x.max)&&Math.round(n.y.min)===Math.round(e.y.min)&&Math.round(n.y.max)===Math.round(e.y.max)}function eT(n){return tr(n.x)/tr(n.y)}class Oz{constructor(){this.members=[]}add(e){v1(this.members,e),e.scheduleRender()}remove(e){if(y1(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const t=this.members[this.members.length-1];t&&this.promote(t)}}relegate(e){const t=this.members.findIndex(r=>e===r);if(t===0)return!1;let i;for(let r=t;r>=0;r--){const s=this.members[r];if(s.isPresent!==!1){i=s;break}}return i?(this.promote(i),!0):!1}promote(e,t){const i=this.lead;if(e!==i&&(this.prevLead=i,this.lead=e,e.show(),i)){i.instance&&i.scheduleRender(),e.scheduleRender(),e.resumeFrom=i,t&&(e.resumeFrom.preserveOpacity=!0),i.snapshot&&(e.snapshot=i.snapshot,e.snapshot.latestValues=i.animationValues||i.latestValues),e.root&&e.root.isUpdating&&(e.isLayoutDirty=!0);const{crossfade:r}=e.options;r===!1&&i.hide()}}exitAnimationComplete(){this.members.forEach(e=>{const{options:t,resumingFrom:i}=e;t.onExitComplete&&t.onExitComplete(),i&&i.options.onExitComplete&&i.options.onExitComplete()})}scheduleRender(){this.members.forEach(e=>{e.instance&&e.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function tT(n,e,t){let i="";const r=n.x.translate/e.x,s=n.y.translate/e.y;if((r||s)&&(i=`translate3d(${r}px, ${s}px, 0) `),(e.x!==1||e.y!==1)&&(i+=`scale(${1/e.x}, ${1/e.y}) `),t){const{rotate:l,rotateX:f,rotateY:h}=t;l&&(i+=`rotate(${l}deg) `),f&&(i+=`rotateX(${f}deg) `),h&&(i+=`rotateY(${h}deg) `)}const o=n.x.scale*e.x,a=n.y.scale*e.y;return(o!==1||a!==1)&&(i+=`scale(${o}, ${a})`),i||"none"}const Fz=(n,e)=>n.depth-e.depth;class kz{constructor(){this.children=[],this.isDirty=!1}add(e){v1(this.children,e),this.isDirty=!0}remove(e){y1(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(Fz),this.isDirty=!1,this.children.forEach(e)}}function Bz(n,e){const t=performance.now(),i=({timestamp:r})=>{const s=r-t;s>=e&&(js(i),n(s-e))};return Jt.read(i,!0),()=>js(i)}function zz(n){window.MotionDebug&&window.MotionDebug.record(n)}function Vz(n){return n instanceof SVGElement&&n.tagName!=="svg"}function Hz(n,e,t){const i=Bi(n)?n:zc(n);return i.start(g1("",i,e,t)),i.animation}const nT=["","X","Y","Z"],Gz={visibility:"hidden"},iT=1e3;let Wz=0;const ba={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0};function nL({attachResizeListener:n,defaultParent:e,measureScroll:t,checkIsScrollRoot:i,resetTransform:r}){return class{constructor(o={},a=e==null?void 0:e()){this.id=Wz++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,ba.totalNodes=ba.resolvedTargetDeltas=ba.recalculatedProjection=0,this.nodes.forEach(Yz),this.nodes.forEach(Qz),this.nodes.forEach($z),this.nodes.forEach(qz),zz(ba)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=o,this.root=a?a.root||a:this,this.path=a?[...a.path,a]:[],this.parent=a,this.depth=a?a.depth+1:0;for(let l=0;lthis.root.updateBlockedByResize=!1;n(o,()=>{this.root.updateBlockedByResize=!0,d&&d(),d=Bz(p,250),lm.hasAnimatedSinceResize&&(lm.hasAnimatedSinceResize=!1,this.nodes.forEach(sT))})}l&&this.root.registerSharedNode(l,this),this.options.animate!==!1&&h&&(l||f)&&this.addEventListener("didUpdate",({delta:d,hasLayoutChanged:p,hasRelativeTargetChanged:m,layout:y})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const A=this.options.transition||h.getDefaultTransition()||r4,{onLayoutAnimationStart:x,onLayoutAnimationComplete:g}=h.getProps(),_=!this.targetLayout||!tL(this.targetLayout,y)||m,S=!p&&m;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||S||p&&(_||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(d,S);const E={...m1(A,"layout"),onPlay:x,onComplete:g};(h.shouldReduceMotion||this.options.layoutRoot)&&(E.delay=0,E.type=!1),this.startAnimation(E)}else p||sT(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=y})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const o=this.getStack();o&&o.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,js(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(e4),this.animationId++)}getTransformTemplate(){const{visualElement:o}=this.options;return o&&o.getProps().transformTemplate}willUpdate(o=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let h=0;hthis.update()))}clearAllSnapshots(){this.nodes.forEach(Zz),this.sharedNodes.forEach(t4)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Jt.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Jt.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let l=0;l{const P=E/1e3;oT(d.x,o.x,P),oT(d.y,o.y,P),this.setTargetDelta(d),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(pf(p,this.layout.layoutBox,this.relativeParent.layout.layoutBox),n4(this.relativeTarget,this.relativeTargetOrigin,p,P),S&&Uz(this.relativeTarget,S)&&(this.isProjectionDirty=!1),S||(S=Cn()),mr(S,this.relativeTarget)),A&&(this.animationValues=h,Pz(h,f,this.latestValues,P,_,g)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=P},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(o){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(js(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Jt.update(()=>{lm.hasAnimatedSinceResize=!0,this.currentAnimation=Hz(0,iT,{...o,onUpdate:a=>{this.mixTargetDelta(a),o.onUpdate&&o.onUpdate(a)},onComplete:()=>{o.onComplete&&o.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const o=this.getStack();o&&o.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(iT),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const o=this.getLead();let{targetWithTransforms:a,target:l,layout:f,latestValues:h}=o;if(!(!a||!l||!f)){if(this!==o&&this.layout&&f&&iL(this.options.animationType,this.layout.layoutBox,f.layoutBox)){l=this.target||Cn();const d=tr(this.layout.layoutBox.x);l.x.min=o.target.x.min,l.x.max=l.x.min+d;const p=tr(this.layout.layoutBox.y);l.y.min=o.target.y.min,l.y.max=l.y.min+p}mr(a,l),yc(a,h),df(this.projectionDeltaWithTransform,this.layoutCorrected,a,h)}}registerSharedNode(o,a){this.sharedNodes.has(o)||this.sharedNodes.set(o,new Oz),this.sharedNodes.get(o).add(a);const f=a.options.initialPromotionConfig;a.promote({transition:f?f.transition:void 0,preserveFollowOpacity:f&&f.shouldPreserveFollowOpacity?f.shouldPreserveFollowOpacity(a):void 0})}isLead(){const o=this.getStack();return o?o.lead===this:!0}getLead(){var o;const{layoutId:a}=this.options;return a?((o=this.getStack())===null||o===void 0?void 0:o.lead)||this:this}getPrevLead(){var o;const{layoutId:a}=this.options;return a?(o=this.getStack())===null||o===void 0?void 0:o.prevLead:void 0}getStack(){const{layoutId:o}=this.options;if(o)return this.root.sharedNodes.get(o)}promote({needsReset:o,transition:a,preserveFollowOpacity:l}={}){const f=this.getStack();f&&f.promote(this,l),o&&(this.projectionDelta=void 0,this.needsReset=!0),a&&this.setOptions({transition:a})}relegate(){const o=this.getStack();return o?o.relegate(this):!1}resetRotation(){const{visualElement:o}=this.options;if(!o)return;let a=!1;const{latestValues:l}=o;if((l.rotate||l.rotateX||l.rotateY||l.rotateZ)&&(a=!0),!a)return;const f={};for(let h=0;h{var a;return(a=o.currentAnimation)===null||a===void 0?void 0:a.stop()}),this.root.nodes.forEach(rT),this.root.sharedNodes.clear()}}}function jz(n){n.updateLayout()}function Xz(n){var e;const t=((e=n.resumeFrom)===null||e===void 0?void 0:e.snapshot)||n.snapshot;if(n.isLead()&&n.layout&&t&&n.hasListeners("didUpdate")){const{layoutBox:i,measuredBox:r}=n.layout,{animationType:s}=n.options,o=t.source!==n.layout.source;s==="size"?ns(d=>{const p=o?t.measuredBox[d]:t.layoutBox[d],m=tr(p);p.min=i[d].min,p.max=p.min+m}):iL(s,t.layoutBox,i)&&ns(d=>{const p=o?t.measuredBox[d]:t.layoutBox[d],m=tr(i[d]);p.max=p.min+m,n.relativeTarget&&!n.currentAnimation&&(n.isProjectionDirty=!0,n.relativeTarget[d].max=n.relativeTarget[d].min+m)});const a=vc();df(a,i,t.layoutBox);const l=vc();o?df(l,n.applyTransform(r,!0),t.measuredBox):df(l,i,t.layoutBox);const f=!eL(a);let h=!1;if(!n.resumeFrom){const d=n.getClosestProjectingParent();if(d&&!d.resumeFrom){const{snapshot:p,layout:m}=d;if(p&&m){const y=Cn();pf(y,t.layoutBox,p.layoutBox);const A=Cn();pf(A,i,m.layoutBox),tL(y,A)||(h=!0),d.options.layoutRoot&&(n.relativeTarget=A,n.relativeTargetOrigin=y,n.relativeParent=d)}}}n.notifyListeners("didUpdate",{layout:i,snapshot:t,delta:l,layoutDelta:a,hasLayoutChanged:f,hasRelativeTargetChanged:h})}else if(n.isLead()){const{onExitComplete:i}=n.options;i&&i()}n.options.transition=void 0}function Yz(n){ba.totalNodes++,n.parent&&(n.isProjecting()||(n.isProjectionDirty=n.parent.isProjectionDirty),n.isSharedProjectionDirty||(n.isSharedProjectionDirty=!!(n.isProjectionDirty||n.parent.isProjectionDirty||n.parent.isSharedProjectionDirty)),n.isTransformDirty||(n.isTransformDirty=n.parent.isTransformDirty))}function qz(n){n.isProjectionDirty=n.isSharedProjectionDirty=n.isTransformDirty=!1}function Zz(n){n.clearSnapshot()}function rT(n){n.clearMeasurements()}function Kz(n){n.isLayoutDirty=!1}function Jz(n){const{visualElement:e}=n.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),n.resetTransform()}function sT(n){n.finishAnimation(),n.targetDelta=n.relativeTarget=n.target=void 0,n.isProjectionDirty=!0}function Qz(n){n.resolveTargetDelta()}function $z(n){n.calcProjection()}function e4(n){n.resetRotation()}function t4(n){n.removeLeadSnapshot()}function oT(n,e,t){n.translate=an(e.translate,0,t),n.scale=an(e.scale,1,t),n.origin=e.origin,n.originPoint=e.originPoint}function aT(n,e,t,i){n.min=an(e.min,t.min,i),n.max=an(e.max,t.max,i)}function n4(n,e,t,i){aT(n.x,e.x,t.x,i),aT(n.y,e.y,t.y,i)}function i4(n){return n.animationValues&&n.animationValues.opacityExit!==void 0}const r4={duration:.45,ease:[.4,0,.1,1]},lT=n=>typeof navigator<"u"&&navigator.userAgent.toLowerCase().includes(n),cT=lT("applewebkit/")&&!lT("chrome/")?Math.round:gn;function uT(n){n.min=cT(n.min),n.max=cT(n.max)}function s4(n){uT(n.x),uT(n.y)}function iL(n,e,t){return n==="position"||n==="preserve-aspect"&&!Jx(eT(e),eT(t),.2)}const o4=nL({attachResizeListener:(n,e)=>Ns(n,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),ey={current:void 0},rL=nL({measureScroll:n=>({x:n.scrollLeft,y:n.scrollTop}),defaultParent:()=>{if(!ey.current){const n=new o4({});n.mount(window),n.setOptions({layoutScroll:!0}),ey.current=n}return ey.current},resetTransform:(n,e)=>{n.style.transform=e!==void 0?e:"none"},checkIsScrollRoot:n=>window.getComputedStyle(n).position==="fixed"}),a4={pan:{Feature:Mz},drag:{Feature:Az,ProjectionNode:rL,MeasureLayout:J2}},l4=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function c4(n){const e=l4.exec(n);if(!e)return[,];const[,t,i]=e;return[t,i]}function t_(n,e,t=1){const[i,r]=c4(n);if(!i)return;const s=window.getComputedStyle(e).getPropertyValue(i);if(s){const o=s.trim();return z2(o)?parseFloat(o):o}else return Wx(r)?t_(r,e,t+1):r}function u4(n,{...e},t){const i=n.current;if(!(i instanceof Element))return{target:e,transitionEnd:t};t&&(t={...t}),n.values.forEach(r=>{const s=r.get();if(!Wx(s))return;const o=t_(s,i);o&&r.set(o)});for(const r in e){const s=e[r];if(!Wx(s))continue;const o=t_(s,i);o&&(e[r]=o,t||(t={}),t[r]===void 0&&(t[r]=s))}return{target:e,transitionEnd:t}}const f4=new Set(["width","height","top","left","right","bottom","x","y","translateX","translateY"]),sL=n=>f4.has(n),h4=n=>Object.keys(n).some(sL),fT=n=>n===cl||n===ct,hT=(n,e)=>parseFloat(n.split(", ")[e]),dT=(n,e)=>(t,{transform:i})=>{if(i==="none"||!i)return 0;const r=i.match(/^matrix3d\((.+)\)$/);if(r)return hT(r[1],e);{const s=i.match(/^matrix\((.+)\)$/);return s?hT(s[1],n):0}},d4=new Set(["x","y","z"]),p4=xh.filter(n=>!d4.has(n));function m4(n){const e=[];return p4.forEach(t=>{const i=n.getValue(t);i!==void 0&&(e.push([t,i.get()]),i.set(t.startsWith("scale")?1:0))}),e.length&&n.render(),e}const Vc={width:({x:n},{paddingLeft:e="0",paddingRight:t="0"})=>n.max-n.min-parseFloat(e)-parseFloat(t),height:({y:n},{paddingTop:e="0",paddingBottom:t="0"})=>n.max-n.min-parseFloat(e)-parseFloat(t),top:(n,{top:e})=>parseFloat(e),left:(n,{left:e})=>parseFloat(e),bottom:({y:n},{top:e})=>parseFloat(e)+(n.max-n.min),right:({x:n},{left:e})=>parseFloat(e)+(n.max-n.min),x:dT(4,13),y:dT(5,14)};Vc.translateX=Vc.x;Vc.translateY=Vc.y;const g4=(n,e,t)=>{const i=e.measureViewportBox(),r=e.current,s=getComputedStyle(r),{display:o}=s,a={};o==="none"&&e.setStaticValue("display",n.display||"block"),t.forEach(f=>{a[f]=Vc[f](i,s)}),e.render();const l=e.measureViewportBox();return t.forEach(f=>{const h=e.getValue(f);h&&h.jump(a[f]),n[f]=Vc[f](l,s)}),n},v4=(n,e,t={},i={})=>{e={...e},i={...i};const r=Object.keys(e).filter(sL);let s=[],o=!1;const a=[];if(r.forEach(l=>{const f=n.getValue(l);if(!n.hasValue(l))return;let h=t[l],d=Lu(h);const p=e[l];let m;if(Wm(p)){const y=p.length,A=p[0]===null?1:0;h=p[A],d=Lu(h);for(let x=A;x=0?window.pageYOffset:null,f=g4(e,n,a);return s.length&&s.forEach(([h,d])=>{n.getValue(h).set(d)}),n.render(),wg&&l!==null&&window.scrollTo({top:l}),{target:f,transitionEnd:i}}else return{target:e,transitionEnd:i}};function y4(n,e,t,i){return h4(e)?v4(n,e,t,i):{target:e,transitionEnd:i}}const x4=(n,e,t,i)=>{const r=u4(n,e,i);return e=r.target,i=r.transitionEnd,y4(n,e,t,i)},n_={current:null},oL={current:!1};function _4(){if(oL.current=!0,!!wg)if(window.matchMedia){const n=window.matchMedia("(prefers-reduced-motion)"),e=()=>n_.current=n.matches;n.addListener(e),e()}else n_.current=!1}function S4(n,e,t){const{willChange:i}=e;for(const r in e){const s=e[r],o=t[r];if(Bi(s))n.addValue(r,s),qm(i)&&i.add(r);else if(Bi(o))n.addValue(r,zc(s,{owner:n})),qm(i)&&i.remove(r);else if(o!==s)if(n.hasValue(r)){const a=n.getValue(r);!a.hasAnimated&&a.set(s)}else{const a=n.getStaticValue(r);n.addValue(r,zc(a!==void 0?a:s,{owner:n}))}}for(const r in t)e[r]===void 0&&n.removeValue(r);return e}const pT=new WeakMap,aL=Object.keys(Vf),A4=aL.length,mT=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],M4=n1.length;class w4{constructor({parent:e,props:t,presenceContext:i,reducedMotionConfig:r,visualState:s},o={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>Jt.render(this.render,!1,!0);const{latestValues:a,renderState:l}=s;this.latestValues=a,this.baseTarget={...a},this.initialValues=t.initial?{...a}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=i,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.options=o,this.isControllingVariants=Tg(t),this.isVariantNode=jR(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);const{willChange:f,...h}=this.scrapeMotionValuesFromProps(t,{});for(const d in h){const p=h[d];a[d]!==void 0&&Bi(p)&&(p.set(a[d],!1),qm(f)&&f.add(d))}}scrapeMotionValuesFromProps(e,t){return{}}mount(e){this.current=e,pT.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((t,i)=>this.bindToMotionValue(i,t)),oL.current||_4(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:n_.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){pT.delete(this.current),this.projection&&this.projection.unmount(),js(this.notifyUpdate),js(this.render),this.valueSubscriptions.forEach(e=>e()),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const e in this.events)this.events[e].clear();for(const e in this.features)this.features[e].unmount();this.current=null}bindToMotionValue(e,t){const i=ll.has(e),r=t.on("change",o=>{this.latestValues[e]=o,this.props.onUpdate&&Jt.update(this.notifyUpdate,!1,!0),i&&this.projection&&(this.projection.isTransformDirty=!0)}),s=t.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(e,()=>{r(),s()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}loadFeatures({children:e,...t},i,r,s){let o,a;for(let l=0;lthis.scheduleRender(),animationType:typeof f=="string"?f:"both",initialPromotionConfig:s,layoutScroll:p,layoutRoot:m})}return a}updateFeatures(){for(const e in this.features){const t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):Cn()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}makeTargetAnimatable(e,t=!0){return this.makeTargetAnimatableFromInstance(e,this.props,t)}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let i=0;it.variantChildren.delete(e)}addValue(e,t){t!==this.values.get(e)&&(this.removeValue(e),this.bindToMotionValue(e,t)),this.values.set(e,t),this.latestValues[e]=t.get()}removeValue(e){this.values.delete(e);const t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let i=this.values.get(e);return i===void 0&&t!==void 0&&(i=zc(t,{owner:this}),this.addValue(e,i)),i}readValue(e){var t;return this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:(t=this.getBaseTargetFromProps(this.props,e))!==null&&t!==void 0?t:this.readValueFromInstance(this.current,e,this.options)}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){var t;const{initial:i}=this.props,r=typeof i=="string"||typeof i=="object"?(t=c1(this.props,i))===null||t===void 0?void 0:t[e]:void 0;if(i&&r!==void 0)return r;const s=this.getBaseTargetFromProps(this.props,e);return s!==void 0&&!Bi(s)?s:this.initialValues[e]!==void 0&&r===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new x1),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}}class lL extends w4{sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){return e.style?e.style[t]:void 0}removeValueFromRenderState(e,{vars:t,style:i}){delete t[e],delete i[e]}makeTargetAnimatableFromInstance({transition:e,transitionEnd:t,...i},{transformValues:r},s){let o=VB(i,e||{},this);if(r&&(t&&(t=r(t)),i&&(i=r(i)),o&&(o=r(o))),s){BB(this,i,o);const a=x4(this,i,o,t);t=a.transitionEnd,i=a.target}return{transition:e,transitionEnd:t,...i}}}function E4(n){return window.getComputedStyle(n)}class T4 extends lL{readValueFromInstance(e,t){if(ll.has(t)){const i=p1(t);return i&&i.default||0}else{const i=E4(e),r=(KR(t)?i.getPropertyValue(t):i[t])||0;return typeof r=="string"?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return Z2(e,t)}build(e,t,i,r){r1(e,t,i,r.transformTemplate)}scrapeMotionValuesFromProps(e,t){return l1(e,t)}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:e}=this.props;Bi(e)&&(this.childSubscription=e.on("change",t=>{this.current&&(this.current.textContent=`${t}`)}))}renderInstance(e,t,i,r){n2(e,t,i,r)}}class b4 extends lL{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(ll.has(t)){const i=p1(t);return i&&i.default||0}return t=i2.has(t)?t:e1(t),e.getAttribute(t)}measureInstanceViewportBox(){return Cn()}scrapeMotionValuesFromProps(e,t){return s2(e,t)}build(e,t,i,r){o1(e,t,i,this.isSVGTag,r.transformTemplate)}renderInstance(e,t,i,r){r2(e,t,i,r)}mount(e){this.isSVGTag=a1(e.tagName),super.mount(e)}}const C4=(n,e)=>i1(n)?new b4(e,{enableHardwareAcceleration:!1}):new T4(e,{enableHardwareAcceleration:!0}),P4={layout:{ProjectionNode:rL,MeasureLayout:J2}},R4={...nz,...Mk,...a4,...P4},vn=LF((n,e)=>uk(n,e,R4,C4)),Xt={paddingX:"sm:px-16 px-6",paddingY:"sm:py-16 py-6",padding:"sm:px-16 px-6 sm:py-16 py-10",heroHeadText:"font-black text-[#373737] lg:text-[80px] sm:text-[60px] xs:text-[50px] text-[40px] lg:leading-[98px] mt-2",heroSubText:"text-[#dfd9ff] font-medium lg:text-[30px] sm:text-[26px] xs:text-[20px] text-[16px] lg:leading-[40px]",sectionHeadText:"text-black font-black md:text-[60px] sm:text-[50px] xs:text-[40px] text-[30px]",sectionSubText:"sm:text-[18px] text-[14px] text-secondary uppercase tracking-wider"},L4="/portfolio-react-threejs/assets/web-0c6824d5.webp",I4="/portfolio-react-threejs/assets/mobile-84df6906.webp",D4="/portfolio-react-threejs/assets/creator-ab86683b.webp",N4="/portfolio-react-threejs/assets/csi-1f769921.webp",U4="/portfolio-react-threejs/assets/msc-abe50c5d.webp",O4="/portfolio-react-threejs/assets/nettv4u-35143e02.webp",F4="/portfolio-react-threejs/assets/shapeout-d15c331a.webp",k4="/portfolio-react-threejs/assets/facedetection-65dc0246.webp",B4="/portfolio-react-threejs/assets/Hi-783be2bb.webp",z4="/portfolio-react-threejs/assets/langgo-41707292.webp",V4="/portfolio-react-threejs/assets/lifeoverseas-fd137d40.webp",H4="/portfolio-react-threejs/assets/velox-429d856c.webp",G4="/portfolio-react-threejs/assets/yolo-9ff20b51.webp",W4="/portfolio-react-threejs/assets/anon_exchange-3f3d612c.webp",j4="/portfolio-react-threejs/assets/banana_class-8925bee5.webp",X4="/portfolio-react-threejs/assets/convogen-ba953cbd.webp",Y4="/portfolio-react-threejs/assets/1-710ab004.webp",q4="/portfolio-react-threejs/assets/2-bd31252c.webp",Z4="/portfolio-react-threejs/assets/3-da0bbfbc.webp",K4="/portfolio-react-threejs/assets/4-8d092131.webp",J4="/portfolio-react-threejs/assets/5-b3191ff5.webp",Q4="/portfolio-react-threejs/assets/6-b412236c.webp",$4="/portfolio-react-threejs/assets/7-21761f9b.webp",eV="/portfolio-react-threejs/assets/8-b4888019.webp",tV="/portfolio-react-threejs/assets/9-22d557f1.webp",nV="/portfolio-react-threejs/assets/1-bc4e4556.webp",iV="/portfolio-react-threejs/assets/2-466546d5.webp",rV="/portfolio-react-threejs/assets/1-c8ded170.webp",sV="/portfolio-react-threejs/assets/2-20979492.webp",gT=[{id:"",title:"Home",type:"route"},{id:"projects",title:"Projects",type:"route"},{id:"skills",title:"Skills",type:"route"},{id:"certificate",title:"Certificates",type:"route"},{id:"resume",title:"Resume",type:"route"},{id:"blogs",title:"Blogs",type:"route"},{id:"contact",title:"Contact",type:"route"},{id:"freetools",title:"Free Tools",type:"tools"}],oV=[{id:"downloadtube",title:"DownloadTube (Youtube Downloader)",type:"video",url:"https://downloadtube-iota.vercel.app/"}],aV=[{title:"Full Stack Web Development",icon:L4},{title:"Designing",icon:D4},{title:"ML and DL Learner",icon:I4}],lV=[{title:"Technical Content Writer",company_name:"Nettv4u",icon:O4,iconBg:"white",date:"October 2023 - December 2023 (2 Months)",points:["Writing Professional articles related to IT.","Ensuring use of no AI content in articles.","Creating articles on real facts and data."]},{title:"Technical member",company_name:"Microsoft Student Chapter",icon:U4,iconBg:"black",date:"October 2022 - March 2023 (6 Months)",points:["Maintaining the website and ensuring that it is up-to-date and functioning properly.","Collaborating with other members of the chapter to identify areas for improvement on the website.","Implementing changes and updates to the website using programming languages such as React.js, tailwind and JavaScript.","Debugging any issues or errors that arise on the website and working to resolve them."]},{title:"V open source member",company_name:"CSI Chapter",icon:N4,iconBg:"white",date:"Augest 2021 - June 2022 (11 Months)",points:["Conducting regular meetings to discuss open source projects and new initiatives.","Conducting workshops and training sessions to help members learn more about open source technologies.","Coordinating with other teams within the CSI chapter to ensure smooth execution of events."]}],cV=[{name:"ConvoGen AI",description:"'ConvoGen' is the virtual embodiment of me, a chatbot that offers lifelike insights and information about my experiences, interests, and personality. Engage in conversations that feel as real as speaking with me in person, as 'ConvoGen' shares a wealth of personal details and knowledge, creating a truly immersive and authentic chatbot experience.",tags:[{name:"T5 model",color:"blue-text-gradient"},{name:"Transformer",color:"green-text-gradient"},{name:"Colab",color:"pink-text-gradient"}],image:X4,source_code_link:"https://colab.research.google.com/drive/1a6LATySYKaS8qqfk_4maSaV4guvTRA-8?usp=sharing",date:"October 2023",link_type:"colab"},{name:"Anon Exchange - Anonymous chatting app",description:"An innovative anonymous chatting app that redefines digital interactions. This project empowers strangers to connect seamlessly, engaging in candid conversations without the constraints of identity. What sets us apart is our commitment to privacy, allowing users to create exclusive private chat rooms for confidential discussions.",tags:[{name:"vitejs",color:"blue-text-gradient"},{name:"supabase",color:"green-text-gradient"},{name:"tailwind CSS",color:"pink-text-gradient"}],image:W4,source_code_link:"https://github.com/bedead/Anon-Exchange-chatting",date:"August 2023",link_type:"github"},{name:"Banana disease classification",description:"Banana disease classification is a project that uses a YOLOv8 deep learning model to detect and identify various diseases affecting banana plants. The project is based on a custom dataset of images of banana leaves with different types of infections. The project aims to provide a fast and accurate diagnosis of banana diseases, which can help farmers and researchers to prevent crop losses and improve banana production.",tags:[{name:"YOLOv8",color:"green-text-gradient"},{name:"Colab",color:"pink-text-gradient"}],image:j4,source_code_link:"https://colab.research.google.com/drive/1TLumA28dCY-9_lzouIJtt2CsCjONGdNy?usp=sharing",date:"August 2023",link_type:"colab"},{name:"PATENT - CLASSIFICATION OF LUNG CANCER USING DEEP LEARNING TECHNIQUES.",description:"Application No - 202341039647 The model is based on a YOLOv8 (Deep learning Neural network architecture) and is trained on the publicly available dataset, which consists of lung CT scans of patients with and without lung cancer.",tags:[{name:"Gradio",color:"blue-text-gradient"},{name:"YOLO",color:"green-text-gradient"},{name:"Roboflow",color:"pink-text-gradient"}],image:G4,source_code_link:"https://github.com/bedead/lung-cancer-classification-yoloV8---gradio.git",date:"June 2023",link_type:"huggingface"},{name:"Face Detection",description:"'FACE-DETECTOR' is a GitHub repository showcasing an OpenCV project for detecting human faces using a cascade classifier. The project utilizes the OpenCV library, which is a popular computer vision library in Python, to detect human faces in images or video streams.",tags:[{name:"Cascade classifier",color:"blue-text-gradient"},{name:"Python",color:"green-text-gradient"},{name:"OpenCV",color:"pink-text-gradient"}],image:k4,source_code_link:"https://github.com/bedead/FACE-DETECTOR.git",date:"Feb 2023",link_type:"github"},{name:"Life Overseas",description:"Life Overseas is a concept website that aims to provide students with valuable resources and information to successfully clear entrance exams for foreign colleges.",tags:[{name:"Flask",color:"blue-text-gradient"},{name:"Python",color:"green-text-gradient"}],image:V4,source_code_link:"https://github.com/bedead/Life-Overseas-webiste.git",date:"Jan 2023",link_type:"github"},{name:"Velox Todo",description:"Velox Todo is a Windows application built using JavaFX and JSON files. It is a task management tool designed to help users organize and prioritize their daily tasks efficiently.",tags:[{name:"Java",color:"blue-text-gradient"},{name:"JavaFX",color:"green-text-gradient"},{name:"JSON",color:"pink-text-gradient"}],image:H4,source_code_link:"https://github.com/bedead/Velox-Todo-Application.git",date:"Sep 2022",link_type:"github"},{name:"HI",description:"'HI' is a console-based conversational app written in Python. It utilizes various libraries such as pyinstaller, pyjokes, PyDictionary, platform, psutil, requests, getpass, pywhatkit, pyttsx3, speechrecognition, Wikipedia, Pyaudio, speedtest-cli, pyautogui, and py-cpuinfo to provide a wide range of functionalities.",tags:[{name:"Python",color:"blue-text-gradient"},{name:"JSON",color:"green-text-gradient"}],image:B4,source_code_link:"https://github.com/bedead/HI_2021.12.22.4.git",date:"Mar 2022",link_type:"github"},{name:"Lang go",description:"'Lang Go' is a language translation app that is built using the Kivy and KivyMD frameworks in Python. The app utilizes the TextBlob library for translation capabilities. With 'Lang Go', users can input text in one language and translate it to another language seamlessly.",tags:[{name:"Kivy",color:"blue-text-gradient"},{name:"Kivymd",color:"green-text-gradient"},{name:"textBlob",color:"pink-text-gradient"}],image:z4,source_code_link:"https://github.com/bedead/kivymd-language-translation-app.git",date:"Mar 2022",link_type:"github"},{name:"Shape out",description:"'Shape Out' is a 2D platformer game available on Amazon, created using the Godot game engine. The game features intuitive controls, colorful graphics, and engaging gameplay that requires players to jump, run, and solve puzzles to progress through the levels.",tags:[{name:"Godot engine",color:"blue-text-gradient"},{name:"GD-script",color:"green-text-gradient"}],image:F4,source_code_link:"https://www.amazon.com/Bedead-Shape-Out-2d-platformer/dp/B0999LHBYN",date:"Aug 2021",link_type:"appstore"}],uV=[{name:"Basics of Machien Learing",image:Y4},{name:"C++ Course",image:q4},{name:"Making a Webiste",image:Z4},{name:"Java (Basics)",image:K4},{name:"Matlab Onramp",image:J4},{name:"MongoDB Tutorial",image:Q4},{name:"Python (Basics)",image:$4},{name:"Responsive Web Design Course",image:eV},{name:"TensorFlow Python",image:tV}],fV=[{name:"Technical Member | CSI ",image:nV},{name:"Technical Member | MSC",image:iV}],hV=[{name:" Google Cloud Digital Leader",image:rV},{name:" AI and ML with Data Science",image:sV}],dV="/portfolio-react-threejs/assets/logo-white-f51edd31.webp",pV="data:image/webp;base64,UklGRmQCAABXRUJQVlA4WAoAAAAwAAAAOwAAOwAASUNDUMgBAAAAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADZBTFBIPwAAAAFHoJBtBOime96H8WhEROhZb4CaSFYrLDAowA0OUIAD/DffJB2TJqL/AoIiF6yAJSV4nAc6xy/oOftIb+woAABWUDggLgAAAJADAJ0BKjwAPAA+bTaYSSQjIqEiCACADYlpAAAQN1NQBXiFuQAA/vucwAAAAAA=",mV="data:image/webp;base64,UklGRvwCAABXRUJQVlA4WAoAAAAwAAAALwAALwAASUNDUMgBAAAAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADZBTFBI2wAAAAF3oKCNFDb4bDxgYMkjIgJHTaxUSfkkcBTJtqu8T84gJEpAwheABSQkIVEIq7R9a7KCV9fDr3duIK4j+s/IbSRFteDDwEL9wv2lo6Ml4bmW5Yx2LFuayjlSHbMnX5SSBupihiFD9llir3CgZ1kYDzTJ3kFCU0RWRlZBUkNShavDNYBaiBpKPpEPNHbOBNMwbBnHf5bVaQj8s1jnu6bgL451auP4i+PPNol1WsQ6TerwAhGDOrxvjqoF7FtC0cKefFFKGqiLWcS+ZarsDc4wLgwv+Rt0tC4S948OBwBWUDggKgAAADADAJ0BKjAAMAA+bTaYSKQjIqEjiACADYlpAAAbgb0+DgAA/vucwAAAAA==",ls=n=>({hidden:{y:-50,opacity:0},show:{y:0,opacity:1,transition:{type:"spring",duration:1.25,delay:n}}}),$o=(n,e,t,i)=>({hidden:{x:n==="left"?100:n==="right"?-100:0,y:n==="up"?100:n==="down"?-100:0,opacity:0},show:{x:0,y:0,opacity:1,transition:{type:e,delay:t,duration:i,ease:"easeOut"}}}),gV=(n,e,t,i)=>({hidden:{x:n==="left"?"-100%":n==="right"?"100%":0,y:n==="up"||n==="down"?"100%":0},show:{x:0,y:0,transition:{type:e,delay:t,duration:i,ease:"easeOut"}}}),vV=(n,e)=>({hidden:{},show:{transition:{staggerChildren:n,delayChildren:e||0}}}),Ks=()=>{const[n,e]=z.useState(""),[t,i]=z.useState(!1),[r,s]=z.useState(!1);return G.jsx("nav",{className:`${Xt.paddingX} w-full flex items-center py-5 fixed top-0 z-20 bg-gradient-to-b from-white to-primary`,children:G.jsxs("div",{className:"w-full flex justify-between items-center max-w-7xl mx-auto",children:[G.jsxs(Hv,{to:"/",className:"flex items-center gap-2",onClick:()=>{e(""),window.scrollTo(0,0)},children:[G.jsx("img",{src:dV,className:"w-10 h-10 object-contain",alt:"logo"}),G.jsxs("div",{className:" md:block lg:flex ",children:[G.jsx("p",{className:"text-black text-[18px] flex",children:"Satyam Mishra  "}),G.jsx("span",{className:"text-[18px] sm:block hidden",children:"| Bedead"})]})]}),G.jsxs("ul",{className:"list-none hidden sm:flex flex-row md:gap-4 items-center",children:[gT.map(o=>G.jsx("li",{className:o.type=="tools"?"bg-black text-white hover:text-white-100 hover:bg-secondary py-2 px-3 rounded-xl text-[18px] font-medium cursor-pointer":`${n==o.title?"text-black":"text-secondary"} + hover:text-black hover:underline underline-offset-8 text-[18px] font-medium cursor-pointer`,onClick:()=>{e(o.title),o.type=="tools"&&s(!r)},children:o.type=="tools"?o.title:G.jsxs(Hv,{to:`/${o.id}`,children:[o.title," "]})},o.id))," "]}),G.jsx("div",{className:`${r?"flex":"hidden"} p-6 bg-gradient-to-r from-[#f6f6f6] to-white absolute + top-60 right-40 sm:top-20 sm:right-5 mx-4 my-2 min-w-[140px] z-10 rounded-xl outline`,children:G.jsxs("ul",{className:"list-none flex justify-end items-start flex-col gap-2",children:[oV.map(o=>G.jsx(vn.li,{variants:$o("right","spring",.1,.75),className:`${n==o.title?"text-black":"text-secondary"} font-poppins hover:underline underline-offset-8 font-medium cursor-pointer text-[16px] hover:text-black`,onClick:()=>{s(!r),e(o.title),window.open(o.url,"_blank")},children:o.title},o.id))," "]})}),G.jsxs("div",{className:"sm:hidden flex flex-1 justify-end items-center",children:[G.jsx("img",{src:t?mV:pV,alt:"menu",className:"w-[28px] h-[28px] object-contain cursor-pointer",onClick:()=>i(!t)}),G.jsx("div",{className:`${t?"flex":"hidden"} p-6 bg-gradient-to-r from-[#f6f6f6] to-white absolute + top-20 right-0 mx-4 my-2 min-w-[140px] z-10 rounded-xl outline`,children:G.jsxs("ul",{className:"list-none flex justify-end items-start flex-col gap-2",children:[gT.map(o=>G.jsx("li",{className:`${n==o.title?"text-black":"text-secondary"} font-poppins hover:underline underline-offset-8 font-medium cursor-pointer text-[16px] hover:text-black`,onClick:()=>{o.type!="tools"&&i(!t),e(o.title),o.type=="tools"&&s(!r)},children:o.type=="tools"?o.title:G.jsxs(Hv,{to:`/${o.id}`,children:[o.title," "]})},o.id))," "]})})]})]})})},Js=(n,e)=>function(){return G.jsxs(vn.section,{variants:vV(),initial:"hidden",whileInView:"show",viewport:{once:!0,amount:0},exit:"hidden",className:`${Xt.padding} max-w-7xl mx-auto relative z-0`,children:[G.jsx("span",{className:"hash-span",id:e,children:" "}),G.jsx(n,{})]})},yV=()=>{const n="Hi, I'm Satyam",e=ls(0);return G.jsxs("section",{className:"relative w-full h-screen mx-auto overflow-hidden",children:[G.jsxs("div",{className:`${Xt.paddingX} flex absolute z-10 inset-0 top-[120px] items-start gap-5`,children:[G.jsxs("div",{className:"flex flex-col justify-center items-center mt-5",children:[G.jsx("div",{className:"w-5 h-5 rounded-full bg-[#373737]"}),G.jsx("div",{className:"w-1 sm:h-80 h-40 violet-gradient"})]}),G.jsxs("div",{children:[G.jsx(vn.h1,{variants:e,className:`${Xt.heroHeadText} funky-text-outline-2`,children:n}),G.jsxs(vn.div,{variants:$o("","",.1,1),children:[G.jsx("p",{className:`${Xt.heroSubText} funky-text-outline mt-2 text-black-100`,children:"I'm a computer science student with a simple and curious mind."}),G.jsx("p",{className:`${Xt.sectionSubText} mt-2 text-gray-600`,children:"This is just a website showcasing some of my works and experiments. Have a look until you get bored 🥱"})]})]})]}),G.jsx("div",{className:"absolute z-10 xs:bottom-15 bottom-32 w-full flex justify-center items-center",children:G.jsx("a",{href:"#about",children:G.jsx("div",{className:"w-[35px] h-[64px] rounded-3xl border-4 border-[#373737] flex justify-center items-start p-2",children:G.jsx(vn.div,{animate:{y:[0,24,0]},transition:{duration:1.5,repeat:1/0,repeatType:"loop"},className:"w-3 h-3 rounded-full bg-secondary mb-2"})})})})]})},xV=Js(yV,"Hero");var _V=Object.defineProperty,SV=Object.defineProperties,AV=Object.getOwnPropertyDescriptors,vT=Object.getOwnPropertySymbols,MV=Object.prototype.hasOwnProperty,wV=Object.prototype.propertyIsEnumerable,yT=(n,e,t)=>e in n?_V(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,Du=(n,e)=>{for(var t in e||(e={}))MV.call(e,t)&&yT(n,t,e[t]);if(vT)for(var t of vT(e))wV.call(e,t)&&yT(n,t,e[t]);return n},Nu=(n,e)=>SV(n,AV(e)),Rg=class extends z.Component{constructor(n){super(n),this.ref=hh.createRef(),this.state={style:{}};const e={reverse:!1,max:35,perspective:1e3,easing:"cubic-bezier(.03,.98,.52,.99)",scale:"1.1",speed:"1000",transition:!0,axis:null,reset:!0};this.width=null,this.height=null,this.left=null,this.top=null,this.transitionTimeout=null,this.updateCall=null,this.element=null,this.settings=Object.assign({},e,this.props.options),this.reverse=this.settings.reverse?-1:1,this.onMouseEnter=this.onMouseEnter.bind(this,this.props.onMouseEnter),this.onMouseMove=this.onMouseMove.bind(this,this.props.onMouseMove),this.onMouseLeave=this.onMouseLeave.bind(this,this.props.onMouseLeave)}componentDidMount(){this.element=this.ref.current,setTimeout(()=>{this.element.parentElement.querySelector(":hover")===this.element&&this.onMouseEnter()},0)}componentWillUnmount(){clearTimeout(this.transitionTimeout),cancelAnimationFrame(this.updateCall)}onMouseEnter(n=()=>{},e){return this.updateElementPosition(),this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{willChange:"transform"})})),this.setTransition(),n(e)}reset(){window.requestAnimationFrame(()=>{this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{transform:`perspective(${this.settings.perspective}px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`})}))})}onMouseMove(n=()=>{},e){return e.persist(),this.updateCall!==null&&window.cancelAnimationFrame(this.updateCall),this.event=e,this.updateCall=requestAnimationFrame(this.update.bind(this,e)),n(e)}setTransition(){clearTimeout(this.transitionTimeout),this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{transition:`${this.settings.speed}ms ${this.settings.easing}`})})),this.transitionTimeout=setTimeout(()=>{this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{transition:""})}))},this.settings.speed)}onMouseLeave(n=()=>{},e){return this.setTransition(),this.settings.reset&&this.reset(),n(e)}getValues(n){const e=(n.nativeEvent.clientX-this.left)/this.width,t=(n.nativeEvent.clientY-this.top)/this.height,i=Math.min(Math.max(e,0),1),r=Math.min(Math.max(t,0),1),s=(this.reverse*(this.settings.max/2-i*this.settings.max)).toFixed(2),o=(this.reverse*(r*this.settings.max-this.settings.max/2)).toFixed(2),a=i*100,l=r*100;return{tiltX:s,tiltY:o,percentageX:a,percentageY:l}}updateElementPosition(){const n=this.element.getBoundingClientRect();this.width=this.element.offsetWidth,this.height=this.element.offsetHeight,this.left=n.left,this.top=n.top}update(n){const e=this.getValues(n);this.setState(Object.assign({},this.state,{style:Nu(Du({},this.state.style),{transform:`perspective(${this.settings.perspective}px) rotateX(${this.settings.axis==="x"?0:e.tiltY}deg) rotateY(${this.settings.axis==="y"?0:e.tiltX}deg) scale3d(${this.settings.scale}, ${this.settings.scale}, ${this.settings.scale})`})})),this.updateCall=null}render(){const n=Object.assign({},this.props.style,this.state.style);return G.jsx("div",{style:n,ref:this.ref,className:this.props.className,onMouseEnter:this.onMouseEnter,onMouseMove:this.onMouseMove,onMouseLeave:this.onMouseLeave,children:this.props.children})}};const EV=({index:n,title:e,icon:t})=>G.jsx(Rg,{className:"xs:w-[250px] w-full",children:G.jsx(vn.div,{variants:$o("right","spring",.5*n,.75),className:"w-full green-pink-gradient p-[1px] rounded-[20px] shadow-[#fcd4d4] shadow-card",children:G.jsxs("div",{options:{max:45,scale:1,speed:450},className:"bg-primary rounded-[20px] py-5 px-12 min-h-[280px] flex justify-evenly items-center flex-col",children:[G.jsx("img",{src:t,alt:e,className:"w-16 h-16 object-contain"}),G.jsx("h3",{className:"text-black text-[20px] font-bold text-center",children:e})]})})}),TV=()=>G.jsxs(G.Fragment,{children:[G.jsxs(vn.div,{variants:ls(0),children:[G.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Overview."}),G.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"Introduction?"})]}),G.jsx(vn.p,{variants:$o("","",.1,1),className:"mt-4 text-secondary text-center text-[17px] max-w-full leading-[30px]",children:"I am a full stack web developer, graphic designer, and machine learning enthusiast. I have experience in creating dynamic and responsive websites using HTML, CSS, JavaScript, and other frameworks. I also have a passion for designing graphics that are eye-catching and appealing. I am always eager to learn new skills and technologies in the field of machine learning and deep learning. I have completed several projects and courses on various topics such as computer vision, and natural language processing."}),G.jsx("div",{className:"mt-20 flex flex-wrap justify-center gap-10",children:aV.map((n,e)=>G.jsx(EV,{index:e,...n},n.title))})]}),bV=Js(TV,"about");var Lg={},cL={exports:{}},CV="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",PV=CV,RV=PV;function uL(){}function fL(){}fL.resetWarningCache=uL;var LV=function(){function n(i,r,s,o,a,l){if(l!==RV){var f=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw f.name="Invariant Violation",f}}n.isRequired=n;function e(){return n}var t={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:e,element:n,elementType:n,instanceOf:e,node:n,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:fL,resetWarningCache:uL};return t.PropTypes=t,t};cL.exports=LV();var hL=cL.exports,dL={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(n){(function(){var e={}.hasOwnProperty;function t(){for(var i=[],r=0;r(typeof window=="object"&&document.documentElement.style.setProperty("--line-color",i),LV.default.createElement("div",{className:(0,IV.default)(e,"vertical-timeline",{"vertical-timeline--animate":n,"vertical-timeline--two-columns":t==="2-columns","vertical-timeline--one-column-left":t==="1-column"||t==="1-column-left","vertical-timeline--one-column-right":t==="1-column-right"})},r));mL.propTypes={children:lo.default.oneOfType([lo.default.arrayOf(lo.default.node),lo.default.node]).isRequired,className:lo.default.string,animate:lo.default.bool,layout:lo.default.oneOf(["1-column-left","1-column","2-columns","1-column-right"]),lineColor:lo.default.string};var DV=mL;Lg.default=DV;var Ig={};function i_(){return i_=Object.assign||function(n){for(var e=1;e=0)&&(t[r]=n[r]);return t}var s_=new Map,Qd=new WeakMap,xT=0,gL=void 0;function OV(n){gL=n}function FV(n){return n?(Qd.has(n)||(xT+=1,Qd.set(n,xT.toString())),Qd.get(n)):"0"}function kV(n){return Object.keys(n).sort().filter(function(e){return n[e]!==void 0}).map(function(e){return e+"_"+(e==="root"?FV(n.root):n[e])}).toString()}function BV(n){var e=kV(n),t=s_.get(e);if(!t){var i=new Map,r,s=new IntersectionObserver(function(o){o.forEach(function(a){var l,f=a.isIntersecting&&r.some(function(h){return a.intersectionRatio>=h});n.trackVisibility&&typeof a.isVisible>"u"&&(a.isVisible=f),(l=i.get(a.target))==null||l.forEach(function(h){h(f,a)})})},n);r=s.thresholds||(Array.isArray(n.threshold)?n.threshold:[n.threshold||0]),t={id:e,observer:s,elements:i},s_.set(e,t)}return t}function S1(n,e,t,i){if(t===void 0&&(t={}),i===void 0&&(i=gL),typeof window.IntersectionObserver>"u"&&i!==void 0){var r=n.getBoundingClientRect();return e(i,{isIntersecting:i,target:n,intersectionRatio:typeof t.threshold=="number"?t.threshold:0,time:0,boundingClientRect:r,intersectionRect:r,rootBounds:r}),function(){}}var s=BV(t),o=s.id,a=s.observer,l=s.elements,f=l.get(n)||[];return l.has(n)||l.set(n,f),f.push(e),a.observe(n),function(){f.splice(f.indexOf(e),1),f.length===0&&(l.delete(n),a.unobserve(n)),l.size===0&&(a.disconnect(),s_.delete(o))}}var zV=["children","as","triggerOnce","threshold","root","rootMargin","onChange","skip","trackVisibility","delay","initialInView","fallbackInView"];function _T(n){return typeof n.children!="function"}var Km=function(n){NV(e,n);function e(i){var r;return r=n.call(this,i)||this,r.node=null,r._unobserveCb=null,r.handleNode=function(s){r.node&&(r.unobserve(),!s&&!r.props.triggerOnce&&!r.props.skip&&r.setState({inView:!!r.props.initialInView,entry:void 0})),r.node=s||null,r.observeNode()},r.handleChange=function(s,o){s&&r.props.triggerOnce&&r.unobserve(),_T(r.props)||r.setState({inView:s,entry:o}),r.props.onChange&&r.props.onChange(s,o)},r.state={inView:!!i.initialInView,entry:void 0},r}var t=e.prototype;return t.componentDidUpdate=function(r){(r.rootMargin!==this.props.rootMargin||r.root!==this.props.root||r.threshold!==this.props.threshold||r.skip!==this.props.skip||r.trackVisibility!==this.props.trackVisibility||r.delay!==this.props.delay)&&(this.unobserve(),this.observeNode())},t.componentWillUnmount=function(){this.unobserve(),this.node=null},t.observeNode=function(){if(!(!this.node||this.props.skip)){var r=this.props,s=r.threshold,o=r.root,a=r.rootMargin,l=r.trackVisibility,f=r.delay,h=r.fallbackInView;this._unobserveCb=S1(this.node,this.handleChange,{threshold:s,root:o,rootMargin:a,trackVisibility:l,delay:f},h)}},t.unobserve=function(){this._unobserveCb&&(this._unobserveCb(),this._unobserveCb=null)},t.render=function(){if(!_T(this.props)){var r=this.state,s=r.inView,o=r.entry;return this.props.children({inView:s,entry:o,ref:this.handleNode})}var a=this.props,l=a.children,f=a.as,h=UV(a,zV);return V.createElement(f||"div",i_({ref:this.handleNode},h),l)},e}(V.Component);Km.displayName="InView";Km.defaultProps={threshold:0,triggerOnce:!1,initialInView:!1};function VV(n){var e=n===void 0?{}:n,t=e.threshold,i=e.delay,r=e.trackVisibility,s=e.rootMargin,o=e.root,a=e.triggerOnce,l=e.skip,f=e.initialInView,h=e.fallbackInView,d=V.useRef(),p=V.useState({inView:!!f}),m=p[0],y=p[1],A=V.useCallback(function(g){d.current!==void 0&&(d.current(),d.current=void 0),!l&&g&&(d.current=S1(g,function(_,S){y({inView:_,entry:S}),S.isIntersecting&&a&&d.current&&(d.current(),d.current=void 0)},{root:o,rootMargin:s,threshold:t,trackVisibility:r,delay:i},h))},[Array.isArray(t)?t.toString():t,o,s,a,l,r,h,i]);V.useEffect(function(){!d.current&&m.entry&&!a&&!l&&y({inView:!!f})});var x=[A,m.inView,m.entry];return x.ref=x[0],x.inView=x[1],x.entry=x[2],x}const HV=Object.freeze(Object.defineProperty({__proto__:null,InView:Km,default:Km,defaultFallbackInView:OV,observe:S1,useInView:VV},Symbol.toStringTag,{value:"Module"})),WV=qD(HV);Ig.__esModule=!0;Ig.default=void 0;var co=A1(V),en=A1(hL),$d=A1(pL),GV=WV;function A1(n){return n&&n.__esModule?n:{default:n}}const vL=({children:n="",className:e="",contentArrowStyle:t=null,contentStyle:i=null,date:r="",dateClassName:s="",icon:o=null,iconClassName:a="",iconOnClick:l=null,onTimelineElementClick:f=null,iconStyle:h=null,id:d="",position:p="",style:m=null,textClassName:y="",intersectionObserverProps:A={rootMargin:"0px 0px -40px 0px",triggerOnce:!0},visible:x=!1})=>co.default.createElement(GV.InView,A,({inView:g,ref:_})=>co.default.createElement("div",{ref:_,id:d,className:(0,$d.default)(e,"vertical-timeline-element",{"vertical-timeline-element--left":p==="left","vertical-timeline-element--right":p==="right","vertical-timeline-element--no-children":n===""}),style:m},co.default.createElement(co.default.Fragment,null,co.default.createElement("span",{style:h,onClick:l,className:(0,$d.default)(a,"vertical-timeline-element-icon",{"bounce-in":g||x,"is-hidden":!(g||x)})},o),co.default.createElement("div",{style:i,onClick:f,className:(0,$d.default)(y,"vertical-timeline-element-content",{"bounce-in":g||x,"is-hidden":!(g||x)})},co.default.createElement("div",{style:t,className:"vertical-timeline-element-content-arrow"}),n,co.default.createElement("span",{className:(0,$d.default)(s,"vertical-timeline-element-date")},r)))));vL.propTypes={children:en.default.oneOfType([en.default.arrayOf(en.default.node),en.default.node]),className:en.default.string,contentArrowStyle:en.default.shape({}),contentStyle:en.default.shape({}),date:en.default.node,dateClassName:en.default.string,icon:en.default.element,iconClassName:en.default.string,iconStyle:en.default.shape({}),iconOnClick:en.default.func,onTimelineElementClick:en.default.func,id:en.default.string,position:en.default.string,style:en.default.shape({}),textClassName:en.default.string,visible:en.default.bool,intersectionObserverProps:en.default.shape({root:en.default.object,rootMargin:en.default.string,threshold:en.default.number,triggerOnce:en.default.bool})};var jV=vL;Ig.default=jV;var yL={VerticalTimeline:Lg.default,VerticalTimelineElement:Ig.default};const XV=({experience:n})=>z.jsxs(yL.VerticalTimelineElement,{contentStyle:{background:"black",color:"black"},contentArrowStyle:{borderRight:"7px solid black"},date:n.date,iconStyle:{background:n.iconBg},icon:z.jsx("div",{className:"flex justify-center items-center w-full h-full",children:z.jsx("img",{src:n.icon,alt:n.company_name,className:"w-[75%] h-[75%] object-contain"})}),children:[z.jsxs("div",{children:[z.jsx("h3",{className:"text-[#fcd4d4] text-[24px] font-bold",children:n.title}),z.jsxs("p",{className:"text-white text-[16px] font-semibold",style:{margin:0},children:[n.company_name," "]})]}),z.jsxs("ul",{className:"mt-5 list-disc ml-5 space-y-2",children:[n.points.map((e,t)=>z.jsxs("li",{className:"text-white-100 text-[14px] pl-1 tracking-wider",children:[e," "]},`experience-point-${t}`))," "]})]}),YV=()=>z.jsxs(z.Fragment,{children:[z.jsxs(un.div,{variants:ls(),children:[z.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Work Experience."}),z.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"Where I have worked so far?"})]}),z.jsx("div",{className:"mt-20 flex flex-col",children:z.jsxs(yL.VerticalTimeline,{lineColor:"#373737",children:[aV.map((n,e)=>z.jsx(XV,{experience:n},`experience-${e}`))," "]})})]}),qV=Js(YV,"work"),ZV=()=>z.jsx("div",{className:"h-screen flex justify-center items-center",children:z.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function KV(){return z.jsx(V.Suspense,{fallback:ZV(),children:z.jsxs("div",{className:" z-0 bg-white",children:[z.jsx(Ks,{}),z.jsxs("div",{className:"bg-gradient-to-b from-white to-primary",children:[z.jsx(yV,{}),z.jsx(TV,{}),z.jsx(qV,{})]})]})})}const ty=({index:n,name:e,image:t})=>z.jsx(un.div,{children:z.jsx("div",{children:z.jsx(un.div,{variants:$o("right","spring",.5*n,.75),children:z.jsxs(Rg,{options:{max:45,scale:1,speed:450},className:"bg-white shadow-[#fcd4d4] shadow-card p-5 rounded-2xl sm:w-[360px] w-full",children:[z.jsx("div",{className:"relative w-full h-[230px]",children:z.jsx("img",{src:t,placeholder:`${e}`,loading:"lazy",alt:"certificate image",className:"w-full h-full object-cover rounded-2xl"})}),z.jsx("h3",{className:"mt-5 text-black font-bold text-[24px] text-center",children:e})]})})})}),JV=()=>z.jsxs("div",{className:"-m-5 md:-m-10",children:[z.jsxs(un.div,{variants:ls(0),children:[z.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Certificates."}),z.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"Professional Certificates"})]}),z.jsxs("div",{className:"my-20 flex flex-wrap justify-center mx-auto space-x-5 gap-5 w-full",children:[fV.map((n,e)=>z.jsx(ty,{index:e,...n},`project-${e}`))," "]}),z.jsx(un.p,{variants:ls(0),className:`${Xt.sectionSubText} text-center`,children:"Work Certificates"}),z.jsxs("div",{className:"my-20 flex flex-wrap justify-center mx-auto space-x-5 gap-5 w-full",children:[uV.map((n,e)=>z.jsx(ty,{index:e,...n},`project-${e}`))," "]}),z.jsx(un.p,{variants:ls(0),className:`${Xt.sectionSubText} text-center`,children:"Course Certificates"}),z.jsxs("div",{className:"my-20 flex flex-wrap justify-center mx-auto space-x-5 gap-5 w-full",children:[cV.map((n,e)=>z.jsx(ty,{index:e,...n},`project-${e}`))," "]})]}),QV=Js(JV,"CertificateLists");function $V(){return z.jsxs("div",{className:"bg-white",children:[z.jsx(Ks,{}),z.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:z.jsx(QV,{})})]})}const eH="/portfolio-react-threejs/assets/cover_img-73d442a3.png",ST="/portfolio-react-threejs/assets/resume-a68436d4.pdf",tH=()=>{const[n,e]=V.useState(!1),t=()=>e(!0),i=()=>e(!1),r=()=>{const s=document.createElement("a");s.href=ST,s.download="Satyam_Mishra_Resume",s.click()};return z.jsxs("div",{className:"-m-5 md:-m-10 max-w-screen-xl mx-auto my-10 space-y-10 max",children:[z.jsxs(un.div,{variants:ls(0),children:[z.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Resume."}),z.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"Check out my beginner resume🤣"})]}),z.jsx(un.div,{variants:$o("right","spring",.5*0,.75),className:"md:flex justify-center items-center",children:z.jsxs(Rg,{options:{max:45,scale:1,speed:450},className:"group bg-white shadow-[#fcd4d4] shadow-card rounded-2xl mx-auto w-[90%] md:min-w-1/3 md:max-w-3xl h-full",children:[z.jsx("div",{className:"group-hover:opacity-100 relative w-full h-full mb-5",children:z.jsx("img",{src:eH,loading:"lazy",alt:"Resume cover image",className:"w-full h-full object-cover rounded-2xl"})}),z.jsxs("div",{className:"group-hover:opacity-100 flex items-center space-x-5 md:space-y-5 justify-center md:absolute md:top-10 md:-right-10 md:bottom-0 md:flex md:flex-col md:items-center md:justify-center opacity-0 hover:opacity-100 transition-opacity duration-300",children:[z.jsx("button",{className:"bg-blue-600 text-white hover:text-white-100 hover:bg-blue-800 py-2 px-3 rounded-xl text-[15px] font-medium cursor-pointer mb-2 md:mb-0",onClick:r,children:"Download"}),z.jsx("button",{className:"bg-green-600 text-white hover:text-white-100 hover:bg-green-800 py-2 px-3 rounded-xl text-[15px] font-medium cursor-pointer mb-2 md:mb-0",onClick:t,children:"View"})]})]})}),n&&z.jsx("div",{className:"fixed inset-0 z-50 overflow-auto -top-10 bg-black bg-opacity-60 flex items-center justify-center",children:z.jsxs("div",{className:"bg-white p-2 rounded-2xl max-w-screen-lg w-[70%] relative",children:[z.jsx("button",{className:"absolute -top-12 right-0 md:top-2 md:-right-20 bg-black hover:bg-gray-800 py-2 px-3 rounded-xl text-white hover:text-gray-200",onClick:i,children:"Close"}),z.jsx("iframe",{title:"PDF Viewer",src:ST,className:"w-full h-[400px]"})]})})]})},nH=Js(tH,"ResumeComp");function iH(){return z.jsxs("div",{className:"bg-white",children:[z.jsx(Ks,{}),z.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:z.jsx(nH,{})})]})}function rH(){return z.jsxs(un.div,{variants:ls(0),className:"h-screen ",children:[z.jsx("h1",{className:`${Xt.sectionHeadText} text-center`,children:"Coming soon"}),z.jsx("p",{className:`${Xt.heroSubText} mt-2 text-black-100 text-center`,children:"More things are on the way ✌️."})]})}const xL=Js(rH,"ComingSoon"),sH=()=>z.jsx("div",{className:"h-screen flex justify-center items-center",children:z.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function oH(){return z.jsx(V.Suspense,{fallback:sH(),children:z.jsxs("div",{className:"bg-white",children:[z.jsx(Ks,{}),z.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:z.jsx(xL,{})})]})})}const Wf={_origin:"https://api.emailjs.com"},aH=(n,e="https://api.emailjs.com")=>{Wf._userID=n,Wf._origin=e},_L=(n,e,t)=>{if(!n)throw"The public key is required. Visit https://dashboard.emailjs.com/admin/account";if(!e)throw"The service ID is required. Visit https://dashboard.emailjs.com/admin";if(!t)throw"The template ID is required. Visit https://dashboard.emailjs.com/admin/templates";return!0};class AT{constructor(e){this.status=e?e.status:0,this.text=e?e.responseText:"Network Error"}}const SL=(n,e,t={})=>new Promise((i,r)=>{const s=new XMLHttpRequest;s.addEventListener("load",({target:o})=>{const a=new AT(o);a.status===200||a.text==="OK"?i(a):r(a)}),s.addEventListener("error",({target:o})=>{r(new AT(o))}),s.open("POST",Wf._origin+n,!0),Object.keys(t).forEach(o=>{s.setRequestHeader(o,t[o])}),s.send(e)}),lH=(n,e,t,i)=>{const r=i||Wf._userID;return _L(r,n,e),SL("/api/v1.0/email/send",JSON.stringify({lib_version:"3.11.0",user_id:r,service_id:n,template_id:e,template_params:t}),{"Content-type":"application/json"})},cH=n=>{let e;if(typeof n=="string"?e=document.querySelector(n):e=n,!e||e.nodeName!=="FORM")throw"The 3rd parameter is expected to be the HTML form element or the style selector of form";return e},uH=(n,e,t,i)=>{const r=i||Wf._userID,s=cH(t);_L(r,n,e);const o=new FormData(s);return o.append("lib_version","3.11.0"),o.append("service_id",n),o.append("template_id",e),o.append("user_id",r),SL("/api/v1.0/email/send-form",o)},fH={init:aH,send:lH,sendForm:uH},hH=()=>{const n=V.useRef(),[e,t]=V.useState({name:"",email:"",message:""}),[i,r]=V.useState(!1),s=a=>{const{target:l}=a,{name:f,value:h}=l;t({...e,[f]:h})},o=a=>{a.preventDefault(),r(!0),fH.send("service_w2nrv74","template_hmf109b",{from_name:e.name,to_name:"Satyam Mishra",from_email:e.email,to_email:"satyammishra9050@gmail.com",message:e.message},"Tlnn1O7PC8WlYPRT7").then(()=>{r(!1),alert("Thank you. I will get back to you as soon as possible."),t({name:"",email:"",message:""})},l=>{r(!1),console.error(l),alert("Ahh, something went wrong. Please try again.")})};return z.jsxs("div",{className:"xl:mt-6 flex xl:flex-row flex-col-reverse gap-10 overflow-hidden md:w-[80%] lg:w-[70%] ",children:[z.jsxs(un.div,{variants:mV("left","tween",.2,1),className:"flex-[0.75] bg-white p-8 shadow-[#fcd4d4] shadow-card rounded-2xl",children:[z.jsx("p",{className:Xt.sectionSubText,children:"I am open to work"}),z.jsx("h3",{className:Xt.sectionHeadText,children:"Get In Touch."}),z.jsxs("form",{ref:n,onSubmit:o,className:"mt-12 flex flex-col gap-8",children:[z.jsxs("label",{className:"flex flex-col",children:[z.jsx("span",{className:"text-black font-medium mb-4",children:"Your Name"}),z.jsx("input",{type:"text",name:"name",value:e.name,onChange:s,placeholder:"What's your good name?",className:"bg-secondary py-4 px-6 placeholder:text-white-100 text-white rounded-lg outline-none border-none font-medium"})]}),z.jsxs("label",{className:"flex flex-col",children:[z.jsx("span",{className:"text-black font-medium mb-4",children:"Your email"}),z.jsx("input",{type:"email",name:"email",value:e.email,onChange:s,placeholder:"What's your web address?",className:"bg-secondary py-4 px-6 placeholder:text-white-100 text-white rounded-lg outline-none border-none font-medium"})]}),z.jsxs("label",{className:"flex flex-col",children:[z.jsx("span",{className:"text-black font-medium mb-4",children:"Your Message"}),z.jsx("textarea",{rows:7,name:"message",value:e.message,onChange:s,placeholder:"What you want to say?",className:"bg-secondary py-4 px-6 placeholder:text-white-100 text-white rounded-lg outline-none border-none font-medium"})]}),z.jsxs("button",{type:"submit",className:"bg-black hover:bg-slate-600 py-3 px-8 rounded-xl outline-none w-fit text-white font-bold shadow-md shadow-primary",children:[i?"Sending...":"Send"," "]})]})]})," "]})},dH=Js(hH,"contact");function pH(){return z.jsxs("div",{className:"bg-white",children:[z.jsx(Ks,{}),z.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:z.jsx(dH,{})})]})}const MT="data:image/webp;base64,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",mH="/portfolio-react-threejs/assets/appstore-0b8f390b.png",gH="/portfolio-react-threejs/assets/colab-9e4861eb.png",vH="/portfolio-react-threejs/assets/huggingface-720eadc9.png",yH=({index:n,name:e,description:t,tags:i,image:r,source_code_link:s,date:o,link_type:a})=>z.jsx(un.div,{children:z.jsx("div",{children:z.jsx(un.div,{variants:$o("right","spring",.5*n,.75),children:z.jsxs(Rg,{options:{max:45,scale:1,speed:450},className:"bg-white shadow-[#fcd4d4] shadow-card p-5 rounded-2xl sm:w-[360px] w-full",children:[z.jsxs("div",{className:"relative w-full h-[230px]",children:[z.jsx("img",{src:r,alt:"project_image",className:"w-full h-full object-cover rounded-2xl"}),z.jsx("div",{className:"absolute inset-0 flex justify-end m-3 card-img_hover",children:z.jsx("div",{onClick:()=>window.open(s,"_blank"),className:"white-gradient w-10 h-10 rounded-full flex justify-center items-center cursor-pointer",children:z.jsx("img",{src:a=="github"?MT:a=="colab"?gH:a=="huggingface"?vH:a=="appstore"?mH:MT,alt:"github repositories for projects",className:"w-1/2 h-1/2 object-contain"})})})]}),z.jsxs("div",{className:"mt-5",children:[z.jsx("h3",{className:"text-black font-bold text-[24px]",children:e}),z.jsx("p",{className:"mt-2 text-secondary text-[14px]",children:t})]}),z.jsxs("div",{className:"mt-4 flex flex-wrap gap-2",children:[i.map(l=>z.jsxs("p",{className:`text-[14px] ${l.color}`,children:["#",l.name," "]},`${e}-${l.name}`))," "]}),z.jsx("p",{children:o})]})})})}),xH=()=>z.jsxs("div",{className:"-m-5 md:-m-10 ",children:[z.jsxs(un.div,{variants:ls(0),children:[z.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Projects."}),z.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"My works?"})]}),z.jsx(un.div,{variants:$o("","",.1,1),className:"w-full flex",children:z.jsx("p",{className:"mt-3 text-secondary text-center text-[17px] max-w-full leading-[30px]",children:"The projects that are listed below provide examples of my work in the real world, showcasing my abilities and experience. Each project has a brief description, links to code repositories, and live demonstrations. It exhibits my ability to work with various technologies, manage projects efficiently, and solve complex problems."})}),z.jsxs("div",{className:" mt-20 grid md:grid-cols-2 lg:grid-cols-3 gap-5",children:[lV.map((n,e)=>z.jsx(yH,{index:e,...n},`project-${e}`))," "]})]}),_H=Js(xH,"project");function SH(){return z.jsxs("div",{className:"bg-white",children:[z.jsx(Ks,{}),z.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:z.jsx(_H,{})})]})}/** +*/(function(n){(function(){var e={}.hasOwnProperty;function t(){for(var i=[],r=0;r(typeof window=="object"&&document.documentElement.style.setProperty("--line-color",i),IV.default.createElement("div",{className:(0,DV.default)(e,"vertical-timeline",{"vertical-timeline--animate":n,"vertical-timeline--two-columns":t==="2-columns","vertical-timeline--one-column-left":t==="1-column"||t==="1-column-left","vertical-timeline--one-column-right":t==="1-column-right"})},r));mL.propTypes={children:lo.default.oneOfType([lo.default.arrayOf(lo.default.node),lo.default.node]).isRequired,className:lo.default.string,animate:lo.default.bool,layout:lo.default.oneOf(["1-column-left","1-column","2-columns","1-column-right"]),lineColor:lo.default.string};var NV=mL;Lg.default=NV;var Ig={};function i_(){return i_=Object.assign||function(n){for(var e=1;e=0)&&(t[r]=n[r]);return t}var s_=new Map,Qd=new WeakMap,xT=0,gL=void 0;function FV(n){gL=n}function kV(n){return n?(Qd.has(n)||(xT+=1,Qd.set(n,xT.toString())),Qd.get(n)):"0"}function BV(n){return Object.keys(n).sort().filter(function(e){return n[e]!==void 0}).map(function(e){return e+"_"+(e==="root"?kV(n.root):n[e])}).toString()}function zV(n){var e=BV(n),t=s_.get(e);if(!t){var i=new Map,r,s=new IntersectionObserver(function(o){o.forEach(function(a){var l,f=a.isIntersecting&&r.some(function(h){return a.intersectionRatio>=h});n.trackVisibility&&typeof a.isVisible>"u"&&(a.isVisible=f),(l=i.get(a.target))==null||l.forEach(function(h){h(f,a)})})},n);r=s.thresholds||(Array.isArray(n.threshold)?n.threshold:[n.threshold||0]),t={id:e,observer:s,elements:i},s_.set(e,t)}return t}function S1(n,e,t,i){if(t===void 0&&(t={}),i===void 0&&(i=gL),typeof window.IntersectionObserver>"u"&&i!==void 0){var r=n.getBoundingClientRect();return e(i,{isIntersecting:i,target:n,intersectionRatio:typeof t.threshold=="number"?t.threshold:0,time:0,boundingClientRect:r,intersectionRect:r,rootBounds:r}),function(){}}var s=zV(t),o=s.id,a=s.observer,l=s.elements,f=l.get(n)||[];return l.has(n)||l.set(n,f),f.push(e),a.observe(n),function(){f.splice(f.indexOf(e),1),f.length===0&&(l.delete(n),a.unobserve(n)),l.size===0&&(a.disconnect(),s_.delete(o))}}var VV=["children","as","triggerOnce","threshold","root","rootMargin","onChange","skip","trackVisibility","delay","initialInView","fallbackInView"];function _T(n){return typeof n.children!="function"}var Km=function(n){UV(e,n);function e(i){var r;return r=n.call(this,i)||this,r.node=null,r._unobserveCb=null,r.handleNode=function(s){r.node&&(r.unobserve(),!s&&!r.props.triggerOnce&&!r.props.skip&&r.setState({inView:!!r.props.initialInView,entry:void 0})),r.node=s||null,r.observeNode()},r.handleChange=function(s,o){s&&r.props.triggerOnce&&r.unobserve(),_T(r.props)||r.setState({inView:s,entry:o}),r.props.onChange&&r.props.onChange(s,o)},r.state={inView:!!i.initialInView,entry:void 0},r}var t=e.prototype;return t.componentDidUpdate=function(r){(r.rootMargin!==this.props.rootMargin||r.root!==this.props.root||r.threshold!==this.props.threshold||r.skip!==this.props.skip||r.trackVisibility!==this.props.trackVisibility||r.delay!==this.props.delay)&&(this.unobserve(),this.observeNode())},t.componentWillUnmount=function(){this.unobserve(),this.node=null},t.observeNode=function(){if(!(!this.node||this.props.skip)){var r=this.props,s=r.threshold,o=r.root,a=r.rootMargin,l=r.trackVisibility,f=r.delay,h=r.fallbackInView;this._unobserveCb=S1(this.node,this.handleChange,{threshold:s,root:o,rootMargin:a,trackVisibility:l,delay:f},h)}},t.unobserve=function(){this._unobserveCb&&(this._unobserveCb(),this._unobserveCb=null)},t.render=function(){if(!_T(this.props)){var r=this.state,s=r.inView,o=r.entry;return this.props.children({inView:s,entry:o,ref:this.handleNode})}var a=this.props,l=a.children,f=a.as,h=OV(a,VV);return z.createElement(f||"div",i_({ref:this.handleNode},h),l)},e}(z.Component);Km.displayName="InView";Km.defaultProps={threshold:0,triggerOnce:!1,initialInView:!1};function HV(n){var e=n===void 0?{}:n,t=e.threshold,i=e.delay,r=e.trackVisibility,s=e.rootMargin,o=e.root,a=e.triggerOnce,l=e.skip,f=e.initialInView,h=e.fallbackInView,d=z.useRef(),p=z.useState({inView:!!f}),m=p[0],y=p[1],A=z.useCallback(function(g){d.current!==void 0&&(d.current(),d.current=void 0),!l&&g&&(d.current=S1(g,function(_,S){y({inView:_,entry:S}),S.isIntersecting&&a&&d.current&&(d.current(),d.current=void 0)},{root:o,rootMargin:s,threshold:t,trackVisibility:r,delay:i},h))},[Array.isArray(t)?t.toString():t,o,s,a,l,r,h,i]);z.useEffect(function(){!d.current&&m.entry&&!a&&!l&&y({inView:!!f})});var x=[A,m.inView,m.entry];return x.ref=x[0],x.inView=x[1],x.entry=x[2],x}const GV=Object.freeze(Object.defineProperty({__proto__:null,InView:Km,default:Km,defaultFallbackInView:FV,observe:S1,useInView:HV},Symbol.toStringTag,{value:"Module"})),WV=qD(GV);Ig.__esModule=!0;Ig.default=void 0;var co=A1(z),en=A1(hL),$d=A1(pL),jV=WV;function A1(n){return n&&n.__esModule?n:{default:n}}const vL=({children:n="",className:e="",contentArrowStyle:t=null,contentStyle:i=null,date:r="",dateClassName:s="",icon:o=null,iconClassName:a="",iconOnClick:l=null,onTimelineElementClick:f=null,iconStyle:h=null,id:d="",position:p="",style:m=null,textClassName:y="",intersectionObserverProps:A={rootMargin:"0px 0px -40px 0px",triggerOnce:!0},visible:x=!1})=>co.default.createElement(jV.InView,A,({inView:g,ref:_})=>co.default.createElement("div",{ref:_,id:d,className:(0,$d.default)(e,"vertical-timeline-element",{"vertical-timeline-element--left":p==="left","vertical-timeline-element--right":p==="right","vertical-timeline-element--no-children":n===""}),style:m},co.default.createElement(co.default.Fragment,null,co.default.createElement("span",{style:h,onClick:l,className:(0,$d.default)(a,"vertical-timeline-element-icon",{"bounce-in":g||x,"is-hidden":!(g||x)})},o),co.default.createElement("div",{style:i,onClick:f,className:(0,$d.default)(y,"vertical-timeline-element-content",{"bounce-in":g||x,"is-hidden":!(g||x)})},co.default.createElement("div",{style:t,className:"vertical-timeline-element-content-arrow"}),n,co.default.createElement("span",{className:(0,$d.default)(s,"vertical-timeline-element-date")},r)))));vL.propTypes={children:en.default.oneOfType([en.default.arrayOf(en.default.node),en.default.node]),className:en.default.string,contentArrowStyle:en.default.shape({}),contentStyle:en.default.shape({}),date:en.default.node,dateClassName:en.default.string,icon:en.default.element,iconClassName:en.default.string,iconStyle:en.default.shape({}),iconOnClick:en.default.func,onTimelineElementClick:en.default.func,id:en.default.string,position:en.default.string,style:en.default.shape({}),textClassName:en.default.string,visible:en.default.bool,intersectionObserverProps:en.default.shape({root:en.default.object,rootMargin:en.default.string,threshold:en.default.number,triggerOnce:en.default.bool})};var XV=vL;Ig.default=XV;var yL={VerticalTimeline:Lg.default,VerticalTimelineElement:Ig.default};const YV=({experience:n})=>G.jsxs(yL.VerticalTimelineElement,{contentStyle:{background:"black",color:"black"},contentArrowStyle:{borderRight:"7px solid black"},date:n.date,iconStyle:{background:n.iconBg},icon:G.jsx("div",{className:"flex justify-center items-center w-full h-full",children:G.jsx("img",{src:n.icon,alt:n.company_name,className:"w-[75%] h-[75%] object-contain"})}),children:[G.jsxs("div",{children:[G.jsx("h3",{className:"text-[#fcd4d4] text-[24px] font-bold",children:n.title}),G.jsx("p",{className:"text-white text-[16px] font-semibold",style:{margin:0},children:n.company_name})]}),G.jsx("ul",{className:"mt-5 list-disc ml-5 space-y-2",children:n.points.map((e,t)=>G.jsx("li",{className:"text-white-100 text-[14px] pl-1 tracking-wider",children:e},`experience-point-${t}`))})]}),qV=()=>G.jsxs("section",{children:[G.jsxs(vn.div,{variants:ls(),children:[G.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Work Experience."}),G.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"Where I have worked so far?"})]}),G.jsx("div",{className:"mt-20 flex flex-col",children:G.jsx(yL.VerticalTimeline,{lineColor:"#373737",children:lV.map((n,e)=>G.jsx(YV,{experience:n},`experience-${e}`))})})]}),ZV=Js(qV,"work"),KV=()=>G.jsx("div",{className:"h-screen flex justify-center items-center",children:G.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function JV(){return G.jsx(z.Suspense,{fallback:KV(),children:G.jsxs("div",{className:" z-0 bg-white",children:[G.jsx(Ks,{}),G.jsxs("div",{className:"bg-gradient-to-b from-white to-primary",children:[G.jsx(xV,{}),G.jsx(bV,{}),G.jsx(ZV,{})]})]})})}const QV=({index:n,name:e,image:t})=>G.jsx(vn.div,{children:G.jsx(vn.div,{variants:$o("right","spring",.5*n,.75),children:G.jsxs(Rg,{options:{max:45,scale:1,speed:450},className:"bg-white shadow-[#fcd4d4] shadow-card p-5 rounded-2xl sm:w-[360px] w-full",children:[G.jsx("div",{className:"relative w-full h-[230px]",children:G.jsx("img",{src:t,placeholder:e,loading:"lazy",alt:"certificate image",className:"w-full h-full object-cover rounded-2xl"})}),G.jsx("h3",{className:"mt-5 text-black font-bold text-[24px] text-center",children:e})]})})}),ty=n=>n.map(({index:e,...t})=>G.jsx(QV,{index:e,...t},`project-${e}`)),$V=()=>G.jsxs("div",{className:"-m-5 md:-m-10",children:[G.jsxs(vn.div,{variants:ls(0),children:[G.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Certificates."}),G.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"Professional Certificates"})]}),G.jsx("div",{className:"my-20 flex flex-wrap justify-center mx-auto space-x-5 gap-5 w-full",children:ty(hV)}),G.jsx(vn.p,{variants:ls(0),className:`${Xt.sectionSubText} text-center`,children:"Work Certificates"}),G.jsx("div",{className:"my-20 flex flex-wrap justify-center mx-auto space-x-5 gap-5 w-full",children:ty(fV)}),G.jsx(vn.p,{variants:ls(0),className:`${Xt.sectionSubText} text-center`,children:"Course Certificates"}),G.jsx("div",{className:"my-20 flex flex-wrap justify-center mx-auto space-x-5 gap-5 w-full",children:ty(uV)})]}),e5=Js($V,"CertificateLists");function t5(){return G.jsxs("div",{className:"bg-white",children:[G.jsx(Ks,{}),G.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:G.jsx(e5,{})})]})}const n5="/portfolio-react-threejs/assets/cover_img-73d442a3.png",ST="/portfolio-react-threejs/assets/resume-a68436d4.pdf",i5=()=>{const[n,e]=z.useState(!1),t=()=>e(!0),i=()=>e(!1),r=()=>{const s=document.createElement("a");s.href=ST,s.download="Satyam_Mishra_Resume",s.click()};return G.jsxs("div",{className:"-m-5 md:-m-10 max-w-screen-xl mx-auto my-10 space-y-10 max",children:[G.jsxs(vn.div,{variants:ls(0),children:[G.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Resume."}),G.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"Check out my beginner resume🤣"})]}),G.jsx(vn.div,{variants:$o("right","spring",.5*0,.75),className:"md:flex justify-center items-center",children:G.jsxs(Rg,{options:{max:45,scale:1,speed:450},className:"group bg-white shadow-[#fcd4d4] shadow-card rounded-2xl mx-auto w-[90%] md:min-w-1/3 md:max-w-3xl h-full",children:[G.jsx("div",{className:"group-hover:opacity-100 relative w-full h-full mb-5",children:G.jsx("img",{src:n5,loading:"lazy",alt:"Resume cover image",className:"w-full h-full object-cover rounded-2xl"})}),G.jsxs("div",{className:"group-hover:opacity-100 flex items-center space-x-5 md:space-y-5 justify-center md:absolute md:top-10 md:-right-10 md:bottom-0 md:flex md:flex-col md:items-center md:justify-center opacity-0 hover:opacity-100 transition-opacity duration-300",children:[G.jsx("button",{className:"bg-blue-600 text-white hover:text-white-100 hover:bg-blue-800 py-2 px-3 rounded-xl text-[15px] font-medium cursor-pointer mb-2 md:mb-0",onClick:r,children:"Download"}),G.jsx("button",{className:"bg-green-600 text-white hover:text-white-100 hover:bg-green-800 py-2 px-3 rounded-xl text-[15px] font-medium cursor-pointer mb-2 md:mb-0",onClick:t,children:"View"})]})]})}),n&&G.jsx("div",{className:"fixed inset-0 z-50 overflow-auto -top-10 bg-black bg-opacity-60 flex items-center justify-center",children:G.jsxs("div",{className:"bg-white p-2 rounded-2xl max-w-screen-lg w-[70%] relative",children:[G.jsx("button",{className:"absolute -top-12 right-0 md:top-2 md:-right-20 bg-black hover:bg-gray-800 py-2 px-3 rounded-xl text-white hover:text-gray-200",onClick:i,children:"Close"}),G.jsx("iframe",{title:"PDF Viewer",src:ST,className:"w-full h-[400px]"})]})})]})},r5=Js(i5,"ResumeComp");function s5(){return G.jsxs("div",{className:"bg-white",children:[G.jsx(Ks,{}),G.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:G.jsx(r5,{})})]})}function o5(){return G.jsx("section",{className:"h-screen",children:G.jsxs(vn.div,{variants:ls(0),className:`${Xt.sectionHeadText} text-center`,children:[G.jsx("h1",{children:"Coming soon"}),G.jsx("p",{className:`${Xt.heroSubText} mt-2 text-black-100 text-center`,children:"More things are on the way ✌️."})]})})}const xL=Js(o5,"ComingSoon"),a5=()=>G.jsx("div",{className:"h-screen flex justify-center items-center",children:G.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function l5(){return G.jsx(z.Suspense,{fallback:a5(),children:G.jsxs("div",{className:"bg-white",children:[G.jsx(Ks,{}),G.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:G.jsx(xL,{})})]})})}const Gf={_origin:"https://api.emailjs.com"},c5=(n,e="https://api.emailjs.com")=>{Gf._userID=n,Gf._origin=e},_L=(n,e,t)=>{if(!n)throw"The public key is required. Visit https://dashboard.emailjs.com/admin/account";if(!e)throw"The service ID is required. Visit https://dashboard.emailjs.com/admin";if(!t)throw"The template ID is required. Visit https://dashboard.emailjs.com/admin/templates";return!0};class AT{constructor(e){this.status=e?e.status:0,this.text=e?e.responseText:"Network Error"}}const SL=(n,e,t={})=>new Promise((i,r)=>{const s=new XMLHttpRequest;s.addEventListener("load",({target:o})=>{const a=new AT(o);a.status===200||a.text==="OK"?i(a):r(a)}),s.addEventListener("error",({target:o})=>{r(new AT(o))}),s.open("POST",Gf._origin+n,!0),Object.keys(t).forEach(o=>{s.setRequestHeader(o,t[o])}),s.send(e)}),u5=(n,e,t,i)=>{const r=i||Gf._userID;return _L(r,n,e),SL("/api/v1.0/email/send",JSON.stringify({lib_version:"3.11.0",user_id:r,service_id:n,template_id:e,template_params:t}),{"Content-type":"application/json"})},f5=n=>{let e;if(typeof n=="string"?e=document.querySelector(n):e=n,!e||e.nodeName!=="FORM")throw"The 3rd parameter is expected to be the HTML form element or the style selector of form";return e},h5=(n,e,t,i)=>{const r=i||Gf._userID,s=f5(t);_L(r,n,e);const o=new FormData(s);return o.append("lib_version","3.11.0"),o.append("service_id",n),o.append("template_id",e),o.append("user_id",r),SL("/api/v1.0/email/send-form",o)},d5={init:c5,send:u5,sendForm:h5},p5=()=>{const n=z.useRef(),[e,t]=z.useState({name:"",email:"",message:""}),[i,r]=z.useState(!1),[s,o]=z.useState(!1),a=f=>{const{target:h}=f,{name:d,value:p}=h;t({...e,[d]:p})},l=f=>{f.preventDefault(),r(!0),d5.send("service_w2nrv74","template_hmf109b",{from_name:e.name,to_name:"Satyam Mishra",from_email:e.email,to_email:"satyammishra9050@gmail.com",message:e.message}).then(()=>{r(!1),o(!0),t({name:"",email:"",message:""})},h=>{r(!1),console.error(h),alert("Ahh, something went wrong. Please try again.")})};return G.jsx("div",{className:"xl:mt-6 flex xl:flex-row flex-col-reverse gap-10 overflow-hidden md:w-[80%] lg:w-[70%] ",children:G.jsxs(vn.div,{variants:gV("left","tween",.2,1),className:"flex-[0.75] bg-white p-8 shadow-[#fcd4d4] shadow-card rounded-2xl",children:[G.jsx("p",{className:Xt.sectionSubText,children:"I am open to work"}),G.jsx("h3",{className:Xt.sectionHeadText,children:"Get In Touch."}),s?G.jsx("p",{className:"text-green-500 mt-2 text-center",children:"Thank you. I will get back to you as soon as possible."}):G.jsxs("form",{ref:n,onSubmit:l,className:"mt-12 flex flex-col gap-8",children:[G.jsxs("label",{className:"flex flex-col",children:[G.jsx("span",{className:"text-black font-medium mb-4",children:"Your Name"}),G.jsx("input",{type:"text",name:"name",value:e.name,onChange:a,placeholder:"What's your good name?",className:"bg-secondary py-4 px-6 placeholder:text-white-100 text-white rounded-lg outline-none border-none font-medium"})]}),G.jsx("button",{type:"submit","aria-busy":i,className:"bg-black hover:bg-slate-600 py-3 px-8 rounded-xl outline-none w-fit text-white font-bold shadow-md shadow-primary",children:i?"Sending...":"Send"})]})]})})},m5=Js(p5,"contact");function g5(){return G.jsxs("div",{className:"bg-white",children:[G.jsx(Ks,{}),G.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:G.jsx(m5,{})})]})}const MT="data:image/webp;base64,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",v5="/portfolio-react-threejs/assets/appstore-0b8f390b.png",y5="/portfolio-react-threejs/assets/colab-9e4861eb.png",x5="/portfolio-react-threejs/assets/huggingface-720eadc9.png",_5=({index:n,name:e,description:t,tags:i,image:r,source_code_link:s,date:o,link_type:a})=>G.jsx(Rg,{className:"sm:w-[360px] w-full",children:G.jsx(vn.div,{variants:$o("right","spring",.5*n,.75),className:"shadow-[#fcd4d4] green-pink-gradient shadow-card p-[1px] rounded-2xl ",children:G.jsxs("div",{className:"bg-primary rounded-2xl py-5 px-8",options:{max:45,scale:1,speed:450},children:[G.jsxs("div",{className:"relative w-full h-[230px]",children:[G.jsx("img",{src:r,alt:"project_image",className:"w-full h-full object-cover rounded-2xl"}),G.jsx("div",{className:"absolute inset-0 flex justify-end m-3 card-img_hover",children:G.jsx("div",{onClick:()=>window.open(s,"_blank"),className:"white-gradient w-10 h-10 rounded-full flex justify-center items-center cursor-pointer",children:G.jsx("img",{src:a=="github"?MT:a=="colab"?y5:a=="huggingface"?x5:a=="appstore"?v5:MT,alt:"github repositories for projects",className:"w-1/2 h-1/2 object-contain"})})})]}),G.jsxs("div",{className:"mt-5",children:[G.jsx("h3",{className:"text-black font-bold text-[24px]",children:e}),G.jsx("p",{className:"mt-2 text-secondary text-[14px]",children:t})]}),G.jsxs("div",{className:"mt-4 flex flex-wrap gap-2",children:[i.map(l=>G.jsxs("p",{className:`text-[14px] ${l.color}`,children:["#",l.name," "]},`${e}-${l.name}`))," "]}),G.jsx("p",{children:o})]})})}),S5=()=>G.jsxs("div",{className:"-m-5 md:-m-10 ",children:[G.jsxs(vn.div,{variants:ls(0),children:[G.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Projects."}),G.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"My works?"})]}),G.jsx(vn.div,{variants:$o("","",.1,1),className:"w-full flex",children:G.jsx("p",{className:"mt-3 text-secondary text-center text-[17px] max-w-full leading-[30px]",children:"The projects that are listed below provide examples of my work in the real world, showcasing my abilities and experience. Each project has a brief description, links to code repositories, and live demonstrations. It exhibits my ability to work with various technologies, manage projects efficiently, and solve complex problems."})}),G.jsxs("div",{className:" mt-20 grid md:grid-cols-2 lg:grid-cols-3 gap-5",children:[cV.map((n,e)=>G.jsx(_5,{index:e,...n},`project-${e}`))," "]})]}),A5=Js(S5,"project");function M5(){return G.jsxs("div",{className:"bg-white",children:[G.jsx(Ks,{}),G.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:G.jsx(A5,{})})]})}/** * @license * Copyright 2010-2023 Three.js Authors * SPDX-License-Identifier: MIT - */const Dg="160",Ca={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},Pa={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},AL=0,o_=1,ML=2,AH=3,wL=0,Ng=1,mf=2,Rr=3,Xs=0,Mi=1,Nr=2,MH=2,zs=0,Ga=1,a_=2,l_=3,c_=4,EL=5,wo=100,TL=101,bL=102,u_=103,f_=104,CL=200,PL=201,RL=202,LL=203,Jm=204,Qm=205,IL=206,DL=207,NL=208,UL=209,OL=210,FL=211,kL=212,BL=213,zL=214,VL=0,HL=1,WL=2,Gf=3,GL=4,jL=5,XL=6,YL=7,Mh=0,qL=1,ZL=2,cs=0,KL=1,JL=2,QL=3,M1=4,$L=5,eI=6,h_="attached",tI="detached",Ug=300,Ys=301,Xo=302,jf=303,Xf=304,Qc=306,Yf=1e3,fi=1001,qf=1002,An=1003,$m=1004,wH=1004,gf=1005,EH=1005,wn=1006,w1=1007,TH=1007,Yo=1008,bH=1008,us=1009,nI=1010,iI=1011,Og=1012,E1=1013,Us=1014,Ur=1015,Hc=1016,T1=1017,b1=1018,Bo=1020,rI=1021,Si=1023,sI=1024,oI=1025,zo=1026,el=1027,aI=1028,C1=1029,lI=1030,P1=1031,R1=1033,cm=33776,um=33777,fm=33778,hm=33779,d_=35840,p_=35841,m_=35842,g_=35843,L1=36196,v_=37492,y_=37496,x_=37808,__=37809,S_=37810,A_=37811,M_=37812,w_=37813,E_=37814,T_=37815,b_=37816,C_=37817,P_=37818,R_=37819,L_=37820,I_=37821,dm=36492,D_=36494,N_=36495,cI=36283,U_=36284,O_=36285,F_=36286,uI=2200,fI=2201,hI=2202,Zf=2300,Kf=2301,pm=2302,Fa=2400,ka=2401,Jf=2402,Fg=2500,I1=2501,CH=0,PH=1,RH=2,D1=3e3,Vo=3001,dI=3200,pI=3201,ea=0,mI=1,Ki="",Nn="srgb",hs="srgb-linear",kg="display-p3",wh="display-p3-linear",Qf="linear",Gt="srgb",$f="rec709",eh="p3",LH=0,Ra=7680,IH=7681,DH=7682,NH=7683,UH=34055,OH=34056,FH=5386,kH=512,BH=513,zH=514,VH=515,HH=516,WH=517,GH=518,k_=519,gI=512,vI=513,yI=514,N1=515,xI=516,_I=517,SI=518,AI=519,th=35044,jH=35048,XH=35040,YH=35045,qH=35049,ZH=35041,KH=35046,JH=35050,QH=35042,$H="100",B_="300 es",eg=1035,Or=2e3,Wc=2001;class ps{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const i=this._listeners;i[e]===void 0&&(i[e]=[]),i[e].indexOf(t)===-1&&i[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const i=this._listeners;return i[e]!==void 0&&i[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const r=this._listeners[e];if(r!==void 0){const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const i=this._listeners[e.type];if(i!==void 0){e.target=this;const r=i.slice(0);for(let s=0,o=r.length;s>8&255]+oi[n>>16&255]+oi[n>>24&255]+"-"+oi[e&255]+oi[e>>8&255]+"-"+oi[e>>16&15|64]+oi[e>>24&255]+"-"+oi[t&63|128]+oi[t>>8&255]+"-"+oi[t>>16&255]+oi[t>>24&255]+oi[i&255]+oi[i>>8&255]+oi[i>>16&255]+oi[i>>24&255]).toLowerCase()}function gn(n,e,t){return Math.max(e,Math.min(t,n))}function U1(n,e){return(n%e+e)%e}function e5(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function t5(n,e,t){return n!==e?(t-n)/(e-n):0}function vf(n,e,t){return(1-t)*n+t*e}function n5(n,e,t,i){return vf(n,e,1-Math.exp(-t*i))}function i5(n,e=1){return e-Math.abs(U1(n,e*2)-e)}function r5(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function s5(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function o5(n,e){return n+Math.floor(Math.random()*(e-n+1))}function a5(n,e){return n+Math.random()*(e-n)}function l5(n){return n*(.5-Math.random())}function c5(n){n!==void 0&&(wT=n);let e=wT+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function u5(n){return n*ja}function f5(n){return n*Gc}function z_(n){return(n&n-1)===0&&n!==0}function h5(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function tg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function d5(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),f=s((e+i)/2),h=o((e+i)/2),d=s((e-i)/2),p=o((e-i)/2),m=s((i-e)/2),y=o((i-e)/2);switch(r){case"XYX":n.set(a*h,l*d,l*p,a*f);break;case"YZY":n.set(l*p,a*h,l*d,a*f);break;case"ZXZ":n.set(l*d,l*p,a*h,a*f);break;case"XZX":n.set(a*h,l*y,l*m,a*f);break;case"YXY":n.set(l*m,a*h,l*y,a*f);break;case"ZYZ":n.set(l*y,l*m,a*h,a*f);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Ni(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function At(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const MI={DEG2RAD:ja,RAD2DEG:Gc,generateUUID:$i,clamp:gn,euclideanModulo:U1,mapLinear:e5,inverseLerp:t5,lerp:vf,damp:n5,pingpong:i5,smoothstep:r5,smootherstep:s5,randInt:o5,randFloat:a5,randFloatSpread:l5,seededRandom:c5,degToRad:u5,radToDeg:f5,isPowerOfTwo:z_,ceilPowerOfTwo:h5,floorPowerOfTwo:tg,setQuaternionFromProperEuler:d5,normalize:At,denormalize:Ni};class me{constructor(e=0,t=0){me.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(gn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*i-o*r+e.x,this.y=s*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class wt{constructor(e,t,i,r,s,o,a,l,f){wt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,f)}set(e,t,i,r,s,o,a,l,f){const h=this.elements;return h[0]=e,h[1]=r,h[2]=a,h[3]=t,h[4]=s,h[5]=l,h[6]=i,h[7]=o,h[8]=f,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[3],l=i[6],f=i[1],h=i[4],d=i[7],p=i[2],m=i[5],y=i[8],A=r[0],x=r[3],g=r[6],_=r[1],S=r[4],E=r[7],P=r[2],b=r[5],L=r[8];return s[0]=o*A+a*_+l*P,s[3]=o*x+a*S+l*b,s[6]=o*g+a*E+l*L,s[1]=f*A+h*_+d*P,s[4]=f*x+h*S+d*b,s[7]=f*g+h*E+d*L,s[2]=p*A+m*_+y*P,s[5]=p*x+m*S+y*b,s[8]=p*g+m*E+y*L,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],f=e[7],h=e[8];return t*o*h-t*a*f-i*s*h+i*a*l+r*s*f-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],f=e[7],h=e[8],d=h*o-a*f,p=a*l-h*s,m=f*s-o*l,y=t*d+i*p+r*m;if(y===0)return this.set(0,0,0,0,0,0,0,0,0);const A=1/y;return e[0]=d*A,e[1]=(r*f-h*i)*A,e[2]=(a*i-r*o)*A,e[3]=p*A,e[4]=(h*t-r*l)*A,e[5]=(r*s-a*t)*A,e[6]=m*A,e[7]=(i*l-f*t)*A,e[8]=(o*t-i*s)*A,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,s,o,a){const l=Math.cos(s),f=Math.sin(s);return this.set(i*l,i*f,-i*(l*o+f*a)+o+e,-r*f,r*l,-r*(-f*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(ny.makeScale(e,t)),this}rotate(e){return this.premultiply(ny.makeRotation(-e)),this}translate(e,t){return this.premultiply(ny.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const ny=new wt;function wI(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const p5={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function xc(n,e){return new p5[n](e)}function nh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function EI(){const n=nh("canvas");return n.style.display="block",n}const ET={};function yf(n){n in ET||(ET[n]=!0,console.warn(n))}const TT=new wt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),bT=new wt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),ep={[hs]:{transfer:Qf,primaries:$f,toReference:n=>n,fromReference:n=>n},[Nn]:{transfer:Gt,primaries:$f,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[wh]:{transfer:Qf,primaries:eh,toReference:n=>n.applyMatrix3(bT),fromReference:n=>n.applyMatrix3(TT)},[kg]:{transfer:Gt,primaries:eh,toReference:n=>n.convertSRGBToLinear().applyMatrix3(bT),fromReference:n=>n.applyMatrix3(TT).convertLinearToSRGB()}},m5=new Set([hs,wh]),kt={enabled:!0,_workingColorSpace:hs,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!m5.has(n))throw new Error(`Unsupported working color space, "${n}".`);this._workingColorSpace=n},convert:function(n,e,t){if(this.enabled===!1||e===t||!e||!t)return n;const i=ep[e].toReference,r=ep[t].fromReference;return r(i(n))},fromWorkingColorSpace:function(n,e){return this.convert(n,this._workingColorSpace,e)},toWorkingColorSpace:function(n,e){return this.convert(n,e,this._workingColorSpace)},getPrimaries:function(n){return ep[n].primaries},getTransfer:function(n){return n===Ki?Qf:ep[n].transfer}};function Ic(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function iy(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let Dl;class O1{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Dl===void 0&&(Dl=nh("canvas")),Dl.width=e.width,Dl.height=e.height;const i=Dl.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=Dl}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=nh("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),s=r.data;for(let o=0;o0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Ug)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Yf:e.x=e.x-Math.floor(e.x);break;case fi:e.x=e.x<0?0:1;break;case qf:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Yf:e.y=e.y-Math.floor(e.y);break;case fi:e.y=e.y<0?0:1;break;case qf:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return yf("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Nn?Vo:D1}set encoding(e){yf("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Vo?Nn:Ki}}yn.DEFAULT_IMAGE=null;yn.DEFAULT_MAPPING=Ug;yn.DEFAULT_ANISOTROPY=1;class Bt{constructor(e=0,t=0,i=0,r=1){Bt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*r+o[12]*s,this.y=o[1]*t+o[5]*i+o[9]*r+o[13]*s,this.z=o[2]*t+o[6]*i+o[10]*r+o[14]*s,this.w=o[3]*t+o[7]*i+o[11]*r+o[15]*s,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,s;const l=e.elements,f=l[0],h=l[4],d=l[8],p=l[1],m=l[5],y=l[9],A=l[2],x=l[6],g=l[10];if(Math.abs(h-p)<.01&&Math.abs(d-A)<.01&&Math.abs(y-x)<.01){if(Math.abs(h+p)<.1&&Math.abs(d+A)<.1&&Math.abs(y+x)<.1&&Math.abs(f+m+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const S=(f+1)/2,E=(m+1)/2,P=(g+1)/2,b=(h+p)/4,L=(d+A)/4,D=(y+x)/4;return S>E&&S>P?S<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(S),r=b/i,s=L/i):E>P?E<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(E),i=b/r,s=D/r):P<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(P),i=L/s,r=D/s),this.set(i,r,s,t),this}let _=Math.sqrt((x-y)*(x-y)+(d-A)*(d-A)+(p-h)*(p-h));return Math.abs(_)<.001&&(_=1),this.x=(x-y)/_,this.y=(d-A)/_,this.z=(p-h)/_,this.w=Math.acos((f+m+g-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class TI extends ps{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Bt(0,0,e,t),this.scissorTest=!1,this.viewport=new Bt(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(yf("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===Vo?Nn:Ki),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:wn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new yn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new Ba(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Vr extends TI{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class Bg extends yn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=An,this.minFilter=An,this.wrapR=fi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class y5 extends Vr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Bg(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class F1 extends yn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=An,this.minFilter=An,this.wrapR=fi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class x5 extends Vr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new F1(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class _5 extends Vr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,S=1-g*g;if(S>Number.EPSILON){const P=Math.sqrt(S),b=Math.atan2(P,g*_);x=Math.sin(x*b)/P,a=Math.sin(a*b)/P}const E=a*_;if(l=l*x+p*E,f=f*x+m*E,h=h*x+y*E,d=d*x+A*E,x===1-a){const P=1/Math.sqrt(l*l+f*f+h*h+d*d);l*=P,f*=P,h*=P,d*=P}}e[t]=l,e[t+1]=f,e[t+2]=h,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],f=i[r+2],h=i[r+3],d=s[o],p=s[o+1],m=s[o+2],y=s[o+3];return e[t]=a*y+h*d+l*m-f*p,e[t+1]=l*y+h*p+f*d-a*m,e[t+2]=f*y+h*m+a*p-l*d,e[t+3]=h*y-a*d-l*p-f*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,f=a(i/2),h=a(r/2),d=a(s/2),p=l(i/2),m=l(r/2),y=l(s/2);switch(o){case"XYZ":this._x=p*h*d+f*m*y,this._y=f*m*d-p*h*y,this._z=f*h*y+p*m*d,this._w=f*h*d-p*m*y;break;case"YXZ":this._x=p*h*d+f*m*y,this._y=f*m*d-p*h*y,this._z=f*h*y-p*m*d,this._w=f*h*d+p*m*y;break;case"ZXY":this._x=p*h*d-f*m*y,this._y=f*m*d+p*h*y,this._z=f*h*y+p*m*d,this._w=f*h*d-p*m*y;break;case"ZYX":this._x=p*h*d-f*m*y,this._y=f*m*d+p*h*y,this._z=f*h*y-p*m*d,this._w=f*h*d+p*m*y;break;case"YZX":this._x=p*h*d+f*m*y,this._y=f*m*d+p*h*y,this._z=f*h*y-p*m*d,this._w=f*h*d-p*m*y;break;case"XZY":this._x=p*h*d-f*m*y,this._y=f*m*d-p*h*y,this._z=f*h*y+p*m*d,this._w=f*h*d+p*m*y;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],s=t[8],o=t[1],a=t[5],l=t[9],f=t[2],h=t[6],d=t[10],p=i+a+d;if(p>0){const m=.5/Math.sqrt(p+1);this._w=.25/m,this._x=(h-l)*m,this._y=(s-f)*m,this._z=(o-r)*m}else if(i>a&&i>d){const m=2*Math.sqrt(1+i-a-d);this._w=(h-l)/m,this._x=.25*m,this._y=(r+o)/m,this._z=(s+f)/m}else if(a>d){const m=2*Math.sqrt(1+a-i-d);this._w=(s-f)/m,this._x=(r+o)/m,this._y=.25*m,this._z=(l+h)/m}else{const m=2*Math.sqrt(1+d-i-a);this._w=(o-r)/m,this._x=(s+f)/m,this._y=(l+h)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return iMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(gn(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,o=e._w,a=t._x,l=t._y,f=t._z,h=t._w;return this._x=i*h+o*a+r*f-s*l,this._y=r*h+o*l+s*a-i*f,this._z=s*h+o*f+i*l-r*a,this._w=o*h-i*a-r*l-s*f,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,o=this._w;let a=o*e._w+i*e._x+r*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=r,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const m=1-t;return this._w=m*o+t*this._w,this._x=m*i+t*this._x,this._y=m*r+t*this._y,this._z=m*s+t*this._z,this.normalize(),this}const f=Math.sqrt(l),h=Math.atan2(f,a),d=Math.sin((1-t)*h)/f,p=Math.sin(t*h)/f;return this._w=o*d+this._w*p,this._x=i*d+this._x*p,this._y=r*d+this._y*p,this._z=s*d+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class U{constructor(e=0,t=0,i=0){U.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(CT.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(CT.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,o=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*o,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*o,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z,l=e.w,f=2*(o*r-a*i),h=2*(a*t-s*r),d=2*(s*i-o*t);return this.x=t+l*f+o*d-a*h,this.y=i+l*h+a*f-s*d,this.z=r+l*d+s*h-o*f,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,s=e.z,o=t.x,a=t.y,l=t.z;return this.x=r*l-s*a,this.y=s*o-i*l,this.z=i*a-r*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return sy.copy(this).projectOnVector(e),this.sub(sy)}reflect(e){return this.sub(sy.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(gn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const sy=new U,CT=new hi;class wi{constructor(e=new U(1/0,1/0,1/0),t=new U(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Tr),Tr.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Uu),np.subVectors(this.max,Uu),Nl.subVectors(e.a,Uu),Ul.subVectors(e.b,Uu),Ol.subVectors(e.c,Uu),uo.subVectors(Ul,Nl),fo.subVectors(Ol,Ul),pa.subVectors(Nl,Ol);let t=[0,-uo.z,uo.y,0,-fo.z,fo.y,0,-pa.z,pa.y,uo.z,0,-uo.x,fo.z,0,-fo.x,pa.z,0,-pa.x,-uo.y,uo.x,0,-fo.y,fo.x,0,-pa.y,pa.x,0];return!oy(t,Nl,Ul,Ol,np)||(t=[1,0,0,0,1,0,0,0,1],!oy(t,Nl,Ul,Ol,np))?!1:(ip.crossVectors(uo,fo),t=[ip.x,ip.y,ip.z],oy(t,Nl,Ul,Ol,np))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Tr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Tr).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(As[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),As[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),As[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),As[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),As[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),As[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),As[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),As[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(As),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const As=[new U,new U,new U,new U,new U,new U,new U,new U],Tr=new U,tp=new wi,Nl=new U,Ul=new U,Ol=new U,uo=new U,fo=new U,pa=new U,Uu=new U,np=new U,ip=new U,ma=new U;function oy(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){ma.fromArray(n,s);const a=r.x*Math.abs(ma.x)+r.y*Math.abs(ma.y)+r.z*Math.abs(ma.z),l=e.dot(ma),f=t.dot(ma),h=i.dot(ma);if(Math.max(-Math.max(l,f,h),Math.min(l,f,h))>a)return!1}return!0}const S5=new wi,Ou=new U,ay=new U;class di{constructor(e=new U,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):S5.setFromPoints(e).getCenter(i);let r=0;for(let s=0,o=e.length;sthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Ou.subVectors(e,this.center);const t=Ou.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(Ou,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(ay.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Ou.copy(e.center).add(ay)),this.expandByPoint(Ou.copy(e.center).sub(ay))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Ms=new U,ly=new U,rp=new U,ho=new U,cy=new U,sp=new U,uy=new U;class ul{constructor(e=new U,t=new U(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Ms)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=Ms.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Ms.copy(this.origin).addScaledVector(this.direction,t),Ms.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){ly.copy(e).add(t).multiplyScalar(.5),rp.copy(t).sub(e).normalize(),ho.copy(this.origin).sub(ly);const s=e.distanceTo(t)*.5,o=-this.direction.dot(rp),a=ho.dot(this.direction),l=-ho.dot(rp),f=ho.lengthSq(),h=Math.abs(1-o*o);let d,p,m,y;if(h>0)if(d=o*l-a,p=o*a-l,y=s*h,d>=0)if(p>=-y)if(p<=y){const A=1/h;d*=A,p*=A,m=d*(d+o*p+2*a)+p*(o*d+p+2*l)+f}else p=s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+f;else p=-s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+f;else p<=-y?(d=Math.max(0,-(-o*s+a)),p=d>0?-s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+f):p<=y?(d=0,p=Math.min(Math.max(-s,-l),s),m=p*(p+2*l)+f):(d=Math.max(0,-(o*s+a)),p=d>0?s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+f);else p=o>0?-s:s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+f;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(ly).addScaledVector(rp,p),m}intersectSphere(e,t){Ms.subVectors(e.center,this.origin);const i=Ms.dot(this.direction),r=Ms.dot(Ms)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const f=1/this.direction.x,h=1/this.direction.y,d=1/this.direction.z,p=this.origin;return f>=0?(i=(e.min.x-p.x)*f,r=(e.max.x-p.x)*f):(i=(e.max.x-p.x)*f,r=(e.min.x-p.x)*f),h>=0?(s=(e.min.y-p.y)*h,o=(e.max.y-p.y)*h):(s=(e.max.y-p.y)*h,o=(e.min.y-p.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-p.z)*d,l=(e.max.z-p.z)*d):(a=(e.max.z-p.z)*d,l=(e.min.z-p.z)*d),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Ms)!==null}intersectTriangle(e,t,i,r,s){cy.subVectors(t,e),sp.subVectors(i,e),uy.crossVectors(cy,sp);let o=this.direction.dot(uy),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;ho.subVectors(this.origin,e);const l=a*this.direction.dot(sp.crossVectors(ho,sp));if(l<0)return null;const f=a*this.direction.dot(cy.cross(ho));if(f<0||l+f>o)return null;const h=-a*ho.dot(uy);return h<0?null:this.at(h/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class ut{constructor(e,t,i,r,s,o,a,l,f,h,d,p,m,y,A,x){ut.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,f,h,d,p,m,y,A,x)}set(e,t,i,r,s,o,a,l,f,h,d,p,m,y,A,x){const g=this.elements;return g[0]=e,g[4]=t,g[8]=i,g[12]=r,g[1]=s,g[5]=o,g[9]=a,g[13]=l,g[2]=f,g[6]=h,g[10]=d,g[14]=p,g[3]=m,g[7]=y,g[11]=A,g[15]=x,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new ut().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/Fl.setFromMatrixColumn(e,0).length(),s=1/Fl.setFromMatrixColumn(e,1).length(),o=1/Fl.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,o=Math.cos(i),a=Math.sin(i),l=Math.cos(r),f=Math.sin(r),h=Math.cos(s),d=Math.sin(s);if(e.order==="XYZ"){const p=o*h,m=o*d,y=a*h,A=a*d;t[0]=l*h,t[4]=-l*d,t[8]=f,t[1]=m+y*f,t[5]=p-A*f,t[9]=-a*l,t[2]=A-p*f,t[6]=y+m*f,t[10]=o*l}else if(e.order==="YXZ"){const p=l*h,m=l*d,y=f*h,A=f*d;t[0]=p+A*a,t[4]=y*a-m,t[8]=o*f,t[1]=o*d,t[5]=o*h,t[9]=-a,t[2]=m*a-y,t[6]=A+p*a,t[10]=o*l}else if(e.order==="ZXY"){const p=l*h,m=l*d,y=f*h,A=f*d;t[0]=p-A*a,t[4]=-o*d,t[8]=y+m*a,t[1]=m+y*a,t[5]=o*h,t[9]=A-p*a,t[2]=-o*f,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const p=o*h,m=o*d,y=a*h,A=a*d;t[0]=l*h,t[4]=y*f-m,t[8]=p*f+A,t[1]=l*d,t[5]=A*f+p,t[9]=m*f-y,t[2]=-f,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const p=o*l,m=o*f,y=a*l,A=a*f;t[0]=l*h,t[4]=A-p*d,t[8]=y*d+m,t[1]=d,t[5]=o*h,t[9]=-a*h,t[2]=-f*h,t[6]=m*d+y,t[10]=p-A*d}else if(e.order==="XZY"){const p=o*l,m=o*f,y=a*l,A=a*f;t[0]=l*h,t[4]=-d,t[8]=f*h,t[1]=p*d+A,t[5]=o*h,t[9]=m*d-y,t[2]=y*d-m,t[6]=a*h,t[10]=A*d+p}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(A5,e,M5)}lookAt(e,t,i){const r=this.elements;return Xi.subVectors(e,t),Xi.lengthSq()===0&&(Xi.z=1),Xi.normalize(),po.crossVectors(i,Xi),po.lengthSq()===0&&(Math.abs(i.z)===1?Xi.x+=1e-4:Xi.z+=1e-4,Xi.normalize(),po.crossVectors(i,Xi)),po.normalize(),op.crossVectors(Xi,po),r[0]=po.x,r[4]=op.x,r[8]=Xi.x,r[1]=po.y,r[5]=op.y,r[9]=Xi.y,r[2]=po.z,r[6]=op.z,r[10]=Xi.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[4],l=i[8],f=i[12],h=i[1],d=i[5],p=i[9],m=i[13],y=i[2],A=i[6],x=i[10],g=i[14],_=i[3],S=i[7],E=i[11],P=i[15],b=r[0],L=r[4],D=r[8],C=r[12],R=r[1],F=r[5],K=r[9],le=r[13],H=r[2],q=r[6],ee=r[10],oe=r[14],k=r[3],j=r[7],Y=r[11],J=r[15];return s[0]=o*b+a*R+l*H+f*k,s[4]=o*L+a*F+l*q+f*j,s[8]=o*D+a*K+l*ee+f*Y,s[12]=o*C+a*le+l*oe+f*J,s[1]=h*b+d*R+p*H+m*k,s[5]=h*L+d*F+p*q+m*j,s[9]=h*D+d*K+p*ee+m*Y,s[13]=h*C+d*le+p*oe+m*J,s[2]=y*b+A*R+x*H+g*k,s[6]=y*L+A*F+x*q+g*j,s[10]=y*D+A*K+x*ee+g*Y,s[14]=y*C+A*le+x*oe+g*J,s[3]=_*b+S*R+E*H+P*k,s[7]=_*L+S*F+E*q+P*j,s[11]=_*D+S*K+E*ee+P*Y,s[15]=_*C+S*le+E*oe+P*J,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],o=e[1],a=e[5],l=e[9],f=e[13],h=e[2],d=e[6],p=e[10],m=e[14],y=e[3],A=e[7],x=e[11],g=e[15];return y*(+s*l*d-r*f*d-s*a*p+i*f*p+r*a*m-i*l*m)+A*(+t*l*m-t*f*p+s*o*p-r*o*m+r*f*h-s*l*h)+x*(+t*f*d-t*a*m-s*o*d+i*o*m+s*a*h-i*f*h)+g*(-r*a*h-t*l*d+t*a*p+r*o*d-i*o*p+i*l*h)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],f=e[7],h=e[8],d=e[9],p=e[10],m=e[11],y=e[12],A=e[13],x=e[14],g=e[15],_=d*x*f-A*p*f+A*l*m-a*x*m-d*l*g+a*p*g,S=y*p*f-h*x*f-y*l*m+o*x*m+h*l*g-o*p*g,E=h*A*f-y*d*f+y*a*m-o*A*m-h*a*g+o*d*g,P=y*d*l-h*A*l-y*a*p+o*A*p+h*a*x-o*d*x,b=t*_+i*S+r*E+s*P;if(b===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const L=1/b;return e[0]=_*L,e[1]=(A*p*s-d*x*s-A*r*m+i*x*m+d*r*g-i*p*g)*L,e[2]=(a*x*s-A*l*s+A*r*f-i*x*f-a*r*g+i*l*g)*L,e[3]=(d*l*s-a*p*s-d*r*f+i*p*f+a*r*m-i*l*m)*L,e[4]=S*L,e[5]=(h*x*s-y*p*s+y*r*m-t*x*m-h*r*g+t*p*g)*L,e[6]=(y*l*s-o*x*s-y*r*f+t*x*f+o*r*g-t*l*g)*L,e[7]=(o*p*s-h*l*s+h*r*f-t*p*f-o*r*m+t*l*m)*L,e[8]=E*L,e[9]=(y*d*s-h*A*s-y*i*m+t*A*m+h*i*g-t*d*g)*L,e[10]=(o*A*s-y*a*s+y*i*f-t*A*f-o*i*g+t*a*g)*L,e[11]=(h*a*s-o*d*s-h*i*f+t*d*f+o*i*m-t*a*m)*L,e[12]=P*L,e[13]=(h*A*r-y*d*r+y*i*p-t*A*p-h*i*x+t*d*x)*L,e[14]=(y*a*r-o*A*r-y*i*l+t*A*l+o*i*x-t*a*x)*L,e[15]=(o*d*r-h*a*r+h*i*l-t*d*l-o*i*p+t*a*p)*L,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,o=e.x,a=e.y,l=e.z,f=s*o,h=s*a;return this.set(f*o+i,f*a-r*l,f*l+r*a,0,f*a+r*l,h*a+i,h*l-r*o,0,f*l-r*a,h*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,f=s+s,h=o+o,d=a+a,p=s*f,m=s*h,y=s*d,A=o*h,x=o*d,g=a*d,_=l*f,S=l*h,E=l*d,P=i.x,b=i.y,L=i.z;return r[0]=(1-(A+g))*P,r[1]=(m+E)*P,r[2]=(y-S)*P,r[3]=0,r[4]=(m-E)*b,r[5]=(1-(p+g))*b,r[6]=(x+_)*b,r[7]=0,r[8]=(y+S)*L,r[9]=(x-_)*L,r[10]=(1-(p+A))*L,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let s=Fl.set(r[0],r[1],r[2]).length();const o=Fl.set(r[4],r[5],r[6]).length(),a=Fl.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),e.x=r[12],e.y=r[13],e.z=r[14],br.copy(this);const f=1/s,h=1/o,d=1/a;return br.elements[0]*=f,br.elements[1]*=f,br.elements[2]*=f,br.elements[4]*=h,br.elements[5]*=h,br.elements[6]*=h,br.elements[8]*=d,br.elements[9]*=d,br.elements[10]*=d,t.setFromRotationMatrix(br),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Or){const l=this.elements,f=2*s/(t-e),h=2*s/(i-r),d=(t+e)/(t-e),p=(i+r)/(i-r);let m,y;if(a===Or)m=-(o+s)/(o-s),y=-2*o*s/(o-s);else if(a===Wc)m=-o/(o-s),y=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=f,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=h,l[9]=p,l[13]=0,l[2]=0,l[6]=0,l[10]=m,l[14]=y,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Or){const l=this.elements,f=1/(t-e),h=1/(i-r),d=1/(o-s),p=(t+e)*f,m=(i+r)*h;let y,A;if(a===Or)y=(o+s)*d,A=-2*d;else if(a===Wc)y=s*d,A=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*f,l[4]=0,l[8]=0,l[12]=-p,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-m,l[2]=0,l[6]=0,l[10]=A,l[14]=-y,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const Fl=new U,br=new ut,A5=new U(0,0,0),M5=new U(1,1,1),po=new U,op=new U,Xi=new U,PT=new ut,RT=new hi;class fl{constructor(e=0,t=0,i=0,r=fl.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],o=r[4],a=r[8],l=r[1],f=r[5],h=r[9],d=r[2],p=r[6],m=r[10];switch(t){case"XYZ":this._y=Math.asin(gn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,m),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(p,f),this._z=0);break;case"YXZ":this._x=Math.asin(-gn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,m),this._z=Math.atan2(l,f)):(this._y=Math.atan2(-d,s),this._z=0);break;case"ZXY":this._x=Math.asin(gn(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-d,m),this._z=Math.atan2(-o,f)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-gn(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(p,m),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,f));break;case"YZX":this._z=Math.asin(gn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,f),this._y=Math.atan2(-d,s)):(this._x=0,this._y=Math.atan2(a,m));break;case"XZY":this._z=Math.asin(-gn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(p,f),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,m),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return PT.makeRotationFromQuaternion(e),this.setFromRotationMatrix(PT,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return RT.setFromEuler(this),this.setFromQuaternion(RT,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}fl.DEFAULT_ORDER="XYZ";class Xa{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let i=0;i0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),r.maxGeometryCount=this._maxGeometryCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(e),this.boundingSphere!==null&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),this.boundingBox!==null&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()}));function s(a,l){return a[l.uuid]===void 0&&(a[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=s(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const l=a.shapes;if(Array.isArray(l))for(let f=0,h=l.length;f0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),f.length>0&&(i.textures=f),h.length>0&&(i.images=h),d.length>0&&(i.shapes=d),p.length>0&&(i.skeletons=p),m.length>0&&(i.animations=m),y.length>0&&(i.nodes=y)}return i.object=r,i;function o(a){const l=[];for(const f in a){const h=a[f];delete h.metadata,l.push(h)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){Cr.subVectors(r,t),Es.subVectors(i,t),fy.subVectors(e,t);const o=Cr.dot(Cr),a=Cr.dot(Es),l=Cr.dot(fy),f=Es.dot(Es),h=Es.dot(fy),d=o*f-a*a;if(d===0)return s.set(0,0,0),null;const p=1/d,m=(f*l-a*h)*p,y=(o*h-a*l)*p;return s.set(1-m-y,y,m)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Ts)===null?!1:Ts.x>=0&&Ts.y>=0&&Ts.x+Ts.y<=1}static getUV(e,t,i,r,s,o,a,l){return lp===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),lp=!0),this.getInterpolation(e,t,i,r,s,o,a,l)}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Ts)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,Ts.x),l.addScaledVector(o,Ts.y),l.addScaledVector(a,Ts.z),l)}static isFrontFacing(e,t,i,r){return Cr.subVectors(i,t),Es.subVectors(e,t),Cr.cross(Es).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Cr.subVectors(this.c,this.b),Es.subVectors(this.a,this.b),Cr.cross(Es).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Di.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Di.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,i,r,s){return lp===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),lp=!0),Di.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}getInterpolation(e,t,i,r,s){return Di.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return Di.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Di.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,s=this.c;let o,a;Bl.subVectors(r,i),zl.subVectors(s,i),hy.subVectors(e,i);const l=Bl.dot(hy),f=zl.dot(hy);if(l<=0&&f<=0)return t.copy(i);dy.subVectors(e,r);const h=Bl.dot(dy),d=zl.dot(dy);if(h>=0&&d<=h)return t.copy(r);const p=l*d-h*f;if(p<=0&&l>=0&&h<=0)return o=l/(l-h),t.copy(i).addScaledVector(Bl,o);py.subVectors(e,s);const m=Bl.dot(py),y=zl.dot(py);if(y>=0&&m<=y)return t.copy(s);const A=m*f-l*y;if(A<=0&&f>=0&&y<=0)return a=f/(f-y),t.copy(i).addScaledVector(zl,a);const x=h*y-m*d;if(x<=0&&d-h>=0&&m-y>=0)return UT.subVectors(s,r),a=(d-h)/(d-h+(m-y)),t.copy(r).addScaledVector(UT,a);const g=1/(x+A+p);return o=A*g,a=p*g,t.copy(i).addScaledVector(Bl,o).addScaledVector(zl,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const bI={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},mo={h:0,s:0,l:0},cp={h:0,s:0,l:0};function my(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class He{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Nn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,kt.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=kt.workingColorSpace){return this.r=e,this.g=t,this.b=i,kt.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=kt.workingColorSpace){if(e=U1(e,1),t=gn(t,0,1),i=gn(i,0,1),t===0)this.r=this.g=this.b=i;else{const s=i<=.5?i*(1+t):i+t-i*t,o=2*i-s;this.r=my(o,s,e+1/3),this.g=my(o,s,e),this.b=my(o,s,e-1/3)}return kt.toWorkingColorSpace(this,r),this}setStyle(e,t=Nn){function i(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=r[1],a=r[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=r[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Nn){const i=bI[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Ic(e.r),this.g=Ic(e.g),this.b=Ic(e.b),this}copyLinearToSRGB(e){return this.r=iy(e.r),this.g=iy(e.g),this.b=iy(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Nn){return kt.fromWorkingColorSpace(ai.copy(this),e),Math.round(gn(ai.r*255,0,255))*65536+Math.round(gn(ai.g*255,0,255))*256+Math.round(gn(ai.b*255,0,255))}getHexString(e=Nn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=kt.workingColorSpace){kt.fromWorkingColorSpace(ai.copy(this),t);const i=ai.r,r=ai.g,s=ai.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,f;const h=(a+o)/2;if(a===o)l=0,f=0;else{const d=o-a;switch(f=h<=.5?d/(o+a):d/(2-o-a),o){case i:l=(r-s)/d+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==Ga&&(i.blending=this.blending),this.side!==Xs&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==Jm&&(i.blendSrc=this.blendSrc),this.blendDst!==Qm&&(i.blendDst=this.blendDst),this.blendEquation!==wo&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==Gf&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==k_&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Ra&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Ra&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Ra&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(s){const o=[];for(const a in s){const l=s[a];delete l.metadata,o.push(l)}return o}if(t){const s=r(e.textures),o=r(e.images);s.length>0&&(i.textures=s),o.length>0&&(i.images=o)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let s=0;s!==r;++s)i[s]=t[s].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class ta extends $n{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new He(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Mh,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Ls=R5();function R5(){const n=new ArrayBuffer(4),e=new Float32Array(n),t=new Uint32Array(n),i=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const f=l-127;f<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):f<-14?(i[l]=1024>>-f-14,i[l|256]=1024>>-f-14|32768,r[l]=-f-1,r[l|256]=-f-1):f<=15?(i[l]=f+15<<10,i[l|256]=f+15<<10|32768,r[l]=13,r[l|256]=13):f<128?(i[l]=31744,i[l|256]=64512,r[l]=24,r[l|256]=24):(i[l]=31744,i[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let f=l<<13,h=0;for(;!(f&8388608);)f<<=1,h-=8388608;f&=-8388609,h+=947912704,s[l]=f|h}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function Li(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=gn(n,-65504,65504),Ls.floatView[0]=n;const e=Ls.uint32View[0],t=e>>23&511;return Ls.baseTable[t]+((e&8388607)>>Ls.shiftTable[t])}function ef(n){const e=n>>10;return Ls.uint32View[0]=Ls.mantissaTable[Ls.offsetTable[e]+(n&1023)]+Ls.exponentTable[e],Ls.floatView[0]}const L5={toHalfFloat:Li,fromHalfFloat:ef},bn=new U,up=new me;class Vt{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=th,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Ur,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return console.warn("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,s=this.itemSize;r0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const f in l)l[f]!==void 0&&(e[f]=l[f]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const f=i[l];e.data.attributes[l]=f.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const f=this.morphAttributes[l],h=[];for(let d=0,p=f.length;d0&&(r[l]=h,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const f in r){const h=r[f];this.setAttribute(f,h.clone(t))}const s=e.morphAttributes;for(const f in s){const h=[],d=s[f];for(let p=0,m=d.length;p0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s(e.far-e.near)**2))&&(OT.copy(s).invert(),ga.copy(e.ray).applyMatrix4(OT),!(i.boundingBox!==null&&ga.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,ga)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,f=s.attributes.uv,h=s.attributes.uv1,d=s.attributes.normal,p=s.groups,m=s.drawRange;if(a!==null)if(Array.isArray(o))for(let y=0,A=p.length;yt.far?null:{distance:f,point:vp.clone(),object:n}}function yp(n,e,t,i,r,s,o,a,l,f){n.getVertexPosition(a,Hl),n.getVertexPosition(l,Wl),n.getVertexPosition(f,Gl);const h=z5(n,e,t,i,Hl,Wl,Gl,gp);if(h){r&&(dp.fromBufferAttribute(r,a),pp.fromBufferAttribute(r,l),mp.fromBufferAttribute(r,f),h.uv=Di.getInterpolation(gp,Hl,Wl,Gl,dp,pp,mp,new me)),s&&(dp.fromBufferAttribute(s,a),pp.fromBufferAttribute(s,l),mp.fromBufferAttribute(s,f),h.uv1=Di.getInterpolation(gp,Hl,Wl,Gl,dp,pp,mp,new me),h.uv2=h.uv1),o&&(kT.fromBufferAttribute(o,a),BT.fromBufferAttribute(o,l),zT.fromBufferAttribute(o,f),h.normal=Di.getInterpolation(gp,Hl,Wl,Gl,kT,BT,zT,new U),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const d={a,b:l,c:f,normal:new U,materialIndex:0};Di.getNormal(Hl,Wl,Gl,d.normal),h.face=d}return h}class hl extends xt{constructor(e=1,t=1,i=1,r=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:o};const a=this;r=Math.floor(r),s=Math.floor(s),o=Math.floor(o);const l=[],f=[],h=[],d=[];let p=0,m=0;y("z","y","x",-1,-1,i,t,e,o,s,0),y("z","y","x",1,-1,i,t,-e,o,s,1),y("x","z","y",1,1,e,i,t,r,o,2),y("x","z","y",1,-1,e,i,-t,r,o,3),y("x","y","z",1,-1,e,t,i,r,s,4),y("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new Ze(f,3)),this.setAttribute("normal",new Ze(h,3)),this.setAttribute("uv",new Ze(d,2));function y(A,x,g,_,S,E,P,b,L,D,C){const R=E/L,F=P/D,K=E/2,le=P/2,H=b/2,q=L+1,ee=D+1;let oe=0,k=0;const j=new U;for(let Y=0;Y0?1:-1,h.push(j.x,j.y,j.z),d.push(ie/L),d.push(1-Y/D),oe+=1}}for(let Y=0;Y>8&255]+oi[n>>16&255]+oi[n>>24&255]+"-"+oi[e&255]+oi[e>>8&255]+"-"+oi[e>>16&15|64]+oi[e>>24&255]+"-"+oi[t&63|128]+oi[t>>8&255]+"-"+oi[t>>16&255]+oi[t>>24&255]+oi[i&255]+oi[i>>8&255]+oi[i>>16&255]+oi[i>>24&255]).toLowerCase()}function mn(n,e,t){return Math.max(e,Math.min(t,n))}function U1(n,e){return(n%e+e)%e}function nH(n,e,t,i,r){return i+(n-e)*(r-i)/(t-e)}function iH(n,e,t){return n!==e?(t-n)/(e-n):0}function vf(n,e,t){return(1-t)*n+t*e}function rH(n,e,t,i){return vf(n,e,1-Math.exp(-t*i))}function sH(n,e=1){return e-Math.abs(U1(n,e*2)-e)}function oH(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*(3-2*n))}function aH(n,e,t){return n<=e?0:n>=t?1:(n=(n-e)/(t-e),n*n*n*(n*(n*6-15)+10))}function lH(n,e){return n+Math.floor(Math.random()*(e-n+1))}function cH(n,e){return n+Math.random()*(e-n)}function uH(n){return n*(.5-Math.random())}function fH(n){n!==void 0&&(wT=n);let e=wT+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function hH(n){return n*ja}function dH(n){return n*Wc}function z_(n){return(n&n-1)===0&&n!==0}function pH(n){return Math.pow(2,Math.ceil(Math.log(n)/Math.LN2))}function tg(n){return Math.pow(2,Math.floor(Math.log(n)/Math.LN2))}function mH(n,e,t,i,r){const s=Math.cos,o=Math.sin,a=s(t/2),l=o(t/2),f=s((e+i)/2),h=o((e+i)/2),d=s((e-i)/2),p=o((e-i)/2),m=s((i-e)/2),y=o((i-e)/2);switch(r){case"XYX":n.set(a*h,l*d,l*p,a*f);break;case"YZY":n.set(l*p,a*h,l*d,a*f);break;case"ZXZ":n.set(l*d,l*p,a*h,a*f);break;case"XZX":n.set(a*h,l*y,l*m,a*f);break;case"YXY":n.set(l*m,a*h,l*y,a*f);break;case"ZYZ":n.set(l*y,l*m,a*h,a*f);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}function Ni(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return n/4294967295;case Uint16Array:return n/65535;case Uint8Array:return n/255;case Int32Array:return Math.max(n/2147483647,-1);case Int16Array:return Math.max(n/32767,-1);case Int8Array:return Math.max(n/127,-1);default:throw new Error("Invalid component type.")}}function At(n,e){switch(e.constructor){case Float32Array:return n;case Uint32Array:return Math.round(n*4294967295);case Uint16Array:return Math.round(n*65535);case Uint8Array:return Math.round(n*255);case Int32Array:return Math.round(n*2147483647);case Int16Array:return Math.round(n*32767);case Int8Array:return Math.round(n*127);default:throw new Error("Invalid component type.")}}const MI={DEG2RAD:ja,RAD2DEG:Wc,generateUUID:$i,clamp:mn,euclideanModulo:U1,mapLinear:nH,inverseLerp:iH,lerp:vf,damp:rH,pingpong:sH,smoothstep:oH,smootherstep:aH,randInt:lH,randFloat:cH,randFloatSpread:uH,seededRandom:fH,degToRad:hH,radToDeg:dH,isPowerOfTwo:z_,ceilPowerOfTwo:pH,floorPowerOfTwo:tg,setQuaternionFromProperEuler:mH,normalize:At,denormalize:Ni};class me{constructor(e=0,t=0){me.prototype.isVector2=!0,this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6],this.y=r[1]*t+r[4]*i+r[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(mn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),r=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*i-o*r+e.x,this.y=s*r+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class wt{constructor(e,t,i,r,s,o,a,l,f){wt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,f)}set(e,t,i,r,s,o,a,l,f){const h=this.elements;return h[0]=e,h[1]=r,h[2]=a,h[3]=t,h[4]=s,h[5]=l,h[6]=i,h[7]=o,h[8]=f,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[3],l=i[6],f=i[1],h=i[4],d=i[7],p=i[2],m=i[5],y=i[8],A=r[0],x=r[3],g=r[6],_=r[1],S=r[4],E=r[7],P=r[2],b=r[5],L=r[8];return s[0]=o*A+a*_+l*P,s[3]=o*x+a*S+l*b,s[6]=o*g+a*E+l*L,s[1]=f*A+h*_+d*P,s[4]=f*x+h*S+d*b,s[7]=f*g+h*E+d*L,s[2]=p*A+m*_+y*P,s[5]=p*x+m*S+y*b,s[8]=p*g+m*E+y*L,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],f=e[7],h=e[8];return t*o*h-t*a*f-i*s*h+i*a*l+r*s*f-r*o*l}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],f=e[7],h=e[8],d=h*o-a*f,p=a*l-h*s,m=f*s-o*l,y=t*d+i*p+r*m;if(y===0)return this.set(0,0,0,0,0,0,0,0,0);const A=1/y;return e[0]=d*A,e[1]=(r*f-h*i)*A,e[2]=(a*i-r*o)*A,e[3]=p*A,e[4]=(h*t-r*l)*A,e[5]=(r*s-a*t)*A,e[6]=m*A,e[7]=(i*l-f*t)*A,e[8]=(o*t-i*s)*A,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,r,s,o,a){const l=Math.cos(s),f=Math.sin(s);return this.set(i*l,i*f,-i*(l*o+f*a)+o+e,-r*f,r*l,-r*(-f*o+l*a)+a+t,0,0,1),this}scale(e,t){return this.premultiply(ny.makeScale(e,t)),this}rotate(e){return this.premultiply(ny.makeRotation(-e)),this}translate(e,t){return this.premultiply(ny.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<9;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<9;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const ny=new wt;function wI(n){for(let e=n.length-1;e>=0;--e)if(n[e]>=65535)return!0;return!1}const gH={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function xc(n,e){return new gH[n](e)}function nh(n){return document.createElementNS("http://www.w3.org/1999/xhtml",n)}function EI(){const n=nh("canvas");return n.style.display="block",n}const ET={};function yf(n){n in ET||(ET[n]=!0,console.warn(n))}const TT=new wt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),bT=new wt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),ep={[hs]:{transfer:Qf,primaries:$f,toReference:n=>n,fromReference:n=>n},[Nn]:{transfer:Wt,primaries:$f,toReference:n=>n.convertSRGBToLinear(),fromReference:n=>n.convertLinearToSRGB()},[wh]:{transfer:Qf,primaries:eh,toReference:n=>n.applyMatrix3(bT),fromReference:n=>n.applyMatrix3(TT)},[kg]:{transfer:Wt,primaries:eh,toReference:n=>n.convertSRGBToLinear().applyMatrix3(bT),fromReference:n=>n.applyMatrix3(TT).convertLinearToSRGB()}},vH=new Set([hs,wh]),kt={enabled:!0,_workingColorSpace:hs,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(n){if(!vH.has(n))throw new Error(`Unsupported working color space, "${n}".`);this._workingColorSpace=n},convert:function(n,e,t){if(this.enabled===!1||e===t||!e||!t)return n;const i=ep[e].toReference,r=ep[t].fromReference;return r(i(n))},fromWorkingColorSpace:function(n,e){return this.convert(n,this._workingColorSpace,e)},toWorkingColorSpace:function(n,e){return this.convert(n,e,this._workingColorSpace)},getPrimaries:function(n){return ep[n].primaries},getTransfer:function(n){return n===Ki?Qf:ep[n].transfer}};function Ic(n){return n<.04045?n*.0773993808:Math.pow(n*.9478672986+.0521327014,2.4)}function iy(n){return n<.0031308?n*12.92:1.055*Math.pow(n,.41666)-.055}let Dl;class O1{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Dl===void 0&&(Dl=nh("canvas")),Dl.width=e.width,Dl.height=e.height;const i=Dl.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=Dl}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=nh("canvas");t.width=e.width,t.height=e.height;const i=t.getContext("2d");i.drawImage(e,0,0,e.width,e.height);const r=i.getImageData(0,0,e.width,e.height),s=r.data;for(let o=0;o0&&(i.userData=this.userData),t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Ug)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Yf:e.x=e.x-Math.floor(e.x);break;case fi:e.x=e.x<0?0:1;break;case qf:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Yf:e.y=e.y-Math.floor(e.y);break;case fi:e.y=e.y<0?0:1;break;case qf:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return yf("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===Nn?Vo:D1}set encoding(e){yf("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=e===Vo?Nn:Ki}}yn.DEFAULT_IMAGE=null;yn.DEFAULT_MAPPING=Ug;yn.DEFAULT_ANISOTROPY=1;class Bt{constructor(e=0,t=0,i=0,r=1){Bt.prototype.isVector4=!0,this.x=e,this.y=t,this.z=i,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,r){return this.x=e,this.y=t,this.z=i,this.w=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*r+o[12]*s,this.y=o[1]*t+o[5]*i+o[9]*r+o[13]*s,this.z=o[2]*t+o[6]*i+o[10]*r+o[14]*s,this.w=o[3]*t+o[7]*i+o[11]*r+o[15]*s,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,r,s;const l=e.elements,f=l[0],h=l[4],d=l[8],p=l[1],m=l[5],y=l[9],A=l[2],x=l[6],g=l[10];if(Math.abs(h-p)<.01&&Math.abs(d-A)<.01&&Math.abs(y-x)<.01){if(Math.abs(h+p)<.1&&Math.abs(d+A)<.1&&Math.abs(y+x)<.1&&Math.abs(f+m+g-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const S=(f+1)/2,E=(m+1)/2,P=(g+1)/2,b=(h+p)/4,L=(d+A)/4,D=(y+x)/4;return S>E&&S>P?S<.01?(i=0,r=.707106781,s=.707106781):(i=Math.sqrt(S),r=b/i,s=L/i):E>P?E<.01?(i=.707106781,r=0,s=.707106781):(r=Math.sqrt(E),i=b/r,s=D/r):P<.01?(i=.707106781,r=.707106781,s=0):(s=Math.sqrt(P),i=L/s,r=D/s),this.set(i,r,s,t),this}let _=Math.sqrt((x-y)*(x-y)+(d-A)*(d-A)+(p-h)*(p-h));return Math.abs(_)<.001&&(_=1),this.x=(x-y)/_,this.y=(d-A)/_,this.z=(p-h)/_,this.w=Math.acos((f+m+g-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class TI extends ps{constructor(e=1,t=1,i={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new Bt(0,0,e,t),this.scissorTest=!1,this.viewport=new Bt(0,0,e,t);const r={width:e,height:t,depth:1};i.encoding!==void 0&&(yf("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."),i.colorSpace=i.encoding===Vo?Nn:Ki),i=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:wn,depthBuffer:!0,stencilBuffer:!1,depthTexture:null,samples:0},i),this.texture=new yn(r,i.mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=i.generateMipmaps,this.texture.internalFormat=i.internalFormat,this.depthBuffer=i.depthBuffer,this.stencilBuffer=i.stencilBuffer,this.depthTexture=i.depthTexture,this.samples=i.samples}setSize(e,t,i=1){(this.width!==e||this.height!==t||this.depth!==i)&&(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return new this.constructor().copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new Ba(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Vr extends TI{constructor(e=1,t=1,i={}){super(e,t,i),this.isWebGLRenderTarget=!0}}class Bg extends yn{constructor(e=null,t=1,i=1,r=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=An,this.minFilter=An,this.wrapR=fi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class _H extends Vr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLArrayRenderTarget=!0,this.depth=i,this.texture=new Bg(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class F1 extends yn{constructor(e=null,t=1,i=1,r=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:i,depth:r},this.magFilter=An,this.minFilter=An,this.wrapR=fi,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class SH extends Vr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGL3DRenderTarget=!0,this.depth=i,this.texture=new F1(null,e,t,i),this.texture.isRenderTargetTexture=!0}}class AH extends Vr{constructor(e=1,t=1,i=1,r={}){super(e,t,r),this.isWebGLMultipleRenderTargets=!0;const s=this.texture;this.texture=[];for(let o=0;o=0?1:-1,S=1-g*g;if(S>Number.EPSILON){const P=Math.sqrt(S),b=Math.atan2(P,g*_);x=Math.sin(x*b)/P,a=Math.sin(a*b)/P}const E=a*_;if(l=l*x+p*E,f=f*x+m*E,h=h*x+y*E,d=d*x+A*E,x===1-a){const P=1/Math.sqrt(l*l+f*f+h*h+d*d);l*=P,f*=P,h*=P,d*=P}}e[t]=l,e[t+1]=f,e[t+2]=h,e[t+3]=d}static multiplyQuaternionsFlat(e,t,i,r,s,o){const a=i[r],l=i[r+1],f=i[r+2],h=i[r+3],d=s[o],p=s[o+1],m=s[o+2],y=s[o+3];return e[t]=a*y+h*d+l*m-f*p,e[t+1]=l*y+h*p+f*d-a*m,e[t+2]=f*y+h*m+a*p-l*d,e[t+3]=h*y-a*d-l*p-f*m,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,i,r){return this._x=e,this._y=t,this._z=i,this._w=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const i=e._x,r=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,f=a(i/2),h=a(r/2),d=a(s/2),p=l(i/2),m=l(r/2),y=l(s/2);switch(o){case"XYZ":this._x=p*h*d+f*m*y,this._y=f*m*d-p*h*y,this._z=f*h*y+p*m*d,this._w=f*h*d-p*m*y;break;case"YXZ":this._x=p*h*d+f*m*y,this._y=f*m*d-p*h*y,this._z=f*h*y-p*m*d,this._w=f*h*d+p*m*y;break;case"ZXY":this._x=p*h*d-f*m*y,this._y=f*m*d+p*h*y,this._z=f*h*y+p*m*d,this._w=f*h*d-p*m*y;break;case"ZYX":this._x=p*h*d-f*m*y,this._y=f*m*d+p*h*y,this._z=f*h*y-p*m*d,this._w=f*h*d+p*m*y;break;case"YZX":this._x=p*h*d+f*m*y,this._y=f*m*d+p*h*y,this._z=f*h*y-p*m*d,this._w=f*h*d-p*m*y;break;case"XZY":this._x=p*h*d-f*m*y,this._y=f*m*d-p*h*y,this._z=f*h*y+p*m*d,this._w=f*h*d+p*m*y;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,r=Math.sin(i);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],r=t[4],s=t[8],o=t[1],a=t[5],l=t[9],f=t[2],h=t[6],d=t[10],p=i+a+d;if(p>0){const m=.5/Math.sqrt(p+1);this._w=.25/m,this._x=(h-l)*m,this._y=(s-f)*m,this._z=(o-r)*m}else if(i>a&&i>d){const m=2*Math.sqrt(1+i-a-d);this._w=(h-l)/m,this._x=.25*m,this._y=(r+o)/m,this._z=(s+f)/m}else if(a>d){const m=2*Math.sqrt(1+a-i-d);this._w=(s-f)/m,this._x=(r+o)/m,this._y=.25*m,this._z=(l+h)/m}else{const m=2*Math.sqrt(1+d-i-a);this._w=(o-r)/m,this._x=(s+f)/m,this._y=(l+h)/m,this._z=.25*m}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return iMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(mn(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(i===0)return this;const r=Math.min(1,t/i);return this.slerp(e,r),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,r=e._y,s=e._z,o=e._w,a=t._x,l=t._y,f=t._z,h=t._w;return this._x=i*h+o*a+r*f-s*l,this._y=r*h+o*l+s*a-i*f,this._z=s*h+o*f+i*l-r*a,this._w=o*h-i*a-r*l-s*f,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const i=this._x,r=this._y,s=this._z,o=this._w;let a=o*e._w+i*e._x+r*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=r,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const m=1-t;return this._w=m*o+t*this._w,this._x=m*i+t*this._x,this._y=m*r+t*this._y,this._z=m*s+t*this._z,this.normalize(),this}const f=Math.sqrt(l),h=Math.atan2(f,a),d=Math.sin((1-t)*h)/f,p=Math.sin(t*h)/f;return this._w=o*d+this._w*p,this._x=i*d+this._x*p,this._y=r*d+this._y*p,this._z=s*d+this._z*p,this._onChangeCallback(),this}slerpQuaternions(e,t,i){return this.copy(e).slerp(t,i)}random(){const e=Math.random(),t=Math.sqrt(1-e),i=Math.sqrt(e),r=2*Math.PI*Math.random(),s=2*Math.PI*Math.random();return this.set(t*Math.cos(r),i*Math.sin(s),i*Math.cos(s),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class U{constructor(e=0,t=0,i=0){U.prototype.isVector3=!0,this.x=e,this.y=t,this.z=i}set(e,t,i){return i===void 0&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(CT.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(CT.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[3]*i+s[6]*r,this.y=s[1]*t+s[4]*i+s[7]*r,this.z=s[2]*t+s[5]*i+s[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,r=this.z,s=e.elements,o=1/(s[3]*t+s[7]*i+s[11]*r+s[15]);return this.x=(s[0]*t+s[4]*i+s[8]*r+s[12])*o,this.y=(s[1]*t+s[5]*i+s[9]*r+s[13])*o,this.z=(s[2]*t+s[6]*i+s[10]*r+s[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,r=this.z,s=e.x,o=e.y,a=e.z,l=e.w,f=2*(o*r-a*i),h=2*(a*t-s*r),d=2*(s*i-o*t);return this.x=t+l*f+o*d-a*h,this.y=i+l*h+a*f-s*d,this.z=r+l*d+s*h-o*f,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,r=this.z,s=e.elements;return this.x=s[0]*t+s[4]*i+s[8]*r,this.y=s[1]*t+s[5]*i+s[9]*r,this.z=s[2]*t+s[6]*i+s[10]*r,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,r=e.y,s=e.z,o=t.x,a=t.y,l=t.z;return this.x=r*l-s*a,this.y=s*o-i*l,this.z=i*a-r*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return sy.copy(this).projectOnVector(e),this.sub(sy)}reflect(e){return this.sub(sy.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(mn(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,r=this.z-e.z;return t*t+i*i+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const r=Math.sin(t)*e;return this.x=r*Math.sin(i),this.y=Math.cos(t)*e,this.z=r*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=(Math.random()-.5)*2,t=Math.random()*Math.PI*2,i=Math.sqrt(1-e**2);return this.x=i*Math.cos(t),this.y=i*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const sy=new U,CT=new hi;class wi{constructor(e=new U(1/0,1/0,1/0),t=new U(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,i=e.length;tthis.max.x||e.ythis.max.y||e.zthis.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y||e.max.zthis.max.z)}intersectsSphere(e){return this.clampPoint(e.center,Tr),Tr.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),t<=-e.constant&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(Uu),np.subVectors(this.max,Uu),Nl.subVectors(e.a,Uu),Ul.subVectors(e.b,Uu),Ol.subVectors(e.c,Uu),uo.subVectors(Ul,Nl),fo.subVectors(Ol,Ul),pa.subVectors(Nl,Ol);let t=[0,-uo.z,uo.y,0,-fo.z,fo.y,0,-pa.z,pa.y,uo.z,0,-uo.x,fo.z,0,-fo.x,pa.z,0,-pa.x,-uo.y,uo.x,0,-fo.y,fo.x,0,-pa.y,pa.x,0];return!oy(t,Nl,Ul,Ol,np)||(t=[1,0,0,0,1,0,0,0,1],!oy(t,Nl,Ul,Ol,np))?!1:(ip.crossVectors(uo,fo),t=[ip.x,ip.y,ip.z],oy(t,Nl,Ul,Ol,np))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Tr).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Tr).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(As[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),As[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),As[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),As[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),As[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),As[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),As[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),As[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(As),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const As=[new U,new U,new U,new U,new U,new U,new U,new U],Tr=new U,tp=new wi,Nl=new U,Ul=new U,Ol=new U,uo=new U,fo=new U,pa=new U,Uu=new U,np=new U,ip=new U,ma=new U;function oy(n,e,t,i,r){for(let s=0,o=n.length-3;s<=o;s+=3){ma.fromArray(n,s);const a=r.x*Math.abs(ma.x)+r.y*Math.abs(ma.y)+r.z*Math.abs(ma.z),l=e.dot(ma),f=t.dot(ma),h=i.dot(ma);if(Math.max(-Math.max(l,f,h),Math.min(l,f,h))>a)return!1}return!0}const MH=new wi,Ou=new U,ay=new U;class di{constructor(e=new U,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;t!==void 0?i.copy(t):MH.setFromPoints(e).getCenter(i);let r=0;for(let s=0,o=e.length;sthis.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;Ou.subVectors(e,this.center);const t=Ou.lengthSq();if(t>this.radius*this.radius){const i=Math.sqrt(t),r=(i-this.radius)*.5;this.center.addScaledVector(Ou,r/i),this.radius+=r}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(ay.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Ou.copy(e.center).add(ay)),this.expandByPoint(Ou.copy(e.center).sub(ay))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Ms=new U,ly=new U,rp=new U,ho=new U,cy=new U,sp=new U,uy=new U;class ul{constructor(e=new U,t=new U(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Ms)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const i=t.dot(this.direction);return i<0?t.copy(this.origin):t.copy(this.origin).addScaledVector(this.direction,i)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=Ms.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Ms.copy(this.origin).addScaledVector(this.direction,t),Ms.distanceToSquared(e))}distanceSqToSegment(e,t,i,r){ly.copy(e).add(t).multiplyScalar(.5),rp.copy(t).sub(e).normalize(),ho.copy(this.origin).sub(ly);const s=e.distanceTo(t)*.5,o=-this.direction.dot(rp),a=ho.dot(this.direction),l=-ho.dot(rp),f=ho.lengthSq(),h=Math.abs(1-o*o);let d,p,m,y;if(h>0)if(d=o*l-a,p=o*a-l,y=s*h,d>=0)if(p>=-y)if(p<=y){const A=1/h;d*=A,p*=A,m=d*(d+o*p+2*a)+p*(o*d+p+2*l)+f}else p=s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+f;else p=-s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+f;else p<=-y?(d=Math.max(0,-(-o*s+a)),p=d>0?-s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+f):p<=y?(d=0,p=Math.min(Math.max(-s,-l),s),m=p*(p+2*l)+f):(d=Math.max(0,-(o*s+a)),p=d>0?s:Math.min(Math.max(-s,-l),s),m=-d*d+p*(p+2*l)+f);else p=o>0?-s:s,d=Math.max(0,-(o*p+a)),m=-d*d+p*(p+2*l)+f;return i&&i.copy(this.origin).addScaledVector(this.direction,d),r&&r.copy(ly).addScaledVector(rp,p),m}intersectSphere(e,t){Ms.subVectors(e.center,this.origin);const i=Ms.dot(this.direction),r=Ms.dot(Ms)-i*i,s=e.radius*e.radius;if(r>s)return null;const o=Math.sqrt(s-r),a=i-o,l=i+o;return l<0?null:a<0?this.at(l,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return i>=0?i:null}intersectPlane(e,t){const i=this.distanceToPlane(e);return i===null?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let i,r,s,o,a,l;const f=1/this.direction.x,h=1/this.direction.y,d=1/this.direction.z,p=this.origin;return f>=0?(i=(e.min.x-p.x)*f,r=(e.max.x-p.x)*f):(i=(e.max.x-p.x)*f,r=(e.min.x-p.x)*f),h>=0?(s=(e.min.y-p.y)*h,o=(e.max.y-p.y)*h):(s=(e.max.y-p.y)*h,o=(e.min.y-p.y)*h),i>o||s>r||((s>i||isNaN(i))&&(i=s),(o=0?(a=(e.min.z-p.z)*d,l=(e.max.z-p.z)*d):(a=(e.max.z-p.z)*d,l=(e.min.z-p.z)*d),i>l||a>r)||((a>i||i!==i)&&(i=a),(l=0?i:r,t)}intersectsBox(e){return this.intersectBox(e,Ms)!==null}intersectTriangle(e,t,i,r,s){cy.subVectors(t,e),sp.subVectors(i,e),uy.crossVectors(cy,sp);let o=this.direction.dot(uy),a;if(o>0){if(r)return null;a=1}else if(o<0)a=-1,o=-o;else return null;ho.subVectors(this.origin,e);const l=a*this.direction.dot(sp.crossVectors(ho,sp));if(l<0)return null;const f=a*this.direction.dot(cy.cross(ho));if(f<0||l+f>o)return null;const h=-a*ho.dot(uy);return h<0?null:this.at(h/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class ut{constructor(e,t,i,r,s,o,a,l,f,h,d,p,m,y,A,x){ut.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,i,r,s,o,a,l,f,h,d,p,m,y,A,x)}set(e,t,i,r,s,o,a,l,f,h,d,p,m,y,A,x){const g=this.elements;return g[0]=e,g[4]=t,g[8]=i,g[12]=r,g[1]=s,g[5]=o,g[9]=a,g[13]=l,g[2]=f,g[6]=h,g[10]=d,g[14]=p,g[3]=m,g[7]=y,g[11]=A,g[15]=x,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new ut().fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,r=1/Fl.setFromMatrixColumn(e,0).length(),s=1/Fl.setFromMatrixColumn(e,1).length(),o=1/Fl.setFromMatrixColumn(e,2).length();return t[0]=i[0]*r,t[1]=i[1]*r,t[2]=i[2]*r,t[3]=0,t[4]=i[4]*s,t[5]=i[5]*s,t[6]=i[6]*s,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,i=e.x,r=e.y,s=e.z,o=Math.cos(i),a=Math.sin(i),l=Math.cos(r),f=Math.sin(r),h=Math.cos(s),d=Math.sin(s);if(e.order==="XYZ"){const p=o*h,m=o*d,y=a*h,A=a*d;t[0]=l*h,t[4]=-l*d,t[8]=f,t[1]=m+y*f,t[5]=p-A*f,t[9]=-a*l,t[2]=A-p*f,t[6]=y+m*f,t[10]=o*l}else if(e.order==="YXZ"){const p=l*h,m=l*d,y=f*h,A=f*d;t[0]=p+A*a,t[4]=y*a-m,t[8]=o*f,t[1]=o*d,t[5]=o*h,t[9]=-a,t[2]=m*a-y,t[6]=A+p*a,t[10]=o*l}else if(e.order==="ZXY"){const p=l*h,m=l*d,y=f*h,A=f*d;t[0]=p-A*a,t[4]=-o*d,t[8]=y+m*a,t[1]=m+y*a,t[5]=o*h,t[9]=A-p*a,t[2]=-o*f,t[6]=a,t[10]=o*l}else if(e.order==="ZYX"){const p=o*h,m=o*d,y=a*h,A=a*d;t[0]=l*h,t[4]=y*f-m,t[8]=p*f+A,t[1]=l*d,t[5]=A*f+p,t[9]=m*f-y,t[2]=-f,t[6]=a*l,t[10]=o*l}else if(e.order==="YZX"){const p=o*l,m=o*f,y=a*l,A=a*f;t[0]=l*h,t[4]=A-p*d,t[8]=y*d+m,t[1]=d,t[5]=o*h,t[9]=-a*h,t[2]=-f*h,t[6]=m*d+y,t[10]=p-A*d}else if(e.order==="XZY"){const p=o*l,m=o*f,y=a*l,A=a*f;t[0]=l*h,t[4]=-d,t[8]=f*h,t[1]=p*d+A,t[5]=o*h,t[9]=m*d-y,t[2]=y*d-m,t[6]=a*h,t[10]=A*d+p}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(wH,e,EH)}lookAt(e,t,i){const r=this.elements;return Xi.subVectors(e,t),Xi.lengthSq()===0&&(Xi.z=1),Xi.normalize(),po.crossVectors(i,Xi),po.lengthSq()===0&&(Math.abs(i.z)===1?Xi.x+=1e-4:Xi.z+=1e-4,Xi.normalize(),po.crossVectors(i,Xi)),po.normalize(),op.crossVectors(Xi,po),r[0]=po.x,r[4]=op.x,r[8]=Xi.x,r[1]=po.y,r[5]=op.y,r[9]=Xi.y,r[2]=po.z,r[6]=op.z,r[10]=Xi.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,r=t.elements,s=this.elements,o=i[0],a=i[4],l=i[8],f=i[12],h=i[1],d=i[5],p=i[9],m=i[13],y=i[2],A=i[6],x=i[10],g=i[14],_=i[3],S=i[7],E=i[11],P=i[15],b=r[0],L=r[4],D=r[8],C=r[12],R=r[1],F=r[5],K=r[9],le=r[13],V=r[2],q=r[6],ee=r[10],oe=r[14],k=r[3],j=r[7],Y=r[11],J=r[15];return s[0]=o*b+a*R+l*V+f*k,s[4]=o*L+a*F+l*q+f*j,s[8]=o*D+a*K+l*ee+f*Y,s[12]=o*C+a*le+l*oe+f*J,s[1]=h*b+d*R+p*V+m*k,s[5]=h*L+d*F+p*q+m*j,s[9]=h*D+d*K+p*ee+m*Y,s[13]=h*C+d*le+p*oe+m*J,s[2]=y*b+A*R+x*V+g*k,s[6]=y*L+A*F+x*q+g*j,s[10]=y*D+A*K+x*ee+g*Y,s[14]=y*C+A*le+x*oe+g*J,s[3]=_*b+S*R+E*V+P*k,s[7]=_*L+S*F+E*q+P*j,s[11]=_*D+S*K+E*ee+P*Y,s[15]=_*C+S*le+E*oe+P*J,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],r=e[8],s=e[12],o=e[1],a=e[5],l=e[9],f=e[13],h=e[2],d=e[6],p=e[10],m=e[14],y=e[3],A=e[7],x=e[11],g=e[15];return y*(+s*l*d-r*f*d-s*a*p+i*f*p+r*a*m-i*l*m)+A*(+t*l*m-t*f*p+s*o*p-r*o*m+r*f*h-s*l*h)+x*(+t*f*d-t*a*m-s*o*d+i*o*m+s*a*h-i*f*h)+g*(-r*a*h-t*l*d+t*a*p+r*o*d-i*o*p+i*l*h)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],r=e[2],s=e[3],o=e[4],a=e[5],l=e[6],f=e[7],h=e[8],d=e[9],p=e[10],m=e[11],y=e[12],A=e[13],x=e[14],g=e[15],_=d*x*f-A*p*f+A*l*m-a*x*m-d*l*g+a*p*g,S=y*p*f-h*x*f-y*l*m+o*x*m+h*l*g-o*p*g,E=h*A*f-y*d*f+y*a*m-o*A*m-h*a*g+o*d*g,P=y*d*l-h*A*l-y*a*p+o*A*p+h*a*x-o*d*x,b=t*_+i*S+r*E+s*P;if(b===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const L=1/b;return e[0]=_*L,e[1]=(A*p*s-d*x*s-A*r*m+i*x*m+d*r*g-i*p*g)*L,e[2]=(a*x*s-A*l*s+A*r*f-i*x*f-a*r*g+i*l*g)*L,e[3]=(d*l*s-a*p*s-d*r*f+i*p*f+a*r*m-i*l*m)*L,e[4]=S*L,e[5]=(h*x*s-y*p*s+y*r*m-t*x*m-h*r*g+t*p*g)*L,e[6]=(y*l*s-o*x*s-y*r*f+t*x*f+o*r*g-t*l*g)*L,e[7]=(o*p*s-h*l*s+h*r*f-t*p*f-o*r*m+t*l*m)*L,e[8]=E*L,e[9]=(y*d*s-h*A*s-y*i*m+t*A*m+h*i*g-t*d*g)*L,e[10]=(o*A*s-y*a*s+y*i*f-t*A*f-o*i*g+t*a*g)*L,e[11]=(h*a*s-o*d*s-h*i*f+t*d*f+o*i*m-t*a*m)*L,e[12]=P*L,e[13]=(h*A*r-y*d*r+y*i*p-t*A*p-h*i*x+t*d*x)*L,e[14]=(y*a*r-o*A*r-y*i*l+t*A*l+o*i*x-t*a*x)*L,e[15]=(o*d*r-h*a*r+h*i*l-t*d*l-o*i*p+t*a*p)*L,this}scale(e){const t=this.elements,i=e.x,r=e.y,s=e.z;return t[0]*=i,t[4]*=r,t[8]*=s,t[1]*=i,t[5]*=r,t[9]*=s,t[2]*=i,t[6]*=r,t[10]*=s,t[3]*=i,t[7]*=r,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,i,r))}makeTranslation(e,t,i){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),r=Math.sin(t),s=1-i,o=e.x,a=e.y,l=e.z,f=s*o,h=s*a;return this.set(f*o+i,f*a-r*l,f*l+r*a,0,f*a+r*l,h*a+i,h*l-r*o,0,f*l-r*a,h*l+r*o,s*l*l+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,r,s,o){return this.set(1,i,s,0,e,1,o,0,t,r,1,0,0,0,0,1),this}compose(e,t,i){const r=this.elements,s=t._x,o=t._y,a=t._z,l=t._w,f=s+s,h=o+o,d=a+a,p=s*f,m=s*h,y=s*d,A=o*h,x=o*d,g=a*d,_=l*f,S=l*h,E=l*d,P=i.x,b=i.y,L=i.z;return r[0]=(1-(A+g))*P,r[1]=(m+E)*P,r[2]=(y-S)*P,r[3]=0,r[4]=(m-E)*b,r[5]=(1-(p+g))*b,r[6]=(x+_)*b,r[7]=0,r[8]=(y+S)*L,r[9]=(x-_)*L,r[10]=(1-(p+A))*L,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,i){const r=this.elements;let s=Fl.set(r[0],r[1],r[2]).length();const o=Fl.set(r[4],r[5],r[6]).length(),a=Fl.set(r[8],r[9],r[10]).length();this.determinant()<0&&(s=-s),e.x=r[12],e.y=r[13],e.z=r[14],br.copy(this);const f=1/s,h=1/o,d=1/a;return br.elements[0]*=f,br.elements[1]*=f,br.elements[2]*=f,br.elements[4]*=h,br.elements[5]*=h,br.elements[6]*=h,br.elements[8]*=d,br.elements[9]*=d,br.elements[10]*=d,t.setFromRotationMatrix(br),i.x=s,i.y=o,i.z=a,this}makePerspective(e,t,i,r,s,o,a=Or){const l=this.elements,f=2*s/(t-e),h=2*s/(i-r),d=(t+e)/(t-e),p=(i+r)/(i-r);let m,y;if(a===Or)m=-(o+s)/(o-s),y=-2*o*s/(o-s);else if(a===Gc)m=-o/(o-s),y=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=f,l[4]=0,l[8]=d,l[12]=0,l[1]=0,l[5]=h,l[9]=p,l[13]=0,l[2]=0,l[6]=0,l[10]=m,l[14]=y,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,t,i,r,s,o,a=Or){const l=this.elements,f=1/(t-e),h=1/(i-r),d=1/(o-s),p=(t+e)*f,m=(i+r)*h;let y,A;if(a===Or)y=(o+s)*d,A=-2*d;else if(a===Gc)y=s*d,A=-1*d;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*f,l[4]=0,l[8]=0,l[12]=-p,l[1]=0,l[5]=2*h,l[9]=0,l[13]=-m,l[2]=0,l[6]=0,l[10]=A,l[14]=-y,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let r=0;r<16;r++)if(t[r]!==i[r])return!1;return!0}fromArray(e,t=0){for(let i=0;i<16;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}const Fl=new U,br=new ut,wH=new U(0,0,0),EH=new U(1,1,1),po=new U,op=new U,Xi=new U,PT=new ut,RT=new hi;class fl{constructor(e=0,t=0,i=0,r=fl.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=i,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,r=this._order){return this._x=e,this._y=t,this._z=i,this._order=r,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,i=!0){const r=e.elements,s=r[0],o=r[4],a=r[8],l=r[1],f=r[5],h=r[9],d=r[2],p=r[6],m=r[10];switch(t){case"XYZ":this._y=Math.asin(mn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-h,m),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(p,f),this._z=0);break;case"YXZ":this._x=Math.asin(-mn(h,-1,1)),Math.abs(h)<.9999999?(this._y=Math.atan2(a,m),this._z=Math.atan2(l,f)):(this._y=Math.atan2(-d,s),this._z=0);break;case"ZXY":this._x=Math.asin(mn(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(-d,m),this._z=Math.atan2(-o,f)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-mn(d,-1,1)),Math.abs(d)<.9999999?(this._x=Math.atan2(p,m),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,f));break;case"YZX":this._z=Math.asin(mn(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-h,f),this._y=Math.atan2(-d,s)):(this._x=0,this._y=Math.atan2(a,m));break;case"XZY":this._z=Math.asin(-mn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(p,f),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-h,m),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,i===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return PT.makeRotationFromQuaternion(e),this.setFromRotationMatrix(PT,t,i)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return RT.setFromEuler(this),this.setFromQuaternion(RT,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}fl.DEFAULT_ORDER="XYZ";class Xa{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let t=0;t1){for(let i=0;i0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),r.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(r.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(r.type="BatchedMesh",r.perObjectFrustumCulled=this.perObjectFrustumCulled,r.sortObjects=this.sortObjects,r.drawRanges=this._drawRanges,r.reservedRanges=this._reservedRanges,r.visibility=this._visibility,r.active=this._active,r.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),r.maxGeometryCount=this._maxGeometryCount,r.maxVertexCount=this._maxVertexCount,r.maxIndexCount=this._maxIndexCount,r.geometryInitialized=this._geometryInitialized,r.geometryCount=this._geometryCount,r.matricesTexture=this._matricesTexture.toJSON(e),this.boundingSphere!==null&&(r.boundingSphere={center:r.boundingSphere.center.toArray(),radius:r.boundingSphere.radius}),this.boundingBox!==null&&(r.boundingBox={min:r.boundingBox.min.toArray(),max:r.boundingBox.max.toArray()}));function s(a,l){return a[l.uuid]===void 0&&(a[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=s(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const l=a.shapes;if(Array.isArray(l))for(let f=0,h=l.length;f0){r.children=[];for(let a=0;a0){r.animations=[];for(let a=0;a0&&(i.geometries=a),l.length>0&&(i.materials=l),f.length>0&&(i.textures=f),h.length>0&&(i.images=h),d.length>0&&(i.shapes=d),p.length>0&&(i.skeletons=p),m.length>0&&(i.animations=m),y.length>0&&(i.nodes=y)}return i.object=r,i;function o(a){const l=[];for(const f in a){const h=a[f];delete h.metadata,l.push(h)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let i=0;i0?r.multiplyScalar(1/Math.sqrt(s)):r.set(0,0,0)}static getBarycoord(e,t,i,r,s){Cr.subVectors(r,t),Es.subVectors(i,t),fy.subVectors(e,t);const o=Cr.dot(Cr),a=Cr.dot(Es),l=Cr.dot(fy),f=Es.dot(Es),h=Es.dot(fy),d=o*f-a*a;if(d===0)return s.set(0,0,0),null;const p=1/d,m=(f*l-a*h)*p,y=(o*h-a*l)*p;return s.set(1-m-y,y,m)}static containsPoint(e,t,i,r){return this.getBarycoord(e,t,i,r,Ts)===null?!1:Ts.x>=0&&Ts.y>=0&&Ts.x+Ts.y<=1}static getUV(e,t,i,r,s,o,a,l){return lp===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),lp=!0),this.getInterpolation(e,t,i,r,s,o,a,l)}static getInterpolation(e,t,i,r,s,o,a,l){return this.getBarycoord(e,t,i,r,Ts)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,Ts.x),l.addScaledVector(o,Ts.y),l.addScaledVector(a,Ts.z),l)}static isFrontFacing(e,t,i,r){return Cr.subVectors(i,t),Es.subVectors(e,t),Cr.cross(Es).dot(r)<0}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,r){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,i,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,i),this.c.fromBufferAttribute(e,r),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Cr.subVectors(this.c,this.b),Es.subVectors(this.a,this.b),Cr.cross(Es).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Di.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Di.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,i,r,s){return lp===!1&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),lp=!0),Di.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}getInterpolation(e,t,i,r,s){return Di.getInterpolation(e,this.a,this.b,this.c,t,i,r,s)}containsPoint(e){return Di.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Di.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const i=this.a,r=this.b,s=this.c;let o,a;Bl.subVectors(r,i),zl.subVectors(s,i),hy.subVectors(e,i);const l=Bl.dot(hy),f=zl.dot(hy);if(l<=0&&f<=0)return t.copy(i);dy.subVectors(e,r);const h=Bl.dot(dy),d=zl.dot(dy);if(h>=0&&d<=h)return t.copy(r);const p=l*d-h*f;if(p<=0&&l>=0&&h<=0)return o=l/(l-h),t.copy(i).addScaledVector(Bl,o);py.subVectors(e,s);const m=Bl.dot(py),y=zl.dot(py);if(y>=0&&m<=y)return t.copy(s);const A=m*f-l*y;if(A<=0&&f>=0&&y<=0)return a=f/(f-y),t.copy(i).addScaledVector(zl,a);const x=h*y-m*d;if(x<=0&&d-h>=0&&m-y>=0)return UT.subVectors(s,r),a=(d-h)/(d-h+(m-y)),t.copy(r).addScaledVector(UT,a);const g=1/(x+A+p);return o=A*g,a=p*g,t.copy(i).addScaledVector(Bl,o).addScaledVector(zl,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const bI={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},mo={h:0,s:0,l:0},cp={h:0,s:0,l:0};function my(n,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?n+(e-n)*6*t:t<1/2?e:t<2/3?n+(e-n)*6*(2/3-t):n}class He{constructor(e,t,i){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,i)}set(e,t,i){if(t===void 0&&i===void 0){const r=e;r&&r.isColor?this.copy(r):typeof r=="number"?this.setHex(r):typeof r=="string"&&this.setStyle(r)}else this.setRGB(e,t,i);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Nn){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,kt.toWorkingColorSpace(this,t),this}setRGB(e,t,i,r=kt.workingColorSpace){return this.r=e,this.g=t,this.b=i,kt.toWorkingColorSpace(this,r),this}setHSL(e,t,i,r=kt.workingColorSpace){if(e=U1(e,1),t=mn(t,0,1),i=mn(i,0,1),t===0)this.r=this.g=this.b=i;else{const s=i<=.5?i*(1+t):i+t-i*t,o=2*i-s;this.r=my(o,s,e+1/3),this.g=my(o,s,e),this.b=my(o,s,e-1/3)}return kt.toWorkingColorSpace(this,r),this}setStyle(e,t=Nn){function i(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let r;if(r=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=r[1],a=r[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return i(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(r=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=r[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Nn){const i=bI[e.toLowerCase()];return i!==void 0?this.setHex(i,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=Ic(e.r),this.g=Ic(e.g),this.b=Ic(e.b),this}copyLinearToSRGB(e){return this.r=iy(e.r),this.g=iy(e.g),this.b=iy(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Nn){return kt.fromWorkingColorSpace(ai.copy(this),e),Math.round(mn(ai.r*255,0,255))*65536+Math.round(mn(ai.g*255,0,255))*256+Math.round(mn(ai.b*255,0,255))}getHexString(e=Nn){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=kt.workingColorSpace){kt.fromWorkingColorSpace(ai.copy(this),t);const i=ai.r,r=ai.g,s=ai.b,o=Math.max(i,r,s),a=Math.min(i,r,s);let l,f;const h=(a+o)/2;if(a===o)l=0,f=0;else{const d=o-a;switch(f=h<=.5?d/(o+a):d/(2-o-a),o){case i:l=(r-s)/d+(r0!=e>0&&this.version++,this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const i=e[t];if(i===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const r=this[t];if(r===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}r&&r.isColor?r.set(i):r&&r.isVector3&&i&&i.isVector3?r.copy(i):this[t]=i}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const i={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),this.roughness!==void 0&&(i.roughness=this.roughness),this.metalness!==void 0&&(i.metalness=this.metalness),this.sheen!==void 0&&(i.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(i.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(i.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&this.emissiveIntensity!==1&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(i.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(i.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(i.shininess=this.shininess),this.clearcoat!==void 0&&(i.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.iridescence!==void 0&&(i.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(i.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(i.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(i.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(i.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(i.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(i.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(i.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(i.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(i.combine=this.combine)),this.envMapIntensity!==void 0&&(i.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(i.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(i.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(i.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(i.size=this.size),this.shadowSide!==null&&(i.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==Wa&&(i.blending=this.blending),this.side!==Xs&&(i.side=this.side),this.vertexColors===!0&&(i.vertexColors=!0),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=!0),this.blendSrc!==Jm&&(i.blendSrc=this.blendSrc),this.blendDst!==Qm&&(i.blendDst=this.blendDst),this.blendEquation!==wo&&(i.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(i.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(i.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(i.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(i.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(i.blendAlpha=this.blendAlpha),this.depthFunc!==Wf&&(i.depthFunc=this.depthFunc),this.depthTest===!1&&(i.depthTest=this.depthTest),this.depthWrite===!1&&(i.depthWrite=this.depthWrite),this.colorWrite===!1&&(i.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(i.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==k_&&(i.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(i.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(i.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Ra&&(i.stencilFail=this.stencilFail),this.stencilZFail!==Ra&&(i.stencilZFail=this.stencilZFail),this.stencilZPass!==Ra&&(i.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(i.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(i.rotation=this.rotation),this.polygonOffset===!0&&(i.polygonOffset=!0),this.polygonOffsetFactor!==0&&(i.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(i.linewidth=this.linewidth),this.dashSize!==void 0&&(i.dashSize=this.dashSize),this.gapSize!==void 0&&(i.gapSize=this.gapSize),this.scale!==void 0&&(i.scale=this.scale),this.dithering===!0&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.alphaHash===!0&&(i.alphaHash=!0),this.alphaToCoverage===!0&&(i.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=!0),this.forceSinglePass===!0&&(i.forceSinglePass=!0),this.wireframe===!0&&(i.wireframe=!0),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(i.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(i.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(i.flatShading=!0),this.visible===!1&&(i.visible=!1),this.toneMapped===!1&&(i.toneMapped=!1),this.fog===!1&&(i.fog=!1),Object.keys(this.userData).length>0&&(i.userData=this.userData);function r(s){const o=[];for(const a in s){const l=s[a];delete l.metadata,o.push(l)}return o}if(t){const s=r(e.textures),o=r(e.images);s.length>0&&(i.textures=s),o.length>0&&(i.images=o)}return i}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(t!==null){const r=t.length;i=new Array(r);for(let s=0;s!==r;++s)i[s]=t[s].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}}class ta extends $n{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new He(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Mh,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Ls=IH();function IH(){const n=new ArrayBuffer(4),e=new Float32Array(n),t=new Uint32Array(n),i=new Uint32Array(512),r=new Uint32Array(512);for(let l=0;l<256;++l){const f=l-127;f<-27?(i[l]=0,i[l|256]=32768,r[l]=24,r[l|256]=24):f<-14?(i[l]=1024>>-f-14,i[l|256]=1024>>-f-14|32768,r[l]=-f-1,r[l|256]=-f-1):f<=15?(i[l]=f+15<<10,i[l|256]=f+15<<10|32768,r[l]=13,r[l|256]=13):f<128?(i[l]=31744,i[l|256]=64512,r[l]=24,r[l|256]=24):(i[l]=31744,i[l|256]=64512,r[l]=13,r[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let f=l<<13,h=0;for(;!(f&8388608);)f<<=1,h-=8388608;f&=-8388609,h+=947912704,s[l]=f|h}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:t,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:o,offsetTable:a}}function Li(n){Math.abs(n)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),n=mn(n,-65504,65504),Ls.floatView[0]=n;const e=Ls.uint32View[0],t=e>>23&511;return Ls.baseTable[t]+((e&8388607)>>Ls.shiftTable[t])}function ef(n){const e=n>>10;return Ls.uint32View[0]=Ls.mantissaTable[Ls.offsetTable[e]+(n&1023)]+Ls.exponentTable[e],Ls.floatView[0]}const DH={toHalfFloat:Li,fromHalfFloat:ef},bn=new U,up=new me;class Vt{constructor(e,t,i=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=i,this.usage=th,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=Ur,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return console.warn("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let r=0,s=this.itemSize;r0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const f in l)l[f]!==void 0&&(e[f]=l[f]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const l in i){const f=i[l];e.data.attributes[l]=f.toJSON(e.data)}const r={};let s=!1;for(const l in this.morphAttributes){const f=this.morphAttributes[l],h=[];for(let d=0,p=f.length;d0&&(r[l]=h,s=!0)}s&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;i!==null&&this.setIndex(i.clone(t));const r=e.attributes;for(const f in r){const h=r[f];this.setAttribute(f,h.clone(t))}const s=e.morphAttributes;for(const f in s){const h=[],d=s[f];for(let p=0,m=d.length;p0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s(e.far-e.near)**2))&&(OT.copy(s).invert(),ga.copy(e.ray).applyMatrix4(OT),!(i.boundingBox!==null&&ga.intersectsBox(i.boundingBox)===!1)&&this._computeIntersections(e,t,ga)))}_computeIntersections(e,t,i){let r;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,f=s.attributes.uv,h=s.attributes.uv1,d=s.attributes.normal,p=s.groups,m=s.drawRange;if(a!==null)if(Array.isArray(o))for(let y=0,A=p.length;yt.far?null:{distance:f,point:vp.clone(),object:n}}function yp(n,e,t,i,r,s,o,a,l,f){n.getVertexPosition(a,Hl),n.getVertexPosition(l,Gl),n.getVertexPosition(f,Wl);const h=HH(n,e,t,i,Hl,Gl,Wl,gp);if(h){r&&(dp.fromBufferAttribute(r,a),pp.fromBufferAttribute(r,l),mp.fromBufferAttribute(r,f),h.uv=Di.getInterpolation(gp,Hl,Gl,Wl,dp,pp,mp,new me)),s&&(dp.fromBufferAttribute(s,a),pp.fromBufferAttribute(s,l),mp.fromBufferAttribute(s,f),h.uv1=Di.getInterpolation(gp,Hl,Gl,Wl,dp,pp,mp,new me),h.uv2=h.uv1),o&&(kT.fromBufferAttribute(o,a),BT.fromBufferAttribute(o,l),zT.fromBufferAttribute(o,f),h.normal=Di.getInterpolation(gp,Hl,Gl,Wl,kT,BT,zT,new U),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const d={a,b:l,c:f,normal:new U,materialIndex:0};Di.getNormal(Hl,Gl,Wl,d.normal),h.face=d}return h}class hl extends xt{constructor(e=1,t=1,i=1,r=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:r,heightSegments:s,depthSegments:o};const a=this;r=Math.floor(r),s=Math.floor(s),o=Math.floor(o);const l=[],f=[],h=[],d=[];let p=0,m=0;y("z","y","x",-1,-1,i,t,e,o,s,0),y("z","y","x",1,-1,i,t,-e,o,s,1),y("x","z","y",1,1,e,i,t,r,o,2),y("x","z","y",1,-1,e,i,-t,r,o,3),y("x","y","z",1,-1,e,t,i,r,s,4),y("x","y","z",-1,-1,e,t,-i,r,s,5),this.setIndex(l),this.setAttribute("position",new Ze(f,3)),this.setAttribute("normal",new Ze(h,3)),this.setAttribute("uv",new Ze(d,2));function y(A,x,g,_,S,E,P,b,L,D,C){const R=E/L,F=P/D,K=E/2,le=P/2,V=b/2,q=L+1,ee=D+1;let oe=0,k=0;const j=new U;for(let Y=0;Y0?1:-1,h.push(j.x,j.y,j.z),d.push(ie/L),d.push(1-Y/D),oe+=1}}for(let Y=0;Y0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class Eh extends Nt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new ut,this.projectionMatrix=new ut,this.projectionMatrixInverse=new ut,this.coordinateSystem=Or}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class nn extends Eh{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Gc*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(ja*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Gc*2*Math.atan(Math.tan(ja*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,i,r,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(ja*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,s=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,f=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/f,r*=o.width/l,i*=o.height/f}const a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const jl=-90,Xl=1;class z1 extends Nt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new nn(jl,Xl,e,t);r.layers=this.layers,this.add(r);const s=new nn(jl,Xl,e,t);s.layers=this.layers,this.add(s);const o=new nn(jl,Xl,e,t);o.layers=this.layers,this.add(o);const a=new nn(jl,Xl,e,t);a.layers=this.layers,this.add(a);const l=new nn(jl,Xl,e,t);l.layers=this.layers,this.add(l);const f=new nn(jl,Xl,e,t);f.layers=this.layers,this.add(f)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const f of t)this.remove(f);if(e===Or)i.up.set(0,1,0),i.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===Wc)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const f of t)this.add(f),f.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,f,h]=this.children,d=e.getRenderTarget(),p=e.getActiveCubeFace(),m=e.getActiveMipmapLevel(),y=e.xr.enabled;e.xr.enabled=!1;const A=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,s),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,a),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,f),i.texture.generateMipmaps=A,e.setRenderTarget(i,5,r),e.render(t,h),e.setRenderTarget(d,p,m),e.xr.enabled=y,i.texture.needsPMREMUpdate=!0}}class Th extends yn{constructor(e,t,i,r,s,o,a,l,f,h){e=e!==void 0?e:[],t=t!==void 0?t:Ys,super(e,t,i,r,s,o,a,l,f,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class V1 extends Vr{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];t.encoding!==void 0&&(yf("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Vo?Nn:Ki),this.texture=new Th(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:wn}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` +}`;class ds extends $n{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=WH,this.fragmentShader=jH,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1,clipCullDistance:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=jc(e.uniforms),this.uniformsGroups=GH(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const r in this.uniforms){const o=this.uniforms[r].value;o&&o.isTexture?t.uniforms[r]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[r]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[r]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[r]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[r]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[r]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[r]={type:"m4",value:o.toArray()}:t.uniforms[r]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const i={};for(const r in this.extensions)this.extensions[r]===!0&&(i[r]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}class Eh extends Nt{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new ut,this.projectionMatrix=new ut,this.projectionMatrixInverse=new ut,this.coordinateSystem=Or}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}class nn extends Eh{constructor(e=50,t=1,i=.1,r=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Wc*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(ja*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return Wc*2*Math.atan(Math.tan(ja*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,i,r,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(ja*.5*this.fov)/this.zoom,i=2*t,r=this.aspect*i,s=-.5*r;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,f=o.fullHeight;s+=o.offsetX*r/l,t-=o.offsetY*i/f,r*=o.width/l,i*=o.height/f}const a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+r,t,t-i,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const jl=-90,Xl=1;class z1 extends Nt{constructor(e,t,i){super(),this.type="CubeCamera",this.renderTarget=i,this.coordinateSystem=null,this.activeMipmapLevel=0;const r=new nn(jl,Xl,e,t);r.layers=this.layers,this.add(r);const s=new nn(jl,Xl,e,t);s.layers=this.layers,this.add(s);const o=new nn(jl,Xl,e,t);o.layers=this.layers,this.add(o);const a=new nn(jl,Xl,e,t);a.layers=this.layers,this.add(a);const l=new nn(jl,Xl,e,t);l.layers=this.layers,this.add(l);const f=new nn(jl,Xl,e,t);f.layers=this.layers,this.add(f)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[i,r,s,o,a,l]=t;for(const f of t)this.remove(f);if(e===Or)i.up.set(0,1,0),i.lookAt(1,0,0),r.up.set(0,1,0),r.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===Gc)i.up.set(0,-1,0),i.lookAt(-1,0,0),r.up.set(0,-1,0),r.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const f of t)this.add(f),f.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:i,activeMipmapLevel:r}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,f,h]=this.children,d=e.getRenderTarget(),p=e.getActiveCubeFace(),m=e.getActiveMipmapLevel(),y=e.xr.enabled;e.xr.enabled=!1;const A=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0,r),e.render(t,s),e.setRenderTarget(i,1,r),e.render(t,o),e.setRenderTarget(i,2,r),e.render(t,a),e.setRenderTarget(i,3,r),e.render(t,l),e.setRenderTarget(i,4,r),e.render(t,f),i.texture.generateMipmaps=A,e.setRenderTarget(i,5,r),e.render(t,h),e.setRenderTarget(d,p,m),e.xr.enabled=y,i.texture.needsPMREMUpdate=!0}}class Th extends yn{constructor(e,t,i,r,s,o,a,l,f,h){e=e!==void 0?e:[],t=t!==void 0?t:Ys,super(e,t,i,r,s,o,a,l,f,h),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class V1 extends Vr{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const i={width:e,height:e,depth:1},r=[i,i,i,i,i,i];t.encoding!==void 0&&(yf("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),t.colorSpace=t.encoding===Vo?Nn:Ki),this.texture=new Th(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:wn}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -114,9 +114,9 @@ Error generating stack: `+s.message+` gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},r=new hl(5,5,5),s=new ds({name:"CubemapFromEquirect",uniforms:jc(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:Mi,blending:zs});s.uniforms.tEquirect.value=t;const o=new Rn(r,s),a=t.minFilter;return t.minFilter===Yo&&(t.minFilter=wn),new z1(1,10,this).update(e,o),t.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,i,r){const s=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,i,r);e.setRenderTarget(s)}}const yy=new U,G5=new U,j5=new wt;class Rs{constructor(e=new U(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,r){return this.normal.set(e,t,i),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const r=yy.subVectors(i,t).cross(G5.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const i=e.delta(yy),r=this.normal.dot(i);if(r===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const s=-(e.start.dot(this.normal)+this.constant)/r;return s<0||s>1?null:t.copy(e.start).addScaledVector(i,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||j5.getNormalMatrix(e),r=this.coplanarPoint(yy).applyMatrix4(e),s=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const va=new di,xp=new U;class bh{constructor(e=new Rs,t=new Rs,i=new Rs,r=new Rs,s=new Rs,o=new Rs){this.planes=[e,t,i,r,s,o]}set(e,t,i,r,s,o){const a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(i),a[3].copy(r),a[4].copy(s),a[5].copy(o),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,t=Or){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],f=r[4],h=r[5],d=r[6],p=r[7],m=r[8],y=r[9],A=r[10],x=r[11],g=r[12],_=r[13],S=r[14],E=r[15];if(i[0].setComponents(l-s,p-f,x-m,E-g).normalize(),i[1].setComponents(l+s,p+f,x+m,E+g).normalize(),i[2].setComponents(l+o,p+h,x+y,E+_).normalize(),i[3].setComponents(l-o,p-h,x-y,E-_).normalize(),i[4].setComponents(l-a,p-d,x-A,E-S).normalize(),t===Or)i[5].setComponents(l+a,p+d,x+A,E+S).normalize();else if(t===Wc)i[5].setComponents(a,d,A,S).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),va.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),va.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(va)}intersectsSprite(e){return va.center.set(0,0,0),va.radius=.7071067811865476,va.applyMatrix4(e.matrixWorld),this.intersectsSphere(va)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(i)0?e.max.x:e.min.x,xp.y=r.normal.y>0?e.max.y:e.min.y,xp.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(xp)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function RI(){let n=null,e=!1,t=null,i=null;function r(s,o){t(s,o),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){n=s}}}function X5(n,e){const t=e.isWebGL2,i=new WeakMap;function r(f,h){const d=f.array,p=f.usage,m=d.byteLength,y=n.createBuffer();n.bindBuffer(h,y),n.bufferData(h,d,p),f.onUploadCallback();let A;if(d instanceof Float32Array)A=n.FLOAT;else if(d instanceof Uint16Array)if(f.isFloat16BufferAttribute)if(t)A=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else A=n.UNSIGNED_SHORT;else if(d instanceof Int16Array)A=n.SHORT;else if(d instanceof Uint32Array)A=n.UNSIGNED_INT;else if(d instanceof Int32Array)A=n.INT;else if(d instanceof Int8Array)A=n.BYTE;else if(d instanceof Uint8Array)A=n.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)A=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:y,type:A,bytesPerElement:d.BYTES_PER_ELEMENT,version:f.version,size:m}}function s(f,h,d){const p=h.array,m=h._updateRange,y=h.updateRanges;if(n.bindBuffer(d,f),m.count===-1&&y.length===0&&n.bufferSubData(d,0,p),y.length!==0){for(let A=0,x=y.length;A1?null:t.copy(e.start).addScaledVector(i,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return t<0&&i>0||i<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||YH.getNormalMatrix(e),r=this.coplanarPoint(yy).applyMatrix4(e),s=this.normal.applyMatrix3(i).normalize();return this.constant=-r.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const va=new di,xp=new U;class bh{constructor(e=new Rs,t=new Rs,i=new Rs,r=new Rs,s=new Rs,o=new Rs){this.planes=[e,t,i,r,s,o]}set(e,t,i,r,s,o){const a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(i),a[3].copy(r),a[4].copy(s),a[5].copy(o),this}copy(e){const t=this.planes;for(let i=0;i<6;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e,t=Or){const i=this.planes,r=e.elements,s=r[0],o=r[1],a=r[2],l=r[3],f=r[4],h=r[5],d=r[6],p=r[7],m=r[8],y=r[9],A=r[10],x=r[11],g=r[12],_=r[13],S=r[14],E=r[15];if(i[0].setComponents(l-s,p-f,x-m,E-g).normalize(),i[1].setComponents(l+s,p+f,x+m,E+g).normalize(),i[2].setComponents(l+o,p+h,x+y,E+_).normalize(),i[3].setComponents(l-o,p-h,x-y,E-_).normalize(),i[4].setComponents(l-a,p-d,x-A,E-S).normalize(),t===Or)i[5].setComponents(l+a,p+d,x+A,E+S).normalize();else if(t===Gc)i[5].setComponents(a,d,A,S).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),va.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),va.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(va)}intersectsSprite(e){return va.center.set(0,0,0),va.radius=.7071067811865476,va.applyMatrix4(e.matrixWorld),this.intersectsSphere(va)}intersectsSphere(e){const t=this.planes,i=e.center,r=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(i)0?e.max.x:e.min.x,xp.y=r.normal.y>0?e.max.y:e.min.y,xp.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(xp)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;i<6;i++)if(t[i].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function RI(){let n=null,e=!1,t=null,i=null;function r(s,o){t(s,o),i=n.requestAnimationFrame(r)}return{start:function(){e!==!0&&t!==null&&(i=n.requestAnimationFrame(r),e=!0)},stop:function(){n.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){n=s}}}function qH(n,e){const t=e.isWebGL2,i=new WeakMap;function r(f,h){const d=f.array,p=f.usage,m=d.byteLength,y=n.createBuffer();n.bindBuffer(h,y),n.bufferData(h,d,p),f.onUploadCallback();let A;if(d instanceof Float32Array)A=n.FLOAT;else if(d instanceof Uint16Array)if(f.isFloat16BufferAttribute)if(t)A=n.HALF_FLOAT;else throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");else A=n.UNSIGNED_SHORT;else if(d instanceof Int16Array)A=n.SHORT;else if(d instanceof Uint32Array)A=n.UNSIGNED_INT;else if(d instanceof Int32Array)A=n.INT;else if(d instanceof Int8Array)A=n.BYTE;else if(d instanceof Uint8Array)A=n.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)A=n.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:y,type:A,bytesPerElement:d.BYTES_PER_ELEMENT,version:f.version,size:m}}function s(f,h,d){const p=h.array,m=h._updateRange,y=h.updateRanges;if(n.bindBuffer(d,f),m.count===-1&&y.length===0&&n.bufferSubData(d,0,p),y.length!==0){for(let A=0,x=y.length;A 0 +#endif`,uG=`#if NUM_CLIPPING_PLANES > 0 vec4 plane; #pragma unroll_loop_start for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { @@ -313,26 +313,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #pragma unroll_loop_end if ( clipped ) discard; #endif -#endif`,cW=`#if NUM_CLIPPING_PLANES > 0 +#endif`,fG=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; -#endif`,uW=`#if NUM_CLIPPING_PLANES > 0 +#endif`,hG=`#if NUM_CLIPPING_PLANES > 0 varying vec3 vClipPosition; -#endif`,fW=`#if NUM_CLIPPING_PLANES > 0 +#endif`,dG=`#if NUM_CLIPPING_PLANES > 0 vClipPosition = - mvPosition.xyz; -#endif`,hW=`#if defined( USE_COLOR_ALPHA ) +#endif`,pG=`#if defined( USE_COLOR_ALPHA ) diffuseColor *= vColor; #elif defined( USE_COLOR ) diffuseColor.rgb *= vColor; -#endif`,dW=`#if defined( USE_COLOR_ALPHA ) +#endif`,mG=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) varying vec3 vColor; -#endif`,pW=`#if defined( USE_COLOR_ALPHA ) +#endif`,gG=`#if defined( USE_COLOR_ALPHA ) varying vec4 vColor; #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) varying vec3 vColor; -#endif`,mW=`#if defined( USE_COLOR_ALPHA ) +#endif`,vG=`#if defined( USE_COLOR_ALPHA ) vColor = vec4( 1.0 ); #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) vColor = vec3( 1.0 ); @@ -342,7 +342,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve #endif #ifdef USE_INSTANCING_COLOR vColor.xyz *= instanceColor.xyz; -#endif`,gW=`#define PI 3.141592653589793 +#endif`,yG=`#define PI 3.141592653589793 #define PI2 6.283185307179586 #define PI_HALF 1.5707963267948966 #define RECIPROCAL_PI 0.3183098861837907 @@ -420,7 +420,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); -} // validated`,vW=`#ifdef ENVMAP_TYPE_CUBE_UV +} // validated`,xG=`#ifdef ENVMAP_TYPE_CUBE_UV #define cubeUV_minMipLevel 4.0 #define cubeUV_minTileSize 16.0 float getFace( vec3 direction ) { @@ -513,7 +513,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { return vec4( mix( color0, color1, mipF ), 1.0 ); } } -#endif`,yW=`vec3 transformedNormal = objectNormal; +#endif`,_G=`vec3 transformedNormal = objectNormal; #ifdef USE_TANGENT vec3 transformedTangent = objectTangent; #endif @@ -542,18 +542,18 @@ transformedNormal = normalMatrix * transformedNormal; #ifdef FLIP_SIDED transformedTangent = - transformedTangent; #endif -#endif`,xW=`#ifdef USE_DISPLACEMENTMAP +#endif`,SG=`#ifdef USE_DISPLACEMENTMAP uniform sampler2D displacementMap; uniform float displacementScale; uniform float displacementBias; -#endif`,_W=`#ifdef USE_DISPLACEMENTMAP +#endif`,AG=`#ifdef USE_DISPLACEMENTMAP transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias ); -#endif`,SW=`#ifdef USE_EMISSIVEMAP +#endif`,MG=`#ifdef USE_EMISSIVEMAP vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); totalEmissiveRadiance *= emissiveColor.rgb; -#endif`,AW=`#ifdef USE_EMISSIVEMAP +#endif`,wG=`#ifdef USE_EMISSIVEMAP uniform sampler2D emissiveMap; -#endif`,MW="gl_FragColor = linearToOutputTexel( gl_FragColor );",wW=` +#endif`,EG="gl_FragColor = linearToOutputTexel( gl_FragColor );",TG=` const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3( vec3( 0.8224621, 0.177538, 0.0 ), vec3( 0.0331941, 0.9668058, 0.0 ), @@ -581,7 +581,7 @@ vec4 LinearToLinear( in vec4 value ) { } vec4 LinearTosRGB( in vec4 value ) { return sRGBTransferOETF( value ); -}`,EW=`#ifdef USE_ENVMAP +}`,bG=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vec3 cameraToFrag; if ( isOrthographic ) { @@ -610,7 +610,7 @@ vec4 LinearTosRGB( in vec4 value ) { #elif defined( ENVMAP_BLENDING_ADD ) outgoingLight += envColor.xyz * specularStrength * reflectivity; #endif -#endif`,TW=`#ifdef USE_ENVMAP +#endif`,CG=`#ifdef USE_ENVMAP uniform float envMapIntensity; uniform float flipEnvMap; #ifdef ENVMAP_TYPE_CUBE @@ -619,7 +619,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform sampler2D envMap; #endif -#endif`,bW=`#ifdef USE_ENVMAP +#endif`,PG=`#ifdef USE_ENVMAP uniform float reflectivity; #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS @@ -630,7 +630,7 @@ vec4 LinearTosRGB( in vec4 value ) { #else varying vec3 vReflect; #endif -#endif`,CW=`#ifdef USE_ENVMAP +#endif`,RG=`#ifdef USE_ENVMAP #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) #define ENV_WORLDPOS #endif @@ -641,7 +641,7 @@ vec4 LinearTosRGB( in vec4 value ) { varying vec3 vReflect; uniform float refractionRatio; #endif -#endif`,PW=`#ifdef USE_ENVMAP +#endif`,LG=`#ifdef USE_ENVMAP #ifdef ENV_WORLDPOS vWorldPosition = worldPosition.xyz; #else @@ -658,18 +658,18 @@ vec4 LinearTosRGB( in vec4 value ) { vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); #endif #endif -#endif`,RW=`#ifdef USE_FOG +#endif`,IG=`#ifdef USE_FOG vFogDepth = - mvPosition.z; -#endif`,LW=`#ifdef USE_FOG +#endif`,DG=`#ifdef USE_FOG varying float vFogDepth; -#endif`,IW=`#ifdef USE_FOG +#endif`,NG=`#ifdef USE_FOG #ifdef FOG_EXP2 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); #else float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); #endif gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); -#endif`,DW=`#ifdef USE_FOG +#endif`,UG=`#ifdef USE_FOG uniform vec3 fogColor; varying float vFogDepth; #ifdef FOG_EXP2 @@ -678,7 +678,7 @@ vec4 LinearTosRGB( in vec4 value ) { uniform float fogNear; uniform float fogFar; #endif -#endif`,NW=`#ifdef USE_GRADIENTMAP +#endif`,OG=`#ifdef USE_GRADIENTMAP uniform sampler2D gradientMap; #endif vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { @@ -690,16 +690,16 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { vec2 fw = fwidth( coord ) * 0.5; return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); #endif -}`,UW=`#ifdef USE_LIGHTMAP +}`,FG=`#ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; reflectedLight.indirectDiffuse += lightMapIrradiance; -#endif`,OW=`#ifdef USE_LIGHTMAP +#endif`,kG=`#ifdef USE_LIGHTMAP uniform sampler2D lightMap; uniform float lightMapIntensity; -#endif`,FW=`LambertMaterial material; +#endif`,BG=`LambertMaterial material; material.diffuseColor = diffuseColor.rgb; -material.specularStrength = specularStrength;`,kW=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,zG=`varying vec3 vViewPosition; struct LambertMaterial { vec3 diffuseColor; float specularStrength; @@ -713,7 +713,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Lambert -#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,BW=`uniform bool receiveShadow; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,VG=`uniform bool receiveShadow; uniform vec3 ambientLightColor; #if defined( USE_LIGHT_PROBES ) uniform vec3 lightProbe[ 9 ]; @@ -836,7 +836,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); return irradiance; } -#endif`,zW=`#ifdef USE_ENVMAP +#endif`,HG=`#ifdef USE_ENVMAP vec3 getIBLIrradiance( const in vec3 normal ) { #ifdef ENVMAP_TYPE_CUBE_UV vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); @@ -869,8 +869,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi #endif } #endif -#endif`,VW=`ToonMaterial material; -material.diffuseColor = diffuseColor.rgb;`,HW=`varying vec3 vViewPosition; +#endif`,GG=`ToonMaterial material; +material.diffuseColor = diffuseColor.rgb;`,WG=`varying vec3 vViewPosition; struct ToonMaterial { vec3 diffuseColor; }; @@ -882,11 +882,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_Toon -#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,WW=`BlinnPhongMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,jG=`BlinnPhongMaterial material; material.diffuseColor = diffuseColor.rgb; material.specularColor = specular; material.specularShininess = shininess; -material.specularStrength = specularStrength;`,GW=`varying vec3 vViewPosition; +material.specularStrength = specularStrength;`,XG=`varying vec3 vViewPosition; struct BlinnPhongMaterial { vec3 diffuseColor; vec3 specularColor; @@ -903,7 +903,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); } #define RE_Direct RE_Direct_BlinnPhong -#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,jW=`PhysicalMaterial material; +#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,YG=`PhysicalMaterial material; material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); @@ -986,7 +986,7 @@ material.roughness = min( material.roughness, 1.0 ); material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) ); material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; -#endif`,XW=`struct PhysicalMaterial { +#endif`,qG=`struct PhysicalMaterial { vec3 diffuseColor; float roughness; vec3 specularColor; @@ -1286,7 +1286,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia #define RE_IndirectSpecular RE_IndirectSpecular_Physical float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); -}`,YW=` +}`,ZG=` vec3 geometryPosition = - vViewPosition; vec3 geometryNormal = normal; vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); @@ -1401,7 +1401,7 @@ IncidentLight directLight; #if defined( RE_IndirectSpecular ) vec3 radiance = vec3( 0.0 ); vec3 clearcoatRadiance = vec3( 0.0 ); -#endif`,qW=`#if defined( RE_IndirectDiffuse ) +#endif`,KG=`#if defined( RE_IndirectDiffuse ) #ifdef USE_LIGHTMAP vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; @@ -1420,25 +1420,25 @@ IncidentLight directLight; #ifdef USE_CLEARCOAT clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); #endif -#endif`,ZW=`#if defined( RE_IndirectDiffuse ) +#endif`,JG=`#if defined( RE_IndirectDiffuse ) RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); #endif #if defined( RE_IndirectSpecular ) RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); -#endif`,KW=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,QG=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; -#endif`,JW=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) +#endif`,$G=`#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT ) uniform float logDepthBufFC; varying float vFragDepth; varying float vIsPerspective; -#endif`,QW=`#ifdef USE_LOGDEPTHBUF +#endif`,eW=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT varying float vFragDepth; varying float vIsPerspective; #else uniform float logDepthBufFC; #endif -#endif`,$W=`#ifdef USE_LOGDEPTHBUF +#endif`,tW=`#ifdef USE_LOGDEPTHBUF #ifdef USE_LOGDEPTHBUF_EXT vFragDepth = 1.0 + gl_Position.w; vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); @@ -1448,16 +1448,16 @@ IncidentLight directLight; gl_Position.z *= gl_Position.w; } #endif -#endif`,eG=`#ifdef USE_MAP +#endif`,nW=`#ifdef USE_MAP vec4 sampledDiffuseColor = texture2D( map, vMapUv ); #ifdef DECODE_VIDEO_TEXTURE sampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w ); #endif diffuseColor *= sampledDiffuseColor; -#endif`,tG=`#ifdef USE_MAP +#endif`,iW=`#ifdef USE_MAP uniform sampler2D map; -#endif`,nG=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) +#endif`,rW=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) #if defined( USE_POINTS_UV ) vec2 uv = vUv; #else @@ -1469,7 +1469,7 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP diffuseColor.a *= texture2D( alphaMap, uv ).g; -#endif`,iG=`#if defined( USE_POINTS_UV ) +#endif`,sW=`#if defined( USE_POINTS_UV ) varying vec2 vUv; #else #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) @@ -1481,13 +1481,13 @@ IncidentLight directLight; #endif #ifdef USE_ALPHAMAP uniform sampler2D alphaMap; -#endif`,rG=`float metalnessFactor = metalness; +#endif`,oW=`float metalnessFactor = metalness; #ifdef USE_METALNESSMAP vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); metalnessFactor *= texelMetalness.b; -#endif`,sG=`#ifdef USE_METALNESSMAP +#endif`,aW=`#ifdef USE_METALNESSMAP uniform sampler2D metalnessMap; -#endif`,oG=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) +#endif`,lW=`#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE ) vColor *= morphTargetBaseInfluence; for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { #if defined( USE_COLOR_ALPHA ) @@ -1496,7 +1496,7 @@ IncidentLight directLight; if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; #endif } -#endif`,aG=`#ifdef USE_MORPHNORMALS +#endif`,cW=`#ifdef USE_MORPHNORMALS objectNormal *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1508,7 +1508,7 @@ IncidentLight directLight; objectNormal += morphNormal2 * morphTargetInfluences[ 2 ]; objectNormal += morphNormal3 * morphTargetInfluences[ 3 ]; #endif -#endif`,lG=`#ifdef USE_MORPHTARGETS +#endif`,uW=`#ifdef USE_MORPHTARGETS uniform float morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; @@ -1528,7 +1528,7 @@ IncidentLight directLight; uniform float morphTargetInfluences[ 4 ]; #endif #endif -#endif`,cG=`#ifdef USE_MORPHTARGETS +#endif`,fW=`#ifdef USE_MORPHTARGETS transformed *= morphTargetBaseInfluence; #ifdef MORPHTARGETS_TEXTURE for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { @@ -1546,7 +1546,7 @@ IncidentLight directLight; transformed += morphTarget7 * morphTargetInfluences[ 7 ]; #endif #endif -#endif`,uG=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; +#endif`,hW=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; #ifdef FLAT_SHADED vec3 fdx = dFdx( vViewPosition ); vec3 fdy = dFdy( vViewPosition ); @@ -1587,7 +1587,7 @@ IncidentLight directLight; tbn2[1] *= faceDirection; #endif #endif -vec3 nonPerturbedNormal = normal;`,fG=`#ifdef USE_NORMALMAP_OBJECTSPACE +vec3 nonPerturbedNormal = normal;`,dW=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; #ifdef FLIP_SIDED normal = - normal; @@ -1602,25 +1602,25 @@ vec3 nonPerturbedNormal = normal;`,fG=`#ifdef USE_NORMALMAP_OBJECTSPACE normal = normalize( tbn * mapN ); #elif defined( USE_BUMPMAP ) normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); -#endif`,hG=`#ifndef FLAT_SHADED +#endif`,pW=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,dG=`#ifndef FLAT_SHADED +#endif`,mW=`#ifndef FLAT_SHADED varying vec3 vNormal; #ifdef USE_TANGENT varying vec3 vTangent; varying vec3 vBitangent; #endif -#endif`,pG=`#ifndef FLAT_SHADED +#endif`,gW=`#ifndef FLAT_SHADED vNormal = normalize( transformedNormal ); #ifdef USE_TANGENT vTangent = normalize( transformedTangent ); vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); #endif -#endif`,mG=`#ifdef USE_NORMALMAP +#endif`,vW=`#ifdef USE_NORMALMAP uniform sampler2D normalMap; uniform vec2 normalScale; #endif @@ -1642,13 +1642,13 @@ vec3 nonPerturbedNormal = normal;`,fG=`#ifdef USE_NORMALMAP_OBJECTSPACE float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); return mat3( T * scale, B * scale, N ); } -#endif`,gG=`#ifdef USE_CLEARCOAT +#endif`,yW=`#ifdef USE_CLEARCOAT vec3 clearcoatNormal = nonPerturbedNormal; -#endif`,vG=`#ifdef USE_CLEARCOAT_NORMALMAP +#endif`,xW=`#ifdef USE_CLEARCOAT_NORMALMAP vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; clearcoatMapN.xy *= clearcoatNormalScale; clearcoatNormal = normalize( tbn2 * clearcoatMapN ); -#endif`,yG=`#ifdef USE_CLEARCOATMAP +#endif`,_W=`#ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; #endif #ifdef USE_CLEARCOAT_NORMALMAP @@ -1657,18 +1657,18 @@ vec3 nonPerturbedNormal = normal;`,fG=`#ifdef USE_NORMALMAP_OBJECTSPACE #endif #ifdef USE_CLEARCOAT_ROUGHNESSMAP uniform sampler2D clearcoatRoughnessMap; -#endif`,xG=`#ifdef USE_IRIDESCENCEMAP +#endif`,SW=`#ifdef USE_IRIDESCENCEMAP uniform sampler2D iridescenceMap; #endif #ifdef USE_IRIDESCENCE_THICKNESSMAP uniform sampler2D iridescenceThicknessMap; -#endif`,_G=`#ifdef OPAQUE +#endif`,AW=`#ifdef OPAQUE diffuseColor.a = 1.0; #endif #ifdef USE_TRANSMISSION diffuseColor.a *= material.transmissionAlpha; #endif -gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,SG=`vec3 packNormalToRGB( const in vec3 normal ) { +gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,MW=`vec3 packNormalToRGB( const in vec3 normal ) { return normalize( normal ) * 0.5 + 0.5; } vec3 unpackRGBToNormal( const in vec3 rgb ) { @@ -1709,9 +1709,9 @@ float viewZToPerspectiveDepth( const in float viewZ, const in float near, const } float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { return ( near * far ) / ( ( far - near ) * depth - far ); -}`,AG=`#ifdef PREMULTIPLIED_ALPHA +}`,wW=`#ifdef PREMULTIPLIED_ALPHA gl_FragColor.rgb *= gl_FragColor.a; -#endif`,MG=`vec4 mvPosition = vec4( transformed, 1.0 ); +#endif`,EW=`vec4 mvPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING mvPosition = batchingMatrix * mvPosition; #endif @@ -1719,22 +1719,22 @@ float perspectiveDepthToViewZ( const in float depth, const in float near, const mvPosition = instanceMatrix * mvPosition; #endif mvPosition = modelViewMatrix * mvPosition; -gl_Position = projectionMatrix * mvPosition;`,wG=`#ifdef DITHERING +gl_Position = projectionMatrix * mvPosition;`,TW=`#ifdef DITHERING gl_FragColor.rgb = dithering( gl_FragColor.rgb ); -#endif`,EG=`#ifdef DITHERING +#endif`,bW=`#ifdef DITHERING vec3 dithering( vec3 color ) { float grid_position = rand( gl_FragCoord.xy ); vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); return color + dither_shift_RGB; } -#endif`,TG=`float roughnessFactor = roughness; +#endif`,CW=`float roughnessFactor = roughness; #ifdef USE_ROUGHNESSMAP vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); roughnessFactor *= texelRoughness.g; -#endif`,bG=`#ifdef USE_ROUGHNESSMAP +#endif`,PW=`#ifdef USE_ROUGHNESSMAP uniform sampler2D roughnessMap; -#endif`,CG=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,RW=`#if NUM_SPOT_LIGHT_COORDS > 0 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif #if NUM_SPOT_LIGHT_MAPS > 0 @@ -1911,7 +1911,7 @@ gl_Position = projectionMatrix * mvPosition;`,wG=`#ifdef DITHERING return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); #endif } -#endif`,PG=`#if NUM_SPOT_LIGHT_COORDS > 0 +#endif`,LW=`#if NUM_SPOT_LIGHT_COORDS > 0 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; #endif @@ -1949,7 +1949,7 @@ gl_Position = projectionMatrix * mvPosition;`,wG=`#ifdef DITHERING }; uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; #endif -#endif`,RG=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) +#endif`,IW=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); vec4 shadowWorldPosition; #endif @@ -1981,7 +1981,7 @@ gl_Position = projectionMatrix * mvPosition;`,wG=`#ifdef DITHERING vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; } #pragma unroll_loop_end -#endif`,LG=`float getShadowMask() { +#endif`,DW=`float getShadowMask() { float shadow = 1.0; #ifdef USE_SHADOWMAP #if NUM_DIR_LIGHT_SHADOWS > 0 @@ -2013,12 +2013,12 @@ gl_Position = projectionMatrix * mvPosition;`,wG=`#ifdef DITHERING #endif #endif return shadow; -}`,IG=`#ifdef USE_SKINNING +}`,NW=`#ifdef USE_SKINNING mat4 boneMatX = getBoneMatrix( skinIndex.x ); mat4 boneMatY = getBoneMatrix( skinIndex.y ); mat4 boneMatZ = getBoneMatrix( skinIndex.z ); mat4 boneMatW = getBoneMatrix( skinIndex.w ); -#endif`,DG=`#ifdef USE_SKINNING +#endif`,UW=`#ifdef USE_SKINNING uniform mat4 bindMatrix; uniform mat4 bindMatrixInverse; uniform highp sampler2D boneTexture; @@ -2033,7 +2033,7 @@ gl_Position = projectionMatrix * mvPosition;`,wG=`#ifdef DITHERING vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); return mat4( v1, v2, v3, v4 ); } -#endif`,NG=`#ifdef USE_SKINNING +#endif`,OW=`#ifdef USE_SKINNING vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); vec4 skinned = vec4( 0.0 ); skinned += boneMatX * skinVertex * skinWeight.x; @@ -2041,7 +2041,7 @@ gl_Position = projectionMatrix * mvPosition;`,wG=`#ifdef DITHERING skinned += boneMatZ * skinVertex * skinWeight.z; skinned += boneMatW * skinVertex * skinWeight.w; transformed = ( bindMatrixInverse * skinned ).xyz; -#endif`,UG=`#ifdef USE_SKINNING +#endif`,FW=`#ifdef USE_SKINNING mat4 skinMatrix = mat4( 0.0 ); skinMatrix += skinWeight.x * boneMatX; skinMatrix += skinWeight.y * boneMatY; @@ -2052,17 +2052,17 @@ gl_Position = projectionMatrix * mvPosition;`,wG=`#ifdef DITHERING #ifdef USE_TANGENT objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; #endif -#endif`,OG=`float specularStrength; +#endif`,kW=`float specularStrength; #ifdef USE_SPECULARMAP vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); specularStrength = texelSpecular.r; #else specularStrength = 1.0; -#endif`,FG=`#ifdef USE_SPECULARMAP +#endif`,BW=`#ifdef USE_SPECULARMAP uniform sampler2D specularMap; -#endif`,kG=`#if defined( TONE_MAPPING ) +#endif`,zW=`#if defined( TONE_MAPPING ) gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); -#endif`,BG=`#ifndef saturate +#endif`,VW=`#ifndef saturate #define saturate( a ) clamp( a, 0.0, 1.0 ) #endif uniform float toneMappingExposure; @@ -2143,7 +2143,7 @@ vec3 AgXToneMapping( vec3 color ) { color = LINEAR_REC2020_TO_LINEAR_SRGB * color; return color; } -vec3 CustomToneMapping( vec3 color ) { return color; }`,zG=`#ifdef USE_TRANSMISSION +vec3 CustomToneMapping( vec3 color ) { return color; }`,HW=`#ifdef USE_TRANSMISSION material.transmission = transmission; material.transmissionAlpha = 1.0; material.thickness = thickness; @@ -2164,7 +2164,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,zG=`#ifdef USE_TRANSMISS material.attenuationColor, material.attenuationDistance ); material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); -#endif`,VG=`#ifdef USE_TRANSMISSION +#endif`,GW=`#ifdef USE_TRANSMISSION uniform float transmission; uniform float thickness; uniform float attenuationDistance; @@ -2270,7 +2270,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,zG=`#ifdef USE_TRANSMISS float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); } -#endif`,HG=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,WW=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2340,7 +2340,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,zG=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,WG=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,jW=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) varying vec2 vUv; #endif #ifdef USE_MAP @@ -2434,7 +2434,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,zG=`#ifdef USE_TRANSMISS #ifdef USE_THICKNESSMAP uniform mat3 thicknessMapTransform; varying vec2 vThicknessMapUv; -#endif`,GG=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) +#endif`,XW=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) vUv = vec3( uv, 1 ).xy; #endif #ifdef USE_MAP @@ -2505,7 +2505,7 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,zG=`#ifdef USE_TRANSMISS #endif #ifdef USE_THICKNESSMAP vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; -#endif`,jG=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 +#endif`,YW=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 vec4 worldPosition = vec4( transformed, 1.0 ); #ifdef USE_BATCHING worldPosition = batchingMatrix * worldPosition; @@ -2514,12 +2514,12 @@ vec3 CustomToneMapping( vec3 color ) { return color; }`,zG=`#ifdef USE_TRANSMISS worldPosition = instanceMatrix * worldPosition; #endif worldPosition = modelMatrix * worldPosition; -#endif`;const XG=`varying vec2 vUv; +#endif`;const qW=`varying vec2 vUv; uniform mat3 uvTransform; void main() { vUv = ( uvTransform * vec3( uv, 1 ) ).xy; gl_Position = vec4( position.xy, 1.0, 1.0 ); -}`,YG=`uniform sampler2D t2D; +}`,ZW=`uniform sampler2D t2D; uniform float backgroundIntensity; varying vec2 vUv; void main() { @@ -2531,14 +2531,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,qG=`varying vec3 vWorldDirection; +}`,KW=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,ZG=`#ifdef ENVMAP_TYPE_CUBE +}`,JW=`#ifdef ENVMAP_TYPE_CUBE uniform samplerCube envMap; #elif defined( ENVMAP_TYPE_CUBE_UV ) uniform sampler2D envMap; @@ -2560,14 +2560,14 @@ void main() { gl_FragColor = texColor; #include #include -}`,KG=`varying vec3 vWorldDirection; +}`,QW=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include gl_Position.z = gl_Position.w; -}`,JG=`uniform samplerCube tCube; +}`,$W=`uniform samplerCube tCube; uniform float tFlip; uniform float opacity; varying vec3 vWorldDirection; @@ -2577,7 +2577,7 @@ void main() { gl_FragColor.a *= opacity; #include #include -}`,QG=`#include +}`,e6=`#include #include #include #include @@ -2603,7 +2603,7 @@ void main() { #include #include vHighPrecisionZW = gl_Position.zw; -}`,$G=`#if DEPTH_PACKING == 3200 +}`,t6=`#if DEPTH_PACKING == 3200 uniform float opacity; #endif #include @@ -2633,7 +2633,7 @@ void main() { #elif DEPTH_PACKING == 3201 gl_FragColor = packDepthToRGBA( fragCoordZ ); #endif -}`,e6=`#define DISTANCE +}`,n6=`#define DISTANCE varying vec3 vWorldPosition; #include #include @@ -2659,7 +2659,7 @@ void main() { #include #include vWorldPosition = worldPosition.xyz; -}`,t6=`#define DISTANCE +}`,i6=`#define DISTANCE uniform vec3 referencePosition; uniform float nearDistance; uniform float farDistance; @@ -2683,13 +2683,13 @@ void main () { dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); dist = saturate( dist ); gl_FragColor = packDepthToRGBA( dist ); -}`,n6=`varying vec3 vWorldDirection; +}`,r6=`varying vec3 vWorldDirection; #include void main() { vWorldDirection = transformDirection( position, modelMatrix ); #include #include -}`,i6=`uniform sampler2D tEquirect; +}`,s6=`uniform sampler2D tEquirect; varying vec3 vWorldDirection; #include void main() { @@ -2698,7 +2698,7 @@ void main() { gl_FragColor = texture2D( tEquirect, sampleUV ); #include #include -}`,r6=`uniform float scale; +}`,o6=`uniform float scale; attribute float lineDistance; varying float vLineDistance; #include @@ -2719,7 +2719,7 @@ void main() { #include #include #include -}`,s6=`uniform vec3 diffuse; +}`,a6=`uniform vec3 diffuse; uniform float opacity; uniform float dashSize; uniform float totalSize; @@ -2747,7 +2747,7 @@ void main() { #include #include #include -}`,o6=`#include +}`,l6=`#include #include #include #include @@ -2778,7 +2778,7 @@ void main() { #include #include #include -}`,a6=`uniform vec3 diffuse; +}`,c6=`uniform vec3 diffuse; uniform float opacity; #ifndef FLAT_SHADED varying vec3 vNormal; @@ -2826,7 +2826,7 @@ void main() { #include #include #include -}`,l6=`#define LAMBERT +}`,u6=`#define LAMBERT varying vec3 vViewPosition; #include #include @@ -2864,7 +2864,7 @@ void main() { #include #include #include -}`,c6=`#define LAMBERT +}`,f6=`#define LAMBERT uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -2921,7 +2921,7 @@ void main() { #include #include #include -}`,u6=`#define MATCAP +}`,h6=`#define MATCAP varying vec3 vViewPosition; #include #include @@ -2954,7 +2954,7 @@ void main() { #include #include vViewPosition = - mvPosition.xyz; -}`,f6=`#define MATCAP +}`,d6=`#define MATCAP uniform vec3 diffuse; uniform float opacity; uniform sampler2D matcap; @@ -3000,7 +3000,7 @@ void main() { #include #include #include -}`,h6=`#define NORMAL +}`,p6=`#define NORMAL #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; #endif @@ -3032,7 +3032,7 @@ void main() { #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) vViewPosition = - mvPosition.xyz; #endif -}`,d6=`#define NORMAL +}`,m6=`#define NORMAL uniform float opacity; #if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) varying vec3 vViewPosition; @@ -3053,7 +3053,7 @@ void main() { #ifdef OPAQUE gl_FragColor.a = 1.0; #endif -}`,p6=`#define PHONG +}`,g6=`#define PHONG varying vec3 vViewPosition; #include #include @@ -3091,7 +3091,7 @@ void main() { #include #include #include -}`,m6=`#define PHONG +}`,v6=`#define PHONG uniform vec3 diffuse; uniform vec3 emissive; uniform vec3 specular; @@ -3150,7 +3150,7 @@ void main() { #include #include #include -}`,g6=`#define STANDARD +}`,y6=`#define STANDARD varying vec3 vViewPosition; #ifdef USE_TRANSMISSION varying vec3 vWorldPosition; @@ -3192,7 +3192,7 @@ void main() { #ifdef USE_TRANSMISSION vWorldPosition = worldPosition.xyz; #endif -}`,v6=`#define STANDARD +}`,x6=`#define STANDARD #ifdef PHYSICAL #define IOR #define USE_SPECULAR @@ -3314,7 +3314,7 @@ void main() { #include #include #include -}`,y6=`#define TOON +}`,_6=`#define TOON varying vec3 vViewPosition; #include #include @@ -3350,7 +3350,7 @@ void main() { #include #include #include -}`,x6=`#define TOON +}`,S6=`#define TOON uniform vec3 diffuse; uniform vec3 emissive; uniform float opacity; @@ -3403,7 +3403,7 @@ void main() { #include #include #include -}`,_6=`uniform float size; +}`,A6=`uniform float size; uniform float scale; #include #include @@ -3433,7 +3433,7 @@ void main() { #include #include #include -}`,S6=`uniform vec3 diffuse; +}`,M6=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3458,7 +3458,7 @@ void main() { #include #include #include -}`,A6=`#include +}`,w6=`#include #include #include #include @@ -3480,7 +3480,7 @@ void main() { #include #include #include -}`,M6=`uniform vec3 color; +}`,E6=`uniform vec3 color; uniform float opacity; #include #include @@ -3496,7 +3496,7 @@ void main() { #include #include #include -}`,w6=`uniform float rotation; +}`,T6=`uniform float rotation; uniform vec2 center; #include #include @@ -3522,7 +3522,7 @@ void main() { #include #include #include -}`,E6=`uniform vec3 diffuse; +}`,b6=`uniform vec3 diffuse; uniform float opacity; #include #include @@ -3547,7 +3547,7 @@ void main() { #include #include #include -}`,St={alphahash_fragment:Y5,alphahash_pars_fragment:q5,alphamap_fragment:Z5,alphamap_pars_fragment:K5,alphatest_fragment:J5,alphatest_pars_fragment:Q5,aomap_fragment:$5,aomap_pars_fragment:eW,batching_pars_vertex:tW,batching_vertex:nW,begin_vertex:iW,beginnormal_vertex:rW,bsdfs:sW,iridescence_fragment:oW,bumpmap_pars_fragment:aW,clipping_planes_fragment:lW,clipping_planes_pars_fragment:cW,clipping_planes_pars_vertex:uW,clipping_planes_vertex:fW,color_fragment:hW,color_pars_fragment:dW,color_pars_vertex:pW,color_vertex:mW,common:gW,cube_uv_reflection_fragment:vW,defaultnormal_vertex:yW,displacementmap_pars_vertex:xW,displacementmap_vertex:_W,emissivemap_fragment:SW,emissivemap_pars_fragment:AW,colorspace_fragment:MW,colorspace_pars_fragment:wW,envmap_fragment:EW,envmap_common_pars_fragment:TW,envmap_pars_fragment:bW,envmap_pars_vertex:CW,envmap_physical_pars_fragment:zW,envmap_vertex:PW,fog_vertex:RW,fog_pars_vertex:LW,fog_fragment:IW,fog_pars_fragment:DW,gradientmap_pars_fragment:NW,lightmap_fragment:UW,lightmap_pars_fragment:OW,lights_lambert_fragment:FW,lights_lambert_pars_fragment:kW,lights_pars_begin:BW,lights_toon_fragment:VW,lights_toon_pars_fragment:HW,lights_phong_fragment:WW,lights_phong_pars_fragment:GW,lights_physical_fragment:jW,lights_physical_pars_fragment:XW,lights_fragment_begin:YW,lights_fragment_maps:qW,lights_fragment_end:ZW,logdepthbuf_fragment:KW,logdepthbuf_pars_fragment:JW,logdepthbuf_pars_vertex:QW,logdepthbuf_vertex:$W,map_fragment:eG,map_pars_fragment:tG,map_particle_fragment:nG,map_particle_pars_fragment:iG,metalnessmap_fragment:rG,metalnessmap_pars_fragment:sG,morphcolor_vertex:oG,morphnormal_vertex:aG,morphtarget_pars_vertex:lG,morphtarget_vertex:cG,normal_fragment_begin:uG,normal_fragment_maps:fG,normal_pars_fragment:hG,normal_pars_vertex:dG,normal_vertex:pG,normalmap_pars_fragment:mG,clearcoat_normal_fragment_begin:gG,clearcoat_normal_fragment_maps:vG,clearcoat_pars_fragment:yG,iridescence_pars_fragment:xG,opaque_fragment:_G,packing:SG,premultiplied_alpha_fragment:AG,project_vertex:MG,dithering_fragment:wG,dithering_pars_fragment:EG,roughnessmap_fragment:TG,roughnessmap_pars_fragment:bG,shadowmap_pars_fragment:CG,shadowmap_pars_vertex:PG,shadowmap_vertex:RG,shadowmask_pars_fragment:LG,skinbase_vertex:IG,skinning_pars_vertex:DG,skinning_vertex:NG,skinnormal_vertex:UG,specularmap_fragment:OG,specularmap_pars_fragment:FG,tonemapping_fragment:kG,tonemapping_pars_fragment:BG,transmission_fragment:zG,transmission_pars_fragment:VG,uv_pars_fragment:HG,uv_pars_vertex:WG,uv_vertex:GG,worldpos_vertex:jG,background_vert:XG,background_frag:YG,backgroundCube_vert:qG,backgroundCube_frag:ZG,cube_vert:KG,cube_frag:JG,depth_vert:QG,depth_frag:$G,distanceRGBA_vert:e6,distanceRGBA_frag:t6,equirect_vert:n6,equirect_frag:i6,linedashed_vert:r6,linedashed_frag:s6,meshbasic_vert:o6,meshbasic_frag:a6,meshlambert_vert:l6,meshlambert_frag:c6,meshmatcap_vert:u6,meshmatcap_frag:f6,meshnormal_vert:h6,meshnormal_frag:d6,meshphong_vert:p6,meshphong_frag:m6,meshphysical_vert:g6,meshphysical_frag:v6,meshtoon_vert:y6,meshtoon_frag:x6,points_vert:_6,points_frag:S6,shadow_vert:A6,shadow_frag:M6,sprite_vert:w6,sprite_frag:E6},De={common:{diffuse:{value:new He(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new wt},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new wt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new wt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new wt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new wt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new wt},normalScale:{value:new me(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new wt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new wt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new wt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new wt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new He(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new He(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0},uvTransform:{value:new wt}},sprite:{diffuse:{value:new He(16777215)},opacity:{value:1},center:{value:new me(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new wt},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0}}},Dr={basic:{uniforms:yi([De.common,De.specularmap,De.envmap,De.aomap,De.lightmap,De.fog]),vertexShader:St.meshbasic_vert,fragmentShader:St.meshbasic_frag},lambert:{uniforms:yi([De.common,De.specularmap,De.envmap,De.aomap,De.lightmap,De.emissivemap,De.bumpmap,De.normalmap,De.displacementmap,De.fog,De.lights,{emissive:{value:new He(0)}}]),vertexShader:St.meshlambert_vert,fragmentShader:St.meshlambert_frag},phong:{uniforms:yi([De.common,De.specularmap,De.envmap,De.aomap,De.lightmap,De.emissivemap,De.bumpmap,De.normalmap,De.displacementmap,De.fog,De.lights,{emissive:{value:new He(0)},specular:{value:new He(1118481)},shininess:{value:30}}]),vertexShader:St.meshphong_vert,fragmentShader:St.meshphong_frag},standard:{uniforms:yi([De.common,De.envmap,De.aomap,De.lightmap,De.emissivemap,De.bumpmap,De.normalmap,De.displacementmap,De.roughnessmap,De.metalnessmap,De.fog,De.lights,{emissive:{value:new He(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:St.meshphysical_vert,fragmentShader:St.meshphysical_frag},toon:{uniforms:yi([De.common,De.aomap,De.lightmap,De.emissivemap,De.bumpmap,De.normalmap,De.displacementmap,De.gradientmap,De.fog,De.lights,{emissive:{value:new He(0)}}]),vertexShader:St.meshtoon_vert,fragmentShader:St.meshtoon_frag},matcap:{uniforms:yi([De.common,De.bumpmap,De.normalmap,De.displacementmap,De.fog,{matcap:{value:null}}]),vertexShader:St.meshmatcap_vert,fragmentShader:St.meshmatcap_frag},points:{uniforms:yi([De.points,De.fog]),vertexShader:St.points_vert,fragmentShader:St.points_frag},dashed:{uniforms:yi([De.common,De.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:St.linedashed_vert,fragmentShader:St.linedashed_frag},depth:{uniforms:yi([De.common,De.displacementmap]),vertexShader:St.depth_vert,fragmentShader:St.depth_frag},normal:{uniforms:yi([De.common,De.bumpmap,De.normalmap,De.displacementmap,{opacity:{value:1}}]),vertexShader:St.meshnormal_vert,fragmentShader:St.meshnormal_frag},sprite:{uniforms:yi([De.sprite,De.fog]),vertexShader:St.sprite_vert,fragmentShader:St.sprite_frag},background:{uniforms:{uvTransform:{value:new wt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:St.background_vert,fragmentShader:St.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:St.backgroundCube_vert,fragmentShader:St.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:St.cube_vert,fragmentShader:St.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:St.equirect_vert,fragmentShader:St.equirect_frag},distanceRGBA:{uniforms:yi([De.common,De.displacementmap,{referencePosition:{value:new U},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:St.distanceRGBA_vert,fragmentShader:St.distanceRGBA_frag},shadow:{uniforms:yi([De.lights,De.fog,{color:{value:new He(0)},opacity:{value:1}}]),vertexShader:St.shadow_vert,fragmentShader:St.shadow_frag}};Dr.physical={uniforms:yi([Dr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new wt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new wt},clearcoatNormalScale:{value:new me(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new wt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new wt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new wt},sheen:{value:0},sheenColor:{value:new He(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new wt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new wt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new wt},transmissionSamplerSize:{value:new me},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new wt},attenuationDistance:{value:0},attenuationColor:{value:new He(0)},specularColor:{value:new He(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new wt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new wt},anisotropyVector:{value:new me},anisotropyMap:{value:null},anisotropyMapTransform:{value:new wt}}]),vertexShader:St.meshphysical_vert,fragmentShader:St.meshphysical_frag};const _p={r:0,b:0,g:0};function T6(n,e,t,i,r,s,o){const a=new He(0);let l=s===!0?0:1,f,h,d=null,p=0,m=null;function y(x,g){let _=!1,S=g.isScene===!0?g.background:null;S&&S.isTexture&&(S=(g.backgroundBlurriness>0?t:e).get(S)),S===null?A(a,l):S&&S.isColor&&(A(S,1),_=!0);const E=n.xr.getEnvironmentBlendMode();E==="additive"?i.buffers.color.setClear(0,0,0,1,o):E==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||_)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),S&&(S.isCubeTexture||S.mapping===Qc)?(h===void 0&&(h=new Rn(new hl(1,1,1),new ds({name:"BackgroundCubeMaterial",uniforms:jc(Dr.backgroundCube.uniforms),vertexShader:Dr.backgroundCube.vertexShader,fragmentShader:Dr.backgroundCube.fragmentShader,side:Mi,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(P,b,L){this.matrixWorld.copyPosition(L.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),h.material.uniforms.envMap.value=S,h.material.uniforms.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=g.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,h.material.toneMapped=kt.getTransfer(S.colorSpace)!==Gt,(d!==S||p!==S.version||m!==n.toneMapping)&&(h.material.needsUpdate=!0,d=S,p=S.version,m=n.toneMapping),h.layers.enableAll(),x.unshift(h,h.geometry,h.material,0,0,null)):S&&S.isTexture&&(f===void 0&&(f=new Rn(new Ch(2,2),new ds({name:"BackgroundMaterial",uniforms:jc(Dr.background.uniforms),vertexShader:Dr.background.vertexShader,fragmentShader:Dr.background.fragmentShader,side:Xs,depthTest:!1,depthWrite:!1,fog:!1})),f.geometry.deleteAttribute("normal"),Object.defineProperty(f.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(f)),f.material.uniforms.t2D.value=S,f.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,f.material.toneMapped=kt.getTransfer(S.colorSpace)!==Gt,S.matrixAutoUpdate===!0&&S.updateMatrix(),f.material.uniforms.uvTransform.value.copy(S.matrix),(d!==S||p!==S.version||m!==n.toneMapping)&&(f.material.needsUpdate=!0,d=S,p=S.version,m=n.toneMapping),f.layers.enableAll(),x.unshift(f,f.geometry,f.material,0,0,null))}function A(x,g){x.getRGB(_p,CI(n)),i.buffers.color.setClear(_p.r,_p.g,_p.b,g,o)}return{getClearColor:function(){return a},setClearColor:function(x,g=1){a.set(x),l=g,A(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(x){l=x,A(a,l)},render:y}}function b6(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=x(null);let f=l,h=!1;function d(H,q,ee,oe,k){let j=!1;if(o){const Y=A(oe,ee,q);f!==Y&&(f=Y,m(f.object)),j=g(H,oe,ee,k),j&&_(H,oe,ee,k)}else{const Y=q.wireframe===!0;(f.geometry!==oe.id||f.program!==ee.id||f.wireframe!==Y)&&(f.geometry=oe.id,f.program=ee.id,f.wireframe=Y,j=!0)}k!==null&&t.update(k,n.ELEMENT_ARRAY_BUFFER),(j||h)&&(h=!1,D(H,q,ee,oe),k!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(k).buffer))}function p(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function m(H){return i.isWebGL2?n.bindVertexArray(H):s.bindVertexArrayOES(H)}function y(H){return i.isWebGL2?n.deleteVertexArray(H):s.deleteVertexArrayOES(H)}function A(H,q,ee){const oe=ee.wireframe===!0;let k=a[H.id];k===void 0&&(k={},a[H.id]=k);let j=k[q.id];j===void 0&&(j={},k[q.id]=j);let Y=j[oe];return Y===void 0&&(Y=x(p()),j[oe]=Y),Y}function x(H){const q=[],ee=[],oe=[];for(let k=0;k=0){const fe=k[ie];let ve=j[ie];if(ve===void 0&&(ie==="instanceMatrix"&&H.instanceMatrix&&(ve=H.instanceMatrix),ie==="instanceColor"&&H.instanceColor&&(ve=H.instanceColor)),fe===void 0||fe.attribute!==ve||ve&&fe.data!==ve.data)return!0;Y++}return f.attributesNum!==Y||f.index!==oe}function _(H,q,ee,oe){const k={},j=q.attributes;let Y=0;const J=ee.getAttributes();for(const ie in J)if(J[ie].location>=0){let fe=j[ie];fe===void 0&&(ie==="instanceMatrix"&&H.instanceMatrix&&(fe=H.instanceMatrix),ie==="instanceColor"&&H.instanceColor&&(fe=H.instanceColor));const ve={};ve.attribute=fe,fe&&fe.data&&(ve.data=fe.data),k[ie]=ve,Y++}f.attributes=k,f.attributesNum=Y,f.index=oe}function S(){const H=f.newAttributes;for(let q=0,ee=H.length;q=0){let $=k[J];if($===void 0&&(J==="instanceMatrix"&&H.instanceMatrix&&($=H.instanceMatrix),J==="instanceColor"&&H.instanceColor&&($=H.instanceColor)),$!==void 0){const fe=$.normalized,ve=$.itemSize,be=t.get($);if(be===void 0)continue;const Pe=be.buffer,Je=be.type,nt=be.bytesPerElement,Le=i.isWebGL2===!0&&(Je===n.INT||Je===n.UNSIGNED_INT||$.gpuType===E1);if($.isInterleavedBufferAttribute){const Te=$.data,W=Te.stride,ye=$.offset;if(Te.isInstancedInterleavedBuffer){for(let de=0;de0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";L="mediump"}return L==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const f=o||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,d=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),p=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_TEXTURE_SIZE),y=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),A=n.getParameter(n.MAX_VERTEX_ATTRIBS),x=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),g=n.getParameter(n.MAX_VARYING_VECTORS),_=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),S=p>0,E=o||e.has("OES_texture_float"),P=S&&E,b=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:f,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:d,maxVertexTextures:p,maxTextureSize:m,maxCubemapSize:y,maxAttributes:A,maxVertexUniforms:x,maxVaryings:g,maxFragmentUniforms:_,vertexTextures:S,floatFragmentTextures:E,floatVertexTextures:P,maxSamples:b}}function R6(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new Rs,a=new wt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,p){const m=d.length!==0||p||i!==0||r;return r=p,i=d.length,m},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(d,p){t=h(d,p,0)},this.setState=function(d,p,m){const y=d.clippingPlanes,A=d.clipIntersection,x=d.clipShadows,g=n.get(d);if(!r||y===null||y.length===0||s&&!x)s?h(null):f();else{const _=s?0:i,S=_*4;let E=g.clippingState||null;l.value=E,E=h(y,p,S,m);for(let P=0;P!==S;++P)E[P]=t[P];g.clippingState=E,this.numIntersection=A?this.numPlanes:0,this.numPlanes+=_}};function f(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(d,p,m,y){const A=d!==null?d.length:0;let x=null;if(A!==0){if(x=l.value,y!==!0||x===null){const g=m+A*4,_=p.matrixWorldInverse;a.getNormalMatrix(_),(x===null||x.length0){const f=new V1(l.height/2);return f.fromEquirectangularTexture(n,o),e.set(o,f),o.addEventListener("dispose",r),t(f.texture,o.mapping)}else return null}}return o}function r(o){const a=o.target;a.removeEventListener("dispose",r);const l=e.get(a);l!==void 0&&(e.delete(a),l.dispose())}function s(){e=new WeakMap}return{get:i,dispose:s}}class Fr extends Eh{constructor(e=-1,t=1,i=1,r=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let s=i-e,o=i+e,a=r+t,l=r-t;if(this.view!==null&&this.view.enabled){const f=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=f*this.view.offsetX,o=s+f*this.view.width,a-=h*this.view.offsetY,l=a-h*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const _c=4,VT=[.125,.215,.35,.446,.526,.582],Ia=20,xy=new Fr,HT=new He;let _y=null,Sy=0,Ay=0;const La=(1+Math.sqrt(5))/2,Yl=1/La,WT=[new U(1,1,1),new U(-1,1,1),new U(1,1,-1),new U(-1,1,-1),new U(0,La,Yl),new U(0,La,-Yl),new U(Yl,0,La),new U(-Yl,0,La),new U(La,Yl,0),new U(-La,Yl,0)];class V_{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,r=100){_y=this._renderer.getRenderTarget(),Sy=this._renderer.getActiveCubeFace(),Ay=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=XT(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=jT(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?S:0,S,S),h.setRenderTarget(r),A&&h.render(y,a),h.render(e,a)}y.geometry.dispose(),y.material.dispose(),h.toneMapping=p,h.autoClear=d,e.background=x}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===Ys||e.mapping===Xo;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=XT()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=jT());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Rn(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Sp(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,xy)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rIa&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${x} samples when the maximum is set to ${Ia}`);const g=[];let _=0;for(let L=0;LS-_c?r-S+_c:0),b=4*(this._cubeSize-E);Sp(t,P,b,3*E,2*E),l.setRenderTarget(t),l.render(d,xy)}}function I6(n){const e=[],t=[],i=[];let r=n;const s=n-_c+1+VT.length;for(let o=0;on-_c?l=VT[o-n+_c-1]:o===0&&(l=0),i.push(l);const f=1/(a-2),h=-f,d=1+f,p=[h,h,d,h,d,d,h,h,d,d,h,d],m=6,y=6,A=3,x=2,g=1,_=new Float32Array(A*y*m),S=new Float32Array(x*y*m),E=new Float32Array(g*y*m);for(let b=0;b2?0:-1,C=[L,D,0,L+2/3,D,0,L+2/3,D+1,0,L,D,0,L+2/3,D+1,0,L,D+1,0];_.set(C,A*y*b),S.set(p,x*y*b);const R=[b,b,b,b,b,b];E.set(R,g*y*b)}const P=new xt;P.setAttribute("position",new Vt(_,A)),P.setAttribute("uv",new Vt(S,x)),P.setAttribute("faceIndex",new Vt(E,g)),e.push(P),r>_c&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function GT(n,e,t){const i=new Vr(n,e,t);return i.texture.mapping=Qc,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Sp(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function D6(n,e,t){const i=new Float32Array(Ia),r=new U(0,1,0);return new ds({name:"SphericalGaussianBlur",defines:{n:Ia,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:H1(),fragmentShader:` +}`,St={alphahash_fragment:ZH,alphahash_pars_fragment:KH,alphamap_fragment:JH,alphamap_pars_fragment:QH,alphatest_fragment:$H,alphatest_pars_fragment:eG,aomap_fragment:tG,aomap_pars_fragment:nG,batching_pars_vertex:iG,batching_vertex:rG,begin_vertex:sG,beginnormal_vertex:oG,bsdfs:aG,iridescence_fragment:lG,bumpmap_pars_fragment:cG,clipping_planes_fragment:uG,clipping_planes_pars_fragment:fG,clipping_planes_pars_vertex:hG,clipping_planes_vertex:dG,color_fragment:pG,color_pars_fragment:mG,color_pars_vertex:gG,color_vertex:vG,common:yG,cube_uv_reflection_fragment:xG,defaultnormal_vertex:_G,displacementmap_pars_vertex:SG,displacementmap_vertex:AG,emissivemap_fragment:MG,emissivemap_pars_fragment:wG,colorspace_fragment:EG,colorspace_pars_fragment:TG,envmap_fragment:bG,envmap_common_pars_fragment:CG,envmap_pars_fragment:PG,envmap_pars_vertex:RG,envmap_physical_pars_fragment:HG,envmap_vertex:LG,fog_vertex:IG,fog_pars_vertex:DG,fog_fragment:NG,fog_pars_fragment:UG,gradientmap_pars_fragment:OG,lightmap_fragment:FG,lightmap_pars_fragment:kG,lights_lambert_fragment:BG,lights_lambert_pars_fragment:zG,lights_pars_begin:VG,lights_toon_fragment:GG,lights_toon_pars_fragment:WG,lights_phong_fragment:jG,lights_phong_pars_fragment:XG,lights_physical_fragment:YG,lights_physical_pars_fragment:qG,lights_fragment_begin:ZG,lights_fragment_maps:KG,lights_fragment_end:JG,logdepthbuf_fragment:QG,logdepthbuf_pars_fragment:$G,logdepthbuf_pars_vertex:eW,logdepthbuf_vertex:tW,map_fragment:nW,map_pars_fragment:iW,map_particle_fragment:rW,map_particle_pars_fragment:sW,metalnessmap_fragment:oW,metalnessmap_pars_fragment:aW,morphcolor_vertex:lW,morphnormal_vertex:cW,morphtarget_pars_vertex:uW,morphtarget_vertex:fW,normal_fragment_begin:hW,normal_fragment_maps:dW,normal_pars_fragment:pW,normal_pars_vertex:mW,normal_vertex:gW,normalmap_pars_fragment:vW,clearcoat_normal_fragment_begin:yW,clearcoat_normal_fragment_maps:xW,clearcoat_pars_fragment:_W,iridescence_pars_fragment:SW,opaque_fragment:AW,packing:MW,premultiplied_alpha_fragment:wW,project_vertex:EW,dithering_fragment:TW,dithering_pars_fragment:bW,roughnessmap_fragment:CW,roughnessmap_pars_fragment:PW,shadowmap_pars_fragment:RW,shadowmap_pars_vertex:LW,shadowmap_vertex:IW,shadowmask_pars_fragment:DW,skinbase_vertex:NW,skinning_pars_vertex:UW,skinning_vertex:OW,skinnormal_vertex:FW,specularmap_fragment:kW,specularmap_pars_fragment:BW,tonemapping_fragment:zW,tonemapping_pars_fragment:VW,transmission_fragment:HW,transmission_pars_fragment:GW,uv_pars_fragment:WW,uv_pars_vertex:jW,uv_vertex:XW,worldpos_vertex:YW,background_vert:qW,background_frag:ZW,backgroundCube_vert:KW,backgroundCube_frag:JW,cube_vert:QW,cube_frag:$W,depth_vert:e6,depth_frag:t6,distanceRGBA_vert:n6,distanceRGBA_frag:i6,equirect_vert:r6,equirect_frag:s6,linedashed_vert:o6,linedashed_frag:a6,meshbasic_vert:l6,meshbasic_frag:c6,meshlambert_vert:u6,meshlambert_frag:f6,meshmatcap_vert:h6,meshmatcap_frag:d6,meshnormal_vert:p6,meshnormal_frag:m6,meshphong_vert:g6,meshphong_frag:v6,meshphysical_vert:y6,meshphysical_frag:x6,meshtoon_vert:_6,meshtoon_frag:S6,points_vert:A6,points_frag:M6,shadow_vert:w6,shadow_frag:E6,sprite_vert:T6,sprite_frag:b6},De={common:{diffuse:{value:new He(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new wt},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new wt}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new wt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new wt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new wt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new wt},normalScale:{value:new me(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new wt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new wt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new wt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new wt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new He(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new He(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0},uvTransform:{value:new wt}},sprite:{diffuse:{value:new He(16777215)},opacity:{value:1},center:{value:new me(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new wt},alphaMap:{value:null},alphaMapTransform:{value:new wt},alphaTest:{value:0}}},Dr={basic:{uniforms:yi([De.common,De.specularmap,De.envmap,De.aomap,De.lightmap,De.fog]),vertexShader:St.meshbasic_vert,fragmentShader:St.meshbasic_frag},lambert:{uniforms:yi([De.common,De.specularmap,De.envmap,De.aomap,De.lightmap,De.emissivemap,De.bumpmap,De.normalmap,De.displacementmap,De.fog,De.lights,{emissive:{value:new He(0)}}]),vertexShader:St.meshlambert_vert,fragmentShader:St.meshlambert_frag},phong:{uniforms:yi([De.common,De.specularmap,De.envmap,De.aomap,De.lightmap,De.emissivemap,De.bumpmap,De.normalmap,De.displacementmap,De.fog,De.lights,{emissive:{value:new He(0)},specular:{value:new He(1118481)},shininess:{value:30}}]),vertexShader:St.meshphong_vert,fragmentShader:St.meshphong_frag},standard:{uniforms:yi([De.common,De.envmap,De.aomap,De.lightmap,De.emissivemap,De.bumpmap,De.normalmap,De.displacementmap,De.roughnessmap,De.metalnessmap,De.fog,De.lights,{emissive:{value:new He(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:St.meshphysical_vert,fragmentShader:St.meshphysical_frag},toon:{uniforms:yi([De.common,De.aomap,De.lightmap,De.emissivemap,De.bumpmap,De.normalmap,De.displacementmap,De.gradientmap,De.fog,De.lights,{emissive:{value:new He(0)}}]),vertexShader:St.meshtoon_vert,fragmentShader:St.meshtoon_frag},matcap:{uniforms:yi([De.common,De.bumpmap,De.normalmap,De.displacementmap,De.fog,{matcap:{value:null}}]),vertexShader:St.meshmatcap_vert,fragmentShader:St.meshmatcap_frag},points:{uniforms:yi([De.points,De.fog]),vertexShader:St.points_vert,fragmentShader:St.points_frag},dashed:{uniforms:yi([De.common,De.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:St.linedashed_vert,fragmentShader:St.linedashed_frag},depth:{uniforms:yi([De.common,De.displacementmap]),vertexShader:St.depth_vert,fragmentShader:St.depth_frag},normal:{uniforms:yi([De.common,De.bumpmap,De.normalmap,De.displacementmap,{opacity:{value:1}}]),vertexShader:St.meshnormal_vert,fragmentShader:St.meshnormal_frag},sprite:{uniforms:yi([De.sprite,De.fog]),vertexShader:St.sprite_vert,fragmentShader:St.sprite_frag},background:{uniforms:{uvTransform:{value:new wt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:St.background_vert,fragmentShader:St.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:St.backgroundCube_vert,fragmentShader:St.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:St.cube_vert,fragmentShader:St.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:St.equirect_vert,fragmentShader:St.equirect_frag},distanceRGBA:{uniforms:yi([De.common,De.displacementmap,{referencePosition:{value:new U},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:St.distanceRGBA_vert,fragmentShader:St.distanceRGBA_frag},shadow:{uniforms:yi([De.lights,De.fog,{color:{value:new He(0)},opacity:{value:1}}]),vertexShader:St.shadow_vert,fragmentShader:St.shadow_frag}};Dr.physical={uniforms:yi([Dr.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new wt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new wt},clearcoatNormalScale:{value:new me(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new wt},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new wt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new wt},sheen:{value:0},sheenColor:{value:new He(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new wt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new wt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new wt},transmissionSamplerSize:{value:new me},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new wt},attenuationDistance:{value:0},attenuationColor:{value:new He(0)},specularColor:{value:new He(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new wt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new wt},anisotropyVector:{value:new me},anisotropyMap:{value:null},anisotropyMapTransform:{value:new wt}}]),vertexShader:St.meshphysical_vert,fragmentShader:St.meshphysical_frag};const _p={r:0,b:0,g:0};function C6(n,e,t,i,r,s,o){const a=new He(0);let l=s===!0?0:1,f,h,d=null,p=0,m=null;function y(x,g){let _=!1,S=g.isScene===!0?g.background:null;S&&S.isTexture&&(S=(g.backgroundBlurriness>0?t:e).get(S)),S===null?A(a,l):S&&S.isColor&&(A(S,1),_=!0);const E=n.xr.getEnvironmentBlendMode();E==="additive"?i.buffers.color.setClear(0,0,0,1,o):E==="alpha-blend"&&i.buffers.color.setClear(0,0,0,0,o),(n.autoClear||_)&&n.clear(n.autoClearColor,n.autoClearDepth,n.autoClearStencil),S&&(S.isCubeTexture||S.mapping===Qc)?(h===void 0&&(h=new Rn(new hl(1,1,1),new ds({name:"BackgroundCubeMaterial",uniforms:jc(Dr.backgroundCube.uniforms),vertexShader:Dr.backgroundCube.vertexShader,fragmentShader:Dr.backgroundCube.fragmentShader,side:Mi,depthTest:!1,depthWrite:!1,fog:!1})),h.geometry.deleteAttribute("normal"),h.geometry.deleteAttribute("uv"),h.onBeforeRender=function(P,b,L){this.matrixWorld.copyPosition(L.matrixWorld)},Object.defineProperty(h.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(h)),h.material.uniforms.envMap.value=S,h.material.uniforms.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,h.material.uniforms.backgroundBlurriness.value=g.backgroundBlurriness,h.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,h.material.toneMapped=kt.getTransfer(S.colorSpace)!==Wt,(d!==S||p!==S.version||m!==n.toneMapping)&&(h.material.needsUpdate=!0,d=S,p=S.version,m=n.toneMapping),h.layers.enableAll(),x.unshift(h,h.geometry,h.material,0,0,null)):S&&S.isTexture&&(f===void 0&&(f=new Rn(new Ch(2,2),new ds({name:"BackgroundMaterial",uniforms:jc(Dr.background.uniforms),vertexShader:Dr.background.vertexShader,fragmentShader:Dr.background.fragmentShader,side:Xs,depthTest:!1,depthWrite:!1,fog:!1})),f.geometry.deleteAttribute("normal"),Object.defineProperty(f.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(f)),f.material.uniforms.t2D.value=S,f.material.uniforms.backgroundIntensity.value=g.backgroundIntensity,f.material.toneMapped=kt.getTransfer(S.colorSpace)!==Wt,S.matrixAutoUpdate===!0&&S.updateMatrix(),f.material.uniforms.uvTransform.value.copy(S.matrix),(d!==S||p!==S.version||m!==n.toneMapping)&&(f.material.needsUpdate=!0,d=S,p=S.version,m=n.toneMapping),f.layers.enableAll(),x.unshift(f,f.geometry,f.material,0,0,null))}function A(x,g){x.getRGB(_p,CI(n)),i.buffers.color.setClear(_p.r,_p.g,_p.b,g,o)}return{getClearColor:function(){return a},setClearColor:function(x,g=1){a.set(x),l=g,A(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(x){l=x,A(a,l)},render:y}}function P6(n,e,t,i){const r=n.getParameter(n.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),o=i.isWebGL2||s!==null,a={},l=x(null);let f=l,h=!1;function d(V,q,ee,oe,k){let j=!1;if(o){const Y=A(oe,ee,q);f!==Y&&(f=Y,m(f.object)),j=g(V,oe,ee,k),j&&_(V,oe,ee,k)}else{const Y=q.wireframe===!0;(f.geometry!==oe.id||f.program!==ee.id||f.wireframe!==Y)&&(f.geometry=oe.id,f.program=ee.id,f.wireframe=Y,j=!0)}k!==null&&t.update(k,n.ELEMENT_ARRAY_BUFFER),(j||h)&&(h=!1,D(V,q,ee,oe),k!==null&&n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t.get(k).buffer))}function p(){return i.isWebGL2?n.createVertexArray():s.createVertexArrayOES()}function m(V){return i.isWebGL2?n.bindVertexArray(V):s.bindVertexArrayOES(V)}function y(V){return i.isWebGL2?n.deleteVertexArray(V):s.deleteVertexArrayOES(V)}function A(V,q,ee){const oe=ee.wireframe===!0;let k=a[V.id];k===void 0&&(k={},a[V.id]=k);let j=k[q.id];j===void 0&&(j={},k[q.id]=j);let Y=j[oe];return Y===void 0&&(Y=x(p()),j[oe]=Y),Y}function x(V){const q=[],ee=[],oe=[];for(let k=0;k=0){const fe=k[ie];let ve=j[ie];if(ve===void 0&&(ie==="instanceMatrix"&&V.instanceMatrix&&(ve=V.instanceMatrix),ie==="instanceColor"&&V.instanceColor&&(ve=V.instanceColor)),fe===void 0||fe.attribute!==ve||ve&&fe.data!==ve.data)return!0;Y++}return f.attributesNum!==Y||f.index!==oe}function _(V,q,ee,oe){const k={},j=q.attributes;let Y=0;const J=ee.getAttributes();for(const ie in J)if(J[ie].location>=0){let fe=j[ie];fe===void 0&&(ie==="instanceMatrix"&&V.instanceMatrix&&(fe=V.instanceMatrix),ie==="instanceColor"&&V.instanceColor&&(fe=V.instanceColor));const ve={};ve.attribute=fe,fe&&fe.data&&(ve.data=fe.data),k[ie]=ve,Y++}f.attributes=k,f.attributesNum=Y,f.index=oe}function S(){const V=f.newAttributes;for(let q=0,ee=V.length;q=0){let $=k[J];if($===void 0&&(J==="instanceMatrix"&&V.instanceMatrix&&($=V.instanceMatrix),J==="instanceColor"&&V.instanceColor&&($=V.instanceColor)),$!==void 0){const fe=$.normalized,ve=$.itemSize,be=t.get($);if(be===void 0)continue;const Pe=be.buffer,Je=be.type,nt=be.bytesPerElement,Le=i.isWebGL2===!0&&(Je===n.INT||Je===n.UNSIGNED_INT||$.gpuType===E1);if($.isInterleavedBufferAttribute){const Te=$.data,H=Te.stride,ye=$.offset;if(Te.isInstancedInterleavedBuffer){for(let de=0;de0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.HIGH_FLOAT).precision>0)return"highp";L="mediump"}return L==="mediump"&&n.getShaderPrecisionFormat(n.VERTEX_SHADER,n.MEDIUM_FLOAT).precision>0&&n.getShaderPrecisionFormat(n.FRAGMENT_SHADER,n.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const o=typeof WebGL2RenderingContext<"u"&&n.constructor.name==="WebGL2RenderingContext";let a=t.precision!==void 0?t.precision:"highp";const l=s(a);l!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",l,"instead."),a=l);const f=o||e.has("WEBGL_draw_buffers"),h=t.logarithmicDepthBuffer===!0,d=n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS),p=n.getParameter(n.MAX_VERTEX_TEXTURE_IMAGE_UNITS),m=n.getParameter(n.MAX_TEXTURE_SIZE),y=n.getParameter(n.MAX_CUBE_MAP_TEXTURE_SIZE),A=n.getParameter(n.MAX_VERTEX_ATTRIBS),x=n.getParameter(n.MAX_VERTEX_UNIFORM_VECTORS),g=n.getParameter(n.MAX_VARYING_VECTORS),_=n.getParameter(n.MAX_FRAGMENT_UNIFORM_VECTORS),S=p>0,E=o||e.has("OES_texture_float"),P=S&&E,b=o?n.getParameter(n.MAX_SAMPLES):0;return{isWebGL2:o,drawBuffers:f,getMaxAnisotropy:r,getMaxPrecision:s,precision:a,logarithmicDepthBuffer:h,maxTextures:d,maxVertexTextures:p,maxTextureSize:m,maxCubemapSize:y,maxAttributes:A,maxVertexUniforms:x,maxVaryings:g,maxFragmentUniforms:_,vertexTextures:S,floatFragmentTextures:E,floatVertexTextures:P,maxSamples:b}}function I6(n){const e=this;let t=null,i=0,r=!1,s=!1;const o=new Rs,a=new wt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(d,p){const m=d.length!==0||p||i!==0||r;return r=p,i=d.length,m},this.beginShadows=function(){s=!0,h(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(d,p){t=h(d,p,0)},this.setState=function(d,p,m){const y=d.clippingPlanes,A=d.clipIntersection,x=d.clipShadows,g=n.get(d);if(!r||y===null||y.length===0||s&&!x)s?h(null):f();else{const _=s?0:i,S=_*4;let E=g.clippingState||null;l.value=E,E=h(y,p,S,m);for(let P=0;P!==S;++P)E[P]=t[P];g.clippingState=E,this.numIntersection=A?this.numPlanes:0,this.numPlanes+=_}};function f(){l.value!==t&&(l.value=t,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(d,p,m,y){const A=d!==null?d.length:0;let x=null;if(A!==0){if(x=l.value,y!==!0||x===null){const g=m+A*4,_=p.matrixWorldInverse;a.getNormalMatrix(_),(x===null||x.length0){const f=new V1(l.height/2);return f.fromEquirectangularTexture(n,o),e.set(o,f),o.addEventListener("dispose",r),t(f.texture,o.mapping)}else return null}}return o}function r(o){const a=o.target;a.removeEventListener("dispose",r);const l=e.get(a);l!==void 0&&(e.delete(a),l.dispose())}function s(){e=new WeakMap}return{get:i,dispose:s}}class Fr extends Eh{constructor(e=-1,t=1,i=1,r=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=r,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,i,r,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=r,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,r=(this.top+this.bottom)/2;let s=i-e,o=i+e,a=r+t,l=r-t;if(this.view!==null&&this.view.enabled){const f=(this.right-this.left)/this.view.fullWidth/this.zoom,h=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=f*this.view.offsetX,o=s+f*this.view.width,a-=h*this.view.offsetY,l=a-h*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}const _c=4,VT=[.125,.215,.35,.446,.526,.582],Ia=20,xy=new Fr,HT=new He;let _y=null,Sy=0,Ay=0;const La=(1+Math.sqrt(5))/2,Yl=1/La,GT=[new U(1,1,1),new U(-1,1,1),new U(1,1,-1),new U(-1,1,-1),new U(0,La,Yl),new U(0,La,-Yl),new U(Yl,0,La),new U(-Yl,0,La),new U(La,Yl,0),new U(-La,Yl,0)];class V_{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,r=100){_y=this._renderer.getRenderTarget(),Sy=this._renderer.getActiveCubeFace(),Ay=this._renderer.getActiveMipmapLevel(),this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,i,r,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=XT(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=jT(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?S:0,S,S),h.setRenderTarget(r),A&&h.render(y,a),h.render(e,a)}y.geometry.dispose(),y.material.dispose(),h.toneMapping=p,h.autoClear=d,e.background=x}_textureToCubeUV(e,t){const i=this._renderer,r=e.mapping===Ys||e.mapping===Xo;r?(this._cubemapMaterial===null&&(this._cubemapMaterial=XT()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=jT());const s=r?this._cubemapMaterial:this._equirectMaterial,o=new Rn(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;Sp(t,0,0,3*l,2*l),i.setRenderTarget(t),i.render(o,xy)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let r=1;rIa&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${x} samples when the maximum is set to ${Ia}`);const g=[];let _=0;for(let L=0;LS-_c?r-S+_c:0),b=4*(this._cubeSize-E);Sp(t,P,b,3*E,2*E),l.setRenderTarget(t),l.render(d,xy)}}function N6(n){const e=[],t=[],i=[];let r=n;const s=n-_c+1+VT.length;for(let o=0;on-_c?l=VT[o-n+_c-1]:o===0&&(l=0),i.push(l);const f=1/(a-2),h=-f,d=1+f,p=[h,h,d,h,d,d,h,h,d,d,h,d],m=6,y=6,A=3,x=2,g=1,_=new Float32Array(A*y*m),S=new Float32Array(x*y*m),E=new Float32Array(g*y*m);for(let b=0;b2?0:-1,C=[L,D,0,L+2/3,D,0,L+2/3,D+1,0,L,D,0,L+2/3,D+1,0,L,D+1,0];_.set(C,A*y*b),S.set(p,x*y*b);const R=[b,b,b,b,b,b];E.set(R,g*y*b)}const P=new xt;P.setAttribute("position",new Vt(_,A)),P.setAttribute("uv",new Vt(S,x)),P.setAttribute("faceIndex",new Vt(E,g)),e.push(P),r>_c&&r--}return{lodPlanes:e,sizeLods:t,sigmas:i}}function WT(n,e,t){const i=new Vr(n,e,t);return i.texture.mapping=Qc,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Sp(n,e,t,i,r){n.viewport.set(e,t,i,r),n.scissor.set(e,t,i,r)}function U6(n,e,t){const i=new Float32Array(Ia),r=new U(0,1,0);return new ds({name:"SphericalGaussianBlur",defines:{n:Ia,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${n}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:H1(),fragmentShader:` precision mediump float; precision mediump int; @@ -3697,40 +3697,40 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function N6(n){let e=new WeakMap,t=null;function i(a){if(a&&a.isTexture){const l=a.mapping,f=l===jf||l===Xf,h=l===Ys||l===Xo;if(f||h)if(a.isRenderTargetTexture&&a.needsPMREMUpdate===!0){a.needsPMREMUpdate=!1;let d=e.get(a);return t===null&&(t=new V_(n)),d=f?t.fromEquirectangular(a,d):t.fromCubemap(a,d),e.set(a,d),d.texture}else{if(e.has(a))return e.get(a).texture;{const d=a.image;if(f&&d&&d.height>0||h&&d&&r(d)){t===null&&(t=new V_(n));const p=f?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,p),a.addEventListener("dispose",s),p.texture}else return null}}}return a}function r(a){let l=0;const f=6;for(let h=0;he.maxTextureSize&&(F=Math.ceil(R/e.maxTextureSize),R=e.maxTextureSize);const K=new Float32Array(R*F*4*A),le=new Bg(K,R,F,A);le.type=Ur,le.needsUpdate=!0;const H=C*4;for(let ee=0;ee0)return n;const r=e*t;let s=YT[r];if(s===void 0&&(s=new Float32Array(r),YT[r]=s),e!==0){i.toArray(s,0);for(let o=1,a=0;o!==e;++o)a+=t,n[o].toArray(s,a)}return s}function On(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t0||h&&d&&r(d)){t===null&&(t=new V_(n));const p=f?t.fromEquirectangular(a):t.fromCubemap(a);return e.set(a,p),a.addEventListener("dispose",s),p.texture}else return null}}}return a}function r(a){let l=0;const f=6;for(let h=0;he.maxTextureSize&&(F=Math.ceil(R/e.maxTextureSize),R=e.maxTextureSize);const K=new Float32Array(R*F*4*A),le=new Bg(K,R,F,A);le.type=Ur,le.needsUpdate=!0;const V=C*4;for(let ee=0;ee0)return n;const r=e*t;let s=YT[r];if(s===void 0&&(s=new Float32Array(r),YT[r]=s),e!==0){i.toArray(s,0);for(let o=1,a=0;o!==e;++o)a+=t,n[o].toArray(s,a)}return s}function On(n,e){if(n.length!==e.length)return!1;for(let t=0,i=n.length;t":" "} ${a}: ${t[o]}`)}return i.join(` -`)}function O8(n){const e=kt.getPrimaries(kt.workingColorSpace),t=kt.getPrimaries(n);let i;switch(e===t?i="":e===eh&&t===$f?i="LinearDisplayP3ToLinearSRGB":e===$f&&t===eh&&(i="LinearSRGBToLinearDisplayP3"),n){case hs:case wh:return[i,"LinearTransferOETF"];case Nn:case kg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function eb(n,e,t){const i=n.getShaderParameter(e,n.COMPILE_STATUS),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const o=parseInt(s[1]);return t.toUpperCase()+` +`)}function k8(n){const e=kt.getPrimaries(kt.workingColorSpace),t=kt.getPrimaries(n);let i;switch(e===t?i="":e===eh&&t===$f?i="LinearDisplayP3ToLinearSRGB":e===$f&&t===eh&&(i="LinearSRGBToLinearDisplayP3"),n){case hs:case wh:return[i,"LinearTransferOETF"];case Nn:case kg:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",n),[i,"LinearTransferOETF"]}}function eb(n,e,t){const i=n.getShaderParameter(e,n.COMPILE_STATUS),r=n.getShaderInfoLog(e).trim();if(i&&r==="")return"";const s=/ERROR: 0:(\d+)/.exec(r);if(s){const o=parseInt(s[1]);return t.toUpperCase()+` `+r+` -`+U8(n.getShaderSource(e),o)}else return r}function F8(n,e){const t=O8(e);return`vec4 ${n}( vec4 value ) { return ${t[0]}( ${t[1]}( value ) ); }`}function k8(n,e){let t;switch(e){case KL:t="Linear";break;case JL:t="Reinhard";break;case QL:t="OptimizedCineon";break;case M1:t="ACESFilmic";break;case eI:t="AgX";break;case $L:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+n+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function B8(n){return[n.extensionDerivatives||n.envMapCubeUVHeight||n.bumpMap||n.normalMapTangentSpace||n.clearcoatNormalMap||n.flatShading||n.shaderID==="physical"?"#extension GL_OES_standard_derivatives : enable":"",(n.extensionFragDepth||n.logarithmicDepthBuffer)&&n.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",n.extensionDrawBuffers&&n.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(n.extensionShaderTextureLOD||n.envMap||n.transmission)&&n.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Sc).join(` -`)}function z8(n){return[n.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":""].filter(Sc).join(` -`)}function V8(n){const e=[];for(const t in n){const i=n[t];i!==!1&&e.push("#define "+t+" "+i)}return e.join(` -`)}function H8(n,e){const t={},i=n.getProgramParameter(e,n.ACTIVE_ATTRIBUTES);for(let r=0;r/gm;function H_(n){return n.replace(W8,j8)}const G8=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function j8(n,e){let t=St[e];if(t===void 0){const i=G8.get(e);if(i!==void 0)t=St[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return H_(t)}const X8=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function ib(n){return n.replace(X8,Y8)}function Y8(n,e,t,i){let r="";for(let s=parseInt(e);s/gm;function H_(n){return n.replace(j8,Y8)}const X8=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function Y8(n,e){let t=St[e];if(t===void 0){const i=X8.get(e);if(i!==void 0)t=St[i],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,i);else throw new Error("Can not resolve #include <"+e+">")}return H_(t)}const q8=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function ib(n){return n.replace(q8,Z8)}function Z8(n,e,t,i){let r="";for(let s=parseInt(e);s0&&(g+=` `),_=[m,"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,A].filter(Sc).join(` `),_.length>0&&(_+=` `)):(g=[rb(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,A,t.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+h:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors&&t.isWebGL2?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0&&t.isWebGL2?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )"," attribute vec3 morphTarget0;"," attribute vec3 morphTarget1;"," attribute vec3 morphTarget2;"," attribute vec3 morphTarget3;"," #ifdef USE_MORPHNORMALS"," attribute vec3 morphNormal0;"," attribute vec3 morphNormal1;"," attribute vec3 morphNormal2;"," attribute vec3 morphNormal3;"," #else"," attribute vec3 morphTarget4;"," attribute vec3 morphTarget5;"," attribute vec3 morphTarget6;"," attribute vec3 morphTarget7;"," #endif","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` `].filter(Sc).join(` -`),_=[m,rb(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,A,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+f:"",t.envMap?"#define "+h:"",t.envMap?"#define "+d:"",p?"#define CUBEUV_TEXEL_WIDTH "+p.texelWidth:"",p?"#define CUBEUV_TEXEL_HEIGHT "+p.texelHeight:"",p?"#define CUBEUV_MAX_MIP "+p.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==cs?"#define TONE_MAPPING":"",t.toneMapping!==cs?St.tonemapping_pars_fragment:"",t.toneMapping!==cs?k8("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",St.colorspace_pars_fragment,F8("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` +`),_=[m,rb(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,A,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+f:"",t.envMap?"#define "+h:"",t.envMap?"#define "+d:"",p?"#define CUBEUV_TEXEL_WIDTH "+p.texelWidth:"",p?"#define CUBEUV_TEXEL_HEIGHT "+p.texelHeight:"",p?"#define CUBEUV_MAX_MIP "+p.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescence?"#define USE_IRIDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+l:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.useLegacyLights?"#define LEGACY_LIGHTS":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==cs?"#define TONE_MAPPING":"",t.toneMapping!==cs?St.tonemapping_pars_fragment:"",t.toneMapping!==cs?z8("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",St.colorspace_pars_fragment,B8("linearToOutputTexel",t.outputColorSpace),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` `].filter(Sc).join(` `)),o=H_(o),o=tb(o,t),o=nb(o,t),a=H_(a),a=tb(a,t),a=nb(a,t),o=ib(o),a=ib(a),t.isWebGL2&&t.isRawShaderMaterial!==!0&&(S=`#version 300 es `,g=[y,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join(` `)+` `+g,_=["precision mediump sampler2DArray;","#define varying in",t.glslVersion===B_?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===B_?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` `)+` -`+_);const E=S+g+o,P=S+_+a,b=$T(r,r.VERTEX_SHADER,E),L=$T(r,r.FRAGMENT_SHADER,P);r.attachShader(x,b),r.attachShader(x,L),t.index0AttributeName!==void 0?r.bindAttribLocation(x,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(x,0,"position"),r.linkProgram(x);function D(K){if(n.debug.checkShaderErrors){const le=r.getProgramInfoLog(x).trim(),H=r.getShaderInfoLog(b).trim(),q=r.getShaderInfoLog(L).trim();let ee=!0,oe=!0;if(r.getProgramParameter(x,r.LINK_STATUS)===!1)if(ee=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,x,b,L);else{const k=eb(r,b,"vertex"),j=eb(r,L,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(x,r.VALIDATE_STATUS)+` +`+_);const E=S+g+o,P=S+_+a,b=$T(r,r.VERTEX_SHADER,E),L=$T(r,r.FRAGMENT_SHADER,P);r.attachShader(x,b),r.attachShader(x,L),t.index0AttributeName!==void 0?r.bindAttribLocation(x,0,t.index0AttributeName):t.morphTargets===!0&&r.bindAttribLocation(x,0,"position"),r.linkProgram(x);function D(K){if(n.debug.checkShaderErrors){const le=r.getProgramInfoLog(x).trim(),V=r.getShaderInfoLog(b).trim(),q=r.getShaderInfoLog(L).trim();let ee=!0,oe=!0;if(r.getProgramParameter(x,r.LINK_STATUS)===!1)if(ee=!1,typeof n.debug.onShaderError=="function")n.debug.onShaderError(r,x,b,L);else{const k=eb(r,b,"vertex"),j=eb(r,L,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(x,r.VALIDATE_STATUS)+` Program Info Log: `+le+` `+k+` -`+j)}else le!==""?console.warn("THREE.WebGLProgram: Program Info Log:",le):(H===""||q==="")&&(oe=!1);oe&&(K.diagnostics={runnable:ee,programLog:le,vertexShader:{log:H,prefix:g},fragmentShader:{log:q,prefix:_}})}r.deleteShader(b),r.deleteShader(L),C=new mm(r,x),R=H8(r,x)}let C;this.getUniforms=function(){return C===void 0&&D(this),C};let R;this.getAttributes=function(){return R===void 0&&D(this),R};let F=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return F===!1&&(F=r.getProgramParameter(x,D8)),F},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(x),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=N8++,this.cacheKey=e,this.usedTimes=1,this.program=x,this.vertexShader=b,this.fragmentShader=L,this}let ej=0;class tj{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),s=this._getShaderStage(i),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new nj(e),t.set(e,i)),i}}class nj{constructor(e){this.id=ej++,this.code=e,this.usedTimes=0}}function ij(n,e,t,i,r,s,o){const a=new Xa,l=new tj,f=[],h=r.isWebGL2,d=r.logarithmicDepthBuffer,p=r.vertexTextures;let m=r.precision;const y={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function A(C){return C===0?"uv":`uv${C}`}function x(C,R,F,K,le){const H=K.fog,q=le.geometry,ee=C.isMeshStandardMaterial?K.environment:null,oe=(C.isMeshStandardMaterial?t:e).get(C.envMap||ee),k=oe&&oe.mapping===Qc?oe.image.height:null,j=y[C.type];C.precision!==null&&(m=r.getMaxPrecision(C.precision),m!==C.precision&&console.warn("THREE.WebGLProgram.getParameters:",C.precision,"not supported, using",m,"instead."));const Y=q.morphAttributes.position||q.morphAttributes.normal||q.morphAttributes.color,J=Y!==void 0?Y.length:0;let ie=0;q.morphAttributes.position!==void 0&&(ie=1),q.morphAttributes.normal!==void 0&&(ie=2),q.morphAttributes.color!==void 0&&(ie=3);let $,fe,ve,be;if(j){const Qt=Dr[j];$=Qt.vertexShader,fe=Qt.fragmentShader}else $=C.vertexShader,fe=C.fragmentShader,l.update(C),ve=l.getVertexShaderID(C),be=l.getFragmentShaderID(C);const Pe=n.getRenderTarget(),Je=le.isInstancedMesh===!0,nt=le.isBatchedMesh===!0,Le=!!C.map,Te=!!C.matcap,W=!!oe,ye=!!C.aoMap,de=!!C.lightMap,we=!!C.bumpMap,pe=!!C.normalMap,We=!!C.displacementMap,Ne=!!C.emissiveMap,N=!!C.metalnessMap,I=!!C.roughnessMap,te=C.anisotropy>0,Se=C.clearcoat>0,_e=C.iridescence>0,xe=C.sheen>0,qe=C.transmission>0,Ie=te&&!!C.anisotropyMap,Ue=Se&&!!C.clearcoatMap,it=Se&&!!C.clearcoatNormalMap,pt=Se&&!!C.clearcoatRoughnessMap,Ae=_e&&!!C.iridescenceMap,Ct=_e&&!!C.iridescenceThicknessMap,_t=xe&&!!C.sheenColorMap,ft=xe&&!!C.sheenRoughnessMap,tt=!!C.specularMap,Ge=!!C.specularColorMap,X=!!C.specularIntensityMap,ge=qe&&!!C.transmissionMap,ze=qe&&!!C.thicknessMap,ke=!!C.gradientMap,Me=!!C.alphaMap,G=C.alphaTest>0,Re=!!C.alphaHash,Oe=!!C.extensions,rt=!!q.attributes.uv1,Ke=!!q.attributes.uv2,bt=!!q.attributes.uv3;let Rt=cs;return C.toneMapped&&(Pe===null||Pe.isXRRenderTarget===!0)&&(Rt=n.toneMapping),{isWebGL2:h,shaderID:j,shaderType:C.type,shaderName:C.name,vertexShader:$,fragmentShader:fe,defines:C.defines,customVertexShaderID:ve,customFragmentShaderID:be,isRawShaderMaterial:C.isRawShaderMaterial===!0,glslVersion:C.glslVersion,precision:m,batching:nt,instancing:Je,instancingColor:Je&&le.instanceColor!==null,supportsVertexTextures:p,outputColorSpace:Pe===null?n.outputColorSpace:Pe.isXRRenderTarget===!0?Pe.texture.colorSpace:hs,map:Le,matcap:Te,envMap:W,envMapMode:W&&oe.mapping,envMapCubeUVHeight:k,aoMap:ye,lightMap:de,bumpMap:we,normalMap:pe,displacementMap:p&&We,emissiveMap:Ne,normalMapObjectSpace:pe&&C.normalMapType===mI,normalMapTangentSpace:pe&&C.normalMapType===ea,metalnessMap:N,roughnessMap:I,anisotropy:te,anisotropyMap:Ie,clearcoat:Se,clearcoatMap:Ue,clearcoatNormalMap:it,clearcoatRoughnessMap:pt,iridescence:_e,iridescenceMap:Ae,iridescenceThicknessMap:Ct,sheen:xe,sheenColorMap:_t,sheenRoughnessMap:ft,specularMap:tt,specularColorMap:Ge,specularIntensityMap:X,transmission:qe,transmissionMap:ge,thicknessMap:ze,gradientMap:ke,opaque:C.transparent===!1&&C.blending===Ga,alphaMap:Me,alphaTest:G,alphaHash:Re,combine:C.combine,mapUv:Le&&A(C.map.channel),aoMapUv:ye&&A(C.aoMap.channel),lightMapUv:de&&A(C.lightMap.channel),bumpMapUv:we&&A(C.bumpMap.channel),normalMapUv:pe&&A(C.normalMap.channel),displacementMapUv:We&&A(C.displacementMap.channel),emissiveMapUv:Ne&&A(C.emissiveMap.channel),metalnessMapUv:N&&A(C.metalnessMap.channel),roughnessMapUv:I&&A(C.roughnessMap.channel),anisotropyMapUv:Ie&&A(C.anisotropyMap.channel),clearcoatMapUv:Ue&&A(C.clearcoatMap.channel),clearcoatNormalMapUv:it&&A(C.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:pt&&A(C.clearcoatRoughnessMap.channel),iridescenceMapUv:Ae&&A(C.iridescenceMap.channel),iridescenceThicknessMapUv:Ct&&A(C.iridescenceThicknessMap.channel),sheenColorMapUv:_t&&A(C.sheenColorMap.channel),sheenRoughnessMapUv:ft&&A(C.sheenRoughnessMap.channel),specularMapUv:tt&&A(C.specularMap.channel),specularColorMapUv:Ge&&A(C.specularColorMap.channel),specularIntensityMapUv:X&&A(C.specularIntensityMap.channel),transmissionMapUv:ge&&A(C.transmissionMap.channel),thicknessMapUv:ze&&A(C.thicknessMap.channel),alphaMapUv:Me&&A(C.alphaMap.channel),vertexTangents:!!q.attributes.tangent&&(pe||te),vertexColors:C.vertexColors,vertexAlphas:C.vertexColors===!0&&!!q.attributes.color&&q.attributes.color.itemSize===4,vertexUv1s:rt,vertexUv2s:Ke,vertexUv3s:bt,pointsUvs:le.isPoints===!0&&!!q.attributes.uv&&(Le||Me),fog:!!H,useFog:C.fog===!0,fogExp2:H&&H.isFogExp2,flatShading:C.flatShading===!0,sizeAttenuation:C.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:le.isSkinnedMesh===!0,morphTargets:q.morphAttributes.position!==void 0,morphNormals:q.morphAttributes.normal!==void 0,morphColors:q.morphAttributes.color!==void 0,morphTargetsCount:J,morphTextureStride:ie,numDirLights:R.directional.length,numPointLights:R.point.length,numSpotLights:R.spot.length,numSpotLightMaps:R.spotLightMap.length,numRectAreaLights:R.rectArea.length,numHemiLights:R.hemi.length,numDirLightShadows:R.directionalShadowMap.length,numPointLightShadows:R.pointShadowMap.length,numSpotLightShadows:R.spotShadowMap.length,numSpotLightShadowsWithMaps:R.numSpotLightShadowsWithMaps,numLightProbes:R.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:C.dithering,shadowMapEnabled:n.shadowMap.enabled&&F.length>0,shadowMapType:n.shadowMap.type,toneMapping:Rt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Le&&C.map.isVideoTexture===!0&&kt.getTransfer(C.map.colorSpace)===Gt,premultipliedAlpha:C.premultipliedAlpha,doubleSided:C.side===Nr,flipSided:C.side===Mi,useDepthPacking:C.depthPacking>=0,depthPacking:C.depthPacking||0,index0AttributeName:C.index0AttributeName,extensionDerivatives:Oe&&C.extensions.derivatives===!0,extensionFragDepth:Oe&&C.extensions.fragDepth===!0,extensionDrawBuffers:Oe&&C.extensions.drawBuffers===!0,extensionShaderTextureLOD:Oe&&C.extensions.shaderTextureLOD===!0,extensionClipCullDistance:Oe&&C.extensions.clipCullDistance&&i.has("WEBGL_clip_cull_distance"),rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:C.customProgramCacheKey()}}function g(C){const R=[];if(C.shaderID?R.push(C.shaderID):(R.push(C.customVertexShaderID),R.push(C.customFragmentShaderID)),C.defines!==void 0)for(const F in C.defines)R.push(F),R.push(C.defines[F]);return C.isRawShaderMaterial===!1&&(_(R,C),S(R,C),R.push(n.outputColorSpace)),R.push(C.customProgramCacheKey),R.join()}function _(C,R){C.push(R.precision),C.push(R.outputColorSpace),C.push(R.envMapMode),C.push(R.envMapCubeUVHeight),C.push(R.mapUv),C.push(R.alphaMapUv),C.push(R.lightMapUv),C.push(R.aoMapUv),C.push(R.bumpMapUv),C.push(R.normalMapUv),C.push(R.displacementMapUv),C.push(R.emissiveMapUv),C.push(R.metalnessMapUv),C.push(R.roughnessMapUv),C.push(R.anisotropyMapUv),C.push(R.clearcoatMapUv),C.push(R.clearcoatNormalMapUv),C.push(R.clearcoatRoughnessMapUv),C.push(R.iridescenceMapUv),C.push(R.iridescenceThicknessMapUv),C.push(R.sheenColorMapUv),C.push(R.sheenRoughnessMapUv),C.push(R.specularMapUv),C.push(R.specularColorMapUv),C.push(R.specularIntensityMapUv),C.push(R.transmissionMapUv),C.push(R.thicknessMapUv),C.push(R.combine),C.push(R.fogExp2),C.push(R.sizeAttenuation),C.push(R.morphTargetsCount),C.push(R.morphAttributeCount),C.push(R.numDirLights),C.push(R.numPointLights),C.push(R.numSpotLights),C.push(R.numSpotLightMaps),C.push(R.numHemiLights),C.push(R.numRectAreaLights),C.push(R.numDirLightShadows),C.push(R.numPointLightShadows),C.push(R.numSpotLightShadows),C.push(R.numSpotLightShadowsWithMaps),C.push(R.numLightProbes),C.push(R.shadowMapType),C.push(R.toneMapping),C.push(R.numClippingPlanes),C.push(R.numClipIntersection),C.push(R.depthPacking)}function S(C,R){a.disableAll(),R.isWebGL2&&a.enable(0),R.supportsVertexTextures&&a.enable(1),R.instancing&&a.enable(2),R.instancingColor&&a.enable(3),R.matcap&&a.enable(4),R.envMap&&a.enable(5),R.normalMapObjectSpace&&a.enable(6),R.normalMapTangentSpace&&a.enable(7),R.clearcoat&&a.enable(8),R.iridescence&&a.enable(9),R.alphaTest&&a.enable(10),R.vertexColors&&a.enable(11),R.vertexAlphas&&a.enable(12),R.vertexUv1s&&a.enable(13),R.vertexUv2s&&a.enable(14),R.vertexUv3s&&a.enable(15),R.vertexTangents&&a.enable(16),R.anisotropy&&a.enable(17),R.alphaHash&&a.enable(18),R.batching&&a.enable(19),C.push(a.mask),a.disableAll(),R.fog&&a.enable(0),R.useFog&&a.enable(1),R.flatShading&&a.enable(2),R.logarithmicDepthBuffer&&a.enable(3),R.skinning&&a.enable(4),R.morphTargets&&a.enable(5),R.morphNormals&&a.enable(6),R.morphColors&&a.enable(7),R.premultipliedAlpha&&a.enable(8),R.shadowMapEnabled&&a.enable(9),R.useLegacyLights&&a.enable(10),R.doubleSided&&a.enable(11),R.flipSided&&a.enable(12),R.useDepthPacking&&a.enable(13),R.dithering&&a.enable(14),R.transmission&&a.enable(15),R.sheen&&a.enable(16),R.opaque&&a.enable(17),R.pointsUvs&&a.enable(18),R.decodeVideoTexture&&a.enable(19),C.push(a.mask)}function E(C){const R=y[C.type];let F;if(R){const K=Dr[R];F=PI.clone(K.uniforms)}else F=C.uniforms;return F}function P(C,R){let F;for(let K=0,le=f.length;K0?i.push(g):m.transparent===!0?r.push(g):t.push(g)}function l(d,p,m,y,A,x){const g=o(d,p,m,y,A,x);m.transmission>0?i.unshift(g):m.transparent===!0?r.unshift(g):t.unshift(g)}function f(d,p){t.length>1&&t.sort(d||sj),i.length>1&&i.sort(p||sb),r.length>1&&r.sort(p||sb)}function h(){for(let d=e,p=n.length;d=s.length?(o=new ob,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function aj(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new U,color:new He};break;case"SpotLight":t={position:new U,direction:new U,color:new He,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new U,color:new He,distance:0,decay:0};break;case"HemisphereLight":t={direction:new U,skyColor:new He,groundColor:new He};break;case"RectAreaLight":t={color:new He,position:new U,halfWidth:new U,halfHeight:new U};break}return n[e.id]=t,t}}}function lj(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let cj=0;function uj(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function fj(n,e){const t=new aj,i=lj(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)r.probe.push(new U);const s=new U,o=new ut,a=new ut;function l(h,d){let p=0,m=0,y=0;for(let K=0;K<9;K++)r.probe[K].set(0,0,0);let A=0,x=0,g=0,_=0,S=0,E=0,P=0,b=0,L=0,D=0,C=0;h.sort(uj);const R=d===!0?Math.PI:1;for(let K=0,le=h.length;K0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=De.LTC_FLOAT_1,r.rectAreaLTC2=De.LTC_FLOAT_2):(r.rectAreaLTC1=De.LTC_HALF_1,r.rectAreaLTC2=De.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=De.LTC_FLOAT_1,r.rectAreaLTC2=De.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=De.LTC_HALF_1,r.rectAreaLTC2=De.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=p,r.ambient[1]=m,r.ambient[2]=y;const F=r.hash;(F.directionalLength!==A||F.pointLength!==x||F.spotLength!==g||F.rectAreaLength!==_||F.hemiLength!==S||F.numDirectionalShadows!==E||F.numPointShadows!==P||F.numSpotShadows!==b||F.numSpotMaps!==L||F.numLightProbes!==C)&&(r.directional.length=A,r.spot.length=g,r.rectArea.length=_,r.point.length=x,r.hemi.length=S,r.directionalShadow.length=E,r.directionalShadowMap.length=E,r.pointShadow.length=P,r.pointShadowMap.length=P,r.spotShadow.length=b,r.spotShadowMap.length=b,r.directionalShadowMatrix.length=E,r.pointShadowMatrix.length=P,r.spotLightMatrix.length=b+L-D,r.spotLightMap.length=L,r.numSpotLightShadowsWithMaps=D,r.numLightProbes=C,F.directionalLength=A,F.pointLength=x,F.spotLength=g,F.rectAreaLength=_,F.hemiLength=S,F.numDirectionalShadows=E,F.numPointShadows=P,F.numSpotShadows=b,F.numSpotMaps=L,F.numLightProbes=C,r.version=cj++)}function f(h,d){let p=0,m=0,y=0,A=0,x=0;const g=d.matrixWorldInverse;for(let _=0,S=h.length;_=a.length?(l=new ab(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class G1 extends $n{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=dI,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class j1 extends $n{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const dj=`void main() { +`+j)}else le!==""?console.warn("THREE.WebGLProgram: Program Info Log:",le):(V===""||q==="")&&(oe=!1);oe&&(K.diagnostics={runnable:ee,programLog:le,vertexShader:{log:V,prefix:g},fragmentShader:{log:q,prefix:_}})}r.deleteShader(b),r.deleteShader(L),C=new mm(r,x),R=W8(r,x)}let C;this.getUniforms=function(){return C===void 0&&D(this),C};let R;this.getAttributes=function(){return R===void 0&&D(this),R};let F=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return F===!1&&(F=r.getProgramParameter(x,U8)),F},this.destroy=function(){i.releaseStatesOfProgram(this),r.deleteProgram(x),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=O8++,this.cacheKey=e,this.usedTimes=1,this.program=x,this.vertexShader=b,this.fragmentShader=L,this}let nj=0;class ij{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,i=e.fragmentShader,r=this._getShaderStage(t),s=this._getShaderStage(i),o=this._getShaderCacheForMaterial(e);return o.has(r)===!1&&(o.add(r),r.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const i of t)i.usedTimes--,i.usedTimes===0&&this.shaderCache.delete(i.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;let i=t.get(e);return i===void 0&&(i=new Set,t.set(e,i)),i}_getShaderStage(e){const t=this.shaderCache;let i=t.get(e);return i===void 0&&(i=new rj(e),t.set(e,i)),i}}class rj{constructor(e){this.id=nj++,this.code=e,this.usedTimes=0}}function sj(n,e,t,i,r,s,o){const a=new Xa,l=new ij,f=[],h=r.isWebGL2,d=r.logarithmicDepthBuffer,p=r.vertexTextures;let m=r.precision;const y={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function A(C){return C===0?"uv":`uv${C}`}function x(C,R,F,K,le){const V=K.fog,q=le.geometry,ee=C.isMeshStandardMaterial?K.environment:null,oe=(C.isMeshStandardMaterial?t:e).get(C.envMap||ee),k=oe&&oe.mapping===Qc?oe.image.height:null,j=y[C.type];C.precision!==null&&(m=r.getMaxPrecision(C.precision),m!==C.precision&&console.warn("THREE.WebGLProgram.getParameters:",C.precision,"not supported, using",m,"instead."));const Y=q.morphAttributes.position||q.morphAttributes.normal||q.morphAttributes.color,J=Y!==void 0?Y.length:0;let ie=0;q.morphAttributes.position!==void 0&&(ie=1),q.morphAttributes.normal!==void 0&&(ie=2),q.morphAttributes.color!==void 0&&(ie=3);let $,fe,ve,be;if(j){const Qt=Dr[j];$=Qt.vertexShader,fe=Qt.fragmentShader}else $=C.vertexShader,fe=C.fragmentShader,l.update(C),ve=l.getVertexShaderID(C),be=l.getFragmentShaderID(C);const Pe=n.getRenderTarget(),Je=le.isInstancedMesh===!0,nt=le.isBatchedMesh===!0,Le=!!C.map,Te=!!C.matcap,H=!!oe,ye=!!C.aoMap,de=!!C.lightMap,we=!!C.bumpMap,pe=!!C.normalMap,Ge=!!C.displacementMap,Ne=!!C.emissiveMap,N=!!C.metalnessMap,I=!!C.roughnessMap,te=C.anisotropy>0,Se=C.clearcoat>0,_e=C.iridescence>0,xe=C.sheen>0,qe=C.transmission>0,Ie=te&&!!C.anisotropyMap,Ue=Se&&!!C.clearcoatMap,it=Se&&!!C.clearcoatNormalMap,pt=Se&&!!C.clearcoatRoughnessMap,Ae=_e&&!!C.iridescenceMap,Ct=_e&&!!C.iridescenceThicknessMap,_t=xe&&!!C.sheenColorMap,ft=xe&&!!C.sheenRoughnessMap,tt=!!C.specularMap,We=!!C.specularColorMap,X=!!C.specularIntensityMap,ge=qe&&!!C.transmissionMap,ze=qe&&!!C.thicknessMap,ke=!!C.gradientMap,Me=!!C.alphaMap,W=C.alphaTest>0,Re=!!C.alphaHash,Oe=!!C.extensions,rt=!!q.attributes.uv1,Ke=!!q.attributes.uv2,bt=!!q.attributes.uv3;let Rt=cs;return C.toneMapped&&(Pe===null||Pe.isXRRenderTarget===!0)&&(Rt=n.toneMapping),{isWebGL2:h,shaderID:j,shaderType:C.type,shaderName:C.name,vertexShader:$,fragmentShader:fe,defines:C.defines,customVertexShaderID:ve,customFragmentShaderID:be,isRawShaderMaterial:C.isRawShaderMaterial===!0,glslVersion:C.glslVersion,precision:m,batching:nt,instancing:Je,instancingColor:Je&&le.instanceColor!==null,supportsVertexTextures:p,outputColorSpace:Pe===null?n.outputColorSpace:Pe.isXRRenderTarget===!0?Pe.texture.colorSpace:hs,map:Le,matcap:Te,envMap:H,envMapMode:H&&oe.mapping,envMapCubeUVHeight:k,aoMap:ye,lightMap:de,bumpMap:we,normalMap:pe,displacementMap:p&&Ge,emissiveMap:Ne,normalMapObjectSpace:pe&&C.normalMapType===mI,normalMapTangentSpace:pe&&C.normalMapType===ea,metalnessMap:N,roughnessMap:I,anisotropy:te,anisotropyMap:Ie,clearcoat:Se,clearcoatMap:Ue,clearcoatNormalMap:it,clearcoatRoughnessMap:pt,iridescence:_e,iridescenceMap:Ae,iridescenceThicknessMap:Ct,sheen:xe,sheenColorMap:_t,sheenRoughnessMap:ft,specularMap:tt,specularColorMap:We,specularIntensityMap:X,transmission:qe,transmissionMap:ge,thicknessMap:ze,gradientMap:ke,opaque:C.transparent===!1&&C.blending===Wa,alphaMap:Me,alphaTest:W,alphaHash:Re,combine:C.combine,mapUv:Le&&A(C.map.channel),aoMapUv:ye&&A(C.aoMap.channel),lightMapUv:de&&A(C.lightMap.channel),bumpMapUv:we&&A(C.bumpMap.channel),normalMapUv:pe&&A(C.normalMap.channel),displacementMapUv:Ge&&A(C.displacementMap.channel),emissiveMapUv:Ne&&A(C.emissiveMap.channel),metalnessMapUv:N&&A(C.metalnessMap.channel),roughnessMapUv:I&&A(C.roughnessMap.channel),anisotropyMapUv:Ie&&A(C.anisotropyMap.channel),clearcoatMapUv:Ue&&A(C.clearcoatMap.channel),clearcoatNormalMapUv:it&&A(C.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:pt&&A(C.clearcoatRoughnessMap.channel),iridescenceMapUv:Ae&&A(C.iridescenceMap.channel),iridescenceThicknessMapUv:Ct&&A(C.iridescenceThicknessMap.channel),sheenColorMapUv:_t&&A(C.sheenColorMap.channel),sheenRoughnessMapUv:ft&&A(C.sheenRoughnessMap.channel),specularMapUv:tt&&A(C.specularMap.channel),specularColorMapUv:We&&A(C.specularColorMap.channel),specularIntensityMapUv:X&&A(C.specularIntensityMap.channel),transmissionMapUv:ge&&A(C.transmissionMap.channel),thicknessMapUv:ze&&A(C.thicknessMap.channel),alphaMapUv:Me&&A(C.alphaMap.channel),vertexTangents:!!q.attributes.tangent&&(pe||te),vertexColors:C.vertexColors,vertexAlphas:C.vertexColors===!0&&!!q.attributes.color&&q.attributes.color.itemSize===4,vertexUv1s:rt,vertexUv2s:Ke,vertexUv3s:bt,pointsUvs:le.isPoints===!0&&!!q.attributes.uv&&(Le||Me),fog:!!V,useFog:C.fog===!0,fogExp2:V&&V.isFogExp2,flatShading:C.flatShading===!0,sizeAttenuation:C.sizeAttenuation===!0,logarithmicDepthBuffer:d,skinning:le.isSkinnedMesh===!0,morphTargets:q.morphAttributes.position!==void 0,morphNormals:q.morphAttributes.normal!==void 0,morphColors:q.morphAttributes.color!==void 0,morphTargetsCount:J,morphTextureStride:ie,numDirLights:R.directional.length,numPointLights:R.point.length,numSpotLights:R.spot.length,numSpotLightMaps:R.spotLightMap.length,numRectAreaLights:R.rectArea.length,numHemiLights:R.hemi.length,numDirLightShadows:R.directionalShadowMap.length,numPointLightShadows:R.pointShadowMap.length,numSpotLightShadows:R.spotShadowMap.length,numSpotLightShadowsWithMaps:R.numSpotLightShadowsWithMaps,numLightProbes:R.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:C.dithering,shadowMapEnabled:n.shadowMap.enabled&&F.length>0,shadowMapType:n.shadowMap.type,toneMapping:Rt,useLegacyLights:n._useLegacyLights,decodeVideoTexture:Le&&C.map.isVideoTexture===!0&&kt.getTransfer(C.map.colorSpace)===Wt,premultipliedAlpha:C.premultipliedAlpha,doubleSided:C.side===Nr,flipSided:C.side===Mi,useDepthPacking:C.depthPacking>=0,depthPacking:C.depthPacking||0,index0AttributeName:C.index0AttributeName,extensionDerivatives:Oe&&C.extensions.derivatives===!0,extensionFragDepth:Oe&&C.extensions.fragDepth===!0,extensionDrawBuffers:Oe&&C.extensions.drawBuffers===!0,extensionShaderTextureLOD:Oe&&C.extensions.shaderTextureLOD===!0,extensionClipCullDistance:Oe&&C.extensions.clipCullDistance&&i.has("WEBGL_clip_cull_distance"),rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:C.customProgramCacheKey()}}function g(C){const R=[];if(C.shaderID?R.push(C.shaderID):(R.push(C.customVertexShaderID),R.push(C.customFragmentShaderID)),C.defines!==void 0)for(const F in C.defines)R.push(F),R.push(C.defines[F]);return C.isRawShaderMaterial===!1&&(_(R,C),S(R,C),R.push(n.outputColorSpace)),R.push(C.customProgramCacheKey),R.join()}function _(C,R){C.push(R.precision),C.push(R.outputColorSpace),C.push(R.envMapMode),C.push(R.envMapCubeUVHeight),C.push(R.mapUv),C.push(R.alphaMapUv),C.push(R.lightMapUv),C.push(R.aoMapUv),C.push(R.bumpMapUv),C.push(R.normalMapUv),C.push(R.displacementMapUv),C.push(R.emissiveMapUv),C.push(R.metalnessMapUv),C.push(R.roughnessMapUv),C.push(R.anisotropyMapUv),C.push(R.clearcoatMapUv),C.push(R.clearcoatNormalMapUv),C.push(R.clearcoatRoughnessMapUv),C.push(R.iridescenceMapUv),C.push(R.iridescenceThicknessMapUv),C.push(R.sheenColorMapUv),C.push(R.sheenRoughnessMapUv),C.push(R.specularMapUv),C.push(R.specularColorMapUv),C.push(R.specularIntensityMapUv),C.push(R.transmissionMapUv),C.push(R.thicknessMapUv),C.push(R.combine),C.push(R.fogExp2),C.push(R.sizeAttenuation),C.push(R.morphTargetsCount),C.push(R.morphAttributeCount),C.push(R.numDirLights),C.push(R.numPointLights),C.push(R.numSpotLights),C.push(R.numSpotLightMaps),C.push(R.numHemiLights),C.push(R.numRectAreaLights),C.push(R.numDirLightShadows),C.push(R.numPointLightShadows),C.push(R.numSpotLightShadows),C.push(R.numSpotLightShadowsWithMaps),C.push(R.numLightProbes),C.push(R.shadowMapType),C.push(R.toneMapping),C.push(R.numClippingPlanes),C.push(R.numClipIntersection),C.push(R.depthPacking)}function S(C,R){a.disableAll(),R.isWebGL2&&a.enable(0),R.supportsVertexTextures&&a.enable(1),R.instancing&&a.enable(2),R.instancingColor&&a.enable(3),R.matcap&&a.enable(4),R.envMap&&a.enable(5),R.normalMapObjectSpace&&a.enable(6),R.normalMapTangentSpace&&a.enable(7),R.clearcoat&&a.enable(8),R.iridescence&&a.enable(9),R.alphaTest&&a.enable(10),R.vertexColors&&a.enable(11),R.vertexAlphas&&a.enable(12),R.vertexUv1s&&a.enable(13),R.vertexUv2s&&a.enable(14),R.vertexUv3s&&a.enable(15),R.vertexTangents&&a.enable(16),R.anisotropy&&a.enable(17),R.alphaHash&&a.enable(18),R.batching&&a.enable(19),C.push(a.mask),a.disableAll(),R.fog&&a.enable(0),R.useFog&&a.enable(1),R.flatShading&&a.enable(2),R.logarithmicDepthBuffer&&a.enable(3),R.skinning&&a.enable(4),R.morphTargets&&a.enable(5),R.morphNormals&&a.enable(6),R.morphColors&&a.enable(7),R.premultipliedAlpha&&a.enable(8),R.shadowMapEnabled&&a.enable(9),R.useLegacyLights&&a.enable(10),R.doubleSided&&a.enable(11),R.flipSided&&a.enable(12),R.useDepthPacking&&a.enable(13),R.dithering&&a.enable(14),R.transmission&&a.enable(15),R.sheen&&a.enable(16),R.opaque&&a.enable(17),R.pointsUvs&&a.enable(18),R.decodeVideoTexture&&a.enable(19),C.push(a.mask)}function E(C){const R=y[C.type];let F;if(R){const K=Dr[R];F=PI.clone(K.uniforms)}else F=C.uniforms;return F}function P(C,R){let F;for(let K=0,le=f.length;K0?i.push(g):m.transparent===!0?r.push(g):t.push(g)}function l(d,p,m,y,A,x){const g=o(d,p,m,y,A,x);m.transmission>0?i.unshift(g):m.transparent===!0?r.unshift(g):t.unshift(g)}function f(d,p){t.length>1&&t.sort(d||aj),i.length>1&&i.sort(p||sb),r.length>1&&r.sort(p||sb)}function h(){for(let d=e,p=n.length;d=s.length?(o=new ob,s.push(o)):o=s[r],o}function t(){n=new WeakMap}return{get:e,dispose:t}}function cj(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new U,color:new He};break;case"SpotLight":t={position:new U,direction:new U,color:new He,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new U,color:new He,distance:0,decay:0};break;case"HemisphereLight":t={direction:new U,skyColor:new He,groundColor:new He};break;case"RectAreaLight":t={color:new He,position:new U,halfWidth:new U,halfHeight:new U};break}return n[e.id]=t,t}}}function uj(){const n={};return{get:function(e){if(n[e.id]!==void 0)return n[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me};break;case"SpotLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me};break;case"PointLight":t={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new me,shadowCameraNear:1,shadowCameraFar:1e3};break}return n[e.id]=t,t}}}let fj=0;function hj(n,e){return(e.castShadow?2:0)-(n.castShadow?2:0)+(e.map?1:0)-(n.map?1:0)}function dj(n,e){const t=new cj,i=uj(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let h=0;h<9;h++)r.probe.push(new U);const s=new U,o=new ut,a=new ut;function l(h,d){let p=0,m=0,y=0;for(let K=0;K<9;K++)r.probe[K].set(0,0,0);let A=0,x=0,g=0,_=0,S=0,E=0,P=0,b=0,L=0,D=0,C=0;h.sort(hj);const R=d===!0?Math.PI:1;for(let K=0,le=h.length;K0&&(e.isWebGL2?n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=De.LTC_FLOAT_1,r.rectAreaLTC2=De.LTC_FLOAT_2):(r.rectAreaLTC1=De.LTC_HALF_1,r.rectAreaLTC2=De.LTC_HALF_2):n.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=De.LTC_FLOAT_1,r.rectAreaLTC2=De.LTC_FLOAT_2):n.has("OES_texture_half_float_linear")===!0?(r.rectAreaLTC1=De.LTC_HALF_1,r.rectAreaLTC2=De.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=p,r.ambient[1]=m,r.ambient[2]=y;const F=r.hash;(F.directionalLength!==A||F.pointLength!==x||F.spotLength!==g||F.rectAreaLength!==_||F.hemiLength!==S||F.numDirectionalShadows!==E||F.numPointShadows!==P||F.numSpotShadows!==b||F.numSpotMaps!==L||F.numLightProbes!==C)&&(r.directional.length=A,r.spot.length=g,r.rectArea.length=_,r.point.length=x,r.hemi.length=S,r.directionalShadow.length=E,r.directionalShadowMap.length=E,r.pointShadow.length=P,r.pointShadowMap.length=P,r.spotShadow.length=b,r.spotShadowMap.length=b,r.directionalShadowMatrix.length=E,r.pointShadowMatrix.length=P,r.spotLightMatrix.length=b+L-D,r.spotLightMap.length=L,r.numSpotLightShadowsWithMaps=D,r.numLightProbes=C,F.directionalLength=A,F.pointLength=x,F.spotLength=g,F.rectAreaLength=_,F.hemiLength=S,F.numDirectionalShadows=E,F.numPointShadows=P,F.numSpotShadows=b,F.numSpotMaps=L,F.numLightProbes=C,r.version=fj++)}function f(h,d){let p=0,m=0,y=0,A=0,x=0;const g=d.matrixWorldInverse;for(let _=0,S=h.length;_=a.length?(l=new ab(n,e),a.push(l)):l=a[o],l}function r(){t=new WeakMap}return{get:i,dispose:r}}class W1 extends $n{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=dI,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class j1 extends $n{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const mj=`void main() { gl_Position = vec4( position, 1.0 ); -}`,pj=`uniform sampler2D shadow_pass; +}`,gj=`uniform sampler2D shadow_pass; uniform vec2 resolution; uniform float radius; #include @@ -3756,7 +3756,7 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function mj(n,e,t){let i=new bh;const r=new me,s=new me,o=new Bt,a=new G1({depthPacking:pI}),l=new j1,f={},h=t.maxTextureSize,d={[Xs]:Mi,[Mi]:Xs,[Nr]:Nr},p=new ds({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new me},radius:{value:4}},vertexShader:dj,fragmentShader:pj}),m=p.clone();m.defines.HORIZONTAL_PASS=1;const y=new xt;y.setAttribute("position",new Vt(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const A=new Rn(y,p),x=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Ng;let g=this.type;this.render=function(b,L,D){if(x.enabled===!1||x.autoUpdate===!1&&x.needsUpdate===!1||b.length===0)return;const C=n.getRenderTarget(),R=n.getActiveCubeFace(),F=n.getActiveMipmapLevel(),K=n.state;K.setBlending(zs),K.buffers.color.setClear(1,1,1,1),K.buffers.depth.setTest(!0),K.setScissorTest(!1);const le=g!==Rr&&this.type===Rr,H=g===Rr&&this.type!==Rr;for(let q=0,ee=b.length;qh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/j.x),r.x=s.x*j.x,k.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/j.y),r.y=s.y*j.y,k.mapSize.y=s.y)),k.map===null||le===!0||H===!0){const J=this.type!==Rr?{minFilter:An,magFilter:An}:{};k.map!==null&&k.map.dispose(),k.map=new Vr(r.x,r.y,J),k.map.texture.name=oe.name+".shadowMap",k.camera.updateProjectionMatrix()}n.setRenderTarget(k.map),n.clear();const Y=k.getViewportCount();for(let J=0;J0||L.map&&L.alphaTest>0){const K=R.uuid,le=L.uuid;let H=f[K];H===void 0&&(H={},f[K]=H);let q=H[le];q===void 0&&(q=R.clone(),H[le]=q,L.addEventListener("dispose",P)),R=q}if(R.visible=L.visible,R.wireframe=L.wireframe,C===Rr?R.side=L.shadowSide!==null?L.shadowSide:L.side:R.side=L.shadowSide!==null?L.shadowSide:d[L.side],R.alphaMap=L.alphaMap,R.alphaTest=L.alphaTest,R.map=L.map,R.clipShadows=L.clipShadows,R.clippingPlanes=L.clippingPlanes,R.clipIntersection=L.clipIntersection,R.displacementMap=L.displacementMap,R.displacementScale=L.displacementScale,R.displacementBias=L.displacementBias,R.wireframeLinewidth=L.wireframeLinewidth,R.linewidth=L.linewidth,D.isPointLight===!0&&R.isMeshDistanceMaterial===!0){const K=n.properties.get(R);K.light=D}return R}function E(b,L,D,C,R){if(b.visible===!1)return;if(b.layers.test(L.layers)&&(b.isMesh||b.isLine||b.isPoints)&&(b.castShadow||b.receiveShadow&&R===Rr)&&(!b.frustumCulled||i.intersectsObject(b))){b.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,b.matrixWorld);const le=e.update(b),H=b.material;if(Array.isArray(H)){const q=le.groups;for(let ee=0,oe=q.length;ee=1):Y.indexOf("OpenGL ES")!==-1&&(j=parseFloat(/^OpenGL ES (\d)/.exec(Y)[1]),k=j>=2);let J=null,ie={};const $=n.getParameter(n.SCISSOR_BOX),fe=n.getParameter(n.VIEWPORT),ve=new Bt().fromArray($),be=new Bt().fromArray(fe);function Pe(G,Re,Oe,rt){const Ke=new Uint8Array(4),bt=n.createTexture();n.bindTexture(G,bt),n.texParameteri(G,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(G,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Rt=0;Rt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new WeakMap;let d;const p=new WeakMap;let m=!1;try{m=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function y(N,I){return m?new OffscreenCanvas(N,I):nh("canvas")}function A(N,I,te,Se){let _e=1;if((N.width>Se||N.height>Se)&&(_e=Se/Math.max(N.width,N.height)),_e<1||I===!0)if(typeof HTMLImageElement<"u"&&N instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&N instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&N instanceof ImageBitmap){const xe=I?tg:Math.floor,qe=xe(_e*N.width),Ie=xe(_e*N.height);d===void 0&&(d=y(qe,Ie));const Ue=te?y(qe,Ie):d;return Ue.width=qe,Ue.height=Ie,Ue.getContext("2d").drawImage(N,0,0,qe,Ie),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+N.width+"x"+N.height+") to ("+qe+"x"+Ie+")."),Ue}else return"data"in N&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+N.width+"x"+N.height+")."),N;return N}function x(N){return z_(N.width)&&z_(N.height)}function g(N){return a?!1:N.wrapS!==fi||N.wrapT!==fi||N.minFilter!==An&&N.minFilter!==wn}function _(N,I){return N.generateMipmaps&&I&&N.minFilter!==An&&N.minFilter!==wn}function S(N){n.generateMipmap(N)}function E(N,I,te,Se,_e=!1){if(a===!1)return I;if(N!==null){if(n[N]!==void 0)return n[N];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+N+"'")}let xe=I;if(I===n.RED&&(te===n.FLOAT&&(xe=n.R32F),te===n.HALF_FLOAT&&(xe=n.R16F),te===n.UNSIGNED_BYTE&&(xe=n.R8)),I===n.RED_INTEGER&&(te===n.UNSIGNED_BYTE&&(xe=n.R8UI),te===n.UNSIGNED_SHORT&&(xe=n.R16UI),te===n.UNSIGNED_INT&&(xe=n.R32UI),te===n.BYTE&&(xe=n.R8I),te===n.SHORT&&(xe=n.R16I),te===n.INT&&(xe=n.R32I)),I===n.RG&&(te===n.FLOAT&&(xe=n.RG32F),te===n.HALF_FLOAT&&(xe=n.RG16F),te===n.UNSIGNED_BYTE&&(xe=n.RG8)),I===n.RGBA){const qe=_e?Qf:kt.getTransfer(Se);te===n.FLOAT&&(xe=n.RGBA32F),te===n.HALF_FLOAT&&(xe=n.RGBA16F),te===n.UNSIGNED_BYTE&&(xe=qe===Gt?n.SRGB8_ALPHA8:n.RGBA8),te===n.UNSIGNED_SHORT_4_4_4_4&&(xe=n.RGBA4),te===n.UNSIGNED_SHORT_5_5_5_1&&(xe=n.RGB5_A1)}return(xe===n.R16F||xe===n.R32F||xe===n.RG16F||xe===n.RG32F||xe===n.RGBA16F||xe===n.RGBA32F)&&e.get("EXT_color_buffer_float"),xe}function P(N,I,te){return _(N,te)===!0||N.isFramebufferTexture&&N.minFilter!==An&&N.minFilter!==wn?Math.log2(Math.max(I.width,I.height))+1:N.mipmaps!==void 0&&N.mipmaps.length>0?N.mipmaps.length:N.isCompressedTexture&&Array.isArray(N.image)?I.mipmaps.length:1}function b(N){return N===An||N===$m||N===gf?n.NEAREST:n.LINEAR}function L(N){const I=N.target;I.removeEventListener("dispose",L),C(I),I.isVideoTexture&&h.delete(I)}function D(N){const I=N.target;I.removeEventListener("dispose",D),F(I)}function C(N){const I=i.get(N);if(I.__webglInit===void 0)return;const te=N.source,Se=p.get(te);if(Se){const _e=Se[I.__cacheKey];_e.usedTimes--,_e.usedTimes===0&&R(N),Object.keys(Se).length===0&&p.delete(te)}i.remove(N)}function R(N){const I=i.get(N);n.deleteTexture(I.__webglTexture);const te=N.source,Se=p.get(te);delete Se[I.__cacheKey],o.memory.textures--}function F(N){const I=N.texture,te=i.get(N),Se=i.get(I);if(Se.__webglTexture!==void 0&&(n.deleteTexture(Se.__webglTexture),o.memory.textures--),N.depthTexture&&N.depthTexture.dispose(),N.isWebGLCubeRenderTarget)for(let _e=0;_e<6;_e++){if(Array.isArray(te.__webglFramebuffer[_e]))for(let xe=0;xe=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+N+" texture units while this GPU supports only "+r.maxTextures),K+=1,N}function q(N){const I=[];return I.push(N.wrapS),I.push(N.wrapT),I.push(N.wrapR||0),I.push(N.magFilter),I.push(N.minFilter),I.push(N.anisotropy),I.push(N.internalFormat),I.push(N.format),I.push(N.type),I.push(N.generateMipmaps),I.push(N.premultiplyAlpha),I.push(N.flipY),I.push(N.unpackAlignment),I.push(N.colorSpace),I.join()}function ee(N,I){const te=i.get(N);if(N.isVideoTexture&&We(N),N.isRenderTargetTexture===!1&&N.version>0&&te.__version!==N.version){const Se=N.image;if(Se===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Se.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ve(te,N,I);return}}t.bindTexture(n.TEXTURE_2D,te.__webglTexture,n.TEXTURE0+I)}function oe(N,I){const te=i.get(N);if(N.version>0&&te.__version!==N.version){ve(te,N,I);return}t.bindTexture(n.TEXTURE_2D_ARRAY,te.__webglTexture,n.TEXTURE0+I)}function k(N,I){const te=i.get(N);if(N.version>0&&te.__version!==N.version){ve(te,N,I);return}t.bindTexture(n.TEXTURE_3D,te.__webglTexture,n.TEXTURE0+I)}function j(N,I){const te=i.get(N);if(N.version>0&&te.__version!==N.version){be(te,N,I);return}t.bindTexture(n.TEXTURE_CUBE_MAP,te.__webglTexture,n.TEXTURE0+I)}const Y={[Yf]:n.REPEAT,[fi]:n.CLAMP_TO_EDGE,[qf]:n.MIRRORED_REPEAT},J={[An]:n.NEAREST,[$m]:n.NEAREST_MIPMAP_NEAREST,[gf]:n.NEAREST_MIPMAP_LINEAR,[wn]:n.LINEAR,[w1]:n.LINEAR_MIPMAP_NEAREST,[Yo]:n.LINEAR_MIPMAP_LINEAR},ie={[gI]:n.NEVER,[AI]:n.ALWAYS,[vI]:n.LESS,[N1]:n.LEQUAL,[yI]:n.EQUAL,[SI]:n.GEQUAL,[xI]:n.GREATER,[_I]:n.NOTEQUAL};function $(N,I,te){if(te?(n.texParameteri(N,n.TEXTURE_WRAP_S,Y[I.wrapS]),n.texParameteri(N,n.TEXTURE_WRAP_T,Y[I.wrapT]),(N===n.TEXTURE_3D||N===n.TEXTURE_2D_ARRAY)&&n.texParameteri(N,n.TEXTURE_WRAP_R,Y[I.wrapR]),n.texParameteri(N,n.TEXTURE_MAG_FILTER,J[I.magFilter]),n.texParameteri(N,n.TEXTURE_MIN_FILTER,J[I.minFilter])):(n.texParameteri(N,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(N,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(N===n.TEXTURE_3D||N===n.TEXTURE_2D_ARRAY)&&n.texParameteri(N,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(I.wrapS!==fi||I.wrapT!==fi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(N,n.TEXTURE_MAG_FILTER,b(I.magFilter)),n.texParameteri(N,n.TEXTURE_MIN_FILTER,b(I.minFilter)),I.minFilter!==An&&I.minFilter!==wn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),I.compareFunction&&(n.texParameteri(N,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(N,n.TEXTURE_COMPARE_FUNC,ie[I.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Se=e.get("EXT_texture_filter_anisotropic");if(I.magFilter===An||I.minFilter!==gf&&I.minFilter!==Yo||I.type===Ur&&e.has("OES_texture_float_linear")===!1||a===!1&&I.type===Hc&&e.has("OES_texture_half_float_linear")===!1)return;(I.anisotropy>1||i.get(I).__currentAnisotropy)&&(n.texParameterf(N,Se.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(I.anisotropy,r.getMaxAnisotropy())),i.get(I).__currentAnisotropy=I.anisotropy)}}function fe(N,I){let te=!1;N.__webglInit===void 0&&(N.__webglInit=!0,I.addEventListener("dispose",L));const Se=I.source;let _e=p.get(Se);_e===void 0&&(_e={},p.set(Se,_e));const xe=q(I);if(xe!==N.__cacheKey){_e[xe]===void 0&&(_e[xe]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,te=!0),_e[xe].usedTimes++;const qe=_e[N.__cacheKey];qe!==void 0&&(_e[N.__cacheKey].usedTimes--,qe.usedTimes===0&&R(I)),N.__cacheKey=xe,N.__webglTexture=_e[xe].texture}return te}function ve(N,I,te){let Se=n.TEXTURE_2D;(I.isDataArrayTexture||I.isCompressedArrayTexture)&&(Se=n.TEXTURE_2D_ARRAY),I.isData3DTexture&&(Se=n.TEXTURE_3D);const _e=fe(N,I),xe=I.source;t.bindTexture(Se,N.__webglTexture,n.TEXTURE0+te);const qe=i.get(xe);if(xe.version!==qe.__version||_e===!0){t.activeTexture(n.TEXTURE0+te);const Ie=kt.getPrimaries(kt.workingColorSpace),Ue=I.colorSpace===Ki?null:kt.getPrimaries(I.colorSpace),it=I.colorSpace===Ki||Ie===Ue?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,I.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,I.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,I.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,it);const pt=g(I)&&x(I.image)===!1;let Ae=A(I.image,pt,!1,r.maxTextureSize);Ae=Ne(I,Ae);const Ct=x(Ae)||a,_t=s.convert(I.format,I.colorSpace);let ft=s.convert(I.type),tt=E(I.internalFormat,_t,ft,I.colorSpace,I.isVideoTexture);$(Se,I,Ct);let Ge;const X=I.mipmaps,ge=a&&I.isVideoTexture!==!0&&tt!==L1,ze=qe.__version===void 0||_e===!0,ke=P(I,Ae,Ct);if(I.isDepthTexture)tt=n.DEPTH_COMPONENT,a?I.type===Ur?tt=n.DEPTH_COMPONENT32F:I.type===Us?tt=n.DEPTH_COMPONENT24:I.type===Bo?tt=n.DEPTH24_STENCIL8:tt=n.DEPTH_COMPONENT16:I.type===Ur&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),I.format===zo&&tt===n.DEPTH_COMPONENT&&I.type!==Og&&I.type!==Us&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),I.type=Us,ft=s.convert(I.type)),I.format===el&&tt===n.DEPTH_COMPONENT&&(tt=n.DEPTH_STENCIL,I.type!==Bo&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),I.type=Bo,ft=s.convert(I.type))),ze&&(ge?t.texStorage2D(n.TEXTURE_2D,1,tt,Ae.width,Ae.height):t.texImage2D(n.TEXTURE_2D,0,tt,Ae.width,Ae.height,0,_t,ft,null));else if(I.isDataTexture)if(X.length>0&&Ct){ge&&ze&&t.texStorage2D(n.TEXTURE_2D,ke,tt,X[0].width,X[0].height);for(let Me=0,G=X.length;Me>=1,G>>=1}}else if(X.length>0&&Ct){ge&&ze&&t.texStorage2D(n.TEXTURE_2D,ke,tt,X[0].width,X[0].height);for(let Me=0,G=X.length;Me0&&ze++,t.texStorage2D(n.TEXTURE_CUBE_MAP,ze,Ge,Ae[0].width,Ae[0].height));for(let Me=0;Me<6;Me++)if(pt){X?t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,0,0,Ae[Me].width,Ae[Me].height,ft,tt,Ae[Me].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,Ge,Ae[Me].width,Ae[Me].height,0,ft,tt,Ae[Me].data);for(let G=0;G>xe),Ae=Math.max(1,I.height>>xe);_e===n.TEXTURE_3D||_e===n.TEXTURE_2D_ARRAY?t.texImage3D(_e,xe,Ue,pt,Ae,I.depth,0,qe,Ie,null):t.texImage2D(_e,xe,Ue,pt,Ae,0,qe,Ie,null)}t.bindFramebuffer(n.FRAMEBUFFER,N),pe(I)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Se,_e,i.get(te).__webglTexture,0,we(I)):(_e===n.TEXTURE_2D||_e>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&_e<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Se,_e,i.get(te).__webglTexture,xe),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Je(N,I,te){if(n.bindRenderbuffer(n.RENDERBUFFER,N),I.depthBuffer&&!I.stencilBuffer){let Se=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(te||pe(I)){const _e=I.depthTexture;_e&&_e.isDepthTexture&&(_e.type===Ur?Se=n.DEPTH_COMPONENT32F:_e.type===Us&&(Se=n.DEPTH_COMPONENT24));const xe=we(I);pe(I)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,xe,Se,I.width,I.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,xe,Se,I.width,I.height)}else n.renderbufferStorage(n.RENDERBUFFER,Se,I.width,I.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,N)}else if(I.depthBuffer&&I.stencilBuffer){const Se=we(I);te&&pe(I)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Se,n.DEPTH24_STENCIL8,I.width,I.height):pe(I)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Se,n.DEPTH24_STENCIL8,I.width,I.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,I.width,I.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,N)}else{const Se=I.isWebGLMultipleRenderTargets===!0?I.texture:[I.texture];for(let _e=0;_e0){te.__webglFramebuffer[Ie]=[];for(let Ue=0;Ue0){te.__webglFramebuffer=[];for(let Ie=0;Ie0&&pe(N)===!1){const Ie=xe?I:[I];te.__webglMultisampledFramebuffer=n.createFramebuffer(),te.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,te.__webglMultisampledFramebuffer);for(let Ue=0;Ue0)for(let Ue=0;Ue0)for(let Ue=0;Ue0&&pe(N)===!1){const I=N.isWebGLMultipleRenderTargets?N.texture:[N.texture],te=N.width,Se=N.height;let _e=n.COLOR_BUFFER_BIT;const xe=[],qe=N.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ie=i.get(N),Ue=N.isWebGLMultipleRenderTargets===!0;if(Ue)for(let it=0;it0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&I.__useRenderToTexture!==!1}function We(N){const I=o.render.frame;h.get(N)!==I&&(h.set(N,I),N.update())}function Ne(N,I){const te=N.colorSpace,Se=N.format,_e=N.type;return N.isCompressedTexture===!0||N.isVideoTexture===!0||N.format===eg||te!==hs&&te!==Ki&&(kt.getTransfer(te)===Gt?a===!1?e.has("EXT_sRGB")===!0&&Se===Si?(N.format=eg,N.minFilter=wn,N.generateMipmaps=!1):I=O1.sRGBToLinear(I):(Se!==Si||_e!==us)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",te)),I}this.allocateTextureUnit=H,this.resetTextureUnits=le,this.setTexture2D=ee,this.setTexture2DArray=oe,this.setTexture3D=k,this.setTextureCube=j,this.rebindTextures=Te,this.setupRenderTarget=W,this.updateRenderTargetMipmap=ye,this.updateMultisampleRenderTarget=de,this.setupDepthRenderbuffer=Le,this.setupFrameBufferTexture=Pe,this.useMultisampledRTT=pe}function OI(n,e,t){const i=t.isWebGL2;function r(s,o=Ki){let a;const l=kt.getTransfer(o);if(s===us)return n.UNSIGNED_BYTE;if(s===T1)return n.UNSIGNED_SHORT_4_4_4_4;if(s===b1)return n.UNSIGNED_SHORT_5_5_5_1;if(s===nI)return n.BYTE;if(s===iI)return n.SHORT;if(s===Og)return n.UNSIGNED_SHORT;if(s===E1)return n.INT;if(s===Us)return n.UNSIGNED_INT;if(s===Ur)return n.FLOAT;if(s===Hc)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===rI)return n.ALPHA;if(s===Si)return n.RGBA;if(s===sI)return n.LUMINANCE;if(s===oI)return n.LUMINANCE_ALPHA;if(s===zo)return n.DEPTH_COMPONENT;if(s===el)return n.DEPTH_STENCIL;if(s===eg)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===aI)return n.RED;if(s===C1)return n.RED_INTEGER;if(s===lI)return n.RG;if(s===P1)return n.RG_INTEGER;if(s===R1)return n.RGBA_INTEGER;if(s===cm||s===um||s===fm||s===hm)if(l===Gt)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===cm)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===um)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===fm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===hm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===cm)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===um)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===fm)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===hm)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===d_||s===p_||s===m_||s===g_)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===d_)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===p_)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===m_)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===g_)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===L1)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===v_||s===y_)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===v_)return l===Gt?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===y_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===x_||s===__||s===S_||s===A_||s===M_||s===w_||s===E_||s===T_||s===b_||s===C_||s===P_||s===R_||s===L_||s===I_)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===x_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===__)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===S_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===A_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===M_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===w_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===E_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===T_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===b_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===C_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===P_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===R_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===L_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===I_)return l===Gt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===dm||s===D_||s===N_)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===dm)return l===Gt?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===D_)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===N_)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===cI||s===U_||s===O_||s===F_)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===dm)return a.COMPRESSED_RED_RGTC1_EXT;if(s===U_)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===O_)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===F_)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===Bo?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class FI extends nn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Ac extends Nt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const yj={type:"move"};class wy{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Ac,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Ac,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new U,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new U),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Ac,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new U,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new U),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,o=null;const a=this._targetRay,l=this._grip,f=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(f&&e.hand){o=!0;for(const A of e.hand.values()){const x=t.getJointPose(A,i),g=this._getHandJoint(f,A);x!==null&&(g.matrix.fromArray(x.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.matrixWorldNeedsUpdate=!0,g.jointRadius=x.radius),g.visible=x!==null}const h=f.joints["index-finger-tip"],d=f.joints["thumb-tip"],p=h.position.distanceTo(d.position),m=.02,y=.005;f.inputState.pinching&&p>m+y?(f.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!f.inputState.pinching&&p<=m-y&&(f.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(yj)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),f!==null&&(f.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new Ac;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}class xj extends ps{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,f=null,h=null,d=null,p=null,m=null,y=null;const A=t.getContextAttributes();let x=null,g=null;const _=[],S=[],E=new me;let P=null;const b=new nn;b.layers.enable(1),b.viewport=new Bt;const L=new nn;L.layers.enable(2),L.viewport=new Bt;const D=[b,L],C=new FI;C.layers.enable(1),C.layers.enable(2);let R=null,F=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function($){let fe=_[$];return fe===void 0&&(fe=new wy,_[$]=fe),fe.getTargetRaySpace()},this.getControllerGrip=function($){let fe=_[$];return fe===void 0&&(fe=new wy,_[$]=fe),fe.getGripSpace()},this.getHand=function($){let fe=_[$];return fe===void 0&&(fe=new wy,_[$]=fe),fe.getHandSpace()};function K($){const fe=S.indexOf($.inputSource);if(fe===-1)return;const ve=_[fe];ve!==void 0&&(ve.update($.inputSource,$.frame,f||o),ve.dispatchEvent({type:$.type,data:$.inputSource}))}function le(){r.removeEventListener("select",K),r.removeEventListener("selectstart",K),r.removeEventListener("selectend",K),r.removeEventListener("squeeze",K),r.removeEventListener("squeezestart",K),r.removeEventListener("squeezeend",K),r.removeEventListener("end",le),r.removeEventListener("inputsourceschange",H);for(let $=0;$<_.length;$++){const fe=S[$];fe!==null&&(S[$]=null,_[$].disconnect(fe))}R=null,F=null,e.setRenderTarget(x),m=null,p=null,d=null,r=null,g=null,ie.stop(),i.isPresenting=!1,e.setPixelRatio(P),e.setSize(E.width,E.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function($){s=$,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function($){a=$,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return f||o},this.setReferenceSpace=function($){f=$},this.getBaseLayer=function(){return p!==null?p:m},this.getBinding=function(){return d},this.getFrame=function(){return y},this.getSession=function(){return r},this.setSession=async function($){if(r=$,r!==null){if(x=e.getRenderTarget(),r.addEventListener("select",K),r.addEventListener("selectstart",K),r.addEventListener("selectend",K),r.addEventListener("squeeze",K),r.addEventListener("squeezestart",K),r.addEventListener("squeezeend",K),r.addEventListener("end",le),r.addEventListener("inputsourceschange",H),A.xrCompatible!==!0&&await t.makeXRCompatible(),P=e.getPixelRatio(),e.getSize(E),r.renderState.layers===void 0||e.capabilities.isWebGL2===!1){const fe={antialias:r.renderState.layers===void 0?A.antialias:!0,alpha:!0,depth:A.depth,stencil:A.stencil,framebufferScaleFactor:s};m=new XRWebGLLayer(r,t,fe),r.updateRenderState({baseLayer:m}),e.setPixelRatio(1),e.setSize(m.framebufferWidth,m.framebufferHeight,!1),g=new Vr(m.framebufferWidth,m.framebufferHeight,{format:Si,type:us,colorSpace:e.outputColorSpace,stencilBuffer:A.stencil})}else{let fe=null,ve=null,be=null;A.depth&&(be=A.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,fe=A.stencil?el:zo,ve=A.stencil?Bo:Us);const Pe={colorFormat:t.RGBA8,depthFormat:be,scaleFactor:s};d=new XRWebGLBinding(r,t),p=d.createProjectionLayer(Pe),r.updateRenderState({layers:[p]}),e.setPixelRatio(1),e.setSize(p.textureWidth,p.textureHeight,!1),g=new Vr(p.textureWidth,p.textureHeight,{format:Si,type:us,depthTexture:new W1(p.textureWidth,p.textureHeight,ve,void 0,void 0,void 0,void 0,void 0,void 0,fe),stencilBuffer:A.stencil,colorSpace:e.outputColorSpace,samples:A.antialias?4:0});const Je=e.properties.get(g);Je.__ignoreDepthValues=p.ignoreDepthValues}g.isXRRenderTarget=!0,this.setFoveation(l),f=null,o=await r.requestReferenceSpace(a),ie.setContext(r),ie.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode};function H($){for(let fe=0;fe<$.removed.length;fe++){const ve=$.removed[fe],be=S.indexOf(ve);be>=0&&(S[be]=null,_[be].disconnect(ve))}for(let fe=0;fe<$.added.length;fe++){const ve=$.added[fe];let be=S.indexOf(ve);if(be===-1){for(let Je=0;Je<_.length;Je++)if(Je>=S.length){S.push(ve),be=Je;break}else if(S[Je]===null){S[Je]=ve,be=Je;break}if(be===-1)break}const Pe=_[be];Pe&&Pe.connect(ve)}}const q=new U,ee=new U;function oe($,fe,ve){q.setFromMatrixPosition(fe.matrixWorld),ee.setFromMatrixPosition(ve.matrixWorld);const be=q.distanceTo(ee),Pe=fe.projectionMatrix.elements,Je=ve.projectionMatrix.elements,nt=Pe[14]/(Pe[10]-1),Le=Pe[14]/(Pe[10]+1),Te=(Pe[9]+1)/Pe[5],W=(Pe[9]-1)/Pe[5],ye=(Pe[8]-1)/Pe[0],de=(Je[8]+1)/Je[0],we=nt*ye,pe=nt*de,We=be/(-ye+de),Ne=We*-ye;fe.matrixWorld.decompose($.position,$.quaternion,$.scale),$.translateX(Ne),$.translateZ(We),$.matrixWorld.compose($.position,$.quaternion,$.scale),$.matrixWorldInverse.copy($.matrixWorld).invert();const N=nt+We,I=Le+We,te=we-Ne,Se=pe+(be-Ne),_e=Te*Le/I*N,xe=W*Le/I*N;$.projectionMatrix.makePerspective(te,Se,_e,xe,N,I),$.projectionMatrixInverse.copy($.projectionMatrix).invert()}function k($,fe){fe===null?$.matrixWorld.copy($.matrix):$.matrixWorld.multiplyMatrices(fe.matrixWorld,$.matrix),$.matrixWorldInverse.copy($.matrixWorld).invert()}this.updateCamera=function($){if(r===null)return;C.near=L.near=b.near=$.near,C.far=L.far=b.far=$.far,(R!==C.near||F!==C.far)&&(r.updateRenderState({depthNear:C.near,depthFar:C.far}),R=C.near,F=C.far);const fe=$.parent,ve=C.cameras;k(C,fe);for(let be=0;be0&&(x.alphaTest.value=g.alphaTest);const _=e.get(g).envMap;if(_&&(x.envMap.value=_,x.flipEnvMap.value=_.isCubeTexture&&_.isRenderTargetTexture===!1?-1:1,x.reflectivity.value=g.reflectivity,x.ior.value=g.ior,x.refractionRatio.value=g.refractionRatio),g.lightMap){x.lightMap.value=g.lightMap;const S=n._useLegacyLights===!0?Math.PI:1;x.lightMapIntensity.value=g.lightMapIntensity*S,t(g.lightMap,x.lightMapTransform)}g.aoMap&&(x.aoMap.value=g.aoMap,x.aoMapIntensity.value=g.aoMapIntensity,t(g.aoMap,x.aoMapTransform))}function o(x,g){x.diffuse.value.copy(g.color),x.opacity.value=g.opacity,g.map&&(x.map.value=g.map,t(g.map,x.mapTransform))}function a(x,g){x.dashSize.value=g.dashSize,x.totalSize.value=g.dashSize+g.gapSize,x.scale.value=g.scale}function l(x,g,_,S){x.diffuse.value.copy(g.color),x.opacity.value=g.opacity,x.size.value=g.size*_,x.scale.value=S*.5,g.map&&(x.map.value=g.map,t(g.map,x.uvTransform)),g.alphaMap&&(x.alphaMap.value=g.alphaMap,t(g.alphaMap,x.alphaMapTransform)),g.alphaTest>0&&(x.alphaTest.value=g.alphaTest)}function f(x,g){x.diffuse.value.copy(g.color),x.opacity.value=g.opacity,x.rotation.value=g.rotation,g.map&&(x.map.value=g.map,t(g.map,x.mapTransform)),g.alphaMap&&(x.alphaMap.value=g.alphaMap,t(g.alphaMap,x.alphaMapTransform)),g.alphaTest>0&&(x.alphaTest.value=g.alphaTest)}function h(x,g){x.specular.value.copy(g.specular),x.shininess.value=Math.max(g.shininess,1e-4)}function d(x,g){g.gradientMap&&(x.gradientMap.value=g.gradientMap)}function p(x,g){x.metalness.value=g.metalness,g.metalnessMap&&(x.metalnessMap.value=g.metalnessMap,t(g.metalnessMap,x.metalnessMapTransform)),x.roughness.value=g.roughness,g.roughnessMap&&(x.roughnessMap.value=g.roughnessMap,t(g.roughnessMap,x.roughnessMapTransform)),e.get(g).envMap&&(x.envMapIntensity.value=g.envMapIntensity)}function m(x,g,_){x.ior.value=g.ior,g.sheen>0&&(x.sheenColor.value.copy(g.sheenColor).multiplyScalar(g.sheen),x.sheenRoughness.value=g.sheenRoughness,g.sheenColorMap&&(x.sheenColorMap.value=g.sheenColorMap,t(g.sheenColorMap,x.sheenColorMapTransform)),g.sheenRoughnessMap&&(x.sheenRoughnessMap.value=g.sheenRoughnessMap,t(g.sheenRoughnessMap,x.sheenRoughnessMapTransform))),g.clearcoat>0&&(x.clearcoat.value=g.clearcoat,x.clearcoatRoughness.value=g.clearcoatRoughness,g.clearcoatMap&&(x.clearcoatMap.value=g.clearcoatMap,t(g.clearcoatMap,x.clearcoatMapTransform)),g.clearcoatRoughnessMap&&(x.clearcoatRoughnessMap.value=g.clearcoatRoughnessMap,t(g.clearcoatRoughnessMap,x.clearcoatRoughnessMapTransform)),g.clearcoatNormalMap&&(x.clearcoatNormalMap.value=g.clearcoatNormalMap,t(g.clearcoatNormalMap,x.clearcoatNormalMapTransform),x.clearcoatNormalScale.value.copy(g.clearcoatNormalScale),g.side===Mi&&x.clearcoatNormalScale.value.negate())),g.iridescence>0&&(x.iridescence.value=g.iridescence,x.iridescenceIOR.value=g.iridescenceIOR,x.iridescenceThicknessMinimum.value=g.iridescenceThicknessRange[0],x.iridescenceThicknessMaximum.value=g.iridescenceThicknessRange[1],g.iridescenceMap&&(x.iridescenceMap.value=g.iridescenceMap,t(g.iridescenceMap,x.iridescenceMapTransform)),g.iridescenceThicknessMap&&(x.iridescenceThicknessMap.value=g.iridescenceThicknessMap,t(g.iridescenceThicknessMap,x.iridescenceThicknessMapTransform))),g.transmission>0&&(x.transmission.value=g.transmission,x.transmissionSamplerMap.value=_.texture,x.transmissionSamplerSize.value.set(_.width,_.height),g.transmissionMap&&(x.transmissionMap.value=g.transmissionMap,t(g.transmissionMap,x.transmissionMapTransform)),x.thickness.value=g.thickness,g.thicknessMap&&(x.thicknessMap.value=g.thicknessMap,t(g.thicknessMap,x.thicknessMapTransform)),x.attenuationDistance.value=g.attenuationDistance,x.attenuationColor.value.copy(g.attenuationColor)),g.anisotropy>0&&(x.anisotropyVector.value.set(g.anisotropy*Math.cos(g.anisotropyRotation),g.anisotropy*Math.sin(g.anisotropyRotation)),g.anisotropyMap&&(x.anisotropyMap.value=g.anisotropyMap,t(g.anisotropyMap,x.anisotropyMapTransform))),x.specularIntensity.value=g.specularIntensity,x.specularColor.value.copy(g.specularColor),g.specularColorMap&&(x.specularColorMap.value=g.specularColorMap,t(g.specularColorMap,x.specularColorMapTransform)),g.specularIntensityMap&&(x.specularIntensityMap.value=g.specularIntensityMap,t(g.specularIntensityMap,x.specularIntensityMapTransform))}function y(x,g){g.matcap&&(x.matcap.value=g.matcap)}function A(x,g){const _=e.get(g).light;x.referencePosition.value.setFromMatrixPosition(_.matrixWorld),x.nearDistance.value=_.shadow.camera.near,x.farDistance.value=_.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function Sj(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(_,S){const E=S.program;i.uniformBlockBinding(_,E)}function f(_,S){let E=r[_.id];E===void 0&&(y(_),E=h(_),r[_.id]=E,_.addEventListener("dispose",x));const P=S.program;i.updateUBOMapping(_,P);const b=e.render.frame;s[_.id]!==b&&(p(_),s[_.id]=b)}function h(_){const S=d();_.__bindingPointIndex=S;const E=n.createBuffer(),P=_.__size,b=_.usage;return n.bindBuffer(n.UNIFORM_BUFFER,E),n.bufferData(n.UNIFORM_BUFFER,P,b),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,S,E),E}function d(){for(let _=0;_0&&(E+=P-b),_.__size=E,_.__cache={},this}function A(_){const S={boundary:0,storage:0};return typeof _=="number"||typeof _=="boolean"?(S.boundary=4,S.storage=4):_.isVector2?(S.boundary=8,S.storage=8):_.isVector3||_.isColor?(S.boundary=16,S.storage=12):_.isVector4?(S.boundary=16,S.storage=16):_.isMatrix3?(S.boundary=48,S.storage=48):_.isMatrix4?(S.boundary=64,S.storage=64):_.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",_),S}function x(_){const S=_.target;S.removeEventListener("dispose",x);const E=o.indexOf(S.__bindingPointIndex);o.splice(E,1),n.deleteBuffer(r[S.id]),delete r[S.id],delete s[S.id]}function g(){for(const _ in r)n.deleteBuffer(r[_]);o=[],r={},s={}}return{bind:l,update:f,dispose:g}}class X1{constructor(e={}){const{canvas:t=EI(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:f=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let p;i!==null?p=i.getContextAttributes().alpha:p=o;const m=new Uint32Array(4),y=new Int32Array(4);let A=null,x=null;const g=[],_=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Nn,this._useLegacyLights=!1,this.toneMapping=cs,this.toneMappingExposure=1;const S=this;let E=!1,P=0,b=0,L=null,D=-1,C=null;const R=new Bt,F=new Bt;let K=null;const le=new He(0);let H=0,q=t.width,ee=t.height,oe=1,k=null,j=null;const Y=new Bt(0,0,q,ee),J=new Bt(0,0,q,ee);let ie=!1;const $=new bh;let fe=!1,ve=!1,be=null;const Pe=new ut,Je=new me,nt=new U,Le={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Te(){return L===null?oe:1}let W=i;function ye(O,ne){for(let ae=0;ae{function Ve(){if(ce.forEach(function($e){Ne.get($e).currentProgram.isReady()&&ce.delete($e)}),ce.size===0){se(O);return}setTimeout(Ve,10)}de.get("KHR_parallel_shader_compile")!==null?Ve():setTimeout(Ve,10)})};let Rt=null;function Ht(O){Rt&&Rt(O)}function Qt(){Xn.stop()}function Lt(){Xn.start()}const Xn=new RI;Xn.setAnimationLoop(Ht),typeof self<"u"&&Xn.setContext(self),this.setAnimationLoop=function(O){Rt=O,ke.setAnimationLoop(O),O===null?Xn.stop():Xn.start()},ke.addEventListener("sessionstart",Qt),ke.addEventListener("sessionend",Lt),this.render=function(O,ne){if(ne!==void 0&&ne.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(E===!0)return;O.matrixWorldAutoUpdate===!0&&O.updateMatrixWorld(),ne.parent===null&&ne.matrixWorldAutoUpdate===!0&&ne.updateMatrixWorld(),ke.enabled===!0&&ke.isPresenting===!0&&(ke.cameraAutoUpdate===!0&&ke.updateCamera(ne),ne=ke.getCamera()),O.isScene===!0&&O.onBeforeRender(S,O,ne,L),x=it.get(O,_.length),x.init(),_.push(x),Pe.multiplyMatrices(ne.projectionMatrix,ne.matrixWorldInverse),$.setFromProjectionMatrix(Pe),ve=this.localClippingEnabled,fe=pt.init(this.clippingPlanes,ve),A=Ue.get(O,g.length),A.init(),g.push(A),rr(O,ne,0,S.sortObjects),A.finish(),S.sortObjects===!0&&A.sort(k,j),this.info.render.frame++,fe===!0&&pt.beginShadows();const ae=x.state.shadowsArray;if(Ae.render(ae,O,ne),fe===!0&&pt.endShadows(),this.info.autoReset===!0&&this.info.reset(),Ct.render(A,O),x.setupLights(S._useLegacyLights),ne.isArrayCamera){const ce=ne.cameras;for(let se=0,Ve=ce.length;se0?x=_[_.length-1]:x=null,g.pop(),g.length>0?A=g[g.length-1]:A=null};function rr(O,ne,ae,ce){if(O.visible===!1)return;if(O.layers.test(ne.layers)){if(O.isGroup)ae=O.renderOrder;else if(O.isLOD)O.autoUpdate===!0&&O.update(ne);else if(O.isLight)x.pushLight(O),O.castShadow&&x.pushShadow(O);else if(O.isSprite){if(!O.frustumCulled||$.intersectsSprite(O)){ce&&nt.setFromMatrixPosition(O.matrixWorld).applyMatrix4(Pe);const $e=xe.update(O),ot=O.material;ot.visible&&A.push(O,$e,ot,ae,nt.z,null)}}else if((O.isMesh||O.isLine||O.isPoints)&&(!O.frustumCulled||$.intersectsObject(O))){const $e=xe.update(O),ot=O.material;if(ce&&(O.boundingSphere!==void 0?(O.boundingSphere===null&&O.computeBoundingSphere(),nt.copy(O.boundingSphere.center)):($e.boundingSphere===null&&$e.computeBoundingSphere(),nt.copy($e.boundingSphere.center)),nt.applyMatrix4(O.matrixWorld).applyMatrix4(Pe)),Array.isArray(ot)){const at=$e.groups;for(let mt=0,dt=at.length;mt0&&iu(se,Ve,ne,ae),ce&&pe.viewport(R.copy(ce)),se.length>0&&gl(se,ne,ae),Ve.length>0&&gl(Ve,ne,ae),$e.length>0&&gl($e,ne,ae),pe.buffers.depth.setTest(!0),pe.buffers.depth.setMask(!0),pe.buffers.color.setMask(!0),pe.setPolygonOffset(!1)}function iu(O,ne,ae,ce){if((ae.isScene===!0?ae.overrideMaterial:null)!==null)return;const Ve=we.isWebGL2;be===null&&(be=new Vr(1,1,{generateMipmaps:!0,type:de.has("EXT_color_buffer_half_float")?Hc:us,minFilter:Yo,samples:Ve?4:0})),S.getDrawingBufferSize(Je),Ve?be.setSize(Je.x,Je.y):be.setSize(tg(Je.x),tg(Je.y));const $e=S.getRenderTarget();S.setRenderTarget(be),S.getClearColor(le),H=S.getClearAlpha(),H<1&&S.setClearColor(16777215,.5),S.clear();const ot=S.toneMapping;S.toneMapping=cs,gl(O,ae,ce),N.updateMultisampleRenderTarget(be),N.updateRenderTargetMipmap(be);let at=!1;for(let mt=0,dt=ne.length;mt0),gt=!!ae.morphAttributes.position,rn=!!ae.morphAttributes.normal,Yn=!!ae.morphAttributes.color;let Yt=cs;ce.toneMapped&&(L===null||L.isXRRenderTarget===!0)&&(Yt=S.toneMapping);const kn=ae.morphAttributes.position||ae.morphAttributes.normal||ae.morphAttributes.color,lt=kn!==void 0?kn.length:0,Xe=Ne.get(ce),sr=x.state.lights;if(fe===!0&&(ve===!0||O!==C)){const qn=O===C&&ce.id===D;pt.setState(ce,O,qn)}let Et=!1;ce.version===Xe.__version?(Xe.needsLights&&Xe.lightsStateVersion!==sr.state.version||Xe.outputColorSpace!==ot||se.isBatchedMesh&&Xe.batching===!1||!se.isBatchedMesh&&Xe.batching===!0||se.isInstancedMesh&&Xe.instancing===!1||!se.isInstancedMesh&&Xe.instancing===!0||se.isSkinnedMesh&&Xe.skinning===!1||!se.isSkinnedMesh&&Xe.skinning===!0||se.isInstancedMesh&&Xe.instancingColor===!0&&se.instanceColor===null||se.isInstancedMesh&&Xe.instancingColor===!1&&se.instanceColor!==null||Xe.envMap!==at||ce.fog===!0&&Xe.fog!==Ve||Xe.numClippingPlanes!==void 0&&(Xe.numClippingPlanes!==pt.numPlanes||Xe.numIntersection!==pt.numIntersection)||Xe.vertexAlphas!==mt||Xe.vertexTangents!==dt||Xe.morphTargets!==gt||Xe.morphNormals!==rn||Xe.morphColors!==Yn||Xe.toneMapping!==Yt||we.isWebGL2===!0&&Xe.morphTargetsCount!==lt)&&(Et=!0):(Et=!0,Xe.__version=ce.version);let hn=Xe.currentProgram;Et===!0&&(hn=vl(ce,ne,se));let Gr=!1,or=!1,Bn=!1;const xn=hn.getUniforms(),jr=Xe.uniforms;if(pe.useProgram(hn.program)&&(Gr=!0,or=!0,Bn=!0),ce.id!==D&&(D=ce.id,or=!0),Gr||C!==O){xn.setValue(W,"projectionMatrix",O.projectionMatrix),xn.setValue(W,"viewMatrix",O.matrixWorldInverse);const qn=xn.map.cameraPosition;qn!==void 0&&qn.setValue(W,nt.setFromMatrixPosition(O.matrixWorld)),we.logarithmicDepthBuffer&&xn.setValue(W,"logDepthBufFC",2/(Math.log(O.far+1)/Math.LN2)),(ce.isMeshPhongMaterial||ce.isMeshToonMaterial||ce.isMeshLambertMaterial||ce.isMeshBasicMaterial||ce.isMeshStandardMaterial||ce.isShaderMaterial)&&xn.setValue(W,"isOrthographic",O.isOrthographicCamera===!0),C!==O&&(C=O,or=!0,Bn=!0)}if(se.isSkinnedMesh){xn.setOptional(W,se,"bindMatrix"),xn.setOptional(W,se,"bindMatrixInverse");const qn=se.skeleton;qn&&(we.floatVertexTextures?(qn.boneTexture===null&&qn.computeBoneTexture(),xn.setValue(W,"boneTexture",qn.boneTexture,N)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}se.isBatchedMesh&&(xn.setOptional(W,se,"batchingTexture"),xn.setValue(W,"batchingTexture",se._matricesTexture,N));const yl=ae.morphAttributes;if((yl.position!==void 0||yl.normal!==void 0||yl.color!==void 0&&we.isWebGL2===!0)&&_t.update(se,ae,hn),(or||Xe.receiveShadow!==se.receiveShadow)&&(Xe.receiveShadow=se.receiveShadow,xn.setValue(W,"receiveShadow",se.receiveShadow)),ce.isMeshGouraudMaterial&&ce.envMap!==null&&(jr.envMap.value=at,jr.flipEnvMap.value=at.isCubeTexture&&at.isRenderTargetTexture===!1?-1:1),or&&(xn.setValue(W,"toneMappingExposure",S.toneMappingExposure),Xe.needsLights&&c0(jr,Bn),Ve&&ce.fog===!0&&Ie.refreshFogUniforms(jr,Ve),Ie.refreshMaterialUniforms(jr,ce,oe,ee,be),mm.upload(W,Oh(Xe),jr,N)),ce.isShaderMaterial&&ce.uniformsNeedUpdate===!0&&(mm.upload(W,Oh(Xe),jr,N),ce.uniformsNeedUpdate=!1),ce.isSpriteMaterial&&xn.setValue(W,"center",se.center),xn.setValue(W,"modelViewMatrix",se.modelViewMatrix),xn.setValue(W,"normalMatrix",se.normalMatrix),xn.setValue(W,"modelMatrix",se.matrixWorld),ce.isShaderMaterial||ce.isRawShaderMaterial){const qn=ce.uniformsGroups;for(let xl=0,Vi=qn.length;xl0&&N.useMultisampledRTT(O)===!1?se=Ne.get(O).__webglMultisampledFramebuffer:Array.isArray(dt)?se=dt[ae]:se=dt,R.copy(O.viewport),F.copy(O.scissor),K=O.scissorTest}else R.copy(Y).multiplyScalar(oe).floor(),F.copy(J).multiplyScalar(oe).floor(),K=ie;if(pe.bindFramebuffer(W.FRAMEBUFFER,se)&&we.drawBuffers&&ce&&pe.drawBuffers(O,se),pe.viewport(R),pe.scissor(F),pe.setScissorTest(K),Ve){const at=Ne.get(O.texture);W.framebufferTexture2D(W.FRAMEBUFFER,W.COLOR_ATTACHMENT0,W.TEXTURE_CUBE_MAP_POSITIVE_X+ne,at.__webglTexture,ae)}else if($e){const at=Ne.get(O.texture),mt=ne||0;W.framebufferTextureLayer(W.FRAMEBUFFER,W.COLOR_ATTACHMENT0,at.__webglTexture,ae||0,mt)}D=-1},this.readRenderTargetPixels=function(O,ne,ae,ce,se,Ve,$e){if(!(O&&O.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let ot=Ne.get(O).__webglFramebuffer;if(O.isWebGLCubeRenderTarget&&$e!==void 0&&(ot=ot[$e]),ot){pe.bindFramebuffer(W.FRAMEBUFFER,ot);try{const at=O.texture,mt=at.format,dt=at.type;if(mt!==Si&&Ge.convert(mt)!==W.getParameter(W.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const gt=dt===Hc&&(de.has("EXT_color_buffer_half_float")||we.isWebGL2&&de.has("EXT_color_buffer_float"));if(dt!==us&&Ge.convert(dt)!==W.getParameter(W.IMPLEMENTATION_COLOR_READ_TYPE)&&!(dt===Ur&&(we.isWebGL2||de.has("OES_texture_float")||de.has("WEBGL_color_buffer_float")))&&!gt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ne>=0&&ne<=O.width-ce&&ae>=0&&ae<=O.height-se&&W.readPixels(ne,ae,ce,se,Ge.convert(mt),Ge.convert(dt),Ve)}finally{const at=L!==null?Ne.get(L).__webglFramebuffer:null;pe.bindFramebuffer(W.FRAMEBUFFER,at)}}},this.copyFramebufferToTexture=function(O,ne,ae=0){const ce=Math.pow(2,-ae),se=Math.floor(ne.image.width*ce),Ve=Math.floor(ne.image.height*ce);N.setTexture2D(ne,0),W.copyTexSubImage2D(W.TEXTURE_2D,ae,0,0,O.x,O.y,se,Ve),pe.unbindTexture()},this.copyTextureToTexture=function(O,ne,ae,ce=0){const se=ne.image.width,Ve=ne.image.height,$e=Ge.convert(ae.format),ot=Ge.convert(ae.type);N.setTexture2D(ae,0),W.pixelStorei(W.UNPACK_FLIP_Y_WEBGL,ae.flipY),W.pixelStorei(W.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ae.premultiplyAlpha),W.pixelStorei(W.UNPACK_ALIGNMENT,ae.unpackAlignment),ne.isDataTexture?W.texSubImage2D(W.TEXTURE_2D,ce,O.x,O.y,se,Ve,$e,ot,ne.image.data):ne.isCompressedTexture?W.compressedTexSubImage2D(W.TEXTURE_2D,ce,O.x,O.y,ne.mipmaps[0].width,ne.mipmaps[0].height,$e,ne.mipmaps[0].data):W.texSubImage2D(W.TEXTURE_2D,ce,O.x,O.y,$e,ot,ne.image),ce===0&&ae.generateMipmaps&&W.generateMipmap(W.TEXTURE_2D),pe.unbindTexture()},this.copyTextureToTexture3D=function(O,ne,ae,ce,se=0){if(S.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Ve=O.max.x-O.min.x+1,$e=O.max.y-O.min.y+1,ot=O.max.z-O.min.z+1,at=Ge.convert(ce.format),mt=Ge.convert(ce.type);let dt;if(ce.isData3DTexture)N.setTexture3D(ce,0),dt=W.TEXTURE_3D;else if(ce.isDataArrayTexture||ce.isCompressedArrayTexture)N.setTexture2DArray(ce,0),dt=W.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}W.pixelStorei(W.UNPACK_FLIP_Y_WEBGL,ce.flipY),W.pixelStorei(W.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ce.premultiplyAlpha),W.pixelStorei(W.UNPACK_ALIGNMENT,ce.unpackAlignment);const gt=W.getParameter(W.UNPACK_ROW_LENGTH),rn=W.getParameter(W.UNPACK_IMAGE_HEIGHT),Yn=W.getParameter(W.UNPACK_SKIP_PIXELS),Yt=W.getParameter(W.UNPACK_SKIP_ROWS),kn=W.getParameter(W.UNPACK_SKIP_IMAGES),lt=ae.isCompressedTexture?ae.mipmaps[se]:ae.image;W.pixelStorei(W.UNPACK_ROW_LENGTH,lt.width),W.pixelStorei(W.UNPACK_IMAGE_HEIGHT,lt.height),W.pixelStorei(W.UNPACK_SKIP_PIXELS,O.min.x),W.pixelStorei(W.UNPACK_SKIP_ROWS,O.min.y),W.pixelStorei(W.UNPACK_SKIP_IMAGES,O.min.z),ae.isDataTexture||ae.isData3DTexture?W.texSubImage3D(dt,se,ne.x,ne.y,ne.z,Ve,$e,ot,at,mt,lt.data):ae.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),W.compressedTexSubImage3D(dt,se,ne.x,ne.y,ne.z,Ve,$e,ot,at,lt.data)):W.texSubImage3D(dt,se,ne.x,ne.y,ne.z,Ve,$e,ot,at,mt,lt),W.pixelStorei(W.UNPACK_ROW_LENGTH,gt),W.pixelStorei(W.UNPACK_IMAGE_HEIGHT,rn),W.pixelStorei(W.UNPACK_SKIP_PIXELS,Yn),W.pixelStorei(W.UNPACK_SKIP_ROWS,Yt),W.pixelStorei(W.UNPACK_SKIP_IMAGES,kn),se===0&&ce.generateMipmaps&&W.generateMipmap(dt),pe.unbindTexture()},this.initTexture=function(O){O.isCubeTexture?N.setTextureCube(O,0):O.isData3DTexture?N.setTexture3D(O,0):O.isDataArrayTexture||O.isCompressedArrayTexture?N.setTexture2DArray(O,0):N.setTexture2D(O,0),pe.unbindTexture()},this.resetState=function(){P=0,b=0,L=null,pe.reset(),X.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Or}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===kg?"display-p3":"srgb",t.unpackColorSpace=kt.workingColorSpace===wh?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Nn?Vo:D1}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Vo?Nn:hs}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class kI extends X1{}kI.prototype.isWebGL1Renderer=!0;class Vg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new He(e),this.density=t}clone(){return new Vg(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Hg{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new He(e),this.near=t,this.far=i}clone(){return new Hg(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class ng extends Nt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t}}class Wg{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=th,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=$i()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return console.warn("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,s=this.stride;re.far||t.push({distance:l,point:Bu.clone(),uv:Di.getInterpolation(Bu,Ap,Vu,Mp,lb,Ey,cb,new me),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function wp(n,e,t,i,r,s){Jl.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(zu.x=s*Jl.x-r*Jl.y,zu.y=r*Jl.x+s*Jl.y):zu.copy(Jl),n.copy(e),n.x+=zu.x,n.y+=zu.y,n.applyMatrix4(BI)}const Ep=new U,ub=new U;class VI extends Nt{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let i=0,r=t.length;i0){let i,r;for(i=1,r=t.length;i0){Ep.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Ep);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Ep.setFromMatrixPosition(e.matrixWorld),ub.setFromMatrixPosition(this.matrixWorld);const i=Ep.distanceTo(ub)/e.zoom;t[0].object.visible=!0;let r,s;for(r=1,s=t.length;r=o)t[r-1].object.visible=!1,t[r].object.visible=!0;else break}for(this._currentLevel=r-1;r=i.length&&i.push({start:-1,count:-1,z:-1});const s=i[this.index];r.push(s),this.index++,s.start=e.start,s.count=e.count,s.z=t}reset(){this.list.length=0,this.index=0}}const $l="batchId",go=new ut,xb=new ut,Cj=new ut,_b=new ut,Cy=new bh,Cp=new wi,ya=new di,Gu=new U,Py=new bj,li=new Rn,Pp=[];function Pj(n,e,t=0){const i=e.itemSize;if(n.isInterleavedBufferAttribute||n.array.constructor!==e.array.constructor){const r=n.count;for(let s=0;s65536?new Uint32Array(s):new Uint16Array(s);t.setIndex(new Vt(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute($l,new Vt(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute($l))throw new Error(`BatchedMesh: Geometry cannot use attribute "${$l}"`);const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const i in t.attributes){if(i===$l)continue;if(!e.hasAttribute(i))throw new Error(`BatchedMesh: Added geometry missing "${i}". All geometries must have consistent attributes.`);const r=e.getAttribute(i),s=t.getAttribute(i);if(r.itemSize!==s.itemSize||r.normalized!==s.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new wi);const e=this._geometryCount,t=this.boundingBox,i=this._active;t.makeEmpty();for(let r=0;r=this._maxGeometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");const r={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let s=null;const o=this._reservedRanges,a=this._drawRanges,l=this._bounds;this._geometryCount!==0&&(s=o[o.length-1]),t===-1?r.vertexCount=e.getAttribute("position").count:r.vertexCount=t,s===null?r.vertexStart=0:r.vertexStart=s.vertexStart+s.vertexCount;const f=e.getIndex(),h=f!==null;if(h&&(i===-1?r.indexCount=f.count:r.indexCount=i,s===null?r.indexStart=0:r.indexStart=s.indexStart+s.indexCount),r.indexStart!==-1&&r.indexStart+r.indexCount>this._maxIndexCount||r.vertexStart+r.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const d=this._visibility,p=this._active,m=this._matricesTexture,y=this._matricesTexture.image.data;d.push(!0),p.push(!0);const A=this._geometryCount;this._geometryCount++,Cj.toArray(y,A*16),m.needsUpdate=!0,o.push(r),a.push({start:h?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new wi,sphereInitialized:!1,sphere:new di});const x=this.geometry.getAttribute($l);for(let g=0;g=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const i=this.geometry,r=i.getIndex()!==null,s=i.getIndex(),o=t.getIndex(),a=this._reservedRanges[e];if(r&&o.count>a.indexCount||t.attributes.position.count>a.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const l=a.vertexStart,f=a.vertexCount;for(const m in i.attributes){if(m===$l)continue;const y=t.getAttribute(m),A=i.getAttribute(m);Pj(y,A,l);const x=y.itemSize;for(let g=y.count,_=f;g<_;g++){const S=l+g;for(let E=0;E=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return this;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,f=this._drawRanges[e];for(let h=f.start,d=f.start+f.count;h=o||i[e]===!1?this:(t.toArray(s,e*16),r.needsUpdate=!0,this)}getMatrixAt(e,t){const i=this._active,r=this._matricesTexture.image.data,s=this._geometryCount;return e>=s||i[e]===!1?null:t.fromArray(r,e*16)}setVisibleAt(e,t){const i=this._visibility,r=this._active,s=this._geometryCount;return e>=s||r[e]===!1||i[e]===t?this:(i[e]=t,this._visibilityChanged=!0,this)}getVisibleAt(e){const t=this._visibility,i=this._active,r=this._geometryCount;return e>=r||i[e]===!1?!1:t[e]}raycast(e,t){const i=this._visibility,r=this._active,s=this._drawRanges,o=this._geometryCount,a=this.matrixWorld,l=this.geometry;li.material=this.material,li.geometry.index=l.index,li.geometry.attributes=l.attributes,li.geometry.boundingBox===null&&(li.geometry.boundingBox=new wi),li.geometry.boundingSphere===null&&(li.geometry.boundingSphere=new di);for(let f=0;f({...t})),this._reservedRanges=e._reservedRanges.map(t=>({...t})),this._visibility=e._visibility.slice(),this._active=e._active.slice(),this._bounds=e._bounds.map(t=>({boxInitialized:t.boxInitialized,box:t.box.clone(),sphereInitialized:t.sphereInitialized,sphere:t.sphere.clone()})),this._maxGeometryCount=e._maxGeometryCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._geometryCount=e._geometryCount,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.slice(),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this}onBeforeRender(e,t,i,r,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=r.getIndex(),a=o===null?1:o.array.BYTES_PER_ELEMENT,l=this._visibility,f=this._multiDrawStarts,h=this._multiDrawCounts,d=this._drawRanges,p=this.perObjectFrustumCulled;p&&(_b.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),Cy.setFromProjectionMatrix(_b,e.isWebGPURenderer?Wc:Or));let m=0;if(this.sortObjects){xb.copy(this.matrixWorld).invert(),Gu.setFromMatrixPosition(i.matrixWorld).applyMatrix4(xb);for(let x=0,g=l.length;xl)continue;p.applyMatrix4(this.matrixWorld);const D=e.ray.origin.distanceTo(p);De.far||t.push({distance:D,point:d.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}else{const g=Math.max(0,o.start),_=Math.min(x.count,o.start+o.count);for(let S=g,E=_-1;Sl)continue;p.applyMatrix4(this.matrixWorld);const b=e.ray.origin.distanceTo(p);be.far||t.push({distance:b,point:d.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:f,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class Rj extends yn{constructor(e,t,i,r,s,o,a,l,f){super(e,t,i,r,s,o,a,l,f),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:wn,this.magFilter=s!==void 0?s:wn,this.generateMipmaps=!1;const h=this;function d(){h.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Lj extends yn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=An,this.minFilter=An,this.generateMipmaps=!1,this.needsUpdate=!0}}class jg extends yn{constructor(e,t,i,r,s,o,a,l,f,h,d,p){super(null,o,a,l,f,h,r,s,d,p),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class Ij extends jg{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=fi}}class Dj extends jg{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,Ys),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class Nj extends yn{constructor(e,t,i,r,s,o,a,l,f){super(e,t,i,r,s,o,a,l,f),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Hr{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPointAt(i/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let i,r=this.getPoint(0),s=0;t.push(0);for(let o=1;o<=e;o++)i=this.getPoint(o/e),s+=i.distanceTo(r),t.push(s),r=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const i=this.getLengths();let r=0;const s=i.length;let o;t?o=t:o=e*i[s-1];let a=0,l=s-1,f;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),f=i[r]-o,f<0)a=r+1;else if(f>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const h=i[r],p=i[r+1]-h,m=(o-h)/p;return(r+m)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),l=t||(o.isVector2?new me:new U);return l.copy(a).sub(o).normalize(),l}getTangentAt(e,t){const i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t){const i=new U,r=[],s=[],o=[],a=new U,l=new ut;for(let m=0;m<=e;m++){const y=m/e;r[m]=this.getTangentAt(y,new U)}s[0]=new U,o[0]=new U;let f=Number.MAX_VALUE;const h=Math.abs(r[0].x),d=Math.abs(r[0].y),p=Math.abs(r[0].z);h<=f&&(f=h,i.set(1,0,0)),d<=f&&(f=d,i.set(0,1,0)),p<=f&&i.set(0,0,1),a.crossVectors(r[0],i).normalize(),s[0].crossVectors(r[0],a),o[0].crossVectors(r[0],s[0]);for(let m=1;m<=e;m++){if(s[m]=s[m-1].clone(),o[m]=o[m-1].clone(),a.crossVectors(r[m-1],r[m]),a.length()>Number.EPSILON){a.normalize();const y=Math.acos(gn(r[m-1].dot(r[m]),-1,1));s[m].applyMatrix4(l.makeRotationAxis(a,y))}o[m].crossVectors(r[m],s[m])}if(t===!0){let m=Math.acos(gn(s[0].dot(s[e]),-1,1));m/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(m=-m);for(let y=1;y<=e;y++)s[y].applyMatrix4(l.makeRotationAxis(r[y],m*y)),o[y].crossVectors(r[y],s[y])}return{tangents:r,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Xg extends Hr{constructor(e=0,t=0,i=1,r=1,s=0,o=Math.PI*2,a=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=a,this.aRotation=l}getPoint(e,t){const i=t||new me,r=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(a)/s)+1)*s:l===0&&a===s-1&&(a=s-2,l=1);let f,h;this.closed||a>0?f=r[(a-1)%s]:(Dp.subVectors(r[0],r[1]).add(r[0]),f=Dp);const d=r[a%s],p=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],d=r[o>r.length-3?r.length-1:o+2];return i.set(Cb(a,l.x,f.x,h.x,d.x),Cb(a,l.y,f.y,h.y,d.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t=i){const o=r[s]-i,a=this.curves[s],l=a.getLength(),f=l===0?0:1-o/l;return a.getPointAt(f,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t0){const d=f.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(f);const h=f.getPoint(1);return this.currentPoint.copy(h),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class Ph extends xt{constructor(e=[new me(0,-.5),new me(.5,0),new me(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=gn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],f=[],h=1/t,d=new U,p=new me,m=new U,y=new U,A=new U;let x=0,g=0;for(let _=0;_<=e.length-1;_++)switch(_){case 0:x=e[_+1].x-e[_].x,g=e[_+1].y-e[_].y,m.x=g*1,m.y=-x,m.z=g*0,A.copy(m),m.normalize(),l.push(m.x,m.y,m.z);break;case e.length-1:l.push(A.x,A.y,A.z);break;default:x=e[_+1].x-e[_].x,g=e[_+1].y-e[_].y,m.x=g*1,m.y=-x,m.z=g*0,y.copy(m),m.x+=A.x,m.y+=A.y,m.z+=A.z,m.normalize(),l.push(m.x,m.y,m.z),A.copy(y)}for(let _=0;_<=t;_++){const S=i+_*h*r,E=Math.sin(S),P=Math.cos(S);for(let b=0;b<=e.length-1;b++){d.x=e[b].x*E,d.y=e[b].y,d.z=e[b].x*P,o.push(d.x,d.y,d.z),p.x=_/t,p.y=b/(e.length-1),a.push(p.x,p.y);const L=l[3*b+0]*E,D=l[3*b+1],C=l[3*b+0]*P;f.push(L,D,C)}}for(let _=0;_0&&S(!0),t>0&&S(!1)),this.setIndex(h),this.setAttribute("position",new Ze(d,3)),this.setAttribute("normal",new Ze(p,3)),this.setAttribute("uv",new Ze(m,2));function _(){const E=new U,P=new U;let b=0;const L=(t-e)/i;for(let D=0;D<=s;D++){const C=[],R=D/s,F=R*(t-e)+e;for(let K=0;K<=r;K++){const le=K/r,H=le*l+a,q=Math.sin(H),ee=Math.cos(H);P.x=F*q,P.y=-R*i+x,P.z=F*ee,d.push(P.x,P.y,P.z),E.set(q,L,ee).normalize(),p.push(E.x,E.y,E.z),m.push(le,1-R),C.push(y++)}A.push(C)}for(let D=0;D.9&&L<.1&&(S<.2&&(o[_+0]+=1),E<.2&&(o[_+2]+=1),P<.2&&(o[_+4]+=1))}}function p(_){s.push(_.x,_.y,_.z)}function m(_,S){const E=_*3;S.x=e[E+0],S.y=e[E+1],S.z=e[E+2]}function y(){const _=new U,S=new U,E=new U,P=new U,b=new me,L=new me,D=new me;for(let C=0,R=0;C80*t){a=f=n[0],l=h=n[1];for(let y=t;yf&&(f=d),p>h&&(h=p);m=Math.max(f-a,h-l),m=m!==0?32767/m:0}return rh(s,o,t,a,l,m,0),o}};function $I(n,e,t,i,r){let s,o;if(r===r9(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Pb(s,n[s],n[s+1],o);return o&&Jg(o,o.next)&&(oh(o),o=o.next),o}function nl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(Jg(t,t.next)||ln(t.prev,t,t.next)===0)){if(oh(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function rh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&Qj(n,i,r,s);let a=n,l,f;for(;n.prev!==n.next;){if(l=n.prev,f=n.next,s?Gj(n,i,r,s):Wj(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(f.i/t|0),oh(n),n=f.next,a=f.next;continue}if(n=f,n===a){o?o===1?(n=jj(nl(n),e,t),rh(n,e,t,i,r,s,2)):o===2&&Xj(n,e,t,i,r,s):rh(nl(n),e,t,i,r,s,1);break}}}function Wj(n){const e=n.prev,t=n,i=n.next;if(ln(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,f=i.y,h=rs?r>o?r:o:s>o?s:o,m=a>l?a>f?a:f:l>f?l:f;let y=i.next;for(;y!==e;){if(y.x>=h&&y.x<=p&&y.y>=d&&y.y<=m&&Mc(r,a,s,l,o,f,y.x,y.y)&&ln(y.prev,y,y.next)>=0)return!1;y=y.next}return!0}function Gj(n,e,t,i){const r=n.prev,s=n,o=n.next;if(ln(r,s,o)>=0)return!1;const a=r.x,l=s.x,f=o.x,h=r.y,d=s.y,p=o.y,m=al?a>f?a:f:l>f?l:f,x=h>d?h>p?h:p:d>p?d:p,g=G_(m,y,e,t,i),_=G_(A,x,e,t,i);let S=n.prevZ,E=n.nextZ;for(;S&&S.z>=g&&E&&E.z<=_;){if(S.x>=m&&S.x<=A&&S.y>=y&&S.y<=x&&S!==r&&S!==o&&Mc(a,h,l,d,f,p,S.x,S.y)&&ln(S.prev,S,S.next)>=0||(S=S.prevZ,E.x>=m&&E.x<=A&&E.y>=y&&E.y<=x&&E!==r&&E!==o&&Mc(a,h,l,d,f,p,E.x,E.y)&&ln(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;S&&S.z>=g;){if(S.x>=m&&S.x<=A&&S.y>=y&&S.y<=x&&S!==r&&S!==o&&Mc(a,h,l,d,f,p,S.x,S.y)&&ln(S.prev,S,S.next)>=0)return!1;S=S.prevZ}for(;E&&E.z<=_;){if(E.x>=m&&E.x<=A&&E.y>=y&&E.y<=x&&E!==r&&E!==o&&Mc(a,h,l,d,f,p,E.x,E.y)&&ln(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function jj(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!Jg(r,s)&&e3(r,i,i.next,s)&&sh(r,s)&&sh(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),oh(i),oh(i.next),i=n=s),i=i.next}while(i!==n);return nl(i)}function Xj(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&t9(o,a)){let l=t3(o,a);o=nl(o,o.next),l=nl(l,l.next),rh(o,e,t,i,r,s,0),rh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function Yj(n,e,t,i){const r=[];let s,o,a,l,f;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const p=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(p<=s&&p>i&&(i=p,r=t.x=t.x&&t.x>=l&&s!==t.x&&Mc(or.x||t.x===r.x&&Jj(r,t)))&&(r=t,h=d)),t=t.next;while(t!==a);return r}function Jj(n,e){return ln(n.prev,n,e.prev)<0&&ln(e.next,n,n.next)<0}function Qj(n,e,t,i){let r=n;do r.z===0&&(r.z=G_(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,$j(r)}function $j(n){let e,t,i,r,s,o,a,l,f=1;do{for(t=n,n=null,s=null,o=0;t;){for(o++,i=t,a=0,e=0;e0||l>0&&i;)a!==0&&(l===0||!i||t.z<=i.z)?(r=t,t=t.nextZ,a--):(r=i,i=i.nextZ,l--),s?s.nextZ=r:n=r,r.prevZ=s,s=r;t=i}s.nextZ=null,f*=2}while(o>1);return n}function G_(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function e9(n){let e=n,t=n;do(e.x=(n-o)*(s-a)&&(n-o)*(i-a)>=(t-o)*(e-a)&&(t-o)*(s-a)>=(r-o)*(i-a)}function t9(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!n9(n,e)&&(sh(n,e)&&sh(e,n)&&i9(n,e)&&(ln(n.prev,n,e.prev)||ln(n,e.prev,e))||Jg(n,e)&&ln(n.prev,n,n.next)>0&&ln(e.prev,e,e.next)>0)}function ln(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function Jg(n,e){return n.x===e.x&&n.y===e.y}function e3(n,e,t,i){const r=kp(ln(n,e,t)),s=kp(ln(n,e,i)),o=kp(ln(t,i,n)),a=kp(ln(t,i,e));return!!(r!==s&&o!==a||r===0&&Fp(n,t,e)||s===0&&Fp(n,i,e)||o===0&&Fp(t,n,i)||a===0&&Fp(t,e,i))}function Fp(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function kp(n){return n>0?1:n<0?-1:0}function n9(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&e3(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function sh(n,e){return ln(n.prev,n,n.next)<0?ln(n,e,n.next)>=0&&ln(n,n.prev,e)>=0:ln(n,e,n.prev)<0||ln(n,n.next,e)<0}function i9(n,e){let t=n,i=!1;const r=(n.x+e.x)/2,s=(n.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function t3(n,e){const t=new j_(n.i,n.x,n.y),i=new j_(e.i,e.x,e.y),r=n.next,s=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,s.next=i,i.prev=s,i}function Pb(n,e,t,i){const r=new j_(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function oh(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function j_(n,e,t){this.i=n,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function r9(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function Lb(n,e){for(let t=0;tNumber.EPSILON){const xe=Math.sqrt(Se),qe=Math.sqrt(I*I+te*te),Ie=ye.x-N/xe,Ue=ye.y+Ne/xe,it=de.x-te/qe,pt=de.y+I/qe,Ae=((it-Ie)*te-(pt-Ue)*I)/(Ne*te-N*I);we=Ie+Ne*Ae-W.x,pe=Ue+N*Ae-W.y;const Ct=we*we+pe*pe;if(Ct<=2)return new me(we,pe);We=Math.sqrt(Ct/2)}else{let xe=!1;Ne>Number.EPSILON?I>Number.EPSILON&&(xe=!0):Ne<-Number.EPSILON?I<-Number.EPSILON&&(xe=!0):Math.sign(N)===Math.sign(te)&&(xe=!0),xe?(we=-N,pe=Ne,We=Math.sqrt(Se)):(we=Ne,pe=N,We=Math.sqrt(Se/2))}return new me(we/We,pe/We)}const j=[];for(let W=0,ye=H.length,de=ye-1,we=W+1;W=0;W--){const ye=W/x,de=m*Math.cos(ye*Math.PI/2),we=y*Math.sin(ye*Math.PI/2)+A;for(let pe=0,We=H.length;pe=0;){const we=de;let pe=de-1;pe<0&&(pe=W.length-1);for(let We=0,Ne=h+x*2;We0)&&m.push(S,E,b),(g!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class o3 extends $n{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new He(16777215),this.specular=new He(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new He(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Mh,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class a3 extends $n{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new He(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new He(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class l3 extends $n{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class c3 extends $n{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new He(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new He(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Mh,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class u3 extends $n{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new He(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class f3 extends bi{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function za(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function h3(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function d3(n){function e(r,s){return n[r]-n[s]}const t=n.length,i=new Array(t);for(let r=0;r!==t;++r)i[r]=r;return i.sort(e),i}function X_(n,e,t){const i=n.length,r=new n.constructor(i);for(let s=0,o=0;o!==i;++s){const a=t[s]*e;for(let l=0;l!==e;++l)r[o++]=n[a+l]}return r}function iA(n,e,t,i){let r=1,s=n[0];for(;s!==void 0&&s[i]===void 0;)s=n[r++];if(s===void 0)return;let o=s[i];if(o!==void 0)if(Array.isArray(o))do o=s[i],o!==void 0&&(e.push(s.time),t.push.apply(t,o)),s=n[r++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[i],o!==void 0&&(e.push(s.time),o.toArray(t,t.length)),s=n[r++];while(s!==void 0);else do o=s[i],o!==void 0&&(e.push(s.time),t.push(o)),s=n[r++];while(s!==void 0)}function l9(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){d.push(f.times[m]);for(let A=0;As.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[y]){const g=y*d+h,_=g+d-h;A=a.values.slice(g,_)}else{const g=a.createInterpolant(),_=h,S=d-h;g.evaluate(s),A=g.resultBuffer.slice(_,S)}l==="quaternion"&&new hi().fromArray(A).normalize().conjugate().toArray(A);const x=f.times.length;for(let g=0;g=s)){const a=t[1];e=s)break t}o=i,i=0;break n}break e}for(;i>>1;et;)--o;if(++o,s!==0||o!==r){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=i.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,r=this.values,s=i.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==s;a++){const l=i[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,o),e=!1;break}o=l}if(r!==void 0&&h3(r))for(let a=0,l=r.length;a!==l;++a){const f=r[a];if(isNaN(f)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,f),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===pm,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,f=0;f!==i;++f)t[l+f]=t[a+f];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*i)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}Wr.prototype.TimeBufferType=Float32Array;Wr.prototype.ValueBufferType=Float32Array;Wr.prototype.DefaultInterpolation=Kf;class dl extends Wr{}dl.prototype.ValueTypeName="bool";dl.prototype.ValueBufferType=Array;dl.prototype.DefaultInterpolation=Zf;dl.prototype.InterpolantFactoryMethodLinear=void 0;dl.prototype.InterpolantFactoryMethodSmooth=void 0;class sA extends Wr{}sA.prototype.ValueTypeName="color";class ah extends Wr{}ah.prototype.ValueTypeName="number";class g3 extends Ih{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(i-t)/(r-t);let f=e*a;for(let h=f+a;f!==h;f+=4)hi.slerpFlat(s,0,o,f-a,o,f,l);return s}}class tu extends Wr{InterpolantFactoryMethodLinear(e){return new g3(this.times,this.values,this.getValueSize(),e)}}tu.prototype.ValueTypeName="quaternion";tu.prototype.DefaultInterpolation=Kf;tu.prototype.InterpolantFactoryMethodSmooth=void 0;class pl extends Wr{}pl.prototype.ValueTypeName="string";pl.prototype.ValueBufferType=Array;pl.prototype.DefaultInterpolation=Zf;pl.prototype.InterpolantFactoryMethodLinear=void 0;pl.prototype.InterpolantFactoryMethodSmooth=void 0;class lh extends Wr{}lh.prototype.ValueTypeName="vector";class ch{constructor(e,t=-1,i,r=Fg){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=$i(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,r=1/(e.fps||1);for(let o=0,a=i.length;o!==a;++o)t.push(h9(i[o]).scale(r));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const t=[],i=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=i.length;s!==o;++s)t.push(Wr.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const d=h[1];let p=r[d];p||(r[d]=p=[]),p.push(f)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(d,p,m,y,A){if(m.length!==0){const x=[],g=[];iA(m,x,g,y),x.length!==0&&A.push(new d(p,x,g))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const f=e.hierarchy||[];for(let d=0;d{t&&t(s),this.manager.itemEnd(e)},0),s;if(bs[e]!==void 0){bs[e].push({onLoad:t,onProgress:i,onError:r});return}bs[e]=[],bs[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(f=>{if(f.status===200||f.status===0){if(f.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||f.body===void 0||f.body.getReader===void 0)return f;const h=bs[e],d=f.body.getReader(),p=f.headers.get("Content-Length")||f.headers.get("X-File-Size"),m=p?parseInt(p):0,y=m!==0;let A=0;const x=new ReadableStream({start(g){_();function _(){d.read().then(({done:S,value:E})=>{if(S)g.close();else{A+=E.byteLength;const P=new ProgressEvent("progress",{lengthComputable:y,loaded:A,total:m});for(let b=0,L=h.length;b{switch(l){case"arraybuffer":return f.arrayBuffer();case"blob":return f.blob();case"document":return f.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return f.json();default:if(a===void 0)return f.text();{const d=/charset="?([^;"\s]*)"?/i.exec(a),p=d&&d[1]?d[1].toLowerCase():void 0,m=new TextDecoder(p);return f.arrayBuffer().then(y=>m.decode(y))}}}).then(f=>{Os.add(e,f);const h=bs[e];delete bs[e];for(let d=0,p=h.length;d{const h=bs[e];if(h===void 0)throw this.manager.itemError(e),f;delete bs[e];for(let d=0,p=h.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class p9 extends zi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new qs(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(a){try{t(s.parse(JSON.parse(a)))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=[];for(let i=0;i0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(r.uniforms[s]={},o.type){case"t":r.uniforms[s].value=i(o.value);break;case"c":r.uniforms[s].value=new He().setHex(o.value);break;case"v2":r.uniforms[s].value=new me().fromArray(o.value);break;case"v3":r.uniforms[s].value=new U().fromArray(o.value);break;case"v4":r.uniforms[s].value=new Bt().fromArray(o.value);break;case"m3":r.uniforms[s].value=new wt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new ut().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new me().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new me().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=i(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:i3,SpriteMaterial:Y1,RawShaderMaterial:r3,ShaderMaterial:ds,PointsMaterial:Z1,MeshPhysicalMaterial:s3,MeshStandardMaterial:nA,MeshPhongMaterial:o3,MeshToonMaterial:a3,MeshNormalMaterial:l3,MeshLambertMaterial:c3,MeshDepthMaterial:G1,MeshDistanceMaterial:j1,MeshBasicMaterial:ta,MeshMatcapMaterial:u3,LineDashedMaterial:f3,LineBasicMaterial:bi,Material:$n};return new t[e]}}class Y_{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let i=0,r=e.length;i0){const l=new oA(t);s=new uh(l),s.setCrossOrigin(this.crossOrigin);for(let f=0,h=e.length;f0){r=new uh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const x=new wi;x.min.fromArray(A.boxMin),x.max.fromArray(A.boxMax);const g=new di;return g.radius=A.sphereRadius,g.center.fromArray(A.sphereCenter),{boxInitialized:A.boxInitialized,box:x,sphereInitialized:A.sphereInitialized,sphere:g}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=f(e.matricesTexture.uuid);break;case"LOD":o=new VI;break;case"Line":o=new qo(a(e.geometry),l(e.material));break;case"LineLoop":o=new jI(a(e.geometry),l(e.material));break;case"LineSegments":o=new ms(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new XI(a(e.geometry),l(e.material));break;case"Sprite":o=new zI(l(e.material));break;case"Group":o=new Ac;break;case"Bone":o=new q1;break;default:o=new Nt}if(o.uuid=e.uuid,e.name!==void 0&&(o.name=e.name),e.matrix!==void 0?(o.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(o.matrixAutoUpdate=e.matrixAutoUpdate),o.matrixAutoUpdate&&o.matrix.decompose(o.position,o.quaternion,o.scale)):(e.position!==void 0&&o.position.fromArray(e.position),e.rotation!==void 0&&o.rotation.fromArray(e.rotation),e.quaternion!==void 0&&o.quaternion.fromArray(e.quaternion),e.scale!==void 0&&o.scale.fromArray(e.scale)),e.up!==void 0&&o.up.fromArray(e.up),e.castShadow!==void 0&&(o.castShadow=e.castShadow),e.receiveShadow!==void 0&&(o.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.bias!==void 0&&(o.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(o.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(o.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&o.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(o.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(o.visible=e.visible),e.frustumCulled!==void 0&&(o.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(o.renderOrder=e.renderOrder),e.userData!==void 0&&(o.userData=e.userData),e.layers!==void 0&&(o.layers.mask=e.layers),e.children!==void 0){const p=e.children;for(let m=0;m"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=Os.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(f=>{t&&t(f),s.manager.itemEnd(e)}).catch(f=>{r&&r(f)});return}return setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(e,a).then(function(f){return f.blob()}).then(function(f){return createImageBitmap(f,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(f){return Os.add(e,f),t&&t(f),s.manager.itemEnd(e),f}).catch(function(f){r&&r(f),Os.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});Os.add(e,l),s.manager.itemStart(e)}}let Bp;class lA{static getContext(){return Bp===void 0&&(Bp=new(window.AudioContext||window.webkitAudioContext)),Bp}static setContext(e){Bp=e}}class w9 extends zi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new qs(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const f=l.slice(0);lA.getContext().decodeAudioData(f,function(d){t(d)}).catch(a)}catch(f){a(f)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const Bb=new ut,zb=new ut,xa=new ut;class E9{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new nn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new nn,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,xa.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(ja*t.fov*.5)/t.zoom;let a,l;zb.elements[12]=-r,Bb.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,xa.elements[0]=2*t.near/(l-a),xa.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(xa),a=-o*t.aspect-s,l=o*t.aspect-s,xa.elements[0]=2*t.near/(l-a),xa.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(xa)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(zb),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Bb)}}class cA{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Vb(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=Vb();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Vb(){return(typeof performance>"u"?Date:performance).now()}const _a=new U,Hb=new hi,T9=new U,Sa=new U;class b9 extends Nt{constructor(){super(),this.type="AudioListener",this.context=lA.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new cA}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(_a,Hb,T9),Sa.set(0,0,-1).applyQuaternion(Hb),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(_a.x,r),t.positionY.linearRampToValueAtTime(_a.y,r),t.positionZ.linearRampToValueAtTime(_a.z,r),t.forwardX.linearRampToValueAtTime(Sa.x,r),t.forwardY.linearRampToValueAtTime(Sa.y,r),t.forwardZ.linearRampToValueAtTime(Sa.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(_a.x,_a.y,_a.z),t.setOrientation(Sa.x,Sa.y,Sa.z,i.x,i.y,i.z)}}class b3 extends Nt{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(i,r,this._addIndex*t,1,t);for(let l=t,f=t+t;l!==f;++l)if(i[l]!==i[l+t]){a.setValue(i,r);break}}saveOriginalState(){const e=this.binding,t=this.buffer,i=this.valueSize,r=i*this._origIndex;e.getValue(t,r);for(let s=i,o=r;s!==o;++s)t[s]=t[r+s%i];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let i=e;i=.5)for(let o=0;o!==s;++o)e[t+o]=e[i+o]}_slerp(e,t,i,r){hi.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;hi.multiplyQuaternionsFlat(e,o,e,t,e,i),hi.slerpFlat(e,t,e,t,e,o,r)}_lerp(e,t,i,r,s){const o=1-r;for(let a=0;a!==s;++a){const l=t+a;e[l]=e[l]*o+e[i+a]*r}}_lerpAdditive(e,t,i,r,s){for(let o=0;o!==s;++o){const a=t+o;e[a]=e[a]+e[i+o]*r}}}const uA="\\[\\]\\.:\\/",L9=new RegExp("["+uA+"]","g"),fA="[^"+uA+"]",I9="[^"+uA.replace("\\.","")+"]",D9=/((?:WC+[\/:])*)/.source.replace("WC",fA),N9=/(WCOD+)?/.source.replace("WCOD",I9),U9=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",fA),O9=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",fA),F9=new RegExp("^"+D9+N9+U9+O9+"$"),k9=["material","materials","bones","map"];class B9{constructor(e,t,i){const r=i||It.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,s=i.length;r!==s;++r)i[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}}class It{constructor(e,t,i){this.path=t,this.parsedPath=i||It.parseTrackName(t),this.node=It.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new It.Composite(e,t,i):new It(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(L9,"")}static parseTrackName(e){const t=F9.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const s=i.nodeName.substring(r+1);k9.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o=s){const d=s++,p=e[d];t[p.uuid]=h,e[h]=p,t[f]=d,e[d]=l;for(let m=0,y=r;m!==y;++m){const A=i[m],x=A[d],g=A[h];A[h]=x,A[d]=g}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,i=this._bindings,r=i.length;let s=this.nCachedObjects_,o=e.length;for(let a=0,l=arguments.length;a!==l;++a){const f=arguments[a],h=f.uuid,d=t[h];if(d!==void 0)if(delete t[h],d0&&(t[m.uuid]=d),e[d]=m,e.pop();for(let y=0,A=r;y!==A;++y){const x=i[y];x[d]=x[p],x.pop()}}}this.nCachedObjects_=s}subscribe_(e,t){const i=this._bindingsIndicesByPath;let r=i[e];const s=this._bindings;if(r!==void 0)return s[r];const o=this._paths,a=this._parsedPaths,l=this._objects,f=l.length,h=this.nCachedObjects_,d=new Array(f);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(d);for(let p=h,m=l.length;p!==m;++p){const y=l[p];d[p]=new It(y,e,t)}return d}unsubscribe_(e){const t=this._bindingsIndicesByPath,i=t[e];if(i!==void 0){const r=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,l=o[a],f=e[a];t[f]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class P3{constructor(e,t,i=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=i,this.blendMode=r;const s=t.tracks,o=s.length,a=new Array(o),l={endingStart:Fa,endingEnd:Fa};for(let f=0;f!==o;++f){const h=s[f].createInterpolant(null);a[f]=h,h.settings=l}this._interpolantSettings=l,this._interpolants=a,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=fI,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,i){if(e.fadeOut(t),this.fadeIn(t),i){const r=this._clip.duration,s=e._clip.duration,o=s/r,a=r/s;e.warp(1,o,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,i){return e.crossFadeFrom(this,t,i)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,i){const r=this._mixer,s=r.time,o=this.timeScale;let a=this._timeScaleInterpolant;a===null&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);const l=a.parameterPositions,f=a.sampleValues;return l[0]=s,l[1]=s+i,f[0]=e/o,f[1]=t/o,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,i,r){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const l=(e-s)*i;l<0||i===0?t=0:(this._startTime=null,t=i*l)}t*=this._updateTimeScale(e);const o=this._updateTime(t),a=this._updateWeight(e);if(a>0){const l=this._interpolants,f=this._propertyBindings;switch(this.blendMode){case I1:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),f[h].accumulateAdditive(a);break;case Fg:default:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),f[h].accumulate(r,a)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const i=this._weightInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const i=this._timeScaleInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,i=this.loop;let r=this.time+e,s=this._loopCount;const o=i===hI;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===uI){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),r>=t||r<0){const a=Math.floor(r/t);r-=t*a,s+=Math.abs(a);const l=this.repetitions-s;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const f=e<0;this._setEndings(f,!f,o)}else this._setEndings(!1,!1,o);this._loopCount=s,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=r;if(o&&(s&1)===1)return t-r}return r}_setEndings(e,t,i){const r=this._interpolantSettings;i?(r.endingStart=ka,r.endingEnd=ka):(e?r.endingStart=this.zeroSlopeAtStart?ka:Fa:r.endingStart=Jf,t?r.endingEnd=this.zeroSlopeAtEnd?ka:Fa:r.endingEnd=Jf)}_scheduleFading(e,t,i){const r=this._mixer,s=r.time;let o=this._weightInterpolant;o===null&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);const a=o.parameterPositions,l=o.sampleValues;return a[0]=s,l[0]=t,a[1]=s+e,l[1]=i,this}}const V9=new Float32Array(1);class H9 extends ps{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const i=e._localRoot||this._root,r=e._clip.tracks,s=r.length,o=e._propertyBindings,a=e._interpolants,l=i.uuid,f=this._bindingsByRootAndName;let h=f[l];h===void 0&&(h={},f[l]=h);for(let d=0;d!==s;++d){const p=r[d],m=p.name;let y=h[m];if(y!==void 0)++y.referenceCount,o[d]=y;else{if(y=o[d],y!==void 0){y._cacheIndex===null&&(++y.referenceCount,this._addInactiveBinding(y,l,m));continue}const A=t&&t._propertyBindings[d].binding.parsedPath;y=new C3(It.create(i,m,A),p.ValueTypeName,p.getValueSize()),++y.referenceCount,this._addInactiveBinding(y,l,m),o[d]=y}a[d].resultBuffer=y.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const i=(e._localRoot||this._root).uuid,r=e._clip.uuid,s=this._actionsByClip[r];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,r,i)}const t=e._propertyBindings;for(let i=0,r=t.length;i!==r;++i){const s=t[i];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let i=0,r=t.length;i!==r;++i){const s=t[i];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t=0;--i)e[i].stop();return this}update(e){e*=this.timeScale;const t=this._actions,i=this._nActiveActions,r=this.time+=e,s=Math.sign(e),o=this._accuIndex^=1;for(let f=0;f!==i;++f)t[f]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let f=0;f!==l;++f)a[f].apply(o);return this}setTime(e){this.time=0;for(let t=0;tthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,jb).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Xb=new U,zp=new U;class Z9{constructor(e=new U,t=new U){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){Xb.subVectors(e,this.start),zp.subVectors(this.end,this.start);const i=zp.dot(zp);let s=zp.dot(Xb)/i;return t&&(s=gn(s,0,1)),s}closestPointToPoint(e,t,i){const r=this.closestPointToPointParameter(e,t);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const Yb=new U;class K9 extends Nt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new xt,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,l=32;o1)for(let d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Qb.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Qb,t)}}setLength(e,t=e*.2,i=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(i,t,i),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class c7 extends ms{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],i=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new xt;r.setAttribute("position",new Ze(t,3)),r.setAttribute("color",new Ze(i,3));const s=new bi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new He,s=this.geometry.attributes.color.array;return r.set(e),r.toArray(s,0),r.toArray(s,3),r.set(t),r.toArray(s,6),r.toArray(s,9),r.set(i),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class u7{constructor(){this.type="ShapePath",this.color=new He,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new ih,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,i,r){return this.currentPath.quadraticCurveTo(e,t,i,r),this}bezierCurveTo(e,t,i,r,s,o){return this.currentPath.bezierCurveTo(e,t,i,r,s,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(g){const _=[];for(let S=0,E=g.length;SNumber.EPSILON){if(R<0&&(L=_[b],C=-C,D=_[P],R=-R),g.yD.y)continue;if(g.y===L.y){if(g.x===L.x)return!0}else{const F=R*(g.x-L.x)-C*(g.y-L.y);if(F===0)return!0;if(F<0)continue;E=!E}}else{if(g.y!==L.y)continue;if(D.x<=g.x&&g.x<=L.x||L.x<=g.x&&g.x<=D.x)return!0}}return E}const r=fs.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const f=[];if(s.length===1)return a=s[0],l=new qa,l.curves=a.curves,f.push(l),f;let h=!r(s[0].getPoints());h=e?!h:h;const d=[],p=[];let m=[],y=0,A;p[y]=void 0,m[y]=[];for(let g=0,_=s.length;g<_;g++)a=s[g],A=a.getPoints(),o=r(A),o=e?!o:o,o?(!h&&p[y]&&y++,p[y]={s:new qa,p:A},p[y].s.curves=a.curves,h&&y++,m[y]=[]):m[y].push({h:a,p:A[0]});if(!p[0])return t(s);if(p.length>1){let g=!1,_=0;for(let S=0,E=p.length;S0&&g===!1&&(m=d)}let x;for(let g=0,_=p.length;g<_;g++){l=p[g].s,f.push(l),x=m[g];for(let S=0,E=x.length;Sh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/j.x),r.x=s.x*j.x,k.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/j.y),r.y=s.y*j.y,k.mapSize.y=s.y)),k.map===null||le===!0||V===!0){const J=this.type!==Rr?{minFilter:An,magFilter:An}:{};k.map!==null&&k.map.dispose(),k.map=new Vr(r.x,r.y,J),k.map.texture.name=oe.name+".shadowMap",k.camera.updateProjectionMatrix()}n.setRenderTarget(k.map),n.clear();const Y=k.getViewportCount();for(let J=0;J0||L.map&&L.alphaTest>0){const K=R.uuid,le=L.uuid;let V=f[K];V===void 0&&(V={},f[K]=V);let q=V[le];q===void 0&&(q=R.clone(),V[le]=q,L.addEventListener("dispose",P)),R=q}if(R.visible=L.visible,R.wireframe=L.wireframe,C===Rr?R.side=L.shadowSide!==null?L.shadowSide:L.side:R.side=L.shadowSide!==null?L.shadowSide:d[L.side],R.alphaMap=L.alphaMap,R.alphaTest=L.alphaTest,R.map=L.map,R.clipShadows=L.clipShadows,R.clippingPlanes=L.clippingPlanes,R.clipIntersection=L.clipIntersection,R.displacementMap=L.displacementMap,R.displacementScale=L.displacementScale,R.displacementBias=L.displacementBias,R.wireframeLinewidth=L.wireframeLinewidth,R.linewidth=L.linewidth,D.isPointLight===!0&&R.isMeshDistanceMaterial===!0){const K=n.properties.get(R);K.light=D}return R}function E(b,L,D,C,R){if(b.visible===!1)return;if(b.layers.test(L.layers)&&(b.isMesh||b.isLine||b.isPoints)&&(b.castShadow||b.receiveShadow&&R===Rr)&&(!b.frustumCulled||i.intersectsObject(b))){b.modelViewMatrix.multiplyMatrices(D.matrixWorldInverse,b.matrixWorld);const le=e.update(b),V=b.material;if(Array.isArray(V)){const q=le.groups;for(let ee=0,oe=q.length;ee=1):Y.indexOf("OpenGL ES")!==-1&&(j=parseFloat(/^OpenGL ES (\d)/.exec(Y)[1]),k=j>=2);let J=null,ie={};const $=n.getParameter(n.SCISSOR_BOX),fe=n.getParameter(n.VIEWPORT),ve=new Bt().fromArray($),be=new Bt().fromArray(fe);function Pe(W,Re,Oe,rt){const Ke=new Uint8Array(4),bt=n.createTexture();n.bindTexture(W,bt),n.texParameteri(W,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(W,n.TEXTURE_MAG_FILTER,n.NEAREST);for(let Rt=0;Rt"u"?!1:/OculusBrowser/g.test(navigator.userAgent),h=new WeakMap;let d;const p=new WeakMap;let m=!1;try{m=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function y(N,I){return m?new OffscreenCanvas(N,I):nh("canvas")}function A(N,I,te,Se){let _e=1;if((N.width>Se||N.height>Se)&&(_e=Se/Math.max(N.width,N.height)),_e<1||I===!0)if(typeof HTMLImageElement<"u"&&N instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&N instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&N instanceof ImageBitmap){const xe=I?tg:Math.floor,qe=xe(_e*N.width),Ie=xe(_e*N.height);d===void 0&&(d=y(qe,Ie));const Ue=te?y(qe,Ie):d;return Ue.width=qe,Ue.height=Ie,Ue.getContext("2d").drawImage(N,0,0,qe,Ie),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+N.width+"x"+N.height+") to ("+qe+"x"+Ie+")."),Ue}else return"data"in N&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+N.width+"x"+N.height+")."),N;return N}function x(N){return z_(N.width)&&z_(N.height)}function g(N){return a?!1:N.wrapS!==fi||N.wrapT!==fi||N.minFilter!==An&&N.minFilter!==wn}function _(N,I){return N.generateMipmaps&&I&&N.minFilter!==An&&N.minFilter!==wn}function S(N){n.generateMipmap(N)}function E(N,I,te,Se,_e=!1){if(a===!1)return I;if(N!==null){if(n[N]!==void 0)return n[N];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+N+"'")}let xe=I;if(I===n.RED&&(te===n.FLOAT&&(xe=n.R32F),te===n.HALF_FLOAT&&(xe=n.R16F),te===n.UNSIGNED_BYTE&&(xe=n.R8)),I===n.RED_INTEGER&&(te===n.UNSIGNED_BYTE&&(xe=n.R8UI),te===n.UNSIGNED_SHORT&&(xe=n.R16UI),te===n.UNSIGNED_INT&&(xe=n.R32UI),te===n.BYTE&&(xe=n.R8I),te===n.SHORT&&(xe=n.R16I),te===n.INT&&(xe=n.R32I)),I===n.RG&&(te===n.FLOAT&&(xe=n.RG32F),te===n.HALF_FLOAT&&(xe=n.RG16F),te===n.UNSIGNED_BYTE&&(xe=n.RG8)),I===n.RGBA){const qe=_e?Qf:kt.getTransfer(Se);te===n.FLOAT&&(xe=n.RGBA32F),te===n.HALF_FLOAT&&(xe=n.RGBA16F),te===n.UNSIGNED_BYTE&&(xe=qe===Wt?n.SRGB8_ALPHA8:n.RGBA8),te===n.UNSIGNED_SHORT_4_4_4_4&&(xe=n.RGBA4),te===n.UNSIGNED_SHORT_5_5_5_1&&(xe=n.RGB5_A1)}return(xe===n.R16F||xe===n.R32F||xe===n.RG16F||xe===n.RG32F||xe===n.RGBA16F||xe===n.RGBA32F)&&e.get("EXT_color_buffer_float"),xe}function P(N,I,te){return _(N,te)===!0||N.isFramebufferTexture&&N.minFilter!==An&&N.minFilter!==wn?Math.log2(Math.max(I.width,I.height))+1:N.mipmaps!==void 0&&N.mipmaps.length>0?N.mipmaps.length:N.isCompressedTexture&&Array.isArray(N.image)?I.mipmaps.length:1}function b(N){return N===An||N===$m||N===gf?n.NEAREST:n.LINEAR}function L(N){const I=N.target;I.removeEventListener("dispose",L),C(I),I.isVideoTexture&&h.delete(I)}function D(N){const I=N.target;I.removeEventListener("dispose",D),F(I)}function C(N){const I=i.get(N);if(I.__webglInit===void 0)return;const te=N.source,Se=p.get(te);if(Se){const _e=Se[I.__cacheKey];_e.usedTimes--,_e.usedTimes===0&&R(N),Object.keys(Se).length===0&&p.delete(te)}i.remove(N)}function R(N){const I=i.get(N);n.deleteTexture(I.__webglTexture);const te=N.source,Se=p.get(te);delete Se[I.__cacheKey],o.memory.textures--}function F(N){const I=N.texture,te=i.get(N),Se=i.get(I);if(Se.__webglTexture!==void 0&&(n.deleteTexture(Se.__webglTexture),o.memory.textures--),N.depthTexture&&N.depthTexture.dispose(),N.isWebGLCubeRenderTarget)for(let _e=0;_e<6;_e++){if(Array.isArray(te.__webglFramebuffer[_e]))for(let xe=0;xe=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+N+" texture units while this GPU supports only "+r.maxTextures),K+=1,N}function q(N){const I=[];return I.push(N.wrapS),I.push(N.wrapT),I.push(N.wrapR||0),I.push(N.magFilter),I.push(N.minFilter),I.push(N.anisotropy),I.push(N.internalFormat),I.push(N.format),I.push(N.type),I.push(N.generateMipmaps),I.push(N.premultiplyAlpha),I.push(N.flipY),I.push(N.unpackAlignment),I.push(N.colorSpace),I.join()}function ee(N,I){const te=i.get(N);if(N.isVideoTexture&&Ge(N),N.isRenderTargetTexture===!1&&N.version>0&&te.__version!==N.version){const Se=N.image;if(Se===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Se.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{ve(te,N,I);return}}t.bindTexture(n.TEXTURE_2D,te.__webglTexture,n.TEXTURE0+I)}function oe(N,I){const te=i.get(N);if(N.version>0&&te.__version!==N.version){ve(te,N,I);return}t.bindTexture(n.TEXTURE_2D_ARRAY,te.__webglTexture,n.TEXTURE0+I)}function k(N,I){const te=i.get(N);if(N.version>0&&te.__version!==N.version){ve(te,N,I);return}t.bindTexture(n.TEXTURE_3D,te.__webglTexture,n.TEXTURE0+I)}function j(N,I){const te=i.get(N);if(N.version>0&&te.__version!==N.version){be(te,N,I);return}t.bindTexture(n.TEXTURE_CUBE_MAP,te.__webglTexture,n.TEXTURE0+I)}const Y={[Yf]:n.REPEAT,[fi]:n.CLAMP_TO_EDGE,[qf]:n.MIRRORED_REPEAT},J={[An]:n.NEAREST,[$m]:n.NEAREST_MIPMAP_NEAREST,[gf]:n.NEAREST_MIPMAP_LINEAR,[wn]:n.LINEAR,[w1]:n.LINEAR_MIPMAP_NEAREST,[Yo]:n.LINEAR_MIPMAP_LINEAR},ie={[gI]:n.NEVER,[AI]:n.ALWAYS,[vI]:n.LESS,[N1]:n.LEQUAL,[yI]:n.EQUAL,[SI]:n.GEQUAL,[xI]:n.GREATER,[_I]:n.NOTEQUAL};function $(N,I,te){if(te?(n.texParameteri(N,n.TEXTURE_WRAP_S,Y[I.wrapS]),n.texParameteri(N,n.TEXTURE_WRAP_T,Y[I.wrapT]),(N===n.TEXTURE_3D||N===n.TEXTURE_2D_ARRAY)&&n.texParameteri(N,n.TEXTURE_WRAP_R,Y[I.wrapR]),n.texParameteri(N,n.TEXTURE_MAG_FILTER,J[I.magFilter]),n.texParameteri(N,n.TEXTURE_MIN_FILTER,J[I.minFilter])):(n.texParameteri(N,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(N,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),(N===n.TEXTURE_3D||N===n.TEXTURE_2D_ARRAY)&&n.texParameteri(N,n.TEXTURE_WRAP_R,n.CLAMP_TO_EDGE),(I.wrapS!==fi||I.wrapT!==fi)&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),n.texParameteri(N,n.TEXTURE_MAG_FILTER,b(I.magFilter)),n.texParameteri(N,n.TEXTURE_MIN_FILTER,b(I.minFilter)),I.minFilter!==An&&I.minFilter!==wn&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),I.compareFunction&&(n.texParameteri(N,n.TEXTURE_COMPARE_MODE,n.COMPARE_REF_TO_TEXTURE),n.texParameteri(N,n.TEXTURE_COMPARE_FUNC,ie[I.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){const Se=e.get("EXT_texture_filter_anisotropic");if(I.magFilter===An||I.minFilter!==gf&&I.minFilter!==Yo||I.type===Ur&&e.has("OES_texture_float_linear")===!1||a===!1&&I.type===Hc&&e.has("OES_texture_half_float_linear")===!1)return;(I.anisotropy>1||i.get(I).__currentAnisotropy)&&(n.texParameterf(N,Se.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(I.anisotropy,r.getMaxAnisotropy())),i.get(I).__currentAnisotropy=I.anisotropy)}}function fe(N,I){let te=!1;N.__webglInit===void 0&&(N.__webglInit=!0,I.addEventListener("dispose",L));const Se=I.source;let _e=p.get(Se);_e===void 0&&(_e={},p.set(Se,_e));const xe=q(I);if(xe!==N.__cacheKey){_e[xe]===void 0&&(_e[xe]={texture:n.createTexture(),usedTimes:0},o.memory.textures++,te=!0),_e[xe].usedTimes++;const qe=_e[N.__cacheKey];qe!==void 0&&(_e[N.__cacheKey].usedTimes--,qe.usedTimes===0&&R(I)),N.__cacheKey=xe,N.__webglTexture=_e[xe].texture}return te}function ve(N,I,te){let Se=n.TEXTURE_2D;(I.isDataArrayTexture||I.isCompressedArrayTexture)&&(Se=n.TEXTURE_2D_ARRAY),I.isData3DTexture&&(Se=n.TEXTURE_3D);const _e=fe(N,I),xe=I.source;t.bindTexture(Se,N.__webglTexture,n.TEXTURE0+te);const qe=i.get(xe);if(xe.version!==qe.__version||_e===!0){t.activeTexture(n.TEXTURE0+te);const Ie=kt.getPrimaries(kt.workingColorSpace),Ue=I.colorSpace===Ki?null:kt.getPrimaries(I.colorSpace),it=I.colorSpace===Ki||Ie===Ue?n.NONE:n.BROWSER_DEFAULT_WEBGL;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,I.flipY),n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,I.premultiplyAlpha),n.pixelStorei(n.UNPACK_ALIGNMENT,I.unpackAlignment),n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,it);const pt=g(I)&&x(I.image)===!1;let Ae=A(I.image,pt,!1,r.maxTextureSize);Ae=Ne(I,Ae);const Ct=x(Ae)||a,_t=s.convert(I.format,I.colorSpace);let ft=s.convert(I.type),tt=E(I.internalFormat,_t,ft,I.colorSpace,I.isVideoTexture);$(Se,I,Ct);let We;const X=I.mipmaps,ge=a&&I.isVideoTexture!==!0&&tt!==L1,ze=qe.__version===void 0||_e===!0,ke=P(I,Ae,Ct);if(I.isDepthTexture)tt=n.DEPTH_COMPONENT,a?I.type===Ur?tt=n.DEPTH_COMPONENT32F:I.type===Us?tt=n.DEPTH_COMPONENT24:I.type===Bo?tt=n.DEPTH24_STENCIL8:tt=n.DEPTH_COMPONENT16:I.type===Ur&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),I.format===zo&&tt===n.DEPTH_COMPONENT&&I.type!==Og&&I.type!==Us&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),I.type=Us,ft=s.convert(I.type)),I.format===el&&tt===n.DEPTH_COMPONENT&&(tt=n.DEPTH_STENCIL,I.type!==Bo&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),I.type=Bo,ft=s.convert(I.type))),ze&&(ge?t.texStorage2D(n.TEXTURE_2D,1,tt,Ae.width,Ae.height):t.texImage2D(n.TEXTURE_2D,0,tt,Ae.width,Ae.height,0,_t,ft,null));else if(I.isDataTexture)if(X.length>0&&Ct){ge&&ze&&t.texStorage2D(n.TEXTURE_2D,ke,tt,X[0].width,X[0].height);for(let Me=0,W=X.length;Me>=1,W>>=1}}else if(X.length>0&&Ct){ge&&ze&&t.texStorage2D(n.TEXTURE_2D,ke,tt,X[0].width,X[0].height);for(let Me=0,W=X.length;Me0&&ze++,t.texStorage2D(n.TEXTURE_CUBE_MAP,ze,We,Ae[0].width,Ae[0].height));for(let Me=0;Me<6;Me++)if(pt){X?t.texSubImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,0,0,Ae[Me].width,Ae[Me].height,ft,tt,Ae[Me].data):t.texImage2D(n.TEXTURE_CUBE_MAP_POSITIVE_X+Me,0,We,Ae[Me].width,Ae[Me].height,0,ft,tt,Ae[Me].data);for(let W=0;W>xe),Ae=Math.max(1,I.height>>xe);_e===n.TEXTURE_3D||_e===n.TEXTURE_2D_ARRAY?t.texImage3D(_e,xe,Ue,pt,Ae,I.depth,0,qe,Ie,null):t.texImage2D(_e,xe,Ue,pt,Ae,0,qe,Ie,null)}t.bindFramebuffer(n.FRAMEBUFFER,N),pe(I)?l.framebufferTexture2DMultisampleEXT(n.FRAMEBUFFER,Se,_e,i.get(te).__webglTexture,0,we(I)):(_e===n.TEXTURE_2D||_e>=n.TEXTURE_CUBE_MAP_POSITIVE_X&&_e<=n.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&n.framebufferTexture2D(n.FRAMEBUFFER,Se,_e,i.get(te).__webglTexture,xe),t.bindFramebuffer(n.FRAMEBUFFER,null)}function Je(N,I,te){if(n.bindRenderbuffer(n.RENDERBUFFER,N),I.depthBuffer&&!I.stencilBuffer){let Se=a===!0?n.DEPTH_COMPONENT24:n.DEPTH_COMPONENT16;if(te||pe(I)){const _e=I.depthTexture;_e&&_e.isDepthTexture&&(_e.type===Ur?Se=n.DEPTH_COMPONENT32F:_e.type===Us&&(Se=n.DEPTH_COMPONENT24));const xe=we(I);pe(I)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,xe,Se,I.width,I.height):n.renderbufferStorageMultisample(n.RENDERBUFFER,xe,Se,I.width,I.height)}else n.renderbufferStorage(n.RENDERBUFFER,Se,I.width,I.height);n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,N)}else if(I.depthBuffer&&I.stencilBuffer){const Se=we(I);te&&pe(I)===!1?n.renderbufferStorageMultisample(n.RENDERBUFFER,Se,n.DEPTH24_STENCIL8,I.width,I.height):pe(I)?l.renderbufferStorageMultisampleEXT(n.RENDERBUFFER,Se,n.DEPTH24_STENCIL8,I.width,I.height):n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,I.width,I.height),n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,N)}else{const Se=I.isWebGLMultipleRenderTargets===!0?I.texture:[I.texture];for(let _e=0;_e0){te.__webglFramebuffer[Ie]=[];for(let Ue=0;Ue0){te.__webglFramebuffer=[];for(let Ie=0;Ie0&&pe(N)===!1){const Ie=xe?I:[I];te.__webglMultisampledFramebuffer=n.createFramebuffer(),te.__webglColorRenderbuffer=[],t.bindFramebuffer(n.FRAMEBUFFER,te.__webglMultisampledFramebuffer);for(let Ue=0;Ue0)for(let Ue=0;Ue0)for(let Ue=0;Ue0&&pe(N)===!1){const I=N.isWebGLMultipleRenderTargets?N.texture:[N.texture],te=N.width,Se=N.height;let _e=n.COLOR_BUFFER_BIT;const xe=[],qe=N.stencilBuffer?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT,Ie=i.get(N),Ue=N.isWebGLMultipleRenderTargets===!0;if(Ue)for(let it=0;it0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&I.__useRenderToTexture!==!1}function Ge(N){const I=o.render.frame;h.get(N)!==I&&(h.set(N,I),N.update())}function Ne(N,I){const te=N.colorSpace,Se=N.format,_e=N.type;return N.isCompressedTexture===!0||N.isVideoTexture===!0||N.format===eg||te!==hs&&te!==Ki&&(kt.getTransfer(te)===Wt?a===!1?e.has("EXT_sRGB")===!0&&Se===Si?(N.format=eg,N.minFilter=wn,N.generateMipmaps=!1):I=O1.sRGBToLinear(I):(Se!==Si||_e!==us)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",te)),I}this.allocateTextureUnit=V,this.resetTextureUnits=le,this.setTexture2D=ee,this.setTexture2DArray=oe,this.setTexture3D=k,this.setTextureCube=j,this.rebindTextures=Te,this.setupRenderTarget=H,this.updateRenderTargetMipmap=ye,this.updateMultisampleRenderTarget=de,this.setupDepthRenderbuffer=Le,this.setupFrameBufferTexture=Pe,this.useMultisampledRTT=pe}function OI(n,e,t){const i=t.isWebGL2;function r(s,o=Ki){let a;const l=kt.getTransfer(o);if(s===us)return n.UNSIGNED_BYTE;if(s===T1)return n.UNSIGNED_SHORT_4_4_4_4;if(s===b1)return n.UNSIGNED_SHORT_5_5_5_1;if(s===nI)return n.BYTE;if(s===iI)return n.SHORT;if(s===Og)return n.UNSIGNED_SHORT;if(s===E1)return n.INT;if(s===Us)return n.UNSIGNED_INT;if(s===Ur)return n.FLOAT;if(s===Hc)return i?n.HALF_FLOAT:(a=e.get("OES_texture_half_float"),a!==null?a.HALF_FLOAT_OES:null);if(s===rI)return n.ALPHA;if(s===Si)return n.RGBA;if(s===sI)return n.LUMINANCE;if(s===oI)return n.LUMINANCE_ALPHA;if(s===zo)return n.DEPTH_COMPONENT;if(s===el)return n.DEPTH_STENCIL;if(s===eg)return a=e.get("EXT_sRGB"),a!==null?a.SRGB_ALPHA_EXT:null;if(s===aI)return n.RED;if(s===C1)return n.RED_INTEGER;if(s===lI)return n.RG;if(s===P1)return n.RG_INTEGER;if(s===R1)return n.RGBA_INTEGER;if(s===cm||s===um||s===fm||s===hm)if(l===Wt)if(a=e.get("WEBGL_compressed_texture_s3tc_srgb"),a!==null){if(s===cm)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(s===um)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(s===fm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(s===hm)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(a=e.get("WEBGL_compressed_texture_s3tc"),a!==null){if(s===cm)return a.COMPRESSED_RGB_S3TC_DXT1_EXT;if(s===um)return a.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(s===fm)return a.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(s===hm)return a.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(s===d_||s===p_||s===m_||s===g_)if(a=e.get("WEBGL_compressed_texture_pvrtc"),a!==null){if(s===d_)return a.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(s===p_)return a.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(s===m_)return a.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(s===g_)return a.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(s===L1)return a=e.get("WEBGL_compressed_texture_etc1"),a!==null?a.COMPRESSED_RGB_ETC1_WEBGL:null;if(s===v_||s===y_)if(a=e.get("WEBGL_compressed_texture_etc"),a!==null){if(s===v_)return l===Wt?a.COMPRESSED_SRGB8_ETC2:a.COMPRESSED_RGB8_ETC2;if(s===y_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:a.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(s===x_||s===__||s===S_||s===A_||s===M_||s===w_||s===E_||s===T_||s===b_||s===C_||s===P_||s===R_||s===L_||s===I_)if(a=e.get("WEBGL_compressed_texture_astc"),a!==null){if(s===x_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:a.COMPRESSED_RGBA_ASTC_4x4_KHR;if(s===__)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:a.COMPRESSED_RGBA_ASTC_5x4_KHR;if(s===S_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:a.COMPRESSED_RGBA_ASTC_5x5_KHR;if(s===A_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:a.COMPRESSED_RGBA_ASTC_6x5_KHR;if(s===M_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:a.COMPRESSED_RGBA_ASTC_6x6_KHR;if(s===w_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:a.COMPRESSED_RGBA_ASTC_8x5_KHR;if(s===E_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:a.COMPRESSED_RGBA_ASTC_8x6_KHR;if(s===T_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:a.COMPRESSED_RGBA_ASTC_8x8_KHR;if(s===b_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:a.COMPRESSED_RGBA_ASTC_10x5_KHR;if(s===C_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:a.COMPRESSED_RGBA_ASTC_10x6_KHR;if(s===P_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:a.COMPRESSED_RGBA_ASTC_10x8_KHR;if(s===R_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:a.COMPRESSED_RGBA_ASTC_10x10_KHR;if(s===L_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:a.COMPRESSED_RGBA_ASTC_12x10_KHR;if(s===I_)return l===Wt?a.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:a.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(s===dm||s===D_||s===N_)if(a=e.get("EXT_texture_compression_bptc"),a!==null){if(s===dm)return l===Wt?a.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:a.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(s===D_)return a.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(s===N_)return a.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(s===cI||s===U_||s===O_||s===F_)if(a=e.get("EXT_texture_compression_rgtc"),a!==null){if(s===dm)return a.COMPRESSED_RED_RGTC1_EXT;if(s===U_)return a.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(s===O_)return a.COMPRESSED_RED_GREEN_RGTC2_EXT;if(s===F_)return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return s===Bo?i?n.UNSIGNED_INT_24_8:(a=e.get("WEBGL_depth_texture"),a!==null?a.UNSIGNED_INT_24_8_WEBGL:null):n[s]!==void 0?n[s]:null}return{convert:r}}class FI extends nn{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Ac extends Nt{constructor(){super(),this.isGroup=!0,this.type="Group"}}const _j={type:"move"};class wy{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Ac,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Ac,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new U,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new U),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Ac,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new U,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new U),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const i of e.hand.values())this._getHandJoint(t,i)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,i){let r=null,s=null,o=null;const a=this._targetRay,l=this._grip,f=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(f&&e.hand){o=!0;for(const A of e.hand.values()){const x=t.getJointPose(A,i),g=this._getHandJoint(f,A);x!==null&&(g.matrix.fromArray(x.transform.matrix),g.matrix.decompose(g.position,g.rotation,g.scale),g.matrixWorldNeedsUpdate=!0,g.jointRadius=x.radius),g.visible=x!==null}const h=f.joints["index-finger-tip"],d=f.joints["thumb-tip"],p=h.position.distanceTo(d.position),m=.02,y=.005;f.inputState.pinching&&p>m+y?(f.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!f.inputState.pinching&&p<=m-y&&(f.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,i),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(r=t.getPose(e.targetRaySpace,i),r===null&&s!==null&&(r=s),r!==null&&(a.matrix.fromArray(r.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,r.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(r.linearVelocity)):a.hasLinearVelocity=!1,r.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(r.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(_j)))}return a!==null&&(a.visible=r!==null),l!==null&&(l.visible=s!==null),f!==null&&(f.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const i=new Ac;i.matrixAutoUpdate=!1,i.visible=!1,e.joints[t.jointName]=i,e.add(i)}return e.joints[t.jointName]}}class Sj extends ps{constructor(e,t){super();const i=this;let r=null,s=1,o=null,a="local-floor",l=1,f=null,h=null,d=null,p=null,m=null,y=null;const A=t.getContextAttributes();let x=null,g=null;const _=[],S=[],E=new me;let P=null;const b=new nn;b.layers.enable(1),b.viewport=new Bt;const L=new nn;L.layers.enable(2),L.viewport=new Bt;const D=[b,L],C=new FI;C.layers.enable(1),C.layers.enable(2);let R=null,F=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function($){let fe=_[$];return fe===void 0&&(fe=new wy,_[$]=fe),fe.getTargetRaySpace()},this.getControllerGrip=function($){let fe=_[$];return fe===void 0&&(fe=new wy,_[$]=fe),fe.getGripSpace()},this.getHand=function($){let fe=_[$];return fe===void 0&&(fe=new wy,_[$]=fe),fe.getHandSpace()};function K($){const fe=S.indexOf($.inputSource);if(fe===-1)return;const ve=_[fe];ve!==void 0&&(ve.update($.inputSource,$.frame,f||o),ve.dispatchEvent({type:$.type,data:$.inputSource}))}function le(){r.removeEventListener("select",K),r.removeEventListener("selectstart",K),r.removeEventListener("selectend",K),r.removeEventListener("squeeze",K),r.removeEventListener("squeezestart",K),r.removeEventListener("squeezeend",K),r.removeEventListener("end",le),r.removeEventListener("inputsourceschange",V);for(let $=0;$<_.length;$++){const fe=S[$];fe!==null&&(S[$]=null,_[$].disconnect(fe))}R=null,F=null,e.setRenderTarget(x),m=null,p=null,d=null,r=null,g=null,ie.stop(),i.isPresenting=!1,e.setPixelRatio(P),e.setSize(E.width,E.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function($){s=$,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function($){a=$,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return f||o},this.setReferenceSpace=function($){f=$},this.getBaseLayer=function(){return p!==null?p:m},this.getBinding=function(){return d},this.getFrame=function(){return y},this.getSession=function(){return r},this.setSession=async function($){if(r=$,r!==null){if(x=e.getRenderTarget(),r.addEventListener("select",K),r.addEventListener("selectstart",K),r.addEventListener("selectend",K),r.addEventListener("squeeze",K),r.addEventListener("squeezestart",K),r.addEventListener("squeezeend",K),r.addEventListener("end",le),r.addEventListener("inputsourceschange",V),A.xrCompatible!==!0&&await t.makeXRCompatible(),P=e.getPixelRatio(),e.getSize(E),r.renderState.layers===void 0||e.capabilities.isWebGL2===!1){const fe={antialias:r.renderState.layers===void 0?A.antialias:!0,alpha:!0,depth:A.depth,stencil:A.stencil,framebufferScaleFactor:s};m=new XRWebGLLayer(r,t,fe),r.updateRenderState({baseLayer:m}),e.setPixelRatio(1),e.setSize(m.framebufferWidth,m.framebufferHeight,!1),g=new Vr(m.framebufferWidth,m.framebufferHeight,{format:Si,type:us,colorSpace:e.outputColorSpace,stencilBuffer:A.stencil})}else{let fe=null,ve=null,be=null;A.depth&&(be=A.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,fe=A.stencil?el:zo,ve=A.stencil?Bo:Us);const Pe={colorFormat:t.RGBA8,depthFormat:be,scaleFactor:s};d=new XRWebGLBinding(r,t),p=d.createProjectionLayer(Pe),r.updateRenderState({layers:[p]}),e.setPixelRatio(1),e.setSize(p.textureWidth,p.textureHeight,!1),g=new Vr(p.textureWidth,p.textureHeight,{format:Si,type:us,depthTexture:new G1(p.textureWidth,p.textureHeight,ve,void 0,void 0,void 0,void 0,void 0,void 0,fe),stencilBuffer:A.stencil,colorSpace:e.outputColorSpace,samples:A.antialias?4:0});const Je=e.properties.get(g);Je.__ignoreDepthValues=p.ignoreDepthValues}g.isXRRenderTarget=!0,this.setFoveation(l),f=null,o=await r.requestReferenceSpace(a),ie.setContext(r),ie.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode};function V($){for(let fe=0;fe<$.removed.length;fe++){const ve=$.removed[fe],be=S.indexOf(ve);be>=0&&(S[be]=null,_[be].disconnect(ve))}for(let fe=0;fe<$.added.length;fe++){const ve=$.added[fe];let be=S.indexOf(ve);if(be===-1){for(let Je=0;Je<_.length;Je++)if(Je>=S.length){S.push(ve),be=Je;break}else if(S[Je]===null){S[Je]=ve,be=Je;break}if(be===-1)break}const Pe=_[be];Pe&&Pe.connect(ve)}}const q=new U,ee=new U;function oe($,fe,ve){q.setFromMatrixPosition(fe.matrixWorld),ee.setFromMatrixPosition(ve.matrixWorld);const be=q.distanceTo(ee),Pe=fe.projectionMatrix.elements,Je=ve.projectionMatrix.elements,nt=Pe[14]/(Pe[10]-1),Le=Pe[14]/(Pe[10]+1),Te=(Pe[9]+1)/Pe[5],H=(Pe[9]-1)/Pe[5],ye=(Pe[8]-1)/Pe[0],de=(Je[8]+1)/Je[0],we=nt*ye,pe=nt*de,Ge=be/(-ye+de),Ne=Ge*-ye;fe.matrixWorld.decompose($.position,$.quaternion,$.scale),$.translateX(Ne),$.translateZ(Ge),$.matrixWorld.compose($.position,$.quaternion,$.scale),$.matrixWorldInverse.copy($.matrixWorld).invert();const N=nt+Ge,I=Le+Ge,te=we-Ne,Se=pe+(be-Ne),_e=Te*Le/I*N,xe=H*Le/I*N;$.projectionMatrix.makePerspective(te,Se,_e,xe,N,I),$.projectionMatrixInverse.copy($.projectionMatrix).invert()}function k($,fe){fe===null?$.matrixWorld.copy($.matrix):$.matrixWorld.multiplyMatrices(fe.matrixWorld,$.matrix),$.matrixWorldInverse.copy($.matrixWorld).invert()}this.updateCamera=function($){if(r===null)return;C.near=L.near=b.near=$.near,C.far=L.far=b.far=$.far,(R!==C.near||F!==C.far)&&(r.updateRenderState({depthNear:C.near,depthFar:C.far}),R=C.near,F=C.far);const fe=$.parent,ve=C.cameras;k(C,fe);for(let be=0;be0&&(x.alphaTest.value=g.alphaTest);const _=e.get(g).envMap;if(_&&(x.envMap.value=_,x.flipEnvMap.value=_.isCubeTexture&&_.isRenderTargetTexture===!1?-1:1,x.reflectivity.value=g.reflectivity,x.ior.value=g.ior,x.refractionRatio.value=g.refractionRatio),g.lightMap){x.lightMap.value=g.lightMap;const S=n._useLegacyLights===!0?Math.PI:1;x.lightMapIntensity.value=g.lightMapIntensity*S,t(g.lightMap,x.lightMapTransform)}g.aoMap&&(x.aoMap.value=g.aoMap,x.aoMapIntensity.value=g.aoMapIntensity,t(g.aoMap,x.aoMapTransform))}function o(x,g){x.diffuse.value.copy(g.color),x.opacity.value=g.opacity,g.map&&(x.map.value=g.map,t(g.map,x.mapTransform))}function a(x,g){x.dashSize.value=g.dashSize,x.totalSize.value=g.dashSize+g.gapSize,x.scale.value=g.scale}function l(x,g,_,S){x.diffuse.value.copy(g.color),x.opacity.value=g.opacity,x.size.value=g.size*_,x.scale.value=S*.5,g.map&&(x.map.value=g.map,t(g.map,x.uvTransform)),g.alphaMap&&(x.alphaMap.value=g.alphaMap,t(g.alphaMap,x.alphaMapTransform)),g.alphaTest>0&&(x.alphaTest.value=g.alphaTest)}function f(x,g){x.diffuse.value.copy(g.color),x.opacity.value=g.opacity,x.rotation.value=g.rotation,g.map&&(x.map.value=g.map,t(g.map,x.mapTransform)),g.alphaMap&&(x.alphaMap.value=g.alphaMap,t(g.alphaMap,x.alphaMapTransform)),g.alphaTest>0&&(x.alphaTest.value=g.alphaTest)}function h(x,g){x.specular.value.copy(g.specular),x.shininess.value=Math.max(g.shininess,1e-4)}function d(x,g){g.gradientMap&&(x.gradientMap.value=g.gradientMap)}function p(x,g){x.metalness.value=g.metalness,g.metalnessMap&&(x.metalnessMap.value=g.metalnessMap,t(g.metalnessMap,x.metalnessMapTransform)),x.roughness.value=g.roughness,g.roughnessMap&&(x.roughnessMap.value=g.roughnessMap,t(g.roughnessMap,x.roughnessMapTransform)),e.get(g).envMap&&(x.envMapIntensity.value=g.envMapIntensity)}function m(x,g,_){x.ior.value=g.ior,g.sheen>0&&(x.sheenColor.value.copy(g.sheenColor).multiplyScalar(g.sheen),x.sheenRoughness.value=g.sheenRoughness,g.sheenColorMap&&(x.sheenColorMap.value=g.sheenColorMap,t(g.sheenColorMap,x.sheenColorMapTransform)),g.sheenRoughnessMap&&(x.sheenRoughnessMap.value=g.sheenRoughnessMap,t(g.sheenRoughnessMap,x.sheenRoughnessMapTransform))),g.clearcoat>0&&(x.clearcoat.value=g.clearcoat,x.clearcoatRoughness.value=g.clearcoatRoughness,g.clearcoatMap&&(x.clearcoatMap.value=g.clearcoatMap,t(g.clearcoatMap,x.clearcoatMapTransform)),g.clearcoatRoughnessMap&&(x.clearcoatRoughnessMap.value=g.clearcoatRoughnessMap,t(g.clearcoatRoughnessMap,x.clearcoatRoughnessMapTransform)),g.clearcoatNormalMap&&(x.clearcoatNormalMap.value=g.clearcoatNormalMap,t(g.clearcoatNormalMap,x.clearcoatNormalMapTransform),x.clearcoatNormalScale.value.copy(g.clearcoatNormalScale),g.side===Mi&&x.clearcoatNormalScale.value.negate())),g.iridescence>0&&(x.iridescence.value=g.iridescence,x.iridescenceIOR.value=g.iridescenceIOR,x.iridescenceThicknessMinimum.value=g.iridescenceThicknessRange[0],x.iridescenceThicknessMaximum.value=g.iridescenceThicknessRange[1],g.iridescenceMap&&(x.iridescenceMap.value=g.iridescenceMap,t(g.iridescenceMap,x.iridescenceMapTransform)),g.iridescenceThicknessMap&&(x.iridescenceThicknessMap.value=g.iridescenceThicknessMap,t(g.iridescenceThicknessMap,x.iridescenceThicknessMapTransform))),g.transmission>0&&(x.transmission.value=g.transmission,x.transmissionSamplerMap.value=_.texture,x.transmissionSamplerSize.value.set(_.width,_.height),g.transmissionMap&&(x.transmissionMap.value=g.transmissionMap,t(g.transmissionMap,x.transmissionMapTransform)),x.thickness.value=g.thickness,g.thicknessMap&&(x.thicknessMap.value=g.thicknessMap,t(g.thicknessMap,x.thicknessMapTransform)),x.attenuationDistance.value=g.attenuationDistance,x.attenuationColor.value.copy(g.attenuationColor)),g.anisotropy>0&&(x.anisotropyVector.value.set(g.anisotropy*Math.cos(g.anisotropyRotation),g.anisotropy*Math.sin(g.anisotropyRotation)),g.anisotropyMap&&(x.anisotropyMap.value=g.anisotropyMap,t(g.anisotropyMap,x.anisotropyMapTransform))),x.specularIntensity.value=g.specularIntensity,x.specularColor.value.copy(g.specularColor),g.specularColorMap&&(x.specularColorMap.value=g.specularColorMap,t(g.specularColorMap,x.specularColorMapTransform)),g.specularIntensityMap&&(x.specularIntensityMap.value=g.specularIntensityMap,t(g.specularIntensityMap,x.specularIntensityMapTransform))}function y(x,g){g.matcap&&(x.matcap.value=g.matcap)}function A(x,g){const _=e.get(g).light;x.referencePosition.value.setFromMatrixPosition(_.matrixWorld),x.nearDistance.value=_.shadow.camera.near,x.farDistance.value=_.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function Mj(n,e,t,i){let r={},s={},o=[];const a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(_,S){const E=S.program;i.uniformBlockBinding(_,E)}function f(_,S){let E=r[_.id];E===void 0&&(y(_),E=h(_),r[_.id]=E,_.addEventListener("dispose",x));const P=S.program;i.updateUBOMapping(_,P);const b=e.render.frame;s[_.id]!==b&&(p(_),s[_.id]=b)}function h(_){const S=d();_.__bindingPointIndex=S;const E=n.createBuffer(),P=_.__size,b=_.usage;return n.bindBuffer(n.UNIFORM_BUFFER,E),n.bufferData(n.UNIFORM_BUFFER,P,b),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,S,E),E}function d(){for(let _=0;_0&&(E+=P-b),_.__size=E,_.__cache={},this}function A(_){const S={boundary:0,storage:0};return typeof _=="number"||typeof _=="boolean"?(S.boundary=4,S.storage=4):_.isVector2?(S.boundary=8,S.storage=8):_.isVector3||_.isColor?(S.boundary=16,S.storage=12):_.isVector4?(S.boundary=16,S.storage=16):_.isMatrix3?(S.boundary=48,S.storage=48):_.isMatrix4?(S.boundary=64,S.storage=64):_.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",_),S}function x(_){const S=_.target;S.removeEventListener("dispose",x);const E=o.indexOf(S.__bindingPointIndex);o.splice(E,1),n.deleteBuffer(r[S.id]),delete r[S.id],delete s[S.id]}function g(){for(const _ in r)n.deleteBuffer(r[_]);o=[],r={},s={}}return{bind:l,update:f,dispose:g}}class X1{constructor(e={}){const{canvas:t=EI(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:f=!1,powerPreference:h="default",failIfMajorPerformanceCaveat:d=!1}=e;this.isWebGLRenderer=!0;let p;i!==null?p=i.getContextAttributes().alpha:p=o;const m=new Uint32Array(4),y=new Int32Array(4);let A=null,x=null;const g=[],_=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Nn,this._useLegacyLights=!1,this.toneMapping=cs,this.toneMappingExposure=1;const S=this;let E=!1,P=0,b=0,L=null,D=-1,C=null;const R=new Bt,F=new Bt;let K=null;const le=new He(0);let V=0,q=t.width,ee=t.height,oe=1,k=null,j=null;const Y=new Bt(0,0,q,ee),J=new Bt(0,0,q,ee);let ie=!1;const $=new bh;let fe=!1,ve=!1,be=null;const Pe=new ut,Je=new me,nt=new U,Le={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Te(){return L===null?oe:1}let H=i;function ye(O,ne){for(let ae=0;ae{function Ve(){if(ce.forEach(function($e){Ne.get($e).currentProgram.isReady()&&ce.delete($e)}),ce.size===0){se(O);return}setTimeout(Ve,10)}de.get("KHR_parallel_shader_compile")!==null?Ve():setTimeout(Ve,10)})};let Rt=null;function Ht(O){Rt&&Rt(O)}function Qt(){Xn.stop()}function Lt(){Xn.start()}const Xn=new RI;Xn.setAnimationLoop(Ht),typeof self<"u"&&Xn.setContext(self),this.setAnimationLoop=function(O){Rt=O,ke.setAnimationLoop(O),O===null?Xn.stop():Xn.start()},ke.addEventListener("sessionstart",Qt),ke.addEventListener("sessionend",Lt),this.render=function(O,ne){if(ne!==void 0&&ne.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(E===!0)return;O.matrixWorldAutoUpdate===!0&&O.updateMatrixWorld(),ne.parent===null&&ne.matrixWorldAutoUpdate===!0&&ne.updateMatrixWorld(),ke.enabled===!0&&ke.isPresenting===!0&&(ke.cameraAutoUpdate===!0&&ke.updateCamera(ne),ne=ke.getCamera()),O.isScene===!0&&O.onBeforeRender(S,O,ne,L),x=it.get(O,_.length),x.init(),_.push(x),Pe.multiplyMatrices(ne.projectionMatrix,ne.matrixWorldInverse),$.setFromProjectionMatrix(Pe),ve=this.localClippingEnabled,fe=pt.init(this.clippingPlanes,ve),A=Ue.get(O,g.length),A.init(),g.push(A),rr(O,ne,0,S.sortObjects),A.finish(),S.sortObjects===!0&&A.sort(k,j),this.info.render.frame++,fe===!0&&pt.beginShadows();const ae=x.state.shadowsArray;if(Ae.render(ae,O,ne),fe===!0&&pt.endShadows(),this.info.autoReset===!0&&this.info.reset(),Ct.render(A,O),x.setupLights(S._useLegacyLights),ne.isArrayCamera){const ce=ne.cameras;for(let se=0,Ve=ce.length;se0?x=_[_.length-1]:x=null,g.pop(),g.length>0?A=g[g.length-1]:A=null};function rr(O,ne,ae,ce){if(O.visible===!1)return;if(O.layers.test(ne.layers)){if(O.isGroup)ae=O.renderOrder;else if(O.isLOD)O.autoUpdate===!0&&O.update(ne);else if(O.isLight)x.pushLight(O),O.castShadow&&x.pushShadow(O);else if(O.isSprite){if(!O.frustumCulled||$.intersectsSprite(O)){ce&&nt.setFromMatrixPosition(O.matrixWorld).applyMatrix4(Pe);const $e=xe.update(O),ot=O.material;ot.visible&&A.push(O,$e,ot,ae,nt.z,null)}}else if((O.isMesh||O.isLine||O.isPoints)&&(!O.frustumCulled||$.intersectsObject(O))){const $e=xe.update(O),ot=O.material;if(ce&&(O.boundingSphere!==void 0?(O.boundingSphere===null&&O.computeBoundingSphere(),nt.copy(O.boundingSphere.center)):($e.boundingSphere===null&&$e.computeBoundingSphere(),nt.copy($e.boundingSphere.center)),nt.applyMatrix4(O.matrixWorld).applyMatrix4(Pe)),Array.isArray(ot)){const at=$e.groups;for(let mt=0,dt=at.length;mt0&&iu(se,Ve,ne,ae),ce&&pe.viewport(R.copy(ce)),se.length>0&&gl(se,ne,ae),Ve.length>0&&gl(Ve,ne,ae),$e.length>0&&gl($e,ne,ae),pe.buffers.depth.setTest(!0),pe.buffers.depth.setMask(!0),pe.buffers.color.setMask(!0),pe.setPolygonOffset(!1)}function iu(O,ne,ae,ce){if((ae.isScene===!0?ae.overrideMaterial:null)!==null)return;const Ve=we.isWebGL2;be===null&&(be=new Vr(1,1,{generateMipmaps:!0,type:de.has("EXT_color_buffer_half_float")?Hc:us,minFilter:Yo,samples:Ve?4:0})),S.getDrawingBufferSize(Je),Ve?be.setSize(Je.x,Je.y):be.setSize(tg(Je.x),tg(Je.y));const $e=S.getRenderTarget();S.setRenderTarget(be),S.getClearColor(le),V=S.getClearAlpha(),V<1&&S.setClearColor(16777215,.5),S.clear();const ot=S.toneMapping;S.toneMapping=cs,gl(O,ae,ce),N.updateMultisampleRenderTarget(be),N.updateRenderTargetMipmap(be);let at=!1;for(let mt=0,dt=ne.length;mt0),gt=!!ae.morphAttributes.position,rn=!!ae.morphAttributes.normal,Yn=!!ae.morphAttributes.color;let Yt=cs;ce.toneMapped&&(L===null||L.isXRRenderTarget===!0)&&(Yt=S.toneMapping);const kn=ae.morphAttributes.position||ae.morphAttributes.normal||ae.morphAttributes.color,lt=kn!==void 0?kn.length:0,Xe=Ne.get(ce),sr=x.state.lights;if(fe===!0&&(ve===!0||O!==C)){const qn=O===C&&ce.id===D;pt.setState(ce,O,qn)}let Et=!1;ce.version===Xe.__version?(Xe.needsLights&&Xe.lightsStateVersion!==sr.state.version||Xe.outputColorSpace!==ot||se.isBatchedMesh&&Xe.batching===!1||!se.isBatchedMesh&&Xe.batching===!0||se.isInstancedMesh&&Xe.instancing===!1||!se.isInstancedMesh&&Xe.instancing===!0||se.isSkinnedMesh&&Xe.skinning===!1||!se.isSkinnedMesh&&Xe.skinning===!0||se.isInstancedMesh&&Xe.instancingColor===!0&&se.instanceColor===null||se.isInstancedMesh&&Xe.instancingColor===!1&&se.instanceColor!==null||Xe.envMap!==at||ce.fog===!0&&Xe.fog!==Ve||Xe.numClippingPlanes!==void 0&&(Xe.numClippingPlanes!==pt.numPlanes||Xe.numIntersection!==pt.numIntersection)||Xe.vertexAlphas!==mt||Xe.vertexTangents!==dt||Xe.morphTargets!==gt||Xe.morphNormals!==rn||Xe.morphColors!==Yn||Xe.toneMapping!==Yt||we.isWebGL2===!0&&Xe.morphTargetsCount!==lt)&&(Et=!0):(Et=!0,Xe.__version=ce.version);let fn=Xe.currentProgram;Et===!0&&(fn=vl(ce,ne,se));let Wr=!1,or=!1,Bn=!1;const xn=fn.getUniforms(),jr=Xe.uniforms;if(pe.useProgram(fn.program)&&(Wr=!0,or=!0,Bn=!0),ce.id!==D&&(D=ce.id,or=!0),Wr||C!==O){xn.setValue(H,"projectionMatrix",O.projectionMatrix),xn.setValue(H,"viewMatrix",O.matrixWorldInverse);const qn=xn.map.cameraPosition;qn!==void 0&&qn.setValue(H,nt.setFromMatrixPosition(O.matrixWorld)),we.logarithmicDepthBuffer&&xn.setValue(H,"logDepthBufFC",2/(Math.log(O.far+1)/Math.LN2)),(ce.isMeshPhongMaterial||ce.isMeshToonMaterial||ce.isMeshLambertMaterial||ce.isMeshBasicMaterial||ce.isMeshStandardMaterial||ce.isShaderMaterial)&&xn.setValue(H,"isOrthographic",O.isOrthographicCamera===!0),C!==O&&(C=O,or=!0,Bn=!0)}if(se.isSkinnedMesh){xn.setOptional(H,se,"bindMatrix"),xn.setOptional(H,se,"bindMatrixInverse");const qn=se.skeleton;qn&&(we.floatVertexTextures?(qn.boneTexture===null&&qn.computeBoneTexture(),xn.setValue(H,"boneTexture",qn.boneTexture,N)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}se.isBatchedMesh&&(xn.setOptional(H,se,"batchingTexture"),xn.setValue(H,"batchingTexture",se._matricesTexture,N));const yl=ae.morphAttributes;if((yl.position!==void 0||yl.normal!==void 0||yl.color!==void 0&&we.isWebGL2===!0)&&_t.update(se,ae,fn),(or||Xe.receiveShadow!==se.receiveShadow)&&(Xe.receiveShadow=se.receiveShadow,xn.setValue(H,"receiveShadow",se.receiveShadow)),ce.isMeshGouraudMaterial&&ce.envMap!==null&&(jr.envMap.value=at,jr.flipEnvMap.value=at.isCubeTexture&&at.isRenderTargetTexture===!1?-1:1),or&&(xn.setValue(H,"toneMappingExposure",S.toneMappingExposure),Xe.needsLights&&c0(jr,Bn),Ve&&ce.fog===!0&&Ie.refreshFogUniforms(jr,Ve),Ie.refreshMaterialUniforms(jr,ce,oe,ee,be),mm.upload(H,Oh(Xe),jr,N)),ce.isShaderMaterial&&ce.uniformsNeedUpdate===!0&&(mm.upload(H,Oh(Xe),jr,N),ce.uniformsNeedUpdate=!1),ce.isSpriteMaterial&&xn.setValue(H,"center",se.center),xn.setValue(H,"modelViewMatrix",se.modelViewMatrix),xn.setValue(H,"normalMatrix",se.normalMatrix),xn.setValue(H,"modelMatrix",se.matrixWorld),ce.isShaderMaterial||ce.isRawShaderMaterial){const qn=ce.uniformsGroups;for(let xl=0,Vi=qn.length;xl0&&N.useMultisampledRTT(O)===!1?se=Ne.get(O).__webglMultisampledFramebuffer:Array.isArray(dt)?se=dt[ae]:se=dt,R.copy(O.viewport),F.copy(O.scissor),K=O.scissorTest}else R.copy(Y).multiplyScalar(oe).floor(),F.copy(J).multiplyScalar(oe).floor(),K=ie;if(pe.bindFramebuffer(H.FRAMEBUFFER,se)&&we.drawBuffers&&ce&&pe.drawBuffers(O,se),pe.viewport(R),pe.scissor(F),pe.setScissorTest(K),Ve){const at=Ne.get(O.texture);H.framebufferTexture2D(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,H.TEXTURE_CUBE_MAP_POSITIVE_X+ne,at.__webglTexture,ae)}else if($e){const at=Ne.get(O.texture),mt=ne||0;H.framebufferTextureLayer(H.FRAMEBUFFER,H.COLOR_ATTACHMENT0,at.__webglTexture,ae||0,mt)}D=-1},this.readRenderTargetPixels=function(O,ne,ae,ce,se,Ve,$e){if(!(O&&O.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let ot=Ne.get(O).__webglFramebuffer;if(O.isWebGLCubeRenderTarget&&$e!==void 0&&(ot=ot[$e]),ot){pe.bindFramebuffer(H.FRAMEBUFFER,ot);try{const at=O.texture,mt=at.format,dt=at.type;if(mt!==Si&&We.convert(mt)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}const gt=dt===Hc&&(de.has("EXT_color_buffer_half_float")||we.isWebGL2&&de.has("EXT_color_buffer_float"));if(dt!==us&&We.convert(dt)!==H.getParameter(H.IMPLEMENTATION_COLOR_READ_TYPE)&&!(dt===Ur&&(we.isWebGL2||de.has("OES_texture_float")||de.has("WEBGL_color_buffer_float")))&&!gt){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}ne>=0&&ne<=O.width-ce&&ae>=0&&ae<=O.height-se&&H.readPixels(ne,ae,ce,se,We.convert(mt),We.convert(dt),Ve)}finally{const at=L!==null?Ne.get(L).__webglFramebuffer:null;pe.bindFramebuffer(H.FRAMEBUFFER,at)}}},this.copyFramebufferToTexture=function(O,ne,ae=0){const ce=Math.pow(2,-ae),se=Math.floor(ne.image.width*ce),Ve=Math.floor(ne.image.height*ce);N.setTexture2D(ne,0),H.copyTexSubImage2D(H.TEXTURE_2D,ae,0,0,O.x,O.y,se,Ve),pe.unbindTexture()},this.copyTextureToTexture=function(O,ne,ae,ce=0){const se=ne.image.width,Ve=ne.image.height,$e=We.convert(ae.format),ot=We.convert(ae.type);N.setTexture2D(ae,0),H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,ae.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ae.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,ae.unpackAlignment),ne.isDataTexture?H.texSubImage2D(H.TEXTURE_2D,ce,O.x,O.y,se,Ve,$e,ot,ne.image.data):ne.isCompressedTexture?H.compressedTexSubImage2D(H.TEXTURE_2D,ce,O.x,O.y,ne.mipmaps[0].width,ne.mipmaps[0].height,$e,ne.mipmaps[0].data):H.texSubImage2D(H.TEXTURE_2D,ce,O.x,O.y,$e,ot,ne.image),ce===0&&ae.generateMipmaps&&H.generateMipmap(H.TEXTURE_2D),pe.unbindTexture()},this.copyTextureToTexture3D=function(O,ne,ae,ce,se=0){if(S.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}const Ve=O.max.x-O.min.x+1,$e=O.max.y-O.min.y+1,ot=O.max.z-O.min.z+1,at=We.convert(ce.format),mt=We.convert(ce.type);let dt;if(ce.isData3DTexture)N.setTexture3D(ce,0),dt=H.TEXTURE_3D;else if(ce.isDataArrayTexture||ce.isCompressedArrayTexture)N.setTexture2DArray(ce,0),dt=H.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}H.pixelStorei(H.UNPACK_FLIP_Y_WEBGL,ce.flipY),H.pixelStorei(H.UNPACK_PREMULTIPLY_ALPHA_WEBGL,ce.premultiplyAlpha),H.pixelStorei(H.UNPACK_ALIGNMENT,ce.unpackAlignment);const gt=H.getParameter(H.UNPACK_ROW_LENGTH),rn=H.getParameter(H.UNPACK_IMAGE_HEIGHT),Yn=H.getParameter(H.UNPACK_SKIP_PIXELS),Yt=H.getParameter(H.UNPACK_SKIP_ROWS),kn=H.getParameter(H.UNPACK_SKIP_IMAGES),lt=ae.isCompressedTexture?ae.mipmaps[se]:ae.image;H.pixelStorei(H.UNPACK_ROW_LENGTH,lt.width),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,lt.height),H.pixelStorei(H.UNPACK_SKIP_PIXELS,O.min.x),H.pixelStorei(H.UNPACK_SKIP_ROWS,O.min.y),H.pixelStorei(H.UNPACK_SKIP_IMAGES,O.min.z),ae.isDataTexture||ae.isData3DTexture?H.texSubImage3D(dt,se,ne.x,ne.y,ne.z,Ve,$e,ot,at,mt,lt.data):ae.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),H.compressedTexSubImage3D(dt,se,ne.x,ne.y,ne.z,Ve,$e,ot,at,lt.data)):H.texSubImage3D(dt,se,ne.x,ne.y,ne.z,Ve,$e,ot,at,mt,lt),H.pixelStorei(H.UNPACK_ROW_LENGTH,gt),H.pixelStorei(H.UNPACK_IMAGE_HEIGHT,rn),H.pixelStorei(H.UNPACK_SKIP_PIXELS,Yn),H.pixelStorei(H.UNPACK_SKIP_ROWS,Yt),H.pixelStorei(H.UNPACK_SKIP_IMAGES,kn),se===0&&ce.generateMipmaps&&H.generateMipmap(dt),pe.unbindTexture()},this.initTexture=function(O){O.isCubeTexture?N.setTextureCube(O,0):O.isData3DTexture?N.setTexture3D(O,0):O.isDataArrayTexture||O.isCompressedArrayTexture?N.setTexture2DArray(O,0):N.setTexture2D(O,0),pe.unbindTexture()},this.resetState=function(){P=0,b=0,L=null,pe.reset(),X.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Or}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorSpace=e===kg?"display-p3":"srgb",t.unpackColorSpace=kt.workingColorSpace===wh?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===Nn?Vo:D1}set outputEncoding(e){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=e===Vo?Nn:hs}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(e){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=e}}class kI extends X1{}kI.prototype.isWebGL1Renderer=!0;class Vg{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new He(e),this.density=t}clone(){return new Vg(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Hg{constructor(e,t=1,i=1e3){this.isFog=!0,this.name="",this.color=new He(e),this.near=t,this.far=i}clone(){return new Hg(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class ng extends Nt{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t}}class Gg{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=th,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=$i()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return console.warn("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,s=this.stride;re.far||t.push({distance:l,point:Bu.clone(),uv:Di.getInterpolation(Bu,Ap,Vu,Mp,lb,Ey,cb,new me),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function wp(n,e,t,i,r,s){Jl.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(zu.x=s*Jl.x-r*Jl.y,zu.y=r*Jl.x+s*Jl.y):zu.copy(Jl),n.copy(e),n.x+=zu.x,n.y+=zu.y,n.applyMatrix4(BI)}const Ep=new U,ub=new U;class VI extends Nt{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let i=0,r=t.length;i0){let i,r;for(i=1,r=t.length;i0){Ep.setFromMatrixPosition(this.matrixWorld);const r=e.ray.origin.distanceTo(Ep);this.getObjectForDistance(r).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Ep.setFromMatrixPosition(e.matrixWorld),ub.setFromMatrixPosition(this.matrixWorld);const i=Ep.distanceTo(ub)/e.zoom;t[0].object.visible=!0;let r,s;for(r=1,s=t.length;r=o)t[r-1].object.visible=!1,t[r].object.visible=!0;else break}for(this._currentLevel=r-1;r=i.length&&i.push({start:-1,count:-1,z:-1});const s=i[this.index];r.push(s),this.index++,s.start=e.start,s.count=e.count,s.z=t}reset(){this.list.length=0,this.index=0}}const $l="batchId",go=new ut,xb=new ut,Rj=new ut,_b=new ut,Cy=new bh,Cp=new wi,ya=new di,Wu=new U,Py=new Pj,li=new Rn,Pp=[];function Lj(n,e,t=0){const i=e.itemSize;if(n.isInterleavedBufferAttribute||n.array.constructor!==e.array.constructor){const r=n.count;for(let s=0;s65536?new Uint32Array(s):new Uint16Array(s);t.setIndex(new Vt(a,1))}const o=r>65536?new Uint32Array(i):new Uint16Array(i);t.setAttribute($l,new Vt(o,1)),this._geometryInitialized=!0}}_validateGeometry(e){if(e.getAttribute($l))throw new Error(`BatchedMesh: Geometry cannot use attribute "${$l}"`);const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const i in t.attributes){if(i===$l)continue;if(!e.hasAttribute(i))throw new Error(`BatchedMesh: Added geometry missing "${i}". All geometries must have consistent attributes.`);const r=e.getAttribute(i),s=t.getAttribute(i);if(r.itemSize!==s.itemSize||r.normalized!==s.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new wi);const e=this._geometryCount,t=this.boundingBox,i=this._active;t.makeEmpty();for(let r=0;r=this._maxGeometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");const r={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let s=null;const o=this._reservedRanges,a=this._drawRanges,l=this._bounds;this._geometryCount!==0&&(s=o[o.length-1]),t===-1?r.vertexCount=e.getAttribute("position").count:r.vertexCount=t,s===null?r.vertexStart=0:r.vertexStart=s.vertexStart+s.vertexCount;const f=e.getIndex(),h=f!==null;if(h&&(i===-1?r.indexCount=f.count:r.indexCount=i,s===null?r.indexStart=0:r.indexStart=s.indexStart+s.indexCount),r.indexStart!==-1&&r.indexStart+r.indexCount>this._maxIndexCount||r.vertexStart+r.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const d=this._visibility,p=this._active,m=this._matricesTexture,y=this._matricesTexture.image.data;d.push(!0),p.push(!0);const A=this._geometryCount;this._geometryCount++,Rj.toArray(y,A*16),m.needsUpdate=!0,o.push(r),a.push({start:h?r.indexStart:r.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new wi,sphereInitialized:!1,sphere:new di});const x=this.geometry.getAttribute($l);for(let g=0;g=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const i=this.geometry,r=i.getIndex()!==null,s=i.getIndex(),o=t.getIndex(),a=this._reservedRanges[e];if(r&&o.count>a.indexCount||t.attributes.position.count>a.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const l=a.vertexStart,f=a.vertexCount;for(const m in i.attributes){if(m===$l)continue;const y=t.getAttribute(m),A=i.getAttribute(m);Lj(y,A,l);const x=y.itemSize;for(let g=y.count,_=f;g<_;g++){const S=l+g;for(let E=0;E=t.length||t[e]===!1?this:(t[e]=!1,this._visibilityChanged=!0,this)}getBoundingBoxAt(e,t){if(this._active[e]===!1)return this;const r=this._bounds[e],s=r.box,o=this.geometry;if(r.boxInitialized===!1){s.makeEmpty();const a=o.index,l=o.attributes.position,f=this._drawRanges[e];for(let h=f.start,d=f.start+f.count;h=o||i[e]===!1?this:(t.toArray(s,e*16),r.needsUpdate=!0,this)}getMatrixAt(e,t){const i=this._active,r=this._matricesTexture.image.data,s=this._geometryCount;return e>=s||i[e]===!1?null:t.fromArray(r,e*16)}setVisibleAt(e,t){const i=this._visibility,r=this._active,s=this._geometryCount;return e>=s||r[e]===!1||i[e]===t?this:(i[e]=t,this._visibilityChanged=!0,this)}getVisibleAt(e){const t=this._visibility,i=this._active,r=this._geometryCount;return e>=r||i[e]===!1?!1:t[e]}raycast(e,t){const i=this._visibility,r=this._active,s=this._drawRanges,o=this._geometryCount,a=this.matrixWorld,l=this.geometry;li.material=this.material,li.geometry.index=l.index,li.geometry.attributes=l.attributes,li.geometry.boundingBox===null&&(li.geometry.boundingBox=new wi),li.geometry.boundingSphere===null&&(li.geometry.boundingSphere=new di);for(let f=0;f({...t})),this._reservedRanges=e._reservedRanges.map(t=>({...t})),this._visibility=e._visibility.slice(),this._active=e._active.slice(),this._bounds=e._bounds.map(t=>({boxInitialized:t.boxInitialized,box:t.box.clone(),sphereInitialized:t.sphereInitialized,sphere:t.sphere.clone()})),this._maxGeometryCount=e._maxGeometryCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._geometryCount=e._geometryCount,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.slice(),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this}onBeforeRender(e,t,i,r,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=r.getIndex(),a=o===null?1:o.array.BYTES_PER_ELEMENT,l=this._visibility,f=this._multiDrawStarts,h=this._multiDrawCounts,d=this._drawRanges,p=this.perObjectFrustumCulled;p&&(_b.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse).multiply(this.matrixWorld),Cy.setFromProjectionMatrix(_b,e.isWebGPURenderer?Gc:Or));let m=0;if(this.sortObjects){xb.copy(this.matrixWorld).invert(),Wu.setFromMatrixPosition(i.matrixWorld).applyMatrix4(xb);for(let x=0,g=l.length;xl)continue;p.applyMatrix4(this.matrixWorld);const D=e.ray.origin.distanceTo(p);De.far||t.push({distance:D,point:d.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}else{const g=Math.max(0,o.start),_=Math.min(x.count,o.start+o.count);for(let S=g,E=_-1;Sl)continue;p.applyMatrix4(this.matrixWorld);const b=e.ray.origin.distanceTo(p);be.far||t.push({distance:b,point:d.clone().applyMatrix4(this.matrixWorld),index:S,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,i=Object.keys(t);if(i.length>0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;s0){const r=t[i[0]];if(r!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=r.length;sr.far)return;s.push({distance:f,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,object:o})}}class Ij extends yn{constructor(e,t,i,r,s,o,a,l,f){super(e,t,i,r,s,o,a,l,f),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:wn,this.magFilter=s!==void 0?s:wn,this.generateMipmaps=!1;const h=this;function d(){h.needsUpdate=!0,e.requestVideoFrameCallback(d)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(d)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Dj extends yn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=An,this.minFilter=An,this.generateMipmaps=!1,this.needsUpdate=!0}}class jg extends yn{constructor(e,t,i,r,s,o,a,l,f,h,d,p){super(null,o,a,l,f,h,r,s,d,p),this.isCompressedTexture=!0,this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class Nj extends jg{constructor(e,t,i,r,s,o){super(e,t,i,s,o),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=fi}}class Uj extends jg{constructor(e,t,i){super(void 0,e[0].width,e[0].height,t,i,Ys),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class Oj extends yn{constructor(e,t,i,r,s,o,a,l,f){super(e,t,i,r,s,o,a,l,f),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Hr{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){const t=[];for(let i=0;i<=e;i++)t.push(this.getPointAt(i/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let i,r=this.getPoint(0),s=0;t.push(0);for(let o=1;o<=e;o++)i=this.getPoint(o/e),s+=i.distanceTo(r),t.push(s),r=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const i=this.getLengths();let r=0;const s=i.length;let o;t?o=t:o=e*i[s-1];let a=0,l=s-1,f;for(;a<=l;)if(r=Math.floor(a+(l-a)/2),f=i[r]-o,f<0)a=r+1;else if(f>0)l=r-1;else{l=r;break}if(r=l,i[r]===o)return r/(s-1);const h=i[r],p=i[r+1]-h,m=(o-h)/p;return(r+m)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);const o=this.getPoint(r),a=this.getPoint(s),l=t||(o.isVector2?new me:new U);return l.copy(a).sub(o).normalize(),l}getTangentAt(e,t){const i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t){const i=new U,r=[],s=[],o=[],a=new U,l=new ut;for(let m=0;m<=e;m++){const y=m/e;r[m]=this.getTangentAt(y,new U)}s[0]=new U,o[0]=new U;let f=Number.MAX_VALUE;const h=Math.abs(r[0].x),d=Math.abs(r[0].y),p=Math.abs(r[0].z);h<=f&&(f=h,i.set(1,0,0)),d<=f&&(f=d,i.set(0,1,0)),p<=f&&i.set(0,0,1),a.crossVectors(r[0],i).normalize(),s[0].crossVectors(r[0],a),o[0].crossVectors(r[0],s[0]);for(let m=1;m<=e;m++){if(s[m]=s[m-1].clone(),o[m]=o[m-1].clone(),a.crossVectors(r[m-1],r[m]),a.length()>Number.EPSILON){a.normalize();const y=Math.acos(mn(r[m-1].dot(r[m]),-1,1));s[m].applyMatrix4(l.makeRotationAxis(a,y))}o[m].crossVectors(r[m],s[m])}if(t===!0){let m=Math.acos(mn(s[0].dot(s[e]),-1,1));m/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(m=-m);for(let y=1;y<=e;y++)s[y].applyMatrix4(l.makeRotationAxis(r[y],m*y)),o[y].crossVectors(r[y],s[y])}return{tangents:r,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Xg extends Hr{constructor(e=0,t=0,i=1,r=1,s=0,o=Math.PI*2,a=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=a,this.aRotation=l}getPoint(e,t){const i=t||new me,r=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)r;)s-=r;s0?0:(Math.floor(Math.abs(a)/s)+1)*s:l===0&&a===s-1&&(a=s-2,l=1);let f,h;this.closed||a>0?f=r[(a-1)%s]:(Dp.subVectors(r[0],r[1]).add(r[0]),f=Dp);const d=r[a%s],p=r[(a+1)%s];if(this.closed||a+2r.length-2?r.length-1:o+1],d=r[o>r.length-3?r.length-1:o+2];return i.set(Cb(a,l.x,f.x,h.x,d.x),Cb(a,l.y,f.y,h.y,d.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t=i){const o=r[s]-i,a=this.curves[s],l=a.getLength(),f=l===0?0:1-o/l;return a.getPointAt(f,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,r=this.curves.length;i1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t0){const d=f.getPoint(0);d.equals(this.currentPoint)||this.lineTo(d.x,d.y)}this.curves.push(f);const h=f.getPoint(1);return this.currentPoint.copy(h),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class Ph extends xt{constructor(e=[new me(0,-.5),new me(.5,0),new me(0,.5)],t=12,i=0,r=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:r},t=Math.floor(t),r=mn(r,0,Math.PI*2);const s=[],o=[],a=[],l=[],f=[],h=1/t,d=new U,p=new me,m=new U,y=new U,A=new U;let x=0,g=0;for(let _=0;_<=e.length-1;_++)switch(_){case 0:x=e[_+1].x-e[_].x,g=e[_+1].y-e[_].y,m.x=g*1,m.y=-x,m.z=g*0,A.copy(m),m.normalize(),l.push(m.x,m.y,m.z);break;case e.length-1:l.push(A.x,A.y,A.z);break;default:x=e[_+1].x-e[_].x,g=e[_+1].y-e[_].y,m.x=g*1,m.y=-x,m.z=g*0,y.copy(m),m.x+=A.x,m.y+=A.y,m.z+=A.z,m.normalize(),l.push(m.x,m.y,m.z),A.copy(y)}for(let _=0;_<=t;_++){const S=i+_*h*r,E=Math.sin(S),P=Math.cos(S);for(let b=0;b<=e.length-1;b++){d.x=e[b].x*E,d.y=e[b].y,d.z=e[b].x*P,o.push(d.x,d.y,d.z),p.x=_/t,p.y=b/(e.length-1),a.push(p.x,p.y);const L=l[3*b+0]*E,D=l[3*b+1],C=l[3*b+0]*P;f.push(L,D,C)}}for(let _=0;_0&&S(!0),t>0&&S(!1)),this.setIndex(h),this.setAttribute("position",new Ze(d,3)),this.setAttribute("normal",new Ze(p,3)),this.setAttribute("uv",new Ze(m,2));function _(){const E=new U,P=new U;let b=0;const L=(t-e)/i;for(let D=0;D<=s;D++){const C=[],R=D/s,F=R*(t-e)+e;for(let K=0;K<=r;K++){const le=K/r,V=le*l+a,q=Math.sin(V),ee=Math.cos(V);P.x=F*q,P.y=-R*i+x,P.z=F*ee,d.push(P.x,P.y,P.z),E.set(q,L,ee).normalize(),p.push(E.x,E.y,E.z),m.push(le,1-R),C.push(y++)}A.push(C)}for(let D=0;D.9&&L<.1&&(S<.2&&(o[_+0]+=1),E<.2&&(o[_+2]+=1),P<.2&&(o[_+4]+=1))}}function p(_){s.push(_.x,_.y,_.z)}function m(_,S){const E=_*3;S.x=e[E+0],S.y=e[E+1],S.z=e[E+2]}function y(){const _=new U,S=new U,E=new U,P=new U,b=new me,L=new me,D=new me;for(let C=0,R=0;C80*t){a=f=n[0],l=h=n[1];for(let y=t;yf&&(f=d),p>h&&(h=p);m=Math.max(f-a,h-l),m=m!==0?32767/m:0}return rh(s,o,t,a,l,m,0),o}};function $I(n,e,t,i,r){let s,o;if(r===o9(n,e,t,i)>0)for(s=e;s=e;s-=i)o=Pb(s,n[s],n[s+1],o);return o&&Jg(o,o.next)&&(oh(o),o=o.next),o}function nl(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(Jg(t,t.next)||ln(t.prev,t,t.next)===0)){if(oh(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function rh(n,e,t,i,r,s,o){if(!n)return;!o&&s&&e9(n,i,r,s);let a=n,l,f;for(;n.prev!==n.next;){if(l=n.prev,f=n.next,s?Xj(n,i,r,s):jj(n)){e.push(l.i/t|0),e.push(n.i/t|0),e.push(f.i/t|0),oh(n),n=f.next,a=f.next;continue}if(n=f,n===a){o?o===1?(n=Yj(nl(n),e,t),rh(n,e,t,i,r,s,2)):o===2&&qj(n,e,t,i,r,s):rh(nl(n),e,t,i,r,s,1);break}}}function jj(n){const e=n.prev,t=n,i=n.next;if(ln(e,t,i)>=0)return!1;const r=e.x,s=t.x,o=i.x,a=e.y,l=t.y,f=i.y,h=rs?r>o?r:o:s>o?s:o,m=a>l?a>f?a:f:l>f?l:f;let y=i.next;for(;y!==e;){if(y.x>=h&&y.x<=p&&y.y>=d&&y.y<=m&&Mc(r,a,s,l,o,f,y.x,y.y)&&ln(y.prev,y,y.next)>=0)return!1;y=y.next}return!0}function Xj(n,e,t,i){const r=n.prev,s=n,o=n.next;if(ln(r,s,o)>=0)return!1;const a=r.x,l=s.x,f=o.x,h=r.y,d=s.y,p=o.y,m=al?a>f?a:f:l>f?l:f,x=h>d?h>p?h:p:d>p?d:p,g=W_(m,y,e,t,i),_=W_(A,x,e,t,i);let S=n.prevZ,E=n.nextZ;for(;S&&S.z>=g&&E&&E.z<=_;){if(S.x>=m&&S.x<=A&&S.y>=y&&S.y<=x&&S!==r&&S!==o&&Mc(a,h,l,d,f,p,S.x,S.y)&&ln(S.prev,S,S.next)>=0||(S=S.prevZ,E.x>=m&&E.x<=A&&E.y>=y&&E.y<=x&&E!==r&&E!==o&&Mc(a,h,l,d,f,p,E.x,E.y)&&ln(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;S&&S.z>=g;){if(S.x>=m&&S.x<=A&&S.y>=y&&S.y<=x&&S!==r&&S!==o&&Mc(a,h,l,d,f,p,S.x,S.y)&&ln(S.prev,S,S.next)>=0)return!1;S=S.prevZ}for(;E&&E.z<=_;){if(E.x>=m&&E.x<=A&&E.y>=y&&E.y<=x&&E!==r&&E!==o&&Mc(a,h,l,d,f,p,E.x,E.y)&&ln(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function Yj(n,e,t){let i=n;do{const r=i.prev,s=i.next.next;!Jg(r,s)&&e3(r,i,i.next,s)&&sh(r,s)&&sh(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),oh(i),oh(i.next),i=n=s),i=i.next}while(i!==n);return nl(i)}function qj(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&i9(o,a)){let l=t3(o,a);o=nl(o,o.next),l=nl(l,l.next),rh(o,e,t,i,r,s,0),rh(l,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function Zj(n,e,t,i){const r=[];let s,o,a,l,f;for(s=0,o=e.length;s=t.next.y&&t.next.y!==t.y){const p=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(p<=s&&p>i&&(i=p,r=t.x=t.x&&t.x>=l&&s!==t.x&&Mc(or.x||t.x===r.x&&$j(r,t)))&&(r=t,h=d)),t=t.next;while(t!==a);return r}function $j(n,e){return ln(n.prev,n,e.prev)<0&&ln(e.next,n,n.next)<0}function e9(n,e,t,i){let r=n;do r.z===0&&(r.z=W_(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,t9(r)}function t9(n){let e,t,i,r,s,o,a,l,f=1;do{for(t=n,n=null,s=null,o=0;t;){for(o++,i=t,a=0,e=0;e0||l>0&&i;)a!==0&&(l===0||!i||t.z<=i.z)?(r=t,t=t.nextZ,a--):(r=i,i=i.nextZ,l--),s?s.nextZ=r:n=r,r.prevZ=s,s=r;t=i}s.nextZ=null,f*=2}while(o>1);return n}function W_(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function n9(n){let e=n,t=n;do(e.x=(n-o)*(s-a)&&(n-o)*(i-a)>=(t-o)*(e-a)&&(t-o)*(s-a)>=(r-o)*(i-a)}function i9(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!r9(n,e)&&(sh(n,e)&&sh(e,n)&&s9(n,e)&&(ln(n.prev,n,e.prev)||ln(n,e.prev,e))||Jg(n,e)&&ln(n.prev,n,n.next)>0&&ln(e.prev,e,e.next)>0)}function ln(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function Jg(n,e){return n.x===e.x&&n.y===e.y}function e3(n,e,t,i){const r=kp(ln(n,e,t)),s=kp(ln(n,e,i)),o=kp(ln(t,i,n)),a=kp(ln(t,i,e));return!!(r!==s&&o!==a||r===0&&Fp(n,t,e)||s===0&&Fp(n,i,e)||o===0&&Fp(t,n,i)||a===0&&Fp(t,e,i))}function Fp(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function kp(n){return n>0?1:n<0?-1:0}function r9(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&e3(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function sh(n,e){return ln(n.prev,n,n.next)<0?ln(n,e,n.next)>=0&&ln(n,n.prev,e)>=0:ln(n,e,n.prev)<0||ln(n,n.next,e)<0}function s9(n,e){let t=n,i=!1;const r=(n.x+e.x)/2,s=(n.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function t3(n,e){const t=new j_(n.i,n.x,n.y),i=new j_(e.i,e.x,e.y),r=n.next,s=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,s.next=i,i.prev=s,i}function Pb(n,e,t,i){const r=new j_(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function oh(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function j_(n,e,t){this.i=n,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function o9(n,e,t,i){let r=0;for(let s=e,o=t-i;s2&&n[e-1].equals(n[0])&&n.pop()}function Lb(n,e){for(let t=0;tNumber.EPSILON){const xe=Math.sqrt(Se),qe=Math.sqrt(I*I+te*te),Ie=ye.x-N/xe,Ue=ye.y+Ne/xe,it=de.x-te/qe,pt=de.y+I/qe,Ae=((it-Ie)*te-(pt-Ue)*I)/(Ne*te-N*I);we=Ie+Ne*Ae-H.x,pe=Ue+N*Ae-H.y;const Ct=we*we+pe*pe;if(Ct<=2)return new me(we,pe);Ge=Math.sqrt(Ct/2)}else{let xe=!1;Ne>Number.EPSILON?I>Number.EPSILON&&(xe=!0):Ne<-Number.EPSILON?I<-Number.EPSILON&&(xe=!0):Math.sign(N)===Math.sign(te)&&(xe=!0),xe?(we=-N,pe=Ne,Ge=Math.sqrt(Se)):(we=Ne,pe=N,Ge=Math.sqrt(Se/2))}return new me(we/Ge,pe/Ge)}const j=[];for(let H=0,ye=V.length,de=ye-1,we=H+1;H=0;H--){const ye=H/x,de=m*Math.cos(ye*Math.PI/2),we=y*Math.sin(ye*Math.PI/2)+A;for(let pe=0,Ge=V.length;pe=0;){const we=de;let pe=de-1;pe<0&&(pe=H.length-1);for(let Ge=0,Ne=h+x*2;Ge0)&&m.push(S,E,b),(g!==i-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class o3 extends $n{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new He(16777215),this.specular=new He(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new He(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Mh,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class a3 extends $n{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new He(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new He(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class l3 extends $n{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class c3 extends $n{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new He(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new He(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Mh,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class u3 extends $n{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new He(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ea,this.normalScale=new me(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class f3 extends bi{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function za(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function h3(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function d3(n){function e(r,s){return n[r]-n[s]}const t=n.length,i=new Array(t);for(let r=0;r!==t;++r)i[r]=r;return i.sort(e),i}function X_(n,e,t){const i=n.length,r=new n.constructor(i);for(let s=0,o=0;o!==i;++s){const a=t[s]*e;for(let l=0;l!==e;++l)r[o++]=n[a+l]}return r}function iA(n,e,t,i){let r=1,s=n[0];for(;s!==void 0&&s[i]===void 0;)s=n[r++];if(s===void 0)return;let o=s[i];if(o!==void 0)if(Array.isArray(o))do o=s[i],o!==void 0&&(e.push(s.time),t.push.apply(t,o)),s=n[r++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[i],o!==void 0&&(e.push(s.time),o.toArray(t,t.length)),s=n[r++];while(s!==void 0);else do o=s[i],o!==void 0&&(e.push(s.time),t.push(o)),s=n[r++];while(s!==void 0)}function u9(n,e,t,i,r=30){const s=n.clone();s.name=e;const o=[];for(let l=0;l=i)){d.push(f.times[m]);for(let A=0;As.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[y]){const g=y*d+h,_=g+d-h;A=a.values.slice(g,_)}else{const g=a.createInterpolant(),_=h,S=d-h;g.evaluate(s),A=g.resultBuffer.slice(_,S)}l==="quaternion"&&new hi().fromArray(A).normalize().conjugate().toArray(A);const x=f.times.length;for(let g=0;g=s)){const a=t[1];e=s)break t}o=i,i=0;break n}break e}for(;i>>1;et;)--o;if(++o,s!==0||o!==r){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=i.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,r=this.values,s=i.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==s;a++){const l=i[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,o),e=!1;break}o=l}if(r!==void 0&&h3(r))for(let a=0,l=r.length;a!==l;++a){const f=r[a];if(isNaN(f)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,f),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===pm,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*i,l=o*i,f=0;f!==i;++f)t[l+f]=t[a+f];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*i)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}}Gr.prototype.TimeBufferType=Float32Array;Gr.prototype.ValueBufferType=Float32Array;Gr.prototype.DefaultInterpolation=Kf;class dl extends Gr{}dl.prototype.ValueTypeName="bool";dl.prototype.ValueBufferType=Array;dl.prototype.DefaultInterpolation=Zf;dl.prototype.InterpolantFactoryMethodLinear=void 0;dl.prototype.InterpolantFactoryMethodSmooth=void 0;class sA extends Gr{}sA.prototype.ValueTypeName="color";class ah extends Gr{}ah.prototype.ValueTypeName="number";class g3 extends Ih{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(i-t)/(r-t);let f=e*a;for(let h=f+a;f!==h;f+=4)hi.slerpFlat(s,0,o,f-a,o,f,l);return s}}class tu extends Gr{InterpolantFactoryMethodLinear(e){return new g3(this.times,this.values,this.getValueSize(),e)}}tu.prototype.ValueTypeName="quaternion";tu.prototype.DefaultInterpolation=Kf;tu.prototype.InterpolantFactoryMethodSmooth=void 0;class pl extends Gr{}pl.prototype.ValueTypeName="string";pl.prototype.ValueBufferType=Array;pl.prototype.DefaultInterpolation=Zf;pl.prototype.InterpolantFactoryMethodLinear=void 0;pl.prototype.InterpolantFactoryMethodSmooth=void 0;class lh extends Gr{}lh.prototype.ValueTypeName="vector";class ch{constructor(e,t=-1,i,r=Fg){this.name=e,this.tracks=i,this.duration=t,this.blendMode=r,this.uuid=$i(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,r=1/(e.fps||1);for(let o=0,a=i.length;o!==a;++o)t.push(p9(i[o]).scale(r));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const t=[],i=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=i.length;s!==o;++s)t.push(Gr.toJSON(i[s]));return r}static CreateFromMorphTargetSequence(e,t,i,r){const s=t.length,o=[];for(let a=0;a1){const d=h[1];let p=r[d];p||(r[d]=p=[]),p.push(f)}}const o=[];for(const a in r)o.push(this.CreateFromMorphTargetSequence(a,r[a],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(d,p,m,y,A){if(m.length!==0){const x=[],g=[];iA(m,x,g,y),x.length!==0&&A.push(new d(p,x,g))}},r=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const f=e.hierarchy||[];for(let d=0;d{t&&t(s),this.manager.itemEnd(e)},0),s;if(bs[e]!==void 0){bs[e].push({onLoad:t,onProgress:i,onError:r});return}bs[e]=[],bs[e].push({onLoad:t,onProgress:i,onError:r});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(f=>{if(f.status===200||f.status===0){if(f.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||f.body===void 0||f.body.getReader===void 0)return f;const h=bs[e],d=f.body.getReader(),p=f.headers.get("Content-Length")||f.headers.get("X-File-Size"),m=p?parseInt(p):0,y=m!==0;let A=0;const x=new ReadableStream({start(g){_();function _(){d.read().then(({done:S,value:E})=>{if(S)g.close();else{A+=E.byteLength;const P=new ProgressEvent("progress",{lengthComputable:y,loaded:A,total:m});for(let b=0,L=h.length;b{switch(l){case"arraybuffer":return f.arrayBuffer();case"blob":return f.blob();case"document":return f.text().then(h=>new DOMParser().parseFromString(h,a));case"json":return f.json();default:if(a===void 0)return f.text();{const d=/charset="?([^;"\s]*)"?/i.exec(a),p=d&&d[1]?d[1].toLowerCase():void 0,m=new TextDecoder(p);return f.arrayBuffer().then(y=>m.decode(y))}}}).then(f=>{Os.add(e,f);const h=bs[e];delete bs[e];for(let d=0,p=h.length;d{const h=bs[e];if(h===void 0)throw this.manager.itemError(e),f;delete bs[e];for(let d=0,p=h.length;d{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class g9 extends zi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new qs(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(a){try{t(s.parse(JSON.parse(a)))}catch(l){r?r(l):console.error(l),s.manager.itemError(e)}},i,r)}parse(e){const t=[];for(let i=0;i0:r.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(r.uniforms[s]={},o.type){case"t":r.uniforms[s].value=i(o.value);break;case"c":r.uniforms[s].value=new He().setHex(o.value);break;case"v2":r.uniforms[s].value=new me().fromArray(o.value);break;case"v3":r.uniforms[s].value=new U().fromArray(o.value);break;case"v4":r.uniforms[s].value=new Bt().fromArray(o.value);break;case"m3":r.uniforms[s].value=new wt().fromArray(o.value);break;case"m4":r.uniforms[s].value=new ut().fromArray(o.value);break;default:r.uniforms[s].value=o.value}}if(e.defines!==void 0&&(r.defines=e.defines),e.vertexShader!==void 0&&(r.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(r.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(r.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)r.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(r.lights=e.lights),e.clipping!==void 0&&(r.clipping=e.clipping),e.size!==void 0&&(r.size=e.size),e.sizeAttenuation!==void 0&&(r.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(r.map=i(e.map)),e.matcap!==void 0&&(r.matcap=i(e.matcap)),e.alphaMap!==void 0&&(r.alphaMap=i(e.alphaMap)),e.bumpMap!==void 0&&(r.bumpMap=i(e.bumpMap)),e.bumpScale!==void 0&&(r.bumpScale=e.bumpScale),e.normalMap!==void 0&&(r.normalMap=i(e.normalMap)),e.normalMapType!==void 0&&(r.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),r.normalScale=new me().fromArray(s)}return e.displacementMap!==void 0&&(r.displacementMap=i(e.displacementMap)),e.displacementScale!==void 0&&(r.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(r.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(r.roughnessMap=i(e.roughnessMap)),e.metalnessMap!==void 0&&(r.metalnessMap=i(e.metalnessMap)),e.emissiveMap!==void 0&&(r.emissiveMap=i(e.emissiveMap)),e.emissiveIntensity!==void 0&&(r.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(r.specularMap=i(e.specularMap)),e.specularIntensityMap!==void 0&&(r.specularIntensityMap=i(e.specularIntensityMap)),e.specularColorMap!==void 0&&(r.specularColorMap=i(e.specularColorMap)),e.envMap!==void 0&&(r.envMap=i(e.envMap)),e.envMapIntensity!==void 0&&(r.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(r.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(r.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(r.lightMap=i(e.lightMap)),e.lightMapIntensity!==void 0&&(r.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(r.aoMap=i(e.aoMap)),e.aoMapIntensity!==void 0&&(r.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(r.gradientMap=i(e.gradientMap)),e.clearcoatMap!==void 0&&(r.clearcoatMap=i(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(r.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(r.clearcoatNormalMap=i(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(r.clearcoatNormalScale=new me().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(r.iridescenceMap=i(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(r.iridescenceThicknessMap=i(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(r.transmissionMap=i(e.transmissionMap)),e.thicknessMap!==void 0&&(r.thicknessMap=i(e.thicknessMap)),e.anisotropyMap!==void 0&&(r.anisotropyMap=i(e.anisotropyMap)),e.sheenColorMap!==void 0&&(r.sheenColorMap=i(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(r.sheenRoughnessMap=i(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){const t={ShadowMaterial:i3,SpriteMaterial:Y1,RawShaderMaterial:r3,ShaderMaterial:ds,PointsMaterial:Z1,MeshPhysicalMaterial:s3,MeshStandardMaterial:nA,MeshPhongMaterial:o3,MeshToonMaterial:a3,MeshNormalMaterial:l3,MeshLambertMaterial:c3,MeshDepthMaterial:W1,MeshDistanceMaterial:j1,MeshBasicMaterial:ta,MeshMatcapMaterial:u3,LineDashedMaterial:f3,LineBasicMaterial:bi,Material:$n};return new t[e]}}class Y_{static decodeText(e){if(typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let i=0,r=e.length;i0){const l=new oA(t);s=new uh(l),s.setCrossOrigin(this.crossOrigin);for(let f=0,h=e.length;f0){r=new uh(this.manager),r.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const x=new wi;x.min.fromArray(A.boxMin),x.max.fromArray(A.boxMax);const g=new di;return g.radius=A.sphereRadius,g.center.fromArray(A.sphereCenter),{boxInitialized:A.boxInitialized,box:x,sphereInitialized:A.sphereInitialized,sphere:g}}),o._maxGeometryCount=e.maxGeometryCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=f(e.matricesTexture.uuid);break;case"LOD":o=new VI;break;case"Line":o=new qo(a(e.geometry),l(e.material));break;case"LineLoop":o=new jI(a(e.geometry),l(e.material));break;case"LineSegments":o=new ms(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new XI(a(e.geometry),l(e.material));break;case"Sprite":o=new zI(l(e.material));break;case"Group":o=new Ac;break;case"Bone":o=new q1;break;default:o=new Nt}if(o.uuid=e.uuid,e.name!==void 0&&(o.name=e.name),e.matrix!==void 0?(o.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(o.matrixAutoUpdate=e.matrixAutoUpdate),o.matrixAutoUpdate&&o.matrix.decompose(o.position,o.quaternion,o.scale)):(e.position!==void 0&&o.position.fromArray(e.position),e.rotation!==void 0&&o.rotation.fromArray(e.rotation),e.quaternion!==void 0&&o.quaternion.fromArray(e.quaternion),e.scale!==void 0&&o.scale.fromArray(e.scale)),e.up!==void 0&&o.up.fromArray(e.up),e.castShadow!==void 0&&(o.castShadow=e.castShadow),e.receiveShadow!==void 0&&(o.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.bias!==void 0&&(o.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(o.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(o.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&o.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(o.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(o.visible=e.visible),e.frustumCulled!==void 0&&(o.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(o.renderOrder=e.renderOrder),e.userData!==void 0&&(o.userData=e.userData),e.layers!==void 0&&(o.layers.mask=e.layers),e.children!==void 0){const p=e.children;for(let m=0;m"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,r){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=Os.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(f=>{t&&t(f),s.manager.itemEnd(e)}).catch(f=>{r&&r(f)});return}return setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(e,a).then(function(f){return f.blob()}).then(function(f){return createImageBitmap(f,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(f){return Os.add(e,f),t&&t(f),s.manager.itemEnd(e),f}).catch(function(f){r&&r(f),Os.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});Os.add(e,l),s.manager.itemStart(e)}}let Bp;class lA{static getContext(){return Bp===void 0&&(Bp=new(window.AudioContext||window.webkitAudioContext)),Bp}static setContext(e){Bp=e}}class T9 extends zi{constructor(e){super(e)}load(e,t,i,r){const s=this,o=new qs(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const f=l.slice(0);lA.getContext().decodeAudioData(f,function(d){t(d)}).catch(a)}catch(f){a(f)}},i,r);function a(l){r?r(l):console.error(l),s.manager.itemError(e)}}}const Bb=new ut,zb=new ut,xa=new ut;class b9{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new nn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new nn,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep,xa.copy(e.projectionMatrix);const r=t.eyeSep/2,s=r*t.near/t.focus,o=t.near*Math.tan(ja*t.fov*.5)/t.zoom;let a,l;zb.elements[12]=-r,Bb.elements[12]=r,a=-o*t.aspect+s,l=o*t.aspect+s,xa.elements[0]=2*t.near/(l-a),xa.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(xa),a=-o*t.aspect-s,l=o*t.aspect-s,xa.elements[0]=2*t.near/(l-a),xa.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(xa)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(zb),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Bb)}}class cA{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Vb(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=Vb();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Vb(){return(typeof performance>"u"?Date:performance).now()}const _a=new U,Hb=new hi,C9=new U,Sa=new U;class P9 extends Nt{constructor(){super(),this.type="AudioListener",this.context=lA.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new cA}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(_a,Hb,C9),Sa.set(0,0,-1).applyQuaternion(Hb),t.positionX){const r=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(_a.x,r),t.positionY.linearRampToValueAtTime(_a.y,r),t.positionZ.linearRampToValueAtTime(_a.z,r),t.forwardX.linearRampToValueAtTime(Sa.x,r),t.forwardY.linearRampToValueAtTime(Sa.y,r),t.forwardZ.linearRampToValueAtTime(Sa.z,r),t.upX.linearRampToValueAtTime(i.x,r),t.upY.linearRampToValueAtTime(i.y,r),t.upZ.linearRampToValueAtTime(i.z,r)}else t.setPosition(_a.x,_a.y,_a.z),t.setOrientation(Sa.x,Sa.y,Sa.z,i.x,i.y,i.z)}}class b3 extends Nt{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e0&&this._mixBufferRegionAdditive(i,r,this._addIndex*t,1,t);for(let l=t,f=t+t;l!==f;++l)if(i[l]!==i[l+t]){a.setValue(i,r);break}}saveOriginalState(){const e=this.binding,t=this.buffer,i=this.valueSize,r=i*this._origIndex;e.getValue(t,r);for(let s=i,o=r;s!==o;++s)t[s]=t[r+s%i];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let i=e;i=.5)for(let o=0;o!==s;++o)e[t+o]=e[i+o]}_slerp(e,t,i,r){hi.slerpFlat(e,t,e,t,e,i,r)}_slerpAdditive(e,t,i,r,s){const o=this._workIndex*s;hi.multiplyQuaternionsFlat(e,o,e,t,e,i),hi.slerpFlat(e,t,e,t,e,o,r)}_lerp(e,t,i,r,s){const o=1-r;for(let a=0;a!==s;++a){const l=t+a;e[l]=e[l]*o+e[i+a]*r}}_lerpAdditive(e,t,i,r,s){for(let o=0;o!==s;++o){const a=t+o;e[a]=e[a]+e[i+o]*r}}}const uA="\\[\\]\\.:\\/",D9=new RegExp("["+uA+"]","g"),fA="[^"+uA+"]",N9="[^"+uA.replace("\\.","")+"]",U9=/((?:WC+[\/:])*)/.source.replace("WC",fA),O9=/(WCOD+)?/.source.replace("WCOD",N9),F9=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",fA),k9=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",fA),B9=new RegExp("^"+U9+O9+F9+k9+"$"),z9=["material","materials","bones","map"];class V9{constructor(e,t,i){const r=i||It.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,s=i.length;r!==s;++r)i[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}}class It{constructor(e,t,i){this.path=t,this.parsedPath=i||It.parseTrackName(t),this.node=It.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new It.Composite(e,t,i):new It(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(D9,"")}static parseTrackName(e){const t=B9.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){const s=i.nodeName.substring(r+1);z9.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){const i=function(s){for(let o=0;o=s){const d=s++,p=e[d];t[p.uuid]=h,e[h]=p,t[f]=d,e[d]=l;for(let m=0,y=r;m!==y;++m){const A=i[m],x=A[d],g=A[h];A[h]=x,A[d]=g}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,i=this._bindings,r=i.length;let s=this.nCachedObjects_,o=e.length;for(let a=0,l=arguments.length;a!==l;++a){const f=arguments[a],h=f.uuid,d=t[h];if(d!==void 0)if(delete t[h],d0&&(t[m.uuid]=d),e[d]=m,e.pop();for(let y=0,A=r;y!==A;++y){const x=i[y];x[d]=x[p],x.pop()}}}this.nCachedObjects_=s}subscribe_(e,t){const i=this._bindingsIndicesByPath;let r=i[e];const s=this._bindings;if(r!==void 0)return s[r];const o=this._paths,a=this._parsedPaths,l=this._objects,f=l.length,h=this.nCachedObjects_,d=new Array(f);r=s.length,i[e]=r,o.push(e),a.push(t),s.push(d);for(let p=h,m=l.length;p!==m;++p){const y=l[p];d[p]=new It(y,e,t)}return d}unsubscribe_(e){const t=this._bindingsIndicesByPath,i=t[e];if(i!==void 0){const r=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,l=o[a],f=e[a];t[f]=i,o[i]=l,o.pop(),s[i]=s[a],s.pop(),r[i]=r[a],r.pop()}}}class P3{constructor(e,t,i=null,r=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=i,this.blendMode=r;const s=t.tracks,o=s.length,a=new Array(o),l={endingStart:Fa,endingEnd:Fa};for(let f=0;f!==o;++f){const h=s[f].createInterpolant(null);a[f]=h,h.settings=l}this._interpolantSettings=l,this._interpolants=a,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=fI,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,i){if(e.fadeOut(t),this.fadeIn(t),i){const r=this._clip.duration,s=e._clip.duration,o=s/r,a=r/s;e.warp(1,o,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,i){return e.crossFadeFrom(this,t,i)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,i){const r=this._mixer,s=r.time,o=this.timeScale;let a=this._timeScaleInterpolant;a===null&&(a=r._lendControlInterpolant(),this._timeScaleInterpolant=a);const l=a.parameterPositions,f=a.sampleValues;return l[0]=s,l[1]=s+i,f[0]=e/o,f[1]=t/o,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,i,r){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const l=(e-s)*i;l<0||i===0?t=0:(this._startTime=null,t=i*l)}t*=this._updateTimeScale(e);const o=this._updateTime(t),a=this._updateWeight(e);if(a>0){const l=this._interpolants,f=this._propertyBindings;switch(this.blendMode){case I1:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),f[h].accumulateAdditive(a);break;case Fg:default:for(let h=0,d=l.length;h!==d;++h)l[h].evaluate(o),f[h].accumulate(r,a)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const i=this._weightInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopFading(),r===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const i=this._timeScaleInterpolant;if(i!==null){const r=i.evaluate(e)[0];t*=r,e>i.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,i=this.loop;let r=this.time+e,s=this._loopCount;const o=i===hI;if(e===0)return s===-1?r:o&&(s&1)===1?t-r:r;if(i===uI){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else if(r<0)r=0;else{this.time=r;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),r>=t||r<0){const a=Math.floor(r/t);r-=t*a,s+=Math.abs(a);const l=this.repetitions-s;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const f=e<0;this._setEndings(f,!f,o)}else this._setEndings(!1,!1,o);this._loopCount=s,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=r;if(o&&(s&1)===1)return t-r}return r}_setEndings(e,t,i){const r=this._interpolantSettings;i?(r.endingStart=ka,r.endingEnd=ka):(e?r.endingStart=this.zeroSlopeAtStart?ka:Fa:r.endingStart=Jf,t?r.endingEnd=this.zeroSlopeAtEnd?ka:Fa:r.endingEnd=Jf)}_scheduleFading(e,t,i){const r=this._mixer,s=r.time;let o=this._weightInterpolant;o===null&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);const a=o.parameterPositions,l=o.sampleValues;return a[0]=s,l[0]=t,a[1]=s+e,l[1]=i,this}}const G9=new Float32Array(1);class W9 extends ps{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const i=e._localRoot||this._root,r=e._clip.tracks,s=r.length,o=e._propertyBindings,a=e._interpolants,l=i.uuid,f=this._bindingsByRootAndName;let h=f[l];h===void 0&&(h={},f[l]=h);for(let d=0;d!==s;++d){const p=r[d],m=p.name;let y=h[m];if(y!==void 0)++y.referenceCount,o[d]=y;else{if(y=o[d],y!==void 0){y._cacheIndex===null&&(++y.referenceCount,this._addInactiveBinding(y,l,m));continue}const A=t&&t._propertyBindings[d].binding.parsedPath;y=new C3(It.create(i,m,A),p.ValueTypeName,p.getValueSize()),++y.referenceCount,this._addInactiveBinding(y,l,m),o[d]=y}a[d].resultBuffer=y.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const i=(e._localRoot||this._root).uuid,r=e._clip.uuid,s=this._actionsByClip[r];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,r,i)}const t=e._propertyBindings;for(let i=0,r=t.length;i!==r;++i){const s=t[i];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let i=0,r=t.length;i!==r;++i){const s=t[i];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return t!==null&&t=0;--i)e[i].stop();return this}update(e){e*=this.timeScale;const t=this._actions,i=this._nActiveActions,r=this.time+=e,s=Math.sign(e),o=this._accuIndex^=1;for(let f=0;f!==i;++f)t[f]._update(r,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let f=0;f!==l;++f)a[f].apply(o);return this}setTime(e){this.time=0;for(let t=0;tthis.max.x||e.ythis.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.xthis.max.x||e.max.ythis.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,jb).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Xb=new U,zp=new U;class J9{constructor(e=new U,t=new U){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){Xb.subVectors(e,this.start),zp.subVectors(this.end,this.start);const i=zp.dot(zp);let s=zp.dot(Xb)/i;return t&&(s=mn(s,0,1)),s}closestPointToPoint(e,t,i){const r=this.closestPointToPointParameter(e,t);return this.delta(i).multiplyScalar(r).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const Yb=new U;class Q9 extends Nt{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const i=new xt,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,l=32;o1)for(let d=0;d.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Qb.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Qb,t)}}setLength(e,t=e*.2,i=t*.2){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(i,t,i),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class f7 extends ms{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],i=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new xt;r.setAttribute("position",new Ze(t,3)),r.setAttribute("color",new Ze(i,3));const s=new bi({vertexColors:!0,toneMapped:!1});super(r,s),this.type="AxesHelper"}setColors(e,t,i){const r=new He,s=this.geometry.attributes.color.array;return r.set(e),r.toArray(s,0),r.toArray(s,3),r.set(t),r.toArray(s,6),r.toArray(s,9),r.set(i),r.toArray(s,12),r.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class h7{constructor(){this.type="ShapePath",this.color=new He,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new ih,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,i,r){return this.currentPath.quadraticCurveTo(e,t,i,r),this}bezierCurveTo(e,t,i,r,s,o){return this.currentPath.bezierCurveTo(e,t,i,r,s,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(g){const _=[];for(let S=0,E=g.length;SNumber.EPSILON){if(R<0&&(L=_[b],C=-C,D=_[P],R=-R),g.yD.y)continue;if(g.y===L.y){if(g.x===L.x)return!0}else{const F=R*(g.x-L.x)-C*(g.y-L.y);if(F===0)return!0;if(F<0)continue;E=!E}}else{if(g.y!==L.y)continue;if(D.x<=g.x&&g.x<=L.x||L.x<=g.x&&g.x<=D.x)return!0}}return E}const r=fs.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const f=[];if(s.length===1)return a=s[0],l=new qa,l.curves=a.curves,f.push(l),f;let h=!r(s[0].getPoints());h=e?!h:h;const d=[],p=[];let m=[],y=0,A;p[y]=void 0,m[y]=[];for(let g=0,_=s.length;g<_;g++)a=s[g],A=a.getPoints(),o=r(A),o=e?!o:o,o?(!h&&p[y]&&y++,p[y]={s:new qa,p:A},p[y].s.curves=a.curves,h&&y++,m[y]=[]):m[y].push({h:a,p:A[0]});if(!p[0])return t(s);if(p.length>1){let g=!1,_=0;for(let S=0,E=p.length;S0&&g===!1&&(m=d)}let x;for(let g=0,_=p.length;g<_;g++){l=p[g].s,f.push(l),x=m[g];for(let S=0,E=x.length;S{const d=typeof f=="function"?f(e):f;if(d!==e){const p=e;e=h?d:Object.assign({},e,d),t.forEach(m=>m(e,p))}},r=()=>e,s=(f,h=r,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let p=h(e);function m(){const y=h(e);if(!d(p,y)){const A=p;f(p=y,A)}}return t.add(m),()=>t.delete(m)},l={setState:i,getState:r,subscribe:(f,h,d)=>h||d?s(f,h,d):(t.add(f),()=>t.delete(f)),destroy:()=>t.clear()};return e=n(i,r,l),l}const d7=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),$b=d7?V.useEffect:V.useLayoutEffect;function D3(n){const e=typeof n=="function"?h7(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=V.useReducer(x=>x+1,0),o=e.getState(),a=V.useRef(o),l=V.useRef(i),f=V.useRef(r),h=V.useRef(!1),d=V.useRef();d.current===void 0&&(d.current=i(o));let p,m=!1;(a.current!==o||l.current!==i||f.current!==r||h.current)&&(p=i(o),m=!r(d.current,p)),$b(()=>{m&&(d.current=p),a.current=o,l.current=i,f.current=r,h.current=!1});const y=V.useRef(o);$b(()=>{const x=()=>{try{const _=e.getState(),S=l.current(_);f.current(d.current,S)||(a.current=_,d.current=S,s())}catch{h.current=!0,s()}},g=e.subscribe(x);return e.getState()!==y.current&&x(),g},[]);const A=m?p:d.current;return V.useDebugValue(A),A};return Object.assign(t,e),t[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const i=[t,e];return{next(){const r=i.length<=0;return{value:i.shift(),done:r}}}},t}var N3={exports:{}},U3={exports:{}},O3={};/** + */ml.ConcurrentRoot=1;ml.ContinuousEventPriority=4;ml.DefaultEventPriority=16;ml.DiscreteEventPriority=1;ml.IdleEventPriority=536870912;ml.LegacyRoot=0;I3.exports=ml;var Ec=I3.exports;function p7(n){let e;const t=new Set,i=(f,h)=>{const d=typeof f=="function"?f(e):f;if(d!==e){const p=e;e=h?d:Object.assign({},e,d),t.forEach(m=>m(e,p))}},r=()=>e,s=(f,h=r,d=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let p=h(e);function m(){const y=h(e);if(!d(p,y)){const A=p;f(p=y,A)}}return t.add(m),()=>t.delete(m)},l={setState:i,getState:r,subscribe:(f,h,d)=>h||d?s(f,h,d):(t.add(f),()=>t.delete(f)),destroy:()=>t.clear()};return e=n(i,r,l),l}const m7=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),$b=m7?z.useEffect:z.useLayoutEffect;function D3(n){const e=typeof n=="function"?p7(n):n,t=(i=e.getState,r=Object.is)=>{const[,s]=z.useReducer(x=>x+1,0),o=e.getState(),a=z.useRef(o),l=z.useRef(i),f=z.useRef(r),h=z.useRef(!1),d=z.useRef();d.current===void 0&&(d.current=i(o));let p,m=!1;(a.current!==o||l.current!==i||f.current!==r||h.current)&&(p=i(o),m=!r(d.current,p)),$b(()=>{m&&(d.current=p),a.current=o,l.current=i,f.current=r,h.current=!1});const y=z.useRef(o);$b(()=>{const x=()=>{try{const _=e.getState(),S=l.current(_);f.current(d.current,S)||(a.current=_,d.current=S,s())}catch{h.current=!0,s()}},g=e.subscribe(x);return e.getState()!==y.current&&x(),g},[]);const A=m?p:d.current;return z.useDebugValue(A),A};return Object.assign(t,e),t[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const i=[t,e];return{next(){const r=i.length<=0;return{value:i.shift(),done:r}}}},t}var N3={exports:{}},U3={exports:{}},O3={};/** * @license React * scheduler.production.min.js * @@ -3772,7 +3772,7 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(n){function e(k,j){var Y=k.length;k.push(j);e:for(;0>>1,ie=k[J];if(0>>1;J<$;){var fe=2*(J+1)-1,ve=k[fe],be=fe+1,Pe=k[be];if(0>r(ve,Y))ber(Pe,ve)?(k[J]=Pe,k[be]=Y,J=be):(k[J]=ve,k[fe]=Y,J=fe);else if(ber(Pe,Y))k[J]=Pe,k[be]=Y,J=be;else break e}}return j}function r(k,j){var Y=k.sortIndex-j.sortIndex;return Y!==0?Y:k.id-j.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;n.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,d=null,p=3,m=!1,y=!1,A=!1,x=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(k){for(var j=t(f);j!==null;){if(j.callback===null)i(f);else if(j.startTime<=k)i(f),j.sortIndex=j.expirationTime,e(l,j);else break;j=t(f)}}function E(k){if(A=!1,S(k),!y)if(t(l)!==null)y=!0,ee(P);else{var j=t(f);j!==null&&oe(E,j.startTime-k)}}function P(k,j){y=!1,A&&(A=!1,g(D),D=-1),m=!0;var Y=p;try{for(S(j),d=t(l);d!==null&&(!(d.expirationTime>j)||k&&!F());){var J=d.callback;if(typeof J=="function"){d.callback=null,p=d.priorityLevel;var ie=J(d.expirationTime<=j);j=n.unstable_now(),typeof ie=="function"?d.callback=ie:d===t(l)&&i(l),S(j)}else i(l);d=t(l)}if(d!==null)var $=!0;else{var fe=t(f);fe!==null&&oe(E,fe.startTime-j),$=!1}return $}finally{d=null,p=Y,m=!1}}var b=!1,L=null,D=-1,C=5,R=-1;function F(){return!(n.unstable_now()-Rk||125J?(k.sortIndex=Y,e(f,k),t(l)===null&&k===t(f)&&(A?(g(D),D=-1):A=!0,oe(E,Y-J))):(k.sortIndex=ie,e(l,k),y||m||(y=!0,ee(P))),k},n.unstable_shouldYield=F,n.unstable_wrapCallback=function(k){var j=p;return function(){var Y=p;p=j;try{return k.apply(this,arguments)}finally{p=Y}}}})(O3);U3.exports=O3;var K_=U3.exports;/** + */(function(n){function e(k,j){var Y=k.length;k.push(j);e:for(;0>>1,ie=k[J];if(0>>1;J<$;){var fe=2*(J+1)-1,ve=k[fe],be=fe+1,Pe=k[be];if(0>r(ve,Y))ber(Pe,ve)?(k[J]=Pe,k[be]=Y,J=be):(k[J]=ve,k[fe]=Y,J=fe);else if(ber(Pe,Y))k[J]=Pe,k[be]=Y,J=be;else break e}}return j}function r(k,j){var Y=k.sortIndex-j.sortIndex;return Y!==0?Y:k.id-j.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;n.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var l=[],f=[],h=1,d=null,p=3,m=!1,y=!1,A=!1,x=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(k){for(var j=t(f);j!==null;){if(j.callback===null)i(f);else if(j.startTime<=k)i(f),j.sortIndex=j.expirationTime,e(l,j);else break;j=t(f)}}function E(k){if(A=!1,S(k),!y)if(t(l)!==null)y=!0,ee(P);else{var j=t(f);j!==null&&oe(E,j.startTime-k)}}function P(k,j){y=!1,A&&(A=!1,g(D),D=-1),m=!0;var Y=p;try{for(S(j),d=t(l);d!==null&&(!(d.expirationTime>j)||k&&!F());){var J=d.callback;if(typeof J=="function"){d.callback=null,p=d.priorityLevel;var ie=J(d.expirationTime<=j);j=n.unstable_now(),typeof ie=="function"?d.callback=ie:d===t(l)&&i(l),S(j)}else i(l);d=t(l)}if(d!==null)var $=!0;else{var fe=t(f);fe!==null&&oe(E,fe.startTime-j),$=!1}return $}finally{d=null,p=Y,m=!1}}var b=!1,L=null,D=-1,C=5,R=-1;function F(){return!(n.unstable_now()-Rk||125J?(k.sortIndex=Y,e(f,k),t(l)===null&&k===t(f)&&(A?(g(D),D=-1):A=!0,oe(E,Y-J))):(k.sortIndex=ie,e(l,k),y||m||(y=!0,ee(P))),k},n.unstable_shouldYield=F,n.unstable_wrapCallback=function(k){var j=p;return function(){var Y=p;p=j;try{return k.apply(this,arguments)}finally{p=Y}}}})(O3);U3.exports=O3;var K_=U3.exports;/** * @license React * react-reconciler.production.min.js * @@ -3780,17 +3780,17 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var p7=function(e){var t={},i=V,r=K_,s=Object.assign;function o(c){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+c,v=1;vZ||w[B]!==T[Z]){var he=` -`+w[B].replace(" at new "," at ");return c.displayName&&he.includes("")&&(he=he.replace("",c.displayName)),he}while(1<=B&&0<=Z);break}}}finally{dt=!1,Error.prepareStackTrace=v}return(c=c?c.displayName||c.name:"")?mt(c):""}var rn=Object.prototype.hasOwnProperty,Yn=[],Yt=-1;function kn(c){return{current:c}}function lt(c){0>Yt||(c.current=Yn[Yt],Yn[Yt]=null,Yt--)}function Xe(c,u){Yt++,Yn[Yt]=c.current,c.current=u}var sr={},Et=kn(sr),hn=kn(!1),Gr=sr;function or(c,u){var v=c.type.contextTypes;if(!v)return sr;var M=c.stateNode;if(M&&M.__reactInternalMemoizedUnmaskedChildContext===u)return M.__reactInternalMemoizedMaskedChildContext;var w={},T;for(T in v)w[T]=u[T];return M&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=w),w}function Bn(c){return c=c.childContextTypes,c!=null}function xn(){lt(hn),lt(Et)}function jr(c,u,v){if(Et.current!==sr)throw Error(o(168));Xe(Et,u),Xe(hn,v)}function yl(c,u,v){var M=c.stateNode;if(u=u.childContextTypes,typeof M.getChildContext!="function")return v;M=M.getChildContext();for(var w in M)if(!(w in u))throw Error(o(108,D(c)||"Unknown",w));return s({},v,M)}function qn(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||sr,Gr=Et.current,Xe(Et,c),Xe(hn,hn.current),!0}function xl(c,u,v){var M=c.stateNode;if(!M)throw Error(o(169));v?(c=yl(c,u,Gr),M.__reactInternalMemoizedMergedChildContext=c,lt(hn),lt(Et),Xe(Et,c)):lt(hn),Xe(hn,v)}var Vi=Math.clz32?Math.clz32:rD,kh=Math.log,iD=Math.LN2;function rD(c){return c>>>=0,c===0?32:31-(kh(c)/iD|0)|0}var Bh=64,zh=4194304;function ru(c){switch(c&-c){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return c&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return c&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return c}}function Vh(c,u){var v=c.pendingLanes;if(v===0)return 0;var M=0,w=c.suspendedLanes,T=c.pingedLanes,B=v&268435455;if(B!==0){var Z=B&~w;Z!==0?M=ru(Z):(T&=B,T!==0&&(M=ru(T)))}else B=v&~w,B!==0?M=ru(B):T!==0&&(M=ru(T));if(M===0)return 0;if(u!==0&&u!==M&&!(u&w)&&(w=M&-M,T=u&-u,w>=T||w===16&&(T&4194240)!==0))return u;if(M&4&&(M|=v&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=M;0v;v++)u.push(c);return u}function su(c,u,v){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-Vi(u),c[u]=v}function aD(c,u){var v=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var M=c.eventTimes;for(c=c.expirationTimes;0>=B,w-=B,ys=1<<32-Vi(u)+w|v<Ot?(Hn=yt,yt=null):Hn=yt.sibling;var Ft=st(re,yt,ue[Ot],Be);if(Ft===null){yt===null&&(yt=Hn);break}c&&yt&&Ft.alternate===null&&u(re,yt),Q=T(Ft,Q,Ot),Mt===null?Qe=Ft:Mt.sibling=Ft,Mt=Ft,yt=Hn}if(Ot===ue.length)return v(re,yt),$t&&sa(re,Ot),Qe;if(yt===null){for(;OtOt?(Hn=yt,yt=null):Hn=yt.sibling;var oo=st(re,yt,Ft.value,Be);if(oo===null){yt===null&&(yt=Hn);break}c&&yt&&oo.alternate===null&&u(re,yt),Q=T(oo,Q,Ot),Mt===null?Qe=oo:Mt.sibling=oo,Mt=oo,yt=Hn}if(Ft.done)return v(re,yt),$t&&sa(re,Ot),Qe;if(yt===null){for(;!Ft.done;Ot++,Ft=ue.next())Ft=vt(re,Ft.value,Be),Ft!==null&&(Q=T(Ft,Q,Ot),Mt===null?Qe=Ft:Mt.sibling=Ft,Mt=Ft);return $t&&sa(re,Ot),Qe}for(yt=M(re,yt);!Ft.done;Ot++,Ft=ue.next())Ft=Wt(yt,re,Ot,Ft.value,Be),Ft!==null&&(c&&Ft.alternate!==null&&yt.delete(Ft.key===null?Ot:Ft.key),Q=T(Ft,Q,Ot),Mt===null?Qe=Ft:Mt.sibling=Ft,Mt=Ft);return c&&yt.forEach(function(XD){return u(re,XD)}),$t&&sa(re,Ot),Qe}function pr(re,Q,ue,Be){if(typeof ue=="object"&&ue!==null&&ue.type===h&&ue.key===null&&(ue=ue.props.children),typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case l:e:{for(var Qe=ue.key,Mt=Q;Mt!==null;){if(Mt.key===Qe){if(Qe=ue.type,Qe===h){if(Mt.tag===7){v(re,Mt.sibling),Q=w(Mt,ue.props.children),Q.return=re,re=Q;break e}}else if(Mt.elementType===Qe||typeof Qe=="object"&&Qe!==null&&Qe.$$typeof===S&&DA(Qe)===Mt.type){v(re,Mt.sibling),Q=w(Mt,ue.props),Q.ref=lu(re,Mt,ue),Q.return=re,re=Q;break e}v(re,Mt);break}else u(re,Mt);Mt=Mt.sibling}ue.type===h?(Q=ha(ue.props.children,re.mode,Be,ue.key),Q.return=re,re=Q):(Be=Pd(ue.type,ue.key,ue.props,null,re.mode,Be),Be.ref=lu(re,Q,ue),Be.return=re,re=Be)}return B(re);case f:e:{for(Mt=ue.key;Q!==null;){if(Q.key===Mt)if(Q.tag===4&&Q.stateNode.containerInfo===ue.containerInfo&&Q.stateNode.implementation===ue.implementation){v(re,Q.sibling),Q=w(Q,ue.children||[]),Q.return=re,re=Q;break e}else{v(re,Q);break}else u(re,Q);Q=Q.sibling}Q=dv(ue,re.mode,Be),Q.return=re,re=Q}return B(re);case S:return Mt=ue._init,pr(re,Q,Mt(ue._payload),Be)}if(q(ue))return et(re,Q,ue,Be);if(b(ue))return ii(re,Q,ue,Be);Qh(re,ue)}return typeof ue=="string"&&ue!==""||typeof ue=="number"?(ue=""+ue,Q!==null&&Q.tag===6?(v(re,Q.sibling),Q=w(Q,ue),Q.return=re,re=Q):(v(re,Q),Q=hv(ue,re.mode,Be),Q.return=re,re=Q),B(re)):v(re,Q)}return pr}var El=NA(!0),UA=NA(!1),cu={},ur=kn(cu),uu=kn(cu),Tl=kn(cu);function Kr(c){if(c===cu)throw Error(o(174));return c}function R0(c,u){Xe(Tl,u),Xe(uu,c),Xe(ur,cu),c=oe(u),lt(ur),Xe(ur,c)}function bl(){lt(ur),lt(uu),lt(Tl)}function OA(c){var u=Kr(Tl.current),v=Kr(ur.current);u=k(v,c.type,u),v!==u&&(Xe(uu,c),Xe(ur,u))}function L0(c){uu.current===c&&(lt(ur),lt(uu))}var sn=kn(0);function $h(c){for(var u=c;u!==null;){if(u.tag===13){var v=u.memoizedState;if(v!==null&&(v=v.dehydrated,v===null||nu(v)||iu(v)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var I0=[];function D0(){for(var c=0;cv?v:4,c(!0);var M=fr.transition;fr.transition={};try{c(!1),u()}finally{Ut=v,fr.transition=M}}function KA(){return Jr().memoizedState}function xD(c,u,v){var M=io(c);v={lane:M,action:v,hasEagerState:!1,eagerState:null,next:null},JA(c)?QA(u,v):($A(c,u,v),v=gi(),c=hr(c,M,v),c!==null&&eM(c,u,M))}function _D(c,u,v){var M=io(c),w={lane:M,action:v,hasEagerState:!1,eagerState:null,next:null};if(JA(c))QA(u,w);else{$A(c,u,w);var T=c.alternate;if(c.lanes===0&&(T===null||T.lanes===0)&&(T=u.lastRenderedReducer,T!==null))try{var B=u.lastRenderedState,Z=T(B,v);if(w.hasEagerState=!0,w.eagerState=Z,Yr(Z,B))return}catch{}finally{}v=gi(),c=hr(c,M,v),c!==null&&eM(c,u,M)}}function JA(c){var u=c.alternate;return c===dn||u!==null&&u===dn}function QA(c,u){fu=td=!0;var v=c.pending;v===null?u.next=u:(u.next=v.next,v.next=u),c.pending=u}function $A(c,u,v){En!==null&&c.mode&1&&!(Tt&2)?(c=u.interleaved,c===null?(v.next=v,Zr===null?Zr=[u]:Zr.push(u)):(v.next=c.next,c.next=v),u.interleaved=v):(c=u.pending,c===null?v.next=v:(v.next=c.next,c.next=v),u.pending=v)}function eM(c,u,v){if(v&4194240){var M=u.lanes;M&=c.pendingLanes,v|=M,u.lanes=v,d0(c,v)}}var od={readContext:ar,useCallback:ti,useContext:ti,useEffect:ti,useImperativeHandle:ti,useInsertionEffect:ti,useLayoutEffect:ti,useMemo:ti,useReducer:ti,useRef:ti,useState:ti,useDebugValue:ti,useDeferredValue:ti,useTransition:ti,useMutableSource:ti,useSyncExternalStore:ti,useId:ti,unstable_isNewReconciler:!1},SD={readContext:ar,useCallback:function(c,u){return _s().memoizedState=[c,u===void 0?null:u],c},useContext:ar,useEffect:k0,useImperativeHandle:function(c,u,v){return v=v!=null?v.concat([c]):null,rd(4194308,4,XA.bind(null,u,c),v)},useLayoutEffect:function(c,u){return rd(4194308,4,c,u)},useInsertionEffect:function(c,u){return rd(4,2,c,u)},useMemo:function(c,u){var v=_s();return u=u===void 0?null:u,c=c(),v.memoizedState=[c,u],c},useReducer:function(c,u,v){var M=_s();return u=v!==void 0?v(u):u,M.memoizedState=M.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},M.queue=c,c=c.dispatch=xD.bind(null,dn,c),[M.memoizedState,c]},useRef:function(c){var u=_s();return c={current:c},u.memoizedState=c},useState:F0,useDebugValue:B0,useDeferredValue:function(c){var u=F0(c),v=u[0],M=u[1];return k0(function(){var w=fr.transition;fr.transition={};try{M(c)}finally{fr.transition=w}},[c]),v},useTransition:function(){var c=F0(!1),u=c[0];return c=yD.bind(null,c[1]),_s().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,v){var M=dn,w=_s();if($t){if(v===void 0)throw Error(o(407));v=v()}else{if(v=u(),En===null)throw Error(o(349));Cl&30||BA(M,u,v)}w.memoizedState=v;var T={value:v,getSnapshot:u};return w.queue=T,k0(VA.bind(null,M,T,c),[c]),M.flags|=2048,du(9,zA.bind(null,M,T,v,u),void 0,null),v},useId:function(){var c=_s(),u=En.identifierPrefix;if($t){var v=xs,M=ys;v=(M&~(1<<32-Vi(M)-1)).toString(32)+v,u=":"+u+"R"+v,v=hu++,0")&&(he=he.replace("",c.displayName)),he}while(1<=B&&0<=Z);break}}}finally{dt=!1,Error.prepareStackTrace=v}return(c=c?c.displayName||c.name:"")?mt(c):""}var rn=Object.prototype.hasOwnProperty,Yn=[],Yt=-1;function kn(c){return{current:c}}function lt(c){0>Yt||(c.current=Yn[Yt],Yn[Yt]=null,Yt--)}function Xe(c,u){Yt++,Yn[Yt]=c.current,c.current=u}var sr={},Et=kn(sr),fn=kn(!1),Wr=sr;function or(c,u){var v=c.type.contextTypes;if(!v)return sr;var M=c.stateNode;if(M&&M.__reactInternalMemoizedUnmaskedChildContext===u)return M.__reactInternalMemoizedMaskedChildContext;var w={},T;for(T in v)w[T]=u[T];return M&&(c=c.stateNode,c.__reactInternalMemoizedUnmaskedChildContext=u,c.__reactInternalMemoizedMaskedChildContext=w),w}function Bn(c){return c=c.childContextTypes,c!=null}function xn(){lt(fn),lt(Et)}function jr(c,u,v){if(Et.current!==sr)throw Error(o(168));Xe(Et,u),Xe(fn,v)}function yl(c,u,v){var M=c.stateNode;if(u=u.childContextTypes,typeof M.getChildContext!="function")return v;M=M.getChildContext();for(var w in M)if(!(w in u))throw Error(o(108,D(c)||"Unknown",w));return s({},v,M)}function qn(c){return c=(c=c.stateNode)&&c.__reactInternalMemoizedMergedChildContext||sr,Wr=Et.current,Xe(Et,c),Xe(fn,fn.current),!0}function xl(c,u,v){var M=c.stateNode;if(!M)throw Error(o(169));v?(c=yl(c,u,Wr),M.__reactInternalMemoizedMergedChildContext=c,lt(fn),lt(Et),Xe(Et,c)):lt(fn),Xe(fn,v)}var Vi=Math.clz32?Math.clz32:rD,kh=Math.log,iD=Math.LN2;function rD(c){return c>>>=0,c===0?32:31-(kh(c)/iD|0)|0}var Bh=64,zh=4194304;function ru(c){switch(c&-c){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return c&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return c&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return c}}function Vh(c,u){var v=c.pendingLanes;if(v===0)return 0;var M=0,w=c.suspendedLanes,T=c.pingedLanes,B=v&268435455;if(B!==0){var Z=B&~w;Z!==0?M=ru(Z):(T&=B,T!==0&&(M=ru(T)))}else B=v&~w,B!==0?M=ru(B):T!==0&&(M=ru(T));if(M===0)return 0;if(u!==0&&u!==M&&!(u&w)&&(w=M&-M,T=u&-u,w>=T||w===16&&(T&4194240)!==0))return u;if(M&4&&(M|=v&16),u=c.entangledLanes,u!==0)for(c=c.entanglements,u&=M;0v;v++)u.push(c);return u}function su(c,u,v){c.pendingLanes|=u,u!==536870912&&(c.suspendedLanes=0,c.pingedLanes=0),c=c.eventTimes,u=31-Vi(u),c[u]=v}function aD(c,u){var v=c.pendingLanes&~u;c.pendingLanes=u,c.suspendedLanes=0,c.pingedLanes=0,c.expiredLanes&=u,c.mutableReadLanes&=u,c.entangledLanes&=u,u=c.entanglements;var M=c.eventTimes;for(c=c.expirationTimes;0>=B,w-=B,ys=1<<32-Vi(u)+w|v<Ot?(Hn=yt,yt=null):Hn=yt.sibling;var Ft=st(re,yt,ue[Ot],Be);if(Ft===null){yt===null&&(yt=Hn);break}c&&yt&&Ft.alternate===null&&u(re,yt),Q=T(Ft,Q,Ot),Mt===null?Qe=Ft:Mt.sibling=Ft,Mt=Ft,yt=Hn}if(Ot===ue.length)return v(re,yt),$t&&sa(re,Ot),Qe;if(yt===null){for(;OtOt?(Hn=yt,yt=null):Hn=yt.sibling;var oo=st(re,yt,Ft.value,Be);if(oo===null){yt===null&&(yt=Hn);break}c&&yt&&oo.alternate===null&&u(re,yt),Q=T(oo,Q,Ot),Mt===null?Qe=oo:Mt.sibling=oo,Mt=oo,yt=Hn}if(Ft.done)return v(re,yt),$t&&sa(re,Ot),Qe;if(yt===null){for(;!Ft.done;Ot++,Ft=ue.next())Ft=vt(re,Ft.value,Be),Ft!==null&&(Q=T(Ft,Q,Ot),Mt===null?Qe=Ft:Mt.sibling=Ft,Mt=Ft);return $t&&sa(re,Ot),Qe}for(yt=M(re,yt);!Ft.done;Ot++,Ft=ue.next())Ft=Gt(yt,re,Ot,Ft.value,Be),Ft!==null&&(c&&Ft.alternate!==null&&yt.delete(Ft.key===null?Ot:Ft.key),Q=T(Ft,Q,Ot),Mt===null?Qe=Ft:Mt.sibling=Ft,Mt=Ft);return c&&yt.forEach(function(XD){return u(re,XD)}),$t&&sa(re,Ot),Qe}function pr(re,Q,ue,Be){if(typeof ue=="object"&&ue!==null&&ue.type===h&&ue.key===null&&(ue=ue.props.children),typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case l:e:{for(var Qe=ue.key,Mt=Q;Mt!==null;){if(Mt.key===Qe){if(Qe=ue.type,Qe===h){if(Mt.tag===7){v(re,Mt.sibling),Q=w(Mt,ue.props.children),Q.return=re,re=Q;break e}}else if(Mt.elementType===Qe||typeof Qe=="object"&&Qe!==null&&Qe.$$typeof===S&&DA(Qe)===Mt.type){v(re,Mt.sibling),Q=w(Mt,ue.props),Q.ref=lu(re,Mt,ue),Q.return=re,re=Q;break e}v(re,Mt);break}else u(re,Mt);Mt=Mt.sibling}ue.type===h?(Q=ha(ue.props.children,re.mode,Be,ue.key),Q.return=re,re=Q):(Be=Pd(ue.type,ue.key,ue.props,null,re.mode,Be),Be.ref=lu(re,Q,ue),Be.return=re,re=Be)}return B(re);case f:e:{for(Mt=ue.key;Q!==null;){if(Q.key===Mt)if(Q.tag===4&&Q.stateNode.containerInfo===ue.containerInfo&&Q.stateNode.implementation===ue.implementation){v(re,Q.sibling),Q=w(Q,ue.children||[]),Q.return=re,re=Q;break e}else{v(re,Q);break}else u(re,Q);Q=Q.sibling}Q=dv(ue,re.mode,Be),Q.return=re,re=Q}return B(re);case S:return Mt=ue._init,pr(re,Q,Mt(ue._payload),Be)}if(q(ue))return et(re,Q,ue,Be);if(b(ue))return ii(re,Q,ue,Be);Qh(re,ue)}return typeof ue=="string"&&ue!==""||typeof ue=="number"?(ue=""+ue,Q!==null&&Q.tag===6?(v(re,Q.sibling),Q=w(Q,ue),Q.return=re,re=Q):(v(re,Q),Q=hv(ue,re.mode,Be),Q.return=re,re=Q),B(re)):v(re,Q)}return pr}var El=NA(!0),UA=NA(!1),cu={},ur=kn(cu),uu=kn(cu),Tl=kn(cu);function Kr(c){if(c===cu)throw Error(o(174));return c}function R0(c,u){Xe(Tl,u),Xe(uu,c),Xe(ur,cu),c=oe(u),lt(ur),Xe(ur,c)}function bl(){lt(ur),lt(uu),lt(Tl)}function OA(c){var u=Kr(Tl.current),v=Kr(ur.current);u=k(v,c.type,u),v!==u&&(Xe(uu,c),Xe(ur,u))}function L0(c){uu.current===c&&(lt(ur),lt(uu))}var sn=kn(0);function $h(c){for(var u=c;u!==null;){if(u.tag===13){var v=u.memoizedState;if(v!==null&&(v=v.dehydrated,v===null||nu(v)||iu(v)))return u}else if(u.tag===19&&u.memoizedProps.revealOrder!==void 0){if(u.flags&128)return u}else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===c)break;for(;u.sibling===null;){if(u.return===null||u.return===c)return null;u=u.return}u.sibling.return=u.return,u=u.sibling}return null}var I0=[];function D0(){for(var c=0;cv?v:4,c(!0);var M=fr.transition;fr.transition={};try{c(!1),u()}finally{Ut=v,fr.transition=M}}function KA(){return Jr().memoizedState}function xD(c,u,v){var M=io(c);v={lane:M,action:v,hasEagerState:!1,eagerState:null,next:null},JA(c)?QA(u,v):($A(c,u,v),v=gi(),c=hr(c,M,v),c!==null&&eM(c,u,M))}function _D(c,u,v){var M=io(c),w={lane:M,action:v,hasEagerState:!1,eagerState:null,next:null};if(JA(c))QA(u,w);else{$A(c,u,w);var T=c.alternate;if(c.lanes===0&&(T===null||T.lanes===0)&&(T=u.lastRenderedReducer,T!==null))try{var B=u.lastRenderedState,Z=T(B,v);if(w.hasEagerState=!0,w.eagerState=Z,Yr(Z,B))return}catch{}finally{}v=gi(),c=hr(c,M,v),c!==null&&eM(c,u,M)}}function JA(c){var u=c.alternate;return c===hn||u!==null&&u===hn}function QA(c,u){fu=td=!0;var v=c.pending;v===null?u.next=u:(u.next=v.next,v.next=u),c.pending=u}function $A(c,u,v){En!==null&&c.mode&1&&!(Tt&2)?(c=u.interleaved,c===null?(v.next=v,Zr===null?Zr=[u]:Zr.push(u)):(v.next=c.next,c.next=v),u.interleaved=v):(c=u.pending,c===null?v.next=v:(v.next=c.next,c.next=v),u.pending=v)}function eM(c,u,v){if(v&4194240){var M=u.lanes;M&=c.pendingLanes,v|=M,u.lanes=v,d0(c,v)}}var od={readContext:ar,useCallback:ti,useContext:ti,useEffect:ti,useImperativeHandle:ti,useInsertionEffect:ti,useLayoutEffect:ti,useMemo:ti,useReducer:ti,useRef:ti,useState:ti,useDebugValue:ti,useDeferredValue:ti,useTransition:ti,useMutableSource:ti,useSyncExternalStore:ti,useId:ti,unstable_isNewReconciler:!1},SD={readContext:ar,useCallback:function(c,u){return _s().memoizedState=[c,u===void 0?null:u],c},useContext:ar,useEffect:k0,useImperativeHandle:function(c,u,v){return v=v!=null?v.concat([c]):null,rd(4194308,4,XA.bind(null,u,c),v)},useLayoutEffect:function(c,u){return rd(4194308,4,c,u)},useInsertionEffect:function(c,u){return rd(4,2,c,u)},useMemo:function(c,u){var v=_s();return u=u===void 0?null:u,c=c(),v.memoizedState=[c,u],c},useReducer:function(c,u,v){var M=_s();return u=v!==void 0?v(u):u,M.memoizedState=M.baseState=u,c={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:c,lastRenderedState:u},M.queue=c,c=c.dispatch=xD.bind(null,hn,c),[M.memoizedState,c]},useRef:function(c){var u=_s();return c={current:c},u.memoizedState=c},useState:F0,useDebugValue:B0,useDeferredValue:function(c){var u=F0(c),v=u[0],M=u[1];return k0(function(){var w=fr.transition;fr.transition={};try{M(c)}finally{fr.transition=w}},[c]),v},useTransition:function(){var c=F0(!1),u=c[0];return c=yD.bind(null,c[1]),_s().memoizedState=c,[u,c]},useMutableSource:function(){},useSyncExternalStore:function(c,u,v){var M=hn,w=_s();if($t){if(v===void 0)throw Error(o(407));v=v()}else{if(v=u(),En===null)throw Error(o(349));Cl&30||BA(M,u,v)}w.memoizedState=v;var T={value:v,getSnapshot:u};return w.queue=T,k0(VA.bind(null,M,T,c),[c]),M.flags|=2048,du(9,zA.bind(null,M,T,v,u),void 0,null),v},useId:function(){var c=_s(),u=En.identifierPrefix;if($t){var v=xs,M=ys;v=(M&~(1<<32-Vi(M)-1)).toString(32)+v,u=":"+u+"R"+v,v=hu++,0rv&&(u.flags|=128,M=!0,vu(w,!1),u.lanes=4194304)}else{if(!M)if(c=$h(T),c!==null){if(u.flags|=128,M=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),vu(w,!0),w.tail===null&&w.tailMode==="hidden"&&!T.alternate&&!$t)return ni(u),null}else 2*zn()-w.renderingStartTime>rv&&v!==1073741824&&(u.flags|=128,M=!0,vu(w,!1),u.lanes=4194304);w.isBackwards?(T.sibling=u.child,u.child=T):(c=w.last,c!==null?c.sibling=T:u.child=T,w.last=T)}return w.tail!==null?(u=w.tail,w.rendering=u,w.tail=u.sibling,w.renderingStartTime=zn(),u.sibling=null,c=sn.current,Xe(sn,M?c&1|2:c&1),u):(ni(u),null);case 22:case 23:return cv(),M=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==M&&(u.flags|=8192),M&&u.mode&1?ji&1073741824&&(ni(u),Te&&u.subtreeFlags&6&&(u.flags|=8192)):ni(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var TD=a.ReactCurrentOwner,Gi=!1;function mi(c,u,v,M){u.child=c===null?UA(u,null,v,M):El(u,c.child,v,M)}function lM(c,u,v,M,w){v=v.render;var T=u.ref;return Sl(u,w),M=U0(c,u,v,M,T,w),v=O0(),c!==null&&!Gi?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~w,Ss(c,u,w)):($t&&v&&E0(u),u.flags|=1,mi(c,u,M,w),u.child)}function cM(c,u,v,M,w){if(c===null){var T=v.type;return typeof T=="function"&&!fv(T)&&T.defaultProps===void 0&&v.compare===null&&v.defaultProps===void 0?(u.tag=15,u.type=T,uM(c,u,T,M,w)):(c=Pd(v.type,null,M,u,u.mode,w),c.ref=u.ref,c.return=u,u.child=c)}if(T=c.child,!(c.lanes&w)){var B=T.memoizedProps;if(v=v.compare,v=v!==null?v:Gh,v(B,M)&&c.ref===u.ref)return Ss(c,u,w)}return u.flags|=1,c=so(T,M),c.ref=u.ref,c.return=u,u.child=c}function uM(c,u,v,M,w){if(c!==null&&Gh(c.memoizedProps,M)&&c.ref===u.ref)if(Gi=!1,(c.lanes&w)!==0)c.flags&131072&&(Gi=!0);else return u.lanes=c.lanes,Ss(c,u,w);return H0(c,u,v,M,w)}function fM(c,u,v){var M=u.pendingProps,w=M.children,T=c!==null?c.memoizedState:null;if(M.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},Xe(Pl,ji),ji|=v;else if(v&1073741824)u.memoizedState={baseLanes:0,cachePool:null},M=T!==null?T.baseLanes:v,Xe(Pl,ji),ji|=M;else return c=T!==null?T.baseLanes|v:v,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,Xe(Pl,ji),ji|=c,null;else T!==null?(M=T.baseLanes|v,u.memoizedState=null):M=v,Xe(Pl,ji),ji|=M;return mi(c,u,w,v),u.child}function hM(c,u){var v=u.ref;(c===null&&v!==null||c!==null&&c.ref!==v)&&(u.flags|=512,u.flags|=2097152)}function H0(c,u,v,M,w){var T=Bn(v)?Gr:Et.current;return T=or(u,T),Sl(u,w),v=U0(c,u,v,M,T,w),M=O0(),c!==null&&!Gi?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~w,Ss(c,u,w)):($t&&M&&E0(u),u.flags|=1,mi(c,u,v,w),u.child)}function dM(c,u,v,M,w){if(Bn(v)){var T=!0;qn(u)}else T=!1;if(Sl(u,w),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),bA(u,v,M),w0(u,v,M,w),M=!0;else if(c===null){var B=u.stateNode,Z=u.memoizedProps;B.props=Z;var he=B.context,Ce=v.contextType;typeof Ce=="object"&&Ce!==null?Ce=ar(Ce):(Ce=Bn(v)?Gr:Et.current,Ce=or(u,Ce));var Ye=v.getDerivedStateFromProps,vt=typeof Ye=="function"||typeof B.getSnapshotBeforeUpdate=="function";vt||typeof B.UNSAFE_componentWillReceiveProps!="function"&&typeof B.componentWillReceiveProps!="function"||(Z!==M||he!==Ce)&&CA(u,B,M,Ce),$s=!1;var st=u.memoizedState;B.state=st,qh(u,M,B,w),he=u.memoizedState,Z!==M||st!==he||hn.current||$s?(typeof Ye=="function"&&(M0(u,v,Ye,M),he=u.memoizedState),(Z=$s||TA(u,v,Z,M,st,he,Ce))?(vt||typeof B.UNSAFE_componentWillMount!="function"&&typeof B.componentWillMount!="function"||(typeof B.componentWillMount=="function"&&B.componentWillMount(),typeof B.UNSAFE_componentWillMount=="function"&&B.UNSAFE_componentWillMount()),typeof B.componentDidMount=="function"&&(u.flags|=4194308)):(typeof B.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=M,u.memoizedState=he),B.props=M,B.state=he,B.context=Ce,M=Z):(typeof B.componentDidMount=="function"&&(u.flags|=4194308),M=!1)}else{B=u.stateNode,AA(c,u),Z=u.memoizedProps,Ce=u.type===u.elementType?Z:Mr(u.type,Z),B.props=Ce,vt=u.pendingProps,st=B.context,he=v.contextType,typeof he=="object"&&he!==null?he=ar(he):(he=Bn(v)?Gr:Et.current,he=or(u,he));var Wt=v.getDerivedStateFromProps;(Ye=typeof Wt=="function"||typeof B.getSnapshotBeforeUpdate=="function")||typeof B.UNSAFE_componentWillReceiveProps!="function"&&typeof B.componentWillReceiveProps!="function"||(Z!==vt||st!==he)&&CA(u,B,M,he),$s=!1,st=u.memoizedState,B.state=st,qh(u,M,B,w);var et=u.memoizedState;Z!==vt||st!==et||hn.current||$s?(typeof Wt=="function"&&(M0(u,v,Wt,M),et=u.memoizedState),(Ce=$s||TA(u,v,Ce,M,st,et,he)||!1)?(Ye||typeof B.UNSAFE_componentWillUpdate!="function"&&typeof B.componentWillUpdate!="function"||(typeof B.componentWillUpdate=="function"&&B.componentWillUpdate(M,et,he),typeof B.UNSAFE_componentWillUpdate=="function"&&B.UNSAFE_componentWillUpdate(M,et,he)),typeof B.componentDidUpdate=="function"&&(u.flags|=4),typeof B.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof B.componentDidUpdate!="function"||Z===c.memoizedProps&&st===c.memoizedState||(u.flags|=4),typeof B.getSnapshotBeforeUpdate!="function"||Z===c.memoizedProps&&st===c.memoizedState||(u.flags|=1024),u.memoizedProps=M,u.memoizedState=et),B.props=M,B.state=et,B.context=he,M=Ce):(typeof B.componentDidUpdate!="function"||Z===c.memoizedProps&&st===c.memoizedState||(u.flags|=4),typeof B.getSnapshotBeforeUpdate!="function"||Z===c.memoizedProps&&st===c.memoizedState||(u.flags|=1024),M=!1)}return W0(c,u,v,M,T,w)}function W0(c,u,v,M,w,T){hM(c,u);var B=(u.flags&128)!==0;if(!M&&!B)return w&&xl(u,v,!1),Ss(c,u,T);M=u.stateNode,TD.current=u;var Z=B&&typeof v.getDerivedStateFromError!="function"?null:M.render();return u.flags|=1,c!==null&&B?(u.child=El(u,c.child,null,T),u.child=El(u,null,Z,T)):mi(c,u,Z,T),u.memoizedState=M.state,w&&xl(u,v,!0),u.child}function pM(c){var u=c.stateNode;u.pendingContext?jr(c,u.pendingContext,u.pendingContext!==u.context):u.context&&jr(c,u.context,!1),R0(c,u.containerInfo)}function mM(c,u,v,M,w){return wl(),P0(w),u.flags|=256,mi(c,u,v,M),u.child}var cd={dehydrated:null,treeContext:null,retryLane:0};function ud(c){return{baseLanes:c,cachePool:null}}function gM(c,u,v){var M=u.pendingProps,w=sn.current,T=!1,B=(u.flags&128)!==0,Z;if((Z=B)||(Z=c!==null&&c.memoizedState===null?!1:(w&2)!==0),Z?(T=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(w|=1),Xe(sn,w&1),c===null)return C0(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?iu(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(w=M.children,c=M.fallback,T?(M=u.mode,T=u.child,w={mode:"hidden",children:w},!(M&1)&&T!==null?(T.childLanes=0,T.pendingProps=w):T=Rd(w,M,0,null),c=ha(c,M,v,null),T.return=u,c.return=u,T.sibling=c,u.child=T,u.child.memoizedState=ud(v),u.memoizedState=cd,c):G0(u,w));if(w=c.memoizedState,w!==null){if(Z=w.dehydrated,Z!==null){if(B)return u.flags&256?(u.flags&=-257,fd(c,u,v,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(T=M.fallback,w=u.mode,M=Rd({mode:"visible",children:M.children},w,0,null),T=ha(T,w,v,null),T.flags|=2,M.return=u,T.return=u,M.sibling=T,u.child=M,u.mode&1&&El(u,c.child,null,v),u.child.memoizedState=ud(v),u.memoizedState=cd,T);if(!(u.mode&1))u=fd(c,u,v,null);else if(iu(Z))u=fd(c,u,v,Error(o(419)));else if(M=(v&c.childLanes)!==0,Gi||M){if(M=En,M!==null){switch(v&-v){case 4:T=2;break;case 16:T=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:T=32;break;case 536870912:T=268435456;break;default:T=0}M=T&(M.suspendedLanes|v)?0:T,M!==0&&M!==w.retryLane&&(w.retryLane=M,hr(c,M,-1))}uv(),u=fd(c,u,v,Error(o(421)))}else nu(Z)?(u.flags|=128,u.child=c.child,u=BD.bind(null,c),gl(Z,u),u=null):(v=w.treeContext,ye&&(Wi=Fh(Z),Hi=u,$t=!0,wr=null,ou=!1,v!==null&&(lr[cr++]=ys,lr[cr++]=xs,lr[cr++]=ra,ys=v.id,xs=v.overflow,ra=u)),u=G0(u,u.pendingProps.children),u.flags|=4096);return u}return T?(M=yM(c,u,M.children,M.fallback,v),T=u.child,w=c.child.memoizedState,T.memoizedState=w===null?ud(v):{baseLanes:w.baseLanes|v,cachePool:null},T.childLanes=c.childLanes&~v,u.memoizedState=cd,M):(v=vM(c,u,M.children,v),u.memoizedState=null,v)}return T?(M=yM(c,u,M.children,M.fallback,v),T=u.child,w=c.child.memoizedState,T.memoizedState=w===null?ud(v):{baseLanes:w.baseLanes|v,cachePool:null},T.childLanes=c.childLanes&~v,u.memoizedState=cd,M):(v=vM(c,u,M.children,v),u.memoizedState=null,v)}function G0(c,u){return u=Rd({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function vM(c,u,v,M){var w=c.child;return c=w.sibling,v=so(w,{mode:"visible",children:v}),!(u.mode&1)&&(v.lanes=M),v.return=u,v.sibling=null,c!==null&&(M=u.deletions,M===null?(u.deletions=[c],u.flags|=16):M.push(c)),u.child=v}function yM(c,u,v,M,w){var T=u.mode;c=c.child;var B=c.sibling,Z={mode:"hidden",children:v};return!(T&1)&&u.child!==c?(v=u.child,v.childLanes=0,v.pendingProps=Z,u.deletions=null):(v=so(c,Z),v.subtreeFlags=c.subtreeFlags&14680064),B!==null?M=so(B,M):(M=ha(M,T,w,null),M.flags|=2),M.return=u,v.return=u,v.sibling=M,u.child=v,M}function fd(c,u,v,M){return M!==null&&P0(M),El(u,c.child,null,v),c=G0(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function xM(c,u,v){c.lanes|=u;var M=c.alternate;M!==null&&(M.lanes|=u),S0(c.return,u,v)}function j0(c,u,v,M,w){var T=c.memoizedState;T===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:M,tail:v,tailMode:w}:(T.isBackwards=u,T.rendering=null,T.renderingStartTime=0,T.last=M,T.tail=v,T.tailMode=w)}function _M(c,u,v){var M=u.pendingProps,w=M.revealOrder,T=M.tail;if(mi(c,u,M.children,v),M=sn.current,M&2)M=M&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&xM(c,v,u);else if(c.tag===19)xM(c,v,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}M&=1}if(Xe(sn,M),!(u.mode&1))u.memoizedState=null;else switch(w){case"forwards":for(v=u.child,w=null;v!==null;)c=v.alternate,c!==null&&$h(c)===null&&(w=v),v=v.sibling;v=w,v===null?(w=u.child,u.child=null):(w=v.sibling,v.sibling=null),j0(u,!1,w,v,T);break;case"backwards":for(v=null,w=u.child,u.child=null;w!==null;){if(c=w.alternate,c!==null&&$h(c)===null){u.child=w;break}c=w.sibling,w.sibling=v,v=w,w=c}j0(u,!0,v,null,T);break;case"together":j0(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Ss(c,u,v){if(c!==null&&(u.dependencies=c.dependencies),Rl|=u.lanes,!(v&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,v=so(c,c.pendingProps),u.child=v,v.return=u;c.sibling!==null;)c=c.sibling,v=v.sibling=so(c,c.pendingProps),v.return=u;v.sibling=null}return u.child}function bD(c,u,v){switch(u.tag){case 3:pM(u),wl();break;case 5:OA(u);break;case 1:Bn(u.type)&&qn(u);break;case 4:R0(u,u.stateNode.containerInfo);break;case 10:SA(u,u.type._context,u.memoizedProps.value);break;case 13:var M=u.memoizedState;if(M!==null)return M.dehydrated!==null?(Xe(sn,sn.current&1),u.flags|=128,null):v&u.child.childLanes?gM(c,u,v):(Xe(sn,sn.current&1),c=Ss(c,u,v),c!==null?c.sibling:null);Xe(sn,sn.current&1);break;case 19:if(M=(v&u.childLanes)!==0,c.flags&128){if(M)return _M(c,u,v);u.flags|=128}var w=u.memoizedState;if(w!==null&&(w.rendering=null,w.tail=null,w.lastEffect=null),Xe(sn,sn.current),M)break;return null;case 22:case 23:return u.lanes=0,fM(c,u,v)}return Ss(c,u,v)}function CD(c,u){switch(T0(u),u.tag){case 1:return Bn(u.type)&&xn(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return bl(),lt(hn),lt(Et),D0(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return L0(u),null;case 13:if(lt(sn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));wl()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return lt(sn),null;case 4:return bl(),null;case 10:return _0(u.type._context),null;case 22:case 23:return cv(),null;case 24:return null;default:return null}}var hd=!1,aa=!1,PD=typeof WeakSet=="function"?WeakSet:Set,Fe=null;function dd(c,u){var v=c.ref;if(v!==null)if(typeof v=="function")try{v(null)}catch(M){Ri(c,u,M)}else v.current=null}function X0(c,u,v){try{v()}catch(M){Ri(c,u,M)}}var SM=!1;function RD(c,u){for(j(c.containerInfo),Fe=u;Fe!==null;)if(c=Fe,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,Fe=u;else for(;Fe!==null;){c=Fe;try{var v=c.alternate;if(c.flags&1024)switch(c.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var M=v.memoizedProps,w=v.memoizedState,T=c.stateNode,B=T.getSnapshotBeforeUpdate(c.elementType===c.type?M:Mr(c.type,M),w);T.__reactInternalSnapshotBeforeUpdate=B}break;case 3:Te&&Re(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(Z){Ri(c,c.return,Z)}if(u=c.sibling,u!==null){u.return=c.return,Fe=u;break}Fe=c.return}return v=SM,SM=!1,v}function la(c,u,v){var M=u.updateQueue;if(M=M!==null?M.lastEffect:null,M!==null){var w=M=M.next;do{if((w.tag&c)===c){var T=w.destroy;w.destroy=void 0,T!==void 0&&X0(u,v,T)}w=w.next}while(w!==M)}}function yu(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var v=u=u.next;do{if((v.tag&c)===c){var M=v.create;v.destroy=M()}v=v.next}while(v!==u)}}function Y0(c){var u=c.ref;if(u!==null){var v=c.stateNode;switch(c.tag){case 5:c=ee(v);break;default:c=v}typeof u=="function"?u(c):u.current=c}}function AM(c,u,v){if(Xr&&typeof Xr.onCommitFiberUnmount=="function")try{Xr.onCommitFiberUnmount(Hh,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var M=c=c.next;do{var w=M,T=w.destroy;w=w.tag,T!==void 0&&(w&2||w&4)&&X0(u,v,T),M=M.next}while(M!==c)}break;case 1:if(dd(u,v),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(B){Ri(u,v,B)}break;case 5:dd(u,v);break;case 4:Te?CM(c,u,v):W&&W&&(u=u.stateNode.containerInfo,v=rt(u),Rt(u,v))}}function MM(c,u,v){for(var M=u;;)if(AM(c,M,v),M.child===null||Te&&M.tag===4){if(M===u)break;for(;M.sibling===null;){if(M.return===null||M.return===u)return;M=M.return}M.sibling.return=M.return,M=M.sibling}else M.child.return=M,M=M.child}function wM(c){var u=c.alternate;u!==null&&(c.alternate=null,wM(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&We(u)),c.stateNode=null,c.return=null,c.dependencies=null,c.memoizedProps=null,c.memoizedState=null,c.pendingProps=null,c.stateNode=null,c.updateQueue=null}function EM(c){return c.tag===5||c.tag===3||c.tag===4}function TM(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||EM(c.return))return null;c=c.return}for(c.sibling.return=c.return,c=c.sibling;c.tag!==5&&c.tag!==6&&c.tag!==18;){if(c.flags&2||c.child===null||c.tag===4)continue e;c.child.return=c,c=c.child}if(!(c.flags&2))return c.stateNode}}function bM(c){if(Te){e:{for(var u=c.return;u!==null;){if(EM(u))break e;u=u.return}throw Error(o(160))}var v=u;switch(v.tag){case 5:u=v.stateNode,v.flags&32&&(ge(u),v.flags&=-33),v=TM(c),Z0(c,v,u);break;case 3:case 4:u=v.stateNode.containerInfo,v=TM(c),q0(c,v,u);break;default:throw Error(o(161))}}}function q0(c,u,v){var M=c.tag;if(M===5||M===6)c=c.stateNode,u?tt(v,c,u):pt(v,c);else if(M!==4&&(c=c.child,c!==null))for(q0(c,u,v),c=c.sibling;c!==null;)q0(c,u,v),c=c.sibling}function Z0(c,u,v){var M=c.tag;if(M===5||M===6)c=c.stateNode,u?ft(v,c,u):it(v,c);else if(M!==4&&(c=c.child,c!==null))for(Z0(c,u,v),c=c.sibling;c!==null;)Z0(c,u,v),c=c.sibling}function CM(c,u,v){for(var M=u,w=!1,T,B;;){if(!w){w=M.return;e:for(;;){if(w===null)throw Error(o(160));switch(T=w.stateNode,w.tag){case 5:B=!1;break e;case 3:T=T.containerInfo,B=!0;break e;case 4:T=T.containerInfo,B=!0;break e}w=w.return}w=!0}if(M.tag===5||M.tag===6)MM(c,M,v),B?X(T,M.stateNode):Ge(T,M.stateNode);else if(M.tag===18)B?se(T,M.stateNode):ce(T,M.stateNode);else if(M.tag===4){if(M.child!==null){T=M.stateNode.containerInfo,B=!0,M.child.return=M,M=M.child;continue}}else if(AM(c,M,v),M.child!==null){M.child.return=M,M=M.child;continue}if(M===u)break;for(;M.sibling===null;){if(M.return===null||M.return===u)return;M=M.return,M.tag===4&&(w=!1)}M.sibling.return=M.return,M=M.sibling}}function K0(c,u){if(Te){switch(u.tag){case 0:case 11:case 14:case 15:la(3,u,u.return),yu(3,u),la(5,u,u.return);return;case 1:return;case 5:var v=u.stateNode;if(v!=null){var M=u.memoizedProps;c=c!==null?c.memoizedProps:M;var w=u.type,T=u.updateQueue;u.updateQueue=null,T!==null&&_t(v,T,w,c,M,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));v=u.memoizedProps,Ae(u.stateNode,c!==null?c.memoizedProps:v,v);return;case 3:ye&&c!==null&&c.memoizedState.isDehydrated&&ne(u.stateNode.containerInfo);return;case 12:return;case 13:pd(u);return;case 19:pd(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:la(3,u,u.return),yu(3,u),la(5,u,u.return);return;case 12:return;case 13:pd(u);return;case 19:pd(u);return;case 3:ye&&c!==null&&c.memoizedState.isDehydrated&&ne(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(W){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,Rt(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function pd(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var v=c.stateNode;v===null&&(v=c.stateNode=new PD),u.forEach(function(M){var w=zD.bind(null,c,M);v.has(M)||(v.add(M),M.then(w,w))})}}function LD(c,u){for(Fe=u;Fe!==null;){u=Fe;var v=u.deletions;if(v!==null)for(var M=0;M";case gd:return":has("+($0(c)||"")+")";case vd:return'[role="'+c.value+'"]';case xd:return'"'+c.value+'"';case yd:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function DM(c,u){var v=[];c=[c,0];for(var M=0;Mw&&(w=B),M&=~T}if(M=w,M=zn()-M,M=(120>M?120:480>M?480:1080>M?1080:1920>M?1920:3e3>M?3e3:4320>M?4320:1960*DD(M/1960))-M,10c?16:c,no===null)var M=!1;else{if(c=no,no=null,wd=0,Tt&6)throw Error(o(331));var w=Tt;for(Tt|=4,Fe=c.current;Fe!==null;){var T=Fe,B=T.child;if(Fe.flags&16){var Z=T.deletions;if(Z!==null){for(var he=0;hezn()-iv?ca(c,0):nv|=v),Pi(c,u)}function HM(c,u){u===0&&(c.mode&1?(u=zh,zh<<=1,!(zh&130023424)&&(zh=4194304)):u=1);var v=gi();c=bd(c,u),c!==null&&(su(c,u,v),Pi(c,v))}function BD(c){var u=c.memoizedState,v=0;u!==null&&(v=u.retryLane),HM(c,v)}function zD(c,u){var v=0;switch(c.tag){case 13:var M=c.stateNode,w=c.memoizedState;w!==null&&(v=w.retryLane);break;case 19:M=c.stateNode;break;default:throw Error(o(314))}M!==null&&M.delete(u),HM(c,v)}var WM;WM=function(c,u,v){if(c!==null)if(c.memoizedProps!==u.pendingProps||hn.current)Gi=!0;else{if(!(c.lanes&v)&&!(u.flags&128))return Gi=!1,bD(c,u,v);Gi=!!(c.flags&131072)}else Gi=!1,$t&&u.flags&1048576&&PA(u,Jh,u.index);switch(u.lanes=0,u.tag){case 2:var M=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var w=or(u,Et.current);Sl(u,v),w=U0(null,u,M,c,w,v);var T=O0();return u.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Bn(M)?(T=!0,qn(u)):T=!1,u.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,A0(u),w.updater=Zh,u.stateNode=w,w._reactInternals=u,w0(u,M,c,v),u=W0(null,u,M,!0,T,v)):(u.tag=0,$t&&T&&E0(u),mi(null,u,w,v),u=u.child),u;case 16:M=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,w=M._init,M=w(M._payload),u.type=M,w=u.tag=HD(M),c=Mr(M,c),w){case 0:u=H0(null,u,M,c,v);break e;case 1:u=dM(null,u,M,c,v);break e;case 11:u=lM(null,u,M,c,v);break e;case 14:u=cM(null,u,M,Mr(M.type,c),v);break e}throw Error(o(306,M,""))}return u;case 0:return M=u.type,w=u.pendingProps,w=u.elementType===M?w:Mr(M,w),H0(c,u,M,w,v);case 1:return M=u.type,w=u.pendingProps,w=u.elementType===M?w:Mr(M,w),dM(c,u,M,w,v);case 3:e:{if(pM(u),c===null)throw Error(o(387));M=u.pendingProps,T=u.memoizedState,w=T.element,AA(c,u),qh(u,M,null,v);var B=u.memoizedState;if(M=B.element,ye&&T.isDehydrated)if(T={element:M,isDehydrated:!1,cache:B.cache,transitions:B.transitions},u.updateQueue.baseState=T,u.memoizedState=T,u.flags&256){w=Error(o(423)),u=mM(c,u,M,v,w);break e}else if(M!==w){w=Error(o(424)),u=mM(c,u,M,v,w);break e}else for(ye&&(Wi=Oh(u.stateNode.containerInfo),Hi=u,$t=!0,wr=null,ou=!1),v=UA(u,null,M,v),u.child=v;v;)v.flags=v.flags&-3|4096,v=v.sibling;else{if(wl(),M===w){u=Ss(c,u,v);break e}mi(c,u,M,v)}u=u.child}return u;case 5:return OA(u),c===null&&C0(u),M=u.type,w=u.pendingProps,T=c!==null?c.memoizedProps:null,B=w.children,ve(M,w)?B=null:T!==null&&ve(M,T)&&(u.flags|=32),hM(c,u),mi(c,u,B,v),u.child;case 6:return c===null&&C0(u),null;case 13:return gM(c,u,v);case 4:return R0(u,u.stateNode.containerInfo),M=u.pendingProps,c===null?u.child=El(u,null,M,v):mi(c,u,M,v),u.child;case 11:return M=u.type,w=u.pendingProps,w=u.elementType===M?w:Mr(M,w),lM(c,u,M,w,v);case 7:return mi(c,u,u.pendingProps,v),u.child;case 8:return mi(c,u,u.pendingProps.children,v),u.child;case 12:return mi(c,u,u.pendingProps.children,v),u.child;case 10:e:{if(M=u.type._context,w=u.pendingProps,T=u.memoizedProps,B=w.value,SA(u,M,B),T!==null)if(Yr(T.value,B)){if(T.children===w.children&&!hn.current){u=Ss(c,u,v);break e}}else for(T=u.child,T!==null&&(T.return=u);T!==null;){var Z=T.dependencies;if(Z!==null){B=T.child;for(var he=Z.firstContext;he!==null;){if(he.context===M){if(T.tag===1){he=vs(-1,v&-v),he.tag=2;var Ce=T.updateQueue;if(Ce!==null){Ce=Ce.shared;var Ye=Ce.pending;Ye===null?he.next=he:(he.next=Ye.next,Ye.next=he),Ce.pending=he}}T.lanes|=v,he=T.alternate,he!==null&&(he.lanes|=v),S0(T.return,v,u),Z.lanes|=v;break}he=he.next}}else if(T.tag===10)B=T.type===u.type?null:T.child;else if(T.tag===18){if(B=T.return,B===null)throw Error(o(341));B.lanes|=v,Z=B.alternate,Z!==null&&(Z.lanes|=v),S0(B,v,u),B=T.sibling}else B=T.child;if(B!==null)B.return=T;else for(B=T;B!==null;){if(B===u){B=null;break}if(T=B.sibling,T!==null){T.return=B.return,B=T;break}B=B.return}T=B}mi(c,u,w.children,v),u=u.child}return u;case 9:return w=u.type,M=u.pendingProps.children,Sl(u,v),w=ar(w),M=M(w),u.flags|=1,mi(c,u,M,v),u.child;case 14:return M=u.type,w=Mr(M,u.pendingProps),w=Mr(M.type,w),cM(c,u,M,w,v);case 15:return uM(c,u,u.type,u.pendingProps,v);case 17:return M=u.type,w=u.pendingProps,w=u.elementType===M?w:Mr(M,w),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,Bn(M)?(c=!0,qn(u)):c=!1,Sl(u,v),bA(u,M,w),w0(u,M,w,v),W0(null,u,M,!0,c,v);case 19:return _M(c,u,v);case 22:return fM(c,u,v)}throw Error(o(156,u.tag))};function GM(c,u){return p0(c,u)}function VD(c,u,v,M){this.tag=c,this.key=v,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=M,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function dr(c,u,v,M){return new VD(c,u,v,M)}function fv(c){return c=c.prototype,!(!c||!c.isReactComponent)}function HD(c){if(typeof c=="function")return fv(c)?1:0;if(c!=null){if(c=c.$$typeof,c===A)return 11;if(c===_)return 14}return 2}function so(c,u){var v=c.alternate;return v===null?(v=dr(c.tag,u,c.key,c.mode),v.elementType=c.elementType,v.type=c.type,v.stateNode=c.stateNode,v.alternate=c,c.alternate=v):(v.pendingProps=u,v.type=c.type,v.flags=0,v.subtreeFlags=0,v.deletions=null),v.flags=c.flags&14680064,v.childLanes=c.childLanes,v.lanes=c.lanes,v.child=c.child,v.memoizedProps=c.memoizedProps,v.memoizedState=c.memoizedState,v.updateQueue=c.updateQueue,u=c.dependencies,v.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},v.sibling=c.sibling,v.index=c.index,v.ref=c.ref,v}function Pd(c,u,v,M,w,T){var B=2;if(M=c,typeof c=="function")fv(c)&&(B=1);else if(typeof c=="string")B=5;else e:switch(c){case h:return ha(v.children,w,T,u);case d:B=8,w|=8;break;case p:return c=dr(12,v,u,w|2),c.elementType=p,c.lanes=T,c;case x:return c=dr(13,v,u,w),c.elementType=x,c.lanes=T,c;case g:return c=dr(19,v,u,w),c.elementType=g,c.lanes=T,c;case E:return Rd(v,w,T,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case m:B=10;break e;case y:B=9;break e;case A:B=11;break e;case _:B=14;break e;case S:B=16,M=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=dr(B,v,u,w),u.elementType=c,u.type=M,u.lanes=T,u}function ha(c,u,v,M){return c=dr(7,c,M,u),c.lanes=v,c}function Rd(c,u,v,M){return c=dr(22,c,M,u),c.elementType=E,c.lanes=v,c.stateNode={},c}function hv(c,u,v){return c=dr(6,c,null,u),c.lanes=v,c}function dv(c,u,v){return u=dr(4,c.children!==null?c.children:[],c.key,u),u.lanes=v,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function WD(c,u,v,M,w){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=nt,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=h0(0),this.expirationTimes=h0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=h0(0),this.identifierPrefix=M,this.onRecoverableError=w,ye&&(this.mutableSourceEagerHydrationData=null)}function jM(c,u,v,M,w,T,B,Z,he){return c=new WD(c,u,v,Z,he),u===1?(u=1,T===!0&&(u|=8)):u=0,T=dr(3,null,null,u),c.current=T,T.stateNode=c,T.memoizedState={element:M,isDehydrated:v,cache:null,transitions:null},A0(T),c}function XM(c){if(!c)return sr;c=c._reactInternals;e:{if(C(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Bn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var v=c.type;if(Bn(v))return yl(c,v,u)}return u}function YM(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=K(u),c===null?null:c.stateNode}function qM(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var v=c.retryLane;c.retryLane=v!==0&&v=Ce&&T>=vt&&w<=Ye&&B<=st){c.splice(u,1);break}else if(M!==Ce||v.width!==he.width||stB){if(!(T!==vt||v.height!==he.height||Yew)){Ce>M&&(he.width+=Ce-M,he.x=M),YeT&&(he.height+=vt-T,he.y=T),stv&&(v=B)),Brv&&(u.flags|=128,M=!0,vu(w,!1),u.lanes=4194304)}else{if(!M)if(c=$h(T),c!==null){if(u.flags|=128,M=!0,c=c.updateQueue,c!==null&&(u.updateQueue=c,u.flags|=4),vu(w,!0),w.tail===null&&w.tailMode==="hidden"&&!T.alternate&&!$t)return ni(u),null}else 2*zn()-w.renderingStartTime>rv&&v!==1073741824&&(u.flags|=128,M=!0,vu(w,!1),u.lanes=4194304);w.isBackwards?(T.sibling=u.child,u.child=T):(c=w.last,c!==null?c.sibling=T:u.child=T,w.last=T)}return w.tail!==null?(u=w.tail,w.rendering=u,w.tail=u.sibling,w.renderingStartTime=zn(),u.sibling=null,c=sn.current,Xe(sn,M?c&1|2:c&1),u):(ni(u),null);case 22:case 23:return cv(),M=u.memoizedState!==null,c!==null&&c.memoizedState!==null!==M&&(u.flags|=8192),M&&u.mode&1?ji&1073741824&&(ni(u),Te&&u.subtreeFlags&6&&(u.flags|=8192)):ni(u),null;case 24:return null;case 25:return null}throw Error(o(156,u.tag))}var TD=a.ReactCurrentOwner,Wi=!1;function mi(c,u,v,M){u.child=c===null?UA(u,null,v,M):El(u,c.child,v,M)}function lM(c,u,v,M,w){v=v.render;var T=u.ref;return Sl(u,w),M=U0(c,u,v,M,T,w),v=O0(),c!==null&&!Wi?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~w,Ss(c,u,w)):($t&&v&&E0(u),u.flags|=1,mi(c,u,M,w),u.child)}function cM(c,u,v,M,w){if(c===null){var T=v.type;return typeof T=="function"&&!fv(T)&&T.defaultProps===void 0&&v.compare===null&&v.defaultProps===void 0?(u.tag=15,u.type=T,uM(c,u,T,M,w)):(c=Pd(v.type,null,M,u,u.mode,w),c.ref=u.ref,c.return=u,u.child=c)}if(T=c.child,!(c.lanes&w)){var B=T.memoizedProps;if(v=v.compare,v=v!==null?v:Wh,v(B,M)&&c.ref===u.ref)return Ss(c,u,w)}return u.flags|=1,c=so(T,M),c.ref=u.ref,c.return=u,u.child=c}function uM(c,u,v,M,w){if(c!==null&&Wh(c.memoizedProps,M)&&c.ref===u.ref)if(Wi=!1,(c.lanes&w)!==0)c.flags&131072&&(Wi=!0);else return u.lanes=c.lanes,Ss(c,u,w);return H0(c,u,v,M,w)}function fM(c,u,v){var M=u.pendingProps,w=M.children,T=c!==null?c.memoizedState:null;if(M.mode==="hidden")if(!(u.mode&1))u.memoizedState={baseLanes:0,cachePool:null},Xe(Pl,ji),ji|=v;else if(v&1073741824)u.memoizedState={baseLanes:0,cachePool:null},M=T!==null?T.baseLanes:v,Xe(Pl,ji),ji|=M;else return c=T!==null?T.baseLanes|v:v,u.lanes=u.childLanes=1073741824,u.memoizedState={baseLanes:c,cachePool:null},u.updateQueue=null,Xe(Pl,ji),ji|=c,null;else T!==null?(M=T.baseLanes|v,u.memoizedState=null):M=v,Xe(Pl,ji),ji|=M;return mi(c,u,w,v),u.child}function hM(c,u){var v=u.ref;(c===null&&v!==null||c!==null&&c.ref!==v)&&(u.flags|=512,u.flags|=2097152)}function H0(c,u,v,M,w){var T=Bn(v)?Wr:Et.current;return T=or(u,T),Sl(u,w),v=U0(c,u,v,M,T,w),M=O0(),c!==null&&!Wi?(u.updateQueue=c.updateQueue,u.flags&=-2053,c.lanes&=~w,Ss(c,u,w)):($t&&M&&E0(u),u.flags|=1,mi(c,u,v,w),u.child)}function dM(c,u,v,M,w){if(Bn(v)){var T=!0;qn(u)}else T=!1;if(Sl(u,w),u.stateNode===null)c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),bA(u,v,M),w0(u,v,M,w),M=!0;else if(c===null){var B=u.stateNode,Z=u.memoizedProps;B.props=Z;var he=B.context,Ce=v.contextType;typeof Ce=="object"&&Ce!==null?Ce=ar(Ce):(Ce=Bn(v)?Wr:Et.current,Ce=or(u,Ce));var Ye=v.getDerivedStateFromProps,vt=typeof Ye=="function"||typeof B.getSnapshotBeforeUpdate=="function";vt||typeof B.UNSAFE_componentWillReceiveProps!="function"&&typeof B.componentWillReceiveProps!="function"||(Z!==M||he!==Ce)&&CA(u,B,M,Ce),$s=!1;var st=u.memoizedState;B.state=st,qh(u,M,B,w),he=u.memoizedState,Z!==M||st!==he||fn.current||$s?(typeof Ye=="function"&&(M0(u,v,Ye,M),he=u.memoizedState),(Z=$s||TA(u,v,Z,M,st,he,Ce))?(vt||typeof B.UNSAFE_componentWillMount!="function"&&typeof B.componentWillMount!="function"||(typeof B.componentWillMount=="function"&&B.componentWillMount(),typeof B.UNSAFE_componentWillMount=="function"&&B.UNSAFE_componentWillMount()),typeof B.componentDidMount=="function"&&(u.flags|=4194308)):(typeof B.componentDidMount=="function"&&(u.flags|=4194308),u.memoizedProps=M,u.memoizedState=he),B.props=M,B.state=he,B.context=Ce,M=Z):(typeof B.componentDidMount=="function"&&(u.flags|=4194308),M=!1)}else{B=u.stateNode,AA(c,u),Z=u.memoizedProps,Ce=u.type===u.elementType?Z:Mr(u.type,Z),B.props=Ce,vt=u.pendingProps,st=B.context,he=v.contextType,typeof he=="object"&&he!==null?he=ar(he):(he=Bn(v)?Wr:Et.current,he=or(u,he));var Gt=v.getDerivedStateFromProps;(Ye=typeof Gt=="function"||typeof B.getSnapshotBeforeUpdate=="function")||typeof B.UNSAFE_componentWillReceiveProps!="function"&&typeof B.componentWillReceiveProps!="function"||(Z!==vt||st!==he)&&CA(u,B,M,he),$s=!1,st=u.memoizedState,B.state=st,qh(u,M,B,w);var et=u.memoizedState;Z!==vt||st!==et||fn.current||$s?(typeof Gt=="function"&&(M0(u,v,Gt,M),et=u.memoizedState),(Ce=$s||TA(u,v,Ce,M,st,et,he)||!1)?(Ye||typeof B.UNSAFE_componentWillUpdate!="function"&&typeof B.componentWillUpdate!="function"||(typeof B.componentWillUpdate=="function"&&B.componentWillUpdate(M,et,he),typeof B.UNSAFE_componentWillUpdate=="function"&&B.UNSAFE_componentWillUpdate(M,et,he)),typeof B.componentDidUpdate=="function"&&(u.flags|=4),typeof B.getSnapshotBeforeUpdate=="function"&&(u.flags|=1024)):(typeof B.componentDidUpdate!="function"||Z===c.memoizedProps&&st===c.memoizedState||(u.flags|=4),typeof B.getSnapshotBeforeUpdate!="function"||Z===c.memoizedProps&&st===c.memoizedState||(u.flags|=1024),u.memoizedProps=M,u.memoizedState=et),B.props=M,B.state=et,B.context=he,M=Ce):(typeof B.componentDidUpdate!="function"||Z===c.memoizedProps&&st===c.memoizedState||(u.flags|=4),typeof B.getSnapshotBeforeUpdate!="function"||Z===c.memoizedProps&&st===c.memoizedState||(u.flags|=1024),M=!1)}return G0(c,u,v,M,T,w)}function G0(c,u,v,M,w,T){hM(c,u);var B=(u.flags&128)!==0;if(!M&&!B)return w&&xl(u,v,!1),Ss(c,u,T);M=u.stateNode,TD.current=u;var Z=B&&typeof v.getDerivedStateFromError!="function"?null:M.render();return u.flags|=1,c!==null&&B?(u.child=El(u,c.child,null,T),u.child=El(u,null,Z,T)):mi(c,u,Z,T),u.memoizedState=M.state,w&&xl(u,v,!0),u.child}function pM(c){var u=c.stateNode;u.pendingContext?jr(c,u.pendingContext,u.pendingContext!==u.context):u.context&&jr(c,u.context,!1),R0(c,u.containerInfo)}function mM(c,u,v,M,w){return wl(),P0(w),u.flags|=256,mi(c,u,v,M),u.child}var cd={dehydrated:null,treeContext:null,retryLane:0};function ud(c){return{baseLanes:c,cachePool:null}}function gM(c,u,v){var M=u.pendingProps,w=sn.current,T=!1,B=(u.flags&128)!==0,Z;if((Z=B)||(Z=c!==null&&c.memoizedState===null?!1:(w&2)!==0),Z?(T=!0,u.flags&=-129):(c===null||c.memoizedState!==null)&&(w|=1),Xe(sn,w&1),c===null)return C0(u),c=u.memoizedState,c!==null&&(c=c.dehydrated,c!==null)?(u.mode&1?iu(c)?u.lanes=8:u.lanes=1073741824:u.lanes=1,null):(w=M.children,c=M.fallback,T?(M=u.mode,T=u.child,w={mode:"hidden",children:w},!(M&1)&&T!==null?(T.childLanes=0,T.pendingProps=w):T=Rd(w,M,0,null),c=ha(c,M,v,null),T.return=u,c.return=u,T.sibling=c,u.child=T,u.child.memoizedState=ud(v),u.memoizedState=cd,c):W0(u,w));if(w=c.memoizedState,w!==null){if(Z=w.dehydrated,Z!==null){if(B)return u.flags&256?(u.flags&=-257,fd(c,u,v,Error(o(422)))):u.memoizedState!==null?(u.child=c.child,u.flags|=128,null):(T=M.fallback,w=u.mode,M=Rd({mode:"visible",children:M.children},w,0,null),T=ha(T,w,v,null),T.flags|=2,M.return=u,T.return=u,M.sibling=T,u.child=M,u.mode&1&&El(u,c.child,null,v),u.child.memoizedState=ud(v),u.memoizedState=cd,T);if(!(u.mode&1))u=fd(c,u,v,null);else if(iu(Z))u=fd(c,u,v,Error(o(419)));else if(M=(v&c.childLanes)!==0,Wi||M){if(M=En,M!==null){switch(v&-v){case 4:T=2;break;case 16:T=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:T=32;break;case 536870912:T=268435456;break;default:T=0}M=T&(M.suspendedLanes|v)?0:T,M!==0&&M!==w.retryLane&&(w.retryLane=M,hr(c,M,-1))}uv(),u=fd(c,u,v,Error(o(421)))}else nu(Z)?(u.flags|=128,u.child=c.child,u=BD.bind(null,c),gl(Z,u),u=null):(v=w.treeContext,ye&&(Gi=Fh(Z),Hi=u,$t=!0,wr=null,ou=!1,v!==null&&(lr[cr++]=ys,lr[cr++]=xs,lr[cr++]=ra,ys=v.id,xs=v.overflow,ra=u)),u=W0(u,u.pendingProps.children),u.flags|=4096);return u}return T?(M=yM(c,u,M.children,M.fallback,v),T=u.child,w=c.child.memoizedState,T.memoizedState=w===null?ud(v):{baseLanes:w.baseLanes|v,cachePool:null},T.childLanes=c.childLanes&~v,u.memoizedState=cd,M):(v=vM(c,u,M.children,v),u.memoizedState=null,v)}return T?(M=yM(c,u,M.children,M.fallback,v),T=u.child,w=c.child.memoizedState,T.memoizedState=w===null?ud(v):{baseLanes:w.baseLanes|v,cachePool:null},T.childLanes=c.childLanes&~v,u.memoizedState=cd,M):(v=vM(c,u,M.children,v),u.memoizedState=null,v)}function W0(c,u){return u=Rd({mode:"visible",children:u},c.mode,0,null),u.return=c,c.child=u}function vM(c,u,v,M){var w=c.child;return c=w.sibling,v=so(w,{mode:"visible",children:v}),!(u.mode&1)&&(v.lanes=M),v.return=u,v.sibling=null,c!==null&&(M=u.deletions,M===null?(u.deletions=[c],u.flags|=16):M.push(c)),u.child=v}function yM(c,u,v,M,w){var T=u.mode;c=c.child;var B=c.sibling,Z={mode:"hidden",children:v};return!(T&1)&&u.child!==c?(v=u.child,v.childLanes=0,v.pendingProps=Z,u.deletions=null):(v=so(c,Z),v.subtreeFlags=c.subtreeFlags&14680064),B!==null?M=so(B,M):(M=ha(M,T,w,null),M.flags|=2),M.return=u,v.return=u,v.sibling=M,u.child=v,M}function fd(c,u,v,M){return M!==null&&P0(M),El(u,c.child,null,v),c=W0(u,u.pendingProps.children),c.flags|=2,u.memoizedState=null,c}function xM(c,u,v){c.lanes|=u;var M=c.alternate;M!==null&&(M.lanes|=u),S0(c.return,u,v)}function j0(c,u,v,M,w){var T=c.memoizedState;T===null?c.memoizedState={isBackwards:u,rendering:null,renderingStartTime:0,last:M,tail:v,tailMode:w}:(T.isBackwards=u,T.rendering=null,T.renderingStartTime=0,T.last=M,T.tail=v,T.tailMode=w)}function _M(c,u,v){var M=u.pendingProps,w=M.revealOrder,T=M.tail;if(mi(c,u,M.children,v),M=sn.current,M&2)M=M&1|2,u.flags|=128;else{if(c!==null&&c.flags&128)e:for(c=u.child;c!==null;){if(c.tag===13)c.memoizedState!==null&&xM(c,v,u);else if(c.tag===19)xM(c,v,u);else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===u)break e;for(;c.sibling===null;){if(c.return===null||c.return===u)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}M&=1}if(Xe(sn,M),!(u.mode&1))u.memoizedState=null;else switch(w){case"forwards":for(v=u.child,w=null;v!==null;)c=v.alternate,c!==null&&$h(c)===null&&(w=v),v=v.sibling;v=w,v===null?(w=u.child,u.child=null):(w=v.sibling,v.sibling=null),j0(u,!1,w,v,T);break;case"backwards":for(v=null,w=u.child,u.child=null;w!==null;){if(c=w.alternate,c!==null&&$h(c)===null){u.child=w;break}c=w.sibling,w.sibling=v,v=w,w=c}j0(u,!0,v,null,T);break;case"together":j0(u,!1,null,null,void 0);break;default:u.memoizedState=null}return u.child}function Ss(c,u,v){if(c!==null&&(u.dependencies=c.dependencies),Rl|=u.lanes,!(v&u.childLanes))return null;if(c!==null&&u.child!==c.child)throw Error(o(153));if(u.child!==null){for(c=u.child,v=so(c,c.pendingProps),u.child=v,v.return=u;c.sibling!==null;)c=c.sibling,v=v.sibling=so(c,c.pendingProps),v.return=u;v.sibling=null}return u.child}function bD(c,u,v){switch(u.tag){case 3:pM(u),wl();break;case 5:OA(u);break;case 1:Bn(u.type)&&qn(u);break;case 4:R0(u,u.stateNode.containerInfo);break;case 10:SA(u,u.type._context,u.memoizedProps.value);break;case 13:var M=u.memoizedState;if(M!==null)return M.dehydrated!==null?(Xe(sn,sn.current&1),u.flags|=128,null):v&u.child.childLanes?gM(c,u,v):(Xe(sn,sn.current&1),c=Ss(c,u,v),c!==null?c.sibling:null);Xe(sn,sn.current&1);break;case 19:if(M=(v&u.childLanes)!==0,c.flags&128){if(M)return _M(c,u,v);u.flags|=128}var w=u.memoizedState;if(w!==null&&(w.rendering=null,w.tail=null,w.lastEffect=null),Xe(sn,sn.current),M)break;return null;case 22:case 23:return u.lanes=0,fM(c,u,v)}return Ss(c,u,v)}function CD(c,u){switch(T0(u),u.tag){case 1:return Bn(u.type)&&xn(),c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 3:return bl(),lt(fn),lt(Et),D0(),c=u.flags,c&65536&&!(c&128)?(u.flags=c&-65537|128,u):null;case 5:return L0(u),null;case 13:if(lt(sn),c=u.memoizedState,c!==null&&c.dehydrated!==null){if(u.alternate===null)throw Error(o(340));wl()}return c=u.flags,c&65536?(u.flags=c&-65537|128,u):null;case 19:return lt(sn),null;case 4:return bl(),null;case 10:return _0(u.type._context),null;case 22:case 23:return cv(),null;case 24:return null;default:return null}}var hd=!1,aa=!1,PD=typeof WeakSet=="function"?WeakSet:Set,Fe=null;function dd(c,u){var v=c.ref;if(v!==null)if(typeof v=="function")try{v(null)}catch(M){Ri(c,u,M)}else v.current=null}function X0(c,u,v){try{v()}catch(M){Ri(c,u,M)}}var SM=!1;function RD(c,u){for(j(c.containerInfo),Fe=u;Fe!==null;)if(c=Fe,u=c.child,(c.subtreeFlags&1028)!==0&&u!==null)u.return=c,Fe=u;else for(;Fe!==null;){c=Fe;try{var v=c.alternate;if(c.flags&1024)switch(c.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var M=v.memoizedProps,w=v.memoizedState,T=c.stateNode,B=T.getSnapshotBeforeUpdate(c.elementType===c.type?M:Mr(c.type,M),w);T.__reactInternalSnapshotBeforeUpdate=B}break;case 3:Te&&Re(c.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(Z){Ri(c,c.return,Z)}if(u=c.sibling,u!==null){u.return=c.return,Fe=u;break}Fe=c.return}return v=SM,SM=!1,v}function la(c,u,v){var M=u.updateQueue;if(M=M!==null?M.lastEffect:null,M!==null){var w=M=M.next;do{if((w.tag&c)===c){var T=w.destroy;w.destroy=void 0,T!==void 0&&X0(u,v,T)}w=w.next}while(w!==M)}}function yu(c,u){if(u=u.updateQueue,u=u!==null?u.lastEffect:null,u!==null){var v=u=u.next;do{if((v.tag&c)===c){var M=v.create;v.destroy=M()}v=v.next}while(v!==u)}}function Y0(c){var u=c.ref;if(u!==null){var v=c.stateNode;switch(c.tag){case 5:c=ee(v);break;default:c=v}typeof u=="function"?u(c):u.current=c}}function AM(c,u,v){if(Xr&&typeof Xr.onCommitFiberUnmount=="function")try{Xr.onCommitFiberUnmount(Hh,u)}catch{}switch(u.tag){case 0:case 11:case 14:case 15:if(c=u.updateQueue,c!==null&&(c=c.lastEffect,c!==null)){var M=c=c.next;do{var w=M,T=w.destroy;w=w.tag,T!==void 0&&(w&2||w&4)&&X0(u,v,T),M=M.next}while(M!==c)}break;case 1:if(dd(u,v),c=u.stateNode,typeof c.componentWillUnmount=="function")try{c.props=u.memoizedProps,c.state=u.memoizedState,c.componentWillUnmount()}catch(B){Ri(u,v,B)}break;case 5:dd(u,v);break;case 4:Te?CM(c,u,v):H&&H&&(u=u.stateNode.containerInfo,v=rt(u),Rt(u,v))}}function MM(c,u,v){for(var M=u;;)if(AM(c,M,v),M.child===null||Te&&M.tag===4){if(M===u)break;for(;M.sibling===null;){if(M.return===null||M.return===u)return;M=M.return}M.sibling.return=M.return,M=M.sibling}else M.child.return=M,M=M.child}function wM(c){var u=c.alternate;u!==null&&(c.alternate=null,wM(u)),c.child=null,c.deletions=null,c.sibling=null,c.tag===5&&(u=c.stateNode,u!==null&&Ge(u)),c.stateNode=null,c.return=null,c.dependencies=null,c.memoizedProps=null,c.memoizedState=null,c.pendingProps=null,c.stateNode=null,c.updateQueue=null}function EM(c){return c.tag===5||c.tag===3||c.tag===4}function TM(c){e:for(;;){for(;c.sibling===null;){if(c.return===null||EM(c.return))return null;c=c.return}for(c.sibling.return=c.return,c=c.sibling;c.tag!==5&&c.tag!==6&&c.tag!==18;){if(c.flags&2||c.child===null||c.tag===4)continue e;c.child.return=c,c=c.child}if(!(c.flags&2))return c.stateNode}}function bM(c){if(Te){e:{for(var u=c.return;u!==null;){if(EM(u))break e;u=u.return}throw Error(o(160))}var v=u;switch(v.tag){case 5:u=v.stateNode,v.flags&32&&(ge(u),v.flags&=-33),v=TM(c),Z0(c,v,u);break;case 3:case 4:u=v.stateNode.containerInfo,v=TM(c),q0(c,v,u);break;default:throw Error(o(161))}}}function q0(c,u,v){var M=c.tag;if(M===5||M===6)c=c.stateNode,u?tt(v,c,u):pt(v,c);else if(M!==4&&(c=c.child,c!==null))for(q0(c,u,v),c=c.sibling;c!==null;)q0(c,u,v),c=c.sibling}function Z0(c,u,v){var M=c.tag;if(M===5||M===6)c=c.stateNode,u?ft(v,c,u):it(v,c);else if(M!==4&&(c=c.child,c!==null))for(Z0(c,u,v),c=c.sibling;c!==null;)Z0(c,u,v),c=c.sibling}function CM(c,u,v){for(var M=u,w=!1,T,B;;){if(!w){w=M.return;e:for(;;){if(w===null)throw Error(o(160));switch(T=w.stateNode,w.tag){case 5:B=!1;break e;case 3:T=T.containerInfo,B=!0;break e;case 4:T=T.containerInfo,B=!0;break e}w=w.return}w=!0}if(M.tag===5||M.tag===6)MM(c,M,v),B?X(T,M.stateNode):We(T,M.stateNode);else if(M.tag===18)B?se(T,M.stateNode):ce(T,M.stateNode);else if(M.tag===4){if(M.child!==null){T=M.stateNode.containerInfo,B=!0,M.child.return=M,M=M.child;continue}}else if(AM(c,M,v),M.child!==null){M.child.return=M,M=M.child;continue}if(M===u)break;for(;M.sibling===null;){if(M.return===null||M.return===u)return;M=M.return,M.tag===4&&(w=!1)}M.sibling.return=M.return,M=M.sibling}}function K0(c,u){if(Te){switch(u.tag){case 0:case 11:case 14:case 15:la(3,u,u.return),yu(3,u),la(5,u,u.return);return;case 1:return;case 5:var v=u.stateNode;if(v!=null){var M=u.memoizedProps;c=c!==null?c.memoizedProps:M;var w=u.type,T=u.updateQueue;u.updateQueue=null,T!==null&&_t(v,T,w,c,M,u)}return;case 6:if(u.stateNode===null)throw Error(o(162));v=u.memoizedProps,Ae(u.stateNode,c!==null?c.memoizedProps:v,v);return;case 3:ye&&c!==null&&c.memoizedState.isDehydrated&&ne(u.stateNode.containerInfo);return;case 12:return;case 13:pd(u);return;case 19:pd(u);return;case 17:return}throw Error(o(163))}switch(u.tag){case 0:case 11:case 14:case 15:la(3,u,u.return),yu(3,u),la(5,u,u.return);return;case 12:return;case 13:pd(u);return;case 19:pd(u);return;case 3:ye&&c!==null&&c.memoizedState.isDehydrated&&ne(u.stateNode.containerInfo);break;case 22:case 23:return}e:if(H){switch(u.tag){case 1:case 5:case 6:break e;case 3:case 4:u=u.stateNode,Rt(u.containerInfo,u.pendingChildren);break e}throw Error(o(163))}}function pd(c){var u=c.updateQueue;if(u!==null){c.updateQueue=null;var v=c.stateNode;v===null&&(v=c.stateNode=new PD),u.forEach(function(M){var w=zD.bind(null,c,M);v.has(M)||(v.add(M),M.then(w,w))})}}function LD(c,u){for(Fe=u;Fe!==null;){u=Fe;var v=u.deletions;if(v!==null)for(var M=0;M";case gd:return":has("+($0(c)||"")+")";case vd:return'[role="'+c.value+'"]';case xd:return'"'+c.value+'"';case yd:return'[data-testname="'+c.value+'"]';default:throw Error(o(365))}}function DM(c,u){var v=[];c=[c,0];for(var M=0;Mw&&(w=B),M&=~T}if(M=w,M=zn()-M,M=(120>M?120:480>M?480:1080>M?1080:1920>M?1920:3e3>M?3e3:4320>M?4320:1960*DD(M/1960))-M,10c?16:c,no===null)var M=!1;else{if(c=no,no=null,wd=0,Tt&6)throw Error(o(331));var w=Tt;for(Tt|=4,Fe=c.current;Fe!==null;){var T=Fe,B=T.child;if(Fe.flags&16){var Z=T.deletions;if(Z!==null){for(var he=0;hezn()-iv?ca(c,0):nv|=v),Pi(c,u)}function HM(c,u){u===0&&(c.mode&1?(u=zh,zh<<=1,!(zh&130023424)&&(zh=4194304)):u=1);var v=gi();c=bd(c,u),c!==null&&(su(c,u,v),Pi(c,v))}function BD(c){var u=c.memoizedState,v=0;u!==null&&(v=u.retryLane),HM(c,v)}function zD(c,u){var v=0;switch(c.tag){case 13:var M=c.stateNode,w=c.memoizedState;w!==null&&(v=w.retryLane);break;case 19:M=c.stateNode;break;default:throw Error(o(314))}M!==null&&M.delete(u),HM(c,v)}var GM;GM=function(c,u,v){if(c!==null)if(c.memoizedProps!==u.pendingProps||fn.current)Wi=!0;else{if(!(c.lanes&v)&&!(u.flags&128))return Wi=!1,bD(c,u,v);Wi=!!(c.flags&131072)}else Wi=!1,$t&&u.flags&1048576&&PA(u,Jh,u.index);switch(u.lanes=0,u.tag){case 2:var M=u.type;c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps;var w=or(u,Et.current);Sl(u,v),w=U0(null,u,M,c,w,v);var T=O0();return u.flags|=1,typeof w=="object"&&w!==null&&typeof w.render=="function"&&w.$$typeof===void 0?(u.tag=1,u.memoizedState=null,u.updateQueue=null,Bn(M)?(T=!0,qn(u)):T=!1,u.memoizedState=w.state!==null&&w.state!==void 0?w.state:null,A0(u),w.updater=Zh,u.stateNode=w,w._reactInternals=u,w0(u,M,c,v),u=G0(null,u,M,!0,T,v)):(u.tag=0,$t&&T&&E0(u),mi(null,u,w,v),u=u.child),u;case 16:M=u.elementType;e:{switch(c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),c=u.pendingProps,w=M._init,M=w(M._payload),u.type=M,w=u.tag=HD(M),c=Mr(M,c),w){case 0:u=H0(null,u,M,c,v);break e;case 1:u=dM(null,u,M,c,v);break e;case 11:u=lM(null,u,M,c,v);break e;case 14:u=cM(null,u,M,Mr(M.type,c),v);break e}throw Error(o(306,M,""))}return u;case 0:return M=u.type,w=u.pendingProps,w=u.elementType===M?w:Mr(M,w),H0(c,u,M,w,v);case 1:return M=u.type,w=u.pendingProps,w=u.elementType===M?w:Mr(M,w),dM(c,u,M,w,v);case 3:e:{if(pM(u),c===null)throw Error(o(387));M=u.pendingProps,T=u.memoizedState,w=T.element,AA(c,u),qh(u,M,null,v);var B=u.memoizedState;if(M=B.element,ye&&T.isDehydrated)if(T={element:M,isDehydrated:!1,cache:B.cache,transitions:B.transitions},u.updateQueue.baseState=T,u.memoizedState=T,u.flags&256){w=Error(o(423)),u=mM(c,u,M,v,w);break e}else if(M!==w){w=Error(o(424)),u=mM(c,u,M,v,w);break e}else for(ye&&(Gi=Oh(u.stateNode.containerInfo),Hi=u,$t=!0,wr=null,ou=!1),v=UA(u,null,M,v),u.child=v;v;)v.flags=v.flags&-3|4096,v=v.sibling;else{if(wl(),M===w){u=Ss(c,u,v);break e}mi(c,u,M,v)}u=u.child}return u;case 5:return OA(u),c===null&&C0(u),M=u.type,w=u.pendingProps,T=c!==null?c.memoizedProps:null,B=w.children,ve(M,w)?B=null:T!==null&&ve(M,T)&&(u.flags|=32),hM(c,u),mi(c,u,B,v),u.child;case 6:return c===null&&C0(u),null;case 13:return gM(c,u,v);case 4:return R0(u,u.stateNode.containerInfo),M=u.pendingProps,c===null?u.child=El(u,null,M,v):mi(c,u,M,v),u.child;case 11:return M=u.type,w=u.pendingProps,w=u.elementType===M?w:Mr(M,w),lM(c,u,M,w,v);case 7:return mi(c,u,u.pendingProps,v),u.child;case 8:return mi(c,u,u.pendingProps.children,v),u.child;case 12:return mi(c,u,u.pendingProps.children,v),u.child;case 10:e:{if(M=u.type._context,w=u.pendingProps,T=u.memoizedProps,B=w.value,SA(u,M,B),T!==null)if(Yr(T.value,B)){if(T.children===w.children&&!fn.current){u=Ss(c,u,v);break e}}else for(T=u.child,T!==null&&(T.return=u);T!==null;){var Z=T.dependencies;if(Z!==null){B=T.child;for(var he=Z.firstContext;he!==null;){if(he.context===M){if(T.tag===1){he=vs(-1,v&-v),he.tag=2;var Ce=T.updateQueue;if(Ce!==null){Ce=Ce.shared;var Ye=Ce.pending;Ye===null?he.next=he:(he.next=Ye.next,Ye.next=he),Ce.pending=he}}T.lanes|=v,he=T.alternate,he!==null&&(he.lanes|=v),S0(T.return,v,u),Z.lanes|=v;break}he=he.next}}else if(T.tag===10)B=T.type===u.type?null:T.child;else if(T.tag===18){if(B=T.return,B===null)throw Error(o(341));B.lanes|=v,Z=B.alternate,Z!==null&&(Z.lanes|=v),S0(B,v,u),B=T.sibling}else B=T.child;if(B!==null)B.return=T;else for(B=T;B!==null;){if(B===u){B=null;break}if(T=B.sibling,T!==null){T.return=B.return,B=T;break}B=B.return}T=B}mi(c,u,w.children,v),u=u.child}return u;case 9:return w=u.type,M=u.pendingProps.children,Sl(u,v),w=ar(w),M=M(w),u.flags|=1,mi(c,u,M,v),u.child;case 14:return M=u.type,w=Mr(M,u.pendingProps),w=Mr(M.type,w),cM(c,u,M,w,v);case 15:return uM(c,u,u.type,u.pendingProps,v);case 17:return M=u.type,w=u.pendingProps,w=u.elementType===M?w:Mr(M,w),c!==null&&(c.alternate=null,u.alternate=null,u.flags|=2),u.tag=1,Bn(M)?(c=!0,qn(u)):c=!1,Sl(u,v),bA(u,M,w),w0(u,M,w,v),G0(null,u,M,!0,c,v);case 19:return _M(c,u,v);case 22:return fM(c,u,v)}throw Error(o(156,u.tag))};function WM(c,u){return p0(c,u)}function VD(c,u,v,M){this.tag=c,this.key=v,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=u,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=M,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function dr(c,u,v,M){return new VD(c,u,v,M)}function fv(c){return c=c.prototype,!(!c||!c.isReactComponent)}function HD(c){if(typeof c=="function")return fv(c)?1:0;if(c!=null){if(c=c.$$typeof,c===A)return 11;if(c===_)return 14}return 2}function so(c,u){var v=c.alternate;return v===null?(v=dr(c.tag,u,c.key,c.mode),v.elementType=c.elementType,v.type=c.type,v.stateNode=c.stateNode,v.alternate=c,c.alternate=v):(v.pendingProps=u,v.type=c.type,v.flags=0,v.subtreeFlags=0,v.deletions=null),v.flags=c.flags&14680064,v.childLanes=c.childLanes,v.lanes=c.lanes,v.child=c.child,v.memoizedProps=c.memoizedProps,v.memoizedState=c.memoizedState,v.updateQueue=c.updateQueue,u=c.dependencies,v.dependencies=u===null?null:{lanes:u.lanes,firstContext:u.firstContext},v.sibling=c.sibling,v.index=c.index,v.ref=c.ref,v}function Pd(c,u,v,M,w,T){var B=2;if(M=c,typeof c=="function")fv(c)&&(B=1);else if(typeof c=="string")B=5;else e:switch(c){case h:return ha(v.children,w,T,u);case d:B=8,w|=8;break;case p:return c=dr(12,v,u,w|2),c.elementType=p,c.lanes=T,c;case x:return c=dr(13,v,u,w),c.elementType=x,c.lanes=T,c;case g:return c=dr(19,v,u,w),c.elementType=g,c.lanes=T,c;case E:return Rd(v,w,T,u);default:if(typeof c=="object"&&c!==null)switch(c.$$typeof){case m:B=10;break e;case y:B=9;break e;case A:B=11;break e;case _:B=14;break e;case S:B=16,M=null;break e}throw Error(o(130,c==null?c:typeof c,""))}return u=dr(B,v,u,w),u.elementType=c,u.type=M,u.lanes=T,u}function ha(c,u,v,M){return c=dr(7,c,M,u),c.lanes=v,c}function Rd(c,u,v,M){return c=dr(22,c,M,u),c.elementType=E,c.lanes=v,c.stateNode={},c}function hv(c,u,v){return c=dr(6,c,null,u),c.lanes=v,c}function dv(c,u,v){return u=dr(4,c.children!==null?c.children:[],c.key,u),u.lanes=v,u.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},u}function GD(c,u,v,M,w){this.tag=u,this.containerInfo=c,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=nt,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=h0(0),this.expirationTimes=h0(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=h0(0),this.identifierPrefix=M,this.onRecoverableError=w,ye&&(this.mutableSourceEagerHydrationData=null)}function jM(c,u,v,M,w,T,B,Z,he){return c=new GD(c,u,v,Z,he),u===1?(u=1,T===!0&&(u|=8)):u=0,T=dr(3,null,null,u),c.current=T,T.stateNode=c,T.memoizedState={element:M,isDehydrated:v,cache:null,transitions:null},A0(T),c}function XM(c){if(!c)return sr;c=c._reactInternals;e:{if(C(c)!==c||c.tag!==1)throw Error(o(170));var u=c;do{switch(u.tag){case 3:u=u.stateNode.context;break e;case 1:if(Bn(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}}u=u.return}while(u!==null);throw Error(o(171))}if(c.tag===1){var v=c.type;if(Bn(v))return yl(c,v,u)}return u}function YM(c){var u=c._reactInternals;if(u===void 0)throw typeof c.render=="function"?Error(o(188)):(c=Object.keys(c).join(","),Error(o(268,c)));return c=K(u),c===null?null:c.stateNode}function qM(c,u){if(c=c.memoizedState,c!==null&&c.dehydrated!==null){var v=c.retryLane;c.retryLane=v!==0&&v=Ce&&T>=vt&&w<=Ye&&B<=st){c.splice(u,1);break}else if(M!==Ce||v.width!==he.width||stB){if(!(T!==vt||v.height!==he.height||Yew)){Ce>M&&(he.width+=Ce-M,he.x=M),YeT&&(he.height+=vt-T,he.y=T),stv&&(v=B)),B ")+` No matching component was found for: - `)+c.join(" > ")}return null},t.getPublicRootInstance=function(c){if(c=c.current,!c.child)return null;switch(c.child.tag){case 5:return ee(c.child.stateNode);default:return c.child.stateNode}},t.injectIntoDevTools=function(c){if(c={bundleType:c.bundleType,version:c.version,rendererPackageName:c.rendererPackageName,rendererConfig:c.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:a.ReactCurrentDispatcher,findHostInstanceByFiber:GD,findFiberByHostInstance:c.findFiberByHostInstance||jD,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")c=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{Hh=u.inject(c),Xr=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,v,M){if(!I)throw Error(o(363));c=ev(c,u);var w=Ue(c,v,M).disconnect;return{disconnect:function(){w()}}},t.registerMutableSourceForHydration=function(c,u){var v=u._getVersion;v=v(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,v]:c.mutableSourceEagerHydrationData.push(u,v)},t.runWithPriority=function(c,u){var v=Ut;try{return Ut=c,u()}finally{Ut=v}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,v,M){var w=u.current,T=gi(),B=io(w);return v=XM(v),u.context===null?u.context=v:u.pendingContext=v,u=vs(T,B),u.payload={element:c},M=M===void 0?null:M,M!==null&&(u.callback=M),eo(w,u),c=hr(w,B,T),c!==null&&Yh(c,w,B),B},t};N3.exports=p7;var m7=N3.exports;const g7=tS(m7),v7=n=>typeof n=="object"&&typeof n.then=="function",Va=[];function F3(n,e,t=(i,r)=>i===r){if(n===e)return!0;if(!n||!e)return!1;const i=n.length;if(e.length!==i)return!1;for(let r=0;r0&&(s.timeout&&clearTimeout(s.timeout),s.timeout=setTimeout(s.remove,i.lifespan)),s.response;if(!t)throw s.promise}const r={keys:e,equal:i.equal,remove:()=>{const s=Va.indexOf(r);s!==-1&&Va.splice(s,1)},promise:(v7(n)?n:n(...e)).then(s=>{r.response=s,i.lifespan&&i.lifespan>0&&(r.timeout=setTimeout(r.remove,i.lifespan))}).catch(s=>r.error=s)};if(Va.push(r),!t)throw r.promise}const y7=(n,e,t)=>k3(n,e,!1,t),x7=(n,e,t)=>void k3(n,e,!0,t),_7=n=>{if(n===void 0||n.length===0)Va.splice(0,Va.length);else{const e=Va.find(t=>F3(n,t.keys,t.equal));e&&e.remove()}},dA={},S7=n=>void Object.assign(dA,n);function A7(n,e){function t(h,{args:d=[],attach:p,...m},y){let A=`${h[0].toUpperCase()}${h.slice(1)}`,x;if(h==="primitive"){if(m.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const g=m.object;x=tc(g,{type:h,root:y,attach:p,primitive:!0})}else{const g=dA[A];if(!g)throw new Error(`R3F: ${A} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(d))throw new Error("R3F: The args prop must be an array!");x=tc(new g(...d),{type:h,root:y,attach:p,memoizedProps:{args:d}})}return x.__r3f.attach===void 0&&(x instanceof xt?x.__r3f.attach="geometry":x instanceof $n&&(x.__r3f.attach="material")),A!=="inject"&&Vy(x,m),x}function i(h,d){let p=!1;if(d){var m,y;(m=d.__r3f)!=null&&m.attach?zy(h,d,d.__r3f.attach):d.isObject3D&&h.isObject3D&&(h.add(d),p=!0),p||(y=h.__r3f)==null||y.objects.push(d),d.__r3f||tc(d,{}),d.__r3f.parent=h,Q_(d),nc(d)}}function r(h,d,p){let m=!1;if(d){var y,A;if((y=d.__r3f)!=null&&y.attach)zy(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){d.parent=h,d.dispatchEvent({type:"added"});const x=h.children.filter(_=>_!==d),g=x.indexOf(p);h.children=[...x.slice(0,g),d,...x.slice(g)],m=!0}m||(A=h.__r3f)==null||A.objects.push(d),d.__r3f||tc(d,{}),d.__r3f.parent=h,Q_(d),nc(d)}}function s(h,d,p=!1){h&&[...h].forEach(m=>o(d,m,p))}function o(h,d,p){if(d){var m,y,A;if(d.__r3f&&(d.__r3f.parent=null),(m=h.__r3f)!=null&&m.objects&&(h.__r3f.objects=h.__r3f.objects.filter(E=>E!==d)),(y=d.__r3f)!=null&&y.attach)rC(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){var x;h.remove(d),(x=d.__r3f)!=null&&x.root&&L7(d.__r3f.root,d)}const _=(A=d.__r3f)==null?void 0:A.primitive,S=!_&&(p===void 0?d.dispose!==null:p);if(!_){var g;s((g=d.__r3f)==null?void 0:g.objects,d,S),s(d.children,d,S)}if(delete d.__r3f,S&&d.dispose&&d.type!=="Scene"){const E=()=>{try{d.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?K_.unstable_scheduleCallback(K_.unstable_IdlePriority,E):E()}nc(h)}}function a(h,d,p,m){var y;const A=(y=h.__r3f)==null?void 0:y.parent;if(!A)return;const x=t(d,p,h.__r3f.root);if(h.children){for(const g of h.children)g.__r3f&&i(x,g);h.children=h.children.filter(g=>!g.__r3f)}h.__r3f.objects.forEach(g=>i(x,g)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(A,h),x.parent&&(x.__r3f.autoRemovedBeforeAppend=!0),i(A,x),x.raycast&&x.__r3f.eventCount&&x.__r3f.root.getState().internal.interaction.push(x),[m,m.alternate].forEach(g=>{g!==null&&(g.stateNode=x,g.ref&&(typeof g.ref=="function"?g.ref(x):g.ref.current=x))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:g7({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(h,d)=>{if(!d)return;const p=h.getState().scene;p.__r3f&&(p.__r3f.root=h,i(p,d))},removeChildFromContainer:(h,d)=>{d&&o(h.getState().scene,d)},insertInContainerBefore:(h,d,p)=>{if(!d||!p)return;const m=h.getState().scene;m.__r3f&&r(m,d,p)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var d;return!!((d=h==null?void 0:h.__r3f)!=null?d:{}).handlers},prepareUpdate(h,d,p,m){var y;if(((y=h==null?void 0:h.__r3f)!=null?y:{}).primitive&&m.object&&m.object!==h)return[!0];{const{args:x=[],children:g,..._}=m,{args:S=[],children:E,...P}=p;if(!Array.isArray(x))throw new Error("R3F: the args prop must be an array!");if(x.some((L,D)=>L!==S[D]))return[!0];const b=j3(h,_,P,!0);return b.changes.length?[!1,b]:null}},commitUpdate(h,[d,p],m,y,A,x){d?a(h,m,A,x):Vy(h,p)},commitMount(h,d,p,m){var y;const A=(y=h.__r3f)!=null?y:{};h.raycast&&A.handlers&&A.eventCount&&h.__r3f.root.getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>tc(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var d;const{attach:p,parent:m}=(d=h.__r3f)!=null?d:{};p&&m&&rC(m,h,p),h.isObject3D&&(h.visible=!1),nc(h)},unhideInstance(h,d){var p;const{attach:m,parent:y}=(p=h.__r3f)!=null?p:{};m&&y&&zy(y,h,m),(h.isObject3D&&d.visible==null||d.visible)&&(h.visible=!0),nc(h)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():Ec.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&Zt.fun(performance.now)?performance.now:Zt.fun(Date.now)?Date.now:()=>0,scheduleTimeout:Zt.fun(setTimeout)?setTimeout:void 0,cancelTimeout:Zt.fun(clearTimeout)?clearTimeout:void 0}),applyProps:Vy}}var eC,tC;const By=n=>"colorSpace"in n||"outputColorSpace"in n,B3=()=>{var n;return(n=dA.ColorManagement)!=null?n:null},z3=n=>n&&n.isOrthographicCamera,M7=n=>n&&n.hasOwnProperty("current"),Dh=typeof window<"u"&&((eC=window.document)!=null&&eC.createElement||((tC=window.navigator)==null?void 0:tC.product)==="ReactNative")?V.useLayoutEffect:V.useEffect;function V3(n){const e=V.useRef(n);return Dh(()=>void(e.current=n),[n]),e}function w7({set:n}){return Dh(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class H3 extends V.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}H3.getDerivedStateFromError=()=>({error:!0});const W3="__default",nC=new Map,E7=n=>n&&!!n.memoized&&!!n.changes;function G3(n){var e;const t=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(n)?Math.min(Math.max(n[0],t),n[1]):n}const Xu=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},Zt={obj:n=>n===Object(n)&&!Zt.arr(n)&&typeof n!="function",fun:n=>typeof n=="function",str:n=>typeof n=="string",num:n=>typeof n=="number",boo:n=>typeof n=="boolean",und:n=>n===void 0,arr:n=>Array.isArray(n),equ(n,e,{arrays:t="shallow",objects:i="reference",strict:r=!0}={}){if(typeof n!=typeof e||!!n!=!!e)return!1;if(Zt.str(n)||Zt.num(n))return n===e;const s=Zt.obj(n);if(s&&i==="reference")return n===e;const o=Zt.arr(n);if(o&&t==="reference")return n===e;if((o||s)&&n===e)return!0;let a;for(a in n)if(!(a in e))return!1;if(s&&t==="shallow"&&i==="shallow"){for(a in r?e:n)if(!Zt.equ(n[a],e[a],{strict:r,objects:"reference"}))return!1}else for(a in r?e:n)if(n[a]!==e[a])return!1;if(Zt.und(a)){if(o&&n.length===0&&e.length===0||s&&Object.keys(n).length===0&&Object.keys(e).length===0)return!0;if(n!==e)return!1}return!0}};function T7(n){const e={nodes:{},materials:{}};return n&&n.traverse(t=>{t.name&&(e.nodes[t.name]=t),t.material&&!e.materials[t.material.name]&&(e.materials[t.material.name]=t.material)}),e}function b7(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function tc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function J_(n,e){let t=n;if(e.includes("-")){const i=e.split("-"),r=i.pop();return t=i.reduce((s,o)=>s[o],n),{target:t,key:r}}else return{target:t,key:e}}const iC=/-\d+$/;function zy(n,e,t){if(Zt.str(t)){if(iC.test(t)){const s=t.replace(iC,""),{target:o,key:a}=J_(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=J_(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function rC(n,e,t){var i,r;if(Zt.str(t)){const{target:s,key:o}=J_(n,t),a=e.__r3f.previousAttach;a===void 0?delete s[o]:s[o]=a}else(i=e.__r3f)==null||i.previousAttach==null||i.previousAttach(n,e);(r=e.__r3f)==null||delete r.previousAttach}function j3(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},f=!1){var h;const d=(h=n==null?void 0:n.__r3f)!=null?h:{},p=Object.entries(r),m=[];if(f){const A=Object.keys(l);for(let x=0;x{var g;if((g=n.__r3f)!=null&&g.primitive&&A==="object"||Zt.equ(x,l[A]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(A))return m.push([A,x,!0,[]]);let _=[];A.includes("-")&&(_=A.split("-")),m.push([A,x,!1,_]);for(const S in r){const E=r[S];S.startsWith(`${A}-`)&&m.push([S,E,!1,S.split("-")])}});const y={...r};return d.memoizedProps&&d.memoizedProps.args&&(y.args=d.memoizedProps.args),d.memoizedProps&&d.memoizedProps.attach&&(y.attach=d.memoizedProps.attach),{memoized:y,changes:m}}const C7=typeof process<"u"&&!1;function Vy(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:f}=E7(e)?e:j3(n,e),h=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let p=0;pS[E],n),!(_&&_.set))){const[S,...E]=x.reverse();g=E.reverse().reduce((P,b)=>P[b],n),m=S}if(y===W3+"remove")if(g.constructor){let S=nC.get(g.constructor);S||(S=new g.constructor,nC.set(g.constructor,S)),y=S[m]}else y=0;if(A)y?s.handlers[m]=y:delete s.handlers[m],s.eventCount=Object.keys(s.handlers).length;else if(_&&_.set&&(_.copy||_ instanceof Xa)){if(Array.isArray(y))_.fromArray?_.fromArray(y):_.set(...y);else if(_.copy&&y&&y.constructor&&(C7?_.constructor.name===y.constructor.name:_.constructor===y.constructor))_.copy(y);else if(y!==void 0){const S=_ instanceof He;!S&&_.setScalar?_.setScalar(y):_ instanceof Xa&&y instanceof Xa?_.mask=y.mask:_.set(y),!B3()&&!a.linear&&S&&_.convertSRGBToLinear()}}else if(g[m]=y,g[m]instanceof yn&&g[m].format===Si&&g[m].type===us){const S=g[m];By(S)&&By(a.gl)?S.colorSpace=a.gl.outputColorSpace:S.encoding=a.gl.outputEncoding}nc(n)}if(s.parent&&a.internal&&n.raycast&&h!==s.eventCount){const p=a.internal.interaction.indexOf(n);p>-1&&a.internal.interaction.splice(p,1),s.eventCount&&a.internal.interaction.push(n)}return!(f.length===1&&f[0][0]==="onUpdate")&&f.length&&(r=n.__r3f)!=null&&r.parent&&Q_(n),n}function nc(n){var e,t;const i=(e=n.__r3f)==null||(t=e.root)==null||t.getState==null?void 0:t.getState();i&&i.internal.frames===0&&i.invalidate()}function Q_(n){n.onUpdate==null||n.onUpdate(n)}function P7(n,e){n.manual||(z3(n)?(n.left=e.width/-2,n.right=e.width/2,n.top=e.height/2,n.bottom=e.height/-2):n.aspect=e.width/e.height,n.updateProjectionMatrix(),n.updateMatrixWorld())}function Xp(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function R7(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Ec.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Ec.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Ec.ContinuousEventPriority;default:return Ec.DefaultEventPriority}}function X3(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function L7(n,e){const{internal:t}=n.getState();t.interaction=t.interaction.filter(i=>i!==e),t.initialHits=t.initialHits.filter(i=>i!==e),t.hovered.forEach((i,r)=>{(i.eventObject===e||i.object===e)&&t.hovered.delete(r)}),t.capturedMap.forEach((i,r)=>{X3(t.capturedMap,e,i,r)})}function I7(n){function e(l){const{internal:f}=n.getState(),h=l.offsetX-f.initialClick[0],d=l.offsetY-f.initialClick[1];return Math.round(Math.sqrt(h*h+d*d))}function t(l){return l.filter(f=>["Move","Over","Enter","Out","Leave"].some(h=>{var d;return(d=f.__r3f)==null?void 0:d.handlers["onPointer"+h]}))}function i(l,f){const h=n.getState(),d=new Set,p=[],m=f?f(h.internal.interaction):h.internal.interaction;for(let g=0;g{const S=Xu(g.object),E=Xu(_.object);return!S||!E?g.distance-_.distance:E.events.priority-S.events.priority||g.distance-_.distance}).filter(g=>{const _=Xp(g);return d.has(_)?!1:(d.add(_),!0)});h.events.filter&&(A=h.events.filter(A,h));for(const g of A){let _=g.object;for(;_;){var x;(x=_.__r3f)!=null&&x.eventCount&&p.push({...g,eventObject:_}),_=_.parent}}if("pointerId"in l&&h.internal.capturedMap.has(l.pointerId))for(let g of h.internal.capturedMap.get(l.pointerId).values())d.has(Xp(g.intersection))||p.push(g.intersection);return p}function r(l,f,h,d){const p=n.getState();if(l.length){const m={stopped:!1};for(const y of l){const A=Xu(y.object)||p,{raycaster:x,pointer:g,camera:_,internal:S}=A,E=new U(g.x,g.y,0).unproject(_),P=R=>{var F,K;return(F=(K=S.capturedMap.get(R))==null?void 0:K.has(y.eventObject))!=null?F:!1},b=R=>{const F={intersection:y,target:f.target};S.capturedMap.has(R)?S.capturedMap.get(R).set(y.eventObject,F):S.capturedMap.set(R,new Map([[y.eventObject,F]])),f.target.setPointerCapture(R)},L=R=>{const F=S.capturedMap.get(R);F&&X3(S.capturedMap,y.eventObject,F,R)};let D={};for(let R in f){let F=f[R];typeof F!="function"&&(D[R]=F)}let C={...y,...D,pointer:g,intersections:l,stopped:m.stopped,delta:h,unprojectedPoint:E,ray:x.ray,camera:_,stopPropagation(){const R="pointerId"in f&&S.capturedMap.get(f.pointerId);if((!R||R.has(y.eventObject))&&(C.stopped=m.stopped=!0,S.hovered.size&&Array.from(S.hovered.values()).find(F=>F.eventObject===y.eventObject))){const F=l.slice(0,l.indexOf(y));s([...F,y])}},target:{hasPointerCapture:P,setPointerCapture:b,releasePointerCapture:L},currentTarget:{hasPointerCapture:P,setPointerCapture:b,releasePointerCapture:L},nativeEvent:f};if(d(C),m.stopped===!0)break}}return l}function s(l){const{internal:f}=n.getState();for(const h of f.hovered.values())if(!l.length||!l.find(d=>d.object===h.object&&d.index===h.index&&d.instanceId===h.instanceId)){const p=h.eventObject.__r3f,m=p==null?void 0:p.handlers;if(f.hovered.delete(Xp(h)),p!=null&&p.eventCount){const y={...h,intersections:l};m.onPointerOut==null||m.onPointerOut(y),m.onPointerLeave==null||m.onPointerLeave(y)}}}function o(l,f){for(let h=0;hs([]);case"onLostPointerCapture":return f=>{const{internal:h}=n.getState();"pointerId"in f&&h.capturedMap.has(f.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(f.pointerId)&&(h.capturedMap.delete(f.pointerId),s([]))})}}return function(h){const{onPointerMissed:d,internal:p}=n.getState();p.lastEvent.current=h;const m=l==="onPointerMove",y=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",x=i(h,m?t:void 0),g=y?e(h):0;l==="onPointerDown"&&(p.initialClick=[h.offsetX,h.offsetY],p.initialHits=x.map(S=>S.eventObject)),y&&!x.length&&g<=2&&(o(h,p.interaction),d&&d(h)),m&&s(x);function _(S){const E=S.eventObject,P=E.__r3f,b=P==null?void 0:P.handlers;if(P!=null&&P.eventCount)if(m){if(b.onPointerOver||b.onPointerEnter||b.onPointerOut||b.onPointerLeave){const L=Xp(S),D=p.hovered.get(L);D?D.stopped&&S.stopPropagation():(p.hovered.set(L,S),b.onPointerOver==null||b.onPointerOver(S),b.onPointerEnter==null||b.onPointerEnter(S))}b.onPointerMove==null||b.onPointerMove(S)}else{const L=b[l];L?(!y||p.initialHits.includes(E))&&(o(h,p.interaction.filter(D=>!p.initialHits.includes(D))),L(S)):y&&p.initialHits.includes(E)&&o(h,p.interaction.filter(D=>!p.initialHits.includes(D)))}}r(x,h,g,_)}}return{handlePointer:a}}const Y3=n=>!!(n!=null&&n.render),q3=V.createContext(null),D7=(n,e)=>{const t=D3((a,l)=>{const f=new U,h=new U,d=new U;function p(g=l().camera,_=h,S=l().size){const{width:E,height:P,top:b,left:L}=S,D=E/P;_ instanceof U?d.copy(_):d.set(..._);const C=g.getWorldPosition(f).distanceTo(d);if(z3(g))return{width:E/g.zoom,height:P/g.zoom,top:b,left:L,factor:1,distance:C,aspect:D};{const R=g.fov*Math.PI/180,F=2*Math.tan(R/2)*C,K=F*(E/P);return{width:K,height:F,top:b,left:L,factor:E/K,distance:C,aspect:D}}}let m;const y=g=>a(_=>({performance:{..._.performance,current:g}})),A=new me;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(g=1)=>n(l(),g),advance:(g,_)=>e(g,_,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new cA,pointer:A,mouse:A,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const g=l();m&&clearTimeout(m),g.performance.current!==g.performance.min&&y(g.performance.min),m=setTimeout(()=>y(l().performance.max),g.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:p},setEvents:g=>a(_=>({..._,events:{..._.events,...g}})),setSize:(g,_,S,E,P)=>{const b=l().camera,L={width:g,height:_,top:E||0,left:P||0,updateStyle:S};a(D=>({size:L,viewport:{...D.viewport,...p(b,h,L)}}))},setDpr:g=>a(_=>{const S=G3(g);return{viewport:{..._.viewport,dpr:S,initialDpr:_.viewport.initialDpr||S}}}),setFrameloop:(g="always")=>{const _=l().clock;_.stop(),_.elapsedTime=0,g!=="never"&&(_.start(),_.elapsedTime=0),a(()=>({frameloop:g}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:V.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(g,_,S)=>{const E=l().internal;return E.priority=E.priority+(_>0?1:0),E.subscribers.push({ref:g,priority:_,store:S}),E.subscribers=E.subscribers.sort((P,b)=>P.priority-b.priority),()=>{const P=l().internal;P!=null&&P.subscribers&&(P.priority=P.priority-(_>0?1:0),P.subscribers=P.subscribers.filter(b=>b.ref!==g))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:f,gl:h,set:d}=t.getState();if(l.width!==r.width||l.height!==r.height||f.dpr!==s){var p;r=l,s=f.dpr,P7(a,l),h.setPixelRatio(f.dpr);const m=(p=l.updateStyle)!=null?p:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(l.width,l.height,m)}a!==o&&(o=a,d(m=>({viewport:{...m.viewport,...m.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let Yp,N7=new Set,U7=new Set,O7=new Set;function Hy(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function Yu(n,e){switch(n){case"before":return Hy(N7,e);case"after":return Hy(U7,e);case"tail":return Hy(O7,e)}}let Wy,Gy;function jy(n,e,t){let i=e.clock.getDelta();for(e.frameloop==="never"&&typeof n=="number"&&(i=n-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=n),Wy=e.internal.subscribers,Yp=0;Yp0)&&!((f=r.gl.xr)!=null&&f.isPresenting)&&(t+=jy(l,r))}if(Yu("after",l),t===0)return Yu("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,f=1){var h;if(!l)return n.forEach(d=>o(d.store.getState()),f);(h=l.gl.xr)!=null&&h.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+f),e||(e=!0,requestAnimationFrame(s)))}function a(l,f=!0,h,d){if(f&&Yu("before",l),h)jy(l,h,d);else for(const p of n.values())jy(l,p.store.getState());f&&Yu("after",l)}return{loop:s,invalidate:o,advance:a}}function Z3(){const n=V.useContext(q3);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function Zi(n=t=>t,e){return Z3()(n,e)}function pA(n,e=0){const t=Z3(),i=t.getState().internal.subscribe,r=V3(n);return Dh(()=>i(r,e,t),[e,i,t]),null}const sC=new WeakMap;function K3(n,e){return function(t,...i){let r=sC.get(t);return r||(r=new t,sC.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,T7(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l==null?void 0:l.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function Nh(n,e,t,i){const r=Array.isArray(e)?e:[e],s=y7(K3(t,i),[n,...r],{equal:Zt.equ});return Array.isArray(e)?s:s[0]}Nh.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return x7(K3(t),[n,...i])};Nh.clear=function(n,e){const t=Array.isArray(e)?e:[e];return _7([n,...t])};const Yc=new Map,{invalidate:oC,advance:aC}=F7(Yc),{reconciler:rg,applyProps:is}=A7(Yc,R7),ec={objects:"shallow",strict:!1},k7=(n,e)=>{const t=typeof n=="function"?n(e):n;return Y3(t)?t:new X1({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function B7(n,e){const t=typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement;if(e){const{width:i,height:r,top:s,left:o,updateStyle:a=t}=e;return{width:i,height:r,top:s,left:o,updateStyle:a}}else if(typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement&&n.parentElement){const{width:i,height:r,top:s,left:o}=n.parentElement.getBoundingClientRect();return{width:i,height:r,top:s,left:o,updateStyle:t}}else if(typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas)return{width:n.width,height:n.height,top:0,left:0,updateStyle:t};return{width:0,height:0,top:0,left:0}}function z7(n){const e=Yc.get(n),t=e==null?void 0:e.fiber,i=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||D7(oC,aC),o=t||rg.createContainer(s,Ec.ConcurrentRoot,null,!1,null,"",r,null);e||Yc.set(n,{fiber:o,store:s});let a,l=!1,f;return{configure(h={}){let{gl:d,size:p,scene:m,events:y,onCreated:A,shadows:x=!1,linear:g=!1,flat:_=!1,legacy:S=!1,orthographic:E=!1,frameloop:P="always",dpr:b=[1,2],performance:L,raycaster:D,camera:C,onPointerMissed:R}=h,F=s.getState(),K=F.gl;F.gl||F.set({gl:K=k7(d,n)});let le=F.raycaster;le||F.set({raycaster:le=new R3});const{params:H,...q}=D||{};if(Zt.equ(q,le,ec)||is(le,{...q}),Zt.equ(H,le.params,ec)||is(le,{params:{...le.params,...H}}),!F.camera||F.camera===f&&!Zt.equ(f,C,ec)){f=C;const ie=C instanceof Eh,$=ie?C:E?new Fr(0,0,0,0,.1,1e3):new nn(75,0,.1,1e3);ie||($.position.z=5,C&&is($,C),!F.camera&&!(C!=null&&C.rotation)&&$.lookAt(0,0,0)),F.set({camera:$}),le.camera=$}if(!F.scene){let ie;m instanceof ng?ie=m:(ie=new ng,m&&is(ie,m)),F.set({scene:tc(ie)})}if(!F.xr){var ee;const ie=(ve,be)=>{const Pe=s.getState();Pe.frameloop!=="never"&&aC(ve,!0,Pe,be)},$=()=>{const ve=s.getState();ve.gl.xr.enabled=ve.gl.xr.isPresenting,ve.gl.xr.setAnimationLoop(ve.gl.xr.isPresenting?ie:null),ve.gl.xr.isPresenting||oC(ve)},fe={connect(){const ve=s.getState().gl;ve.xr.addEventListener("sessionstart",$),ve.xr.addEventListener("sessionend",$)},disconnect(){const ve=s.getState().gl;ve.xr.removeEventListener("sessionstart",$),ve.xr.removeEventListener("sessionend",$)}};typeof((ee=K.xr)==null?void 0:ee.addEventListener)=="function"&&fe.connect(),F.set({xr:fe})}if(K.shadowMap){const ie=K.shadowMap.enabled,$=K.shadowMap.type;if(K.shadowMap.enabled=!!x,Zt.boo(x))K.shadowMap.type=mf;else if(Zt.str(x)){var oe;const fe={basic:wL,percentage:Ng,soft:mf,variance:Rr};K.shadowMap.type=(oe=fe[x])!=null?oe:mf}else Zt.obj(x)&&Object.assign(K.shadowMap,x);(ie!==K.shadowMap.enabled||$!==K.shadowMap.type)&&(K.shadowMap.needsUpdate=!0)}const k=B3();k&&("enabled"in k?k.enabled=!S:"legacyMode"in k&&(k.legacyMode=S)),is(K,{outputEncoding:g?3e3:3001,toneMapping:_?cs:M1}),F.legacy!==S&&F.set(()=>({legacy:S})),F.linear!==g&&F.set(()=>({linear:g})),F.flat!==_&&F.set(()=>({flat:_})),d&&!Zt.fun(d)&&!Y3(d)&&!Zt.equ(d,K,ec)&&is(K,d),y&&!F.events.handlers&&F.set({events:y(s)});const J=B7(n,p);return Zt.equ(J,F.size,ec)||F.setSize(J.width,J.height,J.updateStyle,J.top,J.left),b&&F.viewport.dpr!==G3(b)&&F.setDpr(b),F.frameloop!==P&&F.setFrameloop(P),F.onPointerMissed||F.set({onPointerMissed:R}),L&&!Zt.equ(L,F.performance,ec)&&F.set(ie=>({performance:{...ie.performance,...L}})),a=A,l=!0,this},render(h){return l||this.configure(),rg.updateContainer(V.createElement(V7,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){J3(n)}}}function V7({store:n,children:e,onCreated:t,rootElement:i}){return Dh(()=>{const r=n.getState();r.set(s=>({internal:{...s.internal,active:!0}})),t&&t(r),n.getState().events.connected||r.events.connect==null||r.events.connect(i)},[]),V.createElement(q3.Provider,{value:n},e)}function J3(n,e){const t=Yc.get(n),i=t==null?void 0:t.fiber;if(i){const r=t==null?void 0:t.store.getState();r&&(r.internal.active=!1),rg.updateContainer(null,i,null,()=>{r&&setTimeout(()=>{try{var s,o,a,l;r.events.disconnect==null||r.events.disconnect(),(s=r.gl)==null||(o=s.renderLists)==null||o.dispose==null||o.dispose(),(a=r.gl)==null||a.forceContextLoss==null||a.forceContextLoss(),(l=r.gl)!=null&&l.xr&&r.xr.disconnect(),b7(r),Yc.delete(n),e&&e(n)}catch{}},500)})}}rg.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:V.version});function il(){return il=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var f=function(){s=this,r=arguments,o=Date.now();var h=t&&!i;return i||(i=setTimeout(l,e)),h&&(a=n.apply(s,r),s=r=null),a};return f.clear=function(){i&&(clearTimeout(i),i=null)},f.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},f}$_.debounce=$_;var H7=$_;const lC=tS(H7);function W7(n){let{debounce:e,scroll:t,polyfill:i,offsetSize:r}=n===void 0?{debounce:0,scroll:!1,offsetSize:!1}:n;const s=i||(typeof window>"u"?class{}:window.ResizeObserver);if(!s)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[o,a]=V.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=V.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),f=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,d=V.useRef(!1);V.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[p,m,y]=V.useMemo(()=>{const _=()=>{if(!l.current.element)return;const{left:S,top:E,width:P,height:b,bottom:L,right:D,x:C,y:R}=l.current.element.getBoundingClientRect(),F={left:S,top:E,width:P,height:b,bottom:L,right:D,x:C,y:R};l.current.element instanceof HTMLElement&&r&&(F.height=l.current.element.offsetHeight,F.width=l.current.element.offsetWidth),Object.freeze(F),d.current&&!Y7(l.current.lastBounds,F)&&a(l.current.lastBounds=F)};return[_,h?lC(_,h):_,f?lC(_,f):_]},[a,r,f,h]);function A(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(_=>_.removeEventListener("scroll",y,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function x(){l.current.element&&(l.current.resizeObserver=new s(y),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(_=>_.addEventListener("scroll",y,{capture:!0,passive:!0})))}const g=_=>{!_||_===l.current.element||(A(),l.current.element=_,l.current.scrollContainers=Q3(_),x())};return j7(y,!!t),G7(m),V.useEffect(()=>{A(),x()},[t,y,m]),V.useEffect(()=>A,[]),[g,o,p]}function G7(n){V.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function j7(n,e){V.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function Q3(n){const e=[];if(!n||n===document.body)return e;const{overflow:t,overflowX:i,overflowY:r}=window.getComputedStyle(n);return[t,i,r].some(s=>s==="auto"||s==="scroll")&&e.push(n),[...e,...Q3(n.parentElement)]}const X7=["x","y","top","bottom","left","right","width","height"],Y7=(n,e)=>X7.every(t=>n[t]===e[t]);var q7=Object.defineProperty,Z7=Object.defineProperties,K7=Object.getOwnPropertyDescriptors,cC=Object.getOwnPropertySymbols,J7=Object.prototype.hasOwnProperty,Q7=Object.prototype.propertyIsEnumerable,uC=(n,e,t)=>e in n?q7(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,fC=(n,e)=>{for(var t in e||(e={}))J7.call(e,t)&&uC(n,t,e[t]);if(cC)for(var t of cC(e))Q7.call(e,t)&&uC(n,t,e[t]);return n},$7=(n,e)=>Z7(n,K7(e));function $3(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=$3(i,e,t);if(r)return r;i=e?null:i.sibling}}function eD(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const mA=eD(V.createContext(null));class tD extends V.Component{render(){return V.createElement(mA.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:hC,ReactCurrentDispatcher:dC}=V.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function eX(){const n=V.useContext(mA);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=V.useId();return V.useMemo(()=>{for(const i of[hC==null?void 0:hC.current,n,n==null?void 0:n.alternate]){if(!i)continue;const r=$3(i,!1,s=>{let o=s.memoizedState;for(;o;){if(o.memoizedState===e)return!0;o=o.next}});if(r)return r}},[n,e])}function tX(){var n,e;const t=eX(),[i]=V.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==mA&&!i.has(s)&&i.set(s,(e=dC==null?void 0:dC.current)==null?void 0:e.readContext(eD(s))),r=r.return}return i}function nX(){const n=tX();return V.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>V.createElement(e,null,V.createElement(t.Provider,$7(fC({},i),{value:n.get(t)}))),e=>V.createElement(tD,fC({},e))),[n])}const Xy={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function iX(n){const{handlePointer:e}=I7(n);return{priority:1,enabled:!0,compute(t,i,r){i.pointer.set(t.offsetX/i.size.width*2-1,-(t.offsetY/i.size.height)*2+1),i.raycaster.setFromCamera(i.pointer,i.camera)},connected:void 0,handlers:Object.keys(Xy).reduce((t,i)=>({...t,[i]:e(i)}),{}),update:()=>{var t;const{events:i,internal:r}=n.getState();(t=r.lastEvent)!=null&&t.current&&i.handlers&&i.handlers.onPointerMove(r.lastEvent.current)},connect:t=>{var i;const{set:r,events:s}=n.getState();s.disconnect==null||s.disconnect(),r(o=>({events:{...o.events,connected:t}})),Object.entries((i=s.handlers)!=null?i:[]).forEach(([o,a])=>{const[l,f]=Xy[o];t.addEventListener(l,a,{passive:f})})},disconnect:()=>{const{set:t,events:i}=n.getState();if(i.connected){var r;Object.entries((r=i.handlers)!=null?r:[]).forEach(([s,o])=>{if(i&&i.connected instanceof HTMLElement){const[a]=Xy[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const rX=V.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=iX,eventSource:a,eventPrefix:l,shadows:f,linear:h,flat:d,legacy:p,orthographic:m,frameloop:y,dpr:A,performance:x,raycaster:g,camera:_,scene:S,onPointerMissed:E,onCreated:P,...b},L){V.useMemo(()=>S7(f7),[]);const D=nX(),[C,R]=W7({scroll:!0,debounce:{scroll:50,resize:0},...i}),F=V.useRef(null),K=V.useRef(null);V.useImperativeHandle(L,()=>F.current);const le=V3(E),[H,q]=V.useState(!1),[ee,oe]=V.useState(!1);if(H)throw H;if(ee)throw ee;const k=V.useRef(null);Dh(()=>{const Y=F.current;R.width>0&&R.height>0&&Y&&(k.current||(k.current=z7(Y)),k.current.configure({gl:s,events:o,shadows:f,linear:h,flat:d,legacy:p,orthographic:m,frameloop:y,dpr:A,performance:x,raycaster:g,camera:_,scene:S,size:R,onPointerMissed:(...J)=>le.current==null?void 0:le.current(...J),onCreated:J=>{J.events.connect==null||J.events.connect(a?M7(a)?a.current:a:K.current),l&&J.setEvents({compute:(ie,$)=>{const fe=ie[l+"X"],ve=ie[l+"Y"];$.pointer.set(fe/$.size.width*2-1,-(ve/$.size.height)*2+1),$.raycaster.setFromCamera($.pointer,$.camera)}}),P==null||P(J)}}),k.current.render(V.createElement(D,null,V.createElement(H3,{set:oe},V.createElement(V.Suspense,{fallback:V.createElement(w7,{set:q})},e)))))}),V.useEffect(()=>{const Y=F.current;if(Y)return()=>J3(Y)},[]);const j=a?"none":"auto";return V.createElement("div",il({ref:K,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:j,...r}},b),V.createElement("div",{ref:C,style:{width:"100%",height:"100%"}},V.createElement("canvas",{ref:F,style:{display:"block"}},t)))}),sX=V.forwardRef(function(e,t){return V.createElement(tD,null,V.createElement(rX,il({},e,{ref:t})))}),Uh=new U,gA=new U,oX=new U;function aX(n,e,t){const i=Uh.setFromMatrixPosition(n.matrixWorld);i.project(e);const r=t.width/2,s=t.height/2;return[i.x*r+r,-(i.y*s)+s]}function lX(n,e){const t=Uh.setFromMatrixPosition(n.matrixWorld),i=gA.setFromMatrixPosition(e.matrixWorld),r=t.sub(i),s=e.getWorldDirection(oX);return r.angleTo(s)>Math.PI/2}function cX(n,e,t,i){const r=Uh.setFromMatrixPosition(n.matrixWorld),s=r.clone();s.project(e),t.setFromCamera(s,e);const o=t.intersectObjects(i,!0);if(o.length){const a=o[0].distance;return r.distanceTo(t.ray.origin)Math.abs(n)<1e-10?0:n;function nD(n,e,t=""){let i="matrix3d(";for(let r=0;r!==16;r++)i+=eS(e[r]*n.elements[r])+(r!==15?",":")");return t+i}const hX=(n=>e=>nD(e,n))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),dX=(n=>(e,t)=>nD(e,n(t),"translate(-50%,-50%)"))(n=>[1/n,1/n,1/n,1,-1/n,-1/n,-1/n,-1,1/n,1/n,1/n,1,1,1,1,1]);function pX(n){return n&&typeof n=="object"&&"current"in n}const mX=V.forwardRef(({children:n,eps:e=.001,style:t,className:i,prepend:r,center:s,fullscreen:o,portal:a,distanceFactor:l,sprite:f=!1,transform:h=!1,occlude:d,onOcclude:p,castShadow:m,receiveShadow:y,material:A,geometry:x,zIndexRange:g=[16777271,0],calculatePosition:_=aX,as:S="div",wrapperClass:E,pointerEvents:P="auto",...b},L)=>{const{gl:D,camera:C,scene:R,size:F,raycaster:K,events:le,viewport:H}=Zi(),[q]=V.useState(()=>document.createElement(S)),ee=V.useRef(),oe=V.useRef(null),k=V.useRef(0),j=V.useRef([0,0]),Y=V.useRef(null),J=V.useRef(null),ie=(a==null?void 0:a.current)||le.connected||D.domElement.parentNode,$=V.useRef(null),fe=V.useRef(!1),ve=V.useMemo(()=>d&&d!=="blending"||Array.isArray(d)&&d.length&&pX(d[0]),[d]);V.useLayoutEffect(()=>{const Le=D.domElement;d&&d==="blending"?(Le.style.zIndex=`${Math.floor(g[0]/2)}`,Le.style.position="absolute",Le.style.pointerEvents="none"):(Le.style.zIndex=null,Le.style.position=null,Le.style.pointerEvents=null)},[d]),V.useLayoutEffect(()=>{if(oe.current){const Le=ee.current=LR(q);if(R.updateMatrixWorld(),h)q.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const Te=_(oe.current,C,F);q.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${Te[0]}px,${Te[1]}px,0);transform-origin:0 0;`}return ie&&(r?ie.prepend(q):ie.appendChild(q)),()=>{ie&&ie.removeChild(q),Le.unmount()}}},[ie,h]),V.useLayoutEffect(()=>{E&&(q.className=E)},[E]);const be=V.useMemo(()=>h?{position:"absolute",top:0,left:0,width:F.width,height:F.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:s?"translate3d(-50%,-50%,0)":"none",...o&&{top:-F.height/2,left:-F.width/2,width:F.width,height:F.height},...t},[t,s,o,F,h]),Pe=V.useMemo(()=>({position:"absolute",pointerEvents:P}),[P]);V.useLayoutEffect(()=>{if(fe.current=!1,h){var Le;(Le=ee.current)==null||Le.render(V.createElement("div",{ref:Y,style:be},V.createElement("div",{ref:J,style:Pe},V.createElement("div",{ref:L,className:i,style:t,children:n}))))}else{var Te;(Te=ee.current)==null||Te.render(V.createElement("div",{ref:L,style:be,className:i,children:n}))}});const Je=V.useRef(!0);pA(Le=>{if(oe.current){C.updateMatrixWorld(),oe.current.updateWorldMatrix(!0,!1);const Te=h?j.current:_(oe.current,C,F);if(h||Math.abs(k.current-C.zoom)>e||Math.abs(j.current[0]-Te[0])>e||Math.abs(j.current[1]-Te[1])>e){const W=lX(oe.current,C);let ye=!1;ve&&(Array.isArray(d)?ye=d.map(We=>We.current):d!=="blending"&&(ye=[R]));const de=Je.current;if(ye){const We=cX(oe.current,C,K,ye);Je.current=We&&!W}else Je.current=!W;de!==Je.current&&(p?p(!Je.current):q.style.display=Je.current?"block":"none");const we=Math.floor(g[0]/2),pe=d?ve?[g[0],we]:[we-1,0]:g;if(q.style.zIndex=`${fX(oe.current,C,pe)}`,h){const[We,Ne]=[F.width/2,F.height/2],N=C.projectionMatrix.elements[5]*Ne,{isOrthographicCamera:I,top:te,left:Se,bottom:_e,right:xe}=C,qe=hX(C.matrixWorldInverse),Ie=I?`scale(${N})translate(${eS(-(xe+Se)/2)}px,${eS((te+_e)/2)}px)`:`translateZ(${N}px)`;let Ue=oe.current.matrixWorld;f&&(Ue=C.matrixWorldInverse.clone().transpose().copyPosition(Ue).scale(oe.current.scale),Ue.elements[3]=Ue.elements[7]=Ue.elements[11]=0,Ue.elements[15]=1),q.style.width=F.width+"px",q.style.height=F.height+"px",q.style.perspective=I?"":`${N}px`,Y.current&&J.current&&(Y.current.style.transform=`${Ie}${qe}translate(${We}px,${Ne}px)`,J.current.style.transform=dX(Ue,1/((l||10)/400)))}else{const We=l===void 0?1:uX(oe.current,C)*l;q.style.transform=`translate3d(${Te[0]}px,${Te[1]}px,0) scale(${We})`}j.current=Te,k.current=C.zoom}}if(!ve&&$.current&&!fe.current)if(h){if(Y.current){const Te=Y.current.children[0];if(Te!=null&&Te.clientWidth&&Te!=null&&Te.clientHeight){const{isOrthographicCamera:W}=C;if(W||x)b.scale&&(Array.isArray(b.scale)?b.scale instanceof U?$.current.scale.copy(b.scale.clone().divideScalar(1)):$.current.scale.set(1/b.scale[0],1/b.scale[1],1/b.scale[2]):$.current.scale.setScalar(1/b.scale));else{const ye=(l||10)/400,de=Te.clientWidth*ye,we=Te.clientHeight*ye;$.current.scale.set(de,we,1)}fe.current=!0}}}else{const Te=q.children[0];if(Te!=null&&Te.clientWidth&&Te!=null&&Te.clientHeight){const W=1/H.factor,ye=Te.clientWidth*W,de=Te.clientHeight*W;$.current.scale.set(ye,de,1),fe.current=!0}$.current.lookAt(Le.camera.position)}});const nt=V.useMemo(()=>({vertexShader:h?void 0:` + `)+c.join(" > ")}return null},t.getPublicRootInstance=function(c){if(c=c.current,!c.child)return null;switch(c.child.tag){case 5:return ee(c.child.stateNode);default:return c.child.stateNode}},t.injectIntoDevTools=function(c){if(c={bundleType:c.bundleType,version:c.version,rendererPackageName:c.rendererPackageName,rendererConfig:c.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:a.ReactCurrentDispatcher,findHostInstanceByFiber:WD,findFiberByHostInstance:c.findFiberByHostInstance||jD,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")c=!1;else{var u=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(u.isDisabled||!u.supportsFiber)c=!0;else{try{Hh=u.inject(c),Xr=u}catch{}c=!!u.checkDCE}}return c},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(c,u,v,M){if(!I)throw Error(o(363));c=ev(c,u);var w=Ue(c,v,M).disconnect;return{disconnect:function(){w()}}},t.registerMutableSourceForHydration=function(c,u){var v=u._getVersion;v=v(u._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[u,v]:c.mutableSourceEagerHydrationData.push(u,v)},t.runWithPriority=function(c,u){var v=Ut;try{return Ut=c,u()}finally{Ut=v}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(c,u,v,M){var w=u.current,T=gi(),B=io(w);return v=XM(v),u.context===null?u.context=v:u.pendingContext=v,u=vs(T,B),u.payload={element:c},M=M===void 0?null:M,M!==null&&(u.callback=M),eo(w,u),c=hr(w,B,T),c!==null&&Yh(c,w,B),B},t};N3.exports=g7;var v7=N3.exports;const y7=tS(v7),x7=n=>typeof n=="object"&&typeof n.then=="function",Va=[];function F3(n,e,t=(i,r)=>i===r){if(n===e)return!0;if(!n||!e)return!1;const i=n.length;if(e.length!==i)return!1;for(let r=0;r0&&(s.timeout&&clearTimeout(s.timeout),s.timeout=setTimeout(s.remove,i.lifespan)),s.response;if(!t)throw s.promise}const r={keys:e,equal:i.equal,remove:()=>{const s=Va.indexOf(r);s!==-1&&Va.splice(s,1)},promise:(x7(n)?n:n(...e)).then(s=>{r.response=s,i.lifespan&&i.lifespan>0&&(r.timeout=setTimeout(r.remove,i.lifespan))}).catch(s=>r.error=s)};if(Va.push(r),!t)throw r.promise}const _7=(n,e,t)=>k3(n,e,!1,t),S7=(n,e,t)=>void k3(n,e,!0,t),A7=n=>{if(n===void 0||n.length===0)Va.splice(0,Va.length);else{const e=Va.find(t=>F3(n,t.keys,t.equal));e&&e.remove()}},dA={},M7=n=>void Object.assign(dA,n);function w7(n,e){function t(h,{args:d=[],attach:p,...m},y){let A=`${h[0].toUpperCase()}${h.slice(1)}`,x;if(h==="primitive"){if(m.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const g=m.object;x=tc(g,{type:h,root:y,attach:p,primitive:!0})}else{const g=dA[A];if(!g)throw new Error(`R3F: ${A} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(d))throw new Error("R3F: The args prop must be an array!");x=tc(new g(...d),{type:h,root:y,attach:p,memoizedProps:{args:d}})}return x.__r3f.attach===void 0&&(x instanceof xt?x.__r3f.attach="geometry":x instanceof $n&&(x.__r3f.attach="material")),A!=="inject"&&Vy(x,m),x}function i(h,d){let p=!1;if(d){var m,y;(m=d.__r3f)!=null&&m.attach?zy(h,d,d.__r3f.attach):d.isObject3D&&h.isObject3D&&(h.add(d),p=!0),p||(y=h.__r3f)==null||y.objects.push(d),d.__r3f||tc(d,{}),d.__r3f.parent=h,Q_(d),nc(d)}}function r(h,d,p){let m=!1;if(d){var y,A;if((y=d.__r3f)!=null&&y.attach)zy(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){d.parent=h,d.dispatchEvent({type:"added"});const x=h.children.filter(_=>_!==d),g=x.indexOf(p);h.children=[...x.slice(0,g),d,...x.slice(g)],m=!0}m||(A=h.__r3f)==null||A.objects.push(d),d.__r3f||tc(d,{}),d.__r3f.parent=h,Q_(d),nc(d)}}function s(h,d,p=!1){h&&[...h].forEach(m=>o(d,m,p))}function o(h,d,p){if(d){var m,y,A;if(d.__r3f&&(d.__r3f.parent=null),(m=h.__r3f)!=null&&m.objects&&(h.__r3f.objects=h.__r3f.objects.filter(E=>E!==d)),(y=d.__r3f)!=null&&y.attach)rC(h,d,d.__r3f.attach);else if(d.isObject3D&&h.isObject3D){var x;h.remove(d),(x=d.__r3f)!=null&&x.root&&D7(d.__r3f.root,d)}const _=(A=d.__r3f)==null?void 0:A.primitive,S=!_&&(p===void 0?d.dispose!==null:p);if(!_){var g;s((g=d.__r3f)==null?void 0:g.objects,d,S),s(d.children,d,S)}if(delete d.__r3f,S&&d.dispose&&d.type!=="Scene"){const E=()=>{try{d.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?K_.unstable_scheduleCallback(K_.unstable_IdlePriority,E):E()}nc(h)}}function a(h,d,p,m){var y;const A=(y=h.__r3f)==null?void 0:y.parent;if(!A)return;const x=t(d,p,h.__r3f.root);if(h.children){for(const g of h.children)g.__r3f&&i(x,g);h.children=h.children.filter(g=>!g.__r3f)}h.__r3f.objects.forEach(g=>i(x,g)),h.__r3f.objects=[],h.__r3f.autoRemovedBeforeAppend||o(A,h),x.parent&&(x.__r3f.autoRemovedBeforeAppend=!0),i(A,x),x.raycast&&x.__r3f.eventCount&&x.__r3f.root.getState().internal.interaction.push(x),[m,m.alternate].forEach(g=>{g!==null&&(g.stateNode=x,g.ref&&(typeof g.ref=="function"?g.ref(x):g.ref.current=x))})}const l=()=>console.warn("Text is not allowed in the R3F tree! This could be stray whitespace or characters.");return{reconciler:y7({createInstance:t,removeChild:o,appendChild:i,appendInitialChild:i,insertBefore:r,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(h,d)=>{if(!d)return;const p=h.getState().scene;p.__r3f&&(p.__r3f.root=h,i(p,d))},removeChildFromContainer:(h,d)=>{d&&o(h.getState().scene,d)},insertInContainerBefore:(h,d,p)=>{if(!d||!p)return;const m=h.getState().scene;m.__r3f&&r(m,d,p)},getRootHostContext:()=>null,getChildHostContext:h=>h,finalizeInitialChildren(h){var d;return!!((d=h==null?void 0:h.__r3f)!=null?d:{}).handlers},prepareUpdate(h,d,p,m){var y;if(((y=h==null?void 0:h.__r3f)!=null?y:{}).primitive&&m.object&&m.object!==h)return[!0];{const{args:x=[],children:g,..._}=m,{args:S=[],children:E,...P}=p;if(!Array.isArray(x))throw new Error("R3F: the args prop must be an array!");if(x.some((L,D)=>L!==S[D]))return[!0];const b=j3(h,_,P,!0);return b.changes.length?[!1,b]:null}},commitUpdate(h,[d,p],m,y,A,x){d?a(h,m,A,x):Vy(h,p)},commitMount(h,d,p,m){var y;const A=(y=h.__r3f)!=null?y:{};h.raycast&&A.handlers&&A.eventCount&&h.__r3f.root.getState().internal.interaction.push(h)},getPublicInstance:h=>h,prepareForCommit:()=>null,preparePortalMount:h=>tc(h.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(h){var d;const{attach:p,parent:m}=(d=h.__r3f)!=null?d:{};p&&m&&rC(m,h,p),h.isObject3D&&(h.visible=!1),nc(h)},unhideInstance(h,d){var p;const{attach:m,parent:y}=(p=h.__r3f)!=null?p:{};m&&y&&zy(y,h,m),(h.isObject3D&&d.visible==null||d.visible)&&(h.visible=!0),nc(h)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():Ec.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&Zt.fun(performance.now)?performance.now:Zt.fun(Date.now)?Date.now:()=>0,scheduleTimeout:Zt.fun(setTimeout)?setTimeout:void 0,cancelTimeout:Zt.fun(clearTimeout)?clearTimeout:void 0}),applyProps:Vy}}var eC,tC;const By=n=>"colorSpace"in n||"outputColorSpace"in n,B3=()=>{var n;return(n=dA.ColorManagement)!=null?n:null},z3=n=>n&&n.isOrthographicCamera,E7=n=>n&&n.hasOwnProperty("current"),Dh=typeof window<"u"&&((eC=window.document)!=null&&eC.createElement||((tC=window.navigator)==null?void 0:tC.product)==="ReactNative")?z.useLayoutEffect:z.useEffect;function V3(n){const e=z.useRef(n);return Dh(()=>void(e.current=n),[n]),e}function T7({set:n}){return Dh(()=>(n(new Promise(()=>null)),()=>n(!1)),[n]),null}class H3 extends z.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}H3.getDerivedStateFromError=()=>({error:!0});const G3="__default",nC=new Map,b7=n=>n&&!!n.memoized&&!!n.changes;function W3(n){var e;const t=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(n)?Math.min(Math.max(n[0],t),n[1]):n}const Xu=n=>{var e;return(e=n.__r3f)==null?void 0:e.root.getState()},Zt={obj:n=>n===Object(n)&&!Zt.arr(n)&&typeof n!="function",fun:n=>typeof n=="function",str:n=>typeof n=="string",num:n=>typeof n=="number",boo:n=>typeof n=="boolean",und:n=>n===void 0,arr:n=>Array.isArray(n),equ(n,e,{arrays:t="shallow",objects:i="reference",strict:r=!0}={}){if(typeof n!=typeof e||!!n!=!!e)return!1;if(Zt.str(n)||Zt.num(n))return n===e;const s=Zt.obj(n);if(s&&i==="reference")return n===e;const o=Zt.arr(n);if(o&&t==="reference")return n===e;if((o||s)&&n===e)return!0;let a;for(a in n)if(!(a in e))return!1;if(s&&t==="shallow"&&i==="shallow"){for(a in r?e:n)if(!Zt.equ(n[a],e[a],{strict:r,objects:"reference"}))return!1}else for(a in r?e:n)if(n[a]!==e[a])return!1;if(Zt.und(a)){if(o&&n.length===0&&e.length===0||s&&Object.keys(n).length===0&&Object.keys(e).length===0)return!0;if(n!==e)return!1}return!0}};function C7(n){const e={nodes:{},materials:{}};return n&&n.traverse(t=>{t.name&&(e.nodes[t.name]=t),t.material&&!e.materials[t.material.name]&&(e.materials[t.material.name]=t.material)}),e}function P7(n){n.dispose&&n.type!=="Scene"&&n.dispose();for(const e in n)e.dispose==null||e.dispose(),delete n[e]}function tc(n,e){const t=n;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},n}function J_(n,e){let t=n;if(e.includes("-")){const i=e.split("-"),r=i.pop();return t=i.reduce((s,o)=>s[o],n),{target:t,key:r}}else return{target:t,key:e}}const iC=/-\d+$/;function zy(n,e,t){if(Zt.str(t)){if(iC.test(t)){const s=t.replace(iC,""),{target:o,key:a}=J_(n,s);Array.isArray(o[a])||(o[a]=[])}const{target:i,key:r}=J_(n,t);e.__r3f.previousAttach=i[r],i[r]=e}else e.__r3f.previousAttach=t(n,e)}function rC(n,e,t){var i,r;if(Zt.str(t)){const{target:s,key:o}=J_(n,t),a=e.__r3f.previousAttach;a===void 0?delete s[o]:s[o]=a}else(i=e.__r3f)==null||i.previousAttach==null||i.previousAttach(n,e);(r=e.__r3f)==null||delete r.previousAttach}function j3(n,{children:e,key:t,ref:i,...r},{children:s,key:o,ref:a,...l}={},f=!1){var h;const d=(h=n==null?void 0:n.__r3f)!=null?h:{},p=Object.entries(r),m=[];if(f){const A=Object.keys(l);for(let x=0;x{var g;if((g=n.__r3f)!=null&&g.primitive&&A==="object"||Zt.equ(x,l[A]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(A))return m.push([A,x,!0,[]]);let _=[];A.includes("-")&&(_=A.split("-")),m.push([A,x,!1,_]);for(const S in r){const E=r[S];S.startsWith(`${A}-`)&&m.push([S,E,!1,S.split("-")])}});const y={...r};return d.memoizedProps&&d.memoizedProps.args&&(y.args=d.memoizedProps.args),d.memoizedProps&&d.memoizedProps.attach&&(y.attach=d.memoizedProps.attach),{memoized:y,changes:m}}const R7=typeof process<"u"&&!1;function Vy(n,e){var t,i,r;const s=(t=n.__r3f)!=null?t:{},o=s.root,a=(i=o==null||o.getState==null?void 0:o.getState())!=null?i:{},{memoized:l,changes:f}=b7(e)?e:j3(n,e),h=s.eventCount;n.__r3f&&(n.__r3f.memoizedProps=l);for(let p=0;pS[E],n),!(_&&_.set))){const[S,...E]=x.reverse();g=E.reverse().reduce((P,b)=>P[b],n),m=S}if(y===G3+"remove")if(g.constructor){let S=nC.get(g.constructor);S||(S=new g.constructor,nC.set(g.constructor,S)),y=S[m]}else y=0;if(A)y?s.handlers[m]=y:delete s.handlers[m],s.eventCount=Object.keys(s.handlers).length;else if(_&&_.set&&(_.copy||_ instanceof Xa)){if(Array.isArray(y))_.fromArray?_.fromArray(y):_.set(...y);else if(_.copy&&y&&y.constructor&&(R7?_.constructor.name===y.constructor.name:_.constructor===y.constructor))_.copy(y);else if(y!==void 0){const S=_ instanceof He;!S&&_.setScalar?_.setScalar(y):_ instanceof Xa&&y instanceof Xa?_.mask=y.mask:_.set(y),!B3()&&!a.linear&&S&&_.convertSRGBToLinear()}}else if(g[m]=y,g[m]instanceof yn&&g[m].format===Si&&g[m].type===us){const S=g[m];By(S)&&By(a.gl)?S.colorSpace=a.gl.outputColorSpace:S.encoding=a.gl.outputEncoding}nc(n)}if(s.parent&&a.internal&&n.raycast&&h!==s.eventCount){const p=a.internal.interaction.indexOf(n);p>-1&&a.internal.interaction.splice(p,1),s.eventCount&&a.internal.interaction.push(n)}return!(f.length===1&&f[0][0]==="onUpdate")&&f.length&&(r=n.__r3f)!=null&&r.parent&&Q_(n),n}function nc(n){var e,t;const i=(e=n.__r3f)==null||(t=e.root)==null||t.getState==null?void 0:t.getState();i&&i.internal.frames===0&&i.invalidate()}function Q_(n){n.onUpdate==null||n.onUpdate(n)}function L7(n,e){n.manual||(z3(n)?(n.left=e.width/-2,n.right=e.width/2,n.top=e.height/2,n.bottom=e.height/-2):n.aspect=e.width/e.height,n.updateProjectionMatrix(),n.updateMatrixWorld())}function Xp(n){return(n.eventObject||n.object).uuid+"/"+n.index+n.instanceId}function I7(){var n;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Ec.DefaultEventPriority;switch((n=e.event)==null?void 0:n.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Ec.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Ec.ContinuousEventPriority;default:return Ec.DefaultEventPriority}}function X3(n,e,t,i){const r=t.get(e);r&&(t.delete(e),t.size===0&&(n.delete(i),r.target.releasePointerCapture(i)))}function D7(n,e){const{internal:t}=n.getState();t.interaction=t.interaction.filter(i=>i!==e),t.initialHits=t.initialHits.filter(i=>i!==e),t.hovered.forEach((i,r)=>{(i.eventObject===e||i.object===e)&&t.hovered.delete(r)}),t.capturedMap.forEach((i,r)=>{X3(t.capturedMap,e,i,r)})}function N7(n){function e(l){const{internal:f}=n.getState(),h=l.offsetX-f.initialClick[0],d=l.offsetY-f.initialClick[1];return Math.round(Math.sqrt(h*h+d*d))}function t(l){return l.filter(f=>["Move","Over","Enter","Out","Leave"].some(h=>{var d;return(d=f.__r3f)==null?void 0:d.handlers["onPointer"+h]}))}function i(l,f){const h=n.getState(),d=new Set,p=[],m=f?f(h.internal.interaction):h.internal.interaction;for(let g=0;g{const S=Xu(g.object),E=Xu(_.object);return!S||!E?g.distance-_.distance:E.events.priority-S.events.priority||g.distance-_.distance}).filter(g=>{const _=Xp(g);return d.has(_)?!1:(d.add(_),!0)});h.events.filter&&(A=h.events.filter(A,h));for(const g of A){let _=g.object;for(;_;){var x;(x=_.__r3f)!=null&&x.eventCount&&p.push({...g,eventObject:_}),_=_.parent}}if("pointerId"in l&&h.internal.capturedMap.has(l.pointerId))for(let g of h.internal.capturedMap.get(l.pointerId).values())d.has(Xp(g.intersection))||p.push(g.intersection);return p}function r(l,f,h,d){const p=n.getState();if(l.length){const m={stopped:!1};for(const y of l){const A=Xu(y.object)||p,{raycaster:x,pointer:g,camera:_,internal:S}=A,E=new U(g.x,g.y,0).unproject(_),P=R=>{var F,K;return(F=(K=S.capturedMap.get(R))==null?void 0:K.has(y.eventObject))!=null?F:!1},b=R=>{const F={intersection:y,target:f.target};S.capturedMap.has(R)?S.capturedMap.get(R).set(y.eventObject,F):S.capturedMap.set(R,new Map([[y.eventObject,F]])),f.target.setPointerCapture(R)},L=R=>{const F=S.capturedMap.get(R);F&&X3(S.capturedMap,y.eventObject,F,R)};let D={};for(let R in f){let F=f[R];typeof F!="function"&&(D[R]=F)}let C={...y,...D,pointer:g,intersections:l,stopped:m.stopped,delta:h,unprojectedPoint:E,ray:x.ray,camera:_,stopPropagation(){const R="pointerId"in f&&S.capturedMap.get(f.pointerId);if((!R||R.has(y.eventObject))&&(C.stopped=m.stopped=!0,S.hovered.size&&Array.from(S.hovered.values()).find(F=>F.eventObject===y.eventObject))){const F=l.slice(0,l.indexOf(y));s([...F,y])}},target:{hasPointerCapture:P,setPointerCapture:b,releasePointerCapture:L},currentTarget:{hasPointerCapture:P,setPointerCapture:b,releasePointerCapture:L},nativeEvent:f};if(d(C),m.stopped===!0)break}}return l}function s(l){const{internal:f}=n.getState();for(const h of f.hovered.values())if(!l.length||!l.find(d=>d.object===h.object&&d.index===h.index&&d.instanceId===h.instanceId)){const p=h.eventObject.__r3f,m=p==null?void 0:p.handlers;if(f.hovered.delete(Xp(h)),p!=null&&p.eventCount){const y={...h,intersections:l};m.onPointerOut==null||m.onPointerOut(y),m.onPointerLeave==null||m.onPointerLeave(y)}}}function o(l,f){for(let h=0;hs([]);case"onLostPointerCapture":return f=>{const{internal:h}=n.getState();"pointerId"in f&&h.capturedMap.has(f.pointerId)&&requestAnimationFrame(()=>{h.capturedMap.has(f.pointerId)&&(h.capturedMap.delete(f.pointerId),s([]))})}}return function(h){const{onPointerMissed:d,internal:p}=n.getState();p.lastEvent.current=h;const m=l==="onPointerMove",y=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",x=i(h,m?t:void 0),g=y?e(h):0;l==="onPointerDown"&&(p.initialClick=[h.offsetX,h.offsetY],p.initialHits=x.map(S=>S.eventObject)),y&&!x.length&&g<=2&&(o(h,p.interaction),d&&d(h)),m&&s(x);function _(S){const E=S.eventObject,P=E.__r3f,b=P==null?void 0:P.handlers;if(P!=null&&P.eventCount)if(m){if(b.onPointerOver||b.onPointerEnter||b.onPointerOut||b.onPointerLeave){const L=Xp(S),D=p.hovered.get(L);D?D.stopped&&S.stopPropagation():(p.hovered.set(L,S),b.onPointerOver==null||b.onPointerOver(S),b.onPointerEnter==null||b.onPointerEnter(S))}b.onPointerMove==null||b.onPointerMove(S)}else{const L=b[l];L?(!y||p.initialHits.includes(E))&&(o(h,p.interaction.filter(D=>!p.initialHits.includes(D))),L(S)):y&&p.initialHits.includes(E)&&o(h,p.interaction.filter(D=>!p.initialHits.includes(D)))}}r(x,h,g,_)}}return{handlePointer:a}}const Y3=n=>!!(n!=null&&n.render),q3=z.createContext(null),U7=(n,e)=>{const t=D3((a,l)=>{const f=new U,h=new U,d=new U;function p(g=l().camera,_=h,S=l().size){const{width:E,height:P,top:b,left:L}=S,D=E/P;_ instanceof U?d.copy(_):d.set(..._);const C=g.getWorldPosition(f).distanceTo(d);if(z3(g))return{width:E/g.zoom,height:P/g.zoom,top:b,left:L,factor:1,distance:C,aspect:D};{const R=g.fov*Math.PI/180,F=2*Math.tan(R/2)*C,K=F*(E/P);return{width:K,height:F,top:b,left:L,factor:E/K,distance:C,aspect:D}}}let m;const y=g=>a(_=>({performance:{..._.performance,current:g}})),A=new me;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(g=1)=>n(l(),g),advance:(g,_)=>e(g,_,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new cA,pointer:A,mouse:A,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const g=l();m&&clearTimeout(m),g.performance.current!==g.performance.min&&y(g.performance.min),m=setTimeout(()=>y(l().performance.max),g.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:p},setEvents:g=>a(_=>({..._,events:{..._.events,...g}})),setSize:(g,_,S,E,P)=>{const b=l().camera,L={width:g,height:_,top:E||0,left:P||0,updateStyle:S};a(D=>({size:L,viewport:{...D.viewport,...p(b,h,L)}}))},setDpr:g=>a(_=>{const S=W3(g);return{viewport:{..._.viewport,dpr:S,initialDpr:_.viewport.initialDpr||S}}}),setFrameloop:(g="always")=>{const _=l().clock;_.stop(),_.elapsedTime=0,g!=="never"&&(_.start(),_.elapsedTime=0),a(()=>({frameloop:g}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:z.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(g,_,S)=>{const E=l().internal;return E.priority=E.priority+(_>0?1:0),E.subscribers.push({ref:g,priority:_,store:S}),E.subscribers=E.subscribers.sort((P,b)=>P.priority-b.priority),()=>{const P=l().internal;P!=null&&P.subscribers&&(P.priority=P.priority-(_>0?1:0),P.subscribers=P.subscribers.filter(b=>b.ref!==g))}}}}}),i=t.getState();let r=i.size,s=i.viewport.dpr,o=i.camera;return t.subscribe(()=>{const{camera:a,size:l,viewport:f,gl:h,set:d}=t.getState();if(l.width!==r.width||l.height!==r.height||f.dpr!==s){var p;r=l,s=f.dpr,L7(a,l),h.setPixelRatio(f.dpr);const m=(p=l.updateStyle)!=null?p:typeof HTMLCanvasElement<"u"&&h.domElement instanceof HTMLCanvasElement;h.setSize(l.width,l.height,m)}a!==o&&(o=a,d(m=>({viewport:{...m.viewport,...m.viewport.getCurrentViewport(a)}})))}),t.subscribe(a=>n(a)),t};let Yp,O7=new Set,F7=new Set,k7=new Set;function Hy(n,e){if(n.size)for(const{callback:t}of n.values())t(e)}function Yu(n,e){switch(n){case"before":return Hy(O7,e);case"after":return Hy(F7,e);case"tail":return Hy(k7,e)}}let Gy,Wy;function jy(n,e,t){let i=e.clock.getDelta();for(e.frameloop==="never"&&typeof n=="number"&&(i=n-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=n),Gy=e.internal.subscribers,Yp=0;Yp0)&&!((f=r.gl.xr)!=null&&f.isPresenting)&&(t+=jy(l,r))}if(Yu("after",l),t===0)return Yu("tail",l),e=!1,cancelAnimationFrame(i)}function o(l,f=1){var h;if(!l)return n.forEach(d=>o(d.store.getState()),f);(h=l.gl.xr)!=null&&h.isPresenting||!l.internal.active||l.frameloop==="never"||(l.internal.frames=Math.min(60,l.internal.frames+f),e||(e=!0,requestAnimationFrame(s)))}function a(l,f=!0,h,d){if(f&&Yu("before",l),h)jy(l,h,d);else for(const p of n.values())jy(l,p.store.getState());f&&Yu("after",l)}return{loop:s,invalidate:o,advance:a}}function Z3(){const n=z.useContext(q3);if(!n)throw new Error("R3F: Hooks can only be used within the Canvas component!");return n}function Zi(n=t=>t,e){return Z3()(n,e)}function pA(n,e=0){const t=Z3(),i=t.getState().internal.subscribe,r=V3(n);return Dh(()=>i(r,e,t),[e,i,t]),null}const sC=new WeakMap;function K3(n,e){return function(t,...i){let r=sC.get(t);return r||(r=new t,sC.set(t,r)),n&&n(r),Promise.all(i.map(s=>new Promise((o,a)=>r.load(s,l=>{l.scene&&Object.assign(l,C7(l.scene)),o(l)},e,l=>a(new Error(`Could not load ${s}: ${l==null?void 0:l.message}`)))))).finally(()=>r.dispose==null?void 0:r.dispose())}}function Nh(n,e,t,i){const r=Array.isArray(e)?e:[e],s=_7(K3(t,i),[n,...r],{equal:Zt.equ});return Array.isArray(e)?s:s[0]}Nh.preload=function(n,e,t){const i=Array.isArray(e)?e:[e];return S7(K3(t),[n,...i])};Nh.clear=function(n,e){const t=Array.isArray(e)?e:[e];return A7([n,...t])};const Yc=new Map,{invalidate:oC,advance:aC}=B7(Yc),{reconciler:rg,applyProps:is}=w7(Yc,I7),ec={objects:"shallow",strict:!1},z7=(n,e)=>{const t=typeof n=="function"?n(e):n;return Y3(t)?t:new X1({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...n})};function V7(n,e){const t=typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement;if(e){const{width:i,height:r,top:s,left:o,updateStyle:a=t}=e;return{width:i,height:r,top:s,left:o,updateStyle:a}}else if(typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement&&n.parentElement){const{width:i,height:r,top:s,left:o}=n.parentElement.getBoundingClientRect();return{width:i,height:r,top:s,left:o,updateStyle:t}}else if(typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas)return{width:n.width,height:n.height,top:0,left:0,updateStyle:t};return{width:0,height:0,top:0,left:0}}function H7(n){const e=Yc.get(n),t=e==null?void 0:e.fiber,i=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const r=typeof reportError=="function"?reportError:console.error,s=i||U7(oC,aC),o=t||rg.createContainer(s,Ec.ConcurrentRoot,null,!1,null,"",r,null);e||Yc.set(n,{fiber:o,store:s});let a,l=!1,f;return{configure(h={}){let{gl:d,size:p,scene:m,events:y,onCreated:A,shadows:x=!1,linear:g=!1,flat:_=!1,legacy:S=!1,orthographic:E=!1,frameloop:P="always",dpr:b=[1,2],performance:L,raycaster:D,camera:C,onPointerMissed:R}=h,F=s.getState(),K=F.gl;F.gl||F.set({gl:K=z7(d,n)});let le=F.raycaster;le||F.set({raycaster:le=new R3});const{params:V,...q}=D||{};if(Zt.equ(q,le,ec)||is(le,{...q}),Zt.equ(V,le.params,ec)||is(le,{params:{...le.params,...V}}),!F.camera||F.camera===f&&!Zt.equ(f,C,ec)){f=C;const ie=C instanceof Eh,$=ie?C:E?new Fr(0,0,0,0,.1,1e3):new nn(75,0,.1,1e3);ie||($.position.z=5,C&&is($,C),!F.camera&&!(C!=null&&C.rotation)&&$.lookAt(0,0,0)),F.set({camera:$}),le.camera=$}if(!F.scene){let ie;m instanceof ng?ie=m:(ie=new ng,m&&is(ie,m)),F.set({scene:tc(ie)})}if(!F.xr){var ee;const ie=(ve,be)=>{const Pe=s.getState();Pe.frameloop!=="never"&&aC(ve,!0,Pe,be)},$=()=>{const ve=s.getState();ve.gl.xr.enabled=ve.gl.xr.isPresenting,ve.gl.xr.setAnimationLoop(ve.gl.xr.isPresenting?ie:null),ve.gl.xr.isPresenting||oC(ve)},fe={connect(){const ve=s.getState().gl;ve.xr.addEventListener("sessionstart",$),ve.xr.addEventListener("sessionend",$)},disconnect(){const ve=s.getState().gl;ve.xr.removeEventListener("sessionstart",$),ve.xr.removeEventListener("sessionend",$)}};typeof((ee=K.xr)==null?void 0:ee.addEventListener)=="function"&&fe.connect(),F.set({xr:fe})}if(K.shadowMap){const ie=K.shadowMap.enabled,$=K.shadowMap.type;if(K.shadowMap.enabled=!!x,Zt.boo(x))K.shadowMap.type=mf;else if(Zt.str(x)){var oe;const fe={basic:wL,percentage:Ng,soft:mf,variance:Rr};K.shadowMap.type=(oe=fe[x])!=null?oe:mf}else Zt.obj(x)&&Object.assign(K.shadowMap,x);(ie!==K.shadowMap.enabled||$!==K.shadowMap.type)&&(K.shadowMap.needsUpdate=!0)}const k=B3();k&&("enabled"in k?k.enabled=!S:"legacyMode"in k&&(k.legacyMode=S)),is(K,{outputEncoding:g?3e3:3001,toneMapping:_?cs:M1}),F.legacy!==S&&F.set(()=>({legacy:S})),F.linear!==g&&F.set(()=>({linear:g})),F.flat!==_&&F.set(()=>({flat:_})),d&&!Zt.fun(d)&&!Y3(d)&&!Zt.equ(d,K,ec)&&is(K,d),y&&!F.events.handlers&&F.set({events:y(s)});const J=V7(n,p);return Zt.equ(J,F.size,ec)||F.setSize(J.width,J.height,J.updateStyle,J.top,J.left),b&&F.viewport.dpr!==W3(b)&&F.setDpr(b),F.frameloop!==P&&F.setFrameloop(P),F.onPointerMissed||F.set({onPointerMissed:R}),L&&!Zt.equ(L,F.performance,ec)&&F.set(ie=>({performance:{...ie.performance,...L}})),a=A,l=!0,this},render(h){return l||this.configure(),rg.updateContainer(z.createElement(G7,{store:s,children:h,onCreated:a,rootElement:n}),o,null,()=>{}),s},unmount(){J3(n)}}}function G7({store:n,children:e,onCreated:t,rootElement:i}){return Dh(()=>{const r=n.getState();r.set(s=>({internal:{...s.internal,active:!0}})),t&&t(r),n.getState().events.connected||r.events.connect==null||r.events.connect(i)},[]),z.createElement(q3.Provider,{value:n},e)}function J3(n,e){const t=Yc.get(n),i=t==null?void 0:t.fiber;if(i){const r=t==null?void 0:t.store.getState();r&&(r.internal.active=!1),rg.updateContainer(null,i,null,()=>{r&&setTimeout(()=>{try{var s,o,a,l;r.events.disconnect==null||r.events.disconnect(),(s=r.gl)==null||(o=s.renderLists)==null||o.dispose==null||o.dispose(),(a=r.gl)==null||a.forceContextLoss==null||a.forceContextLoss(),(l=r.gl)!=null&&l.xr&&r.xr.disconnect(),P7(r),Yc.delete(n),e&&e(n)}catch{}},500)})}}rg.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:z.version});function il(){return il=Object.assign?Object.assign.bind():function(n){for(var e=1;e=0?i=setTimeout(l,e-h):(i=null,t||(a=n.apply(s,r),s=r=null))}var f=function(){s=this,r=arguments,o=Date.now();var h=t&&!i;return i||(i=setTimeout(l,e)),h&&(a=n.apply(s,r),s=r=null),a};return f.clear=function(){i&&(clearTimeout(i),i=null)},f.flush=function(){i&&(a=n.apply(s,r),s=r=null,clearTimeout(i),i=null)},f}$_.debounce=$_;var W7=$_;const lC=tS(W7);function j7(n){let{debounce:e,scroll:t,polyfill:i,offsetSize:r}=n===void 0?{debounce:0,scroll:!1,offsetSize:!1}:n;const s=i||(typeof window>"u"?class{}:window.ResizeObserver);if(!s)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[o,a]=z.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=z.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:o}),f=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,d=z.useRef(!1);z.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[p,m,y]=z.useMemo(()=>{const _=()=>{if(!l.current.element)return;const{left:S,top:E,width:P,height:b,bottom:L,right:D,x:C,y:R}=l.current.element.getBoundingClientRect(),F={left:S,top:E,width:P,height:b,bottom:L,right:D,x:C,y:R};l.current.element instanceof HTMLElement&&r&&(F.height=l.current.element.offsetHeight,F.width=l.current.element.offsetWidth),Object.freeze(F),d.current&&!Z7(l.current.lastBounds,F)&&a(l.current.lastBounds=F)};return[_,h?lC(_,h):_,f?lC(_,f):_]},[a,r,f,h]);function A(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(_=>_.removeEventListener("scroll",y,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null)}function x(){l.current.element&&(l.current.resizeObserver=new s(y),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(_=>_.addEventListener("scroll",y,{capture:!0,passive:!0})))}const g=_=>{!_||_===l.current.element||(A(),l.current.element=_,l.current.scrollContainers=Q3(_),x())};return Y7(y,!!t),X7(m),z.useEffect(()=>{A(),x()},[t,y,m]),z.useEffect(()=>A,[]),[g,o,p]}function X7(n){z.useEffect(()=>{const e=n;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[n])}function Y7(n,e){z.useEffect(()=>{if(e){const t=n;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[n,e])}function Q3(n){const e=[];if(!n||n===document.body)return e;const{overflow:t,overflowX:i,overflowY:r}=window.getComputedStyle(n);return[t,i,r].some(s=>s==="auto"||s==="scroll")&&e.push(n),[...e,...Q3(n.parentElement)]}const q7=["x","y","top","bottom","left","right","width","height"],Z7=(n,e)=>q7.every(t=>n[t]===e[t]);var K7=Object.defineProperty,J7=Object.defineProperties,Q7=Object.getOwnPropertyDescriptors,cC=Object.getOwnPropertySymbols,$7=Object.prototype.hasOwnProperty,eX=Object.prototype.propertyIsEnumerable,uC=(n,e,t)=>e in n?K7(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,fC=(n,e)=>{for(var t in e||(e={}))$7.call(e,t)&&uC(n,t,e[t]);if(cC)for(var t of cC(e))eX.call(e,t)&&uC(n,t,e[t]);return n},tX=(n,e)=>J7(n,Q7(e));function $3(n,e,t){if(!n)return;if(t(n)===!0)return n;let i=e?n.return:n.child;for(;i;){const r=$3(i,e,t);if(r)return r;i=e?null:i.sibling}}function eD(n){try{return Object.defineProperties(n,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return n}}const mA=eD(z.createContext(null));class tD extends z.Component{render(){return z.createElement(mA.Provider,{value:this._reactInternals},this.props.children)}}const{ReactCurrentOwner:hC,ReactCurrentDispatcher:dC}=z.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function nX(){const n=z.useContext(mA);if(n===null)throw new Error("its-fine: useFiber must be called within a !");const e=z.useId();return z.useMemo(()=>{for(const i of[hC==null?void 0:hC.current,n,n==null?void 0:n.alternate]){if(!i)continue;const r=$3(i,!1,s=>{let o=s.memoizedState;for(;o;){if(o.memoizedState===e)return!0;o=o.next}});if(r)return r}},[n,e])}function iX(){var n,e;const t=nX(),[i]=z.useState(()=>new Map);i.clear();let r=t;for(;r;){const s=(n=r.type)==null?void 0:n._context;s&&s!==mA&&!i.has(s)&&i.set(s,(e=dC==null?void 0:dC.current)==null?void 0:e.readContext(eD(s))),r=r.return}return i}function rX(){const n=iX();return z.useMemo(()=>Array.from(n.keys()).reduce((e,t)=>i=>z.createElement(e,null,z.createElement(t.Provider,tX(fC({},i),{value:n.get(t)}))),e=>z.createElement(tD,fC({},e))),[n])}const Xy={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function sX(n){const{handlePointer:e}=N7(n);return{priority:1,enabled:!0,compute(t,i,r){i.pointer.set(t.offsetX/i.size.width*2-1,-(t.offsetY/i.size.height)*2+1),i.raycaster.setFromCamera(i.pointer,i.camera)},connected:void 0,handlers:Object.keys(Xy).reduce((t,i)=>({...t,[i]:e(i)}),{}),update:()=>{var t;const{events:i,internal:r}=n.getState();(t=r.lastEvent)!=null&&t.current&&i.handlers&&i.handlers.onPointerMove(r.lastEvent.current)},connect:t=>{var i;const{set:r,events:s}=n.getState();s.disconnect==null||s.disconnect(),r(o=>({events:{...o.events,connected:t}})),Object.entries((i=s.handlers)!=null?i:[]).forEach(([o,a])=>{const[l,f]=Xy[o];t.addEventListener(l,a,{passive:f})})},disconnect:()=>{const{set:t,events:i}=n.getState();if(i.connected){var r;Object.entries((r=i.handlers)!=null?r:[]).forEach(([s,o])=>{if(i&&i.connected instanceof HTMLElement){const[a]=Xy[s];i.connected.removeEventListener(a,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}const oX=z.forwardRef(function({children:e,fallback:t,resize:i,style:r,gl:s,events:o=sX,eventSource:a,eventPrefix:l,shadows:f,linear:h,flat:d,legacy:p,orthographic:m,frameloop:y,dpr:A,performance:x,raycaster:g,camera:_,scene:S,onPointerMissed:E,onCreated:P,...b},L){z.useMemo(()=>M7(d7),[]);const D=rX(),[C,R]=j7({scroll:!0,debounce:{scroll:50,resize:0},...i}),F=z.useRef(null),K=z.useRef(null);z.useImperativeHandle(L,()=>F.current);const le=V3(E),[V,q]=z.useState(!1),[ee,oe]=z.useState(!1);if(V)throw V;if(ee)throw ee;const k=z.useRef(null);Dh(()=>{const Y=F.current;R.width>0&&R.height>0&&Y&&(k.current||(k.current=H7(Y)),k.current.configure({gl:s,events:o,shadows:f,linear:h,flat:d,legacy:p,orthographic:m,frameloop:y,dpr:A,performance:x,raycaster:g,camera:_,scene:S,size:R,onPointerMissed:(...J)=>le.current==null?void 0:le.current(...J),onCreated:J=>{J.events.connect==null||J.events.connect(a?E7(a)?a.current:a:K.current),l&&J.setEvents({compute:(ie,$)=>{const fe=ie[l+"X"],ve=ie[l+"Y"];$.pointer.set(fe/$.size.width*2-1,-(ve/$.size.height)*2+1),$.raycaster.setFromCamera($.pointer,$.camera)}}),P==null||P(J)}}),k.current.render(z.createElement(D,null,z.createElement(H3,{set:oe},z.createElement(z.Suspense,{fallback:z.createElement(T7,{set:q})},e)))))}),z.useEffect(()=>{const Y=F.current;if(Y)return()=>J3(Y)},[]);const j=a?"none":"auto";return z.createElement("div",il({ref:K,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:j,...r}},b),z.createElement("div",{ref:C,style:{width:"100%",height:"100%"}},z.createElement("canvas",{ref:F,style:{display:"block"}},t)))}),aX=z.forwardRef(function(e,t){return z.createElement(tD,null,z.createElement(oX,il({},e,{ref:t})))}),Uh=new U,gA=new U,lX=new U;function cX(n,e,t){const i=Uh.setFromMatrixPosition(n.matrixWorld);i.project(e);const r=t.width/2,s=t.height/2;return[i.x*r+r,-(i.y*s)+s]}function uX(n,e){const t=Uh.setFromMatrixPosition(n.matrixWorld),i=gA.setFromMatrixPosition(e.matrixWorld),r=t.sub(i),s=e.getWorldDirection(lX);return r.angleTo(s)>Math.PI/2}function fX(n,e,t,i){const r=Uh.setFromMatrixPosition(n.matrixWorld),s=r.clone();s.project(e),t.setFromCamera(s,e);const o=t.intersectObjects(i,!0);if(o.length){const a=o[0].distance;return r.distanceTo(t.ray.origin)Math.abs(n)<1e-10?0:n;function nD(n,e,t=""){let i="matrix3d(";for(let r=0;r!==16;r++)i+=eS(e[r]*n.elements[r])+(r!==15?",":")");return t+i}const pX=(n=>e=>nD(e,n))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),mX=(n=>(e,t)=>nD(e,n(t),"translate(-50%,-50%)"))(n=>[1/n,1/n,1/n,1,-1/n,-1/n,-1/n,-1,1/n,1/n,1/n,1,1,1,1,1]);function gX(n){return n&&typeof n=="object"&&"current"in n}const vX=z.forwardRef(({children:n,eps:e=.001,style:t,className:i,prepend:r,center:s,fullscreen:o,portal:a,distanceFactor:l,sprite:f=!1,transform:h=!1,occlude:d,onOcclude:p,castShadow:m,receiveShadow:y,material:A,geometry:x,zIndexRange:g=[16777271,0],calculatePosition:_=cX,as:S="div",wrapperClass:E,pointerEvents:P="auto",...b},L)=>{const{gl:D,camera:C,scene:R,size:F,raycaster:K,events:le,viewport:V}=Zi(),[q]=z.useState(()=>document.createElement(S)),ee=z.useRef(),oe=z.useRef(null),k=z.useRef(0),j=z.useRef([0,0]),Y=z.useRef(null),J=z.useRef(null),ie=(a==null?void 0:a.current)||le.connected||D.domElement.parentNode,$=z.useRef(null),fe=z.useRef(!1),ve=z.useMemo(()=>d&&d!=="blending"||Array.isArray(d)&&d.length&&gX(d[0]),[d]);z.useLayoutEffect(()=>{const Le=D.domElement;d&&d==="blending"?(Le.style.zIndex=`${Math.floor(g[0]/2)}`,Le.style.position="absolute",Le.style.pointerEvents="none"):(Le.style.zIndex=null,Le.style.position=null,Le.style.pointerEvents=null)},[d]),z.useLayoutEffect(()=>{if(oe.current){const Le=ee.current=LR(q);if(R.updateMatrixWorld(),h)q.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const Te=_(oe.current,C,F);q.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${Te[0]}px,${Te[1]}px,0);transform-origin:0 0;`}return ie&&(r?ie.prepend(q):ie.appendChild(q)),()=>{ie&&ie.removeChild(q),Le.unmount()}}},[ie,h]),z.useLayoutEffect(()=>{E&&(q.className=E)},[E]);const be=z.useMemo(()=>h?{position:"absolute",top:0,left:0,width:F.width,height:F.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:s?"translate3d(-50%,-50%,0)":"none",...o&&{top:-F.height/2,left:-F.width/2,width:F.width,height:F.height},...t},[t,s,o,F,h]),Pe=z.useMemo(()=>({position:"absolute",pointerEvents:P}),[P]);z.useLayoutEffect(()=>{if(fe.current=!1,h){var Le;(Le=ee.current)==null||Le.render(z.createElement("div",{ref:Y,style:be},z.createElement("div",{ref:J,style:Pe},z.createElement("div",{ref:L,className:i,style:t,children:n}))))}else{var Te;(Te=ee.current)==null||Te.render(z.createElement("div",{ref:L,style:be,className:i,children:n}))}});const Je=z.useRef(!0);pA(Le=>{if(oe.current){C.updateMatrixWorld(),oe.current.updateWorldMatrix(!0,!1);const Te=h?j.current:_(oe.current,C,F);if(h||Math.abs(k.current-C.zoom)>e||Math.abs(j.current[0]-Te[0])>e||Math.abs(j.current[1]-Te[1])>e){const H=uX(oe.current,C);let ye=!1;ve&&(Array.isArray(d)?ye=d.map(Ge=>Ge.current):d!=="blending"&&(ye=[R]));const de=Je.current;if(ye){const Ge=fX(oe.current,C,K,ye);Je.current=Ge&&!H}else Je.current=!H;de!==Je.current&&(p?p(!Je.current):q.style.display=Je.current?"block":"none");const we=Math.floor(g[0]/2),pe=d?ve?[g[0],we]:[we-1,0]:g;if(q.style.zIndex=`${dX(oe.current,C,pe)}`,h){const[Ge,Ne]=[F.width/2,F.height/2],N=C.projectionMatrix.elements[5]*Ne,{isOrthographicCamera:I,top:te,left:Se,bottom:_e,right:xe}=C,qe=pX(C.matrixWorldInverse),Ie=I?`scale(${N})translate(${eS(-(xe+Se)/2)}px,${eS((te+_e)/2)}px)`:`translateZ(${N}px)`;let Ue=oe.current.matrixWorld;f&&(Ue=C.matrixWorldInverse.clone().transpose().copyPosition(Ue).scale(oe.current.scale),Ue.elements[3]=Ue.elements[7]=Ue.elements[11]=0,Ue.elements[15]=1),q.style.width=F.width+"px",q.style.height=F.height+"px",q.style.perspective=I?"":`${N}px`,Y.current&&J.current&&(Y.current.style.transform=`${Ie}${qe}translate(${Ge}px,${Ne}px)`,J.current.style.transform=mX(Ue,1/((l||10)/400)))}else{const Ge=l===void 0?1:hX(oe.current,C)*l;q.style.transform=`translate3d(${Te[0]}px,${Te[1]}px,0) scale(${Ge})`}j.current=Te,k.current=C.zoom}}if(!ve&&$.current&&!fe.current)if(h){if(Y.current){const Te=Y.current.children[0];if(Te!=null&&Te.clientWidth&&Te!=null&&Te.clientHeight){const{isOrthographicCamera:H}=C;if(H||x)b.scale&&(Array.isArray(b.scale)?b.scale instanceof U?$.current.scale.copy(b.scale.clone().divideScalar(1)):$.current.scale.set(1/b.scale[0],1/b.scale[1],1/b.scale[2]):$.current.scale.setScalar(1/b.scale));else{const ye=(l||10)/400,de=Te.clientWidth*ye,we=Te.clientHeight*ye;$.current.scale.set(de,we,1)}fe.current=!0}}}else{const Te=q.children[0];if(Te!=null&&Te.clientWidth&&Te!=null&&Te.clientHeight){const H=1/V.factor,ye=Te.clientWidth*H,de=Te.clientHeight*H;$.current.scale.set(ye,de,1),fe.current=!0}$.current.lookAt(Le.camera.position)}});const nt=z.useMemo(()=>({vertexShader:h?void 0:` /* This shader is from the THREE's SpriteMaterial. We need to turn the backing plane into a Sprite @@ -3827,4 +3827,4 @@ No matching component was found for: void main() { gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); } - `}),[h]);return V.createElement("group",il({},b,{ref:oe}),d&&!ve&&V.createElement("mesh",{castShadow:m,receiveShadow:y,ref:$},x||V.createElement("planeGeometry",null),A||V.createElement("shaderMaterial",{side:Nr,vertexShader:nt.vertexShader,fragmentShader:nt.fragmentShader})))});let qu=0;const gX=D3(n=>(wc.onStart=(e,t,i)=>{n({active:!0,item:e,loaded:t,total:i,progress:(t-qu)/(i-qu)*100})},wc.onLoad=()=>{n({active:!1})},wc.onError=e=>n(t=>({errors:[...t.errors,e]})),wc.onProgress=(e,t,i)=>{t===i&&(qu=i),n({active:!0,item:e,loaded:t,total:i,progress:(t-qu)/(i-qu)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0}));function vX(n){return function(e){n.forEach(function(t){typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var yX=Object.defineProperty,xX=(n,e,t)=>e in n?yX(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ht=(n,e,t)=>(xX(n,typeof e!="symbol"?e+"":e,t),t);const qp=new ul,pC=new Rs,_X=Math.cos(70*(Math.PI/180)),mC=(n,e)=>(n%e+e)%e;let SX=class extends ps{constructor(e,t){super(),ht(this,"object"),ht(this,"domElement"),ht(this,"enabled",!0),ht(this,"target",new U),ht(this,"minDistance",0),ht(this,"maxDistance",1/0),ht(this,"minZoom",0),ht(this,"maxZoom",1/0),ht(this,"minPolarAngle",0),ht(this,"maxPolarAngle",Math.PI),ht(this,"minAzimuthAngle",-1/0),ht(this,"maxAzimuthAngle",1/0),ht(this,"enableDamping",!1),ht(this,"dampingFactor",.05),ht(this,"enableZoom",!0),ht(this,"zoomSpeed",1),ht(this,"enableRotate",!0),ht(this,"rotateSpeed",1),ht(this,"enablePan",!0),ht(this,"panSpeed",1),ht(this,"screenSpacePanning",!0),ht(this,"keyPanSpeed",7),ht(this,"zoomToCursor",!1),ht(this,"autoRotate",!1),ht(this,"autoRotateSpeed",2),ht(this,"reverseOrbit",!1),ht(this,"reverseHorizontalOrbit",!1),ht(this,"reverseVerticalOrbit",!1),ht(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),ht(this,"mouseButtons",{LEFT:Ca.ROTATE,MIDDLE:Ca.DOLLY,RIGHT:Ca.PAN}),ht(this,"touches",{ONE:Pa.ROTATE,TWO:Pa.DOLLY_PAN}),ht(this,"target0"),ht(this,"position0"),ht(this,"zoom0"),ht(this,"_domElementKeyEvents",null),ht(this,"getPolarAngle"),ht(this,"getAzimuthalAngle"),ht(this,"setPolarAngle"),ht(this,"setAzimuthalAngle"),ht(this,"getDistance"),ht(this,"listenToKeyEvents"),ht(this,"stopListenToKeyEvents"),ht(this,"saveState"),ht(this,"reset"),ht(this,"update"),ht(this,"connect"),ht(this,"dispose"),this.object=e,this.domElement=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>h.phi,this.getAzimuthalAngle=()=>h.theta,this.setPolarAngle=X=>{let ge=mC(X,2*Math.PI),ze=h.phi;ze<0&&(ze+=2*Math.PI),ge<0&&(ge+=2*Math.PI);let ke=Math.abs(ge-ze);2*Math.PI-ke{let ge=mC(X,2*Math.PI),ze=h.theta;ze<0&&(ze+=2*Math.PI),ge<0&&(ge+=2*Math.PI);let ke=Math.abs(ge-ze);2*Math.PI-kei.object.position.distanceTo(i.target),this.listenToKeyEvents=X=>{X.addEventListener("keydown",it),this._domElementKeyEvents=X},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",it),this._domElementKeyEvents=null},this.saveState=()=>{i.target0.copy(i.target),i.position0.copy(i.object.position),i.zoom0=i.object.zoom},this.reset=()=>{i.target.copy(i.target0),i.object.position.copy(i.position0),i.object.zoom=i.zoom0,i.object.updateProjectionMatrix(),i.dispatchEvent(r),i.update(),l=a.NONE},this.update=(()=>{const X=new U,ge=new U(0,1,0),ze=new hi().setFromUnitVectors(e.up,ge),ke=ze.clone().invert(),Me=new U,G=new hi,Re=2*Math.PI;return function(){const rt=i.object.position;ze.setFromUnitVectors(e.up,ge),ke.copy(ze).invert(),X.copy(rt).sub(i.target),X.applyQuaternion(ze),h.setFromVector3(X),i.autoRotate&&l===a.NONE&&H(K()),i.enableDamping?(h.theta+=d.theta*i.dampingFactor,h.phi+=d.phi*i.dampingFactor):(h.theta+=d.theta,h.phi+=d.phi);let Ke=i.minAzimuthAngle,bt=i.maxAzimuthAngle;isFinite(Ke)&&isFinite(bt)&&(Ke<-Math.PI?Ke+=Re:Ke>Math.PI&&(Ke-=Re),bt<-Math.PI?bt+=Re:bt>Math.PI&&(bt-=Re),Ke<=bt?h.theta=Math.max(Ke,Math.min(bt,h.theta)):h.theta=h.theta>(Ke+bt)/2?Math.max(Ke,h.theta):Math.min(bt,h.theta)),h.phi=Math.max(i.minPolarAngle,Math.min(i.maxPolarAngle,h.phi)),h.makeSafe(),i.enableDamping===!0?i.target.addScaledVector(m,i.dampingFactor):i.target.add(m),i.zoomToCursor&&C||i.object.isOrthographicCamera?h.radius=ie(h.radius):h.radius=ie(h.radius*p),X.setFromSpherical(h),X.applyQuaternion(ke),rt.copy(i.target).add(X),i.object.matrixAutoUpdate||i.object.updateMatrix(),i.object.lookAt(i.target),i.enableDamping===!0?(d.theta*=1-i.dampingFactor,d.phi*=1-i.dampingFactor,m.multiplyScalar(1-i.dampingFactor)):(d.set(0,0,0),m.set(0,0,0));let Rt=!1;if(i.zoomToCursor&&C){let Ht=null;if(i.object instanceof nn&&i.object.isPerspectiveCamera){const Qt=X.length();Ht=ie(Qt*p);const Lt=Qt-Ht;i.object.position.addScaledVector(L,Lt),i.object.updateMatrixWorld()}else if(i.object.isOrthographicCamera){const Qt=new U(D.x,D.y,0);Qt.unproject(i.object),i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/p)),i.object.updateProjectionMatrix(),Rt=!0;const Lt=new U(D.x,D.y,0);Lt.unproject(i.object),i.object.position.sub(Lt).add(Qt),i.object.updateMatrixWorld(),Ht=X.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),i.zoomToCursor=!1;Ht!==null&&(i.screenSpacePanning?i.target.set(0,0,-1).transformDirection(i.object.matrix).multiplyScalar(Ht).add(i.object.position):(qp.origin.copy(i.object.position),qp.direction.set(0,0,-1).transformDirection(i.object.matrix),Math.abs(i.object.up.dot(qp.direction))<_X?e.lookAt(i.target):(pC.setFromNormalAndCoplanarPoint(i.object.up,i.target),qp.intersectPlane(pC,i.target))))}else i.object instanceof Fr&&i.object.isOrthographicCamera&&(Rt=p!==1,Rt&&(i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/p)),i.object.updateProjectionMatrix()));return p=1,C=!1,Rt||Me.distanceToSquared(i.object.position)>f||8*(1-G.dot(i.object.quaternion))>f?(i.dispatchEvent(r),Me.copy(i.object.position),G.copy(i.object.quaternion),Rt=!1,!0):!1}})(),this.connect=X=>{X===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),i.domElement=X,i.domElement.style.touchAction="none",i.domElement.addEventListener("contextmenu",Ct),i.domElement.addEventListener("pointerdown",te),i.domElement.addEventListener("pointercancel",xe),i.domElement.addEventListener("wheel",Ue)},this.dispose=()=>{var X,ge,ze,ke,Me,G;(X=i.domElement)==null||X.removeEventListener("contextmenu",Ct),(ge=i.domElement)==null||ge.removeEventListener("pointerdown",te),(ze=i.domElement)==null||ze.removeEventListener("pointercancel",xe),(ke=i.domElement)==null||ke.removeEventListener("wheel",Ue),(Me=i.domElement)==null||Me.ownerDocument.removeEventListener("pointermove",Se),(G=i.domElement)==null||G.ownerDocument.removeEventListener("pointerup",_e),i._domElementKeyEvents!==null&&i._domElementKeyEvents.removeEventListener("keydown",it)};const i=this,r={type:"change"},s={type:"start"},o={type:"end"},a={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=a.NONE;const f=1e-6,h=new Z_,d=new Z_;let p=1;const m=new U,y=new me,A=new me,x=new me,g=new me,_=new me,S=new me,E=new me,P=new me,b=new me,L=new U,D=new me;let C=!1;const R=[],F={};function K(){return 2*Math.PI/60/60*i.autoRotateSpeed}function le(){return Math.pow(.95,i.zoomSpeed)}function H(X){i.reverseOrbit||i.reverseHorizontalOrbit?d.theta+=X:d.theta-=X}function q(X){i.reverseOrbit||i.reverseVerticalOrbit?d.phi+=X:d.phi-=X}const ee=(()=>{const X=new U;return function(ze,ke){X.setFromMatrixColumn(ke,0),X.multiplyScalar(-ze),m.add(X)}})(),oe=(()=>{const X=new U;return function(ze,ke){i.screenSpacePanning===!0?X.setFromMatrixColumn(ke,1):(X.setFromMatrixColumn(ke,0),X.crossVectors(i.object.up,X)),X.multiplyScalar(ze),m.add(X)}})(),k=(()=>{const X=new U;return function(ze,ke){const Me=i.domElement;if(Me&&i.object instanceof nn&&i.object.isPerspectiveCamera){const G=i.object.position;X.copy(G).sub(i.target);let Re=X.length();Re*=Math.tan(i.object.fov/2*Math.PI/180),ee(2*ze*Re/Me.clientHeight,i.object.matrix),oe(2*ke*Re/Me.clientHeight,i.object.matrix)}else Me&&i.object instanceof Fr&&i.object.isOrthographicCamera?(ee(ze*(i.object.right-i.object.left)/i.object.zoom/Me.clientWidth,i.object.matrix),oe(ke*(i.object.top-i.object.bottom)/i.object.zoom/Me.clientHeight,i.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),i.enablePan=!1)}})();function j(X){i.object instanceof nn&&i.object.isPerspectiveCamera||i.object instanceof Fr&&i.object.isOrthographicCamera?p/=X:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function Y(X){i.object instanceof nn&&i.object.isPerspectiveCamera||i.object instanceof Fr&&i.object.isOrthographicCamera?p*=X:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function J(X){if(!i.zoomToCursor||!i.domElement)return;C=!0;const ge=i.domElement.getBoundingClientRect(),ze=X.clientX-ge.left,ke=X.clientY-ge.top,Me=ge.width,G=ge.height;D.x=ze/Me*2-1,D.y=-(ke/G)*2+1,L.set(D.x,D.y,1).unproject(i.object).sub(i.object.position).normalize()}function ie(X){return Math.max(i.minDistance,Math.min(i.maxDistance,X))}function $(X){y.set(X.clientX,X.clientY)}function fe(X){J(X),E.set(X.clientX,X.clientY)}function ve(X){g.set(X.clientX,X.clientY)}function be(X){A.set(X.clientX,X.clientY),x.subVectors(A,y).multiplyScalar(i.rotateSpeed);const ge=i.domElement;ge&&(H(2*Math.PI*x.x/ge.clientHeight),q(2*Math.PI*x.y/ge.clientHeight)),y.copy(A),i.update()}function Pe(X){P.set(X.clientX,X.clientY),b.subVectors(P,E),b.y>0?j(le()):b.y<0&&Y(le()),E.copy(P),i.update()}function Je(X){_.set(X.clientX,X.clientY),S.subVectors(_,g).multiplyScalar(i.panSpeed),k(S.x,S.y),g.copy(_),i.update()}function nt(X){J(X),X.deltaY<0?Y(le()):X.deltaY>0&&j(le()),i.update()}function Le(X){let ge=!1;switch(X.code){case i.keys.UP:k(0,i.keyPanSpeed),ge=!0;break;case i.keys.BOTTOM:k(0,-i.keyPanSpeed),ge=!0;break;case i.keys.LEFT:k(i.keyPanSpeed,0),ge=!0;break;case i.keys.RIGHT:k(-i.keyPanSpeed,0),ge=!0;break}ge&&(X.preventDefault(),i.update())}function Te(){if(R.length==1)y.set(R[0].pageX,R[0].pageY);else{const X=.5*(R[0].pageX+R[1].pageX),ge=.5*(R[0].pageY+R[1].pageY);y.set(X,ge)}}function W(){if(R.length==1)g.set(R[0].pageX,R[0].pageY);else{const X=.5*(R[0].pageX+R[1].pageX),ge=.5*(R[0].pageY+R[1].pageY);g.set(X,ge)}}function ye(){const X=R[0].pageX-R[1].pageX,ge=R[0].pageY-R[1].pageY,ze=Math.sqrt(X*X+ge*ge);E.set(0,ze)}function de(){i.enableZoom&&ye(),i.enablePan&&W()}function we(){i.enableZoom&&ye(),i.enableRotate&&Te()}function pe(X){if(R.length==1)A.set(X.pageX,X.pageY);else{const ze=Ge(X),ke=.5*(X.pageX+ze.x),Me=.5*(X.pageY+ze.y);A.set(ke,Me)}x.subVectors(A,y).multiplyScalar(i.rotateSpeed);const ge=i.domElement;ge&&(H(2*Math.PI*x.x/ge.clientHeight),q(2*Math.PI*x.y/ge.clientHeight)),y.copy(A)}function We(X){if(R.length==1)_.set(X.pageX,X.pageY);else{const ge=Ge(X),ze=.5*(X.pageX+ge.x),ke=.5*(X.pageY+ge.y);_.set(ze,ke)}S.subVectors(_,g).multiplyScalar(i.panSpeed),k(S.x,S.y),g.copy(_)}function Ne(X){const ge=Ge(X),ze=X.pageX-ge.x,ke=X.pageY-ge.y,Me=Math.sqrt(ze*ze+ke*ke);P.set(0,Me),b.set(0,Math.pow(P.y/E.y,i.zoomSpeed)),j(b.y),E.copy(P)}function N(X){i.enableZoom&&Ne(X),i.enablePan&&We(X)}function I(X){i.enableZoom&&Ne(X),i.enableRotate&&pe(X)}function te(X){var ge,ze;i.enabled!==!1&&(R.length===0&&((ge=i.domElement)==null||ge.ownerDocument.addEventListener("pointermove",Se),(ze=i.domElement)==null||ze.ownerDocument.addEventListener("pointerup",_e)),_t(X),X.pointerType==="touch"?pt(X):qe(X))}function Se(X){i.enabled!==!1&&(X.pointerType==="touch"?Ae(X):Ie(X))}function _e(X){var ge,ze,ke;ft(X),R.length===0&&((ge=i.domElement)==null||ge.releasePointerCapture(X.pointerId),(ze=i.domElement)==null||ze.ownerDocument.removeEventListener("pointermove",Se),(ke=i.domElement)==null||ke.ownerDocument.removeEventListener("pointerup",_e)),i.dispatchEvent(o),l=a.NONE}function xe(X){ft(X)}function qe(X){let ge;switch(X.button){case 0:ge=i.mouseButtons.LEFT;break;case 1:ge=i.mouseButtons.MIDDLE;break;case 2:ge=i.mouseButtons.RIGHT;break;default:ge=-1}switch(ge){case Ca.DOLLY:if(i.enableZoom===!1)return;fe(X),l=a.DOLLY;break;case Ca.ROTATE:if(X.ctrlKey||X.metaKey||X.shiftKey){if(i.enablePan===!1)return;ve(X),l=a.PAN}else{if(i.enableRotate===!1)return;$(X),l=a.ROTATE}break;case Ca.PAN:if(X.ctrlKey||X.metaKey||X.shiftKey){if(i.enableRotate===!1)return;$(X),l=a.ROTATE}else{if(i.enablePan===!1)return;ve(X),l=a.PAN}break;default:l=a.NONE}l!==a.NONE&&i.dispatchEvent(s)}function Ie(X){if(i.enabled!==!1)switch(l){case a.ROTATE:if(i.enableRotate===!1)return;be(X);break;case a.DOLLY:if(i.enableZoom===!1)return;Pe(X);break;case a.PAN:if(i.enablePan===!1)return;Je(X);break}}function Ue(X){i.enabled===!1||i.enableZoom===!1||l!==a.NONE&&l!==a.ROTATE||(X.preventDefault(),i.dispatchEvent(s),nt(X),i.dispatchEvent(o))}function it(X){i.enabled===!1||i.enablePan===!1||Le(X)}function pt(X){switch(tt(X),R.length){case 1:switch(i.touches.ONE){case Pa.ROTATE:if(i.enableRotate===!1)return;Te(),l=a.TOUCH_ROTATE;break;case Pa.PAN:if(i.enablePan===!1)return;W(),l=a.TOUCH_PAN;break;default:l=a.NONE}break;case 2:switch(i.touches.TWO){case Pa.DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;de(),l=a.TOUCH_DOLLY_PAN;break;case Pa.DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;we(),l=a.TOUCH_DOLLY_ROTATE;break;default:l=a.NONE}break;default:l=a.NONE}l!==a.NONE&&i.dispatchEvent(s)}function Ae(X){switch(tt(X),l){case a.TOUCH_ROTATE:if(i.enableRotate===!1)return;pe(X),i.update();break;case a.TOUCH_PAN:if(i.enablePan===!1)return;We(X),i.update();break;case a.TOUCH_DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;N(X),i.update();break;case a.TOUCH_DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;I(X),i.update();break;default:l=a.NONE}}function Ct(X){i.enabled!==!1&&X.preventDefault()}function _t(X){R.push(X)}function ft(X){delete F[X.pointerId];for(let ge=0;ge0,P=le>0,b=H>0,L=(E?1:0)+(P?1:0)+(b?1:0),L){case 0:{g.push(A[S]),g.push(A[S+1]),g.push(A[S+2]);break}case 1:{if(E&&(D=A[S+1],C=A[S+2],R=y(A[S],D,x,_),F=y(A[S],C,x,_)),P){D=A[S],C=A[S+2],R=y(A[S+1],D,x,_),F=y(A[S+1],C,x,_),g.push(R),g.push(C.clone()),g.push(D.clone()),g.push(C.clone()),g.push(R.clone()),g.push(F);break}b&&(D=A[S],C=A[S+1],R=y(A[S+2],D,x,_),F=y(A[S+2],C,x,_)),g.push(D.clone()),g.push(C.clone()),g.push(R),g.push(F),g.push(R.clone()),g.push(C.clone());break}case 2:{E||(D=A[S].clone(),C=y(D,A[S+1],x,_),R=y(D,A[S+2],x,_),g.push(D),g.push(C),g.push(R)),P||(D=A[S+1].clone(),C=y(D,A[S+2],x,_),R=y(D,A[S],x,_),g.push(D),g.push(C),g.push(R)),b||(D=A[S+2].clone(),C=y(D,A[S],x,_),R=y(D,A[S+1],x,_),g.push(D),g.push(C),g.push(R));break}}}return g}function y(A,x,g,_){const S=A.position.dot(g)-_,E=x.position.dot(g)-_,P=S/(S-E);return new gC(new U(A.position.x+P*(x.position.x-A.position.x),A.position.y+P*(x.position.y-A.position.y),A.position.z+P*(x.position.z-A.position.z)),new U(A.normal.x+P*(x.normal.x-A.normal.x),A.normal.y+P*(x.normal.y-A.normal.y),A.normal.z+P*(x.normal.z-A.normal.z)))}}}class gC{constructor(e,t){this.position=e,this.normal=t}clone(){return new this.constructor(this.position.clone(),this.normal.clone())}}const vC=n=>n===Object(n)&&!Array.isArray(n)&&typeof n!="function";function vA(n,e){const t=Zi(r=>r.gl),i=Nh(o0,vC(n)?Object.values(n):n);if(V.useLayoutEffect(()=>{e==null||e(i)},[e]),V.useEffect(()=>{"initTexture"in t&&(Array.isArray(i)?i:[i]).forEach(t.initTexture)},[t,i]),vC(n)){const r={};let s=0;for(const o in n)r[o]=i[s++];return r}else return i}vA.preload=n=>Nh.preload(o0,n);vA.clear=n=>Nh.clear(o0,n);function MX(n){return Array.isArray(n)}function Yy(n=[0,0,0]){return MX(n)?n:n instanceof U||n instanceof fl?[n.x,n.y,n.z]:[n,n,n]}const wX=V.forwardRef(function({debug:e,depthTest:t=!1,polygonOffsetFactor:i=-10,map:r,mesh:s,children:o,position:a,rotation:l,scale:f,...h},d){const p=V.useRef(null);V.useImperativeHandle(d,()=>p.current);const m=V.useRef(null);return V.useLayoutEffect(()=>{const y=(s==null?void 0:s.current)||p.current.parent,A=p.current;if(!(y instanceof Rn))throw new Error('Decal must have a Mesh as parent or specify its "mesh" prop');const x={position:new U,rotation:new fl,scale:new U(1,1,1)};if(y){is(x,{position:a,scale:f});const g=y.matrixWorld.clone();if(y.matrixWorld.identity(),!l||typeof l=="number"){const _=new Nt;_.position.copy(x.position),_.lookAt(y.position),typeof l=="number"&&_.rotateZ(l),is(x,{rotation:_.rotation})}else is(x,{rotation:l});return A.geometry=new AX(y,x.position,x.rotation,x.scale),m.current&&(is(m.current,x),m.current.traverse(_=>_.raycast=()=>null)),y.matrixWorld=g,()=>{A.geometry.dispose()}}},[s,...Yy(a),...Yy(f),...Yy(l)]),V.createElement("mesh",il({ref:p,"material-transparent":!0,"material-polygonOffset":!0,"material-polygonOffsetFactor":i,"material-depthTest":t,"material-map":r},h),o,e&&V.createElement("mesh",{ref:m},V.createElement("boxGeometry",null),V.createElement("meshNormalMaterial",{wireframe:!0}),V.createElement("axesHelper",null)))}),EX=V.forwardRef(({makeDefault:n,camera:e,regress:t,domElement:i,enableDamping:r=!0,keyEvents:s=!1,onChange:o,onStart:a,onEnd:l,...f},h)=>{const d=Zi(b=>b.invalidate),p=Zi(b=>b.camera),m=Zi(b=>b.gl),y=Zi(b=>b.events),A=Zi(b=>b.setEvents),x=Zi(b=>b.set),g=Zi(b=>b.get),_=Zi(b=>b.performance),S=e||p,E=i||y.connected||m.domElement,P=V.useMemo(()=>new SX(S),[S]);return pA(()=>{P.enabled&&P.update()},-1),V.useEffect(()=>(s&&P.connect(s===!0?E:s),P.connect(E),()=>void P.dispose()),[s,E,t,P,d]),V.useEffect(()=>{const b=C=>{d(),t&&_.regress(),o&&o(C)},L=C=>{a&&a(C)},D=C=>{l&&l(C)};return P.addEventListener("change",b),P.addEventListener("start",L),P.addEventListener("end",D),()=>{P.removeEventListener("start",L),P.removeEventListener("end",D),P.removeEventListener("change",b)}},[o,a,l,P,d,A]),V.useEffect(()=>{if(n){const b=g().controls;return x({controls:P}),()=>x({controls:b})}},[n,P]),V.createElement("primitive",il({ref:h,object:P,enableDamping:r},f))}),TX=V.forwardRef(({children:n,enabled:e=!0,speed:t=1,rotationIntensity:i=1,floatIntensity:r=1,floatingRange:s=[-.1,.1],...o},a)=>{const l=V.useRef(null),f=V.useRef(Math.random()*1e4);return pA(h=>{var d,p;if(!e||t===0)return;const m=f.current+h.clock.getElapsedTime();l.current.rotation.x=Math.cos(m/4*t)/8*i,l.current.rotation.y=Math.sin(m/4*t)/8*i,l.current.rotation.z=Math.sin(m/4*t)/20*i;let y=Math.sin(m/4*t)/10;y=MI.mapLinear(y,-.1,.1,(d=s==null?void 0:s[0])!==null&&d!==void 0?d:-.1,(p=s==null?void 0:s[1])!==null&&p!==void 0?p:.1),l.current.position.y=y*r,l.current.updateMatrix()}),V.createElement("group",o,V.createElement("group",{ref:vX([l,a]),matrixAutoUpdate:!1},n))});function bX({all:n,scene:e,camera:t}){const i=Zi(({gl:o})=>o),r=Zi(({camera:o})=>o),s=Zi(({scene:o})=>o);return V.useLayoutEffect(()=>{const o=[];n&&(e||s).traverse(f=>{f.visible===!1&&(o.push(f),f.visible=!0)}),i.compile(e||s,t||r);const a=new V1(128);new z1(.01,1e5,a).update(i,e||s),a.dispose(),o.forEach(f=>f.visible=!1)},[]),null}const CX=()=>{const{progress:n}=gX();return z.jsxs(mX,{as:"div",center:!0,style:{display:"flex",justifyContent:"center",alignItems:"center",flexDirection:"column"},children:[z.jsx("span",{className:"canvas-loader"}),z.jsxs("p",{style:{fontSize:14,color:"#F1F1F1",fontWeight:800,marginTop:40},children:[n.toFixed(2),"%"]})]})},PX=n=>{const[e]=vA([n.imgUrl]);return z.jsxs(TX,{speed:1,rotationIntensity:0,floatIntensity:5,children:[z.jsx("ambientLight",{intensity:2.4}),z.jsx("directionalLight",{position:[0,0,.05]}),z.jsxs("mesh",{castShadow:!0,receiveShadow:!0,scale:2.75,children:[z.jsx("icosahedronGeometry",{args:[1,1]}),z.jsx("meshStandardMaterial",{color:"#fcd4d4",polygonOffset:!0,polygonOffsetFactor:-5,flatShading:!0}),z.jsx(wX,{position:[0,0,1],rotation:[2*Math.PI,0,6.25],scale:1,map:e,flatShading:!0})]})]})},RX=({icon:n})=>z.jsxs(sX,{frameloop:"demand",dpr:[1,2],gl:{preserveDrawingBuffer:!0},children:[z.jsxs(V.Suspense,{fallback:z.jsx(CX,{}),children:[z.jsx(EX,{enableZoom:!1}),z.jsx(PX,{imgUrl:n})]}),z.jsx(bX,{all:!0})]}),LX="/portfolio-react-threejs/assets/texture-5adaf7bf.webp",IX=()=>z.jsxs("div",{className:"xl:mt-6 flex flex-row flex-wrap justify-center items-center gap-10",children:[z.jsxs(un.div,{variants:ls(),children:[z.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Skills & Technologies."}),z.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"What have i learnd?"})]}),z.jsx("div",{className:"lg:w-[400px] lg:h-[400px]",children:z.jsx(RX,{icon:LX})},"skillsBall")]}),DX=Js(IX,"skills"),NX=()=>z.jsx("div",{className:"h-screen flex justify-center items-center",children:z.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function UX(){return z.jsx(V.Suspense,{fallback:NX(),children:z.jsxs("div",{className:"bg-white",children:[z.jsx(Ks,{}),z.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:z.jsx(DX,{})})]})})}const OX=()=>z.jsx("div",{className:"h-screen flex justify-center items-center",children:z.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function FX(){return z.jsx(V.Suspense,{fallback:OX(),children:z.jsxs("div",{className:"bg-white",children:[z.jsx(Ks,{}),z.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:z.jsx(xL,{})})]})})}const kX=()=>z.jsx("div",{className:"h-screen flex justify-center items-center",children:z.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function BX(){return z.jsx(V.Suspense,{fallback:kX(),children:z.jsxs("div",{className:"bg-white",children:[z.jsx(Ks,{}),z.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:z.jsxs("div",{className:"h-screen ",children:[z.jsx("h1",{className:`${Xt.sectionHeadText} text-center`,children:"No Page Found"}),z.jsx("p",{className:`${Xt.heroSubText} mt-2 text-black-100 text-center`,children:"Try after something, it might showup 😊."})]})})]})})}function zX(){return z.jsx(vF,{basename:"/portfolio-react-threejs",children:z.jsxs(fF,{children:[z.jsx(es,{index:!0,element:z.jsx(KV,{})}),z.jsx(es,{path:"/certificate",element:z.jsx($V,{})}),z.jsx(es,{path:"/resume",element:z.jsx(iH,{})}),z.jsx(es,{path:"/blogs",element:z.jsx(oH,{})}),z.jsx(es,{path:"/contact",element:z.jsx(pH,{})}),z.jsx(es,{path:"/projects",element:z.jsx(SH,{})}),z.jsx(es,{path:"/skills",element:z.jsx(UX,{})}),z.jsx(es,{path:"/freetools",element:z.jsx(FX,{})}),z.jsx(es,{path:"*",element:z.jsx(BX,{})})]})})}qy.createRoot(document.getElementById("root")).render(z.jsx(hh.StrictMode,{children:z.jsx(zX,{})})); + `}),[h]);return z.createElement("group",il({},b,{ref:oe}),d&&!ve&&z.createElement("mesh",{castShadow:m,receiveShadow:y,ref:$},x||z.createElement("planeGeometry",null),A||z.createElement("shaderMaterial",{side:Nr,vertexShader:nt.vertexShader,fragmentShader:nt.fragmentShader})))});let qu=0;const yX=D3(n=>(wc.onStart=(e,t,i)=>{n({active:!0,item:e,loaded:t,total:i,progress:(t-qu)/(i-qu)*100})},wc.onLoad=()=>{n({active:!1})},wc.onError=e=>n(t=>({errors:[...t.errors,e]})),wc.onProgress=(e,t,i)=>{t===i&&(qu=i),n({active:!0,item:e,loaded:t,total:i,progress:(t-qu)/(i-qu)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0}));function xX(n){return function(e){n.forEach(function(t){typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var _X=Object.defineProperty,SX=(n,e,t)=>e in n?_X(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ht=(n,e,t)=>(SX(n,typeof e!="symbol"?e+"":e,t),t);const qp=new ul,pC=new Rs,AX=Math.cos(70*(Math.PI/180)),mC=(n,e)=>(n%e+e)%e;let MX=class extends ps{constructor(e,t){super(),ht(this,"object"),ht(this,"domElement"),ht(this,"enabled",!0),ht(this,"target",new U),ht(this,"minDistance",0),ht(this,"maxDistance",1/0),ht(this,"minZoom",0),ht(this,"maxZoom",1/0),ht(this,"minPolarAngle",0),ht(this,"maxPolarAngle",Math.PI),ht(this,"minAzimuthAngle",-1/0),ht(this,"maxAzimuthAngle",1/0),ht(this,"enableDamping",!1),ht(this,"dampingFactor",.05),ht(this,"enableZoom",!0),ht(this,"zoomSpeed",1),ht(this,"enableRotate",!0),ht(this,"rotateSpeed",1),ht(this,"enablePan",!0),ht(this,"panSpeed",1),ht(this,"screenSpacePanning",!0),ht(this,"keyPanSpeed",7),ht(this,"zoomToCursor",!1),ht(this,"autoRotate",!1),ht(this,"autoRotateSpeed",2),ht(this,"reverseOrbit",!1),ht(this,"reverseHorizontalOrbit",!1),ht(this,"reverseVerticalOrbit",!1),ht(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),ht(this,"mouseButtons",{LEFT:Ca.ROTATE,MIDDLE:Ca.DOLLY,RIGHT:Ca.PAN}),ht(this,"touches",{ONE:Pa.ROTATE,TWO:Pa.DOLLY_PAN}),ht(this,"target0"),ht(this,"position0"),ht(this,"zoom0"),ht(this,"_domElementKeyEvents",null),ht(this,"getPolarAngle"),ht(this,"getAzimuthalAngle"),ht(this,"setPolarAngle"),ht(this,"setAzimuthalAngle"),ht(this,"getDistance"),ht(this,"listenToKeyEvents"),ht(this,"stopListenToKeyEvents"),ht(this,"saveState"),ht(this,"reset"),ht(this,"update"),ht(this,"connect"),ht(this,"dispose"),this.object=e,this.domElement=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>h.phi,this.getAzimuthalAngle=()=>h.theta,this.setPolarAngle=X=>{let ge=mC(X,2*Math.PI),ze=h.phi;ze<0&&(ze+=2*Math.PI),ge<0&&(ge+=2*Math.PI);let ke=Math.abs(ge-ze);2*Math.PI-ke{let ge=mC(X,2*Math.PI),ze=h.theta;ze<0&&(ze+=2*Math.PI),ge<0&&(ge+=2*Math.PI);let ke=Math.abs(ge-ze);2*Math.PI-kei.object.position.distanceTo(i.target),this.listenToKeyEvents=X=>{X.addEventListener("keydown",it),this._domElementKeyEvents=X},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",it),this._domElementKeyEvents=null},this.saveState=()=>{i.target0.copy(i.target),i.position0.copy(i.object.position),i.zoom0=i.object.zoom},this.reset=()=>{i.target.copy(i.target0),i.object.position.copy(i.position0),i.object.zoom=i.zoom0,i.object.updateProjectionMatrix(),i.dispatchEvent(r),i.update(),l=a.NONE},this.update=(()=>{const X=new U,ge=new U(0,1,0),ze=new hi().setFromUnitVectors(e.up,ge),ke=ze.clone().invert(),Me=new U,W=new hi,Re=2*Math.PI;return function(){const rt=i.object.position;ze.setFromUnitVectors(e.up,ge),ke.copy(ze).invert(),X.copy(rt).sub(i.target),X.applyQuaternion(ze),h.setFromVector3(X),i.autoRotate&&l===a.NONE&&V(K()),i.enableDamping?(h.theta+=d.theta*i.dampingFactor,h.phi+=d.phi*i.dampingFactor):(h.theta+=d.theta,h.phi+=d.phi);let Ke=i.minAzimuthAngle,bt=i.maxAzimuthAngle;isFinite(Ke)&&isFinite(bt)&&(Ke<-Math.PI?Ke+=Re:Ke>Math.PI&&(Ke-=Re),bt<-Math.PI?bt+=Re:bt>Math.PI&&(bt-=Re),Ke<=bt?h.theta=Math.max(Ke,Math.min(bt,h.theta)):h.theta=h.theta>(Ke+bt)/2?Math.max(Ke,h.theta):Math.min(bt,h.theta)),h.phi=Math.max(i.minPolarAngle,Math.min(i.maxPolarAngle,h.phi)),h.makeSafe(),i.enableDamping===!0?i.target.addScaledVector(m,i.dampingFactor):i.target.add(m),i.zoomToCursor&&C||i.object.isOrthographicCamera?h.radius=ie(h.radius):h.radius=ie(h.radius*p),X.setFromSpherical(h),X.applyQuaternion(ke),rt.copy(i.target).add(X),i.object.matrixAutoUpdate||i.object.updateMatrix(),i.object.lookAt(i.target),i.enableDamping===!0?(d.theta*=1-i.dampingFactor,d.phi*=1-i.dampingFactor,m.multiplyScalar(1-i.dampingFactor)):(d.set(0,0,0),m.set(0,0,0));let Rt=!1;if(i.zoomToCursor&&C){let Ht=null;if(i.object instanceof nn&&i.object.isPerspectiveCamera){const Qt=X.length();Ht=ie(Qt*p);const Lt=Qt-Ht;i.object.position.addScaledVector(L,Lt),i.object.updateMatrixWorld()}else if(i.object.isOrthographicCamera){const Qt=new U(D.x,D.y,0);Qt.unproject(i.object),i.object.zoom=Math.max(i.minZoom,Math.min(i.maxZoom,i.object.zoom/p)),i.object.updateProjectionMatrix(),Rt=!0;const Lt=new U(D.x,D.y,0);Lt.unproject(i.object),i.object.position.sub(Lt).add(Qt),i.object.updateMatrixWorld(),Ht=X.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),i.zoomToCursor=!1;Ht!==null&&(i.screenSpacePanning?i.target.set(0,0,-1).transformDirection(i.object.matrix).multiplyScalar(Ht).add(i.object.position):(qp.origin.copy(i.object.position),qp.direction.set(0,0,-1).transformDirection(i.object.matrix),Math.abs(i.object.up.dot(qp.direction))f||8*(1-W.dot(i.object.quaternion))>f?(i.dispatchEvent(r),Me.copy(i.object.position),W.copy(i.object.quaternion),Rt=!1,!0):!1}})(),this.connect=X=>{X===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),i.domElement=X,i.domElement.style.touchAction="none",i.domElement.addEventListener("contextmenu",Ct),i.domElement.addEventListener("pointerdown",te),i.domElement.addEventListener("pointercancel",xe),i.domElement.addEventListener("wheel",Ue)},this.dispose=()=>{var X,ge,ze,ke,Me,W;(X=i.domElement)==null||X.removeEventListener("contextmenu",Ct),(ge=i.domElement)==null||ge.removeEventListener("pointerdown",te),(ze=i.domElement)==null||ze.removeEventListener("pointercancel",xe),(ke=i.domElement)==null||ke.removeEventListener("wheel",Ue),(Me=i.domElement)==null||Me.ownerDocument.removeEventListener("pointermove",Se),(W=i.domElement)==null||W.ownerDocument.removeEventListener("pointerup",_e),i._domElementKeyEvents!==null&&i._domElementKeyEvents.removeEventListener("keydown",it)};const i=this,r={type:"change"},s={type:"start"},o={type:"end"},a={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=a.NONE;const f=1e-6,h=new Z_,d=new Z_;let p=1;const m=new U,y=new me,A=new me,x=new me,g=new me,_=new me,S=new me,E=new me,P=new me,b=new me,L=new U,D=new me;let C=!1;const R=[],F={};function K(){return 2*Math.PI/60/60*i.autoRotateSpeed}function le(){return Math.pow(.95,i.zoomSpeed)}function V(X){i.reverseOrbit||i.reverseHorizontalOrbit?d.theta+=X:d.theta-=X}function q(X){i.reverseOrbit||i.reverseVerticalOrbit?d.phi+=X:d.phi-=X}const ee=(()=>{const X=new U;return function(ze,ke){X.setFromMatrixColumn(ke,0),X.multiplyScalar(-ze),m.add(X)}})(),oe=(()=>{const X=new U;return function(ze,ke){i.screenSpacePanning===!0?X.setFromMatrixColumn(ke,1):(X.setFromMatrixColumn(ke,0),X.crossVectors(i.object.up,X)),X.multiplyScalar(ze),m.add(X)}})(),k=(()=>{const X=new U;return function(ze,ke){const Me=i.domElement;if(Me&&i.object instanceof nn&&i.object.isPerspectiveCamera){const W=i.object.position;X.copy(W).sub(i.target);let Re=X.length();Re*=Math.tan(i.object.fov/2*Math.PI/180),ee(2*ze*Re/Me.clientHeight,i.object.matrix),oe(2*ke*Re/Me.clientHeight,i.object.matrix)}else Me&&i.object instanceof Fr&&i.object.isOrthographicCamera?(ee(ze*(i.object.right-i.object.left)/i.object.zoom/Me.clientWidth,i.object.matrix),oe(ke*(i.object.top-i.object.bottom)/i.object.zoom/Me.clientHeight,i.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),i.enablePan=!1)}})();function j(X){i.object instanceof nn&&i.object.isPerspectiveCamera||i.object instanceof Fr&&i.object.isOrthographicCamera?p/=X:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function Y(X){i.object instanceof nn&&i.object.isPerspectiveCamera||i.object instanceof Fr&&i.object.isOrthographicCamera?p*=X:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),i.enableZoom=!1)}function J(X){if(!i.zoomToCursor||!i.domElement)return;C=!0;const ge=i.domElement.getBoundingClientRect(),ze=X.clientX-ge.left,ke=X.clientY-ge.top,Me=ge.width,W=ge.height;D.x=ze/Me*2-1,D.y=-(ke/W)*2+1,L.set(D.x,D.y,1).unproject(i.object).sub(i.object.position).normalize()}function ie(X){return Math.max(i.minDistance,Math.min(i.maxDistance,X))}function $(X){y.set(X.clientX,X.clientY)}function fe(X){J(X),E.set(X.clientX,X.clientY)}function ve(X){g.set(X.clientX,X.clientY)}function be(X){A.set(X.clientX,X.clientY),x.subVectors(A,y).multiplyScalar(i.rotateSpeed);const ge=i.domElement;ge&&(V(2*Math.PI*x.x/ge.clientHeight),q(2*Math.PI*x.y/ge.clientHeight)),y.copy(A),i.update()}function Pe(X){P.set(X.clientX,X.clientY),b.subVectors(P,E),b.y>0?j(le()):b.y<0&&Y(le()),E.copy(P),i.update()}function Je(X){_.set(X.clientX,X.clientY),S.subVectors(_,g).multiplyScalar(i.panSpeed),k(S.x,S.y),g.copy(_),i.update()}function nt(X){J(X),X.deltaY<0?Y(le()):X.deltaY>0&&j(le()),i.update()}function Le(X){let ge=!1;switch(X.code){case i.keys.UP:k(0,i.keyPanSpeed),ge=!0;break;case i.keys.BOTTOM:k(0,-i.keyPanSpeed),ge=!0;break;case i.keys.LEFT:k(i.keyPanSpeed,0),ge=!0;break;case i.keys.RIGHT:k(-i.keyPanSpeed,0),ge=!0;break}ge&&(X.preventDefault(),i.update())}function Te(){if(R.length==1)y.set(R[0].pageX,R[0].pageY);else{const X=.5*(R[0].pageX+R[1].pageX),ge=.5*(R[0].pageY+R[1].pageY);y.set(X,ge)}}function H(){if(R.length==1)g.set(R[0].pageX,R[0].pageY);else{const X=.5*(R[0].pageX+R[1].pageX),ge=.5*(R[0].pageY+R[1].pageY);g.set(X,ge)}}function ye(){const X=R[0].pageX-R[1].pageX,ge=R[0].pageY-R[1].pageY,ze=Math.sqrt(X*X+ge*ge);E.set(0,ze)}function de(){i.enableZoom&&ye(),i.enablePan&&H()}function we(){i.enableZoom&&ye(),i.enableRotate&&Te()}function pe(X){if(R.length==1)A.set(X.pageX,X.pageY);else{const ze=We(X),ke=.5*(X.pageX+ze.x),Me=.5*(X.pageY+ze.y);A.set(ke,Me)}x.subVectors(A,y).multiplyScalar(i.rotateSpeed);const ge=i.domElement;ge&&(V(2*Math.PI*x.x/ge.clientHeight),q(2*Math.PI*x.y/ge.clientHeight)),y.copy(A)}function Ge(X){if(R.length==1)_.set(X.pageX,X.pageY);else{const ge=We(X),ze=.5*(X.pageX+ge.x),ke=.5*(X.pageY+ge.y);_.set(ze,ke)}S.subVectors(_,g).multiplyScalar(i.panSpeed),k(S.x,S.y),g.copy(_)}function Ne(X){const ge=We(X),ze=X.pageX-ge.x,ke=X.pageY-ge.y,Me=Math.sqrt(ze*ze+ke*ke);P.set(0,Me),b.set(0,Math.pow(P.y/E.y,i.zoomSpeed)),j(b.y),E.copy(P)}function N(X){i.enableZoom&&Ne(X),i.enablePan&&Ge(X)}function I(X){i.enableZoom&&Ne(X),i.enableRotate&&pe(X)}function te(X){var ge,ze;i.enabled!==!1&&(R.length===0&&((ge=i.domElement)==null||ge.ownerDocument.addEventListener("pointermove",Se),(ze=i.domElement)==null||ze.ownerDocument.addEventListener("pointerup",_e)),_t(X),X.pointerType==="touch"?pt(X):qe(X))}function Se(X){i.enabled!==!1&&(X.pointerType==="touch"?Ae(X):Ie(X))}function _e(X){var ge,ze,ke;ft(X),R.length===0&&((ge=i.domElement)==null||ge.releasePointerCapture(X.pointerId),(ze=i.domElement)==null||ze.ownerDocument.removeEventListener("pointermove",Se),(ke=i.domElement)==null||ke.ownerDocument.removeEventListener("pointerup",_e)),i.dispatchEvent(o),l=a.NONE}function xe(X){ft(X)}function qe(X){let ge;switch(X.button){case 0:ge=i.mouseButtons.LEFT;break;case 1:ge=i.mouseButtons.MIDDLE;break;case 2:ge=i.mouseButtons.RIGHT;break;default:ge=-1}switch(ge){case Ca.DOLLY:if(i.enableZoom===!1)return;fe(X),l=a.DOLLY;break;case Ca.ROTATE:if(X.ctrlKey||X.metaKey||X.shiftKey){if(i.enablePan===!1)return;ve(X),l=a.PAN}else{if(i.enableRotate===!1)return;$(X),l=a.ROTATE}break;case Ca.PAN:if(X.ctrlKey||X.metaKey||X.shiftKey){if(i.enableRotate===!1)return;$(X),l=a.ROTATE}else{if(i.enablePan===!1)return;ve(X),l=a.PAN}break;default:l=a.NONE}l!==a.NONE&&i.dispatchEvent(s)}function Ie(X){if(i.enabled!==!1)switch(l){case a.ROTATE:if(i.enableRotate===!1)return;be(X);break;case a.DOLLY:if(i.enableZoom===!1)return;Pe(X);break;case a.PAN:if(i.enablePan===!1)return;Je(X);break}}function Ue(X){i.enabled===!1||i.enableZoom===!1||l!==a.NONE&&l!==a.ROTATE||(X.preventDefault(),i.dispatchEvent(s),nt(X),i.dispatchEvent(o))}function it(X){i.enabled===!1||i.enablePan===!1||Le(X)}function pt(X){switch(tt(X),R.length){case 1:switch(i.touches.ONE){case Pa.ROTATE:if(i.enableRotate===!1)return;Te(),l=a.TOUCH_ROTATE;break;case Pa.PAN:if(i.enablePan===!1)return;H(),l=a.TOUCH_PAN;break;default:l=a.NONE}break;case 2:switch(i.touches.TWO){case Pa.DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;de(),l=a.TOUCH_DOLLY_PAN;break;case Pa.DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;we(),l=a.TOUCH_DOLLY_ROTATE;break;default:l=a.NONE}break;default:l=a.NONE}l!==a.NONE&&i.dispatchEvent(s)}function Ae(X){switch(tt(X),l){case a.TOUCH_ROTATE:if(i.enableRotate===!1)return;pe(X),i.update();break;case a.TOUCH_PAN:if(i.enablePan===!1)return;Ge(X),i.update();break;case a.TOUCH_DOLLY_PAN:if(i.enableZoom===!1&&i.enablePan===!1)return;N(X),i.update();break;case a.TOUCH_DOLLY_ROTATE:if(i.enableZoom===!1&&i.enableRotate===!1)return;I(X),i.update();break;default:l=a.NONE}}function Ct(X){i.enabled!==!1&&X.preventDefault()}function _t(X){R.push(X)}function ft(X){delete F[X.pointerId];for(let ge=0;ge0,P=le>0,b=V>0,L=(E?1:0)+(P?1:0)+(b?1:0),L){case 0:{g.push(A[S]),g.push(A[S+1]),g.push(A[S+2]);break}case 1:{if(E&&(D=A[S+1],C=A[S+2],R=y(A[S],D,x,_),F=y(A[S],C,x,_)),P){D=A[S],C=A[S+2],R=y(A[S+1],D,x,_),F=y(A[S+1],C,x,_),g.push(R),g.push(C.clone()),g.push(D.clone()),g.push(C.clone()),g.push(R.clone()),g.push(F);break}b&&(D=A[S],C=A[S+1],R=y(A[S+2],D,x,_),F=y(A[S+2],C,x,_)),g.push(D.clone()),g.push(C.clone()),g.push(R),g.push(F),g.push(R.clone()),g.push(C.clone());break}case 2:{E||(D=A[S].clone(),C=y(D,A[S+1],x,_),R=y(D,A[S+2],x,_),g.push(D),g.push(C),g.push(R)),P||(D=A[S+1].clone(),C=y(D,A[S+2],x,_),R=y(D,A[S],x,_),g.push(D),g.push(C),g.push(R)),b||(D=A[S+2].clone(),C=y(D,A[S],x,_),R=y(D,A[S+1],x,_),g.push(D),g.push(C),g.push(R));break}}}return g}function y(A,x,g,_){const S=A.position.dot(g)-_,E=x.position.dot(g)-_,P=S/(S-E);return new gC(new U(A.position.x+P*(x.position.x-A.position.x),A.position.y+P*(x.position.y-A.position.y),A.position.z+P*(x.position.z-A.position.z)),new U(A.normal.x+P*(x.normal.x-A.normal.x),A.normal.y+P*(x.normal.y-A.normal.y),A.normal.z+P*(x.normal.z-A.normal.z)))}}}class gC{constructor(e,t){this.position=e,this.normal=t}clone(){return new this.constructor(this.position.clone(),this.normal.clone())}}const vC=n=>n===Object(n)&&!Array.isArray(n)&&typeof n!="function";function vA(n,e){const t=Zi(r=>r.gl),i=Nh(o0,vC(n)?Object.values(n):n);if(z.useLayoutEffect(()=>{e==null||e(i)},[e]),z.useEffect(()=>{"initTexture"in t&&(Array.isArray(i)?i:[i]).forEach(t.initTexture)},[t,i]),vC(n)){const r={};let s=0;for(const o in n)r[o]=i[s++];return r}else return i}vA.preload=n=>Nh.preload(o0,n);vA.clear=n=>Nh.clear(o0,n);function EX(n){return Array.isArray(n)}function Yy(n=[0,0,0]){return EX(n)?n:n instanceof U||n instanceof fl?[n.x,n.y,n.z]:[n,n,n]}const TX=z.forwardRef(function({debug:e,depthTest:t=!1,polygonOffsetFactor:i=-10,map:r,mesh:s,children:o,position:a,rotation:l,scale:f,...h},d){const p=z.useRef(null);z.useImperativeHandle(d,()=>p.current);const m=z.useRef(null);return z.useLayoutEffect(()=>{const y=(s==null?void 0:s.current)||p.current.parent,A=p.current;if(!(y instanceof Rn))throw new Error('Decal must have a Mesh as parent or specify its "mesh" prop');const x={position:new U,rotation:new fl,scale:new U(1,1,1)};if(y){is(x,{position:a,scale:f});const g=y.matrixWorld.clone();if(y.matrixWorld.identity(),!l||typeof l=="number"){const _=new Nt;_.position.copy(x.position),_.lookAt(y.position),typeof l=="number"&&_.rotateZ(l),is(x,{rotation:_.rotation})}else is(x,{rotation:l});return A.geometry=new wX(y,x.position,x.rotation,x.scale),m.current&&(is(m.current,x),m.current.traverse(_=>_.raycast=()=>null)),y.matrixWorld=g,()=>{A.geometry.dispose()}}},[s,...Yy(a),...Yy(f),...Yy(l)]),z.createElement("mesh",il({ref:p,"material-transparent":!0,"material-polygonOffset":!0,"material-polygonOffsetFactor":i,"material-depthTest":t,"material-map":r},h),o,e&&z.createElement("mesh",{ref:m},z.createElement("boxGeometry",null),z.createElement("meshNormalMaterial",{wireframe:!0}),z.createElement("axesHelper",null)))}),bX=z.forwardRef(({makeDefault:n,camera:e,regress:t,domElement:i,enableDamping:r=!0,keyEvents:s=!1,onChange:o,onStart:a,onEnd:l,...f},h)=>{const d=Zi(b=>b.invalidate),p=Zi(b=>b.camera),m=Zi(b=>b.gl),y=Zi(b=>b.events),A=Zi(b=>b.setEvents),x=Zi(b=>b.set),g=Zi(b=>b.get),_=Zi(b=>b.performance),S=e||p,E=i||y.connected||m.domElement,P=z.useMemo(()=>new MX(S),[S]);return pA(()=>{P.enabled&&P.update()},-1),z.useEffect(()=>(s&&P.connect(s===!0?E:s),P.connect(E),()=>void P.dispose()),[s,E,t,P,d]),z.useEffect(()=>{const b=C=>{d(),t&&_.regress(),o&&o(C)},L=C=>{a&&a(C)},D=C=>{l&&l(C)};return P.addEventListener("change",b),P.addEventListener("start",L),P.addEventListener("end",D),()=>{P.removeEventListener("start",L),P.removeEventListener("end",D),P.removeEventListener("change",b)}},[o,a,l,P,d,A]),z.useEffect(()=>{if(n){const b=g().controls;return x({controls:P}),()=>x({controls:b})}},[n,P]),z.createElement("primitive",il({ref:h,object:P,enableDamping:r},f))}),CX=z.forwardRef(({children:n,enabled:e=!0,speed:t=1,rotationIntensity:i=1,floatIntensity:r=1,floatingRange:s=[-.1,.1],...o},a)=>{const l=z.useRef(null),f=z.useRef(Math.random()*1e4);return pA(h=>{var d,p;if(!e||t===0)return;const m=f.current+h.clock.getElapsedTime();l.current.rotation.x=Math.cos(m/4*t)/8*i,l.current.rotation.y=Math.sin(m/4*t)/8*i,l.current.rotation.z=Math.sin(m/4*t)/20*i;let y=Math.sin(m/4*t)/10;y=MI.mapLinear(y,-.1,.1,(d=s==null?void 0:s[0])!==null&&d!==void 0?d:-.1,(p=s==null?void 0:s[1])!==null&&p!==void 0?p:.1),l.current.position.y=y*r,l.current.updateMatrix()}),z.createElement("group",o,z.createElement("group",{ref:xX([l,a]),matrixAutoUpdate:!1},n))});function PX({all:n,scene:e,camera:t}){const i=Zi(({gl:o})=>o),r=Zi(({camera:o})=>o),s=Zi(({scene:o})=>o);return z.useLayoutEffect(()=>{const o=[];n&&(e||s).traverse(f=>{f.visible===!1&&(o.push(f),f.visible=!0)}),i.compile(e||s,t||r);const a=new V1(128);new z1(.01,1e5,a).update(i,e||s),a.dispose(),o.forEach(f=>f.visible=!1)},[]),null}const RX=()=>{const{progress:n}=yX(),e={display:"flex",justifyContent:"center",alignItems:"center",flexDirection:"column"},t={fontSize:14,color:"#F1F1F1",fontWeight:800,marginTop:40};return G.jsxs(vX,{as:"div",center:!0,style:e,children:[G.jsx("span",{className:"canvas-loader"}),G.jsxs("p",{style:t,children:[n.toFixed(0),"%"]})]})},LX=n=>{const[e]=vA([n.imgUrl]);return G.jsxs(CX,{speed:1,rotationIntensity:0,floatIntensity:5,children:[G.jsx("ambientLight",{intensity:2.4}),G.jsx("directionalLight",{position:[0,0,.05]}),G.jsxs("mesh",{castShadow:!0,receiveShadow:!0,scale:2.75,children:[G.jsx("icosahedronGeometry",{args:[1,1]}),G.jsx("meshStandardMaterial",{color:"#fcd4d4",polygonOffset:!0,polygonOffsetFactor:-5,flatShading:!0}),G.jsx(TX,{position:[0,0,1],rotation:[2*Math.PI,0,6.25],scale:1,map:e,flatShading:!0})]})]})},IX=({icon:n})=>G.jsxs(aX,{frameloop:"demand",dpr:[1,2],gl:{preserveDrawingBuffer:!0},children:[G.jsxs(z.Suspense,{fallback:G.jsx(RX,{}),children:[G.jsx(bX,{enableZoom:!1}),G.jsx(LX,{imgUrl:n})]}),G.jsx(PX,{all:!0})]}),DX="/portfolio-react-threejs/assets/texture-5adaf7bf.webp",NX=()=>G.jsxs("div",{className:"xl:mt-6 flex flex-row flex-wrap justify-center items-center gap-10",children:[G.jsxs(vn.div,{variants:ls(),children:[G.jsx("h2",{className:`${Xt.sectionHeadText} text-center`,children:"Skills & Technologies."}),G.jsx("p",{className:`${Xt.sectionSubText} text-center`,children:"What have i learnd?"})]}),G.jsx("div",{className:"w-full lg:w-[400px] lg:h-[400px] ",children:G.jsx(IX,{icon:DX})},"skillsBall")]}),UX=Js(NX,"skills"),OX=()=>G.jsx("div",{className:"h-screen flex justify-center items-center",children:G.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function FX(){return G.jsx(z.Suspense,{fallback:OX(),children:G.jsxs("div",{className:"bg-white",children:[G.jsx(Ks,{}),G.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:G.jsx(UX,{})})]})})}const kX=()=>G.jsx("div",{className:"h-screen flex justify-center items-center",children:G.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function BX(){return G.jsx(z.Suspense,{fallback:kX(),children:G.jsxs("div",{className:"bg-white",children:[G.jsx(Ks,{}),G.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:G.jsx(xL,{})})]})})}const zX=()=>G.jsx("div",{className:"h-screen flex justify-center items-center",children:G.jsx("img",{src:yh,className:"w-[150px] h-[117px] "})});function VX(){return G.jsx(z.Suspense,{fallback:zX(),children:G.jsxs("div",{className:"bg-white",children:[G.jsx(Ks,{}),G.jsx("div",{className:"relative pb-10 top-[120px] lg:top-[100px] bg-gradient-to-b from-white to-primary",children:G.jsxs("div",{className:"h-screen ",children:[G.jsx("h1",{className:`${Xt.sectionHeadText} text-center`,children:"No Page Found"}),G.jsx("p",{className:`${Xt.heroSubText} mt-2 text-black-100 text-center`,children:"Try after something, it might showup 😊."})]})})]})})}function HX(){return G.jsx(vF,{basename:"/portfolio-react-threejs",children:G.jsxs(fF,{children:[G.jsx(es,{index:!0,element:G.jsx(JV,{})}),G.jsx(es,{path:"/certificate",element:G.jsx(t5,{})}),G.jsx(es,{path:"/resume",element:G.jsx(s5,{})}),G.jsx(es,{path:"/blogs",element:G.jsx(l5,{})}),G.jsx(es,{path:"/contact",element:G.jsx(g5,{})}),G.jsx(es,{path:"/projects",element:G.jsx(M5,{})}),G.jsx(es,{path:"/skills",element:G.jsx(FX,{})}),G.jsx(es,{path:"/freetools",element:G.jsx(BX,{})}),G.jsx(es,{path:"*",element:G.jsx(VX,{})})]})})}qy.createRoot(document.getElementById("root")).render(G.jsx(hh.StrictMode,{children:G.jsx(HX,{})})); diff --git a/assets/nettv4u-35143e02.webp b/assets/nettv4u-35143e02.webp new file mode 100644 index 0000000000000000000000000000000000000000..daad2a4bd76db57006485d3aa95c153e451c7b1e GIT binary patch literal 32702 zcmdqHV|Zmvv@W{hq+?qhc5K_WZFKB(Y}?L?*|BZg?%1|-``h2%XP@VubMO6i|D2ku zYQD4Pc-9={G2SXANine|UjRT|R7gQhfkWdP001ER8w0`q`AG^3D~y2reFT7v{F8z+ z001_&&W=jrLPQ#xT0~IW0Fb}ee*{BgC;NZV|2F+A^|^$xNR^tCX6UM~U$@s6x z_1{S9`1j*~bwc}#(aitFl>cC(e=*NL*v;AA`LB$^KiE-4N%$`|`HLyd|0itpKVf5g z$A9Fb{>t#!SiAi5t$)HlrGqoIRaO3bhyEM!08RiUfH*+tpYs2G{u}J_0RWB%001oR zzw?aJ0f6RU003+4zw=0e003eT0MIo3-+BLCC-#PphX3(*;D1w4Gcy3-wgdox*8~7i zX8?e2+W+zHZ}R`38`0lacz^Y>`+J!KtO2F~B7h{o7GMmZ`-_+W3;;#|+us%@8u11I z7+OHHL8yYjg24D}*wQ2lNm$ECk$?THfe$yfUE%uHh%hm}q2u)ahr`>J(_^>&w|g|ThG_ZN98lf zNBgJz1=Kr#+}CmUPWO|~y_>-2-5b>Bh40tnudnGh?=R&;#3$j$uWh?W?XNHM&%#gO zN0kfZTlS5qE~Io0$QS1OFd2XLm+3M7i}*d^19pf$f)D>>hJXk4jWkd^G4|cZ(`W1v z_ro0vL=GQe%(6>UF=^hbuHZ-Ui>a8h?Cn@oapplXwk-QN6;p;?ii#=AADYtt1H@WT z#%rYi_XV@b{8?Elsv+-0iW;~|o@ROc3u?IP;=JpBtsq{egd^rX3E@U^QFyQ5wB=AC z2Uy{w$_*aw6c5d(An(S);#88Su##T2{ObR;`lMI~ipU-hIy;Q4NkimsZ$Yyrk8ynU zQ~MN*tnZsKRG!XJiGa#0100(J z9ABo!j+-ig=&bruHe$TZAreM-vSyk}!o64%my&ko!v7zgiI-SiiFR_T?b$%Xg?5}1 zg)|8z_PXeZy}V1-0n)8|UbVy=%XUk&=Yp9nhr212e1(7`^E*JNycDDg;{2Pl+b7-` zYHD`2!2}lwET;3$sx#pshy%?QnIa3z{!*#q?4NU(mElPTlW%I@XJ&n z=E=Joxdxa;wf!A1pC}8%We}y!FczhIHN>o(6o8c70RpXMt-tU7j?Y>XJn6oUM%~Iz z0E?&%NmKVlgpU-LhRuEM4BceOD-6o*ms{Ri>x(Sv9vzaOr-~Sji_jY=9 zWjwtO(45l50R|97ymB*OAo1~qrQyBi+y`}J?Zhb`9z5#0?)SaMph zB-@Fh_~(3CkUpat=;-{IYr1dP?99Ols_)dPd+%^AUD?Raee5>J?-u(?lMl3YBq(qz z-7yfB@5QCbAuvSa@Ev}t!qN*Q;TQc8yinSDtYIf#xPSHqJg^WM87DOyu?#(A-&4pK z3?2u~=^c4*Q5F8rjwMcHBJsA{#h<@T@0tBka$05>|5_N}t(r>nHpI)Dmk)D7be4lL zd(g-zq~@gQ-D8Zb1{3W=Ollq+RUt)3n8w1|b@_YeI%2+Q{DetuuY68zsZ~Kn zGER5@p_;F!B9Lq&sz$u1G;;i5>d^IHx?EiKlMEZCnZl#hYzW`5x!QQIGnz|#y_X}g#lSpI0vS` zHxfL}D#Er^b%5;!5KtXCQ(m9Q0BYw>U9%Zq#j0FQ0fAdUbzP8iKrQ8ZuI;~bM&6me zDZd{f26m6dx8*wSVbeR4kOMb3@$u1opONq8>s=JHB*roNwXEX8V5P+ZhiO3U z4&3=yP92i#CA*$D&WLM0AO$+STxa0o!y0b(wuXCw5yzP~1>g9Mq@wRru`2_5QG$nj zkLjKgEJTBT8T;Q=hGa#hOFFslj-wb3j!L_Lo!op(B*)-KZKf> zV$M78+Jyt%VqMB_|Bk-K$)W2=a}c>YHbjLK5w#bSnQ3MhO8%B6SLvp}pzo>1by@27 z2r8n(6By#3WR^I#=~soK#%XHUXXe8>5&ymjH8%`34BxpvoVeB;_K%l^Z=uqEFf0XJxG{;A`Q;%#~}Jgf-JxS9aHz zptIGtavPPjX&u_hjEG{~!?{ zRQHMCjqhX`3cC`1zJbry%*sUW4A-KPqG@jH5!%t|>clbHG%692!gmPb{JX@9#|fV{ z*-j8h%T8yhInU|`791HB-nHzTtiSOZ?o%?=`|zQn>93|8^!6G(%xxkYY`>*};o06(vg^>UyJdfD2c_5Nq!m4LpQ7ia6X|YbozAK_v8b9A+ zW|RixqN@-egLAjCINx){b+xu?j|{9-F!Qb?;-IAI3K@g6;yIL{P#c2DR2v$wH$*JX zBQw`VOZE{W>Z*Wyxu@^OKNs58mPGM_ZF}^*U7+kHVYCPs4bP;riHNY0JnyrD1j|+a z1ur+mf6ZYUlN#XH>;bE<^{yN$T=&;flP(V1bmRL~n$OQ1C6-9&skW{EwypEQn6P0s zHWE6eiUT$vIVHGuW)F6jgxA}e^C8jkv1%>cq!&8?o9$4f^lW;T!q5b{610imF=iM5 zRzQisk#k;QVkk~3=OlSz;EpnrltAM$2yT#qTGT_s9`Fgqd%5YC(*U2k>sKm>km)`@ zqvXkJptgjAbAi#QO{=iQk>#~0?R0tbe$!R78`l}Z*<~w6k?OuM_|BRAj{a5lXb>QO zF#C_iV1$7Sd;+D73e&GvAGCb>X~3yTmoMgdX|E3YAP=wDy@P7^3&a}SO^V4=Bt07V zq9>DT#v|f#23@X22b%)FrD5+*^?0k7T5{NIxtTA;J-30Y2pu&L+5T`Fa23|L)sbo)G&+sDg8Vj{RC$Plq<+2^P99s^zvba^z z$f<=}#ss!&SN=+%-ZEL353By#jxMSKs>8{8*Jf{e}YarYLH< zvpf10=2^Rcv9)nH0)1O6d-0y`Wo-8V`%^xvNly*g7^i6ZV_w)nG#GqEga5U=rtutP zE*ut(ze8wbZmAm=_CMy6v2)uJp>9m=t61M~`M{-KaZJ~+$8eNWG$bF~?7^c27w+u_ z(zDE5eQYnS7y2V6$GBhc863gjRPWty;v-_3KP+rwuU5BOnVS%KoPfXSJf>b_I~yvX zXOu6)x}dg-@xPPnV21*GEJq-V16RH)s=u$@x9SA=MhE1(?Sy&$U`hYQCq}`hOaAH+Ft;CUK)?qV0q(fqjIR1~9;}L#a!iT!b zFcIaY`Yc}+AztoVM#@QWAnw{tdAbi5Bvo52a=91Y;=w#N?d=j8yVA0K5&q~!Gj_7 zsD(!n?hqInFhk?OiZVs^=F8Yq;%Jj!BL!>X}lA@nH*8W`whxbxjDSl%q( zA-uZ2IBZwJ@(a);BSzBJvgWA|Ha6;#u)Y&_X->*0wYI3%s!D$Jjj#e&-sxFW4=P6Q zKm3u=E9xL8C-P>6MA8Ve@H(#&T)N<5rP-KPuX}ID7wb45!$VfOfm|nzaO==Tu4o8w z{|mIv>SM#_^-sU^u!83wwifM$-!;S>DC!Nfz%_e~g7ig$WrW)GwDJ4>Fb^?E!{vjCz8@;JCS(74Y! z$A9qMUP9U;XUcVIeLExHMQW+%W^}_g(%+vu*(bS;op&4o~*y!`UB7dhDeAUAr)aGb%g~G z=p7oq2kg$LizH!`!dgP;ELRo5yd{$ZPiPsep-gzObZT!7(_OCS^Hja!pQSmoytpA) ze^U6(L`=~MlMfuQ*rKvibzI@9_{G z)d<4%pgeKEQ}X9tYyEpNHA{u{33S(0+rH4RyifYVSIgBnv+Q(Q2EX-|#<*QL;{@rh ziyui#mX?rF)iiLo25e925T~(27r2k4futw?16u)O?BTt;E{*Wr!Hnt|8}5yl>X@5! zSv3CswERIuKO$>#miSl?-H`OrhgY!)Nmq;)&^G zWum&<`dhicl6TrJElcxGrSABg*K!S>>th+#D$;_4-%q=ZI)lDXhFTVw7G+xq7$(5U zP|y?xZ*bngrch(6{7ehAhmwRJql1a*v2v#}#*^o_$-hCyvbz~DP(q$TU%I4hCVSzo zi*^DI5a+6>e55#RMP^%Uq2qS)C_R$8R9rZ;YiIuKo4%W>C5-)--C&@wXg*rgZ&4l{ zfJ+Jw0BawP*|^3tE2>A*(!Z_L?m5IfN0i*KCCPS~b1v`bk*oh{7D~R-*yf=OxnQ(% z;KsSI%8eYSGH@vv@<(dD4=fb6S^pz3d$~{Z;_j{ai!g~ka%H8vc_AIK0glgSf;)1{ zqsVIh`cFAMV~xV&&0ci;LFl@LK_VE_*Ja-Q(0-A}rlVmwJS(sX=+vC?Jrfg_OmJ^2B-r%wA7l;)dI5h#)PaH)p$u2n}Jn+8?g1Y6#@(g$;4h3V7t z@~{$EZ+UD?*Ao+8$)XtDPdj7IlVyT0_)s$ag$P3}31wxSydA=qs4K&Q+vEQtd)#WD zgB4V*fU;xcO3AiL*y)Nk3g2RJrJ-HeuEl+k0+vb%181ky;xjnM=9tA9GD6y)wgzet z!Objfndawjs3sOREgsK&;x(SxedzG>C*DY#dT0IzmDHdMws!+{;pLt(B^A-K@8b{C z%in)|2odOY_tADFBYQ}?RZnA#U2ai&&2fz@2hmPi_J-F0;yMKFmNSeITS_ze0l5%9 z-lsTET+k9(8t(-=LSFaZ?1PvRP&nuku<#nZxPiM}Czp6}kd$8#Iz>7lUB{rni#pnc z)>&WA>o#7-@+lRXLlHX`oH6wW|I?KHFDA_>_!)Y`+I#h; zT&LPZ$W$RJaN800F%J%}>`@<3f)M(D3eomo-RJ**N|6Kr_`Hq$FJ}1v^9~X8f{hc7 z0{klonX6d`iw443t%6Bx_Y1wSQ(mdITQW?AyB5;!c56OC`lYfp(c?Cm4Sa)=7fbg< z$@O<1Lq_V{gcftOC1G%gYj!HK(LX#p04&`wpo_Z37dP-52bv;XFss4DvxDIK!uxut zW(a#18N}zlJRj5SX*PeCJo?0HLo?_TW91?6t{1`h+qW2IbpE5CW-?~m=Qi!nQkN3?``es`<`poo4!sTh;mg|3(UR@;TBF`ZQ7gxqoM-3SMLEN` z#J&h4TEHl_M`;yew*_P~Mj$;CT(}VY<{S&-IwXPbRHvC0{eootm`sI^s<`UM;KIxOvj zE~R=lnzNmSGEvCu7{axyIuoNvj2GVA$R;T6U4lxfpIBdV;Gxsq(!3w}4pwU^Q{1af zC{asaIG5(MPf(Un7-(K7p;LK^Kjb$07P$bPaY%=BwzsE z<2G-Z3&J{H`^`aC=vlMNIt?k!RVZ9bBw_Hvhga|pOPtz6N3ulPSN>a4oumF%-TPpX zDV+t)ByArSO7{1cgmUV(EOUK@BC*(33~9He-oyKg-9|90{*8QG^@x?Bl%M?iJ*2P4 z?^oPuqK=f>&1P>q0;B=b>^IZ|3CRna@E%OGb}D6aMz=h-(vm*gjvl&!{>7BIr7Y#T zMOZ{)L%imR7DK%>lB16;RU2)PUXob#5L#!Rr0@f4yNh6sM&;}Zw5Mxg>_wSCFOB=2 zs+}w0b7r0FjtuvmtHDyGMlhETD#GNug*;WlzJ3+{;`JFwzq2v;#cHFwVviXTq&xDS-gA~?@v zEqzOJvwNtl{+VqH@ntTeXZn_dT2yqaDuX7KMnd)_%TugQo(|6uPM%^TK{muBJ?rgE ziteieK_n;)=bz|>aQNj4#B!7?RVXZ9t!Pp|&{a*dg9&EGE=x6==!bV|@}6g&3sPqu z)BTI)Epp9zYrzCle@Kl!vP&@@sm6(SU?tBx4RMdWiA5>w{V7w6x7aN~1d&XKx#Yn8 z30MvM^ve0^dkA8~xz|AaisRgi>olqy0iC{{%TuQf@n9yN@@Da-LOU0c7Sle3${I-2 zLl1qoTx<+(ue>|3H)>8ILGNGk=};G4(5@q?sa{?~YS%YWT*S)if<4Ud_OTeVKqr~~ zDtu)&oyjJc!8Blz5S>phhNG~tK(J*hUb^)$4LYp;GPq;xk~roLeGK^w6v>n}Qlg^~ zlmxmn7GTf=KHv|-l}+ch1mXHRh^Tr&mL~{BJ}YC|<*m}=`J4P>@XyoP!2f*tVi~>* z5jH?Q#(iqedZW2or!Yo!m;b4Cm&2onQr^Y5>^7``=Z2JeBT6f z{4~w9jcao5K?A0v0)K>8fiLk|chO5SePiqwBS2qxe*_+a zFEL)0kvIug7dcCo{_cAeU*hZCSVL;=<&56EoJ#Pl1YvB4Mf|=?1?MJW*5%gEJ>KzW z*9U6Dozx~B3MqQZbb;cwgN+B}t~U8e4>-u0^}JUXYF8;B*kl)_FcP;-c=eKP2}_ zZ66IYqHD^{9!!i`eEb8Lf$~+U_Cgpb$205Wzg87QJMtG9I@#b{5%%tyAO?2J@QP@B z(MF;QSveh7mWAKfr{7nA(x;!JFXEF*V70F8P#NMsOYZ9kwIe5wkDz`+CqiE!hPhkL z5B;{qn4^WjOKl&BF3O>M>|sNaw2m9IF(;dYNtbyA>B;k_lR}%9@ME^aXOJ*`pcdG9 zVjxA8{377uJ@3@%tJ`UFgbehH=ESBpgyrID>LTY>#+2MEu-cSjd!U(ts%on3NFpyy z+@uSKoo6x8A;Cp_d=y6*1X-RE03bN`iLP1(!l;^U$^eDM%dAE=$f>QLNgi&3w=9~$ z#jE{)PoQk#0D~XT{8-$a17iY3OaMy6CWdz@KE&}pO9PUSl{i^OQB`vE;# zwapMhu>6}&ilXOEsenVgzvapVkFwmDmOP>j=N<0f3oV)Ae=H0-)`w_KmNsMaTNfrk zk2LVW!Pa)T9KPUz-E;o|77Pzit=5QXlV)LD-A~>@3BPQENaMSr%C{vm*cQ-9SLlPa z8wG(nYpA>stsK{7#&3`=AR9X?YZ~Rgukbxt2Tm6Vysf&TNfg1xN0w*$T3TK=w-R0@ z?qLhBfO~Ia?txG_e&_xX2kRnp4`2}Xd1zhgEU9gzV{BXUZ(8hy2pL@LP$#O zx=TFMGcvhlI$Spr6Bg>Z?gRi#l{8FIFP}t72xEUxL|SC?D?i+Mr}d2ZyIa1by?Vo;6`Bkr?l|E<`67{RXF#t!Y%tHO}1Zf~+ zQmrHiko`oe&Qlso5bA8_X-_7A3Dd?^#394=@yu<^n_sQzV!`f2^JwSz>!FpMV21>G8xtp&hjyl>!dyuYg zwJ+ppg$BbC8nEQ@S^kh)A}kKRzye7n;RoOmO3_f!`1Xs}`&M!9VwSNBFtNG3n; zE2{K*fCm!oqCR=vIA@axm9wHTq-eayE%oTzzK6)LnW7xOSd~qX;X`eHE#t+lLtTQJ;^*25`|VkZ6WcB%E-J!^V^}*^C7fa6m}(wCMxt> zPr@pmK!lrAJQ;iLgJwdo;WT>!sB;?l0>DS@C+AAOwUJ_ivc2tDEoRO>2Lj@rxbq?+ zaB>Ld=wpi=O+}~~=e~(N86dL;GKq&58FRdJyKM;|$k_II!2t30xa`wI0Cr(`>O}~v z)-z?lm8`a`QhedmOk$g5N-t~0=&~^vYQA_-EvJ1uw@Z=2Izsa?(3veSp@`1^yc6{{ z*rEf!3Ht6{or6r#6Ojg@f!`3f>b>Bf=3Y%#;#MBV@}f>CD#@eDk`wh7DDPc9>P8n0r9E3L z$`Xd88GahROaNegE{ww8u!$)j(s#9v<4eAKmr;onUeGWOC|i75Wmgd$5xZzjPb7TB zin31#Sq@#S8cZ+!QMCYj4R6=#J2bQMF~2(J1}c^V?R&TsIjEZ_RG_Y*`V1PDx!2zp zhoc|j$E34vWCS@hLS*033?05N{BnY&hW4kDACx)@6I3GpCb8cKcklg`5>J$vDeNA;By>1Z}@2LV=7Em02v~xB*PHdE|Bc!g#JEj&RE;cX0 z;Gi<`ebb*{RTP2C#2RAiAv+8ScgMo6VGTz&p&{o2nq^?8h7VYz`6>-Tr5*;k2l%SR z0QsclM<9CSwnedr2n%d~degovowb8X(-kulnUg!rkh$}?K0ET$XeK!m1z_Vh8uTIc z?qvqT9Z6}1Q}Xi{VQ~C%1sfMURpn?d<~E+iVdmQh<9_5NNogc%(5Rqo_LrBQMN!l1 zT=#N6ogrNKBJKGJ8+Wr_-0$~_uWUePhQxd?$y{SfB5SH!HL-z8y5p1;h18-!rT`6@ zh>qRO-Y!!<4fyuckH`&@DBtmNVKyJpa^)^YftSu=1u!*5qN|*esD7@#gj(j&md(&! zh`s0f#Eh0LQ}s9xKaI-#xI2uz)CU*H8J(Fq8H_kWM9b)00Ua0-gu;#wA*OHM70F}p zBQPca{0>TVTjl^ma;Sr_0 zR!_^-7t#pi^-R<}MrC+}SO=~rMaDP`bh7dAW`$jH%& zq&expN;{@dL(GIfoJO~`0RSuL*ytP7N=%!Q+vi$>PvqL-3d{q4g%$OWic6E_6slzd zmWCU6=dj(>c3&=|&zh~cEck0YkczUn0YEPp!aj(sin{x6kL}LXC0_XE8R*<~KjiEC z5e*+H@Ki0ckb8@YK4Q5PR$#z@aR-}A?QSPqHj}=lQszUBJBm<8wvE%->#~aRBRx0< z8a=dL7s;`1dzTm;rd&P}>R^m1%%Itj2IE|E4^JQJx7&n4{s3bibS%4jqEM*|r&AjbPx@jVe1JLEMz+LLocGo-@9*N?`8>zNzalbuwOW25X9%npQnRG?iIeiL zCq7@wyBTRU-#ZU;f1kEixaFeWNH5~XeV~E%Z+J8;Q>2E8?SqDqJ~dN;#J(tmz6|O# z2Shq9@gf}0OluCxMJ5!IOcD$pam(mb3fW_h+w*vT+%q+XdsC_%F~?$0!dk-BSjZ)f zg=+}P$u9c&mO*xcJ1T&H0&0SVH?)xC@Q3lLap!4W;B5P`%IPUX1SuJeIr0*lq@@fv zN7@TmuE2obdl!CNt92l0<1l6VNHee|JJKWiHsI6O_A_;SvEXl1tZWB0XX~@u(iHfd ze8;N7VuuSv^nlDl1bcZ|s9B|GGUI2tgCkTDm>c)!wA)A(cS)Kwo!8Hf=fbP!$3 z14!@6`7#i!@rjGI>QPPBj0*Fu3^iWN0vf8jnvcrH`+;R3ni!&a}?7E^?$wWKl@>do^ zg)GK$i;#m(B>v;V!Kr(4JfEFer9HH&&%;@Rw55qROpRWxBJOA&6V=3X7B(JDA{b3@ zV03S%ziTh3X`|hWhJcML0Ov62ORDT=XwIEyYBRi8K5$w?!Af#o=|%*P5%p~&HIlph zcbee`FC_uN zsZyz{({VjillV2aaF z`9hv9dmDuT(@jIoK+kkf^t@IS2RxBqL}Kte?&P&_AI@T!&~T(b`KX3ozNJ2)^lF3% zzyy6WP9lZIVUwJR)LSAViTC5lX5YmL>H29)vKcs!meY(=AC4=QX;7L~^#llH{*h8dQzZO48jZxL_p=ngz&tQc8(d7Gv9DhQ1oM76j^t2!tZ2<8l~=Y87MHL#Sog zWW!S-witg=`3XtwVhcM9Azmt+ZpZ3>}G^TMn6$=?4OLx%8UBbxueb&uZ?OfbS zfpp>4+;^w-Y?0YP(YJ;5!A6VpLtgWEX%x=AD}rAEYBII>64`}Z2B4<%5*`LnG)@>% zIvhnV4fO-lKl?ywGk5)n@lgsXb5O(IMxpIw-&z;{xMPnK&lqjP&8p~71@8|RwqBy8 zK`)Y2)rs`|phEs_{V8a+PfcjAHrST@rQt8pODBSj?o~;?JDRTtaO?6#ir=x8UB270 zigfWAKeisNeXyiT-B?_-$M1_TTlPYOuN2mMd%cEgs=I&A6 z{#GG;b?x61 zH(eMBcSO$=Q8$|$UK=U-&C3oYm0(3Az26xKd?Jp^7uNI<5z#z<{Z^45+g#aYnym3` zCHvxgsk4wO?d}*g-E-k?PAJIfmohH$;9T1PGHJnWs7W(?3P>m4UJEPfNE`Zw2Y>@z z7=LaAvF}KL+Aa;wS-x9~DNu&>V0hTDZA|~j47C*X1tbP_`tFXsWxxmUXB92k;zM6uSp}7s34D9f|^pU%V`9OlOTA;8dq`&L`j(8f$#M`&VmlH_RhU@FkRB?0-OW z=Jn_1!(i>WAi- zdPQuq8{CS&qclq~(WBEY+u=Q+QUuflmDf)B8OXun_lwDdoHwRz@vb-tEG)pg4{hkX z`cVLII|`dn06<**eKHR>vO7pAwzUEs%|rxNyEuLfETGD=7Kk8hFziCJAYIqkkkJ&3 zh0=r?Fq>92;L9z~K$D8I&UJ#D4;!;VZJX%10<%OYzP&1FXCb1y7k9ZlQdeaeq^@>9;He_pCBf`Y__O zj?9B_xNSY0#2XEy#QdoaKZ$gQbTlce?Zs}k%vHyFOKOyuo&M|Z&J?-nctq6Ah1&CB zAvZcp!h>w=>d`fX>T_J~=6$hBPrfTF4okNhjgkb^@{@3ARBAW`gIzwskwh^!{fXkc z7cORCfL~cRrl0sbf4R`w=?a_hW=gezRl<^zXK@ z*`sHtA>#oaTUjZ$WH=~Shx2mCQYWMX=RgyAxdgK|;aA(t*zwwpj&Coo-vJGDb<+^g zTQsj1X}Z{6chFzfaHejrEQqFN9A~fe+sxKN&@5Py%zWACOf$v<@SIV=GfsYJSdIb=_`i7 z8*?YurA`%8luTF~U#h(gnsMGQTD4Tp&}Q3{jpvW=M-@%%RC2@&jR3w|HPVKr#Y=A3 zV;PpTiowQXO>U0Wq}w6YR5h zWarjMpmFmyVXJv3Ggz{p8g3!zYjlyVMiHWDjcGP1#T&nR3Z_y%t%j1wr^5 z_H5c51N_5XBl5+-IOcoQ09tXw;;1)+&qeCcYtQB>mn+>-Jinz&peuWMsZSY_^B?aM z%hilP7}9Pu(a}NQ5SzzAGFCmr>i`XJfPxz4k#v&4Fs6KrSm=*3*_|f27M{0BDk4Qi zo$BeNO7yAvfR#XHj@@Kp<$})eYACr~GM(dQN_}e*c$HU3b9xxjNpX)Km6c(m)m#jk zE?T-PVGXZ4oDDBgq6bG*F2ILBRZ?Fjg?alBfB{Kclm3CZK=R=~M88b7Lx*C{CL1d~ zg026aNHi-}9rYi-t1yxc(XON&L?DwamYeD)6B-mqWC+@fd?dBrDWk-a{)S}wyTST0 z7-vULG6`IEtJ&9bg;egcjA0AQDtDiELM%cnTV4VK$uQ6+r#Igg_W;DB6Xo%Aquq!! z-&saitsZSxiO8`7*|JZb&qR57lOuwz*&V1a;&1#A{(zVJDA>DV=UceXiIS-zO2MF1 z+71vE)@+pA%B+3xLT)oM!N(|>nD7hn6zoCnqchRaMX(;6IkzvfSOaz)b>p~+Fbm~W zY1YW39~8ygRK)3j?HI(1Bn`)IVH9QHgV0w5+5Xt8|CQ0qw=K2Y-@11RdQ#fTF^+^% zI*B%L%=W!E9H@;1!sp!ELZ{!TAzPyO?#2@#u_VAVV#OF%xz$Nqx28^G(1zFev1aX+^J5L7TH9K-2?&o>wdu{CU5nJI0FYK_qg_A4;A!!!m$z8n>Z)opvtI>GGjoW zs2I`q>4^r*2oaUb%soG!@O}NcoUE2)iFqrvo>$ywvHpPXxdMMh#2%Qm;h`CI@0FR{19IOZ*Y-VOz#;Q#lKne5pFWj2FSwQT83OBZJq@ACKsRT8JX{2CT*Jm5 z(6pE+sYPsmhmB_uJ}sxzkZK`V8>epx42^4!P#!PRMEqWtygyzL2&4_2yDKZnLc_M? z;dq};8!_Mg!K8yGP-ByC6jGcyMIUqIt-Wl!3r)?b?56I7^{|t;KOR}xq$kM zBJ6+~Nultgs#JkrRRL&Zi)i$A$99lDIBpvg1dPX^I)xDmTkOz18E4q;ipw*IKT5JI zOD-F-ZTIW0w;oPY%InK{aU6W@m!lWkCOg8zXnfA?m&^VGv2NyX0^Vu?R-BT{+P7 zE7jD7b7k+>0o{9((o`ccb<%9zAFnA3rH8R;QbTD}3~qg}GI~*`HfkrYu}YIfGqP{| zywCbVOw#Y|n?r~^8F>jK^FB&&H&}mU%8Xj%RS||CS?_QLFnxZkf-5umr>4HALQYo2 z=H+(NfsrjB2$M_7@MLe5Oa4LLF`>EC7Go%oa!>Z7j}@YJ>LtE=FKy6{=2t8-LF`vNAIdO}PqUKI)1DTmgy%+6l~ti*{>Y@b z@R+3ZaGKpbs`Ei`#1cXpi+4aP8!;UyavZ~`?u3x4OhS5Cq8cvSbTp4)4gJk(uVtyadnVl!(-U55?JaZqJCb>09-Q8kd9BD8+|5G>Oneou_$sBGEP$!ASv8HiC-b{fZLTY^Yb`YaM(FFhv2# z7iTD;y1F1-o-oqyR!Wwv05j&N3eutP*4^pZN8?sJoRHOknObB)@aMvEJm}|byu5tP70FoeFJ+`S4FDq3Rc-m9-&66Ey-?$wIygty~FW*bektu^3>GGonvSa(dba`6vlQY zFqhrq;lx2vpV+zd}YtecO4{s z2Tpa$6O|x^b3O|8k-t@T0AZ^)BU}dfaV1gnUV@u1dbX@$(clsIj#?F_2yA^KP(Ekziz&JCh8Ux@9Jknz1Y+yIZe9HKe=RQZ!?3n zA{~!@LfWGSAhImicd6TPb3!DQ&J?h0K_X+l{=wq+9;e8ll%pY<32Dh)oZDIW$p7y1 zvC%gLj!69lUrCp3hr(1N7=Q(;OqUXDWd4vJk_Y83QtHm^lma=$!4ONsLrA`r;ana1D1si; z$1hP(Uo!7!iF8snbD+;4!(dcS z1BD2Gg8h@?z<3s4cxU5gE#^G!M$BiI0*)|w`dPEqw7>%SKnX{YrWE?edMuH23c4Or zqs3^}eX9SWWR|my-^Uw}lt!xK>JrV!q?6##kB@4qtz(=ITqNP@wVEhK;!9^EzaS;px1X_E2oumy5E?Af7%Jm1^ zU0;SKlQA-B3W9VGxR3~g@REruPN?)5p?{ZoM#=oBRs7}l>X$Eb^_WO4nCWr%2>pgq z{u5XI(%z%{Lj;9&nPKQ1xuO)t&TtvP;Ls(4TBhx&6tR4ScIuKYRMl~vubtKrJ4}h) zgcKcu+5A-zSAyf6$uPC)kNr$FnQOa#0K~bx_}YqGA^~x6JTY?t9s)vWQ9dW;{7LVF zC1pIZ?=?IVNsu!X?T%#6!mb8e$8v1kJ3fl?vLQr_#FYK*js{duWNr$9d!S2KfpW#Y{Atm+^9TcRV*ILFMA_7(f1ueNd(``V|k6s#^^!I`jU$X!i&0Jo(si|z}<0|dasb~ zy{M`cdkxzYcKgi?mOFUnLj{y(XdAE|O};=eYuRpL_}EI~XpcrckMTe2+2F7T$l++- z0NDM`x~D$}5$jFEG{5b?+zeXJw_#TCu6sbv3CPRqL3er6-$8hkp5~^-gJ30B@a-|_ z%;;eA$f?B$}UtdxJoRlsx3!V z6mQIR_nJ%=>14B4qj1U|;=~iJeu~ZcowfNTGx&W*Xr>W$N{}{iKnsUW;4ZTM2Ao7Q zL^PD&_0m`}a|;FZoOog|&;MdPg%=otlvQ*|| zt$T+~sjwwx^)fR+KbutY!WbB}SWTMrfL;ODd?2;`8_8*;L2w&{hR=Wfvc#{KjC3oC z*3=3mg%T|AqPZ&Tc(@{nU;LW(Ni!N!LJfOsS>A`{-8MP2{5P^x*wUBIk2>KPYxaVA zMvzLDr}~3HHL>3+db+T;d>$yOu34^z7pw*FelvE$UtMhuZc zMCZQWD&hQKLnr^XR{5a<1sX(9JJ+ho{DXRH#7H8JGz|+RS-&ysP$k5iAl>ITP7}hNDG`LEUYv@r$I${d zds=U(OYc*YM%FZ1y*nOjac{4~!;wKh;?`W+s!KcitI=Kvb$$-qs2aT3PYPe{M(W`S z1@PsT(6QVHbViA(FE~zzam{h7u#=#CRVRqn@4*sU;#+0Y>J=RA`UT@(sI+^#ZEujU zp96^fwDsc6@}m_R2Ry4C-5tA_vU5V>ZmT!E4Usu61Z~f;qIfVf{znt@_np>ErOvJM zmuQ^P)79KRKEb;@%YCqCLCP**x_>&{YX^m84v9+^n5bB%-F%vQvh{`D-Yr5=xDv1` zrk#Jd5S#UT?aEXYZ8hn^hk&|W1j>A~-A3+%glM?*3`xBLRm=U_XZ9Nrm@!WPFyqy{ zyY@Nf0xZNN9T$K&i2_M{-UlF})t>sPt=r%ZMC3Mm{ZHZZ#hMwn#CLz3yI^Haq3kdh zqZDxhMWu2P4OZN_W1FK5|N0WWyM%?8&iBv* z-{GeTeQ_8uYi&$vT4JedI+Y#s`WZ-2e|gKx1Z`$B9MmErf}K-bboaX^f|Xe9Q{{^y zoF*TSL7jst$$Qavf%>8A_g{di(sPHxSixU1J+TrV~mL5}f~1cpv+ zv9v`5@$D=vR7<9$;W)ZViy5@+^r?1GD&#C=mevMm<=r=79x|Fl6ro4{xb5joH&Y*n zlQ(}Zlt!-|J;lt375WYY=DktB8JXVE%7axyG zC#|p>dx21=v%QjuYIrh zRh|g@k{!Tp)TQrO1s9ePf{g382tt)az^yP1DEn9z%gbuMa^~#U-#Z+P2Ol}phTPsV zhnM+&(vDLZfix7hCTqIqC86^qv8<)vPStDmt(Fir>3_CE?2#)M zAy1TxvO0DTQkLkeqX34%-5E(?(cj~LJ70towGb{}RQYA%%LqHWMjlc*(zGKNTLC_6 z2W)%`PZ2tSAYp-$Nk|dhIoHWEbp$>@&Dbe=49`~sIni|ktk5OCa%^N)2PeFTMRh#B zyvs!iSj5rnWq%C!#5k~+6SGH@N@kzK>1eG5)$#@8a`P80o}DUjb|1!IN>+zV^iq&D z1|Q!+mPQnNprNv9&o7m~U>jLlADyY-#<}dZQQNxQIfSkhhLtyEb^{9pO@hL{Un~>y zhb{TIwfvYbS$atwShXh88Qwf&iQIE))vDE-lgw$1-zm?%7QFV_8yp+F(g@Yo+@zFib$B{ia3JDg^E1a! z{4V~& zgW-+plhmZf4>)V)J7!jqiaYoE{C!XSN>(5*qWB9kTHA7Vx5+w0v)oR-kDUx6{(Tgj z4)krV9FOdlK=ld7+?@*3P?dUx!uiBfsplJrUMCFb1SmLfTsHPX>Z$aL)%_So!%7+~ z|AXAc7*n2J`_xN;B81kXUWINxbZWbd>QA$x`cR+{^!vbWHk~e%tTFv^f|}kdVLtxL zQ4N>D^~UjIZx*tNz!$P)`vBEX;#%A(4ig9jKoz1lQz|gh1|XX3B2ZZ7FI*iF*99$) zHfFCY@JN3{eUa9P*$1WHl&;evu|XJ+p6*_k*izE|i(hjbGD)XQv9`@j%sBYd5w z0ruz?@$prxy(e^wU8kC;ZrrXTICwEKq!-0AMd>r~wv<({IdQi$aIHYx^JeBI>(O!j zfa_U-Dt3)X=?c$ZohSef?vGhc8P1~%s7qPHO=4^A5!!806_u43Dwuer=X*bsDV!MC zsdS1}VK5nHjB^i4`9kgkJIwAu(Dx$8=zB@wLdWu<;V;9UWW)P`JxEm~y>z2$V|IU)7mt$Qt;BO+y!YkgnG}sx<6f7r8Iah%qZ+y;-2F=Y;e$C`~Q2B&2#lj)6||N~v#Jqfz8&f0X1& zwejP;3{&R$CPjFPJV>9|?N2O=GTDTty7w8i!xJqFB10{dxA88-;F*Syat8HL9ZgM_ z)FV3IqasXUsSJ08uFJ0D0y88x*RLbqOUdii_Bi+oG;48E$e8;W$pNF%LP-xAiw?o1 zcGxKqAp}DZ0*SQCc4LZ_!n?y>AYKV!mUnuvBpZnI5x2+fo6my>q$?A2m)N)#jvRR=0eq=0ycqZP|{SeQr!>5*R49tJ~4@~6i%+1n-+yDo((v-N_I8=w=!RW;!_ zhW(X5k@Hs6)7pf&LkeM41E5{SlO#ptR%kI_9Cz+1Iy#Z@jP7&v6KNz2=Qwc}Lu11+ zZz}#0xn8fL_~$In6&H$6V!F5Z#QQpv&3~^k>Wt#*+HUzYp+@ECh-A&hTi3NceqIVf zA!}8*B~!8nCZB9U=!s!0ZT(dzOIO>sy_CBdkEz?;u|oBwI~PEQYQSIluM8wrHP`=C ze5ez%770KoGD3G-p{gp!D`V7LmB9To{bXk19yQHF^cW6x?8;%gK|#LMB|c2$v;voO ziyj7zMSz~~xYl}mSCH9n&gV&PNbMGQS*0M@a=|63aLTwU>5jeoC0&U7 z??_NrCqx`lc+I+5GlZ+qniDD`^CJY`W`nA0bA>sOxK*Tw)OH2sZb0pq$#n|pqHF72VH`;YFy3|-=zrmy#ET`)JWB`S9;}fBpM6(+)J%v zT>4Z&%nHXL)jq~IvhXK(fLLLxDMKO6(wxBOGp(Y-_AZJibCR%we6MJ?@k(1;Ost!2 zbn;l?f(9bA`vJ7bl#@NgDa6a=#V~e%=-}e?s5E8+%_>{{TYzTag%_QmQ!CECSRU3BgBPw_~<7e zgl9RMJy(Z0QPg>T2_K|kG20p8jhZ{m5XMSnWJN>Y#uCtVsm3^&5jwXEtGx$}S@ryr9=k1=%&2F=}R$ zISc^>s~_>ko}jVmRNDHXG@!>ZbXegs5vx;yP;-a9wiL|$j_eFRdRn1~?<}S!S+1SP zn_7+D_R#M%sx&)ou3imTfhDjtg+-7O7vEh}ojY23Y3Zon`z^TfIeg=S-rCYAI=b7e zwIatOw2=X`La55}r{QM*-17VJwCt#6n9FB}qYM+8kt(*AztOf2BJeUg)Mp;h< zBsw0-HzwAr)MYUnH6eai(ai2l6Ivcrm9u3M)-lQ(GuL(%$X`vPOiUFn&h1KW^3j>8 zlT|DC!}xKVy&FFDbu1BkCTnQa&^YAO#VP%+hQq)@HDq!id zZh0G|ZQdVP&B{x{el?s$7Bdw2Ug0Bm@kp&rz=09O zRaG%FLP^ZWV5Q#E{s$P0*W`5Tx5fAs7jfMwGjHjiu)^6wAakHz@{>(an}7Lb2!Z#DPcIK8w$~DN(=k-64!}n$&r_$Am2uv0J`#or{Ioup)+$ zjwiYH5||wqNd75A9y-@jUhH~rcSxt;4gv9B=r1Gvpod3kyKWhY@=Xbg&3R2XwInsa zQ)H+cYdoJYV#iuwdb1C~8n|UW3iwaRK7Td2|MFNNrQc&uCt~HZ>%tHNJ1*OB`rO9J z(pjlV7YSY#TTv8Kdp*P&^!-cGbNUS1#hR;Dw%#GInxv~fW%HfI17crB*)|PQ@ZZy zO}7Bmqbm?sIQJr%zM?htSFGJ1t`uk0=Joca)Z|L!t&Sp?h5M6Fp$l9|9s@BO3Vvk= z?#c{nTbv3kz(z#Dwc~W$pJMf?cmQ$fuo2k3Qw&krQ)d#h3d=6O&zNBpbAdy!+fNQy z;Lj?Xc^Z^?V;Xn~asNZn%R7LAPNuljkauOR_)eNid2;|me^&5|rMZiw1&(Y<)~Pea z?AYXHBGNYSjnp@A3lQR*hS+53YfVET3THG%)7p+cxmL0VX#N5_>W?wi5KT~vO zl0po_2+$3b_4i)g#At}`s4cx*NLoC1f$^gaQ`uq2A1+rO+7#B+4b63)=^ z(qI@R9n^vc`RUY6w&?xa-0s+n(?J*2F+kwlZYv!9RRYn5X1+5bdbU1VBXIldo(?|w zv9F1&m(qRQOfQL%va0Ta+)k}c>_B9xS)d?T zHecv7IM$)f=FE|(P`$7fr-n^2HsQoq%$&XVSG6shpoatT_?d#rY4147%qH(v=6f%T zJzkn2Qw=>=ft+rAG}bu4iv<6rr7E;&3z+sjR5&0qRdRT@1XiE#cq?FOvAO1|f0865 zV&kqFIfKhu;HU7asIy*~4ZyJ_A6FBW=i0ir;lRckh&-P&*+sS@kEM=IvJgwSUXIaO?&ycNrc zG+9P)DGhrS=X1m5QSFwn&g@bGw`JDzXvr|;;KMq=4}o z7Nt$4`r%GTBQs8Pz>@Hm&(^z%p!kRynGANMGe_0{YxF&2;jJ{<``=xk0)(kH%_!=&;0N?Py|9}>^% zDYe*Sk~2TX-|CMD`y2mYM-fE|YqgBW-pj~RQ=<&5y0~JZ5X2J!Lf^WAGQeskLoLKQ zzzNV>KYOOmJePJ1TQ-H^p&0A?T{y3xQ;56~vj|Zi2m#O9$&MVD&d;=xn&1lp6q$bD z`?`5|;F;!z&Oo`R3V7iDdRqqmObNA?&7v&pwsz~SoTI-?w>A)?Esjr;yngHtE@RPN zC;kb;%jEA7V#a4Z?z00~-tUNs@6ypYd{UjEGv8LL;BQDyj^Y>vmQa`D46#BLmDr*U z8(H5l+1hy63dTR@vACE)@lrbfk}vwuK8~!fw(gc?2E8ULR?vaTEXK#9eJ#;)?w581 zZzP-!_qCkj{=KD;sye7FXBrlMG1WJ7cRJ?ul_lIo^8$q*|93so`}_eTdGt?E6<9u( zXSq#*&ex-E%Bin|aTdJ$kvX74UoMbQ$5~e0kyJXJvZb@l z$T3Dt8UI86qA~dU$90VSJ;j0^0t}G91P*J*x0k3Cbxm#Jn`Dif1hJghSt;1z-e=H_ zHF-6*H!JCM^#s?g&hNd*eu4ZleFHqA>J#G;ohG1sI2i`T-&v3rD-Kh~FV*{oT&<+b zyHD%kQ4QzDg;b4@$66y?e@^U-am57RLDd00)b@4zS}p%q&^a+T&KrRf4yOTcJrR#x zfbEcg@5<50{Os-Qd4jB)vV8=x%o8^8+FSlW--=pviN4^ATYqvLX%`B1}IC%&2sxfQeu*(z3FNJ(Cwy1+bz0E;B%_k@3NqZ5(=2grzaZpnDGsa8_2M>se@;V?a?RH% zCDwz|(f$EJn02x|;JNz|ZxrZ~7US*8#DM1$Vag-%g2f8VzJr zp5k#Zb9Xe$amJ_lXUu4H8KnnntJr3@T8+(t zpIUf^YI}@h!t0S=zr>%`zcWGO*B7+J6bu$~I(pDeB!M>VWnW=T4mP(c>w^+3#zR6_ zyjTX<0~a4{9wV}C_H(?gZa5dL2nY*jKfnbBNeDmXxAO;F$EZHq(An}b<0o&iXuA5i zmQgWEJ-l~|tcW5MRdqd2heNy7n6*cuh4VY34*Bo%DK`0tVXzOaXh6*CZ@e!EU|yfRUyA@~s=O`Cy``fg z4;biTu-!NSU5u`Bc=+x+Vk>V$9rmR zw|ncv=}W?gzn_KTHN|U8$>ChMfrX~8#<=KgbG0N;L7H9t(DnwO@hPu|9qy3xOiNQt zLI>H7aQVtXUa<@;>#GsjiEs?ZvyzKnB0!K|>dIekW@3bFS>1)lq8`Y|55Jh{fzL?^ zK|4DF-&VVy@HEt)>58P48+EHVH(+I+?TYPd=D$K^0UK|^Hhh{Ct} z7|I_-Cm8>!A_uHaxhBNa-q$gx-?h3clb7!vwP z_Z*oGS0x>L5(lqja`_0HtV&(4*!{k%z5>$uK86EbdsV%>tr`mPu-UF6xG)#Uk|dPQ zKkoKUZ_Q$BPm;N+$9jeh?)1p__jC9@28{G>I?Z4H;^Mh^$0uQc=h?YET^t?Z%xTOe zuJ-D9ANa7>7RO8|hMG7bW5O!m338*enx02IjdiDf?i!C;1yeZk#=i)cK&Z zUxWoVq|>EsP!jF|U-w_Ir|dBa$=Wj>KdrylLK(TwApq;OaqZbqoA0t+8ebBO*icHMamLddfW$03em3 zF5{G=rZS-~vKgk{1^|76y`sR#czn0`7IT~};|-c}(U3+*dGIqF%)8@L*j{hF znK>9U{SQCfhh_CU#)5_B)R^H|+COnqiAo;Ew7P@WO8^1AG(dyLs^ESoC~OJWJQ@)h zFg+*~Bh<1_?ihH2b2%zKou$ABzyR5AW2T37P}1qp35IvYku~-^l-kH-eVcBN2wgs75XAhpj@N2X%<>>0F=Jn zn8IFMCcE@G|C4wP=fu{O#{umYTk6YdqA#ktd66}a`T-<=rY;AKi+276;7?JO3QXYos=EkOgb5m;1>O4 zXWElo8~=LN1;efH+?7227Xo+TjMCRh+a>}=X$5KHJ1M!BnoH1C1&}W@Vt|)ia|4JG z^P6^z8IYXTvkE7<6 zfDpf~FnQ)8RYj7k8@9h-m*4)C1lw`MBXX)#&BaCFNzb5gK}+-db?gYL3D){u7)Qto z7U1B*-WSA0l^Vny`>P%BF(0@i{EXO*4q2iKMmd+Zp{IIa&E2Q|&rJc;ejL#sOC6tt z2a2)jC}VACi%JYLPM6nol})|@v~`I6?74&ho@KSF>2hfb`k`MwBnpsj0*4Y3g?6k( zp+5XsHNI2FAy8atoL05R@QLI>x=7Bpgou|emO8*+d>=D9VC6B;z9(5een1)H&dLvN z0bjr4H^zE)FmG){xEefn@49cQVS2Px%!K#_mxS@%m){*rF?3VdBPN4RT{0>z>Ukho=ff$(>Mz6N zbl7-6UVu3nzTv>`euR5L`@|IY+o*z9PLw*#)1&U*#@;Z3GL(0xiQd?TG8;Pn5P#lh zeT&HT9_UUwl|{2o9M|aVAp}d z16gcT;4Hz#tA2!cbQi@4lGmNR_iy6R;xv`;hf>z2&dCjEw9#yMg z7P5MW9H;V*+4bF|lkRKdOQ+@V&+Oj(lAevIamKyAi6tWRMCses?aJTaQpc zdIlg<80z^c$j``Ta@l*Y!gHiXA5W}p zuU#kNAHX9VT%q#JFfBsnCmu=05#c>A`4-6EW{!)7*>l5a!jGYp;l{4R{BOffC^Y2n z2_y>gJhH^~-=xITn{A@o_v(}(+w(8ffB?uDg2|S$By&a~7H#OW)km#Do?x$Bn2uU< z56nowQ?NjY8M}<7%3)fTgSv;-G%FFG_c*<{KZJJzZMuFP;ok`T#XL*$<`VKN^=J`t z$Nt;I!>@vaF>Vsy*1Of>Jpm%k5K)7L1;a~E%RpyAHCvsg}6EM17)q6(=kjGVqz z7OME>GVj<|zV2m_c8(*S(%o3JK|%5#jl<*uenOe@wQyun)ab%%+muTn%)RZ5JF zqEjbT>$v2ZE0#Pmt`tRwC;ui6m7PF__1-hgyqzI|J2Wg;yp(CgE*$kIIdb2EnxbJ z*)T#eL#5%cB!{VCIK1_{Onxd;w3Itc-tjtKFjcq_70*dSxkrP(PD+tq6s2WArv;Mj zwm64esQZ2xpMhSY$oRN~dvSQ&n{CI9bpnyJoh7=SQP5#cUtYn@GufCkH0R=VUt0d4 z+M&wtx(}z$kj8~1)ZpYmMS}Yxr3{GVR%>~2K@2wdry+;aaQ<8P9qgT;4;iNm;nHvN zb6#fCef~11R%zV@n+H!9h&cRn*ZqUXAh+LRhYKOPcbX53r$Tt64yAtjE@K|g7?!c8 zWXDl)w++;LU_Lhv;Ec9Et&qB4g=82@mEp>9ZM-({$H#rXyNCNQqQTluYx~W7V{eIa zBBfGqx1-03+g>vbSmar#+)+j`#VKWwu;WqO8`J?%$FIq-8M{Qk(N*RM?p>MqOp=I! zY{To?($?K-RCyE0YhbSOsRZ{buQkgDoX*~nOn|bZ+?3P8| z4H6Xov4I8QbFIbvb)17l(go=&c8HVw?e~)xUfYs$W=iJtq(O6f)v^LB$7H8en|#a^-AULrgKHlJ$*xnr=;w+)B$Ae; zFqkVPxieZ+{~PjEwoxElspx&+EsL^Em|`7XlZVYnOit#~)kRDOvk>78y0besbOsmV z7{t}cn)1O%lf*mb5q}-L2*+P@C$!fV7I*x`!5Zi#S3I)z-E>xs?V zaVy34@^*hBQOO+g7gcF2CuIbGV-fu4|Bo^d)xsdMnq}c(zbFf$Rm&w+wTGhd< zBqLp~YH=hIN+HmQXS`!-vSVjd@I+joQ6IMOF3?eHh)_C8-|MDh2Xsd_4N?@y?9V^1z|(!}+f9|8C~I1%hZpqAQO z%)Z_Vm&TIl1zy^(;>h3eVOyHM{5&1ynh~h^SN*tph_<=0Hywdx9;!^KMtlYy-lJ%q zdHT@!k-wcg@GGO?A5ch{35&?%aF~6d)s8e0zGjs$+nX$NXPxZNR+rm^tx<%qWujvf zJ^>m303uY{dJrG?NwJ-%u_iCLMA{^jlvVZUY!-$>A|FL2_D^&vBPD+K2m3)bkKgI- z${;w0ZTIBL8<}bZO)Z)Sh zsxzrmWLK$dQ)GA8%NpHS zjNRE^xzgtDDr`(oj{-KR>l9bLglKSXiX$_XSb=qhT@QFLMNH%KnA~|X?Kif#tOW^# z?M_+d*%v1$epK}1+8AH|>``+k(pszCnzj*{se>vKkKidKnoH;<8SCp*MUApzz`QyN zpv1h#zfD18Yi$d1qDA5hpo3ggu~mqN*6nX0VeeA19<#;S;2)b&wIA7kJcc60zl%pv zzMU@hP~K!*!p5N^q`pX4vxbI+n#*yTq!Lh-Y&W6v+1$JF&4>?GoN>&|3AR=_vIHe_ zl5PUBs}{k1u!#ya-_`_J4 zZ3&N!Qm$?oU9pQF(d}Zgj}wxgaU%&-CGXUyV=uX|Fp}@}zLehPOMi*&xE0ls@eNHB zP-d4fRLzA8<`neG6cW)^;H;9ym}XIWWYv@eX=PdOk7m$u)Z`Q~4crn`t3nrq2ga6^ zjhRC}+zWpS^GBYuL=|{z1{YgK_u~(l_B54CpKQq?r6Yf8yWyxF3!5wHWz932nZZhC zrcNTvDw0U>cC;R`J(cCp_vGKsnkF23&jl9E?OA94MN1Il%V~g z+fcOeR0K^%u6ze+Qv|48tsoGpTE77RtMW3LwM&j0{wOgXo?~KA`CYMu{?pcJ#*2Ua zjH_DqhWyy%2gnM~7+n)YvCB)^w(JOZRd(kI@0adgvt5{?vzA)Y?W8{N)ATI-;Czv1 zbx=TmE()-q-!eYF`<>lW!iX6VF|JQ62RWO1?iE>;NL|Koo4jy95aV6LOe!O0)n@EI znX><)l%{YOC}YiH1gv;(7TNL6=ueS^JXe@22U?tQjkE{qLprJbrLG%AK3SG zvucz0~UD$M`I&ry)CSooc_gHq~G}O|Rg=74I?0&cEkf zSj8NVnz$*h$D*yA2It%{%0a;;)kopP?(G+oH*6Nk;*AY$OJ5x4eQ6d zvQW3r?7Z=8_J?FHtQiaN4-Zl@A_nzn#1SjiXRaHz>8 zok?o$e;^nx6{M!RA$}CyR++NJMw&m*fmv}!!kZ4rdwe%u9Y1=i=?&cnDI-WFr2Q_L zA5X-!O#!cCCSdV>mqh36qf9uCyUO`D+xN{33AvJ9%SMK)nZuMHJX`!VoM!b)lP&bp z>Z*}#;6#UkckQZvYb1%L25dLf{0&W<0ZX!OQUHY@cvR|NRu1DI-+`+(0bk2s+rS@f ze5$iL>`x5FW#^Od5BSEd0CDS0i3xKxD$*bd2sCAghN(iT^qMZ43oIh+6*Ih#-}D&U6sch!JtCALnEc=C9d3>JP)s2 z4A~15leVwEuO~<@f_^XoUpqRySTQ*&07z)t7i5dsuJ1+Ha>fQzyQ^P;3wDZfPPfDdpL7W&-^s zoO`XE`Cju}j7t-e-5`3Eww-_wb;x>ov{DG;3-=ozjG?Tv)@P#jpCpIJ{CkiP9_;q4 zg84`KL$oP9tI~1KIk(A^0zC4e5xAhUya6mj1v&5W3Ay9#(J?4MSbe7UBRwh%*d?0@ zTCV_IK;AzNF3@z)&nGHe*K;N`i&|_7k;RG6PEa0q7p`8`UU@AYvP0rXo8F15FOGcS zLV3ln`C7R-eY+~SYuD|Nrfs$0D0suQxvI#qwitgDc|&Vzdh{qZQPo+JMp{27b95`V z0|?|yxbUM{N1h-|_SL!zA@um7 zhQ(#SXj%@Pn*j#)@8CN*vQ4AA#O1Sa;jy)p+MYk&x*+ncjNsXoeB}SMQp5Tjhd8m! z2vR%Hbp|tzKhCw}I@nxkl)tJNrddV04ln%JA{MY6<8Z5hO7ZRcwD}ljV0ATE@g@g& zF*6{Qr4&Du>fa~v^&d-!i=g0R3}C{$rlxL?1&C}T03FBSo`LiG$wVP%>0&P5r#Hr6 zCuUdVjnVMb*Wg=PU#V-qejBhw@&r@3g>;#qeXbv0)XYvstp2?@ltu33EELU)BaD_; zYbDHc@;v8}{DINdp#f$?pLww<;F2#8X#dtw`4jorW6~i!w(KH6m6~EJHs#KtwPdc< zp0{n}ARHhr%B_ro{O3H$ z^F*9*hQfm*QM>Qq8_@ET%m|e$J9p79#>e64y&&_-8I`dtyFSAB8t{$!eh%(wisku{ z@H33yO?dMkJQF4l^OUk=LylYHMQI$Z#)d^UH#aKq~L^=8heWS2;0yuGO#iA@86SL+SOA;Fj5Fqp-9kS*i?T z?{{#B8FSDnQ|&|ttXxH3|NQJSr4v^iJwLWT01Ktc zKPG^s5@zO&(h3|bfHSx zC9`Ntmgr@j0;;f!4~_!S_ZA+%7evHG+h(Sh(O_=#KBI#4fB!iiS_f7Itid6$O75Rd zmH7PGNE@^StLhC5==lKUsfMv#eWQI;uOqjNav2{Q6)+so3BFERyX{QI88fC27nS^x z%>#`kCsKSmXH8Ct1#=-Wngje_w57G!1i7_jzfJPrjX)k`eXmEbQ24M*5o<)R5U0mi zkLlKDJ9qLWuWKPOtmx-|2Tz?LEN4(x(+c(-F_%$y0PMtz;#%4a*Nk9v)`NpWRe&87 z8z@>|%L3WtxNTcY?ANaSCTCGT~=M9B45*Kkrji z2HioYXc5#kbA2=GZa{Lh$LJM|HV}+d{RDl)-Z1p3*D&CfcCS7uE6#(l*U9wnsHafV zVl{9NVD;5zj5x-<$g_b>f_~kHJ^XqRdOCUcmnWV{$yiFhi|*HybBl7oSD!_{d%^P@P>B$)=%Q0 zhJMdr{elZd^ATk^|nr3oNt+xyEjZQO)F7RuK&QJyh+fDdsX~3(m z_{{F&#y}(<%|ncjXX|O|5*vqzQ^9p@_1sOV1+)F}V_G^uR?rR6xwwU|(F4d*UB6qx z=Y^!%jd|^M_S?{PWxaTX+{s4>#rmQ>^ai1~BcPKd9$e;p-KwDm*fw^s8*gSG004Fe z_IpS8`M2Jqx7Ep-H5DHEr(aba*)(cWnU_nrGc5X@5)+2@pJ}^NveML{J7!FVjMrjzji+UUnR!YCw>;YsATSIaoipl_y$OXwSDIj58%w;t^~1|VlRoDBgU+e`_H+? zfo<*`nJo7#u&Q|(ZM%-nynBwY1^q{a2DFUpC`MyrA$^Qc=1+crXG5yN7R?-1WVPIqXX+0fi1I#7$w>=867S-@=lsh4Y0E3eV4 zT>t9FLq4Bssy_eyP0WwP|&N79QJf_Z0N= z|LO$bS3Nk(7iJ~9K)#u>s1=I3|!RM~n0T#0ETL9u%JDa%)cmqp4K{@>*PNBj>$ C-UXKc literal 0 HcmV?d00001 diff --git a/assets/techyv-adede69e.webp b/assets/techyv-adede69e.webp deleted file mode 100644 index 718563c8b1291b92eac90f775cd49cdbe2b5b215..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6748 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 - - + +