@flyfish-group/file-viewer3 1.0.22 → 1.0.23

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 (279) hide show
  1. package/README.en.md +10 -11
  2. package/README.md +20 -21
  3. package/dist/components/3MFLoader.js +1 -1
  4. package/dist/components/AMFLoader.js +1 -1
  5. package/dist/components/AudioViewer.js +1 -1
  6. package/dist/components/CadViewer.js +1 -1
  7. package/dist/components/CodeViewer.js +1 -1
  8. package/dist/components/ColladaLoader.js +1 -1
  9. package/dist/components/DrawingViewer.js +1 -1
  10. package/dist/components/EdaViewer.js +1 -1
  11. package/dist/components/EmailViewer.js +1 -1
  12. package/dist/components/EpubViewer.js +1 -1
  13. package/dist/components/FBXLoader.js +1 -1
  14. package/dist/components/GLTFLoader.js +1 -1
  15. package/dist/components/ImageViewer.js +1 -1
  16. package/dist/components/KMZLoader.js +1 -1
  17. package/dist/components/MarkdownViewer.js +1 -1
  18. package/dist/components/ModelViewer.js +1 -1
  19. package/dist/components/OBJLoader.js +1 -1
  20. package/dist/components/OfdViewer.js +1 -1
  21. package/dist/components/PCDLoader.js +1 -1
  22. package/dist/components/PLYLoader.js +1 -1
  23. package/dist/components/PdfView.js +5234 -5080
  24. package/dist/components/PptxRender.js +1 -1
  25. package/dist/components/STLLoader.js +1 -1
  26. package/dist/components/TDSLoader.js +1 -1
  27. package/dist/components/USDLoader.js +1 -1
  28. package/dist/components/UmdViewer.js +1 -1
  29. package/dist/components/VRMLLoader.js +1 -1
  30. package/dist/components/VTKLoader.js +1 -1
  31. package/dist/components/XYZLoader.js +1 -1
  32. package/dist/components/XlsxTable.js +1 -1
  33. package/dist/components/__vite-browser-external.js +1 -1
  34. package/dist/components/_plugin-vue_export-helper.js +1 -1
  35. package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
  36. package/dist/components/arc.js +1 -1
  37. package/dist/components/architecture-7EHR7CIX.js +1 -1
  38. package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
  39. package/dist/components/archive.js +1 -1
  40. package/dist/components/asyncToGenerator.js +1 -1
  41. package/dist/components/audio.js +1 -1
  42. package/dist/components/az-AZ-76LH7QW2.js +1 -1
  43. package/dist/components/bash.js +1 -1
  44. package/dist/components/bg-BG-XCXSNQG7.js +1 -1
  45. package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
  46. package/dist/components/bn-BD-2XOGV67Q.js +1 -1
  47. package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
  48. package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
  49. package/dist/components/cad.js +1 -1
  50. package/dist/components/cfb.js +1 -1
  51. package/dist/components/channel.js +1 -1
  52. package/dist/components/chunk-2J33WTMH.js +1 -1
  53. package/dist/components/chunk-3OPIFGDE.js +1 -1
  54. package/dist/components/chunk-4BX2VUAB.js +1 -1
  55. package/dist/components/chunk-55IACEB6.js +1 -1
  56. package/dist/components/chunk-5ZQYHXKU.js +1 -1
  57. package/dist/components/chunk-6U3AYISY.js +1 -1
  58. package/dist/components/chunk-727SXJPM.js +1 -1
  59. package/dist/components/chunk-AGHRB4JF.js +1 -1
  60. package/dist/components/chunk-AQP2D5EJ.js +1 -1
  61. package/dist/components/chunk-BSJP7CBP.js +1 -1
  62. package/dist/components/chunk-CSCIHK7Q.js +1 -1
  63. package/dist/components/chunk-FMBD7UC4.js +1 -1
  64. package/dist/components/chunk-K2UTITRG.js +1 -1
  65. package/dist/components/chunk-KSCS5N6A.js +1 -1
  66. package/dist/components/chunk-L5ZTLDWV.js +1 -1
  67. package/dist/components/chunk-LZXEDZCA.js +1 -1
  68. package/dist/components/chunk-ND2GUHAM.js +1 -1
  69. package/dist/components/chunk-NNHCCRGN.js +1 -1
  70. package/dist/components/chunk-NZK2D7GU.js +1 -1
  71. package/dist/components/chunk-O5CBEL6O.js +1 -1
  72. package/dist/components/chunk-QZHKN3VN.js +1 -1
  73. package/dist/components/chunk-SRAX5OIU.js +1 -1
  74. package/dist/components/chunk-WU5MYG2G.js +1 -1
  75. package/dist/components/chunk-XPW4576I.js +1 -1
  76. package/dist/components/chunk-Z3N5DIM6.js +1 -1
  77. package/dist/components/chunk-ZUYEQ4TG.js +1 -1
  78. package/dist/components/chunk.js +1 -1
  79. package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
  80. package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
  81. package/dist/components/compiler.js +1 -1
  82. package/dist/components/core.js +1 -1
  83. package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
  84. package/dist/components/cpp.js +1 -1
  85. package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
  86. package/dist/components/csharp.js +1 -1
  87. package/dist/components/css.js +1 -1
  88. package/dist/components/cytoscape.esm.js +1 -1
  89. package/dist/components/da-DK-5WZEPLOC.js +1 -1
  90. package/dist/components/dagre-BM42HDAG.js +1 -1
  91. package/dist/components/dagre.js +1 -1
  92. package/dist/components/de-DE-XR44H4JA.js +1 -1
  93. package/dist/components/defaultLocale.js +1 -1
  94. package/dist/components/defineProperty.js +1 -1
  95. package/dist/components/diagram-2AECGRRQ.js +1 -1
  96. package/dist/components/diagram-5GNKFQAL.js +1 -1
  97. package/dist/components/diagram-KO2AKTUF.js +1 -1
  98. package/dist/components/diagram-LMA3HP47.js +1 -1
  99. package/dist/components/diagram-OG6HWLK6.js +1 -1
  100. package/dist/components/diff.js +1 -1
  101. package/dist/components/directory-open-01563666.js +1 -1
  102. package/dist/components/directory-open-4ed118d0.js +1 -1
  103. package/dist/components/dist.js +1 -1
  104. package/dist/components/dist2.js +1 -1
  105. package/dist/components/dist3.js +1 -1
  106. package/dist/components/documentSearch.js +1 -0
  107. package/dist/components/docx-preview.js +1 -1
  108. package/dist/components/drawing.js +1 -1
  109. package/dist/components/ebook.js +1 -1
  110. package/dist/components/eda.js +1 -1
  111. package/dist/components/el-GR-BZB4AONW.js +1 -1
  112. package/dist/components/email.js +1 -1
  113. package/dist/components/en-B4ZKOASM.js +1 -1
  114. package/dist/components/erDiagram-TEJ5UH35.js +1 -1
  115. package/dist/components/es-ES-U4NZUMDT.js +1 -1
  116. package/dist/components/eu-ES-A7QVB2H4.js +1 -1
  117. package/dist/components/eventmodeling-FCH6USID.js +1 -1
  118. package/dist/components/fa-IR-HGAKTJCU.js +1 -1
  119. package/dist/components/fflate.module.js +1 -1
  120. package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
  121. package/dist/components/file-open-002ab408.js +1 -1
  122. package/dist/components/file-open-7c801643.js +1 -1
  123. package/dist/components/file-save-3189631c.js +1 -1
  124. package/dist/components/file-save-745eba88.js +1 -1
  125. package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
  126. package/dist/components/fr-FR-RHASNOE6.js +1 -1
  127. package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
  128. package/dist/components/gitGraph-WXDBUCRP.js +1 -1
  129. package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
  130. package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
  131. package/dist/components/global-compiler.js +1 -1
  132. package/dist/components/global-renderer.js +1 -1
  133. package/dist/components/go.js +1 -1
  134. package/dist/components/graphlib.js +1 -1
  135. package/dist/components/he-IL-6SHJWFNN.js +1 -1
  136. package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
  137. package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
  138. package/dist/components/id-ID-SAP4L64H.js +1 -1
  139. package/dist/components/image-GAAHSSAO.js +1 -1
  140. package/dist/components/image-blob-reduce.esm.js +1 -1
  141. package/dist/components/image.js +1 -1
  142. package/dist/components/info-J43DQDTF.js +1 -1
  143. package/dist/components/infoDiagram-5YYISTIA.js +1 -1
  144. package/dist/components/ini.js +1 -1
  145. package/dist/components/init.js +1 -1
  146. package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
  147. package/dist/components/it-IT-JPQ66NNP.js +1 -1
  148. package/dist/components/ja-JP-DBVTYXUO.js +1 -1
  149. package/dist/components/java.js +1 -1
  150. package/dist/components/javascript.js +1 -1
  151. package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
  152. package/dist/components/json.js +1 -1
  153. package/dist/components/jszip.min.js +1 -1
  154. package/dist/components/kaa-6HZHGXH3.js +1 -1
  155. package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
  156. package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
  157. package/dist/components/katex.js +1 -1
  158. package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
  159. package/dist/components/km-KH-HSX4SM5Z.js +1 -1
  160. package/dist/components/ko-KR-MTYHY66A.js +1 -1
  161. package/dist/components/ku-TR-6OUDTVRD.js +1 -1
  162. package/dist/components/lib.js +1 -1
  163. package/dist/components/libarchive.js +1 -1
  164. package/dist/components/linear.js +1 -1
  165. package/dist/components/lt-LT-XHIRWOB4.js +1 -1
  166. package/dist/components/lv-LV-5QDEKY6T.js +1 -1
  167. package/dist/components/markdown.js +1 -1
  168. package/dist/components/md.js +1 -1
  169. package/dist/components/mermaid-parser.core.js +1 -1
  170. package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
  171. package/dist/components/model.js +1 -1
  172. package/dist/components/mp4.js +1 -1
  173. package/dist/components/mr-IN-CRQNXWMA.js +1 -1
  174. package/dist/components/my-MM-5M5IBNSE.js +1 -1
  175. package/dist/components/nb-NO-T6EIAALU.js +1 -1
  176. package/dist/components/nestedRender.js +1 -1
  177. package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
  178. package/dist/components/nn-NO-6E72VCQL.js +1 -1
  179. package/dist/components/objectSpread2.js +1 -1
  180. package/dist/components/objectWithoutProperties.js +1 -1
  181. package/dist/components/oc-FR-POXYY2M6.js +1 -1
  182. package/dist/components/ofd.js +1 -1
  183. package/dist/components/ofd2.js +1 -1
  184. package/dist/components/ordinal.js +1 -1
  185. package/dist/components/pa-IN-N4M65BXN.js +1 -1
  186. package/dist/components/packet-YPE3B663.js +1 -1
  187. package/dist/components/pdf.js +1 -1
  188. package/dist/components/percentages-BXMCSKIN.js +1 -1
  189. package/dist/components/php.js +1 -1
  190. package/dist/components/pica.js +1 -1
  191. package/dist/components/pie-LRSECV5Y.js +1 -1
  192. package/dist/components/pie.js +1 -1
  193. package/dist/components/pieDiagram-4H26LBE5.js +1 -1
  194. package/dist/components/pl-PL-T2D74RX3.js +1 -1
  195. package/dist/components/postal-mime.js +1 -1
  196. package/dist/components/pptx.js +1 -1
  197. package/dist/components/printLayout.js +1 -1
  198. package/dist/components/prod.js +1 -1
  199. package/dist/components/pt-BR-5N22H2LF.js +1 -1
  200. package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
  201. package/dist/components/python.js +1 -1
  202. package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
  203. package/dist/components/radar-GUYGQ44K.js +1 -1
  204. package/dist/components/renderer.js +1 -1
  205. package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
  206. package/dist/components/ro-RO-JPDTUUEW.js +1 -1
  207. package/dist/components/rough.esm.js +1 -1
  208. package/dist/components/roundRect.js +1 -1
  209. package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
  210. package/dist/components/rust.js +1 -1
  211. package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
  212. package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
  213. package/dist/components/shared.js +1 -1
  214. package/dist/components/shared2.js +1 -1
  215. package/dist/components/si-LK-N5RQ5JYF.js +1 -1
  216. package/dist/components/sk-SK-C5VTKIMK.js +1 -1
  217. package/dist/components/sl-SI-NN7IZMDC.js +1 -1
  218. package/dist/components/sourceLoading.js +1 -1
  219. package/dist/components/sql.js +1 -1
  220. package/dist/components/src.js +1 -1
  221. package/dist/components/src2.js +1 -1
  222. package/dist/components/stateDiagram-AJRCARHV.js +1 -1
  223. package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
  224. package/dist/components/subset-shared.chunk.js +1 -1
  225. package/dist/components/subset-worker.chunk.js +1 -1
  226. package/dist/components/sv-SE-XGPEYMSR.js +1 -1
  227. package/dist/components/ta-IN-2NMHFXQM.js +1 -1
  228. package/dist/components/text.js +1 -1
  229. package/dist/components/th-TH-HPSO5L25.js +1 -1
  230. package/dist/components/three.module.js +1 -1
  231. package/dist/components/time.js +1 -1
  232. package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
  233. package/dist/components/tr-TR-DEFEU3FU.js +1 -1
  234. package/dist/components/treeView-BLDUP644.js +1 -1
  235. package/dist/components/treemap-LRROVOQU.js +1 -1
  236. package/dist/components/typescript.js +1 -1
  237. package/dist/components/typst.js +1 -1
  238. package/dist/components/uk-UA-QMV73CPH.js +1 -1
  239. package/dist/components/umd.js +1 -1
  240. package/dist/components/use.js +1 -1
  241. package/dist/components/util.js +1 -1
  242. package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
  243. package/dist/components/vi-VN-M7AON7JQ.js +1 -1
  244. package/dist/components/wardley-L42UT6IY.js +1 -1
  245. package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
  246. package/dist/components/wasm-pack-shim.js +1 -1
  247. package/dist/components/wasm-pack-shim2.js +1 -1
  248. package/dist/components/wasm.js +1 -1
  249. package/dist/components/word.js +1 -1
  250. package/dist/components/worker-ref.js +1 -1
  251. package/dist/components/xlsx.js +1 -1
  252. package/dist/components/xml.js +1 -1
  253. package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
  254. package/dist/components/yaml.js +1 -1
  255. package/dist/components/zh-CN-LNUGB5OW.js +1 -1
  256. package/dist/components/zh-HK-E62DVLB3.js +1 -1
  257. package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
  258. package/dist/file-viewer3.css +1 -1
  259. package/dist/index.mjs +1 -1
  260. package/dist/src/compare/useSynchronizedScroll.d.ts +7 -0
  261. package/dist/src/package/common/type.d.ts +199 -0
  262. package/dist/src/package/components/FileViewer/FileViewer.vue.d.ts +15 -1
  263. package/dist/src/package/components/FileViewer/hooks/useViewerDocumentFeatures.d.ts +29 -0
  264. package/dist/src/package/components/FileViewer/{useViewerExport.d.ts → hooks/useViewerExport.d.ts} +1 -1
  265. package/dist/src/package/components/FileViewer/hooks/useViewerWatermark.d.ts +8 -0
  266. package/dist/src/package/index.d.ts +1 -1
  267. package/dist/src/package/use/documentLocation.d.ts +15 -0
  268. package/dist/src/package/use/documentSearch.d.ts +234 -0
  269. package/dist/src/package/use/index.d.ts +2 -0
  270. package/dist/src/package/vendors/cad/CadViewer.vue.d.ts +2 -0
  271. package/dist/src/package/vendors/cad/index.d.ts +4 -3
  272. package/dist/src/package/vendors/word/docx.worker.d.ts +1 -0
  273. package/dist/wasm/cad/DwgWorker-CuZJ5EUe.js +349 -0
  274. package/dist/wasm/cad/dwfv-render.wasm +0 -0
  275. package/dist/wasm/cad/dwg-worker.js +349 -0
  276. package/dist/wasm/cad/index-C365l3i9.js +4161 -0
  277. package/dist/wasm/cad/libredwg-web.js +15 -0
  278. package/dist/wasm/cad/libredwg-web.wasm +0 -0
  279. package/package.json +12 -8
@@ -1 +1 @@
1
- const b5=a1;(function(a6,a7){const aX=a1,a8=a6();while(!![]){try{const a9=-parseInt(aX(0x2a9))/0x1*(-parseInt(aX(0x305))/0x2)+parseInt(aX(0x21b))/0x3*(parseInt(aX(0x248))/0x4)+parseInt(aX(0x2e9))/0x5*(-parseInt(aX(0x2a1))/0x6)+parseInt(aX(0x2f0))/0x7*(-parseInt(aX(0x232))/0x8)+-parseInt(aX(0x2ad))/0x9*(-parseInt(aX(0x30c))/0xa)+parseInt(aX(0x324))/0xb+parseInt(aX(0x261))/0xc*(-parseInt(aX(0x2d1))/0xd);if(a9===a7)break;else a8['push'](a8['shift']());}catch(aa){a8['push'](a8['shift']());}}}(a0,0x35773));import{n as a2,t}from'./defineProperty.js';import{n,t as a3}from'./objectSpread2.js';import{n as a4,t as a5}from'./asyncToGenerator.js';function o(a6,a7,a8=0x0,a9=a6['length']-0x1,aa=c){const aY=a1;for(;a9>a8;){if(a9-a8>0x258){let af=a9-a8+0x1,ag=a7-a8+0x1,ah=Math['log'](af),ai=0.5*Math['exp'](0x2*ah/0x3),aj=0.5*Math[aY(0x268)](ah*ai*(af-ai)/af)*(ag-af/0x2<0x0?-0x1:0x1);o(a6,a7,Math['max'](a8,Math['floor'](a7-ag*ai/af+aj)),Math['min'](a9,Math['floor'](a7+(af-ag)*ai/af+aj)),aa);}let ab=a6[a7],ac=a8,ad=a9;for(s(a6,a8,a7),aa(a6[a9],ab)>0x0&&s(a6,a8,a9);ac<ad;){for(s(a6,ac,ad),ac++,ad--;aa(a6[ac],ab)<0x0;)ac++;for(;aa(a6[ad],ab)>0x0;)ad--;}aa(a6[a8],ab)===0x0?s(a6,a8,ad):(ad++,s(a6,ad,a9)),ad<=a7&&(a8=ad+0x1),a7<=ad&&(a9=ad-0x1);}}function s(a6,a7,a8){let a9=a6[a7];a6[a7]=a6[a8],a6[a8]=a9;}function c(a6,a7){return a6<a7?-0x1:+(a6>a7);}var l=class{constructor(a6=0x9){const aZ=a1;this[aZ(0x22a)]=Math[aZ(0x28c)](0x4,a6),this['_minEntries']=Math['max'](0x2,Math['ceil'](this['_maxEntries']*0.4)),this['clear']();}['all'](){const b0=a1;return this['_all'](this[b0(0x2a0)],[]);}['search'](a6){const b1=a1;let a7=this['data'],a8=[];if(!x(a6,a7))return a8;let a9=this['toBBox'],aa=[];for(;a7;){for(let ab=0x0;ab<a7['children']['length'];ab++){let ac=a7[b1(0x260)][ab],ad=a7[b1(0x316)]?a9(ac):ac;x(a6,ad)&&(a7['leaf']?a8[b1(0x26d)](ac):b(a6,ad)?this['_all'](ac,a8):aa['push'](ac));}a7=aa[b1(0x2c2)]();}return a8;}['collides'](a6){const b2=a1;let a7=this['data'];if(!x(a6,a7))return!0x1;let a8=[];for(;a7;){for(let a9=0x0;a9<a7['children']['length'];a9++){let aa=a7['children'][a9],ab=a7['leaf']?this[b2(0x300)](aa):aa;if(x(a6,ab)){if(a7['leaf']||b(a6,ab))return!0x0;a8['push'](aa);}}a7=a8[b2(0x2c2)]();}return!0x1;}['load'](a6){const b3=a1;if(!(a6&&a6['length']))return this;if(a6['length']<this['_minEntries']){for(let a8=0x0;a8<a6['length'];a8++)this['insert'](a6[a8]);return this;}let a7=this[b3(0x2d4)](a6['slice'](),0x0,a6[b3(0x315)]-0x1,0x0);if(!this['data']['children']['length'])this['data']=a7;else{if(this['data']['height']===a7['height'])this[b3(0x23c)](this['data'],a7);else{if(this['data'][b3(0x23a)]<a7['height']){let a9=this['data'];this['data']=a7,a7=a9;}this['_insert'](a7,this['data']['height']-a7['height']-0x1,!0x0);}}return this;}['insert'](a6){const b4=a1;return a6&&this['_insert'](a6,this['data'][b4(0x23a)]-0x1),this;}['clear'](){return this['data']=S([]),this;}[b5(0x2fc)](a6,a7){const b6=b5;if(!a6)return this;let a8=this['data'],a9=this['toBBox'](a6),aa=[],ab=[],ac,ad,af;for(;a8||aa['length'];){if(a8||(a8=aa['pop'](),ad=aa[aa['length']-0x1],ac=ab['pop'](),af=!0x0),a8[b6(0x316)]){let ag=u(a6,a8[b6(0x260)],a7);if(ag!==-0x1)return a8['children']['splice'](ag,0x1),aa['push'](a8),this['_condense'](aa),this;}!af&&!a8['leaf']&&b(a8,a9)?(aa['push'](a8),ab['push'](ac),ac=0x0,ad=a8,a8=a8['children'][0x0]):ad?(ac++,a8=ad[b6(0x260)][ac],af=!0x1):a8=null;}return this;}['toBBox'](a6){return a6;}['compareMinX'](a6,a7){return a6['minX']-a7['minX'];}['compareMinY'](a6,a7){return a6['minY']-a7['minY'];}['toJSON'](){return this['data'];}['fromJSON'](a6){return this['data']=a6,this;}['_all'](a6,a7){const b7=b5;let a8=[];for(;a6;)a6['leaf']?a7['push'](...a6[b7(0x260)]):a8['push'](...a6['children']),a6=a8['pop']();return a7;}['_build'](a6,a7,a8,a9){const b8=b5;let aa=a8-a7+0x1,ab=this['_maxEntries'],ac;if(aa<=ab)return ac=S(a6['slice'](a7,a8+0x1)),d(ac,this['toBBox']),ac;a9||(a9=Math['ceil'](Math['log'](aa)/Math['log'](ab)),ab=Math['ceil'](aa/Math['pow'](ab,a9-0x1))),ac=S([]),ac[b8(0x316)]=!0x1,ac['height']=a9;let ad=Math[b8(0x1fe)](aa/ab),af=ad*Math['ceil'](Math['sqrt'](ab));C(a6,a7,a8,af,this['compareMinX']);for(let ag=a7;ag<=a8;ag+=af){let ah=Math['min'](ag+af-0x1,a8);C(a6,ag,ah,ad,this['compareMinY']);for(let ai=ag;ai<=ah;ai+=ad){let aj=Math['min'](ai+ad-0x1,ah);ac['children'][b8(0x26d)](this['_build'](a6,ai,aj,a9-0x1));}}return d(ac,this['toBBox']),ac;}['_chooseSubtree'](a6,a7,a8,a9){const b9=b5;for(;a9['push'](a7),!(a7['leaf']||a9['length']-0x1===a8);){let aa=Infinity,ab=Infinity,ac;for(let ad=0x0;ad<a7[b9(0x260)][b9(0x315)];ad++){let af=a7[b9(0x260)][ad],ag=g(af),ah=v(a6,af)-ag;ah<ab?(ab=ah,aa=ag<aa?ag:aa,ac=af):ah===ab&&ag<aa&&(aa=ag,ac=af);}a7=ac||a7['children'][0x0];}return a7;}['_insert'](a6,a7,a8){let a9=a8?a6:this['toBBox'](a6),aa=[],ab=this['_chooseSubtree'](a9,this['data'],a7,aa);for(ab['children']['push'](a6),p(ab,a9);a7>=0x0&&aa[a7]['children']['length']>this['_maxEntries'];)this['_split'](aa,a7),a7--;this['_adjustParentBBoxes'](a9,aa,a7);}[b5(0x207)](a6,a7){const ba=b5;let a8=a6[a7],a9=a8['children']['length'],aa=this['_minEntries'];this['_chooseSplitAxis'](a8,aa,a9);let ab=this[ba(0x1ff)](a8,aa,a9),ac=S(a8['children']['splice'](ab,a8['children']['length']-ab));ac['height']=a8['height'],ac['leaf']=a8['leaf'],d(a8,this['toBBox']),d(ac,this[ba(0x300)]),a7?a6[a7-0x1][ba(0x260)]['push'](ac):this['_splitRoot'](a8,ac);}['_splitRoot'](a6,a7){this['data']=S([a6,a7]),this['data']['height']=a6['height']+0x1,this['data']['leaf']=!0x1,d(this['data'],this['toBBox']);}['_chooseSplitIndex'](a6,a7,a8){const bb=b5;let a9,aa=Infinity,ab=Infinity;for(let ac=a7;ac<=a8-a7;ac++){let ad=f(a6,0x0,ac,this[bb(0x300)]),af=f(a6,ac,a8,this['toBBox']),ag=y(ad,af),ah=g(ad)+g(af);ag<aa?(aa=ag,a9=ac,ab=ah<ab?ah:ab):ag===aa&&ah<ab&&(ab=ah,a9=ac);}return a9||a8-a7;}['_chooseSplitAxis'](a6,a7,a8){const bc=b5;let a9=a6['leaf']?this[bc(0x2d5)]:m,aa=a6['leaf']?this['compareMinY']:h;this['_allDistMargin'](a6,a7,a8,a9)<this['_allDistMargin'](a6,a7,a8,aa)&&a6['children'][bc(0x2a4)](a9);}[b5(0x28e)](a6,a7,a8,a9){const bd=b5;a6['children'][bd(0x2a4)](a9);let aa=this['toBBox'],ab=f(a6,0x0,a7,aa),ac=f(a6,a8-a7,a8,aa),ad=_(ab)+_(ac);for(let af=a7;af<a8-a7;af++){let ag=a6['children'][af];p(ab,a6['leaf']?aa(ag):ag),ad+=_(ab);}for(let ah=a8-a7-0x1;ah>=a7;ah--){let ai=a6['children'][ah];p(ac,a6['leaf']?aa(ai):ai),ad+=_(ac);}return ad;}['_adjustParentBBoxes'](a6,a7,a8){for(let a9=a8;a9>=0x0;a9--)p(a7[a9],a6);}[b5(0x214)](a6){for(let a7=a6['length']-0x1,a8;a7>=0x0;a7--)a6[a7]['children']['length']===0x0?a7>0x0?(a8=a6[a7-0x1]['children'],a8['splice'](a8['indexOf'](a6[a7]),0x1)):this['clear']():d(a6[a7],this['toBBox']);}};function u(a6,a7,a8){const bf=b5;if(!a8)return a7[bf(0x319)](a6);for(let a9=0x0;a9<a7[bf(0x315)];a9++)if(a8(a6,a7[a9]))return a9;return-0x1;}function d(a6,a7){f(a6,0x0,a6['children']['length'],a7,a6);}function f(a6,a7,a8,a9,aa){const bg=b5;aa||(aa=S(null)),aa['minX']=Infinity,aa['minY']=Infinity,aa['maxX']=-Infinity,aa[bg(0x323)]=-Infinity;for(let ab=a7;ab<a8;ab++){let ac=a6['children'][ab];p(aa,a6['leaf']?a9(ac):ac);}return aa;}function p(a6,a7){const bh=b5;return a6[bh(0x2ef)]=Math['min'](a6['minX'],a7['minX']),a6[bh(0x246)]=Math['min'](a6[bh(0x246)],a7['minY']),a6['maxX']=Math['max'](a6['maxX'],a7[bh(0x31c)]),a6[bh(0x323)]=Math['max'](a6['maxY'],a7['maxY']),a6;}function m(a6,a7){return a6['minX']-a7['minX'];}function h(a6,a7){return a6['minY']-a7['minY'];}function g(a6){const bi=b5;return(a6[bi(0x31c)]-a6['minX'])*(a6['maxY']-a6[bi(0x246)]);}function _(a6){return a6['maxX']-a6['minX']+(a6['maxY']-a6['minY']);}function v(a6,a7){const bj=b5;return(Math['max'](a7['maxX'],a6['maxX'])-Math['min'](a7['minX'],a6['minX']))*(Math['max'](a7['maxY'],a6[bj(0x323)])-Math['min'](a7['minY'],a6['minY']));}function y(a6,a7){const bk=b5;let a8=Math['max'](a6['minX'],a7['minX']),a9=Math['max'](a6['minY'],a7['minY']),aa=Math['min'](a6[bk(0x31c)],a7['maxX']),ab=Math[bk(0x228)](a6['maxY'],a7['maxY']);return Math['max'](0x0,aa-a8)*Math['max'](0x0,ab-a9);}function b(a6,a7){const bl=b5;return a6['minX']<=a7['minX']&&a6['minY']<=a7[bl(0x246)]&&a7['maxX']<=a6['maxX']&&a7[bl(0x323)]<=a6[bl(0x323)];}function x(a6,a7){const bm=b5;return a7['minX']<=a6['maxX']&&a7['minY']<=a6[bm(0x323)]&&a7['maxX']>=a6['minX']&&a7['maxY']>=a6['minY'];}function S(a6){return{'children':a6,'height':0x1,'leaf':!0x0,'minX':Infinity,'minY':Infinity,'maxX':-Infinity,'maxY':-Infinity};}function C(a6,a7,a8,a9,aa){const bn=b5;let ab=[a7,a8];for(;ab[bn(0x315)];){if(a8=ab['pop'](),a7=ab['pop'](),a8-a7<=a9)continue;let ac=a7+Math['ceil']((a8-a7)/a9/0x2)*a9;o(a6,ac,a7,a8,aa),ab[bn(0x26d)](a7,ac,ac,a8);}}n(),a2(),a4();function w(a6){const bo=b5;let a7=a6['replace'](/\r\n?/g,'\x0a'),a8=[],a9=a7['length'],aa=0x0;for(;aa<a9;){for(;aa<a9&&a7['charCodeAt'](aa)===0xa;)aa++;if(aa>=a9)break;let ab=a7['indexOf']('\x0a',aa);ab===-0x1&&(ab=a9);let ac=a7['substring'](aa,ab)['trim']();aa=ab+0x1;let ad=parseInt(ac,0xa);if(isNaN(ad)){aa<a9&&(ab=a7['indexOf']('\x0a',aa),ab===-0x1&&(ab=a9),aa=ab+0x1);continue;}if(aa>=a9)break;ab=a7['indexOf']('\x0a',aa),ab===-0x1&&(ab=a9);let af=a7['substring'](aa,ab)[bo(0x2e4)](/\s+$/,'');aa=ab+0x1,a8['push']({'code':ad,'value':af});}return a8;}function T(a6,a7,a8){const bp=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDSEC')return a7+0x1;if(a9['code']===0x9){let aa=a9['value'];switch(a7++,aa){case'$ACADVER':a7<a6['length']&&(a8['acadVersion']=a6[a7]['value'],a7++);break;case'$EXTMIN':if(a7<a6[bp(0x315)]){let ab=E(a6,a7);a8[bp(0x25b)]=ab[bp(0x218)],a7=ab[bp(0x2b7)];}break;case'$EXTMAX':if(a7<a6['length']){let ac=E(a6,a7);a8['extMax']=ac['point'],a7=ac[bp(0x2b7)];}break;case'$INSUNITS':a7<a6['length']&&(a8[bp(0x243)]=parseInt(a6[a7]['value'],0xa),a7++);break;case bp(0x296):a7<a6['length']&&(a8['measurement']=parseInt(a6[a7]['value'],0xa),a7++);break;case'$LTSCALE':a7<a6['length']&&(a8['ltScale']=parseFloat(a6[a7]['value']),a7++);break;case'$DWGCODEPAGE':a7<a6['length']&&(a8['dwgCodePage']=a6[a7]['value'],a7++);break;case'$HANDSEED':a7<a6['length']&&(a8['handleSeed']=a6[a7]['value'],a7++);break;default:for(;a7<a6['length']&&a6[a7]['code']!==0x9&&a6[a7]['code']!==0x0;)a8[aa]=a6[a7]['value'],a7++;}}else a7++;}return a7;}function a0(){const dN=['isOff','extMin','alignmentPoint','extrusion','destroyed','attachmentPoint','children','73464EhOVUf','bind','loadArrayBuffer','moveTo','endpoint','stroke','\x20KB','sqrt','inputHandler','defPoint3','fill','ctx','push','center','lineJoin','decode','startAngle','handleSelect','midpoint','removeEventListener','CadViewer:\x20cannot\x20call\x20methods\x20on\x20a\x20destroyed\x20instance.','selectionColor','trueColor','measure','renderPending','guardDestroyed','textBaseline','selectedEntityIndex','rgba(0,\x200,\x200,\x200.15)','BYLAYER','pan','entities','endParam','doRender','changedTouches','boundaryPaths','match','loadGeneration','start','from','startWidth','strokeRect','measureText','max','fileSize','_allDistMargin','ensureMap','getContext','defPoint2','vAlign','now','destroyWorker','state','$MEASUREMENT','touchend','slice','isSeparator','monospace','textDirection','currentSnap','HEADER','getVisibleLayerNames','restore','data','20430umcEHZ','entityIndex','visibleCache','sort','textAlign','BLOCK','rowSpacing','loadFile','1kkYNVw','Standard','getTransform','rgba(255,\x20255,\x20255,\x200.15)','3346317hocjhb','LTYPE','STANDARD','abs','phase','TEXT','lineType','handleMove','generationFlags','setTheme','nextIndex','blocks','utf-8','defPoint','handleTouchEnd','second-point','visibility','font','debugEnabled','ascii','#FFFFFF','pop','bottom','isLocked','flags','hypot','ELLIPSE','wheel','line','entitiesDrawn','position','BLOCKS','radius','rotate','renderStats','touchmove','1391bnSPjh','viewer','createObjectURL','_build','compareMinX','defPoint5','lastY','POINT','spline','values','rgba(255,255,255,0.9)','clientY','px\x20','offsetX','lineCap','windows-1252','#0066ff','updateSize','canvas','replace','delete','touches','header','zoomTo','275gTpnhb','width','get','value','toFixed','lineWidth','minX','14UzWALW','layers','preventDefault','ENDSEC','loadedFileSize','endWidth','closed','removeAllListeners','options','arrayBuffer','layerManager','sin','remove','measureTool','edges','doc','toBBox','camera','handleTouchStart','beginPath','resolve','716446AgSflB','drawCalls','end','getBoundingClientRect','LWPOLYLINE','onTouchMove','distance','10tFDDsC','idle','build','bulge','onPointerMove','onmessage','worker','extMax','ENDTAB','length','leaf','drawingDirection','text','indexOf','parseTime','debug','maxX','alphabetic','size','floor','pow','MTEXT','listeners','maxY','329659cjFYDs','left','round','renderer','spatialIndex','blobUrl','viewchange','getWidth','\x20\x20Frame:\x20','vertices','INSERT','color','onContextMenu','scaleY','controlPoints','patternType','ceil','_chooseSplitIndex','type','set','getHeight','byType','defPoint4','code','top','_split','has','resizeObserver','11px\x20monospace','clientX','measureColor','toString','rotation','tree','weights','theme','basePoint','spatialIndexBuildTime','_condense','ccw','releasePointerCapture','scaleX','point','textMidpoint','handleZoom','193647nzORUe','fillStyle','pending','backgroundColor','layer','entries','loadDocument','handleClick','byteLength','AC1021','devicePixelRatio','cause','ARC','min','search','_maxEntries','HATCH','patternName','#cccccc','debugRafId','requestRender','startTangent','workerManager','85704KzPENW','translate','grab','Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.','arc','emitter','strokeStyle','off','height','onDocumentLoaded','_splitRoot','endTangent','fillText','endAngle','atan2','reviveDocument','frameTimestamps','insUnits','items','formatConverters','minY','addEventListener','20kjxeCF','TABLES','name','clear','\x20\x20Blocks:\x20','majorAxis','currentTool','cos','scale','lineTypes','loadString','style','File:\x20','lastX','POLYLINE','onTouchStart','fileName','insertionPoint'];a0=function(){return dN;};return a0();}function E(a6,a7){const bq=b5;let a8={'x':0x0,'y':0x0,'z':0x0};for(;a7<a6['length'];){let a9=a6[a7]['code'];if(a9===0xa)a8['x']=parseFloat(a6[a7][bq(0x2ec)]),a7++;else{if(a9===0x14)a8['y']=parseFloat(a6[a7]['value']),a7++;else{if(a9===0x1e)a8['z']=parseFloat(a6[a7]['value']),a7++;else break;}}}return{'point':a8,'nextIndex':a7};}function D(a6,a7,a8){const br=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDSEC')return a7+0x1;if(a9['code']===0x0&&a9['value']==='TABLE'){if(a7++,a7>=a6['length'])break;let aa=a6[a7]['value'];switch(a7++,aa){case'LAYER':a7=k(a6,a7,a8['layers']);break;case br(0x2ae):a7=ee(a6,a7,a8['lineTypes']);break;case'STYLE':a7=te(a6,a7,a8['styles']);break;default:a7=O(a6,a7);break;}}else a7++;}return a7;}function O(a6,a7){for(;a7<a6['length'];){if(a6[a7]['code']===0x0&&a6[a7]['value']==='ENDTAB')return a7+0x1;a7++;}return a7;}function k(a6,a7,a8){const bs=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9[bs(0x2ec)]==='ENDTAB')return a7+0x1;if(a9['code']===0x0&&a9['value']==='LAYER'){a7++;let aa={'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab['value'];break;case 0x6:aa[bs(0x2b3)]=ab['value'];break;case 0x3e:aa['color']=parseInt(ab['value'],0xa);break;case 0x46:aa['flags']=parseInt(ab['value'],0xa);break;case 0x172:aa['lineWeight']=parseInt(ab['value'],0xa);break;case 0x1a4:aa[bs(0x277)]=parseInt(ab[bs(0x2ec)],0xa);break;}a7++;}a8['set'](aa['name'],aa);}else a7++;}return a7;}function ee(a6,a7,a8){const bu=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']===bu(0x314))return a7+0x1;if(a9[bu(0x205)]===0x0&&a9['value']==='LTYPE'){a7++;let aa={'name':'','description':'','pattern':[],'totalLength':0x0};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab['value'];break;case 0x3:aa['description']=ab['value'];break;case 0x28:aa['totalLength']=parseFloat(ab[bu(0x2ec)]);break;case 0x31:aa['pattern']['push'](parseFloat(ab['value']));break;}a7++;}aa['name']&&a8['set'](aa[bu(0x24a)],aa);}else a7++;}return a7;}function te(a6,a7,a8){const bv=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9[bv(0x2ec)]==='ENDTAB')return a7+0x1;if(a9['code']===0x0&&a9['value']==='STYLE'){a7++;let aa={'name':'','fontName':'','bigFontName':'','height':0x0,'widthFactor':0x1,'obliqueAngle':0x0};for(;a7<a6['length']&&a6[a7][bv(0x205)]!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab['value'];break;case 0x3:aa['fontName']=ab['value'];break;case 0x4:aa['bigFontName']=ab[bv(0x2ec)];break;case 0x28:aa['height']=parseFloat(ab[bv(0x2ec)]);break;case 0x29:aa['widthFactor']=parseFloat(ab['value']);break;case 0x32:aa['obliqueAngle']=parseFloat(ab['value']);break;}a7++;}aa['name']&&a8['set'](aa[bv(0x24a)],aa);}else a7++;}return a7;}function A(a6){const bw=b5;let a7={'type':'','layer':'0','color':0x100,'lineType':bw(0x27e),'lineTypeScale':0x1,'lineWeight':-0x1,'visible':!0x0,'extrusion':{'x':0x0,'y':0x0,'z':0x1}};for(let a8 of a6)switch(a8['code']){case 0x5:a7['handle']=a8['value'];break;case 0x8:a7['layer']=a8['value'];break;case 0x6:a7['lineType']=a8['value'];break;case 0x30:a7['lineTypeScale']=parseFloat(a8['value']);break;case 0x3c:a7['visible']=a8['value']==='0'||a8['value']==='';break;case 0x3e:a7[bw(0x1f9)]=parseInt(a8[bw(0x2ec)],0xa);break;case 0x172:a7['lineWeight']=parseInt(a8['value'],0xa);break;case 0x1a4:a7[bw(0x277)]=parseInt(a8[bw(0x2ec)],0xa);break;case 0xd2:a7[bw(0x25d)]['x']=parseFloat(a8['value']);break;case 0xdc:a7['extrusion']['y']=parseFloat(a8[bw(0x2ec)]);break;case 0xe6:a7[bw(0x25d)]['z']=parseFloat(a8['value']);break;}return a7;}function ne(a6){const bx=b5;let a7=a3(a3({},A(a6)),{},{'type':'LINE','start':{'x':0x0,'y':0x0,'z':0x0},'end':{'x':0x0,'y':0x0,'z':0x0}});for(let a8 of a6)switch(a8['code']){case 0xa:a7[bx(0x287)]['x']=parseFloat(a8['value']);break;case 0x14:a7['start']['y']=parseFloat(a8['value']);break;case 0x1e:a7['start']['z']=parseFloat(a8['value']);break;case 0xb:a7['end']['x']=parseFloat(a8[bx(0x2ec)]);break;case 0x15:a7['end']['y']=parseFloat(a8[bx(0x2ec)]);break;case 0x1f:a7['end']['z']=parseFloat(a8['value']);break;}return a7;}function re(a6){const by=b5;let a7=a3(a3({},A(a6)),{},{'type':'CIRCLE','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0});for(let a8 of a6)switch(a8['code']){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7['center']['y']=parseFloat(a8[by(0x2ec)]);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0x28:a7['radius']=parseFloat(a8['value']);break;}return a7;}function ie(a6){const bz=b5;let a7=a3(a3({},A(a6)),{},{'type':'ARC','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0,'startAngle':0x0,'endAngle':0x168});for(let a8 of a6)switch(a8['code']){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7[bz(0x26e)]['y']=parseFloat(a8['value']);break;case 0x1e:a7[bz(0x26e)]['z']=parseFloat(a8['value']);break;case 0x28:a7['radius']=parseFloat(a8['value']);break;case 0x32:a7[bz(0x271)]=parseFloat(a8['value']);break;case 0x33:a7['endAngle']=parseFloat(a8['value']);break;}return a7;}function ae(a6){const bA=b5;let a7=a3(a3({},A(a6)),{},{'type':'LWPOLYLINE','vertices':[],'closed':!0x1,'constantWidth':0x0,'elevation':0x0}),a8=null;for(let a9 of a6)switch(a9[bA(0x205)]){case 0x46:a7['closed']=(parseInt(a9['value'],0xa)&0x1)!=0x0;break;case 0x26:a7['elevation']=parseFloat(a9[bA(0x2ec)]);break;case 0x2b:a7['constantWidth']=parseFloat(a9['value']);break;case 0xa:a8&&a7['vertices'][bA(0x26d)](a8),a8={'x':parseFloat(a9['value']),'y':0x0,'bulge':0x0,'startWidth':0x0,'endWidth':0x0};break;case 0x14:a8&&(a8['y']=parseFloat(a9['value']));break;case 0x28:a8&&(a8['startWidth']=parseFloat(a9['value']));break;case 0x29:a8&&(a8[bA(0x2f5)]=parseFloat(a9['value']));break;case 0x2a:a8&&(a8['bulge']=parseFloat(a9['value']));break;}return a8&&a7['vertices'][bA(0x26d)](a8),a7;}function oe(a6){const bB=b5;let a7=a3(a3({},A(a6)),{},{'type':'POLYLINE','vertices':[],'closed':!0x1,'is3d':!0x1});for(let a8 of a6)switch(a8['code']){case 0x46:{let a9=parseInt(a8[bB(0x2ec)],0xa);a7['closed']=(a9&0x1)!=0x0,a7['is3d']=(a9&0x8)!=0x0;break;}}return a7;}function se(a6){const bC=b5;let a7=a3(a3({},A(a6)),{},{'type':'ELLIPSE','center':{'x':0x0,'y':0x0,'z':0x0},'majorAxis':{'x':0x1,'y':0x0,'z':0x0},'minorRatio':0x1,'startParam':0x0,'endParam':Math['PI']*0x2});for(let a8 of a6)switch(a8['code']){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7['center']['y']=parseFloat(a8['value']);break;case 0x1e:a7[bC(0x26e)]['z']=parseFloat(a8[bC(0x2ec)]);break;case 0xb:a7['majorAxis']['x']=parseFloat(a8['value']);break;case 0x15:a7['majorAxis']['y']=parseFloat(a8[bC(0x2ec)]);break;case 0x1f:a7['majorAxis']['z']=parseFloat(a8['value']);break;case 0x28:a7['minorRatio']=parseFloat(a8['value']);break;case 0x29:a7['startParam']=parseFloat(a8['value']);break;case 0x2a:a7['endParam']=parseFloat(a8['value']);break;}return a7;}function ce(a6){const bD=b5;let a7=a3(a3({},A(a6)),{},{'type':'SPLINE','degree':0x3,'flags':0x0,'knots':[],'controlPoints':[],'fitPoints':[],'weights':[]}),a8=null,a9=null;for(let aa of a6)switch(aa['code']){case 0x46:a7[bD(0x2c5)]=parseInt(aa['value'],0xa);break;case 0x47:a7['degree']=parseInt(aa['value'],0xa);break;case 0x28:a7['knots']['push'](parseFloat(aa['value']));break;case 0x29:a7[bD(0x210)]['push'](parseFloat(aa['value']));break;case 0xa:a8&&a7['controlPoints'][bD(0x26d)](a8),a8={'x':parseFloat(aa['value']),'y':0x0,'z':0x0};break;case 0x14:a8&&(a8['y']=parseFloat(aa['value']));break;case 0x1e:a8&&(a8['z']=parseFloat(aa[bD(0x2ec)]));break;case 0xb:a9&&a7['fitPoints']['push'](a9),a9={'x':parseFloat(aa['value']),'y':0x0,'z':0x0};break;case 0x15:a9&&(a9['y']=parseFloat(aa['value']));break;case 0x1f:a9&&(a9['z']=parseFloat(aa[bD(0x2ec)]));break;case 0xc:a7[bD(0x230)]||(a7[bD(0x230)]={'x':0x0,'y':0x0,'z':0x0}),a7['startTangent']['x']=parseFloat(aa['value']);break;case 0x16:a7['startTangent']&&(a7['startTangent']['y']=parseFloat(aa[bD(0x2ec)]));break;case 0x20:a7[bD(0x230)]&&(a7['startTangent']['z']=parseFloat(aa['value']));break;case 0xd:a7['endTangent']||(a7['endTangent']={'x':0x0,'y':0x0,'z':0x0}),a7[bD(0x23d)]['x']=parseFloat(aa[bD(0x2ec)]);break;case 0x17:a7['endTangent']&&(a7['endTangent']['y']=parseFloat(aa[bD(0x2ec)]));break;case 0x21:a7['endTangent']&&(a7[bD(0x23d)]['z']=parseFloat(aa['value']));break;}return a8&&a7['controlPoints']['push'](a8),a9&&a7['fitPoints'][bD(0x26d)](a9),a7;}function le(a6){const bE=b5;let a7=a3(a3({},A(a6)),{},{'type':bE(0x2b2),'text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'rotation':0x0,'widthFactor':0x1,'obliqueAngle':0x0,'style':'STANDARD','hAlign':0x0,'vAlign':0x0,'generationFlags':0x0});for(let a8 of a6)switch(a8['code']){case 0x1:a7['text']=a8['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a8[bE(0x2ec)]);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a8['value']);break;case 0xb:a7['alignmentPoint']||(a7[bE(0x25c)]={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['x']=parseFloat(a8['value']);break;case 0x15:a7[bE(0x25c)]||(a7[bE(0x25c)]={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['y']=parseFloat(a8['value']);break;case 0x1f:a7['alignmentPoint']||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['z']=parseFloat(a8['value']);break;case 0x28:a7['height']=parseFloat(a8['value']);break;case 0x29:a7['widthFactor']=parseFloat(a8['value']);break;case 0x32:a7[bE(0x20e)]=parseFloat(a8['value']);break;case 0x33:a7['obliqueAngle']=parseFloat(a8[bE(0x2ec)]);break;case 0x7:a7[bE(0x253)]=a8['value'];break;case 0x47:a7[bE(0x2b5)]=parseInt(a8['value'],0xa);break;case 0x48:a7['hAlign']=parseInt(a8['value'],0xa);break;case 0x49:a7['vAlign']=parseInt(a8['value'],0xa);break;}return a7;}function ue(a6){const bF=b5;let a7=a3(a3({},A(a6)),{},{'type':'MTEXT','text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'width':0x0,'attachmentPoint':0x1,'drawingDirection':0x1,'rotation':0x0,'lineSpacingStyle':0x1,'lineSpacingFactor':0x1,'style':'STANDARD','bgFill':0x0,'bgFillScale':1.5}),a8=[];for(let a9 of a6)switch(a9[bF(0x205)]){case 0x1:a8['push'](a9['value']);break;case 0x3:a8[bF(0x26d)](a9['value']);break;case 0x7:a7['style']=a9['value'];break;case 0xa:a7[bF(0x259)]['x']=parseFloat(a9[bF(0x2ec)]);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a9['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a9['value']);break;case 0xb:a7['textDirection']||(a7['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a7['textDirection']['x']=parseFloat(a9['value']);break;case 0x15:a7['textDirection']||(a7['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a7[bF(0x29b)]['y']=parseFloat(a9[bF(0x2ec)]);break;case 0x1f:a7['textDirection']||(a7['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a7[bF(0x29b)]['z']=parseFloat(a9['value']);break;case 0x28:a7[bF(0x23a)]=parseFloat(a9['value']);break;case 0x29:a7[bF(0x2ea)]=parseFloat(a9['value']);break;case 0x2c:a7['lineSpacingFactor']=parseFloat(a9[bF(0x2ec)]);break;case 0x32:a7['rotation']=parseFloat(a9['value']);break;case 0x47:a7['attachmentPoint']=parseInt(a9[bF(0x2ec)],0xa);break;case 0x48:a7[bF(0x317)]=parseInt(a9[bF(0x2ec)],0xa);break;case 0x49:a7['lineSpacingStyle']=parseInt(a9[bF(0x2ec)],0xa);break;case 0x5a:a7['bgFill']=parseInt(a9['value'],0xa);break;}return a7['text']=a8['join'](''),a7;}function de(a6){const bG=b5;let a7=a3(a3({},A(a6)),{},{'type':'INSERT','blockName':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'scaleX':0x1,'scaleY':0x1,'scaleZ':0x1,'rotation':0x0,'columnCount':0x1,'rowCount':0x1,'columnSpacing':0x0,'rowSpacing':0x0,'attribs':[]});for(let a8 of a6)switch(a8[bG(0x205)]){case 0x2:a7['blockName']=a8['value'];break;case 0xa:a7[bG(0x259)]['x']=parseFloat(a8['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a8['value']);break;case 0x29:a7[bG(0x217)]=parseFloat(a8['value']);break;case 0x2a:a7['scaleY']=parseFloat(a8['value']);break;case 0x2b:a7['scaleZ']=parseFloat(a8['value']);break;case 0x2c:a7['columnSpacing']=parseFloat(a8['value']);break;case 0x2d:a7[bG(0x2a7)]=parseFloat(a8['value']);break;case 0x32:a7[bG(0x20e)]=parseFloat(a8['value']);break;case 0x46:a7['columnCount']=parseInt(a8['value'],0xa)||0x1;break;case 0x47:a7['rowCount']=parseInt(a8['value'],0xa)||0x1;break;}return a7;}function fe(a6){const bH=b5;let a7=a3(a3({},A(a6)),{},{'type':'DIMENSION','blockName':'','dimStyle':bH(0x2af),'dimType':0x0,'defPoint':{'x':0x0,'y':0x0,'z':0x0},'textMidpoint':{'x':0x0,'y':0x0,'z':0x0},'textOverride':'','rotation':0x0,'textRotation':0x0,'leaderLength':0x0});for(let a8 of a6)switch(a8[bH(0x205)]){case 0x1:a7['textOverride']=a8['value'];break;case 0x2:a7['blockName']=a8['value'];break;case 0x3:a7['dimStyle']=a8['value'];break;case 0xa:a7[bH(0x2ba)]['x']=parseFloat(a8['value']);break;case 0x14:a7['defPoint']['y']=parseFloat(a8[bH(0x2ec)]);break;case 0x1e:a7['defPoint']['z']=parseFloat(a8[bH(0x2ec)]);break;case 0xb:a7[bH(0x219)]['x']=parseFloat(a8['value']);break;case 0x15:a7['textMidpoint']['y']=parseFloat(a8[bH(0x2ec)]);break;case 0x1f:a7['textMidpoint']['z']=parseFloat(a8['value']);break;case 0xd:a7['defPoint2']||(a7[bH(0x291)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['x']=parseFloat(a8['value']);break;case 0x17:a7['defPoint2']||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['y']=parseFloat(a8[bH(0x2ec)]);break;case 0x21:a7['defPoint2']||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['z']=parseFloat(a8['value']);break;case 0xe:a7[bH(0x26a)]||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['x']=parseFloat(a8[bH(0x2ec)]);break;case 0x18:a7['defPoint3']||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['y']=parseFloat(a8['value']);break;case 0x22:a7['defPoint3']||(a7[bH(0x26a)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['z']=parseFloat(a8['value']);break;case 0xf:a7['defPoint4']||(a7[bH(0x204)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint4']['x']=parseFloat(a8['value']);break;case 0x19:a7['defPoint4']||(a7['defPoint4']={'x':0x0,'y':0x0,'z':0x0}),a7[bH(0x204)]['y']=parseFloat(a8['value']);break;case 0x23:a7['defPoint4']||(a7['defPoint4']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint4']['z']=parseFloat(a8['value']);break;case 0x10:a7['defPoint5']||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['x']=parseFloat(a8['value']);break;case 0x1a:a7[bH(0x2d6)]||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['y']=parseFloat(a8['value']);break;case 0x24:a7['defPoint5']||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['z']=parseFloat(a8['value']);break;case 0x28:a7['leaderLength']=parseFloat(a8['value']);break;case 0x32:a7['rotation']=parseFloat(a8[bH(0x2ec)]);break;case 0x35:a7['textRotation']=parseFloat(a8['value']);break;case 0x46:a7['dimType']=parseInt(a8['value'],0xa);break;}return a7;}function pe(a6){const bI=b5;let a7=a3(a3({},A(a6)),{},{'type':bI(0x22b),'patternName':'','solidFill':!0x0,'associative':!0x1,'hatchStyle':0x0,'patternType':0x1,'patternAngle':0x0,'patternScale':0x1,'boundaryPaths':[]}),a8=0x0;for(;a8<a6['length'];){let a9=a6[a8];switch(a9['code']){case 0x2:a7[bI(0x22c)]=a9['value'];break;case 0x29:a7['patternScale']=parseFloat(a9[bI(0x2ec)]);break;case 0x34:a7['patternAngle']=parseFloat(a9['value']);break;case 0x46:a7['solidFill']=a9['value']==='1';break;case 0x47:a7['associative']=a9['value']==='1';break;case 0x4b:a7['hatchStyle']=parseInt(a9['value'],0xa);break;case 0x4c:a7[bI(0x1fd)]=parseInt(a9['value'],0xa);break;case 0x5b:{let aa=parseInt(a9['value'],0xa);a8++;for(let ab=0x0;ab<aa&&a8<a6['length'];ab++){let ac=me(a6,a8);a7['boundaryPaths']['push'](ac['path']),a8=ac['nextIndex'];}continue;}}a8++;}return a7;}function me(a6,a7){const bJ=b5;let a8=0x0;return a7<a6['length']&&a6[a7]['code']===0x5c&&(a8=parseInt(a6[a7][bJ(0x2ec)],0xa),a7++),a8&0x2?he(a6,a7,a8):ge(a6,a7,a8);}function he(a6,a7,a8){const bK=b5;let a9={'type':'polyline','vertices':[],'bulges':[],'flags':a8},aa=!0x1;a7<a6[bK(0x315)]&&a6[a7][bK(0x205)]===0x48&&(aa=a6[a7]['value']==='1',a7++),a7<a6['length']&&a6[a7]['code']===0x49&&(a9['isClosed']=a6[a7]['value']==='1',a7++);let ab=0x0;a7<a6[bK(0x315)]&&a6[a7]['code']===0x5d&&(ab=parseInt(a6[a7]['value'],0xa),a7++);for(let ac=0x0;ac<ab&&a7<a6['length'];ac++){let ad={'x':0x0,'y':0x0};a6[a7]['code']===0xa&&(ad['x']=parseFloat(a6[a7][bK(0x2ec)]),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ad['y']=parseFloat(a6[a7]['value']),a7++),a9['vertices']['push'](ad),aa&&a7<a6['length']&&a6[a7]['code']===0x2a?(a9['bulges'][bK(0x26d)](parseFloat(a6[a7]['value'])),a7++):aa&&a9['bulges']['push'](0x0);}for(;a7<a6['length']&&(a6[a7]['code']===0x61||a6[a7]['code']===0x14a);)if(a6[a7]['code']===0x61){let af=parseInt(a6[a7]['value'],0xa);a7++;for(let ag=0x0;ag<af&&a7<a6['length']&&a6[a7]['code']===0x14a;ag++)a7++;}else a7++;return{'path':a9,'nextIndex':a7};}function ge(a6,a7,a8){const bL=b5;let a9={'type':'edges','edges':[],'flags':a8},aa=0x0;a7<a6['length']&&a6[a7]['code']===0x5d&&(aa=parseInt(a6[a7]['value'],0xa),a7++);for(let ab=0x0;ab<aa&&a7<a6['length']&&a6[a7]['code']===0x48;ab++){let ac=parseInt(a6[a7]['value'],0xa);switch(a7++,ac){case 0x1:{let ad={'type':bL(0x2c9),'start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x0}};a7<a6['length']&&a6[a7][bL(0x205)]===0xa&&(ad['start']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ad['start']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0xb&&(ad[bL(0x307)]['x']=parseFloat(a6[a7][bL(0x2ec)]),a7++),a7<a6['length']&&a6[a7]['code']===0x15&&(ad['end']['y']=parseFloat(a6[a7]['value']),a7++),a9['edges']['push'](ad);break;}case 0x2:{let af={'type':bL(0x236),'center':{'x':0x0,'y':0x0},'radius':0x0,'startAngle':0x0,'endAngle':0x168,'ccw':!0x0};a7<a6['length']&&a6[a7]['code']===0xa&&(af['center']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(af[bL(0x26e)]['y']=parseFloat(a6[a7][bL(0x2ec)]),a7++),a7<a6['length']&&a6[a7]['code']===0x28&&(af['radius']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x32&&(af[bL(0x271)]=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x33&&(af[bL(0x23f)]=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x49&&(af[bL(0x215)]=a6[a7]['value']==='1',a7++),a9['edges']['push'](af);break;}case 0x3:{let ag={'type':'ellipse','center':{'x':0x0,'y':0x0},'majorAxis':{'x':0x1,'y':0x0},'minorRatio':0x1,'startAngle':0x0,'endAngle':Math['PI']*0x2,'ccw':!0x0};a7<a6['length']&&a6[a7]['code']===0xa&&(ag['center']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bL(0x205)]===0x14&&(ag['center']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0xb&&(ag['majorAxis']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x15&&(ag['majorAxis']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x28&&(ag['minorRatio']=parseFloat(a6[a7]['value']),a7++),a7<a6[bL(0x315)]&&a6[a7]['code']===0x32&&(ag['startAngle']=parseFloat(a6[a7][bL(0x2ec)]),a7++),a7<a6['length']&&a6[a7]['code']===0x33&&(ag['endAngle']=parseFloat(a6[a7][bL(0x2ec)]),a7++),a7<a6['length']&&a6[a7]['code']===0x49&&(ag['ccw']=a6[a7]['value']==='1',a7++),a9['edges']['push'](ag);break;}case 0x4:{let ah=0x3,ai=[],aj=[];a7<a6['length']&&a6[a7][bL(0x205)]===0x5e&&(ah=parseInt(a6[a7]['value'],0xa),a7++),a7<a6[bL(0x315)]&&a6[a7]['code']===0x49&&a7++,a7<a6[bL(0x315)]&&a6[a7]['code']===0x4a&&a7++;let ak=0x0;a7<a6['length']&&a6[a7]['code']===0x5f&&(ak=parseInt(a6[a7]['value'],0xa),a7++);let al=0x0;a7<a6['length']&&a6[a7]['code']===0x60&&(al=parseInt(a6[a7][bL(0x2ec)],0xa),a7++);for(let am=0x0;am<ak&&a7<a6['length']&&a6[a7]['code']===0x28;am++)ai['push'](parseFloat(a6[a7]['value'])),a7++;for(let an=0x0;an<al&&a7<a6['length'];an++){let ao={'x':0x0,'y':0x0};a6[a7]['code']===0xa&&(ao['x']=parseFloat(a6[a7][bL(0x2ec)]),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ao['y']=parseFloat(a6[a7]['value']),a7++),aj[bL(0x26d)](ao);}a9['edges']['push']({'type':bL(0x2d9),'degree':ah,'knots':ai,'controlPoints':aj});break;}}}for(;a7<a6['length']&&(a6[a7]['code']===0x61||a6[a7]['code']===0x14a);)if(a6[a7]['code']===0x61){let ap=parseInt(a6[a7]['value'],0xa);a7++;for(let aq=0x0;aq<ap&&a7<a6[bL(0x315)]&&a6[a7]['code']===0x14a;aq++)a7++;}else a7++;return{'path':a9,'nextIndex':a7};}function _e(a6){const bM=b5;let a7=a3(a3({},A(a6)),{},{'type':'POINT','position':{'x':0x0,'y':0x0,'z':0x0}});for(let a8 of a6)switch(a8['code']){case 0xa:a7['position']['x']=parseFloat(a8[bM(0x2ec)]);break;case 0x14:a7['position']['y']=parseFloat(a8[bM(0x2ec)]);break;case 0x1e:a7['position']['z']=parseFloat(a8['value']);break;}return a7;}function j(a6,a7,a8){const bN=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']!==0x0){a7++;continue;}let aa=a9['value'];if(aa===bN(0x2f3)||aa==='ENDBLK')return a7+0x1;a7++;let ab=[];for(;a7<a6[bN(0x315)]&&a6[a7]['code']!==0x0;)ab[bN(0x26d)](a6[a7]),a7++;switch(aa){case'LINE':a8['push'](ne(ab));break;case'CIRCLE':a8['push'](re(ab));break;case bN(0x227):a8['push'](ie(ab));break;case'LWPOLYLINE':a8['push'](ae(ab));break;case'ELLIPSE':a8['push'](se(ab));break;case'SPLINE':a8['push'](ce(ab));break;case bN(0x2b2):a8['push'](le(ab));break;case'MTEXT':a8[bN(0x26d)](ue(ab));break;case'INSERT':{let ac=de(ab);ab['some'](ad=>ad['code']===0x42&&ad['value']==='1')&&(a7=ye(a6,a7,ac['attribs'])),a8['push'](ac);break;}case'DIMENSION':a8[bN(0x26d)](fe(ab));break;case bN(0x22b):a8['push'](pe(ab));break;case'POINT':a8['push'](_e(ab));break;case'POLYLINE':{let ad=oe(ab);a7=ve(a6,a7,ad['vertices']),a8['push'](ad);break;}}}return a7;}function ve(a6,a7,a8){const bO=b5;for(;a7<a6[bO(0x315)];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9==='SEQEND')return a7+0x1;if(a9===bO(0x2f3)||a9==='ENDBLK')return a7;if(a9==='VERTEX'){a7++;let aa={'x':0x0,'y':0x0,'bulge':0x0,'startWidth':0x0,'endWidth':0x0};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0xa:aa['x']=parseFloat(ab['value']);break;case 0x14:aa['y']=parseFloat(ab['value']);break;case 0x2a:aa['bulge']=parseFloat(ab['value']);break;case 0x28:aa[bO(0x289)]=parseFloat(ab['value']);break;case 0x29:aa['endWidth']=parseFloat(ab['value']);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6['length']&&a6[a7]['code']!==0x0;)a7++;}}return a7;}function ye(a6,a7,a8){const bP=b5;for(;a7<a6[bP(0x315)];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9==='SEQEND')return a7+0x1;if(a9===bP(0x2f3)||a9==='ENDBLK')return a7;if(a9==='ATTRIB'){a7++;let aa={'tag':'','text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'rotation':0x0,'style':bP(0x2af),'layer':'0','color':0x100};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x1:aa[bP(0x318)]=ab['value'];break;case 0x2:aa['tag']=ab['value'];break;case 0x7:aa['style']=ab['value'];break;case 0x8:aa['layer']=ab['value'];break;case 0xa:aa['insertionPoint']['x']=parseFloat(ab['value']);break;case 0x14:aa[bP(0x259)]['y']=parseFloat(ab[bP(0x2ec)]);break;case 0x1e:aa['insertionPoint']['z']=parseFloat(ab[bP(0x2ec)]);break;case 0x28:aa['height']=parseFloat(ab['value']);break;case 0x32:aa['rotation']=parseFloat(ab['value']);break;case 0x3e:aa['color']=parseInt(ab['value'],0xa);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6['length']&&a6[a7]['code']!==0x0;)a7++;}}return a7;}function be(a6,a7,a8){const bQ=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDSEC')return a7+0x1;if(a9['code']===0x0&&a9['value']===bQ(0x2a6)){a7++;let aa={'name':'','basePoint':{'x':0x0,'y':0x0,'z':0x0},'entities':[],'flags':0x0};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab[bQ(0x2ec)];break;case 0x8:break;case 0xa:aa[bQ(0x212)]['x']=parseFloat(ab['value']);break;case 0x14:aa['basePoint']['y']=parseFloat(ab[bQ(0x2ec)]);break;case 0x1e:aa['basePoint']['z']=parseFloat(ab['value']);break;case 0x46:aa[bQ(0x2c5)]=parseInt(ab['value'],0xa);break;}a7++;}a7=j(a6,a7,aa['entities']),aa['name']&&!aa['name']['startsWith']('*Model_Space')&&!aa['name']['startsWith']('*Paper_Space')&&a8[bQ(0x201)](aa['name'],aa);}else a7++;}return a7;}var M='AutoCAD\x20Binary\x20DXF',xe={'ANSI_874':'windows-874','ANSI_932':'shift_jis','ANSI_936':'gbk','ANSI_949':'euc-kr','ANSI_950':'big5','ANSI_1250':'windows-1250','ANSI_1251':'windows-1251','ANSI_1252':'windows-1252','ANSI_1253':'windows-1253','ANSI_1254':'windows-1254','ANSI_1255':'windows-1255','ANSI_1256':'windows-1256','ANSI_1257':'windows-1257','ANSI_1258':'windows-1258'},Se=b5(0x224);function a1(a,b){a=a-0x1ef;const c=a0();let d=c[a];return d;}function Ce(){return{'acadVersion':'','insUnits':0x0,'measurement':0x0,'ltScale':0x1};}function N(a6){return a6['replace'](/\\U\+([0-9A-Fa-f]{4})/g,(a7,a8)=>String['fromCodePoint'](parseInt(a8,0x10)));}function we(a6){const bR=b5;var a7;if(typeof a6=='string')return N(a6);let a8=new Uint8Array(a6);if(new TextDecoder(bR(0x2c0))['decode'](a8[bR(0x298)](0x0,M[bR(0x315)]))===M)throw new P('Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.');let a9=new TextDecoder('utf-8')[bR(0x270)](a6),aa=a9[bR(0x285)](/\$ACADVER[\s\S]*?\n\s*1\s*\n\s*(\S+)/),ab=(a7=aa==null?void 0x0:aa[0x1])==null?'':a7;if(ab&&ab<Se){var ac,ad;let af=a9['match'](/\$DWGCODEPAGE[\s\S]*?\n\s*3\s*\n\s*(\S+)/),ag=(ad=xe[(ac=af==null?void 0x0:af[0x1])==null?'':ac])==null?bR(0x2e0):ad;ag!==bR(0x2b9)&&(a9=new TextDecoder(ag)['decode'](a6));}return N(a9);}function Te(a6,a7){const bS=b5;for(;a7<a6[bS(0x315)];){if(a6[a7]['code']===0x0&&a6[a7]['value']==='ENDSEC')return a7+0x1;a7++;}return a7;}function Ee(a6){const bT=b5;a6[bT(0x2f1)]['has']('0')||a6[bT(0x2f1)]['set']('0',{'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1});}function De(a6){const bU=b5;for(let [,a7]of a6['layers'])a7['isOff']=a7[bU(0x1f9)]<0x0,a7[bU(0x25a)]&&(a7['color']=Math['abs'](a7[bU(0x1f9)])),a7['isFrozen']=(a7[bU(0x2c5)]&0x1)!=0x0,a7[bU(0x2c4)]=(a7['flags']&0x4)!=0x0;}var P=class extends Error{constructor(a6,a7){const bV=b5;super(a6),this[bV(0x226)]=a7,this['name']='DxfParseError';}};function F(a6){const bW=b5;if(typeof a6=='string'){if(a6['length']===0x0)throw new P(bW(0x235));}else{if(a6 instanceof ArrayBuffer){if(a6[bW(0x223)]===0x0)throw new P('Input\x20ArrayBuffer\x20is\x20empty.');}else throw new P('Invalid\x20input\x20type.\x20Expected\x20a\x20string\x20or\x20ArrayBuffer.');}let a7;try{a7=we(a6);}catch(aa){throw aa instanceof P?aa:new P('Failed\x20to\x20decode\x20DXF\x20input.',aa);}let a8;try{a8=w(a7);}catch(ab){throw new P('Failed\x20to\x20tokenize\x20DXF\x20content.',ab);}if(a8['length']===0x0)throw new P('DXF\x20content\x20produced\x20no\x20tokens.\x20The\x20input\x20may\x20not\x20be\x20a\x20valid\x20DXF\x20file.');let a9={'header':Ce(),'layers':new Map(),'lineTypes':new Map(),'styles':new Map(),'blocks':new Map(),'entities':[]};try{let ac=0x0;for(;ac<a8['length'];){let ad=a8[ac];if(ad['code']===0x0&&ad[bW(0x2ec)]==='SECTION'){if(ac++,ac>=a8['length'])break;let af=a8[ac][bW(0x2ec)];switch(ac++,af){case bW(0x29d):ac=T(a8,ac,a9['header']);break;case bW(0x249):ac=D(a8,ac,a9);break;case bW(0x2cc):ac=be(a8,ac,a9['blocks']);break;case'ENTITIES':ac=j(a8,ac,a9['entities']);break;default:ac=Te(a8,ac);break;}}else{if(ad['code']===0x0&&ad['value']==='EOF')break;else ac++;}}}catch(ag){throw new P('Failed\x20to\x20parse\x20DXF\x20sections.',ag);}return Ee(a9),De(a9),a9;}var Oe='#000000.#FF0000.#FFFF00.#00FF00.#00FFFF.#0000FF.#FF00FF.#FFFFFF.#808080.#C0C0C0.#FF0000.#FF7F7F.#A50000.#A55252.#7F0000.#7F3F3F.#4C0000.#4C2626.#260000.#261313.#FF3F00.#FF9F7F.#A52900.#A56752.#7F1F00.#7F4F3F.#4C1300.#4C2F26.#260900.#261713.#FF7F00.#FFBF7F.#A55200.#A57C52.#7F3F00.#7F5F3F.#4C2600.#4C3926.#261300.#261C13.#FFBF00.#FFDF7F.#A57C00.#A59152.#7F5F00.#7F6F3F.#4C3900.#4C4226.#261C00.#262113.#FFFF00.#FFFF7F.#A5A500.#A5A552.#7F7F00.#7F7F3F.#4C4C00.#4C4C26.#262600.#262613.#BFFF00.#DFFF7F.#7CA500.#91A552.#5F7F00.#6F7F3F.#394C00.#424C26.#1C2600.#212613.#7FFF00.#BFFF7F.#52A500.#7CA552.#3F7F00.#5F7F3F.#264C00.#394C26.#132600.#1C2613.#3FFF00.#9FFF7F.#29A500.#67A552.#1F7F00.#4F7F3F.#134C00.#2F4C26.#092600.#172613.#00FF00.#7FFF7F.#00A500.#52A552.#007F00.#3F7F3F.#004C00.#264C26.#002600.#132613.#00FF3F.#7FFF9F.#00A529.#52A567.#007F1F.#3F7F4F.#004C13.#264C2F.#002609.#132617.#00FF7F.#7FFFBF.#00A552.#52A57C.#007F3F.#3F7F5F.#004C26.#264C39.#002613.#13261C.#00FFBF.#7FFFDF.#00A57C.#52A591.#007F5F.#3F7F6F.#004C39.#264C42.#00261C.#132621.#00FFFF.#7FFFFF.#00A5A5.#52A5A5.#007F7F.#3F7F7F.#004C4C.#264C4C.#002626.#132626.#00BFFF.#7FDFFF.#007CA5.#5291A5.#005F7F.#3F6F7F.#00394C.#26424C.#001C26.#132126.#007FFF.#7FBFFF.#0052A5.#527CA5.#003F7F.#3F5F7F.#00264C.#26394C.#001326.#131C26.#003FFF.#7F9FFF.#0029A5.#5267A5.#001F7F.#3F4F7F.#00134C.#262F4C.#000926.#131726.#0000FF.#7F7FFF.#0000A5.#5252A5.#00007F.#3F3F7F.#00004C.#26264C.#000026.#131326.#3F00FF.#9F7FFF.#2900A5.#6752A5.#1F007F.#4F3F7F.#13004C.#2F264C.#090026.#171326.#7F00FF.#BF7FFF.#5200A5.#7C52A5.#3F007F.#5F3F7F.#26004C.#39264C.#130026.#1C1326.#BF00FF.#DF7FFF.#7C00A5.#9152A5.#5F007F.#6F3F7F.#39004C.#42264C.#1C0026.#211326.#FF00FF.#FF7FFF.#A500A5.#A552A5.#7F007F.#7F3F7F.#4C004C.#4C264C.#260026.#261326.#FF00BF.#FF7FDF.#A5007C.#A55291.#7F005F.#7F3F6F.#4C0039.#4C2642.#26001C.#261321.#FF007F.#FF7FBF.#A50052.#A5527C.#7F003F.#7F3F5F.#4C0026.#4C2639.#260013.#26131C.#FF003F.#FF7F9F.#A50029.#A55267.#7F001F.#7F3F4F.#4C0013.#4C262F.#260009.#261317.#333333.#505050.#696969.#828282.#BEBEBE.#FFFFFF'['split']('.');function ke(a6){if(!(a6===0x0||a6===0x100)&&!(a6<0x0||a6>0xff))return Oe[a6];}function Ae(a6,a7){const bX=b5;var a8;return a6===0x7||(a8=Oe[Math['abs'](a6)])==null?a7?bX(0x2c1):'#000000':a8;}function je(a6){const bY=b5;let a7=a6>>0x10&0xff,a8=a6>>0x8&0xff,a9=a6&0xff;return'#'+a7['toString'](0x10)['padStart'](0x2,'0')+a8[bY(0x20d)](0x10)['padStart'](0x2,'0')+a9['toString'](0x10)['padStart'](0x2,'0');}var I={'dark':{'backgroundColor':'#1a1a2e','defaultEntityColor':'#ffffff','selectionColor':'#00ff88','measureColor':'#ffaa00','gridColor':'#333333','crosshairColor':'#555555'},'light':{'backgroundColor':'#ffffff','defaultEntityColor':'#000000','selectionColor':b5(0x2e1),'measureColor':'#ff6600','gridColor':'#dddddd','crosshairColor':b5(0x22d)}};function L(a6,a7,a8){return[a7*a6['scale']+a6['offsetX'],-a8*a6['scale']+a6['offsetY']];}function R(a6,a7,a8){const bZ=b5;return[(a7-a6[bZ(0x2de)])/a6[bZ(0x250)],-(a8-a6['offsetY'])/a6['scale']];}function z(a6,a7){const c0=b5;let a8=window[c0(0x225)]||0x1;a6['setTransform'](a7[c0(0x250)]*a8,0x0,0x0,-a7['scale']*a8,a7['offsetX']*a8,a7['offsetY']*a8);}function B(a6,a7,a8,a9,aa,ab,ac=0.05){let ad=aa-a8,af=ab-a9;if(ad<=0x0||af<=0x0)return{'scale':0x1,'offsetX':a6/0x2,'offsetY':a7/0x2};let ag=a6/ad,ah=a7/af,ai=Math['min'](ag,ah)*(0x1-ac*0x2),aj=(a8+aa)/0x2,ak=(a9+ab)/0x2;return{'scale':ai,'offsetX':a6/0x2-aj*ai,'offsetY':a7/0x2+ak*ai};}function Me(a6,a7,a8,a9,aa=0.0001,ab=0x186a0){const c1=b5;let ac=Math['max'](aa,Math[c1(0x228)](ab,a6['scale']*a9)),ad=ac/a6['scale'];return{'scale':ac,'offsetX':a7-(a7-a6['offsetX'])*ad,'offsetY':a8-(a8-a6['offsetY'])*ad};}var Ne=class{constructor(a6){t(this,'transform',{'scale':0x1,'offsetX':0x0,'offsetY':0x0}),t(this,'minScale',void 0x0),t(this,'maxScale',void 0x0),this['minScale']=a6['minZoom'],this['maxScale']=a6['maxZoom'];}['getTransform'](){return this['transform'];}['setTransform'](a6){this['transform']=a6;}['pan'](a6,a7){this['transform']=a3(a3({},this['transform']),{},{'offsetX':this['transform']['offsetX']+a6,'offsetY':this['transform']['offsetY']+a7});}['zoom'](a6,a7,a8){this['transform']=Me(this['transform'],a6,a7,a8,this['minScale'],this['maxScale']);}};function Pe(a6,a7){var a8;return a6===0x7?a7==='dark'?'#ffffff':'#000000':(a8=ke(a6))==null?'#ffffff':a8;}function V(a6,a7,a8,a9){const c2=b5;if(a6['trueColor']!==void 0x0)return'rgb('+(a6['trueColor']>>0x10&0xff)+','+(a6['trueColor']>>0x8&0xff)+','+(a6['trueColor']&0xff)+')';if(a6['color']===0x0)return a9==null?I[a8]['defaultEntityColor']:a9;if(a6['color']!==0x100)return Pe(a6['color'],a8);let aa=a7['get'](a6[c2(0x21f)]);return aa?aa[c2(0x277)]===void 0x0?Pe(Math['abs'](aa['color']),a8):'rgb('+(aa['trueColor']>>0x10&0xff)+','+(aa['trueColor']>>0x8&0xff)+','+(aa['trueColor']&0xff)+')':I[a8]['defaultEntityColor'];}function Fe(a6,a7){const c3=b5;a6['beginPath'](),a6['moveTo'](a7['start']['x'],a7[c3(0x287)]['y']),a6['lineTo'](a7[c3(0x307)]['x'],a7['end']['y']),a6['stroke']();}function Ie(a6,a7){const c4=b5;a7['radius']<=0x0||(a6['beginPath'](),a6['arc'](a7[c4(0x26e)]['x'],a7['center']['y'],a7[c4(0x2cd)],0x0,Math['PI']*0x2),a6[c4(0x266)]());}function Le(a6,a7){const c5=b5;if(a7['radius']<=0x0)return;let a8=a7['startAngle']*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6['beginPath'](),a6['arc'](a7['center']['x'],a7['center']['y'],a7[c5(0x2cd)],a8,a9,!0x1),a6['stroke']();}function Re(a6,a7,a8,a9,aa){const c6=b5;let ab=a8-a6,ac=a9-a7,ad=Math['sqrt'](ab*ab+ac*ac);if(ad<1e-10)return{'cx':a6,'cy':a7,'radius':0x0,'startAngle':0x0,'endAngle':0x0,'anticlockwise':!0x1};let af=Math[c6(0x2b0)](aa)*ad/0x2,ag=(Math['pow'](ad/0x2,0x2)+Math[c6(0x320)](af,0x2))/(0x2*af),ah=(a6+a8)/0x2,ai=(a7+a9)/0x2,aj=-ac/ad,ak=ab/ad,al=ag-af,am=aa>0x0?0x1:-0x1,an=ah+am*al*aj,ao=ai+am*al*ak;return{'cx':an,'cy':ao,'radius':ag,'startAngle':Math['atan2'](a7-ao,a6-an),'endAngle':Math[c6(0x240)](a9-ao,a8-an),'anticlockwise':aa<0x0};}function H(a6,a7,a8,a9,aa,ab){const c7=b5;let ac=Re(a7,a8,a9,aa,ab);if(ac['radius']<1e-10){a6['lineTo'](a9,aa);return;}a6[c7(0x236)](ac['cx'],ac['cy'],ac['radius'],ac['startAngle'],ac['endAngle'],ac['anticlockwise']);}function ze(a6,a7){const c8=b5;let a8=a7['vertices'];if(a8['length']<0x2)return;a6['beginPath'](),a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8['length']-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8['length']];Math['abs'](ab[c8(0x30f)])<1e-10?a6['lineTo'](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab['bulge']);}a6['stroke']();}function Be(a6,a7){const c9=b5;let a8=a7['vertices'];if(a8[c9(0x315)]<0x2)return;a6['beginPath'](),a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8['length']-0x1;for(let ab=0x0;ab<a9;ab++){var aa;let ac=a8[ab],ad=a8[(ab+0x1)%a8['length']],af=(aa=ac[c9(0x30f)])==null?0x0:aa;Math['abs'](af)<1e-10?a6['lineTo'](ad['x'],ad['y']):H(a6,ac['x'],ac['y'],ad['x'],ad['y'],af);}a6[c9(0x266)]();}function Ve(a6,a7){const ca=b5;let a8=Math['sqrt'](Math[ca(0x320)](a7['majorAxis']['x'],0x2)+Math['pow'](a7['majorAxis']['y'],0x2)+Math['pow'](a7['majorAxis']['z'],0x2));if(a8<1e-10||a7['minorRatio']<=0x0)return;let a9=a8*a7['minorRatio'],aa=Math['atan2'](a7['majorAxis']['y'],a7['majorAxis']['x']);a6['beginPath'](),a6['ellipse'](a7['center']['x'],a7[ca(0x26e)]['y'],a8,a9,aa,a7['startParam'],a7[ca(0x281)],!0x1),a6['stroke']();}function He(a6,a7,a8,a9,aa){const cb=b5;var ab;let ac=a7[cb(0x315)]-0x1,ad=a6;for(;ad<ac&&a8[ad+0x1]<=a9;)ad++;let af=[],ag=[];for(let ah=0x0;ah<=a6;ah++){let ai=ad-a6+ah;af['push'](a3({},a7[ai])),ag['push'](aa?aa[ai]:0x1);}for(let aj=0x1;aj<=a6;aj++)for(let ak=a6;ak>=aj;ak--){let al=ad-a6+ak,am=a8[al+a6-aj+0x1]-a8[al];if(Math[cb(0x2b0)](am)<1e-10)continue;let an=(a9-a8[al])/am,ao=af[ak],ap=af[ak-0x1];if(aa){let aq=ag[ak-0x1]*(0x1-an),ar=ag[ak]*an,as=aq+ar;if(Math['abs'](as)<1e-10)continue;ao['x']=(ap['x']*aq+ao['x']*ar)/as,ao['y']=(ap['y']*aq+ao['y']*ar)/as,ao['z']=(ap['z']*aq+ao['z']*ar)/as,ag[ak]=as;}else ao['x']=(0x1-an)*ap['x']+an*ao['x'],ao['y']=(0x1-an)*ap['y']+an*ao['y'],ao['z']=(0x1-an)*ap['z']+an*ao['z'];}return(ab=af[a6])==null?{'x':0x0,'y':0x0,'z':0x0}:ab;}function Ue(a6){const cc=b5;if(a6['length']<0x2)return a6['map'](a9=>({'x':a9['x'],'y':a9['y']}));let a7=[],a8=a6['length'];for(let a9=0x0;a9<a8-0x1;a9++){let aa=a6[Math['max'](0x0,a9-0x1)],ab=a6[a9],ac=a6[Math['min'](a8-0x1,a9+0x1)],ad=a6[Math[cc(0x228)](a8-0x1,a9+0x2)];for(let af=0x0;af<=(a9===a8-0x2?0xa:0x9);af++){let ag=af/0xa,ah=ag*ag,ai=ah*ag,aj=0.5*(0x2*ab['x']+(-aa['x']+ac['x'])*ag+(0x2*aa['x']-0x5*ab['x']+0x4*ac['x']-ad['x'])*ah+(-aa['x']+0x3*ab['x']-0x3*ac['x']+ad['x'])*ai),ak=0.5*(0x2*ab['y']+(-aa['y']+ac['y'])*ag+(0x2*aa['y']-0x5*ab['y']+0x4*ac['y']-ad['y'])*ah+(-aa['y']+0x3*ab['y']-0x3*ac['y']+ad['y'])*ai);a7['push']({'x':aj,'y':ak});}}return a7;}function We(a6,a7){const cd=b5;if(a6['degree']===0x1)return a6['controlPoints']['map'](af=>({'x':af['x'],'y':af['y']}));if(a6['controlPoints']['length']===0x0&&a6['fitPoints']['length']>=0x2)return Ue(a6['fitPoints']);if(a6[cd(0x1fc)]['length']<a6['degree']+0x1||a6['knots']['length']<a6['controlPoints']['length']+a6['degree']+0x1)return[];let a8=[],a9=a6['knots'][a6['degree']],aa=a6['knots'][a6['knots'][cd(0x315)]-a6['degree']-0x1];if(aa<=a9)return[];let ab=Math['max'](a6['controlPoints']['length']*0xa,Math['ceil']((aa-a9)/a7)),ac=Math['min'](ab,0x1388),ad=a6['weights'][cd(0x315)]>0x0?a6[cd(0x210)]:void 0x0;for(let af=0x0;af<=ac;af++){let ag=a9+(aa-a9)*(af/ac),ah=He(a6['degree'],a6['controlPoints'],a6['knots'],ag,ad);a8['push']({'x':ah['x'],'y':ah['y']});}return a8;}function Ge(a6,a7,a8){let a9=We(a7,a8);if(!(a9['length']<0x2)){a6['beginPath'](),a6['moveTo'](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9['length'];aa++)a6['lineTo'](a9[aa]['x'],a9[aa]['y']);a7['flags']&0x1&&a6['closePath'](),a6['stroke']();}}var Ke={'standard':'Arial,\x20sans-serif','arial':'Arial,\x20sans-serif','arial.ttf':'Arial,\x20sans-serif','romans.shx':'\x22Courier\x20New\x22,\x20monospace','simplex.shx':'\x22Courier\x20New\x22,\x20monospace','txt.shx':'monospace','monotxt.shx':b5(0x29a),'isocp.shx':'\x22Courier\x20New\x22,\x20monospace','isocpeur.shx':'\x22Courier\x20New\x22,\x20monospace','times.ttf':'\x22Times\x20New\x20Roman\x22,\x20serif','timesnr.ttf':'\x22Times\x20New\x20Roman\x22,\x20serif','gothic.ttf':'\x22Century\x20Gothic\x22,\x20sans-serif'};function qe(a6){return Ke[a6['toLowerCase']()['trim']()]||'sans-serif';}function Je(a6,a7,a8){const cf=b5;if(!a7['text']||a7['height']<a8*0x4)return;let a9=a7['hAlign']!==0x0||a7[cf(0x292)]!==0x0,aa=a9&&a7[cf(0x25c)]?a7[cf(0x25c)]['x']:a7['insertionPoint']['x'],ab=a9&&a7['alignmentPoint']?a7['alignmentPoint']['y']:a7[cf(0x259)]['y'];if(a6['save'](),a6['translate'](aa,ab),a6['scale'](0x1,-0x1),a7['rotation']&&a6['rotate'](-a7['rotation']*Math['PI']/0xb4),a7['widthFactor']!==0x1&&a6['scale'](a7['widthFactor'],0x1),a7['obliqueAngle']){let ag=Math['tan'](a7['obliqueAngle']*Math['PI']/0xb4);a6['transform'](0x1,0x0,ag,0x1,0x0,0x0);}let ac=(a7['generationFlags']&0x2)!=0x0,ad=(a7['generationFlags']&0x4)!=0x0;ac&&a6['scale'](-0x1,0x1),ad&&a6['scale'](0x1,-0x1);let af=qe(a7['style']||cf(0x2aa));switch(a6['font']=a7['height']+cf(0x2dd)+af,a7['hAlign']){case 0x0:a6['textAlign']='left';break;case 0x1:a6['textAlign']=cf(0x26e);break;case 0x2:a6[cf(0x2a5)]='right';break;case 0x3:a6[cf(0x2a5)]='left';break;case 0x4:a6['textAlign']=cf(0x26e);break;case 0x5:a6['textAlign']='left';break;default:a6['textAlign']='left';}switch(a7['vAlign']){case 0x0:a6['textBaseline']=cf(0x31d);break;case 0x1:a6[cf(0x27b)]=cf(0x2c3);break;case 0x2:a6['textBaseline']='middle';break;case 0x3:a6['textBaseline']='top';break;default:a6['textBaseline']='alphabetic';}a6[cf(0x23e)](a7['text'],0x0,0x0),a6[cf(0x29f)]();}function Ye(a6){return a6['replace'](/\\P/g,'\x0a')['replace'](/\\[fFHWQTCAaLlOoKk][^;]*;/g,'')['replace'](/\\\\/g,'\x5c')['replace'](/\\~/g,'\u00a0')['replace'](/\{/g,'')['replace'](/\}/g,'')['replace'](/\\S[^;]*;/g,'')['trim']();}function Xe(a6,a7,a8){const cg=b5;var a9;if(!a7['text']||a7['height']<a8*0x4)return;a6['save'](),a6[cg(0x233)](a7['insertionPoint']['x'],a7['insertionPoint']['y']),a6['scale'](0x1,-0x1);let aa=a7['textDirection']?Math['atan2'](a7['textDirection']['y'],a7['textDirection']['x']):(a7['rotation']||0x0)*Math['PI']/0xb4;aa&&a6['rotate'](-aa);let ab=Ye(a7['text'])['split']('\x0a'),ac=a7['height']*(a7['lineSpacingFactor']||1.4),ad=qe(a7['style']||'Standard');a6['font']=a7['height']+'px\x20'+ad;let af=(a7['attachmentPoint']-0x1)%0x3,ag=Math[cg(0x31f)]((a7[cg(0x25f)]-0x1)/0x3);a6['textAlign']=(a9=['left','center','right'][af])==null?'left':a9;let ah=0x0,ai=ab['length']*ac;switch(ag){case 0x0:ah=a7['height'];break;case 0x1:ah=a7['height']-ai/0x2;break;case 0x2:ah=a7['height']-ai;break;}for(let aj=0x0;aj<ab['length'];aj++)a6[cg(0x23e)](ab[aj],0x0,ah+aj*ac);a6['restore']();}var Ze=0x64;function Qe(a6,a7,a8,a9=0x0){const ch=b5;if(a9>Ze)return null;if(a8['has'](a6))return a8['get'](a6);let aa=a7['blocks'][ch(0x2eb)](a6);if(!aa)return a8[ch(0x201)](a6,null),null;a8['set'](a6,null);let ab=Infinity,ac=Infinity,ad=-Infinity,af=-Infinity,ag=!0x1;for(let ai of aa['entities']){let aj;aj=ai['type']==='INSERT'?U(ai,a7,a8,a9+0x1):G(ai),aj&&(ag=!0x0,ab=Math['min'](ab,aj['minX']),ac=Math['min'](ac,aj['minY']),ad=Math['max'](ad,aj['maxX']),af=Math[ch(0x28c)](af,aj['maxY']));}let ah=ag?{'minX':ab,'minY':ac,'maxX':ad,'maxY':af}:null;return a8['set'](a6,ah),ah;}function U(a6,a7,a8,a9=0x0){const ci=b5;let aa=Qe(a6['blockName'],a7,a8,a9);if(!aa)return null;let ab=a7['blocks']['get'](a6['blockName']);if(!ab)return null;let ac=ab['basePoint']['x'],ad=ab['basePoint']['y'],af=aa['minX']-ac,ag=aa['minY']-ad,ah=aa['maxX']-ac,ai=aa[ci(0x323)]-ad,aj=a6['scaleX'],ak=a6[ci(0x1fb)],al=af*aj,am=ah*aj,an=ag*ak,ao=ai*ak;if(al>am){let aC=al;al=am,am=aC;}if(an>ao){let aD=an;an=ao,ao=aD;}let ap=(a6['rotation']||0x0)*Math['PI']/0xb4;if(Math['abs'](ap)<1e-10){let aE=a6['insertionPoint']['x'],aF=a6['insertionPoint']['y'],aG=al+aE,aH=an+aF,aI=am+aE,aJ=ao+aF,aK=Math['max'](0x1,a6['columnCount']),aL=Math['max'](0x1,a6['rowCount']);if(aK>0x1||aL>0x1){let aM=(aK-0x1)*a6['columnSpacing'],aN=(aL-0x1)*a6['rowSpacing'];aG=Math['min'](aG,aG+aM),aI=Math['max'](aI,aI+aM),aH=Math['min'](aH,aH+aN),aJ=Math['max'](aJ,aJ+aN);}return{'minX':aG,'minY':aH,'maxX':aI,'maxY':aJ};}let aq=Math['cos'](ap),ar=Math['sin'](ap),as=[{'x':al,'y':an},{'x':am,'y':an},{'x':am,'y':ao},{'x':al,'y':ao}],au=a6['insertionPoint']['x'],av=a6['insertionPoint']['y'],aw=Infinity,ax=Infinity,ay=-Infinity,az=-Infinity;for(let aO of as){let aP=aO['x']*aq-aO['y']*ar+au,aQ=aO['x']*ar+aO['y']*aq+av;aw=Math['min'](aw,aP),ax=Math['min'](ax,aQ),ay=Math['max'](ay,aP),az=Math['max'](az,aQ);}let aA=Math['max'](0x1,a6['columnCount']),aB=Math['max'](0x1,a6['rowCount']);if(aA>0x1||aB>0x1){let aR=(aA-0x1)*a6['columnSpacing'],aS=(aB-0x1)*a6['rowSpacing'],aT=[{'x':0x0,'y':0x0},{'x':aR,'y':0x0},{'x':aR,'y':aS},{'x':0x0,'y':aS}];for(let aU of aT){let aV=aU['x']*aq-aU['y']*ar,aW=aU['x']*ar+aU['y']*aq;aw=Math[ci(0x228)](aw,aw+aV),ax=Math['min'](ax,ax+aW),ay=Math['max'](ay,ay+aV),az=Math['max'](az,az+aW);}}return{'minX':aw,'minY':ax,'maxX':ay,'maxY':az};}function $e(a6,a7){let a8=Infinity,a9=Infinity,aa=-Infinity,ab=-Infinity,ac=!0x1,ad=a7?new Map():void 0x0;for(let af of a6){let ag=a7&&ad?et(af,a7,ad):G(af);ag&&(ac=!0x0,a8=Math['min'](a8,ag['minX']),a9=Math['min'](a9,ag['minY']),aa=Math['max'](aa,ag['maxX']),ab=Math['max'](ab,ag['maxY']));}return ac?{'minX':a8,'minY':a9,'maxX':aa,'maxY':ab}:null;}function et(a6,a7,a8){const cj=b5;return a6['type']===cj(0x1f8)?U(a6,a7,a8):G(a6);}var W=null;function tt(a6){let a7=new Map();for(let [a8,a9]of a6['blocks']){let aa=Array(a9['entities']['length']);for(let ab=0x0;ab<a9['entities']['length'];ab++)aa[ab]=G(a9['entities'][ab]);a7['set'](a8,aa);}return a7;}function nt(a6){W=a6;}function rt(){W=null;}function it(a6,a7){const ck=b5;if(!W)return;let a8=W['get'](a6);if(!(!a8||a7>=a8[ck(0x315)]))return a8[a7];}function G(a6){const cl=b5;switch(a6['type']){case'LINE':return{'minX':Math[cl(0x228)](a6['start']['x'],a6[cl(0x307)]['x']),'minY':Math['min'](a6['start']['y'],a6['end']['y']),'maxX':Math['max'](a6[cl(0x287)]['x'],a6[cl(0x307)]['x']),'maxY':Math['max'](a6['start']['y'],a6['end']['y'])};case'CIRCLE':return{'minX':a6[cl(0x26e)]['x']-a6['radius'],'minY':a6['center']['y']-a6[cl(0x2cd)],'maxX':a6['center']['x']+a6['radius'],'maxY':a6['center']['y']+a6[cl(0x2cd)]};case'ARC':return{'minX':a6['center']['x']-a6['radius'],'minY':a6['center']['y']-a6['radius'],'maxX':a6['center']['x']+a6['radius'],'maxY':a6['center']['y']+a6['radius']};case'LWPOLYLINE':case'POLYLINE':{if(a6['vertices'][cl(0x315)]===0x0)return null;let ao=Infinity,ap=Infinity,aq=-Infinity,ar=-Infinity;for(let as of a6[cl(0x1f7)])ao=Math['min'](ao,as['x']),ap=Math[cl(0x228)](ap,as['y']),aq=Math[cl(0x28c)](aq,as['x']),ar=Math['max'](ar,as['y']);return{'minX':ao,'minY':ap,'maxX':aq,'maxY':ar};}case'ELLIPSE':{let au=Math[cl(0x268)](Math['pow'](a6['majorAxis']['x'],0x2)+Math['pow'](a6['majorAxis']['y'],0x2));return{'minX':a6['center']['x']-au,'minY':a6['center']['y']-au,'maxX':a6['center']['x']+au,'maxY':a6['center']['y']+au};}case'TEXT':return{'minX':a6[cl(0x259)]['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x']+a6['height']*a6['text']['length']*0.6,'maxY':a6['insertionPoint']['y']+a6[cl(0x23a)]};case'MTEXT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y']-a6[cl(0x23a)],'maxX':a6[cl(0x259)]['x']+(a6['width']||a6['height']*0xa),'maxY':a6['insertionPoint']['y']+a6['height']};case'SPLINE':{if(a6['controlPoints']['length']===0x0)return null;let av=Infinity,aw=Infinity,ax=-Infinity,ay=-Infinity;for(let az of a6[cl(0x1fc)])av=Math[cl(0x228)](av,az['x']),aw=Math['min'](aw,az['y']),ax=Math[cl(0x28c)](ax,az['x']),ay=Math['max'](ay,az['y']);return{'minX':av,'minY':aw,'maxX':ax,'maxY':ay};}case cl(0x2d8):return{'minX':a6['position']['x'],'minY':a6[cl(0x2cb)]['y'],'maxX':a6['position']['x'],'maxY':a6['position']['y']};case'INSERT':return{'minX':a6[cl(0x259)]['x'],'minY':a6['insertionPoint']['y'],'maxX':a6[cl(0x259)]['x'],'maxY':a6['insertionPoint']['y']};case'DIMENSION':if(a6['defPoint']){var a7,a8,a9,aa,ab,ac,ad,af,ag,ah,ai,aj,ak,al,am,an;return{'minX':Math['min'](a6['defPoint']['x'],(a7=(a8=a6['defPoint2'])==null?void 0x0:a8['x'])==null?a6['defPoint']['x']:a7,(a9=(aa=a6['defPoint3'])==null?void 0x0:aa['x'])==null?a6['defPoint']['x']:a9),'minY':Math['min'](a6['defPoint']['y'],(ab=(ac=a6['defPoint2'])==null?void 0x0:ac['y'])==null?a6['defPoint']['y']:ab,(ad=(af=a6['defPoint3'])==null?void 0x0:af['y'])==null?a6['defPoint']['y']:ad),'maxX':Math[cl(0x28c)](a6['defPoint']['x'],(ag=(ah=a6['defPoint2'])==null?void 0x0:ah['x'])==null?a6[cl(0x2ba)]['x']:ag,(ai=(aj=a6['defPoint3'])==null?void 0x0:aj['x'])==null?a6['defPoint']['x']:ai),'maxY':Math['max'](a6['defPoint']['y'],(ak=(al=a6['defPoint2'])==null?void 0x0:al['y'])==null?a6[cl(0x2ba)]['y']:ak,(am=(an=a6['defPoint3'])==null?void 0x0:an['y'])==null?a6['defPoint']['y']:am)};}return null;case cl(0x22b):{let aA=Infinity,aB=Infinity,aC=-Infinity,aD=-Infinity,aE=!0x1;for(let aF of a6[cl(0x284)])if(aF['vertices']){for(let aG of aF['vertices'])aE=!0x0,aA=Math['min'](aA,aG['x']),aB=Math['min'](aB,aG['y']),aC=Math['max'](aC,aG['x']),aD=Math['max'](aD,aG['y']);}return aE?{'minX':aA,'minY':aB,'maxX':aC,'maxY':aD}:null;}default:return null;}}var at=new Set(['LINE','ARC','CIRCLE','LWPOLYLINE','POLYLINE','ELLIPSE','SPLINE']);function ot(a6){return at['has'](a6);}function st(a6,a7){const cm=b5;a6['moveTo'](a7['start']['x'],a7['start']['y']),a6['lineTo'](a7['end']['x'],a7[cm(0x307)]['y']);}function ct(a6,a7){const cn=b5;if(a7['radius']<=0x0)return;let a8=a7['startAngle']*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6[cn(0x264)](a7[cn(0x26e)]['x']+a7['radius']*Math['cos'](a8),a7['center']['y']+a7['radius']*Math['sin'](a8)),a6['arc'](a7['center']['x'],a7[cn(0x26e)]['y'],a7['radius'],a8,a9,!0x1);}function lt(a6,a7){const co=b5;a7['radius']<=0x0||(a6['moveTo'](a7[co(0x26e)]['x']+a7['radius'],a7['center']['y']),a6['arc'](a7['center']['x'],a7[co(0x26e)]['y'],a7['radius'],0x0,Math['PI']*0x2));}function ut(a6,a7){const cp=b5;let a8=a7[cp(0x1f7)];if(a8['length']<0x2)return;a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8['length']-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8['length']];Math['abs'](ab['bulge'])<1e-10?a6['lineTo'](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab['bulge']);}}function dt(a6,a7){let a8=a7['vertices'];if(a8['length']<0x2)return;a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8['length']-0x1;for(let ab=0x0;ab<a9;ab++){var aa;let ac=a8[ab],ad=a8[(ab+0x1)%a8['length']],af=(aa=ac['bulge'])==null?0x0:aa;Math['abs'](af)<1e-10?a6['lineTo'](ad['x'],ad['y']):H(a6,ac['x'],ac['y'],ad['x'],ad['y'],af);}}function ft(a6,a7){const cq=b5;let a8=Math['sqrt'](Math['pow'](a7['majorAxis']['x'],0x2)+Math['pow'](a7[cq(0x24d)]['y'],0x2)+Math['pow'](a7[cq(0x24d)]['z'],0x2));if(a8<1e-10||a7['minorRatio']<=0x0)return;let a9=a8*a7['minorRatio'],aa=Math['atan2'](a7['majorAxis']['y'],a7['majorAxis']['x']),ab=Math[cq(0x24f)](aa),ac=Math[cq(0x2fb)](aa),ad=Math['cos'](a7['startParam']),af=Math['sin'](a7['startParam']);a6['moveTo'](a7['center']['x']+a8*ab*ad-a9*ac*af,a7['center']['y']+a8*ac*ad+a9*ab*af),a6['ellipse'](a7['center']['x'],a7['center']['y'],a8,a9,aa,a7['startParam'],a7[cq(0x281)],!0x1);}function pt(a6,a7,a8){let a9=We(a7,a8);if(!(a9['length']<0x2)){a6['moveTo'](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9['length'];aa++)a6['lineTo'](a9[aa]['x'],a9[aa]['y']);a7['flags']&0x1&&a6['closePath']();}}function mt(a6,a7,a8){switch(a7['type']){case'LINE':st(a6,a7);break;case'ARC':ct(a6,a7);break;case'CIRCLE':lt(a6,a7);break;case'LWPOLYLINE':ut(a6,a7);break;case'POLYLINE':dt(a6,a7);break;case'ELLIPSE':ft(a6,a7);break;case'SPLINE':pt(a6,a7,a8);break;}}var ht=0x64,gt=0.5;function _t(a6,a7,a8,a9,aa,ab,ac=0x0,ad){const cr=b5;if(ac>ht)return;let af=a8[cr(0x2b8)][cr(0x2eb)](a7['blockName']);if(!af)return;let ag=Math['max'](0x1,a7['columnCount']),ah=Math['max'](0x1,a7['rowCount']);for(let aj=0x0;aj<ah;aj++)for(let ak=0x0;ak<ag;ak++){a6['save']();let al=a7[cr(0x259)]['x']+ak*a7['columnSpacing'],am=a7['insertionPoint']['y']+aj*a7['rowSpacing'];a6[cr(0x233)](al,am),a7['rotation']&&a6[cr(0x2ce)](a7['rotation']*Math['PI']/0xb4),a6['scale'](a7['scaleX'],a7['scaleY']),a6['translate'](-af[cr(0x212)]['x'],-af['basePoint']['y']);let an=ab/(Math[cr(0x28c)](Math['abs'](a7['scaleX']),Math['abs'](a7[cr(0x1fb)]))||0x1),ao=null,ap=af['entities'];for(let aq=0x0;aq<ap['length'];aq++){let ar=ap[aq];if(ar['type']!=='INSERT'){let au=it(a7['blockName'],aq),av=au===void 0x0?G(ar):au;if(av){let aw=Math[cr(0x28c)](av['maxX']-av['minX'],av[cr(0x323)]-av['minY']);if(aw>0x0&&aw/an<gt)continue;}}let as=V(ar,a8['layers'],aa);if(ar['type']!=='INSERT'&&ot(ar['type'])){if(as!==ao&&(ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++),ao=as,a6[cr(0x303)](),a6['strokeStyle']=as,a6['lineWidth']=an),mt(a6,ar,an),ad){var ai;ad[cr(0x203)][ar['type']]=((ai=ad['byType'][ar[cr(0x200)]])==null?0x0:ai)+0x1;}}else ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++,ao=null),a6['strokeStyle']=as,a6['fillStyle']=as,a6[cr(0x2ee)]=an,ar['type']==='INSERT'?_t(a6,ar,a8,a9,aa,an,ac+0x1,ad):K(a6,ar,a8,a9,aa,an,ad);}ao!==null&&(a6['stroke'](),ad&&ad[cr(0x306)]++),a6['restore']();}}function vt(a6,a7,a8,a9,aa,ab,ac){const cs=b5;if(a7['blockName']){let ad=a8['blocks']['get'](a7['blockName']);if(ad){for(let af of ad['entities']){let ag=V(af,a8['layers'],aa);a6[cs(0x238)]=ag,a6['fillStyle']=ag,a6['lineWidth']=ab,K(a6,af,a8,a9,aa,ab,ac);}return;}}a7['defPoint2']&&a7['defPoint3']&&(a6[cs(0x303)](),a6['moveTo'](a7['defPoint2']['x'],a7['defPoint2']['y']),a6['lineTo'](a7['defPoint']['x'],a7['defPoint']['y']),a6['stroke'](),a6['beginPath'](),a6['moveTo'](a7['defPoint3']['x'],a7[cs(0x26a)]['y']),a6['lineTo'](a7[cs(0x2ba)]['x'],a7['defPoint']['y']),a6['stroke']());}function yt(a6,a7){const cu=b5;if(a7['boundaryPaths']['length']!==0x0){a6['beginPath']();for(let aa of a7[cu(0x284)])if(aa['type']==='polyline'&&aa[cu(0x1f7)]&&aa['vertices']['length']>0x0){let ab=aa['vertices'][0x0];a6['moveTo'](ab['x'],ab['y']);for(let ac=0x1;ac<aa['vertices']['length'];ac++){var a8,a9;let ad=aa[cu(0x1f7)][ac-0x1],af=aa[cu(0x1f7)][ac],ag=(a8=(a9=aa['bulges'])==null?void 0x0:a9[ac-0x1])==null?0x0:a8;Math['abs'](ag)<1e-10?a6['lineTo'](af['x'],af['y']):H(a6,ad['x'],ad['y'],af['x'],af['y'],ag);}aa['isClosed']&&a6['closePath']();}else{if(aa['type']===cu(0x2fe)&&aa[cu(0x2fe)])for(let ah=0x0;ah<aa['edges']['length'];ah++){let ai=aa['edges'][ah];if(ai['type']==='line')ah===0x0&&a6['moveTo'](ai[cu(0x287)]['x'],ai[cu(0x287)]['y']),a6['lineTo'](ai['end']['x'],ai['end']['y']);else{if(ai['type']===cu(0x236)){if(ah===0x0){let aj=ai['center']['x']+ai[cu(0x2cd)]*Math[cu(0x24f)](ai['startAngle']*Math['PI']/0xb4),ak=ai['center']['y']+ai['radius']*Math['sin'](ai['startAngle']*Math['PI']/0xb4);a6['moveTo'](aj,ak);}a6[cu(0x236)](ai['center']['x'],ai['center']['y'],ai['radius'],ai[cu(0x271)]*Math['PI']/0xb4,ai['endAngle']*Math['PI']/0xb4,!ai['ccw']);}}}}a7['solidFill']&&(a6['globalAlpha']=0.3,a6[cu(0x26b)]('evenodd'),a6['globalAlpha']=0x1),a6['stroke']();}}function bt(a6,a7,a8){const cv=b5;let a9=a8*0x3;a6[cv(0x303)](),a6['arc'](a7[cv(0x2cb)]['x'],a7['position']['y'],a9,0x0,Math['PI']*0x2),a6[cv(0x26b)]();}function K(a6,a7,a8,a9,aa,ab,ac){const cw=b5;if(ac){var ad;ac['drawCalls']++,ac['byType'][a7['type']]=((ad=ac['byType'][a7['type']])==null?0x0:ad)+0x1;}switch(a7['type']){case'LINE':Fe(a6,a7);break;case'CIRCLE':Ie(a6,a7);break;case cw(0x227):Le(a6,a7);break;case'LWPOLYLINE':ze(a6,a7);break;case cw(0x256):Be(a6,a7);break;case cw(0x2c7):Ve(a6,a7);break;case'SPLINE':Ge(a6,a7,ab);break;case'TEXT':Je(a6,a7,ab);break;case'MTEXT':Xe(a6,a7,ab);break;case'INSERT':_t(a6,a7,a8,a9,aa,ab,0x0,ac);break;case'DIMENSION':vt(a6,a7,a8,a9,aa,ab,ac);break;case'HATCH':yt(a6,a7);break;case'POINT':bt(a6,a7,ab);break;}}var xt=0.5,St=class{constructor(a6){const cx=b5;t(this,cx(0x26c),void 0x0),t(this,'width',0x0),t(this,cx(0x23a),0x0),this['canvas']=a6;let a7=a6['getContext']('2d',{'alpha':!0x1});if(!a7)throw Error('Failed\x20to\x20get\x202D\x20rendering\x20context.\x20The\x20canvas\x20may\x20already\x20have\x20a\x20different\x20context\x20type,\x20or\x20canvas\x20rendering\x20is\x20not\x20available\x20in\x20this\x20environment.');this['ctx']=a7,this['updateSize']();}['getContext'](){return this['ctx'];}['getWidth'](){return this['width'];}['getHeight'](){return this['height'];}['updateSize'](){const cy=b5;let a6=window['devicePixelRatio']||0x1,a7=this['canvas'][cy(0x308)]();this['width']=a7['width'],this['height']=a7['height'],this['canvas']['width']=a7['width']*a6,this['canvas']['height']=a7[cy(0x23a)]*a6;}['render'](a6,a7,a8,a9,aa,ab,ac){const cz=b5;let ad=this['ctx'],af=window['devicePixelRatio']||0x1,ag={'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}};ad['setTransform'](af,0x0,0x0,af,0x0,0x0),ad['fillStyle']=I[a8][cz(0x21e)],ad['fillRect'](0x0,0x0,this['width'],this[cz(0x23a)]),z(ad,a7);let ah=0x1/a7['scale'];ad[cz(0x2df)]=cz(0x1f0),ad[cz(0x26f)]='round';let ai=null;for(let ak=0x0;ak<a6['entities']['length'];ak++){let al=a6['entities'][ak];if(!al['visible']){ag['entitiesSkipped']++;continue;}if(!a9['has'](al['layer'])){ag['entitiesSkipped']++;continue;}if(ab&&!ab['has'](ak)){ag['entitiesSkipped']++;continue;}if(ac){let an=ac[ak];if(an){let ao=(an['maxX']-an[cz(0x2ef)])*a7['scale'],ap=(an['maxY']-an['minY'])*a7['scale'];if(Math['max'](ao,ap)<xt){ag['entitiesSkipped']++;continue;}}}let am=V(al,a6[cz(0x2f1)],a8);if(ot(al['type'])){var aj;am!==ai&&(ai!==null&&(ad['stroke'](),ag['drawCalls']++),ai=am,ad['beginPath'](),ad['strokeStyle']=am,ad['lineWidth']=ah),mt(ad,al,ah),ag[cz(0x2ca)]++,ag['byType'][al['type']]=((aj=ag[cz(0x203)][al['type']])==null?0x0:aj)+0x1;}else ai!==null&&(ad['stroke'](),ag['drawCalls']++,ai=null),ad[cz(0x238)]=am,ad['fillStyle']=am,ad['lineWidth']=ah,ag[cz(0x2ca)]++,K(ad,al,a6,a7,a8,ah,ag);}if(ai!==null&&(ad['stroke'](),ag['drawCalls']++),aa>=0x0&&aa<a6['entities']['length']){let aq=a6['entities'][aa];z(ad,a7),ad['strokeStyle']=I[a8]['selectionColor'],ad[cz(0x21c)]=I[a8][cz(0x276)],ad['lineWidth']=ah*0x3,K(ad,aq,a6,a7,a8,ah);}return ag;}['renderEmpty'](a6){const cA=b5;let a7=this['ctx'],a8=window['devicePixelRatio']||0x1;a7['setTransform'](a8,0x0,0x0,a8,0x0,0x0),a7['fillStyle']=I[a6][cA(0x21e)],a7['fillRect'](0x0,0x0,this['width'],this['height']);}['destroy'](){}},Ct={'showFps':!0x0,'showRenderStats':!0x0,'showDocumentInfo':!0x0,'showTimings':!0x0,'showCamera':!0x0,'position':'top-left'};function q(a6){return a3(a3({},Ct),a6);}function wt(a6){const cB=b5;return a6===0x0?'0\x20B':a6<0x400?a6+'\x20B':a6<0x400*0x400?(a6/0x400)['toFixed'](0x1)+cB(0x267):(a6/(0x400*0x400))['toFixed'](0x1)+'\x20MB';}function Tt(a6){return a6>=0x1?a6['toFixed'](0x2)+'x':'1:'+(0x1/a6)['toFixed'](0x1);}var Et=b5(0x20a),Dt=0xf,Ot=0x8,J=0x8,Y=0xa;function kt(a6,a7,a8,a9,aa,ab){const cC=b5;a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ac=[];if(a9['showFps']&&ac['push'](['FPS:\x20'+a7['fps']+cC(0x1f6)+a7['frameTime']['toFixed'](0x1)+'ms']),a9['showRenderStats']){let am=a7['renderStats']['entitiesDrawn']+a7['renderStats']['entitiesSkipped'],an=['Drawn:\x20'+a7[cC(0x2cf)]['entitiesDrawn']+'\x20/\x20'+am+'\x20\x20Calls:\x20'+a7['renderStats']['drawCalls']],ao=Object[cC(0x220)](a7['renderStats']['byType'])[cC(0x2a4)](([,ap],[,aq])=>aq-ap)['slice'](0x0,0x6)['map'](([ap,aq])=>ap+':\x20'+aq)['join']('\x20\x20');ao&&an['push'](ao),ac['push'](an);}if(a9['showDocumentInfo']){let ap=['Layers:\x20'+a7['visibleLayerCount']+'\x20/\x20'+a7['layerCount']+cC(0x24c)+a7['blockCount']];a7['dxfVersion']&&ap['push']('DXF:\x20'+a7['dxfVersion']),a7[cC(0x258)]&&ap[cC(0x26d)](cC(0x254)+a7[cC(0x258)]),a7['fileSize']>0x0&&ap['push']('Size:\x20'+wt(a7[cC(0x28d)])),ac['push'](ap);}if(a9['showTimings']){let aq=[];a7['parseTime']>0x0&&aq['push']('Parse:\x20'+a7['parseTime']['toFixed'](0x0)+'ms'),a7['spatialIndexBuildTime']>0x0&&aq[cC(0x26d)]('Index:\x20'+a7['spatialIndexBuildTime'][cC(0x2ed)](0x0)+'ms'),a7['totalLoadTime']>0x0&&aq['push']('Load:\x20'+a7['totalLoadTime']['toFixed'](0x0)+'ms'),aq['length']>0x0&&ac['push']([aq['join']('\x20\x20')]);}if(a9['showCamera']){let ar=a7['viewportBounds'];ac['push'](['Zoom:\x20'+Tt(a7['zoom'])+'\x20\x20Pixel:\x20'+a7['pixelSize']['toFixed'](0x2),'View:\x20['+ar['minX'][cC(0x2ed)](0x0)+',\x20'+ar['minY']['toFixed'](0x0)+']\x20→\x20['+ar['maxX']['toFixed'](0x0)+',\x20'+ar['maxY']['toFixed'](0x0)+']']);}if(ac['length']===0x0)return;a6[cC(0x2be)]=Et;let ad=[];for(let as=0x0;as<ac['length'];as++){as>0x0&&ad['push']({'text':'','isSeparator':!0x0});for(let au of ac[as])ad['push']({'text':au,'isSeparator':!0x1});}let af=0x0;for(let av of ad)if(!av[cC(0x299)]){let aw=a6[cC(0x28b)](av['text'])['width'];aw>af&&(af=aw);}let ag=af+J*0x2,ah=J*0x2;for(let ax of ad)ah+=ax['isSeparator']?Ot:Dt;let ai,aj;switch(a9['position']){case'top-left':ai=Y,aj=Y;break;case'top-right':ai=aa-ag-Y,aj=Y;break;case'bottom-left':ai=Y,aj=ab-ah-Y;break;case'bottom-right':ai=aa-ag-Y,aj=ab-ah-Y;break;}let ak=I[a8];a6['fillStyle']=a8==='dark'?'rgba(0,\x200,\x200,\x200.75)':'rgba(255,\x20255,\x20255,\x200.85)',a6['fillRect'](ai,aj,ag,ah),a6['strokeStyle']=a8==='dark'?cC(0x2ac):cC(0x27d),a6['lineWidth']=0x1,a6[cC(0x28a)](ai+0.5,aj+0.5,ag-0x1,ah-0x1),a6['fillStyle']=a8==='dark'?ak['defaultEntityColor']:'rgba(0,\x200,\x200,\x200.85)',a6['textAlign']='left',a6['textBaseline']='top';let al=aj+J;for(let ay of ad)ay['isSeparator']?al+=Ot:(a6['fillText'](ay['text'],ai+J,al),al+=Dt);}var At=class{constructor(){const cD=b5;t(this,cD(0x2f1),new Map()),t(this,cD(0x2bd),new Map()),t(this,'colorOverrides',new Map()),t(this,'visibleCache',null);}['setLayers'](a6){const cE=b5;this['layers']=new Map(a6),this['visibility']['clear'](),this['colorOverrides'][cE(0x24b)](),this['visibleCache']=null;for(let [a7,a8]of this['layers'])this['visibility']['set'](a7,!a8['isOff']&&!a8['isFrozen']);}['getAllLayers'](){const cF=b5;return Array['from'](this[cF(0x2f1)]['values']());}['setVisible'](a6,a7){this['visibility']['set'](a6,a7),this['visibleCache']=null;}['isVisible'](a6){const cG=b5;var a7;return(a7=this[cG(0x2bd)]['get'](a6))==null?!0x0:a7;}['setColorOverride'](a6,a7){this['colorOverrides']['set'](a6,a7);}['getColorOverride'](a6){return this['colorOverrides']['get'](a6);}['getVisibleLayerNames'](){const cH=b5;if(this['visibleCache'])return this[cH(0x2a3)];let a6=new Set();for(let [a7,a8]of this['visibility'])a8&&a6['add'](a7);return this['visibleCache']=a6,a6;}['clear'](){const cI=b5;this['layers']['clear'](),this['visibility']['clear'](),this['colorOverrides'][cI(0x24b)](),this['visibleCache']=null;}},jt=class{constructor(){t(this,'listeners',new Map());}['on'](a6,a7){const cJ=b5;this[cJ(0x322)][cJ(0x208)](a6)||this[cJ(0x322)]['set'](a6,new Set()),this['listeners']['get'](a6)['add'](a7);}['off'](a6,a7){var a8;(a8=this['listeners']['get'](a6))==null||a8['delete'](a7);}['emit'](a6,a7){const cK=b5;let a8=this[cK(0x322)]['get'](a6);if(a8){for(let a9 of a8)a9(a7);}}['removeAllListeners'](){this['listeners']['clear']();}},Mt=class{constructor(a6,a7){const cL=b5;t(this,'isPanning',!0x1),t(this,cL(0x255),0x0),t(this,cL(0x2d7),0x0),t(this,cL(0x2e6),new Map()),t(this,'onPointerDown',void 0x0),t(this,cL(0x310),void 0x0),t(this,'onPointerUp',void 0x0),t(this,'onWheel',void 0x0),t(this,'onTouchStart',void 0x0),t(this,cL(0x30a),void 0x0),t(this,'onTouchEnd',void 0x0),t(this,'onContextMenu',void 0x0),this['canvas']=a6,this['viewer']=a7,this['onPointerDown']=this['handlePointerDown']['bind'](this),this['onPointerMove']=this['handlePointerMove']['bind'](this),this['onPointerUp']=this['handlePointerUp']['bind'](this),this['onWheel']=this['handleWheel']['bind'](this),this[cL(0x257)]=this[cL(0x302)][cL(0x262)](this),this['onTouchMove']=this['handleTouchMove']['bind'](this),this['onTouchEnd']=this['handleTouchEnd'][cL(0x262)](this),this['onContextMenu']=a8=>a8[cL(0x2f2)](),a6['addEventListener']('pointerdown',this['onPointerDown']),a6['addEventListener']('pointermove',this['onPointerMove']),a6['addEventListener']('pointerup',this['onPointerUp']),a6[cL(0x247)](cL(0x2c8),this['onWheel'],{'passive':!0x1}),a6['addEventListener']('touchstart',this['onTouchStart'],{'passive':!0x1}),a6['addEventListener'](cL(0x2d0),this['onTouchMove'],{'passive':!0x1}),a6['addEventListener'](cL(0x297),this['onTouchEnd']),a6['addEventListener']('contextmenu',this[cL(0x1fa)]);}['destroy'](){const cM=b5;this['canvas']['removeEventListener']('pointerdown',this['onPointerDown']),this['canvas']['removeEventListener']('pointermove',this['onPointerMove']),this['canvas']['removeEventListener']('pointerup',this['onPointerUp']),this['canvas'][cM(0x274)](cM(0x2c8),this['onWheel']),this['canvas']['removeEventListener']('touchstart',this['onTouchStart']),this[cM(0x2e3)]['removeEventListener'](cM(0x2d0),this['onTouchMove']),this['canvas']['removeEventListener']('touchend',this['onTouchEnd']),this['canvas'][cM(0x274)]('contextmenu',this['onContextMenu']);}['handlePointerDown'](a6){const cN=b5;let a7=this[cN(0x2d2)]['getTool'](),a8=this['canvas'][cN(0x308)](),a9=a6['clientX']-a8['left'],aa=a6['clientY']-a8[cN(0x206)];a6['button']===0x0&&a7==='pan'||a6['button']===0x1?this['startPan'](a6,a9,aa):a6['button']===0x0&&(a7==='select'||a7==='measure')&&this['viewer']['handleClick'](a9,aa);}['startPan'](a6,a7,a8){this['isPanning']=!0x0,this['lastX']=a7,this['lastY']=a8,this['canvas']['setPointerCapture'](a6['pointerId']),this['canvas']['style']['cursor']='grabbing';}['handlePointerMove'](a6){const cO=b5;let a7=this['canvas']['getBoundingClientRect'](),a8=a6['clientX']-a7['left'],a9=a6['clientY']-a7['top'];if(this['isPanning']){let aa=a8-this['lastX'],ab=a9-this['lastY'];this['lastX']=a8,this['lastY']=a9,this[cO(0x2d2)]['handlePan'](aa,ab);}else this['viewer']['handleMouseMove'](a8,a9);}['handlePointerUp'](a6){const cP=b5;this['isPanning']&&(this['isPanning']=!0x1,this['canvas'][cP(0x216)](a6['pointerId']),this['canvas']['style']['cursor']=this['viewer']['getTool']()==='pan'?cP(0x234):'crosshair');}['handleWheel'](a6){const cQ=b5;a6['preventDefault']();let a7=this['canvas']['getBoundingClientRect'](),a8=a6['clientX']-a7['left'],a9=a6['clientY']-a7['top'],aa=-Math['sign'](a6['deltaY']),ab=this[cQ(0x2d2)]['getZoomSpeed'](),ac=aa>0x0?ab:0x1/ab;this[cQ(0x2d2)]['handleZoom'](a8,a9,ac);}['handleTouchStart'](a6){a6['preventDefault']();for(let a7 of Array['from'](a6['changedTouches']))this['touches']['set'](a7['identifier'],{'x':a7['clientX'],'y':a7['clientY']});}['handleTouchMove'](a6){const cR=b5;if(a6['preventDefault'](),this[cR(0x2e6)]['size']===0x2&&a6['touches']['length']===0x2){let a7=a6['touches'][0x0],a8=a6[cR(0x2e6)][0x1],a9=Array['from'](this[cR(0x2e6)][cR(0x2da)]()),aa=Math['hypot'](a9[0x0]['x']-a9[0x1]['x'],a9[0x0]['y']-a9[0x1]['y']),ab=Math['hypot'](a7['clientX']-a8[cR(0x20b)],a7['clientY']-a8[cR(0x2dc)]);if(aa>0x0){let ac=ab/aa,ad=this['canvas']['getBoundingClientRect'](),af=(a9[0x0]['x']+a9[0x1]['x'])/0x2-ad['left'],ag=(a9[0x0]['y']+a9[0x1]['y'])/0x2-ad[cR(0x206)],ah=(a7['clientX']+a8['clientX'])/0x2-ad[cR(0x1ef)],ai=(a7['clientY']+a8['clientY'])/0x2-ad['top'];this['viewer']['handleZoom'](af,ag,ac),this[cR(0x2d2)]['handlePan'](ah-af,ai-ag);}}else{if(this['touches']['size']===0x1&&a6[cR(0x2e6)]['length']===0x1){let aj=a6['touches'][0x0],ak=this[cR(0x2e6)][cR(0x2eb)](aj['identifier']);ak&&this['viewer']['handlePan'](aj['clientX']-ak['x'],aj['clientY']-ak['y']);}}for(let al of Array[cR(0x288)](a6[cR(0x283)]))this['touches']['set'](al['identifier'],{'x':al[cR(0x20b)],'y':al['clientY']});}[b5(0x2bb)](a6){const cS=b5;for(let a7 of Array[cS(0x288)](a6['changedTouches']))this[cS(0x2e6)][cS(0x2e5)](a7['identifier']);}},Nt=0x5,Pt=class{constructor(){t(this,'tree',new l()),t(this,'items',[]),t(this,'entityBBoxes',[]);}[b5(0x30e)](a6,a7){const cT=b5;this[cT(0x244)]=[],this['entityBBoxes']=Array(a6['length'])['fill'](null);let a8=a7?new Map():void 0x0;for(let a9=0x0;a9<a6['length'];a9++){let aa=a6[a9],ab=a7&&a8?et(aa,a7,a8):G(aa);this['entityBBoxes'][a9]=ab,ab&&this['items']['push'](a3(a3({},ab),{},{'entityIndex':a9}));}this['tree'][cT(0x24b)](),this[cT(0x20f)]['load'](this['items']);}['search'](a6,a7,a8,a9){return this['tree']['search']({'minX':a6,'minY':a7,'maxX':a8,'maxY':a9});}['getEntityBBox'](a6){var a7;return(a7=this['entityBBoxes'][a6])==null?null:a7;}['getEntityBBoxes'](){return this['entityBBoxes'];}['clear'](){const cU=b5;this['tree']['clear'](),this[cU(0x244)]=[],this['entityBBoxes']=[];}};function Ft(a6,a7,a8,a9,aa,ab){const cV=b5;let ac=Nt/ab,ad=a9['search'](a6-ac,a7-ac,a6+ac,a7+ac),af=ac,ag=-0x1;for(let ah=ad['length']-0x1;ah>=0x0;ah--){let ai=ad[ah],aj=a8[ai['entityIndex']];if(!aj||!aa[cV(0x208)](aj['layer'])||!aj['visible'])continue;let ak=It(a6,a7,aj);ak<af&&(af=ak,ag=ai['entityIndex']);}return ag;}function It(a6,a7,a8){const cW=b5;switch(a8[cW(0x200)]){case'LINE':return X(a6,a7,a8[cW(0x287)]['x'],a8['start']['y'],a8['end']['x'],a8['end']['y']);case'CIRCLE':return Lt(a6,a7,a8['center']['x'],a8['center']['y'],a8['radius']);case cW(0x227):return Rt(a6,a7,a8['center']['x'],a8[cW(0x26e)]['y'],a8['radius'],a8['startAngle']*Math['PI']/0xb4,a8['endAngle']*Math['PI']/0xb4);case cW(0x309):case cW(0x256):{let a9=Infinity,aa=a8['vertices'],ab=a8[cW(0x2f6)]?aa['length']:aa[cW(0x315)]-0x1;for(let ac=0x0;ac<ab;ac++){let ad=aa[ac],af=aa[(ac+0x1)%aa['length']],ag=X(a6,a7,ad['x'],ad['y'],af['x'],af['y']);a9=Math['min'](a9,ag);}return a9;}case'ELLIPSE':return Bt(a6,a7,a8[cW(0x26e)]['x'],a8[cW(0x26e)]['y'],a8['majorAxis'],a8['minorRatio']);case'TEXT':case cW(0x321):{let ah=G(a8);return ah?zt(a6,a7,ah['minX'],ah['minY'],ah['maxX'],ah['maxY']):Infinity;}case'POINT':return Math['hypot'](a6-a8['position']['x'],a7-a8['position']['y']);case'SPLINE':{let ai=Infinity,aj=a8[cW(0x1fc)];for(let ak=0x0;ak<aj['length']-0x1;ak++){let al=X(a6,a7,aj[ak]['x'],aj[ak]['y'],aj[ak+0x1]['x'],aj[ak+0x1]['y']);ai=Math['min'](ai,al);}return ai;}default:return Infinity;}}function X(a6,a7,a8,a9,aa,ab){const cX=b5;let ac=aa-a8,ad=ab-a9,af=ac*ac+ad*ad;if(af===0x0)return Math[cX(0x2c6)](a6-a8,a7-a9);let ag=((a6-a8)*ac+(a7-a9)*ad)/af;ag=Math['max'](0x0,Math['min'](0x1,ag));let ah=a8+ag*ac,ai=a9+ag*ad;return Math['hypot'](a6-ah,a7-ai);}function Lt(a6,a7,a8,a9,aa){return Math['abs'](Math['hypot'](a6-a8,a7-a9)-aa);}function Rt(a6,a7,a8,a9,aa,ab,ac){const cY=b5;let ad=(Math['atan2'](a7-a9,a6-a8)%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']),af=(ab%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']),ag=(ac%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']);if(af<=ag?ad>=af&&ad<=ag:ad>=af||ad<=ag)return Math[cY(0x2b0)](Math['hypot'](a6-a8,a7-a9)-aa);let ah=Math['hypot'](a6-(a8+aa*Math['cos'](ab)),a7-(a9+aa*Math['sin'](ab))),ai=Math[cY(0x2c6)](a6-(a8+aa*Math['cos'](ac)),a7-(a9+aa*Math['sin'](ac)));return Math['min'](ah,ai);}function zt(a6,a7,a8,a9,aa,ab){const cZ=b5;if(a6>=a8&&a6<=aa&&a7>=a9&&a7<=ab)return 0x0;let ac=Math['max'](a8-a6,0x0,a6-aa),ad=Math['max'](a9-a7,0x0,a7-ab);return Math[cZ(0x2c6)](ac,ad);}function Bt(a6,a7,a8,a9,aa,ab){const d0=b5;let ac=Math['atan2'](aa['y'],aa['x']),ad=Math['cos'](-ac),af=Math['sin'](-ac),ag=(a6-a8)*ad-(a7-a9)*af,ah=(a6-a8)*af+(a7-a9)*ad,ai=Math['sqrt'](Math['pow'](aa['x'],0x2)+Math['pow'](aa['y'],0x2)),aj=ai*ab;if(ai<1e-10)return Math['hypot'](a6-a8,a7-a9);let ak=ai/aj*ah,al=Math[d0(0x2c6)](ag,ak);if(al<1e-10)return ai;let am=ag/al*ai,an=ah/al*aj;return Math['hypot'](ag-am,ah-an);}var Vt=class{constructor(){t(this,'state',{'phase':'idle'}),t(this,'currentSnap',null);}['activate'](){const d1=b5;this[d1(0x295)]={'phase':'first-point'},this['currentSnap']=null;}['deactivate'](){const d2=b5;this['state']={'phase':d2(0x30d)},this[d2(0x29c)]=null;}['handleClick'](a6,a7,a8){const d3=b5;let a9=a8?a8[d3(0x218)]:{'x':a6,'y':a7};switch(this['state']['phase']){case'first-point':return this['state']={'phase':'second-point','firstPoint':a9,'firstSnap':a8==null?void 0x0:a8},null;case'second-point':{let aa=this[d3(0x295)]['firstPoint'],ab=a9,ac=ab['x']-aa['x'],ad=ab['y']-aa['y'],af=Math['sqrt'](ac*ac+ad*ad),ag=Math[d3(0x240)](ad,ac)*0xb4/Math['PI'];return this['state']={'phase':'done','firstPoint':aa,'secondPoint':ab,'distance':af,'angle':ag},{'distance':af,'angle':ag,'deltaX':ac,'deltaY':ad,'points':[aa,ab]};}case'done':return this['state']={'phase':'second-point','firstPoint':a9},null;default:return null;}}['handleMove'](a6){this['currentSnap']=a6;}};function Z(a6,a7,a8,a9,aa,ab=new Set(['endpoint',b5(0x273),'center'])){const d4=b5;let ac=0xa/aa,ad=[],af=a9[d4(0x229)](a6-ac,a7-ac,a6+ac,a7+ac);for(let ag of af){let ah=a8[ag['entityIndex']];if(!ah)continue;let ai=ag[d4(0x2a2)];switch(ah['type']){case'LINE':ab['has']('endpoint')&&(Q(ad,ah['start']['x'],ah['start']['y'],'endpoint',ai,a6,a7,ac),Q(ad,ah['end']['x'],ah[d4(0x307)]['y'],'endpoint',ai,a6,a7,ac)),ab['has'](d4(0x273))&&Q(ad,(ah['start']['x']+ah['end']['x'])/0x2,(ah['start']['y']+ah[d4(0x307)]['y'])/0x2,'midpoint',ai,a6,a7,ac);break;case'CIRCLE':if(ab['has']('center')&&Q(ad,ah['center']['x'],ah['center']['y'],d4(0x26e),ai,a6,a7,ac),ab['has']('endpoint')){for(let aj of[0x0,Math['PI']/0x2,Math['PI'],0x3*Math['PI']/0x2])Q(ad,ah[d4(0x26e)]['x']+ah['radius']*Math['cos'](aj),ah['center']['y']+ah['radius']*Math['sin'](aj),'endpoint',ai,a6,a7,ac);}break;case d4(0x227):if(ab['has']('center')&&Q(ad,ah[d4(0x26e)]['x'],ah['center']['y'],'center',ai,a6,a7,ac),ab['has']('endpoint')){let ak=ah['startAngle']*Math['PI']/0xb4,al=ah['endAngle']*Math['PI']/0xb4;Q(ad,ah['center']['x']+ah['radius']*Math['cos'](ak),ah[d4(0x26e)]['y']+ah['radius']*Math['sin'](ak),d4(0x265),ai,a6,a7,ac),Q(ad,ah['center']['x']+ah['radius']*Math['cos'](al),ah['center']['y']+ah['radius']*Math['sin'](al),'endpoint',ai,a6,a7,ac);}break;case'LWPOLYLINE':case d4(0x256):if(ab['has'](d4(0x265))){for(let am of ah['vertices'])Q(ad,am['x'],am['y'],d4(0x265),ai,a6,a7,ac);}if(ab['has'](d4(0x273)))for(let an=0x0;an<ah[d4(0x1f7)]['length']-0x1;an++){let ao=ah['vertices'][an],ap=ah['vertices'][an+0x1];Q(ad,(ao['x']+ap['x'])/0x2,(ao['y']+ap['y'])/0x2,'midpoint',ai,a6,a7,ac);}break;case'ELLIPSE':ab['has']('center')&&Q(ad,ah[d4(0x26e)]['x'],ah['center']['y'],'center',ai,a6,a7,ac);break;case'TEXT':ab['has']('endpoint')&&Q(ad,ah['insertionPoint']['x'],ah['insertionPoint']['y'],'endpoint',ai,a6,a7,ac);break;case'MTEXT':ab[d4(0x208)]('endpoint')&&Q(ad,ah[d4(0x259)]['x'],ah['insertionPoint']['y'],'endpoint',ai,a6,a7,ac);break;}}return ad['sort']((aq,ar)=>Math[d4(0x2c6)](aq['point']['x']-a6,aq['point']['y']-a7)-Math['hypot'](ar['point']['x']-a6,ar['point']['y']-a7)),ad;}function Q(a6,a7,a8,a9,aa,ab,ac,ad){const d5=b5;Math['hypot'](a7-ab,a8-ac)<=ad&&a6[d5(0x26d)]({'point':{'x':a7,'y':a8},'type':a9,'entityIndex':aa});}function Ht(a6,a7,a8,a9,aa,ab){const d6=b5;let ac=I[ab];a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ad=a8[d6(0x295)];if(a8['currentSnap']){let [af,ag]=L(a7,a8['currentSnap']['point']['x'],a8['currentSnap'][d6(0x218)]['y']);Ut(a6,af,ag,a8['currentSnap']['type'],ac['measureColor']);}if(ad[d6(0x2b1)]===d6(0x2bc)){let [ah,ai]=L(a7,ad['firstPoint']['x'],ad['firstPoint']['y']),aj,ak;if(a8['currentSnap']){let [ao,ap]=L(a7,a8['currentSnap'][d6(0x218)]['x'],a8[d6(0x29c)]['point']['y']);aj=ao,ak=ap;}else aj=a9,ak=aa;a6['strokeStyle']=ac['measureColor'],a6['lineWidth']=1.5,a6['setLineDash']([0x6,0x3]),a6['beginPath'](),a6['moveTo'](ah,ai),a6['lineTo'](aj,ak),a6['stroke'](),a6['setLineDash']([]),$(a6,ah,ai,ac['measureColor']),$(a6,aj,ak,ac['measureColor']);let al,am;a8['currentSnap']?(al=a8['currentSnap']['point']['x'],am=a8['currentSnap']['point']['y']):[al,am]=R(a7,a9,aa);let an=Math[d6(0x2c6)](al-ad['firstPoint']['x'],am-ad['firstPoint']['y']);Wt(a6,(ah+aj)/0x2,(ai+ak)/0x2,an,ab);}if(ad['phase']==='done'){let [aq,ar]=L(a7,ad['firstPoint']['x'],ad['firstPoint']['y']),[as,au]=L(a7,ad['secondPoint']['x'],ad['secondPoint']['y']);a6['strokeStyle']=ac['measureColor'],a6['lineWidth']=0x2,a6['beginPath'](),a6['moveTo'](aq,ar),a6['lineTo'](as,au),a6['stroke'](),$(a6,aq,ar,ac['measureColor']),$(a6,as,au,ac['measureColor']),Wt(a6,(aq+as)/0x2,(ar+au)/0x2,ad[d6(0x30b)],ab);}}function Ut(a6,a7,a8,a9,aa){const d7=b5;switch(a6[d7(0x238)]=aa,a6['lineWidth']=0x2,a9){case'endpoint':a6['strokeRect'](a7-0x8/0x2,a8-0x8/0x2,0x8,0x8);break;case'midpoint':a6[d7(0x303)](),a6['moveTo'](a7,a8-0x8/0x2),a6['lineTo'](a7+0x8/0x2,a8+0x8/0x2),a6['lineTo'](a7-0x8/0x2,a8+0x8/0x2),a6['closePath'](),a6['stroke']();break;case d7(0x26e):a6['beginPath'](),a6['arc'](a7,a8,0x8/0x2,0x0,Math['PI']*0x2),a6['stroke']();break;case'nearest':a6[d7(0x303)](),a6[d7(0x264)](a7-0x8/0x2,a8-0x8/0x2),a6['lineTo'](a7+0x8/0x2,a8+0x8/0x2),a6[d7(0x264)](a7+0x8/0x2,a8-0x8/0x2),a6['lineTo'](a7-0x8/0x2,a8+0x8/0x2),a6['stroke']();break;}}function $(a6,a7,a8,a9){a6['fillStyle']=a9,a6['beginPath'](),a6['arc'](a7,a8,0x4,0x0,Math['PI']*0x2),a6['fill']();}function Wt(a6,a7,a8,a9,aa){const d8=b5;let ab=a9['toFixed'](0x4);a6['font']='13px\x20monospace',a6['textAlign']='center',a6['textBaseline']='bottom';let ac=a6['measureText'](ab),ad=a7-ac['width']/0x2-0x4,af=a8-0x14,ag=ac['width']+0x8;a6['fillStyle']=aa==='dark'?'rgba(0,0,0,0.8)':d8(0x2db),a6['fillRect'](ad,af,ag,0x12),a6['fillStyle']=I[aa][d8(0x20c)],a6['fillText'](ab,a7,a8-0x6);}var Gt=class{constructor(){t(this,'worker',null),t(this,'blobUrl',null),t(this,'nextId',0x1),t(this,'pending',new Map());}['getWorker'](){const d9=b5;return this['worker']?this['worker']:(this['blobUrl']=URL[d9(0x2d3)](new Blob(['\x22use\x20strict\x22;(()=>{function\x20h(a){let\x20e=a.replace(/\x5cr\x5cn?/g,`\x0a`),t=[],r=e.length,n=0;for(;n<r;){for(;n<r&&e.charCodeAt(n)===10;)n++;if(n>=r)break;let\x20o=e.indexOf(`\x0a`,n);o===-1&&(o=r);let\x20c=e.substring(n,o).trim();n=o+1;let\x20s=parseInt(c,10);if(isNaN(s)){n<r&&(o=e.indexOf(`\x0a`,n),o===-1&&(o=r),n=o+1);continue}if(n>=r)break;o=e.indexOf(`\x0a`,n),o===-1&&(o=r);let\x20p=e.substring(n,o).replace(/\x5cs+$/,\x22\x22);n=o+1,t.push({code:s,value:p})}return\x20t}function\x20m(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDSEC\x22)return\x20e+1;if(r.code===9){let\x20n=r.value;switch(e++,n){case\x22$ACADVER\x22:e<a.length&&(t.acadVersion=a[e].value,e++);break;case\x22$EXTMIN\x22:if(e<a.length){let\x20o=v(a,e);t.extMin=o.point,e=o.nextIndex}break;case\x22$EXTMAX\x22:if(e<a.length){let\x20o=v(a,e);t.extMax=o.point,e=o.nextIndex}break;case\x22$INSUNITS\x22:e<a.length&&(t.insUnits=parseInt(a[e].value,10),e++);break;case\x22$MEASUREMENT\x22:e<a.length&&(t.measurement=parseInt(a[e].value,10),e++);break;case\x22$LTSCALE\x22:e<a.length&&(t.ltScale=parseFloat(a[e].value),e++);break;case\x22$DWGCODEPAGE\x22:e<a.length&&(t.dwgCodePage=a[e].value,e++);break;case\x22$HANDSEED\x22:e<a.length&&(t.handleSeed=a[e].value,e++);break;default:for(;e<a.length&&a[e].code!==9&&a[e].code!==0;)t[n]=a[e].value,e++}}else\x20e++}return\x20e}function\x20v(a,e){let\x20t={x:0,y:0,z:0};for(;e<a.length;){let\x20r=a[e].code;if(r===10)t.x=parseFloat(a[e].value),e++;else\x20if(r===20)t.y=parseFloat(a[e].value),e++;else\x20if(r===30)t.z=parseFloat(a[e].value),e++;else\x20break}return{point:t,nextIndex:e}}function\x20k(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDSEC\x22)return\x20e+1;if(r.code===0&&r.value===\x22TABLE\x22){if(e++,e>=a.length)break;let\x20n=a[e].value;switch(e++,n){case\x22LAYER\x22:e=H(a,e,t.layers);break;case\x22LTYPE\x22:e=O(a,e,t.lineTypes);break;case\x22STYLE\x22:e=_(a,e,t.styles);break;default:e=R(a,e);break}}else\x20e++}return\x20e}function\x20R(a,e){for(;e<a.length;){if(a[e].code===0&&a[e].value===\x22ENDTAB\x22)return\x20e+1;e++}return\x20e}function\x20H(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDTAB\x22)return\x20e+1;if(r.code===0&&r.value===\x22LAYER\x22){e++;let\x20n={name:\x220\x22,color:7,lineType:\x22Continuous\x22,flags:0,lineWeight:-3,isOff:!1,isFrozen:!1,isLocked:!1};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x206:n.lineType=o.value;break;case\x2062:n.color=parseInt(o.value,10);break;case\x2070:n.flags=parseInt(o.value,10);break;case\x20370:n.lineWeight=parseInt(o.value,10);break;case\x20420:n.trueColor=parseInt(o.value,10);break}e++}t.set(n.name,n)}else\x20e++}return\x20e}function\x20O(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDTAB\x22)return\x20e+1;if(r.code===0&&r.value===\x22LTYPE\x22){e++;let\x20n={name:\x22\x22,description:\x22\x22,pattern:[],totalLength:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x203:n.description=o.value;break;case\x2040:n.totalLength=parseFloat(o.value);break;case\x2049:n.pattern.push(parseFloat(o.value));break}e++}n.name&&t.set(n.name,n)}else\x20e++}return\x20e}function\x20_(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDTAB\x22)return\x20e+1;if(r.code===0&&r.value===\x22STYLE\x22){e++;let\x20n={name:\x22\x22,fontName:\x22\x22,bigFontName:\x22\x22,height:0,widthFactor:1,obliqueAngle:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x203:n.fontName=o.value;break;case\x204:n.bigFontName=o.value;break;case\x2040:n.height=parseFloat(o.value);break;case\x2041:n.widthFactor=parseFloat(o.value);break;case\x2050:n.obliqueAngle=parseFloat(o.value);break}e++}n.name&&t.set(n.name,n)}else\x20e++}return\x20e}function\x20l(a){let\x20e={type:\x22\x22,layer:\x220\x22,color:256,lineType:\x22BYLAYER\x22,lineTypeScale:1,lineWeight:-1,visible:!0,extrusion:{x:0,y:0,z:1}};for(let\x20t\x20of\x20a)switch(t.code){case\x205:e.handle=t.value;break;case\x208:e.layer=t.value;break;case\x206:e.lineType=t.value;break;case\x2048:e.lineTypeScale=parseFloat(t.value);break;case\x2060:e.visible=t.value===\x220\x22||t.value===\x22\x22;break;case\x2062:e.color=parseInt(t.value,10);break;case\x20370:e.lineWeight=parseInt(t.value,10);break;case\x20420:e.trueColor=parseInt(t.value,10);break;case\x20210:e.extrusion.x=parseFloat(t.value);break;case\x20220:e.extrusion.y=parseFloat(t.value);break;case\x20230:e.extrusion.z=parseFloat(t.value);break}return\x20e}function\x20D(a){let\x20t={...l(a),type:\x22LINE\x22,start:{x:0,y:0,z:0},end:{x:0,y:0,z:0}};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.start.x=parseFloat(r.value);break;case\x2020:t.start.y=parseFloat(r.value);break;case\x2030:t.start.z=parseFloat(r.value);break;case\x2011:t.end.x=parseFloat(r.value);break;case\x2021:t.end.y=parseFloat(r.value);break;case\x2031:t.end.z=parseFloat(r.value);break}return\x20t}function\x20F(a){let\x20t={...l(a),type:\x22CIRCLE\x22,center:{x:0,y:0,z:0},radius:0};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.center.x=parseFloat(r.value);break;case\x2020:t.center.y=parseFloat(r.value);break;case\x2030:t.center.z=parseFloat(r.value);break;case\x2040:t.radius=parseFloat(r.value);break}return\x20t}function\x20E(a){let\x20t={...l(a),type:\x22ARC\x22,center:{x:0,y:0,z:0},radius:0,startAngle:0,endAngle:360};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.center.x=parseFloat(r.value);break;case\x2020:t.center.y=parseFloat(r.value);break;case\x2030:t.center.z=parseFloat(r.value);break;case\x2040:t.radius=parseFloat(r.value);break;case\x2050:t.startAngle=parseFloat(r.value);break;case\x2051:t.endAngle=parseFloat(r.value);break}return\x20t}function\x20P(a){let\x20t={...l(a),type:\x22LWPOLYLINE\x22,vertices:[],closed:!1,constantWidth:0,elevation:0},r=null;for(let\x20n\x20of\x20a)switch(n.code){case\x2070:t.closed=(parseInt(n.value,10)&1)!==0;break;case\x2038:t.elevation=parseFloat(n.value);break;case\x2043:t.constantWidth=parseFloat(n.value);break;case\x2010:r&&t.vertices.push(r),r={x:parseFloat(n.value),y:0,bulge:0,startWidth:0,endWidth:0};break;case\x2020:r&&(r.y=parseFloat(n.value));break;case\x2040:r&&(r.startWidth=parseFloat(n.value));break;case\x2041:r&&(r.endWidth=parseFloat(n.value));break;case\x2042:r&&(r.bulge=parseFloat(n.value));break}return\x20r&&t.vertices.push(r),t}function\x20T(a){let\x20t={...l(a),type:\x22POLYLINE\x22,vertices:[],closed:!1,is3d:!1};for(let\x20r\x20of\x20a)if(r.code===70){let\x20n=parseInt(r.value,10);t.closed=(n&1)!==0,t.is3d=(n&8)!==0}return\x20t}function\x20w(a){let\x20t={...l(a),type:\x22ELLIPSE\x22,center:{x:0,y:0,z:0},majorAxis:{x:1,y:0,z:0},minorRatio:1,startParam:0,endParam:Math.PI*2};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.center.x=parseFloat(r.value);break;case\x2020:t.center.y=parseFloat(r.value);break;case\x2030:t.center.z=parseFloat(r.value);break;case\x2011:t.majorAxis.x=parseFloat(r.value);break;case\x2021:t.majorAxis.y=parseFloat(r.value);break;case\x2031:t.majorAxis.z=parseFloat(r.value);break;case\x2040:t.minorRatio=parseFloat(r.value);break;case\x2041:t.startParam=parseFloat(r.value);break;case\x2042:t.endParam=parseFloat(r.value);break}return\x20t}function\x20g(a){let\x20t={...l(a),type:\x22SPLINE\x22,degree:3,flags:0,knots:[],controlPoints:[],fitPoints:[],weights:[]},r=null,n=null;for(let\x20o\x20of\x20a)switch(o.code){case\x2070:t.flags=parseInt(o.value,10);break;case\x2071:t.degree=parseInt(o.value,10);break;case\x2040:t.knots.push(parseFloat(o.value));break;case\x2041:t.weights.push(parseFloat(o.value));break;case\x2010:r&&t.controlPoints.push(r),r={x:parseFloat(o.value),y:0,z:0};break;case\x2020:r&&(r.y=parseFloat(o.value));break;case\x2030:r&&(r.z=parseFloat(o.value));break;case\x2011:n&&t.fitPoints.push(n),n={x:parseFloat(o.value),y:0,z:0};break;case\x2021:n&&(n.y=parseFloat(o.value));break;case\x2031:n&&(n.z=parseFloat(o.value));break;case\x2012:t.startTangent||(t.startTangent={x:0,y:0,z:0}),t.startTangent.x=parseFloat(o.value);break;case\x2022:t.startTangent&&(t.startTangent.y=parseFloat(o.value));break;case\x2032:t.startTangent&&(t.startTangent.z=parseFloat(o.value));break;case\x2013:t.endTangent||(t.endTangent={x:0,y:0,z:0}),t.endTangent.x=parseFloat(o.value);break;case\x2023:t.endTangent&&(t.endTangent.y=parseFloat(o.value));break;case\x2033:t.endTangent&&(t.endTangent.z=parseFloat(o.value));break}return\x20r&&t.controlPoints.push(r),n&&t.fitPoints.push(n),t}function\x20I(a){let\x20t={...l(a),type:\x22TEXT\x22,text:\x22\x22,insertionPoint:{x:0,y:0,z:0},height:1,rotation:0,widthFactor:1,obliqueAngle:0,style:\x22STANDARD\x22,hAlign:0,vAlign:0,generationFlags:0};for(let\x20r\x20of\x20a)switch(r.code){case\x201:t.text=r.value;break;case\x2010:t.insertionPoint.x=parseFloat(r.value);break;case\x2020:t.insertionPoint.y=parseFloat(r.value);break;case\x2030:t.insertionPoint.z=parseFloat(r.value);break;case\x2011:t.alignmentPoint||(t.alignmentPoint={x:0,y:0,z:0}),t.alignmentPoint.x=parseFloat(r.value);break;case\x2021:t.alignmentPoint||(t.alignmentPoint={x:0,y:0,z:0}),t.alignmentPoint.y=parseFloat(r.value);break;case\x2031:t.alignmentPoint||(t.alignmentPoint={x:0,y:0,z:0}),t.alignmentPoint.z=parseFloat(r.value);break;case\x2040:t.height=parseFloat(r.value);break;case\x2041:t.widthFactor=parseFloat(r.value);break;case\x2050:t.rotation=parseFloat(r.value);break;case\x2051:t.obliqueAngle=parseFloat(r.value);break;case\x207:t.style=r.value;break;case\x2071:t.generationFlags=parseInt(r.value,10);break;case\x2072:t.hAlign=parseInt(r.value,10);break;case\x2073:t.vAlign=parseInt(r.value,10);break}return\x20t}function\x20A(a){let\x20t={...l(a),type:\x22MTEXT\x22,text:\x22\x22,insertionPoint:{x:0,y:0,z:0},height:1,width:0,attachmentPoint:1,drawingDirection:1,rotation:0,lineSpacingStyle:1,lineSpacingFactor:1,style:\x22STANDARD\x22,bgFill:0,bgFillScale:1.5},r=[];for(let\x20n\x20of\x20a)switch(n.code){case\x201:r.push(n.value);break;case\x203:r.push(n.value);break;case\x207:t.style=n.value;break;case\x2010:t.insertionPoint.x=parseFloat(n.value);break;case\x2020:t.insertionPoint.y=parseFloat(n.value);break;case\x2030:t.insertionPoint.z=parseFloat(n.value);break;case\x2011:t.textDirection||(t.textDirection={x:0,y:0,z:0}),t.textDirection.x=parseFloat(n.value);break;case\x2021:t.textDirection||(t.textDirection={x:0,y:0,z:0}),t.textDirection.y=parseFloat(n.value);break;case\x2031:t.textDirection||(t.textDirection={x:0,y:0,z:0}),t.textDirection.z=parseFloat(n.value);break;case\x2040:t.height=parseFloat(n.value);break;case\x2041:t.width=parseFloat(n.value);break;case\x2044:t.lineSpacingFactor=parseFloat(n.value);break;case\x2050:t.rotation=parseFloat(n.value);break;case\x2071:t.attachmentPoint=parseInt(n.value,10);break;case\x2072:t.drawingDirection=parseInt(n.value,10);break;case\x2073:t.lineSpacingStyle=parseInt(n.value,10);break;case\x2090:t.bgFill=parseInt(n.value,10);break}return\x20t.text=r.join(\x22\x22),t}function\x20z(a){let\x20t={...l(a),type:\x22INSERT\x22,blockName:\x22\x22,insertionPoint:{x:0,y:0,z:0},scaleX:1,scaleY:1,scaleZ:1,rotation:0,columnCount:1,rowCount:1,columnSpacing:0,rowSpacing:0,attribs:[]};for(let\x20r\x20of\x20a)switch(r.code){case\x202:t.blockName=r.value;break;case\x2010:t.insertionPoint.x=parseFloat(r.value);break;case\x2020:t.insertionPoint.y=parseFloat(r.value);break;case\x2030:t.insertionPoint.z=parseFloat(r.value);break;case\x2041:t.scaleX=parseFloat(r.value);break;case\x2042:t.scaleY=parseFloat(r.value);break;case\x2043:t.scaleZ=parseFloat(r.value);break;case\x2044:t.columnSpacing=parseFloat(r.value);break;case\x2045:t.rowSpacing=parseFloat(r.value);break;case\x2050:t.rotation=parseFloat(r.value);break;case\x2070:t.columnCount=parseInt(r.value,10)||1;break;case\x2071:t.rowCount=parseInt(r.value,10)||1;break}return\x20t}function\x20S(a){let\x20t={...l(a),type:\x22DIMENSION\x22,blockName:\x22\x22,dimStyle:\x22STANDARD\x22,dimType:0,defPoint:{x:0,y:0,z:0},textMidpoint:{x:0,y:0,z:0},textOverride:\x22\x22,rotation:0,textRotation:0,leaderLength:0};for(let\x20r\x20of\x20a)switch(r.code){case\x201:t.textOverride=r.value;break;case\x202:t.blockName=r.value;break;case\x203:t.dimStyle=r.value;break;case\x2010:t.defPoint.x=parseFloat(r.value);break;case\x2020:t.defPoint.y=parseFloat(r.value);break;case\x2030:t.defPoint.z=parseFloat(r.value);break;case\x2011:t.textMidpoint.x=parseFloat(r.value);break;case\x2021:t.textMidpoint.y=parseFloat(r.value);break;case\x2031:t.textMidpoint.z=parseFloat(r.value);break;case\x2013:t.defPoint2||(t.defPoint2={x:0,y:0,z:0}),t.defPoint2.x=parseFloat(r.value);break;case\x2023:t.defPoint2||(t.defPoint2={x:0,y:0,z:0}),t.defPoint2.y=parseFloat(r.value);break;case\x2033:t.defPoint2||(t.defPoint2={x:0,y:0,z:0}),t.defPoint2.z=parseFloat(r.value);break;case\x2014:t.defPoint3||(t.defPoint3={x:0,y:0,z:0}),t.defPoint3.x=parseFloat(r.value);break;case\x2024:t.defPoint3||(t.defPoint3={x:0,y:0,z:0}),t.defPoint3.y=parseFloat(r.value);break;case\x2034:t.defPoint3||(t.defPoint3={x:0,y:0,z:0}),t.defPoint3.z=parseFloat(r.value);break;case\x2015:t.defPoint4||(t.defPoint4={x:0,y:0,z:0}),t.defPoint4.x=parseFloat(r.value);break;case\x2025:t.defPoint4||(t.defPoint4={x:0,y:0,z:0}),t.defPoint4.y=parseFloat(r.value);break;case\x2035:t.defPoint4||(t.defPoint4={x:0,y:0,z:0}),t.defPoint4.z=parseFloat(r.value);break;case\x2016:t.defPoint5||(t.defPoint5={x:0,y:0,z:0}),t.defPoint5.x=parseFloat(r.value);break;case\x2026:t.defPoint5||(t.defPoint5={x:0,y:0,z:0}),t.defPoint5.y=parseFloat(r.value);break;case\x2036:t.defPoint5||(t.defPoint5={x:0,y:0,z:0}),t.defPoint5.z=parseFloat(r.value);break;case\x2040:t.leaderLength=parseFloat(r.value);break;case\x2050:t.rotation=parseFloat(r.value);break;case\x2053:t.textRotation=parseFloat(r.value);break;case\x2070:t.dimType=parseInt(r.value,10);break}return\x20t}function\x20N(a){let\x20t={...l(a),type:\x22HATCH\x22,patternName:\x22\x22,solidFill:!0,associative:!1,hatchStyle:0,patternType:1,patternAngle:0,patternScale:1,boundaryPaths:[]},r=0;for(;r<a.length;){let\x20n=a[r];switch(n.code){case\x202:t.patternName=n.value;break;case\x2041:t.patternScale=parseFloat(n.value);break;case\x2052:t.patternAngle=parseFloat(n.value);break;case\x2070:t.solidFill=n.value===\x221\x22;break;case\x2071:t.associative=n.value===\x221\x22;break;case\x2075:t.hatchStyle=parseInt(n.value,10);break;case\x2076:t.patternType=parseInt(n.value,10);break;case\x2091:{let\x20o=parseInt(n.value,10);r++;for(let\x20c=0;c<o&&r<a.length;c++){let\x20s=W(a,r);t.boundaryPaths.push(s.path),r=s.nextIndex}continue}}r++}return\x20t}function\x20W(a,e){let\x20t=0;return\x20e<a.length&&a[e].code===92&&(t=parseInt(a[e].value,10),e++),(t&2)!==0?X(a,e,t):Y(a,e,t)}function\x20X(a,e,t){let\x20r={type:\x22polyline\x22,vertices:[],bulges:[],flags:t},n=!1;e<a.length&&a[e].code===72&&(n=a[e].value===\x221\x22,e++),e<a.length&&a[e].code===73&&(r.isClosed=a[e].value===\x221\x22,e++);let\x20o=0;e<a.length&&a[e].code===93&&(o=parseInt(a[e].value,10),e++);for(let\x20c=0;c<o&&e<a.length;c++){let\x20s={x:0,y:0};a[e].code===10&&(s.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.y=parseFloat(a[e].value),e++),r.vertices.push(s),n&&e<a.length&&a[e].code===42?(r.bulges.push(parseFloat(a[e].value)),e++):n&&r.bulges.push(0)}for(;e<a.length&&(a[e].code===97||a[e].code===330);)if(a[e].code===97){let\x20c=parseInt(a[e].value,10);e++;for(let\x20s=0;s<c&&e<a.length&&a[e].code===330;s++)e++}else\x20e++;return{path:r,nextIndex:e}}function\x20Y(a,e,t){let\x20r={type:\x22edges\x22,edges:[],flags:t},n=0;e<a.length&&a[e].code===93&&(n=parseInt(a[e].value,10),e++);for(let\x20o=0;o<n&&e<a.length&&a[e].code===72;o++){let\x20c=parseInt(a[e].value,10);switch(e++,c){case\x201:{let\x20s={type:\x22line\x22,start:{x:0,y:0},end:{x:0,y:0}};e<a.length&&a[e].code===10&&(s.start.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.start.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===11&&(s.end.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===21&&(s.end.y=parseFloat(a[e].value),e++),r.edges.push(s);break}case\x202:{let\x20s={type:\x22arc\x22,center:{x:0,y:0},radius:0,startAngle:0,endAngle:360,ccw:!0};e<a.length&&a[e].code===10&&(s.center.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.center.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===40&&(s.radius=parseFloat(a[e].value),e++),e<a.length&&a[e].code===50&&(s.startAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===51&&(s.endAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===73&&(s.ccw=a[e].value===\x221\x22,e++),r.edges.push(s);break}case\x203:{let\x20s={type:\x22ellipse\x22,center:{x:0,y:0},majorAxis:{x:1,y:0},minorRatio:1,startAngle:0,endAngle:Math.PI*2,ccw:!0};e<a.length&&a[e].code===10&&(s.center.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.center.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===11&&(s.majorAxis.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===21&&(s.majorAxis.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===40&&(s.minorRatio=parseFloat(a[e].value),e++),e<a.length&&a[e].code===50&&(s.startAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===51&&(s.endAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===73&&(s.ccw=a[e].value===\x221\x22,e++),r.edges.push(s);break}case\x204:{let\x20s=3,p=[],b=[];e<a.length&&a[e].code===94&&(s=parseInt(a[e].value,10),e++),e<a.length&&a[e].code===73&&e++,e<a.length&&a[e].code===74&&e++;let\x20d=0;e<a.length&&a[e].code===95&&(d=parseInt(a[e].value,10),e++);let\x20x=0;e<a.length&&a[e].code===96&&(x=parseInt(a[e].value,10),e++);for(let\x20f=0;f<d&&e<a.length&&a[e].code===40;f++)p.push(parseFloat(a[e].value)),e++;for(let\x20f=0;f<x&&e<a.length;f++){let\x20y={x:0,y:0};a[e].code===10&&(y.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(y.y=parseFloat(a[e].value),e++),b.push(y)}r.edges.push({type:\x22spline\x22,degree:s,knots:p,controlPoints:b});break}default:break}}for(;e<a.length&&(a[e].code===97||a[e].code===330);)if(a[e].code===97){let\x20o=parseInt(a[e].value,10);e++;for(let\x20c=0;c<o&&e<a.length&&a[e].code===330;c++)e++}else\x20e++;return{path:r,nextIndex:e}}function\x20L(a){let\x20t={...l(a),type:\x22POINT\x22,position:{x:0,y:0,z:0}};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.position.x=parseFloat(r.value);break;case\x2020:t.position.y=parseFloat(r.value);break;case\x2030:t.position.z=parseFloat(r.value);break}return\x20t}function\x20u(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code!==0){e++;continue}let\x20n=r.value;if(n===\x22ENDSEC\x22||n===\x22ENDBLK\x22)return\x20e+1;e++;let\x20o=[];for(;e<a.length&&a[e].code!==0;)o.push(a[e]),e++;switch(n){case\x22LINE\x22:t.push(D(o));break;case\x22CIRCLE\x22:t.push(F(o));break;case\x22ARC\x22:t.push(E(o));break;case\x22LWPOLYLINE\x22:t.push(P(o));break;case\x22ELLIPSE\x22:t.push(w(o));break;case\x22SPLINE\x22:t.push(g(o));break;case\x22TEXT\x22:t.push(I(o));break;case\x22MTEXT\x22:t.push(A(o));break;case\x22INSERT\x22:{let\x20c=z(o);o.some(p=>p.code===66&&p.value===\x221\x22)&&(e=$(a,e,c.attribs)),t.push(c);break}case\x22DIMENSION\x22:t.push(S(o));break;case\x22HATCH\x22:t.push(N(o));break;case\x22POINT\x22:t.push(L(o));break;case\x22POLYLINE\x22:{let\x20c=T(o);e=V(a,e,c.vertices),t.push(c);break}default:break}}return\x20e}function\x20V(a,e,t){for(;e<a.length;){if(a[e].code!==0){e++;continue}let\x20r=a[e].value;if(r===\x22SEQEND\x22)return\x20e+1;if(r===\x22ENDSEC\x22||r===\x22ENDBLK\x22)return\x20e;if(r===\x22VERTEX\x22){e++;let\x20n={x:0,y:0,bulge:0,startWidth:0,endWidth:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x2010:n.x=parseFloat(o.value);break;case\x2020:n.y=parseFloat(o.value);break;case\x2042:n.bulge=parseFloat(o.value);break;case\x2040:n.startWidth=parseFloat(o.value);break;case\x2041:n.endWidth=parseFloat(o.value);break}e++}t.push(n)}else\x20for(e++;e<a.length&&a[e].code!==0;)e++}return\x20e}function\x20$(a,e,t){for(;e<a.length;){if(a[e].code!==0){e++;continue}let\x20r=a[e].value;if(r===\x22SEQEND\x22)return\x20e+1;if(r===\x22ENDSEC\x22||r===\x22ENDBLK\x22)return\x20e;if(r===\x22ATTRIB\x22){e++;let\x20n={tag:\x22\x22,text:\x22\x22,insertionPoint:{x:0,y:0,z:0},height:1,rotation:0,style:\x22STANDARD\x22,layer:\x220\x22,color:256};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x201:n.text=o.value;break;case\x202:n.tag=o.value;break;case\x207:n.style=o.value;break;case\x208:n.layer=o.value;break;case\x2010:n.insertionPoint.x=parseFloat(o.value);break;case\x2020:n.insertionPoint.y=parseFloat(o.value);break;case\x2030:n.insertionPoint.z=parseFloat(o.value);break;case\x2040:n.height=parseFloat(o.value);break;case\x2050:n.rotation=parseFloat(o.value);break;case\x2062:n.color=parseInt(o.value,10);break}e++}t.push(n)}else\x20for(e++;e<a.length&&a[e].code!==0;)e++}return\x20e}function\x20B(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDSEC\x22)return\x20e+1;if(r.code===0&&r.value===\x22BLOCK\x22){e++;let\x20n={name:\x22\x22,basePoint:{x:0,y:0,z:0},entities:[],flags:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x208:break;case\x2010:n.basePoint.x=parseFloat(o.value);break;case\x2020:n.basePoint.y=parseFloat(o.value);break;case\x2030:n.basePoint.z=parseFloat(o.value);break;case\x2070:n.flags=parseInt(o.value,10);break}e++}e=u(a,e,n.entities),n.name&&!n.name.startsWith(\x22*Model_Space\x22)&&!n.name.startsWith(\x22*Paper_Space\x22)&&t.set(n.name,n)}else\x20e++}return\x20e}var\x20C=\x22AutoCAD\x20Binary\x20DXF\x22,U={ANSI_874:\x22windows-874\x22,ANSI_932:\x22shift_jis\x22,ANSI_936:\x22gbk\x22,ANSI_949:\x22euc-kr\x22,ANSI_950:\x22big5\x22,ANSI_1250:\x22windows-1250\x22,ANSI_1251:\x22windows-1251\x22,ANSI_1252:\x22windows-1252\x22,ANSI_1253:\x22windows-1253\x22,ANSI_1254:\x22windows-1254\x22,ANSI_1255:\x22windows-1255\x22,ANSI_1256:\x22windows-1256\x22,ANSI_1257:\x22windows-1257\x22,ANSI_1258:\x22windows-1258\x22},G=\x22AC1021\x22;function\x20K(){return{acadVersion:\x22\x22,insUnits:0,measurement:0,ltScale:1}}function\x20j(a){return\x20a.replace(/\x5c\x5cU\x5c+([0-9A-Fa-f]{4})/g,(e,t)=>String.fromCodePoint(parseInt(t,16)))}function\x20q(a){if(typeof\x20a==\x22string\x22)return\x20j(a);let\x20e=new\x20Uint8Array(a);if(new\x20TextDecoder(\x22ascii\x22).decode(e.slice(0,C.length))===C)throw\x20new\x20i(\x22Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.\x22);let\x20r=new\x20TextDecoder(\x22utf-8\x22).decode(a),o=r.match(/\x5c$ACADVER[\x5cs\x5cS]*?\x5cn\x5cs*1\x5cs*\x5cn\x5cs*(\x5cS+)/)?.[1]??\x22\x22;if(o&&o<G){let\x20s=r.match(/\x5c$DWGCODEPAGE[\x5cs\x5cS]*?\x5cn\x5cs*3\x5cs*\x5cn\x5cs*(\x5cS+)/)?.[1]??\x22\x22,p=U[s]??\x22windows-1252\x22;p!==\x22utf-8\x22&&(r=new\x20TextDecoder(p).decode(a))}return\x20j(r)}function\x20Q(a,e){for(;e<a.length;){if(a[e].code===0&&a[e].value===\x22ENDSEC\x22)return\x20e+1;e++}return\x20e}function\x20Z(a){a.layers.has(\x220\x22)||a.layers.set(\x220\x22,{name:\x220\x22,color:7,lineType:\x22Continuous\x22,flags:0,lineWeight:-3,isOff:!1,isFrozen:!1,isLocked:!1})}function\x20J(a){for(let[,e]of\x20a.layers)e.isOff=e.color<0,e.isOff&&(e.color=Math.abs(e.color)),e.isFrozen=(e.flags&1)!==0,e.isLocked=(e.flags&4)!==0}var\x20i=class\x20extends\x20Error{constructor(t,r){super(t);this.cause=r;this.name=\x22DxfParseError\x22}};function\x20M(a){if(typeof\x20a==\x22string\x22){if(a.length===0)throw\x20new\x20i(\x22Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.\x22)}else\x20if(a\x20instanceof\x20ArrayBuffer){if(a.byteLength===0)throw\x20new\x20i(\x22Input\x20ArrayBuffer\x20is\x20empty.\x22)}else\x20throw\x20new\x20i(\x22Invalid\x20input\x20type.\x20Expected\x20a\x20string\x20or\x20ArrayBuffer.\x22);let\x20e;try{e=q(a)}catch(n){throw\x20n\x20instanceof\x20i?n:new\x20i(\x22Failed\x20to\x20decode\x20DXF\x20input.\x22,n)}let\x20t;try{t=h(e)}catch(n){throw\x20new\x20i(\x22Failed\x20to\x20tokenize\x20DXF\x20content.\x22,n)}if(t.length===0)throw\x20new\x20i(\x22DXF\x20content\x20produced\x20no\x20tokens.\x20The\x20input\x20may\x20not\x20be\x20a\x20valid\x20DXF\x20file.\x22);let\x20r={header:K(),layers:new\x20Map,lineTypes:new\x20Map,styles:new\x20Map,blocks:new\x20Map,entities:[]};try{let\x20n=0;for(;n<t.length;){let\x20o=t[n];if(o.code===0&&o.value===\x22SECTION\x22){if(n++,n>=t.length)break;let\x20c=t[n].value;switch(n++,c){case\x22HEADER\x22:n=m(t,n,r.header);break;case\x22TABLES\x22:n=k(t,n,r);break;case\x22BLOCKS\x22:n=B(t,n,r.blocks);break;case\x22ENTITIES\x22:n=u(t,n,r.entities);break;default:n=Q(t,n);break}}else{if(o.code===0&&o.value===\x22EOF\x22)break;n++}}}catch(n){throw\x20new\x20i(\x22Failed\x20to\x20parse\x20DXF\x20sections.\x22,n)}return\x20Z(r),J(r),r}self.onmessage=a=>{let{type:e,id:t,payload:r}=a.data;if(e===\x22parse\x22)try{let\x20n=M(r);postMessage({type:\x22result\x22,id:t,doc:n})}catch(n){let\x20o=n\x20instanceof\x20Error?n.message:String(n);postMessage({type:\x22error\x22,id:t,message:o})}};})();\x0a'],{'type':'text/javascript'})),this[d9(0x312)]=new Worker(this[d9(0x1f3)]),this['worker'][d9(0x311)]=a6=>{const da=d9;let {type:a7,id:a8,doc:a9,message:aa}=a6[da(0x2a0)],ab=this['pending']['get'](a8);ab&&(this['pending']['delete'](a8),a7==='result'?ab[da(0x304)](this[da(0x241)](a9)):a7==='error'&&ab['reject'](Error(aa==null?'Worker\x20parse\x20failed':aa)));},this['worker']['onerror']=a6=>{const db=d9;var a7;let a8=Error((a7=a6['message'])==null?'Worker\x20error':a7);for(let [,a9]of this['pending'])a9['reject'](a8);this['pending'][db(0x24b)](),this[db(0x294)]();},this['worker']);}['parse'](a6){return new Promise((a7,a8)=>{const dc=a1;let a9=this['nextId']++;this['pending']['set'](a9,{'resolve':a7,'reject':a8});let aa;try{aa=this['getWorker']();}catch(ac){this['pending']['delete'](a9),a8(ac instanceof Error?ac:Error(String(ac)));return;}let ab={'type':'parse','id':a9,'payload':a6};try{a6 instanceof ArrayBuffer?aa['postMessage'](ab,[a6]):aa['postMessage'](ab);}catch(ad){this[dc(0x21d)]['delete'](a9),a8(ad instanceof Error?ad:Error(String(ad)));}});}['terminate'](){const dd=b5;this['destroyWorker']();let a6=Error('Worker\x20terminated');for(let [,a7]of this['pending'])a7['reject'](a6);this['pending'][dd(0x24b)]();}['destroyWorker'](){this['worker']&&(this['worker']['terminate'](),this['worker']=null),this['blobUrl']&&(URL['revokeObjectURL'](this['blobUrl']),this['blobUrl']=null);}['reviveDocument'](a6){const df=b5;return a3(a3({},a6),{},{'layers':this['ensureMap'](a6['layers']),'lineTypes':this[df(0x28f)](a6[df(0x251)]),'styles':this['ensureMap'](a6['styles']),'blocks':this['ensureMap'](a6['blocks'])});}['ensureMap'](a6){return a6 instanceof Map?a6:a6&&typeof a6=='object'?new Map(Object['entries'](a6)):new Map();}},Kt=class{constructor(a6,a7){const dg=b5;var a8,a9,aa,ab,ac,ad,af;t(this,'canvas',void 0x0),t(this,'renderer',void 0x0),t(this,'camera',void 0x0),t(this,'layerManager',void 0x0),t(this,'emitter',void 0x0),t(this,dg(0x1f2),void 0x0),t(this,'measureTool',void 0x0),t(this,'doc',null),t(this,dg(0x2f8),void 0x0),t(this,'currentTool',void 0x0),t(this,dg(0x269),void 0x0),t(this,'resizeObserver',void 0x0),t(this,'formatConverters',void 0x0),t(this,dg(0x231),null),t(this,'selectedEntityIndex',-0x1),t(this,dg(0x279),!0x1),t(this,dg(0x25e),!0x1),t(this,'loadGeneration',0x0),t(this,'mouseScreenX',0x0),t(this,'mouseScreenY',0x0),t(this,'debugEnabled',!0x1),t(this,'debugOptions',void 0x0),t(this,'lastRenderStats',null),t(this,'lastDebugStats',null),t(this,'frameTimestamps',[]),t(this,'lastDoRenderTime',0x0),t(this,'lastFrameTime',0x0),t(this,'parseTime',0x0),t(this,dg(0x213),0x0),t(this,'loadedFileName',null),t(this,'loadedFileSize',0x0),t(this,'debugRafId',0x0),this[dg(0x2e3)]=a6,this['options']={'theme':(a8=a7==null?void 0x0:a7['theme'])==null?'dark':a8,'backgroundColor':a7==null?void 0x0:a7['backgroundColor'],'antialias':(a9=a7==null?void 0x0:a7['antialias'])==null?!0x0:a9,'minZoom':(aa=a7==null?void 0x0:a7['minZoom'])==null?0.0001:aa,'maxZoom':(ab=a7==null?void 0x0:a7['maxZoom'])==null?0x186a0:ab,'zoomSpeed':(ac=a7==null?void 0x0:a7['zoomSpeed'])==null?1.1:ac,'initialTool':(ad=a7==null?void 0x0:a7['initialTool'])==null?'pan':ad},this[dg(0x245)]=(af=a7==null?void 0x0:a7['formatConverters'])==null?[]:af,a7!=null&&a7['worker']&&(this['workerManager']=new Gt()),a7!=null&&a7['debug']?(this['debugEnabled']=!0x0,this['debugOptions']=q(typeof a7[dg(0x31b)]=='boolean'?void 0x0:a7[dg(0x31b)])):this['debugOptions']=q(),this['renderer']=new St(a6),this['camera']=new Ne(this['options']),this['layerManager']=new At(),this['emitter']=new jt(),this['spatialIndex']=new Pt(),this[dg(0x2fd)]=new Vt(),this['currentTool']=this[dg(0x2f8)]['initialTool'],this['inputHandler']=new Mt(a6,this),this['resizeObserver']=new ResizeObserver(()=>this['resize']()),this['resizeObserver']['observe'](a6),a6[dg(0x253)]['cursor']=this['getCursorForTool'](this[dg(0x24e)]),this['requestRender'](),this['debugEnabled']&&this['startDebugLoop']();}['guardDestroyed'](){const dh=b5;if(this['destroyed'])throw Error(dh(0x275));}['runConverters'](a6){var a7=this;return a5(function*(){const di=a1;for(let a8 of a7[di(0x245)]){let a9=!0x1;try{a9=a8['detect'](a6);}catch(aa){continue;}if(a9)return a8['convert'](a6);}return null;})();}[b5(0x2a8)](a6){var a7=this;return a5(function*(){const dj=a1;a7['guardDestroyed']();let a8=++a7['loadGeneration'];a7['loadedFileName']=a6[dj(0x24a)],a7[dj(0x2f4)]=a6['size'];let a9=yield a6[dj(0x2f9)]();if(a7['destroyed']||a8!==a7['loadGeneration'])return;let aa=yield a7['runConverters'](a9);if(a7['destroyed']||a8!==a7['loadGeneration'])return;let ab=performance[dj(0x293)](),ac=aa==null?a9:aa;a7['doc']=yield a7['parseWithOptionalWorker'](ac,a8),!(a7['destroyed']||a8!==a7['loadGeneration'])&&(a7['parseTime']=performance['now']()-ab,a7['onDocumentLoaded']());})();}['loadBuffer'](a6){var a7=this;return a5(function*(){const dk=a1;a7['guardDestroyed']();let a8=++a7['loadGeneration'];a7['loadedFileName']=null,a7['loadedFileSize']=a6['byteLength'];let a9=yield a7['runConverters'](a6);if(a7['destroyed']||a8!==a7['loadGeneration'])return;let aa=performance['now'](),ab=a9==null?a6:a9;a7['doc']=yield a7['parseWithOptionalWorker'](ab,a8),!(a7['destroyed']||a8!==a7['loadGeneration'])&&(a7[dk(0x31a)]=performance['now']()-aa,a7['onDocumentLoaded']());})();}['parseWithOptionalWorker'](a6,a7){var a8=this;return a5(function*(){if(!a8['workerManager'])return F(a6);try{return yield a8['workerManager']['parse'](a6);}catch(a9){if(a8['destroyed']||a7!==a8['loadGeneration'])return null;throw a9;}})();}[b5(0x221)](a6){const dl=b5;if(this[dl(0x27a)](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=0x0,this['parseTime']=0x0,!a6||!Array['isArray'](a6['entities'])||!(a6['layers']instanceof Map))throw Error('CadViewer:\x20invalid\x20DxfDocument\x20—\x20expected\x20entities\x20array\x20and\x20layers\x20Map.');this['doc']=a6,this['onDocumentLoaded']();}[b5(0x252)](a6){const dm=b5;this[dm(0x27a)](),++this[dm(0x286)],this['loadedFileName']=null,this['loadedFileSize']=a6[dm(0x315)];let a7=performance['now']();this[dm(0x2ff)]=F(a6),this[dm(0x31a)]=performance['now']()-a7,this[dm(0x23b)]();}[b5(0x263)](a6){const dn=b5;this['guardDestroyed'](),++this[dn(0x286)],this['loadedFileName']=null,this['loadedFileSize']=a6['byteLength'];let a7=performance['now']();this['doc']=F(a6),this[dn(0x31a)]=performance['now']()-a7,this['onDocumentLoaded']();}['clearDocument'](){const dp=b5;this['guardDestroyed'](),++this['loadGeneration'],this['doc']=null,this['selectedEntityIndex']=-0x1,this['spatialIndex']['clear'](),rt(),this['layerManager']['clear'](),this['measureTool']['deactivate'](),this[dp(0x22f)]();}['onDocumentLoaded'](){const dq=b5;if(!this['doc'])return;this['layerManager']['setLayers'](this['doc']['layers']);let a6=performance['now']();this[dq(0x1f2)]['build'](this[dq(0x2ff)]['entities'],this['doc']),nt(tt(this['doc'])),this['spatialIndexBuildTime']=performance['now']()-a6,this[dq(0x27c)]=-0x1,this['measureTool']['deactivate'](),this['currentTool']==='measure'&&this['measureTool']['activate'](),this['fitToView']();}['fitToView'](){const dr=b5;if(this['guardDestroyed'](),!this[dr(0x2ff)])return;let a6=this['computeDocumentBounds']();if(!a6)return;let a7=this['canvas']['getBoundingClientRect']();this['camera']['setTransform'](B(a7['width'],a7['height'],a6[dr(0x2ef)],a6[dr(0x246)],a6['maxX'],a6['maxY'])),this[dr(0x22f)](),this[dr(0x237)]['emit'](dr(0x1f4),this[dr(0x301)]['getTransform']());}[b5(0x2e8)](a6){const ds=b5;this['guardDestroyed']();let a7=this[ds(0x2e3)][ds(0x308)](),a8=a7['width']/0x2,a9=a7['height']/0x2,aa=a6/this['camera']['getTransform']()['scale'];this['camera']['zoom'](a8,a9,aa),this['requestRender'](),this['emitter']['emit']('viewchange',this[ds(0x301)]['getTransform']());}['panTo'](a6,a7){const du=b5;this['guardDestroyed']();let a8=this['canvas']['getBoundingClientRect'](),a9=this['camera']['getTransform'](),aa=a6*a9['scale']+a9['offsetX'],ab=-a7*a9['scale']+a9['offsetY'],ac=a8['width']/0x2-aa,ad=a8['height']/0x2-ab;this['camera'][du(0x27f)](ac,ad),this['requestRender'](),this[du(0x237)]['emit']('viewchange',this['camera']['getTransform']());}['getViewTransform'](){return a3({},this['camera']['getTransform']());}['getZoomSpeed'](){return this['options']['zoomSpeed'];}['getLayers'](){return this['layerManager']['getAllLayers']();}['setLayerVisible'](a6,a7){this['guardDestroyed'](),this['layerManager']['setVisible'](a6,a7),this['requestRender']();}['setLayerColor'](a6,a7){const dv=b5;this['guardDestroyed'](),this[dv(0x2fa)]['setColorOverride'](a6,a7),this['requestRender']();}[b5(0x2b6)](a6){this['guardDestroyed'](),this['options']['theme']=a6,this['requestRender']();}['getTheme'](){return this['options']['theme'];}['setBackgroundColor'](a6){const dw=b5;this['guardDestroyed'](),this['options']['backgroundColor']=a6,this[dw(0x22f)]();}['setTool'](a6){const dx=b5;this['guardDestroyed'](),this['currentTool']===dx(0x278)&&a6!=='measure'&&this['measureTool']['deactivate'](),this['currentTool']=a6,this['canvas']['style']['cursor']=this['getCursorForTool'](a6),a6==='measure'&&this[dx(0x2fd)]['activate'](),a6!=='select'&&(this['selectedEntityIndex']=-0x1),this['requestRender']();}['getTool'](){return this['currentTool'];}['getCursorForTool'](a6){switch(a6){case'pan':return'grab';case'select':return'crosshair';case'measure':return'crosshair';}}['on'](a6,a7){this['emitter']['on'](a6,a7);}[b5(0x239)](a6,a7){this['emitter']['off'](a6,a7);}['getDocument'](){return this['doc'];}['getEntities'](){const dy=b5;var a6,a7;return(a6=(a7=this[dy(0x2ff)])==null?void 0x0:a7['entities'])==null?[]:a6;}['resize'](){const dz=b5;this[dz(0x1f1)][dz(0x2e2)](),this['requestRender']();}['destroy'](){const dA=b5;var a6;this['destroyed']=!0x0,this['stopDebugLoop'](),this['inputHandler']['destroy'](),this[dA(0x209)]['disconnect'](),this['renderer']['destroy'](),this['emitter'][dA(0x2f7)](),this['spatialIndex']['clear'](),rt(),this['layerManager']['clear'](),(a6=this['workerManager'])==null||a6['terminate'](),this['workerManager']=null,this[dA(0x2ff)]=null;}['requestRender'](){if(!this['destroyed']){if(this['debugRafId']){this['doRender']();return;}this['renderPending']||(this['renderPending']=!0x0,requestAnimationFrame(()=>{const dB=a1;this['renderPending']=!0x1,!this[dB(0x25e)]&&this['doRender']();}));}}['doRender'](){const dC=b5;if(!this[dC(0x2ff)]){this[dC(0x1f1)]['renderEmpty'](this['options']['theme']);return;}let a6=this['camera']['getTransform'](),a7=this['renderer'][dC(0x1f5)](),a8=this['renderer']['getHeight'](),a9=this['computeViewportBounds'](a6,a7,a8),aa=this['spatialIndex']['search'](a9['minX'],a9['minY'],a9['maxX'],a9['maxY']),ab=new Set();for(let ag=0x0;ag<aa['length'];ag++)ab['add'](aa[ag]['entityIndex']);let ac=performance['now'](),ad=this['renderer']['render'](this['doc'],a6,this['options']['theme'],this['layerManager']['getVisibleLayerNames'](),this['selectedEntityIndex'],ab,this['spatialIndex']['getEntityBBoxes']());this['lastFrameTime']=performance['now']()-ac,this['lastRenderStats']=ad;let af=performance['now']();for(af-this['lastDoRenderTime']>=0x3&&this['frameTimestamps']['push'](af),this['lastDoRenderTime']=af;this[dC(0x242)]['length']>0x0&&this['frameTimestamps'][0x0]<af-0x3e8;)this[dC(0x242)]['shift']();if(this['currentTool']==='measure'&&this['measureTool']['state']['phase']!=='idle'&&Ht(this['renderer'][dC(0x290)](),this['camera']['getTransform'](),this[dC(0x2fd)],this['mouseScreenX'],this['mouseScreenY'],this[dC(0x2f8)][dC(0x211)]),this['debugEnabled']){let ah=this['renderer']['getContext'](),ai=this['buildDebugStats']();this['lastDebugStats']=ai,kt(ah,ai,this['options']['theme'],this['debugOptions'],this['renderer'][dC(0x1f5)](),this[dC(0x1f1)][dC(0x202)]());}}['setDebug'](a6){const dD=b5;this['guardDestroyed'](),typeof a6=='boolean'?this['debugEnabled']=a6:(this[dD(0x2bf)]=!0x0,this['debugOptions']=q(a6)),this['debugEnabled']?this['startDebugLoop']():(this['stopDebugLoop'](),this[dD(0x22f)]());}['startDebugLoop'](){const dF=b5;if(this['debugRafId'])return;let a6=()=>{const dE=a1;if(!this[dE(0x2bf)]||this['destroyed']){this['debugRafId']=0x0;return;}this[dE(0x282)](),this['debugRafId']=requestAnimationFrame(a6);};this[dF(0x22e)]=requestAnimationFrame(a6);}['stopDebugLoop'](){this['debugRafId']&&(cancelAnimationFrame(this['debugRafId']),this['debugRafId']=0x0);}['getDebugStats'](){const dG=b5;return this[dG(0x2bf)]?this['lastDebugStats']:null;}['buildDebugStats'](){const dH=b5;var a6,a7,a8,a9,aa,ab,ac,ad,af;let ag=this['camera']['getTransform'](),ah=this[dH(0x1f1)]['getWidth'](),ai=this['renderer']['getHeight'](),aj=this['computeViewportBounds'](ag,ah,ai);return{'fps':this['frameTimestamps']['length'],'frameTime':this['lastFrameTime'],'renderStats':(a6=this['lastRenderStats'])==null?{'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}}:a6,'entityCount':(a7=(a8=this['doc'])==null?void 0x0:a8['entities']['length'])==null?0x0:a7,'layerCount':(a9=(aa=this['doc'])==null?void 0x0:aa['layers']['size'])==null?0x0:a9,'visibleLayerCount':this['layerManager'][dH(0x29e)]()[dH(0x31e)],'blockCount':(ab=(ac=this['doc'])==null?void 0x0:ac[dH(0x2b8)][dH(0x31e)])==null?0x0:ab,'parseTime':this['parseTime'],'spatialIndexBuildTime':this['spatialIndexBuildTime'],'totalLoadTime':this[dH(0x31a)]+this['spatialIndexBuildTime'],'zoom':ag[dH(0x250)],'pixelSize':ag['scale']>0x0?0x1/ag[dH(0x250)]:0x0,'viewportBounds':aj,'fileName':this['loadedFileName'],'fileSize':this['loadedFileSize'],'dxfVersion':(ad=(af=this['doc'])==null?void 0x0:af['header']['acadVersion'])==null?null:ad};}['computeViewportBounds'](a6,a7,a8){let [a9,aa]=R(a6,0x0,a8),[ab,ac]=R(a6,a7,0x0);return{'minX':Math['min'](a9,ab),'minY':Math['min'](aa,ac),'maxX':Math['max'](a9,ab),'maxY':Math['max'](aa,ac)};}['handlePan'](a6,a7){this['camera']['pan'](a6,a7),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}[b5(0x21a)](a6,a7,a8){const dI=b5;this['camera']['zoom'](a6,a7,a8),this[dI(0x22f)](),this[dI(0x237)]['emit'](dI(0x1f4),this['camera']['getTransform']());}['handleClick'](a6,a7){const dJ=b5;if(!this['doc'])return;let a8=this['camera'][dJ(0x2ab)](),[a9,aa]=R(a8,a6,a7);switch(this['currentTool']){case'select':this[dJ(0x272)](a9,aa,a6,a7);break;case'measure':{let ab=Z(a9,aa,this['doc']['entities'],this[dJ(0x1f2)],a8['scale']),ac=ab['length']>0x0?ab[0x0]:null,ad=this['measureTool'][dJ(0x222)](a9,aa,ac);this[dJ(0x22f)](),ad&&this[dJ(0x237)]['emit'](dJ(0x278),ad);break;}}}['handleMouseMove'](a6,a7){const dK=b5;if(this['mouseScreenX']=a6,this['mouseScreenY']=a7,this[dK(0x24e)]===dK(0x278)&&this['doc']){var a8;let a9=this[dK(0x301)]['getTransform'](),[aa,ab]=R(a9,a6,a7),ac=Z(aa,ab,this['doc']['entities'],this['spatialIndex'],a9['scale']);this['measureTool'][dK(0x2b4)]((a8=ac[0x0])==null?null:a8),this['requestRender']();}}['handleSelect'](a6,a7,a8,a9){const dL=b5;if(!this['doc'])return;let aa=Ft(a6,a7,this['doc']['entities'],this['spatialIndex'],this['layerManager']['getVisibleLayerNames'](),this['camera']['getTransform']()['scale']);if(this['selectedEntityIndex']=aa,this['requestRender'](),aa>=0x0&&this[dL(0x2ff)]){let ab=this['doc']['entities'][aa];ab&&this['emitter']['emit']('select',{'entity':ab,'entityIndex':aa,'worldPoint':{'x':a6,'y':a7},'screenPoint':{'x':a8,'y':a9}});}}['computeDocumentBounds'](){const dM=b5;return this['doc']?this['doc']['header']['extMin']&&this['doc'][dM(0x2e7)][dM(0x313)]?{'minX':this['doc']['header'][dM(0x25b)]['x'],'minY':this['doc']['header']['extMin']['y'],'maxX':this['doc']['header'][dM(0x313)]['x'],'maxY':this['doc']['header']['extMax']['y']}:$e(this[dM(0x2ff)][dM(0x280)]):null;}};export{Kt as CadViewer,Ne as Camera,St as CanvasRenderer,P as DxfParseError,jt as EventEmitter,At as LayerManager,Vt as MeasureTool,Pt as SpatialIndex,I as THEMES,Ae as aciToDisplayColor,ke as aciToHex,z as applyTransform,$e as computeEntitiesBounds,G as computeEntityBBox,K as drawEntity,Z as findSnaps,B as fitToView,Ft as hitTest,F as parseDxf,kt as renderDebugOverlay,Ht as renderMeasureOverlay,V as resolveEntityColor,R as screenToWorld,je as trueColorToHex,L as worldToScreen,Me as zoomAtPoint};
1
+ (function(d,f){var C=b,g=d();while(!![]){try{var h=parseInt(C(0x134))/0x1*(-parseInt(C(0x127))/0x2)+parseInt(C(0x128))/0x3*(-parseInt(C(0x121))/0x4)+-parseInt(C(0x123))/0x5+parseInt(C(0x11f))/0x6+-parseInt(C(0x120))/0x7*(-parseInt(C(0x12d))/0x8)+parseInt(C(0x12c))/0x9+parseInt(C(0x131))/0xa*(parseInt(C(0x130))/0xb);if(h===f)break;else g['push'](g['shift']());}catch(i){g['push'](g['shift']());}}}(a,0xa25df));import{t as c}from'./chunk.js';var t=c(d=>{var D=b;Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['BLANK_URL']=d['relativeFirstCharacters']=d['whitespaceEscapeCharsRegex']=d['urlSchemeRegex']=d['ctrlCharactersRegex']=d['htmlCtrlEntityRegex']=d['htmlEntitiesRegex']=d['invalidProtocolRegex']=void 0x0,d['invalidProtocolRegex']=/^([^\w]*)(javascript|data|vbscript)/im,d['htmlEntitiesRegex']=/&#(\w+)(^\w|;)?/g,d['htmlCtrlEntityRegex']=/&(newline|tab);/gi,d['ctrlCharactersRegex']=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,d['urlSchemeRegex']=/^.+(:|&colon;)/gim,d['whitespaceEscapeCharsRegex']=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,d['relativeFirstCharacters']=['.','/'],d['BLANK_URL']=D(0x126);}),n=c(d=>{Object['defineProperty'](d,'__esModule',{'value':!0x0}),d['sanitizeUrl']=l;var f=t();function g(m){return f['relativeFirstCharacters']['indexOf'](m[0x0])>-0x1;}function h(m){var E=b;return m[E(0x124)](f['ctrlCharactersRegex'],'')['replace'](f['htmlEntitiesRegex'],function(p,q){return String['fromCharCode'](q);});}function j(m){return URL['canParse'](m);}function k(m){try{return decodeURIComponent(m);}catch(p){return m;}}function l(m){var F=b;if(!m)return f['BLANK_URL'];var q,v=k(m[F(0x129)]());do v=h(v)['replace'](f['htmlCtrlEntityRegex'],'')['replace'](f[F(0x122)],'')['replace'](f['whitespaceEscapeCharsRegex'],'')['trim'](),v=k(v),q=v[F(0x12f)](f['ctrlCharactersRegex'])||v['match'](f[F(0x125)])||v[F(0x12f)](f['htmlCtrlEntityRegex'])||v['match'](f['whitespaceEscapeCharsRegex']);while(q&&q['length']>0x0);var w=v;if(!w)return f['BLANK_URL'];if(g(w))return w;var x=w[F(0x12b)](),y=x['match'](f[F(0x133)]);if(!y)return w;var z=y[0x0]['toLowerCase']()[F(0x129)]();if(f['invalidProtocolRegex']['test'](z))return f['BLANK_URL'];var A=x['replace'](/\\/g,'/');if(z===F(0x12a)||z['includes']('://'))return A;if(z==='http:'||z===F(0x132)){if(!j(A))return f['BLANK_URL'];var B=new URL(A);return B['protocol']=B[F(0x12e)]['toLowerCase'](),B['hostname']=B['hostname']['toLowerCase'](),B['toString']();}return A;}});export{n as t};function b(c,d){c=c-0x11f;var e=a();var f=e[c];return f;}function a(){var G=['354OarPZO','trim','mailto:','trimStart','6009201sodjfd','15528VvUwit','protocol','match','17084023OKHtPj','10rUWeGe','https:','urlSchemeRegex','98989MDeozJ','1805580BWXcIL','2793HBQvLo','28568KMBLXJ','ctrlCharactersRegex','3002460uaHJZW','replace','htmlEntitiesRegex','about:blank','24nhlPLZ'];a=function(){return G;};return a();}