@uptimizr/dashboard 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/out/404.html +1 -1
  2. package/out/__next.__PAGE__.txt +4 -4
  3. package/out/__next._full.txt +11 -11
  4. package/out/__next._head.txt +4 -4
  5. package/out/__next._index.txt +4 -4
  6. package/out/__next._tree.txt +2 -2
  7. package/out/_next/static/chunks/002cjeoit6-up.js +1 -0
  8. package/out/_next/static/chunks/02n1uiltexy3w.js +1 -0
  9. package/out/_next/static/chunks/03ab2khhe8-x5.js +1 -0
  10. package/out/_next/static/chunks/04_yytpc2paxy.js +1 -0
  11. package/out/_next/static/chunks/06qot1qvlsqaz.js +1 -0
  12. package/out/_next/static/chunks/07eeopuufsqp-.js +1501 -0
  13. package/out/_next/static/chunks/08a5xek662n8n.js +1 -0
  14. package/out/_next/static/chunks/08wuc9--s8zn_.js +1 -0
  15. package/out/_next/static/chunks/0927l-ygd5c8d.js +1 -0
  16. package/out/_next/static/chunks/09510356f0lad.js +1 -0
  17. package/out/_next/static/chunks/0_eu72k69lxj7.js +1 -0
  18. package/out/_next/static/chunks/0beajlqy8p8b5.js +1 -0
  19. package/out/_next/static/chunks/0c83pe1mpx456.js +1 -0
  20. package/out/_next/static/chunks/0echnagbkyx79.js +1198 -0
  21. package/out/_next/static/chunks/0eh1ml86u8dh7.js +1 -0
  22. package/out/_next/static/chunks/0fh-9h9ylxskr.js +674 -0
  23. package/out/_next/static/chunks/0fzmc1up21g1i.js +1 -0
  24. package/out/_next/static/chunks/0g_v2zswo4l6f.js +1 -0
  25. package/out/_next/static/chunks/0grlb9lo8e502.js +1 -0
  26. package/out/_next/static/chunks/0h22pg-0xrxnm.js +1 -0
  27. package/out/_next/static/chunks/0j6p1pmc14t96.js +1 -0
  28. package/out/_next/static/chunks/0j_6dx-sttgsy.js +1 -0
  29. package/out/_next/static/chunks/0j__xaq_8_di1.js +1 -0
  30. package/out/_next/static/chunks/0kfd-cvj5fvtz.js +1 -0
  31. package/out/_next/static/chunks/0o_mp98xzqfyf.js +1 -0
  32. package/out/_next/static/chunks/0otsec99kdkt7.js +213 -0
  33. package/out/_next/static/chunks/0ql-s-tsmel_u.js +151 -0
  34. package/out/_next/static/chunks/0r47gs_e93cka.js +1 -0
  35. package/out/_next/static/chunks/0sqys6o2pbe1q.js +1328 -0
  36. package/out/_next/static/chunks/0titqrn1qmcsv.js +1 -0
  37. package/out/_next/static/chunks/0tnlbw78tgaxp.js +4 -0
  38. package/out/_next/static/chunks/0tw4dyl-cp-hd.js +1 -0
  39. package/out/_next/static/chunks/0vbce-8omgurc.js +1 -0
  40. package/out/_next/static/chunks/0vfsg5byzep_0.js +1 -0
  41. package/out/_next/static/chunks/{0gv7mblzv3dl3.js → 0w8_1yjvol1f0.js} +20 -20
  42. package/out/_next/static/chunks/0xh144a5fz58h.js +1 -0
  43. package/out/_next/static/chunks/0xjltg_pph0c8.js +1 -0
  44. package/out/_next/static/chunks/0yeqgh0dnas8d.js +1 -0
  45. package/out/_next/static/chunks/101-7e_7up7rk.js +1 -0
  46. package/out/_next/static/chunks/128e51hj_04r0.js +1 -0
  47. package/out/_next/static/chunks/{10fnxpln_5xfd.js → 12kv810lohbsx.js} +2 -2
  48. package/out/_next/static/chunks/137xbvd4nd41j.js +3 -0
  49. package/out/_next/static/chunks/14bws-suyy5zu.js +1 -0
  50. package/out/_next/static/chunks/14ggsmqwej_tt.js +1656 -0
  51. package/out/_next/static/chunks/17genz6pkmty_.js +1 -0
  52. package/out/_next/static/chunks/17xd8hnazzr0g.js +1454 -0
  53. package/out/_next/static/chunks/18dczy9ylt2s_.js +1 -0
  54. package/out/_next/static/chunks/18xs_kvsaolb0.js +1 -0
  55. package/out/_next/static/chunks/19016f8-ry0z6.js +1 -0
  56. package/out/_next/static/chunks/1_6oejyxj39li.js +1 -0
  57. package/out/_next/static/chunks/1_aon8nz9p1fr.js +1 -0
  58. package/out/_next/static/chunks/1_qzlkuxukhpq.js +779 -0
  59. package/out/_next/static/chunks/1akaj5rhgitn3.js +1 -0
  60. package/out/_next/static/chunks/1bvl1ws7b_3gn.js +1 -0
  61. package/out/_next/static/chunks/1cdbk6kxyr1c9.js +1 -0
  62. package/out/_next/static/chunks/1fbjkk55uu4_g.js +1 -0
  63. package/out/_next/static/chunks/1furcfsgrw_3g.js +1 -0
  64. package/out/_next/static/chunks/1g0-f1g3gn_rs.js +1 -0
  65. package/out/_next/static/chunks/1g7emwu85bifo.js +557 -0
  66. package/out/_next/static/chunks/{37vzwr3ciejf1.js → 1gs-5722l4u59.js} +1 -1
  67. package/out/_next/static/chunks/1gt4kh0_xmigy.js +1 -0
  68. package/out/_next/static/chunks/1h8xzuuhhglu9.js +1 -0
  69. package/out/_next/static/chunks/1hatz-jlztrn0.js +1 -0
  70. package/out/_next/static/chunks/1iioifo7i0t0_.js +1 -0
  71. package/out/_next/static/chunks/{0impkpmxx3ttp.js → 1iiz7jqgj20z0.js} +1 -1
  72. package/out/_next/static/chunks/1kujmd5n0j9nk.js +1 -0
  73. package/out/_next/static/chunks/{2kazjq29jeamx.js → 1ltux4lwz7muf.js} +160 -372
  74. package/out/_next/static/chunks/1m_buecgcq67j.js +740 -0
  75. package/out/_next/static/chunks/1n9sy0yt5d2vq.js +1 -0
  76. package/out/_next/static/chunks/1p1gz6dseck--.js +1 -0
  77. package/out/_next/static/chunks/1p1xtsfwvpuqo.js +1 -0
  78. package/out/_next/static/chunks/1p8f6okk2ewbz.js +1 -0
  79. package/out/_next/static/chunks/1qg_etglhvp9h.js +740 -0
  80. package/out/_next/static/chunks/1th_t5ujeqlkf.js +1 -0
  81. package/out/_next/static/chunks/1thr-mdzbu96v.js +1 -0
  82. package/out/_next/static/chunks/1tta1a064979p.js +1 -0
  83. package/out/_next/static/chunks/1u_riwm0nfww7.js +1 -0
  84. package/out/_next/static/chunks/1ua15kzid0_8p.js +2560 -0
  85. package/out/_next/static/chunks/1uu-rt_8p1edp.js +2712 -0
  86. package/out/_next/static/chunks/1uu93wuxigx4k.js +1 -0
  87. package/out/_next/static/chunks/{1flb8adpj6_2o.js → 1xpwp4m1tqugp.js} +1 -1
  88. package/out/_next/static/chunks/1ynju1jqfrcv0.js +1 -0
  89. package/out/_next/static/chunks/1zfojlgb15okk.js +1 -0
  90. package/out/_next/static/chunks/1zj8x5wbgnzz-.js +1 -0
  91. package/out/_next/static/chunks/1zl6t15gh34nn.js +1 -0
  92. package/out/_next/static/chunks/{1thjncpj7u6pq.js → 223vrr_4sfhsj.js} +1 -1
  93. package/out/_next/static/chunks/22cr2b04btguf.js +1 -0
  94. package/out/_next/static/chunks/242xhzxxetctz.js +1 -0
  95. package/out/_next/static/chunks/24essz5mmvx-6.js +1 -0
  96. package/out/_next/static/chunks/256k1jw1m--l7.js +146 -0
  97. package/out/_next/static/chunks/259obyrpxcv6r.js +1 -0
  98. package/out/_next/static/chunks/26v9yqicofqba.js +1 -0
  99. package/out/_next/static/chunks/290d93hmm_e8b.js +1 -0
  100. package/out/_next/static/chunks/2_2fk7iddrs43.js +1 -0
  101. package/out/_next/static/chunks/{00k_j_r7bv_eb.js → 2bjlls8-qe05r.js} +9 -9
  102. package/out/_next/static/chunks/2ckd7f1wbfod-.js +1 -0
  103. package/out/_next/static/chunks/{163fa70v4mgxj.js → 2d6hru4qo23tt.js} +1 -1
  104. package/out/_next/static/chunks/2ejvntxtvf5o9.js +1 -0
  105. package/out/_next/static/chunks/2f7_3tzf7xhps.js +1 -0
  106. package/out/_next/static/chunks/2gxd_o1g89_bv.js +1 -0
  107. package/out/_next/static/chunks/2hd2txb4-m9k1.js +1 -0
  108. package/out/_next/static/chunks/2hpxou_cnp4f_.js +1 -0
  109. package/out/_next/static/chunks/2izioctrfc0s5.js +1 -0
  110. package/out/_next/static/chunks/2jhnk4h4n0udv.js +1 -0
  111. package/out/_next/static/chunks/2jpkhkk9zi8-f.js +1 -0
  112. package/out/_next/static/chunks/2kpet_l1kq2sx.js +1 -0
  113. package/out/_next/static/chunks/2mdbvf1b5h00_.css +3 -0
  114. package/out/_next/static/chunks/2nck5w4c7leb7.js +1 -0
  115. package/out/_next/static/chunks/2our10fwtj87e.js +1 -0
  116. package/out/_next/static/chunks/2qq3uzsbiicw3.js +1194 -0
  117. package/out/_next/static/chunks/2qqqpu0ahfdda.js +1 -0
  118. package/out/_next/static/chunks/2u-f7mmxvk8wj.js +1 -0
  119. package/out/_next/static/chunks/2ue1wo4ryk87z.js +1 -0
  120. package/out/_next/static/chunks/2uk-vwlxe9-xr.js +1 -0
  121. package/out/_next/static/chunks/2ur5-lxdvv1jm.js +1 -0
  122. package/out/_next/static/chunks/2veqsohwfhfqc.js +1 -0
  123. package/out/_next/static/chunks/2vqlv9wnewhu9.js +1 -0
  124. package/out/_next/static/chunks/{1zvc1tv--w8nn.js → 2wzshintp5lf8.js} +1 -1
  125. package/out/_next/static/chunks/2x-00glogc485.js +1 -0
  126. package/out/_next/static/chunks/2yfxy0f5fqs4o.js +1 -0
  127. package/out/_next/static/chunks/2z88mt3ixktu3.js +1 -0
  128. package/out/_next/static/chunks/2z_jn9ud28fk7.js +1 -0
  129. package/out/_next/static/chunks/3-eswqjobiqk1.js +1 -0
  130. package/out/_next/static/chunks/30-tbi7pys6fp.js +4 -0
  131. package/out/_next/static/chunks/30c-nsedy_ce0.js +1 -0
  132. package/out/_next/static/chunks/31u5lbu1vxznh.js +1 -0
  133. package/out/_next/static/chunks/{2feca0xcipcyt.js → 32ahba5ezp467.js} +156 -156
  134. package/out/_next/static/chunks/337hn35kts7ud.js +1 -0
  135. package/out/_next/static/chunks/33dgpebv-tf73.js +1 -0
  136. package/out/_next/static/chunks/36jkdhq6kb-cf.js +1 -0
  137. package/out/_next/static/chunks/37epa8fz59vba.js +1166 -0
  138. package/out/_next/static/chunks/3833xfnz0a-ub.js +1 -0
  139. package/out/_next/static/chunks/38awrh_qxn22k.js +1 -0
  140. package/out/_next/static/chunks/{0wrm9jr-9bw0e.js → 38x3c1ra5slhe.js} +383 -913
  141. package/out/_next/static/chunks/39idqlqlcp5b9.js +1 -0
  142. package/out/_next/static/chunks/{2a3spdq-m8drh.js → 3_gku1pwluoo0.js} +1 -1
  143. package/out/_next/static/chunks/3_mu-4rdjajna.js +1450 -0
  144. package/out/_next/static/chunks/3coacc4-g-g5c.js +1 -0
  145. package/out/_next/static/chunks/3e00fzdfkclzq.js +1 -0
  146. package/out/_next/static/chunks/3e8fmlq0k5wkg.js +1 -0
  147. package/out/_next/static/chunks/3e9tzyrt4_98z.js +1 -0
  148. package/out/_next/static/chunks/3edelqkq92pil.js +1 -0
  149. package/out/_next/static/chunks/3figbil1t4ssj.js +593 -0
  150. package/out/_next/static/chunks/3gimb3z_mteou.js +1 -0
  151. package/out/_next/static/chunks/{2p2vv6cc9i-3q.js → 3idaz_s77e-j_.js} +9 -9
  152. package/out/_next/static/chunks/3j-4wuhs5weba.js +1 -0
  153. package/out/_next/static/chunks/3jjfnwvybayy7.js +1 -0
  154. package/out/_next/static/chunks/3jwm5dfk_78gc.js +1 -0
  155. package/out/_next/static/chunks/3k9d4ylc3li2t.js +1352 -0
  156. package/out/_next/static/chunks/3l3_0ack3gy4k.js +1 -0
  157. package/out/_next/static/chunks/3lwhs5ja7tun3.js +1 -0
  158. package/out/_next/static/chunks/3m6nmp2dca6un.js +1342 -0
  159. package/out/_next/static/chunks/3mbnfpufs2-7e.js +7 -0
  160. package/out/_next/static/chunks/3mcd08gmt038z.js +1 -0
  161. package/out/_next/static/chunks/3mt5th7b1i_u9.js +1 -0
  162. package/out/_next/static/chunks/3ne77mjdz2y7o.js +1 -0
  163. package/out/_next/static/chunks/3puhrqtujktyv.js +1 -0
  164. package/out/_next/static/chunks/3rdifucupcgkg.js +1 -0
  165. package/out/_next/static/chunks/3riekaxl3uxfb.js +1195 -0
  166. package/out/_next/static/chunks/3sdoskq_buttj.js +1 -0
  167. package/out/_next/static/chunks/3tg-ma9tv9xu4.js +1 -0
  168. package/out/_next/static/chunks/3tm-pqpmq_ppw.js +1 -0
  169. package/out/_next/static/chunks/3w9go565cjhq3.js +1636 -0
  170. package/out/_next/static/chunks/3wi9gzq2mtr_q.js +8 -0
  171. package/out/_next/static/chunks/3xagd_2_9zft2.js +1 -0
  172. package/out/_next/static/chunks/3xsq_anpad-fb.js +1 -0
  173. package/out/_next/static/chunks/3ycv2qq7vpbua.js +1 -0
  174. package/out/_next/static/chunks/3z84au-mitjjw.js +1 -0
  175. package/out/_next/static/chunks/4030dhur2h70-.js +1 -0
  176. package/out/_next/static/chunks/40ffffml4h_3r.js +4 -0
  177. package/out/_next/static/chunks/{3-shckrcpvbxu.js → 41wt50z9tx9cx.js} +108 -711
  178. package/out/_next/static/chunks/431slrqh0wa0g.js +1 -0
  179. package/out/_next/static/chunks/43s_lbd1i2krj.js +1 -0
  180. package/out/_next/static/chunks/{0-2y-_oomza2l.js → 44nxswtahaq4w.js} +18 -18
  181. package/out/_next/static/chunks/45bwefvdpztfs.js +1 -0
  182. package/out/_next/static/chunks/{turbopack-0sgd6pfbe1fy6.js → turbopack-19105pdhzxp1x.js} +1 -1
  183. package/out/_not-found/__next._full.txt +9 -9
  184. package/out/_not-found/__next._head.txt +4 -4
  185. package/out/_not-found/__next._index.txt +4 -4
  186. package/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
  187. package/out/_not-found/__next._not-found.txt +3 -3
  188. package/out/_not-found/__next._tree.txt +2 -2
  189. package/out/_not-found.html +1 -1
  190. package/out/_not-found.txt +9 -9
  191. package/out/index.html +1 -1
  192. package/out/index.txt +11 -11
  193. package/package.json +5 -4
  194. package/out/_next/static/chunks/068j6934u8j16.js +0 -1
  195. package/out/_next/static/chunks/09e4adtr6w0xe.js +0 -1
  196. package/out/_next/static/chunks/0_rf76jneiwal.js +0 -176
  197. package/out/_next/static/chunks/0aznt7717miff.js +0 -1
  198. package/out/_next/static/chunks/0cu-q5q3a7uf3.js +0 -1
  199. package/out/_next/static/chunks/0fskcfh9vbhtv.js +0 -1
  200. package/out/_next/static/chunks/0gg-ii7i6d_p6.js +0 -1
  201. package/out/_next/static/chunks/0tx1j_ghpz7rc.css +0 -3
  202. package/out/_next/static/chunks/0ufbyo1x3qkmo.js +0 -1
  203. package/out/_next/static/chunks/0wwcfw8i3j_zx.js +0 -1
  204. package/out/_next/static/chunks/0wwkrsvxwi57d.js +0 -1
  205. package/out/_next/static/chunks/0ys9-ozuluawt.js +0 -1
  206. package/out/_next/static/chunks/1-61zh4waha61.js +0 -1
  207. package/out/_next/static/chunks/10r_824wzt8hj.js +0 -1
  208. package/out/_next/static/chunks/123xxske5c9na.js +0 -1
  209. package/out/_next/static/chunks/13isnf0--pmx1.js +0 -1
  210. package/out/_next/static/chunks/157d9euci08yu.js +0 -1
  211. package/out/_next/static/chunks/18u58lorfahxi.js +0 -4
  212. package/out/_next/static/chunks/1_aahautsz2v_.js +0 -1
  213. package/out/_next/static/chunks/1o1d0p-v1z8ty.js +0 -1
  214. package/out/_next/static/chunks/1vdjn0pkoyypn.js +0 -1
  215. package/out/_next/static/chunks/1yehxf-fmeicg.js +0 -1
  216. package/out/_next/static/chunks/1zx2q-r32thv1.js +0 -4
  217. package/out/_next/static/chunks/2-sjjedfr0kfq.js +0 -1
  218. package/out/_next/static/chunks/25b9x-li-tvk2.js +0 -1
  219. package/out/_next/static/chunks/2aelw3far6rii.js +0 -1
  220. package/out/_next/static/chunks/2aor7m-wbis85.js +0 -1
  221. package/out/_next/static/chunks/2clzipqap01hp.js +0 -1
  222. package/out/_next/static/chunks/2fh-_9b6tqhvb.js +0 -1
  223. package/out/_next/static/chunks/2g5gecypj0rqe.js +0 -1
  224. package/out/_next/static/chunks/2szdcpl41-kzv.js +0 -1
  225. package/out/_next/static/chunks/2u6shh3oeycm-.js +0 -1
  226. package/out/_next/static/chunks/2unhhuv0arlcv.js +0 -1
  227. package/out/_next/static/chunks/2z5eqx5do5std.js +0 -1
  228. package/out/_next/static/chunks/310uz81hnnzsu.js +0 -1
  229. package/out/_next/static/chunks/3aqbf_wkg2sih.js +0 -3
  230. package/out/_next/static/chunks/3i3gbhccmhu7j.js +0 -210
  231. package/out/_next/static/chunks/3mqy-84_ul3t2.js +0 -1
  232. package/out/_next/static/chunks/3nz-dh9d7cehk.js +0 -1
  233. package/out/_next/static/chunks/3pufs8g4ui943.js +0 -1
  234. package/out/_next/static/chunks/3t06schbtqonl.js +0 -1
  235. package/out/_next/static/chunks/3v3-7fio3nw_t.js +0 -1
  236. package/out/_next/static/chunks/3v5ha25nxo43j.js +0 -1
  237. package/out/_next/static/chunks/3zskk1hxu3-_o.js +0 -1
  238. /package/out/_next/static/{vHD3x58R_2B6QWAhZXCg7 → M9ZSIaKJeBgkjz1qktYio}/_buildManifest.js +0 -0
  239. /package/out/_next/static/{vHD3x58R_2B6QWAhZXCg7 → M9ZSIaKJeBgkjz1qktYio}/_clientMiddlewareManifest.js +0 -0
  240. /package/out/_next/static/{vHD3x58R_2B6QWAhZXCg7 → M9ZSIaKJeBgkjz1qktYio}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,34548,e=>{"use strict";var t=e.i(10272),i=e.i(96265),s=e.i(37143),r=e.i(99267),a=e.i(81623),o=e.i(75405),n=e.i(80871);class h{constructor(){this._doNotSerialize=!1,this._isDisposed=!1,this._sceneRootNodesIndex=-1,this._isEnabled=!0,this._isParentEnabled=!0,this._isReady=!0,this._onEnabledStateChangedObservable=new r.Observable,this._onClonedObservable=new r.Observable,this._inheritVisibility=!1,this._isVisible=!0}}class _{static AddNodeConstructor(e,t){this._NodeConstructors[e]=t}static Construct(e,t,i,s){let r=this._NodeConstructors[e];return r?r(t,i,s):null}set accessibilityTag(e){this._accessibilityTag=e,this.onAccessibilityTagChangedObservable.notifyObservers(e)}get accessibilityTag(){return this._accessibilityTag}get doNotSerialize(){return!!this._nodeDataStorage._doNotSerialize||!!this._parentNode&&this._parentNode.doNotSerialize}set doNotSerialize(e){this._nodeDataStorage._doNotSerialize=e}isDisposed(){return this._nodeDataStorage._isDisposed}set parent(e){if(this._parentNode===e)return;let t=this._parentNode;if(this._parentNode&&void 0!==this._parentNode._children&&null!==this._parentNode._children){let t=this._parentNode._children.indexOf(this);-1!==t&&this._parentNode._children.splice(t,1),e||this._nodeDataStorage._isDisposed||this._addToSceneRootNodes()}this._parentNode=e,this._isDirty=!0,this._parentNode&&((void 0===this._parentNode._children||null===this._parentNode._children)&&(this._parentNode._children=[]),this._parentNode._children.push(this),t||this._removeFromSceneRootNodes()),this._syncParentEnabledState()}get parent(){return this._parentNode}get inheritVisibility(){return this._nodeDataStorage._inheritVisibility}set inheritVisibility(e){this._nodeDataStorage._inheritVisibility=e}get isVisible(){return(!this.inheritVisibility||!this._parentNode||!!this._parentNode.isVisible)&&this._nodeDataStorage._isVisible}set isVisible(e){this._nodeDataStorage._isVisible=e}_serializeAsParent(e){e.parentId=this.uniqueId}_addToSceneRootNodes(){-1===this._nodeDataStorage._sceneRootNodesIndex&&(this._nodeDataStorage._sceneRootNodesIndex=this._scene.rootNodes.length,this._scene.rootNodes.push(this))}_removeFromSceneRootNodes(){if(-1!==this._nodeDataStorage._sceneRootNodesIndex){let e=this._scene.rootNodes,t=e.length-1;e[this._nodeDataStorage._sceneRootNodesIndex]=e[t],e[this._nodeDataStorage._sceneRootNodesIndex]._nodeDataStorage._sceneRootNodesIndex=this._nodeDataStorage._sceneRootNodesIndex,this._scene.rootNodes.pop(),this._nodeDataStorage._sceneRootNodesIndex=-1}}get animationPropertiesOverride(){return this._animationPropertiesOverride?this._animationPropertiesOverride:this._scene.animationPropertiesOverride}set animationPropertiesOverride(e){this._animationPropertiesOverride=e}getClassName(){return"Node"}set onDispose(e){this._onDisposeObserver&&this.onDisposeObservable.remove(this._onDisposeObserver),this._onDisposeObserver=this.onDisposeObservable.add(e)}get onEnabledStateChangedObservable(){return this._nodeDataStorage._onEnabledStateChangedObservable}get onClonedObservable(){return this._nodeDataStorage._onClonedObservable}constructor(e,t=null,s=!0){this._isDirty=!1,this._nodeDataStorage=new h,this.state="",this.metadata=null,this.reservedDataStore=null,this._accessibilityTag=null,this.onAccessibilityTagChangedObservable=new r.Observable,this._parentContainer=null,this.animations=[],this._ranges={},this.onReady=null,this._currentRenderId=-1,this._parentUpdateId=-1,this._childUpdateId=-1,this._waitingParentId=null,this._waitingParentInstanceIndex=null,this._waitingParsedUniqueId=null,this._cache={},this._parentNode=null,this._children=null,this._worldMatrix=i.Matrix.Identity(),this._worldMatrixDeterminant=0,this._worldMatrixDeterminantIsDirty=!0,this._animationPropertiesOverride=null,this._isNode=!0,this.onDisposeObservable=new r.Observable,this._onDisposeObserver=null,this._behaviors=[],this.name=e,this.id=e,this._scene=t||a.EngineStore.LastCreatedScene,this.uniqueId=this._scene.getUniqueId(),this._initCache(),s&&this._addToSceneRootNodes()}getScene(){return this._scene}getEngine(){return this._scene.getEngine()}addBehavior(e,t=!1){return -1!==this._behaviors.indexOf(e)||(e.init(),this._scene.isLoading&&!t?this._scene.onDataLoadedObservable.addOnce(()=>{this._behaviors.includes(e)&&e.attach(this)}):e.attach(this),this._behaviors.push(e)),this}removeBehavior(e){let t=this._behaviors.indexOf(e);return -1===t||(this._behaviors.splice(t,1),e.detach()),this}get behaviors(){return this._behaviors}getBehaviorByName(e){for(let t of this._behaviors)if(t.name===e)return t;return null}getWorldMatrix(){return this._currentRenderId!==this._scene.getRenderId()&&this.computeWorldMatrix(),this._worldMatrix}_getWorldMatrixDeterminant(){return this._worldMatrixDeterminantIsDirty&&(this._worldMatrixDeterminantIsDirty=!1,this._worldMatrixDeterminant=this._worldMatrix.determinant()),this._worldMatrixDeterminant}get worldMatrixFromCache(){return this._worldMatrix}_initCache(){this._cache={}}updateCache(e){!e&&this.isSynchronized()||this._updateCache()}_getActionManagerForTrigger(e,t=!0){return this.parent?this.parent._getActionManagerForTrigger(e,!1):null}_updateCache(e){}_isSynchronized(){return!0}_markSyncedWithParent(){this._parentNode&&(this._parentUpdateId=this._parentNode._childUpdateId)}isSynchronizedWithParent(){return!this._parentNode||!this._parentNode._isDirty&&this._parentUpdateId===this._parentNode._childUpdateId&&this._parentNode.isSynchronized()}isSynchronized(){return(!this._parentNode||!!this.isSynchronizedWithParent())&&this._isSynchronized()}isReady(e=!1){return this._nodeDataStorage._isReady}markAsDirty(e){return this._currentRenderId=Number.MAX_VALUE,this._isDirty=!0,this}isEnabled(e=!0){return!1===e?this._nodeDataStorage._isEnabled:!!this._nodeDataStorage._isEnabled&&this._nodeDataStorage._isParentEnabled}_syncParentEnabledState(){if(this._nodeDataStorage._isParentEnabled=!this._parentNode||this._parentNode.isEnabled(),this._children)for(let e of this._children)e._syncParentEnabledState()}setEnabled(e){this._nodeDataStorage._isEnabled!==e&&(this._nodeDataStorage._isEnabled=e,this._syncParentEnabledState(),this._nodeDataStorage._onEnabledStateChangedObservable.notifyObservers(e))}isDescendantOf(e){return!!this.parent&&(this.parent===e||this.parent.isDescendantOf(e))}_getDescendants(e,t=!1,i){if(this._children)for(let s=0;s<this._children.length;s++){let r=this._children[s];(!i||i(r))&&e.push(r),t||r._getDescendants(e,!1,i)}}getDescendants(e,t){let i=[];return this._getDescendants(i,e,t),i}getChildMeshes(e,t){let i=[];return this._getDescendants(i,e,e=>(!t||t(e))&&void 0!==e.cullingStrategy),i}getChildren(e,t=!0){return this.getDescendants(t,e)}_setReady(e){if(e!==this._nodeDataStorage._isReady){if(!e){this._nodeDataStorage._isReady=!1;return}this.onReady&&this.onReady(this),this._nodeDataStorage._isReady=!0}}getAnimationByName(e){for(let t=0;t<this.animations.length;t++){let i=this.animations[t];if(i.name===e)return i}return null}createAnimationRange(e,t,i){if(!this._ranges[e]){this._ranges[e]=_._AnimationRangeFactory(e,t,i);for(let s=0,r=this.animations.length;s<r;s++)this.animations[s]&&this.animations[s].createRange(e,t,i)}}deleteAnimationRange(e,t=!0){for(let i=0,s=this.animations.length;i<s;i++)this.animations[i]&&this.animations[i].deleteRange(e,t);this._ranges[e]=null}getAnimationRange(e){return this._ranges[e]||null}clone(e,t,i){let s=n.SerializationHelper.Clone(()=>new _(e,this.getScene()),this);if(t&&(s.parent=t),!i){let t=this.getDescendants(!0);for(let i=0;i<t.length;i++){let r=t[i];r.clone(e+"."+r.name,s)}}return s}getAnimationRanges(){let e,t=[];for(e in this._ranges)t.push(this._ranges[e]);return t}beginAnimation(e,t,i,s){let r=this.getAnimationRange(e);return r?this._scene.beginAnimation(this,r.from,r.to,t,i,s):null}serializeAnimationRanges(){let e=[];for(let t in this._ranges){let i=this._ranges[t];if(!i)continue;let s={};s.name=t,s.from=i.from,s.to=i.to,e.push(s)}return e}computeWorldMatrix(e){return this._worldMatrix||(this._worldMatrix=i.Matrix.Identity()),this._worldMatrix}dispose(e,t=!1){if(this._nodeDataStorage._isDisposed=!0,!e)for(let i of this.getDescendants(!0))i.dispose(e,t);for(let e of(this.parent?this.parent=null:this._removeFromSceneRootNodes(),this.onDisposeObservable.notifyObservers(this),this.onDisposeObservable.clear(),this.onEnabledStateChangedObservable.clear(),this.onClonedObservable.clear(),this._behaviors))e.detach();this._behaviors.length=0,this.metadata=null}static ParseAnimationRanges(e,t,i){if(t.ranges)for(let i=0;i<t.ranges.length;i++){let s=t.ranges[i];e.createAnimationRange(s.name,s.from,s.to)}}getHierarchyBoundingVectors(e=!0,t=null){let s,r;if(this.getScene().incrementRenderId(),this.computeWorldMatrix(!0),this.getBoundingInfo&&this.subMeshes){let e=this.getBoundingInfo();s=e.boundingBox.minimumWorld.clone(),r=e.boundingBox.maximumWorld.clone()}else s=new i.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),r=new i.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);if(e)for(let e of this.getDescendants(!1)){if(e.computeWorldMatrix(!0),t&&!t(e)||!e.getBoundingInfo||0===e.getTotalVertices())continue;let a=e.getBoundingInfo().boundingBox,o=a.minimumWorld,n=a.maximumWorld;i.Vector3.CheckExtends(o,s,r),i.Vector3.CheckExtends(n,s,r)}return{min:s,max:r}}}_._AnimationRangeFactory=(e,t,i)=>{throw(0,o._WarnImport)("AnimationRange")},_._NodeConstructors={},(0,t.__decorate)([(0,s.serialize)()],_.prototype,"name",void 0),(0,t.__decorate)([(0,s.serialize)()],_.prototype,"id",void 0),(0,t.__decorate)([(0,s.serialize)()],_.prototype,"uniqueId",void 0),(0,t.__decorate)([(0,s.serialize)()],_.prototype,"state",void 0),(0,t.__decorate)([(0,s.serialize)()],_.prototype,"metadata",void 0),e.s(["Node",0,_])},69938,e=>{"use strict";var t=e.i(76535);let i=!1;e.s(["RegisterAbstractEngineRenderPass",0,function(){i||(i=!0,t.AbstractEngine.prototype.getRenderPassNames=function(){return this._renderPassNames},t.AbstractEngine.prototype.getCurrentRenderPassName=function(){return this._renderPassNames[this.currentRenderPassId]},t.AbstractEngine.prototype.createRenderPassId=function(e){let i=++t.AbstractEngine._RenderPassIdCounter;return this._renderPassNames[i]=e??"NONAME",i},t.AbstractEngine.prototype.releaseRenderPassId=function(e){this._renderPassNames[e]=void 0;for(let t=0;t<this.scenes.length;++t){let i=this.scenes[t];for(let t=0;t<i.meshes.length;++t){let s=i.meshes[t];if(s._releaseRenderPassId(e),s.subMeshes)for(let t=0;t<s.subMeshes.length;++t)s.subMeshes[t]._removeDrawWrapper(e)}}})}])},59576,e=>{"use strict";var t=e.i(10272),i=e.i(37143),s=e.i(45707),r=e.i(99267),a=e.i(96265),o=e.i(34548),n=e.i(13379),h=e.i(77052),_=e.i(75405),d=e.i(25348),l=e.i(85531),c=e.i(69938),g=e.i(80871);class u extends o.Node{get position(){return this._position}set position(e){this._position=e}set upVector(e){this._upVector=e}get upVector(){return this._upVector}get screenArea(){let e,t;if(this.mode===u.PERSPECTIVE_CAMERA)this.fovMode===u.FOVMODE_VERTICAL_FIXED?(t=2*this.minZ*Math.tan(this.fov/2),e=this.getEngine().getAspectRatio(this)*t):t=(e=2*this.minZ*Math.tan(this.fov/2))/this.getEngine().getAspectRatio(this);else{let i=this.getEngine().getRenderWidth()/2,s=this.getEngine().getRenderHeight()/2;e=(this.orthoRight??i)-(this.orthoLeft??-i),t=(this.orthoTop??s)-(this.orthoBottom??-s)}return e*t}set orthoLeft(e){for(let t of(this._orthoLeft=e,this._rigCameras))t.orthoLeft=e}get orthoLeft(){return this._orthoLeft}set orthoRight(e){for(let t of(this._orthoRight=e,this._rigCameras))t.orthoRight=e}get orthoRight(){return this._orthoRight}set orthoBottom(e){for(let t of(this._orthoBottom=e,this._rigCameras))t.orthoBottom=e}get orthoBottom(){return this._orthoBottom}set orthoTop(e){for(let t of(this._orthoTop=e,this._rigCameras))t.orthoTop=e}get orthoTop(){return this._orthoTop}setFocalLength(e,t=36){this.fov=2*Math.atan(t/(2*e))}get inertia(){return this._baseInertia}set inertia(e){this._baseInertia=e}set mode(e){for(let t of(this._mode=e,this._rigCameras))t.mode=e}get mode(){return this._mode}get hasMoved(){return this._hasMoved}constructor(e,t,i,o=!0){(0,c.RegisterAbstractEngineRenderPass)(),super(e,i,!1),this._position=a.Vector3.Zero(),this._upVector=a.Vector3.Up(),this.oblique=null,this._orthoLeft=null,this._orthoRight=null,this._orthoBottom=null,this._orthoTop=null,this.fov=.8,this.projectionPlaneTilt=0,this.minZ=1,this.maxZ=1e4,this._baseInertia=.9,this._mode=u.PERSPECTIVE_CAMERA,this.isIntermediate=!1,this.viewport=new d.Viewport(0,0,1,1),this.layerMask=0xfffffff,this.fovMode=u.FOVMODE_VERTICAL_FIXED,this.cameraRigMode=u.RIG_MODE_NONE,this.ignoreCameraMaxZ=!1,this.customRenderTargets=[],this.outputRenderTarget=null,this.onViewMatrixChangedObservable=new r.Observable,this.onProjectionMatrixChangedObservable=new r.Observable,this.onAfterCheckInputsObservable=new r.Observable,this.onRestoreStateObservable=new r.Observable,this.isRigCamera=!1,this._hasMoved=!1,this._rigCameras=[],this._skipRendering=!1,this._projectionMatrix=new a.Matrix,this._postProcesses=[],this._activeMeshes=new s.SmartArray(256),this._globalPosition=a.Vector3.Zero(),this._computedViewMatrix=a.Matrix.Identity(),this._doNotComputeProjectionMatrix=!1,this._transformMatrix=a.Matrix.Zero(),this._refreshFrustumPlanes=!0,this._absoluteRotation=a.Quaternion.Identity(),this._isCamera=!0,this._isLeftCamera=!1,this._isRightCamera=!1,this.layerMask=this.getScene().defaultCameraLayerMask,this.getScene().addCamera(this),o&&!this.getScene().activeCamera&&(this.getScene().activeCamera=this),this.position=t,this.renderPassId=this.getScene().getEngine().createRenderPassId(`Camera ${e}`)}storeState(){return this._stateStored=!0,this._storedFov=this.fov,this}hasStateStored(){return!!this._stateStored}_restoreStateValues(){return!!this._stateStored&&(this.fov=this._storedFov,!0)}restoreState(){return!!this._restoreStateValues()&&(this.onRestoreStateObservable.notifyObservers(this),!0)}getClassName(){return"Camera"}toString(e){let t="Name: "+this.name;if(t+=", type: "+this.getClassName(),this.animations)for(let i=0;i<this.animations.length;i++)t+=", animation[0]: "+this.animations[i].toString(e);return t}applyVerticalCorrection(){let e=this.absoluteRotation.toEulerAngles();this.projectionPlaneTilt=this._scene.useRightHandedSystem?-e.x:e.x}get globalPosition(){return this._globalPosition}getActiveMeshes(){return this._activeMeshes}isActiveMesh(e){return -1!==this._activeMeshes.indexOf(e)}isReady(e=!1){if(e){for(let e of this._postProcesses)if(e&&!e.isReady())return!1}return super.isReady(e)}_initCache(){super._initCache(),this._cache.position=new a.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.upVector=new a.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.mode=void 0,this._cache.minZ=void 0,this._cache.maxZ=void 0,this._cache.fov=void 0,this._cache.fovMode=void 0,this._cache.aspectRatio=void 0,this._cache.orthoLeft=void 0,this._cache.orthoRight=void 0,this._cache.orthoBottom=void 0,this._cache.orthoTop=void 0,this._cache.obliqueAngle=void 0,this._cache.obliqueLength=void 0,this._cache.obliqueOffset=void 0,this._cache.renderWidth=void 0,this._cache.renderHeight=void 0}_updateCache(e){e||super._updateCache(),this._cache.position.copyFrom(this.position),this._cache.upVector.copyFrom(this.upVector)}_isSynchronized(){return this._isSynchronizedViewMatrix()&&this._isSynchronizedProjectionMatrix()}_isSynchronizedViewMatrix(){return!!super._isSynchronized()&&this._cache.position.equals(this.position)&&this._cache.upVector.equals(this.upVector)&&this.isSynchronizedWithParent()}_isSynchronizedProjectionMatrix(){let e=this.ignoreCameraMaxZ?0:this.maxZ,t=this._cache.mode===this.mode&&this._cache.minZ===this.minZ&&this._cache.maxZ===e;if(!t)return!1;let i=this.getEngine();return this.mode===u.PERSPECTIVE_CAMERA?t=this._cache.fov===this.fov&&this._cache.fovMode===this.fovMode&&this._cache.aspectRatio===i.getAspectRatio(this)&&this._cache.projectionPlaneTilt===this.projectionPlaneTilt:(t=this._cache.orthoLeft===this.orthoLeft&&this._cache.orthoRight===this.orthoRight&&this._cache.orthoBottom===this.orthoBottom&&this._cache.orthoTop===this.orthoTop&&this._cache.renderWidth===i.getRenderWidth()&&this._cache.renderHeight===i.getRenderHeight(),this.oblique&&(t=t&&this._cache.obliqueAngle===this.oblique.angle&&this._cache.obliqueLength===this.oblique.length&&this._cache.obliqueOffset===this.oblique.offset)),t}attachControl(e,t){}detachControl(e){}update(){this._hasMoved=!1,this._checkInputs(),this.cameraRigMode!==u.RIG_MODE_NONE&&this._updateRigCameras(),this.getViewMatrix(),this.getProjectionMatrix()}_checkInputs(){this.onAfterCheckInputsObservable.notifyObservers(this)}get rigCameras(){return this._rigCameras}get rigPostProcess(){return this._rigPostProcess}_getFirstPostProcess(){for(let e=0;e<this._postProcesses.length;e++)if(null!==this._postProcesses[e])return this._postProcesses[e];return null}_cascadePostProcessesToRigCams(){let e=this._getFirstPostProcess();e&&e.markTextureDirty();for(let e=0,t=this._rigCameras.length;e<t;e++){let t=this._rigCameras[e],i=t._rigPostProcess;i?("pass"===i.getEffectName()&&(t.isIntermediate=0===this._postProcesses.length),t._postProcesses=this._postProcesses.slice(0).concat(i),i.markTextureDirty()):t._postProcesses=this._postProcesses.slice(0)}}attachPostProcess(e,t=null){return!e.isReusable()&&this._postProcesses.indexOf(e)>-1?(n.Logger.Error("You're trying to reuse a post process not defined as reusable."),0):(null==t||t<0?this._postProcesses.push(e):null===this._postProcesses[t]?this._postProcesses[t]=e:this._postProcesses.splice(t,0,e),this._cascadePostProcessesToRigCams(),this._scene.prePassRenderer&&this._scene.prePassRenderer.markAsDirty(),this._postProcesses.indexOf(e))}detachPostProcess(e){let t=this._postProcesses.indexOf(e);-1!==t&&(this._postProcesses[t]=null),this._scene.prePassRenderer&&this._scene.prePassRenderer.markAsDirty(),this._cascadePostProcessesToRigCams()}getWorldMatrix(){return this._isSynchronizedViewMatrix()||this.getViewMatrix(),this._worldMatrix}_getViewMatrix(){return a.Matrix.Identity()}getViewMatrix(e){return!e&&this._isSynchronizedViewMatrix()||(this._hasMoved=!0,this.updateCache(),this._computedViewMatrix=this._getViewMatrix(),this._currentRenderId=this.getScene().getRenderId(),this._childUpdateId++,this._refreshFrustumPlanes=!0,this._cameraRigParams&&this._cameraRigParams.vrPreViewMatrix&&this._computedViewMatrix.multiplyToRef(this._cameraRigParams.vrPreViewMatrix,this._computedViewMatrix),this.parent&&this.parent.onViewMatrixChangedObservable&&this.parent.onViewMatrixChangedObservable.notifyObservers(this.parent),this.onViewMatrixChangedObservable.notifyObservers(this),this._computedViewMatrix.invertToRef(this._worldMatrix),this._worldMatrix.getTranslationToRef(this._globalPosition)),this._computedViewMatrix}freezeProjectionMatrix(e){this._doNotComputeProjectionMatrix=!0,void 0!==e&&(this._projectionMatrix=e)}unfreezeProjectionMatrix(){this._doNotComputeProjectionMatrix=!1}getProjectionMatrix(e){if(this._doNotComputeProjectionMatrix||!e&&this._isSynchronizedProjectionMatrix())return this._projectionMatrix;let t=this.ignoreCameraMaxZ?0:this.maxZ;this._cache.mode=this.mode,this._cache.minZ=this.minZ,this._cache.maxZ=t,this._refreshFrustumPlanes=!0;let i=this.getEngine(),s=this.getScene(),r=i.useReverseDepthBuffer;if(this.mode===u.PERSPECTIVE_CAMERA)this._cache.fov=this.fov,this._cache.fovMode=this.fovMode,this._cache.aspectRatio=i.getAspectRatio(this),this._cache.projectionPlaneTilt=this.projectionPlaneTilt,this.minZ<=0&&(this.minZ=.1),(s.useRightHandedSystem?a.Matrix.PerspectiveFovRHToRef:a.Matrix.PerspectiveFovLHToRef)(this.fov,i.getAspectRatio(this),r?t:this.minZ,r?this.minZ:t,this._projectionMatrix,this.fovMode===u.FOVMODE_VERTICAL_FIXED,i.isNDCHalfZRange,this.projectionPlaneTilt,r);else{let e=i.getRenderWidth()/2,o=i.getRenderHeight()/2;s.useRightHandedSystem?this.oblique?a.Matrix.ObliqueOffCenterRHToRef(this.orthoLeft??-e,this.orthoRight??e,this.orthoBottom??-o,this.orthoTop??o,r?t:this.minZ,r?this.minZ:t,this.oblique.length,this.oblique.angle,this._computeObliqueDistance(this.oblique.offset),this._projectionMatrix,i.isNDCHalfZRange):a.Matrix.OrthoOffCenterRHToRef(this.orthoLeft??-e,this.orthoRight??e,this.orthoBottom??-o,this.orthoTop??o,r?t:this.minZ,r?this.minZ:t,this._projectionMatrix,i.isNDCHalfZRange):this.oblique?a.Matrix.ObliqueOffCenterLHToRef(this.orthoLeft??-e,this.orthoRight??e,this.orthoBottom??-o,this.orthoTop??o,r?t:this.minZ,r?this.minZ:t,this.oblique.length,this.oblique.angle,this._computeObliqueDistance(this.oblique.offset),this._projectionMatrix,i.isNDCHalfZRange):a.Matrix.OrthoOffCenterLHToRef(this.orthoLeft??-e,this.orthoRight??e,this.orthoBottom??-o,this.orthoTop??o,r?t:this.minZ,r?this.minZ:t,this._projectionMatrix,i.isNDCHalfZRange),this._cache.orthoLeft=this.orthoLeft,this._cache.orthoRight=this.orthoRight,this._cache.orthoBottom=this.orthoBottom,this._cache.orthoTop=this.orthoTop,this._cache.obliqueAngle=this.oblique?.angle,this._cache.obliqueLength=this.oblique?.length,this._cache.obliqueOffset=this.oblique?.offset,this._cache.renderWidth=i.getRenderWidth(),this._cache.renderHeight=i.getRenderHeight()}return this.onProjectionMatrixChangedObservable.notifyObservers(this),this._projectionMatrix}getTransformationMatrix(){return this._computedViewMatrix.multiplyToRef(this._projectionMatrix,this._transformMatrix),this._transformMatrix}_computeObliqueDistance(e){return(this.radius||(this.target?a.Vector3.Distance(this.position,this.target):this.position.length()))+e}_updateFrustumPlanes(){this._refreshFrustumPlanes&&(this.getTransformationMatrix(),this._frustumPlanes?l.Frustum.GetPlanesToRef(this._transformMatrix,this._frustumPlanes):this._frustumPlanes=l.Frustum.GetPlanes(this._transformMatrix),this._refreshFrustumPlanes=!1)}isInFrustum(e,t=!1){if(this._updateFrustumPlanes(),!t||!(this.rigCameras.length>0))return e.isInFrustum(this._frustumPlanes);{let t=!1;for(let i of this.rigCameras)i._updateFrustumPlanes(),t=t||e.isInFrustum(i._frustumPlanes);return t}}isCompletelyInFrustum(e){return this._updateFrustumPlanes(),e.isCompletelyInFrustum(this._frustumPlanes)}getForwardRay(e=100,t,i){throw(0,_._WarnImport)("Ray")}getForwardRayToRef(e,t=100,i,s){throw(0,_._WarnImport)("Ray")}dispose(e,t=!1){for(this.onViewMatrixChangedObservable.clear(),this.onProjectionMatrixChangedObservable.clear(),this.onAfterCheckInputsObservable.clear(),this.onRestoreStateObservable.clear(),this.inputs&&this.inputs.clear(),this.getScene().stopAnimation(this),this.getScene().removeCamera(this);this._rigCameras.length>0;){let e=this._rigCameras.pop();e&&e.dispose()}if(this._parentContainer){let e=this._parentContainer.cameras.indexOf(this);e>-1&&this._parentContainer.cameras.splice(e,1),this._parentContainer=null}if(this._rigPostProcess)this._rigPostProcess.dispose(this),this._rigPostProcess=null,this._postProcesses.length=0;else if(this.cameraRigMode!==u.RIG_MODE_NONE)this._rigPostProcess=null,this._postProcesses.length=0;else{let e=this._postProcesses.length;for(;--e>=0;){let t=this._postProcesses[e];t&&t.dispose(this)}}let i=this.customRenderTargets.length;for(;--i>=0;)this.customRenderTargets[i].dispose();this.customRenderTargets.length=0,this._activeMeshes.dispose(),this.getScene().getEngine().releaseRenderPassId(this.renderPassId),super.dispose(e,t)}get isLeftCamera(){return this._isLeftCamera}get isRightCamera(){return this._isRightCamera}get leftCamera(){return this._rigCameras.length<1?null:this._rigCameras[0]}get rightCamera(){return this._rigCameras.length<2?null:this._rigCameras[1]}getLeftTarget(){return this._rigCameras.length<1?null:this._rigCameras[0].getTarget()}getRightTarget(){return this._rigCameras.length<2?null:this._rigCameras[1].getTarget()}setCameraRigMode(e,t){if(this.cameraRigMode!==e){for(;this._rigCameras.length>0;){let e=this._rigCameras.pop();e&&e.dispose()}if(this.cameraRigMode=e,this._cameraRigParams={},this._cameraRigParams.interaxialDistance=t.interaxialDistance||.0637,this._cameraRigParams.stereoHalfAngle=this._cameraRigParams.interaxialDistance/.0637*(Math.PI/180),this.cameraRigMode!==u.RIG_MODE_NONE){let e=this.createRigCamera(this.name+"_L",0);e&&(e._isLeftCamera=!0);let t=this.createRigCamera(this.name+"_R",1);t&&(t._isRightCamera=!0),e&&t&&(this._rigCameras.push(e),this._rigCameras.push(t))}this._setRigMode(t),this._cascadePostProcessesToRigCams(),this.update()}}_setRigMode(e){}_getVRProjectionMatrix(){return a.Matrix.PerspectiveFovLHToRef(this._cameraRigParams.vrMetrics.aspectRatioFov,this._cameraRigParams.vrMetrics.aspectRatio,this.minZ,this.ignoreCameraMaxZ?0:this.maxZ,this._cameraRigParams.vrWorkMatrix,!0,this.getEngine().isNDCHalfZRange),this._cameraRigParams.vrWorkMatrix.multiplyToRef(this._cameraRigParams.vrHMatrix,this._projectionMatrix),this._projectionMatrix}setCameraRigParameter(e,t){this._cameraRigParams||(this._cameraRigParams={}),this._cameraRigParams[e]=t,"interaxialDistance"===e&&(this._cameraRigParams.stereoHalfAngle=t/.0637*(Math.PI/180))}createRigCamera(e,t){return null}_updateRigCameras(){for(let e=0;e<this._rigCameras.length;e++)this._rigCameras[e].minZ=this.minZ,this._rigCameras[e].maxZ=this.ignoreCameraMaxZ?0:this.maxZ,this._rigCameras[e].fov=this.fov,this._rigCameras[e].upVector.copyFrom(this.upVector);this.cameraRigMode===u.RIG_MODE_STEREOSCOPIC_ANAGLYPH&&(this._rigCameras[0].viewport=this._rigCameras[1].viewport=this.viewport)}_setupInputs(){}serialize(){let e=g.SerializationHelper.Serialize(this);return e.uniqueId=this.uniqueId,e.type=this.getClassName(),this.parent&&this.parent._serializeAsParent(e),this.inputs&&this.inputs.serialize(e),g.SerializationHelper.AppendSerializedAnimations(this,e),e.ranges=this.serializeAnimationRanges(),e.isEnabled=this.isEnabled(),e}clone(e,t=null){let i=g.SerializationHelper.Clone(u.GetConstructorFromName(this.getClassName(),e,this.getScene(),this.interaxialDistance,this.isStereoscopicSideBySide),this);return i.name=e,i.parent=t,this.onClonedObservable.notifyObservers(i),i}getDirection(e){let t=a.Vector3.Zero();return this.getDirectionToRef(e,t),t}get absoluteRotation(){return this.getWorldMatrix().decompose(void 0,this._absoluteRotation),this._absoluteRotation}getDirectionToRef(e,t){a.Vector3.TransformNormalToRef(e,this.getWorldMatrix(),t)}static GetConstructorFromName(e,t,i,s=0,r=!0){let a=o.Node.Construct(e,t,i,{interaxial_distance:s,isStereoscopicSideBySide:r});return a||(()=>u._CreateDefaultParsedCamera(t,i))}computeWorldMatrix(){return this.getWorldMatrix()}_calculateHandednessMultiplier(){let e=this.getScene().useRightHandedSystem?-1:1;return this.parent&&0>this.parent._getWorldMatrixDeterminant()&&(e*=-1),e}}function m(e,t){let i=e.type,s=u.GetConstructorFromName(i,e.name,t,e.interaxial_distance,e.isStereoscopicSideBySide),r=g.SerializationHelper.Parse(s,e,t);if(void 0!==e.parentId&&(r._waitingParentId=e.parentId),void 0!==e.parentInstanceIndex&&(r._waitingParentInstanceIndex=e.parentInstanceIndex),r.inputs&&(r.inputs.parse(e),r._setupInputs()),e.upVector&&(r.upVector=a.Vector3.FromArray(e.upVector)),r.setPosition&&(r.position.copyFromFloats(0,0,0),r.setPosition(a.Vector3.FromArray(e.position))),e.target&&r.setTarget&&r.setTarget(a.Vector3.FromArray(e.target)),e.cameraRigMode){let t=e.interaxial_distance?{interaxialDistance:e.interaxial_distance}:{};r.setCameraRigMode(e.cameraRigMode,t)}if(e.animations){for(let t=0;t<e.animations.length;t++){let i=e.animations[t],s=(0,h.GetClass)("BABYLON.Animation");s&&r.animations.push(s.Parse(i))}o.Node.ParseAnimationRanges(r,e,t)}return e.autoAnimate&&t.beginAnimation(r,e.autoAnimateFrom,e.autoAnimateTo,e.autoAnimateLoop,e.autoAnimateSpeed||1),void 0!==e.isEnabled&&r.setEnabled(e.isEnabled),r}u._CreateDefaultParsedCamera=(e,t)=>{throw(0,_._WarnImport)("UniversalCamera")},u.PERSPECTIVE_CAMERA=0,u.ORTHOGRAPHIC_CAMERA=1,u.FOVMODE_VERTICAL_FIXED=0,u.FOVMODE_HORIZONTAL_FIXED=1,u.RIG_MODE_NONE=0,u.RIG_MODE_STEREOSCOPIC_ANAGLYPH=10,u.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL=11,u.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED=12,u.RIG_MODE_STEREOSCOPIC_OVERUNDER=13,u.RIG_MODE_STEREOSCOPIC_INTERLACED=14,u.RIG_MODE_VR=20,u.RIG_MODE_CUSTOM=22,u.ForceAttachControlToAlwaysPreventDefault=!1,(0,t.__decorate)([(0,i.serializeAsVector3)("position")],u.prototype,"_position",void 0),(0,t.__decorate)([(0,i.serializeAsVector3)("upVector")],u.prototype,"_upVector",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"orthoLeft",null),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"orthoRight",null),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"orthoBottom",null),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"orthoTop",null),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"fov",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"projectionPlaneTilt",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"minZ",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"maxZ",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"inertia",null),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"mode",null),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"layerMask",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"fovMode",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"cameraRigMode",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"interaxialDistance",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"isStereoscopicSideBySide",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"ignoreCameraMaxZ",void 0);let p=!1;e.s(["Camera",0,u,"RegisterCamera",0,function(){p||(p=!0,u.Parse=m)}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13379,e=>{"use strict";class t{static _CheckLimit(e,r){let o=t._LogLimitOutputs[e];return o?o.current++:(o={limit:r,current:1},t._LogLimitOutputs[e]=o),o.current<=o.limit}static _GenerateLimitMessage(e,r=1){let o=t._LogLimitOutputs[e];if(!o||!t.MessageLimitReached)return;let a=this._Levels[r];o.current===o.limit&&t[a.name](t.MessageLimitReached.replace(/%LIMIT%/g,""+o.limit).replace(/%TYPE%/g,a.name??""))}static _AddLogEntry(e){t._LogCache=e+t._LogCache,t.OnNewCacheEntry&&t.OnNewCacheEntry(e)}static _FormatMessage(e){let t=e=>e<10?"0"+e:""+e,r=new Date;return"["+t(r.getHours())+":"+t(r.getMinutes())+":"+t(r.getSeconds())+"]: "+e}static _LogDisabled(e,t){}static _LogEnabled(e=1,r,o){let a=Array.isArray(r)?r[0]:r;if(void 0!==o&&!t._CheckLimit(a,o))return;let i=t._FormatMessage(a),s=this._Levels[e],n=Array.isArray(r)?r.slice(1):[];s.logFunc&&s.logFunc("BJS - "+i,...n);let l=`<div style='color:${s.color}'>${i}</div><br>`;t._AddLogEntry(l),t._GenerateLimitMessage(a,e)}static get LogCache(){return t._LogCache}static ClearLogCache(){t._LogCache="",t._LogLimitOutputs={},t.errorsCount=0}static set LogLevels(e){for(let r of(t.Log=t._LogDisabled,t.Warn=t._LogDisabled,t.Error=t._LogDisabled,[t.MessageLogLevel,t.WarningLogLevel,t.ErrorLogLevel]))(e&r)===r&&(t[this._Levels[r].name]=t._LogEnabled.bind(t,r))}}t.NoneLogLevel=0,t.MessageLogLevel=1,t.WarningLogLevel=2,t.ErrorLogLevel=4,t.AllLogLevel=7,t.MessageLimitReached="Too many %TYPE%s (%LIMIT%), no more %TYPE%s will be reported for this message.",t._LogCache="",t._LogLimitOutputs={},t._Levels=[{},{color:"white",logFunc:console.log,name:"Log"},{color:"orange",logFunc:console.warn,name:"Warn"},{},{color:"red",logFunc:console.error,name:"Error"}],t.errorsCount=0,t.Log=t._LogEnabled.bind(t,t.MessageLogLevel),t.Warn=t._LogEnabled.bind(t,t.WarningLogLevel),t.Error=t._LogEnabled.bind(t,t.ErrorLogLevel),e.s(["Logger",0,t])},84768,e=>{"use strict";e.s(["RandomGUID",0,function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}])},64545,e=>{"use strict";e.s(["GetDOMTextContent",0,function(e){let t="",r=e.firstChild;for(;r;)3===r.nodeType&&(t+=r.textContent),r=r.nextSibling;return t},"IsDocumentAvailable",0,function(){return"u">typeof document},"IsNavigatorAvailable",0,function(){return"u">typeof navigator},"IsWindowObjectExist",0,function(){return"u">typeof window}])},65295,e=>{"use strict";class t{constructor(){this._xhr="u">typeof _native&&_native.XMLHttpRequest?new _native.XMLHttpRequest:new XMLHttpRequest,this._requestURL=""}static get IsCustomRequestAvailable(){return Object.keys(t.CustomRequestHeaders).length>0||t.CustomRequestModifiers.length>0}static _CleanUrl(e){return e=(e=e.replace("file:http:","http:")).replace("file:https:","https:")}static _ShouldSkipRequestModifications(e){return t.SkipRequestModificationForBabylonCDN&&(e.includes("preview.babylonjs.com")||e.includes("cdn.babylonjs.com"))}static _CollectCustomizations(e,r={}){let o={...r};if(t._ShouldSkipRequestModifications(e))return{url:e,headers:o};for(let e in t.CustomRequestHeaders){let r=t.CustomRequestHeaders[e];r&&(o[e]=r)}let a={setRequestHeader:(e,t)=>{o[e]=t}};for(let r of t.CustomRequestModifiers){if(t._ShouldSkipRequestModifications(e))break;let o=r(a,e);"string"==typeof o&&(e=o)}return{url:e,headers:o}}static async FetchAsync(e,r={}){let o=r.method??"GET";if("u">typeof fetch){let{url:a,headers:i}=t._CollectCustomizations(t._CleanUrl(e),r.headers??{});return await fetch(a,{method:o,headers:i,body:r.body??void 0})}return await new Promise((a,i)=>{let s=new t;s.responseType="arraybuffer",s.addEventListener("readystatechange",()=>{if(4===s.readyState)if(s.status>=200&&s.status<300){let e="u">typeof Headers?new Headers:void 0,t=s.getResponseHeader("Content-Type");t&&e&&e.set("Content-Type",t),"u">typeof Response?a(new Response(s.response,{status:s.status,statusText:s.statusText,headers:e})):a({ok:!0,status:s.status,statusText:s.statusText,headers:{get:e=>s.getResponseHeader(e)},arrayBuffer:async()=>await Promise.resolve(s.response)})}else i(Error(`HTTP ${s.status} loading '${s.requestURL}': ${s.statusText}`))}),s.open(o,e,r.headers),s.send(r.body??null)})}get requestURL(){return this._requestURL}get onprogress(){return this._xhr.onprogress}set onprogress(e){this._xhr.onprogress=e}get readyState(){return this._xhr.readyState}get status(){return this._xhr.status}get statusText(){return this._xhr.statusText}get response(){return this._xhr.response}get responseURL(){return this._xhr.responseURL}get responseText(){return this._xhr.responseText}get responseType(){return this._xhr.responseType}set responseType(e){this._xhr.responseType=e}get timeout(){return this._xhr.timeout}set timeout(e){this._xhr.timeout=e}addEventListener(e,t,r){this._xhr.addEventListener(e,t,r)}removeEventListener(e,t,r){this._xhr.removeEventListener(e,t,r)}abort(){this._xhr.abort()}send(e){this._xhr.send(e)}open(e,r,o){let{url:a,headers:i}=t._CollectCustomizations(r,o);for(let r in this._requestURL=t._CleanUrl(a),this._xhr.open(e,this._requestURL,!0),i)this._xhr.setRequestHeader(r,i[r])}setRequestHeader(e,t){this._xhr.setRequestHeader(e,t)}getResponseHeader(e){return this._xhr.getResponseHeader(e)}}t.CustomRequestHeaders={},t.CustomRequestModifiers=[],t.SkipRequestModificationForBabylonCDN=!0,e.s(["WebRequest",0,t])},96704,e=>{"use strict";let t=null;function r(){if(t)return t;let e=new ArrayBuffer(4),r=new Float32Array(e),o=new Uint32Array(e),a=new Uint32Array(512),i=new Uint32Array(512);for(let e=0;e<256;++e){let t=e-127;t<-24?(a[e]=0,a[256|e]=32768,i[e]=24,i[256|e]=24):t<-14?(a[e]=1024>>-t-14,a[256|e]=1024>>-t-14|32768,i[e]=-t-1,i[256|e]=-t-1):t<=15?(a[e]=t+15<<10,a[256|e]=t+15<<10|32768,i[e]=13,i[256|e]=13):t<128?(a[e]=31744,a[256|e]=64512,i[e]=24,i[256|e]=24):(a[e]=31744,a[256|e]=64512,i[e]=13,i[256|e]=13)}let s=new Uint32Array(2048),n=new Uint32Array(64),l=new Uint32Array(64);for(let e=1;e<1024;++e){let t=e<<13,r=0;for(;(8388608&t)==0;)t<<=1,r-=8388608;t&=-8388609,r+=0x38800000,s[e]=t|r}for(let e=1024;e<2048;++e)s[e]=0x38000000+(e-1024<<13);for(let e=1;e<31;++e)n[e]=e<<23;n[31]=0x47800000,n[32]=0x80000000;for(let e=33;e<63;++e)n[e]=0x80000000+(e-32<<23);n[63]=0xc7800000;for(let e=1;e<64;++e)32!==e&&(l[e]=1024);return t={floatView:r,uint32View:o,baseTable:a,shiftTable:i,mantissaTable:s,exponentTable:n,offsetTable:l}}e.s(["FromHalfFloat",0,function(e){let t=r();return t.uint32View[0]=t.mantissaTable[t.offsetTable[e>>10]+(1023&e)]+t.exponentTable[e>>10],t.floatView[0]},"MaxHalfFloat",0,65504,"ToHalfFloat",0,function(e){let t=r();t.floatView[0]=e;let o=t.uint32View[0],a=o>>23&511;return t.baseTable[a]+((8388607&o)>>t.shiftTable[a])}])},36395,e=>{"use strict";var t=e.i(64545);e.s(["PrecisionDate",0,class{static get Now(){return(0,t.IsWindowObjectExist)()&&window.performance&&window.performance.now?window.performance.now():Date.now()}}])},29822,6805,92605,e=>{"use strict";class t{}t.FilesToLoad={},e.s(["FilesInputStore",0,t],29822),e.s(["RetryStrategy",0,class{static ExponentialBackoff(e=3,t=500){return(r,o,a)=>0!==o.status||a>=e||-1!==r.indexOf("file:")?-1:Math.pow(2,a)*t}}],6805);class r extends Error{}r._setPrototypeOf=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e));class o extends r{constructor(e,t,a){super(e),this.errorCode=t,this.innerError=a,this.name="RuntimeError",r._setPrototypeOf(this,o.prototype)}}e.s(["BaseError",0,r,"ErrorCodes",0,{MeshInvalidPositionsError:0,UnsupportedTextureError:1e3,GLTFLoaderUnexpectedMagicError:2e3,SceneLoaderError:3e3,LoadFileError:4e3,RequestFileError:4001,ReadFileError:4002},"RuntimeError",0,o],92605)},49311,e=>{"use strict";let t=e=>atob(e);e.s(["Decode",0,e=>{if("u">typeof TextDecoder)return new TextDecoder().decode(e);let t="";for(let r=0;r<e.byteLength;r++)t+=String.fromCharCode(e[r]);return t},"DecodeBase64ToBinary",0,e=>"function"==typeof Uint8Array.fromBase64?Uint8Array.fromBase64(e).buffer:function(e){let r=t(e),o=r.length,a=new Uint8Array(new ArrayBuffer(o));for(let e=0;e<o;e++)a[e]=r.charCodeAt(e);return a.buffer}(e),"DecodeBase64ToString",0,t,"EncodeArrayBufferToBase64",0,e=>{let t=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e);return"function"==typeof t.toBase64?t.toBase64():function(e){let t,r,o,a,i,s,n,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",c="",u=0;for(;u<e.length;)t=e[u++],r=u<e.length?e[u++]:NaN,o=u<e.length?e[u++]:NaN,a=t>>2,i=(3&t)<<4|r>>4,s=(15&r)<<2|o>>6,n=63&o,isNaN(r)?s=n=64:isNaN(o)&&(n=64),c+=l.charAt(a)+l.charAt(i)+l.charAt(s)+l.charAt(n);return c}(t)}])},23240,e=>{"use strict";let t=[];function r(e,t,r){try{if(e())return t(),!0}catch(e){return r?.(e),!0}return!1}e.s(["TimingTools",0,class{static SetImmediate(e){0===t.length&&setTimeout(()=>{let e=t;for(let r of(t=[],e))r()},1),t.push(e)}},"_RetryWithInterval",0,(e,t,o,a=16,i=3e4,s=!0,n)=>{if(s&&r(e,t,o))return null;let l=setInterval(()=>{r(e,t,o)?clearInterval(l):(i-=a)<0&&(clearInterval(l),o?.(Error("Operation timed out after maximum retries. "+(n||"")),!0))},a);return()=>clearInterval(l)}])},38118,e=>{"use strict";var t=e.i(13379),r=e.i(96704);function o(e){switch(e){case 5120:case 5121:return 1;case 5122:case 5123:case 5131:return 2;case 5124:case 5125:case 5126:return 4;default:throw Error(`Invalid type '${e}'`)}}function a(e){switch(e){case 5120:return Int8Array;case 5121:return Uint8Array;case 5122:return Int16Array;case 5123:case 5131:return Uint16Array;case 5124:return Int32Array;case 5125:return Uint32Array;case 5126:return Float32Array;default:throw Error(`Invalid component type '${e}'`)}}function i(e,t,a,i,s,n,l,c){let u=Array(i),f=Array(i);if(e instanceof Array){let r=t/4,o=a/4;for(let t=0;t<n;t+=i){for(let t=0;t<i;t++)u[t]=f[t]=e[r+t];c(f,t);for(let t=0;t<i;t++)u[t]!==f[t]&&(e[r+t]=f[t]);r+=o}}else{let g=ArrayBuffer.isView(e)?new DataView(e.buffer,e.byteOffset,e.byteLength):new DataView(e),d=o(s);for(let e=0;e<n;e+=i){for(let e=0,o=t;e<i;e++,o+=d)u[e]=f[e]=function(e,t,o,a){switch(t){case 5120:{let t=e.getInt8(o);return a&&(t=Math.max(t/127,-1)),t}case 5121:{let t=e.getUint8(o);return a&&(t/=255),t}case 5122:{let t=e.getInt16(o,!0);return a&&(t=Math.max(t/32767,-1)),t}case 5123:{let t=e.getUint16(o,!0);return a&&(t/=65535),t}case 5131:return(0,r.FromHalfFloat)(e.getUint16(o,!0));case 5124:return e.getInt32(o,!0);case 5125:return e.getUint32(o,!0);case 5126:return e.getFloat32(o,!0);default:throw Error(`Invalid component type ${t}`)}}(g,s,o,l);c(f,e);for(let e=0,o=t;e<i;e++,o+=d)u[e]!==f[e]&&function(e,t,o,a,i){switch(t){case 5120:a&&(i=Math.round(127*i)),e.setInt8(o,i);break;case 5121:a&&(i=Math.round(255*i)),e.setUint8(o,i);break;case 5122:a&&(i=Math.round(32767*i)),e.setInt16(o,i,!0);break;case 5123:a&&(i=Math.round(65535*i)),e.setUint16(o,i,!0);break;case 5131:e.setUint16(o,(0,r.ToHalfFloat)(i),!0);break;case 5124:e.setInt32(o,i,!0);break;case 5125:e.setUint32(o,i,!0);break;case 5126:e.setFloat32(o,i,!0);break;default:throw Error(`Invalid component type ${t}`)}}(g,s,o,l,f[e]);t+=a}}}e.s(["CopyFloatData",0,function(e,r,a,s,n,l,c,u){let f=r*o(a),g=c*r;if(u.length!==g)throw Error("Output length is not valid");if(5126!==a||n!==f)return void i(e,s,n,r,a,g,l,(e,t)=>{for(let o=0;o<r;o++)u[t+o]=e[o]});if(e instanceof Array){let t=s/4;u.set(e,t)}else if(ArrayBuffer.isView(e)){let r=e.byteOffset+s;if((3&r)!=0){t.Logger.Warn("Float array must be aligned to 4-bytes border"),u.set(new Float32Array(e.buffer.slice(r,r+g*Float32Array.BYTES_PER_ELEMENT)));return}let o=new Float32Array(e.buffer,r,g);u.set(o)}else{let t=new Float32Array(e,s,g);u.set(t)}},"EnumerateFloatValues",0,i,"GetBlobBufferSource",0,function(e){let t=e.buffer;if(t instanceof ArrayBuffer)return e;let r=new ArrayBuffer(e.byteLength);return new Uint8Array(r).set(new Uint8Array(t,e.byteOffset,e.byteLength)),r},"GetFloatData",0,function(e,r,a,s,n,l,c,u){let f=r*o(a),g=c*r;if(5126!==a||n!==f){let t=new Float32Array(g);return i(e,s,n,r,a,g,l,(e,o)=>{for(let a=0;a<r;a++)t[o+a]=e[a]}),t}if(!(e instanceof Array||e instanceof Float32Array)||0!==s||e.length!==g)if(e instanceof Array){let t=s/4;return e.slice(t,t+g)}else{if(!ArrayBuffer.isView(e))return new Float32Array(e,s,g);let r=e.byteOffset+s;return((3&r)!=0&&(t.Logger.Warn("Float array must be aligned to 4-bytes border"),u=!0),u)?new Float32Array(e.buffer.slice(r,r+g*Float32Array.BYTES_PER_ELEMENT)):new Float32Array(e.buffer,r,g)}return u?e.slice():e},"GetTypeByteLength",0,o,"GetTypedArrayConstructor",0,a,"GetTypedArrayData",0,function(e,r,s,n,l,c,u){let f,g=o(s),d=a(s),p=c*r;if(Array.isArray(e)){if((3&n)!=0||(3&l)!=0)throw Error("byteOffset and byteStride must be a multiple of 4 for number[] data.");let t=n/4,o=l/4;if(t+(c-1)*o+r>e.length)throw Error("Last accessed index is out of bounds.");if(o<r)throw Error("Data stride cannot be smaller than the component size.");if(o!==r){let t=new d(p);return i(e,n,l,r,s,p,!1,(e,o)=>{for(let a=0;a<r;a++)t[o+a]=e[a]}),t}return new d(e.slice(t,t+p))}let h=n;if(ArrayBuffer.isView(e)?(f=e.buffer,h+=e.byteOffset):f=e,h+(c-1)*l+r*g>f.byteLength)throw Error("Last accessed byte is out of bounds.");let v=r*g;if(l<v)throw Error("Byte stride cannot be smaller than the component's byte size.");if(l!==v){let e=new d(p),t=new Uint8Array(f,h),o=new Uint8Array(e.buffer),a=r*g;for(let e=0,r=0,i=0;e<c;e++,r+=l,i+=a)o.set(t.subarray(r,r+a),i);return e}return(1!==g&&(h&g-1)!=0&&(t.Logger.Warn("Array must be aligned to border of element size. Data will be copied."),u=!0),u)?new d(f.slice(h,h+p*g)):new d(f,h,p)}])},46712,e=>{"use strict";let t;var r=e.i(65295),o=e.i(64545),a=e.i(99267),i=e.i(29822),s=e.i(6805),n=e.i(92605),l=e.i(49311),c=e.i(81623),u=e.i(13379),f=e.i(23240),g=e.i(38118);let d=new RegExp(/^data:([^,]+\/[^,]+)?;base64,/i);class p extends n.RuntimeError{constructor(e,t){super(e,n.ErrorCodes.LoadFileError),this.name="LoadFileError",n.BaseError._setPrototypeOf(this,p.prototype),t instanceof r.WebRequest?this.request=t:this.file=t}}class h extends n.RuntimeError{constructor(e,t){super(e,n.ErrorCodes.RequestFileError),this.request=t,this.name="RequestFileError",n.BaseError._setPrototypeOf(this,h.prototype)}}class v extends n.RuntimeError{constructor(e,t){super(e,n.ErrorCodes.ReadFileError),this.file=t,this.name="ReadFileError",n.BaseError._setPrototypeOf(this,v.prototype)}}let m={DefaultRetryStrategy:s.RetryStrategy.ExponentialBackoff(),BaseUrl:"",CorsBehavior:"anonymous",PreprocessUrl:e=>e,ScriptBaseUrl:"",ScriptPreprocessUrl:e=>e,CleanUrl:e=>e=e.replace(/#/gm,"%23")},y=(e,t)=>{if((!e||0!==e.indexOf("data:"))&&m.CorsBehavior)if("string"==typeof m.CorsBehavior||m.CorsBehavior instanceof String)t.crossOrigin=m.CorsBehavior;else{let r=m.CorsBehavior(e);r&&(t.crossOrigin=r)}},b=(e,t,o,a,s="",n,u=c.EngineStore.LastCreatedEngine)=>{let f;if("u"<typeof HTMLImageElement&&!u?._features.forceBitmapOverHTMLImageElement)return o("LoadImage is only supported in web or BabylonNative environments."),null;let d=!1;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))if("u">typeof Blob&&"u">typeof URL){let t;t=e instanceof ArrayBuffer?e:(0,g.GetBlobBufferSource)(e),f=URL.createObjectURL(new Blob([t],{type:s})),d=!0}else f=`data:${s};base64,`+(0,l.EncodeArrayBufferToBase64)(e);else e instanceof Blob?(f=URL.createObjectURL(e),d=!0):(f=m.CleanUrl(e),f=m.PreprocessUrl(f));let p=t=>{if(o){let r=f||e.toString();o(`Error while trying to load image: ${0===r.indexOf("http")||r.length<=128?r:r.slice(0,128)+"..."}`,t)}};if(u?._features.forceBitmapOverHTMLImageElement)return A(f,r=>{u.createImageBitmap(new Blob([r],{type:s}),{premultiplyAlpha:"none",colorSpaceConversion:"none",...n}).then(e=>{t(e),d&&URL.revokeObjectURL(f)}).catch(t=>{o&&o("Error while trying to load image: "+e,t)})},void 0,a||void 0,!0,(e,t)=>{p(t)}),null;let h=new Image;!1;y(f,h);let v=[],b=()=>{for(let e of v)e.target.removeEventListener(e.name,e.handler);v.length=0};for(let e of(v.push({target:h,name:"load",handler:()=>{b(),t(h),d&&h.src&&URL.revokeObjectURL(h.src)}}),v.push({target:h,name:"error",handler:e=>{b(),p(e),d&&h.src&&URL.revokeObjectURL(h.src)}}),v.push({target:document,name:"securitypolicyviolation",handler:e=>{if(e.blockedURI!==h.src||"report"===e.disposition)return;b();let t=Error(`CSP violation of policy ${e.effectiveDirective} ${e.blockedURI}. Current policy is ${e.originalPolicy}`);c.EngineStore.UseFallbackTexture=!1,p(t),d&&h.src&&URL.revokeObjectURL(h.src),h.src=""}}),v))e.target.addEventListener(e.name,e.handler);let K="blob:"===f.substring(0,5),U="data:"===f.substring(0,5),P=()=>{K||U||!r.WebRequest.IsCustomRequestAvailable?h.src=f:A(f,(e,t,r)=>{let o=new Blob([e],{type:!s&&r?r:s}),a=URL.createObjectURL(o);d=!0,h.src=a},void 0,a||void 0,!0,(e,t)=>{p(t)})};if(!K&&!U&&a&&a.enableTexturesOffline)a.open(()=>{a&&a.loadImage(f,h)},P);else{if(-1!==f.indexOf("file:")){let e=decodeURIComponent(f.substring(5).toLowerCase());if(i.FilesInputStore.FilesToLoad[e]&&"u">typeof URL){try{let t;try{t=URL.createObjectURL(i.FilesInputStore.FilesToLoad[e])}catch(r){t=URL.createObjectURL(i.FilesInputStore.FilesToLoad[e])}h.src=t,d=!0}catch(e){h.src=""}return h}}P()}return h},K=(e,t,r,o,i)=>{let s=new FileReader,n={onCompleteObservable:new a.Observable,abort:()=>s.abort()};return s.onloadend=()=>n.onCompleteObservable.notifyObservers(n),i&&(s.onerror=()=>{i(new v(`Unable to read ${e.name}`,e))}),s.onload=e=>{t(e.target.result)},r&&(s.onprogress=r),o?s.readAsArrayBuffer(e):s.readAsText(e),n},A=(e,t,r,o,s,n,l)=>{if(e.name)return K(e,t,r,s,n?e=>{n(void 0,e)}:void 0);if(-1!==e.indexOf("file:")){let o=decodeURIComponent(e.substring(5).toLowerCase());0===o.indexOf("./")&&(o=o.substring(2));let a=i.FilesInputStore.FilesToLoad[o];if(a)return K(a,t,r,s,n?e=>n(void 0,new p(e.message,e.file)):void 0)}let{match:c,type:g}=C(e);if(c){let r={onCompleteObservable:new a.Observable,abort:()=>()=>{}};try{let r=s?T(e):F(e);t(r,void 0,g)}catch(e){n?n(void 0,e):u.Logger.Error(e.message||"Failed to parse the Data URL")}return f.TimingTools.SetImmediate(()=>{r.onCompleteObservable.notifyObservers(r)}),r}return U(e,(e,r)=>{t(e,r?.responseURL,r?.getResponseHeader("content-type"))},r,o,s,n?e=>{n(e.request,new p(e.message,e.request))}:void 0,l)},U=(e,t,i,s,n,l,f)=>{null!==s&&(s??(s=c.EngineStore.LastCreatedScene?.offlineProvider)),e=m.CleanUrl(e),e=m.PreprocessUrl(e);let g=m.BaseUrl+e,d=!1,p={onCompleteObservable:new a.Observable,abort:()=>d=!0},v=()=>{let e,a=new r.WebRequest,s=null,c=()=>{a&&(i&&a.removeEventListener("progress",i),e&&a.removeEventListener("readystatechange",e),a.removeEventListener("loadend",v))},v=()=>{c(),p.onCompleteObservable.notifyObservers(p),p.onCompleteObservable.clear(),i=void 0,e=null,v=null,l=void 0,f=void 0,t=void 0};p.abort=()=>{d=!0,v&&v(),a&&a.readyState!==(XMLHttpRequest.DONE||4)&&a.abort(),null!==s&&(clearTimeout(s),s=null),a=null};let y=e=>{let t=e.message||"Unknown error";l&&a?l(new h(t,a)):u.Logger.Error(t)},b=u=>{if(a){if(a.open("GET",g),f)try{f(a)}catch(e){y(e);return}n&&(a.responseType="arraybuffer"),i&&a.addEventListener("progress",i),v&&a.addEventListener("loadend",v),e=()=>{if(!d&&a&&a.readyState===(XMLHttpRequest.DONE||4)){if(e&&a.removeEventListener("readystatechange",e),a.status>=200&&a.status<300||0===a.status&&(!(0,o.IsWindowObjectExist)()||P())){let e=n?a.response:a.responseText;if(null!==e){try{t&&t(e,a)}catch(e){y(e)}return}}let i=m.DefaultRetryStrategy;if(i){let e=i(g,a,u);if(-1!==e){c(),a=new r.WebRequest,s=setTimeout(()=>b(u+1),e);return}}let f=new h("Error status: "+a.status+" "+a.statusText+" - Unable to load "+g,a);l&&l(f)}},a.addEventListener("readystatechange",e),a.send()}};b(0)};if(s&&s.enableSceneOffline&&!e.startsWith("blob:")){let r=e=>{e&&e.status>400?l&&l(e):v()};s.open(()=>{s&&s.loadFile(m.BaseUrl+e,e=>{!d&&t&&t(e),p.onCompleteObservable.notifyObservers(p)},i?e=>{!d&&i&&i(e)}:void 0,r,n)},r)}else v();return p},P=()=>"u">typeof location&&"file:"===location.protocol,L=e=>d.test(e),C=e=>{let t=d.exec(e);return null===t||0===t.length?{match:!1,type:""}:{match:!0,type:t[0].replace("data:","").replace(";base64,","")}};function T(e){return(0,l.DecodeBase64ToBinary)(e.split(",")[1])}let F=e=>(0,l.DecodeBase64ToString)(e.split(",")[1]),B=!1;e.s(["DecodeBase64UrlToBinary",0,T,"FileToolsOptions",0,m,"GetMimeType",0,e=>{let{match:t,type:r}=C(e);if(t)return r||void 0;let o=e.lastIndexOf(".");switch(e.substring(o+1).toLowerCase()){case"glb":return"model/gltf-binary";case"bin":return"application/octet-stream";case"gltf":return"model/gltf+json";case"jpg":case"jpeg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp";case"ktx":return"image/ktx";case"ktx2":return"image/ktx2";case"avif":return"image/avif";default:return}},"IsBase64DataUrl",0,L,"LoadFile",0,A,"LoadFileError",0,p,"LoadImage",0,b,"ReadFile",0,K,"RegisterFileTools",0,function(){!B&&(B=!0,Object.defineProperty(t={DecodeBase64UrlToBinary:T,DecodeBase64UrlToString:F,DefaultRetryStrategy:m.DefaultRetryStrategy,BaseUrl:m.BaseUrl,CorsBehavior:m.CorsBehavior,PreprocessUrl:m.PreprocessUrl,IsBase64DataUrl:L,IsFileURL:P,LoadFile:A,LoadImage:b,ReadFile:K,RequestFile:U,SetCorsBehavior:y},"DefaultRetryStrategy",{get:function(){return m.DefaultRetryStrategy},set:function(e){m.DefaultRetryStrategy=e}}),Object.defineProperty(t,"BaseUrl",{get:function(){return m.BaseUrl},set:function(e){m.BaseUrl=e}}),Object.defineProperty(t,"PreprocessUrl",{get:function(){return m.PreprocessUrl},set:function(e){m.PreprocessUrl=e}}),Object.defineProperty(t,"CorsBehavior",{get:function(){return m.CorsBehavior},set:function(e){m.CorsBehavior=e}}))},"RequestFile",0,U,"SetCorsBehavior",0,y])},68179,e=>{"use strict";function t(e){let t=r(e),a=o(e);return t-e>e-a?a:t}function r(e){return e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e}function o(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,(e|=e>>16)-(e>>1)}e.s(["FloorPOT",0,o,"GetExponentOfTwo",0,function(e,a,i=2){let s;switch(i){case 1:s=o(e);break;case 2:s=t(e);break;default:s=r(e)}return Math.min(s,a)},"IsExponentOfTwo",0,function(e){let t=1;do t*=2;while(t<e)return t===e},"Mix",0,function(e,t,r){return e*(1-r)+t*r},"NearestPOT",0,t])},98105,e=>{"use strict";var t=e.i(13379),r=e.i(77052);class o{static Instantiate(e){if(this.RegisteredExternalClasses&&this.RegisteredExternalClasses[e])return this.RegisteredExternalClasses[e];let o=(0,r.GetClass)(e);if(o)return o;t.Logger.Warn(e+" not found, you may have missed an import.");let a=e.split("."),i="u">typeof window?window:"u">typeof globalThis?globalThis:this;for(let e=0,t=a.length;e<t;e++)i=i[a[e]];return"function"!=typeof i?null:i}}o.RegisteredExternalClasses={},e.s(["InstantiationTools",0,o])},65740,71265,e=>{"use strict";var t,r=e.i(99267),o=e.i(64545),a=e.i(13379);let i=(e,t,r)=>!e||e.getClassName&&"Mesh"===e.getClassName()?null:e.getClassName&&("SubMesh"===e.getClassName()||"PhysicsBody"===e.getClassName())?e.clone(t):e.clone?e.clone():Array.isArray(e)?e.slice():r&&"object"==typeof e?{...e}:null;class s{static DeepCopy(e,t,r,o,s=!1){for(let n of function(e){let t=[];do for(let r of Object.getOwnPropertyNames(e))-1===t.indexOf(r)&&t.push(r);while(e=Object.getPrototypeOf(e))return t}(e)){if("_"===n[0]&&(!o||-1===o.indexOf(n))||n.endsWith("Observable")||r&&-1!==r.indexOf(n))continue;let l=e[n],c=typeof l;if("function"!==c)try{if("object"===c)if(l instanceof Uint8Array)t[n]=Uint8Array.from(l);else if(l instanceof Array){if(t[n]=[],l.length>0)if("object"==typeof l[0])for(let e=0;e<l.length;e++){let r=i(l[e],t,s);-1===t[n].indexOf(r)&&t[n].push(r)}else t[n]=l.slice(0)}else t[n]=i(l,t,s);else t[n]=l}catch(e){a.Logger.Warn(e.message)}}}}e.s(["DeepCopier",0,s],71265);var n=e.i(36395),l=e.i(75405),c=e.i(65295),u=e.i(81623),f=e.i(46712),g=e.i(23240),d=e.i(98105),p=e.i(84768),h=e.i(68179);class v{static get BaseUrl(){return f.FileToolsOptions.BaseUrl}static set BaseUrl(e){f.FileToolsOptions.BaseUrl=e}static get CleanUrl(){return f.FileToolsOptions.CleanUrl}static set CleanUrl(e){f.FileToolsOptions.CleanUrl=e}static IsAbsoluteUrl(e){return 0===e.indexOf("//")||!(-1===e.indexOf("://")||-1===e.indexOf(".")||-1===e.indexOf("/")||e.indexOf(":")>e.indexOf("/"))&&(!!(e.indexOf("://")<e.indexOf("."))||0===e.indexOf("data:")||0===e.indexOf("blob:"))}static set ScriptBaseUrl(e){f.FileToolsOptions.ScriptBaseUrl=e}static get ScriptBaseUrl(){return f.FileToolsOptions.ScriptBaseUrl}static set CDNBaseUrl(e){t.ScriptBaseUrl=e,t.AssetBaseUrl=e}static set ScriptPreprocessUrl(e){f.FileToolsOptions.ScriptPreprocessUrl=e}static get ScriptPreprocessUrl(){return f.FileToolsOptions.ScriptPreprocessUrl}static get DefaultRetryStrategy(){return f.FileToolsOptions.DefaultRetryStrategy}static set DefaultRetryStrategy(e){f.FileToolsOptions.DefaultRetryStrategy=e}static get CorsBehavior(){return f.FileToolsOptions.CorsBehavior}static set CorsBehavior(e){f.FileToolsOptions.CorsBehavior=e}static get UseFallbackTexture(){return u.EngineStore.UseFallbackTexture}static set UseFallbackTexture(e){u.EngineStore.UseFallbackTexture=e}static get RegisteredExternalClasses(){return d.InstantiationTools.RegisteredExternalClasses}static set RegisteredExternalClasses(e){d.InstantiationTools.RegisteredExternalClasses=e}static get fallbackTexture(){return u.EngineStore.FallbackTexture}static set fallbackTexture(e){u.EngineStore.FallbackTexture=e}static FetchToRef(e,t,r,o,a,i){let s=((Math.abs(e)*r%r|0)+(Math.abs(t)*o%o|0)*r)*4;i.r=a[s]/255,i.g=a[s+1]/255,i.b=a[s+2]/255,i.a=a[s+3]/255}static Mix(e,t,r){return 0}static Instantiate(e){return d.InstantiationTools.Instantiate(e)}static SetImmediate(e){g.TimingTools.SetImmediate(e)}static IsExponentOfTwo(e){return!0}static FloatRound(e){return Math.fround(e)}static GetFilename(e){let t=e.lastIndexOf("/");return t<0?e:e.substring(t+1)}static GetFolderPath(e,t=!1){let r=e.lastIndexOf("/");return r<0?t?e:"":e.substring(0,r+1)}static ToDegrees(e){return 180*e/Math.PI}static ToRadians(e){return e*Math.PI/180}static SmoothAngleChange(e,t,r=.9){let o=this.ToRadians(e),a=this.ToRadians(t);return this.ToDegrees(Math.atan2((1-r)*Math.sin(a)+r*Math.sin(o),(1-r)*Math.cos(a)+r*Math.cos(o)))}static MakeArray(e,t){return!0!==t&&(void 0===e||null==e)?null:Array.isArray(e)?e:[e]}static GetPointerPrefix(e){return(0,o.IsWindowObjectExist)()&&!window.PointerEvent?"mouse":"pointer"}static SetCorsBehavior(e,t){(0,f.SetCorsBehavior)(e,t)}static SetReferrerPolicyBehavior(e,t){t.referrerPolicy=e}static get PreprocessUrl(){return f.FileToolsOptions.PreprocessUrl}static set PreprocessUrl(e){f.FileToolsOptions.PreprocessUrl=e}static LoadImage(e,t,r,o,a,i){return(0,f.LoadImage)(e,t,r,o,a,i)}static LoadFile(e,t,r,o,a,i){return(0,f.LoadFile)(e,t,r,o,a,i)}static async LoadFileAsync(e,t=!0){return await new Promise((r,o)=>{(0,f.LoadFile)(e,e=>{r(e)},void 0,void 0,t,(e,t)=>{o(t)})})}static GetAssetUrl(e){if(!e)return"";if(t.AssetBaseUrl&&e.startsWith(t._DefaultAssetsUrl)){let r=t.AssetBaseUrl.endsWith("/")?t.AssetBaseUrl.slice(0,-1):t.AssetBaseUrl;return e.replace(t._DefaultAssetsUrl,r)}return e}static GetBabylonScriptURL(e,r){if(!e)return"";if(e.startsWith(t._DefaultCdnUrl)){if(t.ScriptBaseUrl){let r=t.ScriptBaseUrl.endsWith("/")?t.ScriptBaseUrl.slice(0,-1):t.ScriptBaseUrl;e=e.replace(t._DefaultCdnUrl,r)}else if(t._CdnVersion){let r=`${t._DefaultCdnUrl}/v${t._CdnVersion}`;e.startsWith(r)||(e=e.replace(t._DefaultCdnUrl,r))}}return e=t.ScriptPreprocessUrl(e),r&&!t.IsAbsoluteUrl(e)&&(e=t.GetAbsoluteUrl(e)),e}static LoadBabylonScript(e,r,o,a){e=t.GetBabylonScriptURL(e),t.LoadScript(e,r,o)}static async LoadBabylonScriptAsync(e){return e=t.GetBabylonScriptURL(e),await t.LoadScriptAsync(e)}static _LoadScriptNative(e,r,o){_native&&t.LoadFile(e,e=>{try{Function(e).apply(null),r&&r()}catch(e){o&&o("LoadScript Error",e)}},void 0,void 0,!1,(e,t)=>{o&&o("LoadScript Error",t)})}static _LoadScriptWeb(e,t,r,a,i=!1){if("function"==typeof importScripts){try{importScripts(e),t&&t()}catch(t){r?.(`Unable to load script '${e}' in worker`,t)}return}if(!(0,o.IsWindowObjectExist)())return void r?.(`Cannot load script '${e}' outside of a window or a worker`);let s=document.getElementsByTagName("head")[0],n=document.createElement("script");i?(n.setAttribute("type","module"),n.innerText=e):(n.setAttribute("type","text/javascript"),n.setAttribute("src",e)),a&&(n.id=a),n.onload=()=>{t&&t()},n.onerror=t=>{r&&r(`Unable to load script '${e}'`,t)},s.appendChild(n)}static async LoadScriptAsync(e,t){return await new Promise((r,o)=>{this.LoadScript(e,()=>{r()},(e,t)=>{o(t||Error(e))},t)})}static ReadFileAsDataURL(e,t,o){let a=new FileReader,i={onCompleteObservable:new r.Observable,abort:()=>a.abort()};return a.onloadend=()=>{i.onCompleteObservable.notifyObservers(i)},a.onload=e=>{t(e.target.result)},a.onprogress=o,a.readAsDataURL(e),i}static ReadFile(e,t,r,o,a){return(0,f.ReadFile)(e,t,r,o,a)}static FileAsURL(e){let t=new Blob([e]);return window.URL.createObjectURL(t)}static Format(e,t=2){return e.toFixed(t)}static DeepCopy(e,t,r,o){s.DeepCopy(e,t,r,o)}static IsEmpty(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}static RegisterTopRootEvents(e,t){for(let r=0;r<t.length;r++){let o=t[r];e.addEventListener(o.name,o.handler,!1);try{window.parent&&window.parent.addEventListener(o.name,o.handler,!1)}catch(e){}}}static UnregisterTopRootEvents(e,t){for(let r=0;r<t.length;r++){let o=t[r];e.removeEventListener(o.name,o.handler);try{e.parent&&e.parent.removeEventListener(o.name,o.handler)}catch(e){}}}static async DumpFramebuffer(e,t,r,o,a="image/png",i,s){throw(0,l._WarnImport)("DumpTools")}static DumpData(e,t,r,o,a="image/png",i,s=!1,n=!1,c){throw(0,l._WarnImport)("DumpTools")}static async DumpDataAsync(e,t,r,o="image/png",a,i=!1,s=!1,n){throw(0,l._WarnImport)("DumpTools")}static _IsOffScreenCanvas(e){return void 0!==e.convertToBlob}static ToBlob(e,r,o="image/png",a){t._IsOffScreenCanvas(e)||e.toBlob||(e.toBlob=function(e,t,r){setTimeout(()=>{let o=atob(this.toDataURL(t,r).split(",")[1]),a=o.length,i=new Uint8Array(a);for(let e=0;e<a;e++)i[e]=o.charCodeAt(e);e(new Blob([i]))})}),t._IsOffScreenCanvas(e)?e.convertToBlob({type:o,quality:a}).then(e=>r(e)):e.toBlob(function(e){r(e)},o,a)}static DownloadBlob(e,r){if("download"in document.createElement("a")){if(!r){let e=new Date;r="screenshot_"+((e.getFullYear()+"-"+(e.getMonth()+1)).slice(2)+"-"+e.getDate()+"_"+e.getHours()+"-")+("0"+e.getMinutes()).slice(-2)+".png"}t.Download(e,r)}else if(e&&"u">typeof URL){let t=URL.createObjectURL(e),r=window.open("");if(!r)return;let o=r.document.createElement("img");o.onload=function(){URL.revokeObjectURL(t)},o.src=t,r.document.body.appendChild(o)}}static EncodeScreenshotCanvasData(e,r,o="image/png",a,i){if("string"!=typeof a&&r){if(r){if(t._IsOffScreenCanvas(e))return void e.convertToBlob({type:o,quality:i}).then(e=>{let t=new FileReader;t.readAsDataURL(e),t.onloadend=()=>{r(t.result)}});r(e.toDataURL(o,i))}}else this.ToBlob(e,function(e){e&&t.DownloadBlob(e,a),r&&r("")},o,i)}static Download(e,t){if("u"<typeof URL)return;let r=window.URL.createObjectURL(e),o=document.createElement("a");document.body.appendChild(o),o.style.display="none",o.href=r,o.download=t,o.addEventListener("click",()=>{o.parentElement&&o.parentElement.removeChild(o)}),o.click(),window.URL.revokeObjectURL(r)}static BackCompatCameraNoPreventDefault(e){return"boolean"==typeof e[0]?e[0]:"boolean"==typeof e[1]&&e[1]}static CreateScreenshot(e,t,r,o,a="image/png",i=!1,s){throw(0,l._WarnImport)("ScreenshotTools")}static async CreateScreenshotAsync(e,t,r,o="image/png",a){throw(0,l._WarnImport)("ScreenshotTools")}static CreateScreenshotUsingRenderTarget(e,t,r,o,a="image/png",i=1,s=!1,n,c=!1,u=!1,f=!0,g,d){throw(0,l._WarnImport)("ScreenshotTools")}static async CreateScreenshotUsingRenderTargetAsync(e,t,r,o="image/png",a=1,i=!1,s,n=!1,c=!1,u=!0,f,g){throw(0,l._WarnImport)("ScreenshotTools")}static RandomId(){return(0,p.RandomGUID)()}static IsBase64(e){return(0,f.IsBase64DataUrl)(e)}static DecodeBase64(e){return(0,f.DecodeBase64UrlToBinary)(e)}static get errorsCount(){return a.Logger.errorsCount}static Log(e){a.Logger.Log(e)}static Warn(e){a.Logger.Warn(e)}static Error(e){a.Logger.Error(e)}static get LogCache(){return a.Logger.LogCache}static ClearLogCache(){a.Logger.ClearLogCache()}static set LogLevels(e){a.Logger.LogLevels=e}static set PerformanceLogLevel(e){(e&t.PerformanceUserMarkLogLevel)===t.PerformanceUserMarkLogLevel?_native?.enablePerformanceLogging?(_native.enablePerformanceLogging(1),t.StartPerformanceCounter=t._StartMarkNative,t.EndPerformanceCounter=t._EndMarkNative):(t.StartPerformanceCounter=t._StartUserMark,t.EndPerformanceCounter=t._EndUserMark):(e&t.PerformanceConsoleLogLevel)===t.PerformanceConsoleLogLevel?_native?.enablePerformanceLogging?(_native.enablePerformanceLogging(2),t.StartPerformanceCounter=t._StartMarkNative,t.EndPerformanceCounter=t._EndMarkNative):(t.StartPerformanceCounter=t._StartPerformanceConsole,t.EndPerformanceCounter=t._EndPerformanceConsole):(t.StartPerformanceCounter=t._StartPerformanceCounterDisabled,t.EndPerformanceCounter=t._EndPerformanceCounterDisabled,_native?.disablePerformanceLogging?.())}static _StartPerformanceCounterDisabled(e,t){}static _EndPerformanceCounterDisabled(e,t){}static _StartUserMark(e,r=!0){if(!t._Performance){if(!(0,o.IsWindowObjectExist)())return;t._Performance=window.performance}r&&t._Performance.mark&&t._Performance.mark(e+"-Begin")}static _EndUserMark(e,r=!0){r&&t._Performance.mark&&(t._Performance.mark(e+"-End"),t._Performance.measure(e,e+"-Begin",e+"-End"))}static _StartPerformanceConsole(e,r=!0){r&&(t._StartUserMark(e,r),console.time&&console.time(e))}static _EndPerformanceConsole(e,r=!0){r&&(t._EndUserMark(e,r),console.timeEnd(e))}static _StartMarkNative(e,r=!0){if(r&&_native?.startPerformanceCounter)if(t._NativePerformanceCounterHandles.has(e))t.Warn(`Performance counter with name ${e} is already started.`);else{let r=_native.startPerformanceCounter(e);t._NativePerformanceCounterHandles.set(e,r)}}static _EndMarkNative(e,r=!0){if(r&&_native?.endPerformanceCounter){let r=t._NativePerformanceCounterHandles.get(e);r?(_native.endPerformanceCounter(r),t._NativePerformanceCounterHandles.delete(e)):t.Warn(`Performance counter with name ${e} was not started.`)}}static get Now(){return n.PrecisionDate.Now}static GetClassName(e,t=!1){let r=null;return!t&&e.getClassName?r=e.getClassName():(e instanceof Object&&(r=(t?e:Object.getPrototypeOf(e)).constructor.__bjsclassName__),r||(r=typeof e)),r}static First(e,t){for(let r of e)if(t(r))return r;return null}static getFullClassName(e,t=!1){let r=null,o=null;if(!t&&e.getClassName)r=e.getClassName();else{if(e instanceof Object){let a=t?e:Object.getPrototypeOf(e);r=a.constructor.__bjsclassName__,o=a.constructor.__bjsmoduleName__}r||(r=typeof e)}return r?(null!=o?o+".":"")+r:null}static async DelayAsync(e){await new Promise(t=>{setTimeout(()=>{t()},e)})}static IsSafari(){return!!(0,o.IsNavigatorAvailable)()&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}}t=v,v.AssetBaseUrl="",v.UseCustomRequestHeaders=!1,v.CustomRequestHeaders=c.WebRequest.CustomRequestHeaders,v.GetDOMTextContent=o.GetDOMTextContent,v._DefaultCdnUrl="https://cdn.babylonjs.com",v._CdnVersion="9.13.0",v._DefaultAssetsUrl="https://assets.babylonjs.com/core",v.LoadScript="u"<typeof _native?t._LoadScriptWeb:t._LoadScriptNative,v.GetAbsoluteUrl="object"==typeof document?e=>{let t=document.createElement("a");return t.href=e,t.href}:"function"==typeof URL&&"object"==typeof location?e=>new URL(e,location.origin).href:()=>{throw Error("Unable to get absolute URL. Override BABYLON.Tools.GetAbsoluteUrl to a custom implementation for the current context.")},v.NoneLogLevel=a.Logger.NoneLogLevel,v.MessageLogLevel=a.Logger.MessageLogLevel,v.WarningLogLevel=a.Logger.WarningLogLevel,v.ErrorLogLevel=a.Logger.ErrorLogLevel,v.AllLogLevel=a.Logger.AllLogLevel,v.IsWindowObjectExist=o.IsWindowObjectExist,v.PerformanceNoneLogLevel=0,v.PerformanceUserMarkLogLevel=1,v.PerformanceConsoleLogLevel=2,v._NativePerformanceCounterHandles=new Map,v.StartPerformanceCounter=t._StartPerformanceCounterDisabled,v.EndPerformanceCounter=t._EndPerformanceCounterDisabled;class m{constructor(e,t,r,o=0){this.iterations=e,this.index=o-1,this._done=!1,this._fn=t,this._successCallback=r}executeNext(){this._done||(this.index+1<this.iterations?(++this.index,this._fn(this)):this.breakLoop())}breakLoop(){this._done=!0,this._successCallback()}static Run(e,t,r,o=0){let a=new m(e,t,r,o);return a.executeNext(),a}static SyncAsyncForLoop(e,t,r,o,a,i=0){return m.Run(Math.ceil(e/t),o=>{a&&a()?o.breakLoop():setTimeout(()=>{for(let i=0;i<t;++i){let s=o.index*t+i;if(s>=e)break;if(r(s),a&&a()){o.breakLoop();break}}o.executeNext()},i)},o)}}let y=!1;e.s(["AsyncLoop",0,m,"RegisterTools",0,function(){y||(y=!0,v.Mix=h.Mix,v.IsExponentOfTwo=h.IsExponentOfTwo,u.EngineStore.FallbackTexture="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQubmV0IDQuMC41AP/bAEMABAIDAwMCBAMDAwQEBAQFCQYFBQUFCwgIBgkNCw0NDQsMDA4QFBEODxMPDAwSGBITFRYXFxcOERkbGRYaFBYXFv/bAEMBBAQEBQUFCgYGChYPDA8WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFv/AABEIAQABAAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APH6KKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76P//Z")},"Tools",0,v],65740)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12423,e=>{"use strict";class t{static GetShadersRepository(e=0){return 0===e?t.ShadersRepository:t.ShadersRepositoryWGSL}static GetShadersStore(e=0){return 0===e?t.ShadersStore:t.ShadersStoreWGSL}static GetIncludesShadersStore(e=0){return 0===e?t.IncludesShadersStore:t.IncludesShadersStoreWGSL}}t.ShadersRepository="src/Shaders/",t.ShadersStore={},t.IncludesShadersStore={},t.ShadersRepositoryWGSL="src/ShadersWGSL/",t.ShadersStoreWGSL={},t.IncludesShadersStoreWGSL={},e.s(["ShaderStore",0,t])},63132,471,e=>{"use strict";var t=e.i(35407),r=e.i(99267);e.s(["PostProcessManager",0,class{constructor(e){this._vertexBuffers={},this._activePostProcesses=[],this.onBeforeRenderObservable=new r.Observable,this._scene=e}_prepareBuffers(){if(this._vertexBuffers[t.VertexBuffer.PositionKind])return;let e=[];e.push(1,1),e.push(-1,1),e.push(-1,-1),e.push(1,-1),this._vertexBuffers[t.VertexBuffer.PositionKind]=new t.VertexBuffer(this._scene.getEngine(),e,t.VertexBuffer.PositionKind,!1,!1,2),this._buildIndexBuffer()}_buildIndexBuffer(){let e=[];e.push(0),e.push(1),e.push(2),e.push(0),e.push(2),e.push(3),this._indexBuffer=this._scene.getEngine().createIndexBuffer(e)}_getActivePostProcesses(e){let t=this._activePostProcesses;t.length=0;for(let r=0;r<e.length;r++){let s=e[r];s&&t.push(s)}return t}_rebuild(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e._rebuild(),this._buildIndexBuffer())}_prepareFrame(e=null,t=null){let r=this._scene.activeCamera;return!!r&&!!(t=t||this._getActivePostProcesses(r._postProcesses))&&0!==t.length&&!!this._scene.postProcessesEnabled&&(t[0].activate(r,e,null!=t),!0)}directRender(e,t=null,r=!1,s=0,n=0,a=!1,i=e.length){let o=this._scene.getEngine();for(let l=0;l<i;l++){l<e.length-1?e[l+1].activate(this._scene.activeCamera||this._scene,t?.texture):(t?o.bindFramebuffer(t,s,void 0,void 0,r,n):a||o.restoreDefaultFramebuffer(),o._debugInsertMarker?.(`post process ${e[l].name} output`));let i=e[l],h=i.apply();h&&(i.onBeforeRenderObservable.notifyObservers(h),this._prepareBuffers(),o.bindBuffers(this._vertexBuffers,this._indexBuffer,h),o.drawElementsType(0,0,6),i.onAfterRenderObservable.notifyObservers(h))}o.setDepthBuffer(!0),o.setDepthWrite(!0)}_finalizeFrame(e,t,r,s,n=!1){let a=this._scene.activeCamera;if(!a||(this.onBeforeRenderObservable.notifyObservers(this),0===(s=s||this._getActivePostProcesses(a._postProcesses)).length||!this._scene.postProcessesEnabled))return;let i=this._scene.getEngine();for(let o=0,l=s.length;o<l;o++){let h=s[o];if(o<l-1?h._outputTexture=s[o+1].activate(a,t?.texture):(t?(i.bindFramebuffer(t,r,void 0,void 0,n),h._outputTexture=t):(i.restoreDefaultFramebuffer(),h._outputTexture=null),i._debugInsertMarker?.(`post process ${s[o].name} output`)),e)break;let c=h.apply();c&&(h.onBeforeRenderObservable.notifyObservers(c),this._prepareBuffers(),i.bindBuffers(this._vertexBuffers,this._indexBuffer,c),i.drawElementsType(0,0,6),h.onAfterRenderObservable.notifyObservers(c))}i.setDepthBuffer(!0),i.setDepthWrite(!0),i.setAlphaMode(0)}dispose(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e.dispose(),this._vertexBuffers[t.VertexBuffer.PositionKind]=null),this._indexBuffer&&(this._scene.getEngine()._releaseBuffer(this._indexBuffer),this._indexBuffer=null)}}],63132);var s=e.i(45707),n=e.i(96265);class a{set opaqueSortCompareFn(e){e?this._opaqueSortCompareFn=e:this._opaqueSortCompareFn=a.PainterSortCompare,this._renderOpaque=this._renderOpaqueSorted}set alphaTestSortCompareFn(e){e?this._alphaTestSortCompareFn=e:this._alphaTestSortCompareFn=a.PainterSortCompare,this._renderAlphaTest=this._renderAlphaTestSorted}set transparentSortCompareFn(e){e?this._transparentSortCompareFn=e:this._transparentSortCompareFn=a.defaultTransparentSortCompare,this._renderTransparent=this._renderTransparentSorted}constructor(e,t,r=null,n=null,a=null){this.index=e,this._opaqueSubMeshes=new s.SmartArray(256),this._transparentSubMeshes=new s.SmartArray(256),this._alphaTestSubMeshes=new s.SmartArray(256),this._depthOnlySubMeshes=new s.SmartArray(256),this._particleSystems=new s.SmartArray(256),this._spriteManagers=new s.SmartArray(256),this._empty=!0,this._edgesRenderers=new s.SmartArrayNoDuplicate(16),this.disableDepthPrePass=!1,this._scene=t,this.opaqueSortCompareFn=r,this.alphaTestSortCompareFn=n,this.transparentSortCompareFn=a}render(e,t,r,s,n=!0,a=!0,i=!0,o=!0,l){if(e)return void e(this._opaqueSubMeshes,this._alphaTestSubMeshes,this._transparentSubMeshes,this._depthOnlySubMeshes);let h=this._scene.getEngine();n&&0!==this._depthOnlySubMeshes.length&&(h.setColorWrite(!1),this._renderAlphaTest(this._depthOnlySubMeshes),h.setColorWrite(!0)),a&&0!==this._opaqueSubMeshes.length&&this._renderOpaque(this._opaqueSubMeshes),i&&0!==this._alphaTestSubMeshes.length&&this._renderAlphaTest(this._alphaTestSubMeshes);let c=h.getStencilBuffer();if(h.setStencilBuffer(!1),t&&this._renderSprites(),r&&this._renderParticles(s),this.onBeforeTransparentRendering&&this.onBeforeTransparentRendering(),o&&(l||0!==this._transparentSubMeshes.length||this._scene.useOrderIndependentTransparency)){if(h.setStencilBuffer(c),l)l(this._transparentSubMeshes,this);else if(this._scene.useOrderIndependentTransparency){let e=this._scene.depthPeelingRenderer.render(this._transparentSubMeshes);e.length&&this._renderTransparent(e)}else this._renderTransparent(this._transparentSubMeshes);h.setAlphaMode(0)}if(h.setStencilBuffer(!1),a&&this._edgesRenderers.length){for(let e=0;e<this._edgesRenderers.length;e++)this._edgesRenderers.data[e].render();h.setAlphaMode(0)}h.setStencilBuffer(c)}_renderOpaqueSorted(e){a._RenderSorted(e,this._opaqueSortCompareFn,this._scene.activeCamera,!1,this.disableDepthPrePass)}_renderAlphaTestSorted(e){a._RenderSorted(e,this._alphaTestSortCompareFn,this._scene.activeCamera,!1,this.disableDepthPrePass)}_renderTransparentSorted(e){a._RenderSorted(e,this._transparentSortCompareFn,this._scene.activeCamera,!0,this.disableDepthPrePass)}static _RenderSorted(e,t,r,s,i){let o,l=0,h=r?r.globalPosition:a._ZeroVector;if(s)for(;l<e.length;l++)(o=e.data[l])._alphaIndex=o.getMesh().alphaIndex,o._distanceToCamera=n.Vector3.Distance(o.getBoundingInfo().boundingSphere.centerWorld,h);let c=e.length===e.data.length?e.data:e.data.slice(0,e.length);t&&c.sort(t);let d=c[0].getMesh().getScene();for(l=0;l<c.length;l++)if(o=c[l],!d._activeMeshesFrozenButKeepClipping||o.isInFrustum(d._frustumPlanes)){if(s){let e=o.getMaterial();if(e&&e.needDepthPrePass&&!i){let t=e.getScene().getEngine();t.setColorWrite(!1),t.setAlphaMode(0),o.render(!1),t.setColorWrite(!0)}}o.render(s)}}static defaultTransparentSortCompare(e,t){return e._alphaIndex>t._alphaIndex?1:e._alphaIndex<t._alphaIndex?-1:a.backToFrontSortCompare(e,t)}static backToFrontSortCompare(e,t){return e._distanceToCamera<t._distanceToCamera?1:e._distanceToCamera>t._distanceToCamera?-1:0}static frontToBackSortCompare(e,t){return e._distanceToCamera<t._distanceToCamera?-1:+(e._distanceToCamera>t._distanceToCamera)}static PainterSortCompare(e,t){let r=e.getMesh(),s=t.getMesh();return r.material&&s.material?r.material.uniqueId-s.material.uniqueId:r.uniqueId-s.uniqueId}prepare(){this._opaqueSubMeshes.reset(),this._transparentSubMeshes.reset(),this._alphaTestSubMeshes.reset(),this._depthOnlySubMeshes.reset(),this._particleSystems.reset(),this.prepareSprites(),this._edgesRenderers.reset(),this._empty=!0}prepareSprites(){this._spriteManagers.reset()}dispose(){this._opaqueSubMeshes.dispose(),this._transparentSubMeshes.dispose(),this._alphaTestSubMeshes.dispose(),this._depthOnlySubMeshes.dispose(),this._particleSystems.dispose(),this._spriteManagers.dispose(),this._edgesRenderers.dispose()}dispatch(e,t,r){void 0===t&&(t=e.getMesh()),void 0===r&&(r=e.getMaterial()),null!=r&&(r.needAlphaBlendingForMesh(t)?this._transparentSubMeshes.push(e):r.needAlphaTestingForMesh(t)?(r.needDepthPrePass&&!this.disableDepthPrePass&&this._depthOnlySubMeshes.push(e),this._alphaTestSubMeshes.push(e)):(r.needDepthPrePass&&!this.disableDepthPrePass&&this._depthOnlySubMeshes.push(e),this._opaqueSubMeshes.push(e)),t._renderingGroup=this,t._edgesRenderer&&t.isEnabled()&&t.isVisible&&t._edgesRenderer.isEnabled&&this._edgesRenderers.pushNoDuplicate(t._edgesRenderer),this._empty=!1)}dispatchSprites(e){this._spriteManagers.push(e),this._empty=!1}dispatchParticles(e){this._particleSystems.push(e),this._empty=!1}_renderParticles(e){if(0===this._particleSystems.length)return;let t=this._scene.activeCamera;this._scene.onBeforeParticlesRenderingObservable.notifyObservers(this._scene);for(let r=0;r<this._particleSystems.length;r++){let s=this._particleSystems.data[r];if(0===(t&&t.layerMask&s.layerMask))continue;let n=s.emitter;n.position&&e&&-1===e.indexOf(n)||this._scene._activeParticles.addCount(s.render(),!1)}this._scene.onAfterParticlesRenderingObservable.notifyObservers(this._scene)}_renderSprites(){if(!this._scene.spritesEnabled||0===this._spriteManagers.length)return;let e=this._scene.activeCamera;this._scene.onBeforeSpritesRenderingObservable.notifyObservers(this._scene);for(let t=0;t<this._spriteManagers.length;t++){let r=this._spriteManagers.data[t];0!==(e&&e.layerMask&r.layerMask)&&r.render()}this._scene.onAfterSpritesRenderingObservable.notifyObservers(this._scene)}}a._ZeroVector=n.Vector3.Zero();class i{}class o{get disableDepthPrePass(){return this._disableDepthPrePass}set disableDepthPrePass(e){for(let t of(this._disableDepthPrePass=e,this._renderingGroups))t.disableDepthPrePass=e}get maintainStateBetweenFrames(){return this._maintainStateBetweenFrames}set maintainStateBetweenFrames(e){e!==this._maintainStateBetweenFrames&&(this._maintainStateBetweenFrames=e,this._maintainStateBetweenFrames||this.restoreDispachedFlags())}restoreDispachedFlags(){for(let e of this._scene.meshes)if(e.subMeshes)for(let t of e.subMeshes)t._wasDispatched=!1;if(this._scene.spriteManagers)for(let e of this._scene.spriteManagers)e._wasDispatched=!1;for(let e of this._scene.particleSystems)e._wasDispatched=!1}constructor(e){this._useSceneAutoClearSetup=!1,this._disableDepthPrePass=!1,this._renderingGroups=[],this._autoClearDepthStencil={},this._customOpaqueSortCompareFn={},this._customAlphaTestSortCompareFn={},this._customTransparentSortCompareFn={},this._renderingGroupInfo=new i,this._maintainStateBetweenFrames=!1,this._scene=e;for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++)this._autoClearDepthStencil[e]={autoClear:!0,depth:!0,stencil:!0}}get renderingGroups(){return this._renderingGroups}getRenderingGroup(e){let t=e||0;return this._prepareRenderingGroup(t),this._renderingGroups[t]}_clearDepthStencilBuffer(e=!0,t=!0){this._depthStencilBufferAlreadyCleaned||(this._scene.getEngine().clear(null,!1,e,t),this._depthStencilBufferAlreadyCleaned=!0)}render(e,t,r,s,n=!0,a=!0,i=!0,l=!0,h){let c=this._renderingGroupInfo;if(c.scene=this._scene,c.camera=this._scene.activeCamera,c.renderingManager=this,this._scene.spriteManagers&&s)for(let e=0;e<this._scene.spriteManagers.length;e++){let t=this._scene.spriteManagers[e];this.dispatchSprites(t)}for(let d=o.MIN_RENDERINGGROUPS;d<o.MAX_RENDERINGGROUPS;d++){this._depthStencilBufferAlreadyCleaned=d===o.MIN_RENDERINGGROUPS;let u=this._renderingGroups[d];if(!u||u._empty)continue;let p=1<<d;if(c.renderingGroupId=d,this._scene.onBeforeRenderingGroupObservable.notifyObservers(c,p),o.AUTOCLEAR){let e=this._useSceneAutoClearSetup?this._scene.getAutoClearDepthStencilSetup(d):this._autoClearDepthStencil[d];e&&e.autoClear&&this._clearDepthStencilBuffer(e.depth,e.stencil)}for(let e of this._scene._beforeRenderingGroupDrawStage)e.action(d);for(let o of(u.render(e,s,r,t,n,a,i,l,h),this._scene._afterRenderingGroupDrawStage))o.action(d);this._scene.onAfterRenderingGroupObservable.notifyObservers(c,p)}}reset(){if(!this.maintainStateBetweenFrames)for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.prepare()}}resetSprites(){if(!this.maintainStateBetweenFrames)for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.prepareSprites()}}dispose(){this.freeRenderingGroups(),this._renderingGroups.length=0,this._renderingGroupInfo=null}freeRenderingGroups(){for(let e=o.MIN_RENDERINGGROUPS;e<o.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.dispose()}}_prepareRenderingGroup(e){void 0===this._renderingGroups[e]&&(this._renderingGroups[e]=new a(e,this._scene,this._customOpaqueSortCompareFn[e],this._customAlphaTestSortCompareFn[e],this._customTransparentSortCompareFn[e]),this._renderingGroups[e].disableDepthPrePass=this._disableDepthPrePass)}dispatchSprites(e){this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(e.renderingGroupId).dispatchSprites(e))}dispatchParticles(e){this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(e.renderingGroupId).dispatchParticles(e))}dispatch(e,t,r){void 0===t&&(t=e.getMesh()),this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(t.renderingGroupId).dispatch(e,t,r))}setRenderingOrder(e,t=null,r=null,s=null){if(this._customOpaqueSortCompareFn[e]=t,this._customAlphaTestSortCompareFn[e]=r,this._customTransparentSortCompareFn[e]=s,this._renderingGroups[e]){let t=this._renderingGroups[e];t.opaqueSortCompareFn=this._customOpaqueSortCompareFn[e],t.alphaTestSortCompareFn=this._customAlphaTestSortCompareFn[e],t.transparentSortCompareFn=this._customTransparentSortCompareFn[e]}}setRenderingAutoClearDepthStencil(e,t,r=!0,s=!0){this._autoClearDepthStencil[e]={autoClear:t,depth:r,stencil:s}}getAutoClearDepthStencilSetup(e){return this._autoClearDepthStencil[e]}}o.MAX_RENDERINGGROUPS=4,o.MIN_RENDERINGGROUPS=0,o.AUTOCLEAR=!0,e.s(["RenderingManager",0,o],471)},67359,e=>{"use strict";var t=e.i(36395);class r{get min(){return this._min}get max(){return this._max}get average(){return this._average}get lastSecAverage(){return this._lastSecAverage}get current(){return this._current}get total(){return this._totalAccumulated}get count(){return this._totalValueCount}constructor(){this._startMonitoringTime=0,this._min=0,this._max=0,this._average=0,this._lastSecAverage=0,this._current=0,this._totalValueCount=0,this._totalAccumulated=0,this._lastSecAccumulated=0,this._lastSecTime=0,this._lastSecValueCount=0}fetchNewFrame(){this._totalValueCount++,this._current=0,this._lastSecValueCount++}addCount(e,t){r.Enabled&&(this._current+=e,t&&this._fetchResult())}beginMonitoring(){r.Enabled&&(this._startMonitoringTime=t.PrecisionDate.Now)}endMonitoring(e=!0){if(!r.Enabled)return;e&&this.fetchNewFrame();let s=t.PrecisionDate.Now;this._current=s-this._startMonitoringTime,e&&this._fetchResult()}endFrame(){this._fetchResult()}_fetchResult(){this._totalAccumulated+=this._current,this._lastSecAccumulated+=this._current,this._min=Math.min(this._min,this._current),this._max=Math.max(this._max,this._current),this._average=this._totalAccumulated/this._totalValueCount;let e=t.PrecisionDate.Now;e-this._lastSecTime>1e3&&(this._lastSecAverage=this._lastSecAccumulated/this._lastSecValueCount,this._lastSecTime=e,this._lastSecAccumulated=0,this._lastSecValueCount=0)}}r.Enabled=!0,e.s(["PerfCounter",0,r])},85531,e=>{"use strict";var t=e.i(65002);class r{static GetPlanes(e){let s=[];for(let e=0;e<6;e++)s.push(new t.Plane(0,0,0,0));return r.GetPlanesToRef(e,s),s}static GetNearPlaneToRef(e,t){let r=e.m;t.normal.x=r[3]+r[2],t.normal.y=r[7]+r[6],t.normal.z=r[11]+r[10],t.d=r[15]+r[14],t.normalize()}static GetFarPlaneToRef(e,t){let r=e.m;t.normal.x=r[3]-r[2],t.normal.y=r[7]-r[6],t.normal.z=r[11]-r[10],t.d=r[15]-r[14],t.normalize()}static GetLeftPlaneToRef(e,t){let r=e.m;t.normal.x=r[3]+r[0],t.normal.y=r[7]+r[4],t.normal.z=r[11]+r[8],t.d=r[15]+r[12],t.normalize()}static GetRightPlaneToRef(e,t){let r=e.m;t.normal.x=r[3]-r[0],t.normal.y=r[7]-r[4],t.normal.z=r[11]-r[8],t.d=r[15]-r[12],t.normalize()}static GetTopPlaneToRef(e,t){let r=e.m;t.normal.x=r[3]-r[1],t.normal.y=r[7]-r[5],t.normal.z=r[11]-r[9],t.d=r[15]-r[13],t.normalize()}static GetBottomPlaneToRef(e,t){let r=e.m;t.normal.x=r[3]+r[1],t.normal.y=r[7]+r[5],t.normal.z=r[11]+r[9],t.d=r[15]+r[13],t.normalize()}static GetPlanesToRef(e,t){r.GetNearPlaneToRef(e,t[0]),r.GetFarPlaneToRef(e,t[1]),r.GetLeftPlaneToRef(e,t[2]),r.GetRightPlaneToRef(e,t[3]),r.GetTopPlaneToRef(e,t[4]),r.GetBottomPlaneToRef(e,t[5])}static IsPointInFrustum(e,t){for(let r=0;r<6;r++)if(0>t[r].dotCoordinate(e))return!1;return!0}}e.s(["Frustum",0,r])},50107,e=>{"use strict";var t=e.i(96265),r=e.i(35407);e.s(["PickingInfo",0,class{constructor(){this.hit=!1,this.distance=0,this.pickedPoint=null,this.pickedMesh=null,this.bu=0,this.bv=0,this.faceId=-1,this.subMeshFaceId=-1,this.subMeshId=0,this.pickedSprite=null,this.thinInstanceIndex=-1,this.ray=null,this.originMesh=null,this.aimTransform=null,this.gripTransform=null}getNormal(e=!1,s=!0){let n;if(!this.pickedMesh||s&&!this.pickedMesh.isVerticesDataPresent(r.VertexBuffer.NormalKind))return null;let a=this.pickedMesh.getIndices();a?.length===0&&(a=null);let i=t.TmpVectors.Vector3[0],o=t.TmpVectors.Vector3[1],l=t.TmpVectors.Vector3[2];if(s){let e=this.pickedMesh.getVerticesData(r.VertexBuffer.NormalKind),s=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId],i):i.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),h=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+1],o):o.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),c=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+2],l):l.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]);s=s.scale(this.bu),h=h.scale(this.bv),c=c.scale(1-this.bu-this.bv),n=new t.Vector3(s.x+h.x+c.x,s.y+h.y+c.y,s.z+h.z+c.z)}else{let e=this.pickedMesh.getVerticesData(r.VertexBuffer.PositionKind),s=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId],i):i.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),h=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+1],o):o.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),c=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+2],l):l.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]),d=s.subtract(h),u=c.subtract(h);n=t.Vector3.Cross(d,u)}let h=(e,r)=>{if(-1!==this.thinInstanceIndex){let s=e._thinInstanceDataStorage.matrixData,n=this.thinInstanceIndex<<4;if(s&&s.length>n){let e=t.TmpVectors.Matrix[0];t.Matrix.FromArrayToRef(s,n,e),t.Vector3.TransformNormalToRef(r,e,r)}}let s=e.getWorldMatrix();e.nonUniformScaling&&(t.TmpVectors.Matrix[0].copyFrom(s),(s=t.TmpVectors.Matrix[0]).setTranslationFromFloats(0,0,0),s.invert(),s.transposeToRef(t.TmpVectors.Matrix[1]),s=t.TmpVectors.Matrix[1]),t.Vector3.TransformNormalToRef(r,s,r)};if(e&&h(this.pickedMesh,n),this.ray){let r=t.TmpVectors.Vector3[0].copyFrom(n);e||h(this.pickedMesh,r),t.Vector3.Dot(r,this.ray.direction)>0&&n.negateInPlace()}return n.normalize(),n}getTextureCoordinates(e=r.VertexBuffer.UVKind){if(!this.pickedMesh||!this.pickedMesh.isVerticesDataPresent(e))return null;let s=this.pickedMesh.getIndices();if(!s)return null;let n=this.pickedMesh.getVerticesData(e);if(!n)return null;let a=t.Vector2.FromArray(n,2*s[3*this.faceId]),i=t.Vector2.FromArray(n,2*s[3*this.faceId+1]),o=t.Vector2.FromArray(n,2*s[3*this.faceId+2]);return a=a.scale(this.bu),i=i.scale(this.bv),o=o.scale(1-this.bu-this.bv),new t.Vector2(a.x+i.x+o.x,a.y+i.y+o.y)}}])},21222,e=>{"use strict";var t=e.i(96265);class r{}r.POINTERDOWN=1,r.POINTERUP=2,r.POINTERMOVE=4,r.POINTERWHEEL=8,r.POINTERPICK=16,r.POINTERTAP=32,r.POINTERDOUBLETAP=64;class s{constructor(e,t){this.type=e,this.event=t}}e.s(["PointerEventTypes",0,r,"PointerInfo",0,class extends s{get pickInfo(){return this._pickInfo||this._generatePickInfo(),this._pickInfo}constructor(e,t,r,s=null){super(e,t),this._pickInfo=r,this._inputManager=s}_generatePickInfo(){this._inputManager&&(this._pickInfo=this._inputManager._pickMove(this.event),this._inputManager._setRayOnPointerInfo(this._pickInfo,this.event),this._inputManager=null)}},"PointerInfoPre",0,class extends s{constructor(e,r,s,n){super(e,r),this.ray=null,this.originalPickingInfo=null,this.skipOnPointerObservable=!1,this.localPosition=new t.Vector2(s,n)}}])},36365,e=>{"use strict";class t{}t.KEYDOWN=1,t.KEYUP=2;class r{constructor(e,t){this.type=e,this.event=t}}e.s(["KeyboardEventTypes",0,t,"KeyboardInfo",0,r,"KeyboardInfoPre",0,class extends r{get skipOnPointerObservable(){return this.skipOnKeyboardObservable}set skipOnPointerObservable(e){this.skipOnKeyboardObservable=e}constructor(e,t){super(e,t),this.type=e,this.event=t,this.skipOnKeyboardObservable=!1}}])},76696,e=>{"use strict";var t,r;(r=t||(t={}))[r.PointerMove=0]="PointerMove",r[r.PointerDown=1]="PointerDown",r[r.PointerUp=2]="PointerUp";class s{}s.DOM_DELTA_PIXEL=0,s.DOM_DELTA_LINE=1,s.DOM_DELTA_PAGE=2,e.s(["EventConstants",0,s])},45334,e=>{"use strict";class t{static get ForceFullSceneLoadingForIncremental(){return t._ForceFullSceneLoadingForIncremental}static set ForceFullSceneLoadingForIncremental(e){t._ForceFullSceneLoadingForIncremental=e}static get ShowLoadingScreen(){return t._ShowLoadingScreen}static set ShowLoadingScreen(e){t._ShowLoadingScreen=e}static get loggingLevel(){return t._LoggingLevel}static set loggingLevel(e){t._LoggingLevel=e}static get CleanBoneMatrixWeights(){return t._CleanBoneMatrixWeights}static set CleanBoneMatrixWeights(e){t._CleanBoneMatrixWeights=e}}t._ForceFullSceneLoadingForIncremental=!1,t._ShowLoadingScreen=!0,t._CleanBoneMatrixWeights=!1,t._LoggingLevel=0,e.s(["SceneLoaderFlags",0,t])},19114,e=>{"use strict";var t,r,s=e.i(65740),n=e.i(99267),a=e.i(66749),i=e.i(81623),o=e.i(13379),l=e.i(45334),h=e.i(46712),c=e.i(92605),d=e.i(84768),u=e.i(76535),p=e.i(65295);async function f(e,t){let r=t.method||"GET";return await new Promise((s,n)=>{let a=new p.WebRequest;a.addEventListener("readystatechange",()=>{if(4==a.readyState)if(200==a.status){let e={};if(t.responseHeaders)for(let r of t.responseHeaders)e[r]=a.getResponseHeader(r)||"";s({response:a.response,headerValues:e})}else n(`Unable to fetch data from ${e}. Error code: ${a.status}`)}),a.open(r,e),a.send()})}(t=r||(r={}))[t.Clean=0]="Clean",t[t.Stop=1]="Stop",t[t.Sync=2]="Sync",t[t.NoSync=3]="NoSync";let g=new n.Observable,_={},m=!1;function S(){return _[".babylon"]}function b(e,t){let r=_[e];return r||(o.Logger.Warn("Unable to find a plugin to load "+e+" files. Trying to use .babylon default plugin. To load from a specific filetype (eg. gltf) see: https://doc.babylonjs.com/features/featuresDeepDive/importers/loadingFileTypes"),t?S():void 0)}function y(e,t,r){let s,n=(s="Unable to load from "+(e.rawData?"binary data":e.url),t?s+=`: ${t}`:r&&(s+=`: ${r}`),s);return new c.RuntimeError(n,c.ErrorCodes.SceneLoaderError,r)}function P(e){return e instanceof Error?e.message:String(e)}function v(e,t){return t instanceof c.RuntimeError&&t.errorCode===c.ErrorCodes.SceneLoaderError?t:y(e,P(t),t)}function I(e,t){if(!(e.importMesh||e.load||e.loadAssetContainer))return e;let r=e=>{let r,s=e((e,t)=>{r={message:e,exception:t}});if(!s)throw y(t,r?.message,r?.exception);return s};return{name:e.name,extensions:e.extensions,importMeshAsync:async(t,s,n,a)=>{let i=[],o=[],l=[];return r(r=>e.importMesh(t,s,n,a,i,o,l,r)),{meshes:i,particleSystems:o,skeletons:l,animationGroups:[],transformNodes:[],geometries:[],lights:[],spriteManagers:[]}},loadAsync:async(t,s,n)=>{r(r=>e.load(t,s,n,r))},loadAssetContainerAsync:async(t,s,n)=>r(r=>e.loadAssetContainer(t,s,n,r))}}function M(e,t,r){let s=P(r);e&&t?e(t,s,r):o.Logger.Error(s)}function R(e){if(e)return t=>{try{e(t)}catch(e){o.Logger.Warn("Error in onProgress callback: "+P(e))}}}async function F(e,t,r,s,n,a){var i,o;let l,c,d,p="data:"===(i=e.url).substring(0,5)?i.substring(5):null;if(e.rawData&&!s)throw Error("When using ArrayBufferView to load data the file extension must be provided.");let m=p||s?"":(-1!==(c=(o=e.url).indexOf("?"))&&(o=o.substring(0,c)),d=o.lastIndexOf("."),o.substring(d,o.length).toLowerCase()),P=s?b(s,!0):p?function(e){for(let t in _){let r=_[t].plugin;if(r.canDirectLoad&&r.canDirectLoad(e))return _[t]}return S()}(e.url):b(m,!1);if(!P&&m){if(e.url&&!e.url.startsWith("blob:")){let t=await f(e.url,{method:"HEAD",responseHeaders:["Content-Type"]}),r=t.headerValues?t.headerValues["Content-Type"]:"";r&&(P=function(e){for(let t in _){let r=_[t];if(r.mimeType===e)return r}}(r))}P||(P=S())}if(!P)throw Error(`No plugin or fallback for ${s??e.url}`);if(a?.[P.plugin.name]?.enabled===!1)throw Error(`The '${P.plugin.name}' plugin is disabled via the loader options passed to the loading operation.`);if(e.rawData&&!P.isBinary)throw Error("Loading from ArrayBufferView can not be used with plugins that don't support binary loading.");if(P.plugin.createPlugin){let t=P.plugin;try{let e=t.createPlugin(a??{});l=e instanceof Promise?await e:e}catch(t){throw y(e,"Error instantiating plugin.",t)}}else l=P.plugin;if(!l)throw Error(`The loader plugin corresponding to the '${s}' file type has not been found. If using es6, please import the plugin you wish to use before.`);if(g.notifyObservers(l),p&&(l.canDirectLoad&&l.canDirectLoad(e.url)||!(0,h.IsBase64DataUrl)(e.url))){if(l.directLoad){let r;try{r=await l.directLoad(t,p)}catch(t){throw y(e,"Error in directLoad of _loadData: "+t,t)}return{plugin:l,data:r}}return{plugin:l,data:p}}let v=P.isBinary;return await new Promise((s,a)=>{let i=null,o=!1,h=l.onDisposeObservable?.add(()=>{o=!0,i&&(i.abort(),i=null),d(y(e,"Loading was aborted because the plugin was disposed."))}),c=()=>{h&&l.onDisposeObservable?.remove(h)},d=e=>{c(),a(e)},p=(r,n)=>{var a;t.isDisposed?d(y(e,"Scene has been disposed")):(a={plugin:l,data:r,responseURL:n},c(),s(a))},f=()=>{if(o)return;let s=(t,r)=>{d(y(e,t?.statusText,r))};if(!l.loadFile&&e.rawData)return void d(y(e,"Plugin does not support loading ArrayBufferView."));try{i=l.loadFile?l.loadFile(t,e.rawData||e.file||e.url,e.rootUrl,p,r,v,s,n):t._loadFile(e.file||e.url,p,r,!0,v,s)}catch(t){d(y(e,void 0,t))}},g=t.getEngine(),_=!e.file&&!e.rawData&&g.enableOfflineSupport;if(_){let r=!1;for(let s of t.disableOfflineSupportExceptionRules)if(s.test(e.url)){r=!0;break}_=!r}if(_&&u.AbstractEngine.OfflineProviderFactory)try{t.offlineProvider=u.AbstractEngine.OfflineProviderFactory(e.url,f,g.disableManifestCheck)}catch(t){d(y(e,void 0,t))}else f()})}function C(e,t){let r,n,a=null,i=null;if(t)if(t.name)r=`file:${t.name}`,n=t.name,a=t;else if(ArrayBuffer.isView(t))r="",n=(0,d.RandomGUID)(),i=t;else if(t.startsWith("data:"))r=t,n="";else if(e){if("/"===t.substring(0,1))return s.Tools.Error("Wrong sceneFilename parameter"),null;r=e+t,n=t}else r=t,n=s.Tools.GetFilename(t),e=s.Tools.GetFolderPath(t);else r=e,n=s.Tools.GetFilename(e),e=s.Tools.GetFolderPath(e);return{url:r,rootUrl:e,name:n,file:a,rawData:i}}function T(e){if("string"==typeof e.extensions)_[e.extensions.toLowerCase()]={plugin:e,isBinary:!1};else{let t=e.extensions;for(let r of Object.keys(t))_[r.toLowerCase()]={plugin:e,isBinary:t[r].isBinary,mimeType:t[r].mimeType}}}async function w(e,t,r="",s=i.EngineStore.LastCreatedScene,n,a,o="",l={}){if(!s)throw Error("No scene available to import mesh to");let h=C(t,r);if(!h)throw Error("Cannot load file: a valid scene filename or root url was not provided.");let c={};s.addPendingData(c);let d=R(n);try{let t,{plugin:r,data:n,responseURL:i}=await F(h,s,d,a??null,o,l);r.rewriteRootURL&&(h.rootUrl=r.rewriteRootURL(h.rootUrl,i));try{t=await I(r,h).importMeshAsync(e,s,n,h.rootUrl,d,h.name)}catch(e){throw v(h,e)}return s.loadingPluginName=r.name,s.importedMeshesFiles.push(h.url),t}finally{s.removePendingData(c)}}async function A(e,t="",r=i.EngineStore.LastCreatedEngine,s,n,o="",l={}){if(!r)throw Error("No engine available");let h=new a.Scene(r);try{await E(e,t,h,s,n,o,l)}catch(e){throw h.dispose(),e}return h}async function E(e,t="",r=i.EngineStore.LastCreatedScene,s,n,a="",o={}){if(!r)throw Error("No scene available to append to");let h=C(e,t);if(!h)throw Error("Cannot load file: a valid scene filename or root url was not provided.");let c={};r.addPendingData(c),l.SceneLoaderFlags.ShowLoadingScreen&&!m&&(m=!0,r.getEngine().displayLoadingUI(),r.executeWhenReady(()=>{r.getEngine().hideLoadingUI(),m=!1}));let d=R(s);try{let{plugin:e,data:t}=await F(h,r,d,n??null,a,o);try{await I(e,h).loadAsync(r,t,h.rootUrl,d,h.name)}catch(e){throw v(h,e)}return r.loadingPluginName=e.name,r}finally{r.removePendingData(c)}}async function G(e,t="",r=i.EngineStore.LastCreatedScene,s,n,a="",o={}){if(!r)throw Error("No scene available to load asset container to");let l=C(e,t);if(!l)throw Error("Cannot load file: a valid scene filename or root url was not provided.");let h={};r.addPendingData(h);let c=R(s);try{let e,{plugin:t,data:s}=await F(l,r,c,n??null,a,o),i=I(t,l);if(!i.loadAssetContainerAsync)throw y(l,"LoadAssetContainer is not supported by this plugin. Plugin did not provide a loadAssetContainer or loadAssetContainerAsync method.");try{e=await i.loadAssetContainerAsync(r,s,l.rootUrl,c,l.name)}catch(e){throw v(l,e)}return e.populateRootNodes(),r.loadingPluginName=t.name,e}finally{r.removePendingData(h)}}async function D(e,t,r){let{rootUrl:s="",onProgress:n,pluginExtension:a,name:i,pluginOptions:o}=r??{};return await G(s,e,t,n,a,i,o)}async function O(e,t="",r=i.EngineStore.LastCreatedScene,s=!0,n=0,a=null,o,l,h="",c={}){if(!r)throw Error("No scene available to load animations to");if(s){for(let e of r.animatables)e.reset();for(let e of(r.stopAllAnimations(),r.animationGroups.slice()))e.dispose();for(let e of r.getNodes())e.animations&&(e.animations=[])}else switch(n){case 0:for(let e of r.animationGroups.slice())e.dispose();break;case 1:for(let e of r.animationGroups)e.stop();break;case 2:for(let e of r.animationGroups)e.reset(),e.restart();break;case 3:break;default:throw Error("Unknown animation group loading mode value '"+n+"'")}let d=r.animatables.length,u=await G(e,t,r,o,l,h,c);u.mergeAnimationsTo(r,r.animatables.slice(d),a),u.dispose(),r.onAnimationFileImportedObservable.notifyObservers(r)}class L{static get ForceFullSceneLoadingForIncremental(){return l.SceneLoaderFlags.ForceFullSceneLoadingForIncremental}static set ForceFullSceneLoadingForIncremental(e){l.SceneLoaderFlags.ForceFullSceneLoadingForIncremental=e}static get ShowLoadingScreen(){return l.SceneLoaderFlags.ShowLoadingScreen}static set ShowLoadingScreen(e){l.SceneLoaderFlags.ShowLoadingScreen=e}static get loggingLevel(){return l.SceneLoaderFlags.loggingLevel}static set loggingLevel(e){l.SceneLoaderFlags.loggingLevel=e}static get CleanBoneMatrixWeights(){return l.SceneLoaderFlags.CleanBoneMatrixWeights}static set CleanBoneMatrixWeights(e){l.SceneLoaderFlags.CleanBoneMatrixWeights=e}static GetDefaultPlugin(){return S()}static GetPluginForExtension(e){return b(e,!0)?.plugin}static IsPluginForExtensionAvailable(e){return!!_[e]}static RegisterPlugin(e){T(e)}static ImportMesh(e,t,r,s,n,a,o,l,h,c){let d=s??i.EngineStore.LastCreatedScene;(async()=>{try{let i=await w(e,t,r,s,a,l,h,c);n?.(i.meshes,i.particleSystems,i.skeletons,i.animationGroups,i.transformNodes,i.geometries,i.lights,i.spriteManagers)}catch(e){M(o,d,e)}})()}static async ImportMeshAsync(e,t,r,s,n,a,i){return await w(e,t,r,s,n,a,i)}static Load(e,t,r,s,n,a,o,l){(async()=>{try{let a=await A(e,t,r,n,o,l);s?.(a)}catch(e){M(a,i.EngineStore.LastCreatedScene,e)}})()}static async LoadAsync(e,t,r,s,n,a){return await A(e,t,r,s,n,a)}static Append(e,t,r,s,n,a,o,l){let h=r??i.EngineStore.LastCreatedScene;(async()=>{try{let a=await E(e,t,r,n,o,l);s?.(a)}catch(e){M(a,h,e)}})()}static async AppendAsync(e,t,r,s,n,a){return await E(e,t,r,s,n,a)}static LoadAssetContainer(e,t,r,s,n,a,o,l){let h=r??i.EngineStore.LastCreatedScene;(async()=>{try{let a=await G(e,t,r,n,o,l);s?.(a)}catch(e){M(a,h,e)}})()}static async LoadAssetContainerAsync(e,t,r,s,n,a){return await G(e,t,r,s,n,a)}static ImportAnimations(e,t,r,s,n,a,o,l,h,c,d){let u=r??i.EngineStore.LastCreatedScene;(async()=>{try{await O(e,t,r,s,n,a,l,c,d),o?.(u)}catch(e){M(h,u,e)}})()}static async ImportAnimationsAsync(e,t,r,s,n,a,o,l,h,c,d){let u=r??i.EngineStore.LastCreatedScene;return await O(e,t,u,s,n,a,l,c,d),u}}L.NO_LOGGING=0,L.MINIMAL_LOGGING=1,L.SUMMARY_LOGGING=2,L.DETAILED_LOGGING=3,L.OnPluginActivatedObservable=g,e.s(["LoadAssetContainerAsync",0,D,"RegisterSceneLoaderPlugin",0,T],19114)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36756,t=>{"use strict";var e=t.i(44023),i=t.i(5110),o=t.i(77052);class l extends e.FlowGraphExecutionBlockWithOutSignal{constructor(t){super(t),this.body=this.registerDataInput("body",i.RichTypeAny),this.velocity=this.registerDataInput("velocity",i.RichTypeVector3)}_execute(t,e){let i=this.body.getValue(t);if(!i){this._reportError(t,"No physics body provided"),this.out._activateSignal(t);return}i.setAngularVelocity(this.velocity.getValue(t)),this.out._activateSignal(t)}getClassName(){return"FlowGraphSetAngularVelocityBlock"}}let r=!1;function c(){r||(r=!0,(0,o.RegisterClass)("FlowGraphSetAngularVelocityBlock",l))}t.s(["FlowGraphSetAngularVelocityBlock",0,l,"RegisterFlowGraphSetAngularVelocityBlock",0,c],42020),c(),t.s([],59859),t.i(59859),t.i(42020),t.s(["FlowGraphSetAngularVelocityBlock",0,l],36756)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33284,e=>{"use strict";var t=e.i(25742),i=e.i(5110),r=e.i(65487),s=e.i(77052);class a extends t.FlowGraphBlock{constructor(e){super(e),this.config=e,this.object=this.registerDataInput("object",i.RichTypeAny),this.array=this.registerDataInput("array",i.RichTypeAny),this.index=this.registerDataOutput("index",i.RichTypeFlowGraphInteger,new r.FlowGraphInteger(-1))}_updateOutputs(e){let t=this.object.getValue(e),i=this.array.getValue(e);i&&this.index.setValue(new r.FlowGraphInteger(i.indexOf(t)),e)}serialize(e){super.serialize(e)}getClassName(){return"FlowGraphIndexOfBlock"}}let l=!1;function o(){l||(l=!0,(0,s.RegisterClass)("FlowGraphIndexOfBlock",a))}e.s(["FlowGraphIndexOfBlock",0,a,"RegisterFlowGraphIndexOfBlock",0,o],7774),o(),e.s([],32849),e.i(32849),e.i(7774),e.s(["FlowGraphIndexOfBlock",0,a],33284)}]);
@@ -0,0 +1,3 @@
1
+ @font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_59d6dcf5-module__z_Ctiq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_59d6dcf5-module__z_Ctiq__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
2
+ @font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_38c99671-module__5Dhsuq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_38c99671-module__5Dhsuq__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
3
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, monospace;--color-red-300:#ffa3a3;--color-red-400:#ff6568;--color-red-900:#82181a;--color-red-950:#460809;--color-amber-300:#ffd236;--color-amber-400:#fcbb00;--color-emerald-300:#5ee9b5;--color-emerald-400:#00d294;--color-emerald-500:#00bb7f;--color-sky-400:#00bcfe;--color-sky-500:#00a5ef;--color-fuchsia-300:#f2a9ff;--color-fuchsia-400:#ec6cff;--color-fuchsia-500:#e12afb;--color-rose-300:#ffa2ae;--color-rose-400:#ff667f;--color-rose-500:#ff2357;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--tracking-wide:.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-ink:#161210;--color-panel:#201913;--color-edge:#34291f;--color-fg-hi:#f4eadf;--color-fg:#d8c8b8;--color-fg-muted:#a8917c;--color-saffron:#f4c84b;--color-amber:#eda63e;--color-ember:#e07b39;--font-display:var(--font-space-grotesk), system-ui, sans-serif;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@supports (color:lab(0% 0 0)){:root,:host{--color-red-300:lab(76.5514% 36.422 15.5335);--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-900:lab(28.5139% 44.5539 29.0463);--color-red-950:lab(13.003% 29.04 16.7519);--color-amber-300:lab(86.4156% 6.13147 78.3961);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-emerald-300:lab(83.9203% -48.7124 13.8849);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-sky-400:lab(70.687% -23.6078 -45.9483);--color-sky-500:lab(63.3038% -18.433 -51.0407);--color-fuchsia-300:lab(78.5378% 39.3533 -32.9615);--color-fuchsia-400:lab(66.1178% 66.0652 -52.4733);--color-fuchsia-500:lab(56.4256% 83.132 -64.639);--color-rose-300:lab(76.6339% 38.3549 9.68835);--color-rose-400:lab(64.4125% 63.0291 19.2068);--color-rose-500:lab(56.101% 79.4328 31.4532)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-y-1{inset-block:var(--spacing)}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-6{top:calc(var(--spacing) * 6)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-27\.5{height:calc(var(--spacing) * 27.5)}.h-full{height:100%}.max-h-64{max-height:calc(var(--spacing) * 64)}.w-1{width:var(--spacing)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-36{width:calc(var(--spacing) * 36)}.w-37\.5{width:calc(var(--spacing) * 37.5)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.w-px{width:1px}.max-w-6xl{max-width:var(--container-6xl)}.max-w-44{max-width:calc(var(--spacing) * 44)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-72{max-width:calc(var(--spacing) * 72)}.max-w-\[12rem\]{max-width:12rem}.max-w-\[16rem\]{max-width:16rem}.max-w-\[20rem\]{max-width:20rem}.min-w-0{min-width:0}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-56{min-width:calc(var(--spacing) * 56)}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.cursor-crosshair{cursor:crosshair}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:var(--spacing)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber{border-color:var(--color-amber)}.border-amber\/40{border-color:#eda63e66}@supports (color:color-mix(in lab, red, red)){.border-amber\/40{border-color:color-mix(in oklab, var(--color-amber) 40%, transparent)}}.border-edge{border-color:var(--color-edge)}.border-ink\/60{border-color:#16121099}@supports (color:color-mix(in lab, red, red)){.border-ink\/60{border-color:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.border-red-900\/60{border-color:#82181a99}@supports (color:color-mix(in lab, red, red)){.border-red-900\/60{border-color:color-mix(in oklab, var(--color-red-900) 60%, transparent)}}.border-transparent{border-color:#0000}.bg-\[\#38bdf8\]{background-color:#38bdf8}.bg-\[\#f4c84b\]{background-color:#f4c84b}.bg-amber{background-color:var(--color-amber)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber\/10{background-color:#eda63e1a}@supports (color:color-mix(in lab, red, red)){.bg-amber\/10{background-color:color-mix(in oklab, var(--color-amber) 10%, transparent)}}.bg-amber\/15{background-color:#eda63e26}@supports (color:color-mix(in lab, red, red)){.bg-amber\/15{background-color:color-mix(in oklab, var(--color-amber) 15%, transparent)}}.bg-amber\/30{background-color:#eda63e4d}@supports (color:color-mix(in lab, red, red)){.bg-amber\/30{background-color:color-mix(in oklab, var(--color-amber) 30%, transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\/30{background-color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab, red, red)){.bg-black\/70{background-color:color-mix(in oklab, var(--color-black) 70%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500\/70{background-color:#00bb7fb3}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/70{background-color:color-mix(in oklab, var(--color-emerald-500) 70%, transparent)}}.bg-fg-muted{background-color:var(--color-fg-muted)}.bg-fg\/15{background-color:#d8c8b826}@supports (color:color-mix(in lab, red, red)){.bg-fg\/15{background-color:color-mix(in oklab, var(--color-fg) 15%, transparent)}}.bg-fuchsia-400\/30{background-color:#ec6cff4d}@supports (color:color-mix(in lab, red, red)){.bg-fuchsia-400\/30{background-color:color-mix(in oklab, var(--color-fuchsia-400) 30%, transparent)}}.bg-ink{background-color:var(--color-ink)}.bg-ink\/40{background-color:#16121066}@supports (color:color-mix(in lab, red, red)){.bg-ink\/40{background-color:color-mix(in oklab, var(--color-ink) 40%, transparent)}}.bg-ink\/50{background-color:#16121080}@supports (color:color-mix(in lab, red, red)){.bg-ink\/50{background-color:color-mix(in oklab, var(--color-ink) 50%, transparent)}}.bg-ink\/60{background-color:#16121099}@supports (color:color-mix(in lab, red, red)){.bg-ink\/60{background-color:color-mix(in oklab, var(--color-ink) 60%, transparent)}}.bg-ink\/80{background-color:#161210cc}@supports (color:color-mix(in lab, red, red)){.bg-ink\/80{background-color:color-mix(in oklab, var(--color-ink) 80%, transparent)}}.bg-ink\/90{background-color:#161210e6}@supports (color:color-mix(in lab, red, red)){.bg-ink\/90{background-color:color-mix(in oklab, var(--color-ink) 90%, transparent)}}.bg-ink\/95{background-color:#161210f2}@supports (color:color-mix(in lab, red, red)){.bg-ink\/95{background-color:color-mix(in oklab, var(--color-ink) 95%, transparent)}}.bg-panel{background-color:var(--color-panel)}.bg-panel\/60{background-color:#20191399}@supports (color:color-mix(in lab, red, red)){.bg-panel\/60{background-color:color-mix(in oklab, var(--color-panel) 60%, transparent)}}.bg-red-950\/40{background-color:#46080966}@supports (color:color-mix(in lab, red, red)){.bg-red-950\/40{background-color:color-mix(in oklab, var(--color-red-950) 40%, transparent)}}.bg-rose-400{background-color:var(--color-rose-400)}.bg-rose-500\/20{background-color:#ff235733}@supports (color:color-mix(in lab, red, red)){.bg-rose-500\/20{background-color:color-mix(in oklab, var(--color-rose-500) 20%, transparent)}}.bg-saffron{background-color:var(--color-saffron)}.bg-sky-400\/70{background-color:#00bcfeb3}@supports (color:color-mix(in lab, red, red)){.bg-sky-400\/70{background-color:color-mix(in oklab, var(--color-sky-400) 70%, transparent)}}.bg-sky-500\/70{background-color:#00a5efb3}@supports (color:color-mix(in lab, red, red)){.bg-sky-500\/70{background-color:color-mix(in oklab, var(--color-sky-500) 70%, transparent)}}.bg-transparent{background-color:#0000}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:var(--spacing)}.pr-1{padding-right:var(--spacing)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-amber{color:var(--color-amber)}.text-amber-300{color:var(--color-amber-300)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-fg{color:var(--color-fg)}.text-fg-hi{color:var(--color-fg-hi)}.text-fg-muted{color:var(--color-fg-muted)}.text-fg-muted\/40{color:#a8917c66}@supports (color:color-mix(in lab, red, red)){.text-fg-muted\/40{color:color-mix(in oklab, var(--color-fg-muted) 40%, transparent)}}.text-fuchsia-300{color:var(--color-fuchsia-300)}.text-ink{color:var(--color-ink)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-saffron{color:var(--color-saffron)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-2{text-underline-offset:2px}.accent-amber{accent-color:var(--color-amber)}.opacity-0{opacity:0}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-amber\/30{--tw-shadow-color:#eda63e4d}@supports (color:color-mix(in lab, red, red)){.shadow-amber\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-amber) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.shadow-black\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-fuchsia-500\/30{--tw-shadow-color:#e12afb4d}@supports (color:color-mix(in lab, red, red)){.shadow-fuchsia-500\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-fuchsia-500) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-amber{--tw-ring-color:var(--color-amber)}.ring-amber\/30{--tw-ring-color:#eda63e4d}@supports (color:color-mix(in lab, red, red)){.ring-amber\/30{--tw-ring-color:color-mix(in oklab, var(--color-amber) 30%, transparent)}}.ring-fuchsia-300{--tw-ring-color:var(--color-fuchsia-300)}.ring-fuchsia-400\/30{--tw-ring-color:#ec6cff4d}@supports (color:color-mix(in lab, red, red)){.ring-fuchsia-400\/30{--tw-ring-color:color-mix(in oklab, var(--color-fuchsia-400) 30%, transparent)}}.ring-rose-400\/40{--tw-ring-color:#ff667f66}@supports (color:color-mix(in lab, red, red)){.ring-rose-400\/40{--tw-ring-color:color-mix(in oklab, var(--color-rose-400) 40%, transparent)}}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.first\:rounded-l-md:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.last\:rounded-r-md:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}@media (hover:hover){.hover\:border-amber:hover{border-color:var(--color-amber)}.hover\:border-amber\/60:hover{border-color:#eda63e99}@supports (color:color-mix(in lab, red, red)){.hover\:border-amber\/60:hover{border-color:color-mix(in oklab, var(--color-amber) 60%, transparent)}}.hover\:border-edge:hover{border-color:var(--color-edge)}.hover\:bg-ember:hover{background-color:var(--color-ember)}.hover\:bg-ink:hover{background-color:var(--color-ink)}.hover\:text-amber:hover{color:var(--color-amber)}.hover\:text-fg:hover{color:var(--color-fg)}.hover\:text-fg-hi:hover{color:var(--color-fg-hi)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-saffron:focus{border-color:var(--color-saffron)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-amber:focus{--tw-ring-color:var(--color-amber)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:p-8{padding:calc(var(--spacing) * 8)}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--color-ink);color:var(--color-fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-display)}code,kbd,samp,pre{font-family:var(--font-mono)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,28538,e=>{"use strict";var t=e.i(29212),n=e.i(94179);e.i(82665);var i=e.i(20880),r=e.i(89339),s=e.i(88725),l=e.i(62238),a=e.i(93425),o=e.i(42279);let c=new Set,u=[{key:"interaction",label:"Clicks & picks",color:"#fb923c",types:new Set(["pointer_click","mesh_interaction"])},{key:"actors",label:"Scene actors",color:"#e879f9",types:new Set(["node_transform"])},{key:"custom",label:"Custom",color:"#34d399",types:new Set(["custom"])},{key:"camera",label:"Camera",color:"#38bdf8",types:new Set(["camera_sample"])},{key:"pointer",label:"Pointer",color:"#94a3b8",types:new Set(["pointer_move","pointer_down","pointer_up"])},{key:"perf",label:"Perf",color:"#a78bfa",types:new Set(["frame_perf"])},{key:"lifecycle",label:"Lifecycle",color:"#f472b6",types:new Set(["session_start","session_end","scene_change","focus_change","visibility_change","viewport_resize","context_lost","context_restored","runtime_error","capability_change","input_action","resource_sample","compile_stall","mesh_visibility","hover_dwell"])}];function d(e,t,n){let i=Math.max(1,n),r=new Map;u.forEach((e,t)=>{for(let n of e.types)r.set(n,t)});let s=u.map(()=>new Set);for(let n of e){let e=r.get(n.type);if(void 0===e)continue;let l=Math.min(1,Math.max(0,(n.ts-t)/i));s[e].add(Math.round(600*l))}return u.map((e,t)=>({key:e.key,label:e.label,color:e.color,marks:[...s[t]].sort((e,t)=>e-t).map(e=>e/600)})).filter(e=>e.marks.length>0)}function h(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/60);return`${n}:${(t%60).toString().padStart(2,"0")}`}function p(e){let t=e.slice(e.lastIndexOf("/")+1);return t.length>20?`${t.slice(0,19)}\u2026`:t}function m({lanes:e,duration:n,progress:i,onSeek:r,hiddenTypes:s}){let l=e.filter(e=>{let t=u.find(t=>t.key===e.key);if(!t)return!0;for(let e of t.types)if(!s.has(e))return!0;return!1});if(0===l.length)return null;let a=`${Math.min(100,Math.max(0,i/Math.max(1,n)*100))}%`;return(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("div",{className:"mb-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-fg-muted",children:l.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"inline-block h-2 w-2 rounded-sm",style:{backgroundColor:e.color}}),e.label,(0,t.jsxs)("span",{className:"tabular-nums text-fg-muted",children:["(",e.marks.length,")"]})]},e.key))}),(0,t.jsxs)("button",{type:"button","aria-label":"Event timeline — click to seek",className:"relative block w-full cursor-pointer select-none rounded-md border border-edge bg-ink/60 p-1.5 text-left",onClick:e=>{var t;let i;return t=e.clientX,void r(Math.min(1,Math.max(0,(t-(i=e.currentTarget.getBoundingClientRect()).left)/(i.width||1)))*n)},children:[(0,t.jsx)("div",{className:"flex flex-col gap-1",children:l.map(e=>(0,t.jsx)("div",{className:"relative h-2.5 rounded-sm bg-white/5",children:e.marks.map((n,i)=>(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute top-0 h-full w-px",style:{left:`${100*n}%`,backgroundColor:e.color,opacity:.85}},i))},e.key))}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-y-1 w-px bg-saffron",style:{left:a}})]})]})}e.s(["SessionReplay",0,function({baseUrl:u,apiKey:f,sessionId:b,hiddenTypes:g,isLive:y=!1}){let x=(0,n.useRef)(null),w=(0,n.useRef)(null),k=(0,n.useRef)(0),v=(0,n.useRef)(g??c),j=(0,n.useRef)(!1),M=(0,n.useRef)(null),C=(0,n.useRef)(!1),_=(0,n.useRef)(!1),S=(0,n.useRef)(null),N=(0,n.useRef)(0),P=(0,n.useRef)([]),R=(0,n.useRef)([]),$=(0,n.useRef)([]),z=(0,n.useRef)(!0),I=(0,n.useRef)("birdview"),L=(0,n.useRef)(null),V=(0,n.useRef)(null),A=(0,n.useRef)([]),E=(0,n.useRef)(null),T=(0,n.useRef)(null),[q,F]=(0,n.useState)("idle"),[W,B]=(0,n.useState)(null),[Z,O]=(0,n.useState)(0),[K,H]=(0,n.useState)(0),[G,U]=(0,n.useState)(!1),[X,D]=(0,n.useState)([]),[J,Q]=(0,n.useState)([]),[Y,ee]=(0,n.useState)([]),[et,en]=(0,n.useState)(!0),[ei,er]=(0,n.useState)(!1),[es,el]=(0,n.useState)("birdview"),[ea,eo]=(0,n.useState)(null),[ec,eu]=(0,n.useState)(!1),[ed,eh]=(0,n.useState)(!1),[ep,em]=(0,n.useState)(null);(0,n.useEffect)(()=>{z.current=et},[et]),(0,n.useEffect)(()=>{_.current=G},[G]),(0,n.useEffect)(()=>{C.current=ei},[ei]),(0,n.useEffect)(()=>{I.current=es,j.current=!0},[es]),(0,n.useEffect)(()=>{v.current=g??c,j.current=!0},[g]),(0,n.useEffect)(()=>{let t=x.current;if(!t)return;let n=!1,s=null;return F("loading"),B(null),U(!1),O(0),H(0),D([]),Q([]),ee([]),eo(null),L.current=null,P.current=[],R.current=[],$.current=[],k.current=0,E.current=null,A.current=[],V.current=null,eu(!1),eh(!1),em(null),(async()=>{try{let[{Engine:a},{Scene:o},{ArcRotateCamera:c},{UniversalCamera:h},{HemisphericLight:p},{Vector3:m,Color3:g,Color4:x,Matrix:T},{MeshBuilder:q},{StandardMaterial:W},{fetchSessionEvents:B,ReplayPlayer:Z}]=await Promise.all([e.A(66022),e.A(48505),e.A(53976),e.A(32633),e.A(42436),e.A(89370),e.A(67141),e.A(20693),e.A(85461),e.A(96664)]),K=await B({endpoint:u,apiKey:f,sessionId:b});if(n)return;if(0===K.length)return void F("empty");let G=K[0].ts,X=K[0].ts;for(let e of K)e.ts<G&&(G=e.ts),e.ts>X&&(X=e.ts);let J=new i.CollectorApi(u,f),Y=await (0,r.mergeSceneProxies)(J,{since:G-1,until:X+1});if(n)return;let et=[...K].sort((e,t)=>e.ts-t.ts),en=et[0].ts,ei=[],es=[],el=new Map,ea=null;for(let e of et){let t=e.ts-en;if("camera_sample"===e.type){ea=[e.position[0],e.position[1],e.position[2]],ei.push({at:t,position:ea,direction:[e.direction[0],e.direction[1],e.direction[2]],..."number"==typeof e.fov?{fov:e.fov}:{}});continue}if("node_transform"===e.type){if(e.boneId)continue;let n=e.childPath?`${e.nodeId}/${e.childPath}`:e.nodeId,i=el.get(n);i||(i=[],el.set(n,i)),i.push({at:t,position:[e.position[0],e.position[1],e.position[2]]});continue}if("pointer_click"===e.type&&e.hitPoint){let n=e.ray?.origin??ea;if(!n)continue;es.push({at:t,type:"pointer_click",origin:[n[0],n[1],n[2]],hit:[e.hitPoint[0],e.hitPoint[1],e.hitPoint[2]],...e.hitMesh?{mesh:e.hitMesh}:{}});continue}if("mesh_interaction"===e.type&&e.point){if(!ea)continue;es.push({at:t,type:"mesh_interaction",origin:[ea[0],ea[1],ea[2]],hit:[e.point[0],e.point[1],e.point[2]],...e.mesh?{mesh:e.mesh}:{}})}}if(0===ei.length&&0===es.length&&0===el.size)return void F("empty");let ec=new a(t,!0,{preserveDrawingBuffer:!1}),eu=new o(ec);eu.clearColor=new x(.04,.05,.07,1),V.current=eu;let ed=new c("birdview-cam",-Math.PI/2,.22,12,m.Zero(),eu);ed.attachControl(t,!0),(0,l.disableWheelZoom)(ed),w.current=ed,new p("replay-light",new m(0,1,0),eu);let eh=new h("replay-follow-cam",m.Zero(),eu);eh.minZ=.05,eh.fov=Math.PI/3,eu.activeCamera=ed;let ep="birdview",em=q.CreateGround("replay-ground",{width:20,height:20,subdivisions:20},eu),ef=new W("replay-ground-mat",eu);ef.diffuseColor=new g(.12,.14,.18),ef.wireframe=!0,em.material=ef;let eb=new Set(el.keys()),eg=new Set(Array.from(eb,e=>e.slice(e.lastIndexOf("/")+1))),ey=[],ex=[],ew=new Set,ek=e=>{if(ew.has(e.name)||(e=>{if(e.path){for(let t of eb)if(e.path===t||e.path.endsWith(`/${t}`))return!0}return eg.has(e.name)})(e))return!1;ew.add(e.name);let t=e.aabb,n=Math.max(t[3]-t[0],.001),i=Math.max(t[4]-t[1],.001),r=Math.max(t[5]-t[2],.001),s=q.CreateBox(`replay-proxy-${e.name}`,{width:n,height:i,depth:r},eu);s.position=new m((t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2);let l=new W(`replay-proxy-mat-${e.name}`,eu);return l.wireframe=!0,l.disableLighting=!0,l.emissiveColor=new g(.32,.4,.52),l.alpha=.35,s.material=l,s.isPickable=!1,E.current&&s.setEnabled(!1),ex.push(s),ey.push({name:e.name,center:new m((t[0]+t[3])/2,t[4],(t[2]+t[5])/2)}),!0};for(let e of Y)ek(e);P.current=ey,R.current=ey.map(()=>null),Q(ey.map(e=>e.name)),A.current=ex;let ev=async()=>{let e=await (0,r.mergeSceneProxies)(J,{since:G-1}).catch(()=>null);if(n||!e)return;let t=!1;for(let n of e)ek(n)&&(t=!0);t&&(P.current=ey,R.current=ey.map((e,t)=>R.current[t]??null),Q(ey.map(e=>e.name)),j.current=!0)},ej=[[.91,.47,.98],[.4,.95,.6],[.98,.8,.3],[.45,.85,1]],eM=e=>{let t=e.indexOf("/");return -1===t?e:e.slice(0,t)},eC=[],e_=new Map,eS=0,eN=(e,t,n)=>{let i=q.CreateSphere(`replay-actor-${e}`,{diameter:.5,segments:12},eu),r=new W(`replay-actor-mat-${e}`,eu);r.disableLighting=!0;let s=ej[eS%ej.length];r.emissiveColor=new g(s[0],s[1],s[2]),i.material=r,i.isPickable=!1,i.isVisible=!1,eS++;let l={key:e,mesh:i,samples:n,driveKey:t};return eC.push(l),e_.set(e,l),l},eP=new Map,eR=new Map;for(let[e,t]of el){if(0===t.length)continue;let n=eM(e);if(e===n)eP.set(n,t);else{let i=eR.get(n);(!i||t.length>i.samples.length)&&eR.set(n,{key:e,samples:t})}}for(let e of new Set([...eP.keys(),...eR.keys()])){let t=eP.get(e);if(t)eN(e,e,t);else{let t=eR.get(e);eN(e,t.key,t.samples)}}$.current=eC.map(()=>null),ee(eC.map(e=>e.key));let e$=(e,t)=>{if(0===e.length||t<e[0].at)return null;let n=0,i=e.length-1,r=-1;for(;n<=i;){let s=n+i>>1;e[s].at<=t?(r=s,n=s+1):i=s-1}if(r<0)return null;let s=e[r],l=e[r+1];if(!l)return s.position;let a=l.at-s.at;if(a<=0)return s.position;let o=Math.max(0,Math.min(1,(t-s.at)/a));return[s.position[0]+(l.position[0]-s.position[0])*o,s.position[1]+(l.position[1]-s.position[1])*o,s.position[2]+(l.position[2]-s.position[2])*o]},ez=1,eI=1.4,eL=q.CreateSphere("replay-camera-origin",{diameter:.35,segments:12},eu),eV=new W("replay-camera-origin-mat",eu);eV.disableLighting=!0,eV.emissiveColor=new g(.6,.9,1),eL.material=eV;let eA=q.CreateLines("replay-camera-frustum",{points:[m.Zero(),new m(0,0,1)]},eu);eA.color=new g(.7,.95,1),eA.isPickable=!1;let eE=q.CreateCylinder("replay-camera-cone",{height:1,diameterTop:0,diameterBottom:1,tessellation:24},eu);eE.bakeTransformIntoVertices(T.RotationX(-Math.PI/2).multiply(T.Translation(0,0,.5)));let eT=new W("replay-camera-cone-mat",eu);eT.disableLighting=!0,eT.emissiveColor=new g(.4,.78,1),eT.alpha=.16,eT.backFaceCulling=!1,eE.material=eT,eE.isPickable=!1,eE.isVisible=!1;let eq=(e,t,n,i)=>{if(e?.dispose(),0===n.length)return null;let r=q.CreateLineSystem(t,{lines:n,...i?{colors:i,useVertexAlpha:!0}:{}},eu);return r.isPickable=!1,r},eF=null,eW=null,eB=null,eZ=()=>{let e=v.current,t=[],n=[];for(let i of es){if(e.has(i.type))continue;let[r,s,l]=i.hit,a="mesh_interaction"===i.type?new x(.45,.85,1,.32):new x(1,.7,.35,.32);t.push([new m(r-.1,s,l),new m(r+.1,s,l)]),t.push([new m(r,s-.1,l),new m(r,s+.1,l)]),t.push([new m(r,s,l-.1),new m(r,s,l+.1)]),n.push([a,a],[a,a],[a,a])}eB=eq(eB,"replay-persistent-marks",t,n)};eZ();let eO=q.CreateSphere("replay-glow",{diameter:1,segments:12},eu),eK=new W("replay-glow-mat",eu);eK.disableLighting=!0,eK.emissiveColor=new g(1,.62,.2),eK.alpha=0,eO.material=eK,eO.isPickable=!1,eO.isVisible=!1;let eH=1/0,eG=1/0,eU=1/0,eX=-1/0,eD=-1/0,eJ=-1/0,eQ=!1,eY=e=>{eH=Math.min(eH,e[0]),eG=Math.min(eG,e[1]),eU=Math.min(eU,e[2]),eX=Math.max(eX,e[0]),eD=Math.max(eD,e[1]),eJ=Math.max(eJ,e[2])},e0=()=>{let e;if(eQ||!Number.isFinite(eH))return;let t=(eH+eX)/2,n=(eG+eD)/2,i=(eU+eJ)/2,r=eX-eH,s=eD-eG,l=eJ-eU,a=Math.sqrt(r*r+s*s+l*l);ed.setTarget(new m(t,n,i)),e=1.3*a,ed.radius=Number.isFinite(e)?Math.max(8,e):12,eQ=!0};for(let e of ei)eY(e.position);for(let e of es)eY(e.origin),eY(e.hit);for(let e of el.values())for(let t of e)eY(t.position);for(let e of Y)eY(e.aabb.slice(0,3)),eY(e.aabb.slice(3,6));e0();{let e=eX-eH,t=eD-eG,n=eJ-eU,i=Number.isFinite(e)?Math.sqrt(e*e+t*t+n*n):0,r=Math.min(Math.max(.035*i,.45),Math.max(.45,.18*i));ez=r/.35,eI=Math.max(.16*i,3.2*r,1.4),eL.scaling.setAll(ez)}let e1=-1,e2=e=>{var i;let r=j.current;if(!r&&e===e1)return;j.current=!1,e1=e,r&&eZ();let s=v.current;(i=I.current)!==ep&&(ep=i,"follow"===i?(ed.detachControl(),eu.activeCamera=eh):(eu.activeCamera=ed,ed.attachControl(t,!0)));let l="follow"===I.current,a=s.has("camera_sample")?null:(e=>{if(0===ei.length)return null;let t=0,n=ei.length-1,i=-1;for(;t<=n;){let r=t+n>>1;ei[r].at<=e?(i=r,t=r+1):n=r-1}return i>=0?ei[i]:null})(e);if(a){eL.position.set(a.position[0],a.position[1],a.position[2]);let e=a.direction,t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1,n=eI,i=new m(a.position[0]+e[0]/t*n,a.position[1]+e[1]/t*n,a.position[2]+e[2]/t*n);if(l)eL.isVisible=!1,eA.isVisible=!1,eE.isVisible=!1,eh.position.set(a.position[0],a.position[1],a.position[2]),eh.setTarget(i),a.fov&&a.fov>0&&(eh.fov=a.fov);else{eL.isVisible=!0,eA.isVisible=!0,eA=q.CreateLines("replay-camera-frustum",{points:[eL.position.clone(),i],instance:eA},eu);let e=(a.fov&&a.fov>0?a.fov:Math.PI/3)/2,t=n*Math.tan(e);eE.isVisible=!0,eE.position.copyFrom(eL.position),eE.lookAt(i),eE.scaling.set(2*t,2*t,n)}}else eL.isVisible=!1,eA.isVisible=!1,eE.isVisible=!1;let o=s.has("node_transform");for(let t of eC){let n=o?null:e$(t.samples,e);if(!n){t.mesh.isVisible=!1;continue}t.mesh.isVisible=!0,t.mesh.position.set(n[0],n[1],n[2])}let c=es.filter(t=>!s.has(t.type)&&t.at<=e&&t.at>=e-2200),u=[],d=[],h=[],p=[],f=null;for(let t of c){let n=e-t.at,i=Math.max(0,Math.min(1,1-n/2200)),r=new x(1,.62,.2,.18+.72*i),s=new m(t.origin[0],t.origin[1],t.origin[2]),l=new m(t.hit[0],t.hit[1],t.hit[2]);u.push([s,l]),d.push([r,r]);let a=.12+.08*i;h.push([new m(l.x-a,l.y,l.z),new m(l.x+a,l.y,l.z)]),h.push([new m(l.x,l.y-a,l.z),new m(l.x,l.y+a,l.z)]),h.push([new m(l.x,l.y,l.z-a),new m(l.x,l.y,l.z+a)]);let o=new x(1,.78,.42,.22+.72*i);if(p.push([o,o],[o,o],[o,o]),n<=900){let e=1-n/900;(!f||e>f.t)&&(f={hit:t.hit,t:e})}}if(f){let e=.25+.9*f.t;eO.isVisible=!0,eO.scaling.set(e,e,e),eO.position.set(f.hit[0],f.hit[1],f.hit[2]),eK.alpha=.12+.5*f.t}else eO.isVisible=!1;let b=null,g=-1/0;for(let e of c)e.mesh&&e.at>g&&(g=e.at,b=e.mesh);b!==L.current&&(L.current=b,n||eo(b)),eF=eq(eF,"replay-trail-lines",u,d),eW=eq(eW,"replay-trail-hits",h,p)},e3=et.length>0?et[et.length-1].ts-en:0,e5=e3,e4=et.length>0?et[et.length-1].ts:-1/0,e8=et.map(e=>({type:e.type,ts:e.ts})),e6=0,e9=null;if(y)M.current=null,S.current=e=>{if(n)return;let t="number"==typeof e.ts?e.ts:NaN;if(!Number.isFinite(t)||t<=e4)return;e4=t;let i=t-en;if(i>e5&&(e5=i),i>e3&&(e3=i),e8.push({type:e.type,ts:t}),"camera_sample"===e.type){let t=e.position,n=e.direction;if(t&&n){let r=[t[0],t[1],t[2]];ea=r;let s="number"==typeof e.fov?e.fov:void 0;ei.push({at:i,position:r,direction:[n[0],n[1],n[2]],...void 0!==s?{fov:s}:{}}),eY(r),e0()}}else if("pointer_click"===e.type){let t=e.hitPoint,n=e.ray,r=n?.origin??ea;if(t&&r){let n="string"==typeof e.hitMesh?e.hitMesh:void 0;es.push({at:i,type:"pointer_click",origin:[r[0],r[1],r[2]],hit:[t[0],t[1],t[2]],...n?{mesh:n}:{}}),eY(t),j.current=!0}}else if("mesh_interaction"===e.type){let t=e.point;if(t&&ea){let n="string"==typeof e.mesh?e.mesh:void 0;es.push({at:i,type:"mesh_interaction",origin:[ea[0],ea[1],ea[2]],hit:[t[0],t[1],t[2]],...n?{mesh:n}:{}}),eY(t),j.current=!0}}else if("node_transform"===e.type){let t=e.position;if(e.boneId||"string"!=typeof e.nodeId||!t)return;let n="string"==typeof e.childPath?e.childPath:void 0,r=n?`${e.nodeId}/${n}`:e.nodeId;((e,t)=>{let n=eM(e),i=e_.get(n);if(!i){i=eN(n,e,[]);let t=$.current;$.current=eC.map((e,n)=>t[n]??null),ee(eC.map(e=>e.key))}e===i.driveKey?i.samples.push(t):e===n&&i.driveKey!==n&&(i.driveKey=n,i.samples.length=0,i.samples.push(t))})(r,{at:i,position:[t[0],t[1],t[2]]}),eY(t)}let r=performance.now();r-e6>250&&(e6=r,D(d(e8,en,Math.max(1,e3)))),C.current&&i>k.current&&(k.current=i)},N.current=e3,k.current=e3,C.current=!0,er(!0),U(!1),O(e3),H(e3),D(d(e8,en,Math.max(1,e3))),e2(e3),e9=setInterval(()=>void ev(),4e3);else{let e=new Z(K,{reset(){},apply(){}},{onProgress:e=>{n||(k.current=e,H(e))},onComplete:()=>{n||U(!1)}});M.current=e,O(e.durationMs),D(d(et,en,e.durationMs)),e.update(0),e2(0)}let e7=T.Identity(),te=new Map,tt=e=>{let t=te.get(e);if(t)return t;let n={w:e.offsetWidth||60,h:e.offsetHeight||16};return e.offsetWidth>0&&te.set(e,n),n},tn=performance.now(),ti=0;ec.runRenderLoop(()=>{if(y){let e=performance.now(),t=e-tn;if(tn=e,C.current)k.current+=t,k.current>e3&&(e3=k.current),N.current=e3,H(k.current),e-ti>250&&(ti=e,O(e3));else if(_.current){let e=k.current+t;e>=e3&&(e=e3),k.current=e,H(e)}}e2(k.current),eu.render(),(()=>{if(!z.current)return;let e=t.clientWidth||ec.getRenderWidth(),n=t.clientHeight||ec.getRenderHeight(),i=ed.viewport.toGlobal(e,n),r=eu.getTransformMatrix(),s=L.current,l=e=>e.slice(e.lastIndexOf("/")+1),a=e=>!!s&&(s===e||l(s)===l(e)||e.endsWith(`/${s}`)||s.endsWith(`/${e}`)),o=[],c=P.current,u=R.current;for(let e=0;e<c.length;e++){let t=u[e];if(!t)continue;let n=m.Project(c[e].center,e7,r,i);if(n.z<0||n.z>1){t.style.opacity="0";continue}o.push({el:t,x:n.x,y:n.y,liftPct:140,highlighted:a(c[e].name)})}let d=$.current;for(let e=0;e<eC.length;e++){let t=d[e];if(!t)continue;let n=eC[e].mesh;if(!n.isVisible){t.style.opacity="0";continue}let s=m.Project(n.position,e7,r,i);if(s.z<0||s.z>1){t.style.opacity="0";continue}o.push({el:t,x:s.x,y:s.y,liftPct:180,highlighted:a(eC[e].key)})}o.sort((e,t)=>e.highlighted!==t.highlighted?e.highlighted?-1:1:e.y-t.y||e.x-t.x);let h=[];for(let e of o){let{w:t,h:n}=tt(e.el),i=e.x-t/2,r=e.x+t/2,s=e.y-e.liftPct/100*n,l=s,a=!0,o=0;for(;a&&o++<256;)for(let e of(a=!1,h))i<e.right&&r>e.left&&l<e.bottom&&l+n>e.top&&(l=e.bottom+1,a=!0);h.push({left:i,right:r,top:l,bottom:l+n});let c=l-s;e.el.style.opacity="1",e.el.style.zIndex=e.highlighted?"10":"",e.el.style.transform=`translate(${e.x}px, ${e.y+c}px) translate(-50%, -${e.liftPct}%)`}})()});let tr=()=>ec.resize();window.addEventListener("resize",tr),F("ready"),s=()=>{window.removeEventListener("resize",tr),e9&&clearInterval(e9),S.current=null,M.current?.pause(),eA.dispose(),eE.dispose(),eF?.dispose(),eW?.dispose(),eB?.dispose(),eO.dispose(),E.current?.dispose(),E.current=null,A.current=[],V.current=null,eu.dispose(),ec.dispose(),w.current=null,M.current=null}}catch(e){if(n)return;F("error"),B(e instanceof Error?e.message:"Failed to load replay.")}})(),()=>{n=!0,s?.()}},[u,f,b,y]);let ef=(0,n.useCallback)(()=>{if(y){er(!1),C.current=!1,U(e=>{let t=!e;return _.current=t,t});return}let e=M.current;e&&U(t=>(t?e.pause():e.play(),!t))},[y]),eb=(0,n.useCallback)(e=>{if(y){er(!1),C.current=!1,U(!1),_.current=!1,k.current=e,H(e);return}let t=M.current;t&&(t.pause(),t.seek(e),U(!1),k.current=e,H(e))},[y]),eg=(0,n.useCallback)(()=>{er(!0),C.current=!0,U(!1),_.current=!1,k.current=N.current,H(N.current)},[]),{gated:ey}=(0,s.useLiveSession)(u,f,b,y&&"ready"===q,e=>S.current?.(e),()=>{}),ex=(0,n.useCallback)(e=>{if(!ea)return!1;if(ea===e)return!0;let t=e=>e.slice(e.lastIndexOf("/")+1);return t(ea)===t(e)||e.endsWith(`/${ea}`)||ea.endsWith(`/${e}`)},[ea]),ew=(0,n.useCallback)(async t=>{let n=V.current;if(n){eh(!0),em(`Loading ${t.name}…`);try{let[{loadSceneBackdrop:i}]=await Promise.all([e.A(3633),e.A(58416)]);if(V.current!==n)return;E.current?.dispose();let r=await i(n,t);if(V.current!==n)return void r.dispose();for(let e of(E.current=r,A.current))e.setEnabled(!1);j.current=!0,eu(!0),em(`Loaded ${t.name} (${r.meshes.length} meshes).`)}catch(e){em(e instanceof Error?e.message:"Could not load model.")}finally{eh(!1)}}},[]),ek=(0,n.useCallback)(e=>{let t=e.target.files?.[0];e.target.value="",t&&ew(t)},[ew]),ev=(0,n.useCallback)(()=>{for(let e of(E.current?.dispose(),E.current=null,A.current))e.setEnabled(!0);j.current=!0,eu(!1),em(null)},[]);return(0,t.jsxs)(a.Panel,{title:y?"Session replay · live":"Session replay (birdview timeline)",subtitle:y?"Following this session live — new camera moves and interactions stream in and the timeline grows. Scrub back to review, then press ● LIVE to return to the edge.":"Scrub the camera path and interaction rays; every click stays marked and glows as the playhead passes it. The color-coded strip marks when each event fired (click to seek).",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:x,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),(0,t.jsxs)("div",{className:`pointer-events-none absolute inset-0 overflow-hidden ${et?"":"hidden"}`,children:[J.map((e,n)=>(0,t.jsx)("div",{title:e,ref:e=>{e&&(R.current[n]=e)},className:`absolute left-0 top-0 whitespace-nowrap rounded px-1.5 py-0.5 text-[10px] font-medium opacity-0 transition-colors ${ex(e)?"bg-amber/30 text-white ring-2 ring-amber shadow-lg shadow-amber/30":"bg-ink/80 text-saffron ring-1 ring-amber/30"}`,children:p(e)},e)),Y.map((e,n)=>(0,t.jsx)("div",{title:e,ref:e=>{e&&($.current[n]=e)},className:`absolute left-0 top-0 whitespace-nowrap rounded px-1.5 py-0.5 text-[10px] font-medium opacity-0 transition-colors ${ex(e)?"bg-fuchsia-400/30 text-white ring-2 ring-fuchsia-300 shadow-lg shadow-fuchsia-500/30":"bg-ink/80 text-fuchsia-300 ring-1 ring-fuchsia-400/30"}`,children:p(e)},`actor-${e}`))]}),"ready"===q&&(J.length>0||Y.length>0)?(0,t.jsx)("button",{type:"button",onClick:()=>en(e=>!e),className:"absolute left-3 top-3 rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs font-medium text-fg transition hover:bg-ink hover:text-white","aria-pressed":et?"true":"false",children:et?"Hide labels":"Show labels"}):null,"ready"===q&&"birdview"===es?(0,t.jsx)(o.ZoomButtons,{onZoom:e=>w.current&&(0,l.stepZoom)(w.current,e)}):null,"ready"!==q?(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===q?"Loading replay…":"empty"===q?"No replayable events (raw retention may be disabled).":"error"===q?W??"Replay unavailable.":null}):null]}),(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:[(0,t.jsx)("button",{type:"button",onClick:ef,disabled:"ready"!==q,className:"rounded-md bg-amber px-3 py-1.5 text-sm font-medium text-ink transition hover:bg-ember disabled:opacity-40",children:G?"Pause":"Play"}),y?(0,t.jsxs)("button",{type:"button",onClick:eg,disabled:"ready"!==q,"aria-pressed":ei?"true":"false",className:`flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-sm font-medium transition disabled:opacity-40 ${ei?"bg-rose-500/20 text-rose-300 ring-1 ring-rose-400/40":"border border-edge text-fg hover:bg-ink hover:text-white"}`,children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${ei?"animate-pulse bg-rose-400":"bg-fg-muted"}`}),ei?"LIVE":"Resume live"]}):null,(0,t.jsxs)("div",{role:"group","aria-label":"Camera view",className:"flex items-center rounded-md border border-edge p-0.5 text-xs font-medium",children:[(0,t.jsx)("button",{type:"button",onClick:()=>el("birdview"),disabled:"ready"!==q,"aria-pressed":"birdview"===es?"true":"false",className:`rounded px-2 py-1 transition disabled:opacity-40 ${"birdview"===es?"bg-amber text-ink":"text-fg hover:text-white"}`,children:"Birdview"}),(0,t.jsx)("button",{type:"button",onClick:()=>el("follow"),disabled:"ready"!==q,"aria-pressed":"follow"===es?"true":"false",className:`rounded px-2 py-1 transition disabled:opacity-40 ${"follow"===es?"bg-amber text-ink":"text-fg hover:text-white"}`,children:"Follow camera"})]}),(0,t.jsx)("span",{className:"w-12 text-right font-mono text-xs tabular-nums text-fg-muted",children:h(K)}),(0,t.jsx)("input",{type:"range",min:0,max:Math.max(1,Z),step:50,value:Math.min(K,Z),onChange:e=>eb(Number(e.target.value)),disabled:"ready"!==q,className:"flex-1 accent-amber"}),(0,t.jsx)("span",{className:"w-12 font-mono text-xs tabular-nums text-fg-muted",children:h(Z)})]}),"ready"===q?(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-3",children:[(0,t.jsx)("input",{ref:T,type:"file",accept:".glb,.gltf,model/gltf-binary,model/gltf+json",onChange:ek,className:"hidden"}),(0,t.jsx)("button",{type:"button",onClick:()=>T.current?.click(),disabled:ed,className:"rounded-md border border-edge bg-ink/80 px-2.5 py-1.5 text-xs font-medium text-fg transition hover:bg-ink hover:text-white disabled:opacity-40",children:ed?"Loading model…":ec?"Replace model (.glb)":"Load model (.glb)"}),ec?(0,t.jsx)("button",{type:"button",onClick:ev,disabled:ed,className:"rounded-md border border-edge px-2.5 py-1.5 text-xs font-medium text-fg transition hover:bg-ink hover:text-white disabled:opacity-40",children:"Remove model"}):null,ep?(0,t.jsx)("span",{className:"text-xs text-fg-muted",role:"status",children:ep}):(0,t.jsx)("span",{className:"text-xs text-fg-muted",children:"Load a glTF model to replace the wireframe boxes with your real scene."})]}):null,"ready"===q?(0,t.jsx)(m,{lanes:X,duration:Z,progress:K,onSeek:eb,hiddenTypes:g??c}):null,y&&ey&&"ready"===q?(0,t.jsx)("p",{className:"mt-2 text-xs text-fg-muted",children:"Live follow is unavailable — raw session retention is disabled on the collector."}):null]})}])},12449,e=>{e.n(e.i(28538))},32633,e=>{e.v(t=>Promise.all(["static/chunks/2f7_3tzf7xhps.js","static/chunks/0c83pe1mpx456.js","static/chunks/2hpxou_cnp4f_.js","static/chunks/0v82oqyoy9zol.js","static/chunks/2hd2txb4-m9k1.js","static/chunks/1nj82er7msdto.js","static/chunks/08wuc9--s8zn_.js","static/chunks/30-tbi7pys6fp.js"].map(t=>e.l(t))).then(()=>t(30118)))},85461,e=>{e.v(t=>Promise.all(["static/chunks/0n8n481szj90g.js"].map(t=>e.l(t))).then(()=>t(57092)))},3633,e=>{e.v(t=>Promise.all(["static/chunks/1akaj5rhgitn3.js","static/chunks/30-tbi7pys6fp.js"].map(t=>e.l(t))).then(()=>t(97900)))},58416,e=>{e.v(t=>Promise.all(["static/chunks/2ckd7f1wbfod-.js","static/chunks/0c83pe1mpx456.js","static/chunks/33dgpebv-tf73.js","static/chunks/14bws-suyy5zu.js","static/chunks/3833xfnz0a-ub.js","static/chunks/0v82oqyoy9zol.js","static/chunks/3ne77mjdz2y7o.js","static/chunks/2d6hru4qo23tt.js","static/chunks/0r47gs_e93cka.js","static/chunks/2z_jn9ud28fk7.js","static/chunks/0_eu72k69lxj7.js","static/chunks/40ffffml4h_3r.js","static/chunks/1_6oejyxj39li.js","static/chunks/3xagd_2_9zft2.js","static/chunks/31u5lbu1vxznh.js","static/chunks/3e8fmlq0k5wkg.js","static/chunks/30-tbi7pys6fp.js","static/chunks/431slrqh0wa0g.js","static/chunks/1bvl1ws7b_3gn.js","static/chunks/3-eswqjobiqk1.js","static/chunks/1th_t5ujeqlkf.js","static/chunks/1nj82er7msdto.js","static/chunks/08wuc9--s8zn_.js","static/chunks/1thr-mdzbu96v.js"].map(t=>e.l(t))).then(()=>t(84942)))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,82665,20880,89339,88725,e=>{"use strict";var t=e.i(23838);let s=!!t.default.env.NEXT_PUBLIC_COLLECTOR_URL,n=t.default.env.NEXT_PUBLIC_COLLECTOR_URL??"http://localhost:4318",r="1"===t.default.env.DASHBOARD_STATIC?"":t.default.env.NEXT_PUBLIC_API_KEY??"",a=t.default.env.NEXT_PUBLIC_PLAYGROUND_URL??"http://localhost:5173";e.s(["COLLECTOR_URL_IS_PINNED",0,s,"DEFAULT_API_KEY",0,r,"DEFAULT_COLLECTOR_URL",0,n,"DEFAULT_PLAYGROUND_URL",0,a],82665);class i extends Error{status;constructor(e,t){super(e),this.status=t,this.name="ApiError"}}class c{baseUrl;apiKey;constructor(e,t){this.baseUrl=e,this.apiKey=t}async get(e,t={}){let s=new URL(e,l(this.baseUrl));for(let[e,n]of Object.entries(t))null!=n&&s.searchParams.set(e,String(n));let n=await fetch(s,{headers:{"x-api-key":this.apiKey},cache:"no-store"});if(!n.ok)throw new i(await n.text().catch(()=>"")||n.statusText,n.status);return await n.json()}sessions(e){return this.get("api/v1/sessions",e).then(e=>e.map(e=>({...e,events:Number(e.events)})))}pointerHeatmap(e){return this.get("api/v1/heatmaps/pointer",e)}cameraHeatmap(e){return this.get("api/v1/heatmaps/camera",e)}topMeshes(e){return this.get("api/v1/meshes/top",e).then(e=>e.map(e=>({...e,count:Number(e.count)})))}meshKinds(e){return this.get("api/v1/meshes/kinds",e).then(e=>e.map(e=>({mesh:String(e.mesh??""),kind:String(e.kind??""),count:Number(e.count??0)})))}topMeshesBySource(e){return this.get("api/v1/meshes/sources",e).then(e=>e.map(e=>({mesh:String(e.mesh??""),source:String(e.source??""),count:Number(e.count??0)})))}topMeshesTrend(e){return this.get("api/v1/meshes/trend",e).then(e=>e.map(e=>({mesh:String(e.mesh??""),bucket:Number(e.bucket??0),count:Number(e.count??0)})))}topInputActions(e){return this.get("api/v1/input-actions/top",e).then(e=>e.map(e=>({action:String(e.action??""),source:String(e.source??""),count:Number(e.count??0)})))}perf(e){return this.get("api/v1/perf",e).then(e=>({samples:Number(e.samples??0),avg_fps:Number(e.avg_fps??0),min_fps:Number(e.min_fps??0),p50_fps:Number(e.p50_fps??0)}))}renderScale(e){return this.get("api/v1/perf/render-scale",e).then(e=>{let t=e[0]??{},s=Number(t.downscaled_samples??0),n=Number(t.scale_samples??0);return{samples:Number(t.samples??0),avg_fps:Number(t.avg_fps??0),p50_fps:Number(t.p50_fps??0),avg_render_scale:Number(t.avg_render_scale??0),p50_render_scale:Number(t.p50_render_scale??0),downscaled_samples:s,scale_samples:n,downscaled_share:n>0?s/n:0}})}perfDistribution(e){return this.get("api/v1/perf/distribution",e).then(e=>{let t=e[0]??{};return{sessions:Number(t.sessions??0),samples:Number(t.samples??0),p05_fps:Number(t.p05_fps??0),p50_fps:Number(t.p50_fps??0),p95_fps:Number(t.p95_fps??0)}})}fpsHistogram(e){return this.get("api/v1/perf/fps-histogram",e).then(e=>e.map(e=>({bucket:Number(e.bucket??0),sessions:Number(e.sessions??0)})))}frameTimePercentiles(e){return this.get("api/v1/perf/frame-time",e).then(e=>{let t=e[0]??{};return{sessions:Number(t.sessions??0),samples:Number(t.samples??0),p50_ms:Number(t.p50_ms??0),p95_ms:Number(t.p95_ms??0)}})}jankRate(e){return this.get("api/v1/perf/jank",e).then(e=>{let t=e[0]??{};return{sessions:Number(t.sessions??0),total_long_frames:Number(t.total_long_frames??0),median_rate:Number(t.median_rate??0),worst_decile_rate:Number(t.worst_decile_rate??0)}})}perfByDevice(e){return this.get("api/v1/perf/by-device",e).then(e=>e.map(e=>({engine:String(e.engine??""),is_mobile:String(e.is_mobile??""),renderer:String(e.renderer??""),sessions:Number(e.sessions??0),samples:Number(e.samples??0),p50_fps:Number(e.p50_fps??0)})))}perfByScene(e){return this.get("api/v1/perf/by-scene",e).then(e=>e.map(e=>({scene_id:String(e.scene_id??""),sessions:Number(e.sessions??0),samples:Number(e.samples??0),p50_fps:Number(e.p50_fps??0)})))}resourcePercentiles(e){return this.get("api/v1/perf/resource-percentiles",e).then(e=>{let t=e[0]??{};return{sessions:Number(t.sessions??0),samples:Number(t.samples??0),p50_js_heap_bytes:Number(t.p50_js_heap_bytes??0),p95_js_heap_bytes:Number(t.p95_js_heap_bytes??0),p50_texture_bytes:Number(t.p50_texture_bytes??0),p95_texture_bytes:Number(t.p95_texture_bytes??0),p50_triangles:Number(t.p50_triangles??0),p95_triangles:Number(t.p95_triangles??0)}})}stabilityCounts(e){return this.get("api/v1/perf/stability",e).then(e=>{let t=e[0]??{};return{context_losses:Number(t.context_losses??0),compile_stalls:Number(t.compile_stalls??0),incidents:Number(t.incidents??0)}})}worldHeatmap(e){return this.get("api/v1/heatmaps/world",e).then(e=>e.map(e=>({vx:Number(e.vx),vy:Number(e.vy),vz:Number(e.vz),count:Number(e.count)})))}gazeHeatmap(e){return this.get("api/v1/heatmaps/gaze",e).then(e=>e.map(e=>({vx:Number(e.vx),vy:Number(e.vy),vz:Number(e.vz),count:Number(e.count)})))}worldHeatmapStats(e){return this.get("api/v1/heatmaps/world/stats",e).then(e=>({cellSize:Number(e.cellSize??0),cells:Number(e.cells??0),hits:Number(e.hits??0)}))}gazeHeatmapStats(e){return this.get("api/v1/heatmaps/gaze/stats",e).then(e=>({cellSize:Number(e.cellSize??0),cells:Number(e.cells??0),hits:Number(e.hits??0)}))}cameraPositionHeatmap(e){return this.get("api/v1/heatmaps/position",e).then(e=>e.map(e=>({gx:Number(e.gx),gz:Number(e.gz),avg_y:Number(e.avg_y??0),count:Number(e.count??0)})))}sessionTrajectory(e,t){return this.get(`api/v1/sessions/${encodeURIComponent(e)}/trajectory`,t).then(e=>e.map(e=>({ts:Number(e.ts),x:Number(e.x),y:Number(e.y),z:Number(e.z)})))}aggregatePaths(e){return this.get("api/v1/paths",e).then(e=>e.map(e=>({session_id:String(e.session_id??""),ts:Number(e.ts),gx:Number(e.gx),gz:Number(e.gz)})))}clickRays(e){return this.get("api/v1/heatmaps/click-rays",e).then(e=>e.map(e=>({camVoxel:[Number(e.cam_vx),Number(e.cam_vy),Number(e.cam_vz)],origin:[Number(e.origin_x),Number(e.origin_y),Number(e.origin_z)],hitVoxel:[Number(e.hit_vx),Number(e.hit_vy),Number(e.hit_vz)],hit:[Number(e.hit_x),Number(e.hit_y),Number(e.hit_z)],mesh:String(e.mesh??""),count:Number(e.count)})))}flowHeatmap(e){return this.get("api/v1/heatmaps/flow",e).then(e=>e.map(e=>{let t={azimuth_bin:Number(e.azimuth_bin),elevation_bin:Number(e.elevation_bin),mesh:String(e.mesh??""),count:Number(e.count)};return null!=e.origin_vx&&(t.originVoxel=[Number(e.origin_vx),Number(e.origin_vy),Number(e.origin_vz)],t.origin=[Number(e.origin_x),Number(e.origin_y),Number(e.origin_z)]),t}))}scenes(e){return this.get("api/v1/scenes",e).then(e=>e.map(e=>({...e,events:Number(e.events)})))}timeseries(e){return this.get("api/v1/timeseries",e).then(e=>e.map(e=>({bucket:Number(e.bucket),events:Number(e.events??0),avg_fps:Number(e.avg_fps??0)})))}eventCounts(e){return this.get("api/v1/event-counts",e).then(e=>e.map(e=>({event_type:String(e.event_type),count:Number(e.count??0)})))}funnel(e,t){return this.get("api/v1/funnel",{...t,steps:JSON.stringify(e)}).then(e=>e.map(e=>({step:Number(e.step),sessions:Number(e.sessions??0)})))}coverage(e){return this.get("api/v1/coverage",e).then(e=>e.map(e=>({vx:Number(e.vx),vy:Number(e.vy),vz:Number(e.vz),count:Number(e.count??0)})))}cameraDistance(e){return this.get("api/v1/camera/distance",e).then(e=>e.map(e=>({bucket:Number(e.bucket),count:Number(e.count??0)})))}navigation(e){return this.get("api/v1/navigation",e).then(e=>e.map(e=>({session_id:String(e.session_id??""),segments:Number(e.segments??0),total_distance:Number(e.total_distance??0),active_segments:Number(e.active_segments??0),active_distance:Number(e.active_distance??0)})))}cameraGestures(e){return this.get("api/v1/camera-gestures",e).then(e=>e.map(e=>({kind:String(e.kind??""),gestures:Number(e.gestures??0),total_ms:Number(e.total_ms??0),avg_ms:Number(e.avg_ms??0),max_ms:Number(e.max_ms??0)})))}interactionsBySource(e){return this.get("api/v1/interactions/sources",e).then(e=>e.map(e=>({event_type:String(e.event_type??""),source:String(e.source??""),count:Number(e.count??0),sessions:Number(e.sessions??0)})))}sessionMeta(e){return this.get(`api/v1/sessions/${encodeURIComponent(e)}/meta`)}async sceneRepresentation(e){try{return await this.get(`api/v1/scenes/${encodeURIComponent(e)}/representation`)}catch(e){if(e instanceof i&&404===e.status)return null;throw e}}async liveToken(){let e=new URL("api/v1/live/token",l(this.baseUrl)),t=await fetch(e,{method:"POST",headers:{"x-api-key":this.apiKey},cache:"no-store"});if(!t.ok)throw new i(await t.text().catch(()=>"")||t.statusText,t.status);return await t.json()}livePresenceUrl(e){let t=new URL("api/v1/live/presence",l(this.baseUrl));return t.searchParams.set("token",e),t.toString()}liveStreamUrl(e,t){let s=new URL("api/v1/live/stream",l(this.baseUrl));return s.searchParams.set("token",e),t&&t.length>0&&s.searchParams.set("types",t.join(",")),s.toString()}liveSessionUrl(e,t){let s=new URL(`api/v1/live/sessions/${encodeURIComponent(t)}`,l(this.baseUrl));return s.searchParams.set("token",e),s.toString()}}function l(e){return e.endsWith("/")?e:`${e}/`}async function o(e,t){let s=await e.scenes(t).catch(()=>[]);if(0===s.length)return[];let n=await Promise.all(s.map(t=>e.sceneRepresentation(t.scene_id).catch(()=>null))),r=new Set,a=[];for(let e of n)for(let t of e?.proxy?.meshes??[])r.has(t.name)||(r.add(t.name),a.push(t));return a}e.s(["ApiError",0,i,"CollectorApi",0,c],20880),e.s(["mergeSceneProxies",0,o],89339);var u=e.i(94179);function h(e,t,s,n){let r={cancelled:!1,source:null,timer:null},a=0,i=async()=>{let i;if(r.cancelled)return;n(0===a?"connecting":"reconnecting");try{let{token:s}=await e.liveToken();i=t(s)}catch{c();return}if(r.cancelled)return;let l=new EventSource(i);r.source=l,l.onopen=()=>{a=0,n("open")},l.onerror=()=>{l.close(),r.source===l&&(r.source=null),c()},s(l)},c=()=>{if(r.cancelled)return;n("reconnecting");let e=Math.min(1e3*2**a,15e3);a+=1,r.timer=setTimeout(()=>void i(),e)};return i(),()=>{r.cancelled=!0,r.timer&&clearTimeout(r.timer),r.source?.close(),r.source=null}}async function m(e,t,s){let n=e.getReader(),r=new TextDecoder,a="";for(t.addEventListener("abort",()=>void n.cancel().catch(()=>{}));;){let{done:e,value:t}=await n.read();if(e)return;let i=(a+=r.decode(t,{stream:!0})).indexOf("\n\n");for(;i>=0;){let e=a.slice(0,i);a=a.slice(i+2);let t="message",n=[];for(let s of e.split("\n"))!s.startsWith(":")&&(s.startsWith("event:")?t=s.slice(6).trim():s.startsWith("data:")&&n.push(s.slice(5).replace(/^ /,"")));"event"===t&&n.length>0&&s(n.join("\n")),i=a.indexOf("\n\n")}}}e.s(["useLivePresence",0,function(e,t,s){let[n,r]=(0,u.useState)(null),[a,i]=(0,u.useState)("idle");return(0,u.useEffect)(()=>{if(!s||!t||!e){i("idle"),r(null);return}let n=new c(e,t);return h(n,e=>n.livePresenceUrl(e),e=>{e.addEventListener("presence",e=>{try{r(JSON.parse(e.data))}catch{}})},i)},[e,t,s]),{snapshot:n,status:a}},"useLiveSession",0,function(e,t,s,n,r,a){let[i,l]=(0,u.useState)("idle"),[o,h]=(0,u.useState)(!1),[p,d]=(0,u.useState)(0),b=(0,u.useRef)(r),g=(0,u.useRef)(a);return b.current=r,g.current=a,(0,u.useEffect)(()=>{if(!n||!t||!e||!s)return void l("idle");let r=new c(e,t),a=!1,i=0,o=null,u=null;h(!1),d(0);let p=()=>{if(a)return;l("reconnecting");let e=Math.min(1e3*2**i,15e3);i+=1,u=setTimeout(()=>void v(),e)},v=async()=>{let e;if(!a){l(0===i?"connecting":"reconnecting"),g.current(),d(0);try{({token:e}=await r.liveToken())}catch{p();return}if(!a){o=new AbortController;try{let t=await fetch(r.liveSessionUrl(e,s),{headers:{accept:"text/event-stream"},cache:"no-store",signal:o.signal});if(403===t.status){h(!0),l("idle");return}if(!t.ok||!t.body)return void p();i=0,l("open"),await m(t.body,o.signal,e=>{try{b.current(JSON.parse(e)),d(e=>e+1)}catch{}}),a||p()}catch{a||p()}}}};return v(),()=>{a=!0,u&&clearTimeout(u),o?.abort()}},[e,t,s,n]),{status:i,gated:o,count:p}},"useLiveStream",0,function(e,t,s,n,r){let[a,i]=(0,u.useState)("idle"),l=(0,u.useRef)(n);l.current=n;let o=r&&r.length>0?[...r].sort().join(","):"";return(0,u.useEffect)(()=>{if(!s||!t||!e)return void i("idle");let n=new c(e,t),r=o?o.split(","):void 0;return h(n,e=>n.liveStreamUrl(e,r),e=>{e.addEventListener("event",e=>{try{l.current(JSON.parse(e.data))}catch{}})},i)},[e,t,s,o]),{status:a}}],88725)},93425,e=>{"use strict";var t=e.i(29212),s=e.i(94179);function n({children:e,label:s="More information"}){return(0,t.jsxs)("span",{className:"group relative inline-flex",children:[(0,t.jsx)("button",{type:"button","aria-label":s,className:"flex h-4 w-4 items-center justify-center rounded-full border border-edge text-[10px] font-bold leading-none text-fg-muted transition hover:border-amber hover:text-fg-hi focus:outline-none focus:ring-1 focus:ring-amber",children:"?"}),(0,t.jsx)("span",{role:"tooltip",className:"pointer-events-none absolute left-1/2 top-6 z-20 w-64 -translate-x-1/2 rounded-md border border-edge bg-ink/95 p-2.5 text-xs font-normal normal-case leading-relaxed tracking-normal text-fg opacity-0 shadow-lg shadow-black/40 transition-opacity duration-150 group-hover:opacity-100 group-focus-within:opacity-100",children:e})]})}function r({label:e,onClick:s,active:n=!1,children:a}){return(0,t.jsx)("button",{type:"button","aria-label":e,title:e,onClick:s,"aria-pressed":n,className:`flex h-6 w-6 items-center justify-center rounded-md border text-sm leading-none transition focus:outline-none focus:ring-1 focus:ring-amber ${n?"border-amber text-amber":"border-edge text-fg-muted hover:border-amber hover:text-fg-hi"}`,children:a})}e.s(["Panel",0,function({title:e,subtitle:a,help:i,children:c,className:l="",collapsible:o=!1,defaultCollapsed:u=!1,onHide:h,settings:m}){let[p,d]=(0,s.useState)(o&&u),[b,g]=(0,s.useState)(!1),v=(0,t.jsxs)("header",{className:p?"":"mb-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold uppercase tracking-wide text-fg",children:e}),o?(0,t.jsx)("span",{"aria-hidden":"true",className:"text-xs text-fg-muted",children:p?"▸":"▾"}):null,i?(0,t.jsx)(n,{label:`About: ${e}`,children:i}):null]}),a?(0,t.jsx)("p",{className:"mt-0.5 text-xs text-fg-muted",children:a}):null]}),f=!!m||!!h;return(0,t.jsxs)("section",{className:`rounded-xl border border-edge bg-panel p-4 shadow-lg shadow-black/20 ${l}`,children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[o?(0,t.jsx)("button",{type:"button",onClick:()=>d(e=>!e),"aria-expanded":p?"false":"true",className:"min-w-0 flex-1 text-left",children:v}):(0,t.jsx)("div",{className:"min-w-0 flex-1",children:v}),f?(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[m?(0,t.jsx)(r,{label:`${e} settings`,active:b,onClick:()=>g(e=>!e),children:(0,t.jsx)("span",{"aria-hidden":"true",children:"⚙"})}):null,h?(0,t.jsx)(r,{label:`Hide ${e}`,onClick:h,children:(0,t.jsx)("span",{"aria-hidden":"true",children:"×"})}):null]}):null]}),m&&b?(0,t.jsx)("div",{className:"mb-3 rounded-lg border border-edge bg-ink/40 p-3",children:m}):null,p?null:c]})}])},62238,e=>{"use strict";e.s(["ZOOM_IN_FACTOR",0,1/1.2,"ZOOM_OUT_FACTOR",0,1.2,"attachDoubleClickFocus",0,function(e,t,s){let n=()=>{let t=e.pick(e.pointerX,e.pointerY);t?.hit&&t.pickedPoint&&s.setTarget(t.pickedPoint)};return t.addEventListener("dblclick",n),()=>t.removeEventListener("dblclick",n)},"disableWheelZoom",0,function(e){e.inputs.removeByType("ArcRotateCameraMouseWheelInput")},"resetFocus",0,function(e,t){e.setTarget(t.target),e.alpha=t.alpha,e.beta=t.beta,e.radius=t.radius},"stepZoom",0,function(e,t){let s=e.lowerRadiusLimit??.01,n=e.upperRadiusLimit??1/0;e.radius=Math.min(n,Math.max(s,e.radius*t))}])},42279,e=>{"use strict";var t=e.i(29212),s=e.i(62238);e.s(["ZoomButtons",0,function({onZoom:e,onReset:n}){let r="grid h-8 w-8 place-items-center rounded-md border border-edge bg-ink/80 text-lg leading-none text-fg backdrop-blur transition hover:bg-ink hover:text-white";return(0,t.jsxs)("div",{className:"absolute right-3 top-3 flex flex-col gap-1",children:[(0,t.jsx)("button",{type:"button","aria-label":"Zoom in",className:r,onClick:()=>e(s.ZOOM_IN_FACTOR),children:"+"}),(0,t.jsx)("button",{type:"button","aria-label":"Zoom out",className:r,onClick:()=>e(s.ZOOM_OUT_FACTOR),children:"−"}),n?(0,t.jsx)("button",{type:"button","aria-label":"Reset camera focus to center",title:"Reset focus to center",className:r,onClick:n,children:(0,t.jsxs)("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,t.jsx)("path",{d:"M8 1v2.5M8 12.5V15M1 8h2.5M12.5 8H15"})]})}):null]})}])},56054,59683,37660,e=>{"use strict";let t="linear-gradient(to right, rgb(178,47,38), rgb(224,123,57), rgb(244,200,75))";e.s(["HEAT_GRADIENT",0,t,"heatRgb",0,function(e){let t=Math.max(0,Math.min(1,e)),s=[.878,.482,.224],n=(e,t,s)=>[e[0]+(t[0]-e[0])*s,e[1]+(t[1]-e[1])*s,e[2]+(t[2]-e[2])*s];return t<.5?n([.698,.184,.149],s,t/.5):n(s,[.957,.784,.294],(t-.5)/.5)},"percentileMax",0,function(e,t=.95){if(0===e.length)return 1;let s=[...e].sort((e,t)=>e-t),n=Math.max(0,Math.min(1,t))*(s.length-1),r=Math.floor(n),a=Math.ceil(n);return Math.max(1,r===a?s[r]:s[r]+(s[a]-s[r])*(n-r))}],56054),e.s(["attachMeshHover",0,function(e,t,s){let n=0,r=null,a=t=>{let a=t.offsetX,i=t.offsetY;n||(n=requestAnimationFrame(()=>{var t,c;let l;n=0;let o=e.pick(a,i,e=>e.isPickable&&e.isEnabled()),u=o?.pickedMesh?(t=o.pickedMesh,c=o.thinInstanceIndex??-1,(l=t.metadata)?c>=0&&l.hoverLabels?l.hoverLabels[c]??null:l.hoverLabel??null:null):null;u?s({label:u,x:a,y:i}):null!==r&&s(null),r=u}))},i=()=>{n&&(cancelAnimationFrame(n),n=0),null!==r&&(r=null,s(null))};return t.addEventListener("pointermove",a),t.addEventListener("pointerleave",i),()=>{t.removeEventListener("pointermove",a),t.removeEventListener("pointerleave",i),n&&cancelAnimationFrame(n)}}],59683);var s=e.i(29212);e.s(["HeatLegend",0,function({title:e,lowLabel:n="low",highLabel:r="high",note:a}){return(0,s.jsxs)("div",{className:"pointer-events-none absolute bottom-3 left-3 rounded-md border border-edge bg-ink/80 px-3 py-2 text-fg backdrop-blur-sm",children:[(0,s.jsx)("div",{className:"mb-1 text-xs font-medium text-fg",children:e}),(0,s.jsx)("div",{className:"h-2 w-36 rounded-sm",style:{background:t}}),(0,s.jsxs)("div",{className:"mt-1 flex w-36 justify-between text-[10px] text-fg-muted",children:[(0,s.jsx)("span",{children:n}),(0,s.jsx)("span",{children:r})]}),a?(0,s.jsx)("div",{className:"mt-1 max-w-44 text-[10px] leading-tight text-fg-muted",children:a}):null]})}],37660)},38413,e=>{"use strict";var t=e.i(29212),s=e.i(94179),n=e.i(56054),r=e.i(62238),a=e.i(59683),i=e.i(37660),c=e.i(93425),l=e.i(42279);let o="World heatmap (3D)",u="Pointer hit-points voxel-binned in world space — drag to orbit, +/- to zoom, double-click to focus";function h({voxels:c,cellSize:o,proxyMeshes:u=[],legendTitle:p="Pointer-hit density",legendLow:d="few hits",legendHigh:b="most hits",legendNote:g="Each marker is a voxel where the pointer hit your scene. Color & size scale with hits, normalized to the 95th-percentile cell so a few hotspots don't wash out the rest.",emptyLabel:v="No 3D hit-points in range.",totals:f}){let x=(0,s.useRef)(null),k=(0,s.useRef)(null),j=(0,s.useRef)(null),[_,N]=(0,s.useState)("loading"),[y,w]=(0,s.useState)(null),[z,S]=(0,s.useState)("sphere"),[L,P]=(0,s.useState)(null);(0,s.useEffect)(()=>{let t=x.current;if(!t)return;if(0===c.length&&0===u.length)return void N("empty");let s=!1,i=null;return N("loading"),w(null),(async()=>{try{let[{Engine:l},{Scene:h},{ArcRotateCamera:m},{HemisphericLight:p},{Vector3:d,Color3:b,Color4:g,Matrix:v},{MeshBuilder:f},{StandardMaterial:x}]=await Promise.all([e.A(66022),e.A(48505),e.A(53976),e.A(42436),e.A(89370),e.A(67141),e.A(20693),e.A(9607),e.A(96664)]);if(s)return;let _=(0,n.percentileMax)(c.map(e=>e.count),.95),y=0,w=0,S=0,L=0;for(let e of c)y+=(e.vx+.5)*o,w+=(e.vy+.5)*o,S+=(e.vz+.5)*o,L++;if(0===L)for(let e of u)y+=(e.aabb[0]+e.aabb[3])/2,w+=(e.aabb[1]+e.aabb[4])/2,S+=(e.aabb[2]+e.aabb[5])/2,L++;let R=new d(y/L,w/L,S/L),T=4*o;for(let e of c){let t=(e.vx+.5)*o-R.x,s=(e.vy+.5)*o-R.y,n=(e.vz+.5)*o-R.z;T=Math.max(T,Math.sqrt(t*t+s*s+n*n))}for(let e of u){let t=(e.aabb[0]+e.aabb[3])/2-R.x,s=(e.aabb[1]+e.aabb[4])/2-R.y,n=(e.aabb[2]+e.aabb[5])/2-R.z;T=Math.max(T,Math.sqrt(t*t+s*s+n*n))}let C=new l(t,!0,{preserveDrawingBuffer:!1}),A=new h(C);A.clearColor=new g(.04,.05,.07,1);let M=new m("world-cam",Math.PI/4,Math.PI/3,2.4*T,R,A);if(M.attachControl(t,!0),(0,r.disableWheelZoom)(M),k.current=M,j.current={target:R,alpha:M.alpha,beta:M.beta,radius:M.radius},new p("world-light",new d(.4,1,.3),A),u.length>0){let e=f.CreateBox("scene-proxy",{size:1},A),t=new x("scene-proxy-mat",A);t.wireframe=!0,t.disableLighting=!0,t.emissiveColor=new b(.32,.4,.52),t.alpha=.35,e.material=t,e.isPickable=!0,e.thinInstanceEnablePicking=!0,e.metadata={hoverLabels:u.map(e=>e.name)};let s=u.length,n=new Float32Array(16*s);for(let e=0;e<s;e++){let t=u[e].aabb,s=Math.max(t[3]-t[0],.001),r=Math.max(t[4]-t[1],.001),a=Math.max(t[5]-t[2],.001);v.Scaling(s,r,a).multiply(v.Translation((t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2)).copyToArray(n,16*e)}e.thinInstanceSetBuffer("matrix",n,16,!0)}if(c.length>0){let e="cube"===z?f.CreateBox("world-voxel",{size:.9*o},A):f.CreateSphere("world-voxel",{diameter:.9*o,segments:6},A),t=new x("world-voxel-mat",A);t.diffuseColor=new b(1,1,1),t.specularColor=new b(0,0,0),e.material=t;let s=c.length,r=new Float32Array(16*s),a=new Float32Array(4*s),i=new Float32Array(s),l=Math.max(.02*T,.25*o)/(.9*o);for(let e=0;e<s;e++){let t=c[e],s=Math.min(1,t.count/_),u=l*(.5+.5*s);i[e]=u,v.Scaling(u,u,u).multiply(v.Translation((t.vx+.5)*o,(t.vy+.5)*o,(t.vz+.5)*o)).copyToArray(r,16*e);let[h,m,p]=(0,n.heatRgb)(s);a[4*e]=h,a[4*e+1]=m,a[4*e+2]=p,a[4*e+3]=1}e.thinInstanceSetBuffer("matrix",r,16,!1),e.thinInstanceSetBuffer("color",a,4,!0);let u=M.radius,h=0,m=()=>{let t=Math.min(8,Math.max(.6,M.radius/u));if(!(.01>Math.abs(t-h))){h=t;for(let e=0;e<s;e++){let s=i[e]*t,n=16*e;r[n]=s,r[n+5]=s,r[n+10]=s}e.thinInstanceBufferUpdated("matrix")}};m(),A.onBeforeRenderObservable.add(m)}C.runRenderLoop(()=>A.render());let q=()=>C.resize();window.addEventListener("resize",q);let E=(0,a.attachMeshHover)(A,t,P),U=(0,r.attachDoubleClickFocus)(A,t,M);N("ready"),i=()=>{window.removeEventListener("resize",q),E(),U(),P(null),k.current=null,j.current=null,A.dispose(),C.dispose()}}catch(e){if(s)return;N("error"),w(e instanceof Error?e.message:"Failed to render heatmap.")}})(),()=>{s=!0,i?.()}},[c,o,u,z]);let R=f?f.cells>c.length?` Showing the ${c.length.toLocaleString()} busiest of ${f.cells.toLocaleString()} occupied cells (${f.hits.toLocaleString()} total hits).`:` ${f.cells.toLocaleString()} occupied cells, ${f.hits.toLocaleString()} total hits.`:"";return(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:x,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),L?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:L.x+12,top:L.y+12},children:L.label}):null,"ready"===_?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{shape:z,onChange:S}),(0,t.jsx)(l.ZoomButtons,{onZoom:e=>k.current&&(0,r.stepZoom)(k.current,e),onReset:()=>k.current&&j.current&&(0,r.resetFocus)(k.current,j.current)}),(0,t.jsx)(i.HeatLegend,{title:p,lowLabel:d,highLabel:b,note:g+R})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===_?"Rendering…":"empty"===_?v:"error"===_?y??"Heatmap unavailable.":null})]})}function m({shape:e,onChange:s}){let n=e=>`h-8 px-2.5 text-xs font-medium leading-none transition first:rounded-l-md last:rounded-r-md ${e?"bg-ink text-white":"bg-ink/80 text-fg hover:text-white"}`,r="sphere"===e,a="cube"===e;return(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex overflow-hidden rounded-md border border-edge backdrop-blur",role:"group","aria-label":"Voxel marker shape",children:[(0,t.jsx)("button",{type:"button",className:n(r),"aria-pressed":r,onClick:()=>s("sphere"),children:"Spheres"}),(0,t.jsx)("button",{type:"button",className:n(a),"aria-pressed":a,onClick:()=>s("cube"),children:"Cubes"})]})}e.s(["WORLD_HEATMAP_SUBTITLE",0,u,"WORLD_HEATMAP_TITLE",0,o,"WorldHeatmap3D",0,function({title:e=o,subtitle:s=u,...n}){return(0,t.jsx)(c.Panel,{title:e,subtitle:s,children:(0,t.jsx)(h,{...n})})},"WorldHeatmap3DView",0,h])},66022,e=>{e.v(t=>Promise.all(["static/chunks/0v82oqyoy9zol.js","static/chunks/2ycvtdd68gub7.js","static/chunks/1uu93wuxigx4k.js","static/chunks/30-tbi7pys6fp.js","static/chunks/0grlb9lo8e502.js","static/chunks/1nj82er7msdto.js","static/chunks/1zj8x5wbgnzz-.js"].map(t=>e.l(t))).then(()=>t(94080)))},48505,e=>{e.v(t=>Promise.all(["static/chunks/43s_lbd1i2krj.js","static/chunks/0c83pe1mpx456.js","static/chunks/0v82oqyoy9zol.js","static/chunks/31u5lbu1vxznh.js","static/chunks/1nj82er7msdto.js","static/chunks/431slrqh0wa0g.js","static/chunks/2izioctrfc0s5.js","static/chunks/30-tbi7pys6fp.js","static/chunks/3-eswqjobiqk1.js"].map(t=>e.l(t))).then(()=>t(73073)))},53976,e=>{e.v(t=>Promise.all(["static/chunks/0c83pe1mpx456.js","static/chunks/14bws-suyy5zu.js","static/chunks/3xagd_2_9zft2.js","static/chunks/2izioctrfc0s5.js","static/chunks/0v82oqyoy9zol.js","static/chunks/290d93hmm_e8b.js","static/chunks/3sdoskq_buttj.js","static/chunks/1nj82er7msdto.js","static/chunks/3-eswqjobiqk1.js","static/chunks/30-tbi7pys6fp.js","static/chunks/31u5lbu1vxznh.js","static/chunks/3e8fmlq0k5wkg.js"].map(t=>e.l(t))).then(()=>t(18662)))},42436,e=>{e.v(t=>Promise.all(["static/chunks/1gs-5722l4u59.js","static/chunks/1ynju1jqfrcv0.js","static/chunks/2izioctrfc0s5.js","static/chunks/30-tbi7pys6fp.js","static/chunks/0v82oqyoy9zol.js"].map(t=>e.l(t))).then(()=>t(12847)))},89370,e=>{e.v(t=>Promise.all(["static/chunks/0dm32-jq30tg8.js","static/chunks/30-tbi7pys6fp.js","static/chunks/0v82oqyoy9zol.js"].map(t=>e.l(t))).then(()=>t(62566)))},67141,e=>{e.v(t=>Promise.all(["static/chunks/1zl6t15gh34nn.js","static/chunks/0c83pe1mpx456.js","static/chunks/0titqrn1qmcsv.js","static/chunks/33dgpebv-tf73.js","static/chunks/0v82oqyoy9zol.js","static/chunks/2d6hru4qo23tt.js","static/chunks/14bws-suyy5zu.js","static/chunks/3xagd_2_9zft2.js","static/chunks/1nj82er7msdto.js","static/chunks/3e8fmlq0k5wkg.js","static/chunks/2izioctrfc0s5.js","static/chunks/431slrqh0wa0g.js","static/chunks/3-eswqjobiqk1.js","static/chunks/30-tbi7pys6fp.js","static/chunks/31u5lbu1vxznh.js","static/chunks/2veqsohwfhfqc.js"].map(t=>e.l(t))).then(()=>t(97998)))},20693,e=>{e.v(t=>Promise.all(["static/chunks/0tnlbw78tgaxp.js","static/chunks/19016f8-ry0z6.js","static/chunks/0c83pe1mpx456.js","static/chunks/2izioctrfc0s5.js","static/chunks/3ne77mjdz2y7o.js","static/chunks/0v82oqyoy9zol.js","static/chunks/3-eswqjobiqk1.js","static/chunks/1nj82er7msdto.js","static/chunks/3xagd_2_9zft2.js","static/chunks/431slrqh0wa0g.js","static/chunks/31u5lbu1vxznh.js","static/chunks/30-tbi7pys6fp.js"].map(t=>e.l(t))).then(()=>t(32550)))},8850,e=>{e.v(t=>Promise.all(["static/chunks/3edelqkq92pil.js","static/chunks/0c83pe1mpx456.js","static/chunks/2izioctrfc0s5.js","static/chunks/31u5lbu1vxznh.js","static/chunks/2hpxou_cnp4f_.js","static/chunks/3-eswqjobiqk1.js","static/chunks/3xagd_2_9zft2.js","static/chunks/3e8fmlq0k5wkg.js","static/chunks/1nj82er7msdto.js","static/chunks/30-tbi7pys6fp.js","static/chunks/0v82oqyoy9zol.js"].map(t=>e.l(t))).then(()=>t(35131)))},63836,e=>{e.v(t=>Promise.all(["static/chunks/04_yytpc2paxy.js","static/chunks/002cjeoit6-up.js","static/chunks/0v82oqyoy9zol.js","static/chunks/1nj82er7msdto.js","static/chunks/0grlb9lo8e502.js","static/chunks/30-tbi7pys6fp.js","static/chunks/223vrr_4sfhsj.js"].map(t=>e.l(t))).then(()=>t(14960)))},9607,e=>{e.v(t=>Promise.all(["static/chunks/1hatz-jlztrn0.js","static/chunks/0c83pe1mpx456.js","static/chunks/2izioctrfc0s5.js","static/chunks/31u5lbu1vxznh.js","static/chunks/2hpxou_cnp4f_.js","static/chunks/30-tbi7pys6fp.js","static/chunks/3xagd_2_9zft2.js","static/chunks/1nj82er7msdto.js","static/chunks/3-eswqjobiqk1.js","static/chunks/3e8fmlq0k5wkg.js","static/chunks/0v82oqyoy9zol.js"].map(t=>e.l(t))).then(()=>t(26831)))},96664,e=>{e.v(t=>Promise.all(["static/chunks/0c83pe1mpx456.js","static/chunks/2hpxou_cnp4f_.js","static/chunks/0v82oqyoy9zol.js","static/chunks/31u5lbu1vxznh.js","static/chunks/3coacc4-g-g5c.js","static/chunks/30-tbi7pys6fp.js","static/chunks/2izioctrfc0s5.js","static/chunks/431slrqh0wa0g.js","static/chunks/3-eswqjobiqk1.js","static/chunks/1nj82er7msdto.js"].map(t=>e.l(t))).then(()=>t(44981)))},69091,e=>{e.v(t=>Promise.all(["static/chunks/2nck5w4c7leb7.js"].map(t=>e.l(t))).then(()=>t(12449)))},33996,e=>{e.v(t=>Promise.all(["static/chunks/0g_v2zswo4l6f.js"].map(t=>e.l(t))).then(()=>t(25453)))},56403,e=>{e.v(t=>Promise.all(["static/chunks/0927l-ygd5c8d.js"].map(t=>e.l(t))).then(()=>t(61518)))}]);