@koala123/aoi-db 1.0.7 → 1.1.5

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.
@@ -39,6 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  };
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
41
  exports.AppService = void 0;
42
+ const ref_napi_1 = __importDefault(require("ref-napi"));
42
43
  const node_util_1 = require("node:util");
43
44
  const fs = __importStar(require("node:fs/promises"));
44
45
  const path = __importStar(require("path"));
@@ -47,6 +48,8 @@ const common_1 = require("@nestjs/common");
47
48
  const event_emitter_1 = require("@nestjs/event-emitter");
48
49
  const app_utils_1 = require("./app.utils");
49
50
  const app_library_1 = require("./app.library");
51
+ /** db最大的特征数 */
52
+ const MAX_FEATURE_COUNT = 16384;
50
53
  let AppService = class AppService {
51
54
  constructor(config) {
52
55
  this.KLConfig = Object.assign({
@@ -62,8 +65,8 @@ let AppService = class AppService {
62
65
  featureHeight: 256,
63
66
  deadproofArea: 64,
64
67
  }, config);
65
- this.UtilsLib = (0, app_library_1.shmem)(this.KLConfig.dllPath);
66
68
  this.KLDBLib = (0, app_library_1.anomaly)(this.KLConfig.dllPath);
69
+ this.WaferLib = (0, app_library_1.wafer)(this.KLConfig.dllPath);
67
70
  }
68
71
  onModuleInit() {
69
72
  this.KLConfig.loadEngine && this.initEngine();
@@ -142,16 +145,28 @@ let AppService = class AppService {
142
145
  /**
143
146
  * 删除db文件
144
147
  * @param db db路径
148
+ * @param deleteSamples 是否删除对应sample目录
145
149
  * @returns 操作是否成功
146
150
  */
147
- async delete(db) {
151
+ async delete(db, deleteSamples) {
148
152
  const bool = await this.release(db);
149
153
  try {
150
154
  const dbPath = path.join(this.KLConfig.dbPath, db);
151
155
  await fs.access(dbPath);
152
- return fs.unlink(dbPath).then(() => true);
156
+ await fs.unlink(dbPath);
157
+ }
158
+ catch (error) {
159
+ console.error(error);
160
+ }
161
+ try {
162
+ if (deleteSamples) {
163
+ const samplePath = path.join(this.KLConfig.samplePath, db);
164
+ await fs.rmdir(samplePath, { recursive: true });
165
+ }
166
+ }
167
+ catch (error) {
168
+ console.error(error);
153
169
  }
154
- catch (error) { }
155
170
  return bool;
156
171
  }
157
172
  /**
@@ -215,7 +230,9 @@ let AppService = class AppService {
215
230
  const bufferScores = kl_buffer_1.default.alloc(length * 4);
216
231
  const bufferTypes = kl_buffer_1.default.alloc(length * 4);
217
232
  const bufferIds = kl_buffer_1.default.alloc(length * 4);
218
- await (0, node_util_1.promisify)(this.KLDBLib.query.async)(db, length, bufferFeatures, bufferScores.ptr, bufferTypes.ptr, bufferIds.ptr);
233
+ const bool = await (0, node_util_1.promisify)(this.KLDBLib.query.async)(db, length, bufferFeatures, bufferScores.ptr, bufferTypes.ptr, bufferIds.ptr);
234
+ if (!bool)
235
+ return Promise.reject('查询失败');
219
236
  return { scores: bufferScores.floatArray, ids: bufferIds.intArray, types: bufferTypes.intArray };
220
237
  }
221
238
  /**
@@ -223,25 +240,28 @@ let AppService = class AppService {
223
240
  * 提取特征
224
241
  */
225
242
  async featureExtract(data) {
226
- const { src, channel, width, height, dist, x, y } = data;
243
+ const { src, dist, x, y } = data;
227
244
  // 外环切区域不能用于注册,注册无效区域(防呆区域) deadproofArea = 64
228
245
  const { featureHeight: h, featureWidth: w, deadproofArea } = this.KLConfig;
229
246
  if (!src || !dist)
230
247
  return Promise.reject();
248
+ const { buffer, channel, width, height } = await this.readImage(src);
231
249
  if (x < deadproofArea || x > width - deadproofArea || y < deadproofArea || y > height - deadproofArea) {
232
250
  return Promise.reject('注册区域无效!');
233
251
  }
234
- const buffer = await this.readImage(src, width, height, channel);
235
252
  const cropBuffer = Buffer.alloc(w * h * channel);
236
253
  // [srcROI.x, srcROI.y, srcROI.w, srcROI.h, distROI.x, distROI.y, distROI.w, distROI.h, cx/特征在小图中的位置, cy]
237
- const roi = (0, app_utils_1.correctExtractROI)(x, y, w, h, width, height);
238
- await (0, node_util_1.promisify)(this.UtilsLib.copy.async)(buffer, height, width, roi.ptr, cropBuffer, h, w, roi.intPtr[4], channel);
254
+ const [sx, sy, cxy] = (0, app_utils_1.correctExtractROI)(x, y, w, h, width, height);
255
+ await this.pasteImage(buffer, width, height, channel, sx, sy, cropBuffer, w, h);
256
+ this.freeImg(buffer);
239
257
  const bufferFeature = Buffer.alloc(this.KLConfig.featureDIM * 4);
240
- await (0, node_util_1.promisify)(this.KLDBLib.featureExtract.async)(cropBuffer, h, w, channel, roi.intPtr[8], bufferFeature);
258
+ const bool = await (0, node_util_1.promisify)(this.KLDBLib.featureExtract.async)(cropBuffer, h, w, channel, cxy.ptr, bufferFeature);
259
+ if (!bool)
260
+ return Promise.reject('提取特征失败:featureExtract返回值false');
241
261
  await this.writeImage(dist, w, h, channel, cropBuffer, true);
242
262
  return {
243
263
  feature: bufferFeature.toString('base64'),
244
- position: [x - 8, y - 8, 24, 24, roi.int[0], roi.int[1]],
264
+ position: [x - 8, y - 8, 24, 24, sx, sy],
245
265
  };
246
266
  }
247
267
  /**
@@ -249,15 +269,17 @@ let AppService = class AppService {
249
269
  * 此操作会向db写入特征数据与生成对应的sample小图
250
270
  */
251
271
  async coreLearn(data) {
252
- const KLConfig = this.KLConfig;
253
- const { src, srcMask, width = KLConfig.width, height = KLConfig.height, channel = KLConfig.channel, db, threshold, sampleDir, normalId = 0, learnUntilNone = false, featureCount = 1024, } = data;
272
+ const { src, srcMask, db, threshold, sampleDir, normalId = 0, learnUntilNone = false, featureCount = 1024, } = data;
254
273
  if (!db || !sampleDir)
255
274
  return;
256
275
  await this.load(db);
257
- const buffer = await this.readImage(src, width, height, channel);
276
+ const image = await this.readImage(src);
277
+ const { buffer, height, width, channel } = image;
258
278
  let bufferMask = null;
259
- if (srcMask)
260
- bufferMask = await this.readImage(srcMask, width, height, 1);
279
+ if (srcMask) {
280
+ const maskImage = await this.readImage(srcMask);
281
+ bufferMask = maskImage.buffer;
282
+ }
261
283
  // 提取的特征
262
284
  const features = [];
263
285
  const bufferFeatures = kl_buffer_1.default.alloc(featureCount * 3 * 4);
@@ -270,16 +292,50 @@ let AppService = class AppService {
270
292
  }
271
293
  } while (learnUntilNone && num === featureCount);
272
294
  this.cropSamples(buffer, width, height, channel, sampleDir, features);
295
+ bufferMask && this.freeImg(bufferMask);
273
296
  return features;
274
297
  }
298
+ /**
299
+ * 提取当前db中的NG特征以及OK特征,以NG特征为基础,重新将ok特征进行好品建模
300
+ */
301
+ async refreshCoreLearn(data) {
302
+ const { db, threshold, normalId } = data;
303
+ const count = await (0, node_util_1.promisify)(this.KLDBLib.refreshCoreLearn.async)(db, threshold, normalId || 0);
304
+ // 偶发读取db文件失败,怀疑算法端refreshCoreLearn异步返回
305
+ await (0, app_utils_1.sleep)(100);
306
+ // 清理被移除的特征对应的sample小图
307
+ await this.formatSamples(db);
308
+ return count;
309
+ }
310
+ /**
311
+ * 传递多个baseDB, 提取其中的NG特征为一个db,同时获取ng特征对应的id编号。 id按照传入的baseDB排列
312
+ */
313
+ async mergeMDbNgFeature(data) {
314
+ const baseDBs = [];
315
+ const normalIds = [];
316
+ data.baseDB.forEach(element => {
317
+ // TODO 待按db更新时间降序排序(合并策略:合并过程中遇到重复id就跳过,即以先出现的ng特征为准)
318
+ baseDBs.push(element.name);
319
+ normalIds.push(element.normalId);
320
+ });
321
+ const normalIdBuffer = kl_buffer_1.default.alloc(normalIds.length * 4);
322
+ normalIdBuffer.intArray = normalIds;
323
+ // chunkLen、chunkNum、ngId
324
+ const outBuffer = kl_buffer_1.default.alloc((1 + baseDBs.length + MAX_FEATURE_COUNT) * 4);
325
+ const count = await (0, node_util_1.promisify)(this.KLDBLib.mergeMDbNgFeature.async)(baseDBs.join(','), data.newDB, normalIdBuffer.ptr, outBuffer.intPtr[baseDBs.length + 1], outBuffer.intPtr[1], outBuffer.ptr);
326
+ for (let i = 0, db; db = baseDBs[i]; i++) {
327
+ await (0, app_utils_1.copyDBSamples)(db, data.newDB, this.KLConfig.samplePath, normalIds[i]);
328
+ }
329
+ return count;
330
+ }
275
331
  /**
276
332
  * 裁剪sample小图
277
333
  */
278
334
  async cropSamplesBySrc(param) {
279
- const { src, channel, width, height, sampleDir, data } = param;
335
+ const { src, sampleDir, data } = param;
280
336
  if (!src || !sampleDir || !data.length)
281
337
  return false;
282
- const buffer = await this.readImage(src, width, height, channel);
338
+ const { buffer, width, height, channel } = await this.readImage(src);
283
339
  await this.cropSamples(buffer, width, height, channel, sampleDir, data);
284
340
  return true;
285
341
  }
@@ -290,12 +346,14 @@ let AppService = class AppService {
290
346
  const { featureHeight: w, featureWidth: h } = this.KLConfig;
291
347
  sampleDir = path.normalize(sampleDir + '/');
292
348
  await fs.mkdir(sampleDir, { recursive: true });
293
- for (let i = 0, item; item = data[i]; i++) {
294
- const cropBuffer = Buffer.alloc(w * h * channel);
295
- const cropROI = (0, app_utils_1.calcuCopyROI)(item.x, item.y, w, h, width, height);
296
- (0, node_util_1.promisify)(this.UtilsLib.copy.async)(buffer, height, width, cropROI.ptr, cropBuffer, h, w, cropROI.intPtr[4], channel);
297
- this.writeImage(sampleDir + item.id + ".png", w, h, channel, cropBuffer);
298
- }
349
+ const cropBuffers = data.map(() => {
350
+ return Buffer.alloc(w * h * channel);
351
+ });
352
+ await Promise.all(data.map((item, i) => this.pasteImage(buffer, width, height, channel, item.x, item.y, cropBuffers[i], w, h)));
353
+ this.freeImg(buffer);
354
+ await Promise.all(data.map((item, i) => {
355
+ return this.writeImage(sampleDir + item.id + ".png", w, h, channel, cropBuffers[i]);
356
+ }));
299
357
  return data;
300
358
  }
301
359
  /**
@@ -345,13 +403,20 @@ let AppService = class AppService {
345
403
  return (0, app_utils_1.formatSamples)(path.join(this.KLConfig.samplePath, db), data);
346
404
  }
347
405
  /**
348
- * 读图
406
+ * 释放图像数据内存,按指针传递
349
407
  */
350
- async readImage(src, width, height, channel, buffer) {
351
- if (!buffer)
352
- buffer = Buffer.alloc(width * height * channel);
353
- await (0, node_util_1.promisify)(this.UtilsLib.imread.async)(src, buffer, height, width, channel, true);
354
- return buffer;
408
+ freeImg(buffer) {
409
+ this.WaferLib.free_img(buffer);
410
+ ;
411
+ }
412
+ async readImage(path) {
413
+ const pointer = ref_napi_1.default.alloc('pointer');
414
+ const hwc = kl_buffer_1.default.alloc(12);
415
+ const result = await (0, node_util_1.promisify)(this.WaferLib.imread.async)(path, pointer, hwc.intPtr[0], hwc.intPtr[1], hwc.intPtr[2]);
416
+ if (!result)
417
+ return Promise.reject('读图失败:' + result);
418
+ const [height, width, channel] = hwc.intArray;
419
+ return { path, buffer: pointer.readPointer(), width, height, channel };
355
420
  }
356
421
  /**
357
422
  * 写图
@@ -359,7 +424,13 @@ let AppService = class AppService {
359
424
  async writeImage(src, width, height, channel, buffer, mkdir) {
360
425
  if (mkdir)
361
426
  await fs.mkdir(path.dirname(src), { recursive: true });
362
- return (0, node_util_1.promisify)(this.UtilsLib.imwrite.async)(src, buffer, height, width, channel, true);
427
+ return (0, node_util_1.promisify)(this.WaferLib.imwrite.async)(src, buffer, height, width, channel);
428
+ }
429
+ /**
430
+ * 拷贝图像
431
+ */
432
+ async pasteImage(sf, sw, sh, sc, x, y, df, dw, dh) {
433
+ return (0, node_util_1.promisify)(this.WaferLib.imcrop.async)(sf, sh, sw, sc, x, y, df, dh, dw);
363
434
  }
364
435
  };
365
436
  exports.AppService = AppService;
@@ -1 +1 @@
1
- {"version":3,"file":"app.service.js","sourceRoot":"","sources":["../src/app.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.service.js","sourceRoot":"","sources":["../src/app.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import KLBuffer from "kl-buffer";
2
2
  import { IdTypeDto, FeatureDto, SampleDto } from "./app.dto";
3
+ /**
4
+ * 睡眠time毫秒
5
+ */
6
+ export declare function sleep(time: number): Promise<number>;
3
7
  export declare function getKLBufferByIntArray(array: number[]): KLBuffer;
4
8
  export declare function getBufferByBase64(data: string[], featureDIM: number): Buffer;
5
9
  /**
@@ -14,6 +18,10 @@ export declare function formatSamples(samplePath: string, data: FeatureDto[]): P
14
18
  * 拷贝sample小图;将没有拷贝成功的从列表中移除
15
19
  */
16
20
  export declare function copySamples(data: SampleDto[]): Promise<void>;
21
+ /**
22
+ * 将一个db下的samples小图拷贝到另一个文件夹下
23
+ */
24
+ export declare function copyDBSamples(baseDB: string, newDB: string, samplePath: string, normalId?: number): Promise<void>;
17
25
  /**
18
26
  * 删除sample小图
19
27
  */
@@ -26,13 +34,8 @@ export declare function getIdsBySamples(srcs: string[]): number[];
26
34
  * 根据缺陷小图获取id和type
27
35
  */
28
36
  export declare function getIdTypeBySample(src: string): IdTypeDto;
29
- /**
30
- * 计算copy的srcROI与distROI
31
- * @retuns KLBuffer KLBuffer.inArray = [...srcROI, ...distROI]
32
- */
33
- export declare function calcuCopyROI(sx: number, sy: number, w: number, h: number, tw: number, th: number): KLBuffer;
34
37
  /**
35
38
  * 修正提取特征的位置
36
- * @retuns KLBuffer KLBuffer.inArray = [srcROI.x, srcROI.y, srcROI.w, srcROI.h, distROI.x, distROI.y, distROI.w, distROI.h, cx/特征在小图中的位置, cy]
39
+ * @retuns [srcROI.x, srcROI.y, Buffer:[cx/特征在小图中的位置, cy]]
37
40
  */
38
- export declare function correctExtractROI(sx: number, sy: number, w: number, h: number, tw: number, th: number): KLBuffer;
41
+ export declare function correctExtractROI(sx: number, sy: number, w: number, h: number, tw: number, th: number): [number, number, KLBuffer];
package/dist/app.utils.js CHANGED
@@ -26,20 +26,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.sleep = sleep;
29
30
  exports.getKLBufferByIntArray = getKLBufferByIntArray;
30
31
  exports.getBufferByBase64 = getBufferByBase64;
31
32
  exports.exportDB = exportDB;
32
33
  exports.formatSamples = formatSamples;
33
34
  exports.copySamples = copySamples;
35
+ exports.copyDBSamples = copyDBSamples;
34
36
  exports.deleteSamples = deleteSamples;
35
37
  exports.getIdsBySamples = getIdsBySamples;
36
38
  exports.getIdTypeBySample = getIdTypeBySample;
37
- exports.calcuCopyROI = calcuCopyROI;
38
39
  exports.correctExtractROI = correctExtractROI;
39
40
  const path = __importStar(require("path"));
40
41
  const fs = __importStar(require("node:fs/promises"));
41
42
  const fsExtra = __importStar(require("fs-extra"));
42
43
  const kl_buffer_1 = __importDefault(require("kl-buffer"));
44
+ /**
45
+ * 睡眠time毫秒
46
+ */
47
+ async function sleep(time) {
48
+ return new Promise((resolve) => {
49
+ setTimeout(() => {
50
+ resolve(time);
51
+ }, time);
52
+ });
53
+ }
43
54
  function getKLBufferByIntArray(array) {
44
55
  const klBuffer = kl_buffer_1.default.alloc(array.length * 4);
45
56
  klBuffer.intArray = array;
@@ -56,7 +67,10 @@ async function exportDB(dbPath, exportFeature) {
56
67
  const result = await fs.readFile(dbPath);
57
68
  // result: count/4 + featureDIM/4 + (id/4 + type/4 + feature/featureDIM * 4)*count
58
69
  const count = result.readInt32LE(0);
59
- const featureSize = 8 + result.readInt32LE(4) * 4;
70
+ const featureDIM = result.readInt32LE(4);
71
+ if (!featureDIM)
72
+ return Promise.reject('featureDIM为0,db文件或已损坏!');
73
+ const featureSize = 8 + featureDIM * 4;
60
74
  const features = [];
61
75
  for (let i = 0; i < count; i++) {
62
76
  const s = 8 + featureSize * i;
@@ -106,6 +120,8 @@ async function formatSamples(samplePath, data) {
106
120
  }
107
121
  });
108
122
  });
123
+ // 异步删除sample小图,阻塞2秒再返回
124
+ await sleep(2000);
109
125
  }
110
126
  catch (e) {
111
127
  console.error(e);
@@ -128,6 +144,22 @@ async function copySamples(data) {
128
144
  }
129
145
  }
130
146
  }
147
+ /**
148
+ * 将一个db下的samples小图拷贝到另一个文件夹下
149
+ */
150
+ async function copyDBSamples(baseDB, newDB, samplePath, normalId) {
151
+ try {
152
+ const files = await fs.readdir(path.join(samplePath, baseDB));
153
+ // 正常的不拷贝
154
+ const tasks = files.filter(e => e !== `${normalId}.正常`).map(e => {
155
+ return fsExtra.copy(path.join(samplePath, baseDB, e), path.join(samplePath, newDB, e));
156
+ });
157
+ await Promise.all(tasks);
158
+ }
159
+ catch (e) {
160
+ console.error(`拷贝sample小图失败:${baseDB} -> ${newDB}`);
161
+ }
162
+ }
131
163
  /**
132
164
  * 删除sample小图
133
165
  */
@@ -155,37 +187,9 @@ function getIdTypeBySample(src) {
155
187
  type: parseInt(path.basename(dirname)),
156
188
  };
157
189
  }
158
- /**
159
- * 计算copy的srcROI与distROI
160
- * @retuns KLBuffer KLBuffer.inArray = [...srcROI, ...distROI]
161
- */
162
- function calcuCopyROI(sx, sy, w, h, tw, th) {
163
- const roi = kl_buffer_1.default.alloc(32);
164
- let dx = 0;
165
- let dy = 0;
166
- // copy方法不能越界
167
- if (sx < 0) {
168
- w += sx;
169
- dx = -sx;
170
- sx = 0;
171
- }
172
- else if (sx > tw - w) {
173
- w = tw - sx;
174
- }
175
- if (sy < 0) {
176
- h += sy;
177
- dy = -sy;
178
- sy = 0;
179
- }
180
- else if (sy > th - h) {
181
- h = th - sy;
182
- }
183
- roi.intArray = [sx, sy, w, h, dx, dy, w, h];
184
- return roi;
185
- }
186
190
  /**
187
191
  * 修正提取特征的位置
188
- * @retuns KLBuffer KLBuffer.inArray = [srcROI.x, srcROI.y, srcROI.w, srcROI.h, distROI.x, distROI.y, distROI.w, distROI.h, cx/特征在小图中的位置, cy]
192
+ * @retuns [srcROI.x, srcROI.y, Buffer:[cx/特征在小图中的位置, cy]]
189
193
  */
190
194
  function correctExtractROI(sx, sy, w, h, tw, th) {
191
195
  // 因为坐标点的值必须要能被16整除,进行能被16整除的坐标计算
@@ -194,9 +198,9 @@ function correctExtractROI(sx, sy, w, h, tw, th) {
194
198
  // 缺陷小图xy方向不能超出图片边缘
195
199
  leftTopX_correct = Math.min(tw - w, Math.max(0, leftTopX_correct));
196
200
  leftTopY_correct = Math.min(th - h, Math.max(0, leftTopY_correct));
197
- const roi = kl_buffer_1.default.alloc(16 * 2 + 8);
198
- // [srcROI.x, srcROI.y, srcROI.w, srcROI.h, distROI.x, distROI.y, distROI.w, distROI.h, cx/特征在小图中的位置, cy]
199
- roi.intArray = [leftTopX_correct, leftTopY_correct, w, h, 0, 0, w, h, sx - leftTopX_correct, sy - leftTopY_correct];
200
- return roi;
201
+ const roi = kl_buffer_1.default.alloc(8);
202
+ roi.intArray = [sx - leftTopX_correct, sy - leftTopY_correct];
203
+ // [srcROI.x, srcROI.y, cx/特征在小图中的位置, cy]
204
+ return [leftTopX_correct, leftTopY_correct, roi];
201
205
  }
202
206
  //# sourceMappingURL=app.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.utils.js","sourceRoot":"","sources":["../src/app.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.utils.js","sourceRoot":"","sources":["../src/app.utils.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const core_1 = require("@nestjs/core");
4
4
  const swagger_1 = require("@nestjs/swagger");
5
5
  const app_module_1 = require("./app.module");
6
+ const VITE_DLL_PATH = 'D:/kl-storage/dll/';
7
+ const pathArray = process.env.PATH.split(';');
8
+ pathArray.unshift('D:\\kl-storage\\dll\\');
9
+ process.env.PATH = pathArray.join(';');
6
10
  async function bootstrap() {
7
11
  const app = await core_1.NestFactory.create(app_module_1.AppModule.forRoot({
8
12
  loadEngine: true,
@@ -27,5 +31,11 @@ async function bootstrap() {
27
31
  });
28
32
  await app.listen(3000);
29
33
  }
34
+ function addDllPath() {
35
+ const pathArray = process.env.PATH.split(';');
36
+ pathArray.unshift(VITE_DLL_PATH);
37
+ process.env.PATH = pathArray.join(';');
38
+ }
39
+ addDllPath();
30
40
  bootstrap();
31
41
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,6CAAiE;AACjE,6CAAyC;AAEzC,KAAK,UAAU,SAAS;IACtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,OAAO,CAAC;QACrD,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SACjC,QAAQ,CAAC,YAAY,CAAC;SACtB,cAAc,CAAC,gCAAgC,CAAC;SAChD,UAAU,CAAC,KAAK,CAAC;SACjB,SAAS,CAAC,MAAM,CAAC;SACjB,KAAK,EAAE,CAAC;IACX,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,uBAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE1C,GAAG,CAAC,UAAU,EAAE,CAAC;IACjB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AACD,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,6CAAiE;AACjE,6CAAyC;AACzC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC9C,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEvC,KAAK,UAAU,SAAS;IACtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,OAAO,CAAC;QACrD,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SACjC,QAAQ,CAAC,YAAY,CAAC;SACtB,cAAc,CAAC,gCAAgC,CAAC;SAChD,UAAU,CAAC,KAAK,CAAC;SACjB,SAAS,CAAC,MAAM,CAAC;SACjB,KAAK,EAAE,CAAC;IACX,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,uBAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE1C,GAAG,CAAC,UAAU,EAAE,CAAC;IACjB,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,UAAU,EAAE,CAAC;AACb,SAAS,EAAE,CAAC"}