abstract-image 13.0.6 → 13.0.8

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.
@@ -6,6 +6,8 @@ export declare const DXF_ENTITIES: string[];
6
6
  export type DxfOptions = {
7
7
  readonly imageDataByUrl: Record<string, `${typeof DXF_DATA_URL}${string}`>;
8
8
  readonly fillPolygons?: boolean;
9
+ readonly useStrokeThickness?: boolean;
10
+ readonly useColor?: boolean;
9
11
  };
10
12
  export type DxfSpace = "*Model_Space" | "*Paper_Space";
11
13
  export declare function dxf2dExportImageEncoded(root: AbstractImage, options?: Optional<DxfOptions>): Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"dxf2d-export-image.d.ts","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,YAAY,0BAA0B,CAAC;AACpD,eAAO,MAAM,YAAY,EAAE,MAAM,EA6ChC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,YAAY,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAoBvD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAEnG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAuE5F"}
1
+ {"version":3,"file":"dxf2d-export-image.d.ts","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,YAAY,0BAA0B,CAAC;AACpD,eAAO,MAAM,YAAY,EAAE,MAAM,EA6ChC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,YAAY,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAoBvD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAEnG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAyE5F"}
@@ -63,6 +63,8 @@ export function dxf2dExportImage(root, options) {
63
63
  const opts = {
64
64
  imageDataByUrl: options?.imageDataByUrl ?? {},
65
65
  fillPolygons: options?.fillPolygons ?? false,
66
+ useColor: options?.useColor ?? false,
67
+ useStrokeThickness: options?.useStrokeThickness ?? false,
66
68
  };
67
69
  let dxf = "";
68
70
  let layer = 0;
@@ -234,14 +236,18 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
234
236
  entities += "330\n" + modelSpaceHandle + "\n";
235
237
  entities += "100\nAcDbEntity\n";
236
238
  entities += "8\n" + layer + "\n";
237
- entities += "60\n0\n";
238
- entities += "62\n256\n";
239
- entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
239
+ if (options.useColor && !isBlack(c.strokeColor)) {
240
+ entities += "60\n0\n";
241
+ entities += "62\n256\n";
242
+ entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
243
+ }
240
244
  entities += "100\nAcDb2dPolyline\n";
241
245
  entities += "10\n0\n20\n0\n30\n0\n";
242
246
  entities += "70\n0\n";
243
- entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
244
- entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
247
+ if (options.useStrokeThickness) {
248
+ entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
249
+ entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
250
+ }
245
251
  const points = [{ x: c.start.x, y: invert(c.start.y, size.height) }, { x: c.end.x, y: invert(c.end.y, size.height) }];
246
252
  for (const point of points) {
247
253
  entities += "0\nVERTEX\n";
@@ -270,14 +276,18 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
270
276
  entities += "330\n" + modelSpaceHandle + "\n";
271
277
  entities += "100\nAcDbEntity\n";
272
278
  entities += "8\n" + layer + "\n";
273
- entities += "60\n0\n";
274
- entities += "62\n256\n";
275
- entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
279
+ if (options.useColor && !isBlack(c.strokeColor)) {
280
+ entities += "60\n0\n";
281
+ entities += "62\n256\n";
282
+ entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
283
+ }
276
284
  entities += "100\nAcDb2dPolyline\n";
277
285
  entities += "10\n0\n20\n0\n30\n0\n";
278
286
  entities += "70\n0\n";
279
- entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
280
- entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
287
+ if (options.useStrokeThickness) {
288
+ entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
289
+ entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
290
+ }
281
291
  for (const point of c.points) {
282
292
  entities += "0\nVERTEX\n";
283
293
  entities += "5\n" + newHandle() + "\n";
@@ -307,9 +317,11 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
307
317
  entities += "330\n" + modelSpaceHandle + "\n";
308
318
  entities += "100\nAcDbEntity\n";
309
319
  entities += "8\nText\n";
310
- entities += "60\n0\n";
311
- entities += "62\n256\n";
312
- entities += "420\n" + colorToInteger(c.textColor) + "\n";
320
+ if (options.useColor && !isBlack(c.textColor)) {
321
+ entities += "60\n0\n";
322
+ entities += "62\n256\n";
323
+ entities += "420\n" + colorToInteger(c.textColor) + "\n";
324
+ }
313
325
  entities += "100\nAcDbText\n";
314
326
  entities += "10\n" + c.position.x.toString() + "\n";
315
327
  entities += "20\n" + invert(c.position.y, size.height) + "\n";
@@ -940,40 +952,42 @@ function createPolygon(modelSpaceHandle, layer, points, strokeColor, fillColor,
940
952
  if (options.fillPolygons) {
941
953
  polygon += createHatch(modelSpaceHandle, layer, fillColor, points, height, newHandle);
942
954
  }
943
- if (strokeThickness && strokeThickness >= Number.EPSILON) {
944
- polygon += "0\nPOLYLINE\n";
945
- polygon += "5\n" + handle + "\n";
946
- polygon += "330\n" + modelSpaceHandle + "\n";
947
- polygon += "100\nAcDbEntity\n";
948
- polygon += "8\n" + layer.toString() + "\n";
955
+ polygon += "0\nPOLYLINE\n";
956
+ polygon += "5\n" + handle + "\n";
957
+ polygon += "330\n" + modelSpaceHandle + "\n";
958
+ polygon += "100\nAcDbEntity\n";
959
+ polygon += "8\n" + layer.toString() + "\n";
960
+ if (options.useColor && !isBlack(strokeColor)) {
949
961
  polygon += "60\n0\n";
950
962
  polygon += "62\n256\n";
951
963
  polygon += "420\n" + colorToInteger(strokeColor) + "\n";
952
- polygon += "100\nAcDb2dPolyline\n";
953
- polygon += "66\n1\n";
954
- polygon += "70\n1\n";
955
- polygon += "10\n0.0\n20\n0.0\n30\n0.0\n";
964
+ }
965
+ polygon += "100\nAcDb2dPolyline\n";
966
+ polygon += "66\n1\n";
967
+ polygon += "70\n1\n";
968
+ polygon += "10\n0.0\n20\n0.0\n30\n0.0\n";
969
+ if (options.useStrokeThickness && strokeThickness && strokeThickness >= Number.EPSILON) {
956
970
  polygon += "40\n" + strokeThickness.toPrecision(4) + "\n";
957
971
  polygon += "41\n" + strokeThickness.toPrecision(4) + "\n";
958
- for (const point of points) {
959
- polygon += "0\nVERTEX\n";
960
- polygon += "5\n" + newHandle() + "\n";
961
- polygon += "330\n" + handle + "\n";
962
- polygon += "100\nAcDbEntity\n";
963
- polygon += "8\n" + layer.toString() + "\n";
964
- polygon += "100\nAcDbVertex\n";
965
- polygon += "100\nAcDb2dVertex\n";
966
- polygon += "70\n0\n";
967
- polygon += "10\n" + point.x.toString() + "\n";
968
- polygon += "20\n" + invert(point.y, height).toString() + "\n";
969
- polygon += "30\n0.0\n";
970
- }
971
- polygon += "0\nSEQEND\n";
972
+ }
973
+ for (const point of points) {
974
+ polygon += "0\nVERTEX\n";
972
975
  polygon += "5\n" + newHandle() + "\n";
976
+ polygon += "330\n" + handle + "\n";
973
977
  polygon += "100\nAcDbEntity\n";
974
978
  polygon += "8\n" + layer.toString() + "\n";
975
- polygon += "330\n" + handle + "\n";
979
+ polygon += "100\nAcDbVertex\n";
980
+ polygon += "100\nAcDb2dVertex\n";
981
+ polygon += "70\n0\n";
982
+ polygon += "10\n" + point.x.toString() + "\n";
983
+ polygon += "20\n" + invert(point.y, height).toString() + "\n";
984
+ polygon += "30\n0.0\n";
976
985
  }
986
+ polygon += "0\nSEQEND\n";
987
+ polygon += "5\n" + newHandle() + "\n";
988
+ polygon += "100\nAcDbEntity\n";
989
+ polygon += "8\n" + layer.toString() + "\n";
990
+ polygon += "330\n" + handle + "\n";
977
991
  return polygon;
978
992
  }
979
993
  function handleGenerator() {
@@ -986,6 +1000,9 @@ function handleGenerator() {
986
1000
  function randomID() {
987
1001
  return "xxxxxxxxxxxxxxxx".replaceAll("x", () => (Math.round(Math.random() * 16)).toString(16)).toLocaleUpperCase();
988
1002
  }
1003
+ function isBlack(color) {
1004
+ return color.r === 0 && color.g === 0 && color.b === 0;
1005
+ }
989
1006
  function colorToInteger(color) {
990
1007
  const colorAsInt = (color.r << 16) + (color.g << 8) + color.b;
991
1008
  if (Number.isNaN(colorAsInt)) {
@@ -1 +1 @@
1
- {"version":3,"file":"dxf2d-export-image.js","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dxf2d-export-image.js","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EAA0B,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKxE,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,uBAAuB,CAAC;AACpD,MAAM,CAAC,MAAM,YAAY,GAAa;IACpC,QAAQ;IACR,SAAS;IACT,mBAAmB;IACnB,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,WAAW;IACX,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,YAAY;IACZ,OAAO;IACP,aAAa;IACb,cAAc;IACd,OAAO;IACP,UAAU;IACV,WAAW;IACX,OAAO;IACP,UAAU;IACV,KAAK;IACL,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,SAAS;IACT,OAAO;IACP,MAAM;IACN,WAAW;IACX,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;IACT,OAAO;CACR,CAAC;AA6BF,MAAM,UAAU,uBAAuB,CAAC,IAAmB,EAAE,OAA8B;IACzF,OAAO,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAmB,EAAE,OAA8B;IAClF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAqB,CAAC;IACnD,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAC;IACvD,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAC;IAErC,MAAM,IAAI,GAAyB;QACjC,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,EAAE;QAC7C,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,KAAK;QAC5C,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK;QACpC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,IAAI,KAAK;KACzD,CAAC;IAEF,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,YAAY,GAAuB,EAAE,CAAC;IAC1C,MAAM,IAAI,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACxE,MAAM,IAAI,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACxE,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9I,QAAQ,IAAI,WAAW,CAAC;QACxB,MAAM,IAAI,SAAS,CAAC;QACpB,YAAY,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;IACxC,CAAC;IAED,YAAY;IACZ,GAAG,IAAI,yBAAyB,CAAC;IACjC,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACnC,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACnC,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACnC,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACnC,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;IAClC,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;IACjC,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACnC,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACtC,GAAG,IAAI,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC5F,GAAG,IAAI,aAAa,CAAC;IAErB,YAAY;IACZ,GAAG,IAAI,yBAAyB,CAAC;IACjC,GAAG,IAAI,MAAM,CAAC;IACd,GAAG,IAAI,aAAa,CAAC;IAErB,cAAc;IACd,GAAG,IAAI,2BAA2B,CAAC;IACnC,GAAG,IAAI,QAAQ,CAAC;IAChB,GAAG,IAAI,aAAa,CAAC;IAErB,aAAa;IACb,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAE1E,YAAY;IACZ,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,4BAA4B,CAAC;IACvC,MAAM,IAAI,yBAAyB,CAAC;IACpC,MAAM,IAAI,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAAC;IACnD,MAAM,IAAI,mBAAmB,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC,iCAAiC;IACzF,MAAM,IAAI,iCAAiC,CAAC;IAC5C,MAAM,IAAI,0CAA0C,CAAC;IACrD,MAAM,IAAI,4CAA4C,CAAC;IACvD,MAAM,IAAI,cAAc,CAAC;IACzB,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IACrD,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IACtD,MAAM,IAAI,aAAa,CAAC;IACxB,MAAM,IAAI,aAAa,CAAC;IACxB,MAAM,IAAI,qCAAqC,CAAC;IAEhD,SAAS;IACT,GAAG,IAAI,QAAQ,CAAC;IAChB,OAAO,MAAM,GAAG,GAAG,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,CAAY,EAAE,KAAa,EAAE,IAAU,EAAE,gBAAwB,EAAE,aAAqC,EAAE,OAA6B,EAAE,SAAuB;IACpL,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,YAAY,GAAuB,EAAE,CAAC;IAE1C,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACxI,QAAQ,IAAI,WAAW,CAAC;YACxB,MAAM,IAAI,SAAS,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YAC7B,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,QAAQ,IAAI,oBAAoB,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;YACrF,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAE5D,MAAM,oBAAoB,GAAG,SAAS,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,iBAAiB,QAAQ,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QAEtI,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEpD,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;YACtC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC/B,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACtC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;gBAC1B,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,cAAc,CAC7C,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EACtD,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EACnF,iBAAiB,EACjB,oBAAoB,EACpB,SAAS,CACV,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC;QAElE,IAAI,eAAe,GAAG,OAAO,CAAC;QAC9B,IAAI,aAAa,GAAG,GAAG,CAAC;QACxB,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1F,IAAG,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACrC,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC;YAC3C,aAAa,GAAG,mBAAmB,CAAC,EAAE,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,SAAS,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,eAAe;aACtB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GACZ,YAAY;YACZ,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI;YAC1B,OAAO,GAAG,aAAa,GAAG,IAAI;YAC9B,mBAAmB;YACnB,QAAQ;YACR,uBAAuB;YACvB,KAAK,GAAG,eAAe,GAAG,IAAI;YAC9B,SAAS;YACT,SAAS;YACT,SAAS;YACT,SAAS;YACT,KAAK,GAAG,eAAe,GAAG,IAAI;YAC9B,OAAO;YACP,WAAW;YACX,IAAI;YACJ,aAAa;YACb,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI;YAC1B,OAAO,GAAG,aAAa,GAAG,IAAI;YAC9B,mBAAmB;YACnB,QAAQ;YACR,qBAAqB,CAAC;QAExB,MAAM,IAAI,QAAQ,CAAC;QAEnB,4BAA4B;QAC5B,MAAM,MAAM,GAAc;YACxB,aAAa,EAAE,aAAa;YAC5B,IAAI,EAAE,eAAe;YACrB,OAAO;SACR,CAAC;QACF,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACnC,QAAQ,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAE/E,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,QAAQ,IAAI,eAAe,CAAC;QAC5B,QAAQ,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;QAClC,QAAQ,IAAI,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;QAC9C,QAAQ,IAAI,mBAAmB,CAAC;QAChC,QAAQ,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAEjC,IAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,QAAQ,IAAI,SAAS,CAAC;YACtB,QAAQ,IAAI,WAAW,CAAC;YACxB,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAC7D,CAAC;QAED,QAAQ,IAAI,uBAAuB,CAAC;QACpC,QAAQ,IAAI,uBAAuB,CAAC;QACpC,QAAQ,IAAI,SAAS,CAAC;QAEtB,IAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC9B,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACrD,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACvD,CAAC;QAED,MAAM,MAAM,GAAyB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3I,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,QAAQ,IAAI,aAAa,CAAC;YAC1B,QAAQ,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;YACvC,QAAQ,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;YACpC,QAAQ,IAAI,mBAAmB,CAAC;YAChC,QAAQ,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC5C,QAAQ,IAAI,mBAAmB,CAAC;YAChC,QAAQ,IAAI,qBAAqB,CAAC;YAClC,QAAQ,IAAI,SAAS,CAAC;YACtB,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC/C,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YACpE,QAAQ,IAAI,WAAW,CAAC;QAC1B,CAAC;QAED,QAAQ,IAAI,aAAa,CAAC;QAC1B,QAAQ,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QACvC,QAAQ,IAAI,mBAAmB,CAAC;QAChC,QAAQ,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC5C,QAAQ,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;QACpC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,QAAQ,IAAI,eAAe,CAAC;QAC5B,QAAQ,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;QAClC,QAAQ,IAAI,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;QAC9C,QAAQ,IAAI,mBAAmB,CAAC;QAChC,QAAQ,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAEjC,IAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,QAAQ,IAAI,SAAS,CAAC;YACtB,QAAQ,IAAI,WAAW,CAAC;YACxB,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAC7D,CAAC;QAED,QAAQ,IAAI,uBAAuB,CAAC;QACpC,QAAQ,IAAI,uBAAuB,CAAC;QACpC,QAAQ,IAAI,SAAS,CAAC;QAEtB,IAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC9B,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACrD,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QACvD,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,QAAQ,IAAI,aAAa,CAAC;YAC1B,QAAQ,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;YACvC,QAAQ,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;YACpC,QAAQ,IAAI,mBAAmB,CAAC;YAChC,QAAQ,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC5C,QAAQ,IAAI,mBAAmB,CAAC;YAChC,QAAQ,IAAI,qBAAqB,CAAC;YAClC,QAAQ,IAAI,SAAS,CAAC;YACtB,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YAC/C,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YACpE,QAAQ,IAAI,WAAW,CAAC;QAC1B,CAAC;QACD,QAAQ,IAAI,aAAa,CAAC;QAC1B,QAAQ,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QACvC,QAAQ,IAAI,mBAAmB,CAAC;QAChC,QAAQ,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC5C,QAAQ,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;QACpC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,mBAAmB,GACvB,CAAC,CAAC,yBAAyB,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,MAAM,iBAAiB,GAAG,CAAC,CAAC,uBAAuB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnH,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;QAEhC,QAAQ,IAAI,WAAW,CAAC;QACxB,QAAQ,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QACvC,QAAQ,IAAI,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;QAC9C,QAAQ,IAAI,mBAAmB,CAAC;QAChC,QAAQ,IAAI,WAAW,CAAC;QAExB,IAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,QAAQ,IAAI,SAAS,CAAC;YACtB,QAAQ,IAAI,WAAW,CAAC;YACxB,QAAQ,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QAC3D,CAAC;QAED,QAAQ,IAAI,iBAAiB,CAAC;QAC9B,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpD,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAC9D,QAAQ,IAAI,WAAW,CAAC;QACxB,QAAQ,IAAI,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAChD,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;QAClC,QAAQ,IAAI,WAAW,CAAC;QACxB,QAAQ,IAAI,WAAW,CAAC;QACxB,QAAQ,IAAI,eAAe,CAAC;QAC5B,QAAQ,IAAI,SAAS,CAAC;QACtB,QAAQ,IAAI,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAE3D,IAAG,mBAAmB,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;YACxD,QAAQ,IAAI,iBAAiB,CAAC;YAC9B,QAAQ,IAAI,SAAS,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;YACpD,QAAQ,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC9D,QAAQ,IAAI,SAAS,CAAC;YACtB,QAAQ,IAAI,iBAAiB,CAAC;YAC9B,QAAQ,IAAI,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC3D,CAAC;QAED,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,EAAE,CAAC;QACR,MAAM,MAAM,GAAiB,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzD,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;QACtB,CAAC;QAED,QAAQ,IAAI,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACtJ,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,QAAQ,IAAI,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACxJ,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,QAAQ,IAAI,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACpJ,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,MAAc;IACvC,OAAO,MAAM,GAAG,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,aAAoC;IACvE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,WAAW,GAAkB,EAAE,CAAC;IAEtC,IAAI,YAAY,GAAkB,EAAE,CAAC;IACrC,IAAI,gBAAgB,GAAG,SAAS,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACnB,IAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAEtC,IAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACX,IAAG,gBAAgB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAChD,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;oBAClC,YAAY,GAAG,EAAE,CAAC;oBAClB,gBAAgB,GAAG,SAAS,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,EAAE,CAAC;oBAClB,gBAAgB,GAAG,SAAS,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,IAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACvB,gBAAgB,GAAG,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,IAAG,gBAAgB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,UAAU,GAAG,2BAA2B,CAAC;IAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC;IAE7B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;IACvC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,iGAAiG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1I,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACd,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;KACb,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,aAAqB,EAAE,aAAqB;IAC9E,MAAM,UAAU,GAAG,kDAAkD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChF,IAAG,UAAU,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;SACzB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,IAAI,CAAC,IAAI,CAAC;SACV,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC;SACzC,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAE7C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,GAAG,GAAG,4CAA4C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,4CAA4C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,OAAO,GAAG,qCAAqC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChE,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,QAA4B,EAAE,MAA0B,EAAE,aAAkC,EAAE,eAAuB,EAAE,SAAuB;IACpK,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEnB,SAAS,eAAe,CAAC,GAAW;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAEzC,IAAG,SAAS,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,IAAG,SAAS,KAAK,KAAK,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChD,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;YAED,IAAI,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAChF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAEpB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC9B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;wBAC1B,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wBAChC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAClB,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;oBACtC,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,QAAQ,CAAC,SAA6B,EAAE,EAAU,EAAE,EAAU;IACrE,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEvE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAE,CAAC,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/B,IAAG,QAAQ,KAAK,KAAK,EAAE,CAAC;YACtB,iBAAiB,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,KAAK,GAAG,SAAS,CAAC;QAEtB,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,KAAK,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;aAAM,IAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,KAAK,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;aAAM,IAAG,IAAI,KAAK,EAAE,IAAI,iBAAiB,KAAK,UAAU,EAAE,CAAC,CAAC,WAAW;YACtE,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9D,CAAC;QACH,CAAC;aAAM,IAAG,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,IAAI,iBAAiB,KAAK,gBAAgB,EAAE,CAAC,CAAC,mBAAmB;YACrG,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,KAAK,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,OAAmB,EAAE,CAAc;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1B,OAAO;QACL,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;KACN,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAc,EAAE,CAAc,EAAE,IAAU,EAAE,gBAAwB,EAAE,SAAuB;IAEzH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEpC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,aAAa,CAAC;IACxB,MAAM,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACrC,MAAM,IAAI,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAC5C,MAAM,IAAI,mBAAmB,CAAC;IAC9B,MAAM,IAAI,QAAQ,CAAC;IACnB,MAAM,IAAI,2BAA2B,CAAC;IACtC,MAAM,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAClC,MAAM,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5B,MAAM,IAAI,SAAS,CAAC;IACpB,MAAM,IAAI,SAAS,CAAC,CAAC,sDAAsD;IAC3E,MAAM,IAAI,SAAS,CAAC;IACpB,MAAM,IAAI,SAAS,CAAC;IACpB,MAAM,IAAI,SAAS,CAAC;IACpB,MAAM,IAAI,UAAU,CAAC;IACrB,MAAM,IAAI,UAAU,CAAC;IACrB,MAAM,IAAI,UAAU,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAuB;IAC/C,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAC9B,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;IAChC,KAAK,IAAI,8BAA8B,CAAC;IACxC,KAAK,IAAI,8BAA8B,CAAC;IACxC,KAAK,IAAI,WAAW,CAAC;IACrB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,aAAa,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAuB;IAC/C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,aAAa,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAuB;IAC/C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,8BAA8B,CAAC;IACxC,KAAK,IAAI,gCAAgC,CAAC;IAC1C,KAAK,IAAI,cAAc,CAAC;IACxB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,8BAA8B,CAAC;IACxC,KAAK,IAAI,gCAAgC,CAAC;IAC1C,KAAK,IAAI,cAAc,CAAC;IACxB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,8BAA8B,CAAC;IACxC,KAAK,IAAI,gCAAgC,CAAC;IAC1C,KAAK,IAAI,iBAAiB,CAAC;IAC3B,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,iBAAiB,CAAC;IAC3B,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,aAAa,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAuB;IAE/C,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;IAChC,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAElD,KAAI,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,IAAI,YAAY,CAAC;QACtB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QACpC,KAAK,IAAI,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;QAClC,KAAK,IAAI,8BAA8B,CAAC;QACxC,KAAK,IAAI,6BAA6B,CAAC;QACvC,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;QAC9B,KAAK,IAAI,gBAAgB,CAAC;QAC1B,KAAK,IAAI,iBAAiB,CAAC;QAC3B,KAAK,IAAI,WAAW,CAAC;QACrB,KAAK,IAAI,UAAU,CAAC,CAAC,KAAK;IAC5B,CAAC;IAED,KAAK,IAAI,aAAa,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,SAAuB;IAC7C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,aAAa,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,SAAuB;IAC9C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,WAAW,CAAC;IACrB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,aAAa,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAuB;IAC/C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,8BAA8B,CAAC;IACxC,KAAK,IAAI,iCAAiC,CAAC;IAC3C,KAAK,IAAI,eAAe,CAAC;IACzB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,KAAK,CAAC;IACf,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,aAAa,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAuB;IAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,eAAe,CAAC;IACzB,KAAK,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,0BAA0B,CAAC;IACpC,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,eAAe,CAAC;IACzB,KAAK,IAAI,WAAW,CAAC;IACrB,KAAK,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,8BAA8B,CAAC;IACxC,KAAK,IAAI,gCAAgC,CAAC;IAC1C,KAAK,IAAI,eAAe,CAAC;IACzB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,cAAc,CAAC;IACxB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,aAAa,CAAC;IACvB,KAAK,IAAI,aAAa,CAAC;IACvB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,aAAa,CAAC;IACvB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,aAAa,CAAC;IACvB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,WAAW,CAAC;IACrB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,WAAW,CAAC;IACrB,KAAK,IAAI,WAAW,CAAC;IACrB,KAAK,IAAI,aAAa,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAAC,gBAAwB,EAAE,gBAAwB,EAAE,YAAwC,EAAE,SAAuB;IACpJ,MAAM,EAAE,GAA+B;QACrC,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE;QAC9C,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE;QAC9C,GAAG,YAAY;KAChB,CAAC;IAEF,MAAM,kBAAkB,GAAG,SAAS,EAAE,CAAC;IAEvC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,mBAAmB,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,kBAAkB,GAAG,IAAI,CAAC;IAC3C,KAAK,IAAI,UAAU,CAAC;IACpB,KAAK,IAAI,wBAAwB,CAAC;IAClC,KAAK,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE9C,KAAI,MAAM,MAAM,IAAI,EAAE,EAAE,CAAC;QACvB,KAAK,IAAI,mBAAmB,CAAC;QAC7B,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;QAClC,KAAK,IAAI,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAAC;QAC7C,KAAK,IAAI,8BAA8B,CAAC;QACxC,KAAK,IAAI,6BAA6B,CAAC;QACvC,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACpC,KAAK,IAAI,SAAS,CAAC;QACnB,KAAK,IAAI,UAAU,CAAC;QACpB,KAAK,IAAI,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,IAAI,aAAa,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,gBAAwB,EAAE,gBAAwB,EAAE,IAAmB,EAAE,SAAuB;IACrH,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,SAAS,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC;IAClC,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC;IAElC,OAAO,IAAI,0BAA0B,CAAC;IAEtC,kBAAkB;IAClB,OAAO,IAAI,oBAAoB,GAAG,UAAU,GAAG,yCAAyC,CAAC;IACzF,OAAO,IAAI,sBAAsB,GAAG,WAAW,GAAG,IAAI,CAAC;IACvD,OAAO,IAAI,uBAAuB,GAAG,YAAY,GAAG,IAAI,CAAC;IAEzD,qBAAqB;IACrB,OAAO,IAAI,oBAAoB,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,iCAAiC,CAAC;IAE3G,yBAAyB;IACzB,OAAO,IAAI,oBAAoB,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,iCAAiC,CAAC;IAC5G,OAAO,IAAI,mBAAmB,GAAG,aAAa,GAAG,IAAI,CAAC;IACtD,OAAO,IAAI,iBAAiB,GAAG,aAAa,GAAG,IAAI,CAAC;IAEpD,4BAA4B;IAC5B,OAAO,IAAI,gBAAgB,GAAG,aAAa,GAAG,8BAA8B,GAAG,YAAY,GAAG,YAAY,CAAC;IAC3G,OAAO,IAAI,OAAO,GAAG,YAAY,GAAG,0DAA0D,CAAC;IAC/F,OAAO,IAAI,4FAA4F,CAAC;IACxG,OAAO,IAAI,mHAAmH,CAAC;IAC/H,OAAO,IAAI,2CAA2C,CAAC;IACvD,OAAO,IAAI,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAC3F,OAAO,IAAI,wDAAwD,CAAC;IACpE,OAAO,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAClF,OAAO,IAAI,oGAAoG,CAAC;IAChH,OAAO,IAAI,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAE7C,uBAAuB;IACvB,OAAO,IAAI,gBAAgB,GAAG,aAAa,GAAG,8BAA8B,GAAG,YAAY,GAAG,YAAY,CAAC;IAC3G,OAAO,IAAI,OAAO,GAAG,YAAY,GAAG,0DAA0D,CAAC;IAC/F,OAAO,IAAI,4FAA4F,CAAC;IACxG,OAAO,IAAI,mHAAmH,CAAC;IAC/H,OAAO,IAAI,6CAA6C,CAAC;IACzD,OAAO,IAAI,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IAC3F,OAAO,IAAI,oEAAoE,CAAC;IAChF,OAAO,IAAI,4CAA4C,CAAC;IACxD,OAAO,IAAI,oGAAoG,CAAC;IAChH,OAAO,IAAI,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAE7C,OAAO,IAAI,aAAa,CAAC;IAEzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,WAAmB,EAAE,SAAuB;IACpF,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;IACtC,KAAK,IAAI,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,KAAK,IAAI,mBAAmB,CAAC;IAC7B,KAAK,IAAI,QAAQ,CAAC;IAClB,KAAK,IAAI,uBAAuB,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,6BAA6B,CAAC;IACvC,KAAK,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,aAAa,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;IACtC,KAAK,IAAI,mBAAmB,CAAC;IAC7B,KAAK,IAAI,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,KAAK,IAAI,QAAQ,CAAC;IAClB,KAAK,IAAI,qBAAqB,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAClB,gBAAwB,EACxB,KAAa,EACb,SAAgB,EAChB,MAA4B,EAC5B,MAAc,EACd,SAAuB;IAEvB,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;IAC/E,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;IAE/E,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACpC,KAAK,IAAI,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAC3C,KAAK,IAAI,mBAAmB,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAC9B,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACpD,KAAK,IAAI,kBAAkB,CAAC;IAC5B,KAAK,IAAI,6BAA6B,CAAC;IACvC,KAAK,IAAI,gCAAgC,CAAC;IAC1C,KAAK,IAAI,YAAY,CAAC;IACtB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC;IAE/C,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/B,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC7B,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,SAAS,CAAC;IACnB,KAAK,IAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,KAAK,IAAI,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;IAE5B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,gBAAwB,EAAE,KAAa,EAAE,MAA4B,EAAE,WAAkB,EAAE,SAAgB,EAAE,eAAmC,EAAE,MAAc,EAAE,OAA6B,EAAE,SAAuB;IAC7O,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,IAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QACxB,OAAO,IAAI,WAAW,CAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,IAAI,eAAe,CAAC;IAC3B,OAAO,IAAI,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,IAAI,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAC7C,OAAO,IAAI,mBAAmB,CAAC;IAC/B,OAAO,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE3C,IAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,SAAS,CAAC;QACrB,OAAO,IAAI,WAAW,CAAC;QACvB,OAAO,IAAI,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC1D,CAAC;IAED,OAAO,IAAI,uBAAuB,CAAC;IACnC,OAAO,IAAI,SAAS,CAAC;IACrB,OAAO,IAAI,SAAS,CAAC;IACrB,OAAO,IAAI,6BAA6B,CAAC;IAEzC,IAAG,OAAO,CAAC,kBAAkB,IAAI,eAAe,IAAI,eAAe,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACtF,OAAO,IAAI,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC1D,OAAO,IAAI,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC5D,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,IAAI,aAAa,CAAC;QACzB,OAAO,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QACtC,OAAO,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;QACnC,OAAO,IAAI,mBAAmB,CAAC;QAC/B,OAAO,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC3C,OAAO,IAAI,mBAAmB,CAAC;QAC/B,OAAO,IAAI,qBAAqB,CAAC;QACjC,OAAO,IAAI,SAAS,CAAC;QACrB,OAAO,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC9C,OAAO,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC9D,OAAO,IAAI,WAAW,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,aAAa,CAAC;IACzB,OAAO,IAAI,KAAK,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IACtC,OAAO,IAAI,mBAAmB,CAAC;IAC/B,OAAO,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC3C,OAAO,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAEnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,KAAK,GAAG,MAAM,CAAC;IACnB,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;QACrD,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;KACxD,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACrH,CAAC;AAED,SAAS,OAAO,CAAC,KAAY;IAC3B,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,cAAc,CAAC,KAAY;IAClC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-image",
3
- "version": "13.0.6",
3
+ "version": "13.0.8",
4
4
  "description": "Dynamically create images using code or JSX and render to any format",
5
5
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-image",
6
6
  "main": "lib/index.js",
@@ -38,5 +38,5 @@
38
38
  "vite": "^6.0.1",
39
39
  "vitest": "^2.1.6"
40
40
  },
41
- "gitHead": "dadb8d23207257f46a641a66263501b56847d2b2"
41
+ "gitHead": "3915be967b4ba523d394382fbbe3daf4b981be38"
42
42
  }
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable max-lines */
2
2
  import iconv from "iconv-lite";
3
3
  import { AbstractImage } from "../model/abstract-image.js";
4
- import { Color } from "../model/color.js";
4
+ import { black, Color } from "../model/color.js";
5
5
  import { BinaryImage, Component, corners } from "../model/component.js";
6
6
  import { Point } from "../model/point.js";
7
7
  import { Optional } from "../model/shared.js";
@@ -59,6 +59,8 @@ export const DXF_ENTITIES: string[] = [
59
59
  export type DxfOptions = {
60
60
  readonly imageDataByUrl: Record<string, `${typeof DXF_DATA_URL}${string}`>;
61
61
  readonly fillPolygons?: boolean;
62
+ readonly useStrokeThickness?: boolean;
63
+ readonly useColor?: boolean;
62
64
  };
63
65
 
64
66
  export type DxfSpace = "*Model_Space" | "*Paper_Space";
@@ -97,6 +99,8 @@ export function dxf2dExportImage(root: AbstractImage, options?: Optional<DxfOpti
97
99
  const opts: Required<DxfOptions> = {
98
100
  imageDataByUrl: options?.imageDataByUrl ?? {},
99
101
  fillPolygons: options?.fillPolygons ?? false,
102
+ useColor: options?.useColor ?? false,
103
+ useStrokeThickness: options?.useStrokeThickness ?? false,
100
104
  };
101
105
 
102
106
  let dxf = "";
@@ -300,14 +304,21 @@ function componentDxf(c: Component, layer: number, size: Size, modelSpaceHandle:
300
304
  entities += "330\n" + modelSpaceHandle + "\n";
301
305
  entities += "100\nAcDbEntity\n";
302
306
  entities += "8\n" + layer + "\n";
303
- entities += "60\n0\n";
304
- entities += "62\n256\n";
305
- entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
307
+
308
+ if(options.useColor && !isBlack(c.strokeColor)) {
309
+ entities += "60\n0\n";
310
+ entities += "62\n256\n";
311
+ entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
312
+ }
313
+
306
314
  entities += "100\nAcDb2dPolyline\n";
307
315
  entities += "10\n0\n20\n0\n30\n0\n";
308
316
  entities += "70\n0\n";
309
- entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
310
- entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
317
+
318
+ if(options.useStrokeThickness) {
319
+ entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
320
+ entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
321
+ }
311
322
 
312
323
  const points: ReadonlyArray<Point> = [{ x: c.start.x, y: invert(c.start.y, size.height)}, { x: c.end.x, y: invert(c.end.y, size.height) }];
313
324
  for (const point of points) {
@@ -339,14 +350,22 @@ function componentDxf(c: Component, layer: number, size: Size, modelSpaceHandle:
339
350
  entities += "330\n" + modelSpaceHandle + "\n";
340
351
  entities += "100\nAcDbEntity\n";
341
352
  entities += "8\n" + layer + "\n";
342
- entities += "60\n0\n";
343
- entities += "62\n256\n";
344
- entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
353
+
354
+ if(options.useColor && !isBlack(c.strokeColor)) {
355
+ entities += "60\n0\n";
356
+ entities += "62\n256\n";
357
+ entities += "420\n" + colorToInteger(c.strokeColor) + "\n";
358
+ }
359
+
345
360
  entities += "100\nAcDb2dPolyline\n";
346
361
  entities += "10\n0\n20\n0\n30\n0\n";
347
362
  entities += "70\n0\n";
348
- entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
349
- entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
363
+
364
+ if(options.useStrokeThickness) {
365
+ entities += "40\n" + (c.strokeThickness ?? 0) + "\n";
366
+ entities += "41\n" + (c.strokeThickness ?? 0) + "\n";
367
+ }
368
+
350
369
  for (const point of c.points) {
351
370
  entities += "0\nVERTEX\n";
352
371
  entities += "5\n" + newHandle() + "\n";
@@ -379,9 +398,13 @@ function componentDxf(c: Component, layer: number, size: Size, modelSpaceHandle:
379
398
  entities += "330\n" + modelSpaceHandle + "\n";
380
399
  entities += "100\nAcDbEntity\n";
381
400
  entities += "8\nText\n";
382
- entities += "60\n0\n";
383
- entities += "62\n256\n";
384
- entities += "420\n" + colorToInteger(c.textColor) + "\n";
401
+
402
+ if(options.useColor && !isBlack(c.textColor)) {
403
+ entities += "60\n0\n";
404
+ entities += "62\n256\n";
405
+ entities += "420\n" + colorToInteger(c.textColor) + "\n";
406
+ }
407
+
385
408
  entities += "100\nAcDbText\n";
386
409
  entities += "10\n" + c.position.x.toString() + "\n";
387
410
  entities += "20\n" + invert(c.position.y, size.height) + "\n";
@@ -1092,43 +1115,49 @@ function createPolygon(modelSpaceHandle: string, layer: string, points: Readonly
1092
1115
  if(options.fillPolygons) {
1093
1116
  polygon += createHatch(modelSpaceHandle, layer, fillColor, points, height, newHandle);
1094
1117
  }
1095
- if(strokeThickness && strokeThickness >= Number.EPSILON) {
1096
- polygon += "0\nPOLYLINE\n";
1097
- polygon += "5\n" + handle + "\n";
1098
- polygon += "330\n" + modelSpaceHandle + "\n";
1099
- polygon += "100\nAcDbEntity\n";
1100
- polygon += "8\n" + layer.toString() + "\n";
1118
+
1119
+ polygon += "0\nPOLYLINE\n";
1120
+ polygon += "5\n" + handle + "\n";
1121
+ polygon += "330\n" + modelSpaceHandle + "\n";
1122
+ polygon += "100\nAcDbEntity\n";
1123
+ polygon += "8\n" + layer.toString() + "\n";
1124
+
1125
+ if(options.useColor && !isBlack(strokeColor)) {
1101
1126
  polygon += "60\n0\n";
1102
1127
  polygon += "62\n256\n";
1103
1128
  polygon += "420\n" + colorToInteger(strokeColor) + "\n";
1104
- polygon += "100\nAcDb2dPolyline\n";
1105
- polygon += "66\n1\n";
1106
- polygon += "70\n1\n";
1107
- polygon += "10\n0.0\n20\n0.0\n30\n0.0\n";
1129
+ }
1130
+
1131
+ polygon += "100\nAcDb2dPolyline\n";
1132
+ polygon += "66\n1\n";
1133
+ polygon += "70\n1\n";
1134
+ polygon += "10\n0.0\n20\n0.0\n30\n0.0\n";
1135
+
1136
+ if(options.useStrokeThickness && strokeThickness && strokeThickness >= Number.EPSILON) {
1108
1137
  polygon += "40\n" + strokeThickness.toPrecision(4) + "\n";
1109
1138
  polygon += "41\n" + strokeThickness.toPrecision(4) + "\n";
1110
-
1111
- for (const point of points) {
1112
- polygon += "0\nVERTEX\n";
1113
- polygon += "5\n" + newHandle() + "\n";
1114
- polygon += "330\n" + handle + "\n";
1115
- polygon += "100\nAcDbEntity\n";
1116
- polygon += "8\n" + layer.toString() + "\n";
1117
- polygon += "100\nAcDbVertex\n";
1118
- polygon += "100\nAcDb2dVertex\n";
1119
- polygon += "70\n0\n";
1120
- polygon += "10\n" + point.x.toString() + "\n";
1121
- polygon += "20\n" + invert(point.y, height).toString() + "\n";
1122
- polygon += "30\n0.0\n";
1123
- }
1124
-
1125
- polygon += "0\nSEQEND\n";
1139
+ }
1140
+
1141
+ for (const point of points) {
1142
+ polygon += "0\nVERTEX\n";
1126
1143
  polygon += "5\n" + newHandle() + "\n";
1144
+ polygon += "330\n" + handle + "\n";
1127
1145
  polygon += "100\nAcDbEntity\n";
1128
1146
  polygon += "8\n" + layer.toString() + "\n";
1129
- polygon += "330\n" + handle + "\n";
1147
+ polygon += "100\nAcDbVertex\n";
1148
+ polygon += "100\nAcDb2dVertex\n";
1149
+ polygon += "70\n0\n";
1150
+ polygon += "10\n" + point.x.toString() + "\n";
1151
+ polygon += "20\n" + invert(point.y, height).toString() + "\n";
1152
+ polygon += "30\n0.0\n";
1130
1153
  }
1131
1154
 
1155
+ polygon += "0\nSEQEND\n";
1156
+ polygon += "5\n" + newHandle() + "\n";
1157
+ polygon += "100\nAcDbEntity\n";
1158
+ polygon += "8\n" + layer.toString() + "\n";
1159
+ polygon += "330\n" + handle + "\n";
1160
+
1132
1161
  return polygon;
1133
1162
  }
1134
1163
 
@@ -1144,6 +1173,10 @@ function randomID(): string {
1144
1173
  return "xxxxxxxxxxxxxxxx".replaceAll("x", () => (Math.round(Math.random() * 16)).toString(16)).toLocaleUpperCase();
1145
1174
  }
1146
1175
 
1176
+ function isBlack(color: Color): boolean {
1177
+ return color.r === 0 && color.g === 0 && color.b === 0;
1178
+ }
1179
+
1147
1180
  function colorToInteger(color: Color): number {
1148
1181
  const colorAsInt = (color.r << 16) + (color.g << 8) + color.b;
1149
1182
  if(Number.isNaN(colorAsInt)) {