diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5b37bc62..8c77ad02 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -176,6 +176,14 @@ follow semantic versioning; release dates are ISO 8601.
### Documentation
+- New `TwinOutputExample` flagship: a single 16:9 page written once and
+ emitted twice from the same session — `buildPdf()` and `buildPptx(Path)`
+ produce a print-ready PDF and a PowerPoint slide with identical geometry.
+ The README gains a dual-output section showing the PDF render next to
+ PowerPoint's own export of the generated slide, plus a screenshot of the
+ deck open in PowerPoint with the headline text frame selected — the
+ committed artifacts land 69 native shapes with only the clip-masked logo
+ as a picture.
- `docs/architecture/backend-capability-matrix.md` — a per-capability matrix
of what each render backend supports and which class implements it,
maintained as part of every capability-changing PR.
diff --git a/README.md b/README.md
index a099c2f3..a3d582d7 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,8 @@
- Declarative Java DSL for structured business PDFs.
- Describe what the document says; the engine resolves layout, pagination, themes, and PDFBox rendering. Cinematic by default.
+ Declarative Java DSL for structured business documents.
+ Describe what the document says; the engine resolves layout, pagination, themes, and backend rendering — print-ready PDF first, an editable PowerPoint deck from the same source. Cinematic by default.
@@ -42,6 +42,39 @@
☝ This banner is itself a GraphCompose document — view the full module-first deck (PDF), rendered by EngineDeckV2Example: the 2.0 module graph, native vector charts, and real comparative benchmarks, all drawn by the engine. It renders its own marketing.
+## One source → a PDF and an editable PowerPoint deck
+
+The same `DocumentSession` emits both. The PDF backend prints the resolved layout; the PPTX backend (**beta**) rebuilds it as slides with identical geometry — text, panels, tables, and vectors arrive in PowerPoint as **native, editable shapes**, not screenshots (the page below lands as 69 native shapes; only its clip-masked logo art is a picture).
+
+```java
+Path deck = Path.of("twin-output.pptx");
+try (DocumentSession doc = GraphCompose.document(Path.of("twin-output.pdf"))
+ .pageSize(DocumentPageSize.SLIDE_16_9)
+ .create()) {
+ compose(doc); // one description
+ doc.buildPdf(); // print-ready PDF
+ doc.buildPptx(deck); // editable PowerPoint
+}
+```
+
+
+
+| twin-output.pdf — rendered by the PDF backend |
+twin-output.pptx — the same page, as PowerPoint itself renders it |
+
+
+ |
+ |
+
+
+
+
+
+
+
+ ☝ The generated deck open in PowerPoint — the headline is a selected, editable text frame, and the ribbon is live because the slide is built from native shapes. Artifacts: PDF · PPTX · source (TwinOutputExample, ~370 lines, page included).
+
+
## Why GraphCompose
- **Author intent, not coordinates.** Fluent DSL for sections, paragraphs, tables, lists, layer stacks, themes — the engine handles measurement, pagination, and rendering.
@@ -175,7 +208,7 @@ For a Spring Boot `@RestController` streaming the PDF straight to the response,
|---|---|---|
| PDF | Production | Fixed-layout backend on PDFBox 3.0. Full DSL coverage. |
| DOCX | Partial | Semantic export via Apache POI. Unsupported nodes (`shape`, `line`, `ellipse`, `barcode`) are dropped silently — layout fidelity is best-effort for paragraph / list / table content. |
-| PPTX | Skeleton | Validates supported node types and emits a manifest. **Not a real PowerPoint export yet** — planned only if there is demand. |
+| PPTX | Beta | Fixed-layout export via Apache POI from the same resolved layout — one page per editable slide with native shapes and text frames; clipped regions land as pixel-exact pictures. First shipped in 2.1, marked `@Beta` while the API shape settles. |
### Text & internationalization
diff --git a/assets/readme/examples/twin-output.pdf b/assets/readme/examples/twin-output.pdf
new file mode 100644
index 00000000..36a56a09
Binary files /dev/null and b/assets/readme/examples/twin-output.pdf differ
diff --git a/assets/readme/examples/twin-output.pptx b/assets/readme/examples/twin-output.pptx
new file mode 100644
index 00000000..1913c164
Binary files /dev/null and b/assets/readme/examples/twin-output.pptx differ
diff --git a/assets/readme/twin-output-editing.png b/assets/readme/twin-output-editing.png
new file mode 100644
index 00000000..0b078682
Binary files /dev/null and b/assets/readme/twin-output-editing.png differ
diff --git a/assets/readme/twin-output-pdf.png b/assets/readme/twin-output-pdf.png
new file mode 100644
index 00000000..2380e404
Binary files /dev/null and b/assets/readme/twin-output-pdf.png differ
diff --git a/assets/readme/twin-output-pptx.png b/assets/readme/twin-output-pptx.png
new file mode 100644
index 00000000..2da8e4b6
Binary files /dev/null and b/assets/readme/twin-output-pptx.png differ
diff --git a/examples/README.md b/examples/README.md
index 5451f171..550bdc09 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -62,6 +62,7 @@ are with the canonical DSL, then jump to its detailed section below.
| [Module-first Profile](#module-first-profile) | Authoring directly against `DocumentSession.module(...).paragraph(...)` — DSL-direct, no template | [PDF](../assets/readme/examples/module-first-profile.pdf) · [Source](src/main/java/com/demcha/examples/flagships/ModuleFirstFileExample.java) |
| **Engine Showcase** | Single-page cinematic brand promo — semantic-graph → polished-PDFs visual metaphor with rounded clip frame, magazine headline lockup, KPI cards, capability columns; source of the README hero image | [Source](src/main/java/com/demcha/examples/flagships/EngineShowcase.java) |
| **Engine Deck** | Multi-page **landscape** capability deck — page 1 is a banner infographic (DSL code → engine → backends → **real rendered-document thumbnails**), then an authoring-pipeline walkthrough, and two pages of **real benchmark data** (GraphCompose vs iText 9 vs JasperReports) loaded from a bundled result file and drawn as tables + native charts; the landscape companion to Engine Showcase. The same composition also renders as a **geometry-identical PowerPoint deck** (one page = one editable slide) through `buildPptx()` | [PDF](../assets/readme/examples/engine-deck.pdf) · [Source](src/main/java/com/demcha/examples/flagships/EngineDeckExample.java) · [PPTX source](src/main/java/com/demcha/examples/flagships/EngineDeckPptxExample.java) |
+| **Twin Output** | The dual-output hook stated by the artifact itself — a single 16:9 page written once and emitted **twice from the same session**: `buildPdf()` and `buildPptx(...)` produce a print-ready PDF and a PowerPoint slide with identical geometry where text, panels, and vectors stay native, editable shapes (only the clip-masked logo art lands as a picture); the root README shows PowerPoint's own render of the slide next to the PDF | [PDF](../assets/readme/examples/twin-output.pdf) · [PPTX](../assets/readme/examples/twin-output.pptx) · [Source](src/main/java/com/demcha/examples/flagships/TwinOutputExample.java) |
### 🧱 Core DSL
diff --git a/examples/src/main/java/com/demcha/examples/GenerateAllExamples.java b/examples/src/main/java/com/demcha/examples/GenerateAllExamples.java
index 72e91314..ad9ceba0 100644
--- a/examples/src/main/java/com/demcha/examples/GenerateAllExamples.java
+++ b/examples/src/main/java/com/demcha/examples/GenerateAllExamples.java
@@ -50,6 +50,7 @@
import com.demcha.examples.flagships.FinancialReportExample;
import com.demcha.examples.flagships.MasterShowcaseExample;
import com.demcha.examples.flagships.ModuleFirstFileExample;
+import com.demcha.examples.flagships.TwinOutputExample;
import com.demcha.examples.templates.coverletter.CvBlueBannerLetterV2Example;
import com.demcha.examples.templates.coverletter.CvBoxedSectionsLetterV2Example;
import com.demcha.examples.templates.coverletter.CvCenteredHeadlineLetterV2Example;
@@ -214,6 +215,7 @@ public static void main(String[] args) throws Exception {
System.out.println("Generated: " + BusinessReportExample.generate());
System.out.println("Generated: " + EngineDeckExample.generate());
System.out.println("Generated: " + EngineDeckPptxExample.generate());
+ System.out.println("Generated: " + TwinOutputExample.generate());
System.out.println("Generated: " + FinancialReportExample.generate());
System.out.println("Generated: " + BookTemplateExample.generate());
System.out.println("Generated: " + PoetryTitlePageExample.generate());
diff --git a/examples/src/main/java/com/demcha/examples/flagships/TwinOutputExample.java b/examples/src/main/java/com/demcha/examples/flagships/TwinOutputExample.java
new file mode 100644
index 00000000..b410a4a4
--- /dev/null
+++ b/examples/src/main/java/com/demcha/examples/flagships/TwinOutputExample.java
@@ -0,0 +1,366 @@
+package com.demcha.examples.flagships;
+
+import com.demcha.compose.GraphCompose;
+import com.demcha.compose.document.api.DocumentPageSize;
+import com.demcha.compose.document.api.DocumentSession;
+import com.demcha.compose.document.dsl.EllipseBuilder;
+import com.demcha.compose.document.dsl.ParagraphBuilder;
+import com.demcha.compose.document.dsl.ShapeBuilder;
+import com.demcha.compose.document.dsl.ShapeContainerBuilder;
+import com.demcha.compose.document.node.CanvasChild;
+import com.demcha.compose.document.node.CanvasLayerNode;
+import com.demcha.compose.document.node.DocumentNode;
+import com.demcha.compose.document.node.LayerAlign;
+import com.demcha.compose.document.node.TextAlign;
+import com.demcha.compose.document.output.DocumentMetadata;
+import com.demcha.compose.document.style.ClipPolicy;
+import com.demcha.compose.document.style.DocumentColor;
+import com.demcha.compose.document.style.DocumentInsets;
+import com.demcha.compose.document.style.DocumentPaint;
+import com.demcha.compose.document.style.DocumentStroke;
+import com.demcha.compose.document.style.DocumentTextStyle;
+import com.demcha.compose.document.svg.SvgIcon;
+import com.demcha.compose.font.FontName;
+import com.demcha.examples.support.ExampleOutputPaths;
+
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * The dual-output hook, stated by the artifact itself: one 16:9 page written
+ * once against the canonical DSL and emitted twice from the same
+ * {@link DocumentSession} — a print-ready PDF via {@code buildPdf()} and a
+ * PowerPoint deck via {@code buildPptx(Path)}. Both backends consume the same
+ * resolved layout graph, so the slide carries the page's exact geometry, and
+ * every panel, chip, and text line on it stays a native, editable PowerPoint
+ * shape.
+ *
+ * The page design reuses the {@link EngineDeckV2Example} hero language
+ * (night gradient, violet accents, proof chips) so the pair slots into the
+ * README next to the release banner.
+ *
+ * @author Artem Demchyshyn
+ * @since 2.1.0
+ */
+public final class TwinOutputExample {
+
+ private static final double PAGE_WIDTH = DocumentPageSize.SLIDE_16_9.width();
+ private static final double PAGE_HEIGHT = DocumentPageSize.SLIDE_16_9.height();
+
+ // Night surfaces shared with the v2 hero.
+ private static final DocumentColor NIGHT = DocumentColor.rgb(9, 12, 27);
+ private static final DocumentColor NIGHT_VIOLET = DocumentColor.rgb(31, 21, 61);
+ private static final DocumentColor DARK_CARD = DocumentColor.rgb(20, 27, 51);
+ private static final DocumentColor DARK_CARD_2 = DocumentColor.rgb(27, 34, 64);
+ private static final DocumentColor DARK_LINE = DocumentColor.rgb(64, 67, 108);
+ private static final DocumentColor ON_DARK = DocumentColor.rgb(245, 247, 252);
+ private static final DocumentColor ON_DARK_MUTED = DocumentColor.rgb(177, 185, 207);
+ private static final DocumentColor CODE_TXT = DocumentColor.rgb(190, 195, 214);
+
+ // Accent family.
+ private static final DocumentColor VIOLET = DocumentColor.rgb(124, 92, 252);
+ private static final DocumentColor VIOLET_LIGHT = DocumentColor.rgb(181, 159, 255);
+ private static final DocumentColor BLUE = DocumentColor.rgb(78, 161, 255);
+ private static final DocumentColor MINT = DocumentColor.rgb(55, 214, 161);
+
+ private TwinOutputExample() {
+ }
+
+ /**
+ * Builds the page once and emits both artifacts from the same session.
+ *
+ * @return the generated PDF path; the .pptx twin sits next to it
+ * @throws Exception when composition or rendering fails
+ */
+ public static Path generate() throws Exception {
+ Path pdfFile = ExampleOutputPaths.prepare("flagships", "twin-output.pdf");
+ Path pptxFile = pdfFile.resolveSibling("twin-output.pptx");
+ try (DocumentSession document = GraphCompose.document(pdfFile)
+ .pageSize(DocumentPageSize.SLIDE_16_9)
+ .pageBackground(NIGHT)
+ .margin(DocumentInsets.zero())
+ .create()) {
+ compose(document);
+ document.buildPdf();
+ document.buildPptx(pptxFile);
+ }
+ return pdfFile;
+ }
+
+ /**
+ * Composes the single hook page shared by both outputs.
+ *
+ * @param document open session configured for the 960 x 540 slide canvas
+ */
+ static void compose(DocumentSession document) {
+ document.metadata(DocumentMetadata.builder()
+ .title("GraphCompose - one source, two formats")
+ .author("GraphCompose")
+ .subject("The same composed page emitted as a print PDF and an editable PowerPoint slide")
+ .keywords("graphcompose, java, pdf, pptx, dual output, editable slides")
+ .creator("GraphCompose Examples")
+ .producer("GraphCompose")
+ .build());
+ document.pageFlow()
+ .name("TwinOutput")
+ .add(scene())
+ .build();
+ }
+
+ private static DocumentNode scene() {
+ List layers = new ArrayList<>();
+ layers.add(at(background(), 0, 0));
+ layers.add(at(glow(430, VIOLET.withOpacity(0.13)), 640, -170));
+ layers.add(at(glow(300, BLUE.withOpacity(0.09)), 700, 190));
+
+ layers.add(at(logoLockup(), 42, 24));
+
+ layers.add(at(canvasText("Kicker", "GRAPHCOMPOSE / ONE SOURCE, TWO FORMATS",
+ mono(8.8, MINT, true), 430), 52, 108));
+ layers.add(at(canvasText("TitleA", "Written once.", display(32, ON_DARK), 420), 52, 134));
+ layers.add(at(canvasText("TitleB", "Rendered twice.", display(32, VIOLET_LIGHT), 420), 52, 176));
+ layers.add(at(canvasText("Lead",
+ "One Java composition, one resolved layout graph, two backends: a print-ready "
+ + "PDF and a PowerPoint slide with the same geometry - where text, panels, "
+ + "and vectors stay native, editable shapes.",
+ body(12.3, ON_DARK_MUTED), 450), 54, 228));
+
+ layers.add(at(codeCard(), 52, 292));
+
+ layers.add(at(canvasText("GraphLabel", "ONE RESOLVED LAYOUT / TWO BACKENDS",
+ mono(8.8, MINT, true), 690), 622, 118));
+ layers.add(at(layoutGraphPill(), 650, 148));
+ layers.addAll(connectors());
+ layers.add(at(formatCard("pdf-file", "twin-output.pdf",
+ "fixed layout - print-ready", MINT), 585, 288));
+ layers.add(at(formatCard("ppt-file", "twin-output.pptx",
+ "native shapes - editable", BLUE), 785, 288));
+ layers.add(at(canvasText("ParityNote", "same coordinates - same metrics - same colours",
+ body(9.3, ON_DARK_MUTED), 690), 622, 398));
+
+ String[][] proof = {
+ {"one layout graph", "measured once"},
+ {"1 page = 1 slide", "identical geometry"},
+ {"shapes stay native", "edit in PowerPoint"},
+ {"render-pptx", "beta - opt-in module"}
+ };
+ for (int i = 0; i < proof.length; i++) {
+ layers.add(at(proofChip(proof[i][0], proof[i][1]), 48 + i * 224, 457));
+ }
+
+ return new CanvasLayerNode("TwinOutputHero", PAGE_WIDTH, PAGE_HEIGHT, layers,
+ ClipPolicy.CLIP_BOUNDS, DocumentInsets.zero(), DocumentInsets.zero());
+ }
+
+ private static DocumentNode background() {
+ return new ShapeBuilder()
+ .name("TwinGradient")
+ .size(PAGE_WIDTH, PAGE_HEIGHT)
+ .fill(new DocumentPaint.Linear(List.of(
+ new DocumentPaint.Stop(0.0, NIGHT),
+ new DocumentPaint.Stop(0.58, DocumentColor.rgb(17, 17, 39)),
+ new DocumentPaint.Stop(1.0, NIGHT_VIOLET)), 12.0))
+ .build();
+ }
+
+ private static DocumentNode glow(double diameter, DocumentColor color) {
+ return new EllipseBuilder().name("TwinGlow").circle(diameter).fillColor(color).build();
+ }
+
+ private static DocumentNode logoLockup() {
+ return new ShapeContainerBuilder()
+ .name("TwinLogo")
+ .rectangle(310, 72)
+ .fillColor(DocumentColor.rgba(0, 0, 0, 0))
+ .clipPolicy(ClipPolicy.OVERFLOW_VISIBLE)
+ .position(icon("logo").node(300), -10, -4, LayerAlign.CENTER_LEFT)
+ .build();
+ }
+
+ private static DocumentNode codeCard() {
+ // {indent level, code, trailing comment} — indentation is positional
+ // because paragraph text trims leading whitespace.
+ String[][] lines = {
+ {"0", "Path deck = Path.of(\"twin-output.pptx\");", ""},
+ {"0", "try (DocumentSession doc = GraphCompose", ""},
+ {"2", ".document(Path.of(\"twin-output.pdf\"))", ""},
+ {"2", ".pageSize(DocumentPageSize.SLIDE_16_9)", ""},
+ {"2", ".create()) {", ""},
+ {"1", "compose(doc);", "// one description"},
+ {"1", "doc.buildPdf();", "// print-ready PDF"},
+ {"1", "doc.buildPptx(deck);", "// editable PowerPoint"},
+ {"0", "}", ""},
+ };
+ ShapeContainerBuilder card = new ShapeContainerBuilder()
+ .name("TwinCode")
+ .roundedRect(470, 152, 14)
+ .fillColor(DocumentColor.rgba(7, 10, 24, 220))
+ .stroke(DocumentStroke.of(DARK_LINE, 0.8));
+ for (int i = 0; i < lines.length; i++) {
+ double y = 12 + i * 14.6;
+ double indent = 20 + Integer.parseInt(lines[i][0]) * 18;
+ card.position(new ParagraphBuilder()
+ .name("TwinCodeLine" + i)
+ .text(lines[i][1])
+ .textStyle(mono(9.5, CODE_TXT, false))
+ .margin(DocumentInsets.zero())
+ .build(), indent, y, LayerAlign.TOP_LEFT);
+ if (!lines[i][2].isEmpty()) {
+ card.position(new ParagraphBuilder()
+ .name("TwinCodeNote" + i)
+ .text(lines[i][2])
+ .textStyle(mono(9.5, MINT, false))
+ .margin(DocumentInsets.zero())
+ .build(), 250, y, LayerAlign.TOP_LEFT);
+ }
+ }
+ return card.build();
+ }
+
+ private static DocumentNode layoutGraphPill() {
+ return new ShapeContainerBuilder()
+ .name("TwinLayoutGraph")
+ .roundedRect(240, 56, 15)
+ .fillColor(DARK_CARD_2)
+ .stroke(DocumentStroke.of(VIOLET, 1.2))
+ .position(icon("layout-light").node(24), 18, 0, LayerAlign.CENTER_LEFT)
+ .position(new ParagraphBuilder()
+ .text("LayoutGraph")
+ .textStyle(mono(11.5, ON_DARK, false))
+ .margin(DocumentInsets.zero())
+ .build(), 54, -9, LayerAlign.CENTER_LEFT)
+ .position(new ParagraphBuilder()
+ .text("deterministic geometry, measured once")
+ .textStyle(body(8.6, VIOLET_LIGHT))
+ .margin(DocumentInsets.zero())
+ .build(), 54, 9, LayerAlign.CENTER_LEFT)
+ .build();
+ }
+
+ private static List connectors() {
+ List shapes = new ArrayList<>();
+ DocumentColor connector = DocumentColor.rgba(167, 139, 250, 150);
+ shapes.add(at(rect(2, 38, connector), 769, 204));
+ shapes.add(at(rect(204, 2, connector), 668, 242));
+ shapes.add(at(rect(2, 44, connector), 668, 242));
+ shapes.add(at(rect(2, 44, connector), 870, 242));
+ shapes.add(at(dot(8, VIOLET), 766, 239));
+ shapes.add(at(dot(6, VIOLET_LIGHT), 666, 240));
+ shapes.add(at(dot(6, VIOLET_LIGHT), 868, 240));
+ return shapes;
+ }
+
+ private static DocumentNode formatCard(String iconName, String fileName, String lane,
+ DocumentColor accent) {
+ return new ShapeContainerBuilder()
+ .name("TwinFormat_" + fileName)
+ .roundedRect(170, 92, 14)
+ .fillColor(DARK_CARD)
+ .stroke(DocumentStroke.of(accent.withOpacity(0.78), 1.0))
+ .position(icon(iconName + "-light").node(22), 14, -22, LayerAlign.CENTER_LEFT)
+ .position(new ParagraphBuilder()
+ .text(fileName)
+ .textStyle(mono(9.6, ON_DARK, false))
+ .margin(DocumentInsets.zero())
+ .build(), 44, -22, LayerAlign.CENTER_LEFT)
+ .position(new ParagraphBuilder()
+ .text(lane)
+ .textStyle(body(9.0, accent))
+ .margin(DocumentInsets.zero())
+ .build(), 14, 8, LayerAlign.CENTER_LEFT)
+ .position(new ParagraphBuilder()
+ .text("from the same session")
+ .textStyle(body(8.2, ON_DARK_MUTED))
+ .margin(DocumentInsets.zero())
+ .build(), 14, 26, LayerAlign.CENTER_LEFT)
+ .build();
+ }
+
+ private static DocumentNode proofChip(String title, String subtitle) {
+ return new ShapeContainerBuilder()
+ .name("TwinProof_" + title)
+ .roundedRect(202, 54, 13)
+ .fillColor(DocumentColor.rgba(255, 255, 255, 22))
+ .stroke(DocumentStroke.of(DARK_LINE, 0.9))
+ .position(dot(9, MINT), 16, -8, LayerAlign.CENTER_LEFT)
+ .position(new ParagraphBuilder()
+ .text(title)
+ .textStyle(mono(10.2, ON_DARK, false))
+ .margin(DocumentInsets.zero())
+ .build(), 34, -9, LayerAlign.CENTER_LEFT)
+ .position(new ParagraphBuilder()
+ .text(subtitle)
+ .textStyle(body(9.5, ON_DARK_MUTED))
+ .margin(DocumentInsets.zero())
+ .build(), 34, 10, LayerAlign.CENTER_LEFT)
+ .build();
+ }
+
+ // ------------------------------------------------------------------ util
+
+ private static CanvasChild at(DocumentNode node, double x, double y) {
+ return new CanvasChild(node, x, y);
+ }
+
+ private static DocumentNode canvasText(String name, String text, DocumentTextStyle style,
+ double rightMargin) {
+ return new ParagraphBuilder()
+ .name(name)
+ .text(text)
+ .textStyle(style)
+ .align(TextAlign.LEFT)
+ .lineSpacing(1.18)
+ .margin(new DocumentInsets(0, rightMargin, 0, 0))
+ .build();
+ }
+
+ private static DocumentNode rect(double width, double height, DocumentColor fill) {
+ return new ShapeBuilder().size(width, height).fillColor(fill).build();
+ }
+
+ private static DocumentNode dot(double diameter, DocumentColor fill) {
+ return new EllipseBuilder().circle(diameter).fillColor(fill).build();
+ }
+
+ private static SvgIcon icon(String name) {
+ try (InputStream in = Objects.requireNonNull(
+ TwinOutputExample.class.getResourceAsStream("/showcase/" + name + ".svg"),
+ "showcase icon missing: " + name)) {
+ return SvgIcon.parse(new String(in.readAllBytes(), StandardCharsets.UTF_8));
+ } catch (Exception e) {
+ throw new IllegalStateException("failed to load showcase icon: " + name, e);
+ }
+ }
+
+ private static DocumentTextStyle display(double size, DocumentColor color) {
+ return DocumentTextStyle.builder().fontName(FontName.HELVETICA_BOLD).size(size).color(color).build();
+ }
+
+ private static DocumentTextStyle body(double size, DocumentColor color) {
+ return DocumentTextStyle.builder().fontName(FontName.HELVETICA).size(size).color(color).build();
+ }
+
+ private static DocumentTextStyle mono(double size, DocumentColor color, boolean bold) {
+ return DocumentTextStyle.builder()
+ .fontName(bold ? FontName.COURIER_BOLD : FontName.COURIER)
+ .size(size)
+ .color(color)
+ .build();
+ }
+
+ /**
+ * Generates both artifacts from the command line.
+ *
+ * @param args unused
+ * @throws Exception when rendering fails
+ */
+ public static void main(String[] args) throws Exception {
+ Path pdf = generate();
+ System.out.println("Generated: " + pdf);
+ System.out.println("Generated: " + pdf.resolveSibling("twin-output.pptx"));
+ }
+}
diff --git a/examples/src/main/java/com/demcha/examples/support/ShowcaseMetadata.java b/examples/src/main/java/com/demcha/examples/support/ShowcaseMetadata.java
index 48719d00..b9da7826 100644
--- a/examples/src/main/java/com/demcha/examples/support/ShowcaseMetadata.java
+++ b/examples/src/main/java/com/demcha/examples/support/ShowcaseMetadata.java
@@ -136,6 +136,7 @@ record Entry(String title, String description, List tags, String codeUrl
flagship("master-showcase", "MasterShowcaseExample", "Master Showcase", "Kitchen-sink demo combining every primitive into a single document — the full GraphCompose surface.", "showcase");
flagship("business-report", "BusinessReportExample", "Business Report Cover", "Flagship cover page with hero panel, KPI table, and accent strip — ready-to-ship template.", "showcase", "cover");
flagship("module-first-profile", "ModuleFirstFileExample", "Module-First Authoring", "Authoring style focused on declaring data modules first, layout second.", "authoring");
+ flagship("twin-output", "TwinOutputExample", "Twin Output", "One 16:9 page written once and emitted twice from the same session — a print-ready PDF and a PowerPoint slide with identical geometry where text, panels, and vectors stay native, editable shapes.", "showcase", "flagship");
flagship("engine-deck", "EngineDeckExample", "Engine Deck", "Landscape flagship deck — hero banner, SVG-icon feature spreads, and benchmark tables and charts the engine renders from comparative data.", "showcase", "flagship");
flagship("feature-catalog", "FeatureCatalogExample", "Feature Catalog", "A guided catalog of the engine's primitives, one section per capability, every heading registered as a PDF outline bookmark for a navigable index.", "showcase", "flagship");
flagship("financial-report", "FinancialReportExample", "Financial Report", "A polished financial-report flagship — clipped-photo masthead, KPI tables, and vector charts combining the engine's data-viz and shape primitives.", "showcase", "flagship");
diff --git a/examples/src/test/java/com/demcha/examples/flagships/TwinOutputLayoutSnapshotTest.java b/examples/src/test/java/com/demcha/examples/flagships/TwinOutputLayoutSnapshotTest.java
new file mode 100644
index 00000000..7f57e15d
--- /dev/null
+++ b/examples/src/test/java/com/demcha/examples/flagships/TwinOutputLayoutSnapshotTest.java
@@ -0,0 +1,34 @@
+package com.demcha.examples.flagships;
+
+import com.demcha.compose.GraphCompose;
+import com.demcha.compose.document.api.DocumentPageSize;
+import com.demcha.compose.document.api.DocumentSession;
+import com.demcha.compose.document.style.DocumentColor;
+import com.demcha.compose.document.style.DocumentInsets;
+import com.demcha.compose.testing.layout.LayoutSnapshotAssertions;
+import org.junit.jupiter.api.Test;
+
+import java.nio.file.Path;
+
+/**
+ * Locks the geometry of the dual-output hook page after visual review. The
+ * PDF and the PPTX twin consume the same resolved layout, so pinning the
+ * layout graph guards both artifacts at once.
+ */
+class TwinOutputLayoutSnapshotTest {
+
+ @Test
+ void twinOutputLayoutMatchesBaseline() throws Exception {
+ try (DocumentSession document = GraphCompose.document()
+ .pageSize(DocumentPageSize.SLIDE_16_9)
+ .pageBackground(DocumentColor.rgb(9, 12, 27))
+ .margin(DocumentInsets.zero())
+ .create()) {
+ TwinOutputExample.compose(document);
+ LayoutSnapshotAssertions.assertMatches(document,
+ Path.of("src", "test", "resources", "layout-snapshots"),
+ Path.of("target", "visual-tests", "layout-snapshots"),
+ "twin-output", "flagships");
+ }
+ }
+}
diff --git a/examples/src/test/java/com/demcha/examples/flagships/TwinOutputNativeShapeTest.java b/examples/src/test/java/com/demcha/examples/flagships/TwinOutputNativeShapeTest.java
new file mode 100644
index 00000000..c06906db
--- /dev/null
+++ b/examples/src/test/java/com/demcha/examples/flagships/TwinOutputNativeShapeTest.java
@@ -0,0 +1,48 @@
+package com.demcha.examples.flagships;
+
+import com.demcha.compose.GraphCompose;
+import com.demcha.compose.document.api.DocumentPageSize;
+import com.demcha.compose.document.api.DocumentSession;
+import com.demcha.compose.document.style.DocumentColor;
+import com.demcha.compose.document.style.DocumentInsets;
+import org.apache.poi.xslf.usermodel.XMLSlideShow;
+import org.apache.poi.xslf.usermodel.XSLFPictureShape;
+import org.apache.poi.xslf.usermodel.XSLFShape;
+import org.junit.jupiter.api.Test;
+
+import java.io.ByteArrayInputStream;
+import java.util.List;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+/**
+ * Pins the hook page's headline promise at the PPTX structural level: the
+ * slide is built from native shapes, and the only picture is the clip-masked
+ * logo composite. A clip-safety regression that rasters more composites would
+ * silently falsify the README's editability claim — this guard catches it.
+ */
+class TwinOutputNativeShapeTest {
+
+ @Test
+ void theSlideStaysNativeApartFromTheClippedLogo() throws Exception {
+ try (DocumentSession document = GraphCompose.document()
+ .pageSize(DocumentPageSize.SLIDE_16_9)
+ .pageBackground(DocumentColor.rgb(9, 12, 27))
+ .margin(DocumentInsets.zero())
+ .create()) {
+ TwinOutputExample.compose(document);
+ byte[] deck = document.toPptxBytes();
+ try (XMLSlideShow show = new XMLSlideShow(new ByteArrayInputStream(deck))) {
+ assertThat(show.getSlides()).hasSize(1);
+ List shapes = show.getSlides().get(0).getShapes();
+ long pictures = shapes.stream().filter(XSLFPictureShape.class::isInstance).count();
+ assertThat(pictures)
+ .as("only the clip-masked logo lockup rasterizes")
+ .isEqualTo(1);
+ assertThat(shapes.size() - pictures)
+ .as("the rest of the page lands as native shapes")
+ .isGreaterThan(60);
+ }
+ }
+ }
+}
diff --git a/examples/src/test/resources/layout-snapshots/flagships/twin-output.json b/examples/src/test/resources/layout-snapshots/flagships/twin-output.json
new file mode 100644
index 00000000..3cf7c4dc
--- /dev/null
+++ b/examples/src/test/resources/layout-snapshots/flagships/twin-output.json
@@ -0,0 +1,2837 @@
+{
+ "formatVersion" : "2.0",
+ "canvas" : {
+ "pageWidth" : 960.0,
+ "pageHeight" : 540.0,
+ "innerWidth" : 960.0,
+ "innerHeight" : 540.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ },
+ "totalPages" : 1,
+ "nodes" : [ {
+ "path" : "TwinOutput[0]",
+ "entityName" : "TwinOutput",
+ "entityKind" : "ContainerNode",
+ "parentPath" : null,
+ "childIndex" : 0,
+ "depth" : 1,
+ "layer" : 1,
+ "computedX" : 0.0,
+ "computedY" : 0.0,
+ "placementX" : 0.0,
+ "placementY" : 0.0,
+ "placementWidth" : 960.0,
+ "placementHeight" : 540.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 960.0,
+ "contentHeight" : 540.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]",
+ "entityName" : "TwinOutputHero",
+ "entityKind" : "CanvasLayerNode",
+ "parentPath" : "TwinOutput[0]",
+ "childIndex" : 0,
+ "depth" : 2,
+ "layer" : 2,
+ "computedX" : 0.0,
+ "computedY" : 0.0,
+ "placementX" : 0.0,
+ "placementY" : 0.0,
+ "placementWidth" : 960.0,
+ "placementHeight" : 540.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 960.0,
+ "contentHeight" : 540.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinGradient[0]",
+ "entityName" : "TwinGradient",
+ "entityKind" : "ShapeNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 0,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 0.0,
+ "computedY" : 0.0,
+ "placementX" : 0.0,
+ "placementY" : 0.0,
+ "placementWidth" : 960.0,
+ "placementHeight" : 540.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 960.0,
+ "contentHeight" : 540.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinGlow[1]",
+ "entityName" : "TwinGlow",
+ "entityKind" : "EllipseNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 1,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 640.0,
+ "computedY" : 280.0,
+ "placementX" : 640.0,
+ "placementY" : 280.0,
+ "placementWidth" : 430.0,
+ "placementHeight" : 430.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 430.0,
+ "contentHeight" : 430.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinGlow[2]",
+ "entityName" : "TwinGlow",
+ "entityKind" : "EllipseNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 2,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 700.0,
+ "computedY" : 50.0,
+ "placementX" : 700.0,
+ "placementY" : 50.0,
+ "placementWidth" : 300.0,
+ "placementHeight" : 300.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 300.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]",
+ "entityName" : "TwinLogo",
+ "entityKind" : "ShapeContainerNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 3,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 42.0,
+ "computedY" : 444.0,
+ "placementX" : 42.0,
+ "placementY" : 444.0,
+ "placementWidth" : 310.0,
+ "placementHeight" : 72.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 310.0,
+ "contentHeight" : 72.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "entityName" : "SvgIcon",
+ "entityKind" : "LayerStackNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]",
+ "childIndex" : 0,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer0[0]",
+ "entityName" : "SvgLayer0",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 0,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer1[1]",
+ "entityName" : "SvgLayer1",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 1,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer2[2]",
+ "entityName" : "SvgLayer2",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 2,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer3[3]",
+ "entityName" : "SvgLayer3",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 3,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer4[4]",
+ "entityName" : "SvgLayer4",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 4,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer5[5]",
+ "entityName" : "SvgLayer5",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 5,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer6[6]",
+ "entityName" : "SvgLayer6",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 6,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer7[7]",
+ "entityName" : "SvgLayer7",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 7,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer8[8]",
+ "entityName" : "SvgLayer8",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 8,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer9[9]",
+ "entityName" : "SvgLayer9",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 9,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer10[10]",
+ "entityName" : "SvgLayer10",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 10,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer11[11]",
+ "entityName" : "SvgLayer11",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 11,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer12[12]",
+ "entityName" : "SvgLayer12",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 12,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer13[13]",
+ "entityName" : "SvgLayer13",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 13,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer14[14]",
+ "entityName" : "SvgLayer14",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 14,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer15[15]",
+ "entityName" : "SvgLayer15",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 15,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer16[16]",
+ "entityName" : "SvgLayer16",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 16,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer17[17]",
+ "entityName" : "SvgLayer17",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 17,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer18[18]",
+ "entityName" : "SvgLayer18",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 18,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer19[19]",
+ "entityName" : "SvgLayer19",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 19,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer20[20]",
+ "entityName" : "SvgLayer20",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 20,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]/SvgLayer21[21]",
+ "entityName" : "SvgLayer21",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLogo[3]/SvgIcon[0]",
+ "childIndex" : 21,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 32.0,
+ "computedY" : 448.639,
+ "placementX" : 32.0,
+ "placementY" : 448.639,
+ "placementWidth" : 300.0,
+ "placementHeight" : 70.722,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 300.0,
+ "contentHeight" : 70.722,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/Kicker[4]",
+ "entityName" : "Kicker",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 4,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 52.0,
+ "computedY" : 425.083,
+ "placementX" : 52.0,
+ "placementY" : 425.083,
+ "placementWidth" : 200.64,
+ "placementHeight" : 6.917,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 200.64,
+ "contentHeight" : 6.917,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 430.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TitleA[5]",
+ "entityName" : "TitleA",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 5,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 52.0,
+ "computedY" : 376.4,
+ "placementX" : 52.0,
+ "placementY" : 376.4,
+ "placementWidth" : 188.512,
+ "placementHeight" : 29.6,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 188.512,
+ "contentHeight" : 29.6,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 420.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TitleB[6]",
+ "entityName" : "TitleB",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 6,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 52.0,
+ "computedY" : 334.4,
+ "placementX" : 52.0,
+ "placementY" : 334.4,
+ "placementWidth" : 231.2,
+ "placementHeight" : 29.6,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 231.2,
+ "contentHeight" : 29.6,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 420.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/Lead[7]",
+ "entityName" : "Lead",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 7,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 54.0,
+ "computedY" : 275.507,
+ "placementX" : 54.0,
+ "placementY" : 275.507,
+ "placementWidth" : 490.18,
+ "placementHeight" : 36.493,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 490.18,
+ "contentHeight" : 36.493,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 450.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "entityName" : "TwinCode",
+ "entityKind" : "ShapeContainerNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 8,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 52.0,
+ "computedY" : 96.0,
+ "placementX" : 52.0,
+ "placementY" : 96.0,
+ "placementWidth" : 470.0,
+ "placementHeight" : 152.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 470.0,
+ "contentHeight" : 152.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeLine0[0]",
+ "entityName" : "TwinCodeLine0",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 0,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 72.0,
+ "computedY" : 228.533,
+ "placementX" : 72.0,
+ "placementY" : 228.533,
+ "placementWidth" : 228.0,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 228.0,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeLine1[1]",
+ "entityName" : "TwinCodeLine1",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 1,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 72.0,
+ "computedY" : 213.933,
+ "placementX" : 72.0,
+ "placementY" : 213.933,
+ "placementWidth" : 222.3,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 222.3,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeLine2[2]",
+ "entityName" : "TwinCodeLine2",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 2,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 108.0,
+ "computedY" : 199.333,
+ "placementX" : 108.0,
+ "placementY" : 199.333,
+ "placementWidth" : 210.9,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 210.9,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeLine3[3]",
+ "entityName" : "TwinCodeLine3",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 3,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 108.0,
+ "computedY" : 184.733,
+ "placementX" : 108.0,
+ "placementY" : 184.733,
+ "placementWidth" : 216.6,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 216.6,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeLine4[4]",
+ "entityName" : "TwinCodeLine4",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 4,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 108.0,
+ "computedY" : 170.133,
+ "placementX" : 108.0,
+ "placementY" : 170.133,
+ "placementWidth" : 68.4,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 68.4,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeLine5[5]",
+ "entityName" : "TwinCodeLine5",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 5,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 90.0,
+ "computedY" : 155.533,
+ "placementX" : 90.0,
+ "placementY" : 155.533,
+ "placementWidth" : 74.1,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 74.1,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeNote5[6]",
+ "entityName" : "TwinCodeNote5",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 6,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 302.0,
+ "computedY" : 155.533,
+ "placementX" : 302.0,
+ "placementY" : 155.533,
+ "placementWidth" : 102.6,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 102.6,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeLine6[7]",
+ "entityName" : "TwinCodeLine6",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 7,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 90.0,
+ "computedY" : 140.933,
+ "placementX" : 90.0,
+ "placementY" : 140.933,
+ "placementWidth" : 85.5,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 85.5,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeNote6[8]",
+ "entityName" : "TwinCodeNote6",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 8,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 302.0,
+ "computedY" : 140.933,
+ "placementX" : 302.0,
+ "placementY" : 140.933,
+ "placementWidth" : 102.6,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 102.6,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeLine7[9]",
+ "entityName" : "TwinCodeLine7",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 9,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 90.0,
+ "computedY" : 126.333,
+ "placementX" : 90.0,
+ "placementY" : 126.333,
+ "placementWidth" : 114.0,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 114.0,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeNote7[10]",
+ "entityName" : "TwinCodeNote7",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 10,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 302.0,
+ "computedY" : 126.333,
+ "placementX" : 302.0,
+ "placementY" : 126.333,
+ "placementWidth" : 125.4,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 125.4,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]/TwinCodeLine8[11]",
+ "entityName" : "TwinCodeLine8",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinCode[8]",
+ "childIndex" : 11,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 72.0,
+ "computedY" : 111.733,
+ "placementX" : 72.0,
+ "placementY" : 111.733,
+ "placementWidth" : 5.7,
+ "placementHeight" : 7.467,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 5.7,
+ "contentHeight" : 7.467,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/GraphLabel[9]",
+ "entityName" : "GraphLabel",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 9,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 622.0,
+ "computedY" : 415.083,
+ "placementX" : 622.0,
+ "placementY" : 415.083,
+ "placementWidth" : 179.52,
+ "placementHeight" : 6.917,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 179.52,
+ "contentHeight" : 6.917,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 690.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLayoutGraph[10]",
+ "entityName" : "TwinLayoutGraph",
+ "entityKind" : "ShapeContainerNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 10,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 650.0,
+ "computedY" : 336.0,
+ "placementX" : 650.0,
+ "placementY" : 336.0,
+ "placementWidth" : 240.0,
+ "placementHeight" : 56.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 240.0,
+ "contentHeight" : 56.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLayoutGraph[10]/SvgIcon[0]",
+ "entityName" : "SvgIcon",
+ "entityKind" : "LayerStackNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLayoutGraph[10]",
+ "childIndex" : 0,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 668.0,
+ "computedY" : 352.0,
+ "placementX" : 668.0,
+ "placementY" : 352.0,
+ "placementWidth" : 24.0,
+ "placementHeight" : 24.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 24.0,
+ "contentHeight" : 24.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLayoutGraph[10]/SvgIcon[0]/SvgLayer0[0]",
+ "entityName" : "SvgLayer0",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLayoutGraph[10]/SvgIcon[0]",
+ "childIndex" : 0,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 668.0,
+ "computedY" : 352.0,
+ "placementX" : 668.0,
+ "placementY" : 352.0,
+ "placementWidth" : 24.0,
+ "placementHeight" : 24.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 24.0,
+ "contentHeight" : 24.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLayoutGraph[10]/ParagraphNode[1]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLayoutGraph[10]",
+ "childIndex" : 1,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 704.0,
+ "computedY" : 368.48,
+ "placementX" : 704.0,
+ "placementY" : 368.48,
+ "placementWidth" : 75.9,
+ "placementHeight" : 9.039,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 75.9,
+ "contentHeight" : 9.039,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinLayoutGraph[10]/ParagraphNode[2]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinLayoutGraph[10]",
+ "childIndex" : 2,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 704.0,
+ "computedY" : 351.022,
+ "placementX" : 704.0,
+ "placementY" : 351.022,
+ "placementWidth" : 150.552,
+ "placementHeight" : 7.955,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 150.552,
+ "contentHeight" : 7.955,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/ShapeNode[11]",
+ "entityName" : null,
+ "entityKind" : "ShapeNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 11,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 769.0,
+ "computedY" : 298.0,
+ "placementX" : 769.0,
+ "placementY" : 298.0,
+ "placementWidth" : 2.0,
+ "placementHeight" : 38.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 2.0,
+ "contentHeight" : 38.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/ShapeNode[12]",
+ "entityName" : null,
+ "entityKind" : "ShapeNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 12,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 668.0,
+ "computedY" : 296.0,
+ "placementX" : 668.0,
+ "placementY" : 296.0,
+ "placementWidth" : 204.0,
+ "placementHeight" : 2.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 204.0,
+ "contentHeight" : 2.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/ShapeNode[13]",
+ "entityName" : null,
+ "entityKind" : "ShapeNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 13,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 668.0,
+ "computedY" : 254.0,
+ "placementX" : 668.0,
+ "placementY" : 254.0,
+ "placementWidth" : 2.0,
+ "placementHeight" : 44.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 2.0,
+ "contentHeight" : 44.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/ShapeNode[14]",
+ "entityName" : null,
+ "entityKind" : "ShapeNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 14,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 870.0,
+ "computedY" : 254.0,
+ "placementX" : 870.0,
+ "placementY" : 254.0,
+ "placementWidth" : 2.0,
+ "placementHeight" : 44.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 2.0,
+ "contentHeight" : 44.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/EllipseNode[15]",
+ "entityName" : null,
+ "entityKind" : "EllipseNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 15,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 766.0,
+ "computedY" : 293.0,
+ "placementX" : 766.0,
+ "placementY" : 293.0,
+ "placementWidth" : 8.0,
+ "placementHeight" : 8.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 8.0,
+ "contentHeight" : 8.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/EllipseNode[16]",
+ "entityName" : null,
+ "entityKind" : "EllipseNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 16,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 666.0,
+ "computedY" : 294.0,
+ "placementX" : 666.0,
+ "placementY" : 294.0,
+ "placementWidth" : 6.0,
+ "placementHeight" : 6.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 6.0,
+ "contentHeight" : 6.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/EllipseNode[17]",
+ "entityName" : null,
+ "entityKind" : "EllipseNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 17,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 868.0,
+ "computedY" : 294.0,
+ "placementX" : 868.0,
+ "placementY" : 294.0,
+ "placementWidth" : 6.0,
+ "placementHeight" : 6.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 6.0,
+ "contentHeight" : 6.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]",
+ "entityName" : "TwinFormat_twin-output.pdf",
+ "entityKind" : "ShapeContainerNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 18,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 585.0,
+ "computedY" : 160.0,
+ "placementX" : 585.0,
+ "placementY" : 160.0,
+ "placementWidth" : 170.0,
+ "placementHeight" : 92.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 170.0,
+ "contentHeight" : 92.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/SvgIcon[0]",
+ "entityName" : "SvgIcon",
+ "entityKind" : "LayerStackNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]",
+ "childIndex" : 0,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 599.0,
+ "computedY" : 217.0,
+ "placementX" : 599.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/SvgIcon[0]/SvgLayer0[0]",
+ "entityName" : "SvgLayer0",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/SvgIcon[0]",
+ "childIndex" : 0,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 599.0,
+ "computedY" : 217.0,
+ "placementX" : 599.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/SvgIcon[0]/SvgLayer1[1]",
+ "entityName" : "SvgLayer1",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/SvgIcon[0]",
+ "childIndex" : 1,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 599.0,
+ "computedY" : 217.0,
+ "placementX" : 599.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/SvgIcon[0]/SvgLayer2[2]",
+ "entityName" : "SvgLayer2",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/SvgIcon[0]",
+ "childIndex" : 2,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 599.0,
+ "computedY" : 217.0,
+ "placementX" : 599.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/ParagraphNode[1]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]",
+ "childIndex" : 1,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 629.0,
+ "computedY" : 224.227,
+ "placementX" : 629.0,
+ "placementY" : 224.227,
+ "placementWidth" : 86.4,
+ "placementHeight" : 7.546,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 86.4,
+ "contentHeight" : 7.546,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/ParagraphNode[2]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]",
+ "childIndex" : 2,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 599.0,
+ "computedY" : 193.838,
+ "placementX" : 599.0,
+ "placementY" : 193.838,
+ "placementWidth" : 96.534,
+ "placementHeight" : 8.325,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 96.534,
+ "contentHeight" : 8.325,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]/ParagraphNode[3]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pdf[18]",
+ "childIndex" : 3,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 599.0,
+ "computedY" : 176.207,
+ "placementX" : 599.0,
+ "placementY" : 176.207,
+ "placementWidth" : 82.484,
+ "placementHeight" : 7.585,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 82.484,
+ "contentHeight" : 7.585,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]",
+ "entityName" : "TwinFormat_twin-output.pptx",
+ "entityKind" : "ShapeContainerNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 19,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 785.0,
+ "computedY" : 160.0,
+ "placementX" : 785.0,
+ "placementY" : 160.0,
+ "placementWidth" : 170.0,
+ "placementHeight" : 92.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 170.0,
+ "contentHeight" : 92.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]",
+ "entityName" : "SvgIcon",
+ "entityKind" : "LayerStackNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]",
+ "childIndex" : 0,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 799.0,
+ "computedY" : 217.0,
+ "placementX" : 799.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]/SvgLayer0[0]",
+ "entityName" : "SvgLayer0",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]",
+ "childIndex" : 0,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 799.0,
+ "computedY" : 217.0,
+ "placementX" : 799.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]/SvgLayer1[1]",
+ "entityName" : "SvgLayer1",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]",
+ "childIndex" : 1,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 799.0,
+ "computedY" : 217.0,
+ "placementX" : 799.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]/SvgLayer2[2]",
+ "entityName" : "SvgLayer2",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]",
+ "childIndex" : 2,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 799.0,
+ "computedY" : 217.0,
+ "placementX" : 799.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]/SvgLayer3[3]",
+ "entityName" : "SvgLayer3",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]",
+ "childIndex" : 3,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 799.0,
+ "computedY" : 217.0,
+ "placementX" : 799.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]/SvgLayer4[4]",
+ "entityName" : "SvgLayer4",
+ "entityKind" : "Path",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/SvgIcon[0]",
+ "childIndex" : 4,
+ "depth" : 5,
+ "layer" : 5,
+ "computedX" : 799.0,
+ "computedY" : 217.0,
+ "placementX" : 799.0,
+ "placementY" : 217.0,
+ "placementWidth" : 22.0,
+ "placementHeight" : 22.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 22.0,
+ "contentHeight" : 22.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/ParagraphNode[1]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]",
+ "childIndex" : 1,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 829.0,
+ "computedY" : 224.227,
+ "placementX" : 829.0,
+ "placementY" : 224.227,
+ "placementWidth" : 92.16,
+ "placementHeight" : 7.546,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 92.16,
+ "contentHeight" : 7.546,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/ParagraphNode[2]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]",
+ "childIndex" : 2,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 799.0,
+ "computedY" : 193.838,
+ "placementX" : 799.0,
+ "placementY" : 193.838,
+ "placementWidth" : 95.049,
+ "placementHeight" : 8.325,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 95.049,
+ "contentHeight" : 8.325,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]/ParagraphNode[3]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinFormat_twin-output.pptx[19]",
+ "childIndex" : 3,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 799.0,
+ "computedY" : 176.207,
+ "placementX" : 799.0,
+ "placementY" : 176.207,
+ "placementWidth" : 82.484,
+ "placementHeight" : 7.585,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 82.484,
+ "contentHeight" : 7.585,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/ParityNote[20]",
+ "entityName" : "ParityNote",
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 20,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 622.0,
+ "computedY" : 133.397,
+ "placementX" : 622.0,
+ "placementY" : 133.397,
+ "placementWidth" : 200.517,
+ "placementHeight" : 8.603,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 200.517,
+ "contentHeight" : 8.603,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 690.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_one layout graph[21]",
+ "entityName" : "TwinProof_one layout graph",
+ "entityKind" : "ShapeContainerNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 21,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 48.0,
+ "computedY" : 29.0,
+ "placementX" : 48.0,
+ "placementY" : 29.0,
+ "placementWidth" : 202.0,
+ "placementHeight" : 54.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 202.0,
+ "contentHeight" : 54.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_one layout graph[21]/EllipseNode[0]",
+ "entityName" : null,
+ "entityKind" : "EllipseNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_one layout graph[21]",
+ "childIndex" : 0,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 64.0,
+ "computedY" : 59.5,
+ "placementX" : 64.0,
+ "placementY" : 59.5,
+ "placementWidth" : 9.0,
+ "placementHeight" : 9.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 9.0,
+ "contentHeight" : 9.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_one layout graph[21]/ParagraphNode[1]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_one layout graph[21]",
+ "childIndex" : 1,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 82.0,
+ "computedY" : 60.991,
+ "placementX" : 82.0,
+ "placementY" : 60.991,
+ "placementWidth" : 97.92,
+ "placementHeight" : 8.017,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 97.92,
+ "contentHeight" : 8.017,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_one layout graph[21]/ParagraphNode[2]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_one layout graph[21]",
+ "childIndex" : 2,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 82.0,
+ "computedY" : 41.606,
+ "placementX" : 82.0,
+ "placementY" : 41.606,
+ "placementWidth" : 65.474,
+ "placementHeight" : 8.787,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 65.474,
+ "contentHeight" : 8.787,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_1 page = 1 slide[22]",
+ "entityName" : "TwinProof_1 page = 1 slide",
+ "entityKind" : "ShapeContainerNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 22,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 272.0,
+ "computedY" : 29.0,
+ "placementX" : 272.0,
+ "placementY" : 29.0,
+ "placementWidth" : 202.0,
+ "placementHeight" : 54.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 202.0,
+ "contentHeight" : 54.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_1 page = 1 slide[22]/EllipseNode[0]",
+ "entityName" : null,
+ "entityKind" : "EllipseNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_1 page = 1 slide[22]",
+ "childIndex" : 0,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 288.0,
+ "computedY" : 59.5,
+ "placementX" : 288.0,
+ "placementY" : 59.5,
+ "placementWidth" : 9.0,
+ "placementHeight" : 9.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 9.0,
+ "contentHeight" : 9.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_1 page = 1 slide[22]/ParagraphNode[1]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_1 page = 1 slide[22]",
+ "childIndex" : 1,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 306.0,
+ "computedY" : 60.991,
+ "placementX" : 306.0,
+ "placementY" : 60.991,
+ "placementWidth" : 97.92,
+ "placementHeight" : 8.017,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 97.92,
+ "contentHeight" : 8.017,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_1 page = 1 slide[22]/ParagraphNode[2]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_1 page = 1 slide[22]",
+ "childIndex" : 2,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 306.0,
+ "computedY" : 41.606,
+ "placementX" : 306.0,
+ "placementY" : 41.606,
+ "placementWidth" : 77.083,
+ "placementHeight" : 8.787,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 77.083,
+ "contentHeight" : 8.787,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_shapes stay native[23]",
+ "entityName" : "TwinProof_shapes stay native",
+ "entityKind" : "ShapeContainerNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 23,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 496.0,
+ "computedY" : 29.0,
+ "placementX" : 496.0,
+ "placementY" : 29.0,
+ "placementWidth" : 202.0,
+ "placementHeight" : 54.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 202.0,
+ "contentHeight" : 54.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_shapes stay native[23]/EllipseNode[0]",
+ "entityName" : null,
+ "entityKind" : "EllipseNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_shapes stay native[23]",
+ "childIndex" : 0,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 512.0,
+ "computedY" : 59.5,
+ "placementX" : 512.0,
+ "placementY" : 59.5,
+ "placementWidth" : 9.0,
+ "placementHeight" : 9.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 9.0,
+ "contentHeight" : 9.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_shapes stay native[23]/ParagraphNode[1]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_shapes stay native[23]",
+ "childIndex" : 1,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 530.0,
+ "computedY" : 60.991,
+ "placementX" : 530.0,
+ "placementY" : 60.991,
+ "placementWidth" : 110.16,
+ "placementHeight" : 8.017,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 110.16,
+ "contentHeight" : 8.017,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_shapes stay native[23]/ParagraphNode[2]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_shapes stay native[23]",
+ "childIndex" : 2,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 530.0,
+ "computedY" : 41.606,
+ "placementX" : 530.0,
+ "placementY" : 41.606,
+ "placementWidth" : 76.56,
+ "placementHeight" : 8.787,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 76.56,
+ "contentHeight" : 8.787,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_render-pptx[24]",
+ "entityName" : "TwinProof_render-pptx",
+ "entityKind" : "ShapeContainerNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]",
+ "childIndex" : 24,
+ "depth" : 3,
+ "layer" : 3,
+ "computedX" : 720.0,
+ "computedY" : 29.0,
+ "placementX" : 720.0,
+ "placementY" : 29.0,
+ "placementWidth" : 202.0,
+ "placementHeight" : 54.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 202.0,
+ "contentHeight" : 54.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_render-pptx[24]/EllipseNode[0]",
+ "entityName" : null,
+ "entityKind" : "EllipseNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_render-pptx[24]",
+ "childIndex" : 0,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 736.0,
+ "computedY" : 59.5,
+ "placementX" : 736.0,
+ "placementY" : 59.5,
+ "placementWidth" : 9.0,
+ "placementHeight" : 9.0,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 9.0,
+ "contentHeight" : 9.0,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_render-pptx[24]/ParagraphNode[1]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_render-pptx[24]",
+ "childIndex" : 1,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 754.0,
+ "computedY" : 60.991,
+ "placementX" : 754.0,
+ "placementY" : 60.991,
+ "placementWidth" : 67.32,
+ "placementHeight" : 8.017,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 67.32,
+ "contentHeight" : 8.017,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ }, {
+ "path" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_render-pptx[24]/ParagraphNode[2]",
+ "entityName" : null,
+ "entityKind" : "ParagraphNode",
+ "parentPath" : "TwinOutput[0]/TwinOutputHero[0]/TwinProof_render-pptx[24]",
+ "childIndex" : 2,
+ "depth" : 4,
+ "layer" : 4,
+ "computedX" : 754.0,
+ "computedY" : 41.606,
+ "placementX" : 754.0,
+ "placementY" : 41.606,
+ "placementWidth" : 84.484,
+ "placementHeight" : 8.787,
+ "startPage" : 0,
+ "endPage" : 0,
+ "contentWidth" : 84.484,
+ "contentHeight" : 8.787,
+ "margin" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ },
+ "padding" : {
+ "top" : 0.0,
+ "right" : 0.0,
+ "bottom" : 0.0,
+ "left" : 0.0
+ }
+ } ]
+}