can you help me make a presentation for synopsis Defence i am attaching the sample for the presentation please make it according to that and suggest images too i am attaching my own synopsis too

Reading File
Reading File
Running Command

cd /home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026 && python -m markitdown "Awais Rafiq Synopsis 2.docx" 2>&1 | head -300

Running Command

cd /home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026 && python -m markitdown "Sample ppt.pptx" 2>&1

Running Command

python3 -m markitdown "/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Awais Rafiq Synopsis 2.docx" 2>&1 | head -300

Running Command

python3 -m markitdown "/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Sample ppt.pptx" 2>&1

Running Command

which python && which python3 && pip show markitdown 2>&1 | head -5; pip3 show markitdown 2>&1 | head -5

Reading File
Running Command

python3 -c " from docx import Document doc = Document('/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Awais Rafiq Synopsis 2.docx') for i, para in enumerate(doc.paragraphs): if para.text.strip(): print(f'[{para.style.name}] {para.text}') " 2>&1 | head -200

Running Command

python3 -c " from pptx import Presentation prs = Presentation('/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Sample ppt.pptx') for i, slide in enumerate(prs.slides): print(f'=== SLIDE {i+1} ===') for shape in slide.shapes: if hasattr(shape, 'text') and shape.text.strip(): print(f' [{shape.shape_type}] {shape.text[:300]}') # Check background bg = slide.background fill = bg.fill print(f' BG fill type: {fill.type}') print() " 2>&1

Running Command

pip install python-docx python-pptx --quiet 2>&1 | tail -5

Running Command

python3 -c " from docx import Document doc = Document('/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Awais Rafiq Synopsis 2.docx') for para in doc.paragraphs: if para.text.strip(): print(f'[{para.style.name}] {para.text}') " 2>&1

Running Command

python3 -c " from pptx import Presentation from pptx.util import Pt import pptx.dml.color as clr prs = Presentation('/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Sample ppt.pptx') print(f'Slide size: {prs.slide_width.inches:.2f}\" x {prs.slide_height.inches:.2f}\"') print(f'Number of slides: {len(prs.slides)}') print() for i, slide in enumerate(prs.slides): print(f'=== SLIDE {i+1} (layout: {slide.slide_layout.name}) ===') for shape in slide.shapes: if hasattr(shape, 'text') and shape.text.strip(): tf = shape.text_frame if shape.has_text_frame else None color = 'N/A' size = 'N/A' bold = 'N/A' if tf: for para in tf.paragraphs: for run in para.runs: if run.font.size: size = f'{run.font.size.pt}pt' if run.font.bold is not None: bold = run.font.bold if run.font.color and run.font.color.type: try: color = str(run.font.color.rgb) except: pass break break print(f' Shape: {shape.name} | pos=({shape.left/914400:.2f}\",{shape.top/914400:.2f}\") size=({shape.width/914400:.2f}\"x{shape.height/914400:.2f}\") | text={shape.text[:150]!r} | font_size={size} bold={bold} color={color}') # background bg = slide.background fill = bg.fill try: if fill.fore_color: print(f' BG color: {fill.fore_color.rgb}') except: pass print() " 2>&1

Running Command

python3 -c " from docx import Document doc = Document('/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Awais Rafiq Synopsis 2.docx') for para in doc.paragraphs: if para.text.strip(): style = para.style.name if para.style else 'Unknown' print(f'[{style}] {para.text}') " 2>&1

Running Command

python3 -c " from pptx import Presentation from pptx.util import Inches, Pt # Get full text content of sample slides prs = Presentation('/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Sample ppt.pptx') # Get background colors by unpacking theme slide = prs.slides[1] # Title slide bg = slide.background fill = bg.fill print('BG fill type:', fill.type) # Get theme colors theme = prs.slide_master.theme_color_map if hasattr(prs.slide_master, 'theme_color_map') else None print('Theme:', theme) # Check slide master background master_bg = prs.slide_master.background master_fill = master_bg.fill print('Master BG fill type:', master_fill.type) # Check layout backgrounds for i, layout in enumerate(prs.slide_layouts): bg = layout.background fill = bg.fill if fill.type is not None: print(f'Layout {i} ({layout.name}) BG fill type: {fill.type}') " 2>&1

Running Command

python3 -c " from pptx import Presentation from pptx.util import Inches, Pt from lxml import etree prs = Presentation('/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Sample ppt.pptx') # Check theme colors master = prs.slide_master theme_xml = master._element.find('.//{http://schemas.openxmlformats.org/drawingml/2006/main}theme') # Try to get theme from the pptx xml import zipfile with zipfile.ZipFile('/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Sample ppt.pptx', 'r') as z: print('Files:', [f for f in z.namelist() if 'theme' in f.lower() or 'slide1.' in f.lower()]) if 'ppt/theme/theme1.xml' in z.namelist(): tree = etree.fromstring(z.read('ppt/theme/theme1.xml')) # Get all color elements for elem in tree.iter(): if 'srgbClr' in elem.tag or 'sysClr' in elem.tag: print(f'{elem.tag}: {elem.attrib}') " 2>&1 | head -60

Running Command

python3 -c " from pptx import Presentation import zipfile from lxml import etree # Get slide 1 background with zipfile.ZipFile('/home/daytona/workspace/attachments/8ece6f2a-a7ce-4056-97f9-372086367026/Sample ppt.pptx', 'r') as z: slide1 = etree.fromstring(z.read('ppt/slides/slide1.xml')) # print first few hundred chars print(etree.tostring(slide1, pretty_print=True).decode()[:3000]) " 2>&1

Running Command

mkdir -p /home/daytona/workspace/synopsis-ppt && ls /home/daytona/workspace/synopsis-ppt/

Writing File

~/synopsis-ppt/build.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE"; // 13.33" x 7.5"
pres.author = "Awais Rafiq";
pres.title = "MRP vs Mirror Therapy Synopsis Defence";

// ─── COLOUR PALETTE (matching sample: dark red titles, clean white body) ───
const RED    = "C00000";  // title red (from sample)
const NAVY   = "002060";  // deep navy accent
const WHITE  = "FFFFFF";
const LIGHT  = "F5F5F5";  // slide background
const DARK   = "1A1A2E";  // dark navy for cover bg
const GOLD   = "E8A020";  // accent gold
const GREY   = "555555";  // body text
const LGREY  = "DDDDDD";  // border / divider
const LBLUE  = "EBF3FB";  // info box bg
const LRED   = "FBE9E9";  // alt info box

// ─── HELPERS ───────────────────────────────────────────────────────────────
function addHeader(slide, titleText, color = RED) {
  slide.addShape(pres.ShapeType.rect, {
    x: 0, y: 0, w: 13.33, h: 1.05,
    fill: { color: DARK }
  });
  slide.addText(titleText, {
    x: 0.4, y: 0.1, w: 12.5, h: 0.85,
    fontSize: 30, fontFace: "Cambria", bold: true, color: color,
    valign: "middle", margin: 0
  });
}

function addFooter(slide, text = "Awais Rafiq | IBADAT International University | 2026") {
  slide.addShape(pres.ShapeType.rect, {
    x: 0, y: 7.1, w: 13.33, h: 0.4,
    fill: { color: DARK }
  });
  slide.addText(text, {
    x: 0.3, y: 7.12, w: 12.7, h: 0.3,
    fontSize: 9, color: "AAAAAA", fontFace: "Calibri", valign: "middle", margin: 0
  });
}

function slideBg(slide) {
  slide.addShape(pres.ShapeType.rect, {
    x: 0, y: 0, w: 13.33, h: 7.5,
    fill: { color: WHITE }, line: { type: "none" }
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 1 — TITLE / COVER
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  // Full dark background
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.33, h: 7.5, fill: { color: DARK } });

  // Left accent bar
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.35, h: 7.5, fill: { color: RED } });

  // Gold top strip
  s.addShape(pres.ShapeType.rect, { x: 0.35, y: 0, w: 12.98, h: 0.12, fill: { color: GOLD } });

  // University name
  s.addText("IBADAT INTERNATIONAL UNIVERSITY, ISLAMABAD", {
    x: 0.6, y: 0.25, w: 11.5, h: 0.45,
    fontSize: 12, fontFace: "Calibri", color: "CCCCCC", bold: false, charSpacing: 2
  });
  s.addText("Department of Biological Sciences · Faculty of Physical Therapy", {
    x: 0.6, y: 0.65, w: 11.5, h: 0.35,
    fontSize: 11, fontFace: "Calibri", color: "999999"
  });

  // Divider
  s.addShape(pres.ShapeType.rect, { x: 0.6, y: 1.1, w: 8, h: 0.05, fill: { color: GOLD } });

  // Main title
  s.addText("Comparison of Motor Relearning\nProgramme and Mirror Therapy", {
    x: 0.6, y: 1.25, w: 12.2, h: 1.9,
    fontSize: 38, fontFace: "Cambria", bold: true, color: WHITE,
    valign: "middle"
  });

  s.addText("for Upper Limb Function in Post-Stroke Patients", {
    x: 0.6, y: 3.05, w: 12.2, h: 0.7,
    fontSize: 22, fontFace: "Cambria", bold: false, color: GOLD,
    italic: true
  });

  s.addText("A Randomized Controlled Trial", {
    x: 0.6, y: 3.7, w: 6, h: 0.45,
    fontSize: 14, fontFace: "Calibri", color: "BBBBBB",
    bold: false, italic: true
  });

  // Info box
  s.addShape(pres.ShapeType.rect, {
    x: 0.6, y: 4.4, w: 5.8, h: 2.5,
    fill: { color: "0D1B3E" }, line: { color: GOLD, pt: 1.5 }
  });
  s.addText([
    { text: "Submitted by:  ", options: { color: "999999", fontSize: 12 } },
    { text: "Awais Rafiq", options: { color: WHITE, fontSize: 12, bold: true, breakLine: true } },
    { text: "Roll No:  ", options: { color: "999999", fontSize: 12 } },
    { text: "5012324038", options: { color: WHITE, fontSize: 12, bold: true, breakLine: true } },
    { text: "Supervisor:  ", options: { color: "999999", fontSize: 12 } },
    { text: "Dr. Nazish", options: { color: WHITE, fontSize: 12, bold: true, breakLine: true } },
    { text: "Programme:  ", options: { color: "999999", fontSize: 12 } },
    { text: "MS Physical Therapy", options: { color: WHITE, fontSize: 12, bold: true, breakLine: true } },
    { text: "Date:  ", options: { color: "999999", fontSize: 12 } },
    { text: "February 2026", options: { color: GOLD, fontSize: 12, bold: true } },
  ], { x: 0.85, y: 4.6, w: 5.3, h: 2.1, valign: "top", paraSpaceAfter: 4 });

  // Synopsis badge
  s.addShape(pres.ShapeType.rect, {
    x: 7.3, y: 4.4, w: 5.5, h: 2.5,
    fill: { color: RED }, line: { type: "none" }
  });
  s.addText("SYNOPSIS\nDEFENCE", {
    x: 7.3, y: 4.55, w: 5.5, h: 1.5,
    fontSize: 36, fontFace: "Cambria", bold: true, color: WHITE,
    align: "center", valign: "middle", charSpacing: 4
  });
  s.addText("MS Research Proposal", {
    x: 7.3, y: 6.0, w: 5.5, h: 0.7,
    fontSize: 14, fontFace: "Calibri", color: "FFCCCC",
    align: "center", italic: true
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 2 — TABLE OF CONTENTS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Outline of Presentation", WHITE);
  addFooter(s);

  const items = [
    ["01", "Introduction & Background"],
    ["02", "Literature Review"],
    ["03", "Problem Statement & Research Gap"],
    ["04", "Objectives & Hypothesis"],
    ["05", "Methodology"],
    ["06", "Ethical Considerations"],
    ["07", "References"],
  ];

  const cols = 2;
  const rows = Math.ceil(items.length / cols);
  const colW = 6.0;
  const rowH = 0.82;
  const startX = 0.4;
  const startY = 1.25;

  items.forEach(([num, label], i) => {
    const col = i % cols;
    const row = Math.floor(i / cols);
    const x = startX + col * (colW + 0.5);
    const y = startY + row * (rowH + 0.15);
    const bgColor = (i % 2 === 0) ? DARK : RED;

    s.addShape(pres.ShapeType.roundRect, {
      x, y, w: colW, h: rowH,
      fill: { color: bgColor }, line: { type: "none" },
      rectRadius: 0.12
    });
    s.addText(num, {
      x: x + 0.15, y, w: 0.7, h: rowH,
      fontSize: 22, fontFace: "Cambria", bold: true, color: GOLD,
      valign: "middle", align: "center", margin: 0
    });
    s.addText(label, {
      x: x + 0.9, y, w: colW - 1.0, h: rowH,
      fontSize: 15, fontFace: "Calibri", color: WHITE,
      valign: "middle", margin: 0
    });
  });
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 3 — INTRODUCTION: THE BURDEN OF STROKE
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Introduction: The Burden of Stroke", WHITE);
  addFooter(s);

  // 3 stat cards
  const stats = [
    { val: "12.2M", label: "New stroke cases\nanually worldwide", icon: "⚕" },
    { val: "6.6M", label: "Deaths from stroke\nper year (GBD 2024)", icon: "🌍" },
    { val: ">50%", label: "Survivors with lasting\nupper limb disability", icon: "🦾" },
  ];
  stats.forEach(({ val, label }, i) => {
    const x = 0.4 + i * 4.22;
    s.addShape(pres.ShapeType.rect, {
      x, y: 1.2, w: 3.9, h: 1.7,
      fill: { color: DARK }, line: { type: "none" }
    });
    s.addShape(pres.ShapeType.rect, { x, y: 1.2, w: 3.9, h: 0.12, fill: { color: RED } });
    s.addText(val, {
      x, y: 1.35, w: 3.9, h: 0.85,
      fontSize: 40, fontFace: "Cambria", bold: true, color: GOLD,
      align: "center", valign: "middle"
    });
    s.addText(label, {
      x, y: 2.2, w: 3.9, h: 0.65,
      fontSize: 11, fontFace: "Calibri", color: "CCCCCC",
      align: "center", valign: "top"
    });
  });

  // Intro paragraph
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.4, y: 3.1, w: 12.5, h: 1.45,
    fill: { color: LBLUE }, line: { color: NAVY, pt: 1 }, rectRadius: 0.1
  });
  s.addText(
    "Stroke is a leading cause of long-term disability worldwide. Upper limb weakness is reported in nearly all stroke survivors, and more than half still experience significant functional loss six months after the event (Kwakkel et al., 2023). This impairs essential daily activities — dressing, eating, grooming — severely affecting quality of life and placing a significant economic burden on families and health systems (Boyd et al., 2022).",
    { x: 0.65, y: 3.18, w: 12.0, h: 1.28, fontSize: 13, fontFace: "Calibri", color: DARK, valign: "top" }
  );

  // Neuroplasticity callout
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.4, y: 4.7, w: 12.5, h: 1.4,
    fill: { color: LRED }, line: { color: RED, pt: 1 }, rectRadius: 0.1
  });
  s.addText("💡  The Brain Can Rewire Itself", {
    x: 0.65, y: 4.78, w: 12.0, h: 0.4,
    fontSize: 13, fontFace: "Calibri", bold: true, color: RED
  });
  s.addText(
    "Experience-dependent neuroplasticity means that with the right rehabilitation, motor function can be significantly recovered. The key question is: which approach is most effective? Two therapies — Motor Relearning Programme (MRP) and Mirror Therapy (MT) — have emerged as the leading candidates, yet a definitive direct comparison is lacking.",
    { x: 0.65, y: 5.15, w: 12.0, h: 0.85, fontSize: 12, fontFace: "Calibri", color: GREY }
  );

  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 4 — LITERATURE REVIEW: MRP
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Literature Review: Motor Relearning Programme (MRP)", WHITE);
  addFooter(s);

  // Left column - definition card
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 1.15, w: 6.05, h: 2.7,
    fill: { color: DARK }, line: { type: "none" }, rectRadius: 0.12
  });
  s.addText("What is MRP?", {
    x: 0.55, y: 1.25, w: 5.6, h: 0.4,
    fontSize: 16, fontFace: "Cambria", bold: true, color: GOLD
  });
  s.addText(
    "Developed by Carr & Shepherd, MRP is based on the Systems Theory of Motor Control. It treats the patient as an active problem-solver rather than a passive recipient.\n\n4 Steps: (1) Task analysis — identify missing components  (2) Practice missing parts  (3) Whole-task repetition with feedback  (4) Transfer to real-life ADLs",
    { x: 0.55, y: 1.65, w: 5.6, h: 2.1, fontSize: 12, fontFace: "Calibri", color: "DDDDDD", valign: "top" }
  );

  // Right column - evidence
  s.addShape(pres.ShapeType.roundRect, {
    x: 6.8, y: 1.15, w: 6.1, h: 2.7,
    fill: { color: LBLUE }, line: { color: NAVY, pt: 1 }, rectRadius: 0.12
  });
  s.addText("Key Evidence", {
    x: 7.0, y: 1.25, w: 5.7, h: 0.4,
    fontSize: 16, fontFace: "Cambria", bold: true, color: NAVY
  });
  s.addText([
    { text: "Ashraf et al. (2025): ", options: { bold: true, color: RED } },
    { text: "MRP showed significant within-group improvements in Upper Arm Function (p=0.003) and Hand Activity (p=0.004) over 4 weeks\n\n", options: { color: GREY } },
    { text: "Pawar et al. (2025): ", options: { bold: true, color: RED } },
    { text: "Significant increase in Barthel Index (ADL independence) in subacute stroke patients with MRP\n\n", options: { color: GREY } },
    { text: "O'Rourke & Edwards (2024): ", options: { bold: true, color: RED } },
    { text: "MRP more effective for proximal recovery (shoulder, elbow reaching, weight shifting)", options: { color: GREY } },
  ], { x: 7.0, y: 1.65, w: 5.7, h: 2.1, fontSize: 11, fontFace: "Calibri", valign: "top" });

  // MRP Protocol visual
  s.addShape(pres.ShapeType.rect, {
    x: 0.35, y: 4.05, w: 12.55, h: 0.4,
    fill: { color: RED }, line: { type: "none" }
  });
  s.addText("IMAGE SUGGESTION: Therapist guiding patient through task-oriented upper limb movement (reaching exercise)", {
    x: 0.35, y: 4.05, w: 12.55, h: 0.4,
    fontSize: 10, fontFace: "Calibri", color: WHITE, align: "center", italic: true, valign: "middle"
  });

  // Protocol box
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 4.55, w: 12.55, h: 1.9,
    fill: { color: LIGHT }, line: { color: LGREY, pt: 1 }, rectRadius: 0.1
  });
  s.addText("6-Week MRP Protocol (Carr & Shepherd)", {
    x: 0.55, y: 4.65, w: 12.0, h: 0.38,
    fontSize: 13, fontFace: "Cambria", bold: true, color: DARK
  });

  const weeks = [
    "Wk1: Task analysis & shoulder stability",
    "Wk2: Elbow & wrist control",
    "Wk3: Basic grasping",
    "Wk4: Functional dexterity",
    "Wk5: Object manipulation",
    "Wk6: ADL integration & final assessment"
  ];
  weeks.forEach((w, i) => {
    const col = i % 3;
    const row = Math.floor(i / 3);
    const x = 0.55 + col * 4.17;
    const y = 5.08 + row * 0.5;
    s.addShape(pres.ShapeType.roundRect, {
      x, y, w: 3.9, h: 0.4,
      fill: { color: (i % 2 === 0) ? DARK : NAVY }, line: { type: "none" }, rectRadius: 0.07
    });
    s.addText(w, {
      x, y, w: 3.9, h: 0.4,
      fontSize: 10.5, fontFace: "Calibri", color: WHITE, align: "center", valign: "middle"
    });
  });
  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 5 — LITERATURE REVIEW: MIRROR THERAPY
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Literature Review: Mirror Therapy (MT)", WHITE);
  addFooter(s);

  // Left
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 1.15, w: 6.05, h: 2.7,
    fill: { color: DARK }, line: { type: "none" }, rectRadius: 0.12
  });
  s.addText("The Neuroscience Behind MT", {
    x: 0.55, y: 1.25, w: 5.6, h: 0.4,
    fontSize: 16, fontFace: "Cambria", bold: true, color: GOLD
  });
  s.addText(
    "Mirror therapy uses a 50×50 cm mirror placed midsagittally. The non-paretic arm is reflected, creating a visual illusion that activates the mirror neuron system — causing the damaged motor cortex to reorganize and increase activity (Thieme et al., 2023).\n\nFormica et al. (2024) confirmed via fNIRS brain imaging that primary motor cortex activation significantly increased on the damaged hemisphere during mirror therapy.",
    { x: 0.55, y: 1.65, w: 5.6, h: 2.1, fontSize: 12, fontFace: "Calibri", color: "DDDDDD", valign: "top" }
  );

  // Right
  s.addShape(pres.ShapeType.roundRect, {
    x: 6.8, y: 1.15, w: 6.1, h: 2.7,
    fill: { color: LBLUE }, line: { color: NAVY, pt: 1 }, rectRadius: 0.12
  });
  s.addText("Key Evidence", {
    x: 7.0, y: 1.25, w: 5.7, h: 0.4,
    fontSize: 16, fontFace: "Cambria", bold: true, color: NAVY
  });
  s.addText([
    { text: "Thieme et al. (2023) Cochrane Review: ", options: { bold: true, color: RED } },
    { text: "62 studies, 2000+ patients — moderate but significant improvements in motor function and ADLs\n\n", options: { color: GREY } },
    { text: "Hsieh et al. (2025): ", options: { bold: true, color: RED } },
    { text: "Systematic review confirms improvements but notes inconsistent methodology in existing comparisons\n\n", options: { color: GREY } },
    { text: "O'Rourke & Edwards (2024): ", options: { bold: true, color: RED } },
    { text: "MT more advantageous for distal recovery (fingers, wrist movement)", options: { color: GREY } },
  ], { x: 7.0, y: 1.65, w: 5.7, h: 2.1, fontSize: 11, fontFace: "Calibri", valign: "top" });

  // Image suggestion
  s.addShape(pres.ShapeType.rect, {
    x: 0.35, y: 4.05, w: 12.55, h: 0.4,
    fill: { color: NAVY }, line: { type: "none" }
  });
  s.addText("IMAGE SUGGESTION: Patient performing mirror therapy — mirror placed between arms, healthy arm reflected", {
    x: 0.35, y: 4.05, w: 12.55, h: 0.4,
    fontSize: 10, fontFace: "Calibri", color: WHITE, align: "center", italic: true, valign: "middle"
  });

  // 6-week protocol
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 4.55, w: 12.55, h: 1.9,
    fill: { color: LIGHT }, line: { color: LGREY, pt: 1 }, rectRadius: 0.1
  });
  s.addText("6-Week MT Protocol (Thieme et al., 2023)", {
    x: 0.55, y: 4.65, w: 12.0, h: 0.38,
    fontSize: 13, fontFace: "Cambria", bold: true, color: DARK
  });
  const mtweeks = [
    "Wk1: Establish illusion, basic finger movements",
    "Wk2: Increase ROM, bilateral synchronisation",
    "Wk3: Sensory integration, texture tasks",
    "Wk4: Functional task-oriented training",
    "Wk5: Complexity & speed refinement",
    "Wk6: ADL integration, reduce mirror reliance"
  ];
  mtweeks.forEach((w, i) => {
    const col = i % 3;
    const row = Math.floor(i / 3);
    const x = 0.55 + col * 4.17;
    const y = 5.08 + row * 0.5;
    s.addShape(pres.ShapeType.roundRect, {
      x, y, w: 3.9, h: 0.4,
      fill: { color: (i % 2 === 0) ? NAVY : DARK }, line: { type: "none" }, rectRadius: 0.07
    });
    s.addText(w, {
      x, y, w: 3.9, h: 0.4,
      fontSize: 10.5, fontFace: "Calibri", color: WHITE, align: "center", valign: "middle"
    });
  });
  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 6 — RESEARCH GAP & PROBLEM STATEMENT
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Research Gap & Problem Statement", WHITE);
  addFooter(s);

  // Gap title strip
  s.addShape(pres.ShapeType.rect, {
    x: 0.35, y: 1.15, w: 12.55, h: 0.45,
    fill: { color: RED }, line: { type: "none" }
  });
  s.addText("Why Does This Study Matter?", {
    x: 0.55, y: 1.15, w: 12.0, h: 0.45,
    fontSize: 16, fontFace: "Cambria", bold: true, color: WHITE,
    valign: "middle", margin: 0
  });

  // 3 problem cards
  const gaps = [
    {
      icon: "📉", title: "Too Small, Too Short",
      body: "Ashraf et al. (2025): n=28, only 4 weeks — explicitly recommended longer studies"
    },
    {
      icon: "⚖️", title: "Conflicting Results",
      body: "Rauf et al. (2021): No significant difference (p>0.05)\nAshraf et al. (2025): MRP significantly better"
    },
    {
      icon: "🔬", title: "Methodological Flaws",
      body: "Hsieh et al. (2025): Insufficient blinding, high drop-outs, no long-term follow-up in existing trials"
    },
  ];
  gaps.forEach(({ icon, title, body }, i) => {
    const x = 0.35 + i * 4.28;
    s.addShape(pres.ShapeType.roundRect, {
      x, y: 1.75, w: 4.0, h: 2.4,
      fill: { color: DARK }, line: { color: GOLD, pt: 1.5 }, rectRadius: 0.12
    });
    s.addText(icon + " " + title, {
      x: x + 0.1, y: 1.85, w: 3.8, h: 0.45,
      fontSize: 14, fontFace: "Cambria", bold: true, color: GOLD
    });
    s.addText(body, {
      x: x + 0.1, y: 2.35, w: 3.8, h: 1.7,
      fontSize: 12, fontFace: "Calibri", color: "DDDDDD", valign: "top"
    });
  });

  // Problem statement box
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 4.3, w: 12.55, h: 1.5,
    fill: { color: LRED }, line: { color: RED, pt: 1.5 }, rectRadius: 0.12
  });
  s.addText("Problem Statement", {
    x: 0.55, y: 4.38, w: 12.0, h: 0.38,
    fontSize: 14, fontFace: "Cambria", bold: true, color: RED
  });
  s.addText(
    "Following stroke, upper limb dysfunction severely limits independence. The optimal intervention remains undetermined — clinicians choose between MRP and Mirror Therapy based on habit rather than high-quality evidence. The available research is limited in sample size (n=28), duration (4 weeks), and produces inconsistent results, meaning patients may be receiving non-optimal therapy that delays recovery.",
    { x: 0.55, y: 4.75, w: 12.0, h: 0.95, fontSize: 12, fontFace: "Calibri", color: DARK, valign: "top" }
  );

  // This study fills the gap
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 5.95, w: 12.55, h: 1.0,
    fill: { color: NAVY }, line: { type: "none" }, rectRadius: 0.1
  });
  s.addText("✅  This Study's Solution: ", {
    x: 0.55, y: 5.95, w: 2.7, h: 1.0,
    fontSize: 13, fontFace: "Calibri", bold: true, color: GOLD, valign: "middle"
  });
  s.addText("6-week RCT · n=60 (30 per group) · Assessor-blinded · 20% attrition accounted for · Based on GPower calculation (d=1.073, α=0.05, power=0.95)",
    { x: 3.15, y: 5.95, w: 9.5, h: 1.0, fontSize: 12, fontFace: "Calibri", color: WHITE, valign: "middle" }
  );
  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 7 — OBJECTIVES & HYPOTHESIS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Objectives & Hypothesis", WHITE);
  addFooter(s);

  // Objectives column
  s.addShape(pres.ShapeType.rect, {
    x: 0.35, y: 1.15, w: 6.2, h: 0.48,
    fill: { color: RED }, line: { type: "none" }
  });
  s.addText("OBJECTIVES", {
    x: 0.35, y: 1.15, w: 6.2, h: 0.48,
    fontSize: 15, fontFace: "Cambria", bold: true, color: WHITE, align: "center", valign: "middle", charSpacing: 3
  });

  const objectives = [
    { label: "Primary", text: "To compare the effects of Motor Relearning Programme and Mirror Therapy for upper limb function in post-stroke patients." },
    { label: "Secondary 1", text: "To evaluate the effects of Motor Relearning Programme for upper limb function in post-stroke patients." },
    { label: "Secondary 2", text: "To evaluate the effects of Mirror Therapy for upper limb function in post-stroke patients." },
  ];
  objectives.forEach(({ label, text }, i) => {
    const y = 1.73 + i * 1.05;
    s.addShape(pres.ShapeType.roundRect, {
      x: 0.35, y, w: 6.2, h: 0.95,
      fill: { color: (i === 0) ? DARK : LIGHT },
      line: { color: i === 0 ? GOLD : LGREY, pt: 1 }, rectRadius: 0.1
    });
    s.addText(label + ":", {
      x: 0.5, y: y + 0.05, w: 1.5, h: 0.3,
      fontSize: 10, fontFace: "Calibri", bold: true,
      color: i === 0 ? GOLD : RED
    });
    s.addText(text, {
      x: 0.5, y: y + 0.32, w: 5.9, h: 0.6,
      fontSize: 11.5, fontFace: "Calibri",
      color: i === 0 ? "DDDDDD" : DARK, valign: "top"
    });
  });

  // Outcome tools box
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 5.0, w: 6.2, h: 1.95,
    fill: { color: LBLUE }, line: { color: NAVY, pt: 1 }, rectRadius: 0.1
  });
  s.addText("Outcome Measurement Tools", {
    x: 0.55, y: 5.1, w: 5.8, h: 0.4,
    fontSize: 13, fontFace: "Cambria", bold: true, color: NAVY
  });
  const tools = [
    "Motor Assessment Scale (MAS) — Upper Limb",
    "Action Research Arm Test (ARAT)",
    "Barthel Index (ADL independence)",
    "Mini Mental State Examination (MMSE)"
  ];
  tools.forEach((t, i) => {
    s.addText("• " + t, {
      x: 0.55, y: 5.52 + i * 0.33, w: 5.8, h: 0.3,
      fontSize: 11, fontFace: "Calibri", color: DARK
    });
  });

  // Hypothesis column
  s.addShape(pres.ShapeType.rect, {
    x: 6.9, y: 1.15, w: 6.1, h: 0.48,
    fill: { color: NAVY }, line: { type: "none" }
  });
  s.addText("HYPOTHESIS", {
    x: 6.9, y: 1.15, w: 6.1, h: 0.48,
    fontSize: 15, fontFace: "Cambria", bold: true, color: WHITE, align: "center", valign: "middle", charSpacing: 3
  });

  // Null hypothesis
  s.addShape(pres.ShapeType.roundRect, {
    x: 6.9, y: 1.73, w: 6.1, h: 2.55,
    fill: { color: LIGHT }, line: { color: LGREY, pt: 1 }, rectRadius: 0.1
  });
  s.addText("H₀  Null Hypothesis", {
    x: 7.1, y: 1.82, w: 5.7, h: 0.38,
    fontSize: 13, fontFace: "Cambria", bold: true, color: GREY
  });
  const nulls = [
    "No significant difference between MRP and Mirror Therapy for upper limb function",
    "No significant effect of MRP alone for upper limb function",
    "No significant effect of Mirror Therapy alone for upper limb function"
  ];
  nulls.forEach((t, i) => {
    s.addText("• " + t, {
      x: 7.1, y: 2.24 + i * 0.66, w: 5.7, h: 0.55,
      fontSize: 11.5, fontFace: "Calibri", color: GREY, valign: "top"
    });
  });

  // Alternate hypothesis
  s.addShape(pres.ShapeType.roundRect, {
    x: 6.9, y: 4.38, w: 6.1, h: 2.57,
    fill: { color: DARK }, line: { color: GOLD, pt: 1.5 }, rectRadius: 0.1
  });
  s.addText("H₁  Alternative Hypothesis", {
    x: 7.1, y: 4.47, w: 5.7, h: 0.38,
    fontSize: 13, fontFace: "Cambria", bold: true, color: GOLD
  });
  const alts = [
    "Significant difference between MRP and Mirror Therapy for upper limb function",
    "Significant effects of MRP for upper limb function in post-stroke patients",
    "Significant effects of Mirror Therapy for upper limb function in post-stroke patients"
  ];
  alts.forEach((t, i) => {
    s.addText("• " + t, {
      x: 7.1, y: 4.89 + i * 0.66, w: 5.7, h: 0.55,
      fontSize: 11.5, fontFace: "Calibri", color: "DDDDDD", valign: "top"
    });
  });
  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 8 — METHODOLOGY: DESIGN & SETTINGS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Methodology: Study Design & Settings", WHITE);
  addFooter(s);

  const boxes = [
    { label: "Study Design", val: "Randomized\nControlled Trial (RCT)" },
    { label: "Setting", val: "Pillifarm Clinic,\nOrthofit Physiotherapy,\nPT of City Physiotherapy" },
    { label: "Sampling", val: "Non-probability\nPurposive Sampling" },
    { label: "Randomisation", val: "Lottery System\n(Sealed Envelope)" },
    { label: "Duration", val: "6 Weeks\n(5 days/week)" },
    { label: "Sample Size", val: "n = 60\n(30 per group)" },
  ];

  boxes.forEach(({ label, val }, i) => {
    const col = i % 3;
    const row = Math.floor(i / 3);
    const x = 0.35 + col * 4.28;
    const y = 1.2 + row * 1.8;
    s.addShape(pres.ShapeType.roundRect, {
      x, y, w: 4.0, h: 1.65,
      fill: { color: (row === 0) ? DARK : NAVY }, line: { color: GOLD, pt: 1 }, rectRadius: 0.12
    });
    s.addText(label, {
      x: x + 0.15, y: y + 0.1, w: 3.7, h: 0.38,
      fontSize: 12, fontFace: "Calibri", bold: true, color: GOLD
    });
    s.addText(val, {
      x: x + 0.15, y: y + 0.48, w: 3.7, h: 1.1,
      fontSize: 14, fontFace: "Cambria", bold: true, color: WHITE,
      valign: "top"
    });
  });

  // Sample size note
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 4.85, w: 12.55, h: 0.9,
    fill: { color: LRED }, line: { color: RED, pt: 1 }, rectRadius: 0.1
  });
  s.addText("📊 Sample Size Calculation: ", {
    x: 0.55, y: 4.9, w: 3.0, h: 0.8,
    fontSize: 13, fontFace: "Calibri", bold: true, color: RED, valign: "middle"
  });
  s.addText("GPower 3.1.9.7 | Effect size d = 1.073 | α = 0.05 | Power = 0.95 | Required n = 48 (24/group) | +20% attrition → Final n = 60 (30/group) | Source: Ashraf et al., 2025",
    { x: 3.4, y: 4.9, w: 9.2, h: 0.8, fontSize: 12, fontFace: "Calibri", color: DARK, valign: "middle" }
  );

  // Conventional therapy note
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 5.9, w: 12.55, h: 1.05,
    fill: { color: LBLUE }, line: { color: NAVY, pt: 1 }, rectRadius: 0.1
  });
  s.addText("Both Groups: 20 min conventional therapy (ROM exercises, positioning, weight bearing) + 40 min specific intervention (MRP or MT) — 5 days/week × 6 weeks",
    { x: 0.55, y: 5.98, w: 12.0, h: 0.85, fontSize: 13, fontFace: "Calibri", color: DARK, valign: "middle" }
  );
  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 9 — INCLUSION / EXCLUSION CRITERIA
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Inclusion & Exclusion Criteria", WHITE);
  addFooter(s);

  // Inclusion box
  s.addShape(pres.ShapeType.rect, {
    x: 0.35, y: 1.15, w: 6.2, h: 0.45,
    fill: { color: NAVY }, line: { type: "none" }
  });
  s.addText("✅  INCLUSION CRITERIA", {
    x: 0.35, y: 1.15, w: 6.2, h: 0.45,
    fontSize: 14, fontFace: "Cambria", bold: true, color: WHITE, align: "center", valign: "middle"
  });
  const inc = [
    "First ever ischemic or hemorrhagic stroke (CT/MRI confirmed)",
    "≤ 6 months post-stroke (subacute phase)",
    "Age 40–75 years",
    "MAS Upper Limb subscale score 2–5 (moderate impairment)",
    "MMSE > 24 (cognitive function preserved)",
    "Modified Ashworth Scale < 2 (no severe spasticity)",
    "Manual Muscle Testing (MMT) > 3",
    "Able to follow 2-step commands"
  ];
  s.addShape(pres.ShapeType.roundRect, {
    x: 0.35, y: 1.65, w: 6.2, h: 5.35,
    fill: { color: LIGHT }, line: { color: NAVY, pt: 1 }, rectRadius: 0.1
  });
  inc.forEach((t, i) => {
    s.addShape(pres.ShapeType.roundRect, {
      x: 0.5, y: 1.78 + i * 0.62, w: 0.4, h: 0.4,
      fill: { color: NAVY }, line: { type: "none" }, rectRadius: 0.05
    });
    s.addText("✓", {
      x: 0.5, y: 1.78 + i * 0.62, w: 0.4, h: 0.4,
      fontSize: 12, color: WHITE, align: "center", valign: "middle", bold: true
    });
    s.addText(t, {
      x: 1.0, y: 1.78 + i * 0.62, w: 5.4, h: 0.5,
      fontSize: 11.5, fontFace: "Calibri", color: DARK, valign: "middle"
    });
  });

  // Exclusion box
  s.addShape(pres.ShapeType.rect, {
    x: 6.9, y: 1.15, w: 6.1, h: 0.45,
    fill: { color: RED }, line: { type: "none" }
  });
  s.addText("❌  EXCLUSION CRITERIA", {
    x: 6.9, y: 1.15, w: 6.1, h: 0.45,
    fontSize: 14, fontFace: "Cambria", bold: true, color: WHITE, align: "center", valign: "middle"
  });
  const exc = [
    "Bilateral stroke or brainstem stroke",
    "Severe neglect, apraxia, or global aphasia",
    "Severe visual field defects (e.g., hemianopia)",
    "Uncontrolled hypertension / unstable cardiac issues / uncontrolled diabetes",
    "Neurological co-morbidities (Parkinson's, MS, Alzheimer's)",
    "Pre-existing musculoskeletal issues in upper limb"
  ];
  s.addShape(pres.ShapeType.roundRect, {
    x: 6.9, y: 1.65, w: 6.1, h: 5.35,
    fill: { color: LIGHT }, line: { color: RED, pt: 1 }, rectRadius: 0.1
  });
  exc.forEach((t, i) => {
    s.addShape(pres.ShapeType.roundRect, {
      x: 7.05, y: 1.78 + i * 0.85, w: 0.4, h: 0.4,
      fill: { color: RED }, line: { type: "none" }, rectRadius: 0.05
    });
    s.addText("✗", {
      x: 7.05, y: 1.78 + i * 0.85, w: 0.4, h: 0.4,
      fontSize: 12, color: WHITE, align: "center", valign: "middle", bold: true
    });
    s.addText(t, {
      x: 7.55, y: 1.78 + i * 0.85, w: 5.35, h: 0.75,
      fontSize: 11.5, fontFace: "Calibri", color: DARK, valign: "middle"
    });
  });
  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 10 — CONSORT / FLOW DIAGRAM
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Study Flow: CONSORT Diagram", WHITE);
  addFooter(s);

  // IMAGE SUGGESTION strip
  s.addShape(pres.ShapeType.rect, {
    x: 0.35, y: 1.15, w: 12.55, h: 0.42,
    fill: { color: GOLD }, line: { type: "none" }
  });
  s.addText("IMAGE SUGGESTION: CONSORT-style flow diagram (screened → excluded → randomised → Group A → Group B → analysed)", {
    x: 0.5, y: 1.15, w: 12.2, h: 0.42,
    fontSize: 10, color: DARK, fontFace: "Calibri", italic: true, align: "center", valign: "middle"
  });

  // Top: screening
  const bW = 4.5, bH = 0.7;
  const midX = 4.42;
  const screenY = 1.7;

  s.addShape(pres.ShapeType.rect, { x: midX, y: screenY, w: bW, h: bH, fill: { color: DARK }, line: { color: GOLD, pt: 1.5 } });
  s.addText("Screened for Eligibility\nn = 75 (estimated)", {
    x: midX, y: screenY, w: bW, h: bH,
    fontSize: 13, fontFace: "Calibri", color: WHITE, align: "center", valign: "middle", bold: true
  });

  // Arrow down
  s.addShape(pres.ShapeType.line, { x: midX + bW/2, y: screenY + bH, w: 0, h: 0.38, line: { color: DARK, pt: 2 } });

  // Randomised
  const randY = 2.88;
  s.addShape(pres.ShapeType.rect, { x: midX, y: randY, w: bW, h: bH, fill: { color: RED }, line: { type: "none" } });
  s.addText("Randomised\nn = 60", {
    x: midX, y: randY, w: bW, h: bH,
    fontSize: 14, fontFace: "Cambria", color: WHITE, align: "center", valign: "middle", bold: true
  });

  // Excluded box (right of screening)
  s.addShape(pres.ShapeType.rect, {
    x: 9.5, y: 1.7, w: 3.4, h: 1.58,
    fill: { color: LIGHT }, line: { color: RED, pt: 1 }
  });
  s.addText("Excluded (n = 15)\n• Not meeting criteria\n• Declined to participate", {
    x: 9.55, y: 1.75, w: 3.3, h: 1.45,
    fontSize: 11, fontFace: "Calibri", color: DARK, valign: "top"
  });
  // Excluded arrow
  s.addShape(pres.ShapeType.line, { x: midX + bW, y: screenY + bH/2, w: 0.95, h: 0, line: { color: RED, pt: 1.5 } });

  // Arrows to groups
  s.addShape(pres.ShapeType.line, { x: midX + bW/2, y: randY + bH, w: 0, h: 0.35, line: { color: DARK, pt: 2 } });
  s.addShape(pres.ShapeType.line, { x: 1.95, y: randY + bH + 0.35, w: 9.45, h: 0, line: { color: DARK, pt: 2 } });
  s.addShape(pres.ShapeType.line, { x: 1.95, y: randY + bH + 0.35, w: 0, h: 0.4, line: { color: DARK, pt: 2 } });
  s.addShape(pres.ShapeType.line, { x: 11.4, y: randY + bH + 0.35, w: 0, h: 0.4, line: { color: DARK, pt: 2 } });

  const groupY = 4.35;
  // Group A
  s.addShape(pres.ShapeType.rect, { x: 0.35, y: groupY, w: 3.2, h: 1.2, fill: { color: NAVY }, line: { type: "none" } });
  s.addText("Group A — MRP\nn = 30\nWBV frequency 16–25 Hz analog", {
    x: 0.35, y: groupY, w: 3.2, h: 1.2,
    fontSize: 11, fontFace: "Calibri", color: WHITE, align: "center", valign: "middle"
  });
  // Group B
  s.addShape(pres.ShapeType.rect, { x: 9.8, y: groupY, w: 3.2, h: 1.2, fill: { color: RED }, line: { type: "none" } });
  s.addText("Group B — Mirror Therapy\nn = 30\nMT protocol (Thieme 2023)", {
    x: 9.8, y: groupY, w: 3.2, h: 1.2,
    fontSize: 11, fontFace: "Calibri", color: WHITE, align: "center", valign: "middle"
  });

  // Follow-up box
  s.addShape(pres.ShapeType.rect, { x: 4.25, y: groupY, w: 4.8, h: 1.2, fill: { color: LIGHT }, line: { color: LGREY, pt: 1 } });
  s.addText("Both groups: 40 min/day × 5 days/week × 6 weeks\nAssessments at baseline, 2, 4, 6 weeks\nPrimary outcome: MAS Upper Limb subscale", {
    x: 4.3, y: groupY + 0.05, w: 4.7, h: 1.1,
    fontSize: 10.5, fontFace: "Calibri", color: DARK, valign: "middle"
  });

  // Analysis
  const analysisY = 5.85;
  s.addShape(pres.ShapeType.line, { x: 1.95, y: groupY + 1.2, w: 0, h: 0.35, line: { color: DARK, pt: 2 } });
  s.addShape(pres.ShapeType.line, { x: 11.4, y: groupY + 1.2, w: 0, h: 0.35, line: { color: DARK, pt: 2 } });
  s.addShape(pres.ShapeType.rect, { x: 0.35, y: analysisY, w: 3.2, h: 0.65, fill: { color: DARK }, line: { color: GOLD, pt: 1 } });
  s.addText("Analysed\nn = 30 (expected)", { x: 0.35, y: analysisY, w: 3.2, h: 0.65, fontSize: 11, fontFace: "Calibri", color: WHITE, align: "center", valign: "middle" });
  s.addShape(pres.ShapeType.rect, { x: 9.8, y: analysisY, w: 3.2, h: 0.65, fill: { color: DARK }, line: { color: GOLD, pt: 1 } });
  s.addText("Analysed\nn = 30 (expected)", { x: 9.8, y: analysisY, w: 3.2, h: 0.65, fontSize: 11, fontFace: "Calibri", color: WHITE, align: "center", valign: "middle" });

  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 11 — SIGNIFICANCE & ETHICAL CONSIDERATIONS
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Significance & Ethical Considerations", WHITE);
  addFooter(s);

  // Significance
  s.addShape(pres.ShapeType.rect, {
    x: 0.35, y: 1.15, w: 6.2, h: 0.45,
    fill: { color: RED }, line: { type: "none" }
  });
  s.addText("WHY THIS RESEARCH MATTERS", {
    x: 0.35, y: 1.15, w: 6.2, h: 0.45,
    fontSize: 13, fontFace: "Cambria", bold: true, color: WHITE, align: "center", valign: "middle"
  });

  const sigPoints = [
    { icon: "📋", title: "Evidence-Based Guidelines", body: "Provides high-quality RCT evidence to guide clinical decision-making in post-stroke upper limb rehabilitation" },
    { icon: "💰", title: "Resource Optimisation", body: "Identifies the most cost-effective intervention, reducing disability and overall healthcare costs" },
    { icon: "🔬", title: "Fills Critical Gap", body: "Addresses the lack of well-powered, assessor-blinded, 6-week comparative RCT in this population" },
  ];
  sigPoints.forEach(({ icon, title, body }, i) => {
    const y = 1.72 + i * 1.2;
    s.addShape(pres.ShapeType.roundRect, {
      x: 0.35, y, w: 6.2, h: 1.08,
      fill: { color: i % 2 === 0 ? LIGHT : LBLUE }, line: { color: LGREY, pt: 1 }, rectRadius: 0.1
    });
    s.addText(icon + " " + title, {
      x: 0.5, y: y + 0.05, w: 5.9, h: 0.4,
      fontSize: 13, fontFace: "Cambria", bold: true, color: NAVY
    });
    s.addText(body, {
      x: 0.5, y: y + 0.42, w: 5.9, h: 0.6,
      fontSize: 11.5, fontFace: "Calibri", color: DARK
    });
  });

  // Ethics column
  s.addShape(pres.ShapeType.rect, {
    x: 6.9, y: 1.15, w: 6.1, h: 0.45,
    fill: { color: NAVY }, line: { type: "none" }
  });
  s.addText("ETHICAL FRAMEWORK", {
    x: 6.9, y: 1.15, w: 6.1, h: 0.45,
    fontSize: 13, fontFace: "Cambria", bold: true, color: WHITE, align: "center", valign: "middle"
  });

  const ethicsPoints = [
    { icon: "📜", title: "Declaration of Helsinki", body: "Study will commence only after formal approval from the Research Ethics Committee at Ibadat International University Islamabad" },
    { icon: "🤝", title: "Informed Consent", body: "Full disclosure of study nature, objectives, risks and benefits. Participation is voluntary; withdrawal will not affect standard care" },
    { icon: "🔒", title: "Confidentiality", body: "All participant names replaced with identification codes. Data stored on password-protected systems accessible only to the investigator" },
    { icon: "🛡️", title: "Safety Monitoring", body: "All adverse events will be reported to the ethics committee immediately as they occur" },
  ];
  ethicsPoints.forEach(({ icon, title, body }, i) => {
    const y = 1.72 + i * 1.35;
    s.addShape(pres.ShapeType.roundRect, {
      x: 6.9, y, w: 6.1, h: 1.2,
      fill: { color: DARK }, line: { color: GOLD, pt: 1 }, rectRadius: 0.1
    });
    s.addText(icon + " " + title, {
      x: 7.1, y: y + 0.08, w: 5.7, h: 0.38,
      fontSize: 13, fontFace: "Cambria", bold: true, color: GOLD
    });
    s.addText(body, {
      x: 7.1, y: y + 0.45, w: 5.7, h: 0.7,
      fontSize: 11, fontFace: "Calibri", color: "DDDDDD", valign: "top"
    });
  });
  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 12 — REFERENCES
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  slideBg(s);
  addHeader(s, "Key References", WHITE);
  addFooter(s);

  const refs = [
    "Ashraf, Z. et al. (2025). Comparison of Motor Relearning Programme and Mirror Therapy in Improving Upper Limb Motor Function In Stroke Patients. JRCRS, 13(1), 28–32.",
    "Thieme, H. et al. (2023). Mirror therapy for improving motor function after stroke. Cochrane Database Syst Rev, (8), CD008449.",
    "Kwakkel, G. et al. (2023). Motor rehabilitation after stroke: ESO consensus-based definition and framework. European Stroke Journal, 8(4), 880–894.",
    "Hsieh, Y. L. et al. (2025). Effects of mirror therapy on motor recovery of upper extremity in subacute stroke: Systematic review & meta-analysis. PM&R, 17(5), 567–582.",
    "O'Rourke, C. & Edwards, D. (2024). Effectiveness of motor relearning programme on upper limb function post-stroke: A systematized review. Physical Therapy Reviews, 29(1–3), 87–100.",
    "Formica, C. et al. (2024). fNIRS and Mirror Therapy for Upper Limb Rehabilitation in Post-Stroke Patients. Journal of Clinical Medicine, 13(21), 6612.",
    "Boyd, L. A. et al. (2022). Biomarkers of stroke recovery: Consensus-based core recommendations. Neurorehabilitation & Neural Repair, 36(4), 231–243.",
    "Rauf, R. et al. (2021). Comparison of mirror therapy and motor relearning program in upper limb motor function of stroke patients. PAFMJ, 71(4), 1364–1367.",
    "Pawar, V. et al. (2025). Motor Relearning Program for Upper Limb Function in Post-stroke Rehabilitation: An RCT. J Advances Med & Med Res, 37(7), 211–219.",
    "GBD 2021 Stroke Collaborators. (2024). Global burden of stroke and risk factors, 1990–2021. The Lancet Neurology, 23(10), 973–1003.",
  ];

  refs.forEach((ref, i) => {
    const col = i < 5 ? 0 : 1;
    const row = i < 5 ? i : i - 5;
    const x = col === 0 ? 0.35 : 6.85;
    const y = 1.18 + row * 1.12;

    s.addShape(pres.ShapeType.roundRect, {
      x, y, w: 6.25, h: 1.0,
      fill: { color: (i % 2 === 0) ? LIGHT : LBLUE }, line: { color: LGREY, pt: 0.8 }, rectRadius: 0.08
    });
    s.addText(`[${i + 1}]`, {
      x: x + 0.08, y, w: 0.5, h: 1.0,
      fontSize: 10, fontFace: "Cambria", bold: true, color: RED, valign: "middle", align: "center"
    });
    s.addText(ref, {
      x: x + 0.55, y: y + 0.08, w: 5.6, h: 0.85,
      fontSize: 9, fontFace: "Calibri", color: DARK, valign: "top"
    });
  });
  addFooter(s);
}

// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 13 — CLOSING THANK YOU
// ─────────────────────────────────────────────────────────────────────────────
{
  const s = pres.addSlide();
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.33, h: 7.5, fill: { color: DARK } });
  s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 0.35, h: 7.5, fill: { color: RED } });
  s.addShape(pres.ShapeType.rect, { x: 0.35, y: 0, w: 12.98, h: 0.12, fill: { color: GOLD } });

  s.addText("Thank You", {
    x: 1, y: 1.5, w: 11.5, h: 1.5,
    fontSize: 64, fontFace: "Cambria", bold: true, color: WHITE, align: "center"
  });
  s.addShape(pres.ShapeType.rect, { x: 3, y: 3.1, w: 7.33, h: 0.07, fill: { color: GOLD } });
  s.addText("Questions & Discussion", {
    x: 1, y: 3.25, w: 11.5, h: 0.7,
    fontSize: 24, fontFace: "Cambria", italic: true, color: GOLD, align: "center"
  });

  s.addShape(pres.ShapeType.roundRect, {
    x: 3.5, y: 4.2, w: 6.3, h: 2.4,
    fill: { color: "0D1B3E" }, line: { color: GOLD, pt: 1.5 }, rectRadius: 0.15
  });
  s.addText([
    { text: "Awais Rafiq", options: { bold: true, fontSize: 18, color: WHITE, breakLine: true } },
    { text: "MS Physical Therapy  |  Roll No: 5012324038", options: { fontSize: 13, color: "AAAAAA", breakLine: true } },
    { text: "Supervisor: Dr. Nazish", options: { fontSize: 13, color: "AAAAAA", breakLine: true } },
    { text: "IBADAT International University, Islamabad", options: { fontSize: 13, color: GOLD, breakLine: true } },
    { text: "February 2026", options: { fontSize: 12, color: "888888" } },
  ], { x: 3.5, y: 4.3, w: 6.3, h: 2.2, align: "center", valign: "middle", paraSpaceAfter: 5 });
}

// ─────────────────────────────────────────────────────────────────────────────
// WRITE FILE
// ─────────────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/synopsis-ppt/Awais_Rafiq_Synopsis_Defence.pptx" })
  .then(() => console.log("✅ Done: /home/daytona/workspace/synopsis-ppt/Awais_Rafiq_Synopsis_Defence.pptx"))
  .catch(err => { console.error("Error:", err); process.exit(1); });
Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.

Regenerate presentation with embedded images (search and fetch)

Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.
This is a shared conversation. Sign in to Orris to start your own chat.