From c176f664787fb640c7f1df895f3c0a31ce1eae96 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Sun, 30 Aug 2026 16:53:35 +0100 Subject: [PATCH] feat(templates): add the NorthlineProposal structured proposal preset The proposal family had one preset on the narrative model. Northline Proposal is the first preset on the structured model: a two-page teal-and-navy business proposal on the Spectral/Lato pair - brand header with logo mark and wordmark, three title lines stacked on the reference's own pitch, the executive summary beside an at-a-glance fact card, icon goal cells, a numbered scope list, deliverable columns, the four-column phase grid, an investment table with subtotal / optional / total row styling, and a signing card. The navy footer band, the teal page-number block and the 01/02 page numbers are page chrome (PageBackgroundFill + DocumentHeaderFooter), not flow content, so the preset owns its session geometry. The icon set ships inside the templates artifact and resolves by the tokens the data carries; a blank token degrades gracefully and an unknown one is reported as a data error by name, as is a phase-grid header count that does not match the four rendered columns. qa: one fixtures class feeds the smoke, the exact two-page layout snapshot, and the pixel gate; the smoke drives full layout and render (empty document included) and asserts the table text on the rendered text layer, where the snapshot cannot see. Examples gain NorthlineProposalV2Example (proposal-northline-v2 in the showcase) with its committed preview. --- CHANGELOG.md | 14 + .../readme/examples/proposal-northline-v2.pdf | Bin 0 -> 74590 bytes .../demcha/examples/GenerateAllExamples.java | 2 + .../examples/support/ShowcaseMetadata.java | 1 + .../support/StructuredProposalSampleData.java | 147 + .../v2/NorthlineProposalV2Example.java | 53 + .../presets/NorthlineProposalFixtures.java | 149 + .../NorthlineProposalLayoutSnapshotTest.java | 34 + .../presets/NorthlineProposalSmokeTest.java | 127 + .../NorthlineProposalVisualParityTest.java | 48 + .../proposal/northline_proposal_layout.json | 5267 +++++++++++++++++ .../northline_proposal-page-0.png | Bin 0 -> 116268 bytes .../northline_proposal-page-1.png | Bin 0 -> 89800 bytes .../proposal/presets/NorthlineIcons.java | 55 + .../proposal/presets/NorthlinePageOne.java | 350 ++ .../proposal/presets/NorthlinePageTwo.java | 333 ++ .../proposal/presets/NorthlineProposal.java | 164 + .../proposal/presets/NorthlineStyles.java | 204 + .../proposal/presets/NorthlineWidgets.java | 208 + .../northline/icons/badge-acceptance.png | Bin 0 -> 1540 bytes .../northline/icons/badge-deliverables.png | Bin 0 -> 2548 bytes .../proposal/northline/icons/badge-goals.png | Bin 0 -> 2427 bytes .../northline/icons/badge-investment.png | Bin 0 -> 2019 bytes .../proposal/northline/icons/badge-scope.png | Bin 0 -> 1159 bytes .../northline/icons/badge-summary.png | Bin 0 -> 1168 bytes .../proposal/northline/icons/badge-terms.png | Bin 0 -> 1085 bytes .../northline/icons/badge-timeline.png | Bin 0 -> 1171 bytes .../proposal/northline/icons/fact-contact.png | Bin 0 -> 2946 bytes .../northline/icons/fact-duration.png | Bin 0 -> 1400 bytes .../proposal/northline/icons/fact-start.png | Bin 0 -> 4924 bytes .../northline/icons/fact-validity.png | Bin 0 -> 4754 bytes .../proposal/northline/icons/goal-brand.png | Bin 0 -> 4269 bytes .../proposal/northline/icons/goal-growth.png | Bin 0 -> 2874 bytes .../proposal/northline/icons/goal-message.png | Bin 0 -> 1375 bytes .../northline/icons/goal-usability.png | Bin 0 -> 1367 bytes 35 files changed, 7156 insertions(+) create mode 100644 assets/readme/examples/proposal-northline-v2.pdf create mode 100644 examples/src/main/java/com/demcha/examples/support/StructuredProposalSampleData.java create mode 100644 examples/src/main/java/com/demcha/examples/templates/proposal/v2/NorthlineProposalV2Example.java create mode 100644 qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalFixtures.java create mode 100644 qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalLayoutSnapshotTest.java create mode 100644 qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalSmokeTest.java create mode 100644 qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalVisualParityTest.java create mode 100644 qa/src/test/resources/layout-snapshots/canonical-templates/proposal/northline_proposal_layout.json create mode 100644 qa/src/test/resources/visual-baselines/proposal-v2-layered/northline_proposal-page-0.png create mode 100644 qa/src/test/resources/visual-baselines/proposal-v2-layered/northline_proposal-page-1.png create mode 100644 templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineIcons.java create mode 100644 templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlinePageOne.java create mode 100644 templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlinePageTwo.java create mode 100644 templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposal.java create mode 100644 templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineStyles.java create mode 100644 templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineWidgets.java create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/badge-acceptance.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/badge-deliverables.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/badge-goals.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/badge-investment.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/badge-scope.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/badge-summary.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/badge-terms.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/badge-timeline.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/fact-contact.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/fact-duration.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/fact-start.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/fact-validity.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/goal-brand.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/goal-growth.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/goal-message.png create mode 100644 templates/src/main/resources/templates/proposal/northline/icons/goal-usability.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 58d990d2a..cbec0eca9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,20 @@ follow semantic versioning; release dates are ISO 8601. overflow that freezes the two-page table continuation), and the invoice pixel-parity gate; the examples showcase gains `invoice-classic-v2`. +- **The first structured proposal preset: `NorthlineProposal`.** A two-page + teal-and-navy business proposal on the Spectral/Lato pair — brand header with logo + mark and wordmark, three stacked title lines on the reference's own pitch, the + executive summary beside an at-a-glance fact card, icon goal cells, a numbered + scope list, deliverable columns, the phase grid, an investment table with subtotal / + optional / total row styling, and a signing card — with the navy footer band, the + teal page-number block and the `01`/`02` page numbers as page chrome rather than + flow content. Ships as `proposal.presets.NorthlineProposal` consuming the new + structured proposal model, with its icon set packaged in the templates artifact, + porting the rendered layout of the published standalone `northline-proposal` + template. Guarded by a smoke test (including the empty document and the + phase-grid header-count contract), an exact two-page layout snapshot, and a + pixel-parity gate; the examples showcase gains `proposal-northline-v2`. + - **Monogram Sidebar draws the employer.** Its experience entries rendered the position, the date and the description, and never `CvEntry.subtitle()` — so every company name was missing from the rendered CV while the education block, which does render its diff --git a/assets/readme/examples/proposal-northline-v2.pdf b/assets/readme/examples/proposal-northline-v2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..934c9474fc6d575ec8f3f40534890a08848cccc4 GIT binary patch literal 74590 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 tags, String codeUrl proposal("proposal-cinematic", "ProposalCinematicFileExample", "Cinematic Proposal", "Layered ModernProposal layout with cover panel, hero spread, and rich typography.", "proposal", "cinematic"); proposal("project-proposal-cinematic", "CinematicProposalFileExample", "Project Proposal (cinematic)", "End-to-end project proposal with mountain hero, scope panels, and pricing summary.", "proposal", "cinematic"); proposal("proposal-modern-v2", "v2/ModernProposalV2Example", "Modern Proposal", "The ModernProposal preset composed straight from its document spec — cover, scope sections and pricing table themed through BrandTheme.", "proposal"); + proposal("proposal-northline-v2", "v2/NorthlineProposalV2Example", "Northline Proposal", "The NorthlineProposal preset on the structured proposal model — brand header, stacked title, glance card, goal cells, numbered scope, phase grid, investment table and signing card across two pages.", "proposal"); // ===== Templates / Schedule ===== schedule("weekly-schedule", "Weekly Schedule", "Multi-day weekly schedule with shift assignments, category fills, and repeated header.", "schedule", "table"); diff --git a/examples/src/main/java/com/demcha/examples/support/StructuredProposalSampleData.java b/examples/src/main/java/com/demcha/examples/support/StructuredProposalSampleData.java new file mode 100644 index 000000000..0c315f917 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/support/StructuredProposalSampleData.java @@ -0,0 +1,147 @@ +package com.demcha.examples.support; + +import com.demcha.compose.document.templates.data.proposal.ProposalAcceptance; +import com.demcha.compose.document.templates.data.proposal.ProposalBrand; +import com.demcha.compose.document.templates.data.proposal.ProposalDeliverables; +import com.demcha.compose.document.templates.data.proposal.ProposalGlance; +import com.demcha.compose.document.templates.data.proposal.ProposalGoals; +import com.demcha.compose.document.templates.data.proposal.ProposalInvestment; +import com.demcha.compose.document.templates.data.proposal.ProposalMetaLine; +import com.demcha.compose.document.templates.data.proposal.ProposalPhaseGrid; +import com.demcha.compose.document.templates.data.proposal.ProposalScope; +import com.demcha.compose.document.templates.data.proposal.ProposalSummaryBlock; +import com.demcha.compose.document.templates.data.proposal.ProposalTermsBlock; +import com.demcha.compose.document.templates.data.proposal.ProposalTitleLines; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalData; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalDocumentSpec; + +import java.util.List; + +/** + * Shared sample data for the structured proposal examples. + * + *

Kept in lockstep with the qa module's {@code NorthlineProposalFixtures} + * — the two modules cannot share a source file, so a content change here + * belongs there too.

+ * + *

The sample is the preset's reference content: a two-page + * brand-refresh proposal exercising every band — all four glance facts + * (one with the optional note), four goal cells, five scope rows, both + * deliverable columns, the four-phase grid, an investment table with + * ordinary, subtotal and optional rows plus the total band, four terms, + * and the three-field signing card.

+ */ +public final class StructuredProposalSampleData { + + private StructuredProposalSampleData() { + } + + public static StructuredProposalDocumentSpec sample() { + return StructuredProposalDocumentSpec.from(StructuredProposalData.builder() + .brand(new ProposalBrand("N", "NORTHLINE", "STUDIO", "PROPOSAL", + "northlinestudio.com", "NORTHLINE STUDIO")) + .title(new ProposalTitleLines("Proposal –", "Brand Refresh &", + "Website Redesign")) + .meta(new ProposalMetaLine("PREPARED FOR ASTERA HEALTH CO.", + "PREPARED BY NORTHLINE STUDIO", "25 AUGUST 2026")) + .executiveSummary(new ProposalSummaryBlock("EXECUTIVE SUMMARY", + "badge-summary", List.of( + "Thank you for the opportunity to partner with Astera Health Co. " + + "on your next chapter. This proposal outlines our approach to " + + "refreshing your brand identity and redesigning your website to " + + "better reflect your mission, elevate credibility, and deliver a " + + "seamless experience for the people you serve.", + "Our process blends strategic thinking with thoughtful design to " + + "create a cohesive brand system and a modern, conversion-focused " + + "website. The outcome will be a clear, confident presence that " + + "strengthens trust, improves engagement, and supports your " + + "growth goals."))) + .glance(new ProposalGlance("PROJECT AT A GLANCE", List.of( + new ProposalGlance.Fact("fact-duration", "PROJECT DURATION", + "6 weeks", null), + new ProposalGlance.Fact("fact-start", "START WINDOW", + "September 2026", null), + new ProposalGlance.Fact("fact-contact", "PRIMARY CONTACT", + "Project Lead", null), + new ProposalGlance.Fact("fact-validity", "PROPOSAL VALIDITY", + "14 days", "(until 8 September 2026)")))) + .goals(new ProposalGoals("PROJECT GOALS", "badge-goals", List.of( + new ProposalGoals.Goal("goal-brand", + "Strengthen brand credibility and visual consistency."), + new ProposalGoals.Goal("goal-usability", + "Improve website usability and drive meaningful action."), + new ProposalGoals.Goal("goal-message", + "Communicate your value clearly across all touchpoints."), + new ProposalGoals.Goal("goal-growth", + "Build a scalable digital foundation for future growth.")))) + .scope(new ProposalScope("SCOPE OF WORK", "badge-scope", List.of( + new ProposalScope.Item("01", "Discovery & Research", + "Stakeholder interviews, brand audit, competitor review, and " + + "audience insights to inform strategy."), + new ProposalScope.Item("02", "Visual Identity Refinement", + "Refine logo system, color palette, typography, and visual " + + "guidelines for a cohesive, modern identity."), + new ProposalScope.Item("03", "Website UX/UI Design", + "Design a responsive, accessibility-minded website with " + + "intuitive navigation and clear conversion pathways."), + new ProposalScope.Item("04", "Content Structure & Messaging", + "Define site architecture, key messaging, and content " + + "hierarchy to communicate value and build trust."), + new ProposalScope.Item("05", "Launch Support", + "Developer handoff, QA support, training, and go-live " + + "assistance to ensure a smooth launch.")))) + .deliverables(new ProposalDeliverables("DELIVERABLES", "badge-deliverables", + List.of("Brand strategy summary", + "Refined logo suite & brand guidelines", + "Color, typography & design system", + "Website UX wireframes", + "High-fidelity website designs"), + List.of("Responsive design for desktop, tablet & mobile", + "Content strategy & page templates", + "Developer-ready assets & specifications", + "Launch checklist & training session"))) + .timeline(new ProposalPhaseGrid("TIMELINE", "badge-timeline", + List.of("PHASE", "FOCUS", "DURATION", "OUTPUT"), List.of( + new ProposalPhaseGrid.Phase("01", "Discover", + "Research, audit, insights, and strategy", "1 week", + "Discovery report & creative direction"), + new ProposalPhaseGrid.Phase("02", "Design", + "Brand refinement and website UX/UI design", "2 weeks", + "Design system & high-fidelity designs"), + new ProposalPhaseGrid.Phase("03", "Develop Prep", + "Content structure, developer handoff & asset preparation", + "1 week", "Specs, assets & content framework"), + new ProposalPhaseGrid.Phase("04", "Launch Support", + "QA, training & go-live assistance", "2 weeks", + "QA sign-off & successful launch")))) + .investment(new ProposalInvestment("INVESTMENT", "badge-investment", + "ITEM", "AMOUNT (GBP)", List.of( + new ProposalInvestment.Row("Discovery & Strategy", "£2,500", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Brand Identity Refinement", "£4,500", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Website UX/UI Design", "£7,000", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Content Structure & Messaging", "£2,000", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Launch Support", "£1,500", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Subtotal", "£17,500", + ProposalInvestment.Role.SUBTOTAL), + new ProposalInvestment.Row("Optional: 3 Months Post-Launch Support", + "£1,750", ProposalInvestment.Role.OPTIONAL)), + "TOTAL INVESTMENT", "£19,250")) + .terms(new ProposalTermsBlock("TERMS", "badge-terms", List.of( + "50% deposit is required to secure the project and schedule the " + + "kick-off.", + "Includes two rounds of revisions per major deliverable.", + "Final files and handoff delivered upon final payment.", + "Ownership of all final deliverables transfers to Astera Health Co. " + + "after full payment is received."))) + .acceptance(new ProposalAcceptance("ACCEPTANCE", "badge-acceptance", + "By signing below, you agree to the scope, timeline, investment, " + + "and terms outlined in this proposal.", + List.of("Accepted by:", "Signature:", "Date:"))) + .build()); + } +} diff --git a/examples/src/main/java/com/demcha/examples/templates/proposal/v2/NorthlineProposalV2Example.java b/examples/src/main/java/com/demcha/examples/templates/proposal/v2/NorthlineProposalV2Example.java new file mode 100644 index 000000000..0d91e2365 --- /dev/null +++ b/examples/src/main/java/com/demcha/examples/templates/proposal/v2/NorthlineProposalV2Example.java @@ -0,0 +1,53 @@ +package com.demcha.examples.templates.proposal; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalDocumentSpec; +import com.demcha.compose.document.templates.proposal.presets.NorthlineProposal; +import com.demcha.examples.support.ExampleOutputPaths; +import com.demcha.examples.support.StructuredProposalSampleData; + +import java.nio.file.Path; + +/** + * Renders the layered {@code proposal.v2} Northline Proposal preset + * against the shared structured proposal sample data. + * + *

Output: + * {@code examples/target/generated-pdfs/templates/proposal/proposal-northline-v2.pdf}.

+ * + *

The preset owns its page geometry — size, margins, the footer band + * and the page background — so the session starts unconfigured; see + * {@code NorthlineProposal.RECOMMENDED_MARGIN}.

+ */ +public final class NorthlineProposalV2Example { + + private NorthlineProposalV2Example() { + } + + /** + * @return absolute path of the rendered PDF + * @throws Exception if rendering fails + */ + public static Path generate() throws Exception { + Path outputFile = ExampleOutputPaths.prepare( + "templates/proposal", "proposal-northline-v2.pdf"); + StructuredProposalDocumentSpec spec = StructuredProposalSampleData.sample(); + DocumentTemplate template = NorthlineProposal.create(); + + try (DocumentSession document = GraphCompose.document(outputFile).create()) { + template.compose(document, spec); + document.buildPdf(); + } + return outputFile; + } + + /** + * @param args ignored + * @throws Exception if rendering fails + */ + public static void main(String[] args) throws Exception { + System.out.println("Generated: " + generate()); + } +} diff --git a/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalFixtures.java b/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalFixtures.java new file mode 100644 index 000000000..63844a745 --- /dev/null +++ b/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalFixtures.java @@ -0,0 +1,149 @@ +package com.demcha.compose.document.templates.proposal.presets; + +import com.demcha.compose.document.templates.data.proposal.ProposalAcceptance; +import com.demcha.compose.document.templates.data.proposal.ProposalBrand; +import com.demcha.compose.document.templates.data.proposal.ProposalDeliverables; +import com.demcha.compose.document.templates.data.proposal.ProposalGlance; +import com.demcha.compose.document.templates.data.proposal.ProposalGoals; +import com.demcha.compose.document.templates.data.proposal.ProposalInvestment; +import com.demcha.compose.document.templates.data.proposal.ProposalMetaLine; +import com.demcha.compose.document.templates.data.proposal.ProposalPhaseGrid; +import com.demcha.compose.document.templates.data.proposal.ProposalScope; +import com.demcha.compose.document.templates.data.proposal.ProposalSummaryBlock; +import com.demcha.compose.document.templates.data.proposal.ProposalTermsBlock; +import com.demcha.compose.document.templates.data.proposal.ProposalTitleLines; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalData; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalDocumentSpec; + +import java.util.List; + +/** + * Shared fixture data for the Northline proposal gates — the SAME spec + * feeds the smoke, layout-snapshot, and pixel gates, so a geometry shift + * the pixel budget absorbs still trips the exact snapshot, and vice versa. + * + *

The canonical fixture is the preset's reference content: a two-page + * brand-refresh proposal exercising every band — all four glance facts + * (one with the optional note), four goal cells, five scope rows, both + * deliverable columns, the four-phase grid, an investment table with + * ordinary, subtotal and optional rows plus the total band, four terms, + * and the three-field signing card.

+ * + *

Kept in lockstep with the examples module's + * {@code StructuredProposalSampleData} — the two modules cannot share a + * source file, so a content change here belongs there too.

+ */ +final class NorthlineProposalFixtures { + + private NorthlineProposalFixtures() { + } + + static StructuredProposalDocumentSpec canonicalProposal() { + return StructuredProposalDocumentSpec.from(StructuredProposalData.builder() + .brand(new ProposalBrand("N", "NORTHLINE", "STUDIO", "PROPOSAL", + "northlinestudio.com", "NORTHLINE STUDIO")) + .title(new ProposalTitleLines("Proposal –", "Brand Refresh &", + "Website Redesign")) + .meta(new ProposalMetaLine("PREPARED FOR ASTERA HEALTH CO.", + "PREPARED BY NORTHLINE STUDIO", "25 AUGUST 2026")) + .executiveSummary(new ProposalSummaryBlock("EXECUTIVE SUMMARY", + "badge-summary", List.of( + "Thank you for the opportunity to partner with Astera Health Co. " + + "on your next chapter. This proposal outlines our approach to " + + "refreshing your brand identity and redesigning your website to " + + "better reflect your mission, elevate credibility, and deliver a " + + "seamless experience for the people you serve.", + "Our process blends strategic thinking with thoughtful design to " + + "create a cohesive brand system and a modern, conversion-focused " + + "website. The outcome will be a clear, confident presence that " + + "strengthens trust, improves engagement, and supports your " + + "growth goals."))) + .glance(new ProposalGlance("PROJECT AT A GLANCE", List.of( + new ProposalGlance.Fact("fact-duration", "PROJECT DURATION", + "6 weeks", null), + new ProposalGlance.Fact("fact-start", "START WINDOW", + "September 2026", null), + new ProposalGlance.Fact("fact-contact", "PRIMARY CONTACT", + "Project Lead", null), + new ProposalGlance.Fact("fact-validity", "PROPOSAL VALIDITY", + "14 days", "(until 8 September 2026)")))) + .goals(new ProposalGoals("PROJECT GOALS", "badge-goals", List.of( + new ProposalGoals.Goal("goal-brand", + "Strengthen brand credibility and visual consistency."), + new ProposalGoals.Goal("goal-usability", + "Improve website usability and drive meaningful action."), + new ProposalGoals.Goal("goal-message", + "Communicate your value clearly across all touchpoints."), + new ProposalGoals.Goal("goal-growth", + "Build a scalable digital foundation for future growth.")))) + .scope(new ProposalScope("SCOPE OF WORK", "badge-scope", List.of( + new ProposalScope.Item("01", "Discovery & Research", + "Stakeholder interviews, brand audit, competitor review, and " + + "audience insights to inform strategy."), + new ProposalScope.Item("02", "Visual Identity Refinement", + "Refine logo system, color palette, typography, and visual " + + "guidelines for a cohesive, modern identity."), + new ProposalScope.Item("03", "Website UX/UI Design", + "Design a responsive, accessibility-minded website with " + + "intuitive navigation and clear conversion pathways."), + new ProposalScope.Item("04", "Content Structure & Messaging", + "Define site architecture, key messaging, and content " + + "hierarchy to communicate value and build trust."), + new ProposalScope.Item("05", "Launch Support", + "Developer handoff, QA support, training, and go-live " + + "assistance to ensure a smooth launch.")))) + .deliverables(new ProposalDeliverables("DELIVERABLES", "badge-deliverables", + List.of("Brand strategy summary", + "Refined logo suite & brand guidelines", + "Color, typography & design system", + "Website UX wireframes", + "High-fidelity website designs"), + List.of("Responsive design for desktop, tablet & mobile", + "Content strategy & page templates", + "Developer-ready assets & specifications", + "Launch checklist & training session"))) + .timeline(new ProposalPhaseGrid("TIMELINE", "badge-timeline", + List.of("PHASE", "FOCUS", "DURATION", "OUTPUT"), List.of( + new ProposalPhaseGrid.Phase("01", "Discover", + "Research, audit, insights, and strategy", "1 week", + "Discovery report & creative direction"), + new ProposalPhaseGrid.Phase("02", "Design", + "Brand refinement and website UX/UI design", "2 weeks", + "Design system & high-fidelity designs"), + new ProposalPhaseGrid.Phase("03", "Develop Prep", + "Content structure, developer handoff & asset preparation", + "1 week", "Specs, assets & content framework"), + new ProposalPhaseGrid.Phase("04", "Launch Support", + "QA, training & go-live assistance", "2 weeks", + "QA sign-off & successful launch")))) + .investment(new ProposalInvestment("INVESTMENT", "badge-investment", + "ITEM", "AMOUNT (GBP)", List.of( + new ProposalInvestment.Row("Discovery & Strategy", "£2,500", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Brand Identity Refinement", "£4,500", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Website UX/UI Design", "£7,000", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Content Structure & Messaging", "£2,000", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Launch Support", "£1,500", + ProposalInvestment.Role.NONE), + new ProposalInvestment.Row("Subtotal", "£17,500", + ProposalInvestment.Role.SUBTOTAL), + new ProposalInvestment.Row("Optional: 3 Months Post-Launch Support", + "£1,750", ProposalInvestment.Role.OPTIONAL)), + "TOTAL INVESTMENT", "£19,250")) + .terms(new ProposalTermsBlock("TERMS", "badge-terms", List.of( + "50% deposit is required to secure the project and schedule the " + + "kick-off.", + "Includes two rounds of revisions per major deliverable.", + "Final files and handoff delivered upon final payment.", + "Ownership of all final deliverables transfers to Astera Health Co. " + + "after full payment is received."))) + .acceptance(new ProposalAcceptance("ACCEPTANCE", "badge-acceptance", + "By signing below, you agree to the scope, timeline, investment, " + + "and terms outlined in this proposal.", + List.of("Accepted by:", "Signature:", "Date:"))) + .build()); + } +} diff --git a/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalLayoutSnapshotTest.java b/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalLayoutSnapshotTest.java new file mode 100644 index 000000000..78e7d893b --- /dev/null +++ b/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalLayoutSnapshotTest.java @@ -0,0 +1,34 @@ +package com.demcha.compose.document.templates.proposal.presets; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.TemplateTestSupport; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Exact layout snapshot gate for {@link NorthlineProposal} — freezes the + * resolved geometry of both pages, including the natural page-one → page-two + * break, which the pixel budget alone could quietly absorb shifting. + * + *

The preset is a fixed two-page composition (each page's bands are + * composed explicitly), so the canonical fixture IS the pagination + * contract; there is no overflow fixture to grow.

+ * + *

Refresh with {@code -Dgraphcompose.updateSnapshots=true} after a + * deliberate layout change, and commit the JSON with the change.

+ */ +class NorthlineProposalLayoutSnapshotTest { + + @Test + void canonicalProposalMatchesLayoutSnapshot() throws Exception { + try (DocumentSession session = GraphCompose.document().create()) { + NorthlineProposal.create().compose( + session, NorthlineProposalFixtures.canonicalProposal()); + assertThat(session.layoutSnapshot().totalPages()).isEqualTo(2); + TemplateTestSupport.assertCanonicalSnapshot( + session, "northline_proposal_layout", "proposal"); + } + } +} diff --git a/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalSmokeTest.java b/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalSmokeTest.java new file mode 100644 index 000000000..4e7d7ac83 --- /dev/null +++ b/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalSmokeTest.java @@ -0,0 +1,127 @@ +package com.demcha.compose.document.templates.proposal.presets; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.data.proposal.ProposalPhaseGrid; +import com.demcha.compose.document.templates.data.proposal.ProposalSummaryBlock; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalData; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalDocumentSpec; +import org.apache.pdfbox.Loader; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.text.PDFTextStripper; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +/** + * Smoke test for the structured proposal pipeline through + * {@link NorthlineProposal} — proves the preset renders a + * {@link StructuredProposalDocumentSpec} end-to-end, that the packaged + * icon set resolves from the templates artifact (a full render loads + * every icon token the canonical fixture names), that an empty document + * renders through the section guards, and that the phase-grid header + * contract fails with a named count rather than an index error. + */ +class NorthlineProposalSmokeTest { + + private static void render(StructuredProposalDocumentSpec spec) throws Exception { + // The preset owns its page geometry (size, margins, background), + // so the session starts unconfigured. + try (DocumentSession session = GraphCompose.document().create()) { + NorthlineProposal.create().compose(session, spec); + assertThat(session.roots()).isNotEmpty(); + // Drive layout + render — the icon loading, the zero-row table + // guards, and the chrome only exist at render time. + assertThat(session.toPdfBytes()).isNotEmpty(); + } + } + + @Test + void exposesStableIdentity() { + DocumentTemplate template = NorthlineProposal.create(); + assertThat(template.id()).isEqualTo(NorthlineProposal.ID); + assertThat(template.displayName()).isEqualTo(NorthlineProposal.DISPLAY_NAME); + } + + @Test + void rendersCanonicalProposalWithPackagedIcons() throws Exception { + render(NorthlineProposalFixtures.canonicalProposal()); + } + + @Test + void rendersEmptyProposal() throws Exception { + // Exercises the guards: no goal cells (the flattened column spec + // cannot describe zero cells), no phase grid, no signature row — + // and the investment table still carries its header + total band. + render(StructuredProposalDocumentSpec.from( + StructuredProposalData.builder().build())); + } + + @Test + void canonicalRenderCarriesTheTableText() throws Exception { + // The phase grid and the investment table are single leaf nodes in + // the layout snapshot (the recorded composed-cell blind spot), so + // their content is asserted on the rendered text layer instead. + byte[] pdfBytes; + try (DocumentSession session = GraphCompose.document().create()) { + NorthlineProposal.create().compose( + session, NorthlineProposalFixtures.canonicalProposal()); + pdfBytes = session.toPdfBytes(); + } + String text; + try (PDDocument document = Loader.loadPDF(pdfBytes)) { + text = new PDFTextStripper().getText(document); + } + // Composed cells wrap, so the assertions stay within one line. + assertThat(text) + .contains("Discovery report") + .contains("Brand Identity Refinement") + .contains("2 weeks") + .contains("TOTAL INVESTMENT") + .contains("£19,250"); + } + + @Test + void rejectsUnknownIconTokenByName() { + StructuredProposalDocumentSpec spec = StructuredProposalDocumentSpec.from( + StructuredProposalData.builder() + .executiveSummary(new ProposalSummaryBlock("SUMMARY", + "no-such-icon", List.of("Body."))) + .build()); + try (DocumentSession session = GraphCompose.document().create()) { + assertThatThrownBy(() -> NorthlineProposal.create().compose(session, spec)) + .isInstanceOf(IllegalArgumentException.class) + .hasMessageContaining("no-such-icon"); + } + } + + @Test + void headerCountIsNotValidatedWhenTheGridNeverRenders() throws Exception { + // A wrong header count with zero phases constrains nothing — the + // grid is skipped before the validation. + render(StructuredProposalDocumentSpec.from(StructuredProposalData.builder() + .timeline(new ProposalPhaseGrid("TIMELINE", "badge-timeline", + List.of("PHASE", "FOCUS", "DURATION"), List.of())) + .build())); + } + + @Test + void phaseGridRejectsHeaderCountMismatchByName() { + StructuredProposalDocumentSpec spec = StructuredProposalDocumentSpec.from( + StructuredProposalData.builder() + .timeline(new ProposalPhaseGrid("TIMELINE", "badge-timeline", + List.of("PHASE", "FOCUS", "DURATION"), + List.of(new ProposalPhaseGrid.Phase("01", "Discover", + "Research", "1 week", "Report")))) + .build()); + try (DocumentSession session = GraphCompose.document().create()) { + assertThatThrownBy(() -> NorthlineProposal.create().compose(session, spec)) + .isInstanceOf(IllegalArgumentException.class) + .hasMessageContaining("one header per column"); + } + } +} diff --git a/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalVisualParityTest.java b/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalVisualParityTest.java new file mode 100644 index 000000000..c276e7186 --- /dev/null +++ b/qa/src/test/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposalVisualParityTest.java @@ -0,0 +1,48 @@ +package com.demcha.compose.document.templates.proposal.presets; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.testing.visual.PdfVisualRegression; +import org.junit.jupiter.api.Test; + +import java.nio.file.Path; + +/** + * Pixel-diff visual parity gate for {@link NorthlineProposal} — both pages + * of the canonical fixture against checked-in baselines. + * + *

Separate from {@code ProposalV2VisualParityTest} because that gate is + * parameterised on the narrative {@code ProposalDocumentSpec} while this + * preset consumes the structured spec. Budget and tolerance mirror the + * other template parity gates (Lato/Spectral are bundled TTFs, the same + * cross-platform drift class as the CV presets' faces).

+ * + *

Re-blessing baselines — after a deliberate visual + * change, re-run with {@code -Dgraphcompose.visual.approve=true} and + * commit the updated PNGs with the change. Baselines live under + * {@code src/test/resources/visual-baselines/proposal-v2-layered/}.

+ */ +class NorthlineProposalVisualParityTest { + + private static final Path BASELINE_ROOT = Path.of( + "src", "test", "resources", "visual-baselines", "proposal-v2-layered"); + + private static final long PIXEL_DIFF_BUDGET = 50_000L; + private static final int PER_PIXEL_TOLERANCE = 8; + + @Test + void rendersWithinPixelDiffBudget() throws Exception { + byte[] pdfBytes; + try (DocumentSession document = GraphCompose.document().create()) { + NorthlineProposal.create().compose( + document, NorthlineProposalFixtures.canonicalProposal()); + pdfBytes = document.toPdfBytes(); + } + + PdfVisualRegression.standard() + .baselineRoot(BASELINE_ROOT) + .perPixelTolerance(PER_PIXEL_TOLERANCE) + .mismatchedPixelBudget(PIXEL_DIFF_BUDGET) + .assertMatchesBaseline("northline_proposal", pdfBytes); + } +} diff --git a/qa/src/test/resources/layout-snapshots/canonical-templates/proposal/northline_proposal_layout.json b/qa/src/test/resources/layout-snapshots/canonical-templates/proposal/northline_proposal_layout.json new file mode 100644 index 000000000..629dd3f5a --- /dev/null +++ b/qa/src/test/resources/layout-snapshots/canonical-templates/proposal/northline_proposal_layout.json @@ -0,0 +1,5267 @@ +{ + "formatVersion" : "2.0", + "canvas" : { + "pageWidth" : 595.276, + "pageHeight" : 841.89, + "innerWidth" : 523.276, + "innerHeight" : 785.89, + "margin" : { + "top" : 8.0, + "right" : 36.0, + "bottom" : 48.0, + "left" : 36.0 + } + }, + "totalPages" : 2, + "nodes" : [ { + "path" : "Proposal[0]", + "entityName" : "Proposal", + "entityKind" : "ContainerNode", + "parentPath" : null, + "childIndex" : 0, + "depth" : 1, + "layer" : 1, + "computedX" : 36.0, + "computedY" : -690.811, + "placementX" : 36.0, + "placementY" : -690.811, + "placementWidth" : 523.276, + "placementHeight" : 1524.701, + "startPage" : 0, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 1524.701, + "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" : "Proposal[0]/Header[0]", + "entityName" : "Header", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]", + "childIndex" : 0, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 775.89, + "placementX" : 36.0, + "placementY" : 775.89, + "placementWidth" : 523.276, + "placementHeight" : 58.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 58.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" : "Proposal[0]/Header[0]/HeaderRow[0]", + "entityName" : "HeaderRow", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]/Header[0]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 783.89, + "placementX" : 36.0, + "placementY" : 783.89, + "placementWidth" : 523.276, + "placementHeight" : 50.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 50.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" : "Proposal[0]/Header[0]/HeaderRow[0]/LogoMark[0]", + "entityName" : "LogoMark", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 783.89, + "placementX" : 36.0, + "placementY" : 783.89, + "placementWidth" : 50.0, + "placementHeight" : 50.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 50.0, + "contentHeight" : 50.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" : "Proposal[0]/Header[0]/HeaderRow[0]/LogoMark[0]/Monogram[0]", + "entityName" : "Monogram", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]/LogoMark[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 790.89, + "placementX" : 36.0, + "placementY" : 790.89, + "placementWidth" : 50.0, + "placementHeight" : 36.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 50.0, + "contentHeight" : 36.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" : "Proposal[0]/Header[0]/HeaderRow[0]/Wordmark[1]", + "entityName" : "Wordmark", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 98.5, + "computedY" : 789.69, + "placementX" : 98.5, + "placementY" : 789.69, + "placementWidth" : 92.096, + "placementHeight" : 38.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 92.096, + "contentHeight" : 38.4, + "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" : "Proposal[0]/Header[0]/HeaderRow[0]/Wordmark[1]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]/Wordmark[1]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 98.5, + "computedY" : 808.89, + "placementX" : 98.5, + "placementY" : 808.89, + "placementWidth" : 92.096, + "placementHeight" : 19.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 92.096, + "contentHeight" : 19.2, + "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" : "Proposal[0]/Header[0]/HeaderRow[0]/Wordmark[1]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]/Wordmark[1]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 98.5, + "computedY" : 789.69, + "placementX" : 98.5, + "placementY" : 789.69, + "placementWidth" : 60.128, + "placementHeight" : 19.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 60.128, + "contentHeight" : 19.2, + "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" : "Proposal[0]/Header[0]/HeaderRow[0]/SpacerNode[2]", + "entityName" : null, + "entityKind" : "SpacerNode", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 210.422, + "computedY" : 808.89, + "placementX" : 210.422, + "placementY" : 808.89, + "placementWidth" : 0.0, + "placementHeight" : 0.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 0.0, + "contentHeight" : 0.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" : "Proposal[0]/Header[0]/HeaderRow[0]/DocumentLabel[3]", + "entityName" : "DocumentLabel", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]", + "childIndex" : 3, + "depth" : 4, + "layer" : 4, + "computedX" : 475.552, + "computedY" : 799.39, + "placementX" : 475.552, + "placementY" : 799.39, + "placementWidth" : 83.724, + "placementHeight" : 19.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 83.724, + "contentHeight" : 19.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" : "Proposal[0]/Header[0]/HeaderRow[0]/DocumentLabel[3]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]/DocumentLabel[3]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 475.552, + "computedY" : 807.59, + "placementX" : 475.552, + "placementY" : 807.59, + "placementWidth" : 83.724, + "placementHeight" : 10.8, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 83.724, + "contentHeight" : 10.8, + "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" : "Proposal[0]/Header[0]/HeaderRow[0]/DocumentLabel[3]/Align[1]", + "entityName" : null, + "entityKind" : "Align", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]/DocumentLabel[3]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 475.552, + "computedY" : 799.39, + "placementX" : 475.552, + "placementY" : 799.39, + "placementWidth" : 83.724, + "placementHeight" : 8.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 83.724, + "contentHeight" : 8.2, + "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" : "Proposal[0]/Header[0]/HeaderRow[0]/DocumentLabel[3]/Align[1]/DocumentLabelRule[0]", + "entityName" : "DocumentLabelRule", + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/Header[0]/HeaderRow[0]/DocumentLabel[3]/Align[1]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 524.176, + "computedY" : 799.39, + "placementX" : 524.176, + "placementY" : 799.39, + "placementWidth" : 35.1, + "placementHeight" : 2.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 35.1, + "contentHeight" : 2.2, + "margin" : { + "top" : 6.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Header[0]/LineNode[1]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/Header[0]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 775.89, + "placementX" : 36.0, + "placementY" : 775.89, + "placementWidth" : 523.276, + "placementHeight" : 1.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 1.0, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/TitleBlock[1]", + "entityName" : "TitleBlock", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]", + "childIndex" : 1, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 613.59, + "placementX" : 36.0, + "placementY" : 613.59, + "placementWidth" : 523.276, + "placementHeight" : 144.3, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 144.3, + "margin" : { + "top" : 18.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/TitleBlock[1]/LineNode[0]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/TitleBlock[1]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 755.29, + "placementX" : 36.0, + "placementY" : 755.29, + "placementWidth" : 45.002, + "placementHeight" : 2.6, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 45.002, + "contentHeight" : 2.6, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 2.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/TitleBlock[1]/TitleLines[1]", + "entityName" : "TitleLines", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/TitleBlock[1]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 613.59, + "placementX" : 36.0, + "placementY" : 613.59, + "placementWidth" : 523.276, + "placementHeight" : 139.7, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 139.7, + "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" : "Proposal[0]/TitleBlock[1]/TitleLines[1]/TitleLead[0]", + "entityName" : "TitleLead", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/TitleBlock[1]/TitleLines[1]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 683.278, + "placementX" : 36.0, + "placementY" : 683.278, + "placementWidth" : 221.72, + "placementHeight" : 70.012, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 221.72, + "contentHeight" : 70.012, + "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" : "Proposal[0]/TitleBlock[1]/TitleLines[1]/TitleLine1[1]", + "entityName" : "TitleLine1", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/TitleBlock[1]/TitleLines[1]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 635.278, + "placementX" : 36.0, + "placementY" : 635.278, + "placementWidth" : 353.372, + "placementHeight" : 70.012, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 353.372, + "contentHeight" : 70.012, + "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" : "Proposal[0]/TitleBlock[1]/TitleLines[1]/TitleLine2[2]", + "entityName" : "TitleLine2", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/TitleBlock[1]/TitleLines[1]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 587.278, + "placementX" : 36.0, + "placementY" : 587.278, + "placementWidth" : 379.638, + "placementHeight" : 70.012, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 379.638, + "contentHeight" : 70.012, + "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" : "Proposal[0]/TitleMeta[2]", + "entityName" : "TitleMeta", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]", + "childIndex" : 2, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 585.99, + "placementX" : 36.0, + "placementY" : 585.99, + "placementWidth" : 366.336, + "placementHeight" : 9.6, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 366.336, + "contentHeight" : 9.6, + "margin" : { + "top" : 18.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/TitleMeta[2]/MetaLine[0]", + "entityName" : "MetaLine", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/TitleMeta[2]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 585.99, + "placementX" : 36.0, + "placementY" : 585.99, + "placementWidth" : 366.336, + "placementHeight" : 9.6, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 366.336, + "contentHeight" : 9.6, + "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" : "Proposal[0]/SummaryBand[3]", + "entityName" : "SummaryBand", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]", + "childIndex" : 3, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 341.89, + "placementX" : 36.0, + "placementY" : 341.89, + "placementWidth" : 523.276, + "placementHeight" : 226.1, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 226.1, + "margin" : { + "top" : 18.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]", + "entityName" : "SummaryColumn", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/SummaryBand[3]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 360.04, + "placementX" : 36.0, + "placementY" : 360.04, + "placementWidth" : 324.431, + "placementHeight" : 207.95, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 324.431, + "contentHeight" : 207.95, + "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" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[0]", + "entityName" : "SectionHeading", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 540.99, + "placementX" : 36.0, + "placementY" : 540.99, + "placementWidth" : 324.431, + "placementHeight" : 27.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 324.431, + "contentHeight" : 27.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" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[0]/SectionBadge[0]", + "entityName" : "SectionBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 540.99, + "placementX" : 36.0, + "placementY" : 540.99, + "placementWidth" : 27.0, + "placementHeight" : 27.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 27.0, + "contentHeight" : 27.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" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[0]/SectionBadge[0]/Icon-badge-summary[0]", + "entityName" : "Icon-badge-summary", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[0]/SectionBadge[0]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 42.48, + "computedY" : 547.47, + "placementX" : 42.48, + "placementY" : 547.47, + "placementWidth" : 14.04, + "placementHeight" : 14.04, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 14.04, + "contentHeight" : 14.04, + "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" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[0]/SectionHeadingTitle[1]", + "entityName" : "SectionHeadingTitle", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[0]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 74.34, + "computedY" : 546.39, + "placementX" : 74.34, + "placementY" : 546.39, + "placementWidth" : 145.854, + "placementHeight" : 16.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 145.854, + "contentHeight" : 16.2, + "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" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 468.19, + "placementX" : 36.0, + "placementY" : 468.19, + "placementWidth" : 318.63, + "placementHeight" : 65.8, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 318.63, + "contentHeight" : 65.8, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 405.04, + "placementX" : 36.0, + "placementY" : 405.04, + "placementWidth" : 314.24, + "placementHeight" : 52.35, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 314.24, + "contentHeight" : 52.35, + "margin" : { + "top" : 10.8, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SpacerNode[3]", + "entityName" : null, + "entityKind" : "SpacerNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]", + "childIndex" : 3, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 387.04, + "placementX" : 36.0, + "placementY" : 387.04, + "placementWidth" : 0.0, + "placementHeight" : 18.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 0.0, + "contentHeight" : 18.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" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[4]", + "entityName" : "SectionHeading", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]", + "childIndex" : 4, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 360.04, + "placementX" : 36.0, + "placementY" : 360.04, + "placementWidth" : 324.431, + "placementHeight" : 27.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 324.431, + "contentHeight" : 27.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" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[4]/SectionBadge[0]", + "entityName" : "SectionBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[4]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 360.04, + "placementX" : 36.0, + "placementY" : 360.04, + "placementWidth" : 27.0, + "placementHeight" : 27.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 27.0, + "contentHeight" : 27.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" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[4]/SectionBadge[0]/Icon-badge-goals[0]", + "entityName" : "Icon-badge-goals", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[4]/SectionBadge[0]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 42.48, + "computedY" : 366.52, + "placementX" : 42.48, + "placementY" : 366.52, + "placementWidth" : 14.04, + "placementHeight" : 14.04, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 14.04, + "contentHeight" : 14.04, + "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" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[4]/SectionHeadingTitle[1]", + "entityName" : "SectionHeadingTitle", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/SummaryColumn[0]/SectionHeading[4]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 74.34, + "computedY" : 365.44, + "placementX" : 74.34, + "placementY" : 365.44, + "placementWidth" : 106.353, + "placementHeight" : 16.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 106.353, + "contentHeight" : 16.2, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]", + "entityName" : "GlanceColumn", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/SummaryBand[3]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 376.129, + "computedY" : 341.89, + "placementX" : 376.129, + "placementY" : 341.89, + "placementWidth" : 183.147, + "placementHeight" : 226.1, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 183.147, + "contentHeight" : 226.1, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]", + "entityName" : "GlancePanel", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 376.129, + "computedY" : 341.89, + "placementX" : 376.129, + "placementY" : 341.89, + "placementWidth" : 183.147, + "placementHeight" : 226.1, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 183.147, + "contentHeight" : 226.1, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 16.0, + "right" : 16.0, + "bottom" : 16.0, + "left" : 16.0 + } + }, { + "path" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 392.129, + "computedY" : 539.39, + "placementX" : 392.129, + "placementY" : 539.39, + "placementWidth" : 115.553, + "placementHeight" : 12.6, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 115.553, + "contentHeight" : 12.6, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 7.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[1]", + "entityName" : "GlanceFact", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 392.129, + "computedY" : 502.99, + "placementX" : 392.129, + "placementY" : 502.99, + "placementWidth" : 151.147, + "placementHeight" : 29.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 151.147, + "contentHeight" : 29.4, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[1]/Icon-fact-duration[0]", + "entityName" : "Icon-fact-duration", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[1]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 392.129, + "computedY" : 505.19, + "placementX" : 392.129, + "placementY" : 505.19, + "placementWidth" : 25.0, + "placementHeight" : 25.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 25.0, + "contentHeight" : 25.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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[1]/FactText[1]", + "entityName" : "FactText", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[1]", + "childIndex" : 1, + "depth" : 6, + "layer" : 6, + "computedX" : 429.129, + "computedY" : 504.49, + "placementX" : 429.129, + "placementY" : 504.49, + "placementWidth" : 79.184, + "placementHeight" : 26.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 79.184, + "contentHeight" : 26.4, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[1]/FactText[1]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[1]/FactText[1]", + "childIndex" : 0, + "depth" : 7, + "layer" : 7, + "computedX" : 429.129, + "computedY" : 521.29, + "placementX" : 429.129, + "placementY" : 521.29, + "placementWidth" : 79.184, + "placementHeight" : 9.6, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 79.184, + "contentHeight" : 9.6, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[1]/FactText[1]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[1]/FactText[1]", + "childIndex" : 1, + "depth" : 7, + "layer" : 7, + "computedX" : 429.129, + "computedY" : 504.49, + "placementX" : 429.129, + "placementY" : 504.49, + "placementWidth" : 51.366, + "placementHeight" : 16.8, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 51.366, + "contentHeight" : 16.8, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/LineNode[2]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]", + "childIndex" : 2, + "depth" : 5, + "layer" : 5, + "computedX" : 392.129, + "computedY" : 494.99, + "placementX" : 392.129, + "placementY" : 494.99, + "placementWidth" : 151.147, + "placementHeight" : 1.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 151.147, + "contentHeight" : 1.0, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 7.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[3]", + "entityName" : "GlanceFact", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]", + "childIndex" : 3, + "depth" : 5, + "layer" : 5, + "computedX" : 392.129, + "computedY" : 458.59, + "placementX" : 392.129, + "placementY" : 458.59, + "placementWidth" : 151.147, + "placementHeight" : 29.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 151.147, + "contentHeight" : 29.4, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[3]/Icon-fact-start[0]", + "entityName" : "Icon-fact-start", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[3]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 392.129, + "computedY" : 460.79, + "placementX" : 392.129, + "placementY" : 460.79, + "placementWidth" : 25.0, + "placementHeight" : 25.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 25.0, + "contentHeight" : 25.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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[3]/FactText[1]", + "entityName" : "FactText", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[3]", + "childIndex" : 1, + "depth" : 6, + "layer" : 6, + "computedX" : 429.129, + "computedY" : 460.09, + "placementX" : 429.129, + "placementY" : 460.09, + "placementWidth" : 104.062, + "placementHeight" : 26.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 104.062, + "contentHeight" : 26.4, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[3]/FactText[1]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[3]/FactText[1]", + "childIndex" : 0, + "depth" : 7, + "layer" : 7, + "computedX" : 429.129, + "computedY" : 476.89, + "placementX" : 429.129, + "placementY" : 476.89, + "placementWidth" : 64.552, + "placementHeight" : 9.6, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 64.552, + "contentHeight" : 9.6, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[3]/FactText[1]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[3]/FactText[1]", + "childIndex" : 1, + "depth" : 7, + "layer" : 7, + "computedX" : 429.129, + "computedY" : 460.09, + "placementX" : 429.129, + "placementY" : 460.09, + "placementWidth" : 104.062, + "placementHeight" : 16.8, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 104.062, + "contentHeight" : 16.8, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/LineNode[4]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]", + "childIndex" : 4, + "depth" : 5, + "layer" : 5, + "computedX" : 392.129, + "computedY" : 450.59, + "placementX" : 392.129, + "placementY" : 450.59, + "placementWidth" : 151.147, + "placementHeight" : 1.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 151.147, + "contentHeight" : 1.0, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 7.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[5]", + "entityName" : "GlanceFact", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]", + "childIndex" : 5, + "depth" : 5, + "layer" : 5, + "computedX" : 392.129, + "computedY" : 414.19, + "placementX" : 392.129, + "placementY" : 414.19, + "placementWidth" : 151.147, + "placementHeight" : 29.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 151.147, + "contentHeight" : 29.4, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[5]/Icon-fact-contact[0]", + "entityName" : "Icon-fact-contact", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[5]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 392.129, + "computedY" : 416.39, + "placementX" : 392.129, + "placementY" : 416.39, + "placementWidth" : 25.0, + "placementHeight" : 25.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 25.0, + "contentHeight" : 25.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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[5]/FactText[1]", + "entityName" : "FactText", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[5]", + "childIndex" : 1, + "depth" : 6, + "layer" : 6, + "computedX" : 429.129, + "computedY" : 415.69, + "placementX" : 429.129, + "placementY" : 415.69, + "placementWidth" : 78.148, + "placementHeight" : 26.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 78.148, + "contentHeight" : 26.4, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[5]/FactText[1]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[5]/FactText[1]", + "childIndex" : 0, + "depth" : 7, + "layer" : 7, + "computedX" : 429.129, + "computedY" : 432.49, + "placementX" : 429.129, + "placementY" : 432.49, + "placementWidth" : 76.248, + "placementHeight" : 9.6, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 76.248, + "contentHeight" : 9.6, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[5]/FactText[1]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[5]/FactText[1]", + "childIndex" : 1, + "depth" : 7, + "layer" : 7, + "computedX" : 429.129, + "computedY" : 415.69, + "placementX" : 429.129, + "placementY" : 415.69, + "placementWidth" : 78.148, + "placementHeight" : 16.8, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 78.148, + "contentHeight" : 16.8, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/LineNode[6]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]", + "childIndex" : 6, + "depth" : 5, + "layer" : 5, + "computedX" : 392.129, + "computedY" : 406.19, + "placementX" : 392.129, + "placementY" : 406.19, + "placementWidth" : 151.147, + "placementHeight" : 1.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 151.147, + "contentHeight" : 1.0, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 7.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]", + "entityName" : "GlanceFact", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]", + "childIndex" : 7, + "depth" : 5, + "layer" : 5, + "computedX" : 392.129, + "computedY" : 357.89, + "placementX" : 392.129, + "placementY" : 357.89, + "placementWidth" : 151.147, + "placementHeight" : 41.3, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 151.147, + "contentHeight" : 41.3, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]/Icon-fact-validity[0]", + "entityName" : "Icon-fact-validity", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 392.129, + "computedY" : 366.04, + "placementX" : 392.129, + "placementY" : 366.04, + "placementWidth" : 25.0, + "placementHeight" : 25.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 25.0, + "contentHeight" : 25.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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]/FactText[1]", + "entityName" : "FactText", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]", + "childIndex" : 1, + "depth" : 6, + "layer" : 6, + "computedX" : 429.129, + "computedY" : 360.24, + "placementX" : 429.129, + "placementY" : 360.24, + "placementWidth" : 93.05, + "placementHeight" : 36.6, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 93.05, + "contentHeight" : 36.6, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]/FactText[1]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]/FactText[1]", + "childIndex" : 0, + "depth" : 7, + "layer" : 7, + "computedX" : 429.129, + "computedY" : 387.24, + "placementX" : 429.129, + "placementY" : 387.24, + "placementWidth" : 80.136, + "placementHeight" : 9.6, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 80.136, + "contentHeight" : 9.6, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]/FactText[1]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]/FactText[1]", + "childIndex" : 1, + "depth" : 7, + "layer" : 7, + "computedX" : 429.129, + "computedY" : 370.44, + "placementX" : 429.129, + "placementY" : 370.44, + "placementWidth" : 48.258, + "placementHeight" : 16.8, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 48.258, + "contentHeight" : 16.8, + "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" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]/FactText[1]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/SummaryBand[3]/GlanceColumn[1]/GlancePanel[0]/GlanceFact[7]/FactText[1]", + "childIndex" : 2, + "depth" : 7, + "layer" : 7, + "computedX" : 429.129, + "computedY" : 360.24, + "placementX" : 429.129, + "placementY" : 360.24, + "placementWidth" : 93.05, + "placementHeight" : 10.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 93.05, + "contentHeight" : 10.2, + "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" : "Proposal[0]/GoalCells[4]", + "entityName" : "GoalCells", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]", + "childIndex" : 4, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 286.789, + "placementX" : 36.0, + "placementY" : 286.789, + "placementWidth" : 523.276, + "placementHeight" : 37.101, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 37.101, + "margin" : { + "top" : 18.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/GoalCells[4]/Icon-goal-brand[0]", + "entityName" : "Icon-goal-brand", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 303.89, + "placementX" : 36.0, + "placementY" : 303.89, + "placementWidth" : 20.0, + "placementHeight" : 20.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 20.0, + "contentHeight" : 20.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" : "Proposal[0]/GoalCells[4]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 63.0, + "computedY" : 288.59, + "placementX" : 63.0, + "placementY" : 288.59, + "placementWidth" : 80.352, + "placementHeight" : 35.3, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 80.352, + "contentHeight" : 35.3, + "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" : "Proposal[0]/GoalCells[4]/LineNode[2]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 2, + "depth" : 3, + "layer" : 3, + "computedX" : 162.794, + "computedY" : 286.789, + "placementX" : 162.794, + "placementY" : 286.789, + "placementWidth" : 1.0, + "placementHeight" : 37.101, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 1.0, + "contentHeight" : 37.101, + "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" : "Proposal[0]/GoalCells[4]/Icon-goal-usability[3]", + "entityName" : "Icon-goal-usability", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 3, + "depth" : 3, + "layer" : 3, + "computedX" : 170.494, + "computedY" : 303.89, + "placementX" : 170.494, + "placementY" : 303.89, + "placementWidth" : 20.0, + "placementHeight" : 20.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 20.0, + "contentHeight" : 20.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" : "Proposal[0]/GoalCells[4]/ParagraphNode[4]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 4, + "depth" : 3, + "layer" : 3, + "computedX" : 197.494, + "computedY" : 288.59, + "placementX" : 197.494, + "placementY" : 288.59, + "placementWidth" : 72.54, + "placementHeight" : 35.3, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 72.54, + "contentHeight" : 35.3, + "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" : "Proposal[0]/GoalCells[4]/LineNode[5]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 5, + "depth" : 3, + "layer" : 3, + "computedX" : 297.288, + "computedY" : 286.789, + "placementX" : 297.288, + "placementY" : 286.789, + "placementWidth" : 1.0, + "placementHeight" : 37.101, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 1.0, + "contentHeight" : 37.101, + "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" : "Proposal[0]/GoalCells[4]/Icon-goal-message[6]", + "entityName" : "Icon-goal-message", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 6, + "depth" : 3, + "layer" : 3, + "computedX" : 304.988, + "computedY" : 303.89, + "placementX" : 304.988, + "placementY" : 303.89, + "placementWidth" : 20.0, + "placementHeight" : 20.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 20.0, + "contentHeight" : 20.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" : "Proposal[0]/GoalCells[4]/ParagraphNode[7]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 7, + "depth" : 3, + "layer" : 3, + "computedX" : 331.988, + "computedY" : 288.59, + "placementX" : 331.988, + "placementY" : 288.59, + "placementWidth" : 87.291, + "placementHeight" : 35.3, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 87.291, + "contentHeight" : 35.3, + "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" : "Proposal[0]/GoalCells[4]/LineNode[8]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 8, + "depth" : 3, + "layer" : 3, + "computedX" : 431.782, + "computedY" : 286.789, + "placementX" : 431.782, + "placementY" : 286.789, + "placementWidth" : 1.0, + "placementHeight" : 37.101, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 1.0, + "contentHeight" : 37.101, + "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" : "Proposal[0]/GoalCells[4]/Icon-goal-growth[9]", + "entityName" : "Icon-goal-growth", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 9, + "depth" : 3, + "layer" : 3, + "computedX" : 439.482, + "computedY" : 303.89, + "placementX" : 439.482, + "placementY" : 303.89, + "placementWidth" : 20.0, + "placementHeight" : 20.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 20.0, + "contentHeight" : 20.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" : "Proposal[0]/GoalCells[4]/ParagraphNode[10]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/GoalCells[4]", + "childIndex" : 10, + "depth" : 3, + "layer" : 3, + "computedX" : 466.482, + "computedY" : 288.59, + "placementX" : 466.482, + "placementY" : 288.59, + "placementWidth" : 86.607, + "placementHeight" : 35.3, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 86.607, + "contentHeight" : 35.3, + "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" : "Proposal[0]/ScopeOfWork[5]", + "entityName" : "ScopeOfWork", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]", + "childIndex" : 5, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 64.539, + "placementX" : 36.0, + "placementY" : 64.539, + "placementWidth" : 523.276, + "placementHeight" : 204.25, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 204.25, + "margin" : { + "top" : 18.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/ScopeOfWork[5]/SectionHeading[0]", + "entityName" : "SectionHeading", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 241.789, + "placementX" : 36.0, + "placementY" : 241.789, + "placementWidth" : 523.276, + "placementHeight" : 27.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 27.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" : "Proposal[0]/ScopeOfWork[5]/SectionHeading[0]/SectionBadge[0]", + "entityName" : "SectionBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/SectionHeading[0]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 241.789, + "placementX" : 36.0, + "placementY" : 241.789, + "placementWidth" : 27.0, + "placementHeight" : 27.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 27.0, + "contentHeight" : 27.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" : "Proposal[0]/ScopeOfWork[5]/SectionHeading[0]/SectionBadge[0]/Icon-badge-scope[0]", + "entityName" : "Icon-badge-scope", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/SectionHeading[0]/SectionBadge[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 42.48, + "computedY" : 248.269, + "placementX" : 42.48, + "placementY" : 248.269, + "placementWidth" : 14.04, + "placementHeight" : 14.04, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 14.04, + "contentHeight" : 14.04, + "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" : "Proposal[0]/ScopeOfWork[5]/SectionHeading[0]/SectionHeadingTitle[1]", + "entityName" : "SectionHeadingTitle", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/SectionHeading[0]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 74.34, + "computedY" : 247.189, + "placementX" : 74.34, + "placementY" : 247.189, + "placementWidth" : 111.523, + "placementHeight" : 16.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 111.523, + "contentHeight" : 16.2, + "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" : "Proposal[0]/ScopeOfWork[5]/LineNode[1]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 233.789, + "placementX" : 36.0, + "placementY" : 233.789, + "placementWidth" : 523.276, + "placementHeight" : 1.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 1.0, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/ScopeOfWork[5]/ScopeRow01[2]", + "entityName" : "ScopeRow01", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 2, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 200.739, + "placementX" : 36.0, + "placementY" : 200.739, + "placementWidth" : 523.276, + "placementHeight" : 33.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 33.05, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 5.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/ScopeOfWork[5]/ScopeRow01[2]/ScopeBadge[0]", + "entityName" : "ScopeBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow01[2]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 213.789, + "placementX" : 36.0, + "placementY" : 213.789, + "placementWidth" : 26.0, + "placementHeight" : 15.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 15.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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow01[2]/ScopeBadge[0]/ScopeNumber[0]", + "entityName" : "ScopeNumber", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow01[2]/ScopeBadge[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 216.189, + "placementX" : 36.0, + "placementY" : 216.189, + "placementWidth" : 26.0, + "placementHeight" : 10.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 10.2, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow01[2]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow01[2]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 74.0, + "computedY" : 217.389, + "placementX" : 74.0, + "placementY" : 217.389, + "placementWidth" : 92.748, + "placementHeight" : 11.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 92.748, + "contentHeight" : 11.4, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow01[2]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow01[2]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 270.428, + "computedY" : 205.739, + "placementX" : 270.428, + "placementY" : 205.739, + "placementWidth" : 273.564, + "placementHeight" : 23.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 273.564, + "contentHeight" : 23.05, + "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" : "Proposal[0]/ScopeOfWork[5]/LineNode[3]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 3, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 199.739, + "placementX" : 36.0, + "placementY" : 199.739, + "placementWidth" : 523.276, + "placementHeight" : 1.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 1.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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow02[4]", + "entityName" : "ScopeRow02", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 4, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 166.689, + "placementX" : 36.0, + "placementY" : 166.689, + "placementWidth" : 523.276, + "placementHeight" : 33.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 33.05, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 5.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/ScopeOfWork[5]/ScopeRow02[4]/ScopeBadge[0]", + "entityName" : "ScopeBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow02[4]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 179.739, + "placementX" : 36.0, + "placementY" : 179.739, + "placementWidth" : 26.0, + "placementHeight" : 15.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 15.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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow02[4]/ScopeBadge[0]/ScopeNumber[0]", + "entityName" : "ScopeNumber", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow02[4]/ScopeBadge[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 182.139, + "placementX" : 36.0, + "placementY" : 182.139, + "placementWidth" : 26.0, + "placementHeight" : 10.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 10.2, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow02[4]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow02[4]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 74.0, + "computedY" : 183.339, + "placementX" : 74.0, + "placementY" : 183.339, + "placementWidth" : 112.87, + "placementHeight" : 11.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 112.87, + "contentHeight" : 11.4, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow02[4]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow02[4]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 270.428, + "computedY" : 171.689, + "placementX" : 270.428, + "placementY" : 171.689, + "placementWidth" : 284.661, + "placementHeight" : 23.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 284.661, + "contentHeight" : 23.05, + "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" : "Proposal[0]/ScopeOfWork[5]/LineNode[5]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 5, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 165.689, + "placementX" : 36.0, + "placementY" : 165.689, + "placementWidth" : 523.276, + "placementHeight" : 1.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 1.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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow03[6]", + "entityName" : "ScopeRow03", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 6, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 132.639, + "placementX" : 36.0, + "placementY" : 132.639, + "placementWidth" : 523.276, + "placementHeight" : 33.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 33.05, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 5.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/ScopeOfWork[5]/ScopeRow03[6]/ScopeBadge[0]", + "entityName" : "ScopeBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow03[6]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 145.689, + "placementX" : 36.0, + "placementY" : 145.689, + "placementWidth" : 26.0, + "placementHeight" : 15.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 15.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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow03[6]/ScopeBadge[0]/ScopeNumber[0]", + "entityName" : "ScopeNumber", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow03[6]/ScopeBadge[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 148.089, + "placementX" : 36.0, + "placementY" : 148.089, + "placementWidth" : 26.0, + "placementHeight" : 10.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 10.2, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow03[6]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow03[6]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 74.0, + "computedY" : 149.289, + "placementX" : 74.0, + "placementY" : 149.289, + "placementWidth" : 97.28, + "placementHeight" : 11.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 97.28, + "contentHeight" : 11.4, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow03[6]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow03[6]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 270.428, + "computedY" : 137.639, + "placementX" : 270.428, + "placementY" : 137.639, + "placementWidth" : 250.938, + "placementHeight" : 23.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 250.938, + "contentHeight" : 23.05, + "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" : "Proposal[0]/ScopeOfWork[5]/LineNode[7]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 7, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 131.639, + "placementX" : 36.0, + "placementY" : 131.639, + "placementWidth" : 523.276, + "placementHeight" : 1.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 1.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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow04[8]", + "entityName" : "ScopeRow04", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 8, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 98.589, + "placementX" : 36.0, + "placementY" : 98.589, + "placementWidth" : 523.276, + "placementHeight" : 33.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 33.05, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 5.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/ScopeOfWork[5]/ScopeRow04[8]/ScopeBadge[0]", + "entityName" : "ScopeBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow04[8]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 111.639, + "placementX" : 36.0, + "placementY" : 111.639, + "placementWidth" : 26.0, + "placementHeight" : 15.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 15.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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow04[8]/ScopeBadge[0]/ScopeNumber[0]", + "entityName" : "ScopeNumber", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow04[8]/ScopeBadge[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 114.039, + "placementX" : 36.0, + "placementY" : 114.039, + "placementWidth" : 26.0, + "placementHeight" : 10.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 10.2, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow04[8]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow04[8]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 74.0, + "computedY" : 115.239, + "placementX" : 74.0, + "placementY" : 115.239, + "placementWidth" : 133.19, + "placementHeight" : 11.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 133.19, + "contentHeight" : 11.4, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow04[8]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow04[8]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 270.428, + "computedY" : 103.589, + "placementX" : 270.428, + "placementY" : 103.589, + "placementWidth" : 256.446, + "placementHeight" : 23.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 256.446, + "contentHeight" : 23.05, + "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" : "Proposal[0]/ScopeOfWork[5]/LineNode[9]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 9, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 97.589, + "placementX" : 36.0, + "placementY" : 97.589, + "placementWidth" : 523.276, + "placementHeight" : 1.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 1.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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow05[10]", + "entityName" : "ScopeRow05", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]", + "childIndex" : 10, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 64.539, + "placementX" : 36.0, + "placementY" : 64.539, + "placementWidth" : 523.276, + "placementHeight" : 33.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 523.276, + "contentHeight" : 33.05, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 5.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/ScopeOfWork[5]/ScopeRow05[10]/ScopeBadge[0]", + "entityName" : "ScopeBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow05[10]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 77.589, + "placementX" : 36.0, + "placementY" : 77.589, + "placementWidth" : 26.0, + "placementHeight" : 15.0, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 15.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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow05[10]/ScopeBadge[0]/ScopeNumber[0]", + "entityName" : "ScopeNumber", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow05[10]/ScopeBadge[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 79.989, + "placementX" : 36.0, + "placementY" : 79.989, + "placementWidth" : 26.0, + "placementHeight" : 10.2, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 26.0, + "contentHeight" : 10.2, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow05[10]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow05[10]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 74.0, + "computedY" : 81.189, + "placementX" : 74.0, + "placementY" : 81.189, + "placementWidth" : 66.633, + "placementHeight" : 11.4, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 66.633, + "contentHeight" : 11.4, + "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" : "Proposal[0]/ScopeOfWork[5]/ScopeRow05[10]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/ScopeOfWork[5]/ScopeRow05[10]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 270.428, + "computedY" : 69.539, + "placementX" : 270.428, + "placementY" : 69.539, + "placementWidth" : 260.577, + "placementHeight" : 23.05, + "startPage" : 0, + "endPage" : 0, + "contentWidth" : 260.577, + "contentHeight" : 23.05, + "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" : "Proposal[0]/Header[6]", + "entityName" : "Header", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]", + "childIndex" : 6, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 6.539, + "placementX" : 36.0, + "placementY" : 6.539, + "placementWidth" : 523.276, + "placementHeight" : 58.0, + "startPage" : 0, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 58.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" : "Proposal[0]/Header[6]/HeaderRow[0]", + "entityName" : "HeaderRow", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]/Header[6]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 783.89, + "placementX" : 36.0, + "placementY" : 783.89, + "placementWidth" : 523.276, + "placementHeight" : 50.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 50.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" : "Proposal[0]/Header[6]/HeaderRow[0]/LogoMark[0]", + "entityName" : "LogoMark", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 783.89, + "placementX" : 36.0, + "placementY" : 783.89, + "placementWidth" : 50.0, + "placementHeight" : 50.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 50.0, + "contentHeight" : 50.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" : "Proposal[0]/Header[6]/HeaderRow[0]/LogoMark[0]/Monogram[0]", + "entityName" : "Monogram", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]/LogoMark[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 790.89, + "placementX" : 36.0, + "placementY" : 790.89, + "placementWidth" : 50.0, + "placementHeight" : 36.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 50.0, + "contentHeight" : 36.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" : "Proposal[0]/Header[6]/HeaderRow[0]/Wordmark[1]", + "entityName" : "Wordmark", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 98.5, + "computedY" : 789.69, + "placementX" : 98.5, + "placementY" : 789.69, + "placementWidth" : 92.096, + "placementHeight" : 38.4, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 92.096, + "contentHeight" : 38.4, + "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" : "Proposal[0]/Header[6]/HeaderRow[0]/Wordmark[1]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]/Wordmark[1]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 98.5, + "computedY" : 808.89, + "placementX" : 98.5, + "placementY" : 808.89, + "placementWidth" : 92.096, + "placementHeight" : 19.2, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 92.096, + "contentHeight" : 19.2, + "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" : "Proposal[0]/Header[6]/HeaderRow[0]/Wordmark[1]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]/Wordmark[1]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 98.5, + "computedY" : 789.69, + "placementX" : 98.5, + "placementY" : 789.69, + "placementWidth" : 60.128, + "placementHeight" : 19.2, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 60.128, + "contentHeight" : 19.2, + "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" : "Proposal[0]/Header[6]/HeaderRow[0]/SpacerNode[2]", + "entityName" : null, + "entityKind" : "SpacerNode", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 210.422, + "computedY" : 808.89, + "placementX" : 210.422, + "placementY" : 808.89, + "placementWidth" : 0.0, + "placementHeight" : 0.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 0.0, + "contentHeight" : 0.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" : "Proposal[0]/Header[6]/HeaderRow[0]/DocumentLabel[3]", + "entityName" : "DocumentLabel", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]", + "childIndex" : 3, + "depth" : 4, + "layer" : 4, + "computedX" : 475.552, + "computedY" : 799.39, + "placementX" : 475.552, + "placementY" : 799.39, + "placementWidth" : 83.724, + "placementHeight" : 19.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 83.724, + "contentHeight" : 19.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" : "Proposal[0]/Header[6]/HeaderRow[0]/DocumentLabel[3]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]/DocumentLabel[3]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 475.552, + "computedY" : 807.59, + "placementX" : 475.552, + "placementY" : 807.59, + "placementWidth" : 83.724, + "placementHeight" : 10.8, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 83.724, + "contentHeight" : 10.8, + "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" : "Proposal[0]/Header[6]/HeaderRow[0]/DocumentLabel[3]/Align[1]", + "entityName" : null, + "entityKind" : "Align", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]/DocumentLabel[3]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 475.552, + "computedY" : 799.39, + "placementX" : 475.552, + "placementY" : 799.39, + "placementWidth" : 83.724, + "placementHeight" : 8.2, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 83.724, + "contentHeight" : 8.2, + "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" : "Proposal[0]/Header[6]/HeaderRow[0]/DocumentLabel[3]/Align[1]/DocumentLabelRule[0]", + "entityName" : "DocumentLabelRule", + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/Header[6]/HeaderRow[0]/DocumentLabel[3]/Align[1]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 524.176, + "computedY" : 799.39, + "placementX" : 524.176, + "placementY" : 799.39, + "placementWidth" : 35.1, + "placementHeight" : 2.2, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 35.1, + "contentHeight" : 2.2, + "margin" : { + "top" : 6.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Header[6]/LineNode[1]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/Header[6]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 775.89, + "placementX" : 36.0, + "placementY" : 775.89, + "placementWidth" : 523.276, + "placementHeight" : 1.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 1.0, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]", + "entityName" : "Deliverables", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]", + "childIndex" : 7, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 638.89, + "placementX" : 36.0, + "placementY" : 638.89, + "placementWidth" : 523.276, + "placementHeight" : 119.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 119.0, + "margin" : { + "top" : 18.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/SectionHeading[0]", + "entityName" : "SectionHeading", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/Deliverables[7]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 730.89, + "placementX" : 36.0, + "placementY" : 730.89, + "placementWidth" : 523.276, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 27.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" : "Proposal[0]/Deliverables[7]/SectionHeading[0]/SectionBadge[0]", + "entityName" : "SectionBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/Deliverables[7]/SectionHeading[0]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 730.89, + "placementX" : 36.0, + "placementY" : 730.89, + "placementWidth" : 27.0, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 27.0, + "contentHeight" : 27.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" : "Proposal[0]/Deliverables[7]/SectionHeading[0]/SectionBadge[0]/Icon-badge-deliverables[0]", + "entityName" : "Icon-badge-deliverables", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/Deliverables[7]/SectionHeading[0]/SectionBadge[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 42.48, + "computedY" : 737.37, + "placementX" : 42.48, + "placementY" : 737.37, + "placementWidth" : 14.04, + "placementHeight" : 14.04, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 14.04, + "contentHeight" : 14.04, + "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" : "Proposal[0]/Deliverables[7]/SectionHeading[0]/SectionHeadingTitle[1]", + "entityName" : "SectionHeadingTitle", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/SectionHeading[0]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 74.34, + "computedY" : 736.29, + "placementX" : 74.34, + "placementY" : 736.29, + "placementWidth" : 95.364, + "placementHeight" : 16.2, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 95.364, + "contentHeight" : 16.2, + "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" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]", + "entityName" : "DeliverableColumns", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]/Deliverables[7]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 638.89, + "placementX" : 36.0, + "placementY" : 638.89, + "placementWidth" : 523.276, + "placementHeight" : 92.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 92.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]", + "entityName" : "DeliverablesLeft", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 638.89, + "placementX" : 36.0, + "placementY" : 638.89, + "placementWidth" : 175.2, + "placementHeight" : 85.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 175.2, + "contentHeight" : 85.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" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 711.89, + "placementX" : 36.0, + "placementY" : 711.89, + "placementWidth" : 119.16, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 119.16, + "contentHeight" : 12.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 694.89, + "placementX" : 36.0, + "placementY" : 694.89, + "placementWidth" : 175.2, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 175.2, + "contentHeight" : 12.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]", + "childIndex" : 2, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 677.89, + "placementX" : 36.0, + "placementY" : 677.89, + "placementWidth" : 165.03, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 165.03, + "contentHeight" : 12.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]/ParagraphNode[3]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]", + "childIndex" : 3, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 660.89, + "placementX" : 36.0, + "placementY" : 660.89, + "placementWidth" : 116.83, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 116.83, + "contentHeight" : 12.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]/ParagraphNode[4]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesLeft[0]", + "childIndex" : 4, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 643.89, + "placementX" : 36.0, + "placementY" : 643.89, + "placementWidth" : 138.9, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 138.9, + "contentHeight" : 12.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesRight[1]", + "entityName" : "DeliverablesRight", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 287.172, + "computedY" : 655.89, + "placementX" : 287.172, + "placementY" : 655.89, + "placementWidth" : 217.84, + "placementHeight" : 68.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 217.84, + "contentHeight" : 68.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" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesRight[1]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesRight[1]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 287.172, + "computedY" : 711.89, + "placementX" : 287.172, + "placementY" : 711.89, + "placementWidth" : 217.84, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 217.84, + "contentHeight" : 12.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesRight[1]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesRight[1]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 287.172, + "computedY" : 694.89, + "placementX" : 287.172, + "placementY" : 694.89, + "placementWidth" : 165.27, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 165.27, + "contentHeight" : 12.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesRight[1]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesRight[1]", + "childIndex" : 2, + "depth" : 5, + "layer" : 5, + "computedX" : 287.172, + "computedY" : 677.89, + "placementX" : 287.172, + "placementY" : 677.89, + "placementWidth" : 187.4, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 187.4, + "contentHeight" : 12.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesRight[1]/ParagraphNode[3]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Deliverables[7]/DeliverableColumns[1]/DeliverablesRight[1]", + "childIndex" : 3, + "depth" : 5, + "layer" : 5, + "computedX" : 287.172, + "computedY" : 660.89, + "placementX" : 287.172, + "placementY" : 660.89, + "placementWidth" : 164.33, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 164.33, + "contentHeight" : 12.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Timeline[8]", + "entityName" : "Timeline", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]", + "childIndex" : 8, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 410.74, + "placementX" : 36.0, + "placementY" : 410.74, + "placementWidth" : 523.276, + "placementHeight" : 210.15, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 210.15, + "margin" : { + "top" : 18.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Timeline[8]/SectionHeading[0]", + "entityName" : "SectionHeading", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/Timeline[8]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 593.89, + "placementX" : 36.0, + "placementY" : 593.89, + "placementWidth" : 523.276, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 27.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" : "Proposal[0]/Timeline[8]/SectionHeading[0]/SectionBadge[0]", + "entityName" : "SectionBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/Timeline[8]/SectionHeading[0]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 593.89, + "placementX" : 36.0, + "placementY" : 593.89, + "placementWidth" : 27.0, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 27.0, + "contentHeight" : 27.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" : "Proposal[0]/Timeline[8]/SectionHeading[0]/SectionBadge[0]/Icon-badge-timeline[0]", + "entityName" : "Icon-badge-timeline", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/Timeline[8]/SectionHeading[0]/SectionBadge[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 42.48, + "computedY" : 600.37, + "placementX" : 42.48, + "placementY" : 600.37, + "placementWidth" : 14.04, + "placementHeight" : 14.04, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 14.04, + "contentHeight" : 14.04, + "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" : "Proposal[0]/Timeline[8]/SectionHeading[0]/SectionHeadingTitle[1]", + "entityName" : "SectionHeadingTitle", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Timeline[8]/SectionHeading[0]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 74.34, + "computedY" : 599.29, + "placementX" : 74.34, + "placementY" : 599.29, + "placementWidth" : 61.83, + "placementHeight" : 16.2, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 61.83, + "contentHeight" : 16.2, + "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" : "Proposal[0]/Timeline[8]/TimelineTable[1]", + "entityName" : "TimelineTable", + "entityKind" : "TableNode", + "parentPath" : "Proposal[0]/Timeline[8]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 410.74, + "placementX" : 36.0, + "placementY" : 410.74, + "placementWidth" : 523.276, + "placementHeight" : 176.15, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 176.15, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/MoneyBand[9]", + "entityName" : "MoneyBand", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]", + "childIndex" : 9, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 188.34, + "placementX" : 36.0, + "placementY" : 188.34, + "placementWidth" : 523.276, + "placementHeight" : 204.4, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 204.4, + "margin" : { + "top" : 18.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]", + "entityName" : "InvestmentColumn", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/MoneyBand[9]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 36.0, + "computedY" : 188.34, + "placementX" : 36.0, + "placementY" : 188.34, + "placementWidth" : 308.733, + "placementHeight" : 204.4, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 308.733, + "contentHeight" : 204.4, + "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" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]/SectionHeading[0]", + "entityName" : "SectionHeading", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 365.74, + "placementX" : 36.0, + "placementY" : 365.74, + "placementWidth" : 308.733, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 308.733, + "contentHeight" : 27.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" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]/SectionHeading[0]/SectionBadge[0]", + "entityName" : "SectionBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]/SectionHeading[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 36.0, + "computedY" : 365.74, + "placementX" : 36.0, + "placementY" : 365.74, + "placementWidth" : 27.0, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 27.0, + "contentHeight" : 27.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" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]/SectionHeading[0]/SectionBadge[0]/Icon-badge-investment[0]", + "entityName" : "Icon-badge-investment", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]/SectionHeading[0]/SectionBadge[0]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 42.48, + "computedY" : 372.22, + "placementX" : 42.48, + "placementY" : 372.22, + "placementWidth" : 14.04, + "placementHeight" : 14.04, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 14.04, + "contentHeight" : 14.04, + "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" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]/SectionHeading[0]/SectionHeadingTitle[1]", + "entityName" : "SectionHeadingTitle", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]/SectionHeading[0]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 74.34, + "computedY" : 371.14, + "placementX" : 74.34, + "placementY" : 371.14, + "placementWidth" : 86.103, + "placementHeight" : 16.2, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 86.103, + "contentHeight" : 16.2, + "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" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]/InvestmentTable[1]", + "entityName" : "InvestmentTable", + "entityKind" : "TableNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/InvestmentColumn[0]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 36.0, + "computedY" : 188.34, + "placementX" : 36.0, + "placementY" : 188.34, + "placementWidth" : 308.733, + "placementHeight" : 170.4, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 308.733, + "contentHeight" : 170.4, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]", + "entityName" : "TermsColumn", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/MoneyBand[9]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 376.129, + "computedY" : 218.74, + "placementX" : 376.129, + "placementY" : 218.74, + "placementWidth" : 183.147, + "placementHeight" : 174.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 183.147, + "contentHeight" : 174.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" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/SectionHeading[0]", + "entityName" : "SectionHeading", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 376.129, + "computedY" : 365.74, + "placementX" : 376.129, + "placementY" : 365.74, + "placementWidth" : 183.147, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 183.147, + "contentHeight" : 27.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" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/SectionHeading[0]/SectionBadge[0]", + "entityName" : "SectionBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/SectionHeading[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 376.129, + "computedY" : 365.74, + "placementX" : 376.129, + "placementY" : 365.74, + "placementWidth" : 27.0, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 27.0, + "contentHeight" : 27.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" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/SectionHeading[0]/SectionBadge[0]/Icon-badge-terms[0]", + "entityName" : "Icon-badge-terms", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/SectionHeading[0]/SectionBadge[0]", + "childIndex" : 0, + "depth" : 6, + "layer" : 6, + "computedX" : 382.609, + "computedY" : 372.22, + "placementX" : 382.609, + "placementY" : 372.22, + "placementWidth" : 14.04, + "placementHeight" : 14.04, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 14.04, + "contentHeight" : 14.04, + "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" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/SectionHeading[0]/SectionHeadingTitle[1]", + "entityName" : "SectionHeadingTitle", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/SectionHeading[0]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 414.469, + "computedY" : 371.14, + "placementX" : 414.469, + "placementY" : 371.14, + "placementWidth" : 44.712, + "placementHeight" : 16.2, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 44.712, + "contentHeight" : 16.2, + "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" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/TermsList[1]", + "entityName" : "TermsList", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 376.129, + "computedY" : 218.74, + "placementX" : 376.129, + "placementY" : 218.74, + "placementWidth" : 182.676, + "placementHeight" : 147.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 182.676, + "contentHeight" : 147.0, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/TermsList[1]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/TermsList[1]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 376.129, + "computedY" : 332.34, + "placementX" : 376.129, + "placementY" : 332.34, + "placementWidth" : 175.69, + "placementHeight" : 26.4, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 175.69, + "contentHeight" : 26.4, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/TermsList[1]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/TermsList[1]", + "childIndex" : 1, + "depth" : 5, + "layer" : 5, + "computedX" : 376.129, + "computedY" : 300.94, + "placementX" : 376.129, + "placementY" : 300.94, + "placementWidth" : 171.01, + "placementHeight" : 26.4, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 171.01, + "contentHeight" : 26.4, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/TermsList[1]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/TermsList[1]", + "childIndex" : 2, + "depth" : 5, + "layer" : 5, + "computedX" : 376.129, + "computedY" : 269.54, + "placementX" : 376.129, + "placementY" : 269.54, + "placementWidth" : 177.14, + "placementHeight" : 26.4, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 177.14, + "contentHeight" : 26.4, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/TermsList[1]/ParagraphNode[3]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/MoneyBand[9]/TermsColumn[1]/TermsList[1]", + "childIndex" : 3, + "depth" : 5, + "layer" : 5, + "computedX" : 376.129, + "computedY" : 223.74, + "placementX" : 376.129, + "placementY" : 223.74, + "placementWidth" : 182.676, + "placementHeight" : 40.8, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 182.676, + "contentHeight" : 40.8, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 5.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Acceptance[10]", + "entityName" : "Acceptance", + "entityKind" : "SectionNode", + "parentPath" : "Proposal[0]", + "childIndex" : 10, + "depth" : 2, + "layer" : 2, + "computedX" : 36.0, + "computedY" : 78.54, + "placementX" : 36.0, + "placementY" : 78.54, + "placementWidth" : 523.276, + "placementHeight" : 91.8, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 523.276, + "contentHeight" : 91.8, + "margin" : { + "top" : 18.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 11.0, + "right" : 11.0, + "bottom" : 11.0, + "left" : 11.0 + } + }, { + "path" : "Proposal[0]/Acceptance[10]/SectionHeading[0]", + "entityName" : "SectionHeading", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/Acceptance[10]", + "childIndex" : 0, + "depth" : 3, + "layer" : 3, + "computedX" : 47.0, + "computedY" : 132.34, + "placementX" : 47.0, + "placementY" : 132.34, + "placementWidth" : 501.276, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 501.276, + "contentHeight" : 27.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" : "Proposal[0]/Acceptance[10]/SectionHeading[0]/SectionBadge[0]", + "entityName" : "SectionBadge", + "entityKind" : "ShapeContainerNode", + "parentPath" : "Proposal[0]/Acceptance[10]/SectionHeading[0]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 47.0, + "computedY" : 132.34, + "placementX" : 47.0, + "placementY" : 132.34, + "placementWidth" : 27.0, + "placementHeight" : 27.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 27.0, + "contentHeight" : 27.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" : "Proposal[0]/Acceptance[10]/SectionHeading[0]/SectionBadge[0]/Icon-badge-acceptance[0]", + "entityName" : "Icon-badge-acceptance", + "entityKind" : "ImageNode", + "parentPath" : "Proposal[0]/Acceptance[10]/SectionHeading[0]/SectionBadge[0]", + "childIndex" : 0, + "depth" : 5, + "layer" : 5, + "computedX" : 53.48, + "computedY" : 138.82, + "placementX" : 53.48, + "placementY" : 138.82, + "placementWidth" : 14.04, + "placementHeight" : 14.04, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 14.04, + "contentHeight" : 14.04, + "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" : "Proposal[0]/Acceptance[10]/SectionHeading[0]/SectionHeadingTitle[1]", + "entityName" : "SectionHeadingTitle", + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Acceptance[10]/SectionHeading[0]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 85.34, + "computedY" : 137.74, + "placementX" : 85.34, + "placementY" : 137.74, + "placementWidth" : 87.966, + "placementHeight" : 16.2, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 87.966, + "contentHeight" : 16.2, + "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" : "Proposal[0]/Acceptance[10]/ParagraphNode[1]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Acceptance[10]", + "childIndex" : 1, + "depth" : 3, + "layer" : 3, + "computedX" : 47.0, + "computedY" : 113.34, + "placementX" : 47.0, + "placementY" : 113.34, + "placementWidth" : 432.25, + "placementHeight" : 12.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 432.25, + "contentHeight" : 12.0, + "margin" : { + "top" : 7.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Acceptance[10]/SignatureFields[2]", + "entityName" : "SignatureFields", + "entityKind" : "RowNode", + "parentPath" : "Proposal[0]/Acceptance[10]", + "childIndex" : 2, + "depth" : 3, + "layer" : 3, + "computedX" : 47.0, + "computedY" : 89.54, + "placementX" : 47.0, + "placementY" : 89.54, + "placementWidth" : 501.276, + "placementHeight" : 23.8, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 501.276, + "contentHeight" : 23.8, + "margin" : { + "top" : 0.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + }, + "padding" : { + "top" : 13.0, + "right" : 0.0, + "bottom" : 0.0, + "left" : 0.0 + } + }, { + "path" : "Proposal[0]/Acceptance[10]/SignatureFields[2]/ParagraphNode[0]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Acceptance[10]/SignatureFields[2]", + "childIndex" : 0, + "depth" : 4, + "layer" : 4, + "computedX" : 47.0, + "computedY" : 89.54, + "placementX" : 47.0, + "placementY" : 89.54, + "placementWidth" : 51.759, + "placementHeight" : 10.8, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 51.759, + "contentHeight" : 10.8, + "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" : "Proposal[0]/Acceptance[10]/SignatureFields[2]/LineNode[1]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/Acceptance[10]/SignatureFields[2]", + "childIndex" : 1, + "depth" : 4, + "layer" : 4, + "computedX" : 113.177, + "computedY" : 89.54, + "placementX" : 113.177, + "placementY" : 89.54, + "placementWidth" : 96.915, + "placementHeight" : 1.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 96.915, + "contentHeight" : 1.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" : "Proposal[0]/Acceptance[10]/SignatureFields[2]/ParagraphNode[2]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Acceptance[10]/SignatureFields[2]", + "childIndex" : 2, + "depth" : 4, + "layer" : 4, + "computedX" : 216.092, + "computedY" : 89.54, + "placementX" : 216.092, + "placementY" : 89.54, + "placementWidth" : 39.753, + "placementHeight" : 10.8, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 39.753, + "contentHeight" : 10.8, + "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" : "Proposal[0]/Acceptance[10]/SignatureFields[2]/LineNode[3]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/Acceptance[10]/SignatureFields[2]", + "childIndex" : 3, + "depth" : 4, + "layer" : 4, + "computedX" : 282.269, + "computedY" : 89.54, + "placementX" : 282.269, + "placementY" : 89.54, + "placementWidth" : 96.915, + "placementHeight" : 1.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 96.915, + "contentHeight" : 1.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" : "Proposal[0]/Acceptance[10]/SignatureFields[2]/ParagraphNode[4]", + "entityName" : null, + "entityKind" : "ParagraphNode", + "parentPath" : "Proposal[0]/Acceptance[10]/SignatureFields[2]", + "childIndex" : 4, + "depth" : 4, + "layer" : 4, + "computedX" : 385.184, + "computedY" : 89.54, + "placementX" : 385.184, + "placementY" : 89.54, + "placementWidth" : 21.555, + "placementHeight" : 10.8, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 21.555, + "contentHeight" : 10.8, + "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" : "Proposal[0]/Acceptance[10]/SignatureFields[2]/LineNode[5]", + "entityName" : null, + "entityKind" : "LineNode", + "parentPath" : "Proposal[0]/Acceptance[10]/SignatureFields[2]", + "childIndex" : 5, + "depth" : 4, + "layer" : 4, + "computedX" : 451.361, + "computedY" : 89.54, + "placementX" : 451.361, + "placementY" : 89.54, + "placementWidth" : 96.915, + "placementHeight" : 1.0, + "startPage" : 1, + "endPage" : 1, + "contentWidth" : 96.915, + "contentHeight" : 1.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 + } + } ] +} diff --git a/qa/src/test/resources/visual-baselines/proposal-v2-layered/northline_proposal-page-0.png b/qa/src/test/resources/visual-baselines/proposal-v2-layered/northline_proposal-page-0.png new file mode 100644 index 0000000000000000000000000000000000000000..895525f2241282a60b845515f351b1066204d0d3 GIT binary patch literal 116268 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 z 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 z�%9y{C1`PS99_X9QM?5pXlc44f#kjkiTg%`Q}plYXclB0oVzBnkl%F^GTX*bHS z7WRDldX$Dzj5?fiV#Ao_&zlm}LSH+pbL~z5Ux&*Oc+G?x`|R%;)Wb|4bKepUx{#p@EAX(6*rodBM%g?t#IsdXmR~u zNzq_P55&&k7N$uLI}UEA zo}FZWfxf>XIgyY4(xFe6pVxa4dshH*c>eI`;qRZ}>iL>Z`Bg2$zZ36Fgehyeo+EX` zegl^%uwk#&^lCL5=*+2ZsYYyxI_V6yZmrV4aiv?Ea!L2V^^-r(?c#G%vj5_wlo(u#vEyuN<#`NWA#`@Er z8jekplB2sbb9r~qV};>@+iH)j^{18TD~2vV-6dDwz2Y;dzOh>Gi{yb1N!@oOX^~Pq zHbW`=Mwf5(y<3;bM)ukDXi`X$c?(-|#Iv;K+ZWtfIb9oV{w$;VQ}{u7d`_WcU+jYF zn~_}};tp<(=@JH=58(>mnM4ZnF-GRUQWp!+v0F?8|lI! zx-V;nI6q?Ry~cAbTx*6a6sOhGxS&HdUMZtJ3k{WM5MP_i!!*SbedN&t$BBn3YU72N z8{@RZK`V{pc@C^A2&;ed?#aPdAMm}HdIu~As+@p>&?{nasaHrVTQ z&wZ^qU(+Zno!580z{m4^H9T_IfbH=p%CQrrP5K9Uyi1Dbe=T1z6emI9oq``0heS(PU=#9NN|xy#A*Z zH8ML#AwzvOFV|!WQA1;wmp9Z!!fIL_M~g0_eqWUT1X-#MrmHtg^DaE6Sx;uWbw~#` zphPMujb?g<;L2;7y)QVKI_UE}HP$hD{P0{PT-<4T;U@s;miAfCqc%}iCZ*r|_)Rw} zoEdY)BU{`zOt{44yp(8ePT+jSU&C=*!UvM{w#I!^!6Pd=Dy-G+tRRp z%c|8{=3Y4cQhktru4xgsP z8kmTKQ@MtSlFJy=JpTERZ-Axqx$)F2+coA;Fxca9EAV(Z5%^9XS0Z8N;5Rc+3tQ!h z{`h?KJ$2lmX74xHPb$|n=0kR%klBcRR{)Wk(r|#lXNCz|2QeJN4q=CryWirqn`o3V zBoaLAW;`f#`zNB`=D*ou2P%JgIOaP^EIz1^+OhfaUVC-A61hVVRl-Uu8qWdx25mI)ZvyAdam=CoMFwDE0|$Ij+!t>Zv&%>4|d3hRMkc; zs*|5*Pv1n^wBF;-s0+)PUG^Rx>V1_{+f9FSvYohut}z_Ug+<27C|l?^@<$+SAc>*C z>fvDmxJeah^{e$z$YO}Lr%AOp{SDe#y2?9>4%aonA~+mkO*^1w{hfHZa_#+?#l!?0 zTIXY+m)Qr@waq4tY~Qrv-{P>6=@1oh%P(~uxi*j+pOqS~5uOg6h3X^_vyK;Ej~`kX zk5mM94ISEji}l4z#E@Q3#4wNHWEVbU90i3sh#JBf_XtOEElsn#U;}}WP*Y}t<=wV| zkmKCNX4KNVc6MegO>oM4cHlpB(O%@`B9+1s+s!k6qU>CbtP(J)Z!z!aSI+C^(Ywv6 z*PwW#lob%J1e3inNU4KyJa$pOFyNS=OAo`Qw>J+vfG*1VC`5a9##r>1&D2to#X=KT zc6hQbjowP8$B>%x&yS7cvo$Z%tC}whd5Wi$Q!+mv`gm=Yg|LFsT8PH7#(Lm##XPGbM}zp$mbcQgS0c_u5;jh8!?xq0~%ozo73zOfB+90^D~RLJMns$3Op%#jR^N!BncNXp53WZxp6L`A-916 z-4#QsiAn^?v=^ogV|?07S5b!$5R!uroTjkh?HwI+L5mQ+ke!ep2qm(WWE@Cvw`Oi# ztMovBr{|`uVpt>Eq3`iV`MyLB@JDV{=z)prnA>MGk%q-*`j0}4qhuN^4a`6bl(9J7Pa)2j?#rV2Ui3aQ@F}A z=%8=6LbjmQlL!?G96^UV!1K3-dG0s+kT#3@#I7K&hnb5SsX1MPk_&@sGXmqG4$;w` zYkQhkkh5KK>ipdH{;urQw1}FL1zs2%mr&o(6TL4IP*2x)BTqs&VcGa$eC$;>uxkbW6w9;ry7PxcT()v61>q z(mY_w{?D^+=@^}afD!Ocbuf06oD#tkqNIlqIFa@EXThJ^KQ}$@BD104?n&&?_4*FD z6(sqQd$CU|k)tsO8)RX1@H_8`tfztv$6{n?#KFda_KS#Fr|EnRWdIW@42-TyC`~FX z?w9-3W;bj#itI=OuiViNo>0z1P}ZHn-tHcj8Z7g5C92#=?4RWtk<)qDBs&vvf+@1l zy%Y5Zy8G0wPr^)M`R~oJc7ElrPD|rK*gngAPHf(gH}42)f7B-%dTL^D(>2RG;VQke zAUypHDKYF>+TW>wNIHxESg}1_ZwVU^?b5cQP(zOnEHHE|uu30V?TFHYY7ZVwp48u# z8iRq;^=~T2|FQm|>c3uAI%)LZulxV}L_oD3 zDco;Nkr(4<+(nB~DjsR~{P%a4wB#DoZ#?_Cbqao&Ei%{MGj9F&UhOrFs)P&WVEJ#{ z<<@dK=k+Fr^|$g`jeF-q9Kv1`x7kUP+N$Ghbvo5mv(Lfnnr2ts6)V?ka?49T{9-Is zbAC(>Qw`*;C!|JI3sCJkVe$I*lfAWtQlPbHv|ovDr!`r>aFZgpbIcvPN}lieHR?Aw z-t2aec|q5Ld$!ctnfrU#K3SKn#OdM7b?r=G@E#;KcTzXYdUF5l#ocPUq^4H~0?Av) z$=fvK&d8(?@gfiwzla3t$S$AyvthfExO#w5Wb=X_j%r5jE@h|hW6ZtSV@!_3O>pJz$v)wW2`2PBHc*jHDJ%g+Y7_gtou z`qt3AbEOs;4MiW?EAs07I^!hq0@1Mc>jk#Obhus{&=#g=rp6rYvYOOReJDK;_H6s1 zs5a`}9{WU+4BU*?6qDg1x5csmeV7pPDD7GSw%7%3N%1C2x$VDxIdCWu?e zuOx)5aW7r86HIxjpmPc>#AQENdFNXzeg?kP3U7s={*Si?5rM1=-;a8q@3ut0-H}22 zBxR-T&qXxUe#*hr6)h4J<52mX4Irn;4(NVd7%pOZE3#Xk8KTwXeHZF%Pf_9!;KpK( ztEk{c%ZMljjF@!7YB}9eb9}tMC;Rf!H1j%SC2L0RKbs5qxY$TFt>F2+pf&7mn(Hc&0i@#PqQFBim29gvR~MV?j2)2*1ZM zk*;W$etK)c>rl|^U3+V2iAsOm`PaWW9oKf$lw!H1zY?yi=n8E3NlzOq`1$z~lRdi9 zCe(WL_f@~wX9=c()6+T|Lm)s$2>b2kRZ^c`WdC%zwf3jpcbx@3&1jqaMaGv=qrILt z!^&T9C^U>;RVV&F;QP?BC_}nw8G{Gz?h@bk7euFYTJ*r9Mi_ir-p1v(wmJ|h+SbtD z`}>9oqNGDZ&~`W0^?r(r6m?dw*kOEZ4V*eZef%}JtT=Cn_l3*nn%_KVrf3qV2?{GM zS$ZLfu=nZUBsDk)(4Oai?x(MG`ym+Z2lR{1sSCU<^7S6KF+d}8jee(?g`fBSi9CKA zIFf_b^Hj$f>=O{)t@(G|CVv|BjK%013yY_wDHI zTzLJLiJIInJk@cL%EG#ktJk?!p)|3g@Z@KB|tF!){5KOIuHZ|GZ;LzfQCyA@_~_W zhUQfR!Gf;XQ2H!kx&{a_Fk8%$+2Q)t5{>dgaCC+(gA=A*t+_nC2u{8~hJr)@3dU96 zf{CEat_EW@cZOi9R?NH*i!RiG5qMso^`%I8b_^wdBwf5Y1GC{U_UxC#Lx}XH6X!VPir^ZP)abVYL@x}Vz#p{b`M2xH9w=dl|l0m69 zG9&!JZ2bCoUbJzae)Vi3f!avnYcuqwQA}!>W7U~RFq4c}X;`9zAC6yPPdRVwf~%RkDlvH(hEG-%DYjo~%U>qiAiWLv%;q$z zY??l;j+6_TH6;kFQ^G@?g@JDO@&#YqP(MZhmPZpS)@Hj-=z%qIxHyr_&JmW^>aO{$=aZg2&CI+C@i=>Klx?O+$3LbO*@}%Bf%O zaDY>JeJKK&Zh$T#R7P<1c=_*XCg}LBASj`YHG4uKD&Z1x*L$nQ7)y-FCHEC^U1hMG z9kP{DlBU`cl2^nZL_j5*!Yc9$aYeJ^SE*Is;?d2L*L+U_i#beJF)Gh6FmqvU4Pj+= zCJm=iV8f*m^A)FdenE6cn0Ej1^$?5vGm)^20~yMvTwRRJvA|y6R8SM2&j4stJm@sa zARODsNSx#A#5t^6${z%3?&n;q*Pj}~apNe42nv!x)RguN9pPl!>+a=g##3*TIo!i& zhxSJf1#O+P=*}1y%GEysY^T|wngZ*=6WNW@}y49L_ZJo0Fob-?&; zu)5mkG)kK!#h=WJij6|sv%_stUznU74oj&vepTqh4%^T%^fAa@j4^UCFo?6deUq`v zur~Wo`KZFm!g!x4gdh_TE`v$X0gVdJGuNWpczD|lx;e(CR8SNLgNx54{G2ZincTMC zrs@;62bLBhu~EM^Hx6!&OJUMuk&ADaQ&xAQf|2ePLy$up>8L1m;;Hyu6R>c#BfUE!e*A&B9j|xM<3@)q#O#!+soWxu<**t;YrtreV8!&%st&rBUO~m<9lGVVLo$$MYU4u)&d6!UZ~-hJ*7$ ziey21ZechE+b~=Eu&}ByPggjwV)`5|lr=gPt%onn>X=toMChhGjrE(WUOkAn43>Hy zq53omR+BL+1VoBE!z!W@VqB=^Royq`99y z1rYW8U)%Q|%NeeEep!l)uuxp)=z8bx+w~4mh`IFCR&(7ibL2ynb>Rb&=kXXA%^hf9 zGxGrj!1Qh>uNa+MCRJV;nay;9H8@YVXGq&jtL5(a@x*DPf+Kb_YyZN zxOIVy19J0rcMPacM|=C})0ARIKg)svCIqMWH){A|DA^J5@2t~@>BpVONgy*PewTuU zGL-G-n_r?eBp(h>RADatuUWA`gB~(ZWo!4>z*M!EE|Iu)QQK52Ighc++mb}Uy`Aml zz@U+~yq7m7djcBPo>QHbg>(!kQj7=mE2ldCipyUNUPQl;BFAnilcYqDH{Lb{S;+Nc zepGxMpz_B}X7LG(;d`Q8q8P0X$-`_3Ik67AI6q<~Ax;=b`&%t*xt3 zZ2%x6grty@j%v`J1hPf18oT!sC7ulXnE8cEN?eo)@p7j~%>&z0Py&&;PuTT`p2bk( zSEFC69n=+Aq&s%=4iUV8OnvpIcDERm6F9jw%T%tG$&yC9=?Ft~L_!>L;xvqzO^kPv zqqAw~5wr_~MFC>hO)_%L(v{MPxl*kc3!b<}6OdMI@69HC33dxfHLD(!X$#jPMe`lN?*lNCaUqnTz-i)!H*iiwUldPbv&5oDTp44|?9_-9~ zG!A)^z8e6ZLmhB7H_KSEr23f&l80OLkZvqY^HxG>ra7K@p5=Cm^zawm%VEfzI(Oy1 zwo}yUL3-{>Q3p0fw>UELpX53tRW4)H!k!nkF0SSem=+3ne-{pro~2jJ;_$CTYV-rC z6n10xwRDa_=lE>(6$6`L=0&C`h=ciJ8YA*1;mW-`9jZiB+z z@D}DI8`DYRC3TiWUFFnrk-2oUR|WoVM4w$CpkmAJc{Y`Fr_6&pu+Zf0u)f3_zh)J+ z_Q~o!Y|%!ZxRn6T33pzpWqMN~taQ~vv1Do9B)gmKa!=xy7hv!!jItX920RGm6wkx1 zzKy64a72-jw=T+VXgt51BaVx9yu~06w{o9J6|xSbd`^=co{q;L%f{{*kNXf*fC_h* z6JywP?&O5N5YZ!1V#N2$F*r2hTdd0z3;11Wx`SIaa91pr?~kYm)6eRP+igc#$wpF! z)EqDi^s{G#-P(sq=v!e8AwypYgJo93!tqHP%Y9i3$en^7KajWVef?y?0>v_ONKBM} z%ReLkjT}zUos~s;y-lceisFx6H~M#HUz9v45OOqFny#3E;zTN z1*wK^r#^m0=7@4LYs_3HdzBXfexdf#ZKD-_dww?@XXX)T6M3z9YCOU{bSyFIW>|S% zB^^f9*{;LaR;N2EqZQP$&Umh;E;gnr2h&Y%XJ8M_(YJT)BZbL;FJfC9VHM%=*PVEcqHV}sb9je)-!e5#G6ft>+fTf7>RrwelHU3V~;j>s`rQUK(}-!lHPb zz>s?)PW_1%#K}Eh->)|$OoVCGZA)0?+$7hxFcwMw8fr#BLT2!j;ycMPA+Bm52Mb5Q zrzt1ufX^H)qBctt4h(yc+HXV95&Yqk~cn!vsHls z)^aW`w&H{vZhp%TLlxd?5MQxsu*?={72%EgAB?A?gg62-8Yod?55_r4>b6VUZpC*F z;KgI{FV@%mZ7Tw$;|Xcm^0FvZhd83u%2%P!@Te*#V|BS)(|XB9uLc@v=+(vGqJSp1 zbwx$pn1MN%foH&v3RyocwcqT0p>of4?mSq?!Pdn=K2z(=Sv^>d)w5fsuazOmPdlt^ zowr%bI5s{B?V3(F%cy0g!nwLFB4pmD@MxpNY97I4An1}HsD9X!6IDQH$i{1-Qryy7 z8dh-EhRYz(Y@^Pz@q-dk3goqb`mGNSNBPum_wNeXJjCx5zuJ#b3bi7mG9HuaqUm>x zT2>7}_MoCD;&UPjUiM&@{FbsB_}ECKNh0VJm(=@lO;B7Tc;=Rd^vl>@7pnLW&R61E z92BmGgU*u)Q0FYHaud|OsL>hDp4*DG-lNLNYlOY79XzJ*X$anY*&d6A?rzQh@ZAL8 zr{pkiki3-HJf=!&yeL)ZNjnee^vint0mL_(N*&0G`NN!v@y4&|Sceu@H0XRr?0K-s z1b2gMq@2*>>WkgYx8K70OzSKCshHJRD2NCn-TkdM?wp&)s;7cd!{{;Atsu<+D*Mpg z^O>dTF|g-mrTXra%;|fWErXn{yMUt1R0B7*y9XUf4!Ba&z5j!uiOS8Yi3Koxcu&58l`8IudpH*EW_{TnsICXm|313 z*|^(sQLAV$_@)wc$x7vo>$z%?@6@e_VZTOPd^!`Rh7boY;p5YuOVtcQnROn`zDa67 zrT&Uwo|Z^|MtA9}Y~wc>A88W+#JaNTgp)RAJwz{NsO9WdTWr*)nxkiC5>VFo)&k+P z`kq_<@!Tj^{Y@xNG=Fv)gaPTd56m;Lsr~Y!5Z4A_WF36sLFA5V~}WxsrymtBUze zJb(B{OzIUcSqqhdnRquZxsqv`$ zJ1#5shWXL9hg8At8y!74C4CQGRG=)_xlE3nT31Ht8DrO48e+9)>H{^A_yYsOpOg}? zc|#<|lQNfmE(lJ73Y;yJWy4!GvE}Yt@SDH(QAgg)7h!j5WyI9IT9v2fT4ZUM`&|O`IO-OxcobrA>8NxBFtEoq1XM z|KdXAX~j@W*_x!HX!3G7@U++1_(n$~{{}S%=p%2GWsEHnKZ!I+ANkTsV?aeid0Vx@ zCibwiQr~{3CvF5^K^pE_5ED%ksZrc*x_<}7n*Zv3)`ChKQ}&0ZT>0a2&Eq``jl_!A z4qp=u2K4?N9#dNusCW*iktE3jC8YI~3KO&7FHD|jVhO%3h-POg+8CbfAb-DkBkf#C zU(WzOxOXw|+G0#KlA3~w@Tp+U!5o9+r3Fe|bC{IW%t+Tbs|9YNvCV#&l#tXaGk}lA zHvXX$!@)1Z#V3wS%ocvC?tB|@}IwabF1eAVr|F| z$wPiekPxlKtRwfL3f>hJvp0}BwD=MMPWG;}^N>X4l3{$0uzlhCqKQ9j)YVNuSd{Fa z5v;bt&X%qA(=2mSEHf+iO;0iwaXm2;O8pCf*%Y68?Ug#{80b~_lUKuCLvD+C9kDI2 zjDknjG4XWO5Z8YtYxBPf5{zh_Ot$!N^itlIpgM`6B&Vg-w@z|{W;8}5`LU9N!_I14 z&ePE!lZueEs7L*x@O*qSN;%z{^P)fmS5V|CZ6zS+j&pG&8H`keBl_?Z)-O|DgBicm zQcVn>$~U9Wq0Mp2-37KL_32(6Lbq+xl(lQKLzc$deYLA7Q zP1wJ`ApbcVY^-V-7$oEWTr*{&5XFhof5MQ&O}FHKPecAaS+8oDEl=id+yHqHNVtx+XZH}8Y^!!u(ZRNn_0Z2;pdZ5%bM(MR zcD-K-R+s|7dVkBu*ID#ii^Ei1S2fIK<#Ot75wHjjLOJ!l#!FFv+$8=(DnYP>h{x{V>JiE0tYq0{5N`GZLO=O@W~bB*xyt)1NLPp<}u4RW4Kp|kGQ3R^h1 z4}4$vk=S-gywbWkJCWF~fbiYj_4rd>p9D)nSv5MA6qRLd*5_206trHT46}{c^4I2} z_P7gEE`z76-_<)?a4JFC*Y6Y+L%ri)@Ge5VZ6Ux>(Xz}pNx}WK$&pt50N_V}Ou6^B zxW46yXfn;ol7!m&X=F@_RF{=ar_C|E#oCiy*6mcX7a+u(86)n}T)Q`&JkJ5RGBgvjUn~0qZ*cV_j z({tc$(*^4XHBscYnBOY{CWofyMDHFbP%5#lO`s8q*gkXPi1RH`sgx$( z`oGI-wVMYNsQBX_pFX75m6_hx{*<5ZaFFyG&Llw$7k2|09X@Xc2Z*DZ=CbVC+w_rM zN863t_c7a@MlYrU#iz$JGLks=EUc(I`K6_%{<<3Dl;JeH_OnA6Bw6e^MnX|Pc0sMc z``JO4Ca$WYh2?l4RV!_1R{sG?!fV%bXefC6@U;Ge!$81Y+$@GQGu7$_ua}>M_MLj#S=1 zc%&-j&ME3dmI{!R8kzon^!NGTPK!@`r%-9XTw7Pt-~8Ji?@~Vw9q^;2o-!%KP-Bce zYkQc|sVNp&VNhGzFCBD^tY5vSgexZR5`r!%A(gF0!q0q2oKlSb{ZOMi{2RHCYxmL9 z_i4RMw>buN3e+jSj6sIzLpckViuLZlSS&SqJU%YsYy-B0Q6X1VS<@u30ZE}BQ&YB6 zLM;4jb*A`#y6(e$AK1zx`V`Bd=EWVa4Ucew$>Br#uyIhiniQUh*4FXP#2HPD`ee`3 zyV{u;8|)yv{3ZQMtl`(Rh*cCVSFtyH*{v{4c79or9l{sgCTuyK!G>y=MEZ8;P0{Jr z`EB&Hw;o43T^!G9w;x`5qvsFOE@w?3zNdd<_uiwe=0O55aU;OzIP`ZGjo7OK+ojo& zHdyPQV_fTVl^XF^(=BWBwCbHs9q4(PGyiX~(*Y;Hc7)vlryLXRW;*~}{-kF@`H9JP z!Dp}vmACJ>>|@?YfFpEI?s!^Kc8`|tW#qeG_O_FbV+9M!X|nj7PEj*@M$TsY5v@~p)T^zzWLH6zd0_|f2;smY8- zqPJvJt3>gdv{XBBh?a$0*-x`K*A2<Czs<4#j^l~pzIJ} z?NYtT@y#Yke13e=?1Y3gY+jpSpMrr5?PTY{?ID5G=a)mU+F%bn$_8&EVKIc$x}pf@ zaG9=9ki-+~BST6tlNTdj!;9k8#2#!n+t}Vor|+nv+|gjs>oH6rdc)^UMnEgwQ#J5P zyg87~hx_CXEn4Sp;G$tnf!5<;^xG@}zF$DW!St4f>lukeC*M z*LTT<{IaA1Qfsw>^2zPrBA!yzGG?S6XMXwdVbD*<;3kGD&xu%VR;`nRk9_*VW+vgn z<8OBWjA7|N^Qt&H3<@pproPo4aFsPPdnVa?4D#*nS3b|?r~}+#;2_Ye%T4|W94i>| zIDY;-q8k8%1=iH03p0Ym^OG#=OH7l5petIcR|UU_2yzUOX%J<46hFXO)Ac}LTw(zT zn3_a}x9q2IGZI)W^U#4YiAk-vEGo>ZKYucE02$$tFZ`_PSC)X4r~81i0m0p>Bn<>5 zgIWt+d1|yk--4pECjwVKFBI%H-Vc!~=H2Yg%g15w)0mr|+<3nCW<;;~o>#Bw&Yd-@ zDcHzjA9mhKLkSc|F*UOEHO1{)f7960)tP_c7(csU1Zrq)mrB2ivLdf^n_H$h@UJ+e zb9fi2-s8Vs)%zsXA~KuHq>UytI7w(_%tnlSGv@?O3ul$_&sgIpny-NWr^}Jot(VTO zm~&Iv*fUSeYtgmW-OOmJS;l;qqNRpuo=bw++UWKdkq)2{YqD2nkT-<4@27u_^we~> z4;eFuMTs$yp7kxgnXB$&(p&Oa`>BN^{jP&-zbk;xDuu6K`BCnx&kCffZh#5B=${Z! zqKg}?aYNU?TCL^}^9QEdWm=X1VW4x_aM^T|a-WdhhQ>k*8&4%}sl4=15y${s&C>1- zc-1Goh`?GcR-=MGNvaE^=XhgF@E~pMr)4nwv3BsXqlJ;O9nql?rv8 zNauB)yG$H@{j@nfgML^2Jy(WCXsV{=x<~+Dk6#=POmo+4=;|;NroajE5)k=K4GeL! zGIDcqzJxXM*@?HUscZCKuJSV^X%zY&uN_OL2y6wT;`Y&b&hej-*LnQ~^>gCTM! zUt2U31143c%8E*uPMLz{yThva@e)_wr4o2A+y*UXS9`yxh9fGs9)tw9FoElv9ueNp z81T*;;Hlj?MTO!!#@gQFN6o(+|{Dq`A8v;$35?tzx*4 zy%tR-$CCmk1!?wo{y2C{Y>dKSvR!7Q#6f{b%964iS=?zZ4$&BN1m}60^%RL$h-s(X z9(tgst9X&YVSZPY@~hF&iiO?ng%P(Dm3=N$&30CF`W-A55==NM1#XwJ3VDshPmI_w z0?*yvPE!~G)O~2rMKKidzI-O@L4o^J&oHK~s5BU{g+6|7*qYV7)&DF%IU()*B)GNf z(*!(;+O6V3o&wEl%1|TB#ZWnWgyas2eC9CBeGV!-Ld+bcrr6FcMz8jyKe5^$p5(?BKIu0hUKwkF)0~=gjjb>^jpbG>Yi@)C<@Qc z==>v#^HEe+;}|V7UQk9n;yja@0-KsscDFgL_Wh(c=m`xpsGv5cFQ(ll@isIp@8!M+z3@zU~aFfxPDr6eOdUsT#jumB=@!4A4ETW zvuj)4I$X?1*4bT*NF$dHGx@eXLx()J>giBZNSzqf>g|TdG4)}MOR_@Fkom^<;aWs* z&T2uJK@$DE{qNV0SNE2_ywDy&k)%7OiCs*Lz4Ci`($LBBXgG}LfM?zhotR|MDmZEK z`qLHjJ-Gr$Z_a$7ZVj>prJ@ zi1xy5BDK{gdst(N#;Zdzt>Q$N9g-puGRH<*!bX~N%d8$5xSFvEYR;X`GBX^&K!m#$UnA!lNy zMh*zIJiW8VjDq_Y{cTOPc})=ns;nz7PUAwhnWv7To6o%_U7#S}D&6vQqd; zJ~167vH+uCA@?+tUD*=HeKkzZ=;$*y1u6*sb?@lSZFZPE!mV;Wi}pSxsZH@zLjCsq zXys}SuXMgl2A3e1pv=qnFWyN2N0j;*+J@JJD=4$i<`6!1G8T;}zcIn%5W5gA!T;3I zbA~g%S8^M8T=YpJn1v2KSiTtstX2?w(OCTtfLy zW;3r-9$43p^2)mlimI9pWfbKkBBsB=KRO` z-s`p>boKM~DjNI$WkNtRN*itYf5!$G?4;*5J=5P?1vq)JX)ggMsjQ^jV_3iVG|DFt zVFS}NTkWXk7UpuPFv!;xA0Hj9^Nrq8jvGJRMh*U+k(Tm1eJ{C|Z*3>(GvIV&aSQ;& zUQs>xFZ{J#JX}%10kXb?N6E6{8PtvYsyDuHlg_lg<$S#!-!qt?7>HLAeI)CwGYov^ zi(wFOG<^T(P370RbR9-uLD&Z71+8f;7{E@L=P?nP%kW~Y%d|<(*2!%>BkgvWdF>Iq z2Xcr5QeA~Mx3%qp9bfXnoxgE0CPy2eF{#)Wh5o0Es9gDyM;;|l{ZxUXS<*~I0=xf3 zjBIJbMz@NNOE3#2 z;W)}*KP^5Dxt4$HLyjSvj~x2z?r+eFgSw3ovQV`>j|t^*ks9(&3#gQQG9QoVclxVxC#QZ6@#XN}~DW-cu% zJ0c@WyrL3(lE?%>#Dy7uppm$E+G7ikVgK|Ou#dr);u}~w zu5sFJYb+0hD~iD3s_q%=;ke$1c5CJGo(U84H0a*QU7!c*{ocm(4@lq-93v`c=KV?D zs{O407rnj0WM2hQRR%Ev)Eh*H;VQ8+znj1uk8~P6grj0S{qr7 zAgi-AZyuOKfq@>1=yv}4o=9#3?EUk_{=|&j**@?ya-3i&qgPQ&+#qOq#vv3`&=qiS z;jDQDD6(+GkoAv*L|Z>-w!Avxyrt!yS2l|8Sy%-_}?UJE&@K zKj108?^_F8qIS!A1-AdVj>e?w=>1(>V5vRJI-6AZe+%5kw zi@PDQ&EcRX1N{NLsMG$}8~Xnhs{b7!{ukr=f5HncDzIUVMw-{xXZ)jYa=E9UI5Gba zQXiYFCmWO?*uB2CKEmbmwNv7>|9N59Dq*7Z3pMFS;QGRl#_{wtKknlR@c$aA)}R8i$rjqPv8 z-!In73n4!KImP>L2x~5n4Fcdm;-2@OuVFucw0WHQJ|BZhf-=VU>LkhXvfpbj&w~P( zjVombbTR?R?UUpAmc+SHZm0H`in$YC*U&TE$Heo0PqxOPki7GN^MyHsu#*_?jf+3J z=9AsBp*-26zxl6F*c8{=W~(Gpf=AF16k`XrqC0<*!{(fSQ)Xcd9AV9W)cp&7m7>mOv*&Agwg4ZBAKZbzb>4+lwA)+DJ&bAC zxLgB+noDgrR?P7N?@M`}i)yzy-t_4h(Tov zAmzUAM3I5A6pWKfvCMxTG`iOKB@aG4^n9hzTUhX`aFCKKxiW}*f~SA_&;Is8aEV=@ z%8({y;oj%+%*>{5HT%|ft(wy3{=FZGTs-BaXSVVJzZDFmcNGpiZz0My)SI^v?2Wxm zLMQfW6?ltmevK#-s#c~~FHZxbMta-QbDJ%MpK}12kaC{X(x^?4QI*pP?H4 z?4$S1hZ*9v1CWyLC&*lWk|4yuPH2Jyn7ei%2tkyo0<8??l%rU z-IBlQlW&!<(k+$06$oS>OJeZ)Z<0b>cn|hFn_uEjVm~AoijaW#eh|cF;wDSbAH}sN zpn5#OyM}cjVu#LXzc}T6ML;j1hBIP-=UW4HpqDd7Dc&=O3FY|qnz$K?xCDwlFUy!= zm($eT5qhLuWZGFxnnb++y}O(2gRu&8anYoN=kgcrHn{q;;pgu&&Ve$)Xn)U8;%gSJAd^%nl?W!hm63i#C|)}N&Vxkr0?N%W$Iwn+CfE0SkTn`Vw-ov-8 zaXMnTtIHo)uW2}rC>A0ndh*iGGN%!!vx;nK+1j9HQIzjCKLoiu^z8j&GPW$->O)X= zJfgv4i3xgx#z%T#8HB~;n*WtqMw^Yb+H=?CdBrn5y|c3G8&W`_ z%^D&T6+#Ogq;+*7^{ z`^b#)tsw47j~gA0t%=B)+m|W0_p9KmA}|RyUl!9L?5DQ3h1^5174)n~Fw;f!*PEH4ifE ztZQd!4~hNKHdW%!XUF-2&*4z|EeY7@EE8Sd*>q(7^kd|(TkQ90gWX}t$?SaJMGNm03ZCdmQ5&ja`b*)yZu=)ee zk9NSR6g1}Z7F{2$9TIBn`3u#6Vy370BJBi-h}V^gwAVpMAKUiIj}@rWH>Xe)s;Bxe z(NPn@3O_VCZFm?(^VXjUO;(i!wqu1Q61KG?mFExHT*~S_9G0rvJq}pn*q=Dht?)N5 zG!M3>;nH3YF0q#6+M1hlCHxj9=+t;Iu;Z!dS!kf>i{2uBxFlZan@={}Divx`U?4ho zTsE$pJ$P~Nsgf$It&cqXhlNF-BUqL9_S*h%(=KEA`e6F27e21xx1G$1VMgyPq@Ho5 z!i&h#R|*Lbhu^uK3`6nOT)!9iPgo z`QnolUcb&uJY=E2sxlUb-`O9jVdPAoRIRIzfbHtKTiorAelmHRKj7}dHh3)bHHw9; zLoTG}#&&<*5S=Bc`lRi_`;@=a5r|Rry#~D~#Bl!_wX~4rzczfmX8C3wbTPR6e*LQi xY-_WeZ(Px7O)D%Y@cf(dzo-)Y@2lIRD{PYE%gSu8JxVNaL6x)=%jM03{{zwp*~9<< literal 0 HcmV?d00001 diff --git a/qa/src/test/resources/visual-baselines/proposal-v2-layered/northline_proposal-page-1.png b/qa/src/test/resources/visual-baselines/proposal-v2-layered/northline_proposal-page-1.png new file mode 100644 index 0000000000000000000000000000000000000000..bd2540df445aba02a1d6607dd2d934b10a9dada3 GIT binary patch literal 89800 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 T603*)WO8u=tyCzu$b1VjZF8DkWZA8Jv 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 icons ship inside the templates artifact under + * {@code templates/proposal/northline/icons/}, keyed by the icon tokens the + * structured proposal data carries (e.g. {@code badge-summary}, + * {@code fact-start}, {@code goal-brand}). Loaded bytes are cached per + * token, so a two-page proposal reads each icon file once per JVM.

+ */ +final class NorthlineIcons { + + private static final String ICON_ROOT = "/templates/proposal/northline/icons/"; + private static final Map CACHE = new ConcurrentHashMap<>(); + + private NorthlineIcons() { + } + + /** + * Loads (and caches) the icon for a data-supplied token. + * + * @param token the icon token, without extension + * @return the icon image data + * @throws IllegalArgumentException when the token names no packaged icon + * — an icon token is data, so a wrong one is a data error, the + * same class the phase-grid header contract throws + */ + static DocumentImageData image(String token) { + return CACHE.computeIfAbsent(token, NorthlineIcons::read); + } + + private static DocumentImageData read(String token) { + String resourcePath = ICON_ROOT + token + ".png"; + try (InputStream input = NorthlineIcons.class.getResourceAsStream(resourcePath)) { + if (input == null) { + throw new IllegalArgumentException( + "Unknown northline proposal icon token '" + token + + "' — no packaged icon at " + resourcePath + "."); + } + return DocumentImageData.fromBytes(input.readAllBytes()); + } catch (IOException e) { + throw new UncheckedIOException( + "Failed to read northline proposal icon: " + resourcePath, e); + } + } +} diff --git a/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlinePageOne.java b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlinePageOne.java new file mode 100644 index 000000000..0bbfbd603 --- /dev/null +++ b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlinePageOne.java @@ -0,0 +1,350 @@ +package com.demcha.compose.document.templates.proposal.presets; + +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.dsl.ParagraphBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.dsl.ShapeContainerBuilder; +import com.demcha.compose.document.node.DocumentNode; +import com.demcha.compose.document.node.LayerAlign; +import com.demcha.compose.document.node.RowVerticalAlign; +import com.demcha.compose.document.node.TextAlign; +import com.demcha.compose.document.style.ClipPolicy; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentRowColumn; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.data.proposal.ProposalGlance; +import com.demcha.compose.document.templates.data.proposal.ProposalGoals; +import com.demcha.compose.document.templates.data.proposal.ProposalScope; +import com.demcha.compose.document.templates.data.proposal.ProposalSummaryBlock; +import com.demcha.compose.document.templates.data.proposal.ProposalTitleLines; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalData; + +import java.util.List; + +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.ACCENT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BAND_TOP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BODY; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BODY_LEADING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.CONTENT_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FACT_DIVIDER_GAP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FACT_GAP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FACT_ICON; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FACT_LABEL; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FACT_LINE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FACT_NOTE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FACT_VALUE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FACT_VALUE_LINE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FACT_VALUE_SIZE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GAP_HEADING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GAP_SECTION; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GLANCE_WEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GLANCE_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GOAL_GAP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GOAL_ICON; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GOAL_TEXT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GOAL_TEXT_LINES; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.HAIRLINE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.LABEL_SIZE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.LATO_LINE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.META; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.META_SEPARATOR; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PANEL_BACKGROUND; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PANEL_HEADING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PANEL_PADDING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PANEL_RADIUS; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.RULE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.RULE_QUIET; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SCOPE_BADGE_H; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SCOPE_BADGE_W; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SCOPE_BODY; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SCOPE_GAP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SCOPE_NUMBER; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SCOPE_ROW_PAD; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SCOPE_TITLE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SCOPE_TITLE_SPLIT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SUMMARY_GAP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SUMMARY_WEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SUMMARY_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TABLE_SIZE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TITLE_ACCENT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TITLE_INK; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TITLE_LAST_LINE_HEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TITLE_PITCH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TITLE_RULE_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineWidgets.sectionHeading; + +/** + * Page one of the Northline proposal: the title block, the summary band + * with the glance card, the goal cells, and the numbered scope list. + * + *

Layout notes carried over from the ported template: the title lines + * stack as anchored children of one container because the reference sets + * the title at a pitch tighter than the font's own line height, which text + * leading (additive, non-negative) cannot reach; the goal cells flatten + * every icon/text pair into one row because a row is refused inside a row + * cell; the scope list is rows plus hairlines rather than a table because + * the reference has horizontal separators and no vertical rules.

+ */ +final class NorthlinePageOne { + + private NorthlinePageOne() { + } + + static void compose(PageFlowBuilder page, StructuredProposalData data) { + renderTitleBlock(page, data.title()); + renderTitleMeta(page, data); + renderSummaryBand(page, data); + renderGoalCells(page, data.goals()); + renderScopeOfWork(page, data.scope()); + } + + /** Accent rule, then the three title lines — ink lead, accent remainder. */ + private static void renderTitleBlock(PageFlowBuilder page, ProposalTitleLines title) { + page.addSection("TitleBlock", block -> { + block.margin(BAND_TOP, 0f, 0f, 0f); + block.spacing(0); + block.addLine(line -> line + .horizontal(TITLE_RULE_WIDTH) + .thickness(2.6) + .color(ACCENT) + .margin(DocumentInsets.bottom(2))); + block.add(renderTitleLines(title)); + }); + } + + /** + * The three title lines, stacked on the reference's own pitch: each + * line is a child of one container placed {@code TITLE_PITCH} apart — + * this stacks what the data already declares as separate lines. + */ + private static DocumentNode renderTitleLines(ProposalTitleLines title) { + return new ShapeContainerBuilder() + .name("TitleLines") + .rectangle(CONTENT_WIDTH, 2 * TITLE_PITCH + TITLE_LAST_LINE_HEIGHT) + .clipPolicy(ClipPolicy.OVERFLOW_VISIBLE) + .position(titleLine("TitleLead", title.lead(), TITLE_INK), + 0, 0, LayerAlign.TOP_LEFT) + .position(titleLine("TitleLine1", title.second(), TITLE_ACCENT), + 0, TITLE_PITCH, LayerAlign.TOP_LEFT) + .position(titleLine("TitleLine2", title.third(), TITLE_ACCENT), + 0, 2 * TITLE_PITCH, LayerAlign.TOP_LEFT) + .build(); + } + + private static DocumentNode titleLine(String name, String text, DocumentTextStyle style) { + return new ParagraphBuilder() + .name(name).text(text).textStyle(style).build(); + } + + /** Prepared-for, prepared-by and date, joined by a quieter separator. */ + private static void renderTitleMeta(PageFlowBuilder page, StructuredProposalData data) { + page.addSection("TitleMeta", section -> { + section.margin(BAND_TOP, 0f, 0f, 0f); + section.addParagraph(p -> p + .name("MetaLine") + .inlineText(data.meta().preparedFor(), META) + .inlineText(" | ", META_SEPARATOR) + .inlineText(data.meta().preparedBy(), META) + .inlineText(" | ", META_SEPARATOR) + .inlineText(data.meta().date(), META)); + }); + } + + /** The two-column band: summary column left, glance card right. */ + private static void renderSummaryBand(PageFlowBuilder page, StructuredProposalData data) { + page.addRow("SummaryBand", row -> { + row.margin(DocumentInsets.top(BAND_TOP)); + row.verticalAlign(RowVerticalAlign.TOP) + .gap(SUMMARY_GAP) + .weights(SUMMARY_WEIGHT, GLANCE_WEIGHT); + row.addSection("SummaryColumn", column -> { + renderExecutiveSummary(column, data.executiveSummary()); + // The goals heading sits in this column, level with the + // bottom of the glance card — it belongs to the band. + column.add(sectionHeading( + data.goals().heading(), data.goals().icon(), SUMMARY_WIDTH)); + }); + row.addSection("GlanceColumn", column -> renderGlancePanel(column, data.glance())); + }); + } + + /** Heading plus the summary paragraphs. */ + private static void renderExecutiveSummary(SectionBuilder column, + ProposalSummaryBlock summary) { + column.spacing(0); + column.add(sectionHeading(summary.heading(), summary.icon(), SUMMARY_WIDTH)); + List paragraphs = summary.paragraphs(); + for (int i = 0; i < paragraphs.size(); i++) { + String text = paragraphs.get(i); + float top = i == 0 ? (float) GAP_HEADING : (float) GAP_SECTION * 0.6f; + column.addParagraph(p -> p + .text(text) + .textStyle(BODY) + .lineSpacing(BODY_LEADING) + .margin(top, 0f, 0f, 0f)); + } + // Clears the last paragraph before the goals heading. + column.addSpacer(spacer -> spacer.height(GAP_SECTION)); + } + + /** + * The quiet card of project facts. {@code softPanel} colours the + * section that already owns the facts, so the card is their parent + * rather than a rectangle drawn behind them. + */ + private static void renderGlancePanel(SectionBuilder column, ProposalGlance glance) { + double inner = GLANCE_WIDTH - 2 * PANEL_PADDING; + column.addSection("GlancePanel", panel -> { + panel.spacing(0).softPanel(PANEL_BACKGROUND, PANEL_RADIUS, PANEL_PADDING); + panel.addParagraph(p -> p + .text(glance.heading()) + .textStyle(PANEL_HEADING) + .margin(0f, 0f, (float) GAP_HEADING, 0f)); + List facts = glance.facts(); + for (int i = 0; i < facts.size(); i++) { + panel.add(renderGlanceFact(facts.get(i), inner)); + if (i < facts.size() - 1) { + panel.addLine(line -> line + .fill() + .thickness(HAIRLINE) + .color(RULE_QUIET) + .margin(DocumentInsets.symmetric(FACT_DIVIDER_GAP, 0))); + } + } + }); + } + + /** + * One fact: the icon anchored at the left of a label-over-value stack. + * The container's height derives from the number of text lines the fact + * actually has, so the optional note line makes its own room. + */ + private static DocumentNode renderGlanceFact(ProposalGlance.Fact fact, double width) { + boolean hasNote = !fact.note().isBlank(); + double height = LABEL_SIZE * FACT_LINE + FACT_VALUE_SIZE * FACT_VALUE_LINE + + (hasNote ? (LABEL_SIZE + 0.5) * FACT_LINE : 0); + + SectionBuilder text = new SectionBuilder(); + text.name("FactText"); + text.spacing(0); + text.addParagraph(p -> p.text(fact.label()).textStyle(FACT_LABEL)); + text.addParagraph(p -> p.text(fact.value()).textStyle(FACT_VALUE)); + if (hasNote) { + text.addParagraph(p -> p.text(fact.note()).textStyle(FACT_NOTE)); + } + + ShapeContainerBuilder container = new ShapeContainerBuilder() + .name("GlanceFact") + .rectangle(width, height) + .clipPolicy(ClipPolicy.OVERFLOW_VISIBLE); + if (!fact.icon().isBlank()) { + container.position(NorthlineWidgets.icon(fact.icon(), FACT_ICON), + 0, 0, LayerAlign.CENTER_LEFT); + } + return container + .position(text.build(), FACT_ICON + FACT_GAP, 0, LayerAlign.CENTER_LEFT) + .build(); + } + + /** + * The goal cells, flattened deliberately: the icon/text pairs and the + * separators are all direct children of one row, and the column widths + * carry the structure. Skipped entirely when the data has no goals — + * the flattened column spec cannot describe zero cells. + */ + private static void renderGoalCells(PageFlowBuilder page, ProposalGoals goals) { + List items = goals.items(); + if (items.isEmpty()) { + return; + } + // Three goal-text lines set the separator height; the pitch is the + // font line plus the additive leading. + double separatorHeight = GOAL_TEXT_LINES * (TABLE_SIZE * LATO_LINE + BODY_LEADING); + page.addRow("GoalCells", row -> { + row.margin(DocumentInsets.top(BAND_TOP)); + row.verticalAlign(RowVerticalAlign.TOP).gap(GOAL_GAP); + row.columns(goalColumns(items.size())); + for (int i = 0; i < items.size(); i++) { + if (i > 0) { + row.addLine(line -> line + .vertical(separatorHeight) + .thickness(HAIRLINE) + .color(RULE)); + } + ProposalGoals.Goal goal = items.get(i); + if (goal.icon().isBlank()) { + // Keep the child-per-column mapping of the flattened row. + row.addSpacer(GOAL_ICON); + } else { + row.addImage(image -> NorthlineWidgets.configureIcon( + image, goal.icon(), GOAL_ICON)); + } + row.addParagraph(p -> p + .text(goal.text()) + .textStyle(GOAL_TEXT) + .lineSpacing(BODY_LEADING)); + } + }); + } + + /** Column spec for the flattened goal row. */ + private static DocumentRowColumn[] goalColumns(int goalCount) { + DocumentRowColumn[] columns = new DocumentRowColumn[goalCount * 2 + (goalCount - 1)]; + int at = 0; + for (int i = 0; i < goalCount; i++) { + if (i > 0) { + columns[at++] = DocumentRowColumn.fixed(HAIRLINE); + } + columns[at++] = DocumentRowColumn.fixed(GOAL_ICON); + columns[at++] = DocumentRowColumn.weight(1); + } + return columns; + } + + /** The numbered scope list: rows plus hairlines at the flow's top level. */ + private static void renderScopeOfWork(PageFlowBuilder page, ProposalScope scope) { + double titleWidth = CONTENT_WIDTH * SCOPE_TITLE_SPLIT - SCOPE_BADGE_W - 2 * SCOPE_GAP; + page.addSection("ScopeOfWork", section -> { + section.margin(BAND_TOP, 0f, 0f, 0f); + section.spacing(0); + section.add(sectionHeading(scope.heading(), scope.icon(), CONTENT_WIDTH)); + section.addLine(line -> line + .fill() + .thickness(HAIRLINE) + .color(RULE) + .margin(DocumentInsets.top(GAP_HEADING))); + List items = scope.items(); + for (int i = 0; i < items.size(); i++) { + ProposalScope.Item item = items.get(i); + section.addRow("ScopeRow" + item.number(), row -> { + row.verticalAlign(RowVerticalAlign.TOP) + .gap(SCOPE_GAP) + .padding(DocumentInsets.symmetric(SCOPE_ROW_PAD, 0)) + .columns(DocumentRowColumn.fixed(SCOPE_BADGE_W), + DocumentRowColumn.fixed(titleWidth), + DocumentRowColumn.weight(1)); + row.add(renderScopeBadge(item.number())); + row.addParagraph(p -> p.text(item.title()).textStyle(SCOPE_TITLE)); + row.addParagraph(p -> p + .text(item.description()) + .textStyle(SCOPE_BODY) + .lineSpacing(BODY_LEADING)); + }); + if (i < items.size() - 1) { + section.addLine(line -> line.fill().thickness(HAIRLINE).color(RULE)); + } + } + }); + } + + /** The teal step badge and the number it owns. */ + private static DocumentNode renderScopeBadge(String number) { + return new ShapeContainerBuilder() + .name("ScopeBadge") + .roundedRect(SCOPE_BADGE_W, SCOPE_BADGE_H, 2.0) + .fillColor(ACCENT) + .center(NorthlineWidgets.paragraph("ScopeNumber", number, SCOPE_NUMBER, + TextAlign.CENTER)) + .build(); + } +} diff --git a/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlinePageTwo.java b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlinePageTwo.java new file mode 100644 index 000000000..17db60deb --- /dev/null +++ b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlinePageTwo.java @@ -0,0 +1,333 @@ +package com.demcha.compose.document.templates.proposal.presets; + +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.dsl.ParagraphBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.node.DocumentNode; +import com.demcha.compose.document.node.RowVerticalAlign; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentRowColumn; +import com.demcha.compose.document.style.DocumentStroke; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.table.DocumentTableCell; +import com.demcha.compose.document.table.DocumentTableColumn; +import com.demcha.compose.document.table.DocumentTableStyle; +import com.demcha.compose.document.table.DocumentTableTextAnchor; +import com.demcha.compose.document.templates.data.proposal.ProposalAcceptance; +import com.demcha.compose.document.templates.data.proposal.ProposalDeliverables; +import com.demcha.compose.document.templates.data.proposal.ProposalInvestment; +import com.demcha.compose.document.templates.data.proposal.ProposalPhaseGrid; +import com.demcha.compose.document.templates.data.proposal.ProposalTermsBlock; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalData; + +import java.util.List; + +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.ACCEPTANCE_FIELD_GAP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.ACCEPTANCE_PADDING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.ACCENT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BAND_TOP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BODY; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BODY_LEADING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.CONTENT_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.DELIVERABLES_LEFT_WEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.DELIVERABLES_RIGHT_WEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GAP_HEADING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.HAIRLINE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.INK; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.INVESTMENT_ROW_PAD; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.INVESTMENT_WEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.INVESTMENT_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.MONEY_GAP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PANEL_BACKGROUND; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PANEL_RADIUS; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.RULE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.RULE_QUIET; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SIGNATURE_LABEL; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SIGNATURE_LABEL_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TABLE_BODY; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TABLE_BODY_BOLD; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TABLE_HEADER; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TERMS_WEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TERMS_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TIMELINE_WEIGHTS; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.TOTAL_TEXT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineWidgets.renderBullet; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineWidgets.sectionHeading; + +/** + * Page two of the Northline proposal: the deliverable columns, the phase + * grid, the investment / terms band, and the signing card. + * + *

Layout notes carried over from the ported template: the phase grid is + * the one region with real vertical rules and therefore the one real + * table; the investment block sits inside a row cell where a nested row is + * refused, so it is a table too — with the recorded cost that its cell + * strokes also draw a rule down the ITEM/AMOUNT boundary. Prose cells in + * the phase grid are composed paragraphs (a plain-text cell reports its + * whole string as the column's natural width and a narrower fixed column is + * rejected rather than wrapped), while the phase cell stays a plain-text + * cell — {@code DocumentTableTextAnchor} centres a text cell's value but + * not a composed one's.

+ */ +final class NorthlinePageTwo { + + private NorthlinePageTwo() { + } + + static void compose(PageFlowBuilder page, StructuredProposalData data) { + renderDeliverables(page, data.deliverables()); + renderTimelineTable(page, data.timeline()); + renderMoneyBand(page, data); + renderAcceptance(page, data.acceptance()); + } + + /** Heading plus two bullet columns. */ + private static void renderDeliverables(PageFlowBuilder page, + ProposalDeliverables deliverables) { + page.addSection("Deliverables", section -> { + section.margin(BAND_TOP, 0f, 0f, 0f); + section.spacing(0); + section.add(sectionHeading( + deliverables.heading(), deliverables.icon(), CONTENT_WIDTH)); + section.addRow("DeliverableColumns", row -> { + row.verticalAlign(RowVerticalAlign.TOP) + .gap(0) + .padding(DocumentInsets.top(GAP_HEADING)) + .weights(DELIVERABLES_LEFT_WEIGHT, DELIVERABLES_RIGHT_WEIGHT); + row.addSection("DeliverablesLeft", column -> { + column.spacing(0); + deliverables.leftColumn().forEach(item -> renderBullet(column, item)); + }); + row.addSection("DeliverablesRight", column -> { + column.spacing(0); + deliverables.rightColumn().forEach(item -> renderBullet(column, item)); + }); + }); + }); + } + + /** + * The phase grid. Requires one authored header per column: the grid + * draws four columns, so four headers — anything else is a data error + * reported here rather than an index error deep in the table. Skipped + * entirely when the data has no phases, including that header-count + * validation — a grid that never renders constrains nothing. + */ + private static void renderTimelineTable(PageFlowBuilder page, ProposalPhaseGrid timeline) { + if (timeline.phases().isEmpty()) { + return; + } + List headers = timeline.columnHeaders(); + if (headers.size() != TIMELINE_WEIGHTS.length) { + throw new IllegalArgumentException( + "The phase grid renders " + TIMELINE_WEIGHTS.length + + " columns and needs exactly one header per column; " + + "columnHeaders carries " + headers.size() + "."); + } + DocumentTableStyle headerStyle = DocumentTableStyle.builder() + .fillColor(INK) + .stroke(DocumentStroke.of(INK, HAIRLINE)) + .padding(DocumentInsets.symmetric(7, 10)) + .textStyle(TABLE_HEADER) + .textAnchor(DocumentTableTextAnchor.CENTER_LEFT) + .build(); + DocumentTableStyle cellStyle = DocumentTableStyle.builder() + .stroke(DocumentStroke.of(RULE, HAIRLINE)) + .padding(DocumentInsets.symmetric(9, 10)) + .textStyle(TABLE_BODY) + .textAnchor(DocumentTableTextAnchor.TOP_LEFT) + .lineSpacing(BODY_LEADING) + .build(); + DocumentTableStyle centredCellStyle = DocumentTableStyle.builder() + .stroke(DocumentStroke.of(RULE, HAIRLINE)) + .padding(DocumentInsets.symmetric(9, 10)) + .textStyle(TABLE_BODY) + .textAnchor(DocumentTableTextAnchor.CENTER_LEFT) + .lineSpacing(BODY_LEADING) + .build(); + + page.addSection("Timeline", section -> { + section.margin(BAND_TOP, 0f, 0f, 0f); + section.spacing(0); + section.add(sectionHeading(timeline.heading(), timeline.icon(), CONTENT_WIDTH)); + section.addTable(table -> { + table.name("TimelineTable") + .width(CONTENT_WIDTH) + .margin(DocumentInsets.top(GAP_HEADING)) + .columns(DocumentTableColumn.fixed(CONTENT_WIDTH * TIMELINE_WEIGHTS[0]), + DocumentTableColumn.fixed(CONTENT_WIDTH * TIMELINE_WEIGHTS[1]), + DocumentTableColumn.fixed(CONTENT_WIDTH * TIMELINE_WEIGHTS[2]), + DocumentTableColumn.fixed(CONTENT_WIDTH * TIMELINE_WEIGHTS[3])) + .defaultCellStyle(cellStyle); + table.headerCells( + DocumentTableCell.text(headers.get(0)).withStyle(headerStyle), + DocumentTableCell.text(headers.get(1)).withStyle(headerStyle), + DocumentTableCell.text(headers.get(2)).withStyle(headerStyle), + DocumentTableCell.text(headers.get(3)).withStyle(headerStyle)); + for (ProposalPhaseGrid.Phase phase : timeline.phases()) { + table.rowCells( + DocumentTableCell.text(phase.number() + " " + phase.name()) + .withStyle(centredCellStyle), + DocumentTableCell.node(wrappingCell(phase.focus())) + .withStyle(cellStyle), + DocumentTableCell.text(phase.duration()) + .withStyle(centredCellStyle), + DocumentTableCell.node(wrappingCell(phase.output())) + .withStyle(cellStyle)); + } + table.repeatHeader(); + }); + }); + } + + /** A table cell that has to wrap: a composed paragraph wraps to its column. */ + private static DocumentNode wrappingCell(String text) { + return new ParagraphBuilder() + .name("Cell") + .text(text) + .textStyle(TABLE_BODY) + .lineSpacing(BODY_LEADING) + .build(); + } + + /** The two-column money band: the priced table left, terms right. */ + private static void renderMoneyBand(PageFlowBuilder page, StructuredProposalData data) { + page.addRow("MoneyBand", row -> { + row.margin(DocumentInsets.top(BAND_TOP)); + row.verticalAlign(RowVerticalAlign.TOP) + .gap(MONEY_GAP) + .weights(INVESTMENT_WEIGHT, TERMS_WEIGHT); + row.addSection("InvestmentColumn", + column -> renderInvestmentTable(column, data.investment())); + row.addSection("TermsColumn", column -> renderTerms(column, data.terms())); + }); + } + + /** The priced block, with the last band always the labelled total. */ + private static void renderInvestmentTable(SectionBuilder column, + ProposalInvestment investment) { + double labelWidth = INVESTMENT_WIDTH * 0.62; + double amountWidth = INVESTMENT_WIDTH - labelWidth; + + DocumentTableStyle headerLabel = investmentStyle(INK, TABLE_HEADER, + DocumentTableTextAnchor.CENTER_LEFT); + DocumentTableStyle headerAmount = investmentStyle(INK, TABLE_HEADER, + DocumentTableTextAnchor.CENTER_RIGHT); + DocumentTableStyle rowLabel = investmentStyle(null, TABLE_BODY, + DocumentTableTextAnchor.CENTER_LEFT); + DocumentTableStyle rowAmount = investmentStyle(null, TABLE_BODY, + DocumentTableTextAnchor.CENTER_RIGHT); + DocumentTableStyle subtotalLabel = investmentStyle(PANEL_BACKGROUND, TABLE_BODY_BOLD, + DocumentTableTextAnchor.CENTER_LEFT); + DocumentTableStyle subtotalAmount = investmentStyle(PANEL_BACKGROUND, TABLE_BODY_BOLD, + DocumentTableTextAnchor.CENTER_RIGHT); + DocumentTableStyle optionalAmount = investmentStyle(null, TABLE_BODY_BOLD, + DocumentTableTextAnchor.CENTER_RIGHT); + DocumentTableStyle totalLabel = investmentStyle(ACCENT, TOTAL_TEXT, + DocumentTableTextAnchor.CENTER_LEFT); + DocumentTableStyle totalAmount = investmentStyle(ACCENT, TOTAL_TEXT, + DocumentTableTextAnchor.CENTER_RIGHT); + + column.spacing(0); + column.add(sectionHeading( + investment.heading(), investment.icon(), INVESTMENT_WIDTH)); + column.addTable(table -> { + table.name("InvestmentTable") + .width(INVESTMENT_WIDTH) + .margin(DocumentInsets.top(GAP_HEADING)) + .columns(DocumentTableColumn.fixed(labelWidth), + DocumentTableColumn.fixed(amountWidth)) + .defaultCellStyle(rowLabel); + table.headerCells( + DocumentTableCell.text(investment.itemHeader()).withStyle(headerLabel), + DocumentTableCell.text(investment.amountHeader()).withStyle(headerAmount)); + for (ProposalInvestment.Row line : investment.rows()) { + switch (line.role()) { + case SUBTOTAL -> table.rowCells( + DocumentTableCell.text(line.label()).withStyle(subtotalLabel), + DocumentTableCell.text(line.amount()).withStyle(subtotalAmount)); + case OPTIONAL -> table.rowCells( + DocumentTableCell.text(line.label()).withStyle(rowLabel), + DocumentTableCell.text(line.amount()).withStyle(optionalAmount)); + default -> table.rowCells( + DocumentTableCell.text(line.label()).withStyle(rowLabel), + DocumentTableCell.text(line.amount()).withStyle(rowAmount)); + } + } + table.rowCells( + DocumentTableCell.text(investment.totalLabel()).withStyle(totalLabel), + DocumentTableCell.text(investment.totalAmount()).withStyle(totalAmount)); + }); + } + + /** One investment cell style; {@code fill} may be null for the plain rows. */ + private static DocumentTableStyle investmentStyle(DocumentColor fill, + DocumentTextStyle text, + DocumentTableTextAnchor anchor) { + DocumentTableStyle.Builder builder = DocumentTableStyle.builder() + .stroke(DocumentStroke.of(RULE_QUIET, HAIRLINE)) + .padding(DocumentInsets.symmetric(INVESTMENT_ROW_PAD, 10)) + .textStyle(text) + .textAnchor(anchor); + if (fill != null) { + builder.fillColor(fill); + } + return builder.build(); + } + + /** Heading plus the bulleted terms, reusing the deliverables bullet. */ + private static void renderTerms(SectionBuilder column, ProposalTermsBlock terms) { + column.spacing(0); + column.add(sectionHeading(terms.heading(), terms.icon(), TERMS_WIDTH)); + column.addSection("TermsList", list -> { + list.spacing(0).padding((float) GAP_HEADING, 0f, 0f, 0f); + terms.items().forEach(item -> renderBullet(list, item)); + }); + } + + /** + * The signing card. The signature fields are flat row columns — label, + * rule per field — with the column spec derived from the field count, + * so no pair nests inside a cell; the row is skipped when the data has + * no fields. + */ + private static void renderAcceptance(PageFlowBuilder page, ProposalAcceptance acceptance) { + double inner = CONTENT_WIDTH - 2 * ACCEPTANCE_PADDING; + page.addSection("Acceptance", card -> { + card.margin(BAND_TOP, 0f, 0f, 0f); + card.spacing(0).softPanel(PANEL_BACKGROUND, PANEL_RADIUS, ACCEPTANCE_PADDING, + DocumentStroke.of(RULE, HAIRLINE)); + card.add(sectionHeading(acceptance.heading(), acceptance.icon(), inner)); + card.addParagraph(p -> p + .text(acceptance.statement()) + .textStyle(BODY) + .lineSpacing(BODY_LEADING) + .margin((float) GAP_HEADING, 0f, 0f, 0f)); + List fields = acceptance.fields(); + if (fields.isEmpty()) { + return; + } + card.addRow("SignatureFields", row -> { + row.verticalAlign(RowVerticalAlign.BOTTOM) + .gap(6) + .padding(DocumentInsets.top(ACCEPTANCE_FIELD_GAP)) + .columns(signatureColumns(fields.size())); + for (String field : fields) { + row.addParagraph(p -> p.text(field).textStyle(SIGNATURE_LABEL)); + row.addLine(line -> line.fill().thickness(HAIRLINE).color(INK)); + } + }); + }); + } + + /** Label-strip + growing-rule column pair per signature field. */ + private static DocumentRowColumn[] signatureColumns(int fieldCount) { + DocumentRowColumn[] columns = new DocumentRowColumn[fieldCount * 2]; + for (int i = 0; i < fieldCount; i++) { + columns[i * 2] = DocumentRowColumn.fixed(SIGNATURE_LABEL_WIDTH); + columns[i * 2 + 1] = DocumentRowColumn.weight(1); + } + return columns; + } +} diff --git a/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposal.java b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposal.java new file mode 100644 index 000000000..6936a0dab --- /dev/null +++ b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineProposal.java @@ -0,0 +1,164 @@ +package com.demcha.compose.document.templates.proposal.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.api.PageBackgroundFill; +import com.demcha.compose.document.output.DocumentHeaderFooter; +import com.demcha.compose.document.output.DocumentHeaderFooterZone; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.data.proposal.ProposalBrand; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalData; +import com.demcha.compose.document.templates.data.proposal.StructuredProposalDocumentSpec; + +import java.util.List; +import java.util.Objects; + +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.ACCENT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FOOTER_HEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FOOTER_TEXT_SIZE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.FOOTER_ZONE_HEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.INK; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.MARGIN_SIDE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.MARGIN_TOP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.ON_DARK; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PAGE_BACKGROUND; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PAGE_BLOCK_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PAGE_HEIGHT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.PAGE_WIDTH; + +/** + * Northline Proposal — the first structured proposal preset: a two-page + * teal-and-navy business proposal on the Spectral/Lato pair. + * + *

Page one carries the brand header, the three stacked title lines, the + * meta line, the executive summary beside the at-a-glance card, the goal + * cells, and the numbered scope list; page two repeats the header and + * carries the deliverable columns, the phase grid, the investment / terms + * band, and the signing card. Like the ported template, the preset issues + * no explicit page break: page one's bands are sized so reference-volume + * content ends just short of the content box and the page-two header opens + * the second page (a break issued after that natural advance would leave a + * blank page between them). The two-page distribution is therefore a + * property of the content volume — noticeably lighter content lets the + * page-two bands climb onto page one. A section whose data is empty keeps + * its badge disc and heading; only structures that cannot be composed + * empty — the goal cells, the phase grid, the signature row — are + * skipped.

+ * + *

The page chrome is not flow content: the navy footer band and the + * teal page-number block are {@link PageBackgroundFill}s (their geometry + * comes from the page and they repeat on every page), the brand line and + * the {@code 0{page}} number are a {@link DocumentHeaderFooter} in the + * FOOTER zone, and the bottom page margin equals the band height so + * content stops above the chrome. The preset therefore owns its session + * geometry — page size, margins, page background — and a session margin + * set by the caller would be overwritten; see {@link #RECOMMENDED_MARGIN}.

+ * + *

The preset consumes the structured proposal model + * ({@link StructuredProposalDocumentSpec}); the icon tokens the data + * carries resolve against the packaged Northline icon set. The colours and + * the measured geometry are preset-local ({@link NorthlineStyles}) — the + * look is not shared with any other family today.

+ */ +public final class NorthlineProposal { + + /** + * Stable template identifier. + */ + public static final String ID = "proposal-northline"; + + /** + * Human-readable display name. + */ + public static final String DISPLAY_NAME = "Northline Proposal"; + + /** + * Recommended session margin (in points). The preset sets its own page + * geometry — side margins, the top margin, and a bottom margin equal to + * the footer band — inside {@code compose}, so callers leave the + * session margin at zero and let the preset own the page frame. + */ + public static final double RECOMMENDED_MARGIN = 0.0; + + private NorthlineProposal() { + } + + /** + * Builds the preset. + * + * @return ready-to-use template + */ + public static DocumentTemplate create() { + return new Template(); + } + + private record Template() implements DocumentTemplate { + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, StructuredProposalDocumentSpec spec) { + Objects.requireNonNull(document, "document"); + StructuredProposalData data = Objects.requireNonNull(spec, "spec").proposal(); + + document.pageSize(PAGE_WIDTH, PAGE_HEIGHT) + // The bottom margin is the footer band: content stops + // above it, so nothing runs underneath the chrome. + .margin(new DocumentInsets(MARGIN_TOP, MARGIN_SIDE, + FOOTER_HEIGHT, MARGIN_SIDE)) + .pageBackground(PAGE_BACKGROUND); + + renderChrome(document, data.brand()); + + document.pageFlow(page -> { + // spacing(0): flow spacing survives a page break and would + // indent the page-two header; the rhythm lives on the bands. + page.name("Proposal").spacing(0); + page.addSection("Header", + header -> NorthlineWidgets.renderHeader(header, data.brand())); + NorthlinePageOne.compose(page, data); + page.addSection("Header", + header -> NorthlineWidgets.renderHeader(header, data.brand())); + NorthlinePageTwo.compose(page, data); + }); + } + + /** + * The band that closes every page: the navy band and the teal + * corner block as page-ratio background fills, and the brand line + + * page number as FOOTER-zone chrome with {@code {page}} resolved + * per page ({@code 0{page}} because the reference numbers its pages + * 01 and 02 and there is no zero-padded page-number style). + */ + private static void renderChrome(DocumentSession document, ProposalBrand brand) { + document.pageBackgrounds(List.of( + PageBackgroundFill.bottomBand(FOOTER_HEIGHT / PAGE_HEIGHT, INK), + new PageBackgroundFill( + 1.0 - PAGE_BLOCK_WIDTH / PAGE_WIDTH, + 1.0 - FOOTER_HEIGHT / PAGE_HEIGHT, + PAGE_BLOCK_WIDTH / PAGE_WIDTH, + FOOTER_HEIGHT / PAGE_HEIGHT, + ACCENT))); + + document.footer(DocumentHeaderFooter.builder() + .zone(DocumentHeaderFooterZone.FOOTER) + // The backend places the baseline at (height - fontSize) + // above the page edge; this height centres the cap band + // inside the footer band. + .height((float) FOOTER_ZONE_HEIGHT) + .leftText(brand.footerName() + " | " + brand.website()) + .rightText("0{page}") + .fontSize((float) FOOTER_TEXT_SIZE) + .textColor(ON_DARK) + .build()); + } + } +} diff --git a/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineStyles.java b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineStyles.java new file mode 100644 index 000000000..964b6ebbf --- /dev/null +++ b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineStyles.java @@ -0,0 +1,204 @@ +package com.demcha.compose.document.templates.proposal.presets; + +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.font.FontName; + +/** + * The Northline look: colour roles, the Spectral/Lato type scale, and the + * measured geometry constants shared by the preset's bands. + * + *

Preset-local rather than a {@code BrandTheme}: the teal-and-navy + * proposal look is not shared with any other family today, and every value + * below was measured against the ported template's reference render — a + * theme slot would add indirection without a second consumer. The Northline + * orange variant parameterises the colours when it lands.

+ * + *

Geometry notes carried over from the ported template: every width is a + * fraction of {@link #CONTENT_WIDTH}; the only hardcoded points are + * dimensions nothing else depends on (icon sizes, badge diameter, logo + * square, footer band height, card padding), each named so a revision + * changes one constant. {@link #BODY_LEADING} is EXTRA leading in points, + * not a multiplier — the engine adds it to the font's own line height.

+ */ +final class NorthlineStyles { + + private NorthlineStyles() { + } + + // --- page --------------------------------------------------------------- + static final double PAGE_WIDTH = 595.276; // A4 portrait, points + static final double PAGE_HEIGHT = 841.890; + static final double MARGIN_SIDE = 36.0; + static final double MARGIN_TOP = 8.0; + /** The denominator of every derived width below. */ + static final double CONTENT_WIDTH = PAGE_WIDTH - 2 * MARGIN_SIDE; + + // --- band splits, measured from the reference --------------------------- + static final double SUMMARY_WEIGHT = 0.62; + static final double GLANCE_WEIGHT = 0.35; + static final double SUMMARY_GAP = CONTENT_WIDTH * 0.03; + static final double INVESTMENT_WEIGHT = 0.59; + static final double TERMS_WEIGHT = 0.35; + static final double MONEY_GAP = CONTENT_WIDTH * 0.06; + static final double DELIVERABLES_LEFT_WEIGHT = 0.48; + static final double DELIVERABLES_RIGHT_WEIGHT = 0.52; + /** PHASE / FOCUS / DURATION / OUTPUT, from the four measured vertical rules. */ + static final double[] TIMELINE_WEIGHTS = {0.232, 0.298, 0.179, 0.291}; + /** Where the scope description column starts. */ + static final double SCOPE_TITLE_SPLIT = 0.448; + + static final double SUMMARY_WIDTH = CONTENT_WIDTH * SUMMARY_WEIGHT; + static final double GLANCE_WIDTH = CONTENT_WIDTH * GLANCE_WEIGHT; + static final double INVESTMENT_WIDTH = CONTENT_WIDTH * INVESTMENT_WEIGHT; + static final double TERMS_WIDTH = CONTENT_WIDTH * TERMS_WEIGHT; + + // --- independent dimensions --------------------------------------------- + static final double BADGE_DIAMETER = 27.0; + static final double BADGE_GLYPH = BADGE_DIAMETER * 0.52; + static final double BADGE_GAP = BADGE_DIAMETER * 0.42; + static final double GOAL_ICON = 20.0; + static final double GOAL_GAP = 7.0; + /** Lines a goal statement wraps to; sets the separator height. */ + static final double GOAL_TEXT_LINES = 3; + static final double FACT_ICON = 25.0; + static final double FACT_GAP = 12.0; + static final double LOGO_SIZE = 50.0; + static final double FOOTER_HEIGHT = 48.0; + static final double PANEL_PADDING = 16.0; + static final double PANEL_RADIUS = 7.0; + static final double SCOPE_BADGE_W = 26.0; + static final double SCOPE_BADGE_H = 15.0; + static final double SCOPE_GAP = 12.0; + static final double TITLE_RULE_WIDTH = CONTENT_WIDTH * 0.086; + static final double PAGE_BLOCK_WIDTH = 62.0; + static final double HAIRLINE = 0.7; + /** Helvetica cap height as a fraction of the type size. */ + static final double HELVETICA_CAP = 0.717; + /** Footer chrome text size (the backend draws footer chrome in Standard-14). */ + static final double FOOTER_TEXT_SIZE = 9.5; + /** + * Not the band height: the backend places the footer baseline at + * (height - fontSize) above the page edge, so this value seats the cap + * band in the middle of a {@link #FOOTER_HEIGHT} band. + */ + static final double FOOTER_ZONE_HEIGHT = + (FOOTER_HEIGHT - FOOTER_TEXT_SIZE * HELVETICA_CAP) / 2 + FOOTER_TEXT_SIZE; + static final double WORDMARK_WIDTH = CONTENT_WIDTH * 0.19; + static final double DOC_LABEL_WIDTH = CONTENT_WIDTH * 0.16; + static final double SIGNATURE_LABEL_WIDTH = CONTENT_WIDTH * 0.115; + + // --- vertical rhythm ----------------------------------------------------- + static final double GAP_SECTION = 18.0; + /** + * The gap above a band, carried by the band rather than by the page + * flow: flow spacing survives a page break and would indent the + * page-two header, so the flow spacing stays zero and the rhythm lives + * on the bands — a header carries no leading space on any page. + */ + static final float BAND_TOP = (float) GAP_SECTION; + static final double GAP_HEADING = 7.0; + static final double GAP_ROW = 5.0; + /** Inner padding of the acceptance card; the glance card keeps PANEL_PADDING. */ + static final double ACCEPTANCE_PADDING = 11.0; + /** Gap between the acceptance statement and the signature fields. */ + static final double ACCEPTANCE_FIELD_GAP = 13.0; + /** Vertical padding inside a scope row, each side (measured). */ + static final double SCOPE_ROW_PAD = 5.0; + /** Vertical padding in an investment cell, each side (measured). */ + static final double INVESTMENT_ROW_PAD = 4.0; + /** Gap above and below a divider between glance facts. */ + static final double FACT_DIVIDER_GAP = 7.0; + /** Glance label / value line heights, as multiples of the type size. */ + static final double FACT_LINE = 1.4; + static final double FACT_VALUE_LINE = 1.3; + + // --- type scale ---------------------------------------------------------- + static final double BODY_SIZE = 10.0; + /** EXTRA leading in points (added to the font's own line height). */ + static final double BODY_LEADING = 1.45; + /** Lato line height as a multiple of the type size (measured). */ + static final double LATO_LINE = 1.213; + static final double TITLE_SIZE = 46.0; + /** The reference's title pitch between stacked title lines. */ + static final double TITLE_PITCH = 48.0; + /** Height reserved for the last title line inside the stacked-title container. */ + static final double TITLE_LAST_LINE_HEIGHT = TITLE_SIZE * 0.95; + static final double HEADING_SIZE = 13.5; + static final double TABLE_SIZE = 9.0; + static final double LABEL_SIZE = 8.0; + static final double FACT_VALUE_SIZE = 14.0; + + // --- theme tokens: role names, not colour names --------------------------- + static final DocumentColor INK = DocumentColor.rgb(1, 25, 52); + static final DocumentColor ACCENT = DocumentColor.rgb(20, 111, 120); + static final DocumentColor PAGE_BACKGROUND = DocumentColor.rgb(252, 252, 252); + static final DocumentColor PANEL_BACKGROUND = DocumentColor.rgb(245, 246, 247); + static final DocumentColor RULE = DocumentColor.rgb(203, 208, 213); + static final DocumentColor RULE_QUIET = DocumentColor.rgb(228, 231, 234); + static final DocumentColor BODY_TEXT = DocumentColor.rgb(39, 51, 75); + static final DocumentColor MUTED_TEXT = DocumentColor.rgb(85, 93, 109); + static final DocumentColor ON_DARK = DocumentColor.rgb(255, 255, 255); + + static final FontName TITLE_FONT = FontName.SPECTRAL; + static final FontName BODY_FONT = FontName.LATO; + + // --- text roles ----------------------------------------------------------- + static final DocumentTextStyle TITLE_INK = + style(TITLE_FONT, TITLE_SIZE, DocumentTextDecoration.BOLD, INK); + static final DocumentTextStyle TITLE_ACCENT = + style(TITLE_FONT, TITLE_SIZE, DocumentTextDecoration.BOLD, ACCENT); + static final DocumentTextStyle SECTION_HEADING = + style(BODY_FONT, HEADING_SIZE, DocumentTextDecoration.BOLD, INK); + static final DocumentTextStyle PANEL_HEADING = + style(BODY_FONT, BODY_SIZE + 0.5, DocumentTextDecoration.BOLD, ACCENT); + static final DocumentTextStyle BODY = + style(BODY_FONT, BODY_SIZE, DocumentTextDecoration.DEFAULT, BODY_TEXT); + static final DocumentTextStyle META = + style(BODY_FONT, LABEL_SIZE, DocumentTextDecoration.BOLD, MUTED_TEXT); + static final DocumentTextStyle META_SEPARATOR = + style(BODY_FONT, LABEL_SIZE, DocumentTextDecoration.DEFAULT, RULE); + static final DocumentTextStyle FACT_LABEL = + style(BODY_FONT, LABEL_SIZE, DocumentTextDecoration.BOLD, MUTED_TEXT); + static final DocumentTextStyle FACT_VALUE = + style(BODY_FONT, FACT_VALUE_SIZE, DocumentTextDecoration.BOLD, INK); + static final DocumentTextStyle FACT_NOTE = + style(BODY_FONT, LABEL_SIZE + 0.5, DocumentTextDecoration.DEFAULT, BODY_TEXT); + static final DocumentTextStyle GOAL_TEXT = + style(BODY_FONT, TABLE_SIZE, DocumentTextDecoration.DEFAULT, BODY_TEXT); + static final DocumentTextStyle SCOPE_TITLE = + style(BODY_FONT, TABLE_SIZE + 0.5, DocumentTextDecoration.BOLD, INK); + static final DocumentTextStyle SCOPE_BODY = + style(BODY_FONT, TABLE_SIZE, DocumentTextDecoration.DEFAULT, MUTED_TEXT); + static final DocumentTextStyle SCOPE_NUMBER = + style(BODY_FONT, LABEL_SIZE + 0.5, DocumentTextDecoration.BOLD, ON_DARK); + static final DocumentTextStyle TABLE_HEADER = + style(BODY_FONT, TABLE_SIZE - 0.5, DocumentTextDecoration.BOLD, ON_DARK); + static final DocumentTextStyle TABLE_BODY = + style(BODY_FONT, TABLE_SIZE, DocumentTextDecoration.DEFAULT, BODY_TEXT); + static final DocumentTextStyle TABLE_BODY_BOLD = + style(BODY_FONT, TABLE_SIZE, DocumentTextDecoration.BOLD, INK); + static final DocumentTextStyle TOTAL_TEXT = + style(BODY_FONT, TABLE_SIZE + 1.5, DocumentTextDecoration.BOLD, ON_DARK); + static final DocumentTextStyle WORDMARK = + style(BODY_FONT, 16.0, DocumentTextDecoration.BOLD, INK); + static final DocumentTextStyle MONOGRAM = + style(BODY_FONT, 30.0, DocumentTextDecoration.BOLD, ON_DARK); + static final DocumentTextStyle DOC_LABEL = + style(BODY_FONT, LABEL_SIZE + 1, DocumentTextDecoration.BOLD, INK); + static final DocumentTextStyle SIGNATURE_LABEL = + style(BODY_FONT, TABLE_SIZE, DocumentTextDecoration.DEFAULT, INK); + + private static DocumentTextStyle style(FontName font, + double size, + DocumentTextDecoration decoration, + DocumentColor color) { + return DocumentTextStyle.builder() + .fontName(font) + .size(size) + .decoration(decoration) + .color(color) + .build(); + } +} diff --git a/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineWidgets.java b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineWidgets.java new file mode 100644 index 000000000..278e3a19b --- /dev/null +++ b/templates/src/main/java/com/demcha/compose/document/templates/proposal/presets/NorthlineWidgets.java @@ -0,0 +1,208 @@ +package com.demcha.compose.document.templates.proposal.presets; + +import com.demcha.compose.document.dsl.ImageBuilder; +import com.demcha.compose.document.dsl.LineBuilder; +import com.demcha.compose.document.dsl.ParagraphBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.dsl.ShapeContainerBuilder; +import com.demcha.compose.document.node.DocumentNode; +import com.demcha.compose.document.node.HorizontalAlign; +import com.demcha.compose.document.node.LayerAlign; +import com.demcha.compose.document.node.RowVerticalAlign; +import com.demcha.compose.document.node.TextAlign; +import com.demcha.compose.document.node.TextVerticalAlign; +import com.demcha.compose.document.style.ClipPolicy; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentRowColumn; +import com.demcha.compose.document.style.DocumentTextIndent; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.core.text.TextOrnaments; +import com.demcha.compose.document.templates.data.proposal.ProposalBrand; + +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.ACCENT; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BADGE_DIAMETER; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BADGE_GAP; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BADGE_GLYPH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BODY; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.BODY_LEADING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.DOC_LABEL; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.DOC_LABEL_WIDTH; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GAP_HEADING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.GAP_ROW; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.HAIRLINE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.INK; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.LOGO_SIZE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.MONOGRAM; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.RULE; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.SECTION_HEADING; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.WORDMARK; +import static com.demcha.compose.document.templates.proposal.presets.NorthlineStyles.WORDMARK_WIDTH; + +/** + * The building blocks the Northline bands share: the page header, the + * icon-badged section heading, the teal bullet, and the small node helpers. + * + *

Constraint notes carried over from the ported template: the engine + * refuses a row nested inside another row's cell, so the header flattens + * its columns, and the section heading is a shape container hosting two + * anchored children rather than a row — half its uses sit inside a row + * cell. The heading container carries no fill and no margin (a margin + * would displace its paint); the gap above it comes from the enclosing + * flow's spacing.

+ */ +final class NorthlineWidgets { + + private NorthlineWidgets() { + } + + /** + * Logo square, wordmark, document label and the hairline that closes + * the header. One flat row: the logo is a shape container owning its + * monogram, the wordmark and the label are sections, and the weight(1) + * column between them holds the two ends apart. + */ + static void renderHeader(SectionBuilder header, ProposalBrand brand) { + header.spacing(0); + header.addRow("HeaderRow", row -> { + row.verticalAlign(RowVerticalAlign.CENTER) + .gap(LOGO_SIZE * 0.25) + // Not auto(): a section's natural width is the width it + // is offered, so two auto columns each claim the whole + // row. Both ends are measured strips instead. + .columns(DocumentRowColumn.fixed(LOGO_SIZE), + DocumentRowColumn.fixed(WORDMARK_WIDTH), + DocumentRowColumn.weight(1), + DocumentRowColumn.fixed(DOC_LABEL_WIDTH)); + row.add(logoMark(brand.monogram())); + row.addSection("Wordmark", mark -> { + mark.spacing(0); + mark.addParagraph(p -> p.text(brand.nameLine1()).textStyle(WORDMARK)); + mark.addParagraph(p -> p.text(brand.nameLine2()).textStyle(WORDMARK)); + }); + // A zero-width spacer: the row distributes by columns, and the + // weight(1) column above already holds the ends apart. + row.addSpacer(0); + row.addSection("DocumentLabel", label -> { + label.spacing(0); + label.addParagraph(p -> p + .text(TextOrnaments.spacedUpper(brand.documentLabel())) + .textStyle(DOC_LABEL) + .align(TextAlign.RIGHT)); + // addAligned, not addLine: a section stacks children at the + // content width with no child-alignment option, and the rule + // sits flush RIGHT under the label. + label.addAligned(HorizontalAlign.RIGHT, new LineBuilder() + .name("DocumentLabelRule") + .horizontal(BADGE_DIAMETER * 1.3) + .thickness(2.2) + .color(ACCENT) + .margin(DocumentInsets.top(6)) + .build()); + }); + }); + header.addLine(line -> line + .fill() + .thickness(HAIRLINE) + .color(RULE) + .margin(DocumentInsets.top(GAP_HEADING))); + } + + /** The navy square and the monogram it owns. */ + private static DocumentNode logoMark(String monogram) { + return new ShapeContainerBuilder() + .name("LogoMark") + .rectangle(LOGO_SIZE, LOGO_SIZE) + .fillColor(INK) + .center(paragraph("Monogram", monogram, MONOGRAM, TextAlign.CENTER)) + .build(); + } + + /** + * The heading every section opens with: a teal badge owning a white + * glyph, and the title vertically centred beside it. + * + * @param title the heading text, already uppercase in the data + * @param iconToken the icon token from the data + * @param width the width of the column the heading sits in + */ + static DocumentNode sectionHeading(String title, String iconToken, double width) { + return new ShapeContainerBuilder() + .name("SectionHeading") + .rectangle(width, BADGE_DIAMETER) + .clipPolicy(ClipPolicy.OVERFLOW_VISIBLE) + .position(badge(iconToken), 0, 0, LayerAlign.CENTER_LEFT) + .position(new ParagraphBuilder() + .name("SectionHeadingTitle") + .text(title) + .textStyle(SECTION_HEADING) + .verticalAlign(TextVerticalAlign.CENTER) + .build(), BADGE_DIAMETER + BADGE_GAP, 0, LayerAlign.CENTER_LEFT) + .build(); + } + + /** + * The teal disc and the glyph it owns. A blank token leaves the disc + * plain — the container still needs a layer, so an empty paragraph + * stands in for the glyph. + */ + private static DocumentNode badge(String iconToken) { + ShapeContainerBuilder badge = new ShapeContainerBuilder() + .name("SectionBadge") + .circle(BADGE_DIAMETER) + .fillColor(ACCENT); + if (iconToken.isBlank()) { + badge.center(new ParagraphBuilder() + .name("BadgeGlyph").text("").textStyle(SECTION_HEADING).build()); + } else { + badge.center(icon(iconToken, BADGE_GLYPH)); + } + return badge.build(); + } + + /** + * A bullet item: an inline teal dot followed by the text, with a + * hanging indent so wrapped lines clear the dot. The dot is an inline + * shape run rather than a bullet glyph, so it keeps its own colour and + * cannot be lost to font coverage. + */ + static void renderBullet(SectionBuilder host, String text) { + host.addParagraph(p -> p + .dot(4.2, ACCENT) + .inlineText(" " + text, BODY) + .bulletOffset(" ") + // Wrapped lines align under the first line text, not the dot. + .indentStrategy(DocumentTextIndent.FROM_SECOND_LINE) + .lineSpacing(BODY_LEADING) + .margin(0f, 0f, (float) GAP_ROW, 0f)); + } + + /** A named, vertically centred paragraph node. */ + static DocumentNode paragraph(String name, + String text, + DocumentTextStyle textStyle, + TextAlign align) { + return new ParagraphBuilder() + .name(name) + .text(text) + .textStyle(textStyle) + .align(align) + .verticalAlign(TextVerticalAlign.CENTER) + .build(); + } + + /** One packaged icon at a given size, as a node. */ + static DocumentNode icon(String token, double size) { + return new ImageBuilder() + .name("Icon-" + token) + .source(NorthlineIcons.image(token)) + .size(size, size) + .build(); + } + + /** The same icon, configured in place on a row's own image builder. */ + static void configureIcon(ImageBuilder image, String token, double size) { + image.name("Icon-" + token) + .source(NorthlineIcons.image(token)) + .size(size, size); + } +} diff --git a/templates/src/main/resources/templates/proposal/northline/icons/badge-acceptance.png b/templates/src/main/resources/templates/proposal/northline/icons/badge-acceptance.png new file mode 100644 index 0000000000000000000000000000000000000000..2c7eca12bd3deac92faaeff666a17a2e9c1c649b GIT binary patch literal 1540 zcmZ{kc~sI_6vrPRDw>0)<&tYUW!a)qVUSBAM;KhnRBUP#1S@l+#9RY1%`6u(4RguX zqn4HCl4Fffsd=;!cgHmooRG1?r3JH?-^@8PbLNlUx%YkUyZ3$1{o|fS&p0 z0RVK!Bo9A`w7*j03@vgfR_fq5|rY}0En{(Ku!YyR|tS1tE6e~ zE~ua$O7Zl72puKi5f=iAMcN+=k@mMMBHYDLpur}46E)&Jkm0Z;!LLclwng|DPZ#h8cb+@!JA2e<2VO z*#6sr9Uc`H%ce)MzO6A&@67~2O-%OK?Vm96rnK|CDbe(~E52A3%_L?wnOJC=Kc?(D zJMkE$buKvTEH%VX(v)~ax8G>5wd_f;#`_8fT6F3Z5v^Q*J&oVO=k=5hoJ?`{$M!uM zF1;*&E0@caCu#KIiMN$YDUa?Py&Xa`Iz#`*dW`l3U@bSi>^k@XGfq=dPic!r`u(SG zd(b_HS7GLcV7b5-k$h_Oc4Xg0bJpqvb*G{3!-F{wtGsrJN=0;<1#92U`TK%OLb2_E zPtGDkk$!)7mbYUtjG3(RnbcJ$zxrzpFz$EV!3-Bojw zBOl$>vmiPKH$^pp~zRSzc_DahQ+{nrs?v1{^waS-_z^Vb5f4(qG^V-adk3gqQnZd&v zxzy~)G9Jrc+)bm(ba8ra+4Hf7cmkdVLEx+e@OF(LxC_!JV+*%ez*fswnJZ9=5ZO)@ zGZ#dajFSCaY)p7<_-q+PGH>++z&l)jcs6fU1K^#i!ZXtZci0ihEo&>OYK=te4;wf% zFSiUS0S=4I6Oy2y6CrC#IdTkKw6yrqM0B$~W3>+v>H%9NJv?2c{`>Gm@ki%~yIPjj z%efWJuf>R$@OVjd?nXcPmHI(7J}-sU`~iH7tR4G&r9N;GhE$%fqjGewYv__VWolA_ z6g2Q%4}_o2abaaa&lVTA)A%ihtT&vWlD|4k5?1ojbH!H^CyDF)U0TprJ)OmuNPe6x zmT`Fn=ot-uT?z@$lTH(wU~G4no5pSy>s=C+{9sU;hYm;X$rp|xmAc#=>{ZyfQOU^6 zcu8gCu%K}!y{kRr6HF?;WE7ASH@Q~t-YCku4me(juvr%Uf+JO;Wj3qbn45U*LEu6S zSj&KUw8772A$5(lEgj>y`d#-;4+#3}Swpo=1M(N~jEEIn4=U#k6O%i4^orSjvxkh< zhi{u<2V1?*jk_|F<69r}!MDJz+MqXW1I_m^8-rK+39*BMw%&5mS6o{$-cM3PAFN*PZ3Mg7SKNebj nW=&2AvcEpI|G%X|XBVkppy33&L}Kt9T8Ds4^zpdoPD}k0H=~{} literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/badge-deliverables.png b/templates/src/main/resources/templates/proposal/northline/icons/badge-deliverables.png new file mode 100644 index 0000000000000000000000000000000000000000..ffe3a6432fb8ea126aae7347a7c31fe198b42ad9 GIT binary patch literal 2548 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 Co>;~J literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/badge-investment.png b/templates/src/main/resources/templates/proposal/northline/icons/badge-investment.png new file mode 100644 index 0000000000000000000000000000000000000000..8d422c44dfe79466794ea4e4d051ff0cfecbda8e GIT binary patch literal 2019 zcmZ{ldr;Ep8pnU&4M7DrNTn<}d7+!4q7vQ-@3)M+Q6^%VmsD0I6D-lxA}@HVO~tg9 zS{Ji4b31yxlv-*TWpy-NFNxZ!VF`PT%?R<(&Y3fF{@7>cc|Pwv@AI8!-kEpi%RLb6 zqYp(x0RYhV^CcftllCnk+Uh!2l}%8?EY9~}5CE_&0f18o019=BvjhN48~{jY06?q) z03*iLj!+l%g*H9FhpeVLzU=SJQ$v^G8e9?Hmr-IuY&diFWq8aX2ClM|d6}`9DEw`mv;h zoWB$Vy6$&&-NVW&E{fThVK-`Z-O0WY0sVCO+1NmPUJ-4Cb-3D^Kp+ ztF@E%cYzSGU%*A*d2pQ@9)~zf4@CUdf8K_VDB})WUa++dHOEVC^pZ-cbUiql0<}Qr zBXZ1UL8+-ISZdM9?87T>ufgq|*yEq-GNmiE?BLdM#~T$E^6MS%2BN~Z^MeQY_p0G2H$~5XUA z0xwxvH~X71W`A~uxvCr4T(+yP+wrBdj@r~#!89DbVo}b ztcmQdjCN8dq4ZvBr&31aDc|Xq&^RP{-0)gd|GcDzYUR<3XoH7-y>_5^OGMC~o2R4k z43py{A#F{l_6aNZ$XHJ0sO!9=hi9RyZQ1=j=(niP!m(e%IN3s*aEOdUtP#kH{AC`2 zjmM4MKTy&sHYv5UV@TEN6?jMamZ`y!FXMOI8dM&qAF@JI^kcAi$>-h48&Z9@TuGOx zAwpPdX>vMko+r#zm7!*G^df_+xrCvQU>hrI>65JQ-1A_vg^SD23f~u<4AHt=LFH)C z*iYqSkW6PvKr(0n0$VyucqVx~ap)qIvx~p#c$+%{&eFY~i>QH6hQ5tl;cWbHWXAtX zK!^P1X0aY7F&P0X?7#en!TDWPWTQ{H{n=^Sj$^6kJA5rYdYkk3#+C%mbPrqNNRAHd zgR#&AYQ{QLT;g$~9zykuHCU)bt$GgXz51T=)!LU7OIm3SA7rciy9qE{f&i#&(AlLK zc}Oa{LlYsXz0s0ip@wx~Gj&?V_Mx1Qk{jWx6sB7V&Kr71yh*}^f`S{`-ZdqPkS>C+ z#fe(HhKP93Kp=8fF+Nt=A~?fFQ$6olJWXtm65k>b*UOl2u#_%)+iW01iOm?~Xep-! z)}?tH&+OkD)g%C%^J6s9L9C)@tD3P10oz__l((wna|SXS@kwzcMXTzuKp8BaU`|b9 z&i`V_+Jv1i7P7rgNS=a60ykezxCb~~(h^pWY$H`7PL0l%r7cmd!A-~R9-jET*tz58 zG&hNtG5pxi)gaOt;k@0opr(VzAP#*Y=uUx@wf}B;L`AzJ0^We>`4K{hYbmK#Q`JiY zDGpP4j-wUJKkbxqEQX5sR<}*t%IhI7HIDB6r`sdhmQEWi|8G4buaO{PA+F!kcd4H0 zL(v=$%qdN*lnK&IgA8dpXI;%8w)HlnwNH_FFHQ|M9WB!7*3 zWoQeJxV7EB4m0)#wv^u67HR6xEjY8|hu9-$(uP55J=mhnRfMpQF$W%|Fx!HG^3n<6@I+rT!`7cK+`trfRhQ z0ZP|!15bgEgvc{Kfcm5ea|=0N=FoF3Kf9c<+_3f@SJ!Hupxb(95>m49=w-~=GsxEl z0L8~kRDNK|ZE~mkoTY=Sc(G?YW__tsH`6m{-l+$kzhYkRhBn>j63gm2Bi?37Smht~ z5aSu{GKapp0&b8phz(l;hZvUsYX*L`_EYIH9%?qLcjGwc9B0O`(s{XRCC&dtqJKEV z5M{+N()}6lrt9KEz~6ntEVg`HTwkwqb%&BZKv%lkto-Q>|Fwuq)!r(2O9eBk*_j-w Pc00h&E129wq80oH99D~} literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/badge-scope.png b/templates/src/main/resources/templates/proposal/northline/icons/badge-scope.png new file mode 100644 index 0000000000000000000000000000000000000000..c4af91d00697c80b59458819af17bd54259279a8 GIT binary patch literal 1159 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo3dtTpz6=aiY77hwEes65fIbc|1LK5e(ZCBQ)b`JVId&drqk#xr9k5XkPF zwTqFxRe<4G!{h@h2607`e;?3)pnhT1RkqcqnJ>?Z_#u2C^#R)kmNQIWC(X`dx_v=WigZ@lWfrNA-xGhE&wufJ<&8G^RZJ_GCC+C$Ge@wQz5ILk7Ly;de&bP>|EK4@ zn7W8h!C&|XTh6ztMBc*Df!3`b-dW-tpBGbGveH#wDFe;s|m$xr%K z;mk0OhX#i))aC78d*yH2A@Add{28V<%uY$)kh=c*^SK&df4i)C^X>NS8*FyW>l^(K z%wOdAMDJ?h!YsxLmOE_Ayi9&r+-8oOaP_6OL!5vs^9*)5=IdQ+j2|(5;M>7&@`=f# z?%mNx*BjY){BXV6u=;@Wf_ddDcb{l{u2di{zF*w*0bk_XNxRrCOuS?CQhVCB`ppM) zJ??)vS(5caB{zUlw{dUt(+c+XICRNqi1x7&|N(4A~W)A$(4CLG9nZKee94NQb#TTXK5p z_D^;%*FQQx`Rr7KSCdOiE~~6gEMnHIJ|I?Lw(+0RwXqcnTk#j4G|VY{E4>2&3r^ZG#Xrkf0FXE=my{CGUJgavkqu|5Ni)` zQCNLd>w=DHZfZMQfqVtin^n~o2fj5dPuZF!61niqm80G%=MyBqEHC&HE&Rjp+lnKv tmh0KAICOG%e|KYD#0pSC2ZG4<{RSS&wxX|MwgPh`gQu&X%Q~loCIA4E;&=c6 literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/badge-summary.png b/templates/src/main/resources/templates/proposal/northline/icons/badge-summary.png new file mode 100644 index 0000000000000000000000000000000000000000..cb967c5cbc423fbcb2e3d2f6c553a99a3ff9083d GIT binary patch literal 1168 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo3dtTpz6=aiY77hwEes65fI*%lKaoI@c6%`clZY7_ZW}*|Zn<#W!ArP0-oe}2bIp}|Zr;sytzvuF3>!FA zk`@WxNH#Ps42>vzc5mkWH=lk_I%_uDy84{?=I`fc-sC-!x z&T>DNW~x50e&^0N3)2*DZ`Ts8=iI?=!|;ybdIM`>j`IWF4@^I9hI4wlxP09uC#bKS zWdG}Ee@BIwp!ZWxqv#%$dSj)wS2^(-oT;D07h8P(J?l@Lw?s=WRrW;77eA+0q6LyWR`V@V+dFB3l}pSriL7}?4L3yZD;GU~ils1A zh`~(B$;`!9)S%u^diMdV4ZidKrO7xah*t35ne*WD-U%1Jsl1f~273>chy(Xa^bRupTOQ0QR$w(3D7g8hOA~9)@=_q*Zmrjb zhLah-O{_kC+Cn-DNeZ$ zMXL_*YIsdq=@XUgXLUd)@alr%Bca=m-RYPq7;vq~Ut?WEiqy3k*^liUdRRL)G8l>} z9Ai2X(ICMskj$8*r!uRai~BA6`m-SR-TI=I>ygP~+TexlY9%UVC_fO)&>2R*fLI2wK*Nem^?3PoAzrViwH?r#%%Nagd!~P`+ zs5Xmn=WE7KU;pmfA*XN*#k9<7k&v}ze9B3;Qut55zn9e)ByFGg=g9J?_w!esyvT8N ze(9W}fmt~#nfNrzR_(T3_V?Pq7mL{6Fy0TA^7tG1gDq#}W`&g1XB?BIxFuHZ%wzif z%7^0yyWOA3-M5~+kg#Wb&+vC%z+J%uw~fB3Ok$bxtiR#;0e8K&7LDY)41GcG_nj~` zxx*;OyuN`svFO$_hKkr@yCyF_xNY0!*u^&|_1@JBcZbE(fP>Kj5{O)zf6n2euDlC2PwU#4)bxaofvUdNfsl zV^hO{b9FM}#_A!LukBm@cF*CLpS`8TE+{^)%{YH%&k|-OC^%`7Cc8kRt7y*D9~qVL zSDL;yuKuAR)qB$`;^)ncAGSBRA23dkj$poZPc&+STmhR5)BFbc1MgQk&X_OC&0ip1 z!D_?)t|I*CN!AaH6}&Rc5zQ;44%j}h{jlVeglRCt{f62HN2DAsf0^y{(fWXQ0=uZZ z6K@&Ed$zd?%R5%iVCs-#uD%yOccHCQuFo>Q1dW@^53KrrH7#RmfV9qfrq|jJ%o4XL zFU}RtGBJHUrI0mZ{)fME1ycL31xnvYsJVNM!*tgco{WpX&KLVN#y;rC`aXRQZ-edw zOhEG>3epS`}eo6 zDz-n6T7Q4lyT1)je*X?bb;oK{$ye+amu*2_gqePGPrBpNyyw8!-qmW|aoz0ttVs6P z#+8Y|@4lz+{V~(==fSm)OE^u9cryxF|1in~n|3kW6FlF)(&&Iq-^QvFUk$@vr~HfOD88V4hUIkf tnz~7!Bv#kIRM>9w|Dm@F1f;as=S6RvvHPXED=;51c)I$ztaD0e0stk0xgP)k literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/badge-timeline.png b/templates/src/main/resources/templates/proposal/northline/icons/badge-timeline.png new file mode 100644 index 0000000000000000000000000000000000000000..861438a155e9e1c495b27ede5e4ded81d65f4a7b GIT binary patch literal 1171 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo3dtTpz6=aiY77hwEes65fIu;%3+#r1*|O=Y`>_ zOHC}HyBB+&Ns)9Z`3eq9~iz*xY$!|?I19gS97 zcGcA;KIRp3=wlT~W;_zXU^vzNM~&TG=CDuagX%JUW+a~Z-Fs3eWln13Wpn47zj_-U z|Ct;bD?er1IobU@ci7|@qz_yT=9LP_S!nF@;DXVVmG=dHFuq}sZ&-g|{w61v=%;<^ z>wgqK;4Ii#cztWL^8?)vLO0kuL>H}L$UY#Qu-QjaR+-t3>3qZA2*yRf?%w&yd}wa| zbM~qOwhvf0*j#lMS#;(=xp+m-Tzg;s3YI&araC$YrfiyhVAZapx+zm1NGHu}x}p9+ zsKEQ~C9%zp9|9ATt}|-4tbC?(^b%ga})?>akuNZS6ABmC}@zg6>(_?KUQcd57?793&@KCdDt6xHv~>pH@} z$W!;glX|n*_zqQFgVM^^Q@tY--Rx$-|dhxL# zLxx|Y<1wS`QLr3X*|Lr1BCGdJU%hR8_p*4wwZG!l-LkXvDvepZP%UbGh`@ZznUO8a($rSkoF1{dV%@84N#96}g;r?Yp&44^?BK&4LBB zu@-Uy>GNfdGe3GW`LUrx55iA9j~NTUoh-CbIA>?s$KLT#0_u2(z0X-imy14U?VYhd zAo9!SCO;0lE-iz$WT#I}vx`qfKl$8LCsY$M<3`>ijvveNQoC;|KDv?AA&{Wuwu|>q z(Dp5@f7E`cX?45JZ2ZLip>Klap+AppKUiMV@M?&;Df~cGF}K~7!|sR63FYFTY_7?g z-#9IUbs$lV*D-m(H^6 pytB*el1tt(iR2zbFv0st{P0WNgLC;WF#>ZZgQu&X%Q~loCIAr5-bw%f literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/fact-contact.png b/templates/src/main/resources/templates/proposal/northline/icons/fact-contact.png new file mode 100644 index 0000000000000000000000000000000000000000..553d008b221d085a4762a4ee78baee887990c80c GIT binary patch literal 2946 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 T`eX_l($5V literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/fact-duration.png b/templates/src/main/resources/templates/proposal/northline/icons/fact-duration.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c7cc34d9ea09059884b6fc68c7fd5dac39ea00 GIT binary patch literal 1400 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo3dtTpz6=aiY77hwEes65fIpjmDjfYSeO}awyV2Qhta%|+u{4l`&kF{ zJ}?$+e^Srb0`oaW@%f*tw>O#fl>W}@Qf3ulUXQ)}O6kizjtI(bLG5R-4u!eZXqPmZv=%-S_CcG4>HZ zv*VuHZU0ik=|u&LufI)Mps#AT@W|FBCmo$)rdg=|czWih+xLI>=H9uM+32rO!Tv`1 z(Ia{H1MO<}wz(X>!(=jR^`0-^U47PgTfMD4mV6>J;V*0Ufa;ci|jc$^Y*! z*3N%#RJ-|&-rhY2eINYUynf;{PnpPPb`d|5@@B_3s$Ig1H>4Y- zSb54w`$d}@7Pc^)gCG&v7TfFJPpkR=Q<%Ak)uQTr+AZ~@Rx6!b_kT{@dq&{$HD4bY z#Rg+Ia_w(QvynHLb69ES+nNIcQ$DhsDYH|Un7P|qy-(o4OgK6<>C@u6>92F+#X|Rs z8onyudGA|m@Ky$hn1vwo98N|AT3IDhvL!0&@y){rcJsvLe%Yo!XBDf(De*Zbf>PnX z53TfR_;+U0;R%yv@_%pYka*z3frOqg7u}lf`h@w?8*cSajG5nBg$RQIJ`X?T6u9*DFK%MQv zAq$6HCI{~8T<88JzIbZVge$&Vwwv=c+6QU3oafsX8C_Acq9spb<(Ulo^}qBAy5qKf zSkQlvS@OEix7X*w{?(>lVp=LWBR8SOyJ*k+qMr9Wb+3<~x})-TL1F!SzVvhZF0%e( z(VJNkIU}t~pZ&1UH|9&vJKU{1Xa7{;7u_5sKKUE(I_CJZm8yK{#4)a(9!z#@pj)78&qol`;+0FSd% A<^TWy literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/fact-start.png b/templates/src/main/resources/templates/proposal/northline/icons/fact-start.png new file mode 100644 index 0000000000000000000000000000000000000000..6a39b6cbc62f9b7ee7186d9f0f038c817bcde31b GIT binary patch literal 4924 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 literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/goal-brand.png b/templates/src/main/resources/templates/proposal/northline/icons/goal-brand.png new file mode 100644 index 0000000000000000000000000000000000000000..711a159781086f443e86aa1982241c77b4089c80 GIT binary patch literal 4269 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 literal 0 HcmV?d00001 diff --git a/templates/src/main/resources/templates/proposal/northline/icons/goal-growth.png b/templates/src/main/resources/templates/proposal/northline/icons/goal-growth.png new file mode 100644 index 0000000000000000000000000000000000000000..e697c58d8ba8d5bf3e884e81dbef66bf20d2a1fb GIT binary patch literal 2874 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 V