@mlightcad/libredwg-converter 3.13.1 → 3.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(D,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],r):(D=typeof globalThis<"u"?globalThis:D||self,r(D["libredwg-converter"]={},D.dataModel))})(this,(function(D,r){"use strict";class y{convert(e){const t=this.createEntity(e);return t&&this.processCommonAttrs(e,t),t}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POINT"?this.convertPoint(e):e.type=="POLYLINE2D"?this.convertPolyline2d(e):e.type=="POLYLINE3D"?this.convertPolyline3d(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="TOLERANCE"?this.convertTolerance(e):e.type=="SHAPE"?this.convertShape(e):e.type=="SOLID"?this.convertSolid(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):e.type=="ACAD_PROXY_ENTITY"?this.convertProxyEntity(e):e.type=="OLE2FRAME"?this.convertOle2Frame(e):e.type=="OLEFRAME"?this.convertOleFrame(e):null}convertProxyEntity(e){const t=new r.AcDbProxyEntity;if(t.proxyEntityClassId=e.proxyEntityClassId,e.originalDxfName&&(t.originalDxfName=e.originalDxfName),e.applicationEntityClassId!=null&&(t.applicationEntityClassId=e.applicationEntityClassId),e.objectDrawingFormat!=null&&(t.objectDrawingFormat=e.objectDrawingFormat),e.originalDataFormat!=null&&(t.originalDataFormat=e.originalDataFormat),e.graphicsData){const o=r.acdbHexStringsToBytes([e.graphicsData]),n=e.graphicsDataSize??o.length;t.setProxyGraphic(o.subarray(0,n))}return t}convertFace(e){const t=new r.AcDbFace;return e.corner1&&t.setVertexAt(0,e.corner1),e.corner2&&t.setVertexAt(1,e.corner2),e.corner3&&t.setVertexAt(2,e.corner3),e.corner4&&t.setVertexAt(3,e.corner4),t.setEdgeInvisibilities(e.flag),t}convertArc(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbArc(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,e.startAngle,e.endAngle,t)}convertCirle(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbCircle(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,t)}convertEllipse(e){const t=new r.AcGeVector3d(e.majorAxisEndPoint),o=t.length();return new r.AcDbEllipse(e.center,e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t,o,o*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const t=e.startPoint,o=e.endPoint;return new r.AcDbLine(new r.AcGePoint3d(t.x,t.y,t.z),new r.AcGePoint3d(o.x,o.y,o.z))}convertSpline(e){return r.AcDbSpline.fromDwgSpline(e)}convertPoint(e){const t=new r.AcDbPoint;return t.position=e.position,t}convertShape(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,o=new r.AcDbShape;return o.position=r.acgeTransformOcsPointToWcs(e.insertionPoint,t),o.size=e.size,o.shapeNumber=e.shapeNumber,e.styleName&&(o.styleName=e.styleName),o.rotation=e.rotation??0,o.widthFactor=e.xScale??1,o.oblique=e.obliqueAngle??0,o.thickness=e.thickness??0,o.normal.copy(t),o}convertSolid(e){const t=new r.AcDbSolid;return t.setPointAt(0,{...e.corner1,z:0}),t.setPointAt(1,{...e.corner2,z:0}),t.setPointAt(2,{...e.corner3,z:0}),t.setPointAt(3,e.corner4?{...e.corner4,z:0}:{...e.corner3,z:0}),t.thickness=e.thickness??0,t}convertLWPolyline(e){const t=new r.AcDbPolyline;t.closed=!!(e.flag&512);const o=e.constantWidth??-1;return e.vertices.forEach((n,i)=>{t.addVertexAt(i,new r.AcGePoint2d(n.x,n.y),n.bulge,n.startWidth??o,n.endWidth??o)}),t}convertPolyline2d(e){const t=!!(e.flag&1),o=!!(e.flag&16),n=!!(e.flag&64),i=!!(e.flag&32),s=[],l=[],a=[];if(e.vertices.map(c=>{if(!(c.flag&16))if(n&&c.flag&128)if(c.flag&64)s.push({x:c.x,y:c.y,z:c.z}),l.push(c.bulge??0);else{const f=[];c.polyfaceIndex0!=null&&c.polyfaceIndex0!=0&&f.push(Math.abs(c.polyfaceIndex0)-1),c.polyfaceIndex1!=null&&c.polyfaceIndex1!=0&&f.push(Math.abs(c.polyfaceIndex1)-1),c.polyfaceIndex2!=null&&c.polyfaceIndex2!=0&&f.push(Math.abs(c.polyfaceIndex2)-1),c.polyfaceIndex3!=null&&c.polyfaceIndex3!=0&&f.push(Math.abs(c.polyfaceIndex3)-1),f.length>=3&&a.push(f)}else s.push({x:c.x,y:c.y,z:c.z}),l.push(c.bulge??0)}),o){const c=e.meshMVertexCount??2,f=e.meshNVertexCount??2;return new r.AcDbPolygonMesh(c,f,s,t,i)}else{if(n)return new r.AcDbPolyFaceMesh(s,a);{let c=r.AcDbPoly2dType.SimplePoly;return e.flag&2?c=r.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?c=r.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(c=r.AcDbPoly2dType.QuadSplinePoly)),new r.AcDb2dPolyline(c,s,0,t,e.startWidth,e.endWidth,l)}}}convertPolyline3d(e){const t=!!(e.flag&1),o=[];e.vertices.map(i=>{i.flag&16||o.push({x:i.x,y:i.y,z:i.z})});let n=r.AcDbPoly3dType.SimplePoly;return e.flag&4&&(e.smoothType==6?n=r.AcDbPoly3dType.CubicSplinePoly:e.smoothType==5&&(n=r.AcDbPoly3dType.QuadSplinePoly)),new r.AcDb3dPolyline(n,o,t)}convertHatch(e){var n;const t=new r.AcDbHatch;if((n=e.definitionLines)==null||n.forEach(i=>{t.definitionLines.push({angle:i.angle,base:i.base,offset:i.offset,dashLengths:i.numberOfDashLengths>0?i.dashLengths:[]})}),t.isSolidFill=e.solidFill==1,t.hatchStyle=e.hatchStyle,t.patternName=e.patternName,t.patternType=e.patternType,t.patternAngle=e.patternAngle==null?0:e.patternAngle,t.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(i=>{if(i.boundaryPathTypeFlag&2){const l=i,a=new r.AcGePolyline2d;a.closed=l.isClosed,l.vertices.forEach((c,f)=>{a.addVertexAt(f,{x:c.x,y:c.y,bulge:c.bulge})}),t.add(a)}else{const l=i,a=[];l.edges.forEach(f=>{if(f!=null){if(f.type==1){const u=f;a.push(new r.AcGeLine2d(u.start,u.end))}else if(f.type==2){const u=f;a.push(new r.AcGeCircArc2d(u.center,u.radius,u.startAngle,u.endAngle,!u.isCCW))}else if(f.type==3){const u=f;new r.AcGeVector2d().subVectors(u.end,u.center);const d=Math.sqrt(Math.pow(u.end.x,2)+Math.pow(u.end.y,2)),g=d*u.lengthOfMinorAxis;let A=u.startAngle,b=u.endAngle;const L=Math.atan2(u.end.y,u.end.x);u.isCCW||(A=Math.PI*2-A,b=Math.PI*2-b),a.push(new r.AcGeEllipseArc2d({...u.center,z:0},d,g,A,b,!u.isCCW,L))}else if(f.type==4){const u=r.AcGeSpline3d.fromDwgSplineEdge(f);u&&a.push(u)}}});const c=r.AcGeLoop2d.buildFromEdges(a);c.length==0&&a.length>0?t.add(new r.AcGeLoop2d(a)):c.forEach(f=>t.add(f))}}),e.gradientFlag){const i=e;if(t.hatchObjectType=r.AcDbHatchObjectType.GradientObject,t.gradientName=i.gradientName,t.gradientAngle=i.gradientRotation??0,t.gradientShift=i.gradientDefinition??0,t.gradientOneColorMode=i.gradientColorFlag==1,t.shadeTintValue=i.colorTint??0,i.gradientColors){const s=i.gradientColors.length;s>1?(t.gradientStartColor=i.gradientColors[0].rgb,t.gradientEndColor=i.gradientColors[1].rgb):s>0&&(t.gradientStartColor=i.gradientColors[0].rgb)}}return t}convertTable(e){const t=new r.AcDbTable(e.name??"",e.rowCount,e.columnCount);return t.tableStyleId=e.tableStyleId,t.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(t.horizontalDirection=new r.AcGeVector3d(e.directionVector)),t.attachmentPoint=e.attachmentPoint,t.position.copy(e.startPoint),t.tableValueFlag=e.tableValue,t.tableOverrideFlag=e.overrideFlag,t.borderColorOverrideFlag=e.borderColorOverrideFlag,t.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,t.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((o,n)=>t.setColumnWidth(n,o)),e.rowHeightArr.forEach((o,n)=>t.setRowHeight(n,o)),e.cells.forEach((o,n)=>{t.setCell(n,o)}),t}convertText(e){const t=new r.AcDbText;t.textString=e.text,t.styleName=e.styleName,t.height=e.textHeight,t.position.copy(e.startPoint);const o=!e.endPoint||e.endPoint.x===0&&e.endPoint.y===0&&(e.endPoint.z??0)===0;return e.endPoint&&!o?t.alignmentPoint.copy(e.endPoint):t.alignmentPoint.copy(e.startPoint),t.rotation=e.rotation,t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t}convertTolerance(e){const t=new r.AcDbFcf;return t.location.copy(e.insertionPoint),t.text=e.text,t.dimensionStyle=e.styleName??"",e.extrusionDirection&&t.normal.copy(e.extrusionDirection),e.xAxisDirection&&t.direction.copy(e.xAxisDirection),t}convertMText(e){const t=new r.AcDbMText;return t.contents=e.text,e.styleName!=null&&(t.styleName=e.styleName),t.height=e.textHeight,t.width=e.rectWidth,t.rotation=e.rotation||0,t.location=e.insertionPoint,t.attachmentPoint=e.attachmentPoint,e.direction&&(t.direction=new r.AcGeVector3d(e.direction)),t.drawingDirection=e.drawingDirection,e.extentsWidth!=null&&e.extentsWidth>0&&(t.extentsWidth=e.extentsWidth),t}convertLeader(e){const t=new r.AcDbLeader;return e.vertices.forEach(o=>{t.appendVertex(o)}),t.hasArrowHead=e.isArrowheadEnabled,t.hasHookLine=e.isHooklineExists,t.isHookLineSameDirection=e.isHooklineSameDirection,t.isSplined=e.isSpline,t.dimensionStyle=e.styleName??"",t.annoType=e.leaderCreationFlag,e.textHeight!=null&&(t.textHeight=e.textHeight),e.textWidth!=null&&(t.textWidth=e.textWidth),e.byBlockColor!=null&&(t.byBlockColor=e.byBlockColor),e.associatedAnnotation&&(t.associatedAnnotation=e.associatedAnnotation),e.normal&&(t.normal=e.normal),e.horizontalDirection&&(t.horizontalDirection=e.horizontalDirection),e.offsetFromBlock&&(t.offsetFromBlock=e.offsetFromBlock),e.offsetFromAnnotation&&(t.offsetFromAnnotation=e.offsetFromAnnotation),t}convertMLine(e){const t=new r.AcDbMLine;return t.styleName=e.mlineStyle||"STANDARD",t.scale=e.scale,t.flags=e.flags,t.justification=e.justification,t.startPosition=e.startPoint,t.normal=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t.styleCount=e.numberOfLines??0,t.segments=(e.vertices??[]).map(o=>({position:o.vertex,direction:o.vertexDirection,miterDirection:o.miterDirection,elements:(o.lines??[]).map(n=>({parameterCount:n.numberOfSegmentParams,parameters:n.segmentParams??[],fillCount:n.numberOfAreaFillParams,fillParameters:n.areaFillParams??[]}))})),t}convertMLeader(e){var P,I;const t=new r.AcDbMLeader,o=e;t.version=e.version,t.leaderStyleId=e.leaderStyleId,e.leaderStyleId&&(t.mleaderStyleId=e.leaderStyleId),t.propertyOverrideFlag=e.propertyOverrideFlag,t.leaderLineType=e.leaderLineType??r.AcDbMLeaderLineType.StraightLeader,e.leaderLineColor!=null&&(t.leaderLineColor=this.convertMLeaderEntityColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,t.leaderLineWeight=e.leaderLineWeight,t.landingEnabled=e.landingEnabled,t.doglegEnabled=e.doglegEnabled??!1,t.doglegLength=e.doglegLength??0,t.arrowheadId=e.arrowheadId,t.arrowheadSize=e.arrowheadSize,t.textStyleId=e.textStyleId,t.textLeftAttachmentType=e.textLeftAttachmentType,t.textRightAttachmentType=e.textRightAttachmentType,t.textAngleType=e.textAngleType,t.textAlignmentType=e.textAlignmentType,e.textColor!=null&&(t.textColor=this.convertMLeaderEntityColor(e.textColor)),t.textFrameEnabled=e.textFrameEnabled,t.landingGap=e.landingGap,t.textAttachment=e.textAttachment,t.textFlowDirection=e.textFlowDirection,this.isValidHandleId(e.blockContentId)&&(t.blockContentId=e.blockContentId),e.blockContentColor!=null&&(t.blockContentColor=this.convertMLeaderEntityColor(e.blockContentColor)),t.blockContentRotation=e.blockContentRotation,t.blockContentConnectionType=e.blockContentConnectionType,t.annotativeScaleEnabled=e.annotativeScaleEnabled,t.arrowheadOverrides=e.arrowheadOverrides?e.arrowheadOverrides.map(p=>({...p})):[],t.blockAttributes=e.blockAttributes?e.blockAttributes.map(p=>({...p})):[],t.textDirectionNegative=e.textDirectionNegative,t.textAlignInIPE=e.textAlignInIPE,t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection,t.topTextAttachmentDirection=e.topTextAttachmentDirection,t.contentScale=e.contentScale,t.textLineSpacingStyle=e.textLineSpacingStyle,e.textBackgroundColor!=null&&(t.textBackgroundColor=this.convertMLeaderEntityColor(e.textBackgroundColor)),t.textBackgroundScaleFactor=e.textBackgroundScaleFactor,t.textBackgroundTransparency=e.textBackgroundTransparency,t.textBackgroundColorOn=e.textBackgroundColorOn,t.textFillOn=e.textFillOn,t.textColumnType=e.textColumnType,t.textUseAutoHeight=e.textUseAutoHeight,t.textColumnWidth=e.textColumnWidth,t.textColumnGutterWidth=e.textColumnGutterWidth,t.textColumnFlowReversed=e.textColumnFlowReversed,t.textColumnHeight=e.textColumnHeight,t.textUseWordBreak=e.textUseWordBreak,t.hasMText=e.hasMText,t.hasBlock=e.hasBlock,t.planeNormalReversed=e.planeNormalReversed,e.blockContentScale&&(t.blockContentScale=new r.AcGeVector3d(e.blockContentScale)),e.contentBasePosition&&(t.contentBasePosition=new r.AcGePoint3d().copy(e.contentBasePosition)),e.textAnchor&&(t.textAnchor=new r.AcGePoint3d().copy(e.textAnchor)),e.planeOrigin&&(t.planeOrigin=new r.AcGePoint3d().copy(e.planeOrigin)),e.planeXAxisDirection&&(t.planeXAxisDirection=new r.AcGeVector3d(e.planeXAxisDirection)),e.planeYAxisDirection&&(t.planeYAxisDirection=new r.AcGeVector3d(e.planeYAxisDirection));const n=o.textContent,i=n&&typeof n=="object"?n:void 0,s=typeof n=="string"&&n.length>0||this.readString(i??{},["text","contents"])!=null||this.readString(o,["text","contents","mtext"])!=null,l=e.contentType??(s?r.AcDbMLeaderContentType.MTextContent:e.blockContent?r.AcDbMLeaderContentType.BlockContent:r.AcDbMLeaderContentType.NoneContent);t.contentType=l;const a=this.readPoint(o,["normal","extrusionDirection"]);a&&(t.normal=a);const c=this.readString(i??{},["styleName","textStyleName","textStyle"])??this.readString(o,["textStyleName","textStyle","styleName"]);c&&(t.textStyleName=c);const f=this.readPositiveNumber(i??{},["textHeight","height"])??this.readPositiveNumber(o,["textHeight","mtextHeight","textContentHeight"])??this.readPositiveNumber(o,["arrowheadSize","contentScale"]);f!=null&&(t.textHeight=f);const u=this.readPositiveNumber(i??{},["textWidth","width"])??this.readPositiveNumber(o,["textWidth","mtextWidth","textContentWidth"]);u!=null&&(t.textWidth=u),t.textLineSpacingFactor=this.readNumber(i??{},["lineSpacingFactor","textLineSpacingFactor"])??this.readNumber(o,["textLineSpacingFactor"])??t.textLineSpacingFactor;const h=this.readNumber(i??{},["textRotation","rotation"])??this.readNumber(o,["textRotation","mtextRotation","textContentRotation"]);h!=null&&(t.textRotation=h);const d=this.readPoint(o,["textDirection","mtextDirection","textDirectionVector"]);d&&(t.textDirection=d);const g=this.readNumber(o,["textAttachmentPoint","attachmentPoint"]);g!=null&&g!==0&&(t.textAttachmentPoint=g);const A=e.textAttachmentDirection;A!=null&&(t.textAttachmentDirection=A);const b=this.readNumber(o,["textDrawingDirection","drawingDirection"]);b!=null&&(t.textDrawingDirection=b);const L=typeof n=="string"?n:this.readString(i??{},["text","contents"])??this.readString(o,["text","contents","mtext"]),T=this.readPoint(i??{},["anchorPoint","textAnchor","textLocation","textPosition","textAnchorPoint"])??this.readPoint(o,["textAnchor","textLocation","textPosition","textAnchorPoint","contentBasePosition"]);if(L!=null&&T&&(t.mtextContent={text:L,anchorPoint:T}),e.blockContent){const p=e.blockContent,w=e.blockContent.blockContentId;if(this.isValidHandleId(w)){const m=this.readMLeaderEntityColor(p,["color"]);t.blockContent={blockContentId:w,normal:this.readPoint(p,["normal"]),position:e.blockContent.position,scale:this.readPoint(p,["scale"]),rotation:this.readNumber(p,["rotation"]),color:m,transformationMatrix:Array.isArray(e.blockContent.transformationMatrix)?e.blockContent.transformationMatrix:[]}}}else this.isValidHandleId(e.blockContentId)&&(t.blockContent={blockContentId:e.blockContentId,scale:e.blockContentScale,rotation:e.blockContentRotation,color:t.blockContentColor,transformationMatrix:[]});return(P=this.readMLeaderLeaders(o))==null||P.forEach(p=>{t.addLeader({lastLeaderLinePoint:p.lastLeaderLinePoint,lastLeaderLinePointSet:p.lastLeaderLinePointSet,doglegVector:p.doglegVector,doglegVectorSet:p.doglegVectorSet,doglegLength:p.doglegLength??e.doglegLength,breaks:p.breaks,leaderBranchIndex:p.leaderBranchIndex,leaderLines:p.leaderLines})}),t.numberOfLeaders===0&&((I=this.readLeaderLineArray(o))==null||I.forEach(p=>{t.addLeader({doglegLength:e.doglegLength}),t.addLeaderLine(t.numberOfLeaders-1,p)})),t.numberOfLeaders===0&&e.contentBasePosition&&t.addLeader({lastLeaderLinePoint:e.contentBasePosition,lastLeaderLinePointSet:!0,doglegLength:e.doglegLength}),t}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const t=e,o=new r.AcDbAlignedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRotatedDimension"){const t=e,o=new r.AcDbRotatedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const t=e,o=new r.AcDb3PointAngularDimension(t.centerPoint,t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb2LineAngularDimension"){const t=e,o=t.definitionPoint??t.arcPoint??t.subDefinitionPoint2,n=t.centerPoint??t.subDefinitionPoint2??t.subDefinitionPoint1,i=n??o,s=t.subDefinitionPoint1??n??o,l=t.subDefinitionPoint2??n??o;if(!o||!t.name)return null;const a=new r.AcDb3PointAngularDimension(i,s,l,o);return this.processDimensionCommonAttrs(e,a),a}else if(e.subclassMarker=="AcDbOrdinateDimension"){const t=e,o=new r.AcDbOrdinateDimension(t.subDefinitionPoint1,t.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRadialDimension"){const t=e,o=new r.AcDbRadialDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbDiametricDimension"){const t=e,o=new r.AcDbDiametricDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}return null}processImage(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.imageDefId=e.imageDefHandle,t.isClipped=e.clipping>0,t.isShownClipped=(e.flags&4)!==0,t.isImageShown=(e.flags&3)!==0,t.isImageTransparent=(e.flags&8)!==0,e.clippingBoundaryPath.forEach(o=>{t.clipBoundary.push(new r.AcGePoint2d(o))}),t.clipBoundaryType=e.clippingBoundaryType,t.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const t=new r.AcDbRasterImage;return this.processImage(e,t),t}convertWipeout(e){const t=new r.AcDbWipeout;return this.processImage(e,t),t}convertOleFrame(e){const t=new r.AcDbOleFrame;if(t.oleVersion=e.flag??0,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertOle2Frame(e){const t=new r.AcDbOle2Frame;if(t.oleVersion=e.oleVersion??0,t.userType=e.oleClient??"",e.leftUpPoint&&t.upperLeftCorner.copy(e.leftUpPoint),e.rightDownPoint&&t.lowerRightCorner.copy(e.rightDownPoint),t.setLockAspect(e.lockAspect??0),t.oleObjectType=e.oleObjectType??r.AcDbOleObjectType.Embedded,t.tileMode=e.tileModeDescriptor??r.AcDbOleTileMode.ModelSpace,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertViewport(e){const t=new r.AcDbViewport;t.number=e.viewportId,t.centerPoint.copy(e.viewportCenter),t.height=e.height,t.width=e.width,t.viewCenter.copy(e.displayCenter),t.viewHeight=e.viewHeight,e.targetPoint&&t.viewTarget.copy(e.targetPoint),e.viewTwistAngle!=null&&(t.viewTwistAngle=e.viewTwistAngle);const o=1e-6,n=Math.abs(t.centerPoint.x)<o&&Math.abs(t.centerPoint.y)<o,i=t.viewTarget,s=Math.abs(i.x)<o&&Math.abs(i.y)<o,l=Number.isFinite(t.height)&&Number.isFinite(t.viewHeight)&&Math.abs(t.viewHeight-t.height)<o;return n&&s&&l&&t.centerPoint.copy(t.viewCenter),t}convertRay(e){const t=new r.AcDbRay;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertXline(e){const t=new r.AcDbXline;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertAttributeCommon(e,t){const o=e.text;t.textString=o.text,t.styleName=o.styleName,t.height=o.textHeight,t.position.copy(o.startPoint);const n=e.alignmentPoint??o.endPoint,i=!n||n.x===0&&n.y===0&&(n.z??0)===0;n&&!i?t.alignmentPoint.copy(n):t.alignmentPoint.copy(o.startPoint),t.rotation=o.rotation,t.oblique=o.obliqueAngle??0,t.thickness=o.thickness,t.horizontalMode=o.halign,t.verticalMode=o.valign,t.widthFactor=o.xScale??1,t.tag=e.tag,t.fieldLength=e.fieldLength,t.isInvisible=(e.flags&r.AcDbAttributeFlags.Invisible)!==0,t.isConst=(e.flags&r.AcDbAttributeFlags.Const)!==0,t.isVerifiable=(e.flags&r.AcDbAttributeFlags.Verifiable)!==0,t.isPreset=(e.flags&r.AcDbAttributeFlags.Preset)!==0,t.lockPositionInBlock=e.lockPositionFlag,t.isReallyLocked=e.isReallyLocked,t.isMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.MultiLine)!==0,t.isConstMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.ConstMultiLine)!==0}convertAttribute(e){const t=new r.AcDbAttribute;return this.convertAttributeCommon(e,t),t}convertAttributeDefinition(e){const t=new r.AcDbAttributeDefinition;return this.convertAttributeCommon(e,t),t.prompt=e.prompt,t}convertBlockReference(e){const t=new r.AcDbBlockReference(e.name);return e.insertionPoint&&t.position.copy(e.insertionPoint),t.scaleFactors.x=e.xScale,t.scaleFactors.y=e.yScale,t.scaleFactors.z=e.zScale,t.rotation=e.rotation,t.normal.copy(e.extrusionDirection),e.columnCount!=null&&(t.columnCount=e.columnCount),e.rowCount!=null&&(t.rowCount=e.rowCount),e.columnSpacing!=null&&(t.columnSpacing=e.columnSpacing),e.rowSpacing!=null&&(t.rowSpacing=e.rowSpacing),e.handle!=null&&(t.objectId=e.handle),e.attribs&&e.attribs.forEach(o=>{const n=this.convert(o);n instanceof r.AcDbAttribute&&t.appendAttributes(n)}),t}processDimensionCommonAttrs(e,t){t.dimBlockId=e.name,t.textPosition.copy(e.textPoint),t.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(t.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(t.textLineSpacingStyle=e.textLineSpacingStyle),t.dimensionStyleName=e.styleName,t.dimensionText=e.text||"",t.measurement=e.measurement}processCommonAttrs(e,t){if(t.layer=e.layer||"0",t.objectId=e.handle,e.ownerBlockRecordSoftId!=null&&(t.ownerId=e.ownerBlockRecordSoftId),e.lineType!=null&&(t.lineType=e.lineType),e.lineweight!=null&&(t.lineWeight=e.lineweight),e.lineTypeScale!=null&&(t.linetypeScale=e.lineTypeScale),e.color!=null||e.colorIndex!=null||e.colorName){const o=new r.AcCmColor;e.color!=null&&o.setRGBValue(e.color),e.colorIndex!=null&&(e.color==null||e.colorIndex===7)&&(o.colorIndex=e.colorIndex),e.colorName&&(o.colorName=e.colorName),t.color=o}if(e.isVisible!=null&&(t.visibility=e.isVisible),e.transparency!=null){const o=new r.AcCmTransparency;o.method=e.transparencyType,(o.isByBlock||o.isByBlock)&&(o.alpha=e.transparency),t.transparency=o}}convertMLeaderEntityColor(e){return r.acdbDecodeMLeaderStyleRawColor(e)}readMLeaderEntityColor(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return r.acdbDecodeMLeaderStyleRawColor(n)}}isValidHandleId(e){return e!=null&&e!==""&&e!=="0"}readNumber(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return n}}readPositiveNumber(e,t){const o=this.readNumber(e,t);return o!=null&&o>0?o:void 0}readString(e,t){for(const o of t){const n=e[o];if(typeof n=="string")return n}}readBoolean(e,t){for(const o of t){const n=e[o];if(typeof n=="boolean")return n;if(typeof n=="number")return n!==0}}readPoint(e,t){for(const o of t){const n=e[o];if(this.isPointLike(n))return n;if(Array.isArray(n)&&typeof n[0]=="number"&&typeof n[1]=="number")return{x:n[0],y:n[1],z:n[2]??0}}}readLeaderLineArray(e){const t=e.leaderLines;if(Array.isArray(t))return t.map(n=>{if(!n||typeof n!="object")return;const i=n.vertices;return Array.isArray(i)?i.filter(s=>this.isPointLike(s)):void 0}).filter(n=>!!n&&n.length>0);const o=e.vertices;if(Array.isArray(o)){const n=o.filter(i=>this.isPointLike(i));return n.length>0?[n]:void 0}}readMLeaderLeaders(e){const t=e.leaderSections;if(!Array.isArray(t))return;const o=[];return t.forEach(n=>{if(!n||typeof n!="object")return;const i=n,s=i.leaderLines,l=Array.isArray(s)?s.reduce((g,A)=>{const b=this.readMLeaderLine(A);return b&&g.push(b),g},[]):void 0,a={},c=this.readPoint(i,["lastLeaderLinePoint"]),f=this.readPoint(i,["doglegVector"]),u=this.readNumber(i,["doglegLength"]),h=this.readMLeaderBreaks(i.breaks),d=this.readNumber(i,["leaderBranchIndex"]);c&&(a.lastLeaderLinePoint=c),i.lastLeaderLinePointSet!=null&&(a.lastLeaderLinePointSet=this.readBoolean(i,["lastLeaderLinePointSet"])),f&&(a.doglegVector=f),i.doglegVectorSet!=null&&(a.doglegVectorSet=this.readBoolean(i,["doglegVectorSet"])),u!=null&&(a.doglegLength=u),h&&(a.breaks=h),d!=null&&(a.leaderBranchIndex=d),l&&(a.leaderLines=l),o.push(a)}),o}readMLeaderLine(e){if(!e||typeof e!="object")return;const t=e,o=t.vertices,n=Array.isArray(o)?o.filter(a=>this.isPointLike(a)):[],i=this.readMLeaderBreaks(t.breaks),s=Array.isArray(t.breakPointIndexes)?t.breakPointIndexes.filter(a=>typeof a=="number"):void 0,l=this.readNumber(t,["leaderLineIndex"]);return n.length>0||i&&i.length>0?{vertices:n,breakPointIndexes:s,leaderLineIndex:l,breaks:i}:void 0}readMLeaderBreaks(e){if(!Array.isArray(e))return;const t=e.map(o=>{if(!o||typeof o!="object")return;const n=o,i=this.readPoint(n,["start"]),s=this.readPoint(n,["end"]),l=this.readNumber(n,["index"]);if(!i||!s)return;const a={start:i,end:s};return l!=null&&(a.index=l),a}).filter(o=>!!o);return t.length>0?t:void 0}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}class x{convertMLeaderStyle(e){const t=new r.AcDbMLeaderStyle;return t.unknown1=e.unknown1,e.contentType!=null&&(t.contentType=e.contentType),e.drawMLeaderOrderType!=null&&(t.drawMLeaderOrderType=e.drawMLeaderOrderType),e.drawLeaderOrderType!=null&&(t.drawLeaderOrderType=e.drawLeaderOrderType),e.maxLeaderSegmentPoints!=null&&(t.maxLeaderSegmentPoints=e.maxLeaderSegmentPoints),e.firstSegmentAngleConstraint!=null&&(t.firstSegmentAngleConstraint=e.firstSegmentAngleConstraint),e.secondSegmentAngleConstraint!=null&&(t.secondSegmentAngleConstraint=e.secondSegmentAngleConstraint),e.leaderLineType!=null&&(t.leaderLineType=e.leaderLineType),e.leaderLineColor!=null&&(t.leaderLineColor=r.acdbDecodeMLeaderStyleRawColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,e.leaderLineWeight!=null&&(t.leaderLineWeight=e.leaderLineWeight),e.landingEnabled!=null&&(t.landingEnabled=e.landingEnabled),e.landingGap!=null&&(t.landingGap=e.landingGap),e.doglegEnabled!=null&&(t.doglegEnabled=e.doglegEnabled),e.doglegLength!=null&&(t.doglegLength=e.doglegLength),e.description!=null&&(t.description=e.description),t.arrowheadId=e.arrowheadId,e.arrowheadSize!=null&&(t.arrowheadSize=e.arrowheadSize),e.defaultMTextContents!=null&&(t.defaultMTextContents=e.defaultMTextContents),t.textStyleId=e.textStyleId,e.textLeftAttachmentType!=null&&(t.textLeftAttachmentType=e.textLeftAttachmentType),e.textAngleType!=null&&(t.textAngleType=e.textAngleType),e.textAlignmentType!=null&&(t.textAlignmentType=e.textAlignmentType),e.textRightAttachmentType!=null&&(t.textRightAttachmentType=e.textRightAttachmentType),e.textColor!=null&&(t.textColor=r.acdbDecodeMLeaderStyleRawColor(e.textColor)),e.textHeight!=null&&(t.textHeight=e.textHeight),e.textFrameEnabled!=null&&(t.textFrameEnabled=e.textFrameEnabled),e.textAlignAlwaysLeft!=null&&(t.textAlignAlwaysLeft=e.textAlignAlwaysLeft),e.alignSpace!=null&&(t.alignSpace=e.alignSpace),t.blockContentId=e.blockContentId,e.blockContentColor!=null&&(t.blockContentColor=r.acdbDecodeMLeaderStyleRawColor(e.blockContentColor)),e.blockContentScale&&(t.blockContentScale={x:e.blockContentScale.x,y:e.blockContentScale.y,z:e.blockContentScale.z??1}),e.blockContentScaleEnabled!=null&&(t.blockContentScaleEnabled=e.blockContentScaleEnabled),e.blockContentRotation!=null&&(t.blockContentRotation=e.blockContentRotation),e.blockContentRotationEnabled!=null&&(t.blockContentRotationEnabled=e.blockContentRotationEnabled),e.blockContentConnectionType!=null&&(t.blockContentConnectionType=e.blockContentConnectionType),e.scale!=null&&(t.scale=e.scale),e.overwritePropertyValue!=null&&(t.overwritePropertyValue=e.overwritePropertyValue),e.annotative!=null&&(t.annotative=e.annotative),e.breakGapSize!=null&&(t.breakGapSize=e.breakGapSize),e.textAttachmentDirection!=null&&(t.textAttachmentDirection=e.textAttachmentDirection),e.bottomTextAttachmentDirection!=null&&(t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection),e.topTextAttachmentDirection!=null&&(t.topTextAttachmentDirection=e.topTextAttachmentDirection),t.unknown2=e.unknown2,this.processCommonAttrs(e,t),t}convertLayerFilter(e){var o;const t=new r.AcDbLayerFilter;return(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),this.processCommonAttrs(e,t),t}convertLayerIndex(e){var o,n,i;const t=new r.AcDbLayerIndex;return e.timeStamp!=null&&(t.lastUpdatedAt=e.timeStamp,t.lastUpdatedAtU=e.timeStamp),(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),(n=e.idBufferIds)!=null&&n.length&&(t.idBufferIds=e.idBufferIds),(i=e.idBufferEntryCounts)!=null&&i.length&&(t.idBufferEntryCounts=e.idBufferEntryCounts),t.isUptoDate=!0,this.processCommonAttrs(e,t),t}processCommonAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}}const S="*MODEL_SPACE";class E extends r.AcDbDatabaseConverter{constructor(e={}){super(e),this.config.useWorker=!0,this.config.parserWorkerUrl||(this.config.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,t){const o=this.config,n=this.getParserWorkerTimeout(e,t);if(o.useWorker&&o.parserWorkerUrl){const i=r.acdbCreateWorkerApi({workerUrl:o.parserWorkerUrl,timeout:n,maxConcurrentWorkers:1}),s=await i.execute(e);return i.destroy(),r.AcDbOpenDatabaseError.throwOnWorkerParseFailure(s),s.data}else throw new Error("dwg converter can run in web worker only!")}processLineTypes(e,t){e.tables.LTYPE.entries.forEach(n=>{const i={name:n.name,description:n.description,standardFlag:n.standardFlag,totalPatternLength:n.totalPatternLength,pattern:n.pattern},s=new r.AcDbLinetypeTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.linetypeTable.add(s)})}processTextStyles(e,t){e.tables.STYLE.entries.forEach(n=>{const i={name:n.name,standardFlag:n.standardFlag,fixedTextHeight:n.fixedTextHeight,widthFactor:n.widthFactor,obliqueAngle:n.obliqueAngle,textGenerationFlag:n.textGenerationFlag,lastHeight:n.lastHeight,font:n.font,bigFont:n.bigFont,extendedFont:n.extendedFont},s=new r.AcDbTextStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.textStyleTable.add(s)}),t.ensureTextStyleDefaults()}processDimStyles(e,t){e.tables.DIMSTYLE.entries.forEach(n=>{const i={name:n.name,ownerId:n.ownerHandle,dimpost:n.DIMPOST||"",dimapost:n.DIMAPOST||"",dimscale:n.DIMSCALE,dimasz:n.DIMASZ,dimexo:n.DIMEXO,dimdli:n.DIMDLI,dimexe:n.DIMEXE,dimrnd:n.DIMRND,dimdle:n.DIMDLE,dimtp:n.DIMTP,dimtm:n.DIMTM,dimtxt:n.DIMTXT,dimcen:n.DIMCEN,dimtsz:n.DIMTSZ,dimaltf:n.DIMALTF,dimlfac:n.DIMLFAC,dimtvp:n.DIMTVP,dimtfac:n.DIMTFAC,dimgap:n.DIMGAP,dimaltrnd:n.DIMALTRND,dimtol:n.DIMTOL==null||n.DIMTOL==0?0:1,dimlim:n.DIMLIM==null||n.DIMLIM==0?0:1,dimtih:n.DIMTIH==null||n.DIMTIH==0?0:1,dimtoh:n.DIMTOH==null||n.DIMTOH==0?0:1,dimse1:n.DIMSE1==null||n.DIMSE1==0?0:1,dimse2:n.DIMSE2==null||n.DIMSE2==0?0:1,dimtad:n.DIMTAD,dimzin:n.DIMZIN,dimazin:n.DIMAZIN,dimalt:n.DIMALT,dimaltd:n.DIMALTD,dimtofl:n.DIMTOFL,dimsah:n.DIMSAH,dimtix:n.DIMTIX,dimsoxd:n.DIMSOXD,dimclrd:n.DIMCLRD,dimclre:n.DIMCLRE,dimclrt:n.DIMCLRT,dimadec:n.DIMADEC||0,dimunit:n.DIMUNIT||2,dimdec:n.DIMDEC,dimtdec:n.DIMTDEC,dimaltu:n.DIMALTU,dimalttd:n.DIMALTTD,dimaunit:n.DIMAUNIT,dimfrac:n.DIMFRAC,dimlunit:n.DIMLUNIT,dimdsep:n.DIMDSEP||".",dimtmove:n.DIMTMOVE||0,dimjust:n.DIMJUST,dimsd1:n.DIMSD1,dimsd2:n.DIMSD2,dimtolj:n.DIMTOLJ,dimtzin:n.DIMTZIN,dimaltz:n.DIMALTZ,dimalttz:n.DIMALTTZ,dimfit:n.DIMFIT||0,dimupt:n.DIMUPT,dimatfit:n.DIMATFIT,dimtxsty:r.DEFAULT_TEXT_STYLE,dimldrblk:"",dimblk:n.DIMBLK||"",dimblk1:n.DIMBLK1||"",dimblk2:n.DIMBLK2||"",dimlwd:n.DIMLWD,dimlwe:n.DIMLWE},s=new r.AcDbDimStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.dimStyleTable.add(s)})}processLayers(e,t){e.tables.LAYER.entries.forEach(n=>{const i=new r.AcCmColor;i.colorIndex=n.colorIndex;const s=new r.AcDbLayerTableRecord({name:n.name,standardFlags:n.standardFlag,linetype:n.lineType,lineWeight:n.lineweight,isOff:n.off,color:i,isPlottable:n.plotFlag!=0});this.processCommonTableEntryAttrs(n,s),t.tables.layerTable.add(s)})}processViewports(e,t){e.tables.VPORT.entries.forEach(n=>{const i=new r.AcDbViewportTableRecord;this.processCommonTableEntryAttrs(n,i),n.circleSides&&(i.circleSides=n.circleSides),i.standardFlag=n.standardFlag,i.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.lowerLeftCorner.copy(n.lowerLeftCorner??r.VPORT_FALLBACK_LLC),i.upperRightCorner.copy(n.upperRightCorner??r.VPORT_FALLBACK_URC),n.snapBasePoint&&i.snapBase.copy(n.snapBasePoint),n.snapRotationAngle&&(i.snapAngle=n.snapRotationAngle),n.snapSpacing&&i.snapIncrements.copy(n.snapSpacing),n.majorGridLines&&(i.gridMajor=n.majorGridLines),n.gridSpacing&&i.gridIncrements.copy(n.gridSpacing),n.backgroundObjectId&&(i.backgroundObjectId=n.backgroundObjectId),i.gsView.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.gsView.viewDirectionFromTarget.copy(n.viewDirectionFromTarget??r.VPORT_FALLBACK_VIEW_DIR),i.gsView.viewTarget.copy(n.viewTarget??r.VPORT_FALLBACK_VIEW_TARGET),n.lensLength&&(i.gsView.lensLength=n.lensLength),n.frontClippingPlane&&(i.gsView.frontClippingPlane=n.frontClippingPlane),n.backClippingPlane&&(i.gsView.backClippingPlane=n.backClippingPlane),n.viewHeight&&(i.gsView.viewHeight=n.viewHeight);const s=n.aspectRatio;s!=null&&Number.isFinite(s)&&s>0&&(i.gsView.aspectRatio=s),n.viewTwistAngle&&(i.gsView.viewTwistAngle=n.viewTwistAngle),n.frozenLayers&&(i.gsView.frozenLayers=n.frozenLayers),n.styleSheet&&(i.gsView.styleSheet=n.styleSheet),n.renderMode&&(i.gsView.renderMode=n.renderMode),n.viewMode&&(i.gsView.viewMode=n.viewMode),n.ucsIconSetting&&(i.gsView.ucsIconSetting=n.ucsIconSetting),n.ucsOrigin&&i.gsView.ucsOrigin.copy(n.ucsOrigin),n.ucsXAxis&&i.gsView.ucsXAxis.copy(n.ucsXAxis),n.ucsYAxis&&i.gsView.ucsYAxis.copy(n.ucsYAxis),n.orthographicType&&(i.gsView.orthographicType=n.orthographicType),n.shadePlotSetting&&(i.gsView.shadePlotSetting=n.shadePlotSetting),n.shadePlotObjectId&&(i.gsView.shadePlotObjectId=n.shadePlotObjectId),n.visualStyleObjectId&&(i.gsView.visualStyleObjectId=n.visualStyleObjectId),n.isDefaultLightingOn&&(i.gsView.isDefaultLightingOn=n.isDefaultLightingOn),n.defaultLightingType&&(i.gsView.defaultLightingType=n.defaultLightingType),n.brightness&&(i.gsView.brightness=n.brightness),n.contrast&&(i.gsView.contrast=n.contrast),n.ambientColor&&(i.gsView.ambientColor=n.ambientColor),t.tables.viewportTable.add(i)})}processBlockTables(e,t){e.tables.BLOCK_RECORD.entries.forEach(n=>{let i=t.tables.blockTable.getAt(n.name);i||(i=new r.AcDbBlockTableRecord,i.objectId=n.handle,i.name=n.name,i.ownerId=n.ownerHandle,i.layoutId=n.layout,i.flags=r.AcDbBlockTableRecord.sanitizeImportedFlags(n.flags??0),i.blockInsertUnits=n.insertionUnits,i.explodability=n.explodability,i.blockScaling=n.scalability,t.tables.blockTable.add(i)),n.bmpPreview&&(i.previewIcon=r.acdbHexStringsToBytes([n.bmpPreview])),i.origin.copy(n.basePoint),!i.isModelSapce&&n.entities&&n.entities.length>0&&this.processEntitiesInBlock(n.entities,i)})}processBlocks(e,t){}async processEntitiesInBlock(e,t){const o=new y,n=e.length,i=[];for(let s=0;s<n;s++){const l=e[s],a=o.convert(l);a&&i.push(a)}t.appendEntity(i)}async processEntities(e,t,o,n,i){const s=new y;let l=[];e.tables.BLOCK_RECORD.entries.forEach(u=>{this.isModelSpace(u.name)&&(l=u.entities)});const a=l.length,c=new r.AcDbBatchProcessing(a,100-n.value,o);this.config.convertByEntityType&&(l=this.groupAndFlattenByType(l));const f=t.tables.blockTable.modelSpace;await c.processChunk(async(u,h)=>{const d=[];for(let g=u;g<h;g++){const A=l[g],b=s.convert(A);b&&d.push(b)}if(f.appendEntity(d),i){let g=n.value+h/a*(100-n.value);g>100&&(g=100),await i(g,"ENTITY","IN-PROGRESS")}})}processClasses(e,t){var o;(o=e.classes)!=null&&o.length&&(t.classes=e.classes.map(n=>({name:n.dxfName,cppClassName:n.cppName,appName:n.appName,proxyFlag:n.capabilitiesFlag,instanceCount:n.instanceCount,wasProxy:n.wasAProxyFlag,isEntity:n.isAnEntityFlag})))}processHeader(e,t){const o=e.thumbnailImage;o!=null&&o.length&&(t.thumbnailImage=o);const n=e.header;n.CECOLOR&&(n.CECOLOR.index>=0&&n.CECOLOR.index<=256?t.cecolor.colorIndex=n.CECOLOR.index:t.cecolor.setRGBValue(n.CECOLOR.rgb)),t.angbase=n.ANGBASE??0,t.angdir=n.ANGDIR??0,t.aunits=n.AUNITS??0,n.AUPREC!=null&&(t.auprec=n.AUPREC),n.LUNITS!=null&&(t.lunits=n.LUNITS),n.LUPREC!=null&&(t.luprec=n.LUPREC),n.UNITMODE!=null&&(t.unitmode=n.UNITMODE),n.MEASUREMENT!=null&&(t.measurement=n.MEASUREMENT),t.celtype=n.CELTYPE??r.ByLayer,t.celtscale=n.CELTSCALE??1,t.ltscale=n.LTSCALE??1,n.EXTMAX&&(t.extmax=n.EXTMAX),n.EXTMIN&&(t.extmin=n.EXTMIN),t.insunits=n.INSUNITS??1,t.pdmode=n.PDMODE??0,t.pdsize=n.PDSIZE??0,t.textstyle=n.TEXTSTYLE??r.DEFAULT_TEXT_STYLE;const i=this.normalizeHeaderStringValue(n.CMLEADERSTYLE)??r.DEFAULT_MLEADER_STYLE;t.cmleaderstyle=i}processCommonTableEntryAttrs(e,t){t.name=e.name,t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}processObjects(e,t){this.processLayouts(e,t),this.processImageDefs(e,t),this.processLayerFilters(e,t),this.processLayerIndexes(e,t),this.processLayerFilterTree(e,t),this.processMLeaderStyles(e,t)}processLayerFilterTree(e,t){const o=e.objects.DICTIONARY,n=e.objects.XRECORD;if(!(o!=null&&o.length)||!(n!=null&&n.length))return;const i=c=>c?String(c).trim().toUpperCase():"",s=new Map;o.forEach(c=>{const f={},u=c.entries??{};for(const h in u){const d=u[h];h&&d&&(f[h]=i(String(d)))}s.set(i(c.handle),{handle:i(c.handle),ownerObjectId:i(c.ownerHandle),entries:f})});const l=new Map;n.forEach(c=>{l.set(i(c.handle),{handle:i(c.handle),ownerObjectId:i(c.ownerHandle),extensionDictionaryId:i(c.extensionDictionary),data:(c.data??[]).map(f=>({code:Number(f.code),value:f.value}))})});const a=r.acdbReadLayerFilterTree({dictionaries:s,xrecords:l});a.root.getNestedFilters().length>0&&(t.layerFilters=a)}processLayouts(e,t){const o=t.objects.layout;e.objects.LAYOUT.forEach(i=>{const s=new r.AcDbLayout;s.layoutName=i.layoutName,s.tabOrder=i.tabOrder;const l=t.tables.blockTable.newIterator();s.objectId=i.handle;for(const a of l)if(a.layoutId===s.objectId){s.blockTableRecordId=a.objectId;break}s.blockTableRecordId||i.layoutName==="Model"&&(s.blockTableRecordId=t.tables.blockTable.modelSpace.objectId),s.limits.min.copy(i.minLimit),s.limits.max.copy(i.maxLimit),s.extents.min.copy(i.minExtent),s.extents.max.copy(i.maxExtent),i.viewportId&&s.viewportArray.push(i.viewportId),this.processCommonObjectAttrs(i,s),o.setAt(s.layoutName,s)})}processImageDefs(e,t){const o=t.objects.imageDefinition;e.objects.IMAGEDEF.forEach(i=>{const s=new r.AcDbRasterImageDef;s.sourceFileName=i.fileName,this.processCommonObjectAttrs(i,s),o.setAt(s.objectId,s)})}processLayerFilters(e,t){const o=e.objects.LAYER_FILTER;if(!(o!=null&&o.length))return;const n=t.objects.layerFilter,i=new x;o.forEach(s=>{const l=i.convertLayerFilter(s);n.setAt(l.objectId,l)})}processLayerIndexes(e,t){const o=e.objects.LAYER_INDEX;if(!(o!=null&&o.length))return;const n=t.objects.layerIndex,i=new x;o.forEach(s=>{const l=i.convertLayerIndex(s);n.setAt(l.objectId,l)})}processMLeaderStyles(e,t){const o=e.objects.MLEADERSTYLE;if(!(o!=null&&o.length))return;const n=t.objects.mleaderStyle,i=new x;o.forEach(s=>{const l=i.convertMLeaderStyle(s);n.setAt(l.objectId,l)})}processCommonObjectAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}groupAndFlattenByType(e){const t={},o=[];for(const i of e)t[i.type]||(t[i.type]=[],o.push(i.type)),t[i.type].push(i);const n=[];for(const i of o){const s=t[i];for(let l=0;l<s.length;l++)n.push(s[l])}return n}isModelSpace(e){return e&&e.toUpperCase()==S}normalizeHeaderStringValue(e){if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}}D.AcDbLibreDwgConverter=E,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(D,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],r):(D=typeof globalThis<"u"?globalThis:D||self,r(D["libredwg-converter"]={},D.dataModel))})(this,(function(D,r){"use strict";class y{convert(e){const t=this.createEntity(e);return t&&this.processCommonAttrs(e,t),t}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POINT"?this.convertPoint(e):e.type=="POLYLINE2D"?this.convertPolyline2d(e):e.type=="POLYLINE3D"?this.convertPolyline3d(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="TOLERANCE"?this.convertTolerance(e):e.type=="SHAPE"?this.convertShape(e):e.type=="SOLID"?this.convertSolid(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):e.type=="ACAD_PROXY_ENTITY"?this.convertProxyEntity(e):e.type=="OLE2FRAME"?this.convertOle2Frame(e):e.type=="OLEFRAME"?this.convertOleFrame(e):null}convertProxyEntity(e){const t=new r.AcDbProxyEntity;if(t.proxyEntityClassId=e.proxyEntityClassId,e.originalDxfName&&(t.originalDxfName=e.originalDxfName),e.applicationEntityClassId!=null&&(t.applicationEntityClassId=e.applicationEntityClassId),e.objectDrawingFormat!=null&&(t.objectDrawingFormat=e.objectDrawingFormat),e.originalDataFormat!=null&&(t.originalDataFormat=e.originalDataFormat),e.graphicsData){const o=r.acdbHexStringsToBytes([e.graphicsData]),n=e.graphicsDataSize??o.length;t.setProxyGraphic(o.subarray(0,n))}return t}convertFace(e){const t=new r.AcDbFace;return e.corner1&&t.setVertexAt(0,e.corner1),e.corner2&&t.setVertexAt(1,e.corner2),e.corner3&&t.setVertexAt(2,e.corner3),e.corner4&&t.setVertexAt(3,e.corner4),t.setEdgeInvisibilities(e.flag),t}convertArc(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbArc(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,e.startAngle,e.endAngle,t)}convertCirle(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbCircle(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,t)}convertEllipse(e){const t=new r.AcGeVector3d(e.majorAxisEndPoint),o=t.length();return new r.AcDbEllipse(e.center,e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t,o,o*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const t=e.startPoint,o=e.endPoint;return new r.AcDbLine(new r.AcGePoint3d(t.x,t.y,t.z),new r.AcGePoint3d(o.x,o.y,o.z))}convertSpline(e){return r.AcDbSpline.fromDwgSpline(e)}convertPoint(e){const t=new r.AcDbPoint;return t.position=e.position,t}convertShape(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,o=new r.AcDbShape;return o.position=r.acgeTransformOcsPointToWcs(e.insertionPoint,t),o.size=e.size,o.shapeNumber=e.shapeNumber,e.styleName&&(o.styleName=e.styleName),o.rotation=e.rotation??0,o.widthFactor=e.xScale??1,o.oblique=e.obliqueAngle??0,o.thickness=e.thickness??0,o.normal.copy(t),o}convertSolid(e){const t=new r.AcDbSolid;return t.setPointAt(0,{...e.corner1,z:0}),t.setPointAt(1,{...e.corner2,z:0}),t.setPointAt(2,{...e.corner3,z:0}),t.setPointAt(3,e.corner4?{...e.corner4,z:0}:{...e.corner3,z:0}),t.thickness=e.thickness??0,t}convertLWPolyline(e){const t=new r.AcDbPolyline;t.closed=!!(e.flag&512);const o=e.constantWidth??-1;return e.vertices.forEach((n,i)=>{t.addVertexAt(i,new r.AcGePoint2d(n.x,n.y),n.bulge,n.startWidth??o,n.endWidth??o)}),t}convertPolyline2d(e){var f;const t=!!(e.flag&1),o=!!(e.flag&16),n=!!(e.flag&64),i=!!(e.flag&32),s=[],u=[],l=[];if(e.vertices.map(c=>{if(!(c.flag&16))if(n&&c.flag&128)if(c.flag&64)s.push({x:c.x,y:c.y,z:c.z}),u.push(c.bulge??0);else{const a=[];c.polyfaceIndex0!=null&&c.polyfaceIndex0!=0&&a.push(Math.abs(c.polyfaceIndex0)-1),c.polyfaceIndex1!=null&&c.polyfaceIndex1!=0&&a.push(Math.abs(c.polyfaceIndex1)-1),c.polyfaceIndex2!=null&&c.polyfaceIndex2!=0&&a.push(Math.abs(c.polyfaceIndex2)-1),c.polyfaceIndex3!=null&&c.polyfaceIndex3!=0&&a.push(Math.abs(c.polyfaceIndex3)-1),a.length>=3&&l.push(a)}else s.push({x:c.x,y:c.y,z:c.z}),u.push(c.bulge??0)}),o){const c=e.meshMVertexCount??2,a=e.meshNVertexCount??2;return new r.AcDbPolygonMesh(c,a,s,t,i)}else{if(n)return new r.AcDbPolyFaceMesh(s,l);{let c=r.AcDbPoly2dType.SimplePoly;e.flag&2?c=r.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?c=r.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(c=r.AcDbPoly2dType.QuadSplinePoly));const a=new r.AcDb2dPolyline(c,s,((f=s[0])==null?void 0:f.z)??0,t,e.startWidth,e.endWidth,u);return e.extrusionDirection&&(a.normal=e.extrusionDirection),a}}}convertPolyline3d(e){const t=!!(e.flag&1),o=[];e.vertices.map(i=>{i.flag&16||o.push({x:i.x,y:i.y,z:i.z})});let n=r.AcDbPoly3dType.SimplePoly;return e.flag&4&&(e.smoothType==6?n=r.AcDbPoly3dType.CubicSplinePoly:e.smoothType==5&&(n=r.AcDbPoly3dType.QuadSplinePoly)),new r.AcDb3dPolyline(n,o,t)}convertHatch(e){var n;const t=new r.AcDbHatch;if((n=e.definitionLines)==null||n.forEach(i=>{t.definitionLines.push({angle:i.angle,base:i.base,offset:i.offset,dashLengths:i.numberOfDashLengths>0?i.dashLengths:[]})}),t.isSolidFill=e.solidFill==1,t.hatchStyle=e.hatchStyle,t.patternName=e.patternName,t.patternType=e.patternType,t.patternAngle=e.patternAngle==null?0:e.patternAngle,t.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(i=>{if(i.boundaryPathTypeFlag&2){const u=i,l=new r.AcGePolyline2d;l.closed=u.isClosed,u.vertices.forEach((f,c)=>{l.addVertexAt(c,{x:f.x,y:f.y,bulge:f.bulge})}),t.add(l)}else{const u=i,l=[];u.edges.forEach(c=>{if(c!=null){if(c.type==1){const a=c;l.push(new r.AcGeLine2d(a.start,a.end))}else if(c.type==2){const a=c;l.push(new r.AcGeCircArc2d(a.center,a.radius,a.startAngle,a.endAngle,!a.isCCW))}else if(c.type==3){const a=c;new r.AcGeVector2d().subVectors(a.end,a.center);const d=Math.sqrt(Math.pow(a.end.x,2)+Math.pow(a.end.y,2)),p=d*a.lengthOfMinorAxis;let A=a.startAngle,b=a.endAngle;const L=Math.atan2(a.end.y,a.end.x);a.isCCW||(A=Math.PI*2-A,b=Math.PI*2-b),l.push(new r.AcGeEllipseArc2d({...a.center,z:0},d,p,A,b,!a.isCCW,L))}else if(c.type==4){const a=r.AcGeSpline3d.fromDwgSplineEdge(c);a&&l.push(a)}}});const f=r.AcGeLoop2d.buildFromEdges(l);f.length==0&&l.length>0?t.add(new r.AcGeLoop2d(l)):f.forEach(c=>t.add(c))}}),e.gradientFlag){const i=e;if(t.hatchObjectType=r.AcDbHatchObjectType.GradientObject,t.gradientName=i.gradientName,t.gradientAngle=i.gradientRotation??0,t.gradientShift=i.gradientDefinition??0,t.gradientOneColorMode=i.gradientColorFlag==1,t.shadeTintValue=i.colorTint??0,i.gradientColors){const s=i.gradientColors.length;s>1?(t.gradientStartColor=i.gradientColors[0].rgb,t.gradientEndColor=i.gradientColors[1].rgb):s>0&&(t.gradientStartColor=i.gradientColors[0].rgb)}}return e.extrusionDirection&&(t.normal=e.extrusionDirection),t}convertTable(e){const t=new r.AcDbTable(e.name??"",e.rowCount,e.columnCount);return t.tableStyleId=e.tableStyleId,t.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(t.horizontalDirection=new r.AcGeVector3d(e.directionVector)),t.attachmentPoint=e.attachmentPoint,t.position.copy(e.startPoint),t.tableValueFlag=e.tableValue,t.tableOverrideFlag=e.overrideFlag,t.borderColorOverrideFlag=e.borderColorOverrideFlag,t.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,t.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((o,n)=>t.setColumnWidth(n,o)),e.rowHeightArr.forEach((o,n)=>t.setRowHeight(n,o)),e.cells.forEach((o,n)=>{t.setCell(n,o)}),t}convertText(e){const t=new r.AcDbText;t.textString=e.text,t.styleName=e.styleName,t.height=e.textHeight,t.position.copy(e.startPoint);const o=!e.endPoint||e.endPoint.x===0&&e.endPoint.y===0&&(e.endPoint.z??0)===0;return e.endPoint&&!o?t.alignmentPoint.copy(e.endPoint):t.alignmentPoint.copy(e.startPoint),t.rotation=e.rotation,t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t}convertTolerance(e){const t=new r.AcDbFcf;return t.location.copy(e.insertionPoint),t.text=e.text,t.dimensionStyle=e.styleName??"",e.extrusionDirection&&t.normal.copy(e.extrusionDirection),e.xAxisDirection&&t.direction.copy(e.xAxisDirection),t}convertMText(e){const t=new r.AcDbMText;return t.contents=e.text,e.styleName!=null&&(t.styleName=e.styleName),t.height=e.textHeight,t.width=e.rectWidth,t.rotation=e.rotation||0,t.location=e.insertionPoint,t.attachmentPoint=e.attachmentPoint,e.direction&&(t.direction=new r.AcGeVector3d(e.direction)),t.drawingDirection=e.drawingDirection,e.extentsWidth!=null&&e.extentsWidth>0&&(t.extentsWidth=e.extentsWidth),t}convertLeader(e){const t=new r.AcDbLeader;return e.vertices.forEach(o=>{t.appendVertex(o)}),t.hasArrowHead=e.isArrowheadEnabled,t.hasHookLine=e.isHooklineExists,t.isHookLineSameDirection=e.isHooklineSameDirection,t.isSplined=e.isSpline,t.dimensionStyle=e.styleName??"",t.annoType=e.leaderCreationFlag,e.textHeight!=null&&(t.textHeight=e.textHeight),e.textWidth!=null&&(t.textWidth=e.textWidth),e.byBlockColor!=null&&(t.byBlockColor=e.byBlockColor),e.associatedAnnotation&&(t.associatedAnnotation=e.associatedAnnotation),e.normal&&(t.normal=e.normal),e.horizontalDirection&&(t.horizontalDirection=e.horizontalDirection),e.offsetFromBlock&&(t.offsetFromBlock=e.offsetFromBlock),e.offsetFromAnnotation&&(t.offsetFromAnnotation=e.offsetFromAnnotation),t}convertMLine(e){const t=new r.AcDbMLine;return t.styleName=e.mlineStyle||"STANDARD",t.scale=e.scale,t.flags=e.flags,t.justification=e.justification,t.startPosition=e.startPoint,t.normal=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t.styleCount=e.numberOfLines??0,t.segments=(e.vertices??[]).map(o=>({position:o.vertex,direction:o.vertexDirection,miterDirection:o.miterDirection,elements:(o.lines??[]).map(n=>({parameterCount:n.numberOfSegmentParams,parameters:n.segmentParams??[],fillCount:n.numberOfAreaFillParams,fillParameters:n.areaFillParams??[]}))})),t}convertMLeader(e){var P,I;const t=new r.AcDbMLeader,o=e;t.version=e.version,t.leaderStyleId=e.leaderStyleId,e.leaderStyleId&&(t.mleaderStyleId=e.leaderStyleId),t.propertyOverrideFlag=e.propertyOverrideFlag,t.leaderLineType=e.leaderLineType??r.AcDbMLeaderLineType.StraightLeader,e.leaderLineColor!=null&&(t.leaderLineColor=this.convertMLeaderEntityColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,t.leaderLineWeight=e.leaderLineWeight,t.landingEnabled=e.landingEnabled,t.doglegEnabled=e.doglegEnabled??!1,t.doglegLength=e.doglegLength??0,t.arrowheadId=e.arrowheadId,t.arrowheadSize=e.arrowheadSize,t.textStyleId=e.textStyleId,t.textLeftAttachmentType=e.textLeftAttachmentType,t.textRightAttachmentType=e.textRightAttachmentType,t.textAngleType=e.textAngleType,t.textAlignmentType=e.textAlignmentType,e.textColor!=null&&(t.textColor=this.convertMLeaderEntityColor(e.textColor)),t.textFrameEnabled=e.textFrameEnabled,t.landingGap=e.landingGap,t.textAttachment=e.textAttachment,t.textFlowDirection=e.textFlowDirection,this.isValidHandleId(e.blockContentId)&&(t.blockContentId=e.blockContentId),e.blockContentColor!=null&&(t.blockContentColor=this.convertMLeaderEntityColor(e.blockContentColor)),t.blockContentRotation=e.blockContentRotation,t.blockContentConnectionType=e.blockContentConnectionType,t.annotativeScaleEnabled=e.annotativeScaleEnabled,t.arrowheadOverrides=e.arrowheadOverrides?e.arrowheadOverrides.map(g=>({...g})):[],t.blockAttributes=e.blockAttributes?e.blockAttributes.map(g=>({...g})):[],t.textDirectionNegative=e.textDirectionNegative,t.textAlignInIPE=e.textAlignInIPE,t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection,t.topTextAttachmentDirection=e.topTextAttachmentDirection,t.contentScale=e.contentScale,t.textLineSpacingStyle=e.textLineSpacingStyle,e.textBackgroundColor!=null&&(t.textBackgroundColor=this.convertMLeaderEntityColor(e.textBackgroundColor)),t.textBackgroundScaleFactor=e.textBackgroundScaleFactor,t.textBackgroundTransparency=e.textBackgroundTransparency,t.textBackgroundColorOn=e.textBackgroundColorOn,t.textFillOn=e.textFillOn,t.textColumnType=e.textColumnType,t.textUseAutoHeight=e.textUseAutoHeight,t.textColumnWidth=e.textColumnWidth,t.textColumnGutterWidth=e.textColumnGutterWidth,t.textColumnFlowReversed=e.textColumnFlowReversed,t.textColumnHeight=e.textColumnHeight,t.textUseWordBreak=e.textUseWordBreak,t.hasMText=e.hasMText,t.hasBlock=e.hasBlock,t.planeNormalReversed=e.planeNormalReversed,e.blockContentScale&&(t.blockContentScale=new r.AcGeVector3d(e.blockContentScale)),e.contentBasePosition&&(t.contentBasePosition=new r.AcGePoint3d().copy(e.contentBasePosition)),e.textAnchor&&(t.textAnchor=new r.AcGePoint3d().copy(e.textAnchor)),e.planeOrigin&&(t.planeOrigin=new r.AcGePoint3d().copy(e.planeOrigin)),e.planeXAxisDirection&&(t.planeXAxisDirection=new r.AcGeVector3d(e.planeXAxisDirection)),e.planeYAxisDirection&&(t.planeYAxisDirection=new r.AcGeVector3d(e.planeYAxisDirection));const n=o.textContent,i=n&&typeof n=="object"?n:void 0,s=typeof n=="string"&&n.length>0||this.readString(i??{},["text","contents"])!=null||this.readString(o,["text","contents","mtext"])!=null,u=e.contentType??(s?r.AcDbMLeaderContentType.MTextContent:e.blockContent?r.AcDbMLeaderContentType.BlockContent:r.AcDbMLeaderContentType.NoneContent);t.contentType=u;const l=this.readPoint(o,["normal","extrusionDirection"]);l&&(t.normal=l);const f=this.readString(i??{},["styleName","textStyleName","textStyle"])??this.readString(o,["textStyleName","textStyle","styleName"]);f&&(t.textStyleName=f);const c=this.readPositiveNumber(i??{},["textHeight","height"])??this.readPositiveNumber(o,["textHeight","mtextHeight","textContentHeight"])??this.readPositiveNumber(o,["arrowheadSize","contentScale"]);c!=null&&(t.textHeight=c);const a=this.readPositiveNumber(i??{},["textWidth","width"])??this.readPositiveNumber(o,["textWidth","mtextWidth","textContentWidth"]);a!=null&&(t.textWidth=a),t.textLineSpacingFactor=this.readNumber(i??{},["lineSpacingFactor","textLineSpacingFactor"])??this.readNumber(o,["textLineSpacingFactor"])??t.textLineSpacingFactor;const h=this.readNumber(i??{},["textRotation","rotation"])??this.readNumber(o,["textRotation","mtextRotation","textContentRotation"]);h!=null&&(t.textRotation=h);const d=this.readPoint(o,["textDirection","mtextDirection","textDirectionVector"]);d&&(t.textDirection=d);const p=this.readNumber(o,["textAttachmentPoint","attachmentPoint"]);p!=null&&p!==0&&(t.textAttachmentPoint=p);const A=e.textAttachmentDirection;A!=null&&(t.textAttachmentDirection=A);const b=this.readNumber(o,["textDrawingDirection","drawingDirection"]);b!=null&&(t.textDrawingDirection=b);const L=typeof n=="string"?n:this.readString(i??{},["text","contents"])??this.readString(o,["text","contents","mtext"]),T=this.readPoint(i??{},["anchorPoint","textAnchor","textLocation","textPosition","textAnchorPoint"])??this.readPoint(o,["textAnchor","textLocation","textPosition","textAnchorPoint","contentBasePosition"]);if(L!=null&&T&&(t.mtextContent={text:L,anchorPoint:T}),e.blockContent){const g=e.blockContent,w=e.blockContent.blockContentId;if(this.isValidHandleId(w)){const m=this.readMLeaderEntityColor(g,["color"]);t.blockContent={blockContentId:w,normal:this.readPoint(g,["normal"]),position:e.blockContent.position,scale:this.readPoint(g,["scale"]),rotation:this.readNumber(g,["rotation"]),color:m,transformationMatrix:Array.isArray(e.blockContent.transformationMatrix)?e.blockContent.transformationMatrix:[]}}}else this.isValidHandleId(e.blockContentId)&&(t.blockContent={blockContentId:e.blockContentId,scale:e.blockContentScale,rotation:e.blockContentRotation,color:t.blockContentColor,transformationMatrix:[]});return(P=this.readMLeaderLeaders(o))==null||P.forEach(g=>{t.addLeader({lastLeaderLinePoint:g.lastLeaderLinePoint,lastLeaderLinePointSet:g.lastLeaderLinePointSet,doglegVector:g.doglegVector,doglegVectorSet:g.doglegVectorSet,doglegLength:g.doglegLength??e.doglegLength,breaks:g.breaks,leaderBranchIndex:g.leaderBranchIndex,leaderLines:g.leaderLines})}),t.numberOfLeaders===0&&((I=this.readLeaderLineArray(o))==null||I.forEach(g=>{t.addLeader({doglegLength:e.doglegLength}),t.addLeaderLine(t.numberOfLeaders-1,g)})),t.numberOfLeaders===0&&e.contentBasePosition&&t.addLeader({lastLeaderLinePoint:e.contentBasePosition,lastLeaderLinePointSet:!0,doglegLength:e.doglegLength}),t}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const t=e,o=new r.AcDbAlignedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRotatedDimension"){const t=e,o=new r.AcDbRotatedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const t=e,o=new r.AcDb3PointAngularDimension(t.centerPoint,t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb2LineAngularDimension"){const t=e,o=t.definitionPoint??t.arcPoint??t.subDefinitionPoint2,n=t.centerPoint??t.subDefinitionPoint2??t.subDefinitionPoint1,i=n??o,s=t.subDefinitionPoint1??n??o,u=t.subDefinitionPoint2??n??o;if(!o||!t.name)return null;const l=new r.AcDb3PointAngularDimension(i,s,u,o);return this.processDimensionCommonAttrs(e,l),l}else if(e.subclassMarker=="AcDbOrdinateDimension"){const t=e,o=new r.AcDbOrdinateDimension(t.subDefinitionPoint1,t.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRadialDimension"){const t=e,o=new r.AcDbRadialDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbDiametricDimension"){const t=e,o=new r.AcDbDiametricDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}return null}processImage(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.imageDefId=e.imageDefHandle,t.isClipped=e.clipping>0,t.isShownClipped=(e.flags&4)!==0,t.isImageShown=(e.flags&3)!==0,t.isImageTransparent=(e.flags&8)!==0,e.clippingBoundaryPath.forEach(o=>{t.clipBoundary.push(new r.AcGePoint2d(o))}),t.clipBoundaryType=e.clippingBoundaryType,t.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const t=new r.AcDbRasterImage;return this.processImage(e,t),t}convertWipeout(e){const t=new r.AcDbWipeout;return this.processImage(e,t),t}convertOleFrame(e){const t=new r.AcDbOleFrame;if(t.oleVersion=e.flag??0,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertOle2Frame(e){const t=new r.AcDbOle2Frame;if(t.oleVersion=e.oleVersion??0,t.userType=e.oleClient??"",e.leftUpPoint&&t.upperLeftCorner.copy(e.leftUpPoint),e.rightDownPoint&&t.lowerRightCorner.copy(e.rightDownPoint),t.setLockAspect(e.lockAspect??0),t.oleObjectType=e.oleObjectType??r.AcDbOleObjectType.Embedded,t.tileMode=e.tileModeDescriptor??r.AcDbOleTileMode.ModelSpace,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertViewport(e){const t=new r.AcDbViewport;t.number=e.viewportId,t.centerPoint.copy(e.viewportCenter),t.height=e.height,t.width=e.width,t.viewCenter.copy(e.displayCenter),t.viewHeight=e.viewHeight,e.targetPoint&&t.viewTarget.copy(e.targetPoint),e.viewTwistAngle!=null&&(t.viewTwistAngle=e.viewTwistAngle);const o=1e-6,n=Math.abs(t.centerPoint.x)<o&&Math.abs(t.centerPoint.y)<o,i=t.viewTarget,s=Math.abs(i.x)<o&&Math.abs(i.y)<o,u=Number.isFinite(t.height)&&Number.isFinite(t.viewHeight)&&Math.abs(t.viewHeight-t.height)<o;return n&&s&&u&&t.centerPoint.copy(t.viewCenter),t}convertRay(e){const t=new r.AcDbRay;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertXline(e){const t=new r.AcDbXline;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertAttributeCommon(e,t){const o=e.text;t.textString=o.text,t.styleName=o.styleName,t.height=o.textHeight,t.position.copy(o.startPoint);const n=e.alignmentPoint??o.endPoint,i=!n||n.x===0&&n.y===0&&(n.z??0)===0;n&&!i?t.alignmentPoint.copy(n):t.alignmentPoint.copy(o.startPoint),t.rotation=o.rotation,t.oblique=o.obliqueAngle??0,t.thickness=o.thickness,t.horizontalMode=o.halign,t.verticalMode=o.valign,t.widthFactor=o.xScale??1,t.tag=e.tag,t.fieldLength=e.fieldLength,t.isInvisible=(e.flags&r.AcDbAttributeFlags.Invisible)!==0,t.isConst=(e.flags&r.AcDbAttributeFlags.Const)!==0,t.isVerifiable=(e.flags&r.AcDbAttributeFlags.Verifiable)!==0,t.isPreset=(e.flags&r.AcDbAttributeFlags.Preset)!==0,t.lockPositionInBlock=e.lockPositionFlag,t.isReallyLocked=e.isReallyLocked,t.isMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.MultiLine)!==0,t.isConstMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.ConstMultiLine)!==0}convertAttribute(e){const t=new r.AcDbAttribute;return this.convertAttributeCommon(e,t),t}convertAttributeDefinition(e){const t=new r.AcDbAttributeDefinition;return this.convertAttributeCommon(e,t),t.prompt=e.prompt,t}convertBlockReference(e){const t=new r.AcDbBlockReference(e.name);return e.insertionPoint&&t.position.copy(e.insertionPoint),t.scaleFactors.x=e.xScale,t.scaleFactors.y=e.yScale,t.scaleFactors.z=e.zScale,t.rotation=e.rotation,t.normal.copy(e.extrusionDirection),e.columnCount!=null&&(t.columnCount=e.columnCount),e.rowCount!=null&&(t.rowCount=e.rowCount),e.columnSpacing!=null&&(t.columnSpacing=e.columnSpacing),e.rowSpacing!=null&&(t.rowSpacing=e.rowSpacing),e.handle!=null&&(t.objectId=e.handle),e.attribs&&e.attribs.forEach(o=>{const n=this.convert(o);n instanceof r.AcDbAttribute&&t.appendAttributes(n)}),t}processDimensionCommonAttrs(e,t){t.dimBlockId=e.name,t.textPosition.copy(e.textPoint),t.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(t.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(t.textLineSpacingStyle=e.textLineSpacingStyle),t.dimensionStyleName=e.styleName,t.dimensionText=e.text||"",t.measurement=e.measurement}processCommonAttrs(e,t){if(t.layer=e.layer||"0",t.objectId=e.handle,e.ownerBlockRecordSoftId!=null&&(t.ownerId=e.ownerBlockRecordSoftId),e.lineType!=null&&(t.lineType=e.lineType),e.lineweight!=null&&(t.lineWeight=e.lineweight),e.lineTypeScale!=null&&(t.linetypeScale=e.lineTypeScale),e.color!=null||e.colorIndex!=null||e.colorName){const o=new r.AcCmColor;e.color!=null&&o.setRGBValue(e.color),e.colorIndex!=null&&(e.color==null||e.colorIndex===7)&&(o.colorIndex=e.colorIndex),e.colorName&&(o.colorName=e.colorName),t.color=o}if(e.isVisible!=null&&(t.visibility=e.isVisible),e.transparency!=null){const o=new r.AcCmTransparency;o.method=e.transparencyType,(o.isByBlock||o.isByBlock)&&(o.alpha=e.transparency),t.transparency=o}}convertMLeaderEntityColor(e){return r.acdbDecodeMLeaderStyleRawColor(e)}readMLeaderEntityColor(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return r.acdbDecodeMLeaderStyleRawColor(n)}}isValidHandleId(e){return e!=null&&e!==""&&e!=="0"}readNumber(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return n}}readPositiveNumber(e,t){const o=this.readNumber(e,t);return o!=null&&o>0?o:void 0}readString(e,t){for(const o of t){const n=e[o];if(typeof n=="string")return n}}readBoolean(e,t){for(const o of t){const n=e[o];if(typeof n=="boolean")return n;if(typeof n=="number")return n!==0}}readPoint(e,t){for(const o of t){const n=e[o];if(this.isPointLike(n))return n;if(Array.isArray(n)&&typeof n[0]=="number"&&typeof n[1]=="number")return{x:n[0],y:n[1],z:n[2]??0}}}readLeaderLineArray(e){const t=e.leaderLines;if(Array.isArray(t))return t.map(n=>{if(!n||typeof n!="object")return;const i=n.vertices;return Array.isArray(i)?i.filter(s=>this.isPointLike(s)):void 0}).filter(n=>!!n&&n.length>0);const o=e.vertices;if(Array.isArray(o)){const n=o.filter(i=>this.isPointLike(i));return n.length>0?[n]:void 0}}readMLeaderLeaders(e){const t=e.leaderSections;if(!Array.isArray(t))return;const o=[];return t.forEach(n=>{if(!n||typeof n!="object")return;const i=n,s=i.leaderLines,u=Array.isArray(s)?s.reduce((p,A)=>{const b=this.readMLeaderLine(A);return b&&p.push(b),p},[]):void 0,l={},f=this.readPoint(i,["lastLeaderLinePoint"]),c=this.readPoint(i,["doglegVector"]),a=this.readNumber(i,["doglegLength"]),h=this.readMLeaderBreaks(i.breaks),d=this.readNumber(i,["leaderBranchIndex"]);f&&(l.lastLeaderLinePoint=f),i.lastLeaderLinePointSet!=null&&(l.lastLeaderLinePointSet=this.readBoolean(i,["lastLeaderLinePointSet"])),c&&(l.doglegVector=c),i.doglegVectorSet!=null&&(l.doglegVectorSet=this.readBoolean(i,["doglegVectorSet"])),a!=null&&(l.doglegLength=a),h&&(l.breaks=h),d!=null&&(l.leaderBranchIndex=d),u&&(l.leaderLines=u),o.push(l)}),o}readMLeaderLine(e){if(!e||typeof e!="object")return;const t=e,o=t.vertices,n=Array.isArray(o)?o.filter(l=>this.isPointLike(l)):[],i=this.readMLeaderBreaks(t.breaks),s=Array.isArray(t.breakPointIndexes)?t.breakPointIndexes.filter(l=>typeof l=="number"):void 0,u=this.readNumber(t,["leaderLineIndex"]);return n.length>0||i&&i.length>0?{vertices:n,breakPointIndexes:s,leaderLineIndex:u,breaks:i}:void 0}readMLeaderBreaks(e){if(!Array.isArray(e))return;const t=e.map(o=>{if(!o||typeof o!="object")return;const n=o,i=this.readPoint(n,["start"]),s=this.readPoint(n,["end"]),u=this.readNumber(n,["index"]);if(!i||!s)return;const l={start:i,end:s};return u!=null&&(l.index=u),l}).filter(o=>!!o);return t.length>0?t:void 0}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}class x{convertMLeaderStyle(e){const t=new r.AcDbMLeaderStyle;return t.unknown1=e.unknown1,e.contentType!=null&&(t.contentType=e.contentType),e.drawMLeaderOrderType!=null&&(t.drawMLeaderOrderType=e.drawMLeaderOrderType),e.drawLeaderOrderType!=null&&(t.drawLeaderOrderType=e.drawLeaderOrderType),e.maxLeaderSegmentPoints!=null&&(t.maxLeaderSegmentPoints=e.maxLeaderSegmentPoints),e.firstSegmentAngleConstraint!=null&&(t.firstSegmentAngleConstraint=e.firstSegmentAngleConstraint),e.secondSegmentAngleConstraint!=null&&(t.secondSegmentAngleConstraint=e.secondSegmentAngleConstraint),e.leaderLineType!=null&&(t.leaderLineType=e.leaderLineType),e.leaderLineColor!=null&&(t.leaderLineColor=r.acdbDecodeMLeaderStyleRawColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,e.leaderLineWeight!=null&&(t.leaderLineWeight=e.leaderLineWeight),e.landingEnabled!=null&&(t.landingEnabled=e.landingEnabled),e.landingGap!=null&&(t.landingGap=e.landingGap),e.doglegEnabled!=null&&(t.doglegEnabled=e.doglegEnabled),e.doglegLength!=null&&(t.doglegLength=e.doglegLength),e.description!=null&&(t.description=e.description),t.arrowheadId=e.arrowheadId,e.arrowheadSize!=null&&(t.arrowheadSize=e.arrowheadSize),e.defaultMTextContents!=null&&(t.defaultMTextContents=e.defaultMTextContents),t.textStyleId=e.textStyleId,e.textLeftAttachmentType!=null&&(t.textLeftAttachmentType=e.textLeftAttachmentType),e.textAngleType!=null&&(t.textAngleType=e.textAngleType),e.textAlignmentType!=null&&(t.textAlignmentType=e.textAlignmentType),e.textRightAttachmentType!=null&&(t.textRightAttachmentType=e.textRightAttachmentType),e.textColor!=null&&(t.textColor=r.acdbDecodeMLeaderStyleRawColor(e.textColor)),e.textHeight!=null&&(t.textHeight=e.textHeight),e.textFrameEnabled!=null&&(t.textFrameEnabled=e.textFrameEnabled),e.textAlignAlwaysLeft!=null&&(t.textAlignAlwaysLeft=e.textAlignAlwaysLeft),e.alignSpace!=null&&(t.alignSpace=e.alignSpace),t.blockContentId=e.blockContentId,e.blockContentColor!=null&&(t.blockContentColor=r.acdbDecodeMLeaderStyleRawColor(e.blockContentColor)),e.blockContentScale&&(t.blockContentScale={x:e.blockContentScale.x,y:e.blockContentScale.y,z:e.blockContentScale.z??1}),e.blockContentScaleEnabled!=null&&(t.blockContentScaleEnabled=e.blockContentScaleEnabled),e.blockContentRotation!=null&&(t.blockContentRotation=e.blockContentRotation),e.blockContentRotationEnabled!=null&&(t.blockContentRotationEnabled=e.blockContentRotationEnabled),e.blockContentConnectionType!=null&&(t.blockContentConnectionType=e.blockContentConnectionType),e.scale!=null&&(t.scale=e.scale),e.overwritePropertyValue!=null&&(t.overwritePropertyValue=e.overwritePropertyValue),e.annotative!=null&&(t.annotative=e.annotative),e.breakGapSize!=null&&(t.breakGapSize=e.breakGapSize),e.textAttachmentDirection!=null&&(t.textAttachmentDirection=e.textAttachmentDirection),e.bottomTextAttachmentDirection!=null&&(t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection),e.topTextAttachmentDirection!=null&&(t.topTextAttachmentDirection=e.topTextAttachmentDirection),t.unknown2=e.unknown2,this.processCommonAttrs(e,t),t}convertLayerFilter(e){var o;const t=new r.AcDbLayerFilter;return(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),this.processCommonAttrs(e,t),t}convertLayerIndex(e){var o,n,i;const t=new r.AcDbLayerIndex;return e.timeStamp!=null&&(t.lastUpdatedAt=e.timeStamp,t.lastUpdatedAtU=e.timeStamp),(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),(n=e.idBufferIds)!=null&&n.length&&(t.idBufferIds=e.idBufferIds),(i=e.idBufferEntryCounts)!=null&&i.length&&(t.idBufferEntryCounts=e.idBufferEntryCounts),t.isUptoDate=!0,this.processCommonAttrs(e,t),t}processCommonAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}}const S="*MODEL_SPACE";class E extends r.AcDbDatabaseConverter{constructor(e={}){super(e),this.config.useWorker=!0,this.config.parserWorkerUrl||(this.config.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,t){const o=this.config,n=this.getParserWorkerTimeout(e,t);if(o.useWorker&&o.parserWorkerUrl){const i=r.acdbCreateWorkerApi({workerUrl:o.parserWorkerUrl,timeout:n,maxConcurrentWorkers:1}),s=await i.execute(e);return i.destroy(),r.AcDbOpenDatabaseError.throwOnWorkerParseFailure(s),s.data}else throw new Error("dwg converter can run in web worker only!")}processLineTypes(e,t){e.tables.LTYPE.entries.forEach(n=>{const i={name:n.name,description:n.description,standardFlag:n.standardFlag,totalPatternLength:n.totalPatternLength,pattern:n.pattern},s=new r.AcDbLinetypeTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.linetypeTable.add(s)})}processTextStyles(e,t){e.tables.STYLE.entries.forEach(n=>{const i={name:n.name,standardFlag:n.standardFlag,fixedTextHeight:n.fixedTextHeight,widthFactor:n.widthFactor,obliqueAngle:n.obliqueAngle,textGenerationFlag:n.textGenerationFlag,lastHeight:n.lastHeight,font:n.font,bigFont:n.bigFont,extendedFont:n.extendedFont},s=new r.AcDbTextStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.textStyleTable.add(s)}),t.ensureTextStyleDefaults()}processDimStyles(e,t){e.tables.DIMSTYLE.entries.forEach(n=>{const i={name:n.name,ownerId:n.ownerHandle,dimpost:n.DIMPOST||"",dimapost:n.DIMAPOST||"",dimscale:n.DIMSCALE,dimasz:n.DIMASZ,dimexo:n.DIMEXO,dimdli:n.DIMDLI,dimexe:n.DIMEXE,dimrnd:n.DIMRND,dimdle:n.DIMDLE,dimtp:n.DIMTP,dimtm:n.DIMTM,dimtxt:n.DIMTXT,dimcen:n.DIMCEN,dimtsz:n.DIMTSZ,dimaltf:n.DIMALTF,dimlfac:n.DIMLFAC,dimtvp:n.DIMTVP,dimtfac:n.DIMTFAC,dimgap:n.DIMGAP,dimaltrnd:n.DIMALTRND,dimtol:n.DIMTOL==null||n.DIMTOL==0?0:1,dimlim:n.DIMLIM==null||n.DIMLIM==0?0:1,dimtih:n.DIMTIH==null||n.DIMTIH==0?0:1,dimtoh:n.DIMTOH==null||n.DIMTOH==0?0:1,dimse1:n.DIMSE1==null||n.DIMSE1==0?0:1,dimse2:n.DIMSE2==null||n.DIMSE2==0?0:1,dimtad:n.DIMTAD,dimzin:n.DIMZIN,dimazin:n.DIMAZIN,dimalt:n.DIMALT,dimaltd:n.DIMALTD,dimtofl:n.DIMTOFL,dimsah:n.DIMSAH,dimtix:n.DIMTIX,dimsoxd:n.DIMSOXD,dimclrd:n.DIMCLRD,dimclre:n.DIMCLRE,dimclrt:n.DIMCLRT,dimadec:n.DIMADEC||0,dimunit:n.DIMUNIT||2,dimdec:n.DIMDEC,dimtdec:n.DIMTDEC,dimaltu:n.DIMALTU,dimalttd:n.DIMALTTD,dimaunit:n.DIMAUNIT,dimfrac:n.DIMFRAC,dimlunit:n.DIMLUNIT,dimdsep:n.DIMDSEP||".",dimtmove:n.DIMTMOVE||0,dimjust:n.DIMJUST,dimsd1:n.DIMSD1,dimsd2:n.DIMSD2,dimtolj:n.DIMTOLJ,dimtzin:n.DIMTZIN,dimaltz:n.DIMALTZ,dimalttz:n.DIMALTTZ,dimfit:n.DIMFIT||0,dimupt:n.DIMUPT,dimatfit:n.DIMATFIT,dimtxsty:r.DEFAULT_TEXT_STYLE,dimldrblk:"",dimblk:n.DIMBLK||"",dimblk1:n.DIMBLK1||"",dimblk2:n.DIMBLK2||"",dimlwd:n.DIMLWD,dimlwe:n.DIMLWE},s=new r.AcDbDimStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.dimStyleTable.add(s)})}processLayers(e,t){e.tables.LAYER.entries.forEach(n=>{const i=new r.AcCmColor;i.colorIndex=n.colorIndex;const s=new r.AcDbLayerTableRecord({name:n.name,standardFlags:n.standardFlag,linetype:n.lineType,lineWeight:n.lineweight,isOff:n.off,color:i,isPlottable:n.plotFlag!=0});this.processCommonTableEntryAttrs(n,s),t.tables.layerTable.add(s)})}processViewports(e,t){e.tables.VPORT.entries.forEach(n=>{const i=new r.AcDbViewportTableRecord;this.processCommonTableEntryAttrs(n,i),n.circleSides&&(i.circleSides=n.circleSides),i.standardFlag=n.standardFlag,i.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.lowerLeftCorner.copy(n.lowerLeftCorner??r.VPORT_FALLBACK_LLC),i.upperRightCorner.copy(n.upperRightCorner??r.VPORT_FALLBACK_URC),n.snapBasePoint&&i.snapBase.copy(n.snapBasePoint),n.snapRotationAngle&&(i.snapAngle=n.snapRotationAngle),n.snapSpacing&&i.snapIncrements.copy(n.snapSpacing),n.majorGridLines&&(i.gridMajor=n.majorGridLines),n.gridSpacing&&i.gridIncrements.copy(n.gridSpacing),n.backgroundObjectId&&(i.backgroundObjectId=n.backgroundObjectId),i.gsView.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.gsView.viewDirectionFromTarget.copy(n.viewDirectionFromTarget??r.VPORT_FALLBACK_VIEW_DIR),i.gsView.viewTarget.copy(n.viewTarget??r.VPORT_FALLBACK_VIEW_TARGET),n.lensLength&&(i.gsView.lensLength=n.lensLength),n.frontClippingPlane&&(i.gsView.frontClippingPlane=n.frontClippingPlane),n.backClippingPlane&&(i.gsView.backClippingPlane=n.backClippingPlane),n.viewHeight&&(i.gsView.viewHeight=n.viewHeight);const s=n.aspectRatio;s!=null&&Number.isFinite(s)&&s>0&&(i.gsView.aspectRatio=s),n.viewTwistAngle&&(i.gsView.viewTwistAngle=n.viewTwistAngle),n.frozenLayers&&(i.gsView.frozenLayers=n.frozenLayers),n.styleSheet&&(i.gsView.styleSheet=n.styleSheet),n.renderMode&&(i.gsView.renderMode=n.renderMode),n.viewMode&&(i.gsView.viewMode=n.viewMode),n.ucsIconSetting&&(i.gsView.ucsIconSetting=n.ucsIconSetting),n.ucsOrigin&&i.gsView.ucsOrigin.copy(n.ucsOrigin),n.ucsXAxis&&i.gsView.ucsXAxis.copy(n.ucsXAxis),n.ucsYAxis&&i.gsView.ucsYAxis.copy(n.ucsYAxis),n.orthographicType&&(i.gsView.orthographicType=n.orthographicType),n.shadePlotSetting&&(i.gsView.shadePlotSetting=n.shadePlotSetting),n.shadePlotObjectId&&(i.gsView.shadePlotObjectId=n.shadePlotObjectId),n.visualStyleObjectId&&(i.gsView.visualStyleObjectId=n.visualStyleObjectId),n.isDefaultLightingOn&&(i.gsView.isDefaultLightingOn=n.isDefaultLightingOn),n.defaultLightingType&&(i.gsView.defaultLightingType=n.defaultLightingType),n.brightness&&(i.gsView.brightness=n.brightness),n.contrast&&(i.gsView.contrast=n.contrast),n.ambientColor&&(i.gsView.ambientColor=n.ambientColor),t.tables.viewportTable.add(i)})}processBlockTables(e,t){e.tables.BLOCK_RECORD.entries.forEach(n=>{let i=t.tables.blockTable.getAt(n.name);i||(i=new r.AcDbBlockTableRecord,i.objectId=n.handle,i.name=n.name,i.ownerId=n.ownerHandle,i.layoutId=n.layout,i.flags=r.AcDbBlockTableRecord.sanitizeImportedFlags(n.flags??0),i.blockInsertUnits=n.insertionUnits,i.explodability=n.explodability,i.blockScaling=n.scalability,t.tables.blockTable.add(i)),n.bmpPreview&&(i.previewIcon=r.acdbHexStringsToBytes([n.bmpPreview])),i.origin.copy(n.basePoint),!i.isModelSapce&&n.entities&&n.entities.length>0&&this.processEntitiesInBlock(n.entities,i)})}processBlocks(e,t){}async processEntitiesInBlock(e,t){const o=new y,n=e.length,i=[];for(let s=0;s<n;s++){const u=e[s],l=o.convert(u);l&&i.push(l)}t.appendEntity(i)}async processEntities(e,t,o,n,i){const s=new y;let u=[];e.tables.BLOCK_RECORD.entries.forEach(a=>{this.isModelSpace(a.name)&&(u=a.entities)});const l=u.length,f=new r.AcDbBatchProcessing(l,100-n.value,o);this.config.convertByEntityType&&(u=this.groupAndFlattenByType(u));const c=t.tables.blockTable.modelSpace;await f.processChunk(async(a,h)=>{const d=[];for(let p=a;p<h;p++){const A=u[p],b=s.convert(A);b&&d.push(b)}if(c.appendEntity(d),i){let p=n.value+h/l*(100-n.value);p>100&&(p=100),await i(p,"ENTITY","IN-PROGRESS")}})}processClasses(e,t){var o;(o=e.classes)!=null&&o.length&&(t.classes=e.classes.map(n=>({name:n.dxfName,cppClassName:n.cppName,appName:n.appName,proxyFlag:n.capabilitiesFlag,instanceCount:n.instanceCount,wasProxy:n.wasAProxyFlag,isEntity:n.isAnEntityFlag})))}processHeader(e,t){const o=e.thumbnailImage;o!=null&&o.length&&(t.thumbnailImage=o);const n=e.header;n.CECOLOR&&(n.CECOLOR.index>=0&&n.CECOLOR.index<=256?t.cecolor.colorIndex=n.CECOLOR.index:t.cecolor.setRGBValue(n.CECOLOR.rgb)),t.angbase=n.ANGBASE??0,t.angdir=n.ANGDIR??0,t.aunits=n.AUNITS??0,n.AUPREC!=null&&(t.auprec=n.AUPREC),n.LUNITS!=null&&(t.lunits=n.LUNITS),n.LUPREC!=null&&(t.luprec=n.LUPREC),n.UNITMODE!=null&&(t.unitmode=n.UNITMODE),n.MEASUREMENT!=null&&(t.measurement=n.MEASUREMENT),t.celtype=n.CELTYPE??r.ByLayer,t.celtscale=n.CELTSCALE??1,t.ltscale=n.LTSCALE??1,n.EXTMAX&&(t.extmax=n.EXTMAX),n.EXTMIN&&(t.extmin=n.EXTMIN),t.insunits=n.INSUNITS??1,t.pdmode=n.PDMODE??0,t.pdsize=n.PDSIZE??0,t.textstyle=n.TEXTSTYLE??r.DEFAULT_TEXT_STYLE;const i=this.normalizeHeaderStringValue(n.CMLEADERSTYLE)??r.DEFAULT_MLEADER_STYLE;t.cmleaderstyle=i}processCommonTableEntryAttrs(e,t){t.name=e.name,t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}processObjects(e,t){this.processLayouts(e,t),this.processImageDefs(e,t),this.processLayerFilters(e,t),this.processLayerIndexes(e,t),this.processLayerFilterTree(e,t),this.processMLeaderStyles(e,t)}processLayerFilterTree(e,t){const o=e.objects.DICTIONARY,n=e.objects.XRECORD;if(!(o!=null&&o.length)||!(n!=null&&n.length))return;const i=f=>f?String(f).trim().toUpperCase():"",s=new Map;o.forEach(f=>{const c={},a=f.entries??{};for(const h in a){const d=a[h];h&&d&&(c[h]=i(String(d)))}s.set(i(f.handle),{handle:i(f.handle),ownerObjectId:i(f.ownerHandle),entries:c})});const u=new Map;n.forEach(f=>{u.set(i(f.handle),{handle:i(f.handle),ownerObjectId:i(f.ownerHandle),extensionDictionaryId:i(f.extensionDictionary),data:(f.data??[]).map(c=>({code:Number(c.code),value:c.value}))})});const l=r.acdbReadLayerFilterTree({dictionaries:s,xrecords:u});l.root.getNestedFilters().length>0&&(t.layerFilters=l)}processLayouts(e,t){const o=t.objects.layout;e.objects.LAYOUT.forEach(i=>{const s=new r.AcDbLayout;s.layoutName=i.layoutName,s.tabOrder=i.tabOrder;const u=t.tables.blockTable.newIterator();s.objectId=i.handle;for(const l of u)if(l.layoutId===s.objectId){s.blockTableRecordId=l.objectId;break}s.blockTableRecordId||i.layoutName==="Model"&&(s.blockTableRecordId=t.tables.blockTable.modelSpace.objectId),s.limits.min.copy(i.minLimit),s.limits.max.copy(i.maxLimit),s.extents.min.copy(i.minExtent),s.extents.max.copy(i.maxExtent),i.viewportId&&s.viewportArray.push(i.viewportId),this.processCommonObjectAttrs(i,s),o.setAt(s.layoutName,s)})}processImageDefs(e,t){const o=t.objects.imageDefinition;e.objects.IMAGEDEF.forEach(i=>{const s=new r.AcDbRasterImageDef;s.sourceFileName=i.fileName,this.processCommonObjectAttrs(i,s),o.setAt(s.objectId,s)})}processLayerFilters(e,t){const o=e.objects.LAYER_FILTER;if(!(o!=null&&o.length))return;const n=t.objects.layerFilter,i=new x;o.forEach(s=>{const u=i.convertLayerFilter(s);n.setAt(u.objectId,u)})}processLayerIndexes(e,t){const o=e.objects.LAYER_INDEX;if(!(o!=null&&o.length))return;const n=t.objects.layerIndex,i=new x;o.forEach(s=>{const u=i.convertLayerIndex(s);n.setAt(u.objectId,u)})}processMLeaderStyles(e,t){const o=e.objects.MLEADERSTYLE;if(!(o!=null&&o.length))return;const n=t.objects.mleaderStyle,i=new x;o.forEach(s=>{const u=i.convertMLeaderStyle(s);n.setAt(u.objectId,u)})}processCommonObjectAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}groupAndFlattenByType(e){const t={},o=[];for(const i of e)t[i.type]||(t[i.type]=[],o.push(i.type)),t[i.type].push(i);const n=[];for(const i of o){const s=t[i];for(let u=0;u<s.length;u++)n.push(s[u])}return n}isModelSpace(e){return e&&e.toUpperCase()==S}normalizeHeaderStringValue(e){if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}}D.AcDbLibreDwgConverter=E,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})}));
|
|
@@ -10,7 +10,7 @@ return ret;
|
|
|
10
10
|
`),D+=`}
|
|
11
11
|
`,new Function(G,D)}function Ur(e,r,i,s,c,u){var f=r.length;f<2&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var T=r[1]!==null&&i!==null,P=Mn(r),D=!r[0].isVoid,R=r[0],G=r[1],M=[e,U,s,c,un,R.fromWireType.bind(R),G==null?void 0:G.toWireType.bind(G)],S=2;S<f;++S){var O=r[S];M.push(O.toWireType.bind(O))}if(!P)for(var S=2;S<r.length;++S)r[S].destructorFunction!==null&&M.push(r[S].destructorFunction);var nt=Fr(r,T,D,u)(...M);return ze(e,nt)}var $r=(e,r)=>{for(var i=[],s=0;s<e;s++)i.push(k[r+s*4>>>2>>>0]);return i},Vr=e=>{e=e.trim();const r=e.indexOf("(");return r===-1?e:e.slice(0,r)};function Hr(e,r,i,s,c,u,f,T){e>>>=0,i>>>=0,s>>>=0,c>>>=0,u>>>=0;var P=$r(r,i);e=st(e),e=Vr(e),c=_e(s,c,f),xe(e,function(){tn(`Cannot call ${e} due to unbound types`,P)},r-1),en([],P,D=>{var R=[D[0],null].concat(D.slice(1));return Rn(e,Ur(e,R,null,c,u,f),r-1),[]})}var Xr=function(e,r,i,s,c){e>>>=0,r>>>=0,i>>>=0,r=st(r);const u=s===0;let f=P=>P;if(u){var T=32-8*i;f=P=>P<<T>>>T,c=f(c)}at(e,{name:r,fromWireType:f,toWireType:(P,D)=>D,readValueFromPointer:Dt(r,i,s!==0),destructorFunction:null})};function Kr(e,r,i){e>>>=0,i>>>=0;var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array],c=s[r];function u(f){var T=k[f>>>2>>>0],P=k[f+4>>>2>>>0];return new c(z.buffer,P,T)}i=st(i),at(e,{name:i,fromWireType:u,readValueFromPointer:u},{ignoreDuplicateRegistrations:!0})}var Qt=(e,r,i)=>re(e,lt,r,i);function zr(e,r){e>>>=0,r>>>=0,r=st(r),at(e,{name:r,fromWireType(i){var s=k[i>>>2>>>0],c=i+4,u;return u=Kt(c,s,!0),jt(i),u},toWireType(i,s){s instanceof ArrayBuffer&&(s=new Uint8Array(s));var c,u=typeof s=="string";u||ArrayBuffer.isView(s)&&s.BYTES_PER_ELEMENT==1||U("Cannot pass non-string to std::string"),u?c=Lt(s):c=s.length;var f=rn(4+c+1),T=f+4;return k[f>>>2>>>0]=c,u?Qt(s,T,c+1):lt.set(s,T>>>0),i!==null&&i.push(jt,f),f},readValueFromPointer:Ze,destructorFunction(i){jt(i)}})}var bn=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Jr=(e,r,i)=>{var s=e>>>1,c=he(gt,s,r/2,i);if(c-s>16&&bn)return bn.decode(gt.subarray(s>>>0,c>>>0));for(var u="",f=s;f<c;++f){var T=gt[f>>>0];u+=String.fromCharCode(T)}return u},Zr=(e,r,i)=>{if(i??(i=2147483647),i<2)return 0;i-=2;for(var s=r,c=i<e.length*2?i/2:e.length,u=0;u<c;++u){var f=e.charCodeAt(u);dt[r>>>1>>>0]=f,r+=2}return dt[r>>>1>>>0]=0,r-s},qr=e=>e.length*2,Qr=(e,r,i)=>{for(var s="",c=e>>>2,u=0;!(u>=r/4);u++){var f=k[c+u>>>0];if(!f&&!i)break;s+=String.fromCodePoint(f)}return s},jr=(e,r,i)=>{if(r>>>=0,i??(i=2147483647),i<4)return 0;for(var s=r,c=s+i-4,u=0;u<e.length;++u){var f=e.codePointAt(u);if(f>65535&&u++,x[r>>>2>>>0]=f,r+=4,r+4>c)break}return x[r>>>2>>>0]=0,r-s},ta=e=>{for(var r=0,i=0;i<e.length;++i){var s=e.codePointAt(i);s>65535&&i++,r+=4}return r};function ea(e,r,i){e>>>=0,r>>>=0,i>>>=0,i=st(i);var s,c,u;r===2?(s=Jr,c=Zr,u=qr):(s=Qr,c=jr,u=ta),at(e,{name:i,fromWireType:f=>{var T=k[f>>>2>>>0],P=s(f+4,T*r,!0);return jt(f),P},toWireType:(f,T)=>{typeof T!="string"&&U(`Cannot pass non-string to C++ string type ${i}`);var P=u(T),D=rn(4+P+r);return k[D>>>2>>>0]=P/r,c(T,D+4,P+r),f!==null&&f.push(jt,D),D},readValueFromPointer:Ze,destructorFunction(f){jt(f)}})}var na=function(e,r){e>>>=0,r>>>=0,r=st(r),at(e,{isVoid:!0,name:r,fromWireType:()=>{},toWireType:(i,s)=>{}})},gn=[],ra=e=>{var r=gn.length;return gn.push(e),r},aa=(e,r)=>{for(var i=new Array(e),s=0;s<e;++s)i[s]=Wn(k[r+s*4>>>2>>>0],`parameter ${s}`);return i},oa=(e,r,i)=>{var s=[],c=e(s,i);return s.length&&(k[r>>>2>>>0]=Pt.toHandle(s)),c},ia={},xn=e=>{var r=ia[e];return r===void 0?st(e):r},sa=function(e,r,i){r>>>=0;var s=8,[c,...u]=aa(e,r),f=c.toWireType.bind(c),T=u.map(S=>S.readValueFromPointer.bind(S));e--;var P={toValue:Pt.toValue},D=T.map((S,O)=>{var $=`argFromPtr${O}`;return P[$]=S,`${$}(args${O?"+"+O*s:""})`}),R;switch(i){case 0:R="toValue(handle)";break;case 2:R="new (toValue(handle))";break;case 3:R="";break;case 1:P.getStringOrSymbol=xn,R="toValue(handle)[getStringOrSymbol(methodName)]";break}R+=`(${D})`,c.isVoid||(P.toReturnWire=f,P.emval_returnValue=oa,R=`return emval_returnValue(toReturnWire, destructorsRef, ${R})`),R=`return function (handle, methodName, destructorsRef, args) {
|
|
12
12
|
${R}
|
|
13
|
-
}`;var G=new Function(Object.keys(P),R)(...Object.values(P)),M=`methodCaller<(${u.map(S=>S.name)}) => ${c.name}>`;return ra(ze(M,G))};function _a(e){e>>>=0,e>9&&(qt[e+1]+=1)}function da(e,r,i,s,c){return e>>>=0,r>>>=0,i>>>=0,s>>>=0,c>>>=0,gn[e](r,i,s,c)}function la(){return Pt.toHandle([])}function ca(e){return e>>>=0,Pt.toHandle(xn(e))}function Ea(){return Pt.toHandle({})}function ua(e){e>>>=0;var r=Pt.toValue(e);un(r),fn(e)}function fa(e,r,i){e>>>=0,r>>>=0,i>>>=0,e=Pt.toValue(e),r=Pt.toValue(r),i=Pt.toValue(i),e[r]=i}function ha(e,r){e=ue(e),r>>>=0;var i=new Date(e*1e3);x[r>>>2>>>0]=i.getUTCSeconds(),x[r+4>>>2>>>0]=i.getUTCMinutes(),x[r+8>>>2>>>0]=i.getUTCHours(),x[r+12>>>2>>>0]=i.getUTCDate(),x[r+16>>>2>>>0]=i.getUTCMonth(),x[r+20>>>2>>>0]=i.getUTCFullYear()-1900,x[r+24>>>2>>>0]=i.getUTCDay();var s=Date.UTC(i.getUTCFullYear(),0,1,0,0,0,0),c=(i.getTime()-s)/(1e3*60*60*24)|0;x[r+28>>>2>>>0]=c}var ga=e=>e%4===0&&(e%100!==0||e%400===0),Aa=[0,31,60,91,121,152,182,213,244,274,305,335],Ta=[0,31,59,90,120,151,181,212,243,273,304,334],Pa=e=>{var r=ga(e.getFullYear()),i=r?Aa:Ta,s=i[e.getMonth()]+e.getDate()-1;return s},ya=function(e){e>>>=0;var r=(()=>{var i=new Date(x[e+20>>>2>>>0]+1900,x[e+16>>>2>>>0],x[e+12>>>2>>>0],x[e+8>>>2>>>0],x[e+4>>>2>>>0],x[e>>>2>>>0],0);if(isNaN(i.getTime()))return-1;var s=x[e+32>>>2>>>0],c=i.getTimezoneOffset(),u=new Date(i.getFullYear(),0,1),f=new Date(i.getFullYear(),6,1).getTimezoneOffset(),T=u.getTimezoneOffset(),P=Math.min(T,f);if(s<0)x[e+32>>>2>>>0]=+(f!=T&&P==c);else if(s>0!=(P==c)){var D=Math.max(T,f),R=s>0?P:D;i.setTime(i.getTime()+(R-c)*6e4)}x[e+24>>>2>>>0]=i.getDay();var G=Pa(i)|0;return x[e+28>>>2>>>0]=G,x[e>>>2>>>0]=i.getSeconds(),x[e+4>>>2>>>0]=i.getMinutes(),x[e+8>>>2>>>0]=i.getHours(),x[e+12>>>2>>>0]=i.getDate(),x[e+16>>>2>>>0]=i.getMonth(),x[e+20>>>2>>>0]=i.getYear(),i.getTime()/1e3})();return BigInt(r)},Ia=function(e,r,i,s){e>>>=0,r>>>=0,i>>>=0,s>>>=0;var c=new Date().getFullYear(),u=new Date(c,0,1),f=new Date(c,6,1),T=u.getTimezoneOffset(),P=f.getTimezoneOffset(),D=Math.max(T,P);k[e>>>2>>>0]=D*60,x[r>>>2>>>0]=+(T!=P);var R=S=>{var O=S>=0?"-":"+",$=Math.abs(S),nt=String(Math.floor($/60)).padStart(2,"0"),rt=String($%60).padStart(2,"0");return`UTC${O}${nt}${rt}`},G=R(T),M=R(P);P<T?(Qt(G,i,17),Qt(M,s,17)):(Qt(G,s,17),Qt(M,i,17))},pa=()=>Date.now();function va(e){return e>>>=0,C(Kt(e))}var ma=()=>performance.now(),Ca=()=>4294901760,Da=(e,r)=>Math.ceil(e/r)*r,wa=e=>{var r=an.buffer.byteLength,i=(e-r+65535)/65536|0;try{return an.grow(i),H(),1}catch{}};function Ra(e){e>>>=0;var r=lt.length,i=Ca();if(e>i)return!1;for(var s=1;s<=4;s*=2){var c=r*(1+.2/s);c=Math.min(c,e+100663296);var u=Math.min(i,Da(Math.max(e,c),65536)),f=wa(u);if(f)return!0}return!1}var nn={},Sa=()=>h,ke=()=>{var c;if(!ke.strings){var e=(((c=globalThis.navigator)==null?void 0:c.language)??"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:Sa()};for(var i in nn)nn[i]===void 0?delete r[i]:r[i]=nn[i];var s=[];for(var i in r)s.push(`${i}=${r[i]}`);ke.strings=s}return ke.strings};function La(e,r){e>>>=0,r>>>=0;var i=0,s=0;for(var c of ke()){var u=r+i;k[e+s>>>2>>>0]=u,i+=Qt(c,u,1/0)+1,s+=4}return 0}function Ya(e,r){e>>>=0,r>>>=0;var i=ke();k[e>>>2>>>0]=i.length;var s=0;for(var c of i)s+=Lt(c)+1;return k[r>>>2>>>0]=s,0}function Na(e){try{var r=q.getStreamFromFD(e);return l.close(r),0}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return i.errno}}var Ga=(e,r,i,s)=>{for(var c=0,u=0;u<i;u++){var f=k[r>>>2>>>0],T=k[r+4>>>2>>>0];r+=8;var P=l.read(e,z,f,T,s);if(P<0)return-1;if(c+=P,P<T)break}return c};function Wa(e,r,i,s){r>>>=0,i>>>=0,s>>>=0;try{var c=q.getStreamFromFD(e),u=Ga(c,r,i);return k[s>>>2>>>0]=u,0}catch(f){if(typeof l>"u"||f.name!=="ErrnoError")throw f;return f.errno}}function Ma(e,r,i,s){r=ue(r),s>>>=0;try{if(isNaN(r))return 22;var c=q.getStreamFromFD(e);return l.llseek(c,r,i),j[s>>>3>>>0]=BigInt(c.position),c.getdents&&r===0&&i===0&&(c.getdents=null),0}catch(u){if(typeof l>"u"||u.name!=="ErrnoError")throw u;return u.errno}}var ba=(e,r,i,s)=>{for(var c=0,u=0;u<i;u++){var f=k[r>>>2>>>0],T=k[r+4>>>2>>>0];r+=8;var P=l.write(e,z,f,T,s);if(P<0)return-1;if(c+=P,P<T)break}return c};function xa(e,r,i,s){r>>>=0,i>>>=0,s>>>=0;try{var c=q.getStreamFromFD(e),u=ba(c,r,i);return k[s>>>2>>>0]=u,0}catch(f){if(typeof l>"u"||f.name!=="ErrnoError")throw f;return f.errno}}function ka(e,r){return e>>>=0,r>>>=0,Vt(lt.subarray(e>>>0,e+r>>>0))}var kn=e=>{var r=o["_"+e];return r},Oa=(e,r)=>{z.set(e,r>>>0)},On=e=>$n(e),Ba=e=>{var r=Lt(e)+1,i=On(r);return Qt(e,i,r),i},Bn=(e,r,i,s,c)=>{var u={string:O=>{var $=0;return O!=null&&O!==0&&($=Ba(O)),$},array:O=>{var $=On(O.length);return Oa(O,$),$}};function f(O){return r==="string"?Kt(O):r==="pointer"?O>>>0:r==="boolean"?!!O:O}var T=kn(e),P=[],D=0;if(s)for(var R=0;R<s.length;R++){var G=u[i[R]];G?(D===0&&(D=Ce()),P[R]=G(s[R])):P[R]=s[R]}var M=T(...P);function S(O){return D!==0&&V(D),f(O)}return M=S(M),M},Fa=(e,r,i,s)=>{var c=!i||i.every(f=>f==="number"||f==="boolean"),u=r!=="string";return u&&c&&!s?kn(e):(...f)=>Bn(e,r,i,f)},Ua=e=>{var r=Lt(e)+1,i=rn(r);return i&&Qt(e,i,r),i};if(l.createPreloadedFile=$e,l.preloadFile=se,l.staticInit(),fr(),Rr(),o.noExitRuntime&&o.noExitRuntime,o.preloadPlugins&&(ie=o.preloadPlugins),o.print&&(w=o.print),o.printErr&&(C=o.printErr),o.wasmBinary&&(m=o.wasmBinary),o.arguments&&o.arguments,o.thisProgram&&(h=o.thisProgram),o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.shift()();o.ENV=nn,o.ccall=Bn,o.cwrap=Fa,o.setValue=et,o.UTF8ToString=Kt,o.stringToNewUTF8=Ua,o.FS=l;var jt,rn,Fn,Un,$n,Vn,an,Hn;function $a(e){o.__Znwm=e._Znwm,o.__ZdlPvm=e._ZdlPvm,jt=e.free,rn=e.malloc,e.calloc,e.realloc,Fn=e.__getTypeName,o._strndup=e.strndup,o.__ZdaPv=e._ZdaPv,o.__ZdaPvm=e._ZdaPvm,o.__ZdlPv=e._ZdlPv,o._emscripten_builtin_malloc=e.emscripten_builtin_malloc,o.__Znam=e._Znam,o.__ZnamSt11align_val_t=e._ZnamSt11align_val_t,o.__ZnwmSt11align_val_t=e._ZnwmSt11align_val_t,o.___libc_calloc=e.__libc_calloc,o.___libc_free=e.__libc_free,o.___libc_malloc=e.__libc_malloc,o.___libc_realloc=e.__libc_realloc,o._emscripten_builtin_calloc=e.emscripten_builtin_calloc,o._emscripten_builtin_free=e.emscripten_builtin_free,o._emscripten_builtin_realloc=e.emscripten_builtin_realloc,o._malloc_size=e.malloc_size,o._malloc_usable_size=e.malloc_usable_size,o._reallocf=e.reallocf,Un=e._emscripten_stack_restore,$n=e._emscripten_stack_alloc,Vn=e.emscripten_stack_get_current,an=e.memory,Hn=e.__indirect_function_table}var Xn={__cxa_throw:Se,__syscall_fcntl64:sn,__syscall_fstat64:_n,__syscall_ioctl:dn,__syscall_lstat64:Ve,__syscall_newfstatat:Ye,__syscall_openat:K,__syscall_stat64:Q,_abort_js:zt,_embind_register_bigint:Xe,_embind_register_bool:ln,_embind_register_class:Nr,_embind_register_class_property:Gr,_embind_register_emval:Mr,_embind_register_enum:xr,_embind_register_enum_value:kr,_embind_register_float:Br,_embind_register_function:Hr,_embind_register_integer:Xr,_embind_register_memory_view:Kr,_embind_register_std_string:zr,_embind_register_std_wstring:ea,_embind_register_void:na,_emval_create_invoker:sa,_emval_decref:fn,_emval_incref:_a,_emval_invoke:da,_emval_new_array:la,_emval_new_cstring:ca,_emval_new_object:Ea,_emval_run_destructors:ua,_emval_set_property:fa,_gmtime_js:ha,_mktime_js:ya,_tzset_js:Ia,emscripten_date_now:pa,emscripten_err:va,emscripten_get_now:ma,emscripten_resize_heap:Ra,environ_get:La,environ_sizes_get:Ya,fd_close:Na,fd_read:Wa,fd_seek:Ma,fd_write:xa,random_get:ka};function Va(e){e=Object.assign({},e);var r=c=>u=>c(u)>>>0,i=c=>(u,f)=>c(u,f)>>>0,s=c=>()=>c()>>>0;return e.malloc=r(e.malloc),e.calloc=i(e.calloc),e.realloc=i(e.realloc),e.__getTypeName=r(e.__getTypeName),e.emscripten_builtin_malloc=r(e.emscripten_builtin_malloc),e.emscripten_builtin_calloc=i(e.emscripten_builtin_calloc),e._emscripten_stack_alloc=r(e._emscripten_stack_alloc),e.emscripten_stack_get_current=s(e.emscripten_stack_get_current),e}function An(){if(Tt>0){Yt=An;return}if(J(),Tt>0){Yt=An;return}function e(){var r;o.calledRun=!0,!L&&(tt(),W==null||W(o),(r=o.onRuntimeInitialized)==null||r.call(o),ft())}o.setStatus?(o.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>o.setStatus(""),1),e()},1)):e()}var de;return de=await bt(),An(),F?t=o:t=new Promise((e,r)=>{W=e,B=r}),t}var ja=Object.defineProperty,to=(a,t,o)=>t in a?ja(a,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[t]=o,it=(a,t,o)=>to(a,typeof t!="symbol"?t+"":t,o);const eo=["utf-8","utf-8","iso-8859-1","iso-8859-2","iso-8859-3","iso-8859-4","iso-8859-5","iso-8859-6","iso-8859-7","iso-8859-8","iso-8859-9","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","shift-jis","macintosh","big5","utf-8","utf-8","ibm866","windows-1250","windows-1251","windows-1252","gbk","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-874","shift-jis","gbk","euc-kr","big5","utf-8","utf-16le","windows-1258"],tr=a=>eo[a];var le=(a=>(a[a.TopLeft=1]="TopLeft",a[a.TopCenter=2]="TopCenter",a[a.TopRight=3]="TopRight",a[a.MiddleLeft=4]="MiddleLeft",a[a.MiddleCenter=5]="MiddleCenter",a[a.MiddleRight=6]="MiddleRight",a[a.BottomLeft=7]="BottomLeft",a[a.BottomCenter=8]="BottomCenter",a[a.BottomRight=9]="BottomRight",a))(le||{}),In=(a=>(a[a.PatternFill=0]="PatternFill",a[a.SolidFill=1]="SolidFill",a))(In||{}),pn=(a=>(a[a.NonAssociative=0]="NonAssociative",a[a.Associative=1]="Associative",a))(pn||{}),or=(a=>(a[a.Solid=0]="Solid",a[a.Gradient=1]="Gradient",a))(or||{}),vn=(a=>(a[a.TwoColor=0]="TwoColor",a[a.OneColor=1]="OneColor",a))(vn||{}),Be=(a=>(a[a.Line=1]="Line",a[a.Circular=2]="Circular",a[a.Elliptic=3]="Elliptic",a[a.Spline=4]="Spline",a))(Be||{}),mn=(a=>(a[a.LEFT=0]="LEFT",a[a.CENTER=1]="CENTER",a[a.RIGHT=2]="RIGHT",a[a.ALIGNED=3]="ALIGNED",a[a.MIDDLE=4]="MIDDLE",a[a.FIT=5]="FIT",a))(mn||{});const no=Object.freeze(["ACADMAINTVER","ACADVER","ANGBASE","ANGDIR","ATTMODE","AUNITS","AUPREC","CECOLOR","CELTSCALE","CELTYPE","CELWEIGHT","CEPSNID","CEPSNTYPE","CHAMFERA","CHAMFERB","CHAMFERC","CHAMFERD","CLAYER","CMLJUST","CMLSCALE","CMLSTYLE","CSHADOW","DIMADEC","DIMALT","DIMALTD","DIMALTF","DIMALTRND","DIMALTTD","DIMALTTZ","DIMALTU","DIMALTZ","DIMAPOST","DIMASO","DIMASSOC","DIMASZ","DIMATFIT","DIMAUNIT","DIMAZIN","DIMBLK","DIMBLK1","DIMBLK2","DIMCEN","DIMCLRD","DIMCLRE","DIMCLRT","DIMDEC","DIMDLE","DIMDLI","DIMDSEP","DIMEXE","DIMEXO","DIMFAC","DIMGAP","DIMJUST","DIMLDRBLK","DIMLFAC","DIMLIM","DIMLUNIT","DIMLWD","DIMLWE","DIMPOST","DIMRND","DIMSAH","DIMSCALE","DIMSD1","DIMSD2","DIMSE1","DIMSE2","DIMSHO","DIMSOXD","DIMSTYLE","DIMTAD","DIMTDEC","DIMTFAC","DIMTIH","DIMTIX","DIMTM","DIMTMOVE","DIMTOFL","DIMTOH","DIMTOL","DIMTOLJ","DIMTP","DIMTSZ","DIMTVP","DIMTXSTY","DIMTXT","DIMTZIN","DIMUPT","DIMZIN","DISPSILH","DRAGVS","DWGCODEPAGE","ELEVATION","ENDCAPS","EXTMAX","EXTMIN","EXTNAMES","FILLETRAD","FILLMODE","FINGERPRINTGUID","HALOGAP","HANDSEED","HIDETEXT","HYPERLINKBASE","INDEXCTL","INSBASE","INSUNITS","INTERFERECOLOR","INTERFEREOBJVS","INTERFEREVPVS","INTERSECTIONCOLOR","INTERSECTIONDISPLAY","JOINSTYLE","LIMCHECK","LIMMAX","LIMMIN","LTSCALE","LUNITS","LUPREC","LWDISPLAY","MAXACTVP","MEASUREMENT","MENU","MIRRTEXT","OBSCOLOR","OBSLTYPE","ORTHOMODE","PDMODE","PDSIZE","PELEVATION","PEXTMAX","PEXTMIN","PINSBASE","PLIMCHECK","PLIMMAX","PLIMMIN","PLINEGEN","PLINEWID","PROJECTNAME","PROXYGRAPHICS","PSLTSCALE","PSTYLEMODE","PSVPSCALE","PUCSBASE","PUCSNAME","PUCSORG","PUCSORGBACK","PUCSORGBOTTOM","PUCSORGFRONT","PUCSORGLEFT","PUCSORGRIGHT","PUCSORGTOP","PUCSORTHOREF","PUCSORTHOVIEW","PUCSXDIR","PUCSYDIR","QTEXTMODE","REGENMODE","SHADEDGE","SHADEDIF","SHADOWPLANELOCATION","SKETCHINC","SKPOLY","SORTENTS","SPLINESEGS","SPLINETYPE","SURFTAB1","SURFTAB2","SURFTYPE","SURFU","SURFV","TDCREATE","TDINDWG","TDUCREATE","TDUPDATE","TDUSRTIMER","TDUUPDATE","TEXTSIZE","TEXTSTYLE","THICKNESS","TILEMODE","TRACEWID","TREEDEPTH","UCSBASE","UCSNAME","UCSORG","UCSORGBACK","UCSORGBOTTOM","UCSORGFRONT","UCSORGLEFT","UCSORGRIGHT","UCSORGTOP","UCSORTHOREF","UCSORTHOVIEW","UCSXDIR","UCSYDIR","UNITMODE","USERI1","USERI2","USERI3","USERI4","USERI5","USERR1","USERR2","USERR3","USERR4","USERR5","USRTIMER","VERSIONGUID","VISRETAIN","WORLDVIEW","XCLIPFRAME","XEDIT"]),ro=[{type:"invalid",hdr:"INVALI",description:"No DWG",version:0},{type:"r1.1",hdr:"MC0.0",description:"MicroCAD Release 1.1",version:0},{type:"r1.2",hdr:"AC1.2",description:"AutoCAD Release 1.2",version:0},{type:"r1.3",hdr:"AC1.3",description:"AutoCAD Release 1.3",version:1},{type:"r1.4",hdr:"AC1.40",description:"AutoCAD Release 1.4",version:2},{type:"r2.0b",hdr:"AC1.50",description:"AutoCAD 2.0 beta",version:3},{type:"r2.0",hdr:"AC1.50",description:"AutoCAD Release 2.0",version:4},{type:"r2.10",hdr:"AC2.10",description:"AutoCAD Release 2.10",version:5},{type:"r2.21",hdr:"AC2.21",description:"AutoCAD Release 2.21",version:6},{type:"r2.22",hdr:"AC2.22",description:"AutoCAD Release 2.22",version:7},{type:"r2.4",hdr:"AC1001",description:"AutoCAD Release 2.4",version:8},{type:"r2.5",hdr:"AC1002",description:"AutoCAD Release 2.5",version:9},{type:"r2.6",hdr:"AC1003",description:"AutoCAD Release 2.6",version:10},{type:"r9",hdr:"AC1004",description:"AutoCAD Release 9",version:11},{type:"r9c1",hdr:"AC1005",description:"AutoCAD Release 9c1",version:12},{type:"r10",hdr:"AC1006",description:"AutoCAD Release 10",version:13},{type:"r11b1",hdr:"AC1007",description:"AutoCAD 11 beta 1",version:14},{type:"r11b2",hdr:"AC1008",description:"AutoCAD 11 beta 2",version:15},{type:"r11",hdr:"AC1009",description:"AutoCAD Release 11/12 (LT R1/R2)",version:16},{type:"r13b1",hdr:"AC1010",description:"AutoCAD pre-R13 a",version:17},{type:"r13b2",hdr:"AC1011",description:"AutoCAD pre-R13 b",version:18},{type:"r13",hdr:"AC1012",description:"AutoCAD Release 13",version:19},{type:"r13c3",hdr:"AC1013",description:"AutoCAD Release 13c3",version:20},{type:"r14",hdr:"AC1014",description:"AutoCAD Release 14",version:21},{type:"r2000b",hdr:"AC1500",description:"AutoCAD 2000 beta",version:22},{type:"r2000",hdr:"AC1015",description:"AutoCAD Release 2000",version:23},{type:"r2000i",hdr:"AC1016",description:"AutoCAD Release 2000i",version:23},{type:"r2002",hdr:"AC1017",description:"AutoCAD Release 2002",version:23},{type:"r2004a",hdr:"AC402a",description:"AutoCAD 2004 alpha a",version:24},{type:"r2004b",hdr:"AC402b",description:"AutoCAD 2004 alpha b",version:24},{type:"r2004c",hdr:"AC1018",description:"AutoCAD 2004 beta",version:24},{type:"r2004",hdr:"AC1018",description:"AutoCAD Release 2004",version:25},{type:"r2007a",hdr:"AC701a",description:"AutoCAD 2007 alpha",version:26},{type:"r2007b",hdr:"AC1021",description:"AutoCAD 2007 beta",version:26},{type:"r2007",hdr:"AC1021",description:"AutoCAD Release 2007",version:27},{type:"r2010b",hdr:"AC1024",description:"AutoCAD 2010 beta",version:28},{type:"r2010",hdr:"AC1024",description:"AutoCAD Release 2010",version:29},{type:"r2013b",hdr:"AC1027",description:"AutoCAD 2013 beta",version:30},{type:"r2013",hdr:"AC1027",description:"AutoCAD Release 2013",version:31},{type:"r2018b",hdr:"AC1032",description:"AutoCAD 2018 beta",version:32},{type:"r2018",hdr:"AC1032",description:"AutoCAD Release 2018",version:33},{type:"r2022b",hdr:"AC103-4",description:"AutoCAD 2022 beta",version:36},{type:"r>2022",hdr:"",description:"AutoCAD Release >2022",version:0}];var ir=(a=>(a[a.DWG_SUPERTYPE_ENTITY=0]="DWG_SUPERTYPE_ENTITY",a[a.DWG_SUPERTYPE_OBJECT=1]="DWG_SUPERTYPE_OBJECT",a))(ir||{}),sr=(a=>(a[a.WRONGCRC=1]="WRONGCRC",a[a.NOTYETSUPPORTED=2]="NOTYETSUPPORTED",a[a.UNHANDLEDCLASS=4]="UNHANDLEDCLASS",a[a.INVALIDTYPE=8]="INVALIDTYPE",a[a.INVALIDHANDLE=16]="INVALIDHANDLE",a[a.INVALIDEED=32]="INVALIDEED",a[a.VALUEOUTOFBOUNDS=64]="VALUEOUTOFBOUNDS",a[a.CLASSESNOTFOUND=128]="CLASSESNOTFOUND",a[a.SECTIONNOTFOUND=256]="SECTIONNOTFOUND",a[a.PAGENOTFOUND=512]="PAGENOTFOUND",a[a.INTERNALERROR=1024]="INTERNALERROR",a[a.INVALIDDWG=2048]="INVALIDDWG",a[a.IOERROR=4096]="IOERROR",a[a.OUTOFMEM=8192]="OUTOFMEM",a))(sr||{}),Y=(a=>(a[a.DWG_TYPE_UNUSED=0]="DWG_TYPE_UNUSED",a[a.DWG_TYPE_TEXT=1]="DWG_TYPE_TEXT",a[a.DWG_TYPE_ATTRIB=2]="DWG_TYPE_ATTRIB",a[a.DWG_TYPE_ATTDEF=3]="DWG_TYPE_ATTDEF",a[a.DWG_TYPE_BLOCK=4]="DWG_TYPE_BLOCK",a[a.DWG_TYPE_ENDBLK=5]="DWG_TYPE_ENDBLK",a[a.DWG_TYPE_SEQEND=6]="DWG_TYPE_SEQEND",a[a.DWG_TYPE_INSERT=7]="DWG_TYPE_INSERT",a[a.DWG_TYPE_MINSERT=8]="DWG_TYPE_MINSERT",a[a.DWG_TYPE_VERTEX_2D=10]="DWG_TYPE_VERTEX_2D",a[a.DWG_TYPE_VERTEX_3D=11]="DWG_TYPE_VERTEX_3D",a[a.DWG_TYPE_VERTEX_MESH=12]="DWG_TYPE_VERTEX_MESH",a[a.DWG_TYPE_VERTEX_PFACE=13]="DWG_TYPE_VERTEX_PFACE",a[a.DWG_TYPE_VERTEX_PFACE_FACE=14]="DWG_TYPE_VERTEX_PFACE_FACE",a[a.DWG_TYPE_POLYLINE_2D=15]="DWG_TYPE_POLYLINE_2D",a[a.DWG_TYPE_POLYLINE_3D=16]="DWG_TYPE_POLYLINE_3D",a[a.DWG_TYPE_ARC=17]="DWG_TYPE_ARC",a[a.DWG_TYPE_CIRCLE=18]="DWG_TYPE_CIRCLE",a[a.DWG_TYPE_LINE=19]="DWG_TYPE_LINE",a[a.DWG_TYPE_DIMENSION_ORDINATE=20]="DWG_TYPE_DIMENSION_ORDINATE",a[a.DWG_TYPE_DIMENSION_LINEAR=21]="DWG_TYPE_DIMENSION_LINEAR",a[a.DWG_TYPE_DIMENSION_ALIGNED=22]="DWG_TYPE_DIMENSION_ALIGNED",a[a.DWG_TYPE_DIMENSION_ANG3PT=23]="DWG_TYPE_DIMENSION_ANG3PT",a[a.DWG_TYPE_DIMENSION_ANG2LN=24]="DWG_TYPE_DIMENSION_ANG2LN",a[a.DWG_TYPE_DIMENSION_RADIUS=25]="DWG_TYPE_DIMENSION_RADIUS",a[a.DWG_TYPE_DIMENSION_DIAMETER=26]="DWG_TYPE_DIMENSION_DIAMETER",a[a.DWG_TYPE_POINT=27]="DWG_TYPE_POINT",a[a.DWG_TYPE_3DFACE=28]="DWG_TYPE_3DFACE",a[a.DWG_TYPE_POLYLINE_PFACE=29]="DWG_TYPE_POLYLINE_PFACE",a[a.DWG_TYPE_POLYLINE_MESH=30]="DWG_TYPE_POLYLINE_MESH",a[a.DWG_TYPE_SOLID=31]="DWG_TYPE_SOLID",a[a.DWG_TYPE_TRACE=32]="DWG_TYPE_TRACE",a[a.DWG_TYPE_SHAPE=33]="DWG_TYPE_SHAPE",a[a.DWG_TYPE_VIEWPORT=34]="DWG_TYPE_VIEWPORT",a[a.DWG_TYPE_ELLIPSE=35]="DWG_TYPE_ELLIPSE",a[a.DWG_TYPE_SPLINE=36]="DWG_TYPE_SPLINE",a[a.DWG_TYPE_REGION=37]="DWG_TYPE_REGION",a[a.DWG_TYPE_3DSOLID=38]="DWG_TYPE_3DSOLID",a[a.DWG_TYPE_BODY=39]="DWG_TYPE_BODY",a[a.DWG_TYPE_RAY=40]="DWG_TYPE_RAY",a[a.DWG_TYPE_XLINE=41]="DWG_TYPE_XLINE",a[a.DWG_TYPE_DICTIONARY=42]="DWG_TYPE_DICTIONARY",a[a.DWG_TYPE_OLEFRAME=43]="DWG_TYPE_OLEFRAME",a[a.DWG_TYPE_MTEXT=44]="DWG_TYPE_MTEXT",a[a.DWG_TYPE_LEADER=45]="DWG_TYPE_LEADER",a[a.DWG_TYPE_TOLERANCE=46]="DWG_TYPE_TOLERANCE",a[a.DWG_TYPE_MLINE=47]="DWG_TYPE_MLINE",a[a.DWG_TYPE_BLOCK_CONTROL=48]="DWG_TYPE_BLOCK_CONTROL",a[a.DWG_TYPE_BLOCK_HEADER=49]="DWG_TYPE_BLOCK_HEADER",a[a.DWG_TYPE_LAYER_CONTROL=50]="DWG_TYPE_LAYER_CONTROL",a[a.DWG_TYPE_LAYER=51]="DWG_TYPE_LAYER",a[a.DWG_TYPE_STYLE_CONTROL=52]="DWG_TYPE_STYLE_CONTROL",a[a.DWG_TYPE_STYLE=53]="DWG_TYPE_STYLE",a[a.DWG_TYPE_LTYPE_CONTROL=56]="DWG_TYPE_LTYPE_CONTROL",a[a.DWG_TYPE_LTYPE=57]="DWG_TYPE_LTYPE",a[a.DWG_TYPE_VIEW_CONTROL=60]="DWG_TYPE_VIEW_CONTROL",a[a.DWG_TYPE_VIEW=61]="DWG_TYPE_VIEW",a[a.DWG_TYPE_UCS_CONTROL=62]="DWG_TYPE_UCS_CONTROL",a[a.DWG_TYPE_UCS=63]="DWG_TYPE_UCS",a[a.DWG_TYPE_VPORT_CONTROL=64]="DWG_TYPE_VPORT_CONTROL",a[a.DWG_TYPE_VPORT=65]="DWG_TYPE_VPORT",a[a.DWG_TYPE_APPID_CONTROL=66]="DWG_TYPE_APPID_CONTROL",a[a.DWG_TYPE_APPID=67]="DWG_TYPE_APPID",a[a.DWG_TYPE_DIMSTYLE_CONTROL=68]="DWG_TYPE_DIMSTYLE_CONTROL",a[a.DWG_TYPE_DIMSTYLE=69]="DWG_TYPE_DIMSTYLE",a[a.DWG_TYPE_VX_CONTROL=70]="DWG_TYPE_VX_CONTROL",a[a.DWG_TYPE_VX_TABLE_RECORD=71]="DWG_TYPE_VX_TABLE_RECORD",a[a.DWG_TYPE_GROUP=72]="DWG_TYPE_GROUP",a[a.DWG_TYPE_MLINESTYLE=73]="DWG_TYPE_MLINESTYLE",a[a.DWG_TYPE_OLE2FRAME=74]="DWG_TYPE_OLE2FRAME",a[a.DWG_TYPE_DUMMY=75]="DWG_TYPE_DUMMY",a[a.DWG_TYPE_LONG_TRANSACTION=76]="DWG_TYPE_LONG_TRANSACTION",a[a.DWG_TYPE_LWPOLYLINE=77]="DWG_TYPE_LWPOLYLINE",a[a.DWG_TYPE_HATCH=78]="DWG_TYPE_HATCH",a[a.DWG_TYPE_XRECORD=79]="DWG_TYPE_XRECORD",a[a.DWG_TYPE_PLACEHOLDER=80]="DWG_TYPE_PLACEHOLDER",a[a.DWG_TYPE_VBA_PROJECT=81]="DWG_TYPE_VBA_PROJECT",a[a.DWG_TYPE_LAYOUT=82]="DWG_TYPE_LAYOUT",a[a.DWG_TYPE_PROXY_ENTITY=498]="DWG_TYPE_PROXY_ENTITY",a[a.DWG_TYPE_PROXY_OBJECT=499]="DWG_TYPE_PROXY_OBJECT",a[a.DWG_TYPE_ACDSRECORD=500]="DWG_TYPE_ACDSRECORD",a[a.DWG_TYPE_ACDSSCHEMA=501]="DWG_TYPE_ACDSSCHEMA",a[a.DWG_TYPE_ACMECOMMANDHISTORY=502]="DWG_TYPE_ACMECOMMANDHISTORY",a[a.DWG_TYPE_ACMESCOPE=503]="DWG_TYPE_ACMESCOPE",a[a.DWG_TYPE_ACMESTATEMGR=504]="DWG_TYPE_ACMESTATEMGR",a[a.DWG_TYPE_ACSH_BOOLEAN_CLASS=505]="DWG_TYPE_ACSH_BOOLEAN_CLASS",a[a.DWG_TYPE_ACSH_BOX_CLASS=506]="DWG_TYPE_ACSH_BOX_CLASS",a[a.DWG_TYPE_ACSH_BREP_CLASS=507]="DWG_TYPE_ACSH_BREP_CLASS",a[a.DWG_TYPE_ACSH_CHAMFER_CLASS=508]="DWG_TYPE_ACSH_CHAMFER_CLASS",a[a.DWG_TYPE_ACSH_CONE_CLASS=509]="DWG_TYPE_ACSH_CONE_CLASS",a[a.DWG_TYPE_ACSH_CYLINDER_CLASS=510]="DWG_TYPE_ACSH_CYLINDER_CLASS",a[a.DWG_TYPE_ACSH_EXTRUSION_CLASS=511]="DWG_TYPE_ACSH_EXTRUSION_CLASS",a[a.DWG_TYPE_ACSH_FILLET_CLASS=512]="DWG_TYPE_ACSH_FILLET_CLASS",a[a.DWG_TYPE_ACSH_HISTORY_CLASS=513]="DWG_TYPE_ACSH_HISTORY_CLASS",a[a.DWG_TYPE_ACSH_LOFT_CLASS=514]="DWG_TYPE_ACSH_LOFT_CLASS",a[a.DWG_TYPE_ACSH_PYRAMID_CLASS=515]="DWG_TYPE_ACSH_PYRAMID_CLASS",a[a.DWG_TYPE_ACSH_REVOLVE_CLASS=516]="DWG_TYPE_ACSH_REVOLVE_CLASS",a[a.DWG_TYPE_ACSH_SPHERE_CLASS=517]="DWG_TYPE_ACSH_SPHERE_CLASS",a[a.DWG_TYPE_ACSH_SWEEP_CLASS=518]="DWG_TYPE_ACSH_SWEEP_CLASS",a[a.DWG_TYPE_ACSH_TORUS_CLASS=519]="DWG_TYPE_ACSH_TORUS_CLASS",a[a.DWG_TYPE_ACSH_WEDGE_CLASS=520]="DWG_TYPE_ACSH_WEDGE_CLASS",a[a.DWG_TYPE_ALDIMOBJECTCONTEXTDATA=521]="DWG_TYPE_ALDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_ALIGNMENTPARAMETERENTITY=522]="DWG_TYPE_ALIGNMENTPARAMETERENTITY",a[a.DWG_TYPE_ANGDIMOBJECTCONTEXTDATA=523]="DWG_TYPE_ANGDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA=524]="DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA",a[a.DWG_TYPE_ARCALIGNEDTEXT=525]="DWG_TYPE_ARCALIGNEDTEXT",a[a.DWG_TYPE_ARC_DIMENSION=526]="DWG_TYPE_ARC_DIMENSION",a[a.DWG_TYPE_ASSOC2DCONSTRAINTGROUP=527]="DWG_TYPE_ASSOC2DCONSTRAINTGROUP",a[a.DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY=528]="DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY",a[a.DWG_TYPE_ASSOCACTION=529]="DWG_TYPE_ASSOCACTION",a[a.DWG_TYPE_ASSOCACTIONPARAM=530]="DWG_TYPE_ASSOCACTIONPARAM",a[a.DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY=531]="DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYACTIONBODY=532]="DWG_TYPE_ASSOCARRAYACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY=533]="DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS=534]="DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYPATHPARAMETERS=535]="DWG_TYPE_ASSOCARRAYPATHPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYPOLARPARAMETERS=536]="DWG_TYPE_ASSOCARRAYPOLARPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS=537]="DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS",a[a.DWG_TYPE_ASSOCASMBODYACTIONPARAM=538]="DWG_TYPE_ASSOCASMBODYACTIONPARAM",a[a.DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY=539]="DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM=540]="DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM",a[a.DWG_TYPE_ASSOCDEPENDENCY=541]="DWG_TYPE_ASSOCDEPENDENCY",a[a.DWG_TYPE_ASSOCDIMDEPENDENCYBODY=542]="DWG_TYPE_ASSOCDIMDEPENDENCYBODY",a[a.DWG_TYPE_ASSOCEDGEACTIONPARAM=543]="DWG_TYPE_ASSOCEDGEACTIONPARAM",a[a.DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY=544]="DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY",a[a.DWG_TYPE_ASSOCEDGEFILLETACTIONBODY=545]="DWG_TYPE_ASSOCEDGEFILLETACTIONBODY",a[a.DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY=546]="DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY=547]="DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCFACEACTIONPARAM=548]="DWG_TYPE_ASSOCFACEACTIONPARAM",a[a.DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY=549]="DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCGEOMDEPENDENCY=550]="DWG_TYPE_ASSOCGEOMDEPENDENCY",a[a.DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY=551]="DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCMLEADERACTIONBODY=552]="DWG_TYPE_ASSOCMLEADERACTIONBODY",a[a.DWG_TYPE_ASSOCNETWORK=553]="DWG_TYPE_ASSOCNETWORK",a[a.DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY=554]="DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCOBJECTACTIONPARAM=555]="DWG_TYPE_ASSOCOBJECTACTIONPARAM",a[a.DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY=556]="DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCORDINATEDIMACTIONBODY=557]="DWG_TYPE_ASSOCORDINATEDIMACTIONBODY",a[a.DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM=558]="DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM",a[a.DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY=559]="DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCPATHACTIONPARAM=560]="DWG_TYPE_ASSOCPATHACTIONPARAM",a[a.DWG_TYPE_ASSOCPERSSUBENTMANAGER=561]="DWG_TYPE_ASSOCPERSSUBENTMANAGER",a[a.DWG_TYPE_ASSOCPLANESURFACEACTIONBODY=562]="DWG_TYPE_ASSOCPLANESURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCPOINTREFACTIONPARAM=563]="DWG_TYPE_ASSOCPOINTREFACTIONPARAM",a[a.DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY=564]="DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY",a[a.DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY=565]="DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCROTATEDDIMACTIONBODY=566]="DWG_TYPE_ASSOCROTATEDDIMACTIONBODY",a[a.DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY=567]="DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY=568]="DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCVALUEDEPENDENCY=569]="DWG_TYPE_ASSOCVALUEDEPENDENCY",a[a.DWG_TYPE_ASSOCVARIABLE=570]="DWG_TYPE_ASSOCVARIABLE",a[a.DWG_TYPE_ASSOCVERTEXACTIONPARAM=571]="DWG_TYPE_ASSOCVERTEXACTIONPARAM",a[a.DWG_TYPE_BASEPOINTPARAMETERENTITY=572]="DWG_TYPE_BASEPOINTPARAMETERENTITY",a[a.DWG_TYPE_BLKREFOBJECTCONTEXTDATA=573]="DWG_TYPE_BLKREFOBJECTCONTEXTDATA",a[a.DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER=574]="DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKALIGNMENTGRIP=575]="DWG_TYPE_BLOCKALIGNMENTGRIP",a[a.DWG_TYPE_BLOCKALIGNMENTPARAMETER=576]="DWG_TYPE_BLOCKALIGNMENTPARAMETER",a[a.DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER=577]="DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKARRAYACTION=578]="DWG_TYPE_BLOCKARRAYACTION",a[a.DWG_TYPE_BLOCKBASEPOINTPARAMETER=579]="DWG_TYPE_BLOCKBASEPOINTPARAMETER",a[a.DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER=580]="DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKFLIPACTION=581]="DWG_TYPE_BLOCKFLIPACTION",a[a.DWG_TYPE_BLOCKFLIPGRIP=582]="DWG_TYPE_BLOCKFLIPGRIP",a[a.DWG_TYPE_BLOCKFLIPPARAMETER=583]="DWG_TYPE_BLOCKFLIPPARAMETER",a[a.DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT=584]="DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT",a[a.DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER=585]="DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER=586]="DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKLINEARGRIP=587]="DWG_TYPE_BLOCKLINEARGRIP",a[a.DWG_TYPE_BLOCKLINEARPARAMETER=588]="DWG_TYPE_BLOCKLINEARPARAMETER",a[a.DWG_TYPE_BLOCKLOOKUPACTION=589]="DWG_TYPE_BLOCKLOOKUPACTION",a[a.DWG_TYPE_BLOCKLOOKUPGRIP=590]="DWG_TYPE_BLOCKLOOKUPGRIP",a[a.DWG_TYPE_BLOCKLOOKUPPARAMETER=591]="DWG_TYPE_BLOCKLOOKUPPARAMETER",a[a.DWG_TYPE_BLOCKMOVEACTION=592]="DWG_TYPE_BLOCKMOVEACTION",a[a.DWG_TYPE_BLOCKPARAMDEPENDENCYBODY=593]="DWG_TYPE_BLOCKPARAMDEPENDENCYBODY",a[a.DWG_TYPE_BLOCKPOINTPARAMETER=594]="DWG_TYPE_BLOCKPOINTPARAMETER",a[a.DWG_TYPE_BLOCKPOLARGRIP=595]="DWG_TYPE_BLOCKPOLARGRIP",a[a.DWG_TYPE_BLOCKPOLARPARAMETER=596]="DWG_TYPE_BLOCKPOLARPARAMETER",a[a.DWG_TYPE_BLOCKPOLARSTRETCHACTION=597]="DWG_TYPE_BLOCKPOLARSTRETCHACTION",a[a.DWG_TYPE_BLOCKPROPERTIESTABLE=598]="DWG_TYPE_BLOCKPROPERTIESTABLE",a[a.DWG_TYPE_BLOCKPROPERTIESTABLEGRIP=599]="DWG_TYPE_BLOCKPROPERTIESTABLEGRIP",a[a.DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER=600]="DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKREPRESENTATION=601]="DWG_TYPE_BLOCKREPRESENTATION",a[a.DWG_TYPE_BLOCKROTATEACTION=602]="DWG_TYPE_BLOCKROTATEACTION",a[a.DWG_TYPE_BLOCKROTATIONGRIP=603]="DWG_TYPE_BLOCKROTATIONGRIP",a[a.DWG_TYPE_BLOCKROTATIONPARAMETER=604]="DWG_TYPE_BLOCKROTATIONPARAMETER",a[a.DWG_TYPE_BLOCKSCALEACTION=605]="DWG_TYPE_BLOCKSCALEACTION",a[a.DWG_TYPE_BLOCKSTRETCHACTION=606]="DWG_TYPE_BLOCKSTRETCHACTION",a[a.DWG_TYPE_BLOCKUSERPARAMETER=607]="DWG_TYPE_BLOCKUSERPARAMETER",a[a.DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER=608]="DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKVISIBILITYGRIP=609]="DWG_TYPE_BLOCKVISIBILITYGRIP",a[a.DWG_TYPE_BLOCKVISIBILITYPARAMETER=610]="DWG_TYPE_BLOCKVISIBILITYPARAMETER",a[a.DWG_TYPE_BLOCKXYGRIP=611]="DWG_TYPE_BLOCKXYGRIP",a[a.DWG_TYPE_BLOCKXYPARAMETER=612]="DWG_TYPE_BLOCKXYPARAMETER",a[a.DWG_TYPE_CAMERA=613]="DWG_TYPE_CAMERA",a[a.DWG_TYPE_CELLSTYLEMAP=614]="DWG_TYPE_CELLSTYLEMAP",a[a.DWG_TYPE_CONTEXTDATAMANAGER=615]="DWG_TYPE_CONTEXTDATAMANAGER",a[a.DWG_TYPE_CSACDOCUMENTOPTIONS=616]="DWG_TYPE_CSACDOCUMENTOPTIONS",a[a.DWG_TYPE_CURVEPATH=617]="DWG_TYPE_CURVEPATH",a[a.DWG_TYPE_DATALINK=618]="DWG_TYPE_DATALINK",a[a.DWG_TYPE_DATATABLE=619]="DWG_TYPE_DATATABLE",a[a.DWG_TYPE_DBCOLOR=620]="DWG_TYPE_DBCOLOR",a[a.DWG_TYPE_DETAILVIEWSTYLE=621]="DWG_TYPE_DETAILVIEWSTYLE",a[a.DWG_TYPE_DGNDEFINITION=622]="DWG_TYPE_DGNDEFINITION",a[a.DWG_TYPE_DGNUNDERLAY=623]="DWG_TYPE_DGNUNDERLAY",a[a.DWG_TYPE_DICTIONARYVAR=624]="DWG_TYPE_DICTIONARYVAR",a[a.DWG_TYPE_DICTIONARYWDFLT=625]="DWG_TYPE_DICTIONARYWDFLT",a[a.DWG_TYPE_DIMASSOC=626]="DWG_TYPE_DIMASSOC",a[a.DWG_TYPE_DMDIMOBJECTCONTEXTDATA=627]="DWG_TYPE_DMDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_DWFDEFINITION=628]="DWG_TYPE_DWFDEFINITION",a[a.DWG_TYPE_DWFUNDERLAY=629]="DWG_TYPE_DWFUNDERLAY",a[a.DWG_TYPE_DYNAMICBLOCKPROXYNODE=630]="DWG_TYPE_DYNAMICBLOCKPROXYNODE",a[a.DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER=631]="DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER",a[a.DWG_TYPE_EVALUATION_GRAPH=632]="DWG_TYPE_EVALUATION_GRAPH",a[a.DWG_TYPE_EXTRUDEDSURFACE=633]="DWG_TYPE_EXTRUDEDSURFACE",a[a.DWG_TYPE_FCFOBJECTCONTEXTDATA=634]="DWG_TYPE_FCFOBJECTCONTEXTDATA",a[a.DWG_TYPE_FIELD=635]="DWG_TYPE_FIELD",a[a.DWG_TYPE_FIELDLIST=636]="DWG_TYPE_FIELDLIST",a[a.DWG_TYPE_FLIPPARAMETERENTITY=637]="DWG_TYPE_FLIPPARAMETERENTITY",a[a.DWG_TYPE_FLIPACTIONENTITY=638]="DWG_TYPE_FLIPACTIONENTITY",a[a.DWG_TYPE_GEODATA=639]="DWG_TYPE_GEODATA",a[a.DWG_TYPE_GEOMAPIMAGE=640]="DWG_TYPE_GEOMAPIMAGE",a[a.DWG_TYPE_GEOPOSITIONMARKER=641]="DWG_TYPE_GEOPOSITIONMARKER",a[a.DWG_TYPE_GRADIENT_BACKGROUND=642]="DWG_TYPE_GRADIENT_BACKGROUND",a[a.DWG_TYPE_GROUND_PLANE_BACKGROUND=643]="DWG_TYPE_GROUND_PLANE_BACKGROUND",a[a.DWG_TYPE_HELIX=644]="DWG_TYPE_HELIX",a[a.DWG_TYPE_IBL_BACKGROUND=645]="DWG_TYPE_IBL_BACKGROUND",a[a.DWG_TYPE_IDBUFFER=646]="DWG_TYPE_IDBUFFER",a[a.DWG_TYPE_IMAGE=647]="DWG_TYPE_IMAGE",a[a.DWG_TYPE_IMAGEDEF=648]="DWG_TYPE_IMAGEDEF",a[a.DWG_TYPE_IMAGEDEF_REACTOR=649]="DWG_TYPE_IMAGEDEF_REACTOR",a[a.DWG_TYPE_IMAGE_BACKGROUND=650]="DWG_TYPE_IMAGE_BACKGROUND",a[a.DWG_TYPE_INDEX=651]="DWG_TYPE_INDEX",a[a.DWG_TYPE_LARGE_RADIAL_DIMENSION=652]="DWG_TYPE_LARGE_RADIAL_DIMENSION",a[a.DWG_TYPE_LAYERFILTER=653]="DWG_TYPE_LAYERFILTER",a[a.DWG_TYPE_LAYER_INDEX=654]="DWG_TYPE_LAYER_INDEX",a[a.DWG_TYPE_LAYOUTPRINTCONFIG=655]="DWG_TYPE_LAYOUTPRINTCONFIG",a[a.DWG_TYPE_LEADEROBJECTCONTEXTDATA=656]="DWG_TYPE_LEADEROBJECTCONTEXTDATA",a[a.DWG_TYPE_LIGHT=657]="DWG_TYPE_LIGHT",a[a.DWG_TYPE_LIGHTLIST=658]="DWG_TYPE_LIGHTLIST",a[a.DWG_TYPE_LINEARPARAMETERENTITY=659]="DWG_TYPE_LINEARPARAMETERENTITY",a[a.DWG_TYPE_LOFTEDSURFACE=660]="DWG_TYPE_LOFTEDSURFACE",a[a.DWG_TYPE_MATERIAL=661]="DWG_TYPE_MATERIAL",a[a.DWG_TYPE_MENTALRAYRENDERSETTINGS=662]="DWG_TYPE_MENTALRAYRENDERSETTINGS",a[a.DWG_TYPE_MESH=663]="DWG_TYPE_MESH",a[a.DWG_TYPE_MLEADEROBJECTCONTEXTDATA=664]="DWG_TYPE_MLEADEROBJECTCONTEXTDATA",a[a.DWG_TYPE_MLEADERSTYLE=665]="DWG_TYPE_MLEADERSTYLE",a[a.DWG_TYPE_MOVEACTIONENTITY=666]="DWG_TYPE_MOVEACTIONENTITY",a[a.DWG_TYPE_MOTIONPATH=667]="DWG_TYPE_MOTIONPATH",a[a.DWG_TYPE_MPOLYGON=668]="DWG_TYPE_MPOLYGON",a[a.DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA=669]="DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA",a[a.DWG_TYPE_MTEXTOBJECTCONTEXTDATA=670]="DWG_TYPE_MTEXTOBJECTCONTEXTDATA",a[a.DWG_TYPE_MULTILEADER=671]="DWG_TYPE_MULTILEADER",a[a.DWG_TYPE_NAVISWORKSMODEL=672]="DWG_TYPE_NAVISWORKSMODEL",a[a.DWG_TYPE_NAVISWORKSMODELDEF=673]="DWG_TYPE_NAVISWORKSMODELDEF",a[a.DWG_TYPE_NPOCOLLECTION=674]="DWG_TYPE_NPOCOLLECTION",a[a.DWG_TYPE_NURBSURFACE=675]="DWG_TYPE_NURBSURFACE",a[a.DWG_TYPE_OBJECT_PTR=676]="DWG_TYPE_OBJECT_PTR",a[a.DWG_TYPE_ORDDIMOBJECTCONTEXTDATA=677]="DWG_TYPE_ORDDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_PARTIAL_VIEWING_INDEX=678]="DWG_TYPE_PARTIAL_VIEWING_INDEX",a[a.DWG_TYPE_PDFDEFINITION=679]="DWG_TYPE_PDFDEFINITION",a[a.DWG_TYPE_PDFUNDERLAY=680]="DWG_TYPE_PDFUNDERLAY",a[a.DWG_TYPE_PERSUBENTMGR=681]="DWG_TYPE_PERSUBENTMGR",a[a.DWG_TYPE_PLANESURFACE=682]="DWG_TYPE_PLANESURFACE",a[a.DWG_TYPE_PLOTSETTINGS=683]="DWG_TYPE_PLOTSETTINGS",a[a.DWG_TYPE_POINTCLOUD=684]="DWG_TYPE_POINTCLOUD",a[a.DWG_TYPE_POINTCLOUDCOLORMAP=685]="DWG_TYPE_POINTCLOUDCOLORMAP",a[a.DWG_TYPE_POINTCLOUDDEF=686]="DWG_TYPE_POINTCLOUDDEF",a[a.DWG_TYPE_POINTCLOUDDEFEX=687]="DWG_TYPE_POINTCLOUDDEFEX",a[a.DWG_TYPE_POINTCLOUDDEF_REACTOR=688]="DWG_TYPE_POINTCLOUDDEF_REACTOR",a[a.DWG_TYPE_POINTCLOUDDEF_REACTOR_EX=689]="DWG_TYPE_POINTCLOUDDEF_REACTOR_EX",a[a.DWG_TYPE_POINTCLOUDEX=690]="DWG_TYPE_POINTCLOUDEX",a[a.DWG_TYPE_POINTPARAMETERENTITY=691]="DWG_TYPE_POINTPARAMETERENTITY",a[a.DWG_TYPE_POINTPATH=692]="DWG_TYPE_POINTPATH",a[a.DWG_TYPE_POLARGRIPENTITY=693]="DWG_TYPE_POLARGRIPENTITY",a[a.DWG_TYPE_RADIMLGOBJECTCONTEXTDATA=694]="DWG_TYPE_RADIMLGOBJECTCONTEXTDATA",a[a.DWG_TYPE_RADIMOBJECTCONTEXTDATA=695]="DWG_TYPE_RADIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_RAPIDRTRENDERSETTINGS=696]="DWG_TYPE_RAPIDRTRENDERSETTINGS",a[a.DWG_TYPE_RASTERVARIABLES=697]="DWG_TYPE_RASTERVARIABLES",a[a.DWG_TYPE_RENDERENTRY=698]="DWG_TYPE_RENDERENTRY",a[a.DWG_TYPE_RENDERENVIRONMENT=699]="DWG_TYPE_RENDERENVIRONMENT",a[a.DWG_TYPE_RENDERGLOBAL=700]="DWG_TYPE_RENDERGLOBAL",a[a.DWG_TYPE_RENDERSETTINGS=701]="DWG_TYPE_RENDERSETTINGS",a[a.DWG_TYPE_REVOLVEDSURFACE=702]="DWG_TYPE_REVOLVEDSURFACE",a[a.DWG_TYPE_ROTATIONPARAMETERENTITY=703]="DWG_TYPE_ROTATIONPARAMETERENTITY",a[a.DWG_TYPE_ROTATEACTIONENTITY=704]="DWG_TYPE_ROTATEACTIONENTITY",a[a.DWG_TYPE_RTEXT=705]="DWG_TYPE_RTEXT",a[a.DWG_TYPE_SCALE=706]="DWG_TYPE_SCALE",a[a.DWG_TYPE_SCALEACTIONENTITY=707]="DWG_TYPE_SCALEACTIONENTITY",a[a.DWG_TYPE_SECTIONOBJECT=708]="DWG_TYPE_SECTIONOBJECT",a[a.DWG_TYPE_SECTIONVIEWSTYLE=709]="DWG_TYPE_SECTIONVIEWSTYLE",a[a.DWG_TYPE_SECTION_MANAGER=710]="DWG_TYPE_SECTION_MANAGER",a[a.DWG_TYPE_SECTION_SETTINGS=711]="DWG_TYPE_SECTION_SETTINGS",a[a.DWG_TYPE_SKYLIGHT_BACKGROUND=712]="DWG_TYPE_SKYLIGHT_BACKGROUND",a[a.DWG_TYPE_SOLID_BACKGROUND=713]="DWG_TYPE_SOLID_BACKGROUND",a[a.DWG_TYPE_SORTENTSTABLE=714]="DWG_TYPE_SORTENTSTABLE",a[a.DWG_TYPE_SPATIAL_FILTER=715]="DWG_TYPE_SPATIAL_FILTER",a[a.DWG_TYPE_SPATIAL_INDEX=716]="DWG_TYPE_SPATIAL_INDEX",a[a.DWG_TYPE_STRETCHACTIONENTITY=717]="DWG_TYPE_STRETCHACTIONENTITY",a[a.DWG_TYPE_SUN=718]="DWG_TYPE_SUN",a[a.DWG_TYPE_SUNSTUDY=719]="DWG_TYPE_SUNSTUDY",a[a.DWG_TYPE_SWEPTSURFACE=720]="DWG_TYPE_SWEPTSURFACE",a[a.DWG_TYPE_TABLE=721]="DWG_TYPE_TABLE",a[a.DWG_TYPE_TABLECONTENT=722]="DWG_TYPE_TABLECONTENT",a[a.DWG_TYPE_TABLEGEOMETRY=723]="DWG_TYPE_TABLEGEOMETRY",a[a.DWG_TYPE_TABLESTYLE=724]="DWG_TYPE_TABLESTYLE",a[a.DWG_TYPE_TEXTOBJECTCONTEXTDATA=725]="DWG_TYPE_TEXTOBJECTCONTEXTDATA",a[a.DWG_TYPE_TVDEVICEPROPERTIES=726]="DWG_TYPE_TVDEVICEPROPERTIES",a[a.DWG_TYPE_VISIBILITYGRIPENTITY=727]="DWG_TYPE_VISIBILITYGRIPENTITY",a[a.DWG_TYPE_VISIBILITYPARAMETERENTITY=728]="DWG_TYPE_VISIBILITYPARAMETERENTITY",a[a.DWG_TYPE_VISUALSTYLE=729]="DWG_TYPE_VISUALSTYLE",a[a.DWG_TYPE_WIPEOUT=730]="DWG_TYPE_WIPEOUT",a[a.DWG_TYPE_WIPEOUTVARIABLES=731]="DWG_TYPE_WIPEOUTVARIABLES",a[a.DWG_TYPE_XREFPANELOBJECT=732]="DWG_TYPE_XREFPANELOBJECT",a[a.DWG_TYPE_XYPARAMETERENTITY=733]="DWG_TYPE_XYPARAMETERENTITY",a[a.DWG_TYPE_BREAKDATA=734]="DWG_TYPE_BREAKDATA",a[a.DWG_TYPE_BREAKPOINTREF=735]="DWG_TYPE_BREAKPOINTREF",a[a.DWG_TYPE_FLIPGRIPENTITY=736]="DWG_TYPE_FLIPGRIPENTITY",a[a.DWG_TYPE_LINEARGRIPENTITY=737]="DWG_TYPE_LINEARGRIPENTITY",a[a.DWG_TYPE_ROTATIONGRIPENTITY=738]="DWG_TYPE_ROTATIONGRIPENTITY",a[a.DWG_TYPE_XYGRIPENTITY=739]="DWG_TYPE_XYGRIPENTITY",a[a.DWG_TYPE__3DLINE=740]="DWG_TYPE__3DLINE",a[a.DWG_TYPE_REPEAT=741]="DWG_TYPE_REPEAT",a[a.DWG_TYPE_ENDREP=742]="DWG_TYPE_ENDREP",a[a.DWG_TYPE_JUMP=743]="DWG_TYPE_JUMP",a[a.DWG_TYPE_LOAD=744]="DWG_TYPE_LOAD",a[a.DWG_TYPE_FREED=65533]="DWG_TYPE_FREED",a[a.DWG_TYPE_UNKNOWN_ENT=65534]="DWG_TYPE_UNKNOWN_ENT",a[a.DWG_TYPE_UNKNOWN_OBJ=65535]="DWG_TYPE_UNKNOWN_OBJ",a))(Y||{});Object.fromEntries(Object.entries(Y).map(([a,t])=>[t,a]));var Cn=(a=>(a[a.DWG=0]="DWG",a[a.DXF=1]="DXF",a))(Cn||{}),Fe=(a=>(a[a.Line=1]="Line",a[a.CircularArc=2]="CircularArc",a[a.EllipticArc=3]="EllipticArc",a[a.Spline=4]="Spline",a))(Fe||{}),ce=(a=>(a[a.ByLayer=192]="ByLayer",a[a.ByBlock=193]="ByBlock",a[a.Entities=194]="Entities",a[a.TrueColor=195]="TrueColor",a[a.ForegroundColor=197]="ForegroundColor",a[a.None=200]="None",a))(ce||{});const er=192,nr=193,ao=194,Pn=195,rr=200;function _r(a){if(a==null)return;const t=a.method,o=a.method!=null&&t!==0?t:a.rgb>>>24&255,n=a.index;if(a.rgb!=null&&o>=er&&o<=rr&&(a.rgb>>>24&255)===o)return a.rgb>>0;if(o===ce.ByLayer||n===256)return er<<24>>0;if(o===ce.ByBlock||n===0)return nr<<24>>0;if(o===ce.None)return rr<<24>>0;if(o===ce.TrueColor){const d=a.rgb!=null?a.rgb&16777215:void 0;if(d!=null)return(ao<<24|d)>>0}return o===ce.ForegroundColor?(Pn<<24|7)>>0:o===ce.Entities&&n>0&&n<256||n>0&&n<256?(Pn<<24|n&255)>>0:nr<<24>>0}const oo="*MODEL_SPACE",io="*PAPER_SPACE",dr=a=>a&&a.toUpperCase()==oo,so=a=>a&&a.toUpperCase().startsWith(io),pt=a=>a.toString(16).toUpperCase(),Ue=a=>{const t=new Array(a.length);for(let o=0;o<a.length;o++)t[o]=a[o].toString(16).toUpperCase().padStart(2,"0");return t.join("")},_o=a=>{if(!a||a.length<98)return null;const t=new DataView(a.buffer,a.byteOffset,a.byteLength),o=_=>({x:t.getFloat64(_,!0),y:t.getFloat64(_+8,!0),z:t.getFloat64(_+16,!0)}),n=o(2),d=o(50);return[n.x,n.y,n.z,d.x,d.y,d.z].every(Number.isFinite)?{upperLeft:n,lowerRight:d}:null};class lo{constructor(t){it(this,"libredwg"),it(this,"layers",new Map),it(this,"ltypes",new Map),it(this,"classes",[]),it(this,"unknownEntityCount"),this.libredwg=t,this.unknownEntityCount=0}prepare(t,o=!1){(o||this.layers.size==0)&&(this.layers.clear(),t.tables.LAYER.entries.forEach(n=>{this.layers.set(n.handle,n.name)})),(o||this.ltypes.size==0)&&(this.ltypes.clear(),t.tables.LTYPE.entries.forEach(n=>{this.ltypes.set(n.handle,n.name)})),this.classes=t.classes,this.unknownEntityCount=0}setClasses(t){this.classes=t}clear(){this.layers.clear(),this.ltypes.clear(),this.classes=[],this.unknownEntityCount=0}convert(t){const o=this.libredwg,n=o.dwg_object_to_entity(t),d=o.dwg_object_to_entity_tio(t);if(n&&d){const _=this.getCommonAttrs(n),E=o.dwg_object_get_fixedtype(t);if(E==Y.DWG_TYPE_3DFACE)return this.convert3dFace(d,_);if(E==Y.DWG_TYPE_3DSOLID)return this.convert3dSolid(d,_);if(E==Y.DWG_TYPE_ARC)return this.convertArc(d,_);if(E==Y.DWG_TYPE_ATTDEF)return this.convertAttdef(d,_);if(E==Y.DWG_TYPE_CIRCLE)return this.convertCircle(d,_);if(E==Y.DWG_TYPE_DIMENSION_ALIGNED||E==Y.DWG_TYPE_DIMENSION_LINEAR)return this.convertAlignedDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_ANG3PT)return this.convert3PointAngularDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_ANG2LN)return this.convert2LineAngularDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_DIAMETER)return this.convertDiameterDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_ORDINATE)return this.convertOrdinateDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_RADIUS)return this.convertRadiusDimension(d,_);if(E==Y.DWG_TYPE_ELLIPSE)return this.convertEllise(d,_);if(E==Y.DWG_TYPE_HATCH)return this.convertHatch(d,_);if(E==Y.DWG_TYPE_IMAGE)return this.convertImage(d,_);if(E==Y.DWG_TYPE_INSERT)return this.convertInsert(d,_);if(E==Y.DWG_TYPE_LEADER)return this.convertLeader(d,_);if(E==Y.DWG_TYPE_LINE)return this.convertLine(d,_);if(E==Y.DWG_TYPE_LWPOLYLINE)return this.convertLWPolyline(d,_);if(E==Y.DWG_TYPE_MLINE)return this.convertMLine(d,_);if(E==Y.DWG_TYPE_MULTILEADER)return this.convertMultiLeader(d,_);if(E==Y.DWG_TYPE_MTEXT)return this.convertMText(d,_);if(E==Y.DWG_TYPE_OLE2FRAME)return this.convertOle2Frame(d,_);if(E==Y.DWG_TYPE_OLEFRAME)return this.convertOleFrame(d,_);if(E==Y.DWG_TYPE_POINT)return this.convertPoint(d,_);if(E==Y.DWG_TYPE_POLYLINE_2D)return this.convertPolyline2d(d,_,t);if(E==Y.DWG_TYPE_POLYLINE_3D)return this.convertPolyline3d(d,_,t);if(E==Y.DWG_TYPE_PROXY_ENTITY)return this.convertProxyEntity(d,_,t);if(E==Y.DWG_TYPE_RAY)return this.convertRay(d,_);if(E==Y.DWG_TYPE_SECTIONOBJECT)return this.convertSection(d,_);if(E==Y.DWG_TYPE_SHAPE)return this.convertShape(d,_);if(E==Y.DWG_TYPE_SOLID)return this.convertSolid(d,_);if(E==Y.DWG_TYPE_SPLINE)return this.convertSpline(d,_);if(E==Y.DWG_TYPE_TABLE)return this.convertTable(d,_);if(E==Y.DWG_TYPE_TEXT)return this.convertText(d,_);if(E==Y.DWG_TYPE_TOLERANCE)return this.convertTolerance(d,_);if(E==Y.DWG_TYPE_VIEWPORT)return this.convertViewport(d,_);if(E==Y.DWG_TYPE_WIPEOUT)return this.convertWipeout(d,_);if(E==Y.DWG_TYPE_XLINE)return this.convertXline(d,_);E===Y.DWG_TYPE_UNKNOWN_ENT&&this.unknownEntityCount++}}convert3dFace(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),E=n.dwg_dynapi_entity_data(t,"corner3"),h=n.dwg_dynapi_entity_data(t,"corner4"),g=n.dwg_dynapi_entity_data(t,"invis_flags");return{type:"3DFACE",...o,corner1:d,corner2:_,corner3:E,corner4:h,flag:g}}convert3dSolid(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"version"),_=n.dwg_dynapi_entity_data(t,"acis_empty"),E=n.dwg_dynapi_entity_data(t,"acis_data"),h=n.dwg_dynapi_entity_data(t,"has_revision_guid"),g=n.dwg_dynapi_entity_data(t,"history_id"),A=n.dwg_ref_get_id(g),y={type:"3DSOLID",subclassMarker:"AcDb3dSolid",...o};if(d&&(y.version=d),y.satCache=_,E&&(y.data=E),h){const v=n.dwg_dynapi_entity_field_offset(t,"revision_guid");if(v>=0){const I=n.UTF8ToString(t+v,38);I&&(y.guid=I)}}return A&&(y.historyObjectSoftId=A),y}convertArc(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),E=n.dwg_dynapi_entity_data(t,"thickness"),h=n.dwg_dynapi_entity_data(t,"extrusion"),g=n.dwg_dynapi_entity_data(t,"start_angle"),A=n.dwg_dynapi_entity_data(t,"end_angle");return{type:"ARC",...o,thickness:E,center:d,radius:_,startAngle:g,endAngle:A,extrusionDirection:h}}convertEmbeddedMText(t,o){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,o,"attachment"),_=n.dwg_dynapi_subclass_data(t,o,"ins_pt"),E=n.dwg_dynapi_subclass_data(t,o,"x_axis_dir"),h=n.dwg_dynapi_subclass_data(t,o,"rect_height"),g=n.dwg_dynapi_subclass_data(t,o,"rect_width"),A=n.dwg_dynapi_subclass_data(t,o,"extents_height"),y=n.dwg_dynapi_subclass_data(t,o,"extents_width");return{insertionPoint:_,rectHeight:h,rectWidth:g,extentsHeight:A,extentsWidth:y,attachmentPoint:d,direction:E}}convertAttdef(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"default_value"),_=this.convertTextBase(t);_.text=d;const E=n.dwg_dynapi_entity_data(t,"prompt"),h=n.dwg_dynapi_entity_data(t,"tag"),g=n.dwg_dynapi_entity_data(t,"flags"),A=n.dwg_dynapi_entity_data(t,"field_length"),y=n.dwg_dynapi_entity_data(t,"lock_position_flag"),v=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),I=n.dwg_dynapi_entity_data(t,"is_really_locked"),p=n.dwg_dynapi_entity_data(t,"mtext_type"),w=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTDEF",...o,text:this.convertTextBase(t),prompt:E,tag:h,flags:g,fieldLength:A,lockPositionFlag:y>0,duplicateRecordCloningFlag:v>0,mtextFlag:p,isReallyLocked:I>0,alignmentPoint:w,annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertAttrib(t,o){const n=this.libredwg,d=this.convertTextBase(t),_=n.dwg_dynapi_entity_data(t,"tag"),E=n.dwg_dynapi_entity_data(t,"flags"),h=n.dwg_dynapi_entity_data(t,"field_length"),g=n.dwg_dynapi_entity_data(t,"lock_position_flag"),A=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),y=n.dwg_dynapi_entity_data(t,"mtext_type"),v=n.dwg_dynapi_entity_data(t,"is_really_locked"),I=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTRIB",...o,text:d,tag:_,flags:E,fieldLength:h,lockPositionFlag:!!g,duplicateRecordCloningFlag:!!A,mtextFlag:y,isReallyLocked:!!v,numberOfSecondaryAttrs:0,secondaryAttrsHardId:"0",alignmentPoint:{...I,z:0},annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertCircle(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),E=n.dwg_dynapi_entity_data(t,"thickness"),h=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"CIRCLE",...o,thickness:E,center:d,radius:_,extrusionDirection:h}}convertAlignedDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"clone_ins_pt"),E=n.dwg_dynapi_entity_data(t,"xline1_pt"),h=n.dwg_dynapi_entity_data(t,"xline2_pt"),g=n.dwg_dynapi_entity_data(t,"ins_rotation"),A=n.dwg_dynapi_entity_data(t,"oblique_angle");return{subclassMarker:"AcDbAlignedDimension",...o,...d,insertionPoint:_,subDefinitionPoint1:E,subDefinitionPoint2:h,rotationAngle:g??0,obliqueAngle:A}}convert3PointAngularDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1_pt"),E=n.dwg_dynapi_entity_data(t,"xline2_pt"),h=n.dwg_dynapi_entity_data(t,"center_pt"),g=n.dwg_dynapi_entity_data(t,"xline2end_pt");return{subclassMarker:"AcDb3PointAngularDimension",...o,...d,subDefinitionPoint1:_,subDefinitionPoint2:E,centerPoint:h,arcPoint:g}}convert2LineAngularDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1start_pt"),E=n.dwg_dynapi_entity_data(t,"xline1end_pt"),h=n.dwg_dynapi_entity_data(t,"xline2start_pt"),g=n.dwg_dynapi_entity_data(t,"xline2end_pt"),A=n.dwg_dynapi_entity_data(t,"def_pt");return g&&(d.definitionPoint=g),{subclassMarker:"AcDb2LineAngularDimension",...o,...d,subDefinitionPoint1:_??E??A??g,subDefinitionPoint2:h??g??A??E,centerPoint:A??h??E??g,arcPoint:g??d.definitionPoint}}convertDiameterDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),E=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbDiametricDimension",...o,...d,centerPoint:_,leaderLength:E}}convertOrdinateDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"feature_location_pt"),E=n.dwg_dynapi_entity_data(t,"leader_endpt");return{subclassMarker:"AcDbOrdinateDimension",...o,...d,subDefinitionPoint1:_,subDefinitionPoint2:E}}convertRadiusDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),E=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbRadialDimension",...o,...d,centerPoint:_,leaderLength:E}}convertEllise(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"sm_axis"),E=n.dwg_dynapi_entity_data(t,"extrusion"),h=n.dwg_dynapi_entity_data(t,"axis_ratio"),g=n.dwg_dynapi_entity_data(t,"start_angle"),A=n.dwg_dynapi_entity_data(t,"end_angle");return{type:"ELLIPSE",...o,center:d,majorAxisEndPoint:_,extrusionDirection:E,axisRatio:h,startAngle:g,endAngle:A}}convertHatch(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"extrusion"),_=n.dwg_dynapi_entity_data(t,"name"),E=n.dwg_dynapi_entity_data(t,"is_solid_fill"),h=n.dwg_dynapi_entity_data(t,"is_associative"),g=n.dwg_dynapi_entity_data(t,"num_paths"),A=n.dwg_dynapi_entity_data(t,"paths"),y=n.dwg_ptr_to_hatch_path_array(A,g),v=n.dwg_dynapi_entity_data(t,"style"),I=n.dwg_dynapi_entity_data(t,"pattern_type"),p=n.dwg_dynapi_entity_data(t,"angle"),w=n.dwg_dynapi_entity_data(t,"scale_spacing"),C=n.dwg_dynapi_entity_data(t,"num_deflines"),m=n.dwg_dynapi_entity_data(t,"deflines"),L=n.dwg_ptr_to_hatch_defline_array(m,C),N=n.dwg_dynapi_entity_data(t,"pixel_size"),W=n.dwg_dynapi_entity_data(t,"num_seeds"),B=n.dwg_dynapi_entity_data(t,"seeds"),F=n.dwg_ptr_to_point2d_array(B,W),H={...o,extrusionDirection:d,patternName:_,solidFill:E?In.SolidFill:In.PatternFill,associativity:h?pn.Associative:pn.NonAssociative,numberOfBoundaryPaths:g,boundaryPaths:this.convertHatchBoundaryPaths(y),hatchStyle:v,patternType:I,patternAngle:p,patternScale:w,numberOfDefinitionLines:C,definitionLines:L.map(tt=>({angle:tt.angle,base:tt.pt0,offset:tt.offset,numberOfDashLengths:tt.dashes.length,dashLengths:tt.dashes})),pixelSize:N,numberOfSeedPoints:W,seedPoints:F};if(n.dwg_dynapi_entity_data(t,"is_gradient_fill")>0){const tt=n.dwg_dynapi_entity_data(t,"gradient_name"),ft=n.dwg_dynapi_entity_data(t,"gradient_angle"),Z=n.dwg_dynapi_entity_data(t,"gradient_shift"),Et=n.dwg_dynapi_entity_data(t,"gradient_tint"),ut=n.dwg_dynapi_entity_data(t,"single_color_gradient"),ht=n.dwg_dynapi_entity_data(t,"colors"),mt=n.dwg_ptr_to_hatch_gradient_color_array(ht,ut==1?1:2);return{type:"HATCH",...H,gradientFlag:or.Gradient,gradientColorFlag:ut==1?vn.OneColor:vn.TwoColor,gradientName:tt,gradientRotation:ft,gradientDefinition:Z,colorTint:Et,gradientColors:mt}}else return{type:"HATCH",...H}}convertHatchBoundaryPaths(t){return t.filter(n=>n.num_segs_or_paths>0).map(n=>{const d={boundaryPathTypeFlag:n.flag};if(n.flag&2)return{...d,hasBulge:n.bulges_present,isClosed:n.closed,numberOfVertices:n.num_segs_or_paths,vertices:n.polyline_paths.map(_=>({x:_.point.x,y:_.point.y,bulge:_.bulge}))};{const _=n.segs.map(E=>{if(E.curve_type==Fe.Line)return{type:Be.Line,start:E.first_endpoint,end:E.second_endpoint};if(E.curve_type==Fe.CircularArc)return{type:Be.Circular,center:E.center,radius:E.radius,startAngle:E.start_angle,endAngle:E.end_angle,isCCW:E.is_ccw};if(E.curve_type==Fe.EllipticArc)return{type:Be.Elliptic,center:E.center,end:E.endpoint,lengthOfMinorAxis:E.minor_major_ratio,startAngle:E.start_angle,endAngle:E.end_angle,isCCW:E.is_ccw};if(E.curve_type==Fe.Spline)return{type:Be.Spline,degree:E.degree,isRational:E.is_rational,isPeriodic:E.is_periodic,numberOfKnots:E.num_knots,numberOfControlPoints:E.num_control_points,knots:E.knots,controlPoints:E.control_points,numberOfFitData:E.num_fitpts,fitDatum:E.fitpts,startTangent:E.start_tangent,endTangent:E.end_tangent}});return{...d,numberOfEdges:n.num_segs_or_paths,edges:_}}})}convertImage(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),E=n.dwg_dynapi_entity_data(t,"uvec"),h=n.dwg_dynapi_entity_data(t,"vvec"),g=n.dwg_dynapi_entity_data(t,"image_size"),A=n.dwg_dynapi_entity_data(t,"display_props"),y=n.dwg_dynapi_entity_data(t,"clipping"),v=n.dwg_dynapi_entity_data(t,"brightness"),I=n.dwg_dynapi_entity_data(t,"contrast"),p=n.dwg_dynapi_entity_data(t,"fade"),w=n.dwg_dynapi_entity_data(t,"clip_mode"),C=n.dwg_dynapi_entity_data(t,"clip_boundary_type"),m=n.dwg_dynapi_entity_data(t,"num_clip_verts"),L=n.dwg_dynapi_entity_data(t,"clip_verts"),N=n.dwg_ptr_to_point3d_array(L,m),W=n.dwg_dynapi_entity_data(t,"imagedef"),B=n.dwg_ref_get_id(W)??"",F=n.dwg_dynapi_entity_data(t,"imagedefreactor"),H=n.dwg_ref_get_id(F)??"";return{type:"IMAGE",...o,version:d,position:_,uPixel:E,vPixel:h,imageSize:g,imageDefHandle:B,flags:A,clipping:y,brightness:v,contrast:I,fade:p,imageDefReactorHandle:H,clippingBoundaryType:C,countBoundaryPoints:m,clippingBoundaryPath:N,clipMode:w}}convertInsert(t,o){const n=this.libredwg;let d="";const _=n.dwg_dynapi_entity_data(t,"block_header");if(_){const m=n.dwg_ref_get_object(_);if(m){const L=n.dwg_object_to_object_tio(m);L&&(d=n.dwg_entity_block_header_get_block(L).name)}}d||(d=n.dwg_dynapi_entity_data(t,"block_name"));const E=n.dwg_dynapi_entity_data(t,"ins_pt"),h=n.dwg_dynapi_entity_data(t,"scale"),g=n.dwg_dynapi_entity_data(t,"rotation"),A=n.dwg_dynapi_entity_data(t,"num_cols"),y=n.dwg_dynapi_entity_data(t,"num_rows"),v=n.dwg_dynapi_entity_data(t,"col_spacing"),I=n.dwg_dynapi_entity_data(t,"row_spacing"),p=n.dwg_dynapi_entity_data(t,"extrusion"),w=n.dwg_entity_insert_get_attribs(t),C=[];return w.forEach(m=>{const L=n.dwg_object_to_entity(m),N=n.dwg_object_to_entity_tio(m);if(L&&N){const W=this.getCommonAttrs(L);n.dwg_object_get_fixedtype(m)==Y.DWG_TYPE_ATTRIB&&C.push(this.convertAttrib(N,W))}}),{type:"INSERT",...o,name:d,insertionPoint:E,xScale:h?h.x:1,yScale:h?h.y:1,zScale:h?h.z:1,rotation:g,columnCount:A,rowCount:y,columnSpacing:v,rowSpacing:I,extrusionDirection:p,attribs:C}}convertLeader(t,o){const n=this.libredwg,d=n.dwg_entity_mtext_get_style_name(t),_=n.dwg_dynapi_entity_data(t,"arrowhead_type"),E=n.dwg_dynapi_entity_data(t,"path_type"),h=n.dwg_dynapi_entity_data(t,"annot_type"),g=n.dwg_dynapi_entity_data(t,"hookline_dir"),A=n.dwg_dynapi_entity_data(t,"hookline_on"),y=n.dwg_dynapi_entity_data(t,"box_height"),v=n.dwg_dynapi_entity_data(t,"box_width"),I=n.dwg_dynapi_entity_data(t,"num_points"),p=n.dwg_dynapi_entity_data(t,"points"),w=I>0?n.dwg_ptr_to_point3d_array(p,I):[],C=n.dwg_dynapi_entity_data(t,"byblock_color"),m=n.dwg_dynapi_entity_data(t,"extrusion"),L=n.dwg_dynapi_entity_data(t,"x_direction"),N=n.dwg_dynapi_entity_data(t,"inspt_offset"),W=n.dwg_dynapi_entity_data(t,"endptproj");return{type:"LEADER",...o,styleName:d,isArrowheadEnabled:_>0,isSpline:E>0,leaderCreationFlag:h,isHooklineSameDirection:g>0,isHooklineExists:A>0,textHeight:y,textWidth:v,numberOfVertices:I,vertices:w,byBlockColor:C,normal:m,horizontalDirection:L,offsetFromBlock:N,offsetFromAnnotation:W}}convertLine(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"start"),_=n.dwg_dynapi_entity_data(t,"end"),E=n.dwg_dynapi_entity_data(t,"thickness"),h=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"LINE",...o,thickness:E,startPoint:d,endPoint:_,extrusionDirection:h}}convertLWPolyline(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"num_points"),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"const_width"),h=n.dwg_dynapi_entity_data(t,"elevation"),g=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion"),y=[],v=n.dwg_dynapi_entity_data(t,"num_points"),I=n.dwg_dynapi_entity_data(t,"points"),p=n.dwg_ptr_to_point2d_array(I,v),w=n.dwg_dynapi_entity_data(t,"num_bulges"),C=n.dwg_dynapi_entity_data(t,"bulges"),m=n.dwg_ptr_to_double_array(C,w);return p.forEach((L,N)=>{y.push({id:N,x:L.x,y:L.y,bulge:m.length>N?m[N]:0})}),{type:"LWPOLYLINE",...o,numberOfVertices:d,flag:_,constantWidth:E,elevation:h,thickness:g,extrusionDirection:A,vertices:y}}convertMLine(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"scale"),_=n.dwg_dynapi_entity_data(t,"flags"),E=n.dwg_dynapi_entity_data(t,"justification"),h=n.dwg_dynapi_entity_data(t,"base_point"),g=n.dwg_dynapi_entity_data(t,"extrusion"),A=n.dwg_dynapi_entity_data(t,"num_lines"),y=n.dwg_dynapi_entity_data(t,"num_verts"),v=n.dwg_dynapi_entity_data(t,"verts"),I=n.dwg_ptr_to_mline_vertex_array(v,y),p=[];return I.forEach(w=>{p.push({vertex:w.vertex,vertexDirection:w.vertex_direction,miterDirection:w.miter_direction,numberOfLines:w.num_lines,lines:w.lines.map(C=>({numberOfSegmentParams:C.num_segparms,segmentParams:C.segparms,numberOfAreaFillParams:C.num_areafillparms,areaFillParams:C.areafillparms}))})}),{type:"MLINE",...o,scale:d,flags:_,justification:E,startPoint:h,extrusionDirection:g,numberOfLines:A,numberOfVertices:y,vertices:p,mlineStyle:""}}convertMultiLeader(t,o){const n=this.libredwg,d=K=>n.dwg_dynapi_entity_data(t,K),_=(K,Q,zt)=>n.dwg_dynapi_subclass_data(K,Q,zt),E=K=>n.dwg_ref_get_id(K),h=K=>K>0,g=K=>K!=null?_r(K):void 0,A=d("class_version"),y=E(d("mleaderstyle")),v=d("flags"),I=d("type"),p=g(d("line_color")),w=E(d("line_ltype")),C=d("line_linewt"),m=h(d("has_landing")),L=h(d("has_dogleg")),N=d("landing_dist"),W=E(d("arrow_handle")),B=d("arrow_size"),F=d("style_content"),H=E(d("text_style")),J=d("text_left"),tt=d("text_right"),ft=d("text_angletype"),Z=d("text_alignment"),Et=g(d("text_color")),ut=h(d("has_text_frame")),ht=E(d("block_style")),mt=g(d("block_color")),Gt=d("block_scale"),Wt=d("block_rotation"),Mt=d("style_attachment"),bt=h(d("is_annotative")),dt=h(d("is_neg_textdir")),x=d("ipe_alignment");let j=d("justification");const z=d("attach_dir"),xt=d("attach_bottom"),kt=d("attach_top"),gt=d("scale_factor"),k=d("num_arrowheads"),Ft=d("arrowheads"),lt=n.dwg_dynapi_subclass_size("LEADER_ArrowHead"),wt=[];for(let K=0;K<k;K++){const Q=Ft+K*lt;wt.push({index:_(Q,"LEADER_ArrowHead","is_default"),handle:E(_(Q,"LEADER_ArrowHead","arrowhead"))??""})}const Ut=d("num_blocklabels"),te=d("blocklabels"),Ee=n.dwg_dynapi_subclass_size("LEADER_BlockLabel"),ee=[];for(let K=0;K<Ut;K++){const Q=te+K*Ee;ee.push({id:E(_(Q,"LEADER_BlockLabel","attdef")),index:_(Q,"LEADER_BlockLabel","ui_index"),width:_(Q,"LEADER_BlockLabel","width"),text:_(Q,"LEADER_BlockLabel","label_text")})}const et=t+n.dwg_dynapi_entity_field_offset(t,"ctx"),V=et+n.dwg_dynapi_subclass_field_offset("MLEADER_AnnotContext","content"),Ce=_(et,"MLEADER_AnnotContext","scale_factor"),De=_(et,"MLEADER_AnnotContext","content_base"),we=_(et,"MLEADER_AnnotContext","landing_gap"),Re=_(et,"MLEADER_AnnotContext","attach_dir"),ue=_(et,"MLEADER_AnnotContext","text_height"),Se=_(et,"MLEADER_AnnotContext","arrow_size"),$t=_(et,"MLEADER_AnnotContext","text_left"),Rt=_(et,"MLEADER_AnnotContext","text_right"),X=_(et,"MLEADER_AnnotContext","text_angletype"),Le=_(et,"MLEADER_AnnotContext","text_alignment"),Vt=h(_(et,"MLEADER_AnnotContext","has_content_txt")),Ct=h(_(et,"MLEADER_AnnotContext","has_content_blk")),fe=_(et,"MLEADER_AnnotContext","base"),he=_(et,"MLEADER_AnnotContext","base_dir"),St=_(et,"MLEADER_AnnotContext","base_vert"),ne=h(_(et,"MLEADER_AnnotContext","is_normal_reversed"));let Lt,re,Ht,ge,At,ae,b,Ae,oe,Xt,Te,Pe,Tt,Yt,ye,Ie,ie,pe,se,$e,l;if(Vt){const K=_(V,"MLEADER_Content_MText","alignment");K!=null&&K!==0&&(j=K),re=_(V,"MLEADER_Content_MText","normal"),b=_(V,"MLEADER_Content_MText","location"),Ht=_(V,"MLEADER_Content_MText","rotation"),Ae=_(V,"MLEADER_Content_MText","direction"),ge=_(V,"MLEADER_Content_MText","width"),At=_(V,"MLEADER_Content_MText","line_spacing_factor"),ae=_(V,"MLEADER_Content_MText","line_spacing_style"),Lt=_(V,"MLEADER_Content_MText","flow"),oe=g(_(V,"MLEADER_Content_MText","bg_color")),Xt=_(V,"MLEADER_Content_MText","bg_scale"),Te=_(V,"MLEADER_Content_MText","bg_transparency"),Tt=h(_(V,"MLEADER_Content_MText","is_bg_fill")),Pe=h(_(V,"MLEADER_Content_MText","is_bg_mask_fill")),Yt=_(V,"MLEADER_Content_MText","col_type"),ye=h(_(V,"MLEADER_Content_MText","is_height_auto")),Ie=_(V,"MLEADER_Content_MText","col_width"),ie=_(V,"MLEADER_Content_MText","col_gutter"),pe=h(_(V,"MLEADER_Content_MText","is_col_flow_reversed"));const Q=_(V,"MLEADER_Content_MText","num_col_sizes"),zt=_(V,"MLEADER_Content_MText","col_sizes");Q>0&&(se=n.dwg_ptr_to_double_array(zt,Q)[0]),$e=h(_(V,"MLEADER_Content_MText","word_break")),l=_(V,"MLEADER_Content_MText","default_text")}let Kt;if(Ct){const K=_(V,"MLEADER_Content_Block","transform");Kt={blockContentId:E(_(V,"MLEADER_Content_Block","block_table")),normal:_(V,"MLEADER_Content_Block","normal"),position:_(V,"MLEADER_Content_Block","location"),scale:_(V,"MLEADER_Content_Block","scale"),rotation:_(V,"MLEADER_Content_Block","rotation"),color:g(_(V,"MLEADER_Content_Block","color")),transformationMatrix:K?n.dwg_ptr_to_double_array(K,16):void 0}}const q=_(et,"MLEADER_AnnotContext","num_leaders"),sn=_(et,"MLEADER_AnnotContext","leaders"),_n=n.dwg_dynapi_subclass_size("LEADER_Node"),dn=n.dwg_dynapi_subclass_size("LEADER_Line"),Ve=n.dwg_dynapi_subclass_size("LEADER_Break"),Ye=[];for(let K=0;K<q;K++){const Q=sn+K*_n,zt=h(_(Q,"LEADER_Node","has_lastleaderlinepoint")),st=h(_(Q,"LEADER_Node","has_dogleg")),Jt=_(Q,"LEADER_Node","num_breaks"),Ot=_(Q,"LEADER_Node","breaks"),Zt=[];for(let at=0;at<Jt;at++){const Dt=Ot+at*Ve;Zt.push({start:_(Dt,"LEADER_Break","start"),end:_(Dt,"LEADER_Break","end")})}const ve=_(Q,"LEADER_Node","num_lines"),U=_(Q,"LEADER_Node","lines"),He=[];for(let at=0;at<ve;at++){const Dt=U+at*dn,Xe=_(Dt,"LEADER_Line","num_points"),ln=_(Dt,"LEADER_Line","points"),cn=Xe>0?n.dwg_ptr_to_point3d_array(ln,Xe):[],Ne=_(Dt,"LEADER_Line","num_breaks"),Ge=_(Dt,"LEADER_Line","breaks"),me=[];for(let We=0;We<Ne;We++){const Me=Ge+We*Ve;me.push({start:_(Me,"LEADER_Break","start"),end:_(Me,"LEADER_Break","end")})}He.push({vertices:cn,leaderLineIndex:_(Dt,"LEADER_Line","line_index"),breaks:me.length>0?me:void 0})}Ye.push({lastLeaderLinePoint:zt?_(Q,"LEADER_Node","lastleaderlinepoint"):void 0,lastLeaderLinePointSet:zt,doglegVector:st?_(Q,"LEADER_Node","dogleg_vector"):void 0,doglegVectorSet:st,doglegLength:_(Q,"LEADER_Node","dogleg_length"),breaks:Zt.length>0?Zt:void 0,leaderBranchIndex:_(Q,"LEADER_Node","branch_index"),leaderLines:He})}return{type:"MULTILEADER",...o,subclassMarker:"AcDbMLeader",version:A,leaderStyleId:y,propertyOverrideFlag:v,leaderLineType:I,leaderLineColor:p,leaderLineTypeId:w,leaderLineWeight:C,landingEnabled:m,doglegEnabled:L,doglegLength:N,arrowheadId:W,arrowheadSize:B||Se,contentType:F,textStyleId:H,textLeftAttachmentType:J||$t,textRightAttachmentType:tt||Rt,textAngleType:ft||X,textAlignmentType:Z||Le,textColor:Et,textFrameEnabled:ut,landingGap:we,textAttachment:Re,textFlowDirection:Lt,blockContentId:ht,blockContentColor:mt,blockContentScale:Gt,blockContentRotation:Wt,blockContentConnectionType:Mt,annotativeScaleEnabled:bt,arrowheadOverrides:wt.length>0?wt:void 0,blockAttributes:ee.length>0?ee:void 0,textDirectionNegative:dt,textAlignInIPE:x,textAttachmentPoint:j,textAttachmentDirection:z,bottomTextAttachmentDirection:xt,topTextAttachmentDirection:kt,contentScale:gt||Ce,contentBasePosition:De,normal:re,textHeight:ue,textRotation:Ht,textWidth:ge,textLineSpacingFactor:At,textLineSpacingStyle:ae,textAnchor:b,textDirection:Ae,textBackgroundColor:oe,textBackgroundScaleFactor:Xt,textBackgroundTransparency:Te,textBackgroundColorOn:Pe,textFillOn:Tt,textColumnType:Yt,textUseAutoHeight:ye,textColumnWidth:Ie,textColumnGutterWidth:ie,textColumnFlowReversed:pe,textColumnHeight:se,textUseWordBreak:$e,textContent:l,hasMText:Vt,hasBlock:Ct,blockContent:Kt,planeOrigin:fe,planeXAxisDirection:he,planeYAxisDirection:St,planeNormalReversed:ne,leaderSections:Ye.length>0?Ye:void 0}}convertOle2Frame(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"oleversion"),_=n.dwg_dynapi_entity_data(t,"oleclient"),E=n.dwg_dynapi_entity_data(t,"data_size");let h=n.dwg_dynapi_entity_data(t,"pt1"),g=n.dwg_dynapi_entity_data(t,"pt2");const A=n.dwg_dynapi_entity_data(t,"lock_aspect"),y=n.dwg_dynapi_entity_data(t,"type"),v=n.dwg_dynapi_entity_data(t,"mode"),I=n.dwg_entity_ole2frame_get_data(t),p=I?Ue(I):"";if(I){const w=_o(I);w&&(h=w.upperLeft,g=w.lowerRight)}return{type:"OLE2FRAME",...o,oleVersion:d,oleClient:_,dataSize:E,leftUpPoint:h,rightDownPoint:g,lockAspect:A,oleObjectType:y,tileModeDescriptor:v,binaryData:p}}convertOleFrame(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"flag"),_=n.dwg_dynapi_entity_data(t,"mode"),E=n.dwg_dynapi_entity_data(t,"data_size"),h=n.dwg_entity_oleframe_get_data(t),g=h?Ue(h):"";return{type:"OLEFRAME",...o,flag:d,mode:_,dataSize:E,binaryData:g}}convertMText(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_height"),E=n.dwg_dynapi_entity_data(t,"rect_height"),h=n.dwg_dynapi_entity_data(t,"rect_width"),g=n.dwg_dynapi_entity_data(t,"extents_width"),A=n.dwg_dynapi_entity_data(t,"extents_height"),y=n.dwg_dynapi_entity_data(t,"attachment"),v=n.dwg_dynapi_entity_data(t,"flow_dir"),I=n.dwg_dynapi_entity_data(t,"text"),p=n.dwg_entity_mtext_get_style_name(t),w=n.dwg_dynapi_entity_data(t,"extrusion"),C=n.dwg_dynapi_entity_data(t,"x_axis_dir"),m=n.dwg_dynapi_entity_data(t,"linespace_style"),L=n.dwg_dynapi_entity_data(t,"linespace_factor"),N=n.dwg_dynapi_entity_data(t,"bg_fill_flag"),W=n.dwg_dynapi_entity_data(t,"bg_fill_scale"),B=n.dwg_dynapi_entity_data(t,"bg_fill_color"),F=n.dwg_dynapi_entity_data(t,"bg_fill_trans"),H=n.dwg_dynapi_entity_data(t,"column_type"),J=n.dwg_dynapi_entity_data(t,"flow_reversed"),tt=n.dwg_dynapi_entity_data(t,"auto_height"),ft=n.dwg_dynapi_entity_data(t,"column_width"),Z=n.dwg_dynapi_entity_data(t,"gutter"),Et=n.dwg_dynapi_entity_data(t,"num_column_heights"),ut=n.dwg_dynapi_entity_data(t,"column_heights"),ht=n.dwg_ptr_to_double_array(ut,Et);return{type:"MTEXT",...o,insertionPoint:d,textHeight:_,rectHeight:E,rectWidth:h,extentsHeight:A,extentsWidth:g,attachmentPoint:y,drawingDirection:v,text:I,styleName:p,extrusionDirection:w,direction:C,rotation:0,lineSpacingStyle:m,lineSpacing:L,backgroundFill:N,fillBoxScale:W,backgroundFillColor:B.rgb,backgroundFillTransparency:F,columnType:H,columnFlowReversed:J,columnAutoHeight:tt,columnWidth:ft,columnGutter:Z,columnHeightCount:Et,columnHeights:ht}}convertPoint(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"x"),_=n.dwg_dynapi_entity_data(t,"y"),E=n.dwg_dynapi_entity_data(t,"z"),h=n.dwg_dynapi_entity_data(t,"thickness"),g=n.dwg_dynapi_entity_data(t,"extrusion"),A=n.dwg_dynapi_entity_data(t,"x_ang");return{type:"POINT",...o,position:{x:d,y:_,z:E},thickness:h,extrusionDirection:g,angle:A}}convertPolyline2d(t,o,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),E=d.dwg_dynapi_entity_data(t,"curve_type"),h=d.dwg_dynapi_entity_data(t,"start_width"),g=d.dwg_dynapi_entity_data(t,"end_width"),A=d.dwg_dynapi_entity_data(t,"elevation"),y=d.dwg_dynapi_entity_data(t,"thickness"),v=d.dwg_dynapi_entity_data(t,"extrusion"),I=d.dwg_entity_polyline_2d_get_vertices(n);return{type:"POLYLINE2D",...o,flag:_,smoothType:E,startWidth:h,endWidth:g,elevation:A,thickness:y,extrusionDirection:v,vertices:I.map(p=>({x:p.point.x,y:p.point.y,z:p.point.z,startWidth:p.start_width,endWidth:p.end_width,bulge:p.bulge,flag:p.flag,tangentDirection:p.tangent_dir})),meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0}}convertPolyline3d(t,o,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),E=d.dwg_dynapi_entity_data(t,"curve_type"),h=d.dwg_dynapi_entity_data(t,"start_width"),g=d.dwg_dynapi_entity_data(t,"end_width"),A=d.dwg_dynapi_entity_data(t,"extrusion"),y=d.dwg_entity_polyline_3d_get_vertices(n);return{type:"POLYLINE3D",...o,flag:_,smoothType:E,startWidth:h,endWidth:g,extrusionDirection:A,vertices:y.map(v=>({x:v.point.x,y:v.point.y,z:v.point.z,flag:v.flag}))}}convertProxyEntity(t,o,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"proxy_id"),E=d.dwg_dynapi_entity_data(t,"class_id"),h=d.dwg_dynapi_entity_data(t,"data_numbits"),g=d.dwg_dynapi_entity_data(t,"version"),A=d.dwg_dynapi_entity_data(t,"from_dxf"),y=d.dwg_dynapi_entity_data(t,"num_objids"),v=d.dwg_entity_get_preview(n),I=(v==null?void 0:v.length)??0,p=d.dwg_entity_proxy_entity_get_entity_data(t),w=v?Ue(v):void 0,C=p?Ue(p):void 0;let m;if(y>0){const W=d.dwg_dynapi_entity_data(t,"objids");W&&(m=d.dwg_ptr_to_object_ref_array(W,y).map(F=>pt(F.absolute_ref)))}const L=this.getOriginalDxfName(E),N={type:"ACAD_PROXY_ENTITY",subclassMarker:"AcDbProxyEntity",...o,proxyEntityClassId:_||498,applicationEntityClassId:E};return L&&(N.originalDxfName=L),I>0&&(N.graphicsDataSize=I),w&&(N.graphicsData=w),h>0&&(N.entityDataSize=h),C&&(N.entityData=C),m&&m.length>0&&(N.linkedObjectIds=m),g&&(N.objectDrawingFormat=g),(A===0||A===1)&&(N.originalDataFormat=A),N}getOriginalDxfName(t){if(this.classes.length===0||t<0)return;const o=t>=500?t-500:t;if(o>=0&&o<this.classes.length)return this.classes[o].dxfName}convertRay(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"RAY",...o,firstPoint:d,unitDirection:_}}convertSection(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"state"),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"name"),h=n.dwg_dynapi_entity_data(t,"vert_dir"),g=n.dwg_dynapi_entity_data(t,"top_height"),A=n.dwg_dynapi_entity_data(t,"bottom_height"),y=n.dwg_dynapi_entity_data(t,"indicator_alpha"),v=n.dwg_dynapi_entity_data(t,"indicator_color"),I=n.dwg_dynapi_entity_data(t,"num_verts"),p=n.dwg_dynapi_entity_data(t,"verts"),w=I>0?n.dwg_ptr_to_point3d_array(p,I):[],C=n.dwg_dynapi_entity_data(t,"num_blverts"),m=n.dwg_dynapi_entity_data(t,"blverts"),L=C>0?n.dwg_ptr_to_point3d_array(m,C):[],N=n.dwg_dynapi_entity_data(t,"geometrySettingHardId"),W=n.dwg_ref_get_handle_absolute_ref(N)??0n;return{type:"SECTION",...o,state:d,flags:_,name:E,verticalDirection:h,topHeight:g,bottomHeight:A,indicatorTransparency:y,indicatorColor:v.rgb,numberOfVertices:I,vertices:w,numberOfBackLineVertices:C,backLineVertices:L,geometrySettingHardId:W}}convertShape(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"scale"),E=n.dwg_dynapi_entity_data(t,"rotation"),h=n.dwg_dynapi_entity_data(t,"width_factor"),g=n.dwg_dynapi_entity_data(t,"oblique_angle"),A=n.dwg_dynapi_entity_data(t,"thickness"),y=n.dwg_dynapi_entity_data(t,"extrusion"),v=n.dwg_dynapi_entity_data(t,"style_id"),I=n.dwg_entity_text_get_style_name(t);return{type:"SHAPE",subclassMarker:"AcDbShape",...o,thickness:A,insertionPoint:d,size:_,shapeNumber:v,styleName:I,rotation:E,xScale:h,obliqueAngle:g,extrusionDirection:y}}convertSolid(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),E=n.dwg_dynapi_entity_data(t,"corner3"),h=n.dwg_dynapi_entity_data(t,"corner4"),g=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"SOLID",...o,corner1:d,corner2:_,corner3:E,corner4:h,thickness:g,extrusionDirection:A}}convertSpline(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"splineflags"),_=n.dwg_dynapi_entity_data(t,"degree"),E=n.dwg_dynapi_entity_data(t,"knot_tol"),h=n.dwg_dynapi_entity_data(t,"num_knots"),g=n.dwg_dynapi_entity_data(t,"knots"),A=n.dwg_ptr_to_double_array(g,h),y=n.dwg_dynapi_entity_data(t,"fit_tol"),v=n.dwg_dynapi_entity_data(t,"num_fit_pts"),I=n.dwg_dynapi_entity_data(t,"fit_pts"),p=n.dwg_ptr_to_point3d_array(I,v),w=n.dwg_dynapi_entity_data(t,"weighted"),C=n.dwg_dynapi_entity_data(t,"ctrl_tol"),m=n.dwg_dynapi_entity_data(t,"num_ctrl_pts"),L=n.dwg_dynapi_entity_data(t,"ctrl_pts"),N=n.dwg_ptr_to_point4d_array(L,m),W=n.dwg_dynapi_entity_data(t,"beg_tan_vec"),B=n.dwg_dynapi_entity_data(t,"end_tan_vec");return{type:"SPLINE",...o,flag:d,degree:_,numberOfKnots:h,numberOfControlPoints:m,numberOfFitPoints:v,knotTolerance:E,controlTolerance:C,fitTolerance:y,startTangent:W,endTangent:B,knots:A,weights:w?N.map(F=>F.w):void 0,controlPoints:N.map(F=>({x:F.x,y:F.y,z:F.z})),fitPoints:p}}convertTable(t,o){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,"ldata","name"),_=n.dwg_dynapi_entity_data(t,"ins_pt"),E=n.dwg_dynapi_entity_data(t,"horiz_direction"),h=n.dwg_dynapi_entity_data(t,"flag_for_table_value"),g=n.dwg_dynapi_entity_data(t,"num_rows"),A=n.dwg_dynapi_entity_data(t,"num_cols"),y=n.dwg_dynapi_entity_data(t,"row_heights"),v=n.dwg_ptr_to_double_array(y,g),I=n.dwg_dynapi_entity_data(t,"col_widths"),p=n.dwg_ptr_to_double_array(I,A),w=n.dwg_dynapi_entity_data(t,"tablestyle"),C=n.dwg_ref_get_id(w)??"",m=n.dwg_dynapi_entity_data(t,"block_header"),L=n.dwg_ref_get_id(m)??"",N=n.dwg_dynapi_entity_data(t,"table_flag_override"),W=n.dwg_dynapi_entity_data(t,"border_color_overrides_flag"),B=n.dwg_dynapi_entity_data(t,"border_lineweight_overrides_flag"),F=n.dwg_dynapi_entity_data(t,"border_visibility_overrides_flag"),H=n.dwg_dynapi_entity_data(t,"num_cells"),J=n.dwg_dynapi_entity_data(t,"cells"),tt=n.dwg_ptr_to_table_cell_array(J,H);return{type:"ACAD_TABLE",...o,name:d,startPoint:_,directionVector:E,tableValue:h,rowCount:g,columnCount:A,overrideFlag:N,borderColorOverrideFlag:W,borderLineWeightOverrideFlag:B,borderVisibilityOverrideFlag:F,rowHeightArr:v,columnWidthArr:p,tableStyleId:C,blockRecordHandle:L,cells:this.convertTableCells(tt),bmpPreview:""}}convertTableCells(t){return t.map(o=>{var n,d;return{text:o.text_value,attachmentPoint:o.cell_alignment,textStyle:o.text_style?String(o.text_style):void 0,rotation:o.rotation,cellType:o.type,flagValue:o.flags,mergedValue:o.is_merged_value,autoFit:o.is_autofit_flag,topBorderVisibility:!!o.top_visibility,bottomBorderVisibility:!!o.bottom_visibility,leftBorderVisibility:!!o.left_visibility,rightBorderVisibility:!!o.right_visibility,overrideFlag:o.cell_flag_override,virtualEdgeFlag:o.virtual_edge_flag,blockTableRecordId:o.block_handle?String(o.block_handle.absolute_ref??""):void 0,blockScale:o.block_scale,blockAttrNum:((n=o.attr_defs)==null?void 0:n.length)??0,attrDefineId:(d=o.attr_defs)==null?void 0:d.map(_=>{var E;return String(((E=_.attdef)==null?void 0:E.absolute_ref)??"")}),textHeight:o.text_height??0,extendedCellFlags:o.additional_data_flag}})}convertTextBase(t){const o=this.libredwg,n=o.dwg_dynapi_entity_data(t,"text_value"),d=o.dwg_dynapi_entity_data(t,"thickness"),_=o.dwg_dynapi_entity_data(t,"ins_pt"),E=o.dwg_dynapi_entity_data(t,"alignment_pt"),h=o.dwg_dynapi_entity_data(t,"rotation"),g=o.dwg_dynapi_entity_data(t,"height"),A=o.dwg_dynapi_entity_data(t,"width_factor"),y=o.dwg_dynapi_entity_data(t,"oblique_angle"),v=o.dwg_entity_text_get_style_name(t),I=o.dwg_dynapi_entity_data(t,"generation"),p=o.dwg_dynapi_entity_data(t,"horiz_alignment"),w=o.dwg_dynapi_entity_data(t,"vert_alignment"),C=o.dwg_dynapi_entity_data(t,"extrusion");return{text:n,thickness:d,startPoint:_,endPoint:E,textHeight:g,rotation:h,xScale:A,obliqueAngle:y,styleName:v,generationFlag:I,halign:p,valign:w,extrusionDirection:C}}convertText(t,o){return{type:"TEXT",...o,...this.convertTextBase(t)}}convertTolerance(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_value"),E=n.dwg_dynapi_entity_data(t,"x_direction"),h=n.dwg_dynapi_entity_data(t,"extrusion"),g=n.dwg_entity_get_dimstyle_name(t);return{type:"TOLERANCE",...o,styleName:g,insertionPoint:d,text:_,extrusionDirection:h,xAxisDirection:E}}convertViewport(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"width"),E=n.dwg_dynapi_entity_data(t,"height"),h=n.dwg_dynapi_entity_data(t,"on_off"),g=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"SNAPBASE"),y=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),v=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),I=n.dwg_dynapi_entity_data(t,"VIEWDIR"),p=n.dwg_dynapi_entity_data(t,"view_target"),w=n.dwg_dynapi_entity_data(t,"lens_length"),C=n.dwg_dynapi_entity_data(t,"front_clip_z"),m=n.dwg_dynapi_entity_data(t,"back_clip_z"),L=n.dwg_dynapi_entity_data(t,"VIEWSIZE"),N=n.dwg_dynapi_entity_data(t,"SNAPANG"),W=n.dwg_dynapi_entity_data(t,"twist_angle"),B=n.dwg_dynapi_entity_data(t,"circle_zoom"),F=n.dwg_dynapi_entity_data(t,"status_flag"),H=n.dwg_dynapi_entity_data(t,"style_sheet"),J=n.dwg_dynapi_entity_data(t,"render_mode"),tt=n.dwg_dynapi_entity_data(t,"UCSVP"),ft=n.dwg_dynapi_entity_data(t,"ucsorg"),Z=n.dwg_dynapi_entity_data(t,"ucsxdir"),Et=n.dwg_dynapi_entity_data(t,"ucsydir"),ut=n.dwg_dynapi_entity_data(t,"named_ucs"),ht=n.dwg_ref_get_id(ut),mt=n.dwg_dynapi_entity_data(t,"base_ucs"),Gt=n.dwg_ref_get_id(mt),Wt=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),Mt=n.dwg_dynapi_entity_data(t,"ucs_elevation"),bt=n.dwg_dynapi_entity_data(t,"shadeplot_mode"),dt=n.dwg_dynapi_entity_data(t,"use_default_lights"),x=n.dwg_dynapi_entity_data(t,"default_lighting_type"),j=n.dwg_dynapi_entity_data(t,"brightness"),z=n.dwg_dynapi_entity_data(t,"contrast"),xt=n.dwg_dynapi_entity_data(t,"grid_major"),kt=n.dwg_dynapi_entity_data(t,"background"),gt=n.dwg_ref_get_id(kt),k=n.dwg_dynapi_entity_data(t,"shadeplot"),Ft=n.dwg_ref_get_id(k),lt=n.dwg_dynapi_entity_data(t,"visualstyle"),wt=n.dwg_ref_get_id(lt),Ut=n.dwg_dynapi_entity_data(t,"sun"),te=n.dwg_ref_get_id(Ut);return{type:"VIEWPORT",...o,viewportCenter:d,width:_,height:E,status:h,viewportId:0,displayCenter:g,snapBase:A,snapSpacing:y,gridSpacing:v,viewDirection:I,targetPoint:p,perspectiveLensLength:w,frontClipZ:C,backClipZ:m,viewHeight:L,snapAngle:N,viewTwistAngle:W,circleZoomPercent:B,statusBitFlags:F,sheetName:H,renderMode:J,ucsPerViewport:tt,ucsOrigin:ft,ucsXAxis:Z,ucsYAxis:Et,ucsId:ht??"",ucsBaseId:Gt??"",orthographicType:Wt,elevation:Mt,shadePlotMode:bt,majorGridFrequency:xt,backgroundId:gt??"",shadePlotId:Ft??"",visualStyleId:wt??"",isDefaultLighting:!!dt,defaultLightingType:x,brightness:j,contrast:z,sunId:te??""}}convertWipeout(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),E=n.dwg_dynapi_entity_data(t,"uvec"),h=n.dwg_dynapi_entity_data(t,"vvec"),g=n.dwg_dynapi_entity_data(t,"image_size"),A=n.dwg_dynapi_entity_data(t,"display_props"),y=n.dwg_dynapi_entity_data(t,"clipping"),v=n.dwg_dynapi_entity_data(t,"brightness"),I=n.dwg_dynapi_entity_data(t,"contrast"),p=n.dwg_dynapi_entity_data(t,"fade"),w=n.dwg_dynapi_entity_data(t,"clip_mode"),C=n.dwg_dynapi_entity_data(t,"clip_boundary_type"),m=n.dwg_dynapi_entity_data(t,"num_clip_verts"),L=n.dwg_dynapi_entity_data(t,"clip_verts"),N=n.dwg_ptr_to_point2d_array(L,m),W=n.dwg_dynapi_entity_data(t,"imagedef"),B=n.dwg_ref_get_absref(W)??0,F=n.dwg_dynapi_entity_data(t,"imagedefreactor"),H=n.dwg_ref_get_absref(F)??0;return{type:"WIPEOUT",...o,version:d,position:_,uPixel:E,vPixel:h,imageSize:g,imageDefHandle:B,flags:A,clipping:y,brightness:v,contrast:I,fade:p,imageDefReactorHandle:H,clippingBoundaryType:C,countBoundaryPoints:m,clippingBoundaryPath:N,clipMode:w}}convertXline(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"XLINE",...o,firstPoint:d,unitDirection:_}}getDimensionCommonAttrs(t){const o=this.libredwg,n=o.dwg_dynapi_entity_data(t,"class_version"),d=o.dwg_entity_get_block_name(t,"block"),_=o.dwg_dynapi_entity_data(t,"def_pt"),E=o.dwg_dynapi_entity_data(t,"text_midpt"),h=o.dwg_dynapi_entity_data(t,"attachmentPoint"),g=o.dwg_dynapi_entity_data(t,"flag"),A=o.dwg_dynapi_entity_data(t,"lspace_factor"),y=o.dwg_dynapi_entity_data(t,"lspace_factor"),v=o.dwg_dynapi_entity_data(t,"act_measurement"),I=o.dwg_dynapi_entity_data(t,"user_text"),p=o.dwg_dynapi_entity_data(t,"text_rotation"),w=o.dwg_dynapi_entity_data(t,"ins_rotation"),C=o.dwg_dynapi_entity_data(t,"extrusion"),m=o.dwg_entity_get_dimstyle_name(t);return{type:"DIMENSION",version:n,name:d,definitionPoint:_,textPoint:E,dimensionType:g,attachmentPoint:h,textLineSpacingStyle:A,textLineSpacingFactor:y||1,measurement:v,text:I,textRotation:p,ocsRotation:w,extrusionDirection:C,styleName:m}}getCommonAttrs(t){const o=this.libredwg,n=o.dwg_object_entity_get_color_object(t),d=n.method,_=n.index;let E;(d==194||(n.rgb>>>24&255)===194)&&(E=n.rgb&16777215);const h=this.getLayerName(t),g=o.dwg_object_entity_get_handle_object(t),A=o.dwg_object_entity_get_ownerhandle_object(t),y=o.dwg_object_entity_get_xdicobjhandle_object(t),v=this.getLtypeName(t),I=o.dwg_object_entity_get_line_weight(t),p=o.dwg_object_entity_get_ltype_scale(t),w=!o.dwg_object_entity_get_invisible(t),C=o.dwg_object_entity_get_xdata(t);return{handle:pt(g.value),ownerDictionaryHardId:pt(y.absolute_ref),ownerBlockRecordSoftId:pt(A.absolute_ref),layer:h,color:E,colorIndex:_,colorName:n.name,lineType:v,lineweight:I,lineTypeScale:p,isVisible:w,transparency:n.alpha,transparencyType:n.alpha_type,xdata:C}}getLayerName(t){const n=this.libredwg.dwg_object_entity_get_layer_object_ref(t);return this.layers.get(pt(n.handleref.value))??"0"}getLtypeName(t){const n=this.libredwg.dwg_object_entity_get_ltype_object_ref(t);return this.ltypes.get(pt(n.handleref.value))??""}}class ar{constructor(t){it(this,"libredwg"),it(this,"entityConverter"),this.libredwg=t,this.entityConverter=new lo(t)}convert(t){var o;this.entityConverter.clear();const n={tables:{APPID:{entries:[]},BLOCK_RECORD:{entries:[]},DIMSTYLE:{entries:[]},LAYER:{entries:[]},LTYPE:{entries:[]},STYLE:{entries:[]},VPORT:{entries:[]}},objects:{DICTIONARY:[],IMAGEDEF:[],LAYER_FILTER:[],LAYER_INDEX:[],LAYOUT:[],MLEADERSTYLE:[],SPATIAL_FILTER:[],XRECORD:[]},header:{},entities:[],classes:[]},d=this.libredwg;this.convertHeader(t,n.header),this.convertClasses(t,n.classes),this.entityConverter.setClasses(n.classes);const _=d.dwg_get_num_objects(t);for(let g=0;g<_;g++){const A=d.dwg_get_object(t,g);if(A){const y=this.safeObjectTio(A);if(y)switch(d.dwg_object_get_fixedtype(A)){case Y.DWG_TYPE_LAYER:{const I=this.convertLayer(y,A);n.tables.LAYER.entries.push(I),this.entityConverter.layers.set(I.handle,I.name)}break;case Y.DWG_TYPE_LTYPE:{const I=this.convertLineType(y,A);n.tables.LTYPE.entries.push(I),this.entityConverter.ltypes.set(I.handle,I.name)}break}}}for(let g=0;g<_;g++){const A=d.dwg_get_object(t,g);if(A){const y=this.safeObjectTio(A);if(y)switch(d.dwg_object_get_fixedtype(A)){case Y.DWG_TYPE_APPID:n.tables.APPID.entries.push(this.convertAppId(y));break;case Y.DWG_TYPE_BLOCK_HEADER:{const I=this.convertBlockRecord(y,A);n.tables.BLOCK_RECORD.entries.push(I),(dr(I.name)||so(I.name))&&I.entities.forEach(p=>{n.entities.push(p),p.type==="INSERT"&&p.attribs.forEach(w=>{n.entities.push(w)})})}break;case Y.DWG_TYPE_DIMSTYLE:n.tables.DIMSTYLE.entries.push(this.convertDimStyle(y,A));break;case Y.DWG_TYPE_STYLE:n.tables.STYLE.entries.push(this.convertStyle(y,A));break;case Y.DWG_TYPE_VPORT:n.tables.VPORT.entries.push(this.convertViewport(y,A));break;case Y.DWG_TYPE_DICTIONARY:n.objects.DICTIONARY.push(this.convertDictionary(y,A));break;case Y.DWG_TYPE_IMAGEDEF:n.objects.IMAGEDEF.push(this.convertImageDef(y,A));break;case Y.DWG_TYPE_LAYERFILTER:n.objects.LAYER_FILTER.push(this.convertLayerFilter(y,A));break;case Y.DWG_TYPE_LAYER_INDEX:n.objects.LAYER_INDEX.push(this.convertLayerIndex(y,A));break;case Y.DWG_TYPE_LAYOUT:n.objects.LAYOUT.push(this.convertLayout(y,A));break;case Y.DWG_TYPE_MLEADERSTYLE:n.objects.MLEADERSTYLE.push(this.convertMLeaderStyle(y,A));break;case Y.DWG_TYPE_SPATIAL_FILTER:n.objects.SPATIAL_FILTER.push(this.convertSpatialFilter(y,A));break;case Y.DWG_TYPE_XRECORD:n.objects.XRECORD.push(this.convertXRecord(y,A));break}}}const E=n.entities.filter(g=>g.type==="VIEWPORT");E.sort((g,A)=>{const y=parseInt(g.handle,16),v=parseInt(A.handle,16);return y-v}),E.forEach((g,A)=>{g.viewportId=A+1});const h=d.dwg_bmp(t);return(o=h==null?void 0:h.data)!=null&&o.length&&(n.thumbnailImage=h.data),n}getConversionStats(){return{unknownEntityCount:this.entityConverter.unknownEntityCount}}safeObjectTio(t){const o=this.libredwg;try{if(o.dwg_object_get_supertype(t)!=ir.DWG_SUPERTYPE_OBJECT)return null;const n=o.dwg_object_to_object_tio(t);return n||null}catch{return null}}convertHeader(t,o){const n=this.libredwg;no.forEach(d=>{let _=d;(d=="DIMBLK"||d=="DIMBLK1"||d=="DIMBLK2")&&(_=_+"_T");let E=n.dwg_dynapi_header_data(t,_);d=="CELTYPE"||d=="CLAYER"||d=="CLAYER"||d=="DIMSTYLE"||d=="DIMTXSTY"||d=="TEXTSTYLE"?E=E?n.dwg_ref_get_object_name(E):"":d=="DRAGVS"&&(E=E?n.dwg_ref_get_absref(E)??2:2),o[d]=E})}convertClasses(t,o){const n=this.libredwg,d=n.dwg_get_num_classes(t);for(let _=0;_<d;_++){const E=n.dwg_get_class(t,_);o.push({dxfName:E.dxfname,cppName:E.cppname,appName:E.appname,capabilitiesFlag:E.proxyflag,instanceCount:E.num_instances,wasAProxyFlag:E.s_zombie,isAnEntityFlag:E.item_class_id===498})}}convertAppId(t){const o=this.libredwg,n=o.dwg_dynapi_entity_data(t,"name"),d=o.dwg_dynapi_entity_data(t,"flag");return{name:n,standardFlag:d}}convertBlockRecord(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_entity_block_header_get_block(t);_.name&&(d.name=_.name);const E=n.dwg_dynapi_entity_data(t,"num_owned"),h=n.dwg_dynapi_entity_data(t,"flag"),g=n.dwg_dynapi_entity_data(t,"description"),A=n.dwg_dynapi_entity_data(t,"base_pt"),y=n.dwg_dynapi_entity_data(t,"insert_units"),v=n.dwg_dynapi_entity_data(t,"explodable"),I=n.dwg_dynapi_entity_data(t,"block_scaling"),p=n.dwg_dynapi_entity_data(t,"layout"),w=n.dwg_ref_get_id(p)??"";let C;const m=n.dwg_entity_block_header_get_preview(t);m&&m.length>0&&(C=Ue(m));let L=this.convertEntities(o,d.handle);if(!L||L.length==0){L=[];const N=n.dwg_dynapi_entity_data(t,"entities");if(N){const W=n.dwg_ptr_to_object_ref_ptr_array(N,E),B=this.entityConverter;for(let F=0;F<E;F++){const H=n.dwg_ref_get_object(W[F]),J=B.convert(H);J&&(J.ownerBlockRecordSoftId=d.handle,L.push(J))}}}return{...d,flags:h,description:g,basePoint:A,layout:w,insertionUnits:y,explodability:v,scalability:I,bmpPreview:C,entities:L}}convertEntities(t,o){const n=this.libredwg,d=this.entityConverter,_=[];let E=n.get_first_owned_entity(t);for(;E;){const h=d.convert(E);h&&(h.ownerBlockRecordSoftId=o,_.push(h)),E=n.get_next_owned_entity(t,E)}return _}convertDimStyle(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"DIMTOL"),E=n.dwg_dynapi_entity_data(t,"DIMLIM"),h=n.dwg_dynapi_entity_data(t,"DIMTIH"),g=n.dwg_dynapi_entity_data(t,"DIMTOH"),A=n.dwg_dynapi_entity_data(t,"DIMSE1"),y=n.dwg_dynapi_entity_data(t,"DIMSE2"),v=n.dwg_dynapi_entity_data(t,"DIMALT"),I=n.dwg_dynapi_entity_data(t,"DIMTOFL"),p=n.dwg_dynapi_entity_data(t,"DIMSAH"),w=n.dwg_dynapi_entity_data(t,"DIMTIX"),C=n.dwg_dynapi_entity_data(t,"DIMSOXD"),m=n.dwg_dynapi_entity_data(t,"DIMALTD"),L=n.dwg_dynapi_entity_data(t,"DIMZIN"),N=n.dwg_dynapi_entity_data(t,"DIMSD1"),W=n.dwg_dynapi_entity_data(t,"DIMSD2"),B=n.dwg_dynapi_entity_data(t,"DIMTOLJ"),F=n.dwg_dynapi_entity_data(t,"DIMJUST"),H=n.dwg_dynapi_entity_data(t,"DIMFIT"),J=n.dwg_dynapi_entity_data(t,"DIMUPT"),tt=n.dwg_dynapi_entity_data(t,"DIMTZIN"),ft=n.dwg_dynapi_entity_data(t,"DIMALTZ"),Z=n.dwg_dynapi_entity_data(t,"DIMALTTZ"),Et=n.dwg_dynapi_entity_data(t,"DIMTAD"),ut=n.dwg_dynapi_entity_data(t,"DIMUNIT"),ht=n.dwg_dynapi_entity_data(t,"DIMAUNIT"),mt=n.dwg_dynapi_entity_data(t,"DIMDEC"),Gt=n.dwg_dynapi_entity_data(t,"DIMTDEC"),Wt=n.dwg_dynapi_entity_data(t,"DIMALTU"),Mt=n.dwg_dynapi_entity_data(t,"DIMALTTD"),bt=n.dwg_dynapi_entity_data(t,"DIMSCALE"),dt=n.dwg_dynapi_entity_data(t,"DIMASZ"),x=n.dwg_dynapi_entity_data(t,"DIMEXO"),j=n.dwg_dynapi_entity_data(t,"DIMDLI"),z=n.dwg_dynapi_entity_data(t,"DIMEXE"),xt=n.dwg_dynapi_entity_data(t,"DIMRND"),kt=n.dwg_dynapi_entity_data(t,"DIMDLE"),gt=n.dwg_dynapi_entity_data(t,"DIMTP"),k=n.dwg_dynapi_entity_data(t,"DIMTM"),Ft=n.dwg_dynapi_entity_data(t,"DIMFXL"),lt=n.dwg_dynapi_entity_data(t,"DIMJOGANG"),wt=n.dwg_dynapi_entity_data(t,"DIMTFILL"),Ut=n.dwg_dynapi_entity_data(t,"DIMTFILLCLR"),te=n.dwg_dynapi_entity_data(t,"DIMAZIN"),Ee=n.dwg_dynapi_entity_data(t,"DIMARCSYM"),ee=n.dwg_dynapi_entity_data(t,"DIMTXT"),et=n.dwg_dynapi_entity_data(t,"DIMCEN"),V=n.dwg_dynapi_entity_data(t,"DIMTSZ"),Ce=n.dwg_dynapi_entity_data(t,"DIMALTF"),De=n.dwg_dynapi_entity_data(t,"DIMLFAC"),we=n.dwg_dynapi_entity_data(t,"DIMTVP"),Re=n.dwg_dynapi_entity_data(t,"DIMTFAC"),ue=n.dwg_dynapi_entity_data(t,"DIMGAP"),Se=n.dwg_dynapi_entity_data(t,"DIMPOST"),$t=n.dwg_dynapi_entity_data(t,"DIMAPOST"),Rt=n.dwg_dynapi_entity_data(t,"DIMBLK_T"),X=n.dwg_dynapi_entity_data(t,"DIMBLK1_T"),Le=n.dwg_dynapi_entity_data(t,"DIMBLK2_T"),Vt=n.dwg_dynapi_entity_data(t,"DIMALTRND"),Ct=n.dwg_dynapi_entity_data(t,"DIMCLRD_N"),fe=n.dwg_dynapi_entity_data(t,"DIMCLRE_N"),he=n.dwg_dynapi_entity_data(t,"DIMCLRT_N"),St=n.dwg_dynapi_entity_data(t,"DIMCLRD"),ne=n.dwg_dynapi_entity_data(t,"DIMCLRE"),Lt=n.dwg_dynapi_entity_data(t,"DIMCLRT"),re=n.dwg_dynapi_entity_data(t,"DIMADEC"),Ht=n.dwg_dynapi_entity_data(t,"DIMFRAC"),ge=n.dwg_dynapi_entity_data(t,"DIMLUNIT"),At=n.dwg_dynapi_entity_data(t,"DIMDSEP"),ae=n.dwg_dynapi_entity_data(t,"DIMTMOVE"),b=n.dwg_dynapi_entity_data(t,"DIMATFIT"),Ae=n.dwg_dynapi_entity_data(t,"DIMFXLON"),oe=n.dwg_dynapi_entity_data(t,"DIMTXTDIRECTION"),Xt=n.dwg_dynapi_entity_data(t,"DIMALTMZF"),Te=n.dwg_dynapi_entity_data(t,"DIMALTMZS"),Pe=n.dwg_dynapi_entity_data(t,"DIMMZF"),Tt=n.dwg_dynapi_entity_data(t,"DIMMZS"),Yt=n.dwg_dynapi_entity_data(t,"DIMLWD"),ye=n.dwg_dynapi_entity_data(t,"DIMLWE"),Ie=n.dwg_dynapi_entity_data(t,"DIMTXSTY"),ie=n.dwg_ref_get_absref(Ie)??void 0,pe=n.dwg_dynapi_entity_data(t,"DIMLDRBLK"),se=n.dwg_ref_get_absref(pe)??void 0;return{...d,DIMPOST:Se,DIMAPOST:$t,DIMBLK:Rt,DIMBLK1:X,DIMBLK2:Le,DIMSCALE:bt,DIMASZ:dt,DIMEXO:x,DIMDLI:j,DIMEXE:z,DIMRND:xt,DIMDLE:kt,DIMTP:gt,DIMTM:k,DIMTXT:ee,DIMCEN:et,DIMTSZ:V,DIMALTF:Ce,DIMLFAC:De,DIMTVP:we,DIMTFAC:Re,DIMGAP:ue,DIMALTRND:Vt,DIMTOL:_,DIMLIM:E,DIMTIH:h,DIMTOH:g,DIMSE1:A,DIMSE2:y,DIMTAD:Et,DIMZIN:L,DIMAZIN:te,DIMALT:v,DIMALTD:m,DIMTOFL:I,DIMSAH:p,DIMTIX:w,DIMSOXD:C,DIMCLRD:St,DIMCLRE:ne,DIMCLRT:Lt,DIMADEC:re,DIMUNIT:ut,DIMDEC:mt,DIMTDEC:Gt,DIMALTU:Wt,DIMALTTD:Mt,DIMAUNIT:ht,DIMFRAC:Ht,DIMLUNIT:ge,DIMDSEP:String.fromCharCode(At),DIMTMOVE:ae,DIMJUST:F,DIMSD1:N,DIMSD2:W,DIMTOLJ:B,DIMTZIN:tt,DIMALTZ:ft,DIMALTTZ:Z,DIMFIT:H,DIMUPT:J,DIMATFIT:b,DIMTXSTY:ie,DIMLDRBLK:se,DIMLWD:Yt,DIMLWE:ye,DIMFXL:Ft,DIMJOGANG:lt,DIMTFILL:wt,DIMTFILLCLR:Ut,DIMARCSYM:Ee,DIMCLRD_N:Ct,DIMCLRE_N:fe,DIMCLRT_N:he,DIMFXLON:Ae,DIMTXTDIRECTION:oe,DIMALTMZF:Xt,DIMALTMZS:Te,DIMMZF:Pe,DIMMZS:Tt}}convertLayer(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"frozen"),h=n.dwg_dynapi_entity_data(t,"off"),g=n.dwg_dynapi_entity_data(t,"frozen_in_new"),A=n.dwg_dynapi_entity_data(t,"plotflockedlag"),y=n.dwg_dynapi_entity_data(t,"plotflag"),v=n.dwg_dynapi_entity_data(t,"linewt"),I=n.dwg_dynapi_entity_data(t,"color"),p=n.dwg_dynapi_entity_data(t,"ltype");let w="Continuous";if(p)try{w=n.dwg_ref_get_object_name(p)}catch{}const C=I.method;let m=256,L=16777215;return C===195||(I.rgb>>>24&255)===195?m=I.rgb&255:C==194||(I.rgb>>>24&255)===194?L=I.rgb&16777215:I.index>=1&&I.index<=255&&(m=I.index),{...d,standardFlag:_,colorIndex:m,color:L,colorName:I.name,transparency:I.alpha,lineType:w,frozen:E!=0,off:h!=0,frozenInNew:g!=0,locked:A!=0,plotFlag:y,lineweight:v,plotStyleNameObjectId:"",materialObjectId:""}}convertLineType(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"description"),h=n.dwg_dynapi_entity_data(t,"numdashes"),g=n.dwg_dynapi_entity_data(t,"pattern_len"),A=n.dwg_dynapi_entity_data(t,"dashes"),y=A?n.dwg_ptr_to_ltype_dash_array(A,h):[];return{...d,description:E,standardFlag:_,numberOfLineTypes:h,totalPatternLength:g,pattern:this.convertLineTypePattern(y)}}convertLineTypePattern(t){const o=[];return t.forEach(n=>{o.push({elementLength:n.length||0,elementTypeFlag:n.complex_shapecode,shapeNumber:n.shape_flag,scale:n.scale,rotation:n.rotation,offsetX:n.x_offset,offsetY:n.y_offset,text:n.text})}),o}convertStyle(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"width_factor"),h=n.dwg_dynapi_entity_data(t,"oblique_angle"),g=n.dwg_dynapi_entity_data(t,"generation"),A=n.dwg_dynapi_entity_data(t,"last_height"),y=n.dwg_dynapi_entity_data(t,"font_file"),v=n.dwg_dynapi_entity_data(t,"bigfont_file");return{...d,standardFlag:_,fixedTextHeight:0,widthFactor:E,obliqueAngle:h,textGenerationFlag:g,lastHeight:A,font:y,bigFont:v}}convertViewport(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"VIEWSIZE"),h=n.dwg_dynapi_entity_data(t,"aspect_ratio"),g=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"view_target"),y=n.dwg_dynapi_entity_data(t,"VIEWDIR"),v=n.dwg_dynapi_entity_data(t,"view_twist"),I=n.dwg_dynapi_entity_data(t,"lens_length"),p=n.dwg_dynapi_entity_data(t,"front_clip_z"),w=n.dwg_dynapi_entity_data(t,"back_clip_z"),C=n.dwg_dynapi_entity_data(t,"VIEWMODE"),m=n.dwg_dynapi_entity_data(t,"render_mode"),L=n.dwg_dynapi_entity_data(t,"use_default_lights")!=0,N=n.dwg_dynapi_entity_data(t,"default_lightning_type"),W=n.dwg_dynapi_entity_data(t,"brightness"),B=n.dwg_dynapi_entity_data(t,"contrast"),F=n.dwg_dynapi_entity_data(t,"ambient_color"),H=n.dwg_dynapi_entity_data(t,"lower_left"),J=n.dwg_dynapi_entity_data(t,"upper_right"),tt=n.dwg_dynapi_entity_data(t,"circle_zoom"),ft=n.dwg_dynapi_entity_data(t,"UCSICON"),Z=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),Et=n.dwg_dynapi_entity_data(t,"SNAPANG"),ut=n.dwg_dynapi_entity_data(t,"SNAPBASE"),ht=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),mt=n.dwg_dynapi_entity_data(t,"ucsorg"),Gt=n.dwg_dynapi_entity_data(t,"ucsxdir"),Wt=n.dwg_dynapi_entity_data(t,"ucsydir"),Mt=n.dwg_dynapi_entity_data(t,"ucs_elevation"),bt=n.dwg_dynapi_entity_data(t,"grid_major"),dt=n.dwg_dynapi_entity_data(t,"background"),x=dt?n.dwg_ref_get_id(dt)??"":void 0,j=n.dwg_dynapi_entity_data(t,"visualstyle"),z=j?n.dwg_ref_get_id(j)??"":void 0;return{...d,standardFlag:_,lowerLeftCorner:H,upperRightCorner:J,center:g,snapBasePoint:ut,snapSpacing:ht,gridSpacing:Z,viewDirectionFromTarget:y,viewTarget:A,lensLength:I,frontClippingPlane:p,backClippingPlane:w,viewHeight:E,aspectRatio:h,snapRotationAngle:Et,viewTwistAngle:v,circleSides:tt,frozenLayers:[],styleSheet:"",renderMode:m,viewMode:C,ucsIconSetting:ft,ucsOrigin:mt,ucsXAxis:Gt,ucsYAxis:Wt,orthographicType:0,elevation:Mt,shadePlotSetting:0,majorGridLines:bt,backgroundObjectId:x,visualStyleObjectId:z,isDefaultLightingOn:L,defaultLightingType:N,brightness:W,contrast:B,ambientColor:F.index}}getCommonTableEntryAttrs(t,o){const n=this.libredwg,d=n.dwg_object_get_tio(o),_=n.dwg_object_object_get_ownerhandle_object(d),E=n.dwg_object_get_handle_object(o);return{handle:pt(E.value),ownerHandle:pt(_.absolute_ref),name:n.dwg_dynapi_entity_data(t,"name")}}convertDictionary(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"is_hardowner"),E=n.dwg_dynapi_entity_data(t,"cloning"),h=n.dwg_dynapi_entity_data(t,"numitems"),g=n.dwg_dynapi_entity_data(t,"itemhandles"),A=n.dwg_ptr_to_object_ref_array(g,h),y=n.dwg_object_dictionary_get_texts(o),v={};return A.forEach((I,p)=>v[y[p]]=pt(I.absolute_ref)),{...d,isHardOwner:!!_,cloningFlag:E,entries:v}}convertImageDef(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"image_size"),E=n.dwg_dynapi_entity_data(t,"file_path"),h=n.dwg_dynapi_entity_data(t,"is_loaded"),g=n.dwg_dynapi_entity_data(t,"pixel_size"),A=n.dwg_dynapi_entity_data(t,"resunits");return{...d,fileName:E,size:_,sizeOfOnePixel:g,isLoaded:h,resolutionUnits:A}}convertLayerFilter(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"num_names")??0,E=n.dwg_dynapi_entity_data(t,"names"),h=E&&_>0?n.dwg_ptr_to_wchar_string_array(E,_).filter(g=>g!=null&&g!==""):[];return{...d,...h.length?{layerNames:h}:{}}}convertLayerIndex(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"last_updated"),E=n.dwg_dynapi_entity_data(t,"num_entries")??0,h=n.dwg_dynapi_entity_data(t,"entries"),g=n.dwg_dynapi_subclass_size("LAYER_entry"),A=[],y=[],v=[];if(h&&g>0)for(let I=0;I<E;I++){const p=h+I*g,w=n.dwg_dynapi_subclass_data(p,"LAYER_entry","name");A.push(w??"");const C=n.dwg_dynapi_subclass_data(p,"LAYER_entry","handle");y.push(C?n.dwg_ref_get_id(C)??"":""),v.push(n.dwg_dynapi_subclass_data(p,"LAYER_entry","numlayers")??0)}return{...d,..._!=null?{timeStamp:_}:{},...A.length?{layerNames:A}:{},...y.length?{idBufferIds:y}:{},...v.length?{idBufferEntryCounts:v}:{}}}convertLayout(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"layout_name"),E=n.dwg_dynapi_entity_data(t,"tab_order"),h=n.dwg_dynapi_entity_data(t,"layout_flags"),g=n.dwg_dynapi_entity_data(t,"INSBASE"),A=n.dwg_dynapi_entity_data(t,"LIMMIN"),y=n.dwg_dynapi_entity_data(t,"LIMMAX"),v=n.dwg_dynapi_entity_data(t,"UCSORG"),I=n.dwg_dynapi_entity_data(t,"UCSXDIR"),p=n.dwg_dynapi_entity_data(t,"UCSYDIR"),w=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),C=n.dwg_dynapi_entity_data(t,"EXTMIN"),m=n.dwg_dynapi_entity_data(t,"EXTMAX"),L=n.dwg_dynapi_entity_data(t,"ucs_elevation"),N=n.dwg_dynapi_entity_data(t,"block_header"),W=n.dwg_ref_get_id(N)??"",B=n.dwg_dynapi_entity_data(t,"active_viewport"),F=n.dwg_ref_get_id(B)??"",H=n.dwg_dynapi_entity_data(t,"named_ucs"),J=H?n.dwg_ref_get_id(H)??"":void 0;return{...d,layoutName:_,controlFlag:h,tabOrder:E,minLimit:A,maxLimit:y,insertionPoint:g,minExtent:C,maxExtent:m,elevation:L,ucsOrigin:v,ucsXAxis:I,ucsYAxis:p,orthographicType:w,paperSpaceTableId:W,viewportId:F,namedUcsId:J,shadePlotId:""}}convertMLeaderStyle(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=A=>n.dwg_dynapi_entity_data(t,A),E=A=>n.dwg_ref_get_id(A),h=A=>A>0,g=A=>A!=null?_r(A):void 0;return{...d,subclassMarker:"AcDbMLeaderStyle",unknown1:_("class_version"),contentType:_("content_type"),drawMLeaderOrderType:_("mleader_order"),drawLeaderOrderType:_("leader_order"),maxLeaderSegmentPoints:_("max_points"),firstSegmentAngleConstraint:_("first_seg_angle"),secondSegmentAngleConstraint:_("second_seg_angle"),leaderLineType:_("type"),leaderLineColor:g(_("line_color")),leaderLineTypeId:E(_("line_type")),leaderLineWeight:_("linewt"),landingEnabled:h(_("has_landing")),landingGap:_("landing_gap"),doglegEnabled:h(_("has_dogleg")),doglegLength:_("landing_dist"),description:_("description"),arrowheadId:E(_("arrow_head")),arrowheadSize:_("arrow_head_size"),defaultMTextContents:_("text_default"),textStyleId:E(_("text_style")),textLeftAttachmentType:_("attach_left"),textAngleType:_("text_angle_type"),textAlignmentType:_("text_align_type"),textRightAttachmentType:_("attach_right"),textColor:g(_("text_color")),textHeight:_("text_height"),textFrameEnabled:h(_("has_text_frame")),textAlignAlwaysLeft:h(_("text_always_left")),alignSpace:_("align_space"),blockContentId:E(_("block")),blockContentColor:g(_("block_color")),blockContentScale:_("block_scale"),blockContentScaleEnabled:h(_("use_block_scale")),blockContentRotation:_("block_rotation"),blockContentRotationEnabled:h(_("use_block_rotation")),blockContentConnectionType:_("block_connection"),scale:_("scale"),overwritePropertyValue:h(_("is_changed")),annotative:h(_("is_annotative")),breakGapSize:_("break_size"),textAttachmentDirection:_("attach_dir"),bottomTextAttachmentDirection:_("attach_bottom"),topTextAttachmentDirection:_("attach_top"),unknown2:h(_("text_extended"))}}convertSpatialFilter(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"origin"),E=n.dwg_dynapi_entity_data(t,"num_clip_verts"),h=n.dwg_dynapi_entity_data(t,"clip_verts"),g=n.dwg_ptr_to_point2d_array(h,E),A=n.dwg_dynapi_entity_data(t,"extrusion"),y=n.dwg_dynapi_entity_data(t,"display_boundary_on"),v=n.dwg_dynapi_entity_data(t,"front_clip_on"),I=n.dwg_dynapi_entity_data(t,"front_clip_z"),p=n.dwg_dynapi_entity_data(t,"back_clip_on"),w=n.dwg_dynapi_entity_data(t,"back_clip_z"),C=n.dwg_dynapi_entity_data(t,"transform"),m=n.dwg_ptr_to_double_array(C,12),L=n.dwg_dynapi_entity_data(t,"inverse_transform"),N=n.dwg_ptr_to_double_array(L,12);return{...d,origin:_,numberOfPointsOnClipBoundary:E,vertices:g,extrusionDirection:A,clipBoundaryVisible:!!y,frontClippingPlaneFlag:!!v,frontClippingPlaneDistance:I,backClippingPlaneFlag:!!p,backClippingPlaneDistance:w,matrix:m,invertBlockMatrix:N}}convertXRecord(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"cloning"),E=n.dwg_object_xrecord_get_xdata(t)??[],h=n.dwg_object_get_tio(o),g=h?n.dwg_object_object_get_xdicobjhandle_object(h):null,A=g&&g.absolute_ref?pt(g.absolute_ref):void 0;return{...d,..._!=null?{cloning:_}:{},...A?{extensionDictionary:A}:{},data:E}}getCommonObjectAttrs(t){const o=this.libredwg,n=o.dwg_object_get_tio(t),d=o.dwg_object_object_get_ownerhandle_object(n),_=o.dwg_object_get_handle_object(t);return{handle:pt(_.value),ownerHandle:pt(d.absolute_ref)}}}class It{constructor(){it(this,"min"),it(this,"max"),it(this,"valid"),this.min={x:1/0,y:1/0},this.max={x:-1/0,y:-1/0},this.valid=!1}expandByPoint(t){return this.min.x=Math.min(this.min.x,t.x),this.min.y=Math.min(this.min.y,t.y),this.max.x=Math.max(this.max.x,t.x),this.max.y=Math.max(this.max.y,t.y),this.valid=!0,this}transform(t,o){const n=this.getCorners().map(d=>({x:d.x*t.x+o.x,y:d.y*t.y+o.y}));this.reset();for(const d of n)this.expandByPoint(d);return this}rotate(t,o){const n=Math.cos(t),d=Math.sin(t),_=this.getCorners().map(E=>{const h=E.x-o.x,g=E.y-o.y;return{x:o.x+h*n-g*d,y:o.y+h*d+g*n}});this.reset();for(const E of _)this.expandByPoint(E);return this}clone(){const t=new It;return t.min={x:this.min.x,y:this.min.y},t.max={x:this.max.x,y:this.max.y},t.valid=this.valid,t}reset(){this.min={x:1/0,y:1/0},this.max={x:-1/0,y:-1/0},this.valid=!1}getCorners(){return[{x:this.min.x,y:this.min.y},{x:this.min.x,y:this.max.y},{x:this.max.x,y:this.min.y},{x:this.max.x,y:this.max.y}]}}function co(a,t,o,n,d){const _=o.length;if(_===0)throw new Error("points must not be empty");const E=o[0].length;if(a<0||a>1)throw new Error(`t out of bounds [0,1]: ${a}`);if(t<1)throw new Error("degree must be at least 1 (linear)");if(t>_-1)throw new Error("degree must be less than or equal to point count - 1");const h=d??new Array(_).fill(1),g=n??(()=>{const C=[];for(let m=0;m<_+t+1;m++)C.push(m);return C})();if(g.length!==_+t+1)throw new Error("bad knot vector length");const A=[t,g.length-1-t],y=g[A[0]],v=g[A[1]];a=a*(v-y)+y,a=Math.max(a,y),a=Math.min(a,v);let I=A[0];for(;I<A[1]&&!(a>=g[I]&&a<=g[I+1]);I++);const p=new Array(_);for(let C=0;C<_;C++){p[C]=new Array(E+1);for(let m=0;m<E;m++)p[C][m]=o[C][m]*h[C];p[C][E]=h[C]}for(let C=1;C<=t+1;C++)for(let m=I;m>I-t-1+C;m--){const L=g[m+t+1-C]-g[m],N=L===0?0:(a-g[m])/L;for(let W=0;W<E+1;W++)p[m][W]=(1-N)*p[m-1][W]+N*p[m][W]}const w=new Array(E);for(let C=0;C<E;C++)w[C]=Eo(p[I][C]/p[I][E],-9);return w}function Eo(a,t){if(isNaN(a)||!Number.isInteger(t))return NaN;const[o,n="0"]=a.toString().split("e"),d=Math.round(+`${o}e${+n-t}`),[_,E="0"]=d.toString().split("e");return+`${_}e${+E+t}`}const on={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},yn=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215,0];function Oe(a,t,o){return Math.max(t,Math.min(o,a))}const lr=class cr{constructor(){it(this,"_colorIndex"),it(this,"_color"),it(this,"_colorName"),this._colorIndex=256,this._color=null,this._colorName=null}get color(){return this._color}set color(t){t==null?this._color=null:(this._color=Math.round(Oe(t,0,256*256*256-1)),this._colorIndex=this.getColorIndexByValue(this._color),this._colorName=this.getColorNameByValue(this._color))}get hexColor(){if(this._color&&this._color>0&&this._color<=16777215){let t=this._color.toString(16).toUpperCase();for(;t.length<6;)t="0"+t;return`0x${t}`}return""}get cssColor(){return`rgb(${this.red},${this.green},${this.blue})`}get red(){return this.color!=null?this.color>>16&255:null}get green(){return this.color!=null?this.color>>8&255:null}get blue(){return this.color!=null?this.color&255:null}get colorIndex(){return this._colorIndex}set colorIndex(t){t==null?this._colorIndex=null:(this._colorIndex=Oe(t,0,256),this._color=yn[t],this._colorName=this.getColorNameByValue(this._color))}get colorName(){return this._colorName}set colorName(t){if(t){const o=on[t.toLowerCase()];o!==void 0&&(this._colorName=t,this._color=o,this._colorIndex=this.getColorIndexByValue(this._color))}else this._colorName=null}get hasColorName(){return this._colorName==null}get hasColorIndex(){return this._colorIndex==null}get isByLayer(){return this.colorIndex==256}setByLayer(){return this.colorIndex=256,this}get isByBlock(){return this.colorIndex==0}setByBlock(){return this.colorIndex=0,this}setScalar(t){return this.setRGB(t,t,t),this}setRGB(t,o,n){const d=Math.round(Oe(t,0,255)),_=Math.round(Oe(o,0,255)),E=Math.round(Oe(n,0,255));return this.color=(d<<16)+(_<<8)+E,this}setColorName(t){const o=on[t.toLowerCase()];return o!==void 0&&(this.color=o),this}clone(){const t=new cr;return t.colorIndex=this.colorIndex,t.color=this.color,t._colorName=this._colorName,this}copy(t){return this.colorIndex=t.colorIndex,this.color=t.color,this._colorName=t._colorName,this}equals(t){return t.color==this.color&&t.colorIndex==this.colorIndex&&t._colorName==this._colorName}toString(){return this.isByLayer?"ByLayer":this.isByBlock?"ByBlock":this.colorName?this.colorName:this.hexColor}getColorNameByValue(t){for(const[o,n]of Object.entries(on))if(n===t)return o;return null}getColorIndexByValue(t){const o=yn.length-1;for(let n=1;n<o;++n)if(yn[n]===t)return n;return null}};it(lr,"NAMES",on);let uo=lr;class vt{constructor(t,o){it(this,"x"),it(this,"y"),this.x=t,this.y=o}add(t){return new vt(this.x+t.x,this.y+t.y)}sub(t){return new vt(this.x-t.x,this.y-t.y)}multiply(t){return new vt(this.x*t,this.y*t)}length(){return Math.sqrt(this.x**2+this.y**2)}norm(){const t=this.length();return t===0?new vt(0,0):new vt(this.x/t,this.y/t)}}function fo(a,t,o,n=5){let d,_,E;o<0?(d=Math.atan(-o)*4,_=new vt(a.x,a.y),E=new vt(t.x,t.y)):(d=Math.atan(o)*4,_=new vt(t.x,t.y),E=new vt(a.x,a.y));const h=E.sub(_),g=h.length(),A=_.add(h.multiply(.5)),y=Math.abs(g/2/Math.tan(d/2)),v=h.norm(),I=new vt(v.x*Math.cos(Math.PI/2)-v.y*Math.sin(Math.PI/2),v.y*Math.cos(Math.PI/2)+v.x*Math.sin(Math.PI/2)),p=d<Math.PI?A.add(I.multiply(-y)):A.add(I.multiply(y)),w=Math.atan2(E.y-p.y,E.x-p.x)/Math.PI*180;let C=Math.atan2(_.y-p.y,_.x-p.x)/Math.PI*180;C<w&&(C+=360);const m=E.sub(p).length(),L=Math.floor(w/n)*n+n,N=Math.ceil(C/n)*n-n,W=[];for(let B=L;B<=N;B+=n){const F=B/180*Math.PI,H=p.add(new vt(Math.cos(F)*m,Math.sin(F)*m));W.push(H)}return o<0&&W.reverse(),W}function ho(a,t=!1){let o=[];const n=a.vertices.map(d=>({x:d.x,y:d.y,bulge:d.bulge}));t&&n.push(n[0]);for(let d=0,_=n.length;d<_-1;++d){const E=n[d],h=n[d+1];o.push(E),n[d].bulge&&(o=o.concat(fo(E,h,a.vertices[d].bulge))),d===_-2&&o.push(h)}return o}class go{constructor(){it(this,"blockMap",new Map)}rotate(t,o){const n=Math.cos(o),d=Math.sin(o);return{x:t.x*n-t.y*d,y:t.x*d+t.y*n}}interpolateBSpline(t,o,n,d=25,_){const E=[],h=t.map(y=>[y.x,y.y]),g=[n[o]],A=[n[o],n[n.length-1-o]];for(let y=o+1;y<n.length-o;++y)g[g.length-1]!==n[y]&&g.push(n[y]);for(let y=1;y<g.length;++y){const v=g[y-1],I=g[y];for(let p=0;p<=d;++p){let C=(p/d*(I-v)+v-A[0])/(A[1]-A[0]);C=Math.max(0,Math.min(1,C));const m=co(C,o,h,n,_);E.push({x:m[0],y:m[1]})}}return E}addFlipXIfApplicable(t,{bbox:o,element:n}){return"extrusionDirection"in t&&t.extrusionDirection.z===-1?{bbox:new It().expandByPoint({x:-o.min.x,y:o.min.y}).expandByPoint({x:-o.max.x,y:o.max.y}),element:`<g transform="matrix(-1 0 0 1 0 0)">${n}</g>`}:{bbox:o,element:n}}line(t){const o=new It().expandByPoint({x:t.startPoint.x,y:t.startPoint.y}).expandByPoint({x:t.endPoint.x,y:t.endPoint.y}),n=`<line x1="${t.startPoint.x}" y1="${t.startPoint.y}" x2="${t.endPoint.x}" y2="${t.endPoint.y}" />`;return{bbox:o,element:n}}ray(t){const n=t.firstPoint,d={x:n.x+t.unitDirection.x*1e4,y:n.y+t.unitDirection.y*1e4},_=new It().expandByPoint(n).expandByPoint(d),E=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:E}}xline(t){const n={x:t.firstPoint.x-t.unitDirection.x*1e4,y:t.firstPoint.y-t.unitDirection.y*1e4},d={x:t.firstPoint.x+t.unitDirection.x*1e4,y:t.firstPoint.y+t.unitDirection.y*1e4},_=new It().expandByPoint(n).expandByPoint(d),E=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:E}}extractMTextLines(t){return t.replace(/\\U\+([0-9A-Fa-f]{4})/g,(o,n)=>String.fromCharCode(parseInt(n,16))).replace(/\\P/g,`
|
|
13
|
+
}`;var G=new Function(Object.keys(P),R)(...Object.values(P)),M=`methodCaller<(${u.map(S=>S.name)}) => ${c.name}>`;return ra(ze(M,G))};function _a(e){e>>>=0,e>9&&(qt[e+1]+=1)}function da(e,r,i,s,c){return e>>>=0,r>>>=0,i>>>=0,s>>>=0,c>>>=0,gn[e](r,i,s,c)}function la(){return Pt.toHandle([])}function ca(e){return e>>>=0,Pt.toHandle(xn(e))}function Ea(){return Pt.toHandle({})}function ua(e){e>>>=0;var r=Pt.toValue(e);un(r),fn(e)}function fa(e,r,i){e>>>=0,r>>>=0,i>>>=0,e=Pt.toValue(e),r=Pt.toValue(r),i=Pt.toValue(i),e[r]=i}function ha(e,r){e=ue(e),r>>>=0;var i=new Date(e*1e3);x[r>>>2>>>0]=i.getUTCSeconds(),x[r+4>>>2>>>0]=i.getUTCMinutes(),x[r+8>>>2>>>0]=i.getUTCHours(),x[r+12>>>2>>>0]=i.getUTCDate(),x[r+16>>>2>>>0]=i.getUTCMonth(),x[r+20>>>2>>>0]=i.getUTCFullYear()-1900,x[r+24>>>2>>>0]=i.getUTCDay();var s=Date.UTC(i.getUTCFullYear(),0,1,0,0,0,0),c=(i.getTime()-s)/(1e3*60*60*24)|0;x[r+28>>>2>>>0]=c}var ga=e=>e%4===0&&(e%100!==0||e%400===0),Aa=[0,31,60,91,121,152,182,213,244,274,305,335],Ta=[0,31,59,90,120,151,181,212,243,273,304,334],Pa=e=>{var r=ga(e.getFullYear()),i=r?Aa:Ta,s=i[e.getMonth()]+e.getDate()-1;return s},ya=function(e){e>>>=0;var r=(()=>{var i=new Date(x[e+20>>>2>>>0]+1900,x[e+16>>>2>>>0],x[e+12>>>2>>>0],x[e+8>>>2>>>0],x[e+4>>>2>>>0],x[e>>>2>>>0],0);if(isNaN(i.getTime()))return-1;var s=x[e+32>>>2>>>0],c=i.getTimezoneOffset(),u=new Date(i.getFullYear(),0,1),f=new Date(i.getFullYear(),6,1).getTimezoneOffset(),T=u.getTimezoneOffset(),P=Math.min(T,f);if(s<0)x[e+32>>>2>>>0]=+(f!=T&&P==c);else if(s>0!=(P==c)){var D=Math.max(T,f),R=s>0?P:D;i.setTime(i.getTime()+(R-c)*6e4)}x[e+24>>>2>>>0]=i.getDay();var G=Pa(i)|0;return x[e+28>>>2>>>0]=G,x[e>>>2>>>0]=i.getSeconds(),x[e+4>>>2>>>0]=i.getMinutes(),x[e+8>>>2>>>0]=i.getHours(),x[e+12>>>2>>>0]=i.getDate(),x[e+16>>>2>>>0]=i.getMonth(),x[e+20>>>2>>>0]=i.getYear(),i.getTime()/1e3})();return BigInt(r)},Ia=function(e,r,i,s){e>>>=0,r>>>=0,i>>>=0,s>>>=0;var c=new Date().getFullYear(),u=new Date(c,0,1),f=new Date(c,6,1),T=u.getTimezoneOffset(),P=f.getTimezoneOffset(),D=Math.max(T,P);k[e>>>2>>>0]=D*60,x[r>>>2>>>0]=+(T!=P);var R=S=>{var O=S>=0?"-":"+",$=Math.abs(S),nt=String(Math.floor($/60)).padStart(2,"0"),rt=String($%60).padStart(2,"0");return`UTC${O}${nt}${rt}`},G=R(T),M=R(P);P<T?(Qt(G,i,17),Qt(M,s,17)):(Qt(G,s,17),Qt(M,i,17))},pa=()=>Date.now();function va(e){return e>>>=0,C(Kt(e))}var ma=()=>performance.now(),Ca=()=>4294901760,Da=(e,r)=>Math.ceil(e/r)*r,wa=e=>{var r=an.buffer.byteLength,i=(e-r+65535)/65536|0;try{return an.grow(i),H(),1}catch{}};function Ra(e){e>>>=0;var r=lt.length,i=Ca();if(e>i)return!1;for(var s=1;s<=4;s*=2){var c=r*(1+.2/s);c=Math.min(c,e+100663296);var u=Math.min(i,Da(Math.max(e,c),65536)),f=wa(u);if(f)return!0}return!1}var nn={},Sa=()=>h,ke=()=>{var c;if(!ke.strings){var e=(((c=globalThis.navigator)==null?void 0:c.language)??"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:Sa()};for(var i in nn)nn[i]===void 0?delete r[i]:r[i]=nn[i];var s=[];for(var i in r)s.push(`${i}=${r[i]}`);ke.strings=s}return ke.strings};function La(e,r){e>>>=0,r>>>=0;var i=0,s=0;for(var c of ke()){var u=r+i;k[e+s>>>2>>>0]=u,i+=Qt(c,u,1/0)+1,s+=4}return 0}function Ya(e,r){e>>>=0,r>>>=0;var i=ke();k[e>>>2>>>0]=i.length;var s=0;for(var c of i)s+=Lt(c)+1;return k[r>>>2>>>0]=s,0}function Na(e){try{var r=q.getStreamFromFD(e);return l.close(r),0}catch(i){if(typeof l>"u"||i.name!=="ErrnoError")throw i;return i.errno}}var Ga=(e,r,i,s)=>{for(var c=0,u=0;u<i;u++){var f=k[r>>>2>>>0],T=k[r+4>>>2>>>0];r+=8;var P=l.read(e,z,f,T,s);if(P<0)return-1;if(c+=P,P<T)break}return c};function Wa(e,r,i,s){r>>>=0,i>>>=0,s>>>=0;try{var c=q.getStreamFromFD(e),u=Ga(c,r,i);return k[s>>>2>>>0]=u,0}catch(f){if(typeof l>"u"||f.name!=="ErrnoError")throw f;return f.errno}}function Ma(e,r,i,s){r=ue(r),s>>>=0;try{if(isNaN(r))return 22;var c=q.getStreamFromFD(e);return l.llseek(c,r,i),j[s>>>3>>>0]=BigInt(c.position),c.getdents&&r===0&&i===0&&(c.getdents=null),0}catch(u){if(typeof l>"u"||u.name!=="ErrnoError")throw u;return u.errno}}var ba=(e,r,i,s)=>{for(var c=0,u=0;u<i;u++){var f=k[r>>>2>>>0],T=k[r+4>>>2>>>0];r+=8;var P=l.write(e,z,f,T,s);if(P<0)return-1;if(c+=P,P<T)break}return c};function xa(e,r,i,s){r>>>=0,i>>>=0,s>>>=0;try{var c=q.getStreamFromFD(e),u=ba(c,r,i);return k[s>>>2>>>0]=u,0}catch(f){if(typeof l>"u"||f.name!=="ErrnoError")throw f;return f.errno}}function ka(e,r){return e>>>=0,r>>>=0,Vt(lt.subarray(e>>>0,e+r>>>0))}var kn=e=>{var r=o["_"+e];return r},Oa=(e,r)=>{z.set(e,r>>>0)},On=e=>$n(e),Ba=e=>{var r=Lt(e)+1,i=On(r);return Qt(e,i,r),i},Bn=(e,r,i,s,c)=>{var u={string:O=>{var $=0;return O!=null&&O!==0&&($=Ba(O)),$},array:O=>{var $=On(O.length);return Oa(O,$),$}};function f(O){return r==="string"?Kt(O):r==="pointer"?O>>>0:r==="boolean"?!!O:O}var T=kn(e),P=[],D=0;if(s)for(var R=0;R<s.length;R++){var G=u[i[R]];G?(D===0&&(D=Ce()),P[R]=G(s[R])):P[R]=s[R]}var M=T(...P);function S(O){return D!==0&&V(D),f(O)}return M=S(M),M},Fa=(e,r,i,s)=>{var c=!i||i.every(f=>f==="number"||f==="boolean"),u=r!=="string";return u&&c&&!s?kn(e):(...f)=>Bn(e,r,i,f)},Ua=e=>{var r=Lt(e)+1,i=rn(r);return i&&Qt(e,i,r),i};if(l.createPreloadedFile=$e,l.preloadFile=se,l.staticInit(),fr(),Rr(),o.noExitRuntime&&o.noExitRuntime,o.preloadPlugins&&(ie=o.preloadPlugins),o.print&&(w=o.print),o.printErr&&(C=o.printErr),o.wasmBinary&&(m=o.wasmBinary),o.arguments&&o.arguments,o.thisProgram&&(h=o.thisProgram),o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.shift()();o.ENV=nn,o.ccall=Bn,o.cwrap=Fa,o.setValue=et,o.UTF8ToString=Kt,o.stringToNewUTF8=Ua,o.FS=l;var jt,rn,Fn,Un,$n,Vn,an,Hn;function $a(e){o.__Znwm=e._Znwm,o.__ZdlPvm=e._ZdlPvm,jt=e.free,rn=e.malloc,e.calloc,e.realloc,Fn=e.__getTypeName,o._strndup=e.strndup,o.__ZdaPv=e._ZdaPv,o.__ZdaPvm=e._ZdaPvm,o.__ZdlPv=e._ZdlPv,o._emscripten_builtin_malloc=e.emscripten_builtin_malloc,o.__Znam=e._Znam,o.__ZnamSt11align_val_t=e._ZnamSt11align_val_t,o.__ZnwmSt11align_val_t=e._ZnwmSt11align_val_t,o.___libc_calloc=e.__libc_calloc,o.___libc_free=e.__libc_free,o.___libc_malloc=e.__libc_malloc,o.___libc_realloc=e.__libc_realloc,o._emscripten_builtin_calloc=e.emscripten_builtin_calloc,o._emscripten_builtin_free=e.emscripten_builtin_free,o._emscripten_builtin_realloc=e.emscripten_builtin_realloc,o._malloc_size=e.malloc_size,o._malloc_usable_size=e.malloc_usable_size,o._reallocf=e.reallocf,Un=e._emscripten_stack_restore,$n=e._emscripten_stack_alloc,Vn=e.emscripten_stack_get_current,an=e.memory,Hn=e.__indirect_function_table}var Xn={__cxa_throw:Se,__syscall_fcntl64:sn,__syscall_fstat64:_n,__syscall_ioctl:dn,__syscall_lstat64:Ve,__syscall_newfstatat:Ye,__syscall_openat:K,__syscall_stat64:Q,_abort_js:zt,_embind_register_bigint:Xe,_embind_register_bool:ln,_embind_register_class:Nr,_embind_register_class_property:Gr,_embind_register_emval:Mr,_embind_register_enum:xr,_embind_register_enum_value:kr,_embind_register_float:Br,_embind_register_function:Hr,_embind_register_integer:Xr,_embind_register_memory_view:Kr,_embind_register_std_string:zr,_embind_register_std_wstring:ea,_embind_register_void:na,_emval_create_invoker:sa,_emval_decref:fn,_emval_incref:_a,_emval_invoke:da,_emval_new_array:la,_emval_new_cstring:ca,_emval_new_object:Ea,_emval_run_destructors:ua,_emval_set_property:fa,_gmtime_js:ha,_mktime_js:ya,_tzset_js:Ia,emscripten_date_now:pa,emscripten_err:va,emscripten_get_now:ma,emscripten_resize_heap:Ra,environ_get:La,environ_sizes_get:Ya,fd_close:Na,fd_read:Wa,fd_seek:Ma,fd_write:xa,random_get:ka};function Va(e){e=Object.assign({},e);var r=c=>u=>c(u)>>>0,i=c=>(u,f)=>c(u,f)>>>0,s=c=>()=>c()>>>0;return e.malloc=r(e.malloc),e.calloc=i(e.calloc),e.realloc=i(e.realloc),e.__getTypeName=r(e.__getTypeName),e.emscripten_builtin_malloc=r(e.emscripten_builtin_malloc),e.emscripten_builtin_calloc=i(e.emscripten_builtin_calloc),e._emscripten_stack_alloc=r(e._emscripten_stack_alloc),e.emscripten_stack_get_current=s(e.emscripten_stack_get_current),e}function An(){if(Tt>0){Yt=An;return}if(J(),Tt>0){Yt=An;return}function e(){var r;o.calledRun=!0,!L&&(tt(),W==null||W(o),(r=o.onRuntimeInitialized)==null||r.call(o),ft())}o.setStatus?(o.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>o.setStatus(""),1),e()},1)):e()}var de;return de=await bt(),An(),F?t=o:t=new Promise((e,r)=>{W=e,B=r}),t}var ja=Object.defineProperty,to=(a,t,o)=>t in a?ja(a,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[t]=o,it=(a,t,o)=>to(a,typeof t!="symbol"?t+"":t,o);const eo=["utf-8","utf-8","iso-8859-1","iso-8859-2","iso-8859-3","iso-8859-4","iso-8859-5","iso-8859-6","iso-8859-7","iso-8859-8","iso-8859-9","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","utf-8","shift-jis","macintosh","big5","utf-8","utf-8","ibm866","windows-1250","windows-1251","windows-1252","gbk","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-874","shift-jis","gbk","euc-kr","big5","utf-8","utf-16le","windows-1258"],tr=a=>eo[a];var le=(a=>(a[a.TopLeft=1]="TopLeft",a[a.TopCenter=2]="TopCenter",a[a.TopRight=3]="TopRight",a[a.MiddleLeft=4]="MiddleLeft",a[a.MiddleCenter=5]="MiddleCenter",a[a.MiddleRight=6]="MiddleRight",a[a.BottomLeft=7]="BottomLeft",a[a.BottomCenter=8]="BottomCenter",a[a.BottomRight=9]="BottomRight",a))(le||{}),In=(a=>(a[a.PatternFill=0]="PatternFill",a[a.SolidFill=1]="SolidFill",a))(In||{}),pn=(a=>(a[a.NonAssociative=0]="NonAssociative",a[a.Associative=1]="Associative",a))(pn||{}),or=(a=>(a[a.Solid=0]="Solid",a[a.Gradient=1]="Gradient",a))(or||{}),vn=(a=>(a[a.TwoColor=0]="TwoColor",a[a.OneColor=1]="OneColor",a))(vn||{}),Be=(a=>(a[a.Line=1]="Line",a[a.Circular=2]="Circular",a[a.Elliptic=3]="Elliptic",a[a.Spline=4]="Spline",a))(Be||{}),mn=(a=>(a[a.LEFT=0]="LEFT",a[a.CENTER=1]="CENTER",a[a.RIGHT=2]="RIGHT",a[a.ALIGNED=3]="ALIGNED",a[a.MIDDLE=4]="MIDDLE",a[a.FIT=5]="FIT",a))(mn||{});const no=Object.freeze(["ACADMAINTVER","ACADVER","ANGBASE","ANGDIR","ATTMODE","AUNITS","AUPREC","CECOLOR","CELTSCALE","CELTYPE","CELWEIGHT","CEPSNID","CEPSNTYPE","CHAMFERA","CHAMFERB","CHAMFERC","CHAMFERD","CLAYER","CMLJUST","CMLSCALE","CMLSTYLE","CSHADOW","DIMADEC","DIMALT","DIMALTD","DIMALTF","DIMALTRND","DIMALTTD","DIMALTTZ","DIMALTU","DIMALTZ","DIMAPOST","DIMASO","DIMASSOC","DIMASZ","DIMATFIT","DIMAUNIT","DIMAZIN","DIMBLK","DIMBLK1","DIMBLK2","DIMCEN","DIMCLRD","DIMCLRE","DIMCLRT","DIMDEC","DIMDLE","DIMDLI","DIMDSEP","DIMEXE","DIMEXO","DIMFAC","DIMGAP","DIMJUST","DIMLDRBLK","DIMLFAC","DIMLIM","DIMLUNIT","DIMLWD","DIMLWE","DIMPOST","DIMRND","DIMSAH","DIMSCALE","DIMSD1","DIMSD2","DIMSE1","DIMSE2","DIMSHO","DIMSOXD","DIMSTYLE","DIMTAD","DIMTDEC","DIMTFAC","DIMTIH","DIMTIX","DIMTM","DIMTMOVE","DIMTOFL","DIMTOH","DIMTOL","DIMTOLJ","DIMTP","DIMTSZ","DIMTVP","DIMTXSTY","DIMTXT","DIMTZIN","DIMUPT","DIMZIN","DISPSILH","DRAGVS","DWGCODEPAGE","ELEVATION","ENDCAPS","EXTMAX","EXTMIN","EXTNAMES","FILLETRAD","FILLMODE","FINGERPRINTGUID","HALOGAP","HANDSEED","HIDETEXT","HYPERLINKBASE","INDEXCTL","INSBASE","INSUNITS","INTERFERECOLOR","INTERFEREOBJVS","INTERFEREVPVS","INTERSECTIONCOLOR","INTERSECTIONDISPLAY","JOINSTYLE","LIMCHECK","LIMMAX","LIMMIN","LTSCALE","LUNITS","LUPREC","LWDISPLAY","MAXACTVP","MEASUREMENT","MENU","MIRRTEXT","OBSCOLOR","OBSLTYPE","ORTHOMODE","PDMODE","PDSIZE","PELEVATION","PEXTMAX","PEXTMIN","PINSBASE","PLIMCHECK","PLIMMAX","PLIMMIN","PLINEGEN","PLINEWID","PROJECTNAME","PROXYGRAPHICS","PSLTSCALE","PSTYLEMODE","PSVPSCALE","PUCSBASE","PUCSNAME","PUCSORG","PUCSORGBACK","PUCSORGBOTTOM","PUCSORGFRONT","PUCSORGLEFT","PUCSORGRIGHT","PUCSORGTOP","PUCSORTHOREF","PUCSORTHOVIEW","PUCSXDIR","PUCSYDIR","QTEXTMODE","REGENMODE","SHADEDGE","SHADEDIF","SHADOWPLANELOCATION","SKETCHINC","SKPOLY","SORTENTS","SPLINESEGS","SPLINETYPE","SURFTAB1","SURFTAB2","SURFTYPE","SURFU","SURFV","TDCREATE","TDINDWG","TDUCREATE","TDUPDATE","TDUSRTIMER","TDUUPDATE","TEXTSIZE","TEXTSTYLE","THICKNESS","TILEMODE","TRACEWID","TREEDEPTH","UCSBASE","UCSNAME","UCSORG","UCSORGBACK","UCSORGBOTTOM","UCSORGFRONT","UCSORGLEFT","UCSORGRIGHT","UCSORGTOP","UCSORTHOREF","UCSORTHOVIEW","UCSXDIR","UCSYDIR","UNITMODE","USERI1","USERI2","USERI3","USERI4","USERI5","USERR1","USERR2","USERR3","USERR4","USERR5","USRTIMER","VERSIONGUID","VISRETAIN","WORLDVIEW","XCLIPFRAME","XEDIT"]),ro=[{type:"invalid",hdr:"INVALI",description:"No DWG",version:0},{type:"r1.1",hdr:"MC0.0",description:"MicroCAD Release 1.1",version:0},{type:"r1.2",hdr:"AC1.2",description:"AutoCAD Release 1.2",version:0},{type:"r1.3",hdr:"AC1.3",description:"AutoCAD Release 1.3",version:1},{type:"r1.4",hdr:"AC1.40",description:"AutoCAD Release 1.4",version:2},{type:"r2.0b",hdr:"AC1.50",description:"AutoCAD 2.0 beta",version:3},{type:"r2.0",hdr:"AC1.50",description:"AutoCAD Release 2.0",version:4},{type:"r2.10",hdr:"AC2.10",description:"AutoCAD Release 2.10",version:5},{type:"r2.21",hdr:"AC2.21",description:"AutoCAD Release 2.21",version:6},{type:"r2.22",hdr:"AC2.22",description:"AutoCAD Release 2.22",version:7},{type:"r2.4",hdr:"AC1001",description:"AutoCAD Release 2.4",version:8},{type:"r2.5",hdr:"AC1002",description:"AutoCAD Release 2.5",version:9},{type:"r2.6",hdr:"AC1003",description:"AutoCAD Release 2.6",version:10},{type:"r9",hdr:"AC1004",description:"AutoCAD Release 9",version:11},{type:"r9c1",hdr:"AC1005",description:"AutoCAD Release 9c1",version:12},{type:"r10",hdr:"AC1006",description:"AutoCAD Release 10",version:13},{type:"r11b1",hdr:"AC1007",description:"AutoCAD 11 beta 1",version:14},{type:"r11b2",hdr:"AC1008",description:"AutoCAD 11 beta 2",version:15},{type:"r11",hdr:"AC1009",description:"AutoCAD Release 11/12 (LT R1/R2)",version:16},{type:"r13b1",hdr:"AC1010",description:"AutoCAD pre-R13 a",version:17},{type:"r13b2",hdr:"AC1011",description:"AutoCAD pre-R13 b",version:18},{type:"r13",hdr:"AC1012",description:"AutoCAD Release 13",version:19},{type:"r13c3",hdr:"AC1013",description:"AutoCAD Release 13c3",version:20},{type:"r14",hdr:"AC1014",description:"AutoCAD Release 14",version:21},{type:"r2000b",hdr:"AC1500",description:"AutoCAD 2000 beta",version:22},{type:"r2000",hdr:"AC1015",description:"AutoCAD Release 2000",version:23},{type:"r2000i",hdr:"AC1016",description:"AutoCAD Release 2000i",version:23},{type:"r2002",hdr:"AC1017",description:"AutoCAD Release 2002",version:23},{type:"r2004a",hdr:"AC402a",description:"AutoCAD 2004 alpha a",version:24},{type:"r2004b",hdr:"AC402b",description:"AutoCAD 2004 alpha b",version:24},{type:"r2004c",hdr:"AC1018",description:"AutoCAD 2004 beta",version:24},{type:"r2004",hdr:"AC1018",description:"AutoCAD Release 2004",version:25},{type:"r2007a",hdr:"AC701a",description:"AutoCAD 2007 alpha",version:26},{type:"r2007b",hdr:"AC1021",description:"AutoCAD 2007 beta",version:26},{type:"r2007",hdr:"AC1021",description:"AutoCAD Release 2007",version:27},{type:"r2010b",hdr:"AC1024",description:"AutoCAD 2010 beta",version:28},{type:"r2010",hdr:"AC1024",description:"AutoCAD Release 2010",version:29},{type:"r2013b",hdr:"AC1027",description:"AutoCAD 2013 beta",version:30},{type:"r2013",hdr:"AC1027",description:"AutoCAD Release 2013",version:31},{type:"r2018b",hdr:"AC1032",description:"AutoCAD 2018 beta",version:32},{type:"r2018",hdr:"AC1032",description:"AutoCAD Release 2018",version:33},{type:"r2022b",hdr:"AC103-4",description:"AutoCAD 2022 beta",version:36},{type:"r>2022",hdr:"",description:"AutoCAD Release >2022",version:0}];var ir=(a=>(a[a.DWG_SUPERTYPE_ENTITY=0]="DWG_SUPERTYPE_ENTITY",a[a.DWG_SUPERTYPE_OBJECT=1]="DWG_SUPERTYPE_OBJECT",a))(ir||{}),sr=(a=>(a[a.WRONGCRC=1]="WRONGCRC",a[a.NOTYETSUPPORTED=2]="NOTYETSUPPORTED",a[a.UNHANDLEDCLASS=4]="UNHANDLEDCLASS",a[a.INVALIDTYPE=8]="INVALIDTYPE",a[a.INVALIDHANDLE=16]="INVALIDHANDLE",a[a.INVALIDEED=32]="INVALIDEED",a[a.VALUEOUTOFBOUNDS=64]="VALUEOUTOFBOUNDS",a[a.CLASSESNOTFOUND=128]="CLASSESNOTFOUND",a[a.SECTIONNOTFOUND=256]="SECTIONNOTFOUND",a[a.PAGENOTFOUND=512]="PAGENOTFOUND",a[a.INTERNALERROR=1024]="INTERNALERROR",a[a.INVALIDDWG=2048]="INVALIDDWG",a[a.IOERROR=4096]="IOERROR",a[a.OUTOFMEM=8192]="OUTOFMEM",a))(sr||{}),Y=(a=>(a[a.DWG_TYPE_UNUSED=0]="DWG_TYPE_UNUSED",a[a.DWG_TYPE_TEXT=1]="DWG_TYPE_TEXT",a[a.DWG_TYPE_ATTRIB=2]="DWG_TYPE_ATTRIB",a[a.DWG_TYPE_ATTDEF=3]="DWG_TYPE_ATTDEF",a[a.DWG_TYPE_BLOCK=4]="DWG_TYPE_BLOCK",a[a.DWG_TYPE_ENDBLK=5]="DWG_TYPE_ENDBLK",a[a.DWG_TYPE_SEQEND=6]="DWG_TYPE_SEQEND",a[a.DWG_TYPE_INSERT=7]="DWG_TYPE_INSERT",a[a.DWG_TYPE_MINSERT=8]="DWG_TYPE_MINSERT",a[a.DWG_TYPE_VERTEX_2D=10]="DWG_TYPE_VERTEX_2D",a[a.DWG_TYPE_VERTEX_3D=11]="DWG_TYPE_VERTEX_3D",a[a.DWG_TYPE_VERTEX_MESH=12]="DWG_TYPE_VERTEX_MESH",a[a.DWG_TYPE_VERTEX_PFACE=13]="DWG_TYPE_VERTEX_PFACE",a[a.DWG_TYPE_VERTEX_PFACE_FACE=14]="DWG_TYPE_VERTEX_PFACE_FACE",a[a.DWG_TYPE_POLYLINE_2D=15]="DWG_TYPE_POLYLINE_2D",a[a.DWG_TYPE_POLYLINE_3D=16]="DWG_TYPE_POLYLINE_3D",a[a.DWG_TYPE_ARC=17]="DWG_TYPE_ARC",a[a.DWG_TYPE_CIRCLE=18]="DWG_TYPE_CIRCLE",a[a.DWG_TYPE_LINE=19]="DWG_TYPE_LINE",a[a.DWG_TYPE_DIMENSION_ORDINATE=20]="DWG_TYPE_DIMENSION_ORDINATE",a[a.DWG_TYPE_DIMENSION_LINEAR=21]="DWG_TYPE_DIMENSION_LINEAR",a[a.DWG_TYPE_DIMENSION_ALIGNED=22]="DWG_TYPE_DIMENSION_ALIGNED",a[a.DWG_TYPE_DIMENSION_ANG3PT=23]="DWG_TYPE_DIMENSION_ANG3PT",a[a.DWG_TYPE_DIMENSION_ANG2LN=24]="DWG_TYPE_DIMENSION_ANG2LN",a[a.DWG_TYPE_DIMENSION_RADIUS=25]="DWG_TYPE_DIMENSION_RADIUS",a[a.DWG_TYPE_DIMENSION_DIAMETER=26]="DWG_TYPE_DIMENSION_DIAMETER",a[a.DWG_TYPE_POINT=27]="DWG_TYPE_POINT",a[a.DWG_TYPE_3DFACE=28]="DWG_TYPE_3DFACE",a[a.DWG_TYPE_POLYLINE_PFACE=29]="DWG_TYPE_POLYLINE_PFACE",a[a.DWG_TYPE_POLYLINE_MESH=30]="DWG_TYPE_POLYLINE_MESH",a[a.DWG_TYPE_SOLID=31]="DWG_TYPE_SOLID",a[a.DWG_TYPE_TRACE=32]="DWG_TYPE_TRACE",a[a.DWG_TYPE_SHAPE=33]="DWG_TYPE_SHAPE",a[a.DWG_TYPE_VIEWPORT=34]="DWG_TYPE_VIEWPORT",a[a.DWG_TYPE_ELLIPSE=35]="DWG_TYPE_ELLIPSE",a[a.DWG_TYPE_SPLINE=36]="DWG_TYPE_SPLINE",a[a.DWG_TYPE_REGION=37]="DWG_TYPE_REGION",a[a.DWG_TYPE_3DSOLID=38]="DWG_TYPE_3DSOLID",a[a.DWG_TYPE_BODY=39]="DWG_TYPE_BODY",a[a.DWG_TYPE_RAY=40]="DWG_TYPE_RAY",a[a.DWG_TYPE_XLINE=41]="DWG_TYPE_XLINE",a[a.DWG_TYPE_DICTIONARY=42]="DWG_TYPE_DICTIONARY",a[a.DWG_TYPE_OLEFRAME=43]="DWG_TYPE_OLEFRAME",a[a.DWG_TYPE_MTEXT=44]="DWG_TYPE_MTEXT",a[a.DWG_TYPE_LEADER=45]="DWG_TYPE_LEADER",a[a.DWG_TYPE_TOLERANCE=46]="DWG_TYPE_TOLERANCE",a[a.DWG_TYPE_MLINE=47]="DWG_TYPE_MLINE",a[a.DWG_TYPE_BLOCK_CONTROL=48]="DWG_TYPE_BLOCK_CONTROL",a[a.DWG_TYPE_BLOCK_HEADER=49]="DWG_TYPE_BLOCK_HEADER",a[a.DWG_TYPE_LAYER_CONTROL=50]="DWG_TYPE_LAYER_CONTROL",a[a.DWG_TYPE_LAYER=51]="DWG_TYPE_LAYER",a[a.DWG_TYPE_STYLE_CONTROL=52]="DWG_TYPE_STYLE_CONTROL",a[a.DWG_TYPE_STYLE=53]="DWG_TYPE_STYLE",a[a.DWG_TYPE_LTYPE_CONTROL=56]="DWG_TYPE_LTYPE_CONTROL",a[a.DWG_TYPE_LTYPE=57]="DWG_TYPE_LTYPE",a[a.DWG_TYPE_VIEW_CONTROL=60]="DWG_TYPE_VIEW_CONTROL",a[a.DWG_TYPE_VIEW=61]="DWG_TYPE_VIEW",a[a.DWG_TYPE_UCS_CONTROL=62]="DWG_TYPE_UCS_CONTROL",a[a.DWG_TYPE_UCS=63]="DWG_TYPE_UCS",a[a.DWG_TYPE_VPORT_CONTROL=64]="DWG_TYPE_VPORT_CONTROL",a[a.DWG_TYPE_VPORT=65]="DWG_TYPE_VPORT",a[a.DWG_TYPE_APPID_CONTROL=66]="DWG_TYPE_APPID_CONTROL",a[a.DWG_TYPE_APPID=67]="DWG_TYPE_APPID",a[a.DWG_TYPE_DIMSTYLE_CONTROL=68]="DWG_TYPE_DIMSTYLE_CONTROL",a[a.DWG_TYPE_DIMSTYLE=69]="DWG_TYPE_DIMSTYLE",a[a.DWG_TYPE_VX_CONTROL=70]="DWG_TYPE_VX_CONTROL",a[a.DWG_TYPE_VX_TABLE_RECORD=71]="DWG_TYPE_VX_TABLE_RECORD",a[a.DWG_TYPE_GROUP=72]="DWG_TYPE_GROUP",a[a.DWG_TYPE_MLINESTYLE=73]="DWG_TYPE_MLINESTYLE",a[a.DWG_TYPE_OLE2FRAME=74]="DWG_TYPE_OLE2FRAME",a[a.DWG_TYPE_DUMMY=75]="DWG_TYPE_DUMMY",a[a.DWG_TYPE_LONG_TRANSACTION=76]="DWG_TYPE_LONG_TRANSACTION",a[a.DWG_TYPE_LWPOLYLINE=77]="DWG_TYPE_LWPOLYLINE",a[a.DWG_TYPE_HATCH=78]="DWG_TYPE_HATCH",a[a.DWG_TYPE_XRECORD=79]="DWG_TYPE_XRECORD",a[a.DWG_TYPE_PLACEHOLDER=80]="DWG_TYPE_PLACEHOLDER",a[a.DWG_TYPE_VBA_PROJECT=81]="DWG_TYPE_VBA_PROJECT",a[a.DWG_TYPE_LAYOUT=82]="DWG_TYPE_LAYOUT",a[a.DWG_TYPE_PROXY_ENTITY=498]="DWG_TYPE_PROXY_ENTITY",a[a.DWG_TYPE_PROXY_OBJECT=499]="DWG_TYPE_PROXY_OBJECT",a[a.DWG_TYPE_ACDSRECORD=500]="DWG_TYPE_ACDSRECORD",a[a.DWG_TYPE_ACDSSCHEMA=501]="DWG_TYPE_ACDSSCHEMA",a[a.DWG_TYPE_ACMECOMMANDHISTORY=502]="DWG_TYPE_ACMECOMMANDHISTORY",a[a.DWG_TYPE_ACMESCOPE=503]="DWG_TYPE_ACMESCOPE",a[a.DWG_TYPE_ACMESTATEMGR=504]="DWG_TYPE_ACMESTATEMGR",a[a.DWG_TYPE_ACSH_BOOLEAN_CLASS=505]="DWG_TYPE_ACSH_BOOLEAN_CLASS",a[a.DWG_TYPE_ACSH_BOX_CLASS=506]="DWG_TYPE_ACSH_BOX_CLASS",a[a.DWG_TYPE_ACSH_BREP_CLASS=507]="DWG_TYPE_ACSH_BREP_CLASS",a[a.DWG_TYPE_ACSH_CHAMFER_CLASS=508]="DWG_TYPE_ACSH_CHAMFER_CLASS",a[a.DWG_TYPE_ACSH_CONE_CLASS=509]="DWG_TYPE_ACSH_CONE_CLASS",a[a.DWG_TYPE_ACSH_CYLINDER_CLASS=510]="DWG_TYPE_ACSH_CYLINDER_CLASS",a[a.DWG_TYPE_ACSH_EXTRUSION_CLASS=511]="DWG_TYPE_ACSH_EXTRUSION_CLASS",a[a.DWG_TYPE_ACSH_FILLET_CLASS=512]="DWG_TYPE_ACSH_FILLET_CLASS",a[a.DWG_TYPE_ACSH_HISTORY_CLASS=513]="DWG_TYPE_ACSH_HISTORY_CLASS",a[a.DWG_TYPE_ACSH_LOFT_CLASS=514]="DWG_TYPE_ACSH_LOFT_CLASS",a[a.DWG_TYPE_ACSH_PYRAMID_CLASS=515]="DWG_TYPE_ACSH_PYRAMID_CLASS",a[a.DWG_TYPE_ACSH_REVOLVE_CLASS=516]="DWG_TYPE_ACSH_REVOLVE_CLASS",a[a.DWG_TYPE_ACSH_SPHERE_CLASS=517]="DWG_TYPE_ACSH_SPHERE_CLASS",a[a.DWG_TYPE_ACSH_SWEEP_CLASS=518]="DWG_TYPE_ACSH_SWEEP_CLASS",a[a.DWG_TYPE_ACSH_TORUS_CLASS=519]="DWG_TYPE_ACSH_TORUS_CLASS",a[a.DWG_TYPE_ACSH_WEDGE_CLASS=520]="DWG_TYPE_ACSH_WEDGE_CLASS",a[a.DWG_TYPE_ALDIMOBJECTCONTEXTDATA=521]="DWG_TYPE_ALDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_ALIGNMENTPARAMETERENTITY=522]="DWG_TYPE_ALIGNMENTPARAMETERENTITY",a[a.DWG_TYPE_ANGDIMOBJECTCONTEXTDATA=523]="DWG_TYPE_ANGDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA=524]="DWG_TYPE_ANNOTSCALEOBJECTCONTEXTDATA",a[a.DWG_TYPE_ARCALIGNEDTEXT=525]="DWG_TYPE_ARCALIGNEDTEXT",a[a.DWG_TYPE_ARC_DIMENSION=526]="DWG_TYPE_ARC_DIMENSION",a[a.DWG_TYPE_ASSOC2DCONSTRAINTGROUP=527]="DWG_TYPE_ASSOC2DCONSTRAINTGROUP",a[a.DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY=528]="DWG_TYPE_ASSOC3POINTANGULARDIMACTIONBODY",a[a.DWG_TYPE_ASSOCACTION=529]="DWG_TYPE_ASSOCACTION",a[a.DWG_TYPE_ASSOCACTIONPARAM=530]="DWG_TYPE_ASSOCACTIONPARAM",a[a.DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY=531]="DWG_TYPE_ASSOCALIGNEDDIMACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYACTIONBODY=532]="DWG_TYPE_ASSOCARRAYACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY=533]="DWG_TYPE_ASSOCARRAYMODIFYACTIONBODY",a[a.DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS=534]="DWG_TYPE_ASSOCARRAYMODIFYPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYPATHPARAMETERS=535]="DWG_TYPE_ASSOCARRAYPATHPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYPOLARPARAMETERS=536]="DWG_TYPE_ASSOCARRAYPOLARPARAMETERS",a[a.DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS=537]="DWG_TYPE_ASSOCARRAYRECTANGULARPARAMETERS",a[a.DWG_TYPE_ASSOCASMBODYACTIONPARAM=538]="DWG_TYPE_ASSOCASMBODYACTIONPARAM",a[a.DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY=539]="DWG_TYPE_ASSOCBLENDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM=540]="DWG_TYPE_ASSOCCOMPOUNDACTIONPARAM",a[a.DWG_TYPE_ASSOCDEPENDENCY=541]="DWG_TYPE_ASSOCDEPENDENCY",a[a.DWG_TYPE_ASSOCDIMDEPENDENCYBODY=542]="DWG_TYPE_ASSOCDIMDEPENDENCYBODY",a[a.DWG_TYPE_ASSOCEDGEACTIONPARAM=543]="DWG_TYPE_ASSOCEDGEACTIONPARAM",a[a.DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY=544]="DWG_TYPE_ASSOCEDGECHAMFERACTIONBODY",a[a.DWG_TYPE_ASSOCEDGEFILLETACTIONBODY=545]="DWG_TYPE_ASSOCEDGEFILLETACTIONBODY",a[a.DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY=546]="DWG_TYPE_ASSOCEXTENDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY=547]="DWG_TYPE_ASSOCEXTRUDEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCFACEACTIONPARAM=548]="DWG_TYPE_ASSOCFACEACTIONPARAM",a[a.DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY=549]="DWG_TYPE_ASSOCFILLETSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCGEOMDEPENDENCY=550]="DWG_TYPE_ASSOCGEOMDEPENDENCY",a[a.DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY=551]="DWG_TYPE_ASSOCLOFTEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCMLEADERACTIONBODY=552]="DWG_TYPE_ASSOCMLEADERACTIONBODY",a[a.DWG_TYPE_ASSOCNETWORK=553]="DWG_TYPE_ASSOCNETWORK",a[a.DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY=554]="DWG_TYPE_ASSOCNETWORKSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCOBJECTACTIONPARAM=555]="DWG_TYPE_ASSOCOBJECTACTIONPARAM",a[a.DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY=556]="DWG_TYPE_ASSOCOFFSETSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCORDINATEDIMACTIONBODY=557]="DWG_TYPE_ASSOCORDINATEDIMACTIONBODY",a[a.DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM=558]="DWG_TYPE_ASSOCOSNAPPOINTREFACTIONPARAM",a[a.DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY=559]="DWG_TYPE_ASSOCPATCHSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCPATHACTIONPARAM=560]="DWG_TYPE_ASSOCPATHACTIONPARAM",a[a.DWG_TYPE_ASSOCPERSSUBENTMANAGER=561]="DWG_TYPE_ASSOCPERSSUBENTMANAGER",a[a.DWG_TYPE_ASSOCPLANESURFACEACTIONBODY=562]="DWG_TYPE_ASSOCPLANESURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCPOINTREFACTIONPARAM=563]="DWG_TYPE_ASSOCPOINTREFACTIONPARAM",a[a.DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY=564]="DWG_TYPE_ASSOCRESTOREENTITYSTATEACTIONBODY",a[a.DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY=565]="DWG_TYPE_ASSOCREVOLVEDSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCROTATEDDIMACTIONBODY=566]="DWG_TYPE_ASSOCROTATEDDIMACTIONBODY",a[a.DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY=567]="DWG_TYPE_ASSOCSWEPTSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY=568]="DWG_TYPE_ASSOCTRIMSURFACEACTIONBODY",a[a.DWG_TYPE_ASSOCVALUEDEPENDENCY=569]="DWG_TYPE_ASSOCVALUEDEPENDENCY",a[a.DWG_TYPE_ASSOCVARIABLE=570]="DWG_TYPE_ASSOCVARIABLE",a[a.DWG_TYPE_ASSOCVERTEXACTIONPARAM=571]="DWG_TYPE_ASSOCVERTEXACTIONPARAM",a[a.DWG_TYPE_BASEPOINTPARAMETERENTITY=572]="DWG_TYPE_BASEPOINTPARAMETERENTITY",a[a.DWG_TYPE_BLKREFOBJECTCONTEXTDATA=573]="DWG_TYPE_BLKREFOBJECTCONTEXTDATA",a[a.DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER=574]="DWG_TYPE_BLOCKALIGNEDCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKALIGNMENTGRIP=575]="DWG_TYPE_BLOCKALIGNMENTGRIP",a[a.DWG_TYPE_BLOCKALIGNMENTPARAMETER=576]="DWG_TYPE_BLOCKALIGNMENTPARAMETER",a[a.DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER=577]="DWG_TYPE_BLOCKANGULARCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKARRAYACTION=578]="DWG_TYPE_BLOCKARRAYACTION",a[a.DWG_TYPE_BLOCKBASEPOINTPARAMETER=579]="DWG_TYPE_BLOCKBASEPOINTPARAMETER",a[a.DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER=580]="DWG_TYPE_BLOCKDIAMETRICCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKFLIPACTION=581]="DWG_TYPE_BLOCKFLIPACTION",a[a.DWG_TYPE_BLOCKFLIPGRIP=582]="DWG_TYPE_BLOCKFLIPGRIP",a[a.DWG_TYPE_BLOCKFLIPPARAMETER=583]="DWG_TYPE_BLOCKFLIPPARAMETER",a[a.DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT=584]="DWG_TYPE_BLOCKGRIPLOCATIONCOMPONENT",a[a.DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER=585]="DWG_TYPE_BLOCKHORIZONTALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER=586]="DWG_TYPE_BLOCKLINEARCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKLINEARGRIP=587]="DWG_TYPE_BLOCKLINEARGRIP",a[a.DWG_TYPE_BLOCKLINEARPARAMETER=588]="DWG_TYPE_BLOCKLINEARPARAMETER",a[a.DWG_TYPE_BLOCKLOOKUPACTION=589]="DWG_TYPE_BLOCKLOOKUPACTION",a[a.DWG_TYPE_BLOCKLOOKUPGRIP=590]="DWG_TYPE_BLOCKLOOKUPGRIP",a[a.DWG_TYPE_BLOCKLOOKUPPARAMETER=591]="DWG_TYPE_BLOCKLOOKUPPARAMETER",a[a.DWG_TYPE_BLOCKMOVEACTION=592]="DWG_TYPE_BLOCKMOVEACTION",a[a.DWG_TYPE_BLOCKPARAMDEPENDENCYBODY=593]="DWG_TYPE_BLOCKPARAMDEPENDENCYBODY",a[a.DWG_TYPE_BLOCKPOINTPARAMETER=594]="DWG_TYPE_BLOCKPOINTPARAMETER",a[a.DWG_TYPE_BLOCKPOLARGRIP=595]="DWG_TYPE_BLOCKPOLARGRIP",a[a.DWG_TYPE_BLOCKPOLARPARAMETER=596]="DWG_TYPE_BLOCKPOLARPARAMETER",a[a.DWG_TYPE_BLOCKPOLARSTRETCHACTION=597]="DWG_TYPE_BLOCKPOLARSTRETCHACTION",a[a.DWG_TYPE_BLOCKPROPERTIESTABLE=598]="DWG_TYPE_BLOCKPROPERTIESTABLE",a[a.DWG_TYPE_BLOCKPROPERTIESTABLEGRIP=599]="DWG_TYPE_BLOCKPROPERTIESTABLEGRIP",a[a.DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER=600]="DWG_TYPE_BLOCKRADIALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKREPRESENTATION=601]="DWG_TYPE_BLOCKREPRESENTATION",a[a.DWG_TYPE_BLOCKROTATEACTION=602]="DWG_TYPE_BLOCKROTATEACTION",a[a.DWG_TYPE_BLOCKROTATIONGRIP=603]="DWG_TYPE_BLOCKROTATIONGRIP",a[a.DWG_TYPE_BLOCKROTATIONPARAMETER=604]="DWG_TYPE_BLOCKROTATIONPARAMETER",a[a.DWG_TYPE_BLOCKSCALEACTION=605]="DWG_TYPE_BLOCKSCALEACTION",a[a.DWG_TYPE_BLOCKSTRETCHACTION=606]="DWG_TYPE_BLOCKSTRETCHACTION",a[a.DWG_TYPE_BLOCKUSERPARAMETER=607]="DWG_TYPE_BLOCKUSERPARAMETER",a[a.DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER=608]="DWG_TYPE_BLOCKVERTICALCONSTRAINTPARAMETER",a[a.DWG_TYPE_BLOCKVISIBILITYGRIP=609]="DWG_TYPE_BLOCKVISIBILITYGRIP",a[a.DWG_TYPE_BLOCKVISIBILITYPARAMETER=610]="DWG_TYPE_BLOCKVISIBILITYPARAMETER",a[a.DWG_TYPE_BLOCKXYGRIP=611]="DWG_TYPE_BLOCKXYGRIP",a[a.DWG_TYPE_BLOCKXYPARAMETER=612]="DWG_TYPE_BLOCKXYPARAMETER",a[a.DWG_TYPE_CAMERA=613]="DWG_TYPE_CAMERA",a[a.DWG_TYPE_CELLSTYLEMAP=614]="DWG_TYPE_CELLSTYLEMAP",a[a.DWG_TYPE_CONTEXTDATAMANAGER=615]="DWG_TYPE_CONTEXTDATAMANAGER",a[a.DWG_TYPE_CSACDOCUMENTOPTIONS=616]="DWG_TYPE_CSACDOCUMENTOPTIONS",a[a.DWG_TYPE_CURVEPATH=617]="DWG_TYPE_CURVEPATH",a[a.DWG_TYPE_DATALINK=618]="DWG_TYPE_DATALINK",a[a.DWG_TYPE_DATATABLE=619]="DWG_TYPE_DATATABLE",a[a.DWG_TYPE_DBCOLOR=620]="DWG_TYPE_DBCOLOR",a[a.DWG_TYPE_DETAILVIEWSTYLE=621]="DWG_TYPE_DETAILVIEWSTYLE",a[a.DWG_TYPE_DGNDEFINITION=622]="DWG_TYPE_DGNDEFINITION",a[a.DWG_TYPE_DGNUNDERLAY=623]="DWG_TYPE_DGNUNDERLAY",a[a.DWG_TYPE_DICTIONARYVAR=624]="DWG_TYPE_DICTIONARYVAR",a[a.DWG_TYPE_DICTIONARYWDFLT=625]="DWG_TYPE_DICTIONARYWDFLT",a[a.DWG_TYPE_DIMASSOC=626]="DWG_TYPE_DIMASSOC",a[a.DWG_TYPE_DMDIMOBJECTCONTEXTDATA=627]="DWG_TYPE_DMDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_DWFDEFINITION=628]="DWG_TYPE_DWFDEFINITION",a[a.DWG_TYPE_DWFUNDERLAY=629]="DWG_TYPE_DWFUNDERLAY",a[a.DWG_TYPE_DYNAMICBLOCKPROXYNODE=630]="DWG_TYPE_DYNAMICBLOCKPROXYNODE",a[a.DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER=631]="DWG_TYPE_DYNAMICBLOCKPURGEPREVENTER",a[a.DWG_TYPE_EVALUATION_GRAPH=632]="DWG_TYPE_EVALUATION_GRAPH",a[a.DWG_TYPE_EXTRUDEDSURFACE=633]="DWG_TYPE_EXTRUDEDSURFACE",a[a.DWG_TYPE_FCFOBJECTCONTEXTDATA=634]="DWG_TYPE_FCFOBJECTCONTEXTDATA",a[a.DWG_TYPE_FIELD=635]="DWG_TYPE_FIELD",a[a.DWG_TYPE_FIELDLIST=636]="DWG_TYPE_FIELDLIST",a[a.DWG_TYPE_FLIPPARAMETERENTITY=637]="DWG_TYPE_FLIPPARAMETERENTITY",a[a.DWG_TYPE_FLIPACTIONENTITY=638]="DWG_TYPE_FLIPACTIONENTITY",a[a.DWG_TYPE_GEODATA=639]="DWG_TYPE_GEODATA",a[a.DWG_TYPE_GEOMAPIMAGE=640]="DWG_TYPE_GEOMAPIMAGE",a[a.DWG_TYPE_GEOPOSITIONMARKER=641]="DWG_TYPE_GEOPOSITIONMARKER",a[a.DWG_TYPE_GRADIENT_BACKGROUND=642]="DWG_TYPE_GRADIENT_BACKGROUND",a[a.DWG_TYPE_GROUND_PLANE_BACKGROUND=643]="DWG_TYPE_GROUND_PLANE_BACKGROUND",a[a.DWG_TYPE_HELIX=644]="DWG_TYPE_HELIX",a[a.DWG_TYPE_IBL_BACKGROUND=645]="DWG_TYPE_IBL_BACKGROUND",a[a.DWG_TYPE_IDBUFFER=646]="DWG_TYPE_IDBUFFER",a[a.DWG_TYPE_IMAGE=647]="DWG_TYPE_IMAGE",a[a.DWG_TYPE_IMAGEDEF=648]="DWG_TYPE_IMAGEDEF",a[a.DWG_TYPE_IMAGEDEF_REACTOR=649]="DWG_TYPE_IMAGEDEF_REACTOR",a[a.DWG_TYPE_IMAGE_BACKGROUND=650]="DWG_TYPE_IMAGE_BACKGROUND",a[a.DWG_TYPE_INDEX=651]="DWG_TYPE_INDEX",a[a.DWG_TYPE_LARGE_RADIAL_DIMENSION=652]="DWG_TYPE_LARGE_RADIAL_DIMENSION",a[a.DWG_TYPE_LAYERFILTER=653]="DWG_TYPE_LAYERFILTER",a[a.DWG_TYPE_LAYER_INDEX=654]="DWG_TYPE_LAYER_INDEX",a[a.DWG_TYPE_LAYOUTPRINTCONFIG=655]="DWG_TYPE_LAYOUTPRINTCONFIG",a[a.DWG_TYPE_LEADEROBJECTCONTEXTDATA=656]="DWG_TYPE_LEADEROBJECTCONTEXTDATA",a[a.DWG_TYPE_LIGHT=657]="DWG_TYPE_LIGHT",a[a.DWG_TYPE_LIGHTLIST=658]="DWG_TYPE_LIGHTLIST",a[a.DWG_TYPE_LINEARPARAMETERENTITY=659]="DWG_TYPE_LINEARPARAMETERENTITY",a[a.DWG_TYPE_LOFTEDSURFACE=660]="DWG_TYPE_LOFTEDSURFACE",a[a.DWG_TYPE_MATERIAL=661]="DWG_TYPE_MATERIAL",a[a.DWG_TYPE_MENTALRAYRENDERSETTINGS=662]="DWG_TYPE_MENTALRAYRENDERSETTINGS",a[a.DWG_TYPE_MESH=663]="DWG_TYPE_MESH",a[a.DWG_TYPE_MLEADEROBJECTCONTEXTDATA=664]="DWG_TYPE_MLEADEROBJECTCONTEXTDATA",a[a.DWG_TYPE_MLEADERSTYLE=665]="DWG_TYPE_MLEADERSTYLE",a[a.DWG_TYPE_MOVEACTIONENTITY=666]="DWG_TYPE_MOVEACTIONENTITY",a[a.DWG_TYPE_MOTIONPATH=667]="DWG_TYPE_MOTIONPATH",a[a.DWG_TYPE_MPOLYGON=668]="DWG_TYPE_MPOLYGON",a[a.DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA=669]="DWG_TYPE_MTEXTATTRIBUTEOBJECTCONTEXTDATA",a[a.DWG_TYPE_MTEXTOBJECTCONTEXTDATA=670]="DWG_TYPE_MTEXTOBJECTCONTEXTDATA",a[a.DWG_TYPE_MULTILEADER=671]="DWG_TYPE_MULTILEADER",a[a.DWG_TYPE_NAVISWORKSMODEL=672]="DWG_TYPE_NAVISWORKSMODEL",a[a.DWG_TYPE_NAVISWORKSMODELDEF=673]="DWG_TYPE_NAVISWORKSMODELDEF",a[a.DWG_TYPE_NPOCOLLECTION=674]="DWG_TYPE_NPOCOLLECTION",a[a.DWG_TYPE_NURBSURFACE=675]="DWG_TYPE_NURBSURFACE",a[a.DWG_TYPE_OBJECT_PTR=676]="DWG_TYPE_OBJECT_PTR",a[a.DWG_TYPE_ORDDIMOBJECTCONTEXTDATA=677]="DWG_TYPE_ORDDIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_PARTIAL_VIEWING_INDEX=678]="DWG_TYPE_PARTIAL_VIEWING_INDEX",a[a.DWG_TYPE_PDFDEFINITION=679]="DWG_TYPE_PDFDEFINITION",a[a.DWG_TYPE_PDFUNDERLAY=680]="DWG_TYPE_PDFUNDERLAY",a[a.DWG_TYPE_PERSUBENTMGR=681]="DWG_TYPE_PERSUBENTMGR",a[a.DWG_TYPE_PLANESURFACE=682]="DWG_TYPE_PLANESURFACE",a[a.DWG_TYPE_PLOTSETTINGS=683]="DWG_TYPE_PLOTSETTINGS",a[a.DWG_TYPE_POINTCLOUD=684]="DWG_TYPE_POINTCLOUD",a[a.DWG_TYPE_POINTCLOUDCOLORMAP=685]="DWG_TYPE_POINTCLOUDCOLORMAP",a[a.DWG_TYPE_POINTCLOUDDEF=686]="DWG_TYPE_POINTCLOUDDEF",a[a.DWG_TYPE_POINTCLOUDDEFEX=687]="DWG_TYPE_POINTCLOUDDEFEX",a[a.DWG_TYPE_POINTCLOUDDEF_REACTOR=688]="DWG_TYPE_POINTCLOUDDEF_REACTOR",a[a.DWG_TYPE_POINTCLOUDDEF_REACTOR_EX=689]="DWG_TYPE_POINTCLOUDDEF_REACTOR_EX",a[a.DWG_TYPE_POINTCLOUDEX=690]="DWG_TYPE_POINTCLOUDEX",a[a.DWG_TYPE_POINTPARAMETERENTITY=691]="DWG_TYPE_POINTPARAMETERENTITY",a[a.DWG_TYPE_POINTPATH=692]="DWG_TYPE_POINTPATH",a[a.DWG_TYPE_POLARGRIPENTITY=693]="DWG_TYPE_POLARGRIPENTITY",a[a.DWG_TYPE_RADIMLGOBJECTCONTEXTDATA=694]="DWG_TYPE_RADIMLGOBJECTCONTEXTDATA",a[a.DWG_TYPE_RADIMOBJECTCONTEXTDATA=695]="DWG_TYPE_RADIMOBJECTCONTEXTDATA",a[a.DWG_TYPE_RAPIDRTRENDERSETTINGS=696]="DWG_TYPE_RAPIDRTRENDERSETTINGS",a[a.DWG_TYPE_RASTERVARIABLES=697]="DWG_TYPE_RASTERVARIABLES",a[a.DWG_TYPE_RENDERENTRY=698]="DWG_TYPE_RENDERENTRY",a[a.DWG_TYPE_RENDERENVIRONMENT=699]="DWG_TYPE_RENDERENVIRONMENT",a[a.DWG_TYPE_RENDERGLOBAL=700]="DWG_TYPE_RENDERGLOBAL",a[a.DWG_TYPE_RENDERSETTINGS=701]="DWG_TYPE_RENDERSETTINGS",a[a.DWG_TYPE_REVOLVEDSURFACE=702]="DWG_TYPE_REVOLVEDSURFACE",a[a.DWG_TYPE_ROTATIONPARAMETERENTITY=703]="DWG_TYPE_ROTATIONPARAMETERENTITY",a[a.DWG_TYPE_ROTATEACTIONENTITY=704]="DWG_TYPE_ROTATEACTIONENTITY",a[a.DWG_TYPE_RTEXT=705]="DWG_TYPE_RTEXT",a[a.DWG_TYPE_SCALE=706]="DWG_TYPE_SCALE",a[a.DWG_TYPE_SCALEACTIONENTITY=707]="DWG_TYPE_SCALEACTIONENTITY",a[a.DWG_TYPE_SECTIONOBJECT=708]="DWG_TYPE_SECTIONOBJECT",a[a.DWG_TYPE_SECTIONVIEWSTYLE=709]="DWG_TYPE_SECTIONVIEWSTYLE",a[a.DWG_TYPE_SECTION_MANAGER=710]="DWG_TYPE_SECTION_MANAGER",a[a.DWG_TYPE_SECTION_SETTINGS=711]="DWG_TYPE_SECTION_SETTINGS",a[a.DWG_TYPE_SKYLIGHT_BACKGROUND=712]="DWG_TYPE_SKYLIGHT_BACKGROUND",a[a.DWG_TYPE_SOLID_BACKGROUND=713]="DWG_TYPE_SOLID_BACKGROUND",a[a.DWG_TYPE_SORTENTSTABLE=714]="DWG_TYPE_SORTENTSTABLE",a[a.DWG_TYPE_SPATIAL_FILTER=715]="DWG_TYPE_SPATIAL_FILTER",a[a.DWG_TYPE_SPATIAL_INDEX=716]="DWG_TYPE_SPATIAL_INDEX",a[a.DWG_TYPE_STRETCHACTIONENTITY=717]="DWG_TYPE_STRETCHACTIONENTITY",a[a.DWG_TYPE_SUN=718]="DWG_TYPE_SUN",a[a.DWG_TYPE_SUNSTUDY=719]="DWG_TYPE_SUNSTUDY",a[a.DWG_TYPE_SWEPTSURFACE=720]="DWG_TYPE_SWEPTSURFACE",a[a.DWG_TYPE_TABLE=721]="DWG_TYPE_TABLE",a[a.DWG_TYPE_TABLECONTENT=722]="DWG_TYPE_TABLECONTENT",a[a.DWG_TYPE_TABLEGEOMETRY=723]="DWG_TYPE_TABLEGEOMETRY",a[a.DWG_TYPE_TABLESTYLE=724]="DWG_TYPE_TABLESTYLE",a[a.DWG_TYPE_TEXTOBJECTCONTEXTDATA=725]="DWG_TYPE_TEXTOBJECTCONTEXTDATA",a[a.DWG_TYPE_TVDEVICEPROPERTIES=726]="DWG_TYPE_TVDEVICEPROPERTIES",a[a.DWG_TYPE_VISIBILITYGRIPENTITY=727]="DWG_TYPE_VISIBILITYGRIPENTITY",a[a.DWG_TYPE_VISIBILITYPARAMETERENTITY=728]="DWG_TYPE_VISIBILITYPARAMETERENTITY",a[a.DWG_TYPE_VISUALSTYLE=729]="DWG_TYPE_VISUALSTYLE",a[a.DWG_TYPE_WIPEOUT=730]="DWG_TYPE_WIPEOUT",a[a.DWG_TYPE_WIPEOUTVARIABLES=731]="DWG_TYPE_WIPEOUTVARIABLES",a[a.DWG_TYPE_XREFPANELOBJECT=732]="DWG_TYPE_XREFPANELOBJECT",a[a.DWG_TYPE_XYPARAMETERENTITY=733]="DWG_TYPE_XYPARAMETERENTITY",a[a.DWG_TYPE_BREAKDATA=734]="DWG_TYPE_BREAKDATA",a[a.DWG_TYPE_BREAKPOINTREF=735]="DWG_TYPE_BREAKPOINTREF",a[a.DWG_TYPE_FLIPGRIPENTITY=736]="DWG_TYPE_FLIPGRIPENTITY",a[a.DWG_TYPE_LINEARGRIPENTITY=737]="DWG_TYPE_LINEARGRIPENTITY",a[a.DWG_TYPE_ROTATIONGRIPENTITY=738]="DWG_TYPE_ROTATIONGRIPENTITY",a[a.DWG_TYPE_XYGRIPENTITY=739]="DWG_TYPE_XYGRIPENTITY",a[a.DWG_TYPE__3DLINE=740]="DWG_TYPE__3DLINE",a[a.DWG_TYPE_REPEAT=741]="DWG_TYPE_REPEAT",a[a.DWG_TYPE_ENDREP=742]="DWG_TYPE_ENDREP",a[a.DWG_TYPE_JUMP=743]="DWG_TYPE_JUMP",a[a.DWG_TYPE_LOAD=744]="DWG_TYPE_LOAD",a[a.DWG_TYPE_FREED=65533]="DWG_TYPE_FREED",a[a.DWG_TYPE_UNKNOWN_ENT=65534]="DWG_TYPE_UNKNOWN_ENT",a[a.DWG_TYPE_UNKNOWN_OBJ=65535]="DWG_TYPE_UNKNOWN_OBJ",a))(Y||{});Object.fromEntries(Object.entries(Y).map(([a,t])=>[t,a]));var Cn=(a=>(a[a.DWG=0]="DWG",a[a.DXF=1]="DXF",a))(Cn||{}),Fe=(a=>(a[a.Line=1]="Line",a[a.CircularArc=2]="CircularArc",a[a.EllipticArc=3]="EllipticArc",a[a.Spline=4]="Spline",a))(Fe||{}),ce=(a=>(a[a.ByLayer=192]="ByLayer",a[a.ByBlock=193]="ByBlock",a[a.Entities=194]="Entities",a[a.TrueColor=195]="TrueColor",a[a.ForegroundColor=197]="ForegroundColor",a[a.None=200]="None",a))(ce||{});const er=192,nr=193,ao=194,Pn=195,rr=200;function _r(a){if(a==null)return;const t=a.method,o=a.method!=null&&t!==0?t:a.rgb>>>24&255,n=a.index;if(a.rgb!=null&&o>=er&&o<=rr&&(a.rgb>>>24&255)===o)return a.rgb>>0;if(o===ce.ByLayer||n===256)return er<<24>>0;if(o===ce.ByBlock||n===0)return nr<<24>>0;if(o===ce.None)return rr<<24>>0;if(o===ce.TrueColor){const d=a.rgb!=null?a.rgb&16777215:void 0;if(d!=null)return(ao<<24|d)>>0}return o===ce.ForegroundColor?(Pn<<24|7)>>0:o===ce.Entities&&n>0&&n<256||n>0&&n<256?(Pn<<24|n&255)>>0:nr<<24>>0}const oo="*MODEL_SPACE",io="*PAPER_SPACE",dr=a=>a&&a.toUpperCase()==oo,so=a=>a&&a.toUpperCase().startsWith(io),pt=a=>a.toString(16).toUpperCase(),Ue=a=>{const t=new Array(a.length);for(let o=0;o<a.length;o++)t[o]=a[o].toString(16).toUpperCase().padStart(2,"0");return t.join("")},_o=a=>{if(!a||a.length<98)return null;const t=new DataView(a.buffer,a.byteOffset,a.byteLength),o=_=>({x:t.getFloat64(_,!0),y:t.getFloat64(_+8,!0),z:t.getFloat64(_+16,!0)}),n=o(2),d=o(50);return[n.x,n.y,n.z,d.x,d.y,d.z].every(Number.isFinite)?{upperLeft:n,lowerRight:d}:null};class lo{constructor(t){it(this,"libredwg"),it(this,"layers",new Map),it(this,"ltypes",new Map),it(this,"classes",[]),it(this,"unknownEntityCount"),this.libredwg=t,this.unknownEntityCount=0}prepare(t,o=!1){(o||this.layers.size==0)&&(this.layers.clear(),t.tables.LAYER.entries.forEach(n=>{this.layers.set(n.handle,n.name)})),(o||this.ltypes.size==0)&&(this.ltypes.clear(),t.tables.LTYPE.entries.forEach(n=>{this.ltypes.set(n.handle,n.name)})),this.classes=t.classes,this.unknownEntityCount=0}setClasses(t){this.classes=t}clear(){this.layers.clear(),this.ltypes.clear(),this.classes=[],this.unknownEntityCount=0}convert(t){const o=this.libredwg,n=o.dwg_object_to_entity(t),d=o.dwg_object_to_entity_tio(t);if(n&&d){const _=this.getCommonAttrs(n),E=o.dwg_object_get_fixedtype(t);if(E==Y.DWG_TYPE_3DFACE)return this.convert3dFace(d,_);if(E==Y.DWG_TYPE_3DSOLID)return this.convert3dSolid(d,_);if(E==Y.DWG_TYPE_ARC)return this.convertArc(d,_);if(E==Y.DWG_TYPE_ATTDEF)return this.convertAttdef(d,_);if(E==Y.DWG_TYPE_CIRCLE)return this.convertCircle(d,_);if(E==Y.DWG_TYPE_DIMENSION_ALIGNED||E==Y.DWG_TYPE_DIMENSION_LINEAR)return this.convertAlignedDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_ANG3PT)return this.convert3PointAngularDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_ANG2LN)return this.convert2LineAngularDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_DIAMETER)return this.convertDiameterDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_ORDINATE)return this.convertOrdinateDimension(d,_);if(E==Y.DWG_TYPE_DIMENSION_RADIUS)return this.convertRadiusDimension(d,_);if(E==Y.DWG_TYPE_ELLIPSE)return this.convertEllise(d,_);if(E==Y.DWG_TYPE_HATCH)return this.convertHatch(d,_);if(E==Y.DWG_TYPE_IMAGE)return this.convertImage(d,_);if(E==Y.DWG_TYPE_INSERT)return this.convertInsert(d,_);if(E==Y.DWG_TYPE_LEADER)return this.convertLeader(d,_);if(E==Y.DWG_TYPE_LINE)return this.convertLine(d,_);if(E==Y.DWG_TYPE_LWPOLYLINE)return this.convertLWPolyline(d,_);if(E==Y.DWG_TYPE_MLINE)return this.convertMLine(d,_);if(E==Y.DWG_TYPE_MULTILEADER)return this.convertMultiLeader(d,_);if(E==Y.DWG_TYPE_MTEXT)return this.convertMText(d,_);if(E==Y.DWG_TYPE_OLE2FRAME)return this.convertOle2Frame(d,_);if(E==Y.DWG_TYPE_OLEFRAME)return this.convertOleFrame(d,_);if(E==Y.DWG_TYPE_POINT)return this.convertPoint(d,_);if(E==Y.DWG_TYPE_POLYLINE_2D)return this.convertPolyline2d(d,_,t);if(E==Y.DWG_TYPE_POLYLINE_3D)return this.convertPolyline3d(d,_,t);if(E==Y.DWG_TYPE_PROXY_ENTITY)return this.convertProxyEntity(d,_,t);if(E==Y.DWG_TYPE_RAY)return this.convertRay(d,_);if(E==Y.DWG_TYPE_SECTIONOBJECT)return this.convertSection(d,_);if(E==Y.DWG_TYPE_SHAPE)return this.convertShape(d,_);if(E==Y.DWG_TYPE_SOLID)return this.convertSolid(d,_);if(E==Y.DWG_TYPE_SPLINE)return this.convertSpline(d,_);if(E==Y.DWG_TYPE_TABLE)return this.convertTable(d,_);if(E==Y.DWG_TYPE_TEXT)return this.convertText(d,_);if(E==Y.DWG_TYPE_TOLERANCE)return this.convertTolerance(d,_);if(E==Y.DWG_TYPE_VIEWPORT)return this.convertViewport(d,_);if(E==Y.DWG_TYPE_WIPEOUT)return this.convertWipeout(d,_);if(E==Y.DWG_TYPE_XLINE)return this.convertXline(d,_);E===Y.DWG_TYPE_UNKNOWN_ENT&&this.unknownEntityCount++}}convert3dFace(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),E=n.dwg_dynapi_entity_data(t,"corner3"),h=n.dwg_dynapi_entity_data(t,"corner4"),g=n.dwg_dynapi_entity_data(t,"invis_flags");return{type:"3DFACE",...o,corner1:d,corner2:_,corner3:E,corner4:h,flag:g}}convert3dSolid(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"version"),_=n.dwg_dynapi_entity_data(t,"acis_empty"),E=n.dwg_dynapi_entity_data(t,"acis_data"),h=n.dwg_dynapi_entity_data(t,"has_revision_guid"),g=n.dwg_dynapi_entity_data(t,"history_id"),A=n.dwg_ref_get_id(g),y={type:"3DSOLID",subclassMarker:"AcDb3dSolid",...o};if(d&&(y.version=d),y.satCache=_,E&&(y.data=E),h){const v=n.dwg_dynapi_entity_field_offset(t,"revision_guid");if(v>=0){const I=n.UTF8ToString(t+v,38);I&&(y.guid=I)}}return A&&(y.historyObjectSoftId=A),y}convertArc(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),E=n.dwg_dynapi_entity_data(t,"thickness"),h=n.dwg_dynapi_entity_data(t,"extrusion"),g=n.dwg_dynapi_entity_data(t,"start_angle"),A=n.dwg_dynapi_entity_data(t,"end_angle");return{type:"ARC",...o,thickness:E,center:d,radius:_,startAngle:g,endAngle:A,extrusionDirection:h}}convertEmbeddedMText(t,o){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,o,"attachment"),_=n.dwg_dynapi_subclass_data(t,o,"ins_pt"),E=n.dwg_dynapi_subclass_data(t,o,"x_axis_dir"),h=n.dwg_dynapi_subclass_data(t,o,"rect_height"),g=n.dwg_dynapi_subclass_data(t,o,"rect_width"),A=n.dwg_dynapi_subclass_data(t,o,"extents_height"),y=n.dwg_dynapi_subclass_data(t,o,"extents_width");return{insertionPoint:_,rectHeight:h,rectWidth:g,extentsHeight:A,extentsWidth:y,attachmentPoint:d,direction:E}}convertAttdef(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"default_value"),_=this.convertTextBase(t);_.text=d;const E=n.dwg_dynapi_entity_data(t,"prompt"),h=n.dwg_dynapi_entity_data(t,"tag"),g=n.dwg_dynapi_entity_data(t,"flags"),A=n.dwg_dynapi_entity_data(t,"field_length"),y=n.dwg_dynapi_entity_data(t,"lock_position_flag"),v=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),I=n.dwg_dynapi_entity_data(t,"is_really_locked"),p=n.dwg_dynapi_entity_data(t,"mtext_type"),w=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTDEF",...o,text:this.convertTextBase(t),prompt:E,tag:h,flags:g,fieldLength:A,lockPositionFlag:y>0,duplicateRecordCloningFlag:v>0,mtextFlag:p,isReallyLocked:I>0,alignmentPoint:w,annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertAttrib(t,o){const n=this.libredwg,d=this.convertTextBase(t),_=n.dwg_dynapi_entity_data(t,"tag"),E=n.dwg_dynapi_entity_data(t,"flags"),h=n.dwg_dynapi_entity_data(t,"field_length"),g=n.dwg_dynapi_entity_data(t,"lock_position_flag"),A=n.dwg_dynapi_entity_data(t,"keep_duplicate_records"),y=n.dwg_dynapi_entity_data(t,"mtext_type"),v=n.dwg_dynapi_entity_data(t,"is_really_locked"),I=n.dwg_dynapi_entity_data(t,"alignment_pt");return{type:"ATTRIB",...o,text:d,tag:_,flags:E,fieldLength:h,lockPositionFlag:!!g,duplicateRecordCloningFlag:!!A,mtextFlag:y,isReallyLocked:!!v,numberOfSecondaryAttrs:0,secondaryAttrsHardId:"0",alignmentPoint:{...I,z:0},annotationScale:1,attrTag:"",mtext:this.convertEmbeddedMText(t,"ATTDEF_mtext")}}convertCircle(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"radius"),E=n.dwg_dynapi_entity_data(t,"thickness"),h=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"CIRCLE",...o,thickness:E,center:d,radius:_,extrusionDirection:h}}convertAlignedDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"clone_ins_pt"),E=n.dwg_dynapi_entity_data(t,"xline1_pt"),h=n.dwg_dynapi_entity_data(t,"xline2_pt"),g=n.dwg_dynapi_entity_data(t,"ins_rotation"),A=n.dwg_dynapi_entity_data(t,"oblique_angle");return{subclassMarker:"AcDbAlignedDimension",...o,...d,insertionPoint:_,subDefinitionPoint1:E,subDefinitionPoint2:h,rotationAngle:g??0,obliqueAngle:A}}convert3PointAngularDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1_pt"),E=n.dwg_dynapi_entity_data(t,"xline2_pt"),h=n.dwg_dynapi_entity_data(t,"center_pt"),g=n.dwg_dynapi_entity_data(t,"xline2end_pt");return{subclassMarker:"AcDb3PointAngularDimension",...o,...d,subDefinitionPoint1:_,subDefinitionPoint2:E,centerPoint:h,arcPoint:g}}convert2LineAngularDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"xline1start_pt"),E=n.dwg_dynapi_entity_data(t,"xline1end_pt"),h=n.dwg_dynapi_entity_data(t,"xline2start_pt"),g=n.dwg_dynapi_entity_data(t,"xline2end_pt"),A=n.dwg_dynapi_entity_data(t,"def_pt");return g&&(d.definitionPoint=g),{subclassMarker:"AcDb2LineAngularDimension",...o,...d,subDefinitionPoint1:_??E??A??g,subDefinitionPoint2:h??g??A??E,centerPoint:A??h??E??g,arcPoint:g??d.definitionPoint}}convertDiameterDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),E=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbDiametricDimension",...o,...d,centerPoint:_,leaderLength:E}}convertOrdinateDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"feature_location_pt"),E=n.dwg_dynapi_entity_data(t,"leader_endpt");return{subclassMarker:"AcDbOrdinateDimension",...o,...d,subDefinitionPoint1:_,subDefinitionPoint2:E}}convertRadiusDimension(t,o){const n=this.libredwg,d=this.getDimensionCommonAttrs(t),_=n.dwg_dynapi_entity_data(t,"first_arc_pt"),E=n.dwg_dynapi_entity_data(t,"leader_len");return{subclassMarker:"AcDbRadialDimension",...o,...d,centerPoint:_,leaderLength:E}}convertEllise(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"sm_axis"),E=n.dwg_dynapi_entity_data(t,"extrusion"),h=n.dwg_dynapi_entity_data(t,"axis_ratio"),g=n.dwg_dynapi_entity_data(t,"start_angle"),A=n.dwg_dynapi_entity_data(t,"end_angle");return{type:"ELLIPSE",...o,center:d,majorAxisEndPoint:_,extrusionDirection:E,axisRatio:h,startAngle:g,endAngle:A}}convertHatch(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"extrusion"),_=n.dwg_dynapi_entity_data(t,"name"),E=n.dwg_dynapi_entity_data(t,"is_solid_fill"),h=n.dwg_dynapi_entity_data(t,"is_associative"),g=n.dwg_dynapi_entity_data(t,"num_paths"),A=n.dwg_dynapi_entity_data(t,"paths"),y=n.dwg_ptr_to_hatch_path_array(A,g),v=n.dwg_dynapi_entity_data(t,"style"),I=n.dwg_dynapi_entity_data(t,"pattern_type"),p=n.dwg_dynapi_entity_data(t,"angle"),w=n.dwg_dynapi_entity_data(t,"scale_spacing"),C=n.dwg_dynapi_entity_data(t,"num_deflines"),m=n.dwg_dynapi_entity_data(t,"deflines"),L=n.dwg_ptr_to_hatch_defline_array(m,C),N=n.dwg_dynapi_entity_data(t,"pixel_size"),W=n.dwg_dynapi_entity_data(t,"num_seeds"),B=n.dwg_dynapi_entity_data(t,"seeds"),F=n.dwg_ptr_to_point2d_array(B,W),H={...o,extrusionDirection:d,patternName:_,solidFill:E?In.SolidFill:In.PatternFill,associativity:h?pn.Associative:pn.NonAssociative,numberOfBoundaryPaths:g,boundaryPaths:this.convertHatchBoundaryPaths(y),hatchStyle:v,patternType:I,patternAngle:p,patternScale:w,numberOfDefinitionLines:C,definitionLines:L.map(tt=>({angle:tt.angle,base:tt.pt0,offset:tt.offset,numberOfDashLengths:tt.dashes.length,dashLengths:tt.dashes})),pixelSize:N,numberOfSeedPoints:W,seedPoints:F};if(n.dwg_dynapi_entity_data(t,"is_gradient_fill")>0){const tt=n.dwg_dynapi_entity_data(t,"gradient_name"),ft=n.dwg_dynapi_entity_data(t,"gradient_angle"),Z=n.dwg_dynapi_entity_data(t,"gradient_shift"),Et=n.dwg_dynapi_entity_data(t,"gradient_tint"),ut=n.dwg_dynapi_entity_data(t,"single_color_gradient"),ht=n.dwg_dynapi_entity_data(t,"colors"),mt=n.dwg_ptr_to_hatch_gradient_color_array(ht,ut==1?1:2);return{type:"HATCH",...H,gradientFlag:or.Gradient,gradientColorFlag:ut==1?vn.OneColor:vn.TwoColor,gradientName:tt,gradientRotation:ft,gradientDefinition:Z,colorTint:Et,gradientColors:mt}}else return{type:"HATCH",...H}}convertHatchBoundaryPaths(t){return t.filter(n=>n.num_segs_or_paths>0).map(n=>{const d={boundaryPathTypeFlag:n.flag};if(n.flag&2)return{...d,hasBulge:n.bulges_present,isClosed:n.closed,numberOfVertices:n.num_segs_or_paths,vertices:n.polyline_paths.map(_=>({x:_.point.x,y:_.point.y,bulge:_.bulge}))};{const _=n.segs.map(E=>{if(E.curve_type==Fe.Line)return{type:Be.Line,start:E.first_endpoint,end:E.second_endpoint};if(E.curve_type==Fe.CircularArc)return{type:Be.Circular,center:E.center,radius:E.radius,startAngle:E.start_angle,endAngle:E.end_angle,isCCW:E.is_ccw};if(E.curve_type==Fe.EllipticArc)return{type:Be.Elliptic,center:E.center,end:E.endpoint,lengthOfMinorAxis:E.minor_major_ratio,startAngle:E.start_angle,endAngle:E.end_angle,isCCW:E.is_ccw};if(E.curve_type==Fe.Spline)return{type:Be.Spline,degree:E.degree,isRational:E.is_rational,isPeriodic:E.is_periodic,numberOfKnots:E.num_knots,numberOfControlPoints:E.num_control_points,knots:E.knots,controlPoints:E.control_points,numberOfFitData:E.num_fitpts,fitDatum:E.fitpts,startTangent:E.start_tangent,endTangent:E.end_tangent}});return{...d,numberOfEdges:n.num_segs_or_paths,edges:_}}})}convertImage(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),E=n.dwg_dynapi_entity_data(t,"uvec"),h=n.dwg_dynapi_entity_data(t,"vvec"),g=n.dwg_dynapi_entity_data(t,"image_size"),A=n.dwg_dynapi_entity_data(t,"display_props"),y=n.dwg_dynapi_entity_data(t,"clipping"),v=n.dwg_dynapi_entity_data(t,"brightness"),I=n.dwg_dynapi_entity_data(t,"contrast"),p=n.dwg_dynapi_entity_data(t,"fade"),w=n.dwg_dynapi_entity_data(t,"clip_mode"),C=n.dwg_dynapi_entity_data(t,"clip_boundary_type"),m=n.dwg_dynapi_entity_data(t,"num_clip_verts"),L=n.dwg_dynapi_entity_data(t,"clip_verts"),N=n.dwg_ptr_to_point3d_array(L,m),W=n.dwg_dynapi_entity_data(t,"imagedef"),B=n.dwg_ref_get_id(W)??"",F=n.dwg_dynapi_entity_data(t,"imagedefreactor"),H=n.dwg_ref_get_id(F)??"";return{type:"IMAGE",...o,version:d,position:_,uPixel:E,vPixel:h,imageSize:g,imageDefHandle:B,flags:A,clipping:y,brightness:v,contrast:I,fade:p,imageDefReactorHandle:H,clippingBoundaryType:C,countBoundaryPoints:m,clippingBoundaryPath:N,clipMode:w}}convertInsert(t,o){const n=this.libredwg;let d="";const _=n.dwg_dynapi_entity_data(t,"block_header");if(_){const m=n.dwg_ref_get_object(_);if(m){const L=n.dwg_object_to_object_tio(m);L&&(d=n.dwg_entity_block_header_get_block(L).name)}}d||(d=n.dwg_dynapi_entity_data(t,"block_name"));const E=n.dwg_dynapi_entity_data(t,"ins_pt"),h=n.dwg_dynapi_entity_data(t,"scale"),g=n.dwg_dynapi_entity_data(t,"rotation"),A=n.dwg_dynapi_entity_data(t,"num_cols"),y=n.dwg_dynapi_entity_data(t,"num_rows"),v=n.dwg_dynapi_entity_data(t,"col_spacing"),I=n.dwg_dynapi_entity_data(t,"row_spacing"),p=n.dwg_dynapi_entity_data(t,"extrusion"),w=n.dwg_entity_insert_get_attribs(t),C=[];return w.forEach(m=>{const L=n.dwg_object_to_entity(m),N=n.dwg_object_to_entity_tio(m);if(L&&N){const W=this.getCommonAttrs(L);n.dwg_object_get_fixedtype(m)==Y.DWG_TYPE_ATTRIB&&C.push(this.convertAttrib(N,W))}}),{type:"INSERT",...o,name:d,insertionPoint:E,xScale:h?h.x:1,yScale:h?h.y:1,zScale:h?h.z:1,rotation:g,columnCount:A,rowCount:y,columnSpacing:v,rowSpacing:I,extrusionDirection:p,attribs:C}}convertLeader(t,o){const n=this.libredwg,d=n.dwg_entity_mtext_get_style_name(t),_=n.dwg_dynapi_entity_data(t,"arrowhead_type"),E=n.dwg_dynapi_entity_data(t,"path_type"),h=n.dwg_dynapi_entity_data(t,"annot_type"),g=n.dwg_dynapi_entity_data(t,"hookline_dir"),A=n.dwg_dynapi_entity_data(t,"hookline_on"),y=n.dwg_dynapi_entity_data(t,"box_height"),v=n.dwg_dynapi_entity_data(t,"box_width"),I=n.dwg_dynapi_entity_data(t,"num_points"),p=n.dwg_dynapi_entity_data(t,"points"),w=I>0?n.dwg_ptr_to_point3d_array(p,I):[],C=n.dwg_dynapi_entity_data(t,"byblock_color"),m=n.dwg_dynapi_entity_data(t,"extrusion"),L=n.dwg_dynapi_entity_data(t,"x_direction"),N=n.dwg_dynapi_entity_data(t,"inspt_offset"),W=n.dwg_dynapi_entity_data(t,"endptproj");return{type:"LEADER",...o,styleName:d,isArrowheadEnabled:_>0,isSpline:E>0,leaderCreationFlag:h,isHooklineSameDirection:g>0,isHooklineExists:A>0,textHeight:y,textWidth:v,numberOfVertices:I,vertices:w,byBlockColor:C,normal:m,horizontalDirection:L,offsetFromBlock:N,offsetFromAnnotation:W}}convertLine(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"start"),_=n.dwg_dynapi_entity_data(t,"end"),E=n.dwg_dynapi_entity_data(t,"thickness"),h=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"LINE",...o,thickness:E,startPoint:d,endPoint:_,extrusionDirection:h}}convertLWPolyline(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"num_points"),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"const_width"),h=n.dwg_dynapi_entity_data(t,"elevation"),g=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion"),y=[],v=n.dwg_dynapi_entity_data(t,"num_points"),I=n.dwg_dynapi_entity_data(t,"points"),p=n.dwg_ptr_to_point2d_array(I,v),w=n.dwg_dynapi_entity_data(t,"num_bulges"),C=n.dwg_dynapi_entity_data(t,"bulges"),m=n.dwg_ptr_to_double_array(C,w);return p.forEach((L,N)=>{y.push({id:N,x:L.x,y:L.y,bulge:m.length>N?m[N]:0})}),{type:"LWPOLYLINE",...o,numberOfVertices:d,flag:_,constantWidth:E,elevation:h,thickness:g,extrusionDirection:A,vertices:y}}convertMLine(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"scale"),_=n.dwg_dynapi_entity_data(t,"flags"),E=n.dwg_dynapi_entity_data(t,"justification"),h=n.dwg_dynapi_entity_data(t,"base_point"),g=n.dwg_dynapi_entity_data(t,"extrusion"),A=n.dwg_dynapi_entity_data(t,"num_lines"),y=n.dwg_dynapi_entity_data(t,"num_verts"),v=n.dwg_dynapi_entity_data(t,"verts"),I=n.dwg_ptr_to_mline_vertex_array(v,y),p=[];return I.forEach(w=>{p.push({vertex:w.vertex,vertexDirection:w.vertex_direction,miterDirection:w.miter_direction,numberOfLines:w.num_lines,lines:w.lines.map(C=>({numberOfSegmentParams:C.num_segparms,segmentParams:C.segparms,numberOfAreaFillParams:C.num_areafillparms,areaFillParams:C.areafillparms}))})}),{type:"MLINE",...o,scale:d,flags:_,justification:E,startPoint:h,extrusionDirection:g,numberOfLines:A,numberOfVertices:y,vertices:p,mlineStyle:""}}convertMultiLeader(t,o){const n=this.libredwg,d=K=>n.dwg_dynapi_entity_data(t,K),_=(K,Q,zt)=>n.dwg_dynapi_subclass_data(K,Q,zt),E=K=>n.dwg_ref_get_id(K),h=K=>K>0,g=K=>K!=null?_r(K):void 0,A=d("class_version"),y=E(d("mleaderstyle")),v=d("flags"),I=d("type"),p=g(d("line_color")),w=E(d("line_ltype")),C=d("line_linewt"),m=h(d("has_landing")),L=h(d("has_dogleg")),N=d("landing_dist"),W=E(d("arrow_handle")),B=d("arrow_size"),F=d("style_content"),H=E(d("text_style")),J=d("text_left"),tt=d("text_right"),ft=d("text_angletype"),Z=d("text_alignment"),Et=g(d("text_color")),ut=h(d("has_text_frame")),ht=E(d("block_style")),mt=g(d("block_color")),Gt=d("block_scale"),Wt=d("block_rotation"),Mt=d("style_attachment"),bt=h(d("is_annotative")),dt=h(d("is_neg_textdir")),x=d("ipe_alignment");let j=d("justification");const z=d("attach_dir"),xt=d("attach_bottom"),kt=d("attach_top"),gt=d("scale_factor"),k=d("num_arrowheads"),Ft=d("arrowheads"),lt=n.dwg_dynapi_subclass_size("LEADER_ArrowHead"),wt=[];for(let K=0;K<k;K++){const Q=Ft+K*lt;wt.push({index:_(Q,"LEADER_ArrowHead","is_default"),handle:E(_(Q,"LEADER_ArrowHead","arrowhead"))??""})}const Ut=d("num_blocklabels"),te=d("blocklabels"),Ee=n.dwg_dynapi_subclass_size("LEADER_BlockLabel"),ee=[];for(let K=0;K<Ut;K++){const Q=te+K*Ee;ee.push({id:E(_(Q,"LEADER_BlockLabel","attdef")),index:_(Q,"LEADER_BlockLabel","ui_index"),width:_(Q,"LEADER_BlockLabel","width"),text:_(Q,"LEADER_BlockLabel","label_text")})}const et=t+n.dwg_dynapi_entity_field_offset(t,"ctx"),V=et+n.dwg_dynapi_subclass_field_offset("MLEADER_AnnotContext","content"),Ce=_(et,"MLEADER_AnnotContext","scale_factor"),De=_(et,"MLEADER_AnnotContext","content_base"),we=_(et,"MLEADER_AnnotContext","landing_gap"),Re=_(et,"MLEADER_AnnotContext","attach_dir"),ue=_(et,"MLEADER_AnnotContext","text_height"),Se=_(et,"MLEADER_AnnotContext","arrow_size"),$t=_(et,"MLEADER_AnnotContext","text_left"),Rt=_(et,"MLEADER_AnnotContext","text_right"),X=_(et,"MLEADER_AnnotContext","text_angletype"),Le=_(et,"MLEADER_AnnotContext","text_alignment"),Vt=h(_(et,"MLEADER_AnnotContext","has_content_txt")),Ct=h(_(et,"MLEADER_AnnotContext","has_content_blk")),fe=_(et,"MLEADER_AnnotContext","base"),he=_(et,"MLEADER_AnnotContext","base_dir"),St=_(et,"MLEADER_AnnotContext","base_vert"),ne=h(_(et,"MLEADER_AnnotContext","is_normal_reversed"));let Lt,re,Ht,ge,At,ae,b,Ae,oe,Xt,Te,Pe,Tt,Yt,ye,Ie,ie,pe,se,$e,l;if(Vt){const K=_(V,"MLEADER_Content_MText","alignment");K!=null&&K!==0&&(j=K),re=_(V,"MLEADER_Content_MText","normal"),b=_(V,"MLEADER_Content_MText","location"),Ht=_(V,"MLEADER_Content_MText","rotation"),Ae=_(V,"MLEADER_Content_MText","direction"),ge=_(V,"MLEADER_Content_MText","width"),At=_(V,"MLEADER_Content_MText","line_spacing_factor"),ae=_(V,"MLEADER_Content_MText","line_spacing_style"),Lt=_(V,"MLEADER_Content_MText","flow"),oe=g(_(V,"MLEADER_Content_MText","bg_color")),Xt=_(V,"MLEADER_Content_MText","bg_scale"),Te=_(V,"MLEADER_Content_MText","bg_transparency"),Tt=h(_(V,"MLEADER_Content_MText","is_bg_fill")),Pe=h(_(V,"MLEADER_Content_MText","is_bg_mask_fill")),Yt=_(V,"MLEADER_Content_MText","col_type"),ye=h(_(V,"MLEADER_Content_MText","is_height_auto")),Ie=_(V,"MLEADER_Content_MText","col_width"),ie=_(V,"MLEADER_Content_MText","col_gutter"),pe=h(_(V,"MLEADER_Content_MText","is_col_flow_reversed"));const Q=_(V,"MLEADER_Content_MText","num_col_sizes"),zt=_(V,"MLEADER_Content_MText","col_sizes");Q>0&&(se=n.dwg_ptr_to_double_array(zt,Q)[0]),$e=h(_(V,"MLEADER_Content_MText","word_break")),l=_(V,"MLEADER_Content_MText","default_text")}let Kt;if(Ct){const K=_(V,"MLEADER_Content_Block","transform");Kt={blockContentId:E(_(V,"MLEADER_Content_Block","block_table")),normal:_(V,"MLEADER_Content_Block","normal"),position:_(V,"MLEADER_Content_Block","location"),scale:_(V,"MLEADER_Content_Block","scale"),rotation:_(V,"MLEADER_Content_Block","rotation"),color:g(_(V,"MLEADER_Content_Block","color")),transformationMatrix:K?n.dwg_ptr_to_double_array(K,16):void 0}}const q=_(et,"MLEADER_AnnotContext","num_leaders"),sn=_(et,"MLEADER_AnnotContext","leaders"),_n=n.dwg_dynapi_subclass_size("LEADER_Node"),dn=n.dwg_dynapi_subclass_size("LEADER_Line"),Ve=n.dwg_dynapi_subclass_size("LEADER_Break"),Ye=[];for(let K=0;K<q;K++){const Q=sn+K*_n,zt=h(_(Q,"LEADER_Node","has_lastleaderlinepoint")),st=h(_(Q,"LEADER_Node","has_dogleg")),Jt=_(Q,"LEADER_Node","num_breaks"),Ot=_(Q,"LEADER_Node","breaks"),Zt=[];for(let at=0;at<Jt;at++){const Dt=Ot+at*Ve;Zt.push({start:_(Dt,"LEADER_Break","start"),end:_(Dt,"LEADER_Break","end")})}const ve=_(Q,"LEADER_Node","num_lines"),U=_(Q,"LEADER_Node","lines"),He=[];for(let at=0;at<ve;at++){const Dt=U+at*dn,Xe=_(Dt,"LEADER_Line","num_points"),ln=_(Dt,"LEADER_Line","points"),cn=Xe>0?n.dwg_ptr_to_point3d_array(ln,Xe):[],Ne=_(Dt,"LEADER_Line","num_breaks"),Ge=_(Dt,"LEADER_Line","breaks"),me=[];for(let We=0;We<Ne;We++){const Me=Ge+We*Ve;me.push({start:_(Me,"LEADER_Break","start"),end:_(Me,"LEADER_Break","end")})}He.push({vertices:cn,leaderLineIndex:_(Dt,"LEADER_Line","line_index"),breaks:me.length>0?me:void 0})}Ye.push({lastLeaderLinePoint:zt?_(Q,"LEADER_Node","lastleaderlinepoint"):void 0,lastLeaderLinePointSet:zt,doglegVector:st?_(Q,"LEADER_Node","dogleg_vector"):void 0,doglegVectorSet:st,doglegLength:_(Q,"LEADER_Node","dogleg_length"),breaks:Zt.length>0?Zt:void 0,leaderBranchIndex:_(Q,"LEADER_Node","branch_index"),leaderLines:He})}return{type:"MULTILEADER",...o,subclassMarker:"AcDbMLeader",version:A,leaderStyleId:y,propertyOverrideFlag:v,leaderLineType:I,leaderLineColor:p,leaderLineTypeId:w,leaderLineWeight:C,landingEnabled:m,doglegEnabled:L,doglegLength:N,arrowheadId:W,arrowheadSize:B||Se,contentType:F,textStyleId:H,textLeftAttachmentType:J||$t,textRightAttachmentType:tt||Rt,textAngleType:ft||X,textAlignmentType:Z||Le,textColor:Et,textFrameEnabled:ut,landingGap:we,textAttachment:Re,textFlowDirection:Lt,blockContentId:ht,blockContentColor:mt,blockContentScale:Gt,blockContentRotation:Wt,blockContentConnectionType:Mt,annotativeScaleEnabled:bt,arrowheadOverrides:wt.length>0?wt:void 0,blockAttributes:ee.length>0?ee:void 0,textDirectionNegative:dt,textAlignInIPE:x,textAttachmentPoint:j,textAttachmentDirection:z,bottomTextAttachmentDirection:xt,topTextAttachmentDirection:kt,contentScale:gt||Ce,contentBasePosition:De,normal:re,textHeight:ue,textRotation:Ht,textWidth:ge,textLineSpacingFactor:At,textLineSpacingStyle:ae,textAnchor:b,textDirection:Ae,textBackgroundColor:oe,textBackgroundScaleFactor:Xt,textBackgroundTransparency:Te,textBackgroundColorOn:Pe,textFillOn:Tt,textColumnType:Yt,textUseAutoHeight:ye,textColumnWidth:Ie,textColumnGutterWidth:ie,textColumnFlowReversed:pe,textColumnHeight:se,textUseWordBreak:$e,textContent:l,hasMText:Vt,hasBlock:Ct,blockContent:Kt,planeOrigin:fe,planeXAxisDirection:he,planeYAxisDirection:St,planeNormalReversed:ne,leaderSections:Ye.length>0?Ye:void 0}}convertOle2Frame(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"oleversion"),_=n.dwg_dynapi_entity_data(t,"oleclient"),E=n.dwg_dynapi_entity_data(t,"data_size");let h=n.dwg_dynapi_entity_data(t,"pt1"),g=n.dwg_dynapi_entity_data(t,"pt2");const A=n.dwg_dynapi_entity_data(t,"lock_aspect"),y=n.dwg_dynapi_entity_data(t,"type"),v=n.dwg_dynapi_entity_data(t,"mode"),I=n.dwg_entity_ole2frame_get_data(t),p=I?Ue(I):"";if(I){const w=_o(I);w&&(h=w.upperLeft,g=w.lowerRight)}return{type:"OLE2FRAME",...o,oleVersion:d,oleClient:_,dataSize:E,leftUpPoint:h,rightDownPoint:g,lockAspect:A,oleObjectType:y,tileModeDescriptor:v,binaryData:p}}convertOleFrame(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"flag"),_=n.dwg_dynapi_entity_data(t,"mode"),E=n.dwg_dynapi_entity_data(t,"data_size"),h=n.dwg_entity_oleframe_get_data(t),g=h?Ue(h):"";return{type:"OLEFRAME",...o,flag:d,mode:_,dataSize:E,binaryData:g}}convertMText(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_height"),E=n.dwg_dynapi_entity_data(t,"rect_height"),h=n.dwg_dynapi_entity_data(t,"rect_width"),g=n.dwg_dynapi_entity_data(t,"extents_width"),A=n.dwg_dynapi_entity_data(t,"extents_height"),y=n.dwg_dynapi_entity_data(t,"attachment"),v=n.dwg_dynapi_entity_data(t,"flow_dir"),I=n.dwg_dynapi_entity_data(t,"text"),p=n.dwg_entity_mtext_get_style_name(t),w=n.dwg_dynapi_entity_data(t,"extrusion"),C=n.dwg_dynapi_entity_data(t,"x_axis_dir"),m=n.dwg_dynapi_entity_data(t,"linespace_style"),L=n.dwg_dynapi_entity_data(t,"linespace_factor"),N=n.dwg_dynapi_entity_data(t,"bg_fill_flag"),W=n.dwg_dynapi_entity_data(t,"bg_fill_scale"),B=n.dwg_dynapi_entity_data(t,"bg_fill_color"),F=n.dwg_dynapi_entity_data(t,"bg_fill_trans"),H=n.dwg_dynapi_entity_data(t,"column_type"),J=n.dwg_dynapi_entity_data(t,"flow_reversed"),tt=n.dwg_dynapi_entity_data(t,"auto_height"),ft=n.dwg_dynapi_entity_data(t,"column_width"),Z=n.dwg_dynapi_entity_data(t,"gutter"),Et=n.dwg_dynapi_entity_data(t,"num_column_heights"),ut=n.dwg_dynapi_entity_data(t,"column_heights"),ht=n.dwg_ptr_to_double_array(ut,Et);return{type:"MTEXT",...o,insertionPoint:d,textHeight:_,rectHeight:E,rectWidth:h,extentsHeight:A,extentsWidth:g,attachmentPoint:y,drawingDirection:v,text:I,styleName:p,extrusionDirection:w,direction:C,rotation:0,lineSpacingStyle:m,lineSpacing:L,backgroundFill:N,fillBoxScale:W,backgroundFillColor:B.rgb,backgroundFillTransparency:F,columnType:H,columnFlowReversed:J,columnAutoHeight:tt,columnWidth:ft,columnGutter:Z,columnHeightCount:Et,columnHeights:ht}}convertPoint(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"x"),_=n.dwg_dynapi_entity_data(t,"y"),E=n.dwg_dynapi_entity_data(t,"z"),h=n.dwg_dynapi_entity_data(t,"thickness"),g=n.dwg_dynapi_entity_data(t,"extrusion"),A=n.dwg_dynapi_entity_data(t,"x_ang");return{type:"POINT",...o,position:{x:d,y:_,z:E},thickness:h,extrusionDirection:g,angle:A}}convertPolyline2d(t,o,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),E=d.dwg_dynapi_entity_data(t,"curve_type"),h=d.dwg_dynapi_entity_data(t,"start_width"),g=d.dwg_dynapi_entity_data(t,"end_width"),A=d.dwg_dynapi_entity_data(t,"elevation"),y=d.dwg_dynapi_entity_data(t,"thickness"),v=d.dwg_dynapi_entity_data(t,"extrusion"),I=d.dwg_entity_polyline_2d_get_vertices(n)??[];return{type:"POLYLINE2D",...o,flag:_,smoothType:E,startWidth:h,endWidth:g,elevation:A,thickness:y,extrusionDirection:v,vertices:I.map(p=>({x:p.point.x,y:p.point.y,z:p.point.z,startWidth:p.start_width,endWidth:p.end_width,bulge:p.bulge,flag:p.flag,tangentDirection:p.tangent_dir})),meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0}}convertPolyline3d(t,o,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"flag"),E=d.dwg_dynapi_entity_data(t,"curve_type"),h=d.dwg_dynapi_entity_data(t,"start_width"),g=d.dwg_dynapi_entity_data(t,"end_width"),A=d.dwg_dynapi_entity_data(t,"extrusion"),y=d.dwg_entity_polyline_3d_get_vertices(n)??[];return{type:"POLYLINE3D",...o,flag:_,smoothType:E,startWidth:h,endWidth:g,extrusionDirection:A,vertices:y.map(v=>({x:v.point.x,y:v.point.y,z:v.point.z,flag:v.flag}))}}convertProxyEntity(t,o,n){const d=this.libredwg,_=d.dwg_dynapi_entity_data(t,"proxy_id"),E=d.dwg_dynapi_entity_data(t,"class_id"),h=d.dwg_dynapi_entity_data(t,"data_numbits"),g=d.dwg_dynapi_entity_data(t,"version"),A=d.dwg_dynapi_entity_data(t,"from_dxf"),y=d.dwg_dynapi_entity_data(t,"num_objids"),v=d.dwg_entity_get_preview(n),I=(v==null?void 0:v.length)??0,p=d.dwg_entity_proxy_entity_get_entity_data(t),w=v?Ue(v):void 0,C=p?Ue(p):void 0;let m;if(y>0){const W=d.dwg_dynapi_entity_data(t,"objids");W&&(m=d.dwg_ptr_to_object_ref_array(W,y).map(F=>pt(F.absolute_ref)))}const L=this.getOriginalDxfName(E),N={type:"ACAD_PROXY_ENTITY",subclassMarker:"AcDbProxyEntity",...o,proxyEntityClassId:_||498,applicationEntityClassId:E};return L&&(N.originalDxfName=L),I>0&&(N.graphicsDataSize=I),w&&(N.graphicsData=w),h>0&&(N.entityDataSize=h),C&&(N.entityData=C),m&&m.length>0&&(N.linkedObjectIds=m),g&&(N.objectDrawingFormat=g),(A===0||A===1)&&(N.originalDataFormat=A),N}getOriginalDxfName(t){if(this.classes.length===0||t<0)return;const o=t>=500?t-500:t;if(o>=0&&o<this.classes.length)return this.classes[o].dxfName}convertRay(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"RAY",...o,firstPoint:d,unitDirection:_}}convertSection(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"state"),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"name"),h=n.dwg_dynapi_entity_data(t,"vert_dir"),g=n.dwg_dynapi_entity_data(t,"top_height"),A=n.dwg_dynapi_entity_data(t,"bottom_height"),y=n.dwg_dynapi_entity_data(t,"indicator_alpha"),v=n.dwg_dynapi_entity_data(t,"indicator_color"),I=n.dwg_dynapi_entity_data(t,"num_verts"),p=n.dwg_dynapi_entity_data(t,"verts"),w=I>0?n.dwg_ptr_to_point3d_array(p,I):[],C=n.dwg_dynapi_entity_data(t,"num_blverts"),m=n.dwg_dynapi_entity_data(t,"blverts"),L=C>0?n.dwg_ptr_to_point3d_array(m,C):[],N=n.dwg_dynapi_entity_data(t,"geometrySettingHardId"),W=n.dwg_ref_get_handle_absolute_ref(N)??0n;return{type:"SECTION",...o,state:d,flags:_,name:E,verticalDirection:h,topHeight:g,bottomHeight:A,indicatorTransparency:y,indicatorColor:v.rgb,numberOfVertices:I,vertices:w,numberOfBackLineVertices:C,backLineVertices:L,geometrySettingHardId:W}}convertShape(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"scale"),E=n.dwg_dynapi_entity_data(t,"rotation"),h=n.dwg_dynapi_entity_data(t,"width_factor"),g=n.dwg_dynapi_entity_data(t,"oblique_angle"),A=n.dwg_dynapi_entity_data(t,"thickness"),y=n.dwg_dynapi_entity_data(t,"extrusion"),v=n.dwg_dynapi_entity_data(t,"style_id"),I=n.dwg_entity_text_get_style_name(t);return{type:"SHAPE",subclassMarker:"AcDbShape",...o,thickness:A,insertionPoint:d,size:_,shapeNumber:v,styleName:I,rotation:E,xScale:h,obliqueAngle:g,extrusionDirection:y}}convertSolid(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"corner1"),_=n.dwg_dynapi_entity_data(t,"corner2"),E=n.dwg_dynapi_entity_data(t,"corner3"),h=n.dwg_dynapi_entity_data(t,"corner4"),g=n.dwg_dynapi_entity_data(t,"thickness"),A=n.dwg_dynapi_entity_data(t,"extrusion");return{type:"SOLID",...o,corner1:d,corner2:_,corner3:E,corner4:h,thickness:g,extrusionDirection:A}}convertSpline(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"splineflags"),_=n.dwg_dynapi_entity_data(t,"degree"),E=n.dwg_dynapi_entity_data(t,"knot_tol"),h=n.dwg_dynapi_entity_data(t,"num_knots"),g=n.dwg_dynapi_entity_data(t,"knots"),A=n.dwg_ptr_to_double_array(g,h),y=n.dwg_dynapi_entity_data(t,"fit_tol"),v=n.dwg_dynapi_entity_data(t,"num_fit_pts"),I=n.dwg_dynapi_entity_data(t,"fit_pts"),p=n.dwg_ptr_to_point3d_array(I,v),w=n.dwg_dynapi_entity_data(t,"weighted"),C=n.dwg_dynapi_entity_data(t,"ctrl_tol"),m=n.dwg_dynapi_entity_data(t,"num_ctrl_pts"),L=n.dwg_dynapi_entity_data(t,"ctrl_pts"),N=n.dwg_ptr_to_point4d_array(L,m),W=n.dwg_dynapi_entity_data(t,"beg_tan_vec"),B=n.dwg_dynapi_entity_data(t,"end_tan_vec");return{type:"SPLINE",...o,flag:d,degree:_,numberOfKnots:h,numberOfControlPoints:m,numberOfFitPoints:v,knotTolerance:E,controlTolerance:C,fitTolerance:y,startTangent:W,endTangent:B,knots:A,weights:w?N.map(F=>F.w):void 0,controlPoints:N.map(F=>({x:F.x,y:F.y,z:F.z})),fitPoints:p}}convertTable(t,o){const n=this.libredwg,d=n.dwg_dynapi_subclass_data(t,"ldata","name"),_=n.dwg_dynapi_entity_data(t,"ins_pt"),E=n.dwg_dynapi_entity_data(t,"horiz_direction"),h=n.dwg_dynapi_entity_data(t,"flag_for_table_value"),g=n.dwg_dynapi_entity_data(t,"num_rows"),A=n.dwg_dynapi_entity_data(t,"num_cols"),y=n.dwg_dynapi_entity_data(t,"row_heights"),v=n.dwg_ptr_to_double_array(y,g),I=n.dwg_dynapi_entity_data(t,"col_widths"),p=n.dwg_ptr_to_double_array(I,A),w=n.dwg_dynapi_entity_data(t,"tablestyle"),C=n.dwg_ref_get_id(w)??"",m=n.dwg_dynapi_entity_data(t,"block_header"),L=n.dwg_ref_get_id(m)??"",N=n.dwg_dynapi_entity_data(t,"table_flag_override"),W=n.dwg_dynapi_entity_data(t,"border_color_overrides_flag"),B=n.dwg_dynapi_entity_data(t,"border_lineweight_overrides_flag"),F=n.dwg_dynapi_entity_data(t,"border_visibility_overrides_flag"),H=n.dwg_dynapi_entity_data(t,"num_cells"),J=n.dwg_dynapi_entity_data(t,"cells"),tt=n.dwg_ptr_to_table_cell_array(J,H);return{type:"ACAD_TABLE",...o,name:d,startPoint:_,directionVector:E,tableValue:h,rowCount:g,columnCount:A,overrideFlag:N,borderColorOverrideFlag:W,borderLineWeightOverrideFlag:B,borderVisibilityOverrideFlag:F,rowHeightArr:v,columnWidthArr:p,tableStyleId:C,blockRecordHandle:L,cells:this.convertTableCells(tt),bmpPreview:""}}convertTableCells(t){return t.map(o=>{var n,d;return{text:o.text_value,attachmentPoint:o.cell_alignment,textStyle:o.text_style?String(o.text_style):void 0,rotation:o.rotation,cellType:o.type,flagValue:o.flags,mergedValue:o.is_merged_value,autoFit:o.is_autofit_flag,topBorderVisibility:!!o.top_visibility,bottomBorderVisibility:!!o.bottom_visibility,leftBorderVisibility:!!o.left_visibility,rightBorderVisibility:!!o.right_visibility,overrideFlag:o.cell_flag_override,virtualEdgeFlag:o.virtual_edge_flag,blockTableRecordId:o.block_handle?String(o.block_handle.absolute_ref??""):void 0,blockScale:o.block_scale,blockAttrNum:((n=o.attr_defs)==null?void 0:n.length)??0,attrDefineId:(d=o.attr_defs)==null?void 0:d.map(_=>{var E;return String(((E=_.attdef)==null?void 0:E.absolute_ref)??"")}),textHeight:o.text_height??0,extendedCellFlags:o.additional_data_flag}})}convertTextBase(t){const o=this.libredwg,n=o.dwg_dynapi_entity_data(t,"text_value"),d=o.dwg_dynapi_entity_data(t,"thickness"),_=o.dwg_dynapi_entity_data(t,"ins_pt"),E=o.dwg_dynapi_entity_data(t,"alignment_pt"),h=o.dwg_dynapi_entity_data(t,"rotation"),g=o.dwg_dynapi_entity_data(t,"height"),A=o.dwg_dynapi_entity_data(t,"width_factor"),y=o.dwg_dynapi_entity_data(t,"oblique_angle"),v=o.dwg_entity_text_get_style_name(t),I=o.dwg_dynapi_entity_data(t,"generation"),p=o.dwg_dynapi_entity_data(t,"horiz_alignment"),w=o.dwg_dynapi_entity_data(t,"vert_alignment"),C=o.dwg_dynapi_entity_data(t,"extrusion");return{text:n,thickness:d,startPoint:_,endPoint:E,textHeight:g,rotation:h,xScale:A,obliqueAngle:y,styleName:v,generationFlag:I,halign:p,valign:w,extrusionDirection:C}}convertText(t,o){return{type:"TEXT",...o,...this.convertTextBase(t)}}convertTolerance(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"ins_pt"),_=n.dwg_dynapi_entity_data(t,"text_value"),E=n.dwg_dynapi_entity_data(t,"x_direction"),h=n.dwg_dynapi_entity_data(t,"extrusion"),g=n.dwg_entity_get_dimstyle_name(t);return{type:"TOLERANCE",...o,styleName:g,insertionPoint:d,text:_,extrusionDirection:h,xAxisDirection:E}}convertViewport(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"center"),_=n.dwg_dynapi_entity_data(t,"width"),E=n.dwg_dynapi_entity_data(t,"height"),h=n.dwg_dynapi_entity_data(t,"on_off"),g=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"SNAPBASE"),y=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),v=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),I=n.dwg_dynapi_entity_data(t,"VIEWDIR"),p=n.dwg_dynapi_entity_data(t,"view_target"),w=n.dwg_dynapi_entity_data(t,"lens_length"),C=n.dwg_dynapi_entity_data(t,"front_clip_z"),m=n.dwg_dynapi_entity_data(t,"back_clip_z"),L=n.dwg_dynapi_entity_data(t,"VIEWSIZE"),N=n.dwg_dynapi_entity_data(t,"SNAPANG"),W=n.dwg_dynapi_entity_data(t,"twist_angle"),B=n.dwg_dynapi_entity_data(t,"circle_zoom"),F=n.dwg_dynapi_entity_data(t,"status_flag"),H=n.dwg_dynapi_entity_data(t,"style_sheet"),J=n.dwg_dynapi_entity_data(t,"render_mode"),tt=n.dwg_dynapi_entity_data(t,"UCSVP"),ft=n.dwg_dynapi_entity_data(t,"ucsorg"),Z=n.dwg_dynapi_entity_data(t,"ucsxdir"),Et=n.dwg_dynapi_entity_data(t,"ucsydir"),ut=n.dwg_dynapi_entity_data(t,"named_ucs"),ht=n.dwg_ref_get_id(ut),mt=n.dwg_dynapi_entity_data(t,"base_ucs"),Gt=n.dwg_ref_get_id(mt),Wt=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),Mt=n.dwg_dynapi_entity_data(t,"ucs_elevation"),bt=n.dwg_dynapi_entity_data(t,"shadeplot_mode"),dt=n.dwg_dynapi_entity_data(t,"use_default_lights"),x=n.dwg_dynapi_entity_data(t,"default_lighting_type"),j=n.dwg_dynapi_entity_data(t,"brightness"),z=n.dwg_dynapi_entity_data(t,"contrast"),xt=n.dwg_dynapi_entity_data(t,"grid_major"),kt=n.dwg_dynapi_entity_data(t,"background"),gt=n.dwg_ref_get_id(kt),k=n.dwg_dynapi_entity_data(t,"shadeplot"),Ft=n.dwg_ref_get_id(k),lt=n.dwg_dynapi_entity_data(t,"visualstyle"),wt=n.dwg_ref_get_id(lt),Ut=n.dwg_dynapi_entity_data(t,"sun"),te=n.dwg_ref_get_id(Ut);return{type:"VIEWPORT",...o,viewportCenter:d,width:_,height:E,status:h,viewportId:0,displayCenter:g,snapBase:A,snapSpacing:y,gridSpacing:v,viewDirection:I,targetPoint:p,perspectiveLensLength:w,frontClipZ:C,backClipZ:m,viewHeight:L,snapAngle:N,viewTwistAngle:W,circleZoomPercent:B,statusBitFlags:F,sheetName:H,renderMode:J,ucsPerViewport:tt,ucsOrigin:ft,ucsXAxis:Z,ucsYAxis:Et,ucsId:ht??"",ucsBaseId:Gt??"",orthographicType:Wt,elevation:Mt,shadePlotMode:bt,majorGridFrequency:xt,backgroundId:gt??"",shadePlotId:Ft??"",visualStyleId:wt??"",isDefaultLighting:!!dt,defaultLightingType:x,brightness:j,contrast:z,sunId:te??""}}convertWipeout(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"class_version"),_=n.dwg_dynapi_entity_data(t,"pt0"),E=n.dwg_dynapi_entity_data(t,"uvec"),h=n.dwg_dynapi_entity_data(t,"vvec"),g=n.dwg_dynapi_entity_data(t,"image_size"),A=n.dwg_dynapi_entity_data(t,"display_props"),y=n.dwg_dynapi_entity_data(t,"clipping"),v=n.dwg_dynapi_entity_data(t,"brightness"),I=n.dwg_dynapi_entity_data(t,"contrast"),p=n.dwg_dynapi_entity_data(t,"fade"),w=n.dwg_dynapi_entity_data(t,"clip_mode"),C=n.dwg_dynapi_entity_data(t,"clip_boundary_type"),m=n.dwg_dynapi_entity_data(t,"num_clip_verts"),L=n.dwg_dynapi_entity_data(t,"clip_verts"),N=n.dwg_ptr_to_point2d_array(L,m),W=n.dwg_dynapi_entity_data(t,"imagedef"),B=n.dwg_ref_get_absref(W)??0,F=n.dwg_dynapi_entity_data(t,"imagedefreactor"),H=n.dwg_ref_get_absref(F)??0;return{type:"WIPEOUT",...o,version:d,position:_,uPixel:E,vPixel:h,imageSize:g,imageDefHandle:B,flags:A,clipping:y,brightness:v,contrast:I,fade:p,imageDefReactorHandle:H,clippingBoundaryType:C,countBoundaryPoints:m,clippingBoundaryPath:N,clipMode:w}}convertXline(t,o){const n=this.libredwg,d=n.dwg_dynapi_entity_data(t,"point"),_=n.dwg_dynapi_entity_data(t,"vector");return{type:"XLINE",...o,firstPoint:d,unitDirection:_}}getDimensionCommonAttrs(t){const o=this.libredwg,n=o.dwg_dynapi_entity_data(t,"class_version"),d=o.dwg_entity_get_block_name(t,"block"),_=o.dwg_dynapi_entity_data(t,"def_pt"),E=o.dwg_dynapi_entity_data(t,"text_midpt"),h=o.dwg_dynapi_entity_data(t,"attachmentPoint"),g=o.dwg_dynapi_entity_data(t,"flag"),A=o.dwg_dynapi_entity_data(t,"lspace_factor"),y=o.dwg_dynapi_entity_data(t,"lspace_factor"),v=o.dwg_dynapi_entity_data(t,"act_measurement"),I=o.dwg_dynapi_entity_data(t,"user_text"),p=o.dwg_dynapi_entity_data(t,"text_rotation"),w=o.dwg_dynapi_entity_data(t,"ins_rotation"),C=o.dwg_dynapi_entity_data(t,"extrusion"),m=o.dwg_entity_get_dimstyle_name(t);return{type:"DIMENSION",version:n,name:d,definitionPoint:_,textPoint:E,dimensionType:g,attachmentPoint:h,textLineSpacingStyle:A,textLineSpacingFactor:y||1,measurement:v,text:I,textRotation:p,ocsRotation:w,extrusionDirection:C,styleName:m}}getCommonAttrs(t){const o=this.libredwg,n=o.dwg_object_entity_get_color_object(t),d=n.method,_=n.index;let E;(d==194||(n.rgb>>>24&255)===194)&&(E=n.rgb&16777215);const h=this.getLayerName(t),g=o.dwg_object_entity_get_handle_object(t),A=o.dwg_object_entity_get_ownerhandle_object(t),y=o.dwg_object_entity_get_xdicobjhandle_object(t),v=this.getLtypeName(t),I=o.dwg_object_entity_get_line_weight(t),p=o.dwg_object_entity_get_ltype_scale(t),w=!o.dwg_object_entity_get_invisible(t),C=o.dwg_object_entity_get_xdata(t);return{handle:pt(g.value),ownerDictionaryHardId:pt(y.absolute_ref),ownerBlockRecordSoftId:pt(A.absolute_ref),layer:h,color:E,colorIndex:_,colorName:n.name,lineType:v,lineweight:I,lineTypeScale:p,isVisible:w,transparency:n.alpha,transparencyType:n.alpha_type,xdata:C}}getLayerName(t){const n=this.libredwg.dwg_object_entity_get_layer_object_ref(t);return this.layers.get(pt(n.handleref.value))??"0"}getLtypeName(t){const n=this.libredwg.dwg_object_entity_get_ltype_object_ref(t);return this.ltypes.get(pt(n.handleref.value))??""}}class ar{constructor(t){it(this,"libredwg"),it(this,"entityConverter"),this.libredwg=t,this.entityConverter=new lo(t)}convert(t){var o;this.entityConverter.clear();const n={tables:{APPID:{entries:[]},BLOCK_RECORD:{entries:[]},DIMSTYLE:{entries:[]},LAYER:{entries:[]},LTYPE:{entries:[]},STYLE:{entries:[]},VPORT:{entries:[]}},objects:{DICTIONARY:[],IMAGEDEF:[],LAYER_FILTER:[],LAYER_INDEX:[],LAYOUT:[],MLEADERSTYLE:[],SPATIAL_FILTER:[],XRECORD:[]},header:{},entities:[],classes:[]},d=this.libredwg;this.convertHeader(t,n.header),this.convertClasses(t,n.classes),this.entityConverter.setClasses(n.classes);const _=d.dwg_get_num_objects(t);for(let g=0;g<_;g++){const A=d.dwg_get_object(t,g);if(A){const y=this.safeObjectTio(A);if(y)switch(d.dwg_object_get_fixedtype(A)){case Y.DWG_TYPE_LAYER:{const I=this.convertLayer(y,A);n.tables.LAYER.entries.push(I),this.entityConverter.layers.set(I.handle,I.name)}break;case Y.DWG_TYPE_LTYPE:{const I=this.convertLineType(y,A);n.tables.LTYPE.entries.push(I),this.entityConverter.ltypes.set(I.handle,I.name)}break}}}for(let g=0;g<_;g++){const A=d.dwg_get_object(t,g);if(A){const y=this.safeObjectTio(A);if(y)switch(d.dwg_object_get_fixedtype(A)){case Y.DWG_TYPE_APPID:n.tables.APPID.entries.push(this.convertAppId(y));break;case Y.DWG_TYPE_BLOCK_HEADER:{const I=this.convertBlockRecord(y,A);n.tables.BLOCK_RECORD.entries.push(I),(dr(I.name)||so(I.name))&&I.entities.forEach(p=>{n.entities.push(p),p.type==="INSERT"&&p.attribs.forEach(w=>{n.entities.push(w)})})}break;case Y.DWG_TYPE_DIMSTYLE:n.tables.DIMSTYLE.entries.push(this.convertDimStyle(y,A));break;case Y.DWG_TYPE_STYLE:n.tables.STYLE.entries.push(this.convertStyle(y,A));break;case Y.DWG_TYPE_VPORT:n.tables.VPORT.entries.push(this.convertViewport(y,A));break;case Y.DWG_TYPE_DICTIONARY:n.objects.DICTIONARY.push(this.convertDictionary(y,A));break;case Y.DWG_TYPE_IMAGEDEF:n.objects.IMAGEDEF.push(this.convertImageDef(y,A));break;case Y.DWG_TYPE_LAYERFILTER:n.objects.LAYER_FILTER.push(this.convertLayerFilter(y,A));break;case Y.DWG_TYPE_LAYER_INDEX:n.objects.LAYER_INDEX.push(this.convertLayerIndex(y,A));break;case Y.DWG_TYPE_LAYOUT:n.objects.LAYOUT.push(this.convertLayout(y,A));break;case Y.DWG_TYPE_MLEADERSTYLE:n.objects.MLEADERSTYLE.push(this.convertMLeaderStyle(y,A));break;case Y.DWG_TYPE_SPATIAL_FILTER:n.objects.SPATIAL_FILTER.push(this.convertSpatialFilter(y,A));break;case Y.DWG_TYPE_XRECORD:n.objects.XRECORD.push(this.convertXRecord(y,A));break}}}const E=n.entities.filter(g=>g.type==="VIEWPORT");E.sort((g,A)=>{const y=parseInt(g.handle,16),v=parseInt(A.handle,16);return y-v}),E.forEach((g,A)=>{g.viewportId=A+1});const h=d.dwg_bmp(t);return(o=h==null?void 0:h.data)!=null&&o.length&&(n.thumbnailImage=h.data),n}getConversionStats(){return{unknownEntityCount:this.entityConverter.unknownEntityCount}}safeObjectTio(t){const o=this.libredwg;try{if(o.dwg_object_get_supertype(t)!=ir.DWG_SUPERTYPE_OBJECT)return null;const n=o.dwg_object_to_object_tio(t);return n||null}catch{return null}}convertHeader(t,o){const n=this.libredwg;no.forEach(d=>{let _=d;(d=="DIMBLK"||d=="DIMBLK1"||d=="DIMBLK2")&&(_=_+"_T");let E=n.dwg_dynapi_header_data(t,_);d=="CELTYPE"||d=="CLAYER"||d=="CLAYER"||d=="DIMSTYLE"||d=="DIMTXSTY"||d=="TEXTSTYLE"?E=E?n.dwg_ref_get_object_name(E):"":d=="DRAGVS"&&(E=E?n.dwg_ref_get_absref(E)??2:2),o[d]=E})}convertClasses(t,o){const n=this.libredwg,d=n.dwg_get_num_classes(t);for(let _=0;_<d;_++){const E=n.dwg_get_class(t,_);o.push({dxfName:E.dxfname,cppName:E.cppname,appName:E.appname,capabilitiesFlag:E.proxyflag,instanceCount:E.num_instances,wasAProxyFlag:E.s_zombie,isAnEntityFlag:E.item_class_id===498})}}convertAppId(t){const o=this.libredwg,n=o.dwg_dynapi_entity_data(t,"name"),d=o.dwg_dynapi_entity_data(t,"flag");return{name:n,standardFlag:d}}convertBlockRecord(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_entity_block_header_get_block(t);_.name&&(d.name=_.name);const E=n.dwg_dynapi_entity_data(t,"num_owned"),h=n.dwg_dynapi_entity_data(t,"flag"),g=n.dwg_dynapi_entity_data(t,"description"),A=n.dwg_dynapi_entity_data(t,"base_pt"),y=n.dwg_dynapi_entity_data(t,"insert_units"),v=n.dwg_dynapi_entity_data(t,"explodable"),I=n.dwg_dynapi_entity_data(t,"block_scaling"),p=n.dwg_dynapi_entity_data(t,"layout"),w=n.dwg_ref_get_id(p)??"";let C;const m=n.dwg_entity_block_header_get_preview(t);m&&m.length>0&&(C=Ue(m));let L=this.convertEntities(o,d.handle);if(!L||L.length==0){L=[];const N=n.dwg_dynapi_entity_data(t,"entities");if(N){const W=n.dwg_ptr_to_object_ref_ptr_array(N,E),B=this.entityConverter;for(let F=0;F<E;F++){const H=n.dwg_ref_get_object(W[F]),J=B.convert(H);J&&(J.ownerBlockRecordSoftId=d.handle,L.push(J))}}}return{...d,flags:h,description:g,basePoint:A,layout:w,insertionUnits:y,explodability:v,scalability:I,bmpPreview:C,entities:L}}convertEntities(t,o){const n=this.libredwg,d=this.entityConverter,_=[];let E=n.get_first_owned_entity(t);for(;E;){const h=d.convert(E);h&&(h.ownerBlockRecordSoftId=o,_.push(h)),E=n.get_next_owned_entity(t,E)}return _}convertDimStyle(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"DIMTOL"),E=n.dwg_dynapi_entity_data(t,"DIMLIM"),h=n.dwg_dynapi_entity_data(t,"DIMTIH"),g=n.dwg_dynapi_entity_data(t,"DIMTOH"),A=n.dwg_dynapi_entity_data(t,"DIMSE1"),y=n.dwg_dynapi_entity_data(t,"DIMSE2"),v=n.dwg_dynapi_entity_data(t,"DIMALT"),I=n.dwg_dynapi_entity_data(t,"DIMTOFL"),p=n.dwg_dynapi_entity_data(t,"DIMSAH"),w=n.dwg_dynapi_entity_data(t,"DIMTIX"),C=n.dwg_dynapi_entity_data(t,"DIMSOXD"),m=n.dwg_dynapi_entity_data(t,"DIMALTD"),L=n.dwg_dynapi_entity_data(t,"DIMZIN"),N=n.dwg_dynapi_entity_data(t,"DIMSD1"),W=n.dwg_dynapi_entity_data(t,"DIMSD2"),B=n.dwg_dynapi_entity_data(t,"DIMTOLJ"),F=n.dwg_dynapi_entity_data(t,"DIMJUST"),H=n.dwg_dynapi_entity_data(t,"DIMFIT"),J=n.dwg_dynapi_entity_data(t,"DIMUPT"),tt=n.dwg_dynapi_entity_data(t,"DIMTZIN"),ft=n.dwg_dynapi_entity_data(t,"DIMALTZ"),Z=n.dwg_dynapi_entity_data(t,"DIMALTTZ"),Et=n.dwg_dynapi_entity_data(t,"DIMTAD"),ut=n.dwg_dynapi_entity_data(t,"DIMUNIT"),ht=n.dwg_dynapi_entity_data(t,"DIMAUNIT"),mt=n.dwg_dynapi_entity_data(t,"DIMDEC"),Gt=n.dwg_dynapi_entity_data(t,"DIMTDEC"),Wt=n.dwg_dynapi_entity_data(t,"DIMALTU"),Mt=n.dwg_dynapi_entity_data(t,"DIMALTTD"),bt=n.dwg_dynapi_entity_data(t,"DIMSCALE"),dt=n.dwg_dynapi_entity_data(t,"DIMASZ"),x=n.dwg_dynapi_entity_data(t,"DIMEXO"),j=n.dwg_dynapi_entity_data(t,"DIMDLI"),z=n.dwg_dynapi_entity_data(t,"DIMEXE"),xt=n.dwg_dynapi_entity_data(t,"DIMRND"),kt=n.dwg_dynapi_entity_data(t,"DIMDLE"),gt=n.dwg_dynapi_entity_data(t,"DIMTP"),k=n.dwg_dynapi_entity_data(t,"DIMTM"),Ft=n.dwg_dynapi_entity_data(t,"DIMFXL"),lt=n.dwg_dynapi_entity_data(t,"DIMJOGANG"),wt=n.dwg_dynapi_entity_data(t,"DIMTFILL"),Ut=n.dwg_dynapi_entity_data(t,"DIMTFILLCLR"),te=n.dwg_dynapi_entity_data(t,"DIMAZIN"),Ee=n.dwg_dynapi_entity_data(t,"DIMARCSYM"),ee=n.dwg_dynapi_entity_data(t,"DIMTXT"),et=n.dwg_dynapi_entity_data(t,"DIMCEN"),V=n.dwg_dynapi_entity_data(t,"DIMTSZ"),Ce=n.dwg_dynapi_entity_data(t,"DIMALTF"),De=n.dwg_dynapi_entity_data(t,"DIMLFAC"),we=n.dwg_dynapi_entity_data(t,"DIMTVP"),Re=n.dwg_dynapi_entity_data(t,"DIMTFAC"),ue=n.dwg_dynapi_entity_data(t,"DIMGAP"),Se=n.dwg_dynapi_entity_data(t,"DIMPOST"),$t=n.dwg_dynapi_entity_data(t,"DIMAPOST"),Rt=n.dwg_dynapi_entity_data(t,"DIMBLK_T"),X=n.dwg_dynapi_entity_data(t,"DIMBLK1_T"),Le=n.dwg_dynapi_entity_data(t,"DIMBLK2_T"),Vt=n.dwg_dynapi_entity_data(t,"DIMALTRND"),Ct=n.dwg_dynapi_entity_data(t,"DIMCLRD_N"),fe=n.dwg_dynapi_entity_data(t,"DIMCLRE_N"),he=n.dwg_dynapi_entity_data(t,"DIMCLRT_N"),St=n.dwg_dynapi_entity_data(t,"DIMCLRD"),ne=n.dwg_dynapi_entity_data(t,"DIMCLRE"),Lt=n.dwg_dynapi_entity_data(t,"DIMCLRT"),re=n.dwg_dynapi_entity_data(t,"DIMADEC"),Ht=n.dwg_dynapi_entity_data(t,"DIMFRAC"),ge=n.dwg_dynapi_entity_data(t,"DIMLUNIT"),At=n.dwg_dynapi_entity_data(t,"DIMDSEP"),ae=n.dwg_dynapi_entity_data(t,"DIMTMOVE"),b=n.dwg_dynapi_entity_data(t,"DIMATFIT"),Ae=n.dwg_dynapi_entity_data(t,"DIMFXLON"),oe=n.dwg_dynapi_entity_data(t,"DIMTXTDIRECTION"),Xt=n.dwg_dynapi_entity_data(t,"DIMALTMZF"),Te=n.dwg_dynapi_entity_data(t,"DIMALTMZS"),Pe=n.dwg_dynapi_entity_data(t,"DIMMZF"),Tt=n.dwg_dynapi_entity_data(t,"DIMMZS"),Yt=n.dwg_dynapi_entity_data(t,"DIMLWD"),ye=n.dwg_dynapi_entity_data(t,"DIMLWE"),Ie=n.dwg_dynapi_entity_data(t,"DIMTXSTY"),ie=n.dwg_ref_get_absref(Ie)??void 0,pe=n.dwg_dynapi_entity_data(t,"DIMLDRBLK"),se=n.dwg_ref_get_absref(pe)??void 0;return{...d,DIMPOST:Se,DIMAPOST:$t,DIMBLK:Rt,DIMBLK1:X,DIMBLK2:Le,DIMSCALE:bt,DIMASZ:dt,DIMEXO:x,DIMDLI:j,DIMEXE:z,DIMRND:xt,DIMDLE:kt,DIMTP:gt,DIMTM:k,DIMTXT:ee,DIMCEN:et,DIMTSZ:V,DIMALTF:Ce,DIMLFAC:De,DIMTVP:we,DIMTFAC:Re,DIMGAP:ue,DIMALTRND:Vt,DIMTOL:_,DIMLIM:E,DIMTIH:h,DIMTOH:g,DIMSE1:A,DIMSE2:y,DIMTAD:Et,DIMZIN:L,DIMAZIN:te,DIMALT:v,DIMALTD:m,DIMTOFL:I,DIMSAH:p,DIMTIX:w,DIMSOXD:C,DIMCLRD:St,DIMCLRE:ne,DIMCLRT:Lt,DIMADEC:re,DIMUNIT:ut,DIMDEC:mt,DIMTDEC:Gt,DIMALTU:Wt,DIMALTTD:Mt,DIMAUNIT:ht,DIMFRAC:Ht,DIMLUNIT:ge,DIMDSEP:String.fromCharCode(At),DIMTMOVE:ae,DIMJUST:F,DIMSD1:N,DIMSD2:W,DIMTOLJ:B,DIMTZIN:tt,DIMALTZ:ft,DIMALTTZ:Z,DIMFIT:H,DIMUPT:J,DIMATFIT:b,DIMTXSTY:ie,DIMLDRBLK:se,DIMLWD:Yt,DIMLWE:ye,DIMFXL:Ft,DIMJOGANG:lt,DIMTFILL:wt,DIMTFILLCLR:Ut,DIMARCSYM:Ee,DIMCLRD_N:Ct,DIMCLRE_N:fe,DIMCLRT_N:he,DIMFXLON:Ae,DIMTXTDIRECTION:oe,DIMALTMZF:Xt,DIMALTMZS:Te,DIMMZF:Pe,DIMMZS:Tt}}convertLayer(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"frozen"),h=n.dwg_dynapi_entity_data(t,"off"),g=n.dwg_dynapi_entity_data(t,"frozen_in_new"),A=n.dwg_dynapi_entity_data(t,"plotflockedlag"),y=n.dwg_dynapi_entity_data(t,"plotflag"),v=n.dwg_dynapi_entity_data(t,"linewt"),I=n.dwg_dynapi_entity_data(t,"color"),p=n.dwg_dynapi_entity_data(t,"ltype");let w="Continuous";if(p)try{w=n.dwg_ref_get_object_name(p)}catch{}const C=I.method;let m=256,L=16777215;return C===195||(I.rgb>>>24&255)===195?m=I.rgb&255:C==194||(I.rgb>>>24&255)===194?L=I.rgb&16777215:I.index>=1&&I.index<=255&&(m=I.index),{...d,standardFlag:_,colorIndex:m,color:L,colorName:I.name,transparency:I.alpha,lineType:w,frozen:E!=0,off:h!=0,frozenInNew:g!=0,locked:A!=0,plotFlag:y,lineweight:v,plotStyleNameObjectId:"",materialObjectId:""}}convertLineType(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"description"),h=n.dwg_dynapi_entity_data(t,"numdashes"),g=n.dwg_dynapi_entity_data(t,"pattern_len"),A=n.dwg_dynapi_entity_data(t,"dashes"),y=A?n.dwg_ptr_to_ltype_dash_array(A,h):[];return{...d,description:E,standardFlag:_,numberOfLineTypes:h,totalPatternLength:g,pattern:this.convertLineTypePattern(y)}}convertLineTypePattern(t){const o=[];return t.forEach(n=>{o.push({elementLength:n.length||0,elementTypeFlag:n.complex_shapecode,shapeNumber:n.shape_flag,scale:n.scale,rotation:n.rotation,offsetX:n.x_offset,offsetY:n.y_offset,text:n.text})}),o}convertStyle(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"width_factor"),h=n.dwg_dynapi_entity_data(t,"oblique_angle"),g=n.dwg_dynapi_entity_data(t,"generation"),A=n.dwg_dynapi_entity_data(t,"last_height"),y=n.dwg_dynapi_entity_data(t,"font_file"),v=n.dwg_dynapi_entity_data(t,"bigfont_file");return{...d,standardFlag:_,fixedTextHeight:0,widthFactor:E,obliqueAngle:h,textGenerationFlag:g,lastHeight:A,font:y,bigFont:v}}convertViewport(t,o){const n=this.libredwg,d=this.getCommonTableEntryAttrs(t,o),_=n.dwg_dynapi_entity_data(t,"flag"),E=n.dwg_dynapi_entity_data(t,"VIEWSIZE"),h=n.dwg_dynapi_entity_data(t,"aspect_ratio"),g=n.dwg_dynapi_entity_data(t,"VIEWCTR"),A=n.dwg_dynapi_entity_data(t,"view_target"),y=n.dwg_dynapi_entity_data(t,"VIEWDIR"),v=n.dwg_dynapi_entity_data(t,"view_twist"),I=n.dwg_dynapi_entity_data(t,"lens_length"),p=n.dwg_dynapi_entity_data(t,"front_clip_z"),w=n.dwg_dynapi_entity_data(t,"back_clip_z"),C=n.dwg_dynapi_entity_data(t,"VIEWMODE"),m=n.dwg_dynapi_entity_data(t,"render_mode"),L=n.dwg_dynapi_entity_data(t,"use_default_lights")!=0,N=n.dwg_dynapi_entity_data(t,"default_lightning_type"),W=n.dwg_dynapi_entity_data(t,"brightness"),B=n.dwg_dynapi_entity_data(t,"contrast"),F=n.dwg_dynapi_entity_data(t,"ambient_color"),H=n.dwg_dynapi_entity_data(t,"lower_left"),J=n.dwg_dynapi_entity_data(t,"upper_right"),tt=n.dwg_dynapi_entity_data(t,"circle_zoom"),ft=n.dwg_dynapi_entity_data(t,"UCSICON"),Z=n.dwg_dynapi_entity_data(t,"GRIDUNIT"),Et=n.dwg_dynapi_entity_data(t,"SNAPANG"),ut=n.dwg_dynapi_entity_data(t,"SNAPBASE"),ht=n.dwg_dynapi_entity_data(t,"SNAPUNIT"),mt=n.dwg_dynapi_entity_data(t,"ucsorg"),Gt=n.dwg_dynapi_entity_data(t,"ucsxdir"),Wt=n.dwg_dynapi_entity_data(t,"ucsydir"),Mt=n.dwg_dynapi_entity_data(t,"ucs_elevation"),bt=n.dwg_dynapi_entity_data(t,"grid_major"),dt=n.dwg_dynapi_entity_data(t,"background"),x=dt?n.dwg_ref_get_id(dt)??"":void 0,j=n.dwg_dynapi_entity_data(t,"visualstyle"),z=j?n.dwg_ref_get_id(j)??"":void 0;return{...d,standardFlag:_,lowerLeftCorner:H,upperRightCorner:J,center:g,snapBasePoint:ut,snapSpacing:ht,gridSpacing:Z,viewDirectionFromTarget:y,viewTarget:A,lensLength:I,frontClippingPlane:p,backClippingPlane:w,viewHeight:E,aspectRatio:h,snapRotationAngle:Et,viewTwistAngle:v,circleSides:tt,frozenLayers:[],styleSheet:"",renderMode:m,viewMode:C,ucsIconSetting:ft,ucsOrigin:mt,ucsXAxis:Gt,ucsYAxis:Wt,orthographicType:0,elevation:Mt,shadePlotSetting:0,majorGridLines:bt,backgroundObjectId:x,visualStyleObjectId:z,isDefaultLightingOn:L,defaultLightingType:N,brightness:W,contrast:B,ambientColor:F.index}}getCommonTableEntryAttrs(t,o){const n=this.libredwg,d=n.dwg_object_get_tio(o),_=n.dwg_object_object_get_ownerhandle_object(d),E=n.dwg_object_get_handle_object(o);return{handle:pt(E.value),ownerHandle:pt(_.absolute_ref),name:n.dwg_dynapi_entity_data(t,"name")}}convertDictionary(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"is_hardowner"),E=n.dwg_dynapi_entity_data(t,"cloning"),h=n.dwg_dynapi_entity_data(t,"numitems"),g=n.dwg_dynapi_entity_data(t,"itemhandles"),A=n.dwg_ptr_to_object_ref_array(g,h),y=n.dwg_object_dictionary_get_texts(o),v={};return A.forEach((I,p)=>v[y[p]]=pt(I.absolute_ref)),{...d,isHardOwner:!!_,cloningFlag:E,entries:v}}convertImageDef(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"image_size"),E=n.dwg_dynapi_entity_data(t,"file_path"),h=n.dwg_dynapi_entity_data(t,"is_loaded"),g=n.dwg_dynapi_entity_data(t,"pixel_size"),A=n.dwg_dynapi_entity_data(t,"resunits");return{...d,fileName:E,size:_,sizeOfOnePixel:g,isLoaded:h,resolutionUnits:A}}convertLayerFilter(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"num_names")??0,E=n.dwg_dynapi_entity_data(t,"names"),h=E&&_>0?n.dwg_ptr_to_wchar_string_array(E,_).filter(g=>g!=null&&g!==""):[];return{...d,...h.length?{layerNames:h}:{}}}convertLayerIndex(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"last_updated"),E=n.dwg_dynapi_entity_data(t,"num_entries")??0,h=n.dwg_dynapi_entity_data(t,"entries"),g=n.dwg_dynapi_subclass_size("LAYER_entry"),A=[],y=[],v=[];if(h&&g>0)for(let I=0;I<E;I++){const p=h+I*g,w=n.dwg_dynapi_subclass_data(p,"LAYER_entry","name");A.push(w??"");const C=n.dwg_dynapi_subclass_data(p,"LAYER_entry","handle");y.push(C?n.dwg_ref_get_id(C)??"":""),v.push(n.dwg_dynapi_subclass_data(p,"LAYER_entry","numlayers")??0)}return{...d,..._!=null?{timeStamp:_}:{},...A.length?{layerNames:A}:{},...y.length?{idBufferIds:y}:{},...v.length?{idBufferEntryCounts:v}:{}}}convertLayout(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"layout_name"),E=n.dwg_dynapi_entity_data(t,"tab_order"),h=n.dwg_dynapi_entity_data(t,"layout_flags"),g=n.dwg_dynapi_entity_data(t,"INSBASE"),A=n.dwg_dynapi_entity_data(t,"LIMMIN"),y=n.dwg_dynapi_entity_data(t,"LIMMAX"),v=n.dwg_dynapi_entity_data(t,"UCSORG"),I=n.dwg_dynapi_entity_data(t,"UCSXDIR"),p=n.dwg_dynapi_entity_data(t,"UCSYDIR"),w=n.dwg_dynapi_entity_data(t,"UCSORTHOVIEW"),C=n.dwg_dynapi_entity_data(t,"EXTMIN"),m=n.dwg_dynapi_entity_data(t,"EXTMAX"),L=n.dwg_dynapi_entity_data(t,"ucs_elevation"),N=n.dwg_dynapi_entity_data(t,"block_header"),W=n.dwg_ref_get_id(N)??"",B=n.dwg_dynapi_entity_data(t,"active_viewport"),F=n.dwg_ref_get_id(B)??"",H=n.dwg_dynapi_entity_data(t,"named_ucs"),J=H?n.dwg_ref_get_id(H)??"":void 0;return{...d,layoutName:_,controlFlag:h,tabOrder:E,minLimit:A,maxLimit:y,insertionPoint:g,minExtent:C,maxExtent:m,elevation:L,ucsOrigin:v,ucsXAxis:I,ucsYAxis:p,orthographicType:w,paperSpaceTableId:W,viewportId:F,namedUcsId:J,shadePlotId:""}}convertMLeaderStyle(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=A=>n.dwg_dynapi_entity_data(t,A),E=A=>n.dwg_ref_get_id(A),h=A=>A>0,g=A=>A!=null?_r(A):void 0;return{...d,subclassMarker:"AcDbMLeaderStyle",unknown1:_("class_version"),contentType:_("content_type"),drawMLeaderOrderType:_("mleader_order"),drawLeaderOrderType:_("leader_order"),maxLeaderSegmentPoints:_("max_points"),firstSegmentAngleConstraint:_("first_seg_angle"),secondSegmentAngleConstraint:_("second_seg_angle"),leaderLineType:_("type"),leaderLineColor:g(_("line_color")),leaderLineTypeId:E(_("line_type")),leaderLineWeight:_("linewt"),landingEnabled:h(_("has_landing")),landingGap:_("landing_gap"),doglegEnabled:h(_("has_dogleg")),doglegLength:_("landing_dist"),description:_("description"),arrowheadId:E(_("arrow_head")),arrowheadSize:_("arrow_head_size"),defaultMTextContents:_("text_default"),textStyleId:E(_("text_style")),textLeftAttachmentType:_("attach_left"),textAngleType:_("text_angle_type"),textAlignmentType:_("text_align_type"),textRightAttachmentType:_("attach_right"),textColor:g(_("text_color")),textHeight:_("text_height"),textFrameEnabled:h(_("has_text_frame")),textAlignAlwaysLeft:h(_("text_always_left")),alignSpace:_("align_space"),blockContentId:E(_("block")),blockContentColor:g(_("block_color")),blockContentScale:_("block_scale"),blockContentScaleEnabled:h(_("use_block_scale")),blockContentRotation:_("block_rotation"),blockContentRotationEnabled:h(_("use_block_rotation")),blockContentConnectionType:_("block_connection"),scale:_("scale"),overwritePropertyValue:h(_("is_changed")),annotative:h(_("is_annotative")),breakGapSize:_("break_size"),textAttachmentDirection:_("attach_dir"),bottomTextAttachmentDirection:_("attach_bottom"),topTextAttachmentDirection:_("attach_top"),unknown2:h(_("text_extended"))}}convertSpatialFilter(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"origin"),E=n.dwg_dynapi_entity_data(t,"num_clip_verts"),h=n.dwg_dynapi_entity_data(t,"clip_verts"),g=n.dwg_ptr_to_point2d_array(h,E),A=n.dwg_dynapi_entity_data(t,"extrusion"),y=n.dwg_dynapi_entity_data(t,"display_boundary_on"),v=n.dwg_dynapi_entity_data(t,"front_clip_on"),I=n.dwg_dynapi_entity_data(t,"front_clip_z"),p=n.dwg_dynapi_entity_data(t,"back_clip_on"),w=n.dwg_dynapi_entity_data(t,"back_clip_z"),C=n.dwg_dynapi_entity_data(t,"transform"),m=n.dwg_ptr_to_double_array(C,12),L=n.dwg_dynapi_entity_data(t,"inverse_transform"),N=n.dwg_ptr_to_double_array(L,12);return{...d,origin:_,numberOfPointsOnClipBoundary:E,vertices:g,extrusionDirection:A,clipBoundaryVisible:!!y,frontClippingPlaneFlag:!!v,frontClippingPlaneDistance:I,backClippingPlaneFlag:!!p,backClippingPlaneDistance:w,matrix:m,invertBlockMatrix:N}}convertXRecord(t,o){const n=this.libredwg,d=this.getCommonObjectAttrs(o),_=n.dwg_dynapi_entity_data(t,"cloning"),E=n.dwg_object_xrecord_get_xdata(t)??[],h=n.dwg_object_get_tio(o),g=h?n.dwg_object_object_get_xdicobjhandle_object(h):null,A=g&&g.absolute_ref?pt(g.absolute_ref):void 0;return{...d,..._!=null?{cloning:_}:{},...A?{extensionDictionary:A}:{},data:E}}getCommonObjectAttrs(t){const o=this.libredwg,n=o.dwg_object_get_tio(t),d=o.dwg_object_object_get_ownerhandle_object(n),_=o.dwg_object_get_handle_object(t);return{handle:pt(_.value),ownerHandle:pt(d.absolute_ref)}}}class It{constructor(){it(this,"min"),it(this,"max"),it(this,"valid"),this.min={x:1/0,y:1/0},this.max={x:-1/0,y:-1/0},this.valid=!1}expandByPoint(t){return this.min.x=Math.min(this.min.x,t.x),this.min.y=Math.min(this.min.y,t.y),this.max.x=Math.max(this.max.x,t.x),this.max.y=Math.max(this.max.y,t.y),this.valid=!0,this}transform(t,o){const n=this.getCorners().map(d=>({x:d.x*t.x+o.x,y:d.y*t.y+o.y}));this.reset();for(const d of n)this.expandByPoint(d);return this}rotate(t,o){const n=Math.cos(t),d=Math.sin(t),_=this.getCorners().map(E=>{const h=E.x-o.x,g=E.y-o.y;return{x:o.x+h*n-g*d,y:o.y+h*d+g*n}});this.reset();for(const E of _)this.expandByPoint(E);return this}clone(){const t=new It;return t.min={x:this.min.x,y:this.min.y},t.max={x:this.max.x,y:this.max.y},t.valid=this.valid,t}reset(){this.min={x:1/0,y:1/0},this.max={x:-1/0,y:-1/0},this.valid=!1}getCorners(){return[{x:this.min.x,y:this.min.y},{x:this.min.x,y:this.max.y},{x:this.max.x,y:this.min.y},{x:this.max.x,y:this.max.y}]}}function co(a,t,o,n,d){const _=o.length;if(_===0)throw new Error("points must not be empty");const E=o[0].length;if(a<0||a>1)throw new Error(`t out of bounds [0,1]: ${a}`);if(t<1)throw new Error("degree must be at least 1 (linear)");if(t>_-1)throw new Error("degree must be less than or equal to point count - 1");const h=d??new Array(_).fill(1),g=n??(()=>{const C=[];for(let m=0;m<_+t+1;m++)C.push(m);return C})();if(g.length!==_+t+1)throw new Error("bad knot vector length");const A=[t,g.length-1-t],y=g[A[0]],v=g[A[1]];a=a*(v-y)+y,a=Math.max(a,y),a=Math.min(a,v);let I=A[0];for(;I<A[1]&&!(a>=g[I]&&a<=g[I+1]);I++);const p=new Array(_);for(let C=0;C<_;C++){p[C]=new Array(E+1);for(let m=0;m<E;m++)p[C][m]=o[C][m]*h[C];p[C][E]=h[C]}for(let C=1;C<=t+1;C++)for(let m=I;m>I-t-1+C;m--){const L=g[m+t+1-C]-g[m],N=L===0?0:(a-g[m])/L;for(let W=0;W<E+1;W++)p[m][W]=(1-N)*p[m-1][W]+N*p[m][W]}const w=new Array(E);for(let C=0;C<E;C++)w[C]=Eo(p[I][C]/p[I][E],-9);return w}function Eo(a,t){if(isNaN(a)||!Number.isInteger(t))return NaN;const[o,n="0"]=a.toString().split("e"),d=Math.round(+`${o}e${+n-t}`),[_,E="0"]=d.toString().split("e");return+`${_}e${+E+t}`}const on={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},yn=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215,0];function Oe(a,t,o){return Math.max(t,Math.min(o,a))}const lr=class cr{constructor(){it(this,"_colorIndex"),it(this,"_color"),it(this,"_colorName"),this._colorIndex=256,this._color=null,this._colorName=null}get color(){return this._color}set color(t){t==null?this._color=null:(this._color=Math.round(Oe(t,0,256*256*256-1)),this._colorIndex=this.getColorIndexByValue(this._color),this._colorName=this.getColorNameByValue(this._color))}get hexColor(){if(this._color&&this._color>0&&this._color<=16777215){let t=this._color.toString(16).toUpperCase();for(;t.length<6;)t="0"+t;return`0x${t}`}return""}get cssColor(){return`rgb(${this.red},${this.green},${this.blue})`}get red(){return this.color!=null?this.color>>16&255:null}get green(){return this.color!=null?this.color>>8&255:null}get blue(){return this.color!=null?this.color&255:null}get colorIndex(){return this._colorIndex}set colorIndex(t){t==null?this._colorIndex=null:(this._colorIndex=Oe(t,0,256),this._color=yn[t],this._colorName=this.getColorNameByValue(this._color))}get colorName(){return this._colorName}set colorName(t){if(t){const o=on[t.toLowerCase()];o!==void 0&&(this._colorName=t,this._color=o,this._colorIndex=this.getColorIndexByValue(this._color))}else this._colorName=null}get hasColorName(){return this._colorName==null}get hasColorIndex(){return this._colorIndex==null}get isByLayer(){return this.colorIndex==256}setByLayer(){return this.colorIndex=256,this}get isByBlock(){return this.colorIndex==0}setByBlock(){return this.colorIndex=0,this}setScalar(t){return this.setRGB(t,t,t),this}setRGB(t,o,n){const d=Math.round(Oe(t,0,255)),_=Math.round(Oe(o,0,255)),E=Math.round(Oe(n,0,255));return this.color=(d<<16)+(_<<8)+E,this}setColorName(t){const o=on[t.toLowerCase()];return o!==void 0&&(this.color=o),this}clone(){const t=new cr;return t.colorIndex=this.colorIndex,t.color=this.color,t._colorName=this._colorName,this}copy(t){return this.colorIndex=t.colorIndex,this.color=t.color,this._colorName=t._colorName,this}equals(t){return t.color==this.color&&t.colorIndex==this.colorIndex&&t._colorName==this._colorName}toString(){return this.isByLayer?"ByLayer":this.isByBlock?"ByBlock":this.colorName?this.colorName:this.hexColor}getColorNameByValue(t){for(const[o,n]of Object.entries(on))if(n===t)return o;return null}getColorIndexByValue(t){const o=yn.length-1;for(let n=1;n<o;++n)if(yn[n]===t)return n;return null}};it(lr,"NAMES",on);let uo=lr;class vt{constructor(t,o){it(this,"x"),it(this,"y"),this.x=t,this.y=o}add(t){return new vt(this.x+t.x,this.y+t.y)}sub(t){return new vt(this.x-t.x,this.y-t.y)}multiply(t){return new vt(this.x*t,this.y*t)}length(){return Math.sqrt(this.x**2+this.y**2)}norm(){const t=this.length();return t===0?new vt(0,0):new vt(this.x/t,this.y/t)}}function fo(a,t,o,n=5){let d,_,E;o<0?(d=Math.atan(-o)*4,_=new vt(a.x,a.y),E=new vt(t.x,t.y)):(d=Math.atan(o)*4,_=new vt(t.x,t.y),E=new vt(a.x,a.y));const h=E.sub(_),g=h.length(),A=_.add(h.multiply(.5)),y=Math.abs(g/2/Math.tan(d/2)),v=h.norm(),I=new vt(v.x*Math.cos(Math.PI/2)-v.y*Math.sin(Math.PI/2),v.y*Math.cos(Math.PI/2)+v.x*Math.sin(Math.PI/2)),p=d<Math.PI?A.add(I.multiply(-y)):A.add(I.multiply(y)),w=Math.atan2(E.y-p.y,E.x-p.x)/Math.PI*180;let C=Math.atan2(_.y-p.y,_.x-p.x)/Math.PI*180;C<w&&(C+=360);const m=E.sub(p).length(),L=Math.floor(w/n)*n+n,N=Math.ceil(C/n)*n-n,W=[];for(let B=L;B<=N;B+=n){const F=B/180*Math.PI,H=p.add(new vt(Math.cos(F)*m,Math.sin(F)*m));W.push(H)}return o<0&&W.reverse(),W}function ho(a,t=!1){let o=[];const n=a.vertices.map(d=>({x:d.x,y:d.y,bulge:d.bulge}));t&&n.push(n[0]);for(let d=0,_=n.length;d<_-1;++d){const E=n[d],h=n[d+1];o.push(E),n[d].bulge&&(o=o.concat(fo(E,h,a.vertices[d].bulge))),d===_-2&&o.push(h)}return o}class go{constructor(){it(this,"blockMap",new Map)}rotate(t,o){const n=Math.cos(o),d=Math.sin(o);return{x:t.x*n-t.y*d,y:t.x*d+t.y*n}}interpolateBSpline(t,o,n,d=25,_){const E=[],h=t.map(y=>[y.x,y.y]),g=[n[o]],A=[n[o],n[n.length-1-o]];for(let y=o+1;y<n.length-o;++y)g[g.length-1]!==n[y]&&g.push(n[y]);for(let y=1;y<g.length;++y){const v=g[y-1],I=g[y];for(let p=0;p<=d;++p){let C=(p/d*(I-v)+v-A[0])/(A[1]-A[0]);C=Math.max(0,Math.min(1,C));const m=co(C,o,h,n,_);E.push({x:m[0],y:m[1]})}}return E}addFlipXIfApplicable(t,{bbox:o,element:n}){return"extrusionDirection"in t&&t.extrusionDirection.z===-1?{bbox:new It().expandByPoint({x:-o.min.x,y:o.min.y}).expandByPoint({x:-o.max.x,y:o.max.y}),element:`<g transform="matrix(-1 0 0 1 0 0)">${n}</g>`}:{bbox:o,element:n}}line(t){const o=new It().expandByPoint({x:t.startPoint.x,y:t.startPoint.y}).expandByPoint({x:t.endPoint.x,y:t.endPoint.y}),n=`<line x1="${t.startPoint.x}" y1="${t.startPoint.y}" x2="${t.endPoint.x}" y2="${t.endPoint.y}" />`;return{bbox:o,element:n}}ray(t){const n=t.firstPoint,d={x:n.x+t.unitDirection.x*1e4,y:n.y+t.unitDirection.y*1e4},_=new It().expandByPoint(n).expandByPoint(d),E=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:E}}xline(t){const n={x:t.firstPoint.x-t.unitDirection.x*1e4,y:t.firstPoint.y-t.unitDirection.y*1e4},d={x:t.firstPoint.x+t.unitDirection.x*1e4,y:t.firstPoint.y+t.unitDirection.y*1e4},_=new It().expandByPoint(n).expandByPoint(d),E=`<line x1="${n.x}" y1="${n.y}" x2="${d.x}" y2="${d.y}" />`;return{bbox:_,element:E}}extractMTextLines(t){return t.replace(/\\U\+([0-9A-Fa-f]{4})/g,(o,n)=>String.fromCharCode(parseInt(n,16))).replace(/\\P/g,`
|
|
14
14
|
`).replace(/\\[LOlo]/g,"").replace(/\\[Ff][^;\\]*?(?:\|[^;\\]*)*;/g,"").replace(/\\[KkCcHhWwTtAa][^;\\]*;?/g,"").replace(/\\[a-zA-Z]+;?/g,"").replace(/%%(d|p|c|%)/gi,"").replace(/\\\\/g,"\\").replace(/\\~/g," ").replace(/[{}]/g,"").split(`
|
|
15
15
|
`).map(o=>o.trim()).filter(o=>o.length>0)}lines(t,o,n,d,_="start"){const E=new It().expandByPoint({x:n.x,y:n.y}).expandByPoint({x:n.x+d,y:n.y-t.length*o*1.5}),h=t.map((g,A)=>{const y=n.x,v=n.y-A*o*1.5,I=`translate(${y},${v}) scale(1,-1) translate(${-y},${-v})`;return`<text x="${y}" y="${v}" font-size="${o}" text-anchor="${_}" transform="${I}">${g}</text>`});return{bbox:E,element:h.join(`
|
|
16
16
|
`)}}mtext(t){const o=t.textHeight,n=t.insertionPoint,d=this.extractMTextLines(t.text),_=t.attachmentPoint;let E="start";return _==le.BottomCenter||_==le.MiddleCenter||_==le.TopCenter?E="middle":(_==le.BottomRight||_==le.MiddleRight||_==le.TopRight)&&(E="end"),this.lines(d,o,n,t.extentsWidth,E)}table(t){const{rowCount:o,columnCount:n,rowHeightArr:d,columnWidthArr:_,startPoint:E,cells:h}=t,g=E.x,A=E.y,y=[];for(let m=0,L=A;m<o;m++){const N=d[m];let W=g;for(let B=0;B<n;B++){const F=m*n+B,H=h[F],J=_[B];y.push({x:W,y:L,width:J,height:N,cell:H,row:m,col:B}),W+=J}L+=N}const v=y.map(({x:m,y:L,width:N,height:W,cell:B})=>{const F=[];B.topBorderVisibility&&F.push(`<line x1="${m}" y1="${L}" x2="${m+N}" y2="${L}" stroke="black" />`),B.bottomBorderVisibility&&F.push(`<line x1="${m}" y1="${L+W}" x2="${m+N}" y2="${L+W}" stroke="black" />`),B.leftBorderVisibility&&F.push(`<line x1="${m}" y1="${L}" x2="${m}" y2="${L+W}" stroke="black" />`),B.rightBorderVisibility&&F.push(`<line x1="${m+N}" y1="${L}" x2="${m+N}" y2="${L+W}" stroke="black" />`);const H=m+N/2,J=L+W/2+B.textHeight/3,tt=`<text x="${H}" y="${J}" font-size="${B.textHeight}" text-anchor="middle" dominant-baseline="middle">${B.text}</text>`;return[...F,tt].join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbEntitiyConverter.d.ts","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAkBL,UAAU,
|
|
1
|
+
{"version":3,"file":"AcDbEntitiyConverter.d.ts","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAkBL,UAAU,EA8DX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAcV,SAAS,EAgCV,MAAM,yBAAyB,CAAA;AA0BhC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI;IAQ7C;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAqEpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,iBAAiB;IAyGzB,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,YAAY;IAkIpB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,cAAc;IAsTtB,OAAO,CAAC,gBAAgB;IAqGxB,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,eAAe;IAoCvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,qBAAqB;IAgD7B,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,kBAAkB;IA6D1B,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,WAAW;CAQpB"}
|
|
@@ -248,7 +248,7 @@ var AcDbEntityConverter = /** @class */ (function () {
|
|
|
248
248
|
return dbEntity;
|
|
249
249
|
};
|
|
250
250
|
AcDbEntityConverter.prototype.convertPolyline2d = function (polyline) {
|
|
251
|
-
var _a, _b;
|
|
251
|
+
var _a, _b, _c, _d;
|
|
252
252
|
// Polyline flag (bit-coded; default = 0):
|
|
253
253
|
// https://help.autodesk.com/view/OARX/2023/ENU/?guid=GUID-ABF6B778-BE20-4B49-9B58-A94E64CEFFF3
|
|
254
254
|
//
|
|
@@ -342,7 +342,11 @@ var AcDbEntityConverter = /** @class */ (function () {
|
|
|
342
342
|
polyType = AcDbPoly2dType.QuadSplinePoly;
|
|
343
343
|
}
|
|
344
344
|
}
|
|
345
|
-
|
|
345
|
+
var dbPolyline = new AcDb2dPolyline(polyType, vertices, (_d = (_c = vertices[0]) === null || _c === void 0 ? void 0 : _c.z) !== null && _d !== void 0 ? _d : 0, isClosed, polyline.startWidth, polyline.endWidth, bulges);
|
|
346
|
+
if (polyline.extrusionDirection) {
|
|
347
|
+
dbPolyline.normal = polyline.extrusionDirection;
|
|
348
|
+
}
|
|
349
|
+
return dbPolyline;
|
|
346
350
|
}
|
|
347
351
|
};
|
|
348
352
|
AcDbEntityConverter.prototype.convertPolyline3d = function (polyline) {
|
|
@@ -493,6 +497,9 @@ var AcDbEntityConverter = /** @class */ (function () {
|
|
|
493
497
|
}
|
|
494
498
|
}
|
|
495
499
|
}
|
|
500
|
+
if (hatch.extrusionDirection) {
|
|
501
|
+
dbEntity.normal = hatch.extrusionDirection;
|
|
502
|
+
}
|
|
496
503
|
return dbEntity;
|
|
497
504
|
};
|
|
498
505
|
AcDbEntityConverter.prototype.convertTable = function (table) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,0BAA0B,EAC1B,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,UAAU,EACV,8BAA8B,EAC9B,sBAAsB,EAEtB,WAAW,EAEX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,mBAAmB,EAGnB,qBAAqB,EACrB,UAAU,EAEV,QAAQ,EAER,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EAEnB,SAAS,EAET,SAAS,EACT,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EAEf,OAAO,EACP,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EAET,QAAQ,EAGR,YAAY,EACZ,WAAW,EACX,SAAS,EAET,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EAEX,cAAc,EACd,YAAY,EACZ,0BAA0B,EAC1B,YAAY,EACZ,YAAY,EAEW,MAAM,uBAAuB,CAAA;AAyEtD;IAAA;IAwiDA,CAAC;IAviDC,qCAAO,GAAP,UAAQ,MAAiB;QACvB,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACK,0CAAY,GAApB,UAAqB,MAAiB;QACpC,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAyB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAsB,CAAC,CAAA;QAChD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAyB,CAAC,CAAA;QACnE,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAyB,CAAC,CAAA;QACzD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAyB,CAAC,CAAA;QACrD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAkC,CAAC,CAAA;QAClE,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,cAAc,CAAC,MAA0B,CAAC,CAAA;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAwB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAwB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAyB,CAAC,CAAA;QACtD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAuB,CAAC,CAAA;QAClD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAA6B,CAAC,CAAA;QAC9D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAwB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAwB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,aAAa,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC,cAAc,CAAC,MAA8B,CAAC,CAAA;QAC5D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAwB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAA6B,CAAC,CAAA;QAC9D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAA6B,CAAC,CAAA;QAC9D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAsB,CAAC,CAAA;QAChD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAyB,CAAC,CAAA;QACtD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAwB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAuB,CAAC,CAAA;QAClD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAA4B,CAAC,CAAA;QAC5D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAwB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAwB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,eAAe,CAAC,MAA2B,CAAC,CAAA;QAC1D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,cAAc,CAAC,MAA0B,CAAC,CAAA;QACxD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAwB,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAyB,CAAC,CAAA;QAC9D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAwB,CAAC,CAAA;QAC1D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAA4B,CAAC,CAAA;QAC5D,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,eAAe,CAAC,MAA2B,CAAC,CAAA;QAC1D,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACK,gDAAkB,GAA1B,UAA2B,MAAsB;;QAC/C,IAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAA;QACnC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAA;QACpD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;QAChD,CAAC;QACD,IAAI,MAAM,CAAC,wBAAwB,IAAI,IAAI,EAAE,CAAC;YAC5C,KAAK,CAAC,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAA;QAClE,CAAC;QACD,IAAI,MAAM,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;YACvC,KAAK,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;QACxD,CAAC;QACD,IAAI,MAAM,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;YACtC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAA;QACtD,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,IAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;YAC1D,IAAM,IAAI,GAAG,MAAA,MAAM,CAAC,gBAAgB,mCAAI,KAAK,CAAC,MAAM,CAAA;YACpD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,yCAAW,GAAnB,UAAoB,IAAqB;QACvC,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC/B,IAAI,IAAI,CAAC,OAAO;YAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,IAAI,CAAC,OAAO;YAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,IAAI,CAAC,OAAO;YAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,IAAI,CAAC,OAAO;YAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,wCAAU,GAAlB,UAAmB,GAAiB;;QAClC,IAAM,MAAM,GAAG,MAAA,GAAG,CAAC,kBAAkB,mCAAI,YAAY,CAAC,MAAM,CAAA;QAC5D,IAAM,QAAQ,GAAG,IAAI,OAAO,CAC1B,0BAA0B,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9C,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,EACZ,MAAM,CACP,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,MAAuB;;QAC1C,IAAM,MAAM,GAAG,MAAA,MAAM,CAAC,kBAAkB,mCAAI,YAAY,CAAC,MAAM,CAAA;QAC/D,IAAM,QAAQ,GAAG,IAAI,UAAU,CAC7B,0BAA0B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjD,MAAM,CAAC,MAAM,EACb,MAAM,CACP,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,4CAAc,GAAtB,UAAuB,OAAyB;;QAC9C,IAAM,SAAS,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC7D,IAAM,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,CAAA;QAC1C,IAAM,QAAQ,GAAG,IAAI,WAAW,CAC9B,OAAO,CAAC,MAAM,EACd,MAAA,OAAO,CAAC,kBAAkB,mCAAI,YAAY,CAAC,MAAM,EACjD,SAAS,EACT,eAAe,EACf,eAAe,GAAG,OAAO,CAAC,SAAS,EACnC,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,QAAQ,CACjB,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,yCAAW,GAAnB,UAAoB,IAAmB;QACrC,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAA;QAC7B,IAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAA;QACzB,IAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAC1C,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CACrC,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,2CAAa,GAArB,UAAsB,MAAuB;QAC3C,0DAA0D;QAC1D,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAqB;QACxC,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAA;QAChC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;QAClC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAqB;;QACxC,IAAM,MAAM,GAAG,MAAA,KAAK,CAAC,kBAAkB,mCAAI,YAAY,CAAC,MAAM,CAAA;QAC9D,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAA;QAChC,QAAQ,CAAC,QAAQ,GAAG,0BAA0B,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QAC5E,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QAC1B,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;QACxC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACtC,CAAC;QACD,QAAQ,CAAC,QAAQ,GAAG,MAAA,KAAK,CAAC,QAAQ,mCAAI,CAAC,CAAA;QACvC,QAAQ,CAAC,WAAW,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,CAAC,CAAA;QACxC,QAAQ,CAAC,OAAO,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,CAAC,CAAA;QAC1C,QAAQ,CAAC,SAAS,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,CAAC,CAAA;QACzC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAqB;;QACxC,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAA;QAChC,QAAQ,CAAC,UAAU,CAAC,CAAC,wBAAO,KAAK,CAAC,OAAO,KAAE,CAAC,EAAE,CAAC,IAAG,CAAA;QAClD,QAAQ,CAAC,UAAU,CAAC,CAAC,wBAAO,KAAK,CAAC,OAAO,KAAE,CAAC,EAAE,CAAC,IAAG,CAAA;QAClD,QAAQ,CAAC,UAAU,CAAC,CAAC,wBAAO,KAAK,CAAC,OAAO,KAAE,CAAC,EAAE,CAAC,IAAG,CAAA;QAClD,QAAQ,CAAC,UAAU,CACjB,CAAC,EACD,KAAK,CAAC,OAAO,CAAC,CAAC,uBAAM,KAAK,CAAC,OAAO,KAAE,CAAC,EAAE,CAAC,IAAG,CAAC,uBAAM,KAAK,CAAC,OAAO,KAAE,CAAC,EAAE,CAAC,GAAE,CACxE,CAAA;QACD,QAAQ,CAAC,SAAS,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,CAAC,CAAA;QACzC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,+CAAiB,GAAzB,UAA0B,QAA6B;;QACrD,oEAAoE;QACpE,IAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAA;QACnC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;QAC3C,IAAM,YAAY,GAAG,MAAA,QAAQ,CAAC,aAAa,mCAAI,CAAC,CAAC,CAAA;QACjD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,KAAK;;YACtC,QAAQ,CAAC,WAAW,CAClB,KAAK,EACL,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EACnC,MAAM,CAAC,KAAK,EACZ,MAAA,MAAM,CAAC,UAAU,mCAAI,YAAY,EACjC,MAAA,MAAM,CAAC,QAAQ,mCAAI,YAAY,CAChC,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,+CAAiB,GAAzB,UAA0B,QAA6B;;QACrD,0CAA0C;QAC1C,+FAA+F;QAC/F,EAAE;QACF,8EAA8E;QAC9E,yCAAyC;QACzC,0CAA0C;QAC1C,4BAA4B;QAC5B,iCAAiC;QACjC,qDAAqD;QACrD,uCAAuC;QACvC,4FAA4F;QAC5F,IAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;QACzC,IAAM,aAAa,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA,CAAC,KAAK;QACpD,IAAM,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA,CAAC,KAAK;QACrD,IAAM,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA,CAAC,KAAK;QAEhD,mCAAmC;QACnC,IAAM,QAAQ,GAAsB,EAAE,CAAA;QACtC,IAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,IAAM,KAAK,GAAe,EAAE,CAAA;QAC5B,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,MAAM;;YAC1B,+CAA+C;YAC/C,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBAC1B,iEAAiE;gBACjE,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;oBACzC,cAAc;oBACd,kDAAkD;oBAClD,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;wBAC1B,iBAAiB;wBACjB,wBAAwB;wBACxB,IAAM,YAAY,GAAa,EAAE,CAAA;wBACjC,gFAAgF;wBAChF,gEAAgE;wBAChE,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC;4BAC7D,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;wBACxD,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC;4BAC7D,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;wBACxD,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC;4BAC7D,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;wBACxD,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC;4BAC7D,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA;wBACxD,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;4BAC7B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBAC1B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,wCAAwC;wBACxC,QAAQ,CAAC,IAAI,CAAC;4BACZ,CAAC,EAAE,MAAM,CAAC,CAAC;4BACX,CAAC,EAAE,MAAM,CAAC,CAAC;4BACX,CAAC,EAAE,MAAM,CAAC,CAAC;yBACZ,CAAC,CAAA;wBACF,MAAM,CAAC,IAAI,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,CAAC,CAAC,CAAA;oBAChC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,2BAA2B;oBAC3B,QAAQ,CAAC,IAAI,CAAC;wBACZ,CAAC,EAAE,MAAM,CAAC,CAAC;wBACX,CAAC,EAAE,MAAM,CAAC,CAAC;wBACX,CAAC,EAAE,MAAM,CAAC,CAAC;qBACZ,CAAC,CAAA;oBACF,MAAM,CAAC,IAAI,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,CAAC,CAAC,CAAA;gBAChC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,2CAA2C;YAC3C,2EAA2E;YAC3E,IAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,gBAAgB,mCAAI,CAAC,CAAA;YAC7C,IAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,gBAAgB,mCAAI,CAAC,CAAA;YAC7C,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC3E,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAA;YACxC,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;gBACzB,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAA;YACxC,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;gBAChC,kDAAkD;gBAClD,0DAA0D;gBAC1D,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;oBAC7B,sBAAsB;oBACtB,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAA;gBAC3C,CAAC;qBAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;oBACpC,0BAA0B;oBAC1B,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAA;gBAC1C,CAAC;YACH,CAAC;YACD,OAAO,IAAI,cAAc,CACvB,QAAQ,EACR,QAAQ,EACR,CAAC,EACD,QAAQ,EACR,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,QAAQ,EACjB,MAAM,CACP,CAAA;QACH,CAAC;IACH,CAAC;IAEO,+CAAiB,GAAzB,UAA0B,QAA6B;QACrD,0CAA0C;QAC1C,+FAA+F;QAC/F,EAAE;QACF,8EAA8E;QAC9E,yCAAyC;QACzC,0CAA0C;QAC1C,4BAA4B;QAC5B,iCAAiC;QACjC,qDAAqD;QACrD,uCAAuC;QACvC,4FAA4F;QAC5F,IAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;QAEzC,mCAAmC;QACnC,IAAM,QAAQ,GAAsB,EAAE,CAAA;QACtC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,MAAM;YAC1B,+CAA+C;YAC/C,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CAAC;oBACZ,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,CAAC,EAAE,MAAM,CAAC,CAAC;iBACZ,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAA;QACxC,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YACzB,kDAAkD;YAClD,0DAA0D;YAC1D,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;gBAC7B,sBAAsB;gBACtB,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAA;YAC3C,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;gBACpC,0BAA0B;gBAC1B,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAA;YAC1C,CAAC;QACH,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzD,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAqB;;QACxC,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAA;QAEhC,MAAA,KAAK,CAAC,eAAe,0CAAE,OAAO,CAAC,UAAA,IAAI;YACjC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;aAClE,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,0GAA0G;QAC1G,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;QAC3C,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAuC,CAAA;QACnE,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;QACxC,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC,WAA8C,CAAA;QAC3E,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAA;QAC3E,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAA;QAE3E,IAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAA;QACjC,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI;YAChB,IAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAA;YACtC,iCAAiC;YACjC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;gBAChB,IAAM,YAAY,GAAG,IAA+B,CAAA;gBACpD,IAAM,UAAQ,GAAG,IAAI,cAAc,EAAE,CAAA;gBACrC,UAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAA;gBACvC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,KAAK;oBAC1C,UAAQ,CAAC,WAAW,CAAC,KAAK,EAAE;wBAC1B,CAAC,EAAE,MAAM,CAAC,CAAC;wBACX,CAAC,EAAE,MAAM,CAAC,CAAC;wBACX,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;gBACF,QAAQ,CAAC,GAAG,CAAC,UAAQ,CAAC,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,IAAM,QAAQ,GAAG,IAAgD,CAAA;gBACjE,IAAM,OAAK,GAA2B,EAAE,CAAA;gBACxC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI;oBACzB,0FAA0F;oBAC1F,IAAI,IAAI,IAAI,IAAI;wBAAE,OAAM;oBACxB,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;wBACnB,IAAM,IAAI,GAAG,IAAmB,CAAA;wBAChC,OAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;oBAClD,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;wBAC1B,IAAM,GAAG,GAAG,IAAkB,CAAA;wBAC9B,OAAK,CAAC,IAAI,CACR,IAAI,aAAa,CACf,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,EACZ,CAAC,GAAG,CAAC,KAAK,CACX,CACF,CAAA;oBACH,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;wBAC1B,IAAM,OAAO,GAAG,IAAsB,CAAA;wBACtC,IAAM,SAAS,GAAG,IAAI,YAAY,EAAE,CAAA;wBACpC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;wBACjD,IAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CACxD,CAAA;wBACD,yDAAyD;wBACzD,uEAAuE;wBACvE,IAAM,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAA;wBACnE,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;wBACnC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;wBAC/B,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;wBACzD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;4BACnB,kDAAkD;4BAClD,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,UAAU,CAAA;4BACrC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAA;wBACnC,CAAC;wBACD,OAAK,CAAC,IAAI,CACR,IAAI,gBAAgB,uBACb,OAAO,CAAC,MAAM,KAAE,CAAC,EAAE,CAAC,KACzB,eAAe,EACf,eAAe,EACf,UAAU,EACV,QAAQ,EACR,CAAC,OAAO,CAAC,KAAK,EACd,QAAQ,CACT,CACF,CAAA;oBACH,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;wBAC1B,IAAM,UAAU,GAAG,YAAY,CAAC,iBAAiB,CAC/C,IAAqB,CACtB,CAAA;wBACD,IAAI,UAAU,EAAE,CAAC;4BACf,OAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;wBACxB,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAA;gBACF,IAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,OAAK,CAAC,CAAA;gBAC9C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,OAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,gEAAgE;oBAChE,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,OAAK,CAAC,CAAC,CAAA;gBACrC,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAA;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QACF,kCAAkC;QAClC,6CAA6C;QAC7C,mBAAmB;QACnB,gBAAgB;QAChB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,IAAM,aAAa,GAAG,KAA+B,CAAA;YACrD,QAAQ,CAAC,eAAe,GAAG,mBAAmB,CAAC,cAAc,CAAA;YAC7D,QAAQ,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAA;YAClD,QAAQ,CAAC,aAAa,GAAG,MAAA,aAAa,CAAC,gBAAgB,mCAAI,CAAC,CAAA;YAC5D,QAAQ,CAAC,aAAa,GAAG,MAAA,aAAa,CAAC,kBAAkB,mCAAI,CAAC,CAAA;YAC9D,QAAQ,CAAC,oBAAoB,GAAG,aAAa,CAAC,iBAAiB,IAAI,CAAC,CAAA;YACpE,QAAQ,CAAC,cAAc,GAAG,MAAA,aAAa,CAAC,SAAS,mCAAI,CAAC,CAAA;YACtD,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;gBACjC,IAAM,QAAM,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAA;gBAClD,IAAI,QAAM,GAAG,CAAC,EAAE,CAAC;oBACf,QAAQ,CAAC,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;oBACjE,QAAQ,CAAC,gBAAgB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;gBACjE,CAAC;qBAAM,IAAI,QAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,QAAQ,CAAC,kBAAkB,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;gBACnE,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAqB;;QACxC,IAAM,QAAQ,GAAG,IAAI,SAAS,CAC5B,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE,EAChB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,WAAW,CAClB,CAAA;QACD,4CAA4C;QAC5C,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QAC1C,QAAQ,CAAC,mBAAmB,GAAG,KAAK,CAAC,iBAAiB,CAAA;QACtD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,QAAQ,CAAC,mBAAmB,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACxE,CAAC;QACD,QAAQ,CAAC,eAAe;YACtB,KAAK,CAAC,eAAsD,CAAA;QAC9D,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACxC,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU,CAAA;QAC1C,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAA;QAC/C,QAAQ,CAAC,uBAAuB,GAAG,KAAK,CAAC,uBAAuB,CAAA;QAChE,QAAQ,CAAC,4BAA4B,GAAG,KAAK,CAAC,4BAA4B,CAAA;QAC1E,QAAQ,CAAC,4BAA4B,GAAG,KAAK,CAAC,4BAA4B,CAAA;QAC1E,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK;YACxC,OAAA,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC;QAArC,CAAqC,CACtC,CAAA;QACD,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,KAAK;YACvC,OAAA,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QAApC,CAAoC,CACrC,CAAA;QACD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,KAAK;YAC9B,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAgC,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,yCAAW,GAAnB,UAAoB,IAAmB;;QACrC,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAC/B,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACnC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvC,yEAAyE;QACzE,kEAAkE;QAClE,uEAAuE;QACvE,+DAA+D;QAC/D,4BAA4B;QAC5B,IAAM,cAAc,GAClB,CAAC,IAAI,CAAC,QAAQ;YACd,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;gBACrB,CAAC,MAAC,IAAI,CAAC,QAA2B,CAAC,CAAC,mCAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QACrD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,CAAC;QACD,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,QAAQ,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAI,CAAC,CAAA;QACzC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACnC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,MAA2C,CAAA;QAC1E,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,MAAyC,CAAA;QACtE,QAAQ,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,CAAA;QACvC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,8CAAgB,GAAxB,UAAyB,SAA6B;;QACpD,IAAM,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAA;QAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAChD,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC9B,QAAQ,CAAC,cAAc,GAAG,MAAA,SAAS,CAAC,SAAS,mCAAI,EAAE,CAAA;QACnD,IAAI,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACjC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACpD,CAAC;QACD,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YAC7B,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAqB;QACxC,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAA;QAChC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAA;QAC9B,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC5B,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACtC,CAAC;QACD,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAA;QAClC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAA;QAChC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAA;QACvC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,cAA6B,CAAA;QACvD,QAAQ,CAAC,eAAe;YACtB,KAAK,CAAC,eAAsD,CAAA;QAC9D,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,QAAQ,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACxD,CAAC;QACD,QAAQ,CAAC,gBAAgB;YACvB,KAAK,CAAC,gBAAqD,CAAA;QAC7D,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACzD,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QAC5C,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,2CAAa,GAArB,UAAsB,MAAuB;;QAC3C,IAAM,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAA;QACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,KAAK;YAC3B,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAA;QACjD,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAA;QAC9C,QAAQ,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAA;QACjE,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;QACpC,QAAQ,CAAC,cAAc,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,EAAE,CAAA;QAChD,QAAQ,CAAC,QAAQ;YACf,MAAM,CAAC,kBAAyD,CAAA;QAClE,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI;YAAE,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QACtE,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI;YAAE,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;QACnE,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI;YAAE,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QAC5E,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAA;QAC7D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAClD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC/B,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,eAAe;YAAE,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;QAC7E,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAA;QAC7D,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAqB;;QACxC,IAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAA;QAEhC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,IAAI,UAAU,CAAA;QACnD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QAC5B,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QAC5B,QAAQ,CAAC,aAAa;YACpB,KAAK,CAAC,aAAkD,CAAA;QAC1D,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAA;QACzC,QAAQ,CAAC,MAAM,GAAG,MAAA,KAAK,CAAC,kBAAkB,mCAAI,YAAY,CAAC,MAAM,CAAA;QACjE,QAAQ,CAAC,UAAU,GAAG,MAAA,KAAK,CAAC,aAAa,mCAAI,CAAC,CAAA;QAE9C,QAAQ,CAAC,QAAQ,GAAG,CAAC,MAAA,KAAK,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,MAAM;;YAAI,OAAA,CAAC;gBACxD,QAAQ,EAAE,MAAM,CAAC,MAAM;gBACvB,SAAS,EAAE,MAAM,CAAC,eAAe;gBACjC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,QAAQ,EAAE,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAA,IAAI;;oBAAI,OAAA,CAAC;wBAC1C,cAAc,EAAE,IAAI,CAAC,qBAAqB;wBAC1C,UAAU,EAAE,MAAA,IAAI,CAAC,aAAa,mCAAI,EAAE;wBACpC,SAAS,EAAE,IAAI,CAAC,sBAAsB;wBACtC,cAAc,EAAE,MAAA,IAAI,CAAC,cAAc,mCAAI,EAAE;qBAC1C,CAAC,CAAA;iBAAA,CAAC;aACJ,CAAC,CAAA;SAAA,CAAC,CAAA;QAEH,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,4CAAc,GAAtB,UAAuB,OAA6B;;QAClD,IAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,IAAM,GAAG,GAAG,OAAyD,CAAA;QAErE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAClC,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC9C,IAAI,OAAO,CAAC,aAAa;YAAE,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAA;QAC1E,QAAQ,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAA;QAC5D,QAAQ,CAAC,cAAc,GAAG,CAAC,MAAA,OAAO,CAAC,cAAc,mCAC/C,mBAAmB,CAAC,cAAc,CAAwB,CAAA;QAC5D,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;YACpC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CACvD,OAAO,CAAC,eAAe,CACxB,CAAA;QACH,CAAC;QACD,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QACpD,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QACpD,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAChD,QAAQ,CAAC,aAAa,GAAG,MAAA,OAAO,CAAC,aAAa,mCAAI,KAAK,CAAA;QACvD,QAAQ,CAAC,YAAY,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,CAAC,CAAA;QACjD,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QAC1C,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC9C,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QAC1C,QAAQ,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAA;QAChE,QAAQ,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAA;QAClE,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;QAC9C,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;QACtD,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC9B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACxE,CAAC;QACD,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QACpD,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QACxC,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAChD,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;QACtD,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAClD,CAAC;QACD,IAAI,OAAO,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YACtC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CACzD,OAAO,CAAC,iBAAiB,CAC1B,CAAA;QACH,CAAC;QACD,QAAQ,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAA;QAC5D,QAAQ,CAAC,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAA;QACxE,QAAQ,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAA;QAChE,QAAQ,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB;YACtD,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAC5B,UAAC,IAAuC,IAAK,OAAA,cAAM,IAAI,EAAG,EAAb,CAAa,CAC3D;YACH,CAAC,CAAC,EAAE,CAAA;QACN,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe;YAChD,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CACzB,UAAC,IAKA,IAAK,OAAA,cAAM,IAAI,EAAG,EAAb,CAAa,CACpB;YACH,CAAC,CAAC,EAAE,CAAA;QACN,QAAQ,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;QAC9D,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAChD,QAAQ,CAAC,6BAA6B;YACpC,OAAO,CAAC,6BAA6B,CAAA;QACvC,QAAQ,CAAC,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAA;QACxE,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;QAC5C,QAAQ,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAA;QAC5D,IAAI,OAAO,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC;YACxC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,yBAAyB,CAC3D,OAAO,CAAC,mBAAmB,CAC5B,CAAA;QACH,CAAC;QACD,QAAQ,CAAC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAA;QACtE,QAAQ,CAAC,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAA;QACxE,QAAQ,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;QAC9D,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QACxC,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAChD,QAAQ,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;QACtD,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;QAClD,QAAQ,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;QAC9D,QAAQ,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAA;QAChE,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QACpD,QAAQ,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QACpD,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACpC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACpC,QAAQ,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;QAE1D,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,QAAQ,CAAC,iBAAiB,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,WAAW,EAAE,CAAC,IAAI,CACnD,OAAO,CAAC,mBAAmB,CAC5B,CAAA;QACH,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,QAAQ,CAAC,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,QAAQ,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACpE,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,YAAY,CAC7C,OAAO,CAAC,mBAAmB,CAC5B,CAAA;QACH,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,YAAY,CAC7C,OAAO,CAAC,mBAAmB,CAC5B,CAAA;QACH,CAAC;QAED,IAAM,cAAc,GAAG,GAAG,CAAC,WAAsB,CAAA;QACjD,IAAM,oBAAoB,GACxB,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ;YAClD,CAAC,CAAE,cAA0C;YAC7C,CAAC,CAAC,SAAS,CAAA;QACf,IAAM,eAAe,GACnB,CAAC,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC/D,IAAI;YACN,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,IAAI,CAAA;QAE7D,IAAM,WAAW,GACf,MAAA,OAAO,CAAC,WAAW,mCACnB,CAAC,eAAe;YACd,CAAC,CAAC,sBAAsB,CAAC,YAAY;YACrC,CAAC,CAAC,OAAO,CAAC,YAAY;gBACpB,CAAC,CAAC,sBAAsB,CAAC,YAAY;gBACrC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAA;QAC3C,QAAQ,CAAC,WAAW,GAAG,WAAqC,CAAA;QAE5D,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAA;QACpE,IAAI,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpC,IAAM,aAAa,GACjB,MAAA,IAAI,CAAC,UAAU,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,EAAE;YAC1C,WAAW;YACX,eAAe;YACf,WAAW;SACZ,CAAC,mCAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;QACzE,IAAI,aAAa;YAAE,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAA;QAEzD,IAAM,UAAU,GACd,MAAA,MAAA,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,EAAE;YAClD,YAAY;YACZ,QAAQ;SACT,CAAC,mCACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC3B,YAAY;YACZ,aAAa;YACb,mBAAmB;SACpB,CAAC,mCACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAA;QACjE,IAAI,UAAU,IAAI,IAAI;YAAE,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAA;QAExD,IAAM,SAAS,GACb,MAAA,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,EAAE;YAClD,WAAW;YACX,OAAO;SACR,CAAC,mCACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC3B,WAAW;YACX,YAAY;YACZ,kBAAkB;SACnB,CAAC,CAAA;QACJ,IAAI,SAAS,IAAI,IAAI;YAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAA;QACrD,QAAQ,CAAC,qBAAqB;YAC5B,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,EAAE;gBAC1C,mBAAmB;gBACnB,uBAAuB;aACxB,CAAC,mCACF,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC,mCAC/C,QAAQ,CAAC,qBAAqB,CAAA;QAChC,IAAM,YAAY,GAChB,MAAA,IAAI,CAAC,UAAU,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,EAAE;YAC1C,cAAc;YACd,UAAU;SACX,CAAC,mCACF,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YACnB,cAAc;YACd,eAAe;YACf,qBAAqB;SACtB,CAAC,CAAA;QACJ,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAA;QACtC,CAAC;QAED,IAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACxC,eAAe;YACf,gBAAgB;YAChB,qBAAqB;SACtB,CAAC,CAAA;QACF,IAAI,aAAa;YAAE,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAA;QAEzD,IAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC/C,qBAAqB;YACrB,iBAAiB;SAClB,CAAC,CAAA;QACF,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,KAAK,CAAC,EAAE,CAAC;YAC7D,QAAQ,CAAC,mBAAmB;gBAC1B,mBAA0D,CAAA;QAC9D,CAAC;QAED,IAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAA;QAC/D,IAAI,uBAAuB,IAAI,IAAI,EAAE,CAAC;YACpC,QAAQ,CAAC,uBAAuB;gBAC9B,uBAAwE,CAAA;QAC5E,CAAC;QAED,IAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAChD,sBAAsB;YACtB,kBAAkB;SACnB,CAAC,CAAA;QACF,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;YACjC,QAAQ,CAAC,oBAAoB;gBAC3B,oBAAyD,CAAA;QAC7D,CAAC;QAED,IAAM,IAAI,GACR,OAAO,cAAc,KAAK,QAAQ;YAChC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,UAAU,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,mCAClE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;QAC1D,IAAM,WAAW,GACf,MAAA,IAAI,CAAC,SAAS,CAAC,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,EAAE,EAAE;YACzC,aAAa;YACb,YAAY;YACZ,cAAc;YACd,cAAc;YACd,iBAAiB;SAClB,CAAC,mCACF,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAClB,YAAY;YACZ,cAAc;YACd,cAAc;YACd,iBAAiB;YACjB,qBAAqB;SACtB,CAAC,CAAA;QACJ,IAAI,IAAI,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;YAChC,QAAQ,CAAC,YAAY,GAAG,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAA;QAC/C,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAM,WAAW,GAAG,OAAO,CAAC,YAG3B,CAAA;YACD,IAAM,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAA;YAC1D,IAAI,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzC,IAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE;oBAC7D,OAAO;iBACR,CAAC,CAAA;gBACF,QAAQ,CAAC,YAAY,GAAG;oBACtB,cAAc,gBAAA;oBACd,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;oBAC/C,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,QAAQ;oBACvC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;oBAC7C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;oBACpD,KAAK,EAAE,aAAa;oBACpB,oBAAoB,EAAE,KAAK,CAAC,OAAO,CACjC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAC1C;wBACC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB;wBAC3C,CAAC,CAAC,EAAE;iBACP,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,QAAQ,CAAC,YAAY,GAAG;gBACtB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,KAAK,EAAE,OAAO,CAAC,iBAAiB;gBAChC,QAAQ,EAAE,OAAO,CAAC,oBAAoB;gBACtC,KAAK,EAAE,QAAQ,CAAC,iBAAiB;gBACjC,oBAAoB,EAAE,EAAE;aACzB,CAAA;QACH,CAAC;QAED,MAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAC,UAAA,MAAM;;YAC1C,QAAQ,CAAC,SAAS,CAAC;gBACjB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;gBAC/C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;gBACrD,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,YAAY,EAAE,MAAA,MAAM,CAAC,YAAY,mCAAI,OAAO,CAAC,YAAY;gBACzD,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAI,QAAQ,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;YACnC,MAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAC,UAAA,IAAI;gBACzC,QAAQ,CAAC,SAAS,CAAC;oBACjB,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC,CAAC,CAAA;gBACF,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAClE,QAAQ,CAAC,SAAS,CAAC;gBACjB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,sBAAsB,EAAE,IAAI;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,8CAAgB,GAAxB,UAAyB,SAAmC;;QAC1D,IAAI,SAAS,CAAC,cAAc,IAAI,sBAAsB,EAAE,CAAC;YACvD,IAAM,MAAM,GAAG,SAAsC,CAAA;YACrD,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,eAAe,CACvB,CAAA;YACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,QAAQ,CAAC,gBAAgB,GAAG;oBAC1B,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;oBAC1B,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;oBAC1B,CAAC,EAAE,CAAC;iBACL,CAAA;YACH,CAAC;YACD,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAA;YACxC,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,QAAQ,CAAA;QACjB,CAAC;aAAM,IAAI,SAAS,CAAC,cAAc,IAAI,sBAAsB,EAAE,CAAC;YAC9D,IAAM,MAAM,GAAG,SAAsC,CAAA;YACrD,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,eAAe,CACvB,CAAA;YACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,QAAQ,CAAC,gBAAgB,GAAG;oBAC1B,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;oBAC1B,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;oBAC1B,CAAC,EAAE,CAAC;iBACL,CAAA;YACH,CAAC;YACD,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAA;YACxC,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,QAAQ,CAAA;QACjB,CAAC;aAAM,IAAI,SAAS,CAAC,cAAc,IAAI,4BAA4B,EAAE,CAAC;YACpE,IAAM,MAAM,GAAG,SAAsC,CAAA;YACrD,IAAM,QAAQ,GAAG,IAAI,0BAA0B,CAC7C,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,eAAe,CACvB,CAAA;YACD,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,QAAQ,CAAA;QACjB,CAAC;aAAM,IAAI,SAAS,CAAC,cAAc,IAAI,2BAA2B,EAAE,CAAC;YACnE,IAAM,MAAM,GAAG,SAEd,CAAA;YACD,IAAM,QAAQ,GACZ,MAAA,MAAA,MAAM,CAAC,eAAe,mCAAI,MAAM,CAAC,QAAQ,mCAAI,MAAM,CAAC,mBAAmB,CAAA;YACzE,IAAM,WAAW,GACf,MAAA,MAAA,MAAM,CAAC,WAAW,mCAClB,MAAM,CAAC,mBAAmB,mCAC1B,MAAM,CAAC,mBAAmB,CAAA;YAC5B,IAAM,WAAW,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,QAAQ,CAAA;YAC3C,IAAM,mBAAmB,GACvB,MAAA,MAAA,MAAM,CAAC,mBAAmB,mCAAI,WAAW,mCAAI,QAAQ,CAAA;YACvD,IAAM,mBAAmB,GACvB,MAAA,MAAA,MAAM,CAAC,mBAAmB,mCAAI,WAAW,mCAAI,QAAQ,CAAA;YACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAM,QAAQ,GAAG,IAAI,0BAA0B,CAC7C,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,CACT,CAAA;YACD,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,QAAQ,CAAA;QACjB,CAAC;aAAM,IAAI,SAAS,CAAC,cAAc,IAAI,uBAAuB,EAAE,CAAC;YAC/D,IAAM,MAAM,GAAG,SAAuC,CAAA;YACtD,IAAM,QAAQ,GAAG,IAAI,qBAAqB,CACxC,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,mBAAmB,CAC3B,CAAA;YACD,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,QAAQ,CAAA;QACjB,CAAC;aAAM,IAAI,SAAS,CAAC,cAAc,IAAI,qBAAqB,EAAE,CAAC;YAC7D,IAAM,MAAM,GAAG,SAA6C,CAAA;YAC5D,IAAM,QAAQ,GAAG,IAAI,mBAAmB,CACtC,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,YAAY,CACpB,CAAA;YACD,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,QAAQ,CAAA;QACjB,CAAC;aAAM,IAAI,SAAS,CAAC,cAAc,IAAI,wBAAwB,EAAE,CAAC;YAChE,IAAM,MAAM,GAAG,SAA6C,CAAA;YAC5D,IAAM,QAAQ,GAAG,IAAI,sBAAsB,CACzC,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,YAAY,CACpB,CAAA;YACD,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACrD,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,0CAAY,GAApB,UACE,KAAwC,EACxC,OAAwB;QAExB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACrC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;QACrC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;QACjC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACzB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACvC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,cAAwB,CAAA;QACnD,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAA;QACtC,OAAO,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACrD,OAAO,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACnD,OAAO,CAAC,kBAAkB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QACzD,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAA,KAAK;YACtC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,gBAAgB;YACtB,KAAK,CAAC,oBAAkE,CAAA;QAE1E,8BAA8B;QAC9B,OAAO,CAAC,KAAK;YACX,IAAI,CAAC,IAAI,CACP,SAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,SAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,SAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAI,CAAC,CAAA,CAChE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;QACvB,OAAO,CAAC,MAAM;YACZ,IAAI,CAAC,IAAI,CACP,SAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,SAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAI,CAAC,CAAA,GAAG,SAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAI,CAAC,CAAA,CAChE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;QAEvB,+BAA+B;QAC/B,6EAA6E;QAC7E,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAqB;QACxC,IAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACjC,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,4CAAc,GAAtB,UAAuB,OAAyB;QAC9C,IAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAA;QACnC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACrC,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,6CAAe,GAAvB,UAAwB,MAAyB;;QAC/C,IAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAA;QACnC,QAAQ,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,IAAI,mCAAI,CAAC,CAAA;QACtC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,IAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;YACxD,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,8CAAgB,GAAxB,UAAyB,MAA0B;;QACjD,IAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;QACpC,QAAQ,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,CAAC,CAAA;QAC5C,QAAQ,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,SAAS,mCAAI,EAAE,CAAA;QAC1C,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACnD,CAAC;QACD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACvD,CAAC;QACD,QAAQ,CAAC,aAAa,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,CAAC,CAAC,CAAA;QAC9C,QAAQ,CAAC,aAAa;YACpB,MAAC,MAAM,CAAC,aAAmC,mCAAI,iBAAiB,CAAC,QAAQ,CAAA;QAC3E,QAAQ,CAAC,QAAQ;YACf,MAAC,MAAM,CAAC,kBAAsC,mCAC9C,eAAe,CAAC,UAAU,CAAA;QAC5B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,IAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;YACxD,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,6CAAe,GAAvB,UAAwB,QAA2B;QACjD,IAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAA;QACrC,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAA;QACvC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;QACpD,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QACnC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QACjC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;QAClD,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAC3C,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YACpC,UAAU,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;QACrD,CAAC;QAED,qEAAqE;QACrE,kEAAkE;QAClE,sDAAsD;QACtD,iEAAiE;QACjE,IAAM,GAAG,GAAG,IAAI,CAAA;QAChB,IAAM,cAAc,GAClB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG;YACxC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QAC1C,IAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAA;QACpC,IAAM,cAAc,GAClB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QACtD,IAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAA;QAC3D,IAAI,cAAc,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;YACjD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QACpD,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,wCAAU,GAAlB,UAAmB,GAAiB;QAClC,IAAM,KAAK,GAAG,IAAI,OAAO,EAAE,CAAA;QAC3B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACpC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,0CAAY,GAApB,UAAqB,KAAqB;QACxC,IAAM,OAAO,GAAG,IAAI,SAAS,EAAE,CAAA;QAC/B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACxC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QACzC,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,oDAAsB,GAA9B,UACE,MAAyC,EACzC,QAAiD;;QAEjD,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QACxB,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAA;QAC/B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACnC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvC,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,wEAAwE;QACxE,oEAAoE;QACpE,mEAAmE;QACnE,qEAAqE;QACrE,yDAAyD;QACzD,IAAM,cAAc,GAAG,MAAA,MAAM,CAAC,cAAc,mCAAI,IAAI,CAAC,QAAQ,CAAA;QAC7D,IAAM,oBAAoB,GACxB,CAAC,cAAc;YACf,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;gBACrB,cAAc,CAAC,CAAC,KAAK,CAAC;gBACtB,CAAC,MAAC,cAAiC,CAAC,CAAC,mCAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QACtD,IAAI,cAAc,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5C,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/C,CAAC;QACD,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,QAAQ,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,YAAY,mCAAI,CAAC,CAAA;QACzC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QACnC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,MAA2C,CAAA;QAC1E,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,MAAyC,CAAA;QACtE,QAAQ,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,CAAA;QACvC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACzB,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACzC,QAAQ,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC1E,QAAQ,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAClE,QAAQ,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC5E,QAAQ,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpE,QAAQ,CAAC,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAA;QACtD,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;QAC/C,QAAQ,CAAC,gBAAgB;YACvB,CAAC,MAAM,CAAC,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC7D,QAAQ,CAAC,qBAAqB;YAC5B,CAAC,MAAM,CAAC,SAAS,GAAG,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACpE,CAAC;IAEO,8CAAgB,GAAxB,UAAyB,MAAuB;QAC9C,IAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAA;QACpC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC7C,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,wDAA0B,GAAlC,UAAmC,MAAuB;QACxD,IAAM,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAA;QAC9C,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC7C,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC/B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,mDAAqB,GAA7B,UAA8B,cAA+B;QAA7D,iBA8CC;QA7CC,IAAM,gBAAgB,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACpE,IAAI,cAAc,CAAC,cAAc;YAC/B,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;QAC/D,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAA;QACvD,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAA;QACvD,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAA;QACvD,gBAAgB,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAA;QACnD,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;QAC/D,oEAAoE;QACpE,sEAAsE;QACtE,8DAA8D;QAC9D,IAAI,cAAc,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YACvC,gBAAgB,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAA;QAC3D,CAAC;QACD,IAAI,cAAc,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YACpC,gBAAgB,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAA;QACrD,CAAC;QACD,IAAI,cAAc,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YACzC,gBAAgB,CAAC,aAAa,GAAG,cAAc,CAAC,aAAa,CAAA;QAC/D,CAAC;QACD,IAAI,cAAc,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YACtC,gBAAgB,CAAC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAA;QACzD,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,4EAA4E;QAC5E,IAAI,cAAc,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAClC,gBAAgB,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAA;QACnD,CAAC;QACD,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;gBACnC,gEAAgE;gBAChE,+DAA+D;gBAC/D,mEAAmE;gBACnE,kEAAkE;gBAClE,6DAA6D;gBAC7D,IAAM,QAAQ,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,QAAQ,YAAY,aAAa,EAAE,CAAC;oBACtC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;gBAC7C,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAEO,yDAA2B,GAAnC,UACE,MAAgC,EAChC,QAAuB;QAEvB,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAA;QACjC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC5C,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAA;QAChD,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,QAAQ,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAA;QAC/D,CAAC;QACD,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,QAAQ,CAAC,oBAAoB;gBAC3B,MAAM,CAAC,oBAAuD,CAAA;QAClE,CAAC;QACD,QAAQ,CAAC,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAA;QAC9C,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAA;QAC1C,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IAC3C,CAAC;IAEO,gDAAkB,GAA1B,UAA2B,MAAiB,EAAE,QAAoB;QAChE,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAA;QACpC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;QACjC,IAAI,MAAM,CAAC,sBAAsB,IAAI,IAAI,EAAE,CAAC;YAC1C,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAA;QAClD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC5B,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QACrC,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC9B,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QACzC,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;YACjC,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;QAC/C,CAAC;QACD,oEAAoE;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,iEAAiE;QACjE,uEAAuE;QACvE,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1E,IAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAA;YAC7B,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACjC,CAAC;YACD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC9B,6BAA6B;gBAC7B,gEAAgE;gBAChE,6DAA6D;gBAC7D,+DAA+D;gBAC/D,gEAAgE;gBAChE,+DAA+D;gBAC/D,4CAA4C;gBAC5C,6DAA6D;gBAC7D,gEAAgE;gBAChE,8DAA8D;gBAC9D,yCAAyC;gBACzC,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;oBACpD,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;gBACtC,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;YACpC,CAAC;YACD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;QACxB,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC7B,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAA;QACxC,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAChC,IAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAA;YAC3C,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAA;YAC7C,IAAI,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;gBACrD,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAA;YAC1C,CAAC;YACD,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAA;QACtC,CAAC;IACH,CAAC;IAEO,uDAAyB,GAAjC,UAAkC,KAAa;QAC7C,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;IAEO,oDAAsB,GAA9B,UACE,MAA+B,EAC/B,KAAe;;;YAEf,KAAmB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE,CAAC;gBAAtB,IAAM,MAAI,kBAAA;gBACb,IAAM,KAAK,GAAG,MAAM,CAAC,MAAI,CAAC,CAAA;gBAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;;;;;;;;;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,6CAAe,GAAvB,UAAwB,EAAsB;QAC5C,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAA;IAC9C,CAAC;IAEO,wCAAU,GAAlB,UAAmB,MAA+B,EAAE,KAAe;;;YACjE,KAAmB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE,CAAC;gBAAtB,IAAM,MAAI,kBAAA;gBACb,IAAM,KAAK,GAAG,MAAM,CAAC,MAAI,CAAC,CAAA;gBAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAA;YACvE,CAAC;;;;;;;;;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,gDAAkB,GAA1B,UAA2B,MAA+B,EAAE,KAAe;QACzE,IAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC5C,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACvD,CAAC;IAEO,wCAAU,GAAlB,UAAmB,MAA+B,EAAE,KAAe;;;YACjE,KAAmB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE,CAAC;gBAAtB,IAAM,MAAI,kBAAA;gBACb,IAAM,KAAK,GAAG,MAAM,CAAC,MAAI,CAAC,CAAA;gBAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,OAAO,KAAK,CAAA;YAC7C,CAAC;;;;;;;;;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,yCAAW,GAAnB,UAAoB,MAA+B,EAAE,KAAe;;;YAClE,KAAmB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE,CAAC;gBAAtB,IAAM,MAAI,kBAAA;gBACb,IAAM,KAAK,GAAG,MAAM,CAAC,MAAI,CAAC,CAAA;gBAC1B,IAAI,OAAO,KAAK,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAA;gBAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,OAAO,KAAK,KAAK,CAAC,CAAA;YACnD,CAAC;;;;;;;;;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,uCAAS,GAAjB,UAAkB,MAA+B,EAAE,KAAe;;;;YAChE,KAAmB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE,CAAC;gBAAtB,IAAM,MAAI,kBAAA;gBACb,IAAM,KAAK,GAAG,MAAM,CAAC,MAAI,CAAC,CAAA;gBAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAA;gBACzC,IACE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACpB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;oBAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAC5B,CAAC;oBACD,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,CAAC,EAAE,CAAA;gBACvD,CAAC;YACH,CAAC;;;;;;;;;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,iDAAmB,GAA3B,UAA4B,MAA+B;QAA3D,iBAoBC;QAnBC,IAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACtC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW;iBACf,GAAG,CAAC,UAAA,IAAI;gBACP,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAA;gBACvD,IAAM,QAAQ,GAAI,IAAgC,CAAC,QAAQ,CAAA;gBAC3D,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAC5B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAvB,CAAuB,CAAC;oBACnD,CAAC,CAAC,SAAS,CAAA;YACf,CAAC,CAAC;iBACD,MAAM,CAAC,UAAC,IAAI,IAAgC,OAAA,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAzB,CAAyB,CAAC,CAAA;QAC3E,CAAC;QAED,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAChC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAA;YAC9D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7C,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,gDAAkB,GAA1B,UACE,MAA+B;QADjC,iBAmDC;QAhDC,IAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAA;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAA;QAE7C,IAAM,SAAS,GAA0B,EAAE,CAAA;QAC3C,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM;YACpB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAM;YACjD,IAAM,YAAY,GAAG,MAAiC,CAAA;YACtD,IAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;YAC5C,IAAM,KAAK,GAAoC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;gBACvE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAsB,UAAC,MAAM,EAAE,IAAI;oBACnD,IAAM,MAAM,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;oBACzC,IAAI,MAAM;wBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBAC/B,OAAO,MAAM,CAAA;gBACf,CAAC,EAAE,EAAE,CAAC;gBACR,CAAC,CAAC,SAAS,CAAA;YAEb,IAAM,QAAQ,GAAwB,EAAE,CAAA;YACxC,IAAM,mBAAmB,GAAG,KAAI,CAAC,SAAS,CAAC,YAAY,EAAE;gBACvD,qBAAqB;aACtB,CAAC,CAAA;YACF,IAAM,YAAY,GAAG,KAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;YACnE,IAAM,YAAY,GAAG,KAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;YACpE,IAAM,YAAY,GAAG,KAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAChE,IAAM,iBAAiB,GAAG,KAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBACtD,mBAAmB;aACpB,CAAC,CAAA;YACF,IAAI,mBAAmB;gBACrB,QAAQ,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;YACpD,IAAI,YAAY,CAAC,sBAAsB,IAAI,IAAI,EAAE,CAAC;gBAChD,QAAQ,CAAC,sBAAsB,GAAG,KAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBAC/D,wBAAwB;iBACzB,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,YAAY;gBAAE,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAA;YACtD,IAAI,YAAY,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC;gBACzC,QAAQ,CAAC,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,YAAY,EAAE;oBACxD,iBAAiB;iBAClB,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,YAAY,IAAI,IAAI;gBAAE,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAA;YAC9D,IAAI,YAAY;gBAAE,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAA;YAChD,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC9B,QAAQ,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;YAChD,CAAC;YACD,IAAI,KAAK;gBAAE,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAA;YACvC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,6CAAe,GAAvB,UAAwB,KAAc;QAAtC,iBAwBC;QAvBC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QACzD,IAAM,UAAU,GAAG,KAAgC,CAAA;QACnD,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;QACpC,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAvB,CAAuB,CAAC;YACnD,CAAC,CAAC,EAAE,CAAA;QAEN,IAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1D,IAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;YACnE,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CACjC,UAAC,IAAI,IAAqB,OAAA,OAAO,IAAI,KAAK,QAAQ,EAAxB,CAAwB,CACnD;YACH,CAAC,CAAC,SAAS,CAAA;QACb,IAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAExE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/D,CAAC,CAAC;gBACE,QAAQ,EAAE,UAAU;gBACpB,iBAAiB,mBAAA;gBACjB,eAAe,iBAAA;gBACf,MAAM,EAAE,QAAQ;aACjB;YACH,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAEO,+CAAiB,GAAzB,UAA0B,KAAc;QAAxC,iBAkBC;QAjBC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QAE3C,IAAM,MAAM,GAAG,KAAK;aACjB,GAAG,CAAC,UAAC,IAAI;YACR,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YACvD,IAAM,WAAW,GAAG,IAA+B,CAAA;YACnD,IAAM,KAAK,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YACpD,IAAM,GAAG,GAAG,KAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;YAChD,IAAM,KAAK,GAAG,KAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YACrD,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAA;YACpC,IAAM,MAAM,GAAuB,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,CAAA;YACjD,IAAI,KAAK,IAAI,IAAI;gBAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;YACvC,OAAO,MAAM,CAAA;QACf,CAAC,CAAC;aACD,MAAM,CAAC,UAAC,IAAI,IAAiC,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAA;QAEvD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/C,CAAC;IAEO,yCAAW,GAAnB,UAAoB,KAAc;QAChC,OAAO,CACL,CAAC,CAAC,KAAK;YACP,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAQ,KAAyB,CAAC,CAAC,KAAK,QAAQ;YAChD,OAAQ,KAAyB,CAAC,CAAC,KAAK,QAAQ,CACjD,CAAA;IACH,CAAC;IACH,0BAAC;AAAD,CAAC,AAxiDD,IAwiDC"}
|
|
1
|
+
{"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mlightcad/libredwg-converter",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.14.1",
|
|
4
4
|
"license": "GPL-3.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
"require": "./dist/libredwg-converter.umd.cjs"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@mlightcad/libredwg-web": "^0.7.
|
|
38
|
+
"@mlightcad/libredwg-web": "^0.7.10"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"vite": "^6.4.3",
|
|
42
|
-
"@mlightcad/data-model": "1.
|
|
42
|
+
"@mlightcad/data-model": "1.14.1"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@mlightcad/data-model": "1.
|
|
45
|
+
"@mlightcad/data-model": "1.14.1"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"analyze": "pnpm run analyze:lib && pnpm run analyze:worker",
|