@flyfish-group/file-viewer3 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -24
- package/dist/components/3MFLoader.js +1 -1
- package/dist/components/AMFLoader.js +1 -1
- package/dist/components/AudioViewer.js +1 -1
- package/dist/components/CadViewer.js +1 -1
- package/dist/components/CodeViewer.js +1 -1
- package/dist/components/ColladaLoader.js +1 -1
- package/dist/components/DrawingViewer.js +1 -1
- package/dist/components/EdaViewer.js +1 -1
- package/dist/components/EmailViewer.js +1 -1
- package/dist/components/EpubViewer.js +1 -1
- package/dist/components/FBXLoader.js +1 -1
- package/dist/components/GLTFLoader.js +1 -1
- package/dist/components/ImageViewer.js +1 -1
- package/dist/components/KMZLoader.js +1 -1
- package/dist/components/MarkdownViewer.js +1 -1
- package/dist/components/ModelViewer.js +1 -1
- package/dist/components/OBJLoader.js +1 -1
- package/dist/components/OfdViewer.js +1 -1
- package/dist/components/PCDLoader.js +1 -1
- package/dist/components/PLYLoader.js +1 -1
- package/dist/components/PdfView.js +206 -207
- package/dist/components/PptxRender.js +1 -1
- package/dist/components/STLLoader.js +1 -1
- package/dist/components/TDSLoader.js +1 -1
- package/dist/components/TypstViewer.js +1671 -0
- package/dist/components/USDLoader.js +1 -1
- package/dist/components/UmdViewer.js +1 -1
- package/dist/components/VRMLLoader.js +1 -1
- package/dist/components/VTKLoader.js +1 -1
- package/dist/components/XYZLoader.js +1 -1
- package/dist/components/XlsxTable.js +1 -1
- package/dist/components/__vite-browser-external.js +1 -1
- package/dist/components/_plugin-vue_export-helper.js +1 -1
- package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
- package/dist/components/arc.js +1 -1
- package/dist/components/architecture-7EHR7CIX.js +1 -1
- package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
- package/dist/components/archive.js +1 -1
- package/dist/components/asyncToGenerator.js +1 -1
- package/dist/components/audio.js +1 -1
- package/dist/components/az-AZ-76LH7QW2.js +1 -1
- package/dist/components/bash.js +1 -1
- package/dist/components/bg-BG-XCXSNQG7.js +1 -1
- package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
- package/dist/components/bn-BD-2XOGV67Q.js +1 -1
- package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
- package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
- package/dist/components/cad.js +1 -1
- package/dist/components/cfb.js +1 -1
- package/dist/components/channel.js +1 -1
- package/dist/components/chunk-2J33WTMH.js +1 -1
- package/dist/components/chunk-3OPIFGDE.js +1 -1
- package/dist/components/chunk-4BX2VUAB.js +1 -1
- package/dist/components/chunk-55IACEB6.js +1 -1
- package/dist/components/chunk-5ZQYHXKU.js +1 -1
- package/dist/components/chunk-6U3AYISY.js +1 -1
- package/dist/components/chunk-727SXJPM.js +1 -1
- package/dist/components/chunk-AGHRB4JF.js +1 -1
- package/dist/components/chunk-AQP2D5EJ.js +1 -1
- package/dist/components/chunk-BSJP7CBP.js +1 -1
- package/dist/components/chunk-CSCIHK7Q.js +1 -1
- package/dist/components/chunk-FMBD7UC4.js +1 -1
- package/dist/components/chunk-K2UTITRG.js +1 -1
- package/dist/components/chunk-KSCS5N6A.js +1 -1
- package/dist/components/chunk-L5ZTLDWV.js +1 -1
- package/dist/components/chunk-LZXEDZCA.js +1 -1
- package/dist/components/chunk-ND2GUHAM.js +1 -1
- package/dist/components/chunk-NZK2D7GU.js +1 -1
- package/dist/components/chunk-O5CBEL6O.js +1 -1
- package/dist/components/chunk-QZHKN3VN.js +1 -1
- package/dist/components/chunk-SRAX5OIU.js +1 -1
- package/dist/components/chunk-WU5MYG2G.js +1 -1
- package/dist/components/chunk-XPW4576I.js +1 -1
- package/dist/components/chunk-Z3N5DIM6.js +1 -1
- package/dist/components/chunk-ZUYEQ4TG.js +1 -1
- package/dist/components/chunk.js +1 -1
- package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
- package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
- package/dist/components/compiler.js +1 -0
- package/dist/components/core.js +1 -1
- package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
- package/dist/components/cpp.js +1 -1
- package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
- package/dist/components/csharp.js +1 -1
- package/dist/components/css.js +1 -1
- package/dist/components/cytoscape.esm.js +1 -1
- package/dist/components/da-DK-5WZEPLOC.js +1 -1
- package/dist/components/dagre-BM42HDAG.js +1 -1
- package/dist/components/dagre.js +1 -1
- package/dist/components/de-DE-XR44H4JA.js +1 -1
- package/dist/components/defaultLocale.js +1 -1
- package/dist/components/defineProperty.js +1 -1
- package/dist/components/diagram-2AECGRRQ.js +1 -1
- package/dist/components/diagram-5GNKFQAL.js +1 -1
- package/dist/components/diagram-KO2AKTUF.js +1 -1
- package/dist/components/diagram-LMA3HP47.js +1 -1
- package/dist/components/diagram-OG6HWLK6.js +1 -1
- package/dist/components/diff.js +1 -1
- package/dist/components/directory-open-01563666.js +1 -1
- package/dist/components/directory-open-4ed118d0.js +1 -1
- package/dist/components/dist.js +1 -1
- package/dist/components/dist2.js +1 -1
- package/dist/components/dist3.js +1 -1
- package/dist/components/docx-preview.js +1 -1
- package/dist/components/drawing.js +1 -1
- package/dist/components/ebook.js +1 -1
- package/dist/components/eda.js +1 -1
- package/dist/components/el-GR-BZB4AONW.js +1 -1
- package/dist/components/email.js +1 -1
- package/dist/components/en-B4ZKOASM.js +1 -1
- package/dist/components/erDiagram-TEJ5UH35.js +1 -1
- package/dist/components/es-ES-U4NZUMDT.js +1 -1
- package/dist/components/eu-ES-A7QVB2H4.js +1 -1
- package/dist/components/eventmodeling-FCH6USID.js +1 -1
- package/dist/components/fa-IR-HGAKTJCU.js +1 -1
- package/dist/components/fflate.module.js +1 -1
- package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
- package/dist/components/file-open-002ab408.js +1 -1
- package/dist/components/file-open-7c801643.js +1 -1
- package/dist/components/file-save-3189631c.js +1 -1
- package/dist/components/file-save-745eba88.js +1 -1
- package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
- package/dist/components/fr-FR-RHASNOE6.js +1 -1
- package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
- package/dist/components/gitGraph-WXDBUCRP.js +1 -1
- package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
- package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
- package/dist/components/global-compiler.js +1 -0
- package/dist/components/global-renderer.js +1 -0
- package/dist/components/go.js +1 -1
- package/dist/components/graphlib.js +1 -1
- package/dist/components/he-IL-6SHJWFNN.js +1 -1
- package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
- package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
- package/dist/components/id-ID-SAP4L64H.js +1 -1
- package/dist/components/image-GAAHSSAO.js +1 -1
- package/dist/components/image-blob-reduce.esm.js +1 -1
- package/dist/components/image.js +1 -1
- package/dist/components/info-J43DQDTF.js +1 -1
- package/dist/components/infoDiagram-5YYISTIA.js +1 -1
- package/dist/components/ini.js +1 -1
- package/dist/components/init.js +1 -1
- package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
- package/dist/components/it-IT-JPQ66NNP.js +1 -1
- package/dist/components/ja-JP-DBVTYXUO.js +1 -1
- package/dist/components/java.js +1 -1
- package/dist/components/javascript.js +1 -1
- package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
- package/dist/components/json.js +1 -1
- package/dist/components/jszip.min.js +1 -1
- package/dist/components/kaa-6HZHGXH3.js +1 -1
- package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
- package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
- package/dist/components/katex.js +1 -1
- package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
- package/dist/components/km-KH-HSX4SM5Z.js +1 -1
- package/dist/components/ko-KR-MTYHY66A.js +1 -1
- package/dist/components/ku-TR-6OUDTVRD.js +1 -1
- package/dist/components/lib.js +1 -1
- package/dist/components/libarchive.js +1 -1
- package/dist/components/linear.js +1 -1
- package/dist/components/lt-LT-XHIRWOB4.js +1 -1
- package/dist/components/lv-LV-5QDEKY6T.js +1 -1
- package/dist/components/markdown.js +1 -1
- package/dist/components/md.js +1 -1
- package/dist/components/mermaid-parser.core.js +1 -1
- package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
- package/dist/components/model.js +1 -1
- package/dist/components/mp4.js +1 -1
- package/dist/components/mr-IN-CRQNXWMA.js +1 -1
- package/dist/components/my-MM-5M5IBNSE.js +1 -1
- package/dist/components/nb-NO-T6EIAALU.js +1 -1
- package/dist/components/nestedRender.js +1 -1
- package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
- package/dist/components/nn-NO-6E72VCQL.js +1 -1
- package/dist/components/objectSpread2.js +1 -1
- package/dist/components/objectWithoutProperties.js +1 -1
- package/dist/components/oc-FR-POXYY2M6.js +1 -1
- package/dist/components/ofd.js +1 -1
- package/dist/components/ofd2.js +1 -1
- package/dist/components/ordinal.js +1 -1
- package/dist/components/pa-IN-N4M65BXN.js +1 -1
- package/dist/components/packet-YPE3B663.js +1 -1
- package/dist/components/pdf.js +1 -1
- package/dist/components/percentages-BXMCSKIN.js +1 -1
- package/dist/components/php.js +1 -1
- package/dist/components/pica.js +1 -1
- package/dist/components/pie-LRSECV5Y.js +1 -1
- package/dist/components/pie.js +1 -1
- package/dist/components/pieDiagram-4H26LBE5.js +1 -1
- package/dist/components/pl-PL-T2D74RX3.js +1 -1
- package/dist/components/postal-mime.js +1 -1
- package/dist/components/pptx.js +1 -1
- package/dist/components/printLayout.js +1 -1
- package/dist/components/prod.js +1 -1
- package/dist/components/pt-BR-5N22H2LF.js +1 -1
- package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
- package/dist/components/python.js +1 -1
- package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
- package/dist/components/radar-GUYGQ44K.js +1 -1
- package/dist/components/renderer.js +1 -0
- package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
- package/dist/components/ro-RO-JPDTUUEW.js +1 -1
- package/dist/components/rough.esm.js +1 -1
- package/dist/components/roundRect.js +1 -1
- package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
- package/dist/components/rust.js +1 -1
- package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
- package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
- package/dist/components/shared.js +1 -1
- package/dist/components/shared2.js +1 -1
- package/dist/components/si-LK-N5RQ5JYF.js +1 -1
- package/dist/components/sk-SK-C5VTKIMK.js +1 -1
- package/dist/components/sl-SI-NN7IZMDC.js +1 -1
- package/dist/components/sourceLoading.js +1 -0
- package/dist/components/sql.js +1 -1
- package/dist/components/src.js +1 -1
- package/dist/components/src2.js +1 -1
- package/dist/components/stateDiagram-AJRCARHV.js +1 -1
- package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
- package/dist/components/subset-shared.chunk.js +1 -1
- package/dist/components/subset-worker.chunk.js +1 -1
- package/dist/components/sv-SE-XGPEYMSR.js +1 -1
- package/dist/components/ta-IN-2NMHFXQM.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/th-TH-HPSO5L25.js +1 -1
- package/dist/components/three.module.js +1 -1
- package/dist/components/time.js +1 -1
- package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
- package/dist/components/tr-TR-DEFEU3FU.js +1 -1
- package/dist/components/treeView-BLDUP644.js +1 -1
- package/dist/components/treemap-LRROVOQU.js +1 -1
- package/dist/components/typescript.js +1 -1
- package/dist/components/typst.js +1 -0
- package/dist/components/uk-UA-QMV73CPH.js +1 -1
- package/dist/components/umd.js +1 -1
- package/dist/components/use.js +1 -1
- package/dist/components/util.js +1 -1
- package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
- package/dist/components/vi-VN-M7AON7JQ.js +1 -1
- package/dist/components/wardley-L42UT6IY.js +1 -1
- package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
- package/dist/components/wasm-pack-shim.js +1 -0
- package/dist/components/wasm-pack-shim2.js +1 -0
- package/dist/components/wasm.js +1 -0
- package/dist/components/word.js +1 -1
- package/dist/components/worker-ref.js +1 -1
- package/dist/components/xlsx.js +1 -1
- package/dist/components/xml.js +1 -1
- package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
- package/dist/components/yaml.js +1 -1
- package/dist/components/zh-CN-LNUGB5OW.js +1 -1
- package/dist/components/zh-HK-E62DVLB3.js +1 -1
- package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
- package/dist/file-viewer3.css +1 -1
- package/dist/index.mjs +1 -1
- package/dist/src/compare/main.d.ts +0 -0
- package/dist/src/package/common/sourceLoading.d.ts +10 -0
- package/dist/src/package/common/type.d.ts +33 -1
- package/dist/src/package/components/FileViewer/useViewerExport.d.ts +2 -1
- package/dist/src/package/vendors/pdf/PdfView.vue.d.ts +2 -1
- package/dist/src/package/vendors/pptx/index.d.ts +1 -1
- package/dist/src/package/vendors/typst/TypstViewer.vue.d.ts +15 -0
- package/dist/src/package/vendors/typst/index.d.ts +8 -0
- package/dist/src/package/vendors/xlsx/index.d.ts +1 -1
- package/package.json +8 -1
- package/dist/components/wrapAsyncGenerator.js +0 -1
package/dist/components/dist.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const aY=a1;(function(a6,a7){const aX=a1,a8=a6();while(!![]){try{const a9=-parseInt(aX(0xe4))/0x1*(parseInt(aX(0x145))/0x2)+-parseInt(aX(0xf5))/0x3+-parseInt(aX(0x1e2))/0x4+-parseInt(aX(0x161))/0x5+-parseInt(aX(0x1b3))/0x6+parseInt(aX(0x1f5))/0x7*(-parseInt(aX(0x1fc))/0x8)+parseInt(aX(0x15a))/0x9*(parseInt(aX(0x208))/0xa);if(a9===a7)break;else a8['push'](a8['shift']());}catch(aa){a8['push'](a8['shift']());}}}(a0,0x1eb8b));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[aY(0x189)]-0x1,aa=c){const aZ=aY;for(;a9>a8;){if(a9-a8>0x258){let af=a9-a8+0x1,ag=a7-a8+0x1,ah=Math[aZ(0x1a1)](af),ai=0.5*Math['exp'](0x2*ah/0x3),aj=0.5*Math['sqrt'](ah*ai*(af-ai)/af)*(ag-af/0x2<0x0?-0x1:0x1);o(a6,a7,Math[aZ(0x216)](a8,Math['floor'](a7-ag*ai/af+aj)),Math[aZ(0x109)](a9,Math[aZ(0x12f)](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 b0=aY;this['_maxEntries']=Math['max'](0x4,a6),this['_minEntries']=Math[b0(0x216)](0x2,Math['ceil'](this['_maxEntries']*0.4)),this['clear']();}['all'](){return this['_all'](this['data'],[]);}['search'](a6){const b1=aY;let a7=this['data'],a8=[];if(!x(a6,a7))return a8;let a9=this[b1(0x1b9)],aa=[];for(;a7;){for(let ab=0x0;ab<a7[b1(0x1a2)]['length'];ab++){let ac=a7['children'][ab],ad=a7['leaf']?a9(ac):ac;x(a6,ad)&&(a7['leaf']?a8['push'](ac):b(a6,ad)?this['_all'](ac,a8):aa['push'](ac));}a7=aa['pop']();}return a8;}['collides'](a6){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['toBBox'](aa):aa;if(x(a6,ab)){if(a7['leaf']||b(a6,ab))return!0x0;a8['push'](aa);}}a7=a8['pop']();}return!0x1;}['load'](a6){const b2=aY;if(!(a6&&a6[b2(0x189)]))return this;if(a6['length']<this[b2(0x1ee)]){for(let a8=0x0;a8<a6['length'];a8++)this['insert'](a6[a8]);return this;}let a7=this['_build'](a6['slice'](),0x0,a6['length']-0x1,0x0);if(!this['data']['children']['length'])this[b2(0x1ce)]=a7;else{if(this['data']['height']===a7['height'])this['_splitRoot'](this[b2(0x1ce)],a7);else{if(this['data']['height']<a7['height']){let a9=this['data'];this[b2(0x1ce)]=a7,a7=a9;}this['_insert'](a7,this['data']['height']-a7['height']-0x1,!0x0);}}return this;}['insert'](a6){return a6&&this['_insert'](a6,this['data']['height']-0x1),this;}['clear'](){return this['data']=S([]),this;}[aY(0x20e)](a6,a7){const b3=aY;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['leaf']){let ag=u(a6,a8['children'],a7);if(ag!==-0x1)return a8[b3(0x1a2)]['splice'](ag,0x1),aa['push'](a8),this['_condense'](aa),this;}!af&&!a8[b3(0x18a)]&&b(a8,a9)?(aa[b3(0x158)](a8),ab['push'](ac),ac=0x0,ad=a8,a8=a8['children'][0x0]):ad?(ac++,a8=ad['children'][ac],af=!0x1):a8=null;}return this;}['toBBox'](a6){return a6;}['compareMinX'](a6,a7){return a6['minX']-a7['minX'];}[aY(0x12d)](a6,a7){const b4=aY;return a6[b4(0x1dd)]-a7['minY'];}['toJSON'](){return this['data'];}['fromJSON'](a6){return this['data']=a6,this;}['_all'](a6,a7){const b5=aY;let a8=[];for(;a6;)a6['leaf']?a7[b5(0x158)](...a6[b5(0x1a2)]):a8['push'](...a6['children']),a6=a8['pop']();return a7;}['_build'](a6,a7,a8,a9){const b6=aY;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[b6(0x1a1)](aa)/Math['log'](ab)),ab=Math['ceil'](aa/Math['pow'](ab,a9-0x1))),ac=S([]),ac['leaf']=!0x1,ac[b6(0x1a8)]=a9;let ad=Math['ceil'](aa/ab),af=ad*Math['ceil'](Math[b6(0x169)](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']['push'](this['_build'](a6,ai,aj,a9-0x1));}}return d(ac,this['toBBox']),ac;}['_chooseSubtree'](a6,a7,a8,a9){const b7=aY;for(;a9['push'](a7),!(a7['leaf']||a9[b7(0x189)]-0x1===a8);){let aa=Infinity,ab=Infinity,ac;for(let ad=0x0;ad<a7[b7(0x1a2)]['length'];ad++){let af=a7[b7(0x1a2)][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){const b8=aY;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'][b8(0x189)]>this['_maxEntries'];)this[b8(0x1d5)](aa,a7),a7--;this[b8(0x105)](a9,aa,a7);}[aY(0x1d5)](a6,a7){const b9=aY;let a8=a6[a7],a9=a8['children']['length'],aa=this['_minEntries'];this[b9(0xf3)](a8,aa,a9);let ab=this['_chooseSplitIndex'](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['toBBox']),a7?a6[a7-0x1]['children']['push'](ac):this['_splitRoot'](a8,ac);}['_splitRoot'](a6,a7){const ba=aY;this[ba(0x1ce)]=S([a6,a7]),this[ba(0x1ce)]['height']=a6['height']+0x1,this['data']['leaf']=!0x1,d(this['data'],this['toBBox']);}['_chooseSplitIndex'](a6,a7,a8){let a9,aa=Infinity,ab=Infinity;for(let ac=a7;ac<=a8-a7;ac++){let ad=f(a6,0x0,ac,this['toBBox']),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 bb=aY;let a9=a6['leaf']?this['compareMinX']:m,aa=a6['leaf']?this['compareMinY']:h;this['_allDistMargin'](a6,a7,a8,a9)<this[bb(0x1db)](a6,a7,a8,aa)&&a6[bb(0x1a2)][bb(0x184)](a9);}['_allDistMargin'](a6,a7,a8,a9){const bc=aY;a6['children']['sort'](a9);let aa=this[bc(0x1b9)],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);}[aY(0x1cb)](a6){const bd=aY;for(let a7=a6[bd(0x189)]-0x1,a8;a7>=0x0;a7--)a6[a7]['children']['length']===0x0?a7>0x0?(a8=a6[a7-0x1]['children'],a8['splice'](a8[bd(0x142)](a6[a7]),0x1)):this[bd(0x11f)]():d(a6[a7],this['toBBox']);}};function u(a6,a7,a8){if(!a8)return a7['indexOf'](a6);for(let a9=0x0;a9<a7['length'];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 bf=aY;aa||(aa=S(null)),aa['minX']=Infinity,aa['minY']=Infinity,aa['maxX']=-Infinity,aa['maxY']=-Infinity;for(let ab=a7;ab<a8;ab++){let ac=a6[bf(0x1a2)][ab];p(aa,a6['leaf']?a9(ac):ac);}return aa;}function p(a6,a7){const bg=aY;return a6['minX']=Math['min'](a6['minX'],a7[bg(0x20f)]),a6['minY']=Math['min'](a6[bg(0x1dd)],a7['minY']),a6['maxX']=Math[bg(0x216)](a6['maxX'],a7['maxX']),a6['maxY']=Math['max'](a6[bg(0x14d)],a7['maxY']),a6;}function m(a6,a7){const bh=aY;return a6['minX']-a7[bh(0x20f)];}function h(a6,a7){return a6['minY']-a7['minY'];}function g(a6){return(a6['maxX']-a6['minX'])*(a6['maxY']-a6['minY']);}function _(a6){return a6['maxX']-a6['minX']+(a6['maxY']-a6['minY']);}function v(a6,a7){const bi=aY;return(Math[bi(0x216)](a7[bi(0x1d6)],a6[bi(0x1d6)])-Math['min'](a7['minX'],a6['minX']))*(Math['max'](a7['maxY'],a6['maxY'])-Math['min'](a7['minY'],a6['minY']));}function y(a6,a7){const bj=aY;let a8=Math['max'](a6[bj(0x20f)],a7['minX']),a9=Math['max'](a6['minY'],a7[bj(0x1dd)]),aa=Math['min'](a6['maxX'],a7[bj(0x1d6)]),ab=Math['min'](a6['maxY'],a7['maxY']);return Math['max'](0x0,aa-a8)*Math['max'](0x0,ab-a9);}function b(a6,a7){const bk=aY;return a6['minX']<=a7['minX']&&a6['minY']<=a7['minY']&&a7['maxX']<=a6[bk(0x1d6)]&&a7[bk(0x14d)]<=a6['maxY'];}function x(a6,a7){return a7['minX']<=a6['maxX']&&a7['minY']<=a6['maxY']&&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 bl=aY;let ab=[a7,a8];for(;ab[bl(0x189)];){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['push'](a7,ac,ac,a8);}}n(),a2(),a4();function w(a6){const bm=aY;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)[bm(0x156)]();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)['replace'](/\s+$/,'');aa=ab+0x1,a8['push']({'code':ad,'value':af});}return a8;}function T(a6,a7,a8){const bn=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDSEC')return a7+0x1;if(a9[bn(0x13d)]===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['length']){let ab=E(a6,a7);a8['extMin']=ab['point'],a7=ab['nextIndex'];}break;case bn(0x137):if(a7<a6['length']){let ac=E(a6,a7);a8['extMax']=ac['point'],a7=ac['nextIndex'];}break;case'$INSUNITS':a7<a6['length']&&(a8['insUnits']=parseInt(a6[a7][bn(0x212)],0xa),a7++);break;case bn(0x202):a7<a6['length']&&(a8[bn(0x120)]=parseInt(a6[a7]['value'],0xa),a7++);break;case'$LTSCALE':a7<a6['length']&&(a8[bn(0x18c)]=parseFloat(a6[a7][bn(0x212)]),a7++);break;case'$DWGCODEPAGE':a7<a6['length']&&(a8['dwgCodePage']=a6[a7]['value'],a7++);break;case'$HANDSEED':a7<a6[bn(0x189)]&&(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 E(a6,a7){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]['value']),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 bo=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDSEC')return a7+0x1;if(a9['code']===0x0&&a9[bo(0x212)]==='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'LTYPE':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 bp=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='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[bp(0x13d)]){case 0x2:aa['name']=ab['value'];break;case 0x6:aa[bp(0x175)]=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[bp(0x1da)]=parseInt(ab[bp(0x212)],0xa);break;}a7++;}a8['set'](aa['name'],aa);}else a7++;}return a7;}function ee(a6,a7,a8){const bq=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDTAB')return a7+0x1;if(a9['code']===0x0&&a9[bq(0x212)]==='LTYPE'){a7++;let aa={'name':'','description':'','pattern':[],'totalLength':0x0};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab[bq(0x13d)]){case 0x2:aa[bq(0x14e)]=ab['value'];break;case 0x3:aa['description']=ab[bq(0x212)];break;case 0x28:aa[bq(0x1aa)]=parseFloat(ab[bq(0x212)]);break;case 0x31:aa['pattern'][bq(0x158)](parseFloat(ab['value']));break;}a7++;}aa['name']&&a8['set'](aa['name'],aa);}else a7++;}return a7;}function te(a6,a7,a8){const br=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']===br(0x1d3))return a7+0x1;if(a9[br(0x13d)]===0x0&&a9[br(0x212)]==='STYLE'){a7++;let aa={'name':'','fontName':'','bigFontName':'','height':0x0,'widthFactor':0x1,'obliqueAngle':0x0};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab[br(0x13d)]){case 0x2:aa['name']=ab['value'];break;case 0x3:aa['fontName']=ab['value'];break;case 0x4:aa[br(0x1bb)]=ab[br(0x212)];break;case 0x28:aa['height']=parseFloat(ab['value']);break;case 0x29:aa[br(0x1be)]=parseFloat(ab[br(0x212)]);break;case 0x32:aa[br(0xf4)]=parseFloat(ab['value']);break;}a7++;}aa[br(0x14e)]&&a8['set'](aa['name'],aa);}else a7++;}return a7;}function A(a6){const bs=aY;let a7={'type':'','layer':'0','color':0x100,'lineType':bs(0x19a),'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[bs(0x212)];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['color']=parseInt(a8['value'],0xa);break;case 0x172:a7[bs(0x174)]=parseInt(a8['value'],0xa);break;case 0x1a4:a7['trueColor']=parseInt(a8[bs(0x212)],0xa);break;case 0xd2:a7['extrusion']['x']=parseFloat(a8['value']);break;case 0xdc:a7['extrusion']['y']=parseFloat(a8['value']);break;case 0xe6:a7['extrusion']['z']=parseFloat(a8['value']);break;}return a7;}function ne(a6){const bu=aY;let a7=a3(a3({},A(a6)),{},{'type':bu(0x17e),'start':{'x':0x0,'y':0x0,'z':0x0},'end':{'x':0x0,'y':0x0,'z':0x0}});for(let a8 of a6)switch(a8[bu(0x13d)]){case 0xa:a7['start']['x']=parseFloat(a8['value']);break;case 0x14:a7['start']['y']=parseFloat(a8['value']);break;case 0x1e:a7[bu(0x185)]['z']=parseFloat(a8['value']);break;case 0xb:a7[bu(0x16c)]['x']=parseFloat(a8['value']);break;case 0x15:a7['end']['y']=parseFloat(a8['value']);break;case 0x1f:a7['end']['z']=parseFloat(a8['value']);break;}return a7;}function a1(a,b){a=a-0xe4;const c=a0();let d=c[a];return d;}function re(a6){const bv=aY;let a7=a3(a3({},A(a6)),{},{'type':'CIRCLE','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0});for(let a8 of a6)switch(a8[bv(0x13d)]){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7['center']['y']=parseFloat(a8['value']);break;case 0x1e:a7[bv(0x138)]['z']=parseFloat(a8['value']);break;case 0x28:a7['radius']=parseFloat(a8[bv(0x212)]);break;}return a7;}function ie(a6){const bw=aY;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[bw(0x13d)]){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7[bw(0x138)]['y']=parseFloat(a8['value']);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0x28:a7['radius']=parseFloat(a8['value']);break;case 0x32:a7[bw(0x159)]=parseFloat(a8['value']);break;case 0x33:a7['endAngle']=parseFloat(a8['value']);break;}return a7;}function ae(a6){const bx=aY;let a7=a3(a3({},A(a6)),{},{'type':'LWPOLYLINE','vertices':[],'closed':!0x1,'constantWidth':0x0,'elevation':0x0}),a8=null;for(let a9 of a6)switch(a9[bx(0x13d)]){case 0x46:a7['closed']=(parseInt(a9['value'],0xa)&0x1)!=0x0;break;case 0x26:a7['elevation']=parseFloat(a9[bx(0x212)]);break;case 0x2b:a7['constantWidth']=parseFloat(a9['value']);break;case 0xa:a8&&a7[bx(0x13a)]['push'](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['endWidth']=parseFloat(a9['value']));break;case 0x2a:a8&&(a8['bulge']=parseFloat(a9['value']));break;}return a8&&a7['vertices']['push'](a8),a7;}function oe(a6){const by=aY;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['value'],0xa);a7['closed']=(a9&0x1)!=0x0,a7[by(0x12b)]=(a9&0x8)!=0x0;break;}}return a7;}function se(a6){const bz=aY;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[bz(0x138)]['y']=parseFloat(a8['value']);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0xb:a7[bz(0x186)]['x']=parseFloat(a8['value']);break;case 0x15:a7['majorAxis']['y']=parseFloat(a8['value']);break;case 0x1f:a7['majorAxis']['z']=parseFloat(a8[bz(0x212)]);break;case 0x28:a7[bz(0x21b)]=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 bA=aY;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[bA(0x13d)]){case 0x46:a7['flags']=parseInt(aa['value'],0xa);break;case 0x47:a7['degree']=parseInt(aa['value'],0xa);break;case 0x28:a7[bA(0x134)]['push'](parseFloat(aa['value']));break;case 0x29:a7['weights'][bA(0x158)](parseFloat(aa['value']));break;case 0xa:a8&&a7['controlPoints'][bA(0x158)](a8),a8={'x':parseFloat(aa[bA(0x212)]),'y':0x0,'z':0x0};break;case 0x14:a8&&(a8['y']=parseFloat(aa[bA(0x212)]));break;case 0x1e:a8&&(a8['z']=parseFloat(aa[bA(0x212)]));break;case 0xb:a9&&a7[bA(0x20d)]['push'](a9),a9={'x':parseFloat(aa[bA(0x212)]),'y':0x0,'z':0x0};break;case 0x15:a9&&(a9['y']=parseFloat(aa[bA(0x212)]));break;case 0x1f:a9&&(a9['z']=parseFloat(aa['value']));break;case 0xc:a7['startTangent']||(a7['startTangent']={'x':0x0,'y':0x0,'z':0x0}),a7['startTangent']['x']=parseFloat(aa['value']);break;case 0x16:a7['startTangent']&&(a7['startTangent']['y']=parseFloat(aa['value']));break;case 0x20:a7['startTangent']&&(a7['startTangent']['z']=parseFloat(aa['value']));break;case 0xd:a7[bA(0xfb)]||(a7['endTangent']={'x':0x0,'y':0x0,'z':0x0}),a7['endTangent']['x']=parseFloat(aa['value']);break;case 0x17:a7['endTangent']&&(a7['endTangent']['y']=parseFloat(aa['value']));break;case 0x21:a7['endTangent']&&(a7['endTangent']['z']=parseFloat(aa[bA(0x212)]));break;}return a8&&a7['controlPoints']['push'](a8),a9&&a7['fitPoints'][bA(0x158)](a9),a7;}function le(a6){const bB=aY;let a7=a3(a3({},A(a6)),{},{'type':bB(0x200),'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['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a8['value']);break;case 0xb:a7[bB(0x1d7)]||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['x']=parseFloat(a8['value']);break;case 0x15:a7['alignmentPoint']||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7[bB(0x1d7)]['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[bB(0x1be)]=parseFloat(a8['value']);break;case 0x32:a7[bB(0x206)]=parseFloat(a8['value']);break;case 0x33:a7['obliqueAngle']=parseFloat(a8['value']);break;case 0x7:a7['style']=a8['value'];break;case 0x47:a7[bB(0xe7)]=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 bC=aY;let a7=a3(a3({},A(a6)),{},{'type':bC(0x16d),'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['code']){case 0x1:a8[bC(0x158)](a9['value']);break;case 0x3:a8['push'](a9['value']);break;case 0x7:a7['style']=a9['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a9['value']);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[bC(0x14f)]['y']=parseFloat(a9['value']);break;case 0x1f:a7[bC(0x14f)]||(a7['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a7['textDirection']['z']=parseFloat(a9['value']);break;case 0x28:a7[bC(0x1a8)]=parseFloat(a9['value']);break;case 0x29:a7['width']=parseFloat(a9['value']);break;case 0x2c:a7['lineSpacingFactor']=parseFloat(a9[bC(0x212)]);break;case 0x32:a7['rotation']=parseFloat(a9['value']);break;case 0x47:a7['attachmentPoint']=parseInt(a9['value'],0xa);break;case 0x48:a7[bC(0x140)]=parseInt(a9['value'],0xa);break;case 0x49:a7['lineSpacingStyle']=parseInt(a9['value'],0xa);break;case 0x5a:a7[bC(0x19c)]=parseInt(a9['value'],0xa);break;}return a7['text']=a8['join'](''),a7;}function de(a6){const bD=aY;let a7=a3(a3({},A(a6)),{},{'type':bD(0xef),'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['code']){case 0x2:a7[bD(0x183)]=a8['value'];break;case 0xa:a7['insertionPoint']['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['scaleX']=parseFloat(a8[bD(0x212)]);break;case 0x2a:a7[bD(0x118)]=parseFloat(a8[bD(0x212)]);break;case 0x2b:a7['scaleZ']=parseFloat(a8['value']);break;case 0x2c:a7['columnSpacing']=parseFloat(a8['value']);break;case 0x2d:a7['rowSpacing']=parseFloat(a8['value']);break;case 0x32:a7['rotation']=parseFloat(a8[bD(0x212)]);break;case 0x46:a7[bD(0x14a)]=parseInt(a8['value'],0xa)||0x1;break;case 0x47:a7['rowCount']=parseInt(a8[bD(0x212)],0xa)||0x1;break;}return a7;}function fe(a6){const bE=aY;let a7=a3(a3({},A(a6)),{},{'type':'DIMENSION','blockName':'','dimStyle':bE(0x1ae),'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[bE(0x13d)]){case 0x1:a7[bE(0x1de)]=a8[bE(0x212)];break;case 0x2:a7['blockName']=a8['value'];break;case 0x3:a7[bE(0x1ed)]=a8['value'];break;case 0xa:a7[bE(0x12c)]['x']=parseFloat(a8['value']);break;case 0x14:a7['defPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7[bE(0x12c)]['z']=parseFloat(a8[bE(0x212)]);break;case 0xb:a7['textMidpoint']['x']=parseFloat(a8['value']);break;case 0x15:a7[bE(0xe5)]['y']=parseFloat(a8['value']);break;case 0x1f:a7['textMidpoint']['z']=parseFloat(a8['value']);break;case 0xd:a7['defPoint2']||(a7['defPoint2']={'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['value']);break;case 0x21:a7['defPoint2']||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['z']=parseFloat(a8['value']);break;case 0xe:a7['defPoint3']||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['x']=parseFloat(a8['value']);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['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['z']=parseFloat(a8['value']);break;case 0xf:a7['defPoint4']||(a7[bE(0x218)]={'x':0x0,'y':0x0,'z':0x0}),a7[bE(0x218)]['x']=parseFloat(a8['value']);break;case 0x19:a7['defPoint4']||(a7['defPoint4']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint4']['y']=parseFloat(a8['value']);break;case 0x23:a7[bE(0x218)]||(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['defPoint5']||(a7[bE(0x154)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['y']=parseFloat(a8['value']);break;case 0x24:a7[bE(0x154)]||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['z']=parseFloat(a8[bE(0x212)]);break;case 0x28:a7['leaderLength']=parseFloat(a8['value']);break;case 0x32:a7['rotation']=parseFloat(a8[bE(0x212)]);break;case 0x35:a7['textRotation']=parseFloat(a8['value']);break;case 0x46:a7['dimType']=parseInt(a8['value'],0xa);break;}return a7;}function pe(a6){const bF=aY;let a7=a3(a3({},A(a6)),{},{'type':'HATCH','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['patternName']=a9['value'];break;case 0x29:a7[bF(0x177)]=parseFloat(a9['value']);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[bF(0x212)],0xa);break;case 0x4c:a7['patternType']=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 bG=aY;let a8=0x0;return a7<a6['length']&&a6[a7]['code']===0x5c&&(a8=parseInt(a6[a7][bG(0x212)],0xa),a7++),a8&0x2?he(a6,a7,a8):ge(a6,a7,a8);}function he(a6,a7,a8){const bH=aY;let a9={'type':bH(0x125),'vertices':[],'bulges':[],'flags':a8},aa=!0x1;a7<a6['length']&&a6[a7]['code']===0x48&&(aa=a6[a7][bH(0x212)]==='1',a7++),a7<a6['length']&&a6[a7][bH(0x13d)]===0x49&&(a9['isClosed']=a6[a7][bH(0x212)]==='1',a7++);let ab=0x0;a7<a6['length']&&a6[a7]['code']===0x5d&&(ab=parseInt(a6[a7][bH(0x212)],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]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ad['y']=parseFloat(a6[a7][bH(0x212)]),a7++),a9['vertices']['push'](ad),aa&&a7<a6['length']&&a6[a7]['code']===0x2a?(a9[bH(0x1e5)]['push'](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 bI=aY;let a9={'type':bI(0x14c),'edges':[],'flags':a8},aa=0x0;a7<a6['length']&&a6[a7]['code']===0x5d&&(aa=parseInt(a6[a7][bI(0x212)],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':'line','start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x0}};a7<a6['length']&&a6[a7]['code']===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[bI(0x189)]&&a6[a7]['code']===0xb&&(ad['end']['x']=parseFloat(a6[a7]['value']),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':'arc','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['center']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x28&&(af['radius']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x32&&(af['startAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bI(0x13d)]===0x33&&(af['endAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x49&&(af['ccw']=a6[a7]['value']==='1',a7++),a9['edges'][bI(0x158)](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]['code']===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[bI(0x189)]&&a6[a7]['code']===0x15&&(ag['majorAxis']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6[bI(0x189)]&&a6[a7]['code']===0x28&&(ag['minorRatio']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x32&&(ag['startAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x33&&(ag['endAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x49&&(ag['ccw']=a6[a7]['value']==='1',a7++),a9[bI(0x14c)]['push'](ag);break;}case 0x4:{let ah=0x3,ai=[],aj=[];a7<a6[bI(0x189)]&&a6[a7][bI(0x13d)]===0x5e&&(ah=parseInt(a6[a7]['value'],0xa),a7++),a7<a6['length']&&a6[a7]['code']===0x49&&a7++,a7<a6['length']&&a6[a7]['code']===0x4a&&a7++;let ak=0x0;a7<a6[bI(0x189)]&&a6[a7][bI(0x13d)]===0x5f&&(ak=parseInt(a6[a7][bI(0x212)],0xa),a7++);let al=0x0;a7<a6['length']&&a6[a7]['code']===0x60&&(al=parseInt(a6[a7]['value'],0xa),a7++);for(let am=0x0;am<ak&&a7<a6[bI(0x189)]&&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]['value']),a7++),a7<a6['length']&&a6[a7][bI(0x13d)]===0x14&&(ao['y']=parseFloat(a6[a7]['value']),a7++),aj['push'](ao);}a9['edges']['push']({'type':'spline','degree':ah,'knots':ai,'controlPoints':aj});break;}}}for(;a7<a6[bI(0x189)]&&(a6[a7]['code']===0x61||a6[a7]['code']===0x14a);)if(a6[a7]['code']===0x61){let ap=parseInt(a6[a7][bI(0x212)],0xa);a7++;for(let aq=0x0;aq<ap&&a7<a6[bI(0x189)]&&a6[a7][bI(0x13d)]===0x14a;aq++)a7++;}else a7++;return{'path':a9,'nextIndex':a7};}function _e(a6){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['value']);break;case 0x14:a7['position']['y']=parseFloat(a8['value']);break;case 0x1e:a7['position']['z']=parseFloat(a8['value']);break;}return a7;}function j(a6,a7,a8){const bJ=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']!==0x0){a7++;continue;}let aa=a9['value'];if(aa==='ENDSEC'||aa===bJ(0xf1))return a7+0x1;a7++;let ab=[];for(;a7<a6[bJ(0x189)]&&a6[a7]['code']!==0x0;)ab['push'](a6[a7]),a7++;switch(aa){case'LINE':a8['push'](ne(ab));break;case'CIRCLE':a8['push'](re(ab));break;case'ARC':a8['push'](ie(ab));break;case'LWPOLYLINE':a8['push'](ae(ab));break;case'ELLIPSE':a8['push'](se(ab));break;case'SPLINE':a8[bJ(0x158)](ce(ab));break;case'TEXT':a8['push'](le(ab));break;case bJ(0x16d):a8[bJ(0x158)](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['push'](fe(ab));break;case'HATCH':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 bK=aY;for(;a7<a6['length'];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9==='SEQEND')return a7+0x1;if(a9==='ENDSEC'||a9==='ENDBLK')return a7;if(a9===bK(0x151)){a7++;let aa={'x':0x0,'y':0x0,'bulge':0x0,'startWidth':0x0,'endWidth':0x0};for(;a7<a6['length']&&a6[a7][bK(0x13d)]!==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['startWidth']=parseFloat(ab[bK(0x212)]);break;case 0x29:aa['endWidth']=parseFloat(ab['value']);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6[bK(0x189)]&&a6[a7]['code']!==0x0;)a7++;}}return a7;}function ye(a6,a7,a8){const bL=aY;for(;a7<a6['length'];){if(a6[a7][bL(0x13d)]!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9===bL(0x179))return a7+0x1;if(a9==='ENDSEC'||a9===bL(0xf1))return a7;if(a9==='ATTRIB'){a7++;let aa={'tag':'','text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'rotation':0x0,'style':'STANDARD','layer':'0','color':0x100};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x1:aa[bL(0x116)]=ab['value'];break;case 0x2:aa[bL(0x10b)]=ab['value'];break;case 0x7:aa['style']=ab['value'];break;case 0x8:aa['layer']=ab[bL(0x212)];break;case 0xa:aa['insertionPoint']['x']=parseFloat(ab[bL(0x212)]);break;case 0x14:aa['insertionPoint']['y']=parseFloat(ab['value']);break;case 0x1e:aa['insertionPoint']['z']=parseFloat(ab[bL(0x212)]);break;case 0x28:aa['height']=parseFloat(ab[bL(0x212)]);break;case 0x32:aa['rotation']=parseFloat(ab['value']);break;case 0x3e:aa[bL(0x194)]=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 bM=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDSEC')return a7+0x1;if(a9[bM(0x13d)]===0x0&&a9['value']==='BLOCK'){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[bM(0x14e)]=ab['value'];break;case 0x8:break;case 0xa:aa['basePoint']['x']=parseFloat(ab['value']);break;case 0x14:aa['basePoint']['y']=parseFloat(ab['value']);break;case 0x1e:aa['basePoint']['z']=parseFloat(ab[bM(0x212)]);break;case 0x46:aa['flags']=parseInt(ab[bM(0x212)],0xa);break;}a7++;}a7=j(a6,a7,aa['entities']),aa['name']&&!aa['name']['startsWith']('*Model_Space')&&!aa['name']['startsWith']('*Paper_Space')&&a8['set'](aa['name'],aa);}else a7++;}return a7;}function a0(){const dG=['workerManager','devicePixelRatio','File:\x20','replace','canvas','isArray','color','layer',']\x20→\x20[','load','viewer','rowCount','BYLAYER','measureTool','bgFill','touchmove','crosshair','handleTouchEnd','fillStyle','log','children','setPointerCapture','pan','firstPoint','guardDestroyed','options','height','match','totalLength','defPoint3','moveTo','endAngle','STANDARD','HATCH','measure','updateSize','cos','1009920yKCAZh','layers','degree','measureColor','byteLength','object','toBBox','px\x20','bigFontName','extMax','drawCalls','widthFactor','stopDebugLoop','onPointerUp','totalLoadTime','mouseScreenY','basePoint','left','handleMove','windows-1250','inputHandler','isPanning','style','alphabetic','_condense','textBaseline','top','data','strokeStyle','defPoint2','arc','translate','ENDTAB','handleWheel','_split','maxX','alignmentPoint','getContext','line','trueColor','_allDistMargin','onTouchEnd','minY','textOverride','#000000','Standard','bind','524336UfxVTJ','emit','onTouchStart','bulges','emitter','debugEnabled','identifier','toFixed','spatialIndexBuildTime','items','secondPoint','dimStyle','_minEntries','lastDebugStats','mouseScreenX','dark','scaleX','terminate','dxfVersion','1869vDFcOk','POLYLINE','ceil','ELLIPSE','selectedEntityIndex','debugRafId','top-left','6024CnEkMl','minScale','windows-1252','ARC','TEXT','boolean','$MEASUREMENT','flags','vAlign','camera','rotation','doc','130lsEurc','stroke','decode','entities','setTransform','fitPoints','remove','minX','abs','onDocumentLoaded','value','getTransform','padStart','font','max','header','defPoint4','lineCap','handlePointerMove','minorRatio','9542vPLaPy','textMidpoint','addEventListener','generationFlags','grab','handleMouseMove','isSeparator','clientY','radius','frameTimestamps','maxZoom','INSERT','pending','ENDBLK','worker','_chooseSplitAxis','obliqueAngle','384555osjUfF','debug','pow','right','SPLINE','onPointerDown','endTangent','handlePointerUp','requestRender','setLayerVisible','measureText','transform','slice','has','postMessage','reviveDocument','_adjustParentBBoxes','atan2','type','closed','min','width','tag','beginPath','maxScale','loadedFileSize','get','touchstart','resizeObserver','size','second-point','getDocument','midpoint','text','renderPending','scaleY','distance','computeViewportBounds','handleTouchMove','\x22Century\x20Gothic\x22,\x20sans-serif','bulge','fitToView','clear','measurement','lineTo','loadedFileName','showCamera','getTool','polyline','visibleCache','insertionPoint','strokeRect','POINT','getVisibleLayerNames','is3d','defPoint','compareMinY','releasePointerCapture','floor','layerManager','currentSnap','shift_jis','lastDoRenderTime','knots','destroy','getCursorForTool','$EXTMAX','center','byType','vertices','destroyWorker','clientX','code','blobUrl','blocks','drawingDirection','sin','indexOf','currentTool','rowSpacing','6ioCRsY','destroyed','closePath','getHeight','button','columnCount','round','edges','maxY','name','textDirection','touches','VERTEX','handleTouchStart','hAlign','defPoint5','isLocked','trim','entitiesSkipped','push','startAngle','660213ZswrDS','runConverters','controlPoints','euc-kr','removeEventListener','lastFrameTime','textAlign','852700svNuIw','renderer','initialTool','set','first-point','entityBBoxes','getBoundingClientRect','scale','sqrt','delete','fill','end','MTEXT','handlePan','entityIndex','getWorker','state','position','spatialIndex','lineWeight','lineType','offsetY','patternScale','startParam','SEQEND','CIRCLE','touchend','pointerdown','loadGeneration','LINE','endpoint','hypot','fillText','lineWidth','blockName','sort','start','majorAxis','now','entries','length','leaf','LWPOLYLINE','ltScale','done'];a0=function(){return dG;};return a0();}var M='AutoCAD\x20Binary\x20DXF',xe={'ANSI_874':'windows-874','ANSI_932':aY(0x132),'ANSI_936':'gbk','ANSI_949':aY(0x15d),'ANSI_950':'big5','ANSI_1250':aY(0x1c6),'ANSI_1251':'windows-1251','ANSI_1252':aY(0x1fe),'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='AC1021';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 bN=aY;var a7;if(typeof a6=='string')return N(a6);let a8=new Uint8Array(a6);if(new TextDecoder('ascii')['decode'](a8[bN(0x101)](0x0,M['length']))===M)throw new P('Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.');let a9=new TextDecoder('utf-8')['decode'](a6),aa=a9['match'](/\$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[bN(0x1a9)](/\$DWGCODEPAGE[\s\S]*?\n\s*3\s*\n\s*(\S+)/),ag=(ad=xe[(ac=af==null?void 0x0:af[0x1])==null?'':ac])==null?bN(0x1fe):ad;ag!=='utf-8'&&(a9=new TextDecoder(ag)[bN(0x20a)](a6));}return N(a9);}function Te(a6,a7){for(;a7<a6['length'];){if(a6[a7]['code']===0x0&&a6[a7]['value']==='ENDSEC')return a7+0x1;a7++;}return a7;}function Ee(a6){const bO=aY;a6[bO(0x1b4)]['has']('0')||a6['layers']['set']('0',{'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1});}function De(a6){const bP=aY;for(let [,a7]of a6['layers'])a7['isOff']=a7['color']<0x0,a7['isOff']&&(a7['color']=Math['abs'](a7['color'])),a7['isFrozen']=(a7['flags']&0x1)!=0x0,a7[bP(0x155)]=(a7['flags']&0x4)!=0x0;}var P=class extends Error{constructor(a6,a7){super(a6),this['cause']=a7,this['name']='DxfParseError';}};function F(a6){const bQ=aY;if(typeof a6=='string'){if(a6['length']===0x0)throw new P('Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.');}else{if(a6 instanceof ArrayBuffer){if(a6['byteLength']===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[bQ(0x189)];){let ad=a8[ac];if(ad['code']===0x0&&ad[bQ(0x212)]==='SECTION'){if(ac++,ac>=a8['length'])break;let af=a8[ac]['value'];switch(ac++,af){case'HEADER':ac=T(a8,ac,a9[bQ(0x217)]);break;case'TABLES':ac=D(a8,ac,a9);break;case'BLOCKS':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){var a8;return a6===0x7||(a8=Oe[Math['abs'](a6)])==null?a7?'#FFFFFF':'#000000':a8;}function je(a6){const bR=aY;let a7=a6>>0x10&0xff,a8=a6>>0x8&0xff,a9=a6&0xff;return'#'+a7['toString'](0x10)['padStart'](0x2,'0')+a8['toString'](0x10)[bR(0x214)](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':aY(0x1df),'selectionColor':'#0066ff','measureColor':'#ff6600','gridColor':'#dddddd','crosshairColor':'#cccccc'}};function L(a6,a7,a8){const bS=aY;return[a7*a6['scale']+a6['offsetX'],-a8*a6[bS(0x168)]+a6['offsetY']];}function R(a6,a7,a8){return[(a7-a6['offsetX'])/a6['scale'],-(a8-a6['offsetY'])/a6['scale']];}function z(a6,a7){let a8=window['devicePixelRatio']||0x1;a6['setTransform'](a7['scale']*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 bT=aY;let ac=Math[bT(0x216)](aa,Math['min'](ab,a6['scale']*a9)),ad=ac/a6[bT(0x168)];return{'scale':ac,'offsetX':a7-(a7-a6['offsetX'])*ad,'offsetY':a8-(a8-a6[bT(0x176)])*ad};}var Ne=class{constructor(a6){const bU=aY;t(this,'transform',{'scale':0x1,'offsetX':0x0,'offsetY':0x0}),t(this,'minScale',void 0x0),t(this,bU(0x10d),void 0x0),this['minScale']=a6['minZoom'],this['maxScale']=a6['maxZoom'];}['getTransform'](){return this['transform'];}['setTransform'](a6){this['transform']=a6;}['pan'](a6,a7){const bV=aY;this['transform']=a3(a3({},this['transform']),{},{'offsetX':this['transform']['offsetX']+a6,'offsetY':this[bV(0x100)]['offsetY']+a7});}['zoom'](a6,a7,a8){const bW=aY;this['transform']=Me(this['transform'],a6,a7,a8,this[bW(0x1fd)],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 bX=aY;if(a6['trueColor']!==void 0x0)return'rgb('+(a6[bX(0x1da)]>>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[bX(0x195)]);return aa?aa['trueColor']===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 bY=aY;a6['beginPath'](),a6[bY(0x1ac)](a7['start']['x'],a7[bY(0x185)]['y']),a6[bY(0x121)](a7['end']['x'],a7['end']['y']),a6['stroke']();}function Ie(a6,a7){const bZ=aY;a7['radius']<=0x0||(a6['beginPath'](),a6[bZ(0x1d1)](a7['center']['x'],a7[bZ(0x138)]['y'],a7['radius'],0x0,Math['PI']*0x2),a6['stroke']());}function Le(a6,a7){const c0=aY;if(a7['radius']<=0x0)return;let a8=a7['startAngle']*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6[c0(0x10c)](),a6['arc'](a7['center']['x'],a7['center']['y'],a7['radius'],a8,a9,!0x1),a6[c0(0x209)]();}function Re(a6,a7,a8,a9,aa){const c1=aY;let ab=a8-a6,ac=a9-a7,ad=Math[c1(0x169)](ab*ab+ac*ac);if(ad<1e-10)return{'cx':a6,'cy':a7,'radius':0x0,'startAngle':0x0,'endAngle':0x0,'anticlockwise':!0x1};let af=Math[c1(0x210)](aa)*ad/0x2,ag=(Math['pow'](ad/0x2,0x2)+Math['pow'](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[c1(0x106)](a7-ao,a6-an),'endAngle':Math['atan2'](a9-ao,a8-an),'anticlockwise':aa<0x0};}function H(a6,a7,a8,a9,aa,ab){const c2=aY;let ac=Re(a7,a8,a9,aa,ab);if(ac['radius']<1e-10){a6['lineTo'](a9,aa);return;}a6['arc'](ac['cx'],ac['cy'],ac['radius'],ac['startAngle'],ac[c2(0x1ad)],ac['anticlockwise']);}function ze(a6,a7){const c3=aY;let a8=a7['vertices'];if(a8[c3(0x189)]<0x2)return;a6['beginPath'](),a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7[c3(0x108)]?a8[c3(0x189)]:a8['length']-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8['length']];Math['abs'](ab[c3(0x11d)])<1e-10?a6[c3(0x121)](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab['bulge']);}a6['stroke']();}function Be(a6,a7){const c4=aY;let a8=a7[c4(0x13a)];if(a8['length']<0x2)return;a6['beginPath'](),a6[c4(0x1ac)](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[c4(0x189)]],af=(aa=ac['bulge'])==null?0x0:aa;Math[c4(0x210)](af)<1e-10?a6[c4(0x121)](ad['x'],ad['y']):H(a6,ac['x'],ac['y'],ad['x'],ad['y'],af);}a6['stroke']();}function Ve(a6,a7){const c5=aY;let a8=Math['sqrt'](Math['pow'](a7['majorAxis']['x'],0x2)+Math['pow'](a7['majorAxis']['y'],0x2)+Math['pow'](a7[c5(0x186)]['z'],0x2));if(a8<1e-10||a7['minorRatio']<=0x0)return;let a9=a8*a7[c5(0x21b)],aa=Math['atan2'](a7['majorAxis']['y'],a7['majorAxis']['x']);a6[c5(0x10c)](),a6['ellipse'](a7['center']['x'],a7['center']['y'],a8,a9,aa,a7[c5(0x178)],a7['endParam'],!0x1),a6['stroke']();}function He(a6,a7,a8,a9,aa){const c6=aY;var ab;let ac=a7['length']-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[c6(0x210)](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 c7=aY;if(a6['length']<0x2)return a6['map'](a9=>({'x':a9['x'],'y':a9['y']}));let a7=[],a8=a6[c7(0x189)];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['min'](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 c8=aY;if(a6['degree']===0x1)return a6['controlPoints']['map'](af=>({'x':af['x'],'y':af['y']}));if(a6[c8(0x15c)]['length']===0x0&&a6['fitPoints']['length']>=0x2)return Ue(a6['fitPoints']);if(a6['controlPoints']['length']<a6['degree']+0x1||a6['knots']['length']<a6['controlPoints']['length']+a6[c8(0x1b5)]+0x1)return[];let a8=[],a9=a6['knots'][a6[c8(0x1b5)]],aa=a6[c8(0x134)][a6['knots']['length']-a6[c8(0x1b5)]-0x1];if(aa<=a9)return[];let ab=Math['max'](a6[c8(0x15c)]['length']*0xa,Math[c8(0x1f7)]((aa-a9)/a7)),ac=Math['min'](ab,0x1388),ad=a6['weights']['length']>0x0?a6['weights']: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){const c9=aY;let a9=We(a7,a8);if(!(a9['length']<0x2)){a6[c9(0x10c)](),a6[c9(0x1ac)](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9[c9(0x189)];aa++)a6['lineTo'](a9[aa]['x'],a9[aa]['y']);a7[c9(0x203)]&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':'monospace','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':aY(0x11c)};function qe(a6){return Ke[a6['toLowerCase']()['trim']()]||'sans-serif';}function Je(a6,a7,a8){const ca=aY;if(!a7['text']||a7['height']<a8*0x4)return;let a9=a7[ca(0x153)]!==0x0||a7[ca(0x204)]!==0x0,aa=a9&&a7[ca(0x1d7)]?a7['alignmentPoint']['x']:a7['insertionPoint']['x'],ab=a9&&a7[ca(0x1d7)]?a7['alignmentPoint']['y']:a7['insertionPoint']['y'];if(a6['save'](),a6['translate'](aa,ab),a6['scale'](0x1,-0x1),a7['rotation']&&a6['rotate'](-a7[ca(0x206)]*Math['PI']/0xb4),a7['widthFactor']!==0x1&&a6[ca(0x168)](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']||'Standard');switch(a6['font']=a7['height']+'px\x20'+af,a7[ca(0x153)]){case 0x0:a6['textAlign']=ca(0x1c4);break;case 0x1:a6[ca(0x160)]='center';break;case 0x2:a6['textAlign']='right';break;case 0x3:a6[ca(0x160)]='left';break;case 0x4:a6['textAlign']=ca(0x138);break;case 0x5:a6['textAlign']='left';break;default:a6['textAlign']='left';}switch(a7['vAlign']){case 0x0:a6['textBaseline']=ca(0x1ca);break;case 0x1:a6['textBaseline']='bottom';break;case 0x2:a6[ca(0x1cc)]='middle';break;case 0x3:a6['textBaseline']='top';break;default:a6['textBaseline']='alphabetic';}a6['fillText'](a7['text'],0x0,0x0),a6['restore']();}function Ye(a6){const cb=aY;return a6[cb(0x191)](/\\P/g,'\x0a')[cb(0x191)](/\\[fFHWQTCAaLlOoKk][^;]*;/g,'')['replace'](/\\\\/g,'\x5c')['replace'](/\\~/g,'\u00a0')['replace'](/\{/g,'')['replace'](/\}/g,'')['replace'](/\\S[^;]*;/g,'')['trim']();}function Xe(a6,a7,a8){const cc=aY;var a9;if(!a7['text']||a7[cc(0x1a8)]<a8*0x4)return;a6['save'](),a6[cc(0x1d2)](a7['insertionPoint']['x'],a7[cc(0x127)]['y']),a6[cc(0x168)](0x1,-0x1);let aa=a7['textDirection']?Math['atan2'](a7['textDirection']['y'],a7['textDirection']['x']):(a7[cc(0x206)]||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']||cc(0x1e0));a6['font']=a7['height']+cc(0x1ba)+ad;let af=(a7['attachmentPoint']-0x1)%0x3,ag=Math[cc(0x12f)]((a7['attachmentPoint']-0x1)/0x3);a6[cc(0x160)]=(a9=['left',cc(0x138),cc(0xf8)][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['fillText'](ab[aj],0x0,ah+aj*ac);a6['restore']();}var Ze=0x64;function Qe(a6,a7,a8,a9=0x0){const cd=aY;if(a9>Ze)return null;if(a8['has'](a6))return a8[cd(0x10f)](a6);let aa=a7['blocks']['get'](a6);if(!aa)return a8['set'](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']===cd(0xef)?U(ai,a7,a8,a9+0x1):G(ai),aj&&(ag=!0x0,ab=Math['min'](ab,aj[cd(0x20f)]),ac=Math['min'](ac,aj['minY']),ad=Math['max'](ad,aj['maxX']),af=Math['max'](af,aj[cd(0x14d)]));}let ah=ag?{'minX':ab,'minY':ac,'maxX':ad,'maxY':af}:null;return a8[cd(0x164)](a6,ah),ah;}function U(a6,a7,a8,a9=0x0){const cf=aY;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[cf(0x1c3)]['x'],ad=ab['basePoint']['y'],af=aa['minX']-ac,ag=aa['minY']-ad,ah=aa['maxX']-ac,ai=aa['maxY']-ad,aj=a6['scaleX'],ak=a6['scaleY'],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[cf(0x206)]||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[cf(0x216)](aI,aI+aM),aH=Math[cf(0x109)](aH,aH+aN),aJ=Math[cf(0x216)](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[cf(0x109)](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['min'](aw,aw+aV),ax=Math[cf(0x109)](ax,ax+aW),ay=Math['max'](ay,ay+aV),az=Math[cf(0x216)](az,az+aW);}}return{'minX':aw,'minY':ax,'maxX':ay,'maxY':az};}function $e(a6,a7){const cg=aY;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[cg(0x109)](a8,ag['minX']),a9=Math['min'](a9,ag['minY']),aa=Math['max'](aa,ag['maxX']),ab=Math['max'](ab,ag[cg(0x14d)]));}return ac?{'minX':a8,'minY':a9,'maxX':aa,'maxY':ab}:null;}function et(a6,a7,a8){return a6['type']==='INSERT'?U(a6,a7,a8):G(a6);}var W=null;function tt(a6){const ch=aY;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[ch(0x20b)][ab]);a7['set'](a8,aa);}return a7;}function nt(a6){W=a6;}function rt(){W=null;}function it(a6,a7){const ci=aY;if(!W)return;let a8=W['get'](a6);if(!(!a8||a7>=a8[ci(0x189)]))return a8[a7];}function G(a6){const cj=aY;switch(a6['type']){case'LINE':return{'minX':Math[cj(0x109)](a6['start']['x'],a6['end']['x']),'minY':Math['min'](a6['start']['y'],a6['end']['y']),'maxX':Math['max'](a6['start']['x'],a6['end']['x']),'maxY':Math[cj(0x216)](a6[cj(0x185)]['y'],a6['end']['y'])};case'CIRCLE':return{'minX':a6['center']['x']-a6['radius'],'minY':a6['center']['y']-a6['radius'],'maxX':a6[cj(0x138)]['x']+a6['radius'],'maxY':a6['center']['y']+a6['radius']};case'ARC':return{'minX':a6['center']['x']-a6['radius'],'minY':a6['center']['y']-a6['radius'],'maxX':a6['center']['x']+a6[cj(0xec)],'maxY':a6['center']['y']+a6['radius']};case'LWPOLYLINE':case cj(0x1f6):{if(a6['vertices']['length']===0x0)return null;let ao=Infinity,ap=Infinity,aq=-Infinity,ar=-Infinity;for(let as of a6['vertices'])ao=Math['min'](ao,as['x']),ap=Math['min'](ap,as['y']),aq=Math['max'](aq,as['x']),ar=Math['max'](ar,as['y']);return{'minX':ao,'minY':ap,'maxX':aq,'maxY':ar};}case cj(0x1f8):{let au=Math['sqrt'](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['insertionPoint']['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x']+a6['height']*a6['text']['length']*0.6,'maxY':a6['insertionPoint']['y']+a6[cj(0x1a8)]};case cj(0x16d):return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y']-a6['height'],'maxX':a6['insertionPoint']['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['controlPoints'])av=Math['min'](av,az['x']),aw=Math['min'](aw,az['y']),ax=Math['max'](ax,az['x']),ay=Math[cj(0x216)](ay,az['y']);return{'minX':av,'minY':aw,'maxX':ax,'maxY':ay};}case cj(0x129):return{'minX':a6['position']['x'],'minY':a6[cj(0x172)]['y'],'maxX':a6['position']['x'],'maxY':a6['position']['y']};case cj(0xef):return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x'],'maxY':a6['insertionPoint']['y']};case'DIMENSION':if(a6[cj(0x12c)]){var a7,a8,a9,aa,ab,ac,ad,af,ag,ah,ai,aj,ak,al,am,an;return{'minX':Math[cj(0x109)](a6[cj(0x12c)]['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[cj(0x109)](a6[cj(0x12c)]['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['max'](a6[cj(0x12c)]['x'],(ag=(ah=a6['defPoint2'])==null?void 0x0:ah['x'])==null?a6['defPoint']['x']:ag,(ai=(aj=a6['defPoint3'])==null?void 0x0:aj['x'])==null?a6['defPoint']['x']:ai),'maxY':Math['max'](a6[cj(0x12c)]['y'],(ak=(al=a6['defPoint2'])==null?void 0x0:al['y'])==null?a6['defPoint']['y']:ak,(am=(an=a6['defPoint3'])==null?void 0x0:an['y'])==null?a6['defPoint']['y']:am)};}return null;case cj(0x1af):{let aA=Infinity,aB=Infinity,aC=-Infinity,aD=-Infinity,aE=!0x1;for(let aF of a6['boundaryPaths'])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[cj(0x216)](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',aY(0x1ff),aY(0x17a),'LWPOLYLINE','POLYLINE','ELLIPSE','SPLINE']);function ot(a6){return at['has'](a6);}function st(a6,a7){const ck=aY;a6['moveTo'](a7['start']['x'],a7['start']['y']),a6[ck(0x121)](a7['end']['x'],a7['end']['y']);}function ct(a6,a7){const cl=aY;if(a7['radius']<=0x0)return;let a8=a7[cl(0x159)]*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6['moveTo'](a7['center']['x']+a7['radius']*Math['cos'](a8),a7['center']['y']+a7['radius']*Math[cl(0x141)](a8)),a6[cl(0x1d1)](a7['center']['x'],a7[cl(0x138)]['y'],a7['radius'],a8,a9,!0x1);}function lt(a6,a7){const cm=aY;a7['radius']<=0x0||(a6['moveTo'](a7[cm(0x138)]['x']+a7['radius'],a7['center']['y']),a6['arc'](a7[cm(0x138)]['x'],a7['center']['y'],a7['radius'],0x0,Math['PI']*0x2));}function ut(a6,a7){const cn=aY;let a8=a7['vertices'];if(a8['length']<0x2)return;a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8[cn(0x189)]-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8[cn(0x189)]];Math[cn(0x210)](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){const co=aY;let a8=a7['vertices'];if(a8[co(0x189)]<0x2)return;a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7[co(0x108)]?a8[co(0x189)]:a8['length']-0x1;for(let ab=0x0;ab<a9;ab++){var aa;let ac=a8[ab],ad=a8[(ab+0x1)%a8[co(0x189)]],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 cp=aY;let a8=Math['sqrt'](Math[cp(0xf7)](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']),ab=Math['cos'](aa),ac=Math['sin'](aa),ad=Math['cos'](a7['startParam']),af=Math['sin'](a7['startParam']);a6['moveTo'](a7[cp(0x138)]['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['endParam'],!0x1);}function pt(a6,a7,a8){const cq=aY;let a9=We(a7,a8);if(!(a9[cq(0x189)]<0x2)){a6['moveTo'](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9['length'];aa++)a6[cq(0x121)](a9[aa]['x'],a9[aa]['y']);a7['flags']&0x1&&a6[cq(0x147)]();}}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=aY;if(ac>ht)return;let af=a8['blocks'][cr(0x10f)](a7['blockName']);if(!af)return;let ag=Math['max'](0x1,a7['columnCount']),ah=Math[cr(0x216)](0x1,a7[cr(0x199)]);for(let aj=0x0;aj<ah;aj++)for(let ak=0x0;ak<ag;ak++){a6['save']();let al=a7[cr(0x127)]['x']+ak*a7['columnSpacing'],am=a7['insertionPoint']['y']+aj*a7[cr(0x144)];a6['translate'](al,am),a7[cr(0x206)]&&a6['rotate'](a7['rotation']*Math['PI']/0xb4),a6['scale'](a7[cr(0x1f2)],a7['scaleY']),a6[cr(0x1d2)](-af['basePoint']['x'],-af['basePoint']['y']);let an=ab/(Math['max'](Math['abs'](a7['scaleX']),Math['abs'](a7['scaleY']))||0x1),ao=null,ap=af[cr(0x20b)];for(let aq=0x0;aq<ap[cr(0x189)];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['max'](av['maxX']-av['minX'],av['maxY']-av['minY']);if(aw>0x0&&aw/an<gt)continue;}}let as=V(ar,a8['layers'],aa);if(ar[cr(0x107)]!==cr(0xef)&&ot(ar['type'])){if(as!==ao&&(ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++),ao=as,a6['beginPath'](),a6[cr(0x1cf)]=as,a6['lineWidth']=an),mt(a6,ar,an),ad){var ai;ad['byType'][ar[cr(0x107)]]=((ai=ad['byType'][ar['type']])==null?0x0:ai)+0x1;}}else ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++,ao=null),a6['strokeStyle']=as,a6['fillStyle']=as,a6['lineWidth']=an,ar['type']===cr(0xef)?_t(a6,ar,a8,a9,aa,an,ac+0x1,ad):K(a6,ar,a8,a9,aa,an,ad);}ao!==null&&(a6[cr(0x209)](),ad&&ad['drawCalls']++),a6['restore']();}}function vt(a6,a7,a8,a9,aa,ab,ac){const cs=aY;if(a7['blockName']){let ad=a8['blocks']['get'](a7['blockName']);if(ad){for(let af of ad[cs(0x20b)]){let ag=V(af,a8['layers'],aa);a6[cs(0x1cf)]=ag,a6[cs(0x1a0)]=ag,a6[cs(0x182)]=ab,K(a6,af,a8,a9,aa,ab,ac);}return;}}a7[cs(0x1d0)]&&a7['defPoint3']&&(a6['beginPath'](),a6['moveTo'](a7['defPoint2']['x'],a7['defPoint2']['y']),a6['lineTo'](a7[cs(0x12c)]['x'],a7[cs(0x12c)]['y']),a6['stroke'](),a6[cs(0x10c)](),a6['moveTo'](a7['defPoint3']['x'],a7[cs(0x1ab)]['y']),a6['lineTo'](a7['defPoint']['x'],a7['defPoint']['y']),a6['stroke']());}function yt(a6,a7){const cu=aY;if(a7['boundaryPaths']['length']!==0x0){a6['beginPath']();for(let aa of a7['boundaryPaths'])if(aa['type']==='polyline'&&aa['vertices']&&aa[cu(0x13a)]['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['vertices'][ac-0x1],af=aa['vertices'][ac],ag=(a8=(a9=aa['bulges'])==null?void 0x0:a9[ac-0x1])==null?0x0:a8;Math[cu(0x210)](ag)<1e-10?a6[cu(0x121)](af['x'],af['y']):H(a6,ad['x'],ad['y'],af['x'],af['y'],ag);}aa['isClosed']&&a6['closePath']();}else{if(aa['type']==='edges'&&aa['edges'])for(let ah=0x0;ah<aa['edges']['length'];ah++){let ai=aa['edges'][ah];if(ai['type']===cu(0x1d9))ah===0x0&&a6['moveTo'](ai['start']['x'],ai[cu(0x185)]['y']),a6[cu(0x121)](ai['end']['x'],ai['end']['y']);else{if(ai['type']==='arc'){if(ah===0x0){let aj=ai['center']['x']+ai['radius']*Math[cu(0x1b2)](ai[cu(0x159)]*Math['PI']/0xb4),ak=ai[cu(0x138)]['y']+ai['radius']*Math['sin'](ai['startAngle']*Math['PI']/0xb4);a6['moveTo'](aj,ak);}a6['arc'](ai['center']['x'],ai['center']['y'],ai['radius'],ai[cu(0x159)]*Math['PI']/0xb4,ai['endAngle']*Math['PI']/0xb4,!ai['ccw']);}}}}a7['solidFill']&&(a6['globalAlpha']=0.3,a6['fill']('evenodd'),a6['globalAlpha']=0x1),a6['stroke']();}}function bt(a6,a7,a8){const cv=aY;let a9=a8*0x3;a6['beginPath'](),a6['arc'](a7[cv(0x172)]['x'],a7['position']['y'],a9,0x0,Math['PI']*0x2),a6[cv(0x16b)]();}function K(a6,a7,a8,a9,aa,ab,ac){const cw=aY;if(ac){var ad;ac['drawCalls']++,ac[cw(0x139)][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'ARC':Le(a6,a7);break;case'LWPOLYLINE':ze(a6,a7);break;case'POLYLINE':Be(a6,a7);break;case'ELLIPSE':Ve(a6,a7);break;case cw(0xf9):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=aY;t(this,'ctx',void 0x0),t(this,'width',0x0),t(this,'height',0x0),this['canvas']=a6;let a7=a6[cx(0x1d8)]('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[cx(0x1b1)]();}['getContext'](){return this['ctx'];}['getWidth'](){return this['width'];}[aY(0x148)](){const cy=aY;return this[cy(0x1a8)];}['updateSize'](){const cz=aY;let a6=window['devicePixelRatio']||0x1,a7=this['canvas']['getBoundingClientRect']();this['width']=a7['width'],this['height']=a7[cz(0x1a8)],this['canvas']['width']=a7['width']*a6,this[cz(0x192)]['height']=a7['height']*a6;}['render'](a6,a7,a8,a9,aa,ab,ac){const cA=aY;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]['backgroundColor'],ad['fillRect'](0x0,0x0,this[cA(0x10a)],this[cA(0x1a8)]),z(ad,a7);let ah=0x1/a7['scale'];ad[cA(0x219)]=cA(0x14b),ad['lineJoin']='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['minX'])*a7[cA(0x168)],ap=(an['maxY']-an['minY'])*a7['scale'];if(Math['max'](ao,ap)<xt){ag[cA(0x157)]++;continue;}}}let am=V(al,a6[cA(0x1b4)],a8);if(ot(al['type'])){var aj;am!==ai&&(ai!==null&&(ad['stroke'](),ag['drawCalls']++),ai=am,ad['beginPath'](),ad[cA(0x1cf)]=am,ad['lineWidth']=ah),mt(ad,al,ah),ag['entitiesDrawn']++,ag['byType'][al['type']]=((aj=ag[cA(0x139)][al['type']])==null?0x0:aj)+0x1;}else ai!==null&&(ad['stroke'](),ag['drawCalls']++,ai=null),ad['strokeStyle']=am,ad['fillStyle']=am,ad['lineWidth']=ah,ag['entitiesDrawn']++,K(ad,al,a6,a7,a8,ah,ag);}if(ai!==null&&(ad[cA(0x209)](),ag['drawCalls']++),aa>=0x0&&aa<a6[cA(0x20b)]['length']){let aq=a6['entities'][aa];z(ad,a7),ad['strokeStyle']=I[a8]['selectionColor'],ad[cA(0x1a0)]=I[a8]['selectionColor'],ad['lineWidth']=ah*0x3,K(ad,aq,a6,a7,a8,ah);}return ag;}['renderEmpty'](a6){const cB=aY;let a7=this['ctx'],a8=window[cB(0x18f)]||0x1;a7['setTransform'](a8,0x0,0x0,a8,0x0,0x0),a7[cB(0x1a0)]=I[a6]['backgroundColor'],a7['fillRect'](0x0,0x0,this['width'],this['height']);}['destroy'](){}},Ct={'showFps':!0x0,'showRenderStats':!0x0,'showDocumentInfo':!0x0,'showTimings':!0x0,'showCamera':!0x0,'position':aY(0x1fb)};function q(a6){return a3(a3({},Ct),a6);}function wt(a6){return a6===0x0?'0\x20B':a6<0x400?a6+'\x20B':a6<0x400*0x400?(a6/0x400)['toFixed'](0x1)+'\x20KB':(a6/(0x400*0x400))['toFixed'](0x1)+'\x20MB';}function Tt(a6){return a6>=0x1?a6['toFixed'](0x2)+'x':'1:'+(0x1/a6)['toFixed'](0x1);}var Et='11px\x20monospace',Dt=0xf,Ot=0x8,J=0x8,Y=0xa;function kt(a6,a7,a8,a9,aa,ab){const cC=aY;a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ac=[];if(a9['showFps']&&ac['push'](['FPS:\x20'+a7['fps']+'\x20\x20Frame:\x20'+a7['frameTime']['toFixed'](0x1)+'ms']),a9['showRenderStats']){let am=a7['renderStats']['entitiesDrawn']+a7['renderStats']['entitiesSkipped'],an=['Drawn:\x20'+a7['renderStats']['entitiesDrawn']+'\x20/\x20'+am+'\x20\x20Calls:\x20'+a7['renderStats'][cC(0x1bd)]],ao=Object[cC(0x188)](a7['renderStats']['byType'])['sort'](([,ap],[,aq])=>aq-ap)[cC(0x101)](0x0,0x6)['map'](([ap,aq])=>ap+':\x20'+aq)['join']('\x20\x20');ao&&an['push'](ao),ac[cC(0x158)](an);}if(a9['showDocumentInfo']){let ap=['Layers:\x20'+a7['visibleLayerCount']+'\x20/\x20'+a7['layerCount']+'\x20\x20Blocks:\x20'+a7['blockCount']];a7['dxfVersion']&&ap['push']('DXF:\x20'+a7[cC(0x1f4)]),a7['fileName']&&ap['push'](cC(0x190)+a7['fileName']),a7['fileSize']>0x0&&ap['push']('Size:\x20'+wt(a7['fileSize'])),ac['push'](ap);}if(a9['showTimings']){let aq=[];a7['parseTime']>0x0&&aq[cC(0x158)]('Parse:\x20'+a7['parseTime']['toFixed'](0x0)+'ms'),a7['spatialIndexBuildTime']>0x0&&aq['push']('Index:\x20'+a7[cC(0x1ea)]['toFixed'](0x0)+'ms'),a7[cC(0x1c1)]>0x0&&aq[cC(0x158)]('Load:\x20'+a7['totalLoadTime']['toFixed'](0x0)+'ms'),aq['length']>0x0&&ac['push']([aq['join']('\x20\x20')]);}if(a9[cC(0x123)]){let ar=a7['viewportBounds'];ac[cC(0x158)](['Zoom:\x20'+Tt(a7['zoom'])+'\x20\x20Pixel:\x20'+a7['pixelSize'][cC(0x1e9)](0x2),'View:\x20['+ar['minX']['toFixed'](0x0)+',\x20'+ar[cC(0x1dd)]['toFixed'](0x0)+cC(0x196)+ar[cC(0x1d6)]['toFixed'](0x0)+',\x20'+ar[cC(0x14d)]['toFixed'](0x0)+']']);}if(ac[cC(0x189)]===0x0)return;a6['font']=Et;let ad=[];for(let as=0x0;as<ac['length'];as++){as>0x0&&ad[cC(0x158)]({'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['isSeparator']){let aw=a6['measureText'](av[cC(0x116)])[cC(0x10a)];aw>af&&(af=aw);}let ag=af+J*0x2,ah=J*0x2;for(let ax of ad)ah+=ax[cC(0xea)]?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[cC(0x1a0)]=a8==='dark'?'rgba(0,\x200,\x200,\x200.75)':'rgba(255,\x20255,\x20255,\x200.85)',a6['fillRect'](ai,aj,ag,ah),a6['strokeStyle']=a8===cC(0x1f1)?'rgba(255,\x20255,\x20255,\x200.15)':'rgba(0,\x200,\x200,\x200.15)',a6[cC(0x182)]=0x1,a6[cC(0x128)](ai+0.5,aj+0.5,ag-0x1,ah-0x1),a6['fillStyle']=a8===cC(0x1f1)?ak['defaultEntityColor']:'rgba(0,\x200,\x200,\x200.85)',a6['textAlign']='left',a6['textBaseline']='top';let al=aj+J;for(let ay of ad)ay[cC(0xea)]?al+=Ot:(a6[cC(0x181)](ay['text'],ai+J,al),al+=Dt);}var At=class{constructor(){const cD=aY;t(this,'layers',new Map()),t(this,'visibility',new Map()),t(this,'colorOverrides',new Map()),t(this,cD(0x126),null);}['setLayers'](a6){const cE=aY;this[cE(0x1b4)]=new Map(a6),this['visibility']['clear'](),this['colorOverrides']['clear'](),this['visibleCache']=null;for(let [a7,a8]of this['layers'])this['visibility']['set'](a7,!a8['isOff']&&!a8['isFrozen']);}['getAllLayers'](){return Array['from'](this['layers']['values']());}['setVisible'](a6,a7){const cF=aY;this['visibility'][cF(0x164)](a6,a7),this['visibleCache']=null;}['isVisible'](a6){const cG=aY;var a7;return(a7=this['visibility'][cG(0x10f)](a6))==null?!0x0:a7;}['setColorOverride'](a6,a7){this['colorOverrides']['set'](a6,a7);}['getColorOverride'](a6){return this['colorOverrides']['get'](a6);}['getVisibleLayerNames'](){if(this['visibleCache'])return this['visibleCache'];let a6=new Set();for(let [a7,a8]of this['visibility'])a8&&a6['add'](a7);return this['visibleCache']=a6,a6;}['clear'](){const cH=aY;this['layers'][cH(0x11f)](),this['visibility'][cH(0x11f)](),this['colorOverrides']['clear'](),this['visibleCache']=null;}},jt=class{constructor(){t(this,'listeners',new Map());}['on'](a6,a7){this['listeners']['has'](a6)||this['listeners']['set'](a6,new Set()),this['listeners']['get'](a6)['add'](a7);}['off'](a6,a7){var a8;(a8=this['listeners']['get'](a6))==null||a8['delete'](a7);}[aY(0x1e3)](a6,a7){let a8=this['listeners']['get'](a6);if(a8){for(let a9 of a8)a9(a7);}}['removeAllListeners'](){const cI=aY;this['listeners'][cI(0x11f)]();}},Mt=class{constructor(a6,a7){const cJ=aY;t(this,'isPanning',!0x1),t(this,'lastX',0x0),t(this,'lastY',0x0),t(this,'touches',new Map()),t(this,cJ(0xfa),void 0x0),t(this,'onPointerMove',void 0x0),t(this,'onPointerUp',void 0x0),t(this,'onWheel',void 0x0),t(this,'onTouchStart',void 0x0),t(this,'onTouchMove',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[cJ(0x21a)][cJ(0x1e1)](this),this['onPointerUp']=this['handlePointerUp']['bind'](this),this['onWheel']=this['handleWheel']['bind'](this),this[cJ(0x1e4)]=this['handleTouchStart']['bind'](this),this['onTouchMove']=this[cJ(0x11b)][cJ(0x1e1)](this),this['onTouchEnd']=this['handleTouchEnd']['bind'](this),this['onContextMenu']=a8=>a8['preventDefault'](),a6['addEventListener']('pointerdown',this['onPointerDown']),a6[cJ(0xe6)]('pointermove',this['onPointerMove']),a6['addEventListener']('pointerup',this[cJ(0x1c0)]),a6['addEventListener']('wheel',this['onWheel'],{'passive':!0x1}),a6['addEventListener'](cJ(0x110),this['onTouchStart'],{'passive':!0x1}),a6[cJ(0xe6)]('touchmove',this['onTouchMove'],{'passive':!0x1}),a6['addEventListener'](cJ(0x17b),this['onTouchEnd']),a6[cJ(0xe6)]('contextmenu',this['onContextMenu']);}['destroy'](){const cK=aY;this[cK(0x192)]['removeEventListener'](cK(0x17c),this[cK(0xfa)]),this[cK(0x192)]['removeEventListener']('pointermove',this['onPointerMove']),this['canvas'][cK(0x15e)]('pointerup',this[cK(0x1c0)]),this['canvas']['removeEventListener']('wheel',this['onWheel']),this['canvas']['removeEventListener']('touchstart',this['onTouchStart']),this['canvas']['removeEventListener'](cK(0x19d),this['onTouchMove']),this[cK(0x192)]['removeEventListener']('touchend',this[cK(0x1dc)]),this['canvas'][cK(0x15e)]('contextmenu',this['onContextMenu']);}['handlePointerDown'](a6){const cL=aY;let a7=this['viewer'][cL(0x124)](),a8=this['canvas']['getBoundingClientRect'](),a9=a6[cL(0x13c)]-a8['left'],aa=a6['clientY']-a8[cL(0x1cd)];a6[cL(0x149)]===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){const cM=aY;this['isPanning']=!0x0,this['lastX']=a7,this['lastY']=a8,this[cM(0x192)][cM(0x1a3)](a6['pointerId']),this[cM(0x192)]['style']['cursor']='grabbing';}['handlePointerMove'](a6){const cN=aY;let a7=this['canvas']['getBoundingClientRect'](),a8=a6['clientX']-a7[cN(0x1c4)],a9=a6['clientY']-a7[cN(0x1cd)];if(this['isPanning']){let aa=a8-this['lastX'],ab=a9-this['lastY'];this['lastX']=a8,this['lastY']=a9,this['viewer'][cN(0x16e)](aa,ab);}else this['viewer']['handleMouseMove'](a8,a9);}[aY(0xfc)](a6){const cO=aY;this['isPanning']&&(this[cO(0x1c8)]=!0x1,this['canvas'][cO(0x12e)](a6['pointerId']),this['canvas'][cO(0x1c9)]['cursor']=this['viewer']['getTool']()==='pan'?cO(0xe8):cO(0x19e));}[aY(0x1d4)](a6){const cP=aY;a6['preventDefault']();let a7=this['canvas'][cP(0x167)](),a8=a6[cP(0x13c)]-a7['left'],a9=a6['clientY']-a7['top'],aa=-Math['sign'](a6['deltaY']),ab=this[cP(0x198)]['getZoomSpeed'](),ac=aa>0x0?ab:0x1/ab;this['viewer']['handleZoom'](a8,a9,ac);}[aY(0x152)](a6){const cQ=aY;a6['preventDefault']();for(let a7 of Array['from'](a6['changedTouches']))this['touches']['set'](a7[cQ(0x1e8)],{'x':a7['clientX'],'y':a7['clientY']});}['handleTouchMove'](a6){const cR=aY;if(a6['preventDefault'](),this['touches']['size']===0x2&&a6['touches']['length']===0x2){let a7=a6['touches'][0x0],a8=a6['touches'][0x1],a9=Array['from'](this['touches']['values']()),aa=Math['hypot'](a9[0x0]['x']-a9[0x1]['x'],a9[0x0]['y']-a9[0x1]['y']),ab=Math['hypot'](a7['clientX']-a8['clientX'],a7[cR(0xeb)]-a8['clientY']);if(aa>0x0){let ac=ab/aa,ad=this[cR(0x192)][cR(0x167)](),af=(a9[0x0]['x']+a9[0x1]['x'])/0x2-ad['left'],ag=(a9[0x0]['y']+a9[0x1]['y'])/0x2-ad['top'],ah=(a7['clientX']+a8[cR(0x13c)])/0x2-ad['left'],ai=(a7['clientY']+a8['clientY'])/0x2-ad[cR(0x1cd)];this['viewer']['handleZoom'](af,ag,ac),this['viewer']['handlePan'](ah-af,ai-ag);}}else{if(this['touches']['size']===0x1&&a6['touches']['length']===0x1){let aj=a6[cR(0x150)][0x0],ak=this['touches']['get'](aj['identifier']);ak&&this['viewer'][cR(0x16e)](aj['clientX']-ak['x'],aj['clientY']-ak['y']);}}for(let al of Array['from'](a6['changedTouches']))this['touches']['set'](al['identifier'],{'x':al['clientX'],'y':al['clientY']});}[aY(0x19f)](a6){const cS=aY;for(let a7 of Array['from'](a6['changedTouches']))this[cS(0x150)][cS(0x16a)](a7['identifier']);}},Nt=0x5,Pt=class{constructor(){t(this,'tree',new l()),t(this,'items',[]),t(this,'entityBBoxes',[]);}['build'](a6,a7){const cT=aY;this['items']=[],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[cT(0x166)][a9]=ab,ab&&this['items']['push'](a3(a3({},ab),{},{'entityIndex':a9}));}this['tree']['clear'](),this['tree'][cT(0x197)](this[cT(0x1eb)]);}['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'](){this['tree']['clear'](),this['items']=[],this['entityBBoxes']=[];}};function Ft(a6,a7,a8,a9,aa,ab){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['has'](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 cU=aY;switch(a8['type']){case cU(0x17e):return X(a6,a7,a8['start']['x'],a8['start']['y'],a8['end']['x'],a8['end']['y']);case'CIRCLE':return Lt(a6,a7,a8[cU(0x138)]['x'],a8['center']['y'],a8[cU(0xec)]);case cU(0x1ff):return Rt(a6,a7,a8[cU(0x138)]['x'],a8['center']['y'],a8['radius'],a8['startAngle']*Math['PI']/0xb4,a8['endAngle']*Math['PI']/0xb4);case'LWPOLYLINE':case'POLYLINE':{let a9=Infinity,aa=a8['vertices'],ab=a8['closed']?aa[cU(0x189)]:aa['length']-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['center']['x'],a8[cU(0x138)]['y'],a8['majorAxis'],a8['minorRatio']);case'TEXT':case'MTEXT':{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[cU(0x172)]['y']);case'SPLINE':{let ai=Infinity,aj=a8['controlPoints'];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){let ac=aa-a8,ad=ab-a9,af=ac*ac+ad*ad;if(af===0x0)return Math['hypot'](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){const cV=aY;return Math[cV(0x210)](Math['hypot'](a6-a8,a7-a9)-aa);}function Rt(a6,a7,a8,a9,aa,ab,ac){const cW=aY;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[cW(0x210)](Math['hypot'](a6-a8,a7-a9)-aa);let ah=Math['hypot'](a6-(a8+aa*Math[cW(0x1b2)](ab)),a7-(a9+aa*Math['sin'](ab))),ai=Math[cW(0x180)](a6-(a8+aa*Math['cos'](ac)),a7-(a9+aa*Math['sin'](ac)));return Math[cW(0x109)](ah,ai);}function zt(a6,a7,a8,a9,aa,ab){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['hypot'](ac,ad);}function Bt(a6,a7,a8,a9,aa,ab){const cX=aY;let ac=Math['atan2'](aa['y'],aa['x']),ad=Math['cos'](-ac),af=Math[cX(0x141)](-ac),ag=(a6-a8)*ad-(a7-a9)*af,ah=(a6-a8)*af+(a7-a9)*ad,ai=Math['sqrt'](Math[cX(0xf7)](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['hypot'](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'](){this['state']={'phase':'first-point'},this['currentSnap']=null;}['deactivate'](){this['state']={'phase':'idle'},this['currentSnap']=null;}['handleClick'](a6,a7,a8){const cY=aY;let a9=a8?a8['point']:{'x':a6,'y':a7};switch(this[cY(0x171)]['phase']){case cY(0x165):return this['state']={'phase':'second-point','firstPoint':a9,'firstSnap':a8==null?void 0x0:a8},null;case'second-point':{let aa=this['state']['firstPoint'],ab=a9,ac=ab['x']-aa['x'],ad=ab['y']-aa['y'],af=Math[cY(0x169)](ac*ac+ad*ad),ag=Math['atan2'](ad,ac)*0xb4/Math['PI'];return this['state']={'phase':cY(0x18d),'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;}}[aY(0x1c5)](a6){this['currentSnap']=a6;}};function Z(a6,a7,a8,a9,aa,ab=new Set(['endpoint','midpoint','center'])){const cZ=aY;let ac=0xa/aa,ad=[],af=a9['search'](a6-ac,a7-ac,a6+ac,a7+ac);for(let ag of af){let ah=a8[ag['entityIndex']];if(!ah)continue;let ai=ag['entityIndex'];switch(ah['type']){case'LINE':ab[cZ(0x102)]('endpoint')&&(Q(ad,ah['start']['x'],ah[cZ(0x185)]['y'],'endpoint',ai,a6,a7,ac),Q(ad,ah['end']['x'],ah['end']['y'],'endpoint',ai,a6,a7,ac)),ab['has']('midpoint')&&Q(ad,(ah['start']['x']+ah['end']['x'])/0x2,(ah['start']['y']+ah['end']['y'])/0x2,cZ(0x115),ai,a6,a7,ac);break;case cZ(0x17a):if(ab['has']('center')&&Q(ad,ah['center']['x'],ah['center']['y'],'center',ai,a6,a7,ac),ab['has']('endpoint')){for(let aj of[0x0,Math['PI']/0x2,Math['PI'],0x3*Math['PI']/0x2])Q(ad,ah['center']['x']+ah[cZ(0xec)]*Math['cos'](aj),ah['center']['y']+ah['radius']*Math[cZ(0x141)](aj),'endpoint',ai,a6,a7,ac);}break;case cZ(0x1ff):if(ab['has']('center')&&Q(ad,ah['center']['x'],ah['center']['y'],'center',ai,a6,a7,ac),ab['has']('endpoint')){let ak=ah['startAngle']*Math['PI']/0xb4,al=ah[cZ(0x1ad)]*Math['PI']/0xb4;Q(ad,ah['center']['x']+ah['radius']*Math[cZ(0x1b2)](ak),ah['center']['y']+ah['radius']*Math[cZ(0x141)](ak),cZ(0x17f),ai,a6,a7,ac),Q(ad,ah[cZ(0x138)]['x']+ah['radius']*Math['cos'](al),ah['center']['y']+ah['radius']*Math[cZ(0x141)](al),'endpoint',ai,a6,a7,ac);}break;case cZ(0x18b):case'POLYLINE':if(ab['has'](cZ(0x17f))){for(let am of ah['vertices'])Q(ad,am['x'],am['y'],'endpoint',ai,a6,a7,ac);}if(ab['has']('midpoint'))for(let an=0x0;an<ah['vertices']['length']-0x1;an++){let ao=ah[cZ(0x13a)][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 cZ(0x1f8):ab['has']('center')&&Q(ad,ah['center']['x'],ah['center']['y'],cZ(0x138),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['has']('endpoint')&&Q(ad,ah['insertionPoint']['x'],ah['insertionPoint']['y'],'endpoint',ai,a6,a7,ac);break;}}return ad[cZ(0x184)]((aq,ar)=>Math['hypot'](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){Math['hypot'](a7-ab,a8-ac)<=ad&&a6['push']({'point':{'x':a7,'y':a8},'type':a9,'entityIndex':aa});}function Ht(a6,a7,a8,a9,aa,ab){const d0=aY;let ac=I[ab];a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ad=a8['state'];if(a8['currentSnap']){let [af,ag]=L(a7,a8['currentSnap']['point']['x'],a8['currentSnap']['point']['y']);Ut(a6,af,ag,a8['currentSnap']['type'],ac['measureColor']);}if(ad['phase']===d0(0x113)){let [ah,ai]=L(a7,ad[d0(0x1a5)]['x'],ad['firstPoint']['y']),aj,ak;if(a8[d0(0x131)]){let [ao,ap]=L(a7,a8[d0(0x131)]['point']['x'],a8['currentSnap']['point']['y']);aj=ao,ak=ap;}else aj=a9,ak=aa;a6['strokeStyle']=ac[d0(0x1b6)],a6['lineWidth']=1.5,a6['setLineDash']([0x6,0x3]),a6['beginPath'](),a6[d0(0x1ac)](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['hypot'](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[d0(0x1ec)]['x'],ad['secondPoint']['y']);a6['strokeStyle']=ac['measureColor'],a6[d0(0x182)]=0x2,a6['beginPath'](),a6['moveTo'](aq,ar),a6['lineTo'](as,au),a6[d0(0x209)](),$(a6,aq,ar,ac['measureColor']),$(a6,as,au,ac[d0(0x1b6)]),Wt(a6,(aq+as)/0x2,(ar+au)/0x2,ad[d0(0x119)],ab);}}function Ut(a6,a7,a8,a9,aa){const d1=aY;switch(a6['strokeStyle']=aa,a6[d1(0x182)]=0x2,a9){case'endpoint':a6['strokeRect'](a7-0x8/0x2,a8-0x8/0x2,0x8,0x8);break;case'midpoint':a6['beginPath'](),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'center':a6['beginPath'](),a6[d1(0x1d1)](a7,a8,0x8/0x2,0x0,Math['PI']*0x2),a6['stroke']();break;case'nearest':a6['beginPath'](),a6['moveTo'](a7-0x8/0x2,a8-0x8/0x2),a6['lineTo'](a7+0x8/0x2,a8+0x8/0x2),a6['moveTo'](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 d2=aY;let ab=a9['toFixed'](0x4);a6[d2(0x215)]='13px\x20monospace',a6['textAlign']='center',a6['textBaseline']='bottom';let ac=a6[d2(0xff)](ab),ad=a7-ac[d2(0x10a)]/0x2-0x4,af=a8-0x14,ag=ac['width']+0x8;a6['fillStyle']=aa==='dark'?'rgba(0,0,0,0.8)':'rgba(255,255,255,0.9)',a6['fillRect'](ad,af,ag,0x12),a6['fillStyle']=I[aa][d2(0x1b6)],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());}[aY(0x170)](){const d3=aY;return this['worker']?this['worker']:(this['blobUrl']=URL['createObjectURL'](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['worker']=new Worker(this['blobUrl']),this[d3(0xf2)]['onmessage']=a6=>{const d4=d3;let {type:a7,id:a8,doc:a9,message:aa}=a6[d4(0x1ce)],ab=this['pending']['get'](a8);ab&&(this['pending']['delete'](a8),a7==='result'?ab['resolve'](this['reviveDocument'](a9)):a7==='error'&&ab['reject'](Error(aa==null?'Worker\x20parse\x20failed':aa)));},this['worker']['onerror']=a6=>{const d5=d3;var a7;let a8=Error((a7=a6['message'])==null?'Worker\x20error':a7);for(let [,a9]of this['pending'])a9['reject'](a8);this['pending']['clear'](),this[d5(0x13b)]();},this['worker']);}['parse'](a6){return new Promise((a7,a8)=>{const d6=a1;let a9=this['nextId']++;this['pending'][d6(0x164)](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[d6(0x103)](ab);}catch(ad){this[d6(0xf0)]['delete'](a9),a8(ad instanceof Error?ad:Error(String(ad)));}});}[aY(0x1f3)](){const d7=aY;this['destroyWorker']();let a6=Error('Worker\x20terminated');for(let [,a7]of this['pending'])a7['reject'](a6);this[d7(0xf0)][d7(0x11f)]();}['destroyWorker'](){const d8=aY;this[d8(0xf2)]&&(this['worker']['terminate'](),this['worker']=null),this['blobUrl']&&(URL['revokeObjectURL'](this['blobUrl']),this[d8(0x13e)]=null);}[aY(0x104)](a6){return a3(a3({},a6),{},{'layers':this['ensureMap'](a6['layers']),'lineTypes':this['ensureMap'](a6['lineTypes']),'styles':this['ensureMap'](a6['styles']),'blocks':this['ensureMap'](a6['blocks'])});}['ensureMap'](a6){const d9=aY;return a6 instanceof Map?a6:a6&&typeof a6==d9(0x1b8)?new Map(Object['entries'](a6)):new Map();}},Kt=class{constructor(a6,a7){const da=aY;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,da(0x130),void 0x0),t(this,'emitter',void 0x0),t(this,'spatialIndex',void 0x0),t(this,'measureTool',void 0x0),t(this,'doc',null),t(this,da(0x1a7),void 0x0),t(this,'currentTool',void 0x0),t(this,'inputHandler',void 0x0),t(this,'resizeObserver',void 0x0),t(this,'formatConverters',void 0x0),t(this,da(0x18e),null),t(this,'selectedEntityIndex',-0x1),t(this,'renderPending',!0x1),t(this,'destroyed',!0x1),t(this,da(0x17d),0x0),t(this,da(0x1f0),0x0),t(this,'mouseScreenY',0x0),t(this,'debugEnabled',!0x1),t(this,'debugOptions',void 0x0),t(this,'lastRenderStats',null),t(this,da(0x1ef),null),t(this,da(0xed),[]),t(this,'lastDoRenderTime',0x0),t(this,'lastFrameTime',0x0),t(this,'parseTime',0x0),t(this,da(0x1ea),0x0),t(this,'loadedFileName',null),t(this,da(0x10e),0x0),t(this,'debugRafId',0x0),this['canvas']=a6,this['options']={'theme':(a8=a7==null?void 0x0:a7['theme'])==null?da(0x1f1):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[da(0xee)])==null?0x186a0:ab,'zoomSpeed':(ac=a7==null?void 0x0:a7['zoomSpeed'])==null?1.1:ac,'initialTool':(ad=a7==null?void 0x0:a7[da(0x163)])==null?'pan':ad},this['formatConverters']=(af=a7==null?void 0x0:a7['formatConverters'])==null?[]:af,a7!=null&&a7['worker']&&(this['workerManager']=new Gt()),a7!=null&&a7[da(0xf6)]?(this[da(0x1e7)]=!0x0,this['debugOptions']=q(typeof a7['debug']==da(0x201)?void 0x0:a7['debug'])):this['debugOptions']=q(),this['renderer']=new St(a6),this['camera']=new Ne(this['options']),this['layerManager']=new At(),this['emitter']=new jt(),this[da(0x173)]=new Pt(),this[da(0x19b)]=new Vt(),this[da(0x143)]=this[da(0x1a7)]['initialTool'],this[da(0x1c7)]=new Mt(a6,this),this[da(0x111)]=new ResizeObserver(()=>this['resize']()),this['resizeObserver']['observe'](a6),a6['style']['cursor']=this['getCursorForTool'](this['currentTool']),this['requestRender'](),this['debugEnabled']&&this['startDebugLoop']();}['guardDestroyed'](){const db=aY;if(this[db(0x146)])throw Error('CadViewer:\x20cannot\x20call\x20methods\x20on\x20a\x20destroyed\x20instance.');}[aY(0x15b)](a6){var a7=this;return a5(function*(){for(let a8 of a7['formatConverters']){let a9=!0x1;try{a9=a8['detect'](a6);}catch(aa){continue;}if(a9)return a8['convert'](a6);}return null;})();}['loadFile'](a6){var a7=this;return a5(function*(){const dc=a1;a7['guardDestroyed']();let a8=++a7[dc(0x17d)];a7['loadedFileName']=a6[dc(0x14e)],a7['loadedFileSize']=a6['size'];let a9=yield a6['arrayBuffer']();if(a7['destroyed']||a8!==a7['loadGeneration'])return;let aa=yield a7['runConverters'](a9);if(a7['destroyed']||a8!==a7[dc(0x17d)])return;let ab=performance[dc(0x187)](),ac=aa==null?a9:aa;a7['doc']=yield a7['parseWithOptionalWorker'](ac,a8),!(a7[dc(0x146)]||a8!==a7['loadGeneration'])&&(a7['parseTime']=performance['now']()-ab,a7['onDocumentLoaded']());})();}['loadBuffer'](a6){var a7=this;return a5(function*(){const dd=a1;a7['guardDestroyed']();let a8=++a7['loadGeneration'];a7['loadedFileName']=null,a7[dd(0x10e)]=a6[dd(0x1b7)];let a9=yield a7['runConverters'](a6);if(a7['destroyed']||a8!==a7[dd(0x17d)])return;let aa=performance['now'](),ab=a9==null?a6:a9;a7['doc']=yield a7['parseWithOptionalWorker'](ab,a8),!(a7['destroyed']||a8!==a7['loadGeneration'])&&(a7['parseTime']=performance['now']()-aa,a7['onDocumentLoaded']());})();}['parseWithOptionalWorker'](a6,a7){var a8=this;return a5(function*(){const df=a1;if(!a8[df(0x18e)])return F(a6);try{return yield a8['workerManager']['parse'](a6);}catch(a9){if(a8[df(0x146)]||a7!==a8['loadGeneration'])return null;throw a9;}})();}['loadDocument'](a6){const dg=aY;if(this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=0x0,this['parseTime']=0x0,!a6||!Array[dg(0x193)](a6['entities'])||!(a6['layers']instanceof Map))throw Error('CadViewer:\x20invalid\x20DxfDocument\x20—\x20expected\x20entities\x20array\x20and\x20layers\x20Map.');this[dg(0x207)]=a6,this[dg(0x211)]();}['loadString'](a6){const dh=aY;this['guardDestroyed'](),++this['loadGeneration'],this[dh(0x122)]=null,this[dh(0x10e)]=a6['length'];let a7=performance['now']();this['doc']=F(a6),this['parseTime']=performance[dh(0x187)]()-a7,this['onDocumentLoaded']();}['loadArrayBuffer'](a6){const di=aY;this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=a6['byteLength'];let a7=performance['now']();this['doc']=F(a6),this['parseTime']=performance['now']()-a7,this[di(0x211)]();}['clearDocument'](){const dj=aY;this['guardDestroyed'](),++this[dj(0x17d)],this['doc']=null,this['selectedEntityIndex']=-0x1,this['spatialIndex']['clear'](),rt(),this['layerManager']['clear'](),this['measureTool']['deactivate'](),this['requestRender']();}['onDocumentLoaded'](){const dk=aY;if(!this[dk(0x207)])return;this['layerManager']['setLayers'](this['doc'][dk(0x1b4)]);let a6=performance['now']();this[dk(0x173)]['build'](this['doc']['entities'],this['doc']),nt(tt(this['doc'])),this['spatialIndexBuildTime']=performance['now']()-a6,this['selectedEntityIndex']=-0x1,this['measureTool']['deactivate'](),this['currentTool']===dk(0x1b0)&&this['measureTool']['activate'](),this['fitToView']();}[aY(0x11e)](){const dl=aY;if(this['guardDestroyed'](),!this['doc'])return;let a6=this['computeDocumentBounds']();if(!a6)return;let a7=this['canvas']['getBoundingClientRect']();this['camera'][dl(0x20c)](B(a7[dl(0x10a)],a7['height'],a6['minX'],a6[dl(0x1dd)],a6['maxX'],a6[dl(0x14d)])),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['zoomTo'](a6){const dm=aY;this['guardDestroyed']();let a7=this[dm(0x192)]['getBoundingClientRect'](),a8=a7['width']/0x2,a9=a7[dm(0x1a8)]/0x2,aa=a6/this[dm(0x205)]['getTransform']()['scale'];this['camera']['zoom'](a8,a9,aa),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['panTo'](a6,a7){const dn=aY;this['guardDestroyed']();let a8=this['canvas']['getBoundingClientRect'](),a9=this[dn(0x205)][dn(0x213)](),aa=a6*a9['scale']+a9['offsetX'],ab=-a7*a9[dn(0x168)]+a9['offsetY'],ac=a8['width']/0x2-aa,ad=a8[dn(0x1a8)]/0x2-ab;this[dn(0x205)]['pan'](ac,ad),this['requestRender'](),this[dn(0x1e6)]['emit']('viewchange',this['camera']['getTransform']());}['getViewTransform'](){return a3({},this['camera']['getTransform']());}['getZoomSpeed'](){return this['options']['zoomSpeed'];}['getLayers'](){return this['layerManager']['getAllLayers']();}[aY(0xfe)](a6,a7){const dp=aY;this['guardDestroyed'](),this[dp(0x130)]['setVisible'](a6,a7),this[dp(0xfd)]();}['setLayerColor'](a6,a7){this['guardDestroyed'](),this['layerManager']['setColorOverride'](a6,a7),this['requestRender']();}['setTheme'](a6){this['guardDestroyed'](),this['options']['theme']=a6,this['requestRender']();}['getTheme'](){return this['options']['theme'];}['setBackgroundColor'](a6){this['guardDestroyed'](),this['options']['backgroundColor']=a6,this['requestRender']();}['setTool'](a6){const dq=aY;this[dq(0x1a6)](),this['currentTool']==='measure'&&a6!==dq(0x1b0)&&this['measureTool']['deactivate'](),this['currentTool']=a6,this['canvas'][dq(0x1c9)]['cursor']=this['getCursorForTool'](a6),a6==='measure'&&this['measureTool']['activate'](),a6!=='select'&&(this['selectedEntityIndex']=-0x1),this['requestRender']();}[aY(0x124)](){return this['currentTool'];}[aY(0x136)](a6){const dr=aY;switch(a6){case'pan':return'grab';case'select':return dr(0x19e);case'measure':return'crosshair';}}['on'](a6,a7){this['emitter']['on'](a6,a7);}['off'](a6,a7){this['emitter']['off'](a6,a7);}[aY(0x114)](){return this['doc'];}['getEntities'](){var a6,a7;return(a6=(a7=this['doc'])==null?void 0x0:a7['entities'])==null?[]:a6;}['resize'](){const ds=aY;this[ds(0x162)]['updateSize'](),this['requestRender']();}['destroy'](){const du=aY;var a6;this['destroyed']=!0x0,this[du(0x1bf)](),this[du(0x1c7)][du(0x135)](),this['resizeObserver']['disconnect'](),this['renderer'][du(0x135)](),this['emitter']['removeAllListeners'](),this['spatialIndex']['clear'](),rt(),this['layerManager']['clear'](),(a6=this['workerManager'])==null||a6['terminate'](),this[du(0x18e)]=null,this['doc']=null;}['requestRender'](){if(!this['destroyed']){if(this['debugRafId']){this['doRender']();return;}this['renderPending']||(this['renderPending']=!0x0,requestAnimationFrame(()=>{const dv=a1;this[dv(0x117)]=!0x1,!this['destroyed']&&this['doRender']();}));}}['doRender'](){const dw=aY;if(!this[dw(0x207)]){this['renderer']['renderEmpty'](this[dw(0x1a7)]['theme']);return;}let a6=this[dw(0x205)]['getTransform'](),a7=this[dw(0x162)]['getWidth'](),a8=this[dw(0x162)][dw(0x148)](),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][dw(0x16f)]);let ac=performance[dw(0x187)](),ad=this['renderer']['render'](this['doc'],a6,this['options']['theme'],this['layerManager']['getVisibleLayerNames'](),this[dw(0x1f9)],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[dw(0x133)]=af;this['frameTimestamps'][dw(0x189)]>0x0&&this['frameTimestamps'][0x0]<af-0x3e8;)this['frameTimestamps']['shift']();if(this[dw(0x143)]==='measure'&&this['measureTool']['state']['phase']!=='idle'&&Ht(this['renderer'][dw(0x1d8)](),this['camera'][dw(0x213)](),this['measureTool'],this['mouseScreenX'],this['mouseScreenY'],this['options']['theme']),this['debugEnabled']){let ah=this['renderer']['getContext'](),ai=this['buildDebugStats']();this[dw(0x1ef)]=ai,kt(ah,ai,this['options']['theme'],this['debugOptions'],this['renderer']['getWidth'](),this['renderer']['getHeight']());}}['setDebug'](a6){this['guardDestroyed'](),typeof a6=='boolean'?this['debugEnabled']=a6:(this['debugEnabled']=!0x0,this['debugOptions']=q(a6)),this['debugEnabled']?this['startDebugLoop']():(this['stopDebugLoop'](),this['requestRender']());}['startDebugLoop'](){if(this['debugRafId'])return;let a6=()=>{const dx=a1;if(!this[dx(0x1e7)]||this['destroyed']){this[dx(0x1fa)]=0x0;return;}this['doRender'](),this['debugRafId']=requestAnimationFrame(a6);};this['debugRafId']=requestAnimationFrame(a6);}['stopDebugLoop'](){this['debugRafId']&&(cancelAnimationFrame(this['debugRafId']),this['debugRafId']=0x0);}['getDebugStats'](){return this['debugEnabled']?this['lastDebugStats']:null;}['buildDebugStats'](){const dy=aY;var a6,a7,a8,a9,aa,ab,ac,ad,af;let ag=this['camera'][dy(0x213)](),ah=this[dy(0x162)]['getWidth'](),ai=this['renderer'][dy(0x148)](),aj=this['computeViewportBounds'](ag,ah,ai);return{'fps':this['frameTimestamps']['length'],'frameTime':this[dy(0x15f)],'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'][dy(0x12a)]()['size'],'blockCount':(ab=(ac=this['doc'])==null?void 0x0:ac[dy(0x13f)][dy(0x112)])==null?0x0:ab,'parseTime':this['parseTime'],'spatialIndexBuildTime':this['spatialIndexBuildTime'],'totalLoadTime':this['parseTime']+this[dy(0x1ea)],'zoom':ag['scale'],'pixelSize':ag['scale']>0x0?0x1/ag['scale']:0x0,'viewportBounds':aj,'fileName':this['loadedFileName'],'fileSize':this['loadedFileSize'],'dxfVersion':(ad=(af=this['doc'])==null?void 0x0:af[dy(0x217)]['acadVersion'])==null?null:ad};}[aY(0x11a)](a6,a7,a8){const dz=aY;let [a9,aa]=R(a6,0x0,a8),[ab,ac]=R(a6,a7,0x0);return{'minX':Math['min'](a9,ab),'minY':Math[dz(0x109)](aa,ac),'maxX':Math['max'](a9,ab),'maxY':Math[dz(0x216)](aa,ac)};}['handlePan'](a6,a7){const dA=aY;this['camera'][dA(0x1a4)](a6,a7),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['handleZoom'](a6,a7,a8){const dB=aY;this[dB(0x205)]['zoom'](a6,a7,a8),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['handleClick'](a6,a7){const dC=aY;if(!this[dC(0x207)])return;let a8=this['camera']['getTransform'](),[a9,aa]=R(a8,a6,a7);switch(this['currentTool']){case'select':this['handleSelect'](a9,aa,a6,a7);break;case'measure':{let ab=Z(a9,aa,this['doc']['entities'],this['spatialIndex'],a8['scale']),ac=ab['length']>0x0?ab[0x0]:null,ad=this['measureTool']['handleClick'](a9,aa,ac);this['requestRender'](),ad&&this['emitter'][dC(0x1e3)]('measure',ad);break;}}}[aY(0xe9)](a6,a7){const dD=aY;if(this['mouseScreenX']=a6,this[dD(0x1c2)]=a7,this['currentTool']==='measure'&&this['doc']){var a8;let a9=this['camera'][dD(0x213)](),[aa,ab]=R(a9,a6,a7),ac=Z(aa,ab,this['doc']['entities'],this['spatialIndex'],a9['scale']);this['measureTool']['handleMove']((a8=ac[0x0])==null?null:a8),this['requestRender']();}}['handleSelect'](a6,a7,a8,a9){const dE=aY;if(!this['doc'])return;let aa=Ft(a6,a7,this[dE(0x207)]['entities'],this['spatialIndex'],this[dE(0x130)]['getVisibleLayerNames'](),this[dE(0x205)]['getTransform']()['scale']);if(this['selectedEntityIndex']=aa,this['requestRender'](),aa>=0x0&&this['doc']){let ab=this[dE(0x207)]['entities'][aa];ab&&this['emitter']['emit']('select',{'entity':ab,'entityIndex':aa,'worldPoint':{'x':a6,'y':a7},'screenPoint':{'x':a8,'y':a9}});}}['computeDocumentBounds'](){const dF=aY;return this[dF(0x207)]?this[dF(0x207)]['header']['extMin']&&this['doc']['header']['extMax']?{'minX':this['doc']['header']['extMin']['x'],'minY':this['doc']['header']['extMin']['y'],'maxX':this['doc']['header']['extMax']['x'],'maxY':this[dF(0x207)]['header'][dF(0x1bc)]['y']}:$e(this['doc']['entities']):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
|
+
const b5=a1;(function(a6,a7){const aX=a1,a8=a6();while(!![]){try{const a9=-parseInt(aX(0x18a))/0x1+-parseInt(aX(0x185))/0x2*(parseInt(aX(0x218))/0x3)+parseInt(aX(0x145))/0x4*(-parseInt(aX(0x1f2))/0x5)+-parseInt(aX(0x23d))/0x6+parseInt(aX(0x1be))/0x7*(parseInt(aX(0x187))/0x8)+-parseInt(aX(0x117))/0x9*(-parseInt(aX(0x1e9))/0xa)+-parseInt(aX(0x1fb))/0xb*(-parseInt(aX(0x19c))/0xc);if(a9===a7)break;else a8['push'](a8['shift']());}catch(aa){a8['push'](a8['shift']());}}}(a0,0x325b3));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){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['sqrt'](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 aY=a1;this['_maxEntries']=Math['max'](0x4,a6),this['_minEntries']=Math['max'](0x2,Math['ceil'](this[aY(0x1cd)]*0.4)),this['clear']();}['all'](){return this['_all'](this['data'],[]);}['search'](a6){const aZ=a1;let a7=this[aZ(0x118)],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['children'][ab],ad=a7[aZ(0x223)]?a9(ac):ac;x(a6,ad)&&(a7['leaf']?a8['push'](ac):b(a6,ad)?this['_all'](ac,a8):aa['push'](ac));}a7=aa[aZ(0x1ef)]();}return a8;}['collides'](a6){const b0=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['toBBox'](aa):aa;if(x(a6,ab)){if(a7[b0(0x223)]||b(a6,ab))return!0x0;a8[b0(0x163)](aa);}}a7=a8['pop']();}return!0x1;}['load'](a6){const b1=a1;if(!(a6&&a6[b1(0x18c)]))return this;if(a6['length']<this[b1(0x10e)]){for(let a8=0x0;a8<a6['length'];a8++)this[b1(0x13d)](a6[a8]);return this;}let a7=this['_build'](a6['slice'](),0x0,a6['length']-0x1,0x0);if(!this[b1(0x118)]['children']['length'])this['data']=a7;else{if(this['data']['height']===a7['height'])this['_splitRoot'](this['data'],a7);else{if(this['data']['height']<a7['height']){let a9=this['data'];this[b1(0x118)]=a7,a7=a9;}this[b1(0x120)](a7,this['data']['height']-a7['height']-0x1,!0x0);}}return this;}['insert'](a6){return a6&&this['_insert'](a6,this['data']['height']-0x1),this;}['clear'](){const b2=a1;return this[b2(0x118)]=S([]),this;}['remove'](a6,a7){const b3=a1;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['leaf']){let ag=u(a6,a8['children'],a7);if(ag!==-0x1)return a8[b3(0x13f)][b3(0x1f7)](ag,0x1),aa['push'](a8),this['_condense'](aa),this;}!af&&!a8['leaf']&&b(a8,a9)?(aa[b3(0x163)](a8),ab['push'](ac),ac=0x0,ad=a8,a8=a8['children'][0x0]):ad?(ac++,a8=ad['children'][ac],af=!0x1):a8=null;}return this;}['toBBox'](a6){return a6;}['compareMinX'](a6,a7){return a6['minX']-a7['minX'];}['compareMinY'](a6,a7){const b4=a1;return a6[b4(0x232)]-a7['minY'];}['toJSON'](){return this['data'];}[b5(0x21a)](a6){return this['data']=a6,this;}['_all'](a6,a7){let a8=[];for(;a6;)a6['leaf']?a7['push'](...a6['children']):a8['push'](...a6['children']),a6=a8['pop']();return a7;}['_build'](a6,a7,a8,a9){const b6=b5;let aa=a8-a7+0x1,ab=this['_maxEntries'],ac;if(aa<=ab)return ac=S(a6['slice'](a7,a8+0x1)),d(ac,this[b6(0x169)]),ac;a9||(a9=Math['ceil'](Math['log'](aa)/Math['log'](ab)),ab=Math[b6(0x216)](aa/Math['pow'](ab,a9-0x1))),ac=S([]),ac[b6(0x223)]=!0x1,ac['height']=a9;let ad=Math[b6(0x216)](aa/ab),af=ad*Math['ceil'](Math[b6(0x18e)](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']['push'](this[b6(0x23c)](a6,ai,aj,a9-0x1));}}return d(ac,this['toBBox']),ac;}['_chooseSubtree'](a6,a7,a8,a9){const b7=b5;for(;a9['push'](a7),!(a7[b7(0x223)]||a9['length']-0x1===a8);){let aa=Infinity,ab=Infinity,ac;for(let ad=0x0;ad<a7['children'][b7(0x18c)];ad++){let af=a7['children'][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){const b8=b5;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'][b8(0x18c)]>this['_maxEntries'];)this[b8(0x21b)](aa,a7),a7--;this['_adjustParentBBoxes'](a9,aa,a7);}['_split'](a6,a7){const b9=b5;let a8=a6[a7],a9=a8['children'][b9(0x18c)],aa=this['_minEntries'];this['_chooseSplitAxis'](a8,aa,a9);let ab=this[b9(0x1d3)](a8,aa,a9),ac=S(a8['children']['splice'](ab,a8['children'][b9(0x18c)]-ab));ac['height']=a8['height'],ac['leaf']=a8[b9(0x223)],d(a8,this[b9(0x169)]),d(ac,this['toBBox']),a7?a6[a7-0x1]['children']['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 ba=b5;let a9,aa=Infinity,ab=Infinity;for(let ac=a7;ac<=a8-a7;ac++){let ad=f(a6,0x0,ac,this[ba(0x169)]),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 bb=b5;let a9=a6['leaf']?this['compareMinX']:m,aa=a6['leaf']?this['compareMinY']:h;this['_allDistMargin'](a6,a7,a8,a9)<this['_allDistMargin'](a6,a7,a8,aa)&&a6[bb(0x13f)]['sort'](a9);}['_allDistMargin'](a6,a7,a8,a9){const bc=b5;a6['children']['sort'](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[bc(0x223)]?aa(ai):ai),ad+=_(ac);}return ad;}['_adjustParentBBoxes'](a6,a7,a8){for(let a9=a8;a9>=0x0;a9--)p(a7[a9],a6);}['_condense'](a6){const bd=b5;for(let a7=a6[bd(0x18c)]-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['indexOf'](a6);for(let a9=0x0;a9<a7[bf(0x18c)];a9++)if(a8(a6,a7[a9]))return a9;return-0x1;}function d(a6,a7){const bg=b5;f(a6,0x0,a6['children'][bg(0x18c)],a7,a6);}function f(a6,a7,a8,a9,aa){const bh=b5;aa||(aa=S(null)),aa['minX']=Infinity,aa['minY']=Infinity,aa['maxX']=-Infinity,aa['maxY']=-Infinity;for(let ab=a7;ab<a8;ab++){let ac=a6['children'][ab];p(aa,a6[bh(0x223)]?a9(ac):ac);}return aa;}function p(a6,a7){const bi=b5;return a6['minX']=Math['min'](a6[bi(0x233)],a7['minX']),a6['minY']=Math['min'](a6['minY'],a7['minY']),a6['maxX']=Math['max'](a6['maxX'],a7['maxX']),a6['maxY']=Math['max'](a6['maxY'],a7['maxY']),a6;}function m(a6,a7){const bj=b5;return a6[bj(0x233)]-a7['minX'];}function h(a6,a7){return a6['minY']-a7['minY'];}function g(a6){const bk=b5;return(a6['maxX']-a6[bk(0x233)])*(a6['maxY']-a6[bk(0x232)]);}function _(a6){const bl=b5;return a6[bl(0x237)]-a6['minX']+(a6[bl(0x19a)]-a6['minY']);}function v(a6,a7){const bm=b5;return(Math['max'](a7['maxX'],a6['maxX'])-Math['min'](a7['minX'],a6['minX']))*(Math['max'](a7['maxY'],a6['maxY'])-Math['min'](a7['minY'],a6[bm(0x232)]));}function y(a6,a7){const bn=b5;let a8=Math['max'](a6['minX'],a7['minX']),a9=Math['max'](a6['minY'],a7['minY']),aa=Math['min'](a6[bn(0x237)],a7['maxX']),ab=Math[bn(0x23a)](a6['maxY'],a7['maxY']);return Math['max'](0x0,aa-a8)*Math['max'](0x0,ab-a9);}function b(a6,a7){const bo=b5;return a6['minX']<=a7['minX']&&a6[bo(0x232)]<=a7['minY']&&a7['maxX']<=a6['maxX']&&a7[bo(0x19a)]<=a6['maxY'];}function x(a6,a7){const bp=b5;return a7['minX']<=a6[bp(0x237)]&&a7[bp(0x232)]<=a6['maxY']&&a7['maxX']>=a6[bp(0x233)]&&a7[bp(0x19a)]>=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){let ab=[a7,a8];for(;ab['length'];){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['push'](a7,ac,ac,a8);}}n(),a2(),a4();function w(a6){const bq=b5;let a7=a6['replace'](/\r\n?/g,'\x0a'),a8=[],a9=a7[bq(0x18c)],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[bq(0x1fd)]('\x0a',aa),ab===-0x1&&(ab=a9);let af=a7['substring'](aa,ab)['replace'](/\s+$/,'');aa=ab+0x1,a8['push']({'code':ad,'value':af});}return a8;}function T(a6,a7,a8){const br=b5;for(;a7<a6[br(0x18c)];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDSEC')return a7+0x1;if(a9[br(0x180)]===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[br(0x18c)]){let ab=E(a6,a7);a8[br(0x1c0)]=ab['point'],a7=ab['nextIndex'];}break;case'$EXTMAX':if(a7<a6[br(0x18c)]){let ac=E(a6,a7);a8['extMax']=ac['point'],a7=ac[br(0x171)];}break;case'$INSUNITS':a7<a6[br(0x18c)]&&(a8['insUnits']=parseInt(a6[a7]['value'],0xa),a7++);break;case br(0x14b):a7<a6['length']&&(a8[br(0x19f)]=parseInt(a6[a7]['value'],0xa),a7++);break;case'$LTSCALE':a7<a6['length']&&(a8['ltScale']=parseFloat(a6[a7]['value']),a7++);break;case'$DWGCODEPAGE':a7<a6[br(0x18c)]&&(a8['dwgCodePage']=a6[a7]['value'],a7++);break;case'$HANDSEED':a7<a6[br(0x18c)]&&(a8[br(0x198)]=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 E(a6,a7){const bs=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]['value']),a7++;else{if(a9===0x14)a8['y']=parseFloat(a6[a7][bs(0x154)]),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 bu=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9[bu(0x154)]==='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 bu(0x111):a7=ee(a6,a7,a8[bu(0x1aa)]);break;case'STYLE':a7=te(a6,a7,a8[bu(0x1cf)]);break;default:a7=O(a6,a7);break;}}else a7++;}return a7;}function O(a6,a7){const bv=b5;for(;a7<a6[bv(0x18c)];){if(a6[a7][bv(0x180)]===0x0&&a6[a7]['value']===bv(0x19d))return a7+0x1;a7++;}return a7;}function k(a6,a7,a8){const bw=b5;for(;a7<a6[bw(0x18c)];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='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[bw(0x18c)]&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa[bw(0x1cb)]=ab['value'];break;case 0x6:aa['lineType']=ab[bw(0x154)];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['trueColor']=parseInt(ab[bw(0x154)],0xa);break;}a7++;}a8['set'](aa['name'],aa);}else a7++;}return a7;}function ee(a6,a7,a8){const bx=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDTAB')return a7+0x1;if(a9['code']===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['value']);break;case 0x31:aa[bx(0x122)]['push'](parseFloat(ab['value']));break;}a7++;}aa['name']&&a8['set'](aa['name'],aa);}else a7++;}return a7;}function te(a6,a7,a8){const by=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDTAB')return a7+0x1;if(a9['code']===0x0&&a9[by(0x154)]==='STYLE'){a7++;let aa={'name':'','fontName':'','bigFontName':'','height':0x0,'widthFactor':0x1,'obliqueAngle':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[by(0x1d9)]=ab['value'];break;case 0x4:aa['bigFontName']=ab['value'];break;case 0x28:aa['height']=parseFloat(ab['value']);break;case 0x29:aa['widthFactor']=parseFloat(ab['value']);break;case 0x32:aa['obliqueAngle']=parseFloat(ab['value']);break;}a7++;}aa['name']&&a8[by(0x1a0)](aa[by(0x1cb)],aa);}else a7++;}return a7;}function A(a6){const bz=b5;let a7={'type':'','layer':'0','color':0x100,'lineType':'BYLAYER','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[bz(0x154)];break;case 0x6:a7['lineType']=a8['value'];break;case 0x30:a7[bz(0x15b)]=parseFloat(a8['value']);break;case 0x3c:a7[bz(0x1e0)]=a8[bz(0x154)]==='0'||a8[bz(0x154)]==='';break;case 0x3e:a7[bz(0x1a5)]=parseInt(a8['value'],0xa);break;case 0x172:a7[bz(0x110)]=parseInt(a8['value'],0xa);break;case 0x1a4:a7['trueColor']=parseInt(a8['value'],0xa);break;case 0xd2:a7['extrusion']['x']=parseFloat(a8['value']);break;case 0xdc:a7[bz(0x12d)]['y']=parseFloat(a8['value']);break;case 0xe6:a7[bz(0x12d)]['z']=parseFloat(a8['value']);break;}return a7;}function ne(a6){const bA=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[bA(0x180)]){case 0xa:a7['start']['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['value']);break;case 0x15:a7['end']['y']=parseFloat(a8['value']);break;case 0x1f:a7['end']['z']=parseFloat(a8[bA(0x154)]);break;}return a7;}function re(a6){const bB=b5;let a7=a3(a3({},A(a6)),{},{'type':bB(0x220),'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[bB(0x1c7)]['y']=parseFloat(a8[bB(0x154)]);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0x28:a7['radius']=parseFloat(a8['value']);break;}return a7;}function ie(a6){const bC=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['center']['y']=parseFloat(a8[bC(0x154)]);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0x28:a7['radius']=parseFloat(a8['value']);break;case 0x32:a7[bC(0x173)]=parseFloat(a8['value']);break;case 0x33:a7['endAngle']=parseFloat(a8[bC(0x154)]);break;}return a7;}function ae(a6){const bD=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['code']){case 0x46:a7['closed']=(parseInt(a9['value'],0xa)&0x1)!=0x0;break;case 0x26:a7['elevation']=parseFloat(a9[bD(0x154)]);break;case 0x2b:a7['constantWidth']=parseFloat(a9['value']);break;case 0xa:a8&&a7['vertices'][bD(0x163)](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['endWidth']=parseFloat(a9[bD(0x154)]));break;case 0x2a:a8&&(a8[bD(0x234)]=parseFloat(a9[bD(0x154)]));break;}return a8&&a7[bD(0x1ae)][bD(0x163)](a8),a7;}function oe(a6){const bE=b5;let a7=a3(a3({},A(a6)),{},{'type':'POLYLINE','vertices':[],'closed':!0x1,'is3d':!0x1});for(let a8 of a6)switch(a8[bE(0x180)]){case 0x46:{let a9=parseInt(a8['value'],0xa);a7['closed']=(a9&0x1)!=0x0,a7['is3d']=(a9&0x8)!=0x0;break;}}return a7;}function a1(a,b){a=a-0x107;const c=a0();let d=c[a];return d;}function se(a6){const bF=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[bF(0x1c7)]['y']=parseFloat(a8['value']);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0xb:a7['majorAxis']['x']=parseFloat(a8['value']);break;case 0x15:a7['majorAxis']['y']=parseFloat(a8['value']);break;case 0x1f:a7[bF(0x1e4)]['z']=parseFloat(a8['value']);break;case 0x28:a7['minorRatio']=parseFloat(a8[bF(0x154)]);break;case 0x29:a7['startParam']=parseFloat(a8['value']);break;case 0x2a:a7['endParam']=parseFloat(a8['value']);break;}return a7;}function ce(a6){const bG=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[bG(0x1ec)]=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['weights']['push'](parseFloat(aa['value']));break;case 0xa:a8&&a7['controlPoints']['push'](a8),a8={'x':parseFloat(aa[bG(0x154)]),'y':0x0,'z':0x0};break;case 0x14:a8&&(a8['y']=parseFloat(aa['value']));break;case 0x1e:a8&&(a8['z']=parseFloat(aa['value']));break;case 0xb:a9&&a7['fitPoints'][bG(0x163)](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[bG(0x154)]));break;case 0xc:a7['startTangent']||(a7['startTangent']={'x':0x0,'y':0x0,'z':0x0}),a7['startTangent']['x']=parseFloat(aa['value']);break;case 0x16:a7['startTangent']&&(a7['startTangent']['y']=parseFloat(aa['value']));break;case 0x20:a7['startTangent']&&(a7['startTangent']['z']=parseFloat(aa['value']));break;case 0xd:a7['endTangent']||(a7['endTangent']={'x':0x0,'y':0x0,'z':0x0}),a7[bG(0x123)]['x']=parseFloat(aa['value']);break;case 0x17:a7['endTangent']&&(a7['endTangent']['y']=parseFloat(aa['value']));break;case 0x21:a7[bG(0x123)]&&(a7[bG(0x123)]['z']=parseFloat(aa['value']));break;}return a8&&a7['controlPoints']['push'](a8),a9&&a7['fitPoints']['push'](a9),a7;}function le(a6){const bH=b5;let a7=a3(a3({},A(a6)),{},{'type':'TEXT','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['value']);break;case 0x14:a7[bH(0x200)]['y']=parseFloat(a8[bH(0x154)]);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a8['value']);break;case 0xb:a7['alignmentPoint']||(a7[bH(0x22f)]={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['x']=parseFloat(a8['value']);break;case 0x15:a7['alignmentPoint']||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7[bH(0x22f)]['y']=parseFloat(a8[bH(0x154)]);break;case 0x1f:a7[bH(0x22f)]||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7[bH(0x22f)]['z']=parseFloat(a8['value']);break;case 0x28:a7['height']=parseFloat(a8['value']);break;case 0x29:a7['widthFactor']=parseFloat(a8['value']);break;case 0x32:a7['rotation']=parseFloat(a8['value']);break;case 0x33:a7[bH(0x1a8)]=parseFloat(a8[bH(0x154)]);break;case 0x7:a7['style']=a8['value'];break;case 0x47:a7['generationFlags']=parseInt(a8['value'],0xa);break;case 0x48:a7['hAlign']=parseInt(a8['value'],0xa);break;case 0x49:a7['vAlign']=parseInt(a8[bH(0x154)],0xa);break;}return a7;}function ue(a6){const bI=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':bI(0x236),'bgFill':0x0,'bgFillScale':1.5}),a8=[];for(let a9 of a6)switch(a9[bI(0x180)]){case 0x1:a8['push'](a9['value']);break;case 0x3:a8['push'](a9['value']);break;case 0x7:a7['style']=a9['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a9['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a9['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a9['value']);break;case 0xb:a7['textDirection']||(a7[bI(0x1d1)]={'x':0x0,'y':0x0,'z':0x0}),a7['textDirection']['x']=parseFloat(a9['value']);break;case 0x15:a7['textDirection']||(a7[bI(0x1d1)]={'x':0x0,'y':0x0,'z':0x0}),a7['textDirection']['y']=parseFloat(a9['value']);break;case 0x1f:a7['textDirection']||(a7[bI(0x1d1)]={'x':0x0,'y':0x0,'z':0x0}),a7['textDirection']['z']=parseFloat(a9['value']);break;case 0x28:a7['height']=parseFloat(a9[bI(0x154)]);break;case 0x29:a7['width']=parseFloat(a9[bI(0x154)]);break;case 0x2c:a7[bI(0x166)]=parseFloat(a9['value']);break;case 0x32:a7[bI(0x11f)]=parseFloat(a9['value']);break;case 0x47:a7['attachmentPoint']=parseInt(a9['value'],0xa);break;case 0x48:a7['drawingDirection']=parseInt(a9['value'],0xa);break;case 0x49:a7['lineSpacingStyle']=parseInt(a9[bI(0x154)],0xa);break;case 0x5a:a7['bgFill']=parseInt(a9['value'],0xa);break;}return a7['text']=a8['join'](''),a7;}function de(a6){const bJ=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['code']){case 0x2:a7['blockName']=a8['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a8['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a8[bJ(0x154)]);break;case 0x29:a7['scaleX']=parseFloat(a8['value']);break;case 0x2a:a7['scaleY']=parseFloat(a8['value']);break;case 0x2b:a7['scaleZ']=parseFloat(a8[bJ(0x154)]);break;case 0x2c:a7['columnSpacing']=parseFloat(a8['value']);break;case 0x2d:a7[bJ(0x19e)]=parseFloat(a8['value']);break;case 0x32:a7['rotation']=parseFloat(a8[bJ(0x154)]);break;case 0x46:a7['columnCount']=parseInt(a8['value'],0xa)||0x1;break;case 0x47:a7[bJ(0x134)]=parseInt(a8['value'],0xa)||0x1;break;}return a7;}function fe(a6){const bK=b5;let a7=a3(a3({},A(a6)),{},{'type':bK(0x238),'blockName':'','dimStyle':'STANDARD','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[bK(0x180)]){case 0x1:a7['textOverride']=a8['value'];break;case 0x2:a7['blockName']=a8['value'];break;case 0x3:a7['dimStyle']=a8['value'];break;case 0xa:a7[bK(0x161)]['x']=parseFloat(a8['value']);break;case 0x14:a7['defPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['defPoint']['z']=parseFloat(a8[bK(0x154)]);break;case 0xb:a7['textMidpoint']['x']=parseFloat(a8['value']);break;case 0x15:a7['textMidpoint']['y']=parseFloat(a8['value']);break;case 0x1f:a7['textMidpoint']['z']=parseFloat(a8['value']);break;case 0xd:a7[bK(0x21c)]||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['x']=parseFloat(a8['value']);break;case 0x17:a7[bK(0x21c)]||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['y']=parseFloat(a8['value']);break;case 0x21:a7[bK(0x21c)]||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['z']=parseFloat(a8['value']);break;case 0xe:a7[bK(0x153)]||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['x']=parseFloat(a8['value']);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[bK(0x153)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['z']=parseFloat(a8['value']);break;case 0xf:a7['defPoint4']||(a7[bK(0x16d)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint4']['x']=parseFloat(a8['value']);break;case 0x19:a7[bK(0x16d)]||(a7[bK(0x16d)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint4']['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[bK(0x1b7)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['x']=parseFloat(a8['value']);break;case 0x1a:a7['defPoint5']||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['y']=parseFloat(a8['value']);break;case 0x24:a7[bK(0x1b7)]||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['z']=parseFloat(a8['value']);break;case 0x28:a7['leaderLength']=parseFloat(a8[bK(0x154)]);break;case 0x32:a7['rotation']=parseFloat(a8['value']);break;case 0x35:a7['textRotation']=parseFloat(a8['value']);break;case 0x46:a7['dimType']=parseInt(a8['value'],0xa);break;}return a7;}function pe(a6){const bL=b5;let a7=a3(a3({},A(a6)),{},{'type':'HATCH','patternName':'','solidFill':!0x0,'associative':!0x1,'hatchStyle':0x0,'patternType':0x1,'patternAngle':0x0,'patternScale':0x1,'boundaryPaths':[]}),a8=0x0;for(;a8<a6[bL(0x18c)];){let a9=a6[a8];switch(a9['code']){case 0x2:a7[bL(0x15f)]=a9['value'];break;case 0x29:a7['patternScale']=parseFloat(a9['value']);break;case 0x34:a7['patternAngle']=parseFloat(a9['value']);break;case 0x46:a7['solidFill']=a9[bL(0x154)]==='1';break;case 0x47:a7['associative']=a9[bL(0x154)]==='1';break;case 0x4b:a7['hatchStyle']=parseInt(a9[bL(0x154)],0xa);break;case 0x4c:a7['patternType']=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[bL(0x1d6)]['push'](ac['path']),a8=ac['nextIndex'];}continue;}}a8++;}return a7;}function a0(){const e4=['$MEASUREMENT','radius','formatConverters','changedTouches','createObjectURL','search','setLayerVisible','basePoint','defPoint3','value','ENTITIES','Arial,\x20sans-serif','rgba(0,\x200,\x200,\x200.75)','showDocumentInfo','DXF:\x20','clear','lineTypeScale','ELLIPSE','ARC','debugRafId','patternName','LINE','defPoint','handleClick','push','phase','setPointerCapture','lineSpacingFactor','hypot','entitiesDrawn','toBBox','sans-serif','strokeStyle','end','defPoint4','\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','items','size','nextIndex','getEntityBBox','startAngle','onPointerMove','zoomSpeed','\x22Courier\x20New\x22,\x20monospace','pending','add','parseTime','rgb(','point','transform','offsetY','handleTouchEnd','startParam','code','colorOverrides','wheel','touchstart','\x22Times\x20New\x20Roman\x22,\x20serif','153782Pwlhqn','translate','8czouUa','degree','button','219441QQpHTS','delete','length','mouseScreenX','sqrt','pan','replace','scale','drawCalls','POINT','top','isOff','get','INSERT','handleSeed','#000000','maxY','ENDSEC','10072932tVcoxF','ENDTAB','rowSpacing','measurement','set','updateSize','loadedFileSize','Index:\x20','controlPoints','color','knots','doc','obliqueAngle','entitiesSkipped','lineTypes','\x20\x20Blocks:\x20','tree','SECTION','vertices','#ffaa00','generationFlags','LWPOLYLINE','entityBBoxes','utf-8','getCursorForTool','offsetX','TABLES','defPoint5','ccw','bind','max','setDebug','SPLINE','edges','1985466KTMHQh','endParam','extMin','rgba(255,255,255,0.9)','lineWidth','getEntityBBoxes','endAngle','weights','destroyed','center','lastY','beginPath','getColorOverride','name','currentTool','_maxEntries','CadViewer:\x20cannot\x20call\x20methods\x20on\x20a\x20destroyed\x20instance.','styles','tan','textDirection','detect','_chooseSplitIndex','lineTo','Failed\x20to\x20parse\x20DXF\x20sections.','boundaryPaths','totalLoadTime','blocks','fontName','abs','sin','defaultEntityColor','arc','getTransform','visibility','visible','requestRender','onPointerDown','maxZoom','majorAxis','type','getTool','listeners','pow','3200otUqJB','done','layers','flags','position','toFixed','pop','MTEXT','Standard','88105VosNxP','left','#ffffff','postMessage','identifier','splice','zoom','restore','crosshair','11LbKpWC','Load:\x20','indexOf','blockCount','has','insertionPoint','height','measureColor','trueColor','cos','extMax','stopDebugLoop','widthFactor','bulges','text','from','now','lineCap','textAlign','middle','atan2','lineJoin','removeEventListener','font','currentSnap','stroke','isPanning','ceil','floor','15bqjAXD','entities','fromJSON','_split','defPoint2','addEventListener','ENDBLK','AC1021','CIRCLE','canvas','state','leaf','handlePointerUp','inputHandler','BLOCK','lastDoRenderTime','terminate','preventDefault','closed','frameTimestamps','handlePointerDown','onWheel','loadedFileName','alignmentPoint','shift','width','minY','minX','bulge','getAllLayers','STANDARD','maxX','DIMENSION','VERTEX','min','maxScale','_build','1422480TBJAnV','getContext','boolean','measure','getBoundingClientRect','firstPoint','top-left','evenodd','isArray','second-point','emitter','_minEntries','start','lineWeight','LTYPE','grab','View:\x20[','string','attachmentPoint','viewer','4806exndvb','data','pointerId','fillText','touches','clearDocument','clientY','Failed\x20to\x20tokenize\x20DXF\x20content.','rotation','_insert','visibleCache','pattern','endTangent','renderer','guardDestroyed','layerManager','doRender','renderStats','camera','theme','anticlockwise','loadGeneration','extrusion','fill','destroy','fillStyle','style','clientX','options','rowCount','ctx','columnCount','worker','endpoint','resizeObserver','byteLength','debugEnabled','runConverters','insert','onDocumentLoaded','children','dark','deactivate','moveTo','fillRect','measureTool','56CuxPGu','cursor','blobUrl','devicePixelRatio','polyline','workerManager'];a0=function(){return e4;};return a0();}function me(a6,a7){const bM=b5;let a8=0x0;return a7<a6['length']&&a6[a7][bM(0x180)]===0x5c&&(a8=parseInt(a6[a7]['value'],0xa),a7++),a8&0x2?he(a6,a7,a8):ge(a6,a7,a8);}function he(a6,a7,a8){const bN=b5;let a9={'type':bN(0x149),'vertices':[],'bulges':[],'flags':a8},aa=!0x1;a7<a6['length']&&a6[a7]['code']===0x48&&(aa=a6[a7]['value']==='1',a7++),a7<a6['length']&&a6[a7]['code']===0x49&&(a9['isClosed']=a6[a7][bN(0x154)]==='1',a7++);let ab=0x0;a7<a6['length']&&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][bN(0x180)]===0xa&&(ad['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ad['y']=parseFloat(a6[a7]['value']),a7++),a9[bN(0x1ae)]['push'](ad),aa&&a7<a6['length']&&a6[a7]['code']===0x2a?(a9['bulges']['push'](parseFloat(a6[a7]['value'])),a7++):aa&&a9['bulges']['push'](0x0);}for(;a7<a6['length']&&(a6[a7]['code']===0x61||a6[a7][bN(0x180)]===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 bO=b5;let a9={'type':bO(0x1bd),'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':'line','start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x0}};a7<a6['length']&&a6[a7]['code']===0xa&&(ad['start']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ad[bO(0x10f)]['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bO(0x180)]===0xb&&(ad[bO(0x16c)]['x']=parseFloat(a6[a7]['value']),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':bO(0x1dd),'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][bO(0x180)]===0x14&&(af[bO(0x1c7)]['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bO(0x180)]===0x28&&(af['radius']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x32&&(af[bO(0x173)]=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x33&&(af['endAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x49&&(af[bO(0x1b8)]=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]['code']===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[bO(0x18c)]&&a6[a7][bO(0x180)]===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[bO(0x18c)]&&a6[a7]['code']===0x32&&(ag[bO(0x173)]=parseFloat(a6[a7]['value']),a7++),a7<a6[bO(0x18c)]&&a6[a7]['code']===0x33&&(ag[bO(0x1c4)]=parseFloat(a6[a7]['value']),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][bO(0x180)]===0x5e&&(ah=parseInt(a6[a7]['value'],0xa),a7++),a7<a6[bO(0x18c)]&&a6[a7][bO(0x180)]===0x49&&a7++,a7<a6['length']&&a6[a7]['code']===0x4a&&a7++;let ak=0x0;a7<a6['length']&&a6[a7][bO(0x180)]===0x5f&&(ak=parseInt(a6[a7]['value'],0xa),a7++);let al=0x0;a7<a6[bO(0x18c)]&&a6[a7]['code']===0x60&&(al=parseInt(a6[a7]['value'],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[bO(0x18c)];an++){let ao={'x':0x0,'y':0x0};a6[a7][bO(0x180)]===0xa&&(ao['x']=parseFloat(a6[a7]['value']),a7++),a7<a6[bO(0x18c)]&&a6[a7]['code']===0x14&&(ao['y']=parseFloat(a6[a7]['value']),a7++),aj['push'](ao);}a9['edges']['push']({'type':'spline','degree':ah,'knots':ai,'controlPoints':aj});break;}}}for(;a7<a6['length']&&(a6[a7][bO(0x180)]===0x61||a6[a7]['code']===0x14a);)if(a6[a7]['code']===0x61){let ap=parseInt(a6[a7][bO(0x154)],0xa);a7++;for(let aq=0x0;aq<ap&&a7<a6['length']&&a6[a7]['code']===0x14a;aq++)a7++;}else a7++;return{'path':a9,'nextIndex':a7};}function _e(a6){const bP=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['value']);break;case 0x14:a7['position']['y']=parseFloat(a8[bP(0x154)]);break;case 0x1e:a7['position']['z']=parseFloat(a8[bP(0x154)]);break;}return a7;}function j(a6,a7,a8){const bQ=b5;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']!==0x0){a7++;continue;}let aa=a9[bQ(0x154)];if(aa===bQ(0x19b)||aa===bQ(0x21e))return a7+0x1;a7++;let ab=[];for(;a7<a6['length']&&a6[a7]['code']!==0x0;)ab['push'](a6[a7]),a7++;switch(aa){case bQ(0x160):a8['push'](ne(ab));break;case'CIRCLE':a8['push'](re(ab));break;case'ARC':a8['push'](ie(ab));break;case'LWPOLYLINE':a8[bQ(0x163)](ae(ab));break;case'ELLIPSE':a8['push'](se(ab));break;case'SPLINE':a8['push'](ce(ab));break;case'TEXT':a8['push'](le(ab));break;case bQ(0x1f0):a8[bQ(0x163)](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['push'](fe(ab));break;case'HATCH':a8['push'](pe(ab));break;case bQ(0x193):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 bR=b5;for(;a7<a6['length'];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9==='SEQEND')return a7+0x1;if(a9==='ENDSEC'||a9===bR(0x21e))return a7;if(a9===bR(0x239)){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[bR(0x154)]);break;case 0x14:aa['y']=parseFloat(ab['value']);break;case 0x2a:aa['bulge']=parseFloat(ab['value']);break;case 0x28:aa['startWidth']=parseFloat(ab[bR(0x154)]);break;case 0x29:aa['endWidth']=parseFloat(ab['value']);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6['length']&&a6[a7][bR(0x180)]!==0x0;)a7++;}}return a7;}function ye(a6,a7,a8){const bS=b5;for(;a7<a6['length'];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9==='SEQEND')return a7+0x1;if(a9==='ENDSEC'||a9==='ENDBLK')return a7;if(a9==='ATTRIB'){a7++;let aa={'tag':'','text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'rotation':0x0,'style':'STANDARD','layer':'0','color':0x100};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x1:aa['text']=ab['value'];break;case 0x2:aa['tag']=ab['value'];break;case 0x7:aa['style']=ab['value'];break;case 0x8:aa['layer']=ab[bS(0x154)];break;case 0xa:aa['insertionPoint']['x']=parseFloat(ab['value']);break;case 0x14:aa['insertionPoint']['y']=parseFloat(ab['value']);break;case 0x1e:aa[bS(0x200)]['z']=parseFloat(ab['value']);break;case 0x28:aa['height']=parseFloat(ab['value']);break;case 0x32:aa['rotation']=parseFloat(ab[bS(0x154)]);break;case 0x3e:aa[bS(0x1a5)]=parseInt(ab['value'],0xa);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6[bS(0x18c)]&&a6[a7]['code']!==0x0;)a7++;}}return a7;}function be(a6,a7,a8){const bT=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']===bT(0x226)){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['value'];break;case 0x8:break;case 0xa:aa['basePoint']['x']=parseFloat(ab['value']);break;case 0x14:aa['basePoint']['y']=parseFloat(ab['value']);break;case 0x1e:aa[bT(0x152)]['z']=parseFloat(ab[bT(0x154)]);break;case 0x46:aa['flags']=parseInt(ab[bT(0x154)],0xa);break;}a7++;}a7=j(a6,a7,aa['entities']),aa[bT(0x1cb)]&&!aa[bT(0x1cb)]['startsWith']('*Model_Space')&&!aa[bT(0x1cb)]['startsWith']('*Paper_Space')&&a8['set'](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(0x21f);function Ce(){return{'acadVersion':'','insUnits':0x0,'measurement':0x0,'ltScale':0x1};}function N(a6){const bU=b5;return a6[bU(0x190)](/\\U\+([0-9A-Fa-f]{4})/g,(a7,a8)=>String['fromCodePoint'](parseInt(a8,0x10)));}function we(a6){const bV=b5;var a7;if(typeof a6=='string')return N(a6);let a8=new Uint8Array(a6);if(new TextDecoder('ascii')['decode'](a8['slice'](0x0,M['length']))===M)throw new P('Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.');let a9=new TextDecoder(bV(0x1b3))['decode'](a6),aa=a9['match'](/\$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?'windows-1252':ad;ag!=='utf-8'&&(a9=new TextDecoder(ag)['decode'](a6));}return N(a9);}function Te(a6,a7){for(;a7<a6['length'];){if(a6[a7]['code']===0x0&&a6[a7]['value']==='ENDSEC')return a7+0x1;a7++;}return a7;}function Ee(a6){a6['layers']['has']('0')||a6['layers']['set']('0',{'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1});}function De(a6){const bW=b5;for(let [,a7]of a6[bW(0x1eb)])a7[bW(0x195)]=a7['color']<0x0,a7['isOff']&&(a7['color']=Math['abs'](a7['color'])),a7['isFrozen']=(a7['flags']&0x1)!=0x0,a7['isLocked']=(a7['flags']&0x4)!=0x0;}var P=class extends Error{constructor(a6,a7){super(a6),this['cause']=a7,this['name']='DxfParseError';}};function F(a6){const bX=b5;if(typeof a6==bX(0x114)){if(a6['length']===0x0)throw new P('Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.');}else{if(a6 instanceof ArrayBuffer){if(a6[bX(0x13a)]===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(bX(0x11e),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['value']===bX(0x1ad)){if(ac++,ac>=a8['length'])break;let af=a8[ac][bX(0x154)];switch(ac++,af){case'HEADER':ac=T(a8,ac,a9['header']);break;case bX(0x1b6):ac=D(a8,ac,a9);break;case'BLOCKS':ac=be(a8,ac,a9[bX(0x1d8)]);break;case bX(0x155):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(bX(0x1d5),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 bY=b5;var a8;return a6===0x7||(a8=Oe[Math[bY(0x1da)](a6)])==null?a7?'#FFFFFF':'#000000':a8;}function je(a6){let a7=a6>>0x10&0xff,a8=a6>>0x8&0xff,a9=a6&0xff;return'#'+a7['toString'](0x10)['padStart'](0x2,'0')+a8['toString'](0x10)['padStart'](0x2,'0')+a9['toString'](0x10)['padStart'](0x2,'0');}var I={'dark':{'backgroundColor':'#1a1a2e','defaultEntityColor':b5(0x1f4),'selectionColor':'#00ff88','measureColor':b5(0x1af),'gridColor':'#333333','crosshairColor':'#555555'},'light':{'backgroundColor':b5(0x1f4),'defaultEntityColor':'#000000','selectionColor':'#0066ff','measureColor':'#ff6600','gridColor':'#dddddd','crosshairColor':'#cccccc'}};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['offsetX'])/a6[bZ(0x191)],-(a8-a6['offsetY'])/a6['scale']];}function z(a6,a7){const c0=b5;let a8=window['devicePixelRatio']||0x1;a6['setTransform'](a7['scale']*a8,0x0,0x0,-a7['scale']*a8,a7['offsetX']*a8,a7[c0(0x17d)]*a8);}function B(a6,a7,a8,a9,aa,ab,ac=0.05){const c1=b5;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[c1(0x23a)](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 c2=b5;let ac=Math['max'](aa,Math['min'](ab,a6['scale']*a9)),ad=ac/a6['scale'];return{'scale':ac,'offsetX':a7-(a7-a6[c2(0x1b5)])*ad,'offsetY':a8-(a8-a6[c2(0x17d)])*ad};}var Ne=class{constructor(a6){const c3=b5;t(this,'transform',{'scale':0x1,'offsetX':0x0,'offsetY':0x0}),t(this,'minScale',void 0x0),t(this,c3(0x23b),void 0x0),this['minScale']=a6['minZoom'],this['maxScale']=a6['maxZoom'];}[b5(0x1de)](){const c4=b5;return this[c4(0x17c)];}['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){const c5=b5;var a8;return a6===0x7?a7==='dark'?'#ffffff':c5(0x199):(a8=ke(a6))==null?c5(0x1f4):a8;}function V(a6,a7,a8,a9){const c6=b5;if(a6['trueColor']!==void 0x0)return'rgb('+(a6['trueColor']>>0x10&0xff)+','+(a6[c6(0x203)]>>0x8&0xff)+','+(a6['trueColor']&0xff)+')';if(a6[c6(0x1a5)]===0x0)return a9==null?I[a8]['defaultEntityColor']:a9;if(a6['color']!==0x100)return Pe(a6['color'],a8);let aa=a7['get'](a6['layer']);return aa?aa[c6(0x203)]===void 0x0?Pe(Math['abs'](aa['color']),a8):c6(0x17a)+(aa[c6(0x203)]>>0x10&0xff)+','+(aa['trueColor']>>0x8&0xff)+','+(aa['trueColor']&0xff)+')':I[a8][c6(0x1dc)];}function Fe(a6,a7){const c7=b5;a6['beginPath'](),a6['moveTo'](a7['start']['x'],a7['start']['y']),a6['lineTo'](a7[c7(0x16c)]['x'],a7['end']['y']),a6['stroke']();}function Ie(a6,a7){const c8=b5;a7['radius']<=0x0||(a6[c8(0x1c9)](),a6['arc'](a7['center']['x'],a7[c8(0x1c7)]['y'],a7['radius'],0x0,Math['PI']*0x2),a6[c8(0x214)]());}function Le(a6,a7){const c9=b5;if(a7['radius']<=0x0)return;let a8=a7['startAngle']*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6[c9(0x1c9)](),a6['arc'](a7['center']['x'],a7['center']['y'],a7['radius'],a8,a9,!0x1),a6['stroke']();}function Re(a6,a7,a8,a9,aa){const ca=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['abs'](aa)*ad/0x2,ag=(Math['pow'](ad/0x2,0x2)+Math['pow'](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[ca(0x20f)](a9-ao,a8-an),'anticlockwise':aa<0x0};}function H(a6,a7,a8,a9,aa,ab){const cb=b5;let ac=Re(a7,a8,a9,aa,ab);if(ac['radius']<1e-10){a6['lineTo'](a9,aa);return;}a6['arc'](ac['cx'],ac['cy'],ac['radius'],ac[cb(0x173)],ac['endAngle'],ac[cb(0x12b)]);}function ze(a6,a7){const cc=b5;let a8=a7['vertices'];if(a8[cc(0x18c)]<0x2)return;a6['beginPath'](),a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8[cc(0x18c)]:a8[cc(0x18c)]-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8['length']];Math['abs'](ab[cc(0x234)])<1e-10?a6[cc(0x1d4)](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab[cc(0x234)]);}a6['stroke']();}function Be(a6,a7){const cd=b5;let a8=a7[cd(0x1ae)];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 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[cd(0x1da)](af)<1e-10?a6['lineTo'](ad['x'],ad['y']):H(a6,ac['x'],ac['y'],ad['x'],ad['y'],af);}a6['stroke']();}function Ve(a6,a7){const cf=b5;let a8=Math['sqrt'](Math[cf(0x1e8)](a7[cf(0x1e4)]['x'],0x2)+Math['pow'](a7[cf(0x1e4)]['y'],0x2)+Math['pow'](a7['majorAxis']['z'],0x2));if(a8<1e-10||a7['minorRatio']<=0x0)return;let a9=a8*a7['minorRatio'],aa=Math[cf(0x20f)](a7['majorAxis']['y'],a7['majorAxis']['x']);a6[cf(0x1c9)](),a6['ellipse'](a7['center']['x'],a7['center']['y'],a8,a9,aa,a7[cf(0x17f)],a7[cf(0x1bf)],!0x1),a6['stroke']();}function He(a6,a7,a8,a9,aa){const cg=b5;var ab;let ac=a7[cg(0x18c)]-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[cg(0x163)](a3({},a7[ai])),ag[cg(0x163)](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['abs'](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 ch=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[ch(0x1ba)](0x0,a9-0x1)],ab=a6[a9],ac=a6[Math[ch(0x23a)](a8-0x1,a9+0x1)],ad=a6[Math[ch(0x23a)](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 ci=b5;if(a6['degree']===0x1)return a6[ci(0x1a4)]['map'](af=>({'x':af['x'],'y':af['y']}));if(a6['controlPoints'][ci(0x18c)]===0x0&&a6['fitPoints'][ci(0x18c)]>=0x2)return Ue(a6['fitPoints']);if(a6['controlPoints']['length']<a6['degree']+0x1||a6['knots']['length']<a6['controlPoints']['length']+a6[ci(0x188)]+0x1)return[];let a8=[],a9=a6['knots'][a6['degree']],aa=a6[ci(0x1a6)][a6[ci(0x1a6)]['length']-a6[ci(0x188)]-0x1];if(aa<=a9)return[];let ab=Math['max'](a6[ci(0x1a4)]['length']*0xa,Math['ceil']((aa-a9)/a7)),ac=Math['min'](ab,0x1388),ad=a6[ci(0x1c5)][ci(0x18c)]>0x0?a6['weights']:void 0x0;for(let af=0x0;af<=ac;af++){let ag=a9+(aa-a9)*(af/ac),ah=He(a6['degree'],a6[ci(0x1a4)],a6['knots'],ag,ad);a8['push']({'x':ah['x'],'y':ah['y']});}return a8;}function Ge(a6,a7,a8){const cj=b5;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[cj(0x18c)];aa++)a6[cj(0x1d4)](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':b5(0x156),'romans.shx':'\x22Courier\x20New\x22,\x20monospace','simplex.shx':'\x22Courier\x20New\x22,\x20monospace','txt.shx':'monospace','monotxt.shx':'monospace','isocp.shx':'\x22Courier\x20New\x22,\x20monospace','isocpeur.shx':b5(0x176),'times.ttf':'\x22Times\x20New\x20Roman\x22,\x20serif','timesnr.ttf':b5(0x184),'gothic.ttf':'\x22Century\x20Gothic\x22,\x20sans-serif'};function qe(a6){const ck=b5;return Ke[a6['toLowerCase']()['trim']()]||ck(0x16a);}function Je(a6,a7,a8){const cl=b5;if(!a7['text']||a7[cl(0x201)]<a8*0x4)return;let a9=a7['hAlign']!==0x0||a7['vAlign']!==0x0,aa=a9&&a7['alignmentPoint']?a7['alignmentPoint']['x']:a7['insertionPoint']['x'],ab=a9&&a7['alignmentPoint']?a7['alignmentPoint']['y']:a7['insertionPoint']['y'];if(a6['save'](),a6['translate'](aa,ab),a6['scale'](0x1,-0x1),a7[cl(0x11f)]&&a6['rotate'](-a7['rotation']*Math['PI']/0xb4),a7[cl(0x207)]!==0x1&&a6['scale'](a7['widthFactor'],0x1),a7['obliqueAngle']){let ag=Math[cl(0x1d0)](a7['obliqueAngle']*Math['PI']/0xb4);a6[cl(0x17c)](0x1,0x0,ag,0x1,0x0,0x0);}let ac=(a7[cl(0x1b0)]&0x2)!=0x0,ad=(a7[cl(0x1b0)]&0x4)!=0x0;ac&&a6['scale'](-0x1,0x1),ad&&a6['scale'](0x1,-0x1);let af=qe(a7['style']||'Standard');switch(a6['font']=a7['height']+'px\x20'+af,a7['hAlign']){case 0x0:a6['textAlign']='left';break;case 0x1:a6['textAlign']='center';break;case 0x2:a6[cl(0x20d)]='right';break;case 0x3:a6['textAlign']='left';break;case 0x4:a6['textAlign']='center';break;case 0x5:a6['textAlign']='left';break;default:a6['textAlign']='left';}switch(a7['vAlign']){case 0x0:a6['textBaseline']='alphabetic';break;case 0x1:a6['textBaseline']='bottom';break;case 0x2:a6['textBaseline']=cl(0x20e);break;case 0x3:a6['textBaseline']='top';break;default:a6['textBaseline']='alphabetic';}a6['fillText'](a7[cl(0x209)],0x0,0x0),a6[cl(0x1f9)]();}function Ye(a6){const cm=b5;return a6['replace'](/\\P/g,'\x0a')['replace'](/\\[fFHWQTCAaLlOoKk][^;]*;/g,'')['replace'](/\\\\/g,'\x5c')['replace'](/\\~/g,'\u00a0')['replace'](/\{/g,'')[cm(0x190)](/\}/g,'')[cm(0x190)](/\\S[^;]*;/g,'')['trim']();}function Xe(a6,a7,a8){const cn=b5;var a9;if(!a7['text']||a7[cn(0x201)]<a8*0x4)return;a6['save'](),a6['translate'](a7[cn(0x200)]['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[cn(0x201)]*(a7['lineSpacingFactor']||1.4),ad=qe(a7[cn(0x131)]||cn(0x1f1));a6['font']=a7['height']+'px\x20'+ad;let af=(a7['attachmentPoint']-0x1)%0x3,ag=Math[cn(0x217)]((a7[cn(0x115)]-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[cn(0x201)]-ai;break;}for(let aj=0x0;aj<ab['length'];aj++)a6['fillText'](ab[aj],0x0,ah+aj*ac);a6['restore']();}var Ze=0x64;function Qe(a6,a7,a8,a9=0x0){const co=b5;if(a9>Ze)return null;if(a8['has'](a6))return a8[co(0x196)](a6);let aa=a7[co(0x1d8)][co(0x196)](a6);if(!aa)return a8['set'](a6,null),null;a8['set'](a6,null);let ab=Infinity,ac=Infinity,ad=-Infinity,af=-Infinity,ag=!0x1;for(let ai of aa[co(0x219)]){let aj;aj=ai[co(0x1e5)]==='INSERT'?U(ai,a7,a8,a9+0x1):G(ai),aj&&(ag=!0x0,ab=Math['min'](ab,aj['minX']),ac=Math[co(0x23a)](ac,aj['minY']),ad=Math['max'](ad,aj[co(0x237)]),af=Math['max'](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 cp=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[cp(0x19a)]-ad,aj=a6['scaleX'],ak=a6['scaleY'],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[cp(0x11f)]||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[cp(0x1ba)](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[cp(0x1ba)](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[cp(0x23a)](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['min'](aw,aw+aV),ax=Math[cp(0x23a)](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){const cq=b5;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[cq(0x23a)](a8,ag['minX']),a9=Math['min'](a9,ag['minY']),aa=Math[cq(0x1ba)](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 cr=b5;return a6['type']===cr(0x197)?U(a6,a7,a8):G(a6);}var W=null;function tt(a6){const cs=b5;let a7=new Map();for(let [a8,a9]of a6['blocks']){let aa=Array(a9['entities'][cs(0x18c)]);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){if(!W)return;let a8=W['get'](a6);if(!(!a8||a7>=a8['length']))return a8[a7];}function G(a6){const cu=b5;switch(a6['type']){case'LINE':return{'minX':Math['min'](a6['start']['x'],a6[cu(0x16c)]['x']),'minY':Math['min'](a6['start']['y'],a6['end']['y']),'maxX':Math['max'](a6['start']['x'],a6['end']['x']),'maxY':Math['max'](a6['start']['y'],a6['end']['y'])};case'CIRCLE':return{'minX':a6['center']['x']-a6[cu(0x14c)],'minY':a6['center']['y']-a6['radius'],'maxX':a6['center']['x']+a6['radius'],'maxY':a6['center']['y']+a6['radius']};case cu(0x15d):return{'minX':a6['center']['x']-a6['radius'],'minY':a6['center']['y']-a6['radius'],'maxX':a6[cu(0x1c7)]['x']+a6['radius'],'maxY':a6['center']['y']+a6['radius']};case'LWPOLYLINE':case'POLYLINE':{if(a6['vertices']['length']===0x0)return null;let ao=Infinity,ap=Infinity,aq=-Infinity,ar=-Infinity;for(let as of a6[cu(0x1ae)])ao=Math['min'](ao,as['x']),ap=Math['min'](ap,as['y']),aq=Math['max'](aq,as['x']),ar=Math[cu(0x1ba)](ar,as['y']);return{'minX':ao,'minY':ap,'maxX':aq,'maxY':ar};}case'ELLIPSE':{let au=Math['sqrt'](Math['pow'](a6['majorAxis']['x'],0x2)+Math[cu(0x1e8)](a6['majorAxis']['y'],0x2));return{'minX':a6[cu(0x1c7)]['x']-au,'minY':a6['center']['y']-au,'maxX':a6['center']['x']+au,'maxY':a6['center']['y']+au};}case'TEXT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x']+a6[cu(0x201)]*a6['text']['length']*0.6,'maxY':a6['insertionPoint']['y']+a6[cu(0x201)]};case'MTEXT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y']-a6['height'],'maxX':a6['insertionPoint']['x']+(a6['width']||a6['height']*0xa),'maxY':a6['insertionPoint']['y']+a6['height']};case'SPLINE':{if(a6['controlPoints'][cu(0x18c)]===0x0)return null;let av=Infinity,aw=Infinity,ax=-Infinity,ay=-Infinity;for(let az of a6['controlPoints'])av=Math['min'](av,az['x']),aw=Math[cu(0x23a)](aw,az['y']),ax=Math['max'](ax,az['x']),ay=Math[cu(0x1ba)](ay,az['y']);return{'minX':av,'minY':aw,'maxX':ax,'maxY':ay};}case'POINT':return{'minX':a6['position']['x'],'minY':a6['position']['y'],'maxX':a6['position']['x'],'maxY':a6[cu(0x1ed)]['y']};case'INSERT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x'],'maxY':a6['insertionPoint']['y']};case'DIMENSION':if(a6[cu(0x161)]){var a7,a8,a9,aa,ab,ac,ad,af,ag,ah,ai,aj,ak,al,am,an;return{'minX':Math['min'](a6[cu(0x161)]['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[cu(0x161)]['x']:a9),'minY':Math['min'](a6[cu(0x161)]['y'],(ab=(ac=a6['defPoint2'])==null?void 0x0:ac['y'])==null?a6[cu(0x161)]['y']:ab,(ad=(af=a6['defPoint3'])==null?void 0x0:af['y'])==null?a6[cu(0x161)]['y']:ad),'maxX':Math['max'](a6[cu(0x161)]['x'],(ag=(ah=a6['defPoint2'])==null?void 0x0:ah['x'])==null?a6['defPoint']['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['defPoint']['y']:ak,(am=(an=a6['defPoint3'])==null?void 0x0:an['y'])==null?a6['defPoint']['y']:am)};}return null;case'HATCH':{let aA=Infinity,aB=Infinity,aC=-Infinity,aD=-Infinity,aE=!0x1;for(let aF of a6['boundaryPaths'])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){const cv=b5;return at[cv(0x1ff)](a6);}function st(a6,a7){const cw=b5;a6[cw(0x142)](a7['start']['x'],a7[cw(0x10f)]['y']),a6['lineTo'](a7['end']['x'],a7['end']['y']);}function ct(a6,a7){const cx=b5;if(a7['radius']<=0x0)return;let a8=a7[cx(0x173)]*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6['moveTo'](a7['center']['x']+a7['radius']*Math['cos'](a8),a7[cx(0x1c7)]['y']+a7['radius']*Math[cx(0x1db)](a8)),a6['arc'](a7['center']['x'],a7['center']['y'],a7[cx(0x14c)],a8,a9,!0x1);}function lt(a6,a7){const cy=b5;a7['radius']<=0x0||(a6['moveTo'](a7['center']['x']+a7[cy(0x14c)],a7['center']['y']),a6['arc'](a7['center']['x'],a7['center']['y'],a7['radius'],0x0,Math['PI']*0x2));}function ut(a6,a7){const cz=b5;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 aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8['length']];Math[cz(0x1da)](ab['bulge'])<1e-10?a6[cz(0x1d4)](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab['bulge']);}}function dt(a6,a7){const cA=b5;let a8=a7['vertices'];if(a8[cA(0x18c)]<0x2)return;a6[cA(0x142)](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 cB=b5;let a8=Math['sqrt'](Math['pow'](a7['majorAxis']['x'],0x2)+Math[cB(0x1e8)](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[cB(0x1e4)]['x']),ab=Math['cos'](aa),ac=Math['sin'](aa),ad=Math['cos'](a7['startParam']),af=Math['sin'](a7['startParam']);a6[cB(0x142)](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['endParam'],!0x1);}function pt(a6,a7,a8){const cC=b5;let a9=We(a7,a8);if(!(a9['length']<0x2)){a6[cC(0x142)](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9['length'];aa++)a6[cC(0x1d4)](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 cD=b5;if(ac>ht)return;let af=a8['blocks'][cD(0x196)](a7['blockName']);if(!af)return;let ag=Math['max'](0x1,a7[cD(0x136)]),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['insertionPoint']['x']+ak*a7['columnSpacing'],am=a7['insertionPoint']['y']+aj*a7['rowSpacing'];a6[cD(0x186)](al,am),a7['rotation']&&a6['rotate'](a7[cD(0x11f)]*Math['PI']/0xb4),a6['scale'](a7['scaleX'],a7['scaleY']),a6['translate'](-af['basePoint']['x'],-af[cD(0x152)]['y']);let an=ab/(Math['max'](Math['abs'](a7['scaleX']),Math[cD(0x1da)](a7['scaleY']))||0x1),ao=null,ap=af[cD(0x219)];for(let aq=0x0;aq<ap['length'];aq++){let ar=ap[aq];if(ar[cD(0x1e5)]!=='INSERT'){let au=it(a7['blockName'],aq),av=au===void 0x0?G(ar):au;if(av){let aw=Math['max'](av['maxX']-av['minX'],av['maxY']-av['minY']);if(aw>0x0&&aw/an<gt)continue;}}let as=V(ar,a8['layers'],aa);if(ar['type']!=='INSERT'&&ot(ar[cD(0x1e5)])){if(as!==ao&&(ao!==null&&(a6['stroke'](),ad&&ad[cD(0x192)]++),ao=as,a6[cD(0x1c9)](),a6['strokeStyle']=as,a6['lineWidth']=an),mt(a6,ar,an),ad){var ai;ad['byType'][ar['type']]=((ai=ad['byType'][ar['type']])==null?0x0:ai)+0x1;}}else ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++,ao=null),a6['strokeStyle']=as,a6['fillStyle']=as,a6['lineWidth']=an,ar['type']===cD(0x197)?_t(a6,ar,a8,a9,aa,an,ac+0x1,ad):K(a6,ar,a8,a9,aa,an,ad);}ao!==null&&(a6[cD(0x214)](),ad&&ad['drawCalls']++),a6['restore']();}}function vt(a6,a7,a8,a9,aa,ab,ac){const cE=b5;if(a7['blockName']){let ad=a8['blocks'][cE(0x196)](a7['blockName']);if(ad){for(let af of ad['entities']){let ag=V(af,a8['layers'],aa);a6['strokeStyle']=ag,a6['fillStyle']=ag,a6['lineWidth']=ab,K(a6,af,a8,a9,aa,ab,ac);}return;}}a7[cE(0x21c)]&&a7['defPoint3']&&(a6['beginPath'](),a6['moveTo'](a7[cE(0x21c)]['x'],a7[cE(0x21c)]['y']),a6['lineTo'](a7['defPoint']['x'],a7[cE(0x161)]['y']),a6['stroke'](),a6['beginPath'](),a6['moveTo'](a7['defPoint3']['x'],a7['defPoint3']['y']),a6['lineTo'](a7['defPoint']['x'],a7['defPoint']['y']),a6['stroke']());}function yt(a6,a7){const cF=b5;if(a7['boundaryPaths']['length']!==0x0){a6[cF(0x1c9)]();for(let aa of a7['boundaryPaths'])if(aa['type']===cF(0x149)&&aa['vertices']&&aa['vertices']['length']>0x0){let ab=aa['vertices'][0x0];a6[cF(0x142)](ab['x'],ab['y']);for(let ac=0x1;ac<aa[cF(0x1ae)]['length'];ac++){var a8,a9;let ad=aa['vertices'][ac-0x1],af=aa['vertices'][ac],ag=(a8=(a9=aa[cF(0x208)])==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[cF(0x1e5)]===cF(0x1bd)&&aa['edges'])for(let ah=0x0;ah<aa['edges']['length'];ah++){let ai=aa['edges'][ah];if(ai['type']==='line')ah===0x0&&a6['moveTo'](ai['start']['x'],ai['start']['y']),a6[cF(0x1d4)](ai['end']['x'],ai['end']['y']);else{if(ai['type']==='arc'){if(ah===0x0){let aj=ai[cF(0x1c7)]['x']+ai['radius']*Math['cos'](ai['startAngle']*Math['PI']/0xb4),ak=ai['center']['y']+ai['radius']*Math[cF(0x1db)](ai['startAngle']*Math['PI']/0xb4);a6['moveTo'](aj,ak);}a6['arc'](ai['center']['x'],ai['center']['y'],ai['radius'],ai[cF(0x173)]*Math['PI']/0xb4,ai['endAngle']*Math['PI']/0xb4,!ai['ccw']);}}}}a7['solidFill']&&(a6['globalAlpha']=0.3,a6['fill'](cF(0x10a)),a6['globalAlpha']=0x1),a6['stroke']();}}function bt(a6,a7,a8){const cG=b5;let a9=a8*0x3;a6['beginPath'](),a6['arc'](a7['position']['x'],a7[cG(0x1ed)]['y'],a9,0x0,Math['PI']*0x2),a6['fill']();}function K(a6,a7,a8,a9,aa,ab,ac){const cH=b5;if(ac){var ad;ac['drawCalls']++,ac['byType'][a7[cH(0x1e5)]]=((ad=ac['byType'][a7['type']])==null?0x0:ad)+0x1;}switch(a7['type']){case cH(0x160):Fe(a6,a7);break;case cH(0x220):Ie(a6,a7);break;case'ARC':Le(a6,a7);break;case'LWPOLYLINE':ze(a6,a7);break;case'POLYLINE':Be(a6,a7);break;case cH(0x15c):Ve(a6,a7);break;case cH(0x1bc):Ge(a6,a7,ab);break;case'TEXT':Je(a6,a7,ab);break;case'MTEXT':Xe(a6,a7,ab);break;case cH(0x197):_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 cH(0x193):bt(a6,a7,ab);break;}}var xt=0.5,St=class{constructor(a6){const cI=b5;t(this,cI(0x135),void 0x0),t(this,'width',0x0),t(this,'height',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[cI(0x1a1)]();}['getContext'](){return this['ctx'];}['getWidth'](){return this['width'];}['getHeight'](){return this['height'];}[b5(0x1a1)](){const cJ=b5;let a6=window['devicePixelRatio']||0x1,a7=this['canvas']['getBoundingClientRect']();this[cJ(0x231)]=a7['width'],this['height']=a7['height'],this['canvas']['width']=a7[cJ(0x231)]*a6,this['canvas'][cJ(0x201)]=a7['height']*a6;}['render'](a6,a7,a8,a9,aa,ab,ac){const cK=b5;let ad=this['ctx'],af=window[cK(0x148)]||0x1,ag={'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}};ad['setTransform'](af,0x0,0x0,af,0x0,0x0),ad['fillStyle']=I[a8]['backgroundColor'],ad['fillRect'](0x0,0x0,this['width'],this['height']),z(ad,a7);let ah=0x1/a7['scale'];ad[cK(0x20c)]='round',ad[cK(0x210)]='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[cK(0x1ff)](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['minX'])*a7['scale'],ap=(an[cK(0x19a)]-an['minY'])*a7['scale'];if(Math['max'](ao,ap)<xt){ag['entitiesSkipped']++;continue;}}}let am=V(al,a6[cK(0x1eb)],a8);if(ot(al[cK(0x1e5)])){var aj;am!==ai&&(ai!==null&&(ad['stroke'](),ag['drawCalls']++),ai=am,ad[cK(0x1c9)](),ad['strokeStyle']=am,ad['lineWidth']=ah),mt(ad,al,ah),ag[cK(0x168)]++,ag['byType'][al['type']]=((aj=ag['byType'][al[cK(0x1e5)]])==null?0x0:aj)+0x1;}else ai!==null&&(ad['stroke'](),ag['drawCalls']++,ai=null),ad['strokeStyle']=am,ad['fillStyle']=am,ad['lineWidth']=ah,ag['entitiesDrawn']++,K(ad,al,a6,a7,a8,ah,ag);}if(ai!==null&&(ad['stroke'](),ag['drawCalls']++),aa>=0x0&&aa<a6['entities']['length']){let aq=a6[cK(0x219)][aa];z(ad,a7),ad[cK(0x16b)]=I[a8]['selectionColor'],ad['fillStyle']=I[a8]['selectionColor'],ad[cK(0x1c2)]=ah*0x3,K(ad,aq,a6,a7,a8,ah);}return ag;}['renderEmpty'](a6){const cL=b5;let a7=this['ctx'],a8=window[cL(0x148)]||0x1;a7['setTransform'](a8,0x0,0x0,a8,0x0,0x0),a7['fillStyle']=I[a6]['backgroundColor'],a7['fillRect'](0x0,0x0,this[cL(0x231)],this[cL(0x201)]);}['destroy'](){}},Ct={'showFps':!0x0,'showRenderStats':!0x0,'showDocumentInfo':!0x0,'showTimings':!0x0,'showCamera':!0x0,'position':b5(0x109)};function q(a6){return a3(a3({},Ct),a6);}function wt(a6){const cM=b5;return a6===0x0?'0\x20B':a6<0x400?a6+'\x20B':a6<0x400*0x400?(a6/0x400)[cM(0x1ee)](0x1)+'\x20KB':(a6/(0x400*0x400))['toFixed'](0x1)+'\x20MB';}function Tt(a6){return a6>=0x1?a6['toFixed'](0x2)+'x':'1:'+(0x1/a6)['toFixed'](0x1);}var Et='11px\x20monospace',Dt=0xf,Ot=0x8,J=0x8,Y=0xa;function kt(a6,a7,a8,a9,aa,ab){const cN=b5;a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ac=[];if(a9['showFps']&&ac[cN(0x163)](['FPS:\x20'+a7['fps']+'\x20\x20Frame:\x20'+a7['frameTime']['toFixed'](0x1)+'ms']),a9['showRenderStats']){let am=a7[cN(0x128)]['entitiesDrawn']+a7['renderStats'][cN(0x1a9)],an=['Drawn:\x20'+a7['renderStats']['entitiesDrawn']+'\x20/\x20'+am+'\x20\x20Calls:\x20'+a7[cN(0x128)]['drawCalls']],ao=Object['entries'](a7['renderStats']['byType'])['sort'](([,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[cN(0x158)]){let ap=['Layers:\x20'+a7['visibleLayerCount']+'\x20/\x20'+a7['layerCount']+cN(0x1ab)+a7[cN(0x1fe)]];a7['dxfVersion']&&ap['push'](cN(0x159)+a7['dxfVersion']),a7['fileName']&&ap['push']('File:\x20'+a7['fileName']),a7['fileSize']>0x0&&ap['push']('Size:\x20'+wt(a7['fileSize'])),ac['push'](ap);}if(a9['showTimings']){let aq=[];a7['parseTime']>0x0&&aq['push']('Parse:\x20'+a7[cN(0x179)]['toFixed'](0x0)+'ms'),a7['spatialIndexBuildTime']>0x0&&aq['push'](cN(0x1a3)+a7['spatialIndexBuildTime']['toFixed'](0x0)+'ms'),a7[cN(0x1d7)]>0x0&&aq['push'](cN(0x1fc)+a7['totalLoadTime']['toFixed'](0x0)+'ms'),aq['length']>0x0&&ac['push']([aq['join']('\x20\x20')]);}if(a9['showCamera']){let ar=a7['viewportBounds'];ac[cN(0x163)](['Zoom:\x20'+Tt(a7['zoom'])+'\x20\x20Pixel:\x20'+a7['pixelSize']['toFixed'](0x2),cN(0x113)+ar['minX'][cN(0x1ee)](0x0)+',\x20'+ar[cN(0x232)]['toFixed'](0x0)+']\x20→\x20['+ar['maxX'][cN(0x1ee)](0x0)+',\x20'+ar[cN(0x19a)]['toFixed'](0x0)+']']);}if(ac['length']===0x0)return;a6[cN(0x212)]=Et;let ad=[];for(let as=0x0;as<ac[cN(0x18c)];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['isSeparator']){let aw=a6['measureText'](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===cN(0x140)?cN(0x157):'rgba(255,\x20255,\x20255,\x200.85)',a6[cN(0x143)](ai,aj,ag,ah),a6['strokeStyle']=a8==='dark'?'rgba(255,\x20255,\x20255,\x200.15)':'rgba(0,\x200,\x200,\x200.15)',a6['lineWidth']=0x1,a6['strokeRect'](ai+0.5,aj+0.5,ag-0x1,ah-0x1),a6['fillStyle']=a8==='dark'?ak['defaultEntityColor']:'rgba(0,\x200,\x200,\x200.85)',a6['textAlign']=cN(0x1f3),a6['textBaseline']='top';let al=aj+J;for(let ay of ad)ay['isSeparator']?al+=Ot:(a6[cN(0x11a)](ay['text'],ai+J,al),al+=Dt);}var At=class{constructor(){const cO=b5;t(this,'layers',new Map()),t(this,cO(0x1df),new Map()),t(this,'colorOverrides',new Map()),t(this,'visibleCache',null);}['setLayers'](a6){const cP=b5;this[cP(0x1eb)]=new Map(a6),this['visibility']['clear'](),this[cP(0x181)]['clear'](),this['visibleCache']=null;for(let [a7,a8]of this['layers'])this['visibility']['set'](a7,!a8['isOff']&&!a8['isFrozen']);}['getAllLayers'](){const cQ=b5;return Array['from'](this[cQ(0x1eb)]['values']());}['setVisible'](a6,a7){const cR=b5;this['visibility']['set'](a6,a7),this[cR(0x121)]=null;}['isVisible'](a6){var a7;return(a7=this['visibility']['get'](a6))==null?!0x0:a7;}['setColorOverride'](a6,a7){this['colorOverrides']['set'](a6,a7);}[b5(0x1ca)](a6){return this['colorOverrides']['get'](a6);}['getVisibleLayerNames'](){const cS=b5;if(this[cS(0x121)])return this['visibleCache'];let a6=new Set();for(let [a7,a8]of this['visibility'])a8&&a6['add'](a7);return this['visibleCache']=a6,a6;}['clear'](){const cT=b5;this['layers'][cT(0x15a)](),this['visibility']['clear'](),this['colorOverrides']['clear'](),this['visibleCache']=null;}},jt=class{constructor(){const cU=b5;t(this,cU(0x1e7),new Map());}['on'](a6,a7){this['listeners']['has'](a6)||this['listeners']['set'](a6,new Set()),this['listeners']['get'](a6)['add'](a7);}['off'](a6,a7){const cV=b5;var a8;(a8=this[cV(0x1e7)]['get'](a6))==null||a8['delete'](a7);}['emit'](a6,a7){const cW=b5;let a8=this[cW(0x1e7)]['get'](a6);if(a8){for(let a9 of a8)a9(a7);}}['removeAllListeners'](){const cX=b5;this[cX(0x1e7)]['clear']();}},Mt=class{constructor(a6,a7){const cY=b5;t(this,'isPanning',!0x1),t(this,'lastX',0x0),t(this,cY(0x1c8),0x0),t(this,'touches',new Map()),t(this,'onPointerDown',void 0x0),t(this,'onPointerMove',void 0x0),t(this,'onPointerUp',void 0x0),t(this,'onWheel',void 0x0),t(this,'onTouchStart',void 0x0),t(this,'onTouchMove',void 0x0),t(this,'onTouchEnd',void 0x0),t(this,'onContextMenu',void 0x0),this['canvas']=a6,this[cY(0x116)]=a7,this['onPointerDown']=this['handlePointerDown']['bind'](this),this['onPointerMove']=this['handlePointerMove'][cY(0x1b9)](this),this['onPointerUp']=this[cY(0x224)][cY(0x1b9)](this),this['onWheel']=this['handleWheel']['bind'](this),this['onTouchStart']=this['handleTouchStart']['bind'](this),this['onTouchMove']=this['handleTouchMove']['bind'](this),this['onTouchEnd']=this[cY(0x17e)]['bind'](this),this['onContextMenu']=a8=>a8[cY(0x229)](),a6['addEventListener']('pointerdown',this[cY(0x1e2)]),a6['addEventListener']('pointermove',this['onPointerMove']),a6[cY(0x21d)]('pointerup',this['onPointerUp']),a6['addEventListener'](cY(0x182),this[cY(0x22d)],{'passive':!0x1}),a6[cY(0x21d)]('touchstart',this['onTouchStart'],{'passive':!0x1}),a6[cY(0x21d)]('touchmove',this['onTouchMove'],{'passive':!0x1}),a6['addEventListener']('touchend',this['onTouchEnd']),a6['addEventListener']('contextmenu',this['onContextMenu']);}['destroy'](){const cZ=b5;this[cZ(0x221)][cZ(0x211)]('pointerdown',this['onPointerDown']),this['canvas']['removeEventListener']('pointermove',this[cZ(0x174)]),this['canvas']['removeEventListener']('pointerup',this['onPointerUp']),this['canvas']['removeEventListener']('wheel',this['onWheel']),this['canvas']['removeEventListener'](cZ(0x183),this['onTouchStart']),this['canvas'][cZ(0x211)]('touchmove',this['onTouchMove']),this['canvas']['removeEventListener']('touchend',this['onTouchEnd']),this['canvas']['removeEventListener']('contextmenu',this['onContextMenu']);}[b5(0x22c)](a6){const d0=b5;let a7=this[d0(0x116)]['getTool'](),a8=this['canvas']['getBoundingClientRect'](),a9=a6['clientX']-a8['left'],aa=a6[d0(0x11d)]-a8['top'];a6[d0(0x189)]===0x0&&a7==='pan'||a6['button']===0x1?this['startPan'](a6,a9,aa):a6[d0(0x189)]===0x0&&(a7==='select'||a7==='measure')&&this['viewer'][d0(0x162)](a9,aa);}['startPan'](a6,a7,a8){const d1=b5;this[d1(0x215)]=!0x0,this['lastX']=a7,this[d1(0x1c8)]=a8,this['canvas'][d1(0x165)](a6['pointerId']),this['canvas']['style']['cursor']='grabbing';}['handlePointerMove'](a6){const d2=b5;let a7=this['canvas'][d2(0x107)](),a8=a6['clientX']-a7['left'],a9=a6['clientY']-a7[d2(0x194)];if(this['isPanning']){let aa=a8-this['lastX'],ab=a9-this['lastY'];this['lastX']=a8,this[d2(0x1c8)]=a9,this['viewer']['handlePan'](aa,ab);}else this['viewer']['handleMouseMove'](a8,a9);}['handlePointerUp'](a6){const d3=b5;this['isPanning']&&(this['isPanning']=!0x1,this['canvas']['releasePointerCapture'](a6[d3(0x119)]),this['canvas'][d3(0x131)][d3(0x146)]=this['viewer']['getTool']()==='pan'?d3(0x112):d3(0x1fa));}['handleWheel'](a6){const d4=b5;a6['preventDefault']();let a7=this['canvas'][d4(0x107)](),a8=a6['clientX']-a7['left'],a9=a6['clientY']-a7['top'],aa=-Math['sign'](a6['deltaY']),ab=this['viewer']['getZoomSpeed'](),ac=aa>0x0?ab:0x1/ab;this['viewer']['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 d5=b5;if(a6['preventDefault'](),this[d5(0x11b)]['size']===0x2&&a6['touches'][d5(0x18c)]===0x2){let a7=a6['touches'][0x0],a8=a6['touches'][0x1],a9=Array['from'](this['touches']['values']()),aa=Math['hypot'](a9[0x0]['x']-a9[0x1]['x'],a9[0x0]['y']-a9[0x1]['y']),ab=Math['hypot'](a7['clientX']-a8['clientX'],a7['clientY']-a8[d5(0x11d)]);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['top'],ah=(a7['clientX']+a8[d5(0x132)])/0x2-ad['left'],ai=(a7['clientY']+a8['clientY'])/0x2-ad['top'];this[d5(0x116)]['handleZoom'](af,ag,ac),this['viewer']['handlePan'](ah-af,ai-ag);}}else{if(this['touches']['size']===0x1&&a6[d5(0x11b)]['length']===0x1){let aj=a6['touches'][0x0],ak=this['touches']['get'](aj[d5(0x1f6)]);ak&&this['viewer']['handlePan'](aj['clientX']-ak['x'],aj[d5(0x11d)]-ak['y']);}}for(let al of Array[d5(0x20a)](a6['changedTouches']))this['touches'][d5(0x1a0)](al['identifier'],{'x':al['clientX'],'y':al[d5(0x11d)]});}[b5(0x17e)](a6){const d6=b5;for(let a7 of Array[d6(0x20a)](a6[d6(0x14e)]))this['touches']['delete'](a7['identifier']);}},Nt=0x5,Pt=class{constructor(){t(this,'tree',new l()),t(this,'items',[]),t(this,'entityBBoxes',[]);}['build'](a6,a7){const d7=b5;this['items']=[],this[d7(0x1b2)]=Array(a6['length'])[d7(0x12e)](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[d7(0x1ac)][d7(0x15a)](),this['tree']['load'](this['items']);}['search'](a6,a7,a8,a9){return this['tree']['search']({'minX':a6,'minY':a7,'maxX':a8,'maxY':a9});}[b5(0x172)](a6){var a7;return(a7=this['entityBBoxes'][a6])==null?null:a7;}[b5(0x1c3)](){const d8=b5;return this[d8(0x1b2)];}['clear'](){const d9=b5;this['tree']['clear'](),this[d9(0x16f)]=[],this[d9(0x1b2)]=[];}};function Ft(a6,a7,a8,a9,aa,ab){const da=b5;let ac=Nt/ab,ad=a9[da(0x150)](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['has'](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 db=b5;switch(a8['type']){case'LINE':return X(a6,a7,a8['start']['x'],a8['start']['y'],a8['end']['x'],a8[db(0x16c)]['y']);case'CIRCLE':return Lt(a6,a7,a8['center']['x'],a8[db(0x1c7)]['y'],a8['radius']);case db(0x15d):return Rt(a6,a7,a8['center']['x'],a8['center']['y'],a8['radius'],a8['startAngle']*Math['PI']/0xb4,a8['endAngle']*Math['PI']/0xb4);case db(0x1b1):case'POLYLINE':{let a9=Infinity,aa=a8[db(0x1ae)],ab=a8[db(0x22a)]?aa['length']:aa['length']-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['center']['x'],a8['center']['y'],a8[db(0x1e4)],a8['minorRatio']);case'TEXT':case'MTEXT':{let ah=G(a8);return ah?zt(a6,a7,ah['minX'],ah['minY'],ah['maxX'],ah[db(0x19a)]):Infinity;}case'POINT':return Math['hypot'](a6-a8[db(0x1ed)]['x'],a7-a8['position']['y']);case'SPLINE':{let ai=Infinity,aj=a8[db(0x1a4)];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 dc=b5;let ac=aa-a8,ad=ab-a9,af=ac*ac+ad*ad;if(af===0x0)return Math['hypot'](a6-a8,a7-a9);let ag=((a6-a8)*ac+(a7-a9)*ad)/af;ag=Math[dc(0x1ba)](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){const dd=b5;return Math[dd(0x1da)](Math['hypot'](a6-a8,a7-a9)-aa);}function Rt(a6,a7,a8,a9,aa,ab,ac){const df=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['abs'](Math['hypot'](a6-a8,a7-a9)-aa);let ah=Math['hypot'](a6-(a8+aa*Math['cos'](ab)),a7-(a9+aa*Math[df(0x1db)](ab))),ai=Math['hypot'](a6-(a8+aa*Math['cos'](ac)),a7-(a9+aa*Math['sin'](ac)));return Math[df(0x23a)](ah,ai);}function zt(a6,a7,a8,a9,aa,ab){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['hypot'](ac,ad);}function Bt(a6,a7,a8,a9,aa,ab){const dg=b5;let ac=Math['atan2'](aa['y'],aa['x']),ad=Math[dg(0x204)](-ac),af=Math['sin'](-ac),ag=(a6-a8)*ad-(a7-a9)*af,ah=(a6-a8)*af+(a7-a9)*ad,ai=Math[dg(0x18e)](Math['pow'](aa['x'],0x2)+Math['pow'](aa['y'],0x2)),aj=ai*ab;if(ai<1e-10)return Math[dg(0x167)](a6-a8,a7-a9);let ak=ai/aj*ah,al=Math[dg(0x167)](ag,ak);if(al<1e-10)return ai;let am=ag/al*ai,an=ah/al*aj;return Math[dg(0x167)](ag-am,ah-an);}var Vt=class{constructor(){const dh=b5;t(this,dh(0x222),{'phase':'idle'}),t(this,dh(0x213),null);}['activate'](){const di=b5;this[di(0x222)]={'phase':'first-point'},this['currentSnap']=null;}[b5(0x141)](){this['state']={'phase':'idle'},this['currentSnap']=null;}['handleClick'](a6,a7,a8){const dj=b5;let a9=a8?a8['point']:{'x':a6,'y':a7};switch(this[dj(0x222)]['phase']){case'first-point':return this[dj(0x222)]={'phase':'second-point','firstPoint':a9,'firstSnap':a8==null?void 0x0:a8},null;case'second-point':{let aa=this[dj(0x222)][dj(0x108)],ab=a9,ac=ab['x']-aa['x'],ad=ab['y']-aa['y'],af=Math['sqrt'](ac*ac+ad*ad),ag=Math['atan2'](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':dj(0x10c),'firstPoint':a9},null;default:return null;}}['handleMove'](a6){this['currentSnap']=a6;}};function Z(a6,a7,a8,a9,aa,ab=new Set([b5(0x138),'midpoint','center'])){const dk=b5;let ac=0xa/aa,ad=[],af=a9['search'](a6-ac,a7-ac,a6+ac,a7+ac);for(let ag of af){let ah=a8[ag['entityIndex']];if(!ah)continue;let ai=ag['entityIndex'];switch(ah['type']){case'LINE':ab['has']('endpoint')&&(Q(ad,ah[dk(0x10f)]['x'],ah['start']['y'],'endpoint',ai,a6,a7,ac),Q(ad,ah['end']['x'],ah['end']['y'],dk(0x138),ai,a6,a7,ac)),ab[dk(0x1ff)]('midpoint')&&Q(ad,(ah[dk(0x10f)]['x']+ah['end']['x'])/0x2,(ah['start']['y']+ah['end']['y'])/0x2,'midpoint',ai,a6,a7,ac);break;case'CIRCLE':if(ab['has']('center')&&Q(ad,ah['center']['x'],ah['center']['y'],'center',ai,a6,a7,ac),ab['has']('endpoint')){for(let aj of[0x0,Math['PI']/0x2,Math['PI'],0x3*Math['PI']/0x2])Q(ad,ah['center']['x']+ah['radius']*Math['cos'](aj),ah[dk(0x1c7)]['y']+ah['radius']*Math['sin'](aj),dk(0x138),ai,a6,a7,ac);}break;case'ARC':if(ab['has'](dk(0x1c7))&&Q(ad,ah['center']['x'],ah['center']['y'],dk(0x1c7),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[dk(0x14c)]*Math[dk(0x204)](ak),ah['center']['y']+ah['radius']*Math['sin'](ak),dk(0x138),ai,a6,a7,ac),Q(ad,ah[dk(0x1c7)]['x']+ah[dk(0x14c)]*Math['cos'](al),ah[dk(0x1c7)]['y']+ah['radius']*Math['sin'](al),'endpoint',ai,a6,a7,ac);}break;case dk(0x1b1):case'POLYLINE':if(ab['has']('endpoint')){for(let am of ah['vertices'])Q(ad,am['x'],am['y'],'endpoint',ai,a6,a7,ac);}if(ab['has']('midpoint'))for(let an=0x0;an<ah['vertices']['length']-0x1;an++){let ao=ah['vertices'][an],ap=ah[dk(0x1ae)][an+0x1];Q(ad,(ao['x']+ap['x'])/0x2,(ao['y']+ap['y'])/0x2,'midpoint',ai,a6,a7,ac);}break;case'ELLIPSE':ab['has'](dk(0x1c7))&&Q(ad,ah[dk(0x1c7)]['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[dk(0x1ff)]('endpoint')&&Q(ad,ah['insertionPoint']['x'],ah['insertionPoint']['y'],'endpoint',ai,a6,a7,ac);break;}}return ad['sort']((aq,ar)=>Math['hypot'](aq['point']['x']-a6,aq[dk(0x17b)]['y']-a7)-Math[dk(0x167)](ar['point']['x']-a6,ar['point']['y']-a7)),ad;}function Q(a6,a7,a8,a9,aa,ab,ac,ad){const dl=b5;Math['hypot'](a7-ab,a8-ac)<=ad&&a6[dl(0x163)]({'point':{'x':a7,'y':a8},'type':a9,'entityIndex':aa});}function Ht(a6,a7,a8,a9,aa,ab){const dm=b5;let ac=I[ab];a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ad=a8[dm(0x222)];if(a8['currentSnap']){let [af,ag]=L(a7,a8['currentSnap']['point']['x'],a8['currentSnap'][dm(0x17b)]['y']);Ut(a6,af,ag,a8['currentSnap'][dm(0x1e5)],ac[dm(0x202)]);}if(ad['phase']==='second-point'){let [ah,ai]=L(a7,ad['firstPoint']['x'],ad['firstPoint']['y']),aj,ak;if(a8['currentSnap']){let [ao,ap]=L(a7,a8[dm(0x213)]['point']['x'],a8['currentSnap'][dm(0x17b)]['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['hypot'](al-ad['firstPoint']['x'],am-ad['firstPoint']['y']);Wt(a6,(ah+aj)/0x2,(ai+ak)/0x2,an,ab);}if(ad['phase']===dm(0x1ea)){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[dm(0x1d4)](as,au),a6['stroke'](),$(a6,aq,ar,ac['measureColor']),$(a6,as,au,ac[dm(0x202)]),Wt(a6,(aq+as)/0x2,(ar+au)/0x2,ad['distance'],ab);}}function Ut(a6,a7,a8,a9,aa){const dn=b5;switch(a6[dn(0x16b)]=aa,a6['lineWidth']=0x2,a9){case'endpoint':a6['strokeRect'](a7-0x8/0x2,a8-0x8/0x2,0x8,0x8);break;case'midpoint':a6[dn(0x1c9)](),a6['moveTo'](a7,a8-0x8/0x2),a6[dn(0x1d4)](a7+0x8/0x2,a8+0x8/0x2),a6['lineTo'](a7-0x8/0x2,a8+0x8/0x2),a6['closePath'](),a6['stroke']();break;case dn(0x1c7):a6['beginPath'](),a6['arc'](a7,a8,0x8/0x2,0x0,Math['PI']*0x2),a6['stroke']();break;case'nearest':a6[dn(0x1c9)](),a6['moveTo'](a7-0x8/0x2,a8-0x8/0x2),a6['lineTo'](a7+0x8/0x2,a8+0x8/0x2),a6[dn(0x142)](a7+0x8/0x2,a8-0x8/0x2),a6['lineTo'](a7-0x8/0x2,a8+0x8/0x2),a6['stroke']();break;}}function $(a6,a7,a8,a9){const dp=b5;a6[dp(0x130)]=a9,a6['beginPath'](),a6[dp(0x1dd)](a7,a8,0x4,0x0,Math['PI']*0x2),a6['fill']();}function Wt(a6,a7,a8,a9,aa){const dq=b5;let ab=a9['toFixed'](0x4);a6['font']='13px\x20monospace',a6['textAlign']=dq(0x1c7),a6['textBaseline']='bottom';let ac=a6['measureText'](ab),ad=a7-ac[dq(0x231)]/0x2-0x4,af=a8-0x14,ag=ac['width']+0x8;a6['fillStyle']=aa==='dark'?'rgba(0,0,0,0.8)':dq(0x1c1),a6['fillRect'](ad,af,ag,0x12),a6['fillStyle']=I[aa]['measureColor'],a6['fillText'](ab,a7,a8-0x6);}var Gt=class{constructor(){const dr=b5;t(this,dr(0x137),null),t(this,dr(0x147),null),t(this,'nextId',0x1),t(this,'pending',new Map());}['getWorker'](){const ds=b5;return this[ds(0x137)]?this['worker']:(this[ds(0x147)]=URL[ds(0x14f)](new Blob([ds(0x16e)],{'type':'text/javascript'})),this['worker']=new Worker(this['blobUrl']),this[ds(0x137)]['onmessage']=a6=>{const du=ds;let {type:a7,id:a8,doc:a9,message:aa}=a6['data'],ab=this['pending'][du(0x196)](a8);ab&&(this['pending'][du(0x18b)](a8),a7==='result'?ab['resolve'](this['reviveDocument'](a9)):a7==='error'&&ab['reject'](Error(aa==null?'Worker\x20parse\x20failed':aa)));},this[ds(0x137)]['onerror']=a6=>{const dv=ds;var a7;let a8=Error((a7=a6['message'])==null?'Worker\x20error':a7);for(let [,a9]of this[dv(0x177)])a9['reject'](a8);this['pending']['clear'](),this['destroyWorker']();},this['worker']);}['parse'](a6){return new Promise((a7,a8)=>{const dw=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[dw(0x1f5)](ab,[a6]):aa['postMessage'](ab);}catch(ad){this['pending'][dw(0x18b)](a9),a8(ad instanceof Error?ad:Error(String(ad)));}});}[b5(0x228)](){this['destroyWorker']();let a6=Error('Worker\x20terminated');for(let [,a7]of this['pending'])a7['reject'](a6);this['pending']['clear']();}['destroyWorker'](){const dx=b5;this[dx(0x137)]&&(this['worker'][dx(0x228)](),this[dx(0x137)]=null),this['blobUrl']&&(URL['revokeObjectURL'](this['blobUrl']),this['blobUrl']=null);}['reviveDocument'](a6){return a3(a3({},a6),{},{'layers':this['ensureMap'](a6['layers']),'lineTypes':this['ensureMap'](a6['lineTypes']),'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 dy=b5;var a8,a9,aa,ab,ac,ad,af;t(this,'canvas',void 0x0),t(this,'renderer',void 0x0),t(this,dy(0x129),void 0x0),t(this,'layerManager',void 0x0),t(this,'emitter',void 0x0),t(this,'spatialIndex',void 0x0),t(this,'measureTool',void 0x0),t(this,dy(0x1a7),null),t(this,dy(0x133),void 0x0),t(this,'currentTool',void 0x0),t(this,'inputHandler',void 0x0),t(this,'resizeObserver',void 0x0),t(this,'formatConverters',void 0x0),t(this,'workerManager',null),t(this,'selectedEntityIndex',-0x1),t(this,'renderPending',!0x1),t(this,dy(0x1c6),!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,'spatialIndexBuildTime',0x0),t(this,'loadedFileName',null),t(this,'loadedFileSize',0x0),t(this,dy(0x15e),0x0),this['canvas']=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[dy(0x1e3)])==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[dy(0x14d)]=(af=a7==null?void 0x0:a7[dy(0x14d)])==null?[]:af,a7!=null&&a7['worker']&&(this[dy(0x14a)]=new Gt()),a7!=null&&a7['debug']?(this['debugEnabled']=!0x0,this['debugOptions']=q(typeof a7['debug']=='boolean'?void 0x0:a7['debug'])):this['debugOptions']=q(),this['renderer']=new St(a6),this[dy(0x129)]=new Ne(this['options']),this['layerManager']=new At(),this['emitter']=new jt(),this['spatialIndex']=new Pt(),this['measureTool']=new Vt(),this['currentTool']=this['options']['initialTool'],this['inputHandler']=new Mt(a6,this),this[dy(0x139)]=new ResizeObserver(()=>this['resize']()),this['resizeObserver']['observe'](a6),a6['style'][dy(0x146)]=this['getCursorForTool'](this['currentTool']),this['requestRender'](),this['debugEnabled']&&this['startDebugLoop']();}['guardDestroyed'](){const dz=b5;if(this[dz(0x1c6)])throw Error(dz(0x1ce));}[b5(0x13c)](a6){var a7=this;return a5(function*(){const dA=a1;for(let a8 of a7['formatConverters']){let a9=!0x1;try{a9=a8[dA(0x1d2)](a6);}catch(aa){continue;}if(a9)return a8['convert'](a6);}return null;})();}['loadFile'](a6){var a7=this;return a5(function*(){const dB=a1;a7['guardDestroyed']();let a8=++a7['loadGeneration'];a7['loadedFileName']=a6['name'],a7['loadedFileSize']=a6['size'];let a9=yield a6['arrayBuffer']();if(a7['destroyed']||a8!==a7['loadGeneration'])return;let aa=yield a7['runConverters'](a9);if(a7['destroyed']||a8!==a7['loadGeneration'])return;let ab=performance['now'](),ac=aa==null?a9:aa;a7[dB(0x1a7)]=yield a7['parseWithOptionalWorker'](ac,a8),!(a7['destroyed']||a8!==a7[dB(0x12c)])&&(a7['parseTime']=performance['now']()-ab,a7['onDocumentLoaded']());})();}['loadBuffer'](a6){var a7=this;return a5(function*(){const dC=a1;a7['guardDestroyed']();let a8=++a7[dC(0x12c)];a7[dC(0x22e)]=null,a7[dC(0x1a2)]=a6['byteLength'];let a9=yield a7['runConverters'](a6);if(a7['destroyed']||a8!==a7['loadGeneration'])return;let aa=performance[dC(0x20b)](),ab=a9==null?a6:a9;a7['doc']=yield a7['parseWithOptionalWorker'](ab,a8),!(a7['destroyed']||a8!==a7[dC(0x12c)])&&(a7['parseTime']=performance['now']()-aa,a7[dC(0x13e)]());})();}['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;}})();}['loadDocument'](a6){const dD=b5;if(this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=0x0,this[dD(0x179)]=0x0,!a6||!Array[dD(0x10b)](a6['entities'])||!(a6[dD(0x1eb)]instanceof Map))throw Error('CadViewer:\x20invalid\x20DxfDocument\x20—\x20expected\x20entities\x20array\x20and\x20layers\x20Map.');this['doc']=a6,this[dD(0x13e)]();}['loadString'](a6){const dE=b5;this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=a6['length'];let a7=performance['now']();this[dE(0x1a7)]=F(a6),this['parseTime']=performance['now']()-a7,this['onDocumentLoaded']();}['loadArrayBuffer'](a6){const dF=b5;this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=a6['byteLength'];let a7=performance[dF(0x20b)]();this['doc']=F(a6),this[dF(0x179)]=performance['now']()-a7,this['onDocumentLoaded']();}[b5(0x11c)](){this['guardDestroyed'](),++this['loadGeneration'],this['doc']=null,this['selectedEntityIndex']=-0x1,this['spatialIndex']['clear'](),rt(),this['layerManager']['clear'](),this['measureTool']['deactivate'](),this['requestRender']();}['onDocumentLoaded'](){const dG=b5;if(!this[dG(0x1a7)])return;this['layerManager']['setLayers'](this['doc']['layers']);let a6=performance['now']();this['spatialIndex']['build'](this[dG(0x1a7)]['entities'],this['doc']),nt(tt(this['doc'])),this['spatialIndexBuildTime']=performance['now']()-a6,this['selectedEntityIndex']=-0x1,this['measureTool']['deactivate'](),this['currentTool']===dG(0x240)&&this['measureTool']['activate'](),this['fitToView']();}['fitToView'](){const dH=b5;if(this[dH(0x125)](),!this['doc'])return;let a6=this['computeDocumentBounds']();if(!a6)return;let a7=this['canvas']['getBoundingClientRect']();this[dH(0x129)]['setTransform'](B(a7[dH(0x231)],a7[dH(0x201)],a6[dH(0x233)],a6['minY'],a6['maxX'],a6[dH(0x19a)])),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['zoomTo'](a6){const dI=b5;this['guardDestroyed']();let a7=this['canvas']['getBoundingClientRect'](),a8=a7['width']/0x2,a9=a7['height']/0x2,aa=a6/this['camera']['getTransform']()['scale'];this[dI(0x129)][dI(0x1f8)](a8,a9,aa),this[dI(0x1e1)](),this['emitter']['emit']('viewchange',this['camera'][dI(0x1de)]());}['panTo'](a6,a7){const dJ=b5;this['guardDestroyed']();let a8=this['canvas']['getBoundingClientRect'](),a9=this['camera']['getTransform'](),aa=a6*a9[dJ(0x191)]+a9['offsetX'],ab=-a7*a9['scale']+a9[dJ(0x17d)],ac=a8['width']/0x2-aa,ad=a8['height']/0x2-ab;this['camera'][dJ(0x18f)](ac,ad),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['getViewTransform'](){return a3({},this['camera']['getTransform']());}['getZoomSpeed'](){const dK=b5;return this['options'][dK(0x175)];}['getLayers'](){const dL=b5;return this['layerManager'][dL(0x235)]();}[b5(0x151)](a6,a7){const dM=b5;this[dM(0x125)](),this[dM(0x126)]['setVisible'](a6,a7),this['requestRender']();}['setLayerColor'](a6,a7){this['guardDestroyed'](),this['layerManager']['setColorOverride'](a6,a7),this['requestRender']();}['setTheme'](a6){const dN=b5;this['guardDestroyed'](),this[dN(0x133)]['theme']=a6,this['requestRender']();}['getTheme'](){return this['options']['theme'];}['setBackgroundColor'](a6){this['guardDestroyed'](),this['options']['backgroundColor']=a6,this['requestRender']();}['setTool'](a6){const dO=b5;this['guardDestroyed'](),this['currentTool']===dO(0x240)&&a6!=='measure'&&this['measureTool']['deactivate'](),this[dO(0x1cc)]=a6,this['canvas'][dO(0x131)][dO(0x146)]=this['getCursorForTool'](a6),a6===dO(0x240)&&this['measureTool']['activate'](),a6!=='select'&&(this['selectedEntityIndex']=-0x1),this[dO(0x1e1)]();}[b5(0x1e6)](){return this['currentTool'];}[b5(0x1b4)](a6){const dP=b5;switch(a6){case'pan':return'grab';case'select':return'crosshair';case dP(0x240):return'crosshair';}}['on'](a6,a7){this['emitter']['on'](a6,a7);}['off'](a6,a7){this['emitter']['off'](a6,a7);}['getDocument'](){return this['doc'];}['getEntities'](){const dQ=b5;var a6,a7;return(a6=(a7=this['doc'])==null?void 0x0:a7[dQ(0x219)])==null?[]:a6;}['resize'](){this['renderer']['updateSize'](),this['requestRender']();}['destroy'](){const dR=b5;var a6;this['destroyed']=!0x0,this[dR(0x206)](),this[dR(0x225)]['destroy'](),this[dR(0x139)]['disconnect'](),this['renderer'][dR(0x12f)](),this['emitter']['removeAllListeners'](),this['spatialIndex'][dR(0x15a)](),rt(),this[dR(0x126)]['clear'](),(a6=this['workerManager'])==null||a6['terminate'](),this['workerManager']=null,this['doc']=null;}['requestRender'](){if(!this['destroyed']){if(this['debugRafId']){this['doRender']();return;}this['renderPending']||(this['renderPending']=!0x0,requestAnimationFrame(()=>{this['renderPending']=!0x1,!this['destroyed']&&this['doRender']();}));}}[b5(0x127)](){const dS=b5;if(!this[dS(0x1a7)]){this[dS(0x124)]['renderEmpty'](this[dS(0x133)][dS(0x12a)]);return;}let a6=this[dS(0x129)]['getTransform'](),a7=this['renderer']['getWidth'](),a8=this['renderer']['getHeight'](),a9=this['computeViewportBounds'](a6,a7,a8),aa=this['spatialIndex']['search'](a9['minX'],a9['minY'],a9['maxX'],a9[dS(0x19a)]),ab=new Set();for(let ag=0x0;ag<aa[dS(0x18c)];ag++)ab[dS(0x178)](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'][dS(0x1c3)]());this['lastFrameTime']=performance['now']()-ac,this['lastRenderStats']=ad;let af=performance['now']();for(af-this[dS(0x227)]>=0x3&&this['frameTimestamps'][dS(0x163)](af),this[dS(0x227)]=af;this['frameTimestamps']['length']>0x0&&this['frameTimestamps'][0x0]<af-0x3e8;)this['frameTimestamps'][dS(0x230)]();if(this['currentTool']==='measure'&&this['measureTool']['state'][dS(0x164)]!=='idle'&&Ht(this['renderer'][dS(0x23e)](),this['camera']['getTransform'](),this['measureTool'],this[dS(0x18d)],this['mouseScreenY'],this['options']['theme']),this[dS(0x13b)]){let ah=this['renderer']['getContext'](),ai=this['buildDebugStats']();this['lastDebugStats']=ai,kt(ah,ai,this['options']['theme'],this['debugOptions'],this['renderer']['getWidth'](),this['renderer']['getHeight']());}}[b5(0x1bb)](a6){const dT=b5;this[dT(0x125)](),typeof a6==dT(0x23f)?this['debugEnabled']=a6:(this[dT(0x13b)]=!0x0,this['debugOptions']=q(a6)),this['debugEnabled']?this['startDebugLoop']():(this['stopDebugLoop'](),this['requestRender']());}['startDebugLoop'](){const dU=b5;if(this[dU(0x15e)])return;let a6=()=>{const dV=dU;if(!this['debugEnabled']||this['destroyed']){this['debugRafId']=0x0;return;}this['doRender'](),this[dV(0x15e)]=requestAnimationFrame(a6);};this['debugRafId']=requestAnimationFrame(a6);}['stopDebugLoop'](){const dW=b5;this['debugRafId']&&(cancelAnimationFrame(this[dW(0x15e)]),this['debugRafId']=0x0);}['getDebugStats'](){return this['debugEnabled']?this['lastDebugStats']:null;}['buildDebugStats'](){const dX=b5;var a6,a7,a8,a9,aa,ab,ac,ad,af;let ag=this['camera']['getTransform'](),ah=this['renderer']['getWidth'](),ai=this['renderer']['getHeight'](),aj=this['computeViewportBounds'](ag,ah,ai);return{'fps':this[dX(0x22b)]['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']['getVisibleLayerNames']()[dX(0x170)],'blockCount':(ab=(ac=this[dX(0x1a7)])==null?void 0x0:ac['blocks']['size'])==null?0x0:ab,'parseTime':this[dX(0x179)],'spatialIndexBuildTime':this['spatialIndexBuildTime'],'totalLoadTime':this['parseTime']+this['spatialIndexBuildTime'],'zoom':ag['scale'],'pixelSize':ag['scale']>0x0?0x1/ag[dX(0x191)]: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){const dY=b5;let [a9,aa]=R(a6,0x0,a8),[ab,ac]=R(a6,a7,0x0);return{'minX':Math[dY(0x23a)](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']());}['handleZoom'](a6,a7,a8){const dZ=b5;this['camera']['zoom'](a6,a7,a8),this['requestRender'](),this[dZ(0x10d)]['emit']('viewchange',this[dZ(0x129)][dZ(0x1de)]());}['handleClick'](a6,a7){const e0=b5;if(!this['doc'])return;let a8=this['camera']['getTransform'](),[a9,aa]=R(a8,a6,a7);switch(this[e0(0x1cc)]){case'select':this['handleSelect'](a9,aa,a6,a7);break;case'measure':{let ab=Z(a9,aa,this['doc']['entities'],this['spatialIndex'],a8['scale']),ac=ab['length']>0x0?ab[0x0]:null,ad=this[e0(0x144)]['handleClick'](a9,aa,ac);this[e0(0x1e1)](),ad&&this['emitter']['emit']('measure',ad);break;}}}['handleMouseMove'](a6,a7){const e1=b5;if(this['mouseScreenX']=a6,this['mouseScreenY']=a7,this['currentTool']==='measure'&&this['doc']){var a8;let a9=this['camera'][e1(0x1de)](),[aa,ab]=R(a9,a6,a7),ac=Z(aa,ab,this['doc']['entities'],this['spatialIndex'],a9['scale']);this['measureTool']['handleMove']((a8=ac[0x0])==null?null:a8),this['requestRender']();}}['handleSelect'](a6,a7,a8,a9){const e2=b5;if(!this[e2(0x1a7)])return;let aa=Ft(a6,a7,this[e2(0x1a7)][e2(0x219)],this['spatialIndex'],this[e2(0x126)]['getVisibleLayerNames'](),this['camera']['getTransform']()[e2(0x191)]);if(this['selectedEntityIndex']=aa,this['requestRender'](),aa>=0x0&&this['doc']){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 e3=b5;return this['doc']?this[e3(0x1a7)]['header']['extMin']&&this['doc']['header']['extMax']?{'minX':this['doc']['header']['extMin']['x'],'minY':this['doc']['header'][e3(0x1c0)]['y'],'maxX':this['doc']['header']['extMax']['x'],'maxY':this['doc']['header'][e3(0x205)]['y']}:$e(this['doc']['entities']):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};
|