allyhub 0.2.0 → 0.4.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 (653) hide show
  1. package/dist/cli-version.js +2 -0
  2. package/dist/commands/add.js +5 -5
  3. package/dist/commands/auth.js +4 -4
  4. package/dist/commands/cloud-tools.js +9 -10
  5. package/dist/commands/dev.js +2 -2
  6. package/dist/commands/doctor.js +4 -4
  7. package/dist/commands/frames/piece.js +1 -1
  8. package/dist/commands/frames.js +6 -6
  9. package/dist/commands/index.js +1 -1
  10. package/dist/commands/inspect/contrast.js +1 -1
  11. package/dist/commands/inspect/layout.js +1 -1
  12. package/dist/commands/model.js +1 -1
  13. package/dist/commands/orgs.js +2 -2
  14. package/dist/commands/render.js +2 -2
  15. package/dist/commands/sheet.js +2 -2
  16. package/dist/commands/skills.js +3 -3
  17. package/dist/commands/slides.js +3 -0
  18. package/dist/main.js +7 -7
  19. package/dist/text/facts-text.js +5 -5
  20. package/dist/text/format.js +2 -2
  21. package/dist/works.js +1 -1
  22. package/editor-web/assets/browser-B31cR_c2.js +105 -0
  23. package/editor-web/assets/dist-6TNEuNMX.js +4 -0
  24. package/editor-web/assets/dist-Cm2TIjW5.js +2 -0
  25. package/editor-web/assets/dist-Cpt0p8bX.js +6 -0
  26. package/editor-web/assets/dist-D2GccKEJ.js +1 -0
  27. package/editor-web/assets/dist-Z0zvYXmu.js +233 -0
  28. package/editor-web/assets/dist-fs4ONrUV.js +32 -0
  29. package/editor-web/assets/index-CAcsAZ9u.js +70 -0
  30. package/editor-web/assets/index-DlcJckhO.css +2 -0
  31. package/editor-web/assets/list-D2v7U8K8.js +1 -0
  32. package/editor-web/assets/react-D0RmGe2w.js +101 -0
  33. package/editor-web/assets/rolldown-runtime-XKyaHtl9.js +1 -0
  34. package/editor-web/assets/text-align-start-B3k2cx5f.js +1 -0
  35. package/editor-web/assets/undo-2-Ecr7-Obc.js +1 -0
  36. package/editor-web/index.html +4 -4
  37. package/node_modules/@allyhub-next/audio/package.json +1 -1
  38. package/node_modules/@allyhub-next/browser/package.json +1 -1
  39. package/node_modules/@allyhub-next/build/dist/data.js +1 -1
  40. package/node_modules/@allyhub-next/build/dist/meta-worker.d.ts +10 -0
  41. package/node_modules/@allyhub-next/build/dist/meta-worker.js +2 -2
  42. package/node_modules/@allyhub-next/build/dist/model-info.js +2 -1
  43. package/node_modules/@allyhub-next/build/dist/plugin.d.ts +2 -0
  44. package/node_modules/@allyhub-next/build/dist/plugin.js +9 -8
  45. package/node_modules/@allyhub-next/build/dist/prepare.d.ts +13 -1
  46. package/node_modules/@allyhub-next/build/dist/prepare.js +2 -2
  47. package/node_modules/@allyhub-next/build/dist/scan.d.ts +1 -1
  48. package/node_modules/@allyhub-next/build/dist/scan.js +1 -1
  49. package/node_modules/@allyhub-next/build/dist/types.js +3 -3
  50. package/node_modules/@allyhub-next/build/package.json +1 -1
  51. package/node_modules/@allyhub-next/check/dist/check.js +3 -3
  52. package/node_modules/@allyhub-next/check/dist/generated.d.ts +1 -1
  53. package/node_modules/@allyhub-next/check/package.json +1 -1
  54. package/node_modules/@allyhub-next/cloud/dist/index.js +1 -1
  55. package/node_modules/@allyhub-next/cloud/dist/signin.js +2 -2
  56. package/node_modules/@allyhub-next/cloud/dist/token.js +1 -1
  57. package/node_modules/@allyhub-next/cloud/package.json +1 -1
  58. package/node_modules/@allyhub-next/components/package.json +1 -1
  59. package/node_modules/@allyhub-next/dev-server/dist/card.d.ts +2 -11
  60. package/node_modules/@allyhub-next/dev-server/dist/card.js +1 -1
  61. package/node_modules/@allyhub-next/dev-server/dist/exports.d.ts +2 -2
  62. package/node_modules/@allyhub-next/dev-server/dist/exports.js +1 -1
  63. package/node_modules/@allyhub-next/dev-server/dist/index.d.ts +1 -1
  64. package/node_modules/@allyhub-next/dev-server/dist/index.js +1 -1
  65. package/node_modules/@allyhub-next/dev-server/dist/live.d.ts +3 -0
  66. package/node_modules/@allyhub-next/dev-server/dist/live.js +1 -1
  67. package/node_modules/@allyhub-next/dev-server/dist/project.d.ts +3 -0
  68. package/node_modules/@allyhub-next/dev-server/dist/project.js +1 -1
  69. package/node_modules/@allyhub-next/dev-server/dist/reveal.d.ts +6 -0
  70. package/node_modules/@allyhub-next/dev-server/dist/reveal.js +2 -0
  71. package/node_modules/@allyhub-next/dev-server/dist/server.js +1 -1
  72. package/node_modules/@allyhub-next/dev-server/dist/stage.d.ts +2 -0
  73. package/node_modules/@allyhub-next/dev-server/dist/stage.js +22 -2
  74. package/node_modules/@allyhub-next/dev-server/dist/tools.d.ts +2 -0
  75. package/node_modules/@allyhub-next/dev-server/dist/tools.js +1 -1
  76. package/node_modules/@allyhub-next/dev-server/package.json +1 -1
  77. package/node_modules/@allyhub-next/doc/dist/docx.d.ts +28 -0
  78. package/node_modules/@allyhub-next/doc/dist/docx.js +4 -0
  79. package/node_modules/@allyhub-next/doc/dist/html.d.ts +3 -0
  80. package/node_modules/@allyhub-next/doc/dist/html.js +1 -1
  81. package/node_modules/@allyhub-next/doc/package.json +5 -1
  82. package/node_modules/@allyhub-next/export/dist/deck-fonts.d.ts +24 -0
  83. package/node_modules/@allyhub-next/export/dist/deck-fonts.js +2 -0
  84. package/node_modules/@allyhub-next/export/dist/deck-pptx.d.ts +12 -0
  85. package/node_modules/@allyhub-next/export/dist/deck-pptx.js +2 -0
  86. package/node_modules/@allyhub-next/export/dist/export.d.ts +17 -5
  87. package/node_modules/@allyhub-next/export/dist/export.js +2 -2
  88. package/node_modules/@allyhub-next/export/dist/index.d.ts +1 -0
  89. package/node_modules/@allyhub-next/export/dist/index.js +1 -1
  90. package/node_modules/@allyhub-next/export/dist/names.d.ts +11 -6
  91. package/node_modules/@allyhub-next/export/dist/names.js +1 -1
  92. package/node_modules/@allyhub-next/export/package.json +1 -1
  93. package/node_modules/@allyhub-next/formats/dist/data/script.d.ts +22 -0
  94. package/node_modules/@allyhub-next/formats/dist/data/script.js +1 -1
  95. package/node_modules/@allyhub-next/formats/dist/data/slides.d.ts +1494 -0
  96. package/node_modules/@allyhub-next/formats/dist/data/slides.js +2 -0
  97. package/node_modules/@allyhub-next/formats/dist/index.d.ts +2 -0
  98. package/node_modules/@allyhub-next/formats/dist/index.js +1 -1
  99. package/node_modules/@allyhub-next/formats/dist/items.d.ts +26 -0
  100. package/node_modules/@allyhub-next/formats/dist/items.js +1 -1
  101. package/node_modules/@allyhub-next/formats/dist/layout.d.ts +2 -0
  102. package/node_modules/@allyhub-next/formats/dist/layout.js +1 -1
  103. package/node_modules/@allyhub-next/formats/dist/note-shape.d.ts +39 -0
  104. package/node_modules/@allyhub-next/formats/dist/note-shape.js +2 -0
  105. package/node_modules/@allyhub-next/formats/dist/schemas.d.ts +418 -0
  106. package/node_modules/@allyhub-next/formats/dist/schemas.js +1 -1
  107. package/node_modules/@allyhub-next/formats/package.json +1 -1
  108. package/node_modules/@allyhub-next/measure/dist/index.d.ts +1 -1
  109. package/node_modules/@allyhub-next/measure/dist/index.js +1 -1
  110. package/node_modules/@allyhub-next/measure/dist/overlay.d.ts +14 -1
  111. package/node_modules/@allyhub-next/measure/dist/overlay.js +1 -1
  112. package/node_modules/@allyhub-next/measure/package.json +1 -1
  113. package/node_modules/@allyhub-next/media/dist/asr/parakeet.d.ts +1 -4
  114. package/node_modules/@allyhub-next/media/dist/asr/parakeet.js +4 -4
  115. package/node_modules/@allyhub-next/media/dist/asr/transcribe.d.ts +1 -1
  116. package/node_modules/@allyhub-next/media/dist/asr/transcribe.js +1 -1
  117. package/node_modules/@allyhub-next/media/dist/grid.d.ts +3 -3
  118. package/node_modules/@allyhub-next/media/dist/grid.js +5 -5
  119. package/node_modules/@allyhub-next/media/dist/local.d.ts +3 -0
  120. package/node_modules/@allyhub-next/media/dist/local.js +1 -1
  121. package/node_modules/@allyhub-next/media/dist/ocr/tesseract.d.ts +8 -2
  122. package/node_modules/@allyhub-next/media/dist/ocr/tesseract.js +1 -1
  123. package/node_modules/@allyhub-next/media/dist/ocr/text.js +3 -3
  124. package/node_modules/@allyhub-next/media/dist/ocr/worker.js +1 -1
  125. package/node_modules/@allyhub-next/media/dist/sheet.js +3 -3
  126. package/node_modules/@allyhub-next/media/dist/tools.d.ts +11 -1
  127. package/node_modules/@allyhub-next/media/dist/tools.js +1 -1
  128. package/node_modules/@allyhub-next/media/dist/vision/faces.js +1 -1
  129. package/node_modules/@allyhub-next/media/dist/vision/matte.js +1 -1
  130. package/node_modules/@allyhub-next/media/dist/vision/runtime.d.ts +1 -1
  131. package/node_modules/@allyhub-next/media/dist/vision/runtime.js +2 -2
  132. package/node_modules/@allyhub-next/media/dist/worker-process.d.ts +1 -1
  133. package/node_modules/@allyhub-next/media/dist/worker-process.js +1 -1
  134. package/node_modules/@allyhub-next/media/package.json +1 -1
  135. package/node_modules/@allyhub-next/model/dist/build-job.d.ts +2 -0
  136. package/node_modules/@allyhub-next/model/dist/build-worker.js +1 -1
  137. package/node_modules/@allyhub-next/model/dist/build.d.ts +10 -0
  138. package/node_modules/@allyhub-next/model/dist/build.js +2 -1
  139. package/node_modules/@allyhub-next/model/dist/report.d.ts +1 -1
  140. package/node_modules/@allyhub-next/model/package.json +1 -1
  141. package/node_modules/@allyhub-next/project/dist/digest.d.ts +1 -3
  142. package/node_modules/@allyhub-next/project/dist/digest.js +1 -1
  143. package/node_modules/@allyhub-next/project/dist/page.d.ts +0 -5
  144. package/node_modules/@allyhub-next/project/dist/page.js +2 -2
  145. package/node_modules/@allyhub-next/project/dist/session.js +1 -1
  146. package/node_modules/@allyhub-next/project/package.json +1 -1
  147. package/node_modules/@allyhub-next/protocol/dist/app.d.ts +1 -62
  148. package/node_modules/@allyhub-next/protocol/dist/app.js +1 -1
  149. package/node_modules/@allyhub-next/protocol/dist/auth.d.ts +17 -17
  150. package/node_modules/@allyhub-next/protocol/dist/auth.js +1 -1
  151. package/node_modules/@allyhub-next/protocol/dist/cli.d.ts +1 -5
  152. package/node_modules/@allyhub-next/protocol/dist/cli.js +1 -1
  153. package/node_modules/@allyhub-next/protocol/dist/editor.d.ts +13 -26
  154. package/node_modules/@allyhub-next/protocol/dist/editor.js +1 -1
  155. package/node_modules/@allyhub-next/protocol/dist/index.d.ts +1 -0
  156. package/node_modules/@allyhub-next/protocol/dist/index.js +1 -1
  157. package/node_modules/@allyhub-next/protocol/dist/notes.d.ts +163 -0
  158. package/node_modules/@allyhub-next/protocol/dist/notes.js +2 -0
  159. package/node_modules/@allyhub-next/protocol/dist/registry.d.ts +4 -2
  160. package/node_modules/@allyhub-next/protocol/dist/registry.js +1 -1
  161. package/node_modules/@allyhub-next/protocol/dist/routes.js +1 -1
  162. package/node_modules/@allyhub-next/protocol/dist/runtimes.d.ts +3 -0
  163. package/node_modules/@allyhub-next/protocol/dist/runtimes.js +1 -1
  164. package/node_modules/@allyhub-next/protocol/dist/tools.d.ts +38 -0
  165. package/node_modules/@allyhub-next/protocol/dist/tools.js +1 -1
  166. package/node_modules/@allyhub-next/protocol/package.json +1 -1
  167. package/node_modules/@allyhub-next/registry/dist/registry.js +1 -1
  168. package/node_modules/@allyhub-next/registry/package.json +1 -1
  169. package/node_modules/@allyhub-next/render/dist/doc/index.d.ts +1 -1
  170. package/node_modules/@allyhub-next/render/dist/doc/index.js +1 -1
  171. package/node_modules/@allyhub-next/render/dist/doc/print.d.ts +11 -0
  172. package/node_modules/@allyhub-next/render/dist/doc/print.js +17 -1
  173. package/node_modules/@allyhub-next/render/dist/exports.d.ts +29 -4
  174. package/node_modules/@allyhub-next/render/dist/exports.js +2 -2
  175. package/node_modules/@allyhub-next/render/dist/page.d.ts +11 -1
  176. package/node_modules/@allyhub-next/render/dist/render.d.ts +2 -0
  177. package/node_modules/@allyhub-next/render/dist/render.js +2 -2
  178. package/node_modules/@allyhub-next/render/package.json +1 -1
  179. package/node_modules/@allyhub-next/runtime/LICENSE +241 -0
  180. package/node_modules/@allyhub-next/runtime/dist/bridge.d.ts +13 -3
  181. package/node_modules/@allyhub-next/runtime/dist/clock.js +1 -1
  182. package/node_modules/@allyhub-next/runtime/dist/env.js +1 -1
  183. package/node_modules/@allyhub-next/runtime/dist/facade.js +1 -1
  184. package/node_modules/@allyhub-next/runtime/dist/footage.js +1 -1
  185. package/node_modules/@allyhub-next/runtime/dist/frame.js +1 -1
  186. package/node_modules/@allyhub-next/runtime/dist/index.d.ts +2 -0
  187. package/node_modules/@allyhub-next/runtime/dist/index.js +1 -1
  188. package/node_modules/@allyhub-next/runtime/dist/locate.d.ts +11 -0
  189. package/node_modules/@allyhub-next/runtime/dist/locate.js +2 -0
  190. package/node_modules/@allyhub-next/runtime/dist/measure.d.ts +2 -1
  191. package/node_modules/@allyhub-next/runtime/dist/measure.js +1 -1
  192. package/node_modules/@allyhub-next/runtime/dist/music.js +1 -1
  193. package/node_modules/@allyhub-next/runtime/dist/output.js +1 -1
  194. package/node_modules/@allyhub-next/runtime/dist/piece.d.ts +5 -9
  195. package/node_modules/@allyhub-next/runtime/dist/piece.js +2 -2
  196. package/node_modules/@allyhub-next/runtime/dist/player/player.js +1 -1
  197. package/node_modules/@allyhub-next/runtime/dist/reads.d.ts +2 -0
  198. package/node_modules/@allyhub-next/runtime/dist/reads.js +1 -1
  199. package/node_modules/@allyhub-next/runtime/dist/sound.js +1 -1
  200. package/node_modules/@allyhub-next/runtime/dist/stage-kit.d.ts +12 -0
  201. package/node_modules/@allyhub-next/runtime/dist/stage-kit.js +2 -0
  202. package/node_modules/@allyhub-next/runtime/package.json +5 -6
  203. package/node_modules/@allyhub-next/runtimes/dist/errors.d.ts +5 -1
  204. package/node_modules/@allyhub-next/runtimes/dist/index.d.ts +1 -0
  205. package/node_modules/@allyhub-next/runtimes/dist/index.js +1 -1
  206. package/node_modules/@allyhub-next/runtimes/dist/node-program.d.ts +3 -0
  207. package/node_modules/@allyhub-next/runtimes/dist/node-program.js +2 -0
  208. package/node_modules/@allyhub-next/runtimes/dist/packages.d.ts +65 -0
  209. package/node_modules/@allyhub-next/runtimes/dist/packages.js +4 -0
  210. package/node_modules/@allyhub-next/runtimes/dist/runtimes.js +2 -2
  211. package/node_modules/@allyhub-next/runtimes/dist/unpack.d.ts +7 -0
  212. package/node_modules/@allyhub-next/runtimes/dist/unpack.js +1 -1
  213. package/node_modules/@allyhub-next/runtimes/package.json +5 -1
  214. package/node_modules/@allyhub-next/runtimes/pins/docx/package-lock.json +67 -0
  215. package/node_modules/@allyhub-next/runtimes/pins/docx/package.json +9 -0
  216. package/node_modules/@allyhub-next/runtimes/pins/exceljs/package-lock.json +2533 -0
  217. package/node_modules/@allyhub-next/runtimes/pins/exceljs/package.json +8 -0
  218. package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package-lock.json +753 -0
  219. package/node_modules/@allyhub-next/runtimes/pins/gltf-tools/package.json +14 -0
  220. package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package-lock.json +950 -0
  221. package/node_modules/@allyhub-next/runtimes/pins/manifold-3d/package.json +8 -0
  222. package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package-lock.json +227 -0
  223. package/node_modules/@allyhub-next/runtimes/pins/onnxruntime-node/package.json +8 -0
  224. package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package-lock.json +105 -0
  225. package/node_modules/@allyhub-next/runtimes/pins/sherpa-onnx-node/package.json +8 -0
  226. package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package-lock.json +128 -0
  227. package/node_modules/@allyhub-next/runtimes/pins/tesseract.js/package.json +9 -0
  228. package/node_modules/@allyhub-next/runtimes/schemas/runtimes.schema.json +5 -24
  229. package/node_modules/@allyhub-next/scaffold/dist/index.js +5 -5
  230. package/node_modules/@allyhub-next/scaffold/package.json +1 -1
  231. package/node_modules/@allyhub-next/scenery/package.json +1 -1
  232. package/node_modules/@allyhub-next/scenery-host/dist/bundle.d.ts +3 -2
  233. package/node_modules/@allyhub-next/scenery-host/dist/bundle.js +3 -3
  234. package/node_modules/@allyhub-next/scenery-host/dist/model-stage.d.ts +32 -0
  235. package/node_modules/@allyhub-next/scenery-host/dist/model-stage.js +3 -0
  236. package/node_modules/@allyhub-next/scenery-host/dist/viewer.d.ts +11 -0
  237. package/node_modules/@allyhub-next/scenery-host/dist/viewer.js +1 -1
  238. package/node_modules/@allyhub-next/scenery-host/package.json +1 -1
  239. package/node_modules/@allyhub-next/sheet/package.json +1 -1
  240. package/node_modules/@allyhub-next/site/dist/media.js +2 -2
  241. package/node_modules/@allyhub-next/site/package.json +1 -1
  242. package/node_modules/@allyhub-next/slides-core/LICENSE +241 -0
  243. package/node_modules/@allyhub-next/slides-core/dist/animation.d.ts +129 -0
  244. package/node_modules/@allyhub-next/slides-core/dist/animation.js +2 -0
  245. package/node_modules/@allyhub-next/slides-core/dist/api.d.ts +649 -0
  246. package/node_modules/@allyhub-next/slides-core/dist/api.js +4 -0
  247. package/node_modules/@allyhub-next/slides-core/dist/capabilities.d.ts +18 -0
  248. package/node_modules/@allyhub-next/slides-core/dist/capabilities.js +2 -0
  249. package/node_modules/@allyhub-next/slides-core/dist/chart-api.d.ts +165 -0
  250. package/node_modules/@allyhub-next/slides-core/dist/chart-api.js +2 -0
  251. package/node_modules/@allyhub-next/slides-core/dist/chart-file.d.ts +11 -0
  252. package/node_modules/@allyhub-next/slides-core/dist/chart-file.js +2 -0
  253. package/node_modules/@allyhub-next/slides-core/dist/chart.d.ts +184 -0
  254. package/node_modules/@allyhub-next/slides-core/dist/chart.js +2 -0
  255. package/node_modules/@allyhub-next/slides-core/dist/check.d.ts +7 -0
  256. package/node_modules/@allyhub-next/slides-core/dist/check.js +2 -0
  257. package/node_modules/@allyhub-next/slides-core/dist/enums.d.ts +146 -0
  258. package/node_modules/@allyhub-next/slides-core/dist/enums.js +2 -0
  259. package/node_modules/@allyhub-next/slides-core/dist/file.d.ts +109 -0
  260. package/node_modules/@allyhub-next/slides-core/dist/file.js +4 -0
  261. package/node_modules/@allyhub-next/slides-core/dist/index.d.ts +21 -0
  262. package/node_modules/@allyhub-next/slides-core/dist/index.js +2 -0
  263. package/node_modules/@allyhub-next/slides-core/dist/measure.d.ts +34 -0
  264. package/node_modules/@allyhub-next/slides-core/dist/measure.js +2 -0
  265. package/node_modules/@allyhub-next/slides-core/dist/model.d.ts +278 -0
  266. package/node_modules/@allyhub-next/slides-core/dist/model.js +2 -0
  267. package/node_modules/@allyhub-next/slides-core/dist/office.d.ts +58 -0
  268. package/node_modules/@allyhub-next/slides-core/dist/office.js +2 -0
  269. package/node_modules/@allyhub-next/slides-core/dist/path.d.ts +6 -0
  270. package/node_modules/@allyhub-next/slides-core/dist/path.js +2 -0
  271. package/node_modules/@allyhub-next/slides-core/dist/placeholders.d.ts +7 -0
  272. package/node_modules/@allyhub-next/slides-core/dist/placeholders.js +2 -0
  273. package/node_modules/@allyhub-next/slides-core/dist/resolve.d.ts +181 -0
  274. package/node_modules/@allyhub-next/slides-core/dist/resolve.js +2 -0
  275. package/node_modules/@allyhub-next/slides-core/dist/script.d.ts +43 -0
  276. package/node_modules/@allyhub-next/slides-core/dist/script.js +3 -0
  277. package/node_modules/@allyhub-next/slides-core/dist/stage.d.ts +63 -0
  278. package/node_modules/@allyhub-next/slides-core/dist/stage.js +2 -0
  279. package/node_modules/@allyhub-next/slides-core/dist/strict.d.ts +23 -0
  280. package/node_modules/@allyhub-next/slides-core/dist/strict.js +2 -0
  281. package/node_modules/@allyhub-next/slides-core/dist/theme.d.ts +72 -0
  282. package/node_modules/@allyhub-next/slides-core/dist/theme.js +2 -0
  283. package/node_modules/@allyhub-next/slides-core/dist/units.d.ts +35 -0
  284. package/node_modules/@allyhub-next/slides-core/dist/units.js +2 -0
  285. package/node_modules/@allyhub-next/slides-core/package.json +14 -0
  286. package/node_modules/@allyhub-next/slides-pptx/LICENSE +241 -0
  287. package/node_modules/@allyhub-next/slides-pptx/dist/charts.d.ts +6 -0
  288. package/node_modules/@allyhub-next/slides-pptx/dist/charts.js +2 -0
  289. package/node_modules/@allyhub-next/slides-pptx/dist/fonts.d.ts +45 -0
  290. package/node_modules/@allyhub-next/slides-pptx/dist/fonts.js +2 -0
  291. package/node_modules/@allyhub-next/slides-pptx/dist/import.d.ts +18 -0
  292. package/node_modules/@allyhub-next/slides-pptx/dist/import.js +3 -0
  293. package/node_modules/@allyhub-next/slides-pptx/dist/index.d.ts +5 -0
  294. package/node_modules/@allyhub-next/slides-pptx/dist/index.js +2 -0
  295. package/node_modules/@allyhub-next/slides-pptx/dist/read.d.ts +55 -0
  296. package/node_modules/@allyhub-next/slides-pptx/dist/read.js +4 -0
  297. package/node_modules/@allyhub-next/slides-pptx/dist/shapes.d.ts +67 -0
  298. package/node_modules/@allyhub-next/slides-pptx/dist/shapes.js +2 -0
  299. package/node_modules/@allyhub-next/slides-pptx/dist/text.d.ts +21 -0
  300. package/node_modules/@allyhub-next/slides-pptx/dist/text.js +2 -0
  301. package/node_modules/@allyhub-next/slides-pptx/dist/theme.d.ts +4 -0
  302. package/node_modules/@allyhub-next/slides-pptx/dist/theme.js +2 -0
  303. package/node_modules/@allyhub-next/slides-pptx/dist/timing.d.ts +32 -0
  304. package/node_modules/@allyhub-next/slides-pptx/dist/timing.js +2 -0
  305. package/node_modules/@allyhub-next/slides-pptx/dist/write.d.ts +32 -0
  306. package/node_modules/@allyhub-next/slides-pptx/dist/write.js +3 -0
  307. package/node_modules/@allyhub-next/slides-pptx/dist/xml.d.ts +26 -0
  308. package/node_modules/@allyhub-next/slides-pptx/dist/xml.js +3 -0
  309. package/node_modules/@allyhub-next/slides-pptx/package.json +14 -0
  310. package/node_modules/@allyhub-next/slides-runtime/LICENSE +241 -0
  311. package/node_modules/@allyhub-next/slides-runtime/dist/draw.d.ts +40 -0
  312. package/node_modules/@allyhub-next/slides-runtime/dist/draw.js +3 -0
  313. package/node_modules/@allyhub-next/slides-runtime/dist/edit.d.ts +4 -0
  314. package/node_modules/@allyhub-next/slides-runtime/dist/edit.js +2 -0
  315. package/node_modules/@allyhub-next/slides-runtime/dist/index.d.ts +4 -0
  316. package/node_modules/@allyhub-next/slides-runtime/dist/index.js +2 -0
  317. package/node_modules/@allyhub-next/slides-runtime/dist/ink.d.ts +10 -0
  318. package/node_modules/@allyhub-next/slides-runtime/dist/ink.js +2 -0
  319. package/node_modules/@allyhub-next/slides-runtime/dist/load.d.ts +6 -0
  320. package/node_modules/@allyhub-next/slides-runtime/dist/load.js +6 -0
  321. package/node_modules/@allyhub-next/slides-runtime/package.json +14 -0
  322. package/node_modules/@allyhub-next/stage/dist/graphics.js +1 -1
  323. package/node_modules/@allyhub-next/stage/dist/identity.js +1 -1
  324. package/node_modules/@allyhub-next/stage/dist/page.d.ts +9 -0
  325. package/node_modules/@allyhub-next/stage/dist/page.js +12 -2
  326. package/node_modules/@allyhub-next/stage/dist/server.js +1 -1
  327. package/node_modules/@allyhub-next/stage/package.json +1 -1
  328. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400-italic.css +79 -0
  329. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/400.css +79 -0
  330. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700-italic.css +79 -0
  331. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/700.css +79 -0
  332. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/LICENSE +93 -0
  333. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/arial.css +316 -0
  334. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-italic.woff2 +0 -0
  335. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-400-normal.woff2 +0 -0
  336. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-italic.woff2 +0 -0
  337. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-700-normal.woff2 +0 -0
  338. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-italic.woff2 +0 -0
  339. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-400-normal.woff2 +0 -0
  340. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-italic.woff2 +0 -0
  341. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-cyrillic-ext-700-normal.woff2 +0 -0
  342. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-italic.woff2 +0 -0
  343. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-400-normal.woff2 +0 -0
  344. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-italic.woff2 +0 -0
  345. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-700-normal.woff2 +0 -0
  346. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-italic.woff2 +0 -0
  347. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-400-normal.woff2 +0 -0
  348. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-italic.woff2 +0 -0
  349. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-greek-ext-700-normal.woff2 +0 -0
  350. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-italic.woff2 +0 -0
  351. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-400-normal.woff2 +0 -0
  352. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-italic.woff2 +0 -0
  353. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-hebrew-700-normal.woff2 +0 -0
  354. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-italic.woff2 +0 -0
  355. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-400-normal.woff2 +0 -0
  356. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-italic.woff2 +0 -0
  357. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-700-normal.woff2 +0 -0
  358. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-italic.woff2 +0 -0
  359. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-400-normal.woff2 +0 -0
  360. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-italic.woff2 +0 -0
  361. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-latin-ext-700-normal.woff2 +0 -0
  362. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-italic.woff2 +0 -0
  363. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-400-normal.woff2 +0 -0
  364. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-italic.woff2 +0 -0
  365. package/node_modules/@allyhub-next/stage-page/dist/fonts/arimo/files/arimo-vietnamese-700-normal.woff2 +0 -0
  366. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400-italic.css +69 -0
  367. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/400.css +69 -0
  368. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700-italic.css +69 -0
  369. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/700.css +69 -0
  370. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/LICENSE +93 -0
  371. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/calibri.css +276 -0
  372. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-italic.woff2 +0 -0
  373. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-400-normal.woff2 +0 -0
  374. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-italic.woff2 +0 -0
  375. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-700-normal.woff2 +0 -0
  376. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-italic.woff2 +0 -0
  377. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-400-normal.woff2 +0 -0
  378. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-italic.woff2 +0 -0
  379. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-cyrillic-ext-700-normal.woff2 +0 -0
  380. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-italic.woff2 +0 -0
  381. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-400-normal.woff2 +0 -0
  382. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-italic.woff2 +0 -0
  383. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-700-normal.woff2 +0 -0
  384. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-italic.woff2 +0 -0
  385. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-400-normal.woff2 +0 -0
  386. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-italic.woff2 +0 -0
  387. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-greek-ext-700-normal.woff2 +0 -0
  388. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-italic.woff2 +0 -0
  389. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-400-normal.woff2 +0 -0
  390. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-italic.woff2 +0 -0
  391. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-700-normal.woff2 +0 -0
  392. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-italic.woff2 +0 -0
  393. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-400-normal.woff2 +0 -0
  394. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-italic.woff2 +0 -0
  395. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-latin-ext-700-normal.woff2 +0 -0
  396. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-italic.woff2 +0 -0
  397. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-400-normal.woff2 +0 -0
  398. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-italic.woff2 +0 -0
  399. package/node_modules/@allyhub-next/stage-page/dist/fonts/carlito/files/carlito-vietnamese-700-normal.woff2 +0 -0
  400. package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/400.css +1 -1
  401. package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/700.css +1 -1
  402. package/node_modules/@allyhub-next/stage-page/dist/fonts/noto-sans-sc/microsoft-yahei.css +2018 -0
  403. package/node_modules/@allyhub-next/stage-page/dist/host.js +21 -0
  404. package/node_modules/@allyhub-next/stage-page/dist/page.js +79 -0
  405. package/node_modules/@allyhub-next/stage-page/package.json +14 -0
  406. package/node_modules/@allyhub-next/video-core/dist/export.d.ts +6 -5
  407. package/node_modules/@allyhub-next/video-core/dist/export.js +1 -1
  408. package/node_modules/@allyhub-next/video-core/dist/fact.d.ts +173 -4
  409. package/node_modules/@allyhub-next/video-core/dist/fact.js +1 -1
  410. package/node_modules/@allyhub-next/video-core/dist/formats.d.ts +6 -13
  411. package/node_modules/@allyhub-next/video-core/dist/formats.js +1 -1
  412. package/node_modules/@allyhub-next/video-core/dist/index.d.ts +0 -1
  413. package/node_modules/@allyhub-next/video-core/dist/index.js +1 -1
  414. package/node_modules/@allyhub-next/video-core/dist/measure.d.ts +83 -0
  415. package/node_modules/@allyhub-next/video-core/dist/piece.d.ts +8 -9
  416. package/node_modules/@allyhub-next/video-core/dist/piece.js +1 -1
  417. package/node_modules/@allyhub-next/video-core/dist/problem.d.ts +9 -1
  418. package/node_modules/@allyhub-next/video-core/dist/problem.js +1 -1
  419. package/node_modules/@allyhub-next/video-core/dist/schema.d.ts +0 -2
  420. package/node_modules/@allyhub-next/video-core/dist/script-edit.d.ts +4 -0
  421. package/node_modules/@allyhub-next/video-core/dist/script.d.ts +8 -0
  422. package/node_modules/@allyhub-next/video-core/dist/script.js +1 -1
  423. package/node_modules/@allyhub-next/video-core/dist/timeline.d.ts +34 -1
  424. package/node_modules/@allyhub-next/video-core/package.json +1 -1
  425. package/package.json +48 -41
  426. package/dist/commands/mcp-app.js +0 -3
  427. package/dist/commands/mcp-docs.js +0 -2
  428. package/dist/commands/mcp.js +0 -2
  429. package/editor-app/view.html +0 -128
  430. package/editor-web/assets/chevron-left-D1vfOP5S.js +0 -1
  431. package/editor-web/assets/chevron-up-BMNXDEBs.js +0 -1
  432. package/editor-web/assets/dist-B4VKfY-H.js +0 -136
  433. package/editor-web/assets/dist-BIEloJVS.js +0 -8
  434. package/editor-web/assets/dist-BcInw4os.js +0 -232
  435. package/editor-web/assets/dist-Coblfc3T.js +0 -1
  436. package/editor-web/assets/floating-ui.react-dom-DSyn5TRd.js +0 -1
  437. package/editor-web/assets/index-BSFR4plz.css +0 -2
  438. package/editor-web/assets/index-Dc8FX_sp.js +0 -56
  439. package/editor-web/assets/react-Bo429Bov.js +0 -61
  440. package/editor-web/assets/undo-2-CWgOKQ3L.js +0 -1
  441. package/node_modules/@allyhub-next/runtime/dist/host.js +0 -21
  442. package/node_modules/@allyhub-next/runtime/dist/page.js +0 -72
  443. package/node_modules/@allyhub-next/runtime/dist/paged.d.ts +0 -16
  444. package/node_modules/@allyhub-next/runtime/dist/paged.js +0 -2
  445. package/node_modules/@allyhub-next/video-core/dist/slides.d.ts +0 -37
  446. package/node_modules/@allyhub-next/video-core/dist/slides.js +0 -2
  447. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/LICENSE +0 -0
  448. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/emoji.css +0 -0
  449. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-color-emoji/files/noto-color-emoji-emoji-400-normal.woff2 +0 -0
  450. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/LICENSE +0 -0
  451. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-400-normal.woff2 +0 -0
  452. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-100-700-normal.woff2 +0 -0
  453. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-400-normal.woff2 +0 -0
  454. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-101-700-normal.woff2 +0 -0
  455. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-400-normal.woff2 +0 -0
  456. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-102-700-normal.woff2 +0 -0
  457. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-400-normal.woff2 +0 -0
  458. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-103-700-normal.woff2 +0 -0
  459. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-400-normal.woff2 +0 -0
  460. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-104-700-normal.woff2 +0 -0
  461. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-400-normal.woff2 +0 -0
  462. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-105-700-normal.woff2 +0 -0
  463. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-400-normal.woff2 +0 -0
  464. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-106-700-normal.woff2 +0 -0
  465. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-400-normal.woff2 +0 -0
  466. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-107-700-normal.woff2 +0 -0
  467. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-400-normal.woff2 +0 -0
  468. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-108-700-normal.woff2 +0 -0
  469. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-400-normal.woff2 +0 -0
  470. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-109-700-normal.woff2 +0 -0
  471. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-400-normal.woff2 +0 -0
  472. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-110-700-normal.woff2 +0 -0
  473. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-400-normal.woff2 +0 -0
  474. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-111-700-normal.woff2 +0 -0
  475. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-400-normal.woff2 +0 -0
  476. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-112-700-normal.woff2 +0 -0
  477. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-400-normal.woff2 +0 -0
  478. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-113-700-normal.woff2 +0 -0
  479. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-400-normal.woff2 +0 -0
  480. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-114-700-normal.woff2 +0 -0
  481. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-400-normal.woff2 +0 -0
  482. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-115-700-normal.woff2 +0 -0
  483. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-400-normal.woff2 +0 -0
  484. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-116-700-normal.woff2 +0 -0
  485. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-400-normal.woff2 +0 -0
  486. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-117-700-normal.woff2 +0 -0
  487. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-400-normal.woff2 +0 -0
  488. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-118-700-normal.woff2 +0 -0
  489. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-400-normal.woff2 +0 -0
  490. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-119-700-normal.woff2 +0 -0
  491. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-400-normal.woff2 +0 -0
  492. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-21-700-normal.woff2 +0 -0
  493. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-400-normal.woff2 +0 -0
  494. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-22-700-normal.woff2 +0 -0
  495. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-400-normal.woff2 +0 -0
  496. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-23-700-normal.woff2 +0 -0
  497. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-400-normal.woff2 +0 -0
  498. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-24-700-normal.woff2 +0 -0
  499. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-400-normal.woff2 +0 -0
  500. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-25-700-normal.woff2 +0 -0
  501. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-400-normal.woff2 +0 -0
  502. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-26-700-normal.woff2 +0 -0
  503. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-400-normal.woff2 +0 -0
  504. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-27-700-normal.woff2 +0 -0
  505. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-400-normal.woff2 +0 -0
  506. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-28-700-normal.woff2 +0 -0
  507. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-400-normal.woff2 +0 -0
  508. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-29-700-normal.woff2 +0 -0
  509. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-400-normal.woff2 +0 -0
  510. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-30-700-normal.woff2 +0 -0
  511. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-400-normal.woff2 +0 -0
  512. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-31-700-normal.woff2 +0 -0
  513. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-400-normal.woff2 +0 -0
  514. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-32-700-normal.woff2 +0 -0
  515. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-400-normal.woff2 +0 -0
  516. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-33-700-normal.woff2 +0 -0
  517. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-400-normal.woff2 +0 -0
  518. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-34-700-normal.woff2 +0 -0
  519. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-400-normal.woff2 +0 -0
  520. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-35-700-normal.woff2 +0 -0
  521. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-400-normal.woff2 +0 -0
  522. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-36-700-normal.woff2 +0 -0
  523. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-400-normal.woff2 +0 -0
  524. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-37-700-normal.woff2 +0 -0
  525. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-400-normal.woff2 +0 -0
  526. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-38-700-normal.woff2 +0 -0
  527. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-400-normal.woff2 +0 -0
  528. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-39-700-normal.woff2 +0 -0
  529. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-400-normal.woff2 +0 -0
  530. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-4-700-normal.woff2 +0 -0
  531. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-400-normal.woff2 +0 -0
  532. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-40-700-normal.woff2 +0 -0
  533. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-400-normal.woff2 +0 -0
  534. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-41-700-normal.woff2 +0 -0
  535. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-400-normal.woff2 +0 -0
  536. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-42-700-normal.woff2 +0 -0
  537. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-400-normal.woff2 +0 -0
  538. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-43-700-normal.woff2 +0 -0
  539. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-400-normal.woff2 +0 -0
  540. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-44-700-normal.woff2 +0 -0
  541. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-400-normal.woff2 +0 -0
  542. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-45-700-normal.woff2 +0 -0
  543. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-400-normal.woff2 +0 -0
  544. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-46-700-normal.woff2 +0 -0
  545. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-400-normal.woff2 +0 -0
  546. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-47-700-normal.woff2 +0 -0
  547. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-400-normal.woff2 +0 -0
  548. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-48-700-normal.woff2 +0 -0
  549. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-400-normal.woff2 +0 -0
  550. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-49-700-normal.woff2 +0 -0
  551. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-400-normal.woff2 +0 -0
  552. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-5-700-normal.woff2 +0 -0
  553. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-400-normal.woff2 +0 -0
  554. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-50-700-normal.woff2 +0 -0
  555. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-400-normal.woff2 +0 -0
  556. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-51-700-normal.woff2 +0 -0
  557. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-400-normal.woff2 +0 -0
  558. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-52-700-normal.woff2 +0 -0
  559. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-400-normal.woff2 +0 -0
  560. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-53-700-normal.woff2 +0 -0
  561. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-400-normal.woff2 +0 -0
  562. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-54-700-normal.woff2 +0 -0
  563. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-400-normal.woff2 +0 -0
  564. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-55-700-normal.woff2 +0 -0
  565. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-400-normal.woff2 +0 -0
  566. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-56-700-normal.woff2 +0 -0
  567. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-400-normal.woff2 +0 -0
  568. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-57-700-normal.woff2 +0 -0
  569. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-400-normal.woff2 +0 -0
  570. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-58-700-normal.woff2 +0 -0
  571. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-400-normal.woff2 +0 -0
  572. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-59-700-normal.woff2 +0 -0
  573. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-400-normal.woff2 +0 -0
  574. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-6-700-normal.woff2 +0 -0
  575. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-400-normal.woff2 +0 -0
  576. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-60-700-normal.woff2 +0 -0
  577. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-400-normal.woff2 +0 -0
  578. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-61-700-normal.woff2 +0 -0
  579. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-400-normal.woff2 +0 -0
  580. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-62-700-normal.woff2 +0 -0
  581. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-400-normal.woff2 +0 -0
  582. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-63-700-normal.woff2 +0 -0
  583. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-400-normal.woff2 +0 -0
  584. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-64-700-normal.woff2 +0 -0
  585. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-400-normal.woff2 +0 -0
  586. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-65-700-normal.woff2 +0 -0
  587. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-400-normal.woff2 +0 -0
  588. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-66-700-normal.woff2 +0 -0
  589. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-400-normal.woff2 +0 -0
  590. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-67-700-normal.woff2 +0 -0
  591. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-400-normal.woff2 +0 -0
  592. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-68-700-normal.woff2 +0 -0
  593. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-400-normal.woff2 +0 -0
  594. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-69-700-normal.woff2 +0 -0
  595. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-400-normal.woff2 +0 -0
  596. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-70-700-normal.woff2 +0 -0
  597. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-400-normal.woff2 +0 -0
  598. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-71-700-normal.woff2 +0 -0
  599. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-400-normal.woff2 +0 -0
  600. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-72-700-normal.woff2 +0 -0
  601. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-400-normal.woff2 +0 -0
  602. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-73-700-normal.woff2 +0 -0
  603. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-400-normal.woff2 +0 -0
  604. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-74-700-normal.woff2 +0 -0
  605. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-400-normal.woff2 +0 -0
  606. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-75-700-normal.woff2 +0 -0
  607. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-400-normal.woff2 +0 -0
  608. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-76-700-normal.woff2 +0 -0
  609. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-400-normal.woff2 +0 -0
  610. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-77-700-normal.woff2 +0 -0
  611. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-400-normal.woff2 +0 -0
  612. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-78-700-normal.woff2 +0 -0
  613. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-400-normal.woff2 +0 -0
  614. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-79-700-normal.woff2 +0 -0
  615. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-400-normal.woff2 +0 -0
  616. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-80-700-normal.woff2 +0 -0
  617. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-400-normal.woff2 +0 -0
  618. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-81-700-normal.woff2 +0 -0
  619. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-400-normal.woff2 +0 -0
  620. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-82-700-normal.woff2 +0 -0
  621. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-400-normal.woff2 +0 -0
  622. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-83-700-normal.woff2 +0 -0
  623. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-400-normal.woff2 +0 -0
  624. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-84-700-normal.woff2 +0 -0
  625. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-400-normal.woff2 +0 -0
  626. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-85-700-normal.woff2 +0 -0
  627. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-400-normal.woff2 +0 -0
  628. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-86-700-normal.woff2 +0 -0
  629. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-400-normal.woff2 +0 -0
  630. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-87-700-normal.woff2 +0 -0
  631. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-400-normal.woff2 +0 -0
  632. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-88-700-normal.woff2 +0 -0
  633. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-400-normal.woff2 +0 -0
  634. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-89-700-normal.woff2 +0 -0
  635. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-400-normal.woff2 +0 -0
  636. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-90-700-normal.woff2 +0 -0
  637. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-400-normal.woff2 +0 -0
  638. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-91-700-normal.woff2 +0 -0
  639. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-400-normal.woff2 +0 -0
  640. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-97-700-normal.woff2 +0 -0
  641. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-400-normal.woff2 +0 -0
  642. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-98-700-normal.woff2 +0 -0
  643. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-400-normal.woff2 +0 -0
  644. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-99-700-normal.woff2 +0 -0
  645. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-400-normal.woff2 +0 -0
  646. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-cyrillic-700-normal.woff2 +0 -0
  647. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-400-normal.woff2 +0 -0
  648. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-700-normal.woff2 +0 -0
  649. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-400-normal.woff2 +0 -0
  650. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-latin-ext-700-normal.woff2 +0 -0
  651. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-400-normal.woff2 +0 -0
  652. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/fonts/noto-sans-sc/files/noto-sans-sc-vietnamese-700-normal.woff2 +0 -0
  653. /package/node_modules/@allyhub-next/{runtime → stage-page}/dist/host.d.ts +0 -0
@@ -0,0 +1,4 @@
1
+ import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{At as t,Ct as n,Et as r,Lt as i,Mt as a,Ot as o,Rt as s,Wt as c,a as l,ct as u,dt as d,en as f,gt as p,ht as m,jt as h,kt as g,n as _,o as v,pt as y,r as ee,s as b,xt as x}from"./react-D0RmGe2w.js";import{a as te,c as S,d as ne,h as C,i as w,l as re,m as ie,n as T,o as ae,r as E,s as oe,t as se,u as D,y as O}from"./dist-Cpt0p8bX.js";import{c as k,i as A,l as ce,n as le,o as ue,s as j,t as de,u as fe}from"./browser-B31cR_c2.js";import{a as pe,c as me,d as he,f as ge,i as _e,l as ve,n as ye,o as be,r as xe,s as Se,u as Ce}from"./dist-Cm2TIjW5.js";import{n as M,r as we,t as Te}from"./undo-2-Ecr7-Obc.js";import{a as Ee,i as De,n as N,r as Oe,t as ke}from"./text-align-start-B3k2cx5f.js";import{D as Ae,_ as je,a as P,c as Me,g as Ne,i as F,l as Pe,n as I,r as L,s as Fe,t as R,u as z,v as Ie,w as Le,x as Re}from"./index-CAcsAZ9u.js";var ze=o(`baseline`,[[`path`,{d:`M4 20h16`,key:`14thso`}],[`path`,{d:`m6 16 6-12 6 12`,key:`1b4byz`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]]),B=o(`bold`,[[`path`,{d:`M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8`,key:`mg9rjx`}]]),Be=o(`bring-to-front`,[[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`2`,key:`yj20xf`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2`,key:`1ltk23`}],[`path`,{d:`M14 20a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2`,key:`1q24h9`}]]),Ve=o(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),V=o(`film`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 3v18`,key:`bbkbws`}],[`path`,{d:`M3 7.5h4`,key:`zfgn84`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`path`,{d:`M3 16.5h4`,key:`1230mu`}],[`path`,{d:`M17 3v18`,key:`in4fa5`}],[`path`,{d:`M17 7.5h4`,key:`myr1c1`}],[`path`,{d:`M17 16.5h4`,key:`go4c1d`}]]),H=o(`italic`,[[`line`,{x1:`19`,x2:`10`,y1:`4`,y2:`4`,key:`15jd3p`}],[`line`,{x1:`14`,x2:`5`,y1:`20`,y2:`20`,key:`bu0au3`}],[`line`,{x1:`15`,x2:`9`,y1:`4`,y2:`20`,key:`uljnxc`}]]),He=o(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),U=o(`paint-bucket`,[[`path`,{d:`M11 7 6 2`,key:`1jwth8`}],[`path`,{d:`M18.992 12H2.041`,key:`xw1gg`}],[`path`,{d:`M21.145 18.38A3.34 3.34 0 0 1 20 16.5a3.3 3.3 0 0 1-1.145 1.88c-.575.46-.855 1.02-.855 1.595A2 2 0 0 0 20 22a2 2 0 0 0 2-2.025c0-.58-.285-1.13-.855-1.595`,key:`1nkol4`}],[`path`,{d:`m8.5 4.5 2.148-2.148a1.205 1.205 0 0 1 1.704 0l7.296 7.296a1.205 1.205 0 0 1 0 1.704l-7.592 7.592a3.615 3.615 0 0 1-5.112 0l-3.888-3.888a3.615 3.615 0 0 1 0-5.112L5.67 7.33`,key:`1nk1rd`}]]),W=o(`redo-2`,[[`path`,{d:`m15 14 5-5-5-5`,key:`12vg1m`}],[`path`,{d:`M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13`,key:`6uklza`}]]),Ue=o(`send-to-back`,[[`rect`,{x:`14`,y:`14`,width:`8`,height:`8`,rx:`2`,key:`1b0bso`}],[`rect`,{x:`2`,y:`2`,width:`8`,height:`8`,rx:`2`,key:`1x09vl`}],[`path`,{d:`M7 14v1a2 2 0 0 0 2 2h1`,key:`pao6x6`}],[`path`,{d:`M14 7h1a2 2 0 0 1 2 2v1`,key:`19tdru`}]]),We=o(`shapes`,[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`,key:`1bo67w`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`,key:`w3z12y`}]]),Ge=o(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),G=e(f(),1),K=g(),Ke=Object.defineProperty,qe=(e,t)=>Ke(e,`name`,{value:t,configurable:!0}),Je=`Toggle`,Ye=G.forwardRef(qe(function(e,t){let{pressed:n,defaultPressed:r,onPressedChange:i,...a}=e,[o,s]=d({prop:n,onChange:i,defaultProp:r??!1,caller:Je});return(0,K.jsx)(p.button,{type:`button`,"aria-pressed":o,"data-state":o?`on`:`off`,"data-disabled":e.disabled?``:void 0,...a,ref:t,onClick:y(e.onClick,()=>{e.disabled||s(!o)})})},`Toggle`)),Xe=Object.defineProperty,q=(e,t)=>Xe(e,`name`,{value:t,configurable:!0}),J=`ToggleGroup`,Ze={Single:`single`,Multiple:`multiple`},[Qe,$e]=m(J,[Ie]),et=Ie(),tt=G.forwardRef(q(function(e,t){let{type:n,...r}=e;if(n===Ze.Single)return(0,K.jsx)(it,{role:`radiogroup`,...r,ref:t});if(n===Ze.Multiple)return(0,K.jsx)(at,{role:`toolbar`,...r,ref:t});throw Error(`Missing prop \`type\` expected on \`${J}\``)},`ToggleGroup`)),[nt,rt]=Qe(J),it=G.forwardRef(q(function(e,t){let{value:n,defaultValue:r,onValueChange:i=q(()=>{},`onValueChange`),...a}=e,[o,s]=d({prop:n,defaultProp:r??``,onChange:i,caller:J});return(0,K.jsx)(nt,{scope:e.__scopeToggleGroup,type:Ze.Single,value:G.useMemo(()=>o?[o]:[],[o]),onItemActivate:s,onItemDeactivate:G.useCallback(()=>s(``),[s]),children:(0,K.jsx)(ct,{...a,ref:t})})},`ToggleGroupImplSingle`)),at=G.forwardRef(q(function(e,t){let{value:n,defaultValue:r,onValueChange:i=q(()=>{},`onValueChange`),...a}=e,[o,s]=d({prop:n,defaultProp:r??[],onChange:i,caller:J}),c=G.useCallback(e=>s((t=[])=>[...t,e]),[s]),l=G.useCallback(e=>s((t=[])=>t.filter(t=>t!==e)),[s]);return(0,K.jsx)(nt,{scope:e.__scopeToggleGroup,type:Ze.Multiple,value:o,onItemActivate:c,onItemDeactivate:l,children:(0,K.jsx)(ct,{...a,ref:t})})},`ToggleGroupImplMultiple`)),[ot,st]=Qe(J),ct=G.forwardRef(q(function(e,t){let{__scopeToggleGroup:n,disabled:r=!1,rovingFocus:i=!0,orientation:a,dir:o,loop:s=!0,...c}=e,l=et(n),d=u(o),f={dir:d,...c};return(0,K.jsx)(ot,{scope:n,rovingFocus:i,disabled:r,children:i?(0,K.jsx)(Ne,{asChild:!0,...l,orientation:a,dir:d,loop:s,children:(0,K.jsx)(p.div,{...f,ref:t})}):(0,K.jsx)(p.div,{...f,ref:t})})},`ToggleGroupImpl`)),lt=`ToggleGroupItem`,ut=G.forwardRef(q(function(e,t){let n=rt(lt,e.__scopeToggleGroup),r=st(lt,e.__scopeToggleGroup),i=et(e.__scopeToggleGroup),a=n.value.includes(e.value),o=r.disabled||e.disabled,s={...e,pressed:a,disabled:o},c=G.useRef(null);return r.rovingFocus?(0,K.jsx)(je,{asChild:!0,...i,focusable:!o,active:a,ref:c,children:(0,K.jsx)(dt,{...s,ref:t})}):(0,K.jsx)(dt,{...s,ref:t})},`ToggleGroupItem`)),dt=G.forwardRef(q(function(e,t){let{__scopeToggleGroup:n,value:r,...i}=e,a=rt(lt,n),o={role:`radio`,"aria-checked":e.pressed,"aria-pressed":void 0},s=a.type===Ze.Single?o:void 0;return(0,K.jsx)(Ye,{...s,...i,ref:t,onPressedChange:e=>{e?a.onItemActivate(r):a.onItemDeactivate(r)}})},`ToggleGroupItemImpl`)),Y=914400,X=12700,Z=36e3,ft=e=>Math.trunc(e*Y),pt=e=>Math.trunc(e*Z);pt(297),pt(210),pt(210),pt(297),ft(11),ft(8.5),ft(8.5),ft(11);var mt={appear:0,fade:.5,wipe:.5,"fly-in":.5,zoom:.5,disappear:0,"fade-out":.5,"wipe-out":.5,"fly-out":.5,"zoom-out":.5,pulse:.5,path:2},ht={title:`title`,ctrTitle:`title`,subTitle:`body`,body:`body`,pic:`body`,media:`body`,obj:`body`,dt:`dt`,ftr:`ftr`,sldNum:`sldNum`};function gt(e,t){let n=ht[t];return e.shapes.find(e=>e.kind===`placeholder`&&e.placeholder?.type===n)}function _t(e){let t=new le,n=de(e,{lineCounter:t}),r=e=>{let r=e===``?[]:e.split(`.`);for(let e=r.length;e>=0;e--){let i=n.getIn(r.slice(0,e).map(e=>/^\d+$/u.test(e)?Number(e):e),!0)?.range?.[0];if(i!==void 0)return t.linePos(i).line}};if(n.errors.length>0)return{problems:n.errors.map(e=>({path:``,line:t.linePos(e.pos[0]).line,message:`slides.yaml is not YAML: ${e.message.split(`
2
+ `)[0]??``}`})),lineOf:r};let i=c(`slides`,n.toJS()??{});return i.ok?{file:i.value,problems:[],lineOf:r}:{problems:i.problems.map(e=>{let t=r(e.path);return{path:e.path,...t===void 0?{}:{line:t},message:e.message}}),lineOf:r}}var vt=`slides: []
3
+ `;function yt(e){let t=e.get(`slides`,!0);if(ue(t)||(A(e.contents)?e.set(`slides`,e.createNode([])):e.contents=e.createNode({slides:[]}),t=e.get(`slides`,!0)),!ue(t))throw Error(`slides.yaml has no slides list.`);return t}var bt=(e,t)=>e.findIndex(e=>A(e)&&e.get(`id`)===t),xt=[`frame`,`text`,`fill`,`line`,`z`,`crop`];function St(e,t){let n=de(e===void 0||e.trim()===``?vt:e);if(n.errors.length>0)throw Error(`slides.yaml is not YAML: it is mended by hand first.`);let r=yt(n),i=e=>{if(e===null)return 0;let t=e===void 0?-1:bt(r.items,e);return t<0?r.items.length:t+1};if(t.op===`add`)return bt(r.items,t.slide.id)>=0||(r.items.splice(i(t.after),0,n.createNode(t.slide)),r.flow===!0&&(r.flow=!1)),n.toString();let a=bt(r.items,t.slide),o=r.items[a];if(a<0||!A(o))return e??vt;let s=e=>{let t=o.get(`shapes`,!0);return!A(t)&&e&&(o.set(`shapes`,n.createNode({})),t=o.get(`shapes`,!0)),A(t)?t:void 0},c=()=>{let e=s(!1);if(e){for(let t of[...e.items])A(t.value)&&t.value.items.length===0&&e.delete(t.key);e.items.length===0&&o.delete(`shapes`)}};switch(t.op){case`move`:if(t.after===t.slide)break;r.items.splice(a,1),r.items.splice(i(t.after),0,o);break;case`duplicate`:{let e=o.clone();e.set(`id`,t.id),r.items.splice(a+1,0,e);break}case`remove`:r.items.splice(a,1);break;case`layout`:o.set(`layout`,t.layout);break;case`hidden`:t.hidden===!1||Array.isArray(t.hidden)&&t.hidden.length===0?o.delete(`hidden`):o.set(`hidden`,n.createNode(t.hidden));break;case`shape`:{let e=s(!0);if(!e)break;let r=e.get(t.shape,!0);if(A(r)||(e.set(t.shape,n.createNode({})),r=e.get(t.shape,!0)),!A(r))break;for(let[e,i]of Object.entries(t.set)){let t=e.split(`.`);if(i===void 0){r.deleteIn(t);let e=t.length>1?r.getIn(t.slice(0,-1),!0):void 0;A(e)&&e.items.length===0&&r.deleteIn(t.slice(0,-1))}else r.setIn(t,n.createNode(i))}c();break}case`unplace`:s(!1)?.delete(t.shape),c();break;case`animations`:t.animations.length===0?o.delete(`animations`):o.set(`animations`,n.createNode(t.animations));break;case`transition`:t.transition===void 0?o.delete(`transition`):o.set(`transition`,n.createNode(t.transition));break;case`reset`:{let e=s(!1);if(!e)break;for(let n of e.items){let e=String(A(n.key)?``:n.key.value??n.key);if(t.shape!==void 0&&e!==t.shape)continue;let r=n.value;if(A(r)&&![`textbox`,`picture`,`movie`,`geometry`,`component`].some(e=>r.has(e)))for(let e of xt)r.delete(e)}c();break}}return n.toString()}function Ct(e,t){let n=new Set(e),r=t.replace(/[^A-Za-z0-9_-]+/gu,`-`).replace(/^-+|-+$/gu,``)||`slide`;if(!n.has(r))return r;for(let e=2;;e++){let t=`${r}-${String(e)}`;if(!n.has(t))return t}}var wt=new Set([`text`,`props`,`crop`]),Tt=e=>Array.isArray(e)?e.map(Tt):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).sort(([e],[t])=>e<t?-1:+(e>t)).map(([e,t])=>[e,Tt(t)])):e,Et=(e,t)=>JSON.stringify(Tt(e))===JSON.stringify(Tt(t));function Dt(e){let t=new Map;for(let[n,r]of Object.entries(e??{}))if(wt.has(n)&&typeof r==`object`&&!Array.isArray(r))for(let[e,i]of Object.entries(r))t.set(`${n}.${e}`,i);else t.set(n,r);return t}function Ot(e,t){let n=e.length,r=t.length,i=Array.from({length:n+1},()=>Array(r+1).fill(0));for(let a=n-1;a>=0;a--)for(let n=r-1;n>=0;n--){let r=i[a],o=i[a+1];r&&o&&(r[n]=e[a]===t[n]?(o[n+1]??0)+1:Math.max(o[n]??0,r[n+1]??0))}let a=new Set;for(let o=0,s=0;o<n&&s<r;)e[o]===t[s]?(a.add(e[o]??``),o++,s++):(i[o+1]?.[s]??0)>=(i[o]?.[s+1]??0)?o++:s++;return a}function kt(e,t){let n=[],r=t.id;t.layout!==void 0&&t.layout!==e.layout&&n.push({op:`layout`,slide:r,layout:t.layout}),Et(e.hidden,t.hidden)||n.push({op:`hidden`,slide:r,hidden:t.hidden??!1}),Et(e.animations??[],t.animations??[])||n.push({op:`animations`,slide:r,animations:t.animations??[]}),Et(e.transition,t.transition)||n.push({op:`transition`,slide:r,...t.transition?{transition:t.transition}:{}});let i=e.shapes??{},a=t.shapes??{};for(let e of Object.keys(i))e in a||n.push({op:`unplace`,slide:r,shape:e});for(let[e,t]of Object.entries(a)){let a=Dt(i[e]),o=Dt(t),s={};for(let e of new Set([...a.keys(),...o.keys()]))Et(a.get(e),o.get(e))||(s[e]=o.get(e));Object.keys(s).length>0&&n.push({op:`shape`,slide:r,shape:e,set:s})}return n}function At(e,t){let n=[],r=new Map(e.slides.map(e=>[e.id,e])),i=new Set(t.slides.map(e=>e.id));for(let t of e.slides)i.has(t.id)||n.push({op:`remove`,slide:t.id});let a=Ot(e.slides.map(e=>e.id).filter(e=>i.has(e)),t.slides.map(e=>e.id).filter(e=>r.has(e)));return t.slides.forEach((e,i)=>{let o=i===0?null:t.slides[i-1]?.id??null,s=r.get(e.id);!s||s.generate!==e.generate?(s&&n.push({op:`remove`,slide:e.id}),n.push({op:`add`,slide:e,after:o})):(a.has(e.id)||n.push({op:`move`,slide:e.id,after:o}),n.push(...kt(s,e)))}),n}var jt=(e,t,n)=>JSON.stringify([e,t,n]);function Mt(e){let t=new Map;switch(e.op){case`layout`:t.set(jt(e.slide,``,`layout`),e.layout);break;case`hidden`:t.set(jt(e.slide,``,`hidden`),e.hidden);break;case`animations`:t.set(jt(e.slide,``,`animations`),e.animations);break;case`transition`:t.set(jt(e.slide,``,`transition`),e.transition);break;case`shape`:for(let[n,r]of Object.entries(e.set))t.set(jt(e.slide,e.shape,n),r);break;case`unplace`:t.set(jt(e.slide,e.shape,``),void 0);break;case`remove`:t.set(jt(e.slide,``,``),void 0)}return t}function Nt(e,t,n){let r=_t(e).file??{slides:[]},i=_t(n).file;if(!i)return;let a=At(r,t),o=n;for(let e of a)o=St(o,e);let s=new Map;for(let e of At(r,i))for(let[t,n]of Mt(e))s.set(t,n);let c=new Set(r.slides.map(e=>e.id).filter(e=>!i.slides.some(t=>t.id===e))),l=[];for(let e of a)if(`slide`in e&&typeof e.slide==`string`&&c.has(e.slide)&&e.op!==`remove`)l.push({slide:e.slide});else for(let[t,n]of Mt(e)){if(!s.has(t)||Et(s.get(t),n))continue;let[e=``,r=``,i=``]=JSON.parse(t);l.push({slide:e,...r===``?{}:{shape:r},...i===``?{}:{field:i}})}return{text:o,conflicts:l}}function Pt(e){let t=de(e);if(t.errors.length>0)return;let n=c(`script`,t.toJS()??{});return n.ok?n.value:void 0}function Ft(e){let t=e.get(`slides`,!0);if(ue(t)||(A(e.contents)?e.set(`slides`,e.createNode([])):e.contents=e.createNode({slides:[]}),t=e.get(`slides`,!0)),!ue(t))throw Error(`The script has no slides list.`);return t.flow===!0&&(t.flow=!1),t}function It(e,t){let n=de(e===void 0||e.trim()===``?`slides: []
4
+ `:e);if(n.errors.length>0)throw Error(`The script is not YAML: it is mended by hand first.`);let r=Ft(n),i=r.items.findIndex(e=>A(e)&&e.get(`id`)===t.slide);if(t.op===`remove`)return i>=0&&r.items.splice(i,1),n.toString();let a=t.op===`text`?t.words===void 0:t.notes===void 0;if(i<0&&a)return n.toString();let o=r.items[i];if(A(o)||(r.items.push(n.createNode({id:t.slide})),o=r.items.at(-1)),!A(o))return n.toString();if(t.op===`notes`)t.notes===void 0?o.delete(`notes`):o.set(`notes`,n.createNode(t.notes));else if(t.words===void 0){o.deleteIn([`text`,t.shape]);let e=o.get(`text`,!0);A(e)&&e.items.length===0&&o.delete(`text`)}else o.setIn([`text`,t.shape],n.createNode(t.words));return o.items.length===1&&r.items.splice(r.items.indexOf(o),1),n.toString()}var Lt=e=>JSON.stringify(e);function Rt(e,t){let n=[],r=new Map(e.slides.map(e=>[e.id,e])),i=new Map(t.slides.map(e=>[e.id,e]));for(let e of r.keys())i.has(e)||n.push({op:`remove`,slide:e});for(let[e,t]of i){let i=r.get(e),a=i?.text??{},o=t.text??{};for(let t of new Set([...Object.keys(a),...Object.keys(o)]))Lt(a[t])!==Lt(o[t])&&n.push({op:`text`,slide:e,shape:t,words:o[t]});Lt(i?.notes)!==Lt(t.notes)&&n.push({op:`notes`,slide:e,notes:t.notes})}return n}function zt(e,t,n){let r=Pt(e)??{parts:[],slides:[]},i=Pt(n);if(!i)return;let a=Rt(r,t),o=n;for(let e of a)o=It(o,e);let s=e=>`${e.slide}\u0000${e.op===`text`?e.shape:e.op}`,c=new Map(Rt(r,i).map(e=>[s(e),e])),l=[];for(let e of a){let t=c.get(s(e));t&&Lt(t)!==Lt(e)&&l.push({slide:e.slide,...e.op===`text`?{shape:e.shape}:{}})}return{text:o,conflicts:l}}function Bt({className:e,...t}){return(0,K.jsx)(`textarea`,{"data-slot":`textarea`,className:n(`flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40`,e),...t})}var Vt=h({en:{loading:`Loading the deck`,noDeck:`This is not a deck`,version:`Language`,slides:`Slides`,skipped:`Skipped`,slideCount:e=>e===1?`1 slide`:`${String(e)} slides`,slideOf:(e,t)=>`Slide ${String(e)} of ${String(t)}`,present:`Present`,exportTitle:`Export`,notes:`Speaker notes`,slide:`Slide`,presenting:`Presenting`,presentHelp:`← → steps · N notes · Esc stop`,noNotes:`No notes for this slide`,next:`Next`,addTitle:`Click to add title`,addSubtitle:`Click to add subtitle`,addText:`Click to add text`,addNotes:`Click to add notes`,newSlide:`New Slide`,layout:`Layout`,insert:`Insert`,textBox:`Text Box`,picture:`Pictures`,video:`Video`,shape:`Shapes`,shapes:{rect:`Rectangle`,roundRect:`Rounded Rectangle`,ellipse:`Oval`,triangle:`Triangle`,rightArrow:`Arrow`,line:`Line`},slideMenu:e=>`Slide ${String(e)} actions`,duplicate:`Duplicate`,remove:`Delete`,hide:`Hide Slide`,show:`Show Slide`,fill:`Shape Fill`,textColor:`Font Color`,size:`Font Size`,bold:`Bold`,cut:`Cut`,copy:`Copy`,paste:`Paste`,italic:`Italic`,growFont:`Increase Font Size`,shrinkFont:`Decrease Font Size`,arrange:`Arrange`,arrangeTo:{front:`Bring to Front`,forward:`Bring Forward`,backward:`Send Backward`,back:`Send to Back`},preview:`Preview`,duration:`Duration`,noAnimation:`None`,alignment:`Alignment`,align:{l:`Align Left`,ctr:`Center`,r:`Align Right`,just:`Justify`},resetLayout:`Reset`,animations:`Animations`,animationEffects:`Effect`,animationStarts:`Start`,fromLayout:`Part of the layout`,animationHint:`Select a shape to animate it`,animationEarlier:`Move Earlier`,animationLater:`Move Later`,animationRemove:`Remove animation`,animationStart:{"on-click":`On Click`,"with-previous":`With Previous`,"after-previous":`After Previous`},animationEffect:{appear:`Appear`,fade:`Fade`,wipe:`Wipe`,"fly-in":`Fly In`,zoom:`Zoom`,disappear:`Disappear`,"fade-out":`Fade Out`,"wipe-out":`Wipe Out`,"fly-out":`Fly Out`,"zoom-out":`Zoom Out`,pulse:`Pulse`,path:`Motion Path`},codeWords:`Its words are the deck's code's`,changed:(e,t)=>t===1?`${e} changed 1 thing`:`${e} changed ${String(t)} things`,changedElsewhere:e=>e===1?`1 change made outside`:`${String(e)} changes made outside`,keep:`Keep`,undo:`Undo`,redo:`Redo`,keepAll:`Keep all`,undoAll:`Undo all`,previous:`Previous`,bothChanged:e=>`You and ${e} changed the same thing: yours stands.`,unreadable:e=>`${e} cannot be read. It is not edited until it is mended.`},"zh-cn":{loading:`正在加载演示文稿`,noDeck:`这不是演示文稿`,version:`语言`,slides:`幻灯片`,skipped:`已跳过`,slideCount:e=>`${String(e)} 张幻灯片`,slideOf:(e,t)=>`第 ${String(e)} 张,共 ${String(t)} 张`,present:`放映`,exportTitle:`导出`,notes:`演讲者备注`,slide:`幻灯片`,presenting:`正在放映`,presentHelp:`← → 步骤 · N 备注 · Esc 结束`,noNotes:`此幻灯片没有备注`,next:`下一页`,addTitle:`单击此处添加标题`,addSubtitle:`单击此处添加副标题`,addText:`单击此处添加文本`,addNotes:`单击此处添加备注`,newSlide:`新建幻灯片`,layout:`版式`,insert:`插入`,textBox:`文本框`,picture:`图片`,video:`视频`,shape:`形状`,shapes:{rect:`矩形`,roundRect:`圆角矩形`,ellipse:`椭圆`,triangle:`三角形`,rightArrow:`箭头`,line:`直线`},slideMenu:e=>`第 ${String(e)} 张幻灯片的操作`,duplicate:`复制`,remove:`删除`,hide:`隐藏幻灯片`,show:`取消隐藏幻灯片`,fill:`形状填充`,textColor:`字体颜色`,size:`字号`,bold:`加粗`,cut:`剪切`,copy:`复制`,paste:`粘贴`,italic:`倾斜`,growFont:`增大字号`,shrinkFont:`减小字号`,arrange:`排列`,arrangeTo:{front:`置于顶层`,forward:`上移一层`,backward:`下移一层`,back:`置于底层`},preview:`预览`,duration:`持续时间`,noAnimation:`无`,alignment:`对齐方式`,align:{l:`左对齐`,ctr:`居中`,r:`右对齐`,just:`两端对齐`},resetLayout:`重置`,animations:`动画`,animationEffects:`效果`,animationStarts:`开始`,fromLayout:`属于版式`,animationHint:`选中形状后可为它添加动画`,animationEarlier:`向前移动`,animationLater:`向后移动`,animationRemove:`删除动画`,animationStart:{"on-click":`单击时`,"with-previous":`与上一动画同时`,"after-previous":`上一动画之后`},animationEffect:{appear:`出现`,fade:`淡入`,wipe:`擦除`,"fly-in":`飞入`,zoom:`缩放`,disappear:`消失`,"fade-out":`淡出`,"wipe-out":`擦除退出`,"fly-out":`飞出`,"zoom-out":`缩放退出`,pulse:`脉冲`,path:`动作路径`},codeWords:`文字来自演示文稿的代码`,changed:(e,t)=>`${e} 改了 ${String(t)} 处`,changedElsewhere:e=>`外部改了 ${String(e)} 处`,keep:`保留`,undo:`撤销`,redo:`重做`,keepAll:`全部保留`,undoAll:`全部撤销`,previous:`上一个`,bothChanged:e=>`你和 ${e} 改了同一处:保留你的。`,unreadable:e=>`无法读取 ${e},修好之前不能编辑。`},"zh-tw":{loading:`正在載入簡報`,noDeck:`這不是簡報`,version:`語言`,slides:`投影片`,skipped:`已略過`,slideCount:e=>`${String(e)} 張投影片`,slideOf:(e,t)=>`第 ${String(e)} 張,共 ${String(t)} 張`,present:`放映`,exportTitle:`匯出`,notes:`演講者備忘稿`,slide:`投影片`,presenting:`正在放映`,presentHelp:`← → 步驟 · N 備忘稿 · Esc 結束`,noNotes:`此投影片沒有備忘稿`,next:`下一頁`,addTitle:`按一下以新增標題`,addSubtitle:`按一下以新增副標題`,addText:`按一下以新增文字`,addNotes:`按一下以新增備忘稿`,newSlide:`新增投影片`,layout:`版面配置`,insert:`插入`,textBox:`文字方塊`,picture:`圖片`,video:`視訊`,shape:`圖案`,shapes:{rect:`矩形`,roundRect:`圓角矩形`,ellipse:`橢圓形`,triangle:`三角形`,rightArrow:`箭號`,line:`直線`},slideMenu:e=>`第 ${String(e)} 張投影片的動作`,duplicate:`複製`,remove:`刪除`,hide:`隱藏投影片`,show:`取消隱藏投影片`,fill:`填滿`,textColor:`文字色彩`,size:`大小`,bold:`粗體`,cut:`剪下`,copy:`複製`,paste:`貼上`,italic:`斜體`,growFont:`放大字型`,shrinkFont:`縮小字型`,arrange:`排列`,arrangeTo:{front:`移到最上層`,forward:`上移一層`,backward:`下移一層`,back:`移到最下層`},preview:`預覽`,duration:`期間`,noAnimation:`無`,alignment:`對齊`,align:{l:`靠左對齊`,ctr:`置中`,r:`靠右對齊`,just:`左右對齊`},resetLayout:`重設為版面配置`,animations:`動畫`,animationEffects:`效果`,animationStarts:`開始`,fromLayout:`屬於版面配置`,animationHint:`選取圖形即可為它加上動畫`,animationEarlier:`提前`,animationLater:`延後`,animationRemove:`移除動畫`,animationStart:{"on-click":`按一下時`,"with-previous":`與前動畫同時`,"after-previous":`前動畫之後`},animationEffect:{appear:`出現`,fade:`淡化`,wipe:`擦去`,"fly-in":`飛入`,zoom:`縮放`,disappear:`消失`,"fade-out":`淡出`,"wipe-out":`擦去退出`,"fly-out":`飛出`,"zoom-out":`縮放退出`,pulse:`脈衝`,path:`移動路徑`},codeWords:`文字來自簡報的程式碼`,changed:(e,t)=>`${e} 改了 ${String(t)} 處`,changedElsewhere:e=>`外部改了 ${String(e)} 處`,keep:`保留`,undo:`復原`,redo:`重做`,keepAll:`全部保留`,undoAll:`全部復原`,previous:`上一個`,bothChanged:e=>`你和 ${e} 改了同一處:保留你的。`,unreadable:e=>`無法讀取 ${e},修好之前無法編輯。`},ja:{loading:`スライドを読み込み中`,noDeck:`これはスライドではありません`,version:`言語`,slides:`スライド`,skipped:`スキップ`,slideCount:e=>`${String(e)} 枚のスライド`,slideOf:(e,t)=>`スライド ${String(e)} / ${String(t)}`,present:`発表`,exportTitle:`書き出し`,notes:`発表者ノート`,slide:`スライド`,presenting:`発表中`,presentHelp:`← → ステップ · N ノート · Esc 終了`,noNotes:`このスライドにノートはありません`,next:`次へ`,addTitle:`クリックしてタイトルを入力`,addSubtitle:`クリックしてサブタイトルを入力`,addText:`クリックしてテキストを入力`,addNotes:`クリックしてノートを入力`,newSlide:`新しいスライド`,layout:`レイアウト`,insert:`挿入`,textBox:`テキスト ボックス`,picture:`画像`,video:`ビデオ`,shape:`図形`,shapes:{rect:`長方形`,roundRect:`角丸四角形`,ellipse:`楕円`,triangle:`三角形`,rightArrow:`矢印`,line:`直線`},slideMenu:e=>`スライド ${String(e)} の操作`,duplicate:`複製`,remove:`削除`,hide:`スライドを非表示`,show:`スライドを表示`,fill:`塗りつぶし`,textColor:`文字の色`,size:`サイズ`,bold:`太字`,cut:`切り取り`,copy:`コピー`,paste:`貼り付け`,italic:`斜体`,growFont:`フォント サイズの拡大`,shrinkFont:`フォント サイズの縮小`,arrange:`配置`,arrangeTo:{front:`最前面へ移動`,forward:`前面へ移動`,backward:`背面へ移動`,back:`最背面へ移動`},preview:`プレビュー`,duration:`継続時間`,noAnimation:`なし`,alignment:`配置`,align:{l:`左揃え`,ctr:`中央揃え`,r:`右揃え`,just:`両端揃え`},resetLayout:`レイアウトにリセット`,animations:`アニメーション`,animationEffects:`効果`,animationStarts:`開始`,fromLayout:`レイアウトの一部`,animationHint:`図形を選択するとアニメーションを追加できます`,animationEarlier:`前へ`,animationLater:`後へ`,animationRemove:`アニメーションを削除`,animationStart:{"on-click":`クリック時`,"with-previous":`直前の動作と同時`,"after-previous":`直前の動作の後`},animationEffect:{appear:`表示`,fade:`フェード`,wipe:`ワイプ`,"fly-in":`スライドイン`,zoom:`ズーム`,disappear:`非表示`,"fade-out":`フェードアウト`,"wipe-out":`ワイプアウト`,"fly-out":`スライドアウト`,"zoom-out":`ズームアウト`,pulse:`パルス`,path:`軌跡`},codeWords:`文字はスライドのコードから来ています`,changed:(e,t)=>`${e} が ${String(t)} か所を変更しました`,changedElsewhere:e=>`外部で ${String(e)} か所が変更されました`,keep:`保持`,undo:`元に戻す`,redo:`やり直し`,keepAll:`すべて保持`,undoAll:`すべて元に戻す`,previous:`前へ`,bothChanged:e=>`${e} と同じ箇所を変更しました。あなたの変更が残ります。`,unreadable:e=>`${e} を読み込めません。修正されるまで編集できません。`},ko:{loading:`슬라이드를 불러오는 중`,noDeck:`슬라이드가 아닙니다`,version:`언어`,slides:`슬라이드`,skipped:`건너뜀`,slideCount:e=>`슬라이드 ${String(e)}개`,slideOf:(e,t)=>`${String(t)}개 중 ${String(e)}번째 슬라이드`,present:`발표`,exportTitle:`내보내기`,notes:`발표자 노트`,slide:`슬라이드`,presenting:`발표 중`,presentHelp:`← → 단계 · N 노트 · Esc 종료`,noNotes:`이 슬라이드에는 노트가 없습니다`,next:`다음`,addTitle:`클릭하여 제목 추가`,addSubtitle:`클릭하여 부제목 추가`,addText:`클릭하여 텍스트 추가`,addNotes:`클릭하여 노트 추가`,newSlide:`새 슬라이드`,layout:`레이아웃`,insert:`삽입`,textBox:`텍스트 상자`,picture:`그림`,video:`비디오`,shape:`도형`,shapes:{rect:`직사각형`,roundRect:`모서리가 둥근 직사각형`,ellipse:`타원`,triangle:`삼각형`,rightArrow:`화살표`,line:`선`},slideMenu:e=>`슬라이드 ${String(e)} 작업`,duplicate:`복제`,remove:`삭제`,hide:`슬라이드 숨기기`,show:`슬라이드 표시`,fill:`채우기`,textColor:`글자 색`,size:`크기`,bold:`굵게`,cut:`잘라내기`,copy:`복사`,paste:`붙여넣기`,italic:`기울임꼴`,growFont:`글꼴 크기 크게`,shrinkFont:`글꼴 크기 작게`,arrange:`정렬`,arrangeTo:{front:`맨 앞으로 가져오기`,forward:`앞으로 가져오기`,backward:`뒤로 보내기`,back:`맨 뒤로 보내기`},preview:`미리 보기`,duration:`재생 시간`,noAnimation:`없음`,alignment:`맞춤`,align:{l:`왼쪽 맞춤`,ctr:`가운데`,r:`오른쪽 맞춤`,just:`양쪽 맞춤`},resetLayout:`레이아웃으로 다시 설정`,animations:`애니메이션`,animationEffects:`효과`,animationStarts:`시작`,fromLayout:`레이아웃의 일부`,animationHint:`도형을 선택하면 애니메이션을 추가할 수 있습니다`,animationEarlier:`앞으로`,animationLater:`뒤로`,animationRemove:`애니메이션 제거`,animationStart:{"on-click":`클릭할 때`,"with-previous":`이전 효과와 함께`,"after-previous":`이전 효과 다음에`},animationEffect:{appear:`나타내기`,fade:`페이드`,wipe:`닦아내기`,"fly-in":`날아오기`,zoom:`확대/축소`,disappear:`사라지기`,"fade-out":`페이드 아웃`,"wipe-out":`닦아내며 사라지기`,"fly-out":`날아가기`,"zoom-out":`축소하며 사라지기`,pulse:`펄스`,path:`이동 경로`},codeWords:`텍스트는 슬라이드 코드에서 옵니다`,changed:(e,t)=>`${e}이(가) ${String(t)}곳을 변경함`,changedElsewhere:e=>`외부에서 ${String(e)}곳 변경됨`,keep:`유지`,undo:`실행 취소`,redo:`다시 실행`,keepAll:`모두 유지`,undoAll:`모두 실행 취소`,previous:`이전`,bothChanged:e=>`${e}와(과) 같은 곳을 변경했습니다. 내 변경이 유지됩니다.`,unreadable:e=>`${e}을(를) 읽을 수 없습니다. 고쳐질 때까지 편집할 수 없습니다.`},es:{loading:`Cargando la presentación`,noDeck:`Esto no es una presentación`,version:`Idioma`,slides:`Diapositivas`,skipped:`Omitida`,slideCount:e=>`${String(e)} diapositivas`,slideOf:(e,t)=>`Diapositiva ${String(e)} de ${String(t)}`,present:`Presentar`,exportTitle:`Exportar`,notes:`Notas del orador`,slide:`Diapositiva`,presenting:`Presentando`,presentHelp:`← → pasos · N notas · Esc salir`,noNotes:`Esta diapositiva no tiene notas`,next:`Siguiente`,addTitle:`Haga clic para agregar título`,addSubtitle:`Haga clic para agregar subtítulo`,addText:`Haga clic para agregar texto`,addNotes:`Haga clic para agregar notas`,newSlide:`Nueva diapositiva`,layout:`Diseño`,insert:`Insertar`,textBox:`Cuadro de texto`,picture:`Imagen`,video:`Vídeo`,shape:`Forma`,shapes:{rect:`Rectángulo`,roundRect:`Rectángulo redondeado`,ellipse:`Óvalo`,triangle:`Triángulo`,rightArrow:`Flecha`,line:`Línea`},slideMenu:e=>`Acciones de la diapositiva ${String(e)}`,duplicate:`Duplicar`,remove:`Eliminar`,hide:`Ocultar diapositiva`,show:`Mostrar diapositiva`,fill:`Relleno`,textColor:`Color de texto`,size:`Tamaño`,bold:`Negrita`,cut:`Cortar`,copy:`Copiar`,paste:`Pegar`,italic:`Cursiva`,growFont:`Aumentar tamaño de fuente`,shrinkFont:`Disminuir tamaño de fuente`,arrange:`Organizar`,arrangeTo:{front:`Traer al frente`,forward:`Traer adelante`,backward:`Enviar atrás`,back:`Enviar al fondo`},preview:`Vista previa`,duration:`Duración`,noAnimation:`Ninguna`,alignment:`Alineación`,align:{l:`Alinear a la izquierda`,ctr:`Centrar`,r:`Alinear a la derecha`,just:`Justificar`},resetLayout:`Restablecer diseño`,animations:`Animaciones`,animationEffects:`Efecto`,animationStarts:`Inicio`,fromLayout:`Parte del diseño`,animationHint:`Selecciona una forma para animarla`,animationEarlier:`Antes`,animationLater:`Después`,animationRemove:`Quitar animación`,animationStart:{"on-click":`Al hacer clic`,"with-previous":`Con la anterior`,"after-previous":`Después de la anterior`},animationEffect:{appear:`Aparecer`,fade:`Desvanecer`,wipe:`Barrido`,"fly-in":`Entrar volando`,zoom:`Zoom`,disappear:`Desaparecer`,"fade-out":`Desvanecer al salir`,"wipe-out":`Barrido de salida`,"fly-out":`Salir volando`,"zoom-out":`Zoom de salida`,pulse:`Pulso`,path:`Trayectoria`},codeWords:`Su texto lo da el código de la presentación`,changed:(e,t)=>t===1?`${e} cambió 1 cosa`:`${e} cambió ${String(t)} cosas`,changedElsewhere:e=>e===1?`1 cambio hecho fuera`:`${String(e)} cambios hechos fuera`,keep:`Conservar`,undo:`Deshacer`,redo:`Rehacer`,keepAll:`Conservar todo`,undoAll:`Deshacer todo`,previous:`Anterior`,bothChanged:e=>`Tú y ${e} cambiaron lo mismo: queda lo tuyo.`,unreadable:e=>`No se puede leer ${e}. No se edita hasta que se repare.`},fr:{loading:`Chargement de la présentation`,noDeck:`Ce n'est pas une présentation`,version:`Langue`,slides:`Diapositives`,skipped:`Ignorée`,slideCount:e=>`${String(e)} diapositives`,slideOf:(e,t)=>`Diapositive ${String(e)} sur ${String(t)}`,present:`Présenter`,exportTitle:`Exporter`,notes:`Notes de l'orateur`,slide:`Diapositive`,presenting:`Présentation en cours`,presentHelp:`← → étapes · N notes · Échap arrêter`,noNotes:`Pas de notes pour cette diapositive`,next:`Suivante`,addTitle:`Cliquez pour ajouter un titre`,addSubtitle:`Cliquez pour ajouter un sous-titre`,addText:`Cliquez pour ajouter du texte`,addNotes:`Cliquez pour ajouter des notes`,newSlide:`Nouvelle diapositive`,layout:`Disposition`,insert:`Insérer`,textBox:`Zone de texte`,picture:`Image`,video:`Vidéo`,shape:`Forme`,shapes:{rect:`Rectangle`,roundRect:`Rectangle à coins arrondis`,ellipse:`Ellipse`,triangle:`Triangle`,rightArrow:`Flèche`,line:`Ligne`},slideMenu:e=>`Actions de la diapositive ${String(e)}`,duplicate:`Dupliquer`,remove:`Supprimer`,hide:`Masquer la diapositive`,show:`Afficher la diapositive`,fill:`Remplissage`,textColor:`Couleur du texte`,size:`Taille`,bold:`Gras`,cut:`Couper`,copy:`Copier`,paste:`Coller`,italic:`Italique`,growFont:`Augmenter la taille de police`,shrinkFont:`Réduire la taille de police`,arrange:`Organiser`,arrangeTo:{front:`Mettre au premier plan`,forward:`Avancer`,backward:`Reculer`,back:`Mettre à l'arrière-plan`},preview:`Aperçu`,duration:`Durée`,noAnimation:`Aucune`,alignment:`Alignement`,align:{l:`Aligner à gauche`,ctr:`Centrer`,r:`Aligner à droite`,just:`Justifier`},resetLayout:`Rétablir la disposition`,animations:`Animations`,animationEffects:`Effet`,animationStarts:`Début`,fromLayout:`Fait partie de la mise en page`,animationHint:`Sélectionnez une forme pour l’animer`,animationEarlier:`Plus tôt`,animationLater:`Plus tard`,animationRemove:`Supprimer l’animation`,animationStart:{"on-click":`Au clic`,"with-previous":`Avec la précédente`,"after-previous":`Après la précédente`},animationEffect:{appear:`Apparition`,fade:`Fondu`,wipe:`Balayage`,"fly-in":`Entrée en vol`,zoom:`Zoom`,disappear:`Disparition`,"fade-out":`Fondu de sortie`,"wipe-out":`Balayage de sortie`,"fly-out":`Sortie en vol`,"zoom-out":`Zoom de sortie`,pulse:`Impulsion`,path:`Trajectoire`},codeWords:`Son texte vient du code de la présentation`,changed:(e,t)=>t===1?`${e} a changé 1 élément`:`${e} a changé ${String(t)} éléments`,changedElsewhere:e=>e===1?`1 modification faite ailleurs`:`${String(e)} modifications faites ailleurs`,keep:`Garder`,undo:`Annuler`,redo:`Rétablir`,keepAll:`Tout garder`,undoAll:`Tout annuler`,previous:`Précédent`,bothChanged:e=>`Vous et ${e} avez changé la même chose : la vôtre est gardée.`,unreadable:e=>`Impossible de lire ${e}. Il n’est pas modifié tant qu’il n’est pas réparé.`},de:{loading:`Präsentation wird geladen`,noDeck:`Das ist keine Präsentation`,version:`Sprache`,slides:`Folien`,skipped:`Übersprungen`,slideCount:e=>`${String(e)} Folien`,slideOf:(e,t)=>`Folie ${String(e)} von ${String(t)}`,present:`Präsentieren`,exportTitle:`Exportieren`,notes:`Sprechernotizen`,slide:`Folie`,presenting:`Präsentation läuft`,presentHelp:`← → Schritte · N Notizen · Esc beenden`,noNotes:`Keine Notizen zu dieser Folie`,next:`Weiter`,addTitle:`Titel durch Klicken hinzufügen`,addSubtitle:`Untertitel durch Klicken hinzufügen`,addText:`Text durch Klicken hinzufügen`,addNotes:`Notizen durch Klicken hinzufügen`,newSlide:`Neue Folie`,layout:`Layout`,insert:`Einfügen`,textBox:`Textfeld`,picture:`Bild`,video:`Video`,shape:`Form`,shapes:{rect:`Rechteck`,roundRect:`Abgerundetes Rechteck`,ellipse:`Ellipse`,triangle:`Dreieck`,rightArrow:`Pfeil`,line:`Linie`},slideMenu:e=>`Aktionen für Folie ${String(e)}`,duplicate:`Duplizieren`,remove:`Löschen`,hide:`Folie ausblenden`,show:`Folie einblenden`,fill:`Füllung`,textColor:`Textfarbe`,size:`Größe`,bold:`Fett`,cut:`Ausschneiden`,copy:`Kopieren`,paste:`Einfügen`,italic:`Kursiv`,growFont:`Schriftgrad vergrößern`,shrinkFont:`Schriftgrad verkleinern`,arrange:`Anordnen`,arrangeTo:{front:`In den Vordergrund`,forward:`Eine Ebene nach vorne`,backward:`Eine Ebene nach hinten`,back:`In den Hintergrund`},preview:`Vorschau`,duration:`Dauer`,noAnimation:`Keine`,alignment:`Ausrichtung`,align:{l:`Linksbündig`,ctr:`Zentriert`,r:`Rechtsbündig`,just:`Blocksatz`},resetLayout:`Auf Layout zurücksetzen`,animations:`Animationen`,animationEffects:`Effekt`,animationStarts:`Start`,fromLayout:`Teil des Layouts`,animationHint:`Form auswählen, um sie zu animieren`,animationEarlier:`Früher`,animationLater:`Später`,animationRemove:`Animation entfernen`,animationStart:{"on-click":`Beim Klicken`,"with-previous":`Mit Vorherigen`,"after-previous":`Nach Vorherigen`},animationEffect:{appear:`Erscheinen`,fade:`Verblassen`,wipe:`Wischen`,"fly-in":`Hineinfliegen`,zoom:`Zoomen`,disappear:`Verschwinden`,"fade-out":`Ausblenden`,"wipe-out":`Herauswischen`,"fly-out":`Hinausfliegen`,"zoom-out":`Herauszoomen`,pulse:`Impuls`,path:`Animationspfad`},codeWords:`Der Text kommt aus dem Code der Präsentation`,changed:(e,t)=>t===1?`${e} hat 1 Sache geändert`:`${e} hat ${String(t)} Dinge geändert`,changedElsewhere:e=>e===1?`1 Änderung von außerhalb`:`${String(e)} Änderungen von außerhalb`,keep:`Behalten`,undo:`Rückgängig`,redo:`Wiederholen`,keepAll:`Alle behalten`,undoAll:`Alle rückgängig`,previous:`Zurück`,bothChanged:e=>`Du und ${e} habt dasselbe geändert: deine Änderung bleibt.`,unreadable:e=>`${e} kann nicht gelesen werden. Bis es repariert ist, wird es nicht bearbeitet.`},it:{loading:`Caricamento della presentazione`,noDeck:`Questa non è una presentazione`,version:`Lingua`,slides:`Diapositive`,skipped:`Saltata`,slideCount:e=>`${String(e)} diapositive`,slideOf:(e,t)=>`Diapositiva ${String(e)} di ${String(t)}`,present:`Presenta`,exportTitle:`Esporta`,notes:`Note del relatore`,slide:`Diapositiva`,presenting:`Presentazione in corso`,presentHelp:`← → passaggi · N note · Esc esci`,noNotes:`Nessuna nota per questa diapositiva`,next:`Successiva`,addTitle:`Fai clic per aggiungere un titolo`,addSubtitle:`Fai clic per aggiungere un sottotitolo`,addText:`Fai clic per aggiungere del testo`,addNotes:`Fai clic per aggiungere delle note`,newSlide:`Nuova diapositiva`,layout:`Layout`,insert:`Inserisci`,textBox:`Casella di testo`,picture:`Immagine`,video:`Video`,shape:`Forma`,shapes:{rect:`Rettangolo`,roundRect:`Rettangolo arrotondato`,ellipse:`Ovale`,triangle:`Triangolo`,rightArrow:`Freccia`,line:`Linea`},slideMenu:e=>`Azioni della diapositiva ${String(e)}`,duplicate:`Duplica`,remove:`Elimina`,hide:`Nascondi diapositiva`,show:`Mostra diapositiva`,fill:`Riempimento`,textColor:`Colore testo`,size:`Dimensione`,bold:`Grassetto`,cut:`Taglia`,copy:`Copia`,paste:`Incolla`,italic:`Corsivo`,growFont:`Aumenta dimensione carattere`,shrinkFont:`Riduci dimensione carattere`,arrange:`Disponi`,arrangeTo:{front:`Porta in primo piano`,forward:`Porta avanti`,backward:`Porta indietro`,back:`Porta in secondo piano`},preview:`Anteprima`,duration:`Durata`,noAnimation:`Nessuna`,alignment:`Allineamento`,align:{l:`Allinea a sinistra`,ctr:`Centra`,r:`Allinea a destra`,just:`Giustifica`},resetLayout:`Reimposta layout`,animations:`Animazioni`,animationEffects:`Effetto`,animationStarts:`Avvio`,fromLayout:`Parte del layout`,animationHint:`Seleziona una forma per animarla`,animationEarlier:`Prima`,animationLater:`Dopo`,animationRemove:`Rimuovi animazione`,animationStart:{"on-click":`Al clic`,"with-previous":`Con la precedente`,"after-previous":`Dopo la precedente`},animationEffect:{appear:`Comparsa`,fade:`Dissolvenza`,wipe:`Apertura`,"fly-in":`Entrata in volo`,zoom:`Zoom`,disappear:`Scomparsa`,"fade-out":`Dissolvenza in uscita`,"wipe-out":`Chiusura`,"fly-out":`Uscita in volo`,"zoom-out":`Zoom in uscita`,pulse:`Impulso`,path:`Percorso`},codeWords:`Il testo viene dal codice della presentazione`,changed:(e,t)=>t===1?`${e} ha cambiato 1 cosa`:`${e} ha cambiato ${String(t)} cose`,changedElsewhere:e=>e===1?`1 modifica fatta fuori`:`${String(e)} modifiche fatte fuori`,keep:`Mantieni`,undo:`Annulla`,redo:`Ripeti`,keepAll:`Mantieni tutto`,undoAll:`Annulla tutto`,previous:`Precedente`,bothChanged:e=>`Tu e ${e} avete cambiato la stessa cosa: resta la tua.`,unreadable:e=>`Impossibile leggere ${e}. Non viene modificato finché non è sistemato.`},pt:{loading:`A carregar a apresentação`,noDeck:`Isto não é uma apresentação`,version:`Idioma`,slides:`Diapositivos`,skipped:`Ignorada`,slideCount:e=>`${String(e)} slides`,slideOf:(e,t)=>`Diapositivo ${String(e)} de ${String(t)}`,present:`Apresentar`,exportTitle:`Exportar`,notes:`Notas do orador`,slide:`Diapositivo`,presenting:`A apresentar`,presentHelp:`← → passos · N notas · Esc sair`,noNotes:`Este diapositivo não tem notas`,next:`Seguinte`,addTitle:`Clique para adicionar um título`,addSubtitle:`Clique para adicionar um subtítulo`,addText:`Clique para adicionar texto`,addNotes:`Clique para adicionar notas`,newSlide:`Novo slide`,layout:`Layout`,insert:`Inserir`,textBox:`Caixa de texto`,picture:`Imagem`,video:`Vídeo`,shape:`Forma`,shapes:{rect:`Retângulo`,roundRect:`Retângulo arredondado`,ellipse:`Elipse`,triangle:`Triângulo`,rightArrow:`Seta`,line:`Linha`},slideMenu:e=>`Ações do slide ${String(e)}`,duplicate:`Duplicar`,remove:`Excluir`,hide:`Ocultar slide`,show:`Mostrar slide`,fill:`Preenchimento`,textColor:`Cor do texto`,size:`Tamanho`,bold:`Negrito`,cut:`Cortar`,copy:`Copiar`,paste:`Colar`,italic:`Itálico`,growFont:`Aumentar tamanho da fonte`,shrinkFont:`Diminuir tamanho da fonte`,arrange:`Organizar`,arrangeTo:{front:`Trazer para a frente`,forward:`Trazer para frente`,backward:`Enviar para trás`,back:`Enviar para trás`},preview:`Visualizar`,duration:`Duração`,noAnimation:`Nenhuma`,alignment:`Alinhamento`,align:{l:`Alinhar à esquerda`,ctr:`Centralizar`,r:`Alinhar à direita`,just:`Justificar`},resetLayout:`Redefinir layout`,animations:`Animações`,animationEffects:`Efeito`,animationStarts:`Início`,fromLayout:`Parte do layout`,animationHint:`Selecione uma forma para animá-la`,animationEarlier:`Antes`,animationLater:`Depois`,animationRemove:`Remover animação`,animationStart:{"on-click":`Ao clicar`,"with-previous":`Com a anterior`,"after-previous":`Após a anterior`},animationEffect:{appear:`Aparecer`,fade:`Esmaecer`,wipe:`Revelar`,"fly-in":`Entrar voando`,zoom:`Zoom`,disappear:`Desaparecer`,"fade-out":`Esmaecer ao sair`,"wipe-out":`Revelar ao sair`,"fly-out":`Sair voando`,"zoom-out":`Zoom de saída`,pulse:`Pulso`,path:`Trajetória`},codeWords:`O texto vem do código da apresentação`,changed:(e,t)=>t===1?`${e} mudou 1 coisa`:`${e} mudou ${String(t)} coisas`,changedElsewhere:e=>e===1?`1 mudança feita fora`:`${String(e)} mudanças feitas fora`,keep:`Manter`,undo:`Desfazer`,redo:`Refazer`,keepAll:`Manter tudo`,undoAll:`Desfazer tudo`,previous:`Anterior`,bothChanged:e=>`Você e ${e} mudaram a mesma coisa: a sua fica.`,unreadable:e=>`Não é possível ler ${e}. Ele não é editado até ser corrigido.`},ru:{loading:`Загрузка презентации`,noDeck:`Это не презентация`,version:`Язык`,slides:`Слайды`,skipped:`Пропущен`,slideCount:e=>`Слайдов: ${String(e)}`,slideOf:(e,t)=>`Слайд ${String(e)} из ${String(t)}`,present:`Показ`,exportTitle:`Экспорт`,notes:`Заметки докладчика`,slide:`Слайд`,presenting:`Идёт показ`,presentHelp:`← → шаги · N заметки · Esc выход`,noNotes:`У этого слайда нет заметок`,next:`Далее`,addTitle:`Щелкните, чтобы добавить заголовок`,addSubtitle:`Щелкните, чтобы добавить подзаголовок`,addText:`Щелкните, чтобы добавить текст`,addNotes:`Щелкните, чтобы добавить заметки`,newSlide:`Создать слайд`,layout:`Макет`,insert:`Вставить`,textBox:`Надпись`,picture:`Рисунок`,video:`Видео`,shape:`Фигура`,shapes:{rect:`Прямоугольник`,roundRect:`Скругленный прямоугольник`,ellipse:`Овал`,triangle:`Треугольник`,rightArrow:`Стрелка`,line:`Линия`},slideMenu:e=>`Действия со слайдом ${String(e)}`,duplicate:`Дублировать`,remove:`Удалить`,hide:`Скрыть слайд`,show:`Показать слайд`,fill:`Заливка`,textColor:`Цвет текста`,size:`Размер`,bold:`Полужирный`,cut:`Вырезать`,copy:`Копировать`,paste:`Вставить`,italic:`Курсив`,growFont:`Увеличить размер шрифта`,shrinkFont:`Уменьшить размер шрифта`,arrange:`Упорядочить`,arrangeTo:{front:`На передний план`,forward:`Переместить вперед`,backward:`Переместить назад`,back:`На задний план`},preview:`Просмотр`,duration:`Длительность`,noAnimation:`Нет`,alignment:`Выравнивание`,align:{l:`По левому краю`,ctr:`По центру`,r:`По правому краю`,just:`По ширине`},resetLayout:`Сбросить макет`,animations:`Анимация`,animationEffects:`Эффект`,animationStarts:`Начало`,fromLayout:`Часть макета`,animationHint:`Выберите фигуру, чтобы анимировать её`,animationEarlier:`Раньше`,animationLater:`Позже`,animationRemove:`Удалить анимацию`,animationStart:{"on-click":`По щелчку`,"with-previous":`С предыдущим`,"after-previous":`После предыдущего`},animationEffect:{appear:`Появление`,fade:`Выцветание`,wipe:`Стирание`,"fly-in":`Вылет`,zoom:`Масштабирование`,disappear:`Исчезновение`,"fade-out":`Угасание`,"wipe-out":`Стирание при выходе`,"fly-out":`Улет`,"zoom-out":`Масштабирование при выходе`,pulse:`Пульсация`,path:`Траектория`},codeWords:`Текст задан кодом презентации`,changed:(e,t)=>`${e}: изменений — ${String(t)}`,changedElsewhere:e=>`Изменений извне: ${String(e)}`,keep:`Оставить`,undo:`Отменить`,redo:`Повторить`,keepAll:`Оставить все`,undoAll:`Отменить все`,previous:`Назад`,bothChanged:e=>`Вы и ${e} изменили одно и то же: остается ваше.`,unreadable:e=>`Не удается прочитать ${e}. Он не редактируется, пока его не исправят.`},tr:{loading:`Sunu yükleniyor`,noDeck:`Bu bir sunu değil`,version:`Dil`,slides:`Slaytlar`,skipped:`Atlanıyor`,slideCount:e=>`${String(e)} slayt`,slideOf:(e,t)=>`Slayt ${String(e)} / ${String(t)}`,present:`Sun`,exportTitle:`Dışa aktar`,notes:`Konuşmacı notları`,slide:`Slayt`,presenting:`Sunuluyor`,presentHelp:`← → adımlar · N notlar · Esc bitir`,noNotes:`Bu slaytın notu yok`,next:`Sonraki`,addTitle:`Başlık eklemek için tıklayın`,addSubtitle:`Alt başlık eklemek için tıklayın`,addText:`Metin eklemek için tıklayın`,addNotes:`Not eklemek için tıklayın`,newSlide:`Yeni slayt`,layout:`Düzen`,insert:`Ekle`,textBox:`Metin kutusu`,picture:`Resim`,video:`Video`,shape:`Şekil`,shapes:{rect:`Dikdörtgen`,roundRect:`Yuvarlatılmış dikdörtgen`,ellipse:`Oval`,triangle:`Üçgen`,rightArrow:`Ok`,line:`Çizgi`},slideMenu:e=>`Slayt ${String(e)} eylemleri`,duplicate:`Çoğalt`,remove:`Sil`,hide:`Slaydı gizle`,show:`Slaydı göster`,fill:`Dolgu`,textColor:`Metin rengi`,size:`Boyut`,bold:`Kalın`,cut:`Kes`,copy:`Kopyala`,paste:`Yapıştır`,italic:`İtalik`,growFont:`Yazı Tipi Boyutunu Büyüt`,shrinkFont:`Yazı Tipi Boyutunu Küçült`,arrange:`Yerleştir`,arrangeTo:{front:`Öne Getir`,forward:`Öne getir`,backward:`Arkaya gönder`,back:`Arkaya Gönder`},preview:`Önizleme`,duration:`Süre`,noAnimation:`Yok`,alignment:`Hizalama`,align:{l:`Sola hizala`,ctr:`Ortala`,r:`Sağa hizala`,just:`İki yana yasla`},resetLayout:`Düzene sıfırla`,animations:`Animasyonlar`,animationEffects:`Efekt`,animationStarts:`Başlangıç`,fromLayout:`Düzenin parçası`,animationHint:`Animasyon eklemek için bir şekil seçin`,animationEarlier:`Daha önce`,animationLater:`Daha sonra`,animationRemove:`Animasyonu kaldır`,animationStart:{"on-click":`Tıklatınca`,"with-previous":`Öncekiyle birlikte`,"after-previous":`Öncekinden sonra`},animationEffect:{appear:`Belirme`,fade:`Soldurma`,wipe:`Silme`,"fly-in":`Uçarak gelme`,zoom:`Yakınlaştırma`,disappear:`Kaybolma`,"fade-out":`Solarak çıkma`,"wipe-out":`Silerek çıkma`,"fly-out":`Uçarak çıkma`,"zoom-out":`Uzaklaşarak çıkma`,pulse:`Darbe`,path:`Hareket yolu`},codeWords:`Metni sunumun kodundan gelir`,changed:(e,t)=>`${e} ${String(t)} şeyi değiştirdi`,changedElsewhere:e=>`Dışarıda ${String(e)} değişiklik yapıldı`,keep:`Tut`,undo:`Geri al`,redo:`Yinele`,keepAll:`Tümünü tut`,undoAll:`Tümünü geri al`,previous:`Önceki`,bothChanged:e=>`Sen ve ${e} aynı şeyi değiştirdiniz: seninki kalır.`,unreadable:e=>`${e} okunamıyor. Düzeltilene kadar düzenlenmez.`},vi:{loading:`Đang tải bản trình bày`,noDeck:`Đây không phải là bản trình bày`,version:`Ngôn ngữ`,slides:`Trang chiếu`,skipped:`Bỏ qua`,slideCount:e=>`${String(e)} trang chiếu`,slideOf:(e,t)=>`Trang chiếu ${String(e)}/${String(t)}`,present:`Trình chiếu`,exportTitle:`Xuất`,notes:`Ghi chú của người thuyết trình`,slide:`Trang chiếu`,presenting:`Đang trình chiếu`,presentHelp:`← → các bước · N ghi chú · Esc dừng`,noNotes:`Trang chiếu này không có ghi chú`,next:`Tiếp`,addTitle:`Bấm để thêm tiêu đề`,addSubtitle:`Bấm để thêm phụ đề`,addText:`Bấm để thêm văn bản`,addNotes:`Bấm để thêm ghi chú`,newSlide:`Trang chiếu mới`,layout:`Bố trí`,insert:`Chèn`,textBox:`Hộp văn bản`,picture:`Ảnh`,video:`Video`,shape:`Hình`,shapes:{rect:`Hình chữ nhật`,roundRect:`Hình chữ nhật bo góc`,ellipse:`Hình bầu dục`,triangle:`Tam giác`,rightArrow:`Mũi tên`,line:`Đường thẳng`},slideMenu:e=>`Thao tác với trang chiếu ${String(e)}`,duplicate:`Nhân bản`,remove:`Xóa`,hide:`Ẩn trang chiếu`,show:`Hiện trang chiếu`,fill:`Tô màu`,textColor:`Màu văn bản`,size:`Cỡ`,bold:`Đậm`,cut:`Cắt`,copy:`Sao chép`,paste:`Dán`,italic:`Nghiêng`,growFont:`Tăng cỡ phông`,shrinkFont:`Giảm cỡ phông`,arrange:`Sắp xếp`,arrangeTo:{front:`Đưa lên trước cùng`,forward:`Đưa lên trước`,backward:`Đưa ra sau`,back:`Đưa xuống sau cùng`},preview:`Xem trước`,duration:`Thời lượng`,noAnimation:`Không có`,alignment:`Căn chỉnh`,align:{l:`Căn trái`,ctr:`Căn giữa`,r:`Căn phải`,just:`Căn đều`},resetLayout:`Đặt lại theo bố trí`,animations:`Hoạt hình`,animationEffects:`Hiệu ứng`,animationStarts:`Bắt đầu`,fromLayout:`Thuộc bố cục`,animationHint:`Chọn một hình để tạo hoạt hình`,animationEarlier:`Sớm hơn`,animationLater:`Muộn hơn`,animationRemove:`Xóa hoạt hình`,animationStart:{"on-click":`Khi bấm`,"with-previous":`Cùng với trước đó`,"after-previous":`Sau trước đó`},animationEffect:{appear:`Xuất hiện`,fade:`Mờ dần`,wipe:`Xóa`,"fly-in":`Bay vào`,zoom:`Thu phóng`,disappear:`Biến mất`,"fade-out":`Mờ dần khi thoát`,"wipe-out":`Xóa khi thoát`,"fly-out":`Bay ra`,"zoom-out":`Thu nhỏ khi thoát`,pulse:`Nhịp đập`,path:`Đường chuyển động`},codeWords:`Văn bản do mã của bản trình bày tạo`,changed:(e,t)=>`${e} đã thay đổi ${String(t)} chỗ`,changedElsewhere:e=>`${String(e)} thay đổi từ bên ngoài`,keep:`Giữ`,undo:`Hoàn tác`,redo:`Làm lại`,keepAll:`Giữ tất cả`,undoAll:`Hoàn tác tất cả`,previous:`Trước`,bothChanged:e=>`Bạn và ${e} cùng thay đổi một chỗ: thay đổi của bạn được giữ.`,unreadable:e=>`Không đọc được ${e}. Tệp sẽ không được chỉnh sửa cho đến khi được sửa.`},th:{loading:`กำลังโหลดงานนำเสนอ`,noDeck:`นี่ไม่ใช่งานนำเสนอ`,version:`ภาษา`,slides:`สไลด์`,skipped:`ข้าม`,slideCount:e=>`${String(e)} สไลด์`,slideOf:(e,t)=>`สไลด์ ${String(e)} จาก ${String(t)}`,present:`นำเสนอ`,exportTitle:`ส่งออก`,notes:`บันทึกของผู้บรรยาย`,slide:`สไลด์`,presenting:`กำลังนำเสนอ`,presentHelp:`← → ขั้น · N บันทึก · Esc หยุด`,noNotes:`สไลด์นี้ไม่มีบันทึก`,next:`ถัดไป`,addTitle:`คลิกเพื่อเพิ่มชื่อเรื่อง`,addSubtitle:`คลิกเพื่อเพิ่มชื่อเรื่องรอง`,addText:`คลิกเพื่อเพิ่มข้อความ`,addNotes:`คลิกเพื่อเพิ่มบันทึก`,newSlide:`สไลด์ใหม่`,layout:`เค้าโครง`,insert:`แทรก`,textBox:`กล่องข้อความ`,picture:`รูปภาพ`,video:`วิดีโอ`,shape:`รูปร่าง`,shapes:{rect:`สี่เหลี่ยมผืนผ้า`,roundRect:`สี่เหลี่ยมผืนผ้ามุมมน`,ellipse:`วงรี`,triangle:`สามเหลี่ยม`,rightArrow:`ลูกศร`,line:`เส้น`},slideMenu:e=>`การทำงานของสไลด์ ${String(e)}`,duplicate:`ทำสำเนา`,remove:`ลบ`,hide:`ซ่อนสไลด์`,show:`แสดงสไลด์`,fill:`เติม`,textColor:`สีข้อความ`,size:`ขนาด`,bold:`ตัวหนา`,cut:`ตัด`,copy:`คัดลอก`,paste:`วาง`,italic:`ตัวเอียง`,growFont:`เพิ่มขนาดฟอนต์`,shrinkFont:`ลดขนาดฟอนต์`,arrange:`จัดเรียง`,arrangeTo:{front:`นำไปไว้ด้านหน้าสุด`,forward:`นำไปข้างหน้า`,backward:`ส่งไปข้างหลัง`,back:`ส่งไปไว้ด้านหลังสุด`},preview:`แสดงตัวอย่าง`,duration:`ระยะเวลา`,noAnimation:`ไม่มี`,alignment:`การจัดแนว`,align:{l:`จัดชิดซ้าย`,ctr:`กึ่งกลาง`,r:`จัดชิดขวา`,just:`เต็มแนว`},resetLayout:`รีเซ็ตเป็นเค้าโครง`,animations:`ภาพเคลื่อนไหว`,animationEffects:`เอฟเฟกต์`,animationStarts:`เริ่ม`,fromLayout:`เป็นส่วนหนึ่งของเลย์เอาต์`,animationHint:`เลือกรูปร่างเพื่อเพิ่มภาพเคลื่อนไหว`,animationEarlier:`ก่อนหน้า`,animationLater:`ภายหลัง`,animationRemove:`เอาภาพเคลื่อนไหวออก`,animationStart:{"on-click":`เมื่อคลิก`,"with-previous":`พร้อมกับก่อนหน้า`,"after-previous":`หลังจากก่อนหน้า`},animationEffect:{appear:`ปรากฏ`,fade:`จางเข้า`,wipe:`เช็ด`,"fly-in":`บินเข้า`,zoom:`ซูม`,disappear:`หายไป`,"fade-out":`จางออก`,"wipe-out":`เช็ดออก`,"fly-out":`บินออก`,"zoom-out":`ซูมออก`,pulse:`ชีพจร`,path:`เส้นทางการเคลื่อนไหว`},codeWords:`ข้อความมาจากโค้ดของงานนำเสนอ`,changed:(e,t)=>`${e} เปลี่ยน ${String(t)} จุด`,changedElsewhere:e=>`มีการเปลี่ยนจากภายนอก ${String(e)} จุด`,keep:`เก็บไว้`,undo:`เลิกทำ`,redo:`ทำซ้ำ`,keepAll:`เก็บทั้งหมด`,undoAll:`เลิกทำทั้งหมด`,previous:`ก่อนหน้า`,bothChanged:e=>`คุณและ ${e} เปลี่ยนจุดเดียวกัน: ใช้ของคุณ`,unreadable:e=>`อ่าน ${e} ไม่ได้ จะแก้ไขไม่ได้จนกว่าจะซ่อม`},hi:{loading:`प्रस्तुति लोड हो रही है`,noDeck:`यह प्रस्तुति नहीं है`,version:`भाषा`,slides:`स्लाइड`,skipped:`छोड़ा गया`,slideCount:e=>`${String(e)} स्लाइड`,slideOf:(e,t)=>`स्लाइड ${String(e)} / ${String(t)}`,present:`प्रस्तुत करें`,exportTitle:`निर्यात करें`,notes:`वक्ता के नोट्स`,slide:`स्लाइड`,presenting:`प्रस्तुति चल रही है`,presentHelp:`← → चरण · N नोट्स · Esc रोकें`,noNotes:`इस स्लाइड के लिए कोई नोट नहीं`,next:`अगला`,addTitle:`शीर्षक जोड़ने के लिए क्लिक करें`,addSubtitle:`उपशीर्षक जोड़ने के लिए क्लिक करें`,addText:`टेक्स्ट जोड़ने के लिए क्लिक करें`,addNotes:`नोट्स जोड़ने के लिए क्लिक करें`,newSlide:`नई स्लाइड`,layout:`लेआउट`,insert:`सम्मिलित करें`,textBox:`टेक्स्ट बॉक्स`,picture:`चित्र`,video:`वीडियो`,shape:`आकृति`,shapes:{rect:`आयत`,roundRect:`गोलाकार आयत`,ellipse:`अंडाकार`,triangle:`त्रिभुज`,rightArrow:`तीर`,line:`रेखा`},slideMenu:e=>`स्लाइड ${String(e)} की क्रियाएँ`,duplicate:`डुप्लिकेट`,remove:`हटाएँ`,hide:`स्लाइड छिपाएँ`,show:`स्लाइड दिखाएँ`,fill:`भरण`,textColor:`टेक्स्ट का रंग`,size:`आकार`,bold:`बोल्ड`,cut:`काटें`,copy:`कॉपी करें`,paste:`चिपकाएँ`,italic:`तिरछा`,growFont:`फ़ॉन्ट आकार बढ़ाएँ`,shrinkFont:`फ़ॉन्ट आकार घटाएँ`,arrange:`व्यवस्थित करें`,arrangeTo:{front:`सामने लाएँ`,forward:`आगे लाएँ`,backward:`पीछे भेजें`,back:`पीछे भेजें`},preview:`पूर्वावलोकन`,duration:`अवधि`,noAnimation:`कोई नहीं`,alignment:`संरेखण`,align:{l:`बाएँ संरेखित`,ctr:`बीच में`,r:`दाएँ संरेखित`,just:`जस्टिफ़ाई`},resetLayout:`लेआउट पर रीसेट करें`,animations:`एनिमेशन`,animationEffects:`प्रभाव`,animationStarts:`प्रारंभ`,fromLayout:`लेआउट का हिस्सा`,animationHint:`एनिमेट करने के लिए कोई आकृति चुनें`,animationEarlier:`पहले`,animationLater:`बाद में`,animationRemove:`एनिमेशन हटाएँ`,animationStart:{"on-click":`क्लिक करने पर`,"with-previous":`पिछले के साथ`,"after-previous":`पिछले के बाद`},animationEffect:{appear:`प्रकट होना`,fade:`फ़ेड`,wipe:`वाइप`,"fly-in":`उड़कर आना`,zoom:`ज़ूम`,disappear:`ग़ायब होना`,"fade-out":`फ़ेड आउट`,"wipe-out":`वाइप आउट`,"fly-out":`उड़कर जाना`,"zoom-out":`ज़ूम आउट`,pulse:`पल्स`,path:`गति पथ`},codeWords:`इसके शब्द प्रस्तुति के कोड से आते हैं`,changed:(e,t)=>t===1?`${e} ने 1 बदलाव किया`:`${e} ने ${String(t)} बदलाव किए`,changedElsewhere:e=>e===1?`बाहर 1 बदलाव हुआ`:`बाहर ${String(e)} बदलाव हुए`,keep:`रखें`,undo:`पूर्ववत करें`,redo:`फिर से करें`,keepAll:`सभी रखें`,undoAll:`सभी पूर्ववत करें`,previous:`पिछला`,bothChanged:e=>`आपने और ${e} ने एक ही चीज़ बदली: आपका बदलाव रहता है।`,unreadable:e=>`${e} पढ़ा नहीं जा सकता। ठीक होने तक इसे संपादित नहीं किया जाता।`}});function Q(){return Vt.of(ee()?.locale)}var Ht=`@max-[40rem]:hidden`;function Ut(e){let{deck:t,name:n}=e,r=t?.masters.find(e=>e.layouts.some(e=>e.name===n)),i=r?.layouts.find(e=>e.name===n);if(!t||!r||!i)return null;let a=i.shapes.flatMap(e=>{let t=e.placeholder?.type;if(t===void 0||t===`dt`||t===`ftr`||t===`sldNum`)return[];let n=e.frame??gt(r,t)?.frame;return n?[{type:t,frame:n}]:[]});return(0,K.jsx)(`svg`,{viewBox:`0 0 ${String(t.width)} ${String(t.height)}`,className:`bg-sheet text-lead border-rule size-auto w-full rounded-sm border`,style:{aspectRatio:`${String(t.width)} / ${String(t.height)}`},"data-testid":`deck-layout-picture`,"aria-hidden":!0,children:a.map(({type:e,frame:n},r)=>{let i=e===`title`||e===`ctrTitle`,a=i?1:Math.max(1,Math.min(5,Math.floor(n.height/(t.height/9)))),o=n.height/(a+1);return Array.from({length:a},(e,a)=>(0,K.jsx)(`rect`,{x:n.left,y:n.top+o*(a+1)-t.height*(i?.03:.012),width:n.width*(i?.7:.9-a*.12),height:t.height*(i?.06:.024),rx:t.height*.01,fill:`currentColor`,opacity:i?.7:.35},`${String(r)}-${String(a)}`))})})}var Wt=[`rect`,`roundRect`,`ellipse`,`triangle`,`rightArrow`,`line`];function Gt(e){let t=Q(),r=(0,G.useRef)(null),i=(0,G.useRef)(null),a=(t,n)=>(0,K.jsx)(`input`,{ref:t===`picture`?r:i,type:`file`,accept:n,className:`hidden`,"data-testid":`deck-insert-${t}-file`,onChange:n=>{let r=n.target.files?.[0];n.target.value=``,r&&e.onInsert({kind:t,file:r})}}),o=(e.disabled??!1)||e.layouts.length===0,s=`grid w-96 grid-cols-2 gap-1 p-1.5 text-xs`,c=`flex-col items-stretch gap-1 p-1.5`;return(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,"data-testid":`deck-bar`,children:[(0,K.jsxs)(b,{size:`sm`,variant:`ghost`,className:`rounded-r-none pr-1.5`,"aria-label":t.newSlide,disabled:o,"data-testid":`deck-new`,onClick:()=>{let t=e.layout??e.layouts[0];t!==void 0&&e.onNew(t)},children:[(0,K.jsx)(Re,{className:`size-3.5`}),(0,K.jsx)(`span`,{className:Ht,children:t.newSlide})]}),(0,K.jsxs)(I,{children:[(0,K.jsx)(z,{asChild:!0,children:(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`-ml-0.5 h-7 w-5 rounded-l-none`,"aria-label":t.layout,disabled:o,"data-testid":`deck-new-more`,children:(0,K.jsx)(C,{className:`size-3`})})}),(0,K.jsx)(L,{align:`start`,className:s,children:e.layouts.map(t=>(0,K.jsxs)(F,{className:c,"data-testid":`deck-new-layout`,"data-layout":t,onSelect:()=>{e.onNew(t)},children:[(0,K.jsx)(Ut,{deck:e.deck,name:t}),(0,K.jsx)(`span`,{className:`truncate`,children:t})]},t))})]}),(0,K.jsxs)(I,{children:[(0,K.jsx)(z,{asChild:!0,children:(0,K.jsxs)(b,{size:`sm`,variant:`ghost`,disabled:(e.disabled??!1)||e.layout===void 0,"data-testid":`deck-layout`,children:[(0,K.jsx)(He,{className:`size-3.5`}),(0,K.jsx)(`span`,{className:Ht,children:t.layout}),(0,K.jsx)(C,{className:`size-3`})]})}),(0,K.jsx)(L,{align:`start`,className:s,children:e.layouts.map(t=>(0,K.jsxs)(F,{className:n(c,t===e.layout&&`bg-here`),"aria-current":t===e.layout?`true`:void 0,"data-testid":`deck-layout-item`,"data-layout":t,onSelect:()=>{e.onLayout(t)},children:[(0,K.jsx)(Ut,{deck:e.deck,name:t}),(0,K.jsx)(`span`,{className:`truncate`,children:t})]},t))})]}),(0,K.jsxs)(I,{children:[(0,K.jsx)(z,{asChild:!0,children:(0,K.jsxs)(b,{size:`sm`,variant:`ghost`,disabled:e.disabled,"data-testid":`deck-insert`,children:[(0,K.jsx)(`span`,{className:Ht,children:t.insert}),(0,K.jsx)(We,{className:`hidden size-3.5 @max-[40rem]:block`}),(0,K.jsx)(C,{className:`size-3`})]})}),(0,K.jsxs)(L,{align:`start`,className:`text-xs`,children:[(0,K.jsxs)(F,{"data-testid":`deck-insert-picture`,onSelect:()=>{r.current?.click()},children:[(0,K.jsx)(Ee,{className:`size-3.5`}),t.picture]}),(0,K.jsxs)(Fe,{children:[(0,K.jsxs)(Pe,{"data-testid":`deck-insert-shape`,children:[(0,K.jsx)(We,{className:`size-3.5`}),t.shape]}),(0,K.jsx)(Me,{className:`text-xs`,children:Wt.map(n=>(0,K.jsx)(F,{"data-testid":`deck-insert-geometry`,"data-geometry":n,onSelect:()=>{e.onInsert({kind:`shape`,geometry:n})},children:t.shapes[n]},n))})]}),(0,K.jsxs)(F,{"data-testid":`deck-insert-textbox`,onSelect:()=>{e.onInsert({kind:`textbox`})},children:[(0,K.jsx)(j,{className:`size-3.5`}),t.textBox]}),(0,K.jsxs)(F,{"data-testid":`deck-insert-movie`,onSelect:()=>{i.current?.click()},children:[(0,K.jsx)(V,{className:`size-3.5`}),t.video]})]})]}),(0,K.jsx)(`span`,{className:`bg-rule mx-1 h-4 w-px shrink-0`}),(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`size-7`,"aria-label":t.undo,title:t.undo,"data-testid":`deck-undo`,disabled:!e.canUndo,onClick:e.onUndo,children:(0,K.jsx)(Te,{className:`size-3.5`})}),(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`size-7`,"aria-label":t.redo,title:t.redo,"data-testid":`deck-redo`,disabled:!e.canRedo,onClick:e.onRedo,children:(0,K.jsx)(W,{className:`size-3.5`})}),a(`picture`,`image/png,image/jpeg,image/gif,image/webp,image/svg+xml`),a(`movie`,`video/mp4,video/quicktime,video/webm`)]})}var Kt=3,qt=400,Jt=3e4;function Yt({item:e,version:t,revision:r,width:i,height:a,moment:o,playing:c=!1,bare:l,onLoaded:u,onObjects:d,overlay:f,className:p,edit:m=!1,onCommands:h,onEdit:g,hold:y=!1,interactive:ee=!1}){let b=Q(),x=_(),te=(0,G.useRef)(null),[S,ne]=(0,G.useState)(),[C,w]=(0,G.useState)(),[re,ie]=(0,G.useState)(),[T,ae]=(0,G.useState)(),[E,oe]=(0,G.useState)(),se=v(E),D=(0,G.useRef)(1),O=(0,G.useRef)({shown:S,pending:C,moment:o,playing:c,onLoaded:u,onObjects:d,onEdit:g,hold:y});(0,G.useEffect)(()=>{O.current={shown:S,pending:C,moment:o,playing:c,onLoaded:u,onObjects:d,onEdit:g,hold:y}});let k=e=>e===void 0?void 0:te.current?.querySelector(`iframe[data-frame="${String(e.id)}"]`)?.contentWindow,A=(e,t)=>{k(e)?.postMessage({allyhub:!0,...t},`*`)};(0,G.useEffect)(()=>{h?.(S?e=>{A(O.current.shown,e)}:void 0)},[h,S]);let ce=n=>s(x,`video/stage`,{item:e,version:t,start:{t:n},chrome:!1,...m?{edit:!0}:{},...O.current.playing?{play:!0}:{}}).then(e=>(oe(e.probe),e.url));(0,G.useEffect)(()=>{let e=!0;return ce(O.current.moment??0).then(t=>{e&&(ne({id:D.current++,src:t}),w(void 0),ae(void 0))},t=>{e&&ae(t instanceof Error?t.message:String(t))}),()=>{e=!1}},[e,t]);let le=(0,G.useRef)(r),[ue,j]=(0,G.useState)(0),[de,fe]=(0,G.useState)(),pe=(0,G.useRef)(0),me=()=>{pe.current>=Kt||(pe.current++,setTimeout(()=>{j(e=>e+1)},qt*pe.current))};(0,G.useEffect)(()=>{if(r===le.current&&ue===0)return;r!==le.current&&(pe.current=0),le.current=r;let e=!0;return ce(O.current.moment??0).then(t=>{e&&w({id:D.current++,src:t})},t=>{fe(`video/stage: ${t instanceof Error?t.message:String(t)}`),e&&me()}),()=>{e=!1}},[r,ue]),(0,G.useEffect)(()=>{if(!C)return;let e=setTimeout(()=>{w(void 0)},Jt);return()=>{clearTimeout(e)}},[C]),(0,G.useEffect)(()=>{let e=e=>{let t=xe(e.data);if(!t)return;let{shown:n,pending:r}=O.current,i=[n,r].find(t=>t!==void 0&&k(t)===e.source);if(!i)return;let a=i.id===r?.id;if(t.type===`loaded`){if(i.loaded={kind:t.kind,timeline:t.timeline,text:t.text,reads:t.reads,problems:t.problems,mix:t.mix,...t.deck===void 0?{}:{deck:t.deck}},a)return;ie(t.timeline),ae(void 0),O.current.onLoaded?.(i.loaded)}else if(t.type===`error`)fe(`${a?`pending`:`shown`}: ${t.message}`),a?(w(void 0),me()):ae(t.message);else if(t.type===`deck-text`||t.type===`deck-text-done`||t.type===`deck-selection`)a||O.current.onEdit?.(t);else if(t.type===`time`){if(a){if(!i.loaded||O.current.hold)return;ne(i),w(void 0),ie(i.loaded.timeline),O.current.shown=i,O.current.pending=void 0,O.current.onLoaded?.(i.loaded)}let e=O.current.moment;if(!O.current.playing&&e!==void 0&&Math.abs(t.t-e)>.001){A(i,{type:`seek`,t:e});return}t.playing||A(i,{type:`objects`,t:t.t})}else t.type===`objects`&&(a||O.current.onObjects?.(t))};return window.addEventListener(`message`,e),()=>{window.removeEventListener(`message`,e)}},[]),(0,G.useEffect)(()=>{!y&&C?.loaded&&A(C,{type:`seek`,t:O.current.moment??0})},[y]),(0,G.useEffect)(()=>{o!==void 0&&S&&(c||A(S,{type:`pause`}),A(S,{type:`seek`,t:o}),c&&A(S,{type:`play`}))},[o,c,S?.id]);let[ge,_e]=re?[re.width,re.height]:[i,a],ve=(e,t)=>(0,K.jsx)(`iframe`,{"data-frame":e.id,src:e.src,title:b.slide,...se?{sandbox:`allow-scripts`}:{},allow:`autoplay`,"data-testid":t?`deck-stage-pending`:`deck-stage`,className:n(`absolute -inset-0.5 size-[calc(100%+4px)] border-0`,!ee||t?`pointer-events-none`:``,`transition-opacity duration-(--allyhub-dur-set)`,(t||re===void 0)&&`opacity-0`)},e.id);return(0,K.jsx)(`div`,{className:n(`flex size-full min-h-0 items-center justify-center [container-type:size]`,p),"data-testid":`deck-canvas`,"data-shown":S?.id,"data-pending":C===void 0?void 0:`${String(C.id)}${C.loaded?` loaded`:``}`,"data-error":de,children:(0,K.jsxs)(`div`,{ref:te,className:n(`bg-background relative overflow-hidden [container-type:inline-size]`,l!==!0&&`shadow-sheet border`),style:{width:`min(100cqw - 2px, (100cqh - 2px) * ${String(ge/_e)})`,aspectRatio:`${String(ge)} / ${String(_e)}`},"data-testid":`deck-picture`,children:[S&&se!==void 0?ve(S,!1):null,C&&se!==void 0?ve(C,!0):null,re||T!==void 0?null:(0,K.jsx)(`div`,{className:`animate-in fade-in fill-mode-both absolute inset-0 flex items-center justify-center delay-700`,children:(0,K.jsx)(he,{label:b.loading})}),T===void 0?null:(0,K.jsx)(`div`,{className:`bg-background/90 text-problem-text absolute inset-x-0 top-0 p-2 text-xs`,"data-testid":`deck-failed`,children:T}),f]})})}function Xt(e){let t=Q(),[n,r]=(0,G.useState)(0),i=e.changes.length;if(i===0)return null;let a=Math.min(n,i-1),o=e.changes[a];if(!o)return null;let s=t=>{let n=(a+t+i)%i;r(n);let o=e.changes[n];o&&e.onShow(o)};return(0,K.jsxs)(`div`,{className:`bg-sheet border-agent/40 flex items-center gap-1 rounded-md border px-2 py-1 text-xs shadow-sm`,"data-testid":`deck-changes`,children:[(0,K.jsx)(`span`,{className:`bg-agent size-1.5 rounded-full`}),(0,K.jsx)(`span`,{className:`text-agent-text mr-1`,"data-testid":`deck-changes-count`,children:e.agent===void 0?t.changedElsewhere(i):t.changed(e.agent,i)}),i>1?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`size-6`,"aria-label":t.previous,onClick:()=>{s(-1)},children:(0,K.jsx)(ie,{className:`size-3.5`})}),(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`size-6`,"aria-label":t.next,onClick:()=>{s(1)},children:(0,K.jsx)(Ae,{className:`size-3.5`})})]}):null,(0,K.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-6`,"data-testid":`deck-change-undo`,onClick:()=>{e.onUndo(o)},children:t.undo}),(0,K.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-6`,"data-testid":`deck-change-keep`,onClick:()=>{e.onKeep(o)},children:t.keep}),i>1?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-6`,"data-testid":`deck-changes-undo`,onClick:()=>{e.onAll(`undo`)},children:t.undoAll}),(0,K.jsx)(b,{size:`sm`,variant:`ghost`,className:`h-6`,"data-testid":`deck-changes-keep`,onClick:()=>{e.onAll(`keep`)},children:t.keepAll})]}):null]})}function Zt(e){if(typeof e!=`object`||!e)return;let t=e;return Array.isArray(t.slides)&&typeof t.width==`number`?e:void 0}var Qt=e=>e.file.generate===void 0?void 0:{block:e.id.split(`/`)[0]??e.id,slide:e.id.slice(e.id.indexOf(`/`)+1)};function $t(e){let t=Qt(e);return e.shapes.filter(e=>e.level===`slide`).map(n=>({key:`${e.id}/${n.name}`,name:n.name,address:t?{slide:t.block,shape:`${t.slide}/${n.name}`}:{slide:e.id,shape:n.name},shape:n,own:n.placeholder===void 0&&n.sources.frame.from===`slide`,typed:t===void 0&&(n.kind===`table`&&n.sources.frame.from===`slide`||n.text!==void 0&&(n.kind===`placeholder`||n.kind===`textbox`||n.kind===`autoshape`))}))}var en=e=>{let t=e=>Math.round(e/X*10)/10;return{x:t(e.left),y:t(e.top),w:t(e.width),h:t(e.height)}},tn=e=>({left:e.x*X,top:e.y*X,width:e.w*X,height:e.h*X});function nn(e,t){return e.slides.find(e=>e.id===t.slide)?.shapes?.[t.shape]}var rn=.008,an=(e,t)=>[e,e+t/2,e+t];function on(e,t,n){let r;for(let i of e)for(let e of t){let t=e-i;Math.abs(t)<=n&&(!r||Math.abs(t)<Math.abs(r.shift))&&(r={shift:t,at:e})}return r}function sn(e,t,n,r){let i=[...an(0,n.width),...t.flatMap(e=>an(e.left,e.width))],a=[...an(0,n.height),...t.flatMap(e=>an(e.top,e.height))],o=on(an(e.left,e.width),i,r),s=on(an(e.top,e.height),a,r);return{frame:{...e,left:e.left+(o?.shift??0),top:e.top+(s?.shift??0)},guides:[...o?[{axis:`x`,at:o.at}]:[],...s?[{axis:`y`,at:s.at}]:[]]}}var cn=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],ln=X*2;function un(e,t,n,r,i={}){let a=e.left,o=e.top,s=e.left+e.width,c=e.top+e.height;t.includes(`w`)&&(a+=n),t.includes(`e`)&&(s+=n),t.includes(`n`)&&(o+=r),t.includes(`s`)&&(c+=r);let l=[];if(i.snap){let{others:e,slide:n,tol:r}=i.snap,u=[0,n.width/2,n.width,...e.flatMap(e=>an(e.left,e.width))],d=[0,n.height/2,n.height,...e.flatMap(e=>an(e.top,e.height))],f=(e,t,n)=>{let i=on([e],t,r);return i?(l.push({axis:n,at:i.at}),i.at):e};t.includes(`w`)&&(a=f(a,u,`x`)),t.includes(`e`)&&(s=f(s,u,`x`)),t.includes(`n`)&&(o=f(o,d,`y`)),t.includes(`s`)&&(c=f(c,d,`y`))}if(s-a<ln&&(t.includes(`w`)?a=s-ln:s=a+ln),c-o<ln&&(t.includes(`n`)?o=c-ln:c=o+ln),i.keep&&t.length===2&&e.width>0&&e.height>0){let n=e.width/e.height,r=s-a,i=c-o;if(r/n>=i){let e=r/n;t.includes(`n`)?o=c-e:c=o+e}else{let e=i*n;t.includes(`w`)?a=s-e:s=a+e}}return{frame:{left:a,top:o,width:s-a,height:c-o},guides:l}}function dn(e){let t=0;return e.map(e=>((e.start??`on-click`)===`on-click`&&(t+=1),t))}function fn(e){return(e.text?.paragraphs[0]?.runs??[]).map(e=>e.text).join(``).trim()}function pn(e,t,n){let r=n===`front`?Math.max(e,...t,0)+1:n===`back`?Math.min(e,...t,0)-1:e+(n===`forward`?1:-1);return r===0?void 0:r}function mn(e,t,n){let r=[...e],[i]=r.splice(t,1);return i&&r.splice(Math.max(0,Math.min(r.length,t+n)),0,i),r}function hn(e,[t,n],r){let i=(Array.isArray(e)?e:[]).map(e=>Array.isArray(e)?[...e]:[e]);for(;i.length<=t;)i.push([]);let a=i[t]??[];for(;a.length<=n;)a.push(``);return a[n]=r??``,i.some(e=>e.some(e=>e!==``))?i:void 0}function gn(e){let t=e.map(e=>({...e,text:e.text.replaceAll(`\v`,` `).replace(/\s+$/u,``)}));if(t.every(e=>e.text===``))return;let[n]=t;if(t.length===1&&n?.level===0)return n.text;let r=[],i=[r];for(let e of t){let t=Math.min(Math.max(0,e.level),i.length);for(;i.length-1>t;)i.pop();if(t===i.length){let e=[];i.at(-1)?.push(e),i.push(e)}i.at(-1)?.push(e.text)}return r}function _n(e){let t=e.edit.slide;return typeof t==`string`?t:t.id}function vn(e){let t=e.edit;if(t.op===`shape`||t.op===`unplace`||t.op===`text`)return t.shape}function yn(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function bn(e,t){let n=e.op===`add`?e.slide.id:e.slide,r=t.slides.findIndex(e=>e.id===n),i=t.slides[r],a=r>0?t.slides[r-1]?.id??null:null;switch(e.op){case`add`:return[{op:`remove`,slide:e.slide.id}];case`remove`:return i?[{op:`add`,slide:i,after:a}]:[];case`move`:return[{op:`move`,slide:e.slide,after:a}];case`layout`:return i?.layout===void 0?[]:[{op:`layout`,slide:e.slide,layout:i.layout}];case`hidden`:return[{op:`hidden`,slide:e.slide,hidden:i?.hidden??!1}];case`shape`:{let t=i?.shapes?.[e.shape];return[{op:`shape`,slide:e.slide,shape:e.shape,set:Object.fromEntries(Object.keys(e.set).map(e=>[e,yn(t,e)]))}]}case`unplace`:{let t=i?.shapes?.[e.shape];return t?[{op:`shape`,slide:e.slide,shape:e.shape,set:{...t}}]:[]}case`duplicate`:return[{op:`remove`,slide:e.id}];case`reset`:return[];case`animations`:return[{op:`animations`,slide:e.slide,animations:i?.animations??[]}];case`transition`:return[{op:`transition`,slide:e.slide,...i?.transition?{transition:i.transition}:{}}]}}function xn(e,t){let n=t.slides.find(t=>t.id===e.slide);switch(e.op){case`text`:return[{op:`text`,slide:e.slide,shape:e.shape,words:n?.text?.[e.shape]}];case`notes`:return[{op:`notes`,slide:e.slide,notes:n?.notes}];case`remove`:return n?[...Object.entries(n.text??{}).map(([t,n])=>({op:`text`,slide:e.slide,shape:t,words:n})),...n.notes===void 0?[]:[{op:`notes`,slide:e.slide,notes:n.notes}]]:[]}}function Sn(e){return e.file===`slides`?{slides:bn(e.edit,e.before),script:[]}:{slides:[],script:xn(e.edit,e.before)}}var Cn=e=>JSON.stringify([e.file,e.edit.op,_n(e),vn(e)??``,e.edit.op===`shape`?Object.keys(e.edit.set).sort():[]]),wn={read:e=>_t(e).file,edits:At,apply:St,merge:Nt},Tn={read:Pt,edits:Rt,apply:It,merge:zt},En={slides:[]},Dn={parts:[],slides:[]},On=class{text;value;problem;session;format;heard;constructor(e,t,n,r){this.session=e,this.format=t,this.heard=r,this.text=e.text;let i=t.read(e.text);this.value=i??n,this.problem=i===void 0?e.path:void 0,e.attach({save:()=>this.problem!==void 0||this.text===e.text?void 0:this.text,take:(n,r)=>{let i=t.read(r),a=t.read(n);if(a===void 0){this.problem=e.path,this.heard.updated();return}let o=i===void 0||this.problem!==void 0?{text:n,conflicts:[]}:t.merge(r,this.value,n);this.problem=void 0,this.text=o?.text??n,this.value=t.read(this.text)??a,o&&o.conflicts.length>0&&this.heard.conflicts(o.conflicts),i!==void 0&&this.heard.changed(t.edits(i,a),i),this.heard.updated()}})}edit(e){if(this.problem===void 0&&e.length!==0){for(let t of e)this.text=this.format.apply(this.text,t);this.value=this.format.read(this.text)??this.value,this.session.edited()}}},kn=1500,An=`slides-editor.seen:`,jn=300,Mn=[`error`,`saving`,`unsaved`,`saved`],Nn=class e{slides;script;changes=[];conflicts=[];snapshot;listeners=new Set;stops=[];done=[];undone=[];host;remembering;remembered={};static async open(t,n){let r=new e;r.host=t;let[a,o]=await Promise.all([i.open(t,n.slides),i.open(t,n.script)]),s=e=>({changed:(t,n)=>{r.noted(t.map(t=>e(t,n)))},conflicts:e=>{r.conflicts=e},updated:()=>{r.update()}});r.slides=new On(a,wn,En,s((e,t)=>({file:`slides`,edit:e,before:t}))),r.script=new On(o,Tn,Dn,s((e,t)=>({file:`script`,edit:e,before:t}))),r.stops=[a,o].map(e=>e.onState(()=>{r.update()}));let c=async e=>{let{value:n}=await t[`storage/get`]({key:An+e}).catch(()=>({value:null}));return typeof n==`string`?n:void 0},[l,u]=await Promise.all([c(n.slides),c(n.script)]);r.remembered={...l===void 0?{}:{slides:l},...u===void 0?{}:{script:u}};let d=l===void 0?void 0:wn.read(l);d&&r.noted(At(d,r.slides.value).map(e=>({file:`slides`,edit:e,before:d})));let f=u===void 0?void 0:Tn.read(u);return f&&r.noted(Rt(f,r.script.value).map(e=>({file:`script`,edit:e,before:f}))),r.update(),r}subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));get=()=>(this.snapshot??={slides:this.slides.value,script:this.script.value,state:Mn.find(e=>this.slides.session.state===e||this.script.session.state===e)??`saved`,problem:this.slides.problem??this.script.problem,changes:this.changes,conflicts:this.conflicts,canUndo:this.done.length>0,canRedo:this.undone.length>0},this.snapshot);update(){this.snapshot=void 0;for(let e of this.listeners)e();clearTimeout(this.remembering),this.remembering=setTimeout(()=>{this.remember()},jn)}remember(){let e=[...this.changes].reverse().map(e=>({c:e,undo:Sn(e)})),t=this.slides.text,n=this.script.text;for(let{undo:r}of e){for(let e of r.slides)t=St(t,e);for(let e of r.script)n=It(n,e)}let r=(e,t,n)=>{t!==n&&this.host[`storage/set`]({key:An+e,value:n}).catch(()=>void 0)};r(this.slides.session.path,this.remembered.slides,t),r(this.script.session.path,this.remembered.script,n),this.remembered={slides:t,script:n}}copies(){return{slides:this.slides.value,script:this.script.value}}apply(e,t,n){let r=this.copies();this.slides.edit(e),this.script.edit(t);let i=this.copies();if(r.slides===i.slides&&r.script===i.script)return;let a=Date.now(),o=this.done.at(-1);n!==void 0&&o?.group===n&&a-o.at<kn?(o.after=i,o.at=a):this.done.push({before:r,after:i,group:n,at:a}),this.undone=[]}replay(e,t){this.slides.edit(At(e.slides,t.slides)),this.script.edit(Rt(e.script,t.script)),this.update()}undoStep(){let e=this.done.pop();e&&(this.undone.push(e),this.replay(e.after,e.before))}redoStep(){let e=this.undone.pop();e&&(this.done.push(e),this.replay(e.before,e.after))}noted(e){let t=new Set(this.changes.map(Cn));this.changes=[...this.changes,...e.filter(e=>!t.has(Cn(e)))]}edit(e,t){let n=new Set([...(e.slides??[]).map(e=>({file:`slides`,edit:e,before:En})),...(e.script??[]).map(e=>({file:`script`,edit:e,before:Dn}))].map(e=>`${_n(e)}\u0000${vn(e)??``}`));this.changes=this.changes.filter(e=>!n.has(`${_n(e)}\u0000${vn(e)??``}`)),this.apply(e.slides??[],e.script??[],t),this.update()}keep(e){this.changes=this.changes.filter(t=>t!==e),this.update()}undo(e){let t=Sn(e);this.changes=this.changes.filter(t=>t!==e),this.apply(t.slides,t.script),this.update()}all(e){for(let t of[...this.changes].reverse())e===`undo`?this[e](t):this.keep(t)}async flush(){await Promise.all([this.slides.session.flush(),this.script.session.flush()])}async close(){for(let e of this.stops.splice(0))e();clearTimeout(this.remembering),this.remember(),await Promise.all([this.slides.session.close(),this.script.session.close()])}};function Pn(e){return e.map(e=>({key:e.key,...e.title===void 0?{}:{title:e.title},steps:e.steps&&e.steps.length>0?e.steps:[e.still],still:e.still,hidden:e.hidden===!0}))}function Fn(e,t,n){let r=e.find(e=>e.key===t);if(r)return r.steps[Math.max(0,Math.min(n,r.steps.length-1))]}function In(e,t,n,r=!1){let i=r?e.filter(e=>!e.hidden):e,a=i.findIndex(e=>e.key===t.slide),o=i[a];if(!o)return i[0]?{slide:i[0].key,step:0}:t;let s=t.step+n;if(s>=0&&s<o.steps.length)return{slide:o.key,step:s};let c=i[a+n];return c?{slide:c.key,step:n>0?0:c.steps.length-1}:t}var Ln=(e,t)=>`${String(e/t*100)}%`,Rn={n:`cursor-ns-resize`,s:`cursor-ns-resize`,e:`cursor-ew-resize`,w:`cursor-ew-resize`,ne:`cursor-nesw-resize`,sw:`cursor-nesw-resize`,nw:`cursor-nwse-resize`,se:`cursor-nwse-resize`},zn={nw:[0,0],n:[.5,0],ne:[1,0],e:[1,.5],se:[1,1],s:[.5,1],sw:[0,1],w:[0,.5]};function Bn({onWords:e}){let t=(0,G.useRef)(null),[r,i]=(0,G.useState)(!1);(0,G.useEffect)(()=>{t.current?.focus({preventScroll:!0})},[]);let a=n=>{t.current&&(t.current.value=``),n&&e(n)};return(0,K.jsx)(`textarea`,{ref:t,"data-sink":!0,"data-testid":`deck-sink`,"aria-hidden":!0,tabIndex:-1,rows:1,className:n(`absolute top-full left-0 resize-none outline-none`,r?`bg-sheet border-pencil z-10 mt-1 w-48 rounded-sm border px-1 text-sm`:`pointer-events-none size-px opacity-0`),onCompositionStart:()=>{i(!0)},onCompositionEnd:e=>{i(!1),a(e.data)},onInput:e=>{r||a(e.currentTarget.value)}})}function Vn(e){let t=dn(e.animations??[]),r=Q(),i=(0,G.useRef)(null),a=(0,G.useRef)(void 0),[o,s]=(0,G.useState)(),[c,l]=(0,G.useState)([]),u=()=>{let t=i.current?.getBoundingClientRect().width??0;return t>0?e.width/t:1},d=e=>{let t=i.current?.getBoundingClientRect();return t?{x:(e.clientX-t.left)/t.width,y:(e.clientY-t.top)/t.height}:{x:0,y:0}},f=(t,n,r)=>{if(t.button!==0)return;if(t.stopPropagation(),t.shiftKey&&r===`move`){e.onSelect(e.selected.includes(n.key)?e.selected.filter(e=>e!==n.key):[...e.selected,n.key]);return}let i=e.selected.includes(n.key)&&r===`move`;e.selected.includes(n.key)||e.onSelect([n.key]);let o=e.frameOf(n);a.current={key:n.key,handle:r,start:{x:t.clientX,y:t.clientY},from:o,moved:!1,last:o,with:i?e.shapes.filter(t=>t.key!==n.key&&e.selected.includes(t.key)).map(t=>({key:t.key,from:e.frameOf(t)})):[]},t.currentTarget.setPointerCapture(t.pointerId)},p=e=>({[e.key]:e.last,...Object.fromEntries(e.with.map(t=>[t.key,{...t.from,left:t.from.left+e.last.left-e.from.left,top:t.from.top+e.last.top-e.from.top}]))}),m=()=>{let t=a.current;if(a.current=void 0,l([]),t?.moved&&e.onDrop(p(t)),o){let t=Math.min(o.from.x,o.to.x)*e.width,n=Math.max(o.from.x,o.to.x)*e.width,r=Math.min(o.from.y,o.to.y)*e.height,i=Math.max(o.from.y,o.to.y)*e.height;e.onSelect(e.shapes.filter(a=>{let o=e.frameOf(a);return o.left<n&&o.left+o.width>t&&o.top<i&&o.top+o.height>r}).map(e=>e.key)),s(void 0)}},h=t=>{if(o){s({...o,to:d(t)});return}let n=a.current;if(!n)return;if(!(t.buttons&1)){m();return}let r=u(),i=(t.clientX-n.start.x)*r,c=(t.clientY-n.start.y)*r;if(!n.moved&&Math.hypot(t.clientX-n.start.x,t.clientY-n.start.y)<3)return;n.moved=!0;let f=new Set([n.key,...n.with.map(e=>e.key)]),h=e.shapes.filter(e=>!f.has(e.key)).map(e.frameOf),g={width:e.width,height:e.height},_=t.altKey?void 0:{others:h,slide:g,tol:e.width*rn},v=n.handle===`move`?_?sn({...n.from,left:n.from.left+i,top:n.from.top+c},h,g,_.tol):{frame:{...n.from,left:n.from.left+i,top:n.from.top+c},guides:[]}:un(n.from,n.handle,i,c,{keep:t.shiftKey,..._?{snap:_}:{}});n.last=v.frame,l(v.guides),e.onDrag(p(n))},g=e=>e===`title`||e===`ctrTitle`?r.addTitle:e===`subTitle`?r.addSubtitle:r.addText;return(0,K.jsxs)(`div`,{ref:i,className:n(`absolute inset-0`,e.typing!==void 0&&`pointer-events-none`),"data-testid":`deck-overlay`,onPointerDown:t=>{if(t.target!==t.currentTarget||t.button!==0)return;t.currentTarget.setPointerCapture(t.pointerId),e.onSelect([]);let n=d(t);s({from:n,to:n})},onPointerMove:h,onPointerUp:m,onPointerCancel:m,onLostPointerCapture:m,children:[e.shapes.map(i=>{let a=e.frameOf(i),o=e.selected.includes(i.key),s=i.shape.kind===`placeholder`&&i.shape.text?.empty===!0,c=e.typing===i.key,l=t.filter((t,n)=>e.animations?.[n]?.shape===i.name);return(0,K.jsxs)(`div`,{"data-testid":`deck-shape`,"data-key":i.key,"data-selected":o?``:void 0,title:i.typed||!i.shape.text?void 0:r.codeWords,className:n(`absolute`,c?`outline-pencil pointer-events-none outline-1`:`cursor-move`,!o&&!c&&`hover:outline-pencil/60 hover:outline-1`,e.marked.has(i.key)&&!o&&`outline-agent outline-2`,s&&!c&&`outline-rule-strong outline-1 outline-dashed`),style:{left:Ln(a.left,e.width),top:Ln(a.top,e.height),width:Ln(a.width,e.width),height:Ln(a.height,e.height)},onPointerDown:e=>{f(e,i,`move`)},onDoubleClick:t=>{i.typed&&e.onType(i.key,d(t))},onContextMenu:t=>{t.preventDefault(),o||e.onSelect([i.key]),e.onMenu(i.key,{x:t.clientX,y:t.clientY})},children:[l.length>0?(0,K.jsx)(`span`,{className:`bg-pencil text-sheet pointer-events-none absolute top-0 left-0 z-10 -translate-x-full px-1 text-xs tabular-nums`,"data-testid":`deck-animation-number`,children:l.join(`, `)}):null,s&&!c?(0,K.jsx)(`span`,{className:`text-muted-foreground pointer-events-none absolute inset-0 flex items-center justify-center p-1 text-center text-[1.6cqw] leading-tight`,children:g(i.shape.placeholder?.type)}):null,o&&!c?(0,K.jsxs)(K.Fragment,{children:[i.typed&&e.selected.length===1?(0,K.jsx)(Bn,{onWords:t=>{e.onWords(i.key,t)}}):null,(0,K.jsx)(`div`,{className:`border-pencil animate-in fade-in pointer-events-none absolute inset-0 border`}),cn.map(e=>(0,K.jsx)(`span`,{"data-handle":e,className:n(`bg-sheet border-pencil animate-in fade-in absolute size-2 -translate-1/2 rounded-full border`,Rn[e]),style:{left:`${String(zn[e][0]*100)}%`,top:`${String(zn[e][1]*100)}%`},onPointerDown:t=>{f(t,i,e)}},e))]}):null]},i.key)}),o?(0,K.jsx)(`div`,{"data-testid":`deck-marquee`,className:`border-pencil bg-pencil/10 pointer-events-none absolute border`,style:{left:`${String(Math.min(o.from.x,o.to.x)*100)}%`,top:`${String(Math.min(o.from.y,o.to.y)*100)}%`,width:`${String(Math.abs(o.to.x-o.from.x)*100)}%`,height:`${String(Math.abs(o.to.y-o.from.y)*100)}%`}}):null,c.map(t=>(0,K.jsx)(`div`,{"data-testid":`deck-guide`,className:`bg-pencil pointer-events-none absolute`,style:t.axis===`x`?{left:Ln(t.at,e.width),top:0,bottom:0,width:1}:{top:Ln(t.at,e.height),left:0,right:0,height:1}},`${t.axis}${String(t.at)}`))]})}var Hn=3e3,Un=160;function Wn(e){let t=Q(),r=(0,G.useRef)(null),[i,a]=(0,G.useState)(e.from),[o,s]=(0,G.useState)(!1),[c,l]=(0,G.useState)(()=>{let{slide:t,step:n}=e.from,r=e.slides.find(e=>e.key===t)?.steps[n];return r!==void 0&&e.plays(t)?{from:e.startOf(t)??r,to:r}:void 0}),[u,d]=(0,G.useState)(!1),f=(0,G.useRef)(()=>void 0);(0,G.useEffect)(()=>{let e;return f.current=()=>{d(!1),clearTimeout(e),e=setTimeout(()=>{d(!0)},Hn)},f.current(),()=>{clearTimeout(e)}},[]);let[p,m]=(0,G.useState)(!1),h=(0,G.useRef)(!1),g=e=>{h.current||(h.current=!0,m(!0),setTimeout(()=>{_.current.props.onStop(e)},Un))},_=(0,G.useRef)({at:i,props:e});(0,G.useEffect)(()=>{_.current={at:i,props:e}});let v=e.slides.find(e=>e.key===i.slide)?.steps[i.step],y=(e,t)=>{let n=_.current.props.slides.find(t=>t.key===e.slide),r=n?.steps[e.step];if(a(e),!n||r===void 0)return;if(t<0){l(void 0);return}let i=e.step===0?_.current.props.startOf(n.key)??r:n.steps[e.step-1]??r;l({from:i,to:r})};(0,G.useEffect)(()=>{if(!c||e.plays(i.slide))return;let t=setTimeout(()=>{l(void 0)},Math.max(0,(c.to-c.from)*1e3));return()=>{clearTimeout(t)}},[c,i.slide,e]),(0,G.useEffect)(()=>{r.current?.requestFullscreen().catch(()=>void 0);let e=e=>{let{at:t,props:n}=_.current;e.key===`Escape`?(e.preventDefault(),document.fullscreenElement&&document.exitFullscreen().catch(()=>void 0),g(t)):[`ArrowRight`,` `,`PageDown`,`Enter`].includes(e.key)?(e.preventDefault(),y(In(n.slides,t,1,!0),1)):[`ArrowLeft`,`PageUp`,`Backspace`].includes(e.key)?(e.preventDefault(),y(In(n.slides,t,-1,!0),-1)):(e.key===`n`||e.key===`N`)&&s(e=>!e)},t=()=>{document.fullscreenElement||g(_.current.at)};return document.addEventListener(`fullscreenchange`,t),window.addEventListener(`keydown`,e),()=>{document.removeEventListener(`fullscreenchange`,t),window.removeEventListener(`keydown`,e)}},[]);let ee=e.slides.filter(e=>!e.hidden),b=ee.findIndex(e=>e.key===i.slide),x=ee[b+1];return(0,K.jsxs)(`div`,{ref:r,className:n(`fixed inset-0 z-50 flex bg-media`,p?`animate-out fade-out pointer-events-none fill-mode-forwards`:`animate-in fade-in`,u&&`cursor-none`),role:`dialog`,"aria-label":t.presenting,"data-testid":`deck-present`,onPointerMove:()=>{f.current()},onClick:()=>{y(In(e.slides,i,1,!0),1)},children:[(0,K.jsx)(Yt,{item:e.item,version:e.version,revision:e.revision,width:e.width,height:e.height,moment:c?c.from:v,playing:c!==void 0,bare:!0,className:`flex-1 bg-media`}),o?(0,K.jsxs)(`aside`,{className:`bg-background text-foreground flex w-80 shrink-0 flex-col gap-3 overflow-y-auto p-4`,"data-testid":`deck-present-notes`,onClick:e=>{e.stopPropagation()},children:[(0,K.jsx)(`p`,{className:`text-muted-foreground font-mono text-xs`,children:t.slideOf(b+1,ee.length)}),(0,K.jsx)(`p`,{className:`text-read whitespace-pre-wrap`,children:e.notesOf(i.slide)??t.noNotes}),x?(0,K.jsxs)(`p`,{className:`text-muted-foreground text-xs`,children:[t.next,`: `,x.title??x.key]}):null]}):null,(0,K.jsx)(`p`,{"data-idle":u,className:`text-on-media/60 pointer-events-none absolute bottom-2 left-1/2 -translate-x-1/2 transition-opacity data-[idle=true]:opacity-0 text-xs`,children:t.presentHelp})]})}function Gn(e,t,n){return Array.from({length:10},(r,i)=>{let a=i%2==0?n:n*.45,o=Math.PI/5*i-Math.PI/2;return`${(e+a*Math.cos(o)).toFixed(2)},${(t+a*Math.sin(o)).toFixed(2)}`}).join(` `)}function Kn(e){return(0,K.jsx)(`svg`,{viewBox:`0 0 20 20`,width:e.size,height:e.size,fill:`none`,stroke:`currentColor`,strokeWidth:1.4,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":!0,children:e.children})}var qn=Gn(10,10.5,8);function Jn(){let e=(0,G.useId)();return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`clipPath`,{id:e,children:(0,K.jsx)(`rect`,{x:`0`,y:`0`,width:`10`,height:`20`})}),(0,K.jsx)(`polygon`,{points:qn}),(0,K.jsx)(`polygon`,{points:qn,fill:`currentColor`,stroke:`none`,clipPath:`url(#${e})`})]})}var Yn={none:()=>(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`polygon`,{points:qn,opacity:.45}),(0,K.jsx)(`line`,{x1:`3.5`,y1:`16.5`,x2:`16.5`,y2:`3.5`})]}),appear:()=>(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`polygon`,{points:Gn(10,10.5,5.5),fill:`currentColor`}),(0,K.jsx)(`path`,{d:`M10 1.5v1.6M2.6 6.6l1.4.8M17.4 6.6l-1.4.8M4.4 17l1.1-1.1M15.6 17l-1.1-1.1`})]}),fade:()=>(0,K.jsx)(`polygon`,{points:qn,strokeDasharray:`1.6 1.9`}),wipe:()=>(0,K.jsx)(Jn,{}),"fly-in":()=>(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`polygon`,{points:Gn(10,7.5,6),fill:`currentColor`}),(0,K.jsx)(`path`,{d:`M6 15v3M10 15.5v3.5M14 15v3`})]}),zoom:()=>(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`polygon`,{points:Gn(10,10.5,4),fill:`currentColor`}),(0,K.jsx)(`path`,{d:`M2 6V2h4M14 2h4v4M18 14v4h-4M6 18H2v-4`})]})};function Xn(e){return(0,K.jsx)(Kn,{size:e.size??20,children:Yn[e.effect]?.()??(0,K.jsx)(`polygon`,{points:qn})})}function Zn(e){return(0,K.jsxs)(Kn,{size:14,children:[(0,K.jsx)(`path`,{d:`M2 17 7.5 4 13 17M4 12.5h7`,strokeWidth:1.6}),(0,K.jsx)(`path`,{d:e.up?`M14.2 6 16.2 3.6 18.2 6`:`M14.2 3.6 16.2 6 18.2 3.6`,strokeWidth:1.6})]})}var Qn=[`appear`,`fade`,`wipe`,`fly-in`,`zoom`],$n=[`on-click`,`with-previous`,`after-previous`],er=`flex h-14 flex-col items-center justify-center gap-1 rounded-sm text-xs disabled:opacity-40 hover:bg-here aria-pressed:bg-here aria-pressed:ring-1 aria-pressed:ring-rule-strong`;function tr(e){let t=Q(),i=e.animations.findIndex(t=>t.shape===e.shape),a=e.animations[i],o=dn(e.animations),s=t=>{e.onChange(e.animations.map((e,n)=>n===i?{...e,...t}:e))},c=t=>{let n=e.shape;n!==void 0&&(t===void 0?e.onChange(e.animations.filter((e,t)=>t!==i)):a?s({effect:t}):e.onChange([...e.animations,{shape:n,effect:t}]))};return(0,K.jsxs)(T,{open:e.open,onOpenChange:e.onOpenChange,children:[(0,K.jsx)(w,{asChild:!0,children:(0,K.jsxs)(b,{size:`sm`,variant:`ghost`,"data-testid":`deck-animations-open`,"aria-label":t.animations,children:[(0,K.jsx)(Ge,{className:`size-3.5`}),(0,K.jsx)(`span`,{className:`@max-[40rem]:hidden`,children:t.animations})]})}),(0,K.jsxs)(E,{align:`end`,className:`w-96 p-2`,"data-testid":`deck-animations`,onInteractOutside:e=>{let t=e.detail.originalEvent.target;t instanceof Element&&t.closest(`[data-testid="slides-editor"]`)&&e.preventDefault()},children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pb-1`,children:[(0,K.jsx)(`span`,{className:`min-w-0 truncate text-sm`,"data-testid":`deck-animation-shape`,children:e.shape===void 0?t.animationHint:e.nameOf(e.shape)}),(0,K.jsxs)(b,{size:`sm`,variant:`ghost`,className:`shrink-0`,disabled:e.animations.length===0,"data-testid":`deck-animation-preview`,onClick:e.onPreview,children:[(0,K.jsx)(ge,{className:`size-3.5`}),t.preview]})]}),(0,K.jsxs)(`div`,{className:`grid grid-cols-6 gap-1`,role:`radiogroup`,"aria-label":t.animationEffects,children:[(0,K.jsxs)(`button`,{type:`button`,className:er,"aria-pressed":e.shape!==void 0&&!a,disabled:e.shape===void 0,"data-testid":`deck-animation-effect-none`,onClick:()=>{c(void 0)},children:[(0,K.jsx)(Xn,{effect:`none`}),t.noAnimation]}),Qn.map(n=>(0,K.jsxs)(`button`,{type:`button`,className:er,"aria-pressed":a?.effect===n,disabled:e.shape===void 0,"data-testid":`deck-animation-effect-${n}`,onClick:()=>{c(n)},children:[(0,K.jsx)(Xn,{effect:n}),t.animationEffect[n]]},n))]}),a?(0,K.jsxs)(`div`,{className:`flex items-center gap-2 pt-2 text-xs`,children:[(0,K.jsx)(`span`,{className:`text-muted-foreground`,children:t.animationStarts}),(0,K.jsxs)(oe,{value:a.start??`on-click`,onValueChange:e=>{s({start:e})},children:[(0,K.jsx)(D,{size:`sm`,className:`min-w-0 flex-1 text-xs`,"data-testid":`deck-animation-start`,children:(0,K.jsx)(ne,{})}),(0,K.jsx)(S,{children:$n.map(e=>(0,K.jsx)(re,{value:e,className:`text-xs`,"data-testid":`deck-animation-start-${e}`,children:t.animationStart[e]},e))})]}),(0,K.jsx)(`span`,{className:`text-muted-foreground`,children:t.duration}),(0,K.jsx)(R,{type:`number`,min:0,step:.25,"aria-label":t.duration,"data-testid":`deck-animation-duration`,className:`h-7 w-16 text-xs`,value:a.duration??mt[a.effect],onChange:e=>{let t=Number(e.target.value);Number.isFinite(t)&&t>=0&&s({duration:t})}})]}):null,e.animations.length>0?(0,K.jsx)(`ol`,{className:`mt-2 flex flex-col border-t pt-1`,children:e.animations.map((i,a)=>(0,K.jsxs)(`li`,{"data-testid":`deck-animation`,"data-shape":i.shape,className:n(`flex h-7 items-center gap-1 rounded-sm`,i.shape===e.shape&&`bg-here`),children:[(0,K.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 px-1 text-left text-xs`,"data-testid":`deck-animation-pick`,onClick:()=>{e.onPick(i.shape)},children:[(0,K.jsx)(`span`,{className:`text-muted-foreground w-4 shrink-0 text-right tabular-nums`,children:o[a]}),(0,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.nameOf(i.shape)}),(0,K.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:t.animationEffect[i.effect]})]}),(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`size-6 shrink-0`,"aria-label":t.animationEarlier,title:t.animationEarlier,"data-testid":`deck-animation-earlier`,disabled:a===0,onClick:()=>{e.onChange(mn(e.animations,a,-1))},children:(0,K.jsx)(ce,{className:`size-3.5`})}),(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`size-6 shrink-0`,"aria-label":t.animationLater,title:t.animationLater,"data-testid":`deck-animation-later`,disabled:a===e.animations.length-1,onClick:()=>{e.onChange(mn(e.animations,a,1))},children:(0,K.jsx)(fe,{className:`size-3.5`})}),(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`size-6 shrink-0`,"aria-label":t.animationRemove,title:t.animationRemove,"data-testid":`deck-animation-remove`,onClick:()=>{e.onChange(e.animations.filter((e,t)=>t!==a))},children:(0,K.jsx)(r,{className:`size-3.5`})})]},`${String(a)}:${i.shape}:${i.effect}`))}):null]})]})}var nr=6,rr=320,ir=e=>`slides-editor.pictures:${e}`;function ar(e){try{let t=localStorage.getItem(ir(e));return t===null?{}:JSON.parse(t)}catch{return{}}}async function or(e){try{let t=new Image;t.src=e,await t.decode();let n=document.createElement(`canvas`);return n.width=rr,n.height=Math.round(rr*t.naturalHeight/t.naturalWidth),n.getContext(`2d`)?.drawImage(t,0,0,n.width,n.height),n.toDataURL(`image/webp`,.8)}catch{return}}function sr(e,t,n,r,i,a){let o=_(),[c,l]=(0,G.useState)(()=>ar(e)),[u,d]=(0,G.useState)(e);u!==e&&(d(e),l(ar(e)));let f=(0,G.useRef)(new Map),p=i.map(e=>`${e.key}@${String(e.still)}`).join(`,`);return(0,G.useEffect)(()=>{let r=new AbortController,c=()=>r.signal.aborted;return(async()=>{let r=Math.max(0,i.findIndex(e=>e.key===a)),u=i.map((e,t)=>({slide:e,far:Math.abs(t-r)})).sort((e,t)=>e.far-t.far).map(e=>e.slide),d={};for(let e=0;e<u.length;e+=nr){if(c())return;let r=u.slice(e,e+nr);try{let{stills:e}=await s(o,`video/stills`,{item:t,version:n,moments:r.map(e=>e.still)});if(c())return;let i=Object.fromEntries(r.flatMap((t,n)=>{let r=e[n]?.image;return r?[[t.key,`data:${r.mime};base64,${r.data}`]]:[]}));Object.assign(d,i),l(e=>({...e,...i}))}catch{}}let p={};for(let[e,t]of Object.entries(d)){let n=f.current.get(e),r=n?.of===t?n.picture:await or(t);r!==void 0&&(f.current.set(e,{of:t,picture:r}),p[e]=r)}try{localStorage.setItem(ir(e),JSON.stringify(p))}catch{}})(),()=>{r.abort()}},[o,e,t,n,r,p]),c}function cr(e){let t=Q(),r=sr(`${e.project}|${e.item}|${e.version}`,e.item,e.version,e.revision,e.slides,e.shown),i=(0,G.useRef)(void 0),[a,o]=(0,G.useState)(),[s,c]=(0,G.useState)(),[l,u]=(0,G.useState)(),d=(e,t)=>{let n=t.currentTarget.getBoundingClientRect();return{key:e,after:t.clientY>n.top+n.height/2}},f=(0,G.useCallback)(e=>{e?.scrollIntoView({block:`nearest`})},[]),p=t=>{let n=i.current;if(i.current=void 0,n!==void 0&&t!==void 0&&n!==t.key){let r=e.slides.findIndex(e=>e.key===t.key),i=t.after?t.key:e.slides[r-1]?.key??null;i!==n&&e.onMove?.(n,i)}o(void 0),u(void 0)};return(0,K.jsx)(`nav`,{className:`flex h-full w-44 shrink-0 flex-col border-r @max-[36rem]:w-28`,"aria-label":t.slides,"data-testid":`deck-rail`,children:(0,K.jsx)(`ol`,{className:`min-h-0 flex-1 space-y-2 overflow-y-auto p-2`,children:e.slides.map((m,h)=>{let g=r[m.key];return(0,K.jsxs)(`li`,{"data-testid":`deck-page`,"data-key":m.key,className:n(`group/slide relative flex gap-1.5`,a===m.key&&`opacity-40`),draggable:e.onMove!==void 0,onContextMenu:t=>{e.onAction&&(t.preventDefault(),c(m.key))},onDragStart:e=>{e.dataTransfer.effectAllowed=`move`,i.current=m.key,o(m.key)},onDragOver:e=>{i.current!==void 0&&(e.preventDefault(),u(d(m.key,e)))},onDrop:e=>{e.preventDefault(),p(d(m.key,e))},onDragEnd:()=>{p()},children:[l?.key===m.key&&a!==m.key?(0,K.jsx)(`span`,{className:n(`bg-pencil absolute inset-x-0 h-0.5`,l.after?`-bottom-1`:`-top-1`),"data-testid":`deck-drop`}):null,(0,K.jsx)(`span`,{className:`text-muted-foreground w-4 pt-1 text-right font-mono text-micro`,children:String(h+1)}),(0,K.jsxs)(`button`,{type:`button`,ref:m.key===e.shown?f:void 0,className:n(`bg-muted/40 relative min-w-0 flex-1 overflow-hidden rounded-sm border transition-colors`,m.key===e.shown?`border-pencil ring-pencil ring-1`:`hover:border-rule-strong`,m.hidden&&`opacity-50`),style:{aspectRatio:String(e.aspect)},onClick:()=>{e.onShow(m.key)},"aria-label":m.title??m.key,"aria-current":m.key===e.shown?`page`:void 0,children:[g?(0,K.jsx)(`img`,{src:g,alt:``,className:`animate-in fade-in size-full object-cover`,draggable:!1}):null,m.hidden?(0,K.jsx)(k,{className:`text-muted-foreground absolute right-1 bottom-1 size-3`,"aria-label":t.skipped}):null,e.marked?.has(m.key)?(0,K.jsx)(`span`,{className:`bg-agent absolute top-1 right-1 size-1.5 rounded-full`,"data-testid":`deck-page-marked`}):null]}),e.onAction?(0,K.jsxs)(I,{open:s===m.key,onOpenChange:e=>{c(e?m.key:void 0)},children:[(0,K.jsx)(z,{asChild:!0,children:(0,K.jsx)(`button`,{type:`button`,className:`bg-sheet/90 text-muted-foreground hover:text-foreground absolute top-1 right-1 rounded-sm opacity-0 transition-opacity group-hover/slide:opacity-100 focus:opacity-100 data-[state=open]:opacity-100`,"aria-label":t.slideMenu(h+1),"data-testid":`deck-page-menu`,children:(0,K.jsx)(Le,{className:`size-3.5`})})}),(0,K.jsxs)(L,{align:`start`,className:`text-xs`,children:[(0,K.jsxs)(F,{"data-testid":`deck-page-new`,onSelect:()=>{e.onAction?.(m.key,`new`)},children:[(0,K.jsx)(Re,{className:`size-3.5`}),t.newSlide]}),e.made?.(m.key)?null:(0,K.jsxs)(F,{"data-testid":`deck-page-duplicate`,onSelect:()=>{e.onAction?.(m.key,`duplicate`)},children:[(0,K.jsx)(we,{className:`size-3.5`}),t.duplicate]}),(0,K.jsxs)(F,{"data-testid":`deck-page-hide`,onSelect:()=>{e.onAction?.(m.key,`hide`)},children:[m.hidden?(0,K.jsx)(Ve,{className:`size-3.5`}):(0,K.jsx)(k,{className:`size-3.5`}),m.hidden?t.show:t.hide]}),e.made?.(m.key)?null:(0,K.jsxs)(F,{variant:`destructive`,"data-testid":`deck-page-remove`,onSelect:()=>{e.onAction?.(m.key,`remove`)},children:[(0,K.jsx)(M,{className:`size-3.5`}),t.remove]})]})]}):null]},m.key)})})})}var lr=x(`inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground`},size:{default:`h-9 min-w-9 px-2`,sm:`h-8 min-w-8 px-1.5`,lg:`h-10 min-w-10 px-2.5`}},defaultVariants:{variant:`default`,size:`default`}});function ur({className:e,variant:t,size:r,...i}){return(0,K.jsx)(Ye,{"data-slot":`toggle`,className:n(lr({variant:t,size:r,className:e})),...i})}var dr=G.createContext({size:`default`,variant:`default`,spacing:0});function fr({className:e,variant:t,size:r,spacing:i=0,children:a,...o}){return(0,K.jsx)(tt,{"data-slot":`toggle-group`,"data-variant":t,"data-size":r,"data-spacing":i,style:{"--gap":i},className:n(`group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs`,e),...o,children:(0,K.jsx)(dr.Provider,{value:{variant:t,size:r,spacing:i},children:a})})}function pr({className:e,children:t,variant:r,size:i,...a}){let o=G.useContext(dr);return(0,K.jsx)(ut,{"data-slot":`toggle-group-item`,"data-variant":o.variant||r,"data-size":o.size||i,"data-spacing":o.spacing,className:n(lr({variant:o.variant||r,size:o.size||i}),`w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10`,`data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l`,e),...a,children:t})}var mr=[8,9,10,10.5,11,12,14,16,18,20,24,28,32,36,40,44,48,54,60,66,72,80,88,96];function hr(e,t){return(t>0?mr.find(t=>t>e):mr.findLast(t=>t<e))??Math.max(1,e+t*8)}var gr=[`lt1`,`dk1`,`lt2`,`dk2`,`accent1`,`accent2`,`accent3`,`accent4`,`accent5`,`accent6`],_r=[`frame`,`text`,`fill`,`line`,`z`,`crop`],vr={l:ke,ctr:De,r:Oe,just:N};function yr(e,t){if(e!=null)return typeof e==`string`?t.colors[e]:e.rgb}function br(e){return(0,K.jsx)(`span`,{className:n(`bg-rule mx-1 h-4 w-px shrink-0`,e.className)})}var xr=`@max-[64rem]:hidden`;function Sr(e){let t=e.icon;return(0,K.jsxs)(T,{children:[(0,K.jsx)(w,{asChild:!0,children:(0,K.jsxs)(b,{size:`icon`,variant:`ghost`,className:`relative size-7 shrink-0`,"aria-label":e.label,title:e.label,"data-testid":`${e.testid}-open`,children:[(0,K.jsx)(t,{className:`size-3.5`}),(0,K.jsx)(`span`,{className:`border-rule absolute inset-x-1.5 bottom-1 h-0.5 rounded-full border-0`,style:{background:e.shown}})]})}),(0,K.jsx)(E,{align:`start`,className:`w-auto p-2`,children:(0,K.jsx)(`div`,{className:`grid grid-cols-5 gap-1`,role:`radiogroup`,"aria-label":e.label,"data-testid":e.testid,children:gr.map(t=>(0,K.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":e.value===t,"aria-label":t,"data-color":t,className:n(`border-rule size-6 rounded-sm border`,e.value===t&&`ring-pencil ring-2 ring-offset-1`),style:{background:e.theme.colors[t]},onClick:()=>{e.onPick(t)}},t))})})]})}var Cr=[{how:`front`,icon:Be},{how:`forward`,icon:ce},{how:`backward`,icon:fe},{how:`back`,icon:Ue}];function wr(e){let t=Q();return(0,K.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,K.jsx)(R,{type:`number`,min:1,max:4e3,step:1,"aria-label":t.size,title:t.size,"data-testid":`deck-text-size`,className:`h-7 w-16 pr-6 text-xs [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none`,value:e.size??``,onChange:t=>{let n=Number(t.target.value);Number.isFinite(n)&&n>0&&e.onSize(n,!0)}}),(0,K.jsxs)(I,{children:[(0,K.jsx)(z,{asChild:!0,children:(0,K.jsx)(`button`,{type:`button`,"aria-label":t.size,"data-testid":`deck-text-size-open`,className:`text-muted-foreground hover:text-foreground absolute inset-y-0 right-0 flex w-6 items-center justify-center`,children:(0,K.jsx)(C,{className:`size-3`})})}),(0,K.jsx)(L,{align:`start`,className:`max-h-72 min-w-16 overflow-y-auto text-xs`,children:mr.map(t=>(0,K.jsx)(F,{"data-testid":`deck-text-size-item`,"data-size":t,onSelect:()=>{e.onSize(t,!1)},children:t},t))})]})]})}function Tr(e){let t=Q(),n=e.shape.shape,r=n.text,i=r?.style.levels[0],a=e.entry?.text?.size??(i?Math.round(i.font.size/12700*10)/10:void 0),o=e.words?.bold??e.entry?.text?.bold??i?.font.bold===!0,s=e.words?.italic??e.entry?.text?.italic??i?.font.italic===!0,c=e.entry?.text?.align??r?.paragraphs[0]?.alignment??i?.alignment??`l`,l=(n.kind===`autoshape`||n.kind===`textbox`||n.kind===`placeholder`)&&n.geometry!==`line`,u=n.placeholder!==void 0&&_r.some(t=>e.entry?.[t]!==void 0),d=e.entry?.text?.color??i?.font.rgb??i?.font.color,f=(t,n)=>{e.onSet({"text.size":t},n?`size:${e.shape.key}`:void 0)},p={"data-keeps-typing":``,onPointerDownCapture:e.onKeepTyping};return(0,K.jsxs)(`div`,{className:`animate-in fade-in flex min-w-0 items-center gap-0.5 overflow-x-auto`,role:`toolbar`,"aria-label":e.shape.name,"data-testid":`deck-inspector`,children:[r?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(br,{className:xr}),(0,K.jsx)(wr,{size:a,onSize:f}),(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`size-7 shrink-0`,"aria-label":t.growFont,title:t.growFont,"data-testid":`deck-text-grow`,onClick:()=>{a!==void 0&&f(hr(a,1),!1)},children:(0,K.jsx)(Zn,{up:!0})}),(0,K.jsx)(b,{size:`icon`,variant:`ghost`,className:`size-7 shrink-0`,"aria-label":t.shrinkFont,title:t.shrinkFont,"data-testid":`deck-text-shrink`,onClick:()=>{a!==void 0&&f(hr(a,-1),!1)},children:(0,K.jsx)(Zn,{up:!1})}),(0,K.jsx)(br,{}),(0,K.jsx)(ur,{size:`sm`,className:`size-7 min-w-7 shrink-0 p-0`,...p,"aria-label":t.bold,title:t.bold,"data-testid":`deck-text-bold`,pressed:o,onPressedChange:t=>{e.onSet({"text.bold":t})},children:(0,K.jsx)(B,{className:`size-3.5`})}),(0,K.jsx)(ur,{size:`sm`,className:`size-7 min-w-7 shrink-0 p-0`,...p,"aria-label":t.italic,title:t.italic,"data-testid":`deck-text-italic`,pressed:s,onPressedChange:t=>{e.onSet({"text.italic":t})},children:(0,K.jsx)(H,{className:`size-3.5`})}),(0,K.jsx)(`span`,{className:`contents`,...p,children:(0,K.jsx)(Sr,{label:t.textColor,icon:ze,theme:e.theme,shown:yr(d,e.theme),value:e.entry?.text?.color,testid:`deck-text-color`,onPick:t=>{e.onSet({"text.color":t})}})}),(0,K.jsx)(br,{}),(0,K.jsx)(fr,{type:`single`,size:`sm`,"aria-label":t.alignment,"data-testid":`deck-text-align`,className:`shrink-0 gap-0.5`,value:c,onValueChange:t=>{t!==``&&e.onSet({"text.align":t})},children:Object.keys(vr).map(e=>{let n=vr[e];return(0,K.jsx)(pr,{value:e,className:`size-7 min-w-7 p-0`,"aria-label":t.align[e],title:t.align[e],"data-testid":`deck-text-align-${e}`,children:(0,K.jsx)(n,{className:`size-3.5`})},e)})})]}):null,(0,K.jsx)(br,{...r?{}:{className:xr}}),l?(0,K.jsx)(Sr,{label:t.fill,icon:U,theme:e.theme,shown:e.entry?.fill===void 0?yr(n.fill,e.theme):yr(e.entry.fill,e.theme),value:e.entry?.fill,testid:`deck-fill`,onPick:t=>{e.onSet({fill:t})}}):null,(0,K.jsxs)(I,{children:[(0,K.jsx)(z,{asChild:!0,children:(0,K.jsxs)(b,{size:`sm`,variant:`ghost`,className:`shrink-0`,"data-testid":`deck-arrange`,children:[(0,K.jsx)(Be,{className:`size-3.5`}),t.arrange,(0,K.jsx)(C,{className:`size-3`})]})}),(0,K.jsx)(L,{align:`start`,className:`text-xs`,children:Cr.map(({how:n,icon:r})=>(0,K.jsxs)(F,{"data-testid":`deck-arrange-${n}`,onSelect:()=>{e.onArrange(n)},children:[(0,K.jsx)(r,{className:`size-3.5`}),t.arrangeTo[n]]},n))})]}),u?(0,K.jsx)(b,{size:`sm`,variant:`ghost`,className:`shrink-0`,"data-testid":`deck-reset`,onClick:e.onReset,children:t.resetLayout}):null]})}function Er(e){let t=Q();return(0,K.jsxs)(I,{open:!0,onOpenChange:t=>{t||e.onClose()},children:[(0,K.jsx)(z,{asChild:!0,children:(0,K.jsx)(`span`,{className:`fixed size-0`,style:{left:e.at.x,top:e.at.y},"aria-hidden":!0})}),(0,K.jsxs)(L,{align:`start`,className:`text-xs`,"data-testid":`deck-shape-menu`,children:[(0,K.jsx)(F,{"data-testid":`deck-shape-cut`,disabled:e.fixed!==void 0,onSelect:()=>{e.onAction(`cut`)},children:t.cut}),(0,K.jsx)(F,{"data-testid":`deck-shape-copy`,onSelect:()=>{e.onAction(`copy`)},children:t.copy}),(0,K.jsx)(F,{"data-testid":`deck-shape-paste`,disabled:!e.canPaste,onSelect:()=>{e.onAction(`paste`)},children:t.paste}),(0,K.jsx)(F,{"data-testid":`deck-shape-duplicate`,onSelect:()=>{e.onAction(`duplicate`)},children:t.duplicate}),(0,K.jsx)(P,{}),(0,K.jsxs)(Fe,{children:[(0,K.jsxs)(Pe,{"data-testid":`deck-shape-arrange`,children:[(0,K.jsx)(Be,{className:`size-3.5`}),t.arrange]}),(0,K.jsx)(Me,{className:`text-xs`,children:Cr.map(({how:n,icon:r})=>(0,K.jsxs)(F,{onSelect:()=>{e.onArrange(n)},children:[(0,K.jsx)(r,{className:`size-3.5`}),t.arrangeTo[n]]},n))})]}),(0,K.jsx)(P,{}),(0,K.jsx)(`span`,{title:e.fixed,children:(0,K.jsx)(F,{"data-testid":`deck-shape-delete`,disabled:e.fixed!==void 0,onSelect:()=>{e.onAction(`delete`)},children:t.remove})})]})]})}var Dr={textbox:{w:320,h:48},shape:{w:200,h:120},line:{w:240,h:0},movie:{w:480,h:270}},Or={textbox:`text-box`,picture:`picture`,movie:`video`,shape:`shape`};function kr(e){let t=_(),[n,r]=(0,G.useState)(),i=e===void 0?``:`${e.slides}\u0000${e.script}`;return(0,G.useEffect)(()=>{if(e===void 0)return;let n=!0,i;return Nn.open(t,e).then(e=>{i=e,n?r(e):e.close()},()=>void 0),()=>{n=!1,r(void 0),i?.close()}},[t,i]),n}function Ar(e,t){let[n,r]=(0,G.useState)();return t!==void 0&&(n?.item!==e||n?.value!==t)&&r({item:e,value:t}),t??(n?.item===e?n?.value:void 0)}var $=1/0,jr=1100,Mr=12*X,Nr=()=>()=>void 0,Pr=()=>void 0;function Fr(e){return new Promise(t=>{let n=URL.createObjectURL(e),r=new window.Image;r.onload=()=>{URL.revokeObjectURL(n),t(r.naturalHeight>0?r.naturalWidth/r.naturalHeight:4/3)},r.onerror=()=>{URL.revokeObjectURL(n),t(4/3)},r.src=n})}var Ir=async e=>{let t=new Uint8Array(await e.arrayBuffer()),n=``;for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.subarray(e,e+32768));return btoa(n)};function Lr(){let e=Q(),n=_(),r=ee(),i=r?.item.dir,o=t[a(r?.locale)],c=Se(),u=ve(`video/versions`,i===void 0?void 0:{item:i},[c]),d=Ar(i,u.data),f=d===void 0?u.error:void 0,p=Ar(i,ve(`slides/deck`,i===void 0?void 0:{item:i},[c]).data),[m,h]=me(`slides-editor.version:${i??``}`,``),g=be(),v=d?pe(d,m):void 0,[y,b]=(0,G.useState)(),[x,C]=(0,G.useState)(),[w,ie]=(0,G.useState)(!1),[T,E]=(0,G.useState)([]),[D,k]=(0,G.useState)(),[A,ce]=(0,G.useState)(),[le,ue]=(0,G.useState)(!1),[j,de]=(0,G.useState)();(0,G.useEffect)(()=>{if(!j)return;let e=setTimeout(()=>{de(void 0)},Math.max(0,(j.to-j.from)*1e3));return()=>{clearTimeout(e)}},[j]);let[fe,xe]=(0,G.useState)(),M=(0,G.useRef)(void 0);(0,G.useEffect)(()=>{if(D===void 0)return;let e=e=>{e.target instanceof Element&&e.target.closest(`[data-keeps-typing],[data-slot=popover-content]`)||M.current?.({type:`deck-stop`})};return document.addEventListener(`pointerdown`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0)}},[D]);let[we,Te]=(0,G.useState)(),[Ee,De]=(0,G.useState)(),N=(0,G.useRef)([]),[Oe,ke]=(0,G.useState)(!1),[Ae,je]=(0,G.useState)(),P=(0,G.useRef)(null),[Me,Ne]=(0,G.useState)(!0);(0,G.useEffect)(()=>{let e=P.current;if(!e)return;let t=new ResizeObserver(()=>{Ne(e.clientWidth>=jr)});return t.observe(e),()=>{t.disconnect()}});let F=w;(0,G.useEffect)(()=>{if(F)return;let e=e=>{if(e.target!==document.body)return;P.current?.focus({preventScroll:!0});let t=new KeyboardEvent(`keydown`,{key:e.key,code:e.code,metaKey:e.metaKey,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,bubbles:!0,cancelable:!0});P.current?.dispatchEvent(t),t.defaultPrevented&&e.preventDefault()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[F]);let Pe=(0,G.useCallback)(e=>{M.current=e},[]),I=(0,G.useMemo)(()=>Pn(y?.timeline.parts??[]),[y]),L=Zt(y?.deck),Fe=v?.lang??Object.keys(p?.scripts??{})[0]??a(r?.locale),R=kr(p&&i!==void 0?{slides:p.file,script:p.scripts[Fe]??`${i}/script.${Fe}.yaml`}:void 0),z=(0,G.useSyncExternalStore)(R?.subscribe??Nr,R?.get??Pr),Ie=z?.conflicts,Le=Ie&&Ie.length>0&&Ie!==Ae?e.bothChanged(r?.agent?.name??``):void 0,[Re,ze]=(0,G.useState)(),B=[x?.slide,Re].find(e=>I.some(t=>t.key===e))??I[0]?.key;B!==Re&&ze(B);let Be=I.find(e=>e.key===B)?.steps.length??1,Ve=Math.min(x!==void 0&&x.slide===B?x.step:$,Be-1),V=L?.slides.find(e=>e.id===B),H=(0,G.useMemo)(()=>V?$t(V):[],[V]),He=e=>{b(e);let t=Zt(e.deck)?.slides.some(e=>e.shapes.some(t=>`${e.id}/${t.name}`===we?.key));we&&t&&(E([we.key]),we.type&&(k(we.key),M.current?.({type:`deck-edit`,shape:we.key})),Te(void 0))},U=(0,G.useCallback)((e,t)=>{R?.edit(e,t)},[R]),W=z?.slides??{slides:[]},Ue=W.slides.find(e=>e.id===V?.id)?.animations??[],We=e=>z?.script.slides.find(t=>t.id===e),Ge=()=>P.current?.querySelector(`[data-testid="deck-picture"]`)?.getBoundingClientRect();l({freeze:()=>Promise.resolve({key:`${i??``}@${v?.key??``}@${B??``}@${String(c)}`,what:`The deck ${i??``}, version ${v?.key??``}, slide ${String(I.findIndex(e=>e.key===B)+1)} of ${String(I.length)} (${B??``})`,...p?{source:{path:p.file}}:{}}),pictures:async()=>{let e=Ge(),t=Fn(I,B,Ve);if(!e||!v||i===void 0||t===void 0)return[];let r=await s(n,`video/still`,{item:i,version:v.key,t}).catch(()=>void 0);return r?[{rect:{x:e.x,y:e.y,width:e.width,height:e.height},mime:r.image.mime,data:r.image.data}]:[]},locate:e=>{let t=Ge();if(!t||!L)return Promise.resolve([]);let n=t.width/L.width,r=t.height/L.height;return Promise.resolve(H.filter(i=>{let a=Ke(i);return O(e,{x:t.x+a.left*n,y:t.y+a.top*r,width:a.width*n,height:a.height*r})}).map(e=>{let t=fn(e.shape);return{name:`the shape ${JSON.stringify(e.name)} of slide ${B??``}`,...p?{source:{path:p.file}}:{},...t===``?{}:{text:t}}}))}});let Ke=e=>{let t=Ee?.[e.key];if(t)return t;let n=nn(W,e.address)?.frame;return n?tn(n):e.shape.frame},qe=e=>{let t=L?.slides.find(t=>t.id===e),n=t?Qt(t):void 0;return n?n.block:e},Je=e=>{if(e.type===`deck-selection`){ce({words:e.words,bold:e.bold,italic:e.italic});return}let t=H.find(t=>t.key===e.shape);t?.typed&&V&&U({script:[{op:`text`,slide:V.id,shape:t.name,words:e.cell?hn(We(V.id)?.text?.[t.name],e.cell,gn(e.paragraphs)):gn(e.paragraphs)}]},`text:${t.key}`),e.type===`deck-text-done`&&(k(t=>t===e.shape?void 0:t),ce(void 0),P.current?.focus({preventScroll:!0}))},Ye=e=>{if(!V)return;let t=[],n=[],r=new Set;for(let i of e){let e=H.find(e=>e.key===i);e&&(e.own&&t.push({op:`unplace`,slide:e.address.slide,shape:e.address.shape}),e.own&&r.add(e.name),e.typed&&n.push({op:`text`,slide:V.id,shape:e.name,words:void 0}))}Ue.some(e=>r.has(e.shape))&&t.push({op:`animations`,slide:V.id,animations:Ue.filter(e=>!r.has(e.shape))}),U({slides:t,script:n}),E([])},Xe=(e,t)=>{for(let n of T){let r=H.find(e=>e.key===n);if(!r)continue;let i=Ke(r),a={...i,left:i.left+e*X,top:i.top+t*X};M.current?.({type:`deck-frame`,shape:n,frame:a}),U({slides:[{op:`shape`,slide:r.address.slide,shape:r.address.shape,set:{frame:en(a)}}]},`nudge:${n}`)}},q=()=>H.flatMap(e=>{let t=nn(W,e.address);if(!e.own||!t||!T.includes(e.key))return[];let n=We(e.address.slide)?.text?.[e.name];return[{name:e.name,set:t,frame:Ke(e),...n===void 0?{}:{words:n}}]}),J=e=>{if(!V||e.length===0)return;let t=V.shapes.map(e=>e.name),n=[],r=[],i=[];for(let a of e){let e=Ct(t,a.name.replace(/-\d+$/u,``));t.push(e),n.push({op:`shape`,slide:V.id,shape:e,set:{...a.set,frame:en({...a.frame,left:a.frame.left+Mr,top:a.frame.top+Mr})}}),a.words!==void 0&&r.push({op:`text`,slide:V.id,shape:e,words:a.words}),i.push(`${V.id}/${e}`)}U({slides:n,...r.length>0?{script:r}:{}});let[a]=i;i.length===1&&a!==void 0?Te({key:a,type:!1}):E(i)},Ze=e=>{let t=e.target instanceof HTMLTextAreaElement&&e.target.matches(`[data-sink]`);if(D!==void 0&&e.key===`Escape`){M.current?.({type:`deck-stop`});return}if(!P.current?.contains(e.target)||D!==void 0||e.nativeEvent.isComposing||e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement&&!t)return;if((e.metaKey||e.ctrlKey)&&(e.key===`z`||e.key===`Z`||e.key===`y`)){e.key===`y`||e.shiftKey?R?.redoStep():R?.undoStep(),e.preventDefault();return}let n=e.metaKey||e.ctrlKey;if(n&&e.key===`d`){T.length>0?J(q()):B!==void 0&&Z&&$e(B,`duplicate`),e.preventDefault();return}if(n&&(e.key===`c`||e.key===`x`)&&T.length>0){N.current=q(),ke(N.current.length>0),e.key===`x`&&N.current.length>0&&Ye(T),e.preventDefault();return}if(n&&e.key===`v`&&N.current.length>0){J(N.current),e.preventDefault();return}if(n&&e.key===`a`){E(H.map(e=>e.key)),e.preventDefault();return}if(e.key===`Tab`&&H.length>0&&(t||e.target===P.current)){let t=H.findIndex(e=>e.key===T[0]),n=H.length,r=H[(t+(e.shiftKey?n-1:1)+n)%n];r&&E([r.key]),e.preventDefault();return}if(T.length===0){let t=e.key===`ArrowDown`||e.key===`PageDown`?1:e.key===`ArrowUp`||e.key===`PageUp`?-1:0,n=I[I.findIndex(e=>e.key===B)+t];t!==0&&n&&(C({slide:n.key,step:$}),e.preventDefault());return}let r=e.shiftKey?10:1;if(e.key===`Delete`||e.key===`Backspace`)Ye(T);else if(e.key===`Escape`)E([]);else if(e.key===`ArrowLeft`)Xe(-r,0);else if(e.key===`ArrowRight`)Xe(r,0);else if(e.key===`ArrowUp`)Xe(0,-r);else if(e.key===`ArrowDown`)Xe(0,r);else if(e.key===`Enter`&&T.length===1){let e=H.find(e=>e.key===T[0]);e?.typed&&(k(e.key),M.current?.({type:`deck-edit`,shape:e.key}))}else return;e.preventDefault()},Qe=W.slides.map(e=>e.id),$e=(e,t)=>{let n=qe(e),r=W.slides.find(e=>e.id===n);if(r){if(t===`new`){let e=r.layout??p?.layouts[0];if(e===void 0)return;let t=Ct(Qe,`slide`);U({slides:[{op:`add`,slide:{id:t,layout:e},after:n}]}),C({slide:t,step:$})}else if(t===`duplicate`){let e=Ct(Qe,n),t=We(n);U({slides:[{op:`duplicate`,slide:n,id:e}],script:[...Object.entries(t?.text??{}).map(([t,n])=>({op:`text`,slide:e,shape:t,words:n})),...t?.notes===void 0?[]:[{op:`notes`,slide:e,notes:t.notes}]]}),C({slide:e,step:$})}else if(t===`hide`){let t=L?.slides.find(t=>t.id===e),i=t?Qt(t):void 0;if(i){let e=Array.isArray(r.hidden)?r.hidden:[],t=e.includes(i.slide)?e.filter(e=>e!==i.slide):[...e,i.slide];U({slides:[{op:`hidden`,slide:n,hidden:t}]})}else U({slides:[{op:`hidden`,slide:n,hidden:r.hidden!==!0}]})}else if(U({slides:[{op:`remove`,slide:n}],script:[{op:`remove`,slide:n}]}),E([]),e===B){let t=I.findIndex(t=>t.key===e),n=I[t+1]??I[t-1];n&&C({slide:n.key,step:$})}}},et=async e=>{if(!V||!L||i===void 0||Qt(V))return;let t=Ct(V.shapes.map(e=>e.name),e.kind===`shape`?Or.shape:Or[e.kind]),r=L.width/X,a=L.height/X,o=(e,t)=>({x:Math.round((r-e)/2*10)/10,y:Math.round((a-t)/2*10)/10,w:e,h:t}),s;if(e.kind===`textbox`)s={textbox:!0,frame:o(Dr.textbox.w,Dr.textbox.h)};else if(e.kind===`shape`){let t=e.geometry===`line`?Dr.line:Dr.shape;s={geometry:e.geometry,frame:o(t.w,t.h)}}else{let{path:t}=await n[`files/upload`]({dir:`${i}/media`,name:e.file.name,data:await Ir(e.file)}),c=`./${t.slice(i.length+1)}`;if(e.kind===`picture`){let t=await Fr(e.file),n=Math.min(r*.5,a*.6*t);s={picture:c,frame:o(Math.round(n),Math.round(n/t))}}else s={movie:c,frame:o(Dr.movie.w,Dr.movie.h)}}U({slides:[{op:`shape`,slide:V.id,shape:t,set:s}]}),Te({key:`${V.id}/${t}`,type:e.kind===`textbox`})},tt=z?.changes??[],nt=new Set,rt=new Set;for(let e of tt){let t=_n(e);for(let e of I)(e.key===t||e.key.startsWith(`${t}/`))&&nt.add(e.key);let n=vn(e);n!==void 0&&rt.add(`${t}/${n}`)}let it=e=>{let t=_n(e),n=I.find(e=>e.key===t||e.key.startsWith(`${t}/`));n&&C({slide:n.key,step:$})};if(i===void 0||!d&&!f)return(0,K.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,K.jsx)(he,{label:e.loading})});if(!d||!v||d.kind!==`slides`)return(0,K.jsx)(Ce,{title:e.noDeck,className:`h-full justify-center`,children:f?.message});let at=Fn(I,B,Ve),ot=()=>{let e=y?.timeline.parts.find(e=>e.key===B)?.start,t=I.find(e=>e.key===B)?.steps.at(-1);e!==void 0&&t!==void 0&&de({from:e,to:t})},st=e=>{if(!Y)return;let t=e=>nn(W,e.address)?.z??0;U({slides:[{op:`shape`,slide:Y.address.slide,shape:Y.address.shape,set:{z:pn(t(Y),H.filter(e=>e.key!==Y.key).map(t),e)}}]})},ct=e=>{(e===`copy`||e===`cut`)&&(N.current=q(),ke(N.current.length>0)),(e===`cut`||e===`delete`)&&Ye(T),e===`paste`&&J(N.current),e===`duplicate`&&J(q())},lt=V&&!Qt(V)?We(V.id):void 0,ut=typeof lt?.notes==`string`?lt.notes:(y?.text??[]).find(e=>e.key===B)?.notes,dt=e=>e.lang===void 0?e.key:_e(e.lang,o),Y=T.length===1?H.find(e=>e.key===T[0]):void 0,Z=R!==void 0&&z?.problem===void 0,ft=(0,K.jsx)(Gt,{deck:L,canUndo:z?.canUndo??!1,canRedo:z?.canRedo??!1,onUndo:()=>{R?.undoStep()},onRedo:()=>{R?.redoStep()},layouts:p?.layouts??[],layout:V&&!Qt(V)?V.layout:void 0,disabled:!Z,onNew:e=>{let t=Ct(Qe,`slide`);U({slides:[{op:`add`,slide:{id:t,layout:e},...B===void 0?{}:{after:qe(B)}}]}),C({slide:t,step:$})},onLayout:e=>{V&&U({slides:[{op:`layout`,slide:V.id,layout:e}]})},onInsert:e=>{et(e)}}),pt=Y&&L&&Z?(0,K.jsx)(Tr,{shape:Y,entry:nn(W,Y.address),theme:L.theme,words:A,onKeepTyping:()=>{D!==void 0&&M.current?.({type:`deck-hold`})},onSet:(e,t)=>{let n=e[`text.color`];D!==void 0&&e[`text.bold`]!==void 0?M.current?.({type:`deck-format`,bold:e[`text.bold`]===!0}):D!==void 0&&e[`text.italic`]!==void 0?M.current?.({type:`deck-format`,italic:e[`text.italic`]===!0}):D!==void 0&&typeof n==`string`?M.current?.({type:`deck-format`,color:n}):U({slides:[{op:`shape`,slide:Y.address.slide,shape:Y.address.shape,set:e}]},t)},onReset:()=>{U({slides:[{op:`shape`,slide:Y.address.slide,shape:Y.address.shape,set:Object.fromEntries(_r.map(e=>[e,void 0]))}]})},onArrange:st}):null,mt=(0,K.jsxs)(`div`,{className:`flex items-center gap-1`,"data-testid":`slides-editor-tools`,children:[d.versions.length>1?(0,K.jsxs)(oe,{value:v.key,onValueChange:e=>{h(e)},children:[(0,K.jsx)(ae,{"aria-label":e.version,className:`max-w-[16rem]`,"data-testid":`version`,children:(0,K.jsx)(ne,{})}),(0,K.jsx)(S,{position:`popper`,align:`start`,children:d.versions.map(e=>(0,K.jsx)(re,{value:e.key,className:`text-xs`,children:dt(e)},e.key))})]}):null,V&&!Qt(V)&&Z?(0,K.jsx)(tr,{animations:Ue,shape:T.length===1?Y?.name:void 0,nameOf:e=>{let t=H.find(t=>t.name===e),n=t?fn(t.shape):``;return n===``?e:n},open:le&&j===void 0,onOpenChange:ue,onChange:e=>{U({slides:[{op:`animations`,slide:V.id,animations:e}]})},onPick:e=>{let t=H.find(t=>t.name===e);t&&E([t.key])},onPreview:ot}):null,(0,K.jsxs)(te,{"data-testid":`deck-present-open`,"aria-label":e.present,disabled:I.length===0,onClick:()=>{ie(!0)},children:[(0,K.jsx)(ge,{"aria-hidden":!0}),(0,K.jsx)(`span`,{className:`@max-[30rem]:hidden`,children:e.present})]})]});return(0,K.jsxs)(`div`,{className:`flex size-full min-h-0 flex-col outline-none`,ref:P,"data-testid":`slides-editor`,"data-typing":D,"data-steps":Be,"data-live":Ee?Object.keys(Ee).join(` `):void 0,tabIndex:-1,onKeyDown:Ze,onFocus:e=>{e.target===e.currentTarget&&e.currentTarget.querySelector(`[data-sink]`)?.focus({preventScroll:!0})},children:[(0,K.jsx)(se,{start:(0,K.jsxs)(`div`,{className:`@container flex min-w-0 flex-1 items-center gap-1`,children:[ft,(0,K.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:Me?pt:null}),mt]}),saved:{state:z?.state??`saved`},exports:{versions:d.versions.map(e=>({key:e.key,label:dt(e)})),shown:v.key,facts:[`${String(d.width)} × ${String(d.height)}`,e.slideCount(I.length)].join(` · `),check:{waiting:g?.status===`waiting`||g?.status===`running`,problems:e=>g?.status===`done`?ye(g.problems,d,e):0}}}),Me?null:(0,K.jsx)(`div`,{className:`flex h-9 shrink-0 items-center border-b px-1`,children:pt}),z?.problem===void 0?null:(0,K.jsx)(`div`,{className:`bg-problem/10 text-problem-text shrink-0 px-3 py-1 text-xs`,"data-testid":`deck-unreadable`,children:e.unreadable(z.problem)}),(0,K.jsxs)(`div`,{className:`@container flex min-h-0 flex-1`,children:[(0,K.jsx)(cr,{project:r?.project.name??``,item:i,version:v.key,revision:c,slides:I,shown:B,aspect:d.width/d.height,onShow:e=>{C({slide:e,step:$}),E([])},marked:nt,made:e=>e.includes(`/`),...Z?{onMove:(e,t)=>{let n=qe(e),r=t===null?null:qe(t);r!==n&&U({slides:[{op:`move`,slide:n,after:r}]})},onAction:$e}:{}}),(0,K.jsxs)(`main`,{className:`relative flex min-w-0 flex-1 flex-col`,onDragOver:e=>{Z&&e.dataTransfer.types.includes(`Files`)&&e.preventDefault()},onDrop:e=>{let t=e.dataTransfer.files[0];Z&&t&&(e.preventDefault(),t.type.startsWith(`image/`)?et({kind:`picture`,file:t}):t.type.startsWith(`video/`)&&et({kind:`movie`,file:t}))},children:[(0,K.jsx)(`div`,{className:`min-h-0 flex-1 p-4`,children:(0,K.jsx)(Yt,{item:i,version:v.key,revision:c,width:d.width,height:d.height,moment:j?.from??at,playing:j!==void 0,onLoaded:He,edit:!0,onCommands:Pe,onEdit:Je,hold:D!==void 0||Ee!==void 0,interactive:D!==void 0,overlay:L&&Z&&j===void 0?(0,K.jsx)(Vn,{width:L.width,height:L.height,shapes:H,frameOf:Ke,selected:T,typing:D,marked:rt,onSelect:E,onDrag:e=>{De(e);for(let[t,n]of Object.entries(e))M.current?.({type:`deck-frame`,shape:t,frame:n})},onDrop:e=>{De(void 0),U({slides:Object.entries(e).flatMap(([e,t])=>{let n=H.find(t=>t.key===e);return n?[{op:`shape`,slide:n.address.slide,shape:n.address.shape,set:{frame:en(t)}}]:[]})})},animations:le?Ue:void 0,onMenu:(e,t)=>{xe(t)},onWords:(e,t)=>{k(e),M.current?.({type:`deck-edit`,shape:e,text:t})},onType:(e,t)=>{E([e]),k(e),M.current?.({type:`deck-edit`,shape:e,at:t,word:!0})}}):void 0})}),Le===void 0?null:(0,K.jsx)(`button`,{type:`button`,className:`text-muted-foreground mx-auto shrink-0 pb-1 text-xs`,"data-testid":`deck-conflict`,onClick:()=>{je(Ie)},children:Le}),tt.length>0&&R?(0,K.jsx)(`div`,{className:`absolute inset-x-0 bottom-24 flex justify-center`,children:(0,K.jsx)(Xt,{changes:tt,agent:r?.agent?.name,onShow:it,onKeep:e=>{R.keep(e)},onUndo:e=>{R.undo(e)},onAll:e=>{R.all(e)}})}):null,(0,K.jsx)(`section`,{className:`shrink-0 border-t`,"aria-label":e.notes,"data-testid":`deck-notes`,children:Z&&V&&!Qt(V)?(0,K.jsx)(Bt,{className:`text-read h-16 min-h-0 resize-none rounded-none border-0 bg-transparent p-3 shadow-none focus-visible:ring-0 dark:bg-transparent`,placeholder:e.addNotes,"data-testid":`deck-notes-text`,value:ut??``,onChange:e=>{let t=e.target.value;U({script:[{op:`notes`,slide:V.id,notes:t===``?void 0:t}]},`notes:${V.id}`)}},V.id):(0,K.jsx)(`div`,{className:`text-read h-16 overflow-y-auto p-3 whitespace-pre-wrap`,children:L===void 0?null:ut??(0,K.jsx)(`span`,{className:`text-muted-foreground`,children:e.noNotes})})})]})]}),w&&B!==void 0?(0,K.jsx)(Wn,{item:i,version:v.key,revision:c,width:d.width,height:d.height,slides:I,from:{slide:B,step:0},startOf:e=>y?.timeline.parts.find(t=>t.key===e)?.start,plays:e=>L?.slides.find(t=>t.id===e)?.shapes.some(e=>e.kind===`movie`)===!0,notesOf:e=>(y?.text??[]).find(t=>t.key===e)?.notes,onStop:e=>{ie(!1),C({slide:e.slide,step:$})}}):null,fe&&T.length>0?(0,K.jsx)(Er,{at:fe,canPaste:Oe,fixed:H.some(e=>T.includes(e.key)&&!(e.own||e.typed))?e.fromLayout:void 0,onAction:ct,onArrange:st,onClose:()=>{xe(void 0)}}):null]})}export{Lr as SlidesEditor};
@@ -0,0 +1,2 @@
1
+ import{n as e,r as t}from"./rolldown-runtime-XKyaHtl9.js";import{At as n,Ct as r,Dt as i,Et as a,Mt as o,Ot as s,Rt as c,a as l,bt as u,c as d,d as f,dt as p,en as m,f as h,ft as g,gt as _,ht as v,i as y,jt as b,kt as x,l as S,lt as C,n as w,o as T,ot as E,pt as D,r as O,s as k,tt as A,u as j,ut as ee,yt as M}from"./react-D0RmGe2w.js";import{_ as te,c as N,d as ne,f as re,h as ie,l as ae,o as oe,p as se,s as ce,t as le,y as ue}from"./dist-Cpt0p8bX.js";import{E as de}from"./index-CAcsAZ9u.js";var fe=s(`audio-lines`,[[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}],[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v7`,key:`3a1oy3`}],[`path`,{d:`M18 5v13`,key:`123xd1`}],[`path`,{d:`M22 10v3`,key:`154ddg`}]]),pe=s(`mic`,[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]),P=s(`music`,[[`path`,{d:`M9 18V5l12-2v13`,key:`1jmyc2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`circle`,{cx:`18`,cy:`16`,r:`3`,key:`1hluhg`}]]),me=s(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),he=s(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),F=t(m(),1),I=x(),L=Object.defineProperty,R=(e,t)=>L(e,`name`,{value:t,configurable:!0}),[ge,_e]=v(`Tooltip`,[h]),z=h(),B=`TooltipProvider`,ve=700,V=`tooltip.open`,[ye,H]=ge(B),be=R(e=>{let{__scopeTooltip:t,delayDuration:n=ve,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=F.useRef(!0),s=F.useRef(!1),c=F.useRef(0);return F.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,I.jsx)(ye,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:F.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:F.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:F.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})},`TooltipProvider`),U=`Tooltip`,[xe,W]=ge(U),Se=R(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=H(U,e.__scopeTooltip),l=z(t),[u,f]=F.useState(null),[m,h]=F.useState(void 0),g=C(),_=F.useRef(0),v=o??c.disableHoverableContent,y=s??c.delayDuration,b=F.useRef(!1),[x,S]=p({prop:r,defaultProp:i??!1,onChange:R(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(V))):c.onClose(),a?.(e)},`onChange`),caller:U}),w=F.useMemo(()=>x?b.current?`delayed-open`:`instant-open`:`closed`,[x]),T=F.useCallback(()=>{window.clearTimeout(_.current),_.current=0,b.current=!1,S(!0)},[S]),E=F.useCallback(()=>{window.clearTimeout(_.current),_.current=0,S(!1)},[S]),D=F.useCallback(()=>{window.clearTimeout(_.current),_.current=window.setTimeout(()=>{b.current=!0,S(!0),_.current=0},y)},[y,S]);F.useEffect(()=>()=>{_.current&&=(window.clearTimeout(_.current),0)},[]);let O=m??g;return(0,I.jsx)(d,{...l,children:(0,I.jsx)(xe,{scope:t,contentId:O,setContentId:h,open:x,stateAttribute:w,trigger:u,onTriggerChange:f,onTriggerEnter:F.useCallback(()=>{c.isOpenDelayedRef.current?D():T()},[c.isOpenDelayedRef,D,T]),onTriggerLeave:F.useCallback(()=>{v?E():(window.clearTimeout(_.current),_.current=0)},[E,v]),onOpen:T,onClose:E,disableHoverableContent:v,children:n})})},`Tooltip`),Ce=`TooltipTrigger`,we=F.forwardRef(R(function(e,t){let{__scopeTooltip:n,"aria-describedby":r,...i}=e,a=W(Ce,n),o=H(Ce,n),s=z(n),c=F.useRef(null),l=u(t,c,a.onTriggerChange),d=F.useRef(!1),f=F.useRef(!1),p=F.useCallback(()=>d.current=!1,[]);return F.useEffect(()=>()=>document.removeEventListener(`pointerup`,p),[p]),(0,I.jsx)(S,{asChild:!0,...s,children:(0,I.jsx)(_.button,{"aria-describedby":a.open?Re(r,a.contentId):r,"data-state":a.stateAttribute,...i,ref:l,onPointerMove:D(e.onPointerMove,e=>{e.pointerType!==`touch`&&!f.current&&!o.isPointerInTransitRef.current&&(a.onTriggerEnter(),f.current=!0)}),onPointerLeave:D(e.onPointerLeave,()=>{a.onTriggerLeave(),f.current=!1}),onPointerDown:D(e.onPointerDown,()=>{a.open&&a.onClose(),d.current=!0,document.addEventListener(`pointerup`,p,{once:!0})}),onFocus:D(e.onFocus,()=>{d.current||a.onOpen()}),onBlur:D(e.onBlur,a.onClose),onClick:D(e.onClick,a.onClose)})})},`TooltipTrigger`)),Te=`TooltipPortal`,[G,Ee]=ge(Te,{forceMount:void 0}),De=R(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=W(Te,t);return(0,I.jsx)(G,{scope:t,forceMount:n,children:(0,I.jsx)(ee,{present:n||a.open,children:(0,I.jsx)(A,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),K=`TooltipContent`,Oe=F.forwardRef(R(function(e,t){let n=Ee(K,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=W(K,e.__scopeTooltip);return(0,I.jsx)(ee,{present:r||o.open,children:o.disableHoverableContent?(0,I.jsx)(Ae,{side:i,...a,ref:t}):(0,I.jsx)(q,{side:i,...a,ref:t})})},`TooltipContent`)),q=F.forwardRef(R(function(e,t){let n=W(K,e.__scopeTooltip),r=H(K,e.__scopeTooltip),i=F.useRef(null),a=u(t,i),[o,s]=F.useState(null),{trigger:c,onClose:l}=n,d=i.current,{onPointerInTransitChange:f}=r,p=F.useCallback(()=>{s(null),f(!1)},[f]),m=F.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Ne(r,Me(r,n.getBoundingClientRect())),a=Pe(t.getBoundingClientRect()),o=Ie([...i,...a]);s(o),f(!0)},[f]);return F.useEffect(()=>()=>p(),[p]),F.useEffect(()=>{if(c&&d){let e=R(e=>m(e,d),`handleTriggerLeave`),t=R(e=>m(e,c),`handleContentLeave`);return c.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[c,d,m,p]),F.useEffect(()=>{if(o){let e=R(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||d?.contains(t),i=!Fe(n,o);r?p():i&&(p(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,d,o,l,p]),(0,I.jsx)(Ae,{...e,ref:a})},`TooltipContentHoverable`)),ke=M(`TooltipContent`),Ae=F.forwardRef(R(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=W(K,n),u=z(n),{onClose:d}=l;F.useEffect(()=>(document.addEventListener(V,d),()=>document.removeEventListener(V,d)),[d]),F.useEffect(()=>{if(l.trigger){let e=R(e=>{e.target instanceof Node&&e.target.contains(l.trigger)&&d()},`handleScroll`);return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]);let{setContentId:p}=l;return g(()=>(p(a),()=>{p(void 0)}),[a,p]),(0,I.jsx)(E,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,I.jsxs)(f,{"data-state":l.stateAttribute,role:i?void 0:`tooltip`,id:i?void 0:l.contentId,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,I.jsx)(ke,{children:r}),i?(0,I.jsx)(re,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`)),je=F.forwardRef(R(function(e,t){let{__scopeTooltip:n,...r}=e,i=z(n);return(0,I.jsx)(j,{...i,...r,ref:t})},`TooltipArrow`));function Me(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}R(Me,`getExitSideFromRect`);function Ne(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}R(Ne,`getPaddedExitPoints`);function Pe(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}R(Pe,`getPointsFromRect`);function Fe(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}R(Fe,`isPointInPolygon`);function Ie(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),Le(t)}R(Ie,`getHull`);function Le(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}R(Le,`getHullPresorted`);function Re(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}R(Re,`concatAriaDescribedby`);function ze({className:e,...t}){return(0,I.jsx)(`span`,{className:r(`text-muted-foreground font-mono text-micro leading-4 font-normal tracking-label uppercase`,e),...t})}function Be({label:e,count:t=4,size:n=10,className:i}){return(0,I.jsx)(`span`,{role:`status`,"aria-label":e,className:r(`inline-flex items-end gap-[3px]`,i),children:Array.from({length:t},(e,t)=>(0,I.jsx)(`span`,{className:`bg-foreground animate-squares-drop block`,style:{width:n,height:n,animationDelay:`${String(t*120)}ms`}},t))})}function Ve({title:e,children:t,action:n,className:i}){return(0,I.jsxs)(`div`,{className:r(`animate-set-in flex flex-col items-center gap-5 px-6 py-16 text-center`,i),children:[(0,I.jsxs)(`div`,{className:`flex max-w-sm flex-col gap-1.5`,children:[(0,I.jsx)(`h2`,{className:`font-serif text-heading font-semibold`,children:e}),t?(0,I.jsx)(`div`,{className:`text-muted-foreground text-sm leading-relaxed`,children:t}):null]}),n]})}var He=e=>Number.isFinite(e)&&e>0?e:0,J=e=>{let t=He(e);return`${String(Math.floor(t/60))}:${String(Math.floor(t%60)).padStart(2,`0`)}`},Y=e=>{let t=He(e);return`${String(Math.floor(t/60))}:${(t%60).toFixed(1).padStart(4,`0`)}`},Ue=(e,t)=>Math.floor(e*t+1e-9)/t,We=e=>e.split(/[/\\]/u).at(-1)??e,Ge={loading:`Vorschau wird geladen`,loadFailed:`Die Vorschau wurde nicht geladen`,noVideo:`Das ist kein Video`,previewTitle:`Vorschau`,denoising:`Sprache wird entrauscht; Wiedergabe wie aufgenommen`,uncut:e=>`Noch keine Personenmaske für ${e}: Ebenen hinter der Person erscheinen davor`,play:`Abspielen`,pause:`Pause`,seek:`Springen`,prevPage:`Vorherige Seite`,nextPage:`Nächste Seite`,pageOf:(e,t)=>`Seite ${String(e)} von ${String(t)}`,timeOf:(e,t,n)=>`${e} von ${t}${n?`, ${n}`:``}`,hideTimeline:`Zeitleiste ausblenden`,showTimeline:`Zeitleiste einblenden`,rows:{scenes:`Szenen`,voice:`Sprache`,music:`Musik`,sound:`Ton`},noVoice:`Keine Sprache`,noMusic:`Keine Musik`,noCues:`Keine Soundeffekte`,ducked:`unter Sprache abgesenkt`,version:`Sprache`,close:`Schließen`,previewFailed:`Mit diesem Video ist etwas schiefgelaufen.`,previewFailedKept:`Bei der letzten Änderung ist etwas schiefgelaufen. Das ist die letzte Version, die funktioniert hat.`,problemsHere:e=>e===1?`1 Problem in dieser Version`:`${String(e)} Probleme in dieser Version`,levelError:`Muss behoben werden`,levelWarn:`Vorschlag`},Ke={loading:`Loading the preview`,loadFailed:`The preview did not load`,noVideo:`This is not a video`,previewTitle:`Preview`,denoising:`Denoising the speech; playing it as recorded`,uncut:e=>`No person matte for ${e} yet: layers behind the person show in front`,play:`Play`,pause:`Pause`,seek:`Seek`,prevPage:`Previous page`,nextPage:`Next page`,pageOf:(e,t)=>`Page ${String(e)} of ${String(t)}`,timeOf:(e,t,n)=>`${e} of ${t}${n?`, ${n}`:``}`,hideTimeline:`Hide timeline`,showTimeline:`Show timeline`,rows:{scenes:`Scenes`,voice:`Speech`,music:`Music`,sound:`Sound`},noVoice:`No speech`,noMusic:`No music`,noCues:`No sound cues`,ducked:`lowered under speech`,version:`Language`,close:`Close`,previewFailed:`Something went wrong with this video.`,previewFailedKept:`Something went wrong with the latest change. This is the last version that worked.`,problemsHere:e=>`${String(e)} problem${e===1?``:`s`} in this version`,levelError:`Must fix`,levelWarn:`Suggestion`},qe={loading:`Cargando la vista previa`,loadFailed:`La vista previa no se cargó`,noVideo:`Esto no es un video`,previewTitle:`Vista previa`,denoising:`Reduciendo el ruido de la voz; se reproduce tal como se grabó`,uncut:e=>`Aún no hay máscara de persona para ${e}: las capas detrás de la persona se ven delante`,play:`Reproducir`,pause:`Pausa`,seek:`Buscar`,prevPage:`Página anterior`,nextPage:`Página siguiente`,pageOf:(e,t)=>`Página ${String(e)} de ${String(t)}`,timeOf:(e,t,n)=>`${e} de ${t}${n?`, ${n}`:``}`,hideTimeline:`Ocultar la línea de tiempo`,showTimeline:`Mostrar la línea de tiempo`,rows:{scenes:`Escenas`,voice:`Voz`,music:`Música`,sound:`Sonido`},noVoice:`Sin voz`,noMusic:`Sin música`,noCues:`Sin efectos de sonido`,ducked:`bajada bajo la voz`,version:`Idioma`,close:`Cerrar`,previewFailed:`Algo salió mal con este video.`,previewFailedKept:`Algo salió mal con el último cambio. Esta es la última versión que funcionó.`,problemsHere:e=>e===1?`1 problema en esta versión`:`${String(e)} problemas en esta versión`,levelError:`Corregir`,levelWarn:`Sugerencia`},Je={loading:`Chargement de l’aperçu`,loadFailed:`L’aperçu ne s’est pas chargé`,noVideo:`Ce n’est pas une vidéo`,previewTitle:`Aperçu`,denoising:`Débruitage de la voix\xA0; lecture telle qu’enregistrée`,uncut:e=>`Pas encore de masque de personne pour ${e}\u00a0: les calques derrière la personne passent devant`,play:`Lire`,pause:`Pause`,seek:`Position`,prevPage:`Page précédente`,nextPage:`Page suivante`,pageOf:(e,t)=>`Page ${String(e)} sur ${String(t)}`,timeOf:(e,t,n)=>`${e} sur ${t}${n?`, ${n}`:``}`,hideTimeline:`Masquer la timeline`,showTimeline:`Afficher la timeline`,rows:{scenes:`Scènes`,voice:`Voix`,music:`Musique`,sound:`Son`},noVoice:`Pas de voix`,noMusic:`Pas de musique`,noCues:`Pas d’effets sonores`,ducked:`baissée sous la voix`,version:`Langue`,close:`Fermer`,previewFailed:`Un problème est survenu avec cette vidéo.`,previewFailedKept:`Un problème est survenu avec la dernière modification. Voici la dernière version qui fonctionnait.`,problemsHere:e=>e===1?`1 problème dans cette version`:`${String(e)} problèmes dans cette version`,levelError:`À corriger`,levelWarn:`Suggestion`},Ye=new Intl.PluralRules(`hi`),Xe=(e,t,n)=>`${String(e)} ${Ye.select(e)===`one`?t:n}`,Ze={loading:`प्रीव्यू लोड हो रहा है`,loadFailed:`प्रीव्यू लोड नहीं हुआ`,noVideo:`यह वीडियो नहीं है`,previewTitle:`प्रीव्यू`,denoising:`आवाज़ से शोर हटाया जा रहा है; तब तक रिकॉर्डिंग जैसी है वैसी चल रही है`,uncut:e=>`${e} के लिए अभी पर्सन मैट नहीं है: व्यक्ति के पीछे वाली लेयर आगे दिखती हैं`,play:`चलाएँ`,pause:`रोकें`,seek:`आगे-पीछे करें`,prevPage:`पिछला पेज`,nextPage:`अगला पेज`,pageOf:(e,t)=>`पेज ${String(e)} / ${String(t)}`,timeOf:(e,t,n)=>`${t} में से ${e}${n?`, ${n}`:``}`,hideTimeline:`टाइमलाइन छिपाएँ`,showTimeline:`टाइमलाइन दिखाएँ`,rows:{scenes:`सीन`,voice:`आवाज़`,music:`संगीत`,sound:`साउंड`},noVoice:`कोई आवाज़ नहीं`,noMusic:`कोई संगीत नहीं`,noCues:`कोई साउंड इफ़ेक्ट नहीं`,ducked:`बोलते समय धीमा`,version:`भाषा`,close:`बंद करें`,previewFailed:`इस वीडियो में कुछ गड़बड़ हो गई।`,previewFailedKept:`सबसे नए बदलाव में कुछ गड़बड़ हो गई। यह आखिरी चलने वाला वर्शन है।`,problemsHere:e=>`इस वर्शन में ${Xe(e,`समस्या`,`समस्याएँ`)}`,levelError:`ठीक करना ज़रूरी`,levelWarn:`सुझाव`},Qe={loading:`Caricamento dell'anteprima`,loadFailed:`L'anteprima non si è caricata`,noVideo:`Questo non è un video`,previewTitle:`Anteprima`,denoising:`Riduzione del rumore della voce; riprodotta così come è stata registrata`,uncut:e=>`Ancora nessuna maschera della persona per ${e}: i livelli dietro la persona appaiono davanti`,play:`Riproduci`,pause:`Pausa`,seek:`Vai a`,prevPage:`Pagina precedente`,nextPage:`Pagina successiva`,pageOf:(e,t)=>`Pagina ${String(e)} di ${String(t)}`,timeOf:(e,t,n)=>`${e} di ${t}${n?`, ${n}`:``}`,hideTimeline:`Nascondi la timeline`,showTimeline:`Mostra la timeline`,rows:{scenes:`Scene`,voice:`Voce`,music:`Musica`,sound:`Suono`},noVoice:`Nessuna voce`,noMusic:`Nessuna musica`,noCues:`Nessun effetto sonoro`,ducked:`abbassata sotto la voce`,version:`Lingua`,close:`Chiudi`,previewFailed:`Qualcosa è andato storto con questo video.`,previewFailedKept:`Qualcosa è andato storto con l'ultima modifica. Questa è l'ultima versione che funzionava.`,problemsHere:e=>e===1?`1 problema in questa versione`:`${String(e)} problemi in questa versione`,levelError:`Da correggere`,levelWarn:`Suggerimento`},$e={loading:`プレビューを読み込み中`,loadFailed:`プレビューを読み込めませんでした`,noVideo:`これは動画ではありません`,previewTitle:`プレビュー`,denoising:`音声のノイズを除去中。録音のまま再生しています`,uncut:e=>`${e} の人物マットはまだありません。人物の後ろのレイヤーが前に表示されます`,play:`再生`,pause:`一時停止`,seek:`再生位置`,prevPage:`前のページ`,nextPage:`次のページ`,pageOf:(e,t)=>`${String(e)} / ${String(t)} ページ`,timeOf:(e,t,n)=>`${e} / ${t}${n?`、${n}`:``}`,hideTimeline:`タイムラインを隠す`,showTimeline:`タイムラインを表示`,rows:{scenes:`シーン`,voice:`音声`,music:`音楽`,sound:`効果音`},noVoice:`音声なし`,noMusic:`音楽なし`,noCues:`効果音なし`,ducked:`音声の間は音量を下げる`,version:`言語`,close:`閉じる`,previewFailed:`この動画で問題が起きました。`,previewFailedKept:`最新の変更で問題が起きました。これは最後に正しく動いたバージョンです。`,problemsHere:e=>`このバージョンに ${String(e)} 件の問題`,levelError:`要修正`,levelWarn:`提案`},et={loading:`미리보기를 불러오는 중`,loadFailed:`미리보기를 불러오지 못했습니다`,noVideo:`동영상이 아닙니다`,previewTitle:`미리보기`,denoising:`음성의 잡음을 제거하는 중입니다. 녹음된 그대로 재생합니다`,uncut:e=>`${e}의 인물 매트가 아직 없습니다. 인물 뒤 레이어가 앞에 보입니다`,play:`재생`,pause:`일시정지`,seek:`재생 위치`,prevPage:`이전 페이지`,nextPage:`다음 페이지`,pageOf:(e,t)=>`${String(t)}페이지 중 ${String(e)}페이지`,timeOf:(e,t,n)=>`${e} / ${t}${n?`, ${n}`:``}`,hideTimeline:`타임라인 숨기기`,showTimeline:`타임라인 보기`,rows:{scenes:`장면`,voice:`음성`,music:`음악`,sound:`사운드`},noVoice:`음성 없음`,noMusic:`음악 없음`,noCues:`효과음 없음`,ducked:`음성 아래로 낮춤`,version:`언어`,close:`닫기`,previewFailed:`이 동영상에 문제가 생겼습니다.`,previewFailedKept:`최근 변경에서 문제가 생겼습니다. 마지막으로 정상 작동한 버전입니다.`,problemsHere:e=>`이 버전의 문제 ${String(e)}개`,levelError:`수정 필요`,levelWarn:`제안`},tt={loading:`Carregando a prévia`,loadFailed:`A prévia não carregou`,noVideo:`Isto não é um vídeo`,previewTitle:`Prévia`,denoising:`Removendo o ruído da fala; tocando como foi gravada`,uncut:e=>`Ainda não há máscara de pessoa para ${e}: as camadas atrás da pessoa aparecem na frente`,play:`Reproduzir`,pause:`Pausar`,seek:`Posição`,prevPage:`Página anterior`,nextPage:`Próxima página`,pageOf:(e,t)=>`Página ${String(e)} de ${String(t)}`,timeOf:(e,t,n)=>`${e} de ${t}${n?`, ${n}`:``}`,hideTimeline:`Ocultar a linha do tempo`,showTimeline:`Mostrar a linha do tempo`,rows:{scenes:`Cenas`,voice:`Fala`,music:`Música`,sound:`Som`},noVoice:`Sem fala`,noMusic:`Sem música`,noCues:`Sem efeitos sonoros`,ducked:`abaixada sob a fala`,version:`Idioma`,close:`Fechar`,previewFailed:`Algo deu errado com este vídeo.`,previewFailedKept:`Algo deu errado com a última alteração. Esta é a última versão que funcionou.`,problemsHere:e=>e===1?`1 problema nesta versão`:`${String(e)} problemas nesta versão`,levelError:`Corrigir`,levelWarn:`Sugestão`},nt=new Intl.PluralRules(`ru`),rt=(e,t,n,r)=>{let i=nt.select(e);return`${String(e)} ${i===`one`?t:i===`many`?r:n}`},it=b({en:Ke,"zh-cn":{loading:`正在加载预览`,loadFailed:`预览没能加载`,noVideo:`这不是视频`,previewTitle:`预览`,denoising:`正在降噪,先播原声`,uncut:e=>`${e} 还没有人像遮罩:人物后面的图层暂时画在人物前面`,play:`播放`,pause:`暂停`,seek:`进度`,prevPage:`上一页`,nextPage:`下一页`,pageOf:(e,t)=>`第 ${String(e)} 页,共 ${String(t)} 页`,timeOf:(e,t,n)=>`${e} / ${t}${n?`,${n}`:``}`,hideTimeline:`收起时间线`,showTimeline:`展开时间线`,rows:{scenes:`分段`,voice:`说话`,music:`音乐`,sound:`音效`},noVoice:`没有人说话`,noMusic:`没有音乐`,noCues:`没有音效`,ducked:`有人说话时压低`,version:`语言`,close:`关闭`,previewFailed:`这个视频出了点问题。`,previewFailedKept:`最新的改动出了点问题,这里是上一版正常的画面。`,problemsHere:e=>`这个版本有 ${String(e)} 个问题`,levelError:`必须改`,levelWarn:`建议`},"zh-tw":{loading:`正在載入預覽`,loadFailed:`預覽未能載入`,noVideo:`這不是影片`,previewTitle:`預覽`,denoising:`正在降噪,先播放原始錄音`,uncut:e=>`${e} 還沒有人像遮罩:人物後方的圖層暫時顯示在人物前面`,play:`播放`,pause:`暫停`,seek:`播放位置`,prevPage:`上一頁`,nextPage:`下一頁`,pageOf:(e,t)=>`第 ${String(e)} 頁,共 ${String(t)} 頁`,timeOf:(e,t,n)=>`${e} / ${t}${n?`,${n}`:``}`,hideTimeline:`收合時間軸`,showTimeline:`展開時間軸`,rows:{scenes:`段落`,voice:`語音`,music:`音樂`,sound:`音效`},noVoice:`沒有語音`,noMusic:`沒有音樂`,noCues:`沒有音效`,ducked:`有語音時降低音量`,version:`語言`,close:`關閉`,previewFailed:`這部影片出了點問題。`,previewFailedKept:`最新的修改出了點問題,這裡是上一個正常的版本。`,problemsHere:e=>`這個版本有 ${String(e)} 個問題`,levelError:`必須修正`,levelWarn:`建議`},ja:$e,ko:et,es:qe,fr:Je,de:Ge,it:Qe,pt:tt,ru:{loading:`Загрузка предпросмотра`,loadFailed:`Предпросмотр не загрузился`,noVideo:`Это не видео`,previewTitle:`Предпросмотр`,denoising:`Шумоподавление речи; пока звучит исходная запись`,uncut:e=>`Для ${e} ещё нет маски человека: слои за человеком показаны перед ним`,play:`Воспроизвести`,pause:`Пауза`,seek:`Перемотка`,prevPage:`Предыдущая страница`,nextPage:`Следующая страница`,pageOf:(e,t)=>`Страница ${String(e)} из ${String(t)}`,timeOf:(e,t,n)=>`${e} из ${t}${n?`, ${n}`:``}`,hideTimeline:`Скрыть таймлайн`,showTimeline:`Показать таймлайн`,rows:{scenes:`Сцены`,voice:`Речь`,music:`Музыка`,sound:`Звук`},noVoice:`Нет речи`,noMusic:`Нет музыки`,noCues:`Нет звуковых эффектов`,ducked:`приглушено под речью`,version:`Язык`,close:`Закрыть`,previewFailed:`С этим видео что-то пошло не так.`,previewFailedKept:`С последним изменением что-то пошло не так. Это последняя рабочая версия.`,problemsHere:e=>`${rt(e,`проблема`,`проблемы`,`проблем`)} в этой версии`,levelError:`Нужно исправить`,levelWarn:`Совет`},tr:{loading:`Önizleme yükleniyor`,loadFailed:`Önizleme yüklenmedi`,noVideo:`Bu bir video değil`,previewTitle:`Önizleme`,denoising:`Konuşmadaki gürültü temizleniyor; kaydedildiği gibi çalınıyor`,uncut:e=>`${e} için henüz kişi maskesi yok: kişinin arkasındaki katmanlar önde görünür`,play:`Oynat`,pause:`Duraklat`,seek:`Konum`,prevPage:`Önceki sayfa`,nextPage:`Sonraki sayfa`,pageOf:(e,t)=>`Sayfa ${String(e)} / ${String(t)}`,timeOf:(e,t,n)=>`${e} / ${t}${n?`, ${n}`:``}`,hideTimeline:`Zaman çizelgesini gizle`,showTimeline:`Zaman çizelgesini göster`,rows:{scenes:`Sahneler`,voice:`Konuşma`,music:`Müzik`,sound:`Ses`},noVoice:`Konuşma yok`,noMusic:`Müzik yok`,noCues:`Ses efekti yok`,ducked:`konuşmanın altında kısıldı`,version:`Dil`,close:`Kapat`,previewFailed:`Bu videoda bir şeyler ters gitti.`,previewFailedKept:`Son değişiklikte bir şeyler ters gitti. Bu, çalışan son sürüm.`,problemsHere:e=>`Bu sürümde ${String(e)} sorun var`,levelError:`Düzeltilmeli`,levelWarn:`Öneri`},vi:{loading:`Đang tải bản xem trước`,loadFailed:`Không tải được bản xem trước`,noVideo:`Đây không phải video`,previewTitle:`Xem trước`,denoising:`Đang khử nhiễu giọng nói; tạm phát như bản thu gốc`,uncut:e=>`Chưa có mặt nạ người cho ${e}: các lớp phía sau người hiện ở phía trước`,play:`Phát`,pause:`Tạm dừng`,seek:`Tua`,prevPage:`Trang trước`,nextPage:`Trang sau`,pageOf:(e,t)=>`Trang ${String(e)}/${String(t)}`,timeOf:(e,t,n)=>`${e} / ${t}${n?`, ${n}`:``}`,hideTimeline:`Ẩn dòng thời gian`,showTimeline:`Hiện dòng thời gian`,rows:{scenes:`Cảnh`,voice:`Lời nói`,music:`Nhạc`,sound:`Âm thanh`},noVoice:`Không có lời nói`,noMusic:`Không có nhạc`,noCues:`Không có hiệu ứng âm thanh`,ducked:`giảm âm lượng khi có lời nói`,version:`Ngôn ngữ`,close:`Đóng`,previewFailed:`Video này đã gặp sự cố.`,previewFailedKept:`Thay đổi mới nhất đã gặp sự cố. Đây là phiên bản chạy được gần nhất.`,problemsHere:e=>`${String(e)} vấn đề trong phiên bản này`,levelError:`Cần sửa`,levelWarn:`Gợi ý`},th:{loading:`กำลังโหลดตัวอย่าง`,loadFailed:`โหลดตัวอย่างไม่สำเร็จ`,noVideo:`นี่ไม่ใช่วิดีโอ`,previewTitle:`ตัวอย่าง`,denoising:`กำลังลดเสียงรบกวนของเสียงพูด ระหว่างนี้จะเล่นตามที่บันทึกไว้`,uncut:e=>`ยังไม่มีมาสก์บุคคลสำหรับ ${e}: เลเยอร์ที่อยู่หลังบุคคลจะแสดงอยู่ด้านหน้า`,play:`เล่น`,pause:`หยุดชั่วคราว`,seek:`เลื่อนตำแหน่ง`,prevPage:`หน้าก่อนหน้า`,nextPage:`หน้าถัดไป`,pageOf:(e,t)=>`หน้า ${String(e)} จาก ${String(t)}`,timeOf:(e,t,n)=>`${e} จาก ${t}${n?`, ${n}`:``}`,hideTimeline:`ซ่อนไทม์ไลน์`,showTimeline:`แสดงไทม์ไลน์`,rows:{scenes:`ฉาก`,voice:`เสียงพูด`,music:`เพลง`,sound:`เสียง`},noVoice:`ไม่มีเสียงพูด`,noMusic:`ไม่มีเพลง`,noCues:`ไม่มีเอฟเฟกต์เสียง`,ducked:`ลดเสียงลงขณะมีเสียงพูด`,version:`ภาษา`,close:`ปิด`,previewFailed:`วิดีโอนี้เกิดข้อผิดพลาด`,previewFailedKept:`การเปลี่ยนแปลงล่าสุดเกิดข้อผิดพลาด นี่คือเวอร์ชันล่าสุดที่ใช้ได้`,problemsHere:e=>`มีปัญหา ${String(e)} รายการในเวอร์ชันนี้`,levelError:`ต้องแก้ไข`,levelWarn:`คำแนะนำ`},hi:Ze});function X(){return it.of(O()?.locale)}function at(e,t,n){let r=w(),[i,a]=(0,F.useState)(),o=JSON.stringify([e,t,...n]);return(0,F.useEffect)(()=>{if(t===void 0)return;let n=!0;return c(r,e,t).then(e=>{n&&a({key:o,data:e})},e=>{n&&a({key:o,error:e instanceof Error?e:Error(String(e))})}),()=>{n=!1}},[r,o]),{data:i?.data,error:i?.key===o?i.error:void 0}}function ot(){let[e,t]=(0,F.useState)(0);return y(`project/changed`,e=>{t(e.revision)}),e}function st(){let e=w(),[t,n]=(0,F.useState)();return(0,F.useEffect)(()=>{let t=!0;return c(e,`check/results`,{}).then(e=>{t&&n(t=>t??e)},()=>void 0),()=>{t=!1}},[e]),y(`check/changed`,n),t}function ct(e,t){let n=w(),[r,i]=(0,F.useState)();(0,F.useEffect)(()=>{let r=!0;return n[`storage/get`]({key:e}).then(n=>{r&&i({key:e,value:n.value===null?t:n.value})},()=>{r&&i({key:e,value:t})}),()=>{r=!1}},[n,e]);let a=(0,F.useCallback)(t=>{i({key:e,value:t}),n[`storage/set`]({key:e,value:t}).catch(()=>void 0)},[n,e]);return[r?.key===e?r.value:void 0,a]}async function lt(e,t){try{return(await e[`files/url`]({path:t})).url}catch{return}}function ut(e,t){return e.versions.find(e=>e.key===t)??e.versions[0]}function dt(e,t,n){return e.filter(e=>e.piece===t&&(e.combo===void 0||n.lang===void 0||e.combo.lang===n.lang))}function ft(e,t){try{return new Intl.DisplayNames([t],{type:`language`}).of(e)??e}catch{return e}}function pt(e){if(typeof e==`object`&&e&&e.allyhub===!0&&typeof e.type==`string`)return e}function mt(e,t){e?.postMessage({allyhub:!0,...t},`*`)}function ht({delayDuration:e=0,...t}){return(0,I.jsx)(be,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function gt({...e}){return(0,I.jsx)(Se,{"data-slot":`tooltip`,...e})}function _t({...e}){return(0,I.jsx)(we,{"data-slot":`tooltip-trigger`,...e})}function vt({className:e,sideOffset:t=0,children:n,...i}){return(0,I.jsx)(De,{children:(0,I.jsxs)(Oe,{"data-slot":`tooltip-content`,sideOffset:t,className:r(`z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,e),...i,children:[n,(0,I.jsx)(je,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`})]})})}function yt(e,t,n,r=4){let i=e.map(({x:e,width:n},r)=>{let i=e+n>t&&e-n>=0?`before`:`after`;return i===`after`?{i:r,side:i,from:e,to:e+n}:{i:r,side:i,from:e-n,to:e}}),a=[],o=e.map(()=>null);for(let e of[...i].sort((e,t)=>e.from-t.from||e.i-t.i)){let t=0;for(;t<n&&(a[t]??-1/0)+r>e.from;)t++;t!==n&&(a[t]=e.to,o[e.i]={lane:t,side:e.side})}return o}var bt=.01,xt=new Map;async function St(e){try{let t=await fetch(e);if(!t.ok)return;let n=await t.arrayBuffer(),r=await new OfflineAudioContext(1,1,44100).decodeAudioData(n),i=r.sampleRate/50,a=Math.ceil(r.length/i),o=new Float32Array(a),s=0;for(let e=0;e<r.numberOfChannels;e++){let t=r.getChannelData(e);for(let e=0;e<a;e++){let n=Math.min(t.length,Math.floor((e+1)*i)),r=o[e]??0;for(let a=Math.floor(e*i);a<n;a++){let e=Math.abs(t[a]??0);e>r&&(r=e)}o[e]=r,r>s&&(s=r)}}if(s<bt)return;let c=Float32Array.from(o).sort(),l=c[Math.floor(c.length*.95)]??s;return{duration:r.duration,data:o,max:l>0?l:s}}catch{return}}function Ct(e){let t=xt.get(e);return t||(t=St(e),xt.set(e,t)),t}function wt(e){let[t,n]=(0,F.useState)();(0,F.useEffect)(()=>{if(e===void 0)return;let t=!0;return Ct(e).then(r=>{t&&n({url:e,peaks:r})}),()=>{t=!1}},[e]);let r=t?.url===e?t:void 0;return{peaks:r?.peaks,settled:e===void 0||r!==void 0}}function Tt(e,t,n){let r=Math.max(0,Math.floor(t*50)),i=Math.min(e.data.length,Math.max(r+1,Math.ceil(n*50))),a=0;for(let t=r;t<i;t++){let n=e.data[t]??0;n>a&&(a=n)}return a}function Et(e,t){if(e.length===0)return 0;let n=e[0];if(!n||t<=n.t)return n?.db??0;for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(r&&i&&t<=i.t)return i.t===r.t?i.db:r.db+(i.db-r.db)*(t-r.t)/(i.t-r.t)}return e.at(-1)?.db??0}function Dt(e,t,n){let r=new Map(t.map(e=>[e.key,e])),i=e.parts.flatMap(e=>{let t=e.speech;if(!t)return[];let n=r.get(e.key);return[{...n?.speechKey===void 0?{}:{key:n.speechKey},part:e.key,start:t.start,end:t.end,text:n?.spoken??``,file:t.file,from:t.from,speed:t.speed??1,...t.cuts?{cuts:t.cuts}:{}}]}),a=n?.music,o;if(a&&a.segments.length>0){let t=a.segments[0],n=a.segments.at(-1),r=Math.min(e.duration,a.until??(n?n.at+n.dur:e.duration)),i=[];for(let e=1;e<a.duck.length;e++){let t=a.duck[e-1],n=a.duck[e];if(t&&n&&t.db<0&&n.db<0){let e=i.at(-1);e&&Math.abs(e.end-t.t)<1e-9?e.end=n.t:i.push({start:t.t,end:n.t})}}o={file:a.file,start:t?.at??0,end:r,stretches:a.segments.map(e=>({at:e.at,from:e.from,dur:e.dur})),ducked:i,duck:a.duck,fadeIn:a.fadeIn,fadeOut:a.fadeOut}}return{cues:e.cues,speech:i,music:o}}function Ot(e,t){if(t<e.start||t>=e.end)return;let n=e.start,r=e.from;for(let i of e.cuts??[]){if(i.at>t)break;n=i.at,r=i.from}return r+(t-n)*e.speed}function kt(e,t){for(let n=e.stretches.length-1;n>=0;n--){let r=e.stretches[n];if(r&&t>=r.at&&t<r.at+r.dur)return r.from+(t-r.at)}}function At(e,t){let n=10**(Et(e.duck,t)/20);return e.fadeIn>0&&t-e.start<e.fadeIn&&(n*=Math.max(0,t-e.start)/e.fadeIn),e.fadeOut>0&&e.end-t<e.fadeOut&&(n*=Math.max(0,e.end-t)/e.fadeOut),Math.max(0,n)}function jt(e){let t=new Set((e.index??[]).filter(e=>e.matte).map(e=>e.file));return e.parts.flatMap(n=>{let r=(e.footage??[]).find(e=>e.part===n.key&&t.has(e.file));return r?[{part:n.key,file:r.file}]:[]})}var Mt={scenes:`text-track-scene`,voice:`text-track-voice`,music:`text-track-music`,sound:`text-track-sound`},Z={ruler:20,scenes:36,voice:40,music:32,sound:28};function Nt(e){return Z.ruler+1+Z.scenes+1+e.reduce((e,t)=>e+Z[t]+1,0)}var Pt=6;function Ft(e,t){let n=e=>e.join(` `).replace(/\s+([.,!?;:。,!?;:、])/g,`$1`).trim(),[r,...i]=e;if(r===t&&i.length>0){let e=n(i);if(/^[^a-z]/.test(e))return e}return n(e)}function It(e){return e<=60?{minor:1,major:5}:e<=180?{minor:1,major:10}:e<=600?{minor:5,major:30}:e<=1800?{minor:10,major:60}:{minor:60,major:300}}var Q=(e,t)=>`${String(e/Math.max(t,1e-6)*100)}%`;function Lt({title:e,mono:t=!1,time:n,line:i,children:a}){return(0,I.jsxs)(gt,{children:[(0,I.jsx)(_t,{asChild:!0,children:a}),(0,I.jsx)(vt,{side:`top`,sideOffset:6,className:`max-w-[20rem]`,children:(0,I.jsxs)(`span`,{className:`flex flex-col gap-0.5 text-left`,children:[(0,I.jsx)(`span`,{className:r(t&&`font-mono text-micro`),children:e}),(0,I.jsx)(`span`,{className:`font-mono text-micro tabular-nums opacity-70`,children:n}),i?(0,I.jsx)(`span`,{className:`opacity-80`,children:i}):null]})})]})}function Rt(e){let t=w(),[n,r]=(0,F.useState)();return(0,F.useEffect)(()=>{let n=!0;return lt(t,e).then(t=>{n&&r({file:e,url:t})}),()=>{n=!1}},[t,e]),n?.file===e?n.url:void 0}function zt({file:e,from:t,to:n,sample:i,alpha:a,className:o}){let s=(0,F.useRef)(null),{peaks:c,settled:l}=wt(Rt(e)),[u,d]=(0,F.useState)(!1);return(0,F.useEffect)(()=>{let e=s.current;if(!e||!c)return;let r=()=>{let r=window.devicePixelRatio||1,o=Math.round(e.clientWidth*r),s=Math.round(e.clientHeight*r);if(!o||!s)return;e.width=o,e.height=s;let l=e.getContext(`2d`);if(!l)return;l.fillStyle=getComputedStyle(e).color,l.globalAlpha=a;let u=1/Math.max(c.max,.05),f=n-t,p=s-2*Math.round(2*r);for(let e=0;e<o;e+=2){let n=i(t+e/o*f);if(!n)continue;let r=Tt(c,n.at,n.at+2/o*f)*u*n.gain,a=Math.max(1,Math.round(Math.min(1,r)**Bt*p));l.fillRect(e,Math.round((s-a)/2),1,a)}d(!0)};r();let o=new ResizeObserver(r);o.observe(e);let l=new MutationObserver(r);return l.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>{o.disconnect(),l.disconnect()}},[c,t,n,i,a]),(0,I.jsx)(`canvas`,{ref:s,"aria-hidden":!0,"data-wave":u?`ready`:l?`none`:`pending`,className:r(`pointer-events-none absolute inset-0 size-full opacity-0 transition-opacity data-[wave=ready]:opacity-100`,o)})}var Bt=.7,Vt=`focus-visible:outline-ring absolute inset-y-1 overflow-hidden rounded-xs border focus-visible:outline-1 focus-visible:outline-solid focus-visible:-outline-offset-1`;function Ht({line:e,duration:t,onSeek:n}){let i=(0,F.useCallback)(t=>{let n=Ot(e,t);return n===void 0?void 0:{at:n,gain:1}},[e]);return(0,I.jsx)(Lt,{title:e.text,time:`${Y(e.start)} – ${Y(e.end)} · ${We(e.file)}`,children:(0,I.jsxs)(`button`,{type:`button`,"data-sentence":e.key??e.part,"data-start":e.start.toFixed(4),className:r(Vt,`bg-track-voice/15 border-track-voice/60 hover:bg-track-voice/25 text-left`),style:{left:Q(e.start,t),width:Q(e.end-e.start,t)},onPointerDown:e=>{e.stopPropagation()},onClick:()=>{n(e.start)},children:[(0,I.jsx)(`span`,{className:`absolute inset-x-1.5 top-0 block h-[14px] truncate text-micro leading-[14px]`,children:e.text}),(0,I.jsx)(`span`,{className:`absolute inset-x-0 top-[14px] bottom-0`,children:(0,I.jsx)(zt,{file:e.file,from:e.start,to:e.end,sample:i,alpha:.7,className:`text-track-voice`})})]})})}var Ut=2,Wt=.75;function Gt({parts:e,duration:t}){let n=(0,F.useRef)(null),r=(0,F.useRef)(new Map),[i,a]=(0,F.useState)(0),[o,s]=(0,F.useState)(()=>new Map),c=e.flatMap(e=>(e.anchors??[]).map(t=>({id:`${e.key}@${t.name}`,part:e.key,anchor:t}))),l=c.map(e=>e.id).join(`
2
+ `);(0,F.useLayoutEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{a(e.clientWidth);let t=new Map;for(let[e,n]of r.current)t.set(e,n.offsetWidth);s(e=>e.size===t.size&&[...t].every(([t,n])=>e.get(t)===n)?e:t)};t();let i=new ResizeObserver(t);i.observe(e);for(let e of r.current.values())i.observe(e);return()=>{i.disconnect()}},[l]);let u=yt(c.map(e=>({x:e.anchor.at/Math.max(t,1e-6)*i,width:o.get(e.id)??0})),i,Ut);return(0,I.jsx)(`div`,{ref:n,className:`pointer-events-none absolute inset-0`,children:c.map((e,n)=>(0,I.jsx)(Kt,{part:e.part,anchor:e.anchor,duration:t,place:u[n]??null,nameRef:t=>(r.current.set(e.id,t),()=>{r.current.delete(e.id)})},e.id))})}function Kt({part:e,anchor:t,duration:n,place:i,nameRef:a}){let{at:o,end:s}=t,c=(o,s)=>(0,I.jsx)(`span`,{"data-anchor":`${e}:${t.name}${o?`:end`:``}`,"data-time":s.toFixed(4),title:t.name,className:`before:bg-foreground/70 absolute inset-y-0 z-10 -ml-1 w-2 before:absolute before:inset-y-0 before:left-1/2 before:w-px`,style:{left:Q(s,n)},children:!o&&(0,I.jsx)(`span`,{ref:a,"data-anchor-lane":i?String(i.lane):void 0,className:r(`bg-background text-muted-foreground absolute rounded-xs px-0.5 font-mono text-micro leading-3 whitespace-nowrap`,i?.side===`before`?`right-1/2 mr-px`:`left-1/2 ml-px`,!i&&`invisible`),style:{bottom:`${String((i?.lane??0)*Wt)}rem`},children:t.name})},o?`end`:`at`);return(0,I.jsxs)(I.Fragment,{children:[s!==void 0&&s>o&&(0,I.jsx)(`span`,{className:`bg-foreground/50 pointer-events-none absolute bottom-0 z-10 h-px`,style:{left:Q(o,n),width:Q(s-o,n)}}),c(!1,o),s!==void 0&&c(!0,s)]})}function qt({music:e,duration:t,ducked:n}){let{start:i,end:a}=e,o=(0,F.useCallback)(t=>{let n=kt(e,t);return n===void 0?void 0:{at:n,gain:At(e,t)}},[e]),s=We(e.file);return(0,I.jsx)(Lt,{mono:!0,title:s,time:`${Y(i)} – ${Y(a)}`,line:e.ducked.length?n:void 0,children:(0,I.jsxs)(`div`,{"data-music":s,className:r(Vt,`bg-track-music/15 border-track-music/60`),style:{left:Q(i,t),width:Q(a-i,t)},children:[(0,I.jsx)(zt,{file:e.file,from:i,to:a,sample:o,alpha:.6,className:`text-track-music`}),(0,I.jsx)(`span`,{className:`bg-background/85 text-foreground absolute top-1/2 left-1.5 -translate-y-1/2 rounded-xs px-1 font-mono text-micro leading-[14px]`,children:s})]})})}var Jt=(0,F.memo)(function({timeline:e,texts:t,tracks:n,rows:i,current:a,second:o,onSeek:s}){let c=X(),{duration:l,parts:u}=e,d=e=>(0,I.jsx)(`span`,{className:`text-muted-foreground bg-background pointer-events-none absolute top-1/2 left-3 -translate-y-1/2 px-1 text-xs leading-4`,children:e}),f=n.speech,p=n.music?[n.music]:[],m=n.cues,h=e=>u.find(t=>t.key===e)?.title??e;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`relative border-t`,style:{height:Z.scenes+1},"data-row":`scenes`,children:u.map((e,n)=>{let i=e.key===a,c=e.title??e.key,u=t.find(t=>t.key===e.key),d=u?.spoken??Ft(u?.onScreen??[],c),f=(e.end-e.start)*o<56;return(0,I.jsx)(Lt,{title:(0,I.jsx)(`span`,{className:`font-serif text-dense`,children:c}),time:`${Y(e.start)} – ${Y(e.end)}`,line:d||void 0,children:(0,I.jsxs)(`button`,{type:`button`,"data-chapter":e.key,"data-start":e.start.toFixed(4),"aria-current":i?`true`:void 0,className:r(Vt,`flex items-center gap-1.5 px-2 text-left transition-colors`,i?`bg-track-scene/25 border-track-scene`:`bg-track-scene/10 border-track-scene/45 hover:bg-track-scene/20`),style:{left:Q(e.start,l),width:`calc(${Q(e.end-e.start,l)} - 1px)`},onPointerDown:e=>{e.stopPropagation()},onClick:()=>{s(e.start)},children:[(0,I.jsx)(`span`,{className:r(`font-mono text-micro tabular-nums`,i?`text-foreground/70`:`text-muted-foreground`),children:String(n+1)}),f?null:(0,I.jsx)(`span`,{className:r(`min-w-0 truncate font-serif text-xs`,i?`font-semibold`:`text-foreground/80`),children:c})]})},e.key)})}),i.includes(`voice`)?(0,I.jsxs)(`div`,{className:`relative border-t`,style:{height:Z.voice+1},"data-row":`voice`,children:[f.length>0?f.map(e=>(0,I.jsx)(Ht,{line:e,duration:l,onSeek:s},`${e.part}@${String(e.start)}`)):d(c.noVoice),(0,I.jsx)(Gt,{parts:u,duration:l})]}):null,i.includes(`music`)?(0,I.jsx)(`div`,{className:`relative border-t`,style:{height:Z.music+1},"data-row":`music`,children:p.length?p.map(e=>(0,I.jsx)(qt,{music:e,duration:l,ducked:c.ducked},`${e.file}@${String(e.start)}`)):d(c.noMusic)}):null,i.includes(`sound`)?(0,I.jsxs)(`div`,{className:`relative border-t`,style:{height:Z.sound+1},"data-row":`sound`,children:[(0,I.jsx)(`span`,{className:`bg-rule-strong absolute inset-x-0 top-1/2 h-px`}),m.length?m.map((e,t)=>(0,I.jsx)(Lt,{mono:!0,title:e.sound,time:`${Y(e.t)} · ${h(e.part)}`,line:e.what,children:(0,I.jsx)(`span`,{"data-cue":e.sound,className:`absolute top-1/2 block size-[7px] -translate-y-1/2`,style:{left:Q(e.t,l)},children:(0,I.jsx)(`span`,{className:r(`bg-track-sound block size-full rotate-45`,e.t*o<5?`translate-x-[2px]`:`-translate-x-1/2`)})})},`${e.sound}@${String(e.t)}#${String(t)}`)):d(c.noCues)]}):null]})});function Yt({timeline:e,texts:t,tracks:n,rows:i,state:a,onSeek:o}){let s=X(),{duration:c,fps:l,parts:u}=e,d=Math.max(0,c-1/l),f=(0,F.useRef)(null),p=(0,F.useRef)(null),[m,h]=(0,F.useState)(0),[g,_]=(0,F.useState)(!1),[v,y]=(0,F.useState)();(0,F.useLayoutEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{h(e.clientWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[]);let b=m>0&&m/c<Pt,x=b?Math.ceil(c*Pt):m,S=x/Math.max(c,1e-6),{t:C,playing:w}=a;(0,F.useEffect)(()=>{let e=p.current;if(!e)return;let t=t=>{let n=Math.min(Math.max(t,0),c)*S;e.style.transform=`translateX(${String(n)}px)`;let r=f.current;b&&w&&r&&(n<r.scrollLeft+24||n>r.scrollLeft+r.clientWidth-24)&&(r.scrollLeft=Math.max(0,n-r.clientWidth*.2))};if(t(C),!w)return;let n=performance.now(),r=requestAnimationFrame(function e(i){t(Math.min(C+(i-n)/1e3,d)),r=requestAnimationFrame(e)});return()=>{cancelAnimationFrame(r)}},[C,w,S,c,d,b]);let T=e=>{let t=e.currentTarget.getBoundingClientRect(),n=Math.min(t.width,Math.max(0,e.clientX-t.left))/Math.max(t.width,1)*c;return Math.min(Math.max(Ue(n,l),0),d)},E=e=>{o(Math.min(Math.max(Ue(e,l),0),d))},D=u.find(e=>a.t>=e.start&&a.t<e.end)??u.at(-1),{minor:O,major:k}=It(c),A=[];for(let e=0;e<=c+1e-6;e+=O)A.push(e);let j=(e,t)=>(0,I.jsxs)(`div`,{className:`flex items-center gap-1.5 overflow-hidden border-t pr-2 pl-3 max-[559px]:justify-center max-[559px]:px-0`,style:{height:Z[e]+1},"data-track":e,children:[(0,I.jsx)(`span`,{role:`img`,"aria-label":s.rows[e],className:r(`shrink-0 [&_svg]:size-3.5`,Mt[e]),children:t}),(0,I.jsx)(ze,{"aria-hidden":!0,className:`text-micro whitespace-nowrap max-[559px]:hidden`,children:s.rows[e]})]});return(0,I.jsx)(ht,{delayDuration:250,children:(0,I.jsxs)(`div`,{className:`flex border-t`,style:{height:Nt(i)+1},"data-testid":`timeline`,children:[(0,I.jsxs)(`div`,{className:`w-max min-w-20 shrink-0 border-r max-[559px]:w-10 max-[559px]:min-w-10`,children:[(0,I.jsx)(`div`,{style:{height:Z.ruler}}),j(`scenes`,(0,I.jsx)(de,{})),i.includes(`voice`)?j(`voice`,(0,I.jsx)(pe,{})):null,i.includes(`music`)?j(`music`,(0,I.jsx)(P,{})):null,i.includes(`sound`)?j(`sound`,(0,I.jsx)(fe,{})):null]}),(0,I.jsx)(`div`,{ref:f,className:r(`relative min-w-0 flex-1 overflow-y-hidden border-l border-transparent`,b?`overflow-x-auto`:`overflow-x-hidden`),"data-testid":`tracks`,children:(0,I.jsxs)(`div`,{className:`relative h-full cursor-pointer touch-none`,style:{width:x||`100%`},onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId),_(!0),o(T(e))},onPointerMove:e=>{let t=T(e);y(t),g&&o(t)},onPointerUp:()=>{_(!1)},onPointerCancel:()=>{_(!1)},onPointerLeave:()=>{y(void 0)},children:[(0,I.jsx)(`div`,{role:`slider`,tabIndex:0,"aria-label":s.seek,"aria-valuemin":0,"aria-valuemax":Math.round(c*100)/100,"aria-valuenow":Math.round(a.t*100)/100,"aria-valuetext":s.timeOf(J(a.t),J(c),D?.title??``),"data-testid":`scrubber`,className:`focus-visible:outline-ring relative outline-none focus-visible:outline-1 focus-visible:outline-solid focus-visible:-outline-offset-1`,style:{height:Z.ruler},onKeyDown:e=>{if(e.key===`ArrowLeft`)E(a.t-1);else if(e.key===`ArrowRight`)E(a.t+1);else if(e.key===`Home`)E(0);else if(e.key===`End`)E(d);else return;e.preventDefault()},children:A.map(e=>{let t=Math.abs(e/k-Math.round(e/k))<1e-6;return(0,I.jsxs)(`span`,{className:`absolute bottom-0`,style:{left:Q(e,c)},children:[(0,I.jsx)(`span`,{className:r(`absolute bottom-0 left-0 w-px`,t?`bg-lead-soft h-2`:`bg-rule-strong h-1`)}),t&&(c-e)*S>34?(0,I.jsx)(`span`,{className:`text-muted-foreground absolute bottom-[7px] left-1 font-mono text-micro leading-none tabular-nums`,children:J(e)}):null]},e)})}),(0,I.jsx)(Jt,{timeline:e,texts:t,tracks:n,rows:i,current:a.part??D?.key,second:S,onSeek:o}),v===void 0?null:(0,I.jsxs)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-y-0 left-0 z-10`,style:{transform:`translateX(${String(v*S)}px)`},"data-testid":`hover-guide`,children:[(0,I.jsx)(`span`,{className:`bg-foreground/25 absolute inset-y-0 left-0 w-px`}),(0,I.jsx)(`span`,{className:`bg-popover text-popover-foreground absolute top-0.5 left-1 rounded-xs border px-1 font-mono text-micro leading-[14px] tabular-nums`,children:J(v)})]}),(0,I.jsxs)(`div`,{ref:p,"aria-hidden":!0,className:`pointer-events-none absolute inset-y-0 left-0 z-20 will-change-transform`,"data-testid":`playhead`,children:[(0,I.jsx)(`span`,{className:`bg-foreground absolute inset-y-0 left-0 w-px`}),(0,I.jsx)(`svg`,{viewBox:`0 0 9 9`,className:`text-foreground absolute top-0 -left-1 size-[9px]`,children:(0,I.jsx)(`path`,{d:`M0 0h9v4L4.5 9 0 4z`,fill:`currentColor`})})]})]})})]})})}var Xt=48,Zt=[`voice`,`music`,`sound`],Qt=[`voice`],$t=[],en=160,tn=560,nn=1e3,rn=20,an=1500,on=15e3,sn=e=>({timeline:e.timeline,texts:e.text,tracks:Dt(e.timeline,e.text,e.mix),uncut:jt(e.timeline)});function cn({item:e,version:t,revision:n,width:i,height:a,start:o,overlay:s,onLoaded:u,onError:d,onState:f,ref:p}){let m=X(),h=w(),g=(0,F.useRef)(null),_=(0,F.useRef)(new Map),[v,y]=(0,F.useState)(),[b,x]=(0,F.useState)(),[S,C]=(0,F.useState)(),[E,D]=(0,F.useState)(),[k,A]=(0,F.useState)(!1),[j,ee]=(0,F.useState)(),M=T(j),[N,ne]=(0,F.useState)({t:o?.t??0,part:void 0,playing:!1}),[re,ie]=(0,F.useState)(0),[ae,oe]=(0,F.useState)(),[se=!0,ce]=ct(`video-editor.timeline`,!0),le=(0,F.useRef)(null),[de,fe]=(0,F.useState)(0),pe=(0,F.useRef)(1),P=(0,F.useRef)({shown:v,pending:b,play:N,view:S,onLoaded:u,onError:d,onState:f});(0,F.useEffect)(()=>{P.current={shown:v,pending:b,play:N,view:S,onLoaded:u,onError:d,onState:f}});let me=e=>e===void 0?void 0:g.current?.querySelector(`iframe[data-frame="${String(e.id)}"]`)?.contentWindow,L=e=>{mt(me(P.current.shown),e)};(0,F.useImperativeHandle)(p,()=>({seek:e=>{L({type:`seek`,t:e})},play:()=>{L({type:`play`})},pause:()=>{L({type:`pause`})}}));let R=n=>c(h,`video/stage`,{item:e,version:t,start:n,chrome:!1}).then(e=>(ee(e.probe),e.url)),ge=`${e}\n${t}`,_e=(0,F.useRef)(e);(0,F.useEffect)(()=>{let{shown:t,play:n}=P.current,r=_e.current===e;_e.current=e;let i={t:0},a=t?r?{t:n.t}:i:o??i,s=!0;return R(a).then(e=>{s&&(y({id:pe.current++,src:e}),x(void 0),D(void 0))},e=>{if(!s)return;let t=e instanceof Error?e.message:String(e);D(t),P.current.onError?.(t)}),()=>{s=!1}},[ge]);let z=(0,F.useRef)(n);(0,F.useEffect)(()=>{if(n===z.current)return;z.current=n;let{shown:e,play:t,view:r}=P.current;if(!e)return;let i=r?.timeline.parts.find(e=>t.t>=e.start&&t.t<e.end),a=i?{t:t.t,part:i.key,offset:t.t-i.start,dur:i.end-i.start}:{t:t.t},o=!0;return R(a).then(e=>{o&&x({id:pe.current++,src:e,from:t.t})},e=>{o&&P.current.onError?.(e instanceof Error?e.message:String(e))}),()=>{o=!1}},[n]),(0,F.useEffect)(()=>{if(!b)return;let e=setTimeout(()=>{x(void 0),P.current.onError?.(m.loadFailed)},on);return()=>{clearTimeout(e)}},[b,m.loadFailed]),(0,F.useEffect)(()=>{let e=e=>{let t=pt(e.data);if(!t)return;let{shown:n,pending:r}=P.current,i=[n,r].find(t=>t!==void 0&&me(t)===e.source);if(!i)return;let a=i.id===r?.id;if(t.type===`located`)_.current.get(t.id)?.(t.layers),_.current.delete(t.id);else if(t.type===`sound`)i.denoising=t.denoising,a||A(t.denoising);else if(t.type===`loaded`){let e={kind:t.kind,timeline:t.timeline,text:t.text,reads:t.reads,problems:t.problems,mix:t.mix};if(a){i.loaded=e;return}C(sn(e)),D(void 0),P.current.onLoaded?.(e)}else if(t.type===`error`)a?x(void 0):D(t.message),P.current.onError?.(t.message);else if(t.type===`time`){if(a){if(!i.loaded)return;y(i),x(void 0),ie(e=>e+1),A(i.denoising===!0),C(sn(i.loaded)),D(void 0),P.current.onLoaded?.(i.loaded);let t=P.current.play.t;if(i.from!==void 0&&Math.abs(t-i.from)>1e-6){mt(e.source,{type:`seek`,t});return}}let n={t:t.t,part:t.part,playing:t.playing};oe(i.id),ne(n),P.current.onState?.(n)}};return window.addEventListener(`message`,e),()=>{window.removeEventListener(`message`,e)}},[]);let B=S?.timeline,[ve,V]=B?[B.width,B.height]:[i,a],ye=S?.uncut.find(e=>e.part===N.part);(0,F.useLayoutEffect)(()=>{let e=le.current;if(!e)return;let t=()=>{fe(e.clientHeight)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[]);let H=B!==void 0,be=N.playing;(0,F.useEffect)(()=>{if(!H)return;let e=e=>{if(e.key!==` `||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;t instanceof HTMLElement&&(t.isContentEditable||t.closest(`input,textarea,select,button,a,[role=slider],[role=menuitem],[role=dialog]`))||(e.preventDefault(),mt(me(P.current.shown),{type:be?`pause`:`play`}))};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[H,be]);let U=e=>{L({type:`seek`,t:e})},xe=(e,t)=>(0,I.jsx)(`iframe`,{"data-frame":e.id,src:e.src,title:m.previewTitle,...M?{sandbox:`allow-scripts`}:{},allow:`autoplay`,"data-testid":t?`stage-pending`:`stage`,className:r(`absolute -inset-0.5 size-[calc(100%+4px)] border-0`,t&&`pointer-events-none opacity-0`)},e.id),W=B?`bg-background`:`bg-black`,Se=(0,I.jsxs)(I.Fragment,{children:[v&&M!==void 0?xe(v,!1):null,b&&M!==void 0?xe(b,!0):null,B||E!==void 0?null:(0,I.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,I.jsx)(Be,{label:m.loading,className:`[&>span]:bg-on-media/80`})}),k?(0,I.jsx)(`span`,{className:`bg-background/90 text-muted-foreground absolute top-2 right-2 rounded-sm px-2 py-0.5 font-mono text-micro`,"data-testid":`denoising`,children:m.denoising}):null,B?(0,I.jsx)(`span`,{"aria-hidden":!0,"data-testid":`play-affordance`,"data-shown":!N.playing&&N.t<.05?``:void 0,className:`bg-foreground/92 text-background pointer-events-none absolute top-1/2 left-1/2 flex size-14 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-md opacity-0 transition-opacity data-[shown]:opacity-100`,children:(0,I.jsx)(he,{className:`size-6 translate-x-px fill-current`})}):null,ye?(0,I.jsx)(`span`,{className:`bg-background/90 text-muted-foreground absolute top-2 left-2 max-w-[calc(100%-1rem)] rounded-sm px-2 py-0.5 font-mono text-micro`,"data-testid":`uncut`,children:m.uncut(ye.file)}):null,s]}),Ce=ae!==void 0&&ae===v?.id,we=async()=>{L({type:`pause`});let e=Date.now()+nn;for(;P.current.play.playing&&Date.now()<e;)await new Promise(e=>{setTimeout(e,rn)})},Te=e=>{let t=g.current?.getBoundingClientRect();if(!t||t.width===0||t.height===0)return Promise.resolve([]);let n=crypto.randomUUID();return new Promise(r=>{let i=setTimeout(()=>{_.current.delete(n),r([])},an);_.current.set(n,e=>{clearTimeout(i),r(e)}),L({type:`locate`,id:n,mark:te(e,({x:e,y:n})=>({x:(e-t.x)/t.width,y:(n-t.y)/t.height}))})})},G=O()?.item.entry;l({freeze:async()=>{await we();let{t:n,part:r}=P.current.play;return{key:`${e}@${t}@${n.toFixed(3)}@${String(P.current.shown?.id??0)}`,what:`The video ${e}, version ${t}, at ${n.toFixed(2)} s${r===void 0?``:`, in the part ${r}`}`,...G===void 0?{}:{source:{path:G}}}},pictures:async()=>{let n=g.current?.getBoundingClientRect();if(!n)return[];let r=await c(h,`video/still`,{item:e,version:t,t:P.current.play.t}).catch(()=>void 0);return r?[{rect:{x:n.x,y:n.y,width:n.width,height:n.height},mime:r.image.mime,data:r.image.data}]:[]},locate:async e=>{let t=g.current?.getBoundingClientRect();return t&&ue(e,t)?(await Te(e)).map(e=>({name:`${e.name===void 0?`the ${e.layer} layer`:`layer ${JSON.stringify(e.name)}`} of part ${e.part}`,...G===void 0?{}:{source:{path:G}},...e.text===void 0?{}:{text:e.text}})):[...document.querySelectorAll(`[data-row]`)].filter(t=>ue(e,t.getBoundingClientRect())).map(e=>({name:`the ${e.dataset.row??``} row of the timeline`}))}});let Ee=e=>de-Xt-3-Nt(e)-1,De=[Zt,Qt].find(e=>Ee(e)>=en)??$t,K=B&&se?Nt(De)+1:0,Oe=51+K,q=`min(100cqw - 2px, (100cqh - ${String(Oe)}px) * ${String(ve/V)})`,ke=K?`max(${q}, min(100cqw - 2px, ${String(tn)}px))`:q;return(0,I.jsx)(`div`,{className:`flex h-full min-h-0 flex-col gap-2`,"data-testid":`video-preview`,"data-t":N.t.toFixed(4),"data-ready":Ce?``:void 0,"data-swaps":re,children:(0,I.jsx)(`div`,{ref:le,className:`flex min-h-0 flex-1 flex-col items-center justify-start [container-type:size]`,children:(0,I.jsxs)(`div`,{className:`box-content overflow-hidden border`,style:{width:ke},"data-testid":`player`,children:[(0,I.jsx)(`div`,{ref:g,className:r(`relative mx-auto overflow-hidden`,W),style:{width:q,height:`calc(${q} * ${String(V/ve)})`},children:Se}),B?(0,I.jsx)(ln,{timeline:B,state:N,open:se,onOpen:ce,onToggle:()=>{L({type:N.playing?`pause`:`play`})},onSeek:U}):(0,I.jsx)(`div`,{className:`h-12 border-t`}),B&&se?(0,I.jsx)(Yt,{timeline:B,texts:S.texts,tracks:S.tracks,rows:De,state:N,onSeek:U}):null]})})})}var $=2;function ln({timeline:e,state:t,open:n,onOpen:r,onToggle:i,onSeek:a}){let o=X(),{parts:s}=e,c=Math.max(0,s.findIndex((e,n)=>n===s.length-1||t.t<e.end)),l=s[c];return(0,I.jsxs)(`div`,{className:`relative flex h-12 items-center gap-3 border-t px-3`,"data-testid":`transport`,children:[(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(k,{size:`icon-sm`,className:`rounded-md`,"aria-label":t.playing?o.pause:o.play,"data-testid":`play`,onClick:i,children:t.playing?(0,I.jsx)(me,{className:`fill-current`}):(0,I.jsx)(he,{className:`translate-x-px fill-current`})}),(0,I.jsxs)(`span`,{className:`shrink-0 font-mono text-xs tabular-nums`,"data-testid":`clock`,children:[J(Math.min(t.t,e.duration)),(0,I.jsxs)(`span`,{className:`text-muted-foreground`,children:[` / `,J(e.duration)]})]})]}),n?(0,I.jsx)(`span`,{className:`flex min-w-0 flex-1`,children:l?(0,I.jsxs)(`span`,{className:`text-muted-foreground max-w-[40%] truncate font-mono text-micro`,"data-testid":`scene-now`,children:[String(c+1),` · `,l.title??l.key]}):null}):(0,I.jsx)(un,{timeline:e,state:t,onSeek:a}),(0,I.jsx)(k,{size:`icon-sm`,variant:`ghost`,className:`text-muted-foreground -mr-1`,"aria-label":n?o.hideTimeline:o.showTimeline,title:n?o.hideTimeline:o.showTimeline,"aria-expanded":n,"data-testid":`timeline-toggle`,onClick:()=>{r(!n)},children:n?(0,I.jsx)(ie,{}):(0,I.jsx)(se,{})})]})}function un({timeline:e,state:t,onSeek:n}){let r=X(),{duration:i,fps:a}=e,o=Math.max(0,i-1/a),s=e.parts.length?e.parts.map((e,t)=>({key:e.key,name:e.title??String(t+1),start:e.start,end:e.end})):[{key:``,name:``,start:0,end:i}],c=(s.length-1)*$,[l,u]=(0,F.useState)(),[d,f]=(0,F.useState)(),p=Math.min(l??t.t,i),m=e=>Math.max(0,s.findIndex((t,n)=>n===s.length-1||e<t.end)),h=s[m(p)],g=e=>{let t=e.currentTarget.getBoundingClientRect(),n=Math.min(t.width,Math.max(0,e.clientX-t.left)),r=Math.max(1,t.width-c),l=0,u=i;for(let e of s){let t=r*(e.end-e.start)/Math.max(i,1e-6);if(n<=l+t+$/2){let r=Math.min(1,Math.max(0,(n-l)/Math.max(t,1)));u=e.start+r*(e.end-e.start);break}l+=t+$}return{x:n,t:Math.min(Math.max(Ue(u,a),0),o)}},_=e=>{n(Math.min(Math.max(Ue(e,a),0),o))},v=d?s[m(d.t)]?.name:void 0;return(0,I.jsxs)(`div`,{role:`slider`,tabIndex:0,"aria-label":r.seek,"aria-valuemin":0,"aria-valuemax":Math.round(i*100)/100,"aria-valuenow":Math.round(p*100)/100,"aria-valuetext":r.timeOf(J(p),J(i),h?.name??``),"data-testid":`scrubber`,className:`group/scrub focus-visible:outline-ring relative h-6 min-w-0 flex-1 cursor-pointer touch-none rounded-sm outline-none focus-visible:outline-1 focus-visible:outline-solid focus-visible:-outline-offset-1`,onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId);let t=g(e);u(t.t),f(t),n(t.t)},onPointerMove:e=>{let t=g(e);f(t),l!==void 0&&t.t!==l&&(u(t.t),n(t.t))},onPointerUp:()=>{u(void 0)},onPointerCancel:()=>{u(void 0)},onPointerLeave:()=>{f(void 0)},onKeyDown:e=>{if(e.key===`ArrowLeft`)_(t.t-1);else if(e.key===`ArrowRight`)_(t.t+1);else if(e.key===`Home`)_(0);else if(e.key===`End`)_(o);else return;e.preventDefault()},children:[(0,I.jsx)(`div`,{className:`absolute inset-x-0 top-1/2 flex h-1 -translate-y-1/2 transition-[height] duration-100 group-hover/scrub:h-1.5`,style:{gap:$},children:s.map(e=>{let t=Math.max(e.end-e.start,1e-6),n=Math.min(1,Math.max(0,(p-e.start)/t));return(0,I.jsx)(`span`,{"data-chapter":e.key,className:`bg-rule-strong relative min-w-0 overflow-hidden`,style:{flexGrow:t,flexBasis:0},children:(0,I.jsx)(`span`,{className:`bg-foreground absolute inset-y-0 left-0`,style:{width:`${String(n*100)}%`}})},e.key)})}),(0,I.jsx)(`span`,{"aria-hidden":!0,className:`bg-foreground ring-background pointer-events-none absolute top-1/2 h-3 w-[3px] -translate-x-1/2 -translate-y-1/2 ring-1`,style:{left:`calc((100% - ${String(c)}px) * ${String(p/Math.max(i,1e-6))} + ${String(m(p)*$)}px)`}}),d?(0,I.jsxs)(`span`,{role:`tooltip`,"data-testid":`scrub-tip`,className:`bg-popover text-popover-foreground shadow-overlay pointer-events-none absolute bottom-full z-10 mb-1.5 flex max-w-[16rem] -translate-x-1/2 items-baseline gap-2 rounded-sm px-2 py-1 whitespace-nowrap`,style:{left:d.x},children:[v?(0,I.jsx)(`span`,{className:`truncate font-serif text-dense`,children:v}):null,(0,I.jsx)(`span`,{className:`text-muted-foreground font-mono text-micro tabular-nums`,children:J(d.t)})]}):null]})}var dn={error:0,warn:1};function fn(e){let t=new Set;return[...e].sort((e,t)=>dn[e.level]-dn[t.level]).filter(e=>{let n=`${e.code}\u0000${e.message}\u0000${e.where?.file??``}`;return!t.has(n)&&(t.add(n),!0)})}function pn({error:e,problems:t,compact:n}){let o=X(),[s,c]=(0,F.useState)(!1),l=fn(t);return e===void 0?l.length?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`button`,{type:`button`,className:`bg-background/90 text-foreground absolute bottom-2 left-2 z-20 flex items-center gap-1.5 rounded-sm px-2 py-1 font-mono text-micro`,onClick:()=>{c(!s)},"aria-expanded":s,"data-testid":`problems-chip`,children:[(0,I.jsx)(i,{className:r(`size-3.5`,l.some(e=>e.level===`error`)?`text-problem-text`:`text-caution-text`)}),o.problemsHere(l.length)]}),s?(0,I.jsxs)(`div`,{className:`bg-card absolute bottom-10 left-2 z-30 flex max-h-[60%] w-[min(420px,calc(100%-1rem))] flex-col rounded-md border shadow-[var(--allyhub-shadow-overlay)]`,"data-testid":`problems`,children:[(0,I.jsx)(`div`,{className:`flex items-center justify-end border-b px-1 py-1`,children:(0,I.jsx)(k,{size:`icon-xs`,variant:`ghost`,"aria-label":o.close,onClick:()=>{c(!1)},children:(0,I.jsx)(a,{})})}),(0,I.jsx)(`ul`,{className:`divide-y overflow-y-auto`,children:l.map((e,t)=>(0,I.jsxs)(`li`,{"data-code":e.code,className:`px-3 py-2 text-sm leading-relaxed`,children:[(0,I.jsxs)(`span`,{className:`text-muted-foreground mr-2 font-mono text-micro`,children:[e.level===`error`?o.levelError:o.levelWarn,` ·`,` `,e.code]}),e.message]},`${e.code}-${String(t)}`))})]}):null]}):null:(0,I.jsx)(`div`,{className:r(`z-20 overflow-auto text-left`,n?`bg-background/94 absolute inset-x-0 bottom-0 max-h-[45%] border-t px-4 py-3`:`bg-background/96 absolute inset-0 grid content-center justify-items-center p-5 text-center`),"data-testid":`stage-overlay`,"data-compact":n?`true`:void 0,role:`alert`,children:(0,I.jsxs)(`p`,{className:`flex items-center gap-1.5 text-sm`,children:[(0,I.jsx)(i,{className:`text-problem-text size-4`,"aria-hidden":!0}),n?o.previewFailedKept:o.previewFailed]})})}var mn=1200;function hn({item:e,piece:t,version:n,revision:r,problems:i}){let[a,o]=(0,F.useState)(),[s,c]=(0,F.useState)(),[l,u]=(0,F.useState)();(0,F.useEffect)(()=>{if(s===void 0)return;let e=setTimeout(()=>{u(s)},mn);return()=>{clearTimeout(e)}},[s]);let d=s!==void 0&&l===s?s:void 0,[f,p]=(0,F.useState)(n.key);f!==n.key&&(p(n.key),o(void 0),c(void 0));let m=[...i,...a?.problems??[]];return(0,I.jsx)(`div`,{className:`bg-paper size-full p-4 min-[560px]:p-6`,children:(0,I.jsx)(cn,{item:e,version:n.key,revision:r,width:t.width,height:t.height,overlay:(0,I.jsx)(pn,{error:d,problems:m,compact:a!==void 0}),onLoaded:e=>{o(e),c(void 0)},onError:c})})}function gn(e,t,n){let r=t.versions.filter(e=>n?.includes(e.key)!==!1).flatMap(n=>dt(e,t.piece,n)).filter(e=>e.level===`error`).map(e=>`${e.code}: ${e.message}`);return new Set(r).size}function _n(){let e=X(),t=O(),r=t?.item.dir,i=n[o(t?.locale)],a=ot(),{data:s,error:c}=at(`video/versions`,r===void 0?void 0:{item:r},[a]),[l,u]=ct(`video-editor.version:${r??``}`,``),d=st(),f=s?ut(s,l):void 0,{data:p}=at(`video/timeline`,r===void 0||!f?void 0:{item:r,version:f.key},[a]);if(r===void 0||!s&&!c)return(0,I.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,I.jsx)(Be,{label:e.loading})});if(!s||!f)return(0,I.jsx)(Ve,{title:e.noVideo,className:`h-full justify-center`,children:c?.message});let m=d?dt(d.problems,s.piece,f):[],h=e=>e.lang===void 0?e.key:ft(e.lang,i),g=s.kind===`video`?p?.timeline:void 0,_=s.kind===`video`&&p!==void 0&&!p.text.some(e=>e.spoken!==void 0);return(0,I.jsxs)(`div`,{className:`flex size-full min-h-0 flex-col`,"data-testid":`video-editor`,children:[(0,I.jsx)(le,{start:s.versions.length>1?(0,I.jsxs)(ce,{value:f.key,onValueChange:e=>{u(e)},children:[(0,I.jsx)(oe,{"aria-label":e.version,className:`max-w-[16rem]`,"data-testid":`version`,children:(0,I.jsx)(ne,{})}),(0,I.jsx)(N,{position:`popper`,align:`start`,children:s.versions.map(e=>(0,I.jsx)(ae,{value:e.key,className:`text-xs`,title:e.key,children:h(e)},e.key))})]}):void 0,exports:{versions:s.versions.map(e=>({key:e.key,label:h(e)})),shown:f.key,facts:[`${String(s.width)} × ${String(s.height)}`,...g?[`${String(g.fps)} fps`,J(g.duration)]:[]].join(` · `),unavailable:_?{srt:e.noVoice}:{},check:{waiting:d?.status===`waiting`||d?.status===`running`,problems:e=>d?.status===`done`?gn(d.problems,s,e):0}}}),(0,I.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,I.jsx)(hn,{item:r,piece:s,version:f,revision:a,problems:m})})]})}var vn=e({VideoEditor:()=>_n});export{ut as a,ct as c,Be as d,he as f,ft as i,at as l,gn as n,st as o,pt as r,ot as s,vn as t,Ve as u};