dxf-json 0.10.0 → 0.10.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.
package/dist/bundle.cjs CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BlockTypeFlag=void 0,(W=exports.BlockTypeFlag||(exports.BlockTypeFlag={}))[W.None=0]="None",W[W.Anonymous=1]="Anonymous",W[W.NonConstant=2]="NonConstant",W[W.Xref=4]="Xref",W[W.XrefOverlay=8]="XrefOverlay",W[W.ExternallyDependent=16]="ExternallyDependent",W[W.ResolvedOrDependent=32]="ResolvedOrDependent",W[W.ReferencedXref=64]="ReferencedXref",exports.ColorCode=void 0,(j=exports.ColorCode||(exports.ColorCode={}))[j.BYBLOCK=0]="BYBLOCK",j[j.BYLAYER=256]="BYLAYER",exports.DimensionType=void 0,(Y=exports.DimensionType||(exports.DimensionType={}))[Y.Rotated=0]="Rotated",Y[Y.Aligned=1]="Aligned",Y[Y.Angular=2]="Angular",Y[Y.Diameter=3]="Diameter",Y[Y.Radius=4]="Radius",Y[Y.Angular3Point=5]="Angular3Point",Y[Y.Ordinate=6]="Ordinate",Y[Y.ReferenceIsExclusive=32]="ReferenceIsExclusive",Y[Y.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",Y[Y.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",exports.AttachmentPoint=void 0,(X=exports.AttachmentPoint||(exports.AttachmentPoint={}))[X.TopLeft=1]="TopLeft",X[X.TopCenter=2]="TopCenter",X[X.TopRight=3]="TopRight",X[X.MiddleLeft=4]="MiddleLeft",X[X.MiddleCenter=5]="MiddleCenter",X[X.MiddleRight=6]="MiddleRight",X[X.BottomLeft=7]="BottomLeft",X[X.BottomCenter=8]="BottomCenter",X[X.BottomRight=9]="BottomRight",exports.DimensionTextLineSpacing=void 0,(z=exports.DimensionTextLineSpacing||(exports.DimensionTextLineSpacing={}))[z.AtLeast=1]="AtLeast",z[z.Exact=2]="Exact",exports.DimensionTextVertical=void 0,(K=exports.DimensionTextVertical||(exports.DimensionTextVertical={}))[K.Center=0]="Center",K[K.Above=1]="Above",K[K.Outside=2]="Outside",K[K.JIS=3]="JIS",K[K.Below=4]="Below",exports.DimensionZeroSuppression=void 0,(Z=exports.DimensionZeroSuppression||(exports.DimensionZeroSuppression={}))[Z.Feet=0]="Feet",Z[Z.None=1]="None",Z[Z.Inch=2]="Inch",Z[Z.FeetAndInch=3]="FeetAndInch",Z[Z.Leading=4]="Leading",Z[Z.Trailing=8]="Trailing",Z[Z.LeadingAndTrailing=12]="LeadingAndTrailing",exports.DimensionZeroSuppressionAngular=void 0,(J=exports.DimensionZeroSuppressionAngular||(exports.DimensionZeroSuppressionAngular={}))[J.None=0]="None",J[J.Leading=1]="Leading",J[J.Trailing=2]="Trailing",J[J.LeadingAndTrailing=3]="LeadingAndTrailing",exports.DimensionTextHorizontal=void 0,($=exports.DimensionTextHorizontal||(exports.DimensionTextHorizontal={}))[$.Center=0]="Center",$[$.First=1]="First",$[$.Second=2]="Second",$[$.OverFirst=3]="OverFirst",$[$.OverSecond=4]="OverSecond",exports.DimensionToleranceTextVertical=void 0,(q=exports.DimensionToleranceTextVertical||(exports.DimensionToleranceTextVertical={}))[q.Bottom=0]="Bottom",q[q.Center=1]="Center",q[q.Top=2]="Top",exports.HatchSolidFill=void 0,(Q=exports.HatchSolidFill||(exports.HatchSolidFill={}))[Q.PatternFill=0]="PatternFill",Q[Q.SolidFill=1]="SolidFill",exports.HatchAssociativity=void 0,(ee=exports.HatchAssociativity||(exports.HatchAssociativity={}))[ee.NonAssociative=0]="NonAssociative",ee[ee.Associative=1]="Associative",exports.HatchStyle=void 0,(er=exports.HatchStyle||(exports.HatchStyle={}))[er.Normal=0]="Normal",er[er.Outer=1]="Outer",er[er.Ignore=2]="Ignore",exports.HatchPatternType=void 0,(ea=exports.HatchPatternType||(exports.HatchPatternType={}))[ea.UserDefined=0]="UserDefined",ea[ea.Predefined=1]="Predefined",ea[ea.Custom=2]="Custom",exports.HatchBoundaryAnnotation=void 0,(et=exports.HatchBoundaryAnnotation||(exports.HatchBoundaryAnnotation={}))[et.NotAnnotated=0]="NotAnnotated",et[et.Annotated=1]="Annotated",exports.HatchGradientFlag=void 0,(en=exports.HatchGradientFlag||(exports.HatchGradientFlag={}))[en.Solid=0]="Solid",en[en.Gradient=1]="Gradient",exports.HatchGradientColorFlag=void 0,(eo=exports.HatchGradientColorFlag||(exports.HatchGradientColorFlag={}))[eo.TwoColor=0]="TwoColor",eo[eo.OneColor=1]="OneColor",exports.BoundaryPathTypeFlag=void 0,(es=exports.BoundaryPathTypeFlag||(exports.BoundaryPathTypeFlag={}))[es.Default=0]="Default",es[es.External=1]="External",es[es.Polyline=2]="Polyline",es[es.Derived=4]="Derived",es[es.Textbox=8]="Textbox",es[es.Outermost=16]="Outermost",exports.BoundaryPathEdgeType=void 0,(ei=exports.BoundaryPathEdgeType||(exports.BoundaryPathEdgeType={}))[ei.Line=1]="Line",ei[ei.Circular=2]="Circular",ei[ei.Elliptic=3]="Elliptic",ei[ei.Spline=4]="Spline",exports.ObscuredLineTypes=void 0,(ec=exports.ObscuredLineTypes||(exports.ObscuredLineTypes={}))[ec.Off=0]="Off",ec[ec.Solid=1]="Solid",ec[ec.Dashed=2]="Dashed",ec[ec.Dotted=3]="Dotted",ec[ec.ShotDash=4]="ShotDash",ec[ec.MediumDash=5]="MediumDash",ec[ec.LongDash=6]="LongDash",ec[ec.DoubleShortDash=7]="DoubleShortDash",ec[ec.DoubleMediumDash=8]="DoubleMediumDash",ec[ec.DoubleLongDash=9]="DoubleLongDash",ec[ec.DoubleMediumLongDash=10]="DoubleMediumLongDash",ec[ec.SparseDot=11]="SparseDot";const e={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:exports.ObscuredLineTypes.Off,SHADEDIF:70};function r(e,r,a){return e.code===r&&(null==a||e.value===a)}function a(e){let r={};e.rewind();let a=e.next(),t=a.code;if(r.x=a.value,(a=e.next()).code!==t+10)throw Error("Expected code for point value to be 20 but got "+a.code+".");return(r.y=a.value,(a=e.next()).code!==t+20)?e.rewind():r.z=a.value,r}exports.ReservedLineweight=void 0,(ed=exports.ReservedLineweight||(exports.ReservedLineweight={}))[ed.Standard=-3]="Standard",ed[ed.ByLayer=-2]="ByLayer",ed[ed.ByBlock=-1]="ByBlock",exports.Measurement=void 0,(ep=exports.Measurement||(exports.Measurement={}))[ep.English=0]="English",ep[ep.Metric=1]="Metric",exports.ViewportStatusFlag=void 0,(el=exports.ViewportStatusFlag||(exports.ViewportStatusFlag={}))[el.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",el[el.FRONT_CLIPPING=2]="FRONT_CLIPPING",el[el.BACK_CLIPPING=4]="BACK_CLIPPING",el[el.UCS_FOLLOW=8]="UCS_FOLLOW",el[el.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",el[el.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",el[el.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",el[el.FAST_ZOOM=128]="FAST_ZOOM",el[el.SNAP_MODE=256]="SNAP_MODE",el[el.GRID_MODE=512]="GRID_MODE",el[el.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",el[el.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",el[el.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",el[el.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",el[el.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",el[el.UNUSED=32768]="UNUSED",el[el.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",el[el.VIEWPORT_OFF=131072]="VIEWPORT_OFF",el[el.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",el[el.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",el[el.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",el[el.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",exports.RenderMode=void 0,(eu=exports.RenderMode||(exports.RenderMode={}))[eu.OPTIMIZED_2D=0]="OPTIMIZED_2D",eu[eu.WIREFRAME=1]="WIREFRAME",eu[eu.HIDDEN_LINE=2]="HIDDEN_LINE",eu[eu.FLAT_SHADED=3]="FLAT_SHADED",eu[eu.GOURAUD_SHADED=4]="GOURAUD_SHADED",eu[eu.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",eu[eu.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",exports.UCSPerViewport=void 0,(em=exports.UCSPerViewport||(exports.UCSPerViewport={}))[em.UCS_UNCHANGED=0]="UCS_UNCHANGED",em[em.HAS_OWN_UCS=1]="HAS_OWN_UCS",exports.OrthographicType=void 0,(eE=exports.OrthographicType||(exports.OrthographicType={}))[eE.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",eE[eE.TOP=1]="TOP",eE[eE.BOTTOM=2]="BOTTOM",eE[eE.FRONT=3]="FRONT",eE[eE.BACK=4]="BACK",eE[eE.LEFT=5]="LEFT",eE[eE.RIGHT=6]="RIGHT",exports.DefaultLightingType=void 0,(eh=exports.DefaultLightingType||(exports.DefaultLightingType={}))[eh.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",eh[eh.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",exports.PlotStyleType=void 0,(ex=exports.PlotStyleType||(exports.PlotStyleType={}))[ex.ByLayer=0]="ByLayer",ex[ex.ByBlock=1]="ByBlock",ex[ex.ByDictionaryDefault=2]="ByDictionaryDefault",ex[ex.ByObject=3]="ByObject";const t=Symbol();function n(e,a){return(n,s,i)=>{let c=function(e,r=!1){return e.reduce((e,a)=>{a.pushContext&&e.push({});let t=e[e.length-1];for(let e of"number"==typeof a.code?[a.code]:a.code){let n=t[e]??(t[e]=[]);a.isMultiple&&n.length&&r&&console.warn(`Snippet ${n[n.length-1].name} for code(${e}) is shadowed by ${a.name}`),n.push(a)}return e},[{}])}(e,s.debug),d=!1,p=c.length-1;for(;!r(n,0,"EOF");){let e=function(e,r,a){return e.find((e,t)=>t>=a&&e[r]?.length)}(c,n.code,p),r=e?.[n.code],a=r?.[r.length-1];if(!e||!a){s.rewind();break}a.isMultiple||e[n.code].pop();let{name:l,parser:u,isMultiple:m,isReducible:E}=a,h=u?.(n,s,i);if(h===t){s.rewind();break}if(l){let[e,r]=function(e,r){let a=r.split(".");if(!a.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let t=e;for(let e=0;e<a.length-1;++e){let r=o(a[e]),n=o(a[e+1]);Object.prototype.hasOwnProperty.call(t,r)||("number"==typeof n?t[r]=[]:t[r]={}),t=t[r]}return[t,o(a[a.length-1])]}(i,l);m&&!E?(Object.prototype.hasOwnProperty.call(e,r)||(e[r]=[]),e[r].push(h)):e[r]=h}a.pushContext&&(p-=1),d=!0,n=s.next()}return a&&Object.setPrototypeOf(i,a),d}}function o(e){let r=Number.parseInt(e);return Number.isNaN(r)?e:r}function s({value:e}){return e}function i(e,r){return a(r)}function c({value:e}){return!!e}const d=[{code:1001,name:"xdata",parser:p}];function p(e,t){if(!r(e,1001))throw Error("XData must starts with code 1001");let n={appName:e.value,value:[]};e=t.next();let o=[n.value];for(;!r(e,0,"EOF")&&e.code>=1e3;){let r=o[o.length-1];switch(e.code){case 1002:"{"===e.value?o.push([]):(o.pop(),o[o.length-1]?.push(r));break;case 1e3:case 1004:case 1040:case 1070:case 1071:r.push({type:l(e.code),value:e.value});break;case 1003:r.push({name:"layer",type:l(e.code),value:e.value});break;case 1005:r.push({name:"handle",type:l(e.code),value:e.value});break;case 1010:r.push({type:l(e.code),value:a(t)});break;case 1011:r.push({name:"worldSpacePosition",type:l(e.code),value:a(t)});break;case 1012:r.push({name:"worldSpaceDisplacement",type:l(e.code),value:a(t)});break;case 1013:r.push({name:"worldSpaceDirection",type:l(e.code),value:a(t)});break;case 1041:r.push({name:"distance",type:l(e.code),value:e.value});break;case 1042:r.push({name:"scale",type:l(e.code),value:e.value})}e=t.next()}return t.rewind(),n}function l(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function u(e,a,t){for(;r(e,102);){var n;let o=e.value;if(e=a.next(),!o.startsWith("{")){a.debug&&console.warn(`Invalid application group, expected to start with "{" but received: ${o}`),function(e,a){for(;!r(e,102)&&!r(e,0,"EOF");)e=a.next()}(e,a),e=a.next();continue}let s=o.slice(1).trim();t.extensions??(t.extensions={}),(n=t.extensions)[s]??(n[s]=[]),function(e,a,t){for(;!r(e,102,"}")&&!r(e,0,"EOF");)t.push(e),e=a.next()}(e,a,t.extensions[s]),e=a.next()}a.rewind()}let m=0;function E(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=m++)}exports.ShadowMode=void 0,(eI=exports.ShadowMode||(exports.ShadowMode={}))[eI.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",eI[eI.CAST=1]="CAST",eI[eI.RECEIVE=2]="RECEIVE",eI[eI.IGNORE=3]="IGNORE";const h=[...d,{code:284,name:"shadowMode",parser:s},{code:390,name:"plotStyleHardId",parser:s},{code:380,name:"plotStyleType",parser:s},{code:440,name:"transparency",parser:s},{code:430,name:"colorName",parser:s},{code:420,name:"color",parser:s},{code:310,name:"proxyEntity",isMultiple:!0,isReducible:!0,parser:(e,r,a)=>(a.proxyEntity??"")+e.value},{code:[92,160],name:"proxyByte",parser:s},{code:60,name:"isVisible",parser:c},{code:48,name:"lineTypeScale",parser:s},{code:370,name:"lineweight",parser:s},{code:62,name:"colorIndex",parser:s},{code:347,name:"materialObjectHardId",parser:s},{code:6,name:"lineType",parser:s},{code:8,name:"layer",parser:s},{code:410,name:"layoutTabName",parser:s},{code:67,name:"isInPaperSpace",parser:c},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:s},{code:102,parser:u},{code:102,parser:u},{code:102,parser:u},{code:5,name:"handle",parser:s}];function x(e){return[{code:3,name:e,parser:(e,r,a)=>(a._code3text=(a._code3text??"")+e.value,a._code3text+(a._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:e,parser:(e,r,a)=>(a._code1text=e.value,(a._code3text??"")+a._code1text)}]}function I(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const f={extrusionDirection:{x:0,y:0,z:1}},g=[{code:210,name:"extrusionDirection",parser:i},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:100,name:"subclassMarker",parser:s},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i},{code:39,name:"thickness",parser:s},{code:100},...h];class T{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){I(this,"parser",n(g,f))}}I(T,"ForEntityName","ARC"),exports.ArcSymbolType=void 0,(ef=exports.ArcSymbolType||(exports.ArcSymbolType={}))[ef.BeforeText=0]="BeforeText",ef[ef.AboveText=1]="AboveText",ef[ef.None=2]="None";const D=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:exports.DimensionTextVertical.Above,defaultValueImperial:exports.DimensionTextVertical.Center},{name:"DIMZIN",code:78,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMAZIN",code:79,defaultValue:exports.DimensionZeroSuppressionAngular.None},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMFXL",code:49,defaultValue:1},{name:"DIMFXLON",code:290,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:exports.DimensionTextHorizontal.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:exports.DimensionToleranceTextVertical.Center},{name:"DIMTZIN",code:284,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMALTZ",code:285,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMALTTZ",code:286,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLTYPE",code:345,defaultValue:""},{name:"DIMLTEX1",code:346,defaultValue:""},{name:"DIMLTEX2",code:347,defaultValue:""},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}],y=[{code:100,name:"subclassMarker",parser:s},{code:330,name:"ownerObjectId",parser:s},{code:102,parser(e,a){for(;!r(e,0,"EOF")&&!r(e,102,"}");)e=a.next()}},{code:5,name:"handle",parser:s}],b=n([...D.map(e=>({...e,parser:s})),{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},{code:105,name:"handle",parser:s},...y.filter(e=>5!==e.code)]),S=[{code:3,name:"styleName",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:51,name:"ocsRotation",parser:s},{code:53,name:"textRotation",parser:s},{code:1,name:"text",parser:s},{code:42,name:"measurement",parser:s},{code:72,name:"textLineSpacingStyle",parser:s},{code:71,name:"attachmentPoint",parser:s},{code:70,name:"dimensionType",parser:s},{code:11,name:"textPoint",parser:i},{code:10,name:"definitionPoint",parser:i},{code:2,name:"name",parser:s},{code:280,name:"version",parser:s},{code:100}],O=[{code:100},{code:52,name:"obliqueAngle",parser:s},{code:50,name:"rotationAngle",parser:s},{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:12,name:"insertionPoint",parser:i},{code:100,name:"subclassMarker",parser:s}],P=[{code:16,name:"arcPoint",parser:i},{code:15,name:"centerPoint",parser:i},{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:100,name:"subclassMarker",parser:s}],L=[{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:100,name:"subclassMarker",parser:s}],N=[{code:40,name:"leaderLength",parser:s},{code:15,name:"subDefinitionPoint",parser:i},{code:100,name:"subclassMarker",parser:s}],A=[{code:100,parser(e,r,a){let o=function(e){switch(e){case"AcDbAlignedDimension":return n(O);case"AcDb3PointAngularDimension":case"AcDb2LineAngularDimension":return n(P);case"AcDbOrdinateDimension":return n(L);case"AcDbRadialDimension":case"AcDbDiametricDimension":return n(N)}return null}(e.value);if(!o)return t;o(e,r,a)},pushContext:!0},...D.map(e=>({...e,parser:s})),...S,...h];class C{parseEntity(e,r){let a={};return n(A)(r,e,a),a}}eT="DIMENSION",(eg="ForEntityName")in C?Object.defineProperty(C,eg,{value:eT,enumerable:!0,configurable:!0,writable:!0}):C[eg]=eT;const _=[{code:73},{code:17,name:"leaderEnd",parser:i},{code:16,name:"leaderStart",parser:i},{code:71,name:"hasLeader",parser:c},{code:41,name:"endAngle",parser:s},{code:40,name:"startAngle",parser:s},{code:70,name:"isPartial",parser:c},{code:15,name:"centerPoint",parser:i},{code:14,name:"xline2Point",parser:i},{code:13,name:"xline1Point",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...D.map(e=>({...e,parser:s})),...S,...h];class M{parseEntity(e,r){let a={};return n(_)(r,e,a),a}}function v(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ey="ARC_DIMENSION",(eD="ForEntityName")in M?Object.defineProperty(M,eD,{value:ey,enumerable:!0,configurable:!0,writable:!0}):M[eD]=ey,exports.AttributeFlag=void 0,(eb=exports.AttributeFlag||(exports.AttributeFlag={}))[eb.NONE=0]="NONE",eb[eb.INVISIBLE=1]="INVISIBLE",eb[eb.CONSTANT=2]="CONSTANT",eb[eb.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",eb[eb.PRESET=8]="PRESET",exports.AttDefMTextFlag=void 0,(eS=exports.AttDefMTextFlag||(exports.AttDefMTextFlag={}))[eS.MULTILINE=2]="MULTILINE",eS[eS.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",exports.TextGenerationFlag=void 0,(eO=exports.TextGenerationFlag||(exports.TextGenerationFlag={}))[eO.NONE=0]="NONE",eO[eO.MIRRORED_X=2]="MIRRORED_X",eO[eO.MIRRORED_Y=4]="MIRRORED_Y",exports.TextHorizontalAlign=void 0,(eP=exports.TextHorizontalAlign||(exports.TextHorizontalAlign={}))[eP.LEFT=0]="LEFT",eP[eP.CENTER=1]="CENTER",eP[eP.RIGHT=2]="RIGHT",eP[eP.ALIGNED=3]="ALIGNED",eP[eP.MIDDLE=4]="MIDDLE",eP[eP.FIT=5]="FIT",exports.TextVerticalAlign=void 0,(eL=exports.TextVerticalAlign||(exports.TextVerticalAlign={}))[eL.BASELINE=0]="BASELINE",eL[eL.BOTTOM=1]="BOTTOM",eL[eL.MIDDLE=2]="MIDDLE",eL[eL.TOP=3]="TOP";const F={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:exports.TextHorizontalAlign.LEFT,valign:exports.TextVerticalAlign.BASELINE,extrusionDirection:{x:0,y:0,z:1}},R=[{code:73,name:"valign",parser:s},{code:100},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"endPoint",parser:i},{code:72,name:"valign",parser:s},{code:72,name:"halign",parser:s},{code:71,name:"generationFlag",parser:s},{code:7,name:"styleName",parser:s},{code:51,name:"obliqueAngle",parser:s},{code:41,name:"xScale",parser:s},{code:50,name:"rotation",parser:s},{code:1,name:"text",parser:s},{code:40,name:"textHeight",parser:s},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class V{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){v(this,"parser",n(R,F))}}function w(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}v(V,"ForEntityName","TEXT");const k={...F},B=[{code:2},{code:40,name:"annotationScale",parser:s},{code:10,name:"alignmentPoint",parser:i},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:s},{code:70,name:"numberOfSecondaryAttributes",parser:s},{code:70,name:"isReallyLocked",parser:c},{code:70,name:"mtextFlag",parser:s},{code:280,name:"isDuplicatedRecord",parser:c},{code:100},{code:280,name:"isLocked",parser:c},{code:74,name:"valign",parser:s},{code:73},{code:70,name:"attributeFlag",parser:s},{code:2,name:"tag",parser:s},{code:3,name:"prompt",parser:s},{code:280},{code:100,name:"subclassMarker",parser:s},...R.slice(2)];class H{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){w(this,"parser",n(B,k))}}function G(e,r){let a={};for(let t of e){let e=r(t);null!=e&&(a[e]??(a[e]=[]),a[e].push(t))}return a}function*U(e,r=1/0,a=1){for(let t=e;t!==r;t+=a)yield t}w(H,"ForEntityName","ATTDEF"),exports.MTextDrawingDirection=void 0,(eN=exports.MTextDrawingDirection||(exports.MTextDrawingDirection={}))[eN.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",eN[eN.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",eN[eN.BY_STYLE=5]="BY_STYLE";var W,j,Y,X,z,K,Z,J,$,q,Q,ee,er,ea,et,en,eo,es,ei,ec,ed,ep,el,eu,em,eE,eh,ex,eI,ef,eg,eT,eD,ey,eb,eS,eO,eP,eL,eN,eA,eC,e_,eM,ev,eF,eR,eV,ew,ek,eB,eH,eG,eU,eW,ej,eY,eX,ez,eK,eZ,eJ,e$,eq,eQ=[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];function e0(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const e1={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},e4=[{code:46,name:"annotationHeight",parser:s},{code:101,parser(e,r){!function(e){e.rewind();let r=e.next();if(101!==r.code)throw Error("Bad call for skipEmbeddedObject()");do r=e.next();while(0!==r.code);e.rewind()}(r)}},{code:50,name:"columnHeight",parser:s},{code:49,name:"columnGutter",parser:s},{code:48,name:"columnWidth",parser:s},{code:79,name:"columnAutoHeight",parser:s},{code:78,name:"columnFlowReversed",parser:s},{code:76,name:"columnCount",parser:s},{code:75,name:"columnType",parser:s},{code:441,name:"backgroundFillTransparency",parser:s},{code:63,name:"backgroundFillColor",parser:s},{code:45,name:"fillBoxScale",parser:s},{code:[...U(430,440)],name:"backgroundColor",parser:s},{code:[...U(420,430)],name:"backgroundColor",parser:s},{code:90,name:"backgroundFill",parser:s},{code:44,name:"lineSpacing",parser:s},{code:73,name:"lineSpacingStyle",parser:s},{code:50,name:"rotation",parser:s},{code:43},{code:42},{code:11,name:"direction",parser:i},{code:210,name:"extrusionDirection",parser:i},{code:7,name:"styleName",parser:s},...x("text"),{code:72,name:"drawingDirection",parser:s},{code:71,name:"attachmentPoint",parser:s},{code:41,name:"width",parser:s},{code:40,name:"height",parser:s},{code:10,name:"insertionPoint",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class e2{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e0(this,"parser",n(e4,e1))}}function e3(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e0(e2,"ForEntityName","MTEXT");const e7={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},e5=[...e4.slice(e4.findIndex(({name:e})=>"columnType"===e),e4.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!r(e,0,"MTEXT"))return t}},{code:2,name:"definitionTag",parser:s},{code:40,name:"annotationScale",parser:s},{code:10,name:"alignmentPoint",parser:i},{code:340,name:"secondaryAttributesHardId",parser:s},{code:70,name:"numberOfSecondaryAttributes",parser:s},{code:70,name:"isReallyLocked",parser:c},{code:70,name:"mtextFlag",parser:s},{code:280,name:"isDuplicatedEntriesKeep",parser:c},{code:100},{code:280,name:"lockPositionFlag",parser:c},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"alignmentPoint",parser:i},{code:74,name:"verticalJustification",parser:s},{code:72,name:"horizontalJustification",parser:s},{code:71,name:"textGenerationFlag",parser:s},{code:7,name:"textStyle",parser:s},{code:51,name:"obliqueAngle",parser:s},{code:41,name:"scale",parser:s},{code:50,name:"rotation",parser:s},{code:73},{code:70,name:"attributeFlag",parser:s},{code:2,name:"tag",parser:s},{code:280},{code:100,name:"subclassMarker",parser:s},{code:1,name:"text",parser:s},{code:40,name:"textHeight",parser:s},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100},...h];class e6{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e3(this,"parser",n(e5,e7))}}function e9(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e3(e6,"ForEntityName","ATTRIB");const e8=[...x("data"),{code:70,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class re{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e9(this,"parser",n(e8))}}function rr(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e9(re,"ForEntityName","BODY");const ra={thickness:0,extrusionDirection:{x:0,y:0,z:1}},rt=[{code:210,name:"extrusionDirection",parser:i},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rn{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rr(this,"parser",n(rt,ra))}}function ro(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rr(rn,"ForEntityName","CIRCLE");const rs={extrusionDirection:{x:0,y:0,z:1}},ri=[{code:42,name:"endAngle",parser:s},{code:41,name:"startAngle",parser:s},{code:40,name:"axisRatio",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"majorAxisEndPoint",parser:i},{code:10,name:"center",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class rc{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ro(this,"parser",n(ri,rs))}}function rd(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ro(rc,"ForEntityName","ELLIPSE"),exports.FaceEdgeInvisibility=void 0,(eA=exports.FaceEdgeInvisibility||(exports.FaceEdgeInvisibility={}))[eA.First=1]="First",eA[eA.Second=2]="Second",eA[eA.Third=4]="Third",eA[eA.Fourth=8]="Fourth";const rp=[{code:13,name:"vertices.3",parser:i},{code:12,name:"vertices.2",parser:i},{code:11,name:"vertices.1",parser:i},{code:10,name:"vertices.0",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class rl{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rd(this,"parser",n(rp))}}rd(rl,"ForEntityName","3DFACE");const ru=[{code:330,name:"sourceBoundaryObjects",parser:s,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:s}],rm=[{code:11,name:"end",parser:i},{code:10,name:"start",parser:i}],rE=[{code:73,name:"isCCW",parser:c},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i}],rh=[{code:73,name:"isCCW",parser:c},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:40,name:"lengthOfMinorAxis",parser:s},{code:11,name:"end",parser:i},{code:10,name:"center",parser:i}],rx=[{code:13,name:"endTangent",parser:i},{code:12,name:"startTangent",parser:i},{code:11,name:"fitDatum",isMultiple:!0,parser:i},{code:97,name:"numberOfFitData",parser:s},{code:10,name:"controlPoints",isMultiple:!0,parser(e,r){let t={...a(r),weight:1};return 42===(e=r.next()).code?t.weight=e.value:r.rewind(),t}},{code:40,name:"knots",isMultiple:!0,parser:s},{code:96,name:"numberOfControlPoints",parser:s},{code:95,name:"numberOfKnots",parser:s},{code:74,name:"isPeriodic",parser:c},{code:73,name:"splineFlag",parser:s},{code:94,name:"degree",parser:s}],rI={[exports.BoundaryPathEdgeType.Line]:rm,[exports.BoundaryPathEdgeType.Circular]:rE,[exports.BoundaryPathEdgeType.Elliptic]:rh,[exports.BoundaryPathEdgeType.Spline]:rx},rf=[...ru,{code:72,name:"edges",parser(e,r){let a={type:e.value},t=n(rI[a.type]);if(!t)throw Error(`Invalid edge type ${a.type}`);return t(e=r.next(),r,a),a},isMultiple:!0},{code:93,name:"numberOfEdges",parser:s}],rg=[...ru,{code:10,name:"vertices",parser(e,r){let t={...a(r),bulge:0};return 42===(e=r.next()).code?t.bulge=e.value:r.rewind(),t},isMultiple:!0},{code:93,name:"numberOfVertices",parser:s},{code:73,name:"isClosed",parser:c},{code:72,name:"hasBulge",parser:c}],rT=[{code:49,name:"dashLengths",parser:s,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:s},{code:45,name:"offset",parser:rD},{code:43,name:"base",parser:rD},{code:53,name:"angle",parser:s}];function rD(e,r){let a=e.code+1,t={x:e.value,y:1};return(e=r.next()).code===a?t.y=e.value:r.rewind(),t}function ry(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const rb={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},rS=[{code:470},{code:463},{code:462,name:"colorTint",parser:s},{code:461,name:"gradientDefinition",parser:s},{code:460,name:"gradientRotation",parser:s},{code:453,name:"numberOfColors",parser:s},{code:452,name:"gradientColorFlag",parser:s},{code:451},{code:450,name:"gradientFlag",parser:s},{code:10,name:"seedPoints",parser:i,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:i},{code:98,name:"numberOfSeedPoints",parser:s},{code:47,name:"pixelSize",parser:s},{code:53,name:"definitionLines",parser:function(e,r){let a={};return n(rT)(e,r,a),a},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:s},{code:77,name:"isDouble",parser:c},{code:73,name:"isAnnotated",parser:c},{code:41,name:"patternScale",parser:s},{code:52,name:"patternAngle",parser:s},{code:76,name:"patternType",parser:s},{code:75,name:"hatchStyle",parser:s},{code:92,name:"boundaryPaths",parser:function(e,r){let a={boundaryPathTypeFlag:e.value},t=a.boundaryPathTypeFlag&exports.BoundaryPathTypeFlag.Polyline;return(e=r.next(),t)?n(rg)(e,r,a):n(rf)(e,r,a),a},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:s},{code:71,name:"associativity",parser:s},{code:63,name:"patternFillColor",parser:s},{code:70,name:"solidFill",parser:s},{code:2,name:"patternName",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:10,name:"elevationPoint",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...h];class rO{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ry(this,"parser",n(rS,rb))}}function rP(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ry(rO,"ForEntityName","HATCH"),exports.ImageFlags=void 0,(eC=exports.ImageFlags||(exports.ImageFlags={}))[eC.ShowImage=1]="ShowImage",eC[eC.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",eC[eC.UseClippingBoundary=4]="UseClippingBoundary",eC[eC.TransparencyIsOn=8]="TransparencyIsOn",exports.ImageClippingBoundaryType=void 0,(e_=exports.ImageClippingBoundaryType||(exports.ImageClippingBoundaryType={}))[e_.Rectangular=1]="Rectangular",e_[e_.Polygonal=2]="Polygonal",exports.ImageClipMode=void 0,(eM=exports.ImageClipMode||(exports.ImageClipMode={}))[eM.Outside=0]="Outside",eM[eM.Inside=1]="Inside";const rL={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},rN=[{code:290,name:"clipMode",parser:s},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:i},{code:91,name:"countBoundaryPoints",parser:s},{code:71,name:"clippingBoundaryType",parser:s},{code:360,name:"imageDefReactorHandle",parser:s},{code:283,name:"fade",parser:s},{code:282,name:"contrast",parser:s},{code:281,name:"brightness",parser:s},{code:280,name:"isClipped",parser:c},{code:70,name:"flags",parser:s},{code:340,name:"imageDefHandle",parser:s},{code:13,name:"imageSize",parser:i},{code:12,name:"vPixel",parser:i},{code:11,name:"uPixel",parser:i},{code:10,name:"position",parser:i},{code:90,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rA{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rP(this,"parser",n(rN,rL))}}function rC(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rP(rA,"ForEntityName","IMAGE");const r_={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},rM=[{code:210,name:"extrusionDirection",parser:i},{code:45,name:"rowSpacing",parser:s},{code:44,name:"columnSpacing",parser:s},{code:71,name:"rowCount",parser:s},{code:70,name:"columnCount",parser:s},{code:50,name:"rotation",parser:s},{code:43,name:"zScale",parser:s},{code:42,name:"yScale",parser:s},{code:41,name:"xScale",parser:s},{code:10,name:"insertionPoint",parser:i},{code:2,name:"name",parser:s},{code:66,name:"isVariableAttributes",parser:c},{code:100,name:"subclassMarker",parser:s},...h];class rv{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rC(this,"parser",n(rM,r_))}}function rF(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rC(rv,"ForEntityName","INSERT");const rR={isArrowheadEnabled:!0},rV=[{code:213,name:"offsetFromAnnotation",parser:i},{code:212,name:"offsetFromBlock",parser:i},{code:211,name:"horizontalDirection",parser:i},{code:210,name:"normal",parser:i},{code:340,name:"associatedAnnotation",parser:s},{code:77,name:"byBlockColor",parser:s},{code:10,name:"vertices",parser:i,isMultiple:!0},{code:76,name:"numberOfVertices",parser:s},{code:41,name:"textWidth",parser:s},{code:40,name:"textHeight",parser:s},{code:75,name:"isHooklineExists",parser:c},{code:74,name:"isHooklineSameDirection",parser:c},{code:73,name:"leaderCreationFlag",parser:s},{code:72,name:"isSpline",parser:c},{code:71,name:"isArrowheadEnabled",parser:c},{code:3,name:"styleName",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rw{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rF(this,"parser",n(rV,rR))}}function rk(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rF(rw,"ForEntityName","LEADER"),exports.LeaderCreationFlag=void 0,(ev=exports.LeaderCreationFlag||(exports.LeaderCreationFlag={}))[ev.TextAnnotation=0]="TextAnnotation",ev[ev.ToleranceAnnotation=1]="ToleranceAnnotation",ev[ev.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",ev[ev.NoAnnotation=3]="NoAnnotation";const rB={thickness:0,extrusionDirection:{x:0,y:0,z:1}},rH=[{code:210,name:"extrusionDirection",parser:i},{code:11,name:"endPoint",parser:i},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rG{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rk(this,"parser",n(rH,rB))}}rk(rG,"ForEntityName","LINE"),exports.LWPolylineFlag=void 0,(eF=exports.LWPolylineFlag||(exports.LWPolylineFlag={}))[eF.IS_CLOSED=1]="IS_CLOSED",eF[eF.PLINE_GEN=128]="PLINE_GEN";const rU={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},rW={bulge:0},rj=[{code:42,name:"bulge",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:91,name:"id",parser:s},{code:20,name:"y",parser:s},{code:10,name:"x",parser:s}],rY=[{code:210,name:"extrusionDirection",parser:i},{code:10,name:"vertices",isMultiple:!0,parser(e,r){let a={};return n(rj,rW)(e,r,a),a}},{code:39,name:"thickness",parser:s},{code:38,name:"elevation",parser:s},{code:43,name:"constantWidth",parser:s},{code:70,name:"flag",parser:s},{code:90,name:"numberOfVertices",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class rX{parseEntity(e,r){let a={};return n(rY,rU)(r,e,a),a}}function rz(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eV="LWPOLYLINE",(eR="ForEntityName")in rX?Object.defineProperty(rX,eR,{value:eV,enumerable:!0,configurable:!0,writable:!0}):rX[eR]=eV;const rK=[{code:90,name:"overridenSubEntityCount",parser:s},{code:140,name:"edgeCreaseWeights",parser:s,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:s},{code:94,parser(e,r,a){a.edgeCount=e.value,a.edgeIndices=[];for(let t=0;t<a.edgeCount;++t){let t=[];e=r.next(),t[0]=e.value,e=r.next(),t[1]=e.value,a.edgeIndices.push(t)}}},{code:93,parser(e,a,t){t.totalFaceIndices=e.value,t.faceIndices=[];let n=[];for(let o=0;o<t.totalFaceIndices&&!r(e,0);++o)e=a.next(),n.push(e.value);let o=0;for(;o<n.length;){let e=n[o++],r=[];for(let a=0;a<e;++a)r.push(n[o++]);t.faceIndices.push(r)}}},{code:10,name:"vertices",parser:i,isMultiple:!0},{code:92,name:"verticesCount",parser:s},{code:91,name:"subdivisionLevel",parser:s},{code:40,name:"blendCrease",parser:s},{code:72,name:"isBlendCreased",parser:c},{code:71,name:"version",parser:s},{code:100,name:"subclassMarker",parser:function({value:e}){return e.trim()},pushContext:!0},...h];class rZ{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rz(this,"parser",n(rK))}}function rJ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rz(rZ,"ForEntityName","MESH"),exports.MLineJustification=void 0,(ew=exports.MLineJustification||(exports.MLineJustification={}))[ew.Top=0]="Top",ew[ew.Zero=1]="Zero",ew[ew.Bottom=2]="Bottom",exports.MLineFlags=void 0,(ek=exports.MLineFlags||(exports.MLineFlags={}))[ek.HasVertex=1]="HasVertex",ek[ek.Closed=2]="Closed",ek[ek.SuppressStartCaps=4]="SuppressStartCaps",ek[ek.SuppressEndCaps=8]="SuppressEndCaps";const r$=[{code:42,name:"fillParameters",parser:s,isMultiple:!0},{code:75,name:"fillCount",parser:s},{code:41,name:"parameters",parser:s,isMultiple:!0},{code:74,name:"parameterCount",parser:s}],rq=[{code:[74,41,75,42],name:"elements",parser(e,r){let a=n(r$),t={};return a(e,r,t),t},isMultiple:!0},{code:13,name:"miterDirection",parser:i},{code:12,name:"direction",parser:i},{code:11,name:"position",parser:i}],rQ=[{code:[11,12,13],name:"segments",parser(e,r){let a=n(rq),t={};return a(e,r,t),t},isMultiple:!0},{code:210,name:"extrusionDirection",parser:i},{code:10,name:"startPosition",parser:i},{code:73,name:"styleCount",parser:s},{code:72,name:"vertexCount",parser:s},{code:71,name:"flags",parser:s},{code:70,name:"justification",parser:s},{code:40,name:"scale",parser:s},{code:340,name:"styleObjectHandle",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...h];class r0{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rJ(this,"parser",n(rQ))}}function r1(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rJ(r0,"ForEntityName","MLINE");const r4={},r2=[{code:170,name:"multileaderType",parser:s},{code:291,name:"doglegEnabled",parser:c},{code:40,name:"doglegLength",parser:s},{code:172,name:"contentType",parser:s},{code:3,name:"textContent",parser:s},{code:12,name:"textAnchor",parser:i},{code:344,name:"blockHandle",parser:s},{code:15,name:"blockPosition",parser:i},{code:302,name:"leaderSections",parser:function(e,r,t){let n;let o={leaderLines:[]};for(;r.hasNext()&&303!==(n=r.next()).code;){switch(n.code){case 10:o.landingPoint=(n.value,a(r));break;case 11:o.doglegVector=(n.value,a(r));break;case 40:o.doglegLength=n.value;break;case 304:o.leaderLines.push(function(e,r,t){let n;let o={vertices:[]};for(;r.hasNext()&&305!==(n=r.next()).code;)10===n.code&&o.vertices.push((n.value,a(r)));return o}(0,r))}}return o},isMultiple:!0},...h];class r3{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r1(this,"parser",n(r2,r4))}}function r7(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r1(r3,"ForEntityName","MULTILEADER");const r5={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},r6=[{code:50,name:"angle",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:39,name:"thickness",parser:s},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class r9{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r7(this,"parser",n(r6,r5))}}function r8(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r7(r9,"ForEntityName","POINT"),exports.PolylineFlag=void 0,(eB=exports.PolylineFlag||(exports.PolylineFlag={}))[eB.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",eB[eB.CURVE_FIT=2]="CURVE_FIT",eB[eB.SPLINE_FIT=4]="SPLINE_FIT",eB[eB.POLYLINE_3D=8]="POLYLINE_3D",eB[eB.POLYGON_3D=16]="POLYGON_3D",eB[eB.CLOSED_POLYGON=32]="CLOSED_POLYGON",eB[eB.POLYFACE=64]="POLYFACE",eB[eB.CONTINUOUS=128]="CONTINUOUS",exports.SmoothType=void 0,(eH=exports.SmoothType||(exports.SmoothType={}))[eH.NONE=0]="NONE",eH[eH.QUADRATIC=5]="QUADRATIC",eH[eH.CUBIC=6]="CUBIC",eH[eH.BEZIER=8]="BEZIER",exports.VertexFlag=void 0,(eG=exports.VertexFlag||(exports.VertexFlag={}))[eG.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",eG[eG.TANGENT_DEFINED=2]="TANGENT_DEFINED",eG[eG.NOT_USED=4]="NOT_USED",eG[eG.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",eG[eG.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",eG[eG.FOR_POLYLINE=32]="FOR_POLYLINE",eG[eG.FOR_POLYGON=64]="FOR_POLYGON",eG[eG.POLYFACE=128]="POLYFACE";const ae={startWidth:0,endWidth:0,bulge:0},ar=[{code:91,name:"id",parser:s},{code:[...U(71,75)],name:"faces",isMultiple:!0,parser:s},{code:50,name:"tangentDirection",parser:s},{code:70,name:"flag",parser:s},{code:42,name:"bulge",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:30,name:"z",parser:s},{code:20,name:"y",parser:s},{code:10,name:"x",parser:s},{code:100,name:"subclassMarker",parser:s},{code:100},...h];class aa{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r8(this,"parser",n(ar,ae))}}function at(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r8(aa,"ForEntityName","VERTEX");const an={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},ao=[{code:0,name:"vertices",isMultiple:!0,parser:(e,a)=>r(e,0,"VERTEX")?(e=a.next(),new aa().parseEntity(a,e)):t},{code:210,name:"extrusionDirection",parser:i},{code:75,name:"smoothType",parser:s},{code:74,name:"surfaceNDensity",parser:s},{code:73,name:"surfaceMDensity",parser:s},{code:72,name:"meshNVertexCount",parser:s},{code:71,name:"meshMVertexCount",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:70,name:"flag",parser:s},{code:39,name:"thickness",parser:s},{code:30,name:"elevation",parser:s},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:s},...h];class as{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){at(this,"parser",n(ao,an))}}function ai(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}at(as,"ForEntityName","POLYLINE");const ac=[{code:11,name:"direction",parser:i},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class ad{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ai(this,"parser",n(ac))}}function ap(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ai(ad,"ForEntityName","RAY");const al=[...x("data"),{code:70,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class au{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ap(this,"parser",n(al))}}function am(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ap(au,"ForEntityName","REGION");const aE={vertices:[],backLineVertices:[]},ah=[{code:360,name:"geometrySettingHardId",parser:s},{code:12,name:"backLineVertices",isMultiple:!0,parser:i},{code:93,name:"numberOfBackLineVertices",parser:s},{code:11,name:"vertices",isMultiple:!0,parser:i},{code:92,name:"verticesCount",parser:s},{code:[63,411],name:"indicatorColor",parser:s},{code:70,name:"indicatorTransparency",parser:s},{code:41,name:"bottomHeight",parser:s},{code:40,name:"topHeight",parser:s},{code:10,name:"verticalDirection",parser:i},{code:1,name:"name",parser:s},{code:91,name:"flag",parser:s},{code:90,name:"state",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class ax{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){am(this,"parser",n(ah,aE))}}function aI(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}am(ax,"ForEntityName","SECTION");const af={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},ag=[{code:210,name:"extrusionDirection",parser:i},{code:39,name:"thickness",parser:s},{code:[...U(10,14)],name:"points",isMultiple:!0,parser:i},{code:100,name:"subclassMarker",parser:s},...h];class aT{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aI(this,"parser",n(ag,af))}}function aD(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aI(aT,"ForEntityName","SOLID");const ay=[{code:350,name:"historyObjectSoftId",parser:s},{code:100,name:"subclassMarker",parser:s},...x("data"),{code:70,name:"version",parser:s},{code:100},...h];class ab{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aD(this,"parser",n(ay))}}function aS(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aD(ab,"ForEntityName","3DSOLID"),exports.SplineFlag=void 0,(eU=exports.SplineFlag||(exports.SplineFlag={}))[eU.NONE=0]="NONE",eU[eU.CLOSED=1]="CLOSED",eU[eU.PERIODIC=2]="PERIODIC",eU[eU.RATIONAL=4]="RATIONAL",eU[eU.PLANAR=8]="PLANAR",eU[eU.LINEAR=16]="LINEAR";const aO={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},aP=[{code:11,name:"fitPoints",isMultiple:!0,parser:i},{code:10,name:"controlPoints",isMultiple:!0,parser:i},{code:41,name:"weights",isMultiple:!0,parser:s},{code:40,name:"knots",isMultiple:!0,parser:s},{code:13,name:"endTangent",parser:i},{code:12,name:"startTangent",parser:i},{code:44,name:"fitTolerance",parser:s},{code:43,name:"controlTolerance",parser:s},{code:42,name:"knotTolerance",parser:s},{code:74,name:"numberOfFitPoints",parser:s},{code:73,name:"numberOfControlPoints",parser:s},{code:72,name:"numberOfKnots",parser:s},{code:71,name:"degree",parser:s},{code:70,name:"flag",parser:s},{code:210,name:"normal",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class aL{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aS(this,"parser",n(aP,aO))}}function aN(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aS(aL,"ForEntityName","SPLINE");const aA=[{code:11,name:"xAxisDirection",parser:i},{code:210,name:"extrusionDirection",parser:i},{code:1,name:"text",parser:s},{code:10,name:"position",parser:i},{code:3,name:"styleName",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class aC{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aN(this,"parser",n(aA))}}aN(aC,"ForEntityName","TOLERANCE");const a_=[{code:[335,343,344,91],name:"softPointers",isMultiple:!0,parser:s},{code:361,name:"sunId",parser:s},{code:431,name:"ambientLightColorName",parser:s},{code:421,name:"ambientLightColorInstance",parser:s},{code:63,name:"ambientLightColorIndex",parser:s},{code:142,name:"contrast",parser:s},{code:141,name:"brightness",parser:s},{code:282,name:"defaultLightingType",parser:s},{code:292,name:"isDefaultLighting",parser:c},{code:348,name:"visualStyleId",parser:s},{code:333,name:"shadePlotId",parser:s},{code:332,name:"backgroundId",parser:s},{code:61,name:"majorGridFrequency",parser:s},{code:170,name:"shadePlotMode",parser:s},{code:146,name:"elevation",parser:s},{code:79,name:"orthographicType",parser:s},{code:346,name:"ucsBaseId",parser:s},{code:345,name:"ucsId",parser:s},{code:112,name:"ucsYAxis",parser:i},{code:111,name:"ucsXAxis",parser:i},{code:110,name:"ucsOrigin",parser:i},{code:74,name:"iconFlag",parser:s},{code:71,name:"ucsPerViewport",parser:s},{code:281,name:"renderMode",parser:s},{code:1,name:"sheetName",parser:s},{code:340,name:"clippingBoundaryId",parser:s},{code:90,name:"statusBitFlags",parser:s},{code:331,name:"frozenLayerIds",isMultiple:!0,parser:s},{code:72,name:"circleZoomPercent",parser:s},{code:51,name:"viewTwistAngle",parser:s},{code:50,name:"snapAngle",parser:s},{code:45,name:"viewHeight",parser:s},{code:44,name:"backClipZ",parser:s},{code:43,name:"frontClipZ",parser:s},{code:42,name:"perspectiveLensLength",parser:s},{code:17,name:"targetPoint",parser:i},{code:16,name:"viewDirection",parser:i},{code:15,name:"gridSpacing",parser:i},{code:14,name:"snapSpacing",parser:i},{code:13,name:"snapBase",parser:i},{code:12,name:"displayCenter",parser:i},{code:69,name:"viewportId",parser:s},{code:68,name:"status",parser:s},{code:41,name:"height",parser:s},{code:40,name:"width",parser:s},{code:10,name:"viewportCenter",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...h];class aM{parseEntity(e,r){let a={};return n(a_)(r,e,a),a}}function av(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ej="VIEWPORT",(eW="ForEntityName")in aM?Object.defineProperty(aM,eW,{value:ej,enumerable:!0,configurable:!0,writable:!0}):aM[eW]=ej,exports.ImageDisplayFlag=void 0,(eY=exports.ImageDisplayFlag||(exports.ImageDisplayFlag={}))[eY.ShowImage=1]="ShowImage",eY[eY.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",eY[eY.UseClippingBoundary=4]="UseClippingBoundary",eY[eY.Transparency=8]="Transparency";const aF={brightness:50,constrast:50,fade:0},aR=[{code:14,name:"boundary",isMultiple:!0,parser:i},{code:91,name:"numberOfVertices",parser:s},{code:71,name:"boundaryType",parser:s},{code:360,name:"imageDefReactorHardId",parser:s},{code:283,name:"fade",parser:s},{code:282,name:"contrast",parser:s},{code:281,name:"brightness",parser:s},{code:280,name:"isClipping",parser:c},{code:70,name:"displayFlag",parser:s},{code:340,name:"imageDefHardId",parser:s},{code:13,name:"imageSize",parser:i},{code:12,name:"vDirection",parser:i},{code:11,name:"uDirection",parser:i},{code:10,name:"position",parser:i},{code:90,name:"classVersion",parser:s},{code:100,name:"subclassMarker",parser:s},...h];class aV{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){av(this,"parser",n(aR,aF))}}function aw(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}av(aV,"ForEntityName","WIPEOUT");const ak=[{code:11,name:"direction",parser:i},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...h];class aB{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aw(this,"parser",n(ak))}}aw(aB,"ForEntityName","XLINE");const aH=Object.fromEntries([T,M,H,e6,re,rn,C,rc,rl,rA,rv,rw,rG,rX,rZ,r0,e2,r3,r9,as,ad,au,ax,aT,ab,aL,V,aC,rO,aa,aM,aV,aB].map(e=>[e.ForEntityName,new e]));function aG(e,a){let t=[];for(;!r(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){a.rewind();break}let r=aH[e.value];if(r){let n=e.value;e=a.next();let o=r.parseEntity(a,e);o.type=n,E(o),t.push(o)}else a.debug&&console.warn(`Unsupported ENTITY type: ${e.value}`)}e=a.next()}return t}function aU(e,a){let t={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");){if(r(e,0,"BLOCK")){let r=aW(e=a.next(),a);E(r),r.name&&(t[r.name]=r)}e=a.next()}return t}function aW(e,t){let n={};for(;!r(e,0,"EOF");){if(r(e,0,"ENDBLK")){for(e=t.next();!r(e,0,"EOF");){if(r(e,100,"AcDbBlockEnd"))return n;e=t.next()}break}switch(e.code){case 1:n.xrefPath=e.value;break;case 2:n.name=e.value;break;case 3:n.name2=e.value;break;case 5:n.handle=e.value;break;case 8:n.layer=e.value;break;case 10:n.position=a(t);break;case 67:n.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(n.type=e.value);break;case 100:break;case 330:n.ownerHandle=e.value;break;case 0:n.entities=aG(e,t)}e=t.next()}return n}function aj(e,t){let n=null,o={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");)9===e.code?n=e.value:10===e.code?o[n]=a(t):o[n]=e.value,e=t.next();return o}exports.RecordCloneFlag=void 0,(eX=exports.RecordCloneFlag||(exports.RecordCloneFlag={}))[eX.NOT_APPLICABLE=0]="NOT_APPLICABLE",eX[eX.KEEP_EXISTING=1]="KEEP_EXISTING",eX[eX.USE_CLONE=2]="USE_CLONE",eX[eX.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",eX[eX.VALUE_NAME=4]="VALUE_NAME",eX[eX.UNMANGLE_NAME=5]="UNMANGLE_NAME";const aY=[{code:330,name:"ownerObjectId",parser:s},{code:102,parser:u},{code:102,parser:u},{code:102,parser:u},{code:5,name:"handle",parser:s}],aX=[{code:3,name:"entries",parser:(e,r)=>{let a={name:e.value};return 350===(e=r.next()).code?a.objectSoftId=e.value:360===e.code?a.objectHardId=e.value:r.rewind(),a},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:s},{code:280,name:"isHardOwned",parser:c},{code:100,name:"subclassMarker",parser:s},...aY];exports.LayoutControlFlag=void 0,(ez=exports.LayoutControlFlag||(exports.LayoutControlFlag={}))[ez.PSLTSCALE=1]="PSLTSCALE",ez[ez.LIMCHECK=2]="LIMCHECK",exports.PlotPaperUnit=void 0,(eK=exports.PlotPaperUnit||(exports.PlotPaperUnit={}))[eK.INCHES=0]="INCHES",eK[eK.MILLIMETERS=1]="MILLIMETERS",eK[eK.PIXELS=2]="PIXELS",exports.PlotType=void 0,(eZ=exports.PlotType||(exports.PlotType={}))[eZ.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",eZ[eZ.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",eZ[eZ.DRAWING_LIMITS=2]="DRAWING_LIMITS",eZ[eZ.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",eZ[eZ.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",eZ[eZ.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",exports.ShadePlotMode=void 0,(eJ=exports.ShadePlotMode||(exports.ShadePlotMode={}))[eJ.AS_DISPLAYED=0]="AS_DISPLAYED",eJ[eJ.WIREFRAME=1]="WIREFRAME",eJ[eJ.HIDDEN=2]="HIDDEN",eJ[eJ.RENDERED=3]="RENDERED",exports.ShadePlotResolution=void 0,(e$=exports.ShadePlotResolution||(exports.ShadePlotResolution={}))[e$.DRAFT=0]="DRAFT",e$[e$.PREVIEW=1]="PREVIEW",e$[e$.NORMAL=2]="NORMAL",e$[e$.PRESENTATION=3]="PRESENTATION",e$[e$.MAXIMUM=4]="MAXIMUM",e$[e$.CUSTOM=5]="CUSTOM";const az=[{code:333,name:"shadePlotId",parser:s},{code:149,name:"imageOriginY",parser:s},{code:148,name:"imageOriginX",parser:s},{code:147,name:"scaleFactor",parser:s},{code:78,name:"shadePlotCustomDPI",parser:s},{code:77,name:"shadePlotResolution",parser:s},{code:76,name:"shadePlotMode",parser:s},{code:75,name:"standardScaleType",parser:s},{code:7,name:"currentStyleSheet",parser:s},{code:74,name:"plotType",parser:s},{code:73,name:"plotRotation",parser:s},{code:72,name:"plotPaperUnit",parser:s},{code:70,name:"layoutFlag",parser:s},{code:143,name:"printScaleDenominator",parser:s},{code:142,name:"printScaleNumerator",parser:s},{code:141,name:"windowAreaYMax",parser:s},{code:140,name:"windowAreaXMax",parser:s},{code:49,name:"windowAreaYMin",parser:s},{code:48,name:"windowAreaXMin",parser:s},{code:47,name:"plotOriginY",parser:s},{code:46,name:"plotOriginX",parser:s},{code:45,name:"paperHeight",parser:s},{code:44,name:"paperWidth",parser:s},{code:43,name:"marginTop",parser:s},{code:42,name:"marginRight",parser:s},{code:41,name:"marginBottom",parser:s},{code:40,name:"marginLeft",parser:s},{code:6,name:"plotViewName",parser:s},{code:4,name:"paperSize",parser:s},{code:2,name:"configName",parser:s},{code:1,name:"pageSetupName",parser:s},{code:100,name:"subclassMarker",parser:s},...aY],aK=[{code:346,name:"orthographicUcsId",parser:s},{code:345,name:"namedUcsId",parser:s},{code:331,name:"viewportId",parser:s},{code:330,name:"paperSpaceTableId",parser:s},{code:76,name:"orthographicType",parser:s},{code:17,name:"ucsYAxis",parser:i},{code:16,name:"ucsXAxis",parser:i},{code:13,name:"ucsOrigin",parser:i},{code:146,name:"elevation",parser:s},{code:15,name:"maxExtent",parser:i},{code:14,name:"minExtent",parser:i},{code:12,name:"insertionPoint",parser:i},{code:11,name:"maxLimit",parser:i},{code:10,name:"minLimit",parser:i},{code:71,name:"tabOrder",parser:s},{code:70,name:"controlFlag",parser:s},{code:1,name:"layoutName",parser:s},{code:100,name:"subclassMarker",parser:s},...az],aZ=[{code:40,name:"wcsToOCSTransform",parser:aJ},{code:40,name:"ocsToWCSTransform",parser:aJ},{code:41,name:"backClippingDistance",parser:s},{code:73,name:"isBackClipping",parser:c,pushContext:!0},{code:40,name:"frontClippingDistance",parser:s},{code:72,name:"isFrontClipping",parser:c,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:c},{code:11,name:"position",parser:i},{code:210,name:"normal",parser:i},{code:10,name:"boundaryVertices",parser:i,isMultiple:!0},{code:70,name:"boundaryCount",parser:s},{code:100,name:"subclassMarker",parser:s},{code:100},...aY];function aJ(e,a){let t=[];for(let n=0;n<3&&r(e,40);++n){let n=[];for(let t=0;t<4&&r(e,40);++t)n.push(e.value),e=a.next();t.push(n)}return a.rewind(),t}const a$=[{code:280,name:"cloneFlag",parser(e,r,a){var t;let n=e.value;for(e=r.next(),a.data=[];1<=(t=e.code)&&t<=369&&5!==t&&105!==t;)a.data.push(e),e=r.next();return r.rewind(),n}},{code:100,name:"subclassMarker",parser:s},...aY],aq={LAYOUT:aK,PLOTSETTINGS:az,DICTIONARY:aX,SPATIAL_FILTER:aZ};function aQ(e,r){let a=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let t=e.value,o=aq[t];if(0===e.code&&o?.length){let s=n(o),i={name:t};s(e=r.next(),r,i)?(a.push(i),e=r.peek()):e=r.next()}else e=r.next()}return{byName:G(a,({name:e})=>e)}}const a0=n([{code:310,name:"bmpPreview",parser:s},{code:281,name:"scalability",parser:s},{code:280,name:"explodability",parser:s},{code:70,name:"insertionUnits",parser:s},{code:340,name:"layoutObjects",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),a1=n([{code:347,name:"materialObjectId",parser:s},{code:390,name:"plotStyleNameObjectId",parser:s},{code:370,name:"lineweight",parser:s},{code:290,name:"isPlotting",parser:c},{code:6,name:"lineType",parser:s},{code:62,name:"colorIndex",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]);exports.LineTypeElementType=void 0,(eq=exports.LineTypeElementType||(exports.LineTypeElementType={}))[eq.NONE=0]="NONE",eq[eq.AbsoluteRotation=1]="AbsoluteRotation",eq[eq.TextEmbedded=2]="TextEmbedded",eq[eq.ShapeEmbedded=4]="ShapeEmbedded";const a4=n([{code:9,name:"text",parser:s},{code:45,name:"offsetY",parser:s},{code:44,name:"offsetX",parser:s},{code:50,name:"rotation",parser:s},{code:46,name:"scale",parser:s},{code:340,name:"styleObjectId",parser:s},{code:75,name:"shapeNumber",parser:s},{code:74,name:"elementTypeFlag",parser:s},{code:49,name:"elementLength",parser:s}],{elementTypeFlag:0,elementLength:0}),a2=n([{code:49,name:"pattern",parser(e,r){let a={};return a4(e,r,a),a},isMultiple:!0},{code:40,name:"totalPatternLength",parser:s},{code:73,name:"numberOfLineTypes",parser:s},{code:72,parser:s},{code:3,name:"description",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),a3=n([{code:1e3,name:"extendedFont",parser:s},{code:1001},{code:4,name:"bigFont",parser:s},{code:3,name:"font",parser:s},{code:42,name:"lastHeight",parser:s},{code:71,name:"textGenerationFlag",parser:s},{code:50,name:"obliqueAngle",parser:s},{code:41,name:"widthFactor",parser:s},{code:40,name:"fixedTextHeight",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),a7=n([{code:[63,421,431],name:"ambientColor",parser:s},{code:142,name:"contrast",parser:s},{code:141,name:"brightness",parser:s},{code:282,name:"defaultLightingType",parser:s},{code:292,name:"isDefaultLightingOn",parser:c},{code:348,name:"visualStyleObjectId",parser:s},{code:333,name:"shadePlotObjectId",parser:s},{code:332,name:"backgroundObjectId",parser:s},{code:61,name:"majorGridLines",parser:s},{code:170,name:"shadePlotSetting",parser:s},{code:146,name:"elevation",parser:s},{code:79,name:"orthographicType",parser:s},{code:112,name:"ucsYAxis",parser:i},{code:111,name:"ucsXAxis",parser:i},{code:110,name:"ucsOrigin",parser:i},{code:74,name:"ucsIconSetting",parser:s},{code:71,name:"viewMode",parser:s},{code:281,name:"renderMode",parser:s},{code:1,name:"styleSheet",parser:s},{code:[331,441],name:"frozenLayers",parser:s,isMultiple:!0},{code:72,name:"circleSides",parser:s},{code:51,name:"viewTwistAngle",parser:s},{code:50,name:"snapRotationAngle",parser:s},{code:45,name:"viewHeight",parser:s},{code:44,name:"backClippingPlane",parser:s},{code:43,name:"frontClippingPlane",parser:s},{code:42,name:"lensLength",parser:s},{code:17,name:"viewTarget",parser:i},{code:16,name:"viewDirectionFromTarget",parser:i},{code:15,name:"gridSpacing",parser:i},{code:14,name:"snapSpacing",parser:i},{code:13,name:"snapBasePoint",parser:i},{code:12,name:"center",parser:i},{code:11,name:"upperRightCorner",parser:i},{code:10,name:"lowerLeftCorner",parser:i},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),a5={BLOCK_RECORD:a0,DIMSTYLE:b,LAYER:a1,LTYPE:a2,STYLE:a3,VPORT:a7},a6=n([{code:70,name:"maxNumberOfEntries",parser:s},{code:100,name:"subclassMarker",parser:s},{code:330,name:"ownerObjectId",parser:s},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:s},{code:2,name:"name",parser:s}]);function a9(e,a){let t={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");){if(r(e,0,"TABLE")){e=a.next();let r={entries:[]};a6(e,a,r),t[r.name]=r}if(r(e,0)&&!r(e,0,"ENDTAB")){let r=e.value;e=a.next();let n=a5[r];if(!n){a.debug&&console.warn(`parseTable: Invalid table name '${r}'`),e=a.next();continue}let o={};n(e,a,o),t[r]?.entries.push(o)}e=a.next()}return t}function a8(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class te{next(){if(!this.hasNext())return this._eof?this.debug&&console.warn("Cannot call 'next' after EOF group has been read"):this.debug&&console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),a=tr(e,this._data[this._pointer++],this.debug),t={code:e,value:a};return r(t,0,"EOF")&&(this._eof=!0),this.lastReadGroup=t,t}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer])}let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=tr(e.code,this._data[this._pointer+1],this.debug),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e,r=!1){a8(this,"_data",void 0),a8(this,"debug",void 0),a8(this,"_pointer",void 0),a8(this,"_eof",void 0),a8(this,"lastReadGroup",void 0),this._data=e,this.debug=r,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function tr(e,r,a=!1){return e<=9?r:e>=10&&e<=59?parseFloat(r.trim()):e>=60&&e<=99?parseInt(r.trim()):e>=100&&e<=109?r:e>=110&&e<=149?parseFloat(r.trim()):e>=160&&e<=179?parseInt(r.trim()):e>=210&&e<=239?parseFloat(r.trim()):e>=270&&e<=289?parseInt(r.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(r.trim()):e>=300&&e<=369?r:e>=370&&e<=389?parseInt(r.trim()):e>=390&&e<=399?r:e>=400&&e<=409?parseInt(r.trim()):e>=410&&e<=419?r:e>=420&&e<=429?parseInt(r.trim()):e>=430&&e<=439?r:e>=440&&e<=459?parseInt(r.trim()):e>=460&&e<=469?parseFloat(r.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?r:e>=1010&&e<=1059?parseFloat(r.trim()):e>=1060&&e<=1071?parseInt(r.trim()):(a&&console.warn("WARNING: Group code does not have a defined type: %j",{code:e,value:r}),r)}function ta(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tt{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){ta(this,"point",{}),ta(this,"startCode",0),ta(this,"code",0),ta(this,"value",0),ta(this,"x",void 0),ta(this,"y",void 0),ta(this,"z",void 0)}}function tn(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class to{constructor(){tn(this,"encoding","utf-8"),tn(this,"encodingFailureFatal",!1)}}class ts extends Error{constructor(e,r,a){let t=`[Line ${r}]: ${e}`;a?.cause&&(t+=`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BlockTypeFlag=void 0,(W=exports.BlockTypeFlag||(exports.BlockTypeFlag={}))[W.None=0]="None",W[W.Anonymous=1]="Anonymous",W[W.NonConstant=2]="NonConstant",W[W.Xref=4]="Xref",W[W.XrefOverlay=8]="XrefOverlay",W[W.ExternallyDependent=16]="ExternallyDependent",W[W.ResolvedOrDependent=32]="ResolvedOrDependent",W[W.ReferencedXref=64]="ReferencedXref",exports.ColorCode=void 0,(j=exports.ColorCode||(exports.ColorCode={}))[j.BYBLOCK=0]="BYBLOCK",j[j.BYLAYER=256]="BYLAYER",exports.DimensionType=void 0,(Y=exports.DimensionType||(exports.DimensionType={}))[Y.Rotated=0]="Rotated",Y[Y.Aligned=1]="Aligned",Y[Y.Angular=2]="Angular",Y[Y.Diameter=3]="Diameter",Y[Y.Radius=4]="Radius",Y[Y.Angular3Point=5]="Angular3Point",Y[Y.Ordinate=6]="Ordinate",Y[Y.ReferenceIsExclusive=32]="ReferenceIsExclusive",Y[Y.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",Y[Y.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",exports.AttachmentPoint=void 0,(X=exports.AttachmentPoint||(exports.AttachmentPoint={}))[X.TopLeft=1]="TopLeft",X[X.TopCenter=2]="TopCenter",X[X.TopRight=3]="TopRight",X[X.MiddleLeft=4]="MiddleLeft",X[X.MiddleCenter=5]="MiddleCenter",X[X.MiddleRight=6]="MiddleRight",X[X.BottomLeft=7]="BottomLeft",X[X.BottomCenter=8]="BottomCenter",X[X.BottomRight=9]="BottomRight",exports.DimensionTextLineSpacing=void 0,(z=exports.DimensionTextLineSpacing||(exports.DimensionTextLineSpacing={}))[z.AtLeast=1]="AtLeast",z[z.Exact=2]="Exact",exports.DimensionTextVertical=void 0,(K=exports.DimensionTextVertical||(exports.DimensionTextVertical={}))[K.Center=0]="Center",K[K.Above=1]="Above",K[K.Outside=2]="Outside",K[K.JIS=3]="JIS",K[K.Below=4]="Below",exports.DimensionTextMoveRule=void 0,(Z=exports.DimensionTextMoveRule||(exports.DimensionTextMoveRule={}))[Z.WithDimension=0]="WithDimension",Z[Z.AddLeader=1]="AddLeader",Z[Z.Independent=2]="Independent",exports.DimensionTextFit=void 0,(J=exports.DimensionTextFit||(exports.DimensionTextFit={}))[J.BothOutside=0]="BothOutside",J[J.ArrowFirst=1]="ArrowFirst",J[J.TextFirst=2]="TextFirst",J[J.Auto=3]="Auto",exports.DimensionZeroSuppression=void 0,($=exports.DimensionZeroSuppression||(exports.DimensionZeroSuppression={}))[$.Feet=0]="Feet",$[$.None=1]="None",$[$.Inch=2]="Inch",$[$.FeetAndInch=3]="FeetAndInch",$[$.Leading=4]="Leading",$[$.Trailing=8]="Trailing",$[$.LeadingAndTrailing=12]="LeadingAndTrailing",exports.DimensionZeroSuppressionAngular=void 0,(q=exports.DimensionZeroSuppressionAngular||(exports.DimensionZeroSuppressionAngular={}))[q.None=0]="None",q[q.Leading=1]="Leading",q[q.Trailing=2]="Trailing",q[q.LeadingAndTrailing=3]="LeadingAndTrailing",exports.DimensionTextHorizontal=void 0,(Q=exports.DimensionTextHorizontal||(exports.DimensionTextHorizontal={}))[Q.Center=0]="Center",Q[Q.First=1]="First",Q[Q.Second=2]="Second",Q[Q.OverFirst=3]="OverFirst",Q[Q.OverSecond=4]="OverSecond",exports.DimensionToleranceTextVertical=void 0,(ee=exports.DimensionToleranceTextVertical||(exports.DimensionToleranceTextVertical={}))[ee.Bottom=0]="Bottom",ee[ee.Center=1]="Center",ee[ee.Top=2]="Top",exports.DimensionTextFill=void 0,(er=exports.DimensionTextFill||(exports.DimensionTextFill={}))[er.None=0]="None",er[er.UseDrawingBackground=1]="UseDrawingBackground",er[er.Custom=2]="Custom",exports.DimensionFractionFormat=void 0,(ea=exports.DimensionFractionFormat||(exports.DimensionFractionFormat={}))[ea.Horizontal=0]="Horizontal",ea[ea.Diagonal=1]="Diagonal",ea[ea.NotStacked=2]="NotStacked",exports.DimensionUnit=void 0,(et=exports.DimensionUnit||(exports.DimensionUnit={}))[et.Scientific=1]="Scientific",et[et.Decimal=2]="Decimal",et[et.Engineering=3]="Engineering",et[et.Architectural=4]="Architectural",et[et.Fractional=5]="Fractional",et[et.WindowDesktop=6]="WindowDesktop",exports.DimensionAngularUnit=void 0,(en=exports.DimensionAngularUnit||(exports.DimensionAngularUnit={}))[en.Decimal=0]="Decimal",en[en.DegreesMinutesSecond=1]="DegreesMinutesSecond",en[en.Gradian=2]="Gradian",en[en.Radian=3]="Radian",exports.HatchSolidFill=void 0,(eo=exports.HatchSolidFill||(exports.HatchSolidFill={}))[eo.PatternFill=0]="PatternFill",eo[eo.SolidFill=1]="SolidFill",exports.HatchAssociativity=void 0,(es=exports.HatchAssociativity||(exports.HatchAssociativity={}))[es.NonAssociative=0]="NonAssociative",es[es.Associative=1]="Associative",exports.HatchStyle=void 0,(ei=exports.HatchStyle||(exports.HatchStyle={}))[ei.Normal=0]="Normal",ei[ei.Outer=1]="Outer",ei[ei.Ignore=2]="Ignore",exports.HatchPatternType=void 0,(ec=exports.HatchPatternType||(exports.HatchPatternType={}))[ec.UserDefined=0]="UserDefined",ec[ec.Predefined=1]="Predefined",ec[ec.Custom=2]="Custom",exports.HatchBoundaryAnnotation=void 0,(ed=exports.HatchBoundaryAnnotation||(exports.HatchBoundaryAnnotation={}))[ed.NotAnnotated=0]="NotAnnotated",ed[ed.Annotated=1]="Annotated",exports.HatchGradientFlag=void 0,(ep=exports.HatchGradientFlag||(exports.HatchGradientFlag={}))[ep.Solid=0]="Solid",ep[ep.Gradient=1]="Gradient",exports.HatchGradientColorFlag=void 0,(el=exports.HatchGradientColorFlag||(exports.HatchGradientColorFlag={}))[el.TwoColor=0]="TwoColor",el[el.OneColor=1]="OneColor",exports.BoundaryPathTypeFlag=void 0,(eu=exports.BoundaryPathTypeFlag||(exports.BoundaryPathTypeFlag={}))[eu.Default=0]="Default",eu[eu.External=1]="External",eu[eu.Polyline=2]="Polyline",eu[eu.Derived=4]="Derived",eu[eu.Textbox=8]="Textbox",eu[eu.Outermost=16]="Outermost",exports.BoundaryPathEdgeType=void 0,(em=exports.BoundaryPathEdgeType||(exports.BoundaryPathEdgeType={}))[em.Line=1]="Line",em[em.Circular=2]="Circular",em[em.Elliptic=3]="Elliptic",em[em.Spline=4]="Spline",exports.ObscuredLineTypes=void 0,(eh=exports.ObscuredLineTypes||(exports.ObscuredLineTypes={}))[eh.Off=0]="Off",eh[eh.Solid=1]="Solid",eh[eh.Dashed=2]="Dashed",eh[eh.Dotted=3]="Dotted",eh[eh.ShotDash=4]="ShotDash",eh[eh.MediumDash=5]="MediumDash",eh[eh.LongDash=6]="LongDash",eh[eh.DoubleShortDash=7]="DoubleShortDash",eh[eh.DoubleMediumDash=8]="DoubleMediumDash",eh[eh.DoubleLongDash=9]="DoubleLongDash",eh[eh.DoubleMediumLongDash=10]="DoubleMediumLongDash",eh[eh.SparseDot=11]="SparseDot";const e={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:exports.ObscuredLineTypes.Off,SHADEDIF:70};function r(e,r,a){return e.code===r&&(null==a||e.value===a)}function a(e){let r={};e.rewind();let a=e.next(),t=a.code;if(r.x=a.value,(a=e.next()).code!==t+10)throw Error("Expected code for point value to be 20 but got "+a.code+".");return(r.y=a.value,(a=e.next()).code!==t+20)?e.rewind():r.z=a.value,r}exports.ReservedLineweight=void 0,(ex=exports.ReservedLineweight||(exports.ReservedLineweight={}))[ex.Standard=-3]="Standard",ex[ex.ByLayer=-2]="ByLayer",ex[ex.ByBlock=-1]="ByBlock",exports.Measurement=void 0,(eE=exports.Measurement||(exports.Measurement={}))[eE.English=0]="English",eE[eE.Metric=1]="Metric",exports.ViewportStatusFlag=void 0,(ef=exports.ViewportStatusFlag||(exports.ViewportStatusFlag={}))[ef.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",ef[ef.FRONT_CLIPPING=2]="FRONT_CLIPPING",ef[ef.BACK_CLIPPING=4]="BACK_CLIPPING",ef[ef.UCS_FOLLOW=8]="UCS_FOLLOW",ef[ef.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",ef[ef.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",ef[ef.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",ef[ef.FAST_ZOOM=128]="FAST_ZOOM",ef[ef.SNAP_MODE=256]="SNAP_MODE",ef[ef.GRID_MODE=512]="GRID_MODE",ef[ef.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",ef[ef.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",ef[ef.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",ef[ef.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",ef[ef.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",ef[ef.UNUSED=32768]="UNUSED",ef[ef.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",ef[ef.VIEWPORT_OFF=131072]="VIEWPORT_OFF",ef[ef.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",ef[ef.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",ef[ef.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",ef[ef.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",exports.RenderMode=void 0,(eg=exports.RenderMode||(exports.RenderMode={}))[eg.OPTIMIZED_2D=0]="OPTIMIZED_2D",eg[eg.WIREFRAME=1]="WIREFRAME",eg[eg.HIDDEN_LINE=2]="HIDDEN_LINE",eg[eg.FLAT_SHADED=3]="FLAT_SHADED",eg[eg.GOURAUD_SHADED=4]="GOURAUD_SHADED",eg[eg.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",eg[eg.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",exports.UCSPerViewport=void 0,(eI=exports.UCSPerViewport||(exports.UCSPerViewport={}))[eI.UCS_UNCHANGED=0]="UCS_UNCHANGED",eI[eI.HAS_OWN_UCS=1]="HAS_OWN_UCS",exports.OrthographicType=void 0,(eT=exports.OrthographicType||(exports.OrthographicType={}))[eT.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",eT[eT.TOP=1]="TOP",eT[eT.BOTTOM=2]="BOTTOM",eT[eT.FRONT=3]="FRONT",eT[eT.BACK=4]="BACK",eT[eT.LEFT=5]="LEFT",eT[eT.RIGHT=6]="RIGHT",exports.DefaultLightingType=void 0,(eD=exports.DefaultLightingType||(exports.DefaultLightingType={}))[eD.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",eD[eD.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",exports.PlotStyleType=void 0,(ey=exports.PlotStyleType||(exports.PlotStyleType={}))[ey.ByLayer=0]="ByLayer",ey[ey.ByBlock=1]="ByBlock",ey[ey.ByDictionaryDefault=2]="ByDictionaryDefault",ey[ey.ByObject=3]="ByObject";const t=Symbol();function n(e,a){return(n,s,i)=>{let c=function(e,r=!1){return e.reduce((e,a)=>{a.pushContext&&e.push({});let t=e[e.length-1];for(let e of"number"==typeof a.code?[a.code]:a.code){let n=t[e]??(t[e]=[]);a.isMultiple&&n.length&&r&&console.warn(`Snippet ${n[n.length-1].name} for code(${e}) is shadowed by ${a.name}`),n.push(a)}return e},[{}])}(e,s.debug),d=!1,p=c.length-1;for(;!r(n,0,"EOF");){let e=function(e,r,a){return e.find((e,t)=>t>=a&&e[r]?.length)}(c,n.code,p),r=e?.[n.code],a=r?.[r.length-1];if(!e||!a){s.rewind();break}a.isMultiple||e[n.code].pop();let{name:l,parser:u,isMultiple:m,isReducible:h}=a,x=u?.(n,s,i);if(x===t){s.rewind();break}if(l){let[e,r]=function(e,r){let a=r.split(".");if(!a.length)throw Error("[parserGenerator::getObjectByPath] Invalid empty path");let t=e;for(let e=0;e<a.length-1;++e){let r=o(a[e]),n=o(a[e+1]);Object.prototype.hasOwnProperty.call(t,r)||("number"==typeof n?t[r]=[]:t[r]={}),t=t[r]}return[t,o(a[a.length-1])]}(i,l);m&&!h?(Object.prototype.hasOwnProperty.call(e,r)||(e[r]=[]),e[r].push(x)):e[r]=x}a.pushContext&&(p-=1),d=!0,n=s.next()}return a&&Object.setPrototypeOf(i,a),d}}function o(e){let r=Number.parseInt(e);return Number.isNaN(r)?e:r}function s({value:e}){return e}function i(e,r){return a(r)}function c({value:e}){return!!e}const d=[{code:1001,name:"xdata",parser:p}];function p(e,t){if(!r(e,1001))throw Error("XData must starts with code 1001");let n={appName:e.value,value:[]};e=t.next();let o=[n.value];for(;!r(e,0,"EOF")&&e.code>=1e3;){let r=o[o.length-1];switch(e.code){case 1002:"{"===e.value?o.push([]):(o.pop(),o[o.length-1]?.push(r));break;case 1e3:case 1004:case 1040:case 1070:case 1071:r.push({type:l(e.code),value:e.value});break;case 1003:r.push({name:"layer",type:l(e.code),value:e.value});break;case 1005:r.push({name:"handle",type:l(e.code),value:e.value});break;case 1010:r.push({type:l(e.code),value:a(t)});break;case 1011:r.push({name:"worldSpacePosition",type:l(e.code),value:a(t)});break;case 1012:r.push({name:"worldSpaceDisplacement",type:l(e.code),value:a(t)});break;case 1013:r.push({name:"worldSpaceDirection",type:l(e.code),value:a(t)});break;case 1041:r.push({name:"distance",type:l(e.code),value:e.value});break;case 1042:r.push({name:"scale",type:l(e.code),value:e.value})}e=t.next()}return t.rewind(),n}function l(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function u(e,a,t){for(;r(e,102);){var n;let o=e.value;if(e=a.next(),!o.startsWith("{")){a.debug&&console.warn(`Invalid application group, expected to start with "{" but received: ${o}`),function(e,a){for(;!r(e,102)&&!r(e,0,"EOF");)e=a.next()}(e,a),e=a.next();continue}let s=o.slice(1).trim();t.extensions??(t.extensions={}),(n=t.extensions)[s]??(n[s]=[]),function(e,a,t){for(;!r(e,102,"}")&&!r(e,0,"EOF");)t.push(e),e=a.next()}(e,a,t.extensions[s]),e=a.next()}a.rewind()}let m=0;function h(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=m++)}exports.ShadowMode=void 0,(eb=exports.ShadowMode||(exports.ShadowMode={}))[eb.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",eb[eb.CAST=1]="CAST",eb[eb.RECEIVE=2]="RECEIVE",eb[eb.IGNORE=3]="IGNORE";const x=[...d,{code:284,name:"shadowMode",parser:s},{code:390,name:"plotStyleHardId",parser:s},{code:380,name:"plotStyleType",parser:s},{code:440,name:"transparency",parser:s},{code:430,name:"colorName",parser:s},{code:420,name:"color",parser:s},{code:310,name:"proxyEntity",isMultiple:!0,isReducible:!0,parser:(e,r,a)=>(a.proxyEntity??"")+e.value},{code:[92,160],name:"proxyByte",parser:s},{code:60,name:"isVisible",parser:c},{code:48,name:"lineTypeScale",parser:s},{code:370,name:"lineweight",parser:s},{code:62,name:"colorIndex",parser:s},{code:347,name:"materialObjectHardId",parser:s},{code:6,name:"lineType",parser:s},{code:8,name:"layer",parser:s},{code:410,name:"layoutTabName",parser:s},{code:67,name:"isInPaperSpace",parser:c},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:s},{code:102,parser:u},{code:102,parser:u},{code:102,parser:u},{code:5,name:"handle",parser:s}];function E(e){return[{code:3,name:e,parser:(e,r,a)=>(a._code3text=(a._code3text??"")+e.value,a._code3text+(a._code1text??"")),isMultiple:!0,isReducible:!0},{code:1,name:e,parser:(e,r,a)=>(a._code1text=e.value,(a._code3text??"")+a._code1text)}]}function f(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const g={extrusionDirection:{x:0,y:0,z:1}},I=[{code:210,name:"extrusionDirection",parser:i},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:100,name:"subclassMarker",parser:s},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i},{code:39,name:"thickness",parser:s},{code:100},...x];class T{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){f(this,"parser",n(I,g))}}f(T,"ForEntityName","ARC"),exports.ArcSymbolType=void 0,(eS=exports.ArcSymbolType||(exports.ArcSymbolType={}))[eS.BeforeText=0]="BeforeText",eS[eS.AboveText=1]="AboveText",eS[eS.None=2]="None";const D=[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4,defaultValue:""},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMFXL",code:49,defaultValue:1},{name:"DIMJOGANG",code:50,defaultValue:45},{name:"DIMTFILL",code:69,defaultValue:0},{name:"DIMTFILLCLR",code:70,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:exports.DimensionTextVertical.Above,defaultValueImperial:exports.DimensionTextVertical.Center},{name:"DIMZIN",code:78,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMAZIN",code:79,defaultValue:exports.DimensionZeroSuppressionAngular.None},{name:"DIMARCSYM",code:90,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179,defaultValue:0},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:3,defaultValueImperial:2},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:44,defaultValueImperial:46},{name:"DIMTMOVE",code:279,defaultValue:0},{name:"DIMJUST",code:280,defaultValue:exports.DimensionTextHorizontal.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:exports.DimensionToleranceTextVertical.Center},{name:"DIMTZIN",code:284,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMALTZ",code:285,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMALTTZ",code:286,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMFXLON",code:290,defaultValue:0},{name:"DIMTXTDIRECTION",code:294,defaultValue:0},{name:"DIMTXSTY",code:340,defaultValue:"Standard"},{name:"DIMLDRBLK",code:341,defaultValue:""},{name:"DIMBLK",code:342,defaultValue:""},{name:"DIMBLK1",code:343,defaultValue:""},{name:"DIMBLK2",code:344,defaultValue:""},{name:"DIMLTYPE",code:345,defaultValue:""},{name:"DIMLTEX1",code:346,defaultValue:""},{name:"DIMLTEX2",code:347,defaultValue:""},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWE",code:372,defaultValue:-2}],y=[{code:100,name:"subclassMarker",parser:s},{code:330,name:"ownerObjectId",parser:s},{code:102,parser(e,a){for(;!r(e,0,"EOF")&&!r(e,102,"}");)e=a.next()}},{code:5,name:"handle",parser:s}],b=n([...D.map(e=>({...e,parser:s})),{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},{code:105,name:"handle",parser:s},...y.filter(e=>5!==e.code)]),S=[{code:3,name:"styleName",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:51,name:"ocsRotation",parser:s},{code:53,name:"textRotation",parser:s},{code:1,name:"text",parser:s},{code:42,name:"measurement",parser:s},{code:72,name:"textLineSpacingStyle",parser:s},{code:71,name:"attachmentPoint",parser:s},{code:70,name:"dimensionType",parser:s},{code:11,name:"textPoint",parser:i},{code:10,name:"definitionPoint",parser:i},{code:2,name:"name",parser:s},{code:280,name:"version",parser:s},{code:100}],O=[{code:100},{code:52,name:"obliqueAngle",parser:s},{code:50,name:"rotationAngle",parser:s},{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:12,name:"insertionPoint",parser:i},{code:100,name:"subclassMarker",parser:s}],L=[{code:16,name:"arcPoint",parser:i},{code:15,name:"centerPoint",parser:i},{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:100,name:"subclassMarker",parser:s}],A=[{code:14,name:"subDefinitionPoint2",parser:i},{code:13,name:"subDefinitionPoint1",parser:i},{code:100,name:"subclassMarker",parser:s}],P=[{code:40,name:"leaderLength",parser:s},{code:15,name:"subDefinitionPoint",parser:i},{code:100,name:"subclassMarker",parser:s}],N=[{code:100,parser(e,r,a){let o=function(e){switch(e){case"AcDbAlignedDimension":return n(O);case"AcDb3PointAngularDimension":case"AcDb2LineAngularDimension":return n(L);case"AcDbOrdinateDimension":return n(A);case"AcDbRadialDimension":case"AcDbDiametricDimension":return n(P)}return null}(e.value);if(!o)return t;o(e,r,a)},pushContext:!0},...D.map(e=>({...e,parser:s})),...S,...x];class C{parseEntity(e,r){let a={};return n(N)(r,e,a),a}}eL="DIMENSION",(eO="ForEntityName")in C?Object.defineProperty(C,eO,{value:eL,enumerable:!0,configurable:!0,writable:!0}):C[eO]=eL;const M=[{code:73},{code:17,name:"leaderEnd",parser:i},{code:16,name:"leaderStart",parser:i},{code:71,name:"hasLeader",parser:c},{code:41,name:"endAngle",parser:s},{code:40,name:"startAngle",parser:s},{code:70,name:"isPartial",parser:c},{code:15,name:"centerPoint",parser:i},{code:14,name:"xline2Point",parser:i},{code:13,name:"xline1Point",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...D.map(e=>({...e,parser:s})),...S,...x];class _{parseEntity(e,r){let a={};return n(M)(r,e,a),a}}function F(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eP="ARC_DIMENSION",(eA="ForEntityName")in _?Object.defineProperty(_,eA,{value:eP,enumerable:!0,configurable:!0,writable:!0}):_[eA]=eP,exports.AttributeFlag=void 0,(eN=exports.AttributeFlag||(exports.AttributeFlag={}))[eN.NONE=0]="NONE",eN[eN.INVISIBLE=1]="INVISIBLE",eN[eN.CONSTANT=2]="CONSTANT",eN[eN.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",eN[eN.PRESET=8]="PRESET",exports.AttDefMTextFlag=void 0,(eC=exports.AttDefMTextFlag||(exports.AttDefMTextFlag={}))[eC.MULTILINE=2]="MULTILINE",eC[eC.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",exports.TextGenerationFlag=void 0,(eM=exports.TextGenerationFlag||(exports.TextGenerationFlag={}))[eM.NONE=0]="NONE",eM[eM.MIRRORED_X=2]="MIRRORED_X",eM[eM.MIRRORED_Y=4]="MIRRORED_Y",exports.TextHorizontalAlign=void 0,(e_=exports.TextHorizontalAlign||(exports.TextHorizontalAlign={}))[e_.LEFT=0]="LEFT",e_[e_.CENTER=1]="CENTER",e_[e_.RIGHT=2]="RIGHT",e_[e_.ALIGNED=3]="ALIGNED",e_[e_.MIDDLE=4]="MIDDLE",e_[e_.FIT=5]="FIT",exports.TextVerticalAlign=void 0,(eF=exports.TextVerticalAlign||(exports.TextVerticalAlign={}))[eF.BASELINE=0]="BASELINE",eF[eF.BOTTOM=1]="BOTTOM",eF[eF.MIDDLE=2]="MIDDLE",eF[eF.TOP=3]="TOP";const v={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:exports.TextHorizontalAlign.LEFT,valign:exports.TextVerticalAlign.BASELINE,extrusionDirection:{x:0,y:0,z:1}},R=[{code:73,name:"valign",parser:s},{code:100},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"endPoint",parser:i},{code:72,name:"valign",parser:s},{code:72,name:"halign",parser:s},{code:71,name:"generationFlag",parser:s},{code:7,name:"styleName",parser:s},{code:51,name:"obliqueAngle",parser:s},{code:41,name:"xScale",parser:s},{code:50,name:"rotation",parser:s},{code:1,name:"text",parser:s},{code:40,name:"textHeight",parser:s},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class V{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){F(this,"parser",n(R,v))}}function w(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}F(V,"ForEntityName","TEXT");const k={...v},B=[{code:2},{code:40,name:"annotationScale",parser:s},{code:10,name:"alignmentPoint",parser:i},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:s},{code:70,name:"numberOfSecondaryAttributes",parser:s},{code:70,name:"isReallyLocked",parser:c},{code:70,name:"mtextFlag",parser:s},{code:280,name:"isDuplicatedRecord",parser:c},{code:100},{code:280,name:"isLocked",parser:c},{code:74,name:"valign",parser:s},{code:73},{code:70,name:"attributeFlag",parser:s},{code:2,name:"tag",parser:s},{code:3,name:"prompt",parser:s},{code:280},{code:100,name:"subclassMarker",parser:s},...R.slice(2)];class H{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){w(this,"parser",n(B,k))}}function G(e,r){let a={};for(let t of e){let e=r(t);null!=e&&(a[e]??(a[e]=[]),a[e].push(t))}return a}function*U(e,r=1/0,a=1){for(let t=e;t!==r;t+=a)yield t}w(H,"ForEntityName","ATTDEF"),exports.MTextDrawingDirection=void 0,(ev=exports.MTextDrawingDirection||(exports.MTextDrawingDirection={}))[ev.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",ev[ev.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",ev[ev.BY_STYLE=5]="BY_STYLE";var W,j,Y,X,z,K,Z,J,$,q,Q,ee,er,ea,et,en,eo,es,ei,ec,ed,ep,el,eu,em,eh,ex,eE,ef,eg,eI,eT,eD,ey,eb,eS,eO,eL,eA,eP,eN,eC,eM,e_,eF,ev,eR,eV,ew,ek,eB,eH,eG,eU,eW,ej,eY,eX,ez,eK,eZ,eJ,e$,eq,eQ,e0,e1,e4,e2,e3,e7=[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];function e5(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const e6={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},e9=[{code:46,name:"annotationHeight",parser:s},{code:101,parser(e,r){!function(e){e.rewind();let r=e.next();if(101!==r.code)throw Error("Bad call for skipEmbeddedObject()");do r=e.next();while(0!==r.code);e.rewind()}(r)}},{code:50,name:"columnHeight",parser:s},{code:49,name:"columnGutter",parser:s},{code:48,name:"columnWidth",parser:s},{code:79,name:"columnAutoHeight",parser:s},{code:78,name:"columnFlowReversed",parser:s},{code:76,name:"columnCount",parser:s},{code:75,name:"columnType",parser:s},{code:441,name:"backgroundFillTransparency",parser:s},{code:63,name:"backgroundFillColor",parser:s},{code:45,name:"fillBoxScale",parser:s},{code:[...U(430,440)],name:"backgroundColor",parser:s},{code:[...U(420,430)],name:"backgroundColor",parser:s},{code:90,name:"backgroundFill",parser:s},{code:44,name:"lineSpacing",parser:s},{code:73,name:"lineSpacingStyle",parser:s},{code:50,name:"rotation",parser:s},{code:43},{code:42},{code:11,name:"direction",parser:i},{code:210,name:"extrusionDirection",parser:i},{code:7,name:"styleName",parser:s},...E("text"),{code:72,name:"drawingDirection",parser:s},{code:71,name:"attachmentPoint",parser:s},{code:41,name:"width",parser:s},{code:40,name:"height",parser:s},{code:10,name:"insertionPoint",parser:i},{code:100,name:"subclassMarker",parser:s},...x];class e8{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e5(this,"parser",n(e9,e6))}}function re(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e5(e8,"ForEntityName","MTEXT");const rr={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},ra=[...e9.slice(e9.findIndex(({name:e})=>"columnType"===e),e9.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!r(e,0,"MTEXT"))return t}},{code:2,name:"definitionTag",parser:s},{code:40,name:"annotationScale",parser:s},{code:10,name:"alignmentPoint",parser:i},{code:340,name:"secondaryAttributesHardId",parser:s},{code:70,name:"numberOfSecondaryAttributes",parser:s},{code:70,name:"isReallyLocked",parser:c},{code:70,name:"mtextFlag",parser:s},{code:280,name:"isDuplicatedEntriesKeep",parser:c},{code:100},{code:280,name:"lockPositionFlag",parser:c},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"alignmentPoint",parser:i},{code:74,name:"verticalJustification",parser:s},{code:72,name:"horizontalJustification",parser:s},{code:71,name:"textGenerationFlag",parser:s},{code:7,name:"textStyle",parser:s},{code:51,name:"obliqueAngle",parser:s},{code:41,name:"scale",parser:s},{code:50,name:"rotation",parser:s},{code:73},{code:70,name:"attributeFlag",parser:s},{code:2,name:"tag",parser:s},{code:280},{code:100,name:"subclassMarker",parser:s},{code:1,name:"text",parser:s},{code:40,name:"textHeight",parser:s},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100},...x];class rt{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){re(this,"parser",n(ra,rr))}}function rn(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}re(rt,"ForEntityName","ATTRIB");const ro=[...E("data"),{code:70,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class rs{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rn(this,"parser",n(ro))}}function ri(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rn(rs,"ForEntityName","BODY");const rc={thickness:0,extrusionDirection:{x:0,y:0,z:1}},rd=[{code:210,name:"extrusionDirection",parser:i},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class rp{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ri(this,"parser",n(rd,rc))}}function rl(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ri(rp,"ForEntityName","CIRCLE");const ru={extrusionDirection:{x:0,y:0,z:1}},rm=[{code:42,name:"endAngle",parser:s},{code:41,name:"startAngle",parser:s},{code:40,name:"axisRatio",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:11,name:"majorAxisEndPoint",parser:i},{code:10,name:"center",parser:i},{code:100,name:"subclassMarker",parser:s},...x];class rh{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rl(this,"parser",n(rm,ru))}}function rx(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rl(rh,"ForEntityName","ELLIPSE"),exports.FaceEdgeInvisibility=void 0,(eR=exports.FaceEdgeInvisibility||(exports.FaceEdgeInvisibility={}))[eR.First=1]="First",eR[eR.Second=2]="Second",eR[eR.Third=4]="Third",eR[eR.Fourth=8]="Fourth";const rE=[{code:13,name:"vertices.3",parser:i},{code:12,name:"vertices.2",parser:i},{code:11,name:"vertices.1",parser:i},{code:10,name:"vertices.0",parser:i},{code:100,name:"subclassMarker",parser:s},...x];class rf{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rx(this,"parser",n(rE))}}rx(rf,"ForEntityName","3DFACE");const rg=[{code:330,name:"sourceBoundaryObjects",parser:s,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:s}],rI=[{code:11,name:"end",parser:i},{code:10,name:"start",parser:i}],rT=[{code:73,name:"isCCW",parser:c},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:40,name:"radius",parser:s},{code:10,name:"center",parser:i}],rD=[{code:73,name:"isCCW",parser:c},{code:51,name:"endAngle",parser:s},{code:50,name:"startAngle",parser:s},{code:40,name:"lengthOfMinorAxis",parser:s},{code:11,name:"end",parser:i},{code:10,name:"center",parser:i}],ry=[{code:13,name:"endTangent",parser:i},{code:12,name:"startTangent",parser:i},{code:11,name:"fitDatum",isMultiple:!0,parser:i},{code:97,name:"numberOfFitData",parser:s},{code:10,name:"controlPoints",isMultiple:!0,parser(e,r){let t={...a(r),weight:1};return 42===(e=r.next()).code?t.weight=e.value:r.rewind(),t}},{code:40,name:"knots",isMultiple:!0,parser:s},{code:96,name:"numberOfControlPoints",parser:s},{code:95,name:"numberOfKnots",parser:s},{code:74,name:"isPeriodic",parser:c},{code:73,name:"splineFlag",parser:s},{code:94,name:"degree",parser:s}],rb={[exports.BoundaryPathEdgeType.Line]:rI,[exports.BoundaryPathEdgeType.Circular]:rT,[exports.BoundaryPathEdgeType.Elliptic]:rD,[exports.BoundaryPathEdgeType.Spline]:ry},rS=[...rg,{code:72,name:"edges",parser(e,r){let a={type:e.value},t=n(rb[a.type]);if(!t)throw Error(`Invalid edge type ${a.type}`);return t(e=r.next(),r,a),a},isMultiple:!0},{code:93,name:"numberOfEdges",parser:s}],rO=[...rg,{code:10,name:"vertices",parser(e,r){let t={...a(r),bulge:0};return 42===(e=r.next()).code?t.bulge=e.value:r.rewind(),t},isMultiple:!0},{code:93,name:"numberOfVertices",parser:s},{code:73,name:"isClosed",parser:c},{code:72,name:"hasBulge",parser:c}],rL=[{code:49,name:"dashLengths",parser:s,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:s},{code:45,name:"offset",parser:rA},{code:43,name:"base",parser:rA},{code:53,name:"angle",parser:s}];function rA(e,r){let a=e.code+1,t={x:e.value,y:1};return(e=r.next()).code===a?t.y=e.value:r.rewind(),t}function rP(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const rN={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},rC=[{code:470},{code:463},{code:462,name:"colorTint",parser:s},{code:461,name:"gradientDefinition",parser:s},{code:460,name:"gradientRotation",parser:s},{code:453,name:"numberOfColors",parser:s},{code:452,name:"gradientColorFlag",parser:s},{code:451},{code:450,name:"gradientFlag",parser:s},{code:10,name:"seedPoints",parser:i,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:i},{code:98,name:"numberOfSeedPoints",parser:s},{code:47,name:"pixelSize",parser:s},{code:53,name:"definitionLines",parser:function(e,r){let a={};return n(rL)(e,r,a),a},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:s},{code:77,name:"isDouble",parser:c},{code:73,name:"isAnnotated",parser:c},{code:41,name:"patternScale",parser:s},{code:52,name:"patternAngle",parser:s},{code:76,name:"patternType",parser:s},{code:75,name:"hatchStyle",parser:s},{code:92,name:"boundaryPaths",parser:function(e,r){let a={boundaryPathTypeFlag:e.value},t=a.boundaryPathTypeFlag&exports.BoundaryPathTypeFlag.Polyline;return(e=r.next(),t)?n(rO)(e,r,a):n(rS)(e,r,a),a},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:s},{code:71,name:"associativity",parser:s},{code:63,name:"patternFillColor",parser:s},{code:70,name:"solidFill",parser:s},{code:2,name:"patternName",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:10,name:"elevationPoint",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...x];class rM{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rP(this,"parser",n(rC,rN))}}function r_(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rP(rM,"ForEntityName","HATCH"),exports.ImageFlags=void 0,(eV=exports.ImageFlags||(exports.ImageFlags={}))[eV.ShowImage=1]="ShowImage",eV[eV.ShowImageWhenNotAlignedWithScreen=2]="ShowImageWhenNotAlignedWithScreen",eV[eV.UseClippingBoundary=4]="UseClippingBoundary",eV[eV.TransparencyIsOn=8]="TransparencyIsOn",exports.ImageClippingBoundaryType=void 0,(ew=exports.ImageClippingBoundaryType||(exports.ImageClippingBoundaryType={}))[ew.Rectangular=1]="Rectangular",ew[ew.Polygonal=2]="Polygonal",exports.ImageClipMode=void 0,(ek=exports.ImageClipMode||(exports.ImageClipMode={}))[ek.Outside=0]="Outside",ek[ek.Inside=1]="Inside";const rF={brightness:50,contrast:50,fade:0,clippingBoundaryPath:[]},rv=[{code:290,name:"clipMode",parser:s},{code:14,name:"clippingBoundaryPath",isMultiple:!0,parser:i},{code:91,name:"countBoundaryPoints",parser:s},{code:71,name:"clippingBoundaryType",parser:s},{code:360,name:"imageDefReactorHandle",parser:s},{code:283,name:"fade",parser:s},{code:282,name:"contrast",parser:s},{code:281,name:"brightness",parser:s},{code:280,name:"isClipped",parser:c},{code:70,name:"flags",parser:s},{code:340,name:"imageDefHandle",parser:s},{code:13,name:"imageSize",parser:i},{code:12,name:"vPixel",parser:i},{code:11,name:"uPixel",parser:i},{code:10,name:"position",parser:i},{code:90,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class rR{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r_(this,"parser",n(rv,rF))}}function rV(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r_(rR,"ForEntityName","IMAGE");const rw={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},rk=[{code:210,name:"extrusionDirection",parser:i},{code:45,name:"rowSpacing",parser:s},{code:44,name:"columnSpacing",parser:s},{code:71,name:"rowCount",parser:s},{code:70,name:"columnCount",parser:s},{code:50,name:"rotation",parser:s},{code:43,name:"zScale",parser:s},{code:42,name:"yScale",parser:s},{code:41,name:"xScale",parser:s},{code:10,name:"insertionPoint",parser:i},{code:2,name:"name",parser:s},{code:66,name:"isVariableAttributes",parser:c},{code:100,name:"subclassMarker",parser:s},...x];class rB{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rV(this,"parser",n(rk,rw))}}function rH(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rV(rB,"ForEntityName","INSERT");const rG={isArrowheadEnabled:!0},rU=[{code:213,name:"offsetFromAnnotation",parser:i},{code:212,name:"offsetFromBlock",parser:i},{code:211,name:"horizontalDirection",parser:i},{code:210,name:"normal",parser:i},{code:340,name:"associatedAnnotation",parser:s},{code:77,name:"byBlockColor",parser:s},{code:10,name:"vertices",parser:i,isMultiple:!0},{code:76,name:"numberOfVertices",parser:s},{code:41,name:"textWidth",parser:s},{code:40,name:"textHeight",parser:s},{code:75,name:"isHooklineExists",parser:c},{code:74,name:"isHooklineSameDirection",parser:c},{code:73,name:"leaderCreationFlag",parser:s},{code:72,name:"isSpline",parser:c},{code:71,name:"isArrowheadEnabled",parser:c},{code:3,name:"styleName",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class rW{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rH(this,"parser",n(rU,rG))}}function rj(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rH(rW,"ForEntityName","LEADER"),exports.LeaderCreationFlag=void 0,(eB=exports.LeaderCreationFlag||(exports.LeaderCreationFlag={}))[eB.TextAnnotation=0]="TextAnnotation",eB[eB.ToleranceAnnotation=1]="ToleranceAnnotation",eB[eB.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",eB[eB.NoAnnotation=3]="NoAnnotation";const rY={thickness:0,extrusionDirection:{x:0,y:0,z:1}},rX=[{code:210,name:"extrusionDirection",parser:i},{code:11,name:"endPoint",parser:i},{code:10,name:"startPoint",parser:i},{code:39,name:"thickness",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class rz{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rj(this,"parser",n(rX,rY))}}rj(rz,"ForEntityName","LINE"),exports.LWPolylineFlag=void 0,(eH=exports.LWPolylineFlag||(exports.LWPolylineFlag={}))[eH.IS_CLOSED=1]="IS_CLOSED",eH[eH.PLINE_GEN=128]="PLINE_GEN";const rK={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},rZ={bulge:0},rJ=[{code:42,name:"bulge",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:91,name:"id",parser:s},{code:20,name:"y",parser:s},{code:10,name:"x",parser:s}],r$=[{code:210,name:"extrusionDirection",parser:i},{code:10,name:"vertices",isMultiple:!0,parser(e,r){let a={};return n(rJ,rZ)(e,r,a),a}},{code:39,name:"thickness",parser:s},{code:38,name:"elevation",parser:s},{code:43,name:"constantWidth",parser:s},{code:70,name:"flag",parser:s},{code:90,name:"numberOfVertices",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class rq{parseEntity(e,r){let a={};return n(r$,rK)(r,e,a),a}}function rQ(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eU="LWPOLYLINE",(eG="ForEntityName")in rq?Object.defineProperty(rq,eG,{value:eU,enumerable:!0,configurable:!0,writable:!0}):rq[eG]=eU;const r0=[{code:90,name:"overridenSubEntityCount",parser:s},{code:140,name:"edgeCreaseWeights",parser:s,isMultiple:!0},{code:95,name:"edgeCreaseCount",parser:s},{code:94,parser(e,r,a){a.edgeCount=e.value,a.edgeIndices=[];for(let t=0;t<a.edgeCount;++t){let t=[];e=r.next(),t[0]=e.value,e=r.next(),t[1]=e.value,a.edgeIndices.push(t)}}},{code:93,parser(e,a,t){t.totalFaceIndices=e.value,t.faceIndices=[];let n=[];for(let o=0;o<t.totalFaceIndices&&!r(e,0);++o)e=a.next(),n.push(e.value);let o=0;for(;o<n.length;){let e=n[o++],r=[];for(let a=0;a<e;++a)r.push(n[o++]);t.faceIndices.push(r)}}},{code:10,name:"vertices",parser:i,isMultiple:!0},{code:92,name:"verticesCount",parser:s},{code:91,name:"subdivisionLevel",parser:s},{code:40,name:"blendCrease",parser:s},{code:72,name:"isBlendCreased",parser:c},{code:71,name:"version",parser:s},{code:100,name:"subclassMarker",parser:function({value:e}){return e.trim()},pushContext:!0},...x];class r1{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rQ(this,"parser",n(r0))}}function r4(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rQ(r1,"ForEntityName","MESH"),exports.MLineJustification=void 0,(eW=exports.MLineJustification||(exports.MLineJustification={}))[eW.Top=0]="Top",eW[eW.Zero=1]="Zero",eW[eW.Bottom=2]="Bottom",exports.MLineFlags=void 0,(ej=exports.MLineFlags||(exports.MLineFlags={}))[ej.HasVertex=1]="HasVertex",ej[ej.Closed=2]="Closed",ej[ej.SuppressStartCaps=4]="SuppressStartCaps",ej[ej.SuppressEndCaps=8]="SuppressEndCaps";const r2=[{code:42,name:"fillParameters",parser:s,isMultiple:!0},{code:75,name:"fillCount",parser:s},{code:41,name:"parameters",parser:s,isMultiple:!0},{code:74,name:"parameterCount",parser:s}],r3=[{code:[74,41,75,42],name:"elements",parser(e,r){let a=n(r2),t={};return a(e,r,t),t},isMultiple:!0},{code:13,name:"miterDirection",parser:i},{code:12,name:"direction",parser:i},{code:11,name:"position",parser:i}],r7=[{code:[11,12,13],name:"segments",parser(e,r){let a=n(r3),t={};return a(e,r,t),t},isMultiple:!0},{code:210,name:"extrusionDirection",parser:i},{code:10,name:"startPosition",parser:i},{code:73,name:"styleCount",parser:s},{code:72,name:"vertexCount",parser:s},{code:71,name:"flags",parser:s},{code:70,name:"justification",parser:s},{code:40,name:"scale",parser:s},{code:340,name:"styleObjectHandle",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...x];class r5{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r4(this,"parser",n(r7))}}function r6(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r4(r5,"ForEntityName","MLINE");const r9={},r8=[{code:170,name:"multileaderType",parser:s},{code:291,name:"doglegEnabled",parser:c},{code:40,name:"doglegLength",parser:s},{code:172,name:"contentType",parser:s},{code:3,name:"textContent",parser:s},{code:12,name:"textAnchor",parser:i},{code:344,name:"blockHandle",parser:s},{code:15,name:"blockPosition",parser:i},{code:302,name:"leaderSections",parser:function(e,r,t){let n;let o={leaderLines:[]};for(;r.hasNext()&&303!==(n=r.next()).code;){switch(n.code){case 10:o.landingPoint=(n.value,a(r));break;case 11:o.doglegVector=(n.value,a(r));break;case 40:o.doglegLength=n.value;break;case 304:o.leaderLines.push(function(e,r,t){let n;let o={vertices:[]};for(;r.hasNext()&&305!==(n=r.next()).code;)10===n.code&&o.vertices.push((n.value,a(r)));return o}(0,r))}}return o},isMultiple:!0},...x];class ae{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){r6(this,"parser",n(r8,r9))}}function ar(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}r6(ae,"ForEntityName","MULTILEADER");const aa={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},at=[{code:50,name:"angle",parser:s},{code:210,name:"extrusionDirection",parser:i},{code:39,name:"thickness",parser:s},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...x];class an{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ar(this,"parser",n(at,aa))}}function ao(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ar(an,"ForEntityName","POINT"),exports.PolylineFlag=void 0,(eY=exports.PolylineFlag||(exports.PolylineFlag={}))[eY.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",eY[eY.CURVE_FIT=2]="CURVE_FIT",eY[eY.SPLINE_FIT=4]="SPLINE_FIT",eY[eY.POLYLINE_3D=8]="POLYLINE_3D",eY[eY.POLYGON_3D=16]="POLYGON_3D",eY[eY.CLOSED_POLYGON=32]="CLOSED_POLYGON",eY[eY.POLYFACE=64]="POLYFACE",eY[eY.CONTINUOUS=128]="CONTINUOUS",exports.SmoothType=void 0,(eX=exports.SmoothType||(exports.SmoothType={}))[eX.NONE=0]="NONE",eX[eX.QUADRATIC=5]="QUADRATIC",eX[eX.CUBIC=6]="CUBIC",eX[eX.BEZIER=8]="BEZIER",exports.VertexFlag=void 0,(ez=exports.VertexFlag||(exports.VertexFlag={}))[ez.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",ez[ez.TANGENT_DEFINED=2]="TANGENT_DEFINED",ez[ez.NOT_USED=4]="NOT_USED",ez[ez.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",ez[ez.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",ez[ez.FOR_POLYLINE=32]="FOR_POLYLINE",ez[ez.FOR_POLYGON=64]="FOR_POLYGON",ez[ez.POLYFACE=128]="POLYFACE";const as={startWidth:0,endWidth:0,bulge:0},ai=[{code:91,name:"id",parser:s},{code:[...U(71,75)],name:"faces",isMultiple:!0,parser:s},{code:50,name:"tangentDirection",parser:s},{code:70,name:"flag",parser:s},{code:42,name:"bulge",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:30,name:"z",parser:s},{code:20,name:"y",parser:s},{code:10,name:"x",parser:s},{code:100,name:"subclassMarker",parser:s},{code:100},...x];class ac{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ao(this,"parser",n(ai,as))}}function ad(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ao(ac,"ForEntityName","VERTEX");const ap={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},al=[{code:0,name:"vertices",isMultiple:!0,parser:(e,a)=>r(e,0,"VERTEX")?(e=a.next(),new ac().parseEntity(a,e)):t},{code:210,name:"extrusionDirection",parser:i},{code:75,name:"smoothType",parser:s},{code:74,name:"surfaceNDensity",parser:s},{code:73,name:"surfaceMDensity",parser:s},{code:72,name:"meshNVertexCount",parser:s},{code:71,name:"meshMVertexCount",parser:s},{code:41,name:"endWidth",parser:s},{code:40,name:"startWidth",parser:s},{code:70,name:"flag",parser:s},{code:39,name:"thickness",parser:s},{code:30,name:"elevation",parser:s},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:s},...x];class au{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ad(this,"parser",n(al,ap))}}function am(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ad(au,"ForEntityName","POLYLINE");const ah=[{code:11,name:"direction",parser:i},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...x];class ax{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){am(this,"parser",n(ah))}}function aE(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}am(ax,"ForEntityName","RAY");const af=[...E("data"),{code:70,name:"version",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class ag{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aE(this,"parser",n(af))}}function aI(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aE(ag,"ForEntityName","REGION");const aT={vertices:[],backLineVertices:[]},aD=[{code:360,name:"geometrySettingHardId",parser:s},{code:12,name:"backLineVertices",isMultiple:!0,parser:i},{code:93,name:"numberOfBackLineVertices",parser:s},{code:11,name:"vertices",isMultiple:!0,parser:i},{code:92,name:"verticesCount",parser:s},{code:[63,411],name:"indicatorColor",parser:s},{code:70,name:"indicatorTransparency",parser:s},{code:41,name:"bottomHeight",parser:s},{code:40,name:"topHeight",parser:s},{code:10,name:"verticalDirection",parser:i},{code:1,name:"name",parser:s},{code:91,name:"flag",parser:s},{code:90,name:"state",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class ay{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aI(this,"parser",n(aD,aT))}}function ab(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aI(ay,"ForEntityName","SECTION");const aS={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},aO=[{code:210,name:"extrusionDirection",parser:i},{code:39,name:"thickness",parser:s},{code:[...U(10,14)],name:"points",isMultiple:!0,parser:i},{code:100,name:"subclassMarker",parser:s},...x];class aL{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ab(this,"parser",n(aO,aS))}}function aA(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}ab(aL,"ForEntityName","SOLID");const aP=[{code:350,name:"historyObjectSoftId",parser:s},{code:100,name:"subclassMarker",parser:s},...E("data"),{code:70,name:"version",parser:s},{code:100},...x];class aN{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aA(this,"parser",n(aP))}}function aC(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aA(aN,"ForEntityName","3DSOLID"),exports.SplineFlag=void 0,(eK=exports.SplineFlag||(exports.SplineFlag={}))[eK.NONE=0]="NONE",eK[eK.CLOSED=1]="CLOSED",eK[eK.PERIODIC=2]="PERIODIC",eK[eK.RATIONAL=4]="RATIONAL",eK[eK.PLANAR=8]="PLANAR",eK[eK.LINEAR=16]="LINEAR";const aM={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},a_=[{code:11,name:"fitPoints",isMultiple:!0,parser:i},{code:10,name:"controlPoints",isMultiple:!0,parser:i},{code:41,name:"weights",isMultiple:!0,parser:s},{code:40,name:"knots",isMultiple:!0,parser:s},{code:13,name:"endTangent",parser:i},{code:12,name:"startTangent",parser:i},{code:44,name:"fitTolerance",parser:s},{code:43,name:"controlTolerance",parser:s},{code:42,name:"knotTolerance",parser:s},{code:74,name:"numberOfFitPoints",parser:s},{code:73,name:"numberOfControlPoints",parser:s},{code:72,name:"numberOfKnots",parser:s},{code:71,name:"degree",parser:s},{code:70,name:"flag",parser:s},{code:210,name:"normal",parser:i},{code:100,name:"subclassMarker",parser:s},...x];class aF{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aC(this,"parser",n(a_,aM))}}function av(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aC(aF,"ForEntityName","SPLINE");const aR=[{code:11,name:"xAxisDirection",parser:i},{code:210,name:"extrusionDirection",parser:i},{code:1,name:"text",parser:s},{code:10,name:"position",parser:i},{code:3,name:"styleName",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class aV{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){av(this,"parser",n(aR))}}av(aV,"ForEntityName","TOLERANCE");const aw=[{code:[335,343,344,91],name:"softPointers",isMultiple:!0,parser:s},{code:361,name:"sunId",parser:s},{code:431,name:"ambientLightColorName",parser:s},{code:421,name:"ambientLightColorInstance",parser:s},{code:63,name:"ambientLightColorIndex",parser:s},{code:142,name:"contrast",parser:s},{code:141,name:"brightness",parser:s},{code:282,name:"defaultLightingType",parser:s},{code:292,name:"isDefaultLighting",parser:c},{code:348,name:"visualStyleId",parser:s},{code:333,name:"shadePlotId",parser:s},{code:332,name:"backgroundId",parser:s},{code:61,name:"majorGridFrequency",parser:s},{code:170,name:"shadePlotMode",parser:s},{code:146,name:"elevation",parser:s},{code:79,name:"orthographicType",parser:s},{code:346,name:"ucsBaseId",parser:s},{code:345,name:"ucsId",parser:s},{code:112,name:"ucsYAxis",parser:i},{code:111,name:"ucsXAxis",parser:i},{code:110,name:"ucsOrigin",parser:i},{code:74,name:"iconFlag",parser:s},{code:71,name:"ucsPerViewport",parser:s},{code:281,name:"renderMode",parser:s},{code:1,name:"sheetName",parser:s},{code:340,name:"clippingBoundaryId",parser:s},{code:90,name:"statusBitFlags",parser:s},{code:331,name:"frozenLayerIds",isMultiple:!0,parser:s},{code:72,name:"circleZoomPercent",parser:s},{code:51,name:"viewTwistAngle",parser:s},{code:50,name:"snapAngle",parser:s},{code:45,name:"viewHeight",parser:s},{code:44,name:"backClipZ",parser:s},{code:43,name:"frontClipZ",parser:s},{code:42,name:"perspectiveLensLength",parser:s},{code:17,name:"targetPoint",parser:i},{code:16,name:"viewDirection",parser:i},{code:15,name:"gridSpacing",parser:i},{code:14,name:"snapSpacing",parser:i},{code:13,name:"snapBase",parser:i},{code:12,name:"displayCenter",parser:i},{code:69,name:"viewportId",parser:s},{code:68,name:"status",parser:s},{code:41,name:"height",parser:s},{code:40,name:"width",parser:s},{code:10,name:"viewportCenter",parser:i},{code:100,name:"subclassMarker",parser:s,pushContext:!0},...x];class ak{parseEntity(e,r){let a={};return n(aw)(r,e,a),a}}function aB(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eJ="VIEWPORT",(eZ="ForEntityName")in ak?Object.defineProperty(ak,eZ,{value:eJ,enumerable:!0,configurable:!0,writable:!0}):ak[eZ]=eJ,exports.ImageDisplayFlag=void 0,(e$=exports.ImageDisplayFlag||(exports.ImageDisplayFlag={}))[e$.ShowImage=1]="ShowImage",e$[e$.ShowImageWhenNotAligned=2]="ShowImageWhenNotAligned",e$[e$.UseClippingBoundary=4]="UseClippingBoundary",e$[e$.Transparency=8]="Transparency";const aH={brightness:50,constrast:50,fade:0},aG=[{code:14,name:"boundary",isMultiple:!0,parser:i},{code:91,name:"numberOfVertices",parser:s},{code:71,name:"boundaryType",parser:s},{code:360,name:"imageDefReactorHardId",parser:s},{code:283,name:"fade",parser:s},{code:282,name:"contrast",parser:s},{code:281,name:"brightness",parser:s},{code:280,name:"isClipping",parser:c},{code:70,name:"displayFlag",parser:s},{code:340,name:"imageDefHardId",parser:s},{code:13,name:"imageSize",parser:i},{code:12,name:"vDirection",parser:i},{code:11,name:"uDirection",parser:i},{code:10,name:"position",parser:i},{code:90,name:"classVersion",parser:s},{code:100,name:"subclassMarker",parser:s},...x];class aU{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aB(this,"parser",n(aG,aH))}}function aW(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}aB(aU,"ForEntityName","WIPEOUT");const aj=[{code:11,name:"direction",parser:i},{code:10,name:"position",parser:i},{code:100,name:"subclassMarker",parser:s},...x];class aY{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){aW(this,"parser",n(aj))}}aW(aY,"ForEntityName","XLINE");const aX=Object.fromEntries([T,_,H,rt,rs,rp,C,rh,rf,rR,rB,rW,rz,rq,r1,r5,e8,ae,an,au,ax,ag,ay,aL,aN,aF,V,aV,rM,ac,ak,aU,aY].map(e=>[e.ForEntityName,new e]));function az(e,a){let t=[];for(;!r(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){a.rewind();break}let r=aX[e.value];if(r){let n=e.value;e=a.next();let o=r.parseEntity(a,e);o.type=n,h(o),t.push(o)}else a.debug&&console.warn(`Unsupported ENTITY type: ${e.value}`)}e=a.next()}return t}function aK(e,a){let t={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");){if(r(e,0,"BLOCK")){let r=aZ(e=a.next(),a);h(r),r.name&&(t[r.name]=r)}e=a.next()}return t}function aZ(e,t){let n={};for(;!r(e,0,"EOF");){if(r(e,0,"ENDBLK")){for(e=t.next();!r(e,0,"EOF");){if(r(e,100,"AcDbBlockEnd"))return n;e=t.next()}break}switch(e.code){case 1:n.xrefPath=e.value;break;case 2:n.name=e.value;break;case 3:n.name2=e.value;break;case 5:n.handle=e.value;break;case 8:n.layer=e.value;break;case 10:n.position=a(t);break;case 67:n.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(n.type=e.value);break;case 100:break;case 330:n.ownerHandle=e.value;break;case 0:n.entities=az(e,t)}e=t.next()}return n}function aJ(e,t){let n=null,o={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");)9===e.code?n=e.value:10===e.code?o[n]=a(t):o[n]=e.value,e=t.next();return o}exports.RecordCloneFlag=void 0,(eq=exports.RecordCloneFlag||(exports.RecordCloneFlag={}))[eq.NOT_APPLICABLE=0]="NOT_APPLICABLE",eq[eq.KEEP_EXISTING=1]="KEEP_EXISTING",eq[eq.USE_CLONE=2]="USE_CLONE",eq[eq.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",eq[eq.VALUE_NAME=4]="VALUE_NAME",eq[eq.UNMANGLE_NAME=5]="UNMANGLE_NAME";const a$=[{code:330,name:"ownerObjectId",parser:s},{code:102,parser:u},{code:102,parser:u},{code:102,parser:u},{code:5,name:"handle",parser:s}],aq=[{code:3,name:"entries",parser:(e,r)=>{let a={name:e.value};return 350===(e=r.next()).code?a.objectSoftId=e.value:360===e.code?a.objectHardId=e.value:r.rewind(),a},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:s},{code:280,name:"isHardOwned",parser:c},{code:100,name:"subclassMarker",parser:s},...a$];exports.LayoutControlFlag=void 0,(eQ=exports.LayoutControlFlag||(exports.LayoutControlFlag={}))[eQ.PSLTSCALE=1]="PSLTSCALE",eQ[eQ.LIMCHECK=2]="LIMCHECK",exports.PlotPaperUnit=void 0,(e0=exports.PlotPaperUnit||(exports.PlotPaperUnit={}))[e0.INCHES=0]="INCHES",e0[e0.MILLIMETERS=1]="MILLIMETERS",e0[e0.PIXELS=2]="PIXELS",exports.PlotType=void 0,(e1=exports.PlotType||(exports.PlotType={}))[e1.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",e1[e1.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",e1[e1.DRAWING_LIMITS=2]="DRAWING_LIMITS",e1[e1.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",e1[e1.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",e1[e1.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",exports.ShadePlotMode=void 0,(e4=exports.ShadePlotMode||(exports.ShadePlotMode={}))[e4.AS_DISPLAYED=0]="AS_DISPLAYED",e4[e4.WIREFRAME=1]="WIREFRAME",e4[e4.HIDDEN=2]="HIDDEN",e4[e4.RENDERED=3]="RENDERED",exports.ShadePlotResolution=void 0,(e2=exports.ShadePlotResolution||(exports.ShadePlotResolution={}))[e2.DRAFT=0]="DRAFT",e2[e2.PREVIEW=1]="PREVIEW",e2[e2.NORMAL=2]="NORMAL",e2[e2.PRESENTATION=3]="PRESENTATION",e2[e2.MAXIMUM=4]="MAXIMUM",e2[e2.CUSTOM=5]="CUSTOM";const aQ=[{code:333,name:"shadePlotId",parser:s},{code:149,name:"imageOriginY",parser:s},{code:148,name:"imageOriginX",parser:s},{code:147,name:"scaleFactor",parser:s},{code:78,name:"shadePlotCustomDPI",parser:s},{code:77,name:"shadePlotResolution",parser:s},{code:76,name:"shadePlotMode",parser:s},{code:75,name:"standardScaleType",parser:s},{code:7,name:"currentStyleSheet",parser:s},{code:74,name:"plotType",parser:s},{code:73,name:"plotRotation",parser:s},{code:72,name:"plotPaperUnit",parser:s},{code:70,name:"layoutFlag",parser:s},{code:143,name:"printScaleDenominator",parser:s},{code:142,name:"printScaleNumerator",parser:s},{code:141,name:"windowAreaYMax",parser:s},{code:140,name:"windowAreaXMax",parser:s},{code:49,name:"windowAreaYMin",parser:s},{code:48,name:"windowAreaXMin",parser:s},{code:47,name:"plotOriginY",parser:s},{code:46,name:"plotOriginX",parser:s},{code:45,name:"paperHeight",parser:s},{code:44,name:"paperWidth",parser:s},{code:43,name:"marginTop",parser:s},{code:42,name:"marginRight",parser:s},{code:41,name:"marginBottom",parser:s},{code:40,name:"marginLeft",parser:s},{code:6,name:"plotViewName",parser:s},{code:4,name:"paperSize",parser:s},{code:2,name:"configName",parser:s},{code:1,name:"pageSetupName",parser:s},{code:100,name:"subclassMarker",parser:s},...a$],a0=[{code:346,name:"orthographicUcsId",parser:s},{code:345,name:"namedUcsId",parser:s},{code:331,name:"viewportId",parser:s},{code:330,name:"paperSpaceTableId",parser:s},{code:76,name:"orthographicType",parser:s},{code:17,name:"ucsYAxis",parser:i},{code:16,name:"ucsXAxis",parser:i},{code:13,name:"ucsOrigin",parser:i},{code:146,name:"elevation",parser:s},{code:15,name:"maxExtent",parser:i},{code:14,name:"minExtent",parser:i},{code:12,name:"insertionPoint",parser:i},{code:11,name:"maxLimit",parser:i},{code:10,name:"minLimit",parser:i},{code:71,name:"tabOrder",parser:s},{code:70,name:"controlFlag",parser:s},{code:1,name:"layoutName",parser:s},{code:100,name:"subclassMarker",parser:s},...aQ],a1=[{code:40,name:"wcsToOCSTransform",parser:a4},{code:40,name:"ocsToWCSTransform",parser:a4},{code:41,name:"backClippingDistance",parser:s},{code:73,name:"isBackClipping",parser:c,pushContext:!0},{code:40,name:"frontClippingDistance",parser:s},{code:72,name:"isFrontClipping",parser:c,pushContext:!0},{code:71,name:"isClipBoundaryDisplayed",parser:c},{code:11,name:"position",parser:i},{code:210,name:"normal",parser:i},{code:10,name:"boundaryVertices",parser:i,isMultiple:!0},{code:70,name:"boundaryCount",parser:s},{code:100,name:"subclassMarker",parser:s},{code:100},...a$];function a4(e,a){let t=[];for(let n=0;n<3&&r(e,40);++n){let n=[];for(let t=0;t<4&&r(e,40);++t)n.push(e.value),e=a.next();t.push(n)}return a.rewind(),t}const a2=[{code:280,name:"cloneFlag",parser(e,r,a){var t;let n=e.value;for(e=r.next(),a.data=[];1<=(t=e.code)&&t<=369&&5!==t&&105!==t;)a.data.push(e),e=r.next();return r.rewind(),n}},{code:100,name:"subclassMarker",parser:s},...a$],a3={LAYOUT:a0,PLOTSETTINGS:aQ,DICTIONARY:aq,SPATIAL_FILTER:a1};function a7(e,r){let a=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let t=e.value,o=a3[t];if(0===e.code&&o?.length){let s=n(o),i={name:t};s(e=r.next(),r,i)?(a.push(i),e=r.peek()):e=r.next()}else e=r.next()}return{byName:G(a,({name:e})=>e)}}const a5=n([{code:310,name:"bmpPreview",parser:s},{code:281,name:"scalability",parser:s},{code:280,name:"explodability",parser:s},{code:70,name:"insertionUnits",parser:s},{code:340,name:"layoutObjects",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),a6=n([{code:347,name:"materialObjectId",parser:s},{code:390,name:"plotStyleNameObjectId",parser:s},{code:370,name:"lineweight",parser:s},{code:290,name:"isPlotting",parser:c},{code:6,name:"lineType",parser:s},{code:62,name:"colorIndex",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]);exports.LineTypeElementType=void 0,(e3=exports.LineTypeElementType||(exports.LineTypeElementType={}))[e3.NONE=0]="NONE",e3[e3.AbsoluteRotation=1]="AbsoluteRotation",e3[e3.TextEmbedded=2]="TextEmbedded",e3[e3.ShapeEmbedded=4]="ShapeEmbedded";const a9=n([{code:9,name:"text",parser:s},{code:45,name:"offsetY",parser:s},{code:44,name:"offsetX",parser:s},{code:50,name:"rotation",parser:s},{code:46,name:"scale",parser:s},{code:340,name:"styleObjectId",parser:s},{code:75,name:"shapeNumber",parser:s},{code:74,name:"elementTypeFlag",parser:s},{code:49,name:"elementLength",parser:s}],{elementTypeFlag:0,elementLength:0}),a8=n([{code:49,name:"pattern",parser(e,r){let a={};return a9(e,r,a),a},isMultiple:!0},{code:40,name:"totalPatternLength",parser:s},{code:73,name:"numberOfLineTypes",parser:s},{code:72,parser:s},{code:3,name:"description",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),te=n([{code:1e3,name:"extendedFont",parser:s},{code:1001},{code:4,name:"bigFont",parser:s},{code:3,name:"font",parser:s},{code:42,name:"lastHeight",parser:s},{code:71,name:"textGenerationFlag",parser:s},{code:50,name:"obliqueAngle",parser:s},{code:41,name:"widthFactor",parser:s},{code:40,name:"fixedTextHeight",parser:s},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),tr=n([{code:[63,421,431],name:"ambientColor",parser:s},{code:142,name:"contrast",parser:s},{code:141,name:"brightness",parser:s},{code:282,name:"defaultLightingType",parser:s},{code:292,name:"isDefaultLightingOn",parser:c},{code:348,name:"visualStyleObjectId",parser:s},{code:333,name:"shadePlotObjectId",parser:s},{code:332,name:"backgroundObjectId",parser:s},{code:61,name:"majorGridLines",parser:s},{code:170,name:"shadePlotSetting",parser:s},{code:146,name:"elevation",parser:s},{code:79,name:"orthographicType",parser:s},{code:112,name:"ucsYAxis",parser:i},{code:111,name:"ucsXAxis",parser:i},{code:110,name:"ucsOrigin",parser:i},{code:74,name:"ucsIconSetting",parser:s},{code:71,name:"viewMode",parser:s},{code:281,name:"renderMode",parser:s},{code:1,name:"styleSheet",parser:s},{code:[331,441],name:"frozenLayers",parser:s,isMultiple:!0},{code:72,name:"circleSides",parser:s},{code:51,name:"viewTwistAngle",parser:s},{code:50,name:"snapRotationAngle",parser:s},{code:45,name:"viewHeight",parser:s},{code:44,name:"backClippingPlane",parser:s},{code:43,name:"frontClippingPlane",parser:s},{code:42,name:"lensLength",parser:s},{code:17,name:"viewTarget",parser:i},{code:16,name:"viewDirectionFromTarget",parser:i},{code:15,name:"gridSpacing",parser:i},{code:14,name:"snapSpacing",parser:i},{code:13,name:"snapBasePoint",parser:i},{code:12,name:"center",parser:i},{code:11,name:"upperRightCorner",parser:i},{code:10,name:"lowerLeftCorner",parser:i},{code:70,name:"standardFlag",parser:s},{code:2,name:"name",parser:s},{code:100,name:"subclassMarker",parser:s},...y]),ta={BLOCK_RECORD:a5,DIMSTYLE:b,LAYER:a6,LTYPE:a8,STYLE:te,VPORT:tr},tt=n([{code:70,name:"maxNumberOfEntries",parser:s},{code:100,name:"subclassMarker",parser:s},{code:330,name:"ownerObjectId",parser:s},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:s},{code:2,name:"name",parser:s}]);function tn(e,a){let t={};for(;!r(e,0,"EOF")&&!r(e,0,"ENDSEC");){if(r(e,0,"TABLE")){e=a.next();let r={entries:[]};tt(e,a,r),t[r.name]=r}if(r(e,0)&&!r(e,0,"ENDTAB")){let r=e.value;e=a.next();let n=ta[r];if(!n){a.debug&&console.warn(`parseTable: Invalid table name '${r}'`),e=a.next();continue}let o={};n(e,a,o),t[r]?.entries.push(o)}e=a.next()}return t}function to(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class ts{next(){if(!this.hasNext())return this._eof?this.debug&&console.warn("Cannot call 'next' after EOF group has been read"):this.debug&&console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),a=ti(e,this._data[this._pointer++],this.debug),t={code:e,value:a};return r(t,0,"EOF")&&(this._eof=!0),this.lastReadGroup=t,t}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer])}let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=ti(e.code,this._data[this._pointer+1],this.debug),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e,r=!1){to(this,"_data",void 0),to(this,"debug",void 0),to(this,"_pointer",void 0),to(this,"_eof",void 0),to(this,"lastReadGroup",void 0),this._data=e,this.debug=r,this.lastReadGroup={code:0,value:0},this._pointer=0,this._eof=!1}}function ti(e,r,a=!1){return e<=9?r:e>=10&&e<=59?parseFloat(r.trim()):e>=60&&e<=99?parseInt(r.trim()):e>=100&&e<=109?r:e>=110&&e<=149?parseFloat(r.trim()):e>=160&&e<=179?parseInt(r.trim()):e>=210&&e<=239?parseFloat(r.trim()):e>=270&&e<=289?parseInt(r.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(r.trim()):e>=300&&e<=369?r:e>=370&&e<=389?parseInt(r.trim()):e>=390&&e<=399?r:e>=400&&e<=409?parseInt(r.trim()):e>=410&&e<=419?r:e>=420&&e<=429?parseInt(r.trim()):e>=430&&e<=439?r:e>=440&&e<=459?parseInt(r.trim()):e>=460&&e<=469?parseFloat(r.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?r:e>=1010&&e<=1059?parseFloat(r.trim()):e>=1060&&e<=1071?parseInt(r.trim()):(a&&console.warn("WARNING: Group code does not have a defined type: %j",{code:e,value:r}),r)}function tc(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class td{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){tc(this,"point",{}),tc(this,"startCode",0),tc(this,"code",0),tc(this,"value",0),tc(this,"x",void 0),tc(this,"y",void 0),tc(this,"z",void 0)}}function tp(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tl{constructor(){tp(this,"encoding","utf-8"),tp(this,"encodingFailureFatal",!1)}}class tu extends Error{constructor(e,r,a){let t=`[Line ${r}]: ${e}`;a?.cause&&(t+=`
2
2
  Caused by ${a.cause.toString()}
3
- ${a.cause.stack}`),super(t),tn(this,"line",void 0),this.line=r}}class ti extends EventTarget{Feed(e,r=!1){let a=this._decoder.decode(e??void 0,{stream:!r});this.FeedString(a,r)}FeedString(e,r=!1){if(this._finalChunkSeen)throw Error("Data fed after final chunk processed");r&&(this._finalChunkSeen=!0),this._curChunk+=e,this._ProcessCurChunk(),r&&this._Finalize()}_Finalize(){}async FeedFile(e,r){let a=e.byteLength;for(let t=0;t<a;t+=65536){r?.throwIfAborted();let n=Math.min(a-t,65536),o=await e.slice(t,t+n);this.Feed(o,t+n>=a)}}_ProcessCurChunk(){for(let e of this._ConsumeCurChunkLines())if(this._ProcessLine(e),this._curLineNum++,!this._eof&&"HEADER"===this._curSection){let e=this._curValue.value;9===this._curValue.code?this._currVarName=e:10===this._curValue.code?this._pointParser.parseStart(this._curValue):this._pointParser.startCode===this._curValue.code||this._pointParser.startCode+10===this._curValue.code||this._pointParser.startCode+20===this._curValue.code?e=this._pointParser.setPoint(this._curValue):this._currVarName&&(this.dxf.header[this._currVarName]=e)}}*_ConsumeCurChunkLines(){let e=0,r=this._curChunk.length;for(;e<r;){let a=this._curChunk.indexOf("\r",e),t=0;if(a>=0?(t=a+1)<r&&"\n"==this._curChunk.charAt(t)&&t++:(a=this._curChunk.indexOf("\n",e))>=0&&(t=a+1),a<0)break;yield this._curChunk.substring(e,a),e=t}0!=e&&(this._curChunk=this._curChunk.substring(e))}_ProcessLine(e){if(null===this._curGroupCode){let r=e.trim();this._curGroupCode=parseInt(r),isNaN(this._curGroupCode)&&this._Error("Bad group code: "+r);return}let a=new tc(this._curGroupCode,e);if(!r(a,0,"EOF")){switch(a.value){case"SECTION":this._curSection="SECTION";break;case"HEADER":this._curSection="HEADER";break;case"BLOCKS":this._curSection="BLOCKS";break;case"ENTITIES":this._curSection="ENTITIES";break;case"TABLES":this._curSection="TABLES";break;case"OBJECTS":this._curSection="OBJECTS"}this._eof=!1}r(a,0,"EOF")&&(this._eof=!0),this._curValue=a,this._curGroupCode=null}_Error(e,r=null){let a;throw r&&(a={cause:r}),new ts(e,this._curLineNum,a)}constructor(e=new to){super(),tn(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),tn(this,"_decoder",void 0),tn(this,"_pointParser",void 0),tn(this,"_finalChunkSeen",!1),tn(this,"_curChunk",""),tn(this,"_curGroupCode",null),tn(this,"_curLineNum",1),tn(this,"_eof",!1),tn(this,"_curValue",{code:0,value:0}),tn(this,"_curSection",""),tn(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new tt}}class tc{constructor(e,r){tn(this,"code",void 0),tn(this,"value",void 0),this.code=e,this.value=tr(e,r)}}function td(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tp{constructor(){td(this,"encoding","utf-8"),td(this,"encodingFailureFatal",!1)}}class tl extends EventTarget{parseSync(e,r=!1){let a=new te(e.split(/\r\n|\r|\n/g),r);if(!a.hasNext())throw Error("Empty file");return this.parseAll(a)}parseStream(e){let r="",a=this;return new Promise((t,n)=>{e.on("data",e=>{r+=e}),e.on("end",()=>{try{let e=r.split(/\r\n|\r|\n/g),n=new te(e);if(!n.hasNext())throw Error("Empty file");t(a.parseAll(n))}catch(e){n(e)}}),e.on("error",e=>{n(e)})})}async parseFromUrl(e,r){let a=await fetch(e,r);if(!a.body)return null;let t=a.body.getReader(),n="";for(;;){let{done:e,value:r}=await t.read();if(e){n+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}n+=this._decoder.decode(r,{stream:!0})}return this.parseSync(n)}parseAll(e){let a={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},t=e.next();for(;!r(t,0,"EOF");)r(t,0,"SECTION")&&(r(t=e.next(),2,"HEADER")?(t=e.next(),a.header=aj(t,e)):r(t,2,"BLOCKS")?(t=e.next(),a.blocks=aU(t,e)):r(t,2,"ENTITIES")?(t=e.next(),a.entities=aG(t,e)):r(t,2,"TABLES")?(t=e.next(),a.tables=a9(t,e)):r(t,2,"OBJECTS")&&(t=e.next(),a.objects=aQ(t,e))),t=e.next();return a}constructor(e=new tp){super(),td(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}exports.AlignedDimensionSnippets=O,exports.AngularDimensionSnippets=P,exports.ArcDimensionEntitySnippet=_,exports.ArcDimensionParser=M,exports.ArcEntityParser=T,exports.AttDefEntityParser=H,exports.AttributeEntityParser=e6,exports.BodyEntityParser=re,exports.CircleEntityParser=rn,exports.CommonDimensionSnippets=S,exports.CommonEntitySnippets=h,exports.DefaultDxfHeaderVariables=e,exports.DefaultTextEntity=F,exports.DictionarySnippets=aX,exports.DimStyleVariablesSchema=D,exports.DimensionParser=C,exports.DimensionSnippets=A,exports.DxfParsingError=ts,exports.DxfStreamParser=ti,exports.DxfStreamParserOptions=to,exports.EllipseEntityParser=rc,exports.FaceEntityParser=rl,exports.HatchEntityParser=rO,exports.INDEXED_CHUNK_SIZE=65536,exports.ImageEntityParser=rA,exports.InsertEntityParser=rv,exports.LWPolylineParser=rX,exports.LayoutSnippets=aK,exports.LeaderEntityParser=rw,exports.LineEntityParser=rG,exports.MLineDXFEntitySnippet=rQ,exports.MLineElementParser=r$,exports.MLineEntityParser=r0,exports.MLineSegmentParser=rq,exports.MTextEntityParser=e2,exports.MTextEntityParserSnippets=e4,exports.MeshEntityParser=rZ,exports.MultiLeaderEntityParser=r3,exports.OrdinateDimensionSnippets=L,exports.PlotSettingsSnippets=az,exports.PointEntityParser=r9,exports.PolylineParser=as,exports.RadialDimensionSnippets=N,exports.RayParser=ad,exports.RegionEntityParser=au,exports.SPLINE_SUBDIVISION=4,exports.SectionEntityParser=ax,exports.Solid3DEntityParser=ab,exports.SolidEntityParser=aT,exports.SpatialFilterSnippets=aZ,exports.SplineEntityParser=aL,exports.TESSELLATION_ANGLE=Math.PI/24,exports.TextEntityParser=V,exports.TextEntityParserSnippets=R,exports.ToleranceEntityParser=aC,exports.UndeterminedBlockColor=-1,exports.VertexParser=aa,exports.ViewportParser=aM,exports.WipeoutEntityParser=aV,exports.XDataParserSnippets=d,exports.XLineEntityParser=aB,exports.XRecordDXFObjectSnippet=a$,exports.classify=G,exports.createLongStringSnippet=x,exports.createXDataCatcher=function({appName:e="ACAD",catcher:r,escaper:a}){return function*(t){if(t?.appName!==e)return;let n=!1,o=-1;for(let[e,s]of t.value.entries())if(n){if(yield s,a?.(s,e-o))return}else r(s)&&(n=!0,o=e)}},exports.createXDataControlInterpreter=function(e){return r=>{let a={};for(let t=0;t<r.length;t+=2){let n=e.find(({code:e})=>e===r[t].value);n&&(a[n.name]=r[t+1]?.value)}return a}},exports.default=tl,exports.ensureHandle=E,exports.ensurePoint3D=function(e){return{x:e.x??0,y:e.y??0,z:e.z??0}},exports.generateIntegers=U,exports.getAcadColor=function(e){return eQ[e]},exports.isMatched=r,exports.parseBlock=aW,exports.parseBlockRecordTable=a0,exports.parseBlocks=aU,exports.parseDimStyle=b,exports.parseEntities=aG,exports.parseExtensions=u,exports.parseHeader=aj,exports.parseLTypeTable=a2,exports.parseLayerTable=a1,exports.parseObjects=aQ,exports.parseStyleTable=a3,exports.parseTables=a9,exports.parseVPortTable=a7,exports.parseXData=p;
3
+ ${a.cause.stack}`),super(t),tp(this,"line",void 0),this.line=r}}class tm extends EventTarget{Feed(e,r=!1){let a=this._decoder.decode(e??void 0,{stream:!r});this.FeedString(a,r)}FeedString(e,r=!1){if(this._finalChunkSeen)throw Error("Data fed after final chunk processed");r&&(this._finalChunkSeen=!0),this._curChunk+=e,this._ProcessCurChunk(),r&&this._Finalize()}_Finalize(){}async FeedFile(e,r){let a=e.byteLength;for(let t=0;t<a;t+=65536){r?.throwIfAborted();let n=Math.min(a-t,65536),o=await e.slice(t,t+n);this.Feed(o,t+n>=a)}}_ProcessCurChunk(){for(let e of this._ConsumeCurChunkLines())if(this._ProcessLine(e),this._curLineNum++,!this._eof&&"HEADER"===this._curSection){let e=this._curValue.value;9===this._curValue.code?this._currVarName=e:10===this._curValue.code?this._pointParser.parseStart(this._curValue):this._pointParser.startCode===this._curValue.code||this._pointParser.startCode+10===this._curValue.code||this._pointParser.startCode+20===this._curValue.code?e=this._pointParser.setPoint(this._curValue):this._currVarName&&(this.dxf.header[this._currVarName]=e)}}*_ConsumeCurChunkLines(){let e=0,r=this._curChunk.length;for(;e<r;){let a=this._curChunk.indexOf("\r",e),t=0;if(a>=0?(t=a+1)<r&&"\n"==this._curChunk.charAt(t)&&t++:(a=this._curChunk.indexOf("\n",e))>=0&&(t=a+1),a<0)break;yield this._curChunk.substring(e,a),e=t}0!=e&&(this._curChunk=this._curChunk.substring(e))}_ProcessLine(e){if(null===this._curGroupCode){let r=e.trim();this._curGroupCode=parseInt(r),isNaN(this._curGroupCode)&&this._Error("Bad group code: "+r);return}let a=new th(this._curGroupCode,e);if(!r(a,0,"EOF")){switch(a.value){case"SECTION":this._curSection="SECTION";break;case"HEADER":this._curSection="HEADER";break;case"BLOCKS":this._curSection="BLOCKS";break;case"ENTITIES":this._curSection="ENTITIES";break;case"TABLES":this._curSection="TABLES";break;case"OBJECTS":this._curSection="OBJECTS"}this._eof=!1}r(a,0,"EOF")&&(this._eof=!0),this._curValue=a,this._curGroupCode=null}_Error(e,r=null){let a;throw r&&(a={cause:r}),new tu(e,this._curLineNum,a)}constructor(e=new tl){super(),tp(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),tp(this,"_decoder",void 0),tp(this,"_pointParser",void 0),tp(this,"_finalChunkSeen",!1),tp(this,"_curChunk",""),tp(this,"_curGroupCode",null),tp(this,"_curLineNum",1),tp(this,"_eof",!1),tp(this,"_curValue",{code:0,value:0}),tp(this,"_curSection",""),tp(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new td}}class th{constructor(e,r){tp(this,"code",void 0),tp(this,"value",void 0),this.code=e,this.value=ti(e,r)}}function tx(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class tE{constructor(){tx(this,"encoding","utf-8"),tx(this,"encodingFailureFatal",!1)}}class tf extends EventTarget{parseSync(e,r=!1){let a=new ts(e.split(/\r\n|\r|\n/g),r);if(!a.hasNext())throw Error("Empty file");return this.parseAll(a)}parseStream(e){let r="",a=this;return new Promise((t,n)=>{e.on("data",e=>{r+=e}),e.on("end",()=>{try{let e=r.split(/\r\n|\r|\n/g),n=new ts(e);if(!n.hasNext())throw Error("Empty file");t(a.parseAll(n))}catch(e){n(e)}}),e.on("error",e=>{n(e)})})}async parseFromUrl(e,r){let a=await fetch(e,r);if(!a.body)return null;let t=a.body.getReader(),n="";for(;;){let{done:e,value:r}=await t.read();if(e){n+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}n+=this._decoder.decode(r,{stream:!0})}return this.parseSync(n)}parseAll(e){let a={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},t=e.next();for(;!r(t,0,"EOF");)r(t,0,"SECTION")&&(r(t=e.next(),2,"HEADER")?(t=e.next(),a.header=aJ(t,e)):r(t,2,"BLOCKS")?(t=e.next(),a.blocks=aK(t,e)):r(t,2,"ENTITIES")?(t=e.next(),a.entities=az(t,e)):r(t,2,"TABLES")?(t=e.next(),a.tables=tn(t,e)):r(t,2,"OBJECTS")&&(t=e.next(),a.objects=a7(t,e))),t=e.next();return a}constructor(e=new tE){super(),tx(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}exports.AlignedDimensionSnippets=O,exports.AngularDimensionSnippets=L,exports.ArcDimensionEntitySnippet=M,exports.ArcDimensionParser=_,exports.ArcEntityParser=T,exports.AttDefEntityParser=H,exports.AttributeEntityParser=rt,exports.BodyEntityParser=rs,exports.CircleEntityParser=rp,exports.CommonDimensionSnippets=S,exports.CommonEntitySnippets=x,exports.DefaultDxfHeaderVariables=e,exports.DefaultTextEntity=v,exports.DictionarySnippets=aq,exports.DimStyleVariablesSchema=D,exports.DimensionParser=C,exports.DimensionSnippets=N,exports.DxfParsingError=tu,exports.DxfStreamParser=tm,exports.DxfStreamParserOptions=tl,exports.EllipseEntityParser=rh,exports.FaceEntityParser=rf,exports.HatchEntityParser=rM,exports.INDEXED_CHUNK_SIZE=65536,exports.ImageEntityParser=rR,exports.InsertEntityParser=rB,exports.LWPolylineParser=rq,exports.LayoutSnippets=a0,exports.LeaderEntityParser=rW,exports.LineEntityParser=rz,exports.MLineDXFEntitySnippet=r7,exports.MLineElementParser=r2,exports.MLineEntityParser=r5,exports.MLineSegmentParser=r3,exports.MTextEntityParser=e8,exports.MTextEntityParserSnippets=e9,exports.MeshEntityParser=r1,exports.MultiLeaderEntityParser=ae,exports.OrdinateDimensionSnippets=A,exports.PlotSettingsSnippets=aQ,exports.PointEntityParser=an,exports.PolylineParser=au,exports.RadialDimensionSnippets=P,exports.RayParser=ax,exports.RegionEntityParser=ag,exports.SPLINE_SUBDIVISION=4,exports.SectionEntityParser=ay,exports.Solid3DEntityParser=aN,exports.SolidEntityParser=aL,exports.SpatialFilterSnippets=a1,exports.SplineEntityParser=aF,exports.TESSELLATION_ANGLE=Math.PI/24,exports.TextEntityParser=V,exports.TextEntityParserSnippets=R,exports.ToleranceEntityParser=aV,exports.UndeterminedBlockColor=-1,exports.VertexParser=ac,exports.ViewportParser=ak,exports.WipeoutEntityParser=aU,exports.XDataParserSnippets=d,exports.XLineEntityParser=aY,exports.XRecordDXFObjectSnippet=a2,exports.classify=G,exports.createLongStringSnippet=E,exports.createXDataCatcher=function({appName:e="ACAD",catcher:r,escaper:a}){return function*(t){if(t?.appName!==e)return;let n=!1,o=-1;for(let[e,s]of t.value.entries())if(n){if(yield s,a?.(s,e-o))return}else r(s)&&(n=!0,o=e)}},exports.createXDataControlInterpreter=function(e){return r=>{let a={};for(let t=0;t<r.length;t+=2){let n=e.find(({code:e})=>e===r[t].value);n&&(a[n.name]=r[t+1]?.value)}return a}},exports.default=tf,exports.ensureHandle=h,exports.ensurePoint3D=function(e){return{x:e.x??0,y:e.y??0,z:e.z??0}},exports.generateIntegers=U,exports.getAcadColor=function(e){return e7[e]},exports.isMatched=r,exports.parseBlock=aZ,exports.parseBlockRecordTable=a5,exports.parseBlocks=aK,exports.parseDimStyle=b,exports.parseEntities=az,exports.parseExtensions=u,exports.parseHeader=aJ,exports.parseLTypeTable=a8,exports.parseLayerTable=a6,exports.parseObjects=a7,exports.parseStyleTable=te,exports.parseTables=tn,exports.parseVPortTable=tr,exports.parseXData=p;