@eclipse-glsp/graph 1.1.0-next.28838fb.26 → 1.1.0-next.35b3b9d.33

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.
Files changed (82) hide show
  1. package/lib/default-types.d.ts.map +1 -1
  2. package/lib/default-types.js +7 -4
  3. package/lib/default-types.js.map +1 -1
  4. package/lib/galignable.d.ts +1 -1
  5. package/lib/galignable.d.ts.map +1 -1
  6. package/lib/{gbound-aware.d.ts → gbounds-aware.d.ts} +2 -2
  7. package/lib/gbounds-aware.d.ts.map +1 -0
  8. package/lib/{gbound-aware.js → gbounds-aware.js} +1 -1
  9. package/lib/gbounds-aware.js.map +1 -0
  10. package/lib/gcompartment.d.ts +3 -25
  11. package/lib/gcompartment.d.ts.map +1 -1
  12. package/lib/gcompartment.js +4 -12
  13. package/lib/gcompartment.js.map +1 -1
  14. package/lib/gedge-layoutable.d.ts +5 -5
  15. package/lib/gedge-layoutable.d.ts.map +1 -1
  16. package/lib/gedge-layoutable.js +1 -4
  17. package/lib/gedge-layoutable.js.map +1 -1
  18. package/lib/ggraph.d.ts +9 -3
  19. package/lib/ggraph.d.ts.map +1 -1
  20. package/lib/ggraph.js +13 -5
  21. package/lib/ggraph.js.map +1 -1
  22. package/lib/ghtmlroot.d.ts +14 -0
  23. package/lib/ghtmlroot.d.ts.map +1 -0
  24. package/lib/ghtmlroot.js +42 -0
  25. package/lib/ghtmlroot.js.map +1 -0
  26. package/lib/gissue-marker.d.ts +2 -1
  27. package/lib/gissue-marker.d.ts.map +1 -1
  28. package/lib/gissue-marker.js +3 -0
  29. package/lib/gissue-marker.js.map +1 -1
  30. package/lib/glabel.d.ts +3 -3
  31. package/lib/glabel.d.ts.map +1 -1
  32. package/lib/glabel.js.map +1 -1
  33. package/lib/glayoutable.d.ts +1 -1
  34. package/lib/glayoutable.d.ts.map +1 -1
  35. package/lib/{glayout-container.d.ts → glayouting.d.ts} +8 -8
  36. package/lib/glayouting.d.ts.map +1 -0
  37. package/lib/glayouting.js +17 -0
  38. package/lib/glayouting.js.map +1 -0
  39. package/lib/gmodel-element.d.ts +6 -5
  40. package/lib/gmodel-element.d.ts.map +1 -1
  41. package/lib/gmodel-element.js +2 -5
  42. package/lib/gmodel-element.js.map +1 -1
  43. package/lib/gmodel-util.d.ts +1 -1
  44. package/lib/gmodel-util.d.ts.map +1 -1
  45. package/lib/gnode.d.ts +7 -3
  46. package/lib/gnode.d.ts.map +1 -1
  47. package/lib/gnode.js +9 -4
  48. package/lib/gnode.js.map +1 -1
  49. package/lib/gshape-element.d.ts +1 -1
  50. package/lib/gshape-element.d.ts.map +1 -1
  51. package/lib/gshape-element.js +4 -4
  52. package/lib/gshape-element.js.map +1 -1
  53. package/lib/{gpre-shape-prerendered-element.d.ts → gshaped-prerendered-element.d.ts} +6 -6
  54. package/lib/gshaped-prerendered-element.d.ts.map +1 -0
  55. package/lib/{gpre-shape-prerendered-element.js → gshaped-prerendered-element.js} +9 -9
  56. package/lib/gshaped-prerendered-element.js.map +1 -0
  57. package/lib/index.d.ts +4 -3
  58. package/lib/index.d.ts.map +1 -1
  59. package/lib/index.js +9 -4
  60. package/lib/index.js.map +1 -1
  61. package/package.json +8 -7
  62. package/src/default-types.ts +8 -4
  63. package/src/{gbound-aware.ts → gbounds-aware.ts} +0 -0
  64. package/src/gcompartment.ts +5 -18
  65. package/src/gedge-layoutable.ts +3 -3
  66. package/src/ggraph.ts +16 -3
  67. package/src/ghtmlroot.ts +38 -0
  68. package/src/gissue-marker.ts +4 -0
  69. package/src/glabel.ts +3 -3
  70. package/src/{glayout-container.ts → glayouting.ts} +8 -8
  71. package/src/gmodel-element.ts +3 -2
  72. package/src/gnode.ts +11 -4
  73. package/src/gshape-element.ts +1 -1
  74. package/src/{gpre-shape-prerendered-element.ts → gshaped-prerendered-element.ts} +6 -6
  75. package/src/index.ts +4 -3
  76. package/lib/gbound-aware.d.ts.map +0 -1
  77. package/lib/gbound-aware.js.map +0 -1
  78. package/lib/glayout-container.d.ts.map +0 -1
  79. package/lib/glayout-container.js +0 -17
  80. package/lib/glayout-container.js.map +0 -1
  81. package/lib/gpre-shape-prerendered-element.d.ts.map +0 -1
  82. package/lib/gpre-shape-prerendered-element.js.map +0 -1
@@ -15,21 +15,21 @@
15
15
  ********************************************************************************/
16
16
  import { GModelElement, GModelElementBuilder } from './gmodel-element';
17
17
 
18
- export const GLayoutContainer = Symbol('GLayoutContainer');
18
+ export const GLayouting = Symbol('GLayouting');
19
19
 
20
- export interface GLayoutContainer {
20
+ export interface GLayouting {
21
21
  layout?: string;
22
- [GLayoutContainer]: boolean;
22
+ [GLayouting]: boolean;
23
23
  }
24
24
 
25
- export function isGLayoutContainer<G extends GModelElement>(element: G): element is G & GLayoutContainer {
26
- return ((element as any)[GLayoutContainer] = true);
25
+ export function isGLayouting<G extends GModelElement>(element: G): element is G & GLayouting {
26
+ return ((element as any)[GLayouting] = true);
27
27
  }
28
28
 
29
- export type GLayoutContainerBuilder = GModelElementBuilder<GModelElement & GLayoutContainer>;
29
+ export type GLayoutingBuilder = GModelElementBuilder<GModelElement & GLayouting>;
30
30
 
31
- export namespace GLayoutContainerBuilder {
32
- export function layout<B extends GLayoutContainerBuilder>(builder: B, newLayout?: string): B {
31
+ export namespace GLayoutingBuilder {
32
+ export function layout<B extends GLayoutingBuilder>(builder: B, newLayout?: string): B {
33
33
  builder['proxy'].layout = newLayout;
34
34
  return builder;
35
35
  }
@@ -63,7 +63,8 @@ export abstract class GModelElement implements GModelElementSchema {
63
63
  * A set of css classes that should be applied to the DOM element that corresponds to this element.
64
64
  */
65
65
  cssClasses: string[] = [];
66
- /** A `GModelElement can have an arbitrary amount of children. This parent-child relation ship is also reflected in
66
+ /**
67
+ * A `GModelElement can have an arbitrary amount of children. This parent-child relation ship is also reflected in
67
68
  * the corresponding DOM element i.e. DOM elements that reflect children of this element are also children
68
69
  * of the DOM element that reflects this element.
69
70
  */
@@ -194,7 +195,7 @@ export class GModelRoot extends GModelElement implements SModelRootSchema {
194
195
  }
195
196
 
196
197
  canvasBounds?: Bounds;
197
- revision = 0;
198
+ revision?: number;
198
199
  }
199
200
 
200
201
  export class GModelRootBuilder<G extends GModelRoot = GModelRoot> extends GModelElementBuilder<G> {
package/src/gnode.ts CHANGED
@@ -14,21 +14,28 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { DefaultTypes } from '@eclipse-glsp/protocol';
17
- import { GLayoutContainer, GLayoutContainerBuilder } from './glayout-container';
17
+ import { GEdgeLayoutable, GEdgeLayoutableBuilder, GEdgePlacement } from './gedge-layoutable';
18
+ import { GLayouting, GLayoutingBuilder } from './glayouting';
18
19
  import { GShapeElement, GShapeElementBuilder } from './gshape-element';
19
20
 
20
- export class GNode extends GShapeElement implements GLayoutContainer {
21
+ export class GNode extends GShapeElement implements GEdgeLayoutable, GLayouting {
21
22
  static builder(): GNodeBuilder {
22
23
  return new GNodeBuilder(GNode).type(DefaultTypes.NODE);
23
24
  }
24
25
 
25
26
  override type = DefaultTypes.NODE;
27
+ edgePlacement?: GEdgePlacement;
26
28
  layout?: string;
27
- [GLayoutContainer] = true;
29
+ [GEdgeLayoutable] = true;
30
+ [GLayouting] = true;
28
31
  }
29
32
 
30
33
  export class GNodeBuilder<G extends GNode = GNode> extends GShapeElementBuilder<G> {
34
+ edgePlacement(placement: GEdgePlacement): this {
35
+ return GEdgeLayoutableBuilder.edgePlacement(this, placement);
36
+ }
37
+
31
38
  layout(layout?: string): this {
32
- return GLayoutContainerBuilder.layout(this, layout);
39
+ return GLayoutingBuilder.layout(this, layout);
33
40
  }
34
41
  }
@@ -14,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { Args, Dimension, JsonPrimitive, Point } from '@eclipse-glsp/protocol';
17
- import { GBoundsAware, GBoundsAwareBuilder } from './gbound-aware';
17
+ import { GBoundsAware, GBoundsAwareBuilder } from './gbounds-aware';
18
18
  import { GLayoutable, GLayoutableBuilder } from './glayoutable';
19
19
  import { GModelElement, GModelElementBuilder } from './gmodel-element';
20
20
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  import { Dimension, Point } from '@eclipse-glsp/protocol';
18
18
  import { GAlignable } from './galignable';
19
- import { GBoundsAware, GBoundsAwareBuilder } from './gbound-aware';
19
+ import { GBoundsAware, GBoundsAwareBuilder } from './gbounds-aware';
20
20
  import { GModelElementBuilder } from './gmodel-element';
21
21
  import { GPreRenderedElement } from './gpre-rendered-element';
22
22
 
@@ -27,20 +27,20 @@ import { GPreRenderedElement } from './gpre-rendered-element';
27
27
  * A popup model is rendered when hovering over a element and for many common use cases e.g rendering a tooltip
28
28
  * this model can be computed entirely on the server side.
29
29
  */
30
- export class GShapePreRenderedElement extends GPreRenderedElement implements GBoundsAware, GAlignable {
30
+ export class GShapedPreRenderedElement extends GPreRenderedElement implements GBoundsAware, GAlignable {
31
31
  static override builder(): GShapePreRenderedElementBuilder {
32
- return new GShapePreRenderedElementBuilder(GShapePreRenderedElement);
32
+ return new GShapePreRenderedElementBuilder(GShapedPreRenderedElement);
33
33
  }
34
34
 
35
- [GBoundsAware] = true;
36
- [GAlignable] = true;
37
35
  position: Point;
38
36
  size: Dimension;
39
37
  alignment: Point;
38
+ [GBoundsAware] = true;
39
+ [GAlignable] = true;
40
40
  }
41
41
 
42
42
  export class GShapePreRenderedElementBuilder<
43
- G extends GShapePreRenderedElement = GShapePreRenderedElement
43
+ G extends GShapedPreRenderedElement = GShapedPreRenderedElement
44
44
  > extends GModelElementBuilder<G> {
45
45
  code(code: string): this {
46
46
  this.proxy.code = code;
package/src/index.ts CHANGED
@@ -15,20 +15,21 @@
15
15
  ********************************************************************************/
16
16
  export * from './default-types';
17
17
  export * from './galignable';
18
- export * from './gbound-aware';
18
+ export * from './gbounds-aware';
19
19
  export * from './gbutton';
20
20
  export * from './gcompartment';
21
21
  export * from './gedge';
22
22
  export * from './gedge-layoutable';
23
23
  export * from './ggraph';
24
+ export * from './ghtmlroot';
24
25
  export * from './gissue-marker';
25
26
  export * from './glabel';
26
- export * from './glayout-container';
27
27
  export * from './glayoutable';
28
+ export * from './glayouting';
28
29
  export * from './gmodel-element';
29
30
  export * from './gmodel-util';
30
31
  export * from './gnode';
31
32
  export * from './gport';
32
33
  export * from './gpre-rendered-element';
33
- export * from './gpre-shape-prerendered-element';
34
34
  export * from './gshape-element';
35
+ export * from './gshaped-prerendered-element';
@@ -1 +0,0 @@
1
- {"version":3,"file":"gbound-aware.d.ts","sourceRoot":"","sources":["../src/gbound-aware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,eAAO,MAAM,YAAY,eAAyB,CAAC;AAEnD,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,aAAa,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,YAAY,CAE/F;AAED,oBAAY,mBAAmB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,oBAAoB,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;AAElH,yBAAiB,mBAAmB,CAAC;IACjC,SAAgB,QAAQ,CAAC,CAAC,SAAS,mBAAmB,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAQ3G;IAED,SAAgB,IAAI,CAAC,CAAC,SAAS,mBAAmB,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,CAQnH;CACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gbound-aware.js","sourceRoot":"","sources":["../src/gbound-aware.ts"],"names":[],"mappings":";;;AAkBa,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAQnD,SAAgB,cAAc,CAA0B,OAAU;IAC9D,OAAO,CAAE,OAAe,CAAC,oBAAY,CAAC,GAAG,IAAI,CAAC,CAAC;AACnD,CAAC;AAFD,wCAEC;AAID,IAAiB,mBAAmB,CAoBnC;AApBD,WAAiB,mBAAmB;IAChC,SAAgB,QAAQ,CAAgC,OAAU,EAAE,QAAwB,EAAE,CAAU;QACpG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC7B;aAAM,IAAI,CAAC,EAAE;YACV,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;SACvC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IARe,4BAAQ,WAQvB,CAAA;IAED,SAAgB,IAAI,CAAgC,OAAU,EAAE,WAA+B,EAAE,MAAe;QAC5G,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACjC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;SAC5B;aAAM,IAAI,MAAM,EAAE;YACf,KAAK,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;SAC/C;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IARe,wBAAI,OAQnB,CAAA;AACL,CAAC,EApBgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAoBnC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"glayout-container.d.ts","sourceRoot":"","sources":["../src/glayout-container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,aAAa,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,gBAAgB,CAEvG;AAED,oBAAY,uBAAuB,GAAG,oBAAoB,CAAC,aAAa,GAAG,gBAAgB,CAAC,CAAC;AAE7F,yBAAiB,uBAAuB,CAAC;IACrC,SAAgB,MAAM,CAAC,CAAC,SAAS,uBAAuB,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAG3F;CACJ"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GLayoutContainerBuilder = exports.isGLayoutContainer = exports.GLayoutContainer = void 0;
4
- exports.GLayoutContainer = Symbol('GLayoutContainer');
5
- function isGLayoutContainer(element) {
6
- return (element[exports.GLayoutContainer] = true);
7
- }
8
- exports.isGLayoutContainer = isGLayoutContainer;
9
- var GLayoutContainerBuilder;
10
- (function (GLayoutContainerBuilder) {
11
- function layout(builder, newLayout) {
12
- builder['proxy'].layout = newLayout;
13
- return builder;
14
- }
15
- GLayoutContainerBuilder.layout = layout;
16
- })(GLayoutContainerBuilder = exports.GLayoutContainerBuilder || (exports.GLayoutContainerBuilder = {}));
17
- //# sourceMappingURL=glayout-container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glayout-container.js","sourceRoot":"","sources":["../src/glayout-container.ts"],"names":[],"mappings":";;;AAiBa,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAO3D,SAAgB,kBAAkB,CAA0B,OAAU;IAClE,OAAO,CAAE,OAAe,CAAC,wBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;AACvD,CAAC;AAFD,gDAEC;AAID,IAAiB,uBAAuB,CAKvC;AALD,WAAiB,uBAAuB;IACpC,SAAgB,MAAM,CAAoC,OAAU,EAAE,SAAkB;QACpF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC;QACpC,OAAO,OAAO,CAAC;IACnB,CAAC;IAHe,8BAAM,SAGrB,CAAA;AACL,CAAC,EALgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAKvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gpre-shape-prerendered-element.d.ts","sourceRoot":"","sources":["../src/gpre-shape-prerendered-element.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,mBAAoB,YAAW,YAAY,EAAE,UAAU;WACjF,OAAO,IAAI,+BAA+B;IAI1D,CAAC,YAAY,CAAC,UAAQ;IACtB,CAAC,UAAU,CAAC,UAAQ;IACpB,QAAQ,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC;CACpB;AAED,qBAAa,+BAA+B,CACxC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CAC/D,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IACpC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI;IAK/B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IACzC,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;CAI9B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gpre-shape-prerendered-element.js","sourceRoot":"","sources":["../src/gpre-shape-prerendered-element.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;AAGlF,6CAA0C;AAC1C,iDAAmE;AACnE,qDAAwD;AACxD,mEAA8D;AAE9D;;;;;;GAMG;AACH,MAAa,wBAAyB,SAAQ,2CAAmB;IAAjE;;QAKI,QAAc,GAAG,IAAI,CAAC;QACtB,QAAY,GAAG,IAAI,CAAC;IAIxB,CAAC;IATG,MAAM,CAAU,OAAO;QACnB,OAAO,IAAI,+BAA+B,CAAC,wBAAwB,CAAC,CAAC;IACzE,CAAC;CAOJ;AAVD,4DAUC;KALI,2BAAY,OACZ,uBAAU;AAMf,MAAa,+BAEX,SAAQ,qCAAuB;IAC7B,IAAI,CAAC,IAAY;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAID,QAAQ,CAAC,QAAwB,EAAE,CAAU;QACzC,OAAO,kCAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAID,IAAI,CAAC,WAA+B,EAAE,MAAe;QACjD,OAAO,kCAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;CACJ;AAnBD,0EAmBC"}