docx-plus 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -6463,6 +6463,49 @@ var BuilderElement = class extends XmlComponent {
6463
6463
  if (children) this.root.push(...children);
6464
6464
  }
6465
6465
  };
6466
+ /**
6467
+ * Creates a NextAttributeComponent with explicit XML attribute keys.
6468
+ *
6469
+ * This is the correct way to add non-w: namespace attributes (c:, a:, dgm:, r:)
6470
+ * to XmlComponent elements. Unlike XmlAttributeComponent which maps through xmlKeys,
6471
+ * this function takes explicit XML attribute names directly.
6472
+ *
6473
+ * @param attrs - Object with full XML attribute names (e.g., "c:val", "dgm:modelId")
6474
+ * @returns A NextAttributeComponent that produces correct _attr XML
6475
+ *
6476
+ * @example
6477
+ * ```typescript
6478
+ * // Push directly into root for attributes on the element itself:
6479
+ * this.root.push(chartAttr({ "c:idx": 0 }));
6480
+ *
6481
+ * // Wrap in a named element for child elements with attributes:
6482
+ * this.root.push(wrapEl("c:barDir", chartAttr({ "c:val": "col" })));
6483
+ * ```
6484
+ */
6485
+ const chartAttr = (attrs) => new NextAttributeComponent(Object.fromEntries(Object.entries(attrs).map(([key, value]) => [key, {
6486
+ key,
6487
+ value
6488
+ }])));
6489
+ /**
6490
+ * Wraps a component in a named XmlComponent element.
6491
+ *
6492
+ * Used with chartAttr to create child elements with attributes:
6493
+ * wrapEl("c:barDir", chartAttr({ "c:val": "col" }))
6494
+ * produces <c:barDir c:val="col"/>
6495
+ *
6496
+ * @param elementName - The XML element name
6497
+ * @param child - The child component (typically a NextAttributeComponent from chartAttr)
6498
+ * @returns An XmlComponent with the given name wrapping the child
6499
+ */
6500
+ function wrapEl(elementName, child) {
6501
+ const el = new class extends XmlComponent {
6502
+ constructor(name) {
6503
+ super(name);
6504
+ }
6505
+ }(elementName);
6506
+ el["root"].push(child);
6507
+ return el;
6508
+ }
6466
6509
  //#endregion
6467
6510
  //#region src/file/paragraph/formatting/alignment.ts
6468
6511
  /**
@@ -14012,6 +14055,64 @@ var GraphicData = class extends XmlComponent {
14012
14055
  effects: md.effects
14013
14056
  });
14014
14057
  this.root.push(wpg);
14058
+ } else if (mediaData.type === "chart") {
14059
+ this.root.push(new GraphicDataAttributes({ uri: "http://schemas.openxmlformats.org/drawingml/2006/chart" }));
14060
+ const md = mediaData;
14061
+ const chartRef = new class extends XmlComponent {
14062
+ constructor() {
14063
+ super("c:chart");
14064
+ }
14065
+ }();
14066
+ chartRef["root"].push(new NextAttributeComponent({
14067
+ xmlnsC: {
14068
+ key: "xmlns:c",
14069
+ value: "http://schemas.openxmlformats.org/drawingml/2006/chart"
14070
+ },
14071
+ xmlnsR: {
14072
+ key: "xmlns:r",
14073
+ value: "http://schemas.openxmlformats.org/officeDocument/2006/relationships"
14074
+ },
14075
+ rId: {
14076
+ key: "r:id",
14077
+ value: `rId{chart:${md.chartKey}}`
14078
+ }
14079
+ }));
14080
+ this.root.push(chartRef);
14081
+ } else if (mediaData.type === "smartart") {
14082
+ this.root.push(new GraphicDataAttributes({ uri: "http://schemas.openxmlformats.org/drawingml/2006/diagram" }));
14083
+ const md = mediaData;
14084
+ const relIds = new class extends XmlComponent {
14085
+ constructor() {
14086
+ super("dgm:relIds");
14087
+ }
14088
+ }();
14089
+ relIds["root"].push(new NextAttributeComponent({
14090
+ xmlnsDgm: {
14091
+ key: "xmlns:dgm",
14092
+ value: "http://schemas.openxmlformats.org/drawingml/2006/diagram"
14093
+ },
14094
+ xmlnsR: {
14095
+ key: "xmlns:r",
14096
+ value: "http://schemas.openxmlformats.org/officeDocument/2006/relationships"
14097
+ },
14098
+ rCs: {
14099
+ key: "r:cs",
14100
+ value: `rId{smartart-cs:${md.smartArtKey}}`
14101
+ },
14102
+ rDm: {
14103
+ key: "r:dm",
14104
+ value: `rId{smartart:${md.smartArtKey}}`
14105
+ },
14106
+ rLo: {
14107
+ key: "r:lo",
14108
+ value: `rId{smartart-lo:${md.smartArtKey}}`
14109
+ },
14110
+ rQs: {
14111
+ key: "r:qs",
14112
+ value: `rId{smartart-qs:${md.smartArtKey}}`
14113
+ }
14114
+ }));
14115
+ this.root.push(relIds);
14015
14116
  } else {
14016
14117
  this.root.push(new GraphicDataAttributes({ uri: "http://schemas.openxmlformats.org/drawingml/2006/picture" }));
14017
14118
  const pic = new Pic({
@@ -15222,6 +15323,896 @@ var ImageRun = class extends Run {
15222
15323
  }
15223
15324
  };
15224
15325
  //#endregion
15326
+ //#region src/file/chart/axes/axes.ts
15327
+ /**
15328
+ * Chart axes — c:catAx and c:valAx.
15329
+ *
15330
+ * @module
15331
+ */
15332
+ /**
15333
+ * c:catAx — category axis.
15334
+ */
15335
+ var CatAx = class extends XmlComponent {
15336
+ constructor(axId, crossAx) {
15337
+ super("c:catAx");
15338
+ this.root.push(wrapEl("c:axId", chartAttr({ val: axId })));
15339
+ this.root.push(wrapEl("c:crossAx", chartAttr({ val: crossAx })));
15340
+ this.root.push(new EmptyElement("c:scaling"));
15341
+ this.root.push(new EmptyElement("c:delete"));
15342
+ this.root.push(wrapEl("c:axPos", chartAttr({ val: "b" })));
15343
+ this.root.push(wrapEl("c:auto", chartAttr({ val: true })));
15344
+ this.root.push(wrapEl("c:lblOffset", chartAttr({ val: "100" })));
15345
+ this.root.push(wrapEl("c:noMultiLvlLbl", chartAttr({ val: false })));
15346
+ }
15347
+ };
15348
+ /**
15349
+ * c:valAx — value axis.
15350
+ */
15351
+ var ValAx = class extends XmlComponent {
15352
+ constructor(axId, crossAx) {
15353
+ super("c:valAx");
15354
+ this.root.push(wrapEl("c:axId", chartAttr({ val: axId })));
15355
+ this.root.push(wrapEl("c:crossAx", chartAttr({ val: crossAx })));
15356
+ this.root.push(new EmptyElement("c:scaling"));
15357
+ this.root.push(new EmptyElement("c:delete"));
15358
+ this.root.push(wrapEl("c:axPos", chartAttr({ val: "l" })));
15359
+ this.root.push(wrapEl("c:numFmt", chartAttr({
15360
+ formatCode: "General",
15361
+ sourceLinked: true
15362
+ })));
15363
+ this.root.push(new EmptyElement("c:majorTickMark"));
15364
+ this.root.push(new EmptyElement("c:minorTickMark"));
15365
+ this.root.push(new EmptyElement("c:tickLblPos"));
15366
+ this.root.push(new EmptyElement("c:spPr"));
15367
+ }
15368
+ };
15369
+ //#endregion
15370
+ //#region src/file/chart/series/series-data.ts
15371
+ /**
15372
+ * Chart series data helpers — creates c:strRef and c:numRef structures.
15373
+ *
15374
+ * @module
15375
+ */
15376
+ /**
15377
+ * Creates a c:strRef element with string literal cache.
15378
+ */
15379
+ const createStrRef = (values) => {
15380
+ return new StrRef(typeof values === "string" ? [values] : values);
15381
+ };
15382
+ /**
15383
+ * Creates a c:numRef element with numeric literal cache.
15384
+ */
15385
+ const createNumRef = (values) => new NumRef(values);
15386
+ var StrRef = class extends XmlComponent {
15387
+ constructor(values) {
15388
+ super("c:strRef");
15389
+ this.root.push(new EmptyElement("c:f"));
15390
+ this.root.push(new StrCache(values));
15391
+ }
15392
+ };
15393
+ var StrCache = class extends XmlComponent {
15394
+ constructor(values) {
15395
+ super("c:strCache");
15396
+ this.root.push(wrapEl("c:ptCount", chartAttr({ val: values.length })));
15397
+ for (let i = 0; i < values.length; i++) this.root.push(new StrPt(i, values[i]));
15398
+ }
15399
+ };
15400
+ var StrPt = class extends XmlComponent {
15401
+ constructor(index, value) {
15402
+ super("c:pt");
15403
+ this.root.push(chartAttr({ idx: index }));
15404
+ this.root.push(new StringValue("c:v", value));
15405
+ }
15406
+ };
15407
+ var NumRef = class extends XmlComponent {
15408
+ constructor(values) {
15409
+ super("c:numRef");
15410
+ this.root.push(new EmptyElement("c:f"));
15411
+ this.root.push(new NumCache(values));
15412
+ }
15413
+ };
15414
+ var NumCache = class extends XmlComponent {
15415
+ constructor(values) {
15416
+ super("c:numCache");
15417
+ this.root.push(wrapEl("c:ptCount", chartAttr({ val: values.length })));
15418
+ this.root.push(new FormatCode("General"));
15419
+ for (let i = 0; i < values.length; i++) this.root.push(new NumPt(i, values[i]));
15420
+ }
15421
+ };
15422
+ var NumPt = class extends XmlComponent {
15423
+ constructor(index, value) {
15424
+ super("c:pt");
15425
+ this.root.push(chartAttr({ idx: index }));
15426
+ this.root.push(new StringValue("c:v", String(value)));
15427
+ }
15428
+ };
15429
+ var FormatCode = class extends XmlComponent {
15430
+ constructor(code) {
15431
+ super("c:formatCode");
15432
+ this.root.push(code);
15433
+ }
15434
+ };
15435
+ var StringValue = class extends XmlComponent {
15436
+ constructor(name, val) {
15437
+ super(name);
15438
+ this.root.push(val);
15439
+ }
15440
+ };
15441
+ //#endregion
15442
+ //#region src/file/chart/chart-types/area-chart.ts
15443
+ /**
15444
+ * Area chart XML component (c:areaChart).
15445
+ *
15446
+ * @module
15447
+ */
15448
+ var AreaChart = class extends XmlComponent {
15449
+ constructor(options) {
15450
+ super("c:areaChart");
15451
+ this.root.push(wrapEl("c:grouping", chartAttr({ val: "standard" })));
15452
+ for (let i = 0; i < options.series.length; i++) this.root.push(new AreaSeries(i, options.series[i], options.categories));
15453
+ this.root.push(wrapEl("c:axId", chartAttr({ val: 10 })));
15454
+ this.root.push(wrapEl("c:axId", chartAttr({ val: 20 })));
15455
+ }
15456
+ };
15457
+ var AreaSeries = class extends XmlComponent {
15458
+ constructor(index, series, categories) {
15459
+ super("c:ser");
15460
+ this.root.push(wrapEl("c:idx", chartAttr({ val: index })));
15461
+ this.root.push(wrapEl("c:order", chartAttr({ val: index })));
15462
+ this.root.push(new SeriesTx$4(series.name));
15463
+ this.root.push(new SeriesCat$3(categories));
15464
+ this.root.push(new SeriesVal$3(series.values));
15465
+ this.root.push(new EmptyElement("c:spPr"));
15466
+ }
15467
+ };
15468
+ var SeriesTx$4 = class extends XmlComponent {
15469
+ constructor(name) {
15470
+ super("c:tx");
15471
+ this.root.push(createStrRef(name));
15472
+ }
15473
+ };
15474
+ var SeriesCat$3 = class extends XmlComponent {
15475
+ constructor(categories) {
15476
+ super("c:cat");
15477
+ this.root.push(createStrRef(categories));
15478
+ }
15479
+ };
15480
+ var SeriesVal$3 = class extends XmlComponent {
15481
+ constructor(values) {
15482
+ super("c:val");
15483
+ this.root.push(createNumRef(values));
15484
+ }
15485
+ };
15486
+ //#endregion
15487
+ //#region src/file/chart/chart-types/bar-chart.ts
15488
+ /**
15489
+ * Bar/Column chart XML component (c:barChart).
15490
+ *
15491
+ * @module
15492
+ */
15493
+ /**
15494
+ * CT_BarChart — bar or column chart type.
15495
+ */
15496
+ var BarChart = class extends XmlComponent {
15497
+ constructor(options) {
15498
+ super("c:barChart");
15499
+ this.root.push(wrapEl("c:barDir", chartAttr({ val: options.barDirection })));
15500
+ this.root.push(wrapEl("c:grouping", chartAttr({ val: "clustered" })));
15501
+ for (let i = 0; i < options.series.length; i++) this.root.push(new BarSeries(i, options.series[i], options.categories));
15502
+ this.root.push(wrapEl("c:axId", chartAttr({ val: 10 })));
15503
+ this.root.push(wrapEl("c:axId", chartAttr({ val: 20 })));
15504
+ }
15505
+ };
15506
+ var BarSeries = class extends XmlComponent {
15507
+ constructor(index, series, categories) {
15508
+ super("c:ser");
15509
+ this.root.push(wrapEl("c:idx", chartAttr({ val: index })));
15510
+ this.root.push(wrapEl("c:order", chartAttr({ val: index })));
15511
+ this.root.push(new SeriesTx$3(series.name));
15512
+ this.root.push(new SeriesCat$2(categories));
15513
+ this.root.push(new SeriesVal$2(series.values));
15514
+ this.root.push(new EmptyElement("c:spPr"));
15515
+ }
15516
+ };
15517
+ var SeriesTx$3 = class extends XmlComponent {
15518
+ constructor(name) {
15519
+ super("c:tx");
15520
+ this.root.push(createStrRef(name));
15521
+ }
15522
+ };
15523
+ var SeriesCat$2 = class extends XmlComponent {
15524
+ constructor(categories) {
15525
+ super("c:cat");
15526
+ this.root.push(createStrRef(categories));
15527
+ }
15528
+ };
15529
+ var SeriesVal$2 = class extends XmlComponent {
15530
+ constructor(values) {
15531
+ super("c:val");
15532
+ this.root.push(createNumRef(values));
15533
+ }
15534
+ };
15535
+ //#endregion
15536
+ //#region src/file/chart/chart-types/line-chart.ts
15537
+ /**
15538
+ * Line chart XML component (c:lineChart).
15539
+ *
15540
+ * @module
15541
+ */
15542
+ var LineChart = class extends XmlComponent {
15543
+ constructor(options) {
15544
+ super("c:lineChart");
15545
+ this.root.push(wrapEl("c:grouping", chartAttr({ val: "standard" })));
15546
+ for (let i = 0; i < options.series.length; i++) this.root.push(new LineSeries(i, options.series[i], options.categories));
15547
+ this.root.push(wrapEl("c:axId", chartAttr({ val: 10 })));
15548
+ this.root.push(wrapEl("c:axId", chartAttr({ val: 20 })));
15549
+ }
15550
+ };
15551
+ var LineSeries = class extends XmlComponent {
15552
+ constructor(index, series, categories) {
15553
+ super("c:ser");
15554
+ this.root.push(wrapEl("c:idx", chartAttr({ val: index })));
15555
+ this.root.push(wrapEl("c:order", chartAttr({ val: index })));
15556
+ this.root.push(new SeriesTx$2(series.name));
15557
+ this.root.push(new SeriesCat$1(categories));
15558
+ this.root.push(new SeriesVal$1(series.values));
15559
+ this.root.push(new EmptyElement("c:spPr"));
15560
+ this.root.push(new Marker$1());
15561
+ }
15562
+ };
15563
+ var Marker$1 = class extends XmlComponent {
15564
+ constructor() {
15565
+ super("c:marker");
15566
+ this.root.push(wrapEl("c:symbol", chartAttr({ val: "none" })));
15567
+ }
15568
+ };
15569
+ var SeriesTx$2 = class extends XmlComponent {
15570
+ constructor(name) {
15571
+ super("c:tx");
15572
+ this.root.push(createStrRef(name));
15573
+ }
15574
+ };
15575
+ var SeriesCat$1 = class extends XmlComponent {
15576
+ constructor(categories) {
15577
+ super("c:cat");
15578
+ this.root.push(createStrRef(categories));
15579
+ }
15580
+ };
15581
+ var SeriesVal$1 = class extends XmlComponent {
15582
+ constructor(values) {
15583
+ super("c:val");
15584
+ this.root.push(createNumRef(values));
15585
+ }
15586
+ };
15587
+ //#endregion
15588
+ //#region src/file/chart/chart-types/pie-chart.ts
15589
+ /**
15590
+ * Pie chart XML component (c:pieChart).
15591
+ *
15592
+ * @module
15593
+ */
15594
+ var PieChart = class extends XmlComponent {
15595
+ constructor(options) {
15596
+ super("c:pieChart");
15597
+ this.root.push(wrapEl("c:varyColors", chartAttr({ val: true })));
15598
+ const series = options.series[0];
15599
+ if (series) this.root.push(new PieSeries(series, options.categories));
15600
+ }
15601
+ };
15602
+ var PieSeries = class extends XmlComponent {
15603
+ constructor(series, categories) {
15604
+ super("c:ser");
15605
+ this.root.push(wrapEl("c:idx", chartAttr({ val: 0 })));
15606
+ this.root.push(wrapEl("c:order", chartAttr({ val: 0 })));
15607
+ this.root.push(new SeriesTx$1(series.name));
15608
+ this.root.push(new SeriesCat(categories));
15609
+ this.root.push(new SeriesVal(series.values));
15610
+ for (let i = 0; i < categories.length; i++) this.root.push(wrapEl("c:dPt", chartAttr({ idx: i })));
15611
+ this.root.push(new EmptyElement("c:spPr"));
15612
+ }
15613
+ };
15614
+ var SeriesTx$1 = class extends XmlComponent {
15615
+ constructor(name) {
15616
+ super("c:tx");
15617
+ this.root.push(createStrRef(name));
15618
+ }
15619
+ };
15620
+ var SeriesCat = class extends XmlComponent {
15621
+ constructor(categories) {
15622
+ super("c:cat");
15623
+ this.root.push(createStrRef(categories));
15624
+ }
15625
+ };
15626
+ var SeriesVal = class extends XmlComponent {
15627
+ constructor(values) {
15628
+ super("c:val");
15629
+ this.root.push(createNumRef(values));
15630
+ }
15631
+ };
15632
+ //#endregion
15633
+ //#region src/file/chart/chart-types/scatter-chart.ts
15634
+ /**
15635
+ * Scatter chart XML component (c:scatterChart).
15636
+ *
15637
+ * @module
15638
+ */
15639
+ var ScatterChart = class extends XmlComponent {
15640
+ constructor(options) {
15641
+ super("c:scatterChart");
15642
+ for (let i = 0; i < options.series.length; i++) this.root.push(new ScatterSeries(i, options.series[i], options.categories));
15643
+ this.root.push(wrapEl("c:axId", chartAttr({ val: 10 })));
15644
+ this.root.push(wrapEl("c:axId", chartAttr({ val: 20 })));
15645
+ this.root.push(wrapEl("c:axId", chartAttr({ val: 30 })));
15646
+ }
15647
+ };
15648
+ var ScatterSeries = class extends XmlComponent {
15649
+ constructor(index, series, categories) {
15650
+ super("c:ser");
15651
+ this.root.push(wrapEl("c:idx", chartAttr({ val: index })));
15652
+ this.root.push(wrapEl("c:order", chartAttr({ val: index })));
15653
+ this.root.push(new SeriesTx(series.name));
15654
+ this.root.push(new XValues(categories));
15655
+ this.root.push(new YValues(series.values));
15656
+ this.root.push(new EmptyElement("c:spPr"));
15657
+ this.root.push(new Marker());
15658
+ }
15659
+ };
15660
+ var SeriesTx = class extends XmlComponent {
15661
+ constructor(_name) {
15662
+ super("c:tx");
15663
+ this.root.push(createNumRef([1]));
15664
+ }
15665
+ };
15666
+ var XValues = class extends XmlComponent {
15667
+ constructor(categories) {
15668
+ super("c:xVal");
15669
+ const xValues = categories.map((_, i) => i + 1);
15670
+ this.root.push(createNumRef(xValues));
15671
+ }
15672
+ };
15673
+ var YValues = class extends XmlComponent {
15674
+ constructor(values) {
15675
+ super("c:yVal");
15676
+ this.root.push(createNumRef(values));
15677
+ }
15678
+ };
15679
+ var Marker = class extends XmlComponent {
15680
+ constructor() {
15681
+ super("c:marker");
15682
+ this.root.push(wrapEl("c:symbol", chartAttr({ val: "circle" })));
15683
+ this.root.push(new EmptyElement("c:size"));
15684
+ }
15685
+ };
15686
+ //#endregion
15687
+ //#region src/file/chart/chart-types/create-chart-type.ts
15688
+ /**
15689
+ * Creates the appropriate chart type XML component.
15690
+ */
15691
+ const createChartType = (options) => {
15692
+ switch (options.type) {
15693
+ case "column":
15694
+ case "bar": return new BarChart({
15695
+ barDirection: options.type === "column" ? "col" : "bar",
15696
+ categories: options.categories,
15697
+ series: options.series
15698
+ });
15699
+ case "line": return new LineChart({
15700
+ categories: options.categories,
15701
+ series: options.series
15702
+ });
15703
+ case "pie": return new PieChart({
15704
+ categories: options.categories,
15705
+ series: options.series
15706
+ });
15707
+ case "area": return new AreaChart({
15708
+ categories: options.categories,
15709
+ series: options.series
15710
+ });
15711
+ case "scatter": return new ScatterChart({
15712
+ categories: options.categories,
15713
+ series: options.series
15714
+ });
15715
+ default: throw new Error(`Chart type "${options.type}" is not supported`);
15716
+ }
15717
+ };
15718
+ //#endregion
15719
+ //#region src/file/chart/title.ts
15720
+ /**
15721
+ * Chart title (c:title).
15722
+ *
15723
+ * @module
15724
+ */
15725
+ /**
15726
+ * c:title — chart title overlay.
15727
+ */
15728
+ var ChartTitle = class extends XmlComponent {
15729
+ constructor(title) {
15730
+ super("c:title");
15731
+ this.root.push(new TitleTx(title));
15732
+ this.root.push(new TitleOverlay());
15733
+ }
15734
+ };
15735
+ var TitleTx = class extends XmlComponent {
15736
+ constructor(title) {
15737
+ super("c:tx");
15738
+ const rich = new class extends XmlComponent {
15739
+ constructor() {
15740
+ super("c:rich");
15741
+ }
15742
+ }();
15743
+ rich["root"].push(new class extends XmlComponent {
15744
+ constructor() {
15745
+ super("a:bodyPr");
15746
+ }
15747
+ }());
15748
+ rich["root"].push(new class extends XmlComponent {
15749
+ constructor() {
15750
+ super("a:lstStyle");
15751
+ }
15752
+ }());
15753
+ const p = new class extends XmlComponent {
15754
+ constructor() {
15755
+ super("a:p");
15756
+ }
15757
+ }();
15758
+ const r = new class extends XmlComponent {
15759
+ constructor() {
15760
+ super("a:r");
15761
+ }
15762
+ }();
15763
+ r["root"].push(new class extends XmlComponent {
15764
+ constructor() {
15765
+ super("a:t");
15766
+ }
15767
+ }(title));
15768
+ p["root"].push(r);
15769
+ rich["root"].push(p);
15770
+ this.root.push(rich);
15771
+ }
15772
+ };
15773
+ var TitleOverlay = class extends XmlComponent {
15774
+ constructor() {
15775
+ super("c:overlay");
15776
+ this.root.push(chartAttr({ val: 0 }));
15777
+ }
15778
+ };
15779
+ //#endregion
15780
+ //#region src/file/chart/chart-space.ts
15781
+ /**
15782
+ * ChartSpace — root element for chart XML parts (c:chartSpace).
15783
+ *
15784
+ * @module
15785
+ */
15786
+ /**
15787
+ * c:chartSpace — root element for chart XML parts.
15788
+ */
15789
+ var ChartSpace = class extends XmlComponent {
15790
+ constructor(options) {
15791
+ super("c:chartSpace");
15792
+ this.root.push(chartAttr({
15793
+ "xmlns:a": "http://schemas.openxmlformats.org/drawingml/2006/main",
15794
+ "xmlns:c": "http://schemas.openxmlformats.org/drawingml/2006/chart",
15795
+ "xmlns:r": "http://schemas.openxmlformats.org/officeDocument/2006/relationships"
15796
+ }));
15797
+ const chart = new ChartContainer();
15798
+ if (options.title) chart["root"].push(new ChartTitle(options.title));
15799
+ chart["root"].push(new EmptyElement("c:autoTitleDeleted"));
15800
+ const plotArea = new PlotArea();
15801
+ plotArea["root"].push(createChartType({
15802
+ categories: options.categories,
15803
+ series: options.series,
15804
+ type: options.type
15805
+ }));
15806
+ if (options.type !== "pie") if (options.type === "scatter") {
15807
+ plotArea["root"].push(new ValAx(10, 20));
15808
+ plotArea["root"].push(new ValAx(20, 10));
15809
+ } else {
15810
+ plotArea["root"].push(new CatAx(10, 20));
15811
+ plotArea["root"].push(new ValAx(20, 10));
15812
+ }
15813
+ chart["root"].push(plotArea);
15814
+ if (options.showLegend !== false) chart["root"].push(createLegend());
15815
+ this.root.push(chart);
15816
+ if (options.style !== void 0) this.root.push(new ChartStyle(options.style));
15817
+ }
15818
+ };
15819
+ var ChartContainer = class extends XmlComponent {
15820
+ constructor() {
15821
+ super("c:chart");
15822
+ }
15823
+ };
15824
+ var PlotArea = class extends XmlComponent {
15825
+ constructor() {
15826
+ super("c:plotArea");
15827
+ }
15828
+ };
15829
+ function createLegend() {
15830
+ const legend = new class extends XmlComponent {
15831
+ constructor() {
15832
+ super("c:legend");
15833
+ }
15834
+ }();
15835
+ legend["root"].push(new EmptyElement("c:legendPos"));
15836
+ legend["root"].push(new EmptyElement("c:layout"));
15837
+ legend["root"].push(new EmptyElement("c:overlay"));
15838
+ return legend;
15839
+ }
15840
+ var ChartStyle = class extends XmlComponent {
15841
+ constructor(val) {
15842
+ super("c:style");
15843
+ this.root.push(chartAttr({ val: String(val) }));
15844
+ }
15845
+ };
15846
+ //#endregion
15847
+ //#region src/file/paragraph/run/chart-run.ts
15848
+ /**
15849
+ * ChartRun module for embedding charts in WordprocessingML documents.
15850
+ *
15851
+ * Charts are stored as independent XML parts (word/charts/chart{n}.xml)
15852
+ * and referenced from document.xml via drawing relationships.
15853
+ *
15854
+ * @module
15855
+ */
15856
+ /**
15857
+ * Represents an embedded chart in a WordprocessingML document.
15858
+ *
15859
+ * @publicApi
15860
+ *
15861
+ * @example
15862
+ * ```typescript
15863
+ * new ChartRun({
15864
+ * type: "column",
15865
+ * data: {
15866
+ * categories: ["Q1", "Q2", "Q3", "Q4"],
15867
+ * series: [
15868
+ * { name: "Sales", values: [100, 200, 300, 400] },
15869
+ * ],
15870
+ * },
15871
+ * transformation: { width: 500, height: 300 },
15872
+ * title: "Quarterly Sales",
15873
+ * });
15874
+ * ```
15875
+ */
15876
+ var ChartRun = class extends Run {
15877
+ constructor(options) {
15878
+ super({});
15879
+ _defineProperty(this, "chartOptions", void 0);
15880
+ _defineProperty(this, "chartKey", void 0);
15881
+ this.chartOptions = options;
15882
+ this.chartKey = `chart_${this.hashChartData(options)}`;
15883
+ const drawing = new Drawing({
15884
+ chartKey: this.chartKey,
15885
+ transformation: createTransformation(options.transformation),
15886
+ type: "chart"
15887
+ }, {
15888
+ docProperties: options.altText,
15889
+ floating: options.floating
15890
+ });
15891
+ this.root.push(drawing);
15892
+ }
15893
+ prepForXml(context) {
15894
+ const chartSpace = new ChartSpace({
15895
+ categories: this.chartOptions.data.categories,
15896
+ series: this.chartOptions.data.series,
15897
+ showLegend: this.chartOptions.showLegend,
15898
+ style: this.chartOptions.style,
15899
+ title: this.chartOptions.title,
15900
+ type: this.chartOptions.type
15901
+ });
15902
+ context.file.Charts.addChart(this.chartKey, {
15903
+ chartSpace,
15904
+ key: this.chartKey
15905
+ });
15906
+ return super.prepForXml(context);
15907
+ }
15908
+ hashChartData(options) {
15909
+ const data = `${options.type}:${JSON.stringify(options.data)}`;
15910
+ let hash = 0;
15911
+ for (let i = 0; i < data.length; i++) {
15912
+ const char = data.charCodeAt(i);
15913
+ hash = (hash << 5) - hash + char | 0;
15914
+ }
15915
+ return Math.abs(hash);
15916
+ }
15917
+ };
15918
+ //#endregion
15919
+ //#region src/file/smartart/data-model/connection.ts
15920
+ /**
15921
+ * dgm:cxn — SmartArt data model connection (edge).
15922
+ *
15923
+ * @module
15924
+ */
15925
+ /**
15926
+ * CT_Cxn — a single connection in the data model.
15927
+ */
15928
+ var Connection = class extends XmlComponent {
15929
+ constructor(modelId, srcId, destId, type = "parOf", srcOrd = 0, destOrd = 0) {
15930
+ super("dgm:cxn");
15931
+ this.root.push(chartAttr({
15932
+ modelId,
15933
+ srcId,
15934
+ destId,
15935
+ type,
15936
+ srcOrd,
15937
+ destOrd
15938
+ }));
15939
+ }
15940
+ };
15941
+ //#endregion
15942
+ //#region src/file/smartart/data-model/data-model.ts
15943
+ /**
15944
+ * dgm:dataModel — SmartArt data model root element.
15945
+ *
15946
+ * @module
15947
+ */
15948
+ /**
15949
+ * CT_DataModel — the complete data model for a SmartArt diagram.
15950
+ */
15951
+ var DataModel = class extends XmlComponent {
15952
+ constructor(points, connections) {
15953
+ super("dgm:dataModel");
15954
+ this.root.push(chartAttr({
15955
+ "xmlns:a": "http://schemas.openxmlformats.org/drawingml/2006/main",
15956
+ "xmlns:dgm": "http://schemas.openxmlformats.org/drawingml/2006/diagram"
15957
+ }));
15958
+ const ptLst = new class extends XmlComponent {
15959
+ constructor() {
15960
+ super("dgm:ptLst");
15961
+ }
15962
+ }();
15963
+ for (const pt of points) ptLst["root"].push(pt);
15964
+ this.root.push(ptLst);
15965
+ const cxnLst = new class extends XmlComponent {
15966
+ constructor() {
15967
+ super("dgm:cxnLst");
15968
+ }
15969
+ }();
15970
+ for (const cxn of connections) cxnLst["root"].push(cxn);
15971
+ this.root.push(cxnLst);
15972
+ this.root.push(new EmptyElement$2("dgm:bg"));
15973
+ this.root.push(new EmptyElement$2("dgm:whole"));
15974
+ }
15975
+ };
15976
+ /**
15977
+ * Helper for empty self-closing XML elements.
15978
+ */
15979
+ var EmptyElement$2 = class extends XmlComponent {
15980
+ constructor(tag) {
15981
+ super(tag);
15982
+ }
15983
+ };
15984
+ //#endregion
15985
+ //#region src/file/smartart/data-model/point.ts
15986
+ /**
15987
+ * dgm:pt — SmartArt data model point (node).
15988
+ *
15989
+ * @module
15990
+ */
15991
+ /**
15992
+ * CT_Pt — a single point in the data model.
15993
+ */
15994
+ var Point = class extends XmlComponent {
15995
+ constructor(modelId, text, type = "node") {
15996
+ super("dgm:pt");
15997
+ this.root.push(chartAttr({
15998
+ modelId,
15999
+ type
16000
+ }));
16001
+ this.root.push(new PointText(text));
16002
+ }
16003
+ };
16004
+ /**
16005
+ * dgm:t — text body within a point.
16006
+ *
16007
+ * Per XSD, dgm:t has type CT_TextBody, so bodyPr/lstStyle/p
16008
+ * are direct children (no a:txBody wrapper).
16009
+ */
16010
+ var PointText = class extends XmlComponent {
16011
+ constructor(text) {
16012
+ super("dgm:t");
16013
+ this.root.push(new class extends XmlComponent {
16014
+ constructor() {
16015
+ super("a:bodyPr");
16016
+ }
16017
+ }());
16018
+ this.root.push(new class extends XmlComponent {
16019
+ constructor() {
16020
+ super("a:lstStyle");
16021
+ }
16022
+ }());
16023
+ const p = new class extends XmlComponent {
16024
+ constructor() {
16025
+ super("a:p");
16026
+ }
16027
+ }();
16028
+ if (text) {
16029
+ const r = new class extends XmlComponent {
16030
+ constructor() {
16031
+ super("a:r");
16032
+ }
16033
+ }();
16034
+ const t = new class extends XmlComponent {
16035
+ constructor() {
16036
+ super("a:t");
16037
+ }
16038
+ }();
16039
+ t["root"].push(text);
16040
+ r["root"].push(t);
16041
+ p["root"].push(r);
16042
+ }
16043
+ this.root.push(p);
16044
+ }
16045
+ };
16046
+ //#endregion
16047
+ //#region src/file/smartart/tree-to-model.ts
16048
+ /**
16049
+ * Converts a tree-shaped API into a flat data model (points + connections).
16050
+ *
16051
+ * @module
16052
+ */
16053
+ /**
16054
+ * Layout/style/color uniqueId URIs for dgm:prSet on the doc root.
16055
+ */
16056
+ const DEFAULT_LAYOUT_ID = "urn:microsoft.com/office/officeart/2005/8/layout/default";
16057
+ const DEFAULT_STYLE_ID = "urn:microsoft.com/office/officeart/2005/8/quickstyle/simple1";
16058
+ const DEFAULT_COLOR_ID = "urn:microsoft.com/office/officeart/2005/8/colors/accent1_2";
16059
+ /**
16060
+ * Creates the doc root point (type="doc") with layout/style/color prSet.
16061
+ *
16062
+ * Per XSD CT_Pt sequence: prSet, spPr, t, extLst
16063
+ * CT_ElemPropSet is attributes-only (no child elements).
16064
+ */
16065
+ function createDocPoint() {
16066
+ const pt = new class extends XmlComponent {
16067
+ constructor() {
16068
+ super("dgm:pt");
16069
+ }
16070
+ }();
16071
+ pt["root"].push(chartAttr({
16072
+ modelId: 0,
16073
+ type: "doc"
16074
+ }));
16075
+ const prSet = new class extends XmlComponent {
16076
+ constructor() {
16077
+ super("dgm:prSet");
16078
+ }
16079
+ }();
16080
+ prSet["root"].push(chartAttr({
16081
+ loTypeId: DEFAULT_LAYOUT_ID,
16082
+ loCatId: "list",
16083
+ qsTypeId: DEFAULT_STYLE_ID,
16084
+ qsCatId: "simple",
16085
+ csTypeId: DEFAULT_COLOR_ID,
16086
+ csCatId: "accent1",
16087
+ phldr: "0"
16088
+ }));
16089
+ pt["root"].push(prSet);
16090
+ pt["root"].push(new EmptyElement$1("dgm:spPr"));
16091
+ pt["root"].push(createEmptyTextBody());
16092
+ return pt;
16093
+ }
16094
+ /**
16095
+ * Creates a minimal dgm:t with empty text body.
16096
+ * Per XSD, dgm:t is CT_TextBody — bodyPr/lstStyle/p are direct children.
16097
+ */
16098
+ function createEmptyTextBody() {
16099
+ const t = new class extends XmlComponent {
16100
+ constructor() {
16101
+ super("dgm:t");
16102
+ }
16103
+ }();
16104
+ t["root"].push(new EmptyElement$1("a:bodyPr"));
16105
+ t["root"].push(new EmptyElement$1("a:lstStyle"));
16106
+ t["root"].push(new EmptyElement$1("a:p"));
16107
+ return t;
16108
+ }
16109
+ /**
16110
+ * Helper for empty self-closing XML elements.
16111
+ */
16112
+ var EmptyElement$1 = class extends XmlComponent {
16113
+ constructor(tag) {
16114
+ super(tag);
16115
+ }
16116
+ };
16117
+ /**
16118
+ * Converts a tree of nodes into flat points and connections.
16119
+ *
16120
+ * The first point is a "doc" root (type="doc") with layout/style/color prSet.
16121
+ * Subsequent points are regular "node" types connected via parOf.
16122
+ */
16123
+ const treeToModel = (nodes) => {
16124
+ const points = [];
16125
+ const connections = [];
16126
+ let nextModelId = 1;
16127
+ let nextCxnId = 100;
16128
+ points.push(createDocPoint());
16129
+ for (let i = 0; i < nodes.length; i++) {
16130
+ const walk = (node, parentId, srcOrd) => {
16131
+ const modelId = nextModelId++;
16132
+ points.push(new Point(modelId, node.text));
16133
+ connections.push(new Connection(nextCxnId++, parentId, modelId, "parOf", srcOrd));
16134
+ if (node.children) for (let j = 0; j < node.children.length; j++) walk(node.children[j], modelId, j);
16135
+ };
16136
+ walk(nodes[i], 0, i);
16137
+ }
16138
+ return {
16139
+ connections,
16140
+ points
16141
+ };
16142
+ };
16143
+ /**
16144
+ * Creates a DataModel from tree nodes.
16145
+ */
16146
+ const createDataModel = (nodes) => {
16147
+ const { connections, points } = treeToModel(nodes);
16148
+ return new DataModel(points, connections);
16149
+ };
16150
+ //#endregion
16151
+ //#region src/file/paragraph/run/smartart-run.ts
16152
+ /**
16153
+ * SmartArtRun module for embedding SmartArt diagrams in WordprocessingML documents.
16154
+ *
16155
+ * SmartArt data is stored in `word/diagrams/data{n}.xml`.
16156
+ * Layout, style, and colors reference Word's built-in definitions.
16157
+ *
16158
+ * @module
16159
+ */
16160
+ /**
16161
+ * Represents an embedded SmartArt diagram in a WordprocessingML document.
16162
+ *
16163
+ * @publicApi
16164
+ *
16165
+ * @example
16166
+ * ```typescript
16167
+ * new SmartArtRun({
16168
+ * data: {
16169
+ * nodes: [
16170
+ * { text: "Main", children: [
16171
+ * { text: "Sub 1" },
16172
+ * { text: "Sub 2" },
16173
+ * ]},
16174
+ * ],
16175
+ * },
16176
+ * transformation: { width: 500, height: 300 },
16177
+ * });
16178
+ * ```
16179
+ */
16180
+ var SmartArtRun = class extends Run {
16181
+ constructor(options) {
16182
+ super({});
16183
+ _defineProperty(this, "smartArtOptions", void 0);
16184
+ _defineProperty(this, "smartArtKey", void 0);
16185
+ this.smartArtOptions = options;
16186
+ this.smartArtKey = `smartart_${this.hashSmartArtData(options)}`;
16187
+ const drawing = new Drawing({
16188
+ smartArtKey: this.smartArtKey,
16189
+ transformation: createTransformation(options.transformation),
16190
+ type: "smartart"
16191
+ }, {
16192
+ docProperties: options.altText,
16193
+ floating: options.floating
16194
+ });
16195
+ this.root.push(drawing);
16196
+ }
16197
+ prepForXml(context) {
16198
+ const smartArtData = {
16199
+ dataModel: createDataModel(this.smartArtOptions.data.nodes),
16200
+ key: this.smartArtKey
16201
+ };
16202
+ context.file.SmartArts.addSmartArt(this.smartArtKey, smartArtData);
16203
+ return super.prepForXml(context);
16204
+ }
16205
+ hashSmartArtData(options) {
16206
+ const data = JSON.stringify(options.data);
16207
+ let hash = 0;
16208
+ for (let i = 0; i < data.length; i++) {
16209
+ const char = data.charCodeAt(i);
16210
+ hash = (hash << 5) - hash + char | 0;
16211
+ }
16212
+ return Math.abs(hash);
16213
+ }
16214
+ };
16215
+ //#endregion
15225
16216
  //#region src/file/paragraph/run/wps-shape-run.ts
15226
16217
  /**
15227
16218
  * @publicApi
@@ -23298,6 +24289,26 @@ var Bibliography = class extends XmlComponent {
23298
24289
  }
23299
24290
  };
23300
24291
  //#endregion
24292
+ //#region src/file/chart/chart-collection.ts
24293
+ /**
24294
+ * Manages chart parts in a document.
24295
+ *
24296
+ * Similar to Media, this collection stores chart XML components
24297
+ * that will be serialized into separate XML parts in the DOCX package.
24298
+ */
24299
+ var ChartCollection = class {
24300
+ constructor() {
24301
+ _defineProperty(this, "map", void 0);
24302
+ this.map = /* @__PURE__ */ new Map();
24303
+ }
24304
+ addChart(key, chartData) {
24305
+ this.map.set(key, chartData);
24306
+ }
24307
+ get Array() {
24308
+ return [...this.map.values()];
24309
+ }
24310
+ };
24311
+ //#endregion
23301
24312
  //#region src/file/content-types/content-types-attributes.ts
23302
24313
  /**
23303
24314
  * Attributes for the Types (Content Types) element.
@@ -23459,6 +24470,46 @@ var ContentTypes = class extends XmlComponent {
23459
24470
  addHeader(index) {
23460
24471
  this.root.push(createOverride("application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml", `/word/header${index}.xml`));
23461
24472
  }
24473
+ /**
24474
+ * Registers a chart part in the content types.
24475
+ *
24476
+ * @param index - Chart index number (e.g., 1 for charts/chart1.xml)
24477
+ */
24478
+ addChart(index) {
24479
+ this.root.push(createOverride("application/vnd.openxmlformats-officedocument.drawingml.chart+xml", `/word/charts/chart${index}.xml`));
24480
+ }
24481
+ /**
24482
+ * Registers a diagram data part in the content types.
24483
+ *
24484
+ * @param index - Diagram data index number
24485
+ */
24486
+ addDiagramData(index) {
24487
+ this.root.push(createOverride("application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml", `/word/diagrams/data${index}.xml`));
24488
+ }
24489
+ /**
24490
+ * Registers a diagram layout part in the content types.
24491
+ *
24492
+ * @param index - Diagram layout index number
24493
+ */
24494
+ addDiagramLayout(index) {
24495
+ this.root.push(createOverride("application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", `/word/diagrams/layout${index}.xml`));
24496
+ }
24497
+ /**
24498
+ * Registers a diagram style part in the content types.
24499
+ *
24500
+ * @param index - Diagram style index number
24501
+ */
24502
+ addDiagramStyle(index) {
24503
+ this.root.push(createOverride("application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", `/word/diagrams/quickStyle${index}.xml`));
24504
+ }
24505
+ /**
24506
+ * Registers a diagram colors part in the content types.
24507
+ *
24508
+ * @param index - Diagram colors index number
24509
+ */
24510
+ addDiagramColors(index) {
24511
+ this.root.push(createOverride("application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", `/word/diagrams/colors${index}.xml`));
24512
+ }
23462
24513
  };
23463
24514
  //#endregion
23464
24515
  //#region src/file/document/document-attributes.ts
@@ -27347,6 +28398,23 @@ var Settings = class extends XmlComponent {
27347
28398
  }
27348
28399
  };
27349
28400
  //#endregion
28401
+ //#region src/file/smartart/smartart-collection.ts
28402
+ /**
28403
+ * Manages SmartArt parts in a document.
28404
+ */
28405
+ var SmartArtCollection = class {
28406
+ constructor() {
28407
+ _defineProperty(this, "map", void 0);
28408
+ this.map = /* @__PURE__ */ new Map();
28409
+ }
28410
+ addSmartArt(key, data) {
28411
+ this.map.set(key, data);
28412
+ }
28413
+ get Array() {
28414
+ return [...this.map.values()];
28415
+ }
28416
+ };
28417
+ //#endregion
27350
28418
  //#region src/file/styles/style/components.ts
27351
28419
  /**
27352
28420
  * Style components module for WordprocessingML documents.
@@ -28400,6 +29468,8 @@ var File = class {
28400
29468
  _defineProperty(this, "coreProperties", void 0);
28401
29469
  _defineProperty(this, "numbering", void 0);
28402
29470
  _defineProperty(this, "media", void 0);
29471
+ _defineProperty(this, "charts", void 0);
29472
+ _defineProperty(this, "smartArts", void 0);
28403
29473
  _defineProperty(this, "fileRelationships", void 0);
28404
29474
  _defineProperty(this, "footnotesWrapper", void 0);
28405
29475
  _defineProperty(this, "endnotesWrapper", void 0);
@@ -28443,6 +29513,8 @@ var File = class {
28443
29513
  updateFields: (_options$features2 = options.features) === null || _options$features2 === void 0 ? void 0 : _options$features2.updateFields
28444
29514
  });
28445
29515
  this.media = new Media();
29516
+ this.charts = new ChartCollection();
29517
+ this.smartArts = new SmartArtCollection();
28446
29518
  if (options.externalStyles !== void 0) {
28447
29519
  var _options$styles;
28448
29520
  const defaultStyles = new DefaultStylesFactory().newInstance((_options$styles = options.styles) === null || _options$styles === void 0 ? void 0 : _options$styles.default);
@@ -28534,6 +29606,12 @@ var File = class {
28534
29606
  get Media() {
28535
29607
  return this.media;
28536
29608
  }
29609
+ get Charts() {
29610
+ return this.charts;
29611
+ }
29612
+ get SmartArts() {
29613
+ return this.smartArts;
29614
+ }
28537
29615
  get FileRelationships() {
28538
29616
  return this.fileRelationships;
28539
29617
  }
@@ -29851,6 +30929,27 @@ var Textbox = class extends FileChild {
29851
30929
  }
29852
30930
  };
29853
30931
  //#endregion
30932
+ //#region src/file/smartart/built-in-layouts.ts
30933
+ /**
30934
+ * Built-in SmartArt layout, style, and color URIs.
30935
+ *
30936
+ * These reference Word's built-in definitions — we only need to point to them.
30937
+ *
30938
+ * @module
30939
+ */
30940
+ /** Built-in SmartArt layout URIs */
30941
+ const LAYOUTS = {
30942
+ process: "http://schemas.openxmlformats.org/drawingml/2006/diagram/process1",
30943
+ hierarchy: "http://schemas.openxmlformats.org/drawingml/2006/diagram/hierarchy1",
30944
+ cycle: "http://schemas.openxmlformats.org/drawingml/2006/diagram/cycle1",
30945
+ pyramid: "http://schemas.openxmlformats.org/drawingml/2006/diagram/pyramid1",
30946
+ list: "http://schemas.openxmlformats.org/drawingml/2006/diagram/list1"
30947
+ };
30948
+ /** Default style URI (accent 1) */
30949
+ const DEFAULT_STYLE_URI = "http://schemas.openxmlformats.org/drawingml/2006/diagramstyle/2";
30950
+ /** Default color transform URI (colorful accent 1) */
30951
+ const DEFAULT_COLOR_URI = "http://schemas.openxmlformats.org/drawingml/2006/diagramcolor/3";
30952
+ //#endregion
29854
30953
  //#region src/util/output-type.ts
29855
30954
  init__polyfill_node_stream();
29856
30955
  /**
@@ -30157,6 +31256,31 @@ var Formatter = class {
30157
31256
  }
30158
31257
  };
30159
31258
  //#endregion
31259
+ //#region src/export/packer/chart-replacer.ts
31260
+ /**
31261
+ * Replaces chart placeholder tokens with relationship IDs in XML content.
31262
+ *
31263
+ * Charts use placeholders like `{chart:chart_123}` in the document XML.
31264
+ * This class replaces them with the actual relationship IDs.
31265
+ */
31266
+ var ChartReplacer = class {
31267
+ /**
31268
+ * Replaces chart placeholder tokens with relationship IDs.
31269
+ *
31270
+ * @param xmlData - The XML string containing chart placeholders
31271
+ * @param charts - The chart collection
31272
+ * @param offset - Starting offset for relationship IDs
31273
+ * @returns XML string with placeholders replaced by relationship IDs
31274
+ */
31275
+ replace(xmlData, charts, offset) {
31276
+ let currentXmlData = xmlData;
31277
+ charts.Array.forEach((chartData, i) => {
31278
+ currentXmlData = currentXmlData.replace(new RegExp(`\\{chart:${chartData.key}\\}`, "g"), (offset + i).toString());
31279
+ });
31280
+ return currentXmlData;
31281
+ }
31282
+ };
31283
+ //#endregion
30160
31284
  //#region src/export/packer/image-replacer.ts
30161
31285
  /**
30162
31286
  * Replaces image placeholders with relationship IDs in XML content.
@@ -30232,6 +31356,68 @@ var NumberingReplacer = class {
30232
31356
  }
30233
31357
  };
30234
31358
  //#endregion
31359
+ //#region src/export/packer/smartart-replacer.ts
31360
+ /**
31361
+ * Replaces SmartArt placeholder tokens with relationship IDs in XML content.
31362
+ *
31363
+ * SmartArt uses multiple placeholders:
31364
+ * - `{smartart:N}` — data model relationship (internal)
31365
+ * - `{smartart-lo:N}` — layout relationship (internal)
31366
+ * - `{smartart-qs:N}` — quick style relationship (internal)
31367
+ * - `{smartart-cs:N}` — color style relationship (internal)
31368
+ */
31369
+ var SmartArtReplacer = class {
31370
+ /**
31371
+ * Replaces SmartArt placeholder tokens with relationship IDs.
31372
+ */
31373
+ replace(xmlData, smartArts, dataOffset) {
31374
+ let currentXmlData = xmlData;
31375
+ smartArts.Array.forEach((smartArtData, i) => {
31376
+ const key = smartArtData.key;
31377
+ currentXmlData = currentXmlData.replace(new RegExp(`\\{smartart:${key}\\}`, "g"), (dataOffset + i).toString());
31378
+ const loOffset = dataOffset + smartArts.Array.length;
31379
+ const qsOffset = loOffset + smartArts.Array.length;
31380
+ const csOffset = qsOffset + smartArts.Array.length;
31381
+ currentXmlData = currentXmlData.replace(new RegExp(`\\{smartart-lo:${key}\\}`, "g"), (loOffset + i).toString());
31382
+ currentXmlData = currentXmlData.replace(new RegExp(`\\{smartart-qs:${key}\\}`, "g"), (qsOffset + i).toString());
31383
+ currentXmlData = currentXmlData.replace(new RegExp(`\\{smartart-cs:${key}\\}`, "g"), (csOffset + i).toString());
31384
+ });
31385
+ return currentXmlData;
31386
+ }
31387
+ /**
31388
+ * Adds SmartArt relationships to the document relationships.
31389
+ *
31390
+ * All relationships are internal (pointing to package-local files).
31391
+ */
31392
+ addRelationships(smartArts, addRelationship, baseOffset, chartCount) {
31393
+ const dataOffset = baseOffset + chartCount;
31394
+ const smartArtCount = smartArts.Array.length;
31395
+ const loOffset = dataOffset + smartArtCount;
31396
+ const qsOffset = loOffset + smartArtCount;
31397
+ const csOffset = qsOffset + smartArtCount;
31398
+ smartArts.Array.forEach((_smartArtData, i) => {
31399
+ addRelationship(dataOffset + i, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramData", `diagrams/data${i + 1}.xml`);
31400
+ addRelationship(loOffset + i, "http://schemas.microsoft.com/office/2007/relationships/diagramLayout", `diagrams/layout${i + 1}.xml`);
31401
+ addRelationship(qsOffset + i, "http://schemas.microsoft.com/office/2007/relationships/diagramStyle", `diagrams/quickStyle${i + 1}.xml`);
31402
+ addRelationship(csOffset + i, "http://schemas.microsoft.com/office/2007/relationships/diagramColors", `diagrams/colors${i + 1}.xml`);
31403
+ });
31404
+ }
31405
+ };
31406
+ //#endregion
31407
+ //#region src/file/smartart/built-in-definitions.ts
31408
+ /**
31409
+ * Built-in SmartArt definitions — layout, quick style, and color transforms.
31410
+ * These are Word's built-in definitions extracted from a reference document.
31411
+ *
31412
+ * @module
31413
+ */
31414
+ /** Default list layout definition (dgm:layoutDef) */
31415
+ const DEFAULT_LAYOUT_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n<dgm:layoutDef xmlns:dgm=\"http://schemas.openxmlformats.org/drawingml/2006/diagram\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/layout/default\"><dgm:title val=\"\"/><dgm:desc val=\"\"/><dgm:catLst><dgm:cat type=\"list\" pri=\"400\"/></dgm:catLst><dgm:sampData><dgm:dataModel><dgm:ptLst><dgm:pt modelId=\"0\" type=\"doc\"/><dgm:pt modelId=\"1\"><dgm:prSet phldr=\"1\"/></dgm:pt><dgm:pt modelId=\"2\"><dgm:prSet phldr=\"1\"/></dgm:pt><dgm:pt modelId=\"3\"><dgm:prSet phldr=\"1\"/></dgm:pt><dgm:pt modelId=\"4\"><dgm:prSet phldr=\"1\"/></dgm:pt><dgm:pt modelId=\"5\"><dgm:prSet phldr=\"1\"/></dgm:pt></dgm:ptLst><dgm:cxnLst><dgm:cxn modelId=\"6\" srcId=\"0\" destId=\"1\" srcOrd=\"0\" destOrd=\"0\"/><dgm:cxn modelId=\"7\" srcId=\"0\" destId=\"2\" srcOrd=\"1\" destOrd=\"0\"/><dgm:cxn modelId=\"8\" srcId=\"0\" destId=\"3\" srcOrd=\"2\" destOrd=\"0\"/><dgm:cxn modelId=\"9\" srcId=\"0\" destId=\"4\" srcOrd=\"3\" destOrd=\"0\"/><dgm:cxn modelId=\"10\" srcId=\"0\" destId=\"5\" srcOrd=\"4\" destOrd=\"0\"/></dgm:cxnLst><dgm:bg/><dgm:whole/></dgm:dataModel></dgm:sampData><dgm:styleData><dgm:dataModel><dgm:ptLst><dgm:pt modelId=\"0\" type=\"doc\"/><dgm:pt modelId=\"1\"/><dgm:pt modelId=\"2\"/></dgm:ptLst><dgm:cxnLst><dgm:cxn modelId=\"3\" srcId=\"0\" destId=\"1\" srcOrd=\"0\" destOrd=\"0\"/><dgm:cxn modelId=\"4\" srcId=\"0\" destId=\"2\" srcOrd=\"1\" destOrd=\"0\"/></dgm:cxnLst><dgm:bg/><dgm:whole/></dgm:dataModel></dgm:styleData><dgm:clrData><dgm:dataModel><dgm:ptLst><dgm:pt modelId=\"0\" type=\"doc\"/><dgm:pt modelId=\"1\"/><dgm:pt modelId=\"2\"/><dgm:pt modelId=\"3\"/><dgm:pt modelId=\"4\"/><dgm:pt modelId=\"5\"/><dgm:pt modelId=\"6\"/></dgm:ptLst><dgm:cxnLst><dgm:cxn modelId=\"7\" srcId=\"0\" destId=\"1\" srcOrd=\"0\" destOrd=\"0\"/><dgm:cxn modelId=\"8\" srcId=\"0\" destId=\"2\" srcOrd=\"1\" destOrd=\"0\"/><dgm:cxn modelId=\"9\" srcId=\"0\" destId=\"3\" srcOrd=\"2\" destOrd=\"0\"/><dgm:cxn modelId=\"10\" srcId=\"0\" destId=\"4\" srcOrd=\"3\" destOrd=\"0\"/><dgm:cxn modelId=\"11\" srcId=\"0\" destId=\"5\" srcOrd=\"4\" destOrd=\"0\"/><dgm:cxn modelId=\"12\" srcId=\"0\" destId=\"6\" srcOrd=\"5\" destOrd=\"0\"/></dgm:cxnLst><dgm:bg/><dgm:whole/></dgm:dataModel></dgm:clrData><dgm:layoutNode name=\"diagram\"><dgm:varLst><dgm:dir/><dgm:resizeHandles val=\"exact\"/></dgm:varLst><dgm:choose name=\"Name0\"><dgm:if name=\"Name1\" func=\"var\" arg=\"dir\" op=\"equ\" val=\"norm\"><dgm:alg type=\"snake\"><dgm:param type=\"grDir\" val=\"tL\"/><dgm:param type=\"flowDir\" val=\"row\"/><dgm:param type=\"contDir\" val=\"sameDir\"/><dgm:param type=\"off\" val=\"ctr\"/></dgm:alg></dgm:if><dgm:else name=\"Name2\"><dgm:alg type=\"snake\"><dgm:param type=\"grDir\" val=\"tR\"/><dgm:param type=\"flowDir\" val=\"row\"/><dgm:param type=\"contDir\" val=\"sameDir\"/><dgm:param type=\"off\" val=\"ctr\"/></dgm:alg></dgm:else></dgm:choose><dgm:shape xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:blip=\"\"><dgm:adjLst/></dgm:shape><dgm:presOf/><dgm:constrLst><dgm:constr type=\"w\" for=\"ch\" forName=\"node\" refType=\"w\"/><dgm:constr type=\"h\" for=\"ch\" forName=\"node\" refType=\"w\" refFor=\"ch\" refForName=\"node\" fact=\"0.6\"/><dgm:constr type=\"w\" for=\"ch\" forName=\"sibTrans\" refType=\"w\" refFor=\"ch\" refForName=\"node\" fact=\"0.1\"/><dgm:constr type=\"sp\" refType=\"w\" refFor=\"ch\" refForName=\"sibTrans\"/><dgm:constr type=\"primFontSz\" for=\"ch\" forName=\"node\" op=\"equ\" val=\"65\"/></dgm:constrLst><dgm:ruleLst/><dgm:forEach name=\"Name3\" axis=\"ch\" ptType=\"node\"><dgm:layoutNode name=\"node\"><dgm:varLst><dgm:bulletEnabled val=\"1\"/></dgm:varLst><dgm:alg type=\"tx\"/><dgm:shape type=\"rect\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:blip=\"\"><dgm:adjLst/></dgm:shape><dgm:presOf axis=\"desOrSelf\" ptType=\"node\"/><dgm:constrLst><dgm:constr type=\"lMarg\" refType=\"primFontSz\" fact=\"0.3\"/><dgm:constr type=\"rMarg\" refType=\"primFontSz\" fact=\"0.3\"/><dgm:constr type=\"tMarg\" refType=\"primFontSz\" fact=\"0.3\"/><dgm:constr type=\"bMarg\" refType=\"primFontSz\" fact=\"0.3\"/></dgm:constrLst><dgm:ruleLst><dgm:rule type=\"primFontSz\" val=\"5\" fact=\"NaN\" max=\"NaN\"/></dgm:ruleLst></dgm:layoutNode><dgm:forEach name=\"Name4\" axis=\"followSib\" ptType=\"sibTrans\" cnt=\"1\"><dgm:layoutNode name=\"sibTrans\"><dgm:alg type=\"sp\"/><dgm:shape xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:blip=\"\"><dgm:adjLst/></dgm:shape><dgm:presOf/><dgm:constrLst/><dgm:ruleLst/></dgm:layoutNode></dgm:forEach></dgm:forEach></dgm:layoutNode></dgm:layoutDef>";
31416
+ /** Simple quick style definition (dgm:styleDef) */
31417
+ const DEFAULT_STYLE_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n<dgm:styleDef xmlns:dgm=\"http://schemas.openxmlformats.org/drawingml/2006/diagram\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/quickstyle/simple1\"><dgm:title val=\"\"/><dgm:desc val=\"\"/><dgm:catLst><dgm:cat type=\"simple\" pri=\"10100\"/></dgm:catLst><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:styleLbl name=\"node0\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"lnNode1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"vennNode1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"tx1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"alignNode1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"node1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"node2\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"node3\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"node4\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"fgImgPlace1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"alignImgPlace1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"bgImgPlace1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"sibTrans2D1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"fgSibTrans2D1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"bgSibTrans2D1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"sibTrans1D1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"callout\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"asst0\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"asst1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"asst2\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"asst3\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"asst4\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"parChTrans2D1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"parChTrans2D2\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"parChTrans2D3\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"parChTrans2D4\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"parChTrans1D1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"parChTrans1D2\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"parChTrans1D3\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"parChTrans1D4\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"fgAcc1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"conFgAcc1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"alignAcc1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"trAlignAcc1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"bgAcc1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"solidFgAcc1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"solidAlignAcc1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"solidBgAcc1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"fgAccFollowNode1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"alignAccFollowNode1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"bgAccFollowNode1\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"fgAcc0\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"fgAcc2\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"fgAcc3\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"fgAcc4\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"bgShp\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"dkBgShp\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"trBgShp\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"fgShp\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"2\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"1\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl><dgm:styleLbl name=\"revTx\"><dgm:scene3d><a:camera prst=\"orthographicFront\"/><a:lightRig rig=\"threePt\" dir=\"t\"/></dgm:scene3d><dgm:sp3d/><dgm:txPr/><dgm:style><a:lnRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:lnRef><a:fillRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:fillRef><a:effectRef idx=\"0\"><a:scrgbClr r=\"0\" g=\"0\" b=\"0\"/></a:effectRef><a:fontRef idx=\"minor\"/></dgm:style></dgm:styleLbl></dgm:styleDef>";
31418
+ /** Accent 1 color transform definition (dgm:colorsDef) */
31419
+ const DEFAULT_COLORS_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n<dgm:colorsDef xmlns:dgm=\"http://schemas.openxmlformats.org/drawingml/2006/diagram\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" uniqueId=\"urn:microsoft.com/office/officeart/2005/8/colors/accent1_2\"><dgm:title val=\"\"/><dgm:desc val=\"\"/><dgm:catLst><dgm:cat type=\"accent1\" pri=\"11200\"/></dgm:catLst><dgm:styleLbl name=\"node0\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"alignNode1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"node1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"lnNode1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"vennNode1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:alpha val=\"50000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"node2\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"node3\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"node4\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"fgImgPlace1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"50000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"alignImgPlace1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"50000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"bgImgPlace1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"50000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"sibTrans2D1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"60000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"60000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"fgSibTrans2D1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"60000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"60000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"bgSibTrans2D1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"60000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"60000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"sibTrans1D1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"tx1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"callout\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"50000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"tx1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"asst0\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"asst1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"asst2\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"asst3\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"asst4\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst/><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"parChTrans2D1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"60000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"60000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"parChTrans2D2\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"parChTrans2D3\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"parChTrans2D4\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"parChTrans1D1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:shade val=\"60000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"tx1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"parChTrans1D2\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:shade val=\"60000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"tx1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"parChTrans1D3\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:shade val=\"80000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"tx1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"parChTrans1D4\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:shade val=\"80000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"tx1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"fgAcc1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"90000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"conFgAcc1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"90000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"alignAcc1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"90000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"trAlignAcc1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"40000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"bgAcc1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"90000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"solidFgAcc1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"solidAlignAcc1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"solidBgAcc1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"fgAccFollowNode1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:alpha val=\"90000\"/><a:tint val=\"40000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:alpha val=\"90000\"/><a:tint val=\"40000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"alignAccFollowNode1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:alpha val=\"90000\"/><a:tint val=\"40000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:alpha val=\"90000\"/><a:tint val=\"40000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"bgAccFollowNode1\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:alpha val=\"90000\"/><a:tint val=\"40000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:alpha val=\"90000\"/><a:tint val=\"40000\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"fgAcc0\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"90000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"fgAcc2\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"90000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"fgAcc3\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"90000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"fgAcc4\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"90000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"bgShp\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"40000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"dkBgShp\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:shade val=\"80000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"trBgShp\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"50000\"/><a:alpha val=\"40000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"fgShp\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"accent1\"><a:tint val=\"60000\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"/></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl><dgm:styleLbl name=\"revTx\"><dgm:fillClrLst meth=\"repeat\"><a:schemeClr val=\"lt1\"><a:alpha val=\"0\"/></a:schemeClr></dgm:fillClrLst><dgm:linClrLst meth=\"repeat\"><a:schemeClr val=\"dk1\"><a:alpha val=\"0\"/></a:schemeClr></dgm:linClrLst><dgm:effectClrLst/><dgm:txLinClrLst/><dgm:txFillClrLst meth=\"repeat\"><a:schemeClr val=\"tx1\"/></dgm:txFillClrLst><dgm:txEffectClrLst/></dgm:styleLbl></dgm:colorsDef>";
31420
+ //#endregion
30235
31421
  //#region src/export/packer/next-compiler.ts
30236
31422
  /**
30237
31423
  * Compiles File objects into OOXML-compliant ZIP file data.
@@ -30256,9 +31442,13 @@ var Compiler = class {
30256
31442
  _defineProperty(this, "formatter", void 0);
30257
31443
  _defineProperty(this, "imageReplacer", void 0);
30258
31444
  _defineProperty(this, "numberingReplacer", void 0);
31445
+ _defineProperty(this, "chartReplacer", void 0);
31446
+ _defineProperty(this, "smartArtReplacer", void 0);
30259
31447
  this.formatter = new Formatter();
30260
31448
  this.imageReplacer = new ImageReplacer();
30261
31449
  this.numberingReplacer = new NumberingReplacer();
31450
+ this.chartReplacer = new ChartReplacer();
31451
+ this.smartArtReplacer = new SmartArtReplacer();
30262
31452
  }
30263
31453
  /**
30264
31454
  * Compiles a File object into a flat file map suitable for fflate zipSync.
@@ -30382,14 +31572,25 @@ var Compiler = class {
30382
31572
  path: "word/_rels/comments.xml.rels"
30383
31573
  },
30384
31574
  ContentTypes: {
30385
- data: (0, import_xml.default)(this.formatter.format(file.ContentTypes, {
30386
- file,
30387
- stack: [],
30388
- viewWrapper: file.Document
30389
- }), {
30390
- declaration: { encoding: "UTF-8" },
30391
- indent: prettify
30392
- }),
31575
+ data: (() => {
31576
+ file.Charts.Array.forEach((_, i) => {
31577
+ file.ContentTypes.addChart(i + 1);
31578
+ });
31579
+ file.SmartArts.Array.forEach((_, i) => {
31580
+ file.ContentTypes.addDiagramData(i + 1);
31581
+ file.ContentTypes.addDiagramLayout(i + 1);
31582
+ file.ContentTypes.addDiagramStyle(i + 1);
31583
+ file.ContentTypes.addDiagramColors(i + 1);
31584
+ });
31585
+ return (0, import_xml.default)(this.formatter.format(file.ContentTypes, {
31586
+ file,
31587
+ stack: [],
31588
+ viewWrapper: file.Document
31589
+ }), {
31590
+ declaration: { encoding: "UTF-8" },
31591
+ indent: prettify
31592
+ });
31593
+ })(),
30393
31594
  path: "[Content_Types].xml"
30394
31595
  },
30395
31596
  CustomProperties: {
@@ -30408,7 +31609,10 @@ var Compiler = class {
30408
31609
  },
30409
31610
  Document: {
30410
31611
  data: (() => {
30411
- const xmlData = this.imageReplacer.replace(documentXmlData, documentMediaDatas, documentRelationshipCount);
31612
+ let xmlData = this.imageReplacer.replace(documentXmlData, documentMediaDatas, documentRelationshipCount);
31613
+ xmlData = this.chartReplacer.replace(xmlData, file.Charts, documentRelationshipCount);
31614
+ const smartArtDataOffset = documentRelationshipCount + documentMediaDatas.length + file.Charts.Array.length;
31615
+ xmlData = this.smartArtReplacer.replace(xmlData, file.SmartArts, smartArtDataOffset);
30412
31616
  return this.numberingReplacer.replace(xmlData, file.Numbering.ConcreteNumbering);
30413
31617
  })(),
30414
31618
  path: "word/document.xml"
@@ -30595,6 +31799,13 @@ var Compiler = class {
30595
31799
  documentMediaDatas.forEach((mediaData, i) => {
30596
31800
  file.Document.Relationships.addRelationship(documentRelationshipCount + i, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image", `media/${mediaData.fileName}`);
30597
31801
  });
31802
+ const chartOffset = documentRelationshipCount + documentMediaDatas.length;
31803
+ file.Charts.Array.forEach((_chartData, i) => {
31804
+ file.Document.Relationships.addRelationship(chartOffset + i, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart", `charts/chart${i + 1}.xml`);
31805
+ });
31806
+ this.smartArtReplacer.addRelationships(file.SmartArts, (id, type, target, targetMode) => {
31807
+ file.Document.Relationships.addRelationship(id, type, target, targetMode);
31808
+ }, documentRelationshipCount, documentMediaDatas.length + file.Charts.Array.length);
30598
31809
  file.Document.Relationships.addRelationship(file.Document.Relationships.RelationshipCount + 1, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable", "fontTable.xml");
30599
31810
  return (0, import_xml.default)(this.formatter.format(file.Document.Relationships, {
30600
31811
  file,
@@ -30654,7 +31865,55 @@ var Compiler = class {
30654
31865
  indent: prettify
30655
31866
  }),
30656
31867
  path: "word/bibliography.xml"
30657
- } } : {}
31868
+ } } : {},
31869
+ ...file.Charts.Array.length > 0 ? { Charts: file.Charts.Array.flatMap((chartData, i) => [{
31870
+ data: (0, import_xml.default)(this.formatter.format(chartData.chartSpace, {
31871
+ file,
31872
+ stack: [],
31873
+ viewWrapper: file.Document
31874
+ }), {
31875
+ declaration: {
31876
+ encoding: "UTF-8",
31877
+ standalone: "yes"
31878
+ },
31879
+ indent: prettify
31880
+ }),
31881
+ path: `word/charts/chart${i + 1}.xml`
31882
+ }, {
31883
+ data: (0, import_xml.default)({ Relationships: { _attr: { xmlns: "http://schemas.openxmlformats.org/package/2006/relationships" } } }, { declaration: {
31884
+ encoding: "UTF-8",
31885
+ standalone: "yes"
31886
+ } }),
31887
+ path: `word/charts/_rels/chart${i + 1}.xml.rels`
31888
+ }]) } : {},
31889
+ ...file.SmartArts.Array.length > 0 ? {
31890
+ DiagramData: file.SmartArts.Array.map((smartArtData, i) => ({
31891
+ data: (0, import_xml.default)(this.formatter.format(smartArtData.dataModel, {
31892
+ file,
31893
+ stack: [],
31894
+ viewWrapper: file.Document
31895
+ }), {
31896
+ declaration: {
31897
+ encoding: "UTF-8",
31898
+ standalone: "yes"
31899
+ },
31900
+ indent: prettify
31901
+ }),
31902
+ path: `word/diagrams/data${i + 1}.xml`
31903
+ })),
31904
+ DiagramLayout: file.SmartArts.Array.map((_smartArtData, i) => ({
31905
+ data: DEFAULT_LAYOUT_XML,
31906
+ path: `word/diagrams/layout${i + 1}.xml`
31907
+ })),
31908
+ DiagramStyle: file.SmartArts.Array.map((_smartArtData, i) => ({
31909
+ data: DEFAULT_STYLE_XML,
31910
+ path: `word/diagrams/quickStyle${i + 1}.xml`
31911
+ })),
31912
+ DiagramColors: file.SmartArts.Array.map((_smartArtData, i) => ({
31913
+ data: DEFAULT_COLORS_XML,
31914
+ path: `word/diagrams/colors${i + 1}.xml`
31915
+ }))
31916
+ } : {}
30658
31917
  };
30659
31918
  }
30660
31919
  };
@@ -31664,6 +32923,9 @@ exports.CarriageReturn = CarriageReturn;
31664
32923
  exports.CellMerge = CellMerge;
31665
32924
  exports.CellMergeAttributes = CellMergeAttributes;
31666
32925
  exports.CharacterSet = CharacterSet;
32926
+ exports.ChartCollection = ChartCollection;
32927
+ exports.ChartRun = ChartRun;
32928
+ exports.ChartSpace = ChartSpace;
31667
32929
  exports.CheckBox = CheckBox;
31668
32930
  exports.CheckBoxSymbolElement = CheckBoxSymbolElement;
31669
32931
  exports.CheckBoxUtil = CheckBoxUtil;
@@ -31676,7 +32938,11 @@ exports.CommentReference = CommentReference;
31676
32938
  exports.Comments = Comments;
31677
32939
  exports.ConcreteHyperlink = ConcreteHyperlink;
31678
32940
  exports.ConcreteNumbering = ConcreteNumbering;
32941
+ exports.Connection = Connection;
31679
32942
  exports.ContinuationSeparator = ContinuationSeparator;
32943
+ exports.DEFAULT_COLOR_URI = DEFAULT_COLOR_URI;
32944
+ exports.DEFAULT_STYLE_URI = DEFAULT_STYLE_URI;
32945
+ exports.DataModel = DataModel;
31680
32946
  exports.DayLong = DayLong;
31681
32947
  exports.DayShort = DayShort;
31682
32948
  exports.DeletedTableCell = DeletedTableCell;
@@ -31734,6 +33000,7 @@ exports.InsertedTableCell = InsertedTableCell;
31734
33000
  exports.InsertedTableRow = InsertedTableRow;
31735
33001
  exports.InsertedTextRun = InsertedTextRun;
31736
33002
  exports.InternalHyperlink = InternalHyperlink;
33003
+ exports.LAYOUTS = LAYOUTS;
31737
33004
  exports.LastRenderedPageBreak = LastRenderedPageBreak;
31738
33005
  exports.LeaderType = LeaderType;
31739
33006
  exports.Level = Level;
@@ -31807,6 +33074,7 @@ exports.ParagraphPropertiesChange = ParagraphPropertiesChange;
31807
33074
  exports.ParagraphPropertiesDefaults = ParagraphPropertiesDefaults;
31808
33075
  exports.ParagraphRunProperties = ParagraphRunProperties;
31809
33076
  exports.PatchType = PatchType;
33077
+ exports.Point = Point;
31810
33078
  exports.PositionalTab = PositionalTab;
31811
33079
  exports.PositionalTabAlignment = PositionalTabAlignment;
31812
33080
  exports.PositionalTabLeader = PositionalTabLeader;
@@ -31829,6 +33097,8 @@ exports.SequentialIdentifier = SequentialIdentifier;
31829
33097
  exports.ShadingType = ShadingType;
31830
33098
  exports.SimpleField = SimpleField;
31831
33099
  exports.SimpleMailMergeField = SimpleMailMergeField;
33100
+ exports.SmartArtCollection = SmartArtCollection;
33101
+ exports.SmartArtRun = SmartArtRun;
31832
33102
  exports.SoftHyphen = SoftHyphen;
31833
33103
  exports.SpaceType = SpaceType;
31834
33104
  exports.StringContainer = StringContainer;
@@ -31895,6 +33165,7 @@ exports.YearLong = YearLong;
31895
33165
  exports.YearShort = YearShort;
31896
33166
  exports.abstractNumUniqueNumericIdGen = abstractNumUniqueNumericIdGen;
31897
33167
  exports.bookmarkUniqueNumericIdGen = bookmarkUniqueNumericIdGen;
33168
+ exports.chartAttr = chartAttr;
31898
33169
  exports.concreteNumUniqueNumericIdGen = concreteNumUniqueNumericIdGen;
31899
33170
  exports.convertInchesToTwip = convertInchesToTwip;
31900
33171
  exports.convertMillimetersToTwip = convertMillimetersToTwip;
@@ -31904,6 +33175,7 @@ exports.createBodyProperties = createBodyProperties;
31904
33175
  exports.createBorderElement = createBorderElement;
31905
33176
  exports.createCnfStyle = createCnfStyle;
31906
33177
  exports.createColumns = createColumns;
33178
+ exports.createDataModel = createDataModel;
31907
33179
  exports.createDivId = createDivId;
31908
33180
  exports.createDocumentGrid = createDocumentGrid;
31909
33181
  exports.createDotEmphasisMark = createDotEmphasisMark;
@@ -31988,6 +33260,7 @@ exports.sectionPageSizeDefaults = sectionPageSizeDefaults;
31988
33260
  exports.shortHexNumber = shortHexNumber;
31989
33261
  exports.signedHpsMeasureValue = signedHpsMeasureValue;
31990
33262
  exports.signedTwipsMeasureValue = signedTwipsMeasureValue;
33263
+ exports.treeToModel = treeToModel;
31991
33264
  exports.twipsMeasureValue = twipsMeasureValue;
31992
33265
  exports.uCharHexNumber = uCharHexNumber;
31993
33266
  exports.uniqueId = uniqueId;
@@ -31995,3 +33268,4 @@ exports.uniqueNumericIdCreator = uniqueNumericIdCreator;
31995
33268
  exports.uniqueUuid = uniqueUuid;
31996
33269
  exports.universalMeasureValue = universalMeasureValue;
31997
33270
  exports.unsignedDecimalNumber = unsignedDecimalNumber;
33271
+ exports.wrapEl = wrapEl;