@flyfish-group/file-viewer-web 1.0.19 → 1.0.21

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 (327) hide show
  1. package/LICENSE +160 -0
  2. package/README.md +15 -2
  3. package/dist/index.d.ts +7 -0
  4. package/dist/index.js +50 -5
  5. package/package.json +8 -8
  6. package/viewer/_headers +15 -0
  7. package/viewer/assets/{3MFLoader-B_6HM3dj.js → 3MFLoader-BvkYWcpH.js} +1 -1
  8. package/viewer/assets/{AMFLoader-BxP14esn.js → AMFLoader-1v3YJhwU.js} +1 -1
  9. package/viewer/assets/ArchiveViewer-CKe5u-zG.js +1 -0
  10. package/viewer/assets/AudioViewer-T0MB6cNf.js +1 -0
  11. package/viewer/assets/CadViewer-CmPS5vTY.js +1 -0
  12. package/viewer/assets/CodeViewer-Da2e-Pih.js +2 -0
  13. package/viewer/assets/{ColladaLoader-Dz956C1E.js → ColladaLoader-BBfE2bw_.js} +1 -1
  14. package/viewer/assets/DrawingViewer-BLx5reKf.js +2 -0
  15. package/viewer/assets/EdaViewer-akuOQN_s.js +8 -0
  16. package/viewer/assets/EmailViewer-DCP5VSNh.js +4 -0
  17. package/viewer/assets/EpubViewer-CRYkXMns.js +2 -0
  18. package/viewer/assets/{FBXLoader-DlzmRpnh.js → FBXLoader-BI6tq8Dw.js} +1 -1
  19. package/viewer/assets/{GLTFLoader-hUKNI0Am.js → GLTFLoader-Dp4jm4wN.js} +1 -1
  20. package/viewer/assets/ImageViewer-DdBS2hkD.js +1 -0
  21. package/viewer/assets/{KMZLoader-D8eC-S0G.js → KMZLoader-BKHay62Q.js} +1 -1
  22. package/viewer/assets/{MarkdownViewer-BjNTASd0.js → MarkdownViewer-BTZgVGwJ.js} +2 -2
  23. package/viewer/assets/ModelViewer-aTW19aj5.js +2 -0
  24. package/viewer/assets/{OBJLoader-C1dmYv7h.js → OBJLoader-Bjl2rCei.js} +1 -1
  25. package/viewer/assets/OfdViewer-BFdudh_g.js +2 -0
  26. package/viewer/assets/{PCDLoader-CgQJdB5e.js → PCDLoader-DXunJ4GV.js} +1 -1
  27. package/viewer/assets/{PLYLoader-Dq4pQnK6.js → PLYLoader-B3OJWCbR.js} +1 -1
  28. package/viewer/assets/{PdfView-BArHGbuC.js → PdfView-CBNN3RKQ.js} +2 -2
  29. package/viewer/assets/{PdfView-CDkaqnJh.css → PdfView-d7S_ChQk.css} +1 -1
  30. package/viewer/assets/{PptxRender-BQ5mqB0E.css → PptxRender-CbGXiqYZ.css} +1 -1
  31. package/viewer/assets/PptxRender-DGZ75Ujc.js +32 -0
  32. package/viewer/assets/{STLLoader-CzbmjAk6.js → STLLoader-Op9AFGeI.js} +1 -1
  33. package/viewer/assets/{TDSLoader-nrxosCSD.js → TDSLoader-C1_bDdal.js} +1 -1
  34. package/viewer/assets/TypstViewer-BzRqtvUb.js +60 -0
  35. package/viewer/assets/TypstViewer-CYzlZT3R.css +1 -0
  36. package/viewer/assets/{USDLoader-BsPrvVXf.js → USDLoader-BHMJbkNs.js} +1 -1
  37. package/viewer/assets/UmdViewer-BV_C7-QC.js +3 -0
  38. package/viewer/assets/{VRMLLoader-B9TF3kFK.js → VRMLLoader-x8hh4wKO.js} +1 -1
  39. package/viewer/assets/{VTKLoader-C2k-pFrD.js → VTKLoader-C8oP0RB4.js} +1 -1
  40. package/viewer/assets/{XYZLoader-ENA3V0e-.js → XYZLoader-BYFk6Tzj.js} +1 -1
  41. package/viewer/assets/{XlsxTable-vFfPghWj.js → XlsxTable-B3gt0BRc.js} +2 -2
  42. package/viewer/assets/__vite-browser-external-4zOfcZki.js +1 -0
  43. package/viewer/assets/{ar-SA-G6X2FPQ2-Dk8lrbtV.js → ar-SA-G6X2FPQ2-xk-WWT3w.js} +1 -1
  44. package/viewer/assets/{arc-Dimj_7G-.js → arc-BPHhLzLE.js} +1 -1
  45. package/viewer/assets/architecture-7EHR7CIX-SZfMq0T-.js +1 -0
  46. package/viewer/assets/architectureDiagram-3BPJPVTR-NhnkJCQk.js +36 -0
  47. package/viewer/assets/archive-BCYExDTt.js +2 -0
  48. package/viewer/assets/audio-DyKOGNoB.js +2 -0
  49. package/viewer/assets/{az-AZ-76LH7QW2-CwsjUnyx.js → az-AZ-76LH7QW2-R9QiS28n.js} +1 -1
  50. package/viewer/assets/{bg-BG-XCXSNQG7-D8cD2Wnb.js → bg-BG-XCXSNQG7-DcJ2p4Qo.js} +1 -1
  51. package/viewer/assets/{blockDiagram-GPEHLZMM-jPcghXAd.js → blockDiagram-GPEHLZMM-B0b4Dtdi.js} +1 -1
  52. package/viewer/assets/{bn-BD-2XOGV67Q-BTIzZo-P.js → bn-BD-2XOGV67Q-CETyJYwI.js} +1 -1
  53. package/viewer/assets/{c4Diagram-AAUBKEIU-CLxdQz33.js → c4Diagram-AAUBKEIU-DwaRi9ek.js} +1 -1
  54. package/viewer/assets/{ca-ES-6MX7JW3Y-DN6VCZj-.js → ca-ES-6MX7JW3Y-BqhnZGeU.js} +1 -1
  55. package/viewer/assets/cad-X6fHTob3.js +2 -0
  56. package/viewer/assets/cfb-D9osJ2bn.js +11 -0
  57. package/viewer/assets/channel-t0jydsTy.js +1 -0
  58. package/viewer/assets/{chunk-2J33WTMH-DySKz026.js → chunk-2J33WTMH-DlBDlv1R.js} +1 -1
  59. package/viewer/assets/{chunk-3OPIFGDE-_GjvnJ3T.js → chunk-3OPIFGDE-Ck4ELslx.js} +1 -1
  60. package/viewer/assets/{chunk-4BX2VUAB-DXd3aEQr.js → chunk-4BX2VUAB-BOSktpvM.js} +1 -1
  61. package/viewer/assets/chunk-55IACEB6-Ddx8r-cT.js +1 -0
  62. package/viewer/assets/{chunk-5ZQYHXKU-BRF7hE13.js → chunk-5ZQYHXKU-DlEMgrTt.js} +1 -1
  63. package/viewer/assets/{chunk-727SXJPM-Cix1-bNS.js → chunk-727SXJPM-C0iAJ7Cu.js} +1 -1
  64. package/viewer/assets/chunk-AGHRB4JF-Bp3D13tN.js +1 -0
  65. package/viewer/assets/{chunk-AQP2D5EJ-ByeTmPD8.js → chunk-AQP2D5EJ-BRJvm_dI.js} +1 -1
  66. package/viewer/assets/{chunk-BSJP7CBP-DPTup-7J.js → chunk-BSJP7CBP-2vUOgnIA.js} +1 -1
  67. package/viewer/assets/{chunk-CSCIHK7Q-CaK7NLDn.js → chunk-CSCIHK7Q-BYzrvQRZ.js} +2 -2
  68. package/viewer/assets/{chunk-EIO257PC-BTeCKQKr.js → chunk-EIO257PC-Bce8DpIq.js} +1 -1
  69. package/viewer/assets/{chunk-FMBD7UC4-BOqvoY4U.js → chunk-FMBD7UC4-BODFQR0j.js} +1 -1
  70. package/viewer/assets/{chunk-K2UTITRG-ChrjtByO.js → chunk-K2UTITRG-DVRoJJYJ.js} +4 -4
  71. package/viewer/assets/{chunk-KSCS5N6A-DJ5nNoVF.js → chunk-KSCS5N6A-wYKDRFjc.js} +1 -1
  72. package/viewer/assets/{chunk-L5ZTLDWV-Cd0mA4d7.js → chunk-L5ZTLDWV-CQdI2mTB.js} +1 -1
  73. package/viewer/assets/chunk-LZXEDZCA-fZu08oS2.js +2 -0
  74. package/viewer/assets/{chunk-ND2GUHAM-BeSPY4Yj.js → chunk-ND2GUHAM-LfMVcnRk.js} +1 -1
  75. package/viewer/assets/{chunk-NZK2D7GU-D-37z8Pl.js → chunk-NZK2D7GU-6U4u7z0c.js} +1 -1
  76. package/viewer/assets/{chunk-O5CBEL6O-CdSRkJ7Y.js → chunk-O5CBEL6O-BImcv37W.js} +1 -1
  77. package/viewer/assets/chunk-QZHKN3VN-Fg_X1rG4.js +1 -0
  78. package/viewer/assets/chunk-SRAX5OIU-CBKhxrzT.js +1 -0
  79. package/viewer/assets/chunk-WU5MYG2G-BGIX6we7.js +1 -0
  80. package/viewer/assets/{chunk-XPW4576I-CmkE4v20.js → chunk-XPW4576I-NsaRS98A.js} +1 -1
  81. package/viewer/assets/classDiagram-4FO5ZUOK-BYZ4FOo_.js +1 -0
  82. package/viewer/assets/classDiagram-v2-Q7XG4LA2-DuchuCsI.js +1 -0
  83. package/viewer/assets/compare-BDsbatdp.css +1 -0
  84. package/viewer/assets/compare-CaIbij3A.js +1 -0
  85. package/viewer/assets/compiler-5cD-dlgE.js +1 -0
  86. package/viewer/assets/core-jd_XA2DR.js +3 -0
  87. package/viewer/assets/cose-bilkent-S5V4N54A-DmYXhVYe.js +1 -0
  88. package/viewer/assets/{cs-CZ-2BRQDIVT-B1W9dn8v.js → cs-CZ-2BRQDIVT-BGMNe1H_.js} +1 -1
  89. package/viewer/assets/{da-DK-5WZEPLOC-TySh-MvB.js → da-DK-5WZEPLOC-Bh201dfY.js} +1 -1
  90. package/viewer/assets/{dagre-BM42HDAG-CjBTMuh6.js → dagre-BM42HDAG-B5YGgjz8.js} +1 -1
  91. package/viewer/assets/{dagre-Os9l8Ofh.js → dagre-CBmA6wnT.js} +1 -1
  92. package/viewer/assets/{de-DE-XR44H4JA-DNe7czwY.js → de-DE-XR44H4JA-C-u3piBT.js} +1 -1
  93. package/viewer/assets/{diagram-2AECGRRQ-DmTRvL7i.js → diagram-2AECGRRQ-BmQYluZm.js} +1 -1
  94. package/viewer/assets/{diagram-5GNKFQAL-CXNgVJV4.js → diagram-5GNKFQAL-CMfY5STH.js} +1 -1
  95. package/viewer/assets/{diagram-KO2AKTUF-DFzniapf.js → diagram-KO2AKTUF-DDu8xFk_.js} +1 -1
  96. package/viewer/assets/{diagram-LMA3HP47-CCZQcG0T.js → diagram-LMA3HP47-DV_OEza0.js} +1 -1
  97. package/viewer/assets/{diagram-OG6HWLK6-CSPhlVR3.js → diagram-OG6HWLK6-iqg-Bb_O.js} +1 -1
  98. package/viewer/assets/{dist-DmVKTZVH.js → dist-BNvURj4h.js} +4 -4
  99. package/viewer/assets/dist-CTxWUw4J.js +1 -0
  100. package/viewer/assets/docx-preview-HLZcXk8x.js +20 -0
  101. package/viewer/assets/drawing-nZ3hKOuj.js +2 -0
  102. package/viewer/assets/ebook-Dg6QYLrm.js +2 -0
  103. package/viewer/assets/eda-6lhgdEsa.js +2 -0
  104. package/viewer/assets/{el-GR-BZB4AONW-iz07YMT3.js → el-GR-BZB4AONW-BSN-5LwV.js} +1 -1
  105. package/viewer/assets/email-B8Pjza3z.js +2 -0
  106. package/viewer/assets/{en-B4ZKOASM-g9Xo_oqu.js → en-B4ZKOASM-Bda1Tcbv.js} +1 -1
  107. package/viewer/assets/{erDiagram-TEJ5UH35-BCEiJAYO.js → erDiagram-TEJ5UH35-DM1Zmk67.js} +1 -1
  108. package/viewer/assets/{es-ES-U4NZUMDT-CxLMMu7P.js → es-ES-U4NZUMDT-CkMK345k.js} +1 -1
  109. package/viewer/assets/{eu-ES-A7QVB2H4-BD4OhaBy.js → eu-ES-A7QVB2H4-CmA46qjA.js} +1 -1
  110. package/viewer/assets/eventmodeling-FCH6USID-DY_1pO49.js +1 -0
  111. package/viewer/assets/{fa-IR-HGAKTJCU-DZTpPZj7.js → fa-IR-HGAKTJCU-BJKEnhdI.js} +1 -1
  112. package/viewer/assets/{fi-FI-Z5N7JZ37-ns5ukavM.js → fi-FI-Z5N7JZ37-CfAW_T5T.js} +1 -1
  113. package/viewer/assets/{flowDiagram-I6XJVG4X-DRoiC2ap.js → flowDiagram-I6XJVG4X-BDU6nwXG.js} +1 -1
  114. package/viewer/assets/{fr-FR-RHASNOE6-DukYzLkS.js → fr-FR-RHASNOE6-CWHiIHlP.js} +1 -1
  115. package/viewer/assets/{ganttDiagram-6RSMTGT7-D-cpqJ1c.js → ganttDiagram-6RSMTGT7-CdlUoXLH.js} +1 -1
  116. package/viewer/assets/gitGraph-WXDBUCRP-DkbGK_l8.js +1 -0
  117. package/viewer/assets/{gitGraphDiagram-PVQCEYII-DtAUzVmv.js → gitGraphDiagram-PVQCEYII-BNuzMBaq.js} +1 -1
  118. package/viewer/assets/{gl-ES-HMX3MZ6V-Cjk7SCTx.js → gl-ES-HMX3MZ6V-CKGulAoG.js} +1 -1
  119. package/viewer/assets/global-compiler-55_NTk_S.js +1 -0
  120. package/viewer/assets/global-renderer-BjQLhJVE.js +1 -0
  121. package/viewer/assets/{he-IL-6SHJWFNN-CPFW3xAY.js → he-IL-6SHJWFNN-BHLKQ5ek.js} +1 -1
  122. package/viewer/assets/{hi-IN-IWLTKZ5I-DisVfnaM.js → hi-IN-IWLTKZ5I-Bo7HJAMD.js} +1 -1
  123. package/viewer/assets/{hu-HU-A5ZG7DT2-BfFVgJtk.js → hu-HU-A5ZG7DT2-BXfRd9JR.js} +1 -1
  124. package/viewer/assets/{id-ID-SAP4L64H-BcRF-r9G.js → id-ID-SAP4L64H-CdFXQmZ-.js} +1 -1
  125. package/viewer/assets/image-BqV53LfN.js +2 -0
  126. package/viewer/assets/image-GAAHSSAO-CflKrgYb.js +1 -0
  127. package/viewer/assets/info-J43DQDTF-DSuj3Emf.js +1 -0
  128. package/viewer/assets/{infoDiagram-5YYISTIA-0U1kwPhy.js → infoDiagram-5YYISTIA-BGN5iH-k.js} +1 -1
  129. package/viewer/assets/{ishikawaDiagram-YF4QCWOH-DD7UBwKB.js → ishikawaDiagram-YF4QCWOH-DsRLHhIQ.js} +1 -1
  130. package/viewer/assets/{it-IT-JPQ66NNP-DF9-U5KK.js → it-IT-JPQ66NNP-DOWVBjEX.js} +1 -1
  131. package/viewer/assets/{ja-JP-DBVTYXUO-D0oP-cZ2.js → ja-JP-DBVTYXUO-D2YrGCS8.js} +1 -1
  132. package/viewer/assets/{journeyDiagram-JHISSGLW-F0aNIP-8.js → journeyDiagram-JHISSGLW-Cvh5ehZ2.js} +1 -1
  133. package/viewer/assets/{jszip.min-DHUfArgC.js → jszip.min-BTb9aZRk.js} +1 -1
  134. package/viewer/assets/{kaa-6HZHGXH3-VvXC4vMQ.js → kaa-6HZHGXH3-BNjseYto.js} +1 -1
  135. package/viewer/assets/{kab-KAB-ZGHBKWFO-DRCkdS3f.js → kab-KAB-ZGHBKWFO-CZ8Z2ARN.js} +1 -1
  136. package/viewer/assets/{kanban-definition-UN3LZRKU-DBEnmJSa.js → kanban-definition-UN3LZRKU-B4aRb-70.js} +1 -1
  137. package/viewer/assets/{kk-KZ-P5N5QNE5-DZ5GveXb.js → kk-KZ-P5N5QNE5-BiGoXKgs.js} +1 -1
  138. package/viewer/assets/{km-KH-HSX4SM5Z-D7pETFw0.js → km-KH-HSX4SM5Z-nQQmi6SK.js} +1 -1
  139. package/viewer/assets/{ko-KR-MTYHY66A-HSLEHqQR.js → ko-KR-MTYHY66A-VWIngjov.js} +1 -1
  140. package/viewer/assets/{ku-TR-6OUDTVRD-BlwpBrtP.js → ku-TR-6OUDTVRD-BMC8PKps.js} +1 -1
  141. package/viewer/assets/{lib-MyZCR7RP.js → lib-BG9mhXfy.js} +2 -2
  142. package/viewer/assets/{linear-CjCAJGt1.js → linear-CxDdtsor.js} +1 -1
  143. package/viewer/assets/{lt-LT-XHIRWOB4-Dhu43bCC.js → lt-LT-XHIRWOB4-DE1pHKyp.js} +1 -1
  144. package/viewer/assets/{lv-LV-5QDEKY6T-DzCqbO2y.js → lv-LV-5QDEKY6T-CwojNUbs.js} +1 -1
  145. package/viewer/assets/main-DiKVn7u-.js +4 -0
  146. package/viewer/assets/main-Qy_H7MQU.css +1 -0
  147. package/viewer/assets/md-ZsTh5p5_.js +2 -0
  148. package/viewer/assets/{mermaid-parser.core-C6XeWUpp.js → mermaid-parser.core-BGXVtjga.js} +2 -2
  149. package/viewer/assets/{mindmap-definition-RKZ34NQL-DZabRNmz.js → mindmap-definition-RKZ34NQL-C-TGBNLX.js} +1 -1
  150. package/viewer/assets/model-WJMzK3Bx.js +2 -0
  151. package/viewer/assets/{mr-IN-CRQNXWMA-JRrDEdHH.js → mr-IN-CRQNXWMA-CWtUkVOL.js} +1 -1
  152. package/viewer/assets/{my-MM-5M5IBNSE-DgtXAn-m.js → my-MM-5M5IBNSE-C_XxxIOL.js} +1 -1
  153. package/viewer/assets/{nb-NO-T6EIAALU-DIogHd49.js → nb-NO-T6EIAALU-Btei_XbN.js} +1 -1
  154. package/viewer/assets/nestedRender-BYf7LsWF.js +3 -0
  155. package/viewer/assets/{nl-NL-IS3SIHDZ-Dj3eBF-z.js → nl-NL-IS3SIHDZ-CLa9lIGi.js} +1 -1
  156. package/viewer/assets/{nn-NO-6E72VCQL-Cn6gfO2d.js → nn-NO-6E72VCQL-STHIRJJz.js} +1 -1
  157. package/viewer/assets/{oc-FR-POXYY2M6-DbuLv90f.js → oc-FR-POXYY2M6-AlqHSf2A.js} +1 -1
  158. package/viewer/assets/{ofd-CCbysLg2.js → ofd-LNt40L0x.js} +1 -1
  159. package/viewer/assets/ofd-hH7Lx5fE.js +2 -0
  160. package/viewer/assets/{ordinal-CEZ33b-s.js → ordinal-DCScp9-v.js} +1 -1
  161. package/viewer/assets/{pa-IN-N4M65BXN-B9Jfucii.js → pa-IN-N4M65BXN-C5YYhOry.js} +1 -1
  162. package/viewer/assets/package-BzUY3Le1.js +296 -0
  163. package/viewer/assets/package-avoqJ--x.css +1 -0
  164. package/viewer/assets/packet-YPE3B663-DqBKru-C.js +1 -0
  165. package/viewer/assets/pdf-DUcu0vwy.js +2 -0
  166. package/viewer/assets/percentages-BXMCSKIN-C5naDcRH.js +1 -0
  167. package/viewer/assets/pica-D7mbm30s.js +2 -0
  168. package/viewer/assets/{pie-DUmD7IHG.js → pie-CRd9Jc0K.js} +1 -1
  169. package/viewer/assets/pie-LRSECV5Y-DgIgfV4D.js +1 -0
  170. package/viewer/assets/{pieDiagram-4H26LBE5-hBGmntmk.js → pieDiagram-4H26LBE5-CR0X6m7j.js} +1 -1
  171. package/viewer/assets/{pl-PL-T2D74RX3-CZA6kVxr.js → pl-PL-T2D74RX3-DNpdFsH8.js} +1 -1
  172. package/viewer/assets/pptx-BhaDWkfM.js +2 -0
  173. package/viewer/assets/{prod-DGEzi_sx.js → prod-sjH-QSi1.js} +7 -7
  174. package/viewer/assets/{pt-BR-5N22H2LF-CJBEgmdW.js → pt-BR-5N22H2LF-CovgHQeR.js} +1 -1
  175. package/viewer/assets/{pt-PT-UZXXM6DQ-YcL-83Sy.js → pt-PT-UZXXM6DQ-dokXVmhl.js} +1 -1
  176. package/viewer/assets/{quadrantDiagram-W4KKPZXB-5sC-S6oT.js → quadrantDiagram-W4KKPZXB-6kMEtAn4.js} +1 -1
  177. package/viewer/assets/radar-GUYGQ44K-DDAIGbwM.js +1 -0
  178. package/viewer/assets/renderer-DgCTjHNM.js +1 -0
  179. package/viewer/assets/{requirementDiagram-4Y6WPE33-DkUHwjui.js → requirementDiagram-4Y6WPE33-BA75MpNz.js} +1 -1
  180. package/viewer/assets/{ro-RO-JPDTUUEW-DjtOcA5F.js → ro-RO-JPDTUUEW-B03_KW0v.js} +1 -1
  181. package/viewer/assets/rough.esm-CtRmaVvx.js +1 -0
  182. package/viewer/assets/{ru-RU-B4JR7IUQ-CivC8w7d.js → ru-RU-B4JR7IUQ-B_C8A3aI.js} +1 -1
  183. package/viewer/assets/{sankeyDiagram-5OEKKPKP-DHnEZduX.js → sankeyDiagram-5OEKKPKP-Bvr9MFlL.js} +1 -1
  184. package/viewer/assets/{sequenceDiagram-3UESZ5HK-liCjEWzN.js → sequenceDiagram-3UESZ5HK-D2lyTrsV.js} +1 -1
  185. package/viewer/assets/{si-LK-N5RQ5JYF-DcC_iAkX.js → si-LK-N5RQ5JYF-DegugaM_.js} +1 -1
  186. package/viewer/assets/{sk-SK-C5VTKIMK-B5j33LSm.js → sk-SK-C5VTKIMK-B4PJqvUJ.js} +1 -1
  187. package/viewer/assets/{sl-SI-NN7IZMDC-Bvp7QhC6.js → sl-SI-NN7IZMDC-Df64jVGw.js} +1 -1
  188. package/viewer/assets/{src-C-6PUQ-1.js → src-CBaGS_wh.js} +1 -1
  189. package/viewer/assets/{stateDiagram-AJRCARHV-BT0rGRCf.js → stateDiagram-AJRCARHV-PKtpCfic.js} +1 -1
  190. package/viewer/assets/stateDiagram-v2-BHNVJYJU-Dge3aXLV.js +1 -0
  191. package/viewer/assets/subset-shared.chunk-3OFU-pwz.js +1 -0
  192. package/viewer/assets/{subset-worker.chunk-DJcS8Bpg.js → subset-worker.chunk-DtRH5DPE.js} +1 -1
  193. package/viewer/assets/{sv-SE-XGPEYMSR-DFEd48lm.js → sv-SE-XGPEYMSR-B9XZHkYy.js} +1 -1
  194. package/viewer/assets/{ta-IN-2NMHFXQM-CHNfCwC-.js → ta-IN-2NMHFXQM-CSyfBCRt.js} +1 -1
  195. package/viewer/assets/text-BIuCfuAP.js +2 -0
  196. package/viewer/assets/{th-TH-HPSO5L25-4cc3XUNg.js → th-TH-HPSO5L25-Dqnv5J3c.js} +1 -1
  197. package/viewer/assets/{time-0omzMTb_.js → time-DJ3gVSNH.js} +1 -1
  198. package/viewer/assets/{timeline-definition-PNZ67QCA-mCfjuMwo.js → timeline-definition-PNZ67QCA-BAzZv7xK.js} +1 -1
  199. package/viewer/assets/{tr-TR-DEFEU3FU-BN6Up0rv.js → tr-TR-DEFEU3FU-DC2uSW18.js} +1 -1
  200. package/viewer/assets/treeView-BLDUP644-ChlIgn-W.js +1 -0
  201. package/viewer/assets/treemap-LRROVOQU-BAyamQqb.js +1 -0
  202. package/viewer/assets/typst-SgSPYOMT.js +2 -0
  203. package/viewer/assets/typst_ts_renderer_bg-DRRWm1TP.wasm +0 -0
  204. package/viewer/assets/{uk-UA-QMV73CPH-DzjnXfb4.js → uk-UA-QMV73CPH-BDESx35z.js} +1 -1
  205. package/viewer/assets/umd-B8xdAyvH.js +2 -0
  206. package/viewer/assets/{vennDiagram-CIIHVFJN-CxlImpyM.js → vennDiagram-CIIHVFJN-BmGEKaQ-.js} +1 -1
  207. package/viewer/assets/{vi-VN-M7AON7JQ-DSWHNiUw.js → vi-VN-M7AON7JQ-CMeKEsgs.js} +1 -1
  208. package/viewer/assets/wardley-L42UT6IY-2zg3KYzM.js +1 -0
  209. package/viewer/assets/{wardleyDiagram-YWT4CUSO-Bc_vp_2j.js → wardleyDiagram-YWT4CUSO-C8oe-4j_.js} +1 -1
  210. package/viewer/assets/wasm-D8RgCHep.js +1 -0
  211. package/viewer/assets/wasm-pack-shim-C7VIdtxY.js +1 -0
  212. package/viewer/assets/wasm-pack-shim-PvChQaoQ.js +1 -0
  213. package/viewer/assets/{word-FdCJXkda.js → word-DHSOzOoC.js} +2 -2
  214. package/viewer/assets/xlsx-CW-rEu9c.js +2 -0
  215. package/viewer/assets/{xychartDiagram-2RQKCTM6-cRvSMQE8.js → xychartDiagram-2RQKCTM6-CkUeox50.js} +1 -1
  216. package/viewer/assets/{zh-CN-LNUGB5OW-CRscQdGo.js → zh-CN-LNUGB5OW-DYFA40K_.js} +1 -1
  217. package/viewer/assets/{zh-HK-E62DVLB3-DwtXc2ez.js → zh-HK-E62DVLB3-BZBLV5qY.js} +1 -1
  218. package/viewer/assets/{zh-TW-RAJ6MFWO-B7ojXG_Q.js → zh-TW-RAJ6MFWO-DFF6eags.js} +1 -1
  219. package/viewer/compare.html +19 -0
  220. package/viewer/flyfish-viewer-manifest.json +1 -1
  221. package/viewer/index.html +5 -2
  222. package/viewer/assets/ArchiveViewer-CcaAEWxO.js +0 -1
  223. package/viewer/assets/AudioViewer-BjF25YAm.js +0 -1
  224. package/viewer/assets/CadViewer-C0QgqOUx.js +0 -1
  225. package/viewer/assets/CodeViewer-Ch9na7WK.js +0 -2
  226. package/viewer/assets/DrawingViewer-BG-a6aRI.js +0 -2
  227. package/viewer/assets/EdaViewer-CPQ0OplH.js +0 -8
  228. package/viewer/assets/EmailViewer-BVedx1xl.js +0 -4
  229. package/viewer/assets/EpubViewer-CHbzxH40.js +0 -2
  230. package/viewer/assets/ImageViewer-BhiqDvTd.js +0 -1
  231. package/viewer/assets/ModelViewer-vJ20JzA9.js +0 -2
  232. package/viewer/assets/OfdViewer-NQPw-Mah.js +0 -2
  233. package/viewer/assets/PptxRender-CIEoUuJx.js +0 -32
  234. package/viewer/assets/UmdViewer-Bl9DwUir.js +0 -3
  235. package/viewer/assets/architecture-7EHR7CIX-DuuZoBFI.js +0 -1
  236. package/viewer/assets/architectureDiagram-3BPJPVTR-CUiv7vBt.js +0 -36
  237. package/viewer/assets/archive-CIcfmjdA.js +0 -2
  238. package/viewer/assets/audio-BVz7r-vA.js +0 -2
  239. package/viewer/assets/cad-Bp11_qg7.js +0 -2
  240. package/viewer/assets/cfb-CBlZ-Tu_.js +0 -11
  241. package/viewer/assets/channel-BEgY7lnG.js +0 -1
  242. package/viewer/assets/chunk-55IACEB6-DUBLXdKL.js +0 -1
  243. package/viewer/assets/chunk-AGHRB4JF-DOd8ZVka.js +0 -1
  244. package/viewer/assets/chunk-LZXEDZCA-CsydnLnr.js +0 -2
  245. package/viewer/assets/chunk-QZHKN3VN-B7qto_fo.js +0 -1
  246. package/viewer/assets/chunk-SRAX5OIU-DTPuYDPS.js +0 -1
  247. package/viewer/assets/chunk-WU5MYG2G-BT9QGgBg.js +0 -1
  248. package/viewer/assets/classDiagram-4FO5ZUOK-BsYZOWlA.js +0 -1
  249. package/viewer/assets/classDiagram-v2-Q7XG4LA2-D8H8TEqe.js +0 -1
  250. package/viewer/assets/core-DjVECA_w.js +0 -3
  251. package/viewer/assets/cose-bilkent-S5V4N54A-BhrcOJUn.js +0 -1
  252. package/viewer/assets/dist-Bs30FHMp.js +0 -1
  253. package/viewer/assets/docx-preview-DUt9cw6d.js +0 -20
  254. package/viewer/assets/drawing-adB9hOzE.js +0 -2
  255. package/viewer/assets/ebook-4d5cskIQ.js +0 -2
  256. package/viewer/assets/eda-D-cY1IPP.js +0 -2
  257. package/viewer/assets/email-BtlW1Mff.js +0 -2
  258. package/viewer/assets/eventmodeling-FCH6USID-BtuOgoLy.js +0 -1
  259. package/viewer/assets/gitGraph-WXDBUCRP-2o_b6R_7.js +0 -1
  260. package/viewer/assets/image-D6N1bDFE.js +0 -2
  261. package/viewer/assets/image-GAAHSSAO-CMi25gOf.js +0 -1
  262. package/viewer/assets/index-B_rKNGx-.css +0 -1
  263. package/viewer/assets/index-DP0aBxNP.js +0 -299
  264. package/viewer/assets/info-J43DQDTF-DYwZejl8.js +0 -1
  265. package/viewer/assets/md-CJ8I-UoT.js +0 -2
  266. package/viewer/assets/model-dLh7hsTV.js +0 -2
  267. package/viewer/assets/nestedRender-BfyUMgZx.js +0 -3
  268. package/viewer/assets/ofd-P60wwkCc.js +0 -2
  269. package/viewer/assets/packet-YPE3B663-Bcn5b98B.js +0 -1
  270. package/viewer/assets/pdf-D1LQO7uf.js +0 -2
  271. package/viewer/assets/percentages-BXMCSKIN-BVl7pumT.js +0 -1
  272. package/viewer/assets/pica-CXjnXwN8.js +0 -2
  273. package/viewer/assets/pie-LRSECV5Y-v7uF-sA7.js +0 -1
  274. package/viewer/assets/pptx-98BF9vSb.js +0 -2
  275. package/viewer/assets/radar-GUYGQ44K-BCS4X1aw.js +0 -1
  276. package/viewer/assets/rough.esm-CA6TiziR.js +0 -1
  277. package/viewer/assets/stateDiagram-v2-BHNVJYJU-9scd674J.js +0 -1
  278. package/viewer/assets/subset-shared.chunk-BWLKXcn8.js +0 -1
  279. package/viewer/assets/text-CocRMFVl.js +0 -2
  280. package/viewer/assets/treeView-BLDUP644-krRIGIJs.js +0 -1
  281. package/viewer/assets/treemap-LRROVOQU-BuCUkeJd.js +0 -1
  282. package/viewer/assets/umd-CVCUOmhK.js +0 -2
  283. package/viewer/assets/wardley-L42UT6IY-CAK0a62K.js +0 -1
  284. package/viewer/assets/xlsx-DLSWS024.js +0 -2
  285. /package/viewer/assets/{bash-BJm0Os9e.js → bash-S8eE0ZTO.js} +0 -0
  286. /package/viewer/assets/{chunk-6U3AYISY-sM9HnDSj.js → chunk-6U3AYISY-D3Imc8oH.js} +0 -0
  287. /package/viewer/assets/{chunk-Z3N5DIM6-DVAc8Qv7.js → chunk-Z3N5DIM6-DxbXKGME.js} +0 -0
  288. /package/viewer/assets/{chunk-ZUYEQ4TG-DaQMhOk1.js → chunk-ZUYEQ4TG-D5ZmrcSz.js} +0 -0
  289. /package/viewer/assets/{cpp-DF3_Y4Y1.js → cpp-5qXNyrbZ.js} +0 -0
  290. /package/viewer/assets/{csharp-BtVV86wX.js → csharp-DyDx6xfk.js} +0 -0
  291. /package/viewer/assets/{css-wZv8YE7b.js → css-EhEuVXep.js} +0 -0
  292. /package/viewer/assets/{cytoscape.esm-WGAx6pUv.js → cytoscape.esm-BhgqxaGC.js} +0 -0
  293. /package/viewer/assets/{defaultLocale-GXPQCpCV.js → defaultLocale-Be9Eo3DJ.js} +0 -0
  294. /package/viewer/assets/{diff-Bxf4Bdyj.js → diff-C7rShVzh.js} +0 -0
  295. /package/viewer/assets/{directory-open-01563666-BniaG4fL.js → directory-open-01563666-DZbHD0S2.js} +0 -0
  296. /package/viewer/assets/{directory-open-4ed118d0-BHba9d9p.js → directory-open-4ed118d0-D-tRUWVb.js} +0 -0
  297. /package/viewer/assets/{dist-CDIdMEAB.js → dist-CP5u4RQ7.js} +0 -0
  298. /package/viewer/assets/{fflate.module-BCuI6M8v.js → fflate.module-CET2rj3S.js} +0 -0
  299. /package/viewer/assets/{file-open-002ab408-CbDP93PM.js → file-open-002ab408-B9k9Qrj1.js} +0 -0
  300. /package/viewer/assets/{file-open-7c801643-CWQArfXm.js → file-open-7c801643-zM-3dRdG.js} +0 -0
  301. /package/viewer/assets/{file-save-3189631c-BmTfrWvU.js → file-save-3189631c-ByhXkl1_.js} +0 -0
  302. /package/viewer/assets/{file-save-745eba88-DNetLxMl.js → file-save-745eba88-Dl2X9_bt.js} +0 -0
  303. /package/viewer/assets/{go-B7mD4oi7.js → go-DwST4yyI.js} +0 -0
  304. /package/viewer/assets/{graphlib-rjQwA88M.js → graphlib-BtaXJDGg.js} +0 -0
  305. /package/viewer/assets/{image-blob-reduce.esm-ClRzuTkj.js → image-blob-reduce.esm-z38uXItA.js} +0 -0
  306. /package/viewer/assets/{ini-BMQSfYcX.js → ini-1rCXzZpj.js} +0 -0
  307. /package/viewer/assets/{init-Bj57mB65.js → init-L_XUKIOb.js} +0 -0
  308. /package/viewer/assets/{java-CLKxIYNp.js → java-Bt-CuAbH.js} +0 -0
  309. /package/viewer/assets/{javascript-KR3bXd09.js → javascript-ByQvC393.js} +0 -0
  310. /package/viewer/assets/{json-CKtDrYhA.js → json-BAKNGepy.js} +0 -0
  311. /package/viewer/assets/{katex-BRA9miIt.js → katex-CX8BRU-l.js} +0 -0
  312. /package/viewer/assets/{libarchive-BWmjBS7s.js → libarchive-BAtGUHS7.js} +0 -0
  313. /package/viewer/assets/{markdown-DQnm92SS.js → markdown-BcrQOQXE.js} +0 -0
  314. /package/viewer/assets/{mp4-BUE9yAIt.js → mp4-8ORj0kfb.js} +0 -0
  315. /package/viewer/assets/{php-B8QdQEEH.js → php-CPVBpRrh.js} +0 -0
  316. /package/viewer/assets/{postal-mime-_xaVOoDw.js → postal-mime-BmZ9KSZh.js} +0 -0
  317. /package/viewer/assets/{printLayout-CMOwK714.js → printLayout-ChXxuL39.js} +0 -0
  318. /package/viewer/assets/{python-5t6UGqKu.js → python-Lq7lY5pJ.js} +0 -0
  319. /package/viewer/assets/{roundRect-Bcu5tbLc.js → roundRect-CO90fevV.js} +0 -0
  320. /package/viewer/assets/{rust-CKj8FOnD.js → rust-ByqymhlZ.js} +0 -0
  321. /package/viewer/assets/{sql-Ce6HY06Z.js → sql-k7828v9s.js} +0 -0
  322. /package/viewer/assets/{src-BBw8FbvP.js → src-DgPMd_PO.js} +0 -0
  323. /package/viewer/assets/{three.module-CZIqdNh9.js → three.module-B3kUtiXa.js} +0 -0
  324. /package/viewer/assets/{typescript-CL2ByGCA.js → typescript-CavFMSnb.js} +0 -0
  325. /package/viewer/assets/{worker-ref-BqLasdQ2.js → worker-ref-AQYU8C4A.js} +0 -0
  326. /package/viewer/assets/{xml-CKLaISb_.js → xml-CN7UyfCr.js} +0 -0
  327. /package/viewer/assets/{yaml-CnW-k44d.js → yaml-BmvXLson.js} +0 -0
@@ -1 +0,0 @@
1
- import{A as e,B as t,D as n,E as r,F as i,I as a,L as o,O as s,R as c,V as l,_ as u,a as ee,b as d,g as f,h as p,i as te,j as ne,l as m,o as h,p as re,t as g,w as _,y as v,z as ie}from"./index-DP0aBxNP.js";import{t as ae}from"./nestedRender-BfyUMgZx.js";var y=`flyfish-file-viewer-cache`,b=`archiveEntries`,x=1,S=24*1024*1024,C=96*1024*1024,w=null,T=()=>typeof indexedDB<`u`,E=()=>T()?w||(w=new Promise((e,t)=>{let n=indexedDB.open(y,x);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(b)||e.createObjectStore(b,{keyPath:`key`}).createIndex(`updatedAt`,`updatedAt`)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)}),w):Promise.reject(Error(`IndexedDB 不可用`)),D=async(e,t)=>{let n=await E();return new Promise((r,i)=>{let a=n.transaction(b,e),o=t(a.objectStore(b));o.onsuccess=()=>r(o.result),o.onerror=()=>i(o.error),a.onerror=()=>i(a.error)})},oe=async e=>{try{return await D(`readonly`,t=>t.get(e))||null}catch{return null}},O=async()=>{try{let e=await E();await new Promise((t,n)=>{let r=e.transaction(b,`readwrite`),i=r.objectStore(b),a=i.index(`updatedAt`),o=[],s=0;a.openCursor().onsuccess=e=>{let t=e.target.result;if(!t){for(;s>C&&o.length;){let e=o.shift();e&&(s-=e.size,i.delete(e.key))}return}let n=t.value;s+=n.size||0,o.push({key:n.key,size:n.size||0}),t.continue()},r.oncomplete=()=>t(),r.onerror=()=>n(r.error)})}catch{}},k=async e=>{if(!(e.size>S))try{await D(`readwrite`,t=>t.put({...e,updatedAt:Date.now()})),await O()}catch{}},A='/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nconst e=Symbol("Comlink.proxy"),r=Symbol("Comlink.endpoint"),t=Symbol("Comlink.releaseProxy"),n=Symbol("Comlink.finalizer"),o=Symbol("Comlink.thrown"),a=e=>"object"==typeof e&&null!==e||"function"==typeof e,s=new Map([["proxy",{canHandle:r=>a(r)&&r[e],serialize(e){const{port1:r,port2:t}=new MessageChannel;return i(e,r),[t,[t]]},deserialize(e){return e.start(),f(e,[],r);var r}}],["throw",{canHandle:e=>a(e)&&o in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function i(r,t=globalThis,a=["*"]){t.addEventListener("message",(function s(l){if(!l||!l.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(a,l.origin))return void console.warn(`Invalid origin \'${l.origin}\' for comlink proxy`);const{id:c,type:d,path:h}=Object.assign({path:[]},l.data),f=(l.data.argumentList||[]).map(w);let m;try{const t=h.slice(0,-1).reduce(((e,r)=>e[r]),r),n=h.reduce(((e,r)=>e[r]),r);switch(d){case"GET":m=n;break;case"SET":t[h.slice(-1)[0]]=w(l.data.value),m=!0;break;case"APPLY":m=n.apply(t,f);break;case"CONSTRUCT":m=function(r){return Object.assign(r,{[e]:!0})}(new n(...f));break;case"ENDPOINT":{const{port1:e,port2:t}=new MessageChannel;i(r,t),m=function(e,r){return p.set(e,r),e}(e,[e])}break;case"RELEASE":m=void 0;break;default:return}}catch(e){m={value:e,[o]:0}}Promise.resolve(m).catch((e=>({value:e,[o]:0}))).then((e=>{const[o,a]=v(e);t.postMessage(Object.assign(Object.assign({},o),{id:c}),a),"RELEASE"===d&&(t.removeEventListener("message",s),u(t),n in r&&"function"==typeof r[n]&&r[n]())})).catch((e=>{const[r,n]=v({value:new TypeError("Unserializable return value"),[o]:0});t.postMessage(Object.assign(Object.assign({},r),{id:c}),n)}))})),t.start&&t.start()}function u(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function l(e){if(e)throw new Error("Proxy has been released and is not useable")}function c(e){return g(e,{type:"RELEASE"}).then((()=>{u(e)}))}const d=new WeakMap,h="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(d.get(e)||0)-1;d.set(e,r),0===r&&c(e)}));function f(e,n=[],o=function(){}){let a=!1;const s=new Proxy(o,{get(r,o){if(l(a),o===t)return()=>{!function(e){h&&h.unregister(e)}(s),c(e),a=!0};if("then"===o){if(0===n.length)return{then:()=>s};const r=g(e,{type:"GET",path:n.map((e=>e.toString()))}).then(w);return r.then.bind(r)}return f(e,[...n,o])},set(r,t,o){l(a);const[s,i]=v(o);return g(e,{type:"SET",path:[...n,t].map((e=>e.toString())),value:s},i).then(w)},apply(t,o,s){l(a);const i=n[n.length-1];if(i===r)return g(e,{type:"ENDPOINT"}).then(w);if("bind"===i)return f(e,n.slice(0,-1));const[u,c]=m(s);return g(e,{type:"APPLY",path:n.map((e=>e.toString())),argumentList:u},c).then(w)},construct(r,t){l(a);const[o,s]=m(t);return g(e,{type:"CONSTRUCT",path:n.map((e=>e.toString())),argumentList:o},s).then(w)}});return function(e,r){const t=(d.get(r)||0)+1;d.set(r,t),h&&h.register(e,r,e)}(s,e),s}function m(e){const r=e.map(v);return[r.map((e=>e[0])),(t=r.map((e=>e[1])),Array.prototype.concat.apply([],t))];var t}const p=new WeakMap;function v(e){for(const[r,t]of s)if(t.canHandle(e)){const[n,o]=t.serialize(e);return[{type:"HANDLER",name:r,value:n},o]}return[{type:"RAW",value:e},p.get(e)||[]]}function w(e){switch(e.type){case"HANDLER":return s.get(e.name).deserialize(e.value);case"RAW":return e.value}}function g(e,r,t){return new Promise((n=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function r(t){t.data&&t.data.id&&t.data.id===o&&(e.removeEventListener("message",r),n(t.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},r),t)}))}const _={32768:"FILE",16384:"DIR",40960:"SYMBOLIC_LINK",49152:"SOCKET",8192:"CHARACTER_DEVICE",24576:"BLOCK_DEVICE",4096:"NAMED_PIPE"};class y{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._file=null,this._passphrase=null,this._locale="en_US.UTF-8"}async open(e){null!==this._file&&(console.warn("Closing previous file"),this.close());const r=await this._loadFile(e);this._fileLength=r.length,this._filePtr=r.ptr}close(){this._runCode.closeArchive(this._archive),this._wasmModule._free(this._filePtr),this._file=null,this._filePtr=null,this._archive=null}hasEncryptedData(){this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale),this._runCode.getNextEntry(this._archive);const e=this._runCode.hasEncryptedEntries(this._archive);return 0!==e&&(e>0||null)}setPassphrase(e){this._passphrase=e}setLocale(e){this._locale=e}*entries(e=!1,r=null){let t;for(this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale);t=this._runCode.getNextEntry(this._archive),0!==t;){const n={size:this._runCode.getEntrySize(t),path:this._runCode.getEntryName(t),type:_[this._runCode.getEntryType(t)],lastModified:this._runCode.getEntryLastModified(t),ref:t};if("FILE"===n.type){let e=n.path.split("/");n.fileName=e[e.length-1]}if(e&&r!==n.path)this._runCode.skipEntry(this._archive);else{const e=this._runCode.getFileData(this._archive,n.size);if(e<0)throw new Error(this._runCode.getError(this._archive));n.fileData=this._wasmModule.HEAPU8.slice(e,e+n.size),this._wasmModule._free(e)}yield n}}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}class E{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._passphrase=null,this._locale="en_US.UTF-8"}async write(e,r,t,n=null){let o=e.reduce(((e,{file:r})=>e+r.size+128),0)+128;const a=this._runCode.malloc(o),s=this._runCode.malloc(this._runCode.sizeOfSizeT()),i=this._runCode.startArchiveWrite(r,t,a,o,s,n);for(const{file:r,pathname:t}of e){const e=await this._loadFile(r);this._runCode.writeArchiveFile(i,t||r.name,e.length,e.ptr),this._runCode.free(e.ptr)}const u=this._runCode.finishArchiveWrite(i,s);if(u<0)throw new Error(this._runCode.getError(i));return this._wasmModule.HEAPU8.slice(a,a+u)}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}var b,k=(b=import.meta.url,async function(e={}){var r,t,n=e;n.ready=new Promise(((e,n)=>{r=e,t=n}));var o,a,s,i=Object.assign({},n),u="./this.program",l=(e,r)=>{throw r},c="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";if(h){const{createRequire:e}=await import("module");var m=e(import.meta.url),p=m("fs"),v=m("path");f=d?v.dirname(f)+"/":m("url").fileURLToPath(new URL("./",import.meta.url)),o=(e,r)=>(e=Y(e)?new URL(e):v.normalize(e),p.readFileSync(e,r?void 0:"utf8")),s=e=>{var r=o(e,!0);return r.buffer||(r=new Uint8Array(r)),r},a=(e,r,t,n=!0)=>{e=Y(e)?new URL(e):v.normalize(e),p.readFile(e,n?void 0:"utf8",((e,o)=>{e?t(e):r(n?o.buffer:o)}))},!n.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\\\/g,"/")),process.argv.slice(2),l=(e,r)=>{throw process.exitCode=e,r},n.inspect=()=>"[Emscripten Module object]"}else(c||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),b&&(f=b),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},d&&(s=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),a=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var w,g,_=n.print||console.log.bind(console),y=n.printErr||console.error.bind(console);Object.assign(n,i),i=null,n.arguments&&n.arguments,n.thisProgram&&(u=n.thisProgram),n.quit&&(l=n.quit),n.wasmBinary&&(w=n.wasmBinary),"object"!=typeof WebAssembly&&O("no native wasm support detected");var E,k,S,F,D,M=!1;function A(e,r){e||O(r)}function C(){var e=g.buffer;n.HEAP8=E=new Int8Array(e),n.HEAP16=S=new Int16Array(e),n.HEAPU8=k=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAP32=F=new Int32Array(e),n.HEAPU32=D=new Uint32Array(e),n.HEAPF32=new Float32Array(e),n.HEAPF64=new Float64Array(e)}var P=[],T=[],R=[],z=0,U=null;function L(e){z++,n.monitorRunDependencies?.(z)}function x(e){if(z--,n.monitorRunDependencies?.(z),0==z&&U){var r=U;U=null,r()}}function O(e){n.onAbort?.(e),y(e="Aborted("+e+")"),M=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw t(r),r}var N,B,j,I,H=e=>e.startsWith("data:application/octet-stream;base64,"),Y=e=>e.startsWith("file://");function W(e){if(e==N&&w)return new Uint8Array(w);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}function K(e,r,t){return function(e){if(!w&&(c||d)){if("function"==typeof fetch&&!Y(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at \'"+e+"\'";return r.arrayBuffer()})).catch((()=>W(e)));if(a)return new Promise(((r,t)=>{a(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>W(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{y(`failed to asynchronously prepare wasm: ${e}`),O(e)}))}function q(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}n.locateFile?H(N="libarchive.wasm")||(B=N,N=n.locateFile?n.locateFile(B,f):f+B):N=new URL("libarchive.wasm",import.meta.url).href;var $=e=>{for(;e.length>0;)e.shift()(n)},X=n.noExitRuntime||!0,Z={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Z.isAbs(e),t="/"===e.substr(-1);return(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Z.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Z.normalize(e)).replace(/\\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Z.normalize(e.join("/"))},join2:(e,r)=>Z.normalize(e+"/"+r)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}O("initRandomDevice")})())(e),V={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:le.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Z.isAbs(n)}return(r?"/":"")+(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=V.resolve(e).substr(1),r=V.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),s=a,i=0;i<a;i++)if(n[i]!==o[i]){s=i;break}var u=[];for(i=s;i<n.length;i++)u.push("..");return(u=u.concat(o.slice(s))).join("/")}},J="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,Q=(e,r,t)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&J)return J.decode(e.subarray(r,o));for(var a="";r<o;){var s=e[r++];if(128&s){var i=63&e[r++];if(192!=(224&s)){var u=63&e[r++];if((s=224==(240&s)?(15&s)<<12|i<<6|u:(7&s)<<18|i<<12|u<<6|63&e[r++])<65536)a+=String.fromCharCode(s);else{var l=s-65536;a+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else a+=String.fromCharCode((31&s)<<6|i)}else a+=String.fromCharCode(s)}return a},ee=[],re=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},te=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,s=0;s<e.length;++s){var i=e.charCodeAt(s);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s)),i<=127){if(t>=a)break;r[t++]=i}else if(i<=2047){if(t+1>=a)break;r[t++]=192|i>>6,r[t++]=128|63&i}else if(i<=65535){if(t+2>=a)break;r[t++]=224|i>>12,r[t++]=128|i>>6&63,r[t++]=128|63&i}else{if(t+3>=a)break;r[t++]=240|i>>18,r[t++]=128|i>>12&63,r[t++]=128|i>>6&63,r[t++]=128|63&i}}return r[t]=0,t-o};function ne(e,r,t){var n=t>0?t:re(e)+1,o=new Array(n),a=te(e,o,0,o.length);return r&&(o.length=a),o}var oe={ttys:[],init(){},shutdown(){},register(e,r){oe.ttys[e]={input:[],output:[],ops:r},le.registerDevice(e,oe.stream_ops)},stream_ops:{open(e){var r=oe.ttys[e.node.rdev];if(!r)throw new le.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new le.ErrnoError(60);for(var a=0,s=0;s<n;s++){var i;try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new le.ErrnoError(29)}if(void 0===i&&0===a)throw new le.ErrnoError(6);if(null==i)break;a++,r[t+s]=i}return a&&(e.node.timestamp=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new le.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch(e){throw new le.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:e=>(()=>{if(!ee.length){var e=null;if(h){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=p.readSync(n,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\\n");if(!e)return null;ee=ne(e,!0)}return ee.shift()})(),put_char(e,r){null===r||10===r?(_(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(_(Q(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(y(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(y(Q(e.output,0)),e.output=[])}}},ae=e=>{O()},se={ops_table:null,mount:e=>se.createNode(null,"/",16895,0),createNode(e,r,t,n){if(le.isBlkdev(t)||le.isFIFO(t))throw new le.ErrnoError(63);se.ops_table||={dir:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,lookup:se.node_ops.lookup,mknod:se.node_ops.mknod,rename:se.node_ops.rename,unlink:se.node_ops.unlink,rmdir:se.node_ops.rmdir,readdir:se.node_ops.readdir,symlink:se.node_ops.symlink},stream:{llseek:se.stream_ops.llseek}},file:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:{llseek:se.stream_ops.llseek,read:se.stream_ops.read,write:se.stream_ops.write,allocate:se.stream_ops.allocate,mmap:se.stream_ops.mmap,msync:se.stream_ops.msync}},link:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,readlink:se.node_ops.readlink},stream:{}},chrdev:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:le.chrdev_stream_ops}};var o=le.createNode(e,r,t,n);return le.isDir(o.mode)?(o.node_ops=se.ops_table.dir.node,o.stream_ops=se.ops_table.dir.stream,o.contents={}):le.isFile(o.mode)?(o.node_ops=se.ops_table.file.node,o.stream_ops=se.ops_table.file.stream,o.usedBytes=0,o.contents=null):le.isLink(o.mode)?(o.node_ops=se.ops_table.link.node,o.stream_ops=se.ops_table.link.stream):le.isChrdev(o.mode)&&(o.node_ops=se.ops_table.chrdev.node,o.stream_ops=se.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=le.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,le.isDir(e.mode)?r.size=4096:le.isFile(e.mode)?r.size=e.usedBytes:le.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&se.resizeFileStorage(e,r.size)},lookup(e,r){throw le.genericErrors[44]},mknod:(e,r,t,n)=>se.createNode(e,r,t,n),rename(e,r,t){if(le.isDir(e.mode)){var n;try{n=le.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new le.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=le.lookupNode(e,r);for(var n in t.contents)throw new le.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=se.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!le.isLink(e.mode))throw new le.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-o,n);if(s>8&&a.subarray)r.set(a.subarray(o,o+s),t);else for(var i=0;i<s;i++)r[t+i]=a[o+i];return s},write(e,r,t,n,o,a){if(r.buffer===E.buffer&&(a=!1),!n)return 0;var s=e.node;if(s.timestamp=Date.now(),r.subarray&&(!s.contents||s.contents.subarray)){if(a)return s.contents=r.subarray(t,t+n),s.usedBytes=n,n;if(0===s.usedBytes&&0===o)return s.contents=r.slice(t,t+n),s.usedBytes=n,n;if(o+n<=s.usedBytes)return s.contents.set(r.subarray(t,t+n),o),n}if(se.expandFileStorage(s,o+n),s.contents.subarray&&r.subarray)s.contents.set(r.subarray(t,t+n),o);else for(var i=0;i<n;i++)s.contents[o+i]=r[t+i];return s.usedBytes=Math.max(s.usedBytes,o+n),n},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&le.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new le.ErrnoError(28);return n},allocate(e,r,t){se.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,t,n,o){if(!le.isFile(e.node.mode))throw new le.ErrnoError(43);var a,s,i=e.node.contents;if(2&o||i.buffer!==E.buffer){if((t>0||t+r<i.length)&&(i=i.subarray?i.subarray(t,t+r):Array.prototype.slice.call(i,t,t+r)),s=!0,!(a=ae()))throw new le.ErrnoError(48);E.set(i,a)}else s=!1,a=i.byteOffset;return{ptr:a,allocated:s}},msync:(e,r,t,n,o)=>(se.stream_ops.write(e,r,0,n,t,!1),0)}},ie=n.preloadPlugins||[],ue=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},le={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){if(!(e=V.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new le.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=le.root,o="/",a=0;a<t.length;a++){var s=a===t.length-1;if(s&&r.parent)break;if(n=le.lookupNode(n,t[a]),o=Z.join2(o,t[a]),le.isMountpoint(n)&&(!s||s&&r.follow_mount)&&(n=n.mounted.root),!s||r.follow)for(var i=0;le.isLink(n.mode);){var u=le.readlink(o);if(o=V.resolve(Z.dirname(o),u),n=le.lookupPath(o,{recurse_count:r.recurse_count+1}).node,i++>40)throw new le.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(le.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%le.nameTable.length},hashAddNode(e){var r=le.hashName(e.parent.id,e.name);e.name_next=le.nameTable[r],le.nameTable[r]=e},hashRemoveNode(e){var r=le.hashName(e.parent.id,e.name);if(le.nameTable[r]===e)le.nameTable[r]=e.name_next;else for(var t=le.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=le.mayLookup(e);if(t)throw new le.ErrnoError(t,e);for(var n=le.hashName(e.id,r),o=le.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return le.lookup(e,r)},createNode(e,r,t,n){var o=new le.FSNode(e,r,t,n);return le.hashAddNode(o),o},destroyNode(e){le.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>le.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=le.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{return le.lookupNode(e,r),20}catch(e){}return le.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=le.lookupNode(e,r)}catch(e){return e.errno}var o=le.nodePermissions(e,"wx");if(o)return o;if(t){if(!le.isDir(n.mode))return 54;if(le.isRoot(n)||le.getPath(n)===le.cwd())return 10}else if(le.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?le.isLink(e.mode)?32:le.isDir(e.mode)&&("r"!==le.flagsToPermissionString(r)||512&r)?31:le.nodePermissions(e,le.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=le.MAX_OPEN_FDS;e++)if(!le.streams[e])return e;throw new le.ErrnoError(33)},getStreamChecked(e){var r=le.getStream(e);if(!r)throw new le.ErrnoError(8);return r},getStream:e=>le.streams[e],createStream:(e,r=-1)=>(le.FSStream||(le.FSStream=function(){this.shared={}},le.FSStream.prototype={},Object.defineProperties(le.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new le.FSStream,e),-1==r&&(r=le.nextfd()),e.fd=r,le.streams[r]=e,e),closeStream(e){le.streams[e]=null},chrdev_stream_ops:{open(e){var r=le.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new le.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){le.devices[e]={stream_ops:r}},getDevice:e=>le.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),le.syncFSRequests++,le.syncFSRequests>1&&y(`warning: ${le.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=le.getMounts(le.root.mount),n=0;function o(e){return le.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&le.root)throw new le.ErrnoError(10);if(!o&&!a){var s=le.lookupPath(t,{follow_mount:!1});if(t=s.path,n=s.node,le.isMountpoint(n))throw new le.ErrnoError(10);if(!le.isDir(n.mode))throw new le.ErrnoError(54)}var i={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,o?le.root=u:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),u},unmount(e){var r=le.lookupPath(e,{follow_mount:!1});if(!le.isMountpoint(r.node))throw new le.ErrnoError(28);var t=r.node,n=t.mounted,o=le.getMounts(n);Object.keys(le.nameTable).forEach((e=>{for(var r=le.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&le.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=le.lookupPath(e,{parent:!0}).node,o=Z.basename(e);if(!o||"."===o||".."===o)throw new le.ErrnoError(28);var a=le.mayCreate(n,o);if(a)throw new le.ErrnoError(a);if(!n.node_ops.mknod)throw new le.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,le.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,le.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{le.mkdir(n,r)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),r|=8192,le.mknod(e,r,t)),symlink(e,r){if(!V.resolve(e))throw new le.ErrnoError(44);var t=le.lookupPath(r,{parent:!0}).node;if(!t)throw new le.ErrnoError(44);var n=Z.basename(r),o=le.mayCreate(t,n);if(o)throw new le.ErrnoError(o);if(!t.node_ops.symlink)throw new le.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=Z.dirname(e),a=Z.dirname(r),s=Z.basename(e),i=Z.basename(r);if(t=le.lookupPath(e,{parent:!0}).node,n=le.lookupPath(r,{parent:!0}).node,!t||!n)throw new le.ErrnoError(44);if(t.mount!==n.mount)throw new le.ErrnoError(75);var u,l=le.lookupNode(t,s),c=V.relative(e,a);if("."!==c.charAt(0))throw new le.ErrnoError(28);if("."!==(c=V.relative(r,o)).charAt(0))throw new le.ErrnoError(55);try{u=le.lookupNode(n,i)}catch(e){}if(l!==u){var d=le.isDir(l.mode),h=le.mayDelete(t,s,d);if(h)throw new le.ErrnoError(h);if(h=u?le.mayDelete(n,i,d):le.mayCreate(n,i))throw new le.ErrnoError(h);if(!t.node_ops.rename)throw new le.ErrnoError(63);if(le.isMountpoint(l)||u&&le.isMountpoint(u))throw new le.ErrnoError(10);if(n!==t&&(h=le.nodePermissions(t,"w")))throw new le.ErrnoError(h);le.hashRemoveNode(l);try{t.node_ops.rename(l,n,i)}catch(e){throw e}finally{le.hashAddNode(l)}}},rmdir(e){var r=le.lookupPath(e,{parent:!0}).node,t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!0);if(o)throw new le.ErrnoError(o);if(!r.node_ops.rmdir)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.rmdir(r,t),le.destroyNode(n)},readdir(e){var r=le.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new le.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=le.lookupPath(e,{parent:!0}).node;if(!r)throw new le.ErrnoError(44);var t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!1);if(o)throw new le.ErrnoError(o);if(!r.node_ops.unlink)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.unlink(r,t),le.destroyNode(n)},readlink(e){var r=le.lookupPath(e).node;if(!r)throw new le.ErrnoError(44);if(!r.node_ops.readlink)throw new le.ErrnoError(28);return V.resolve(le.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=le.lookupPath(e,{follow:!r}).node;if(!t)throw new le.ErrnoError(44);if(!t.node_ops.getattr)throw new le.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>le.stat(e,!0),chmod(e,r,t){var n;if(!(n="string"==typeof e?le.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new le.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){le.chmod(e,r,!0)},fchmod(e,r){var t=le.getStreamChecked(e);le.chmod(t.node,r)},chown(e,r,t,n){var o;if(!(o="string"==typeof e?le.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new le.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){le.chown(e,r,t,!0)},fchown(e,r,t){var n=le.getStreamChecked(e);le.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new le.ErrnoError(28);var t;if(!(t="string"==typeof e?le.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new le.ErrnoError(63);if(le.isDir(t.mode))throw new le.ErrnoError(31);if(!le.isFile(t.mode))throw new le.ErrnoError(28);var n=le.nodePermissions(t,"w");if(n)throw new le.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=le.getStreamChecked(e);if(0==(2097155&t.flags))throw new le.ErrnoError(28);le.truncate(t.node,r)},utime(e,r,t){var n=le.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new le.ErrnoError(44);var o;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{e=Z.normalize(e);try{o=le.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new le.ErrnoError(20)}else o=le.mknod(e,t,0),a=!0;if(!o)throw new le.ErrnoError(44);if(le.isChrdev(o.mode)&&(r&=-513),65536&r&&!le.isDir(o.mode))throw new le.ErrnoError(54);if(!a){var s=le.mayOpen(o,r);if(s)throw new le.ErrnoError(s)}512&r&&!a&&le.truncate(o,0),r&=-131713;var i=le.createStream({node:o,path:le.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!n.logReadFiles||1&r||(le.readFiles||(le.readFiles={}),e in le.readFiles||(le.readFiles[e]=1)),i},close(e){if(le.isClosed(e))throw new le.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{le.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new le.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new le.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(1==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.read)throw new le.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var s=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=s),s},write(e,r,t,n,o,a){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.write)throw new le.ErrnoError(28);e.seekable&&1024&e.flags&&le.llseek(e,0,2);var s=void 0!==o;if(s){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var i=e.stream_ops.write(e,r,t,n,o,a);return s||(e.position+=i),i},allocate(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(r<0||t<=0)throw new le.ErrnoError(28);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(!le.isFile(e.node.mode)&&!le.isDir(e.node.mode))throw new le.ErrnoError(43);if(!e.stream_ops.allocate)throw new le.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new le.ErrnoError(2);if(1==(2097155&e.flags))throw new le.ErrnoError(2);if(!e.stream_ops.mmap)throw new le.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new le.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=le.open(e,r.flags),o=le.stat(e).size,a=new Uint8Array(o);return le.read(n,a,0,o,0),"utf8"===r.encoding?t=Q(a,0):"binary"===r.encoding&&(t=a),le.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=le.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(re(r)+1),a=te(r,o,0,o.length);le.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");le.write(n,r,0,r.byteLength,void 0,t.canOwn)}le.close(n)},cwd:()=>le.currentPath,chdir(e){var r=le.lookupPath(e,{follow:!0});if(null===r.node)throw new le.ErrnoError(44);if(!le.isDir(r.node.mode))throw new le.ErrnoError(54);var t=le.nodePermissions(r.node,"x");if(t)throw new le.ErrnoError(t);le.currentPath=r.path},createDefaultDirectories(){le.mkdir("/tmp"),le.mkdir("/home"),le.mkdir("/home/web_user")},createDefaultDevices(){le.mkdir("/dev"),le.registerDevice(le.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),le.mkdev("/dev/null",le.makedev(1,3)),oe.register(le.makedev(5,0),oe.default_tty_ops),oe.register(le.makedev(6,0),oe.default_tty1_ops),le.mkdev("/dev/tty",le.makedev(5,0)),le.mkdev("/dev/tty1",le.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=G(e).byteLength),e[--r]);le.createDevice("/dev","random",t),le.createDevice("/dev","urandom",t),le.mkdir("/dev/shm"),le.mkdir("/dev/shm/tmp")},createSpecialDirectories(){le.mkdir("/proc");var e=le.mkdir("/proc/self");le.mkdir("/proc/self/fd"),le.mount({mount(){var r=le.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=le.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?le.createDevice("/dev","stdin",n.stdin):le.symlink("/dev/tty","/dev/stdin"),n.stdout?le.createDevice("/dev","stdout",null,n.stdout):le.symlink("/dev/tty","/dev/stdout"),n.stderr?le.createDevice("/dev","stderr",null,n.stderr):le.symlink("/dev/tty1","/dev/stderr"),le.open("/dev/stdin",0),le.open("/dev/stdout",1),le.open("/dev/stderr",1)},ensureErrnoError(){le.ErrnoError||(le.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},le.ErrnoError.prototype=new Error,le.ErrnoError.prototype.constructor=le.ErrnoError,[44].forEach((e=>{le.genericErrors[e]=new le.ErrnoError(e),le.genericErrors[e].stack="<generic error, no stack>"})))},staticInit(){le.ensureErrnoError(),le.nameTable=new Array(4096),le.mount(se,{},"/"),le.createDefaultDirectories(),le.createDefaultDevices(),le.createSpecialDirectories(),le.filesystems={MEMFS:se}},init(e,r,t){le.init.initialized=!0,le.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,le.createStandardStreams()},quit(){le.init.initialized=!1;for(var e=0;e<le.streams.length;e++){var r=le.streams[e];r&&le.close(r)}},findObject(e,r){var t=le.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=le.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=le.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Z.basename(e),n=le.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:le.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var s=Z.join2(e,a);try{le.mkdir(s)}catch(e){}e=s}}return s},createFile(e,r,t,n,o){var a=Z.join2("string"==typeof e?e:le.getPath(e),r),s=ue(n,o);return le.create(a,s)},createDataFile(e,r,t,n,o,a){var s=r;e&&(e="string"==typeof e?e:le.getPath(e),s=r?Z.join2(e,r):e);var i=ue(n,o),u=le.create(s,i);if(t){if("string"==typeof t){for(var l=new Array(t.length),c=0,d=t.length;c<d;++c)l[c]=t.charCodeAt(c);t=l}le.chmod(u,146|i);var h=le.open(u,577);le.write(h,t,0,t.length,0,a),le.close(h),le.chmod(u,i)}},createDevice(e,r,t,n){var o=Z.join2("string"==typeof e?e:le.getPath(e),r),a=ue(!!t,!!n);le.createDevice.major||(le.createDevice.major=64);var s=le.makedev(le.createDevice.major++,0);return le.registerDevice(s,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,r,n,o,a){for(var s=0,i=0;i<o;i++){var u;try{u=t()}catch(e){throw new le.ErrnoError(29)}if(void 0===u&&0===s)throw new le.ErrnoError(6);if(null==u)break;s++,r[n+i]=u}return s&&(e.node.timestamp=Date.now()),s},write(e,r,t,o,a){for(var s=0;s<o;s++)try{n(r[t+s])}catch(e){throw new le.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),s}}),le.mkdev(o,a,s)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ne(o(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new le.ErrnoError(29)}},createLazyFile(e,r,t,n,o){function a(){this.lengthKnown=!1,this.chunks=[]}if(a.prototype.get=function(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn\'t load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,s=1048576;o||(s=n);var i=this;i.setDataGetter((e=>{var r=e*s,o=(e+1)*s-1;if(o=Math.min(o,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==s&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn\'t load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ne(o.responseText||"",!0)})(r,o)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:s}}else i={isDevice:!1,url:t};var u=le.createFile(e,r,i,n,o);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var s=Math.min(a.length-o,n);if(a.slice)for(var i=0;i<s;i++)r[t+i]=a[o+i];else for(i=0;i<s;i++)r[t+i]=a.get(o+i);return s}return Object.keys(u.stream_ops).forEach((e=>{var r=u.stream_ops[e];l[e]=function(){return le.forceLoadFile(u),r.apply(null,arguments)}})),l.read=(e,r,t,n,o)=>(le.forceLoadFile(u),c(e,r,t,n,o)),l.mmap=(e,r,t,n,o)=>{le.forceLoadFile(u);var a=ae();if(!a)throw new le.ErrnoError(48);return c(e,E,a,r,t),{ptr:a,allocated:!0}},u.stream_ops=l,u}},ce=(e,r)=>e?Q(k,e,r):"",de={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(Z.isAbs(r))return r;var n;if(n=-100===e?le.cwd():de.getStreamFromFD(e).path,0==r.length){if(!t)throw new le.ErrnoError(44);return n}return Z.join2(n,r)},doStat(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Z.normalize(r)!==Z.normalize(le.getPath(e.node)))return-54;throw e}F[t>>2]=n.dev,F[t+4>>2]=n.mode,D[t+8>>2]=n.nlink,F[t+12>>2]=n.uid,F[t+16>>2]=n.gid,F[t+20>>2]=n.rdev,I=[n.size>>>0,(j=n.size,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+24>>2]=I[0],F[t+28>>2]=I[1],F[t+32>>2]=4096,F[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),s=n.ctime.getTime();return I=[Math.floor(o/1e3)>>>0,(j=Math.floor(o/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+40>>2]=I[0],F[t+44>>2]=I[1],D[t+48>>2]=o%1e3*1e3,I=[Math.floor(a/1e3)>>>0,(j=Math.floor(a/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+56>>2]=I[0],F[t+60>>2]=I[1],D[t+64>>2]=a%1e3*1e3,I=[Math.floor(s/1e3)>>>0,(j=Math.floor(s/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+72>>2]=I[0],F[t+76>>2]=I[1],D[t+80>>2]=s%1e3*1e3,I=[n.ino>>>0,(j=n.ino,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+88>>2]=I[0],F[t+92>>2]=I[1],0},doMsync(e,r,t,n,o){if(!le.isFile(r.node.mode))throw new le.ErrnoError(43);if(2&n)return 0;var a=k.slice(e,e+t);le.msync(r,a,o,t,n)},varargs:void 0,get(){var e=F[+de.varargs>>2];return de.varargs+=4,e},getp:()=>de.get(),getStr:e=>ce(e),getStreamFromFD:e=>le.getStreamChecked(e)},he=e=>(F[Oe()>>2]=e,e),fe={BUCKET_BUFFER_SIZE:8192,mount:e=>le.createNode(null,"/",16895,0),createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=fe.nextname(),t=fe.nextname(),n=le.createNode(fe.root,r,4096,0),o=le.createNode(fe.root,t,4096,0);n.pipe=e,o.pipe=e;var a=le.createStream({path:r,node:n,flags:0,seekable:!1,stream_ops:fe.stream_ops});n.stream=a;var s=le.createStream({path:t,node:o,flags:1,seekable:!1,stream_ops:fe.stream_ops});return o.stream=s,{readable_fd:a.fd,writable_fd:s.fd}},stream_ops:{poll(e){var r=e.node.pipe;if(1==(2097155&e.flags))return 260;if(r.buckets.length>0)for(var t=0;t<r.buckets.length;t++){var n=r.buckets[t];if(n.offset-n.roffset>0)return 65}return 0},ioctl:(e,r,t)=>28,fsync:e=>28,read(e,r,t,n,o){for(var a=e.node.pipe,s=0,i=0;i<a.buckets.length;i++){var u=a.buckets[i];s+=u.offset-u.roffset}var l=r.subarray(t,t+n);if(n<=0)return 0;if(0==s)throw new le.ErrnoError(6);var c=Math.min(s,n),d=c,h=0;for(i=0;i<a.buckets.length;i++){var f=a.buckets[i],m=f.offset-f.roffset;if(c<=m){var p=f.buffer.subarray(f.roffset,f.offset);c<m?(p=p.subarray(0,c),f.roffset+=c):h++,l.set(p);break}p=f.buffer.subarray(f.roffset,f.offset),l.set(p),l=l.subarray(p.byteLength),c-=p.byteLength,h++}return h&&h==a.buckets.length&&(h--,a.buckets[h].offset=0,a.buckets[h].roffset=0),a.buckets.splice(0,h),d},write(e,r,t,n,o){var a=e.node.pipe,s=r.subarray(t,t+n),i=s.byteLength;if(i<=0)return 0;var u=null;0==a.buckets.length?(u={buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:0,roffset:0},a.buckets.push(u)):u=a.buckets[a.buckets.length-1],A(u.offset<=fe.BUCKET_BUFFER_SIZE);var l=fe.BUCKET_BUFFER_SIZE-u.offset;if(l>=i)return u.buffer.set(s,u.offset),u.offset+=i,i;l>0&&(u.buffer.set(s.subarray(0,l),u.offset),u.offset+=l,s=s.subarray(l,s.byteLength));for(var c=s.byteLength/fe.BUCKET_BUFFER_SIZE|0,d=s.byteLength%fe.BUCKET_BUFFER_SIZE,h=0;h<c;h++){var f={buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:fe.BUCKET_BUFFER_SIZE,roffset:0};a.buckets.push(f),f.buffer.set(s.subarray(0,fe.BUCKET_BUFFER_SIZE)),s=s.subarray(fe.BUCKET_BUFFER_SIZE,s.byteLength)}return d>0&&(f={buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:s.byteLength,roffset:0},a.buckets.push(f),f.buffer.set(s)),i},close(e){var r=e.node.pipe;r.refcnt--,0===r.refcnt&&(r.buckets=null)}},nextname:()=>(fe.nextname.current||(fe.nextname.current=0),"pipe["+fe.nextname.current+++"]")},me=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,pe=e=>e%4==0&&(e%100!=0||e%400==0),ve=[0,31,60,91,121,152,182,213,244,274,305,335],we=[0,31,59,90,120,151,181,212,243,273,304,334],ge=e=>(pe(e.getFullYear())?ve:we)[e.getMonth()]+e.getDate()-1,_e=(e,r,t)=>te(e,k,r,t),ye=e=>{var r=re(e)+1,t=xe(r);return t&&_e(e,t,r),t},Ee=e=>{var r=(e-g.buffer.byteLength+65535)/65536;try{return g.grow(r),C(),1}catch(e){}},be={},ke=()=>{if(!ke.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var r in be)void 0===be[r]?delete e[r]:e[r]=be[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);ke.strings=t}return ke.strings},Se=e=>{X||(n.onExit?.(e),M=!0),l(e,new q(e))},Fe=(e,r)=>{Se(e)},De=[31,29,31,30,31,30,31,31,30,31,30,31],Me=[31,28,31,30,31,30,31,31,30,31,30,31],Ae=(e,r)=>{E.set(e,r)},Ce=e=>n["_"+e],Pe=(e,r,t,n,o)=>{var a={string:e=>{var r=0;return null!=e&&0!==e&&(r=(e=>{var r=re(e)+1,t=He(r);return _e(e,t,r),t})(e)),r},array:e=>{var r=He(e.length);return Ae(e,r),r}},s=Ce(e),i=[],u=0;if(n)for(var l=0;l<n.length;l++){var c=a[t[l]];c?(0===u&&(u=je()),i[l]=c(n[l])):i[l]=n[l]}var d=s.apply(null,i);return d=function(e){return 0!==u&&Ie(u),function(e){return"string"===r?ce(e):"boolean"===r?Boolean(e):e}(e)}(d)},Te=function(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=le.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n},Re=365,ze=146;Object.defineProperties(Te.prototype,{read:{get:function(){return(this.mode&Re)===Re},set:function(e){e?this.mode|=Re:this.mode&=-366}},write:{get:function(){return(this.mode&ze)===ze},set:function(e){e?this.mode|=ze:this.mode&=-147}},isFolder:{get:function(){return le.isDir(this.mode)}},isDevice:{get:function(){return le.isChrdev(this.mode)}}}),le.FSNode=Te,le.createPreloadedFile=(e,r,t,n,o,s,i,u,l,c)=>{var d=r?V.resolve(Z.join2(e,r)):e;function h(t){function a(t){c?.(),u||((e,r,t,n,o,a)=>{le.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),s?.(),x()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ie.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,d,a,(()=>{i?.(),x()}))||a(t)}L(),"string"==typeof t?((e,r,t,n)=>{var o=n?"":`al ${e}`;a(e,(t=>{A(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),o&&x()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&L()})(t,(e=>h(e)),i):h(t)},le.staticInit();var Ue={i:function(e){try{var r=de.getStreamFromFD(e);return le.createStream(r).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},a:function(e,r,t){de.varargs=t;try{var n=de.getStreamFromFD(e);switch(r){case 0:if((o=de.get())<0)return-28;for(;le.streams[o];)o++;return le.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=de.get();return n.flags|=o,0;case 5:return o=de.getp(),S[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return he(28),-1}}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(e,r){try{var t=de.getStreamFromFD(e);return de.doStat(le.stat,t.path,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},u:function(e,r){try{return e=de.getStr(e),de.doStat(le.lstat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,r,t,n){try{r=de.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=de.calculateAt(e,r,a),de.doStat(o?le.lstat:le.stat,r,t)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,r,t,n){de.varargs=n;try{r=de.getStr(r),r=de.calculateAt(e,r);var o=n?de.get():0;return le.open(r,t,o).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},t:function(e){try{if(0==e)throw new le.ErrnoError(21);var r=fe.createPipe();return F[e>>2]=r.readable_fd,F[e+4>>2]=r.writable_fd,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},s:function(e,r,t){try{for(var n=0,o=0;o<r;o++){var a=e+8*o,s=F[a>>2],i=S[a+4>>1],u=32,l=le.getStream(s);l&&(u=de.DEFAULT_POLLMASK,l.stream_ops.poll&&(u=l.stream_ops.poll(l,-1))),(u&=24|i)&&n++,S[a+6>>1]=u}return n}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,r){try{return e=de.getStr(e),de.doStat(le.stat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},q:function(e,r,t){try{return r=de.getStr(r),r=de.calculateAt(e,r),0===t?le.unlink(r):512===t?le.rmdir(r):O("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},B:()=>1,k:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getUTCSeconds(),F[t+4>>2]=o.getUTCMinutes(),F[t+8>>2]=o.getUTCHours(),F[t+12>>2]=o.getUTCDate(),F[t+16>>2]=o.getUTCMonth(),F[t+20>>2]=o.getUTCFullYear()-1900,F[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),s=(o.getTime()-a)/864e5|0;F[t+28>>2]=s},l:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getSeconds(),F[t+4>>2]=o.getMinutes(),F[t+8>>2]=o.getHours(),F[t+12>>2]=o.getDate(),F[t+16>>2]=o.getMonth(),F[t+20>>2]=o.getFullYear()-1900,F[t+24>>2]=o.getDay();var a=0|ge(o);F[t+28>>2]=a,F[t+36>>2]=-60*o.getTimezoneOffset();var s=new Date(o.getFullYear(),0,1),i=new Date(o.getFullYear(),6,1).getTimezoneOffset(),u=s.getTimezoneOffset(),l=0|(i!=u&&o.getTimezoneOffset()==Math.min(u,i));F[t+32>>2]=l},m:function(e){var r=(()=>{var r=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=F[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),i=Math.min(s,a);if(t<0)F[e+32>>2]=Number(a!=s&&i==n);else if(t>0!=(i==n)){var u=Math.max(s,a),l=t>0?i:u;r.setTime(r.getTime()+6e4*(l-n))}F[e+24>>2]=r.getDay();var c=0|ge(r);F[e+28>>2]=c,F[e>>2]=r.getSeconds(),F[e+4>>2]=r.getMinutes(),F[e+8>>2]=r.getHours(),F[e+12>>2]=r.getDate(),F[e+16>>2]=r.getMonth(),F[e+20>>2]=r.getYear();var d=r.getTime();return isNaN(d)?(he(61),-1):d/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},n:function(e){var r=(()=>{var r=Date.UTC(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=new Date(r);F[e+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;return F[e+28>>2]=o,t.getTime()/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},r:(e,r,t)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),s=o.getTimezoneOffset(),i=a.getTimezoneOffset(),u=Math.max(s,i);function l(e){var r=e.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return r?r[1]:"GMT"}D[e>>2]=60*u,F[r>>2]=Number(s!=i);var c=l(o),d=l(a),h=ye(c),f=ye(d);i<s?(D[t>>2]=h,D[t+4>>2]=f):(D[t>>2]=f,D[t+4>>2]=h)},b:()=>{O("")},c:()=>Date.now(),h:(e,r,t)=>k.copyWithin(e,r,r+t),p:e=>{var r=k.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var s=r*(1+.2/a);s=Math.min(s,e+100663296);var i=Math.min(t,(n=Math.max(e,s))+((o=65536)-n%o)%o);if(Ee(i))return!0}return!1},z:(e,r)=>{var t=0;return ke().forEach(((n,o)=>{var a=r+t;D[e+4*o>>2]=a,((e,r)=>{for(var t=0;t<e.length;++t)E[r++>>0]=e.charCodeAt(t);E[r>>0]=0})(n,a),t+=n.length+1})),0},A:(e,r)=>{var t=ke();D[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),D[r>>2]=n,0},g:Fe,e:function(e){try{var r=de.getStreamFromFD(e);return le.close(r),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},j:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var s=D[r>>2],i=D[r+4>>2];r+=8;var u=le.read(e,E,s,i,n);if(u<0)return-1;if(o+=u,u<i)break;void 0!==n&&(n+=u)}return o})(de.getStreamFromFD(e),r,t);return D[n>>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},o:function(e,r,t,n,o){var a=me(r,t);try{if(isNaN(a))return 61;var s=de.getStreamFromFD(e);return le.llseek(s,a,n),I=[s.position>>>0,(j=s.position,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[o>>2]=I[0],F[o+4>>2]=I[1],s.getdents&&0===a&&0===n&&(s.getdents=null),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},d:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var s=D[r>>2],i=D[r+4>>2];r+=8;var u=le.write(e,E,s,i,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o})(de.getStreamFromFD(e),r,t);return D[n>>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},f:(e,r,t,n)=>{var o=D[n+40>>2],a={tm_sec:F[n>>2],tm_min:F[n+4>>2],tm_hour:F[n+8>>2],tm_mday:F[n+12>>2],tm_mon:F[n+16>>2],tm_year:F[n+20>>2],tm_wday:F[n+24>>2],tm_yday:F[n+28>>2],tm_isdst:F[n+32>>2],tm_gmtoff:F[n+36>>2],tm_zone:o?ce(o):""},s=ce(t),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in i)s=s.replace(new RegExp(u,"g"),i[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length<r;)n=t[0]+n;return n}function h(e,r){return d(e,r,"0")}function f(e,r){function t(e){return e<0?-1:e>0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function p(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=pe(t.getFullYear()),o=t.getMonth(),a=(n?De:Me)[o];if(!(r>a-t.getDate()))return t.setDate(t.getDate()+r),t;r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=m(t),a=m(n);return f(o,r)<=0?f(a,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var v={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>h((e.tm_year+1900)/100|0,2),"%d":e=>h(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>p(e).toString().substring(2),"%G":e=>p(e),"%H":e=>h(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),h(r,2)},"%j":e=>h(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(pe(e.tm_year+1900)?De:Me,e.tm_mon-1),3),"%m":e=>h(e.tm_mon+1,2),"%M":e=>h(e.tm_min,2),"%n":()=>"\\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>h(e.tm_sec,2),"%t":()=>"\\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return h(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&pe(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&pe(e.tm_year%400-1))&&r++}return h(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return h(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in s=s.replace(/%%/g,"\\0\\0"),v)s.includes(u)&&(s=s.replace(new RegExp(u,"g"),v[u](a)));var w=ne(s=s.replace(/\\0\\0/g,"%"),!1);return w.length>r?0:(Ae(w,e),w.length-1)}},Le=function(){var e,r,o,a,s={a:Ue};function i(e,r){var t;return Le=e.exports,g=Le.C,C(),t=Le.D,T.unshift(t),x(),Le}if(L(),n.instantiateWasm)try{return n.instantiateWasm(s,i)}catch(e){y(`Module.instantiateWasm callback failed with error: ${e}`),t(e)}return(e=w,r=N,o=s,a=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||H(r)||Y(r)||h||"function"!=typeof fetch?K(r,o,a):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(a,(function(e){return y(`wasm streaming compile failed: ${e}`),y("falling back to ArrayBuffer instantiation"),K(r,o,a)}))))).catch(t),{}}();n._get_version=()=>(n._get_version=Le.E)(),n._archive_open=(e,r,t,o)=>(n._archive_open=Le.F)(e,r,t,o),n._archive_read_add_passphrase=(e,r)=>(n._archive_read_add_passphrase=Le.G)(e,r),n._archive_error_string=e=>(n._archive_error_string=Le.H)(e),n._get_next_entry=e=>(n._get_next_entry=Le.I)(e),n._get_filedata=(e,r)=>(n._get_filedata=Le.J)(e,r);var xe=n._malloc=e=>(xe=n._malloc=Le.K)(e);n._archive_close=e=>(n._archive_close=Le.L)(e),n._start_archive_write=(e,r,t,o,a,s)=>(n._start_archive_write=Le.M)(e,r,t,o,a,s),n._write_archive_file=(e,r,t,o)=>(n._write_archive_file=Le.N)(e,r,t,o),n._size_of_size_t=()=>(n._size_of_size_t=Le.O)(),n._finish_archive_write=(e,r)=>(n._finish_archive_write=Le.P)(e,r),n._free=e=>(n._free=Le.Q)(e);var Oe=()=>(Oe=Le.R)();n._archive_entry_birthtime_nsec=e=>(n._archive_entry_birthtime_nsec=Le.S)(e),n._archive_entry_filetype=e=>(n._archive_entry_filetype=Le.T)(e),n._archive_entry_mtime_nsec=e=>(n._archive_entry_mtime_nsec=Le.U)(e),n._archive_entry_pathname=e=>(n._archive_entry_pathname=Le.V)(e),n._archive_entry_pathname_utf8=e=>(n._archive_entry_pathname_utf8=Le.W)(e),n._archive_entry_size=e=>(n._archive_entry_size=Le.X)(e),n._archive_entry_is_encrypted=e=>(n._archive_entry_is_encrypted=Le.Y)(e),n._archive_read_has_encrypted_entries=e=>(n._archive_read_has_encrypted_entries=Le.Z)(e),n._archive_read_data_skip=e=>(n._archive_read_data_skip=Le._)(e);var Ne,Be=e=>(Be=Le.aa)(e),je=()=>(je=Le.ba)(),Ie=e=>(Ie=Le.ca)(e),He=e=>(He=Le.da)(e);function Ye(){function e(){Ne||(Ne=!0,n.calledRun=!0,M||(n.noFSInit||le.init.initialized||le.init(),le.ignorePermissions=!1,fe.root=le.mount(fe,{},null),$(T),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),R.unshift(e);var e;$(R)}()))}z>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),P.unshift(e);var e;$(P)}(),z>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.cwrap=(e,r,t,n)=>{var o=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&o&&!n?Ce(e):function(){return Pe(e,r,t,arguments)}},n.allocate=(e,r)=>{var t;return t=1==r?He(e.length):xe(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),k.set(e,t),t},U=function e(){Ne||Ye(),Ne||(U=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return Ye(),e.ready});class S{constructor(){this.preRun=[],this.postRun=[],this.totalDependencies=0}print(...e){console.log(e)}printErr(...e){console.error(e)}initFunctions(){this.runCode={getVersion:this.cwrap("get_version","string",[]),openArchive:this.cwrap("archive_open","number",["number","number","string","string"]),getNextEntry:this.cwrap("get_next_entry","number",["number"]),getFileData:this.cwrap("get_filedata","number",["number","number"]),skipEntry:this.cwrap("archive_read_data_skip","number",["number"]),closeArchive:this.cwrap("archive_close",null,["number"]),getEntrySize:this.cwrap("archive_entry_size","number",["number"]),getEntryName:this.cwrap("archive_entry_pathname","string",["number"]),getEntryType:this.cwrap("archive_entry_filetype","number",["number"]),getEntryLastModified:this.cwrap("archive_entry_mtime_nsec","number",["number"]),getError:this.cwrap("archive_error_string","string",["number"]),startArchiveWrite:this.cwrap("start_archive_write","number",["string","string","number","number","number","string"]),writeArchiveFile:this.cwrap("write_archive_file",null,["number","string","number","number"]),finishArchiveWrite:this.cwrap("finish_archive_write","number",["number","number"]),entryIsEncrypted:this.cwrap("archive_entry_is_encrypted","number",["number"]),hasEncryptedEntries:this.cwrap("archive_read_has_encrypted_entries","number",["number"]),addPassphrase:this.cwrap("archive_read_add_passphrase","number",["number","string"]),string:e=>this.allocate(this.intArrayFromString(e),"i8",0),malloc:this.cwrap("malloc","number",["number"]),free:this.cwrap("free",null,["number"]),sizeOfSizeT:this.cwrap("size_of_size_t","number",[])}}monitorRunDependencies(){}}let F=null,D=null,M=!1;class A{constructor(e){A.readyCallback=e,M&&setTimeout((()=>e()),0)}open(e,r){F.open(e).then((()=>r()))}listFiles(){let e=[];for(const r of F.entries(!0))e.push(r);return e}extractFiles(){let e=[];for(const r of F.entries(!1))e.push(r);return e}extractSingleFile(e){for(const r of F.entries(!0,e))if(r.fileData)return r}hasEncryptedData(){return F.hasEncryptedData()}usePassword(e){F.setPassphrase(e)}setLocale(e){F.setLocale(e)}writeArchive(e,r,t,n){return D.write(e,r,t,n)}close(){F.close()}}var C;C=e=>{F=new y(e),D=new E(e),A?.readyCallback?.(),M=!0},k(new S).then((e=>{e.initFunctions(),C(e)})),i(A);\n',j=``+new URL(`libarchive-DxGirPmi.wasm`,import.meta.url).href,M={class:`archive-viewer`},N={class:`archive-sidebar`},P={class:`archive-head`},F={key:0,class:`archive-warning`},I={class:`archive-list`,role:`list`},L=[`onClick`],R={class:`entry-ext`},z={class:`entry-copy`},B={class:`archive-preview`},V={class:`archive-preview-toolbar`},H={key:0,class:`archive-empty`},U={key:0,class:`archive-state`},se={key:1,class:`archive-error`},W=320*1024*1024,G=64*1024*1024,K=5e3,q=m(_({__name:`ArchiveViewer`,props:{data:{},filename:{},options:{}},setup(m){let _=m,y=o(null),b=a([]),x=a(null),S=a(!1),C=a(`正在读取压缩包目录...`),w=a(``),T=a(``),E=a(null),D=a(null),O,q=[],J=f(()=>_.options?.maxArchiveSize||W),Y=f(()=>_.options?.maxEntryPreviewSize||G),X=f(()=>_.options?.cache!==!1),ce=f(()=>({archive:_.options})),Z=f(()=>{let e=b.value.reduce((e,t)=>e+t.size,0),t=b.value.filter(e=>e.previewable).length;return{count:b.value.length,totalSize:e,previewableCount:t}}),le=f(()=>{let e=T.value.trim().toLowerCase();return(e?b.value.filter(t=>t.path.toLowerCase().includes(e)):b.value).slice(0,K)}),ue=()=>{let e=JSON.stringify(j),t=A.replace(/new URL\((['"])libarchive\.wasm\1\s*,\s*import\.meta\.url\)\.href/g,e),n=URL.createObjectURL(new Blob([t],{type:`application/javascript`}));return q.push(n),n},de=async()=>{if(_.options?.workerUrl)return _.options.workerUrl;let e=new URL(`/vendor/libarchive/worker-bundle.js`,window.location.href).toString();try{let t=await fetch(e,{method:`HEAD`}),n=t.headers.get(`content-type`)||``;if(t.ok&&/javascript|ecmascript|octet-stream/i.test(n))return e}catch{}return ue()},Q=()=>{O?.unmount?.(),O=void 0;let e=D.value;if(e)for(;e.firstChild;)e.removeChild(e.firstChild)},fe=async()=>{await y.value?.close?.(),y.value=null},pe=async()=>{if(_.data.byteLength>J.value){w.value=`压缩包体积 ${h(_.data.byteLength)} 超过安全上限 ${h(J.value)},请下载后在本地解压。`;return}S.value=!0,C.value=`正在初始化压缩包解析 Worker...`,w.value=``;try{let[{Archive:e},t]=await Promise.all([g(()=>import(`./libarchive-BWmjBS7s.js`),[],import.meta.url),de()]);e.init({workerUrl:t}),C.value=`正在读取压缩包目录...`;let n=new File([_.data],_.filename||`archive.bin`),r=await e.open(n);y.value=r,E.value=await r.hasEncryptedData().catch(()=>null),b.value=ee(await r.getFilesObject()).sort((e,t)=>e.path.localeCompare(t.path))}catch(e){console.error(e),w.value=e instanceof Error?e.message:String(e)}finally{S.value=!1}},me=async(e,t)=>{await r();let n=D.value;if(!n)return;Q();let i=document.createElement(`div`);i.className=`archive-nested-content`,n.appendChild(i),O=await ae(t,e.extension,i,{filename:e.name,options:ce.value})},$=async e=>{let t=te(_.filename,_.data.byteLength,e);if(X.value){let e=await oe(t);if(e)return e.buffer}let n=await(await e.compressedFile.extract()).arrayBuffer();return X.value&&await k({key:t,filename:e.name,size:n.byteLength,updatedAt:Date.now(),buffer:n}),n},he=async e=>{if(x.value=e,e.size>Y.value){w.value=`压缩包内文件 ${e.name} 体积 ${h(e.size)} 超过预览上限 ${h(Y.value)}。`;return}S.value=!0,C.value=`正在按需解压 ${e.name}...`,w.value=``;try{let t=await $(e);C.value=`正在渲染 ${e.name}...`,await me(e,t)}catch(e){console.error(e),w.value=e instanceof Error?e.message:String(e)}finally{S.value=!1}},ge=async e=>{S.value=!0,C.value=`正在导出 ${e.name}...`;try{let t=await $(e),n=URL.createObjectURL(new Blob([t]));q.push(n);let r=document.createElement(`a`);r.href=n,r.download=e.name,document.body.appendChild(r),r.click(),r.remove()}finally{S.value=!1}};return s(()=>{pe()}),n(()=>{Q(),fe(),q.forEach(e=>URL.revokeObjectURL(e))}),(n,r)=>(e(),d(`section`,M,[u(`aside`,N,[u(`div`,P,[r[2]||=u(`span`,null,`ARCHIVE`,-1),u(`strong`,null,l(m.filename),1),u(`p`,null,l(Z.value.count)+` 个文件 · `+l(c(h)(Z.value.totalSize))+` · `+l(Z.value.previewableCount)+` 个可直接预览`,1)]),E.value?(e(),d(`div`,F,`检测到加密内容,当前在线预览不接收密码,建议下载后本地解压。`)):v(``,!0),i(u(`input`,{"onUpdate:modelValue":r[0]||=e=>T.value=e,class:`archive-search`,type:`search`,placeholder:`筛选压缩包内文件`},null,512),[[re,T.value]]),u(`div`,I,[(e(!0),d(p,null,ne(le.value,n=>(e(),d(`button`,{key:n.id,type:`button`,class:ie([`archive-entry`,{active:x.value?.id===n.id}]),style:t({"--entry-depth":n.depth}),onClick:e=>he(n)},[u(`span`,R,l(n.extension||`file`),1),u(`span`,z,[u(`strong`,null,l(n.name),1),u(`em`,null,l(n.path),1)]),u(`small`,null,l(c(h)(n.size)),1)],14,L))),128))])]),u(`main`,B,[u(`div`,V,[u(`div`,null,[r[3]||=u(`span`,null,`压缩包内预览`,-1),u(`strong`,null,l(x.value?.name||`请选择一个文件`),1)]),x.value?(e(),d(`button`,{key:0,type:`button`,onClick:r[1]||=e=>ge(x.value)},`下载文件`)):v(``,!0)]),u(`div`,{ref_key:`nestedTarget`,ref:D,class:`archive-nested-target`},[!x.value&&!S.value?(e(),d(`div`,H,[...r[4]||=[u(`strong`,null,`选择左侧文件即可预览`,-1),u(`p`,null,`压缩包只读取目录;文件内容会在点击后按需解压,并在体积允许时缓存到 IndexedDB。`,-1)]])):v(``,!0)],512)]),S.value?(e(),d(`div`,U,[u(`div`,null,[r[5]||=u(`span`,{class:`archive-spinner`},null,-1),u(`strong`,null,l(C.value),1),r[6]||=u(`p`,null,`大文件会在 Worker 中解析,避免阻塞主线程。`,-1)])])):v(``,!0),w.value?(e(),d(`div`,se,[r[7]||=u(`strong`,null,`压缩包预览提示`,-1),u(`p`,null,l(w.value),1)])):v(``,!0)]))}}),[[`__scopeId`,`data-v-63b4b1b1`]]);export{q as default};
@@ -1 +0,0 @@
1
- import{A as e,B as t,D as n,I as r,N as i,O as a,V as o,_ as s,b as c,g as l,l as u,w as d}from"./index-DP0aBxNP.js";var f={class:`audio-viewer`},p={class:`audio-card`},m={class:`audio-copy`},h={class:`audio-kicker`},g={class:`audio-meter`},_={class:`audio-progress`,"aria-hidden":`true`},v=[`src`],y=u(d({__name:`AudioViewer`,props:{data:{},type:{}},setup(u){let d=u,y=r(null),b=r(``),x=r(0),S=r(0),C=r(!1),w={aac:`audio/aac`,flac:`audio/flac`,m4a:`audio/mp4`,mp3:`audio/mpeg`,mpeg:`audio/mpeg`,oga:`audio/ogg`,ogg:`audio/ogg`,opus:`audio/ogg; codecs=opus`,wav:`audio/wav`,weba:`audio/webm`},T=l(()=>d.type.trim().toLowerCase()),E=l(()=>w[T.value]||`audio/*`),D=l(()=>T.value.toUpperCase()||`AUDIO`),O=l(()=>!Number.isFinite(S.value)||S.value<=0?0:Math.min(100,Math.max(0,x.value/S.value*100))),k=e=>{if(!Number.isFinite(e)||e<=0)return`00:00`;let t=Math.floor(e/60),n=Math.floor(e%60);return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`},A=()=>{b.value&&=(URL.revokeObjectURL(b.value),``)},j=()=>{A(),x.value=0,S.value=0,C.value=!1,b.value=URL.createObjectURL(new Blob([d.data],{type:E.value}))},M=()=>{S.value=y.value?.duration||0,C.value=!0},N=()=>{x.value=y.value?.currentTime||0};return a(j),i(()=>[d.data,d.type],j),n(A),(n,r)=>(e(),c(`div`,f,[s(`section`,p,[r[2]||=s(`div`,{class:`audio-art`},[s(`span`),s(`i`)],-1),s(`div`,m,[s(`span`,h,o(D.value),1),r[0]||=s(`strong`,null,`音频预览`,-1),r[1]||=s(`p`,null,`使用浏览器原生播放器打开,兼容性取决于当前浏览器支持的音频编码。`,-1)]),s(`div`,g,[s(`span`,null,o(k(x.value)),1),s(`div`,_,[s(`i`,{style:t({width:`${O.value}%`})},null,4)]),s(`span`,null,o(C.value?k(S.value):`--:--`),1)]),s(`audio`,{ref_key:`audioRef`,ref:y,class:`audio-control`,src:b.value,controls:``,preload:`metadata`,onLoadedmetadata:M,onTimeupdate:N},` 当前浏览器不支持音频播放。 `,40,v)])]))}}),[[`__scopeId`,`data-v-608bd328`]]);export{y as default};
@@ -1 +0,0 @@
1
- import{A as e,B as t,D as n,E as r,I as i,O as a,V as o,_ as s,b as c,g as l,h as u,j as d,l as f,t as p,w as m,y as h,z as g}from"./index-DP0aBxNP.js";var _={class:`cad-viewer`},v={class:`cad-toolbar`},y={class:`cad-tools`},b={class:`cad-zoom`},x={key:0,class:`cad-layers`},S=[`onClick`],C={class:`cad-canvas-wrap`},w={key:0,class:`cad-state`},T={key:1,class:`dwg-preview`},E={class:`dwg-preview-frame`},ee=[`src`],D={key:2,class:`cad-state error`},O=1800,k=f(m({__name:`CadViewer`,props:{data:{},type:{}},setup(f){let m=f,k=i(null),A=i([]),j=i(`pan`),M=i(`loading`),N=i(``),P=i(``),F=i(``),I=i(1),L=null,R=null,z=new TextDecoder(`utf-8`),B=O*O,V={AC1015:`AutoCAD 2000/2000i/2002`,AC1018:`AutoCAD 2004/2005/2006`,AC1021:`AutoCAD 2007/2008/2009`,AC1024:`AutoCAD 2010/2011/2012`,AC1027:`AutoCAD 2013/2014/2015/2016/2017`,AC1032:`AutoCAD 2018/2019/2020/2021/2022/2023/2024`},te=e=>e instanceof Error?e.message:typeof e==`string`?e:JSON.stringify(e),H=()=>{P.value&&=(URL.revokeObjectURL(P.value),``)},ne=e=>Number(Math.min(4,Math.max(.35,e)).toFixed(2)),U=l(()=>({width:`${I.value*100}%`})),W=e=>{I.value=ne(I.value+e)},G=e=>new Promise((t,n)=>{let r=URL.createObjectURL(e),i=new Image;i.onload=()=>{URL.revokeObjectURL(r),t(i)},i.onerror=()=>{URL.revokeObjectURL(r),n(Error(`DWG 预览图加载失败`))},i.src=r}),K=(e,t,n)=>{let r=[0,(t-1)*4,(n-1)*t*4,((n-1)*t+t-1)*4],i=r.reduce((t,n)=>(t.r+=e[n],t.g+=e[n+1],t.b+=e[n+2],t.a+=e[n+3],t),{r:0,g:0,b:0,a:0});return{r:i.r/r.length,g:i.g/r.length,b:i.b/r.length,a:i.a/r.length}},q=(e,t,n)=>{let r=e[t]-n.r,i=e[t+1]-n.g,a=e[t+2]-n.b,o=e[t+3]-n.a;return Math.sqrt(r*r+i*i+a*a+o*o)},J=(e,t,n)=>e[t+3]<=12?!1:q(e,t,n)>28,Y=async e=>{let t=await G(e),n=t.naturalWidth||t.width,r=t.naturalHeight||t.height;if(!n||!r)return{blob:e,cropped:!1};let i=Math.min(1,O/Math.max(n,r),Math.sqrt(B/(n*r))),a=Math.max(1,Math.round(n*i)),o=Math.max(1,Math.round(r*i)),s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`,{willReadFrequently:!0});if(!c)return{blob:e,cropped:!1};c.drawImage(t,0,0,a,o);let l=c.getImageData(0,0,a,o),u=K(l.data,a,o),d=a,f=o,p=-1,m=-1;for(let e=0;e<o;e+=1)for(let t=0;t<a;t+=1){let n=(e*a+t)*4;J(l.data,n,u)&&(d=Math.min(d,t),f=Math.min(f,e),p=Math.max(p,t),m=Math.max(m,e))}if(p<d||m<f)return{blob:e,cropped:!1};let h=p-d+1,g=m-f+1;if(h/a>.94&&g/o>.94)return{blob:e,cropped:!1};let _=Math.max(8,Math.round(Math.max(h,g)*.04)),v=Math.max(0,Math.floor((d-_)/i)),y=Math.max(0,Math.floor((f-_)/i)),b=Math.min(n,Math.ceil((p+_+1)/i)),x=Math.min(r,Math.ceil((m+_+1)/i)),S=b-v,C=x-y;if(S<=0||C<=0)return{blob:e,cropped:!1};let w=document.createElement(`canvas`);w.width=S,w.height=C;let T=w.getContext(`2d`);if(!T)return{blob:e,cropped:!1};T.drawImage(t,v,y,S,C,0,0,S,C);let E=await new Promise(e=>{w.toBlob(e,`image/png`)});return{blob:E||e,cropped:!!E}},X=(e,t,n=0)=>{for(let r=n;r<=e.length-t.length;r+=1){let n=!0;for(let i=0;i<t.length;i+=1)if(e[r+i]!==t[i]){n=!1;break}if(n)return r}return-1},re=()=>{let e=new Uint8Array(m.data),t=X(e,[137,80,78,71,13,10,26,10]);if(t>=0){let n=X(e,[73,69,78,68,174,66,96,130],t);if(n>t)return new Blob([e.slice(t,n+8)],{type:`image/png`})}let n=X(e,[255,216,255]);if(n>=0){let t=X(e,[255,217],n+3);if(t>n)return new Blob([e.slice(n,t+2)],{type:`image/jpeg`})}let r=X(e,[66,77]);if(r>=0&&r+6<e.length){let t=new DataView(m.data,r).getUint32(2,!0);if(t>14&&r+t<=e.length)return new Blob([e.slice(r,r+t)],{type:`image/bmp`})}return null},ie=()=>{let e=new Uint8Array(m.data.slice(0,64));return Array.from(e).map(e=>e>=32&&e<=126?String.fromCharCode(e):` `).join(``).trim()},ae=()=>{let e=z.decode(m.data.slice(0,Math.min(m.data.byteLength,512)));return/\bSECTION\b/.test(e)||/\$ACADVER/.test(e)},Z=e=>{j.value=e,L?.setTool(e)},Q=()=>{if(M.value===`preview`){I.value=1;return}L?.resize(),L?.fitToView()},oe=e=>{let t=e.isOff;L?.setLayerVisible(e.name,t),A.value=A.value.map(n=>n.name===e.name?{...n,isOff:!t}:n)},$=async()=>{let e=k.value;if(e){M.value=`loading`,N.value=``,I.value=1,H();try{let{CadViewer:t}=await p(async()=>{let{CadViewer:e}=await import(`./dist-CDIdMEAB.js`);return{CadViewer:e}},[],import.meta.url);L?.destroy(),L=new t(e,{theme:`light`,initialTool:j.value,worker:!1}),L.loadArrayBuffer(m.data),await r(),Q(),A.value=L.getLayers(),M.value=`ready`}catch(e){console.error(e),M.value=`error`,N.value=te(e)||`CAD 图纸解析失败`}}},se=async()=>{if(ae()){await $();return}M.value=`loading`,N.value=``,H();let e=ie().slice(0,6),t=V[e]?`${e}(${V[e]})`:e||`未知 DWG 版本`,n=re();if(n){let e=await Y(n);P.value=URL.createObjectURL(e.blob),F.value=`已从 DWG 二进制中提取内嵌预览图,版本 ${t}。${e.cropped?`已自动裁剪空白边距,便于查看有效内容。`:``}这是文件保存时写入的快照,不等同于完整 CAD 几何解析。`,M.value=`preview`;return}M.value=`error`,N.value=`DWG 是专有二进制 CAD 格式,当前 Apache-2.0 前端包未内置 GPL 或闭源 DWG 解码器;此文件也没有可提取的内嵌预览图。请在业务侧转换为 DXF 后预览,或接入私有服务端转换链路。检测到的版本为 ${t}。`},ce=async()=>{if(m.type.toLowerCase()===`dwg`){await se();return}await $()};return a(()=>{ce();let e=k.value;e&&(R=new ResizeObserver(()=>{L?.resize(),L?.requestRender()}),R.observe(e))}),n(()=>{R?.disconnect(),R=null,L?.destroy(),L=null,H()}),(n,r)=>(e(),c(`div`,_,[s(`div`,v,[s(`div`,y,[s(`button`,{type:`button`,class:g({active:j.value===`pan`}),onClick:r[0]||=e=>Z(`pan`)},`平移`,2),s(`button`,{type:`button`,class:g({active:j.value===`select`}),onClick:r[1]||=e=>Z(`select`)},`选择`,2),s(`button`,{type:`button`,class:g({active:j.value===`measure`}),onClick:r[2]||=e=>Z(`measure`)},`测量`,2),s(`button`,{type:`button`,onClick:Q},`适配`),M.value===`preview`?(e(),c(u,{key:0},[s(`button`,{type:`button`,title:`缩小 DWG 预览`,onClick:r[3]||=e=>W(-.15)},`-`),s(`span`,b,o(Math.round(I.value*100))+`%`,1),s(`button`,{type:`button`,title:`放大 DWG 预览`,onClick:r[4]||=e=>W(.15)},`+`)],64)):h(``,!0)]),s(`span`,null,o(f.type.toUpperCase()),1)]),s(`div`,{class:g([`cad-body`,{"without-layers":!A.value.length}])},[A.value.length?(e(),c(`aside`,x,[(e(!0),c(u,null,d(A.value,t=>(e(),c(`button`,{key:t.name,type:`button`,class:g({muted:t.isOff}),onClick:e=>oe(t)},o(t.name),11,S))),128))])):h(``,!0),s(`div`,C,[s(`canvas`,{ref_key:`canvas`,ref:k},null,512),M.value===`loading`?(e(),c(`div`,w,`正在解析 CAD...`)):M.value===`preview`?(e(),c(`div`,T,[s(`div`,E,[s(`img`,{src:P.value,alt:`DWG 内嵌预览图`,style:t(U.value)},null,12,ee)]),s(`p`,null,o(F.value),1)])):M.value===`error`?(e(),c(`div`,D,o(N.value),1)):h(``,!0)])],2)]))}}),[[`__scopeId`,`data-v-4d603439`]]);export{k as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-DjVECA_w.js","./index-DP0aBxNP.js","./index-B_rKNGx-.css"])))=>i.map(i=>d[i]);
2
- import{A as e,I as t,N as n,V as r,_ as i,b as a,g as o,l as s,t as c,w as l,z as u}from"./index-DP0aBxNP.js";var d={class:`code-viewer`},f={class:`code-toolbar`},p={class:`code-area`},m=[`innerHTML`],h=s(l({__name:`CodeViewer`,props:{value:{},type:{}},setup(s){let l=s,h={bash:`bash`,c:`cpp`,cc:`cpp`,cjs:`javascript`,cpp:`cpp`,cs:`csharp`,css:`css`,diff:`diff`,go:`go`,h:`cpp`,hpp:`cpp`,html:`xml`,htm:`xml`,ini:`ini`,java:`java`,js:`javascript`,json:`json`,jsx:`javascript`,log:`plaintext`,md:`markdown`,markdown:`markdown`,mjs:`javascript`,php:`php`,py:`python`,rs:`rust`,sh:`bash`,sql:`sql`,ts:`typescript`,tsx:`typescript`,txt:`plaintext`,vue:`xml`,xml:`xml`,yaml:`yaml`,yml:`yaml`},g={bash:()=>c(()=>import(`./bash-BJm0Os9e.js`),[],import.meta.url),cpp:()=>c(()=>import(`./cpp-DF3_Y4Y1.js`),[],import.meta.url),csharp:()=>c(()=>import(`./csharp-BtVV86wX.js`),[],import.meta.url),css:()=>c(()=>import(`./css-wZv8YE7b.js`),[],import.meta.url),diff:()=>c(()=>import(`./diff-Bxf4Bdyj.js`),[],import.meta.url),go:()=>c(()=>import(`./go-B7mD4oi7.js`),[],import.meta.url),ini:()=>c(()=>import(`./ini-BMQSfYcX.js`),[],import.meta.url),java:()=>c(()=>import(`./java-CLKxIYNp.js`),[],import.meta.url),javascript:()=>c(()=>import(`./javascript-KR3bXd09.js`),[],import.meta.url),json:()=>c(()=>import(`./json-CKtDrYhA.js`),[],import.meta.url),markdown:()=>c(()=>import(`./markdown-DQnm92SS.js`),[],import.meta.url),php:()=>c(()=>import(`./php-B8QdQEEH.js`),[],import.meta.url),python:()=>c(()=>import(`./python-5t6UGqKu.js`),[],import.meta.url),rust:()=>c(()=>import(`./rust-CKj8FOnD.js`),[],import.meta.url),sql:()=>c(()=>import(`./sql-Ce6HY06Z.js`),[],import.meta.url),typescript:()=>c(()=>import(`./typescript-CL2ByGCA.js`),[],import.meta.url),xml:()=>c(()=>import(`./xml-CKLaISb_.js`),[],import.meta.url),yaml:()=>c(()=>import(`./yaml-CnW-k44d.js`),[],import.meta.url)},_=null,v=new Set,y=async()=>(_||=c(()=>import(`./core-DjVECA_w.js`).then(e=>e.default),__vite__mapDeps([0,1,2]),import.meta.url),_),b=async(e,t)=>{if(v.has(t))return!0;let n=g[t];if(!n)return!1;let{default:r}=await n();return e.registerLanguage(t,r),v.add(t),!0},x=o(()=>h[l.type.toLowerCase()]||`plaintext`),S=e=>e.replace(/[&<>"']/g,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})[e]),C=t(``),w=0;n(()=>[l.value,x.value],async()=>{let e=++w,t=x.value;if(t===`plaintext`){C.value=S(l.value);return}try{let n=await y(),r=await b(n,t);if(e!==w)return;C.value=r?n.highlight(l.value,{language:t,ignoreIllegals:!0}).value:S(l.value)}catch{e===w&&(C.value=S(l.value))}},{immediate:!0});let T=o(()=>l.value.split(/\r\n|\r|\n/).length);return(t,n)=>(e(),a(`div`,d,[i(`div`,f,[i(`span`,null,r(s.type.toUpperCase()),1),i(`strong`,null,r(T.value)+` lines`,1)]),i(`pre`,p,[i(`code`,{class:u([`hljs`,`language-${x.value}`]),innerHTML:C.value},null,10,m)])]))}}),[[`__scopeId`,`data-v-81405bd8`]]);export{h as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./rough.esm-CA6TiziR.js","./index-DP0aBxNP.js","./index-B_rKNGx-.css","./prod-DGEzi_sx.js","./chunk-K2UTITRG-ChrjtByO.js","./chunk-SRAX5OIU-DTPuYDPS.js","./chunk-ZUYEQ4TG-DaQMhOk1.js","./chunk-6U3AYISY-sM9HnDSj.js","./chunk-Z3N5DIM6-DVAc8Qv7.js"])))=>i.map(i=>d[i]);
2
- import{A as e,B as t,E as n,I as r,O as i,V as a,_ as o,b as s,c,g as l,l as u,t as d,w as f,y as p}from"./index-DP0aBxNP.js";var m={class:`drawing-viewer`},h={class:`drawing-toolbar`},g={class:`drawing-title`},_={class:`drawing-actions`},v={class:`drawing-stage`},y={key:0,class:`drawing-state`},b={key:1,class:`drawing-state error`},x={class:`drawing-scroll`},S=`https://viewer.diagrams.net/js/viewer-static.min.js`,C=`http://www.w3.org/2000/svg`,w=6e3,T=u(f({__name:`DrawingViewer`,props:{data:{},type:{}},setup(u){let f=u,T=null,E=r(`loading`),D=r(``),O=r(null),k=r(1),A=l(()=>f.type.toLowerCase()),j=l(()=>A.value===`excalidraw`),M=l(()=>A.value===`dio`?`DRAWIO`:A.value.toUpperCase()),N=l(()=>j.value?{transform:`scale(${k.value})`,transformOrigin:`top center`}:{zoom:k.value}),P=e=>Math.min(3,Math.max(.5,Number(e.toFixed(2)))),F=()=>{k.value=P(k.value+.15)},I=()=>{k.value=P(k.value-.15)},L=()=>{k.value=1},R=()=>{let e=O.value;if(e)for(delete e.dataset.drawingRendered;e.firstChild;)e.removeChild(e.firstChild)},z=()=>window.GraphViewer?Promise.resolve():(T||=new Promise((e,t)=>{let n=document.querySelector(`script[src="${S}"]`);if(n){n.addEventListener(`load`,()=>e(),{once:!0}),n.addEventListener(`error`,()=>t(Error(`diagrams.net viewer 加载失败`)),{once:!0});return}let r=document.createElement(`script`);r.src=S,r.async=!0,r.onload=()=>e(),r.onerror=()=>t(Error(`diagrams.net viewer 加载失败`)),document.head.appendChild(r)}),T),B=(e,t=0)=>{let n=Number(e);return Number.isFinite(n)?n:t},V=e=>!e||e===`transparent`||e===`rgba(0, 0, 0, 0)`,H=e=>document.createElementNS(C,e),U=async(e,t,n)=>{let r;try{return await Promise.race([e,new Promise((e,i)=>{r=setTimeout(()=>i(Error(n)),t)})])}finally{r&&clearTimeout(r)}},W=(e,t)=>e.dataset.drawingRendered?!1:(e.dataset.drawingRendered=t,!0),G=(e,t,n)=>{W(e,n)&&(t.classList.add(`drawing-svg`),e.appendChild(t))},K=()=>{let e=console.error,t=(...t)=>{t.map(e=>String(e)).join(` `).includes(`Failed to use workers for subsetting`)||e(...t)};return console.error=t,()=>{console.error===t&&(console.error=e)}},q=e=>Array.isArray(e.points)&&e.points.length?e.points.map(t=>[B(e.x)+B(t[0]),B(e.y)+B(t[1])]):[[B(e.x),B(e.y)],[B(e.x)+B(e.width),B(e.y)+B(e.height)]],J=e=>{let t=q(e),n=t.map(e=>e[0]),r=t.map(e=>e[1]);return Array.isArray(e.points)||(n.push(B(e.x)+B(e.width)),r.push(B(e.y)+B(e.height))),{minX:Math.min(...n),minY:Math.min(...r),maxX:Math.max(...n),maxY:Math.max(...r)}},Y=e=>{let t=e.reduce((e,t)=>{let n=J(t);return{minX:Math.min(e.minX,n.minX),minY:Math.min(e.minY,n.minY),maxX:Math.max(e.maxX,n.maxX),maxY:Math.max(e.maxY,n.maxY)}},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return Number.isFinite(t.minX)?t:{minX:0,minY:0,maxX:800,maxY:480}},X=e=>{let t=V(e.backgroundColor)?void 0:e.backgroundColor;return{stroke:e.strokeColor||`#1e1e1e`,strokeWidth:Math.max(1,B(e.strokeWidth,1)),roughness:Math.max(0,B(e.roughness,1)),fill:t,fillStyle:e.fillStyle||`hachure`,seed:B(e.seed,1),strokeLineDash:e.strokeStyle===`dashed`?[10,8]:e.strokeStyle===`dotted`?[2,6]:void 0}},Z=(e,t,n)=>{let r=B(t.opacity,100)/100;r<1&&n.setAttribute(`opacity`,String(r)),e.appendChild(n)},Q=e=>{let t=H(`g`),n=B(e.angle);if(n){let r=B(e.x)+B(e.width)/2,i=B(e.y)+B(e.height)/2;t.setAttribute(`transform`,`rotate(${n*180/Math.PI} ${r} ${i})`)}return t},$=(e,t)=>{let n=String(t.text||``);if(!n.trim())return;let r=H(`text`),i=Math.max(8,B(t.fontSize,20)),a=i*1.25,o=n.split(/\r?\n/),s={1:`Virgil, Segoe Print, Comic Sans MS, sans-serif`,2:`Helvetica, Arial, sans-serif`,3:`Cascadia Mono, Menlo, Consolas, monospace`};r.setAttribute(`x`,String(B(t.x))),r.setAttribute(`y`,String(B(t.y)+i)),r.setAttribute(`fill`,t.strokeColor||`#1e1e1e`),r.setAttribute(`font-size`,String(i)),r.setAttribute(`font-family`,s[B(t.fontFamily,1)]||s[1]),r.setAttribute(`font-weight`,String(t.fontWeight||400)),r.setAttribute(`text-anchor`,t.textAlign===`center`?`middle`:t.textAlign===`right`?`end`:`start`),t.textAlign===`center`?r.setAttribute(`x`,String(B(t.x)+B(t.width)/2)):t.textAlign===`right`&&r.setAttribute(`x`,String(B(t.x)+B(t.width))),o.forEach((e,n)=>{let i=H(`tspan`);i.setAttribute(`x`,r.getAttribute(`x`)||String(B(t.x))),i.setAttribute(`dy`,n===0?`0`:String(a)),i.textContent=e,r.appendChild(i)}),Z(e,t,r)},ee=(e,t,n)=>{if(!(t.endArrowhead||t.startArrowhead)||n.length<2)return;let r=n[n.length-1],i=n[n.length-2],a=Math.atan2(r[1]-i[1],r[0]-i[0]),o=Math.max(10,B(t.strokeWidth,1)*7),s=[r[0]-o*Math.cos(a-Math.PI/7),r[1]-o*Math.sin(a-Math.PI/7)],c=[r[0]-o*Math.cos(a+Math.PI/7),r[1]-o*Math.sin(a+Math.PI/7)],l=H(`polygon`);l.setAttribute(`points`,`${r.join(`,`)} ${s.join(`,`)} ${c.join(`,`)}`),l.setAttribute(`fill`,t.strokeColor||`#1e1e1e`),l.setAttribute(`stroke`,t.strokeColor||`#1e1e1e`),Z(e,t,l)},te=async(e,t,n)=>{let{default:r}=await d(async()=>{let{default:e}=await import(`./rough.esm-CA6TiziR.js`).then(e=>e.n);return{default:e}},__vite__mapDeps([0,1,2]),import.meta.url),i=Y(t),a=Math.max(320,i.maxX-i.minX+160),o=Math.max(220,i.maxY-i.minY+160),s=H(`svg`),c=H(`g`),l=r.svg(s);s.setAttribute(`viewBox`,`${i.minX-80} ${i.minY-80} ${a} ${o}`),s.setAttribute(`width`,String(a)),s.setAttribute(`height`,String(o)),s.setAttribute(`role`,`img`),s.setAttribute(`aria-label`,`Excalidraw rough.js preview`);let u=H(`rect`);u.setAttribute(`x`,String(i.minX-80)),u.setAttribute(`y`,String(i.minY-80)),u.setAttribute(`width`,String(a)),u.setAttribute(`height`,String(o)),u.setAttribute(`fill`,e.appState?.viewBackgroundColor||`#ffffff`),s.appendChild(u),s.appendChild(c),t.forEach(e=>{let t=Q(e),n=X(e),r=B(e.x),i=B(e.y),a=B(e.width),o=B(e.height);if(e.type===`text`)$(t,e);else if(e.type===`rectangle`)Z(t,e,l.rectangle(r,i,a,o,n));else if(e.type===`diamond`)Z(t,e,l.polygon([[r+a/2,i],[r+a,i+o/2],[r+a/2,i+o],[r,i+o/2]],n));else if(e.type===`ellipse`)Z(t,e,l.ellipse(r+a/2,i+o/2,Math.abs(a),Math.abs(o),n));else if(e.type===`line`||e.type===`arrow`||e.type===`freedraw`){let r=q(e);Z(t,e,l.linearPath(r,n)),e.type===`arrow`&&ee(t,e,r)}t.childNodes.length&&c.appendChild(t)}),G(n,s,`rough`)},ne=async(e,t,n)=>{let r=K(),i=setTimeout(r,w+1e3),{exportToSvg:a,restore:o}=await d(async()=>{let{exportToSvg:e,restore:t}=await import(`./prod-DGEzi_sx.js`);return{exportToSvg:e,restore:t}},__vite__mapDeps([3,1,2,4,5,6,7,8]),import.meta.url);try{let r=o({elements:t,appState:e.appState||{},files:e.files||{}},null,null,{repairBindings:!0,refreshDimensions:!0});G(n,await a({elements:r.elements.filter(e=>!e.isDeleted),appState:{...r.appState,exportBackground:!0,viewBackgroundColor:r.appState.viewBackgroundColor||`#ffffff`},files:r.files||{}}),`official`)}finally{clearTimeout(i),r()}},re=async e=>{let t=O.value;if(!t)return;let n=JSON.parse(e),r=Array.isArray(n.elements)?n.elements.filter(e=>!e.isDeleted):[];if(!r.length)throw Error(`Excalidraw 文件中没有可预览图元`);try{await U(ne(n,r,t),w,`Excalidraw 官方导出超时,自动切换 rough.js 兼容渲染`)}catch(e){console.warn(e),await te(n,r,t)}},ie=async e=>{let t=O.value;if(!t)return;await z(),await n();let r=document.createElement(`div`);if(r.className=`mxgraph drawing-mxgraph`,r.setAttribute(`data-mxgraph`,JSON.stringify({xml:e,toolbar:`zoom layers lightbox`,nav:!0,resize:!0,"auto-fit":!0,"auto-crop":!0,"auto-origin":!0,"allow-zoom-in":!0,"allow-zoom-out":!0,border:16,highlight:`#0f766e`})),t.appendChild(r),!window.GraphViewer)throw Error(`diagrams.net viewer 未正确初始化`);window.GraphViewer.createViewerForElement(r)};return i(async()=>{E.value=`loading`,D.value=``,k.value=1,R();try{let e=await c(f.data);j.value?await re(e):await ie(e),E.value=`ready`}catch(e){console.error(e),D.value=e instanceof Error?e.message:String(e),E.value=`error`}}),(n,r)=>(e(),s(`div`,m,[o(`div`,h,[o(`div`,g,[o(`span`,null,a(M.value),1),o(`strong`,null,a(j.value?`Excalidraw 官方 SVG 预览`:`diagrams.net 官方 Viewer 预览`),1)]),o(`div`,_,[o(`button`,{type:`button`,title:`缩小`,onClick:I},`-`),o(`span`,null,a(Math.round(k.value*100))+`%`,1),o(`button`,{type:`button`,title:`放大`,onClick:F},`+`),o(`button`,{type:`button`,title:`适合宽度`,onClick:L},`适合`)])]),o(`div`,v,[E.value===`loading`?(e(),s(`div`,y,`正在加载官方绘图预览器...`)):E.value===`error`?(e(),s(`div`,b,a(D.value),1)):p(``,!0),o(`div`,x,[o(`div`,{ref_key:`stage`,ref:O,class:`drawing-canvas`,style:t(N.value)},null,4)])])]))}}),[[`__scopeId`,`data-v-6f438c82`]]);export{T as default};
@@ -1,8 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./cfb-CBlZ-Tu_.js","./index-DP0aBxNP.js","./index-B_rKNGx-.css"])))=>i.map(i=>d[i]);
2
- import{A as e,B as t,F as n,I as r,O as i,R as a,V as o,_ as s,b as c,g as l,h as u,j as d,l as f,o as p,p as ee,q as m,t as h,w as g,x as te,y as _,z as v}from"./index-DP0aBxNP.js";var y=[208,207,17,224,161,177,26,225],b=200,x=4096,S=192,C=180,w=24,T=420,E=e=>new Uint8Array(e),D=e=>y.every((t,n)=>e[n]===t),O=e=>e instanceof Uint8Array?e:new Uint8Array(e),k=e=>e.replace(/\u0000/g,``).replace(/[^\S\r\n]+/g,` `).replace(/\r\n/g,`
3
- `).trim(),A=e=>k(e).toLowerCase(),j=e=>{let t=e.split(`/`).filter(Boolean);return t[t.length-1]||e||`/`},M=e=>e.replace(/\.[a-z0-9]+$/i,``),N=(e,t,n=1/0)=>{let r=k(t);!r||e.includes(r)||e.length>=n||e.push(r)},P=e=>{if(!e.length)return!1;let t=e.slice(0,Math.min(e.length,x)),n=0,r=0;for(let e of t)e===0&&(r+=1),(e===9||e===10||e===13||e>=32&&e<=126||e>=128)&&(n+=1);return n/t.length>.82||r/t.length>.25},F=e=>{let t=e.slice(0,Math.min(e.length,x));if(!t.length)return``;try{let e=0,n=0;for(let r=0;r<t.length;r+=1)t[r]===0&&(r%2==0?n+=1:e+=1);return k((e>t.length/5&&e>n*2?new TextDecoder(`utf-16le`,{fatal:!1}):new TextDecoder(`utf-8`,{fatal:!1})).decode(t))}catch{return``}},I=e=>{let t=e.slice(0,Math.min(e.length,S)),n=[];for(let e=0;e<t.length;e+=16){let r=t.slice(e,e+16),i=Array.from(r).map(e=>e.toString(16).padStart(2,`0`)).join(` `),a=Array.from(r).map(e=>e>=32&&e<=126?String.fromCharCode(e):`.`).join(``);n.push(`${e.toString(16).padStart(8,`0`)} ${i.padEnd(47)} ${a}`)}return n.join(`
4
- `)},L=e=>{let t=[],n=``;for(let r of e){if(r>=32&&r<=126){n+=String.fromCharCode(r);continue}n.length>=4&&t.push(n),n=``}return n.length>=4&&t.push(n),t},R=e=>{let t=[],n=``;for(let r=0;r+1<e.length;r+=2){let i=e[r];if(e[r+1]===0&&i>=32&&i<=126){n+=String.fromCharCode(i);continue}n.length>=4&&t.push(n),n=``}return n.length>=4&&t.push(n),t},z=(e,t=C)=>{let n=new Set,r=[];return e.forEach(e=>{[...L(e),...R(e)].forEach(e=>{let i=k(e);!i||i.length<4||n.has(i)||r.length>=t||(n.add(i),r.push(i))})}),r},ne=/^\s*([A-Za-z][A-Za-z0-9_. /#-]{1,56})\s*[:=]\s*(.{1,240})\s*$/,re=/\b([A-Za-z][A-Za-z0-9_. /#-]{1,56})\s*=\s*([^;\n\r|]{1,240})/g,ie=e=>k(e).replace(/\s+/g,` `),B=(e,t,n,r,i)=>{if(e.length>=T)return;let a=ie(n),o=k(r);if(!a||!o)return;let s=`${i}\u0000${a.toLowerCase()}\u0000${o}`;t.has(s)||(t.add(s),e.push({key:a,value:o,source:i}))},V=(e,t,n)=>{let r=[],i=new Set;return[e,...t].filter(Boolean).forEach(e=>{k(e).split(/\n|[|;]/).forEach(e=>{let t=e.match(ne);t&&B(r,i,t[1],t[2],n)});for(let t of e.matchAll(re))B(r,i,t[1],t[2],n)}),r},H=(e,t)=>{let n=t.map(e=>e.toLowerCase());return e.some(e=>n.includes(e.key.toLowerCase()))},U=(e,t)=>{let n=t.map(e=>e.toLowerCase());return e.find(e=>n.includes(e.key.toLowerCase()))?.value},W=(e,t,n,r,i,a,o)=>{let s=A(`${t}\n${n}\n${r}\n${i.join(`
5
- `)}`);if(s===`/`||t===`/`)return`root`;if(o===`storage`&&/(^|\/)(library|libraries)(\/|$)/i.test(t))return`library`;if(/(header|version|source|author|metadata|property|properties)/.test(s))return H(a,[`Name`,`Pins`,`Footprint`,`Padstack`])?`property`:`metadata`;if(e===`olb`){if(/(^|\/)(symbols?|parts?)(\/|$)/.test(s)||H(a,[`Pins`,`Footprint`,`PCB Footprint`,`Part Number`]))return`symbol`;if(/(^|\/)(library|capture|orcad)(\/|$)/.test(s))return`library`}if(e===`dra`){if(/(padstack|pad stack|thermal|antipad|drill)/.test(s)||H(a,[`Padstack`,`Drill`]))return`padstack`;if(/(footprint|package|psm|bsm|fsm|ssm|symbol)/.test(s))return`footprint`;if(/(route|net|via|ratsnest)/.test(s))return`net`;if(/(line |arc |circle|shape|outline|silk|place_bound|assembly|soldermask|pastemask)/.test(s))return`geometry`;if(/(drawing|units|layers?|constraint|allegro)/.test(s)||H(a,[`Units`,`Layers`]))return`drawing`}return a.length?`property`:o===`storage`?`library`:`unknown`},G=(e,t,n,r,i,a)=>{if(i===`storage`||!a)return{path:t,name:n,size:r,kind:i,role:W(e,t,n,``,[],[],i),strings:[],properties:[]};let o=P(a)?F(a):``,s=z([a],w),c=V(o,s,t),l=W(e,t,n,o,s,c,o?`text`:`binary`);return{path:t,name:n,size:r,kind:o?`text`:`binary`,role:l,sample:o,hex:o?void 0:I(a),strings:s,properties:c}},K=e=>{e.children.sort((e,t)=>e.children.length===t.children.length?e.name.localeCompare(t.name):t.children.length-e.children.length),e.children.forEach(K)},q=(e,t)=>{let n={id:`${t}:root`,path:`/`,name:t.toUpperCase(),kind:`storage`,role:`root`,size:0,children:[]},r=new Map([[`/`,n]]);return e.forEach(e=>{let i=e.path.split(`/`).filter(Boolean),a=n,o=``;i.forEach((n,s)=>{o+=`/${n}`;let c=s===i.length-1,l=r.get(o);l||(l={id:`${t}:${o}`,path:o,name:n,kind:c?e.kind:`storage`,role:c?e.role:W(t,o,n,``,[],[],`storage`),size:c?e.size:0,children:[]},r.set(o,l),a.children.push(l)),c&&(l.kind=e.kind,l.role=e.role,l.size=e.size),a=l})}),K(n),n.children},J=e=>{if(!e)return[];let t=[];return e.split(/[,/;| ]+/).forEach(e=>{/^[A-Za-z0-9_.+-]+$/.test(e)&&N(t,e,64)}),t},Y=(e,t)=>t===`olb`?e.role===`symbol`&&e.kind!==`storage`?`symbol`:null:e.role===`padstack`?`padstack`:e.role===`footprint`||e.role===`geometry`&&/\/footprint\//i.test(e.path)?`footprint`:e.role===`drawing`?`drawing`:null,ae=(e,t)=>t===`footprint`?e.path.match(/^(.+?\/Footprint)(?:\/|$)/i)?.[1]||e.path:t===`drawing`&&e.path.match(/^(.+?\/Drawing)(?:\/|$)/i)?.[1]||e.path,oe=(e,t,n)=>{let r=U(e.properties,[`Name`,`Part`,`Part Name`,`Symbol`,`Device`,`Footprint`,`PCB Footprint`,`Package`,`Padstack`,`Pad Stack`,`Drawing`]);if(r)return r;let i=M(j(n));return i&&i!==`/`?i:t.toUpperCase()},se=(e,t)=>{let n=[],r=`${e.path}\n${e.sample||``}\n${e.strings.join(`
6
- `)}`.toLowerCase();return(t===`symbol`?[`pins`,`footprint`,`pspice`,`part`,`symbol`]:[`units`,`layers`,`padstack`,`drill`,`outline`,`route`,`constraint`,`shape`,`place_bound`]).forEach(e=>{r.includes(e)&&N(n,e,12)}),n},X=(e,t)=>{let n=new Set(e.map(e=>`${e.key.toLowerCase()}\u0000${e.value}`));t.forEach(t=>{let r=`${t.key.toLowerCase()}\u0000${t.value}`;n.has(r)||(n.add(r),e.push(t))})},ce=(e,t)=>{let n=new Map;return e.forEach(e=>{let r=Y(e,t);if(!r)return;let i=ae(e,r),a=`${r}:${i.toLowerCase()}`,o=n.get(a)||{id:a,name:oe(e,r,i),role:r,path:i,streamCount:0,byteLength:0,properties:[],pins:[],layers:[],keywords:[]};o.streamCount+=1,o.byteLength+=e.size,X(o.properties,e.properties),J(U(e.properties,[`Pins`,`Pin`,`Pin Numbers`])).forEach(e=>N(o.pins,e,96)),J(U(e.properties,[`Layers`,`Layer`])).forEach(e=>N(o.layers,e,64)),se(e,r).forEach(e=>N(o.keywords,e,16)),o.description||=U(o.properties,[`Description`,`Desc`]),o.footprint||=U(o.properties,[`Footprint`,`PCB Footprint`,`Package`]),n.set(a,o)}),Array.from(n.values()).sort((e,t)=>{let n={symbol:0,footprint:1,padstack:2,drawing:3};return(n[e.role]??9)-(n[t.role]??9)||e.name.localeCompare(t.name)})},le=e=>{let t=[];return e.forEach(e=>{(e.role===`metadata`||e.role===`library`||e.role===`drawing`)&&X(t,e.properties)}),t.slice(0,80)},ue=(e,t,n,r)=>{let i={textStreams:e.filter(e=>e.kind===`text`).length,binaryStreams:e.filter(e=>e.kind===`binary`).length,storageEntries:e.filter(e=>e.kind===`storage`).length,propertyCount:e.reduce((e,t)=>e+t.properties.length,0),stringCount:n.length,symbolCount:t.filter(e=>e.role===`symbol`).length,footprintCount:t.filter(e=>e.role===`footprint`).length,padstackCount:t.filter(e=>e.role===`padstack`).length,confidence:`low`};return r===`cfb`&&t.length&&i.propertyCount?i.confidence=`high`:(r===`cfb`||n.length||i.propertyCount)&&(i.confidence=`medium`),i},de=(e,t,n,r,i,a)=>{let o=a.map((e,t)=>({level:`warning`,code:`warning-${t+1}`,message:e}));o.push({level:`info`,code:`parser`,message:t===`cfb`?`已识别为 Microsoft Compound File / OLE2 复合文档容器,并在浏览器端解析目录与流。`:`未识别为 CFB 容器,已使用二进制字符串索引模式展示可读信息。`}),o.push({level:`info`,code:`coverage`,message:`已索引 ${n.length} 个条目、${i.length} 个可读字符串、${r.length} 个 EDA 结构候选。`});let s=e===`olb`&&!r.some(e=>e.role===`symbol`),c=e===`dra`&&!r.some(e=>e.role===`footprint`||e.role===`padstack`);return(s||c)&&o.push({level:`warning`,code:`domain-candidates`,message:e===`olb`?`未发现明确的元件符号候选,文件可能使用了私有二进制编码或需要专业工具导出 ASCII/XML 后再检查。`:`未发现明确的封装、图形或 padstack 候选,文件可能使用了私有二进制数据库编码。`}),o},Z=(e,t,n,r,i,a,o)=>{let s=i.reduce((e,t)=>e+t.size,0),c=ce(i,t),l=le(i),u=de(t,n,i,c,a,o);return{type:t,parser:n,title:t===`olb`?n===`cfb`?`OrCAD Capture Symbol Library`:`OLB Binary Library`:n===`cfb`?`OrCAD / Allegro Drawing Library`:`DRA Binary Drawing`,byteLength:e.byteLength,streamCount:r,totalStreamBytes:s,streams:i,tree:q(i,t),entities:c,metadata:l,strings:a,warnings:o,diagnostics:u,stats:ue(i,c,a,n)}},fe=async(e,t)=>{let n=(await h(()=>import(`./cfb-CBlZ-Tu_.js`).then(e=>m(e.default,1)),__vite__mapDeps([0,1,2]),import.meta.url)).parse(E(e),{type:`array`}),r=n.FileIndex.map((e,t)=>({entry:e,path:n.FullPaths[t]||e.name})).filter(e=>e.entry.type!==5&&e.path!==`/`&&e.entry.name).slice(0,b),i=[],a=r.map(({entry:e,path:n})=>{if(e.type===1)return G(t,n,e.name,e.size||0,`storage`);let r=O(e.content||[]);return i.push(r),G(t,n,e.name,e.size||r.byteLength||0,`binary`,r)}),o=r.length>=b?[`仅展示前 ${b} 个 CFB 项,完整文件仍可下载后在专业 EDA 工具中打开。`]:[];return Z(e,t,`cfb`,n.FileIndex.length,a,z(i),o)},Q=(e,t)=>{let n=E(e);return Z(e,t,`binary`,1,[G(t,`${t}.${t}`,`${t}.${t}`,e.byteLength,`binary`,n)],z([n]),[`该文件不是标准 CFB 容器,已退化为安全的二进制字符串索引预览。`])},pe=async(e,t=`olb`)=>{let n=t===`dra`?`dra`:`olb`;if(!D(E(e)))return Q(e,n);try{return await fe(e,n)}catch(t){let r=Q(e,n);return r.warnings.unshift(t instanceof Error?t.message:String(t)),r.diagnostics.unshift({level:`warning`,code:`cfb-parse-failed`,message:t instanceof Error?t.message:String(t)}),r}},me={class:`eda-viewer`},he={class:`eda-header`},ge={key:0},_e={key:0,class:`eda-body`},ve={class:`eda-sidebar`},ye={class:`eda-summary`},be={class:`eda-mini-grid`},xe={key:0,class:`eda-warning`},Se={class:`eda-stream-list`},Ce=[`onClick`],we=[`data-role`],Te={class:`eda-preview`},Ee={class:`eda-panel eda-panel--compact`},De={class:`eda-panel-head`},Oe={class:`eda-stat-grid`},ke={class:`eda-topology`},Ae={class:`eda-panel`},je={class:`eda-panel-head`},Me={class:`eda-tree`},Ne=[`onClick`],Pe={class:`eda-panel`},Fe={class:`eda-panel-head`},Ie={key:0,class:`eda-entities`},Le=[`onClick`],Re={key:0},ze={key:0},Be={key:1},Ve={key:2},He={key:3},Ue={key:1,class:`eda-empty`},We={class:`eda-panel`},Ge={class:`eda-panel-head`},Ke={key:0,class:`eda-selected-meta`},qe={key:1,class:`eda-property-grid`},Je={key:2},$={key:3,class:`eda-empty`},Ye={class:`eda-bottom`},Xe={class:`eda-panel`},Ze={class:`eda-panel-head`},Qe={class:`eda-string-grid`},$e={class:`eda-panel`},et={class:`eda-panel-head`},tt={class:`eda-diagnostics`},nt=[`data-level`],rt={key:0,class:`eda-local-strings`},it={key:1,class:`eda-state`},at={key:2,class:`eda-error`},ot=f(g({__name:`EdaViewer`,props:{data:{},type:{},filename:{}},setup(f){let m=f,h=r(null),g=r(!0),y=r(``),b=r(null),x=r(``),S={root:`根`,library:`库`,symbol:`元件符号`,footprint:`封装`,padstack:`Padstack`,drawing:`图纸`,metadata:`元数据`,property:`属性`,geometry:`几何`,net:`网络`,unknown:`未知`},C={high:`高`,medium:`中`,low:`低`},w=e=>S[e]||e,T=e=>e===`storage`?`目录`:e===`text`?`文本`:`二进制`,E=e=>e.replace(/^\/+/,``).toLowerCase(),D=l(()=>{if(!h.value)return[];let e=h.value.stats;return[{label:`文本流`,value:e.textStreams},{label:`二进制流`,value:e.binaryStreams},{label:`目录`,value:e.storageEntries},{label:`属性`,value:e.propertyCount},{label:`符号`,value:e.symbolCount},{label:`封装`,value:e.footprintCount},{label:`Padstack`,value:e.padstackCount},{label:`可信度`,value:C[e.confidence]}]}),O=l(()=>{let e=h.value?.entities||[],t=[{role:`symbol`,label:`元件符号`,items:[]},{role:`footprint`,label:`封装图形`,items:[]},{role:`padstack`,label:`Padstack`,items:[]},{role:`drawing`,label:`图纸信息`,items:[]}];return t.forEach(t=>{t.items=e.filter(e=>e.role===t.role)}),t.filter(e=>e.items.length)}),k=l(()=>{let e=x.value.trim().toLowerCase(),t=h.value?.streams||[];return e?t.filter(t=>{let n=t.properties.map(e=>`${e.key}=${e.value}`).join(`
7
- `);return`${t.path}\n${t.name}\n${t.kind}\n${t.role}\n${t.sample||``}\n${t.strings.join(`
8
- `)}\n${n}`.toLowerCase().includes(e)}):t}),A=(e,t=0)=>e.flatMap(e=>[{...e,depth:t},...A(e.children,t+1)]),j=l(()=>A(h.value?.tree||[])),M=l(()=>b.value?.properties||[]),N=l(()=>b.value?.strings||[]),P=l(()=>b.value?.sample||b.value?.hex||``),F=e=>{b.value=e},I=e=>{let t=E(e.path),n=h.value?.streams.find(e=>E(e.path)===t);n&&(b.value=n)},L=e=>{let t=E(e.path),n=h.value?.streams.find(e=>{let n=E(e.path);return n===t||n.startsWith(`${t}/`)});n&&(b.value=n)},R=async()=>{g.value=!0,y.value=``;try{let e=await pe(m.data,m.type);h.value=e,b.value=e.streams.find(e=>e.properties.length)||e.streams.find(e=>e.kind===`text`)||e.streams[0]||null}catch(e){console.error(e),y.value=e instanceof Error?e.message:String(e)}finally{g.value=!1}};return i(()=>{R()}),(r,i)=>(e(),c(`section`,me,[s(`header`,he,[s(`div`,null,[s(`span`,null,o(h.value?.parser===`cfb`?`CFB STRUCTURE VIEWER`:`BINARY STRUCTURE VIEWER`),1),s(`h2`,null,o(f.filename),1)]),h.value?(e(),c(`dl`,ge,[s(`div`,null,[i[1]||=s(`dt`,null,`格式`,-1),s(`dd`,null,o(h.value.type.toUpperCase()),1)]),s(`div`,null,[i[2]||=s(`dt`,null,`大小`,-1),s(`dd`,null,o(a(p)(h.value.byteLength)),1)]),s(`div`,null,[i[3]||=s(`dt`,null,`条目`,-1),s(`dd`,null,o(h.value.streamCount),1)]),s(`div`,null,[i[4]||=s(`dt`,null,`可信度`,-1),s(`dd`,null,o(C[h.value.stats.confidence]),1)])])):_(``,!0)]),h.value?(e(),c(`div`,_e,[s(`aside`,ve,[s(`div`,ye,[s(`strong`,null,o(h.value.title),1),i[5]||=s(`p`,null,`OLB / DRA 属于 OrCAD / Allegro 生态的私有设计数据。预览器优先解析 CFB 结构、对象候选、属性和可读文本,并在纯前端安全退化。`,-1)]),s(`div`,be,[(e(!0),c(u,null,d(D.value.slice(0,4),t=>(e(),c(`div`,{key:t.label},[s(`span`,null,o(t.label),1),s(`strong`,null,o(t.value),1)]))),128))]),h.value.warnings.length?(e(),c(`div`,xe,[(e(!0),c(u,null,d(h.value.warnings,t=>(e(),c(`p`,{key:t},o(t),1))),128))])):_(``,!0),n(s(`input`,{"onUpdate:modelValue":i[0]||=e=>x.value=e,class:`eda-search`,type:`search`,placeholder:`筛选路径、角色、属性或文本`},null,512),[[ee,x.value]]),s(`div`,Se,[(e(!0),c(u,null,d(k.value,t=>(e(),c(`button`,{key:t.path,type:`button`,class:v([`eda-stream`,{active:b.value?.path===t.path}]),onClick:e=>F(t)},[s(`span`,{"data-role":t.role},o(w(t.role)),9,we),s(`strong`,null,o(t.name||t.path),1),s(`em`,null,o(t.path),1),s(`small`,null,o(T(t.kind))+` · `+o(a(p)(t.size)),1)],10,Ce))),128))])]),s(`main`,Te,[s(`section`,Ee,[s(`div`,De,[i[6]||=s(`span`,null,`解析概览`,-1),s(`strong`,null,o(h.value.parser.toUpperCase())+` · `+o(a(p)(h.value.totalStreamBytes)),1)]),s(`div`,Oe,[(e(!0),c(u,null,d(D.value,t=>(e(),c(`div`,{key:t.label},[s(`span`,null,o(t.label),1),s(`strong`,null,o(t.value),1)]))),128))])]),s(`section`,ke,[s(`div`,Ae,[s(`div`,je,[i[7]||=s(`span`,null,`结构树`,-1),s(`strong`,null,o(j.value.length)+` 节点`,1)]),s(`div`,Me,[(e(!0),c(u,null,d(j.value,n=>(e(),c(`button`,{key:n.id,type:`button`,class:v({active:E(b.value?.path||``)===E(n.path)}),onClick:e=>I(n)},[s(`span`,{style:t({paddingLeft:`${n.depth*14}px`})},o(n.children.length?`▸`:`•`),5),s(`strong`,null,o(n.name),1),s(`em`,null,o(w(n.role)),1),s(`small`,null,o(n.size?a(p)(n.size):T(n.kind)),1)],10,Ne))),128))])]),s(`div`,Pe,[s(`div`,Fe,[i[8]||=s(`span`,null,`EDA 对象`,-1),s(`strong`,null,o(h.value.entities.length)+` 项`,1)]),O.value.length?(e(),c(`div`,Ie,[(e(!0),c(u,null,d(O.value,t=>(e(),c(`div`,{key:t.role,class:`eda-entity-group`},[s(`h3`,null,o(t.label),1),(e(!0),c(u,null,d(t.items,t=>(e(),c(`button`,{key:t.id,type:`button`,onClick:e=>L(t)},[s(`strong`,null,o(t.name),1),s(`span`,null,o(a(p)(t.byteLength))+` · `+o(t.streamCount)+` 条目`,1),t.description?(e(),c(`p`,Re,o(t.description),1)):_(``,!0),s(`dl`,null,[t.footprint?(e(),c(`div`,ze,[i[9]||=s(`dt`,null,`Footprint`,-1),s(`dd`,null,o(t.footprint),1)])):_(``,!0),t.pins.length?(e(),c(`div`,Be,[i[10]||=s(`dt`,null,`Pins`,-1),s(`dd`,null,o(t.pins.join(`, `)),1)])):_(``,!0),t.layers.length?(e(),c(`div`,Ve,[i[11]||=s(`dt`,null,`Layers`,-1),s(`dd`,null,o(t.layers.join(`, `)),1)])):_(``,!0),t.keywords.length?(e(),c(`div`,He,[i[12]||=s(`dt`,null,`Keywords`,-1),s(`dd`,null,o(t.keywords.join(`, `)),1)])):_(``,!0)])],8,Le))),128))]))),128))])):(e(),c(`div`,Ue,[...i[13]||=[s(`strong`,null,`没有明确对象候选`,-1),s(`p`,null,`仍可从结构树、属性和字符串索引中查看可读内容。`,-1)]]))])]),s(`section`,We,[s(`div`,Ge,[i[14]||=s(`span`,null,`当前条目`,-1),s(`strong`,null,o(b.value?.path||`未选择`),1)]),b.value?(e(),c(`div`,Ke,[s(`span`,null,o(w(b.value.role)),1),s(`span`,null,o(T(b.value.kind)),1),s(`span`,null,o(a(p)(b.value.size)),1)])):_(``,!0),M.value.length?(e(),c(`div`,qe,[(e(!0),c(u,null,d(M.value,t=>(e(),c(`div`,{key:`${t.source}-${t.key}-${t.value}`},[s(`span`,null,o(t.key),1),s(`strong`,null,o(t.value),1)]))),128))])):_(``,!0),P.value?(e(),c(`pre`,Je,o(P.value),1)):(e(),c(`div`,$,[...i[15]||=[s(`strong`,null,`目录条目`,-1),s(`p`,null,`该节点用于组织下级流,没有可直接展示的文本或十六进制片段。`,-1)]]))]),s(`section`,Ye,[s(`div`,Xe,[s(`div`,Ze,[i[16]||=s(`span`,null,`可读字符串`,-1),s(`strong`,null,o(h.value.strings.length)+` 项`,1)]),s(`div`,Qe,[(e(!0),c(u,null,d(h.value.strings,(t,n)=>(e(),c(`span`,{key:`${t}-${n}`},o(t),1))),128))])]),s(`div`,$e,[s(`div`,et,[i[17]||=s(`span`,null,`诊断`,-1),s(`strong`,null,o(h.value.diagnostics.length)+` 条`,1)]),s(`div`,tt,[(e(!0),c(u,null,d(h.value.diagnostics,t=>(e(),c(`p`,{key:`${t.code}-${t.message}`,"data-level":t.level},[s(`span`,null,o(t.level),1),te(` `+o(t.message),1)],8,nt))),128))]),N.value.length?(e(),c(`div`,rt,[i[18]||=s(`strong`,null,`当前条目字符串`,-1),(e(!0),c(u,null,d(N.value,(t,n)=>(e(),c(`span`,{key:`${t}-${n}`},o(t),1))),128))])):_(``,!0)])])])])):_(``,!0),g.value?(e(),c(`div`,it,[i[19]||=s(`span`,null,null,-1),s(`strong`,null,`正在解析 `+o(f.type.toUpperCase())+`...`,1)])):_(``,!0),y.value?(e(),c(`div`,at,[i[20]||=s(`strong`,null,`EDA 预览提示`,-1),s(`p`,null,o(y.value),1)])):_(``,!0)]))}}),[[`__scopeId`,`data-v-9eb9b927`]]);export{ot as default};
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./lib-MyZCR7RP.js","./index-DP0aBxNP.js","./index-B_rKNGx-.css"])))=>i.map(i=>d[i]);
2
- import{A as e,D as t,E as n,I as r,O as i,V as a,_ as o,b as s,g as c,h as l,j as u,l as d,q as f,t as p,w as m,x as h,y as g,z as _}from"./index-DP0aBxNP.js";import{t as v}from"./nestedRender-BfyUMgZx.js";var y={class:`email-viewer`},b={class:`email-header`},x={key:0,class:`email-meta`},S={key:0},C={key:0,class:`email-body`},w={class:`email-sidebar`},T={class:`body-tabs`},E=[`disabled`,`onClick`],D={class:`attachment-panel`},O={class:`attachment-title`},k=[`onClick`],A={class:`message-panel`},j=[`srcdoc`],ee={key:1,class:`email-text`},M={key:2,class:`email-text`},N={key:3,class:`attachment-preview`},P={class:`attachment-preview-head`},F={key:1,class:`email-state`},I={key:2,class:`email-error`},L=d(m({__name:`EmailViewer`,props:{data:{},type:{},filename:{},options:{}},setup(d){let m=d,L=r(null),R=r(!0),z=r(`正在解析邮件...`),B=r(``),V=r(`html`),H=r(null),U=r(null),W=new Map,G=[],K,q=e=>{if(!Number.isFinite(e)||e<0)return`-`;if(e<1024)return`${e} B`;let t=e/1024/1024;return t>=1?`${t.toFixed(+(t<10))} MB`:`${(e/1024).toFixed(+(e<10*1024))} KB`},J=e=>e?(Array.isArray(e)?e:[e]).flatMap(e=>{let t=e;return t.group?J(t.group):[{name:t.name||``,address:t.address||t.email||``}]}):[],Y=e=>e.map(e=>e.name&&e.address?`${e.name} <${e.address}>`:e.address||e.name||``).filter(Boolean).join(`, `),X=c(()=>{let e=L.value?.html||``;if(!e)return``;let t=e;return W.forEach((e,n)=>{t=t.replace(RegExp(`cid:${n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}`,`gi`),e)}),`<!doctype html><html><head><meta charset="utf-8"><base target="_blank"><style>body{margin:0;padding:18px;font-family:Aptos,"Segoe UI",sans-serif;line-height:1.6;color:#172033;word-break:break-word;}img{max-width:100%;height:auto;}</style></head><body>${t}</body></html>`}),Z=c(()=>[{key:`html`,label:`HTML`,disabled:!L.value?.html},{key:`text`,label:`正文`,disabled:!L.value?.text},{key:`headers`,label:`头信息`,disabled:!L.value?.headers}]),Q=async e=>{if(e instanceof ArrayBuffer)return e;if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}return Q(new TextEncoder().encode(e))},te=async()=>{let e=await(await p(async()=>{let{default:e}=await import(`./postal-mime-_xaVOoDw.js`);return{default:e}},[],import.meta.url)).default.parse(m.data,{attachmentEncoding:`arraybuffer`,maxNestingDepth:24,maxHeadersSize:2*1024*1024}),t=e.attachments.map((e,t)=>{let n=typeof e.content==`string`?e.content.length:e.content.byteLength,r=e.filename||`attachment-${t+1}`;return{id:`${t}-${r}`,name:r,mimeType:e.mimeType,size:n,contentId:e.contentId,load:()=>Q(e.content)}});return await Promise.all(t.map(async e=>{if(!e.contentId||!e.mimeType?.startsWith(`image/`))return;let t=await e.load(),n=URL.createObjectURL(new Blob([t],{type:e.mimeType}));G.push(n),W.set(e.contentId.replace(/[<>]/g,``),n)})),{kind:`eml`,subject:e.subject||m.filename,from:J(e.from),to:J(e.to),cc:J(e.cc),date:e.date,text:e.text,html:e.html,headers:e.headerLines?.map(e=>e.line).join(`
3
- `)||e.headers?.map(e=>`${e.originalKey}: ${e.value}`).join(`
4
- `),attachments:t}},ne=async()=>{let e=await p(()=>import(`./lib-MyZCR7RP.js`).then(e=>f(e.default,1)),__vite__mapDeps([0,1,2]),import.meta.url),t=new(e.default?.default||e.default)(m.data),n=t.getFileData(),r=(n.attachments||[]).map((e,n)=>{let r=e.fileName||e.fileNameShort||e.name||`attachment-${n+1}${e.extension||``}`;return{id:`${n}-${r}`,name:r,mimeType:`application/octet-stream`,size:e.contentLength||e.size||0,contentId:e.pidContentId,async load(){return Q(t.getAttachment(e).content)}}});return{kind:`msg`,subject:n.subject||m.filename,from:J({name:n.senderName,address:n.senderEmail}),to:J(n.recipients||[]).filter(e=>e.name||e.address),cc:[],date:n.messageDeliveryTime||n.clientSubmitTime||n.creationTime,text:n.body,html:n.html||``,headers:n.headers,attachments:r}},re=async()=>{R.value=!0,B.value=``;try{L.value=m.type===`msg`?await ne():await te(),V.value=L.value.html?`html`:L.value.text?`text`:`headers`}catch(e){console.error(e),B.value=e instanceof Error?e.message:String(e)}finally{R.value=!1}},$=()=>{K?.unmount?.(),K=void 0;let e=U.value;if(e)for(;e.firstChild;)e.removeChild(e.firstChild)},ie=async e=>{H.value=e,R.value=!0,z.value=`正在打开附件 ${e.name}...`;try{let t=await e.load();await n(),$();let r=U.value;if(!r)return;let i=document.createElement(`div`);i.className=`email-attachment-render`,r.appendChild(i),K=await v(t,e.name.includes(`.`)?e.name.slice(e.name.lastIndexOf(`.`)+1).toLowerCase():`txt`,i,{filename:e.name,options:m.options})}catch(e){console.error(e),B.value=e instanceof Error?e.message:String(e)}finally{R.value=!1,z.value=`正在解析邮件...`}},ae=async e=>{let t=await e.load(),n=URL.createObjectURL(new Blob([t],{type:e.mimeType||`application/octet-stream`}));G.push(n);let r=document.createElement(`a`);r.href=n,r.download=e.name,document.body.appendChild(r),r.click(),r.remove()};return i(()=>{re()}),t(()=>{$(),G.forEach(e=>URL.revokeObjectURL(e))}),(t,n)=>(e(),s(`section`,y,[o(`header`,b,[o(`span`,null,a(L.value?.kind?.toUpperCase()||d.type.toUpperCase()),1),o(`h2`,null,a(L.value?.subject||d.filename),1),L.value?(e(),s(`div`,x,[o(`p`,null,[n[1]||=o(`strong`,null,`发件人`,-1),h(a(Y(L.value.from)||`-`),1)]),o(`p`,null,[n[2]||=o(`strong`,null,`收件人`,-1),h(a(Y(L.value.to)||`-`),1)]),L.value.cc.length?(e(),s(`p`,S,[n[3]||=o(`strong`,null,`抄送`,-1),h(a(Y(L.value.cc)),1)])):g(``,!0),o(`p`,null,[n[4]||=o(`strong`,null,`时间`,-1),h(a(L.value.date||`-`),1)])])):g(``,!0)]),L.value?(e(),s(`div`,C,[o(`aside`,w,[o(`div`,T,[(e(!0),s(l,null,u(Z.value,t=>(e(),s(`button`,{key:t.key,type:`button`,disabled:t.disabled,class:_({active:V.value===t.key}),onClick:e=>V.value=t.key},a(t.label),11,E))),128))]),o(`section`,D,[o(`div`,O,[n[5]||=o(`strong`,null,`附件`,-1),o(`span`,null,a(L.value.attachments.length),1)]),(e(!0),s(l,null,u(L.value.attachments,t=>(e(),s(`button`,{key:t.id,type:`button`,class:_([`attachment-item`,{active:H.value?.id===t.id}]),onClick:e=>ie(t)},[o(`span`,null,a(t.name.split(`.`).pop()?.toUpperCase()||`FILE`),1),o(`strong`,null,a(t.name),1),o(`em`,null,a(q(t.size)),1)],10,k))),128))])]),o(`main`,A,[V.value===`html`&&X.value?(e(),s(`iframe`,{key:0,class:`email-html`,sandbox:``,srcdoc:X.value},null,8,j)):V.value===`text`?(e(),s(`pre`,ee,a(L.value.text),1)):(e(),s(`pre`,M,a(L.value.headers),1)),H.value?(e(),s(`section`,N,[o(`div`,P,[o(`strong`,null,a(H.value.name),1),o(`button`,{type:`button`,onClick:n[0]||=e=>ae(H.value)},`下载附件`)]),o(`div`,{ref_key:`attachmentTarget`,ref:U,class:`attachment-target`},null,512)])):g(``,!0)])])):g(``,!0),R.value?(e(),s(`div`,F,[n[6]||=o(`span`,null,null,-1),o(`strong`,null,a(z.value),1)])):g(``,!0),B.value?(e(),s(`div`,I,[n[7]||=o(`strong`,null,`邮件预览提示`,-1),o(`p`,null,a(B.value),1)])):g(``,!0)]))}}),[[`__scopeId`,`data-v-0989d798`]]);export{L as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./src-C-6PUQ-1.js","./index-DP0aBxNP.js","./index-B_rKNGx-.css"])))=>i.map(i=>d[i]);
2
- import{A as e,B as t,D as n,E as r,I as i,O as a,V as o,_ as s,b as c,g as l,h as u,j as d,l as f,t as p,w as m,y as h,z as g}from"./index-DP0aBxNP.js";var _={class:`epub-toolbar`},v={class:`epub-title`},y={class:`epub-actions`},b=[`disabled`],x={class:`epub-progress`},S=[`disabled`],C={class:`epub-body`},w={key:0,class:`epub-toc`},T={class:`epub-toc-head`},E={class:`epub-toc-list`},D=[`onClick`],O={class:`epub-stage-wrap`},k={key:0,class:`epub-state`},A={key:1,class:`epub-state error`},j=f(m({__name:`EpubViewer`,props:{data:{}},setup(f){let m=f,j=i(null),M=i(`loading`),N=i(``),P=i(!0),F=i(`EPUB 电子书`),I=i(``),L=i([]),R=i(``),z=i(null),B=i(!0),V=i(!1),H,U,W=!1,G,K=l(()=>{if(!R.value)return``;let e=L.value.find(e=>e.href===R.value);return e?e.label:L.value.find(e=>R.value.includes(e.href.split(`#`)[0]))?.label||``}),q=l(()=>typeof z.value==`number`?`${z.value}%`:K.value||`阅读中`),J=(e,t)=>typeof e==`string`&&e.trim()?e.trim():t,Y=(e,t=0)=>Array.isArray(e)?e.flatMap((e,n)=>{let r=e,i=typeof r.href==`string`?r.href:``,a=J(r.label||r.title,`章节 ${n+1}`),o=Y(r.subitems||r.children,t+1);return i?[{depth:t,href:i,id:`${t}-${n}-${i}`,label:a},...o]:o}):[],X=e=>{let t=e.find(e=>{let t=e.label.toLowerCase();return/(^|\s)(chapter|part|book|prologue|preface|introduction)\b/.test(t)||/第[一二三四五六七八九十百千0-9]+[章节回部卷篇]/.test(e.label)});return t?t.href:e.find(e=>{let t=`${e.label} ${e.href}`.toLowerCase();return!/(cover|titlepage|title-page|copyright|license|toc|contents|nav|table-of-contents|wrap0000)/.test(t)})?.href||e[0]?.href},Z=e=>{B.value=!!e?.atStart,V.value=!!e?.atEnd,R.value=e?.start?.href||``,typeof e?.start?.percentage==`number`&&(z.value=Math.round(e.start.percentage*100))},Q=e=>new Promise(t=>{G=window.setTimeout(t,e)}),$=()=>{let e=(j.value?.querySelector(`iframe`))?.contentDocument?.body;return e?!!(e.innerText.trim()||e.querySelector(`img, svg, canvas`)):!1},ee=async()=>{for(let e=0;e<20;e++){if(W||$())return $();await Q(100)}return $()},te=async()=>{M.value=`loading`,await r();let e=j.value;if(e)try{let{default:t}=await p(async()=>{let{default:e}=await import(`./src-C-6PUQ-1.js`);return{default:e}},__vite__mapDeps([0,1,2]),import.meta.url);if(W)return;H=t(m.data.slice(0),{openAs:`binary`,replacements:`blobUrl`}),U=H.renderTo(e,{allowScriptedContent:!1,flow:`scrolled`,height:`100%`,manager:`continuous`,resizeOnOrientationChange:!0,spread:`none`,width:`100%`}),U.themes.default({body:{color:`#172033`,fontFamily:`Georgia, "Times New Roman", serif`,lineHeight:`1.72`,padding:`0 8px`},img:{maxWidth:`100%`},html:{height:`auto`,overflow:`auto`}}),U.on(`relocated`,Z),await H.ready;let n=await H.loaded.metadata.catch(()=>void 0);F.value=J(n?.title,F.value),I.value=J(n?.creator,``),L.value=Y((await H.loaded.navigation.catch(()=>void 0))?.toc);let r=X(L.value);if(await U.display(r),!await ee())throw Error(`EPUB 正文渲染未完成,请刷新后重试`);if(W)return;M.value=`ready`,H.locations.generate(1200).catch(()=>void 0)}catch(e){console.error(e),N.value=e instanceof Error?e.message:String(e),M.value=`error`}},ne=async()=>{await U?.prev()},re=async()=>{await U?.next()},ie=async e=>{await U?.display(e.href),P.value=!1};return a(te),n(()=>{W=!0,G!==void 0&&(clearTimeout(G),G=void 0),U&&=(U.off(`relocated`,Z),U.destroy(),void 0),H?.destroy(),H=void 0}),(n,r)=>(e(),c(`div`,{class:g([`epub-viewer`,{"epub-viewer--toc-hidden":!P.value}])},[s(`div`,_,[s(`button`,{type:`button`,class:g([`epub-icon-button`,{active:P.value}]),title:`目录`,onClick:r[0]||=e=>P.value=!P.value},[...r[1]||=[s(`span`,null,null,-1)]],2),s(`div`,v,[s(`strong`,null,o(F.value),1),s(`span`,null,o(I.value||q.value),1)]),s(`div`,y,[s(`button`,{type:`button`,class:`epub-button`,disabled:M.value!==`ready`||B.value,onClick:ne},` 上一页 `,8,b),s(`span`,x,o(q.value),1),s(`button`,{type:`button`,class:`epub-button`,disabled:M.value!==`ready`||V.value,onClick:re},` 下一页 `,8,S)])]),s(`div`,C,[P.value?(e(),c(`aside`,w,[s(`div`,T,[r[2]||=s(`strong`,null,`目录`,-1),s(`span`,null,o(L.value.length)+` 项`,1)]),s(`div`,E,[(e(!0),c(u,null,d(L.value,n=>(e(),c(`button`,{key:n.id,type:`button`,class:g([`epub-toc-item`,{active:n.href===R.value}]),style:t({paddingLeft:`${12+n.depth*14}px`}),onClick:e=>ie(n)},o(n.label),15,D))),128))])])):h(``,!0),s(`main`,O,[s(`div`,{ref_key:`stage`,ref:j,class:`epub-stage`},null,512),M.value===`loading`?(e(),c(`div`,k,`正在解析 EPUB...`)):M.value===`error`?(e(),c(`div`,A,o(N.value),1)):h(``,!0)])])],2))}}),[[`__scopeId`,`data-v-8f8a2b3b`]]);export{j as default};
@@ -1 +0,0 @@
1
- import{A as e,E as t,H as n,I as r,M as i,N as a,O as o,P as s,R as c,b as l,g as u,h as d,j as f,k as p,l as m,q as h,v as g,w as _}from"./index-DP0aBxNP.js";var v=h(n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.Viewer=r())})(e,(function(){function e(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}function n(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,`prototype`,{writable:!1}),e}function r(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?i(Object(n),!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s(e){var t=o(e,`string`);return typeof t==`symbol`?t:t+``}function c(e){"@babel/helpers - typeof";return c=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},c(e)}var l={backdrop:!0,button:!0,navbar:!0,title:!0,toolbar:!0,className:``,container:`body`,filter:null,fullscreen:!0,inheritedAttributes:[`crossOrigin`,`decoding`,`isMap`,`loading`,`referrerPolicy`,`sizes`,`srcset`,`useMap`],initialCoverage:.9,initialViewIndex:0,inline:!1,interval:5e3,keyboard:!0,focus:!0,loading:!0,loop:!0,minWidth:200,minHeight:100,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,slideOnTouch:!0,toggleOnDblclick:!0,tooltip:!0,transition:!0,zIndex:2015,zIndexInline:0,zoomRatio:.1,minZoomRatio:.01,maxZoomRatio:100,url:`src`,ready:null,show:null,shown:null,hide:null,hidden:null,view:null,viewed:null,move:null,moved:null,rotate:null,rotated:null,scale:null,scaled:null,zoom:null,zoomed:null,play:null,stop:null},u=`<div class="viewer-container" tabindex="-1" touch-action="none"><div class="viewer-canvas"></div><div class="viewer-footer"><div class="viewer-title"></div><div class="viewer-toolbar"></div><div class="viewer-navbar"><ul class="viewer-list" role="navigation"></ul></div></div><div class="viewer-tooltip" role="alert" aria-hidden="true"></div><div class="viewer-button" data-viewer-action="mix" role="button"></div><div class="viewer-player"></div></div>`,d=typeof window<`u`&&window.document!==void 0,f=d?window:{},p=d&&f.document.documentElement?`ontouchstart`in f.document.documentElement:!1,m=d?`PointerEvent`in f:!1,h=`viewer`,g=`move`,_=`switch`,v=`zoom`,y=`${h}-active`,ee=`${h}-close`,b=`${h}-fade`,x=`${h}-fixed`,te=`${h}-fullscreen`,ne=`${h}-fullscreen-exit`,S=`${h}-hide`,C=`${h}-hide-md-down`,re=`${h}-hide-sm-down`,ie=`${h}-hide-xs-down`,w=`${h}-in`,T=`${h}-invisible`,E=`${h}-loading`,ae=`${h}-move`,oe=`${h}-open`,D=`${h}-show`,O=`${h}-transition`,k=`click`,se=`dblclick`,ce=`dragstart`,le=`focusin`,ue=`keydown`,A=`load`,j=`error`,de=p?`touchend touchcancel`:`mouseup`,fe=p?`touchmove`:`mousemove`,pe=m?`pointerdown`:p?`touchstart`:`mousedown`,me=m?`pointermove`:fe,he=m?`pointerup pointercancel`:de,ge=`resize`,M=`transitionend`,_e=`wheel`,ve=`ready`,ye=`show`,be=`shown`,xe=`hide`,Se=`hidden`,Ce=`view`,N=`viewed`,we=`move`,Te=`moved`,Ee=`rotate`,De=`rotated`,Oe=`scale`,ke=`scaled`,P=`zoom`,Ae=`zoomed`,je=`play`,Me=`stop`,F=`${h}Action`,Ne=/\s\s*/,I=[`zoom-in`,`zoom-out`,`one-to-one`,`reset`,`prev`,`play`,`next`,`rotate-left`,`rotate-right`,`flip-horizontal`,`flip-vertical`];function Pe(e){return typeof e==`string`}var Fe=Number.isNaN||f.isNaN;function L(e){return typeof e==`number`&&!Fe(e)}function R(e){return e===void 0}function z(e){return c(e)===`object`&&e!==null}var Ie=Object.prototype.hasOwnProperty;function B(e){if(!z(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&Ie.call(n,`isPrototypeOf`)}catch{return!1}}function V(e){return typeof e==`function`}function H(e,t){if(e&&V(t))if(Array.isArray(e)||L(e.length)){var n=e.length,r;for(r=0;r<n&&t.call(e,e[r],r,e)!==!1;r+=1);}else z(e)&&Object.keys(e).forEach(function(n){t.call(e,e[n],n,e)});return e}var U=Object.assign||function(e){var t=[...arguments].slice(1);return z(e)&&t.length>0&&t.forEach(function(t){z(t)&&Object.keys(t).forEach(function(n){e[n]=t[n]})}),e},Le=/^(?:width|height|left|top|marginLeft|marginTop)$/;function W(e,t){var n=e.style;H(t,function(e,t){Le.test(t)&&L(e)&&(e+=`px`),n[t]=e})}function Re(e){return Pe(e)?e.replace(/&(?!amp;|quot;|#39;|lt;|gt;)/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`):e}function G(e,t){return!e||!t?!1:e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function K(e,t){if(!(!e||!t)){if(L(e.length)){H(e,function(e){K(e,t)});return}if(e.classList){e.classList.add(t);return}var n=e.className.trim();n?n.indexOf(t)<0&&(e.className=`${n} ${t}`):e.className=t}}function q(e,t){if(!(!e||!t)){if(L(e.length)){H(e,function(e){q(e,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,``))}}function J(e,t,n){if(t){if(L(e.length)){H(e,function(e){J(e,t,n)});return}n?K(e,t):q(e,t)}}var ze=/([a-z\d])([A-Z])/g;function Be(e){return e.replace(ze,`$1-$2`).toLowerCase()}function Y(e,t){return z(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute(`data-${Be(t)}`)}function Ve(e,t,n){z(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute(`data-${Be(t)}`,n)}var He=function(){var e=!1;if(d){var t=!1,n=function(){},r=Object.defineProperty({},`once`,{get:function(){return e=!0,t},set:function(e){t=e}});f.addEventListener(`test`,n,r),f.removeEventListener(`test`,n,r)}return e}();function X(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Ne).forEach(function(t){if(!He){var a=e.listeners;a&&a[t]&&a[t][n]&&(i=a[t][n],delete a[t][n],Object.keys(a[t]).length===0&&delete a[t],Object.keys(a).length===0&&delete e.listeners)}e.removeEventListener(t,i,r)})}function Z(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Ne).forEach(function(t){if(r.once&&!He){var a=e.listeners,o=a===void 0?{}:a;i=function(){delete o[t][n],e.removeEventListener(t,i,r);var a=[...arguments];n.apply(e,a)},o[t]||(o[t]={}),o[t][n]&&e.removeEventListener(t,o[t][n],r),o[t][n]=i,e.listeners=o}e.addEventListener(t,i,r)})}function Q(e,t,n,r){var i;return V(Event)&&V(CustomEvent)?i=new CustomEvent(t,a({bubbles:!0,cancelable:!0,detail:n},r)):(i=document.createEvent(`CustomEvent`),i.initCustomEvent(t,!0,!0,n)),e.dispatchEvent(i)}function Ue(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}function We(e){var t=e.rotate,n=e.scaleX,r=e.scaleY,i=e.translateX,a=e.translateY,o=[];L(i)&&i!==0&&o.push(`translateX(${i}px)`),L(a)&&a!==0&&o.push(`translateY(${a}px)`),L(t)&&t!==0&&o.push(`rotate(${t}deg)`),L(n)&&n!==1&&o.push(`scaleX(${n})`),L(r)&&r!==1&&o.push(`scaleY(${r})`);var s=o.length?o.join(` `):`none`;return{WebkitTransform:s,msTransform:s,transform:s}}function Ge(e){return Pe(e)?decodeURIComponent(e.replace(/^.*\//,``).replace(/[?&#].*$/,``)):``}var Ke=f.navigator&&/Version\/\d+(\.\d+)+?\s+Safari/i.test(f.navigator.userAgent);function qe(e,t,n){var r=document.createElement(`img`);if(e.naturalWidth&&!Ke)return n(e.naturalWidth,e.naturalHeight),r;var i=document.body||document.documentElement;return r.onload=function(){n(r.width,r.height),Ke||i.removeChild(r)},H(t.inheritedAttributes,function(t){var n=e.getAttribute(t);n!==null&&r.setAttribute(t,n)}),r.src=e.src,Ke||(r.style.cssText=`left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;`,i.appendChild(r)),r}function Je(e){switch(e){case 2:return ie;case 3:return re;case 4:return C;default:return``}}function Ye(e){var t=a({},e),n=[];return H(e,function(e,r){delete t[r],H(t,function(t){var r=Math.abs(e.startX-t.startX),i=Math.abs(e.startY-t.startY),a=Math.abs(e.endX-t.endX),o=Math.abs(e.endY-t.endY),s=Math.sqrt(r*r+i*i),c=(Math.sqrt(a*a+o*o)-s)/s;n.push(c)})}),n.sort(function(e,t){return Math.abs(e)<Math.abs(t)}),n[0]}function Xe(e,t){var n=e.pageX,r=e.pageY,i={endX:n,endY:r};return t?i:a({timeStamp:Date.now(),startX:n,startY:r},i)}function Ze(e){var t=0,n=0,r=0;return H(e,function(e){var i=e.startX,a=e.startY;t+=i,n+=a,r+=1}),t/=r,n/=r,{pageX:t,pageY:n}}var Qe={render:function(){this.initContainer(),this.initViewer(),this.initList(),this.renderViewer()},initBody:function(){var e=this.element.ownerDocument,t=e.body||e.documentElement;this.body=t,this.scrollbarWidth=window.innerWidth-e.documentElement.clientWidth,this.initialBodyPaddingRight=t.style.paddingRight,this.initialBodyComputedPaddingRight=window.getComputedStyle(t).paddingRight},initContainer:function(){this.containerData={width:window.innerWidth,height:window.innerHeight}},initViewer:function(){var e=this.options,t=this.parent,n;e.inline&&(n={width:Math.max(t.offsetWidth,e.minWidth),height:Math.max(t.offsetHeight,e.minHeight)},this.parentData=n),(this.fulled||!n)&&(n=this.containerData),this.viewerData=U({},n)},renderViewer:function(){this.options.inline&&!this.fulled&&W(this.viewer,this.viewerData)},initList:function(){var e=this,t=this.element,n=this.options,r=this.list,i=[];r.innerHTML=``,H(this.images,function(t,a){var o=t.src,s=t.alt||Ge(o),c=e.getImageURL(t);if(o||c){var l=document.createElement(`li`),u=document.createElement(`img`);H(n.inheritedAttributes,function(e){var n=t.getAttribute(e);n!==null&&u.setAttribute(e,n)}),n.navbar&&(u.src=o||c),u.alt=s,u.setAttribute(`data-original-url`,c||o),l.setAttribute(`data-index`,a),l.setAttribute(`data-viewer-action`,`view`),l.setAttribute(`role`,`button`),n.keyboard&&l.setAttribute(`tabindex`,0),l.appendChild(u),r.appendChild(l),i.push(l)}}),this.items=i,H(i,function(t){var r=t.firstElementChild,i,a;Ve(r,`filled`,!0),n.loading&&K(t,E),Z(r,A,i=function(i){X(r,j,a),n.loading&&q(t,E),e.loadImage(i)},{once:!0}),Z(r,j,a=function(){X(r,A,i),n.loading&&q(t,E)},{once:!0})}),n.transition&&Z(t,N,function(){K(r,O)},{once:!0})},renderList:function(){var e=this.index,t=this.items[e];if(t){var n=t.nextElementSibling,r=parseInt(window.getComputedStyle(n||t).marginLeft,10),i=t.offsetWidth,a=i+r;W(this.list,U({width:a*this.length-r},We({translateX:(this.viewerData.width-i)/2-a*e})))}},resetList:function(){var e=this.list;e.innerHTML=``,q(e,O),W(e,We({translateX:0}))},initImage:function(e){var t=this,n=this.options,r=this.image,i=this.viewerData,a=this.footer.offsetHeight,o=i.width,s=Math.max(i.height-a,a),c=this.imageData||{},l;this.imageInitializing={abort:function(){l.onload=null}},l=qe(r,n,function(r,i){var a=r/i,l=Math.max(0,Math.min(1,n.initialCoverage)),u=o,d=s;t.imageInitializing=!1,s*a>o?d=o/a:u=s*a,l=L(l)?l:.9,u=Math.min(u*l,r),d=Math.min(d*l,i);var f=(o-u)/2,p=(s-d)/2,m={left:f,top:p,x:f,y:p,width:u,height:d,oldRatio:1,ratio:u/r,aspectRatio:a,naturalWidth:r,naturalHeight:i},h=U({},m);n.rotatable&&(m.rotate=c.rotate||0,h.rotate=0),n.scalable&&(m.scaleX=c.scaleX||1,m.scaleY=c.scaleY||1,h.scaleX=1,h.scaleY=1),t.imageData=m,t.initialImageData=h,e&&e()})},renderImage:function(e){var t=this,n=this.image,r=this.imageData;if(W(n,U({width:r.width,height:r.height,marginLeft:r.x,marginTop:r.y},We(r))),e)if((this.viewing||this.moving||this.rotating||this.scaling||this.zooming)&&this.options.transition&&G(n,O)){var i=function(){t.imageRendering=!1,e()};this.imageRendering={abort:function(){X(n,M,i)}},Z(n,M,i,{once:!0})}else e()},resetImage:function(){var e=this.image;e&&(this.viewing&&this.viewing.abort(),e.parentNode.removeChild(e),this.image=null,this.title.innerHTML=``)}},$e={bind:function(){var e=this.options,t=this.viewer,n=this.canvas,r=this.element.ownerDocument;Z(t,k,this.onClick=this.click.bind(this)),Z(t,ce,this.onDragStart=this.dragstart.bind(this)),Z(n,pe,this.onPointerDown=this.pointerdown.bind(this)),Z(r,me,this.onPointerMove=this.pointermove.bind(this)),Z(r,he,this.onPointerUp=this.pointerup.bind(this)),Z(r,ue,this.onKeyDown=this.keydown.bind(this)),Z(window,ge,this.onResize=this.resize.bind(this)),e.zoomable&&e.zoomOnWheel&&Z(t,_e,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleOnDblclick&&Z(n,se,this.onDblclick=this.dblclick.bind(this))},unbind:function(){var e=this.options,t=this.viewer,n=this.canvas,r=this.element.ownerDocument;X(t,k,this.onClick),X(t,ce,this.onDragStart),X(n,pe,this.onPointerDown),X(r,me,this.onPointerMove),X(r,he,this.onPointerUp),X(r,ue,this.onKeyDown),X(window,ge,this.onResize),e.zoomable&&e.zoomOnWheel&&X(t,_e,this.onWheel,{passive:!1,capture:!0}),e.toggleOnDblclick&&X(n,se,this.onDblclick)}},et={click:function(e){var t=this.options,n=this.imageData,r=e.target,i=Y(r,F);switch(!i&&r.localName===`img`&&r.parentElement.localName===`li`&&(r=r.parentElement,i=Y(r,F)),p&&e.isTrusted&&r===this.canvas&&clearTimeout(this.clickCanvasTimeout),i){case`mix`:this.played?this.stop():t.inline?this.fulled?this.exit():this.full():this.hide();break;case`hide`:this.pointerMoved||this.hide();break;case`view`:this.view(Y(r,`index`));break;case`zoom-in`:this.zoom(.1,!0);break;case`zoom-out`:this.zoom(-.1,!0);break;case`one-to-one`:this.toggle();break;case`reset`:this.reset();break;case`prev`:this.prev(t.loop);break;case`play`:this.play(t.fullscreen);break;case`next`:this.next(t.loop);break;case`rotate-left`:this.rotate(-90);break;case`rotate-right`:this.rotate(90);break;case`flip-horizontal`:this.scaleX(-n.scaleX||-1);break;case`flip-vertical`:this.scaleY(-n.scaleY||-1);break;default:this.played&&this.stop()}},dblclick:function(e){e.preventDefault(),this.viewed&&e.target===this.image&&(p&&e.isTrusted&&clearTimeout(this.doubleClickImageTimeout),this.toggle(e.isTrusted?e:e.detail&&e.detail.originalEvent))},load:function(){var e=this;this.timeout&&=(clearTimeout(this.timeout),!1);var t=this.element,n=this.options,r=this.image,i=this.index,a=this.viewerData;q(r,T),n.loading&&q(this.canvas,E),r.style.cssText=`height:0;margin-left:${a.width/2}px;margin-top:${a.height/2}px;max-width:none!important;position:relative;width:0;`,this.initImage(function(){J(r,ae,n.movable),J(r,O,n.transition),e.renderImage(function(){e.viewed=!0,e.viewing=!1,V(n.viewed)&&Z(t,N,n.viewed,{once:!0}),Q(t,N,{originalImage:e.images[i],index:i,image:r},{cancelable:!1})})})},loadImage:function(e){var t=e.target,n=t.parentNode,r=n.offsetWidth||30,i=n.offsetHeight||50,a=!!Y(t,`filled`);qe(t,this.options,function(e,n){var o=e/n,s=r,c=i;i*o>r?a?s=i*o:c=r/o:a?c=r/o:s=i*o,W(t,U({width:s,height:c},We({translateX:(r-s)/2,translateY:(i-c)/2})))})},keydown:function(e){var t=this.options;if(t.keyboard){var n=e.keyCode||e.which||e.charCode;switch(n){case 13:this.viewer.contains(e.target)&&this.click(e);break}if(this.fulled)switch(n){case 27:this.played?this.stop():t.inline?this.fulled&&this.exit():this.hide();break;case 32:this.played&&this.stop();break;case 37:this.played&&this.playing?this.playing.prev():this.prev(t.loop);break;case 38:e.preventDefault(),this.zoom(t.zoomRatio,!0);break;case 39:this.played&&this.playing?this.playing.next():this.next(t.loop);break;case 40:e.preventDefault(),this.zoom(-t.zoomRatio,!0);break;case 48:case 49:e.ctrlKey&&(e.preventDefault(),this.toggle());break}}},dragstart:function(e){e.target.localName===`img`&&e.preventDefault()},pointerdown:function(e){var t=this.options,n=this.pointers,r=e.buttons,i=e.button;if(this.pointerMoved=!1,!(!this.viewed||this.showing||this.viewing||this.hiding||(e.type===`mousedown`||e.type===`pointerdown`&&e.pointerType===`mouse`)&&(L(r)&&r!==1||L(i)&&i!==0||e.ctrlKey))){e.preventDefault(),e.changedTouches?H(e.changedTouches,function(e){n[e.identifier]=Xe(e)}):n[e.pointerId||0]=Xe(e);var a=t.movable?g:!1;t.zoomOnTouch&&t.zoomable&&Object.keys(n).length>1?a=v:t.slideOnTouch&&(e.pointerType===`touch`||e.type===`touchstart`)&&this.isSwitchable()&&(a=_),t.transition&&(a===g||a===v)&&q(this.image,O),this.action=a}},pointermove:function(e){var t=this.pointers,n=this.action;!this.viewed||!n||(e.preventDefault(),e.changedTouches?H(e.changedTouches,function(e){U(t[e.identifier]||{},Xe(e,!0))}):U(t[e.pointerId||0]||{},Xe(e,!0)),this.change(e))},pointerup:function(e){var t=this,n=this.options,r=this.action,i=this.pointers,a;e.changedTouches?H(e.changedTouches,function(e){a=i[e.identifier],delete i[e.identifier]}):(a=i[e.pointerId||0],delete i[e.pointerId||0]),r&&(e.preventDefault(),n.transition&&(r===g||r===v)&&K(this.image,O),this.action=!1,p&&r!==v&&a&&Date.now()-a.timeStamp<500&&(clearTimeout(this.clickCanvasTimeout),clearTimeout(this.doubleClickImageTimeout),n.toggleOnDblclick&&this.viewed&&e.target===this.image?this.imageClicked?(this.imageClicked=!1,this.doubleClickImageTimeout=setTimeout(function(){Q(t.image,se,{originalEvent:e})},50)):(this.imageClicked=!0,this.doubleClickImageTimeout=setTimeout(function(){t.imageClicked=!1},500)):(this.imageClicked=!1,n.backdrop&&n.backdrop!==`static`&&e.target===this.canvas&&(this.clickCanvasTimeout=setTimeout(function(){Q(t.canvas,k,{originalEvent:e})},50)))))},resize:function(){var e=this;if(!(!this.isShown||this.hiding)&&(this.fulled&&(this.close(),this.initBody(),this.open()),this.initContainer(),this.initViewer(),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){e.renderImage()}),this.played)){if(this.options.fullscreen&&this.fulled&&!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)){this.stop();return}H(this.player.getElementsByTagName(`img`),function(t){Z(t,A,e.loadImage.bind(e),{once:!0}),Q(t,A)})}},wheel:function(e){var t=this;if(this.viewed&&(e.preventDefault(),!this.wheeling)){this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50);var n=Number(this.options.zoomRatio)||.1,r=1;e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*n,!0,null,e)}}},tt={show:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.element,n=this.options;if(n.inline||this.showing||this.isShown||this.showing)return this;if(!this.ready)return this.build(),this.ready&&this.show(e),this;if(V(n.show)&&Z(t,ye,n.show,{once:!0}),Q(t,ye)===!1||!this.ready)return this;this.hiding&&this.transitioning.abort(),this.showing=!0,this.open();var r=this.viewer;if(q(r,S),r.setAttribute(`role`,`dialog`),r.setAttribute(`aria-labelledby`,this.title.id),r.setAttribute(`aria-modal`,!0),r.removeAttribute(`aria-hidden`),n.transition&&!e){var i=this.shown.bind(this);this.transitioning={abort:function(){X(r,M,i),q(r,w)}},K(r,O),r.initialOffsetWidth=r.offsetWidth,Z(r,M,i,{once:!0}),K(r,w)}else K(r,w),this.shown();return this},hide:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,n=this.element,r=this.options;if(r.inline||this.hiding||!(this.isShown||this.showing)||(V(r.hide)&&Z(n,xe,r.hide,{once:!0}),Q(n,xe)===!1))return this;this.showing&&this.transitioning.abort(),this.hiding=!0,this.played?this.stop():this.viewing&&this.viewing.abort();var i=this.viewer,a=this.image,o=function(){q(i,w),e.hidden()};if(r.transition&&!t){var s=function(t){t&&t.target===i&&(X(i,M,s),e.hidden())},c=function(){G(i,O)?(Z(i,M,s),q(i,w)):o()};this.transitioning={abort:function(){e.viewed&&G(a,O)?X(a,M,c):G(i,O)&&X(i,M,s)}},this.viewed&&G(a,O)?(Z(a,M,c,{once:!0}),this.zoomTo(0,!1,null,null,!0)):c()}else o();return this},view:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.initialViewIndex;if(t=Number(t)||0,this.hiding||this.played||t<0||t>=this.length||this.viewed&&t===this.index)return this;if(!this.isShown)return this.index=t,this.show();this.viewing&&this.viewing.abort();var n=this.element,r=this.options,i=this.title,a=this.canvas,o=this.items[t],s=o.querySelector(`img`),c=Y(s,`originalUrl`),l=s.getAttribute(`alt`),u=document.createElement(`img`);if(H(r.inheritedAttributes,function(e){var t=s.getAttribute(e);t!==null&&u.setAttribute(e,t)}),u.src=c,u.alt=l,V(r.view)&&Z(n,Ce,r.view,{once:!0}),Q(n,Ce,{originalImage:this.images[t],index:t,image:u})===!1||!this.isShown||this.hiding||this.played)return this;var d=this.items[this.index];d&&(q(d,y),d.removeAttribute(`aria-selected`)),K(o,y),o.setAttribute(`aria-selected`,!0),r.focus&&o.focus(),this.image=u,this.viewed=!1,this.index=t,this.imageData={},K(u,T),r.loading&&K(a,E),a.innerHTML=``,a.appendChild(u),this.renderList(),i.innerHTML=``;var f=function(){var t=e.imageData,n=Array.isArray(r.title)?r.title[1]:r.title;i.innerHTML=Re(V(n)?n.call(e,u,t):`${l} (${t.naturalWidth} × ${t.naturalHeight})`)},p,m;return Z(n,N,f,{once:!0}),this.viewing={abort:function(){X(n,N,f),u.complete?e.imageRendering?e.imageRendering.abort():e.imageInitializing&&e.imageInitializing.abort():(u.src=``,X(u,A,p),e.timeout&&clearTimeout(e.timeout))}},u.complete?this.load():(Z(u,A,p=function(){X(u,j,m),e.load()},{once:!0}),Z(u,j,m=function(){X(u,A,p),e.timeout&&=(clearTimeout(e.timeout),!1),q(u,T),r.loading&&q(e.canvas,E)},{once:!0}),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){q(u,T),e.timeout=!1},1e3)),this},prev:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.index-1;return t<0&&(t=e?this.length-1:0),this.view(t),this},next:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.length-1,n=this.index+1;return n>t&&(n=e?0:t),this.view(n),this},move:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.imageData;return this.moveTo(R(e)?e:n.x+Number(e),R(t)?t:n.y+Number(t)),this},moveTo:function(e){var t=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,i=this.element,a=this.options,o=this.imageData;if(e=Number(e),n=Number(n),this.viewed&&!this.played&&a.movable){var s=o.x,c=o.y,l=!1;if(L(e)?l=!0:e=s,L(n)?l=!0:n=c,l){if(V(a.move)&&Z(i,we,a.move,{once:!0}),Q(i,we,{x:e,y:n,oldX:s,oldY:c,originalEvent:r})===!1)return this;o.x=e,o.y=n,o.left=e,o.top=n,this.moving=!0,this.renderImage(function(){t.moving=!1,V(a.moved)&&Z(i,Te,a.moved,{once:!0}),Q(i,Te,{x:e,y:n,oldX:s,oldY:c,originalEvent:r},{cancelable:!1})})}}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e)),this},rotateTo:function(e){var t=this,n=this.element,r=this.options,i=this.imageData;if(e=Number(e),L(e)&&this.viewed&&!this.played&&r.rotatable){var a=i.rotate;if(V(r.rotate)&&Z(n,Ee,r.rotate,{once:!0}),Q(n,Ee,{degree:e,oldDegree:a})===!1)return this;i.rotate=e,this.rotating=!0,this.renderImage(function(){t.rotating=!1,V(r.rotated)&&Z(n,De,r.rotated,{once:!0}),Q(n,De,{degree:e,oldDegree:a},{cancelable:!1})})}return this},scaleX:function(e){return this.scale(e,this.imageData.scaleY),this},scaleY:function(e){return this.scale(this.imageData.scaleX,e),this},scale:function(e){var t=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,r=this.element,i=this.options,a=this.imageData;if(e=Number(e),n=Number(n),this.viewed&&!this.played&&i.scalable){var o=a.scaleX,s=a.scaleY,c=!1;if(L(e)?c=!0:e=o,L(n)?c=!0:n=s,c){if(V(i.scale)&&Z(r,Oe,i.scale,{once:!0}),Q(r,Oe,{scaleX:e,scaleY:n,oldScaleX:o,oldScaleY:s})===!1)return this;a.scaleX=e,a.scaleY=n,this.scaling=!0,this.renderImage(function(){t.scaling=!1,V(i.scaled)&&Z(r,ke,i.scaled,{once:!0}),Q(r,ke,{scaleX:e,scaleY:n,oldScaleX:o,oldScaleY:s},{cancelable:!1})})}}return this},zoom:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,i=this.imageData;return e=Number(e),e=e<0?1/(1-e):1+e,this.zoomTo(i.width*e/i.naturalWidth,t,n,r),this},zoomTo:function(e){var t=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,o=this.element,s=this.options,c=this.pointers,l=this.imageData,u=l.x,d=l.y,f=l.width,p=l.height,m=l.naturalWidth,h=l.naturalHeight;if(e=Math.max(0,e),L(e)&&this.viewed&&!this.played&&(a||s.zoomable)){if(!a){var g=Math.max(.01,s.minZoomRatio),_=Math.min(100,s.maxZoomRatio);e=Math.min(Math.max(e,g),_)}if(i)switch(i.type){case`wheel`:s.zoomRatio>=.055&&e>.95&&e<1.05&&(e=1);break;case`pointermove`:case`touchmove`:case`mousemove`:e>.99&&e<1.01&&(e=1);break}var v=m*e,y=h*e,ee=v-f,b=y-p,x=l.ratio;if(V(s.zoom)&&Z(o,P,s.zoom,{once:!0}),Q(o,P,{ratio:e,oldRatio:x,originalEvent:i})===!1)return this;if(this.zooming=!0,i){var te=Ue(this.viewer),ne=c&&Object.keys(c).length>0?Ze(c):{pageX:i.pageX,pageY:i.pageY};l.x-=ee*((ne.pageX-te.left-u)/f),l.y-=b*((ne.pageY-te.top-d)/p)}else B(r)&&L(r.x)&&L(r.y)?(l.x-=ee*((r.x-u)/f),l.y-=b*((r.y-d)/p)):(l.x-=ee/2,l.y-=b/2);l.left=l.x,l.top=l.y,l.width=v,l.height=y,l.oldRatio=x,l.ratio=e,this.renderImage(function(){t.zooming=!1,V(s.zoomed)&&Z(o,Ae,s.zoomed,{once:!0}),Q(o,Ae,{ratio:e,oldRatio:x,originalEvent:i},{cancelable:!1})}),n&&this.tooltip()}return this},play:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!this.isShown||this.played)return this;var n=this.element,r=this.options;if(V(r.play)&&Z(n,je,r.play,{once:!0}),Q(n,je)===!1)return this;var i=this.player,a=this.loadImage.bind(this),o=[],s=0,c=0;if(this.played=!0,this.onLoadWhenPlay=a,t&&this.requestFullscreen(t),K(i,D),H(this.items,function(e,t){var n=e.querySelector(`img`),l=document.createElement(`img`);l.src=Y(n,`originalUrl`),l.alt=n.getAttribute(`alt`),l.referrerPolicy=n.referrerPolicy,s+=1,K(l,b),J(l,O,r.transition),G(e,y)&&(K(l,w),c=t),o.push(l),Z(l,A,a,{once:!0}),i.appendChild(l)}),L(r.interval)&&r.interval>0){var l=function(){clearTimeout(e.playing.timeout),q(o[c],w),--c,c=c>=0?c:s-1,K(o[c],w),e.playing.timeout=setTimeout(l,r.interval)},u=function(){clearTimeout(e.playing.timeout),q(o[c],w),c+=1,c=c<s?c:0,K(o[c],w),e.playing.timeout=setTimeout(u,r.interval)};s>1&&(this.playing={prev:l,next:u,timeout:setTimeout(u,r.interval)})}return this},stop:function(){var e=this;if(!this.played)return this;var t=this.element,n=this.options;if(V(n.stop)&&Z(t,Me,n.stop,{once:!0}),Q(t,Me)===!1)return this;var r=this.player;return clearTimeout(this.playing.timeout),this.playing=!1,this.played=!1,H(r.getElementsByTagName(`img`),function(t){X(t,A,e.onLoadWhenPlay)}),q(r,D),r.innerHTML=``,this.exitFullscreen(),this},full:function(){var e=this,t=this.options,n=this.viewer,r=this.image,i=this.list;return!this.isShown||this.played||this.fulled||!t.inline?this:(this.fulled=!0,this.open(),K(this.button,ne),t.transition&&(q(i,O),this.viewed&&q(r,O)),K(n,x),n.setAttribute(`role`,`dialog`),n.setAttribute(`aria-labelledby`,this.title.id),n.setAttribute(`aria-modal`,!0),n.removeAttribute(`style`),W(n,{zIndex:t.zIndex}),t.focus&&this.enforceFocus(),this.initContainer(),this.viewerData=U({},this.containerData),this.renderList(),this.viewed&&this.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){K(r,O),K(i,O)},0)})}),this)},exit:function(){var e=this,t=this.options,n=this.viewer,r=this.image,i=this.list;return!this.isShown||this.played||!this.fulled||!t.inline?this:(this.fulled=!1,this.close(),q(this.button,ne),t.transition&&(q(i,O),this.viewed&&q(r,O)),t.focus&&this.clearEnforceFocus(),n.removeAttribute(`role`),n.removeAttribute(`aria-labelledby`),n.removeAttribute(`aria-modal`),q(n,x),W(n,{zIndex:t.zIndexInline}),this.viewerData=U({},this.parentData),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){K(r,O),K(i,O)},0)})}),this)},tooltip:function(){var e=this,t=this.options,n=this.tooltipBox,r=this.imageData;return!this.viewed||this.played||!t.tooltip?this:(n.textContent=`${Math.round(r.ratio*100)}%`,this.tooltipping?clearTimeout(this.tooltipping):t.transition?(this.fading&&Q(n,M),K(n,D),K(n,b),K(n,O),n.removeAttribute(`aria-hidden`),n.initialOffsetWidth=n.offsetWidth,K(n,w)):(K(n,D),n.removeAttribute(`aria-hidden`)),this.tooltipping=setTimeout(function(){t.transition?(Z(n,M,function(){q(n,D),q(n,b),q(n,O),n.setAttribute(`aria-hidden`,!0),e.fading=!1},{once:!0}),q(n,w),e.fading=!0):(q(n,D),n.setAttribute(`aria-hidden`,!0)),e.tooltipping=!1},1e3),this)},toggle:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.imageData.ratio===1?this.zoomTo(this.imageData.oldRatio,!0,null,e):this.zoomTo(1,!0,null,e),this},reset:function(){return this.viewed&&!this.played&&(this.imageData=U({},this.initialImageData),this.renderImage()),this},update:function(){var e=this,t=this.element,n=this.options,r=this.isImg;if(r&&!t.parentNode)return this.destroy();var i=[];if(H(r?[t]:t.querySelectorAll(`img`),function(t){V(n.filter)?n.filter.call(e,t)&&i.push(t):e.getImageURL(t)&&i.push(t)}),!i.length)return this;if(this.images=i,this.length=i.length,this.ready){var a=[];if(H(this.items,function(e,t){var n=e.querySelector(`img`),r=i[t];r&&n?(r.src!==n.src||r.alt!==n.alt)&&a.push(t):a.push(t)}),W(this.list,{width:`auto`}),this.initList(),this.isShown)if(this.length){if(this.viewed){var o=a.indexOf(this.index);if(o>=0)this.viewed=!1,this.view(Math.max(Math.min(this.index-o,this.length-1),0));else{var s=this.items[this.index];K(s,y),s.setAttribute(`aria-selected`,!0)}}}else this.image=null,this.viewed=!1,this.index=0,this.imageData={},this.canvas.innerHTML=``,this.title.innerHTML=``}else this.build();return this},destroy:function(){var e=this.element,t=this.options;return e[h]?(this.destroyed=!0,this.ready?(this.played&&this.stop(),t.inline?(this.fulled&&this.exit(),this.unbind()):this.isShown?(this.viewing&&(this.imageRendering?this.imageRendering.abort():this.imageInitializing&&this.imageInitializing.abort()),this.hiding&&this.transitioning.abort(),this.hidden()):this.showing&&(this.transitioning.abort(),this.hidden()),this.ready=!1,this.viewer.parentNode.removeChild(this.viewer)):t.inline&&(this.delaying?this.delaying.abort():this.initializing&&this.initializing.abort()),t.inline||X(e,k,this.onStart),e[h]=void 0,this):this}},nt={getImageURL:function(e){var t=this.options.url;return t=Pe(t)?e.getAttribute(t):V(t)?t.call(this,e):``,t},enforceFocus:function(){var e=this;this.clearEnforceFocus(),Z(document,le,this.onFocusin=function(t){var n=e.viewer,r=t.target;if(!(r===document||r===n||n.contains(r))){for(;r;){if(r.getAttribute(`tabindex`)!==null||r.getAttribute(`aria-modal`)===`true`)return;r=r.parentElement}n.focus()}})},clearEnforceFocus:function(){this.onFocusin&&=(X(document,le,this.onFocusin),null)},open:function(){var e=this.body;K(e,oe),this.scrollbarWidth>0&&(e.style.paddingRight=`${this.scrollbarWidth+(parseFloat(this.initialBodyComputedPaddingRight)||0)}px`)},close:function(){var e=this.body;q(e,oe),this.scrollbarWidth>0&&(e.style.paddingRight=this.initialBodyPaddingRight)},shown:function(){var e=this.element,t=this.options,n=this.viewer;this.fulled=!0,this.isShown=!0,this.render(),this.bind(),this.showing=!1,t.focus&&(n.focus(),this.enforceFocus()),V(t.shown)&&Z(e,be,t.shown,{once:!0}),Q(e,be)!==!1&&this.ready&&this.isShown&&!this.hiding&&this.view(this.index)},hidden:function(){var e=this.element,t=this.options,n=this.viewer;t.fucus&&this.clearEnforceFocus(),this.close(),this.unbind(),K(n,S),n.removeAttribute(`role`),n.removeAttribute(`aria-labelledby`),n.removeAttribute(`aria-modal`),n.setAttribute(`aria-hidden`,!0),this.resetList(),this.resetImage(),this.fulled=!1,this.viewed=!1,this.isShown=!1,this.hiding=!1,this.destroyed||(V(t.hidden)&&Z(e,Se,t.hidden,{once:!0}),Q(e,Se,null,{cancelable:!1}))},requestFullscreen:function(e){var t=this.element.ownerDocument;if(this.fulled&&!(t.fullscreenElement||t.webkitFullscreenElement||t.mozFullScreenElement||t.msFullscreenElement)){var n=t.documentElement;n.requestFullscreen?B(e)?n.requestFullscreen(e):n.requestFullscreen():n.webkitRequestFullscreen?n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):n.mozRequestFullScreen?n.mozRequestFullScreen():n.msRequestFullscreen&&n.msRequestFullscreen()}},exitFullscreen:function(){var e=this.element.ownerDocument;this.fulled&&(e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement)&&(e.exitFullscreen?e.exitFullscreen():e.webkitExitFullscreen?e.webkitExitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.msExitFullscreen&&e.msExitFullscreen())},change:function(e){var t=this.options,n=this.pointers,r=n[Object.keys(n)[0]];if(r){var i=r.endX-r.startX,a=r.endY-r.startY;switch(this.action){case g:(i!==0||a!==0)&&(this.pointerMoved=!0,this.move(i,a,e));break;case v:this.zoom(Ye(n),!1,null,e);break;case _:this.action=`switched`;var o=Math.abs(i);o>1&&o>Math.abs(a)&&(this.pointers={},i>1?this.prev(t.loop):i<-1&&this.next(t.loop));break}H(n,function(e){e.startX=e.endX,e.startY=e.endY})}},isSwitchable:function(){var e=this.imageData,t=this.viewerData;return this.length>1&&e.x>=0&&e.y>=0&&e.width<=t.width&&e.height<=t.height}},rt=f.Viewer,it=function(e){return function(){return e+=1,e}}(-1),at=function(){function t(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e(this,t),!n||n.nodeType!==1)throw Error(`The first argument is required and must be an element.`);this.element=n,this.options=U({},l,B(r)&&r),this.action=!1,this.fading=!1,this.fulled=!1,this.hiding=!1,this.imageClicked=!1,this.imageData={},this.index=this.options.initialViewIndex,this.isImg=!1,this.isShown=!1,this.length=0,this.moving=!1,this.played=!1,this.playing=!1,this.pointers={},this.ready=!1,this.rotating=!1,this.scaling=!1,this.showing=!1,this.timeout=!1,this.tooltipping=!1,this.viewed=!1,this.viewing=!1,this.wheeling=!1,this.zooming=!1,this.pointerMoved=!1,this.id=it(),this.init()}return n(t,[{key:`init`,value:function(){var e=this,t=this.element,n=this.options;if(!t[h]){t[h]=this,n.focus&&!n.keyboard&&(n.focus=!1);var r=t.localName===`img`,i=[];if(H(r?[t]:t.querySelectorAll(`img`),function(t){V(n.filter)?n.filter.call(e,t)&&i.push(t):e.getImageURL(t)&&i.push(t)}),this.isImg=r,this.length=i.length,this.images=i,this.initBody(),R(document.createElement(h).style.transition)&&(n.transition=!1),n.inline){var a=0,o=function(){if(a+=1,a===e.length){var t;e.initializing=!1,e.delaying={abort:function(){clearTimeout(t)}},t=setTimeout(function(){e.delaying=!1,e.build()},0)}};this.initializing={abort:function(){H(i,function(e){e.complete||(X(e,A,o),X(e,j,o))})}},H(i,function(e){if(e.complete)o();else{var t,n;Z(e,A,t=function(){X(e,j,n),o()},{once:!0}),Z(e,j,n=function(){X(e,A,t),o()},{once:!0})}})}else Z(t,k,this.onStart=function(t){var r=t.target;r.localName===`img`&&(!V(n.filter)||n.filter.call(e,r))&&e.view(e.images.indexOf(r))})}}},{key:`build`,value:function(){if(!this.ready){var e=this.element,t=this.options,n=e.parentNode,r=document.createElement(`div`);r.innerHTML=u;var i=r.querySelector(`.${h}-container`),a=i.querySelector(`.${h}-title`),o=i.querySelector(`.${h}-toolbar`),s=i.querySelector(`.${h}-navbar`),c=i.querySelector(`.${h}-button`),l=i.querySelector(`.${h}-canvas`);if(this.parent=n,this.viewer=i,this.title=a,this.toolbar=o,this.navbar=s,this.button=c,this.canvas=l,this.footer=i.querySelector(`.${h}-footer`),this.tooltipBox=i.querySelector(`.${h}-tooltip`),this.player=i.querySelector(`.${h}-player`),this.list=i.querySelector(`.${h}-list`),i.id=`${h}${this.id}`,a.id=`${h}Title${this.id}`,K(a,t.title?Je(Array.isArray(t.title)?t.title[0]:t.title):S),K(s,t.navbar?Je(t.navbar):S),J(c,S,!t.button),t.keyboard&&c.setAttribute(`tabindex`,0),t.backdrop&&(K(i,`${h}-backdrop`),!t.inline&&t.backdrop!==`static`&&Ve(l,F,`hide`)),Pe(t.className)&&t.className&&t.className.split(Ne).forEach(function(e){K(i,e)}),t.toolbar){var d=document.createElement(`ul`),f=B(t.toolbar),p=I.slice(0,3),m=I.slice(7,9),g=I.slice(9);f||K(o,Je(t.toolbar)),H(f?t.toolbar:I,function(e,n){var r=f&&B(e),i=f?Be(n):e,a=r&&!R(e.show)?e.show:e;if(!(!a||!t.zoomable&&p.indexOf(i)!==-1||!t.rotatable&&m.indexOf(i)!==-1||!t.scalable&&g.indexOf(i)!==-1)){var o=r&&!R(e.size)?e.size:e,s=r&&!R(e.click)?e.click:e,c=document.createElement(`li`);t.keyboard&&c.setAttribute(`tabindex`,0),c.setAttribute(`role`,`button`),K(c,`${h}-${i}`),V(s)||Ve(c,F,i),L(a)&&K(c,Je(a)),[`small`,`large`].indexOf(o)===-1?i===`play`&&K(c,`${h}-large`):K(c,`${h}-${o}`),V(s)&&Z(c,k,s),d.appendChild(c)}}),o.appendChild(d)}else K(o,S);if(!t.rotatable){var _=o.querySelectorAll(`li[class*="rotate"]`);K(_,T),H(_,function(e){o.appendChild(e)})}if(t.inline)K(c,te),W(i,{zIndex:t.zIndexInline}),window.getComputedStyle(n).position===`static`&&W(n,{position:`relative`}),n.insertBefore(i,e.nextSibling);else{K(c,ee),K(i,x),K(i,b),K(i,S),W(i,{zIndex:t.zIndex});var v=t.container;Pe(v)&&(v=e.ownerDocument.querySelector(v)),v||=this.body,v.appendChild(i)}if(t.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,V(t.ready)&&Z(e,ve,t.ready,{once:!0}),Q(e,ve)===!1){this.ready=!1;return}this.ready&&t.inline&&this.view(this.index)}}}],[{key:`noConflict`,value:function(){return window.Viewer=rt,t}},{key:`setDefaults`,value:function(e){U(l,B(e)&&e)}}])}();return U(at.prototype,Qe,$e,et,tt,nt),at}))}))(),1),y=typeof global==`object`&&global&&global.Object===Object&&global,ee=typeof self==`object`&&self&&self.Object===Object&&self,b=y||ee||Function(`return this`)(),x=b.Symbol,te=Object.prototype,ne=te.hasOwnProperty,S=te.toString,C=x?x.toStringTag:void 0;function re(e){var t=ne.call(e,C),n=e[C];try{e[C]=void 0;var r=!0}catch{}var i=S.call(e);return r&&(t?e[C]=n:delete e[C]),i}var ie=Object.prototype.toString;function w(e){return ie.call(e)}var T=`[object Null]`,E=`[object Undefined]`,ae=x?x.toStringTag:void 0;function oe(e){return e==null?e===void 0?E:T:ae&&ae in Object(e)?re(e):w(e)}function D(e){return typeof e==`object`&&!!e}var O=Array.isArray;function k(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}function se(e){return e}var ce=`[object AsyncFunction]`,le=`[object Function]`,ue=`[object GeneratorFunction]`,A=`[object Proxy]`;function j(e){if(!k(e))return!1;var t=oe(e);return t==le||t==ue||t==ce||t==A}var de=b[`__core-js_shared__`],fe=function(){var e=/[^.]+$/.exec(de&&de.keys&&de.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function pe(e){return!!fe&&fe in e}var me=Function.prototype.toString;function he(e){if(e!=null){try{return me.call(e)}catch{}try{return e+``}catch{}}return``}var ge=/[\\^$.*+?()[\]{}|]/g,M=/^\[object .+?Constructor\]$/,_e=Function.prototype,ve=Object.prototype,ye=_e.toString,be=ve.hasOwnProperty,xe=RegExp(`^`+ye.call(be).replace(ge,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function Se(e){return!k(e)||pe(e)?!1:(j(e)?xe:M).test(he(e))}function Ce(e,t){return e?.[t]}function N(e,t){var n=Ce(e,t);return Se(n)?n:void 0}function we(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var Te=800,Ee=16,De=Date.now;function Oe(e){var t=0,n=0;return function(){var r=De(),i=Ee-(r-n);if(n=r,i>0){if(++t>=Te)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function ke(e){return function(){return e}}var P=function(){try{var e=N(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),Ae=Oe(P?function(e,t){return P(e,`toString`,{configurable:!0,enumerable:!1,value:ke(t),writable:!0})}:se),je=9007199254740991,Me=/^(?:0|[1-9]\d*)$/;function F(e,t){var n=typeof e;return t??=je,!!t&&(n==`number`||n!=`symbol`&&Me.test(e))&&e>-1&&e%1==0&&e<t}function Ne(e,t,n){t==`__proto__`&&P?P(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function I(e,t){return e===t||e!==e&&t!==t}var Pe=Object.prototype.hasOwnProperty;function Fe(e,t,n){var r=e[t];(!(Pe.call(e,t)&&I(r,n))||n===void 0&&!(t in e))&&Ne(e,t,n)}function L(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?Ne(n,s,c):Fe(n,s,c)}return n}var R=Math.max;function z(e,t,n){return t=R(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=R(r.length-t,0),o=Array(a);++i<a;)o[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(o),we(e,this,s)}}function Ie(e,t){return Ae(z(e,t,se),e+``)}var B=9007199254740991;function V(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=B}function H(e){return e!=null&&V(e.length)&&!j(e)}function U(e,t,n){if(!k(n))return!1;var r=typeof t;return(r==`number`?H(n)&&F(t,n.length):r==`string`&&t in n)?I(n[t],e):!1}function Le(e){return Ie(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&U(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}var W=Object.prototype;function Re(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||W)}function G(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var K=`[object Arguments]`;function q(e){return D(e)&&oe(e)==K}var J=Object.prototype,ze=J.hasOwnProperty,Be=J.propertyIsEnumerable,Y=q(function(){return arguments}())?q:function(e){return D(e)&&ze.call(e,`callee`)&&!Be.call(e,`callee`)};function Ve(){return!1}var He=typeof exports==`object`&&exports&&!exports.nodeType&&exports,X=He&&typeof module==`object`&&module&&!module.nodeType&&module,Z=X&&X.exports===He?b.Buffer:void 0,Q=(Z?Z.isBuffer:void 0)||Ve,Ue=`[object Arguments]`,We=`[object Array]`,Ge=`[object Boolean]`,Ke=`[object Date]`,qe=`[object Error]`,Je=`[object Function]`,Ye=`[object Map]`,Xe=`[object Number]`,Ze=`[object Object]`,Qe=`[object RegExp]`,$e=`[object Set]`,et=`[object String]`,tt=`[object WeakMap]`,nt=`[object ArrayBuffer]`,rt=`[object DataView]`,it=`[object Float32Array]`,at=`[object Float64Array]`,ot=`[object Int8Array]`,st=`[object Int16Array]`,ct=`[object Int32Array]`,lt=`[object Uint8Array]`,ut=`[object Uint8ClampedArray]`,dt=`[object Uint16Array]`,ft=`[object Uint32Array]`,$={};$[it]=$[at]=$[ot]=$[st]=$[ct]=$[lt]=$[ut]=$[dt]=$[ft]=!0,$[Ue]=$[We]=$[nt]=$[Ge]=$[rt]=$[Ke]=$[qe]=$[Je]=$[Ye]=$[Xe]=$[Ze]=$[Qe]=$[$e]=$[et]=$[tt]=!1;function pt(e){return D(e)&&V(e.length)&&!!$[oe(e)]}function mt(e){return function(t){return e(t)}}var ht=typeof exports==`object`&&exports&&!exports.nodeType&&exports,gt=ht&&typeof module==`object`&&module&&!module.nodeType&&module,_t=gt&&gt.exports===ht&&y.process,vt=function(){try{return gt&&gt.require&&gt.require(`util`).types||_t&&_t.binding&&_t.binding(`util`)}catch{}}(),yt=vt&&vt.isTypedArray,bt=yt?mt(yt):pt,xt=Object.prototype.hasOwnProperty;function St(e,t){var n=O(e),r=!n&&Y(e),i=!n&&!r&&Q(e),a=!n&&!r&&!i&&bt(e),o=n||r||i||a,s=o?G(e.length,String):[],c=s.length;for(var l in e)(t||xt.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||F(l,c)))&&s.push(l);return s}function Ct(e,t){return function(n){return e(t(n))}}var wt=Ct(Object.keys,Object),Tt=Object.prototype.hasOwnProperty;function Et(e){if(!Re(e))return wt(e);var t=[];for(var n in Object(e))Tt.call(e,n)&&n!=`constructor`&&t.push(n);return t}function Dt(e){return H(e)?St(e):Et(e)}var Ot=Object.prototype.hasOwnProperty;Le(function(e,t){if(Re(t)||H(t)){L(t,Dt(t),e);return}for(var n in t)Ot.call(t,n)&&Fe(e,n,t[n])});function kt(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var At=Object.prototype.hasOwnProperty;function jt(e){if(!k(e))return kt(e);var t=Re(e),n=[];for(var r in e)r==`constructor`&&(t||!At.call(e,r))||n.push(r);return n}function Mt(e){return H(e)?St(e,!0):jt(e)}var Nt=Object.prototype,Pt=Nt.hasOwnProperty;Ie(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&U(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=Mt(a),s=-1,c=o.length;++s<c;){var l=o[s],u=e[l];(u===void 0||I(u,Nt[l])&&!Pt.call(e,l))&&(e[l]=a[l])}return e});var Ft=_({name:`Viewer`,props:{images:{type:Array,default:()=>[]},rebuild:{type:Boolean,default:!1},trigger:{type:Object,default:null},options:{type:Object,default:()=>null}},emits:[`inited`],setup(e,{emit:n}){let i,s=r();function c(){i=new v.default(s.value,e.options),n(`inited`,i)}function l(){i&&i.destroy()}function u(){l(),c()}function d(){i?(i.update(),n(`inited`,i)):c()}function f(){e.rebuild?u():d()}let m={deep:!0};return a(()=>e.images,()=>{t(()=>{f()})},m),a(()=>e.trigger,()=>{t(()=>{f()})},m),a(()=>e.options,()=>{t(()=>{u()})},m),o(()=>c()),p(()=>l()),{root:s,createViewer:c,rebuildViewer:u,updateViewer:d,destroyViewer:l}}}),It=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Lt={ref:`root`};function Rt(t,n,r,a,o,s){return e(),l(`div`,Lt,[i(t.$slots,`default`,{images:t.images,options:t.options})],512)}var zt=It(Ft,[[`render`,Rt]]),Bt=[`src`],Vt=m(_({__name:`ImageViewer`,props:{image:{}},setup(t){let n=t,r=u(()=>n.image?[{src:n.image,index:0}]:[]);return(t,n)=>(e(),g(c(zt),{images:r.value,style:{height:`100%`}},{default:s(()=>[(e(!0),l(d,null,f(r.value,t=>(e(),l(`img`,{alt:`图片`,src:t.src,key:t.index,class:`image`},null,8,Bt))),128))]),_:1},8,[`images`]))}}),[[`__scopeId`,`data-v-b0f61c51`]]);export{Vt as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GLTFLoader-hUKNI0Am.js","./three.module-CZIqdNh9.js","./OBJLoader-C1dmYv7h.js","./STLLoader-CzbmjAk6.js","./PLYLoader-Dq4pQnK6.js","./FBXLoader-DlzmRpnh.js","./fflate.module-BCuI6M8v.js","./ColladaLoader-Dz956C1E.js","./TDSLoader-nrxosCSD.js","./3MFLoader-B_6HM3dj.js","./AMFLoader-BxP14esn.js","./USDLoader-BsPrvVXf.js","./KMZLoader-D8eC-S0G.js","./PCDLoader-CgQJdB5e.js","./VRMLLoader-B9TF3kFK.js","./XYZLoader-ENA3V0e-.js","./VTKLoader-C2k-pFrD.js"])))=>i.map(i=>d[i]);
2
- import{A as e,D as t,E as n,I as r,N as i,O as a,V as o,_ as s,b as c,l,t as u,w as d,y as ee,z as f}from"./index-DP0aBxNP.js";import{Bt as p,D as te,It as m,Nt as h,T as ne,Tt as re,Y as g,Z as _,_t as ie,a as ae,at as oe,et as v,g as y,gt as se,i as ce,jt as b,mt as x,p as le,pt as ue,s as S,t as de,wt as fe,x as C,xt as w,yt as T,zt as E}from"./three.module-CZIqdNh9.js";var D={type:`change`},O={type:`start`},k={type:`end`},A=new w,j=new x,M=Math.cos(70*_.DEG2RAD),N=new p,P=2*Math.PI,F={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},I=1e-6,pe=class extends y{constructor(e,t=null){super(e,t),this.state=F.NONE,this.target=new p,this.cursor=new p,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:`ArrowLeft`,UP:`ArrowUp`,RIGHT:`ArrowRight`,BOTTOM:`ArrowDown`},this.mouseButtons={LEFT:g.ROTATE,MIDDLE:g.DOLLY,RIGHT:g.PAN},this.touches={ONE:h.ROTATE,TWO:h.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._cursorStyle=`auto`,this._domElementKeyEvents=null,this._lastPosition=new p,this._lastQuaternion=new T,this._lastTargetPosition=new p,this._quat=new T().setFromUnitVectors(e.up,new p(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new b,this._sphericalDelta=new b,this._scale=1,this._panOffset=new p,this._rotateStart=new E,this._rotateEnd=new E,this._rotateDelta=new E,this._panStart=new E,this._panEnd=new E,this._panDelta=new E,this._dollyStart=new E,this._dollyEnd=new E,this._dollyDelta=new E,this._dollyDirection=new p,this._mouse=new E,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=R.bind(this),this._onPointerDown=L.bind(this),this._onPointerUp=z.bind(this),this._onContextMenu=K.bind(this),this._onMouseWheel=H.bind(this),this._onKeyDown=U.bind(this),this._onTouchStart=W.bind(this),this._onTouchMove=G.bind(this),this._onMouseDown=B.bind(this),this._onMouseMove=V.bind(this),this._interceptControlDown=q.bind(this),this._interceptControlUp=J.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}set cursorStyle(e){this._cursorStyle=e,e===`grab`?this.domElement.style.cursor=`grab`:this.domElement.style.cursor=`auto`}get cursorStyle(){return this._cursorStyle}connect(e){super.connect(e),this.domElement.addEventListener(`pointerdown`,this._onPointerDown),this.domElement.addEventListener(`pointercancel`,this._onPointerUp),this.domElement.addEventListener(`contextmenu`,this._onContextMenu),this.domElement.addEventListener(`wheel`,this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener(`keydown`,this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction=`none`}disconnect(){this.domElement.removeEventListener(`pointerdown`,this._onPointerDown),this.domElement.ownerDocument.removeEventListener(`pointermove`,this._onPointerMove),this.domElement.ownerDocument.removeEventListener(`pointerup`,this._onPointerUp),this.domElement.removeEventListener(`pointercancel`,this._onPointerUp),this.domElement.removeEventListener(`wheel`,this._onMouseWheel),this.domElement.removeEventListener(`contextmenu`,this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener(`keydown`,this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction=``}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener(`keydown`,this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener(`keydown`,this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(D),this.update(),this.state=F.NONE}pan(e,t){this._pan(e,t),this.update()}dollyIn(e){this._dollyIn(e),this.update()}dollyOut(e){this._dollyOut(e),this.update()}rotateLeft(e){this._rotateLeft(e),this.update()}rotateUp(e){this._rotateUp(e),this.update()}update(e=null){let t=this.object.position;N.copy(t).sub(this.target),N.applyQuaternion(this._quat),this._spherical.setFromVector3(N),this.autoRotate&&this.state===F.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let n=this.minAzimuthAngle,r=this.maxAzimuthAngle;isFinite(n)&&isFinite(r)&&(n<-Math.PI?n+=P:n>Math.PI&&(n-=P),r<-Math.PI?r+=P:r>Math.PI&&(r-=P),n<=r?this._spherical.theta=Math.max(n,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+r)/2?Math.max(n,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let i=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{let e=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),i=e!=this._spherical.radius}if(N.setFromSpherical(this._spherical),N.applyQuaternion(this._quatInverse),t.copy(this.target).add(N),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let e=null;if(this.object.isPerspectiveCamera){let t=N.length();e=this._clampDistance(t*this._scale);let n=t-e;this.object.position.addScaledVector(this._dollyDirection,n),this.object.updateMatrixWorld(),i=!!n}else if(this.object.isOrthographicCamera){let t=new p(this._mouse.x,this._mouse.y,0);t.unproject(this.object);let n=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),i=n!==this.object.zoom;let r=new p(this._mouse.x,this._mouse.y,0);r.unproject(this.object),this.object.position.sub(r).add(t),this.object.updateMatrixWorld(),e=N.length()}else console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.`),this.zoomToCursor=!1;e!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(e).add(this.object.position):(A.origin.copy(this.object.position),A.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(A.direction))<M?this.object.lookAt(this.target):(j.setFromNormalAndCoplanarPoint(this.object.up,this.target),A.intersectPlane(j,this.target))))}else if(this.object.isOrthographicCamera){let e=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),e!==this.object.zoom&&(this.object.updateProjectionMatrix(),i=!0)}return this._scale=1,this._performCursorZoom=!1,i||this._lastPosition.distanceToSquared(this.object.position)>I||8*(1-this._lastQuaternion.dot(this.object.quaternion))>I||this._lastTargetPosition.distanceToSquared(this.target)>I?(this.dispatchEvent(D),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e===null?P/60/60*this.autoRotateSpeed:P/60*this.autoRotateSpeed*e}_getZoomScale(e){let t=Math.abs(e*.01);return .95**(this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){N.setFromMatrixColumn(t,0),N.multiplyScalar(-e),this._panOffset.add(N)}_panUp(e,t){this.screenSpacePanning===!0?N.setFromMatrixColumn(t,1):(N.setFromMatrixColumn(t,0),N.crossVectors(this.object.up,N)),N.multiplyScalar(e),this._panOffset.add(N)}_pan(e,t){let n=this.domElement;if(this.object.isPerspectiveCamera){let r=this.object.position;N.copy(r).sub(this.target);let i=N.length();i*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*i/n.clientHeight,this.object.matrix),this._panUp(2*t*i/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.`),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;let n=this.domElement.getBoundingClientRect(),r=e-n.left,i=t-n.top,a=n.width,o=n.height;this._mouse.x=r/a*2-1,this._mouse.y=-(i/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(P*this._rotateDelta.x/t.clientHeight),this._rotateUp(P*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(P*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-P*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(P*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-P*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(n,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(n,r)}}_handleTouchStartDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyStart.set(0,i)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateEnd.set(n,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(P*this._rotateDelta.x/t.clientHeight),this._rotateUp(P*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(n,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyEnd.set(0,i),this._dollyDelta.set(0,(this._dollyEnd.y/this._dollyStart.y)**+this.zoomSpeed),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);let a=(e.pageX+t.x)*.5,o=(e.pageY+t.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId){this._pointers.splice(t,1);return}}_isTrackingPointer(e){for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId)return!0;return!1}_trackPointer(e){let t=this._pointerPositions[e.pointerId];t===void 0&&(t=new E,this._pointerPositions[e.pointerId]=t),t.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){let t=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[t]}_customWheelEvent(e){let t=e.deltaMode,n={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(t){case 1:n.deltaY*=16;break;case 2:n.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(n.deltaY*=10),n}};function L(e){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(e.pointerId),this.domElement.ownerDocument.addEventListener(`pointermove`,this._onPointerMove),this.domElement.ownerDocument.addEventListener(`pointerup`,this._onPointerUp)),!this._isTrackingPointer(e)&&(this._addPointer(e),e.pointerType===`touch`?this._onTouchStart(e):this._onMouseDown(e),this._cursorStyle===`grab`&&(this.domElement.style.cursor=`grabbing`)))}function R(e){this.enabled!==!1&&(e.pointerType===`touch`?this._onTouchMove(e):this._onMouseMove(e))}function z(e){switch(this._removePointer(e),this._pointers.length){case 0:this.domElement.releasePointerCapture(e.pointerId),this.domElement.ownerDocument.removeEventListener(`pointermove`,this._onPointerMove),this.domElement.ownerDocument.removeEventListener(`pointerup`,this._onPointerUp),this.dispatchEvent(k),this.state=F.NONE,this._cursorStyle===`grab`&&(this.domElement.style.cursor=`grab`);break;case 1:let t=this._pointers[0],n=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:n.x,pageY:n.y});break}}function B(e){let t;switch(e.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=-1}switch(t){case g.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(e),this.state=F.DOLLY;break;case g.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(e),this.state=F.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(e),this.state=F.ROTATE}break;case g.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(e),this.state=F.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(e),this.state=F.PAN}break;default:this.state=F.NONE}this.state!==F.NONE&&this.dispatchEvent(O)}function V(e){switch(this.state){case F.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(e);break;case F.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(e);break;case F.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(e);break}}function H(e){this.enabled===!1||this.enableZoom===!1||this.state!==F.NONE||(e.preventDefault(),this.dispatchEvent(O),this._handleMouseWheel(this._customWheelEvent(e)),this.dispatchEvent(k))}function U(e){this.enabled!==!1&&this._handleKeyDown(e)}function W(e){switch(this._trackPointer(e),this._pointers.length){case 1:switch(this.touches.ONE){case h.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(e),this.state=F.TOUCH_ROTATE;break;case h.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(e),this.state=F.TOUCH_PAN;break;default:this.state=F.NONE}break;case 2:switch(this.touches.TWO){case h.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(e),this.state=F.TOUCH_DOLLY_PAN;break;case h.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(e),this.state=F.TOUCH_DOLLY_ROTATE;break;default:this.state=F.NONE}break;default:this.state=F.NONE}this.state!==F.NONE&&this.dispatchEvent(O)}function G(e){switch(this._trackPointer(e),this.state){case F.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(e),this.update();break;case F.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(e),this.update();break;case F.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(e),this.update();break;case F.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(e),this.update();break;default:this.state=F.NONE}}function K(e){this.enabled!==!1&&e.preventDefault()}function q(e){e.key===`Control`&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener(`keyup`,this._interceptControlUp,{passive:!0,capture:!0}))}function J(e){e.key===`Control`&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener(`keyup`,this._interceptControlUp,{passive:!0,capture:!0}))}var me={class:`model-viewer`},he={class:`model-toolbar`},ge={class:`model-actions`},_e={class:`model-meta`},ve={class:`model-stage`},ye={key:0,class:`model-state`},be={key:1,class:`model-state error`},Y=l(d({__name:`ModelViewer`,props:{data:{},type:{},sourceUrl:{}},setup(l){let d=l,h=r(null),g=r(`loading`),y=r(``),b=r(`正在加载模型`),x=r(!1),w=r(!1),T=r(!0),E=r(!0),D=null,O=null,k=null,A=null,j=null,M=null,N=null,P=null,F=0,I=0,L=null,R=new m,z=new TextDecoder(`utf-8`);class B extends Error{}let V=()=>d.type.toLowerCase(),H=()=>{if(!d.sourceUrl)return``;try{return new URL(`.`,d.sourceUrl).href}catch{let e=d.sourceUrl.split(/[?#]/)[0]||d.sourceUrl,t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t+1):``}},U=e=>e instanceof Error?e.message:typeof e==`string`?e:JSON.stringify(e),W=()=>{let e=h.value;if(!e)return!1;if(D||(D=new de({antialias:!0,alpha:!1,canvas:e,powerPreference:`high-performance`}),D.setPixelRatio(Math.min(window.devicePixelRatio||1,2)),D.outputColorSpace=fe,D.setClearColor(16317180,1)),!O){O=new re,O.background=new le(16317180);let e=new te(16777215,14147304,2.4);O.add(e);let t=new C(16777215,2.2);t.position.set(8,10,8),O.add(t);let n=new C(16777215,.9);n.position.set(-7,5,-4),O.add(n),M=new ne(10,10,13358561,14870768),O.add(M),N=new ae(3),O.add(N)}return k||(k=new ue(45,1,.01,1e5),k.position.set(5,4,6)),!A&&k&&D&&(A=new pe(k,D.domElement),A.enableDamping=!0,A.dampingFactor=.08,A.screenSpacePanning=!0,A.autoRotateSpeed=1.2),$(),Ue(),!0},G=e=>{(Array.isArray(e)?e:[e]).forEach(e=>e.dispose())},K=e=>{e.traverse(e=>{let t=e,n=e;t.geometry&&t.geometry.dispose(),t.material&&G(t.material),n.material&&G(n.material)})},q=()=>{j&&O&&(O.remove(j),K(j)),j=null,L=null},J=()=>z.decode(d.data),Y=async()=>{let{GLTFLoader:e}=await u(async()=>{let{GLTFLoader:e}=await import(`./GLTFLoader-hUKNI0Am.js`);return{GLTFLoader:e}},__vite__mapDeps([0,1]),import.meta.url),t=new e,n=H(),r=V()===`gltf`?J():d.data;return new Promise((e,i)=>{t.parse(r,n,t=>{t.animations?.length&&(L=new ce(t.scene),t.animations.forEach(e=>L?.clipAction(e).play())),e(t.scene)},i)})},xe=async()=>{let{OBJLoader:e}=await u(async()=>{let{OBJLoader:e}=await import(`./OBJLoader-C1dmYv7h.js`);return{OBJLoader:e}},__vite__mapDeps([2,1]),import.meta.url);return new e().parse(J())},Se=async()=>{let{STLLoader:e}=await u(async()=>{let{STLLoader:e}=await import(`./STLLoader-CzbmjAk6.js`);return{STLLoader:e}},__vite__mapDeps([3,1]),import.meta.url),t=new e().parse(d.data);return t.computeVertexNormals(),new v(t,X())},Ce=async()=>{let{PLYLoader:e}=await u(async()=>{let{PLYLoader:e}=await import(`./PLYLoader-Dq4pQnK6.js`);return{PLYLoader:e}},__vite__mapDeps([4,1]),import.meta.url),t=new e().parse(d.data);return t.computeVertexNormals(),new v(t,X())},we=async()=>{let{FBXLoader:e}=await u(async()=>{let{FBXLoader:e}=await import(`./FBXLoader-DlzmRpnh.js`);return{FBXLoader:e}},__vite__mapDeps([5,1,6]),import.meta.url),t=new e().parse(d.data,H());return t.animations?.length&&(L=new ce(t),t.animations.forEach(e=>L?.clipAction(e).play())),t},Te=async()=>{let{ColladaLoader:e}=await u(async()=>{let{ColladaLoader:e}=await import(`./ColladaLoader-Dz956C1E.js`);return{ColladaLoader:e}},__vite__mapDeps([7,1]),import.meta.url);return new e().parse(J(),H()).scene},Ee=async()=>{let{TDSLoader:e}=await u(async()=>{let{TDSLoader:e}=await import(`./TDSLoader-nrxosCSD.js`);return{TDSLoader:e}},__vite__mapDeps([8,1]),import.meta.url);return new e().parse(d.data,H())},De=async()=>{let{ThreeMFLoader:e}=await u(async()=>{let{ThreeMFLoader:e}=await import(`./3MFLoader-B_6HM3dj.js`);return{ThreeMFLoader:e}},__vite__mapDeps([9,1,6]),import.meta.url);return new e().parse(d.data)},Oe=async()=>{let{AMFLoader:e}=await u(async()=>{let{AMFLoader:e}=await import(`./AMFLoader-BxP14esn.js`);return{AMFLoader:e}},__vite__mapDeps([10,1,6]),import.meta.url);return new e().parse(d.data)},ke=async()=>{let{USDLoader:e}=await u(async()=>{let{USDLoader:e}=await import(`./USDLoader-BsPrvVXf.js`);return{USDLoader:e}},__vite__mapDeps([11,1,6]),import.meta.url);return new e().parse(d.data)},Ae=async()=>{let{KMZLoader:e}=await u(async()=>{let{KMZLoader:e}=await import(`./KMZLoader-D8eC-S0G.js`);return{KMZLoader:e}},__vite__mapDeps([12,1,6,7]),import.meta.url);return new e().parse(d.data).scene},je=e=>{let t=e.toUpperCase();throw e===`ifc`?new B(`IFC 是 BIM 模型格式,浏览器端完整解析通常依赖 web-ifc 这类 WebAssembly BIM 内核。当前 Apache-2.0 前端包不默认打入这类重型运行时,建议在私有服务端转换为 GLB/GLTF 后预览。`):e===`3dm`?new B(`3DM 是 Rhino/OpenNURBS 模型格式,浏览器端解析需要 rhino3dm WebAssembly 运行时。当前前端包未内置该运行时,建议在私有转换链路输出 GLB/GLTF 后预览。`):new B(`${t} 属于 CAD B-Rep / 工程交换格式,浏览器端完整解析通常需要 OpenCascade 等 WebAssembly 几何内核。当前前端包不默认打入这类重型运行时,建议在私有服务端转换为 GLB/GLTF 或轻量网格格式后预览。`)},Me=async()=>{let{PCDLoader:e}=await u(async()=>{let{PCDLoader:e}=await import(`./PCDLoader-CgQJdB5e.js`);return{PCDLoader:e}},__vite__mapDeps([13,1]),import.meta.url);return new e().parse(d.data,d.sourceUrl||`model.pcd`)},Ne=async()=>{let{VRMLLoader:e}=await u(async()=>{let{VRMLLoader:e}=await import(`./VRMLLoader-B9TF3kFK.js`);return{VRMLLoader:e}},__vite__mapDeps([14,1]),import.meta.url);return new e().parse(J(),H())},Pe=async()=>{let{XYZLoader:e}=await u(async()=>{let{XYZLoader:e}=await import(`./XYZLoader-ENA3V0e-.js`);return{XYZLoader:e}},__vite__mapDeps([15,1]),import.meta.url),t=new e().parse(J());return t.computeBoundingSphere(),new se(t,Ie())},Fe=async()=>{let{VTKLoader:e}=await u(async()=>{let{VTKLoader:e}=await import(`./VTKLoader-C2k-pFrD.js`);return{VTKLoader:e}},__vite__mapDeps([16,1,6]),import.meta.url),t=new e().parse(d.data);return t.computeVertexNormals(),new v(t,X())},X=()=>new oe({color:5214138,metalness:.08,roughness:.78,side:2,wireframe:w.value}),Ie=()=>new ie({color:2062988,size:.035,sizeAttenuation:!0}),Z=e=>{e.traverse(e=>{let t=e;t.isMesh&&!t.material&&(t.material=X()),t.isMesh&&t.material&&(Array.isArray(t.material)?t.material:[t.material]).forEach(e=>{`wireframe`in e&&(e.wireframe=w.value),e.needsUpdate=!0})})},Le=e=>{let t=0,n=0;return e.traverse(e=>{e.isMesh&&(t+=1),e.isPoints&&(n+=1)}),{meshes:t,points:n}},Re=e=>{let{meshes:t,points:n}=Le(e),r=[];t&&r.push(`${t} 个网格`),n&&r.push(`${n} 个点云`),b.value=r.length?r.join(`,`):`模型已加载`},ze=e=>{let t=new S().setFromObject(e);if(t.isEmpty())return{center:new p,size:new p(4,4,4)};let n=t.getCenter(new p),r=t.getSize(new p);return e.position.sub(n),{center:new p,size:r}},Q=()=>{if(!j||!k||!A)return;let e=new S().setFromObject(j),t=e.getSize(new p),n=e.getCenter(new p),r=Math.max(t.x,t.y,t.z,1)/(2*Math.tan(_.degToRad(k.fov/2)))*1.65;k.near=Math.max(r/1e3,.01),k.far=Math.max(r*1e3,1e3),k.position.copy(n).add(new p(r,r*.62,r)),k.updateProjectionMatrix(),A.target.copy(n),A.update()},Be=async e=>{if(!O)return;q(),Z(e);let{size:t}=ze(e);j=e,O.add(e),Q(),Re(e);let n=Math.max(t.x,t.y,t.z,1);M&&M.scale.setScalar(Math.max(n/10,1))},Ve=async()=>{let e=++I;if(g.value=`loading`,y.value=``,b.value=`正在加载模型`,W())try{let t=await He(V());if(e!==I){K(t);return}await n(),await Be(t),g.value=`ready`}catch(t){if(e!==I)return;t instanceof B||console.error(t),g.value=`error`,y.value=U(t)||`${d.type.toUpperCase()} 模型解析失败`}},He=e=>{switch(e){case`glb`:case`gltf`:return Y();case`obj`:return xe();case`stl`:return Se();case`ply`:return Ce();case`fbx`:return we();case`dae`:return Te();case`3ds`:return Ee();case`3mf`:return De();case`amf`:return Oe();case`usd`:case`usda`:case`usdc`:case`usdz`:return ke();case`kmz`:return Ae();case`step`:case`stp`:case`iges`:case`igs`:case`ifc`:case`3dm`:return je(e);case`pcd`:return Me();case`wrl`:case`vrml`:return Ne();case`xyz`:return Pe();case`vtk`:case`vtp`:return Fe();default:throw Error(`暂不支持 .${e} 模型格式`)}},Ue=()=>{let e=h.value;if(!e||!D||!k)return;let t=e.getBoundingClientRect(),n=Math.max(1,Math.floor(t.width)),r=Math.max(1,Math.floor(t.height));D.setSize(n,r,!1),k.aspect=n/r,k.updateProjectionMatrix()},We=e=>{if(!D||!O||!k||!A)return;A.autoRotate=x.value,A.update(),R.update(e);let t=R.getDelta();L?.update(t),D.render(O,k),F=requestAnimationFrame(We)},Ge=()=>{j&&Z(j)},$=()=>{M&&(M.visible=T.value),N&&(N.visible=E.value)},Ke=()=>{w.value=!w.value,Ge()},qe=()=>{T.value=!T.value,$()},Je=()=>{E.value=!E.value,$()};return a(()=>{W()&&(R.connect(document),P=new ResizeObserver(Ue),h.value&&P.observe(h.value),We(),Ve())}),t(()=>{I+=1,cancelAnimationFrame(F),P?.disconnect(),P=null,q(),A?.dispose(),A=null,D?.dispose(),D=null,R.dispose(),R=new m,O=null,k=null,M=null,N=null}),i(()=>[d.data,d.type,d.sourceUrl],()=>{Ve()}),(t,n)=>(e(),c(`div`,me,[s(`div`,he,[s(`div`,ge,[s(`button`,{type:`button`,onClick:Q},`适配`),s(`button`,{type:`button`,class:f({active:x.value}),onClick:n[0]||=e=>x.value=!x.value},`旋转`,2),s(`button`,{type:`button`,class:f({active:w.value}),onClick:Ke},`线框`,2),s(`button`,{type:`button`,class:f({active:T.value}),onClick:qe},`网格`,2),s(`button`,{type:`button`,class:f({active:E.value}),onClick:Je},`坐标`,2)]),s(`div`,_e,[s(`strong`,null,o(l.type.toUpperCase()),1),s(`span`,null,o(b.value),1)])]),s(`div`,ve,[s(`canvas`,{ref_key:`canvas`,ref:h},null,512),g.value===`loading`?(e(),c(`div`,ye,`正在解析 3D 模型...`)):g.value===`error`?(e(),c(`div`,be,[n[1]||=s(`strong`,null,`模型解析失败`,-1),s(`span`,null,o(y.value),1)])):ee(``,!0)])]))}}),[[`__scopeId`,`data-v-9d2e23df`]]);export{Y as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ofd-CCbysLg2.js","./index-DP0aBxNP.js","./index-B_rKNGx-.css","./jszip.min-DHUfArgC.js"])))=>i.map(i=>d[i]);
2
- import{A as e,D as t,E as n,I as r,O as i,V as a,_ as o,b as s,l as c,t as l,w as u,y as d}from"./index-DP0aBxNP.js";var f={key:0,class:`ofd-state`},p={key:1,class:`ofd-state error`},m=c(u({__name:`OfdViewer`,props:{data:{}},setup(c){let u=c,m=r(null),h=r(null),g=r(`loading`),_=r(``),v=!1,y=0,b=null,x=0,S=0,C=null,w=()=>{let e=m.value;if(e)for(;e.firstChild;)e.removeChild(e.firstChild)},T=e=>new Promise((t,n)=>{e.parseOfdDocument({ofd:u.data,success:e=>t(e),fail:e=>n(e)})}),E=async e=>(C||=T(e).then(e=>{let t=e[0];if(!t)throw Error(`OFD 文件中没有可渲染的文档`);return t}),C),D=e=>e instanceof Error?e.message:typeof e==`string`?e:JSON.stringify(e),O=(e,t)=>{let n=document.createDocumentFragment();t.forEach(e=>{e.classList.add(`ofd-page`),n.appendChild(e)}),e.appendChild(n)},k=()=>{let e=h.value?.getBoundingClientRect().width||m.value?.getBoundingClientRect().width||0;return Math.max(Math.floor(e-48),240)},A=async e=>{let t=await l(()=>import(`./ofd-CCbysLg2.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),n=await E(t);return v?[]:Promise.resolve(t.renderOfd(e,n))},j=async(e={})=>{let t=m.value;if(!t)return;let r=e.force??!1,i=e.showLoading??!1,a=k();if(!r&&g.value===`ready`&&Math.abs(a-S)<8)return;let o=++y;(i||g.value!==`ready`)&&(g.value=`loading`,w()),_.value=``;try{await n();let e=await A(a);if(v||o!==y)return;w(),O(t,e),S=a,g.value=`ready`}catch(e){if(v||o!==y)return;console.error(e),g.value=`error`,_.value=D(e)||`OFD 文件解析失败`}},M=()=>{!h.value||b||(b=new ResizeObserver(()=>{window.clearTimeout(x),x=window.setTimeout(()=>{v||j({showLoading:!1})},180)}),b.observe(h.value))};return i(()=>{j({force:!0,showLoading:!0}).finally(()=>{M()})}),t(()=>{v=!0,y+=1,window.clearTimeout(x),b?.disconnect(),b=null,w()}),(t,n)=>(e(),s(`div`,{ref_key:`viewer`,ref:h,class:`ofd-viewer`},[g.value===`loading`?(e(),s(`div`,f,`正在解析 OFD...`)):g.value===`error`?(e(),s(`div`,p,a(_.value),1)):d(``,!0),o(`div`,{ref_key:`stage`,ref:m,class:`ofd-stage`},null,512)],512))}}),[[`__scopeId`,`data-v-48238ef6`]]);export{m as default};