@dcl-regenesislabs/web-editor 0.0.0-stage → 0.1.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 (277) hide show
  1. package/editor.css +1 -0
  2. package/editor.js +33891 -0
  3. package/package.json +8 -4
  4. package/prefabs/admin-tools/composite.json +77 -0
  5. package/prefabs/admin-tools/data.json +28 -0
  6. package/prefabs/admin-tools/icons/admin-panel-control-button.png +0 -0
  7. package/prefabs/admin-tools/icons/admin-panel-moderation-control-button.png +0 -0
  8. package/prefabs/admin-tools/icons/admin-panel-rewards-control-button.png +0 -0
  9. package/prefabs/admin-tools/icons/admin-panel-smart-item-control-button.png +0 -0
  10. package/prefabs/admin-tools/icons/admin-panel-text-announcement-control-button.png +0 -0
  11. package/prefabs/admin-tools/icons/admin-panel-video-control-button.png +0 -0
  12. package/prefabs/admin-tools/icons/admin-tool-background.png +0 -0
  13. package/prefabs/admin-tools/icons/announcements/text-announcement-chat-message.png +0 -0
  14. package/prefabs/admin-tools/icons/announcements/text-announcement-check.png +0 -0
  15. package/prefabs/admin-tools/icons/announcements/text-announcement-close-button.png +0 -0
  16. package/prefabs/admin-tools/icons/moderation/admin-panel-verified-user.png +0 -0
  17. package/prefabs/admin-tools/icons/moderation/ban.png +0 -0
  18. package/prefabs/admin-tools/icons/moderation/chevron-back.png +0 -0
  19. package/prefabs/admin-tools/icons/moderation/chevron-forward.png +0 -0
  20. package/prefabs/admin-tools/icons/moderation/close.png +0 -0
  21. package/prefabs/admin-tools/icons/moderation/error.png +0 -0
  22. package/prefabs/admin-tools/icons/moderation/person-outline.png +0 -0
  23. package/prefabs/admin-tools/icons/moderation-control-icon.png +0 -0
  24. package/prefabs/admin-tools/icons/rewards/close.png +0 -0
  25. package/prefabs/admin-tools/icons/rewards/send.png +0 -0
  26. package/prefabs/admin-tools/icons/rewards-control.png +0 -0
  27. package/prefabs/admin-tools/icons/smart-item-control.png +0 -0
  28. package/prefabs/admin-tools/icons/text-announcement-control.png +0 -0
  29. package/prefabs/admin-tools/icons/video/chevron-down.png +0 -0
  30. package/prefabs/admin-tools/icons/video/chevron-up.png +0 -0
  31. package/prefabs/admin-tools/icons/video/copy-to-clipboard.png +0 -0
  32. package/prefabs/admin-tools/icons/video/error.png +0 -0
  33. package/prefabs/admin-tools/icons/video/eye-off.png +0 -0
  34. package/prefabs/admin-tools/icons/video/eye.png +0 -0
  35. package/prefabs/admin-tools/icons/video/help.png +0 -0
  36. package/prefabs/admin-tools/icons/video/info.png +0 -0
  37. package/prefabs/admin-tools/icons/video/person-outline.png +0 -0
  38. package/prefabs/admin-tools/icons/video/star.png +0 -0
  39. package/prefabs/admin-tools/icons/video/video-control-dcl-cast.png +0 -0
  40. package/prefabs/admin-tools/icons/video/video-control-live.png +0 -0
  41. package/prefabs/admin-tools/icons/video/video-control-loop.png +0 -0
  42. package/prefabs/admin-tools/icons/video/video-control-mute.png +0 -0
  43. package/prefabs/admin-tools/icons/video/video-control-pause-button.png +0 -0
  44. package/prefabs/admin-tools/icons/video/video-control-play-button.png +0 -0
  45. package/prefabs/admin-tools/icons/video/video-control-video-icon.png +0 -0
  46. package/prefabs/admin-tools/icons/video/video-control-volume-minus-button.png +0 -0
  47. package/prefabs/admin-tools/icons/video/video-control-volume-plus-button.png +0 -0
  48. package/prefabs/admin-tools/icons/video-control.png +0 -0
  49. package/prefabs/admin-tools/scripts/actions.ts +206 -0
  50. package/prefabs/admin-tools/scripts/admin.tsx +253 -0
  51. package/prefabs/admin-tools/scripts/api.ts +125 -0
  52. package/prefabs/admin-tools/scripts/components.ts +190 -0
  53. package/prefabs/admin-tools/scripts/icons.ts +53 -0
  54. package/prefabs/admin-tools/scripts/message-bus.ts +297 -0
  55. package/prefabs/admin-tools/scripts/state.ts +69 -0
  56. package/prefabs/admin-tools/scripts/tabs/Moderation.tsx +155 -0
  57. package/prefabs/admin-tools/scripts/tabs/Rewards.tsx +136 -0
  58. package/prefabs/admin-tools/scripts/tabs/SmartItemActions.tsx +167 -0
  59. package/prefabs/admin-tools/scripts/tabs/TextAnnouncements.tsx +195 -0
  60. package/prefabs/admin-tools/scripts/tabs/VideoControl.tsx +156 -0
  61. package/prefabs/admin-tools/scripts/tabs/announcements/Overlay.tsx +94 -0
  62. package/prefabs/admin-tools/scripts/tabs/announcements/icons.ts +15 -0
  63. package/prefabs/admin-tools/scripts/tabs/announcements/state.ts +71 -0
  64. package/prefabs/admin-tools/scripts/tabs/announcements/ui.tsx +37 -0
  65. package/prefabs/admin-tools/scripts/tabs/moderation/AddUserInput.tsx +184 -0
  66. package/prefabs/admin-tools/scripts/tabs/moderation/RemoveAdminConfirmation.tsx +93 -0
  67. package/prefabs/admin-tools/scripts/tabs/moderation/UsersList.tsx +228 -0
  68. package/prefabs/admin-tools/scripts/tabs/moderation/api.ts +35 -0
  69. package/prefabs/admin-tools/scripts/tabs/moderation/icons.ts +23 -0
  70. package/prefabs/admin-tools/scripts/tabs/moderation/kick.ts +95 -0
  71. package/prefabs/admin-tools/scripts/tabs/moderation/state.ts +69 -0
  72. package/prefabs/admin-tools/scripts/tabs/moderation/ui.tsx +172 -0
  73. package/prefabs/admin-tools/scripts/tabs/moderation/utils.ts +88 -0
  74. package/prefabs/admin-tools/scripts/tabs/rewards/Button.tsx +52 -0
  75. package/prefabs/admin-tools/scripts/tabs/rewards/Captcha.tsx +88 -0
  76. package/prefabs/admin-tools/scripts/tabs/rewards/api.ts +138 -0
  77. package/prefabs/admin-tools/scripts/tabs/rewards/claim.ts +99 -0
  78. package/prefabs/admin-tools/scripts/tabs/rewards/controller.ts +103 -0
  79. package/prefabs/admin-tools/scripts/tabs/rewards/icons.ts +13 -0
  80. package/prefabs/admin-tools/scripts/tabs/rewards/state.ts +32 -0
  81. package/prefabs/admin-tools/scripts/tabs/smart-items/selection.ts +90 -0
  82. package/prefabs/admin-tools/scripts/tabs/video/DclCast.tsx +226 -0
  83. package/prefabs/admin-tools/scripts/tabs/video/LiveStream.tsx +284 -0
  84. package/prefabs/admin-tools/scripts/tabs/video/SpeakerShowcase.tsx +112 -0
  85. package/prefabs/admin-tools/scripts/tabs/video/VideoUrl.tsx +107 -0
  86. package/prefabs/admin-tools/scripts/tabs/video/Volume.tsx +69 -0
  87. package/prefabs/admin-tools/scripts/tabs/video/api.ts +172 -0
  88. package/prefabs/admin-tools/scripts/tabs/video/controls.ts +108 -0
  89. package/prefabs/admin-tools/scripts/tabs/video/icons.ts +59 -0
  90. package/prefabs/admin-tools/scripts/tabs/video/speakers.ts +43 -0
  91. package/prefabs/admin-tools/scripts/tabs/video/state.ts +82 -0
  92. package/prefabs/admin-tools/scripts/tabs/video/ui.tsx +243 -0
  93. package/prefabs/admin-tools/scripts/types.ts +46 -0
  94. package/prefabs/admin-tools/scripts/ui.tsx +122 -0
  95. package/prefabs/admin-tools/thumbnail.png +0 -0
  96. package/prefabs/announcer/ai.md +76 -0
  97. package/prefabs/announcer/composite.json +31 -0
  98. package/prefabs/announcer/data.json +35 -0
  99. package/prefabs/announcer/scripts/announcer.tsx +79 -0
  100. package/prefabs/announcer/scripts/pure/toast.ts +30 -0
  101. package/prefabs/announcer/thumbnail.png +0 -0
  102. package/prefabs/black-chair/HighBackChair.glb +0 -0
  103. package/prefabs/black-chair/composite.json +74 -0
  104. package/prefabs/black-chair/data.json +30 -0
  105. package/prefabs/black-chair/scripts/seat.ts +191 -0
  106. package/prefabs/black-chair/thumbnail.png +0 -0
  107. package/prefabs/catalog.json +1 -0
  108. package/prefabs/classic-bench/Bench_01.glb +0 -0
  109. package/prefabs/classic-bench/composite.json +100 -0
  110. package/prefabs/classic-bench/data.json +34 -0
  111. package/prefabs/classic-bench/file1.png +0 -0
  112. package/prefabs/classic-bench/scripts/seat.ts +191 -0
  113. package/prefabs/classic-bench/thumbnail.png +0 -0
  114. package/prefabs/classic-bench-armrests/Bench 1.glb +0 -0
  115. package/prefabs/classic-bench-armrests/composite.json +100 -0
  116. package/prefabs/classic-bench-armrests/data.json +30 -0
  117. package/prefabs/classic-bench-armrests/scripts/seat.ts +191 -0
  118. package/prefabs/classic-bench-armrests/thumbnail.png +0 -0
  119. package/prefabs/classroom-chair/Chair_02.glb +0 -0
  120. package/prefabs/classroom-chair/composite.json +74 -0
  121. package/prefabs/classroom-chair/data.json +34 -0
  122. package/prefabs/classroom-chair/file1.png +0 -0
  123. package/prefabs/classroom-chair/scripts/seat.ts +191 -0
  124. package/prefabs/classroom-chair/thumbnail.png +0 -0
  125. package/prefabs/court-chair/Chair_Wood_01.glb +0 -0
  126. package/prefabs/court-chair/FanstasyPack_TX.png +0 -0
  127. package/prefabs/court-chair/composite.json +74 -0
  128. package/prefabs/court-chair/data.json +34 -0
  129. package/prefabs/court-chair/scripts/seat.ts +191 -0
  130. package/prefabs/court-chair/thumbnail.png +0 -0
  131. package/prefabs/curved-couch/CurvedCouch.glb +0 -0
  132. package/prefabs/curved-couch/composite.json +100 -0
  133. package/prefabs/curved-couch/data.json +30 -0
  134. package/prefabs/curved-couch/scripts/seat.ts +191 -0
  135. package/prefabs/curved-couch/thumbnail.png +0 -0
  136. package/prefabs/game-flow/ai.md +94 -0
  137. package/prefabs/game-flow/composite.json +45 -0
  138. package/prefabs/game-flow/data.json +27 -0
  139. package/prefabs/game-flow/scripts/game-flow.ts +168 -0
  140. package/prefabs/game-flow/scripts/pure/flow.ts +185 -0
  141. package/prefabs/game-flow/thumbnail.png +0 -0
  142. package/prefabs/health-respawn/ai.md +76 -0
  143. package/prefabs/health-respawn/composite.json +31 -0
  144. package/prefabs/health-respawn/data.json +38 -0
  145. package/prefabs/health-respawn/scripts/health-respawn.ts +98 -0
  146. package/prefabs/health-respawn/scripts/health.ts +22 -0
  147. package/prefabs/health-respawn/scripts/pure/health.ts +60 -0
  148. package/prefabs/health-respawn/thumbnail.png +0 -0
  149. package/prefabs/high-stool/HighStool.glb +0 -0
  150. package/prefabs/high-stool/composite.json +74 -0
  151. package/prefabs/high-stool/data.json +30 -0
  152. package/prefabs/high-stool/scripts/seat.ts +191 -0
  153. package/prefabs/high-stool/thumbnail.png +0 -0
  154. package/prefabs/large-couch/ThreeSeater_Couch.glb +0 -0
  155. package/prefabs/large-couch/composite.json +100 -0
  156. package/prefabs/large-couch/data.json +30 -0
  157. package/prefabs/large-couch/scripts/seat.ts +191 -0
  158. package/prefabs/large-couch/thumbnail.png +0 -0
  159. package/prefabs/leaderboard/ai.md +75 -0
  160. package/prefabs/leaderboard/board-panel.glb +0 -0
  161. package/prefabs/leaderboard/composite.json +82 -0
  162. package/prefabs/leaderboard/data.json +35 -0
  163. package/prefabs/leaderboard/scripts/leaderboard.ts +66 -0
  164. package/prefabs/leaderboard/scripts/pure/board.ts +71 -0
  165. package/prefabs/leaderboard/thumbnail.png +0 -0
  166. package/prefabs/loveseat/Couch_01.glb +0 -0
  167. package/prefabs/loveseat/composite.json +100 -0
  168. package/prefabs/loveseat/data.json +34 -0
  169. package/prefabs/loveseat/file1.png +0 -0
  170. package/prefabs/loveseat/scripts/seat.ts +191 -0
  171. package/prefabs/loveseat/thumbnail.png +0 -0
  172. package/prefabs/modern-sofa/ModernSofa.glb +0 -0
  173. package/prefabs/modern-sofa/composite.json +100 -0
  174. package/prefabs/modern-sofa/data.json +30 -0
  175. package/prefabs/modern-sofa/scripts/seat.ts +191 -0
  176. package/prefabs/modern-sofa/thumbnail.png +0 -0
  177. package/prefabs/outdoor-chair/Chair_07.glb +0 -0
  178. package/prefabs/outdoor-chair/composite.json +74 -0
  179. package/prefabs/outdoor-chair/data.json +34 -0
  180. package/prefabs/outdoor-chair/file1.png +0 -0
  181. package/prefabs/outdoor-chair/scripts/seat.ts +191 -0
  182. package/prefabs/outdoor-chair/thumbnail.png +0 -0
  183. package/prefabs/rustic-bench/Bench_01.glb +0 -0
  184. package/prefabs/rustic-bench/PiratesPack_TX.png.png +0 -0
  185. package/prefabs/rustic-bench/composite.json +100 -0
  186. package/prefabs/rustic-bench/data.json +34 -0
  187. package/prefabs/rustic-bench/scripts/seat.ts +191 -0
  188. package/prefabs/rustic-bench/thumbnail.png +0 -0
  189. package/prefabs/rustic-round-stool/Chairwood_01.glb +0 -0
  190. package/prefabs/rustic-round-stool/PiratesPack_TX.png.png +0 -0
  191. package/prefabs/rustic-round-stool/composite.json +74 -0
  192. package/prefabs/rustic-round-stool/data.json +34 -0
  193. package/prefabs/rustic-round-stool/scripts/seat.ts +191 -0
  194. package/prefabs/rustic-round-stool/thumbnail.png +0 -0
  195. package/prefabs/rustic-square-stool/Chairwood_02.glb +0 -0
  196. package/prefabs/rustic-square-stool/PiratesPack_TX.png.png +0 -0
  197. package/prefabs/rustic-square-stool/composite.json +74 -0
  198. package/prefabs/rustic-square-stool/data.json +34 -0
  199. package/prefabs/rustic-square-stool/scripts/seat.ts +191 -0
  200. package/prefabs/rustic-square-stool/thumbnail.png +0 -0
  201. package/prefabs/server-clock/ai.md +67 -0
  202. package/prefabs/server-clock/composite.json +45 -0
  203. package/prefabs/server-clock/data.json +24 -0
  204. package/prefabs/server-clock/scripts/clock-hud.tsx +55 -0
  205. package/prefabs/server-clock/scripts/server-clock.ts +71 -0
  206. package/prefabs/server-clock/thumbnail.png +0 -0
  207. package/prefabs/simple-chair/Chair_03.glb +0 -0
  208. package/prefabs/simple-chair/composite.json +74 -0
  209. package/prefabs/simple-chair/data.json +34 -0
  210. package/prefabs/simple-chair/file1.png +0 -0
  211. package/prefabs/simple-chair/scripts/seat.ts +191 -0
  212. package/prefabs/simple-chair/thumbnail.png +0 -0
  213. package/prefabs/sit-spot/composite.json +45 -0
  214. package/prefabs/sit-spot/data.json +30 -0
  215. package/prefabs/sit-spot/scripts/seat.ts +191 -0
  216. package/prefabs/sit-spot/thumbnail.png +0 -0
  217. package/prefabs/sit-spot-edge/composite.json +42 -0
  218. package/prefabs/sit-spot-edge/data.json +32 -0
  219. package/prefabs/sit-spot-edge/emotes/Sit_Edge1_emote.glb +0 -0
  220. package/prefabs/sit-spot-edge/emotes/Sit_Edge2_emote.glb +0 -0
  221. package/prefabs/sit-spot-edge/scripts/seat.ts +191 -0
  222. package/prefabs/sit-spot-edge/thumbnail.png +0 -0
  223. package/prefabs/small-couch/TwoSeater_Couch.glb +0 -0
  224. package/prefabs/small-couch/composite.json +100 -0
  225. package/prefabs/small-couch/data.json +30 -0
  226. package/prefabs/small-couch/scripts/seat.ts +191 -0
  227. package/prefabs/small-couch/thumbnail.png +0 -0
  228. package/prefabs/spawner/ai.md +109 -0
  229. package/prefabs/spawner/composite.json +73 -0
  230. package/prefabs/spawner/data.json +22 -0
  231. package/prefabs/spawner/scripts/spawner.ts +380 -0
  232. package/prefabs/spawner/thumbnail.png +0 -0
  233. package/prefabs/steampunk-bench/Steampunk Bench.glb +0 -0
  234. package/prefabs/steampunk-bench/composite.json +100 -0
  235. package/prefabs/steampunk-bench/data.json +30 -0
  236. package/prefabs/steampunk-bench/scripts/seat.ts +191 -0
  237. package/prefabs/steampunk-bench/thumbnail.png +0 -0
  238. package/prefabs/steampunk-chair/Steampunk Chair.glb +0 -0
  239. package/prefabs/steampunk-chair/composite.json +74 -0
  240. package/prefabs/steampunk-chair/data.json +30 -0
  241. package/prefabs/steampunk-chair/scripts/seat.ts +191 -0
  242. package/prefabs/steampunk-chair/thumbnail.png +0 -0
  243. package/prefabs/tall-stool/Stool_D.glb +0 -0
  244. package/prefabs/tall-stool/composite.json +74 -0
  245. package/prefabs/tall-stool/data.json +30 -0
  246. package/prefabs/tall-stool/scripts/seat.ts +191 -0
  247. package/prefabs/tall-stool/thumbnail.png +0 -0
  248. package/prefabs/trigger-zone/ai.md +115 -0
  249. package/prefabs/trigger-zone/composite.json +52 -0
  250. package/prefabs/trigger-zone/data.json +31 -0
  251. package/prefabs/trigger-zone/scripts/trigger-zone.ts +89 -0
  252. package/prefabs/trigger-zone/thumbnail.png +0 -0
  253. package/prefabs/video-screen/composite.json +98 -0
  254. package/prefabs/video-screen/data.json +21 -0
  255. package/prefabs/video-screen/thumbnail.png +0 -0
  256. package/prefabs/video-screen/video_player.glb +0 -0
  257. package/prefabs/wooden-chair/Chair 1.glb +0 -0
  258. package/prefabs/wooden-chair/composite.json +74 -0
  259. package/prefabs/wooden-chair/data.json +30 -0
  260. package/prefabs/wooden-chair/scripts/seat.ts +191 -0
  261. package/prefabs/wooden-chair/thumbnail.png +0 -0
  262. package/prefabs/wooden-chair-armrests/Chair 3.glb +0 -0
  263. package/prefabs/wooden-chair-armrests/composite.json +74 -0
  264. package/prefabs/wooden-chair-armrests/data.json +30 -0
  265. package/prefabs/wooden-chair-armrests/scripts/seat.ts +191 -0
  266. package/prefabs/wooden-chair-armrests/thumbnail.png +0 -0
  267. package/scene/about +17 -0
  268. package/scene/bafkreias2w4xuqaic6sdcvblrisayi6xg7drfowzpt5ubjkmrk3mx6czc4 +1 -0
  269. package/scene/bafkreiby2gmthtauf7cckttphmhpecsueyypi2hzlke4lcodg7fm4cm2sq +23 -0
  270. package/scene/bafkreidhwqwajqk4nsuffef5fkdrgmp5ql6vnn2knpqsuqalyosv5o6lk4 +1 -0
  271. package/scene/bafkreihdwdcefgh4dqkjv67uzcmw7ojee6xedzdetojuzjevtenxquvyku +0 -0
  272. package/scene/bafybeihw3xlbff4sf5sc3kvmlmlwf2visnty5lfymawlunzt5vrkp5fd7u +90 -0
  273. package/web-build/esbuild.wasm +0 -0
  274. package/web-build/index.js +3 -0
  275. package/web-build/sdk-snapshot.json +1 -0
  276. package/web-build/worker.js +701 -0
  277. package/README.md +0 -3
Binary file
@@ -0,0 +1,3 @@
1
+ var Tt=Object.create;var qe=Object.defineProperty;var Ut=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var Lt=Object.getPrototypeOf,Mt=Object.prototype.hasOwnProperty;var Nt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Bt=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ct(e))!Mt.call(t,s)&&s!==n&&qe(t,s,{get:()=>e[s],enumerable:!(r=Ut(e,s))||r.enumerable});return t};var Vt=(t,e,n)=>(n=t!=null?Tt(Lt(t)):{},Bt(e||!t||!t.__esModule?qe(n,"default",{value:t,enumerable:!0}):n,t));var Rt=Nt((_r,xt)=>{function mt(t){return Array.isArray(t)?t:[t]}var Te="",wt=" ",je="\\",Rn=/^\s+$/,En=/(?:[^\\]|^)\\$/,An=/^\\!/,$n=/^\\#/,In=/\r?\n/g,Sn=/^\.*\/|^\.+$/,Oe="/",kt="node-ignore";typeof Symbol<"u"&&(kt=Symbol.for("node-ignore"));var yt=kt,_n=(t,e,n)=>Object.defineProperty(t,e,{value:n}),jn=/([0-z])-([0-z])/g,bt=()=>!1,On=t=>t.replace(jn,(e,n,r)=>n.charCodeAt(0)<=r.charCodeAt(0)?e:Te),Tn=t=>{let{length:e}=t;return t.slice(0,e-e%2)},Un=[[/^\uFEFF/,()=>Te],[/((?:\\\\)*?)(\\?\s+)$/,(t,e,n)=>e+(n.indexOf("\\")===0?wt:Te)],[/(\\+?)\s/g,(t,e)=>{let{length:n}=e;return e.slice(0,n-n%2)+wt}],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,n)=>e+6<n.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(t,e,n)=>{let r=n.replace(/\\\*/g,"[^\\/]*");return e+r}],[/\\\\\\(?=[$.|*+(){^])/g,()=>je],[/\\\\/g,()=>je],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,n,r,s)=>e===je?`\\[${n}${Tn(r)}${s}`:s==="]"&&r.length%2===0?`[${On(n)}${r}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],vt=Object.create(null),Cn=(t,e)=>{let n=vt[t];return n||(n=Un.reduce((r,[s,i])=>r.replace(s,i.bind(t)),t),vt[t]=n),e?new RegExp(n,"i"):new RegExp(n)},Le=t=>typeof t=="string",Ln=t=>t&&Le(t)&&!Rn.test(t)&&!En.test(t)&&t.indexOf("#")!==0,Mn=t=>t.split(In),Ue=class{constructor(e,n,r,s){this.origin=e,this.pattern=n,this.negative=r,this.regex=s}},Nn=(t,e)=>{let n=t,r=!1;t.indexOf("!")===0&&(r=!0,t=t.substr(1)),t=t.replace(An,"!").replace($n,"#");let s=Cn(t,e);return new Ue(n,t,r,s)},Bn=(t,e)=>{throw new e(t)},B=(t,e,n)=>Le(t)?t?B.isNotRelative(t)?n(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:n("path must not be empty",TypeError):n(`path must be a string, but got \`${e}\``,TypeError),Pt=t=>Sn.test(t);B.isNotRelative=Pt;B.convert=t=>t;var Ce=class{constructor({ignorecase:e=!0,ignoreCase:n=e,allowRelativePaths:r=!1}={}){_n(this,yt,!0),this._rules=[],this._ignoreCase=n,this._allowRelativePaths=r,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[yt]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Ln(e)){let n=Nn(e,this._ignoreCase);this._added=!0,this._rules.push(n)}}add(e){return this._added=!1,mt(Le(e)?Mn(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,n){let r=!1,s=!1;return this._rules.forEach(i=>{let{negative:c}=i;if(s===c&&r!==s||c&&!r&&!s&&!n)return;i.regex.test(e)&&(r=!c,s=c)}),{ignored:r,unignored:s}}_test(e,n,r,s){let i=e&&B.convert(e);return B(i,e,this._allowRelativePaths?bt:Bn),this._t(i,n,r,s)}_t(e,n,r,s){if(e in n)return n[e];if(s||(s=e.split(Oe)),s.pop(),!s.length)return n[e]=this._testOne(e,r);let i=this._t(s.join(Oe)+Oe,n,r,s);return n[e]=i.ignored?i:this._testOne(e,r)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return mt(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},le=t=>new Ce(t),Vn=t=>B(t&&B.convert(t),t,bt);le.isPathValid=Vn;le.default=le;xt.exports=le;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=n=>/^\\\\\?\\/.test(n)||/["<>|\u0000-\u001F]+/u.test(n)?n:n.replace(/\\/g,"/");B.convert=t;let e=/^[a-z]:\//i;B.isNotRelative=n=>e.test(n)||Pt(n)}});function ue(t){let e=[];for(let n of t.split("/"))n===".."?e.pop():n!==""&&n!=="."&&e.push(n);return"/"+e.join("/")}var L=(t,e)=>ue(t+"/"+e);function N(t){let e=t.lastIndexOf("/");return e<=0?"/":t.slice(0,e)}function Ge(t){let e=t.slice(t.lastIndexOf("/")+1),n=e.lastIndexOf(".");return n<=0?"":e.slice(n)}var Wt=new TextDecoder,te=class{constructor(){this.files=new Map;this.dirs=new Set;this.parsed=new Map}set(e,n){this.files.set(e,n),this.parsed.delete(e);for(let r=N(e);!this.dirs.has(r)&&(this.dirs.add(r),r!=="/");r=N(r));}has(e){return this.files.has(e)}isDir(e){return this.dirs.has(e)}read(e){return this.files.get(e)}text(e){let n=this.files.get(e);return n===void 0||typeof n=="string"?n:Wt.decode(n)}json(e){if(this.parsed.has(e))return this.parsed.get(e);let n,r=this.text(e);if(r!==void 0)try{n=JSON.parse(r)}catch{n=void 0}return this.parsed.set(e,n),n}},P=t=>typeof t=="object"&&t!==null&&!Array.isArray(t);var z=".dcl-package.json",ge=class{constructor(){this.packages=new Map}has(e){return this.packages.has(e)}list(e){return[...this.packages.get(e)?.keys()??[]]}read(e,n){return this.packages.get(e)?.get(n)}write(e,n,r){let s=this.packages.get(e);s===void 0&&this.packages.set(e,s=new Map),s.set(n,r)}remove(e){this.packages.delete(e)}},He=t=>Array.isArray(t)?t.filter(e=>typeof e=="string"):[];async function X(t,e){if(!await t.has(e))return;let n=await t.read(e,z);if(n!==void 0)try{let r=JSON.parse(new TextDecoder().decode(n));return!P(r)||typeof r.integrity!="string"?void 0:{integrity:r.integrity,files:Number(r.files)||0,bytes:Number(r.bytes)||0,installScripts:He(r.installScripts),native:r.native===!0,nodeBuiltins:He(r.nodeBuiltins)}}catch{return}}var Je=async(t,e,n)=>t.write(e,z,new TextEncoder().encode(JSON.stringify(n)));async function pe(t,e,n){let r;try{r=await fetch(t,e===void 0?{}:{integrity:e,mode:"cors"})}catch(s){if(e===void 0)throw s;let i=await fetch(t).then(c=>c.ok,()=>!1);throw new Error(i?`${n} does not match the hash this editor was published with. The editor will not run it: reload the page, and if this persists the files you were served were altered.`:`${n} could not be loaded (${t}). Check the connection and reload the page.`)}if(!r.ok)throw new Error(`${n} could not be loaded: ${r.status} ${t}`);return r}var Xe=/\.(tsx?|mts|cts|jsx?|mjs|cjs|json|composite|css|txt)$/,Dt=/\.d\.[mc]?ts$/;function zt(t){let e=t.get("scene.json");if(e!==void 0)try{let n=JSON.parse(new TextDecoder().decode(e)).main;return typeof n=="string"?n:void 0}catch{return}}async function Ft(t){let{integrity:e}=t;if(e===void 0)return new Worker(t.workerUrl);let n=new URL(t.workerUrl,location.href).href,r=await(await pe(n,e.worker,"web-build/worker.js")).text(),s=URL.createObjectURL(new Blob([r],{type:"text/javascript"})),i=new Worker(s);return setTimeout(()=>URL.revokeObjectURL(s),6e4),i}function Kt(t){let e=Ft(t),n=m=>void e.then(g=>g.postMessage(m),()=>{}),r=new Map,s=1,i=new Map,c=1,l=()=>{},a=()=>{},d=new Promise((m,g)=>{l=m,a=g}),f=m=>{a(new Error(m));for(let[g,v]of r){let E={type:"failed",buildId:g,message:m};t.onEvent?.(E),v.resolve({buildId:g,ok:!1,outputs:new Map,diagnostics:[],events:[...v.events,E],ms:0})}r.clear();for(let g of i.values())g.reject(new Error(m));i.clear()},h=m=>{let g=m.data;if(g.type==="ready")l({sdkVersion:g.sdkVersion,esbuildVersion:g.esbuildVersion,snapshot:{sdkVersion:g.sdkVersion,provided:g.provided}});else if(g.type==="packagesSet"){let v=i.get(g.requestId);i.delete(g.requestId),g.error===void 0?v?.resolve(g.shadowed):v?.reject(new Error(g.error))}else if(g.type==="initFailed")f(g.message);else if(g.type==="event")r.get(g.event.buildId)?.events.push(g.event),t.onEvent?.(g.event);else{let v=r.get(g.buildId);if(v===void 0)return;r.delete(g.buildId),v.resolve({buildId:g.buildId,ok:v.events.some(E=>E.type==="bundleSaved"),outputs:new Map(g.outputs),diagnostics:v.events.flatMap(E=>E.type==="diagnostics"?E.diagnostics:[]),events:v.events,ms:g.ms})}};e.then(m=>{m.onerror=g=>f(g.message||"The build worker failed to start"),m.onmessage=h},m=>f(m instanceof Error?m.message:String(m)));let{integrity:y}=t;return n({type:"init",wasmUrl:new URL(t.wasmUrl,location.href).href,snapshotUrl:new URL(t.snapshotUrl,location.href).href,integrity:y===void 0?void 0:{wasm:y.wasm,snapshot:y.snapshot}}),d.catch(()=>{}),{ready:d,build(m,g={}){let v=s++,E=zt(m),$=[...m].filter(([I])=>Xe.test(I)&&I!==E);return new Promise(I=>{r.set(v,{events:[],resolve:I}),n({type:"build",buildId:v,files:$,options:g})})},async setPackages(m,g){let v=[],E=0;for(let[C,H]of Object.entries(m?.packages??{})){let fe=g===void 0?void 0:await X(g,C);if(g===void 0||fe?.integrity!==H.integrity)throw new Error(`${C} is not in the package store`);for(let _ of await g.list(C)){if(!Xe.test(_)||Dt.test(_)||_===z)continue;let D=await g.read(C,_);if(D===void 0)throw new Error(`${C} is incomplete in the package store: ${_}`);v.push([C,_,D]),E+=D.length}}let $=c++,I=await new Promise((C,H)=>{i.set($,{resolve:C,reject:H}),n({type:"packages",requestId:$,lock:m,files:v})});return{packages:Object.keys(m?.packages??{}).length-I.length,files:v.length,bytes:E,shadowed:I}},dispose(){e.then(m=>m.terminate(),()=>{}),f("The scene builder was disposed")}}}var re="0|[1-9]\\d*",Ze="(?:-([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z.-]+)?",qt=new RegExp(`^[v=\\s]*(${re})\\.(${re})\\.(${re})${Ze}$`),he=`${re}|[xX*]`,Gt=new RegExp(`^[v=\\s]*(${he})(?:\\.(${he})(?:\\.(${he})${Ze})?)?$`),Ht=/^(<=|>=|<|>|=|\^|~>|~)?\s*(.*)$/,Ye=256;function V(t){if(t.length>Ye)return;let e=qt.exec(t.trim());if(e===null)return;let[n,r,s]=[Number(e[1]),Number(e[2]),Number(e[3])];if([n,r,s].every(Number.isSafeInteger))return{major:n,minor:r,patch:s,prerelease:Qe(e[4])}}var Qe=t=>t===void 0?[]:t.split(".").map(e=>/^\d+$/.test(e)?Number(e):e);function se(t,e){let n=t.major-e.major||t.minor-e.minor||t.patch-e.patch;if(n!==0)return Math.sign(n);if(t.prerelease.length===0||e.prerelease.length===0)return Math.sign(e.prerelease.length-t.prerelease.length);for(let r=0;;r++){let[s,i]=[t.prerelease[r],e.prerelease[r]];if(s===void 0&&i===void 0)return 0;if(s===void 0)return-1;if(i===void 0)return 1;if(s!==i)return typeof s!=typeof i?typeof s=="number"?-1:1:s<i?-1:1}}var ne=(t,e=0,n=0,r=[])=>({major:t,minor:e,patch:n,prerelease:r}),me=t=>t===void 0||/^[xX*]$/.test(t);function we(t,e){let[,n="",r=""]=Ht.exec(t)??[],s=Gt.exec(r);if(s===null)return;let[i,c,l]=[me(s[1]),me(s[2]),me(s[3])],a=i?0:Number(s[1]),d=i||c?0:Number(s[2]),f=i||c||l?0:Number(s[3]),h=!i&&!c&&!l,y=e?[0]:[],m=ne(a,d,f,h?Qe(s[4]):y),g=I=>({op:"<",version:{...I,prerelease:[0]}}),v=ne(a+1),E=ne(a,d+1);if(n==="^"){if(i)return[];let I=ne(a,d,f+1);return a>0||c?I=v:(d>0||l)&&(I=E),[{op:">=",version:m},g(I)]}if(n==="~"||n==="~>")return i?[]:[{op:">=",version:m},g(c?v:E)];if(h)return[{op:n===""?"=":n,version:m}];if(n===""||n==="=")return i?[]:[{op:">=",version:m},g(c?v:E)];if(i)return n==="<"||n===">"?null:[];let $=c?v:E;return n===">"?[{op:">=",version:{...$,prerelease:y}}]:n==="<="?[g($)]:n==="<"?[g(m)]:[{op:">=",version:m}]}function Jt(t,e,n){let r=we(">="+t,n),s=we("<="+e,n);if(r===void 0||s===void 0||r===null||s===null)return;let[i]=r;return n&&i!==void 0&&i.version.prerelease.length===0&&(i.version.prerelease=[0]),[...r,...s]}function et(t,e=!1){if(t.length>Ye)return;let n=[];for(let r of t.split("||")){let s=r.trim(),i=/^(\S+)\s+-\s+(\S+)$/.exec(s);if(i!==null){let a=Jt(i[1],i[2],e);if(a===void 0)return;n.push(a);continue}let c=[],l=!1;for(let a of s.replace(/(<=|>=|<|>|=|\^|~>|~)\s+/g,"$1").split(/\s+/)){if(a==="")continue;let d=we(a,e);if(d===void 0)return;d===null?l=!0:c.push(...d)}l||n.push(c)}return n}var Z=t=>et(t)!==void 0;function Xt(t,{op:e,version:n}){let r=se(t,n);switch(e){case"=":return r===0;case"<":return r<0;case"<=":return r<=0;case">":return r>0;case">=":return r>=0}}function F(t,e,n={}){let r=typeof t=="string"?V(t):t,s=et(e,n.includePrerelease===!0);return r===void 0||s===void 0?!1:s.some(i=>i.every(c=>Xt(r,c))?r.prerelease.length===0||n.includePrerelease===!0?!0:i.some(({version:c})=>c.prerelease.length>0&&c.major===r.major&&c.minor===r.minor&&c.patch===r.patch):!1)}function ye(t,e){let n;for(let r of t){let s=V(r);s===void 0||!F(s,e)||(n===void 0||se(s,n.version)>0)&&(n={text:r,version:s})}return n?.text}var Zt="dcl-editor.lock.json",Yt=/^(?:@[A-Za-z0-9-~][A-Za-z0-9-._~]*\/)?[A-Za-z0-9-~][A-Za-z0-9-._~]*$/,Qt=/^sha512-[A-Za-z0-9+/]{86}==$/,K=t=>t.length<=214&&Yt.test(t);function q(t){let e=t.lastIndexOf("@");if(e<=0)return;let[n,r]=[t.slice(0,e),t.slice(e+1)];return K(n)&&V(r)!==void 0?{name:n,version:r}:void 0}var M=(t,e)=>e.startsWith("npm:")?e.slice(4):`${t}@${e}`,ve=(t,e)=>e.startsWith(t+"@")&&e.lastIndexOf("@")===t.length?e.slice(t.length+1):"npm:"+e;function tt(t){if(t===void 0)return{};if(!P(t))return;let e={};for(let[n,r]of Object.entries(t)){if(typeof r!="string"||!K(n)||q(M(n,r))===void 0)return;e[n]=r}return e}function en(t){if(t===void 0)return;let e;try{e=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{return}if(!P(e)||e.lockfileVersion!==1||typeof e.registry!="string"||!P(e.packages))return;let n=tt(e.dependencies);if(n===void 0)return;let r={};for(let[s,i]of Object.entries(e.packages)){if(q(s)===void 0||!P(i))return;let c=tt(i.dependencies);if(typeof i.resolved!="string"||typeof i.integrity!="string"||!Qt.test(i.integrity)||c===void 0)return;r[s]={resolved:i.resolved,integrity:i.integrity,...Object.keys(c).length>0?{dependencies:c}:{}}}return{lockfileVersion:1,registry:e.registry,dependencies:n,packages:r}}var tn=t=>JSON.stringify(t,null,2)+`
2
+ `;var ke="web",Y=/^[a-z0-9][a-z0-9-]{0,63}$/,nt=/^[A-Za-z0-9_.]{1,64}$/,rt="\0";function st(t){let e="";for(let n of new TextEncoder().encode(t))e+=String.fromCharCode(n);return btoa(e)}function nn(t){return new TextDecoder().decode(Uint8Array.from(atob(t),e=>e.charCodeAt(0)))}function be(t){if(!Y.test(t))throw new Error(`Invalid preview project id "${t}"`);return`/preview/${t}`}function it(t){if(!nt.test(t))throw new Error(`Invalid preview machine id "${t}"`);return"-"+t}var Pe=(t,e=ke)=>"b64-"+st(be(t)+it(e)),xe=(t,e,n,r=ke)=>"b64-"+st(`${be(t)}/${e}${rt}${n}${it(r)}`);function rn(t){if(!t.startsWith("b64-"))return null;let e;try{e=nn(t.slice(4))}catch{return null}let n=e.lastIndexOf("-"),r=e.slice(n+1);if(n===-1||!nt.test(r))return null;let[s,i]=e.slice(0,n).split(rt),c=/^\/preview\/([^/]+)(?:\/(.+))?$/.exec(s);return c===null||!Y.test(c[1])?null:{projectId:c[1],file:c[2]??"",version:i,machineId:r}}var G=t=>t;async function Re(t){let e=new Uint8Array(await crypto.subtle.digest("SHA-256",G(t)));return String(e.slice(0,6).reduce((n,r)=>n*256+r,0))}var Ee="https://registry.npmjs.org";var Ae={packages:200,unpackedBytes:104857600,tarballBytes:20971520},x=class extends Error{constructor(n,r,s){super(r);this.code=n;this.pkg=s;this.name="PackageResolveError"}};var $e=t=>t instanceof Error?t.message:String(t);function ie(t){let e={};if(P(t))for(let[n,r]of Object.entries(t))typeof r=="string"&&(e[n]=r);return e}function oe(t,e){return t<e?-1:t>e?1:0}var W=t=>Object.entries(t).sort(([e],[n])=>oe(e,n));function Q(t){try{return new URL(t).origin}catch{throw new x("invalid",`"${t}" is not a url`)}}function ae(t,e){let n=t,r=e.trim();if(r.startsWith("npm:")){let s=r.lastIndexOf("@");n=s>4?r.slice(4,s):r.slice(4),r=s>4?r.slice(s+1):"latest"}return/^(file|link|portal):/.test(r)?{kind:"local"}:/^[a-z+]+:/.test(r)||r.startsWith("git@")||r.includes("/")||!K(n)?{kind:"unsupported"}:{kind:"registry",name:n,range:r===""?"*":r}}function Ie(t,e){let n=P(e)&&P(e.dist)?e.dist:void 0;if(!P(e)||n===void 0||typeof n.tarball!="string")throw new x("invalid",`the registry has no tarball for ${t}`,t);let r=ie(e.optionalDependencies),s=ie(e.dependencies);for(let d of Object.keys(r))delete s[d];let i=P(e.peerDependenciesMeta)?e.peerDependenciesMeta:{},c={};for(let[d,f]of Object.entries(ie(e.peerDependencies))){let h=i[d];!(P(h)&&h.optional===!0)&&s[d]===void 0&&r[d]===void 0&&(c[d]=f)}let l=e.bundleDependencies??e.bundledDependencies,a=typeof n.integrity=="string"?n.integrity.split(/\s+/).find(d=>d.startsWith("sha512-")):void 0;return{tarball:n.tarball,integrity:a?.split("?")[0],shasum:typeof n.shasum=="string"?n.shasum.toLowerCase():void 0,dependencies:s,optional:r,peers:c,bundled:l===!0?"all":new Set(Array.isArray(l)?l.filter(d=>typeof d=="string"):[]),platform:e.os!==void 0||e.cpu!==void 0||e.libc!==void 0}}async function Se(t,e){return new Uint8Array(await crypto.subtle.digest(t,G(e)))}function ot(t){let e="";for(let n of t)e+=String.fromCharCode(n);return btoa(e)}var at=t=>Array.from(t,e=>e.toString(16).padStart(2,"0")).join("");function ct(t){let e=t.url.replace(/\/+$/,""),n=Q(e),r=new Map,s=0;async function i(a,d){s++;let f;try{f=await t.fetch(a,{headers:d===void 0?void 0:{Accept:d},credentials:"omit",signal:t.signal})}catch(h){throw new x("network",`${a}: ${$e(h)}`)}if(f.url!==""&&Q(f.url)!==n)throw new x("registry-origin",`${a} was answered by ${Q(f.url)}, not by ${n}`);return f}async function c(a){if(t.frozen)throw new x("frozen",`${a} is not pinned by the lock, and the project is frozen`,a);let d=await i(`${e}/${a.replace("/","%2f")}`,"application/vnd.npm.install-v1+json");if(d.status===404)throw new x("not-found",`${a} is not in the registry`,a);if(!d.ok)throw new x("network",`${a}: the registry answered ${d.status}`,a);let f;try{f=await d.json()}catch(h){throw new x("network",`${a}: ${$e(h)}`,a)}if(!P(f)||!P(f.versions))throw new x("invalid",`${a}: the registry sent no versions`,a);return{tags:ie(f["dist-tags"]),versions:f.versions}}async function l(a,d,f){let h=new x("limit",`${d}: the tarball is larger than ${f} bytes`,d);if(Number(a.headers.get("content-length"))>f)throw h;try{let y=a.body?.getReader();if(y===void 0){let $=new Uint8Array(await a.arrayBuffer());if($.length>f)throw h;return $}let m=[],g=0;for(;;){let{done:$,value:I}=await y.read();if($)break;if(g+=I.length,g>f)throw await y.cancel(),h;m.push(I)}let v=new Uint8Array(g),E=0;for(let $ of m)v.set($,E),E+=$.length;return v}catch(y){throw y instanceof x?y:new x("network",`${d}: ${$e(y)}`,d)}}return{url:e,requests:()=>s,packument(a){let d=r.get(a);return d===void 0&&r.set(a,d=c(a)),d},async tarball(a,d,f){if(t.frozen)throw new x("frozen",`${a} is not in the package store, and the project is frozen`,a);if(Q(d)!==n)throw new x("registry-origin",`${a}: its tarball is on ${Q(d)}, not on ${n}`,a);let h=await i(d);if(!h.ok)throw new x("network",`${a}: the registry answered ${h.status}`,a);return l(h,a,f)}}}var sn=12;function on(t,e=new Set){let n=new Map,r=[],s=new Set,i=[],c=(a,d)=>{n.set(a,d),r.push({dir:a,key:d}),i.push({dir:a,key:d})},l=(a,d,f)=>{if(t.packages[f]!==void 0){if(e.has(d)){s.add(f);return}for(let h=a;;){let y=n.get(`${h===""?"":h+"/"}node_modules/${d}`);if(y===f)return;if(y!==void 0){if(a.split("/node_modules/").length>sn)throw new Error(`${f} is part of a cycle of conflicting versions`);c(`${a}/node_modules/${d}`,f);return}if(h==="")break;let m=h.lastIndexOf("/node_modules/");h=m===-1?"":h.slice(0,m)}c("node_modules/"+d,f)}};for(let[a,d]of W(t.dependencies))l("",a,M(a,d));for(let a=i.shift();a!==void 0;a=i.shift())for(let[d,f]of W(t.packages[a.key]?.dependencies??{}))l(a.dir,d,M(d,f));return{placements:r,shadowed:[...s]}}var dt=[".tsx",".ts",".jsx",".js",".css",".json"],lt=[".jsx",".js",".css",".json",".tsx",".ts"],an={".js":[".ts",".tsx"],".jsx":[".ts",".tsx"],".mjs":[".mts"],".cjs":[".cts"]},ft=t=>!/^\.{0,2}\//.test(t)&&t!=="."&&t!=="..",cn=t=>t.split("/",t.startsWith("@")?2:1).join("/"),_e=t=>(t+"/").includes("/node_modules/");function dn(t){let e=t.replace(/^\.\//,""),n=(e.includes("/")?e:"**/"+e).replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*\/|\*\*|\*|\?/g,r=>r==="**/"?"(?:.*/)?":r==="**"?".*":r==="*"?"[^/]*":"[^/]");return new RegExp("^"+n+"$")}var ce=class{constructor(e){this.config=e;this.packages=new Map}resolve(e,n,r){let s=this.locate(e,n,r);return s===void 0?{kind:"missing"}:s.disabled?{kind:"disabled",path:s.path}:{kind:"file",path:s.path,sideEffects:this.hasSideEffects(s.path)}}locate(e,n,r){if(!ft(e))return this.loadPath(e.startsWith("/")?ue(e):L(n,e),r);for(let[c,l]of Object.entries(this.config.aliases??{}))if(e===c||e.startsWith(c+"/"))return this.loadPath(l+e.slice(c.length),r);let s=this.enclosingPackage(n);if(e.startsWith("#"))return s===null?void 0:this.packageImports(s,e,r);if(s!==null&&P(s.json.browser)){let c=s.json.browser[e];if(c===!1)return{path:e,disabled:!0};if(typeof c=="string")return ft(c)?this.loadPackage(c,s.dir,r):this.loadPath(L(s.dir,c),r)}let{tsconfig:i}=this.config;if(i!==void 0&&!_e(n)){let c=this.loadTsconfigPath(i,e,r);if(c!==void 0)return c}return this.loadPackage(e,n,r)}loadTsconfigPath(e,n,r){let s;for(let[i,c]of Object.entries(e.paths??{})){let l=i.indexOf("*");if(l===-1){if(i===n){s={star:"",prefix:1/0,targets:c};break}continue}let a=i.slice(0,l),d=i.slice(l+1);n.length<a.length+d.length||!n.startsWith(a)||!n.endsWith(d)||(s===void 0||a.length>s.prefix)&&(s={star:n.slice(a.length,n.length-d.length),prefix:a.length,targets:c})}if(s!==void 0)for(let i of s.targets){let c=this.loadPath(L(e.pathsBase,i.replace("*",s.star)),r);if(c!==void 0)return c}return e.baseUrl===void 0?void 0:this.loadPath(L(e.baseUrl,n),r)}loadPackage(e,n,r){let s=cn(e),i=e.slice(s.length);for(let c=n;;c=N(c)){if(!c.endsWith("/node_modules")){let l=L(c,"node_modules/"+s),a=this.config.links?.[s];if(!this.config.vfs.isDir(l)&&a!==void 0&&c===this.config.linkRoot&&(l=a),this.config.vfs.isDir(l)){let d=this.packageAt(l)?.json.exports;if(d!=null){let h=this.matchExports(l,d,"."+i,r);return h===void 0?void 0:this.applyBrowserMap(h,r)}let f=this.loadPath(l+i,r);if(f!==void 0)return f}}if(c==="/")return}}packageImports(e,n,r){let{imports:s}=e.json;return P(s)?this.matchSubpath(s,n,r,c=>c.startsWith("./")?this.loadPath(L(e.dir,c),r):this.loadPackage(c,e.dir,r)):void 0}matchExports(e,n,r,s){let i=P(n)&&Object.keys(n).some(l=>l.startsWith("."))?n:{".":n};return this.matchSubpath(i,r,s,l=>{if(!l.startsWith("./"))return;let a=L(e,l);return this.config.vfs.has(a)?{path:a}:void 0})?.path}matchSubpath(e,n,r,s){let i=new Set(["browser","default","module",r]),c=(d,f)=>{if(typeof d=="string")return s(f===null?d:d.split("*").join(f));if(Array.isArray(d)){for(let h of d){let y=c(h,f);if(y!==void 0)return y}return}if(P(d)){for(let[h,y]of Object.entries(d)){if(!i.has(h))continue;let m=c(y,f);if(m!==void 0)return m}return}return d===null?null:void 0};if(Object.prototype.hasOwnProperty.call(e,n)&&!n.includes("*"))return c(e[n],null)??void 0;let l;for(let d of Object.keys(e)){let f=d.indexOf("*"),h=f===-1?d:d.slice(0,f),y=f===-1?"":d.slice(f+1);f===-1&&!d.endsWith("/")||n.length<h.length+y.length||!n.startsWith(h)||!n.endsWith(y)||(l===void 0||d.length>l.key.length)&&(l={key:d,star:n.slice(h.length,n.length-y.length)})}if(l===void 0)return;let a=e[l.key];return l.key.endsWith("/")&&typeof a=="string"?s(a+l.star):c(a,l.star)??void 0}loadPath(e,n){let r=this.loadAsFile(e)??this.loadAsDirectory(e,n);return r===void 0?void 0:this.applyBrowserMap(r,n)}applyBrowserMap(e,n){let r=this.enclosingPackage(N(e));if(r===null||!P(r.json.browser))return{path:e};let s="./"+e.slice(r.dir.length+1),i=s.replace(/\.(js|json)$/,"");for(let c of[s,i,s.slice(2),i.slice(2)]){let l=r.json.browser[c];if(l===!1)return{path:e,disabled:!0};if(typeof l=="string"){let a=L(r.dir,l),d=this.loadAsFile(a)??this.loadAsDirectory(a,n);return d===void 0?void 0:{path:d}}}return{path:e}}loadAsFile(e){let{vfs:n}=this.config;if(n.has(e))return e;for(let s of _e(e)?lt:dt)if(n.has(e+s))return e+s;let r=Ge(e);for(let s of an[r]??[]){let i=e.slice(0,-r.length)+s;if(n.has(i))return i}}loadAsIndex(e){for(let n of _e(e)?lt:dt){let r=e+"/index"+n;if(this.config.vfs.has(r))return r}}loadAsDirectory(e,n){if(!this.config.vfs.isDir(e))return;let r=this.packageAt(e);return(r===null?void 0:this.loadMainField(r,n))??this.loadAsIndex(e)}loadMainField(e,n){let r=l=>{if(typeof l!="string")return;let a=L(e.dir,l);return this.loadAsFile(a)??this.loadAsIndex(a)},s=r(e.json.browser);if(s!==void 0)return s;let i=r(e.json.module);if(i===void 0)return r(e.json.main);let c=e.json.main===void 0?this.loadAsIndex(e.dir):r(e.json.main);return n==="require"&&c!==void 0?c:i}packageAt(e){let n=this.packages.get(e);if(n!==void 0)return n;let r=this.config.vfs.json(e+"/package.json"),s=P(r)?{dir:e,json:r}:null;return this.packages.set(e,s),s}enclosingPackage(e){for(let n=e;;n=N(n)){let r=this.packageAt(n);if(r!==null)return r;if(n==="/")return null}}hasSideEffects(e){let n=this.enclosingPackage(N(e)),r=n?.json.sideEffects;if(n===null||r===void 0||r===!0)return!0;if(!Array.isArray(r))return r!==!1;let s=e.slice(n.dir.length+1);return r.some(i=>typeof i=="string"&&dn(i).test(s))}};var ln=new Set("assert async_hooks buffer child_process cluster console constants crypto dgram diagnostics_channel dns domain events fs http http2 https inspector module net os path perf_hooks process punycode querystring readline repl stream string_decoder sys timers tls trace_events tty url util v8 vm wasi worker_threads zlib".split(" ")),ut=t=>t.startsWith("node:")||ln.has(t.split("/",1)[0]);var fn=/(?<![.\w$])require\(\s*['"]([^'"\n]+)['"]\s*\)|\b(?:import|export)\b[^'"\n;]*?\bfrom\s*['"]([^'"\n]+)['"]|\bimport\s*\(?\s*['"]([^'"\n]+)['"]/g,un=/\.(js|mjs|cjs|json)$/,gn=2e3,pn=1024*1024;function hn(t){let e=t.get("package.json");if(e===void 0)return{};try{let n=JSON.parse(new TextDecoder().decode(e));return P(n)?n:{}}catch{return{}}}function mn(t,e){let n=new te,r="/node_modules/"+t;for(let[d,f]of e)un.test(d)&&f.length<=pn&&n.set(`${r}/${d}`,f);let s=new ce({vfs:n}),i=s.resolve(t,"/","import"),c=new Set,l=new Set,a=i.kind==="file"?[i.path]:[];for(let d=a.pop();d!==void 0&&l.size<gn;d=a.pop())if(!(l.has(d)||d.endsWith(".json"))){l.add(d);for(let f of(n.text(d)??"").matchAll(fn)){let h=f[1]??f[2]??f[3],y=s.resolve(h,N(d),f[1]===void 0?"import":"require");y.kind==="file"?a.push(y.path):y.kind==="missing"&&ut(h)&&c.add(h.replace(/^node:/,"").split("/",1)[0])}}return[...c].sort()}function gt(t,e){let n=hn(e),r=P(n.scripts)?n.scripts:{},s=e.has("binding.gyp")||n.gypfile===!0,i=["preinstall","install","postinstall"].filter(c=>typeof r[c]=="string");return s&&!i.includes("install")&&i.push("install"),{installScripts:i,native:s||[...e.keys()].some(c=>c.endsWith(".node")),nodeBuiltins:mn(t,e)}}var O=class extends Error{constructor(n,r){super(r);this.reason=n}},J=512,de=new TextDecoder;async function pt(t,e){let r=new Blob([G(t)]).stream().pipeThrough(new DecompressionStream("gzip")).getReader(),s=[],i=0;try{for(;;){let{done:a,value:d}=await r.read();if(a)break;if(i+=d.length,i>e)throw await r.cancel(),new O("too-large",`unpacks to more than ${e} bytes`);s.push(d)}}catch(a){throw a instanceof O?a:new O("malformed","is not a gzip archive")}let c=new Uint8Array(i),l=0;for(let a of s)c.set(a,l),l+=a.length;return c}function ee(t,e,n){let r=e;for(;r<e+n&&t[r]!==0;)r++;return de.decode(t.subarray(e,r))}function wn(t){if(t[124]&128)throw new O("too-large","holds an entry larger than 8 GB");let e=parseInt(ee(t,124,12).trim()||"0",8);if(!Number.isSafeInteger(e)||e<0)throw new O("malformed","has an entry with no valid size");return e}function yn(t){let e=0;for(let n=0;n<J;n++)e+=n>=148&&n<156?32:t[n];return e===parseInt(ee(t,148,8).trim(),8)}function vn(t){let e={};for(let n=0;n<t.length;){let r=n;for(;r<t.length&&t[r]!==32;)r++;let s=Number(de.decode(t.subarray(n,r)));if(!Number.isSafeInteger(s)||s<=0)break;let i=de.decode(t.subarray(r+1,n+s-1)),c=i.indexOf("=");c>0&&(e[i.slice(0,c)]=i.slice(c+1)),n+=s}return e}function kn(t){if(t.includes("\0"))throw new O("unsafe-path","has an entry with a NUL in its path");let e=t.split(/[\\/]/);if(t.startsWith("/")||t.startsWith("\\")||/^[A-Za-z]:/.test(t))throw new O("unsafe-path",`has an entry with an absolute path: ${t}`);if(e.includes(".."))throw new O("unsafe-path",`has an entry that leaves the package: ${t}`);let n=e.filter(r=>r!==""&&r!==".").slice(1);return n.length===0?void 0:n.join("/")}function ht(t){let e=new Map,n=[],r,s={};for(let i=0;i+J<=t.length;){let c=t.subarray(i,i+J);if(c.every(g=>g===0))break;if(!yn(c))throw new O("malformed","is not a tar archive");let l=String.fromCharCode(c[156]||48),a=s.size===void 0?wn(c):Number(s.size),d=i+J;if(!Number.isSafeInteger(a)||d+a>t.length)throw new O("malformed","is cut short");let f=t.subarray(d,d+a);if(i=d+Math.ceil(a/J)*J,l==="x"){s=vn(f);continue}if(l==="g")continue;if(l==="L"){r=de.decode(f).replace(/\0+$/,"");continue}if(l==="K")continue;let h=ee(c,257,5)==="ustar"?ee(c,345,155):"",y=s.path??r??(h===""?"":h+"/")+ee(c,0,100);r=void 0,s={};let m=kn(y);if(!(l==="5"||m===void 0)){if(l!=="0"&&l!=="7"){n.push(m);continue}e.set(m,f.slice())}}return{files:e,skipped:n}}var Pn=4;async function xn(t){let e=ct({url:t.registry??Ee,fetch:t.fetch??((o,u)=>fetch(o,u)),frozen:t.frozen===!0,signal:t.signal}),n={...Ae,...t.limits},r=t.snapshot?.provided??{},s=t.lock!==void 0&&t.lock.registry===e.url?t.lock:void 0,i={packages:0,downloaded:0,reused:0,requests:0,tarballBytes:0,unpackedBytes:0},c=[],l=(o,u,p)=>{c.some(w=>w.code===o&&w.message===u)||c.push({code:o,message:u,...p===void 0?{}:{package:p}})},a=new Map,d=new Map,f=new Map,h=[],y={};async function m(o){if(a.has(o)||d.has(o)||s?.packages[o]!==void 0)return;let u=q(o);if(u===void 0)throw new x("invalid",`"${o}" is not a package version`);let p=(await e.packument(u.name)).versions[u.version];if(p===void 0)throw new x("no-version",`${o} is not in the registry`,o);d.set(o,Ie(o,p))}async function g(o,u,p){let w=!Z(u),R=j=>{let A=q(j);return A!==void 0&&A.name===o&&(w||F(A.version,u))},T=j=>a.has(j)||s?.packages[j]!==void 0;if(p!==void 0&&R(p)&&T(p))return p;if(!w){let j=Fe=>{let Ke=ye([...Fe].filter(R).map(Ot=>Ot.slice(o.length+1)),u);return Ke===void 0?void 0:`${o}@${Ke}`},A=j(a.keys())??j(Object.keys(s?.packages??{}));if(A!==void 0)return A}let U=await e.packument(o),k=U.tags.latest,b=w?U.tags[u]:k!==void 0&&F(k,u)?k:ye(Object.keys(U.versions),u);if(b===void 0||V(b)===void 0||U.versions[b]===void 0)throw new x("no-version",`no version of ${o} matches "${u}"`,o);let S=`${o}@${b}`;return!a.has(S)&&!d.has(S)&&d.set(S,Ie(S,U.versions[b])),S}function v(o,u){if(a.has(o))return;if(a.size>=n.packages)throw new x("limit",`the project needs more than ${n.packages} packages`);let p=d.get(o),w=s?.packages[o];if(p!==void 0)a.set(o,{resolved:p.tarball,integrity:p.integrity??"",dependencies:{}});else if(w!==void 0)a.set(o,{resolved:w.resolved,integrity:w.integrity,dependencies:{...w.dependencies}});else throw new x("invalid",`${o} was never resolved`,o);f.set(o,u),h.push(o),t.onProgress?.({type:"resolved",package:o})}function E(o,u){let p=ae(o,u);if(t.frozen===!0||r[o]!==void 0||p.kind!=="registry")return;let w=R=>R.startsWith(p.name+"@")&&Z(p.range)&&F(R.slice(p.name.length+1),p.range);[...a.keys(),...Object.keys(s?.packages??{})].some(w)||e.packument(p.name).catch(()=>{})}function $(o,u,p){let w=r[o];if(w===void 0)return!1;let R=u.trim();return w!==""&&Z(R)&&!F(w,R,{includePrerelease:!0})&&(o==="@dcl/sdk"&&p===void 0?l("sdk-version",`This project pins @dcl/sdk ${R}; it is built here with ${w}.`,o):l("snapshot-version",`${p??"This project"} asks for ${o} ${R}; it gets the ${w} the SDK ships.`,p??o)),!0}function I(o,u){let p=f.get(u),w=(p===void 0?void 0:a.get(p)?.dependencies?.[o])??y[o];return w===void 0?void 0:M(o,w)}async function C(o){let u=a.get(o);if(u===void 0)return;let p=u.dependencies??={},w=d.get(o);if(w===void 0){for(let[k,b]of W({...p})){if(r[k]!==void 0){delete p[k];continue}let S=M(k,b);await m(S),v(S,o)}return}let R=[];for(let[k,b]of Object.entries(w.dependencies))R.push([k,b,"required"]);for(let[k,b]of Object.entries(w.optional))R.push([k,b,"optional"]);for(let[k,b]of Object.entries(w.peers))R.push([k,b,"peer"]);R.sort(([k],[b])=>oe(k,b));let T=k=>w.bundled==="all"||w.bundled.has(k);for(let[k,b,S]of R)S!=="peer"&&!T(k)&&E(k,b);let U=0;for(let[k,b,S]of R){if(S!=="peer"&&T(k)||$(k,b,o))continue;let j=ae(k,b);if(j.kind!=="registry"){l("unsupported-spec",`${o} depends on ${k} as "${b}", which is not a registry version; it was left out.`,o);continue}try{let A=S==="peer"?I(k,o):void 0;if(A===void 0?A=await g(j.name,j.range,void 0):Z(j.range)&&!F(A.slice(A.lastIndexOf("@")+1),j.range)&&l("peer-unmet",`${o} expects ${k} ${j.range}; the project uses ${A}.`,o),S==="optional"&&d.get(A)?.platform===!0&&!a.has(A)){U++;continue}v(A,o),p[k]=ve(k,A)}catch(A){if(!(A instanceof x)||A.code==="limit"||A.code==="frozen"||S==="required")throw A;l(S==="peer"?"peer-unmet":"optional-skipped",`${o}: ${k} was left out (${A.message}).`,o)}}U>0&&l("optional-skipped",`${o}: ${U} optional packages built for one platform were left out.`,o)}for(let[o,u]of Object.entries(t.dependencies))typeof u=="string"&&K(o)&&s?.dependencies[o]===void 0&&E(o,u);for(let[o,u]of W(t.dependencies)){if(typeof u!="string"||$(o,u,void 0))continue;let p=ae(o,u);if(p.kind==="local")continue;if(p.kind==="unsupported"||!K(o)){l("unsupported-spec",`${o}: "${u}" is not a registry version; it was left out.`,o);continue}let w=s?.dependencies[o],R=await g(p.name,p.range,w===void 0?void 0:M(o,w));v(R,void 0),y[o]=ve(o,R)}for(let[o,u]of Object.entries(t.devDependencies??{}))typeof u=="string"&&$(o,u,void 0);for(let o=h.shift();o!==void 0;o=h.shift())await C(o);let H=(o,u)=>{if(i.unpackedBytes+=u,i.unpackedBytes>n.unpackedBytes)throw new x("limit",`the packages unpack to more than ${n.unpackedBytes} bytes (at ${o})`,o)};async function fe(o,u){let p=await e.tarball(o,u.resolved,n.tarballBytes),w="sha512-"+ot(await Se("SHA-512",p));if(u.integrity===""){let b=d.get(o)?.shasum;if(b===void 0||at(await Se("SHA-1",p))!==b)throw new x("integrity",`${o}: the tarball does not match the checksum the registry lists`,o);u.integrity=w,l("weak-integrity",`${o} was published with a SHA-1 checksum only; the lock pins what was downloaded.`,o)}else if(w!==u.integrity)throw new x("integrity",`${o}: the tarball does not match its integrity (${u.integrity})`,o);t.onProgress?.({type:"downloaded",package:o,bytes:p.length});let R;try{R=ht(await pt(p,2*n.unpackedBytes+1048576))}catch(b){throw b instanceof O?new x(b.reason==="too-large"?"limit":"unsafe-tarball",`${o} ${b.message}`,o):b}let{files:T}=R;T.delete(z);let U=0;for(let b of T.values())U+=b.length;H(o,U);let k={integrity:u.integrity,files:T.size,bytes:U,...gt(o.slice(0,o.lastIndexOf("@")),T)};await t.store.remove(o);for(let[b,S]of T)await t.store.write(o,b,S);return await Je(t.store,o,k),R.skipped.length>0&&l("links-skipped",`${o}: ${R.skipped.length} links in the tarball were left out.`,o),i.downloaded++,i.tarballBytes+=p.length,k}let _=[...a.keys()],D=new Map,We=0,De=!1,St=async()=>{for(;We<_.length&&!De;){let o=_[We++],u=a.get(o);if(u!==void 0)try{let p=await X(t.store,o),w=p!==void 0&&p.integrity===u.integrity;w&&(H(o,p.bytes),i.reused++),D.set(o,w?p:await fe(o,u)),t.onProgress?.({type:"stored",package:o,reused:w,done:D.size,total:_.length})}catch(p){throw De=!0,p}}};await Promise.all(Array.from({length:Math.min(Pn,_.length)},St));let _t=new Set(Object.entries(y).map(([o,u])=>M(o,u)));for(let o of _){let u=D.get(o);u!==void 0&&(u.installScripts.length>0&&l("install-script",`${o} declares ${u.installScripts.join(", ")} scripts; they are not run here.`,o),u.native&&l("native",`${o} ships native code, which a scene cannot load.`,o),u.nodeBuiltins.length>0&&_t.has(o)&&l("node-builtins",`${o} uses Node built-ins a scene does not have: ${u.nodeBuiltins.join(", ")}.`,o))}let jt=(o,u)=>{let[p,w]=[q(o),q(u)];if(p===void 0||w===void 0||p.name!==w.name)return oe(o,u);let[R,T]=[V(p.version),V(w.version)];return R===void 0||T===void 0?0:se(R,T)},ze={};for(let o of[..._].sort(jt)){let u=a.get(o);if(u===void 0)continue;let p=Object.fromEntries(W(u.dependencies??{}));ze[o]={resolved:u.resolved,integrity:u.integrity,...Object.keys(p).length>0?{dependencies:p}:{}}}return i.packages=_.length,i.requests=e.requests(),{lock:{lockfileVersion:1,registry:e.url,dependencies:Object.fromEntries(W(y)),packages:ze},warnings:c,stats:i}}var Et=Vt(Rt(),1);var Wn=[".*","package.json","package-lock.json","yarn-lock.json","build.json","export","tsconfig.json","tslint.json","node_modules","dclcontext","**/*.ts","**/*.tsx","Dockerfile","thumbnails","dist","README.md","*.blend","*.fbx","*.zip","*.rar","*.map","node_modules/**","*.md"];function Me(t,e){let n=(0,Et.default)().add([...e?.split(`
3
+ `)??[],...Wn].filter(Boolean)),r=[...t].filter(s=>!s.split("/").some(i=>i.startsWith(".")));return n.filter(r)}function At(t){let e=t.scene;if(!P(e))throw new Error('scene.json has no "scene" section');let{base:n,parcels:r}=e;if(typeof n!="string"||!Array.isArray(r))throw new Error("scene.json needs scene.base and scene.parcels");return[...new Set([n,...r.filter(s=>typeof s=="string")])]}function Ne(t){let e=new Set,n=t.files.map(({path:r,version:s})=>{let i=r.toLowerCase();if(e.has(i))throw new Error(`Two files deploy as "${i}"; scene file names are case-insensitive`);return e.add(i),{file:i,hash:xe(t.projectId,r,s,t.machineId)}});return{version:"v3",type:"scene",id:Pe(t.projectId,t.machineId),pointers:At(t.sceneJson),timestamp:t.timestamp,content:n,metadata:t.sdkVersion===void 0?t.sceneJson:{sdkVersion:t.sdkVersion,...t.sceneJson}}}var $t="dcl-editor-preview-v1",Dn="dcl-editor-storage-v1";function It(t,e){if(!Y.test(e))throw new Error(`Invalid preview project id "${e}"`);return new URL(`preview/${e}/`,t).href}var Be=t=>t+"__manifest",Ve=(t,e)=>`${t}content/contents/${e}`,zn=t=>`/reload ${t}`;async function Fn(t){let e=new URL(t.realmUrl).href;if(e!==It(new URL("../../",e),t.projectId))throw new Error(`"${t.realmUrl}" is not the preview realm of project "${t.projectId}"`);let n=new Map([...t.files,...t.buildOutputs]),r=n.get(".dclignore"),s=Me(n.keys(),r===void 0?void 0:new TextDecoder().decode(r)),i=await Promise.all(s.map(async g=>{let v=n.get(g)??new Uint8Array;return{path:g,bytes:v,version:await Re(v)}})),c=await caches.open($t),a=await(await c.match(Be(e)))?.json().catch(()=>{}),d=P(a)&&typeof a.version=="number"?a.version:0,f=Ne({projectId:t.projectId,sceneJson:t.sceneJson,files:i,timestamp:Date.now(),sdkVersion:t.sdkVersion,machineId:t.machineId}),h=new Set;await Promise.all(f.content.map(async({hash:g},v)=>{let E=Ve(e,g);h.add(new URL(E).href),await c.match(E)===void 0&&await c.put(E,new Response(G(i[v].bytes),{headers:{"Content-Type":"application/octet-stream"}}))}));let y={version:d+1,entity:f};await c.put(Be(e),new Response(JSON.stringify(y),{headers:{"Content-Type":"application/json"}}));let m=Ve(e,"");for(let g of await c.keys())g.url.startsWith(m)&&!h.has(g.url)&&await c.delete(g);return{realmUrl:e,entityId:f.id}}export{Ae as DEFAULT_LIMITS,Ee as DEFAULT_REGISTRY,Zt as LOCK_FILE,ge as MemoryPackageStore,z as PACKAGE_RECEIPT,$t as PREVIEW_CACHE_NAME,ke as PREVIEW_MACHINE_ID,Dn as PREVIEW_STORAGE_CACHE_NAME,Y as PROJECT_ID_PATTERN,x as PackageResolveError,Ne as buildPreviewEntity,Re as contentVersion,Kt as createSceneBuilder,rn as decodePreviewId,pe as fetchVerified,on as layoutPackages,M as lockedKey,en as parseLock,xe as previewContentId,Ve as previewContentUrl,Pe as previewEntityId,Be as previewManifestUrl,be as previewProjectRoot,It as previewRealmUrl,Fn as publishPreview,Me as publishableFiles,X as readReceipt,zn as reloadCommand,xn as resolveDependencies,At as scenePointers,tn as serializeLock};