ranuts 0.4.1-alpha.2 → 0.5.1

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 (333) hide show
  1. package/CLAUDE.md +23 -16
  2. package/README.de.md +62 -0
  3. package/README.es.md +62 -0
  4. package/README.fa.md +62 -0
  5. package/README.ja.md +62 -0
  6. package/README.ko.md +62 -0
  7. package/README.md +35 -92
  8. package/README.pt.md +62 -0
  9. package/README.zh-CN.md +35 -91
  10. package/dist/iife/index.iife.js +4 -0
  11. package/dist/iife/utils.iife.js +4 -0
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +307 -1
  14. package/dist/src/_virtual/_rolldown/runtime/index.js +12 -0
  15. package/dist/src/conversation/engine.d.ts +1 -1
  16. package/dist/src/conversation/engine.js +101 -0
  17. package/dist/src/conversation/index.d.ts +3 -3
  18. package/dist/src/conversation/index.js +4 -1
  19. package/dist/src/stream/accumulator.d.ts +1 -1
  20. package/dist/src/stream/accumulator.js +79 -0
  21. package/dist/src/stream/budget.d.ts +1 -1
  22. package/dist/src/stream/budget.js +45 -0
  23. package/dist/src/stream/index.d.ts +7 -7
  24. package/dist/src/stream/index.js +11 -1
  25. package/dist/src/stream/sse.d.ts +1 -1
  26. package/dist/src/stream/sse.js +61 -0
  27. package/dist/src/sw/index.js +52 -1
  28. package/dist/src/utils/async.js +49 -0
  29. package/dist/src/utils/audioRecorder.js +1121 -0
  30. package/dist/src/utils/behavior.js +9 -0
  31. package/dist/src/utils/binary.js +89 -0
  32. package/dist/src/utils/bom.d.ts +31 -9
  33. package/dist/src/utils/bom.js +165 -0
  34. package/dist/src/utils/bridge.js +310 -0
  35. package/dist/src/utils/canvas.js +103 -0
  36. package/dist/src/utils/chain.js +76 -0
  37. package/dist/src/utils/charset.d.ts +15 -0
  38. package/dist/src/utils/charset.js +21 -0
  39. package/dist/src/utils/color.d.ts +0 -1
  40. package/dist/src/utils/color.js +312 -0
  41. package/dist/src/utils/compose.js +22 -0
  42. package/dist/src/utils/console.js +22 -0
  43. package/dist/src/utils/debounce.js +18 -0
  44. package/dist/src/utils/device.d.ts +0 -9
  45. package/dist/src/utils/device.js +31 -0
  46. package/dist/src/utils/diff.js +110 -0
  47. package/dist/src/utils/dom.d.ts +1 -1
  48. package/dist/src/utils/dom.js +89 -0
  49. package/dist/src/utils/error.js +11 -0
  50. package/dist/src/utils/event.d.ts +3 -3
  51. package/dist/src/utils/event.js +39 -0
  52. package/dist/src/utils/file.js +14 -0
  53. package/dist/src/utils/func.js +4 -0
  54. package/dist/src/utils/i18n/index.js +79 -1
  55. package/dist/src/utils/idb.js +177 -0
  56. package/dist/src/utils/img.d.ts +1 -1
  57. package/dist/src/utils/img.js +68 -0
  58. package/dist/src/utils/index.d.ts +82 -80
  59. package/dist/src/utils/index.js +307 -1
  60. package/dist/src/utils/lang.d.ts +23 -6
  61. package/dist/src/utils/lang.js +42 -0
  62. package/dist/src/utils/localePath.js +48 -0
  63. package/dist/src/utils/memoize.d.ts +1 -7
  64. package/dist/src/utils/memoize.js +16 -0
  65. package/dist/src/utils/mimeType.js +841 -0
  66. package/dist/src/utils/monitor.js +84 -0
  67. package/dist/src/utils/network.js +117 -0
  68. package/dist/src/utils/noop.js +5 -0
  69. package/dist/src/utils/number.js +185 -0
  70. package/dist/src/utils/obj.d.ts +2 -2
  71. package/dist/src/utils/obj.js +140 -0
  72. package/dist/src/utils/paginate.js +93 -0
  73. package/dist/src/utils/performance.js +26 -0
  74. package/dist/src/utils/placement.js +37 -0
  75. package/dist/src/utils/prefetch.js +69 -0
  76. package/dist/src/utils/queue.js +46 -0
  77. package/dist/src/utils/report.js +44 -0
  78. package/dist/src/utils/request.js +35 -0
  79. package/dist/src/utils/script.d.ts +4 -2
  80. package/dist/src/utils/script.js +45 -0
  81. package/dist/src/utils/scroll.d.ts +2 -0
  82. package/dist/src/utils/scroll.js +62 -0
  83. package/dist/src/utils/secure.js +36 -0
  84. package/dist/src/utils/segment.js +43 -0
  85. package/dist/src/utils/signal.d.ts +1 -1
  86. package/dist/src/utils/signal.js +13 -0
  87. package/dist/src/utils/speech.js +59 -0
  88. package/dist/src/utils/storage.js +53 -0
  89. package/dist/src/utils/str.d.ts +0 -21
  90. package/dist/src/utils/str.js +377 -0
  91. package/dist/src/utils/style.js +29 -0
  92. package/dist/src/utils/subscribe.js +58 -0
  93. package/dist/src/utils/throttle.js +17 -0
  94. package/dist/src/utils/time.d.ts +0 -21
  95. package/dist/src/utils/time.js +97 -0
  96. package/dist/src/utils/totp/sha/common.d.ts +1 -1
  97. package/dist/src/utils/totp/sha/common.js +201 -0
  98. package/dist/src/utils/totp/sha/converters.d.ts +1 -1
  99. package/dist/src/utils/totp/sha/converters.js +188 -0
  100. package/dist/src/utils/totp/sha/primitives_32.js +55 -0
  101. package/dist/src/utils/totp/sha/primitives_64.js +85 -0
  102. package/dist/src/utils/totp/sha/sha.d.ts +1 -1
  103. package/dist/src/utils/totp/sha/sha.js +30 -0
  104. package/dist/src/utils/totp/sha/sha1.d.ts +2 -2
  105. package/dist/src/utils/totp/sha/sha1.js +51 -0
  106. package/dist/src/utils/totp/sha/sha256.d.ts +2 -2
  107. package/dist/src/utils/totp/sha/sha256.js +56 -0
  108. package/dist/src/utils/totp/sha/sha3.d.ts +3 -3
  109. package/dist/src/utils/totp/sha/sha3.js +253 -0
  110. package/dist/src/utils/totp/sha/sha512.d.ts +3 -3
  111. package/dist/src/utils/totp/sha/sha512.js +177 -0
  112. package/dist/src/utils/totp/totp.js +49 -0
  113. package/dist/src/utils/tween.js +59 -0
  114. package/dist/src/utils/visual/application.d.ts +4 -4
  115. package/dist/src/utils/visual/application.js +42 -0
  116. package/dist/src/utils/visual/enums.js +19 -0
  117. package/dist/src/utils/visual/event/boundary.d.ts +2 -2
  118. package/dist/src/utils/visual/event/boundary.js +93 -0
  119. package/dist/src/utils/visual/event/event.d.ts +1 -1
  120. package/dist/src/utils/visual/event/event.js +34 -0
  121. package/dist/src/utils/visual/event/index.d.ts +4 -4
  122. package/dist/src/utils/visual/event/types.d.ts +2 -2
  123. package/dist/src/utils/visual/event/types.js +23 -0
  124. package/dist/src/utils/visual/graphics/graphics.d.ts +8 -8
  125. package/dist/src/utils/visual/graphics/graphics.js +168 -0
  126. package/dist/src/utils/visual/graphics/graphicsData.d.ts +3 -3
  127. package/dist/src/utils/visual/graphics/graphicsData.js +12 -0
  128. package/dist/src/utils/visual/graphics/graphicsGeometry.d.ts +7 -7
  129. package/dist/src/utils/visual/graphics/graphicsGeometry.js +39 -0
  130. package/dist/src/utils/visual/graphics/index.d.ts +3 -3
  131. package/dist/src/utils/visual/index.d.ts +8 -8
  132. package/dist/src/utils/visual/index.js +20 -1
  133. package/dist/src/utils/visual/math/bezier.js +15 -0
  134. package/dist/src/utils/visual/math/enums.js +6 -0
  135. package/dist/src/utils/visual/math/index.d.ts +4 -4
  136. package/dist/src/utils/visual/math/matrix.d.ts +1 -1
  137. package/dist/src/utils/visual/math/matrix.js +59 -0
  138. package/dist/src/utils/visual/math/transform.d.ts +2 -2
  139. package/dist/src/utils/visual/math/transform.js +50 -0
  140. package/dist/src/utils/visual/render/batchRenderer.d.ts +4 -4
  141. package/dist/src/utils/visual/render/batchRenderer.js +59 -0
  142. package/dist/src/utils/visual/render/canvasRenderer.d.ts +3 -3
  143. package/dist/src/utils/visual/render/canvasRenderer.js +17 -0
  144. package/dist/src/utils/visual/render/filter.d.ts +1 -1
  145. package/dist/src/utils/visual/render/filter.js +92 -0
  146. package/dist/src/utils/visual/render/index.d.ts +2 -2
  147. package/dist/src/utils/visual/render/index.js +20 -0
  148. package/dist/src/utils/visual/render/render.d.ts +4 -4
  149. package/dist/src/utils/visual/render/render.js +19 -0
  150. package/dist/src/utils/visual/render/renderTarget.js +28 -0
  151. package/dist/src/utils/visual/render/utils/batch/index.d.ts +4 -4
  152. package/dist/src/utils/visual/render/utils/batch/index.js +88 -0
  153. package/dist/src/utils/visual/render/utils/earcut.js +328 -0
  154. package/dist/src/utils/visual/render/utils/float.js +65 -0
  155. package/dist/src/utils/visual/render/utils/index.js +50 -0
  156. package/dist/src/utils/visual/render/utils/verticy.d.ts +2 -2
  157. package/dist/src/utils/visual/render/utils/verticy.js +162 -0
  158. package/dist/src/utils/visual/render/utils/webgl/initShader.d.ts +1 -1
  159. package/dist/src/utils/visual/render/utils/webgl/initShader.js +31 -0
  160. package/dist/src/utils/visual/render/utils/webgl/shaders.js +22 -0
  161. package/dist/src/utils/visual/render/utils/webgpu/shaders.js +32 -0
  162. package/dist/src/utils/visual/render/webGPURenderer.d.ts +2 -2
  163. package/dist/src/utils/visual/render/webGPURenderer.js +185 -0
  164. package/dist/src/utils/visual/render/webGlRenderer.d.ts +2 -2
  165. package/dist/src/utils/visual/render/webGlRenderer.js +88 -0
  166. package/dist/src/utils/visual/shape/circle.d.ts +3 -3
  167. package/dist/src/utils/visual/shape/circle.js +17 -0
  168. package/dist/src/utils/visual/shape/ellipse.d.ts +3 -3
  169. package/dist/src/utils/visual/shape/ellipse.js +18 -0
  170. package/dist/src/utils/visual/shape/index.d.ts +6 -6
  171. package/dist/src/utils/visual/shape/polygon.d.ts +3 -3
  172. package/dist/src/utils/visual/shape/polygon.js +29 -0
  173. package/dist/src/utils/visual/shape/rectangle.d.ts +3 -3
  174. package/dist/src/utils/visual/shape/rectangle.js +18 -0
  175. package/dist/src/utils/visual/shape/roundedRectangle.d.ts +3 -3
  176. package/dist/src/utils/visual/shape/roundedRectangle.js +32 -0
  177. package/dist/src/utils/visual/shape/shape.d.ts +2 -2
  178. package/dist/src/utils/visual/shape/shape.js +5 -0
  179. package/dist/src/utils/visual/style/fill.js +18 -0
  180. package/dist/src/utils/visual/style/index.d.ts +2 -2
  181. package/dist/src/utils/visual/style/line.d.ts +2 -2
  182. package/dist/src/utils/visual/style/line.js +18 -0
  183. package/dist/src/utils/visual/types.d.ts +1 -1
  184. package/dist/src/utils/visual/vertex/container.d.ts +5 -5
  185. package/dist/src/utils/visual/vertex/container.js +54 -0
  186. package/dist/src/utils/visual/vertex/point.js +37 -0
  187. package/dist/src/utils/visual/vertex/vertex.d.ts +7 -7
  188. package/dist/src/utils/visual/vertex/vertex.js +76 -0
  189. package/dist/src/utils/worker.js +89 -0
  190. package/dist/src/utils/zip.js +161 -0
  191. package/dist/src/vnode/h.d.ts +1 -1
  192. package/dist/src/vnode/h.js +22 -0
  193. package/dist/src/vnode/hooks.d.ts +1 -1
  194. package/dist/src/vnode/htmlDomApi.js +94 -0
  195. package/dist/src/vnode/index.d.ts +16 -16
  196. package/dist/src/vnode/index.js +28 -1
  197. package/dist/src/vnode/init.d.ts +1 -1
  198. package/dist/src/vnode/init.js +104 -0
  199. package/dist/src/vnode/is.d.ts +1 -1
  200. package/dist/src/vnode/is.js +20 -0
  201. package/dist/src/vnode/modules/attributes.d.ts +1 -1
  202. package/dist/src/vnode/modules/attributes.js +21 -0
  203. package/dist/src/vnode/modules/class.d.ts +1 -1
  204. package/dist/src/vnode/modules/class.js +18 -0
  205. package/dist/src/vnode/modules/index.js +15 -0
  206. package/dist/src/vnode/modules/listeners.d.ts +1 -1
  207. package/dist/src/vnode/modules/listeners.js +36 -0
  208. package/dist/src/vnode/modules/props.d.ts +1 -1
  209. package/dist/src/vnode/modules/props.js +17 -0
  210. package/dist/src/vnode/modules/style.d.ts +1 -1
  211. package/dist/src/vnode/modules/style.js +52 -0
  212. package/dist/src/vnode/vnode.d.ts +6 -6
  213. package/dist/src/vnode/vnode.js +13 -0
  214. package/dist/third-party/jschardet/LICENSE.txt +504 -0
  215. package/dist/third-party/jschardet/NOTICE.txt +33 -0
  216. package/docs/API.md +8 -64
  217. package/package.json +14 -18
  218. package/dist/bin/generate-api-docs.d.ts +0 -1
  219. package/dist/build/build.es.d.ts +0 -2
  220. package/dist/build/build.umd.d.ts +0 -2
  221. package/dist/build/build.umd.node.d.ts +0 -2
  222. package/dist/build/build.umd.utils.d.ts +0 -2
  223. package/dist/chain-CTywmh_H.js +0 -1
  224. package/dist/color-BTvZUuf-.js +0 -1
  225. package/dist/enums-BAgbyGdH.js +0 -1
  226. package/dist/examples/clone-deep-example.d.ts +0 -1
  227. package/dist/examples/is-equal-example.d.ts +0 -1
  228. package/dist/i18n-DW21b_DJ.js +0 -1
  229. package/dist/plugins/vite-plugins-banner.d.ts +0 -2
  230. package/dist/rolldown-runtime-I3TIJKkN.js +0 -1
  231. package/dist/src/node/appendFile.d.ts +0 -7
  232. package/dist/src/node/body.d.ts +0 -9
  233. package/dist/src/node/color.d.ts +0 -7
  234. package/dist/src/node/command.d.ts +0 -8
  235. package/dist/src/node/ctx2req.d.ts +0 -5
  236. package/dist/src/node/fileInfo.d.ts +0 -7
  237. package/dist/src/node/fs.d.ts +0 -7
  238. package/dist/src/node/get.d.ts +0 -10
  239. package/dist/src/node/getIPAdress.d.ts +0 -1
  240. package/dist/src/node/index.d.ts +0 -25
  241. package/dist/src/node/index.js +0 -1
  242. package/dist/src/node/isColorSupported.d.ts +0 -2
  243. package/dist/src/node/paresUrl.d.ts +0 -19
  244. package/dist/src/node/readDir.d.ts +0 -6
  245. package/dist/src/node/readFile.d.ts +0 -9
  246. package/dist/src/node/router.d.ts +0 -42
  247. package/dist/src/node/send.d.ts +0 -7
  248. package/dist/src/node/server.d.ts +0 -18
  249. package/dist/src/node/startTask.d.ts +0 -2
  250. package/dist/src/node/stream.d.ts +0 -15
  251. package/dist/src/node/taskEnd.d.ts +0 -2
  252. package/dist/src/node/traverse.d.ts +0 -17
  253. package/dist/src/node/watchFile.d.ts +0 -8
  254. package/dist/src/node/writeFile.d.ts +0 -8
  255. package/dist/src/node/ws.d.ts +0 -8
  256. package/dist/src/utils/visual/render/utils/batch/index.test.d.ts +0 -1
  257. package/dist/src/utils/visual/render/utils/index.test.d.ts +0 -1
  258. package/dist/test/binary.test.d.ts +0 -1
  259. package/dist/test/bridge.test.d.ts +0 -1
  260. package/dist/test/budget.test.d.ts +0 -1
  261. package/dist/test/canvas.test.d.ts +0 -1
  262. package/dist/test/clearBr.test.d.ts +0 -1
  263. package/dist/test/cloneDeep.test.d.ts +0 -1
  264. package/dist/test/color.test.d.ts +0 -1
  265. package/dist/test/command.test.d.ts +0 -1
  266. package/dist/test/conversation.test.d.ts +0 -1
  267. package/dist/test/diff.test.d.ts +0 -1
  268. package/dist/test/encodeUrl.test.d.ts +0 -1
  269. package/dist/test/escapeHtml.test.d.ts +0 -1
  270. package/dist/test/formatBytes.test.d.ts +0 -1
  271. package/dist/test/is-equal.test.d.ts +0 -1
  272. package/dist/test/mimeType.test.d.ts +0 -1
  273. package/dist/test/package-exports.test.d.ts +0 -1
  274. package/dist/test/scroll.test.d.ts +0 -1
  275. package/dist/test/server.test.d.ts +0 -1
  276. package/dist/test/status.test.d.ts +0 -1
  277. package/dist/test/stream.test.d.ts +0 -1
  278. package/dist/test/sw.test.d.ts +0 -1
  279. package/dist/test/totp.test.d.ts +0 -1
  280. package/dist/test/tween.test.d.ts +0 -1
  281. package/dist/test/utils/async.test.d.ts +0 -1
  282. package/dist/test/utils/autosize.test.d.ts +0 -1
  283. package/dist/test/utils/color-grade.test.d.ts +0 -1
  284. package/dist/test/utils/compose.test.d.ts +0 -1
  285. package/dist/test/utils/event.test.d.ts +0 -1
  286. package/dist/test/utils/file-read.test.d.ts +0 -1
  287. package/dist/test/utils/format.test.d.ts +0 -1
  288. package/dist/test/utils/i18n.test.d.ts +0 -1
  289. package/dist/test/utils/idb-collection.test.d.ts +0 -1
  290. package/dist/test/utils/idb.test.d.ts +0 -1
  291. package/dist/test/utils/instrumentation.test.d.ts +0 -1
  292. package/dist/test/utils/interp.test.d.ts +0 -1
  293. package/dist/test/utils/lang.test.d.ts +0 -1
  294. package/dist/test/utils/locale-path.test.d.ts +0 -1
  295. package/dist/test/utils/media-query.test.d.ts +0 -1
  296. package/dist/test/utils/mergeObj.test.d.ts +0 -1
  297. package/dist/test/utils/number-parse.test.d.ts +0 -1
  298. package/dist/test/utils/paginate.test.d.ts +0 -1
  299. package/dist/test/utils/placement.test.d.ts +0 -1
  300. package/dist/test/utils/prefetch.test.d.ts +0 -1
  301. package/dist/test/utils/query-storage.test.d.ts +0 -1
  302. package/dist/test/utils/queue.test.d.ts +0 -1
  303. package/dist/test/utils/report-config.test.d.ts +0 -1
  304. package/dist/test/utils/report-image.test.d.ts +0 -1
  305. package/dist/test/utils/secure.test.d.ts +0 -1
  306. package/dist/test/utils/segment.test.d.ts +0 -1
  307. package/dist/test/utils/signal-once.test.d.ts +0 -1
  308. package/dist/test/utils/single-flight.test.d.ts +0 -1
  309. package/dist/test/utils/speech.test.d.ts +0 -1
  310. package/dist/test/utils/text-boundary.test.d.ts +0 -1
  311. package/dist/test/utils/time.test.d.ts +0 -1
  312. package/dist/test/utils/timing.test.d.ts +0 -1
  313. package/dist/test/utils/truncate.test.d.ts +0 -1
  314. package/dist/test/utils/visual/filter.test.d.ts +0 -1
  315. package/dist/test/utils/worker-client.test.d.ts +0 -1
  316. package/dist/test/utils/worker-serve.test.d.ts +0 -1
  317. package/dist/test/utils/zip.test.d.ts +0 -1
  318. package/dist/test/visual/math.test.d.ts +0 -1
  319. package/dist/test/visual-application.test.d.ts +0 -1
  320. package/dist/test/visual-batch.test.d.ts +0 -1
  321. package/dist/test/visual-math.test.d.ts +0 -1
  322. package/dist/test/vnode/index.d.ts +0 -1
  323. package/dist/test/vnode/server.d.ts +0 -2
  324. package/dist/test/vnode/vnode.d.ts +0 -1
  325. package/dist/test/vnode.test.d.ts +0 -1
  326. package/dist/test/websocket.test.d.ts +0 -1
  327. package/dist/test/writeFile.test.d.ts +0 -1
  328. package/dist/umd/index.umd.cjs +0 -1
  329. package/dist/umd/node/node.umd.cjs +0 -1
  330. package/dist/umd/utils/utils.umd.cjs +0 -1
  331. package/dist/utils-B4FnyUzW.js +0 -1
  332. package/dist/vite.config.d.ts +0 -8
  333. package/dist/vitest.config.d.ts +0 -2
@@ -0,0 +1,1121 @@
1
+ var l = {
2
+ 172351395: {
3
+ name: "EBML",
4
+ type: "Container"
5
+ },
6
+ 646: {
7
+ name: "EBMLVersion",
8
+ type: "Uint"
9
+ },
10
+ 759: {
11
+ name: "EBMLReadVersion",
12
+ type: "Uint"
13
+ },
14
+ 754: {
15
+ name: "EBMLMaxIDLength",
16
+ type: "Uint"
17
+ },
18
+ 755: {
19
+ name: "EBMLMaxSizeLength",
20
+ type: "Uint"
21
+ },
22
+ 642: {
23
+ name: "DocType",
24
+ type: "String"
25
+ },
26
+ 647: {
27
+ name: "DocTypeVersion",
28
+ type: "Uint"
29
+ },
30
+ 645: {
31
+ name: "DocTypeReadVersion",
32
+ type: "Uint"
33
+ },
34
+ 108: {
35
+ name: "Void",
36
+ type: "Binary"
37
+ },
38
+ 63: {
39
+ name: "CRC-32",
40
+ type: "Binary"
41
+ },
42
+ 190023271: {
43
+ name: "SignatureSlot",
44
+ type: "Container"
45
+ },
46
+ 16010: {
47
+ name: "SignatureAlgo",
48
+ type: "Uint"
49
+ },
50
+ 16026: {
51
+ name: "SignatureHash",
52
+ type: "Uint"
53
+ },
54
+ 16037: {
55
+ name: "SignaturePublicKey",
56
+ type: "Binary"
57
+ },
58
+ 16053: {
59
+ name: "Signature",
60
+ type: "Binary"
61
+ },
62
+ 15963: {
63
+ name: "SignatureElements",
64
+ type: "Container"
65
+ },
66
+ 15995: {
67
+ name: "SignatureElementList",
68
+ type: "Container"
69
+ },
70
+ 9522: {
71
+ name: "SignedElement",
72
+ type: "Binary"
73
+ },
74
+ 139690087: {
75
+ name: "Segment",
76
+ type: "Container"
77
+ },
78
+ 21863284: {
79
+ name: "SeekHead",
80
+ type: "Container"
81
+ },
82
+ 3515: {
83
+ name: "Seek",
84
+ type: "Container"
85
+ },
86
+ 5035: {
87
+ name: "SeekID",
88
+ type: "Binary"
89
+ },
90
+ 5036: {
91
+ name: "SeekPosition",
92
+ type: "Uint"
93
+ },
94
+ 88713574: {
95
+ name: "Info",
96
+ type: "Container"
97
+ },
98
+ 13220: {
99
+ name: "SegmentUID",
100
+ type: "Binary"
101
+ },
102
+ 13188: {
103
+ name: "SegmentFilename",
104
+ type: "String"
105
+ },
106
+ 1882403: {
107
+ name: "PrevUID",
108
+ type: "Binary"
109
+ },
110
+ 1868715: {
111
+ name: "PrevFilename",
112
+ type: "String"
113
+ },
114
+ 2013475: {
115
+ name: "NextUID",
116
+ type: "Binary"
117
+ },
118
+ 1999803: {
119
+ name: "NextFilename",
120
+ type: "String"
121
+ },
122
+ 1092: {
123
+ name: "SegmentFamily",
124
+ type: "Binary"
125
+ },
126
+ 10532: {
127
+ name: "ChapterTranslate",
128
+ type: "Container"
129
+ },
130
+ 10748: {
131
+ name: "ChapterTranslateEditionUID",
132
+ type: "Uint"
133
+ },
134
+ 10687: {
135
+ name: "ChapterTranslateCodec",
136
+ type: "Uint"
137
+ },
138
+ 10661: {
139
+ name: "ChapterTranslateID",
140
+ type: "Binary"
141
+ },
142
+ 710577: {
143
+ name: "TimecodeScale",
144
+ type: "Uint"
145
+ },
146
+ 1161: {
147
+ name: "Duration",
148
+ type: "Float"
149
+ },
150
+ 1121: {
151
+ name: "DateUTC",
152
+ type: "Date"
153
+ },
154
+ 15273: {
155
+ name: "Title",
156
+ type: "String"
157
+ },
158
+ 3456: {
159
+ name: "MuxingApp",
160
+ type: "String"
161
+ },
162
+ 5953: {
163
+ name: "WritingApp",
164
+ type: "String"
165
+ },
166
+ 103: {
167
+ name: "Timecode",
168
+ type: "Uint"
169
+ },
170
+ 6228: {
171
+ name: "SilentTracks",
172
+ type: "Container"
173
+ },
174
+ 6359: {
175
+ name: "SilentTrackNumber",
176
+ type: "Uint"
177
+ },
178
+ 39: {
179
+ name: "Position",
180
+ type: "Uint"
181
+ },
182
+ 43: {
183
+ name: "PrevSize",
184
+ type: "Uint"
185
+ },
186
+ 35: {
187
+ name: "SimpleBlock",
188
+ type: "Binary"
189
+ },
190
+ 32: {
191
+ name: "BlockGroup",
192
+ type: "Container"
193
+ },
194
+ 33: {
195
+ name: "Block",
196
+ type: "Binary"
197
+ },
198
+ 34: {
199
+ name: "BlockVirtual",
200
+ type: "Binary"
201
+ },
202
+ 13729: {
203
+ name: "BlockAdditions",
204
+ type: "Container"
205
+ },
206
+ 38: {
207
+ name: "BlockMore",
208
+ type: "Container"
209
+ },
210
+ 110: {
211
+ name: "BlockAddID",
212
+ type: "Uint"
213
+ },
214
+ 37: {
215
+ name: "BlockAdditional",
216
+ type: "Binary"
217
+ },
218
+ 27: {
219
+ name: "BlockDuration",
220
+ type: "Uint"
221
+ },
222
+ 122: {
223
+ name: "ReferencePriority",
224
+ type: "Uint"
225
+ },
226
+ 123: {
227
+ name: "ReferenceBlock",
228
+ type: "Int"
229
+ },
230
+ 125: {
231
+ name: "ReferenceVirtual",
232
+ type: "Int"
233
+ },
234
+ 36: {
235
+ name: "CodecState",
236
+ type: "Binary"
237
+ },
238
+ 13730: {
239
+ name: "DiscardPadding",
240
+ type: "Int"
241
+ },
242
+ 14: {
243
+ name: "Slices",
244
+ type: "Container"
245
+ },
246
+ 104: {
247
+ name: "TimeSlice",
248
+ type: "Container"
249
+ },
250
+ 76: {
251
+ name: "LaceNumber",
252
+ type: "Uint"
253
+ },
254
+ 77: {
255
+ name: "FrameNumber",
256
+ type: "Uint"
257
+ },
258
+ 75: {
259
+ name: "BlockAdditionID",
260
+ type: "Uint"
261
+ },
262
+ 78: {
263
+ name: "Delay",
264
+ type: "Uint"
265
+ },
266
+ 79: {
267
+ name: "SliceDuration",
268
+ type: "Uint"
269
+ },
270
+ 72: {
271
+ name: "ReferenceFrame",
272
+ type: "Container"
273
+ },
274
+ 73: {
275
+ name: "ReferenceOffset",
276
+ type: "Uint"
277
+ },
278
+ 74: {
279
+ name: "ReferenceTimeCode",
280
+ type: "Uint"
281
+ },
282
+ 47: {
283
+ name: "EncryptedBlock",
284
+ type: "Binary"
285
+ },
286
+ 106212971: {
287
+ name: "Tracks",
288
+ type: "Container"
289
+ },
290
+ 46: {
291
+ name: "TrackEntry",
292
+ type: "Container"
293
+ },
294
+ 87: {
295
+ name: "TrackNumber",
296
+ type: "Uint"
297
+ },
298
+ 13253: {
299
+ name: "TrackUID",
300
+ type: "Uint"
301
+ },
302
+ 3: {
303
+ name: "TrackType",
304
+ type: "Uint"
305
+ },
306
+ 57: {
307
+ name: "FlagEnabled",
308
+ type: "Uint"
309
+ },
310
+ 8: {
311
+ name: "FlagDefault",
312
+ type: "Uint"
313
+ },
314
+ 5546: {
315
+ name: "FlagForced",
316
+ type: "Uint"
317
+ },
318
+ 28: {
319
+ name: "FlagLacing",
320
+ type: "Uint"
321
+ },
322
+ 11751: {
323
+ name: "MinCache",
324
+ type: "Uint"
325
+ },
326
+ 11768: {
327
+ name: "MaxCache",
328
+ type: "Uint"
329
+ },
330
+ 254851: {
331
+ name: "DefaultDuration",
332
+ type: "Uint"
333
+ },
334
+ 216698: {
335
+ name: "DefaultDecodedFieldDuration",
336
+ type: "Uint"
337
+ },
338
+ 209231: {
339
+ name: "TrackTimecodeScale",
340
+ type: "Float"
341
+ },
342
+ 4991: {
343
+ name: "TrackOffset",
344
+ type: "Int"
345
+ },
346
+ 5614: {
347
+ name: "MaxBlockAdditionID",
348
+ type: "Uint"
349
+ },
350
+ 4974: {
351
+ name: "Name",
352
+ type: "String"
353
+ },
354
+ 177564: {
355
+ name: "Language",
356
+ type: "String"
357
+ },
358
+ 6: {
359
+ name: "CodecID",
360
+ type: "String"
361
+ },
362
+ 9122: {
363
+ name: "CodecPrivate",
364
+ type: "Binary"
365
+ },
366
+ 362120: {
367
+ name: "CodecName",
368
+ type: "String"
369
+ },
370
+ 13382: {
371
+ name: "AttachmentLink",
372
+ type: "Uint"
373
+ },
374
+ 1742487: {
375
+ name: "CodecSettings",
376
+ type: "String"
377
+ },
378
+ 1785920: {
379
+ name: "CodecInfoURL",
380
+ type: "String"
381
+ },
382
+ 438848: {
383
+ name: "CodecDownloadURL",
384
+ type: "String"
385
+ },
386
+ 42: {
387
+ name: "CodecDecodeAll",
388
+ type: "Uint"
389
+ },
390
+ 12203: {
391
+ name: "TrackOverlay",
392
+ type: "Uint"
393
+ },
394
+ 5802: {
395
+ name: "CodecDelay",
396
+ type: "Uint"
397
+ },
398
+ 5819: {
399
+ name: "SeekPreRoll",
400
+ type: "Uint"
401
+ },
402
+ 9764: {
403
+ name: "TrackTranslate",
404
+ type: "Container"
405
+ },
406
+ 9980: {
407
+ name: "TrackTranslateEditionUID",
408
+ type: "Uint"
409
+ },
410
+ 9919: {
411
+ name: "TrackTranslateCodec",
412
+ type: "Uint"
413
+ },
414
+ 9893: {
415
+ name: "TrackTranslateTrackID",
416
+ type: "Binary"
417
+ },
418
+ 96: {
419
+ name: "Video",
420
+ type: "Container"
421
+ },
422
+ 26: {
423
+ name: "FlagInterlaced",
424
+ type: "Uint"
425
+ },
426
+ 5048: {
427
+ name: "StereoMode",
428
+ type: "Uint"
429
+ },
430
+ 5056: {
431
+ name: "AlphaMode",
432
+ type: "Uint"
433
+ },
434
+ 5049: {
435
+ name: "OldStereoMode",
436
+ type: "Uint"
437
+ },
438
+ 48: {
439
+ name: "PixelWidth",
440
+ type: "Uint"
441
+ },
442
+ 58: {
443
+ name: "PixelHeight",
444
+ type: "Uint"
445
+ },
446
+ 5290: {
447
+ name: "PixelCropBottom",
448
+ type: "Uint"
449
+ },
450
+ 5307: {
451
+ name: "PixelCropTop",
452
+ type: "Uint"
453
+ },
454
+ 5324: {
455
+ name: "PixelCropLeft",
456
+ type: "Uint"
457
+ },
458
+ 5341: {
459
+ name: "PixelCropRight",
460
+ type: "Uint"
461
+ },
462
+ 5296: {
463
+ name: "DisplayWidth",
464
+ type: "Uint"
465
+ },
466
+ 5306: {
467
+ name: "DisplayHeight",
468
+ type: "Uint"
469
+ },
470
+ 5298: {
471
+ name: "DisplayUnit",
472
+ type: "Uint"
473
+ },
474
+ 5299: {
475
+ name: "AspectRatioType",
476
+ type: "Uint"
477
+ },
478
+ 963876: {
479
+ name: "ColourSpace",
480
+ type: "Binary"
481
+ },
482
+ 1029411: {
483
+ name: "GammaValue",
484
+ type: "Float"
485
+ },
486
+ 230371: {
487
+ name: "FrameRate",
488
+ type: "Float"
489
+ },
490
+ 97: {
491
+ name: "Audio",
492
+ type: "Container"
493
+ },
494
+ 53: {
495
+ name: "SamplingFrequency",
496
+ type: "Float"
497
+ },
498
+ 14517: {
499
+ name: "OutputSamplingFrequency",
500
+ type: "Float"
501
+ },
502
+ 31: {
503
+ name: "Channels",
504
+ type: "Uint"
505
+ },
506
+ 15739: {
507
+ name: "ChannelPositions",
508
+ type: "Binary"
509
+ },
510
+ 8804: {
511
+ name: "BitDepth",
512
+ type: "Uint"
513
+ },
514
+ 98: {
515
+ name: "TrackOperation",
516
+ type: "Container"
517
+ },
518
+ 99: {
519
+ name: "TrackCombinePlanes",
520
+ type: "Container"
521
+ },
522
+ 100: {
523
+ name: "TrackPlane",
524
+ type: "Container"
525
+ },
526
+ 101: {
527
+ name: "TrackPlaneUID",
528
+ type: "Uint"
529
+ },
530
+ 102: {
531
+ name: "TrackPlaneType",
532
+ type: "Uint"
533
+ },
534
+ 105: {
535
+ name: "TrackJoinBlocks",
536
+ type: "Container"
537
+ },
538
+ 109: {
539
+ name: "TrackJoinUID",
540
+ type: "Uint"
541
+ },
542
+ 64: {
543
+ name: "TrickTrackUID",
544
+ type: "Uint"
545
+ },
546
+ 65: {
547
+ name: "TrickTrackSegmentUID",
548
+ type: "Binary"
549
+ },
550
+ 70: {
551
+ name: "TrickTrackFlag",
552
+ type: "Uint"
553
+ },
554
+ 71: {
555
+ name: "TrickMasterTrackUID",
556
+ type: "Uint"
557
+ },
558
+ 68: {
559
+ name: "TrickMasterTrackSegmentUID",
560
+ type: "Binary"
561
+ },
562
+ 11648: {
563
+ name: "ContentEncodings",
564
+ type: "Container"
565
+ },
566
+ 8768: {
567
+ name: "ContentEncoding",
568
+ type: "Container"
569
+ },
570
+ 4145: {
571
+ name: "ContentEncodingOrder",
572
+ type: "Uint"
573
+ },
574
+ 4146: {
575
+ name: "ContentEncodingScope",
576
+ type: "Uint"
577
+ },
578
+ 4147: {
579
+ name: "ContentEncodingType",
580
+ type: "Uint"
581
+ },
582
+ 4148: {
583
+ name: "ContentCompression",
584
+ type: "Container"
585
+ },
586
+ 596: {
587
+ name: "ContentCompAlgo",
588
+ type: "Uint"
589
+ },
590
+ 597: {
591
+ name: "ContentCompSettings",
592
+ type: "Binary"
593
+ },
594
+ 4149: {
595
+ name: "ContentEncryption",
596
+ type: "Container"
597
+ },
598
+ 2017: {
599
+ name: "ContentEncAlgo",
600
+ type: "Uint"
601
+ },
602
+ 2018: {
603
+ name: "ContentEncKeyID",
604
+ type: "Binary"
605
+ },
606
+ 2019: {
607
+ name: "ContentSignature",
608
+ type: "Binary"
609
+ },
610
+ 2020: {
611
+ name: "ContentSigKeyID",
612
+ type: "Binary"
613
+ },
614
+ 2021: {
615
+ name: "ContentSigAlgo",
616
+ type: "Uint"
617
+ },
618
+ 2022: {
619
+ name: "ContentSigHashAlgo",
620
+ type: "Uint"
621
+ },
622
+ 206814059: {
623
+ name: "Cues",
624
+ type: "Container"
625
+ },
626
+ 59: {
627
+ name: "CuePoint",
628
+ type: "Container"
629
+ },
630
+ 51: {
631
+ name: "CueTime",
632
+ type: "Uint"
633
+ },
634
+ 55: {
635
+ name: "CueTrackPositions",
636
+ type: "Container"
637
+ },
638
+ 119: {
639
+ name: "CueTrack",
640
+ type: "Uint"
641
+ },
642
+ 113: {
643
+ name: "CueClusterPosition",
644
+ type: "Uint"
645
+ },
646
+ 112: {
647
+ name: "CueRelativePosition",
648
+ type: "Uint"
649
+ },
650
+ 50: {
651
+ name: "CueDuration",
652
+ type: "Uint"
653
+ },
654
+ 4984: {
655
+ name: "CueBlockNumber",
656
+ type: "Uint"
657
+ },
658
+ 106: {
659
+ name: "CueCodecState",
660
+ type: "Uint"
661
+ },
662
+ 91: {
663
+ name: "CueReference",
664
+ type: "Container"
665
+ },
666
+ 22: {
667
+ name: "CueRefTime",
668
+ type: "Uint"
669
+ },
670
+ 23: {
671
+ name: "CueRefCluster",
672
+ type: "Uint"
673
+ },
674
+ 4959: {
675
+ name: "CueRefNumber",
676
+ type: "Uint"
677
+ },
678
+ 107: {
679
+ name: "CueRefCodecState",
680
+ type: "Uint"
681
+ },
682
+ 155296873: {
683
+ name: "Attachments",
684
+ type: "Container"
685
+ },
686
+ 8615: {
687
+ name: "AttachedFile",
688
+ type: "Container"
689
+ },
690
+ 1662: {
691
+ name: "FileDescription",
692
+ type: "String"
693
+ },
694
+ 1646: {
695
+ name: "FileName",
696
+ type: "String"
697
+ },
698
+ 1632: {
699
+ name: "FileMimeType",
700
+ type: "String"
701
+ },
702
+ 1628: {
703
+ name: "FileData",
704
+ type: "Binary"
705
+ },
706
+ 1710: {
707
+ name: "FileUID",
708
+ type: "Uint"
709
+ },
710
+ 1653: {
711
+ name: "FileReferral",
712
+ type: "Binary"
713
+ },
714
+ 1633: {
715
+ name: "FileUsedStartTime",
716
+ type: "Uint"
717
+ },
718
+ 1634: {
719
+ name: "FileUsedEndTime",
720
+ type: "Uint"
721
+ },
722
+ 4433776: {
723
+ name: "Chapters",
724
+ type: "Container"
725
+ },
726
+ 1465: {
727
+ name: "EditionEntry",
728
+ type: "Container"
729
+ },
730
+ 1468: {
731
+ name: "EditionUID",
732
+ type: "Uint"
733
+ },
734
+ 1469: {
735
+ name: "EditionFlagHidden",
736
+ type: "Uint"
737
+ },
738
+ 1499: {
739
+ name: "EditionFlagDefault",
740
+ type: "Uint"
741
+ },
742
+ 1501: {
743
+ name: "EditionFlagOrdered",
744
+ type: "Uint"
745
+ },
746
+ 54: {
747
+ name: "ChapterAtom",
748
+ type: "Container"
749
+ },
750
+ 13252: {
751
+ name: "ChapterUID",
752
+ type: "Uint"
753
+ },
754
+ 5716: {
755
+ name: "ChapterStringUID",
756
+ type: "String"
757
+ },
758
+ 17: {
759
+ name: "ChapterTimeStart",
760
+ type: "Uint"
761
+ },
762
+ 18: {
763
+ name: "ChapterTimeEnd",
764
+ type: "Uint"
765
+ },
766
+ 24: {
767
+ name: "ChapterFlagHidden",
768
+ type: "Uint"
769
+ },
770
+ 1432: {
771
+ name: "ChapterFlagEnabled",
772
+ type: "Uint"
773
+ },
774
+ 11879: {
775
+ name: "ChapterSegmentUID",
776
+ type: "Binary"
777
+ },
778
+ 11964: {
779
+ name: "ChapterSegmentEditionUID",
780
+ type: "Uint"
781
+ },
782
+ 9155: {
783
+ name: "ChapterPhysicalEquiv",
784
+ type: "Uint"
785
+ },
786
+ 15: {
787
+ name: "ChapterTrack",
788
+ type: "Container"
789
+ },
790
+ 9: {
791
+ name: "ChapterTrackNumber",
792
+ type: "Uint"
793
+ },
794
+ 0: {
795
+ name: "ChapterDisplay",
796
+ type: "Container"
797
+ },
798
+ 5: {
799
+ name: "ChapString",
800
+ type: "String"
801
+ },
802
+ 892: {
803
+ name: "ChapLanguage",
804
+ type: "String"
805
+ },
806
+ 894: {
807
+ name: "ChapCountry",
808
+ type: "String"
809
+ },
810
+ 10564: {
811
+ name: "ChapProcess",
812
+ type: "Container"
813
+ },
814
+ 10581: {
815
+ name: "ChapProcessCodecID",
816
+ type: "Uint"
817
+ },
818
+ 1293: {
819
+ name: "ChapProcessPrivate",
820
+ type: "Binary"
821
+ },
822
+ 10513: {
823
+ name: "ChapProcessCommand",
824
+ type: "Container"
825
+ },
826
+ 10530: {
827
+ name: "ChapProcessTime",
828
+ type: "Uint"
829
+ },
830
+ 10547: {
831
+ name: "ChapProcessData",
832
+ type: "Binary"
833
+ },
834
+ 39109479: {
835
+ name: "Tags",
836
+ type: "Container"
837
+ },
838
+ 13171: {
839
+ name: "Tag",
840
+ type: "Container"
841
+ },
842
+ 9152: {
843
+ name: "Targets",
844
+ type: "Container"
845
+ },
846
+ 10442: {
847
+ name: "TargetTypeValue",
848
+ type: "Uint"
849
+ },
850
+ 9162: {
851
+ name: "TargetType",
852
+ type: "String"
853
+ },
854
+ 9157: {
855
+ name: "TagTrackUID",
856
+ type: "Uint"
857
+ },
858
+ 9161: {
859
+ name: "TagEditionUID",
860
+ type: "Uint"
861
+ },
862
+ 9156: {
863
+ name: "TagChapterUID",
864
+ type: "Uint"
865
+ },
866
+ 9158: {
867
+ name: "TagAttachmentUID",
868
+ type: "Uint"
869
+ },
870
+ 10184: {
871
+ name: "SimpleTag",
872
+ type: "Container"
873
+ },
874
+ 1443: {
875
+ name: "TagName",
876
+ type: "String"
877
+ },
878
+ 1146: {
879
+ name: "TagLanguage",
880
+ type: "String"
881
+ },
882
+ 1156: {
883
+ name: "TagDefault",
884
+ type: "Uint"
885
+ },
886
+ 1159: {
887
+ name: "TagString",
888
+ type: "String"
889
+ },
890
+ 1157: {
891
+ name: "TagBinary",
892
+ type: "Binary"
893
+ }
894
+ }, p = class {
895
+ name;
896
+ type;
897
+ source;
898
+ data;
899
+ constructor(t = "Unknown", e = "Unknown") {
900
+ this.name = t, this.type = e;
901
+ }
902
+ updateBySource() {
903
+ }
904
+ setSource(t) {
905
+ this.source = t, this.updateBySource();
906
+ }
907
+ updateByData() {
908
+ }
909
+ setData(t) {
910
+ this.data = t, this.updateByData();
911
+ }
912
+ };
913
+ function m(t) {
914
+ return t.length % 2 === 1 ? "0" + t : t;
915
+ }
916
+ var d = class extends p {
917
+ constructor(t, e) {
918
+ super(t, e || "Uint");
919
+ }
920
+ updateBySource() {
921
+ this.data = "";
922
+ for (let t = 0; t < this.source.length; t++) {
923
+ const e = this.source[t].toString(16);
924
+ this.data += m(e);
925
+ }
926
+ }
927
+ updateByData() {
928
+ const t = this.data.length / 2;
929
+ this.source = new Uint8Array(t);
930
+ for (let e = 0; e < t; e++) {
931
+ const n = this.data.substr(e * 2, 2);
932
+ this.source[e] = parseInt(n, 16);
933
+ }
934
+ }
935
+ getValue() {
936
+ return parseInt(this.data, 16);
937
+ }
938
+ setValue(t) {
939
+ this.setData(m(t.toString(16)));
940
+ }
941
+ }, s = class extends p {
942
+ constructor(t, e) {
943
+ super(t, e || "Float");
944
+ }
945
+ getFloatArrayType() {
946
+ return this.source && this.source.length === 4 ? Float32Array : Float64Array;
947
+ }
948
+ updateBySource() {
949
+ const t = this.source.reverse(), e = new (this.getFloatArrayType())(t.buffer);
950
+ this.data = e[0];
951
+ }
952
+ updateByData() {
953
+ const t = new (this.getFloatArrayType())([this.data]), e = new Uint8Array(t.buffer);
954
+ this.source = e.reverse();
955
+ }
956
+ getValue() {
957
+ return this.data;
958
+ }
959
+ setValue(t) {
960
+ this.setData(t);
961
+ }
962
+ }, u = class c extends p {
963
+ offset = 0;
964
+ data = [];
965
+ constructor(e, n) {
966
+ super(e, n || "Container");
967
+ }
968
+ readByte() {
969
+ return this.source[this.offset++];
970
+ }
971
+ readUint() {
972
+ const e = this.readByte(), n = 8 - e.toString(2).length;
973
+ let a = e - (1 << 7 - n);
974
+ for (let i = 0; i < n; i++)
975
+ a *= 256, a += this.readByte();
976
+ return a;
977
+ }
978
+ updateBySource() {
979
+ let e;
980
+ for (this.data = [], this.offset = 0; this.offset < this.source.length; this.offset = e) {
981
+ const n = this.readUint(), a = this.readUint();
982
+ e = Math.min(this.offset + a, this.source.length);
983
+ const i = this.source.slice(this.offset, e), r = l[n] || {
984
+ name: "Unknown",
985
+ type: "Unknown"
986
+ };
987
+ let o = p;
988
+ switch (r.type) {
989
+ case "Container":
990
+ o = c;
991
+ break;
992
+ case "Uint":
993
+ o = d;
994
+ break;
995
+ case "Float":
996
+ o = s;
997
+ }
998
+ const y = new o(r.name, r.type);
999
+ y.setSource(i), this.data.push({
1000
+ id: n,
1001
+ idHex: n.toString(16),
1002
+ data: y
1003
+ });
1004
+ }
1005
+ }
1006
+ writeUint(e, n = !1) {
1007
+ let a = 1, i = 128;
1008
+ for (; e >= i && a < 8; )
1009
+ a++, i *= 128;
1010
+ if (!n) {
1011
+ let r = i + e;
1012
+ for (let o = a - 1; o >= 0; o--) {
1013
+ const y = r % 256;
1014
+ this.source[this.offset + o] = y, r = (r - y) / 256;
1015
+ }
1016
+ }
1017
+ this.offset += a;
1018
+ }
1019
+ writeSections(e = !1) {
1020
+ this.offset = 0;
1021
+ for (let n = 0; n < this.data.length; n++) {
1022
+ const a = this.data[n], i = a.data.source, r = i.length;
1023
+ this.writeUint(a.id, e), this.writeUint(r, e), e || this.source.set(i, this.offset), this.offset += r;
1024
+ }
1025
+ return this.offset;
1026
+ }
1027
+ updateByData() {
1028
+ const e = this.writeSections(!0);
1029
+ this.source = new Uint8Array(e), this.writeSections();
1030
+ }
1031
+ getSectionById(e) {
1032
+ for (let n = 0; n < this.data.length; n++) {
1033
+ const a = this.data[n];
1034
+ if (a.id === e) return a.data;
1035
+ }
1036
+ }
1037
+ }, h = class extends u {
1038
+ constructor(t) {
1039
+ super("File", "File"), this.setSource(t);
1040
+ }
1041
+ fixDuration(t) {
1042
+ const e = this.getSectionById(139690087);
1043
+ if (!e) return !1;
1044
+ const n = e.getSectionById(88713574);
1045
+ if (!n) return !1;
1046
+ const a = n.getSectionById(710577);
1047
+ if (!a) return !1;
1048
+ let i = n.getSectionById(1161);
1049
+ if (i)
1050
+ if (i.getValue() <= 0) i.setValue(t);
1051
+ else return !1;
1052
+ else
1053
+ i = new s("Duration", "Float"), i.setValue(t), n.data.push({
1054
+ id: 1161,
1055
+ data: i
1056
+ });
1057
+ return a.setValue(1e6), n.updateByData(), e.updateByData(), this.updateByData(), !0;
1058
+ }
1059
+ toBlob(t = "video/webm") {
1060
+ return new Blob([this.source.buffer], { type: t });
1061
+ }
1062
+ }, U = (t, e, n = "video/webm") => new Promise((a, i) => {
1063
+ try {
1064
+ const r = new FileReader();
1065
+ r.addEventListener("loadend", () => {
1066
+ try {
1067
+ const o = r.result, y = new h(new Uint8Array(o));
1068
+ y.fixDuration(e) ? a(y.toBlob(n)) : a(t);
1069
+ } catch (o) {
1070
+ i(o);
1071
+ }
1072
+ }), r.addEventListener("error", () => i()), r.readAsArrayBuffer(t);
1073
+ } catch (r) {
1074
+ i(r);
1075
+ }
1076
+ });
1077
+ function C() {
1078
+ const t = [
1079
+ "audio/webm",
1080
+ "audio/mp4",
1081
+ "audio/ogg",
1082
+ "audio/wav",
1083
+ "audio/aac"
1084
+ ];
1085
+ for (let e = 0; e < t.length; e++) if (MediaRecorder.isTypeSupported(t[e])) return t[e];
1086
+ }
1087
+ var g = class {
1088
+ startTime;
1089
+ chunks;
1090
+ mediaRecorder;
1091
+ blob;
1092
+ constructor() {
1093
+ this.startTime = Date.now(), this.chunks = [], navigator.mediaDevices.getUserMedia({ audio: !0 }).then((t) => {
1094
+ this.init(t);
1095
+ }).catch((t) => {
1096
+ console.error("AudioRecorder init error", t);
1097
+ });
1098
+ }
1099
+ init(t) {
1100
+ const e = C();
1101
+ this.mediaRecorder = new MediaRecorder(t, { mimeType: e }), this.mediaRecorder?.addEventListener("dataavailable", async (n) => {
1102
+ if (n.data.size > 0 && this.chunks.push(n.data), this.mediaRecorder?.state === "inactive") {
1103
+ const a = Date.now() - this.startTime;
1104
+ this.blob = new Blob(this.chunks, { type: e }), e === "audio/webm" && (this.blob = await U(this.blob, a, this.blob.type)), this.chunks = [];
1105
+ }
1106
+ }), this.mediaRecorder?.start();
1107
+ }
1108
+ start() {
1109
+ return this.mediaRecorder?.state === "paused" && this.mediaRecorder.resume(), this.mediaRecorder;
1110
+ }
1111
+ pause() {
1112
+ return this.mediaRecorder?.state === "recording" && this.mediaRecorder.pause(), this.mediaRecorder;
1113
+ }
1114
+ stop() {
1115
+ return this.mediaRecorder?.stop(), this.blob;
1116
+ }
1117
+ };
1118
+ export {
1119
+ g as AudioRecorder,
1120
+ U as webmFixDuration
1121
+ };