@mlightcad/libredwg-web
Version:
A DWG/DXF JavaScript parser based on libredwg
962 lines • 9.18 MB
JavaScript
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
const MODEL_SPACE = "*MODEL_SPACE";
const MODEL_SPACE_PREFIX = "*PAPER_SPACE";
const isModelSpace = (name) => {
return name && name.toUpperCase() == MODEL_SPACE;
};
const isPaperSpace = (name) => {
return name && name.toUpperCase().startsWith(MODEL_SPACE_PREFIX);
};
var DwgCodePage = /* @__PURE__ */ ((DwgCodePage2) => {
DwgCodePage2[DwgCodePage2["CP_UTF8"] = 0] = "CP_UTF8";
DwgCodePage2[DwgCodePage2["CP_US_ASCII"] = 1] = "CP_US_ASCII";
DwgCodePage2[DwgCodePage2["CP_ISO_8859_1"] = 2] = "CP_ISO_8859_1";
DwgCodePage2[DwgCodePage2["CP_ISO_8859_2"] = 3] = "CP_ISO_8859_2";
DwgCodePage2[DwgCodePage2["CP_ISO_8859_3"] = 4] = "CP_ISO_8859_3";
DwgCodePage2[DwgCodePage2["CP_ISO_8859_4"] = 5] = "CP_ISO_8859_4";
DwgCodePage2[DwgCodePage2["CP_ISO_8859_5"] = 6] = "CP_ISO_8859_5";
DwgCodePage2[DwgCodePage2["CP_ISO_8859_6"] = 7] = "CP_ISO_8859_6";
DwgCodePage2[DwgCodePage2["CP_ISO_8859_7"] = 8] = "CP_ISO_8859_7";
DwgCodePage2[DwgCodePage2["CP_ISO_8859_8"] = 9] = "CP_ISO_8859_8";
DwgCodePage2[DwgCodePage2["CP_ISO_8859_9"] = 10] = "CP_ISO_8859_9";
DwgCodePage2[DwgCodePage2["CP_CP437"] = 11] = "CP_CP437";
DwgCodePage2[DwgCodePage2["CP_CP850"] = 12] = "CP_CP850";
DwgCodePage2[DwgCodePage2["CP_CP852"] = 13] = "CP_CP852";
DwgCodePage2[DwgCodePage2["CP_CP855"] = 14] = "CP_CP855";
DwgCodePage2[DwgCodePage2["CP_CP857"] = 15] = "CP_CP857";
DwgCodePage2[DwgCodePage2["CP_CP860"] = 16] = "CP_CP860";
DwgCodePage2[DwgCodePage2["CP_CP861"] = 17] = "CP_CP861";
DwgCodePage2[DwgCodePage2["CP_CP863"] = 18] = "CP_CP863";
DwgCodePage2[DwgCodePage2["CP_CP864"] = 19] = "CP_CP864";
DwgCodePage2[DwgCodePage2["CP_CP865"] = 20] = "CP_CP865";
DwgCodePage2[DwgCodePage2["CP_CP869"] = 21] = "CP_CP869";
DwgCodePage2[DwgCodePage2["CP_CP932"] = 22] = "CP_CP932";
DwgCodePage2[DwgCodePage2["CP_MACINTOSH"] = 23] = "CP_MACINTOSH";
DwgCodePage2[DwgCodePage2["CP_BIG5"] = 24] = "CP_BIG5";
DwgCodePage2[DwgCodePage2["CP_CP949"] = 25] = "CP_CP949";
DwgCodePage2[DwgCodePage2["CP_JOHAB"] = 26] = "CP_JOHAB";
DwgCodePage2[DwgCodePage2["CP_CP866"] = 27] = "CP_CP866";
DwgCodePage2[DwgCodePage2["CP_ANSI_1250"] = 28] = "CP_ANSI_1250";
DwgCodePage2[DwgCodePage2["CP_ANSI_1251"] = 29] = "CP_ANSI_1251";
DwgCodePage2[DwgCodePage2["CP_ANSI_1252"] = 30] = "CP_ANSI_1252";
DwgCodePage2[DwgCodePage2["CP_GB2312"] = 31] = "CP_GB2312";
DwgCodePage2[DwgCodePage2["CP_ANSI_1253"] = 32] = "CP_ANSI_1253";
DwgCodePage2[DwgCodePage2["CP_ANSI_1254"] = 33] = "CP_ANSI_1254";
DwgCodePage2[DwgCodePage2["CP_ANSI_1255"] = 34] = "CP_ANSI_1255";
DwgCodePage2[DwgCodePage2["CP_ANSI_1256"] = 35] = "CP_ANSI_1256";
DwgCodePage2[DwgCodePage2["CP_ANSI_1257"] = 36] = "CP_ANSI_1257";
DwgCodePage2[DwgCodePage2["CP_ANSI_874"] = 37] = "CP_ANSI_874";
DwgCodePage2[DwgCodePage2["CP_ANSI_932"] = 38] = "CP_ANSI_932";
DwgCodePage2[DwgCodePage2["CP_ANSI_936"] = 39] = "CP_ANSI_936";
DwgCodePage2[DwgCodePage2["CP_ANSI_949"] = 40] = "CP_ANSI_949";
DwgCodePage2[DwgCodePage2["CP_ANSI_950"] = 41] = "CP_ANSI_950";
DwgCodePage2[DwgCodePage2["CP_ANSI_1361"] = 42] = "CP_ANSI_1361";
DwgCodePage2[DwgCodePage2["CP_UTF16"] = 43] = "CP_UTF16";
DwgCodePage2[DwgCodePage2["CP_ANSI_1258"] = 44] = "CP_ANSI_1258";
DwgCodePage2[DwgCodePage2["CP_UNDEFINED"] = 255] = "CP_UNDEFINED";
return DwgCodePage2;
})(DwgCodePage || {});
const encodings = [
"utf-8",
// 0
"utf-8",
// US ASCII
"iso-8859-1",
"iso-8859-2",
"iso-8859-3",
"iso-8859-4",
"iso-8859-5",
"iso-8859-6",
"iso-8859-7",
"iso-8859-8",
"iso-8859-9",
// 10
"utf-8",
// DOS English
"utf-8",
// 12 DOS Latin-1
"utf-8",
// DOS Central European
"utf-8",
// DOS Cyrillic
"utf-8",
// DOS Turkish
"utf-8",
// DOS Portoguese
"utf-8",
// DOS Icelandic
"utf-8",
// DOS Hebrew
"utf-8",
// DOS Arabic (IBM)
"utf-8",
// DOS Nordic
"utf-8",
// DOS Greek
"shift-jis",
// DOS Japanese (shiftjis)
"macintosh",
// 23
"big5",
"utf-8",
// Korean (Wansung + Johab)
"utf-8",
// Johab?
"ibm866",
// Russian
"windows-1250",
// Central + Eastern European
"windows-1251",
// Cyrillic
"windows-1252",
// Western European
"gbk",
// EUC-CN Chinese
"windows-1253",
// Greek
"windows-1254",
// Turkish
"windows-1255",
// Hebrew
"windows-1256",
// Arabic
"windows-1257",
// Baltic
"windows-874",
// Thai
"shift-jis",
// 38 Japanese (extended shiftjis, windows-31j)
"gbk",
// 39 Simplified Chinese
"euc-kr",
// 40 Korean Wansung
"big5",
// 41 Trad Chinese
"utf-8",
// 42 Korean Wansung
"utf-16le",
"windows-1258"
// Vietnamese
];
const dwgCodePageToEncoding = (codepage) => {
return encodings[codepage];
};
var DwgDimensionType = /* @__PURE__ */ ((DwgDimensionType2) => {
DwgDimensionType2[DwgDimensionType2["Rotated"] = 0] = "Rotated";
DwgDimensionType2[DwgDimensionType2["Aligned"] = 1] = "Aligned";
DwgDimensionType2[DwgDimensionType2["Angular"] = 2] = "Angular";
DwgDimensionType2[DwgDimensionType2["Diameter"] = 3] = "Diameter";
DwgDimensionType2[DwgDimensionType2["Radius"] = 4] = "Radius";
DwgDimensionType2[DwgDimensionType2["Angular3Point"] = 5] = "Angular3Point";
DwgDimensionType2[DwgDimensionType2["Ordinate"] = 6] = "Ordinate";
DwgDimensionType2[DwgDimensionType2["ReferenceIsExclusive"] = 32] = "ReferenceIsExclusive";
DwgDimensionType2[DwgDimensionType2["IsOrdinateXTypeFlag"] = 64] = "IsOrdinateXTypeFlag";
DwgDimensionType2[DwgDimensionType2["IsCustomTextPositionFlag"] = 128] = "IsCustomTextPositionFlag";
return DwgDimensionType2;
})(DwgDimensionType || {});
var DwgAttachmentPoint = /* @__PURE__ */ ((DwgAttachmentPoint2) => {
DwgAttachmentPoint2[DwgAttachmentPoint2["TopLeft"] = 1] = "TopLeft";
DwgAttachmentPoint2[DwgAttachmentPoint2["TopCenter"] = 2] = "TopCenter";
DwgAttachmentPoint2[DwgAttachmentPoint2["TopRight"] = 3] = "TopRight";
DwgAttachmentPoint2[DwgAttachmentPoint2["MiddleLeft"] = 4] = "MiddleLeft";
DwgAttachmentPoint2[DwgAttachmentPoint2["MiddleCenter"] = 5] = "MiddleCenter";
DwgAttachmentPoint2[DwgAttachmentPoint2["MiddleRight"] = 6] = "MiddleRight";
DwgAttachmentPoint2[DwgAttachmentPoint2["BottomLeft"] = 7] = "BottomLeft";
DwgAttachmentPoint2[DwgAttachmentPoint2["BottomCenter"] = 8] = "BottomCenter";
DwgAttachmentPoint2[DwgAttachmentPoint2["BottomRight"] = 9] = "BottomRight";
return DwgAttachmentPoint2;
})(DwgAttachmentPoint || {});
var DwgDimensionTextLineSpacing = /* @__PURE__ */ ((DwgDimensionTextLineSpacing2) => {
DwgDimensionTextLineSpacing2[DwgDimensionTextLineSpacing2["AtLeast"] = 1] = "AtLeast";
DwgDimensionTextLineSpacing2[DwgDimensionTextLineSpacing2["Exact"] = 2] = "Exact";
return DwgDimensionTextLineSpacing2;
})(DwgDimensionTextLineSpacing || {});
var DwgDimensionTextVertical = /* @__PURE__ */ ((DwgDimensionTextVertical2) => {
DwgDimensionTextVertical2[DwgDimensionTextVertical2["Center"] = 0] = "Center";
DwgDimensionTextVertical2[DwgDimensionTextVertical2["Above"] = 1] = "Above";
DwgDimensionTextVertical2[DwgDimensionTextVertical2["Outside"] = 2] = "Outside";
DwgDimensionTextVertical2[DwgDimensionTextVertical2["JIS"] = 3] = "JIS";
DwgDimensionTextVertical2[DwgDimensionTextVertical2["Below"] = 4] = "Below";
return DwgDimensionTextVertical2;
})(DwgDimensionTextVertical || {});
var DwgDimensionZeroSuppression = /* @__PURE__ */ ((DwgDimensionZeroSuppression2) => {
DwgDimensionZeroSuppression2[DwgDimensionZeroSuppression2["Feet"] = 0] = "Feet";
DwgDimensionZeroSuppression2[DwgDimensionZeroSuppression2["None"] = 1] = "None";
DwgDimensionZeroSuppression2[DwgDimensionZeroSuppression2["Inch"] = 2] = "Inch";
DwgDimensionZeroSuppression2[DwgDimensionZeroSuppression2["FeetAndInch"] = 3] = "FeetAndInch";
DwgDimensionZeroSuppression2[DwgDimensionZeroSuppression2["Leading"] = 4] = "Leading";
DwgDimensionZeroSuppression2[DwgDimensionZeroSuppression2["Trailing"] = 8] = "Trailing";
DwgDimensionZeroSuppression2[DwgDimensionZeroSuppression2["LeadingAndTrailing"] = 12] = "LeadingAndTrailing";
return DwgDimensionZeroSuppression2;
})(DwgDimensionZeroSuppression || {});
var DwgDimensionZeroSuppressionAngular = /* @__PURE__ */ ((DwgDimensionZeroSuppressionAngular2) => {
DwgDimensionZeroSuppressionAngular2[DwgDimensionZeroSuppressionAngular2["None"] = 0] = "None";
DwgDimensionZeroSuppressionAngular2[DwgDimensionZeroSuppressionAngular2["Leading"] = 1] = "Leading";
DwgDimensionZeroSuppressionAngular2[DwgDimensionZeroSuppressionAngular2["Trailing"] = 2] = "Trailing";
DwgDimensionZeroSuppressionAngular2[DwgDimensionZeroSuppressionAngular2["LeadingAndTrailing"] = 3] = "LeadingAndTrailing";
return DwgDimensionZeroSuppressionAngular2;
})(DwgDimensionZeroSuppressionAngular || {});
var DwgDimensionTextHorizontal = /* @__PURE__ */ ((DwgDimensionTextHorizontal2) => {
DwgDimensionTextHorizontal2[DwgDimensionTextHorizontal2["Center"] = 0] = "Center";
DwgDimensionTextHorizontal2[DwgDimensionTextHorizontal2["Left"] = 1] = "Left";
DwgDimensionTextHorizontal2[DwgDimensionTextHorizontal2["Right"] = 2] = "Right";
DwgDimensionTextHorizontal2[DwgDimensionTextHorizontal2["OverFirst"] = 3] = "OverFirst";
DwgDimensionTextHorizontal2[DwgDimensionTextHorizontal2["OverSecond"] = 4] = "OverSecond";
return DwgDimensionTextHorizontal2;
})(DwgDimensionTextHorizontal || {});
var DwgDimensionToleranceTextVertical = /* @__PURE__ */ ((DwgDimensionToleranceTextVertical2) => {
DwgDimensionToleranceTextVertical2[DwgDimensionToleranceTextVertical2["Bottom"] = 0] = "Bottom";
DwgDimensionToleranceTextVertical2[DwgDimensionToleranceTextVertical2["Center"] = 1] = "Center";
DwgDimensionToleranceTextVertical2[DwgDimensionToleranceTextVertical2["Top"] = 2] = "Top";
return DwgDimensionToleranceTextVertical2;
})(DwgDimensionToleranceTextVertical || {});
var DwgHatchSolidFill = /* @__PURE__ */ ((DwgHatchSolidFill2) => {
DwgHatchSolidFill2[DwgHatchSolidFill2["PatternFill"] = 0] = "PatternFill";
DwgHatchSolidFill2[DwgHatchSolidFill2["SolidFill"] = 1] = "SolidFill";
return DwgHatchSolidFill2;
})(DwgHatchSolidFill || {});
var DwgHatchAssociativity = /* @__PURE__ */ ((DwgHatchAssociativity2) => {
DwgHatchAssociativity2[DwgHatchAssociativity2["NonAssociative"] = 0] = "NonAssociative";
DwgHatchAssociativity2[DwgHatchAssociativity2["Associative"] = 1] = "Associative";
return DwgHatchAssociativity2;
})(DwgHatchAssociativity || {});
var DwgHatchStyle = /* @__PURE__ */ ((DwgHatchStyle2) => {
DwgHatchStyle2[DwgHatchStyle2["Normal"] = 0] = "Normal";
DwgHatchStyle2[DwgHatchStyle2["Outer"] = 1] = "Outer";
DwgHatchStyle2[DwgHatchStyle2["Ignore"] = 2] = "Ignore";
return DwgHatchStyle2;
})(DwgHatchStyle || {});
var DwgHatchPatternType = /* @__PURE__ */ ((DwgHatchPatternType2) => {
DwgHatchPatternType2[DwgHatchPatternType2["UserDefined"] = 0] = "UserDefined";
DwgHatchPatternType2[DwgHatchPatternType2["Predefined"] = 1] = "Predefined";
DwgHatchPatternType2[DwgHatchPatternType2["Custom"] = 2] = "Custom";
return DwgHatchPatternType2;
})(DwgHatchPatternType || {});
var DwgHatchBoundaryAnnotation = /* @__PURE__ */ ((DwgHatchBoundaryAnnotation2) => {
DwgHatchBoundaryAnnotation2[DwgHatchBoundaryAnnotation2["NotAnnotated"] = 0] = "NotAnnotated";
DwgHatchBoundaryAnnotation2[DwgHatchBoundaryAnnotation2["Annotated"] = 1] = "Annotated";
return DwgHatchBoundaryAnnotation2;
})(DwgHatchBoundaryAnnotation || {});
var DwgHatchGradientFlag = /* @__PURE__ */ ((DwgHatchGradientFlag2) => {
DwgHatchGradientFlag2[DwgHatchGradientFlag2["Solid"] = 0] = "Solid";
DwgHatchGradientFlag2[DwgHatchGradientFlag2["Gradient"] = 1] = "Gradient";
return DwgHatchGradientFlag2;
})(DwgHatchGradientFlag || {});
var DwgHatchGradientColorFlag = /* @__PURE__ */ ((DwgHatchGradientColorFlag2) => {
DwgHatchGradientColorFlag2[DwgHatchGradientColorFlag2["TwoColor"] = 0] = "TwoColor";
DwgHatchGradientColorFlag2[DwgHatchGradientColorFlag2["OneColor"] = 1] = "OneColor";
return DwgHatchGradientColorFlag2;
})(DwgHatchGradientColorFlag || {});
var DwgBoundaryPathTypeFlag = /* @__PURE__ */ ((DwgBoundaryPathTypeFlag2) => {
DwgBoundaryPathTypeFlag2[DwgBoundaryPathTypeFlag2["Default"] = 0] = "Default";
DwgBoundaryPathTypeFlag2[DwgBoundaryPathTypeFlag2["External"] = 1] = "External";
DwgBoundaryPathTypeFlag2[DwgBoundaryPathTypeFlag2["Polyline"] = 2] = "Polyline";
DwgBoundaryPathTypeFlag2[DwgBoundaryPathTypeFlag2["Derived"] = 4] = "Derived";
DwgBoundaryPathTypeFlag2[DwgBoundaryPathTypeFlag2["Textbox"] = 8] = "Textbox";
DwgBoundaryPathTypeFlag2[DwgBoundaryPathTypeFlag2["Outermost"] = 16] = "Outermost";
return DwgBoundaryPathTypeFlag2;
})(DwgBoundaryPathTypeFlag || {});
var DwgBoundaryPathEdgeType = /* @__PURE__ */ ((DwgBoundaryPathEdgeType2) => {
DwgBoundaryPathEdgeType2[DwgBoundaryPathEdgeType2["Line"] = 1] = "Line";
DwgBoundaryPathEdgeType2[DwgBoundaryPathEdgeType2["Circular"] = 2] = "Circular";
DwgBoundaryPathEdgeType2[DwgBoundaryPathEdgeType2["Elliptic"] = 3] = "Elliptic";
DwgBoundaryPathEdgeType2[DwgBoundaryPathEdgeType2["Spline"] = 4] = "Spline";
return DwgBoundaryPathEdgeType2;
})(DwgBoundaryPathEdgeType || {});
var DwgPolylineFlag = /* @__PURE__ */ ((DwgPolylineFlag2) => {
DwgPolylineFlag2[DwgPolylineFlag2["CLOSED_POLYLINE"] = 1] = "CLOSED_POLYLINE";
DwgPolylineFlag2[DwgPolylineFlag2["CURVE_FIT"] = 2] = "CURVE_FIT";
DwgPolylineFlag2[DwgPolylineFlag2["SPLINE_FIT"] = 4] = "SPLINE_FIT";
DwgPolylineFlag2[DwgPolylineFlag2["POLYLINE_3D"] = 8] = "POLYLINE_3D";
DwgPolylineFlag2[DwgPolylineFlag2["POLYGON_3D"] = 16] = "POLYGON_3D";
DwgPolylineFlag2[DwgPolylineFlag2["CLOSED_POLYGON"] = 32] = "CLOSED_POLYGON";
DwgPolylineFlag2[DwgPolylineFlag2["POLYFACE"] = 64] = "POLYFACE";
DwgPolylineFlag2[DwgPolylineFlag2["CONTINUOUS"] = 128] = "CONTINUOUS";
return DwgPolylineFlag2;
})(DwgPolylineFlag || {});
var DwgSmoothType = /* @__PURE__ */ ((DwgSmoothType2) => {
DwgSmoothType2[DwgSmoothType2["NONE"] = 0] = "NONE";
DwgSmoothType2[DwgSmoothType2["QUADRATIC"] = 5] = "QUADRATIC";
DwgSmoothType2[DwgSmoothType2["CUBIC"] = 6] = "CUBIC";
DwgSmoothType2[DwgSmoothType2["BEZIER"] = 8] = "BEZIER";
return DwgSmoothType2;
})(DwgSmoothType || {});
var DwgTextGenerationFlag = /* @__PURE__ */ ((DwgTextGenerationFlag2) => {
DwgTextGenerationFlag2[DwgTextGenerationFlag2["NONE"] = 0] = "NONE";
DwgTextGenerationFlag2[DwgTextGenerationFlag2["MIRRORED_X"] = 2] = "MIRRORED_X";
DwgTextGenerationFlag2[DwgTextGenerationFlag2["MIRRORED_Y"] = 4] = "MIRRORED_Y";
return DwgTextGenerationFlag2;
})(DwgTextGenerationFlag || {});
var DwgTextHorizontalAlign = /* @__PURE__ */ ((DwgTextHorizontalAlign2) => {
DwgTextHorizontalAlign2[DwgTextHorizontalAlign2["LEFT"] = 0] = "LEFT";
DwgTextHorizontalAlign2[DwgTextHorizontalAlign2["CENTER"] = 1] = "CENTER";
DwgTextHorizontalAlign2[DwgTextHorizontalAlign2["RIGHT"] = 2] = "RIGHT";
DwgTextHorizontalAlign2[DwgTextHorizontalAlign2["ALIGNED"] = 3] = "ALIGNED";
DwgTextHorizontalAlign2[DwgTextHorizontalAlign2["MIDDLE"] = 4] = "MIDDLE";
DwgTextHorizontalAlign2[DwgTextHorizontalAlign2["FIT"] = 5] = "FIT";
return DwgTextHorizontalAlign2;
})(DwgTextHorizontalAlign || {});
var DwgTextVerticalAlign = /* @__PURE__ */ ((DwgTextVerticalAlign2) => {
DwgTextVerticalAlign2[DwgTextVerticalAlign2["BASELINE"] = 0] = "BASELINE";
DwgTextVerticalAlign2[DwgTextVerticalAlign2["BOTTOM"] = 1] = "BOTTOM";
DwgTextVerticalAlign2[DwgTextVerticalAlign2["MIDDLE"] = 2] = "MIDDLE";
DwgTextVerticalAlign2[DwgTextVerticalAlign2["TOP"] = 3] = "TOP";
return DwgTextVerticalAlign2;
})(DwgTextVerticalAlign || {});
const HEADER_VARIABLES = Object.freeze([
"ACADMAINTVER",
"ACADVER",
"ANGBASE",
"ANGDIR",
"ATTMODE",
"AUNITS",
"AUPREC",
"CECOLOR",
"CELTSCALE",
"CELTYPE",
"CELWEIGHT",
"CEPSNID",
"CEPSNTYPE",
"CHAMFERA",
"CHAMFERB",
"CHAMFERC",
"CHAMFERD",
"CLAYER",
"CMLJUST",
"CMLSCALE",
"CMLSTYLE",
"CSHADOW",
"DIMADEC",
"DIMALT",
"DIMALTD",
"DIMALTF",
"DIMALTRND",
"DIMALTTD",
"DIMALTTZ",
"DIMALTU",
"DIMALTZ",
"DIMAPOST",
"DIMASO",
"DIMASSOC",
"DIMASZ",
"DIMATFIT",
"DIMAUNIT",
"DIMAZIN",
"DIMBLK",
"DIMBLK1",
"DIMBLK2",
"DIMCEN",
"DIMCLRD",
"DIMCLRE",
"DIMCLRT",
"DIMDEC",
"DIMDLE",
"DIMDLI",
"DIMDSEP",
"DIMEXE",
"DIMEXO",
"DIMFAC",
"DIMGAP",
"DIMJUST",
"DIMLDRBLK",
"DIMLFAC",
"DIMLIM",
"DIMLUNIT",
"DIMLWD",
"DIMLWE",
"DIMPOST",
"DIMRND",
"DIMSAH",
"DIMSCALE",
"DIMSD1",
"DIMSD2",
"DIMSE1",
"DIMSE2",
"DIMSHO",
"DIMSOXD",
"DIMSTYLE",
"DIMTAD",
"DIMTDEC",
"DIMTFAC",
"DIMTIH",
"DIMTIX",
"DIMTM",
"DIMTMOVE",
"DIMTOFL",
"DIMTOH",
"DIMTOL",
"DIMTOLJ",
"DIMTP",
"DIMTSZ",
"DIMTVP",
"DIMTXSTY",
"DIMTXT",
"DIMTZIN",
"DIMUPT",
"DIMZIN",
"DISPSILH",
"DRAGVS",
"DWGCODEPAGE",
"ELEVATION",
"ENDCAPS",
"EXTMAX",
"EXTMIN",
"EXTNAMES",
"FILLETRAD",
"FILLMODE",
"FINGERPRINTGUID",
"HALOGAP",
"HANDSEED",
"HIDETEXT",
"HYPERLINKBASE",
"INDEXCTL",
"INSBASE",
"INSUNITS",
"INTERFERECOLOR",
"INTERFEREOBJVS",
"INTERFEREVPVS",
"INTERSECTIONCOLOR",
"INTERSECTIONDISPLAY",
"JOINSTYLE",
"LIMCHECK",
"LIMMAX",
"LIMMIN",
"LTSCALE",
"LUNITS",
"LUPREC",
"LWDISPLAY",
"MAXACTVP",
"MEASUREMENT",
"MENU",
"MIRRTEXT",
"OBSCOLOR",
"OBSLTYPE",
"ORTHOMODE",
"PDMODE",
"PDSIZE",
"PELEVATION",
"PEXTMAX",
"PEXTMIN",
"PINSBASE",
"PLIMCHECK",
"PLIMMAX",
"PLIMMIN",
"PLINEGEN",
"PLINEWID",
"PROJECTNAME",
"PROXYGRAPHICS",
"PSLTSCALE",
"PSTYLEMODE",
"PSVPSCALE",
"PUCSBASE",
"PUCSNAME",
"PUCSORG",
"PUCSORGBACK",
"PUCSORGBOTTOM",
"PUCSORGFRONT",
"PUCSORGLEFT",
"PUCSORGRIGHT",
"PUCSORGTOP",
"PUCSORTHOREF",
"PUCSORTHOVIEW",
"PUCSXDIR",
"PUCSYDIR",
"QTEXTMODE",
"REGENMODE",
"SHADEDGE",
"SHADEDIF",
"SHADOWPLANELOCATION",
"SKETCHINC",
"SKPOLY",
"SORTENTS",
"SPLINESEGS",
"SPLINETYPE",
"SURFTAB1",
"SURFTAB2",
"SURFTYPE",
"SURFU",
"SURFV",
"TDCREATE",
"TDINDWG",
"TDUCREATE",
"TDUPDATE",
"TDUSRTIMER",
"TDUUPDATE",
"TEXTSIZE",
"TEXTSTYLE",
"THICKNESS",
"TILEMODE",
"TRACEWID",
"TREEDEPTH",
"UCSBASE",
"UCSNAME",
"UCSORG",
"UCSORGBACK",
"UCSORGBOTTOM",
"UCSORGFRONT",
"UCSORGLEFT",
"UCSORGRIGHT",
"UCSORGTOP",
"UCSORTHOREF",
"UCSORTHOVIEW",
"UCSXDIR",
"UCSYDIR",
"UNITMODE",
"USERI1",
"USERI2",
"USERI3",
"USERI4",
"USERI5",
"USERR1",
"USERR2",
"USERR3",
"USERR4",
"USERR5",
"USRTIMER",
"VERSIONGUID",
"VISRETAIN",
"WORLDVIEW",
"XCLIPFRAME",
"XEDIT"
]);
const dwgVersions = [
{
type: "invalid",
hdr: "INVALI",
description: "No DWG",
version: 0
},
{
type: "r1.1",
hdr: "MC0.0",
description: "MicroCAD Release 1.1",
version: 0
},
{
type: "r1.2",
hdr: "AC1.2",
description: "AutoCAD Release 1.2",
version: 0
},
{
type: "r1.3",
hdr: "AC1.3",
description: "AutoCAD Release 1.3",
version: 1
},
{
type: "r1.4",
hdr: "AC1.40",
description: "AutoCAD Release 1.4",
version: 2
},
{ type: "r2.0b", hdr: "AC1.50", description: "AutoCAD 2.0 beta", version: 3 },
// not seen
{
type: "r2.0",
hdr: "AC1.50",
description: "AutoCAD Release 2.0",
version: 4
},
{
type: "r2.10",
hdr: "AC2.10",
description: "AutoCAD Release 2.10",
version: 5
},
{
type: "r2.21",
hdr: "AC2.21",
description: "AutoCAD Release 2.21",
version: 6
},
{
type: "r2.22",
hdr: "AC2.22",
description: "AutoCAD Release 2.22",
version: 7
},
{
type: "r2.4",
hdr: "AC1001",
description: "AutoCAD Release 2.4",
version: 8
},
{
type: "r2.5",
hdr: "AC1002",
description: "AutoCAD Release 2.5",
version: 9
},
{
type: "r2.6",
hdr: "AC1003",
description: "AutoCAD Release 2.6",
version: 10
},
{ type: "r9", hdr: "AC1004", description: "AutoCAD Release 9", version: 11 },
{
type: "r9c1",
hdr: "AC1005",
description: "AutoCAD Release 9c1",
version: 12
},
{
type: "r10",
hdr: "AC1006",
description: "AutoCAD Release 10",
version: 13
},
{
type: "r11b1",
hdr: "AC1007",
description: "AutoCAD 11 beta 1",
version: 14
},
{
type: "r11b2",
hdr: "AC1008",
description: "AutoCAD 11 beta 2",
version: 15
},
{
type: "r11",
hdr: "AC1009",
description: "AutoCAD Release 11/12 (LT R1/R2)",
version: 16
},
{
type: "r13b1",
hdr: "AC1010",
description: "AutoCAD pre-R13 a",
version: 17
},
{
type: "r13b2",
hdr: "AC1011",
description: "AutoCAD pre-R13 b",
version: 18
},
{
type: "r13",
hdr: "AC1012",
description: "AutoCAD Release 13",
version: 19
},
{
type: "r13c3",
hdr: "AC1013",
description: "AutoCAD Release 13c3",
version: 20
},
{
type: "r14",
hdr: "AC1014",
description: "AutoCAD Release 14",
version: 21
},
{
type: "r2000b",
hdr: "AC1500",
description: "AutoCAD 2000 beta",
version: 22
},
{
type: "r2000",
hdr: "AC1015",
description: "AutoCAD Release 2000",
version: 23
},
{
type: "r2000i",
hdr: "AC1016",
description: "AutoCAD Release 2000i",
version: 23
},
{
type: "r2002",
hdr: "AC1017",
description: "AutoCAD Release 2002",
version: 23
},
{
type: "r2004a",
hdr: "AC402a",
description: "AutoCAD 2004 alpha a",
version: 24
},
{
type: "r2004b",
hdr: "AC402b",
description: "AutoCAD 2004 alpha b",
version: 24
},
{
type: "r2004c",
hdr: "AC1018",
description: "AutoCAD 2004 beta",
version: 24
},
// (includes versions AC1019/0x19 and AC1020/0x1a)
{
type: "r2004",
hdr: "AC1018",
description: "AutoCAD Release 2004",
version: 25
},
//{ type: "r2005", hdr: "AC1019", description: "AutoCAD 2005", version: 0x19 }, // not seen
//{ type: "r2006", hdr: "AC1020", description: "AutoCAD 2006", version: 0x19 }, // not seen
{
type: "r2007a",
hdr: "AC701a",
description: "AutoCAD 2007 alpha",
version: 26
},
{
type: "r2007b",
hdr: "AC1021",
description: "AutoCAD 2007 beta",
version: 26
},
{
type: "r2007",
hdr: "AC1021",
description: "AutoCAD Release 2007",
version: 27
},
//{ type: "r2008", hdr: "AC1022", description: "AutoCAD 2008", version: 0x1b }, // not seen
//{ type: "r2009", hdr: "AC1023", description: "AutoCAD 2009", version: 0x1b }, // not seen
{
type: "r2010b",
hdr: "AC1024",
description: "AutoCAD 2010 beta",
version: 28
},
{
type: "r2010",
hdr: "AC1024",
description: "AutoCAD Release 2010",
version: 29
},
//{ type: "r2011", hdr: "AC1025", description: "AutoCAD 2011", version: 0x1d }, // not seen
//{ type: "r2012", hdr: "AC1026", description: "AutoCAD 2012", version: 0x1e }, // not seen
{
type: "r2013b",
hdr: "AC1027",
description: "AutoCAD 2013 beta",
version: 30
},
{
type: "r2013",
hdr: "AC1027",
description: "AutoCAD Release 2013",
version: 31
},
//{ type: "r2014", hdr: "AC1028", description: "AutoCAD 2014", version: 0x1f }, // not seen
//{ type: "r2015", hdr: "AC1029", description: "AutoCAD 2015", version: 0x1f }, // not seen
//{ type: "r2016", hdr: "AC1030", description: "AutoCAD 2016", version: 0x1f }, // not seen
//{ type: "r2017", hdr: "AC1031", description: "AutoCAD 2017", version: 0x20 }, // not seen
{
type: "r2018b",
hdr: "AC1032",
description: "AutoCAD 2018 beta",
version: 32
},
{
type: "r2018",
hdr: "AC1032",
description: "AutoCAD Release 2018",
version: 33
},
//{ type: "r2019", "AC1033", description: "AutoCAD Release 2019", version: 0x22 }, // not seen
//{ type: "r2020", "AC1034", description: "AutoCAD Release 2020", version: 0x23 }, // not seen
//{ type: "r2021", "AC1035", description: "AutoCAD Release 2021", version: 0x23 }, // not seen
{
type: "r2022b",
hdr: "AC103-4",
description: "AutoCAD 2022 beta",
version: 36
},
{ type: "r>2022", hdr: "", description: "AutoCAD Release >2022", version: 0 }
];
var createModule = (() => {
var _scriptName = import.meta.url;
return async function(moduleArg = {}) {
var moduleRtn;
var Module = moduleArg;
var readyPromiseResolve, readyPromiseReject;
var readyPromise = new Promise((resolve, reject) => {
readyPromiseResolve = resolve;
readyPromiseReject = reject;
});
var ENVIRONMENT_IS_WEB = typeof window == "object";
var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != "undefined";
var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
if (ENVIRONMENT_IS_NODE) {
const { createRequire } = await import("module");
var require2 = createRequire(import.meta.url);
}
var moduleOverrides = Object.assign({}, Module);
var thisProgram = "./this.program";
var scriptDirectory = "";
function locateFile(path) {
if (Module["locateFile"]) {
return Module["locateFile"](path, scriptDirectory);
}
return scriptDirectory + path;
}
var readAsync, readBinary;
if (ENVIRONMENT_IS_NODE) {
var fs = require2("fs");
var nodePath = require2("path");
if (!import.meta.url.startsWith("data:")) {
scriptDirectory = nodePath.dirname(require2("url").fileURLToPath(import.meta.url)) + "/";
}
readBinary = (filename) => {
filename = isFileURI(filename) ? new URL(filename) : filename;
var ret = fs.readFileSync(filename);
return ret;
};
readAsync = async (filename, binary = true) => {
filename = isFileURI(filename) ? new URL(filename) : filename;
var ret = fs.readFileSync(filename, binary ? void 0 : "utf8");
return ret;
};
if (!Module["thisProgram"] && process.argv.length > 1) {
thisProgram = process.argv[1].replace(/\\/g, "/");
}
process.argv.slice(2);
} else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
if (ENVIRONMENT_IS_WORKER) {
scriptDirectory = self.location.href;
} else if (typeof document != "undefined" && document.currentScript) {
scriptDirectory = document.currentScript.src;
}
if (_scriptName) {
scriptDirectory = _scriptName;
}
if (scriptDirectory.startsWith("blob:")) {
scriptDirectory = "";
} else {
scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
}
{
if (ENVIRONMENT_IS_WORKER) {
readBinary = (url) => {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, false);
xhr.responseType = "arraybuffer";
xhr.send(null);
return new Uint8Array(xhr.response);
};
}
readAsync = async (url) => {
if (isFileURI(url)) {
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.responseType = "arraybuffer";
xhr.onload = () => {
if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
resolve(xhr.response);
return;
}
reject(xhr.status);
};
xhr.onerror = reject;
xhr.send(null);
});
}
var response = await fetch(url, { credentials: "same-origin" });
if (response.ok) {
return response.arrayBuffer();
}
throw new Error(response.status + " : " + response.url);
};
}
} else ;
var out = Module["print"] || console.log.bind(console);
var err = Module["printErr"] || console.error.bind(console);
Object.assign(Module, moduleOverrides);
moduleOverrides = null;
if (Module["arguments"]) Module["arguments"];
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
var wasmBinary = Module["wasmBinary"];
var wasmMemory;
var ABORT = false;
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAP64, HEAPU64, HEAPF64;
var isFileURI = (filename) => filename.startsWith("file://");
function updateMemoryViews() {
var b = wasmMemory.buffer;
Module["HEAP8"] = HEAP8 = new Int8Array(b);
Module["HEAP16"] = HEAP16 = new Int16Array(b);
Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
Module["HEAPU16"] = HEAPU16 = new Uint16Array(b);
Module["HEAP32"] = HEAP32 = new Int32Array(b);
Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
Module["HEAPF64"] = HEAPF64 = new Float64Array(b);
Module["HEAP64"] = HEAP64 = new BigInt64Array(b);
Module["HEAPU64"] = HEAPU64 = new BigUint64Array(b);
}
function preRun() {
if (Module["preRun"]) {
if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];
while (Module["preRun"].length) {
addOnPreRun(Module["preRun"].shift());
}
}
callRuntimeCallbacks(onPreRuns);
}
function initRuntime() {
if (!Module["noFSInit"] && !FS.initialized) FS.init();
wasmExports["__wasm_call_ctors"]();
FS.ignorePermissions = false;
}
function postRun() {
if (Module["postRun"]) {
if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];
while (Module["postRun"].length) {
addOnPostRun(Module["postRun"].shift());
}
}
callRuntimeCallbacks(onPostRuns);
}
var runDependencies = 0;
var dependenciesFulfilled = null;
function addRunDependency(id) {
var _a;
runDependencies++;
(_a = Module["monitorRunDependencies"]) == null ? void 0 : _a.call(Module, runDependencies);
}
function removeRunDependency(id) {
var _a;
runDependencies--;
(_a = Module["monitorRunDependencies"]) == null ? void 0 : _a.call(Module, runDependencies);
if (runDependencies == 0) {
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback();
}
}
}
function abort(what) {
var _a;
(_a = Module["onAbort"]) == null ? void 0 : _a.call(Module, what);
what = "Aborted(" + what + ")";
err(what);
ABORT = true;
what += ". Build with -sASSERTIONS for more info.";
var e = new WebAssembly.RuntimeError(what);
readyPromiseReject(e);
throw e;
}
var wasmBinaryFile;
function findWasmBinary() {
if (Module["locateFile"]) {
return locateFile("libredwg-web.wasm");
}
return new URL("data:application/wasm;base64,AGFzbQEAAAABvwRKYAF/AX9gBH9/f38Bf2ABfwBgAn9/AX9gAn9/AGADf39/AX9gA39/fwBgBn9/f39/fwF/YAR/f39/AGAFf39/f38Bf2AAAGABfwF8YAV/f39/fwBgBn9/f39/fwBgAX8BfmAIf39/f39/f38Bf2AHf39/f39/fwF/YAJ/fgF/YAV/fn5+fgBgAAF/YAR/f35/AX9gAn9/AXxgB39/f39/f38AYAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAJ/fgBgA39+fwF+YAR/fn5/AGAFf39+f38AYAN/f34Bf2ADf398AX9gAn9/AX5gA39/fwF8YAZ/fH9/f38Bf2ADf39/AX5gCn9/f39/f39/f38Bf2AEf39/fwF+YAx/f39/f39/f39/f38Bf2AFf39/f3wBf2AGf39/f35+AX9gC39/f39/f39/f39/AX9gB39/f39/fn4Bf2APf39/f39/f39/f39/f39/AGAEf39/fwF8YAV/f39/fwF8YA1/f39/f39/f39/f39/AGAFf39/fn4AYAABfGAEf35/fwF/YAJ+fwBgBX9/f35/AX9gA39/fABgBH9/f3wBf2ABfAF/YAJ/fAF8YAV/f35+fgF/YAR/f39+AX9gAX4Bf2ACf34BfmADf35+AGABfAF8YAABfmAEf39/fgF+YAJ8fwF8YAJ+fwF/YAR/fn5+AGADf39+AGAEfn5+fgF/YAN+fn4Bf2ACf3wAYAJ+fgF8YAJ+fgF9YAN/f38BfQL2CS8DZW52EV9lbXZhbF9uZXdfb2JqZWN0ABMDZW52El9lbXZhbF9uZXdfY3N0cmluZwAAA2VudhNfZW12YWxfc2V0X3Byb3BlcnR5AAYDZW52DV9lbXZhbF9kZWNyZWYAAgNlbnYRX2VtdmFsX3Rha2VfdmFsdWUAAwNlbnYRX2VtdmFsX2dldF9nbG9iYWwAAANlbnYYX2VtdmFsX2dldF9tZXRob2RfY2FsbGVyAAUDZW52C19lbXZhbF9jYWxsACwDZW52Fl9lbXZhbF9ydW5fZGVzdHJ1Y3RvcnMAAgNlbnYNX2VtdmFsX2luY3JlZgACA2VudhJfZW12YWxfY2FsbF9tZXRob2QALQNlbnYQX2VtdmFsX25ld19hcnJheQATA2VudhlfZW1iaW5kX3JlZ2lzdGVyX2Z1bmN0aW9uABgDZW52C19fY3hhX3Rocm93AAYDZW52FV9lbWJpbmRfcmVnaXN0ZXJfZW51bQAIA2VudhtfZW1iaW5kX3JlZ2lzdGVyX2VudW1fdmFsdWUABgNlbnYWX2VtYmluZF9yZWdpc3Rlcl9jbGFzcwAuA2Vudh9fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX3Byb3BlcnR5ABkDZW52DV9fYXNzZXJ0X2ZhaWwACANlbnYVX2VtYmluZF9yZWdpc3Rlcl92b2lkAAQDZW52FV9lbWJpbmRfcmVnaXN0ZXJfYm9vbAAIA2VudhhfZW1iaW5kX3JlZ2lzdGVyX2ludGVnZXIADANlbnYXX2VtYmluZF9yZWdpc3Rlcl9iaWdpbnQALwNlbnYWX2VtYmluZF9yZWdpc3Rlcl9mbG9hdAAGA2VudhtfZW1iaW5kX3JlZ2lzdGVyX3N0ZF9zdHJpbmcABANlbnYcX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZwAGA2VudhZfZW1iaW5kX3JlZ2lzdGVyX2VtdmFsAAIDZW52HF9lbWJpbmRfcmVnaXN0ZXJfbWVtb3J5X3ZpZXcABgNlbnYTZW1zY3JpcHRlbl9kYXRlX25vdwAwA2VudhBfX3N5c2NhbGxfb3BlbmF0AAEDZW52EV9fc3lzY2FsbF9mY250bDY0AAUDZW52D19fc3lzY2FsbF9pb2N0bAAFFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfd3JpdGUAARZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3JlYWQAARZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX2Nsb3NlAAADZW52EV9fc3lzY2FsbF9mc3RhdDY0AAMDZW52EF9fc3lzY2FsbF9zdGF0NjQAAwNlbnYUX19zeXNjYWxsX25ld2ZzdGF0YXQAAQNlbnYRX19zeXNjYWxsX2xzdGF0NjQAAxZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxB2ZkX3NlZWsAMQNlbnYJX3R6c2V0X2pzAAgDZW52Cl9ta3RpbWVfanMADgNlbnYKX2dtdGltZV9qcwAyA2VudhZlbXNjcmlwdGVuX3Jlc2l6ZV9oZWFwAAADZW52CV9hYm9ydF9qcwAKFndhc2lfc25hcHNob3RfcHJldmll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VHlwZU5hbWUAqggZX2Vtc2NyaXB0ZW5fc3RhY2tfcmVzdG9yZQCCDRdfZW1zY3JpcHRlbl9zdGFja19hbGxvYwCDDRxlbXNjcmlwdGVuX3N0YWNrX2dldF9jdXJyZW50AIQNCfsIAQBBAQvfBIABODmCAUFCQ0Q7PD0+P0A6RUZHSElKS0yEAU2EAU5QT1GFAVJTVFVWV1hZWltcXV5fYGFQYmNkZWZnaIkBaWqEAWtshAFtbm9wcXJzhAF0dU12d3iMAXmNAXp7jgF8fYwBfoANf4EBgwGGAYcBiAGKAYsBnwGPAZABoAGRAZcBmAGhAZkBogGaAaMBmwGcAaQBnQGeAaUBpgGpAasBrAGuAaoBrwGwAZUCsQGyAbMBtAG1AYIBtgGWArcBlwK4AZgCuQGZAroBuwGXArwBvQGaAr4BmwK/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4BnALfAeAB4QHiAeMB5AHlAeYB5wHoAYwB6QGNAeoB6wGfAewBmgLtAYQBggadAu4B7wHwAZ4C8QGeAvIB8wGOAfQBhQH1AZ8B9gH3AfgB+QGdApAGpAH6AYQBjgaEAY8G+wGfAvwB/QGZAv4B/wGAAqACoQKiAqMCpAKhAqICowKZAoECpQKCApkCgwKlAoQChQKWAoYChwKIAqYCiQKnAooCmQKLAqUCjAKZAo0CpQKOAo8CkAKRAowBkgKTApQC7ALtAoQGmwasCLQItQi2CLcI0AjaCPYI9wj6CIQJngmfCaEJogmjCaUJ0AjQCKYJqgmrCa0JrgmtCbsJvQm8Cb4J5wnoCeQJ6QneCd8J4QnqCesJ7AntCYcKiAqJCcIC7QumDKgMqwytDK8MsQyzDLUMtwy5DLsMvQy/DMEM5gvoC+wL+gv7C/wL/Qv+C/8L9guADIEMggzbC4YMhwyJDIsMjAzQCI4MjwyXDJgMmwycDJ0MnwyiDJkMmgzOCc8JngygDKMM3AGXCpcK7gvvC/AL8QvyC/ML9Av1C/YL9wv4C/kLlwqDDIMMhAywCLAIhQywCJcKkAyRDIQM0AjQCJIMkwyXCpAMkQyEDNAI0AiSDJMMlwqUDJUMhAzQCNAIlgyTDJcKlAyVDIQM0AjQCJYMkwzcAZcKmAqZCpoK3AGX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