@mlightcad/data-model 1.1.2 → 1.1.4
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/data-model.js +5501 -1021
- package/dist/data-model.umd.cjs +2 -2
- package/lib/base/AcDbHostApplicationServices.d.ts +72 -6
- package/lib/base/AcDbHostApplicationServices.d.ts.map +1 -1
- package/lib/base/AcDbHostApplicationServices.js +71 -7
- package/lib/base/AcDbHostApplicationServices.js.map +1 -1
- package/lib/base/AcDbObject.d.ts +160 -25
- package/lib/base/AcDbObject.d.ts.map +1 -1
- package/lib/base/AcDbObject.js +149 -25
- package/lib/base/AcDbObject.js.map +1 -1
- package/lib/converter/AcDbBatchProcessing.d.ts +112 -10
- package/lib/converter/AcDbBatchProcessing.d.ts.map +1 -1
- package/lib/converter/AcDbBatchProcessing.js +110 -11
- package/lib/converter/AcDbBatchProcessing.js.map +1 -1
- package/lib/converter/AcDbDxfConverter.d.ts +224 -6
- package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
- package/lib/converter/AcDbDxfConverter.js +224 -6
- package/lib/converter/AcDbDxfConverter.js.map +1 -1
- package/lib/converter/AcDbDxfParseWorker.d.ts +16 -0
- package/lib/converter/AcDbDxfParseWorker.d.ts.map +1 -1
- package/lib/converter/AcDbDxfParseWorker.js +16 -0
- package/lib/converter/AcDbDxfParseWorker.js.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.d.ts +118 -3
- package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.js +118 -3
- package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
- package/lib/converter/AcDbObjectConverter.d.ts +52 -0
- package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
- package/lib/converter/AcDbObjectConverter.js +52 -0
- package/lib/converter/AcDbObjectConverter.js.map +1 -1
- package/lib/database/AcDbBlockTable.d.ts +35 -3
- package/lib/database/AcDbBlockTable.d.ts.map +1 -1
- package/lib/database/AcDbBlockTable.js +35 -3
- package/lib/database/AcDbBlockTable.js.map +1 -1
- package/lib/database/AcDbBlockTableRecord.d.ts +98 -15
- package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbBlockTableRecord.js +96 -15
- package/lib/database/AcDbBlockTableRecord.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts +312 -36
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +237 -46
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/AcDbDatabaseConverter.d.ts +79 -14
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverter.js +46 -13
- package/lib/database/AcDbDatabaseConverter.js.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.d.ts +97 -15
- package/lib/database/AcDbDatabaseConverterManager.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.js +90 -15
- package/lib/database/AcDbDatabaseConverterManager.js.map +1 -1
- package/lib/database/AcDbDimStyleTable.d.ts +22 -2
- package/lib/database/AcDbDimStyleTable.d.ts.map +1 -1
- package/lib/database/AcDbDimStyleTable.js +22 -2
- package/lib/database/AcDbDimStyleTable.js.map +1 -1
- package/lib/database/AcDbDimStyleTableRecord.d.ts +115 -0
- package/lib/database/AcDbDimStyleTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbDimStyleTableRecord.js +44 -0
- package/lib/database/AcDbDimStyleTableRecord.js.map +1 -1
- package/lib/database/AcDbLayerTable.d.ts +39 -2
- package/lib/database/AcDbLayerTable.d.ts.map +1 -1
- package/lib/database/AcDbLayerTable.js +39 -2
- package/lib/database/AcDbLayerTable.js.map +1 -1
- package/lib/database/AcDbLayerTableRecord.d.ts +198 -18
- package/lib/database/AcDbLayerTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbLayerTableRecord.js +182 -19
- package/lib/database/AcDbLayerTableRecord.js.map +1 -1
- package/lib/database/AcDbLinetypeTable.d.ts +21 -2
- package/lib/database/AcDbLinetypeTable.d.ts.map +1 -1
- package/lib/database/AcDbLinetypeTable.js +21 -2
- package/lib/database/AcDbLinetypeTable.js.map +1 -1
- package/lib/database/AcDbLinetypeTableRecord.d.ts +46 -14
- package/lib/database/AcDbLinetypeTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbLinetypeTableRecord.js +46 -14
- package/lib/database/AcDbLinetypeTableRecord.js.map +1 -1
- package/lib/database/AcDbSymbolTable.d.ts +134 -29
- package/lib/database/AcDbSymbolTable.d.ts.map +1 -1
- package/lib/database/AcDbSymbolTable.js +133 -37
- package/lib/database/AcDbSymbolTable.js.map +1 -1
- package/lib/database/AcDbSymbolTableRecord.d.ts +47 -2
- package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbSymbolTableRecord.js +40 -2
- package/lib/database/AcDbSymbolTableRecord.js.map +1 -1
- package/lib/database/AcDbTextStyleTable.d.ts +36 -2
- package/lib/database/AcDbTextStyleTable.d.ts.map +1 -1
- package/lib/database/AcDbTextStyleTable.js +36 -2
- package/lib/database/AcDbTextStyleTable.js.map +1 -1
- package/lib/database/AcDbTextStyleTableRecord.d.ts +129 -17
- package/lib/database/AcDbTextStyleTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbTextStyleTableRecord.js +127 -17
- package/lib/database/AcDbTextStyleTableRecord.js.map +1 -1
- package/lib/database/AcDbViewportTable.d.ts +22 -2
- package/lib/database/AcDbViewportTable.d.ts.map +1 -1
- package/lib/database/AcDbViewportTable.js +22 -2
- package/lib/database/AcDbViewportTable.js.map +1 -1
- package/lib/database/AcDbViewportTableRecord.d.ts +74 -9
- package/lib/database/AcDbViewportTableRecord.d.ts.map +1 -1
- package/lib/database/AcDbViewportTableRecord.js +65 -9
- package/lib/database/AcDbViewportTableRecord.js.map +1 -1
- package/lib/entity/AcDbArc.d.ts +202 -17
- package/lib/entity/AcDbArc.d.ts.map +1 -1
- package/lib/entity/AcDbArc.js +201 -17
- package/lib/entity/AcDbArc.js.map +1 -1
- package/lib/entity/AcDbBlockReference.d.ts +147 -13
- package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
- package/lib/entity/AcDbBlockReference.js +142 -13
- package/lib/entity/AcDbBlockReference.js.map +1 -1
- package/lib/entity/AcDbCircle.d.ts +145 -12
- package/lib/entity/AcDbCircle.d.ts.map +1 -1
- package/lib/entity/AcDbCircle.js +144 -12
- package/lib/entity/AcDbCircle.js.map +1 -1
- package/lib/entity/AcDbCurve.d.ts +33 -2
- package/lib/entity/AcDbCurve.d.ts.map +1 -1
- package/lib/entity/AcDbCurve.js +17 -0
- package/lib/entity/AcDbCurve.js.map +1 -1
- package/lib/entity/AcDbEllipse.d.ts +168 -16
- package/lib/entity/AcDbEllipse.d.ts.map +1 -1
- package/lib/entity/AcDbEllipse.js +167 -16
- package/lib/entity/AcDbEllipse.js.map +1 -1
- package/lib/entity/AcDbEntity.d.ts +299 -35
- package/lib/entity/AcDbEntity.d.ts.map +1 -1
- package/lib/entity/AcDbEntity.js +275 -27
- package/lib/entity/AcDbEntity.js.map +1 -1
- package/lib/entity/AcDbHatch.d.ts +60 -4
- package/lib/entity/AcDbHatch.d.ts.map +1 -1
- package/lib/entity/AcDbHatch.js +52 -4
- package/lib/entity/AcDbHatch.js.map +1 -1
- package/lib/entity/AcDbLeader.d.ts +157 -10
- package/lib/entity/AcDbLeader.d.ts.map +1 -1
- package/lib/entity/AcDbLeader.js +149 -10
- package/lib/entity/AcDbLeader.js.map +1 -1
- package/lib/entity/AcDbLine.d.ts +154 -13
- package/lib/entity/AcDbLine.d.ts.map +1 -1
- package/lib/entity/AcDbLine.js +153 -13
- package/lib/entity/AcDbLine.js.map +1 -1
- package/lib/entity/AcDbMText.d.ts +127 -11
- package/lib/entity/AcDbMText.d.ts.map +1 -1
- package/lib/entity/AcDbMText.js +112 -11
- package/lib/entity/AcDbMText.js.map +1 -1
- package/lib/entity/AcDbPoint.d.ts +86 -7
- package/lib/entity/AcDbPoint.d.ts.map +1 -1
- package/lib/entity/AcDbPoint.js +85 -7
- package/lib/entity/AcDbPoint.js.map +1 -1
- package/lib/entity/AcDbPolyline.d.ts +172 -25
- package/lib/entity/AcDbPolyline.d.ts.map +1 -1
- package/lib/entity/AcDbPolyline.js +170 -25
- package/lib/entity/AcDbPolyline.js.map +1 -1
- package/lib/entity/AcDbRasterImage.d.ts +75 -31
- package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
- package/lib/entity/AcDbRasterImage.js +60 -31
- package/lib/entity/AcDbRasterImage.js.map +1 -1
- package/lib/entity/AcDbRay.d.ts +115 -9
- package/lib/entity/AcDbRay.d.ts.map +1 -1
- package/lib/entity/AcDbRay.js +113 -9
- package/lib/entity/AcDbRay.js.map +1 -1
- package/lib/entity/AcDbSpline.d.ts +106 -14
- package/lib/entity/AcDbSpline.d.ts.map +1 -1
- package/lib/entity/AcDbSpline.js +67 -4
- package/lib/entity/AcDbSpline.js.map +1 -1
- package/lib/entity/AcDbTable.d.ts +161 -44
- package/lib/entity/AcDbTable.d.ts.map +1 -1
- package/lib/entity/AcDbTable.js +135 -44
- package/lib/entity/AcDbTable.js.map +1 -1
- package/lib/entity/AcDbText.d.ts +298 -25
- package/lib/entity/AcDbText.d.ts.map +1 -1
- package/lib/entity/AcDbText.js +288 -25
- package/lib/entity/AcDbText.js.map +1 -1
- package/lib/entity/AcDbTrace.d.ts +150 -23
- package/lib/entity/AcDbTrace.d.ts.map +1 -1
- package/lib/entity/AcDbTrace.js +147 -23
- package/lib/entity/AcDbTrace.js.map +1 -1
- package/lib/entity/AcDbViewport.d.ts +122 -9
- package/lib/entity/AcDbViewport.d.ts.map +1 -1
- package/lib/entity/AcDbViewport.js +122 -9
- package/lib/entity/AcDbViewport.js.map +1 -1
- package/lib/entity/AcDbWipeout.d.ts +29 -1
- package/lib/entity/AcDbWipeout.d.ts.map +1 -1
- package/lib/entity/AcDbWipeout.js +29 -1
- package/lib/entity/AcDbWipeout.js.map +1 -1
- package/lib/entity/AcDbXline.d.ts +116 -9
- package/lib/entity/AcDbXline.d.ts.map +1 -1
- package/lib/entity/AcDbXline.js +114 -9
- package/lib/entity/AcDbXline.js.map +1 -1
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts +56 -12
- package/lib/entity/dimension/AcDb3PointAngularDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDb3PointAngularDimension.js +56 -12
- package/lib/entity/dimension/AcDb3PointAngularDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts +158 -17
- package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbAlignedDimension.js +153 -17
- package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbArcDimension.d.ts +58 -12
- package/lib/entity/dimension/AcDbArcDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbArcDimension.js +58 -12
- package/lib/entity/dimension/AcDbArcDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts +99 -25
- package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbDiametricDimension.js +99 -25
- package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbDimension.d.ts +108 -14
- package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbDimension.js +99 -14
- package/lib/entity/dimension/AcDbDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts +48 -16
- package/lib/entity/dimension/AcDbOrdinateDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbOrdinateDimension.js +48 -16
- package/lib/entity/dimension/AcDbOrdinateDimension.js.map +1 -1
- package/lib/entity/dimension/AcDbRadialDimension.d.ts +167 -24
- package/lib/entity/dimension/AcDbRadialDimension.d.ts.map +1 -1
- package/lib/entity/dimension/AcDbRadialDimension.js +162 -24
- package/lib/entity/dimension/AcDbRadialDimension.js.map +1 -1
- package/lib/misc/AcDbAngleUnits.d.ts +12 -0
- package/lib/misc/AcDbAngleUnits.d.ts.map +1 -1
- package/lib/misc/AcDbAngleUnits.js +12 -0
- package/lib/misc/AcDbAngleUnits.js.map +1 -1
- package/lib/misc/AcDbConstants.d.ts +20 -0
- package/lib/misc/AcDbConstants.d.ts.map +1 -1
- package/lib/misc/AcDbConstants.js +20 -0
- package/lib/misc/AcDbConstants.js.map +1 -1
- package/lib/misc/AcDbDimArrowType.d.ts +24 -21
- package/lib/misc/AcDbDimArrowType.d.ts.map +1 -1
- package/lib/misc/AcDbDimArrowType.js +24 -21
- package/lib/misc/AcDbDimArrowType.js.map +1 -1
- package/lib/misc/AcDbObjectIterator.d.ts +42 -3
- package/lib/misc/AcDbObjectIterator.d.ts.map +1 -1
- package/lib/misc/AcDbObjectIterator.js +42 -3
- package/lib/misc/AcDbObjectIterator.js.map +1 -1
- package/lib/misc/AcDbOsnapMode.d.ts +18 -10
- package/lib/misc/AcDbOsnapMode.d.ts.map +1 -1
- package/lib/misc/AcDbOsnapMode.js +18 -10
- package/lib/misc/AcDbOsnapMode.js.map +1 -1
- package/lib/misc/AcDbRenderingCache.d.ts +107 -29
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
- package/lib/misc/AcDbRenderingCache.js +105 -29
- package/lib/misc/AcDbRenderingCache.js.map +1 -1
- package/lib/misc/AcDbUnitsValue.d.ts +58 -8
- package/lib/misc/AcDbUnitsValue.d.ts.map +1 -1
- package/lib/misc/AcDbUnitsValue.js +58 -8
- package/lib/misc/AcDbUnitsValue.js.map +1 -1
- package/lib/object/AcDbDictionary.d.ts +128 -30
- package/lib/object/AcDbDictionary.d.ts.map +1 -1
- package/lib/object/AcDbDictionary.js +126 -30
- package/lib/object/AcDbDictionary.js.map +1 -1
- package/lib/object/AcDbRasterImageDef.d.ts +38 -9
- package/lib/object/AcDbRasterImageDef.d.ts.map +1 -1
- package/lib/object/AcDbRasterImageDef.js +37 -9
- package/lib/object/AcDbRasterImageDef.js.map +1 -1
- package/lib/object/layout/AcDbLayout.d.ts +152 -13
- package/lib/object/layout/AcDbLayout.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayout.js +146 -13
- package/lib/object/layout/AcDbLayout.js.map +1 -1
- package/lib/object/layout/AcDbLayoutDictionary.d.ts +35 -7
- package/lib/object/layout/AcDbLayoutDictionary.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayoutDictionary.js +35 -7
- package/lib/object/layout/AcDbLayoutDictionary.js.map +1 -1
- package/lib/object/layout/AcDbLayoutManager.d.ts +103 -31
- package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -1
- package/lib/object/layout/AcDbLayoutManager.js +98 -31
- package/lib/object/layout/AcDbLayoutManager.js.map +1 -1
- package/package.json +4 -4
|
@@ -62,29 +62,48 @@ import { AcDbLinetypeTable } from './AcDbLinetypeTable';
|
|
|
62
62
|
import { AcDbTextStyleTable } from './AcDbTextStyleTable';
|
|
63
63
|
import { AcDbViewportTable } from './AcDbViewportTable';
|
|
64
64
|
/**
|
|
65
|
-
* The AcDbDatabase class represents
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
65
|
+
* The AcDbDatabase class represents an AutoCAD drawing file.
|
|
66
|
+
*
|
|
67
|
+
* Each AcDbDatabase object contains the various header variables, symbol tables,
|
|
68
|
+
* table records, entities, and objects that make up the drawing. The AcDbDatabase
|
|
69
|
+
* class has member functions to allow access to all the symbol tables, to read
|
|
70
|
+
* and write to DWG files, to get or set database defaults, to execute various
|
|
71
|
+
* database-level operations, and to get or set all header variables.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const database = new AcDbDatabase();
|
|
76
|
+
* await database.read(dxfData, { readOnly: true });
|
|
77
|
+
* const entities = database.tables.blockTable.modelSpace.entities;
|
|
78
|
+
* ```
|
|
70
79
|
*/
|
|
71
80
|
var AcDbDatabase = /** @class */ (function (_super) {
|
|
72
81
|
__extends(AcDbDatabase, _super);
|
|
73
82
|
/**
|
|
74
|
-
*
|
|
75
|
-
* If buildDefaultDrawing == true, then the new AcDbDatabase object contains the minimum necessary
|
|
76
|
-
* for a complete database. If buildDefaultDrawing == false, then the new AcDbDatabase object is
|
|
77
|
-
* completely empty.
|
|
83
|
+
* Creates a new AcDbDatabase instance.
|
|
78
84
|
*/
|
|
79
85
|
function AcDbDatabase() {
|
|
80
86
|
var _this = _super.call(this) || this;
|
|
87
|
+
/**
|
|
88
|
+
* Events that can be triggered by the database.
|
|
89
|
+
*
|
|
90
|
+
* These events allow applications to respond to various database operations
|
|
91
|
+
* such as entity modifications, layer changes, and progress updates.
|
|
92
|
+
*/
|
|
81
93
|
_this.events = {
|
|
94
|
+
/** Fired when an entity is appended to the database */
|
|
82
95
|
entityAppended: new AcCmEventManager(),
|
|
96
|
+
/** Fired when an entity is modified in the database */
|
|
83
97
|
entityModified: new AcCmEventManager(),
|
|
98
|
+
/** Fired when a layer is appended to the database */
|
|
84
99
|
layerAppended: new AcCmEventManager(),
|
|
100
|
+
/** Fired when a layer is modified in the database */
|
|
85
101
|
layerModified: new AcCmEventManager(),
|
|
102
|
+
/** Fired when a layer is erased from the database */
|
|
86
103
|
layerErased: new AcCmEventManager(),
|
|
104
|
+
/** Fired during database opening operations to report progress */
|
|
87
105
|
openProgress: new AcCmEventManager(),
|
|
106
|
+
/** Fired when a header system variable is changed */
|
|
88
107
|
headerSysVarChanged: new AcCmEventManager()
|
|
89
108
|
};
|
|
90
109
|
_this._angBase = 0;
|
|
@@ -113,7 +132,16 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
113
132
|
}
|
|
114
133
|
Object.defineProperty(AcDbDatabase.prototype, "tables", {
|
|
115
134
|
/**
|
|
116
|
-
*
|
|
135
|
+
* Gets all tables in this drawing database.
|
|
136
|
+
*
|
|
137
|
+
* @returns Object containing all the symbol tables in the database
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const tables = database.tables;
|
|
142
|
+
* const layers = tables.layerTable;
|
|
143
|
+
* const blocks = tables.blockTable;
|
|
144
|
+
* ```
|
|
117
145
|
*/
|
|
118
146
|
get: function () {
|
|
119
147
|
return this._tables;
|
|
@@ -123,7 +151,15 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
123
151
|
});
|
|
124
152
|
Object.defineProperty(AcDbDatabase.prototype, "dictionaries", {
|
|
125
153
|
/**
|
|
126
|
-
*
|
|
154
|
+
* Gets all named object dictionaries in this drawing database.
|
|
155
|
+
*
|
|
156
|
+
* @returns Object containing all the dictionaries in the database
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* const dictionaries = database.dictionaries;
|
|
161
|
+
* const layouts = dictionaries.layouts;
|
|
162
|
+
* ```
|
|
127
163
|
*/
|
|
128
164
|
get: function () {
|
|
129
165
|
return this._dictionaries;
|
|
@@ -133,7 +169,16 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
133
169
|
});
|
|
134
170
|
Object.defineProperty(AcDbDatabase.prototype, "currentSpaceId", {
|
|
135
171
|
/**
|
|
136
|
-
*
|
|
172
|
+
* Gets the object ID of the AcDbBlockTableRecord of the current space.
|
|
173
|
+
*
|
|
174
|
+
* The current space can be either model space or paper space.
|
|
175
|
+
*
|
|
176
|
+
* @returns The object ID of the current space
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* const currentSpaceId = database.currentSpaceId;
|
|
181
|
+
* ```
|
|
137
182
|
*/
|
|
138
183
|
get: function () {
|
|
139
184
|
if (!this._currentSpace) {
|
|
@@ -141,6 +186,17 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
141
186
|
}
|
|
142
187
|
return this._currentSpace.objectId;
|
|
143
188
|
},
|
|
189
|
+
/**
|
|
190
|
+
* Sets the current space by object ID.
|
|
191
|
+
*
|
|
192
|
+
* @param value - The object ID of the block table record to set as current space
|
|
193
|
+
* @throws {Error} When the specified block table record ID doesn't exist
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```typescript
|
|
197
|
+
* database.currentSpaceId = 'some-block-record-id';
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
144
200
|
set: function (value) {
|
|
145
201
|
var currentSpace = this.tables.blockTable.getIdAt(value);
|
|
146
202
|
if (currentSpace == null) {
|
|
@@ -155,11 +211,30 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
155
211
|
});
|
|
156
212
|
Object.defineProperty(AcDbDatabase.prototype, "aunits", {
|
|
157
213
|
/**
|
|
158
|
-
*
|
|
214
|
+
* Gets the angle units for the database.
|
|
215
|
+
*
|
|
216
|
+
* This is the current AUNITS value for the database.
|
|
217
|
+
*
|
|
218
|
+
* @returns The angle units value
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* const angleUnits = database.aunits;
|
|
223
|
+
* ```
|
|
159
224
|
*/
|
|
160
225
|
get: function () {
|
|
161
226
|
return this._aunits;
|
|
162
227
|
},
|
|
228
|
+
/**
|
|
229
|
+
* Sets the angle units for the database.
|
|
230
|
+
*
|
|
231
|
+
* @param value - The new angle units value
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```typescript
|
|
235
|
+
* database.aunits = AcDbAngleUnits.DecimalDegrees;
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
163
238
|
set: function (value) {
|
|
164
239
|
this._aunits = value || 0;
|
|
165
240
|
this.triggerHeaderSysVarChangedEvent('aunits');
|
|
@@ -169,12 +244,30 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
169
244
|
});
|
|
170
245
|
Object.defineProperty(AcDbDatabase.prototype, "insunits", {
|
|
171
246
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
247
|
+
* Gets the drawing-units value for automatic scaling of blocks, images, or xrefs.
|
|
248
|
+
*
|
|
249
|
+
* This is the current INSUNITS value for the database.
|
|
250
|
+
*
|
|
251
|
+
* @returns The insertion units value
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* ```typescript
|
|
255
|
+
* const insertionUnits = database.insunits;
|
|
256
|
+
* ```
|
|
174
257
|
*/
|
|
175
258
|
get: function () {
|
|
176
259
|
return this._insunits;
|
|
177
260
|
},
|
|
261
|
+
/**
|
|
262
|
+
* Sets the drawing-units value for automatic scaling.
|
|
263
|
+
*
|
|
264
|
+
* @param value - The new insertion units value
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```typescript
|
|
268
|
+
* database.insunits = AcDbUnitsValue.Millimeters;
|
|
269
|
+
* ```
|
|
270
|
+
*/
|
|
178
271
|
set: function (value) {
|
|
179
272
|
// TODO: Default value is 1 (imperial) or 4 (metric)
|
|
180
273
|
this._insunits = value || 4;
|
|
@@ -185,11 +278,28 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
185
278
|
});
|
|
186
279
|
Object.defineProperty(AcDbDatabase.prototype, "ltscale", {
|
|
187
280
|
/**
|
|
188
|
-
*
|
|
281
|
+
* Gets the line type scale factor.
|
|
282
|
+
*
|
|
283
|
+
* @returns The line type scale factor
|
|
284
|
+
*
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
* const lineTypeScale = database.ltscale;
|
|
288
|
+
* ```
|
|
189
289
|
*/
|
|
190
290
|
get: function () {
|
|
191
291
|
return this._ltscale;
|
|
192
292
|
},
|
|
293
|
+
/**
|
|
294
|
+
* Sets the line type scale factor.
|
|
295
|
+
*
|
|
296
|
+
* @param value - The new line type scale factor
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* ```typescript
|
|
300
|
+
* database.ltscale = 2.0;
|
|
301
|
+
* ```
|
|
302
|
+
*/
|
|
193
303
|
set: function (value) {
|
|
194
304
|
this._ltscale = value || 1;
|
|
195
305
|
this.triggerHeaderSysVarChangedEvent('ltscale');
|
|
@@ -199,11 +309,28 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
199
309
|
});
|
|
200
310
|
Object.defineProperty(AcDbDatabase.prototype, "cecolor", {
|
|
201
311
|
/**
|
|
202
|
-
*
|
|
312
|
+
* Gets the color of new objects as they are created.
|
|
313
|
+
*
|
|
314
|
+
* @returns The current entity color
|
|
315
|
+
*
|
|
316
|
+
* @example
|
|
317
|
+
* ```typescript
|
|
318
|
+
* const currentColor = database.cecolor;
|
|
319
|
+
* ```
|
|
203
320
|
*/
|
|
204
321
|
get: function () {
|
|
205
322
|
return this._cecolor;
|
|
206
323
|
},
|
|
324
|
+
/**
|
|
325
|
+
* Sets the color of new objects as they are created.
|
|
326
|
+
*
|
|
327
|
+
* @param value - The new current entity color
|
|
328
|
+
*
|
|
329
|
+
* @example
|
|
330
|
+
* ```typescript
|
|
331
|
+
* database.cecolor = new AcCmColor(0xFF0000);
|
|
332
|
+
* ```
|
|
333
|
+
*/
|
|
207
334
|
set: function (value) {
|
|
208
335
|
this._cecolor = value || 0;
|
|
209
336
|
this.triggerHeaderSysVarChangedEvent('cecolor');
|
|
@@ -289,10 +416,28 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
289
416
|
configurable: true
|
|
290
417
|
});
|
|
291
418
|
/**
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
*
|
|
419
|
+
* Reads drawing data from a string or ArrayBuffer.
|
|
420
|
+
*
|
|
421
|
+
* This method parses the provided data and populates the database with
|
|
422
|
+
* the resulting entities, tables, and objects. The method supports
|
|
423
|
+
* both DXF and DWG file formats.
|
|
424
|
+
*
|
|
425
|
+
* @param data - The drawing data as a string or ArrayBuffer
|
|
426
|
+
* - For DXF files: Pass a string containing the DXF content
|
|
427
|
+
* - For DWG files: Pass an ArrayBuffer instance containing the binary DWG data
|
|
428
|
+
* @param options - Options for reading the database
|
|
429
|
+
* @param fileType - The type of file being read (defaults to DXF)
|
|
430
|
+
*
|
|
431
|
+
* @example
|
|
432
|
+
* ```typescript
|
|
433
|
+
* // Reading a DXF file (string)
|
|
434
|
+
* const database = new AcDbDatabase();
|
|
435
|
+
* await database.read(dxfString, { readOnly: true }, AcDbFileType.DXF);
|
|
436
|
+
*
|
|
437
|
+
* // Reading a DWG file (ArrayBuffer)
|
|
438
|
+
* const database = new AcDbDatabase();
|
|
439
|
+
* await database.read(dwgArrayBuffer, { readOnly: true }, AcDbFileType.DWG);
|
|
440
|
+
* ```
|
|
296
441
|
*/
|
|
297
442
|
AcDbDatabase.prototype.read = function (data_1, options_1) {
|
|
298
443
|
return __awaiter(this, arguments, void 0, function (data, options, fileType) {
|
|
@@ -314,7 +459,8 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
314
459
|
this.events.openProgress.dispatch({
|
|
315
460
|
database: this,
|
|
316
461
|
percentage: percentage,
|
|
317
|
-
stage:
|
|
462
|
+
stage: 'CONVERSION',
|
|
463
|
+
subStage: stage,
|
|
318
464
|
stageStatus: stageStatus
|
|
319
465
|
});
|
|
320
466
|
if (!(options &&
|
|
@@ -340,48 +486,93 @@ var AcDbDatabase = /** @class */ (function (_super) {
|
|
|
340
486
|
});
|
|
341
487
|
};
|
|
342
488
|
/**
|
|
343
|
-
* Read AutoCAD DXF drawing specified by the URL into the database object.
|
|
344
|
-
*
|
|
489
|
+
* Read AutoCAD DXF or DWG drawing specified by the URL into the database object.
|
|
490
|
+
* The method automatically detects the file type based on the URL extension:
|
|
491
|
+
* - .dxf files are read as text using readAsText()
|
|
492
|
+
* - .dwg files are read as binary data using readAsArrayBuffer()
|
|
493
|
+
* @param url Input the URL linked to one AutoCAD DXF or DWG file
|
|
345
494
|
* @param options Input options to read drawing data
|
|
346
495
|
*/
|
|
347
496
|
AcDbDatabase.prototype.openUri = function (url, options) {
|
|
348
497
|
return __awaiter(this, void 0, void 0, function () {
|
|
349
|
-
var response,
|
|
350
|
-
var _this = this;
|
|
498
|
+
var response, fileExtension, content, content;
|
|
351
499
|
return __generator(this, function (_a) {
|
|
352
500
|
switch (_a.label) {
|
|
353
|
-
case 0:
|
|
501
|
+
case 0:
|
|
502
|
+
this.events.openProgress.dispatch({
|
|
503
|
+
database: this,
|
|
504
|
+
percentage: 0,
|
|
505
|
+
stage: 'FETCH_FILE',
|
|
506
|
+
stageStatus: 'START'
|
|
507
|
+
});
|
|
508
|
+
return [4 /*yield*/, fetch(url)];
|
|
354
509
|
case 1:
|
|
355
510
|
response = _a.sent();
|
|
356
|
-
|
|
511
|
+
this.events.openProgress.dispatch({
|
|
512
|
+
database: this,
|
|
513
|
+
percentage: 100,
|
|
514
|
+
stage: 'FETCH_FILE',
|
|
515
|
+
stageStatus: 'END'
|
|
516
|
+
});
|
|
517
|
+
if (!response.ok) {
|
|
518
|
+
throw new Error("Failed to fetch file '".concat(url, "' with HTTP status codee '").concat(response.status, "'!"));
|
|
519
|
+
}
|
|
520
|
+
fileExtension = url.toLowerCase().split('.').pop();
|
|
521
|
+
if (!(fileExtension === 'dwg')) return [3 /*break*/, 4];
|
|
522
|
+
return [4 /*yield*/, response.arrayBuffer()];
|
|
357
523
|
case 2:
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
524
|
+
content = _a.sent();
|
|
525
|
+
return [4 /*yield*/, this.read(content, options, AcDbFileType.DWG)];
|
|
526
|
+
case 3:
|
|
527
|
+
_a.sent();
|
|
528
|
+
return [3 /*break*/, 7];
|
|
529
|
+
case 4: return [4 /*yield*/, response.text()];
|
|
530
|
+
case 5:
|
|
531
|
+
content = _a.sent();
|
|
532
|
+
return [4 /*yield*/, this.read(content, options, AcDbFileType.DXF)];
|
|
533
|
+
case 6:
|
|
534
|
+
_a.sent();
|
|
535
|
+
_a.label = 7;
|
|
536
|
+
case 7: return [2 /*return*/];
|
|
368
537
|
}
|
|
369
538
|
});
|
|
370
539
|
});
|
|
371
540
|
};
|
|
372
541
|
/**
|
|
373
|
-
*
|
|
542
|
+
* Clears all data from the database.
|
|
543
|
+
*
|
|
544
|
+
* This method removes all entities, tables, and objects from the database,
|
|
545
|
+
* effectively resetting it to an empty state.
|
|
546
|
+
*
|
|
547
|
+
* @example
|
|
548
|
+
* ```typescript
|
|
549
|
+
* database.clear();
|
|
550
|
+
* ```
|
|
374
551
|
*/
|
|
375
552
|
AcDbDatabase.prototype.clear = function () {
|
|
376
|
-
|
|
377
|
-
this.
|
|
378
|
-
this.
|
|
379
|
-
this.
|
|
380
|
-
this.
|
|
381
|
-
this.
|
|
382
|
-
this.
|
|
553
|
+
// Clear all tables and dictionaries
|
|
554
|
+
this._tables.blockTable.removeAll();
|
|
555
|
+
this._tables.dimStyleTable.removeAll();
|
|
556
|
+
this._tables.linetypeTable.removeAll();
|
|
557
|
+
this._tables.textStyleTable.removeAll();
|
|
558
|
+
this._tables.layerTable.removeAll();
|
|
559
|
+
this._tables.viewportTable.removeAll();
|
|
560
|
+
this._dictionaries.layouts.removeAll();
|
|
383
561
|
this._currentSpace = undefined;
|
|
384
562
|
};
|
|
563
|
+
/**
|
|
564
|
+
* Triggers a header system variable changed event.
|
|
565
|
+
*
|
|
566
|
+
* This method is called internally when header system variables
|
|
567
|
+
* are modified to notify listeners of the change.
|
|
568
|
+
*
|
|
569
|
+
* @param sysVarName - The name of the system variable that changed
|
|
570
|
+
*
|
|
571
|
+
* @example
|
|
572
|
+
* ```typescript
|
|
573
|
+
* database.triggerHeaderSysVarChangedEvent('aunits');
|
|
574
|
+
* ```
|
|
575
|
+
*/
|
|
385
576
|
AcDbDatabase.prototype.triggerHeaderSysVarChangedEvent = function (sysVarName) {
|
|
386
577
|
this.events.headerSysVarChanged.dispatch({
|
|
387
578
|
database: this,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDatabase.js","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAgB,MAAM,SAAS,CAAA;AAClD,OAAO,EACL,4BAA4B,EAC5B,YAAY,EACb,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,EACL,cAAc,EAEd,oBAAoB,EAErB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"AcDbDatabase.js","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { AcDbDatabase } from './AcDbDatabase';
|
|
2
|
+
/**
|
|
3
|
+
* Represents the different stages of DXF/DWG file conversion.
|
|
4
|
+
*
|
|
5
|
+
* These stages define the order and types of operations performed
|
|
6
|
+
* during the conversion of a DXF or DWG file into an AcDbDatabase.
|
|
7
|
+
*/
|
|
2
8
|
export type AcDbConversionStage =
|
|
3
9
|
/**
|
|
4
10
|
* Start DXF/DWG file conversion
|
|
5
11
|
*/
|
|
6
12
|
'START'
|
|
7
13
|
/**
|
|
8
|
-
*
|
|
14
|
+
* Parsing DXF/DWG file
|
|
9
15
|
*/
|
|
10
16
|
| 'PARSE'
|
|
11
17
|
/**
|
|
@@ -56,9 +62,36 @@ export type AcDbConversionStage =
|
|
|
56
62
|
* Finish file conversion
|
|
57
63
|
*/
|
|
58
64
|
| 'END';
|
|
59
|
-
export type AcDbConversionStageStatus = 'START' | 'END' | 'IN-PROGRESS';
|
|
60
65
|
/**
|
|
61
|
-
*
|
|
66
|
+
* Represents the status of a stage.
|
|
67
|
+
*/
|
|
68
|
+
export type AcDbStageStatus = 'START' | 'END' | 'IN-PROGRESS';
|
|
69
|
+
/**
|
|
70
|
+
* Callback function to update progress when parsing one file.
|
|
71
|
+
*
|
|
72
|
+
* This callback is called during the conversion process to provide
|
|
73
|
+
* progress updates and stage information.
|
|
74
|
+
*
|
|
75
|
+
* @param percentage - Finish percentage (0-100)
|
|
76
|
+
* @param stage - Name of the current stage
|
|
77
|
+
* @param stageStatus - Status of the current stage
|
|
78
|
+
* @param data - Store data associated with the current stage. Its meaning varies by stage:
|
|
79
|
+
* - 'FONT' stage: fonts needed by this drawing
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* const progressCallback: AcDbConversionProgressCallback = async (
|
|
84
|
+
* percentage,
|
|
85
|
+
* stage,
|
|
86
|
+
* stageStatus,
|
|
87
|
+
* data
|
|
88
|
+
* ) => {
|
|
89
|
+
* console.log(`Progress: ${percentage}% - Stage: ${stage} - Status: ${stageStatus}`);
|
|
90
|
+
* if (stage === 'FONT' && data) {
|
|
91
|
+
* console.log('Fonts needed:', data);
|
|
92
|
+
* }
|
|
93
|
+
* };
|
|
94
|
+
* ```
|
|
62
95
|
*/
|
|
63
96
|
export type AcDbConversionProgressCallback = (
|
|
64
97
|
/**
|
|
@@ -72,7 +105,7 @@ stage: AcDbConversionStage,
|
|
|
72
105
|
/**
|
|
73
106
|
* Status of the current stage.
|
|
74
107
|
*/
|
|
75
|
-
stageStatus:
|
|
108
|
+
stageStatus: AcDbStageStatus,
|
|
76
109
|
/**
|
|
77
110
|
* Store data associated with the current stage. Its meaning of different stages are as follows.
|
|
78
111
|
* - 'FONT' stage: fonts needed by this drawing
|
|
@@ -80,25 +113,57 @@ stageStatus: AcDbConversionStageStatus,
|
|
|
80
113
|
* Note: For now, 'FONT' stage uses this field only.
|
|
81
114
|
*/
|
|
82
115
|
data?: unknown) => Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* Interface defining performance data for database conversion.
|
|
118
|
+
*/
|
|
83
119
|
export interface AcDbConvertDatabasePerformanceData {
|
|
84
120
|
[key: string]: number;
|
|
85
121
|
total: number;
|
|
86
122
|
}
|
|
87
123
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
124
|
+
* Abstract base class for database converters.
|
|
125
|
+
*
|
|
126
|
+
* This class provides the foundation for converting various file formats
|
|
127
|
+
* (such as DXF, DWG) into AcDbDatabase objects. It handles the conversion
|
|
128
|
+
* process in stages and provides progress tracking capabilities.
|
|
129
|
+
*
|
|
130
|
+
* @template TModel - The type of the parsed model data
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* class MyConverter extends AcDbDatabaseConverter<MyModel> {
|
|
135
|
+
* protected parse(data: string | ArrayBuffer): MyModel {
|
|
136
|
+
* // Implementation for parsing data
|
|
137
|
+
* }
|
|
138
|
+
*
|
|
139
|
+
* protected processEntities(model: MyModel, db: AcDbDatabase) {
|
|
140
|
+
* // Implementation for processing entities
|
|
141
|
+
* }
|
|
142
|
+
* }
|
|
143
|
+
* ```
|
|
90
144
|
*/
|
|
91
145
|
export declare abstract class AcDbDatabaseConverter<TModel = unknown> {
|
|
146
|
+
/** Optional progress callback for tracking conversion progress */
|
|
92
147
|
progress?: AcDbConversionProgressCallback;
|
|
93
148
|
/**
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
* @param
|
|
101
|
-
*
|
|
149
|
+
* Reads and converts data into an AcDbDatabase.
|
|
150
|
+
*
|
|
151
|
+
* This method orchestrates the entire conversion process, including
|
|
152
|
+
* parsing, processing various components (fonts, linetypes, styles, etc.),
|
|
153
|
+
* and building the final database.
|
|
154
|
+
*
|
|
155
|
+
* @param data - The input data to convert (string or ArrayBuffer)
|
|
156
|
+
* @param db - The database to populate with converted data
|
|
157
|
+
* @param minimumChunkSize - Minimum chunk size for batch processing
|
|
158
|
+
* @param progress - Optional progress callback
|
|
159
|
+
* @returns Promise that resolves when conversion is complete
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* const converter = new MyConverter();
|
|
164
|
+
* const database = new AcDbDatabase();
|
|
165
|
+
* await converter.read(dxfData, database, 100, progressCallback);
|
|
166
|
+
* ```
|
|
102
167
|
*/
|
|
103
168
|
read(data: string | ArrayBuffer, db: AcDbDatabase, minimumChunkSize: number, progress?: AcDbConversionProgressCallback): Promise<void>;
|
|
104
169
|
protected onFinished(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbDatabaseConverter.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,mBAAmB;AAC7B;;GAEG;AACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,MAAM;AACR;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,UAAU;AACZ;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,cAAc;AAChB;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,KAAK,CAAA;AAET,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"AcDbDatabaseConverter.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabaseConverter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB;AAC7B;;GAEG;AACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,MAAM;AACR;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,UAAU;AACZ;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,cAAc;AAChB;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,OAAO;AACT;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,QAAQ;AACV;;GAEG;GACD,KAAK,CAAA;AAET;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,GAAG,aAAa,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,8BAA8B,GAAG;AAC3C;;GAEG;AACH,UAAU,EAAE,MAAM;AAClB;;GAEG;AACH,KAAK,EAAE,mBAAmB;AAC1B;;GAEG;AACH,WAAW,EAAE,eAAe;AAC5B;;;;;GAKG;AACH,IAAI,CAAC,EAAE,OAAO,KACX,OAAO,CAAC,IAAI,CAAC,CAAA;AA2BlB;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AA+DD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,8BAAsB,qBAAqB,CAAC,MAAM,GAAG,OAAO;IAC1D,kEAAkE;IAClE,QAAQ,CAAC,EAAE,8BAA8B,CAAA;IAEzC;;;;;;;;;;;;;;;;;;;OAmBG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,EAAE,EAAE,YAAY,EAChB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,CAAC,EAAE,8BAA8B;IAuO3C,SAAS,CAAC,UAAU;IAQpB,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM;IAIpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAI5C,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI5D,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI7D,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI5D,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAIzD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI5D,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAIzD,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI9D,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAI1D,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY;IAIzD,SAAS,CAAC,eAAe,CACvB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,YAAY,EACjB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAC9B,SAAS,CAAC,EAAE,8BAA8B;CAI7C"}
|