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